mauve-20140821/0000755000175000001440000000000012375316403011751 5ustar dokousersmauve-20140821/junit/0000755000175000001440000000000012375316426013107 5ustar dokousersmauve-20140821/junit/framework/0000755000175000001440000000000012375316426015104 5ustar dokousersmauve-20140821/junit/framework/TestSuite.java0000644000175000001440000001744011745373615017711 0ustar dokousers/* TestSuite.java -- JUnit test suite Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package junit.framework; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Vector; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * A collection of JUnit tests. */ public class TestSuite implements Test, Testlet { /** * The name of the test. */ private String fName; /** * The tests in this test suite. */ private Vector fTests; /** * Creates a new test suite. */ public TestSuite() { fTests = new Vector(); } /** * Creates a new test suite that loads its tests from the specified class. * * @param theClass the class to load the tests from */ public TestSuite(Class theClass) { this(); fName = theClass.getName(); Class clazz = theClass; List names = new ArrayList(); while (Test.class.isAssignableFrom(clazz)) { Method[] methods = clazz.getDeclaredMethods(); for (int i = 0; i < methods.length; i++) { addTestMethod(methods[i], names, theClass); } clazz = clazz.getSuperclass(); } } /** * Creates a new TestSuite with the specified name. * * @param name the name of the test suite */ public TestSuite(String name) { setName(name); } /** * Creates a new TestSuite with the specified name that loads the tests from * the specified class. * * @param theClass the class to load the tests from * @param name the name of the test suite */ public TestSuite(Class theClass, String name) { this(theClass); setName(name); } /** * Adds the specified method to the test suite if appropriate. * * @param method the method to check * @param names the list of names of already added methods * @param theClass the test class */ private void addTestMethod(Method method, List names, Class theClass) { String name = method.getName(); if (! names.contains(name)) { if (isPublicTestMethod(method)) { names.add(name); addTest(createTest(theClass, name)); } } } /** * Checks if the specified method is a test method and is public. * * @param method the method to check * * @return true if the method is a public test method, * false otherwise */ private boolean isPublicTestMethod(Method method) { return isTestMethod(method) && Modifier.isPublic(method.getModifiers()); } /** * Checks if the specified method is a test method. * * @param method the method to check * * @return true if the method is a test method, * false otherwise */ private boolean isTestMethod(Method method) { String name = method.getName(); Class[] params = method.getParameterTypes(); Class ret = method.getReturnType(); return params.length == 0 && name.startsWith("test") && ret.equals(Void.TYPE); } /** * Creates a test for the specified test class and with the specified * name. * * @param theClass the test class * @param name the test name * * @return the test instance */ public static Test createTest(Class theClass, String name) { Constructor constructor = null; Test test = null; try { constructor = getTestConstructor(theClass); } catch (NoSuchMethodException ex) { test = null; } if (constructor != null) { Object o = null; try { if (constructor.getParameterTypes().length == 0) { o = constructor.newInstance(new Object[0]); if (o instanceof TestCase) ((TestCase) o).setName(name); } else { o = constructor.newInstance(new Object[]{ name }); } } catch (InstantiationException ex) { test = null; } catch (InvocationTargetException ex) { test = null; } catch (IllegalAccessException ex) { test = null; } test = (Test) o; } return test; } /** * Returns the constructor for the specified test class. * * @param theClass the test class * * @return the constructor for the specified test class * * @throws NoSuchMethodException if no suitable constructor exists */ public static Constructor getTestConstructor(Class theClass) throws NoSuchMethodException { try { return theClass.getConstructor(String.class); } catch (NoSuchMethodException ex) { // Search for a no-arg constructor below. } return theClass.getConstructor(); } /** * Returns the number of tests in this test suite. * * @return the number of tests in this test suite */ public int countTestCases() { int count = 0; for (Iterator i = fTests.iterator(); i.hasNext();) { Test test = i.next(); count += test.countTestCases(); } return count; } /** * Runs the test cases from this test suite. * * @param result the test results */ public void run(TestResult result) { for (Iterator i = fTests.iterator(); i.hasNext();) { if (! result.shouldStop()) { Test test = i.next(); runTest(test, result); } } } /** * Runs a single test. * * @param test the test to run * @param result the test results */ public void runTest(Test test, TestResult result) { test.run(result); } /** * Adds a single test to the test suite. * * @param test the test to add */ public void addTest(Test test) { fTests.add(test); } /** * Adds tests from the specified class to the test suite. * * @param testClass the class from which to load tests to add */ public void addTestSuite(Class testClass) { fTests.add(new TestSuite(testClass)); } /** * Sets the name for this test. * * @param name the name to set */ public void setName(String name) { fName = name; } /** * Returns the name of this test. * * @return the name of this test */ public String getName() { return fName; } /** * This implements the Mauve Testlet interface. This implementation * runs all tests in this testsuite that are runnable by Mauve. * * @param harness the Mauve test harness */ public void test(TestHarness harness) { for (Iterator i = fTests.iterator(); i.hasNext();) { Test test = i.next(); if (test instanceof TestCase) ((TestCase) test).testSingle(harness); else if (test instanceof Testlet) ((Testlet) test).test(harness); } } } mauve-20140821/junit/framework/ComparisonFailure.java0000644000175000001440000000265211745373615021401 0ustar dokousers/* ComparisonFailure.java -- Thrown when a string comparison failed Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package junit.framework; /** * Thrown when a string comparison failed. * * @see Assert#assertEquals(String, String, String) * @see Assert#assertEquals(String, String) */ public class ComparisonFailure extends AssertionFailedError { private static final long serialVersionUID = 2747813684729318422L; /** * Creates a new ComparisonFailure with an error message. * * @param message the error message * @param expected the expected string * @param the actual string value */ public ComparisonFailure(String message, String expected, String value) { super(message); } } mauve-20140821/junit/framework/TestCase.java0000644000175000001440000001521311745373615017467 0ustar dokousers/* TestCase.java -- A JUnit test case Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package junit.framework; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Modifier; /** * A JUnit test case. */ public abstract class TestCase extends Assert implements Test, Testlet { /** * The name of the test case. */ private String fName; /** * Creates a new TestCase. */ public TestCase() { fName = null; } /** * Creates a test case with a name. * * @param name the name of the test case */ public TestCase(String name) { fName = name; } /** * Returns the number of test cases executed by this test. * * @return the number of test cases executed by this test */ public int countTestCases() { return 1; } /** * Creates a default TestResult object. * * @return a default TestResult object */ protected TestResult createResult() { return new TestResult(); } /** * Creates a TestResult and runs a test by calling * {@link #run(TestResult)}. * * @return the test results after running the test */ public TestResult run() { TestResult result = createResult(); run(result); return result; } /** * Runs the test and collects the result in the specified TestResult * object. * * @param result the TestResult object to collect the results in */ public void run(TestResult result) { result.run(this); } /** * Runs the bare test sequence. This calls {@link #setUp()}, executes * the test by calling {@link #runTest}, and finally finishes with * {@link #tearDown()}. * * @throws Throwable if a failure or error occured */ public void runBare() throws Throwable { Throwable t = null; setUp(); try { runTest(); } catch (Throwable ex) { t = ex; } finally { try { tearDown(); } catch (Throwable ex2) { if (t == null) t = ex2; } } if (t != null) throw t; } /** * Actually runs the test. The default implementation tries to find * a method with the name specified in the constructor of this class. * If such a method is found, it is invoked. * * @throws Throwable for test errors or failures */ protected void runTest() throws Throwable { Method method = null; try { method = getClass().getMethod(fName, (Class[]) null); } catch (NoSuchMethodException ex) { fail("Method " + fName + " not found"); } if (! Modifier.isPublic(method.getModifiers())) fail("Method " + fName + " must be public"); try { method.invoke(this, new Object[0]); } catch (InvocationTargetException ex) { ex.fillInStackTrace(); throw ex.getTargetException(); } catch (IllegalAccessException ex) { ex.fillInStackTrace(); throw ex; } } /** * Prepares the test. This is called before {@link #runTest()}. * * @throws Exception if anything goes wrong */ protected void setUp() throws Exception { // This is a hook with nothing to do itself. } /** * Finishes the test. This is called after {@link #runTest()}. * * @throws Exception if anything goes wrong */ protected void tearDown() throws Exception { // This is a hook with nothing to do itself. } /** * Returns the name of the test case. * * @return the name of the test case */ public String getName() { return fName; } /** * Sets the name of the test case. * * @param name the name to set */ public void setName(String name) { fName = name; } /** * Returns a string representation of this test case. * * @return a string representation of this TestCase */ public String toString() { StringBuffer str = new StringBuffer(); str.append(getName()); str.append('('); str.append(getClass().getName()); str.append(')'); return str.toString(); } /** * Implementation of Mauve's Testlet interface. This makes JUnit TestCases * automatically executable by the Mauve test harness. */ public void test(TestHarness harness) { // Fetch the actual JUnit testsuite. Test test = getTest(); // This is normally an instance of TestSuite. if (test instanceof TestSuite) { TestSuite suite = (TestSuite) test; suite.test(harness); } } /** * Performs a single test. * * @param harness the test harness to use */ void testSingle(TestHarness harness) { TestCase.harness = harness; try { runBare(); } catch (Throwable ex) { harness.fail(ex.getMessage()); harness.debug(ex); } TestCase.harness = null; } /** * Fetches the test suite to be run. This tries to call a static * suite() method on this class, and, if that fails, create a new TestSuite * with this class as parameter, which will collect all test*() methods. * * @return the testsuite for this class or null, if no test suite could be * created */ private Test getTest() { Class clazz = getClass(); Method suiteMethod = null; Test test = null; try { suiteMethod = clazz.getMethod("suite"); } catch (Exception ex) { test = new TestSuite(clazz); } if (test == null && suiteMethod != null) // suite() method found. { try { test = (Test) suiteMethod.invoke(null, (Object[]) new Class[0]); } catch (InvocationTargetException ex) { test = null; } catch (IllegalAccessException ex) { test = null; } } return test; } } mauve-20140821/junit/framework/TestListener.java0000644000175000001440000000274310511431045020363 0ustar dokousers/* TestListener.java -- Listens for test progress Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package junit.framework; /** * Listens for progress on a test. */ public interface TestListener { /** * Notifies that a test error has occured. * * @param test the test * @param t the error that was thrown */ void addError(Test test, Throwable t); /** * Notifies that a test failure has occured. * * @param test the test * @param t the failure */ void addFailure(Test test, AssertionFailedError t); /** * Notifies that a new test has started. * * @param test the test */ void startTest(Test test); /** * Notifies that a new test has been finished. * * @param test the test */ void endTest(Test test); } mauve-20140821/junit/framework/package.html0000644000175000001440000000275710511431045017361 0ustar dokousers Mauve JUnit bridge

Mauve JUnit bridge

Allows JUnit tests to be run inside the Mauve Harness. This is a complete implementation of the JUnit core API, with the additional functionality to make every JUnit test case automatically runnable inside Mauve. To achieve this, two changes to the API have been applied: Both the TestCase and TestSuite class implement gnu.testlet.Testlet, which makes them a Mauve Testlet. The methods Assert have been prepared so that they call into the TestHarness check() methods when beeing run inside a Mauve TestHarness. Otherwise they throw AssertionFailedErrors like the standard JUnit implementation.

mauve-20140821/junit/framework/TestFailure.java0000644000175000001440000000544510511431045020167 0ustar dokousers/* TestFailure.java -- Wraps a test failure Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package junit.framework; import java.io.PrintWriter; import java.io.StringWriter; /** * Wraps a failed test together with the failure. */ public class TestFailure { /** * The test that failed. */ protected Test fFailedTest; /** * The exception that has been thrown. */ protected Throwable fThrownException; /** * Creates a new TestFailure. * * @param failedTest the failed test * @param thrownException the thrown exception */ public TestFailure(Test failedTest, Throwable thrownException) { fFailedTest = failedTest; fThrownException = thrownException; } /** * Returns the message of the thrown exception. * * @return the message of the thrown exception */ public String exceptionMessage() { return fThrownException.getMessage(); } /** * Returns the failed test. * * @return the failed test */ public Test failedTest() { return fFailedTest; } /** * Returns true, if this is a failure (that is, the exception is * an instance of {@link AssertionFailedError}, false * otherwise (in case of error for instance). * * @return true, if this is a failure, false * otherwise */ public boolean isFailure() { return fThrownException instanceof AssertionFailedError; } /** * Returns a string representation of this TestFailure object. * * @return a string representation of this TestFailure object */ public String toString() { StringBuffer str = new StringBuffer(); str.append(fFailedTest); str.append(": "); str.append(fThrownException.getMessage()); return str.toString(); } /** * Returns the stacktrace of the exception as string. * * @return the stacktrace of the exception as string */ public String trace() { StringWriter w = new StringWriter(); PrintWriter p = new PrintWriter(w); fThrownException.printStackTrace(p); return w.getBuffer().toString(); } } mauve-20140821/junit/framework/Test.java0000644000175000001440000000241510511431045016651 0ustar dokousers/* Test.java -- The basic interface for a JUnit test Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package junit.framework; /** * The basic interface for a JUnit test. */ public interface Test { /** * Returns the number of test cases that will be run by this test. * * @return the number of test cases that will be run by this test */ int countTestCases(); /** * Runs the test and store the results in result * * @param result the test result object for storing the results into */ void run(TestResult result); } mauve-20140821/junit/framework/Protectable.java0000644000175000001440000000213110511431045020171 0ustar dokousers/* Protectable.java -- The Protectable interface from the JUnit API Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package junit.framework; /** * Runs tests inside a protected environmant. The code to be run is put * in the protect() method. */ public interface Protectable { /** * Runs tests inside a protected environmant. */ void protect() throws Throwable; } mauve-20140821/junit/framework/AssertionFailedError.java0000644000175000001440000000253411745373615022044 0ustar dokousers/* AssertionFailedError.java -- Thrown when a test failed Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package junit.framework; /** * Indicates that a test assertion failed. */ public class AssertionFailedError extends Error { private static final long serialVersionUID = -6907951573723054750L; /** * Creates an AssertionFailedError without message. */ public AssertionFailedError() { // Nothing to do here. } /** * Creates an AssertionFailedError with the specified error message. * * @param message the error message. */ public AssertionFailedError(String message) { super(message); } } mauve-20140821/junit/framework/Assert.java0000644000175000001440000003652610511431045017205 0ustar dokousers/* Assert.java -- Assertions to be used by tests Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package junit.framework; import gnu.testlet.TestHarness; /** * Test assertions to be used by test cases. */ public class Assert { /** * The mauve test harness. The assertions are delegated to the harness * if this is not null. Otherwise the normal JUnit behaviour is implemented, * which is to throw an AssertionFailedError. */ static TestHarness harness; /** * Creates a new Assert object. */ protected Assert() { // Nothing to do here. } /** * Checks if value is true. * * @param message the error message in the case this assertion fails * @param value the value to check. */ public static void assertTrue(String message, boolean value) { if (harness != null) harness.check(value); else if (! value) fail(message); } /** * Checks if value is true. * * @param value the value to check. */ public static void assertTrue(boolean value) { assertTrue(null, value); } /** * Checks if value is true. * * @param message the error message in the case this assertion fails * @param value the value to check. */ public static void assertFalse(String message, boolean value) { assertTrue(message, ! value); } /** * Checks if value is false. * * @param value the value to check. */ public static void assertFalse(boolean value) { assertFalse(null, value); } /** * Unconditionally fails with the specified message. * * @param message */ public static void fail(String message) { if (harness != null) harness.check(false); else throw new AssertionFailedError(message); } /** * Unconditionally fails without message. */ public static void fail() { fail(null); } /** * Checks if value is equal to expexted in the * sense of Object.equals(). * * @param message the error message in case of failure * @param expected the expected value * @param value the actual value to check */ public static void assertEquals(String message, Object expected, Object value) { if (harness != null) harness.check(expected, value); else { if ((expected != null || value != null) && (expected == null || ! expected.equals(value))) failNotEquals(message, expected, value); } } /** * Checks if value is equal to expexted in the * sense of Object.equals(). * * @param expected the expected value * @param value the actual value to check */ public static void assertEquals(Object expected, Object value) { assertEquals(null, expected, value); } /** * Checks if value is equal to expexted in the * sense of Object.equals(). * * @param message the error message in case of failure * @param expected the expected value * @param value the actual value to check */ public static void assertEquals(String message, String expected, String value) { if (harness != null) harness.check(expected, value); else { if ((expected != null || value != null) && (expected == null || ! expected.equals(value))) throw new ComparisonFailure(message, expected, value); } } /** * Checks if value is equal to expexted in the * sense of Object.equals(). * * @param expected the expected value * @param value the actual value to check */ public static void assertEquals(String expected, String value) { assertEquals(null, expected, value); } /** * Checks if value is equal to expected, taking * a rounding delta delta into account. * * @param message the error message in the case of failure * @param expected the expected value * @param value the actual value to check * @param delta the rounding delta */ public static void assertEquals(String message, double expected, double value, double delta) { if (harness != null) harness.check(expected, value, delta); else { if (Double.isInfinite(expected)) { if (value != expected) failNotEquals(message, new Double(expected), new Double(value)); } else if (! (Math.abs(expected - value) <= delta)) failNotEquals(message, new Double(expected), new Double(value)); } } /** * Checks if value is equal to expected, taking * a rounding delta delta into account. * * @param expected the expected value * @param value the actual value to check * @param delta the rounding delta */ public static void assertEquals(double expected, double value, double delta) { assertEquals(null, expected, value, delta); } /** * Checks if value is equal to expected, taking * a rounding delta delta into account. * * @param message the error message in the case of failure * @param expected the expected value * @param value the actual value to check * @param delta the rounding delta */ public static void assertEquals(String message, float expected, float value, float delta) { if (harness != null) harness.check(expected, value, delta); else { if (Float.isInfinite(expected)) { if (value != expected) failNotEquals(message, new Float(expected), new Float(value)); } else if (! (Math.abs(expected - value) <= delta)) failNotEquals(message, new Float(expected), new Float(value)); } } /** * Checks if value is equal to expected, taking * a rounding delta delta into account. * * @param expected the expected value * @param value the actual value to check * @param delta the rounding delta */ public static void assertEquals(float expected, float value, float delta) { assertEquals(null, expected, value, delta); } /** * Checks if value is equal to expected. * * @param message the error message in the case of failure * @param expected the expected value * @param value the actual value */ public static void assertEquals(String message, long expected, long value) { if (harness != null) harness.check(expected, value); else failNotEquals(message, new Long(expected), new Long(value)); } /** * Checks if value is equal to expected. * * @param expected the expected value * @param value the actual value */ public static void assertEquals(long expected, long value) { assertEquals(null, expected, value); } /** * Checks if value is equal to expected. * * @param message the error message in the case of failure * @param expected the expected value * @param value the actual value */ public static void assertEquals(String message, boolean expected, boolean value) { if (harness != null) harness.check(expected, value); else failNotEquals(message, new Boolean(expected), new Boolean(value)); } /** * Checks if value is equal to expected. * * @param expected the expected value * @param value the actual value */ public static void assertEquals(boolean expected, boolean value) { assertEquals(null, expected, value); } /** * Checks if value is equal to expected. * * @param message the error message in the case of failure * @param expected the expected value * @param value the actual value */ public static void assertEquals(String message, byte expected, byte value) { if (harness != null) harness.check(expected, value); else failNotEquals(message, new Byte(expected), new Byte(value)); } /** * Checks if value is equal to expected. * * @param expected the expected value * @param value the actual value */ public static void assertEquals(byte expected, byte value) { assertEquals(null, expected, value); } /** * Checks if value is equal to expected. * * @param message the error message in the case of failure * @param expected the expected value * @param value the actual value */ public static void assertEquals(String message, char expected, char value) { if (harness != null) harness.check(expected, value); else failNotEquals(message, new Character(expected), new Character(value)); } /** * Checks if value is equal to expected. * * @param expected the expected value * @param value the actual value */ public static void assertEquals(char expected, char value) { assertEquals(null, expected, value); } /** * Checks if value is equal to expected. * * @param message the error message in the case of failure * @param expected the expected value * @param value the actual value */ public static void assertEquals(String message, short expected, short value) { if (harness != null) harness.check(expected, value); else failNotEquals(message, new Short(expected), new Short(value)); } /** * Checks if value is equal to expected. * * @param expected the expected value * @param value the actual value */ public static void assertEquals(short expected, short value) { assertEquals(null, expected, value); } /** * Checks if value is equal to expected. * * @param message the error message in the case of failure * @param expected the expected value * @param value the actual value */ public static void assertEquals(String message, int expected, int value) { if (harness != null) harness.check(expected, value); else failNotEquals(message, new Integer(expected), new Integer(value)); } /** * Checks if value is equal to expected. * * @param expected the expected value * @param value the actual value */ public static void assertEquals(int expected, int value) { assertEquals(null, expected, value); } /** * Checks that the value is not null. * * @param message the error message in the case of failure * @param value the value to check */ public static void assertNotNull(String message, Object value) { assertTrue(message, value != null); } /** * Checks that the value is not null. * * @param value the value to check */ public static void assertNotNull(Object value) { assertNotNull(null, value); } /** * Checks that the value is null. * * @param message the error message in the case of failure * @param value the value to check */ public static void assertNull(String message, Object value) { assertTrue(message, value == null); } /** * Checks that the value is null. * * @param value the value to check */ public static void assertNull(Object value) { assertNull(null, value); } /** * Checks that the value is the same object instance as * expected. * * @param message the error message in case of failure * @param expected the expected value * @param value the actual value to check */ public static void assertSame(String message, Object expected, Object value) { if (harness != null) harness.check(expected == value); else if (value != expected) { StringBuffer str = new StringBuffer(); if (message != null) { str.append(message); str.append(' '); str.append("expected to be same"); } fail(format(str, expected, value)); } } /** * Checks that the value is the same object instance as * expected. * * @param expected the expected value * @param value the actual value to check */ public static void assertSame(Object expected, Object value) { assertSame(null, expected, value); } /** * Checks that the value is not the same object instance as * expected. * * @param message the error message in case of failure * @param expected the expected value * @param value the actual value to check */ public static void assertNotSame(String message, Object expected, Object value) { if (harness != null) harness.check(expected != value); else if (value == expected) { StringBuffer str = new StringBuffer(); if (message != null) { str.append(message); str.append(' '); str.append("expected to be not the same"); } fail(format(str, expected, value)); } } /** * Checks that the value is not the same object instance as * expected. * * @param expected the expected value * @param value the actual value to check */ public static void assertNotSame(Object expected, Object value) { assertNotSame(null, expected, value); } /** * Called when a test failed because two objects are not equal. * * @param message the error message * @param expected the expected value * @param value the actual value */ private static void failNotEquals(String message, Object expected, Object value) { StringBuffer str = new StringBuffer(); if (message != null) { str.append(message); str.append(' '); } fail(format(str, expected, value)); } /** * Formats the error message. * * @param str the string buffer to append to, with the start of the error * message * @param expected the expected value * @param value the actual value * * @return the formatted message */ private static String format(StringBuffer str, Object expected, Object value) { str.append(' '); str.append(" expected value: "); str.append(expected); str.append(" actual value: " + value); return str.toString(); } } mauve-20140821/junit/framework/TestResult.java0000644000175000001440000001451611745373615020077 0ustar dokousers/* TestResult.java -- Collects test results Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package junit.framework; import java.util.ArrayList; import java.util.Collections; import java.util.Enumeration; import java.util.Iterator; import java.util.List; /** * Collects the results of a test run. */ public class TestResult { /** * The errors from the test run. */ protected List fErrors; /** * The failures from the test run. */ protected List fFailures; /** * The test listeners. */ protected List fListeners; /** * The number of tests that have been run. */ protected int fRunTests; /** * Indicates if the test run should stop. */ private boolean fStop; /** * Creates a new TestResult object. */ public TestResult() { fErrors = new ArrayList(); fFailures = new ArrayList(); fListeners = new ArrayList(); fRunTests = 0; fStop = false; } /** * Runs the specified TestCase. * * @param test the test case to run */ protected void run(final TestCase test) { startTest(test); Protectable protectable = new Protectable() { public void protect() throws Throwable { test.runBare(); } }; runProtected(test, protectable); endTest(test); } /** * Runs a test in a protected environment. * * @param test the test to run * @param p the protectable */ public void runProtected(final TestCase test, Protectable p) { try { p.protect(); } catch (AssertionFailedError e) { addFailure(test, e); } catch (ThreadDeath e) { throw e; } catch (Throwable e) { addError(test, e); } } /** * Starts the specified test. This counts the tests and informs * interested listeners. * * @param test the test to start */ public void startTest(Test test) { final int count = test.countTestCases(); synchronized (this) { fRunTests += count; } for (Iterator i = cloneListeners().iterator(); i.hasNext();) { TestListener l = i.next(); l.startTest(test); } } /** * Ends the specified test. This informs interested listeners. * * @param test the test to end */ public void endTest(Test test) { for (Iterator i = cloneListeners().iterator(); i.hasNext();) { TestListener l = i.next(); l.endTest(test); } } /** * Adds a failure to the test result. * * @param test the failed test * @param failure the test failure */ public synchronized void addFailure(Test test, AssertionFailedError failure) { fFailures.add(new TestFailure(test, failure)); for (Iterator i = cloneListeners().iterator(); i.hasNext();) { TestListener l = i.next(); l.addFailure(test, failure); } } /** * Adds an error to the test result. * * @param test the err'ed test * @param failure the test error */ public synchronized void addError(Test test, Throwable failure) { fErrors.add(new TestFailure(test, failure)); for (Iterator i = cloneListeners().iterator(); i.hasNext();) { TestListener l = i.next(); l.addError(test, failure); } } /** * Adds a test listener. * * @param l the listener to add */ public synchronized void addListener(TestListener l) { fListeners.add(l); } /** * Removes a test listener. * * @param l the listener to be removed */ public synchronized void removeListener(TestListener l) { fListeners.remove(l); } /** * Returns the number of errors. * * @return the number of errors */ public synchronized int errorCount() { return fErrors.size(); } /** * Returns the errors in this test result. * * @return the errors in this test result */ public synchronized Enumeration errors() { return Collections.enumeration(fErrors); } /** * Returns the number of failures. * * @return the number of failures */ public synchronized int failureCount() { return fFailures.size(); } /** * Returns the failures in this test result. * * @return the failures in this test result */ public synchronized Enumeration failures() { return Collections.enumeration(fFailures); } /** * Returns the number of tests that have been run. * * @return the number of tests that have been run */ public synchronized int runCount() { return fRunTests; } /** * Returns true when the test should stop, false * otherwise. * * @return true when the test should stop, false * otherwise */ public synchronized boolean shouldStop() { return fStop; } /** * Stops the test. */ public synchronized void stop() { fStop = true; } /** * Returns true when the test had no errors and no failures, * false otherwise. * * @return true when the test had no errors and no failures, * false otherwise */ public synchronized boolean wasSuccessful() { return failureCount() == 0 && errorCount() == 0; } /** * Returns a cloned listener list. * * @return a cloned listener list */ private synchronized List cloneListeners() { List copy = new ArrayList(); copy.addAll(fListeners); return copy; } } mauve-20140821/junit/runner/0000755000175000001440000000000012375316426014420 5ustar dokousersmauve-20140821/junit/runner/BaseTestRunner.java0000644000175000001440000000160610511431045020153 0ustar dokousers/* BaseRunner.java -- Base class for test runners Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package junit.runner; // TODO: Implement. public class BaseTestRunner { } mauve-20140821/junit/textui/0000755000175000001440000000000012375316426014431 5ustar dokousersmauve-20140821/junit/textui/TestRunner.java0000644000175000001440000000220711745373615017411 0ustar dokousers/* TestRunner.java -- A text output test runner Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package junit.textui; import junit.framework.Test; import junit.framework.TestSuite; import junit.runner.BaseTestRunner; // TODO: Implement. public class TestRunner extends BaseTestRunner { public static void run(Class testClass) { run(new TestSuite(testClass)); } public static void run(Test test) { } } mauve-20140821/.project0000644000175000001440000000126410401421105013403 0ustar dokousers mauve org.eclipse.ui.externaltools.ExternalToolBuilder auto,full,incremental, LaunchConfigHandle <project>/.externalToolBuilders/ConfigureMauve.launch org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature mauve-20140821/.classpath0000644000175000001440000000064710316325236013740 0ustar dokousers mauve-20140821/gnu/0000755000175000001440000000000012375316426012547 5ustar dokousersmauve-20140821/gnu/testlet/0000755000175000001440000000000012375316450014230 5ustar dokousersmauve-20140821/gnu/testlet/BinaryCompatibility/0000755000175000001440000000000012375316450020206 5ustar dokousersmauve-20140821/gnu/testlet/BinaryCompatibility/bin_14_interface2.java0000644000175000001440000000154107720434270024227 0ustar dokousersinterface bin_14_interface2 // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { void dummy_1 (); } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_06_sub.java0000644000175000001440000000161007720434270022774 0ustar dokouserspublic class bin_06_sub // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { public void dummy_1 () { System.out.println (1); } } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_15_sub.java0000644000175000001440000000175007720434270023001 0ustar dokousers // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. public class bin_15_sub implements bin_15_interface3 { public void dummy_0 () { System.out.println (0); } public void dummy_1 () { System.out.println (1); } } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_15_interface3.java0000644000175000001440000000157307720434270024236 0ustar dokousersinterface bin_15_interface3 extends bin_15_interface1, bin_15_interface2 // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_08.java0000644000175000001440000000171007720434270022126 0ustar dokousers// Deleting a field from a class // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. public class bin_08 { public static void main (String argv[]) { System.out.println (new bin_08_sub().foo); } } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_04_interface.java0000644000175000001440000000155207720434267024154 0ustar dokouserspublic interface bin_04_interface // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { void dummy_1 (); } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_15_interface2.java0000644000175000001440000000154107720434270024230 0ustar dokousersinterface bin_15_interface2 // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { void dummy_1 (); } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_12_sub.java0000644000175000001440000000175507720434270023003 0ustar dokouserspublic class bin_12_sub // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { final int arse; bin_12_sub(int n) { arse = 1; } bin_12_sub() { arse = 0; } public void dummy_1 () { System.out.println (arse); } } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_14_sub.java0000644000175000001440000000177307720434270023005 0ustar dokousers // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. public class bin_14_sub implements bin_14_interface1, bin_14_interface2 { public void dummy_0 () { System.out.println (0); } public void dummy_1 () { System.out.println (1); } } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_01_sub.java0000644000175000001440000000161007720434267022775 0ustar dokouserspublic class bin_01_sub // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { public void dummy_1 () { System.out.println (1); } } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_04.java0000644000175000001440000000176107720434267022136 0ustar dokousers// Adding a method to an interface // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. class bin_04 { static void foo (bin_04_interface bar) { bar.dummy_1(); } public static void main (String argv[]) { foo (new bin_04_sub()); } } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_09_sub.java0000644000175000001440000000170207720434270023001 0ustar dokouserspublic class bin_09_sub // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { public bin_09_sub (int i) { } public bin_09_sub () {} public void dummy_1 () { System.out.println (1); } } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_16.java0000644000175000001440000000170607720434270022132 0ustar dokousers// Inserting a new class in the type hierarchy // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. public class bin_16 { public static void main (String argv[]) { new bin_16_sub().dummy_1(); } } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_17.java0000644000175000001440000000171207720434270022130 0ustar dokousers// Inserting a new interface in the type hierarchy // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. public class bin_17 { public static void main (String argv[]) { new bin_17_sub().dummy_1(); } } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_03.java0000644000175000001440000000167107720434267022135 0ustar dokousers// Adding a constructor to a class // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. public class bin_03 { public static void main (String argv[]) { new bin_03_sub().dummy_1(); } } mauve-20140821/gnu/testlet/BinaryCompatibility/altered/0000755000175000001440000000000012375316426021631 5ustar dokousersmauve-20140821/gnu/testlet/BinaryCompatibility/altered/bin_06_sub.java0000644000175000001440000000170207720434270024416 0ustar dokouserspublic class bin_06_sub // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { public bin_06_sub (int i) { } public void dummy_1 () { System.out.println (1); } public bin_06_sub () {} } mauve-20140821/gnu/testlet/BinaryCompatibility/altered/bin_15_interface3.java0000644000175000001440000000157307720434270025656 0ustar dokousersinterface bin_15_interface3 extends bin_15_interface2, bin_15_interface1 // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { } mauve-20140821/gnu/testlet/BinaryCompatibility/altered/bin_04_interface.java0000644000175000001440000000157507720434270025573 0ustar dokouserspublic interface bin_04_interface // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { void dummy_0 (); void dummy_1 (); } mauve-20140821/gnu/testlet/BinaryCompatibility/altered/bin_12_sub.java0000644000175000001440000000175507720434270024423 0ustar dokouserspublic class bin_12_sub // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { final int arse; bin_12_sub() { arse = 0; } bin_12_sub(int n) { arse = 1; } public void dummy_1 () { System.out.println (arse); } } mauve-20140821/gnu/testlet/BinaryCompatibility/altered/bin_14_sub.java0000644000175000001440000000177307720434270024425 0ustar dokousers // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. public class bin_14_sub implements bin_14_interface2, bin_14_interface1 { public void dummy_0 () { System.out.println (0); } public void dummy_1 () { System.out.println (1); } } mauve-20140821/gnu/testlet/BinaryCompatibility/altered/bin_01_sub.java0000644000175000001440000000170607720434270024415 0ustar dokouserspublic class bin_01_sub // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { public void dummy_0 () { System.out.println (0); } public void dummy_1 () { System.out.println (1); } } mauve-20140821/gnu/testlet/BinaryCompatibility/altered/bin_09_sub.java0000644000175000001440000000161007720434270024417 0ustar dokouserspublic class bin_09_sub // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { public void dummy_1 () { System.out.println (1); } } mauve-20140821/gnu/testlet/BinaryCompatibility/altered/bin_17_sub.java0000644000175000001440000000164407720434270024425 0ustar dokouserspublic class bin_17_sub implements bin_17_interface // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { public void dummy_1 () { System.out.println (1); } } mauve-20140821/gnu/testlet/BinaryCompatibility/altered/bin_16_sub.java0000644000175000001440000000163407720434270024423 0ustar dokouserspublic class bin_16_sub extends bin_16_sub1 // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { public void dummy_1 () { System.out.println (1); } } mauve-20140821/gnu/testlet/BinaryCompatibility/altered/bin_06_interface.java0000644000175000001440000000157507720434270025575 0ustar dokouserspublic interface bin_06_interface // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { void dummy_0 (); void dummy_1 (); } mauve-20140821/gnu/testlet/BinaryCompatibility/altered/bin_04_sub.java0000644000175000001440000000170207720434270024414 0ustar dokousers // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. public class bin_04_sub implements bin_04_interface { public void dummy_0() { } public void dummy_1 () { System.out.println (1); } } mauve-20140821/gnu/testlet/BinaryCompatibility/altered/bin_18_sub.java0000644000175000001440000000172507720434270024426 0ustar dokouserspublic class bin_18_sub extends bin_18_sub1 // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { public void dummy_0 () { System.out.println (0); } void dummy_1 () { System.out.println (1); } } mauve-20140821/gnu/testlet/BinaryCompatibility/altered/bin_11_sub.java0000644000175000001440000000170607720434270024416 0ustar dokouserspublic class bin_11_sub // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { public void dummy_1 () { System.out.println (1); } public void dummy_0 () { System.out.println (0); } } mauve-20140821/gnu/testlet/BinaryCompatibility/altered/bin_02_sub.java0000644000175000001440000000163207720434270024414 0ustar dokousers// Section 13, Adding new fields // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. public class bin_02_sub { public int bar = 3; public int foo = 99; } mauve-20140821/gnu/testlet/BinaryCompatibility/altered/bin_07_sub.java0000644000175000001440000000165207720434270024423 0ustar dokouserspublic class bin_07_sub // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { public void dummy_1 () { System.out.println (1); } public void dummy_2 () { } } mauve-20140821/gnu/testlet/BinaryCompatibility/altered/bin_13_sub1.java0000644000175000001440000000161107720434270024474 0ustar dokouserspublic class bin_13_sub1 // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { public void dummy_1 () { System.out.println (1); } } mauve-20140821/gnu/testlet/BinaryCompatibility/altered/bin_16_sub1.java0000644000175000001440000000161107720434270024477 0ustar dokouserspublic class bin_16_sub1 // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { public void dummy_0 () { System.out.println (0); } } mauve-20140821/gnu/testlet/BinaryCompatibility/altered/bin_13_sub.java0000644000175000001440000000173107720434270024416 0ustar dokouserspublic class bin_13_sub extends bin_13_sub1 // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { public void dummy_0 () { System.out.println (0); } public void dummy_2 () { System.out.println (2); } } mauve-20140821/gnu/testlet/BinaryCompatibility/altered/bin_03_sub.java0000644000175000001440000000171007720434270024412 0ustar dokouserspublic class bin_03_sub // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { public bin_03_sub (int i) {} public bin_03_sub () {} public void dummy_1 () { System.out.println (1); } } mauve-20140821/gnu/testlet/BinaryCompatibility/altered/bin_17_interface.java0000644000175000001440000000155707720434270025577 0ustar dokouserspublic interface bin_17_interface // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { public void dummy_1 (); } mauve-20140821/gnu/testlet/BinaryCompatibility/altered/bin_08_sub.java0000644000175000001440000000160107720434270024416 0ustar dokousers// Section 13 Deleting fields // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. public class bin_08_sub { public int foo = 99; } mauve-20140821/gnu/testlet/BinaryCompatibility/altered/bin_05_interface.java0000644000175000001440000000170007720434270025562 0ustar dokousers// Section 13, Adding a new field // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. public interface bin_05_interface { public static final int bar = 33; public static final int foo = 99; } mauve-20140821/gnu/testlet/BinaryCompatibility/altered/bin_10_sub.java0000644000175000001440000000157307720434270024417 0ustar dokousers // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. public class bin_10_sub { public int bar = 33; public int foo = 99; } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_17_sub.java0000644000175000001440000000161007720434270022776 0ustar dokouserspublic class bin_17_sub // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { public void dummy_1 () { System.out.println (1); } } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_16_sub.java0000644000175000001440000000161007720434270022775 0ustar dokouserspublic class bin_16_sub // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { public void dummy_1 () { System.out.println (1); } } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_10.java0000644000175000001440000000171007720434270022117 0ustar dokousers// Reordering fields of a class // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. public class bin_10 { public static void main (String argv[]) { System.out.println (new bin_10_sub().foo); } } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_01.java0000644000175000001440000000166507720434267022136 0ustar dokousers// Adding a method to a class // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. public class bin_01 { public static void main (String argv[]) { new bin_01_sub().dummy_1(); } } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_06_interface.java0000644000175000001440000000155207720434270024150 0ustar dokouserspublic interface bin_06_interface // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { void dummy_1 (); } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_18_sub1.java0000644000175000001440000000161507720434270023065 0ustar dokouserspublic class bin_18_sub1 // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { public void dummy_0 () { System.out.println (99); } } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_04_sub.java0000644000175000001440000000164507720434267023010 0ustar dokousers // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. public class bin_04_sub implements bin_04_interface { public void dummy_1 () { System.out.println (1); } } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_11.java0000644000175000001440000000167007720434270022125 0ustar dokousers// Reordering methods of a class // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. public class bin_11 { public static void main (String argv[]) { new bin_11_sub().dummy_1(); } } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_18_sub.java0000644000175000001440000000173407720434270023006 0ustar dokouserspublic class bin_18_sub extends bin_18_sub1 // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { public void dummy_0 () { System.out.println (0); } public void dummy_1 () { System.out.println (1); } } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_05.java0000644000175000001440000000171107720434267022132 0ustar dokousers// Adding a field to an interface // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. public class bin_05 { public static void main (String argv[]) { System.out.println (bin_05_interface.foo); } } mauve-20140821/gnu/testlet/BinaryCompatibility/foo0000755000175000001440000000327310165044044020714 0ustar dokousers#!/bin/sh verbose=true rm $1.out2 $1.out1 for src in $1*.java; do if test "x$JAVA" != "x" ; then if test "$verbose" = "true" ; then echo $JAVAC -classpath . $src fi $JAVAC -classpath . $src 2>&1 || echo FAIL "$JAVAC $1: " else if test "$verbose" = "true" ; then echo $GCJ -c $src fi $GCJ -c $src || echo FAIL "$1: " fi done objs=`echo $1*.java | sed 's/\.java/.o/g'` if test "x$JAVA" != "x" ; then $JAVA -classpath . $1 > $1.out1 || echo FAIL "$1: " echo -classpath . $JAVA $1 else if test "$verbose" = "true" ; then echo $GCJ $objs -o $1 --main=$1 echo "./$1 > $1.out1" fi $GCJ $objs -o $1 --main=$1 || echo FAIL "$1: " ./$1 > $1.out1 || echo FAIL "$1: " fi for src in altered/$1*.java; do if test "x$JAVA" != "x" ; then if test "$verbose" = "true" ; then echo $JAVAC $src -classpath altered:. fi $JAVAC -classpath altered:. $src || echo FAIL "$JAVAC $1: " else if test "$verbose" = "true" ; then echo $GCJ -c $src -Ialtered/ fi $GCJ -c $src -Ialtered/ || echo FAIL "$1: " fi done if test "x$JAVA" != "x" ; then if test "$verbose" = "true" ; then echo $JAVA -classpath altered:. $1 fi $JAVA -classpath altered:. $1 > $1.out2 || echo FAIL "$1: " else if test "$verbose" = "true" ; then echo $GCJ $objs $2 -o $1 --main=$1 echo "./$1 > $1.out2" fi $GCJ $objs $2 -o $1 --main=$1 || echo FAIL "$1: " ./$1 > $1.out2 || echo FAIL "$1: " fi if test "$verbose" = "true" ; then echo diff $1.out1 $1.out2 fi if diff $1.out1 $1.out2 > /dev/null; then echo -n PASS "$1: " head -1 $1.java else echo -n FAIL "$1: " head -1 $1.java if test "$verbose" = "true" ; then diff $1.out1 $1.out2 fi fi mauve-20140821/gnu/testlet/BinaryCompatibility/bin_14.java0000644000175000001440000000172207720434270022126 0ustar dokousers// Reordering the list of direct superinterfaces of a class // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. public class bin_14 { public static void main (String argv[]) { new bin_14_sub().dummy_1(); } } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_02.java0000644000175000001440000000170507720434267022132 0ustar dokousers// Adding a field to a class // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. public class bin_02 { public static void main (String argv[]) { System.out.println (new bin_02_sub().foo); } } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_18.java0000644000175000001440000000174107720434270022133 0ustar dokousers// Changing the declared access of a member from public to package private // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. public class bin_18 { public static void main (String argv[]) { new bin_18_sub().dummy_1(); } } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_11_sub.java0000644000175000001440000000170607720434270022776 0ustar dokouserspublic class bin_11_sub // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { public void dummy_0 () { System.out.println (0); } public void dummy_1 () { System.out.println (1); } } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_13.java0000644000175000001440000000170707720434270022130 0ustar dokousers// Moving a method upward in the class hierarchy // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. public class bin_13 { public static void main (String argv[]) { new bin_13_sub().dummy_1(); } } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_05_sub.java0000644000175000001440000000162207720434267023004 0ustar dokousers// Section 13, Adding a new field // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. public class bin_05_sub { public static final int foo = 99; } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_02_sub.java0000644000175000001440000000160507720434267023002 0ustar dokousers// Section 13, Adding a new field // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. public class bin_02_sub { public int foo = 99; } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_07_sub.java0000644000175000001440000000175007720434270023002 0ustar dokouserspublic class bin_07_sub // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { public void dummy_0 () { System.out.println (0); } public void dummy_1 () { System.out.println (1); } public void dummy_2 () { } } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_12.java0000644000175000001440000000167407720434270022132 0ustar dokousers// Reordering constructors of a class // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. public class bin_12 { public static void main (String argv[]) { new bin_12_sub().dummy_1(); } } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_09.java0000644000175000001440000000167407720434270022140 0ustar dokousers// Deleting a constructor from a class // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. public class bin_09 { public static void main (String argv[]) { new bin_09_sub().dummy_1(); } } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_15.java0000644000175000001440000000172707720434270022134 0ustar dokousers// Reordering the list of direct superinterfaces of an interface // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. public class bin_15 { public static void main (String argv[]) { new bin_15_sub().dummy_1(); } } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_07.java0000644000175000001440000000167107720434270022133 0ustar dokousers// Deleting a method from a class // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. public class bin_07 { public static void main (String argv[]) { new bin_07_sub().dummy_1(); } } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_13_sub1.java0000644000175000001440000000151407720434270023056 0ustar dokouserspublic class bin_13_sub1 // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_15_interface1.java0000644000175000001440000000154107720434270024227 0ustar dokousersinterface bin_15_interface1 // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { void dummy_0 (); } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_06.java0000644000175000001440000000177707720434270022141 0ustar dokousers// Adding a constructor to an interface // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. public class bin_06 { static void foo (bin_06_interface bar) { bar.dummy_1(); } public static void main (String argv[]) { new bin_06_sub().dummy_1(); } } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_13_sub.java0000644000175000001440000000173407720434270023001 0ustar dokouserspublic class bin_13_sub extends bin_13_sub1 // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { public void dummy_0 () { System.out.println (0); } public void dummy_1 () { System.out.println (1); } } mauve-20140821/gnu/testlet/BinaryCompatibility/BinaryCompatibilityTest.java0000644000175000001440000000541610334216563025672 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // Copyright (C) 2005 Mark J. Wielaard // A set of tests for Chapter 13 of the JLS, "Binary Compatibility". // We run a script that compiles every test case twice, the second // time with some classes replcaed by versions in the subdirectory // called "altered". The outputs of both runs should be the same: if // not, we fail the test. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.BinaryCompatibility; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class BinaryCompatibilityTest implements Testlet { protected static TestHarness harness; public void testall() { try { String command; String path = (harness.getSourceDirectory() + "/gnu/testlet/BinaryCompatibility/tests"); char sep = harness.getSeparator().charAt(0); FileReader fr = new FileReader(path); BufferedReader tests = new BufferedReader(fr); while ((command = tests.readLine()) != null) { String srcdir = "/gnu/testlet/BinaryCompatibility"; srcdir = srcdir.replace('/', sep); File dir = new File(harness.getSourceDirectory() + srcdir); harness.debug("Execing external command: " + command); Process p = Runtime.getRuntime().exec(command, null, dir); BufferedReader result = new BufferedReader(new InputStreamReader(p.getInputStream())); String s; while ((s = result.readLine()) != null) { harness.verbose(s); if (s.startsWith("PASS ")) harness.check(true, s.substring(s.indexOf("// ") + 3)); else if (s.startsWith("FAIL ")) harness.check(false, s.substring(s.indexOf("// ") + 3)); } } } catch (Throwable t) { harness.debug(t); harness.check(false); } } public void test (TestHarness the_harness) { harness = the_harness; testall(); } } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_03_sub.java0000644000175000001440000000161007720434267022777 0ustar dokouserspublic class bin_03_sub // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { public void dummy_1 () { System.out.println (1); } } mauve-20140821/gnu/testlet/BinaryCompatibility/tests0000644000175000001440000000050107720435406021270 0ustar dokouserssh ./foo bin_01 sh ./foo bin_02 sh ./foo bin_03 sh ./foo bin_04 sh ./foo bin_05 sh ./foo bin_06 sh ./foo bin_07 sh ./foo bin_08 sh ./foo bin_09 sh ./foo bin_10 sh ./foo bin_11 sh ./foo bin_12 sh ./foo bin_13 sh ./foo bin_14 sh ./foo bin_15 sh ./foo bin_16 bin_16_sub1.o sh ./foo bin_17 bin_17_interface.o sh ./foo bin_18 mauve-20140821/gnu/testlet/BinaryCompatibility/bin_08_sub.java0000644000175000001440000000162707720434270023006 0ustar dokousers// Section 13 Deleting fields // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. public class bin_08_sub { public int bar = 3; public int foo = 99; } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_14_interface1.java0000644000175000001440000000154107720434270024226 0ustar dokousersinterface bin_14_interface1 // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. { void dummy_0 (); } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_05_interface.java0000644000175000001440000000163407720434267024156 0ustar dokousers// Section 13, Adding a new field // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. public interface bin_05_interface { public static final int foo = 99; } mauve-20140821/gnu/testlet/BinaryCompatibility/bin_10_sub.java0000644000175000001440000000163207720434270022773 0ustar dokousers// Reordering fields of a class // Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // Written by aph@redhat.com // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. public class bin_10_sub { public int foo = 99; public int bar = 33; } mauve-20140821/gnu/testlet/java/0000755000175000001440000000000012375316450015151 5ustar dokousersmauve-20140821/gnu/testlet/java/BinaryCompatibility/0000755000175000001440000000000012375316426021132 5ustar dokousersmauve-20140821/gnu/testlet/java/BinaryCompatibility/altered/0000755000175000001440000000000012375316426022552 5ustar dokousersmauve-20140821/gnu/testlet/java/sql/0000755000175000001440000000000012375316426015753 5ustar dokousersmauve-20140821/gnu/testlet/java/sql/DatabaseMetaData/0000755000175000001440000000000012375316426021060 5ustar dokousersmauve-20140821/gnu/testlet/java/sql/DatabaseMetaData/TestJdbc.java0000644000175000001440000000654110057633062023424 0ustar dokousers/* * Test java.sql.DatabaseMetaData * * Copyright (c) 1998 * Transvirtual Technologies, Inc. All rights reserved. * Copyright (c) 1999 Aaron M. Renn (arenn@urbanophile.com) * Copyright (c) 2002 Mark J. Wielaard (mark@klomp.org) * * See the file "COPYING" for information on usage and redistribution * of this file. */ // Tags: JDK1.1 JDBC1.0 package gnu.testlet.java.sql.DatabaseMetaData; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class TestJdbc implements Testlet { public void test(TestHarness harness) { harness.check(java.sql.DatabaseMetaData.procedureResultUnknown, 0); harness.check(java.sql.DatabaseMetaData.procedureNoResult, 1); harness.check(java.sql.DatabaseMetaData.procedureReturnsResult, 2); harness.check(java.sql.DatabaseMetaData.procedureColumnUnknown, 0); harness.check(java.sql.DatabaseMetaData.procedureColumnIn, 1); harness.check(java.sql.DatabaseMetaData.procedureColumnInOut, 2); harness.check(java.sql.DatabaseMetaData.procedureColumnOut, 4); harness.check(java.sql.DatabaseMetaData.procedureColumnReturn, 5); harness.check(java.sql.DatabaseMetaData.procedureColumnResult, 3); harness.check(java.sql.DatabaseMetaData.procedureNoNulls, 0); harness.check(java.sql.DatabaseMetaData.procedureNullable, 1); harness.check(java.sql.DatabaseMetaData.procedureNullableUnknown, 2); harness.check(java.sql.DatabaseMetaData.columnNoNulls, 0); harness.check(java.sql.DatabaseMetaData.columnNullable, 1); harness.check(java.sql.DatabaseMetaData.columnNullableUnknown, 2); harness.check(java.sql.DatabaseMetaData.bestRowTemporary, 0); harness.check(java.sql.DatabaseMetaData.bestRowTransaction, 1); harness.check(java.sql.DatabaseMetaData.bestRowSession, 2); harness.check(java.sql.DatabaseMetaData.bestRowUnknown, 0); harness.check(java.sql.DatabaseMetaData.bestRowNotPseudo, 1); harness.check(java.sql.DatabaseMetaData.bestRowPseudo, 2); harness.check(java.sql.DatabaseMetaData.versionColumnUnknown, 0); harness.check(java.sql.DatabaseMetaData.versionColumnNotPseudo, 1); harness.check(java.sql.DatabaseMetaData.versionColumnPseudo, 2); harness.check(java.sql.DatabaseMetaData.importedKeyCascade, 0); harness.check(java.sql.DatabaseMetaData.importedKeyRestrict, 1); harness.check(java.sql.DatabaseMetaData.importedKeySetNull, 2); harness.check(java.sql.DatabaseMetaData.importedKeyNoAction, 3); harness.check(java.sql.DatabaseMetaData.importedKeySetDefault, 4); harness.check(java.sql.DatabaseMetaData.importedKeyInitiallyDeferred, 5); harness.check(java.sql.DatabaseMetaData.importedKeyInitiallyImmediate, 6); harness.check(java.sql.DatabaseMetaData.importedKeyNotDeferrable, 7); harness.check(java.sql.DatabaseMetaData.typeNoNulls, 0); harness.check(java.sql.DatabaseMetaData.typeNullable, 1); harness.check(java.sql.DatabaseMetaData.typeNullableUnknown, 2); harness.check(java.sql.DatabaseMetaData.typePredNone, 0); harness.check(java.sql.DatabaseMetaData.typePredChar, 1); harness.check(java.sql.DatabaseMetaData.typePredBasic, 2); harness.check(java.sql.DatabaseMetaData.typeSearchable, 3); harness.check(java.sql.DatabaseMetaData.tableIndexStatistic, 0); harness.check(java.sql.DatabaseMetaData.tableIndexClustered, 1); harness.check(java.sql.DatabaseMetaData.tableIndexHashed, 2); harness.check(java.sql.DatabaseMetaData.tableIndexOther, 3); } } // class TestJdbc mauve-20140821/gnu/testlet/java/sql/Timestamp/0000755000175000001440000000000012375316426017716 5ustar dokousersmauve-20140821/gnu/testlet/java/sql/Timestamp/TimestampTest.java0000644000175000001440000000477010132300342023347 0ustar dokousers/************************************************************************* /* TimestampTest.java - Test java.sql.Timestamp /* /* Copyright (c) 2003 Dalibor Topic (robilad@yahoo.de) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.2 package gnu.testlet.java.sql.Timestamp; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.sql.*; import java.util.SimpleTimeZone; import java.util.TimeZone; public class TimestampTest implements Testlet { public void test(TestHarness harness) { // Set a common timezone to get the same result everywhere. SimpleTimeZone stz = new SimpleTimeZone(-5 * 1000 * 3600, "GMT"); TimeZone.setDefault(stz); try { Timestamp.valueOf("NoSuchTime"); harness.check(false, "valueOf"); } catch (IllegalArgumentException e) { harness.check(true, "valueOf"); } Timestamp ts = new Timestamp(1099999999333L); harness.check(ts.getNanos() == 333000000, "getNanos"); harness.check(ts.toString().equals("2004-11-09 06:33:19.333"), "toString"); harness.debug(ts.toString()); ts.setNanos(42); harness.check(ts.getNanos() == 42, "getNanos"); harness.check(ts.toString().equals("2004-11-09 06:33:19.000000042"), "toString"); harness.debug(ts.toString()); ts.setNanos(0); harness.check(ts.getNanos() == 0, "getNanos"); harness.check(ts.toString().equals("2004-11-09 06:33:19.0"), "toString"); harness.debug(ts.toString()); Timestamp ts2 = new Timestamp(1099999999999L); harness.check(ts.equals(ts2) == false, "equals"); ts.setNanos(999000000); harness.check(ts.equals(ts2), "equals"); harness.debug(ts.toString()); // Restore Timezone TimeZone.setDefault(null); } } mauve-20140821/gnu/testlet/java/sql/DriverManager/0000755000175000001440000000000012375316426020501 5ustar dokousersmauve-20140821/gnu/testlet/java/sql/DriverManager/DriverManagerTest.java0000644000175000001440000000257107646262211024734 0ustar dokousers/************************************************************************* /* DriverManagerTest.java - Test java.sql.DriverManager /* /* Copyright (c) 2003 Dalibor Topic (robilad@yahoo.de) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.2 package gnu.testlet.java.sql.DriverManager; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.sql.*; public class DriverManagerTest implements Testlet { public void test(TestHarness harness) { try { DriverManager.getDriver("NoSuchDriver"); harness.check(false, "getDriver"); } catch (SQLException e) { harness.check(true, "getDriver"); } } } mauve-20140821/gnu/testlet/java/sql/Blob/0000755000175000001440000000000012375316426016631 5ustar dokousersmauve-20140821/gnu/testlet/java/sql/Blob/BlobTest.java0000644000175000001440000000416410635572477021226 0ustar dokousers/************************************************************************* /* BlobTest.java - Test java.util.Blob interface /* /* Copyright (c) 1999 Aaron M. Renn (arenn@urbanophile.com) /* Copyright (c) 2002 Mark J. Wielaard (mark@klomp.org) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.2 JDBC2.0 package gnu.testlet.java.sql.Blob; import java.sql.*; import java.io.InputStream; import java.io.OutputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class BlobTest implements Blob, Testlet { public void test(TestHarness harness) { harness.check(true, "java.sql.Blob"); } public void free() throws SQLException { } public InputStream getBinaryStream (long a, long b) throws SQLException { return(null); } public long length() throws SQLException { return(0); } public byte[] getBytes(long offset, int length) throws SQLException { return(null); } public InputStream getBinaryStream() throws SQLException { return(null); } public long position(byte[] pattern, long offset) throws SQLException { return(0); } public long position(Blob pattern, long offset) throws SQLException { return(0); } public int setBytes(long l,byte[] bs) { return(0); } public int setBytes(long l ,byte[] bs ,int i1, int i2) { return(0); } public void truncate(long l) { return; } public OutputStream setBinaryStream(long l) { return(null); } } // class BlobTest mauve-20140821/gnu/testlet/java/sql/Types/0000755000175000001440000000000012375316426017057 5ustar dokousersmauve-20140821/gnu/testlet/java/sql/Types/TestJdbc10.java0000644000175000001440000000434107434056053021564 0ustar dokousers/************************************************************************* /* TestJdbc10.java -- Test java.sql.Types for JDK 1.1/JDBC 1.0 /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 JDBC1.0 !JDK1.2 !JDBC2.0 package gnu.testlet.java.sql.Types; import java.sql.Types; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class TestJdbc10 implements Testlet { public void test(TestHarness harness) { harness.check(Types.BIT, -7, "BIT"); harness.check(Types.TINYINT, -6, "TINYINT"); harness.check(Types.SMALLINT, 5, "SMALLINT"); harness.check(Types.INTEGER, 4, "INTEGER"); harness.check(Types.BIGINT, -5, "BIGINT"); harness.check(Types.FLOAT, 6, "FLOAT"); harness.check(Types.REAL, 7, "REAL"); harness.check(Types.DOUBLE, 8, "DOUBLE"); harness.check(Types.NUMERIC, 2, "NUMERIC"); harness.check(Types.DECIMAL, 3, "DECIMAL"); harness.check(Types.CHAR, 1, "CHAR"); harness.check(Types.VARCHAR, 12, "VARCHAR"); harness.check(Types.LONGVARCHAR, -1, "LONGVARCHAR"); harness.check(Types.DATE, 91, "DATE"); harness.check(Types.TIME, 92, "TIME"); harness.check(Types.TIMESTAMP, 93, "TIMESTAMP"); harness.check(Types.BINARY, -2, "BINARY"); harness.check(Types.VARBINARY, -3, "VARBINARY"); harness.check(Types.LONGVARBINARY, -4, "LONGVARBINARY"); harness.check(Types.NULL, 0, "NULL"); harness.check(Types.OTHER, 1111, "OTHER"); } } // class TestJdbc10 mauve-20140821/gnu/testlet/java/sql/Types/TestJdbc20.java0000644000175000001440000000313106652606102021556 0ustar dokousers/************************************************************************* /* TestJdbc20.java -- Test java.sql.Types for JDK 1.2/JDBC 2.0 /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.2 JDBC2.0 package gnu.testlet.java.sql.Types; import java.sql.Types; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class TestJdbc20 implements Testlet { public void test(TestHarness harness) { harness.check(Types.JAVA_OBJECT, 2000, "JAVA_OBJECT"); harness.check(Types.DISTINCT, 2001, "DISTINCT"); harness.check(Types.STRUCT, 2002, "STRUCT"); harness.check(Types.ARRAY, 2003, "ARRAY"); harness.check(Types.BLOB, 2004, "BLOB"); harness.check(Types.CLOB, 2005, "CLOB"); harness.check(Types.REF, 2006, "REF"); } } // class TestJdbc20 mauve-20140821/gnu/testlet/java/sql/Date/0000755000175000001440000000000012375316426016630 5ustar dokousersmauve-20140821/gnu/testlet/java/sql/Date/DateTest.java0000644000175000001440000000453107646262211021210 0ustar dokousers/************************************************************************* /* DateTest.java - Test java.sql.Date /* /* Copyright (c) 2003 Dalibor Topic (robilad@yahoo.de) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.2 package gnu.testlet.java.sql.Date; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.sql.*; public class DateTest implements Testlet { public void test(TestHarness harness) { Date d = new Date(0); try { d.getHours(); harness.check(false, "getHours"); } catch (IllegalArgumentException e) { harness.check(true, "getHours"); } try { d.getMinutes(); harness.check(false, "getMinutes"); } catch (IllegalArgumentException e) { harness.check(true, "getMinutes"); } try { d.getSeconds(); harness.check(false, "getSeconds"); } catch (IllegalArgumentException e) { harness.check(true, "getSeconds"); } try { d.setHours(0); harness.check(false, "setHours"); } catch (IllegalArgumentException e) { harness.check(true, "setHours"); } try { d.setMinutes(0); harness.check(false, "setMinutes"); } catch (IllegalArgumentException e) { harness.check(true, "setMinutes"); } try { d.setSeconds(0); harness.check(false, "setSeconds"); } catch (IllegalArgumentException e) { harness.check(true, "setSeconds"); } try { Date.valueOf("NoSuchDate"); harness.check(false, "valueOf"); } catch (IllegalArgumentException e) { harness.check(true, "valueOf"); } } } mauve-20140821/gnu/testlet/java/sql/Array/0000755000175000001440000000000012375316426017031 5ustar dokousersmauve-20140821/gnu/testlet/java/sql/Array/ArrayTest.java0000644000175000001440000000415410635572477021625 0ustar dokousers/************************************************************************* /* ArrayTest.java - Test java.sql.Array interface /* /* Copyright (c) 1999 Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.2 JDBC2.0 package gnu.testlet.java.sql.Array; import java.sql.*; import java.util.Map; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class ArrayTest implements Array, Testlet { public void test(TestHarness harness) { harness.check(true, "java.sql.Array"); } public String getBaseTypeName() throws SQLException { return(null); } public void free() throws SQLException { } public int getBaseType() throws SQLException { return(0); } public Object getArray() throws SQLException { return(null); } public Object getArray(Map map) throws SQLException { return(null); } public Object getArray(long offset, int count) throws SQLException { return(null); } public Object getArray(long index, int count, Map map) throws SQLException { return(null); } public ResultSet getResultSet() throws SQLException { return(null); } public ResultSet getResultSet(Map map) throws SQLException { return(null); } public ResultSet getResultSet(long index, int count) throws SQLException { return(null); } public ResultSet getResultSet(long index, int count, Map map) throws SQLException { return(null); } } // class ArrayTest mauve-20140821/gnu/testlet/java/sql/Time/0000755000175000001440000000000012375316426016651 5ustar dokousersmauve-20140821/gnu/testlet/java/sql/Time/TimeTest.java0000644000175000001440000000472207646262211021254 0ustar dokousers/************************************************************************* /* TimeTest.java - Test java.sql.Time /* /* Copyright (c) 2003 Dalibor Topic (robilad@yahoo.de) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.2 package gnu.testlet.java.sql.Time; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.sql.*; public class TimeTest implements Testlet { public void test(TestHarness harness) { Time t = new Time(0); try { t.getDate(); harness.check(false, "getDate"); } catch (IllegalArgumentException e) { harness.check(true, "getDate"); } try { t.getDay(); harness.check(false, "getDay"); } catch (IllegalArgumentException e) { harness.check(true, "getDay"); } try { t.getMonth(); harness.check(false, "getMonth"); } catch (IllegalArgumentException e) { harness.check(true, "getMonth"); } try { t.getYear(); harness.check(false, "getYear"); } catch (IllegalArgumentException e) { harness.check(true, "getYear"); } try { t.setDate(0); harness.check(false, "setDate"); } catch (IllegalArgumentException e) { harness.check(true, "setDate"); } try { t.setMonth(0); harness.check(false, "setMonth"); } catch (IllegalArgumentException e) { harness.check(true, "setMonth"); } try { t.setYear(0); harness.check(false, "setYear"); } catch (IllegalArgumentException e) { harness.check(true, "setYear"); } try { Time.valueOf("NoSuchTime"); harness.check(false, "valueOf"); } catch (IllegalArgumentException e) { harness.check(true, "valueOf"); } } } mauve-20140821/gnu/testlet/java/sql/Clob/0000755000175000001440000000000012375316426016632 5ustar dokousersmauve-20140821/gnu/testlet/java/sql/Clob/ClobTest.java0000644000175000001440000000460510635572477021230 0ustar dokousers/************************************************************************* /* ClobTest.java - Test java.sql.Clob /* /* Copyright (c) 1999 Aaron M. Renn (arenn@urbanophile.com) /* Copyright (c) 2002 Mark J. Wielaard (mark@klomp.org) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.2 JDBC2.0 package gnu.testlet.java.sql.Clob; import java.sql.*; import java.io.InputStream; import java.io.OutputStream; import java.io.Reader; import java.io.Writer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class ClobTest implements Clob, Testlet { public void test(TestHarness harness) { harness.check(true, "java.sql.Clob"); } public long length() throws SQLException { return(0); } public void free() throws SQLException { } public Reader getCharacterStream (long a, long b) throws SQLException { return(null); } public String getSubString(long offset, int length) throws SQLException { return(null); } public InputStream getAsciiStream() throws SQLException { return(null); } public Reader getCharacterStream() throws SQLException { return(null); } public long position(String pattern, long offset) throws SQLException { return(0); } public long position(Clob pattern, long offset) throws SQLException { return(0); } public int setString(long l, String s) throws SQLException { return(0); } public int setString(long l, String s, int i1, int i2) throws SQLException { return(0); } public OutputStream setAsciiStream(long l) throws SQLException { return(null); } public Writer setCharacterStream(long l) throws SQLException { return(null); } public void truncate(long l) throws SQLException { return; } } // class ClobTest mauve-20140821/gnu/testlet/java/sql/Connection/0000755000175000001440000000000012375316426020052 5ustar dokousersmauve-20140821/gnu/testlet/java/sql/Connection/TestJdbc.java0000644000175000001440000000201407551525601022411 0ustar dokousers/* * Based on Kaffe's Connection * * Copyright (c) 1998 * Transvirtual Technologies, Inc. All rights reserved. * Modifications Copyright (c) 1999 Aaron M. Renn (arenn@urbanophile.com) * Modifications Copyright (c) 2002 Mark J. Wielaard (mark@klomp.org) * * See the file "COPYING" for information on usage and redistribution * of this file. */ // Tags: JDK1.1 JDBC1.0 package gnu.testlet.java.sql.Connection; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.sql.*; public class TestJdbc implements Testlet { public void test(TestHarness harness) { harness.check(Connection.TRANSACTION_NONE, 0, "TRANSACTION_NONE"); harness.check(Connection.TRANSACTION_READ_UNCOMMITTED, 1, "TRANSACTION_READ_UNCOMMITTED"); harness.check(Connection.TRANSACTION_READ_COMMITTED, 2, "TRANSACTION_READ_COMMITTED"); harness.check(Connection.TRANSACTION_REPEATABLE_READ, 4, "TRANSACTION_REPEATABLE_READ"); harness.check(Connection.TRANSACTION_SERIALIZABLE, 8, "TRANSACTION_SERIALIZABLE"); } } mauve-20140821/gnu/testlet/java/nio/0000755000175000001440000000000012375316426015741 5ustar dokousersmauve-20140821/gnu/testlet/java/nio/IntBuffer/0000755000175000001440000000000012375316426017625 5ustar dokousersmauve-20140821/gnu/testlet/java/nio/IntBuffer/compareTo.java0000644000175000001440000000346010044237200022403 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Michael Koch // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.nio.IntBuffer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.nio.IntBuffer; public class compareTo implements Testlet { private TestHarness h; public void test(TestHarness h) { this.h = h; int[] a = { 1, 2, 3, 4, 5, }; int[] b = { 1, 2, 3, 4, 5, 6, 7, 8, 9, }; int[] c = { 1, 2, 3, 5, 7, 9, }; // = checkCompareTo(a, a, 0); checkCompareTo(b, b, 0); checkCompareTo(c, c, 0); // < checkCompareTo(a, b, -1); checkCompareTo(a, c, -1); checkCompareTo(b, c, -1); // > checkCompareTo(b, a, 1); checkCompareTo(c, a, 1); checkCompareTo(c, b, 1); } private void checkCompareTo(int[] buf1, int[] buf2, int expected) { IntBuffer b1 = IntBuffer.wrap(buf1); IntBuffer b2 = IntBuffer.wrap(buf2); int got = b1.compareTo(b2); int real_got = got; if (got > 1) got = 1; if (got < -1) got = -1; h.check(got == expected, "expected: " + expected + ", got: " + real_got); } } mauve-20140821/gnu/testlet/java/nio/IntBuffer/compact.java0000644000175000001440000000274710164752610022121 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Michael Koch // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.nio.IntBuffer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.nio.*; public class compact implements Testlet { public void test(TestHarness h) { IntBuffer buffer = IntBuffer.allocate(10); buffer.position(0); buffer.limit(3); buffer.compact(); h.check(buffer.position(), 3, "position after compact()"); h.check(buffer.limit(), 10, "limit after compact()"); ByteBuffer bb = ByteBuffer.allocate(200); buffer = bb.asIntBuffer(); buffer.position(0); buffer.limit(3); buffer.compact(); h.check(buffer.position(), 3, "position after compact()"); h.check(buffer.limit(), 50, "limit after compact()"); } } mauve-20140821/gnu/testlet/java/nio/ShortBuffer/0000755000175000001440000000000012375316426020172 5ustar dokousersmauve-20140821/gnu/testlet/java/nio/ShortBuffer/compact.java0000644000175000001440000000276010164752610022461 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Michael Koch // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.nio.ShortBuffer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.nio.*; public class compact implements Testlet { public void test(TestHarness h) { ShortBuffer buffer = ShortBuffer.allocate(10); buffer.position(0); buffer.limit(3); buffer.compact(); h.check(buffer.position(), 3, "position after compact()"); h.check(buffer.limit(), 10, "limit after compact()"); ByteBuffer bb = ByteBuffer.allocate(200); buffer = bb.asShortBuffer(); buffer.position(0); buffer.limit(3); buffer.compact(); h.check(buffer.position(), 3, "position after compact()"); h.check(buffer.limit(), 100, "limit after compact()"); } } mauve-20140821/gnu/testlet/java/nio/Buffer/0000755000175000001440000000000012375316426017152 5ustar dokousersmauve-20140821/gnu/testlet/java/nio/Buffer/PlainBufferTest.java0000644000175000001440000001621510173030267023045 0ustar dokousers// Copyright (C) 2004 Max Gilead // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warrant of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.nio.Buffer; import gnu.testlet.TestHarness; import java.nio.Buffer; import java.nio.InvalidMarkException; public class PlainBufferTest { public void test(TestHarness h, BufferFactory factory) { try { intialState(h, factory); position(h, factory); mark(h, factory); limit(h, factory); rewind(h, factory); clear(h, factory); flip(h, factory); } catch(Exception e) { h.fail("Unexpected excetpion: "+ e); h.debug(e); } } private void intialState(TestHarness h, BufferFactory factory) { Buffer buf = null; buf = factory.newInstance(); checkStatus(h, buf, "intialState", 10, 10, true, 10, 0); } private void position(TestHarness h, BufferFactory factory) { Buffer buf = null; buf = factory.newInstance(); h.check(buf.position(1), buf, "position: buf.position(1)"); checkStatus(h, buf, "position", 10, 10, true, 9, 1); buf.position(10); checkStatus(h, buf, "position", 10, 10, false, 0, 10); // position can't be negative buf = factory.newInstance(); try { buf.position(-1); h.check(false, "position: is negative"); } catch(IllegalArgumentException iae) { h.check(true, "position: can't be negative"); } // position can't be larger than limit buf = factory.newInstance(); buf.limit(5); try { buf.position(6); h.check(false, "position: is larger than capacity"); } catch(IllegalArgumentException iae) { h.check(true, "position: can't be larger than capacity"); } } private void mark(TestHarness h, BufferFactory factory) { Buffer buf = null; // mark at default position buf = factory.newInstance(); h.check(buf.mark(), buf, "mark: buf.mark()"); checkStatus(h, buf, "mark", 10, 10, true, 10, 0); buf.position(5); checkStatus(h, buf, "mark", 10, 10, true, 5, 5); h.check(buf.reset(), buf, "mark: buf.reset()"); checkStatus(h, buf, "mark", 10, 10, true, 10, 0); buf.position(6); checkStatus(h, buf, "mark", 10, 10, true, 4, 6); buf.reset(); checkStatus(h, buf, "mark", 10, 10, true, 10, 0); // mark at specified position buf = factory.newInstance(); buf.position(5); buf.mark(); checkStatus(h, buf, "mark", 10, 10, true, 5, 5); buf.position(6); checkStatus(h, buf, "mark", 10, 10, true, 4, 6); buf.reset(); checkStatus(h, buf, "mark", 10, 10, true, 5, 5); buf.position(7); checkStatus(h, buf, "mark", 10, 10, true, 3, 7); buf.reset(); checkStatus(h, buf, "mark", 10, 10, true, 5, 5); // mark should be discarded if new position is smaller than mark buf = factory.newInstance(); buf.position(5); buf.mark(); buf.position(4); try { buf.reset(); h.check(false, "mark: mark not invalidated"); } catch(InvalidMarkException ime) { h.check(true, "mark: invalidated mark"); } checkStatus(h, buf, "mark", 10, 10, true, 6, 4); } private void limit(TestHarness h, BufferFactory factory) { Buffer buf = null; buf = factory.newInstance(); buf.position(2); buf.mark(); buf.position(3); h.check(buf.limit(4), buf, "limit: buf.limit(4)"); checkStatus(h, buf, "limit", 10, 4, true, 1, 3); buf.reset(); checkStatus(h, buf, "limit", 10, 4, true, 2, 2); // mark should be discarded if new limit is smaller than mark // and position should be set to new limit buf = factory.newInstance(); buf.position(5); buf.mark(); buf.position(6); buf.limit(4); checkStatus(h, buf, "limit", 10, 4, false, 0, 4); try { buf.reset(); h.check(false, "limit: mark not invalidated"); } catch(InvalidMarkException ime) { h.check(true, "limit: invalidated mark"); } // limit can't be negative buf = factory.newInstance(); try { buf.limit(-1); h.check(false, "limit: is negative"); } catch(IllegalArgumentException iae) { h.check(true, "limit: can't be negative"); } // limit can't be larger than capacity buf = factory.newInstance(); try { buf.limit(11); h.check(false, "limit: is larger than capacity"); } catch(IllegalArgumentException iae) { h.check(true, "limit: can't be larger than capacity"); } } private void rewind(TestHarness h, BufferFactory factory) { Buffer buf = null; buf = factory.newInstance(); buf.position(5); buf.mark(); buf.position(6); buf.limit(9); h.check(buf.rewind(), buf, "rewind: buf.rewind()"); checkStatus(h, buf, "rewind", 10, 9, true, 9, 0); try { buf.reset(); h.check(false, "rewind: mark not invalidated"); } catch(InvalidMarkException ime) { h.check(true, "rewind: invalidated mark"); } } private void clear(TestHarness h, BufferFactory factory) { Buffer buf = null; buf = factory.newInstance(); buf.position(5); buf.mark(); buf.position(6); buf.limit(7); h.check(buf.clear(), buf, "clear: buf.clear()"); checkStatus(h, buf, "clear", 10, 10, true, 10, 0); try { buf.reset(); h.check(false, "clear: mark not invalidated"); } catch(InvalidMarkException ime) { h.check(true, "clear: invalidated mark"); } } private void flip(TestHarness h, BufferFactory factory) { Buffer buf = null; buf = factory.newInstance(); buf.position(5); buf.mark(); buf.position(6); h.check(buf.flip(), buf, "flip: buf.flip()"); checkStatus(h, buf, "flip", 10, 6, true, 6, 0); try { buf.reset(); h.check(false, "flip: mark not invalidated"); } catch(InvalidMarkException ime) { h.check(true, "flip: invalidated mark"); } } private void checkStatus(TestHarness h, Buffer buf, String prefix, int cap, int lim, boolean hasRem, int rem, int pos) { h.check(buf.capacity(), cap, prefix +": buf.capacity()"); h.check(buf.limit(), lim, prefix +": buf.limit()"); h.check(buf.hasRemaining(), hasRem, prefix +": buf.hasRemaining()"); h.check(buf.remaining(), rem, prefix +": buf.remaining()"); h.check(buf.position(), pos, prefix +": buf.position()"); } } mauve-20140821/gnu/testlet/java/nio/Buffer/WrappedWithOffsetBufferTest.java0000644000175000001440000001625210173030267025410 0ustar dokousers// Copyright (C) 2004 Max Gilead // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.nio.Buffer; import gnu.testlet.TestHarness; import java.nio.Buffer; import java.nio.InvalidMarkException; public class WrappedWithOffsetBufferTest { public void test(TestHarness h, BufferFactory factory) { try { intialState(h, factory); position(h, factory); mark(h, factory); limit(h, factory); rewind(h, factory); clear(h, factory); flip(h, factory); } catch(Exception e) { h.fail("Unexpected excetpion: "+ e); h.debug(e); } } private void intialState(TestHarness h, BufferFactory factory) { Buffer buf = null; buf = factory.newInstance(); checkStatus(h, buf, "intialState", 20, 20, true, 10, 10); } private void position(TestHarness h, BufferFactory factory) { Buffer buf = null; buf = factory.newInstance(); h.check(buf.position(1), buf, "position: buf.position(1)"); checkStatus(h, buf, "position", 20, 20, true, 19, 1); buf.position(20); checkStatus(h, buf, "position", 20, 20, false, 0, 20); // position can't be negative buf = factory.newInstance(); try { buf.position(-1); h.check(false, "position: is negative"); } catch(IllegalArgumentException iae) { h.check(true, "position: can't be negative"); } // position can't be larger than limit buf = factory.newInstance(); buf.limit(5); try { buf.position(6); h.check(false, "position: is larger than capacity"); } catch(IllegalArgumentException iae) { h.check(true, "position: can't be larger than capacity"); } } private void mark(TestHarness h, BufferFactory factory) { Buffer buf = null; // mark at default position buf = factory.newInstance(); h.check(buf.mark(), buf, "mark: buf.mark()"); checkStatus(h, buf, "mark", 20, 20, true, 10, 10); buf.position(15); checkStatus(h, buf, "mark", 20, 20, true, 5, 15); h.check(buf.reset(), buf, "mark: buf.reset()"); checkStatus(h, buf, "mark", 20, 20, true, 10, 10); buf.position(16); checkStatus(h, buf, "mark", 20, 20, true, 4, 16); buf.reset(); checkStatus(h, buf, "mark", 20, 20, true, 10, 10); // mark at specified position buf = factory.newInstance(); buf.position(5); buf.mark(); checkStatus(h, buf, "mark", 20, 20, true, 15, 5); buf.position(6); checkStatus(h, buf, "mark", 20, 20, true, 14, 6); buf.reset(); checkStatus(h, buf, "mark", 20, 20, true, 15, 5); buf.position(7); checkStatus(h, buf, "mark", 20, 20, true, 13, 7); buf.reset(); checkStatus(h, buf, "mark", 20, 20, true, 15, 5); // mark should be discarded if new position is smaller than mark buf = factory.newInstance(); buf.position(5); buf.mark(); buf.position(4); try { buf.reset(); h.check(false, "mark: mark not invalidated"); } catch(InvalidMarkException ime) { h.check(true, "mark: invalidated mark"); } checkStatus(h, buf, "mark", 20, 20, true, 16, 4); } private void limit(TestHarness h, BufferFactory factory) { Buffer buf = null; buf = factory.newInstance(); buf.position(2); buf.mark(); buf.position(3); h.check(buf.limit(4), buf, "limit: buf.limit(4)"); checkStatus(h, buf, "limit", 20, 4, true, 1, 3); buf.reset(); checkStatus(h, buf, "limit", 20, 4, true, 2, 2); // mark should be discarded if new limit is smaller than mark // and position should be set to new limit buf = factory.newInstance(); buf.position(5); buf.mark(); buf.position(6); buf.limit(4); checkStatus(h, buf, "limit", 20, 4, false, 0, 4); try { buf.reset(); h.check(false, "limit: mark not invalidated"); } catch(InvalidMarkException ime) { h.check(true, "limit: invalidated mark"); } // limit can't be negative buf = factory.newInstance(); try { buf.limit(-1); h.check(false, "limit: is negative"); } catch(IllegalArgumentException iae) { h.check(true, "limit: can't be negative"); } // limit can't be larger than capacity buf = factory.newInstance(); try { buf.limit(21); h.check(false, "limit: is larger than capacity"); } catch(IllegalArgumentException iae) { h.check(true, "limit: can't be larger than capacity"); } } private void rewind(TestHarness h, BufferFactory factory) { Buffer buf = null; buf = factory.newInstance(); buf.position(5); buf.mark(); buf.position(6); buf.limit(9); h.check(buf.rewind(), buf, "rewind: buf.rewind()"); checkStatus(h, buf, "rewind", 20, 9, true, 9, 0); try { buf.reset(); h.check(false, "rewind: mark not invalidated"); } catch(InvalidMarkException ime) { h.check(true, "rewind: invalidated mark"); } } private void clear(TestHarness h, BufferFactory factory) { Buffer buf = null; buf = factory.newInstance(); buf.position(5); buf.mark(); buf.position(6); buf.limit(7); h.check(buf.clear(), buf, "clear: buf.clear()"); checkStatus(h, buf, "clear", 20, 20, true, 20, 0); try { buf.reset(); h.check(false, "clear: mark not invalidated"); } catch(InvalidMarkException ime) { h.check(true, "clear: invalidated mark"); } } private void flip(TestHarness h, BufferFactory factory) { Buffer buf = null; buf = factory.newInstance(); buf.position(5); buf.mark(); buf.position(6); h.check(buf.flip(), buf, "flip: buf.flip()"); checkStatus(h, buf, "flip", 20, 6, true, 6, 0); try { buf.reset(); h.check(false, "flip: mark not invalidated"); } catch(InvalidMarkException ime) { h.check(true, "flip: invalidated mark"); } } private void checkStatus(TestHarness h, Buffer buf, String prefix, int cap, int lim, boolean hasRem, int rem, int pos) { h.check(buf.capacity(), cap, prefix +": buf.capacity()"); h.check(buf.limit(), lim, prefix +": buf.limit()"); h.check(buf.hasRemaining(), hasRem, prefix +": buf.hasRemaining()"); h.check(buf.remaining(), rem, prefix +": buf.remaining()"); h.check(buf.position(), pos, prefix +": buf.position()"); } } mauve-20140821/gnu/testlet/java/nio/Buffer/ByteBufferTest.java0000644000175000001440000000375510055551055022714 0ustar dokousers// Tags: JDK1.4 // Uses: BufferFactory PlainBufferTest WrappedWithOffsetBufferTest // Copyright (C) 2004 Max Gilead // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.nio.Buffer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.nio.Buffer; import java.nio.ByteBuffer; public class ByteBufferTest implements Testlet { public void test(TestHarness h) { h.debug("Testing ByteBuffer.allocate(int) Buffer"); new PlainBufferTest().test(h, new BufferFactory() { public Buffer newInstance() { return ByteBuffer.allocate(10); } }); h.debug("Testing ByteBuffer.allocateDirect(int) Buffer"); new PlainBufferTest().test(h, new BufferFactory() { public Buffer newInstance() { return ByteBuffer.allocateDirect(10); } }); h.debug("Testing ByteBuffer.wrap(byte[]) Buffer"); new PlainBufferTest().test(h, new BufferFactory() { public Buffer newInstance() { return ByteBuffer.wrap(new byte[10]); } }); h.debug("Testing ByteBuffer.wrap(byte[], int, int) Buffer"); new WrappedWithOffsetBufferTest().test(h, new BufferFactory() { public Buffer newInstance() { return ByteBuffer.wrap(new byte[20], 10, 10); } }); } } mauve-20140821/gnu/testlet/java/nio/Buffer/IntBufferTest.java0000644000175000001440000000341210055551055022531 0ustar dokousers// Tags: JDK1.4 // Uses: BufferFactory PlainBufferTest WrappedWithOffsetBufferTest // Copyright (C) 2004 Max Gilead // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.nio.Buffer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.nio.Buffer; import java.nio.IntBuffer; public class IntBufferTest implements Testlet { public void test(TestHarness h) { h.debug("Testing IntBufferTest.allocate(int) Buffer"); new PlainBufferTest().test(h, new BufferFactory() { public Buffer newInstance() { return IntBuffer.allocate(10); } }); h.debug("Testing IntBufferTest.wrap(int[]) Buffer"); new PlainBufferTest().test(h, new BufferFactory() { public Buffer newInstance() { return IntBuffer.wrap(new int[10]); } }); h.debug("Testing IntBufferTest.wrap(int[], int, int) Buffer"); new WrappedWithOffsetBufferTest().test(h, new BufferFactory() { public Buffer newInstance() { return IntBuffer.wrap(new int[20], 10, 10); } }); } } mauve-20140821/gnu/testlet/java/nio/Buffer/LongBufferTest.java0000644000175000001440000000342610055551055022703 0ustar dokousers// Tags: JDK1.4 // Uses: BufferFactory PlainBufferTest WrappedWithOffsetBufferTest // Copyright (C) 2004 Max Gilead // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.nio.Buffer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.nio.Buffer; import java.nio.LongBuffer; public class LongBufferTest implements Testlet { public void test(TestHarness h) { h.debug("Testing LongBufferTest.allocate(int) Buffer"); new PlainBufferTest().test(h, new BufferFactory() { public Buffer newInstance() { return LongBuffer.allocate(10); } }); h.debug("Testing LongBufferTest.wrap(long[]) Buffer"); new PlainBufferTest().test(h, new BufferFactory() { public Buffer newInstance() { return LongBuffer.wrap(new long[10]); } }); h.debug("Testing LongBufferTest.wrap(long[], int, int) Buffer"); new WrappedWithOffsetBufferTest().test(h, new BufferFactory() { public Buffer newInstance() { return LongBuffer.wrap(new long[20], 10, 10); } }); } } mauve-20140821/gnu/testlet/java/nio/Buffer/BufferFactory.java0000644000175000001440000000164510055551055022554 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 Max Gilead // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.nio.Buffer; import java.nio.Buffer; public interface BufferFactory { Buffer newInstance(); } mauve-20140821/gnu/testlet/java/nio/Buffer/DoubleBufferTest.java0000644000175000001440000000345610055551055023221 0ustar dokousers// Tags: JDK1.4 // Uses: BufferFactory PlainBufferTest WrappedWithOffsetBufferTest // Copyright (C) 2004 Max Gilead // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.nio.Buffer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.nio.Buffer; import java.nio.DoubleBuffer; public class DoubleBufferTest implements Testlet { public void test(TestHarness h) { h.debug("Testing DoubleBufferTest.allocate(int) Buffer"); new PlainBufferTest().test(h, new BufferFactory() { public Buffer newInstance() { return DoubleBuffer.allocate(10); } }); h.debug("Testing DoubleBufferTest.wrap(double[]) Buffer"); new PlainBufferTest().test(h, new BufferFactory() { public Buffer newInstance() { return DoubleBuffer.wrap(new double[10]); } }); h.debug("Testing DoubleBufferTest.wrap(double[], int, int) Buffer"); new WrappedWithOffsetBufferTest().test(h, new BufferFactory() { public Buffer newInstance() { return DoubleBuffer.wrap(new double[20], 10, 10); } }); } } mauve-20140821/gnu/testlet/java/nio/Buffer/ShortBufferTest.java0000644000175000001440000000344210055551055023101 0ustar dokousers// Tags: JDK1.4 // Uses: BufferFactory PlainBufferTest WrappedWithOffsetBufferTest // Copyright (C) 2004 Max Gilead // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.nio.Buffer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.nio.Buffer; import java.nio.ShortBuffer; public class ShortBufferTest implements Testlet { public void test(TestHarness h) { h.debug("Testing ShortBufferTest.allocate(int) Buffer"); new PlainBufferTest().test(h, new BufferFactory() { public Buffer newInstance() { return ShortBuffer.allocate(10); } }); h.debug("Testing ShortBufferTest.wrap(short[]) Buffer"); new PlainBufferTest().test(h, new BufferFactory() { public Buffer newInstance() { return ShortBuffer.wrap(new short[10]); } }); h.debug("Testing ShortBufferTest.wrap(short[], int, int) Buffer"); new WrappedWithOffsetBufferTest().test(h, new BufferFactory() { public Buffer newInstance() { return ShortBuffer.wrap(new short[20], 10, 10); } }); } } mauve-20140821/gnu/testlet/java/nio/Buffer/CharBufferTest.java0000644000175000001440000000342610055551055022661 0ustar dokousers// Tags: JDK1.4 // Uses: BufferFactory PlainBufferTest WrappedWithOffsetBufferTest // Copyright (C) 2004 Max Gilead // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.nio.Buffer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.nio.Buffer; import java.nio.CharBuffer; public class CharBufferTest implements Testlet { public void test(TestHarness h) { h.debug("Testing CharBufferTest.allocate(int) Buffer"); new PlainBufferTest().test(h, new BufferFactory() { public Buffer newInstance() { return CharBuffer.allocate(10); } }); h.debug("Testing CharBufferTest.wrap(char[]) Buffer"); new PlainBufferTest().test(h, new BufferFactory() { public Buffer newInstance() { return CharBuffer.wrap(new char[10]); } }); h.debug("Testing CharBufferTest.wrap(char[], int, int) Buffer"); new WrappedWithOffsetBufferTest().test(h, new BufferFactory() { public Buffer newInstance() { return CharBuffer.wrap(new char[20], 10, 10); } }); } } mauve-20140821/gnu/testlet/java/nio/Buffer/FloatBufferTest.java0000644000175000001440000000344210055551055023047 0ustar dokousers// Tags: JDK1.4 // Uses: BufferFactory PlainBufferTest WrappedWithOffsetBufferTest // Copyright (C) 2004 Max Gilead // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.nio.Buffer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.nio.Buffer; import java.nio.FloatBuffer; public class FloatBufferTest implements Testlet { public void test(TestHarness h) { h.debug("Testing FloatBufferTest.allocate(int) Buffer"); new PlainBufferTest().test(h, new BufferFactory() { public Buffer newInstance() { return FloatBuffer.allocate(10); } }); h.debug("Testing FloatBufferTest.wrap(float[]) Buffer"); new PlainBufferTest().test(h, new BufferFactory() { public Buffer newInstance() { return FloatBuffer.wrap(new float[10]); } }); h.debug("Testing FloatBufferTest.wrap(float[], int, int) Buffer"); new WrappedWithOffsetBufferTest().test(h, new BufferFactory() { public Buffer newInstance() { return FloatBuffer.wrap(new float[20], 10, 10); } }); } } mauve-20140821/gnu/testlet/java/nio/CharBuffer/0000755000175000001440000000000012375316426017750 5ustar dokousersmauve-20140821/gnu/testlet/java/nio/CharBuffer/CharSequenceWrapper.java0000644000175000001440000001040710607513473024521 0ustar dokousers/* CharSequenceWrapper.java -- Tests the CharSequence wrapping CharBuffer Copyright (C) 2007 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.nio.CharBuffer; import java.nio.CharBuffer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * This tests the CharBuffer that wraps a CharSequence. * * @author Roman Kennke (kennke@aicas.com) * */ public class CharSequenceWrapper implements Testlet { public void test(TestHarness harness) { testSlice(harness); testDuplicate(harness); testBasic(harness); } /** * Tests some basic properties of a char sequence wrapping char buffer. * * @param h the test harness */ private void testBasic(TestHarness h) { h.checkPoint("testBasic"); StringBuilder b = new StringBuilder("Hello World"); CharBuffer cb = CharBuffer.wrap(b, 4, 7); try { cb.arrayOffset(); h.fail("testBasic"); } catch (UnsupportedOperationException ex) { h.check(true); } try { cb.array(); h.fail("testBasic"); } catch (UnsupportedOperationException ex) { h.check(true); } h.check(cb.capacity(), b.length()); h.check(cb.hasArray(), false); h.check(cb.hasRemaining(), true); h.check(cb.isDirect(), false); h.check(cb.isReadOnly(), true); h.check(cb.length(), 3); h.check(cb.limit(), 7); h.check(cb.position(), 4); h.check(cb.remaining(), 3); try { cb.compact(); h.fail("testBasic"); } catch (UnsupportedOperationException ex) { h.check(true); } } /** * Tests how slicing affects the wrapped char buffer. * * @param h the test harness */ private void testSlice(TestHarness h) { StringBuilder b = new StringBuilder("Hello World"); CharBuffer cb = CharBuffer.wrap(b); cb.position(4); cb.limit(7); CharBuffer slice = cb.slice(); h.check(slice.capacity(), 3); try { slice.arrayOffset(); h.fail("testSlice"); } catch (UnsupportedOperationException ex) { h.check(true); } h.check(slice.hasArray(), false); try { slice.array(); h.fail("testSlice"); } catch (UnsupportedOperationException ex) { h.check(true); } h.check(slice.isDirect(), false); h.check(slice.isReadOnly(), true); h.check(slice.length(), 3); h.check(slice.limit(), 3); h.check(slice.position(), 0); // This shows a JDK bug.. h.check(slice.get(), 'o'); h.check(slice.get(), ' '); h.check(slice.get(), 'W'); } /** * Tests how duplicating affects the wrapped char buffer. * * @param h the test harness */ private void testDuplicate(TestHarness h) { StringBuilder b = new StringBuilder("Hello World"); CharBuffer cb = CharBuffer.wrap(b); cb.position(4); cb.limit(7); CharBuffer dup = cb.duplicate(); h.check(dup.capacity(), 11); try { dup.arrayOffset(); h.fail("testDuplicate"); } catch (UnsupportedOperationException ex) { h.check(true); } h.check(dup.hasArray(), false); try { dup.array(); h.fail("testSlice"); } catch (UnsupportedOperationException ex) { h.check(true); } h.check(dup.isDirect(), false); h.check(dup.isReadOnly(), true); h.check(dup.length(), 3); h.check(dup.limit(), 7); h.check(dup.position(), 4); h.check(dup.get(), 'o'); h.check(dup.get(), ' '); h.check(dup.get(), 'W'); } } mauve-20140821/gnu/testlet/java/nio/CharBuffer/compact.java0000644000175000001440000000275410164752607022250 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Michael Koch // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.nio.CharBuffer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.nio.*; public class compact implements Testlet { public void test(TestHarness h) { CharBuffer buffer = CharBuffer.allocate(10); buffer.position(0); buffer.limit(3); buffer.compact(); h.check(buffer.position(), 3, "position after compact()"); h.check(buffer.limit(), 10, "limit after compact()"); ByteBuffer bb = ByteBuffer.allocate(200); buffer = bb.asCharBuffer(); buffer.position(0); buffer.limit(3); buffer.compact(); h.check(buffer.position(), 3, "position after compact()"); h.check(buffer.limit(), 100, "limit after compact()"); } } mauve-20140821/gnu/testlet/java/nio/ByteBuffer/0000755000175000001440000000000012375316426017776 5ustar dokousersmauve-20140821/gnu/testlet/java/nio/ByteBuffer/TestAllocateDirect.java0000644000175000001440000000355310465455324024365 0ustar dokousers/* TestAllocateDirect.java -- test direct byte buffer operations. Copyright (C) 2006 Casey Marshall This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.nio.ByteBuffer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.nio.ByteBuffer; /** * Test of various operations work for direct byte buffers. * * @author Casey Marshall (csm@gnu.org) */ public class TestAllocateDirect implements Testlet { /* (non-Javadoc) * @see gnu.testlet.Testlet#test(gnu.testlet.TestHarness) */ public void test(TestHarness harness) { ByteBuffer direct = ByteBuffer.allocateDirect(32); // Test PR 28608. harness.checkPoint("PR 28608"); ByteBuffer duplicate = null; try { duplicate = direct.duplicate(); } catch (Exception x) { harness.debug(x); } harness.check(duplicate != null); // Data should be zeroed out for new buffers. harness.checkPoint("initial data"); boolean result = true; boolean sawData = false; while (direct.hasRemaining()) { result = result && (direct.get() == 0); sawData = true; } harness.check(result && sawData); } } mauve-20140821/gnu/testlet/java/nio/ByteBuffer/GetPut.java0000644000175000001440000004472210163567762022066 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Max Gilead // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.nio.ByteBuffer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.nio.ByteBuffer; import java.nio.ByteOrder; public class GetPut implements Testlet { public void test(TestHarness h) { relativePut(h); relativeGet(h); bulkPut(h); bulkGet(h); bufferPut(h); absolutePut(h); absoluteGet(h); specialValues(h); } private void relativePut(TestHarness h) { ByteBuffer buf = null; byte[] arr = new byte[200]; buf = ByteBuffer.wrap(arr); buf.order(ByteOrder.BIG_ENDIAN). put((byte)1); buf.order(ByteOrder.LITTLE_ENDIAN).put((byte)2); buf.order(ByteOrder.BIG_ENDIAN). putShort((short)3); buf.order(ByteOrder.LITTLE_ENDIAN).putShort((short)4); buf.order(ByteOrder.BIG_ENDIAN). putInt(5); buf.order(ByteOrder.LITTLE_ENDIAN).putInt(6); buf.order(ByteOrder.BIG_ENDIAN). putLong(7); buf.order(ByteOrder.LITTLE_ENDIAN).putLong(8); buf.order(ByteOrder.BIG_ENDIAN). putFloat(9.0f); buf.order(ByteOrder.LITTLE_ENDIAN).putFloat(10.0f); buf.order(ByteOrder.BIG_ENDIAN). putDouble(11.0); buf.order(ByteOrder.LITTLE_ENDIAN).putDouble(12.0); buf.order(ByteOrder.BIG_ENDIAN). putChar('a'); buf.order(ByteOrder.LITTLE_ENDIAN).putChar('b'); buf.order(ByteOrder.BIG_ENDIAN). put((byte)0xf1); buf.order(ByteOrder.LITTLE_ENDIAN).put((byte)0xf2); buf.order(ByteOrder.BIG_ENDIAN). putShort((short)0xfff3); buf.order(ByteOrder.LITTLE_ENDIAN).putShort((short)0xfff4); buf.order(ByteOrder.BIG_ENDIAN). putInt(0xfffffff5); buf.order(ByteOrder.LITTLE_ENDIAN).putInt(0xfffffff6); buf.order(ByteOrder.BIG_ENDIAN). putLong(0xfffffffffffffff7L); buf.order(ByteOrder.LITTLE_ENDIAN).putLong(0xfffffffffffffff8L); buf.order(ByteOrder.BIG_ENDIAN). putFloat(Float.NEGATIVE_INFINITY); buf.order(ByteOrder.LITTLE_ENDIAN).putFloat(Float.NEGATIVE_INFINITY); buf.order(ByteOrder.BIG_ENDIAN). putDouble(Double.NEGATIVE_INFINITY); buf.order(ByteOrder.LITTLE_ENDIAN).putDouble(Double.NEGATIVE_INFINITY); buf.order(ByteOrder.BIG_ENDIAN). putChar('\ufffd'); buf.order(ByteOrder.LITTLE_ENDIAN).putChar('\ufffe'); h.checkPoint("relative put"); checkArray(h, TEST_ARRAY, arr); } private void relativeGet(TestHarness h) { ByteBuffer buf = null; byte[] arr = new byte[200]; for (int i = 0; i < TEST_ARRAY.length; i++) { arr[i] = TEST_ARRAY[i]; } buf = ByteBuffer.wrap(arr); h.checkPoint("relative get"); h.check(buf.order(ByteOrder.BIG_ENDIAN). get(), 1); h.check(buf.order(ByteOrder.LITTLE_ENDIAN).get(), 2); h.check(buf.order(ByteOrder.BIG_ENDIAN). getShort(), 3); h.check(buf.order(ByteOrder.LITTLE_ENDIAN).getShort(), 4); h.check(buf.order(ByteOrder.BIG_ENDIAN). getInt(), 5); h.check(buf.order(ByteOrder.LITTLE_ENDIAN).getInt(), 6); h.check(buf.order(ByteOrder.BIG_ENDIAN). getLong(), 7); h.check(buf.order(ByteOrder.LITTLE_ENDIAN).getLong(), 8); h.check(Float.floatToIntBits(buf.order(ByteOrder.BIG_ENDIAN).getFloat()), Float.floatToIntBits(9.0f)); h.check(Float.floatToIntBits(buf.order(ByteOrder.LITTLE_ENDIAN).getFloat()), Float.floatToIntBits(10.0f)); h.check(Double.doubleToLongBits(buf.order(ByteOrder.BIG_ENDIAN).getDouble()), Double.doubleToLongBits(11.0)); h.check(Double.doubleToLongBits(buf.order(ByteOrder.LITTLE_ENDIAN).getDouble()), Double.doubleToLongBits(12.0)); h.check((int)buf.order(ByteOrder.BIG_ENDIAN). getChar(), (int)'a'); h.check((int)buf.order(ByteOrder.LITTLE_ENDIAN).getChar(), (int)'b'); h.check(buf.order(ByteOrder.BIG_ENDIAN). get(), (byte)0xf1); h.check(buf.order(ByteOrder.LITTLE_ENDIAN).get(), (byte)0xf2); h.check(buf.order(ByteOrder.BIG_ENDIAN). getShort(), (short)0xfff3); h.check(buf.order(ByteOrder.LITTLE_ENDIAN).getShort(), (short)0xfff4); h.check(buf.order(ByteOrder.BIG_ENDIAN). getInt(), 0xfffffff5); h.check(buf.order(ByteOrder.LITTLE_ENDIAN).getInt(), 0xfffffff6); h.check(buf.order(ByteOrder.BIG_ENDIAN). getLong(), 0xfffffffffffffff7L); h.check(buf.order(ByteOrder.LITTLE_ENDIAN).getLong(), 0xfffffffffffffff8L); h.check(Float.floatToIntBits(buf.order(ByteOrder.BIG_ENDIAN).getFloat()), Float.floatToIntBits(Float.NEGATIVE_INFINITY)); h.check(Float.floatToIntBits(buf.order(ByteOrder.LITTLE_ENDIAN).getFloat()), Float.floatToIntBits(Float.NEGATIVE_INFINITY)); h.check(Double.doubleToLongBits(buf.order(ByteOrder.BIG_ENDIAN).getDouble()), Double.doubleToLongBits(Double.NEGATIVE_INFINITY)); h.check(Double.doubleToLongBits(buf.order(ByteOrder.LITTLE_ENDIAN).getDouble()), Double.doubleToLongBits(Double.NEGATIVE_INFINITY)); h.check((int)buf.order(ByteOrder.BIG_ENDIAN). getChar(), (int)'\ufffd'); h.check((int)buf.order(ByteOrder.LITTLE_ENDIAN).getChar(), (int)'\ufffe'); } private void bulkPut(TestHarness h) { ByteBuffer buf = null; byte[] arr = new byte[6]; buf = ByteBuffer.wrap(arr); buf.order(ByteOrder.BIG_ENDIAN); buf.put(new byte[] { 1, 2, 0, 0, 5, 6 }); buf.position(2); buf.order(ByteOrder.LITTLE_ENDIAN); buf.put(new byte[] { 0, 0, 3, 4, 0, 0 }, 2, 2); h.checkPoint("bulk put"); checkArray(h, arr, new byte[] { 1, 2, 3, 4, 5, 6 }); } private void bulkGet(TestHarness h) { ByteBuffer buf = null; byte[] arr = new byte[] { 1, 2, 0, 0, 5, 6, 3, 4 }; buf = ByteBuffer.wrap(arr); byte[] readArr = new byte[6]; buf.order(ByteOrder.BIG_ENDIAN); buf.get(readArr); buf.position(6); buf.order(ByteOrder.LITTLE_ENDIAN); buf.get(readArr, 2, 2); h.checkPoint("bulk get"); checkArray(h, readArr, new byte[] { 1, 2, 3, 4, 5, 6 }); } private void bufferPut(TestHarness h) { ByteBuffer buf = null; byte[] arr = new byte[6]; buf = ByteBuffer.wrap(arr); buf.order(ByteOrder.BIG_ENDIAN); buf.put(ByteBuffer.wrap(new byte[] { 1, 2, 0, 0, 5, 6 })); buf.position(2); buf.order(ByteOrder.LITTLE_ENDIAN); buf.put(ByteBuffer.wrap(new byte[] { 3, 4 })); h.checkPoint("buffer put"); checkArray(h, arr, new byte[] { 1, 2, 3, 4, 5, 6 }); } private void absolutePut(TestHarness h) { ByteBuffer buf = null; byte[] arr = new byte[200]; buf = ByteBuffer.wrap(arr); buf.order(ByteOrder.BIG_ENDIAN); buf.putChar( 54, 'a'); buf.putDouble( 38, 11.0); buf.putFloat( 30, 9.0f); buf.putLong( 14, 7); buf.putInt( 6, 5); buf.putShort( 2, (short)3); buf.put( 0, (byte)1); buf.putChar( 112, '\ufffd'); buf.putDouble( 96, Double.NEGATIVE_INFINITY); buf.putFloat( 88, Float.NEGATIVE_INFINITY); buf.putLong( 72, 0xfffffffffffffff7L); buf.putInt( 64, 0xfffffff5); buf.putShort( 60, (short)0xfff3); buf.put( 58, (byte)0xf1); buf.order(ByteOrder.LITTLE_ENDIAN); buf.put( 1, (byte)2); buf.putShort( 4, (short)4); buf.putInt( 10, 6); buf.putLong( 22, 8); buf.putFloat( 34, 10.0f); buf.putDouble( 46, 12.0); buf.putChar( 56, 'b'); buf.putLong( 80, 0xfffffffffffffff8L); buf.putInt( 68, 0xfffffff6); buf.putShort( 62, (short)0xfff4); buf.put( 59, (byte)0xf2); buf.putFloat( 92, Float.NEGATIVE_INFINITY); buf.putDouble(104, Double.NEGATIVE_INFINITY); buf.putChar( 114, '\ufffe'); h.checkPoint("absolute put"); checkArray(h, TEST_ARRAY, arr); } private void absoluteGet(TestHarness h) { ByteBuffer buf = null; byte[] arr = new byte[200]; for (int i = 0; i < TEST_ARRAY.length; i++) { arr[i] = TEST_ARRAY[i]; } buf = ByteBuffer.wrap(arr); h.checkPoint("absolute get"); buf.order(ByteOrder.BIG_ENDIAN); h.check((int)buf.getChar(54), (int)'a'); h.check(Double.doubleToLongBits(buf.getDouble(38)), Double.doubleToLongBits(11.0)); h.check(Float.floatToIntBits(buf.getFloat(30)), Float.floatToIntBits(9.0f)); h.check(buf.getLong(14), 7); h.check(buf.getInt(6), 5); h.check(buf.getShort(2), 3); h.check(buf.get(0), 1); h.check((int)buf.getChar(112), (int)'\ufffd'); h.check(Double.doubleToLongBits(buf.getDouble(96)), Double.doubleToLongBits(Double.NEGATIVE_INFINITY)); h.check(Float.floatToIntBits(buf.getFloat(88)), Float.floatToIntBits(Float.NEGATIVE_INFINITY)); h.check(buf.getLong(72), 0xfffffffffffffff7L); h.check(buf.getInt(64), 0xfffffff5); h.check(buf.getShort(60),(short)0xfff3); h.check(buf.get(58), (byte)0xf1); buf.order(ByteOrder.LITTLE_ENDIAN); h.check(buf.get(1), 2); h.check(buf.getShort(4), 4); h.check(buf.getInt(10), 6); h.check(buf.getLong(22), 8); h.check(Float.floatToIntBits(buf.getFloat(34)), Float.floatToIntBits(10.0f)); h.check(Double.doubleToLongBits(buf.getDouble(46)), Double.doubleToLongBits(12.0)); h.check((int)buf.getChar(56), (int)'b'); h.check(buf.get(59), (byte)0xf2); h.check(buf.getShort(62),(byte)0xfff4); h.check(buf.getInt(68), 0xfffffff6); h.check(buf.getLong(80), 0xfffffffffffffff8L); h.check(Float.floatToIntBits(buf.getFloat(92)), Float.floatToIntBits(Float.NEGATIVE_INFINITY)); h.check(Double.doubleToLongBits(buf.getDouble(104)), Double.doubleToLongBits(Double.NEGATIVE_INFINITY)); h.check((int)buf.getChar(114), (int)'\ufffe'); } private void specialValues(TestHarness h) { ByteBuffer buf = null; byte[] arr = new byte[200]; buf = ByteBuffer.wrap(arr); h.checkPoint("special values"); buf.order(ByteOrder.BIG_ENDIAN); buf.put(Byte.MIN_VALUE); buf.put(Byte.MAX_VALUE); buf.putShort(Short.MIN_VALUE); buf.putShort(Short.MAX_VALUE); buf.putInt(Integer.MIN_VALUE); buf.putInt(Integer.MAX_VALUE); buf.putLong(Long.MIN_VALUE); buf.putLong(Long.MAX_VALUE); buf.putFloat(Float.MIN_VALUE); buf.putFloat(Float.MAX_VALUE); buf.putFloat(Float.NaN); buf.putFloat(Float.NEGATIVE_INFINITY); buf.putFloat(Float.POSITIVE_INFINITY); buf.putDouble(Double.MIN_VALUE); buf.putDouble(Double.MAX_VALUE); buf.putDouble(Double.NaN); buf.putDouble(Double.NEGATIVE_INFINITY); buf.putDouble(Double.POSITIVE_INFINITY); buf.order(ByteOrder.LITTLE_ENDIAN); buf.put(Byte.MIN_VALUE); buf.put(Byte.MAX_VALUE); buf.putShort(Short.MIN_VALUE); buf.putShort(Short.MAX_VALUE); buf.putInt(Integer.MIN_VALUE); buf.putInt(Integer.MAX_VALUE); buf.putLong(Long.MIN_VALUE); buf.putLong(Long.MAX_VALUE); buf.putFloat(Float.MIN_VALUE); buf.putFloat(Float.MAX_VALUE); buf.putFloat(Float.NaN); buf.putFloat(Float.NEGATIVE_INFINITY); buf.putFloat(Float.POSITIVE_INFINITY); buf.putDouble(Double.MIN_VALUE); buf.putDouble(Double.MAX_VALUE); buf.putDouble(Double.NaN); buf.putDouble(Double.NEGATIVE_INFINITY); buf.putDouble(Double.POSITIVE_INFINITY); buf.rewind(); buf.order(ByteOrder.BIG_ENDIAN); h.check(buf.get(), Byte.MIN_VALUE); h.check(buf.get(), Byte.MAX_VALUE); h.check(buf.getShort(), Short.MIN_VALUE); h.check(buf.getShort(), Short.MAX_VALUE); h.check(buf.getInt(), Integer.MIN_VALUE); h.check(buf.getInt(), Integer.MAX_VALUE); h.check(buf.getLong(), Long.MIN_VALUE); h.check(buf.getLong(), Long.MAX_VALUE); h.check(buf.getFloat(), Float.MIN_VALUE); h.check(buf.getFloat(), Float.MAX_VALUE); h.check(buf.getFloat(), Float.NaN); h.check(buf.getFloat(), Float.NEGATIVE_INFINITY); h.check(buf.getFloat(), Float.POSITIVE_INFINITY); h.check(buf.getDouble(), Double.MIN_VALUE); h.check(buf.getDouble(), Double.MAX_VALUE); h.check(buf.getDouble(), Double.NaN); h.check(buf.getDouble(), Double.NEGATIVE_INFINITY); h.check(buf.getDouble(), Double.POSITIVE_INFINITY); buf.order(ByteOrder.LITTLE_ENDIAN); h.check(buf.get(), Byte.MIN_VALUE); h.check(buf.get(), Byte.MAX_VALUE); h.check(buf.getShort(), Short.MIN_VALUE); h.check(buf.getShort(), Short.MAX_VALUE); h.check(buf.getInt(), Integer.MIN_VALUE); h.check(buf.getInt(), Integer.MAX_VALUE); h.check(buf.getLong(), Long.MIN_VALUE); h.check(buf.getLong(), Long.MAX_VALUE); h.check(buf.getFloat(), Float.MIN_VALUE); h.check(buf.getFloat(), Float.MAX_VALUE); h.check(buf.getFloat(), Float.NaN); h.check(buf.getFloat(), Float.NEGATIVE_INFINITY); h.check(buf.getFloat(), Float.POSITIVE_INFINITY); h.check(buf.getDouble(), Double.MIN_VALUE); h.check(buf.getDouble(), Double.MAX_VALUE); h.check(buf.getDouble(), Double.NaN); h.check(buf.getDouble(), Double.NEGATIVE_INFINITY); h.check(buf.getDouble(), Double.POSITIVE_INFINITY); } private static final byte[] TEST_ARRAY = new byte[116]; static { TEST_ARRAY[ 0] = 1; // (byte)1 TEST_ARRAY[ 1] = 2; // (byte)2 TEST_ARRAY[ 2] = 0; // (short)3 TEST_ARRAY[ 3] = 3; TEST_ARRAY[ 4] = 4; // (short)4 TEST_ARRAY[ 5] = 0; TEST_ARRAY[ 6] = 0; // (int)5 TEST_ARRAY[ 7] = 0; TEST_ARRAY[ 8] = 0; TEST_ARRAY[ 9] = 5; TEST_ARRAY[10] = 6; // (int)6 TEST_ARRAY[11] = 0; TEST_ARRAY[12] = 0; TEST_ARRAY[13] = 0; TEST_ARRAY[14] = 0; // (long)7 TEST_ARRAY[15] = 0; TEST_ARRAY[16] = 0; TEST_ARRAY[17] = 0; TEST_ARRAY[18] = 0; TEST_ARRAY[19] = 0; TEST_ARRAY[20] = 0; TEST_ARRAY[21] = 7; TEST_ARRAY[22] = 8; // (long)8 TEST_ARRAY[23] = 0; TEST_ARRAY[24] = 0; TEST_ARRAY[25] = 0; TEST_ARRAY[26] = 0; TEST_ARRAY[27] = 0; TEST_ARRAY[28] = 0; TEST_ARRAY[29] = 0; int f9 = Float.floatToIntBits(9.0f); TEST_ARRAY[30] = (byte)(f9 >> 24 & 0xff); // (float)9 TEST_ARRAY[31] = (byte)(f9 >> 16 & 0xff); TEST_ARRAY[32] = (byte)(f9 >> 8 & 0xff); TEST_ARRAY[33] = (byte)(f9 & 0xff); int f10 = Float.floatToIntBits(10.0f); TEST_ARRAY[34] = (byte)(f10 & 0xff); // (float)10 TEST_ARRAY[35] = (byte)(f10 >> 8 & 0xff); TEST_ARRAY[36] = (byte)(f10 >> 16 & 0xff); TEST_ARRAY[37] = (byte)(f10 >> 24 & 0xff); long d11 = Double.doubleToLongBits(11.0); TEST_ARRAY[38] = (byte)(d11 >> 56 & 0xff); // (double)11 TEST_ARRAY[39] = (byte)(d11 >> 48 & 0xff); TEST_ARRAY[40] = (byte)(d11 >> 40 & 0xff); TEST_ARRAY[41] = (byte)(d11 >> 32 & 0xff); TEST_ARRAY[42] = (byte)(d11 >> 24 & 0xff); TEST_ARRAY[43] = (byte)(d11 >> 16 & 0xff); TEST_ARRAY[44] = (byte)(d11 >> 8 & 0xff); TEST_ARRAY[45] = (byte)(d11 & 0xff); long d12 = Double.doubleToLongBits(12.0); TEST_ARRAY[46] = (byte)(d12 & 0xff); // (double)12 TEST_ARRAY[47] = (byte)(d12 >> 8 & 0xff); TEST_ARRAY[48] = (byte)(d12 >> 16 & 0xff); TEST_ARRAY[49] = (byte)(d12 >> 24 & 0xff); TEST_ARRAY[50] = (byte)(d12 >> 32 & 0xff); TEST_ARRAY[51] = (byte)(d12 >> 40 & 0xff); TEST_ARRAY[52] = (byte)(d12 >> 48 & 0xff); TEST_ARRAY[53] = (byte)(d12 >> 56 & 0xff); TEST_ARRAY[54] = 0; // 'a' TEST_ARRAY[55] = (byte)'a'; TEST_ARRAY[56] = (byte)'b'; // 'b' TEST_ARRAY[57] = 0; TEST_ARRAY[58] = (byte)0xf1; // (byte)f1 TEST_ARRAY[59] = (byte)0xf2; // (byte)f2 TEST_ARRAY[60] = (byte)0xff; // (short)fff3 TEST_ARRAY[61] = (byte)0xf3; TEST_ARRAY[62] = (byte)0xf4; // (short)fff4 TEST_ARRAY[63] = (byte)0xff; TEST_ARRAY[64] = (byte)0xff; // (int)fffffff5 TEST_ARRAY[65] = (byte)0xff; TEST_ARRAY[66] = (byte)0xff; TEST_ARRAY[67] = (byte)0xf5; TEST_ARRAY[68] = (byte)0xf6; // (int)fffffff6 TEST_ARRAY[69] = (byte)0xff; TEST_ARRAY[70] = (byte)0xff; TEST_ARRAY[71] = (byte)0xff; TEST_ARRAY[72] = (byte)0xff; // (long)fffffffffffffff7 TEST_ARRAY[73] = (byte)0xff; TEST_ARRAY[74] = (byte)0xff; TEST_ARRAY[75] = (byte)0xff; TEST_ARRAY[76] = (byte)0xff; TEST_ARRAY[77] = (byte)0xff; TEST_ARRAY[78] = (byte)0xff; TEST_ARRAY[79] = (byte)0xf7; TEST_ARRAY[80] = (byte)0xf8; // (long)fffffffffffffff8 TEST_ARRAY[81] = (byte)0xff; TEST_ARRAY[82] = (byte)0xff; TEST_ARRAY[83] = (byte)0xff; TEST_ARRAY[84] = (byte)0xff; TEST_ARRAY[85] = (byte)0xff; TEST_ARRAY[86] = (byte)0xff; TEST_ARRAY[87] = (byte)0xff; int fNI = Float.floatToIntBits(Float.NEGATIVE_INFINITY); TEST_ARRAY[88] = (byte)(fNI >> 24 & 0xff); // (float)bits: NEGATIVE_INFINITY 0xff800000 TEST_ARRAY[89] = (byte)(fNI >> 16 & 0x80); TEST_ARRAY[90] = (byte)(fNI >> 8 & 0x00); TEST_ARRAY[91] = (byte)(fNI & 0x00); TEST_ARRAY[92] = (byte)(fNI & 0x00); // (float)bits: NEGATIVE_INFINITY 0xff800000 TEST_ARRAY[93] = (byte)(fNI >> 8 & 0x00); TEST_ARRAY[94] = (byte)(fNI >> 16 & 0x80); TEST_ARRAY[95] = (byte)(fNI >> 24 & 0xff); long dNI = Double.doubleToLongBits(Double.NEGATIVE_INFINITY); TEST_ARRAY[96] = (byte)(dNI >> 56 & 0xff); // (double)bits: NEGATIVE_INFINITY 0xfff0000000000000L TEST_ARRAY[97] = (byte)(dNI >> 48 & 0xf0); TEST_ARRAY[98] = (byte)(dNI >> 40 & 0x00); TEST_ARRAY[99] = (byte)(dNI >> 32 & 0x00); TEST_ARRAY[100] = (byte)(dNI >> 24 & 0x00); TEST_ARRAY[101] = (byte)(dNI >> 16 & 0x00); TEST_ARRAY[102] = (byte)(dNI >> 8 & 0x00); TEST_ARRAY[103] = (byte)(dNI & 0x00); TEST_ARRAY[104] = (byte)(dNI & 0x00); // (double)bits: NEGATIVE_INFINITY 0xfff0000000000000L TEST_ARRAY[105] = (byte)(dNI >> 8 & 0x00); TEST_ARRAY[106] = (byte)(dNI >> 16 & 0x00); TEST_ARRAY[107] = (byte)(dNI >> 24 & 0x00); TEST_ARRAY[108] = (byte)(dNI >> 32 & 0x00); TEST_ARRAY[109] = (byte)(dNI >> 40 & 0x00); TEST_ARRAY[110] = (byte)(dNI >> 48 & 0xf0); TEST_ARRAY[111] = (byte)(dNI >> 56 & 0xff); TEST_ARRAY[112] = (byte)0xff; // \ufffd TEST_ARRAY[113] = (byte)0xfd; TEST_ARRAY[114] = (byte)0xfe; // \ufffe TEST_ARRAY[115] = (byte)0xff; } private void checkArray(TestHarness h, byte[] arr0, byte[] arr1) { for (int i = 0; i < arr0.length; i++) { h.check(arr0[i], arr1[i]); } } } mauve-20140821/gnu/testlet/java/nio/ByteBuffer/putDouble.java0000644000175000001440000000301210134046511022562 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Sven de Marothy // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.nio.ByteBuffer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.nio.ByteBuffer; public class putDouble implements Testlet { private TestHarness h; public void test(TestHarness h) { ByteBuffer b = ByteBuffer.allocate(8); long doubleBits = 0x7ff8000000000007L; double d = Double.longBitsToDouble(doubleBits); System.out.println(Double.isNaN(d)); b.putDouble(d); // Test 1: Check the bit pattern, should match RawLongBits exactly h.check(doubleBits == Double.doubleToRawLongBits(b.getDouble(0))); // Test 2: Try an ordinary number (exactly representable in binary) b.putDouble(0, 1.5); h.check(1.5 == b.getDouble(0)); } } mauve-20140821/gnu/testlet/java/nio/ByteBuffer/direct.java0000644000175000001440000000263310140265242022102 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Michael Koch // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.nio.ByteBuffer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.nio.*; public class direct implements Testlet { public void test(TestHarness h) { ByteBuffer bb; IntBuffer ib; bb = ByteBuffer.allocate(1024); h.check(! bb.isDirect(), "non-direct byte buffer"); ib = bb.asIntBuffer(); h.check(! ib.isDirect(), "int buffer view on non-direct byte buffer"); bb = ByteBuffer.allocateDirect(1024); h.check(bb.isDirect(), "direct byte buffer"); ib = bb.asIntBuffer(); h.check(ib.isDirect(), "int buffer view on direct byte buffer"); } } mauve-20140821/gnu/testlet/java/nio/ByteBuffer/Order.java0000644000175000001440000000300210163567762021713 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Max Gilead // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.nio.ByteBuffer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.nio.ByteBuffer; import java.nio.ByteOrder; public class Order implements Testlet { public void test(TestHarness h) { ByteBuffer buf = ByteBuffer.allocate(4); h.check(buf.order(ByteOrder.BIG_ENDIAN), buf, "buf.order(ByteOrder.BIG_ENDIAN)"); h.check(buf.order(), ByteOrder.BIG_ENDIAN, "order() == ByteOrder.BIG_ENDIAN"); buf.putInt(0x11223344); h.check(buf.order(ByteOrder.LITTLE_ENDIAN), buf, "buf.order(ByteOrder.LITTLE_ENDIAN)"); h.check(buf.order(), ByteOrder.LITTLE_ENDIAN, "order() == ByteOrder.LITTLE_ENDIAN"); buf.rewind(); h.check(buf.getInt(), 0x44332211, "get()"); } } mauve-20140821/gnu/testlet/java/nio/ByteBuffer/compact.java0000644000175000001440000000271110164752607022267 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Michael Koch // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.nio.ByteBuffer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.nio.*; public class compact implements Testlet { public void test(TestHarness h) { ByteBuffer buffer = ByteBuffer.allocate(10); buffer.position(0); buffer.limit(3); buffer.compact(); h.check(buffer.position(), 3, "position after compact()"); h.check(buffer.limit(), 10, "limit after compact()"); buffer = ByteBuffer.allocateDirect(10); buffer.position(0); buffer.limit(3); buffer.compact(); h.check(buffer.position(), 3, "position after compact()"); h.check(buffer.limit(), 10, "limit after compact()"); } } mauve-20140821/gnu/testlet/java/nio/ByteBuffer/ByteBufferFactory.java0000644000175000001440000000166510163567762024242 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 Max Gilead // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.nio.ByteBuffer; import java.nio.ByteBuffer; public interface ByteBufferFactory { ByteBuffer newInstance(); } mauve-20140821/gnu/testlet/java/nio/ByteBuffer/Allocating.java0000644000175000001440000002364710164015746022725 0ustar dokousers// Tags: JDK1.4 // Uses: ByteBufferFactory // Copyright (C) 2004 Max Gilead // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.nio.ByteBuffer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.nio.BufferOverflowException; import java.nio.BufferUnderflowException; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.InvalidMarkException; public class Allocating implements Testlet { public void test(TestHarness h) { // // allocate(int) // h.checkPoint("allocate(int)"); h.check(true); ByteBufferFactory allocateFactory = new ByteBufferFactory() { public ByteBuffer newInstance() { return ByteBuffer.allocate(10); } }; ByteBuffer bufAll = ByteBuffer.allocate(10); h.check(bufAll.isDirect(), false, "isDirect()"); h.check(bufAll.hasArray(), "hasArray()"); h.check(bufAll.arrayOffset(), 0, "arrayOffset()"); h.check(bufAll.array() != null, "array()"); overflow(h, allocateFactory, 10); underflow(h, allocateFactory, 10); compact(h, allocateFactory, 10); // // allocateDirect(int) // h.checkPoint("allocateDirect(int)"); h.check(true); ByteBufferFactory allocateDirectFactory = new ByteBufferFactory() { public ByteBuffer newInstance() { return ByteBuffer.allocateDirect(10); } }; ByteBuffer bufAllDir = ByteBuffer.allocateDirect(10); h.check(bufAllDir.isDirect(), true, "isDirect()"); // it's unspecified if this buffer will have backing array so we test it if there's one if (bufAllDir.hasArray()) { h.check(bufAllDir.arrayOffset(), 0, "arrayOffset()"); h.check(bufAllDir.array() != null, "array()"); } overflow(h, allocateDirectFactory, 10); underflow(h, allocateDirectFactory, 10); compact(h, allocateDirectFactory, 10); // // wrap(byte[]) // h.checkPoint("wrap(byte[])"); h.check(true); ByteBufferFactory wrapFactory = new ByteBufferFactory() { public ByteBuffer newInstance() { return ByteBuffer.wrap(new byte[10]); } }; byte[] arrWrap = new byte[10]; ByteBuffer bufWrap = ByteBuffer.wrap(arrWrap); h.check(bufWrap.isDirect(), false, "isDirect()"); h.check(bufWrap.hasArray(), true, "hasArray()"); h.check(bufWrap.arrayOffset(), 0, "arrayOffset()"); h.check(bufWrap.array(), arrWrap, "array()"); overflow(h, wrapFactory, 10); underflow(h, wrapFactory, 10); compact(h, wrapFactory, 10); // // wrap(byte[], int, int) // h.checkPoint("wrap(byte[], int, int)"); h.check(true); ByteBufferFactory wrapWithOffsetFactory = new ByteBufferFactory() { public ByteBuffer newInstance() { return ByteBuffer.wrap(new byte[20], 5, 10); } }; byte[] arrWrapOff = new byte[10]; ByteBuffer bufWrapOff = ByteBuffer.wrap(arrWrapOff, 1, 1); h.check(bufWrapOff.isDirect(), false, "isDirect()"); h.check(bufWrapOff.hasArray(), true, "hasArray()"); h.check(bufWrapOff.arrayOffset(), 0, "arrayOffset()"); h.check(bufWrapOff.array(), arrWrapOff, "array()"); overflow(h, wrapWithOffsetFactory, 15); underflow(h, wrapWithOffsetFactory, 15); compact(h, wrapWithOffsetFactory, 20); array(h); synchWrappedBufferWithArray(h); } private void overflow(TestHarness h, ByteBufferFactory factory, int limit) { ByteBuffer buf = null; buf = factory.newInstance(); buf.position(limit - 1); buf.put((byte)0x01); try { buf.put((byte)0x01); h.check(false, "byte overflow"); } catch(BufferOverflowException boe) { h.check(true, "byte overflow"); } buf = factory.newInstance(); buf.position(limit - 3); buf.putShort((short)0x0101); try { buf.putShort((short)0x0101); h.check(false, "short overflow"); } catch(BufferOverflowException boe) { h.check(true, "short overflow"); } buf = factory.newInstance(); buf.position(limit - 6); buf.putInt(0x01010101); try { buf.putInt(0x01010101); h.check(false, "int overflow"); } catch(BufferOverflowException boe) { h.check(true, "int overflow"); } buf = factory.newInstance(); buf.position(limit - 9); buf.putLong(0x0101010101010101L); try { buf.putLong(0x0101010101010101L); h.check(false, "long overflow"); } catch(BufferOverflowException boe) { h.check(true, "long overflow"); } buf = factory.newInstance(); buf.position(limit - 6); buf.putFloat(1.0f); try { buf.putFloat(1.0f); h.check(false, "float overflow"); } catch(BufferOverflowException boe) { h.check(true, "float overflow"); } buf = factory.newInstance(); buf.position(limit - 9); buf.putDouble(1.0); try { buf.putDouble(1.0); h.check(false, "double overflow"); } catch(BufferOverflowException boe) { h.check(true, "double overflow"); } buf = factory.newInstance(); buf.position(limit - 3); buf.putChar('\u0101'); try { buf.putChar('\u0101'); h.check(false, "char overflow"); } catch(BufferOverflowException boe) { h.check(true, "char overflow"); } } private void underflow(TestHarness h, ByteBufferFactory factory, int limit) { ByteBuffer buf = null; buf = factory.newInstance(); buf.position(limit - 1); buf.get(); try { buf.get(); h.check(false, "byte underflow"); } catch(BufferUnderflowException boe) { h.check(true, "byte underflow"); } buf = factory.newInstance(); buf.position(limit - 3); buf.getShort(); try { buf.getShort(); h.check(false, "short underflow"); } catch(BufferUnderflowException boe) { h.check(true, "short underflow"); } buf = factory.newInstance(); buf.position(limit - 6); buf.getInt(); try { buf.getInt(); h.check(false, "int underflow"); } catch(BufferUnderflowException boe) { h.check(true, "int underflow"); } buf = factory.newInstance(); buf.position(limit - 9); buf.getLong(); try { buf.getLong(); h.check(false, "long underflow"); } catch(BufferUnderflowException boe) { h.check(true, "long underflow"); } buf = factory.newInstance(); buf.position(limit - 6); buf.getFloat(); try { buf.getFloat(); h.check(false, "float underflow"); } catch(BufferUnderflowException boe) { h.check(true, "float underflow"); } buf = factory.newInstance(); buf.position(limit - 9); buf.getDouble(); try { buf.getDouble(); h.check(false, "double underflow"); } catch(BufferUnderflowException boe) { h.check(true, "double underflow"); } buf = factory.newInstance(); buf.position(limit - 3); buf.getChar(); try { buf.getChar(); h.check(false, "char underflow"); } catch(BufferUnderflowException boe) { h.check(true, "char underflow"); } } private void compact(TestHarness h, ByteBufferFactory factory, int size) { h.checkPoint("compact()"); ByteBuffer buf = null; buf = factory.newInstance(); buf.rewind(); for (int i = 0; i < 10; i++) { buf.put((byte)(i + 1)); } buf.limit(6); buf.position(1); buf.mark(); buf.get(); h.check(buf.compact(), buf, "compact() return value"); h.check(buf.position(), 4, "compact()/position"); h.check(buf.limit(), size, "compact()/limit"); try { buf.reset(); h.check(false, "mark: mark not invalidated"); } catch(InvalidMarkException ime) { h.check(true, "mark: invalidated mark"); } h.checkPoint("compact()/contents"); buf.rewind(); h.check(buf.get(), 3); h.check(buf.get(), 4); h.check(buf.get(), 5); h.check(buf.get(), 6); } private void array(TestHarness h) { byte[] arr = null; ByteBuffer buf = null; h.checkPoint("array"); arr = new byte[] { 1, 2, 3 }; buf = ByteBuffer.wrap(arr); h.check(buf.array(), arr, "array"); } private void synchWrappedBufferWithArray(TestHarness h) { byte[] arr = null; ByteBuffer buf = null; h.checkPoint("synchWrappedBufferWithArray/wrap(byte[])"); arr = new byte[10]; buf = ByteBuffer.wrap(arr); for (int i = 0; i < arr.length; i++) { arr[i] = (byte)(i + 1); } buf.order(ByteOrder.BIG_ENDIAN); h.check(buf.getShort(), (short)0x0102); buf.putShort((short)0x0b0c); buf.order(ByteOrder.LITTLE_ENDIAN); h.check(buf.getShort(), (short)0x0605); buf.putShort((short)0x0d0e); h.check(arr[2], 0x0b); h.check(arr[3], 0x0c); h.check(arr[6], 0x0e); h.check(arr[7], 0x0d); h.checkPoint("synchWrappedBufferWithArray/wrap(byte[], int, int)"); arr = new byte[10]; buf = ByteBuffer.wrap(arr, 2, 8); for (int i = 0; i < arr.length; i++) { arr[i] = (byte)(i + 1); } buf.order(ByteOrder.BIG_ENDIAN); h.check(buf.getShort(), (short)0x0304); buf.putShort((short)0x0b0c); buf.order(ByteOrder.LITTLE_ENDIAN); h.check(buf.getShort(), (short)0x0807); buf.putShort((short)0x0d0e); h.check(arr[4], 0x0b); h.check(arr[5], 0x0c); h.check(arr[8], 0x0e); h.check(arr[9], 0x0d); } } mauve-20140821/gnu/testlet/java/nio/FloatBuffer/0000755000175000001440000000000012375316426020140 5ustar dokousersmauve-20140821/gnu/testlet/java/nio/FloatBuffer/compareTo.java0000644000175000001440000000231610345212466022730 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 Red Hat, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.nio.FloatBuffer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.nio.*; public class compareTo implements Testlet { public void test(TestHarness h) { float farray[] = new float[1]; farray[0] = Float.NaN; FloatBuffer fb1 = FloatBuffer.wrap(farray); FloatBuffer fb2 = FloatBuffer.wrap(farray); h.check(fb1.compareTo(fb2), 0, "float buffer compare with NaN entry"); } } mauve-20140821/gnu/testlet/java/nio/FloatBuffer/compact.java0000644000175000001440000000275710164752607022443 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Michael Koch // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.nio.FloatBuffer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.nio.*; public class compact implements Testlet { public void test(TestHarness h) { FloatBuffer buffer = FloatBuffer.allocate(10); buffer.position(0); buffer.limit(3); buffer.compact(); h.check(buffer.position(), 3, "position after compact()"); h.check(buffer.limit(), 10, "limit after compact()"); ByteBuffer bb = ByteBuffer.allocate(200); buffer = bb.asFloatBuffer(); buffer.position(0); buffer.limit(3); buffer.compact(); h.check(buffer.position(), 3, "position after compact()"); h.check(buffer.limit(), 50, "limit after compact()"); } } mauve-20140821/gnu/testlet/java/nio/channels/0000755000175000001440000000000012375316426017534 5ustar dokousersmauve-20140821/gnu/testlet/java/nio/channels/SocketChannel/0000755000175000001440000000000012375316426022255 5ustar dokousersmauve-20140821/gnu/testlet/java/nio/channels/SocketChannel/select.java0000644000175000001440000000676410415710510024375 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 Free Software Foundation, Inc. // Written by Guilhem Lavaux (guilhem@kaffe.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.nio.channels.SocketChannel; import java.net.*; import java.util.Set; import java.nio.*; import java.nio.channels.*; import java.io.OutputStream; import java.io.InputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class select implements Testlet { static final int testPort = 3487; public void test (TestHarness harness) { final Thread parentThread = Thread.currentThread(); Thread t = new Thread() { public void run() { try { Thread.sleep(10000); parentThread.interrupt(); } catch (InterruptedException e) { } } }; t.start(); try { ServerSocketChannel ssc = ServerSocketChannel.open(); Selector sel = Selector.open(); ssc.socket().bind(new InetSocketAddress(testPort)); SelectionKey ssc_key; ssc.configureBlocking(true); try { ssc_key = ssc.register(sel, SelectionKey.OP_ACCEPT, null); harness.fail("Channel must be in blocking mode for being able to register"); } catch (IllegalBlockingModeException e) { harness.check(true); } ssc.configureBlocking(false); ssc_key = ssc.register(sel, SelectionKey.OP_ACCEPT, null); Thread client_thread = new Thread() { public void run() { try { Socket s = new Socket(InetAddress.getLocalHost(), testPort); OutputStream o = s.getOutputStream(); InputStream i = s.getInputStream(); int val; o.write(12345678); val = i.read(); } catch (Exception _) { } } }; client_thread.start(); if (sel.select(1000) == 0) { harness.fail("Select on accept has failed"); return; } else harness.check(true); Set keys = sel.selectedKeys(); if (!keys.contains(ssc_key)) { harness.fail("The set does not contain the expected key"); return; } else harness.check(true); SocketChannel sc = ssc.accept(); sc.configureBlocking(false); SelectionKey sk = sc.register(sel, SelectionKey.OP_READ, null); ByteBuffer bb = ByteBuffer.allocate(1); if (sel.select(1000) == 0) { harness.fail("Select on read has failed"); return; } else harness.check(true); sc.read(bb); if (sel.select(100) != 0) { harness.fail("Select on timed out read failed"); return; } else harness.check(true); sk.interestOps(SelectionKey.OP_WRITE); if (sel.select(1000) == 0) { harness.fail("Select on write has failed"); return; } else harness.check(true); bb.flip(); sc.write(bb); sc.close(); ssc.close(); } catch (Exception e) { harness.fail("Unexpected exception " + e); harness.debug(e); } t.interrupt(); } } mauve-20140821/gnu/testlet/java/nio/channels/FileChannel/0000755000175000001440000000000012375316426021704 5ustar dokousersmauve-20140821/gnu/testlet/java/nio/channels/FileChannel/map.java0000644000175000001440000000570711642622027023326 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 Jeroen Frijters // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.nio.channels.FileChannel; import java.io.*; import java.nio.*; import java.nio.channels.*; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class map implements Testlet { private static final byte[] msg = "Hello, World!".getBytes(); public void test(TestHarness harness) { String filename = null; try { filename = harness.getTempDirectory() + File.separator + "mauvemap.txt"; FileOutputStream fos = new FileOutputStream(filename); FileChannel chan = fos.getChannel(); try { chan.map(FileChannel.MapMode.READ_WRITE, 0, msg.length); harness.check(false); } catch(NonReadableChannelException x) { harness.check(true); } fos.close(); RandomAccessFile ras = new RandomAccessFile(filename, "rw"); chan = ras.getChannel(); MappedByteBuffer mbb = chan.map(FileChannel.MapMode.READ_WRITE, 0, msg.length); mbb.put(msg); mbb.force(); verifyContent(harness, filename); MappedByteBuffer mbb2 = chan.map(FileChannel.MapMode.PRIVATE, 0, msg.length); mbb2.put(new byte[msg.length]); boolean ok = true; for (int i = 0; i < msg.length; i++) ok &= mbb2.get(i) == 0; harness.check(ok); mbb.force(); ras.close(); verifyContent(harness, filename); } catch(Exception x) { harness.debug(x); harness.check(false); } finally { // delete the work file and check if deletion were successfull if (filename != null) { harness.check(new File(filename).delete()); } } } private void verifyContent(TestHarness harness, String filename) throws IOException { FileInputStream fis = new FileInputStream(filename); FileChannel chan = fis.getChannel(); MappedByteBuffer mbb = chan.map(FileChannel.MapMode.READ_ONLY, 0, msg.length); byte[] buf = new byte[msg.length]; mbb.get(buf); boolean ok = true; for (int i = 0; i < msg.length; i++) ok &= msg[i] == buf[i]; harness.check(ok); fis.close(); } } mauve-20140821/gnu/testlet/java/nio/channels/FileChannel/multibufferIO.java0000644000175000001440000000225410415710510025307 0ustar dokousers/* mulitbufferIO.java -- Scatter/Gather IO on files Copyright (C) 2006 Michael Barker This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK14 package gnu.testlet.java.nio.channels.FileChannel; import gnu.testlet.Testlet; import java.nio.ByteBuffer; /** * @author mike */ public class multibufferIO extends multidirectbufferIO implements Testlet { private void initBuffer(ByteBuffer[] bs, byte[] data) { for (int i = 0; i < bs.length; i++) { bs[i] = ByteBuffer.wrap(data); } } } mauve-20140821/gnu/testlet/java/nio/channels/FileChannel/truncate.java0000644000175000001440000000477010044677373024406 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.nio.channels.FileChannel; import java.io.*; import java.nio.*; import java.nio.channels.*; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class truncate implements Testlet { public void test (TestHarness harness) { String tmpfile = harness.getTempDirectory() + File.separator + "mauve-trunc.tst"; File f = new File(tmpfile); f.delete(); try { RandomAccessFile raf = new RandomAccessFile(f, "rw"); FileChannel fc = raf.getChannel(); harness.check(fc.size(), 0); harness.check(fc.position(), 0); ByteBuffer bb; bb = ByteBuffer.wrap(new byte[] {1, 2, 3, 4, 5, 6, 7, 8}); harness.check(fc.write(bb), 8); harness.check(fc.size(), 8); harness.check(fc.position(), 8); // Truncate fc.truncate(3); harness.check(fc.size(), 3); harness.check(fc.position(), 3); // End of file harness.check(fc.read(ByteBuffer.allocate(1)), -1); harness.check(3, fc.size()); // Expand with write bb = ByteBuffer.allocate(1); bb.put((byte) 10); bb.flip(); harness.check(fc.write(bb), 1); harness.check(fc.size(), 4); harness.check(fc.position(), 4); // Expand with truncate (shouldn't work) fc.truncate(10); harness.check(fc.size(), 4); harness.check(fc.position(), 4); // Set position and truncate just after (end of file) fc.position(3); fc.truncate(4); harness.check(fc.size(), 4); harness.check(fc.position(), 3); // Truncate before file position and file end fc.truncate(1); harness.check(fc.size(), 1); harness.check(fc.position(), 1); } catch(IOException ioe) { harness.fail("Unexpected: " + ioe); harness.debug(ioe); } finally { // Cleanup f.delete(); } } } mauve-20140821/gnu/testlet/java/nio/channels/FileChannel/multidirectbufferIO.java0000644000175000001440000001007312020145513026477 0ustar dokousers/* mulitdirectbufferIO.java -- Scatter/Gather IO using direct buffers Copyright (C) 2006 Michael Barker Updated for OpenJDK7 Pavel Tisnovsky This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK14 package gnu.testlet.java.nio.channels.FileChannel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; import java.util.Arrays; /** * @author mike */ public class multidirectbufferIO implements Testlet { private void initBuffer(ByteBuffer[] bs, byte[] data) { for (int i = 0; i < bs.length; i++) { bs[i] = ByteBuffer.allocateDirect(data.length); bs[i].put(data); bs[i].flip(); } } /* * (non-Javadoc) * * @see gnu.testlet.Testlet#test(gnu.testlet.TestHarness) */ public void test(TestHarness harness) { final int BUF_LEN = 17; final int MAX_BUFFERS = 16; byte[] data = "qwertyuiopasdfghjklzxcvbnm".getBytes(); ByteBuffer[] out = new ByteBuffer[BUF_LEN]; ByteBuffer[] in = new ByteBuffer[BUF_LEN]; initBuffer(out, data); initBuffer(in, new byte[data.length]); String tmpfile = harness.getTempDirectory() + File.separator + "mauve-multibuffer.tmp"; try { File f = new File(tmpfile); f.createNewFile(); FileChannel fcOut = new FileOutputStream(f).getChannel(); long numWritten = fcOut.write(out); fcOut.close(); /* The SUN JDK limits the number of buffers to 16 */ /* This has been fixed in OpenJDK 7u8 */ harness.check(numWritten, conformToJDK17_u8() ? (BUF_LEN * data.length) : (MAX_BUFFERS * data.length)); for (int i = 0; i < MAX_BUFFERS; i++) { harness.check(out[i].position() == out[i].limit(), "Position - Limit mismatch"); } FileChannel fcIn = new FileInputStream(f).getChannel(); long numRead = fcIn.read(in); /* The SUN JDK limits the number of buffers to 16 */ /* This has been fixed in OpenJDK 7u8 */ harness.check(numRead, conformToJDK17_u8() ? (BUF_LEN * data.length) : (MAX_BUFFERS * data.length)); for (int i = 0; i < MAX_BUFFERS; i++) { byte[] dIn = new byte[data.length]; byte[] dOut = new byte[data.length]; in[i].flip(); out[i].flip(); in[i].get(dIn); out[i].get(dOut); harness.check(Arrays.equals(dIn, dOut)); } f.delete(); } catch (IOException e) { harness.fail("Unexpected exception: " + e); } } /** * Returns true if tested JRE conformns to JDK 1.7 update 8 or higher. * @author: Pavel Tisnovsky */ private static boolean conformToJDK17_u8() { String[] javaVersion = System.getProperty("java.version").split("\\."); String vendorID = System.getProperty("java.vendor"); // test of OpenJDK if ("Sun Microsystems Inc.".equals(vendorID) || "Oracle Corporation".equals(vendorID) ) { int version = Integer.parseInt(javaVersion[1]); if (version > 7) { return true; } if (version == 7) { String[] splitstr = javaVersion[2].split("_"); int update = Integer.parseInt(splitstr[1]); return update >= 8; } } return false; } } mauve-20140821/gnu/testlet/java/nio/channels/FileChannel/offsetSingleBuffer.java0000644000175000001440000000631210416221563026322 0ustar dokousers/* offsetSingleBuffer.java -- Test writing offset from a single buffer Copyright (C) 2006 Michael Barker This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK14 package gnu.testlet.java.nio.channels.FileChannel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; import java.util.Arrays; /** * @author mike * */ public class offsetSingleBuffer implements Testlet { /* (non-Javadoc) * @see gnu.testlet.Testlet#test(gnu.testlet.TestHarness) */ public void test(TestHarness harness) { try { byte[] data = "qwertyuiopasdfghjklzxcvbnm".getBytes("UTF-8"); ByteBuffer out = ByteBuffer.allocate(50); out.put(data); out.flip(); out.position(5); ByteBuffer in = ByteBuffer.allocate(50); String tmpfile = harness.getTempDirectory() + File.separator + "mauve-offset-single-buffer.tmp"; File f = new File(tmpfile); FileOutputStream fOut = new FileOutputStream(f); FileChannel fc = fOut.getChannel(); int numBytes = fc.write(out); harness.check(numBytes, data.length - 5, "Number of bytes written"); fc.close(); harness.check(f.length(), data.length - 5, "Resulting File size"); in.position(5); FileInputStream fIn = new FileInputStream(f); FileChannel fcIn = fIn.getChannel(); int numRead = fcIn.read(in); harness.check(numRead, data.length - 5, "Number of bytes read"); harness.check(in.position(), data.length, "Buffer position"); in.flip(); byte[] oldData = new byte[data.length - 5]; System.arraycopy(data, 5, oldData, 0, 21); byte[] newData = new byte[data.length - 5]; in.position(5); in.get(newData); harness.check(Arrays.equals(oldData, newData), "File content"); fcIn.close(); f.delete(); } catch (UnsupportedEncodingException e1) { harness.fail("Unsupported Encoding"); } catch (SecurityException e) { harness.fail("Unexpected exception: " + e); } catch (FileNotFoundException e) { harness.fail("Unexpected exception: " + e); } catch (IOException e) { harness.fail("Unexpected exception: " + e); } } } mauve-20140821/gnu/testlet/java/nio/channels/FileChannel/manyopen.java0000644000175000001440000000411710075776423024402 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.nio.channels.FileChannel; import java.io.*; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Naive test for opening (but never closing) a large number of * FileChannels. */ public class manyopen implements Testlet { private final int MANY = 1024; public void test (TestHarness harness) { Runtime runtime = Runtime.getRuntime(); String tmpfile = harness.getTempDirectory() + File.separator + "mauve-many."; int i = 0; try { for (i = 0; i < MANY; i++) { File f = new File(tmpfile + i + ".in"); f.createNewFile(); FileInputStream fis = new FileInputStream(f); f = new File(tmpfile + i + ".out"); FileOutputStream fos = new FileOutputStream(f); f = new File(tmpfile + i + ".raf"); RandomAccessFile raf = new RandomAccessFile(f, "rw"); } harness.check(true); } catch(IOException ioe) { harness.fail("Unexpected exception at nr " + i + ": " + ioe); harness.debug(ioe); } finally { // Cleanup for (i = 0; i < MANY; i++) { File f = new File(tmpfile + i + ".in"); f.delete(); f = new File(tmpfile + i + ".out"); f.delete(); f = new File(tmpfile + i + ".raf"); f.delete(); } } } } mauve-20140821/gnu/testlet/java/nio/channels/FileChannel/offsetSingleDirectBuffer.java0000644000175000001440000000635210416221563027461 0ustar dokousers/* offsetSingleBuffer.java -- Test writing offset from a single direct buffer Copyright (C) 2006 Michael Barker This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK14 package gnu.testlet.java.nio.channels.FileChannel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; import java.util.Arrays; /** * @author mike * */ public class offsetSingleDirectBuffer implements Testlet { /* (non-Javadoc) * @see gnu.testlet.Testlet#test(gnu.testlet.TestHarness) */ public void test(TestHarness harness) { try { byte[] data = "qwertyuiopasdfghjklzxcvbnm".getBytes("UTF-8"); ByteBuffer out = ByteBuffer.allocateDirect(50); out.put(data); out.flip(); out.position(5); ByteBuffer in = ByteBuffer.allocateDirect(50); String tmpfile = harness.getTempDirectory() + File.separator + "mauve-offset-single-direct-buffer.tmp"; File f = new File(tmpfile); FileOutputStream fOut = new FileOutputStream(f); FileChannel fc = fOut.getChannel(); int numBytes = fc.write(out); harness.check(numBytes, data.length - 5, "Number of bytes written"); fc.close(); harness.check(f.length(), data.length - 5, "Resulting File size"); in.position(5); FileInputStream fIn = new FileInputStream(f); FileChannel fcIn = fIn.getChannel(); int numRead = fcIn.read(in); harness.check(numRead, data.length - 5, "Number of bytes read"); harness.check(in.position(), data.length, "Buffer position"); byte[] oldData = new byte[data.length - 5]; System.arraycopy(data, 5, oldData, 0, 21); byte[] newData = new byte[data.length - 5]; in.flip(); in.position(5); in.get(newData); harness.check(Arrays.equals(newData, oldData), "File content"); fcIn.close(); f.delete(); } catch (UnsupportedEncodingException e1) { harness.fail("Unsupported Encoding"); } catch (SecurityException e) { harness.fail("Unexpected exception: " + e); } catch (FileNotFoundException e) { harness.fail("Unexpected exception: " + e); } catch (IOException e) { harness.fail("Unexpected exception: " + e); } } } mauve-20140821/gnu/testlet/java/nio/channels/FileChannel/singlebufferIO.java0000644000175000001440000000476311642622027025455 0ustar dokousers/* singlebufferIO.java -- FileChannel test using a single buffer Copyright (C) 2006 Michael Barker This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK14 package gnu.testlet.java.nio.channels.FileChannel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; import java.util.Arrays; /** * @author mike */ public class singlebufferIO implements Testlet { /* * (non-Javadoc) * * @see gnu.testlet.Testlet#test(gnu.testlet.TestHarness) */ public void test(TestHarness harness) { byte[] data = "qwertyuiopasdfghjklzxcvbnm".getBytes(); ByteBuffer out = ByteBuffer.wrap(data); ByteBuffer in = ByteBuffer.wrap(new byte[data.length]); String tmpfile = harness.getTempDirectory() + File.separator + "mauve-singlebuffer.tmp"; try { File f = new File(tmpfile); f.createNewFile(); FileChannel fcOut = new FileOutputStream(f).getChannel(); fcOut.write(out); fcOut.close(); harness.check(out.position() == out.limit(), "Position - Limit mismatch"); FileChannel fcIn = new FileInputStream(f).getChannel(); fcIn.read(in); System.out.println("Position: " + in.position() + ", Limit: " + in.limit()); System.out.println("Position: " + out.position() + ", Limit: " + out.limit()); harness.check(Arrays.equals(out.array(), in.array())); } catch (IOException e) { harness.fail("Unexpected exception: " + e); } finally { // delete the work file and check if deletion were successfull if (tmpfile != null) { new File(tmpfile).delete(); } } } } mauve-20140821/gnu/testlet/java/nio/channels/FileChannel/copyIO.java0000644000175000001440000000653610177260145023755 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 Free Software Foundation, Inc. // Written by Ito Kazumitsu (kaz@maczuka.gcd.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.nio.channels.FileChannel; import java.io.*; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Naive test for reading from and writing to FileChannels. */ public class copyIO implements Testlet { private static final byte[] source = "abcdefghijklmnopqrstuvwxyz".getBytes(); private static final int BUFSIZE = 10; public void test (TestHarness harness) { File tmpf1 = null; File tmpf2 = null; try { byte[] source = "abcdefghijklmnopqrstuvwxyz".getBytes(); String tmpfile = harness.getTempDirectory() + File.separator + "mauve-copyIO."; tmpf1 = new File(tmpfile + "TEST1"); tmpf2 = new File(tmpfile + "TEST2"); FileOutputStream fos = new FileOutputStream(tmpf1); fos.write(source); fos.close(); FileInputStream tmpin = new FileInputStream(tmpf1); FileOutputStream tmpout = new FileOutputStream(tmpf2); FileChannel in = tmpin.getChannel(); FileChannel out = tmpout.getChannel(); copyIO(BUFSIZE, in, out); tmpin.close(); tmpout.close(); FileInputStream fis = new FileInputStream(tmpf2); byte[] result = new byte[source.length + 1]; int l = fis.read(result, 0, result.length); if (l == source.length) { harness.check(new String(source).equals(new String(result,0, l))); } else { if (l >= 0) { harness.fail("Unexpected result: source=" + new String(source) + ", result=" + new String(result,0, l)); } else { harness.fail("Unexpected EOF"); } } } catch (Exception e) { harness.fail("Unexpected exception: " + e); harness.debug(e); } finally { if (tmpf1 != null) tmpf1.delete(); if (tmpf2 != null) tmpf2.delete(); } } private static void copyIO(int bufsize, FileChannel in, FileChannel out) throws IOException { ByteBuffer buffer = ByteBuffer.allocate(bufsize); boolean eof = false; while (!eof) { buffer.clear(); int pos = buffer.position(); int limit = buffer.limit(); // Check whether the position is moved forward for (int i = pos + 1; i <= limit; i++) { buffer.limit(i); int l = in.read(buffer); if (l < 0) { eof = true; break; } } buffer.flip(); pos = buffer.position(); limit = buffer.limit(); // Check whether the position is moved forward for (int i = pos + 1; i <= limit; i++) { buffer.limit(i); out.write(buffer); } } } } mauve-20140821/gnu/testlet/java/nio/channels/FileChannel/lock.java0000644000175000001440000002703210273365015023474 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 Mark J. Wielaard // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.nio.channels.FileChannel; import java.io.*; import java.nio.*; import java.nio.channels.*; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Tests FileChannel lock(), tryLock() and FileLock methods. We test * shared locking (which is optional for read only channels, so will * fail when not supported). */ public class lock implements Testlet, Runnable { DataInputStream dis; DataOutputStream dos; BufferedReader br; TestHarness harness; public void test(TestHarness harness) { this.harness = harness; String filename = harness.getTempDirectory() + File.separator + "mauvelock"; File file = new File(filename); FileOutputStream fos = null; FileInputStream fis = null; RandomAccessFile raf = null; FileChannel channel; try { // Setup. Remove and recreate test file // Fill the file with some stuff 5Mb in total // Start another runtime the check that locks actually work. file.delete(); file.createNewFile(); fos = new FileOutputStream(file); byte[] bs = new byte[256]; for (int i = 0; i < 256; i++) bs[i] = (byte) i; for (int i = 0; i < 4 * 5; i++) fos.write(bs); fos.close(); fos = null; } catch (IOException ioe) { // If we cannot even create the file just die harness.check(false, ioe.toString()); harness.debug(ioe); return; } Process p = null; try { String execvm = System.getProperty("mauve.vmexec"); if (execvm == null || execvm.equals("")) harness.check(false, "mauve.vmexec system property NOT SET!"); else { String cmd = execvm + " " + this.getClass().getName(); p = Runtime.getRuntime().exec(cmd); dis = new DataInputStream(p.getInputStream()); dos = new DataOutputStream(p.getOutputStream()); br = new BufferedReader(new InputStreamReader(p.getErrorStream())); // Drain error stream Thread t = new Thread(this); t.setDaemon(true); t.start(); dos.writeUTF(filename); dos.flush(); // Read OK message to make sure other process is ready. harness.debug(dis.readUTF()); } } catch (IOException ioe) { // Not much will work now... p = null; harness.check(false, ioe.toString()); harness.debug(ioe); } try { fos = new FileOutputStream(file); channel = fos.getChannel(); testChannelLock("FileOutputStream", channel, false, true); fos.close(); fos = null; fis = new FileInputStream(file); channel = fis.getChannel(); testChannelLock("FileInputStream", channel, true, false); fis.close(); fis = null; raf = new RandomAccessFile(file, "r"); channel = raf.getChannel(); testChannelLock("RandomAccessFile(r)", channel, true, false); raf.close(); raf = null; raf = new RandomAccessFile(file, "rw"); channel = raf.getChannel(); testChannelLock("RandomAccessFile(rw)", channel, true, true); raf.close(); raf = null; } catch (IOException ioe) { // Deep trouble... harness.debug(ioe); harness.check(false, ioe.toString()); } finally { // Cleanup, close everything and remove test file. if (fos != null) { try { fos.close(); } catch (IOException ioe) { harness.debug(ioe); } } if (fis != null) { try { fis.close(); } catch (IOException ioe) { harness.debug(ioe); } } if (raf != null) { try { raf.close(); } catch (IOException ioe) { harness.debug(ioe); } } try { if (p != null) { dos.writeUTF("quit"); dos.flush(); p.destroy(); p.waitFor(); } } catch (IOException ioe) { harness.debug(ioe); } catch (InterruptedException ie) { harness.debug(ie); } harness.check(file.delete(), "cleanup " + file); } } private void testChannelLock(String what, FileChannel channel, boolean read, boolean write) { FileLock lock = null; try { harness.checkPoint(what + " lock()"); boolean illegal; try { lock = channel.lock(); illegal = false; } catch (NonWritableChannelException nrca) { illegal = true; } harness.check(illegal, !write); harness.check(illegal || lock != null); if (lock != null) { try { testLock(what, channel, lock, 0, Long.MAX_VALUE, false); } finally { lock.release(); harness.check(lock.isValid(), false); lock = null; } } harness.checkPoint(what + " tryLock()"); try { lock = channel.tryLock(); illegal = false; } catch (NonWritableChannelException nwce) { illegal = true; } harness.check(illegal, !write); harness.check(illegal || lock != null); if (lock != null) { try { testLock(what, channel, lock, 0, Long.MAX_VALUE, false); } finally { lock.release(); harness.check(lock.isValid(), false); lock = null; } } harness.checkPoint(what + " lock(129, 2050, false)"); try { lock = channel.lock(129, 2050, false); illegal = false; } catch (NonWritableChannelException nwce) { illegal = true; } harness.check(illegal, !write); harness.check(illegal || lock != null); if (lock != null) { try { testLock(what, channel, lock, 129, 2050, false); } finally { lock.release(); harness.check(lock.isValid(), false); lock = null; } } harness.checkPoint(what + " tryLock(129, 2050, false)"); try { lock = channel.tryLock(129, 2050, false); illegal = false; } catch (NonWritableChannelException nwce) { illegal = true; } harness.check(illegal, !write); harness.check(illegal || lock != null); if (lock != null) { try { testLock(what, channel, lock, 129, 2050, false); } finally { lock.release(); harness.check(lock.isValid(), false); lock = null; } } harness.checkPoint(what + " lock(129, 2050, true)"); try { lock = channel.lock(129, 2050, true); illegal = false; } catch (NonReadableChannelException nrce) { illegal = true; } harness.check(illegal, !read); harness.check(illegal || lock != null); if (lock != null) { try { testLock(what, channel, lock, 129, 2050, true); } finally { lock.release(); harness.check(lock.isValid(), false); lock = null; } } harness.checkPoint(what + " tryLock(129, 2050, true)"); try { lock = channel.tryLock(129, 2050, true); illegal = false; } catch (NonReadableChannelException nrce) { illegal = true; } harness.check(illegal, !read); harness.check(illegal || lock != null); if (lock != null) { try { testLock(what, channel, lock, 129, 2050, true); } finally { lock.release(); harness.check(lock.isValid(), false); lock = null; } } } catch(IOException ioe) { harness.debug(ioe); harness.check(false); } } private void testLock(String what, FileChannel channel, FileLock lock, long position, long size, boolean shared) throws IOException { harness.checkPoint(what + ": " + lock); harness.check(lock.channel(), channel); harness.check(lock.position(), position); harness.check(lock.size(), size); harness.check(lock.isShared(), shared); harness.check(lock.isValid(), true); harness.check(lock.overlaps(0, Long.MAX_VALUE), true); harness.check(lock.overlaps(position, size), true); if (position < Long.MAX_VALUE) harness.check(lock.overlaps(0, position + 1), true); if (position > 0) { harness.check(lock.overlaps(0, 1), false); harness.check(lock.overlaps(0, position - 1), false); } if (size < Long.MAX_VALUE && position > 0) harness.check(lock.overlaps(position - 1, size + 1), true); if (size > 1) harness.check(lock.overlaps(position, size - 1), true); // Let the other process try to lock some things. if (dos != null) { dos.writeUTF("lock"); harness.debug("Sending: " + position + ", " + size + " (" + shared + ")"); harness.debug("lock: " + lock); dos.writeLong(position); dos.writeLong(size); dos.writeBoolean(shared); dos.flush(); harness.debug("EXTERNAL: " + dis.readUTF()); harness.check(dis.readBoolean(), what + " external " + lock); } } public void run() { // Drain error stream from external process. // Null input (EOFException) will stop loop. try { String line = br.readLine(); while (line != null) { harness.debug(" ex: " + line); line = br.readLine(); } } catch(IOException ioe) { } } public static void main(String[] args) throws Exception { DataInputStream dis = new DataInputStream(System.in); DataOutputStream dos = new DataOutputStream(System.out); String file = dis.readUTF(); RandomAccessFile raf = new RandomAccessFile(file, "rw"); FileChannel channel = raf.getChannel(); // Let the other process know we are ready. dos.writeUTF("Opened file: " + file); dos.flush(); try { String command = dis.readUTF(); while (command != null && !command.equals("quit")) { long position = dis.readLong(); long size = dis.readLong(); boolean shared = dis.readBoolean(); // This will be printed by the main process with harness.debug() System.err.println("Recv: " + position + ", " + size + " (" + shared + ")"); String what = "lock[" + position + "," + size + "," + shared + "]"; String message = "X"; boolean result = true; // Try to get the same (and exclusive) lock // This should always fail. FileLock lock = null; try { lock = channel.tryLock(position, size, false); if (lock != null) { result = false; message = "Got lock: " + lock; } } finally { // Clean up anyway try { lock.release(); lock = null; } catch(Throwable t) { } } // If we couldn't get an exclusive lock and the lock is shared, // we should be able to get a shared lock if (result && shared) { try { lock = channel.tryLock(position, size, true); if (lock == null) { result = false; message = "Couldn't get shared lock"; } } finally { // Clean up try { lock.release(); lock = null; } catch(Throwable t) { } } } if (result) dos.writeUTF("OK: " + what); else dos.writeUTF("Failed: " + what + ": " + message); dos.writeBoolean(result); dos.flush(); command = dis.readUTF(); } } catch (Throwable t) { // Urgh dos.writeUTF("External error: " + t.toString()); t.printStackTrace(); System.err.flush(); } } } mauve-20140821/gnu/testlet/java/nio/channels/ServerSocketChannel/0000755000175000001440000000000012375316426023444 5ustar dokousersmauve-20140821/gnu/testlet/java/nio/channels/Channels/0000755000175000001440000000000012375316426021267 5ustar dokousersmauve-20140821/gnu/testlet/java/nio/channels/Channels/ChannelsTest.java0000644000175000001440000000435410171172715024524 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Michael Koch // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.nio.channels.Channels; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; import java.nio.*; import java.nio.channels.*; public class ChannelsTest implements Testlet { class ByteArrayChannel implements ReadableByteChannel, WritableByteChannel { public ByteArrayChannel() { } public boolean isOpen() { return true; } public void close() throws IOException { } public int read(ByteBuffer dst) throws IOException { return 0; } public int write(ByteBuffer src) throws IOException { return 0; } } public void test(TestHarness h) { String tmpfile = h.getTempDirectory() + File.separator + "mauve-channels.tst"; File f = new File(tmpfile); try { RandomAccessFile raf = new RandomAccessFile(f, "rw"); FileChannel fch = raf.getChannel(); ByteArrayChannel bac = new ByteArrayChannel(); h.checkPoint("newInputStream"); InputStream in; in = Channels.newInputStream(bac); h.check(in != null); in = Channels.newInputStream(fch); h.check(in != null); h.checkPoint("newOutputStream"); OutputStream out; out = Channels.newOutputStream(bac); h.check(out != null); out = Channels.newOutputStream(fch); h.check(out != null); } catch (FileNotFoundException e) { h.debug(e); h.fail("cannot create temporary file"); } finally { f.delete(); } } } mauve-20140821/gnu/testlet/java/nio/channels/Selector/0000755000175000001440000000000012375316426021314 5ustar dokousersmauve-20140821/gnu/testlet/java/nio/channels/Selector/testEmptySelect.java0000644000175000001440000000336610504620137025312 0ustar dokousers/* testEmptySelect.java -- test if selecting no channels succeeds. Copyright (C) 2006 Casey Marshall This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.nio.channels.Selector; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOException; import java.nio.channels.Selector; import java.nio.channels.spi.SelectorProvider; /** * @author csm * */ public class testEmptySelect implements Testlet { /* (non-Javadoc) * @see gnu.testlet.Testlet#test(gnu.testlet.TestHarness) */ public void test(TestHarness harness) { harness.checkPoint("openSelector"); Selector sel = null; try { sel = SelectorProvider.provider().openSelector(); } catch (IOException ioe) { harness.fail("openSelector"); harness.debug(ioe); return; } harness.checkPoint("select"); try { int ret = sel.select(100); harness.check(ret, 0); } catch (IOException ioe) { harness.fail("select"); harness.debug(ioe); } } } mauve-20140821/gnu/testlet/java/nio/channels/Pipe/0000755000175000001440000000000012375316426020431 5ustar dokousersmauve-20140821/gnu/testlet/java/nio/channels/DatagramSocketChannel/0000755000175000001440000000000012375316426023716 5ustar dokousersmauve-20140821/gnu/testlet/java/nio/DoubleBuffer/0000755000175000001440000000000012375316426020305 5ustar dokousersmauve-20140821/gnu/testlet/java/nio/DoubleBuffer/compareTo.java0000644000175000001440000000232710345212466023077 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 Red Hat, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.nio.DoubleBuffer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.nio.*; public class compareTo implements Testlet { public void test(TestHarness h) { double darray[] = new double[1]; darray[0] = Double.NaN; DoubleBuffer fb1 = DoubleBuffer.wrap(darray); DoubleBuffer fb2 = DoubleBuffer.wrap(darray); h.check(fb1.compareTo(fb2), 0, "double buffer compare with NaN entry"); } } mauve-20140821/gnu/testlet/java/nio/DoubleBuffer/compact.java0000644000175000001440000000276310164752607022605 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Michael Koch // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.nio.DoubleBuffer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.nio.*; public class compact implements Testlet { public void test(TestHarness h) { DoubleBuffer buffer = DoubleBuffer.allocate(10); buffer.position(0); buffer.limit(3); buffer.compact(); h.check(buffer.position(), 3, "position after compact()"); h.check(buffer.limit(), 10, "limit after compact()"); ByteBuffer bb = ByteBuffer.allocate(200); buffer = bb.asDoubleBuffer(); buffer.position(0); buffer.limit(3); buffer.compact(); h.check(buffer.position(), 3, "position after compact()"); h.check(buffer.limit(), 25, "limit after compact()"); } } mauve-20140821/gnu/testlet/java/nio/charset/0000755000175000001440000000000012375316426017372 5ustar dokousersmauve-20140821/gnu/testlet/java/nio/charset/CharsetEncoder/0000755000175000001440000000000012375316426022263 5ustar dokousersmauve-20140821/gnu/testlet/java/nio/charset/Charset/0000755000175000001440000000000012375316426020763 5ustar dokousersmauve-20140821/gnu/testlet/java/nio/charset/Charset/utf16.java0000644000175000001440000000356010133710360022560 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Free Software Foundation, Inc. // Written by Michael Koch (konqueror@gmx.de) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.nio.charset.Charset; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.nio.charset.*; public class utf16 implements Testlet { private void testCharset(TestHarness h, String name, float expected_average, float expected_max) { Charset charset = Charset.forName(name); h.check(charset != null, "Charset.forName(\"" + name + "\") returned 'null'"); CharsetEncoder encoder = charset.newEncoder(); h.check(encoder != null, "Charset.newEncoder() returned 'null'"); float average = encoder.averageBytesPerChar(); h.check(average, expected_average, "average bytes per char (expected: " + expected_average + ", got: " + average + ")"); float max = encoder.maxBytesPerChar(); h.check(max, expected_max, "max bytes per char (expected: " + expected_max + ", got: " + max + ")"); } public void test(TestHarness h) { testCharset(h, "UTF-16", 2.0f, 4.0f); testCharset(h, "UTF-16LE", 2.0f, 2.0f); testCharset(h, "UTF-16BE", 2.0f, 2.0f); } } mauve-20140821/gnu/testlet/java/nio/charset/Charset/encode.java0000644000175000001440000000407410163570167023065 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Free Software Foundation, Inc. // Written by Michael Koch (konqueror@gmx.de) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.nio.charset.Charset; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.nio.*; import java.nio.charset.*; public class encode implements Testlet { private void checkByteBuffer(TestHarness h, ByteBuffer bb, int capacity, int position, int limit) { h.check(bb != null, "Byte buffer is null"); h.check(bb.capacity(), capacity, "Wrong capacity in byte buffer"); h.check(bb.limit(), limit, "Wrong limit in byte buffer"); } private void checkCharBuffer(TestHarness h, CharBuffer cb, int capacity, int position, int limit) { h.check(cb != null, "Char buffer is null"); h.check(cb.capacity(), capacity, "Wrong capacity in char buffer"); h.check(cb.position(), position, "Wrong position in char buffer"); h.check(cb.limit(), limit, "Wrong limit in char buffer"); } public void test(TestHarness h) { Charset cs1 = Charset.forName("UTF-16"); Charset cs2 = Charset.forName("US-ASCII"); ByteBuffer bb; CharBuffer cb = CharBuffer.wrap("Hello World! Hello World! Hello World!"); bb = cs1.encode(cb); checkByteBuffer(h, bb, 152, 0, 78); checkCharBuffer(h, cb, 38, 38, 38); bb = cs2.encode(cb); checkByteBuffer(h, bb, 0, 0, 0); } } mauve-20140821/gnu/testlet/java/nio/charset/Charset/forName.java0000644000175000001440000000423110205241163023176 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Free Software Foundation, Inc. // Written by Michael Koch (konqueror@gmx.de) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.nio.charset.Charset; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.nio.charset.*; public class forName implements Testlet { private void checkCharset(TestHarness h, String name) { boolean supported = false; try { Charset cs = Charset.forName(name); if (cs != null) supported = true; } catch (Throwable t) { // Ignore. } h.check(supported, "Charset '" + name + "' supported"); } public void test(TestHarness h) { // Check for non-existant encodings. boolean works = false; try { Charset cs = Charset.forName("foobar"); } catch (UnsupportedCharsetException e) { works = true; } h.check(works, "UnsupportedCharsetException expected"); // Checks for standard encodings. checkCharset(h, "ISO-8859-1"); checkCharset(h, "US-ASCII"); checkCharset(h, "UTF-8"); checkCharset(h, "UTF-16"); checkCharset(h, "UTF-16BE"); checkCharset(h, "UTF-16LE"); /* Checks for IllegalArgumentException being thrown * when given charset name is null. */ works = false; try { Charset.forName(null); } catch(Exception e) { works = e instanceof IllegalArgumentException; } h.check(works, "IllegalArgumentException thrown"); } } mauve-20140821/gnu/testlet/java/nio/charset/Charset/canEncode.java0000644000175000001440000000232710505031373023475 0ustar dokousers/* canEncode.java -- test canEncode method Copyright (C) 2006 Red Hat, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.nio.charset.Charset; import java.nio.charset.Charset; import java.nio.charset.CharsetEncoder; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class canEncode implements Testlet { public canEncode() { } public void test(TestHarness harness) { // Regression test for PR 29178. CharsetEncoder enc = Charset.forName("US-ASCII").newEncoder(); harness.check(!enc.canEncode('\u00e4')); } } mauve-20140821/gnu/testlet/java/nio/charset/Charset/UTF8Charset.java0000644000175000001440000000505010204751751023657 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Free Software Foundation, Inc. // Written by Julian Scheid (julian@sektor37.de) and // Mark J. Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.nio.charset.Charset; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.nio.*; import java.nio.charset.*; /** * Test for some under/overflow situations exposing a bug in GNU * Classpath UTF_8 Charset implementation found by Julian Scheid * (julian@sektor37.de). */ public class UTF8Charset implements Testlet { public void test(TestHarness h) { final int first_chunk_size = 4; final int second_chunk_size = 3; byte[] inBytes = new byte[first_chunk_size + second_chunk_size]; // fill with some harmless ASCII7 char for (int i = 0; i < inBytes.length; ++i) inBytes[i] = 'X'; ByteBuffer inBuffer = ByteBuffer.wrap(inBytes); CharBuffer outBuffer1 = CharBuffer.allocate(first_chunk_size); CharBuffer outBuffer2 = CharBuffer.allocate(second_chunk_size); Charset utf8Charset = Charset.forName("UTF-8"); CharsetDecoder decoder = utf8Charset.newDecoder(); CoderResult coderResult1 = decoder.decode(inBuffer, outBuffer1, false); h.check(coderResult1.isOverflow(), "Expected decoder to return overflow status"); h.check(first_chunk_size == inBuffer.position(), "Expected input buffer position to be " + first_chunk_size + ", but it is " + inBuffer.position()); CoderResult coderResult2 = decoder.decode(inBuffer, outBuffer2, false); h.check(coderResult2.isUnderflow(), "Expected decoder to return underflow status"); h.check((first_chunk_size + second_chunk_size) == inBuffer.position(), "Expected input buffer position to be " + (first_chunk_size + second_chunk_size) + ", but it is " + inBuffer.position()); } } mauve-20140821/gnu/testlet/java/nio/charset/Charset/forName2.java0000644000175000001440000000507010201635524023266 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004, 2005 Free Software Foundation, Inc. // Written by Michael Koch (konqueror@gmx.de) // Adapted by Robert Schuster (thebohemian@gmx.net) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.nio.charset.Charset; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.nio.charset.*; public class forName2 implements Testlet { private void checkCharset(TestHarness h, String name) { boolean supported = false; try { Charset cs = Charset.forName(name); if (cs != null) supported = true; } catch (Throwable t) { // Ignore. } h.check(supported, "Charset '" + name + "' supported"); } public void test(TestHarness h) { /* * Check for standard encodings using case-insensitive and alternative * names. */ // IANA name for UTF-8 checkCharset(h, "uTf-8"); // UTF-8 names from // http://java.sun.com/j2se/1.5.0/docs/guide/intl/encoding.doc.html checkCharset(h, "utf8"); checkCharset(h, "UtF-16bE"); checkCharset(h, "uTf-16Le"); // IANA names for 8859_1 checkCharset(h, "IsO-iR-100"); checkCharset(h, "iSo_8859-1"); checkCharset(h, "LATIN1"); checkCharset(h, "L1"); checkCharset(h, "IbM819"); checkCharset(h, "cp819"); checkCharset(h, "CSisolATIN1"); // IANA names for US-ASCII checkCharset(h, "iSo-Ir-6"); checkCharset(h, "AnSi_X3.4-1986"); checkCharset(h, "IsO_646.IRV:1991"); checkCharset(h, "AsCiI"); checkCharset(h, "IsO646-us"); checkCharset(h, "Us"); checkCharset(h, "IbM367"); checkCharset(h, "cP367"); checkCharset(h, "CSASCII"); // UTF-8 names from // http://oss.software.ibm.com/cgi-bin/icu/convexp?s=ALL /* These fail on official implementation of <= 1.5 */ checkCharset(h, "ibm-1208"); checkCharset(h, "ibm-1209"); checkCharset(h, "ibm-5304"); checkCharset(h, "ibm-5305"); checkCharset(h, "windows-65001"); checkCharset(h, "cp1208"); } } mauve-20140821/gnu/testlet/java/nio/LongBuffer/0000755000175000001440000000000012375316426017772 5ustar dokousersmauve-20140821/gnu/testlet/java/nio/LongBuffer/compact.java0000644000175000001440000000275310164752610022263 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Michael Koch // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.nio.LongBuffer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.nio.*; public class compact implements Testlet { public void test(TestHarness h) { LongBuffer buffer = LongBuffer.allocate(10); buffer.position(0); buffer.limit(3); buffer.compact(); h.check(buffer.position(), 3, "position after compact()"); h.check(buffer.limit(), 10, "limit after compact()"); ByteBuffer bb = ByteBuffer.allocate(200); buffer = bb.asLongBuffer(); buffer.position(0); buffer.limit(3); buffer.compact(); h.check(buffer.position(), 3, "position after compact()"); h.check(buffer.limit(), 25, "limit after compact()"); } } mauve-20140821/gnu/testlet/java/awt/0000755000175000001440000000000012375316426015747 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/font/0000755000175000001440000000000012375316426016715 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/font/TextHitInfo/0000755000175000001440000000000012375316426021122 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/font/TextHitInfo/beforeOffset.java0000644000175000001440000000254310531661043024370 0ustar dokousers/* beforeOffset.java Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.font.TextHitInfo; import java.awt.font.TextHitInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class beforeOffset implements Testlet { public void test(TestHarness harness) { harness.check(TextHitInfo.beforeOffset(-6).toString(), "TextHitInfo[-7T]"); harness.check(TextHitInfo.beforeOffset(0).toString(), "TextHitInfo[-1T]"); harness.check(TextHitInfo.beforeOffset(2).toString(), "TextHitInfo[1T]"); } } mauve-20140821/gnu/testlet/java/awt/font/TextHitInfo/equals.java0000644000175000001440000000340110531661043023243 0ustar dokousers/* equals.java Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.font.TextHitInfo; import java.awt.font.TextHitInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class equals implements Testlet { public void test(TestHarness harness) { equalsObject(harness); equalsTextHitInfo(harness); } public void equalsObject(TestHarness harness) { TextHitInfo info = TextHitInfo.trailing(0); harness.check(info.equals((Object) null), false); harness.check(info.equals((Object) TextHitInfo.trailing(0)), true); String a = "Some String"; harness.check(info.equals(a), false); } public void equalsTextHitInfo(TestHarness harness) { TextHitInfo info = TextHitInfo.trailing(0); harness.check(info.equals((TextHitInfo) null), false); harness.check(info.equals(TextHitInfo.trailing(0)), true); harness.check(info.equals(TextHitInfo.trailing(1)), false); harness.check(info.equals(TextHitInfo.leading(0)), false); harness.check(info.equals(TextHitInfo.leading(1)), false); } } mauve-20140821/gnu/testlet/java/awt/font/TextHitInfo/leading.java0000644000175000001440000000250610531661043023361 0ustar dokousers/* leading.java Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.font.TextHitInfo; import java.awt.font.TextHitInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class leading implements Testlet { public void test(TestHarness harness) { harness.check(TextHitInfo.leading(-1).toString(), "TextHitInfo[-1L]"); harness.check(TextHitInfo.leading(0).toString(), "TextHitInfo[0L]"); harness.check(TextHitInfo.leading(1).toString(), "TextHitInfo[1L]"); } } mauve-20140821/gnu/testlet/java/awt/font/TextHitInfo/trailing.java0000644000175000001440000000252510531661043023570 0ustar dokousers/* trailing.java Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.font.TextHitInfo; import java.awt.font.TextHitInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class trailing implements Testlet { public void test(TestHarness harness) { harness.check(TextHitInfo.trailing(-1).toString(), "TextHitInfo[-1T]"); harness.check(TextHitInfo.trailing(0).toString(), "TextHitInfo[0T]"); harness.check(TextHitInfo.trailing(1).toString(), "TextHitInfo[1T]"); } } mauve-20140821/gnu/testlet/java/awt/font/TextHitInfo/getInsertionIndex.java0000644000175000001440000000325410531661043025421 0ustar dokousers/* getInsertionIndex.java - Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.font.TextHitInfo; import java.awt.font.TextHitInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getInsertionIndex implements Testlet { public void test(TestHarness harness) { TextHitInfo info = TextHitInfo.leading(-2); harness.check(info.getInsertionIndex(), -2); info = TextHitInfo.leading(0); harness.check(info.getInsertionIndex(), 0); info = TextHitInfo.leading(4); harness.check(info.getInsertionIndex(), 4); info = TextHitInfo.trailing(-2); harness.check(info.getInsertionIndex(), -1); info = TextHitInfo.trailing(0); harness.check(info.getInsertionIndex(), 1); info = TextHitInfo.trailing(4); harness.check(info.getInsertionIndex(), 5); harness.check(TextHitInfo.leading(1).getInsertionIndex(), 1); harness.check(TextHitInfo.trailing(1).getInsertionIndex(), 2); } } mauve-20140821/gnu/testlet/java/awt/font/TextHitInfo/afterOffset.java0000644000175000001440000000255110531661043024226 0ustar dokousers/* afterOffset.java Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.font.TextHitInfo; import java.awt.font.TextHitInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class afterOffset implements Testlet { public void test(TestHarness harness) { harness.check(TextHitInfo.afterOffset(-6).toString(), "TextHitInfo[-6L]"); harness.check(TextHitInfo.afterOffset(0).toString(), "TextHitInfo[0L]"); harness.check(TextHitInfo.afterOffset(2).toString(), "TextHitInfo[2L]"); } } mauve-20140821/gnu/testlet/java/awt/font/TextHitInfo/isLeadingEdge.java0000644000175000001440000000323110531661043024436 0ustar dokousers/* isLeadingEdge.java Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.font.TextHitInfo; import java.awt.font.TextHitInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class isLeadingEdge implements Testlet { public void test(TestHarness harness) { TextHitInfo info = TextHitInfo.leading(-2); harness.check(info.isLeadingEdge(), true); info = TextHitInfo.leading(0); harness.check(info.isLeadingEdge(), true); info = TextHitInfo.leading(4); harness.check(info.isLeadingEdge(), true); info = TextHitInfo.trailing(-2); harness.check(info.isLeadingEdge(), false); info = TextHitInfo.trailing(0); harness.check(info.isLeadingEdge(), false); info = TextHitInfo.trailing(4); harness.check(info.isLeadingEdge(), false); harness.check(TextHitInfo.leading(1).isLeadingEdge(), true); harness.check(TextHitInfo.trailing(1).isLeadingEdge(), false); } } mauve-20140821/gnu/testlet/java/awt/font/TextHitInfo/getOtherHit.java0000644000175000001440000000232610531661043024204 0ustar dokousers/* getOtherHit.java Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.font.TextHitInfo; import java.awt.font.TextHitInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getOtherHit implements Testlet { public void test(TestHarness harness) { TextHitInfo info = TextHitInfo.leading(0); harness.check(info.getOtherHit().toString(), "TextHitInfo[-1T]"); info = TextHitInfo.trailing(0); harness.check(info.getOtherHit().toString(), "TextHitInfo[1L]"); } } mauve-20140821/gnu/testlet/java/awt/font/TextHitInfo/getOffsetHit.java0000644000175000001440000000367210531661043024356 0ustar dokousers/* getoffsetHit.java Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.font.TextHitInfo; import java.awt.font.TextHitInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getOffsetHit implements Testlet { public void test(TestHarness harness) { TextHitInfo info = TextHitInfo.leading(0); harness.check(info.getOffsetHit(0).toString(), "TextHitInfo[0L]"); harness.check(info.isLeadingEdge(), true); info = TextHitInfo.leading(0); harness.check(info.getOffsetHit(-2).toString(), "TextHitInfo[-2L]"); harness.check(info.isLeadingEdge(), true); info = TextHitInfo.leading(0); harness.check(info.getOffsetHit(2).toString(), "TextHitInfo[2L]"); harness.check(info.isLeadingEdge(), true); info = TextHitInfo.trailing(0); harness.check(info.getOffsetHit(0).toString(), "TextHitInfo[0T]"); harness.check(info.isLeadingEdge(), false); info = TextHitInfo.trailing(0); harness.check(info.getOffsetHit(-2).toString(), "TextHitInfo[-2T]"); harness.check(info.isLeadingEdge(), false); info = TextHitInfo.trailing(0); harness.check(info.getOffsetHit(2).toString(), "TextHitInfo[2T]"); harness.check(info.isLeadingEdge(), false); } } mauve-20140821/gnu/testlet/java/awt/font/TextHitInfo/toString.java0000644000175000001440000000226510531661043023571 0ustar dokousers/* toString.java Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.font.TextHitInfo; import java.awt.font.TextHitInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class toString implements Testlet { public void test(TestHarness harness) { TextHitInfo info = TextHitInfo.leading(0); harness.check(info.toString(), "TextHitInfo[0L]"); info = TextHitInfo.trailing(5); harness.check(info.toString(), "TextHitInfo[5T]"); } } mauve-20140821/gnu/testlet/java/awt/font/TextHitInfo/hashCode.java0000644000175000001440000000312210531661043023467 0ustar dokousers/* hashCode.java Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.font.TextHitInfo; import java.awt.font.TextHitInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class hashCode implements Testlet { public void test(TestHarness harness) { TextHitInfo info = TextHitInfo.leading(-2); harness.check(info.hashCode(), -2); info = TextHitInfo.leading(0); harness.check(info.hashCode(), 0); info = TextHitInfo.leading(4); harness.check(info.hashCode(), 4); info = TextHitInfo.trailing(-2); harness.check(info.hashCode(), -2); info = TextHitInfo.trailing(0); harness.check(info.hashCode(), 0); info = TextHitInfo.trailing(4); harness.check(info.hashCode(), 4); harness.check(TextHitInfo.leading(1).hashCode(), 1); harness.check(TextHitInfo.trailing(1).hashCode(), 1); } } mauve-20140821/gnu/testlet/java/awt/font/TextHitInfo/getCharIndex.java0000644000175000001440000000276410531661043024331 0ustar dokousers/* getCharIndex.java Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.font.TextHitInfo; import java.awt.font.TextHitInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getCharIndex implements Testlet { public void test(TestHarness harness) { TextHitInfo info = TextHitInfo.leading(-2); harness.check(info.getCharIndex(), -2); info = TextHitInfo.leading(0); harness.check(info.getCharIndex(), 0); info = TextHitInfo.leading(4); harness.check(info.getCharIndex(), 4); info = TextHitInfo.trailing(-2); harness.check(info.getCharIndex(), -2); info = TextHitInfo.trailing(0); harness.check(info.getCharIndex(), 0); info = TextHitInfo.trailing(4); harness.check(info.getCharIndex(), 4); } } mauve-20140821/gnu/testlet/java/awt/font/TransformAttribute/0000755000175000001440000000000012375316426022554 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/font/TransformAttribute/serialization.java0000644000175000001440000000451210205360244026261 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.font.TransformAttribute; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.font.TransformAttribute; import java.awt.geom.AffineTransform; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectInput; import java.io.ObjectInputStream; import java.io.ObjectOutput; import java.io.ObjectOutputStream; import java.util.Date; /** * Some checks for serialization of a {@link Date} instance. */ public class serialization implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TransformAttribute t = new TransformAttribute(new AffineTransform()); testSerialization(t, harness); t = new TransformAttribute(AffineTransform.getTranslateInstance(1.2, 3.4)); testSerialization(t, harness); } private void testSerialization(TransformAttribute t1, TestHarness harness) { TransformAttribute t2 = null; try { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); ObjectOutput out = new ObjectOutputStream(buffer); out.writeObject(t1); out.close(); ObjectInput in = new ObjectInputStream( new ByteArrayInputStream(buffer.toByteArray()) ); t2 = (TransformAttribute) in.readObject(); in.close(); } catch (Exception e) { harness.debug(e); } harness.check(t1.getTransform(), t2.getTransform()); } } mauve-20140821/gnu/testlet/java/awt/font/TransformAttribute/isIdentity.java0000644000175000001440000000315310205360244025531 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.font.TransformAttribute; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.font.TransformAttribute; import java.awt.geom.AffineTransform; /** * Some checks for the isIdentity() method in the {@link TransformAttribute} * class. */ public class isIdentity implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { AffineTransform t1 = new AffineTransform(); TransformAttribute ta = new TransformAttribute(t1); harness.check(ta.isIdentity()); AffineTransform t2 = AffineTransform.getTranslateInstance(1.2, 3.4); ta = new TransformAttribute(t2); harness.check(!ta.isIdentity()); } } mauve-20140821/gnu/testlet/java/awt/font/TransformAttribute/constructor.java0000644000175000001440000000411110205360244025764 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.font.TransformAttribute; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.font.TransformAttribute; import java.awt.geom.AffineTransform; /** * Some checks for the constructor of the {@link TransformAttribute} class. */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { AffineTransform identity = new AffineTransform(); TransformAttribute t = new TransformAttribute(identity); harness.check(t.getTransform(), identity); // the transform passed to the constructor should be cloned by the // constructor, so the references should be different... harness.check(t.getTransform() != identity); AffineTransform at = AffineTransform.getTranslateInstance(1.2, 3.4); t = new TransformAttribute(at); harness.check(t.getTransform(), at); // spec doesn't say how to handle null, but RI throws // IllegalArgumentException boolean pass = false; try { t = new TransformAttribute(null); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/font/TransformAttribute/getTransform.java0000644000175000001440000000341610205360244026061 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.font.TransformAttribute; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.font.TransformAttribute; import java.awt.geom.AffineTransform; /** * Some checks for the getTransform() method in the {@link TransformAttribute} * class. */ public class getTransform implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { AffineTransform t1 = AffineTransform.getTranslateInstance(1.2, 3.4); TransformAttribute ta = new TransformAttribute(t1); AffineTransform t2 = ta.getTransform(); harness.check(t1, t2); // the returned transform should be a clone of the wrapped transform, // so changing it should not impact the TransformAttribute... t2.setToIdentity(); AffineTransform t3 = ta.getTransform(); harness.check(!t3.equals(t2)); } } mauve-20140821/gnu/testlet/java/awt/font/ShapeGraphicAttribute/0000755000175000001440000000000012375316426023137 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/font/ShapeGraphicAttribute/ShapeGraphicAttributeTest.java0000644000175000001440000000476710433114302031060 0ustar dokousers/* ShapeGraphicAttributeTest.java -- Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.font.ShapeGraphicAttribute; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Shape; import java.awt.font.ShapeGraphicAttribute; import java.awt.geom.Rectangle2D; public class ShapeGraphicAttributeTest implements Testlet { public void test(TestHarness harness) { try { Shape s = new Rectangle2D.Float(2, 3, 60, 98); ShapeGraphicAttribute sga = new ShapeGraphicAttribute(s, 0, true); harness.check(sga.hashCode(), s.hashCode()); harness.check(sga.getAscent(), 0.0); harness.check(sga.getDescent(), 101.0); harness.check(sga.getAdvance(), 62.0); harness.check(sga.getBounds(), new Rectangle2D.Float((float) 2.0, (float) 3.0, (float) 61.0, (float) 99.0)); Shape s2 = new Rectangle2D.Float(2, - 5, 17, 921); ShapeGraphicAttribute sga2 = new ShapeGraphicAttribute(s2, 1, false); harness.check(sga2.hashCode(), s2.hashCode()); harness.check(sga2.getAscent(), 5.0); harness.check(sga2.getDescent(), 916.0); harness.check(sga2.getAdvance(), 19.0); harness.check(sga2.getBounds(), new Rectangle2D.Float((float) 2.0, (float) - 5.0, (float) 17.0, (float) 921.0)); harness.check(sga.equals(sga2), false); } catch (Exception e) { harness.fail("Exception caught: " + e); } } } mauve-20140821/gnu/testlet/java/awt/font/TextAttribute/0000755000175000001440000000000012375316426021525 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/font/TextAttribute/constants13.java0000644000175000001440000000312010205735674024544 0ustar dokousers// Tags: JDK1.3 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.font.TextAttribute; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.font.TextAttribute; /** * Some tests for the constants in the {@link TextAttribute} class. */ public class constants13 implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.check(TextAttribute.UNDERLINE_LOW_DASHED, new Integer(5)); harness.check(TextAttribute.UNDERLINE_LOW_DOTTED, new Integer(3)); harness.check(TextAttribute.UNDERLINE_LOW_GRAY, new Integer(4)); harness.check(TextAttribute.UNDERLINE_LOW_ONE_PIXEL, new Integer(1)); harness.check(TextAttribute.UNDERLINE_LOW_TWO_PIXEL, new Integer(2)); } }mauve-20140821/gnu/testlet/java/awt/font/TextAttribute/serialization.java0000644000175000001440000000561410205735674025253 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.font.TextAttribute; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.font.TextAttribute; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectInput; import java.io.ObjectInputStream; import java.io.ObjectOutput; import java.io.ObjectOutputStream; /** * Some checks for serialization of the {@link TextAttribute} class. */ public class serialization implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { checkSerial(TextAttribute.BACKGROUND, harness); checkSerial(TextAttribute.BIDI_EMBEDDING, harness); checkSerial(TextAttribute.CHAR_REPLACEMENT, harness); checkSerial(TextAttribute.FAMILY, harness); checkSerial(TextAttribute.FONT, harness); checkSerial(TextAttribute.FOREGROUND, harness); checkSerial(TextAttribute.INPUT_METHOD_HIGHLIGHT, harness); checkSerial(TextAttribute.JUSTIFICATION, harness); checkSerial(TextAttribute.NUMERIC_SHAPING, harness); checkSerial(TextAttribute.POSTURE, harness); checkSerial(TextAttribute.RUN_DIRECTION, harness); checkSerial(TextAttribute.SIZE, harness); checkSerial(TextAttribute.STRIKETHROUGH, harness); checkSerial(TextAttribute.WEIGHT, harness); checkSerial(TextAttribute.WIDTH, harness); } private void checkSerial(TextAttribute ta1, TestHarness harness) { TextAttribute ta2 = null; try { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); ObjectOutput out = new ObjectOutputStream(buffer); out.writeObject(ta1); out.close(); ObjectInput in = new ObjectInputStream( new ByteArrayInputStream(buffer.toByteArray()) ); ta2 = (TextAttribute) in.readObject(); in.close(); } catch (Exception e) { harness.debug(e); } harness.check(ta1 == ta2); // the readResolve() method ensures that only // one object can represent each attribute } } mauve-20140821/gnu/testlet/java/awt/font/TextAttribute/toString13.java0000644000175000001440000000255310205735674024352 0ustar dokousers// Tags: JDK1.3 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.font.TextAttribute; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.font.TextAttribute; /** * Some tests for the toString() method in the {@link TextAttribute} class. */ public class toString13 implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.check(TextAttribute.INPUT_METHOD_UNDERLINE.toString(), "java.awt.font.TextAttribute(input method underline)"); } }mauve-20140821/gnu/testlet/java/awt/font/TextAttribute/constants.java0000644000175000001440000000637410206226643024406 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.font.TextAttribute; import java.awt.font.TextAttribute; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Some tests for the constants in the {@link TextAttribute} class. */ public class constants implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("JUSTIFICATION"); harness.check(TextAttribute.JUSTIFICATION_FULL, new Float(1.0)); harness.check(TextAttribute.JUSTIFICATION_NONE, new Float(0.0)); harness.checkPoint("POSTURE"); harness.check(TextAttribute.POSTURE_OBLIQUE, new Float(0.2)); harness.check(TextAttribute.POSTURE_REGULAR, new Float(0.0)); harness.checkPoint("RUN_DIRECTION"); harness.check(TextAttribute.RUN_DIRECTION_LTR, Boolean.FALSE); harness.check(TextAttribute.RUN_DIRECTION_RTL, Boolean.TRUE); harness.checkPoint("STRIKETHROUGH"); harness.check(TextAttribute.STRIKETHROUGH_ON, Boolean.TRUE); harness.checkPoint("SUPERSCRIPT"); harness.check(TextAttribute.SUPERSCRIPT_SUB, new Integer(-1)); harness.check(TextAttribute.SUPERSCRIPT_SUPER, new Integer(1)); harness.checkPoint("SWAP_COLORS"); harness.check(TextAttribute.SWAP_COLORS_ON, Boolean.TRUE); harness.checkPoint("WEIGHT"); harness.check(TextAttribute.WEIGHT_BOLD, new Float(2.0)); harness.check(TextAttribute.WEIGHT_DEMIBOLD, new Float(1.75)); harness.check(TextAttribute.WEIGHT_DEMILIGHT, new Float(0.875)); harness.check(TextAttribute.WEIGHT_EXTRA_LIGHT, new Float(0.5)); harness.check(TextAttribute.WEIGHT_EXTRABOLD, new Float(2.5)); harness.check(TextAttribute.WEIGHT_HEAVY, new Float(2.25)); harness.check(TextAttribute.WEIGHT_LIGHT, new Float(0.75)); harness.check(TextAttribute.WEIGHT_MEDIUM, new Float(1.5)); harness.check(TextAttribute.WEIGHT_REGULAR, new Float(1.0)); harness.check(TextAttribute.WEIGHT_SEMIBOLD, new Float(1.25)); harness.check(TextAttribute.WEIGHT_ULTRABOLD, new Float(2.75)); harness.checkPoint("WIDTH"); harness.check(TextAttribute.WIDTH_CONDENSED, new Float(0.75)); harness.check(TextAttribute.WIDTH_EXTENDED, new Float(1.5)); harness.check(TextAttribute.WIDTH_REGULAR, new Float(1.0)); harness.check(TextAttribute.WIDTH_SEMI_CONDENSED, new Float(0.875)); harness.check(TextAttribute.WIDTH_SEMI_EXTENDED, new Float(1.25)); } } mauve-20140821/gnu/testlet/java/awt/font/TextAttribute/toString.java0000644000175000001440000000531310205735674024203 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.font.TextAttribute; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.font.TextAttribute; /** * Some tests for the toString() method in the {@link TextAttribute} class. */ public class toString implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.check(TextAttribute.BACKGROUND.toString(), "java.awt.font.TextAttribute(background)"); harness.check(TextAttribute.BIDI_EMBEDDING.toString(), "java.awt.font.TextAttribute(bidi_embedding)"); harness.check(TextAttribute.CHAR_REPLACEMENT.toString(), "java.awt.font.TextAttribute(char_replacement)"); harness.check(TextAttribute.FAMILY.toString(), "java.awt.font.TextAttribute(family)"); harness.check(TextAttribute.FONT.toString(), "java.awt.font.TextAttribute(font)"); harness.check(TextAttribute.FOREGROUND.toString(), "java.awt.font.TextAttribute(foreground)"); harness.check(TextAttribute.INPUT_METHOD_HIGHLIGHT.toString(), "java.awt.font.TextAttribute(input method highlight)"); harness.check(TextAttribute.JUSTIFICATION.toString(), "java.awt.font.TextAttribute(justification)"); harness.check(TextAttribute.NUMERIC_SHAPING.toString(), "java.awt.font.TextAttribute(numeric_shaping)"); harness.check(TextAttribute.POSTURE.toString(), "java.awt.font.TextAttribute(posture)"); harness.check(TextAttribute.RUN_DIRECTION.toString(), "java.awt.font.TextAttribute(run_direction)"); harness.check(TextAttribute.SIZE.toString(), "java.awt.font.TextAttribute(size)"); harness.check(TextAttribute.STRIKETHROUGH.toString(), "java.awt.font.TextAttribute(strikethrough)"); harness.check(TextAttribute.WEIGHT.toString(), "java.awt.font.TextAttribute(weight)"); harness.check(TextAttribute.WIDTH.toString(), "java.awt.font.TextAttribute(width)"); } }mauve-20140821/gnu/testlet/java/awt/font/ImageGraphicAttribute/0000755000175000001440000000000012375316426023121 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/font/ImageGraphicAttribute/ImageGraphicAttributeTest.java0000644000175000001440000000510310433114302031005 0ustar dokousers/* ImageGraphicAttributeTest.java -- Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.font.ImageGraphicAttribute; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Image; import java.awt.font.ImageGraphicAttribute; import java.awt.geom.Rectangle2D; import java.io.File; import javax.imageio.ImageIO; public class ImageGraphicAttributeTest implements Testlet { public void test(TestHarness harness) { try { Image image = ImageIO.read(new File("gnu/testlet/java/awt/font/ImageGraphicAttribute/image.bmp")); ImageGraphicAttribute iga = new ImageGraphicAttribute(image, 0); harness.check(iga.hashCode(), image.hashCode()); harness.check(iga.getAscent(), 0.0); harness.check(iga.getDescent(), 64.0); harness.check(iga.getAdvance(), 127.0); harness.check(iga.getBounds(), new Rectangle2D.Float((float) - 0.0, (float) - 0.0, (float) 127.0, (float) 64.0)); ImageGraphicAttribute iga2 = new ImageGraphicAttribute(image, 0, 10, -1202); harness.check(iga2.hashCode(), image.hashCode()); harness.check(iga2.getAscent(), 0.0); harness.check(iga2.getDescent(), 1266.0); harness.check(iga2.getAdvance(), 117.0); harness.check(iga2.getBounds(), new Rectangle2D.Float((float) - 10.0, (float) 1202.0, (float) 127.0, (float) 64.0)); harness.check(iga.equals(iga2), false); } catch (Exception e) { harness.fail("Exception caught: " + e); } } } mauve-20140821/gnu/testlet/java/awt/font/ImageGraphicAttribute/image.bmp0000644000175000001440000007750210432700022024673 0ustar dokousersBMBB(@ ÿÿÿ ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøø ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøø ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøø```a``b``c``d``e``f``g``h``i``j``k``l``m``n``o``p``q``r``s``t``u``v``w``x``y``z``{``|``}``~`` ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøø  ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøø ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøøaaabaacaadaaeaafaagaahaaiaajaakaalaamaanaaoaapaaqaaraasaataauaavaawaaxaayaazaa{aa|aa}aa~aaaa ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøø  ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøø ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøøbbbcbbdbbebbfbbgbbhbbibbjbbkbblbbmbbnbbobbpbbqbbrbbsbbtbbubbvbbwbbxbbybbzbb{bb|bb}bb~bbbb€bb    (( 00 88 @@ HH PP XX `` hh pp xx €€ ˆˆ ˜˜    ¨¨ °° ¸¸ ÀÀ ÈÈ ÐÐ ØØ àà èè ðð øø     ( (0 08 8@ @H HP PX X` `h hp px x€ €ˆ ˆ ˜ ˜   ¨ ¨° °¸ ¸À ÀÈ ÈÐ ÐØ Øà àè èð ðø ø    (( 00 88 @@ HH PP XX `` hh pp xx €€ ˆˆ ˜˜    ¨¨ °° ¸¸ ÀÀ ÈÈ ÐÐ ØØ àà èè ðð øøcccdcceccfccgcchcciccjcckcclccmccnccoccpccqccrccscctccuccvccwccxccycczcc{cc|cc}cc~cccc€cccc ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøø  ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøø ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøødddeddfddgddhddiddjddkddlddmddnddoddpddqddrddsddtdduddvddwddxddyddzdd{dd|dd}dd~dddd€dddd‚dd ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøø  ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøø ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøøeeefeegeeheeieejeekeeleemeeneeoeepeeqeereeseeteeueeveeweexeeyeezee{ee|ee}ee~eeee€eeee‚eeƒee ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøø  ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøø ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøøfffgffhffiffjffkfflffmffnffoffpffqffrffsfftffuffvffwffxffyffzff{ff|ff}ff~ffff€ffff‚ffƒff„ff ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøø  ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøø ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøøggghggiggjggkgglggmggnggoggpggqggrggsggtgguggvggwggxggyggzgg{gg|gg}gg~gggg€gggg‚ggƒgg„gg…gg    (( 00 88 @@ HH PP XX `` hh pp xx €€ ˆˆ ˜˜    ¨¨ °° ¸¸ ÀÀ ÈÈ ÐÐ ØØ àà èè ðð øø     ( (0 08 8@ @H HP PX X` `h hp px x€ €ˆ ˆ ˜ ˜   ¨ ¨° °¸ ¸À ÀÈ ÈÐ ÐØ Øà àè èð ðø ø    (( 00 88 @@ HH PP XX `` hh pp xx €€ ˆˆ ˜˜    ¨¨ °° ¸¸ ÀÀ ÈÈ ÐÐ ØØ àà èè ðð øøhhhihhjhhkhhlhhmhhnhhohhphhqhhrhhshhthhuhhvhhwhhxhhyhhzhh{hh|hh}hh~hhhh€hhhh‚hhƒhh„hh…hh†hh$$$$ $(($00$88$@@$HH$PP$XX$``$hh$pp$xx$€€$ˆˆ$$˜˜$  $¨¨$°°$¸¸$ÀÀ$ÈÈ$ÐÐ$ØØ$àà$èè$ðð$øø$$$$$ $ ($(0$08$8@$@H$HP$PX$X`$`h$hp$px$x€$€ˆ$ˆ$˜$˜ $ ¨$¨°$°¸$¸À$ÀÈ$ÈÐ$ÐØ$Øà$àè$èð$ðø$ø$$$$$ $(($00$88$@@$HH$PP$XX$``$hh$pp$xx$€€$ˆˆ$$˜˜$  $¨¨$°°$¸¸$ÀÀ$ÈÈ$ÐÐ$ØØ$àà$èè$ðð$øøiiijiikiiliimiiniioiipiiqiiriisiitiiuiiviiwiixiiyiizii{ii|ii}ii~iiii€iiii‚iiƒii„ii…ii†ii‡ii(((( ((((00(88(@@(HH(PP(XX(``(hh(pp(xx(€€(ˆˆ((˜˜(  (¨¨(°°(¸¸(ÀÀ(ÈÈ(ÐÐ(ØØ(àà(èè(ðð(øø((((( ( (((0(08(8@(@H(HP(PX(X`(`h(hp(px(x€(€ˆ(ˆ(˜(˜ ( ¨(¨°(°¸(¸À(ÀÈ(ÈÐ(ÐØ(Øà(àè(èð(ðø(ø((((( ((((00(88(@@(HH(PP(XX(``(hh(pp(xx(€€(ˆˆ((˜˜(  (¨¨(°°(¸¸(ÀÀ(ÈÈ(ÐÐ(ØØ(àà(èè(ðð(øøjjjkjjljjmjjnjjojjpjjqjjrjjsjjtjjujjvjjwjjxjjyjjzjj{jj|jj}jj~jjjj€jjjj‚jjƒjj„jj…jj†jj‡jjˆjj,,,, ,((,00,88,@@,HH,PP,XX,``,hh,pp,xx,€€,ˆˆ,,˜˜,  ,¨¨,°°,¸¸,ÀÀ,ÈÈ,ÐÐ,ØØ,àà,èè,ðð,øø,,,,, , (,(0,08,8@,@H,HP,PX,X`,`h,hp,px,x€,€ˆ,ˆ,˜,˜ , ¨,¨°,°¸,¸À,ÀÈ,ÈÐ,ÐØ,Øà,àè,èð,ðø,ø,,,,, ,((,00,88,@@,HH,PP,XX,``,hh,pp,xx,€€,ˆˆ,,˜˜,  ,¨¨,°°,¸¸,ÀÀ,ÈÈ,ÐÐ,ØØ,àà,èè,ðð,øøkkklkkmkknkkokkpkkqkkrkkskktkkukkvkkwkkxkkykkzkk{kk|kk}kk~kkkk€kkkk‚kkƒkk„kk…kk†kk‡kkˆkk‰kk0000 0((0000880@@0HH0PP0XX0``0hh0pp0xx0€€0ˆˆ00˜˜0  0¨¨0°°0¸¸0ÀÀ0ÈÈ0ÐÐ0ØØ0àà0èè0ðð0øø00000 0 (0(000808@0@H0HP0PX0X`0`h0hp0px0x€0€ˆ0ˆ0˜0˜ 0 ¨0¨°0°¸0¸À0ÀÈ0ÈÐ0ÐØ0Øà0àè0èð0ðø0ø00000 0((0000880@@0HH0PP0XX0``0hh0pp0xx0€€0ˆˆ00˜˜0  0¨¨0°°0¸¸0ÀÀ0ÈÈ0ÐÐ0ØØ0àà0èè0ðð0øølllmllnllollpllqllrllslltllullvllwllxllyllzll{ll|ll}ll~llll€llll‚llƒll„ll…ll†ll‡llˆll‰llŠll4444 4((4004884@@4HH4PP4XX4``4hh4pp4xx4€€4ˆˆ44˜˜4  4¨¨4°°4¸¸4ÀÀ4ÈÈ4ÐÐ4ØØ4àà4èè4ðð4øø44444 4 (4(040848@4@H4HP4PX4X`4`h4hp4px4x€4€ˆ4ˆ4˜4˜ 4 ¨4¨°4°¸4¸À4ÀÈ4ÈÐ4ÐØ4Øà4àè4èð4ðø4ø44444 4((4004884@@4HH4PP4XX4``4hh4pp4xx4€€4ˆˆ44˜˜4  4¨¨4°°4¸¸4ÀÀ4ÈÈ4ÐÐ4ØØ4àà4èè4ðð4øømmmnmmommpmmqmmrmmsmmtmmummvmmwmmxmmymmzmm{mm|mm}mm~mmmm€mmmm‚mmƒmm„mm…mm†mm‡mmˆmm‰mmŠmm‹mm8888 8((8008888@@8HH8PP8XX8``8hh8pp8xx8€€8ˆˆ88˜˜8  8¨¨8°°8¸¸8ÀÀ8ÈÈ8ÐÐ8ØØ8àà8èè8ðð8øø88888 8 (8(080888@8@H8HP8PX8X`8`h8hp8px8x€8€ˆ8ˆ8˜8˜ 8 ¨8¨°8°¸8¸À8ÀÈ8ÈÐ8ÐØ8Øà8àè8èð8ðø8ø88888 8((8008888@@8HH8PP8XX8``8hh8pp8xx8€€8ˆˆ88˜˜8  8¨¨8°°8¸¸8ÀÀ8ÈÈ8ÐÐ8ØØ8àà8èè8ðð8øønnnonnpnnqnnrnnsnntnnunnvnnwnnxnnynnznn{nn|nn}nn~nnnn€nnnn‚nnƒnn„nn…nn†nn‡nnˆnn‰nnŠnn‹nnŒnn<<<< <((<00<88<@@<HH<PP<XX<``<hh<pp<xx<€€<ˆˆ<<˜˜<  <¨¨<°°<¸¸<ÀÀ<ÈÈ<ÐÐ<ØØ<àà<èè<ðð<øø<<<<< < (<(0<08<8@<@H 0x7f) result.append("\\u").append(Integer.toHexString(c)); else result.append(c); } return result.toString(); } public void testOne(TestHarness harness, String input, NumericShaper shaper, String expected, int context) { char[] chars = input.toCharArray(); if (context == -1) shaper.shape(chars, 0, chars.length); else shaper.shape(chars, 0, chars.length, context); // Transforming here makes the output legible in case of failure. harness.check(xform(new String(chars)), xform(expected)); } public void test(TestHarness harness) { harness.checkPoint("non-contextual"); NumericShaper nonc = NumericShaper.getShaper(NumericShaper.TIBETAN); harness.check(! nonc.isContextual()); testOne(harness, "abc 0123", nonc, "abc \u0f20\u0f21\u0f22\u0f23", -1); testOne(harness, "abc 0123", nonc, "abc \u0f20\u0f21\u0f22\u0f23", NumericShaper.BENGALI); // Note that the JDK fails some of these, as ethiopic does not // have a digit zero. nonc = NumericShaper.getShaper(NumericShaper.ETHIOPIC); testOne(harness, "abc 0123", nonc, "abc 0\u1369\u136a\u136b", -1); testOne(harness, "abc 0123", nonc, "abc 0\u1369\u136a\u136b", NumericShaper.EASTERN_ARABIC); harness.checkPoint("contextual"); NumericShaper contextualI = NumericShaper.getContextualShaper(NumericShaper.KHMER | NumericShaper.ETHIOPIC); NumericShaper contextualE = NumericShaper.getContextualShaper(NumericShaper.KHMER | NumericShaper.ETHIOPIC, NumericShaper.EUROPEAN); harness.check(contextualE.equals(contextualI)); harness.check(contextualE.isContextual()); // Use built-in context. testOne(harness, "45", contextualE, "45", -1); // Explicit context. testOne(harness, "45", contextualE, "\u17e4\u17e5", NumericShaper.KHMER); // Explicit but unrecognized context. testOne(harness, "45", contextualE, "45", NumericShaper.ARABIC); // The other explicit context. testOne(harness, "45", contextualE, "\u136c\u136d", NumericShaper.ETHIOPIC); // Context from the text. The first \\u is ethiopic, the second khmer. testOne(harness, "45 \u134d 045 \u1782 045", contextualI, "45 \u134d 0\u136c\u136d \u1782 \u17e0\u17e4\u17e5", -1); harness.checkPoint("arabic"); NumericShaper arabic = NumericShaper.getContextualShaper(NumericShaper.ARABIC | NumericShaper.EASTERN_ARABIC); // According to testing, eastern arabic takes precedence here. testOne(harness, "\u062b 1", arabic, "\u062b \u06f1", -1); // This should choose eastern arabic. testOne(harness, "1", arabic, "\u06f1", NumericShaper.EASTERN_ARABIC); } } mauve-20140821/gnu/testlet/java/awt/AWTError/0000755000175000001440000000000012375316426017414 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/AWTError/constructor.java0000644000175000001440000000335311733061127022640 0ustar dokousers// constructor.java -- // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.AWTError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.AWTError; /** * Check of method constructor for a class AWTError. */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Throwable a; a = new AWTError(""); harness.check(a.getMessage(), ""); a = new AWTError("awterror"); harness.check(a.getMessage(), "awterror"); try { throw new AWTError(""); } catch (Throwable t) { harness.check(t.getMessage(), ""); harness.check(t instanceof AWTError); } try { throw new AWTError("awterror"); } catch (Throwable t) { harness.check(t.getMessage(), "awterror"); harness.check(t instanceof AWTError); } } } mauve-20140821/gnu/testlet/java/awt/geom/0000755000175000001440000000000012375316426016676 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/geom/Line2D/0000755000175000001440000000000012375316426017753 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/geom/Line2D/equals.java0000644000175000001440000000251110104656036022077 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert (david.gilbert@object-refinery.com) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Line2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Line2D; /** * Line2D does not override equals (see bug parade id 5057070). */ public class equals implements Testlet { /** * Confirm that two lines with the same end points are NOT considered equal. */ public void test(TestHarness harness) { Line2D line1 = new Line2D.Double(1.0, 2.0, 3.0, 4.0); Line2D line2 = new Line2D.Double(1.0, 2.0, 3.0, 4.0); harness.check(!line1.equals(line2)); } }mauve-20140821/gnu/testlet/java/awt/geom/Line2D/clone.java0000644000175000001440000000317710104656036021716 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Line2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Line2D; /** * Checks that Line2D.clone() method works correctly. */ public class clone implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Line2D line1 = new Line2D.Double(1.0, 2.0, 3.0, 4.0); Line2D line2 = null; line2 = (Line2D) line1.clone(); harness.check(line1.getX1() == line2.getX1()); harness.check(line1.getX2() == line2.getX2()); harness.check(line1.getY1() == line2.getY1()); harness.check(line1.getY2() == line2.getY2()); harness.check(line1.getClass() == line2.getClass()); harness.check(line1 != line2); } } mauve-20140821/gnu/testlet/java/awt/geom/Line2D/getBounds.java0000644000175000001440000000302410104656036022537 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Line2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Line2D; import java.awt.Rectangle; /** * Checks that Line2D.getBounds() works correctly. */ public class getBounds implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Line2D line1 = new Line2D.Double(1.0, 2.0, 3.0, 4.0); Rectangle bounds = line1.getBounds(); harness.check((int) bounds.getX() == 1); harness.check((int) bounds.getMaxX() == 3); harness.check((int) bounds.getY() == 2); harness.check((int) bounds.getMaxY() == 4); } } mauve-20140821/gnu/testlet/java/awt/geom/Line2D/intersects.java0000644000175000001440000000622110104656036022772 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert (david.gilbert@object-refinery.com) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Line2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Line2D; import java.awt.geom.Rectangle2D; /** * Checks whether Line2D.intersects() works correctly. */ public class intersects implements Testlet { public void test(TestHarness harness) { Line2D line1 = new Line2D.Double(0.0, 0.0, 1.0, 0.0); harness.check(line1.intersects(0.0, -1.0, 1.0, 1.0)); harness.check(line1.intersects(0.0, 0.0, 1.0, 1.0)); harness.check(!line1.intersects(0.0, 1.0, 1.0, 1.0)); harness.check(line1.intersects(new Rectangle2D.Double(0.0, -1.0, 1.0, 1.0))); harness.check(line1.intersects(new Rectangle2D.Double(0.0, 0.0, 1.0, 1.0))); harness.check(!line1.intersects(new Rectangle2D.Double(0.0, 1.0, 1.0, 1.0))); Line2D line2 = new Line2D.Double(0.0, 0.0, 0.0, 1.0); harness.check(line2.intersects(-1.0, 0.0, 1.0, 1.0)); harness.check(line2.intersects(0.0, 0.0, 1.0, 1.0)); harness.check(!line2.intersects(1.0, 0.0, 1.0, 1.0)); harness.check(line2.intersects(new Rectangle2D.Double(-1.0, 0.0, 1.0, 1.0))); harness.check(line2.intersects(new Rectangle2D.Double(0.0, 0.0, 1.0, 1.0))); harness.check(!line2.intersects(new Rectangle2D.Double(1.0, 0.0, 1.0, 1.0))); Line2D line3 = new Line2D.Double(0.0, 1.0, 1.0, 1.0); harness.check(!line3.intersects(0.0, -1.0, 1.0, 1.0)); harness.check(line3.intersects(0.0, 0.0, 1.0, 1.0)); harness.check(line3.intersects(0.0, 1.0, 1.0, 1.0)); harness.check(!line3.intersects(new Rectangle2D.Double(0.0, -1.0, 1.0, 1.0))); harness.check(line3.intersects(new Rectangle2D.Double(0.0, 0.0, 1.0, 1.0))); harness.check(line3.intersects(new Rectangle2D.Double(0.0, 1.0, 1.0, 1.0))); Line2D line4 = new Line2D.Double(1.0, 0.0, 1.0, 1.0); harness.check(!line4.intersects(-1.0, 0.0, 1.0, 1.0)); harness.check(line4.intersects(0.0, 0.0, 1.0, 1.0)); harness.check(line4.intersects(1.0, 0.0, 1.0, 1.0)); harness.check(!line4.intersects(new Rectangle2D.Double(-1.0, 0.0, 1.0, 1.0))); harness.check(line4.intersects(new Rectangle2D.Double(0.0, 0.0, 1.0, 1.0))); harness.check(line4.intersects(new Rectangle2D.Double(1.0, 0.0, 1.0, 1.0))); boolean pass = false; try { line4.intersects(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/java/awt/geom/Line2D/linesIntersect.java0000644000175000001440000000420510104661544023602 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 Sven de Marothy //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Line2D; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.Line2D; /** * Checks whether Line2D.linesIntersect works correctly * * @author Sven de Marothy */ public class linesIntersect implements Testlet { public void test(TestHarness harness) { // Test 1 - a simple intersection harness.check(Line2D.linesIntersect(0.0, 0.0, 100.0, 50.0, 0.0, 50.0, 100.0, 0.0)); // Test 2 - an orthogonal intersection harness.check(Line2D.linesIntersect(0.0, 0.0, 100.0, 100.0, 0.0, 100.0, 100.0, 0.0)); // Test 3 - an orthogonal intersection on the axes harness.check(Line2D.linesIntersect(0.0, 10.0, 100.0, 10.0, 50.0, 0.0, 50.0, 50.0)); // Test 4 - colinear overlapping lines harness.check(Line2D.linesIntersect(10.0, 10.0, 10.0, 90.0, 10.0, 0.0, 10.0, 100.0)); // Test 5 - colinear nonoverlapping lines harness.check(!Line2D.linesIntersect(10.0, 10.0, 10.0, 90.0, 10.0, 91.0, 10.0, 100.0)); // Test 6 - zero length lines at same point harness.check(Line2D.linesIntersect(1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0)); // Test 7 - segments share end point harness.check(Line2D.linesIntersect(0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0)); } }mauve-20140821/gnu/testlet/java/awt/geom/Line2D/getP1.java0000644000175000001440000000241110104656036021564 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert (david.gilbert@object-refinery.com) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Line2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Line2D; import java.awt.geom.Point2D; /** * Checks whether Line2D.getP1() works correctly. */ public class getP1 implements Testlet { public void test(TestHarness harness) { Line2D line1 = new Line2D.Double(1.0, 2.0, 3.0, 4.0); Point2D pt1 = line1.getP1(); harness.check(pt1.getX() == 1.0); harness.check(pt1.getY() == 2.0); } }mauve-20140821/gnu/testlet/java/awt/geom/Line2D/setLine.java0000644000175000001440000000617210104656036022217 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert (david.gilbert@object-refinery.com) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Line2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Line2D; import java.awt.geom.Point2D; /** * Checks whether Line2D.setLine() works correctly. */ public class setLine implements Testlet { public void test(TestHarness harness) { Line2D line1 = new Line2D.Double(); line1.setLine(1.0, 2.0, 3.0, 4.0); harness.check(line1.getX1() == 1.0); harness.check(line1.getY1() == 2.0); harness.check(line1.getX2() == 3.0); harness.check(line1.getY2() == 4.0); line1.setLine(new Point2D.Double(1.1, 2.2), new Point2D.Double(3.3, 4.4)); harness.check(line1.getX1() == 1.1); harness.check(line1.getY1() == 2.2); harness.check(line1.getX2() == 3.3); harness.check(line1.getY2() == 4.4); line1.setLine(new Line2D.Double(1.11, 2.22, 3.33, 4.44)); harness.check(line1.getX1() == 1.11); harness.check(line1.getY1() == 2.22); harness.check(line1.getX2() == 3.33); harness.check(line1.getY2() == 4.44); Line2D line2 = new Line2D.Float(); line2.setLine(1.1, 2.2, 3.3, 4.4); harness.check(line2.getX1() == 1.1f); harness.check(line2.getY1() == 2.2f); harness.check(line2.getX2() == 3.3f); harness.check(line2.getY2() == 4.4f); line2.setLine(new Point2D.Float(1.1f, 2.2f), new Point2D.Float(3.3f, 4.4f)); harness.check(line2.getX1() == 1.1f); harness.check(line2.getY1() == 2.2f); harness.check(line2.getX2() == 3.3f); harness.check(line2.getY2() == 4.4f); line2.setLine(new Line2D.Float(1.11f, 2.22f, 3.33f, 4.44f)); harness.check(line2.getX1() == 1.11f); harness.check(line2.getY1() == 2.22f); harness.check(line2.getX2() == 3.33f); harness.check(line2.getY2() == 4.44f); // check that null arguments throw the correct exception boolean pass = false; try { line1.setLine(null, new Point2D.Double()); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { line1.setLine(new Point2D.Double(), null); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { line1.setLine((Line2D) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/java/awt/geom/Line2D/ptLineDistSq.java0000644000175000001440000000555010104656036023176 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert (david.gilbert@object-refinery.com) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Line2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Line2D; import java.awt.geom.Point2D; /** * Checks whether Line2D.ptLineDistSq() works correctly. */ public class ptLineDistSq implements Testlet { public void test(TestHarness harness) { Line2D line1 = new Line2D.Double(0.0, 0.0, 1.0, 0.0); harness.check(0.0, line1.ptLineDistSq(-50.0, 0.0)); harness.check(0.0, line1.ptLineDistSq(0.0, 0.0)); harness.check(0.0, line1.ptLineDistSq(1.0, 0.0)); harness.check(0.0, line1.ptLineDistSq(50.0, 0.0)); harness.check(1.0, line1.ptLineDistSq(-50.0, 1.0)); harness.check(1.0, line1.ptLineDistSq(0.0, 1.0)); harness.check(1.0, line1.ptLineDistSq(1.0, 1.0)); harness.check(1.0, line1.ptLineDistSq(50.0, 1.0)); harness.check(1.0, line1.ptLineDistSq(-50.0, -1.0)); harness.check(1.0, line1.ptLineDistSq(0.0, -1.0)); harness.check(1.0, line1.ptLineDistSq(1.0, -1.0)); harness.check(1.0, line1.ptLineDistSq(50.0, -1.0)); harness.check(0.0, line1.ptLineDistSq(new Point2D.Double(-50.0, 0.0))); harness.check(0.0, line1.ptLineDistSq(new Point2D.Double(0.0, 0.0))); harness.check(0.0, line1.ptLineDistSq(new Point2D.Double(1.0, 0.0))); harness.check(0.0, line1.ptLineDistSq(new Point2D.Double(50.0, 0.0))); harness.check(1.0, line1.ptLineDistSq(new Point2D.Double(-50.0, 1.0))); harness.check(1.0, line1.ptLineDistSq(new Point2D.Double(0.0, 1.0))); harness.check(1.0, line1.ptLineDistSq(new Point2D.Double(1.0, 1.0))); harness.check(1.0, line1.ptLineDistSq(new Point2D.Double(50.0, 1.0))); harness.check(1.0, line1.ptLineDistSq(new Point2D.Double(-50.0, -1.0))); harness.check(1.0, line1.ptLineDistSq(new Point2D.Double(0.0, -1.0))); harness.check(1.0, line1.ptLineDistSq(new Point2D.Double(1.0, -1.0))); harness.check(1.0, line1.ptLineDistSq(new Point2D.Double(50.0, -1.0))); boolean pass = false; try { line1.ptLineDistSq(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/java/awt/geom/Line2D/relativeCCW.java0000644000175000001440000000562310104656036022764 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert (david.gilbert@object-refinery.com) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Line2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Line2D; import java.awt.geom.Point2D; /** * Some checks for the Line2D.relativeCCW() methods. */ public class relativeCCW implements Testlet { /** * Run the test. */ public void test(TestHarness harness) { harness.check(Line2D.relativeCCW(1.0, 1.0, 3.0, 2.0, 1.0, 1.0) == 0); harness.check(Line2D.relativeCCW(1.0, 1.0, 3.0, 2.0, 3.0, 2.0) == 0); harness.check(Line2D.relativeCCW(1.0, 1.0, 3.0, 2.0, 0.0, 0.0) == 1); harness.check(Line2D.relativeCCW(1.0, 1.0, 3.0, 2.0, -1.0, 0.0) == -1); harness.check(Line2D.relativeCCW(1.0, 1.0, 3.0, 2.0, 5.0, 3.0) == 1); harness.check(Line2D.relativeCCW(1.0, 1.0, 3.0, 2.0, 5.0, 4.0) == -1); harness.check(Line2D.relativeCCW(1.0, 1.0, 3.0, 2.0, -1.0, -1.0) == 1); harness.check(Line2D.relativeCCW(1.0, 1.0, 1.0, 1.0, 1.0, 1.0) == 0); harness.check(Line2D.relativeCCW(1.0, 1.0, 1.0, 1.0, 2.0, 2.0) == 0); Line2D line1 = new Line2D.Double(1.0, 1.0, 3.0, 2.0); harness.check(line1.relativeCCW(1.0, 1.0) == 0); harness.check(line1.relativeCCW(3.0, 2.0) == 0); harness.check(line1.relativeCCW(0.0, 0.0) == 1); harness.check(line1.relativeCCW(-1.0, 0.0) == -1); harness.check(line1.relativeCCW(5.0, 3.0) == 1); harness.check(line1.relativeCCW(5.0, 4.0) == -1); harness.check(line1.relativeCCW(-1.0, -1.0) == 1); harness.check(line1.relativeCCW(new Point2D.Double(1.0, 1.0)) == 0); harness.check(line1.relativeCCW(new Point2D.Double(3.0, 2.0)) == 0); harness.check(line1.relativeCCW(new Point2D.Double(0.0, 0.0)) == 1); harness.check(line1.relativeCCW(new Point2D.Double(-1.0, 0.0)) == -1); harness.check(line1.relativeCCW(new Point2D.Double(5.0, 3.0)) == 1); harness.check(line1.relativeCCW(new Point2D.Double(5.0, 4.0)) == -1); harness.check(line1.relativeCCW(new Point2D.Double(-1.0, -1.0)) == 1); boolean pass = false; try { line1.relativeCCW(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/java/awt/geom/Line2D/getP2.java0000644000175000001440000000240710104656036021572 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert (david.gilbert@object-refinery.com) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Line2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Line2D; import java.awt.geom.Point2D; /** * Checks whether Line2D.getP2() works correctly. */ public class getP2 implements Testlet { public void test(TestHarness harness) { Line2D line1 = new Line2D.Double(1.0, 2.0, 3.0, 4.0); Point2D pt2 = line1.getP2(); harness.check(pt2.getX() == 3.0); harness.check(pt2.getY() == 4.0); } }mauve-20140821/gnu/testlet/java/awt/geom/Line2D/intersectsLine.java0000644000175000001440000000376710104656036023616 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert (david.gilbert@object-refinery.com) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Line2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Line2D; /** * Checks whether Line2D.intersectsLine() works correctly. */ public class intersectsLine implements Testlet { public void test(TestHarness harness) { Line2D line1 = new Line2D.Double(0.0, 0.0, 1.0, 0.0); harness.check(line1.intersectsLine(0.0, 0.0, 1.0, 0.0)); harness.check(line1.intersectsLine(0.0, 0.0, 1.0, 1.0)); harness.check(line1.intersectsLine(1.0, 1.0, 1.0, 0.0)); harness.check(line1.intersectsLine(0.5, 0.5, 0.5, -0.5)); harness.check(!line1.intersectsLine(0.0, 1.0, 1.0, 1.0)); harness.check(line1.intersectsLine(new Line2D.Double(0.0, 0.0, 1.0, 0.0))); harness.check(line1.intersectsLine(new Line2D.Double(0.0, 0.0, 1.0, 1.0))); harness.check(line1.intersectsLine(new Line2D.Double(1.0, 1.0, 1.0, 0.0))); harness.check(line1.intersectsLine(new Line2D.Double(0.5, 0.5, 0.5, -0.5))); harness.check(!line1.intersectsLine(new Line2D.Double(0.0, 1.0, 1.0, 1.0))); boolean pass = false; try { line1.intersectsLine(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/java/awt/geom/Line2D/getPathIterator.java0000644000175000001440000000352410104656036023720 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert (david.gilbert@object-refinery.com) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Line2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Line2D; import java.awt.geom.PathIterator; /** * Checks whether Line2D.getPathIterator() works correctly. */ public class getPathIterator implements Testlet { public void test(TestHarness harness) { Line2D line1 = new Line2D.Double(1.0, 2.0, 3.0, 4.0); PathIterator iterator = line1.getPathIterator(null); double[] c = new double[6]; harness.check(!iterator.isDone()); harness.check(iterator.currentSegment(c), PathIterator.SEG_MOVETO); harness.check(c[0], 1.0); harness.check(c[1], 2.0); iterator.next(); harness.check(!iterator.isDone()); harness.check(iterator.currentSegment(c), PathIterator.SEG_LINETO); harness.check(c[0], 3.0); harness.check(c[1], 4.0); iterator.next(); harness.check(iterator.isDone()); } }mauve-20140821/gnu/testlet/java/awt/geom/Line2D/contains.java0000644000175000001440000000346110104656036022430 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Line2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Line2D; import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; /** * Checks that Line2D.contains() method works correctly. */ public class contains implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Line2D line1 = new Line2D.Double(1.0, 2.0, 3.0, 4.0); harness.check(line1.contains(1.0, 2.0) == false); harness.check(line1.contains(3.0, 4.0) == false); harness.check(line1.contains(new Point2D.Double(1.0, 2.0)) == false); harness.check(line1.contains(new Point2D.Double(3.0, 4.0)) == false); harness.check(line1.contains((Point2D) null) == false); harness.check(line1.contains(new Rectangle2D.Double(1.0, 2.0, 0.0, 0.0)) == false); harness.check(line1.contains((Rectangle2D) null) == false); } } mauve-20140821/gnu/testlet/java/awt/geom/Line2D/ptSegDist.java0000644000175000001440000000564710104656036022530 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert (david.gilbert@object-refinery.com) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Line2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Line2D; import java.awt.geom.Point2D; /** * Checks whether Line2D.ptSegDist() works correctly. */ public class ptSegDist implements Testlet { public void test(TestHarness harness) { Line2D line1 = new Line2D.Double(0.0, 0.0, 1.0, 0.0); harness.check(50.0, line1.ptSegDist(-50.0, 0.0)); harness.check(0.0, line1.ptSegDist(0.0, 0.0)); harness.check(0.0, line1.ptSegDist(1.0, 0.0)); harness.check(49.0, line1.ptSegDist(50.0, 0.0)); harness.check(Math.sqrt(2501.0), line1.ptSegDist(-50.0, 1.0)); harness.check(1.0, line1.ptSegDist(0.0, 1.0)); harness.check(1.0, line1.ptSegDist(1.0, 1.0)); harness.check(Math.sqrt(49.0*49.0+1.0), line1.ptSegDist(50.0, 1.0)); harness.check(Math.sqrt(2501.0), line1.ptSegDist(-50.0, -1.0)); harness.check(1.0, line1.ptSegDist(0.0, -1.0)); harness.check(1.0, line1.ptSegDist(1.0, -1.0)); harness.check(Math.sqrt(49.0*49.0+1.0), line1.ptSegDist(50.0, -1.0)); harness.check(50.0, line1.ptSegDist(new Point2D.Double(-50.0, 0.0))); harness.check(0.0, line1.ptSegDist(new Point2D.Double(0.0, 0.0))); harness.check(0.0, line1.ptSegDist(new Point2D.Double(1.0, 0.0))); harness.check(49.0, line1.ptSegDist(new Point2D.Double(50.0, 0.0))); harness.check(Math.sqrt(2501.0), line1.ptSegDist(new Point2D.Double(-50.0, 1.0))); harness.check(1.0, line1.ptSegDist(new Point2D.Double(0.0, 1.0))); harness.check(1.0, line1.ptSegDist(new Point2D.Double(1.0, 1.0))); harness.check(Math.sqrt(49.0*49.0+1.0), line1.ptSegDist(new Point2D.Double(50.0, 1.0))); harness.check(Math.sqrt(2501.0), line1.ptSegDist(new Point2D.Double(-50.0, -1.0))); harness.check(1.0, line1.ptSegDist(new Point2D.Double(0.0, -1.0))); harness.check(1.0, line1.ptSegDist(new Point2D.Double(1.0, -1.0))); harness.check(Math.sqrt(49.0*49.0+1.0), line1.ptSegDist(new Point2D.Double(50.0, -1.0))); boolean pass = false; try { line1.ptSegDist(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/java/awt/geom/Line2D/ptSegDistSq.java0000644000175000001440000000561710104656036023031 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert (david.gilbert@object-refinery.com) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Line2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Line2D; import java.awt.geom.Point2D; /** * Checks whether Line2D.ptSegDistSq() works correctly. */ public class ptSegDistSq implements Testlet { public void test(TestHarness harness) { Line2D line1 = new Line2D.Double(0.0, 0.0, 1.0, 0.0); harness.check(2500.0, line1.ptSegDistSq(-50.0, 0.0)); harness.check(0.0, line1.ptSegDistSq(0.0, 0.0)); harness.check(0.0, line1.ptSegDistSq(1.0, 0.0)); harness.check(49.0*49.0, line1.ptSegDistSq(50.0, 0.0)); harness.check(2501.0, line1.ptSegDistSq(-50.0, 1.0)); harness.check(1.0, line1.ptSegDistSq(0.0, 1.0)); harness.check(1.0, line1.ptSegDistSq(1.0, 1.0)); harness.check(49.0*49.0+1.0, line1.ptSegDistSq(50.0, 1.0)); harness.check(2501.0, line1.ptSegDistSq(-50.0, -1.0)); harness.check(1.0, line1.ptSegDistSq(0.0, -1.0)); harness.check(1.0, line1.ptSegDistSq(1.0, -1.0)); harness.check(49.0*49.0+1.0, line1.ptSegDistSq(50.0, -1.0)); harness.check(2500.0, line1.ptSegDistSq(new Point2D.Double(-50.0, 0.0))); harness.check(0.0, line1.ptSegDistSq(new Point2D.Double(0.0, 0.0))); harness.check(0.0, line1.ptSegDistSq(new Point2D.Double(1.0, 0.0))); harness.check(49.0*49.0, line1.ptSegDistSq(new Point2D.Double(50.0, 0.0))); harness.check(2501.0, line1.ptSegDistSq(new Point2D.Double(-50.0, 1.0))); harness.check(1.0, line1.ptSegDistSq(new Point2D.Double(0.0, 1.0))); harness.check(1.0, line1.ptSegDistSq(new Point2D.Double(1.0, 1.0))); harness.check(49.0*49.0+1.0, line1.ptSegDistSq(new Point2D.Double(50.0, 1.0))); harness.check(2501.0, line1.ptSegDistSq(new Point2D.Double(-50.0, -1.0))); harness.check(1.0, line1.ptSegDistSq(new Point2D.Double(0.0, -1.0))); harness.check(1.0, line1.ptSegDistSq(new Point2D.Double(1.0, -1.0))); harness.check(49.0*49.0+1.0, line1.ptSegDistSq(new Point2D.Double(50.0, -1.0))); boolean pass = false; try { line1.ptSegDistSq(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/java/awt/geom/Line2D/ptLineDist.java0000644000175000001440000000546410104656036022676 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert (david.gilbert@object-refinery.com) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Line2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Line2D; import java.awt.geom.Point2D; /** * Checks whether Line2D.ptLineDist() works correctly. */ public class ptLineDist implements Testlet { public void test(TestHarness harness) { Line2D line1 = new Line2D.Double(0.0, 0.0, 1.0, 0.0); harness.check(0.0, line1.ptLineDist(-50.0, 0.0)); harness.check(0.0, line1.ptLineDist(0.0, 0.0)); harness.check(0.0, line1.ptLineDist(1.0, 0.0)); harness.check(0.0, line1.ptLineDist(50.0, 0.0)); harness.check(1.0, line1.ptLineDist(-50.0, 1.0)); harness.check(1.0, line1.ptLineDist(0.0, 1.0)); harness.check(1.0, line1.ptLineDist(1.0, 1.0)); harness.check(1.0, line1.ptLineDist(50.0, 1.0)); harness.check(1.0, line1.ptLineDist(-50.0, -1.0)); harness.check(1.0, line1.ptLineDist(0.0, -1.0)); harness.check(1.0, line1.ptLineDist(1.0, -1.0)); harness.check(1.0, line1.ptLineDist(50.0, -1.0)); harness.check(0.0, line1.ptLineDist(new Point2D.Double(-50.0, 0.0))); harness.check(0.0, line1.ptLineDist(new Point2D.Double(0.0, 0.0))); harness.check(0.0, line1.ptLineDist(new Point2D.Double(1.0, 0.0))); harness.check(0.0, line1.ptLineDist(new Point2D.Double(50.0, 0.0))); harness.check(1.0, line1.ptLineDist(new Point2D.Double(-50.0, 1.0))); harness.check(1.0, line1.ptLineDist(new Point2D.Double(0.0, 1.0))); harness.check(1.0, line1.ptLineDist(new Point2D.Double(1.0, 1.0))); harness.check(1.0, line1.ptLineDist(new Point2D.Double(50.0, 1.0))); harness.check(1.0, line1.ptLineDist(new Point2D.Double(-50.0, -1.0))); harness.check(1.0, line1.ptLineDist(new Point2D.Double(0.0, -1.0))); harness.check(1.0, line1.ptLineDist(new Point2D.Double(1.0, -1.0))); harness.check(1.0, line1.ptLineDist(new Point2D.Double(50.0, -1.0))); boolean pass = false; try { line1.ptLineDist(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/java/awt/geom/RoundRectangle2D/0000755000175000001440000000000012375316426022000 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/geom/RoundRectangle2D/intersects.java0000644000175000001440000001024310057633051025015 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.RoundRectangle2D; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.RoundRectangle2D; /* Uncomment this line and the code towards the end of the class * for displaying a visualization of the testlet. * * import java.awt.*; * * */ /** * Checks that RoundRectangle2D.intersects works correctly. In the * illustration below, rectangles considered intersecting are * painted green, and rectangles considered non-intersecting * are painted red. * *

A visualization of the tested rectangles * * @author Sascha Brawer (brawer@dandelis.ch) */ public class intersects implements Testlet { RoundRectangle2D rr = new RoundRectangle2D.Double(0,0,10,10,6,6); private static final double[] coords = { -3, -1, 0.5, 4, 6, 9.5, 11, 13 }; // Tests for bug #6067 in GNU Classpath public void test(TestHarness harness) { int ck = 0; for (int y = 0; y < coords.length - 1; y++) for (int x = 0; x < coords.length - 1; x++) harness.check(rr.intersects(coords[x], coords[y], coords[x + 1] - coords[x], coords[y + 1] - coords[y]) == getExpected(++ck)); } private boolean getExpected(int check) { return ((check >= 10) && (check <= 12)) || ((check >= 16) && (check <= 20)) || ((check >= 23) && (check <= 27)) || ((check >= 30) && (check <= 34)) || ((check >= 38) && (check <= 40)); } /* This code was used to generate the image. * * * public void showWindow() { Frame f = new Frame("Foo"); Canvas c = new Canvas() { public void paint(Graphics g) { Graphics2D g2 = (Graphics2D) g; g2.setBackground(Color.WHITE); g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2.clearRect(0,0,getWidth(),getHeight()); g2.scale(14,14); g2.translate(5, 5); g2.fill(rr); Rectangle2D rect = new Rectangle2D.Double(); g2.setFont(new Font("Lucida", Font.BOLD, 1).deriveFont(0.8f)); int ck = 0; for (int y = 0; y < coords.length - 1; y++) { for (int x = 0; x < coords.length - 1; x++) { double w, h; w = coords[x + 1] - coords[x]; h = coords[y + 1] - coords[y]; if (getExpected(++ck)) g2.setColor(new Color(0,255,0,120)); else g2.setColor(new Color(255,0,0,120)); rect.setRect(coords[x], coords[y], w, h); g2.fill(rect); g2.setColor(new Color(255,255,255,128)); g2.setStroke(new BasicStroke(0.05f)); g2.draw(rect); g2.setColor(Color.BLACK); g2.drawString(String.valueOf(ck), (float) coords[x] + 0.15f, (float) coords[y] + 1.15f); g2.setColor(Color.WHITE); g2.drawString(String.valueOf(ck), (float) coords[x] + 0.1f, (float) coords[y] + 1.1f); } } } }; f.add(c); f.pack(); f.setSize(new Dimension(200, 200)); f.show(); } public static void main(String[] args) { new intersects().showWindow(); } */ } mauve-20140821/gnu/testlet/java/awt/geom/RoundRectangle2D/doc-files/0000755000175000001440000000000012375316426023645 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/geom/RoundRectangle2D/doc-files/intersects-1.png0000644000175000001440000000654707746211420026702 0ustar dokousers‰PNG  IHDRÄ —&0PLTEtÁtø²²8E2±ø±RE?†þ†oNM󿾃eeyý††þþý™4oC òIDATxÚí]h[É€¯Á°y°§ÖÉ:†\¬ ÖjýJ‰ƒ ëMi)n &b…½(ôÍöC)¤ä!‹ëT0‹ÌRúŠXC—X$MJð–‚G²ƒå L© ÛõOboNXSƒX̺ósgî•îȺ²®³Š3r䙫OósuΜ3g ¨¯ËÐ<šGóhÍ£y4æÑ<šGóhÍ£y4O%ž©óÎË–ºÏ—¹¦Ϋª©ÄÓ“s^¶”Í•¹zrªêÅE4æy£x²ÓÎÛÃÖ”uÃoäø[!ÈzæÉæm×ôl}`­',¢ãYqJ yØÿâ›#.žüFŽ/0‹Sýyº?M9ÆO7X œgƒüã'ÖRò°%Æ#þÊýõ®ÃïÉ´zñÄ$þâ'>؇”>éõóä“N5¦žÇ:Œ(ß]ÁØ8}ßÅÓkÃpúm)öÎíÒŠ#ãò*7˜Ozý<ùã¤S©ç‘Ðþ ·o/¹xÃ(Ž tŽÚŒZtòJ“þ¢Ê75˜Ozý<ùw¤S©{ÌœŠïÍžÌp›{ü‚ï`¥ß–†úb£%Fxb׸9À}|UñH§çi1Cä—‹ò¤¯ô+y‚Ÿ¦Ò·M%¥vQ|µ›ÜÇWtªqžV( “ñìžÅJhGûà_¥JÚ?A‘Ž7¸¯J˪`ñƒçKÿxÂ~ð¤5Ï<ÿxö4ÏkŃýàÁšGóhÍ£y4æÑîWû—ÃÔ·#üqT"ý׿ò§˜C(AãÙ'È(¾Š<Ô[&wÅEy¨\gN§¯Ï0Àpñß§ÒÎ&[zï³N×x&ÕÉðy„,œŒâóæ“þwêèhÃ܇ýÅ3¾ÆÛ§Ñ´#v=ÙïrW‚…áÖ­&¾`¢æÁÐÆmx!ñ—k½å¥µE nȈ]Oö»ÜGxG†v‡ÙúÏÎ}5±Ý™ /%iÍŸsˆ˜ÿ|üdÄ®7û]ìŠ#ó}¸0<ÛÏ&ìûÊõ b»·9×눴ÞѦ˜ïHcŸ`óýBRFìz³ßÅ®8b¿ ´Ïí÷†~nûì÷ìÜG¥…ýÞP@hœÍwãTNFìêø–7€'|yŽq|]½ÅCÖ[¼¨Žï}½â±ë.^½Þâùëm¿ÃDñ ÚyüÝïYgû‰Ð'µò|é/ÏD­fh¬„ŒÑØeÂ3®ü™ÙM<,W¥ˆØõâ?½cpCôù=‚ôWâebíG/ý…‰“©1º ·n¹xh>F‹‡Î±ëeüºÿ`y˘Ä· ãç\b-rNÁ38‚ÛÖø{ùÄÐî¶»¿ 0,š«RFìz˜ï’ÙÜIŠù~!É· óýQü^ä¡b¾`ýAHÌ÷e4¼RÌ÷k#~@E5ùmNår·ÄYLjæù* èlãŽ{¾h\¼OZË@h@ñüY°œ•ü€ŠCæ·Ñù5ÏëÍ£ÏÓ<šçMâqjÛüp8úÊR…œÿ@—ò?Û«î>CŽUϲ¯ËŠÈ>ùýˆ¶ÝB?¤º.}e©Bž_6 7ù³mðê©€‹‡VßdùçiÁW9Ÿ'Ó¶…>F¥,çé¥<Šþ¢¶ VØy@œà¡Õ×XþyZDFðUÖ牶ʹøœÐ½¹þMò<¸ccE-ì< NðP}àºUDFðUäaÚ6ÕâsB÷fïd™BnüÂ5`YÛàʺë 0V={çô¬UDFðyŠãpB÷fïdùXÎ?wñ°"cÎ EÄY<,¿úÊ?Ÿ‹"'½Æ³ñÌð)aŸ‰½“e ¹â BVÄ6¨Tt@œè/R=¿Ö}N8'"ø<Ìw:.$Åô]æ¹â³\!Ÿº®˜ïdÈK€JEÄÙó=½7õ…ÐçEŸ‡ç!Õ¶OÉgà»!UÈßJ*ž‡†Ã`R³êyHª? q{üDŸþ½Ð<šGóhÍsy¾÷KóhÍ£y4æÑ<šGóhÍ£y4Ï«¹þOâÀ¥Ìœ/ÛIEND®B`‚mauve-20140821/gnu/testlet/java/awt/geom/RoundRectangle2D/doc-files/contains-1.png0000644000175000001440000000162407746211420026324 0ustar dokousers‰PNG  IHDRƸ=š¾I0PLTE ,,,EEEþþ```zzz”””«««¶¶¶ººº¿¿¿ÆÆÆÞÞÞþþþ_§Ç bKGDˆHIDATxÚ홽rÚ@Ç70`“•©2W®ŒÊtnè¡qOÒ¤Ô+È“™´~¿É“ð N^@ÄbÆRÀ ¡ÓÝénO‡Å˜]7¬VýtºÛ=C’³Tñ€~æ=ÁÆz©·u ±÷–¯ì½™ï™ñ—½K´õæ•[{ Ϙ$Ì['Lk{5y…Ü?«'{ë¤VŒp!Ø¿üÁzLÄ‘F öÈ£4’oÏ”íƒ'INgä‘ÙFÜ×qó¹È"Òn1r˜}6’›!—Ò°‘üL|Fz9j$¿"…š#·àŠt†¸Å‡í"óÍßöâh'™Ÿí7g#’ĺdž¤³2sS²n=m‰€µŽ²-Ù­­ì—_ÞY¿ìÅ<¡J$‘XqÈxÉL"¹ÄÅKàŒ%›)‘›%ùŸ0’O8ïNã%²™Ü”KÖøïeWfsö¡t…~1aù¢(‚¥5CZùIB’ÄÂ:6®c…î}÷Øú[n{¹Ö‘ü.lb·J ¿ÁúŠqY’+Ÿˆväné‹E:É8+ t’ V"ÎGÚ9‚Ï”nå’Ÿ)9x‰,é»ÀKTŒÄVù6–o- ò$G^”ÚxIG.ñìH&rÉ ~“l0Ý2‰øÍü2I¬1ÅìâI㨯˜öð­¹T¥£/ÅE©¡‘Žz åü”ó“„$'&Á1ˆA b£^Æ`Ÿ3 …w„WÓ›4ï€ÿp@n_Âꌕ kL+ÎÝ{þ™wÜ•OUæn¬lľ)¡q_Å.€-ˆŒ1mk2þÂ>1V€²© ãŽÑ1`ÄŽ!ž!¢ÿ©XFÏcm<ÃÅ2x Ä 1øÜ 5>êNxus3>÷¡ñ 1êe8oÀð°ƒÜ'À2.ðŒXFÏXbõ2ámšÔ8Èâ oT¢¢*:%Œ¥½Ñ×ÎÏÖzªäœá¯.â¦Â™ÌBáW:“‰Ç꼤V=O\U|+çp«ŸWâç_}×Й%1è¼Ä 1ˆqBŒÿ4Ú;ÎpJ®ÿIEND®B`‚mauve-20140821/gnu/testlet/java/awt/geom/RoundRectangle2D/contains.java0000644000175000001440000000640710057633051024457 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.RoundRectangle2D; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.RoundRectangle2D; /* Uncomment this line and the code towards the end of the class * for displaying a visualization of the testlet. * import java.awt.*; * */ /** * Checks that RoundRectangle2D.contains works correctly. In the * illustration below, points considered inside are painted * green, and points considered outside are painted red. * *

A visualization of the tested points * * @author Sascha Brawer (brawer@dandelis.ch) */ public class contains implements Testlet { RoundRectangle2D rr = new RoundRectangle2D.Double(0,0,10,10,6,6); private static final double[] coords = { -1, 0.5, 5, 9.5, 11 }; public void test(TestHarness harness) { for (int y = 0; y < coords.length; y++) for (int x = 0; x < coords.length; x++) harness.check(rr.contains(coords[x], coords[y]) == getExpected(coords[x], coords[y])); } private boolean getExpected(double x, double y) { if ((x == 0.5) && (y == 5)) return true; if ((x == 5) && ((y == 0.5) || (y == 5) || (y == 9.5))) return true; if ((x == 9.5) && (y == 5)) return true; return false; } /* This code was used to generate the image. * * public void showWindow() { Frame f = new Frame("Foo"); Canvas c = new Canvas() { public void paint(Graphics g) { Graphics2D g2 = (Graphics2D) g; g2.setBackground(Color.WHITE); g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2.clearRect(0,0,getWidth(),getHeight()); g2.scale(10,10); g2.translate(4, 4); g2.fill(rr); Rectangle2D rect = new Rectangle2D.Double(); for (int y = 0; y < coords.length; y++) { for (int x = 0; x < coords.length; x++) { if (getExpected(coords[x], coords[y])) g2.setColor(Color.GREEN); else g2.setColor(Color.RED); rect.setRect(coords[x], coords[y], 0.2, 0.2); g2.fill(rect); } } } }; f.add(c); f.pack(); f.setSize(new Dimension(200, 200)); f.show(); } public static void main(String[] args) { new contains().showWindow(); } */ } mauve-20140821/gnu/testlet/java/awt/geom/QuadCurve2D/0000755000175000001440000000000012375316426020763 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/geom/QuadCurve2D/clone.java0000644000175000001440000000436107746211417022732 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.QuadCurve2D; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.QuadCurve2D; /** * Checks whether the QuadCurve2D.clone method works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class clone implements Testlet { public void test(TestHarness harness) { QuadCurve2D curve; // Checks 1 to 7: Clone a QuadCurve2D.Double curve = (QuadCurve2D) (new QuadCurve2D.Double(4,3,9,1,7,8)).clone(); harness.check(curve instanceof QuadCurve2D.Double); // 1 harness.check(curve.getX1(), 4.0); // 2 harness.check(curve.getY1(), 3.0); // 3 harness.check(curve.getCtrlX(), 9.0); // 4 harness.check(curve.getCtrlY(), 1.0); // 5 harness.check(curve.getX2(), 7.0); // 6 harness.check(curve.getY2(), 8.0); // 7 // Checks 8 to 14: Clone a QuadCurve2D.Float curve = (QuadCurve2D) (new QuadCurve2D.Float(-4,3,-9,1,7,-8)).clone(); harness.check(curve instanceof QuadCurve2D.Float); // 1 harness.check(curve.getX1(), -4.0); // 2 harness.check(curve.getY1(), 3.0); // 3 harness.check(curve.getCtrlX(), -9.0); // 4 harness.check(curve.getCtrlY(), 1.0); // 5 harness.check(curve.getX2(), 7.0); // 6 harness.check(curve.getY2(), -8.0); // 7 } } mauve-20140821/gnu/testlet/java/awt/geom/QuadCurve2D/getFlatnessSq.java0000644000175000001440000000371010057633051024401 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.QuadCurve2D; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.QuadCurve2D; /** * Checks whether the various QuadCurve2D.getFlatnessSq methods work * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getFlatnessSq implements Testlet { private TestHarness harness; public void test(TestHarness harness) { this.harness = harness; // Checks 1 and 2: six doubles chkeps(QuadCurve2D.getFlatnessSq(1, 2, 3, 4, 5, 6), 0); // 1 chkeps(QuadCurve2D.getFlatnessSq(10, -20, 3, 4, 5, 6), // 2 5.483594864479315); // Check 3: double[] double[] d = new double[] {2, 100, -200, 30, 44, 5, 600}; chkeps(QuadCurve2D.getFlatnessSq(d, 1), 1659.6470089749782); // 3 // Checks 4 and 5: Method on QuadCurve2D chkeps((new QuadCurve2D.Double()).getFlatnessSq(), 0); // 4 chkeps((new QuadCurve2D.Double(9,8,1,2,-4,0)).getFlatnessSq(), // 5 0.8412017167381975); } private void chkeps(double a, double b) { if (Math.abs(a - b) > 1e-5) harness.check(a, b); else harness.check(true); } } mauve-20140821/gnu/testlet/java/awt/geom/QuadCurve2D/Double/0000755000175000001440000000000012375316426022175 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/geom/QuadCurve2D/Double/getCtrlPt.java0000644000175000001440000000257107746211420024747 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.QuadCurve2D.Double; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.QuadCurve2D; /** * Checks whether the QuadCurve2D.Double.getCtrlPt() method works * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getCtrlPt implements Testlet { public void test(TestHarness harness) { QuadCurve2D.Double curve; curve = new QuadCurve2D.Double(-1, -2, -3, -4, -5, -6); harness.check(curve.getCtrlPt().getX(), -3); // Check 1 harness.check(curve.getCtrlPt().getY(), -4); // Check 2 } } mauve-20140821/gnu/testlet/java/awt/geom/QuadCurve2D/Double/getP1.java0000644000175000001440000000255107746211420024015 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.QuadCurve2D.Double; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.QuadCurve2D; /** * Checks whether the QuadCurve2D.Double.getP1() method works * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getP1 implements Testlet { public void test(TestHarness harness) { QuadCurve2D.Double curve; curve = new QuadCurve2D.Double(-1, -2, -3, -4, -5, -6); harness.check(curve.getP1().getX(), -1); // Check 1 harness.check(curve.getP1().getY(), -2); // Check 2 } } mauve-20140821/gnu/testlet/java/awt/geom/QuadCurve2D/Double/Double.java0000644000175000001440000000464507746211420024255 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.QuadCurve2D.Double; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.QuadCurve2D; /** * Checks whether the QuadCurve2D.Double constructors works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class Double implements Testlet { private TestHarness h; public void test(TestHarness harness) { this.h = harness; testZeroArgs(); testSixArgs(); } /** * Checks whether the zero-argument constructor works as specified. */ public void testZeroArgs() { QuadCurve2D curve; h.checkPoint("noArgs"); curve = new QuadCurve2D.Double(); h.check(curve.getX1(), 0); // 1 h.check(curve.getY1(), 0); // 2 h.check(curve.getCtrlX(), 0); // 3 h.check(curve.getCtrlY(), 0); // 4 h.check(curve.getX2(), 0); // 5 h.check(curve.getY2(), 0); // 6 } /** * Checks whether the six-argument constructor works as specified. */ public void testSixArgs() { QuadCurve2D.Double curve; h.checkPoint("sixArgs"); curve = new QuadCurve2D.Double(1e1, 2e2, 3e3, 4e4, 5e5, 6e6); h.check(curve.getX1(), 1e1); // 1 h.check(curve.getY1(), 2e2); // 2 h.check(curve.getCtrlX(), 3e3); // 3 h.check(curve.getCtrlY(), 4e4); // 4 h.check(curve.getX2(), 5e5); // 5 h.check(curve.getY2(), 6e6); // 6 h.check(curve.x1, 1e1); // 7 h.check(curve.y1, 2e2); // 8 h.check(curve.ctrlx, 3e3); // 9 h.check(curve.ctrly, 4e4); // 10 h.check(curve.x2, 5e5); // 11 h.check(curve.y2, 6e6); // 12 } } mauve-20140821/gnu/testlet/java/awt/geom/QuadCurve2D/Double/getP2.java0000644000175000001440000000255107746211420024016 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.QuadCurve2D.Double; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.QuadCurve2D; /** * Checks whether the QuadCurve2D.Double.getP2() method works * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getP2 implements Testlet { public void test(TestHarness harness) { QuadCurve2D.Double curve; curve = new QuadCurve2D.Double(-1, -2, -3, -4, -5, -6); harness.check(curve.getP2().getX(), -5); // Check 1 harness.check(curve.getP2().getY(), -6); // Check 2 } } mauve-20140821/gnu/testlet/java/awt/geom/QuadCurve2D/Double/setCurve.java0000644000175000001440000000311707746211420024634 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.QuadCurve2D.Double; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.QuadCurve2D; /** * Checks whether the QuadCurve2D.Double.setCurve method works * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class setCurve implements Testlet { public void test(TestHarness harness) { QuadCurve2D.Double curve; curve = new QuadCurve2D.Double(-1, -2, -3, -4, -5, -6); curve.setCurve(1.1, 2.2, 3.3, 4.4, 5.5, 6.6); harness.check(curve.x1, 1.1); // Check 1 harness.check(curve.y1, 2.2); // Check 2 harness.check(curve.ctrlx, 3.3); // Check 3 harness.check(curve.ctrly, 4.4); // Check 4 harness.check(curve.x2, 5.5); // Check 5 harness.check(curve.y2, 6.6); // Check 6 } } mauve-20140821/gnu/testlet/java/awt/geom/QuadCurve2D/Double/getBounds2D.java0000644000175000001440000000322107746211420025150 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.QuadCurve2D.Double; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.QuadCurve2D; import java.awt.geom.Rectangle2D; /** * Checks whether the QuadCurve2D.Double.getBounds2D method works * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getBounds2D implements Testlet { public void test(TestHarness harness) { QuadCurve2D.Double curve; Rectangle2D bounds; curve = new QuadCurve2D.Double(1, -2, -3, 4, 5, 7); bounds = curve.getBounds2D(); harness.check(bounds instanceof Rectangle2D.Double); // 1 harness.check(bounds.getX(), -3); // 2 harness.check(bounds.getY(), -2); // 3 harness.check(bounds.getWidth(), 8); // 4 harness.check(bounds.getHeight(), 9); // 5 } } mauve-20140821/gnu/testlet/java/awt/geom/QuadCurve2D/getPathIterator.java0000644000175000001440000000733007746211417024737 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.QuadCurve2D; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.AffineTransform; import java.awt.geom.PathIterator; import java.awt.geom.QuadCurve2D; /** * Checks whether the QuadCurve2D.getPathIterator method works * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getPathIterator implements Testlet { public void test(TestHarness harness) { test_untransformed(harness); test_transformed(harness); } public void test_untransformed(TestHarness harness) { QuadCurve2D curve; PathIterator pit; double[] c = new double[6]; harness.checkPoint("untransformed"); curve = new QuadCurve2D.Double(1, 2, 3, 4, 5, 6); pit = curve.getPathIterator(null); harness.check(!pit.isDone()); // 1 harness.check(pit.currentSegment(c), PathIterator.SEG_MOVETO); // 2 harness.check(c[0], 1.0); // 3 harness.check(c[1], 2.0); // 4 pit.next(); harness.check(!pit.isDone()); // 5 harness.check(pit.currentSegment(c), PathIterator.SEG_QUADTO); // 6 harness.check(c[0], 3.0); // 7 harness.check(c[1], 4.0); // 8 harness.check(c[2], 5.0); // 9 harness.check(c[3], 6.0); // 10 pit.next(); harness.check(pit.isDone()); // 11 harness.check(pit.getWindingRule(), PathIterator.WIND_NON_ZERO);// 12 } public void test_transformed(TestHarness harness) { QuadCurve2D curve; PathIterator pit; AffineTransform tx; double[] c = new double[6]; harness.checkPoint("transformed"); tx = new AffineTransform(); tx.scale(2, 3); tx.translate(1, -1); curve = new QuadCurve2D.Double(1, 2, 3, 4, 5, 6); pit = curve.getPathIterator(tx); harness.check(!pit.isDone()); // 1 harness.check(pit.currentSegment(c), PathIterator.SEG_MOVETO); // 2 harness.check(c[0], 4.0); // 3 harness.check(c[1], 3.0); // 4 pit.next(); harness.check(!pit.isDone()); // 5 harness.check(pit.currentSegment(c), PathIterator.SEG_QUADTO); // 6 harness.check(c[0], 8.0); // 7 harness.check(c[1], 9.0); // 8 harness.check(c[2], 12.0); // 9 harness.check(c[3], 15.0); // 10 pit.next(); harness.check(pit.isDone()); // 11 harness.check(pit.getWindingRule(), PathIterator.WIND_NON_ZERO);// 12 } } mauve-20140821/gnu/testlet/java/awt/geom/QuadCurve2D/Float/0000755000175000001440000000000012375316426022030 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/geom/QuadCurve2D/Float/getCtrlPt.java0000644000175000001440000000256507746211420024605 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.QuadCurve2D.Float; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.QuadCurve2D; /** * Checks whether the QuadCurve2D.Float.getCtrlPt() method works * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getCtrlPt implements Testlet { public void test(TestHarness harness) { QuadCurve2D.Float curve; curve = new QuadCurve2D.Float(-1, -2, -3, -4, -5, -6); harness.check(curve.getCtrlPt().getX(), -3); // Check 1 harness.check(curve.getCtrlPt().getY(), -4); // Check 2 } } mauve-20140821/gnu/testlet/java/awt/geom/QuadCurve2D/Float/getP1.java0000644000175000001440000000254507746211420023653 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.QuadCurve2D.Float; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.QuadCurve2D; /** * Checks whether the QuadCurve2D.Float.getP1() method works * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getP1 implements Testlet { public void test(TestHarness harness) { QuadCurve2D.Float curve; curve = new QuadCurve2D.Float(-1, -2, -3, -4, -5, -6); harness.check(curve.getP1().getX(), -1); // Check 1 harness.check(curve.getP1().getY(), -2); // Check 2 } } mauve-20140821/gnu/testlet/java/awt/geom/QuadCurve2D/Float/Float.java0000644000175000001440000000464507746211420023743 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.QuadCurve2D.Float; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.QuadCurve2D; /** * Checks whether the QuadCurve2D.Float constructors works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class Float implements Testlet { private TestHarness h; public void test(TestHarness harness) { this.h = harness; testZeroArgs(); testSixArgs(); } /** * Checks whether the zero-argument constructor works as specified. */ public void testZeroArgs() { QuadCurve2D curve; h.checkPoint("noArgs"); curve = new QuadCurve2D.Float(); h.check(curve.getX1(), 0); // 1 h.check(curve.getY1(), 0); // 2 h.check(curve.getCtrlX(), 0); // 3 h.check(curve.getCtrlY(), 0); // 4 h.check(curve.getX2(), 0); // 5 h.check(curve.getY2(), 0); // 6 } /** * Checks whether the six-argument constructor works as specified. */ public void testSixArgs() { QuadCurve2D.Float curve; h.checkPoint("sixArgs"); curve = new QuadCurve2D.Float(1e1f, 2e2f, 3e3f, 4e4f, 5e5f, 6e6f); h.check(curve.getX1(), 1e1f); // 1 h.check(curve.getY1(), 2e2f); // 2 h.check(curve.getCtrlX(), 3e3f); // 3 h.check(curve.getCtrlY(), 4e4f); // 4 h.check(curve.getX2(), 5e5f); // 5 h.check(curve.getY2(), 6e6f); // 6 h.check(curve.x1, 1e1f); // 7 h.check(curve.y1, 2e2f); // 8 h.check(curve.ctrlx, 3e3f); // 9 h.check(curve.ctrly, 4e4f); // 10 h.check(curve.x2, 5e5f); // 11 h.check(curve.y2, 6e6f); // 12 } } mauve-20140821/gnu/testlet/java/awt/geom/QuadCurve2D/Float/getP2.java0000644000175000001440000000254507746211420023654 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.QuadCurve2D.Float; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.QuadCurve2D; /** * Checks whether the QuadCurve2D.Float.getP2() method works * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getP2 implements Testlet { public void test(TestHarness harness) { QuadCurve2D.Float curve; curve = new QuadCurve2D.Float(-1, -2, -3, -4, -5, -6); harness.check(curve.getP2().getX(), -5); // Check 1 harness.check(curve.getP2().getY(), -6); // Check 2 } } mauve-20140821/gnu/testlet/java/awt/geom/QuadCurve2D/Float/setCurve.java0000644000175000001440000000312707746211420024470 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.QuadCurve2D.Float; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.QuadCurve2D; /** * Checks whether the QuadCurve2D.Float.setCurve method works * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class setCurve implements Testlet { public void test(TestHarness harness) { QuadCurve2D.Float curve; curve = new QuadCurve2D.Float(-1, -2, -3, -4, -5, -6); curve.setCurve(1.1f, 2.2f, 3.3f, 4.4f, 5.5f, 6.6f); harness.check(curve.x1, 1.1f); // Check 1 harness.check(curve.y1, 2.2f); // Check 2 harness.check(curve.ctrlx, 3.3f); // Check 3 harness.check(curve.ctrly, 4.4f); // Check 4 harness.check(curve.x2, 5.5f); // Check 5 harness.check(curve.y2, 6.6f); // Check 6 } } mauve-20140821/gnu/testlet/java/awt/geom/QuadCurve2D/Float/getBounds2D.java0000644000175000001440000000321507746211420025006 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.QuadCurve2D.Float; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.QuadCurve2D; import java.awt.geom.Rectangle2D; /** * Checks whether the QuadCurve2D.Float.getBounds2D method works * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getBounds2D implements Testlet { public void test(TestHarness harness) { QuadCurve2D.Float curve; Rectangle2D bounds; curve = new QuadCurve2D.Float(1, -2, -3, 4, 5, 7); bounds = curve.getBounds2D(); harness.check(bounds instanceof Rectangle2D.Float); // 1 harness.check(bounds.getX(), -3); // 2 harness.check(bounds.getY(), -2); // 3 harness.check(bounds.getWidth(), 8); // 4 harness.check(bounds.getHeight(), 9); // 5 } } mauve-20140821/gnu/testlet/java/awt/geom/QuadCurve2D/setCurve.java0000644000175000001440000001007507746211417023431 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.QuadCurve2D; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.Point; import java.awt.geom.Point2D; import java.awt.geom.QuadCurve2D; /** * Checks whether the various QuadCurve2D.setCurve methods work * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class setCurve implements Testlet { public void test(TestHarness harness) { test_array(harness); test_threePoints(harness); test_PointArray(harness); test_QuadCurve2D(harness); } private void test_array(TestHarness harness) { QuadCurve2D curve; harness.checkPoint("array"); curve = new QuadCurve2D.Double(); curve.setCurve(new double[] { 1, 2, 3, 11, 12, 13, 14, 15, 16, 17 }, /* offset */ 3); harness.check(curve.getX1(), 11); // Check 1 harness.check(curve.getY1(), 12); // Check 2 harness.check(curve.getCtrlX(), 13); // Check 3 harness.check(curve.getCtrlY(), 14); // Check 4 harness.check(curve.getX2(), 15); // Check 5 harness.check(curve.getY2(), 16); // Check 6 } private void test_threePoints(TestHarness harness) { QuadCurve2D curve; harness.checkPoint("threePoints"); curve = new QuadCurve2D.Double(); curve.setCurve(new Point2D.Float(1,2), new Point2D.Double(3,4), new Point(5, 6)); harness.check(curve.getX1(), 1); // Check 1 harness.check(curve.getY1(), 2); // Check 2 harness.check(curve.getCtrlX(), 3); // Check 3 harness.check(curve.getCtrlY(), 4); // Check 4 harness.check(curve.getX2(), 5); // Check 5 harness.check(curve.getY2(), 6); // Check 6 } private void test_PointArray(TestHarness harness) { QuadCurve2D curve; Point2D[] pts = new Point2D[20]; harness.checkPoint("PointArray"); curve = new QuadCurve2D.Double(); pts[11] = new Point2D.Float(1,2); pts[12] = new Point2D.Double(3,4); pts[13] = new Point(5, 6); curve.setCurve(pts, 11); harness.check(curve.getX1(), 1); // Check 1 harness.check(curve.getY1(), 2); // Check 2 harness.check(curve.getCtrlX(), 3); // Check 3 harness.check(curve.getCtrlY(), 4); // Check 4 harness.check(curve.getX2(), 5); // Check 5 harness.check(curve.getY2(), 6); // Check 6 } private void test_QuadCurve2D(TestHarness harness) { QuadCurve2D curve; Point2D[] pts = new Point2D[20]; harness.checkPoint("QuadCurve2D"); curve = new QuadCurve2D.Float(); curve.setCurve(new QuadCurve2D.Double(9, 8, 7, 6, 5, 4)); harness.check(curve.getX1(), 9); // Check 1 harness.check(curve.getY1(), 8); // Check 2 harness.check(curve.getCtrlX(), 7); // Check 3 harness.check(curve.getCtrlY(), 6); // Check 4 harness.check(curve.getX2(), 5); // Check 5 harness.check(curve.getY2(), 4); // Check 6 curve = new QuadCurve2D.Double(); curve.setCurve(new QuadCurve2D.Float(90, 80, 70, 60, 50, 40)); harness.check(curve.getX1(), 90); // Check 7 harness.check(curve.getY1(), 80); // Check 8 harness.check(curve.getCtrlX(), 70); // Check 9 harness.check(curve.getCtrlY(), 60); // Check 10 harness.check(curve.getX2(), 50); // Check 11 harness.check(curve.getY2(), 40); // Check 12 } } mauve-20140821/gnu/testlet/java/awt/geom/QuadCurve2D/getFlatness.java0000644000175000001440000000417610057633050024103 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.QuadCurve2D; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.QuadCurve2D; /** * Checks whether the various QuadCurve2D.getFlatness methods work * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getFlatness implements Testlet { private TestHarness harness; public void test(TestHarness harness) { this.harness = harness; // Check 1: six doubles, collinear chkeps(QuadCurve2D.getFlatness(1, 2, 3, 4, 5, 6), 0); // Check 2: six doubles, collinear chkeps(QuadCurve2D.getFlatness(1, 2, 5, 6, 3, 4), 2.8284271247461903); // Check 3: six doubles, not collinear chkeps(QuadCurve2D.getFlatness(10, -20, 3, 4, 5, 6), 2.3417076812615436); // Check 4: double[], not collinear double[] d = new double[] {2, 100, -200, 30, 44, 5, 600}; chkeps(QuadCurve2D.getFlatness(d, 1), 40.73876543263159); // Check 5: Method on QuadCurve2D, collinear chkeps((new QuadCurve2D.Double()).getFlatness(), 0); // Check 6: Method on QuadCurve2D, not collinear chkeps((new QuadCurve2D.Double(9,8,1,2,-4,0)).getFlatness(), 0.9171704949125857); } private void chkeps(double a, double b) { if (Math.abs(a - b) > 1e-6) harness.check(a, b); else harness.check(true); } } mauve-20140821/gnu/testlet/java/awt/geom/QuadCurve2D/solveQuadratic.java0000644000175000001440000001277407777014114024626 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.QuadCurve2D; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.QuadCurve2D; /** * Checks whether the QuadCurve2D.solveQuadratic methods work * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class solveQuadratic implements Testlet { private static final double EPSILON = 1e-6; private TestHarness harness; public void test(TestHarness harness) { this.harness = harness; // x - 23.2 = 0 --> x = 23.2 checkSolutions(0, 1, -23.2, new double[]{23.2}); // 8x + 8 = 0 --> x = -1 checkSolutions(0, 8, 8, new double[]{-1}); // 4x^2 = 0 --> x = 0 // Classpath bug #6095 checkSolutions(4, 0, 0, new double[]{0}); // (x^2)/2 - 2 = 0 --> x = {-2, 2} checkSolutions(0.5, 0, -2, new double[]{-2, 2}); // -x^2 + 4x = 0 --> x = {0, 4} checkSolutions(-1, 4, 0, new double[]{0, 4}); // (x^2)/10 + 20x + 1000 = 0 // // Sun J2SE 1.4.1_01 (GNU/Linux i386) reports the result -100 // twice, which is not correct. // // The GNU Classpath implementation of 2004-01-07 seems to have a // numeric stability problem that manifests with some VMs (such as // gcj on IA-32), but not with others (such as jamvm, or Sun J2SE // 1.4.1_01 executing the Classpath implementation). // See Classpath bug #7123. checkSolutions(.1, 20, 1000, new double[]{-100}); // Test case for b^2 >> 4ac checkSolutions(.1, 2000, .2, new double[] { -19999.999899999995, -1.0000000050000002E-4 }); // 10x^2 + 3x + 5 = 0 --> no solution checkSolutions(10, 3, 5, new double[0]); // 2x^2 + 2x + 2 --> no solution checkSolutions(2, 1, 2, new double[0]); // 0 = 0 checkSolutions(0, 0, 0, null); // 123 = 0 checkSolutions(0, 0, 123, null); // The subsequent five tests are taken from test code in the // GNU Scientific Library (GSL), which is licensed under the // GNU General Public License version 2 or later. // See file "gsl/poly/test.c", revision 1.16 of 2003-07-26. // Original author: Brian Gough checkSolutions(4, -20, 26, new double[0]); checkSolutions(4, -20, 25, new double[]{ 2.5 }); checkSolutions(4, -20, 21, new double[]{ 1.5, 3.5 }); checkSolutions(4, 7, 0, new double[]{ -1.75, 0 }); checkSolutions(5, 0, -20, new double[]{ -2, 2 }); } /** * Checks whether all expected solutions were found. * * @param c2 the coefficient for x^2. * * @param c1 the coefficient for x^1. * * @param c0 the coefficient for x^0. * * @param expected the expected set of solutions, or * null if QuadCurve2D.solveQuadratic is expected to * return -1. */ private void checkSolutions(double c2, double c1, double c0, double[] expected) { double[] solutions = new double[2]; int numSols, numExpectedSolutions; StringBuffer buf = new StringBuffer(); boolean ok = false; if (c2 != 0) { buf.append(c2); buf.append("x^2"); } if (c1 != 0) { buf.append(c1 > 0 ? " + " : " - "); buf.append(Math.abs(c1)); buf.append("x"); } if (c0 != 0) { buf.append(c0 > 0 ? " + " : " - "); buf.append(Math.abs(c0)); } buf.append(" = 0"); harness.checkPoint(buf.toString()); // Check #1: Number of actual solutions == number of expected solutions? numExpectedSolutions = expected == null ? -1 : expected.length; numSols = QuadCurve2D.solveQuadratic(new double[] { c0, c1, c2 }, solutions); ok = numSols == numExpectedSolutions; harness.check(ok); // Check #2: All solutions found? for (int i = 0; i < numExpectedSolutions; i++) { boolean found = false; for (int j = 0; j < numSols; j++) { if (Math.abs(solutions[j] - expected[i]) < EPSILON) { found = true; break; } } if (!found) { harness.debug("solution " + expected[i] + " not found"); ok = false; } } harness.check(ok); // Dump the arrays for debugging. if (!ok) { harness.debug(" got " + makeString(solutions)); harness.debug(" expected " + makeString(expected)); } } /** * Produces a String representation for a double[]. */ private static String makeString(double[] arr) { StringBuffer buf = new StringBuffer(50); if (arr == null) return "null"; buf.append('['); for (int i = 0; i < arr.length; i++) { if (i > 0) buf.append(", "); buf.append(arr[i]); } buf.append(']'); return buf.toString(); } } mauve-20140821/gnu/testlet/java/awt/geom/QuadCurve2D/subdivide.java0000644000175000001440000001053107746211417023604 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.QuadCurve2D; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.QuadCurve2D; import java.util.Arrays; /** * Checks whether the QuadCurve2D.subdivide methods work * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class subdivide implements Testlet { private TestHarness harness; public void test(TestHarness harness) { this.harness = harness; test_array(); test_curve2(); test_curve3(); } private void test_array() { double[] src, left, right; harness.checkPoint("array"); // Check 1 src = new double[]{7,7,1.5,2,3,4,-5,6}; left = new double[11]; QuadCurve2D.subdivide(src, 2, left, 1, left, 5); harness.check(Arrays.equals(left, new double[]{0.0, 1.5, 2.0, 2.25, 3.0, 0.625, 4.0, -1.0, 5.0, -5.0, 6.0})); // Check 2: No exception for null results. try { QuadCurve2D.subdivide(src, 0, null, 0, null, 0); harness.check(true); } catch (Exception ex) { harness.check(false); } // Check 3 and 4: Degenerate case, subdividing a point (0,0) src = new double[6]; left = new double[6]; right = new double[6]; QuadCurve2D.subdivide(src, 0, left, 0, right, 0); harness.check(Arrays.equals(left, new double[6])); harness.check(Arrays.equals(left, right)); } private void test_curve2() { QuadCurve2D src, left, right; harness.checkPoint("curve2"); src = new QuadCurve2D.Double(42, 24, 123, 321, -78011, -11087); left = new QuadCurve2D.Double(); right = new QuadCurve2D.Float(); src.subdivide(left, right); chkeps(left.getX1(), 42); // 1 chkeps(left.getY1(), 24); // 2 chkeps(left.getCtrlX(), 82.5); // 3 chkeps(left.getCtrlY(), 172.5); // 4 chkeps(left.getX2(),-19430.75); // 5 chkeps(left.getY2(), -2605.25); // 6 chkeps(right.getX1(), -19430.75); // 7 chkeps(right.getY1(), -2605.25); // 8 chkeps(right.getCtrlX(), -38944.0); // 9 chkeps(right.getCtrlY(), -5383.0); // 10 chkeps(right.getX2(), -78011); // 11 chkeps(right.getY2(), -11087); // 12 } private void test_curve3() { QuadCurve2D src, left, right; harness.checkPoint("curve3"); src = new QuadCurve2D.Double(23, -23, 42, -42, 1968.5, -1968.5); left = new QuadCurve2D.Float(); right = new QuadCurve2D.Float(); QuadCurve2D.subdivide(src, left, right); chkeps(left.getX1(), 23); // 1 chkeps(left.getY1(), -23); // 2 chkeps(left.getCtrlX(), 32.5); // 3 chkeps(left.getCtrlY(), -32.5); // 4 chkeps(left.getX2(), 518.875); // 5 chkeps(left.getY2(), -518.875); // 6 chkeps(right.getX1(), 518.875); // 7 chkeps(right.getY1(), -518.875); // 8 chkeps(right.getCtrlX(), 1005.25); // 9 chkeps(right.getCtrlY(), -1005.25); // 10 chkeps(right.getX2(), 1968.5); // 11 chkeps(right.getY2(), -1968.5); // 12 QuadCurve2D.subdivide(left, null, left); chkeps(left.getX1(), 151.71875); // 13 chkeps(left.getY1(), -151.71875); // 14 chkeps(left.getCtrlX(), 275.6875); // 15 chkeps(left.getCtrlY(), -275.6875); // 16 chkeps(left.getX2(), 518.875); // 17 chkeps(left.getY2(), -518.875); // 18 } private void chkeps(double a, double b) { if (Math.abs(a - b) > 1e-6) harness.check(a, b); else harness.check(true); } } mauve-20140821/gnu/testlet/java/awt/geom/Area/0000755000175000001440000000000012375316426017546 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/geom/Area/constructors.java0000644000175000001440000000361110123063122023137 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Area; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Area; import java.awt.geom.Rectangle2D; /** * Tests the constructors for the {@link Area} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // constructor 1 Area area = new Area(); harness.check(area.isEmpty()); harness.check(area.isSingular()); // an empty area is treated as polygonal and rectangular harness.check(area.isPolygonal()); harness.check(area.isRectangular()); // constructor 2 area = new Area(new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0)); harness.check(!area.isEmpty()); harness.check(area.isPolygonal()); harness.check(area.isRectangular()); harness.check(area.isSingular()); boolean pass = false; try { area = new Area(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/geom/Area/equals.java0000644000175000001440000000341510123063122021663 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Area; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Area; import java.awt.geom.Rectangle2D; /** * Tests the equals() method for the {@link Area} class. */ public class equals implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // be aware that the equals(Object) method is NOT overridden (see // bug parade id 4391558)... Area area1 = new Area(); Area area2 = new Area(); harness.check(area1.equals(area2)); harness.check(!area1.equals((Object) area2)); // try a simple case area1 = new Area(new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0)); area2 = new Area(new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0)); harness.check(area1.equals(area2)); // equals(null) should return false Area area3 = new Area(); harness.check(!area3.equals(null)); } } mauve-20140821/gnu/testlet/java/awt/geom/Area/exclusiveOr.java0000644000175000001440000000507610123063122022706 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Area; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Area; import java.awt.geom.Rectangle2D; /** * Tests the exclusiveOr() method for the {@link Area} class. */ public class exclusiveOr implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Area area = new Area(); area.add(new Area(new Rectangle2D.Double(-1.0, -1.0, 2.0, 2.0))); area.exclusiveOr(new Area(new Rectangle2D.Double(0.0, 0.0, 2.0, 2.0))); harness.check(area.contains(-1.0, -1.0)); // check 1 harness.check(area.contains(-1.0, 0.0)); // check 2 harness.check(!area.contains(-1.0, 1.0)); // check 3 harness.check(!area.contains(-1.0, 2.0)); // check 4 harness.check(area.contains(0.0, -1.0)); // check 5 harness.check(!area.contains(0.0, 0.0)); // check 6 harness.check(!area.contains(0.5, 0.5)); // check 7 harness.check(area.contains(0.0, 1.0)); // check 8 harness.check(!area.contains(0.0, 2.0)); // check 9 harness.check(!area.contains(1.0, -1.0)); // check 10 harness.check(area.contains(1.0, 0.0)); // check 11 harness.check(area.contains(1.0, 1.0)); // check 12 harness.check(!area.contains(1.0, 2.0)); // check 13 harness.check(!area.contains(2.0, -1.0)); // check 14 harness.check(!area.contains(2.0, 0.0)); // check 15 harness.check(!area.contains(2.0, 1.0)); // check 16 harness.check(!area.contains(2.0, 2.0)); // check 17 boolean pass = false; try { area.exclusiveOr(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check 18 } } mauve-20140821/gnu/testlet/java/awt/geom/Area/isEmpty.java0000644000175000001440000000301310123063122022015 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Area; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Area; import java.awt.geom.Line2D; import java.awt.geom.Rectangle2D; /** * Some tests for the isEmpty() method in the {@link Area} class. */ public class isEmpty implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Area area = new Area(); harness.check(area.isEmpty()); area = new Area(new Line2D.Double(1.0, 2.0, 3.0, 4.0)); harness.check(area.isEmpty()); area = new Area(new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0)); harness.check(!area.isEmpty()); } } mauve-20140821/gnu/testlet/java/awt/geom/Area/clone.java0000644000175000001440000000345211670424314021506 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Area; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Area; import java.awt.geom.Rectangle2D; /** * Tests the clone() method for the {@link Area} class. */ public class clone implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // clone an empty area Area area1 = new Area(); Area area2 = (Area) area1.clone(); harness.check(area1.equals(area2)); harness.check(area1 != area2); // try a simple case area1 = new Area(new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0)); area2 = (Area) area1.clone(); harness.check(area1.equals(area2)); harness.check(area1 != area2); // ditto for different factory method area1 = new Area(new Rectangle2D.Float(1.0f, 2.0f, 3.0f, 4.0f)); area2 = (Area) area1.clone(); harness.check(area1.equals(area2)); harness.check(area1 != area2); } } mauve-20140821/gnu/testlet/java/awt/geom/Area/getBounds.java0000644000175000001440000000304610123063122022323 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Area; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; import java.awt.geom.Area; import java.awt.geom.Rectangle2D; /** * Tests the getBounds() method for the {@link Area} class. */ public class getBounds implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // test an empty area Area area1 = new Area(); Rectangle r = area1.getBounds(); harness.check(r.isEmpty()); // try a simple case area1 = new Area(new Rectangle2D.Double(0.5, 0.5, 1.0, 1.0)); r = area1.getBounds(); harness.check(r.equals(new Rectangle(0, 0, 2, 2))); } } mauve-20140821/gnu/testlet/java/awt/geom/Area/intersects.java0000644000175000001440000000437710123063122022564 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Area; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Area; import java.awt.geom.Rectangle2D; /** * Tests the intersects() method for the {@link Area} class. */ public class intersects implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // intersects(double, double, double, double) Area area = new Area(); harness.check(!area.intersects(0.0, 0.0, 0.0, 0.0)); // 1 area.add(new Area(new Rectangle2D.Double(1.0, 1.0, 1.0, 1.0))); harness.check(!area.intersects(0.0, 0.0, 1.0, 1.0)); // 2 harness.check(!area.intersects(1.0, 0.0, 1.0, 1.0)); // 3 harness.check(!area.intersects(2.0, 0.0, 1.0, 1.0)); // 4 harness.check(!area.intersects(0.0, 1.0, 1.0, 1.0)); // 5 harness.check(area.intersects(1.0, 1.0, 1.0, 1.0)); // 6 harness.check(!area.intersects(2.0, 1.0, 1.0, 1.0)); // 7 harness.check(!area.intersects(0.0, 2.0, 1.0, 1.0)); // 8 harness.check(!area.intersects(1.0, 2.0, 1.0, 1.0)); // 9 harness.check(!area.intersects(2.0, 2.0, 1.0, 1.0)); // 10 // intersects(Rectangle2D) area = new Area(); boolean pass = false; try { area.intersects((Rectangle2D) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // 11 } } mauve-20140821/gnu/testlet/java/awt/geom/Area/subtract.java0000644000175000001440000000503710123063122022222 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Area; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Area; import java.awt.geom.Rectangle2D; /** * Tests the subtract() method for the {@link Area} class. */ public class subtract implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Area area = new Area(); area.add(new Area(new Rectangle2D.Double(-1.0, -1.0, 2.0, 2.0))); area.subtract(new Area(new Rectangle2D.Double(0.0, 0.0, 2.0, 2.0))); harness.check(area.contains(-1.0, -1.0)); // check 1 harness.check(area.contains(-1.0, 0.0)); // check 2 harness.check(!area.contains(-1.0, 1.0)); // check 3 harness.check(!area.contains(-1.0, 2.0)); // check 4 harness.check(area.contains(0.0, -1.0)); // check 5 harness.check(!area.contains(0.0, 0.0)); // check 6 harness.check(!area.contains(0.5, 0.5)); // check 7 harness.check(!area.contains(0.0, 1.0)); // check 8 harness.check(!area.contains(0.0, 2.0)); // check 9 harness.check(!area.contains(1.0, -1.0)); // check 10 harness.check(!area.contains(1.0, 0.0)); // check 11 harness.check(!area.contains(1.0, 1.0)); // check 12 harness.check(!area.contains(1.0, 2.0)); // check 13 harness.check(!area.contains(2.0, -1.0)); // check 14 harness.check(!area.contains(2.0, 0.0)); // check 15 harness.check(!area.contains(2.0, 1.0)); // check 16 harness.check(!area.contains(2.0, 2.0)); // check 17 boolean pass = false; try { area.subtract(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/geom/Area/reset.java0000644000175000001440000000263210123063122021513 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Area; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Area; import java.awt.geom.Rectangle2D; /** * Some tests for the reset() method in the {@link Area} class. */ public class reset implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Area area = new Area(); area.add(new Area(new Rectangle2D.Double(1.0, 1.0, 1.0, 1.0))); harness.check(!area.isEmpty()); area.reset(); harness.check(area.isEmpty()); } } mauve-20140821/gnu/testlet/java/awt/geom/Area/add.java0000644000175000001440000000277510123063122021131 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Area; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Area; import java.awt.geom.Rectangle2D; /** * Tests the add() method for the {@link Area} class. */ public class add implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Area area = new Area(); area.add(new Area(new Rectangle2D.Double(1.0, 1.0, 1.0, 1.0))); harness.check(area.isRectangular()); boolean pass = false; try { area.add(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/geom/Area/transform.java0000644000175000001440000000341010123063122022377 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Area; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.AffineTransform; import java.awt.geom.Area; import java.awt.geom.Rectangle2D; /** * Tests the transform() method for the {@link Area} class. */ public class transform implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Area area = new Area(new Rectangle2D.Double(0.0, 0.0, 1.0, 1.0)); area.transform(AffineTransform.getScaleInstance(2.0, 2.0)); Rectangle2D bounds = area.getBounds2D(); harness.check(bounds.getX(), 0.0); harness.check(bounds.getY(), 0.0); harness.check(bounds.getWidth(), 2.0); harness.check(bounds.getHeight(), 2.0); boolean pass = false; try { area.transform(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/geom/Area/createTransformedArea.java0000644000175000001440000000460110123063122024630 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Area; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.AffineTransform; import java.awt.geom.Area; import java.awt.geom.Rectangle2D; /** * Tests the createTransformedArea() method for the {@link Area} class. */ public class createTransformedArea implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // test an empty area Area area1 = new Area(); Area area2 = area1.createTransformedArea(AffineTransform.getScaleInstance(2.0, 2.0)); harness.check(area1.isEmpty()); harness.check(area2.isEmpty()); harness.check(area1 != area2); // test a simple area area1 = new Area(new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0)); AffineTransform at = AffineTransform.getScaleInstance(2.0, 2.0); area2 = area1.createTransformedArea(at); harness.check(area1 != area2); Rectangle2D b1 = area1.getBounds2D(); Rectangle2D b2 = area2.getBounds2D(); harness.check(b1.getX() == 1.0); harness.check(b1.getY() == 2.0); harness.check(b1.getWidth() == 3.0); harness.check(b1.getHeight() == 4.0); harness.check(b2.getX() == 2.0); harness.check(b2.getY() == 4.0); harness.check(b2.getWidth() == 6.0); harness.check(b2.getHeight() == 8.0); // null transform should throw exception boolean pass = false; try { area2 = area1.createTransformedArea(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/geom/Area/intersect.java0000644000175000001440000000511210123063122022365 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Area; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Area; import java.awt.geom.Rectangle2D; /** * Tests the intersect() method for the {@link Area} class. */ public class intersect implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Area area = new Area(); area.add(new Area(new Rectangle2D.Double(-1.0, -1.0, 2.0, 2.0))); area.intersect(new Area(new Rectangle2D.Double(0.0, 0.0, 2.0, 2.0))); harness.check(!area.contains(-1.0, -1.0)); // check 1 harness.check(!area.contains(-1.0, 0.0)); // check 2 harness.check(!area.contains(-1.0, 1.0)); // check 3 harness.check(!area.contains(-1.0, 2.0)); // check 4 harness.check(!area.contains(0.0, -1.0)); // check 5 harness.check(area.contains(0.0, 0.0)); // check 6 harness.check(area.contains(0.5, 0.5)); // check 7 harness.check(!area.contains(0.0, 1.0)); // check 8 harness.check(!area.contains(0.0, 2.0)); // check 9 harness.check(!area.contains(1.0, -1.0)); // check 10 harness.check(!area.contains(1.0, 0.0)); // check 11 harness.check(!area.contains(1.0, 1.0)); // check 12 harness.check(!area.contains(1.0, 2.0)); // check 13 harness.check(!area.contains(2.0, -1.0)); // check 14 harness.check(!area.contains(2.0, 0.0)); // check 15 harness.check(!area.contains(2.0, 1.0)); // check 16 harness.check(!area.contains(2.0, 2.0)); // check 17 boolean pass = false; try { area.intersect(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check 18 } } mauve-20140821/gnu/testlet/java/awt/geom/Area/isRectangular.java0000644000175000001440000000345510123063122023200 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Area; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; import java.awt.geom.Rectangle2D; /** * Some tests for the isRectangular() method in the {@link Area} class. */ public class isRectangular implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // an empty area is treated as being rectangular Area area = new Area(); harness.check(area.isRectangular()); area = new Area(new Ellipse2D.Double()); harness.check(area.isRectangular()); area.add(new Area(new Rectangle2D.Double(1.0, 1.0, 1.0, 1.0))); harness.check(area.isRectangular()); area.add(new Area(new Rectangle2D.Double(10.0, 10.0, 1.0, 1.0))); harness.check(!area.isRectangular()); area = new Area(new Ellipse2D.Double(1.0, 2.0, 3.0, 4.0)); harness.check(!area.isRectangular()); } } mauve-20140821/gnu/testlet/java/awt/geom/Area/isSingular.java0000644000175000001440000000300310123063122022502 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Area; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Area; import java.awt.geom.Rectangle2D; /** * Some tests for the isSingular() method in the {@link Area} class. */ public class isSingular implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Area area = new Area(); harness.check(area.isSingular()); area.add(new Area(new Rectangle2D.Double(1.0, 1.0, 1.0, 1.0))); harness.check(area.isSingular()); area.add(new Area(new Rectangle2D.Double(10.0, 10.0, 1.0, 1.0))); harness.check(!area.isSingular()); } } mauve-20140821/gnu/testlet/java/awt/geom/Area/contains.java0000644000175000001440000000377210123063122022215 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Area; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Area; import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; /** * Tests the contains() method for the {@link Area} class. */ public class contains implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // contains(double, double) Area area = new Area(); harness.check(!area.contains(0.0, 0.0)); area.add(new Area(new Rectangle2D.Double(1.0, 1.0, 1.0, 1.0))); harness.check(area.contains(1.0, 1.0)); harness.check(!area.contains(1.0, 2.0)); harness.check(!area.contains(2.0, 1.0)); harness.check(!area.contains(2.0, 2.0)); // contains(Point2D) boolean pass = false; try { area.contains((Point2D) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // contains(Rectangle2D) pass = false; try { area.contains((Rectangle2D) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/geom/Area/isPolygonal.java0000644000175000001440000000335110123063122022670 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Area; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; import java.awt.geom.Rectangle2D; /** * Some tests for the isPolygonal() method in the {@link Area} class. */ public class isPolygonal implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Area area = new Area(); harness.check(area.isPolygonal()); area.add(new Area(new Rectangle2D.Double(1.0, 1.0, 1.0, 1.0))); harness.check(area.isPolygonal()); area.add(new Area(new Rectangle2D.Double(10.0, 10.0, 1.0, 1.0))); harness.check(area.isPolygonal()); area = new Area(new Ellipse2D.Double()); harness.check(area.isPolygonal()); area = new Area(new Ellipse2D.Double(1.0, 2.0, 3.0, 4.0)); harness.check(!area.isPolygonal()); } } mauve-20140821/gnu/testlet/java/awt/geom/Area/getBounds2D.java0000644000175000001440000000304710123063122022512 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Area; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Area; import java.awt.geom.Rectangle2D; /** * Tests the getBounds2D() method for the {@link Area} class. */ public class getBounds2D implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // test an empty area Area area1 = new Area(); Rectangle2D r = area1.getBounds2D(); harness.check(r.isEmpty()); // try a simple case area1 = new Area(new Rectangle2D.Double(0.5, 0.5, 1.0, 1.0)); r = area1.getBounds2D(); harness.check(r.equals(new Rectangle2D.Double(0.5, 0.5, 1.0, 1.0))); } } mauve-20140821/gnu/testlet/java/awt/geom/AffineTransform/0000755000175000001440000000000012375316426021762 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/geom/AffineTransform/constructors.java0000644000175000001440000001265410113626374025377 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.AffineTransform; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.AffineTransform; /** * Some tests for the {@link AffineTransform} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); testConstructor6(harness); } private void testConstructor1(TestHarness harness) { harness.checkPoint("AffineTransform()"); AffineTransform t = new AffineTransform(); harness.check(t.getScaleX(), 1.0); harness.check(t.getScaleY(), 1.0); harness.check(t.getTranslateX(), 0.0); harness.check(t.getTranslateY(), 0.0); harness.check(t.getShearX(), 0.0); harness.check(t.getShearY(), 0.0); harness.check(t.getType() == AffineTransform.TYPE_IDENTITY); } private void testConstructor2(TestHarness harness) { harness.checkPoint("AffineTransform(AffineTransform)"); AffineTransform t1 = new AffineTransform(1.0, 2.0, 3.0, 4.0, 5.0, 6.0); AffineTransform t2 = new AffineTransform(t1); harness.check(t2.getScaleX(), 1.0); harness.check(t2.getScaleY(), 4.0); harness.check(t2.getTranslateX(), 5.0); harness.check(t2.getTranslateY(), 6.0); harness.check(t2.getShearX(), 3.0); harness.check(t2.getShearY(), 2.0); harness.check(t2.getType() == AffineTransform.TYPE_GENERAL_TRANSFORM); } private void testConstructor3(TestHarness harness) { harness.checkPoint("AffineTransform(double[])"); double[] d1 = new double[] {1.0, 2.0, 3.0, 4.0, 5.0, 6.0}; AffineTransform t1 = new AffineTransform(d1); harness.check(t1.getScaleX(), 1.0); harness.check(t1.getScaleY(), 4.0); harness.check(t1.getTranslateX(), 5.0); harness.check(t1.getTranslateY(), 6.0); harness.check(t1.getShearX(), 3.0); harness.check(t1.getShearY(), 2.0); harness.check(t1.getType() == AffineTransform.TYPE_GENERAL_TRANSFORM); double[] d2 = new double[] {1.0, 2.0, 3.0, 4.0}; AffineTransform t2 = new AffineTransform(d2); harness.check(t2.getScaleX(), 1.0); harness.check(t2.getScaleY(), 4.0); harness.check(t2.getTranslateX(), 0.0); harness.check(t2.getTranslateY(), 0.0); harness.check(t2.getShearX(), 3.0); harness.check(t2.getShearY(), 2.0); harness.check(t2.getType() == AffineTransform.TYPE_GENERAL_TRANSFORM); } private void testConstructor4(TestHarness harness) { harness.checkPoint("AffineTransform(double, double, double, double, double, double)"); AffineTransform t1 = new AffineTransform(1.0, 2.0, 3.0, 4.0, 5.0, 6.0); harness.check(t1.getScaleX(), 1.0); harness.check(t1.getScaleY(), 4.0); harness.check(t1.getTranslateX(), 5.0); harness.check(t1.getTranslateY(), 6.0); harness.check(t1.getShearX(), 3.0); harness.check(t1.getShearY(), 2.0); harness.check(t1.getType() == AffineTransform.TYPE_GENERAL_TRANSFORM); } private void testConstructor5(TestHarness harness) { harness.checkPoint("AffineTransform(float[])"); float[] f1 = new float[] {1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f}; AffineTransform t1 = new AffineTransform(f1); harness.check(t1.getScaleX(), 1.0f); harness.check(t1.getScaleY(), 4.0f); harness.check(t1.getTranslateX(), 5.0f); harness.check(t1.getTranslateY(), 6.0f); harness.check(t1.getShearX(), 3.0f); harness.check(t1.getShearY(), 2.0f); harness.check(t1.getType() == AffineTransform.TYPE_GENERAL_TRANSFORM); float[] d2 = new float[] {1.0f, 2.0f, 3.0f, 4.0f}; AffineTransform t2 = new AffineTransform(d2); harness.check(t2.getScaleX(), 1.0f); harness.check(t2.getScaleY(), 4.0f); harness.check(t2.getTranslateX(), 0.0); harness.check(t2.getTranslateY(), 0.0); harness.check(t2.getShearX(), 3.0f); harness.check(t2.getShearY(), 2.0f); harness.check(t2.getType() == AffineTransform.TYPE_GENERAL_TRANSFORM); } private void testConstructor6(TestHarness harness) { harness.checkPoint("AffineTransform(float, float, float, float, float, float)"); AffineTransform t1 = new AffineTransform(1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f); harness.check(t1.getScaleX(), 1.0f); harness.check(t1.getScaleY(), 4.0f); harness.check(t1.getTranslateX(), 5.0f); harness.check(t1.getTranslateY(), 6.0f); harness.check(t1.getShearX(), 3.0f); harness.check(t1.getShearY(), 2.0f); harness.check(t1.getType() == AffineTransform.TYPE_GENERAL_TRANSFORM); } } mauve-20140821/gnu/testlet/java/awt/geom/AffineTransform/equals.java0000644000175000001440000000503610113626374024115 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.AffineTransform; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.AffineTransform; /** * Some tests for the {@link AffineTransform} class. */ public class equals implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { AffineTransform t1 = new AffineTransform(1.0, 2.0, 3.0, 4.0, 5.0, 6.0); AffineTransform t2 = new AffineTransform(1.0, 2.0, 3.0, 4.0, 5.0, 6.0); harness.check(t1.equals(t2)); harness.check(t2.equals(t1)); t1 = new AffineTransform(0.0, 2.0, 3.0, 4.0, 5.0, 6.0); harness.check(!t1.equals(t2)); t2 = new AffineTransform(0.0, 2.0, 3.0, 4.0, 5.0, 6.0); harness.check(t1.equals(t2)); t1 = new AffineTransform(1.0, 0.0, 3.0, 4.0, 5.0, 6.0); harness.check(!t1.equals(t2)); t2 = new AffineTransform(1.0, 0.0, 3.0, 4.0, 5.0, 6.0); harness.check(t1.equals(t2)); t1 = new AffineTransform(1.0, 2.0, 0.0, 4.0, 5.0, 6.0); harness.check(!t1.equals(t2)); t2 = new AffineTransform(1.0, 2.0, 0.0, 4.0, 5.0, 6.0); harness.check(t1.equals(t2)); t1 = new AffineTransform(1.0, 2.0, 3.0, 0.0, 5.0, 6.0); harness.check(!t1.equals(t2)); t2 = new AffineTransform(1.0, 2.0, 3.0, 0.0, 5.0, 6.0); harness.check(t1.equals(t2)); t1 = new AffineTransform(1.0, 2.0, 3.0, 4.0, 0.0, 6.0); harness.check(!t1.equals(t2)); t2 = new AffineTransform(1.0, 2.0, 3.0, 4.0, 0.0, 6.0); harness.check(t1.equals(t2)); t1 = new AffineTransform(1.0, 2.0, 3.0, 4.0, 5.0, 0.0); harness.check(!t1.equals(t2)); t2 = new AffineTransform(1.0, 2.0, 3.0, 4.0, 5.0, 0.0); harness.check(t1.equals(t2)); } } mauve-20140821/gnu/testlet/java/awt/geom/AffineTransform/setTransform.java0000644000175000001440000000403610113626374025311 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.AffineTransform; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.AffineTransform; /** * Some tests for the {@link AffineTransform} class. */ public class setTransform implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { AffineTransform t1 = new AffineTransform(); t1.setTransform(1.0, 2.0, 3.0, 4.0, 5.0, 6.0); harness.check(t1.getScaleX(), 1.0); harness.check(t1.getShearY(), 2.0); harness.check(t1.getShearX(), 3.0); harness.check(t1.getScaleY(), 4.0); harness.check(t1.getTranslateX(), 5.0); harness.check(t1.getTranslateY(), 6.0); t1.setTransform(new AffineTransform(6.0, 5.0, 4.0, 3.0, 2.0, 1.0)); harness.check(t1.getScaleX(), 6.0); harness.check(t1.getShearY(), 5.0); harness.check(t1.getShearX(), 4.0); harness.check(t1.getScaleY(), 3.0); harness.check(t1.getTranslateX(), 2.0); harness.check(t1.getTranslateY(), 1.0); boolean pass = false; try { t1.setTransform(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/geom/AffineTransform/clone.java0000644000175000001440000000326210113626374023722 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.AffineTransform; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.AffineTransform; /** * Checks that the clone() method works. */ public class clone implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { AffineTransform t1 = new AffineTransform(1.0, 2.0, 3.0, 4.0, 5.0, 6.0); AffineTransform t2 = null; t2 = (AffineTransform) t1.clone(); harness.check(t2.getScaleX(), 1.0); harness.check(t2.getScaleY(), 4.0); harness.check(t2.getTranslateX(), 5.0); harness.check(t2.getTranslateY(), 6.0); harness.check(t2.getShearX(), 3.0); harness.check(t2.getShearY(), 2.0); harness.check(t2.getType() == AffineTransform.TYPE_GENERAL_TRANSFORM); } } mauve-20140821/gnu/testlet/java/awt/geom/AffineTransform/getTranslateInstance.java0000644000175000001440000000312710113626374026744 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.AffineTransform; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.AffineTransform; /** * Some tests for the {@link AffineTransform} class. */ public class getTranslateInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { AffineTransform t = AffineTransform.getTranslateInstance(1.0, 2.0); harness.check(t.getScaleX(), 1.0); harness.check(t.getShearX(), 0.0); harness.check(t.getTranslateX(), 1.0); harness.check(t.getShearY(), 0.0); harness.check(t.getScaleY(), 1.0); harness.check(t.getTranslateY(), 2.0); harness.check(t.getType() == AffineTransform.TYPE_TRANSLATION); } } mauve-20140821/gnu/testlet/java/awt/geom/AffineTransform/deltaTransform.java0000644000175000001440000000405110113626374025604 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.AffineTransform; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.AffineTransform; import java.awt.geom.Point2D; /** * Some tests for the {@link AffineTransform} class. */ public class deltaTransform implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { AffineTransform t1 = AffineTransform.getScaleInstance(2.0, 3.0); double[] v = new double[] { 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0 }; double[] expected = new double[] { 1.0, 2.0, 6.0, 12.0, 10.0, 18.0, 14.0, 24.0, 9.0, 10.0 }; t1.deltaTransform(v, 2, v, 2, 3); for (int i = 0; i < 10; i++) { harness.check(v[i], expected[i]); } Point2D p1 = new Point2D.Double(1.0, 2.0); Point2D p2 = t1.deltaTransform(p1, null); harness.check(p2.getX(), 2.0); harness.check(p2.getY(), 6.0); t1.deltaTransform(p1, p1); harness.check(p1.getX(), 2.0); harness.check(p1.getY(), 6.0); boolean pass = false; try { t1.deltaTransform(null, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/geom/AffineTransform/isIdentity.java0000644000175000001440000000261710113626374024752 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.AffineTransform; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.AffineTransform; /** * Some tests for the {@link AffineTransform} class. */ public class isIdentity implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { AffineTransform t0 = new AffineTransform(); harness.check(t0.isIdentity()); AffineTransform t1 = AffineTransform.getScaleInstance(0.5, 0.25); harness.check(!t1.isIdentity()); } } mauve-20140821/gnu/testlet/java/awt/geom/AffineTransform/getRotateInstance.java0000644000175000001440000000422510113626374026245 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.AffineTransform; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.AffineTransform; /** * Some tests for the {@link AffineTransform} class. */ public class getRotateInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { AffineTransform t = AffineTransform.getRotateInstance(0.5); harness.check(t.getScaleX(), Math.cos(0.5)); harness.check(t.getShearX(), -Math.sin(0.5)); harness.check(t.getTranslateX(), 0.0); harness.check(t.getShearY(), Math.sin(0.5)); harness.check(t.getScaleY(), Math.cos(0.5)); harness.check(t.getTranslateY(), 0.0); harness.check(t.getType() == AffineTransform.TYPE_GENERAL_ROTATION); t = AffineTransform.getRotateInstance(0.5, 1.0, 2.0); harness.check(t.getScaleX(), Math.cos(0.5)); harness.check(t.getShearX(), -Math.sin(0.5)); harness.check(t.getTranslateX(), 1.0 - 1.0 * Math.cos(0.5) + 2.0 * Math.sin(0.5)); harness.check(t.getShearY(), Math.sin(0.5)); harness.check(t.getScaleY(), Math.cos(0.5)); harness.check(t.getTranslateY(), 2.0 - 1.0 * Math.sin(0.5) - 2.0 * Math.cos(0.5)); harness.check(t.getType() == (AffineTransform.TYPE_TRANSLATION | AffineTransform.TYPE_GENERAL_ROTATION)); } } mauve-20140821/gnu/testlet/java/awt/geom/AffineTransform/constants.java0000644000175000001440000000346010113626374024636 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.AffineTransform; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.AffineTransform; /** * Verifies constant values for the {@link AffineTransform} class. */ public class constants implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.check(AffineTransform.TYPE_FLIP == 64); harness.check(AffineTransform.TYPE_GENERAL_ROTATION == 16); harness.check(AffineTransform.TYPE_GENERAL_SCALE == 4); harness.check(AffineTransform.TYPE_GENERAL_TRANSFORM == 32); harness.check(AffineTransform.TYPE_IDENTITY == 0); harness.check(AffineTransform.TYPE_MASK_ROTATION == 24); harness.check(AffineTransform.TYPE_MASK_SCALE == 6); harness.check(AffineTransform.TYPE_QUADRANT_ROTATION == 8); harness.check(AffineTransform.TYPE_TRANSLATION == 1); harness.check(AffineTransform.TYPE_UNIFORM_SCALE == 2); } } mauve-20140821/gnu/testlet/java/awt/geom/AffineTransform/getDeterminant.java0000644000175000001440000000253410113626374025575 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.AffineTransform; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.AffineTransform; /** * Some tests for the {@link AffineTransform} class. */ public class getDeterminant implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { AffineTransform t = new AffineTransform(1.0, 2.0, 3.0, 4.0, 5.0, 6.0); harness.check(t.getDeterminant(), 1.0 * 4.0 - 2.0 * 3.0); } } mauve-20140821/gnu/testlet/java/awt/geom/AffineTransform/transform.java0000644000175000001440000000544110113626374024636 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.AffineTransform; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.AffineTransform; import java.awt.geom.Point2D; /** * Some tests for the {@link AffineTransform} class. */ public class transform implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { AffineTransform t1 = AffineTransform.getScaleInstance(2.0, 3.0); double[] d = new double[] { 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0 }; double[] expected = new double[] { 1.0, 2.0, 6.0, 12.0, 10.0, 18.0, 14.0, 24.0, 9.0, 10.0 }; t1.transform(d, 2, d, 2, 3); for (int i = 0; i < 10; i++) { harness.check(d[i], expected[i]); } d = new double[] { 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0 }; float[] f = new float[] { 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f }; float[] expectedf = new float[] { 1.0f, 2.0f, 6.0f, 12.0f, 10.0f, 18.0f, 14.0f, 24.0f, 9.0f, 10.0f }; t1.transform(d, 2, f, 2, 3); for (int i = 0; i < 10; i++) { harness.check(f[i], expectedf[i]); } f = new float[] { 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f }; d = new double[] { 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0 }; t1.transform(f, 2, d, 2, 3); for (int i = 0; i < 10; i++) { harness.check(d[i], expected[i]); } t1.transform(f, 2, f, 2, 3); for (int i = 0; i < 10; i++) { harness.check(f[i], expectedf[i]); } Point2D p1 = new Point2D.Double(1.0, 2.0); Point2D p2 = t1.transform(p1, null); harness.check(p2.getX(), 2.0); harness.check(p2.getY(), 6.0); t1.transform(p1, p1); harness.check(p1.getX(), 2.0); harness.check(p1.getY(), 6.0); boolean pass = false; try { t1.transform(null, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/geom/AffineTransform/getScaleInstance.java0000644000175000001440000000312010113626374026027 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.AffineTransform; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.AffineTransform; /** * Some tests for the {@link AffineTransform} class. */ public class getScaleInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { AffineTransform t = AffineTransform.getScaleInstance(1.0, 2.0); harness.check(t.getScaleX(), 1.0); harness.check(t.getShearX(), 0.0); harness.check(t.getTranslateX(), 0.0); harness.check(t.getShearY(), 0.0); harness.check(t.getScaleY(), 2.0); harness.check(t.getTranslateY(), 0.0); harness.check(t.getType() == AffineTransform.TYPE_GENERAL_SCALE); } } mauve-20140821/gnu/testlet/java/awt/geom/AffineTransform/createInverse.java0000644000175000001440000000451711670424314025424 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.AffineTransform; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.AffineTransform; import java.awt.geom.NoninvertibleTransformException; /** * Some tests for the {@link AffineTransform} class. */ public class createInverse implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // inverse of identity is identity AffineTransform t1 = new AffineTransform(); try { AffineTransform t2 = t1.createInverse(); harness.check(t2.getType() == AffineTransform.TYPE_IDENTITY); } catch (NoninvertibleTransformException e) { harness.check(false); } t1 = new AffineTransform(7.0, 8.0, 9.0, 10.0, 11.0, 12.0); try { AffineTransform t3 = t1.createInverse(); harness.check(t3.getScaleX(), -5.0); harness.check(t3.getShearX(), 4.5); harness.check(t3.getTranslateX(), 1.0); harness.check(t3.getShearY(), 4.0); harness.check(t3.getScaleY(), -3.5); harness.check(t3.getTranslateY(), -2.0); } catch (NoninvertibleTransformException e) { harness.check(false); } AffineTransform t4 = new AffineTransform(3.0, 3.0, 3.0, 3.0, 3.0, 3.0); try { @SuppressWarnings("unused") AffineTransform t5 = t4.createInverse(); harness.check(false); } catch (NoninvertibleTransformException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/awt/geom/AffineTransform/inverseTransform.java0000644000175000001440000000463110113626374026172 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.AffineTransform; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.AffineTransform; import java.awt.geom.NoninvertibleTransformException; import java.awt.geom.Point2D; /** * Some tests for the {@link AffineTransform} class. */ public class inverseTransform implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { AffineTransform t1 = AffineTransform.getScaleInstance(0.5, 0.25); double[] v = new double[] { 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0 }; double[] expected = new double[] { 1.0, 2.0, 6.0, 16.0, 10.0, 24.0, 14.0, 32.0, 9.0, 10.0 }; try { t1.inverseTransform(v, 2, v, 2, 3); for (int i = 0; i < 10; i++) { harness.check(v[i], expected[i]); } } catch (NoninvertibleTransformException e) { harness.check(false); } Point2D p1 = new Point2D.Double(1.0, 2.0); try { Point2D p2 = t1.inverseTransform(p1, null); harness.check(p2.getX(), 2.0); harness.check(p2.getY(), 8.0); t1.inverseTransform(p1, p1); harness.check(p1.getX(), 2.0); harness.check(p1.getY(), 8.0); } catch (NoninvertibleTransformException e) { harness.check(false); } boolean pass = false; try { t1.inverseTransform(null, null); } catch (NoninvertibleTransformException e1) { pass = false; } catch (NullPointerException e2) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/geom/AffineTransform/getMatrix.java0000644000175000001440000000401510113626374024563 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.AffineTransform; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.AffineTransform; /** * Some tests for the {@link AffineTransform} class. */ public class getMatrix implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { AffineTransform t = new AffineTransform(1.0, 2.0, 3.0, 4.0, 5.0, 6.0); double[] m = new double[4]; t.getMatrix(m); harness.check(m[0], 1.0); harness.check(m[1], 2.0); harness.check(m[2], 3.0); harness.check(m[3], 4.0); m = new double[6]; t.getMatrix(m); harness.check(m[0], 1.0); harness.check(m[1], 2.0); harness.check(m[2], 3.0); harness.check(m[3], 4.0); harness.check(m[4], 5.0); harness.check(m[5], 6.0); boolean pass = false; m = new double[2]; try { t.getMatrix(m); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { t.getMatrix(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/geom/AffineTransform/getShearInstance.java0000644000175000001440000000312610113626374026050 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.AffineTransform; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.AffineTransform; /** * Some tests for the {@link AffineTransform} class. */ public class getShearInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { AffineTransform t = AffineTransform.getShearInstance(1.0, 2.0); harness.check(t.getScaleX(), 1.0); harness.check(t.getShearX(), 1.0); harness.check(t.getTranslateX(), 0.0); harness.check(t.getShearY(), 2.0); harness.check(t.getScaleY(), 1.0); harness.check(t.getTranslateY(), 0.0); harness.check(t.getType() == AffineTransform.TYPE_GENERAL_TRANSFORM); } } mauve-20140821/gnu/testlet/java/awt/geom/AffineTransform/preConcatenate.java0000644000175000001440000000346310113626374025560 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.AffineTransform; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.AffineTransform; /** * Some tests for the {@link AffineTransform} class. */ public class preConcatenate implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { AffineTransform t1 = new AffineTransform(1.0, 2.0, 3.0, 4.0, 5.0, 6.0); AffineTransform t2 = new AffineTransform(7.0, 8.0, 9.0, 10.0, 11.0, 12.0); t1.preConcatenate(t2); harness.check(t1.getScaleX(), 25.0); harness.check(t1.getShearX(), 57.0); harness.check(t1.getTranslateX(), 100.0); harness.check(t1.getShearY(), 28.0); harness.check(t1.getScaleY(), 64.0); harness.check(t1.getTranslateY(), 112.0); boolean pass = false; try { t1.preConcatenate(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/geom/AffineTransform/concatenate.java0000644000175000001440000000345010113626374025105 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.AffineTransform; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.AffineTransform; /** * Some tests for the {@link AffineTransform} class. */ public class concatenate implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { AffineTransform t1 = new AffineTransform(1.0, 2.0, 3.0, 4.0, 5.0, 6.0); AffineTransform t2 = new AffineTransform(7.0, 8.0, 9.0, 10.0, 11.0, 12.0); t1.concatenate(t2); harness.check(t1.getScaleX(), 31.0); harness.check(t1.getShearX(), 39.0); harness.check(t1.getTranslateX(), 52.0); harness.check(t1.getShearY(), 46.0); harness.check(t1.getScaleY(), 58.0); harness.check(t1.getTranslateY(), 76.0); boolean pass = false; try { t1.concatenate(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/geom/AffineTransform/createTransformedShape.java0000644000175000001440000000476510113626374027264 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.AffineTransform; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Shape; import java.awt.geom.AffineTransform; import java.awt.geom.GeneralPath; import java.awt.geom.Line2D; import java.awt.geom.PathIterator; /** * Some tests for the {@link AffineTransform} class. */ public class createTransformedShape implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { AffineTransform t1 = new AffineTransform(); Line2D line1 = new Line2D.Double(1.0, 2.0, 3.0, 4.0); Shape shape1 = t1.createTransformedShape(line1); GeneralPath p1 = (GeneralPath) shape1; PathIterator iterator = p1.getPathIterator(null); double[] c = new double[6]; harness.check(!iterator.isDone()); harness.check(iterator.currentSegment(c), PathIterator.SEG_MOVETO); harness.check(c[0], 1.0); harness.check(c[1], 2.0); iterator.next(); harness.check(!iterator.isDone()); harness.check(iterator.currentSegment(c), PathIterator.SEG_LINETO); harness.check(c[0], 3.0); harness.check(c[1], 4.0); iterator.next(); harness.check(iterator.isDone()); // tricky case here - passing a null argument does NOT throw a // NullPointerException (see bug parade report 4190350). boolean pass = true; try { t1.createTransformedShape(null); } catch (NullPointerException e) { pass = false; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/geom/CubicCurve2D/0000755000175000001440000000000012375316426021116 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/geom/CubicCurve2D/clone.java0000644000175000001440000000503307746211417023062 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.CubicCurve2D; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.CubicCurve2D; /** * Checks whether the CubicCurve2D.clone method works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class clone implements Testlet { public void test(TestHarness harness) { CubicCurve2D curve; // Checks 1 to 7: Clone a CubicCurve2D.Double curve = (CubicCurve2D) (new CubicCurve2D.Double(4,3,9,1,7,8,2,6)).clone(); harness.check(curve instanceof CubicCurve2D.Double); // 1 harness.check(curve.getX1(), 4.0); // 2 harness.check(curve.getY1(), 3.0); // 3 harness.check(curve.getCtrlX1(), 9.0); // 4 harness.check(curve.getCtrlY1(), 1.0); // 5 harness.check(curve.getCtrlX2(), 7.0); // 6 harness.check(curve.getCtrlY2(), 8.0); // 7 harness.check(curve.getX2(), 2.0); // 8 harness.check(curve.getY2(), 6.0); // 9 // Checks 8 to 14: Clone a CubicCurve2D.Float curve = (CubicCurve2D) (new CubicCurve2D.Float(-4,3,-9,1,7,-8,-2,-6)) .clone(); harness.check(curve instanceof CubicCurve2D.Float); // 10 harness.check(curve.getX1(), -4.0); // 11 harness.check(curve.getY1(), 3.0); // 12 harness.check(curve.getCtrlX1(), -9.0); // 13 harness.check(curve.getCtrlY1(), 1.0); // 14 harness.check(curve.getCtrlX2(), 7.0); // 15 harness.check(curve.getCtrlY2(), -8.0); // 16 harness.check(curve.getX2(), -2.0); // 17 harness.check(curve.getY2(), -6.0); // 18 } } mauve-20140821/gnu/testlet/java/awt/geom/CubicCurve2D/getFlatnessSq.java0000644000175000001440000000447210057633050024541 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.CubicCurve2D; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.CubicCurve2D; /** * Checks whether the various CubicCurve2D.getFlatnessSq methods work * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getFlatnessSq implements Testlet { private TestHarness harness; public void test(TestHarness harness) { this.harness = harness; // Check 1: eight doubles, collinear chkeps(CubicCurve2D.getFlatnessSq(1, 2, 3, 4, 5, 6, 7, 8), 0); // Check 2: eight doubles, collinear (C1 and C2 swapped) chkeps(CubicCurve2D.getFlatnessSq(1, 2, 5, 6, 3, 4, 7, 8), 0); // Check 3: eight doubles, collinear (C2 and P2 swapped) chkeps(CubicCurve2D.getFlatnessSq(1, 2, 3, 4, 7, 8, 5, 6), 8); // Check 4: eight doubles, not collinear chkeps(CubicCurve2D.getFlatnessSq(10, -20, 3, 4, 5, 6, 40, 0), 595.6923076923077); // Check 5: double[], not collinear double[] d = new double[] {2, 100, -200, 30, 44, 5, 600, 77, 18981}; chkeps(CubicCurve2D.getFlatnessSq(d, 1), 8843.64380890131); // Check 6: Method on CubicCurve2D, degenerated to point chkeps((new CubicCurve2D.Double()).getFlatnessSq(), 0); // Check 7: Method on CubicCurve2D, not collinear chkeps((new CubicCurve2D.Double(9,8,1,2,-4,0,1311,2332)).getFlatnessSq(), 233); } private void chkeps(double a, double b) { if (Math.abs(a - b) > 1e-7) harness.check(a, b); else harness.check(true); } } mauve-20140821/gnu/testlet/java/awt/geom/CubicCurve2D/Double/0000755000175000001440000000000012375316426022330 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/geom/CubicCurve2D/Double/getCtrlP2.java0000644000175000001440000000261507746211417025005 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.CubicCurve2D.Double; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.CubicCurve2D; /** * Checks whether the CubicCurve2D.Double.getCtrlP2() method works * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getCtrlP2 implements Testlet { public void test(TestHarness harness) { CubicCurve2D.Double curve; curve = new CubicCurve2D.Double(-1, -2, -3.141, 42, -5, -6, -77, 88); harness.check(curve.getCtrlP2().getX(), -5); // Check 1 harness.check(curve.getCtrlP2().getY(), -6); // Check 2 } } mauve-20140821/gnu/testlet/java/awt/geom/CubicCurve2D/Double/getP1.java0000644000175000001440000000260607746211417024157 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.CubicCurve2D.Double; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.CubicCurve2D; /** * Checks whether the CubicCurve2D.Double.getP1() method works * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getP1 implements Testlet { public void test(TestHarness harness) { CubicCurve2D.Double curve; curve = new CubicCurve2D.Double(-1.1e8, -2.2e7, -3, -4, -5, -6, -7, -8); harness.check(curve.getP1().getX(), -1.1e8); // Check 1 harness.check(curve.getP1().getY(), -2.2e7); // Check 2 } } mauve-20140821/gnu/testlet/java/awt/geom/CubicCurve2D/Double/Double.java0000644000175000001440000000537207746211417024414 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.CubicCurve2D.Double; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.CubicCurve2D; /** * Checks whether the CubicCurve2D.Double constructors works * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class Double implements Testlet { private TestHarness h; public void test(TestHarness harness) { this.h = harness; testZeroArgs(); testEightArgs(); } /** * Checks whether the zero-argument constructor works as specified. */ public void testZeroArgs() { CubicCurve2D curve; h.checkPoint("noArgs"); curve = new CubicCurve2D.Double(); h.check(curve.getX1(), 0); // 1 h.check(curve.getY1(), 0); // 2 h.check(curve.getCtrlX1(), 0); // 3 h.check(curve.getCtrlY1(), 0); // 4 h.check(curve.getCtrlX2(), 0); // 5 h.check(curve.getCtrlY2(), 0); // 6 h.check(curve.getX2(), 0); // 7 h.check(curve.getY2(), 0); // 8 } /** * Checks whether the eight-argument constructor works as specified. */ public void testEightArgs() { CubicCurve2D.Double curve; h.checkPoint("eightArgs"); curve = new CubicCurve2D.Double(1e1, 2e2, 3e3, 4e4, 5e5, 6e6, 7e7, 8e8); h.check(curve.getX1(), 1e1); // 1 h.check(curve.getY1(), 2e2); // 2 h.check(curve.getCtrlX1(), 3e3); // 3 h.check(curve.getCtrlY1(), 4e4); // 4 h.check(curve.getCtrlX2(), 5e5); // 5 h.check(curve.getCtrlY2(), 6e6); // 6 h.check(curve.getX2(), 7e7); // 7 h.check(curve.getY2(), 8e8); // 8 h.check(curve.x1, 1e1); // 9 h.check(curve.y1, 2e2); // 10 h.check(curve.ctrlx1, 3e3); // 11 h.check(curve.ctrly1, 4e4); // 12 h.check(curve.ctrlx2, 5e5); // 13 h.check(curve.ctrly2, 6e6); // 14 h.check(curve.x2, 7e7); // 15 h.check(curve.y2, 8e8); // 16 } } mauve-20140821/gnu/testlet/java/awt/geom/CubicCurve2D/Double/getP2.java0000644000175000001440000000257507746211417024165 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.CubicCurve2D.Double; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.CubicCurve2D; /** * Checks whether the CubicCurve2D.Double.getP2() method works * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getP2 implements Testlet { public void test(TestHarness harness) { CubicCurve2D.Double curve; curve = new CubicCurve2D.Double(-1, -2, -3.141, 42, -5, -6, -77, 88); harness.check(curve.getP2().getX(), -77); // Check 1 harness.check(curve.getP2().getY(), 88); // Check 2 } } mauve-20140821/gnu/testlet/java/awt/geom/CubicCurve2D/Double/setCurve.java0000644000175000001440000000331607746211417024776 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.CubicCurve2D.Double; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.CubicCurve2D; /** * Checks whether the CubicCurve2D.Double.setCurve method works * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class setCurve implements Testlet { public void test(TestHarness harness) { CubicCurve2D.Double curve; curve = new CubicCurve2D.Double(-1, -2, -3, -4, -5, -6, -7, -8); curve.setCurve(1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8); harness.check(curve.x1, 1.1); // Check 1 harness.check(curve.y1, 2.2); // Check 2 harness.check(curve.ctrlx1, 3.3); // Check 3 harness.check(curve.ctrly1, 4.4); // Check 4 harness.check(curve.ctrlx2, 5.5); // Check 5 harness.check(curve.ctrly2, 6.6); // Check 6 harness.check(curve.x2, 7.7); // Check 7 harness.check(curve.y2, 8.8); // Check 8 } } mauve-20140821/gnu/testlet/java/awt/geom/CubicCurve2D/Double/getCtrlP1.java0000644000175000001440000000262307746211417025003 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.CubicCurve2D.Double; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.CubicCurve2D; /** * Checks whether the CubicCurve2D.Double.getCtrlP1() method works * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getCtrlP1 implements Testlet { public void test(TestHarness harness) { CubicCurve2D.Double curve; curve = new CubicCurve2D.Double(-1, -2, -3.141, 42, -5, -6, -77, 88); harness.check(curve.getCtrlP1().getX(), -3.141); // Check 1 harness.check(curve.getCtrlP1().getY(), 42) ; // Check 2 } } mauve-20140821/gnu/testlet/java/awt/geom/CubicCurve2D/Double/getBounds2D.java0000644000175000001440000000325307746211417025316 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.CubicCurve2D.Double; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.CubicCurve2D; import java.awt.geom.Rectangle2D; /** * Checks whether the CubicCurve2D.Double.getBounds2D method works * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getBounds2D implements Testlet { public void test(TestHarness harness) { CubicCurve2D.Double curve; Rectangle2D bounds; curve = new CubicCurve2D.Double(11, -22, -33, 44, -55, 75, -85, 91); bounds = curve.getBounds2D(); harness.check(bounds instanceof Rectangle2D.Double); // 1 harness.check(bounds.getX(), -85); // 2 harness.check(bounds.getY(), -22); // 3 harness.check(bounds.getWidth(), 96); // 4 harness.check(bounds.getHeight(), 113); // 5 } } mauve-20140821/gnu/testlet/java/awt/geom/CubicCurve2D/getPathIterator.java0000644000175000001440000001002207746211417025062 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.CubicCurve2D; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.AffineTransform; import java.awt.geom.PathIterator; import java.awt.geom.CubicCurve2D; /** * Checks whether the CubicCurve2D.getPathIterator method works * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getPathIterator implements Testlet { public void test(TestHarness harness) { test_untransformed(harness); test_transformed(harness); } public void test_untransformed(TestHarness harness) { CubicCurve2D curve; PathIterator pit; double[] c = new double[6]; harness.checkPoint("untransformed"); curve = new CubicCurve2D.Double(1, 2, 3, 4, 5, 6, 7, 8); pit = curve.getPathIterator(null); harness.check(!pit.isDone()); // 1 harness.check(pit.currentSegment(c), PathIterator.SEG_MOVETO); // 2 harness.check(c[0], 1.0); // 3 harness.check(c[1], 2.0); // 4 pit.next(); harness.check(!pit.isDone()); // 5 harness.check(pit.currentSegment(c), PathIterator.SEG_CUBICTO); // 6 harness.check(c[0], 3.0); // 7 harness.check(c[1], 4.0); // 8 harness.check(c[2], 5.0); // 9 harness.check(c[3], 6.0); // 10 harness.check(c[4], 7.0); // 11 harness.check(c[5], 8.0); // 12 pit.next(); harness.check(pit.isDone()); // 13 harness.check(pit.getWindingRule(), PathIterator.WIND_NON_ZERO);// 14 } public void test_transformed(TestHarness harness) { CubicCurve2D curve; PathIterator pit; AffineTransform tx; double[] c = new double[6]; harness.checkPoint("transformed"); tx = new AffineTransform(); tx.scale(2, 3); tx.translate(1, -1); curve = new CubicCurve2D.Double(1, 2, 3, 4, 5, 6, 7, 8); pit = curve.getPathIterator(tx); harness.check(!pit.isDone()); // 1 harness.check(pit.currentSegment(c), PathIterator.SEG_MOVETO); // 2 harness.check(c[0], 4.0); // 3 harness.check(c[1], 3.0); // 4 pit.next(); harness.check(!pit.isDone()); // 5 harness.check(pit.currentSegment(c), PathIterator.SEG_CUBICTO); // 6 harness.check(c[0], 8.0); // 7 harness.check(c[1], 9.0); // 8 harness.check(c[2], 12.0); // 9 harness.check(c[3], 15.0); // 10 harness.check(c[4], 16.0); // 11 harness.check(c[5], 21.0); // 12 pit.next(); harness.check(pit.isDone()); // 13 harness.check(pit.getWindingRule(), PathIterator.WIND_NON_ZERO);// 14 } } mauve-20140821/gnu/testlet/java/awt/geom/CubicCurve2D/Float/0000755000175000001440000000000012375316426022163 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/geom/CubicCurve2D/Float/getCtrlP2.java0000644000175000001440000000261207746211417024635 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.CubicCurve2D.Float; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.CubicCurve2D; /** * Checks whether the CubicCurve2D.Float.getCtrlP2() method works * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getCtrlP2 implements Testlet { public void test(TestHarness harness) { CubicCurve2D.Float curve; curve = new CubicCurve2D.Float(-1, -2, -3.141f, 42, -5, -6, -77, 88); harness.check(curve.getCtrlP2().getX(), -5); // Check 1 harness.check(curve.getCtrlP2().getY(), -6); // Check 2 } } mauve-20140821/gnu/testlet/java/awt/geom/CubicCurve2D/Float/getP1.java0000644000175000001440000000260607746211417024012 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.CubicCurve2D.Float; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.CubicCurve2D; /** * Checks whether the CubicCurve2D.Float.getP1() method works * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getP1 implements Testlet { public void test(TestHarness harness) { CubicCurve2D.Float curve; curve = new CubicCurve2D.Float(-1.2e8f, -2.3e7f, -3, -4, -5, -6, -7, -8); harness.check(curve.getP1().getX(), -1.2e8f); // Check 1 harness.check(curve.getP1().getY(), -2.3e7f); // Check 2 } } mauve-20140821/gnu/testlet/java/awt/geom/CubicCurve2D/Float/Float.java0000644000175000001440000000541307746211417024076 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.CubicCurve2D.Float; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.CubicCurve2D; /** * Checks whether the CubicCurve2D.Float constructors works * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class Float implements Testlet { private TestHarness h; public void test(TestHarness harness) { this.h = harness; testZeroArgs(); testEightArgs(); } /** * Checks whether the zero-argument constructor works as specified. */ public void testZeroArgs() { CubicCurve2D curve; h.checkPoint("noArgs"); curve = new CubicCurve2D.Float(); h.check(curve.getX1(), 0); // 1 h.check(curve.getY1(), 0); // 2 h.check(curve.getCtrlX1(), 0); // 3 h.check(curve.getCtrlY1(), 0); // 4 h.check(curve.getCtrlX2(), 0); // 5 h.check(curve.getCtrlY2(), 0); // 6 h.check(curve.getX2(), 0); // 7 h.check(curve.getY2(), 0); // 8 } /** * Checks whether the eight-argument constructor works as specified. */ public void testEightArgs() { CubicCurve2D.Float curve; h.checkPoint("eightArgs"); curve = new CubicCurve2D.Float(1e1f, 2e2f, 3e3f, 4e4f, 5e5f, 6e6f, 7e7f, 8e8f); h.check(curve.getX1(), 1e1f); // 1 h.check(curve.getY1(), 2e2f); // 2 h.check(curve.getCtrlX1(), 3e3f); // 3 h.check(curve.getCtrlY1(), 4e4f); // 4 h.check(curve.getCtrlX2(), 5e5f); // 5 h.check(curve.getCtrlY2(), 6e6f); // 6 h.check(curve.getX2(), 7e7f); // 7 h.check(curve.getY2(), 8e8f); // 8 h.check(curve.x1, 1e1f); // 9 h.check(curve.y1, 2e2f); // 10 h.check(curve.ctrlx1, 3e3f); // 11 h.check(curve.ctrly1, 4e4f); // 12 h.check(curve.ctrlx2, 5e5f); // 13 h.check(curve.ctrly2, 6e6f); // 14 h.check(curve.x2, 7e7f); // 15 h.check(curve.y2, 8e8f); // 16 } } mauve-20140821/gnu/testlet/java/awt/geom/CubicCurve2D/Float/getP2.java0000644000175000001440000000260107746211417024006 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.CubicCurve2D.Float; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.CubicCurve2D; /** * Checks whether the CubicCurve2D.Float.getP2() method works * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getP2 implements Testlet { public void test(TestHarness harness) { CubicCurve2D.Float curve; curve = new CubicCurve2D.Float(-1, -2, -3, 42, -5, -6, -77.7f, 88.8f); harness.check(curve.getP2().getX(), -77.7f); // Check 1 harness.check(curve.getP2().getY(), 88.8f); // Check 2 } } mauve-20140821/gnu/testlet/java/awt/geom/CubicCurve2D/Float/setCurve.java0000644000175000001440000000332207746211417024626 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.CubicCurve2D.Float; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.CubicCurve2D; /** * Checks whether the CubicCurve2D.Float.setCurve method works * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class setCurve implements Testlet { public void test(TestHarness harness) { CubicCurve2D.Float curve; curve = new CubicCurve2D.Float(-1, -2, -3, -4, -5, -6, -7, -8); curve.setCurve(1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8); harness.check(curve.x1, 1.1f); // Check 1 harness.check(curve.y1, 2.2f); // Check 2 harness.check(curve.ctrlx1, 3.3f); // Check 3 harness.check(curve.ctrly1, 4.4f); // Check 4 harness.check(curve.ctrlx2, 5.5f); // Check 5 harness.check(curve.ctrly2, 6.6f); // Check 6 harness.check(curve.x2, 7.7f); // Check 7 harness.check(curve.y2, 8.8f); // Check 8 } } mauve-20140821/gnu/testlet/java/awt/geom/CubicCurve2D/Float/getCtrlP1.java0000644000175000001440000000262207746211417024635 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.CubicCurve2D.Float; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.CubicCurve2D; /** * Checks whether the CubicCurve2D.Float.getCtrlP1() method works * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getCtrlP1 implements Testlet { public void test(TestHarness harness) { CubicCurve2D.Float curve; curve = new CubicCurve2D.Float(-1, -2, -3.141f, 42, -5, -6, -77, 88); harness.check(curve.getCtrlP1().getX(), -3.141f); // Check 1 harness.check(curve.getCtrlP1().getY(), 42); // Check 2 } } mauve-20140821/gnu/testlet/java/awt/geom/CubicCurve2D/Float/getBounds2D.java0000644000175000001440000000323107746211417025145 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.CubicCurve2D.Float; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.CubicCurve2D; import java.awt.geom.Rectangle2D; /** * Checks whether the CubicCurve2D.Float.getBounds2D method works * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getBounds2D implements Testlet { public void test(TestHarness harness) { CubicCurve2D.Float curve; Rectangle2D bounds; curve = new CubicCurve2D.Float(1, -2, -3, 4, 5, 7, -8, 9); bounds = curve.getBounds2D(); harness.check(bounds instanceof Rectangle2D.Float); // 1 harness.check(bounds.getX(), -8); // 2 harness.check(bounds.getY(), -2); // 3 harness.check(bounds.getWidth(), 13); // 4 harness.check(bounds.getHeight(), 11); // 5 } } mauve-20140821/gnu/testlet/java/awt/geom/CubicCurve2D/setCurve.java0000644000175000001440000001133007746211417023557 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.CubicCurve2D; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.Point; import java.awt.geom.Point2D; import java.awt.geom.CubicCurve2D; /** * Checks whether the various CubicCurve2D.setCurve methods work * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class setCurve implements Testlet { public void test(TestHarness harness) { test_array(harness); test_fourPoints(harness); test_PointArray(harness); test_CubicCurve2D(harness); } private void test_array(TestHarness harness) { CubicCurve2D curve; harness.checkPoint("array"); curve = new CubicCurve2D.Double(); curve.setCurve(new double[] { 1, 2, 3, 11, 12, 13, 14, 15, 16, 17, 18 }, /* offset */ 3); harness.check(curve.getX1(), 11); // Check 1 harness.check(curve.getY1(), 12); // Check 2 harness.check(curve.getCtrlX1(), 13); // Check 3 harness.check(curve.getCtrlY1(), 14); // Check 4 harness.check(curve.getCtrlX2(), 15); // Check 5 harness.check(curve.getCtrlY2(), 16); // Check 6 harness.check(curve.getX2(), 17); // Check 7 harness.check(curve.getY2(), 18); // Check 8 } private void test_fourPoints(TestHarness harness) { CubicCurve2D curve; harness.checkPoint("fourPoints"); curve = new CubicCurve2D.Double(); curve.setCurve(new Point2D.Float(1, 2), new Point2D.Double(3, 4), new Point(5, 6), new Point2D.Float(7, 8)); harness.check(curve.getX1(), 1); // Check 1 harness.check(curve.getY1(), 2); // Check 2 harness.check(curve.getCtrlX1(), 3); // Check 3 harness.check(curve.getCtrlY1(), 4); // Check 4 harness.check(curve.getCtrlX2(), 5); // Check 5 harness.check(curve.getCtrlY2(), 6); // Check 6 harness.check(curve.getX2(), 7); // Check 7 harness.check(curve.getY2(), 8); // Check 8 } private void test_PointArray(TestHarness harness) { CubicCurve2D curve; Point2D[] pts = new Point2D[20]; harness.checkPoint("PointArray"); curve = new CubicCurve2D.Double(); pts[11] = new Point2D.Float(1,2); pts[12] = new Point2D.Double(3,4); pts[13] = new Point(5, 6); pts[14] = new Point(7, 8); curve.setCurve(pts, 11); harness.check(curve.getX1(), 1); // Check 1 harness.check(curve.getY1(), 2); // Check 2 harness.check(curve.getCtrlX1(), 3); // Check 3 harness.check(curve.getCtrlY1(), 4); // Check 4 harness.check(curve.getCtrlX2(), 5); // Check 5 harness.check(curve.getCtrlY2(), 6); // Check 6 harness.check(curve.getX2(), 7); // Check 7 harness.check(curve.getY2(), 8); // Check 8 } private void test_CubicCurve2D(TestHarness harness) { CubicCurve2D curve; Point2D[] pts = new Point2D[20]; harness.checkPoint("CubicCurve2D"); curve = new CubicCurve2D.Float(); curve.setCurve(new CubicCurve2D.Double(9, 8, 7, 6, 5, 4, 3, 2)); harness.check(curve.getX1(), 9); // Check 1 harness.check(curve.getY1(), 8); // Check 2 harness.check(curve.getCtrlX1(), 7); // Check 3 harness.check(curve.getCtrlY1(), 6); // Check 4 harness.check(curve.getCtrlX2(), 5); // Check 5 harness.check(curve.getCtrlY2(), 4); // Check 6 harness.check(curve.getX2(), 3); // Check 7 harness.check(curve.getY2(), 2); // Check 8 curve = new CubicCurve2D.Double(); curve.setCurve(new CubicCurve2D.Float(90, 80, 70, 60, 50, 40, 30, 20)); harness.check(curve.getX1(), 90); // Check 9 harness.check(curve.getY1(), 80); // Check 10 harness.check(curve.getCtrlX1(), 70); // Check 11 harness.check(curve.getCtrlY1(), 60); // Check 12 harness.check(curve.getCtrlX2(), 50); // Check 13 harness.check(curve.getCtrlY2(), 40); // Check 14 harness.check(curve.getX2(), 30); // Check 15 harness.check(curve.getY2(), 20); // Check 16 } } mauve-20140821/gnu/testlet/java/awt/geom/CubicCurve2D/solveCubic.java0000644000175000001440000001074307752421421024057 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.CubicCurve2D; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.CubicCurve2D; /** * Checks whether the CubicCurve2D.solveCubic methods work * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class solveCubic implements Testlet { private TestHarness harness; public void test(TestHarness harness) { this.harness = harness; checkSolutions(1, 0, 0, -1, new double[]{1}); checkSolutions(5, 6, 1, 0, new double[]{0, -1, -0.2}); checkSolutions(8, 2, -1, 0, new double[]{0, -0.5, 0.25}); checkSolutions(9, -6, 0.5, -1, new double[]{0.7785994720166718}); // Sun J2SE 1.4.1_01 (GNU/Linux IA-32) fails to find x=0 here. checkSolutions(0.25, -1, 0, 0, new double[]{0, 4}); checkSolutions(1, 1, 0, 0, new double[]{-1, 0}); checkSolutions(1, 0.5, 0, 0, new double[]{-0.5, 0}); // Some equations that are actually quadratic. checkSolutions(0, 0, 1, -23, new double[]{23}); checkSolutions(0, 0, 0, 1968.5, null); checkSolutions(0, 0, 0, 0, null); checkSolutions(0, 0, 8, 8, new double[]{-1}); checkSolutions(0, 0.5, 0, -2, new double[]{-2, 2}); checkSolutions(0, 10, 3, 5, new double[0]); checkSolutions(0, 4, 0, 0, new double[]{0}); // Classpath bug #6095. // The subsequent six tests are taken from test code in the // GNU Scientific Library (GSL), which is licensed under the // GNU General Public License version 2 or later. // See file "gsl/poly/test.c", revision 1.16 of 2003-07-26. // Original author: Brian Gough checkSolutions(1, 0, 0, -27, new double[]{3}); checkSolutions(1, -51, 867, -4913, new double[]{17}); checkSolutions(1, -57, 1071, -6647, new double[]{17, 23}); checkSolutions(1, -11, -493, +6647, new double[]{17, -23}); checkSolutions(1, -143, 5087, -50065, new double[]{17, 31, 95}); checkSolutions(1, -109, 803, 50065, new double[]{-17, 31, 95}); } /** * Checks whether all expected solutions were found. * * @param c3 the coefficient for x^3. * * @param c2 the coefficient for x^2. * * @param c1 the coefficient for x^1. * * @param c0 the coefficient for x^0. * * @param expected the expected set of solutions, or * null if CubicCurve2D.solveCubic is expected to * return -1. */ private void checkSolutions(double c3, double c2, double c1, double c0, double[] expected) { double[] solutions = new double[4]; int numSols, numExpectedSolutions; StringBuffer buf = new StringBuffer(); if (c3 != 0) { buf.append(c3); buf.append("x^3"); } if (c2 != 0) { buf.append(c2 > 0 ? " + " : " - "); buf.append(Math.abs(c2)); buf.append("x^2"); } if (c1 != 0) { buf.append(c1 > 0 ? " + " : " - "); buf.append(Math.abs(c1)); buf.append("x"); } if (c0 != 0) { buf.append(c0 > 0 ? " + " : " - "); buf.append(Math.abs(c0)); } buf.append(" = 0"); harness.checkPoint(buf.toString()); numExpectedSolutions = expected == null ? -1 : expected.length; numSols = CubicCurve2D.solveCubic(new double[] { c0, c1, c2, c3 }, solutions); harness.check(numSols, numExpectedSolutions); for (int i = 0; i < numExpectedSolutions; i++) { boolean found = false; for (int j = 0; j < numSols; j++) { if (Math.abs(solutions[j] - expected[i]) < 1e-6) { found = true; break; } } harness.check(found); if (!found) harness.debug("solution " + expected[i] + " not found"); } } } mauve-20140821/gnu/testlet/java/awt/geom/CubicCurve2D/getFlatness.java0000644000175000001440000000452410057633050024233 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.CubicCurve2D; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.CubicCurve2D; /** * Checks whether the various CubicCurve2D.getFlatness methods work * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getFlatness implements Testlet { private TestHarness harness; public void test(TestHarness harness) { this.harness = harness; // Check 1: eight doubles, collinear chkeps(CubicCurve2D.getFlatness(1, 2, 3, 4, 5, 6, 7, 8), 0); // Check 2: eight doubles, collinear (C1 and C2 swapped) chkeps(CubicCurve2D.getFlatness(1, 2, 5, 6, 3, 4, 7, 8), 0); // Check 3: eight doubles, collinear (C2 and P2 swapped) chkeps(CubicCurve2D.getFlatness(1, 2, 3, 4, 7, 8, 5, 6), 2.8284271247461903); // Check 4: eight doubles, not collinear chkeps(CubicCurve2D.getFlatness(10, -20, 3, 4, 5, 6, 40, 0), 24.40680863391008); // Check 5: double[], not collinear double[] d = new double[] {2, 100, -200, 30, 44, 5, 600, 77, 18981}; chkeps(CubicCurve2D.getFlatness(d, 1), 94.04064976860437); // Check 6: Method on CubicCurve2D, degenerated to point chkeps((new CubicCurve2D.Double()).getFlatness(), 0); // Check 7: Method on CubicCurve2D, not collinear chkeps((new CubicCurve2D.Double(9,8,1,2,-4,0,1311,2332)).getFlatness(), 15.264337522473747); } private void chkeps(double a, double b) { if (Math.abs(a - b) > 1e-7) harness.check(a, b); else harness.check(true); } } mauve-20140821/gnu/testlet/java/awt/geom/CubicCurve2D/subdivide.java0000644000175000001440000001163507746211417023745 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.CubicCurve2D; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.CubicCurve2D; import java.util.Arrays; /** * Checks whether the CubicCurve2D.subdivide methods work * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class subdivide implements Testlet { private TestHarness harness; public void test(TestHarness harness) { this.harness = harness; test_array(); test_curve2(); test_curve3(); } private void test_array() { double[] src, left, right; harness.checkPoint("array"); // Check 1 src = new double[]{7,7,1.5,2,3,4,-5,6,9,13}; left = new double[15]; CubicCurve2D.subdivide(src, 2, left, 1, left, 7); harness.check(Arrays.equals(left, new double[]{0, 1.5, 2, 2.25, 3, 0.625, 4, 0.5625, 5.625, 0.5, 7.25, 2, 9.5, 9, 13})); // Check 2: No exception for null results. try { CubicCurve2D.subdivide(src, 0, null, 0, null, 0); harness.check(true); } catch (Exception ex) { harness.check(false); } // Check 3 and 4: Degenerate case, subdividing a point (0,0) src = new double[8]; left = new double[8]; right = new double[8]; CubicCurve2D.subdivide(src, 0, left, 0, right, 0); harness.check(Arrays.equals(left, new double[8])); harness.check(Arrays.equals(left, right)); } private void test_curve2() { CubicCurve2D src, left, right; harness.checkPoint("curve2"); src = new CubicCurve2D.Double(42, 24, 123, 321, -78011, -11087, 41, 28); left = new CubicCurve2D.Double(); right = new CubicCurve2D.Float(); src.subdivide(left, right); chkeps(left.getX1(), 42); // 1 chkeps(left.getY1(), 24); // 2 chkeps(left.getCtrlX1(), 82.5); // 3 chkeps(left.getCtrlY1(), 172.5); // 4 chkeps(left.getCtrlX2(), -19430.75); // 5 chkeps(left.getCtrlY2(), -2605.25); // 6 chkeps(left.getX2(), -29197.625); // 7 chkeps(left.getY2(), -4030.75); // 8 chkeps(right.getX1(), -29197.625); // 9 chkeps(right.getY1(), -4030.75); // 10 chkeps(right.getCtrlX1(), -38964.5); // 11 chkeps(right.getCtrlY1(), -5456.25); // 12 chkeps(right.getCtrlX2(), -38985.0); // 13 chkeps(right.getCtrlY2(), -5529.5); // 14 chkeps(right.getX2(), 41); // 15 chkeps(right.getY2(), 28); // 16 } private void test_curve3() { CubicCurve2D src, left, right; harness.checkPoint("curve3"); src = new CubicCurve2D.Double(23, -23, 42, -42, 1968.5, -1968.5, 68, 96); left = new CubicCurve2D.Float(); right = new CubicCurve2D.Float(); CubicCurve2D.subdivide(src, left, right); chkeps(left.getX1(), 23); // 1 chkeps(left.getY1(), -23); // 2 chkeps(left.getCtrlX1(), 32.5); // 3 chkeps(left.getCtrlY1(), -32.5); // 4 chkeps(left.getCtrlX2(), 518.875); // 5 chkeps(left.getCtrlY2(), -518.875); // 6 chkeps(left.getX2(), 765.3125); // 7 chkeps(left.getY2(), -744.8125); // 8 chkeps(right.getX1(), 765.3125); // 9 chkeps(right.getY1(), -744.8125); // 10 chkeps(right.getCtrlX1(), 1011.75); // 11 chkeps(right.getCtrlY1(), -970.75); // 12 chkeps(right.getCtrlX2(), 1018.25); // 13 chkeps(right.getCtrlY2(), -936.25) ; // 14 chkeps(right.getX2(), 68); // 15 chkeps(right.getY2(), 96); // 16 CubicCurve2D.subdivide(left, null, left); chkeps(left.getX1(), 305.3046875); // 17 chkeps(left.getY1(), -302.7421875); // 18 chkeps(left.getCtrlX1(), 458.890625); // 19 chkeps(left.getCtrlY1(), -453.765625); // 20 chkeps(left.getCtrlX2(), 642.09375); // 21 chkeps(left.getCtrlY2(), -631.84375); // 22 chkeps(left.getX2(), 765.3125); // 23 chkeps(left.getY2(), -744.8125); // 24 } private void chkeps(double a, double b) { if (Math.abs(a - b) > 1e-6) harness.check(a, b); else harness.check(true); } } mauve-20140821/gnu/testlet/java/awt/geom/FlatteningPathIterator/0000755000175000001440000000000012375316426023320 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/geom/FlatteningPathIterator/currentSegment.java0000644000175000001440000003443707754273775027221 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.FlatteningPathIterator; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.Shape; import java.awt.geom.FlatteningPathIterator; import java.awt.geom.GeneralPath; import java.awt.geom.PathIterator; import java.awt.geom.QuadCurve2D; import java.awt.geom.CubicCurve2D; /** * Checks whether FlatteningPathIterator.currentSegment works. This is * the real test for the flattening functionality. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class currentSegment implements Testlet { public void test(TestHarness h) { test_emptyPath(h); test_quadCurve(h); test_cubicCurve(h); } /** * Flattens an empty path. */ private void test_emptyPath(TestHarness h) { FlatteningPathIterator fpi; GeneralPath path; h.checkPoint("emptyPath"); path = new GeneralPath(); fpi = new FlatteningPathIterator( path.getPathIterator(null), /* closely follow the shape */ 1e-4, /* but without any recursion */ 0); h.check(fpi.isDone()); } /** * Flattens quadratic curves with various flatnesses and recursion * limits. */ public void test_quadCurve(TestHarness h) { h.checkPoint("quadCurve-A"); test_quadCurve(h, /* flatness */ 0.0, /* level */ 0, 10,-10, 20, -1234, 400, 800, new double[] { /* Check 1 */ PathIterator.SEG_MOVETO, 10.0, -10.0, /* Check 2 */ PathIterator.SEG_LINETO, 400.0, 800.0 /* Check 3: PathIterator.isDone() */ }); h.checkPoint("quadCurve-B"); test_quadCurve(h, /* flatness */ 0.0, /* level */ 1, 10,-10, 20, -1234, 400, 800, new double[] { /* Check 1 */ PathIterator.SEG_MOVETO, 10.0, -10.0, /* Check 2 */ PathIterator.SEG_LINETO, 112.5, -419.5, /* Check 3 */ PathIterator.SEG_LINETO, 400.0, 800.0, /* Check 4: PathIterator.isDone() */ }); h.checkPoint("quadCurve-C"); test_quadCurve(h, /* flatness */ 0.0, /* level */ 2, 0, -0, 1, -1, 2, -2, new double[] { /* Check 1 */ PathIterator.SEG_MOVETO, 0.0, 0.0, /* Check 2 */ PathIterator.SEG_LINETO, 0.5, -0.5, /* Check 3 */ PathIterator.SEG_LINETO, 1.0, -1.0, /* Check 4 */ PathIterator.SEG_LINETO, 1.5, -1.5, /* Check 5 */ PathIterator.SEG_LINETO, 2.0, -2.0, /* Check 6: PathIterator.isDone() */ }); h.checkPoint("quadCurve-D"); test_quadCurve(h, /* flatness */ 0.1, /* level */ 2, 0, -0, 1, -1, 2, -2, new double[] { /* Check 1 */ PathIterator.SEG_MOVETO, 0.0, 0.0, /* Check 2 */ PathIterator.SEG_LINETO, 2.0, -2.0, /* Check 3: PathIterator.isDone() */ }); h.checkPoint("quadCurve-E"); // flatness of this curve: 2.3417; test with smaller flatness test_quadCurve(h, /* flatness */ 1, /* level */ 8, 10, -20, 3, 4, 5, 6, new double[] { /* Check 1 */ PathIterator.SEG_MOVETO, 10.0, -20.0, /* Check 2 */ PathIterator.SEG_LINETO, 5.25, -1.5, /* Check 3 */ PathIterator.SEG_LINETO, 4.5625, 3.625, /* Check 4 */ PathIterator.SEG_LINETO, 5.0, 6.0, /* Check 5: PathIterator.isDone() */ }); h.checkPoint("quadCurve-F"); // flatness of this curve: 2.3417; test with larger flatness test_quadCurve(h, /* flatness */ 4, /* level */ 8, 10, -20, 3, 4, 5, 6, new double[] { /* Check 1 */ PathIterator.SEG_MOVETO, 10.0, -20.0, /* Check 2 */ PathIterator.SEG_LINETO, 5.0, 6.0, /* Check 3: PathIterator.isDone() */ }); h.checkPoint("quadCurve-G"); // degenerated: one single point test_quadCurve(h, /* flatness */ 4, /* level */ 8, 2.3, 2.3, 2.3, 2.3, 2.3, 2.3, new double[] { /* Check 1 */ PathIterator.SEG_MOVETO, 2.3, 2.3, /* Check 2 */ PathIterator.SEG_LINETO, 2.3, 2.3, /* Check 3: PathIterator.isDone() */ }); } /** * Flattens a QuadCurve2D with the specified flatness and recursion * level. */ private void test_quadCurve(TestHarness h, double flatness, int level, double x1, double y1, double cx, double cy, double x2, double y2, double[] data) { Shape curve; FlatteningPathIterator fpi; curve = new QuadCurve2D.Double(x1, y1, cx, cy, x2, y2); fpi = new FlatteningPathIterator(curve.getPathIterator(null), flatness, level); if (data == null) dump(fpi); else checkSegments(h, fpi, data); } /** * Flattens cubic curves with various flatnesses and recursion * limits. */ public void test_cubicCurve(TestHarness h) { h.checkPoint("cubicCurve-A"); test_cubicCurve(h, /* flatness */ 0.0, /* level */ 0, 10,-10, 20, -1234, 400, 800, 0, 1, new double[] { /* Check 1 */ PathIterator.SEG_MOVETO, 10.0, -10.0, /* Check 2 */ PathIterator.SEG_LINETO, 0.0, 1.0, /* Check 3: PathIterator.isDone() */ }); h.checkPoint("cubicCurve-B"); test_cubicCurve(h, /* flatness */ 0.0, /* level */ 1, 10,-10, 20, -1234, 400, 800, 120, 10, new double[] { /* Check 1 */ PathIterator.SEG_MOVETO, 10.0, -10.0, /* Check 2 */ PathIterator.SEG_LINETO, 173.75, -162.75, /* Check 3 */ PathIterator.SEG_LINETO, 120.0, 10.0, /* Check 4: PathIterator.isDone() */ }); h.checkPoint("cubicCurve-C"); test_cubicCurve(h, /* flatness */ 0.0, /* level */ 2, 0, -0, 1, -1, 2, -2, 3, -3, new double[] { /* Check 1 */ PathIterator.SEG_MOVETO, 0.0, 0.0, /* Check 2 */ PathIterator.SEG_LINETO, 0.75, -0.75, /* Check 3 */ PathIterator.SEG_LINETO, 1.5, -1.5, /* Check 4 */ PathIterator.SEG_LINETO, 2.25, -2.25, /* Check 5 */ PathIterator.SEG_LINETO, 3.0, -3.0, /* Check 6: PathIterator.isDone() */ }); h.checkPoint("cubicCurve-D"); test_cubicCurve(h, /* flatness */ 0.1, /* level */ 2, 0, -0, 1, -1, 2, -2, 3, -3, new double[] { /* Check 1 */ PathIterator.SEG_MOVETO, 0.0, 0.0, /* Check 2 */ PathIterator.SEG_LINETO, 3.0, -3.0, /* Check 3: PathIterator.isDone() */ }); h.checkPoint("cubicCurve-E"); // Flatness of this curve: 4.4034; of left subdivision: 0.8506; // of right subdivision: 1.281. Test with a flatness that is // larger than that of the whole curve. test_cubicCurve(h, /* flatness */ 5, /* level */ 8, 10, -20, 3, 4, 5, 6, 7, 8, new double[] { /* Check 1 */ PathIterator.SEG_MOVETO, 10.0, -20.0, /* Check 2 */ PathIterator.SEG_LINETO, 7.0, 8.0, /* Check 3: PathIterator.isDone() */ }); h.checkPoint("cubicCurve-F"); // Flatness of this curve: 4.4034; of left subdivision: 0.8506; // of right subdivision: 1.281. Test with a flatness that is // larger than each subdivision, but smaller than the whole curve. test_cubicCurve(h, /* flatness */ 3, /* level */ 8, 10, -20, 3, 4, 5, 6, 7, 8, new double[] { /* Check 1 */ PathIterator.SEG_MOVETO, 10.0, -20.0, /* Check 2 */ PathIterator.SEG_LINETO, 5.125, 2.25, /* Check 3 */ PathIterator.SEG_LINETO, 7.0, 8.0, /* Check 4: PathIterator.isDone() */ }); h.checkPoint("cubicCurve-G"); // Flatness of this curve: 4.4034; of left subdivision: 0.8506; // of right subdivision: 1.281. Test with a flatness that is // larger than the left, but smaller than the right subdivision. test_cubicCurve(h, /* flatness */ 1, /* level */ 8, 10, -20, 3, 4, 5, 6, 7, 8, new double[] { /* Check 1 */ PathIterator.SEG_MOVETO, 10.0, -20.0, /* Check 2 */ PathIterator.SEG_LINETO, 5.125, 2.25, /* Check 3 */ PathIterator.SEG_LINETO, 5.640625, 6.15625, /* Check 4 */ PathIterator.SEG_LINETO, 7.0, 8.0, /* Check 5: PathIterator.isDone() */ }); h.checkPoint("cubicCurve-H"); // Flatness of this curve: 4.4034; of left subdivision: 0.8506; // of right subdivision: 1.281. Test with a flatness that is // smaller than each subdivision. test_cubicCurve(h, /* flatness */ 0.8, /* level */ 8, 10, -20, 3, 4, 5, 6, 7, 8, new double[] { /* Check 1 */ PathIterator.SEG_MOVETO, 10.0, -20.0, /* Check 2 */ PathIterator.SEG_LINETO, 6.296875, -5.78125, /* Check 3 */ PathIterator.SEG_LINETO, 5.125, 2.25, /* Check 4 */ PathIterator.SEG_LINETO, 5.640625, 6.15625, /* Check 5 */ PathIterator.SEG_LINETO, 7.0, 8.0, /* Check 6: PathIterator.isDone() */ }); h.checkPoint("cubicCurve-I"); // degenerated: one single point test_cubicCurve(h, /* flatness */ 4, /* level */ 8, 2.3, 2.3, 2.3, 2.3, 2.3, 2.3, 2.3, 2.3, new double[] { /* Check 1 */ PathIterator.SEG_MOVETO, 2.3, 2.3, /* Check 2 */ PathIterator.SEG_LINETO, 2.3, 2.3, /* Check 3: PathIterator.isDone() */ }); } /** * Flattens a CubicCurve2D with the specified flatness and recursion * level. */ private void test_cubicCurve(TestHarness h, double flatness, int level, double x1, double y1, double cx1, double cy1, double cx2, double cy2, double x2, double y2, double[] data) { CubicCurve2D curve; FlatteningPathIterator fpi; curve = new CubicCurve2D.Double(x1, y1, cx1, cy1, cx2, cy2, x2, y2); fpi = new FlatteningPathIterator(curve.getPathIterator(null), flatness, level); if (data == null) { dump(fpi); /* CubicCurve2D l = new CubicCurve2D.Double(); CubicCurve2D r = new CubicCurve2D.Double(); curve.subdivide(l, r); System.out.println(curve.getFlatness()); System.out.println(l.getFlatness()); System.out.println(r.getFlatness()); */ } else checkSegments(h, fpi, data); } /** * Flattens a GeneralPath. */ private void test_generalPath(TestHarness h) { h.checkPoint("generalPath"); GeneralPath path; path = new GeneralPath(); path.moveTo(1.1f, 1.2f); path.lineTo(2.1f, 2.2f); path.quadTo(3.1f, 3.2f, 4.1f, 4.2f); path.closePath(); path.moveTo(5.1f, 5.2f); path.curveTo(6.1f, 6.2f, 7.1f, 7.2f, 8.1f, 8.2f); } private static final float EPSILON_F = 1e-6f; private static final double EPSILON = 1e-6; private void checkSegments(TestHarness h, PathIterator pit, double[] pt) { for (int i = 0; i < pt.length/3; i++) { checkSegment(h, pit, i, pt); pit.next(); } h.check(pit.isDone()); } private void checkSegment(TestHarness h, PathIterator pit, int seg, double[] pt) { double[] d = new double[6]; float[] f = new float[6]; double x, y; int segType, expectedSegType; if (pit.isDone()) { h.check(false); h.debug("path iterator is prematurely done"); return; } expectedSegType = (int) pt[3 * seg]; segType = pit.currentSegment(d); if (segType != expectedSegType) { h.debug("segment type mismatch (double[]): got " + getSegmentTypeName(segType) + ", expected " + getSegmentTypeName(expectedSegType)); return; } segType = pit.currentSegment(f); if (segType != (int) pt[3 * seg]) { h.check(segType, (int) pt[3 * seg]); h.debug("segment type mismatch (float[])"); return; } if (segType == PathIterator.SEG_CLOSE) { h.check(true); return; } x = pt[3 * seg + 1]; y = pt[3 * seg + 2]; if ((Math.abs(d[0] - x) > EPSILON) || (Math.abs(d[1] - y) > EPSILON)) { chkpt(h, d, 0, x, y); return; } chkpt(h, f, 0, (float) x, (float) y); } private void chkpt(TestHarness h, float[] f, int off, float x, float y) { if ((Math.abs(f[off] - x) > EPSILON_F) || (Math.abs(f[off+1] - y) > EPSILON_F)) { h.check(false); h.debug("got (" + f[off] + ", " + f[off+1] + ") but expected (" + x + ", " + y + ")"); } else h.check(true); } private void chkpt(TestHarness h, double[] f, int off, double x, double y) { if ((Math.abs(f[off] - x) > EPSILON) || (Math.abs(f[off+1] - y) > EPSILON)) { h.check(false); h.debug("got (" + f[off] + ", " + f[off+1] + ") but expected (" + x + ", " + y + ")"); } else h.check(true); } private static String getSegmentTypeName(int seg) { switch (seg) { case PathIterator.SEG_MOVETO: return "PathIterator.SEG_MOVETO"; case PathIterator.SEG_LINETO: return "PathIterator.SEG_LINETO"; case PathIterator.SEG_QUADTO: return "PathIterator.SEG_QUADTO"; case PathIterator.SEG_CUBICTO: return "PathIterator.SEG_CUBICTO"; case PathIterator.SEG_CLOSE: return "PathIterator.SEG_CLOSE"; default: throw new IllegalArgumentException(); } } private void dump(PathIterator p) { double[] d = new double[6]; int seg, i = 1; System.out.println(" {"); while (!p.isDone()) { seg = p.currentSegment(d); System.out.print(" /* Check " + (i++) + " */ "); System.out.print(getSegmentTypeName(seg)); System.out.println(", " + d[0] + ", " + d[1] + ","); p.next(); } System.out.println(" /* Check " + i + ": PathIterator.isDone() */"); System.out.println(" });"); } } mauve-20140821/gnu/testlet/java/awt/geom/FlatteningPathIterator/getRecursionLimit.java0000644000175000001440000000312107754273775027646 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.FlatteningPathIterator; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.FlatteningPathIterator; import java.awt.geom.Line2D; /** * Checks whether FlatteningPathIterator.getRecursionLimit works. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getRecursionLimit implements Testlet { public void test(TestHarness harness) { FlatteningPathIterator fpi; // Check 1 fpi = new FlatteningPathIterator( new Line2D.Float().getPathIterator(null), 9.2, 17); harness.check(fpi.getRecursionLimit(), 17); // Check 2 (in case it always returned 17) fpi = new FlatteningPathIterator( new Line2D.Float().getPathIterator(null), 2.1, 4); harness.check(fpi.getRecursionLimit(), 4); } } mauve-20140821/gnu/testlet/java/awt/geom/FlatteningPathIterator/getWindingRule.java0000644000175000001440000000421410057633050027101 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.FlatteningPathIterator; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.FlatteningPathIterator; import java.awt.geom.PathIterator; /** * Checks whether FlatteningPathIterator.getFlatness works. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getWindingRule implements Testlet { public void test(TestHarness harness) { FlatteningPathIterator fpi; // Check 1 fpi = new FlatteningPathIterator( new TestPathIterator(PathIterator.WIND_EVEN_ODD), 2.0); harness.check(fpi.getWindingRule(), PathIterator.WIND_EVEN_ODD); // Check 2 fpi = new FlatteningPathIterator( new TestPathIterator(PathIterator.WIND_NON_ZERO), 23.0); harness.check(fpi.getWindingRule(), PathIterator.WIND_NON_ZERO); } private static class TestPathIterator implements PathIterator { int rule; public TestPathIterator(int rule) { this.rule = rule; } public int getWindingRule() { return rule; } public boolean isDone() { return true; } public int currentSegment(float[] f) { throw new IllegalStateException(); } public int currentSegment(double[] d) { throw new IllegalStateException(); } public void next() { throw new IllegalStateException(); } } } mauve-20140821/gnu/testlet/java/awt/geom/FlatteningPathIterator/FlatteningPathIterator.java0000644000175000001440000000447407754273775030634 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.FlatteningPathIterator; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.Line2D; /** * Checks whether the FlatteningPathIterator constructors work. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class FlatteningPathIterator implements Testlet { public void test(TestHarness harness) { java.awt.geom.FlatteningPathIterator fpi; Throwable caught; // Checks 1 and 2: Three-argument form. fpi = new java.awt.geom.FlatteningPathIterator( new Line2D.Float().getPathIterator(null), 0, 0); harness.check(fpi.getFlatness(), 0); // 1 harness.check(fpi.getRecursionLimit(), 0); // 2 // Check 3: Two-argument form. fpi = new java.awt.geom.FlatteningPathIterator( new Line2D.Float().getPathIterator(null), 0); harness.check(fpi.getFlatness(), 0); // 3 // Check 4: Exception for flatness < 0. caught = null; try { fpi = new java.awt.geom.FlatteningPathIterator( new Line2D.Float().getPathIterator(null), -0.1, 4); } catch (Exception ex) { caught = ex; } harness.check(caught instanceof IllegalArgumentException); // Check 5: Exception for recursion limit < 0. caught = null; try { fpi = new java.awt.geom.FlatteningPathIterator( new Line2D.Float().getPathIterator(null), 10, -1); } catch (Exception ex) { caught = ex; } harness.check(caught instanceof IllegalArgumentException); } } mauve-20140821/gnu/testlet/java/awt/geom/FlatteningPathIterator/getFlatness.java0000644000175000001440000000260207754273775026460 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.FlatteningPathIterator; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.FlatteningPathIterator; import java.awt.geom.Line2D; /** * Checks whether FlatteningPathIterator.getFlatness works. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getFlatness implements Testlet { public void test(TestHarness harness) { FlatteningPathIterator fpi; // Check 1 fpi = new FlatteningPathIterator( new Line2D.Float().getPathIterator(null), 3.141); harness.check(fpi.getFlatness(), 3.141); } } mauve-20140821/gnu/testlet/java/awt/geom/Ellipse2D/0000755000175000001440000000000012375316426020461 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/geom/Ellipse2D/intersects.java0000644000175000001440000000303710135430146023476 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Ellipse2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Ellipse2D; /** * Some checks for the intersects() method of the {@link Ellipse2D} class. */ public class intersects implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Ellipse2D e = new Ellipse2D.Double(); harness.check(!e.intersects(0.0, 0.0, 0.0, 0.0)); harness.check(!e.intersects(-1.0, -1.0, 2.0, 2.0)); e = new Ellipse2D.Double(1.0, 2.0, 3.0, 4.0); harness.check(e.intersects(1.0, 2.0, 3.0, 4.0)); harness.check(!e.intersects(0.0, 0.0, 1.0, 1.0)); } } mauve-20140821/gnu/testlet/java/awt/geom/Ellipse2D/Double/0000755000175000001440000000000012375316426021673 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/geom/Ellipse2D/Double/constructors.java0000644000175000001440000000333610135435162025302 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Ellipse2D.Double; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Ellipse2D; /** * Some checks for the constructors for the {@link Ellipse2D.Double} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // constructor 1 Ellipse2D e = new Ellipse2D.Double(); harness.check(e.getX(), 0.0); harness.check(e.getY(), 0.0); harness.check(e.getWidth(), 0.0); harness.check(e.getHeight(), 0.0); harness.check(e.isEmpty()); // constructor 2 e = new Ellipse2D.Double(1.0, 2.0, 3.0, 4.0); harness.check(e.getX(), 1.0); harness.check(e.getY(), 2.0); harness.check(e.getWidth(), 3.0); harness.check(e.getHeight(), 4.0); harness.check(!e.isEmpty()); } } mauve-20140821/gnu/testlet/java/awt/geom/Ellipse2D/Double/setFrame.java0000644000175000001440000000343010135435162024273 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Ellipse2D.Double; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Ellipse2D; import java.awt.geom.Rectangle2D; /** * Some checks for the setFrame() method of the {@link Ellipse2D.Double} class. */ public class setFrame implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Ellipse2D e = new Ellipse2D.Double(1.0, 2.0, 3.0, 4.0); e.setFrame(0.0, 0.0, 0.0, 0.0); Rectangle2D b = e.getBounds2D(); harness.check(b.getX(), 0.0); harness.check(b.getY(), 0.0); harness.check(b.getWidth(), 0.0); harness.check(b.getHeight(), 0.0); e = new Ellipse2D.Double(); e.setFrame(1.0, 2.0, 3.0, 4.0); b = e.getBounds2D(); harness.check(b.getX(), 1.0); harness.check(b.getY(), 2.0); harness.check(b.getWidth(), 3.0); harness.check(b.getHeight(), 4.0); } } mauve-20140821/gnu/testlet/java/awt/geom/Ellipse2D/Double/isEmpty.java0000644000175000001440000000306510135435162024163 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Ellipse2D.Double; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Ellipse2D; /** * Some checks for the isEmpty() method of the {@link Ellipse2D.Double} class. */ public class isEmpty implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Ellipse2D e = new Ellipse2D.Double(); harness.check(e.isEmpty()); e = new Ellipse2D.Double(1.0, 2.0, 3.0, 4.0); harness.check(!e.isEmpty()); e = new Ellipse2D.Double(1.0, 2.0, -3.0, 4.0); harness.check(e.isEmpty()); e = new Ellipse2D.Double(1.0, 2.0, 3.0, -4.0); harness.check(e.isEmpty()); } } mauve-20140821/gnu/testlet/java/awt/geom/Ellipse2D/Double/clone.java0000644000175000001440000000314110135435162023624 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Ellipse2D.Double; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Ellipse2D; /** * Some checks for the clone() method in the {@link Ellipse2D.Double} class. */ public class clone implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Ellipse2D e1 = new Ellipse2D.Double(1.0, 2.0, 3.0, 4.0); Ellipse2D e2 = null; e2 = (Ellipse2D) e1.clone(); harness.check(e1.getX(), e2.getX()); harness.check(e1.getY(), e2.getY()); harness.check(e1.getWidth(), e2.getWidth()); harness.check(e1.getHeight(), e2.getHeight()); harness.check(e1.getClass(), e2.getClass()); harness.check(e1 != e2); } } mauve-20140821/gnu/testlet/java/awt/geom/Ellipse2D/Double/getHeight.java0000644000175000001440000000263610135435162024444 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Ellipse2D.Double; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Ellipse2D; /** * Some checks for the getHeight() method of the {@link Ellipse2D.Double} class. */ public class getHeight implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Ellipse2D e = new Ellipse2D.Double(); harness.check(e.getHeight(), 0.0); e = new Ellipse2D.Double(1.0, 2.0, 3.0, 4.0); harness.check(e.getHeight(), 4.0); } } mauve-20140821/gnu/testlet/java/awt/geom/Ellipse2D/Double/getY.java0000644000175000001440000000261210135435162023436 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Ellipse2D.Double; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Ellipse2D; /** * Some checks for the getY() method of the {@link Ellipse2D.Double} class. */ public class getY implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Ellipse2D e = new Ellipse2D.Double(); harness.check(e.getY(), 0.0); e = new Ellipse2D.Double(1.0, 2.0, 3.0, 4.0); harness.check(e.getY(), 2.0); } } mauve-20140821/gnu/testlet/java/awt/geom/Ellipse2D/Double/getWidth.java0000644000175000001440000000263210135435162024307 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Ellipse2D.Double; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Ellipse2D; /** * Some checks for the getWidth() method of the {@link Ellipse2D.Double} class. */ public class getWidth implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Ellipse2D e = new Ellipse2D.Double(); harness.check(e.getWidth(), 0.0); e = new Ellipse2D.Double(1.0, 2.0, 3.0, 4.0); harness.check(e.getWidth(), 3.0); } } mauve-20140821/gnu/testlet/java/awt/geom/Ellipse2D/Double/getX.java0000644000175000001440000000261210135435162023435 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Ellipse2D.Double; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Ellipse2D; /** * Some checks for the getX() method of the {@link Ellipse2D.Double} class. */ public class getX implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Ellipse2D e = new Ellipse2D.Double(); harness.check(e.getX(), 0.0); e = new Ellipse2D.Double(1.0, 2.0, 3.0, 4.0); harness.check(e.getX(), 1.0); } } mauve-20140821/gnu/testlet/java/awt/geom/Ellipse2D/Double/getBounds2D.java0000644000175000001440000000332610135435162024651 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Ellipse2D.Double; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Ellipse2D; import java.awt.geom.Rectangle2D; /** * Some checks for the getBounds2D() method of the {@link Ellipse2D.Double} class. */ public class getBounds2D implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Ellipse2D e = new Ellipse2D.Double(); Rectangle2D b = e.getBounds2D(); harness.check(b.getX(), 0.0); harness.check(b.getY(), 0.0); harness.check(b.getWidth(), 0.0); harness.check(b.getHeight(), 0.0); e = new Ellipse2D.Double(1.0, 2.0, 3.0, 4.0); b = e.getBounds2D(); harness.check(b.getX(), 1.0); harness.check(b.getY(), 2.0); harness.check(b.getWidth(), 3.0); harness.check(b.getHeight(), 4.0); } } mauve-20140821/gnu/testlet/java/awt/geom/Ellipse2D/Float/0000755000175000001440000000000012375316426021526 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/geom/Ellipse2D/Float/constructors.java0000644000175000001440000000333410135440066025132 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Ellipse2D.Float; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Ellipse2D; /** * Some checks for the constructors for the {@link Ellipse2D.Float} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // constructor 1 Ellipse2D e = new Ellipse2D.Float(); harness.check(e.getX(), 0.0); harness.check(e.getY(), 0.0); harness.check(e.getWidth(), 0.0); harness.check(e.getHeight(), 0.0); harness.check(e.isEmpty()); // constructor 2 e = new Ellipse2D.Float(1.0f, 2.0f, 3.0f, 4.0f); harness.check(e.getX(), 1.0); harness.check(e.getY(), 2.0); harness.check(e.getWidth(), 3.0); harness.check(e.getHeight(), 4.0); harness.check(!e.isEmpty()); } } mauve-20140821/gnu/testlet/java/awt/geom/Ellipse2D/Float/setFrame.java0000644000175000001440000000343410135440066024131 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Ellipse2D.Float; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Ellipse2D; import java.awt.geom.Rectangle2D; /** * Some checks for the setFrame() method of the {@link Ellipse2D} class. */ public class setFrame implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Ellipse2D e = new Ellipse2D.Float(1.0f, 2.0f, 3.0f, 4.0f); e.setFrame(0.0f, 0.0f, 0.0f, 0.0f); Rectangle2D b = e.getBounds2D(); harness.check(b.getX(), 0.0); harness.check(b.getY(), 0.0); harness.check(b.getWidth(), 0.0); harness.check(b.getHeight(), 0.0); e = new Ellipse2D.Float(); e.setFrame(1.0f, 2.0f, 3.0f, 4.0f); b = e.getBounds2D(); harness.check(b.getX(), 1.0); harness.check(b.getY(), 2.0); harness.check(b.getWidth(), 3.0); harness.check(b.getHeight(), 4.0); } } mauve-20140821/gnu/testlet/java/awt/geom/Ellipse2D/Float/isEmpty.java0000644000175000001440000000307310135440066024014 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Ellipse2D.Float; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Ellipse2D; /** * Some checks for the isEmpty() method of the {@link Ellipse2D.Float} class. */ public class isEmpty implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Ellipse2D e = new Ellipse2D.Float(); harness.check(e.isEmpty()); e = new Ellipse2D.Float(1.0f, 2.0f, 3.0f, 4.0f); harness.check(!e.isEmpty()); e = new Ellipse2D.Float(1.0f, 2.0f, -3.0f, 4.0f); harness.check(e.isEmpty()); e = new Ellipse2D.Float(1.0f, 2.0f, 3.0f, -4.0f); harness.check(e.isEmpty()); } } mauve-20140821/gnu/testlet/java/awt/geom/Ellipse2D/Float/clone.java0000644000175000001440000000314210135440066023457 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Ellipse2D.Float; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Ellipse2D; /** * Some checks for the clone() method in the {@link Ellipse2D.Float} class. */ public class clone implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Ellipse2D e1 = new Ellipse2D.Float(1.0f, 2.0f, 3.0f, 4.0f); Ellipse2D e2 = null; e2 = (Ellipse2D) e1.clone(); harness.check(e1.getX(), e2.getX()); harness.check(e1.getY(), e2.getY()); harness.check(e1.getWidth(), e2.getWidth()); harness.check(e1.getHeight(), e2.getHeight()); harness.check(e1.getClass(), e2.getClass()); harness.check(e1 != e2); } } mauve-20140821/gnu/testlet/java/awt/geom/Ellipse2D/Float/getHeight.java0000644000175000001440000000263610135440066024276 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Ellipse2D.Float; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Ellipse2D; /** * Some checks for the getHeight() method of the {@link Ellipse2D.Float} class. */ public class getHeight implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Ellipse2D e = new Ellipse2D.Float(); harness.check(e.getHeight(), 0.0); e = new Ellipse2D.Float(1.0f, 2.0f, 3.0f, 4.0f); harness.check(e.getHeight(), 4.0); } } mauve-20140821/gnu/testlet/java/awt/geom/Ellipse2D/Float/getY.java0000644000175000001440000000261310135440066023271 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Ellipse2D.Float; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Ellipse2D; /** * Some checks for the getY() method of the {@link Ellipse2D.Float} class. */ public class getY implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Ellipse2D e = new Ellipse2D.Float(); harness.check(e.getY(), 0.0); e = new Ellipse2D.Float(1.0f, 2.0f, 3.0f, 4.0f); harness.check(e.getY(), 2.0); } } mauve-20140821/gnu/testlet/java/awt/geom/Ellipse2D/Float/getWidth.java0000644000175000001440000000263310135440066024142 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Ellipse2D.Float; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Ellipse2D; /** * Some checks for the getWidth() method of the {@link Ellipse2D.Float} class. */ public class getWidth implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Ellipse2D e = new Ellipse2D.Float(); harness.check(e.getWidth(), 0.0); e = new Ellipse2D.Float(1.0f, 2.0f, 3.0f, 4.0f); harness.check(e.getWidth(), 3.0); } } mauve-20140821/gnu/testlet/java/awt/geom/Ellipse2D/Float/getX.java0000644000175000001440000000261310135440066023270 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Ellipse2D.Float; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Ellipse2D; /** * Some checks for the getX() method of the {@link Ellipse2D.Float} class. */ public class getX implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Ellipse2D e = new Ellipse2D.Float(); harness.check(e.getX(), 0.0); e = new Ellipse2D.Float(1.0f, 2.0f, 3.0f, 4.0f); harness.check(e.getX(), 1.0); } } mauve-20140821/gnu/testlet/java/awt/geom/Ellipse2D/Float/getBounds2D.java0000644000175000001440000000332610135440066024503 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Ellipse2D.Float; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Ellipse2D; import java.awt.geom.Rectangle2D; /** * Some checks for the getBounds2D() method of the {@link Ellipse2D.Float} class. */ public class getBounds2D implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Ellipse2D e = new Ellipse2D.Float(); Rectangle2D b = e.getBounds2D(); harness.check(b.getX(), 0.0); harness.check(b.getY(), 0.0); harness.check(b.getWidth(), 0.0); harness.check(b.getHeight(), 0.0); e = new Ellipse2D.Float(1.0f, 2.0f, 3.0f, 4.0f); b = e.getBounds2D(); harness.check(b.getX(), 1.0); harness.check(b.getY(), 2.0); harness.check(b.getWidth(), 3.0); harness.check(b.getHeight(), 4.0); } } mauve-20140821/gnu/testlet/java/awt/geom/Ellipse2D/contains.java0000644000175000001440000000501110135430146023123 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Ellipse2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Ellipse2D; /** * Some checks for the contains() method of the {@link Ellipse2D} class. */ public class contains implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testContains1(harness); testContains2(harness); } private void testContains1(TestHarness harness) { harness.checkPoint("contains(double, double)"); Ellipse2D e = new Ellipse2D.Double(); harness.check(!e.contains(0.0, 0.0)); e = new Ellipse2D.Double(1.0, 2.0, 3.0, 4.0); harness.check(!e.contains(1.0, 2.0)); harness.check(!e.contains(4.0, 2.0)); harness.check(!e.contains(1.0, 6.0)); harness.check(!e.contains(4.0, 6.0)); harness.check(e.contains(2.5, 4.0)); e = new Ellipse2D.Double(-1.0, -1.0, 2.0, 2.0); harness.check(e.contains(0.0, 0.0)); harness.check(!e.contains(-1.0, 0.0)); harness.check(!e.contains(0.0, 1.0)); harness.check(!e.contains(0.0, -1.0)); harness.check(!e.contains(0.0, 1.0)); harness.check(e.contains(-0.9, 0.0)); harness.check(e.contains(0.0, 0.9)); harness.check(e.contains(0.0, -0.9)); harness.check(e.contains(0.0, 0.9)); } private void testContains2(TestHarness harness) { harness.checkPoint("contains(double, double, double, double)"); Ellipse2D e = new Ellipse2D.Double(); harness.check(!e.contains(0.0, 0.0, 0.0, 0.0)); e = new Ellipse2D.Double(1.0, 2.0, 3.0, 4.0); harness.check(!e.contains(1.0, 2.0, 3.0, 4.0)); harness.check(e.contains(2.5, 4.0, 1.0, 1.0)); } } mauve-20140821/gnu/testlet/java/awt/geom/Rectangle2D/0000755000175000001440000000000012375316426020770 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/geom/Rectangle2D/setFrame.java0000644000175000001440000000300610123341750023363 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert (david.gilbert@object-refinery.com) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Rectangle2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Rectangle2D; /** * Tests the setFrame() method for the {@link Rectangle2D} class. */ public class setFrame implements Testlet { /** * Run the checks using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // setFrame(double, double, double, double) Rectangle2D r1 = new Rectangle2D.Double(); r1.setFrame(1.0, 2.0, 3.0, 4.0); harness.check(r1.getX(), 1.0); harness.check(r1.getY(), 2.0); harness.check(r1.getWidth(), 3.0); harness.check(r1.getHeight(), 4.0); } }mauve-20140821/gnu/testlet/java/awt/geom/Rectangle2D/equals.java0000644000175000001440000000403610123341750023113 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert (david.gilbert@object-refinery.com) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Rectangle2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Rectangle2D; /** * Tests the equals() method for the {@link Rectangle2D} class. */ public class equals implements Testlet { /** * Some checks for the equals() method. */ public void test(TestHarness harness) { Rectangle2D r1 = new Rectangle2D.Double(); Rectangle2D r2 = new Rectangle2D.Double(); harness.check(r1.equals(r2)); harness.check(r2.equals(r1)); harness.check(!r1.equals(null)); r1 = new Rectangle2D.Double(1.0, 0.0, 0.0, 0.0); harness.check(!r1.equals(r2)); r2 = new Rectangle2D.Double(1.0, 0.0, 0.0, 0.0); harness.check(r1.equals(r2)); r1 = new Rectangle2D.Double(1.0, 2.0, 0.0, 0.0); harness.check(!r1.equals(r2)); r2 = new Rectangle2D.Double(1.0, 2.0, 0.0, 0.0); harness.check(r1.equals(r2)); r1 = new Rectangle2D.Double(1.0, 2.0, 3.0, 0.0); harness.check(!r1.equals(r2)); r2 = new Rectangle2D.Double(1.0, 2.0, 3.0, 0.0); harness.check(r1.equals(r2)); r1 = new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0); harness.check(!r1.equals(r2)); r2 = new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0); harness.check(r1.equals(r2)); } }mauve-20140821/gnu/testlet/java/awt/geom/Rectangle2D/getBounds.java0000644000175000001440000000375010535606330023562 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2006 Francis Kung //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Rectangle2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; import java.awt.geom.Rectangle2D; /** * Tests the getBounds() method in the Rectangle2D class. */ public class getBounds implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Rectangle2D rect = new Rectangle2D.Double(10, 15, 20, 25); Rectangle bounds = rect.getBounds(); harness.check(bounds.getX(), 10); harness.check(bounds.getY(), 15); harness.check(bounds.getWidth(), 20); harness.check(bounds.getHeight(), 25); rect = new Rectangle2D.Double(12.3, 45.6, 65.8, 32.1); bounds = rect.getBounds(); harness.check(bounds.getX(), 12); harness.check(bounds.getY(), 45); harness.check(bounds.getWidth(), 67); harness.check(bounds.getHeight(), 33); rect = new Rectangle2D.Double(10, 15, 20, 0); bounds = rect.getBounds(); harness.check(bounds.getX(), 10); harness.check(bounds.getY(), 15); harness.check(bounds.getWidth(), 20); harness.check(bounds.getHeight(), 0); } }mauve-20140821/gnu/testlet/java/awt/geom/Rectangle2D/intersects.java0000644000175000001440000000307710123341750024010 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Rectangle2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Rectangle2D; /** * Checks that the intersects() method works correctly. */ public class intersects implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Rectangle2D r = new Rectangle2D.Double(0.0, 0.0, 1.0, 1.0); harness.check(!r.intersects(-1.0, -1.0, 1.0, 1.0)); harness.check(!r.intersects(-1.0, 0.0, 1.0, 1.0)); harness.check(!r.intersects(0.0, -1.0, 1.0, 1.0)); harness.check(r.intersects(0.0, 0.0, 1.0, 1.0)); r = new Rectangle2D.Double(); harness.check(!r.intersects(0.0, 0.0, 0.0, 0.0)); } } mauve-20140821/gnu/testlet/java/awt/geom/Rectangle2D/constants.java0000644000175000001440000000261210123341750023633 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Rectangle2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Rectangle2D; /** * Verifies constant values for the {@link Rectangle2D} class. */ public class constants implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.check(Rectangle2D.OUT_BOTTOM == 8); harness.check(Rectangle2D.OUT_LEFT == 1); harness.check(Rectangle2D.OUT_RIGHT == 4); harness.check(Rectangle2D.OUT_TOP == 2); } } mauve-20140821/gnu/testlet/java/awt/geom/Rectangle2D/add.java0000644000175000001440000000445210123341750022353 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Rectangle2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; /** * Some tests for the add() methods in the {@link Rectangle2D} class. */ public class add implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // add(double, double) Rectangle2D r = new Rectangle2D.Double(); r.add(1.0, 2.0); harness.check(r.getX(), 0.0); harness.check(r.getY(), 0.0); harness.check(r.getWidth(), 1.0); harness.check(r.getHeight(), 2.0); // add(Point2D) r = new Rectangle2D.Double(); r.add(new Point2D.Double(1.0, 2.0)); harness.check(r.getX(), 0.0); harness.check(r.getY(), 0.0); harness.check(r.getWidth(), 1.0); harness.check(r.getHeight(), 2.0); boolean pass = false; try { r.add((Point2D) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // add(Rectangle2D) r = new Rectangle2D.Double(); r.add(new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0)); harness.check(r.getX(), 0.0); harness.check(r.getY(), 0.0); harness.check(r.getWidth(), 4.0); harness.check(r.getHeight(), 6.0); pass = false; try { r.add((Rectangle2D) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/geom/Rectangle2D/Double/0000755000175000001440000000000012375316426022202 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/geom/Rectangle2D/Double/isEmpty.java0000644000175000001440000000307310123360116024462 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Rectangle2D.Double; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Rectangle2D; /** * Some checks for the isEmpty() method in the {@link Rectangle2D.Double} * class. */ public class isEmpty implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Rectangle2D r = new Rectangle2D.Double(); harness.check(r.isEmpty()); r = new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0); harness.check(!r.isEmpty()); r = new Rectangle2D.Double(1.0, 2.0, -3.0, 4.0); harness.check(r.isEmpty()); r = new Rectangle2D.Double(1.0, 2.0, 3.0, -4.0); harness.check(r.isEmpty()); } } mauve-20140821/gnu/testlet/java/awt/geom/Rectangle2D/Double/clone.java0000644000175000001440000000315310123360116024127 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Rectangle2D.Double; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Rectangle2D; /** * Some checks for the clone() method in the {@link Rectangle2D.Double} class. */ public class clone implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Rectangle2D r1 = new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0); Rectangle2D r2 = null; r2 = (Rectangle2D) r1.clone(); harness.check(r1.getX() == r2.getX()); harness.check(r1.getY() == r2.getY()); harness.check(r1.getWidth() == r2.getWidth()); harness.check(r1.getHeight() == r2.getHeight()); harness.check(r1.getClass() == r2.getClass()); harness.check(r1 != r2); } } mauve-20140821/gnu/testlet/java/awt/geom/Rectangle2D/Double/createIntersection.java0000644000175000001440000000461410123360116026664 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Rectangle2D.Double; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Rectangle2D; /** * Some checks for the createIntersection() method in the * {@link Rectangle2D.Double} class. */ public class createIntersection implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // empty rectangles Rectangle2D r0 = new Rectangle2D.Double(); Rectangle2D r1 = r0.createIntersection(new Rectangle2D.Double()); harness.check(r1.getX(), 0.0); harness.check(r1.getY(), 0.0); harness.check(r1.getWidth(), 0.0); harness.check(r1.getHeight(), 0.0); // regular intersection r0 = new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0); r1 = new Rectangle2D.Double(1.5, 2.5, 3.5, 4.5); Rectangle2D r2 = r0.createIntersection(r1); harness.check(r2.getX(), 1.5); harness.check(r2.getY(), 2.5); harness.check(r2.getWidth(), 2.5); harness.check(r2.getHeight(), 3.5); // no intersection r0 = new Rectangle2D.Double(1.0, 1.0, 1.0, 1.0); r1 = new Rectangle2D.Double(3.0, 3.0, 1.0, 1.0); r2 = r0.createIntersection(r1); // strictly speaking, the spec only says that 'r2' should be // empty... harness.check(r2.isEmpty()); // ...but let's check the actual numbers anyway for the sake // of compatibility. harness.check(r2.getX(), 3.0); harness.check(r2.getY(), 3.0); harness.check(r2.getWidth(), -1.0); harness.check(r2.getHeight(), -1.0); } } mauve-20140821/gnu/testlet/java/awt/geom/Rectangle2D/Double/outcode.java0000644000175000001440000000603210123360116024470 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Rectangle2D.Double; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Rectangle2D; /** * Checks that the outcode() method works correctly. */ public class outcode implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Rectangle2D r = new Rectangle2D.Double(0.0, 0.0, 10.0, 10.0); harness.check(r.outcode(5.0, 5.0) == 0); harness.check(r.outcode(0.0, 0.0) == 0); harness.check(r.outcode(0.0, 10.0) == 0); harness.check(r.outcode(10.0, 0.0) == 0); harness.check(r.outcode(10.0, 10.0) == 0); harness.check(r.outcode(-5.0, 5.0) == Rectangle2D.OUT_LEFT); harness.check(r.outcode(15.0, 5.0) == Rectangle2D.OUT_RIGHT); harness.check(r.outcode(5.0, -5.0) == Rectangle2D.OUT_TOP); harness.check(r.outcode(5.0, 15.0) == Rectangle2D.OUT_BOTTOM); harness.check(r.outcode(-5.0, -5.0) == (Rectangle2D.OUT_LEFT | Rectangle2D.OUT_TOP)); harness.check(r.outcode(15.0, -5.0) == (Rectangle2D.OUT_RIGHT | Rectangle2D.OUT_TOP)); harness.check(r.outcode(15.0, 15.0) == (Rectangle2D.OUT_RIGHT | Rectangle2D.OUT_BOTTOM)); harness.check(r.outcode(-5.0, 15.0) == (Rectangle2D.OUT_LEFT | Rectangle2D.OUT_BOTTOM)); // check an empty rectangle - all points should be outside r = new Rectangle2D.Double(0.0, 0.0, 0.0, 0.0); int outside = Rectangle2D.OUT_LEFT | Rectangle2D.OUT_RIGHT | Rectangle2D.OUT_TOP | Rectangle2D.OUT_BOTTOM; harness.check(r.outcode(-1.0, -1.0) == outside); harness.check(r.outcode(-1.0, 0.0) == outside); harness.check(r.outcode(-1.0, 1.0) == outside); harness.check(r.outcode(0.0, -1.0) == outside); harness.check(r.outcode(0.0, 0.0) == outside); harness.check(r.outcode(0.0, 1.0) == outside); harness.check(r.outcode(1.0, -1.0) == outside); harness.check(r.outcode(1.0, 0.0) == outside); harness.check(r.outcode(1.0, 1.0) == outside); boolean pass = false; try { r.outcode(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/geom/Rectangle2D/Double/setRect.java0000644000175000001440000000356210123360116024444 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert (david.gilbert@object-refinery.com) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Rectangle2D.Double; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Rectangle2D; /** * Tests the setRect() methods for the {@link Rectangle2D} class. */ public class setRect implements Testlet { /** * Some checks for the setRect() methods in {@link Rectangle2D.Double}. */ public void test(TestHarness harness) { // setRect(double, double, double, double) Rectangle2D r1 = new Rectangle2D.Double(); r1.setRect(1.0, 2.0, 3.0, 4.0); harness.check(r1.getX(), 1.0); harness.check(r1.getY(), 2.0); harness.check(r1.getWidth(), 3.0); harness.check(r1.getHeight(), 4.0); // setRect(Rectangle2D) r1.setRect(new Rectangle2D.Double(5.0, 6.0, 7.0, 8.0)); harness.check(r1.getX(), 5.0); harness.check(r1.getY(), 6.0); harness.check(r1.getWidth(), 7.0); harness.check(r1.getHeight(), 8.0); boolean pass = false; try { r1.setRect(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/java/awt/geom/Rectangle2D/Double/createUnion.java0000644000175000001440000000420310123360116025300 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Rectangle2D.Double; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Rectangle2D; /** * Some checks for the createUnion() method in the * {@link Rectangle2D.Double} class. */ public class createUnion implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // empty rectangles Rectangle2D r0 = new Rectangle2D.Double(); Rectangle2D r1 = r0.createUnion(new Rectangle2D.Double()); harness.check(r1.getX(), 0.0); harness.check(r1.getY(), 0.0); harness.check(r1.getWidth(), 0.0); harness.check(r1.getHeight(), 0.0); // overlapping r0 = new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0); r1 = new Rectangle2D.Double(1.5, 2.5, 3.5, 4.5); Rectangle2D r2 = r0.createUnion(r1); harness.check(r2.getX(), 1.0); harness.check(r2.getY(), 2.0); harness.check(r2.getWidth(), 4.0); harness.check(r2.getHeight(), 5.0); // non-overlapping r0 = new Rectangle2D.Double(1.0, 1.0, 1.0, 1.0); r1 = new Rectangle2D.Double(3.0, 3.0, 1.0, 1.0); r2 = r0.createUnion(r1); harness.check(r2.getX(), 1.0); harness.check(r2.getY(), 1.0); harness.check(r2.getWidth(), 3.0); harness.check(r2.getHeight(), 3.0); } } mauve-20140821/gnu/testlet/java/awt/geom/Rectangle2D/union.java0000644000175000001440000000415210123341750022750 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert (david.gilbert@object-refinery.com) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Rectangle2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Rectangle2D; /** * Some tests for the union() method in the {@link Rectangle2D} class. */ public class union implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Rectangle2D r1 = new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0); Rectangle2D r2 = new Rectangle2D.Double(5.0, 6.0, 7.0, 8.0); Rectangle2D r3 = new Rectangle2D.Double(); Rectangle2D.union(r1, r2, r3); harness.check(r3.getX(), 1.0); harness.check(r3.getY(), 2.0); harness.check(r3.getWidth(), 11.0); harness.check(r3.getHeight(), 12.0); boolean pass = false; try { Rectangle2D.union(null, r2, r3); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { Rectangle2D.union(r1, null, r3); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { Rectangle2D.union(r1, r2, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/java/awt/geom/Rectangle2D/intersect.java0000644000175000001440000000417410123341750023624 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert (david.gilbert@object-refinery.com) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Rectangle2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Rectangle2D; /** * Some tests for the intersect() method in the {@link Rectangle2D} class. */ public class intersect implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Rectangle2D r1 = new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0); Rectangle2D r2 = new Rectangle2D.Double(2.0, 1.0, 3.0, 4.0); Rectangle2D r3 = new Rectangle2D.Double(); Rectangle2D.intersect(r1, r2, r3); harness.check(r3.getX(), 2.0); harness.check(r3.getY(), 2.0); harness.check(r3.getWidth(), 2.0); harness.check(r3.getHeight(), 3.0); boolean pass = false; try { Rectangle2D.intersect(null, r2, r3); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { Rectangle2D.intersect(r1, null, r3); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { Rectangle2D.intersect(r1, r2, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/java/awt/geom/Rectangle2D/intersectsLine.java0000644000175000001440000000435510123341750024620 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Rectangle2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Rectangle2D; /** * Checks that the intersectsLine() method works correctly. */ public class intersectsLine implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Rectangle2D r = new Rectangle2D.Double(0.0, 0.0, 5.0, 10.0); harness.check(r.intersectsLine(0.0, 0.0, 5.0, 0.0)); harness.check(r.intersectsLine(0.0, 0.0, 0.0, 10.0)); harness.check(r.intersectsLine(5.0, 0.0, 5.0, 10.0)); harness.check(r.intersectsLine(0.0, 10.0, 5.0, 10.0)); // segment that doesn't intersect harness.check(!r.intersectsLine(-1.0, -1.0, -2.0, -2.0)); // segment passes through harness.check(r.intersectsLine(-5.0, 2.0, 15.0, 2.0)); // segments that end at corners harness.check(r.intersectsLine(-1.0, 0.0, 0.0, 0.0)); harness.check(r.intersectsLine(5.0, -1.0, 5.0, 0.0)); harness.check(r.intersectsLine(-1.0, 10.0, 0.0, 10.0)); harness.check(r.intersectsLine(5, 11.0, 5.0, 10.0)); // zero rectangle r = new Rectangle2D.Double(); harness.check(!r.intersectsLine(0.0, 0.0, 0.0, 0.0)); boolean pass = false; try { r.intersectsLine(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/geom/Rectangle2D/getPathIterator.java0000644000175000001440000001125407746211420024736 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Rectangle2D; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.Rectangle; import java.awt.geom.AffineTransform; import java.awt.geom.PathIterator; import java.awt.geom.Rectangle2D; import java.util.NoSuchElementException; /** * Checks that Rectangle2D.getPathIterator works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getPathIterator implements Testlet { private static int M = PathIterator.SEG_MOVETO; private static int L = PathIterator.SEG_LINETO; private static int C = PathIterator.SEG_CLOSE; private int[] segs = { M, L, L, L, L, C }; private double[] c1 = { 10, 20, 40, 20, 40, 60, 10, 60, 10, 20 }; private double[] c2 = { 75, 106, 105, 166, 225, 326, 195, 266, 75, 106}; public void test(TestHarness harness) { Rectangle2D ri, rf, rd; AffineTransform tx; PathIterator iter; ri = new Rectangle(10, 20, 30, 40); rf = new Rectangle.Float(10, 20, 30, 40); rd = new Rectangle.Double(10, 20, 30, 40); tx = new AffineTransform(1,2,3,4,5,6); harness.checkPoint("Rectangle.getPathIterator(null)"); checkPathIterator(harness, ri.getPathIterator(null), segs, c1); harness.checkPoint("Rectangle2D.Float.getPathIterator(null)"); checkPathIterator(harness, rf.getPathIterator(null), segs, c1); harness.checkPoint("Rectangle2D.Double.getPathIterator(null)"); checkPathIterator(harness, rd.getPathIterator(null), segs, c1); harness.checkPoint("Rectangle.getPathIterator(null, 0.4)"); checkPathIterator(harness, ri.getPathIterator(null, 0.4), segs, c1); harness.checkPoint("Rectangle2D.Float.getPathIterator(null, 0.4)"); checkPathIterator(harness, rf.getPathIterator(null, 0.4), segs, c1); harness.checkPoint("Rectangle2D.Float.getPathIterator(null, 0.4)"); checkPathIterator(harness, rd.getPathIterator(null, 0.4), segs, c1); harness.checkPoint("Rectangle.getPathIterator(tx)"); checkPathIterator(harness, ri.getPathIterator(tx), segs, c2); harness.checkPoint("Rectangle2D.Float.getPathIterator(tx)"); checkPathIterator(harness, rf.getPathIterator(tx), segs, c2); harness.checkPoint("Rectangle2D.Double.getPathIterator(tx)"); checkPathIterator(harness, rd.getPathIterator(tx), segs, c2); harness.checkPoint("Rectangle.getPathIterator(tx, 1)"); checkPathIterator(harness, ri.getPathIterator(tx, 1), segs, c2); harness.checkPoint("Rectangle2D.Float.getPathIterator(tx, 1)"); checkPathIterator(harness, rf.getPathIterator(tx, 1), segs, c2); harness.checkPoint("Rectangle2D.Double.getPathIterator(tx, 1)"); checkPathIterator(harness, rd.getPathIterator(tx, 1), segs, c2); } private static void checkPathIterator(TestHarness harness, PathIterator iter, int[] segs, double[] d) { int i = 0, j = 0; int segD, segF; double[] dc = new double[2]; float[] fc = new float[2]; boolean gotRightException; harness.check(iter.getWindingRule(), PathIterator.WIND_NON_ZERO); while (!iter.isDone()) { segD = iter.currentSegment(dc); segF = iter.currentSegment(fc); harness.check(segD, segs[i]); harness.check(segF, segs[i]); switch (segD) { case PathIterator.SEG_MOVETO: case PathIterator.SEG_LINETO: harness.check(dc[0], d[j++]); harness.check(dc[1], d[j++]); harness.check(fc[0], (float) dc[0]); harness.check(fc[1], (float) dc[1]); break; } iter.next(); i++; } harness.check(i, segs.length); gotRightException = false; try { iter.currentSegment(dc); } catch (NoSuchElementException ex) { gotRightException = true; } harness.check(gotRightException); /* Check that no exception is thrown here. */ iter.next(); harness.check(true); } } mauve-20140821/gnu/testlet/java/awt/geom/Rectangle2D/Float/0000755000175000001440000000000012375316426022035 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/geom/Rectangle2D/Float/isEmpty.java0000644000175000001440000000310010123360116024304 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Rectangle2D.Float; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Rectangle2D; /** * Some checks for the isEmpty() method in the {@link Rectangle2D.Float} * class. */ public class isEmpty implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Rectangle2D r = new Rectangle2D.Float(); harness.check(r.isEmpty()); r = new Rectangle2D.Float(1.0f, 2.0f, 3.0f, 4.0f); harness.check(!r.isEmpty()); r = new Rectangle2D.Float(1.0f, 2.0f, -3.0f, 4.0f); harness.check(r.isEmpty()); r = new Rectangle2D.Float(1.0f, 2.0f, 3.0f, -4.0f); harness.check(r.isEmpty()); } } mauve-20140821/gnu/testlet/java/awt/geom/Rectangle2D/Float/clone.java0000644000175000001440000000315410123360116023763 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Rectangle2D.Float; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Rectangle2D; /** * Some checks for the clone() method in the {@link Rectangle2D.Float} class. */ public class clone implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Rectangle2D r1 = new Rectangle2D.Float(1.0f, 2.0f, 3.0f, 4.0f); Rectangle2D r2 = null; r2 = (Rectangle2D) r1.clone(); harness.check(r1.getX() == r2.getX()); harness.check(r1.getY() == r2.getY()); harness.check(r1.getWidth() == r2.getWidth()); harness.check(r1.getHeight() == r2.getHeight()); harness.check(r1.getClass() == r2.getClass()); harness.check(r1 != r2); } } mauve-20140821/gnu/testlet/java/awt/geom/Rectangle2D/Float/createIntersection.java0000644000175000001440000000461410123360116026517 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Rectangle2D.Float; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Rectangle2D; /** * Some checks for the createIntersection() method in the * {@link Rectangle2D.Float} class. */ public class createIntersection implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // empty rectangles Rectangle2D r0 = new Rectangle2D.Float(); Rectangle2D r1 = r0.createIntersection(new Rectangle2D.Float()); harness.check(r1.getX(), 0.0); harness.check(r1.getY(), 0.0); harness.check(r1.getWidth(), 0.0); harness.check(r1.getHeight(), 0.0); // regular intersection r0 = new Rectangle2D.Float(1.0f, 2.0f, 3.0f, 4.0f); r1 = new Rectangle2D.Float(1.5f, 2.5f, 3.5f, 4.5f); Rectangle2D r2 = r0.createIntersection(r1); harness.check(r2.getX(), 1.5); harness.check(r2.getY(), 2.5); harness.check(r2.getWidth(), 2.5); harness.check(r2.getHeight(), 3.5); // no intersection r0 = new Rectangle2D.Float(1.0f, 1.0f, 1.0f, 1.0f); r1 = new Rectangle2D.Float(3.0f, 3.0f, 1.0f, 1.0f); r2 = r0.createIntersection(r1); // strictly speaking, the spec only says that 'r2' should be // empty... harness.check(r2.isEmpty()); // ...but let's check the actual numbers anyway for the sake // of compatibility. harness.check(r2.getX(), 3.0); harness.check(r2.getY(), 3.0); harness.check(r2.getWidth(), -1.0); harness.check(r2.getHeight(), -1.0); } } mauve-20140821/gnu/testlet/java/awt/geom/Rectangle2D/Float/outcode.java0000644000175000001440000000603610123360116024327 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Rectangle2D.Float; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Rectangle2D; /** * Checks that the outcode() method works correctly. */ public class outcode implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Rectangle2D r = new Rectangle2D.Float(0.0f, 0.0f, 10.0f, 10.0f); harness.check(r.outcode(5.0, 5.0) == 0); harness.check(r.outcode(0.0, 0.0) == 0); harness.check(r.outcode(0.0, 10.0) == 0); harness.check(r.outcode(10.0, 0.0) == 0); harness.check(r.outcode(10.0, 10.0) == 0); harness.check(r.outcode(-5.0, 5.0) == Rectangle2D.OUT_LEFT); harness.check(r.outcode(15.0, 5.0) == Rectangle2D.OUT_RIGHT); harness.check(r.outcode(5.0, -5.0) == Rectangle2D.OUT_TOP); harness.check(r.outcode(5.0, 15.0) == Rectangle2D.OUT_BOTTOM); harness.check(r.outcode(-5.0, -5.0) == (Rectangle2D.OUT_LEFT | Rectangle2D.OUT_TOP)); harness.check(r.outcode(15.0, -5.0) == (Rectangle2D.OUT_RIGHT | Rectangle2D.OUT_TOP)); harness.check(r.outcode(15.0, 15.0) == (Rectangle2D.OUT_RIGHT | Rectangle2D.OUT_BOTTOM)); harness.check(r.outcode(-5.0, 15.0) == (Rectangle2D.OUT_LEFT | Rectangle2D.OUT_BOTTOM)); // check an empty rectangle - all points should be outside r = new Rectangle2D.Float(0.0f, 0.0f, 0.0f, 0.0f); int outside = Rectangle2D.OUT_LEFT | Rectangle2D.OUT_RIGHT | Rectangle2D.OUT_TOP | Rectangle2D.OUT_BOTTOM; harness.check(r.outcode(-1.0, -1.0) == outside); harness.check(r.outcode(-1.0, 0.0) == outside); harness.check(r.outcode(-1.0, 1.0) == outside); harness.check(r.outcode(0.0, -1.0) == outside); harness.check(r.outcode(0.0, 0.0) == outside); harness.check(r.outcode(0.0, 1.0) == outside); harness.check(r.outcode(1.0, -1.0) == outside); harness.check(r.outcode(1.0, 0.0) == outside); harness.check(r.outcode(1.0, 1.0) == outside); boolean pass = false; try { r.outcode(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/geom/Rectangle2D/Float/setRect.java0000644000175000001440000000356310123360116024300 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert (david.gilbert@object-refinery.com) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Rectangle2D.Float; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Rectangle2D; /** * Tests the setRect() methods for the {@link Rectangle2D.Float} class. */ public class setRect implements Testlet { /** * Some checks for the setRect() methods in {@link Rectangle2D.Float}. */ public void test(TestHarness harness) { // setRect(float, float, float, float) Rectangle2D r1 = new Rectangle2D.Float(); r1.setRect(1.0f, 2.0f, 3.0f, 4.0f); harness.check(r1.getX(), 1.0); harness.check(r1.getY(), 2.0); harness.check(r1.getWidth(), 3.0); harness.check(r1.getHeight(), 4.0); // setRect(Rectangle2D) r1.setRect(new Rectangle2D.Float(5.0f, 6.0f, 7.0f, 8.0f)); harness.check(r1.getX(), 5.0); harness.check(r1.getY(), 6.0); harness.check(r1.getWidth(), 7.0); harness.check(r1.getHeight(), 8.0); boolean pass = false; try { r1.setRect(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/geom/Rectangle2D/Float/createUnion.java0000644000175000001440000000417510123360116025143 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Rectangle2D.Float; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Rectangle2D; /** * Some checks for the createUnion() method in the * {@link Rectangle2D.Float} class. */ public class createUnion implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // empty rectangles Rectangle2D r0 = new Rectangle2D.Double(); Rectangle2D r1 = r0.createUnion(new Rectangle2D.Double()); harness.check(r1.getX(), 0.0); harness.check(r1.getY(), 0.0); harness.check(r1.getWidth(), 0.0); harness.check(r1.getHeight(), 0.0); // overlapping r0 = new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0); r1 = new Rectangle2D.Double(1.5, 2.5, 3.5, 4.5); Rectangle2D r2 = r0.createUnion(r1); harness.check(r2.getX(), 1.0); harness.check(r2.getY(), 2.0); harness.check(r2.getWidth(), 4.0); harness.check(r2.getHeight(), 5.0); // non-overlapping r0 = new Rectangle2D.Double(1.0, 1.0, 1.0, 1.0); r1 = new Rectangle2D.Double(3.0, 3.0, 1.0, 1.0); r2 = r0.createUnion(r1); harness.check(r2.getX(), 1.0); harness.check(r2.getY(), 1.0); harness.check(r2.getWidth(), 3.0); harness.check(r2.getHeight(), 3.0); } } mauve-20140821/gnu/testlet/java/awt/geom/Rectangle2D/contains.java0000644000175000001440000000353510123341750023442 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Rectangle2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Rectangle2D; /** * Some tests for the contains() method in the {@link Rectangle2D} class. */ public class contains implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // contains(double, double) Rectangle2D r = new Rectangle2D.Double(); harness.check(!r.contains(0.0, 0.0)); r = new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0); harness.check(r.contains(1.0, 2.0)); harness.check(!r.contains(1.0, 6.0)); harness.check(!r.contains(4.0, 2.0)); harness.check(!r.contains(4.0, 6.0)); // contains(double, double, double, double) r = new Rectangle2D.Double(); harness.check(!r.contains(0.0, 0.0, 0.0, 0.0)); r = new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0); harness.check(r.contains(1.0, 2.0, 3.0, 4.0)); harness.check(!r.contains(1.0, 2.0, 4.0, 4.0)); } } mauve-20140821/gnu/testlet/java/awt/geom/Rectangle2D/getBounds2D.java0000644000175000001440000000331310123341750023736 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert (david.gilbert@object-refinery.com) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Rectangle2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Rectangle2D; /** * Tests the getBounds2D() method for the {@link Rectangle2D} class. */ public class getBounds2D implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Rectangle2D r1 = new Rectangle2D.Double(); Rectangle2D r2 = r1.getBounds2D(); harness.check(r2.getX(), 0.0); harness.check(r2.getY(), 0.0); harness.check(r2.getWidth(), 0.0); harness.check(r2.getHeight(), 0.0); r1 = new Rectangle2D.Double(1.1, 2.2, 3.3, 4.4); r2 = r1.getBounds2D(); harness.check(r2.getX(), 1.1); harness.check(r2.getY(), 2.2); harness.check(r2.getWidth(), 3.3); harness.check(r2.getHeight(), 4.4); } }mauve-20140821/gnu/testlet/java/awt/geom/GeneralPath/0000755000175000001440000000000012375316426021070 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/geom/GeneralPath/getCurrentPoint.java0000644000175000001440000000521007746211417025065 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.GeneralPath; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.GeneralPath; import java.awt.geom.Point2D; /** * Checks whether GeneralPath.getCurrentPoint works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getCurrentPoint implements Testlet { public void test(TestHarness harness) { GeneralPath path = new GeneralPath(); Point2D pt = new Point2D.Float(); // Check 1 harness.check(path.getCurrentPoint() == null); // Check 2 path.moveTo(98, 76); pt.setLocation(98, 76); harness.check(pt.equals(path.getCurrentPoint())); // Check 3 path.moveTo(12, 13.4f); pt.setLocation(12, 13.4f); harness.check(pt.equals(path.getCurrentPoint())); // Check 4 path.lineTo(-1, -2); pt.setLocation(-1, -2); harness.check(pt.equals(path.getCurrentPoint())); // Check 5 path.lineTo(-10, -20); pt.setLocation(-10, -20); harness.check(pt.equals(path.getCurrentPoint())); // Check 6 path.quadTo(1, 2, 3, 4); pt.setLocation(3, 4); harness.check(pt.equals(path.getCurrentPoint())); // Check 7 path.curveTo(5, 6, 7, 8, 9, 10); pt.setLocation(9, 10); harness.check(pt.equals(path.getCurrentPoint())); // Check 8 path.closePath(); pt.setLocation(12, 13.4f); harness.check(pt.equals(path.getCurrentPoint())); // Check 9 path.moveTo(50, 51); pt.setLocation(50, 51); harness.check(pt.equals(path.getCurrentPoint())); // Check 10 path.quadTo(52, 53, 54, 55); pt.setLocation(54, 55); harness.check(pt.equals(path.getCurrentPoint())); // Check 11 path.closePath(); pt.setLocation(50, 51); harness.check(pt.equals(path.getCurrentPoint())); // Check 12 path.reset(); harness.check(path.getCurrentPoint() == null); } } mauve-20140821/gnu/testlet/java/awt/geom/GeneralPath/getPathIterator.java0000644000175000001440000002331307746211417025043 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.GeneralPath; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.AffineTransform; import java.awt.geom.GeneralPath; import java.awt.geom.PathIterator; /** * Checks whether the GeneralPath.getPathIterator method works * correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getPathIterator implements Testlet { public void test(TestHarness harness) { test_untransformed(harness); test_transformed(harness); } /** * Checks whether the getIterator method works when a null * transform is being passed. */ private void test_untransformed(TestHarness h) { GeneralPath path; PathIterator pit; float[] f = new float[6]; double[] d = new double[6]; h.checkPoint("untransformed"); path = new GeneralPath(GeneralPath.WIND_EVEN_ODD); path.moveTo(10, 11); path.lineTo(20, 21); path.closePath(); path.moveTo(30, 31); path.quadTo(40, 41, 42, 43); path.curveTo(50, 51, 52, 53, 54, 55); pit = path.getPathIterator(null); h.check(pit.getWindingRule(), PathIterator.WIND_EVEN_ODD); // 1 h.check(!pit.isDone()); // 2 h.check(pit.currentSegment(f), PathIterator.SEG_MOVETO); // 3 h.check(f[0], 10); // 4 h.check(f[1], 11); // 5 h.check(pit.currentSegment(d), PathIterator.SEG_MOVETO); // 6 h.check(d[0], 10); // 7 h.check(d[1], 11); // 8 pit.next(); h.check(!pit.isDone()); // 9 h.check(pit.currentSegment(f), PathIterator.SEG_LINETO); // 10 h.check(f[0], 20); // 11 h.check(f[1], 21); // 12 h.check(pit.currentSegment(d), PathIterator.SEG_LINETO); // 13 h.check(d[0], 20); // 14 h.check(d[1], 21); // 15 pit.next(); h.check(!pit.isDone()); // 16 h.check(pit.currentSegment(f), PathIterator.SEG_CLOSE) ; // 17 h.check(pit.currentSegment(d), PathIterator.SEG_CLOSE) ; // 18 pit.next(); h.check(!pit.isDone()); // 19 h.check(pit.currentSegment(f), PathIterator.SEG_MOVETO); // 20 h.check(f[0], 30); // 21 h.check(f[1], 31); // 22 h.check(pit.currentSegment(d), PathIterator.SEG_MOVETO); // 23 h.check(d[0], 30); // 24 h.check(d[1], 31); // 25 pit.next(); h.check(!pit.isDone()); // 26 h.check(pit.currentSegment(f), PathIterator.SEG_QUADTO); // 27 h.check(f[0], 40); // 28 h.check(f[1], 41); // 29 h.check(f[2], 42); // 30 h.check(f[3], 43); // 31 h.check(pit.currentSegment(d), PathIterator.SEG_QUADTO); // 32 h.check(d[0], 40); // 33 h.check(d[1], 41); // 34 h.check(d[2], 42); // 35 h.check(d[3], 43); // 36 pit.next(); h.check(!pit.isDone()); // 37 h.check(pit.currentSegment(f), PathIterator.SEG_CUBICTO); // 38 h.check(f[0], 50); // 39 h.check(f[1], 51); // 40 h.check(f[2], 52); // 41 h.check(f[3], 53); // 42 h.check(f[4], 54); // 43 h.check(f[5], 55); // 44 h.check(pit.currentSegment(d), PathIterator.SEG_CUBICTO); // 45 h.check(d[0], 50); // 46 h.check(d[1], 51); // 47 h.check(d[2], 52); // 48 h.check(d[3], 53); // 49 h.check(d[4], 54); // 50 h.check(d[5], 55); // 51 pit.next(); h.check(pit.isDone()); // 52 } /** * Checks whether the getIterator method works when an affine * transformation is being passed. */ private void test_transformed(TestHarness h) { GeneralPath path; PathIterator pit; AffineTransform tx; float[] f = new float[6]; double[] d = new double[6]; h.checkPoint("transformed"); path = new GeneralPath(GeneralPath.WIND_NON_ZERO); path.moveTo(10, 11); path.lineTo(20, 21); path.closePath(); path.moveTo(30, 31); path.quadTo(40, 41, 42, 43); path.curveTo(50, 51, 52, 53, 54, 55); tx = new AffineTransform(); tx.translate(2, 3); tx.scale(10, 10); pit = path.getPathIterator(tx); h.check(pit.getWindingRule(), PathIterator.WIND_NON_ZERO); // 1 h.check(!pit.isDone()); // 2 h.check(pit.currentSegment(f), PathIterator.SEG_MOVETO); // 3 h.check(f[0], 102); // 4 h.check(f[1], 113); // 5 h.check(pit.currentSegment(d), PathIterator.SEG_MOVETO); // 6 h.check(d[0], 102); // 7 h.check(d[1], 113); // 8 pit.next(); h.check(!pit.isDone()); // 9 h.check(pit.currentSegment(f), PathIterator.SEG_LINETO); // 10 h.check(f[0], 202); // 11 h.check(f[1], 213); // 12 h.check(pit.currentSegment(d), PathIterator.SEG_LINETO); // 13 h.check(d[0], 202); // 14 h.check(d[1], 213); // 15 pit.next(); h.check(!pit.isDone()); // 16 h.check(pit.currentSegment(f), PathIterator.SEG_CLOSE) ; // 17 h.check(pit.currentSegment(d), PathIterator.SEG_CLOSE) ; // 18 pit.next(); h.check(!pit.isDone()); // 19 h.check(pit.currentSegment(f), PathIterator.SEG_MOVETO); // 20 h.check(f[0], 302); // 21 h.check(f[1], 313); // 22 h.check(pit.currentSegment(d), PathIterator.SEG_MOVETO); // 23 h.check(d[0], 302); // 24 h.check(d[1], 313); // 25 pit.next(); h.check(!pit.isDone()); // 26 h.check(pit.currentSegment(f), PathIterator.SEG_QUADTO); // 27 h.check(f[0], 402); // 28 h.check(f[1], 413); // 29 h.check(f[2], 422); // 30 h.check(f[3], 433); // 31 h.check(pit.currentSegment(d), PathIterator.SEG_QUADTO); // 32 h.check(d[0], 402); // 33 h.check(d[1], 413); // 34 h.check(d[2], 422); // 35 h.check(d[3], 433); // 36 pit.next(); h.check(!pit.isDone()); // 37 h.check(pit.currentSegment(f), PathIterator.SEG_CUBICTO); // 38 h.check(f[0], 502); // 39 h.check(f[1], 513); // 40 h.check(f[2], 522); // 41 h.check(f[3], 533); // 42 h.check(f[4], 542); // 43 h.check(f[5], 553); // 44 h.check(pit.currentSegment(d), PathIterator.SEG_CUBICTO); // 45 h.check(d[0], 502); // 46 h.check(d[1], 513); // 47 h.check(d[2], 522); // 48 h.check(d[3], 533); // 49 h.check(d[4], 542); // 50 h.check(d[5], 553); // 51 pit.next(); h.check(pit.isDone()); // 52 } } mauve-20140821/gnu/testlet/java/awt/geom/GeneralPath/GeneralPath.java0000644000175000001440000001224407746211417024130 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.GeneralPath; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.PathIterator; import java.awt.geom.Rectangle2D; /** * Checks that the GeneralPath constructors works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class GeneralPath implements Testlet { public void test(TestHarness harness) { testZeroArgConstructor(harness); testIntArgConstructor(harness); testIntIntArgConstructor(harness); testShapeArgConstructor(harness); } /** * Checks whether the zero-argument constructor works. */ public void testZeroArgConstructor(TestHarness harness) { java.awt.geom.GeneralPath path; harness.checkPoint("GeneralPath()"); // Check 1 path = new java.awt.geom.GeneralPath(); harness.check(path.getWindingRule(), java.awt.geom.GeneralPath.WIND_NON_ZERO); } /** * Checks whether the one-argument constructor taking an integer * works. */ public void testIntArgConstructor(TestHarness harness) { java.awt.geom.GeneralPath path; Throwable caught; harness.checkPoint("GeneralPath(int)"); // Check 1 path = new java.awt.geom.GeneralPath( java.awt.geom.GeneralPath.WIND_NON_ZERO); harness.check(path.getWindingRule(), java.awt.geom.GeneralPath.WIND_NON_ZERO); // Check 2 path = new java.awt.geom.GeneralPath( java.awt.geom.GeneralPath.WIND_EVEN_ODD); harness.check(path.getWindingRule(), java.awt.geom.GeneralPath.WIND_EVEN_ODD); // Check 3 caught = null; try { new java.awt.geom.GeneralPath(23); } catch (Exception ex) { caught = ex; } harness.check(caught instanceof IllegalArgumentException); } /** * Checks whether the two-argument constructor taking two integers * works. */ public void testIntIntArgConstructor(TestHarness harness) { java.awt.geom.GeneralPath path; Throwable caught; harness.checkPoint("GeneralPath(int,int)"); // Check 1 path = new java.awt.geom.GeneralPath( java.awt.geom.GeneralPath.WIND_NON_ZERO, 12); harness.check(path.getWindingRule(), java.awt.geom.GeneralPath.WIND_NON_ZERO); // Check 2 path = new java.awt.geom.GeneralPath( java.awt.geom.GeneralPath.WIND_EVEN_ODD, 12); harness.check(path.getWindingRule(), java.awt.geom.GeneralPath.WIND_EVEN_ODD); // Check 3 caught = null; try { new java.awt.geom.GeneralPath(23, 12); } catch (Exception ex) { caught = ex; } harness.check(caught instanceof IllegalArgumentException); } /** * Checks whether the one-argument constructor taking a Shape * works. */ public void testShapeArgConstructor(TestHarness harness) { java.awt.geom.GeneralPath path; Throwable caught; PathIterator piter; double[] c = new double[6]; harness.checkPoint("GeneralPath(Shape)"); // Check 1 caught = null; try { path = new java.awt.geom.GeneralPath(null); } catch (Exception ex) { caught = ex; } harness.check(caught instanceof NullPointerException); // Check 2 to 4 path = new java.awt.geom.GeneralPath(new Rectangle2D.Double(10,20,30,40)); piter = path.getPathIterator(null); harness.check(piter.currentSegment(c), PathIterator.SEG_MOVETO); harness.check(c[0], 10.0); harness.check(c[1], 20.0); // Check 5 to 7 piter.next(); harness.check(piter.currentSegment(c), PathIterator.SEG_LINETO); harness.check(c[0], 40.0); harness.check(c[1], 20.0); // Check 8 to 10 piter.next(); harness.check(piter.currentSegment(c), PathIterator.SEG_LINETO); harness.check(c[0], 40.0); harness.check(c[1], 60.0); // Check 11 to 13 piter.next(); harness.check(piter.currentSegment(c), PathIterator.SEG_LINETO); harness.check(c[0], 10.0); harness.check(c[1], 60.0); // Check 14 to 16 piter.next(); harness.check(piter.currentSegment(c), PathIterator.SEG_LINETO); harness.check(c[0], 10.0); harness.check(c[1], 20.0); // Check 17 piter.next(); harness.check(piter.currentSegment(c), PathIterator.SEG_CLOSE); // Check 18 piter.next(); harness.check(piter.isDone()); // Check 19 harness.check(piter.getWindingRule(), PathIterator.WIND_NON_ZERO); } } mauve-20140821/gnu/testlet/java/awt/geom/GeneralPath/contains.java0000644000175000001440000000751710143451572023554 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 Noa Resare //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.GeneralPath; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Point; import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.awt.geom.GeneralPath; // these tests are adapted right away from java/awt/Polygon/contains.java // Copyright (C) 2004 David Gilbert public class contains implements Testlet { public void test(TestHarness harness) { harness.checkPoint("GeneralPath 1"); GeneralPath p = new GeneralPath(GeneralPath.WIND_NON_ZERO); p.moveTo(0, 0); p.lineTo(1, 2); p.lineTo(2, 0); harness.check(p.contains(0, 0)); // 1 harness.check(!p.contains(0, 1)); // 2 harness.check(p.contains(1, 0)); // 3 harness.check(p.contains(1, 1)); // 4 harness.check(!p.contains(1, 2)); // 5 harness.check(!p.contains(2, 0)); // 6 harness.check(!p.contains(2, 1)); // 7 harness.checkPoint("GeneralPath 2"); p = new GeneralPath(GeneralPath.WIND_NON_ZERO); p.moveTo(0, 0); // 0 p.lineTo(0, 5); // 1 p.lineTo(5, 5); // 2 p.lineTo(5, 1); // 3 p.lineTo(2, 1); // 4 p.lineTo(2, 3); // 5 p.lineTo(3, 3); // 6 p.lineTo(3, 2); // 7 p.lineTo(4, 2); // 8 p.lineTo(4, 4); // 9 p.lineTo(1, 4); // 10 p.lineTo(1, 0); // 11 harness.check(p.contains(0, 0)); // 8 harness.check(!p.contains(0, 5)); // 9 harness.check(!p.contains(5, 5)); // 10 harness.check(!p.contains(5, 1)); // 11 harness.check(p.contains(2, 1)); // 12 harness.check(!p.contains(2, 3)); // 13 harness.check(!p.contains(3, 3)); // 14 harness.check(!p.contains(3, 2)); // 15 harness.check(p.contains(4, 2)); // 16 harness.check(p.contains(4, 4)); // 17 harness.check(p.contains(1, 4)); // 18 harness.check(!p.contains(1, 0)); // 19 harness.check(!p.contains(-0.5, 2.5)); // 20 harness.check(p.contains(0.5, 2.5)); // 21 harness.check(!p.contains(1.5, 2.5)); // 22 harness.check(p.contains(2.5, 2.5)); // 23 harness.check(!p.contains(3.5, 2.5)); // 24 harness.check(p.contains(4.5, 2.5)); // 25 harness.check(!p.contains(5.5, 2.5)); // 26 harness.checkPoint("Null argument checks"); testNullArguments(harness); } /** * Checks method calls with null argument. * * @param harness the test harness (null not permitted). */ private void testNullArguments(TestHarness harness) { boolean pass = false; GeneralPath p = new GeneralPath(); try { p.contains((Point) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { p.contains((Point2D) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { p.contains((Rectangle2D) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/geom/GeneralPath/append_PathIterator.java0000644000175000001440000001744710057633050025673 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.GeneralPath; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.geom.GeneralPath; import java.awt.geom.IllegalPathStateException; import java.awt.geom.Line2D; import java.awt.geom.PathIterator; /** * Checks whether the GeneralPath.append(PathIterator,boolean) methods * works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class append_PathIterator implements Testlet { public void test(TestHarness harness) { test_notConnecting(harness); test_connecting(harness); test_empty(harness); } /** * Appends a path iterator to an empty GeneralPath without * connecting the two together. */ public void test_notConnecting(TestHarness harness) { harness.checkPoint("notConnecting"); PathIterator piter, resPiter; GeneralPath path; double[] c = new double[6]; piter = new PathIterator() { int i = 0; public int getWindingRule() { return PathIterator.WIND_EVEN_ODD; } public boolean isDone() { // System.out.println("isDone(), i=" + i); return i >= 7; } public void next() { ++i; } public int currentSegment(float[] c) { double[] d = new double[c.length]; int r = currentSegment(d); for (int i = 0; i < d.length; i++) c[i] = (float) d[i]; return r; } public int currentSegment(double[] c) { switch (i) { case 0: c[0] = 10; c[1] = 11; return PathIterator.SEG_MOVETO; case 1: c[0] = 20; c[1] = 21; return PathIterator.SEG_LINETO; case 2: c[0] = 30; c[1] = 31; c[2] = 32; c[3] = 33; return PathIterator.SEG_QUADTO; case 3: c[0] = 40; c[1] = 41; c[2] = 42; c[3] = 43; c[4] = 44; c[5] = 45; return PathIterator.SEG_CUBICTO; case 4: return PathIterator.SEG_CLOSE; case 5: c[0] = 50; c[1] = 51; return PathIterator.SEG_MOVETO; case 6: c[0] = 60; c[1] = 61; return PathIterator.SEG_LINETO; default: throw new IllegalPathStateException(); } } }; path = new GeneralPath(GeneralPath.WIND_NON_ZERO); path.append(piter, false); harness.check(path.getWindingRule(), // 1 GeneralPath.WIND_NON_ZERO); resPiter = path.getPathIterator(null); harness.check(!resPiter.isDone()); // 2 harness.check(resPiter.currentSegment(c), // 3 PathIterator.SEG_MOVETO); harness.check(c[0], 10); // 4 harness.check(c[1], 11); // 5 resPiter.next(); harness.check(!resPiter.isDone()); // 6 harness.check(resPiter.currentSegment(c), // 7 PathIterator.SEG_LINETO); harness.check(c[0], 20); // 8 harness.check(c[1], 21); // 9 resPiter.next(); harness.check(!resPiter.isDone()); // 10 harness.check(resPiter.currentSegment(c), PathIterator.SEG_QUADTO); // 11 harness.check(c[0], 30); // 12 harness.check(c[1], 31); // 13 harness.check(c[2], 32); // 14 harness.check(c[3], 33); // 15 resPiter.next(); harness.check(!resPiter.isDone()); // 16 harness.check(resPiter.currentSegment(c), PathIterator.SEG_CUBICTO); // 17 harness.check(c[0], 40); // 18 harness.check(c[1], 41); // 19 harness.check(c[2], 42); // 20 harness.check(c[3], 43); // 21 harness.check(c[4], 44); // 22 harness.check(c[5], 45); // 23 resPiter.next(); harness.check(!resPiter.isDone()); // 24 harness.check(resPiter.currentSegment(c), // 25 PathIterator.SEG_CLOSE); resPiter.next(); harness.check(!resPiter.isDone()); // 26 harness.check(resPiter.currentSegment(c), // 27 PathIterator.SEG_MOVETO); harness.check(c[0], 50); // 28 harness.check(c[1], 51); // 29 resPiter.next(); harness.check(!resPiter.isDone()); // 30 harness.check(resPiter.currentSegment(c), // 31 PathIterator.SEG_LINETO); harness.check(c[0], 60); // 32 harness.check(c[1], 61); // 33 resPiter.next(); harness.check(resPiter.isDone()); // 34 harness.check(piter.isDone()); // 35 } /** * Appends a PathIterator to a non-empty path, connecting the two * together with a SEG_LINETO segment. */ public void test_connecting(TestHarness harness) { GeneralPath path; PathIterator pit; float[] c = new float[6]; harness.checkPoint("connecting"); path = new GeneralPath(); path.moveTo(10, 11); path.append(new Line2D.Double(20, 21, 30, 31).getPathIterator(null), /* connecting */ true); pit = path.getPathIterator(null); harness.check(!pit.isDone()); // 1 harness.check(pit.currentSegment(c), // 2 PathIterator.SEG_MOVETO); harness.check(c[0], 10); // 3 harness.check(c[1], 11); // 4 pit.next(); harness.check(!pit.isDone()); // 5 harness.check(pit.currentSegment(c), // 6 PathIterator.SEG_LINETO); harness.check(c[0], 20); // 7 harness.check(c[1], 21); // 8 pit.next(); harness.check(!pit.isDone()); // 9 harness.check(pit.currentSegment(c), // 10 PathIterator.SEG_LINETO); harness.check(c[0], 30); // 11 harness.check(c[1], 31); // 12 pit.next(); harness.check(pit.isDone()); // 13 } /** * Appends an empty path iterator to an empty GeneralPath. */ public void test_empty(TestHarness harness) { PathIterator pit, respit; GeneralPath path; harness.checkPoint("empty"); path = new GeneralPath(); // Check 1 path.append(new EmptyPathIterator(), false); harness.check(path.getPathIterator(null).isDone()); // Check 2 path.append(new EmptyPathIterator(), true); harness.check(path.getPathIterator(null).isDone()); } /** * A path iterator for an empty path. */ private static class EmptyPathIterator implements PathIterator { public int getWindingRule() { return PathIterator.WIND_EVEN_ODD; } public boolean isDone() { return true; } public void next() { throw new IllegalPathStateException(); } public int currentSegment(float[] c) { throw new IllegalPathStateException(); } public int currentSegment(double[] c) { throw new IllegalPathStateException(); } } } mauve-20140821/gnu/testlet/java/awt/geom/RectangularShape/0000755000175000001440000000000012375316426022126 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/geom/RectangularShape/getCenterY.java0000644000175000001440000000525110123335374025035 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.RectangularShape; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; import java.awt.geom.Arc2D; import java.awt.geom.Ellipse2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RectangularShape; import java.awt.geom.RoundRectangle2D; /** * Some checks for the getCenterY() method in the {@link RectangularShape} class. */ public class getCenterY implements Testlet { /** * Run some tests for an instance of a subclass of {@link RectangularShape}. * * @param r the rectangular shape. * @param harness the test harness. */ public static void testOneInstance(RectangularShape r, TestHarness harness) { r.setFrame(1.0, 2.0, 3.0, 4.0); harness.check(r.getCenterY(), 4.0); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // it is probably overkill to test all these subclasses, but // anyway... harness.checkPoint("Arc2D.Float"); testOneInstance(new Arc2D.Float(), harness); harness.checkPoint("Arc2D.Double"); testOneInstance(new Arc2D.Double(), harness); harness.checkPoint("Ellipse2D.Float"); testOneInstance(new Ellipse2D.Float(), harness); harness.checkPoint("Ellipse2D.Double"); testOneInstance(new Ellipse2D.Double(), harness); harness.checkPoint("Rectangle2D.Float"); testOneInstance(new Rectangle2D.Float(), harness); harness.checkPoint("Rectangle2D.Double"); testOneInstance(new Rectangle2D.Double(), harness); harness.checkPoint("RoundRectangle2D.Float"); testOneInstance(new RoundRectangle2D.Float(), harness); harness.checkPoint("RoundRectangle2D.Double"); testOneInstance(new RoundRectangle2D.Double(), harness); harness.checkPoint("Rectangle"); testOneInstance(new Rectangle(), harness); } } mauve-20140821/gnu/testlet/java/awt/geom/RectangularShape/setFrame.java0000644000175000001440000000767010123335374024541 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.RectangularShape; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import java.awt.Rectangle; import java.awt.geom.Arc2D; import java.awt.geom.Ellipse2D; import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RectangularShape; import java.awt.geom.RoundRectangle2D; /** * Some checks for the setFrame() method in the {@link RectangularShape} class. * Only the most general checks are performed here, more specific tests should * be done at the level of the subclass. */ public class setFrame implements Testlet { /** * Run some tests for an instance of a subclass of {@link RectangularShape}. * * @param r the rectangular shape. * @param harness the test harness. */ public static void testOneInstance(RectangularShape r, TestHarness harness) { // setFrame(double, double, double, double) r.setFrame(1.0, 2.0, 3.0, 4.0); harness.check(r.getX(), 1.0); harness.check(r.getY(), 2.0); harness.check(r.getWidth(), 3.0); harness.check(r.getHeight(), 4.0); // setFrame(Point2D, Dimension2D) r.setFrame(new Point2D.Double(4.0, 3.0), new Dimension(2, 1)); harness.check(r.getX(), 4.0); harness.check(r.getY(), 3.0); harness.check(r.getWidth(), 2.0); harness.check(r.getHeight(), 1.0); boolean pass = false; try { r.setFrame(null, new Dimension(2, 1)); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { r.setFrame(new Point2D.Double(4.0, 3.0), null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // setFrame(Rectangle2D) r.setFrame(new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0)); harness.check(r.getX(), 1.0); harness.check(r.getY(), 2.0); harness.check(r.getWidth(), 3.0); harness.check(r.getHeight(), 4.0); pass = false; try { r.setFrame(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("Arc2D.Float"); testOneInstance(new Arc2D.Float(), harness); harness.checkPoint("Arc2D.Double"); testOneInstance(new Arc2D.Double(), harness); harness.checkPoint("Ellipse2D.Float"); testOneInstance(new Ellipse2D.Float(), harness); harness.checkPoint("Ellipse2D.Double"); testOneInstance(new Ellipse2D.Double(), harness); harness.checkPoint("Rectangle2D.Float"); testOneInstance(new Rectangle2D.Float(), harness); harness.checkPoint("Rectangle2D.Double"); testOneInstance(new Rectangle2D.Double(), harness); harness.checkPoint("RoundRectangle2D.Float"); testOneInstance(new RoundRectangle2D.Float(), harness); harness.checkPoint("RoundRectangle2D.Double"); testOneInstance(new RoundRectangle2D.Double(), harness); harness.checkPoint("Rectangle"); testOneInstance(new Rectangle(), harness); } } mauve-20140821/gnu/testlet/java/awt/geom/RectangularShape/isEmpty.java0000644000175000001440000000543010123335374024415 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.RectangularShape; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; import java.awt.geom.Arc2D; import java.awt.geom.Ellipse2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RectangularShape; import java.awt.geom.RoundRectangle2D; /** * Some checks for the isEmpty() method in the {@link RectangularShape} class. * Only the most general checks are performed here, more specific tests should * be done at the level of the subclass. */ public class isEmpty implements Testlet { /** * Run some tests for an instance of a subclass of {@link RectangularShape}. * * @param r the rectangular shape. * @param harness the test harness. */ public static void testOneInstance(RectangularShape r, TestHarness harness) { r.setFrame(0.0, 0.0, 0.0, 0.0); harness.check(r.isEmpty()); r.setFrame(-1.0, -2.0, -3.0, -4.0); harness.check(r.isEmpty()); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("Arc2D.Float"); testOneInstance(new Arc2D.Float(), harness); harness.checkPoint("Arc2D.Double"); testOneInstance(new Arc2D.Double(), harness); harness.checkPoint("Ellipse2D.Float"); testOneInstance(new Ellipse2D.Float(), harness); harness.checkPoint("Ellipse2D.Double"); testOneInstance(new Ellipse2D.Double(), harness); harness.checkPoint("Rectangle2D.Float"); testOneInstance(new Rectangle2D.Float(), harness); harness.checkPoint("Rectangle2D.Double"); testOneInstance(new Rectangle2D.Double(), harness); harness.checkPoint("RoundRectangle2D.Float"); testOneInstance(new RoundRectangle2D.Float(), harness); harness.checkPoint("RoundRectangle2D.Double"); testOneInstance(new RoundRectangle2D.Double(), harness); harness.checkPoint("Rectangle"); testOneInstance(new Rectangle(), harness); } } mauve-20140821/gnu/testlet/java/awt/geom/RectangularShape/getFrame.java0000644000175000001440000000546010123335374024520 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.RectangularShape; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; import java.awt.geom.Arc2D; import java.awt.geom.Ellipse2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RectangularShape; import java.awt.geom.RoundRectangle2D; /** * Some checks for the getFrame() method in the {@link RectangularShape} class. */ public class getFrame implements Testlet { /** * Run some tests for an instance of a subclass of {@link RectangularShape}. * * @param r the rectangular shape. * @param harness the test harness. */ public static void testOneInstance(RectangularShape r, TestHarness harness) { r.setFrame(1.0, 2.0, 3.0, 4.0); Rectangle2D f = r.getFrame(); harness.check(f.getX(), 1.0); harness.check(f.getY(), 2.0); harness.check(f.getWidth(), 3.0); harness.check(f.getHeight(), 4.0); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // it is probably overkill to test all these subclasses, but // anyway... harness.checkPoint("Arc2D.Float"); testOneInstance(new Arc2D.Float(), harness); harness.checkPoint("Arc2D.Double"); testOneInstance(new Arc2D.Double(), harness); harness.checkPoint("Ellipse2D.Float"); testOneInstance(new Ellipse2D.Float(), harness); harness.checkPoint("Ellipse2D.Double"); testOneInstance(new Ellipse2D.Double(), harness); harness.checkPoint("Rectangle2D.Float"); testOneInstance(new Rectangle2D.Float(), harness); harness.checkPoint("Rectangle2D.Double"); testOneInstance(new Rectangle2D.Double(), harness); harness.checkPoint("RoundRectangle2D.Float"); testOneInstance(new RoundRectangle2D.Float(), harness); harness.checkPoint("RoundRectangle2D.Double"); testOneInstance(new RoundRectangle2D.Double(), harness); harness.checkPoint("Rectangle"); testOneInstance(new Rectangle(), harness); } } mauve-20140821/gnu/testlet/java/awt/geom/RectangularShape/getBounds.java0000644000175000001440000000557310123335374024725 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.RectangularShape; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; import java.awt.geom.Arc2D; import java.awt.geom.Ellipse2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RectangularShape; import java.awt.geom.RoundRectangle2D; /** * Some checks for the getBounds() method in the {@link RectangularShape} class. * Only the most general checks are performed here, more specific tests should * be done at the level of the subclass. */ public class getBounds implements Testlet { /** * Run some tests for an instance of a subclass of {@link RectangularShape}. * * @param r the rectangular shape. * @param harness the test harness. */ public static void testOneInstance(RectangularShape r, TestHarness harness) { r.setFrame(0.0, 0.0, 0.0, 0.0); Rectangle bounds = r.getBounds(); harness.check(bounds.x == 0); harness.check(bounds.y == 0); harness.check(bounds.width == 0); harness.check(bounds.height == 0); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("Arc2D.Float"); testOneInstance(new Arc2D.Float(), harness); harness.checkPoint("Arc2D.Double"); testOneInstance(new Arc2D.Double(), harness); harness.checkPoint("Ellipse2D.Float"); testOneInstance(new Ellipse2D.Float(), harness); harness.checkPoint("Ellipse2D.Double"); testOneInstance(new Ellipse2D.Double(), harness); harness.checkPoint("Rectangle2D.Float"); testOneInstance(new Rectangle2D.Float(), harness); harness.checkPoint("Rectangle2D.Double"); testOneInstance(new Rectangle2D.Double(), harness); harness.checkPoint("RoundRectangle2D.Float"); testOneInstance(new RoundRectangle2D.Float(), harness); harness.checkPoint("RoundRectangle2D.Double"); testOneInstance(new RoundRectangle2D.Double(), harness); harness.checkPoint("Rectangle"); testOneInstance(new Rectangle(), harness); } } mauve-20140821/gnu/testlet/java/awt/geom/RectangularShape/intersects.java0000644000175000001440000000550010123335374025144 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.RectangularShape; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; import java.awt.geom.Arc2D; import java.awt.geom.Ellipse2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RectangularShape; import java.awt.geom.RoundRectangle2D; /** * Some checks for the intersects() method in the {@link RectangularShape} class. * Only the most general checks are performed here, more specific tests should * be done at the level of the subclass. */ public class intersects implements Testlet { /** * Run some tests for an instance of a subclass of {@link RectangularShape}. * * @param r the rectangular shape. * @param harness the test harness. */ public static void testOneInstance(RectangularShape r, TestHarness harness) { boolean pass = false; try { r.intersects(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("Arc2D.Float"); testOneInstance(new Arc2D.Float(), harness); harness.checkPoint("Arc2D.Double"); testOneInstance(new Arc2D.Double(), harness); harness.checkPoint("Ellipse2D.Float"); testOneInstance(new Ellipse2D.Float(), harness); harness.checkPoint("Ellipse2D.Double"); testOneInstance(new Ellipse2D.Double(), harness); harness.checkPoint("Rectangle2D.Float"); testOneInstance(new Rectangle2D.Float(), harness); harness.checkPoint("Rectangle2D.Double"); testOneInstance(new Rectangle2D.Double(), harness); harness.checkPoint("RoundRectangle2D.Float"); testOneInstance(new RoundRectangle2D.Float(), harness); harness.checkPoint("RoundRectangle2D.Double"); testOneInstance(new RoundRectangle2D.Double(), harness); harness.checkPoint("Rectangle"); testOneInstance(new Rectangle(), harness); } } mauve-20140821/gnu/testlet/java/awt/geom/RectangularShape/getMinX.java0000644000175000001440000000524110123335374024336 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.RectangularShape; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; import java.awt.geom.Arc2D; import java.awt.geom.Ellipse2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RectangularShape; import java.awt.geom.RoundRectangle2D; /** * Some checks for the getMinX() method in the {@link RectangularShape} class. */ public class getMinX implements Testlet { /** * Run some tests for an instance of a subclass of {@link RectangularShape}. * * @param r the rectangular shape. * @param harness the test harness. */ public static void testOneInstance(RectangularShape r, TestHarness harness) { r.setFrame(1.0, 2.0, 3.0, 4.0); harness.check(r.getMinX(), 1.0); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // it is probably overkill to test all these subclasses, but // anyway... harness.checkPoint("Arc2D.Float"); testOneInstance(new Arc2D.Float(), harness); harness.checkPoint("Arc2D.Double"); testOneInstance(new Arc2D.Double(), harness); harness.checkPoint("Ellipse2D.Float"); testOneInstance(new Ellipse2D.Float(), harness); harness.checkPoint("Ellipse2D.Double"); testOneInstance(new Ellipse2D.Double(), harness); harness.checkPoint("Rectangle2D.Float"); testOneInstance(new Rectangle2D.Float(), harness); harness.checkPoint("Rectangle2D.Double"); testOneInstance(new Rectangle2D.Double(), harness); harness.checkPoint("RoundRectangle2D.Float"); testOneInstance(new RoundRectangle2D.Float(), harness); harness.checkPoint("RoundRectangle2D.Double"); testOneInstance(new RoundRectangle2D.Double(), harness); harness.checkPoint("Rectangle"); testOneInstance(new Rectangle(), harness); } } mauve-20140821/gnu/testlet/java/awt/geom/RectangularShape/setFrameFromDiagonal.java0000644000175000001440000000714410123335374027020 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.RectangularShape; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; import java.awt.geom.Arc2D; import java.awt.geom.Ellipse2D; import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RectangularShape; import java.awt.geom.RoundRectangle2D; /** * Some checks for the setFrameFromDiagonal() method in the {@link RectangularShape} * class. Only the most general checks are performed here, more specific tests * should be done at the level of the subclass. */ public class setFrameFromDiagonal implements Testlet { /** * Run some tests for an instance of a subclass of {@link RectangularShape}. * * @param r the rectangular shape. * @param harness the test harness. */ public static void testOneInstance(RectangularShape r, TestHarness harness) { // setFrameFromDiagonal(double, double, double, double) r.setFrameFromDiagonal(1.0, 2.0, 3.0, 4.0); harness.check(r.getX(), 1.0); harness.check(r.getY(), 2.0); harness.check(r.getWidth(), 2.0); harness.check(r.getHeight(), 2.0); // setFrameFromDiagonal(Point2D, Point2D) r.setFrameFromDiagonal( new Point2D.Double(4.0, 3.0), new Point2D.Double(2.0, 1.0) ); harness.check(r.getX(), 2.0); harness.check(r.getY(), 1.0); harness.check(r.getWidth(), 2.0); harness.check(r.getHeight(), 2.0); boolean pass = false; try { r.setFrameFromDiagonal(null, new Point2D.Double()); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { r.setFrameFromDiagonal(new Point2D.Double(), null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("Arc2D.Float"); testOneInstance(new Arc2D.Float(), harness); harness.checkPoint("Arc2D.Double"); testOneInstance(new Arc2D.Double(), harness); harness.checkPoint("Ellipse2D.Float"); testOneInstance(new Ellipse2D.Float(), harness); harness.checkPoint("Ellipse2D.Double"); testOneInstance(new Ellipse2D.Double(), harness); harness.checkPoint("Rectangle2D.Float"); testOneInstance(new Rectangle2D.Float(), harness); harness.checkPoint("Rectangle2D.Double"); testOneInstance(new Rectangle2D.Double(), harness); harness.checkPoint("RoundRectangle2D.Float"); testOneInstance(new RoundRectangle2D.Float(), harness); harness.checkPoint("RoundRectangle2D.Double"); testOneInstance(new RoundRectangle2D.Double(), harness); harness.checkPoint("Rectangle"); testOneInstance(new Rectangle(), harness); } } mauve-20140821/gnu/testlet/java/awt/geom/RectangularShape/setFrameFromCenter.java0000644000175000001440000000713010123335374026515 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.RectangularShape; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; import java.awt.geom.Arc2D; import java.awt.geom.Ellipse2D; import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RectangularShape; import java.awt.geom.RoundRectangle2D; /** * Some checks for the setFrameFromCenter() method in the {@link RectangularShape} * class. Only the most general checks are performed here, more specific tests * should be done at the level of the subclass. */ public class setFrameFromCenter implements Testlet { /** * Run some tests for an instance of a subclass of {@link RectangularShape}. * * @param r the rectangular shape. * @param harness the test harness. */ public static void testOneInstance(RectangularShape r, TestHarness harness) { // setFrameFromCenter(double, double, double, double) r.setFrameFromCenter(1.0, 2.0, 3.0, 4.0); harness.check(r.getX(), -1.0); harness.check(r.getY(), 0.0); harness.check(r.getWidth(), 4.0); harness.check(r.getHeight(), 4.0); // setFrameFromCenter(Point2D, Point2D) r.setFrameFromCenter( new Point2D.Double(4.0, 3.0), new Point2D.Double(2.0, 1.0) ); harness.check(r.getX(), 2.0); harness.check(r.getY(), 1.0); harness.check(r.getWidth(), 4.0); harness.check(r.getHeight(), 4.0); boolean pass = false; try { r.setFrameFromCenter(null, new Point2D.Double()); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { r.setFrameFromCenter(new Point2D.Double(), null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("Arc2D.Float"); testOneInstance(new Arc2D.Float(), harness); harness.checkPoint("Arc2D.Double"); testOneInstance(new Arc2D.Double(), harness); harness.checkPoint("Ellipse2D.Float"); testOneInstance(new Ellipse2D.Float(), harness); harness.checkPoint("Ellipse2D.Double"); testOneInstance(new Ellipse2D.Double(), harness); harness.checkPoint("Rectangle2D.Float"); testOneInstance(new Rectangle2D.Float(), harness); harness.checkPoint("Rectangle2D.Double"); testOneInstance(new Rectangle2D.Double(), harness); harness.checkPoint("RoundRectangle2D.Float"); testOneInstance(new RoundRectangle2D.Float(), harness); harness.checkPoint("RoundRectangle2D.Double"); testOneInstance(new RoundRectangle2D.Double(), harness); harness.checkPoint("Rectangle"); testOneInstance(new Rectangle(), harness); } } mauve-20140821/gnu/testlet/java/awt/geom/RectangularShape/getMaxX.java0000644000175000001440000000524110123335374024340 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.RectangularShape; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; import java.awt.geom.Arc2D; import java.awt.geom.Ellipse2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RectangularShape; import java.awt.geom.RoundRectangle2D; /** * Some checks for the getMaxX() method in the {@link RectangularShape} class. */ public class getMaxX implements Testlet { /** * Run some tests for an instance of a subclass of {@link RectangularShape}. * * @param r the rectangular shape. * @param harness the test harness. */ public static void testOneInstance(RectangularShape r, TestHarness harness) { r.setFrame(1.0, 2.0, 3.0, 4.0); harness.check(r.getMaxX(), 4.0); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // it is probably overkill to test all these subclasses, but // anyway... harness.checkPoint("Arc2D.Float"); testOneInstance(new Arc2D.Float(), harness); harness.checkPoint("Arc2D.Double"); testOneInstance(new Arc2D.Double(), harness); harness.checkPoint("Ellipse2D.Float"); testOneInstance(new Ellipse2D.Float(), harness); harness.checkPoint("Ellipse2D.Double"); testOneInstance(new Ellipse2D.Double(), harness); harness.checkPoint("Rectangle2D.Float"); testOneInstance(new Rectangle2D.Float(), harness); harness.checkPoint("Rectangle2D.Double"); testOneInstance(new Rectangle2D.Double(), harness); harness.checkPoint("RoundRectangle2D.Float"); testOneInstance(new RoundRectangle2D.Float(), harness); harness.checkPoint("RoundRectangle2D.Double"); testOneInstance(new RoundRectangle2D.Double(), harness); harness.checkPoint("Rectangle"); testOneInstance(new Rectangle(), harness); } } mauve-20140821/gnu/testlet/java/awt/geom/RectangularShape/getMinY.java0000644000175000001440000000524110123335374024337 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.RectangularShape; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; import java.awt.geom.Arc2D; import java.awt.geom.Ellipse2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RectangularShape; import java.awt.geom.RoundRectangle2D; /** * Some checks for the getMinY() method in the {@link RectangularShape} class. */ public class getMinY implements Testlet { /** * Run some tests for an instance of a subclass of {@link RectangularShape}. * * @param r the rectangular shape. * @param harness the test harness. */ public static void testOneInstance(RectangularShape r, TestHarness harness) { r.setFrame(1.0, 2.0, 3.0, 4.0); harness.check(r.getMinY(), 2.0); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // it is probably overkill to test all these subclasses, but // anyway... harness.checkPoint("Arc2D.Float"); testOneInstance(new Arc2D.Float(), harness); harness.checkPoint("Arc2D.Double"); testOneInstance(new Arc2D.Double(), harness); harness.checkPoint("Ellipse2D.Float"); testOneInstance(new Ellipse2D.Float(), harness); harness.checkPoint("Ellipse2D.Double"); testOneInstance(new Ellipse2D.Double(), harness); harness.checkPoint("Rectangle2D.Float"); testOneInstance(new Rectangle2D.Float(), harness); harness.checkPoint("Rectangle2D.Double"); testOneInstance(new Rectangle2D.Double(), harness); harness.checkPoint("RoundRectangle2D.Float"); testOneInstance(new RoundRectangle2D.Float(), harness); harness.checkPoint("RoundRectangle2D.Double"); testOneInstance(new RoundRectangle2D.Double(), harness); harness.checkPoint("Rectangle"); testOneInstance(new Rectangle(), harness); } } mauve-20140821/gnu/testlet/java/awt/geom/RectangularShape/getCenterX.java0000644000175000001440000000526710123335374025043 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.RectangularShape; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; import java.awt.geom.Arc2D; import java.awt.geom.Ellipse2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RectangularShape; import java.awt.geom.RoundRectangle2D; /** * Some checks for the getCenterX() method in the {@link RectangularShape} class. */ public class getCenterX implements Testlet { /** * Run some tests for an instance of a subclass of {@link RectangularShape}. * * @param r the rectangular shape. * @param harness the test harness. */ public static void testOneInstance(RectangularShape r, TestHarness harness) { r.setFrame(1.0, 2.0, 3.0, 4.0); harness.check(r.getCenterX(), 2.5); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // it is probably overkill to test all these subclasses, but // anyway... harness.checkPoint("Arc2D.Float"); testOneInstance(new Arc2D.Float(), harness); harness.checkPoint("Arc2D.Double"); testOneInstance(new Arc2D.Double(), harness); harness.checkPoint("Ellipse2D.Float"); testOneInstance(new Ellipse2D.Float(), harness); harness.checkPoint("Ellipse2D.Double"); testOneInstance(new Ellipse2D.Double(), harness); harness.checkPoint("Rectangle2D.Float"); testOneInstance(new Rectangle2D.Float(), harness); harness.checkPoint("Rectangle2D.Double"); testOneInstance(new Rectangle2D.Double(), harness); harness.checkPoint("RoundRectangle2D.Float"); testOneInstance(new RoundRectangle2D.Float(), harness); harness.checkPoint("RoundRectangle2D.Double"); testOneInstance(new RoundRectangle2D.Double(), harness); harness.checkPoint("Rectangle"); testOneInstance(new Rectangle(), harness); } } mauve-20140821/gnu/testlet/java/awt/geom/RectangularShape/getMaxY.java0000644000175000001440000000524110123335374024341 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.RectangularShape; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; import java.awt.geom.Arc2D; import java.awt.geom.Ellipse2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RectangularShape; import java.awt.geom.RoundRectangle2D; /** * Some checks for the getMaxY() method in the {@link RectangularShape} class. */ public class getMaxY implements Testlet { /** * Run some tests for an instance of a subclass of {@link RectangularShape}. * * @param r the rectangular shape. * @param harness the test harness. */ public static void testOneInstance(RectangularShape r, TestHarness harness) { r.setFrame(1.0, 2.0, 3.0, 4.0); harness.check(r.getMaxY(), 6.0); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // it is probably overkill to test all these subclasses, but // anyway... harness.checkPoint("Arc2D.Float"); testOneInstance(new Arc2D.Float(), harness); harness.checkPoint("Arc2D.Double"); testOneInstance(new Arc2D.Double(), harness); harness.checkPoint("Ellipse2D.Float"); testOneInstance(new Ellipse2D.Float(), harness); harness.checkPoint("Ellipse2D.Double"); testOneInstance(new Ellipse2D.Double(), harness); harness.checkPoint("Rectangle2D.Float"); testOneInstance(new Rectangle2D.Float(), harness); harness.checkPoint("Rectangle2D.Double"); testOneInstance(new Rectangle2D.Double(), harness); harness.checkPoint("RoundRectangle2D.Float"); testOneInstance(new RoundRectangle2D.Float(), harness); harness.checkPoint("RoundRectangle2D.Double"); testOneInstance(new RoundRectangle2D.Double(), harness); harness.checkPoint("Rectangle"); testOneInstance(new Rectangle(), harness); } } mauve-20140821/gnu/testlet/java/awt/geom/RectangularShape/contains.java0000644000175000001440000000607710123335374024611 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.RectangularShape; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; import java.awt.geom.Arc2D; import java.awt.geom.Ellipse2D; import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RectangularShape; import java.awt.geom.RoundRectangle2D; /** * Some checks for the contains() method in the {@link RectangularShape} class. * Only the most general checks are performed here, more specific tests should * be done at the level of the subclass. */ public class contains implements Testlet { /** * Run some tests for an instance of a subclass of {@link RectangularShape}. * * @param r the rectangular shape. * @param harness the test harness. */ public static void testOneInstance(RectangularShape r, TestHarness harness) { // check null arguments boolean pass = false; try { r.contains((Point2D) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { r.contains((Rectangle2D) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("Arc2D.Float"); testOneInstance(new Arc2D.Float(), harness); harness.checkPoint("Arc2D.Double"); testOneInstance(new Arc2D.Double(), harness); harness.checkPoint("Ellipse2D.Float"); testOneInstance(new Ellipse2D.Float(), harness); harness.checkPoint("Ellipse2D.Double"); testOneInstance(new Ellipse2D.Double(), harness); harness.checkPoint("Rectangle2D.Float"); testOneInstance(new Rectangle2D.Float(), harness); harness.checkPoint("Rectangle2D.Double"); testOneInstance(new Rectangle2D.Double(), harness); harness.checkPoint("RoundRectangle2D.Float"); testOneInstance(new RoundRectangle2D.Float(), harness); harness.checkPoint("RoundRectangle2D.Double"); testOneInstance(new RoundRectangle2D.Double(), harness); harness.checkPoint("Rectangle"); testOneInstance(new Rectangle(), harness); } } mauve-20140821/gnu/testlet/java/awt/geom/Arc2D/0000755000175000001440000000000012375316426017571 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/geom/Arc2D/setArcByCenter.java0000644000175000001440000000351510106662620023303 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Arc2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Arc2D; /** * Tests the setArcByCenter() method of the {@link Arc2D} class. */ public class setArcByCenter implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Arc2D arc1 = new Arc2D.Double(); arc1.setArcByCenter(1.0, 2.0, 3.0, 4.0, 5.0, Arc2D.PIE); harness.check(arc1.getX(), -2.0); harness.check(arc1.getY(), -1.0); harness.check(arc1.getWidth(), 6.0); harness.check(arc1.getHeight(), 6.0); harness.check(arc1.getAngleStart(), 4.0); harness.check(arc1.getAngleExtent(), 5.0); harness.check(arc1.getArcType() == Arc2D.PIE); // check for illegal closure type boolean pass = false; try { arc1.setArcByCenter(1.0, 2.0, 3.0, 4.0, 5.0, 99); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/geom/Arc2D/constructors.java0000644000175000001440000000621210106662620023173 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Arc2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Arc2D; import java.awt.geom.Rectangle2D; /** * Tests the constructors for the {@link Arc2D} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // constructor 1 Arc2D arc = new Arc2D.Double(); harness.check(arc.getArcType() == Arc2D.OPEN); harness.check(arc.getX(), 0.0); harness.check(arc.getY(), 0.0); harness.check(arc.getWidth(), 0.0); harness.check(arc.getHeight(), 0.0); harness.check(arc.getAngleStart(), 0.0); harness.check(arc.getAngleExtent(), 0.0); // constructor 2 arc = new Arc2D.Double(Arc2D.PIE); harness.check(arc.getArcType() == Arc2D.PIE); harness.check(arc.getX(), 0.0); harness.check(arc.getY(), 0.0); harness.check(arc.getWidth(), 0.0); harness.check(arc.getHeight(), 0.0); harness.check(arc.getAngleStart(), 0.0); harness.check(arc.getAngleExtent(), 0.0); // constructor 3 arc = new Arc2D.Double(1.0, 2.0, 3.0, 4.0, 45, 90.0, Arc2D.CHORD); harness.check(arc.getArcType() == Arc2D.CHORD); harness.check(arc.getX(), 1.0); harness.check(arc.getY(), 2.0); harness.check(arc.getWidth(), 3.0); harness.check(arc.getHeight(), 4.0); harness.check(arc.getAngleStart(), 45.0); harness.check(arc.getAngleExtent(), 90.0); boolean pass = false; try { arc = new Arc2D.Double(1.0, 2.0, 3.0, 4.0, 45, 90.0, 99); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // constructor 4 arc = new Arc2D.Double(new Rectangle2D.Double(10.0, 11.0, 12.0, 13.0), 110.0, 35.0, Arc2D.OPEN); harness.check(arc.getArcType() == Arc2D.OPEN); harness.check(arc.getX(), 10.0); harness.check(arc.getY(), 11.0); harness.check(arc.getWidth(), 12.0); harness.check(arc.getHeight(), 13.0); harness.check(arc.getAngleStart(), 110.0); harness.check(arc.getAngleExtent(), 35.0); pass = false; try { arc = new Arc2D.Double(null, 110.0, 35.0, Arc2D.OPEN); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/geom/Arc2D/setFrame.java0000644000175000001440000000271310106662620022173 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Arc2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Arc2D; /** * Tests the setFrame() method of the {@link Arc2D} class. */ public class setFrame implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Arc2D arc = new Arc2D.Double(0.0, 0.0, 1.0, 1.0, 0.0, 90.0, Arc2D.PIE); arc.setFrame(1.0, 2.0, 3.0, 4.0); harness.check(arc.getX(), 1.0); harness.check(arc.getY(), 2.0); harness.check(arc.getWidth(), 3.0); harness.check(arc.getHeight(), 4.0); } } mauve-20140821/gnu/testlet/java/awt/geom/Arc2D/equals.java0000644000175000001440000000257510106662620021725 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Arc2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Arc2D; /** * Tests the equals() method for the {@link Arc2D} class. */ public class equals implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // Arc2D does NOT override equals() Arc2D arc1 = new Arc2D.Double(); Arc2D arc2 = new Arc2D.Double(); harness.check(!arc1.equals(arc2)); harness.check(!arc1.equals(null)); } } mauve-20140821/gnu/testlet/java/awt/geom/Arc2D/isEmpty.java0000644000175000001440000000310410106662620022052 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Arc2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Arc2D; /** * Tests the isEmpty() method of the {@link Arc2D} class. */ public class isEmpty implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Arc2D arc = new Arc2D.Double(); harness.check(arc.isEmpty()); arc = new Arc2D.Double(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, Arc2D.CHORD); harness.check(!arc.isEmpty()); arc = new Arc2D.Double(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, Arc2D.PIE); harness.check(!arc.isEmpty()); arc = new Arc2D.Double(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, Arc2D.OPEN); harness.check(!arc.isEmpty()); } } mauve-20140821/gnu/testlet/java/awt/geom/Arc2D/getEndPoint.java0000644000175000001440000000263210106662620022645 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Arc2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Arc2D; import java.awt.geom.Point2D; /** * Tests the getEndPoint() method of the {@link Arc2D} class. */ public class getEndPoint implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Arc2D arc = new Arc2D.Double(-1.0, -1.0, 2.0, 2.0, 0.0, 90.0, Arc2D.PIE); Point2D p = arc.getEndPoint(); harness.check(p.getX(), 0.0); harness.check(p.getY(), -1.0); } } mauve-20140821/gnu/testlet/java/awt/geom/Arc2D/intersects.java0000644000175000001440000000375610106662620022620 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Arc2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Arc2D; import java.awt.geom.Rectangle2D; /** * Tests the intersects() method of the {@link Arc2D} class. */ public class intersects implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Arc2D arc = new Arc2D.Double(); harness.check(!arc.intersects(0.0, 0.0, 0.0, 0.0)); harness.check(!arc.intersects(1.0, 2.0, 3.0, 4.0)); arc = new Arc2D.Double(-1.0, -1.0, 2.0, 2.0, 0.0, 90.0, Arc2D.PIE); harness.check(arc.intersects(-1.0, 0.0, 1.0, 1.0)); harness.check(arc.intersects(-1.0, -1.0, 1.0, 1.0)); harness.check(arc.intersects(0.0, 0.0, 1.0, 1.0)); harness.check(arc.intersects(0.0, -1.0, 1.0, 1.0)); harness.check(!arc.intersects(5.0, 5.0, 1.0, 1.0)); arc = new Arc2D.Double(); harness.check(!arc.intersects(new Rectangle2D.Double(0.0, 0.0, 0.0, 0.0))); boolean pass = false; try { arc.intersects(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/geom/Arc2D/constants.java0000644000175000001440000000245110106662620022440 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Arc2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Arc2D; /** * Verifies constant values for the {@link Arc2D} class. */ public class constants implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.check(Arc2D.CHORD == 1); harness.check(Arc2D.OPEN == 0); harness.check(Arc2D.PIE == 2); } } mauve-20140821/gnu/testlet/java/awt/geom/Arc2D/setAngleExtent.java0000644000175000001440000000260210106662620023354 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Arc2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Arc2D; /** * Tests the setAngleExtent() method of the {@link Arc2D} class. */ public class setAngleExtent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // setAngleExtent(double) Arc2D arc = new Arc2D.Double(0.0, 0.0, 1.0, 1.0, 0.0, 90.0, Arc2D.PIE); arc.setAngleExtent(85.0); harness.check(arc.getAngleExtent(), 85.0); } } mauve-20140821/gnu/testlet/java/awt/geom/Arc2D/setArcType.java0000644000175000001440000000320410106662620022504 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Arc2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Arc2D; /** * Tests the setArcType() method in the {@link Arc2D} class. */ public class setArcType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Arc2D arc = new Arc2D.Double(); arc.setArcType(Arc2D.OPEN); harness.check(arc.getArcType() == Arc2D.OPEN); arc.setArcType(Arc2D.CHORD); harness.check(arc.getArcType() == Arc2D.CHORD); arc.setArcType(Arc2D.PIE); harness.check(arc.getArcType() == Arc2D.PIE); boolean pass = false; try { arc.setArcType(99); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/geom/Arc2D/Double/0000755000175000001440000000000012375316426021003 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/geom/Arc2D/Double/clone.java0000644000175000001440000000350210135042736022736 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Arc2D.Double; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Arc2D; /** * Some checks for the clone() method in the {@link Arc2D.Double} class. */ public class clone implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Arc2D arc1 = new Arc2D.Double(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, Arc2D.CHORD); Arc2D arc2 = null; arc2 = (Arc2D) arc1.clone(); harness.check(arc1.getX() == arc2.getX()); harness.check(arc1.getY() == arc2.getY()); harness.check(arc1.getWidth() == arc2.getWidth()); harness.check(arc1.getHeight() == arc2.getHeight()); harness.check(arc1.getAngleStart(), arc2.getAngleStart()); harness.check(arc1.getAngleExtent(), arc2.getAngleExtent()); harness.check(arc1.getArcType() == arc2.getArcType()); harness.check(arc1.getClass() == arc2.getClass()); harness.check(arc1 != arc2); } } mauve-20140821/gnu/testlet/java/awt/geom/Arc2D/setAngleStart.java0000644000175000001440000000331410106662620023203 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Arc2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Arc2D; import java.awt.geom.Point2D; /** * Tests the setAngleStart() method of the {@link Arc2D} class. */ public class setAngleStart implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // setAngleStart(double) Arc2D arc = new Arc2D.Double(0.0, 0.0, 1.0, 1.0, 0.0, 90.0, Arc2D.PIE); arc.setAngleStart(85.0); harness.check(arc.getAngleStart(), 85.0); // setAngleStart(Point2D) arc.setAngleStart(new Point2D.Double(1.0, 1.0)); harness.check(arc.getAngleStart(), -45.0); boolean pass = false; try { arc.setAngleStart(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/geom/Arc2D/setAngles.java0000644000175000001440000000411210106662620022345 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Arc2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Arc2D; import java.awt.geom.Point2D; /** * Tests the setAngles() method of the {@link Arc2D} class. */ public class setAngles implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // setAngles(double, double, double, double) Arc2D arc = new Arc2D.Double(-1.0, -1.0, 2.0, 2.0, 0.0, 90.0, Arc2D.PIE); arc.setAngles(1.0, -1.0, -1.0, -1.0); harness.check(arc.getAngleStart(), 45.0); harness.check(arc.getAngleExtent(), 90.0); // setAngleStart(Point2D, Point2D) arc.setAngles(new Point2D.Double(1.0, 1.0), new Point2D.Double(-1.0, 1.0)); harness.check(arc.getAngleStart(), -45.0); harness.check(arc.getAngleExtent(), 270.0); boolean pass = false; try { arc.setAngles(null, new Point2D.Double(-1.0, 1.0)); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { arc.setAngles(new Point2D.Double(-1.0, 1.0), null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/geom/Arc2D/setArc.java0000644000175000001440000000764210106662620021654 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Arc2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import java.awt.geom.Arc2D; import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; /** * Tests the setArc() method of the {@link Arc2D} class. */ public class setArc implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // setArc(Arc2D) Arc2D arc1 = new Arc2D.Double(); Arc2D arc2 = new Arc2D.Double(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, Arc2D.PIE); arc1.setArc(arc2); harness.check(arc1.getX(), 1.0); harness.check(arc1.getY(), 2.0); harness.check(arc1.getWidth(), 3.0); harness.check(arc1.getHeight(), 4.0); harness.check(arc1.getAngleStart(), 5.0); harness.check(arc1.getAngleExtent(), 6.0); harness.check(arc1.getArcType() == Arc2D.PIE); boolean pass = false; try { arc1.setArc(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // setArc(double, double, double, double, double, double, int) arc1 = new Arc2D.Double(); arc1.setArc(6.0, 5.0, 4.0, 3.0, 2.0, 1.0, Arc2D.OPEN); harness.check(arc1.getX(), 6.0); harness.check(arc1.getY(), 5.0); harness.check(arc1.getWidth(), 4.0); harness.check(arc1.getHeight(), 3.0); harness.check(arc1.getAngleStart(), 2.0); harness.check(arc1.getAngleExtent(), 1.0); harness.check(arc1.getArcType() == Arc2D.OPEN); // setArc(Point2D, Dimension2D, double, double, int) arc1 = new Arc2D.Double(); arc1.setArc( new Point2D.Double(1.0, 2.0), new Dimension(3, 4), 5.0, 6.0, Arc2D.CHORD ); harness.check(arc1.getX(), 1.0); harness.check(arc1.getY(), 2.0); harness.check(arc1.getWidth(), 3.0); harness.check(arc1.getHeight(), 4.0); harness.check(arc1.getAngleStart(), 5.0); harness.check(arc1.getAngleExtent(), 6.0); harness.check(arc1.getArcType() == Arc2D.CHORD); pass = false; try { arc1.setArc(null, new Dimension(3, 4), 5.0, 6.0, Arc2D.CHORD); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { arc1.setArc(new Point2D.Double(1.0, 2.0), null, 5.0, 6.0, Arc2D.CHORD); } catch (NullPointerException e) { pass = true; } harness.check(pass); // setArc(Rectangle2D, double, double, int) arc1 = new Arc2D.Double(); arc1.setArc( new Rectangle2D.Double(1.0, 2.0, 3.0, 4.0), 5.0, 6.0, Arc2D.OPEN ); harness.check(arc1.getX(), 1.0); harness.check(arc1.getY(), 2.0); harness.check(arc1.getWidth(), 3.0); harness.check(arc1.getHeight(), 4.0); harness.check(arc1.getAngleStart(), 5.0); harness.check(arc1.getAngleExtent(), 6.0); harness.check(arc1.getArcType() == Arc2D.OPEN); pass = false; try { arc1.setArc(null, 5.0, 6.0, Arc2D.CHORD); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/geom/Arc2D/getPathIterator.java0000644000175000001440000000445710106662620023542 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Arc2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Arc2D; import java.awt.geom.PathIterator; /** * Tests the getPathIterator() method of the {@link Arc2D} class. */ public class getPathIterator implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { double[] c = new double[6]; Arc2D arc1 = new Arc2D.Double(1.0, 2.0, 3.0, 4.0, 0.0, 90.0, Arc2D.PIE); PathIterator iterator = arc1.getPathIterator(null); harness.check(!iterator.isDone()); int segType = iterator.currentSegment(c); harness.check(segType == PathIterator.SEG_MOVETO); harness.check(c[0], 4.0); harness.check(c[1], 4.0); harness.check(!iterator.isDone()); iterator.next(); segType = iterator.currentSegment(c); harness.check(segType == PathIterator.SEG_CUBICTO); harness.check(c[0], 4.0); harness.check(c[1], 2.8954305003384135); harness.check(c[2], 3.3284271247461903); harness.check(c[3], 2.0); harness.check(c[4], 2.5); harness.check(c[5], 2.0); iterator.next(); segType = iterator.currentSegment(c); harness.check(segType == PathIterator.SEG_LINETO); harness.check(c[0], 2.5); harness.check(c[1], 4.0); iterator.next(); segType = iterator.currentSegment(c); harness.check(segType == PathIterator.SEG_CLOSE); iterator.next(); harness.check(iterator.isDone()); } } mauve-20140821/gnu/testlet/java/awt/geom/Arc2D/Float/0000755000175000001440000000000012375316426020636 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/geom/Arc2D/Float/clone.java0000644000175000001440000000350210135042736022571 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Arc2D.Float; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Arc2D; /** * Some checks for the clone() method in the {@link Arc2D.Float} class. */ public class clone implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Arc2D arc1 = new Arc2D.Float(1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, Arc2D.PIE); Arc2D arc2 = null; arc2 = (Arc2D) arc1.clone(); harness.check(arc1.getX() == arc2.getX()); harness.check(arc1.getY() == arc2.getY()); harness.check(arc1.getWidth() == arc2.getWidth()); harness.check(arc1.getHeight() == arc2.getHeight()); harness.check(arc1.getAngleStart(), arc2.getAngleStart()); harness.check(arc1.getAngleExtent(), arc2.getAngleExtent()); harness.check(arc1.getArcType() == arc2.getArcType()); harness.check(arc1.getClass() == arc2.getClass()); harness.check(arc1 != arc2); } } mauve-20140821/gnu/testlet/java/awt/geom/Arc2D/setArcByTangent.java0000644000175000001440000000476610106662620023474 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Arc2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Arc2D; import java.awt.geom.Point2D; /** * Tests the setArcByTangent() method of the {@link Arc2D} class. */ public class setArcByTangent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Arc2D arc = new Arc2D.Double(); arc.setArcByTangent( new Point2D.Double(10.0, 0.0), new Point2D.Double(0.0, 0.0), new Point2D.Double(0.0, 10.0), 1.0 ); harness.check(arc.getAngleStart(), 90.0); harness.check(arc.getAngleExtent(), 90.0); harness.checkPoint("Null arguments"); testNullArguments(harness); } private void testNullArguments(TestHarness harness) { boolean pass = false; Arc2D arc = new Arc2D.Double(); try { arc.setArcByTangent( null, new Point2D.Double(0.0, 0.0), new Point2D.Double(0.0, 10.0), 1.0 ); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { arc.setArcByTangent( new Point2D.Double(10.0, 0.0), null, new Point2D.Double(0.0, 10.0), 1.0 ); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { arc.setArcByTangent( new Point2D.Double(10.0, 0.0), new Point2D.Double(0.0, 10.0), null, 1.0 ); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/geom/Arc2D/contains.java0000644000175000001440000000755310106662620022252 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Arc2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Arc2D; import java.awt.geom.Rectangle2D; /** * Tests the isEmpty() method of the {@link Arc2D} class. */ public class contains implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // contains(double, double) Arc2D arc = new Arc2D.Double(); harness.check(!arc.contains(0.0, 0.0)); // check 1 arc = new Arc2D.Double(-1.0, -1.0, 2.0, 2.0, 0.0, 90.0, Arc2D.CHORD); harness.check(!arc.contains(0.0, 0.0)); // check 2 harness.check(!arc.contains(1.0, 0.0)); // check 3 harness.check(!arc.contains(0.0, 1.0)); // check 4 harness.check(!arc.contains(0.5, 0.5)); // check 5 harness.check(!arc.contains(0.5, -0.5)); // check 6 arc = new Arc2D.Double(-1.0, -1.0, 2.0, 2.0, 0.0, 90.0, Arc2D.PIE); harness.check(arc.contains(0.0, 0.0)); // check 7 harness.check(!arc.contains(1.0, 0.0)); // check 8 harness.check(!arc.contains(0.0, 1.0)); // check 9 harness.check(!arc.contains(0.5, 0.5)); // check 10 harness.check(arc.contains(0.5, -0.5)); // check 11 arc = new Arc2D.Double(-1.0, -1.0, 2.0, 2.0, 0.0, 90.0, Arc2D.OPEN); harness.check(!arc.contains(0.0, 0.0)); // check 12 harness.check(!arc.contains(1.0, 0.0)); // check 13 harness.check(!arc.contains(0.0, 1.0)); // check 14 harness.check(!arc.contains(0.5, 0.5)); // check 15 harness.check(!arc.contains(0.5, -0.5)); // check 16 // contains(double, double, double, double) arc = new Arc2D.Double(); harness.check(!arc.contains(0.0, 0.0, 0.0, 0.0)); // check 17 arc = new Arc2D.Double(-1.0, -1.0, 2.0, 2.0, 0.0, 90.0, Arc2D.CHORD); harness.check(!arc.contains(0.45, -0.55, 0.1, 0.1)); // check 18 arc = new Arc2D.Double(-1.0, -1.0, 2.0, 2.0, 0.0, 90.0, Arc2D.PIE); harness.check(arc.contains(0.45, -0.55, 0.1, 0.1)); // check 19 arc = new Arc2D.Double(-1.0, -1.0, 2.0, 2.0, 0.0, 90.0, Arc2D.OPEN); harness.check(!arc.contains(0.45, -0.55, 0.1, 0.1)); // check 20 // contains(Rectangle2D) arc = new Arc2D.Double(); harness.check( // check 21 !arc.contains(new Rectangle2D.Double(0.0, 0.0, 0.0, 0.0)) ); Rectangle2D r = new Rectangle2D.Double(0.45, -0.55, 0.1, 0.1); arc = new Arc2D.Double(-1.0, -1.0, 2.0, 2.0, 0.0, 90.0, Arc2D.CHORD); harness.check(!arc.contains(r)); // check 22 arc = new Arc2D.Double(-1.0, -1.0, 2.0, 2.0, 0.0, 90.0, Arc2D.PIE); harness.check(arc.contains(r)); // check 23 arc = new Arc2D.Double(-1.0, -1.0, 2.0, 2.0, 0.0, 90.0, Arc2D.OPEN); harness.check(!arc.contains(r)); // check 24 boolean pass = false; try { arc.contains((Rectangle2D) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check 25 } } mauve-20140821/gnu/testlet/java/awt/geom/Arc2D/containsAngle.java0000644000175000001440000000341210106662620023207 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Arc2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Arc2D; import java.awt.geom.Rectangle2D; /** * Tests the containsAngle() method of the {@link Arc2D} class. */ public class containsAngle implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Arc2D arc = new Arc2D.Double(); harness.check(!arc.containsAngle(0.0)); // check 1 arc = new Arc2D.Double( new Rectangle2D.Double(0.0, 0.0, 1.0, 1.0), 90.0, 90.0, Arc2D.PIE ); harness.check(!arc.containsAngle(0.0)); // check 2 harness.check(!arc.containsAngle(45.0)); // check 3 harness.check(arc.containsAngle(90.0)); // check 4 harness.check(arc.containsAngle(135.0)); // check 5 harness.check(!arc.containsAngle(180.0)); // check 6 harness.check(!arc.containsAngle(225.0)); // check 7 } } mauve-20140821/gnu/testlet/java/awt/geom/Arc2D/getStartPoint.java0000644000175000001440000000263710106662620023241 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Arc2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Arc2D; import java.awt.geom.Point2D; /** * Tests the getStartPoint() method of the {@link Arc2D} class. */ public class getStartPoint implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Arc2D arc = new Arc2D.Double(-1.0, -1.0, 2.0, 2.0, 0.0, 90.0, Arc2D.PIE); Point2D p = arc.getStartPoint(); harness.check(p.getX(), 1.0); harness.check(p.getY(), 0.0); } } mauve-20140821/gnu/testlet/java/awt/geom/Arc2D/getBounds2D.java0000644000175000001440000000333010106662620022541 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.geom.Arc2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Arc2D; import java.awt.geom.Rectangle2D; /** * Tests the getBounds2D() method of the {@link Arc2D} class. */ public class getBounds2D implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Arc2D arc = new Arc2D.Double(); Rectangle2D b = arc.getBounds2D(); harness.check(b.getX(), 0.0); harness.check(b.getY(), 0.0); harness.check(b.getWidth(), 0.0); harness.check(b.getHeight(), 0.0); arc = new Arc2D.Double( new Rectangle2D.Double(0.0, 0.0, 1.0, 1.0), 90, 90, Arc2D.PIE ); b = arc.getBounds2D(); harness.check(b.getX(), 0.0); harness.check(b.getY(), 0.0); harness.check(b.getWidth(), 0.5); harness.check(b.getHeight(), 0.5); } } mauve-20140821/gnu/testlet/java/awt/AWTEvent/0000755000175000001440000000000012375316426017404 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/AWTEvent/constants.java0000644000175000001440000000444110140153061022244 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.AWTEvent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.AWTEvent; /** * Verifies constant values for the {@link AWTEvent} class. */ public class constants implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.check(AWTEvent.ACTION_EVENT_MASK, 128l); harness.check(AWTEvent.ADJUSTMENT_EVENT_MASK, 256l); harness.check(AWTEvent.COMPONENT_EVENT_MASK, 1l); harness.check(AWTEvent.CONTAINER_EVENT_MASK, 2l); harness.check(AWTEvent.FOCUS_EVENT_MASK, 4l); harness.check(AWTEvent.HIERARCHY_BOUNDS_EVENT_MASK, 65536l); harness.check(AWTEvent.HIERARCHY_EVENT_MASK, 32768l); harness.check(AWTEvent.INPUT_METHOD_EVENT_MASK, 2048l); harness.check(AWTEvent.INVOCATION_EVENT_MASK, 16384l); harness.check(AWTEvent.ITEM_EVENT_MASK, 512l); harness.check(AWTEvent.KEY_EVENT_MASK, 8l); harness.check(AWTEvent.MOUSE_EVENT_MASK, 16l); harness.check(AWTEvent.MOUSE_MOTION_EVENT_MASK, 32l); harness.check(AWTEvent.MOUSE_WHEEL_EVENT_MASK, 131072l); harness.check(AWTEvent.PAINT_EVENT_MASK, 8192l); harness.check(AWTEvent.RESERVED_ID_MAX, 1999); harness.check(AWTEvent.TEXT_EVENT_MASK, 1024l); harness.check(AWTEvent.WINDOW_EVENT_MASK, 64l); harness.check(AWTEvent.WINDOW_FOCUS_EVENT_MASK, 524288l); harness.check(AWTEvent.WINDOW_STATE_EVENT_MASK, 262144l); } } mauve-20140821/gnu/testlet/java/awt/GridLayout/0000755000175000001440000000000012375316426020032 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/GridLayout/PaintTestZeroHgap.java0000644000175000001440000002721611670424313024250 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.GridLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.GridLayout; /** * Test if five canvases are positioned correctly to a frame using GridLayout. * GridLayout object is constructed using zero horizontal gaps and default * vertical gaps between components (this should be also zero). * * Frame has following layout: *

  * +----------------+----------------+----------------+
  * |                |                |                |
  * |    Canvas 1    |    Canvas 2    |    Canvas 3    |
  * |                |                |                |
  * +----------------+----------------+----------------+
  * |                |                |   background   |
  * |    Canvas 4    |    Canvas 5    |     color      |
  * |                |                |                |
  * +----------------+----------------+----------------+
  * 
* * Position of five canvases is tested by checking pixel colors in places * marked by a star: *
  * +----------------+----------------+----------------+
  * |                |                |                |
  * |       *        *       *        *       *        |
  * |                |                |                |
  * +-------*--------*-------*--------+----------------+
  * |                |                |                |
  * |       *        *       *        |       *        |
  * |                |                |                |
  * +----------------+----------------+----------------+
  * 
*/ public class PaintTestZeroHgap extends Panel implements Testlet { /** * Serial version UID because Panel is serializable. */ private static final long serialVersionUID = 42L; /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT=250; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { GridLayout layout = new GridLayout(2, 3); layout.setHgap(0); this.setLayout(layout); setBackground(Color.red); Frame frame = new Frame(); // create five components and add them to the panel Canvas canvas1 = new Canvas(); Canvas canvas2 = new Canvas(); Canvas canvas3 = new Canvas(); Canvas canvas4 = new Canvas(); Canvas canvas5 = new Canvas(); // size of all five canvases canvas1.setSize(100,100); canvas2.setSize(100,100); canvas3.setSize(100,100); canvas4.setSize(100,100); canvas5.setSize(100,100); // background of canvases canvas1.setBackground(Color.blue); canvas2.setBackground(Color.yellow); canvas3.setBackground(Color.magenta); canvas4.setBackground(Color.yellow); canvas5.setBackground(Color.blue); // canvases on frame add(canvas1); add(canvas2); add(canvas3); add(canvas4); add(canvas5); frame.add(this); frame.pack(); frame.setVisible(true); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); harness.check(getColorForComponent(robot, frame, canvas1), Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); harness.check(getColorForComponent(robot, frame, canvas2), Color.yellow); // check if the third component is properly shown on the panel harness.checkPoint("third component"); harness.check(getColorForComponent(robot, frame, canvas3), Color.magenta); // check if the fourth component is properly shown on the panel harness.checkPoint("fourth component"); harness.check(getColorForComponent(robot, frame, canvas4), Color.yellow); // check if the fifth component is properly shown on the panel harness.checkPoint("fifth component"); harness.check(getColorForComponent(robot, frame, canvas5), Color.blue); // check background color harness.checkPoint("background"); harness.check(getBackgroundColor(robot, frame, canvas3, canvas5), Color.red); // horizontal spaces between components // these are negative tests - background should not be visible between components harness.checkPoint("space check #1"); harness.check(getColorBetweenComponents(robot, frame, canvas1, canvas2) != Color.red); harness.checkPoint("space check #2"); harness.check(getColorBetweenComponents(robot, frame, canvas2, canvas3) != Color.red); harness.checkPoint("space check #3"); harness.check(getColorBetweenComponents(robot, frame, canvas4, canvas5) != Color.red); // vertical spaces between components // these are negative tests - background should not be visible between components harness.checkPoint("space check #4"); harness.check(getColorBetweenComponents(robot, frame, canvas1, canvas4) != Color.red); harness.checkPoint("space check #5"); harness.check(getColorBetweenComponents(robot, frame, canvas2, canvas5) != Color.red); // other spaces between components // this is negative test too harness.checkPoint("space check #6"); harness.check(getColorBetweenComponents(robot, frame, canvas1, canvas5) != Color.red); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Get background color. Background is located under the third component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getBackgroundColor(Robot robot, Frame frame, Component component1, Component component2) { // compute the absolute coordinates of a component inside the frame Rectangle bounds1 = computeBounds(frame, component1); Rectangle bounds2 = computeBounds(frame, component2); // position of checked pixel int checkedPixelX = bounds1.x + bounds1.width / 2; int checkedPixelY = bounds2.y + bounds2.height / 2; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Get color of a pixel located between two components. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component1 first tested component * @param component2 second tested component */ private Color getColorBetweenComponents(Robot robot, Frame frame, Component component1, Component component2) { // compute center of the first component Point p1 = computeCenterOfComponent(frame, component1); // compute center of the second component Point p2 = computeCenterOfComponent(frame, component2); // compute position of checked pixel int checkedPixelX = (p1.x + p2.x) >> 1; int checkedPixelY = (p1.y + p2.y) >> 1; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Compute coordinates of a pixel located in the middle of the component. * * @param frame frame where component is used * @param component tested component */ private Point computeCenterOfComponent(Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // return computed center (position of a checked pixel) return new Point(checkedPixelX, checkedPixelY); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param graphics the graphics context to use for painting */ @Override public void paint(Graphics graphics) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); graphics.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/GridLayout/setRows.java0000644000175000001440000000343111671373606022345 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.GridLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.GridLayout; /** * Basic checks for the {@link GridLayout#setRows()} method in the {@link GridLayout} class. */ public class setRows implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { GridLayout layout = new GridLayout(); harness.check(layout.getRows(), 1); layout.setRows(10); harness.check(layout.getRows(), 10); try { layout.setRows(0); // should not happen harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // nothing happens harness.check(layout.getRows(), 10); layout.setRows(-10); harness.check(layout.getRows(), -10); layout = new GridLayout(10, 20); harness.check(layout.getRows(), 10); } } mauve-20140821/gnu/testlet/java/awt/GridLayout/PaintTestFiveRowsFiveCanvases.java0000644000175000001440000002141211670424313026563 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.GridLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.GridLayout; /** * Test if five canvases are positioned correctly to a frame using GridLayout. */ public class PaintTestFiveRowsFiveCanvases extends Panel implements Testlet { /** * Serial version UID because Panel is serializable. */ private static final long serialVersionUID = 42L; /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT=250; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { this.setLayout(new GridLayout(5, 1)); setBackground(Color.red); Frame frame = new Frame(); // create five components and add them to the panel Canvas canvas1 = new Canvas(); Canvas canvas2 = new Canvas(); Canvas canvas3 = new Canvas(); Canvas canvas4 = new Canvas(); Canvas canvas5 = new Canvas(); // size of all five canvases canvas1.setSize(100,100); canvas2.setSize(100,100); canvas3.setSize(100,100); canvas4.setSize(100,100); canvas5.setSize(100,100); // background of canvases canvas1.setBackground(Color.blue); canvas2.setBackground(Color.yellow); canvas3.setBackground(Color.magenta); canvas4.setBackground(Color.yellow); canvas5.setBackground(Color.blue); // canvases on frame add(canvas1); add(canvas2); add(canvas3); add(canvas4); add(canvas5); frame.add(this); frame.pack(); frame.setVisible(true); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); harness.check(getColorForComponent(robot, frame, canvas1), Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); harness.check(getColorForComponent(robot, frame, canvas2), Color.yellow); // check if the third component is properly shown on the panel harness.checkPoint("third component"); harness.check(getColorForComponent(robot, frame, canvas3), Color.magenta); // check if the fourth component is properly shown on the panel harness.checkPoint("fourth component"); harness.check(getColorForComponent(robot, frame, canvas4), Color.yellow); // check if the fifth component is properly shown on the panel harness.checkPoint("fifth component"); harness.check(getColorForComponent(robot, frame, canvas5), Color.blue); // vertical spaces between components // these are negative tests - background should not be visible harness.checkPoint("space check #1"); harness.check(getColorBetweenComponents(robot, frame, canvas1, canvas2) != Color.red); harness.checkPoint("space check #2"); harness.check(getColorBetweenComponents(robot, frame, canvas2, canvas3) != Color.red); harness.checkPoint("space check #3"); harness.check(getColorBetweenComponents(robot, frame, canvas3, canvas4) != Color.red); harness.checkPoint("space check #4"); harness.check(getColorBetweenComponents(robot, frame, canvas4, canvas5) != Color.red); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Get color of a pixel located between two components. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component1 first tested component * @param component2 second tested component */ private Color getColorBetweenComponents(Robot robot, Frame frame, Component component1, Component component2) { // compute center of the first component Point p1 = computeCenterOfComponent(frame, component1); // compute center of the second component Point p2 = computeCenterOfComponent(frame, component2); // compute position of checked pixel int checkedPixelX = (p1.x + p2.x) >> 1; int checkedPixelY = (p1.y + p2.y) >> 1; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Compute coordinates of a pixel located in the middle of the component. * * @param frame frame where component is used * @param component tested component */ private Point computeCenterOfComponent(Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // return computed center (position of a checked pixel) return new Point(checkedPixelX, checkedPixelY); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param graphics the graphics context to use for painting */ @Override public void paint(Graphics graphics) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); graphics.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/GridLayout/getHgap.java0000644000175000001440000000276011670424313022251 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.GridLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.GridLayout; /** * Basic checks for the {@link GridLayout#getHgap()} method in the {@link GridLayout} class. */ public class getHgap implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { GridLayout layout = new GridLayout(); layout.setHgap(42); harness.check(layout.getHgap(), 42); layout.setHgap(-42); harness.check(layout.getHgap(), -42); layout.setHgap(0); harness.check(layout.getHgap(), 0); } } mauve-20140821/gnu/testlet/java/awt/GridLayout/setVgap.java0000644000175000001440000000276011670424313022303 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.GridLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.GridLayout; /** * Basic checks for the {@link GridLayout#setVgap()} method in the {@link GridLayout} class. */ public class setVgap implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { GridLayout layout = new GridLayout(); layout.setVgap(42); harness.check(layout.getVgap(), 42); layout.setVgap(-42); harness.check(layout.getVgap(), -42); layout.setVgap(0); harness.check(layout.getVgap(), 0); } } mauve-20140821/gnu/testlet/java/awt/GridLayout/removeLayoutComponent.java0000644000175000001440000000706711663724606025267 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.GridLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.GridLayout; import java.awt.Component; import java.awt.Canvas; import java.awt.Button; import java.awt.Panel; /** * Check for the functionality of method GridLayout.removeLayoutComponent */ public class removeLayoutComponent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testButton(harness); testCanvas(harness); } /** * Test the method GridLayout.removeLayoutComponent for a Button widget. * * @param harness the test harness (null not permitted). */ private void testButton(TestHarness harness) { harness.checkPoint("removeLayoutComponent(Button)"); GridLayout layout = new GridLayout(); Button component = new Button(); // Check the add/remove component method using all possible constraints. checkAllPossibleConstraints(harness, layout, component); } /** * Test the method GridLayout.removeLayoutComponent for a Canvas widget. * * @param harness the test harness (null not permitted). */ private void testCanvas(TestHarness harness) { harness.checkPoint("removeLayoutComponent(Canvas)"); GridLayout layout = new GridLayout(); Canvas component = new Canvas(); // Check the add/remove component method using all possible constraints. checkAllPossibleConstraints(harness, layout, component); } /** * Check the add/remove component method using all possible constraints. * * @param harness the test harness (null not permitted). * @param layout instance of GridLayout manager * @param component selected component */ private void checkAllPossibleConstraints(TestHarness harness, GridLayout layout, Component component) { checkAddRemove(harness, layout, component, ""); checkAddRemove(harness, layout, component, " "); checkAddRemove(harness, layout, component, "xyzzy"); checkAddRemove(harness, layout, component, null); } /** * Add specified component to the layout manager and then remove this component. * * @param harness the test harness (null not permitted). * @param layout instance of GridLayout manager * @param component selected component * @param name component name */ private void checkAddRemove(TestHarness harness, GridLayout layout, Component component, String name) { try { layout.addLayoutComponent(name, component); } catch (IllegalArgumentException e) { harness.fail(e.getMessage()); } layout.removeLayoutComponent(component); } } mauve-20140821/gnu/testlet/java/awt/GridLayout/setHgap.java0000644000175000001440000000276011670424313022265 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.GridLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.GridLayout; /** * Basic checks for the {@link GridLayout#setHgap()} method in the {@link GridLayout} class. */ public class setHgap implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { GridLayout layout = new GridLayout(); layout.setHgap(42); harness.check(layout.getHgap(), 42); layout.setHgap(-42); harness.check(layout.getHgap(), -42); layout.setHgap(0); harness.check(layout.getHgap(), 0); } } mauve-20140821/gnu/testlet/java/awt/GridLayout/PaintTestBiggerVgap.java0000644000175000001440000002775311670424313024554 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.GridLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.GridLayout; /** * Test if five canvases are positioned correctly to a frame using GridLayout. * GridLayout object is constructed using bigger vertical gaps * between components. * * Frame has following layout: *
  * +----------------+----------------+----------------+
  * |                |                |                |
  * |    Canvas 1    |    Canvas 2    |    Canvas 3    |
  * |                |                |                |
  * +----------------+----------------+----------------+
  * |     Space            Space            Space      |
  * +----------------+----------------+                |
  * |                |                |   background   |
  * |    Canvas 4    |    Canvas 5    |     color      |
  * |                |                |                |
  * +----------------+----------------+----------------+
  * 
* * Position of five canvases is tested by checking pixel colors in places * marked by a star: *
  * +----------------+----------------+----------------+
  * |                |                |                |
  * |       *        *       *        *       *        |
  * |                |                |                |
  * +----------------+----------------+----------------+
  * |       *        *       *        *                |
  * +----------------+----------------+                |
  * |                |                |                |
  * |       *        *       *        |       *        |
  * |                |                |                |
  * +----------------+----------------+----------------+
  * 
*/ public class PaintTestBiggerVgap extends Panel implements Testlet { /** * Serial version UID because Panel is serializable. */ private static final long serialVersionUID = 42L; /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT=250; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { GridLayout layout = new GridLayout(2, 3); layout.setVgap(50); this.setLayout(layout); setBackground(Color.red); Frame frame = new Frame(); // create five components and add them to the panel Canvas canvas1 = new Canvas(); Canvas canvas2 = new Canvas(); Canvas canvas3 = new Canvas(); Canvas canvas4 = new Canvas(); Canvas canvas5 = new Canvas(); // size of all five canvases canvas1.setSize(100,100); canvas2.setSize(100,100); canvas3.setSize(100,100); canvas4.setSize(100,100); canvas5.setSize(100,100); // background of canvases canvas1.setBackground(Color.blue); canvas2.setBackground(Color.yellow); canvas3.setBackground(Color.magenta); canvas4.setBackground(Color.yellow); canvas5.setBackground(Color.blue); // canvases on frame add(canvas1); add(canvas2); add(canvas3); add(canvas4); add(canvas5); frame.add(this); frame.pack(); frame.setVisible(true); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); harness.check(getColorForComponent(robot, frame, canvas1), Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); harness.check(getColorForComponent(robot, frame, canvas2), Color.yellow); // check if the third component is properly shown on the panel harness.checkPoint("third component"); harness.check(getColorForComponent(robot, frame, canvas3), Color.magenta); // check if the fourth component is properly shown on the panel harness.checkPoint("fourth component"); harness.check(getColorForComponent(robot, frame, canvas4), Color.yellow); // check if the fifth component is properly shown on the panel harness.checkPoint("fifth component"); harness.check(getColorForComponent(robot, frame, canvas5), Color.blue); // check background color harness.checkPoint("background"); harness.check(getBackgroundColor(robot, frame, canvas3, canvas5), Color.red); // horizontal spaces between components // these are negative tests - background should not be visible between components harness.checkPoint("space check #1"); harness.check(getColorBetweenComponents(robot, frame, canvas1, canvas2) != Color.red); harness.checkPoint("space check #2"); harness.check(getColorBetweenComponents(robot, frame, canvas2, canvas3) != Color.red); harness.checkPoint("space check #3"); harness.check(getColorBetweenComponents(robot, frame, canvas4, canvas5) != Color.red); // vertical spaces between components // these are positive tests - background should be visible between components harness.checkPoint("space check #4"); harness.check(getColorBetweenComponents(robot, frame, canvas1, canvas4), Color.red); harness.checkPoint("space check #5"); harness.check(getColorBetweenComponents(robot, frame, canvas2, canvas5), Color.red); // other spaces between components // these are positive tests - background should be visible between components harness.checkPoint("space check #6"); harness.check(getColorBetweenComponents(robot, frame, canvas1, canvas5), Color.red); harness.checkPoint("space check #7"); harness.check(getColorBetweenComponents(robot, frame, canvas3, canvas5), Color.red); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Get background color. Background is located under the third component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getBackgroundColor(Robot robot, Frame frame, Component component1, Component component2) { // compute the absolute coordinates of a component inside the frame Rectangle bounds1 = computeBounds(frame, component1); Rectangle bounds2 = computeBounds(frame, component2); // position of checked pixel int checkedPixelX = bounds1.x + bounds1.width / 2; int checkedPixelY = bounds2.y + bounds2.height / 2; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Get color of a pixel located between two components. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component1 first tested component * @param component2 second tested component */ private Color getColorBetweenComponents(Robot robot, Frame frame, Component component1, Component component2) { // compute center of the first component Point p1 = computeCenterOfComponent(frame, component1); // compute center of the second component Point p2 = computeCenterOfComponent(frame, component2); // compute position of checked pixel int checkedPixelX = (p1.x + p2.x) >> 1; int checkedPixelY = (p1.y + p2.y) >> 1; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Compute coordinates of a pixel located in the middle of the component. * * @param frame frame where component is used * @param component tested component */ private Point computeCenterOfComponent(Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // return computed center (position of a checked pixel) return new Point(checkedPixelX, checkedPixelY); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param graphics the graphics context to use for painting */ @Override public void paint(Graphics graphics) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); graphics.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/GridLayout/setColumns.java0000644000175000001440000000320511671373606023032 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.GridLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.GridLayout; /** * Basic checks for the {@link GridLayout#setColumns()} method in the {@link GridLayout} class. */ public class setColumns implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { GridLayout layout = new GridLayout(); harness.check(layout.getColumns(), 0); layout.setColumns(10); harness.check(layout.getColumns(), 10); layout.setColumns(0); harness.check(layout.getColumns(), 0); layout.setColumns(-10); harness.check(layout.getColumns(), -10); layout = new GridLayout(10, 20); harness.check(layout.getColumns(), 20); } } mauve-20140821/gnu/testlet/java/awt/GridLayout/PaintTestFiveRowsBiggerVgap.java0000644000175000001440000002165611670424313026235 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.GridLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.GridLayout; /** * Test if five canvases are positioned correctly to a frame using GridLayout. * All five canvases are stacked in one column and bigger vertical gap is inserted * between them. */ public class PaintTestFiveRowsBiggerVgap extends Panel implements Testlet { /** * Serial version UID because Panel is serializable. */ private static final long serialVersionUID = 42L; /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT=250; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { GridLayout layout = new GridLayout(5, 1); layout.setVgap(50); this.setLayout(layout); setBackground(Color.red); Frame frame = new Frame(); // create five components and add them to the panel Canvas canvas1 = new Canvas(); Canvas canvas2 = new Canvas(); Canvas canvas3 = new Canvas(); Canvas canvas4 = new Canvas(); Canvas canvas5 = new Canvas(); // size of all five canvases canvas1.setSize(100,100); canvas2.setSize(100,100); canvas3.setSize(100,100); canvas4.setSize(100,100); canvas5.setSize(100,100); // background of canvases canvas1.setBackground(Color.blue); canvas2.setBackground(Color.yellow); canvas3.setBackground(Color.magenta); canvas4.setBackground(Color.yellow); canvas5.setBackground(Color.blue); // canvases on frame add(canvas1); add(canvas2); add(canvas3); add(canvas4); add(canvas5); frame.add(this); frame.pack(); frame.setVisible(true); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); harness.check(getColorForComponent(robot, frame, canvas1), Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); harness.check(getColorForComponent(robot, frame, canvas2), Color.yellow); // check if the third component is properly shown on the panel harness.checkPoint("third component"); harness.check(getColorForComponent(robot, frame, canvas3), Color.magenta); // check if the fourth component is properly shown on the panel harness.checkPoint("fourth component"); harness.check(getColorForComponent(robot, frame, canvas4), Color.yellow); // check if the fifth component is properly shown on the panel harness.checkPoint("fifth component"); harness.check(getColorForComponent(robot, frame, canvas5), Color.blue); // vertical spaces between components // these are positive tests - background should be visible between components harness.checkPoint("space check #1"); harness.check(getColorBetweenComponents(robot, frame, canvas1, canvas2), Color.red); harness.checkPoint("space check #2"); harness.check(getColorBetweenComponents(robot, frame, canvas2, canvas3), Color.red); harness.checkPoint("space check #3"); harness.check(getColorBetweenComponents(robot, frame, canvas3, canvas4), Color.red); harness.checkPoint("space check #4"); harness.check(getColorBetweenComponents(robot, frame, canvas4, canvas5), Color.red); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Get color of a pixel located between two components. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component1 first tested component * @param component2 second tested component */ private Color getColorBetweenComponents(Robot robot, Frame frame, Component component1, Component component2) { // compute center of the first component Point p1 = computeCenterOfComponent(frame, component1); // compute center of the second component Point p2 = computeCenterOfComponent(frame, component2); // compute position of checked pixel int checkedPixelX = (p1.x + p2.x) >> 1; int checkedPixelY = (p1.y + p2.y) >> 1; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Compute coordinates of a pixel located in the middle of the component. * * @param frame frame where component is used * @param component tested component */ private Point computeCenterOfComponent(Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // return computed center (position of a checked pixel) return new Point(checkedPixelX, checkedPixelY); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param graphics the graphics context to use for painting */ @Override public void paint(Graphics graphics) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); graphics.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/GridLayout/toString.java0000644000175000001440000000356711670424313022511 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.GridLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.GridLayout; /** * Test of method {@link GridLayout#toString()} */ public class toString implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // test constructor without any parameter GridLayout gridLayout1 = new GridLayout(); gridLayout1.toString(); harness.check(gridLayout1.toString(), "java.awt.GridLayout[hgap=0,vgap=0,rows=1,cols=0]"); // test constructor with two parameters GridLayout gridLayout2 = new GridLayout(50, 50); gridLayout2.toString(); harness.check(gridLayout2.toString(), "java.awt.GridLayout[hgap=0,vgap=0,rows=50,cols=50]"); // test constructor with four parameters GridLayout gridLayout3 = new GridLayout(50, 50, 10, 20); gridLayout3.toString(); harness.check(gridLayout3.toString(), "java.awt.GridLayout[hgap=10,vgap=20,rows=50,cols=50]"); } } mauve-20140821/gnu/testlet/java/awt/GridLayout/minimumLayoutSize.java0000644000175000001440000000321611670424313024373 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.GridLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Container; import java.awt.Dimension; import java.awt.GridLayout; /** * Check the method {@link GridLayout#minimumLayoutSize(Container)} */ public class minimumLayoutSize implements Testlet { public void test(TestHarness harness) { Container container = new Container(); GridLayout layout = new GridLayout(); // The minimum width of a grid layout is the largest minimum width of any // of the components in the container times the number of columns, plus the // horizontal padding times the number of columns plus one, plus the left // and right insets of the target container. harness.check(layout.minimumLayoutSize(container), new Dimension(0, 0)); } } mauve-20140821/gnu/testlet/java/awt/GridLayout/PaintTestZeroVgap.java0000644000175000001440000002721611670424313024266 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.GridLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.GridLayout; /** * Test if five canvases are positioned correctly to a frame using GridLayout. * GridLayout object is constructed using zero vertical gaps and default * horizontal gaps between components (this should be also zero). * * Frame has following layout: *
  * +----------------+----------------+----------------+
  * |                |                |                |
  * |    Canvas 1    |    Canvas 2    |    Canvas 3    |
  * |                |                |                |
  * +----------------+----------------+----------------+
  * |                |                |   background   |
  * |    Canvas 4    |    Canvas 5    |     color      |
  * |                |                |                |
  * +----------------+----------------+----------------+
  * 
* * Position of five canvases is tested by checking pixel colors in places * marked by a star: *
  * +----------------+----------------+----------------+
  * |                |                |                |
  * |       *        *       *        *       *        |
  * |                |                |                |
  * +-------*--------*-------*--------+----------------+
  * |                |                |                |
  * |       *        *       *        |       *        |
  * |                |                |                |
  * +----------------+----------------+----------------+
  * 
*/ public class PaintTestZeroVgap extends Panel implements Testlet { /** * Serial version UID because Panel is serializable. */ private static final long serialVersionUID = 42L; /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT=250; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { GridLayout layout = new GridLayout(2, 3); layout.setVgap(0); this.setLayout(layout); setBackground(Color.red); Frame frame = new Frame(); // create five components and add them to the panel Canvas canvas1 = new Canvas(); Canvas canvas2 = new Canvas(); Canvas canvas3 = new Canvas(); Canvas canvas4 = new Canvas(); Canvas canvas5 = new Canvas(); // size of all five canvases canvas1.setSize(100,100); canvas2.setSize(100,100); canvas3.setSize(100,100); canvas4.setSize(100,100); canvas5.setSize(100,100); // background of canvases canvas1.setBackground(Color.blue); canvas2.setBackground(Color.yellow); canvas3.setBackground(Color.magenta); canvas4.setBackground(Color.yellow); canvas5.setBackground(Color.blue); // canvases on frame add(canvas1); add(canvas2); add(canvas3); add(canvas4); add(canvas5); frame.add(this); frame.pack(); frame.setVisible(true); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); harness.check(getColorForComponent(robot, frame, canvas1), Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); harness.check(getColorForComponent(robot, frame, canvas2), Color.yellow); // check if the third component is properly shown on the panel harness.checkPoint("third component"); harness.check(getColorForComponent(robot, frame, canvas3), Color.magenta); // check if the fourth component is properly shown on the panel harness.checkPoint("fourth component"); harness.check(getColorForComponent(robot, frame, canvas4), Color.yellow); // check if the fifth component is properly shown on the panel harness.checkPoint("fifth component"); harness.check(getColorForComponent(robot, frame, canvas5), Color.blue); // check background color harness.checkPoint("background"); harness.check(getBackgroundColor(robot, frame, canvas3, canvas5), Color.red); // horizontal spaces between components // these are negative tests - background should not be visible between components harness.checkPoint("space check #1"); harness.check(getColorBetweenComponents(robot, frame, canvas1, canvas2) != Color.red); harness.checkPoint("space check #2"); harness.check(getColorBetweenComponents(robot, frame, canvas2, canvas3) != Color.red); harness.checkPoint("space check #3"); harness.check(getColorBetweenComponents(robot, frame, canvas4, canvas5) != Color.red); // vertical spaces between components // these are negative tests - background should not be visible between components harness.checkPoint("space check #4"); harness.check(getColorBetweenComponents(robot, frame, canvas1, canvas4) != Color.red); harness.checkPoint("space check #5"); harness.check(getColorBetweenComponents(robot, frame, canvas2, canvas5) != Color.red); // other spaces between components // this is negative test too harness.checkPoint("space check #6"); harness.check(getColorBetweenComponents(robot, frame, canvas1, canvas5) != Color.red); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Get background color. Background is located under the third component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getBackgroundColor(Robot robot, Frame frame, Component component1, Component component2) { // compute the absolute coordinates of a component inside the frame Rectangle bounds1 = computeBounds(frame, component1); Rectangle bounds2 = computeBounds(frame, component2); // position of checked pixel int checkedPixelX = bounds1.x + bounds1.width / 2; int checkedPixelY = bounds2.y + bounds2.height / 2; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Get color of a pixel located between two components. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component1 first tested component * @param component2 second tested component */ private Color getColorBetweenComponents(Robot robot, Frame frame, Component component1, Component component2) { // compute center of the first component Point p1 = computeCenterOfComponent(frame, component1); // compute center of the second component Point p2 = computeCenterOfComponent(frame, component2); // compute position of checked pixel int checkedPixelX = (p1.x + p2.x) >> 1; int checkedPixelY = (p1.y + p2.y) >> 1; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Compute coordinates of a pixel located in the middle of the component. * * @param frame frame where component is used * @param component tested component */ private Point computeCenterOfComponent(Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // return computed center (position of a checked pixel) return new Point(checkedPixelX, checkedPixelY); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param graphics the graphics context to use for painting */ @Override public void paint(Graphics graphics) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); graphics.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/GridLayout/PaintTestBiggerHgap.java0000644000175000001440000002762711670424313024536 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.GridLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.GridLayout; /** * Test if five canvases are positioned correctly to a frame using GridLayout. * GridLayout object is constructed using bigger horizontal gaps * between components. * * Frame has following layout: *
  * +----------------+---+----------------+---+----------------+
  * |                |   |                |   |                |
  * |    Canvas 1    | S |    Canvas 2    | S |    Canvas 3    |
  * |                | p |                | p |                |
  * +----------------+ a +----------------+ a +----------------+
  * |                | c |                | c     background   |
  * |    Canvas 4    | e |    Canvas 5    | e       color      |
  * |                |   |                |                    |
  * +----------------+---+----------------+--------------------+
  * 
* * Position of five canvases is tested by checking pixel colors in places * marked by a star: *
  * +----------------+---+----------------+---+----------------+
  * |                |   |                |   |                |
  * |       *        | * |       *        | * |       *        |
  * |                |   |                |   |                |
  * +-------*--------+ * +-------*--------+ * +----------------+
  * |                |   |                |                    |
  * |       *        | * |       *        |           *        |
  * |                |   |                |                    |
  * +----------------+---+----------------+--------------------+
  * 
*/ public class PaintTestBiggerHgap extends Panel implements Testlet { /** * Serial version UID because Panel is serializable. */ private static final long serialVersionUID = 42L; /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT=250; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { GridLayout layout = new GridLayout(2, 3); layout.setHgap(50); this.setLayout(layout); setBackground(Color.red); Frame frame = new Frame(); // create five components and add them to the panel Canvas canvas1 = new Canvas(); Canvas canvas2 = new Canvas(); Canvas canvas3 = new Canvas(); Canvas canvas4 = new Canvas(); Canvas canvas5 = new Canvas(); // size of all five canvases canvas1.setSize(100,100); canvas2.setSize(100,100); canvas3.setSize(100,100); canvas4.setSize(100,100); canvas5.setSize(100,100); // background of canvases canvas1.setBackground(Color.blue); canvas2.setBackground(Color.yellow); canvas3.setBackground(Color.magenta); canvas4.setBackground(Color.yellow); canvas5.setBackground(Color.blue); // canvases on frame add(canvas1); add(canvas2); add(canvas3); add(canvas4); add(canvas5); frame.add(this); frame.pack(); frame.setVisible(true); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); harness.check(getColorForComponent(robot, frame, canvas1), Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); harness.check(getColorForComponent(robot, frame, canvas2), Color.yellow); // check if the third component is properly shown on the panel harness.checkPoint("third component"); harness.check(getColorForComponent(robot, frame, canvas3), Color.magenta); // check if the fourth component is properly shown on the panel harness.checkPoint("fourth component"); harness.check(getColorForComponent(robot, frame, canvas4), Color.yellow); // check if the fifth component is properly shown on the panel harness.checkPoint("fifth component"); harness.check(getColorForComponent(robot, frame, canvas5), Color.blue); // check background color harness.checkPoint("background"); harness.check(getBackgroundColor(robot, frame, canvas3, canvas5), Color.red); // horizontal spaces between components // these are positive tests - background should be visible between components harness.checkPoint("space check #1"); harness.check(getColorBetweenComponents(robot, frame, canvas1, canvas2), Color.red); harness.checkPoint("space check #2"); harness.check(getColorBetweenComponents(robot, frame, canvas2, canvas3), Color.red); harness.checkPoint("space check #3"); harness.check(getColorBetweenComponents(robot, frame, canvas4, canvas5), Color.red); // vertical spaces between components // these are negative tests - background should not be visible between components harness.checkPoint("space check #4"); harness.check(getColorBetweenComponents(robot, frame, canvas1, canvas4) != Color.red); harness.checkPoint("space check #5"); harness.check(getColorBetweenComponents(robot, frame, canvas2, canvas5) != Color.red); // other spaces between components // these are positive tests - background should be visible between components harness.checkPoint("space check #6"); harness.check(getColorBetweenComponents(robot, frame, canvas1, canvas5), Color.red); harness.checkPoint("space check #7"); harness.check(getColorBetweenComponents(robot, frame, canvas3, canvas5), Color.red); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Get background color. Background is located under the third component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getBackgroundColor(Robot robot, Frame frame, Component component1, Component component2) { // compute the absolute coordinates of a component inside the frame Rectangle bounds1 = computeBounds(frame, component1); Rectangle bounds2 = computeBounds(frame, component2); // position of checked pixel int checkedPixelX = bounds1.x + bounds1.width / 2; int checkedPixelY = bounds2.y + bounds2.height / 2; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Get color of a pixel located between two components. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component1 first tested component * @param component2 second tested component */ private Color getColorBetweenComponents(Robot robot, Frame frame, Component component1, Component component2) { // compute center of the first component Point p1 = computeCenterOfComponent(frame, component1); // compute center of the second component Point p2 = computeCenterOfComponent(frame, component2); // compute position of checked pixel int checkedPixelX = (p1.x + p2.x) >> 1; int checkedPixelY = (p1.y + p2.y) >> 1; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Compute coordinates of a pixel located in the middle of the component. * * @param frame frame where component is used * @param component tested component */ private Point computeCenterOfComponent(Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // return computed center (position of a checked pixel) return new Point(checkedPixelX, checkedPixelY); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param graphics the graphics context to use for painting */ @Override public void paint(Graphics graphics) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); graphics.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/GridLayout/getColumns.java0000644000175000001440000000320511671373606023016 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.GridLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.GridLayout; /** * Basic checks for the {@link GridLayout#getColumns()} method in the {@link GridLayout} class. */ public class getColumns implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { GridLayout layout = new GridLayout(); harness.check(layout.getColumns(), 0); layout.setColumns(10); harness.check(layout.getColumns(), 10); layout.setColumns(0); harness.check(layout.getColumns(), 0); layout.setColumns(-10); harness.check(layout.getColumns(), -10); layout = new GridLayout(10, 20); harness.check(layout.getColumns(), 20); } } mauve-20140821/gnu/testlet/java/awt/GridLayout/PaintTestZeroGaps.java0000644000175000001440000002717511670424313024267 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.GridLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.GridLayout; /** * Test if five canvases are positioned correctly to a frame using GridLayout. * GridLayout object is constructed using zero horizontal and vertical gaps * between components. * * Frame has following layout: *
  * +----------------+----------------+----------------+
  * |                |                |                |
  * |    Canvas 1    |    Canvas 2    |    Canvas 3    |
  * |                |                |                |
  * +----------------+----------------+----------------+
  * |                |                |   background   |
  * |    Canvas 4    |    Canvas 5    |     color      |
  * |                |                |                |
  * +----------------+----------------+----------------+
  * 
* * Position of five canvases is tested by checking pixel colors in places * marked by a star: *
  * +----------------+----------------+----------------+
  * |                |                |                |
  * |       *        *       *        *       *        |
  * |                |                |                |
  * +-------*--------*-------*--------+----------------+
  * |                |                |                |
  * |       *        *       *        |       *        |
  * |                |                |                |
  * +----------------+----------------+----------------+
  * 
*/ public class PaintTestZeroGaps extends Panel implements Testlet { /** * Serial version UID because Panel is serializable. */ private static final long serialVersionUID = 42L; /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT=250; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { GridLayout layout = new GridLayout(2, 3); layout.setHgap(0); layout.setVgap(0); this.setLayout(layout); setBackground(Color.red); Frame frame = new Frame(); // create five components and add them to the panel Canvas canvas1 = new Canvas(); Canvas canvas2 = new Canvas(); Canvas canvas3 = new Canvas(); Canvas canvas4 = new Canvas(); Canvas canvas5 = new Canvas(); // size of all five canvases canvas1.setSize(100,100); canvas2.setSize(100,100); canvas3.setSize(100,100); canvas4.setSize(100,100); canvas5.setSize(100,100); // background of canvases canvas1.setBackground(Color.blue); canvas2.setBackground(Color.yellow); canvas3.setBackground(Color.magenta); canvas4.setBackground(Color.yellow); canvas5.setBackground(Color.blue); // canvases on frame add(canvas1); add(canvas2); add(canvas3); add(canvas4); add(canvas5); frame.add(this); frame.pack(); frame.setVisible(true); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); harness.check(getColorForComponent(robot, frame, canvas1), Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); harness.check(getColorForComponent(robot, frame, canvas2), Color.yellow); // check if the third component is properly shown on the panel harness.checkPoint("third component"); harness.check(getColorForComponent(robot, frame, canvas3), Color.magenta); // check if the fourth component is properly shown on the panel harness.checkPoint("fourth component"); harness.check(getColorForComponent(robot, frame, canvas4), Color.yellow); // check if the fifth component is properly shown on the panel harness.checkPoint("fifth component"); harness.check(getColorForComponent(robot, frame, canvas5), Color.blue); // check background color harness.checkPoint("background"); harness.check(getBackgroundColor(robot, frame, canvas3, canvas5), Color.red); // horizontal spaces between components // these are negative tests - background should not be visible between components harness.checkPoint("space check #1"); harness.check(getColorBetweenComponents(robot, frame, canvas1, canvas2) != Color.red); harness.checkPoint("space check #2"); harness.check(getColorBetweenComponents(robot, frame, canvas2, canvas3) != Color.red); harness.checkPoint("space check #3"); harness.check(getColorBetweenComponents(robot, frame, canvas4, canvas5) != Color.red); // vertical spaces between components // these are negative tests - background should not be visible between components harness.checkPoint("space check #4"); harness.check(getColorBetweenComponents(robot, frame, canvas1, canvas4) != Color.red); harness.checkPoint("space check #5"); harness.check(getColorBetweenComponents(robot, frame, canvas2, canvas5) != Color.red); // other spaces between components // this is negative test too harness.checkPoint("space check #6"); harness.check(getColorBetweenComponents(robot, frame, canvas1, canvas5) != Color.red); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Get background color. Background is located under the third component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getBackgroundColor(Robot robot, Frame frame, Component component1, Component component2) { // compute the absolute coordinates of a component inside the frame Rectangle bounds1 = computeBounds(frame, component1); Rectangle bounds2 = computeBounds(frame, component2); // position of checked pixel int checkedPixelX = bounds1.x + bounds1.width / 2; int checkedPixelY = bounds2.y + bounds2.height / 2; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Get color of a pixel located between two components. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component1 first tested component * @param component2 second tested component */ private Color getColorBetweenComponents(Robot robot, Frame frame, Component component1, Component component2) { // compute center of the first component Point p1 = computeCenterOfComponent(frame, component1); // compute center of the second component Point p2 = computeCenterOfComponent(frame, component2); // compute position of checked pixel int checkedPixelX = (p1.x + p2.x) >> 1; int checkedPixelY = (p1.y + p2.y) >> 1; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Compute coordinates of a pixel located in the middle of the component. * * @param frame frame where component is used * @param component tested component */ private Point computeCenterOfComponent(Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // return computed center (position of a checked pixel) return new Point(checkedPixelX, checkedPixelY); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param graphics the graphics context to use for painting */ @Override public void paint(Graphics graphics) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); graphics.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/GridLayout/PaintTestTwoRowsFiveCanvases.java0000644000175000001440000002412511670424313026447 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.GridLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.GridLayout; /** * Test if five canvases are positioned correctly to a frame using GridLayout. */ public class PaintTestTwoRowsFiveCanvases extends Panel implements Testlet { /** * Serial version UID because Panel is serializable. */ private static final long serialVersionUID = 42L; /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT=250; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { this.setLayout(new GridLayout(2, 3)); setBackground(Color.red); Frame frame = new Frame(); // create five components and add them to the panel Canvas canvas1 = new Canvas(); Canvas canvas2 = new Canvas(); Canvas canvas3 = new Canvas(); Canvas canvas4 = new Canvas(); Canvas canvas5 = new Canvas(); // size of all five canvases canvas1.setSize(100,100); canvas2.setSize(100,100); canvas3.setSize(100,100); canvas4.setSize(100,100); canvas5.setSize(100,100); // background of canvases canvas1.setBackground(Color.blue); canvas2.setBackground(Color.yellow); canvas3.setBackground(Color.magenta); canvas4.setBackground(Color.yellow); canvas5.setBackground(Color.blue); // canvases on frame add(canvas1); add(canvas2); add(canvas3); add(canvas4); add(canvas5); frame.add(this); frame.pack(); frame.setVisible(true); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); harness.check(getColorForComponent(robot, frame, canvas1), Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); harness.check(getColorForComponent(robot, frame, canvas2), Color.yellow); // check if the third component is properly shown on the panel harness.checkPoint("third component"); harness.check(getColorForComponent(robot, frame, canvas3), Color.magenta); // check if the fourth component is properly shown on the panel harness.checkPoint("fourth component"); harness.check(getColorForComponent(robot, frame, canvas4), Color.yellow); // check if the fifth component is properly shown on the panel harness.checkPoint("fifth component"); harness.check(getColorForComponent(robot, frame, canvas5), Color.blue); // vertical spaces between components // these are negative tests - background should not be visible between components harness.checkPoint("space check #1"); harness.check(getColorBetweenComponents(robot, frame, canvas1, canvas2) != Color.red); harness.checkPoint("space check #2"); harness.check(getColorBetweenComponents(robot, frame, canvas2, canvas3) != Color.red); harness.checkPoint("space check #3"); harness.check(getColorBetweenComponents(robot, frame, canvas3, canvas4) != Color.red); harness.checkPoint("space check #4"); harness.check(getColorBetweenComponents(robot, frame, canvas4, canvas5) != Color.red); harness.checkPoint("space check #5"); harness.check(getColorBetweenComponents(robot, frame, canvas1, canvas4) != Color.red); harness.checkPoint("space check #6"); harness.check(getColorBetweenComponents(robot, frame, canvas2, canvas5) != Color.red); // check background color harness.checkPoint("background"); harness.check(getBackgroundColor(robot, frame, canvas3, canvas5), Color.red); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Get background color. Background is located under the third component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getBackgroundColor(Robot robot, Frame frame, Component component1, Component component2) { // compute the absolute coordinates of a component inside the frame Rectangle bounds1 = computeBounds(frame, component1); Rectangle bounds2 = computeBounds(frame, component2); // position of checked pixel int checkedPixelX = bounds1.x + bounds1.width / 2; int checkedPixelY = bounds2.y + bounds2.height / 2; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Get color of a pixel located between two components. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component1 first tested component * @param component2 second tested component */ private Color getColorBetweenComponents(Robot robot, Frame frame, Component component1, Component component2) { // compute center of the first component Point p1 = computeCenterOfComponent(frame, component1); // compute center of the second component Point p2 = computeCenterOfComponent(frame, component2); // compute position of checked pixel int checkedPixelX = (p1.x + p2.x) >> 1; int checkedPixelY = (p1.y + p2.y) >> 1; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Compute coordinates of a pixel located in the middle of the component. * * @param frame frame where component is used * @param component tested component */ private Point computeCenterOfComponent(Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // return computed center (position of a checked pixel) return new Point(checkedPixelX, checkedPixelY); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param graphics the graphics context to use for painting */ @Override public void paint(Graphics graphics) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); graphics.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/GridLayout/PaintTestOneRowBiggerHgap.java0000644000175000001440000002150211670424313025652 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.GridLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.GridLayout; /** * Test if five canvases are positioned correctly to a frame using GridLayout. */ public class PaintTestOneRowBiggerHgap extends Panel implements Testlet { /** * Serial version UID because Panel is serializable. */ private static final long serialVersionUID = 42L; /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT=250; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { GridLayout layout = new GridLayout(); layout.setHgap(50); this.setLayout(layout); setBackground(Color.red); Frame frame = new Frame(); // create five components and add them to the panel Canvas canvas1 = new Canvas(); Canvas canvas2 = new Canvas(); Canvas canvas3 = new Canvas(); Canvas canvas4 = new Canvas(); Canvas canvas5 = new Canvas(); // size of all five canvases canvas1.setSize(100,100); canvas2.setSize(100,100); canvas3.setSize(100,100); canvas4.setSize(100,100); canvas5.setSize(100,100); // background of canvases canvas1.setBackground(Color.blue); canvas2.setBackground(Color.yellow); canvas3.setBackground(Color.magenta); canvas4.setBackground(Color.yellow); canvas5.setBackground(Color.blue); // canvases on frame add(canvas1); add(canvas2); add(canvas3); add(canvas4); add(canvas5); frame.add(this); frame.pack(); frame.setVisible(true); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); harness.check(getColorForComponent(robot, frame, canvas1), Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); harness.check(getColorForComponent(robot, frame, canvas2), Color.yellow); // check if the third component is properly shown on the panel harness.checkPoint("third component"); harness.check(getColorForComponent(robot, frame, canvas3), Color.magenta); // check if the fourth component is properly shown on the panel harness.checkPoint("fourth component"); harness.check(getColorForComponent(robot, frame, canvas4), Color.yellow); // check if the fifth component is properly shown on the panel harness.checkPoint("fifth component"); harness.check(getColorForComponent(robot, frame, canvas5), Color.blue); // vertical spaces between components // these are positive tests - background should be visible between components harness.checkPoint("space check #1"); harness.check(getColorBetweenComponents(robot, frame, canvas1, canvas2), Color.red); harness.checkPoint("space check #2"); harness.check(getColorBetweenComponents(robot, frame, canvas2, canvas3), Color.red); harness.checkPoint("space check #3"); harness.check(getColorBetweenComponents(robot, frame, canvas3, canvas4), Color.red); harness.checkPoint("space check #4"); harness.check(getColorBetweenComponents(robot, frame, canvas4, canvas5), Color.red); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Get color of a pixel located between two components. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component1 first tested component * @param component2 second tested component */ private Color getColorBetweenComponents(Robot robot, Frame frame, Component component1, Component component2) { // compute center of the first component Point p1 = computeCenterOfComponent(frame, component1); // compute center of the second component Point p2 = computeCenterOfComponent(frame, component2); // compute position of checked pixel int checkedPixelX = (p1.x + p2.x) >> 1; int checkedPixelY = (p1.y + p2.y) >> 1; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Compute coordinates of a pixel located in the middle of the component. * * @param frame frame where component is used * @param component tested component */ private Point computeCenterOfComponent(Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // return computed center (position of a checked pixel) return new Point(checkedPixelX, checkedPixelY); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param graphics the graphics context to use for painting */ @Override public void paint(Graphics graphics) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); graphics.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/GridLayout/getRows.java0000644000175000001440000000343111671373606022331 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.GridLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.GridLayout; /** * Basic checks for the {@link GridLayout#getRows()} method in the {@link GridLayout} class. */ public class getRows implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { GridLayout layout = new GridLayout(); harness.check(layout.getRows(), 1); layout.setRows(10); harness.check(layout.getRows(), 10); try { layout.setRows(0); // should not happen harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // nothing happens harness.check(layout.getRows(), 10); layout.setRows(-10); harness.check(layout.getRows(), -10); layout = new GridLayout(10, 20); harness.check(layout.getRows(), 10); } } mauve-20140821/gnu/testlet/java/awt/GridLayout/PaintTestBiggerGaps.java0000644000175000001440000003027011670424313024535 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.GridLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.GridLayout; /** * Test if five canvases are positioned correctly to a frame using GridLayout. * GridLayout object is constructed using bigger horizontal and vertical gaps * between components. * * Frame has following layout: *
  * +----------------+---+----------------+---+----------------+
  * |                |   |                |   |                |
  * |    Canvas 1    |   |    Canvas 2    |   |    Canvas 3    |
  * |                | S |                | S |                |
  * +----------------+ p +----------------+ p +----------------+
  * |     Space        a       Space        a       Space      |
  * +----------------+ c +----------------+ c                  |
  * |                | e |                | e     background   |
  * |    Canvas 4    |   |    Canvas 5    |         color      |
  * |                |   |                |                    |
  * +----------------+---+----------------+--------------------+
  * 
* * Position of five canvases is tested by checking pixel colors in places * marked by a star: *
  * +----------------+---+----------------+---+----------------+
  * |                |   |                |   |                |
  * |       *        | * |       *        | * |       *        |
  * |                |   |                |   |                |
  * +----------------+   +----------------+   +----------------+
  * |       *          *         *          *                  |
  * +----------------+   +----------------+                    |
  * |                |   |                |                    |
  * |       *        | * |       *        |           *        |
  * |                |   |                |                    |
  * +----------------+---+----------------+--------------------+
  * 
*/ public class PaintTestBiggerGaps extends Panel implements Testlet { /** * Serial version UID because Panel is serializable. */ private static final long serialVersionUID = 42L; /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT=250; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { GridLayout layout = new GridLayout(2, 3); layout.setHgap(50); layout.setVgap(50); this.setLayout(layout); setBackground(Color.red); Frame frame = new Frame(); // create five components and add them to the panel Canvas canvas1 = new Canvas(); Canvas canvas2 = new Canvas(); Canvas canvas3 = new Canvas(); Canvas canvas4 = new Canvas(); Canvas canvas5 = new Canvas(); // size of all five canvases canvas1.setSize(100,100); canvas2.setSize(100,100); canvas3.setSize(100,100); canvas4.setSize(100,100); canvas5.setSize(100,100); // background of canvases canvas1.setBackground(Color.blue); canvas2.setBackground(Color.yellow); canvas3.setBackground(Color.magenta); canvas4.setBackground(Color.yellow); canvas5.setBackground(Color.blue); // canvases on frame add(canvas1); add(canvas2); add(canvas3); add(canvas4); add(canvas5); frame.add(this); frame.pack(); frame.setVisible(true); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); harness.check(getColorForComponent(robot, frame, canvas1), Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); harness.check(getColorForComponent(robot, frame, canvas2), Color.yellow); // check if the third component is properly shown on the panel harness.checkPoint("third component"); harness.check(getColorForComponent(robot, frame, canvas3), Color.magenta); // check if the fourth component is properly shown on the panel harness.checkPoint("fourth component"); harness.check(getColorForComponent(robot, frame, canvas4), Color.yellow); // check if the fifth component is properly shown on the panel harness.checkPoint("fifth component"); harness.check(getColorForComponent(robot, frame, canvas5), Color.blue); // check background color harness.checkPoint("background"); harness.check(getBackgroundColor(robot, frame, canvas3, canvas5), Color.red); // horizontal spaces between components // these are positive tests - background should be visible between components harness.checkPoint("space check #1"); harness.check(getColorBetweenComponents(robot, frame, canvas1, canvas2), Color.red); harness.checkPoint("space check #2"); harness.check(getColorBetweenComponents(robot, frame, canvas2, canvas3), Color.red); harness.checkPoint("space check #3"); harness.check(getColorBetweenComponents(robot, frame, canvas4, canvas5), Color.red); // vertical spaces between components // these are positive tests - background should be visible between components harness.checkPoint("space check #4"); harness.check(getColorBetweenComponents(robot, frame, canvas1, canvas4), Color.red); harness.checkPoint("space check #5"); harness.check(getColorBetweenComponents(robot, frame, canvas2, canvas5), Color.red); // other spaces between components // these are positive tests - background should be visible between components harness.checkPoint("space check #6"); harness.check(getColorBetweenComponents(robot, frame, canvas1, canvas5), Color.red); harness.checkPoint("space check #7"); harness.check(getColorBetweenComponents(robot, frame, canvas3, canvas5), Color.red); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Get background color. Background is located under the third component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getBackgroundColor(Robot robot, Frame frame, Component component1, Component component2) { // compute the absolute coordinates of a component inside the frame Rectangle bounds1 = computeBounds(frame, component1); Rectangle bounds2 = computeBounds(frame, component2); // position of checked pixel int checkedPixelX = bounds1.x + bounds1.width / 2; int checkedPixelY = bounds2.y + bounds2.height / 2; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Get color of a pixel located between two components. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component1 first tested component * @param component2 second tested component */ private Color getColorBetweenComponents(Robot robot, Frame frame, Component component1, Component component2) { // compute center of the first component Point p1 = computeCenterOfComponent(frame, component1); // compute center of the second component Point p2 = computeCenterOfComponent(frame, component2); // compute position of checked pixel int checkedPixelX = (p1.x + p2.x) >> 1; int checkedPixelY = (p1.y + p2.y) >> 1; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Compute coordinates of a pixel located in the middle of the component. * * @param frame frame where component is used * @param component tested component */ private Point computeCenterOfComponent(Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // return computed center (position of a checked pixel) return new Point(checkedPixelX, checkedPixelY); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param graphics the graphics context to use for painting */ @Override public void paint(Graphics graphics) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); graphics.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/GridLayout/PaintTestOneRowFiveCanvases.java0000644000175000001440000002142711670424313026236 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.GridLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.GridLayout; /** * Test if five canvases are positioned correctly to a frame using GridLayout. */ public class PaintTestOneRowFiveCanvases extends Panel implements Testlet { /** * Serial version UID because Panel is serializable. */ private static final long serialVersionUID = 42L; /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT=250; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { this.setLayout(new GridLayout()); setBackground(Color.red); Frame frame = new Frame(); // create five components and add them to the panel Canvas canvas1 = new Canvas(); Canvas canvas2 = new Canvas(); Canvas canvas3 = new Canvas(); Canvas canvas4 = new Canvas(); Canvas canvas5 = new Canvas(); // size of all five canvases canvas1.setSize(100,100); canvas2.setSize(100,100); canvas3.setSize(100,100); canvas4.setSize(100,100); canvas5.setSize(100,100); // background of canvases canvas1.setBackground(Color.blue); canvas2.setBackground(Color.yellow); canvas3.setBackground(Color.magenta); canvas4.setBackground(Color.yellow); canvas5.setBackground(Color.blue); // canvases on frame add(canvas1); add(canvas2); add(canvas3); add(canvas4); add(canvas5); frame.add(this); frame.pack(); frame.setVisible(true); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); harness.check(getColorForComponent(robot, frame, canvas1), Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); harness.check(getColorForComponent(robot, frame, canvas2), Color.yellow); // check if the third component is properly shown on the panel harness.checkPoint("third component"); harness.check(getColorForComponent(robot, frame, canvas3), Color.magenta); // check if the fourth component is properly shown on the panel harness.checkPoint("fourth component"); harness.check(getColorForComponent(robot, frame, canvas4), Color.yellow); // check if the fifth component is properly shown on the panel harness.checkPoint("fifth component"); harness.check(getColorForComponent(robot, frame, canvas5), Color.blue); // vertical spaces between components // these are negative tests - background should not be visible between components harness.checkPoint("space check #1"); harness.check(getColorBetweenComponents(robot, frame, canvas1, canvas2) != Color.red); harness.checkPoint("space check #2"); harness.check(getColorBetweenComponents(robot, frame, canvas2, canvas3) != Color.red); harness.checkPoint("space check #3"); harness.check(getColorBetweenComponents(robot, frame, canvas3, canvas4) != Color.red); harness.checkPoint("space check #4"); harness.check(getColorBetweenComponents(robot, frame, canvas4, canvas5) != Color.red); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Get color of a pixel located between two components. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component1 first tested component * @param component2 second tested component */ private Color getColorBetweenComponents(Robot robot, Frame frame, Component component1, Component component2) { // compute center of the first component Point p1 = computeCenterOfComponent(frame, component1); // compute center of the second component Point p2 = computeCenterOfComponent(frame, component2); // compute position of checked pixel int checkedPixelX = (p1.x + p2.x) >> 1; int checkedPixelY = (p1.y + p2.y) >> 1; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Compute coordinates of a pixel located in the middle of the component. * * @param frame frame where component is used * @param component tested component */ private Point computeCenterOfComponent(Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // return computed center (position of a checked pixel) return new Point(checkedPixelX, checkedPixelY); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param graphics the graphics context to use for painting */ @Override public void paint(Graphics graphics) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); graphics.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/GridLayout/addLayoutComponent.java0000644000175000001440000000705111663724606024513 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.GridLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.GridLayout; import java.awt.Component; import java.awt.Canvas; import java.awt.Button; import java.awt.Panel; /** * Check for the functionality of method GridLayout.addLayoutComponent */ public class addLayoutComponent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testButton(harness); testCanvas(harness); } /** * Test the method GridLayout.addLayoutComponent for a Button widget. * * @param harness the test harness (null not permitted). */ private void testButton(TestHarness harness) { harness.checkPoint("removeLayoutComponent(Button)"); GridLayout layout = new GridLayout(); Button component = new Button(); // Check the add/remove component method using all possible constraints. checkAllPossibleConstraints(harness, layout, component); } /** * Test the method GridLayout.addLayoutComponent for a Canvas widget. * * @param harness the test harness (null not permitted). */ private void testCanvas(TestHarness harness) { harness.checkPoint("removeLayoutComponent(Canvas)"); GridLayout layout = new GridLayout(); Canvas component = new Canvas(); // Check the add/remove component method using all possible constraints. checkAllPossibleConstraints(harness, layout, component); } /** * Check the add/remove component method using all possible constraints. * * @param harness the test harness (null not permitted). * @param layout instance of GridLayout manager * @param component selected component */ private void checkAllPossibleConstraints(TestHarness harness, GridLayout layout, Component component) { checkAddRemove(harness, layout, component, ""); checkAddRemove(harness, layout, component, " "); checkAddRemove(harness, layout, component, "xyzzy"); checkAddRemove(harness, layout, component, null); } /** * Add specified component to the layout manager and then remove this component. * * @param harness the test harness (null not permitted). * @param layout instance of GridLayout manager * @param component selected component * @param name component name */ private void checkAddRemove(TestHarness harness, GridLayout layout, Component component, String name) { try { layout.addLayoutComponent(name, component); } catch (IllegalArgumentException e) { harness.fail(e.toString()); } layout.removeLayoutComponent(component); } } mauve-20140821/gnu/testlet/java/awt/GridLayout/getVgap.java0000644000175000001440000000276011670424313022267 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.GridLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.GridLayout; /** * Basic checks for the {@link GridLayout#getVgap()} method in the {@link GridLayout} class. */ public class getVgap implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { GridLayout layout = new GridLayout(); layout.setVgap(42); harness.check(layout.getVgap(), 42); layout.setVgap(-42); harness.check(layout.getVgap(), -42); layout.setVgap(0); harness.check(layout.getVgap(), 0); } } mauve-20140821/gnu/testlet/java/awt/List/0000755000175000001440000000000012375316426016662 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/List/addActionListener.java0000644000175000001440000000430411700630321023102 0ustar dokousers// addActionListener.java -- // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.List; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if ActionListener could be registered for an AWT List. */ public class addActionListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { List list = new List(10); list.setBackground(Color.blue); // array which will be filled by registered action listeners ActionListener[] actionListeners; // get all registered action listeners actionListeners = list.getActionListeners(); harness.check(actionListeners.length, 0); // register new action listener list.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { // empty } @Override public String toString() { return "myActionListener"; } } ); // get all registered action listeners actionListeners = list.getActionListeners(); harness.check(actionListeners.length, 1); // check if the proper listener is used harness.check(actionListeners[0].toString(), "myActionListener"); } } mauve-20140821/gnu/testlet/java/awt/List/PaintTestEmptyList.java0000644000175000001440000000645111672415250023313 0ustar dokousers// PaintTest.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.4 package gnu.testlet.java.awt.List; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.List; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; /** * Test if empty {@link List} could be painted correctly. */ public class PaintTestEmptyList extends Panel implements Testlet { /** * Generated serial version UID. */ private static final long serialVersionUID = -6498456149126246476L; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); List list = new List(10); list.setBackground(Color.blue); add(list); frame.add(this); frame.pack(); frame.setVisible(true); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); Point loc = frame.getLocationOnScreen(); Rectangle bounds = list.getBounds(); Insets i = frame.getInsets(); bounds.x += loc.x + i.left; bounds.y += loc.y + i.top; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2 + 5; // move the mouse cursor to a tested pixel to show users what's checked robot.mouseMove(checkedPixelX, checkedPixelY); robot.waitForIdle(); // check the color of a pixel located in the button center Color labelColor = robot.getPixelColor(checkedPixelX, checkedPixelY); harness.check(labelColor.equals(Color.blue)); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necessary to clean up the component from desktop frame.dispose(); } @Override public void paint(Graphics graphics) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); graphics.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/List/ScrollbarPaintTest.java0000644000175000001440000000565012144445271023305 0ustar dokousers/* ScrollbarPaintTest.java -- Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GUI, JDK 1.0 package gnu.testlet.java.awt.List; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.List; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; public class ScrollbarPaintTest extends Panel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); List list = new List(2); list.add("1"); list.add("2"); list.add("3"); add(list); frame.add(this); frame.pack(); frame.setVisible(true); Robot robot = harness.createRobot(); robot.delay(1000); robot.waitForIdle(); Rectangle bounds = list.getBounds(); Insets i = frame.getInsets(); Point loc = frame.getLocationOnScreen(); loc.x += i.left + bounds.x; loc.y += i.top + bounds.y; bounds.x += i.left; bounds.y += i.top; // position of checked pixel int checkedPixelX = loc.x + bounds.width - i.left - 2; int checkedPixelY = loc.y + bounds.height / 2; // move the mouse cursor to a tested pixel to show users what's checked robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(1000); robot.waitForIdle(); Color scroll = robot.getPixelColor(checkedPixelX, checkedPixelY); // Check if scrollbar was painted. harness.check(!(scroll.equals(Color.white))); harness.check(!(scroll.equals(Color.red))); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necessary to clean up the component from desktop frame.dispose(); } public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/List/PaintTestFilledList.java0000644000175000001440000000657111672415250023417 0ustar dokousers// PaintTest.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.4 package gnu.testlet.java.awt.List; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.List; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; /** * Test if filled {@link List} could be painted correctly. */ public class PaintTestFilledList extends Panel implements Testlet { /** * Generated serial version UID. */ private static final long serialVersionUID = -6498456149126246476L; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); List list = new List(10); list.setBackground(Color.blue); for (int i = 0; i < 10; i++) { list.add("item # " + i); } add(list); frame.add(this); frame.pack(); frame.setVisible(true); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); Point loc = frame.getLocationOnScreen(); Rectangle bounds = list.getBounds(); Insets i = frame.getInsets(); bounds.x += loc.x + i.left; bounds.y += loc.y + i.top; // position of checked pixel int checkedPixelX = bounds.x + bounds.width * 2 / 3; int checkedPixelY = bounds.y + bounds.height / 2 + 5; // move the mouse cursor to a tested pixel to show users what's checked robot.mouseMove(checkedPixelX, checkedPixelY); robot.waitForIdle(); // check the color of a pixel located in the button center Color labelColor = robot.getPixelColor(checkedPixelX, checkedPixelY); harness.check(labelColor.equals(Color.blue)); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necessary to clean up the component from desktop frame.dispose(); } @Override public void paint(Graphics graphics) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); graphics.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/List/addItemListener.java0000644000175000001440000000424311700630321022565 0ustar dokousers// addItemListener.java -- // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.List; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if ItemListener could be registered for an AWT List. */ public class addItemListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { List list = new List(10); list.setBackground(Color.blue); // array which will be filled by registered action listeners ItemListener[] itemListeners; // get all registered action listeners itemListeners = list.getItemListeners(); harness.check(itemListeners.length, 0); // register new action listener list.addItemListener( new ItemListener() { public void itemStateChanged(ItemEvent e) { // empty } @Override public String toString() { return "myItemListener"; } } ); // get all registered action listeners itemListeners = list.getItemListeners(); harness.check(itemListeners.length, 1); // check if the proper listener is used harness.check(itemListeners[0].toString(), "myItemListener"); } } mauve-20140821/gnu/testlet/java/awt/List/testSelected.java0000644000175000001440000003015610462423762022157 0ustar dokousers/* testSelected.java -- Copyright (C) 2006 RedHat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK 1.4E package gnu.testlet.java.awt.List; import java.awt.List; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class testSelected implements Testlet { private List list; public void test(TestHarness harness) { test1(harness); test2(harness); test3(harness); test4(harness); test5(harness); test6(harness); test7(harness); test8(harness); test9(harness); test10(harness); test11(harness); test12(harness); test13(harness); test14(harness); test15(harness); test16(harness); } public void test1(TestHarness harness) { // Testing that only one item can be selected when // multipleMode is set to false. list = new List(); harness.check (list.getSelectedIndex() == -1); list.setMultipleMode(false); list.add("item1"); list.add("item2"); list.select(0); list.select(1); harness.check(list.isSelected(0), false); harness.check(list.isSelected(1), true); } public void test2(TestHarness harness) { // Testing that more than one item can be selected when // multipleMode is set to true. list = new List(); list.setMultipleMode(true); list.add("item1"); list.add("item2"); list.select(0); list.select(1); harness.check(list.isSelected(0), true); harness.check(list.isSelected(1), true); } public void test3(TestHarness harness) { // Testing that only one item can be selected when // multipleMode is set to false, regardless of the order // that the selection is made. list = new List(); list.setMultipleMode(false); list.add("item1"); list.add("item2"); list.add("item3"); list.select(0); list.select(2); list.select(1); harness.check(list.isSelected(0), false); harness.check(list.isSelected(1), true); harness.check(list.isSelected(2), false); } public void test4(TestHarness harness) { // Testing that more than one item can be selected when // multipleMode is set to true, regardless of the order // that the selection is made. list = new List(); list.setMultipleMode(true); list.add("item1"); list.add("item2"); list.add("item3"); list.select(0); list.select(2); list.select(1); harness.check(list.isSelected(0), true); harness.check(list.isSelected(1), true); harness.check(list.isSelected(2), true); } public void test5(TestHarness harness) { // Testing that deselect works on one item when // multipleMode is set to false. list = new List(); list.setMultipleMode(false); list.add("item1"); list.add("item2"); list.select(0); list.select(1); harness.check(list.isSelected(0), false); harness.check(list.isSelected(1), true); list.deselect(1); harness.check(list.isSelected(0), false); harness.check(list.isSelected(1), false); } public void test6(TestHarness harness) { // Testing that deslect works on one item when // multipleMode is set to true. list = new List(); list.setMultipleMode(true); list.add("item1"); list.add("item2"); list.select(0); list.select(1); harness.check(list.isSelected(0), true); harness.check(list.isSelected(1), true); list.deselect(1); harness.check(list.isSelected(0), true); harness.check(list.isSelected(1), false); } public void test7(TestHarness harness) { // Testing that deselect works on more than one item when // multipleMode is set to true. list = new List(); list.setMultipleMode(true); list.add("item1"); list.add("item2"); list.add("item3"); list.add("item4"); list.select(0); list.select(1); list.select(2); list.select(3); harness.check(list.isSelected(0), true); harness.check(list.isSelected(1), true); harness.check(list.isSelected(2), true); harness.check(list.isSelected(3), true); list.deselect(1); list.deselect(3); harness.check(list.isSelected(0), true); harness.check(list.isSelected(1), false); harness.check(list.isSelected(2), true); harness.check(list.isSelected(3), false); } public void test8(TestHarness harness) { // Again, testing that deselect works on more than one // item when Multimode is set to true. list = new List(); list.setMultipleMode(true); list.add("item1"); list.add("item2"); list.add("item3"); list.select(0); list.select(1); list.select(2); harness.check(list.isSelected(0), true); harness.check(list.isSelected(1), true); harness.check(list.isSelected(2), true); list.deselect(0); list.deselect(1); harness.check(list.isSelected(0), false); harness.check(list.isSelected(1), false); harness.check(list.isSelected(2), true); } public void test9(TestHarness harness) { // Testing clear. list = new List(); list.setMultipleMode(false); list.add("item1"); list.add("item2"); list.add("item3"); list.add("item4"); list.select(0); list.select(1); list.select(2); list.select(3); harness.check(list.getItemCount(), 4); harness.check(list.isSelected(0), false); harness.check(list.isSelected(1), false); harness.check(list.isSelected(2), false); harness.check(list.isSelected(3), true); list.clear(); harness.check(list.getItemCount(), 0); } public void test10(TestHarness harness) { // Again, testing clear. list = new List(); list.setMultipleMode(true); list.add("item1"); list.add("item2"); list.add("item3"); list.add("item4"); list.select(0); list.select(2); harness.check(list.getItemCount(), 4); harness.check(list.isSelected(0), true); harness.check(list.isSelected(1), false); harness.check(list.isSelected(2), true); harness.check(list.isSelected(3), false); list.clear(); harness.check(list.getItemCount(), 0); } public void test11(TestHarness harness) { // Testing delItem on one item and when // multipleMode is set to false. list = new List(); list.setMultipleMode(false); list.add("item1"); list.add("item2"); list.add("item3"); list.select(2); harness.check(list.getItemCount(), 3); harness.check(list.isSelected(0), false); harness.check(list.isSelected(1), false); harness.check(list.isSelected(2), true); list.delItem(2); harness.check(list.getItemCount(), 2); harness.check(list.isSelected(0), false); harness.check(list.isSelected(1), false); harness.check(list.isSelected(2), true); boolean exceptionCaught = false; try { // This will throw an exception, you cannot call getItem(2) // despite the fact that isSelected(2) returns true. list.getItem(2); } catch (ArrayIndexOutOfBoundsException ex) { exceptionCaught = true; } harness.check(exceptionCaught); } public void test12(TestHarness harness) { // Testing delItem on two items and when // multipleMode is set to true. list = new List(); list.setMultipleMode(true); list.add("item1"); list.add("item2"); list.add("item3"); list.select(0); list.select(1); harness.check(list.getItemCount(), 3); harness.check(list.isSelected(0), true); harness.check(list.isSelected(1), true); harness.check(list.isSelected(2), false); list.delItem(0); harness.check(list.getItemCount(), 2); harness.check(list.isSelected(0), true); harness.check(list.isSelected(1), true); list.delItem(1); harness.check(list.getItemCount(), 1); harness.check(list.isSelected(0), true); } public void test13(TestHarness harness) { // Testing delItems when multipleMode is set to false. list = new List(); list.setMultipleMode(false); list.add("item1"); list.add("item2"); list.add("item3"); list.select(2); list.select(1); harness.check(list.getItemCount(), 3); harness.check(list.isSelected(0), false); harness.check(list.isSelected(1), true); harness.check(list.isSelected(2), false); list.delItems(1, 2); harness.check(list.getItemCount(), 1); harness.check(list.isSelected(0), false); } public void test14(TestHarness harness) { //Testing delItems when mulitpleMode is set to true. list = new List(); list.setMultipleMode(true); list.add("item1"); list.add("item2"); list.add("item3"); list.add("item4"); list.select(0); list.select(3); harness.check(list.getItemCount(), 4); harness.check(list.isSelected(0), true); harness.check(list.isSelected(1), false); harness.check(list.isSelected(2), false); harness.check(list.isSelected(3), true); list.delItems(0, 1); harness.check(list.getItemCount(), 2); harness.check(list.isSelected(0), true); harness.check(list.isSelected(1), false); } public void test15(TestHarness harness) { // Testing behaviour when index passed is invalid. // Testing deselect. list = new List(); list.add("item1"); list.select(0); list.deselect(1); harness.check(list.isSelected(0), true); // Testing delItem. boolean fail = false; harness.check(list.getItemCount(), 1); try { list.delItem(1); } catch (ArrayIndexOutOfBoundsException e) { fail = true; } harness.check(fail); harness.check(list.getItemCount(), 1); harness.check(list.isSelected(0), true); // Testing delItems. fail = false; list.add("item2"); list.add("item3"); harness.check(list.getItemCount(), 3); try { list.delItems(1, 3); } catch (ArrayIndexOutOfBoundsException e) { fail = true; } harness.check(fail); harness.check(list.getItemCount(), 3); // Again, testing delItems. fail = false; harness.check(list.getItemCount(), 3); try { list.delItems(- 4, 1); } catch (ArrayIndexOutOfBoundsException e) { fail = true; } harness.check(fail); harness.check(list.getItemCount(), 1); // Again, testing delItems. fail = false; harness.check(list.getItemCount(), 1); try { list.delItems(- 1, 5); } catch (ArrayIndexOutOfBoundsException e) { fail = true; } harness.check(fail); harness.check(list.getItemCount(), 1); // Again, testing delItems harness.check(list.getItemCount(), 1); list.delItems(4, 1); harness.check(list.getItemCount(), 1); } public void test16(TestHarness harness) { // Testing what happens when a selected item // is selected again. list = new List(); list.setMultipleMode(false); list.add("item1"); list.select(0); list.select(0); harness.check(list.isSelected(0), true); // Testing what happens when a deselected item // is deselected again. list.add("item2"); harness.check(list.isSelected(0), true); harness.check(list.isSelected(1), false); list.deselect(1); harness.check(list.isSelected(0), true); harness.check(list.isSelected(1), false); // Testing what happens when a replacedItem // was selected. harness.check(list.isSelected(0), true); list.replaceItem("newItem1", 0); harness.check(list.isSelected(0), true); // Testing that happens when a replacedItem // was deselected. harness.check(list.isSelected(1), false); list.replaceItem("newItem2", 1); harness.check(list.isSelected(1), false); } } mauve-20140821/gnu/testlet/java/awt/List/testSetMultipleMode.java0000644000175000001440000000577711015027423023503 0ustar dokousers/* testSetMultipleMode.java -- FIXME: describe Copyright (C) 2006 FIXME: your info here This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: FIXME // Uses: ../../../javax/swing/ButtonGroup/isSelected package gnu.testlet.java.awt.List; import java.awt.Frame; import java.awt.List; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.ButtonGroup.isSelected; public class testSetMultipleMode implements Testlet { public void test(TestHarness harness) { test1(harness); test2(harness); test3(harness); } public void test1(TestHarness harness) { List list = new List(); list.setMultipleMode(true); harness.check(list.isMultipleMode()); list.add("item"); list.add("item1"); list.select(1); list.select(0); Frame f = new Frame(""); f.add(list); f.pack(); harness.check(list.getSelectedIndex(), -1); list.setMultipleMode(false); harness.check(list.getSelectedIndex(), 0); harness.check(list.isMultipleMode(), false); harness.check(list.getSelectedIndex(), 0); f.dispose(); } public void test2(TestHarness harness) { List list = new List(); list.setMultipleMode(true); harness.check(list.isMultipleMode()); list.add("item1"); list.add("item2"); list.add("item3"); harness.check(list.getItemCount(), 3); list.select(1); list.select(0); list.select(2); harness.check(list.isSelected(0)); harness.check(list.isSelected(1)); harness.check(list.isSelected(2)); list.setMultipleMode(false); harness.check(list.isMultipleMode(), false); harness.check(list.getItemCount(), 3); harness.check(list.getSelectedIndex(), -1); harness.check(list.isSelected(0)); harness.check(list.isSelected(1), true); harness.check(list.isSelected(2), true); } public void test3(TestHarness harness) { List list = new List(); list.add("item1"); list.add("item2"); list.add("item3"); harness.check(list.isMultipleMode(), false); list.select(2); list.select(0); list.select(1); harness.check(list.isSelected(0), false); harness.check(list.isSelected(1), true); harness.check(list.isSelected(2), false); list.setMultipleMode(true); harness.check(list.isSelected(0), false); harness.check(list.isSelected(1), true); harness.check(list.isSelected(2), false); } } mauve-20140821/gnu/testlet/java/awt/ColorClass/0000755000175000001440000000000012375316426020013 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/ColorClass/constructors.java0000644000175000001440000002276010317307114023421 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.ColorClass; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.color.ColorSpace; /** * Some checks for the constructors in the {@link Color} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); testConstructor6(harness); testConstructor7(harness); } private void testConstructor1(TestHarness harness) { harness.checkPoint("(ColorSpace, float[], float)"); Color c = new Color(ColorSpace.getInstance(ColorSpace.CS_sRGB), new float[] { 0.2f, 0.4f, 0.6f}, 0.8f); harness.check(c.getRed(), 51); harness.check(c.getGreen(), 102); harness.check(c.getBlue(), 153); harness.check(c.getAlpha(), 204); // try null space boolean pass = false; try { c = new Color(null, new float[] { 0.2f, 0.4f, 0.6f}, 0.8f); } catch (NullPointerException e) { pass = true; } harness.check(pass); } private void testConstructor2(TestHarness harness) { harness.checkPoint("(float, float, float)"); Color c = new Color(0.2f, 0.4f, 0.6f); harness.check(c.getRed(), 51); harness.check(c.getGreen(), 102); harness.check(c.getBlue(), 153); harness.check(c.getAlpha(), 255); // negative red boolean pass = false; try { c = new Color(-0.2f, 0.4f, 0.6f); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // negative green pass = false; try { c = new Color(0.2f, -0.4f, 0.6f); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // negative blue pass = false; try { c = new Color(0.2f, 0.4f, -0.6f); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // red > 1.0 pass = false; try { c = new Color(1.2f, 0.4f, 0.6f); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // green > 1.0 pass = false; try { c = new Color(0.2f, 1.4f, 0.6f); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // blue > 1.0 pass = false; try { c = new Color(0.2f, 0.4f, 1.6f); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } private void testConstructor3(TestHarness harness) { harness.checkPoint("(float, float, float, float)"); Color c = new Color(0.2f, 0.4f, 0.6f, 0.8f); harness.check(c.getRed(), 51); harness.check(c.getGreen(), 102); harness.check(c.getBlue(), 153); harness.check(c.getAlpha(), 204); // negative red boolean pass = false; try { c = new Color(-0.2f, 0.4f, 0.6f, 0.8f); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // negative green pass = false; try { c = new Color(0.2f, -0.4f, 0.6f, 0.8f); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // negative blue pass = false; try { c = new Color(0.2f, 0.4f, -0.6f, 0.8f); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // negative alpha pass = false; try { c = new Color(0.2f, 0.4f, 0.6f, -0.8f); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // red > 1.0 pass = false; try { c = new Color(1.2f, 0.4f, 0.6f, 0.8f); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // green > 1.0 pass = false; try { c = new Color(0.2f, 1.4f, 0.6f, 0.8f); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // blue > 1.0 pass = false; try { c = new Color(0.2f, 0.4f, 1.6f, 0.8f); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // alpha > 1.0 pass = false; try { c = new Color(0.2f, 0.4f, 0.6f, 1.8f); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } private void testConstructor4(TestHarness harness) { harness.checkPoint("(int)"); Color c = new Color(0x12345678); harness.check(c.getRed(), 0x34); harness.check(c.getGreen(), 0x56); harness.check(c.getBlue(), 0x78); harness.check(c.getAlpha(), 0xFF); } private void testConstructor5(TestHarness harness) { harness.checkPoint("(int, boolean)"); Color c = new Color(0x12345678, false); harness.check(c.getRed(), 0x34); harness.check(c.getGreen(), 0x56); harness.check(c.getBlue(), 0x78); harness.check(c.getAlpha(), 0xFF); c = new Color(0x12345678, true); harness.check(c.getRed(), 0x34); harness.check(c.getGreen(), 0x56); harness.check(c.getBlue(), 0x78); harness.check(c.getAlpha(), 0x12); } private void testConstructor6(TestHarness harness) { harness.checkPoint("(int, int, int)"); Color c = new Color(12, 34, 56); harness.check(c.getRed(), 12); harness.check(c.getGreen(), 34); harness.check(c.getBlue(), 56); harness.check(c.getAlpha(), 255); // negative red boolean pass = false; try { c = new Color(-12, 34, 56); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // negative green pass = false; try { c = new Color(12, -34, 56); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // negative blue pass = false; try { c = new Color(12, 34, -56); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // red > 1.0 pass = false; try { c = new Color(512, 34, 56); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // green > 1.0 pass = false; try { c = new Color(12, 534, 56); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // blue > 1.0 pass = false; try { c = new Color(12, 34, 556); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } private void testConstructor7(TestHarness harness) { harness.checkPoint("(int, int, int, int)"); Color c = new Color(12, 34, 56, 78); harness.check(c.getRed(), 12); harness.check(c.getGreen(), 34); harness.check(c.getBlue(), 56); harness.check(c.getAlpha(), 78); // negative red boolean pass = false; try { c = new Color(-12, 34, 56, 78); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // negative green pass = false; try { c = new Color(12, -34, 56, 78); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // negative blue pass = false; try { c = new Color(12, 34, -56, 78); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // negative alpha pass = false; try { c = new Color(12, 34, 56, -78); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // red > 1.0 pass = false; try { c = new Color(512, 34, 56, 78); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // green > 1.0 pass = false; try { c = new Color(12, 534, 56, 78); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // blue > 1.0 pass = false; try { c = new Color(12, 34, 556, 78); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // alpha > 1.0 pass = false; try { c = new Color(12, 34, 56, 578); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/ColorClass/serialization.java0000644000175000001440000000364610317307114023530 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.ColorClass; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectInput; import java.io.ObjectInputStream; import java.io.ObjectOutput; import java.io.ObjectOutputStream; /** * Some checks for serialization of a {@link Color} instance. */ public class serialization implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Color c1 = new Color(1, 2, 3, 4); Color c2 = null; try { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); ObjectOutput out = new ObjectOutputStream(buffer); out.writeObject(c1); out.close(); ObjectInput in = new ObjectInputStream( new ByteArrayInputStream(buffer.toByteArray()) ); c2 = (Color) in.readObject(); in.close(); } catch (Exception e) { harness.debug(e); } harness.check(c1.equals(c2)); } } mauve-20140821/gnu/testlet/java/awt/ColorClass/equals.java0000644000175000001440000000427010317307114022137 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.ColorClass; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; /** * Checks that the equals() method in the {@link Color} class works * correctly. */ public class equals implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Color c1 = new Color(1, 2, 3); Color c2 = new Color(1, 2, 3); harness.check(c1.equals(c2)); harness.check(c2.equals(c1)); c1 = new Color(1, 2, 3, 4); harness.check(!c1.equals(c2)); c2 = new Color(1, 2, 3, 4); harness.check(c1.equals(c2)); c1 = new Color(5, 2, 3, 4); harness.check(!c1.equals(c2)); c2 = new Color(5, 2, 3, 4); harness.check(c1.equals(c2)); c1 = new Color(5, 6, 3, 4); harness.check(!c1.equals(c2)); c2 = new Color(5, 6, 3, 4); harness.check(c1.equals(c2)); c1 = new Color(5, 6, 7, 4); harness.check(!c1.equals(c2)); c2 = new Color(5, 6, 7, 4); harness.check(c1.equals(c2)); c1 = new Color(5, 6, 7, 8); harness.check(!c1.equals(c2)); c2 = new Color(5, 6, 7, 8); harness.check(c1.equals(c2)); // check null argument harness.check(!c1.equals(null)); // check non-Color argument harness.check(!c1.equals("XYZ")); } } mauve-20140821/gnu/testlet/java/awt/ColorClass/brighter.java0000644000175000001440000000476010473127150022462 0ustar dokousers/* brighter.java Copyright (C) 2006 RedHat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.3 package gnu.testlet.java.awt.ColorClass; import java.awt.Color; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * MenuBarTest */ public class brighter implements Testlet { public void test(TestHarness harness) { for (int i = 0; i <= 3; i++) { for (int j = 0; j <= 255; j++) { for (int k = 0; k <= 255; k++) { Color c = new Color(i, j, k); Color c2; c2 = c.brighter(); int value = c.getRGB(); int[] colors = new int[3]; colors[0] = (value & (255 << 16)) >> 16; colors[1] = (value & (255 << 8)) >> 8; colors[2] = value & 255; // (0,0,0) is a special case. if (colors[0] == 0 && colors[1] == 0 && colors[2] ==0) { colors[0] = 3; colors[1] = 3; colors[2] = 3; } else { for (int index = 0; index < 3; index++) { if (colors[index] > 2) colors[index] = (int) Math.min(255, colors[index]/0.7f); if (colors[index] == 1 || colors[index] == 2) colors[index] = 4; } } harness.check(c2.getRed(), colors[0]); harness.check(c2.getBlue(), colors[2]); harness.check(c2.getGreen(), colors[1]); } } } } } mauve-20140821/gnu/testlet/java/awt/ColorClass/getGreen.java0000644000175000001440000000365711631642701022421 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.ColorClass; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; /** * Some checks for the getGreen() method in the {@link Color} class. */ public class getGreen implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Color c = new Color(1, 2, 3); harness.check(c.getGreen(), 2); c = new Color(243, 244, 245); harness.check(c.getGreen(), 244); thoroughTest(harness); } /** * This test checks some RGB combinations, ie. subset of 2^24 colors * It tooks 1-5 seconds to complete on a reasonable hardware. */ private void thoroughTest(TestHarness harness) { for (int red = 0; red < 256; red+=8) { for (int green = 0; green < 256; green+=8) { for (int blue = 0; blue < 256; blue+=8) { Color c = new Color(red, green, blue); harness.check(c.getGreen() == green); } } } } } mauve-20140821/gnu/testlet/java/awt/ColorClass/constants.java0000644000175000001440000000570211631642701022666 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.ColorClass; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; /** * Some checks for the constants defined by the {@link Color} class. */ public class constants implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("lowercase color names"); harness.check(Color.black.equals(new Color(0, 0, 0))); harness.check(Color.blue.equals(new Color(0, 0, 255))); harness.check(Color.cyan.equals(new Color(0, 255, 255))); harness.check(Color.darkGray.equals(new Color(64, 64, 64))); harness.check(Color.gray.equals(new Color(128, 128, 128))); harness.check(Color.green.equals(new Color(0, 255, 0))); harness.check(Color.lightGray.equals(new Color(192, 192, 192))); harness.check(Color.magenta.equals(new Color(255, 0, 255))); harness.check(Color.orange.equals(new Color(255, 200, 0))); harness.check(Color.pink.equals(new Color(255, 175, 175))); harness.check(Color.red.equals(new Color(255, 0, 0))); harness.check(Color.white.equals(new Color(255, 255, 255))); harness.check(Color.yellow.equals(new Color(255, 255, 0))); harness.checkPoint("uppercase color names"); harness.check(Color.BLACK.equals(new Color(0, 0, 0))); harness.check(Color.BLUE.equals(new Color(0, 0, 255))); harness.check(Color.CYAN.equals(new Color(0, 255, 255))); harness.check(Color.DARK_GRAY.equals(new Color(64, 64, 64))); harness.check(Color.GRAY.equals(new Color(128, 128, 128))); harness.check(Color.GREEN.equals(new Color(0, 255, 0))); harness.check(Color.LIGHT_GRAY.equals(new Color(192, 192, 192))); harness.check(Color.MAGENTA.equals(new Color(255, 0, 255))); harness.check(Color.ORANGE.equals(new Color(255, 200, 0))); harness.check(Color.PINK.equals(new Color(255, 175, 175))); harness.check(Color.RED.equals(new Color(255, 0, 0))); harness.check(Color.WHITE.equals(new Color(255, 255, 255))); harness.check(Color.YELLOW.equals(new Color(255, 255, 0))); } } mauve-20140821/gnu/testlet/java/awt/ColorClass/decode.java0000644000175000001440000000760011631642701022074 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.ColorClass; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; /** * Some checks for the decode() method in the {@link Color} class. */ public class decode implements Testlet { /** * Parse the given string, create Color object using this string * and check if all three color component are set correcty. */ private void checkColorDecode(TestHarness harness, String str, int red, int green, int blue) { Color c = Color.decode(str); harness.check(c.getRed(), red); harness.check(c.getGreen(), green); harness.check(c.getBlue(), blue); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // hexadecimal numbers interpretation checkColorDecode(harness, "0x0", 0, 0, 0); checkColorDecode(harness, "0X0", 0, 0, 0); checkColorDecode(harness, "#0", 0, 0, 0); checkColorDecode(harness, "0x010203", 1, 2, 3); checkColorDecode(harness, "0X010203", 1, 2, 3); checkColorDecode(harness, "#010203", 1, 2, 3); checkColorDecode(harness, "0xffffff", 255, 255, 255); checkColorDecode(harness, "0Xffffff", 255, 255, 255); checkColorDecode(harness, "#ffffff", 255, 255, 255); // negative hexadecimal numbers checkColorDecode(harness, "-0x0", 0, 0, 0); checkColorDecode(harness, "-0X0", 0, 0, 0); checkColorDecode(harness, "-#0", 0, 0, 0); checkColorDecode(harness, "-0x1", 255, 255, 255); checkColorDecode(harness, "-0X1", 255, 255, 255); checkColorDecode(harness, "-#1", 255, 255, 255); checkColorDecode(harness, "-0xffffff", 0, 0, 1); checkColorDecode(harness, "-0Xffffff", 0, 0, 1); checkColorDecode(harness, "-#ffffff", 0, 0, 1); // decimal numbers interpretation checkColorDecode(harness, "0", 0, 0, 0); checkColorDecode(harness, "255", 0, 0, 255); checkColorDecode(harness, "256", 0, 1, 0); checkColorDecode(harness, "65535", 0, 255, 255); checkColorDecode(harness, "65536", 1, 0, 0); checkColorDecode(harness, "16777215", 255, 255, 255); checkColorDecode(harness, "-16777215", 0, 0, 1); checkColorDecode(harness, "-1", 255, 255, 255); // octal numbers interpretation checkColorDecode(harness, "00", 0, 0, 0); checkColorDecode(harness, "0777", 0, 1, 255); checkColorDecode(harness, "077777777", 255, 255, 255); checkColorDecode(harness, "-01", 255, 255, 255); // try a null argument - see bug parade 6211249 boolean pass = false; try { Color.decode(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try a non-numeric string pass = false; try { Color.decode("XYZ"); } catch (NumberFormatException e) { pass = true; } harness.check(pass); // try a bad octal value pass = false; try { Color.decode("0778"); } catch (NumberFormatException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/ColorClass/hashCode.java0000644000175000001440000000420411631642701022364 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.ColorClass; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; /** * Some checks for the hashCode() method in the {@link Color} class works. */ public class hashCode implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Color c1 = new Color(1, 2, 3); Color c2 = new Color(1, 2, 3); harness.check(c1.hashCode() == c2.hashCode()); harness.check(Color.black.hashCode() == new Color(0, 0, 0).hashCode()); harness.check(Color.white.hashCode() == new Color(255, 255, 255).hashCode()); thoroughTest(harness); } /** * This test checks some RGB combinations, ie. subset of 2^24 colors * It tooks 1-5 seconds to complete on a reasonable hardware. */ private void thoroughTest(TestHarness harness) { for (int red = 0; red < 256; red+=8) { for (int green = 0; green < 256; green+=8) { for (int blue = 0; blue < 256; blue+=8) { Color c1 = new Color(red, green, blue); Color c2 = new Color(red, green, blue); harness.check(c1.hashCode() == c2.hashCode()); } } } } } mauve-20140821/gnu/testlet/java/awt/ColorClass/getBlue.java0000644000175000001440000000364711631642701022247 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.ColorClass; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; /** * Some checks for the getBlue() method in the {@link Color} class. */ public class getBlue implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Color c = new Color(1, 2, 3); harness.check(c.getBlue(), 3); c = new Color(243, 244, 245); harness.check(c.getBlue(), 245); thoroughTest(harness); } /** * This test checks some RGB combinations, ie. subset of 2^24 colors * It tooks 1-5 seconds to complete on a reasonable hardware. */ private void thoroughTest(TestHarness harness) { for (int red = 0; red < 256; red+=8) { for (int green = 0; green < 256; green+=8) { for (int blue = 0; blue < 256; blue+=8) { Color c = new Color(red, green, blue); harness.check(c.getBlue(), blue); } } } } } mauve-20140821/gnu/testlet/java/awt/ColorClass/getRed.java0000644000175000001440000000364211631642701022065 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.ColorClass; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; /** * Some checks for the getRed() method in the {@link Color} class. */ public class getRed implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Color c = new Color(1, 2, 3); harness.check(c.getRed(), 1); c = new Color(243, 244, 245); harness.check(c.getRed(), 243); thoroughTest(harness); } /** * This test checks some RGB combinations, ie. subset of 2^24 colors * It tooks 1-5 seconds to complete on a reasonable hardware. */ private void thoroughTest(TestHarness harness) { for (int red = 0; red < 256; red+=8) { for (int green = 0; green < 256; green+=8) { for (int blue = 0; blue < 256; blue+=8) { Color c = new Color(red, green, blue); harness.check(c.getRed(), red); } } } } } mauve-20140821/gnu/testlet/java/awt/datatransfer/0000755000175000001440000000000012375316426020425 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/datatransfer/Clipboard/0000755000175000001440000000000012375316426022324 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/datatransfer/Clipboard/clipboard.java0000644000175000001440000000627710274716100025127 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2005 Mark J. Wielaard // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.datatransfer.Clipboard; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.datatransfer.*; public class clipboard extends Clipboard implements Testlet, Transferable, ClipboardOwner { public clipboard() { super("mauve"); } private clipboard(String name) { super(name); } public void test(TestHarness harness) { harness.check(this.getName(), "mauve"); harness.check(this.contents, null); harness.check(this.getContents(null), this.contents); harness.check(this.owner, null); // Claim ownership of the clipboard. this.setContents(this, this); harness.check(this.contents, this); harness.check(this.getContents(null), this.contents); harness.check(this.owner, this); harness.check(lostOwnerCalled, false); // Make someone else the owner. clipboard cp2 = new clipboard("dummy2"); this.setContents(cp2, cp2); harness.check(lostOwnerCalled, true); harness.check(this.contents, cp2); harness.check(this.getContents(null), this.contents); harness.check(this.owner, cp2); harness.check(lostOwnerClipboard, this); harness.check(lostOwnerTransferable, this); // Set owner/content back to this. lostOwnerCalled = false; this.setContents(this, this); harness.check(lostOwnerCalled, false); harness.check(this.contents, this); harness.check(this.getContents(null), this.contents); harness.check(this.owner, this); // Keep outself as owner, but change the content. this.setContents(cp2, this); harness.check(lostOwnerCalled, false); harness.check(this.contents, cp2); harness.check(this.getContents(null), this.contents); harness.check(this.owner, this); } // Transferable public DataFlavor[] getTransferDataFlavors() { return new DataFlavor[0]; } public boolean isDataFlavorSupported(DataFlavor flavor) { return false; } public Object getTransferData(DataFlavor flavor) { return null; } // ClipboardOwner private boolean lostOwnerCalled = false; private Clipboard lostOwnerClipboard = null; private Transferable lostOwnerTransferable = null; public void lostOwnership(Clipboard clipboard, Transferable contents) { lostOwnerCalled = true; lostOwnerClipboard = clipboard; lostOwnerTransferable = contents; } // For debug readability public String toString() { return "[name=" + getName() + "]"; } } mauve-20140821/gnu/testlet/java/awt/datatransfer/Clipboard/clipboardFlavors.java0000644000175000001440000002317010274716100026453 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2005 Mark J. Wielaard // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.datatransfer.Clipboard; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.datatransfer.*; import java.io.IOException; public class clipboardFlavors extends Clipboard implements Testlet, Transferable, ClipboardOwner, FlavorListener { public clipboardFlavors() { super("mauve"); } private clipboardFlavors(String name) { super(name); } private clipboardFlavors(String[] mimeTypes) throws ClassNotFoundException { this("mimeTypes.startingwith[" + mimeTypes[0] + "]"); transferDataFlavors = new DataFlavor[mimeTypes.length]; for (int i = 0; i < mimeTypes.length; i++) transferDataFlavors[i] = new DataFlavor(mimeTypes[i]); } public void test(TestHarness harness) { try { // Not much in a new empty Clipboard. harness.checkPoint("empty"); DataFlavor[] flavors = this.getAvailableDataFlavors(); harness.check(flavors != null); harness.check(flavors.length, 0); harness.check(this.isDataFlavorAvailable(DataFlavor.imageFlavor), false); boolean exception_thrown = false; try { Object o = this.getData(DataFlavor.imageFlavor); harness.debug("got data: " + o); } catch(UnsupportedFlavorException ufe) { exception_thrown = true; } harness.check(exception_thrown); FlavorListener[] listeners = this.getFlavorListeners(); harness.check(listeners != null); harness.check(listeners.length, 0); // Add ourselves as listener. harness.checkPoint("Add self listener"); this.addFlavorListener(this); listeners = this.getFlavorListeners(); harness.check(listeners.length, 1); harness.check(listeners[0], this); // Remove a null listener. harness.checkPoint("Remove null listener"); this.removeFlavorListener(null); listeners = this.getFlavorListeners(); harness.check(listeners.length, 1); harness.check(listeners[0], this); // Remove something never added. harness.checkPoint("Remove non-existing listener"); this.removeFlavorListener(new clipboardFlavors("dummy-to-remove")); listeners = this.getFlavorListeners(); harness.check(listeners.length, 1); harness.check(listeners[0], this); // Remove ourselves. harness.checkPoint("Remove self"); this.removeFlavorListener(this); listeners = this.getFlavorListeners(); harness.check(listeners != null); harness.check(listeners.length, 0); // Remove ourselves again. harness.checkPoint("Remove self again"); this.removeFlavorListener(this); listeners = this.getFlavorListeners(); harness.check(listeners != null); harness.check(listeners.length, 0); // Put in some data and register us as owner // and register us as listener. harness.checkPoint("put in data"); this.setContents(new clipboardFlavors(new String[] {"x/z", "q/w"}), this); this.addFlavorListener(this); flavors = getAvailableDataFlavors(); harness.check(flavors != null); harness.check(flavors.length, 2); harness.check(flavors[0].getMimeType().equals("x/z") || flavors[1].getMimeType().equals("x/z")); harness.check(flavors[0].getMimeType().equals("q/w") || flavors[1].getMimeType().equals("q/w")); harness.check(this.isDataFlavorAvailable(DataFlavor.imageFlavor), false); harness.check(this.isDataFlavorAvailable(new DataFlavor("x/z"))); harness.check(this.isDataFlavorAvailable(new DataFlavor("q/w"))); exception_thrown = false; try { Object o = this.getData(DataFlavor.imageFlavor); harness.debug("got data: " + o); } catch(UnsupportedFlavorException ufe) { exception_thrown = true; } harness.check(exception_thrown); harness.check(this.getData(new DataFlavor("x/z")), "x/z"); harness.check(this.getData(new DataFlavor("q/w")), "q/w"); // Change the contents with some different DataFlavors harness.checkPoint("change contents"); this.setContents(new clipboardFlavors(new String[] {"a/b"}), this); harness.check(this.flavorChangedCalled); harness.check(this.flavorChangedEvent != null); harness.check(this.flavorChangedEvent.getSource(), this); flavors = getAvailableDataFlavors(); harness.check(flavors != null); harness.check(flavors.length, 1); harness.check(this.isDataFlavorAvailable(DataFlavor.imageFlavor), false); harness.check(this.isDataFlavorAvailable(new DataFlavor("x/z")), false); harness.check(this.isDataFlavorAvailable(new DataFlavor("q/w")), false); harness.check(this.isDataFlavorAvailable(new DataFlavor("a/b"))); exception_thrown = false; try { Object o = this.getData(DataFlavor.imageFlavor); harness.debug("got data: " + o); } catch(UnsupportedFlavorException ufe) { exception_thrown = true; } harness.check(exception_thrown); exception_thrown = false; try { Object o = this.getData(new DataFlavor("x/z")); harness.debug("got data: " + o); } catch(UnsupportedFlavorException ufe) { exception_thrown = true; } harness.check(exception_thrown); exception_thrown = false; try { Object o = this.getData(new DataFlavor("q/w")); harness.debug("got data: " + o); } catch(UnsupportedFlavorException ufe) { exception_thrown = true; } harness.check(exception_thrown); harness.check(this.getData(new DataFlavor("a/b")), "a/b"); // Add some other listener and change the flavors again. harness.checkPoint("other listener"); flavorChangedCalled = false; flavorChangedEvent = null; clipboardFlavors cf2 = new clipboardFlavors("cf2"); this.addFlavorListener(cf2); this.setContents(new clipboardFlavors(new String[] {"a/b", "z/x"}), this); harness.check(this.flavorChangedCalled); harness.check(this.flavorChangedEvent != null); harness.check(this.flavorChangedEvent.getSource(), this); harness.check(cf2.flavorChangedCalled); harness.check(cf2.flavorChangedEvent != null); harness.check(cf2.flavorChangedEvent.getSource(), this); flavors = getAvailableDataFlavors(); harness.check(flavors != null); harness.check(flavors.length, 2); harness.check(flavors[0].getMimeType().equals("a/b") || flavors[1].getMimeType().equals("a/b")); harness.check(flavors[0].getMimeType().equals("z/x") || flavors[1].getMimeType().equals("z/x")); harness.check(this.isDataFlavorAvailable(DataFlavor.imageFlavor), false); harness.check(this.isDataFlavorAvailable(new DataFlavor("x/z")), false); harness.check(this.isDataFlavorAvailable(new DataFlavor("q/w")), false); harness.check(this.isDataFlavorAvailable(new DataFlavor("a/b"))); harness.check(this.isDataFlavorAvailable(new DataFlavor("z/x"))); exception_thrown = false; try { Object o = this.getData(DataFlavor.imageFlavor); harness.debug("got data: " + o); } catch(UnsupportedFlavorException ufe) { exception_thrown = true; } harness.check(exception_thrown); exception_thrown = false; try { Object o = this.getData(new DataFlavor("x/z")); harness.debug("got data: " + o); } catch(UnsupportedFlavorException ufe) { exception_thrown = true; } harness.check(exception_thrown); exception_thrown = false; try { Object o = this.getData(new DataFlavor("q/w")); harness.debug("got data: " + o); } catch(UnsupportedFlavorException ufe) { exception_thrown = true; } harness.check(exception_thrown); harness.check(this.getData(new DataFlavor("a/b")), "a/b"); harness.check(this.getData(new DataFlavor("z/x")), "z/x"); } catch(IOException ioe) { harness.debug(ioe); harness.check(false, ioe.toString()); } catch(ClassNotFoundException cnfe) { harness.debug(cnfe); harness.check(false, cnfe.toString()); } catch(UnsupportedFlavorException ufe) { harness.debug(ufe); harness.check(false, ufe.toString()); } } // Transferable private DataFlavor[] transferDataFlavors; public DataFlavor[] getTransferDataFlavors() { return transferDataFlavors; } public boolean isDataFlavorSupported(DataFlavor flavor) { for (int i = 0; i < transferDataFlavors.length; i++) if (flavor.equals(transferDataFlavors[i])) return true; return false; } public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException { // Cheat if (isDataFlavorSupported(flavor)) return flavor.getMimeType(); else throw new UnsupportedFlavorException(flavor); } // ClipboardOwner private boolean lostOwnerCalled = false; private Clipboard lostOwnerClipboard = null; private Transferable lostOwnerTransferable = null; public void lostOwnership(Clipboard clipboard, Transferable contents) { lostOwnerCalled = true; lostOwnerClipboard = clipboard; lostOwnerTransferable = contents; } // FlavorListener private boolean flavorChangedCalled = false; private FlavorEvent flavorChangedEvent = null; public void flavorsChanged(FlavorEvent event) { flavorChangedCalled = true; flavorChangedEvent = event; } // For debug readability public String toString() { return "[name=" + getName() + "]"; } } mauve-20140821/gnu/testlet/java/awt/datatransfer/DataFlavor/0000755000175000001440000000000012375316426022450 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/datatransfer/DataFlavor/writeExternal.java0000644000175000001440000001111310521374464026142 0ustar dokousers/* writeExternal.java -- Tests DataFlavor.writeExternal() Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.DataFlavor; import java.io.Externalizable; import java.io.IOException; import java.io.ObjectOutput; import java.util.ArrayList; import junit.framework.TestCase; /** * Tests the DataFlavor.writeExternal() method. */ public class writeExternal extends TestCase { /** * An ObjectOutput implementation suitable for testing. */ private class TestObjectOutput implements ObjectOutput { public void close() throws IOException { fail(); } public void flush() throws IOException { fail(); } public void write(int b) throws IOException { fail(); } public void write(byte[] buf) throws IOException { fail(); } public void write(byte[] buf, int offset, int len) throws IOException { fail(); } public void writeObject(Object obj) throws IOException { writtenObjects.add(obj); } public void writeBoolean(boolean value) throws IOException { fail(); } public void writeByte(int value) throws IOException { fail(); } public void writeBytes(String value) throws IOException { fail(); } public void writeChar(int value) throws IOException { fail(); } public void writeChars(String value) throws IOException { fail(); } public void writeDouble(double value) throws IOException { fail(); } public void writeFloat(float value) throws IOException { fail(); } public void writeInt(int value) throws IOException { fail(); } public void writeLong(long value) throws IOException { fail(); } public void writeShort(int value) throws IOException { fail(); } public void writeUTF(String value) throws IOException { writtenStrings.add(value); } } /** * The ObjectOutput for testing. */ private TestObjectOutput output; /** * Written objects, if any. */ private ArrayList writtenObjects; /** * Written strings, if any. */ private ArrayList writtenStrings; /** * Sets up the test case. */ public void setUp() { writtenObjects = new ArrayList(); writtenStrings = new ArrayList(); output = new TestObjectOutput(); } /** * Tears down the testcase. */ public void tearDown() { writtenObjects = null; writtenStrings = null; output = null; } /** * Tests a basic serialization. */ public void testWriteBasic() { DataFlavor f = new DataFlavor("application/text; param1=xyz", "Plain Text"); try { f.writeExternal(output); } catch (IOException ex) { fail(); } // Two objects are effectivly written to the stream. assertEquals(2, writtenObjects.size()); assertEquals(0, writtenStrings.size()); // The RI writes a non-public class to the ObjectOutput. assertEquals("java.awt.datatransfer.MimeType", writtenObjects.get(0).getClass().getName()); // And the representation class. assertEquals("java.lang.Class", writtenObjects.get(1).getClass().getName()); assertSame(f.getRepresentationClass(), writtenObjects.get(1)); // Now check how the MimeType gets serialized. Object o = writtenObjects.get(0); writtenObjects.clear(); assertTrue(o instanceof Externalizable); try { ((Externalizable) o).writeExternal(output); } catch (IOException ex) { fail(); } assertEquals(0, writtenObjects.size()); assertEquals(1, writtenStrings.size()); assertEquals("application/text; class=java.io.InputStream; param1=xyz", writtenStrings.get(0)); } } mauve-20140821/gnu/testlet/java/awt/datatransfer/DataFlavor/flavor.java0000644000175000001440000002013210274716101024570 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Mark J. Wielaard // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.datatransfer.DataFlavor; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.datatransfer.*; import java.io.*; public class flavor implements Testlet { private TestHarness harness; public void test(TestHarness harness) { this.harness = harness; // The static fields DataFlavor df = DataFlavor.javaFileListFlavor; String primaryType = "application"; String subType = "x-java-file-list"; Class representationClass = java.util.List.class; checkFlavor(df, primaryType, subType, null, null, representationClass); df = DataFlavor.plainTextFlavor; primaryType = "text"; subType = "plain"; String param = "charset"; String value = "unicode"; representationClass = java.io.InputStream.class; checkFlavor(df, primaryType, subType, param, value, representationClass); df = DataFlavor.stringFlavor; primaryType = "application"; subType = "x-java-serialized-object"; representationClass = java.lang.String.class; checkFlavor(df, primaryType, subType, null, null, representationClass); try { df = new DataFlavor("image/jpeg"); primaryType = "image"; subType = "jpeg"; representationClass = java.io.InputStream.class; checkFlavor(df, primaryType, subType, null, null, representationClass); harness.check(df.getHumanPresentableName(), "image/jpeg"); } catch (ClassNotFoundException cnfe) { harness.debug(cnfe); harness.check(false, cnfe.toString()); } try { df = new DataFlavor("application/x-java-serialized-object" + "; class=java.awt.Point"); primaryType = "application"; subType = "x-java-serialized-object"; representationClass = java.awt.Point.class; checkFlavor(df, primaryType, subType, null, null, representationClass); harness.check(df.getHumanPresentableName(), "application/x-java-serialized-object" + "; class=java.awt.Point"); } catch (ClassNotFoundException cnfe) { harness.debug(cnfe); harness.check(false, cnfe.toString()); } df = new DataFlavor("application/x-java-serialized-object" + "; class=java.awt.Point", "Point object"); primaryType = "application"; subType = "x-java-serialized-object"; representationClass = java.awt.Point.class; checkFlavor(df, primaryType, subType, null, null, representationClass); harness.check(df.getHumanPresentableName(), "Point object"); df = new DataFlavor("application/x-java-serialized-object" + "; class=java.awt.Point", null); primaryType = "application"; subType = "x-java-serialized-object"; representationClass = java.awt.Point.class; checkFlavor(df, primaryType, subType, null, null, representationClass); harness.check(df.getHumanPresentableName(), "application/x-java-serialized-object" + "; class=java.awt.Point"); df = new DataFlavor("image/jpeg", "JPEG image"); primaryType = "image"; subType = "jpeg"; representationClass = java.io.InputStream.class; checkFlavor(df, primaryType, subType, null, null, representationClass); harness.check(df.getHumanPresentableName(), "JPEG image"); df = new DataFlavor("image/jpeg", null); primaryType = "image"; subType = "jpeg"; representationClass = java.io.InputStream.class; checkFlavor(df, primaryType, subType, null, null, representationClass); harness.check(df.getHumanPresentableName(), "image/jpeg"); try { df = new DataFlavor("application/x-java-serialized-object" + "; class=java.awt.Point", "Point object", ClassLoader.getSystemClassLoader()); primaryType = "application"; subType = "x-java-serialized-object"; representationClass = java.awt.Point.class; checkFlavor(df, primaryType, subType, null, null, representationClass); harness.check(df.getHumanPresentableName(), "Point object"); } catch (ClassNotFoundException cnfe) { harness.debug(cnfe); harness.check(false, cnfe.toString()); } try { df = new DataFlavor("application/x-java-serialized-object" + "; class=java.awt.Point", null, ClassLoader.getSystemClassLoader()); primaryType = "application"; subType = "x-java-serialized-object"; representationClass = java.awt.Point.class; checkFlavor(df, primaryType, subType, null, null, representationClass); harness.check(df.getHumanPresentableName(), "application/x-java-serialized-object" + "; class=java.awt.Point"); } catch (ClassNotFoundException cnfe) { harness.debug(cnfe); harness.check(false, cnfe.toString()); } df = new DataFlavor(java.awt.Point.class, "Point object"); primaryType = "application"; subType = "x-java-serialized-object"; representationClass = java.awt.Point.class; checkFlavor(df, primaryType, subType, null, null, representationClass); harness.check(df.getHumanPresentableName(), "Point object"); df = new DataFlavor(java.awt.Point.class, null); primaryType = "application"; subType = "x-java-serialized-object"; representationClass = java.awt.Point.class; checkFlavor(df, primaryType, subType, null, null, representationClass); harness.check(df.getHumanPresentableName(), "application/x-java-serialized-object" + "; class=java.awt.Point"); } private void checkFlavor(DataFlavor df, String primaryType, String subType, String param, String value, Class representationClass) { harness.checkPoint(df.toString()); harness.check(df.getPrimaryType(), primaryType); harness.check(df.getSubType(), subType); harness.check(df.getRepresentationClass(), representationClass); boolean hasClassParam = subType.startsWith("x-java"); String mimeType = primaryType + "/" + subType; if (hasClassParam) mimeType += "; class=" + representationClass.getName(); if (param != null) mimeType += "; " + param + "=" + value; harness.check(df.getMimeType(), mimeType); harness.check(df.isMimeTypeEqual(primaryType + "/" + subType)); try { harness.check(df.isMimeTypeEqual((DataFlavor) df.clone())); harness.check(((DataFlavor) df.clone()).equals(df)); harness.check(df.equals((DataFlavor) df.clone())); } catch (CloneNotSupportedException cnse) { harness.debug(cnse); harness.check(false, cnse.toString()); } harness.check(df.getParameter("humanPresentableName"), df.getHumanPresentableName()); if (hasClassParam) harness.check(df.getParameter("class"), representationClass.getName()); else harness.check(df.getParameter("class"), null); if (param != null) harness.check(df.getParameter(param), value); harness.check(df.getParameter("NO-SUCH-PARAM"), null); harness.check(df.isFlavorJavaFileListType(), subType.equals("x-java-file-list")); harness.check(df.isFlavorRemoteObjectType(), subType.equals("x-java-remote-object")); harness.check(df.isFlavorSerializedObjectType(), subType.equals("x-java-serialized-object")); harness.check(df.isRepresentationClassInputStream(), java.io.InputStream.class.isAssignableFrom (representationClass)); harness.check(df.isRepresentationClassRemote(), java.rmi.Remote.class.isAssignableFrom (representationClass)); harness.check(df.isRepresentationClassSerializable(), java.io.Serializable.class.isAssignableFrom (representationClass)); } } mauve-20140821/gnu/testlet/java/awt/datatransfer/DataFlavor/readExternal.java0000644000175000001440000000467410521374464025741 0ustar dokousers/* readExternal.java -- Tests DataFlavor.readExternal() Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.DataFlavor; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import junit.framework.TestCase; /** * Tests DataFlavor.readExternal(). */ public class readExternal extends TestCase { public void testBasicRead() { // Write out using writeExternal(). try { DataFlavor f = new DataFlavor("application/text; param1=xyz", "Plain Text"); ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(baos); f.writeExternal(oos); ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()); ObjectInputStream ois = new ObjectInputStream(bais); DataFlavor read = new DataFlavor(); read.readExternal(ois); assertEquals(f.getPrimaryType(), read.getPrimaryType()); assertEquals(f.getSubType(), read.getSubType()); assertEquals(f.getRepresentationClass(), read.getRepresentationClass()); assertEquals(f.getHumanPresentableName(), read.getHumanPresentableName()); assertEquals("xyz", read.getParameter("param1")); assertNull(read.getParameter("humanPresentableName")); assertEquals(f.getRepresentationClass().getName(), read.getParameter("class")); } catch (IOException ex) { fail(); } catch (ClassNotFoundException ex) { fail(); } } } mauve-20140821/gnu/testlet/java/awt/datatransfer/StringSelection/0000755000175000001440000000000012375316426023541 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/datatransfer/StringSelection/selection.java0000644000175000001440000000465310274716101026367 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2005 Mark J. Wielaard // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.datatransfer.StringSelection; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.datatransfer.*; import java.io.*; public class selection implements Testlet { public void test(TestHarness harness) { try { String testString = "Mauve test data string"; StringSelection ss = new StringSelection(testString); harness.check(ss.isDataFlavorSupported(DataFlavor.stringFlavor)); harness.check(ss.isDataFlavorSupported(DataFlavor.plainTextFlavor)); harness.check(!ss.isDataFlavorSupported(DataFlavor.imageFlavor)); DataFlavor[] dfs = ss.getTransferDataFlavors(); harness.check(dfs.length, 2); harness.check(dfs[0].equals(DataFlavor.stringFlavor) || dfs[0].equals(DataFlavor.plainTextFlavor)); harness.check(dfs[1].equals(DataFlavor.stringFlavor) || dfs[1].equals(DataFlavor.plainTextFlavor)); String s = (String) ss.getTransferData(DataFlavor.stringFlavor); harness.check(s, testString); // Note that this described in the literature (e.g. Flanagan, // Nutshell) as how a StringSelection actually works. Returning a // Reader here is of course wrong for a plainTextFlavor, but this // is what applications expect. Reader r = (Reader) ss.getTransferData(DataFlavor.plainTextFlavor); StringBuffer sb = new StringBuffer(); int i = r.read(); while (i != -1) { sb.append((char) i); i = r.read(); } harness.check(sb.toString(), testString); } catch (IOException ioe) { harness.debug(ioe); harness.check(false, ioe.toString()); } catch(UnsupportedFlavorException ufe) { harness.debug(ufe); harness.check(false, ufe.toString()); } } } mauve-20140821/gnu/testlet/java/awt/Choice/0000755000175000001440000000000012375316426017141 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/Choice/addPropertyChangeListenerString.java0000644000175000001440000000470411672141663026307 0ustar dokousers// addPropertyChangeListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Choice; import java.awt.Color; import java.awt.Choice; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Check if {@link PropertyChangeListener} could be registered for an AWT {@link Choice}. */ public class addPropertyChangeListenerString implements Testlet { private static final String PROPERTY_CHANGE_LISTENER_NAME = "myProperlyChangeListener"; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Choice choice = new Choice(); choice.setBackground(Color.blue); // array which will be filled by registered listeners PropertyChangeListener[] properlyChangeListeners; // get all registered listeners properlyChangeListeners = choice.getPropertyChangeListeners(); harness.check(properlyChangeListeners.length, 0); // register new listener choice.addPropertyChangeListener("font", new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { // empty block } @Override public String toString() { return PROPERTY_CHANGE_LISTENER_NAME; } }); // get all registered listeners properlyChangeListeners = choice.getPropertyChangeListeners("font"); harness.check(properlyChangeListeners.length, 1); // check if the proper listener is used harness.check(properlyChangeListeners[0].toString(), PROPERTY_CHANGE_LISTENER_NAME); } } mauve-20140821/gnu/testlet/java/awt/Choice/addComponentListener.java0000644000175000001440000000501211653503214024112 0ustar dokousers// addComponentListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Choice; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if ComponentListener could be registered for an AWT Choice. */ public class addComponentListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Choice choice = new Choice(); choice.setBackground(Color.blue); // array which will be filled by registered listeners ComponentListener[] componentListeners; // get all registered listeners componentListeners = choice.getComponentListeners(); harness.check(componentListeners.length, 0); // register new listener choice.addComponentListener( new ComponentListener() { public void componentHidden(ComponentEvent e) { // empty } public void componentMoved(ComponentEvent e) { // empty } public void componentResized(ComponentEvent e) { // empty } public void componentShown(ComponentEvent e) { // empty } @Override public String toString() { return "myComponentListener"; } } ); // get all registered listeners componentListeners = choice.getComponentListeners(); harness.check(componentListeners.length, 1); // check if the proper listener is used harness.check(componentListeners[0].toString(), "myComponentListener"); } } mauve-20140821/gnu/testlet/java/awt/Choice/constructors.java0000644000175000001440000000266411643060374022557 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.Choice; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Choice; // Choice constructors test public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // test constructor without any parameter Choice choice = new Choice(); harness.check(choice != null); harness.check(choice.getItemCount(), 0); harness.check(choice.countItems(), 0); harness.check(choice.getSelectedIndex(), -1); } } mauve-20140821/gnu/testlet/java/awt/Choice/addMouseMotionListener.java0000644000175000001440000000453411653503214024436 0ustar dokousers// addMouseMotionListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Choice; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if MouseMotionListener could be registered for an AWT Choice. */ public class addMouseMotionListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Choice choice = new Choice(); choice.setBackground(Color.blue); // array which will be filled by registered listeners MouseMotionListener[] mouseMotionListeners; // get all registered listeners mouseMotionListeners = choice.getMouseMotionListeners(); harness.check(mouseMotionListeners.length, 0); // register new listener choice.addMouseMotionListener( new MouseMotionListener() { public void mouseDragged(MouseEvent e) { // empty } public void mouseMoved(MouseEvent e) { // empty } @Override public String toString() { return "myMouseMotionListener"; } } ); // get all registered listeners mouseMotionListeners = choice.getMouseMotionListeners(); harness.check(mouseMotionListeners.length, 1); // check if the proper listener is used harness.check(mouseMotionListeners[0].toString(), "myMouseMotionListener"); } } mauve-20140821/gnu/testlet/java/awt/Choice/addKeyListener.java0000644000175000001440000000445311653503214022710 0ustar dokousers// addKeyListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Choice; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if KeyListener could be registered for an AWT Choice. */ public class addKeyListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Choice choice = new Choice(); choice.setBackground(Color.blue); // array which will be filled by registered listeners KeyListener[] keyListeners; // get all registered listeners keyListeners = choice.getKeyListeners(); harness.check(keyListeners.length, 0); // register new listener choice.addKeyListener( new KeyListener() { public void keyPressed(KeyEvent e) { // empty } public void keyReleased(KeyEvent e) { // empty } public void keyTyped(KeyEvent e) { // empty } @Override public String toString() { return "myKeyListener"; } } ); // get all registered listeners keyListeners = choice.getKeyListeners(); harness.check(keyListeners.length, 1); // check if the proper listener is used harness.check(keyListeners[0].toString(), "myKeyListener"); } } mauve-20140821/gnu/testlet/java/awt/Choice/ItemListenerNegativeTest1.java0000644000175000001440000000665711650026672025026 0ustar dokousers// ItemListenerNegativeTest1.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Choice; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if ItemListener could be registered for an AWT Choice * and if action is *not* performed when second mouse choice is pressed. */ public class ItemListenerNegativeTest1 extends Panel implements Testlet { boolean itemStateChangedFlag = false; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); Choice choice = new Choice(); choice.add("first"); choice.add("second"); choice.add("third"); choice.setBackground(Color.blue); add(choice); choice.addItemListener( new ItemListener() { public void itemStateChanged(ItemEvent e) { itemStateChangedFlag = true; } } ); frame.add(this); frame.pack(); frame.show(); // AWT robot is used performing some actions // also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); Rectangle bounds = choice.getBounds(); Point loc = frame.getLocationOnScreen(); Insets i = frame.getInsets(); bounds.x += i.left + loc.x; bounds.y += i.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move the mouse cursor to a tested pixel to show users what's checked robot.mouseMove(checkedPixelX, checkedPixelY); robot.waitForIdle(); robot.mousePress(InputEvent.BUTTON2_MASK); robot.delay(250); robot.mouseRelease(InputEvent.BUTTON2_MASK); robot.delay(250); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necesarry to clean up the component from desktop frame.dispose(); // check if action was performed harness.check(!itemStateChangedFlag); } public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Choice/addHierarchyListener.java0000644000175000001440000000435711653503214024101 0ustar dokousers// addHierarchyListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Choice; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if HierarchyListener could be registered for an AWT Choice. */ public class addHierarchyListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Choice choice = new Choice(); choice.setBackground(Color.blue); // array which will be filled by registered listeners HierarchyListener[] hierarchyListeners; // get all registered listeners hierarchyListeners = choice.getHierarchyListeners(); harness.check(hierarchyListeners.length, 0); // register new listener choice.addHierarchyListener( new HierarchyListener() { public void hierarchyChanged(HierarchyEvent e) { // empty } @Override public String toString() { return "myHierarchyListener"; } } ); // get all registered listeners hierarchyListeners = choice.getHierarchyListeners(); harness.check(hierarchyListeners.length, 1); // check if the proper listener is used harness.check(hierarchyListeners[0].toString(), "myHierarchyListener"); } } mauve-20140821/gnu/testlet/java/awt/Choice/addHierarchyBoundsListener.java0000644000175000001440000000470411653503214025250 0ustar dokousers// addHierarchyBoundsListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Choice; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if HierarchyBoundsListener could be registered for an AWT Choice. */ public class addHierarchyBoundsListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Choice choice = new Choice(); choice.setBackground(Color.blue); // array which will be filled by registered listeners HierarchyBoundsListener[] hierarchyBoundsListeners; // get all registered listeners hierarchyBoundsListeners = choice.getHierarchyBoundsListeners(); harness.check(hierarchyBoundsListeners.length, 0); // register new listener choice.addHierarchyBoundsListener( new HierarchyBoundsListener() { public void ancestorMoved(HierarchyEvent e) { // empty } public void ancestorResized(HierarchyEvent e) { // empty } @Override public String toString() { return "myHierarchyBoundsListener"; } } ); // get all registered listeners hierarchyBoundsListeners = choice.getHierarchyBoundsListeners(); harness.check(hierarchyBoundsListeners.length, 1); // check if the proper listener is used harness.check(hierarchyBoundsListeners[0].toString(), "myHierarchyBoundsListener"); } } mauve-20140821/gnu/testlet/java/awt/Choice/list.java0000644000175000001440000000255511653503214020755 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.Choice; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Choice; // test of method list() public class list implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // test constructor without any parameter Choice choice = new Choice(); choice.list(); choice.list(System.out); choice.list(System.out, 0); choice.list(System.out, 10); } } mauve-20140821/gnu/testlet/java/awt/Choice/ItemListenerPositiveTest.java0000644000175000001440000000730311650026672024772 0ustar dokousers// ItemListenerPositiveTest.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Choice; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if ItemListener could be registered for an AWT Choice * and if action is performed when left mouse choice is pressed. */ public class ItemListenerPositiveTest extends Panel implements Testlet { boolean itemStateChangedFlag = false; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); Choice choice = new Choice(); choice.add("first"); choice.add("second"); choice.add("third"); choice.setBackground(Color.blue); add(choice); choice.addItemListener( new ItemListener() { public void itemStateChanged(ItemEvent e) { itemStateChangedFlag = true; } } ); frame.add(this); frame.pack(); frame.show(); // AWT robot is used performing some actions // also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); Rectangle bounds = choice.getBounds(); Point loc = frame.getLocationOnScreen(); Insets i = frame.getInsets(); bounds.x += i.left + loc.x; bounds.y += i.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move the mouse cursor to a tested pixel to show users what's checked robot.mouseMove(checkedPixelX, checkedPixelY); robot.waitForIdle(); robot.mousePress(InputEvent.BUTTON1_MASK); robot.delay(250); robot.mouseRelease(InputEvent.BUTTON1_MASK); robot.delay(250); // need to click on one choice item, *not* on the choice itself! robot.mouseMove(checkedPixelX, checkedPixelY + 30); robot.delay(250); robot.mousePress(InputEvent.BUTTON1_MASK); robot.delay(250); robot.mouseRelease(InputEvent.BUTTON1_MASK); robot.delay(250); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necesarry to clean up the component from desktop frame.dispose(); // check if action was performed harness.check(itemStateChangedFlag); } public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Choice/getSelected.java0000644000175000001440000001432210076255516022234 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2004 Free Software Foundation // Contributed by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.Choice; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.*; public class getSelected implements Testlet { public void test(TestHarness harness) { harness.checkPoint("new"); Choice c = new Choice(); harness.check(c.countItems(), 0); harness.check(c.getItemCount(), 0); harness.check(c.getSelectedIndex(), -1); harness.check(c.getSelectedItem(), null); harness.check(c.getSelectedObjects(), null); harness.checkPoint("add"); String gnu = "GNU"; c.add(gnu); harness.check(c.countItems(), 1); harness.check(c.getItemCount(), 1); harness.check(c.getSelectedIndex(), 0); harness.check(c.getSelectedItem(), gnu); Object[] objects = c.getSelectedObjects(); harness.check(objects != null && objects.length == 1); harness.check(objects != null && objects[0].equals(gnu)); harness.checkPoint("addItem"); String fsf = "FSF"; c.add(fsf); harness.check(c.countItems(), 2); harness.check(c.getItemCount(), 2); harness.check(c.getSelectedIndex(), 0); harness.check(c.getSelectedItem(), gnu); objects = c.getSelectedObjects(); harness.check(objects != null && objects.length == 1); harness.check(objects != null && objects[0].equals(gnu)); harness.checkPoint("removeAll"); c.removeAll(); harness.check(c.countItems(), 0); harness.check(c.getItemCount(), 0); harness.check(c.getSelectedIndex(), -1); harness.check(c.getSelectedItem(), null); harness.check(c.getSelectedObjects(), null); harness.checkPoint("insert-mauve"); String mauve = "Mauve"; c.insert(mauve, 0); harness.check(c.countItems(), 1); harness.check(c.getItemCount(), 1); harness.check(c.getSelectedIndex(), 0); harness.check(c.getSelectedItem(), mauve); objects = c.getSelectedObjects(); harness.check(objects != null && objects.length == 1); harness.check(objects != null && objects[0].equals(mauve)); harness.checkPoint("insert-gnu"); c.insert(gnu, 1); harness.check(c.countItems(), 2); harness.check(c.getItemCount(), 2); harness.check(c.getSelectedIndex(), 0); harness.check(c.getSelectedItem(), mauve); objects = c.getSelectedObjects(); harness.check(objects != null && objects.length == 1); harness.check(objects != null && objects[0].equals(mauve)); harness.checkPoint("select-1"); c.select(1); harness.check(c.countItems(), 2); harness.check(c.getItemCount(), 2); harness.check(c.getSelectedIndex(), 1); harness.check(c.getSelectedItem(), gnu); objects = c.getSelectedObjects(); harness.check(objects != null && objects.length == 1); harness.check(objects != null && objects[0].equals(gnu)); harness.checkPoint("insert-fsf"); c.insert(fsf, 1); harness.check(c.countItems(), 3); harness.check(c.getItemCount(), 3); harness.check(c.getSelectedIndex(), 0); harness.check(c.getSelectedItem(), mauve); objects = c.getSelectedObjects(); harness.check(objects != null && objects.length == 1); harness.check(objects != null && objects[0].equals(mauve)); harness.checkPoint("select-gnu"); c.select(new String(gnu)); // Create a different fsf string harness.check(c.countItems(), 3); harness.check(c.getItemCount(), 3); harness.check(c.getSelectedIndex(), 2); harness.check(c.getSelectedItem(), gnu); objects = c.getSelectedObjects(); harness.check(objects != null && objects.length == 1); harness.check(objects != null && objects[0].equals(gnu)); harness.checkPoint("insert classpath"); String classpath = "classpath"; c.insert(classpath, 9); harness.check(c.countItems(), 4); harness.check(c.getItemCount(), 4); harness.check(c.getSelectedIndex(), 2); harness.check(c.getSelectedItem(), gnu); objects = c.getSelectedObjects(); harness.check(objects != null && objects.length == 1); harness.check(objects != null && objects[0].equals(gnu)); harness.checkPoint("add-remove-dummy"); c.add("dummy"); c.remove("dummy"); harness.check(c.countItems(), 4); harness.check(c.getItemCount(), 4); harness.check(c.getSelectedIndex(), 2); harness.check(c.getSelectedItem(), gnu); objects = c.getSelectedObjects(); harness.check(objects != null && objects.length == 1); harness.check(objects != null && objects[0].equals(gnu)); harness.checkPoint("remove-0"); c.remove(0); harness.check(c.countItems(), 3); harness.check(c.getItemCount(), 3); harness.check(c.getSelectedIndex(), 1); harness.check(c.getSelectedItem(), gnu); objects = c.getSelectedObjects(); harness.check(objects != null && objects.length == 1); harness.check(objects != null && objects[0].equals(gnu)); harness.checkPoint("remove-gnu"); c.remove(new String(gnu)); harness.check(c.countItems(), 2); harness.check(c.getItemCount(), 2); harness.check(c.getSelectedIndex(), 0); harness.check(c.getSelectedItem(), fsf); objects = c.getSelectedObjects(); harness.check(objects != null && objects.length == 1); harness.check(objects != null && objects[0].equals(fsf)); harness.checkPoint("remove-1-remove-0"); c.remove(1); c.remove(0); harness.check(c.countItems(), 0); harness.check(c.getItemCount(), 0); harness.check(c.getSelectedIndex(), -1); harness.check(c.getSelectedItem(), null); harness.check(c.getSelectedObjects(), null); } } mauve-20140821/gnu/testlet/java/awt/Choice/addItemListener.java0000644000175000001440000000426311653503214023055 0ustar dokousers// addItemListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Choice; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if ItemListener could be registered for an AWT Choice. */ public class addItemListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Choice choice = new Choice(); choice.setBackground(Color.blue); // array which will be filled by registered action listeners ItemListener[] itemListeners; // get all registered action listeners itemListeners = choice.getItemListeners(); harness.check(itemListeners.length, 0); // register new action listener choice.addItemListener( new ItemListener() { public void itemStateChanged(ItemEvent e) { // empty } @Override public String toString() { return "myItemListener"; } } ); // get all registered action listeners itemListeners = choice.getItemListeners(); harness.check(itemListeners.length, 1); // check if the proper listener is used harness.check(itemListeners[0].toString(), "myItemListener"); } } mauve-20140821/gnu/testlet/java/awt/Choice/PaintTest.java0000644000175000001440000000603511641332705021714 0ustar dokousers/* PaintTest.java -- Copyright (C) 2006,2011 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.Choice; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.Choice; import java.awt.Color; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; public class PaintTest extends Panel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame f = new Frame(); Choice c = new Choice(); c.add(" "); c.setBackground(Color.blue); add(c); f.add(this); f.pack(); f.show(); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot r = harness.createRobot(); // we should wait a moment before the computations // and pixel checks r.waitForIdle(); r.delay(1000); Rectangle bounds = c.getBounds(); Insets i = f.getInsets(); Point loc = f.getLocationOnScreen(); bounds.x += i.left + loc.x; bounds.y += i.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move the mouse cursor to a tested pixel to show users what's checked r.mouseMove(checkedPixelX, checkedPixelY); r.waitForIdle(); // check the color of a pixel located in the choice center Color choice = r.getPixelColor(checkedPixelX, checkedPixelY); harness.check(choice.equals(Color.blue)); // There is a delay to avoid any race conditions // and so user can see frame r.waitForIdle(); r.delay(1000); // it's necesarry to clean up the component from desktop f.dispose(); } public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Choice/addMouseListener.java0000644000175000001440000000504011653503214023241 0ustar dokousers// addMouseListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Choice; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if MouseListener could be registered for an AWT Choice. */ public class addMouseListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Choice choice = new Choice(); choice.setBackground(Color.blue); // array which will be filled by registered mouse listeners MouseListener[] mouseListeners; // get all registered mouse listeners mouseListeners = choice.getMouseListeners(); harness.check(mouseListeners.length, 0); // register new mouse listener choice.addMouseListener( new MouseListener() { public void mouseClicked(MouseEvent e) { // empty } public void mouseEntered(MouseEvent e) { // empty } public void mouseExited(MouseEvent e) { // empty } public void mousePressed(MouseEvent e) { // empty } public void mouseReleased(MouseEvent e) { // empty } @Override public String toString() { return "myMouseListener"; } } ); // get all registered mouse listeners mouseListeners = choice.getMouseListeners(); harness.check(mouseListeners.length, 1); // check if the proper listener is used harness.check(mouseListeners[0].toString(), "myMouseListener"); } } mauve-20140821/gnu/testlet/java/awt/Choice/addInputMethodListener.java0000644000175000001440000000460611653503214024420 0ustar dokousers// addInputMethodListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Choice; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if InputMethodListener could be registered for an AWT Choice. */ public class addInputMethodListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Choice choice = new Choice(); choice.setBackground(Color.blue); // array which will be filled by registered listeners InputMethodListener[] inputMethodListeners; // get all registered listeners inputMethodListeners = choice.getInputMethodListeners(); harness.check(inputMethodListeners.length, 0); // register new listener choice.addInputMethodListener( new InputMethodListener() { public void caretPositionChanged(InputMethodEvent event) { // empty } public void inputMethodTextChanged(InputMethodEvent event) { // empty } @Override public String toString() { return "myInputMethodListener"; } } ); // get all registered listeners inputMethodListeners = choice.getInputMethodListeners(); harness.check(inputMethodListeners.length, 1); // check if the proper listener is used harness.check(inputMethodListeners[0].toString(), "myInputMethodListener"); } } mauve-20140821/gnu/testlet/java/awt/Choice/addMouseWheelListener.java0000644000175000001440000000437711653503214024242 0ustar dokousers// addMouseWheelListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Choice; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if MouseWheelListener could be registered for an AWT Choice. */ public class addMouseWheelListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Choice choice = new Choice(); choice.setBackground(Color.blue); // array which will be filled by registered listeners MouseWheelListener[] mouseWheelListeners; // get all registered listeners mouseWheelListeners = choice.getMouseWheelListeners(); harness.check(mouseWheelListeners.length, 0); // register new listener choice.addMouseWheelListener( new MouseWheelListener() { public void mouseWheelMoved(MouseWheelEvent e) { // empty } @Override public String toString() { return "myMouseWheelListener"; } } ); // get all registered listeners mouseWheelListeners = choice.getMouseWheelListeners(); harness.check(mouseWheelListeners.length, 1); // check if the proper listener is used harness.check(mouseWheelListeners[0].toString(), "myMouseWheelListener"); } } mauve-20140821/gnu/testlet/java/awt/Choice/ItemListenerNegativeTest2.java0000644000175000001440000000665611650026672025026 0ustar dokousers// ItemListenerNegativeTest2.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Choice; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if ItemListener could be registered for an AWT Choice * and if action is *not* performed when third mouse choice is pressed. */ public class ItemListenerNegativeTest2 extends Panel implements Testlet { boolean itemStateChangedFlag = false; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); Choice choice = new Choice(); choice.add("first"); choice.add("second"); choice.add("third"); choice.setBackground(Color.blue); add(choice); choice.addItemListener( new ItemListener() { public void itemStateChanged(ItemEvent e) { itemStateChangedFlag = true; } } ); frame.add(this); frame.pack(); frame.show(); // AWT robot is used performing some actions // also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); Rectangle bounds = choice.getBounds(); Point loc = frame.getLocationOnScreen(); Insets i = frame.getInsets(); bounds.x += i.left + loc.x; bounds.y += i.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move the mouse cursor to a tested pixel to show users what's checked robot.mouseMove(checkedPixelX, checkedPixelY); robot.waitForIdle(); robot.mousePress(InputEvent.BUTTON3_MASK); robot.delay(250); robot.mouseRelease(InputEvent.BUTTON3_MASK); robot.delay(250); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necesarry to clean up the component from desktop frame.dispose(); // check if action was performed harness.check(!itemStateChangedFlag); } public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Choice/remove.java0000644000175000001440000000633710463703562021307 0ustar dokousers/* remove.java Copyright (C) 2006 Tania Bento This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.4 package gnu.testlet.java.awt.Choice; import java.awt.Choice; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class remove implements Testlet { public void test(TestHarness harness) { Choice c = new Choice(); // testing remove with only one item harness.check(c.getSelectedIndex(), -1); harness.check(c.getItemCount(), 0); c.add("item1"); harness.check(c.getSelectedIndex(), 0); harness.check(c.getItemCount(), 1); c.select(0); harness.check(c.getSelectedIndex(), 0); c.remove(0); harness.check(c.getSelectedIndex(), -1); harness.check(c.getItemCount(), 0); // testing remove with two items c.add("item1"); c.add("item2"); harness.check(c.getItemCount(), 2); c.select(0); harness.check(c.getSelectedIndex(), 0); c.select(1); harness.check(c.getSelectedIndex(), 1); c.remove(1); harness.check(c.getSelectedIndex(), 0); harness.check(c.getItemCount(), 1); c.remove(0); harness.check(c.getSelectedIndex(), -1); harness.check(c.getItemCount(), 0); // testing remove with more than two items harness.check(c.getSelectedIndex(), -1); c.add("item1"); harness.check(c.getSelectedIndex(), 0); c.add("item2"); harness.check(c.getSelectedIndex(), 0); c.add("item3"); harness.check(c.getSelectedIndex(), 0); c.add("item4"); harness.check(c.getSelectedIndex(), 0); harness.check(c.getItemCount(), 4); c.select(2); harness.check(c.getSelectedIndex(), 2); c.select(1); harness.check(c.getSelectedIndex(), 1); c.remove(1); harness.check(c.getSelectedIndex(), 0); harness.check(c.getItemCount(), 3); c.remove(0); harness.check(c.getSelectedIndex(), 0); harness.check(c.getItemCount(), 2); c.remove(0); harness.check(c.getSelectedIndex(), 0); harness.check(c.getItemCount(), 1); c.remove(0); harness.check(c.getSelectedIndex(), -1); harness.check(c.getItemCount(), 0); // testing remove with invalid indexes. boolean fail = false; try { c.remove(2); } catch (ArrayIndexOutOfBoundsException e) { fail = true; } harness.check(fail); // testing remove on last index c.add("item1"); c.add("item2"); c.add("item3"); harness.check(c.getSelectedIndex(), 0); c.select(2); harness.check(c.getSelectedIndex(), 2); c.remove(2); harness.check(c.getSelectedIndex(), 0); } } mauve-20140821/gnu/testlet/java/awt/Choice/addPropertyChangeListener.java0000644000175000001440000000466011672141663025121 0ustar dokousers// addPropertyChangeListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Choice; import java.awt.Color; import java.awt.Choice; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Check if {@link PropertyChangeListener} could be registered for an AWT {@link Choice}. */ public class addPropertyChangeListener implements Testlet { private static final String PROPERTY_CHANGE_LISTENER_NAME = "myProperlyChangeListener"; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Choice choice = new Choice(); choice.setBackground(Color.blue); // array which will be filled by registered listeners PropertyChangeListener[] properlyChangeListeners; // get all registered listeners properlyChangeListeners = choice.getPropertyChangeListeners(); harness.check(properlyChangeListeners.length, 0); // register new listener choice.addPropertyChangeListener(new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { // empty block } @Override public String toString() { return PROPERTY_CHANGE_LISTENER_NAME; } }); // get all registered listeners properlyChangeListeners = choice.getPropertyChangeListeners(); harness.check(properlyChangeListeners.length, 1); // check if the proper listener is used harness.check(properlyChangeListeners[0].toString(), PROPERTY_CHANGE_LISTENER_NAME); } } mauve-20140821/gnu/testlet/java/awt/Choice/addFocusListener.java0000644000175000001440000000437411653503214023241 0ustar dokousers// addFocusListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Choice; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if FocusListener could be registered for an AWT Choice. */ public class addFocusListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Choice choice = new Choice(); choice.setBackground(Color.blue); // array which will be filled by registered listeners FocusListener[] focusListeners; // get all registered listeners focusListeners = choice.getFocusListeners(); harness.check(focusListeners.length, 0); // register new listener choice.addFocusListener( new FocusListener() { public void focusGained(FocusEvent e) { // empty } public void focusLost(FocusEvent e) { // empty } @Override public String toString() { return "myFocusListener"; } } ); // get all registered listeners focusListeners = choice.getFocusListeners(); harness.check(focusListeners.length, 1); // check if the proper listener is used harness.check(focusListeners[0].toString(), "myFocusListener"); } } mauve-20140821/gnu/testlet/java/awt/AWTPermission/0000755000175000001440000000000012375316426020453 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/AWTPermission/constructor.java0000644000175000001440000000440211746017343023700 0ustar dokousers/* constructor.java Copyright (C) 2007, 2012 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.AWTPermission; import java.awt.AWTPermission; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class constructor implements Testlet { public void test(TestHarness harness) { AWTPermission permission = new AWTPermission("String"); harness.check(permission.getActions(), ""); harness.check(permission.getName(), "String"); if (conformToJDK17()) { harness.check(permission.toString(), "(\"java.awt.AWTPermission\" \"String\")"); } else { harness.check(permission.toString(), "(java.awt.AWTPermission String)"); } // String cannot be the empty string. boolean fail = false; try { permission = new AWTPermission(""); } catch (IllegalArgumentException e) { fail = true; } harness.check(fail); // Name cannot be null. fail = false; try { permission = new AWTPermission(null); } catch (NullPointerException e) { fail = true; } harness.check(fail); } /** * Returns true if tested JRE conformns to JDK 1.7. * @author: Mark Wielaard */ private static boolean conformToJDK17() { String[] javaVersion = System.getProperty("java.version").split("\\."); String vendorID = System.getProperty("java.vendor"); // test of OpenJDK if ("Sun Microsystems Inc.".equals(vendorID)) { return Long.parseLong(javaVersion[1]) >= 7; } return true; } } mauve-20140821/gnu/testlet/java/awt/FontFormatException/0000755000175000001440000000000012375316426021705 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/FontFormatException/constructor.java0000644000175000001440000000357211733061127025134 0ustar dokousers// constructor.java -- // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.FontFormatException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.FontFormatException; /** * Check of method constructor for a class FontFormatException. */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Throwable a; a = new FontFormatException(""); harness.check(a.getMessage(), ""); a = new FontFormatException("FontFormatException"); harness.check(a.getMessage(), "FontFormatException"); try { throw new FontFormatException(""); } catch (Throwable t) { harness.check(t.getMessage(), ""); harness.check(t instanceof FontFormatException); } try { throw new FontFormatException("FontFormatException"); } catch (Throwable t) { harness.check(t.getMessage(), "FontFormatException"); harness.check(t instanceof FontFormatException); } } } mauve-20140821/gnu/testlet/java/awt/LocationTests.java0000644000175000001440000001034610377121477021411 0ustar dokousers/* LocationTests.java -- Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK 1.4 package gnu.testlet.java.awt; import java.awt.Color; import java.awt.Rectangle; import java.awt.Robot; import gnu.testlet.TestHarness; /** * This class tests the location of a rectangle on the screen * using the colors of the rectangle and a given color. * * @author langel (langel at redhat dot com) */ public class LocationTests { /** * Compares two colors. * * @param a - * Color to compare. * @param b - * Color to compare. * @param match - * true if colors should be equivalent. */ public static void checkColor(TestHarness h, Color a, Color b, boolean match) { if (match) h.check(a.getRed() == b.getRed() && a.getGreen() == b.getGreen() && a.getBlue() == b.getBlue()); else h.check(!(a.getRed() == b.getRed() && a.getGreen() == b.getGreen() && a.getBlue() == b.getBlue())); } /** * This method checks that the pixels outside of the rectange, at all corners, * match (or don't match) a given color. * * @param r - * the Robot to use to get the pixel color at a location. * @param rect - * the Rectangle to check * @param comp - * the Color to compare the pixel colors to. * @param match - * true if the pixel outside the rectangle corner should be * equivalent to comp. */ public static void checkRectangleOuterColors(TestHarness h, Robot r, Rectangle rect, Color comp, boolean match) { Color c; // top-left-left c = r.getPixelColor(rect.x - 1, rect.y); checkColor(h, c, comp, match); // top-left-top r.getPixelColor(rect.x, rect.y - 1); checkColor(h, c, comp, match); // top-right-right r.getPixelColor((rect.x + rect.width - 1) + 1, rect.y); checkColor(h, c, comp, match); // top-right-top r.getPixelColor((rect.x + rect.width - 1), rect.y - 1); checkColor(h, c, comp, match); // bottom-left-left r.getPixelColor(rect.x - 1, (rect.y + rect.height - 1)); checkColor(h, c, comp, match); // bottom-left-bottom r.getPixelColor(rect.x, (rect.y + rect.height - 1) + 1); checkColor(h, c, comp, match); // bottom-right-right r.getPixelColor((rect.x + rect.width - 1) + 1, (rect.y + rect.height - 1)); checkColor(h, c, comp, match); // bottom-right-bottom r.getPixelColor((rect.x + rect.width - 1), (rect.y + rect.height - 1) + 1); checkColor(h, c, comp, match); } /** * This method checks the pixel colors of a Rectangle's corners. * * @param r - * the Robot to use to get the pixel colors. * @param rect - * the Rectangle to check. * @param comp - * the Color to compare. * @param match - * true if the corner pixel color of the rectangle should be * equivalent to comp. */ public static void checkRectangleCornerColors(TestHarness h, Robot r, Rectangle rect, Color comp, boolean match) { Color c; // top-left c = r.getPixelColor(rect.x, rect.y); checkColor(h, c, comp, match); // top-right c = r.getPixelColor(rect.x + rect.width - 1, rect.y); checkColor(h, c, comp, match); // bottom-left c = r.getPixelColor(rect.x, rect.y + rect.height - 1); checkColor(h, c, comp, match); // bottom-right c = r.getPixelColor(rect.x + rect.width - 1, rect.y + rect.height - 1); checkColor(h, c, comp, match); } } mauve-20140821/gnu/testlet/java/awt/Label/0000755000175000001440000000000012375316426016766 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/Label/addPropertyChangeListenerString.java0000644000175000001440000000470111672141663026131 0ustar dokousers// addPropertyChangeListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Label; import java.awt.Color; import java.awt.Label; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Check if {@link PropertyChangeListener} could be registered for an AWT {@link Label}. */ public class addPropertyChangeListenerString implements Testlet { private static final String PROPERTY_CHANGE_LISTENER_NAME = "myProperlyChangeListener"; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Label label = new Label("xyzzy"); label.setBackground(Color.blue); // array which will be filled by registered listeners PropertyChangeListener[] properlyChangeListeners; // get all registered listeners properlyChangeListeners = label.getPropertyChangeListeners(); harness.check(properlyChangeListeners.length, 0); // register new listener label.addPropertyChangeListener("font", new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { // empty block } @Override public String toString() { return PROPERTY_CHANGE_LISTENER_NAME; } }); // get all registered listeners properlyChangeListeners = label.getPropertyChangeListeners("font"); harness.check(properlyChangeListeners.length, 1); // check if the proper listener is used harness.check(properlyChangeListeners[0].toString(), PROPERTY_CHANGE_LISTENER_NAME); } } mauve-20140821/gnu/testlet/java/awt/Label/addComponentListener.java0000644000175000001440000000475511673634763023774 0ustar dokousers// addComponentListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Label; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; import java.awt.event.*; /** * Check if {@link ComponentListener} could be registered for an AWT {@link Label}. */ public class addComponentListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Label label = new Label("xyzzy"); label.setBackground(Color.blue); // array which will be filled by registered listeners ComponentListener[] componentListeners; // get all registered listeners componentListeners = label.getComponentListeners(); harness.check(componentListeners.length, 0); // register new listener label.addComponentListener( new ComponentListener() { public void componentHidden(ComponentEvent e) { // empty } public void componentMoved(ComponentEvent e) { // empty } public void componentResized(ComponentEvent e) { // empty } public void componentShown(ComponentEvent e) { // empty } @Override public String toString() { return "myComponentListener"; } } ); // get all registered listeners componentListeners = label.getComponentListeners(); harness.check(componentListeners.length, 1); // check if the proper listener is used harness.check(componentListeners[0].toString(), "myComponentListener"); } } mauve-20140821/gnu/testlet/java/awt/Label/constructors.java0000644000175000001440000000546711673634763022424 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.Label; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Label; /** * {@link Label} constructors test */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // test constructor without any parameter Label label1 = new Label(); harness.check(label1 != null); doCommonTests(harness, label1); // test one parameter constructor Label label2 = new Label("xyzzy"); harness.check(label2 != null); harness.check(label2.getText(), "xyzzy"); doCommonTests(harness, label2); // test two parameters constructor Label label3 = new Label("xyzzy", Label.CENTER); harness.check(label3 != null); harness.check(label3.getText(), "xyzzy"); harness.check(label3.getAlignment(), Label.CENTER); doCommonTests(harness, label3); Label label4 = new Label("xyzzy", Label.LEFT); harness.check(label4 != null); harness.check(label4.getText(), "xyzzy"); harness.check(label4.getAlignment(), Label.LEFT); doCommonTests(harness, label4); Label label5 = new Label("xyzzy", Label.RIGHT); harness.check(label5 != null); harness.check(label5.getText(), "xyzzy"); harness.check(label5.getAlignment(), Label.RIGHT); doCommonTests(harness, label5); } public void doCommonTests(TestHarness harness, Label label) { // label text checks label.setText("42"); harness.check(label.getText(), "42"); label.setText(""); harness.check(label.getText(), ""); label.setText(null); harness.check(label.getText() == null); // alignment checks label.setAlignment(Label.CENTER); harness.check(label.getAlignment(), Label.CENTER); label.setAlignment(Label.LEFT); harness.check(label.getAlignment(), Label.LEFT); label.setAlignment(Label.RIGHT); harness.check(label.getAlignment(), Label.RIGHT); } } mauve-20140821/gnu/testlet/java/awt/Label/addMouseMotionListener.java0000644000175000001440000000447711673634763024311 0ustar dokousers// addMouseMotionListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Label; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; import java.awt.event.*; /** * Check if {@link MouseMotionListener} could be registered for an AWT {@link Label}. */ public class addMouseMotionListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Label label = new Label("xyzzy"); label.setBackground(Color.blue); // array which will be filled by registered listeners MouseMotionListener[] mouseMotionListeners; // get all registered listeners mouseMotionListeners = label.getMouseMotionListeners(); harness.check(mouseMotionListeners.length, 0); // register new listener label.addMouseMotionListener( new MouseMotionListener() { public void mouseDragged(MouseEvent e) { // empty } public void mouseMoved(MouseEvent e) { // empty } @Override public String toString() { return "myMouseMotionListener"; } } ); // get all registered listeners mouseMotionListeners = label.getMouseMotionListeners(); harness.check(mouseMotionListeners.length, 1); // check if the proper listener is used harness.check(mouseMotionListeners[0].toString(), "myMouseMotionListener"); } } mauve-20140821/gnu/testlet/java/awt/Label/setAlignment.java0000644000175000001440000000430211655011404022246 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.Label; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Label; // Test of method setAlignment() for the Label class. public class setAlignment implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // test constructor without any parameter Label label1 = new Label(); doTest(harness, label1); // test constructor with one parameter Label label2 = new Label("xyzzy"); doTest(harness, label2); // test constructor with two parameters Label label3 = new Label("xyzzy", Label.CENTER); doTest(harness, label3); // test constructor with two parameters Label label4 = new Label("xyzzy", Label.LEFT); doTest(harness, label4); // test constructor with two parameters Label label5 = new Label("xyzzy", Label.RIGHT); doTest(harness, label5); } /** * Check if method Label.setAlignment() is working properly. */ public void doTest(TestHarness harness, Label label) { label.setAlignment(Label.LEFT); harness.check(label.getAlignment(), Label.LEFT); label.setAlignment(Label.RIGHT); harness.check(label.getAlignment(), Label.RIGHT); label.setAlignment(Label.CENTER); harness.check(label.getAlignment(), Label.CENTER); } } mauve-20140821/gnu/testlet/java/awt/Label/addKeyListener.java0000644000175000001440000000441611673634763022554 0ustar dokousers// addKeyListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Label; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; import java.awt.event.*; /** * Check if {@link KeyListener} could be registered for an AWT {@link Label}. */ public class addKeyListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Label label = new Label("xyzzy"); label.setBackground(Color.blue); // array which will be filled by registered listeners KeyListener[] keyListeners; // get all registered listeners keyListeners = label.getKeyListeners(); harness.check(keyListeners.length, 0); // register new listener label.addKeyListener( new KeyListener() { public void keyPressed(KeyEvent e) { // empty } public void keyReleased(KeyEvent e) { // empty } public void keyTyped(KeyEvent e) { // empty } @Override public String toString() { return "myKeyListener"; } } ); // get all registered listeners keyListeners = label.getKeyListeners(); harness.check(keyListeners.length, 1); // check if the proper listener is used harness.check(keyListeners[0].toString(), "myKeyListener"); } } mauve-20140821/gnu/testlet/java/awt/Label/MouseMotionListenerTest.java0000644000175000001440000002000712144445271024447 0ustar dokousers// MouseMotionListenerTest.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Label; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; import java.awt.event.*; /** * Check if MouseMotionListener could be registered for an AWT Label * and if action is performed when some of mouse labels is pressed. */ public class MouseMotionListenerTest extends Panel implements Testlet { /** * Generated serial version UID. */ private static final long serialVersionUID = 4009815071982906794L; // these flags are set by MouseMotionListener private boolean mouseDraggedLabel1Flag = false; private boolean mouseDraggedLabel2Flag = false; private boolean mouseDraggedLabel3Flag = false; private boolean mouseMovedLabel1Flag = false; private boolean mouseMovedLabel2Flag = false; private boolean mouseMovedLabel3Flag = false; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ @SuppressWarnings("boxing") public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); Label label = new Label("The quick brown fox jumps over the lazy dog."); label.setBackground(Color.blue); add(label); // register new mouse motion listener label.addMouseMotionListener( new MouseMotionListener() { public void mouseDragged(MouseEvent e) { // figure out which label is pressed int modifiers = e.getModifiersEx(); setMouseDraggedLabel1Flag(isMouseDraggedLabel1Flag() | ((modifiers & InputEvent.BUTTON1_DOWN_MASK) != 0)); setMouseDraggedLabel2Flag(isMouseDraggedLabel2Flag() | ((modifiers & InputEvent.BUTTON2_DOWN_MASK) != 0)); setMouseDraggedLabel3Flag(isMouseDraggedLabel3Flag() | ((modifiers & InputEvent.BUTTON3_DOWN_MASK) != 0)); } public void mouseMoved(MouseEvent e) { // figure out which label is pressed int modifiers = e.getModifiersEx(); // none of the modifiers should be set setMouseMovedLabel1Flag(isMouseMovedLabel1Flag() | ((modifiers & InputEvent.BUTTON1_DOWN_MASK) != 0)); setMouseMovedLabel2Flag(isMouseMovedLabel2Flag() | ((modifiers & InputEvent.BUTTON2_DOWN_MASK) != 0)); setMouseMovedLabel3Flag(isMouseMovedLabel3Flag() | ((modifiers & InputEvent.BUTTON3_DOWN_MASK) != 0)); } } ); frame.add(this); frame.pack(); frame.setVisible(true); // AWT robot is used performing some actions // also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); // compute absolute coordinations of label on a screen Rectangle bounds = label.getBounds(); Point loc = frame.getLocationOnScreen(); Insets i = frame.getInsets(); bounds.x += i.left + loc.x; bounds.y += i.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // check mouse & label behavior using ALL mouse labels for (int mouseLabel : new Integer[] {InputEvent.BUTTON1_MASK, InputEvent.BUTTON2_MASK, InputEvent.BUTTON3_MASK}) { // move the mouse cursor outside the label robot.mouseMove(0, 0); robot.waitForIdle(); // move the mouse cursor to a tested pixel to show users what's checked robot.mouseMove(checkedPixelX - 20, checkedPixelY); robot.waitForIdle(); robot.delay(250); robot.mousePress(mouseLabel); robot.delay(250); robot.mouseMove(checkedPixelX + 20, checkedPixelY); robot.delay(250); robot.mouseRelease(mouseLabel); robot.delay(250); robot.mouseMove(checkedPixelX - 20, checkedPixelY); robot.delay(250); robot.mouseMove(checkedPixelX + 20, checkedPixelY); robot.delay(250); // move the mouse cursor outside the label robot.mouseMove(0, 0); robot.delay(250); } // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necessary to clean up the component from desktop frame.dispose(); // check if all actions were performed harness.check(isMouseDraggedLabel1Flag()); harness.check(isMouseDraggedLabel2Flag()); harness.check(isMouseDraggedLabel3Flag()); // negative tests harness.check(!isMouseMovedLabel1Flag()); harness.check(!isMouseMovedLabel2Flag()); harness.check(!isMouseMovedLabel3Flag()); } /** * Paint method for our implementation of a Panel */ @Override public void paint(Graphics graphics) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); graphics.drawImage(offScr, 0, 0, null); offG.dispose(); } /** * @param mouseDraggedLabel1Flag the mouseDraggedLabel1Flag to set */ public void setMouseDraggedLabel1Flag(boolean mouseDraggedLabel1Flag) { this.mouseDraggedLabel1Flag = mouseDraggedLabel1Flag; } /** * @return the mouseDraggedLabel1Flag */ public boolean isMouseDraggedLabel1Flag() { return this.mouseDraggedLabel1Flag; } /** * @param mouseDraggedLabel2Flag the mouseDraggedLabel2Flag to set */ public void setMouseDraggedLabel2Flag(boolean mouseDraggedLabel2Flag) { this.mouseDraggedLabel2Flag = mouseDraggedLabel2Flag; } /** * @return the mouseDraggedLabel2Flag */ public boolean isMouseDraggedLabel2Flag() { return this.mouseDraggedLabel2Flag; } /** * @param mouseDraggedLabel3Flag the mouseDraggedLabel3Flag to set */ public void setMouseDraggedLabel3Flag(boolean mouseDraggedLabel3Flag) { this.mouseDraggedLabel3Flag = mouseDraggedLabel3Flag; } /** * @return the mouseDraggedLabel3Flag */ public boolean isMouseDraggedLabel3Flag() { return this.mouseDraggedLabel3Flag; } /** * @param mouseMovedLabel1Flag the mouseMovedLabel1Flag to set */ public void setMouseMovedLabel1Flag(boolean mouseMovedLabel1Flag) { this.mouseMovedLabel1Flag = mouseMovedLabel1Flag; } /** * @return the mouseMovedLabel1Flag */ public boolean isMouseMovedLabel1Flag() { return this.mouseMovedLabel1Flag; } /** * @param mouseMovedLabel2Flag the mouseMovedLabel2Flag to set */ public void setMouseMovedLabel2Flag(boolean mouseMovedLabel2Flag) { this.mouseMovedLabel2Flag = mouseMovedLabel2Flag; } /** * @return the mouseMovedLabel2Flag */ public boolean isMouseMovedLabel2Flag() { return this.mouseMovedLabel2Flag; } /** * @param mouseMovedLabel3Flag the mouseMovedLabel3Flag to set */ public void setMouseMovedLabel3Flag(boolean mouseMovedLabel3Flag) { this.mouseMovedLabel3Flag = mouseMovedLabel3Flag; } /** * @return the mouseMovedLabel3Flag */ public boolean isMouseMovedLabel3Flag() { return this.mouseMovedLabel3Flag; } } mauve-20140821/gnu/testlet/java/awt/Label/addHierarchyListener.java0000644000175000001440000000432211673634763023736 0ustar dokousers// addHierarchyListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Label; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; import java.awt.event.*; /** * Check if {@link HierarchyListener} could be registered for an AWT {@link Label}. */ public class addHierarchyListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Label label = new Label("xyzzy"); label.setBackground(Color.blue); // array which will be filled by registered listeners HierarchyListener[] hierarchyListeners; // get all registered listeners hierarchyListeners = label.getHierarchyListeners(); harness.check(hierarchyListeners.length, 0); // register new listener label.addHierarchyListener( new HierarchyListener() { public void hierarchyChanged(HierarchyEvent e) { // empty } @Override public String toString() { return "myHierarchyListener"; } } ); // get all registered listeners hierarchyListeners = label.getHierarchyListeners(); harness.check(hierarchyListeners.length, 1); // check if the proper listener is used harness.check(hierarchyListeners[0].toString(), "myHierarchyListener"); } } mauve-20140821/gnu/testlet/java/awt/Label/MouseListenerTest.java0000644000175000001440000002450711673634763023306 0ustar dokousers// MouseListenerTest.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Label; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; import java.awt.event.*; /** * Check if {@link MouseListener} could be registered for an AWT {@link Label} * and if action is performed when some of mouse labels is pressed. */ public class MouseListenerTest extends Panel implements Testlet { /** * Generated serial version UID. */ private static final long serialVersionUID = 477052346645513905L; /** * These flags are set by MouseListener */ private boolean mouseClickedLabel1Flag = false; private boolean mouseClickedLabel2Flag = false; private boolean mouseClickedLabel3Flag = false; private boolean mousePressedLabel1Flag = false; private boolean mousePressedLabel2Flag = false; private boolean mousePressedLabel3Flag = false; private boolean mouseReleasedLabel1Flag = false; private boolean mouseReleasedLabel2Flag = false; private boolean mouseReleasedLabel3Flag = false; private boolean mouseEnteredFlag = false; private boolean mouseExitedFlag = false; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ @SuppressWarnings("boxing") public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); Label label = new Label("xyzzy"); label.setBackground(Color.blue); add(label); // register new mouse listener label.addMouseListener( new MouseListener() { public void mouseClicked(MouseEvent e) { // figure out which label is pressed switch (e.getButton()) { case MouseEvent.BUTTON1: setMouseClickedLabel1Flag(true); break; case MouseEvent.BUTTON2: setMouseClickedLabel2Flag(true); break; case MouseEvent.BUTTON3: setMouseClickedLabel3Flag(true); break; default: break; } } public void mouseEntered(MouseEvent e) { setMouseEnteredFlag(true); } public void mouseExited(MouseEvent e) { setMouseExitedFlag(true); } public void mousePressed(MouseEvent e) { // figure out which label is pressed switch (e.getButton()) { case MouseEvent.BUTTON1: setMousePressedLabel1Flag(true); break; case MouseEvent.BUTTON2: setMousePressedLabel2Flag(true); break; case MouseEvent.BUTTON3: setMousePressedLabel3Flag(true); break; default: break; } } public void mouseReleased(MouseEvent e) { // figure out which label was pressed switch (e.getButton()) { case MouseEvent.BUTTON1: setMouseReleasedLabel1Flag(true); break; case MouseEvent.BUTTON2: setMouseReleasedLabel2Flag(true); break; case MouseEvent.BUTTON3: setMouseReleasedLabel3Flag(true); break; default: break; } } } ); frame.add(this); frame.pack(); frame.setVisible(true); // AWT robot is used performing some actions // also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); // compute absolute coordinations of label on a screen Rectangle bounds = label.getBounds(); Point loc = frame.getLocationOnScreen(); Insets i = frame.getInsets(); bounds.x += i.left + loc.x; bounds.y += i.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // check mouse & label behavior using ALL mouse labels for (int mouseLabel : new Integer[] {InputEvent.BUTTON1_MASK, InputEvent.BUTTON2_MASK, InputEvent.BUTTON3_MASK}) { // move the mouse cursor outside the label robot.mouseMove(0, 0); robot.waitForIdle(); // move the mouse cursor to a tested pixel to show users what's checked robot.mouseMove(checkedPixelX, checkedPixelY); robot.waitForIdle(); robot.delay(250); // click = press + release robot.mousePress(mouseLabel); robot.delay(250); robot.mouseRelease(mouseLabel); robot.delay(250); // move the mouse cursor outside the label robot.mouseMove(0, 0); robot.delay(250); } // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necessary to clean up the component from desktop frame.dispose(); // check if all actions were correctly performed harness.check(this.isMouseClickedLabel1Flag()); harness.check(this.isMouseClickedLabel2Flag()); harness.check(this.isMouseClickedLabel3Flag()); harness.check(this.isMousePressedLabel1Flag()); harness.check(this.isMousePressedLabel2Flag()); harness.check(this.isMousePressedLabel3Flag()); harness.check(this.isMouseReleasedLabel1Flag()); harness.check(this.isMouseReleasedLabel2Flag()); harness.check(this.isMouseReleasedLabel3Flag()); harness.check(this.isMouseEnteredFlag()); harness.check(this.isMouseExitedFlag()); } /** * Paint method for our implementation of a Panel */ @Override public void paint(Graphics graphics) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); graphics.drawImage(offScr, 0, 0, null); offG.dispose(); } /** * @param mouseEnteredFlag the mouseEnteredFlag to set */ public void setMouseEnteredFlag(boolean mouseEnteredFlag) { this.mouseEnteredFlag = mouseEnteredFlag; } /** * @return the mouseEnteredFlag */ public boolean isMouseEnteredFlag() { return this.mouseEnteredFlag; } /** * @param mouseExitedFlag the mouseExitedFlag to set */ public void setMouseExitedFlag(boolean mouseExitedFlag) { this.mouseExitedFlag = mouseExitedFlag; } /** * @return the mouseExitedFlag */ public boolean isMouseExitedFlag() { return this.mouseExitedFlag; } /** * @param mousePressedLabel1Flag the mousePressedLabel1Flag to set */ public void setMousePressedLabel1Flag(boolean mousePressedLabel1Flag) { this.mousePressedLabel1Flag = mousePressedLabel1Flag; } /** * @return the mousePressedLabel1Flag */ public boolean isMousePressedLabel1Flag() { return this.mousePressedLabel1Flag; } /** * @param mousePressedLabel2Flag the mousePressedLabel2Flag to set */ public void setMousePressedLabel2Flag(boolean mousePressedLabel2Flag) { this.mousePressedLabel2Flag = mousePressedLabel2Flag; } /** * @return the mousePressedLabel2Flag */ public boolean isMousePressedLabel2Flag() { return this.mousePressedLabel2Flag; } /** * @param mousePressedLabel3Flag the mousePressedLabel3Flag to set */ public void setMousePressedLabel3Flag(boolean mousePressedLabel3Flag) { this.mousePressedLabel3Flag = mousePressedLabel3Flag; } /** * @return the mousePressedLabel3Flag */ public boolean isMousePressedLabel3Flag() { return this.mousePressedLabel3Flag; } /** * @param mouseClickedLabel1Flag the mouseClickedLabel1Flag to set */ public void setMouseClickedLabel1Flag(boolean mouseClickedLabel1Flag) { this.mouseClickedLabel1Flag = mouseClickedLabel1Flag; } /** * @return the mouseClickedLabel1Flag */ public boolean isMouseClickedLabel1Flag() { return this.mouseClickedLabel1Flag; } /** * @param mouseClickedLabel2Flag the mouseClickedLabel2Flag to set */ public void setMouseClickedLabel2Flag(boolean mouseClickedLabel2Flag) { this.mouseClickedLabel2Flag = mouseClickedLabel2Flag; } /** * @return the mouseClickedLabel2Flag */ public boolean isMouseClickedLabel2Flag() { return this.mouseClickedLabel2Flag; } /** * @param mouseClickedLabel3Flag the mouseClickedLabel3Flag to set */ public void setMouseClickedLabel3Flag(boolean mouseClickedLabel3Flag) { this.mouseClickedLabel3Flag = mouseClickedLabel3Flag; } /** * @return the mouseClickedLabel3Flag */ public boolean isMouseClickedLabel3Flag() { return this.mouseClickedLabel3Flag; } /** * @param mouseReleasedLabel1Flag the mouseReleasedLabel1Flag to set */ public void setMouseReleasedLabel1Flag(boolean mouseReleasedLabel1Flag) { this.mouseReleasedLabel1Flag = mouseReleasedLabel1Flag; } /** * @return the mouseReleasedLabel1Flag */ public boolean isMouseReleasedLabel1Flag() { return this.mouseReleasedLabel1Flag; } /** * @param mouseReleasedLabel2Flag the mouseReleasedLabel2Flag to set */ public void setMouseReleasedLabel2Flag(boolean mouseReleasedLabel2Flag) { this.mouseReleasedLabel2Flag = mouseReleasedLabel2Flag; } /** * @return the mouseReleasedLabel2Flag */ public boolean isMouseReleasedLabel2Flag() { return this.mouseReleasedLabel2Flag; } /** * @param mouseReleasedLabel3Flag the mouseReleasedLabel3Flag to set */ public void setMouseReleasedLabel3Flag(boolean mouseReleasedLabel3Flag) { this.mouseReleasedLabel3Flag = mouseReleasedLabel3Flag; } /** * @return the mouseReleasedLabel3Flag */ public boolean isMouseReleasedLabel3Flag() { return this.mouseReleasedLabel3Flag; } } mauve-20140821/gnu/testlet/java/awt/Label/addHierarchyBoundsListener.java0000644000175000001440000000464711673634763025123 0ustar dokousers// addHierarchyBoundsListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Label; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; import java.awt.event.*; /** * Check if {@link HierarchyBoundsListener} could be registered for an AWT {@link Label}. */ public class addHierarchyBoundsListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Label label = new Label("xyzzy"); label.setBackground(Color.blue); // array which will be filled by registered listeners HierarchyBoundsListener[] hierarchyBoundsListeners; // get all registered listeners hierarchyBoundsListeners = label.getHierarchyBoundsListeners(); harness.check(hierarchyBoundsListeners.length, 0); // register new listener label.addHierarchyBoundsListener( new HierarchyBoundsListener() { public void ancestorMoved(HierarchyEvent e) { // empty } public void ancestorResized(HierarchyEvent e) { // empty } @Override public String toString() { return "myHierarchyBoundsListener"; } } ); // get all registered listeners hierarchyBoundsListeners = label.getHierarchyBoundsListeners(); harness.check(hierarchyBoundsListeners.length, 1); // check if the proper listener is used harness.check(hierarchyBoundsListeners[0].toString(), "myHierarchyBoundsListener"); } } mauve-20140821/gnu/testlet/java/awt/Label/list.java0000644000175000001440000000424311655011404020573 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.Label; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Label; // test of method list() public class list implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // test constructor without any parameter Label label1 = new Label(); label1.list(); label1.list(System.out); label1.list(System.out, 0); label1.list(System.out, 10); // test constructor with one parameter Label label2 = new Label("xyzzy"); label2.list(); label2.list(System.out); label2.list(System.out, 0); label2.list(System.out, 10); // test constructor with two parameters Label label3 = new Label("xyzzy", Label.CENTER); label3.list(); label3.list(System.out); label3.list(System.out, 0); label3.list(System.out, 10); // test constructor with two parameters Label label4 = new Label("xyzzy", Label.LEFT); label4.list(); label4.list(System.out); label4.list(System.out, 0); label4.list(System.out, 10); // test constructor with two parameters Label label5 = new Label("xyzzy", Label.RIGHT); label5.list(); label5.list(System.out); label5.list(System.out, 0); label5.list(System.out, 10); } } mauve-20140821/gnu/testlet/java/awt/Label/MouseWheelListenerTest.java0000644000175000001440000001135711673634763024272 0ustar dokousers// MouseWheelListenerTest.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Label; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; import java.awt.event.*; /** * Check if MouseWheelListener could be registered for an AWT Label * and if action is performed when mouse wheel is rotated up and down. */ public class MouseWheelListenerTest extends Panel implements Testlet { /** * Generated serial version UID. */ private static final long serialVersionUID = -4774724125231540431L; // these flags are set by MouseWheelListener private boolean mouseWheelScrollUpFlag = false; private boolean mouseWheelScrollDownFlag = false; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); Label label = new Label("xyzzy"); label.setBackground(Color.blue); add(label); // register new mouse wheel listener label.addMouseWheelListener( new MouseWheelListener() { public void mouseWheelMoved(MouseWheelEvent e) { // figure out if mouse wheel is scrolled up or down setMouseWheelScrollUpFlag(isMouseWheelScrollUpFlag() | (e.getWheelRotation() < 0)); setMouseWheelScrollDownFlag(isMouseWheelScrollDownFlag() | (e.getWheelRotation() > 0)); } } ); frame.add(this); frame.pack(); frame.setVisible(true); // AWT robot is used performing some actions // also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); // compute absolute coordinations of label on a screen Rectangle bounds = label.getBounds(); Point loc = frame.getLocationOnScreen(); Insets i = frame.getInsets(); bounds.x += i.left + loc.x; bounds.y += i.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move the mouse cursor to a tested pixel to show users what's checked robot.mouseMove(checkedPixelX, checkedPixelY); robot.waitForIdle(); robot.delay(250); robot.mouseWheel(+1); robot.delay(250); robot.mouseWheel(-1); robot.delay(250); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necessary to clean up the component from desktop frame.dispose(); // check if all actions were performed harness.check(isMouseWheelScrollUpFlag()); harness.check(isMouseWheelScrollDownFlag()); } /** * Paint method for our implementation of a Panel */ @Override public void paint(Graphics graphics) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); graphics.drawImage(offScr, 0, 0, null); offG.dispose(); } /** * @param mouseWheelScrollUpFlag the mouseWheelScrollUpFlag to set */ public void setMouseWheelScrollUpFlag(boolean mouseWheelScrollUpFlag) { this.mouseWheelScrollUpFlag = mouseWheelScrollUpFlag; } /** * @return the mouseWheelScrollUpFlag */ public boolean isMouseWheelScrollUpFlag() { return this.mouseWheelScrollUpFlag; } /** * @param mouseWheelScrollDownFlag the mouseWheelScrollDownFlag to set */ public void setMouseWheelScrollDownFlag(boolean mouseWheelScrollDownFlag) { this.mouseWheelScrollDownFlag = mouseWheelScrollDownFlag; } /** * @return the mouseWheelScrollDownFlag */ public boolean isMouseWheelScrollDownFlag() { return this.mouseWheelScrollDownFlag; } } mauve-20140821/gnu/testlet/java/awt/Label/getAlignment.java0000644000175000001440000000404611655011404022237 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.Label; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Label; // Test of method getAlignment() for the Label class. public class getAlignment implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // use constructor without any parameter Label label1 = new Label(); // check the alignment harness.check(label1.getAlignment(), Label.LEFT); // use constructor with one parameter Label label2 = new Label("xyzzy"); // check the alignment harness.check(label2.getAlignment(), Label.LEFT); // use constructor with two parameters Label label3 = new Label("xyzzy", Label.CENTER); // check the alignment harness.check(label3.getAlignment(), Label.CENTER); // use constructor with two parameters Label label4 = new Label("xyzzy", Label.LEFT); // check the alignment harness.check(label4.getAlignment(), Label.LEFT); // use constructor with two parameters Label label5 = new Label("xyzzy", Label.RIGHT); // check the alignment harness.check(label5.getAlignment(), Label.RIGHT); } } mauve-20140821/gnu/testlet/java/awt/Label/PaintTest.java0000644000175000001440000000634311673634763021561 0ustar dokousers/* PaintTest.java -- Copyright (C) 2006, 2011 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GUI, JDK 1.0 package gnu.testlet.java.awt.Label; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Label; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; /** * Test if Label could be painted correctly. */ public class PaintTest extends Panel implements Testlet { /** * Generated serial version UID. */ private static final long serialVersionUID = 4737615313184489246L; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); Label label = new Label("label"); label.setBackground(Color.blue); add(label); frame.add(this); frame.pack(); frame.setVisible(true); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); Point loc = frame.getLocationOnScreen(); Rectangle bounds = label.getBounds(); Insets i = frame.getInsets(); bounds.x += loc.x + i.left; bounds.y += loc.y + i.top; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2 + 5; // move the mouse cursor to a tested pixel to show users what's checked robot.mouseMove(checkedPixelX, checkedPixelY); robot.waitForIdle(); // check the color of a pixel located in the button center Color labelColor = robot.getPixelColor(checkedPixelX, checkedPixelY); harness.check(labelColor.equals(Color.blue)); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necessary to clean up the component from desktop frame.dispose(); } @Override public void paint(Graphics graphics) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); graphics.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Label/addMouseListener.java0000644000175000001440000000500311673634763023105 0ustar dokousers// addMouseListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Label; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; import java.awt.event.*; /** * Check if {@link MouseListener} could be registered for an AWT {@link Label}. */ public class addMouseListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Label label = new Label("xyzzy"); label.setBackground(Color.blue); // array which will be filled by registered mouse listeners MouseListener[] mouseListeners; // get all registered mouse listeners mouseListeners = label.getMouseListeners(); harness.check(mouseListeners.length, 0); // register new mouse listener label.addMouseListener( new MouseListener() { public void mouseClicked(MouseEvent e) { // empty } public void mouseEntered(MouseEvent e) { // empty } public void mouseExited(MouseEvent e) { // empty } public void mousePressed(MouseEvent e) { // empty } public void mouseReleased(MouseEvent e) { // empty } @Override public String toString() { return "myMouseListener"; } } ); // get all registered mouse listeners mouseListeners = label.getMouseListeners(); harness.check(mouseListeners.length, 1); // check if the proper listener is used harness.check(mouseListeners[0].toString(), "myMouseListener"); } } mauve-20140821/gnu/testlet/java/awt/Label/addInputMethodListener.java0000644000175000001440000000455111673634763024264 0ustar dokousers// addInputMethodListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Label; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; import java.awt.event.*; /** * Check if {@link InputMethodListener} could be registered for an AWT {@link Label}. */ public class addInputMethodListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Label label = new Label("xyzzy"); label.setBackground(Color.blue); // array which will be filled by registered listeners InputMethodListener[] inputMethodListeners; // get all registered listeners inputMethodListeners = label.getInputMethodListeners(); harness.check(inputMethodListeners.length, 0); // register new listener label.addInputMethodListener( new InputMethodListener() { public void caretPositionChanged(InputMethodEvent event) { // empty } public void inputMethodTextChanged(InputMethodEvent event) { // empty } @Override public String toString() { return "myInputMethodListener"; } } ); // get all registered listeners inputMethodListeners = label.getInputMethodListeners(); harness.check(inputMethodListeners.length, 1); // check if the proper listener is used harness.check(inputMethodListeners[0].toString(), "myInputMethodListener"); } } mauve-20140821/gnu/testlet/java/awt/Label/addMouseWheelListener.java0000644000175000001440000000434211673634763024077 0ustar dokousers// addMouseWheelListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Label; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; import java.awt.event.*; /** * Check if {@link MouseWheelListener} could be registered for an AWT {@link Label}. */ public class addMouseWheelListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Label label = new Label("xyzzy"); label.setBackground(Color.blue); // array which will be filled by registered listeners MouseWheelListener[] mouseWheelListeners; // get all registered listeners mouseWheelListeners = label.getMouseWheelListeners(); harness.check(mouseWheelListeners.length, 0); // register new listener label.addMouseWheelListener( new MouseWheelListener() { public void mouseWheelMoved(MouseWheelEvent e) { // empty } @Override public String toString() { return "myMouseWheelListener"; } } ); // get all registered listeners mouseWheelListeners = label.getMouseWheelListeners(); harness.check(mouseWheelListeners.length, 1); // check if the proper listener is used harness.check(mouseWheelListeners[0].toString(), "myMouseWheelListener"); } } mauve-20140821/gnu/testlet/java/awt/Label/addPropertyChangeListener.java0000644000175000001440000000465511673634763024763 0ustar dokousers// addPropertyChangeListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Label; import java.awt.Color; import java.awt.Label; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Check if {@link PropertyChangeListener} could be registered for an AWT {@link Label}. */ public class addPropertyChangeListener implements Testlet { private static final String PROPERTY_CHANGE_LISTENER_NAME = "myProperlyChangeListener"; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Label label = new Label("xyzzy"); label.setBackground(Color.blue); // array which will be filled by registered listeners PropertyChangeListener[] properlyChangeListeners; // get all registered listeners properlyChangeListeners = label.getPropertyChangeListeners(); harness.check(properlyChangeListeners.length, 0); // register new listener label.addPropertyChangeListener(new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { // empty block } @Override public String toString() { return PROPERTY_CHANGE_LISTENER_NAME; } }); // get all registered listeners properlyChangeListeners = label.getPropertyChangeListeners(); harness.check(properlyChangeListeners.length, 1); // check if the proper listener is used harness.check(properlyChangeListeners[0].toString(), PROPERTY_CHANGE_LISTENER_NAME); } } mauve-20140821/gnu/testlet/java/awt/Label/addFocusListener.java0000644000175000001440000000433711673634763023105 0ustar dokousers// addFocusListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Label; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; import java.awt.event.*; /** * Check if {@link FocusListener} could be registered for an AWT {@link Label}. */ public class addFocusListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Label label = new Label("xyzzy"); label.setBackground(Color.blue); // array which will be filled by registered listeners FocusListener[] focusListeners; // get all registered listeners focusListeners = label.getFocusListeners(); harness.check(focusListeners.length, 0); // register new listener label.addFocusListener( new FocusListener() { public void focusGained(FocusEvent e) { // empty } public void focusLost(FocusEvent e) { // empty } @Override public String toString() { return "myFocusListener"; } } ); // get all registered listeners focusListeners = label.getFocusListeners(); harness.check(focusListeners.length, 1); // check if the proper listener is used harness.check(focusListeners[0].toString(), "myFocusListener"); } } mauve-20140821/gnu/testlet/java/awt/Checkbox/0000755000175000001440000000000012375316426017475 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/Checkbox/addPropertyChangeListenerString.java0000644000175000001440000000473011671627032026640 0ustar dokousers// addPropertyChangeListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Checkbox; import java.awt.Color; import java.awt.Checkbox; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Check if {@link PropertyChangeListener} could be registered for an AWT {@link Checkbox}. */ public class addPropertyChangeListenerString implements Testlet { private static final String PROPERTY_CHANGE_LISTENER_NAME = "myProperlyChangeListener"; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Checkbox checkbox = new Checkbox(); checkbox.setBackground(Color.blue); // array which will be filled by registered listeners PropertyChangeListener[] properlyChangeListeners; // get all registered listeners properlyChangeListeners = checkbox.getPropertyChangeListeners(); harness.check(properlyChangeListeners.length, 0); // register new listener checkbox.addPropertyChangeListener("font", new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { // empty block } @Override public String toString() { return PROPERTY_CHANGE_LISTENER_NAME; } }); // get all registered listeners properlyChangeListeners = checkbox.getPropertyChangeListeners("font"); harness.check(properlyChangeListeners.length, 1); // check if the proper listener is used harness.check(properlyChangeListeners[0].toString(), PROPERTY_CHANGE_LISTENER_NAME); } } mauve-20140821/gnu/testlet/java/awt/Checkbox/addComponentListener.java0000644000175000001440000000504311646003461024453 0ustar dokousers// addComponentListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Checkbox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if ComponentListener could be registered for an AWT Checkbox. */ public class addComponentListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Checkbox checkbox = new Checkbox("xyzzy"); checkbox.setBackground(Color.blue); // array which will be filled by registered listeners ComponentListener[] componentListeners; // get all registered listeners componentListeners = checkbox.getComponentListeners(); harness.check(componentListeners.length, 0); // register new listener checkbox.addComponentListener( new ComponentListener() { public void componentHidden(ComponentEvent e) { // empty } public void componentMoved(ComponentEvent e) { // empty } public void componentResized(ComponentEvent e) { // empty } public void componentShown(ComponentEvent e) { // empty } @Override public String toString() { return "myComponentListener"; } } ); // get all registered listeners componentListeners = checkbox.getComponentListeners(); harness.check(componentListeners.length, 1); // check if the proper listener is used harness.check(componentListeners[0].toString(), "myComponentListener"); } } mauve-20140821/gnu/testlet/java/awt/Checkbox/constructors.java0000644000175000001440000000530311642622027023102 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.Checkbox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Checkbox; // Checkbox constructors test public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // test constructor without any parameter Checkbox checkbox1 = new Checkbox(); harness.check(checkbox1 != null); harness.check(!checkbox1.getState()); doCommonTests(harness, checkbox1); // test one parameter constructor Checkbox checkbox2 = new Checkbox("xyzzy"); harness.check(checkbox2 != null); harness.check(checkbox2.getLabel(), "xyzzy"); harness.check(!checkbox2.getState()); doCommonTests(harness, checkbox2); // test two parameters constructor Checkbox checkbox3 = new Checkbox("xyzzy", false); harness.check(checkbox3 != null); harness.check(checkbox3.getLabel(), "xyzzy"); harness.check(!checkbox3.getState()); doCommonTests(harness, checkbox3); // test two parameters constructor Checkbox checkbox4 = new Checkbox("xyzzy", true); harness.check(checkbox4 != null); harness.check(checkbox4.getLabel(), "xyzzy"); harness.check(checkbox4.getState()); doCommonTests(harness, checkbox4); } public void doCommonTests(TestHarness harness, Checkbox checkbox) { // label checks checkbox.setLabel("42"); harness.check(checkbox.getLabel(), "42"); checkbox.setLabel(""); harness.check(checkbox.getLabel(), ""); checkbox.setLabel(" "); harness.check(checkbox.getLabel(), " "); checkbox.setLabel(null); harness.check(checkbox.getLabel() == null); // state checks checkbox.setState(true); harness.check(checkbox.getState()); checkbox.setState(false); harness.check(!checkbox.getState()); } } mauve-20140821/gnu/testlet/java/awt/Checkbox/addMouseMotionListener.java0000644000175000001440000000456511646003461024777 0ustar dokousers// addMouseMotionListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Checkbox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if MouseMotionListener could be registered for an AWT Checkbox. */ public class addMouseMotionListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Checkbox checkbox = new Checkbox("xyzzy"); checkbox.setBackground(Color.blue); // array which will be filled by registered listeners MouseMotionListener[] mouseMotionListeners; // get all registered listeners mouseMotionListeners = checkbox.getMouseMotionListeners(); harness.check(mouseMotionListeners.length, 0); // register new listener checkbox.addMouseMotionListener( new MouseMotionListener() { public void mouseDragged(MouseEvent e) { // empty } public void mouseMoved(MouseEvent e) { // empty } @Override public String toString() { return "myMouseMotionListener"; } } ); // get all registered listeners mouseMotionListeners = checkbox.getMouseMotionListeners(); harness.check(mouseMotionListeners.length, 1); // check if the proper listener is used harness.check(mouseMotionListeners[0].toString(), "myMouseMotionListener"); } } mauve-20140821/gnu/testlet/java/awt/Checkbox/KeyboardListenerAsciiKeys.java0000644000175000001440000001142711646003461025410 0ustar dokousers// KeyboardListenerAsciiKeys.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Checkbox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.Checkbox; import java.awt.Color; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Robot; import java.awt.Rectangle; import java.awt.event.*; import java.util.*; /** * Check if KeyListener could be registered for an AWT Checkbox * and if action is really performed. */ public class KeyboardListenerAsciiKeys extends Panel implements Testlet { int[] keysToTest = { KeyEvent.VK_A, KeyEvent.VK_Z, KeyEvent.VK_0, KeyEvent.VK_9, }; // these flags are set by KeyListener List keyPressedFlag = new ArrayList(); List keyReleasedFlag = new ArrayList(); List keyTypedFlag = new ArrayList(); /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); Checkbox checkbox = new Checkbox("xyzzy"); checkbox.setBackground(Color.blue); add(checkbox); // register new listener checkbox.addKeyListener( new KeyListener() { public void keyPressed(KeyEvent e) { keyPressedFlag.add(e.getKeyCode()); } public void keyReleased(KeyEvent e) { keyReleasedFlag.add(e.getKeyCode()); } public void keyTyped(KeyEvent e) { keyTypedFlag.add(0+e.getKeyChar()); } } ); frame.add(this); frame.pack(); frame.show(); // AWT robot is used performing some actions // also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); // compute absolute coordinations of checkbox on a screen Rectangle bounds = checkbox.getBounds(); Point loc = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + loc.x; bounds.y += insets.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; robot.mouseMove(checkedPixelX, checkedPixelY); robot.waitForIdle(); robot.delay(250); // have to use 1.4 syntax for (int i = 0; i < keysToTest.length; i++) { int key = keysToTest[i]; robot.keyPress(key); robot.delay(250); robot.keyRelease(key); robot.delay(250); } // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necesarry to clean up the component from desktop frame.dispose(); // check if all actions were correctly performed for (int i = 0; i < keysToTest.length; i++) { int key = keysToTest[i]; harness.check(keyPressedFlag.contains(key)); } for (int i = 0; i < keysToTest.length; i++) { int key = keysToTest[i]; harness.check(keyReleasedFlag.contains(key)); } for (int i = 0; i < keysToTest.length; i++) { int key = keysToTest[i]; // either 'A' or 'a' could be catched by keyTyped event harness.check(keyTypedFlag.contains(key) || keyTypedFlag.contains(key - 'A' + 'a')); } } /** * Paint method for our implementation of a Panel */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Checkbox/addKeyListener.java0000644000175000001440000000450411646003461023242 0ustar dokousers// addKeyListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Checkbox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if KeyListener could be registered for an AWT Checkbox. */ public class addKeyListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Checkbox checkbox = new Checkbox("xyzzy"); checkbox.setBackground(Color.blue); // array which will be filled by registered listeners KeyListener[] keyListeners; // get all registered listeners keyListeners = checkbox.getKeyListeners(); harness.check(keyListeners.length, 0); // register new listener checkbox.addKeyListener( new KeyListener() { public void keyPressed(KeyEvent e) { // empty } public void keyReleased(KeyEvent e) { // empty } public void keyTyped(KeyEvent e) { // empty } @Override public String toString() { return "myKeyListener"; } } ); // get all registered listeners keyListeners = checkbox.getKeyListeners(); harness.check(keyListeners.length, 1); // check if the proper listener is used harness.check(keyListeners[0].toString(), "myKeyListener"); } } mauve-20140821/gnu/testlet/java/awt/Checkbox/MouseMotionListenerTest.java0000644000175000001440000001277111650026672025170 0ustar dokousers// MouseMotionListenerTest.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Checkbox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if MouseMotionListener could be registered for an AWT Checkbox * and if action is performed when some of mouse buttons is pressed. */ public class MouseMotionListenerTest extends Panel implements Testlet { // these flags are set by MouseMotionListener boolean mouseDraggedButton1Flag = false; boolean mouseDraggedButton2Flag = false; boolean mouseDraggedButton3Flag = false; boolean mouseMovedButton1Flag = false; boolean mouseMovedButton2Flag = false; boolean mouseMovedButton3Flag = false; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); Checkbox checkbox = new Checkbox("xyzzy"); checkbox.setBackground(Color.blue); add(checkbox); // register new mouse motion listener checkbox.addMouseMotionListener( new MouseMotionListener() { public void mouseDragged(MouseEvent e) { // figure out which button is pressed int modifiers = e.getModifiersEx(); mouseDraggedButton1Flag |= (modifiers & MouseEvent.BUTTON1_DOWN_MASK) != 0; mouseDraggedButton2Flag |= (modifiers & MouseEvent.BUTTON2_DOWN_MASK) != 0; mouseDraggedButton3Flag |= (modifiers & MouseEvent.BUTTON3_DOWN_MASK) != 0; } public void mouseMoved(MouseEvent e) { // figure out which button is pressed int modifiers = e.getModifiersEx(); // none of the modifiers should be set mouseMovedButton1Flag |= (modifiers & MouseEvent.BUTTON1_DOWN_MASK) != 0; mouseMovedButton2Flag |= (modifiers & MouseEvent.BUTTON2_DOWN_MASK) != 0; mouseMovedButton3Flag |= (modifiers & MouseEvent.BUTTON3_DOWN_MASK) != 0; } } ); frame.add(this); frame.pack(); frame.show(); // AWT robot is used performing some actions // also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); // compute absolute coordinations of checkbox on a screen Rectangle bounds = checkbox.getBounds(); Point loc = frame.getLocationOnScreen(); Insets i = frame.getInsets(); bounds.x += i.left + loc.x; bounds.y += i.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // check mouse & button behaviour using ALL mouse buttons for (int mouseButton : new Integer[] {InputEvent.BUTTON1_MASK, InputEvent.BUTTON2_MASK, InputEvent.BUTTON3_MASK}) { // move the mouse cursor outside the button robot.mouseMove(0, 0); robot.waitForIdle(); // move the mouse cursor to a tested pixel to show users what's checked robot.mouseMove(checkedPixelX - 20, checkedPixelY); robot.waitForIdle(); robot.delay(250); robot.mousePress(mouseButton); robot.delay(250); robot.mouseMove(checkedPixelX + 20, checkedPixelY); robot.delay(250); robot.mouseRelease(mouseButton); robot.delay(250); robot.mouseMove(checkedPixelX - 20, checkedPixelY); robot.delay(250); robot.mouseMove(checkedPixelX + 20, checkedPixelY); robot.delay(250); // move the mouse cursor outside the button robot.mouseMove(0, 0); robot.delay(250); } // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necesarry to clean up the component from desktop frame.dispose(); // check if all actions were performed harness.check(mouseDraggedButton1Flag); harness.check(mouseDraggedButton2Flag); harness.check(mouseDraggedButton3Flag); // negative tests harness.check(!mouseMovedButton1Flag); harness.check(!mouseMovedButton2Flag); harness.check(!mouseMovedButton3Flag); } /** * Paint method for our implementation of a Panel */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Checkbox/ItemListenerNegativeTest1.java0000644000175000001440000000657411646003461025354 0ustar dokousers// ItemListenerNegativeTest1.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Checkbox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if ItemListener could be registered for an AWT Checkbox * and if action is *not* performed when second mouse checkbox is pressed. */ public class ItemListenerNegativeTest1 extends Panel implements Testlet { boolean itemStateChangedFlag = false; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); Checkbox checkbox = new Checkbox("xyzzy"); checkbox.setBackground(Color.blue); add(checkbox); checkbox.addItemListener( new ItemListener() { public void itemStateChanged(ItemEvent e) { itemStateChangedFlag = true; } } ); frame.add(this); frame.pack(); frame.show(); // AWT robot is used performing some actions // also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); Rectangle bounds = checkbox.getBounds(); Point loc = frame.getLocationOnScreen(); Insets i = frame.getInsets(); bounds.x += i.left + loc.x; bounds.y += i.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move the mouse cursor to a tested pixel to show users what's checked robot.mouseMove(checkedPixelX, checkedPixelY); robot.waitForIdle(); robot.mousePress(InputEvent.BUTTON2_MASK); robot.delay(250); robot.mouseRelease(InputEvent.BUTTON2_MASK); robot.delay(250); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necesarry to clean up the component from desktop frame.dispose(); // check if action was performed harness.check(!itemStateChangedFlag); } public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Checkbox/addHierarchyListener.java0000644000175000001440000000441011646003461024424 0ustar dokousers// addHierarchyListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Checkbox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if HierarchyListener could be registered for an AWT Checkbox. */ public class addHierarchyListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Checkbox checkbox = new Checkbox("xyzzy"); checkbox.setBackground(Color.blue); // array which will be filled by registered listeners HierarchyListener[] hierarchyListeners; // get all registered listeners hierarchyListeners = checkbox.getHierarchyListeners(); harness.check(hierarchyListeners.length, 0); // register new listener checkbox.addHierarchyListener( new HierarchyListener() { public void hierarchyChanged(HierarchyEvent e) { // empty } @Override public String toString() { return "myHierarchyListener"; } } ); // get all registered listeners hierarchyListeners = checkbox.getHierarchyListeners(); harness.check(hierarchyListeners.length, 1); // check if the proper listener is used harness.check(hierarchyListeners[0].toString(), "myHierarchyListener"); } } mauve-20140821/gnu/testlet/java/awt/Checkbox/KeyboardListenerTest.java0000644000175000001440000000736111646003461024445 0ustar dokousers// KeyboardListenerTest.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Checkbox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if KeyListener could be registered for an AWT Checkbox * and if action is really performed. */ public class KeyboardListenerTest extends Panel implements Testlet { // these flags are set by KeyListener boolean keyPressedFlag = false; boolean keyReleasedFlag = false; boolean keyTypedFlag = false; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); Checkbox checkbox = new Checkbox("xyzzy"); checkbox.setBackground(Color.blue); add(checkbox); // register new listener checkbox.addKeyListener( new KeyListener() { public void keyPressed(KeyEvent e) { keyPressedFlag = true; } public void keyReleased(KeyEvent e) { keyReleasedFlag = true; } public void keyTyped(KeyEvent e) { keyTypedFlag = true; } } ); frame.add(this); frame.pack(); frame.show(); // AWT robot is used performing some actions // also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); // compute absolute coordinations of checkbox on a screen Rectangle bounds = checkbox.getBounds(); Point loc = frame.getLocationOnScreen(); Insets i = frame.getInsets(); bounds.x += i.left + loc.x; bounds.y += i.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; robot.mouseMove(checkedPixelX, checkedPixelY); robot.waitForIdle(); robot.delay(250); robot.keyPress(KeyEvent.VK_A); robot.delay(250); robot.keyRelease(KeyEvent.VK_A); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necesarry to clean up the component from desktop frame.dispose(); // check if all actions were correctly performed harness.check(keyPressedFlag); harness.check(keyReleasedFlag); harness.check(keyTypedFlag); } /** * Paint method for our implementation of a Panel */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Checkbox/MouseListenerTest.java0000644000175000001440000001435411650026672024001 0ustar dokousers// MouseListenerTest.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Checkbox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if MouseListener could be registered for an AWT Checkbox * and if action is performed when some of mouse buttons is pressed. */ public class MouseListenerTest extends Panel implements Testlet { // these flags are set by MouseListener boolean mouseClickedButton1Flag = false; boolean mouseClickedButton2Flag = false; boolean mouseClickedButton3Flag = false; boolean mousePressedButton1Flag = false; boolean mousePressedButton2Flag = false; boolean mousePressedButton3Flag = false; boolean mouseReleasedButton1Flag = false; boolean mouseReleasedButton2Flag = false; boolean mouseReleasedButton3Flag = false; boolean mouseEnteredFlag = false; boolean mouseExitedFlag = false; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); Checkbox checkbox = new Checkbox("xyzzy"); checkbox.setBackground(Color.blue); add(checkbox); // register new mouse listener checkbox.addMouseListener( new MouseListener() { public void mouseClicked(MouseEvent e) { // figure out which button is pressed switch (e.getButton()) { case MouseEvent.BUTTON1: mouseClickedButton1Flag = true; break; case MouseEvent.BUTTON2: mouseClickedButton2Flag = true; break; case MouseEvent.BUTTON3: mouseClickedButton3Flag = true; break; default: break; } } public void mouseEntered(MouseEvent e) { mouseEnteredFlag = true; } public void mouseExited(MouseEvent e) { mouseExitedFlag = true; } public void mousePressed(MouseEvent e) { // figure out which button is pressed switch (e.getButton()) { case MouseEvent.BUTTON1: mousePressedButton1Flag = true; break; case MouseEvent.BUTTON2: mousePressedButton2Flag = true; break; case MouseEvent.BUTTON3: mousePressedButton3Flag = true; break; default: break; } } public void mouseReleased(MouseEvent e) { // figure out which button was pressed switch (e.getButton()) { case MouseEvent.BUTTON1: mouseReleasedButton1Flag = true; break; case MouseEvent.BUTTON2: mouseReleasedButton2Flag = true; break; case MouseEvent.BUTTON3: mouseReleasedButton3Flag = true; break; default: break; } } } ); frame.add(this); frame.pack(); frame.show(); // AWT robot is used performing some actions // also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); // compute absolute coordinations of checkbox on a screen Rectangle bounds = checkbox.getBounds(); Point loc = frame.getLocationOnScreen(); Insets i = frame.getInsets(); bounds.x += i.left + loc.x; bounds.y += i.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // check mouse & button behaviour using ALL mouse buttons for (int mouseButton : new Integer[] {InputEvent.BUTTON1_MASK, InputEvent.BUTTON2_MASK, InputEvent.BUTTON3_MASK}) { // move the mouse cursor outside the button robot.mouseMove(0, 0); robot.waitForIdle(); // move the mouse cursor to a tested pixel to show users what's checked robot.mouseMove(checkedPixelX, checkedPixelY); robot.waitForIdle(); robot.delay(250); // click = press + release robot.mousePress(mouseButton); robot.delay(250); robot.mouseRelease(mouseButton); robot.delay(250); // move the mouse cursor outside the button robot.mouseMove(0, 0); robot.delay(250); } // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necesarry to clean up the component from desktop frame.dispose(); // check if all actions were correctly performed harness.check(mouseClickedButton1Flag); harness.check(mouseClickedButton2Flag); harness.check(mouseClickedButton3Flag); harness.check(mousePressedButton1Flag); harness.check(mousePressedButton2Flag); harness.check(mousePressedButton3Flag); harness.check(mouseReleasedButton1Flag); harness.check(mouseReleasedButton2Flag); harness.check(mouseReleasedButton3Flag); harness.check(mouseEnteredFlag); harness.check(mouseExitedFlag); } /** * Paint method for our implementation of a Panel */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Checkbox/addHierarchyBoundsListener.java0000644000175000001440000000473511646003461025611 0ustar dokousers// addHierarchyBoundsListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Checkbox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if HierarchyBoundsListener could be registered for an AWT Checkbox. */ public class addHierarchyBoundsListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Checkbox checkbox = new Checkbox("xyzzy"); checkbox.setBackground(Color.blue); // array which will be filled by registered listeners HierarchyBoundsListener[] hierarchyBoundsListeners; // get all registered listeners hierarchyBoundsListeners = checkbox.getHierarchyBoundsListeners(); harness.check(hierarchyBoundsListeners.length, 0); // register new listener checkbox.addHierarchyBoundsListener( new HierarchyBoundsListener() { public void ancestorMoved(HierarchyEvent e) { // empty } public void ancestorResized(HierarchyEvent e) { // empty } @Override public String toString() { return "myHierarchyBoundsListener"; } } ); // get all registered listeners hierarchyBoundsListeners = checkbox.getHierarchyBoundsListeners(); harness.check(hierarchyBoundsListeners.length, 1); // check if the proper listener is used harness.check(hierarchyBoundsListeners[0].toString(), "myHierarchyBoundsListener"); } } mauve-20140821/gnu/testlet/java/awt/Checkbox/list.java0000644000175000001440000000313511645050534021307 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.Checkbox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Checkbox; // test of method list() public class list implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // test constructor without any parameter Checkbox checkbox1 = new Checkbox(); checkbox1.list(); checkbox1.list(System.out); checkbox1.list(System.out, 0); checkbox1.list(System.out, 10); // test constructor with one parameter Checkbox checkbox2 = new Checkbox("xyzzy"); checkbox2.list(); checkbox2.list(System.out); checkbox2.list(System.out, 0); checkbox2.list(System.out, 10); } } mauve-20140821/gnu/testlet/java/awt/Checkbox/KeyboardListenerCursorKeys.java0000644000175000001440000001102111646003461025623 0ustar dokousers// KeyboardListenerCursorKeys.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Checkbox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.Checkbox; import java.awt.Color; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Robot; import java.awt.Rectangle; import java.awt.event.*; import java.util.*; /** * Check if KeyListener could be registered for an AWT Checkbox * and if action is really performed. */ public class KeyboardListenerCursorKeys extends Panel implements Testlet { int[] keysToTest = { KeyEvent.VK_UP, KeyEvent.VK_DOWN, KeyEvent.VK_LEFT, KeyEvent.VK_RIGHT, KeyEvent.VK_HOME, KeyEvent.VK_END, }; // these flags are set by KeyListener List keyPressedFlag = new ArrayList(); List keyReleasedFlag = new ArrayList(); /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); Checkbox checkbox = new Checkbox("xyzzy"); checkbox.setBackground(Color.blue); add(checkbox); // register new listener checkbox.addKeyListener( new KeyListener() { public void keyPressed(KeyEvent e) { keyPressedFlag.add(e.getKeyCode()); } public void keyReleased(KeyEvent e) { keyReleasedFlag.add(e.getKeyCode()); } public void keyTyped(KeyEvent e) { // empty block } } ); frame.add(this); frame.pack(); frame.show(); // AWT robot is used performing some actions // also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); // compute absolute coordinations of checkbox on a screen Rectangle bounds = checkbox.getBounds(); Point loc = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + loc.x; bounds.y += insets.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; robot.mouseMove(checkedPixelX, checkedPixelY); robot.waitForIdle(); robot.delay(250); // have to use 1.4 syntax for (int i = 0; i < keysToTest.length; i++) { int key = keysToTest[i]; robot.keyPress(key); robot.delay(250); robot.keyRelease(key); robot.delay(250); } // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necesarry to clean up the component from desktop frame.dispose(); // check if all actions were correctly performed for (int i = 0; i < keysToTest.length; i++) { int key = keysToTest[i]; harness.check(keyPressedFlag.contains(key)); } for (int i = 0; i < keysToTest.length; i++) { int key = keysToTest[i]; harness.check(keyReleasedFlag.contains(key)); } } /** * Paint method for our implementation of a Panel */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Checkbox/ItemListenerPositiveTest.java0000644000175000001440000000656111646003461025327 0ustar dokousers// ItemListenerPositiveTest.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Checkbox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if ItemListener could be registered for an AWT Checkbox * and if action is performed when left mouse checkbox is pressed. */ public class ItemListenerPositiveTest extends Panel implements Testlet { boolean itemStateChangedFlag = false; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); Checkbox checkbox = new Checkbox("xyzzy"); checkbox.setBackground(Color.blue); add(checkbox); checkbox.addItemListener( new ItemListener() { public void itemStateChanged(ItemEvent e) { itemStateChangedFlag = true; } } ); frame.add(this); frame.pack(); frame.show(); // AWT robot is used performing some actions // also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); Rectangle bounds = checkbox.getBounds(); Point loc = frame.getLocationOnScreen(); Insets i = frame.getInsets(); bounds.x += i.left + loc.x; bounds.y += i.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move the mouse cursor to a tested pixel to show users what's checked robot.mouseMove(checkedPixelX, checkedPixelY); robot.waitForIdle(); robot.mousePress(InputEvent.BUTTON1_MASK); robot.delay(250); robot.mouseRelease(InputEvent.BUTTON1_MASK); robot.delay(250); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necesarry to clean up the component from desktop frame.dispose(); // check if action was performed harness.check(itemStateChangedFlag); } public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Checkbox/MouseWheelListenerTest.java0000644000175000001440000000750511650026672024766 0ustar dokousers// MouseWheelListenerTest.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Checkbox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if MouseWheelListener could be registered for an AWT Checkbox * and if action is performed when mouse wheel is rotated up and down. */ public class MouseWheelListenerTest extends Panel implements Testlet { // these flags are set by MouseWheelListener boolean mouseWheelScrollUpFlag = false; boolean mouseWheelScrollDownFlag = false; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); Checkbox checkbox = new Checkbox("xyzzy"); checkbox.setBackground(Color.blue); add(checkbox); // register new mouse wheel listener checkbox.addMouseWheelListener( new MouseWheelListener() { public void mouseWheelMoved(MouseWheelEvent e) { // figure out if mouse wheel is scrolled up or down mouseWheelScrollUpFlag |= e.getWheelRotation() < 0; mouseWheelScrollDownFlag |= e.getWheelRotation() > 0; } } ); frame.add(this); frame.pack(); frame.show(); // AWT robot is used performing some actions // also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); // compute absolute coordinations of checkbox on a screen Rectangle bounds = checkbox.getBounds(); Point loc = frame.getLocationOnScreen(); Insets i = frame.getInsets(); bounds.x += i.left + loc.x; bounds.y += i.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move the mouse cursor to a tested pixel to show users what's checked robot.mouseMove(checkedPixelX, checkedPixelY); robot.waitForIdle(); robot.delay(250); robot.mouseWheel(+1); robot.delay(250); robot.mouseWheel(-1); robot.delay(250); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necesarry to clean up the component from desktop frame.dispose(); // check if all actions were performed harness.check(mouseWheelScrollUpFlag); harness.check(mouseWheelScrollDownFlag); } /** * Paint method for our implementation of a Panel */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Checkbox/addItemListener.java0000644000175000001440000000431411646003461023407 0ustar dokousers// addItemListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Checkbox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if ItemListener could be registered for an AWT Checkbox. */ public class addItemListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Checkbox checkbox = new Checkbox("xyzzy"); checkbox.setBackground(Color.blue); // array which will be filled by registered action listeners ItemListener[] itemListeners; // get all registered action listeners itemListeners = checkbox.getItemListeners(); harness.check(itemListeners.length, 0); // register new action listener checkbox.addItemListener( new ItemListener() { public void itemStateChanged(ItemEvent e) { // empty } @Override public String toString() { return "myItemListener"; } } ); // get all registered action listeners itemListeners = checkbox.getItemListeners(); harness.check(itemListeners.length, 1); // check if the proper listener is used harness.check(itemListeners[0].toString(), "myItemListener"); } } mauve-20140821/gnu/testlet/java/awt/Checkbox/KeyboardListenerFunctionKeys.java0000644000175000001440000001114411646003461026141 0ustar dokousers// KeyboardListenerFunctionKeys.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Checkbox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.Checkbox; import java.awt.Color; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Robot; import java.awt.Rectangle; import java.awt.event.*; import java.util.*; /** * Check if KeyListener could be registered for an AWT Checkbox * and if action is really performed. */ public class KeyboardListenerFunctionKeys extends Panel implements Testlet { int[] keysToTest = { KeyEvent.VK_F1, KeyEvent.VK_F2, KeyEvent.VK_F3, KeyEvent.VK_F4, KeyEvent.VK_F5, KeyEvent.VK_F6, KeyEvent.VK_F7, KeyEvent.VK_F8, KeyEvent.VK_F9, KeyEvent.VK_F10, }; // these flags are set by KeyListener List keyPressedFlag = new ArrayList(); List keyReleasedFlag = new ArrayList(); /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); Checkbox checkbox = new Checkbox("xyzzy"); checkbox.setBackground(Color.blue); add(checkbox); // register new listener checkbox.addKeyListener( new KeyListener() { public void keyPressed(KeyEvent e) { keyPressedFlag.add(e.getKeyCode()); } public void keyReleased(KeyEvent e) { keyReleasedFlag.add(e.getKeyCode()); } public void keyTyped(KeyEvent e) { // empty block } } ); frame.add(this); frame.pack(); frame.show(); // AWT robot is used performing some actions // also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); // compute absolute coordinations of checkbox on a screen Rectangle bounds = checkbox.getBounds(); Point loc = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + loc.x; bounds.y += insets.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; robot.mouseMove(checkedPixelX, checkedPixelY); robot.waitForIdle(); robot.delay(250); // have to use 1.4 syntax for (int i = 0; i < keysToTest.length; i++) { int key = keysToTest[i]; robot.keyPress(key); robot.delay(250); robot.keyRelease(key); robot.delay(250); } // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necesarry to clean up the component from desktop frame.dispose(); // check if all actions were correctly performed for (int i = 0; i < keysToTest.length; i++) { int key = keysToTest[i]; harness.check(keyPressedFlag.contains(key)); } for (int i = 0; i < keysToTest.length; i++) { int key = keysToTest[i]; harness.check(keyReleasedFlag.contains(key)); } } /** * Paint method for our implementation of a Panel */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Checkbox/PaintTest.java0000644000175000001440000000615511641332705022253 0ustar dokousers/* PaintTest.java -- Copyright (C) 2006, 2011 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.Checkbox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.Checkbox; import java.awt.Color; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; public class PaintTest extends Panel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame f = new Frame(); // we can't use any text as a checkbox label to proper // test pixel colors. Checkbox c = new Checkbox(" "); c.setBackground(Color.blue); add(c); f.add(this); f.pack(); f.show(); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot r = harness.createRobot(); // we should wait a moment before the computations // and pixel checks r.waitForIdle(); r.delay(1000); Point loc = f.getLocationOnScreen(); Rectangle bounds = c.getBounds(); Insets i = f.getInsets(); bounds.x += i.left + loc.x; bounds.y += i.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move the mouse cursor to a tested pixel to show users what's checked r.mouseMove(checkedPixelX, checkedPixelY); r.waitForIdle(); // check the color of a pixel located in the checkbox center Color check = r.getPixelColor(checkedPixelX, checkedPixelY); harness.check(check.equals(Color.blue)); // There is a delay to avoid any race conditions // and so user can see frame r.waitForIdle(); r.delay(1000); // it's necesarry to clean up the component from desktop f.dispose(); } public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Checkbox/addMouseListener.java0000644000175000001440000000507111646003461023602 0ustar dokousers// addMouseListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Checkbox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if MouseListener could be registered for an AWT Checkbox. */ public class addMouseListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Checkbox checkbox = new Checkbox("xyzzy"); checkbox.setBackground(Color.blue); // array which will be filled by registered mouse listeners MouseListener[] mouseListeners; // get all registered mouse listeners mouseListeners = checkbox.getMouseListeners(); harness.check(mouseListeners.length, 0); // register new mouse listener checkbox.addMouseListener( new MouseListener() { public void mouseClicked(MouseEvent e) { // empty } public void mouseEntered(MouseEvent e) { // empty } public void mouseExited(MouseEvent e) { // empty } public void mousePressed(MouseEvent e) { // empty } public void mouseReleased(MouseEvent e) { // empty } @Override public String toString() { return "myMouseListener"; } } ); // get all registered mouse listeners mouseListeners = checkbox.getMouseListeners(); harness.check(mouseListeners.length, 1); // check if the proper listener is used harness.check(mouseListeners[0].toString(), "myMouseListener"); } } mauve-20140821/gnu/testlet/java/awt/Checkbox/addInputMethodListener.java0000644000175000001440000000463711646003461024761 0ustar dokousers// addInputMethodListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Checkbox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if InputMethodListener could be registered for an AWT Checkbox. */ public class addInputMethodListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Checkbox checkbox = new Checkbox("xyzzy"); checkbox.setBackground(Color.blue); // array which will be filled by registered listeners InputMethodListener[] inputMethodListeners; // get all registered listeners inputMethodListeners = checkbox.getInputMethodListeners(); harness.check(inputMethodListeners.length, 0); // register new listener checkbox.addInputMethodListener( new InputMethodListener() { public void caretPositionChanged(InputMethodEvent event) { // empty } public void inputMethodTextChanged(InputMethodEvent event) { // empty } @Override public String toString() { return "myInputMethodListener"; } } ); // get all registered listeners inputMethodListeners = checkbox.getInputMethodListeners(); harness.check(inputMethodListeners.length, 1); // check if the proper listener is used harness.check(inputMethodListeners[0].toString(), "myInputMethodListener"); } } mauve-20140821/gnu/testlet/java/awt/Checkbox/addMouseWheelListener.java0000644000175000001440000000443011646003461024565 0ustar dokousers// addMouseWheelListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Checkbox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if MouseWheelListener could be registered for an AWT Checkbox. */ public class addMouseWheelListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Checkbox checkbox = new Checkbox("xyzzy"); checkbox.setBackground(Color.blue); // array which will be filled by registered listeners MouseWheelListener[] mouseWheelListeners; // get all registered listeners mouseWheelListeners = checkbox.getMouseWheelListeners(); harness.check(mouseWheelListeners.length, 0); // register new listener checkbox.addMouseWheelListener( new MouseWheelListener() { public void mouseWheelMoved(MouseWheelEvent e) { // empty } @Override public String toString() { return "myMouseWheelListener"; } } ); // get all registered listeners mouseWheelListeners = checkbox.getMouseWheelListeners(); harness.check(mouseWheelListeners.length, 1); // check if the proper listener is used harness.check(mouseWheelListeners[0].toString(), "myMouseWheelListener"); } } mauve-20140821/gnu/testlet/java/awt/Checkbox/ItemListenerNegativeTest2.java0000644000175000001440000000657311646003461025354 0ustar dokousers// ItemListenerNegativeTest2.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Checkbox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if ItemListener could be registered for an AWT Checkbox * and if action is *not* performed when third mouse checkbox is pressed. */ public class ItemListenerNegativeTest2 extends Panel implements Testlet { boolean itemStateChangedFlag = false; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); Checkbox checkbox = new Checkbox("xyzzy"); checkbox.setBackground(Color.blue); add(checkbox); checkbox.addItemListener( new ItemListener() { public void itemStateChanged(ItemEvent e) { itemStateChangedFlag = true; } } ); frame.add(this); frame.pack(); frame.show(); // AWT robot is used performing some actions // also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); Rectangle bounds = checkbox.getBounds(); Point loc = frame.getLocationOnScreen(); Insets i = frame.getInsets(); bounds.x += i.left + loc.x; bounds.y += i.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move the mouse cursor to a tested pixel to show users what's checked robot.mouseMove(checkedPixelX, checkedPixelY); robot.waitForIdle(); robot.mousePress(InputEvent.BUTTON3_MASK); robot.delay(250); robot.mouseRelease(InputEvent.BUTTON3_MASK); robot.delay(250); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necesarry to clean up the component from desktop frame.dispose(); // check if action was performed harness.check(!itemStateChangedFlag); } public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Checkbox/addPropertyChangeListener.java0000644000175000001440000000470411671627032025452 0ustar dokousers// addPropertyChangeListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Checkbox; import java.awt.Color; import java.awt.Checkbox; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Check if {@link PropertyChangeListener} could be registered for an AWT {@link Checkbox}. */ public class addPropertyChangeListener implements Testlet { private static final String PROPERTY_CHANGE_LISTENER_NAME = "myProperlyChangeListener"; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Checkbox checkbox = new Checkbox(); checkbox.setBackground(Color.blue); // array which will be filled by registered listeners PropertyChangeListener[] properlyChangeListeners; // get all registered listeners properlyChangeListeners = checkbox.getPropertyChangeListeners(); harness.check(properlyChangeListeners.length, 0); // register new listener checkbox.addPropertyChangeListener(new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { // empty block } @Override public String toString() { return PROPERTY_CHANGE_LISTENER_NAME; } }); // get all registered listeners properlyChangeListeners = checkbox.getPropertyChangeListeners(); harness.check(properlyChangeListeners.length, 1); // check if the proper listener is used harness.check(properlyChangeListeners[0].toString(), PROPERTY_CHANGE_LISTENER_NAME); } } mauve-20140821/gnu/testlet/java/awt/Checkbox/addFocusListener.java0000644000175000001440000000442511646003461023573 0ustar dokousers// addFocusListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Checkbox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if FocusListener could be registered for an AWT Checkbox. */ public class addFocusListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Checkbox checkbox = new Checkbox("xyzzy"); checkbox.setBackground(Color.blue); // array which will be filled by registered listeners FocusListener[] focusListeners; // get all registered listeners focusListeners = checkbox.getFocusListeners(); harness.check(focusListeners.length, 0); // register new listener checkbox.addFocusListener( new FocusListener() { public void focusGained(FocusEvent e) { // empty } public void focusLost(FocusEvent e) { // empty } @Override public String toString() { return "myFocusListener"; } } ); // get all registered listeners focusListeners = checkbox.getFocusListeners(); harness.check(focusListeners.length, 1); // check if the proper listener is used harness.check(focusListeners[0].toString(), "myFocusListener"); } } mauve-20140821/gnu/testlet/java/awt/EventClass/0000755000175000001440000000000012375316426020016 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/EventClass/constants.java0000644000175000001440000000733410317307114022670 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.EventClass; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Event; /** * Verifies constant values for the {@link Event} class. */ public class constants implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.check(Event.ACTION_EVENT, 1001); harness.check(Event.ALT_MASK, 8); harness.check(Event.BACK_SPACE, 8); harness.check(Event.CAPS_LOCK, 1022); harness.check(Event.CTRL_MASK, 2); harness.check(Event.DELETE, 127); harness.check(Event.DOWN, 1005); harness.check(Event.END, 1001); harness.check(Event.ENTER, 10); harness.check(Event.ESCAPE, 27); harness.check(Event.F1, 1008); harness.check(Event.F10, 1017); harness.check(Event.F11, 1018); harness.check(Event.F12, 1019); harness.check(Event.F2, 1009); harness.check(Event.F3, 1010); harness.check(Event.F4, 1011); harness.check(Event.F5, 1012); harness.check(Event.F6, 1013); harness.check(Event.F7, 1014); harness.check(Event.F8, 1015); harness.check(Event.F9, 1016); harness.check(Event.GOT_FOCUS, 1004); harness.check(Event.HOME, 1000); harness.check(Event.INSERT, 1025); harness.check(Event.KEY_ACTION, 403); harness.check(Event.KEY_ACTION_RELEASE, 404); harness.check(Event.KEY_PRESS, 401); harness.check(Event.KEY_RELEASE, 402); harness.check(Event.LEFT, 1006); harness.check(Event.LIST_DESELECT, 702); harness.check(Event.LIST_SELECT, 701); harness.check(Event.LOAD_FILE, 1002); harness.check(Event.LOST_FOCUS, 1005); harness.check(Event.META_MASK, 4); harness.check(Event.MOUSE_DOWN, 501); harness.check(Event.MOUSE_DRAG, 506); harness.check(Event.MOUSE_ENTER, 504); harness.check(Event.MOUSE_EXIT, 505); harness.check(Event.MOUSE_MOVE, 503); harness.check(Event.MOUSE_UP, 502); harness.check(Event.NUM_LOCK, 1023); harness.check(Event.PAUSE, 1024); harness.check(Event.PGDN, 1003); harness.check(Event.PGUP, 1002); harness.check(Event.PRINT_SCREEN, 1020); harness.check(Event.RIGHT, 1007); harness.check(Event.SAVE_FILE, 1003); harness.check(Event.SCROLL_ABSOLUTE, 605); harness.check(Event.SCROLL_BEGIN, 606); harness.check(Event.SCROLL_END, 607); harness.check(Event.SCROLL_LINE_DOWN, 602); harness.check(Event.SCROLL_LINE_UP, 601); harness.check(Event.SCROLL_LOCK, 1021); harness.check(Event.SCROLL_PAGE_DOWN, 604); harness.check(Event.SCROLL_PAGE_UP, 603); harness.check(Event.SHIFT_MASK, 1); harness.check(Event.TAB, 9); harness.check(Event.UP, 1004); harness.check(Event.WINDOW_DEICONIFY, 204); harness.check(Event.WINDOW_DESTROY, 201); harness.check(Event.WINDOW_EXPOSE, 202); harness.check(Event.WINDOW_ICONIFY, 203); harness.check(Event.WINDOW_MOVED, 205); } }mauve-20140821/gnu/testlet/java/awt/TextField/0000755000175000001440000000000012375316426017637 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/TextField/constructors.java0000644000175000001440000000625610451164625023256 0ustar dokousers/* constructors.java -- some checks for the constructors in the TextField class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.0 package gnu.testlet.java.awt.TextField; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.TextField; public class constructors implements Testlet { public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("()"); TextField tf = new TextField(); harness.check(tf.getText(), ""); harness.check(tf.isEditable()); harness.check(tf.getColumns(), 0); harness.check(tf.getEchoChar(), 0); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(int)"); TextField tf = new TextField(3); harness.check(tf.getText(), ""); harness.check(tf.isEditable()); harness.check(tf.getColumns(), 3); harness.check(tf.getEchoChar(), 0); // try negative columns tf = new TextField(-1); harness.check(tf.getText(), ""); harness.check(tf.isEditable()); harness.check(tf.getColumns(), 0); harness.check(tf.getEchoChar(), 0); } public void testConstructor3(TestHarness harness) { harness.checkPoint("(String)"); TextField tf = new TextField("ABC"); harness.check(tf.getText(), "ABC"); harness.check(tf.isEditable()); harness.check(tf.getColumns(), 3); harness.check(tf.getEchoChar(), 0); // try null tf = new TextField(null); harness.check(tf.getText(), ""); harness.check(tf.isEditable()); harness.check(tf.getColumns(), 0); harness.check(tf.getEchoChar(), 0); } public void testConstructor4(TestHarness harness) { harness.checkPoint("(String, int)"); TextField tf = new TextField("ABC", 3); harness.check(tf.getText(), "ABC"); harness.check(tf.isEditable()); harness.check(tf.getColumns(), 3); harness.check(tf.getEchoChar(), 0); // try null tf = new TextField(null, 3); harness.check(tf.getText(), ""); harness.check(tf.isEditable()); harness.check(tf.getColumns(), 3); harness.check(tf.getEchoChar(), 0); // try negative columns tf = new TextField("ABC", -3); harness.check(tf.getText(), "ABC"); harness.check(tf.isEditable()); harness.check(tf.getColumns(), 0); harness.check(tf.getEchoChar(), 0); } } mauve-20140821/gnu/testlet/java/awt/TextField/getMinimumSize.java0000644000175000001440000001134310523674174023452 0ustar dokousers/* getMinimumSize.java Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.1 package gnu.testlet.java.awt.TextField; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import java.awt.Font; import java.awt.TextField; public class getMinimumSize implements Testlet { public void test(TestHarness harness) { test1(harness); test2(harness); test3(harness); test4(harness); test5(harness); } public void test1(TestHarness harness) { // Test getMinimumSize() method. TextField field = new TextField(); harness.check(field.getSize(), new Dimension()); harness.check(field.getMinimumSize(), new Dimension()); // Check that if mininum size has not been set, then a // Dimension with current number of rows and columns // is returned. harness.check(field.isMinimumSizeSet(), false); field.setSize(new Dimension(4, 8)); harness.check(field.getMinimumSize(), new Dimension(4, 8)); // Check that if minimum size has been set, // then those values are returned. Dimension minSize = new Dimension(5, 16); field.setMinimumSize(minSize); harness.check(field.isMinimumSizeSet()); harness.check(field.getMinimumSize() != minSize); harness.check(field.getMinimumSize(), minSize); } public void test2(TestHarness harness) { // Test getMinimumSize(int, int) method. TextField field = new TextField(); // Show that if the values passed are <=, ==, >= or negative, // then no exceptions are thrown. harness.check(field.getSize(), new Dimension()); harness.check(field.getMinimumSize(7), new Dimension()); harness.check(field.getMinimumSize(0), new Dimension()); harness.check(field.getMinimumSize(-7), new Dimension()); // Check that if minimum size not been set, then a // Dimension with size (width, height) is returned. harness.check(field.isMinimumSizeSet(), false); field.setSize(new Dimension(3, 4)); harness.check(field.getMinimumSize(2), new Dimension(3, 4)); // Check that if minimum size has been set, then a // those values are returned. field.setSize(new Dimension(-3, 5)); harness.check(field.getSize(), new Dimension(-3, 5)); field.setMinimumSize(new Dimension(1, 9)); harness.check(field.isMinimumSizeSet()); harness.check(field.getMinimumSize(1), new Dimension(1, 9)); } public void test3(TestHarness harness) { // This test will show that if peer == null, then the getWidth() // and getHeight() values are used (and not getRows() and getColumns() // or 0 and 0). TextField field = new TextField(); field.setBounds(1, 2, 3, 4); harness.check(field.getX(), 1); harness.check(field.getY(), 2); harness.check(field.getWidth(), 3); harness.check(field.getHeight(), 4); harness.check(field.getColumns(), 0); harness.check(field.getPeer() == null); harness.check(field.getMinimumSize(), new Dimension(field.getWidth(), field.getHeight())); } public void test4(TestHarness harness) { // This test shows that the text field's font does not // affect the value of its minimum size. TextField field = new TextField(); field.setFont(new Font("Dialog-PLAIN-12", Font.ITALIC, 58)); harness.check(field.getMinimumSize(), new Dimension()); field.setFont(new Font("TimesRoman", Font.BOLD, 2)); harness.check(field.getMinimumSize(), new Dimension()); } public void test5(TestHarness harness) { // This test shows that the text field's preferred size // does not affect the value of its minimum size. TextField field = new TextField(); field.setPreferredSize(new Dimension(7, 3)); harness.check(field.isPreferredSizeSet()); harness.check(field.getMinimumSize(), new Dimension()); field.setPreferredSize(new Dimension()); harness.check(field.getMinimumSize(), new Dimension()); field.setPreferredSize(new Dimension(-3, -6)); harness.check(field.getMinimumSize(), new Dimension()); } } mauve-20140821/gnu/testlet/java/awt/TextField/PaintTest.java0000644000175000001440000000570511641332707022417 0ustar dokousers/* PaintTest.java -- Copyright (C) 2006, 2011 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GUI, JDK 1.0 package gnu.testlet.java.awt.TextField; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.TextField; public class PaintTest extends Panel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame f = new Frame(); TextField b = new TextField(10); b.setBackground(Color.green); add(b); f.add(this); f.pack(); f.show(); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot r = harness.createRobot(); // we should wait a moment before the computations // and pixel checks r.waitForIdle(); r.delay(1000); Rectangle bounds = b.getBounds(); Point loc = f.getLocationOnScreen(); Insets i = f.getInsets(); bounds.x += loc.x + i.left; bounds.y += loc.y + i.top; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move the mouse cursor to a tested pixel to show users what's checked r.mouseMove(checkedPixelX, checkedPixelY); r.waitForIdle(); // check the color of a pixel located in the text center Color text = r.getPixelColor(checkedPixelX, checkedPixelY); harness.check(text.equals(Color.green)); // There is a delay to avoid any race conditions // and so user can see frame r.waitForIdle(); r.delay(1000); // it's necesarry to clean up the component from desktop f.dispose(); } public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/TextField/getPreferredSize.java0000644000175000001440000001143710523674174023761 0ustar dokousers/* getPreferredSize.java Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.1 package gnu.testlet.java.awt.TextField; import java.awt.Dimension; import java.awt.Font; import java.awt.TextField; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getPreferredSize implements Testlet { public void test(TestHarness harness) { test1(harness); test2(harness); test3(harness); test4(harness); test5(harness); } public void test1(TestHarness harness) { // Test getPreferredSize() method. TextField field = new TextField(); harness.check(field.getSize(), new Dimension()); harness.check(field.getPreferredSize(), new Dimension()); // Check that if preferred size has not been set, then a // Dimension with current number of rows and columns // is returned. harness.check(field.isPreferredSizeSet(), false); field.setSize(new Dimension(4, 8)); harness.check(field.getPreferredSize(), new Dimension(4, 8)); // Check that if preferred size has been set, // then those values are returned. Dimension prefSize = new Dimension(5, 16); field.setPreferredSize(prefSize); harness.check(field.isPreferredSizeSet()); harness.check(field.getPreferredSize() != prefSize); harness.check(field.getPreferredSize(), prefSize); } public void test2(TestHarness harness) { // Test getPreferredSize(int, int) method. TextField field = new TextField(); // Show that if the values passed are <=, ==, >= or negative, // then no exceptions are thrown. harness.check(field.getSize(), new Dimension()); harness.check(field.getPreferredSize(7), new Dimension()); harness.check(field.getPreferredSize(0), new Dimension()); harness.check(field.getPreferredSize(-7), new Dimension()); // Check that if preferred size not been set, then a // Dimension with size (width, height) is returned. harness.check(field.isPreferredSizeSet(), false); field.setSize(new Dimension(3, 4)); harness.check(field.getPreferredSize(2), new Dimension(3, 4)); // Check that if preferred size has been set, then a // those values are returned. field.setSize(new Dimension(-3, 5)); harness.check(field.getSize(), new Dimension(-3, 5)); field.setPreferredSize(new Dimension(1, 9)); harness.check(field.isPreferredSizeSet()); harness.check(field.getPreferredSize(-1), new Dimension(1, 9)); } public void test3(TestHarness harness) { // This test will show that if peer == null, then the getWidth() // and getHeight() values are used (and not getRows() and getColumns() // or 0 and 0). TextField field = new TextField(); field.setBounds(1, 2, 3, 4); harness.check(field.getX(), 1); harness.check(field.getY(), 2); harness.check(field.getWidth(), 3); harness.check(field.getHeight(), 4); harness.check(field.getColumns(), 0); harness.check(field.getPeer() == null); harness.check(field.getPreferredSize(), new Dimension(field.getWidth(), field.getHeight())); } public void test4(TestHarness harness) { // This test shows that the text field's font does not // affect the value of its preferred size. TextField field = new TextField(); field.setFont(new Font("Dialog-PLAIN-12", Font.ITALIC, 58)); harness.check(field.getPreferredSize(), new Dimension()); field.setFont(new Font("TimesRoman", Font.BOLD, 2)); harness.check(field.getPreferredSize(), new Dimension()); } public void test5(TestHarness harness) { // This test shows that the text field's minimum size // does not affect the value of its preferred size. TextField field = new TextField(); field.setMinimumSize(new Dimension(7, 3)); harness.check(field.isMinimumSizeSet()); harness.check(field.getMinimumSize(), new Dimension(7, 3)); field.setMinimumSize(new Dimension()); harness.check(field.getMinimumSize(), new Dimension()); field.setMinimumSize(new Dimension(-3, -6)); harness.check(field.getMinimumSize(), new Dimension(-3, -6)); } } mauve-20140821/gnu/testlet/java/awt/Dimension/0000755000175000001440000000000012375316426017674 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/Dimension/constructors.java0000644000175000001440000000407110105761736023306 0ustar dokousers//Tags: JDK1.0 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Dimension; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; /** * Checks that constructors in the {@link Dimension} class work * correctly. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // default constructor Dimension d = new Dimension(); harness.check(d.getWidth() == 0.0); harness.check(d.getHeight() == 0.0); // (int, int) constructor d = new Dimension(5, 10); harness.check(d.getWidth() == 5); harness.check(d.getHeight() == 10); // (Dimension) constructor Dimension d1 = new Dimension(100, 200); Dimension d2 = new Dimension(d1); harness.check(d2.getWidth() == 100); harness.check(d2.getHeight() == 200); // check that d2 is independent of d1 d1.width = 1; d1.height = 2; harness.check(d2.getWidth() == 100); harness.check(d2.getHeight() == 200); // check for null argument boolean pass = false; try { Dimension d3 = new Dimension(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/Dimension/equals.java0000644000175000001440000000314410105761736022030 0ustar dokousers//Tags: JDK1.0 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Dimension; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; /** * Checks that the equals() method in the {@link Dimension} class works * correctly. */ public class equals implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Dimension d1 = new Dimension(); Dimension d2 = new Dimension(); harness.check(d1.equals(d2)); harness.check(d2.equals(d1)); harness.check(!d1.equals(null)); d1.width = 5; harness.check(!d1.equals(d2)); d2.width = 5; harness.check(d1.equals(d2)); d1.height = 10; harness.check(!d1.equals(d2)); d2.height = 10; harness.check(d1.equals(d2)); } } mauve-20140821/gnu/testlet/java/awt/Dimension/clone.java0000644000175000001440000000275010105761736021640 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Dimension; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; /** * Checks that the clone() method in the {@link Dimension} class works * correctly. */ public class clone implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Dimension d1 = new Dimension(44, 55); Dimension d2 = null; d2 = (java.awt.Dimension) d1.clone(); harness.check(d1 != d2); harness.check(d1.getClass().equals(d2.getClass())); harness.check(d1.width == d2.width); harness.check(d1.height == d2.height); } } mauve-20140821/gnu/testlet/java/awt/Dimension/getSize.java0000644000175000001440000000272510105761736022154 0ustar dokousers//Tags: JDK1.1 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Dimension; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; /** * Checks that the getSize() method in the {@link Dimension} class works * correctly. */ public class getSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Dimension d1 = new Dimension(11, 22); Dimension d2 = d1.getSize(); harness.check(d2.width == 11); harness.check(d2.height == 22); d2.width = 1; d2.height = 2; harness.check(d1.width == 11); harness.check(d1.height == 22); } } mauve-20140821/gnu/testlet/java/awt/Dimension/setSize.java0000644000175000001440000000371210105761736022165 0ustar dokousers//Tags: JDK1.1 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Dimension; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; /** * Checks that the setSize() method in the {@link Dimension} class works * correctly. See Sun's bug parade reports 4245442 and 4976448. This * is still a problem in JDK 1.3.1_11. */ public class setSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Dimension d = new Dimension(); d.setSize(1, 2); harness.check(d.getWidth() == 1); harness.check(d.getHeight() == 2); d.setSize(5.0, 10.0); harness.check(d.getWidth() == 5.0); harness.check(d.getHeight() == 10.0); double w = Integer.MAX_VALUE + 100000.0; double h = Integer.MAX_VALUE + 200000.0; d.setSize(w, h); harness.check(d.getWidth() == Integer.MAX_VALUE); harness.check(d.getHeight() == Integer.MAX_VALUE); // check for null argument boolean pass = false; try { d.setSize(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/Menu/0000755000175000001440000000000012375316426016653 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/Menu/insert.java0000644000175000001440000001067410502231534021014 0ustar dokousers/* insert.java -- some checks for the insert() method in the Menu class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GUI JDK1.5 package gnu.testlet.java.awt.Menu; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Button; import java.awt.Frame; import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem; public class insert implements Testlet { public void test(TestHarness harness) { test1(harness); test2(harness); testPR28699(harness); } public void test1(TestHarness harness) { harness.checkPoint("(MenuItem, int)"); Menu menu = new Menu("Menu 1"); MenuItem itemA = new MenuItem("Menu Item A"); menu.insert(itemA, 0); harness.check(menu.getItem(0), itemA); MenuItem itemB = new MenuItem("Menu Item B"); menu.insert(itemB, 1); harness.check(menu.getItem(1), itemB); MenuItem itemC = new MenuItem("Menu Item C"); menu.insert(itemC, 0); harness.check(menu.getItem(0), itemC); harness.check(menu.getItem(1), itemA); harness.check(menu.getItem(2), itemB); // try negative index boolean pass = false; try { MenuItem itemD = new MenuItem("Menu Item D"); menu.insert(itemD, -1); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try index too large - item gets inserted at end of menu MenuItem itemD = new MenuItem("Menu Item D"); menu.insert(itemD, 4); harness.check(menu.getItem(0), itemC); harness.check(menu.getItem(1), itemA); harness.check(menu.getItem(2), itemB); harness.check(menu.getItem(3), itemD); // try null item pass = false; try { menu.insert((MenuItem) null, 0); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void test2(TestHarness harness) { harness.checkPoint("(String, int)"); Menu menu = new Menu("Menu 1"); menu.insert("Menu Item A", 0); harness.check(menu.getItem(0).getLabel(), "Menu Item A"); menu.insert("Menu Item B", 1); harness.check(menu.getItem(1).getLabel(), "Menu Item B"); menu.insert("Menu Item C", 0); harness.check(menu.getItem(0).getLabel(), "Menu Item C"); harness.check(menu.getItem(1).getLabel(), "Menu Item A"); harness.check(menu.getItem(2).getLabel(), "Menu Item B"); // try negative index boolean pass = false; try { menu.insert("Menu Item D", -1); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try index too large - item gets inserted at end of menu menu.insert("Menu Item D", 4); harness.check(menu.getItem(0).getLabel(), "Menu Item C"); harness.check(menu.getItem(1).getLabel(), "Menu Item A"); harness.check(menu.getItem(2).getLabel(), "Menu Item B"); harness.check(menu.getItem(3).getLabel(), "Menu Item D"); // try null item menu.insert((String) null, 0); harness.check(menu.getItem(0).getLabel(), null); } public void testPR28699(TestHarness harness) { harness.checkPoint("PR29699"); Frame f = new Frame("AWT Menu Test"); MenuBar mb = new MenuBar(); Menu m = new Menu("Menu 1"); mb.add(m); f.setMenuBar(mb); f.add(new Button("Button")); f.pack(); MenuItem itemA = new MenuItem("Item A"); m.insert(itemA, 0); MenuItem itemB = new MenuItem("Item B"); m.insert(itemB, 0); MenuItem itemC = new MenuItem("Item C"); m.insert(itemC, 1); MenuItem itemD = new MenuItem("Item D"); m.insert(itemD, 1); harness.check(m.getItem(0), itemB); harness.check(m.getItem(1), itemD); harness.check(m.getItem(2), itemC); harness.check(m.getItem(3), itemA); f.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Menu/addItem.java0000644000175000001440000000556210376074734021077 0ustar dokousers// Tags: GUI JDK1.0 // Copyright (C) 2006 Free Software Foundation, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to the Free // Software Foundation,Inc., 51 Franklin Street, Fifth Floor, Boston, // MA 02110-1301 USA. package gnu.testlet.java.awt.Menu; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; public class addItem implements Testlet { public void test (TestHarness harness) { Menu m = new Menu("Test"); harness.check(m.countItems(), 0); MenuItem i = new MenuItem("Testing"); m.add(i); harness.check(m.countItems(), 1); harness.check(m.getItem(0), i); harness.check(i.getParent(), m); m.remove(i); harness.check(m.countItems(), 0); harness.check(i.getParent(), null); m.add(i); harness.check(m.countItems(), 1); harness.check(m.getItem(0), i); harness.check(i.getParent(), m); MenuItem i2 = new MenuItem("Second"); m.insert(i2, 0); harness.check(m.countItems(), 2); harness.check(m.getItem(0), i2); harness.check(m.getItem(1), i); harness.check(i.getParent(), m); harness.check(i2.getParent(), m); m.remove(0); harness.check(m.countItems(), 1); harness.check(m.getItem(0), i); harness.check(i.getParent(), m); harness.check(i2.getParent(), null); m.remove(i); harness.check(m.countItems(), 0); harness.check(i.getParent(), null); // A Menu can be an MenuItem i = new Menu("TestingMenu"); m.add(i); harness.check(m.countItems(), 1); harness.check(m.getItem(0), i); harness.check(i.getParent(), m); m.remove(i); harness.check(m.countItems(), 0); harness.check(i.getParent(), null); m.add(i); harness.check(m.countItems(), 1); harness.check(m.getItem(0), i); harness.check(i.getParent(), m); i2 = new Menu("SecondMenu"); m.insert(i2, 0); harness.check(m.countItems(), 2); harness.check(m.getItem(0), i2); harness.check(m.getItem(1), i); harness.check(i.getParent(), m); harness.check(i2.getParent(), m); m.remove(0); harness.check(m.countItems(), 1); harness.check(m.getItem(0), i); harness.check(i.getParent(), m); harness.check(i2.getParent(), null); m.remove(i); harness.check(m.countItems(), 0); harness.check(i.getParent(), null); } } mauve-20140821/gnu/testlet/java/awt/image/0000755000175000001440000000000012375316426017031 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/image/Raster/0000755000175000001440000000000012375316426020271 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/image/Raster/MyRaster.java0000644000175000001440000000210410532656237022677 0ustar dokousers// Tags: not-a-test // Copyright (C) 2006 Francis Kung // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.image.Raster; import java.awt.Point; import java.awt.image.DataBuffer; import java.awt.image.Raster; import java.awt.image.SampleModel; public class MyRaster extends Raster { public MyRaster(SampleModel sm, DataBuffer db, Point origin) { super(sm, db, origin); } } mauve-20140821/gnu/testlet/java/awt/image/Raster/createChild.java0000644000175000001440000001274211015027423023333 0ustar dokousers/* createChild.java -- some checks for the createChild() method in the Raster class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 // Uses: MyRaster package gnu.testlet.java.awt.image.Raster; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Point; import java.awt.image.DataBuffer; import java.awt.image.Raster; import java.awt.image.RasterFormatException; import java.awt.image.SinglePixelPackedSampleModel; import java.awt.image.WritableRaster; public class createChild implements Testlet { public void test(TestHarness harness) { testData(harness); testBounds(harness); testBands(harness); } private void testData(TestHarness harness) { Raster rst = createRaster(harness); // Child raster Raster rst2 = rst.createChild(10, 20, 25, 15, 0, 0, null); harness.check(!(rst2 instanceof WritableRaster)); harness.check(rst2.getMinX(), 0); harness.check(rst2.getMinY(), 0); harness.check(rst2.getWidth(), 25); harness.check(rst2.getHeight(), 15); for (int x = 0; x < 25; x++) for (int y = 0; y < 15; y++) for (int b = 0; b < 3; b++) harness.check(rst2.getSample(x, y, b), x+10 + y+20 + b); // Offset child rst2 = rst.createChild(10, 20, 25, 15, 30, 40, null); harness.check(rst2.getMinX(), 30); harness.check(rst2.getMinY(), 40); harness.check(rst2.getWidth(), 25); harness.check(rst2.getHeight(), 15); for (int x = 30; x < 55; x++) for (int y = 40; y < 55; y++) for (int b = 0; b < 3; b++) harness.check(rst2.getSample(x, y, b), x-20 + y-20 + b); } private void testBounds(TestHarness harness) { Raster rst = createRaster(harness); // Width and height out of bounds try { rst.createChild(10, 20, 100, 100, 0, 0, null); harness.check(false); } catch (RasterFormatException ex) { harness.check(true); } catch (Exception ex) { harness.check(false); } // MinX and MinY out of bounds try { // Create child with non-zero minX and minY Raster rst2 = rst.createChild(0, 0, 25, 25, 30, 30, null); // Create child's child with minX and minY out of bounds rst2.createChild(10, 20, 10, 10, 0, 0, null); harness.check(false); } catch (RasterFormatException ex) { harness.check(true); } catch (Exception ex) { harness.check(false); } } private void testBands(TestHarness harness) { Raster rst = createRaster(harness); // Copy all bands Raster rst2 = rst.createChild(0, 0, 50, 40, 0, 0, null); harness.check(rst2.getNumBands(), rst.getNumBands()); // Only first two bands rst2 = rst.createChild(0, 0, 50, 40, 0, 0, new int[]{0, 1}); harness.check(rst2.getNumBands(), 2); for (int x = 0; x < 50; x++) for (int y = 0; y < 40; y++) for (int b = 0; b < 2; b++) harness.check(rst2.getSample(x, y, b), x+y+b); // Only last two bands rst2 = rst.createChild(0, 0, 50, 40, 0, 0, new int[]{1, 2}); harness.check(rst2.getNumBands(), 2); for (int x = 0; x < 50; x++) for (int y = 0; y < 40; y++) for (int b = 0; b < 2; b++) harness.check(rst2.getSample(x, y, b), x+y+b+1); // Only middle band rst2 = rst.createChild(0, 0, 50, 40, 0, 0, new int[]{1}); harness.check(rst2.getNumBands(), 1); for (int x = 0; x < 50; x++) for (int y = 0; y < 40; y++) harness.check(rst2.getSample(x, y, 0), x+y+1); // Reverse order of bands rst2 = rst.createChild(0, 0, 50, 40, 0, 0, new int[]{2, 0}); harness.check(rst2.getNumBands(), 2); for (int x = 0; x < 50; x++) for (int y = 0; y < 40; y++) { harness.check(rst2.getSample(x, y, 0), x+y+2); harness.check(rst2.getSample(x, y, 1), x+y); } } private Raster createRaster(TestHarness harness) { // Create initial raster WritableRaster rst = Raster.createWritableRaster(new SinglePixelPackedSampleModel(DataBuffer.TYPE_INT, 50, 40, new int[]{0xff0000, 0xff00, 0xff}), new Point(0, 0)); // Fill with test data for (int x = 0; x < 50; x++) for (int y = 0; y < 40; y++) for (int b = 0; b < 3; b++) rst.setSample(x, y, b, x+y+b); // Get non-writable version with the same data Raster rst2 = new MyRaster(rst.getSampleModel(), rst.getDataBuffer(), new Point(0, 0)); harness.check(!(rst2 instanceof WritableRaster)); return rst2; } } mauve-20140821/gnu/testlet/java/awt/image/RescaleOp/0000755000175000001440000000000012375316426020706 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/image/RescaleOp/constructors.java0000644000175000001440000001005310477570240024315 0ustar dokousers/* constructors.java -- some checks for the constructors in the RescaleOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.image.RescaleOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.RescaleOp; import java.util.Arrays; /** * Some checks for the constructors in the {@link RescaleOp} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("(float[], float[], RenderingHints)"); // Simple test float[] scale = new float[] {0.6f}; float[] offset = new float[] {1.1f}; RescaleOp op = new RescaleOp(scale, offset, null); harness.check(Arrays.equals(op.getScaleFactors(null), scale)); harness.check(Arrays.equals(op.getOffsets(null), offset)); harness.check(op.getRenderingHints(), null); scale = new float[] {0.6f, 1.2f, 5.6f, 2.2f}; offset = new float[] {1.1f, 3f, 2.7f, 8.0f}; op = new RescaleOp(scale, offset, null); harness.check(Arrays.equals(op.getScaleFactors(null), scale)); harness.check(Arrays.equals(op.getOffsets(null), offset)); harness.check(op.getRenderingHints(), null); // Null arguments try { op = new RescaleOp(null, offset, null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } try { op = new RescaleOp(scale, null, null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } try { op = new RescaleOp(null, null, null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } // Empty arrays try { op = new RescaleOp(new float[]{}, new float[]{}, null); harness.check(true); } catch (NullPointerException e) { harness.check(false); } // Mis-matched array lengths are allowed for now scale = new float[] {1f, 2f, 3f, 4f, 5f, 6f}; offset = new float[] {1f, 2f, 3f}; try { op = new RescaleOp(scale, offset, null); harness.check(true); } catch (IllegalArgumentException ex) { harness.check(false); } // Negative values scale = new float[] {1f, -2f}; offset = new float[] {2f, -1f,}; try { op = new RescaleOp(scale, offset, null); harness.check(true); } catch (IllegalArgumentException ex) { harness.check(false); } } public void testConstructor2(TestHarness harness) { harness.checkPoint("(float, float, RenderingHints)"); // Simple test RescaleOp op = new RescaleOp(2f, 6.5f, null); harness.check(Arrays.equals(op.getScaleFactors(null), new float[]{2f})); harness.check(Arrays.equals(op.getOffsets(null), new float[]{6.5f})); harness.check(op.getRenderingHints(), null); // Negative values try { op = new RescaleOp(-5f, -2f, null); harness.check(true); } catch (IllegalArgumentException ex) { harness.check(false); } } } mauve-20140821/gnu/testlet/java/awt/image/RescaleOp/getScaleFactors.java0000644000175000001440000000531210477570240024620 0ustar dokousers/* getScaleFactors.java -- some checks for the getScaleFactors() method in the RescaleOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.RescaleOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.RescaleOp; import java.util.Arrays; public class getScaleFactors implements Testlet { public void test(TestHarness harness) { RescaleOp op = new RescaleOp(1, 1, null); harness.check(Arrays.equals(op.getScaleFactors(null), new float[]{1})); op = new RescaleOp(new float[]{1}, new float[]{1}, null); harness.check(Arrays.equals(op.getScaleFactors(null), new float[]{1})); float[] flt = new float[]{1, 2, 3, 4, 5}; op = new RescaleOp(flt, flt, null); harness.check(op.getScaleFactors(null) != flt); harness.check(Arrays.equals(op.getScaleFactors(null), new float[]{1, 2, 3, 4, 5})); // Mismatched array sizes... op = new RescaleOp(flt, new float[]{1, 2}, null); harness.check(op.getScaleFactors(null).length == 2); harness.check(op.getScaleFactors(null)[0] == 1); harness.check(op.getScaleFactors(null)[1] == 2); // Try passing in an array to be populated op = new RescaleOp(flt, flt, null); float[] arr = new float[5]; harness.check(Arrays.equals(op.getScaleFactors(arr), arr)); harness.check(Arrays.equals(arr, flt)); // What if the array is too big? arr = new float[10]; Arrays.fill(arr, 25); op.getScaleFactors(arr); for (int i = 0; i < 5; i++) harness.check(arr[i] == flt[i]); for (int i = 5; i < arr.length; i++) harness.check(arr[i] == 25); // What if array is too small? arr = new float[2]; try { harness.check(op.getScaleFactors(arr).length == 2); harness.check(op.getScaleFactors(arr)[0] == 1); harness.check(op.getScaleFactors(arr)[1] == 2); } catch (ArrayIndexOutOfBoundsException ex) { harness.check(false); } } } mauve-20140821/gnu/testlet/java/awt/image/RescaleOp/createCompatibleDestImage.java0000644000175000001440000001111210477570240026570 0ustar dokousers/* createCompatibleDestImage.java -- some checks for the createCompatibleDestImage() method of the RescaleOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.image.RescaleOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.BufferedImage; import java.awt.image.DirectColorModel; import java.awt.image.RescaleOp; /** * Checks for the createCompatibleDestImage method in the * {@link RescaleOp} class. */ public class createCompatibleDestImage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { simpleTest(harness); colorModelTest(harness); } private void simpleTest(TestHarness harness) { harness.checkPoint("createCompatibleDestImage"); // Simple test RescaleOp op = new RescaleOp(1, 1, null); BufferedImage img = new BufferedImage(25, 40, BufferedImage.TYPE_INT_RGB); BufferedImage dest = op.createCompatibleDestImage(img, img.getColorModel()); harness.check(dest.getHeight(), 40); harness.check(dest.getWidth(), 25); harness.check(dest.getColorModel(), img.getColorModel()); // Try a different colour model img = new BufferedImage(25, 40, BufferedImage.TYPE_INT_RGB); DirectColorModel cm = new DirectColorModel(16, 0x0f00, 0x00f0, 0x000f); dest = op.createCompatibleDestImage(img, cm); harness.check(dest.getHeight(), 40); harness.check(dest.getWidth(), 25); harness.check(dest.getColorModel(), cm); } // Test all the default color models private void colorModelTest(TestHarness harness) { RescaleOp op = new RescaleOp(1, 1, null); int[] types = {BufferedImage.TYPE_INT_RGB, BufferedImage.TYPE_INT_ARGB, BufferedImage.TYPE_INT_ARGB_PRE, BufferedImage.TYPE_3BYTE_BGR, BufferedImage.TYPE_4BYTE_ABGR, BufferedImage.TYPE_4BYTE_ABGR_PRE, BufferedImage.TYPE_USHORT_565_RGB, BufferedImage.TYPE_USHORT_555_RGB, BufferedImage.TYPE_BYTE_GRAY, BufferedImage.TYPE_USHORT_GRAY}; // Skipped types that are not implemented yet: // TYPE_CUSTOM, TYPE_INT_BGR, TYPE_BYTE_BINARY, TYPE_BYTE_INDEXED for (int i = 0; i < types.length; i++) { int type = types[i]; harness.checkPoint("type: " + type); BufferedImage img = new BufferedImage(25, 40, type); BufferedImage dest = op.createCompatibleDestImage(img, null); // Unlike most Ops, this one creates a clone of the original image harness.check(dest.getColorModel().getPixelSize(), img.getColorModel().getPixelSize()); harness.check(dest.getColorModel().getTransferType(), img.getColorModel().getTransferType()); harness.check(dest.getColorModel().getClass() == img.getColorModel().getClass()); harness.check(dest.getSampleModel().getClass() == img.getSampleModel().getClass()); harness.check(dest.getColorModel().getNumComponents(), img.getColorModel().getNumComponents()); harness.check(dest.getColorModel().getTransparency(), img.getColorModel().getTransparency()); harness.check(dest.getColorModel().hasAlpha(), img.getColorModel().hasAlpha()); harness.check(dest.getColorModel().isAlphaPremultiplied(), img.getColorModel().isAlphaPremultiplied()); harness.check(dest.getColorModel().getColorSpace().getType(), img.getColorModel().getColorSpace().getType()); harness.check(dest.getRaster().getNumBands(), img.getRaster().getNumBands()); harness.check(dest.getRaster().getNumDataElements(), img.getRaster().getNumDataElements()); harness.check(dest.getType(), img.getType()); } } } mauve-20140821/gnu/testlet/java/awt/image/RescaleOp/getPoint2D.java0000644000175000001440000000313410477570240023526 0ustar dokousers/* getPoint2D.java -- some checks for the getPoint2D() method in the RescaleOp class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.RescaleOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Point2D; import java.awt.image.RescaleOp; public class getPoint2D implements Testlet { public void test(TestHarness harness) { RescaleOp op = new RescaleOp(1, 1, null); Point2D p = new Point2D.Double(1.0, 2.0); Point2D pp = new Point2D.Double(); Point2D p1 = op.getPoint2D(p, pp); harness.check(p1, p); harness.check(p1 == pp); harness.check(p1 != p); // try null dest p1 = op.getPoint2D(p, null); harness.check(p1, p); harness.check(p1 != p); // try src == dst p1 = op.getPoint2D(p, p); harness.check(p1, p); harness.check(p1 == p); } } mauve-20140821/gnu/testlet/java/awt/image/RescaleOp/getRenderingHints.java0000644000175000001440000000271610477570240025177 0ustar dokousers/* getRenderingHints.java -- some checks for the getRenderingHints() method in the RescaleOp class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.RescaleOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.RenderingHints; import java.awt.image.RescaleOp; public class getRenderingHints implements Testlet { public void test(TestHarness harness) { RenderingHints r = new RenderingHints(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY); RescaleOp op = new RescaleOp(1, 1, r); harness.check(op.getRenderingHints() == r); op = new RescaleOp(1, 1, null); harness.check(op.getRenderingHints() == null); } } mauve-20140821/gnu/testlet/java/awt/image/RescaleOp/filterRaster.java0000644000175000001440000001640010502021705024177 0ustar dokousers/* filterRaster.java -- some checks for the filter() methods in the RescaleOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.RescaleOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.BufferedImage; import java.awt.image.RescaleOp; import java.awt.image.WritableRaster; public class filterRaster implements Testlet { public void test(TestHarness harness) { simpleTests(harness); testRaster1(harness); testRaster2(harness); testMismatch(harness); } private void simpleTests(TestHarness harness) { harness.checkPoint("filter(Raster)"); // Create an image to work on BufferedImage img = new BufferedImage(20, 20, BufferedImage.TYPE_USHORT_GRAY); WritableRaster r = img.getRaster(); r.setSample(1, 1, 0, 150); RescaleOp op = new RescaleOp(1, 1, null); // Src and dst rasters can be the same try { op.filter(r, r); harness.check(true); } catch (IllegalArgumentException e) { harness.check(false); } // Src and dst are different sizes (not allowed, unlike some other Ops) BufferedImage dst = new BufferedImage(30, 40, BufferedImage.TYPE_INT_RGB); try { op.filter(r, dst.getRaster()); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // Null destination check WritableRaster dstRast = op.filter(r, null); harness.check(dstRast.getHeight(), r.getHeight()); harness.check(dstRast.getWidth(), r.getWidth()); harness.check(dstRast.getMinX(), r.getMinX()); harness.check(dstRast.getMinY(), r.getMinY()); harness.check(dstRast.getNumBands(), r.getNumBands()); harness.check(dstRast.getNumDataElements(), r.getNumDataElements()); harness.check(dstRast.getTransferType(), r.getTransferType()); harness.check(dstRast.getBounds(), r.getBounds()); harness.check(dstRast.getDataBuffer().getClass(), r.getDataBuffer().getClass()); // Test positive & negative clipping behaviour img.getRaster().setSample(1, 1, 0, 1500); op = new RescaleOp(100, 0, null); dstRast = op.filter(r, null); double maxValue = Math.pow(2, r.getSampleModel().getSampleSize(0)) - 1; harness.check(dstRast.getSample(1, 1, 0), maxValue); op = new RescaleOp(1, -2000, null); dstRast = op.filter(r, null); harness.check(dstRast.getSample(1, 1, 0), 0); } public void testRaster1(TestHarness harness) { harness.checkPoint("filter(Raster) with one scaling factor"); // Create a raster to work on BufferedImage img = new BufferedImage(20, 20, BufferedImage.TYPE_INT_ARGB); WritableRaster r = img.getRaster(); r.setSample(1, 1, 0, 150); r.setSample(1, 1, 1, 160); r.setSample(1, 1, 2, 175); r.setSample(1, 1, 3, 195); r.setSample(1, 3, 0, 45); r.setSample(1, 3, 1, 60); r.setSample(1, 3, 2, 70); r.setSample(1, 3, 3, 90); RescaleOp op = new RescaleOp(0.75f, 25f, null); WritableRaster dest = op.filter(r, null); harness.check(dest.getSample(1, 1, 0), 137); //rounded down from 137.5 harness.check(dest.getSample(1, 1, 1), 145); harness.check(dest.getSample(1, 1, 3), 171); //rounded down from 171.25 harness.check(dest.getSample(1, 1, 2), 156); //rounded down from 156.25 harness.check(dest.getSample(1, 3, 0), 58); //rounded down from 58.75 harness.check(dest.getSample(1, 3, 1), 70); harness.check(dest.getSample(1, 3, 2), 77); //rounded down from 77.5 harness.check(dest.getSample(1, 3, 3), 92); //rounded down from 92.5 } public void testRaster2(TestHarness harness) { harness.checkPoint("filter(Raster) with multiple factors"); // Create an image to work on BufferedImage img = new BufferedImage(20, 20, BufferedImage.TYPE_INT_ARGB); WritableRaster r = img.getRaster(); r.setSample(1, 1, 0, 10); r.setSample(1, 1, 1, 20); r.setSample(1, 1, 2, 35); r.setSample(1, 1, 3, 40); r.setSample(1, 3, 0, 45); r.setSample(1, 3, 1, 60); r.setSample(1, 3, 2, 70); r.setSample(1, 3, 3, 90); RescaleOp op = new RescaleOp(new float[]{0.75f, 2.5f, -1f, 0f}, new float[]{25f, 2f, 1f, 0f}, null); WritableRaster dest = op.filter(r, null); harness.check(dest.getSample(1, 1, 0), 32); //rounded down from 32.5 harness.check(dest.getSample(1, 1, 1), 52); harness.check(dest.getSample(1, 1, 2), 0); harness.check(dest.getSample(1, 1, 3), 0); harness.check(dest.getSample(1, 3, 0), 58); //rounded down from 58.75 harness.check(dest.getSample(1, 3, 1), 152); harness.check(dest.getSample(1, 3, 2), 0); harness.check(dest.getSample(1, 3, 3), 0); } private void testMismatch(TestHarness harness) { harness.checkPoint("filter(Raster) with mismatched arrays"); // Create an image to work on BufferedImage img = new BufferedImage(20, 20, BufferedImage.TYPE_INT_ARGB); WritableRaster r = img.getRaster(); r.setSample(1, 1, 0, 10); r.setSample(1, 1, 1, 20); r.setSample(1, 1, 2, 35); r.setSample(1, 1, 3, 40); r.setSample(1, 3, 0, 45); r.setSample(1, 3, 1, 60); r.setSample(1, 3, 2, 70); r.setSample(1, 3, 3, 90); // Test mismatched arrays RescaleOp op = new RescaleOp(new float[]{1, 2, 3, 4}, new float[]{1, 2, 3}, null); try { op.filter(r, null); harness.check(false); } catch (IllegalArgumentException ex) { harness.check(true); } // Only the first value from both arrays is read if the offsets array // has only one value op = new RescaleOp(new float[]{1, 2, 3, 4}, new float[]{1}, null); try { WritableRaster dest = op.filter(r, null); harness.check(dest.getSample(1, 1, 0), 11); harness.check(dest.getSample(1, 1, 1), 21); harness.check(dest.getSample(1, 3, 0), 46); harness.check(dest.getSample(1, 3, 1), 61); } catch (IllegalArgumentException ex) { harness.check(false); } // Same with a single-length factors array op = new RescaleOp(new float[]{0.5f}, new float[]{2, 3, 4, 5}, null); try { WritableRaster dest = op.filter(r, null); harness.check(dest.getSample(1, 1, 0), 7); harness.check(dest.getSample(1, 1, 1), 12); harness.check(dest.getSample(1, 3, 0), 24); harness.check(dest.getSample(1, 3, 1), 32); } catch (IllegalArgumentException ex) { harness.check(false); } } } mauve-20140821/gnu/testlet/java/awt/image/RescaleOp/filterImage.java0000644000175000001440000002413310477570240024001 0ustar dokousers/* filterImage.java -- some checks for the filter(Image) method of the RescaleOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.image.RescaleOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.BufferedImage; import java.awt.image.RescaleOp; import java.awt.image.WritableRaster; /** * Checks the filter(BufferedImage) method in the {@link RescaleOp} class. */ public class filterImage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { simpleTests(harness); test1(harness); test2(harness); test3(harness); testMismatch(harness); } private void simpleTests(TestHarness harness) { harness.checkPoint("filter(BufferedImage)"); // Create an image to work on BufferedImage img = new BufferedImage(20, 20, BufferedImage.TYPE_USHORT_GRAY); WritableRaster r = img.getRaster(); r.setSample(1, 1, 0, 150); RescaleOp op = new RescaleOp(1, 1, null); // Src and dst images can be the same try { op.filter(img, img); harness.check(true); } catch (IllegalArgumentException e) { harness.check(false); } // Src and dst use different colorspaces (allowed, will cause implied // conversion) BufferedImage dst = new BufferedImage(20, 20, BufferedImage.TYPE_INT_RGB); try { op.filter(img, dst); harness.check(true); } catch (IllegalArgumentException e) { harness.check(false); } // Src and dst are different sizes (not allowed, unlike some other Ops) dst = new BufferedImage(30, 40, BufferedImage.TYPE_USHORT_GRAY); try { op.filter(img, dst); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // Null destination check dst = op.filter(img, null); harness.check(dst.getType(), op.createCompatibleDestImage(img, null).getType()); // Test positive & negative clipping behaviour img.getRaster().setSample(1, 1, 0, 1500); op = new RescaleOp(100, 0, null); dst = op.filter(img, null); double maxValue = Math.pow(2, img.getColorModel().getComponentSize(0)) - 1; harness.check(dst.getRaster().getSample(1, 1, 0), maxValue); op = new RescaleOp(1, -2000, null); dst = op.filter(img, null); harness.check(dst.getRaster().getSample(1, 1, 0), 0); } private void test1(TestHarness harness) { harness.checkPoint("filter(BufferedImage) with one scaling factor"); // Create an image to work on BufferedImage img = new BufferedImage(20, 20, BufferedImage.TYPE_INT_ARGB); WritableRaster r = img.getRaster(); r.setSample(1, 1, 0, 150); r.setSample(1, 1, 1, 160); r.setSample(1, 1, 2, 175); r.setSample(1, 1, 3, 195); r.setSample(1, 3, 0, 45); r.setSample(1, 3, 1, 60); r.setSample(1, 3, 2, 70); r.setSample(1, 3, 3, 90); RescaleOp op = new RescaleOp(0.75f, 25f, null); BufferedImage dst = op.filter(img, null); WritableRaster dest = dst.getRaster(); harness.check(dest.getSample(1, 1, 0), 137); //rounded down from 137.5 harness.check(dest.getSample(1, 1, 1), 145); harness.check(dest.getSample(1, 3, 0), 58); //rounded down from 58.75 harness.check(dest.getSample(1, 3, 1), 70); /* // Again, Sun does RGAB whereas we do RGBA =( // So, for Sun: harness.check(dest.getSample(1, 1, 2), 175); harness.check(dest.getSample(1, 1, 3), 171); //rounded down from 171.25 harness.check(dest.getSample(1, 3, 2), 70); harness.check(dest.getSample(1, 3, 3), 92); //rounded down from 92.5 // For classpath: harness.check(dest.getSample(1, 1, 2), 156); //rounded down from 156.25 harness.check(dest.getSample(1, 1, 3), 195); harness.check(dest.getSample(1, 3, 2), 77); //rounded down from 77.5 harness.check(dest.getSample(1, 3, 3), 90); */ } private void test2(TestHarness harness) { harness.checkPoint("filter(BufferedImage) with num factors == num " + "color components"); // Create an image to work on BufferedImage img = new BufferedImage(20, 20, BufferedImage.TYPE_INT_ARGB); WritableRaster r = img.getRaster(); r.setSample(1, 1, 0, 10); r.setSample(1, 1, 1, 20); r.setSample(1, 1, 2, 35); r.setSample(1, 1, 3, 40); r.setSample(1, 3, 0, 45); r.setSample(1, 3, 1, 60); r.setSample(1, 3, 2, 70); r.setSample(1, 3, 3, 90); RescaleOp op = new RescaleOp(new float[]{0.75f, 2.5f, 1f}, new float[]{25f, 2f, 1.5f}, null); /* This causes Sun to throw an exception... * * java.lang.IllegalArgumentException: Number of channels in the src (4) * does not match number of channels in the destination (2) * * I'm pretty sure it's a bug, but it's not one that's worth mimicing. * This test will not run on Sun. */ try { BufferedImage dst = op.filter(img, null); WritableRaster dest = dst.getRaster(); harness.check(dest.getSample(1, 1, 0), 32); //rounded down from 32.5 harness.check(dest.getSample(1, 1, 1), 52); harness.check(dest.getSample(1, 3, 0), 58); //rounded down from 58.75 harness.check(dest.getSample(1, 3, 1), 152); /* // Again, Sun does RGAB whereas we do RGBA =( // So, for Sun: harness.check(dest.getSample(1, 1, 2), 35); harness.check(dest.getSample(1, 1, 3), 41.5); harness.check(dest.getSample(1, 3, 2), 70); harness.check(dest.getSample(1, 3, 3), 91.5); */ // For classpath: harness.check(dest.getSample(1, 1, 2), 36); //rounded down from 36.5 harness.check(dest.getSample(1, 1, 3), 40); harness.check(dest.getSample(1, 3, 2), 71); //rounded down from 71.5 harness.check(dest.getSample(1, 3, 3), 90); } catch (IllegalArgumentException ex) { harness.debug("Test did not run - this is expected on Sun due to a " + "bug in their implementation, but this message should not show " + "when testing Classpath."); } } private void test3(TestHarness harness) { harness.checkPoint("filter(BufferedImage) with num factors == num " + "components"); // Create an image to work on BufferedImage img = new BufferedImage(20, 20, BufferedImage.TYPE_INT_ARGB); WritableRaster r = img.getRaster(); r.setSample(1, 1, 0, 10); r.setSample(1, 1, 1, 20); r.setSample(1, 1, 2, 35); r.setSample(1, 1, 3, 40); r.setSample(1, 3, 0, 45); r.setSample(1, 3, 1, 60); r.setSample(1, 3, 2, 70); r.setSample(1, 3, 3, 90); RescaleOp op = new RescaleOp(new float[]{0.75f, 2.5f, -1f, 0f}, new float[]{25f, 2f, 1f, 0f}, null); BufferedImage dst = op.filter(img, null); WritableRaster dest = dst.getRaster(); harness.check(dest.getSample(1, 1, 0), 32); //rounded down from 32.5 harness.check(dest.getSample(1, 1, 1), 52); harness.check(dest.getSample(1, 1, 2), 0); harness.check(dest.getSample(1, 1, 3), 0); harness.check(dest.getSample(1, 3, 0), 58); //rounded down from 58.75 harness.check(dest.getSample(1, 3, 1), 152); harness.check(dest.getSample(1, 3, 2), 0); harness.check(dest.getSample(1, 3, 3), 0); } private void testMismatch(TestHarness harness) { harness.checkPoint("filter(BufferedImage) with mismatched arrays"); // Create an image to work on BufferedImage img = new BufferedImage(20, 20, BufferedImage.TYPE_INT_ARGB); WritableRaster r = img.getRaster(); r.setSample(1, 1, 0, 10); r.setSample(1, 1, 1, 20); r.setSample(1, 1, 2, 35); r.setSample(1, 1, 3, 40); r.setSample(1, 3, 0, 45); r.setSample(1, 3, 1, 60); r.setSample(1, 3, 2, 70); r.setSample(1, 3, 3, 90); // Test mismatched arrays RescaleOp op = new RescaleOp(new float[]{1, 2, 3, 4}, new float[]{1, 2}, null); try { op.filter(img, null); harness.check(false); } catch (IllegalArgumentException ex) { harness.check(true); } // Only the first value from both arrays is read if the offsets array // has only one value op = new RescaleOp(new float[]{1, 2, 3, 4}, new float[]{1}, null); try { BufferedImage dst = op.filter(img, null); WritableRaster dest = dst.getRaster(); harness.check(dest.getSample(1, 1, 0), 11); harness.check(dest.getSample(1, 1, 1), 21); harness.check(dest.getSample(1, 3, 0), 46); harness.check(dest.getSample(1, 3, 1), 61); } catch (IllegalArgumentException ex) { harness.check(false); } // Same with a single-length factors array op = new RescaleOp(new float[]{0.5f}, new float[]{2, 3, 4, 5}, null); try { BufferedImage dst = op.filter(img, null); WritableRaster dest = dst.getRaster(); harness.check(dest.getSample(1, 1, 0), 7); harness.check(dest.getSample(1, 1, 1), 12); harness.check(dest.getSample(1, 3, 0), 24); harness.check(dest.getSample(1, 3, 1), 32); } catch (IllegalArgumentException ex) { harness.check(false); } } } mauve-20140821/gnu/testlet/java/awt/image/RescaleOp/getNumFactors.java0000644000175000001440000000473410477570240024337 0ustar dokousers/* getNumFactors.java -- some checks for the getNumFactors() method of the RescaleOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.image.RescaleOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.RescaleOp; /** * Checks the getNumFactors method in the * {@link RescaleOp} class. */ public class getNumFactors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("getNumFactors"); RescaleOp op = new RescaleOp(1.5f, 2.3f, null); harness.check(op.getNumFactors(), 1); op = new RescaleOp(new float[]{1.5f}, new float[]{2.3f}, null); harness.check(op.getNumFactors(), 1); op = new RescaleOp(new float[]{1.5f, 2.5f}, new float[]{2.3f, 6.6f}, null); harness.check(op.getNumFactors(), 2); op = new RescaleOp(new float[]{1.5f, 2.2f, 3.7f}, new float[]{2.3f, 2.3f, 2.3f}, null); harness.check(op.getNumFactors(), 3); op = new RescaleOp(new float[]{}, new float[]{}, null); harness.check(op.getNumFactors(), 0); // If the arrays are mismatched, return the lower value op = new RescaleOp(new float[]{1, 2, 3}, new float[]{1}, null); harness.check(op.getNumFactors(), 1); op = new RescaleOp(new float[]{1}, new float[]{1, 2, 3}, null); harness.check(op.getNumFactors(), 1); op = new RescaleOp(new float[]{1, 2}, new float[]{1, 2, 3}, null); harness.check(op.getNumFactors(), 2); op = new RescaleOp(new float[]{1, 2, 3}, new float[]{1, 2}, null); harness.check(op.getNumFactors(), 2); } } mauve-20140821/gnu/testlet/java/awt/image/RescaleOp/getOffsets.java0000644000175000001440000000517610477570240023670 0ustar dokousers/* getffsets.java -- some checks for the getOffsets() method in the RescaleOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.RescaleOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.RescaleOp; import java.util.Arrays; public class getOffsets implements Testlet { public void test(TestHarness harness) { RescaleOp op = new RescaleOp(1, 1, null); harness.check(Arrays.equals(op.getOffsets(null), new float[]{1})); op = new RescaleOp(new float[]{1}, new float[]{1}, null); harness.check(Arrays.equals(op.getOffsets(null), new float[]{1})); float[] flt = new float[]{1, 2, 3, 4, 5}; op = new RescaleOp(flt, flt, null); harness.check(op.getOffsets(null) != flt); harness.check(Arrays.equals(op.getOffsets(null), new float[]{1, 2, 3, 4, 5})); // Mismatched array sizes... op = new RescaleOp(new float[]{1, 2}, flt, null); harness.check(op.getOffsets(null).length == 2); harness.check(op.getOffsets(null)[0] == 1); harness.check(op.getOffsets(null)[1] == 2); // Try passing in an array to be populated op = new RescaleOp(flt, flt, null); float[] arr = new float[5]; harness.check(Arrays.equals(op.getOffsets(arr), arr)); harness.check(Arrays.equals(arr, flt)); // What if the array is too big? arr = new float[10]; Arrays.fill(arr, 25); op.getOffsets(arr); for (int i = 0; i < 5; i++) harness.check(arr[i] == flt[i]); for (int i = 5; i < arr.length; i++) harness.check(arr[i] == 25); // What if array is too small? arr = new float[2]; try { harness.check(op.getOffsets(arr).length == 2); harness.check(op.getOffsets(arr)[0] == 1); harness.check(op.getOffsets(arr)[1] == 2); } catch (ArrayIndexOutOfBoundsException ex) { harness.check(false); } } } mauve-20140821/gnu/testlet/java/awt/image/RescaleOp/createCompatibleDestRaster.java0000644000175000001440000000645110477570240027020 0ustar dokousers/* createCompatibleDestRaster.java -- some checks for the createCompatibleDestRaster() method of the RescaleOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.image.RescaleOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Point; import java.awt.image.DataBuffer; import java.awt.image.MultiPixelPackedSampleModel; import java.awt.image.Raster; import java.awt.image.RescaleOp; /** * Checks for the createCompatibleDestRaster method in the * {@link RescaleOp} class. */ public class createCompatibleDestRaster implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { RescaleOp op = new RescaleOp(1, 1, null); Raster raster = Raster.createWritableRaster( new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, 8), null); Raster dest = op.createCompatibleDestRaster(raster); harness.check(dest.getWidth(), 10); harness.check(dest.getHeight(), 20); harness.check(dest.getNumBands(), 1); harness.check(dest.getSampleModel() instanceof MultiPixelPackedSampleModel); harness.check(dest.getTransferType(), raster.getTransferType()); harness.check(dest.getDataBuffer().getDataType(), raster.getDataBuffer().getDataType()); harness.check(dest.getNumDataElements(), raster.getNumDataElements()); // try null argument boolean pass = false; try { op.createCompatibleDestRaster(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // Try a different type raster = Raster.createBandedRaster(DataBuffer.TYPE_BYTE, 25, 40, 3, new Point(5, 5)); Raster dst = op.createCompatibleDestRaster(raster); harness.check(dst.getNumBands(), raster.getNumBands()); harness.check(dst.getTransferType(), raster.getTransferType()); harness.check(dst.getDataBuffer().getDataType(), raster.getDataBuffer().getDataType()); harness.check(dst.getNumDataElements(), raster.getNumDataElements()); // Try a different number of bands raster = Raster.createBandedRaster(DataBuffer.TYPE_INT, 25, 40, 5, new Point(5, 5)); dst = op.createCompatibleDestRaster(raster); harness.check(dst.getNumBands(), raster.getNumBands()); harness.check(dst.getTransferType(), raster.getTransferType()); harness.check(dst.getDataBuffer().getDataType(), raster.getDataBuffer().getDataType()); harness.check(dst.getNumDataElements(), raster.getNumDataElements()); } } mauve-20140821/gnu/testlet/java/awt/image/RescaleOp/getBounds2D.java0000644000175000001440000000502110477570240023664 0ustar dokousers/* getBounds2D.java -- some checks for the getBounds2D() methods in the RescaleOp class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDk1.4 package gnu.testlet.java.awt.image.RescaleOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; import java.awt.image.DataBuffer; import java.awt.image.MultiPixelPackedSampleModel; import java.awt.image.Raster; import java.awt.image.RescaleOp; public class getBounds2D implements Testlet { public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("(BufferedImage)"); BufferedImage image = new BufferedImage(10, 20, BufferedImage.TYPE_INT_ARGB); RescaleOp op = new RescaleOp(1, 1, null); Rectangle2D bounds = op.getBounds2D(image); harness.check(bounds.getWidth(), 10); harness.check(bounds.getHeight(), 20); // try null argument boolean pass = false; try { op.getBounds2D((BufferedImage) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void testMethod2(TestHarness harness) { harness.checkPoint("(Raster)"); RescaleOp op = new RescaleOp(1, 1, null); Raster raster = Raster.createWritableRaster( new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, 8), null); Rectangle2D bounds = op.getBounds2D(raster); harness.check(bounds.getWidth(), 10); harness.check(bounds.getHeight(), 20); // try null argument boolean pass = false; try { op.getBounds2D((Raster) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/IndexColorModel/0000755000175000001440000000000012375316426022060 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/image/IndexColorModel/constructors.java0000644000175000001440000004060310227563221025465 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.IndexColorModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.Transparency; import java.awt.image.DataBuffer; import java.awt.image.IndexColorModel; import java.math.BigInteger; /** * Some checks for the constructors in the IndexColorModel class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); testConstructor6(harness); testConstructor7(harness); } private static final byte[] R4 = {(byte) 1, (byte) 2, (byte) 3, (byte) 4}; private static final byte[] G4 = {(byte) 5, (byte) 6, (byte) 7, (byte) 8}; private static final byte[] B4 = {(byte) 9, (byte) 10, (byte) 11, (byte) 12}; private static final byte[] A4 = {(byte) 13, (byte) 14, (byte) 15, (byte) 16}; private static final byte[] CMAP = {(byte) 1, (byte) 5, (byte) 9, (byte) 2, (byte) 6, (byte) 10, (byte) 3, (byte) 7, (byte) 11, (byte) 4, (byte) 8, (byte) 12}; private static final int[] CMAP_INT = {new Color(1, 5, 9).getRGB(), new Color(2, 6, 10).getRGB(), new Color(3, 7, 11).getRGB(), new Color(4, 8, 12).getRGB()}; private static final byte[] CMAP_WITH_ALPHA = {(byte) 1, (byte) 5, (byte) 9, (byte) 13, (byte) 2, (byte) 6, (byte) 10, (byte) 14, (byte) 3, (byte) 7, (byte) 11, (byte) 15, (byte) 4, (byte) 8, (byte) 12, (byte) 16}; private static final int[] CMAP_INT_WITH_ALPHA = {new Color(1, 5, 9, 13).getRGB(), new Color(2, 6, 10, 14).getRGB(), new Color(3, 7, 11, 15).getRGB(), new Color(4, 8, 12, 16).getRGB()}; private void testConstructor1(TestHarness harness) { harness.checkPoint("IndexColorModel(int, int, byte[], byte[], byte[])"); IndexColorModel m1 = new IndexColorModel(2, 4, R4, G4, B4); harness.check(m1.getTransparency(), Transparency.OPAQUE); harness.check(m1.getMapSize(), 4); harness.check(m1.getPixelSize(), 2); harness.check(m1.getTransparentPixel(), -1); harness.check(!m1.hasAlpha()); harness.check(!m1.isAlphaPremultiplied()); harness.check(m1.getNumComponents(), 3); harness.check(m1.getNumColorComponents(), 3); // try bits < 1 boolean pass = false; try { /* IndexColorModel m = */ new IndexColorModel(0, 4, R4, G4, B4); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try bits > 16 pass = false; try { /* IndexColorModel m = */ new IndexColorModel(17, 4, R4, G4, B4); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try size bigger than arrays pass = false; try { /* IndexColorModel m = */ new IndexColorModel(2, 99, R4, G4, B4); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try null red array pass = false; try { /* IndexColorModel m = */ new IndexColorModel(2, 4, null, G4, B4); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try null green array pass = false; try { /* IndexColorModel m = */ new IndexColorModel(2, 4, R4, null, B4); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try null blue array pass = false; try { /* IndexColorModel m = */ new IndexColorModel(2, 4, R4, G4, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } private void testConstructor2(TestHarness harness) { harness.checkPoint("IndexColorModel(int, int, byte[], byte[], byte[], byte[])"); IndexColorModel m1 = new IndexColorModel(2, 4, R4, G4, B4, A4); harness.check(m1.getTransparency(), Transparency.TRANSLUCENT); harness.check(m1.getMapSize(), 4); harness.check(m1.getPixelSize(), 2); harness.check(m1.hasAlpha()); harness.check(!m1.isAlphaPremultiplied()); // try bits < 1 boolean pass = false; try { /* IndexColorModel m = */ new IndexColorModel(0, 4, R4, G4, B4, A4); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try bits > 16 pass = false; try { /* IndexColorModel m = */ new IndexColorModel(17, 4, R4, G4, B4, A4); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try size bigger than arrays pass = false; try { /* IndexColorModel m = */ new IndexColorModel(2, 99, R4, G4, B4, A4); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try null red array pass = false; try { /* IndexColorModel m = */ new IndexColorModel(2, 4, null, G4, B4, A4); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try null green array pass = false; try { /* IndexColorModel m = */ new IndexColorModel(2, 4, R4, null, B4, A4); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try null blue array pass = false; try { /* IndexColorModel m = */ new IndexColorModel(2, 4, R4, G4, null, A4); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try null alpha array IndexColorModel m = new IndexColorModel(2, 4, R4, G4, B4, null); harness.check(m.getTransparency(), Transparency.OPAQUE); } private void testConstructor3(TestHarness harness) { harness.checkPoint("IndexColorModel(int, int, byte[], byte[], byte[], int)"); IndexColorModel m1 = new IndexColorModel(2, 4, R4, G4, B4, 2); harness.check(m1.getTransparency(), Transparency.BITMASK); harness.check(m1.getMapSize(), 4); harness.check(m1.getPixelSize(), 2); harness.check(m1.getTransparentPixel(), 2); harness.check(m1.hasAlpha()); harness.check(!m1.isAlphaPremultiplied()); // try bits < 1 boolean pass = false; try { /* IndexColorModel m = */ new IndexColorModel(0, 4, R4, G4, B4, 2); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try bits > 16 pass = false; try { /* IndexColorModel m = */ new IndexColorModel(17, 4, R4, G4, B4, 2); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try size bigger than arrays pass = false; try { /* IndexColorModel m = */ new IndexColorModel(2, 99, R4, G4, B4, 2); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try null red array pass = false; try { /* IndexColorModel m = */ new IndexColorModel(2, 4, null, G4, B4, 2); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try null green array pass = false; try { /* IndexColorModel m = */ new IndexColorModel(2, 4, R4, null, B4, 2); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try null blue array pass = false; try { /* IndexColorModel m = */ new IndexColorModel(2, 4, R4, G4, null, 2); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try negative trans IndexColorModel m = new IndexColorModel(2, 4, R4, G4, B4, -1); harness.check(m.getTransparentPixel(), -1); harness.check(m.getTransparency(), Transparency.OPAQUE); m = new IndexColorModel(2, 4, R4, G4, B4, -99); harness.check(m.getTransparentPixel(), -1); harness.check(m.getTransparency(), Transparency.OPAQUE); // try trans too large m = new IndexColorModel(2, 4, R4, G4, B4, 4); harness.check(m.getTransparentPixel(), -1); } private void testConstructor4(TestHarness harness) { harness.checkPoint("IndexColorModel(int, int, byte[], int, boolean)"); IndexColorModel m1 = new IndexColorModel(2, 4, CMAP, 0, false); harness.check(!m1.isAlphaPremultiplied()); harness.check(m1.getRed(0), 1); harness.check(m1.getRed(1), 2); harness.check(m1.getRed(2), 3); harness.check(m1.getRed(3), 4); harness.check(m1.getGreen(0), 5); harness.check(m1.getGreen(1), 6); harness.check(m1.getGreen(2), 7); harness.check(m1.getGreen(3), 8); harness.check(m1.getBlue(0), 9); harness.check(m1.getBlue(1), 10); harness.check(m1.getBlue(2), 11); harness.check(m1.getBlue(3), 12); harness.check(m1.getAlpha(0), 255); harness.check(m1.getAlpha(1), 255); harness.check(m1.getAlpha(2), 255); harness.check(m1.getAlpha(3), 255); harness.check(!m1.hasAlpha()); IndexColorModel m2 = new IndexColorModel(2, 4, CMAP_WITH_ALPHA, 0, true); harness.check(m2.getRed(0), 1); harness.check(m2.getRed(1), 2); harness.check(m2.getRed(2), 3); harness.check(m2.getRed(3), 4); harness.check(m2.getGreen(0), 5); harness.check(m2.getGreen(1), 6); harness.check(m2.getGreen(2), 7); harness.check(m2.getGreen(3), 8); harness.check(m2.getBlue(0), 9); harness.check(m2.getBlue(1), 10); harness.check(m2.getBlue(2), 11); harness.check(m2.getBlue(3), 12); harness.check(m2.getAlpha(0), 13); harness.check(m2.getAlpha(1), 14); harness.check(m2.getAlpha(2), 15); harness.check(m2.getAlpha(3), 16); harness.check(m2.hasAlpha()); // try bits < 1 boolean pass = false; try { /* IndexColorModel m = */ new IndexColorModel(0, 4, CMAP, 0, false); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try bits > 16 pass = false; try { /* IndexColorModel m = */ new IndexColorModel(17, 4, CMAP, 0, false); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try size bigger than arrays pass = false; try { /* IndexColorModel m = */ new IndexColorModel(2, 99, CMAP, 0, false); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try null cmap array pass = false; try { /* IndexColorModel m = */ new IndexColorModel(2, 4, null, 0, false); } catch (NullPointerException e) { pass = true; } harness.check(pass); } private void testConstructor5(TestHarness harness) { harness.checkPoint("IndexColorModel(int, int, byte[], int, boolean, int)"); IndexColorModel m1 = new IndexColorModel(2, 4, CMAP, 0, false, 1); harness.check(m1.getTransparentPixel(), 1); harness.check(!m1.isAlphaPremultiplied()); harness.check(m1.getRed(0), 1); harness.check(m1.getRed(1), 2); harness.check(m1.getRed(2), 3); harness.check(m1.getRed(3), 4); harness.check(m1.getGreen(0), 5); harness.check(m1.getGreen(1), 6); harness.check(m1.getGreen(2), 7); harness.check(m1.getGreen(3), 8); harness.check(m1.getBlue(0), 9); harness.check(m1.getBlue(1), 10); harness.check(m1.getBlue(2), 11); harness.check(m1.getBlue(3), 12); harness.check(m1.getAlpha(0), 255); harness.check(m1.getAlpha(1), 0); harness.check(m1.getAlpha(2), 255); harness.check(m1.getAlpha(3), 255); IndexColorModel m2 = new IndexColorModel(2, 4, CMAP_WITH_ALPHA, 0, true, 2); harness.check(m2.getRed(0), 1); harness.check(m2.getRed(1), 2); harness.check(m2.getRed(2), 3); harness.check(m2.getRed(3), 4); harness.check(m2.getGreen(0), 5); harness.check(m2.getGreen(1), 6); harness.check(m2.getGreen(2), 7); harness.check(m2.getGreen(3), 8); harness.check(m2.getBlue(0), 9); harness.check(m2.getBlue(1), 10); harness.check(m2.getBlue(2), 11); harness.check(m2.getBlue(3), 12); harness.check(m2.getAlpha(0), 13); harness.check(m2.getAlpha(1), 14); harness.check(m2.getAlpha(2), 0); harness.check(m2.getAlpha(3), 16); // try bits < 1 boolean pass = false; try { /* IndexColorModel m = */ new IndexColorModel(0, 4, CMAP, 0, false, 3); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try bits > 16 pass = false; try { /* IndexColorModel m = */ new IndexColorModel(17, 4, CMAP, 0, false, 3); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try size bigger than arrays pass = false; try { /* IndexColorModel m = */ new IndexColorModel(2, 99, CMAP, 0, false, 3); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try null cmap array pass = false; try { /* IndexColorModel m = */ new IndexColorModel(2, 4, null, 0, false, 3); } catch (NullPointerException e) { pass = true; } harness.check(pass); } private void testConstructor6(TestHarness harness) { harness.checkPoint("IndexColorModel(int, int, int[], int, boolean, int, int)"); IndexColorModel m1 = new IndexColorModel(2, 4, CMAP_INT, 0, false, 1, DataBuffer.TYPE_BYTE); harness.check(m1.getTransferType(), DataBuffer.TYPE_BYTE); harness.check(m1.getTransparentPixel(), 1); harness.check(!m1.isAlphaPremultiplied()); harness.check(m1.getRed(0), 1); harness.check(m1.getRed(1), 2); harness.check(m1.getRed(2), 3); harness.check(m1.getRed(3), 4); harness.check(m1.getGreen(0), 5); harness.check(m1.getGreen(1), 6); harness.check(m1.getGreen(2), 7); harness.check(m1.getGreen(3), 8); harness.check(m1.getBlue(0), 9); harness.check(m1.getBlue(1), 10); harness.check(m1.getBlue(2), 11); harness.check(m1.getBlue(3), 12); harness.check(m1.getAlpha(0), 255); harness.check(m1.getAlpha(1), 0); harness.check(m1.getAlpha(2), 255); harness.check(m1.getAlpha(3), 255); IndexColorModel m2 = new IndexColorModel(2, 4, CMAP_INT_WITH_ALPHA, 0, true, 1, DataBuffer.TYPE_BYTE); harness.check(m2.getTransferType(), DataBuffer.TYPE_BYTE); harness.check(m2.getRed(0), 1); harness.check(m2.getRed(1), 2); harness.check(m2.getRed(2), 3); harness.check(m2.getRed(3), 4); harness.check(m2.getGreen(0), 5); harness.check(m2.getGreen(1), 6); harness.check(m2.getGreen(2), 7); harness.check(m2.getGreen(3), 8); harness.check(m2.getBlue(0), 9); harness.check(m2.getBlue(1), 10); harness.check(m2.getBlue(2), 11); harness.check(m2.getBlue(3), 12); harness.check(m2.getAlpha(0), 13); harness.check(m2.getAlpha(1), 0); harness.check(m2.getAlpha(2), 15); harness.check(m2.getAlpha(3), 16); } private void testConstructor7(TestHarness harness) { harness.checkPoint("IndexColorModel(int, int, int[], int, int, BigInteger)"); IndexColorModel m1 = new IndexColorModel(2, 4, CMAP_INT, 0, DataBuffer.TYPE_BYTE, new BigInteger("11")); harness.check(!m1.isAlphaPremultiplied()); harness.check(m1.isValid(0)); harness.check(m1.isValid(1)); harness.check(!m1.isValid(2)); harness.check(m1.isValid(3)); } } mauve-20140821/gnu/testlet/java/awt/image/IndexColorModel/getReds.java0000644000175000001440000000416110227563221024311 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.IndexColorModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.IndexColorModel; /** * Some checks for the getReds() method. */ public class getReds implements Testlet { private static final byte[] R4 = {(byte) 1, (byte) 2, (byte) 3, (byte) 4}; private static final byte[] G4 = {(byte) 5, (byte) 6, (byte) 7, (byte) 8}; private static final byte[] B4 = {(byte) 9, (byte) 10, (byte) 11, (byte) 12}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IndexColorModel m1 = new IndexColorModel(2, 4, R4, G4, B4); byte[] r = new byte[4]; m1.getReds(r); harness.check(r[0], (byte) 1); harness.check(r[1], (byte) 2); harness.check(r[2], (byte) 3); harness.check(r[3], (byte) 4); // try null array boolean pass = false; try { m1.getReds(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try array too small to hold results pass = false; try { m1.getReds(new byte[3]); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/IndexColorModel/getAlphas.java0000644000175000001440000000431610227563221024626 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.IndexColorModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.IndexColorModel; /** * Some checks for the getAlphas() method. */ public class getAlphas implements Testlet { private static final byte[] R4 = {(byte) 1, (byte) 2, (byte) 3, (byte) 4}; private static final byte[] G4 = {(byte) 5, (byte) 6, (byte) 7, (byte) 8}; private static final byte[] B4 = {(byte) 9, (byte) 10, (byte) 11, (byte) 12}; private static final byte[] A4 = {(byte) 13, (byte) 14, (byte) 15, (byte) 16}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IndexColorModel m1 = new IndexColorModel(2, 4, R4, G4, B4, A4); byte[] a = new byte[4]; m1.getAlphas(a); harness.check(a[0], (byte) 13); harness.check(a[1], (byte) 14); harness.check(a[2], (byte) 15); harness.check(a[3], (byte) 16); // try null array boolean pass = false; try { m1.getAlphas(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try array too small to hold results pass = false; try { m1.getAlphas(new byte[3]); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/IndexColorModel/getGreen.java0000644000175000001440000000367710227563221024467 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.IndexColorModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.IndexColorModel; /** * Some checks for the getGreen() method. */ public class getGreen implements Testlet { private static final byte[] R4 = {(byte) 1, (byte) 2, (byte) 3, (byte) 4}; private static final byte[] G4 = {(byte) 5, (byte) 6, (byte) 7, (byte) 8}; private static final byte[] B4 = {(byte) 9, (byte) 10, (byte) 11, (byte) 12}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IndexColorModel m1 = new IndexColorModel(2, 4, R4, G4, B4); harness.check(m1.getGreen(0), 5); harness.check(m1.getGreen(1), 6); harness.check(m1.getGreen(2), 7); harness.check(m1.getGreen(3), 8); // try negative pixel boolean pass = false; try { m1.getGreen(-1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try pixel too large harness.check(m1.getGreen(4), 0); } } mauve-20140821/gnu/testlet/java/awt/image/IndexColorModel/getTransparentPixel.java0000644000175000001440000000745410227563221026727 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.IndexColorModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.Transparency; import java.awt.image.DataBuffer; import java.awt.image.IndexColorModel; /** * Some checks for the getTransparentPixel() method. */ public class getTransparentPixel implements Testlet { private static final byte[] R4 = {(byte) 1, (byte) 2, (byte) 3, (byte) 4}; private static final byte[] G4 = {(byte) 5, (byte) 6, (byte) 7, (byte) 8}; private static final byte[] B4 = {(byte) 9, (byte) 10, (byte) 11, (byte) 12}; private static final byte[] CMAP = {(byte) 1, (byte) 5, (byte) 9, (byte) 2, (byte) 6, (byte) 10, (byte) 3, (byte) 7, (byte) 11, (byte) 4, (byte) 8, (byte) 12}; private static final byte[] CMAP_WITH_ALPHA = {(byte) 1, (byte) 5, (byte) 9, (byte) 13, (byte) 2, (byte) 6, (byte) 10, (byte) 14, (byte) 3, (byte) 7, (byte) 11, (byte) 15, (byte) 4, (byte) 8, (byte) 12, (byte) 16}; private static final int[] CMAP_INT = {new Color(1, 5, 9).getRGB(), new Color(2, 6, 10).getRGB(), new Color(3, 7, 11).getRGB(), new Color(4, 8, 12).getRGB()}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IndexColorModel m1 = new IndexColorModel(2, 4, R4, G4, B4); harness.check(m1.getTransparentPixel(), -1); IndexColorModel m2a = new IndexColorModel(2, 4, R4, G4, B4, 2); harness.check(m2a.getTransparentPixel(), 2); IndexColorModel m2b = new IndexColorModel(2, 4, R4, G4, B4, -2); harness.check(m2b.getTransparentPixel(), -1); IndexColorModel m2c = new IndexColorModel(2, 4, R4, G4, B4, 99); harness.check(m2c.getTransparentPixel(), -1); IndexColorModel m3a = new IndexColorModel(2, 4, CMAP, 0, false, 2); harness.check(m3a.getTransparentPixel(), 2); IndexColorModel m3b = new IndexColorModel(2, 4, CMAP, 0, false, -2); harness.check(m3b.getTransparentPixel(), -1); IndexColorModel m3c = new IndexColorModel(2, 4, CMAP, 0, false, 99); harness.check(m3c.getTransparentPixel(), -1); IndexColorModel m4a = new IndexColorModel(2, 4, CMAP_WITH_ALPHA, 0, true, 2); harness.check(m4a.getTransparentPixel(), 2); IndexColorModel m4b = new IndexColorModel(2, 4, CMAP_WITH_ALPHA, 0, true, -2); harness.check(m4b.getTransparentPixel(), -1); IndexColorModel m4c = new IndexColorModel(2, 4, CMAP_WITH_ALPHA, 0, true, 99); harness.check(m4c.getTransparentPixel(), -1); IndexColorModel m5a = new IndexColorModel(2, 4, CMAP_INT, 0, false, 2, DataBuffer.TYPE_BYTE); harness.check(m5a.getTransparentPixel(), 2); IndexColorModel m5b = new IndexColorModel(2, 4, CMAP_INT, 0, false, -2, DataBuffer.TYPE_BYTE); harness.check(m5b.getTransparentPixel(), -1); IndexColorModel m5c = new IndexColorModel(2, 4, CMAP_INT, 0, false, 99, DataBuffer.TYPE_BYTE); harness.check(m5c.getTransparentPixel(), -1); } } mauve-20140821/gnu/testlet/java/awt/image/IndexColorModel/getPixelSize.java0000644000175000001440000000616310227563221025334 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.IndexColorModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.IndexColorModel; /** * Some checks for the getPixelSize() method. */ public class getPixelSize implements Testlet { private static final byte[] R4 = {(byte) 1, (byte) 2, (byte) 3, (byte) 4}; private static final byte[] G4 = {(byte) 5, (byte) 6, (byte) 7, (byte) 8}; private static final byte[] B4 = {(byte) 9, (byte) 10, (byte) 11, (byte) 12}; private static final byte[] CMAP = {(byte) 1, (byte) 5, (byte) 9, (byte) 2, (byte) 6, (byte) 10, (byte) 3, (byte) 7, (byte) 11, (byte) 4, (byte) 8, (byte) 12}; private static final byte[] CMAP_WITH_ALPHA = {(byte) 1, (byte) 5, (byte) 9, (byte) 13, (byte) 2, (byte) 6, (byte) 10, (byte) 14, (byte) 3, (byte) 7, (byte) 11, (byte) 15, (byte) 4, (byte) 8, (byte) 12, (byte) 16}; private static final byte[] CMAP_WITH_ALPHA0 = {(byte) 1, (byte) 5, (byte) 9, (byte) 0, (byte) 2, (byte) 6, (byte) 10, (byte) 0, (byte) 3, (byte) 7, (byte) 11, (byte) 0, (byte) 4, (byte) 8, (byte) 12, (byte) 0}; private static final byte[] CMAP_WITH_ALPHA1 = {(byte) 1, (byte) 5, (byte) 9, (byte) 255, (byte) 2, (byte) 6, (byte) 10, (byte) 255, (byte) 3, (byte) 7, (byte) 11, (byte) 255, (byte) 4, (byte) 8, (byte) 12, (byte) 255}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IndexColorModel m1 = new IndexColorModel(2, 4, R4, G4, B4); harness.check(m1.getPixelSize(), 2); IndexColorModel m2 = new IndexColorModel(2, 4, R4, G4, B4, 2); harness.check(m2.getPixelSize(), 2); IndexColorModel m3a = new IndexColorModel(2, 4, CMAP, 0, false); harness.check(m3a.getPixelSize(), 2); IndexColorModel m3b = new IndexColorModel(2, 4, CMAP, 0, false, 1); harness.check(m3b.getPixelSize(), 2); IndexColorModel m4 = new IndexColorModel(2, 4, CMAP_WITH_ALPHA, 0, true); harness.check(m4.getPixelSize(), 2); IndexColorModel m5 = new IndexColorModel(2, 4, CMAP_WITH_ALPHA0, 0, true); harness.check(m5.getPixelSize(), 2); IndexColorModel m6 = new IndexColorModel(2, 4, CMAP_WITH_ALPHA1, 0, true); harness.check(m6.getPixelSize(), 2); } }mauve-20140821/gnu/testlet/java/awt/image/IndexColorModel/getAlpha.java0000644000175000001440000000467610227563221024454 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.IndexColorModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.IndexColorModel; /** * Some checks for the getAlpha() method. */ public class getAlpha implements Testlet { private static final byte[] R4 = {(byte) 1, (byte) 2, (byte) 3, (byte) 4}; private static final byte[] G4 = {(byte) 5, (byte) 6, (byte) 7, (byte) 8}; private static final byte[] B4 = {(byte) 9, (byte) 10, (byte) 11, (byte) 12}; private static final byte[] A4 = {(byte) 13, (byte) 14, (byte) 15, (byte) 16}; private static final byte[] CMAP = {(byte) 1, (byte) 5, (byte) 9, (byte) 2, (byte) 6, (byte) 10, (byte) 3, (byte) 7, (byte) 11, (byte) 4, (byte) 8, (byte) 12}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IndexColorModel m1 = new IndexColorModel(2, 4, R4, G4, B4, A4); harness.check(m1.getAlpha(0), 13); harness.check(m1.getAlpha(1), 14); harness.check(m1.getAlpha(2), 15); harness.check(m1.getAlpha(3), 16); IndexColorModel m2 = new IndexColorModel(2, 4, CMAP, 0, false, 1); harness.check(m2.getAlpha(0), 255); harness.check(m2.getAlpha(1), 0); harness.check(m2.getAlpha(2), 255); harness.check(m2.getAlpha(3), 255); // try negative pixel boolean pass = false; try { m1.getAlpha(-1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try pixel too large harness.check(m1.getAlpha(99), 0); } } mauve-20140821/gnu/testlet/java/awt/image/IndexColorModel/isValid.java0000644000175000001440000000530010227563221024303 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.IndexColorModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.image.DataBuffer; import java.awt.image.IndexColorModel; import java.math.BigInteger; /** * Some checks for the isValid() methods. */ public class isValid implements Testlet { private static final byte[] R4 = {(byte) 1, (byte) 2, (byte) 3, (byte) 4}; private static final byte[] G4 = {(byte) 5, (byte) 6, (byte) 7, (byte) 8}; private static final byte[] B4 = {(byte) 9, (byte) 10, (byte) 11, (byte) 12}; private static final int[] CMAP_INT = {new Color(1, 5, 9).getRGB(), new Color(2, 6, 10).getRGB(), new Color(3, 7, 11).getRGB(), new Color(4, 8, 12).getRGB()}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("isValid()"); IndexColorModel m1 = new IndexColorModel(2, 4, R4, G4, B4); harness.check(m1.isValid()); IndexColorModel m2 = new IndexColorModel(2, 4, CMAP_INT, 0, DataBuffer.TYPE_BYTE, new BigInteger("11")); harness.check(!m2.isValid()); } public void test2(TestHarness harness) { harness.checkPoint("isValid(int)"); IndexColorModel m1 = new IndexColorModel(2, 4, R4, G4, B4); harness.check(m1.isValid(0)); try { harness.check(!m1.isValid(-1)); } catch (Exception e) { harness.debug(e); } harness.check(!m1.isValid(4)); IndexColorModel m2 = new IndexColorModel(2, 4, CMAP_INT, 0, DataBuffer.TYPE_BYTE, new BigInteger("11")); harness.check(m2.isValid(0)); harness.check(m2.isValid(1)); harness.check(!m2.isValid(2)); harness.check(m2.isValid(3)); } } mauve-20140821/gnu/testlet/java/awt/image/IndexColorModel/getGreens.java0000644000175000001440000000416310227563221024641 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.IndexColorModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.IndexColorModel; /** * Some checks for the getGreens() method. */ public class getGreens implements Testlet { private static final byte[] R4 = {(byte) 1, (byte) 2, (byte) 3, (byte) 4}; private static final byte[] G4 = {(byte) 5, (byte) 6, (byte) 7, (byte) 8}; private static final byte[] B4 = {(byte) 9, (byte) 10, (byte) 11, (byte) 12}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IndexColorModel m1 = new IndexColorModel(2, 4, R4, G4, B4); byte[] r = new byte[4]; m1.getGreens(r); harness.check(r[0], (byte) 5); harness.check(r[1], (byte) 6); harness.check(r[2], (byte) 7); harness.check(r[3], (byte) 8); // try null array boolean pass = false; try { m1.getGreens(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try array too small to hold results pass = false; try { m1.getGreens(new byte[3]); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/IndexColorModel/getComponentSize.java0000644000175000001440000001013710227563221026211 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.IndexColorModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.IndexColorModel; /** * Some checks for the getComponentSize() method. */ public class getComponentSize implements Testlet { private static final byte[] R4 = {(byte) 1, (byte) 2, (byte) 3, (byte) 4}; private static final byte[] G4 = {(byte) 5, (byte) 6, (byte) 7, (byte) 8}; private static final byte[] B4 = {(byte) 9, (byte) 10, (byte) 11, (byte) 12}; private static final byte[] CMAP = {(byte) 1, (byte) 5, (byte) 9, (byte) 2, (byte) 6, (byte) 10, (byte) 3, (byte) 7, (byte) 11, (byte) 4, (byte) 8, (byte) 12}; private static final byte[] CMAP_WITH_ALPHA = {(byte) 1, (byte) 5, (byte) 9, (byte) 13, (byte) 2, (byte) 6, (byte) 10, (byte) 14, (byte) 3, (byte) 7, (byte) 11, (byte) 15, (byte) 4, (byte) 8, (byte) 12, (byte) 16}; private static final byte[] CMAP_WITH_ALPHA0 = {(byte) 1, (byte) 5, (byte) 9, (byte) 0, (byte) 2, (byte) 6, (byte) 10, (byte) 0, (byte) 3, (byte) 7, (byte) 11, (byte) 0, (byte) 4, (byte) 8, (byte) 12, (byte) 0}; private static final byte[] CMAP_WITH_ALPHA1 = {(byte) 1, (byte) 5, (byte) 9, (byte) 255, (byte) 2, (byte) 6, (byte) 10, (byte) 255, (byte) 3, (byte) 7, (byte) 11, (byte) 255, (byte) 4, (byte) 8, (byte) 12, (byte) 255}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IndexColorModel m1 = new IndexColorModel(2, 4, R4, G4, B4); int[] cs1 = m1.getComponentSize(); harness.check(cs1.length, 3); harness.check(cs1[0], 8); harness.check(cs1[1], 8); harness.check(cs1[2], 8); IndexColorModel m2 = new IndexColorModel(2, 4, R4, G4, B4, 2); int[] cs2 = m2.getComponentSize(); harness.check(cs2.length, 4); harness.check(cs2[0], 8); harness.check(cs2[1], 8); harness.check(cs2[2], 8); harness.check(cs2[3], 8); IndexColorModel m3a = new IndexColorModel(2, 4, CMAP, 0, false); int[] cs3a = m3a.getComponentSize(); harness.check(cs3a.length, 3); harness.check(cs3a[0], 8); harness.check(cs3a[1], 8); harness.check(cs3a[2], 8); IndexColorModel m3b = new IndexColorModel(2, 4, CMAP, 0, false, 1); int[] cs3b = m3b.getComponentSize(); harness.check(cs3b.length, 4); harness.check(cs3b[0], 8); harness.check(cs3b[1], 8); harness.check(cs3b[2], 8); harness.check(cs3b[3], 8); IndexColorModel m4 = new IndexColorModel(2, 4, CMAP_WITH_ALPHA, 0, true); int[] cs4 = m4.getComponentSize(); harness.check(cs4.length, 4); harness.check(cs4[0], 8); harness.check(cs4[1], 8); harness.check(cs4[2], 8); harness.check(cs4[3], 8); IndexColorModel m5 = new IndexColorModel(2, 4, CMAP_WITH_ALPHA0, 0, true); int[] cs5 = m5.getComponentSize(); harness.check(cs5.length, 4); harness.check(cs5[0], 8); harness.check(cs5[1], 8); harness.check(cs5[2], 8); harness.check(cs5[3], 8); IndexColorModel m6 = new IndexColorModel(2, 4, CMAP_WITH_ALPHA1, 0, true); int[] cs6 = m6.getComponentSize(); harness.check(cs6.length, 3); harness.check(cs6[0], 8); harness.check(cs6[1], 8); harness.check(cs6[2], 8); } }mauve-20140821/gnu/testlet/java/awt/image/IndexColorModel/getColorSpace.java0000644000175000001440000000454310227563221025452 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.IndexColorModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.IndexColorModel; /** * Some checks for the getColorSpace() method. */ public class getColorSpace implements Testlet { private static final byte[] R4 = {(byte) 1, (byte) 2, (byte) 3, (byte) 4}; private static final byte[] G4 = {(byte) 5, (byte) 6, (byte) 7, (byte) 8}; private static final byte[] B4 = {(byte) 9, (byte) 10, (byte) 11, (byte) 12}; private static final byte[] CMAP = {(byte) 1, (byte) 5, (byte) 9, (byte) 2, (byte) 6, (byte) 10, (byte) 3, (byte) 7, (byte) 11, (byte) 4, (byte) 8, (byte) 12}; private static final byte[] CMAP_WITH_ALPHA = {(byte) 1, (byte) 5, (byte) 9, (byte) 13, (byte) 2, (byte) 6, (byte) 10, (byte) 14, (byte) 3, (byte) 7, (byte) 11, (byte) 15, (byte) 4, (byte) 8, (byte) 12, (byte) 16}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IndexColorModel m1 = new IndexColorModel(2, 4, R4, G4, B4); harness.check(m1.getColorSpace().isCS_sRGB()); IndexColorModel m2 = new IndexColorModel(2, 4, R4, G4, B4, 2); harness.check(m2.getColorSpace().isCS_sRGB()); IndexColorModel m3 = new IndexColorModel(2, 4, CMAP, 0, false); harness.check(m3.getColorSpace().isCS_sRGB()); IndexColorModel m4 = new IndexColorModel(2, 4, CMAP_WITH_ALPHA, 0, true); harness.check(m4.getColorSpace().isCS_sRGB()); } }mauve-20140821/gnu/testlet/java/awt/image/IndexColorModel/getTransparency.java0000644000175000001440000001005710227563221026066 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.IndexColorModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Transparency; import java.awt.image.IndexColorModel; /** * Some checks for the getTransparency() method. */ public class getTransparency implements Testlet { private static final byte[] R4 = {(byte) 1, (byte) 2, (byte) 3, (byte) 4}; private static final byte[] G4 = {(byte) 5, (byte) 6, (byte) 7, (byte) 8}; private static final byte[] B4 = {(byte) 9, (byte) 10, (byte) 11, (byte) 12}; private static final byte[] CMAP = {(byte) 1, (byte) 5, (byte) 9, (byte) 2, (byte) 6, (byte) 10, (byte) 3, (byte) 7, (byte) 11, (byte) 4, (byte) 8, (byte) 12}; private static final byte[] CMAP_WITH_ALPHA = {(byte) 1, (byte) 5, (byte) 9, (byte) 13, (byte) 2, (byte) 6, (byte) 10, (byte) 14, (byte) 3, (byte) 7, (byte) 11, (byte) 15, (byte) 4, (byte) 8, (byte) 12, (byte) 16}; private static final byte[] CMAP_WITH_ALPHA0 = {(byte) 1, (byte) 5, (byte) 9, (byte) 0, (byte) 2, (byte) 6, (byte) 10, (byte) 0, (byte) 3, (byte) 7, (byte) 11, (byte) 0, (byte) 4, (byte) 8, (byte) 12, (byte) 0}; private static final byte[] CMAP_WITH_ALPHA1 = {(byte) 1, (byte) 5, (byte) 9, (byte) 255, (byte) 2, (byte) 6, (byte) 10, (byte) 255, (byte) 3, (byte) 7, (byte) 11, (byte) 255, (byte) 4, (byte) 8, (byte) 12, (byte) 255}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IndexColorModel m1 = new IndexColorModel(2, 4, R4, G4, B4); harness.check(m1.getTransparency(), Transparency.OPAQUE); IndexColorModel m2a = new IndexColorModel(2, 4, R4, G4, B4, 2); harness.check(m2a.getTransparency(), Transparency.BITMASK); IndexColorModel m2b = new IndexColorModel(2, 4, R4, G4, B4, -1); harness.check(m2b.getTransparency(), Transparency.OPAQUE); IndexColorModel m2c = new IndexColorModel(2, 4, R4, G4, B4, 99); harness.check(m2c.getTransparency(), Transparency.OPAQUE); IndexColorModel m3a = new IndexColorModel(2, 4, CMAP, 0, false); harness.check(m3a.getTransparency(), Transparency.OPAQUE); IndexColorModel m3b = new IndexColorModel(2, 4, CMAP, 0, false, 2); harness.check(m3b.getTransparency(), Transparency.BITMASK); IndexColorModel m4a = new IndexColorModel(2, 4, CMAP_WITH_ALPHA, 0, true); harness.check(m4a.getTransparency(), Transparency.TRANSLUCENT); IndexColorModel m4b = new IndexColorModel(2, 4, CMAP_WITH_ALPHA, 0, true, 2); harness.check(m4b.getTransparency(), Transparency.TRANSLUCENT); IndexColorModel m5a = new IndexColorModel(2, 4, CMAP_WITH_ALPHA0, 0, true); harness.check(m5a.getTransparency(), Transparency.BITMASK); IndexColorModel m5b = new IndexColorModel(2, 4, CMAP_WITH_ALPHA0, 0, true, 2); harness.check(m5b.getTransparency(), Transparency.BITMASK); IndexColorModel m6a = new IndexColorModel(2, 4, CMAP_WITH_ALPHA1, 0, true); harness.check(m6a.getTransparency(), Transparency.OPAQUE); IndexColorModel m6b = new IndexColorModel(2, 4, CMAP_WITH_ALPHA1, 0, true, 2); harness.check(m6b.getTransparency(), Transparency.BITMASK); } } mauve-20140821/gnu/testlet/java/awt/image/IndexColorModel/getBlues.java0000644000175000001440000000416410227563221024471 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.IndexColorModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.IndexColorModel; /** * Some checks for the getBlues() method. */ public class getBlues implements Testlet { private static final byte[] R4 = {(byte) 1, (byte) 2, (byte) 3, (byte) 4}; private static final byte[] G4 = {(byte) 5, (byte) 6, (byte) 7, (byte) 8}; private static final byte[] B4 = {(byte) 9, (byte) 10, (byte) 11, (byte) 12}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IndexColorModel m1 = new IndexColorModel(2, 4, R4, G4, B4); byte[] b = new byte[4]; m1.getBlues(b); harness.check(b[0], (byte) 9); harness.check(b[1], (byte) 10); harness.check(b[2], (byte) 11); harness.check(b[3], (byte) 12); // try null array boolean pass = false; try { m1.getBlues(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try array too small to hold results pass = false; try { m1.getBlues(new byte[3]); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/java/awt/image/IndexColorModel/getBlue.java0000644000175000001440000000367310227563221024312 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.IndexColorModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.IndexColorModel; /** * Some checks for the getBlue() method. */ public class getBlue implements Testlet { private static final byte[] R4 = {(byte) 1, (byte) 2, (byte) 3, (byte) 4}; private static final byte[] G4 = {(byte) 5, (byte) 6, (byte) 7, (byte) 8}; private static final byte[] B4 = {(byte) 9, (byte) 10, (byte) 11, (byte) 12}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IndexColorModel m1 = new IndexColorModel(2, 4, R4, G4, B4); harness.check(m1.getBlue(0), 9); harness.check(m1.getBlue(1), 10); harness.check(m1.getBlue(2), 11); harness.check(m1.getBlue(3), 12); // try negative pixel boolean pass = false; try { m1.getGreen(-1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try pixel too large harness.check(m1.getBlue(4), 0); } } mauve-20140821/gnu/testlet/java/awt/image/IndexColorModel/getRed.java0000644000175000001440000000365710227563221024137 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.IndexColorModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.IndexColorModel; /** * Some checks for the getRed() method. */ public class getRed implements Testlet { private static final byte[] R4 = {(byte) 1, (byte) 2, (byte) 3, (byte) 4}; private static final byte[] G4 = {(byte) 5, (byte) 6, (byte) 7, (byte) 8}; private static final byte[] B4 = {(byte) 9, (byte) 10, (byte) 11, (byte) 12}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IndexColorModel m1 = new IndexColorModel(2, 4, R4, G4, B4); harness.check(m1.getRed(0), 1); harness.check(m1.getRed(1), 2); harness.check(m1.getRed(2), 3); harness.check(m1.getRed(3), 4); // try negative pixel boolean pass = false; try { m1.getRed(-1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try pixel too large harness.check(m1.getRed(4), 0); } } mauve-20140821/gnu/testlet/java/awt/image/SampleModel/0000755000175000001440000000000012375316426021233 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/image/SampleModel/getSampleFloat.java0000644000175000001440000000455610455427013025007 0ustar dokousers/* getSampleFloat.java -- some checks for the getSampleFloat() method in the SampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.SampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.SampleModel; import java.awt.image.SinglePixelPackedSampleModel; public class getSampleFloat implements Testlet { public void test(TestHarness harness) { harness.checkPoint("(int, int, int, DataBuffer)"); SampleModel m = new SinglePixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, new int[] { 224, 28, 3 }); DataBuffer db = m.createDataBuffer(); harness.check(m.getSampleFloat(1, 2, 0, db), 0); harness.check(m.getSampleFloat(1, 2, 1, db), 0); harness.check(m.getSampleFloat(1, 2, 2, db), 0); m.setPixel(1, 2, new int[] {1, 2, 3}, db); harness.check(m.getSampleFloat(1, 2, 0, db), 1); harness.check(m.getSampleFloat(1, 2, 1, db), 2); harness.check(m.getSampleFloat(1, 2, 2, db), 3); // try band out of range boolean pass = false; try { m.getSampleFloat(1, 2, -1, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(true); pass = false; try { m.getSampleFloat(1, 2, 3, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(true); // try null data buffer pass = false; try { m.getSampleFloat(1, 2, 0, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/SampleModel/setSample.java0000644000175000001440000001034110455427013024022 0ustar dokousers/* setSample.java -- some checks for the setSample() methods in the SampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.SampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.SampleModel; import java.awt.image.SinglePixelPackedSampleModel; public class setSample implements Testlet { public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); testMethod3(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("(int, int, int, int, DataBuffer)"); SampleModel m = new SinglePixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, new int[] { 224, 28, 3 }); DataBuffer db = m.createDataBuffer(); harness.check(m.getSample(1, 2, 0, db), 0); m.setSample(1, 2, 0, 3, db); harness.check(m.getSample(1, 2, 0, db), 3); // try invalid band boolean pass = true; try { m.setSample(1, 2, -1, 3, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = true; try { m.setSample(1, 2, 3, 3, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try null data buffer pass = false; try { m.setSample(1, 2, 2, 3, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void testMethod2(TestHarness harness) { harness.checkPoint("(int, int, int, float, DataBuffer)"); SampleModel m = new SinglePixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, new int[] { 224, 28, 3 }); DataBuffer db = m.createDataBuffer(); harness.check(m.getSample(1, 2, 0, db), 0); m.setSample(1, 2, 0, 3f, db); harness.check(m.getSample(1, 2, 0, db), 3); // try invalid band boolean pass = true; try { m.setSample(1, 2, -1, 3f, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = true; try { m.setSample(1, 2, 3, 3f, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try null data buffer pass = false; try { m.setSample(1, 2, 2, 3f, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void testMethod3(TestHarness harness) { harness.checkPoint("(int, int, int, double, DataBuffer)"); SampleModel m = new SinglePixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, new int[] { 224, 28, 3 }); DataBuffer db = m.createDataBuffer(); harness.check(m.getSample(1, 2, 0, db), 0); m.setSample(1, 2, 0, 3d, db); harness.check(m.getSample(1, 2, 0, db), 3); // try invalid band boolean pass = true; try { m.setSample(1, 2, -1, 3d, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = true; try { m.setSample(1, 2, 3, 3d, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try null data buffer pass = false; try { m.setSample(1, 2, 2, 3d, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/SampleModel/createDataBuffer.java0000644000175000001440000000305610455427013025261 0ustar dokousers/* createDataBuffer.java -- some checks for the createDataBuffer() method in the SampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.SampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.SampleModel; import java.awt.image.SinglePixelPackedSampleModel; public class createDataBuffer implements Testlet { public void test(TestHarness harness) { SampleModel m = new SinglePixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, new int[] { 224, 28, 3 }); DataBuffer db = m.createDataBuffer(); harness.check(db.getDataType(), DataBuffer.TYPE_BYTE); harness.check(db.getNumBanks(), 1); harness.check(db.getSize(), 200); harness.check(db.getOffsets()[0], 0); } } mauve-20140821/gnu/testlet/java/awt/image/SampleModel/getSample.java0000644000175000001440000000446110455427013024014 0ustar dokousers/* getSample.java -- some checks for the getSample() method in the SampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.SampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.SampleModel; import java.awt.image.SinglePixelPackedSampleModel; public class getSample implements Testlet { public void test(TestHarness harness) { harness.checkPoint("(int, int, int, DataBuffer)"); SampleModel m = new SinglePixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, new int[] { 224, 28, 3 }); DataBuffer db = m.createDataBuffer(); harness.check(m.getSample(1, 2, 0, db), 0); harness.check(m.getSample(1, 2, 1, db), 0); harness.check(m.getSample(1, 2, 2, db), 0); m.setPixel(1, 2, new int[] {1, 2, 3}, db); harness.check(m.getSample(1, 2, 0, db), 1); harness.check(m.getSample(1, 2, 1, db), 2); harness.check(m.getSample(1, 2, 2, db), 3); // try band out of range boolean pass = false; try { m.getSample(1, 2, -1, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(true); pass = false; try { m.getSample(1, 2, 3, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(true); // try null data buffer pass = false; try { m.getSample(1, 2, 0, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/SampleModel/setPixels.java0000644000175000001440000001144010455427013024046 0ustar dokousers/* setPixels.java -- some checks for the setPixels() methods in the SampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.SampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.SampleModel; import java.awt.image.SinglePixelPackedSampleModel; import java.util.Arrays; public class setPixels implements Testlet { public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); testMethod3(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("(int, int, int, int, int[], DataBuffer)"); SampleModel m = new SinglePixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, new int[] { 224, 28, 3 }); DataBuffer db = m.createDataBuffer(); int[] pixel = new int[18]; m.getPixels(1, 2, 2, 3, pixel, db); harness.check(Arrays.equals(pixel, new int[] {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0})); m.setPixels(1, 2, 2, 3, new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}, db); m.getPixels(1, 2, 2, 3, pixel, db); harness.check(Arrays.equals(pixel, new int[] {1, 2, 3, 4, 5, 2, 7, 0, 1, 2, 3, 0, 5, 6, 3, 0, 1, 2})); // try null pixel data boolean pass = false; try { m.setPixels(1, 2, 2, 3, (int[]) null, db); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try null data buffer pass = false; try { m.setPixels(1, 2, 2, 3, pixel, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void testMethod2(TestHarness harness) { harness.checkPoint("(int, int, int, int, float[], DataBuffer)"); SampleModel m = new SinglePixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, new int[] { 224, 28, 3 }); DataBuffer db = m.createDataBuffer(); float[] pixel = new float[18]; m.getPixels(1, 2, 2, 3, pixel, db); harness.check(Arrays.equals(pixel, new float[] {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0})); m.setPixels(1, 2, 2, 3, new float[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}, db); m.getPixels(1, 2, 2, 3, pixel, db); harness.check(Arrays.equals(pixel, new float[] {1, 2, 3, 4, 5, 2, 7, 0, 1, 2, 3, 0, 5, 6, 3, 0, 1, 2})); // try null pixel data boolean pass = false; try { m.setPixels(1, 2, 2, 3, (float[]) null, db); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try null data buffer pass = false; try { m.setPixels(1, 2, 2, 3, pixel, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void testMethod3(TestHarness harness) { harness.checkPoint("(int, int, int, int, double[], DataBuffer)"); SampleModel m = new SinglePixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, new int[] { 224, 28, 3 }); DataBuffer db = m.createDataBuffer(); double[] pixel = new double[18]; m.getPixels(1, 2, 2, 3, pixel, db); harness.check(Arrays.equals(pixel, new double[] {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0})); m.setPixels(1, 2, 2, 3, new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}, db); m.getPixels(1, 2, 2, 3, pixel, db); harness.check(Arrays.equals(pixel, new double[] {1, 2, 3, 4, 5, 2, 7, 0, 1, 2, 3, 0, 5, 6, 3, 0, 1, 2})); // try null pixel data boolean pass = false; try { m.setPixels(1, 2, 2, 3, (double[]) null, db); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try null data buffer pass = false; try { m.setPixels(1, 2, 2, 3, pixel, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/SampleModel/getSampleDouble.java0000644000175000001440000000457210455427013025152 0ustar dokousers/* getSampleDouble.java -- some checks for the getSampleDouble() method in the SampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.SampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.SampleModel; import java.awt.image.SinglePixelPackedSampleModel; public class getSampleDouble implements Testlet { public void test(TestHarness harness) { harness.checkPoint("(int, int, int, DataBuffer)"); SampleModel m = new SinglePixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, new int[] { 224, 28, 3 }); DataBuffer db = m.createDataBuffer(); harness.check(m.getSampleDouble(1, 2, 0, db), 0); harness.check(m.getSampleDouble(1, 2, 1, db), 0); harness.check(m.getSampleDouble(1, 2, 2, db), 0); m.setPixel(1, 2, new int[] {1, 2, 3}, db); harness.check(m.getSampleDouble(1, 2, 0, db), 1); harness.check(m.getSampleDouble(1, 2, 1, db), 2); harness.check(m.getSampleDouble(1, 2, 2, db), 3); // try band out of range boolean pass = false; try { m.getSampleDouble(1, 2, -1, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(true); pass = false; try { m.getSampleDouble(1, 2, 3, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(true); // try null data buffer pass = false; try { m.getSampleDouble(1, 2, 0, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/SampleModel/getPixel.java0000644000175000001440000001231010456714110023642 0ustar dokousers/* getPixel.java -- some checks for the getPixel() methods in the SampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.SampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.MultiPixelPackedSampleModel; import java.awt.image.SampleModel; import java.awt.image.SinglePixelPackedSampleModel; import java.util.Arrays; public class getPixel implements Testlet { public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); testMethod3(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("(int, int, int[], DataBuffer)"); SampleModel m = new SinglePixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, new int[] { 224, 28, 3 }); DataBuffer db = m.createDataBuffer(); int[] pixel = new int[3]; m.getPixel(1, 2, pixel, db); harness.check(Arrays.equals(pixel, new int[] {0, 0, 0})); m.setPixel(1, 2, new int[] {1, 2, 3}, db); m.getPixel(1, 2, pixel, db); harness.check(Arrays.equals(pixel, new int[] {1, 2, 3})); // if the incoming array is null, a new one is created pixel = m.getPixel(1, 2, (int[]) null, db); harness.check(Arrays.equals(pixel, new int[] {1, 2, 3})); // try null data buffer boolean pass = false; try { m.getPixel(1, 2, pixel, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try with a MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, 2); db = m.createDataBuffer(); db.setElem(0, 27); harness.check(m.getPixel(0, 0, (int[]) null, db)[0], 0); harness.check(m.getPixel(1, 0, (int[]) null, db)[0], 1); harness.check(m.getPixel(2, 0, (int[]) null, db)[0], 2); harness.check(m.getPixel(3, 0, (int[]) null, db)[0], 3); db.setElem(3, 27); harness.check(m.getPixel(0, 1, (int[]) null, db)[0], 0); harness.check(m.getPixel(1, 1, (int[]) null, db)[0], 1); harness.check(m.getPixel(2, 1, (int[]) null, db)[0], 2); harness.check(m.getPixel(3, 1, (int[]) null, db)[0], 3); db.setElem(6, 0x18); db.setElem(9, 0x30); db.setElem(12, 0x1C); harness.check(m.getPixel(1, 2, (int[]) null, db)[0], 1); harness.check(m.getPixel(2, 2, (int[]) null, db)[0], 2); harness.check(m.getPixel(1, 3, (int[]) null, db)[0], 3); harness.check(m.getPixel(2, 3, (int[]) null, db)[0], 0); harness.check(m.getPixel(1, 4, (int[]) null, db)[0], 1); harness.check(m.getPixel(2, 4, (int[]) null, db)[0], 3); } public void testMethod2(TestHarness harness) { harness.checkPoint("(int, int, float[], DataBuffer)"); SampleModel m = new SinglePixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, new int[] { 224, 28, 3 }); DataBuffer db = m.createDataBuffer(); float[] pixel = new float[3]; m.getPixel(1, 2, pixel, db); harness.check(Arrays.equals(pixel, new float[] {0, 0, 0})); m.setPixel(1, 2, new int[] {1, 2, 3}, db); m.getPixel(1, 2, pixel, db); harness.check(Arrays.equals(pixel, new float[] {1, 2, 3})); // if the incoming array is null, a new one is created pixel = m.getPixel(1, 2, (float[]) null, db); harness.check(Arrays.equals(pixel, new float[] {1, 2, 3})); // try null data buffer boolean pass = false; try { m.getPixel(1, 2, pixel, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void testMethod3(TestHarness harness) { harness.checkPoint("(int, int, double[], DataBuffer)"); SampleModel m = new SinglePixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, new int[] { 224, 28, 3 }); DataBuffer db = m.createDataBuffer(); double[] pixel = new double[3]; m.getPixel(1, 2, pixel, db); harness.check(Arrays.equals(pixel, new double[] {0, 0, 0})); m.setPixel(1, 2, new int[] {1, 2, 3}, db); m.getPixel(1, 2, pixel, db); harness.check(Arrays.equals(pixel, new double[] {1, 2, 3})); // if the incoming array is null, a new one is created pixel = m.getPixel(1, 2, (double[]) null, db); harness.check(Arrays.equals(pixel, new double[] {1, 2, 3})); // try null data buffer boolean pass = false; try { m.getPixel(1, 2, pixel, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/SampleModel/getPixels.java0000644000175000001440000001376410456714110024043 0ustar dokousers/* getPixels.java -- some checks for the getPixels() methods in the SampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.SampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.MultiPixelPackedSampleModel; import java.awt.image.SampleModel; import java.awt.image.SinglePixelPackedSampleModel; import java.util.Arrays; public class getPixels implements Testlet { public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); testMethod3(harness); testMethod1MultiPixelPackedSampleModel(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("(int, int, int, int, int[], DataBuffer)"); SampleModel m = new SinglePixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, new int[] { 224, 28, 3 }); DataBuffer db = m.createDataBuffer(); int[] pixel = new int[18]; m.getPixels(1, 2, 2, 3, pixel, db); harness.check(Arrays.equals(pixel, new int[] {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0})); m.setPixels(1, 2, 2, 3, new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}, db); m.getPixels(1, 2, 2, 3, pixel, db); harness.check(Arrays.equals(pixel, new int[] {1, 2, 3, 4, 5, 2, 7, 0, 1, 2, 3, 0, 5, 6, 3, 0, 1, 2})); // if the incoming array is null, a new one is created pixel = m.getPixels(1, 2, 2, 3, (int[]) null, db); harness.check(Arrays.equals(pixel, new int[] {1, 2, 3, 4, 5, 2, 7, 0, 1, 2, 3, 0, 5, 6, 3, 0, 1, 2})); // try null data buffer boolean pass = false; try { m.getPixels(1, 2, 2, 3, pixel, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void testMethod2(TestHarness harness) { harness.checkPoint("(int, int, int, int, float[], DataBuffer)"); SampleModel m = new SinglePixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, new int[] { 224, 28, 3 }); DataBuffer db = m.createDataBuffer(); float[] pixel = new float[18]; m.getPixels(1, 2, 2, 3, pixel, db); harness.check(Arrays.equals(pixel, new float[] {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0})); m.setPixels(1, 2, 2, 3, new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}, db); m.getPixels(1, 2, 2, 3, pixel, db); harness.check(Arrays.equals(pixel, new float[] {1, 2, 3, 4, 5, 2, 7, 0, 1, 2, 3, 0, 5, 6, 3, 0, 1, 2})); // if the incoming array is null, a new one is created pixel = m.getPixels(1, 2, 2, 3, (float[]) null, db); harness.check(Arrays.equals(pixel, new float[] {1, 2, 3, 4, 5, 2, 7, 0, 1, 2, 3, 0, 5, 6, 3, 0, 1, 2})); // try null data buffer boolean pass = false; try { m.getPixels(1, 2, 2, 3, pixel, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void testMethod3(TestHarness harness) { harness.checkPoint("(int, int, int, int, double[], DataBuffer)"); SampleModel m = new SinglePixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, new int[] { 224, 28, 3 }); DataBuffer db = m.createDataBuffer(); double[] pixel = new double[18]; m.getPixels(1, 2, 2, 3, pixel, db); harness.check(Arrays.equals(pixel, new double[] {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0})); m.setPixels(1, 2, 2, 3, new double[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}, db); m.getPixels(1, 2, 2, 3, pixel, db); harness.check(Arrays.equals(pixel, new double[] {1, 2, 3, 4, 5, 2, 7, 0, 1, 2, 3, 0, 5, 6, 3, 0, 1, 2})); // if the incoming array is null, a new one is created pixel = m.getPixels(1, 2, 2, 3, (double[]) null, db); harness.check(Arrays.equals(pixel, new double[] {1, 2, 3, 4, 5, 2, 7, 0, 1, 2, 3, 0, 5, 6, 3, 0, 1, 2})); // try null data buffer boolean pass = false; try { m.getPixels(1, 2, 2, 3, pixel, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void testMethod1MultiPixelPackedSampleModel(TestHarness harness) { harness.checkPoint("(int, int, int, int, int[], DataBuffer)"); SampleModel m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, 2); DataBuffer db = m.createDataBuffer(); int[] pixel = new int[6]; m.getPixels(1, 2, 2, 3, pixel, db); harness.check(Arrays.equals(pixel, new int[] {0, 0, 0, 0, 0, 0})); db.setElem(6, 0x18); db.setElem(9, 0x30); db.setElem(12, 0x1C); m.getPixels(1, 2, 2, 3, pixel, db); harness.check(Arrays.equals(pixel, new int[] {1, 2, 3, 0, 1, 3})); // if the incoming array is null, a new one is created pixel = m.getPixels(1, 2, 2, 3, (int[]) null, db); harness.check(Arrays.equals(pixel, new int[] {1, 2, 3, 0, 1, 3})); // try null data buffer boolean pass = false; try { m.getPixels(1, 2, 2, 3, pixel, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/SampleModel/getSampleSize.java0000644000175000001440000000440210455427013024642 0ustar dokousers/* getSampleSize.java -- some checks for the getSampleSize() methods in the SampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.SampleModel; import java.awt.image.DataBuffer; import java.awt.image.SampleModel; import java.awt.image.SinglePixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getSampleSize implements Testlet { public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("()"); SampleModel m = new SinglePixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, new int[] { 224, 28, 3 }); int[] s = m.getSampleSize(); harness.check(s.length, 3); harness.check(s[0], 3); harness.check(s[1], 3); harness.check(s[2], 2); } public void test2(TestHarness harness) { harness.checkPoint("(int)"); SampleModel m = new SinglePixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, new int[] { 224, 28, 3 }); harness.check(m.getSampleSize(0), 3); harness.check(m.getSampleSize(1), 3); harness.check(m.getSampleSize(2), 2); boolean pass = false; try { m.getSampleSize(-1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { m.getSampleSize(3); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/SampleModel/setSamples.java0000644000175000001440000001433010455427013024207 0ustar dokousers/* setSamples.java -- some checks for the setSamples() methods in the SampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.SampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.SampleModel; import java.awt.image.SinglePixelPackedSampleModel; import java.util.Arrays; public class setSamples implements Testlet { public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); testMethod3(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("(int, int, int, int, int, int[], DataBuffer)"); SampleModel m = new SinglePixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, new int[] { 224, 28, 3 }); DataBuffer db = m.createDataBuffer(); int[] samples = new int[6]; m.getSamples(1, 2, 2, 3, 1, samples, db); harness.check(Arrays.equals(samples, new int[] {0, 0, 0, 0, 0, 0})); m.setSamples(1, 2, 2, 3, 0, new int[] {1, 2, 3, 4 ,5 ,6}, db); m.getSamples(1, 2, 2, 3, 0, samples, db); harness.check(Arrays.equals(samples, new int[] {1, 2, 3, 4, 5, 6})); m.setSamples(1, 2, 2, 3, 1, new int[] {7, 8, 9, 10, 11, 12}, db); m.getSamples(1, 2, 2, 3, 1, samples, db); harness.check(Arrays.equals(samples, new int[] {7, 0, 1, 2, 3, 4})); m.setSamples(1, 2, 2, 3, 2, new int[] {13, 14, 15, 16, 17, 18}, db); m.getSamples(1, 2, 2, 3, 2, samples, db); harness.check(Arrays.equals(samples, new int[] {1, 2, 3, 0, 1, 2})); // try invalid band boolean pass = false; try { m.setSamples(1, 2, 2, 3, 3, samples, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try null sample data pass = false; try { m.setSamples(1, 2, 2, 3, 0, (int[]) null, db); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try null data buffer pass = false; try { m.getSamples(1, 2, 2, 3, 0, samples, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void testMethod2(TestHarness harness) { harness.checkPoint("(int, int, int, int, int, float[], DataBuffer)"); SampleModel m = new SinglePixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, new int[] { 224, 28, 3 }); DataBuffer db = m.createDataBuffer(); float[] samples = new float[6]; m.getSamples(1, 2, 2, 3, 1, samples, db); harness.check(Arrays.equals(samples, new float[] {0, 0, 0, 0, 0, 0})); m.setSamples(1, 2, 2, 3, 0, new float[] {1, 2, 3, 4 ,5 ,6}, db); m.getSamples(1, 2, 2, 3, 0, samples, db); harness.check(Arrays.equals(samples, new float[] {1, 2, 3, 4, 5, 6})); m.setSamples(1, 2, 2, 3, 1, new float[] {7, 8, 9, 10, 11, 12}, db); m.getSamples(1, 2, 2, 3, 1, samples, db); harness.check(Arrays.equals(samples, new float[] {7, 0, 1, 2, 3, 4})); m.setSamples(1, 2, 2, 3, 2, new float[] {13, 14, 15, 16, 17, 18}, db); m.getSamples(1, 2, 2, 3, 2, samples, db); harness.check(Arrays.equals(samples, new float[] {1, 2, 3, 0, 1, 2})); // try invalid band boolean pass = false; try { m.setSamples(1, 2, 2, 3, 3, samples, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try null sample data pass = false; try { m.setSamples(1, 2, 2, 3, 0, (float[]) null, db); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try null data buffer pass = false; try { m.getSamples(1, 2, 2, 3, 0, samples, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void testMethod3(TestHarness harness) { harness.checkPoint("(int, int, int, int, int, double[], DataBuffer)"); SampleModel m = new SinglePixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, new int[] { 224, 28, 3 }); DataBuffer db = m.createDataBuffer(); double[] samples = new double[6]; m.getSamples(1, 2, 2, 3, 1, samples, db); harness.check(Arrays.equals(samples, new double[] {0, 0, 0, 0, 0, 0})); m.setSamples(1, 2, 2, 3, 0, new double[] {1, 2, 3, 4 ,5 ,6}, db); m.getSamples(1, 2, 2, 3, 0, samples, db); harness.check(Arrays.equals(samples, new double[] {1, 2, 3, 4, 5, 6})); m.setSamples(1, 2, 2, 3, 1, new double[] {7, 8, 9, 10, 11, 12}, db); m.getSamples(1, 2, 2, 3, 1, samples, db); harness.check(Arrays.equals(samples, new double[] {7, 0, 1, 2, 3, 4})); m.setSamples(1, 2, 2, 3, 2, new double[] {13, 14, 15, 16, 17, 18}, db); m.getSamples(1, 2, 2, 3, 2, samples, db); harness.check(Arrays.equals(samples, new double[] {1, 2, 3, 0, 1, 2})); // try invalid band boolean pass = false; try { m.setSamples(1, 2, 2, 3, 3, samples, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try null sample data pass = false; try { m.setSamples(1, 2, 2, 3, 0, (double[]) null, db); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try null data buffer pass = false; try { m.getSamples(1, 2, 2, 3, 0, samples, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/SampleModel/getSamples.java0000644000175000001440000001363410455427013024201 0ustar dokousers/* getSamples.java -- some checks for the getSamples() methods in the SampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.SampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.SampleModel; import java.awt.image.SinglePixelPackedSampleModel; import java.util.Arrays; public class getSamples implements Testlet { public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); testMethod3(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("(int, int, int, int, int, int[], DataBuffer)"); SampleModel m = new SinglePixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, new int[] { 224, 28, 3 }); DataBuffer db = m.createDataBuffer(); int[] samples = new int[6]; m.getSamples(1, 2, 2, 3, 1, samples, db); harness.check(Arrays.equals(samples, new int[] {0, 0, 0, 0, 0, 0})); m.setPixels(1, 2, 2, 3, new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}, db); m.getSamples(1, 2, 2, 3, 0, samples, db); harness.check(Arrays.equals(samples, new int[] {1, 4, 7, 2, 5, 0})); m.getSamples(1, 2, 2, 3, 1, samples, db); harness.check(Arrays.equals(samples, new int[] {2, 5, 0, 3, 6, 1})); m.getSamples(1, 2, 2, 3, 2, samples, db); harness.check(Arrays.equals(samples, new int[] {3, 2, 1, 0, 3, 2})); // if the incoming array is null, a new one is created samples = m.getSamples(1, 2, 2, 3, 2, (int[]) null, db); harness.check(Arrays.equals(samples, new int[] {3, 2, 1, 0, 3, 2})); // try invalid band boolean pass = false; try { m.getSamples(1, 2, 2, 3, 3, samples, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try null data buffer pass = false; try { m.getSamples(1, 2, 2, 3, 0, samples, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void testMethod2(TestHarness harness) { harness.checkPoint("(int, int, int, int, int, float[], DataBuffer)"); SampleModel m = new SinglePixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, new int[] { 224, 28, 3 }); DataBuffer db = m.createDataBuffer(); float[] samples = new float[6]; m.getSamples(1, 2, 2, 3, 1, samples, db); harness.check(Arrays.equals(samples, new float[] {0, 0, 0, 0, 0, 0})); m.setPixels(1, 2, 2, 3, new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}, db); m.getSamples(1, 2, 2, 3, 0, samples, db); harness.check(Arrays.equals(samples, new float[] {1, 4, 7, 2, 5, 0})); m.getSamples(1, 2, 2, 3, 1, samples, db); harness.check(Arrays.equals(samples, new float[] {2, 5, 0, 3, 6, 1})); m.getSamples(1, 2, 2, 3, 2, samples, db); harness.check(Arrays.equals(samples, new float[] {3, 2, 1, 0, 3, 2})); // if the incoming array is null, a new one is created samples = m.getSamples(1, 2, 2, 3, 2, (float[]) null, db); harness.check(Arrays.equals(samples, new float[] {3, 2, 1, 0, 3, 2})); // try invalid band boolean pass = false; try { m.getSamples(1, 2, 2, 3, 3, samples, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try null data buffer pass = false; try { m.getSamples(1, 2, 2, 3, 0, samples, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void testMethod3(TestHarness harness) { harness.checkPoint("(int, int, int, int, int, double[], DataBuffer)"); SampleModel m = new SinglePixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, new int[] { 224, 28, 3 }); DataBuffer db = m.createDataBuffer(); double[] samples = new double[6]; m.getSamples(1, 2, 2, 3, 1, samples, db); harness.check(Arrays.equals(samples, new double[] {0, 0, 0, 0, 0, 0})); m.setPixels(1, 2, 2, 3, new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}, db); m.getSamples(1, 2, 2, 3, 0, samples, db); harness.check(Arrays.equals(samples, new double[] {1, 4, 7, 2, 5, 0})); m.getSamples(1, 2, 2, 3, 1, samples, db); harness.check(Arrays.equals(samples, new double[] {2, 5, 0, 3, 6, 1})); m.getSamples(1, 2, 2, 3, 2, samples, db); harness.check(Arrays.equals(samples, new double[] {3, 2, 1, 0, 3, 2})); // if the incoming array is null, a new one is created samples = m.getSamples(1, 2, 2, 3, 2, (double[]) null, db); harness.check(Arrays.equals(samples, new double[] {3, 2, 1, 0, 3, 2})); // try invalid band boolean pass = false; try { m.getSamples(1, 2, 2, 3, 3, samples, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try null data buffer pass = false; try { m.getSamples(1, 2, 2, 3, 0, samples, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/SampleModel/setPixel.java0000644000175000001440000001016410455427013023665 0ustar dokousers/* setPixel.java -- some checks for the setPixel() methods in the SampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.SampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.SampleModel; import java.awt.image.SinglePixelPackedSampleModel; import java.util.Arrays; public class setPixel implements Testlet { public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); testMethod3(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("(int, int, int[], DataBuffer)"); SampleModel m = new SinglePixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, new int[] { 224, 28, 3 }); DataBuffer db = m.createDataBuffer(); int[] pixel = new int[3]; m.getPixel(1, 2, pixel, db); harness.check(Arrays.equals(pixel, new int[] {0, 0, 0})); m.setPixel(1, 2, new int[] {1, 2, 3}, db); m.getPixel(1, 2, pixel, db); harness.check(Arrays.equals(pixel, new int[] {1, 2, 3})); // try null array boolean pass = true; try { m.setPixel(1, 2, (int[]) null, db); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try null data buffer pass = false; try { m.setPixel(1, 2, pixel, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void testMethod2(TestHarness harness) { harness.checkPoint("(int, int, float[], DataBuffer)"); SampleModel m = new SinglePixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, new int[] { 224, 28, 3 }); DataBuffer db = m.createDataBuffer(); float[] pixel = new float[3]; m.getPixel(1, 2, pixel, db); harness.check(Arrays.equals(pixel, new float[] {0, 0, 0})); m.setPixel(1, 2, new float[] {1, 2, 3}, db); m.getPixel(1, 2, pixel, db); harness.check(Arrays.equals(pixel, new float[] {1, 2, 3})); // try null array boolean pass = true; try { m.setPixel(1, 2, (float[]) null, db); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try null data buffer pass = false; try { m.setPixel(1, 2, pixel, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void testMethod3(TestHarness harness) { harness.checkPoint("(int, int, double[], DataBuffer)"); SampleModel m = new SinglePixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, new int[] { 224, 28, 3 }); DataBuffer db = m.createDataBuffer(); double[] pixel = new double[3]; m.getPixel(1, 2, pixel, db); harness.check(Arrays.equals(pixel, new double[] {0, 0, 0})); m.setPixel(1, 2, new double[] {1, 2, 3}, db); m.getPixel(1, 2, pixel, db); harness.check(Arrays.equals(pixel, new double[] {1, 2, 3})); // try null array boolean pass = true; try { m.setPixel(1, 2, (double[]) null, db); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try null data buffer pass = false; try { m.setPixel(1, 2, pixel, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferDouble/0000755000175000001440000000000012375316426022167 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/image/DataBufferDouble/constructors.java0000644000175000001440000001550410123067120025566 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.DataBufferDouble; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.DataBufferDouble; /** * Some tests for the constructors in the {@link DataBufferDouble} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); testConstructor6(harness); } private void testConstructor1(TestHarness harness) { harness.checkPoint("DataBufferDouble(int)"); DataBufferDouble b1 = new DataBufferDouble(1); harness.check(b1.getDataType() == DataBuffer.TYPE_DOUBLE); harness.check(b1.getSize() == 1); harness.check(b1.getNumBanks() == 1); harness.check(b1.getOffset() == 0); DataBufferDouble b2 = new DataBufferDouble(0); harness.check(b2.getSize() == 0); harness.check(b2.getNumBanks() == 1); harness.check(b2.getOffset() == 0); boolean pass = false; try { DataBufferDouble b3 = new DataBufferDouble(-1); } catch (NegativeArraySizeException e) { pass = true; } harness.check(pass); } private void testConstructor2(TestHarness harness) { harness.checkPoint("DataBufferDouble(double[][], int)"); double[][] source = new double[][] {{1.0, 2.0}}; DataBufferDouble b = new DataBufferDouble(source, 1); harness.check(b.getSize() == 1); harness.check(b.getNumBanks() == 1); harness.check(b.getOffset() == 0); // does a change to the source array affect the buffer? yes double[][] banks = b.getBankData(); harness.check(banks[0][0] == 1.0); source[0][0] = 3.0; harness.check(banks[0][0] == 3.0); // check null source boolean pass = false; try { DataBufferDouble b1 = new DataBufferDouble((double[][]) null, 1); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check negative size DataBufferDouble b1 = new DataBufferDouble(source, -1); harness.check(b1.getSize() == -1); } private void testConstructor3(TestHarness harness) { harness.checkPoint("DataBufferDouble(double[][], int, int[])"); double[][] source = new double[][] {{1, 2}}; DataBufferDouble b = new DataBufferDouble(source, 1, new int[] {0}); harness.check(b.getSize() == 1); harness.check(b.getNumBanks() == 1); harness.check(b.getOffset() == 0); // test where offsets are specified source = new double[][] {{1.0, 2.0, 3.0}, {4.0, 5.0, 6.0, 7.0}}; b = new DataBufferDouble(source, 2, new int[] {0, 1}); harness.check(b.getSize() == 2); harness.check(b.getNumBanks() == 2); harness.check(b.getOffsets()[1] == 1); harness.check(b.getElem(1, 0) == 5); // check null source boolean pass = false; try { DataBufferDouble b1 = new DataBufferDouble((double[][]) null, 1, new int[] {0}); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check null offsets pass = false; try { DataBufferDouble b1 = new DataBufferDouble(new double[][]{{1.0, 2.0}}, 1, (int[]) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check source doesn't match offsets array pass = false; try { DataBufferDouble b2 = new DataBufferDouble(new double[][]{{1.0, 2.0}}, 1, new int[] {0, 0}); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testConstructor4(TestHarness harness) { harness.checkPoint("DataBufferDouble(double[], int)"); DataBufferDouble b = new DataBufferDouble(new double[] {1, 2}, 2); harness.check(b.getSize() == 2); harness.check(b.getNumBanks() == 1); harness.check(b.getOffset() == 0); boolean pass = false; try { // this constructor doesn't throw an exception until you // try to access the (null) data bank DataBufferDouble b1 = new DataBufferDouble((double[]) null, 1); int ignore = b1.getElem(0); } catch (NullPointerException e) { pass = true; } harness.check(pass); } private void testConstructor5(TestHarness harness) { harness.checkPoint("DataBufferDouble(double[], int, int)"); DataBufferDouble b = new DataBufferDouble(new double[] {1, 2}, 2, 0); harness.check(b.getSize() == 2); harness.check(b.getNumBanks() == 1); harness.check(b.getOffset() == 0); boolean pass = false; try { // this constructor doesn't throw an exception until you // try to access the (null) data bank DataBufferDouble b1 = new DataBufferDouble((double[]) null, 1, 0); int ignore = b1.getElem(0); } catch (NullPointerException e) { pass = true; } harness.check(pass); // does negative size fail? no pass = true; try { DataBufferDouble b1 = new DataBufferDouble(new double[] {1, 2}, -1, 0); } catch (NegativeArraySizeException e) { pass = false; } harness.check(pass); } private void testConstructor6(TestHarness harness) { harness.checkPoint("DataBufferDouble(int, int)"); DataBufferDouble b = new DataBufferDouble(2, 3); harness.check(b.getNumBanks() == 3); harness.check(b.getSize() == 2); harness.check(b.getOffset() == 0) ; // does negative size fail? yes boolean pass = false; try { DataBufferDouble b1 = new DataBufferDouble(-1, 1); } catch (NegativeArraySizeException e) { pass = true; } harness.check(pass); // does negative banks fail? yes pass = false; try { DataBufferDouble b1 = new DataBufferDouble(1, -1); } catch (NegativeArraySizeException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferDouble/getBankData.java0000644000175000001440000000511410123067120025157 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.DataBufferDouble; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBufferDouble; import java.util.Arrays; /** * Some tests for the getBankData() method in the {@link DataBufferDouble} class. */ public class getBankData implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // check that array updates pass through double[][] data = new double[][] {{1, 2}}; DataBufferDouble b = new DataBufferDouble(data, 2); double[][] banks = b.getBankData(); harness.check(Arrays.equals(b.getBankData(), data)); data[0][0] = 3; harness.check(banks[0][0] == 3); // test where supplied array is bigger than 'size' data = new double[][] {{1, 2, 3}}; b = new DataBufferDouble(data, 2); banks = b.getBankData(); harness.check(Arrays.equals(b.getBankData(), data)); // test where offsets are specified data = new double[][] {{1, 2, 3}, {4, 5, 6, 7}}; b = new DataBufferDouble(data, 2, new int[] {0, 1}); banks = b.getBankData(); harness.check(Arrays.equals(b.getBankData(), data)); // check that a single bank buffer returns a valid array DataBufferDouble b2 = new DataBufferDouble(new double[] {1, 2}, 2); banks = b2.getBankData(); harness.check(banks.length == 1); harness.check(banks[0][0] == 1); harness.check(banks[0][1] == 2); // check that a multi bank buffer returns a valid array DataBufferDouble b3 = new DataBufferDouble(new double[][] {{1}, {2}}, 1); banks = b3.getBankData(); harness.check(banks.length == 2); harness.check(banks[0][0] == 1); harness.check(banks[1][0] == 2); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferDouble/getDataType.java0000644000175000001440000000234310123067120025226 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.DataBufferDouble; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.DataBufferDouble; /** * @author Sascha Brawer */ public class getDataType implements Testlet { public void test(TestHarness h) { // Check #1. h.check(new DataBufferDouble(5).getDataType(), DataBuffer.TYPE_DOUBLE); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferDouble/setElem.java0000644000175000001440000000566510123067120024423 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.DataBufferDouble; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBufferDouble; /** * Some tests for the setElem() methods in the {@link DataBufferDouble} class. */ public class setElem implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testSetElem1(harness); testSetElem2(harness); } private void testSetElem1(TestHarness harness) { harness.checkPoint("setElem(int, int)"); double[] source = new double[] {1, 2}; DataBufferDouble b = new DataBufferDouble(source, 2); b.setElem(1, 99); harness.check(b.getElem(1) == 99); // does the source array get updated? Yes harness.check(source[1] == 99); // test with offsets source = new double[] {1, 2, 3, 4, 5}; b = new DataBufferDouble(source, 4, 1); harness.check(b.getElem(1) == 3); b.setElem(1, 99); harness.check(b.getElem(1) == 99); harness.check(source[2] == 99); boolean pass = false; try { b.setElem(-2, 99); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.setElem(4, 99); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testSetElem2(TestHarness harness) { harness.checkPoint("setElem(int, int, int)"); double[][] source = new double[][] {{1, 2}, {3, 4}}; DataBufferDouble b = new DataBufferDouble(source, 2); b.setElem(1, 1, 99); harness.check(b.getElem(1, 1) == 99); // does the source array get updated? harness.check(source[1][1] == 99); boolean pass = false; try { b.setElem(-1, 1, 99); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.setElem(2, 1, 99); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferDouble/getData.java0000644000175000001440000000752010123067120024366 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.DataBufferDouble; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBufferDouble; /** * Some tests for the geData() methods in the {@link DataBufferDouble} class. */ public class getData implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testGetData1(harness); testGetData2(harness); } private void testGetData1(TestHarness harness) { harness.checkPoint("getData()"); // check simple case double[] source = new double[] {1, 2}; DataBufferDouble b = new DataBufferDouble(source, 2); double[] data = b.getData(); harness.check(data.length == 2); harness.check(data[0] == 1); harness.check(data[1] == 2); // test where supplied array is bigger than 'size' source = new double[] {1, 2, 3}; b = new DataBufferDouble(source, 2); data = b.getData(); harness.check(data.length == 3); harness.check(data[0] == 1); harness.check(data[1] == 2); harness.check(data[2] == 3); // test where offsets are specified source = new double[] {1, 2, 3, 4}; b = new DataBufferDouble(source, 2, 1); data = b.getData(); harness.check(data.length == 4); harness.check(data[0] == 1); harness.check(data[1] == 2); harness.check(data[2] == 3); harness.check(data[3] == 4); // does a change to the source affect the DataBuffer? Yes source[2] = 99; harness.check(data[2] == 99); } private void testGetData2(TestHarness harness) { harness.checkPoint("getData(int)"); double[][] source = new double[][] {{1, 2}, {3, 4}}; DataBufferDouble b = new DataBufferDouble(source, 2); double[] data = b.getData(1); harness.check(data.length == 2); harness.check(data[0] == 3); harness.check(data[1] == 4); // test where supplied array is bigger than 'size' source = new double[][] {{1, 2, 3}, {4, 5, 6}}; b = new DataBufferDouble(source, 2); data = b.getData(1); harness.check(data.length == 3); harness.check(data[0] == 4); harness.check(data[1] == 5); harness.check(data[2] == 6); // test where offsets are specified source = new double[][] {{1, 2, 3, 4}, {5, 6, 7, 8}}; b = new DataBufferDouble(source, 2, new int[] {1, 2}); data = b.getData(1); harness.check(data.length == 4); harness.check(data[0] == 5); harness.check(data[1] == 6); harness.check(data[2] == 7); harness.check(data[3] == 8); // does a change to the source affect the DataBuffer? Yes source[1][2] = 99; harness.check(data[2] == 99); // check bounds exceptions boolean pass = true; try { b.getData(-1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.getData(2); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferDouble/getElem.java0000644000175000001440000001167510123067120024405 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.DataBufferDouble; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.DataBufferDouble; /** * @author Sascha Brawer */ public class getElem implements Testlet { public void test(TestHarness h) { DataBuffer buf; double[] data = new double[] { 1.1, -2.2, 3.3, -4.4 }; buf = new DataBufferDouble(new double[][] { data, data }, 2, new int[] { 2, 0 }); h.check(buf.getElem(0), 3); // Check #1. h.check(buf.getElem(1), -4); // Check #2. h.check(buf.getElem(0, 0), 3); // Check #3. h.check(buf.getElem(0, 1), -4); // Check #4. h.check(buf.getElem(1, 0), 1); // Check #5. h.check(buf.getElem(1, 1), -2); // Check #6. // new tests added by David Gilbert testGetElem1(h); testGetElem2(h); } private void testGetElem1(TestHarness harness) { harness.checkPoint("getElem(int)"); // test where supplied array is bigger than 'size' double[] source = new double[] {1, 2, 3}; DataBufferDouble b = new DataBufferDouble(source, 2); harness.check(b.getElem(0) == 1); harness.check(b.getElem(1) == 2); harness.check(b.getElem(2) == 3); boolean pass = false; try { b.getElem(-1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.getElem(3); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // test where offsets are specified source = new double[] {1, 2, 3, 4}; b = new DataBufferDouble(source, 2, 1); harness.check(b.getElem(-1) == 1); harness.check(b.getElem(0) == 2); harness.check(b.getElem(1) == 3); harness.check(b.getElem(2) == 4); pass = false; try { b.getElem(3); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.getElem(-2); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testGetElem2(TestHarness harness) { harness.checkPoint("getElem(int, int)"); double[][] source = new double[][] {{1, 2}, {3, 4}}; DataBufferDouble b = new DataBufferDouble(source, 2); harness.check(b.getElem(1, 0) == 3); harness.check(b.getElem(1, 1) == 4); // test where supplied array is bigger than 'size' source = new double[][] {{1, 2, 3}, {4, 5, 6}}; b = new DataBufferDouble(source, 2); harness.check(b.getElem(1, 2) == 6); // test where offsets are specified source = new double[][] {{1, 2, 3, 4}, {5, 6, 7, 8}}; b = new DataBufferDouble(source, 2, new int[] {1, 2}); harness.check(b.getElem(1, -2) == 5); harness.check(b.getElem(1, -1) == 6); harness.check(b.getElem(1, 0) == 7); harness.check(b.getElem(1, 1) == 8); // does a change to the source affect the DataBuffer? Yes source[1][2] = 99; harness.check(source[1][2] == 99); harness.check(b.getElem(1, 0) == 99); // test when the bank index is out of bounds boolean pass = true; try { b.getElem(-1, 0); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.getElem(2, 0); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // test when the item index is out of bounds pass = true; try { b.getElem(0, -2); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.getElem(1, 5); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // the array of arrays should reflect the single dimension array DataBufferDouble b2 = new DataBufferDouble(new double[] {1, 2, 3}, 3); harness.check(b2.getElem(0, 1) == 2); } } mauve-20140821/gnu/testlet/java/awt/image/ColorModel/0000755000175000001440000000000012375316426021070 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/image/ColorModel/constructors.java0000644000175000001440000001245711015027423024476 0ustar dokousers/* constructors.java -- some checks for the constructors in the ColorModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: MyColorModel package gnu.testlet.java.awt.image.ColorModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Transparency; import java.awt.color.ColorSpace; import java.awt.image.DataBuffer; public class constructors implements Testlet { public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("(int)"); MyColorModel cm = new MyColorModel(8); harness.check(cm.getNumColorComponents(), 3); harness.check(cm.getNumComponents(), 4); harness.check(cm.getPixelSize(), 8); harness.check(cm.getColorSpace(), ColorSpace.getInstance( ColorSpace.CS_sRGB)); harness.check(cm.isAlphaPremultiplied(), false); harness.check(cm.getTransparency(), Transparency.TRANSLUCENT); harness.check(cm.getTransferType(), DataBuffer.TYPE_BYTE); cm = new MyColorModel(16); harness.check(cm.getNumColorComponents(), 3); harness.check(cm.getNumComponents(), 4); harness.check(cm.getPixelSize(), 16); harness.check(cm.getColorSpace(), ColorSpace.getInstance( ColorSpace.CS_sRGB)); harness.check(cm.isAlphaPremultiplied(), false); harness.check(cm.getTransparency(), Transparency.TRANSLUCENT); harness.check(cm.getTransferType(), DataBuffer.TYPE_USHORT); cm = new MyColorModel(32); harness.check(cm.getNumColorComponents(), 3); harness.check(cm.getNumComponents(), 4); harness.check(cm.getPixelSize(), 32); harness.check(cm.getColorSpace(), ColorSpace.getInstance( ColorSpace.CS_sRGB)); harness.check(cm.isAlphaPremultiplied(), false); harness.check(cm.getTransparency(), Transparency.TRANSLUCENT); harness.check(cm.getTransferType(), DataBuffer.TYPE_INT); cm = new MyColorModel(64); harness.check(cm.getNumColorComponents(), 3); harness.check(cm.getNumComponents(), 4); harness.check(cm.getPixelSize(), 64); harness.check(cm.getColorSpace(), ColorSpace.getInstance( ColorSpace.CS_sRGB)); harness.check(cm.isAlphaPremultiplied(), false); harness.check(cm.getTransparency(), Transparency.TRANSLUCENT); harness.check(cm.getTransferType(), DataBuffer.TYPE_UNDEFINED); boolean pass = false; try { cm = new MyColorModel(0); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(int, int[], ColorSpace, boolean, boolean, int, int)"); MyColorModel cm = new MyColorModel(96, new int[] {32, 32, 32}, ColorSpace.getInstance(ColorSpace.CS_sRGB), false, false, Transparency.OPAQUE, DataBuffer.TYPE_INT); harness.check(cm.getNumColorComponents(), 3); harness.check(cm.getNumComponents(), 3); harness.check(cm.getPixelSize(), 96); harness.check(cm.getColorSpace(), ColorSpace.getInstance(ColorSpace.CS_sRGB)); harness.check(cm.isAlphaPremultiplied(), false); harness.check(cm.getTransparency(), Transparency.OPAQUE); harness.check(cm.getTransferType(), DataBuffer.TYPE_INT); // try 0 for pixel_bits boolean pass = false; try { cm = new MyColorModel(0, new int[] {32, 32, 32}, ColorSpace.getInstance(ColorSpace.CS_sRGB), false, false, Transparency.OPAQUE, DataBuffer.TYPE_INT); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try null bits array pass = false; try { cm = new MyColorModel(96, null, ColorSpace.getInstance(ColorSpace.CS_sRGB), false, false, Transparency.OPAQUE, DataBuffer.TYPE_INT); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try a null ColorSpace pass = false; try { cm = new MyColorModel(96, new int[] {32, 32, 32}, null, false, false, Transparency.OPAQUE, DataBuffer.TYPE_INT); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try a bad transparency pass = false; try { cm = new MyColorModel(96, new int[] {32, 32, 32}, ColorSpace.getInstance(ColorSpace.CS_sRGB), false, false, -1, DataBuffer.TYPE_INT); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/ColorModel/getRGBdefault.java0000644000175000001440000000433010247030754024403 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.ColorModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Transparency; import java.awt.color.ColorSpace; import java.awt.image.ColorModel; import java.awt.image.DataBuffer; import java.awt.image.DirectColorModel; /** * Some tests for the getRGBdefault() method in the {@link ColorModel} class. */ public class getRGBdefault implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { ColorModel rgb = ColorModel.getRGBdefault(); harness.check(rgb instanceof DirectColorModel); // 1 harness.check(rgb.getPixelSize(), 32); // 2 harness.check(rgb.getNumColorComponents(), 3); // 3 harness.check(rgb.getNumComponents(), 4); // 4 harness.check(rgb.getComponentSize(0), 8); // 5 harness.check(rgb.getComponentSize(1), 8); // 6 harness.check(rgb.getComponentSize(2), 8); // 7 harness.check(rgb.getComponentSize(3), 8); // 8 harness.check(rgb.getTransparency(), Transparency.TRANSLUCENT); // 9 harness.check(rgb.getTransferType(), DataBuffer.TYPE_INT); // 10 harness.check(rgb.isAlphaPremultiplied(), false); // 11 harness.check(rgb.getColorSpace(), ColorSpace.getInstance(ColorSpace.CS_sRGB)); // 12 } } mauve-20140821/gnu/testlet/java/awt/image/ColorModel/MyColorModel.java0000644000175000001440000000355410505773444024307 0ustar dokousers/* MyColorModel.java -- a subclass of ColorModel used for testing. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.java.awt.image.ColorModel; import java.awt.color.ColorSpace; import java.awt.image.ColorModel; import java.awt.image.WritableRaster; public class MyColorModel extends ColorModel { public MyColorModel(int bits) { super(bits); } public MyColorModel(int pixel_bits, int[] bits, ColorSpace cspace, boolean hasAlpha, boolean isAlphaPremultiplied, int transparency, int transferType) { super(pixel_bits, bits, cspace, hasAlpha, isAlphaPremultiplied, transparency, transferType); } public int getAlpha(int pixel) { return 0; } public int getBlue(int pixel) { return 0; } public int getGreen(int pixel) { return 0; } public int getRed(int pixel) { return 0; } public ColorModel coerceData(WritableRaster raster, boolean isAlphaPremultiplied) { coerceDataWorker(raster, isAlphaPremultiplied); return this; } } mauve-20140821/gnu/testlet/java/awt/image/ColorModel/getComponentSize.java0000644000175000001440000000442710247030754025230 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.ColorModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ColorModel; /** * Some tests for the getComponentSize() method in the {@link ColorModel} class. */ public class getComponentSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("()"); ColorModel rgb = ColorModel.getRGBdefault(); int[] sizes = rgb.getComponentSize(); harness.check(sizes.length, 4); harness.check(sizes[0], 8); harness.check(sizes[1], 8); harness.check(sizes[2], 8); harness.check(sizes[3], 8); } public void test2(TestHarness harness) { harness.checkPoint("(int)"); ColorModel rgb = ColorModel.getRGBdefault(); harness.check(rgb.getComponentSize(0), 8); harness.check(rgb.getComponentSize(1), 8); harness.check(rgb.getComponentSize(2), 8); harness.check(rgb.getComponentSize(3), 8); boolean pass = false; try { rgb.getComponentSize(-1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { rgb.getComponentSize(4); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/ComponentColorModel/0000755000175000001440000000000012375316426022753 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/image/ComponentColorModel/coerceData.java0000644000175000001440000001445110505773444025655 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2006 Francis Kung // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.ComponentColorModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Point; import java.awt.color.ColorSpace; import java.awt.image.BandedSampleModel; import java.awt.image.ColorModel; import java.awt.image.ComponentColorModel; import java.awt.image.ComponentSampleModel; import java.awt.image.DataBuffer; import java.awt.image.PixelInterleavedSampleModel; import java.awt.image.Raster; import java.awt.image.SampleModel; import java.awt.image.WritableRaster; /** * Some checks for the coerceData method in the {@link ComponentColorModel} * class. */ public class coerceData implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("coerceData with BandedSampleModel"); runTest(harness, new BandedSampleModel(DataBuffer.TYPE_BYTE, 50, 50, 4)); harness.checkPoint("coerceData with ComponentSampleModel"); runTest(harness, new ComponentSampleModel(DataBuffer.TYPE_BYTE, 50, 50, 4, 200, new int[]{0, 1, 2, 3})); // MultiPixelPackedSampleModel not allowed, since that sample model can // only represent one-banded images. We should check to ensure failure // is consistent. harness.checkPoint("coerceData with PixelInterleavedSampleModel"); runTest(harness, new PixelInterleavedSampleModel(DataBuffer.TYPE_BYTE, 50, 50, 4, 200, new int[]{0, 1, 2, 3})); // Combinations of a ComponentColorModel with SinglePixelPackedSampleModel // are not allowed. } private void runTest(TestHarness harness, SampleModel sample) { // Create and popular raster for testing WritableRaster rast = Raster.createWritableRaster(sample, new Point(0,0)); for (int x = 0; x < 50; x++) for (int y = 0; y < 50; y++) for (int b = 0; b < 4; b++) if (b < 3) rast.setSample(x, y, b, (float)x+y+b); else rast.setSample(x, y, b, (float)(x+y)); ComponentColorModel ccm = new ComponentColorModel(ColorSpace.getInstance(ColorSpace.CS_sRGB), true, false, ColorModel.BITMASK, DataBuffer.TYPE_BYTE); harness.check(ccm.isAlphaPremultiplied(), false); // Check to ensure data is not changed needlessly ColorModel resultCM = ccm.coerceData(rast, false); harness.check(resultCM.getClass().equals(ccm.getClass())); harness.check(resultCM.isAlphaPremultiplied(), false); harness.check(ccm, resultCM); for (int x = 0; x < 50; x++) for (int y = 0; y < 50; y++) for (int b = 0; b < 4; b++) { if (b < 3) harness.check(rast.getSample(x, y, b), (x+y+b)); else harness.check(rast.getSampleFloat(x, y, b), (x+y)); } // Coerce data into a premultiplied state resultCM = ccm.coerceData(rast, true); // Ensure we're still using the same color model! harness.check(resultCM.getClass().equals(ccm.getClass())); harness.check(resultCM.isAlphaPremultiplied(), true); harness.check(! (ccm == resultCM)); // object is cloned... // Check values for (int x = 0; x < 50; x++) for (int y = 0; y < 50; y++) for (int b = 0; b < 4; b++) { if (b < 3) harness.check(rast.getSample(x, y, b), Math.round((x+y+b)*((x+y)/(float)255))); else harness.check(rast.getSampleFloat(x, y, b), x+y); } // Make a copy of the raster, to compare against for the next test WritableRaster rast2 = Raster.createWritableRaster(sample, new Point(0,0)); for (int x = 0; x < 50; x++) for (int y = 0; y < 50; y++) for (int b = 0; b < 4; b++) rast2.setSample(x, y, b, rast.getSample(x, y, b)); // And do the reverse.. un-multiply harness.check(resultCM.isAlphaPremultiplied(), true); ColorModel resultCM2 = resultCM.coerceData(rast, false); harness.check(resultCM2.getClass().equals(resultCM.getClass())); harness.check(resultCM2.isAlphaPremultiplied(), false); harness.check(! (resultCM == resultCM2)); // Check values for (int x = 0; x < 50; x++) for (int y = 0; y < 50; y++) for (int b = 0; b < 4; b++) { if (b < 3) { // Do some trickery to work around differing floating-point // precision (a division equalling 0.49999 will round up or // down unpredictably) float expected = rast2.getSample(x, y, b)/((x+y)/((float)255)); if (expected - (int)expected > 0.49 && expected - (int)expected < 0.51) harness.check(rast.getSample(x, y, b) == (int)expected || rast.getSample(x, y, b) == (int)expected + 1); else harness.check(rast.getSample(x, y, b),Math.round(expected)); } else harness.check(rast.getSampleFloat(x, y, b), (x+y)); } } } mauve-20140821/gnu/testlet/java/awt/image/ComponentColorModel/createCompatibleSampleModel.java0000644000175000001440000002171510037577130031204 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.ComponentColorModel; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.Transparency; import java.awt.color.ColorSpace; import java.awt.image.*; import java.util.Arrays; /** * @author Sascha Brawer */ public class createCompatibleSampleModel implements Testlet { public void test(TestHarness h) { test_BYTE(h); test_USHORT(h); test_SHORT(h); test_INT(h); test_FLOAT(h); test_DOUBLE(h); } private void test_BYTE(TestHarness h) { SampleModel sm; h.checkPoint("BYTE"); sm = new ComponentColorModel(ColorSpace.getInstance(ColorSpace.CS_sRGB), new int[] { 2, 2, 2 }, /* alpha */ false, /* premultipliedAlpha */ false, Transparency.OPAQUE, DataBuffer.TYPE_BYTE) .createCompatibleSampleModel(2, 3); h.check(sm instanceof PixelInterleavedSampleModel); // Check #1. h.check(sm.getTransferType(), DataBuffer.TYPE_BYTE); // Check #2. h.check(sm.getWidth(), 2); // Check #3. h.check(sm.getHeight(), 3); // Check #4. h.check(sm.getNumBands(), 3); // Check #5. h.check(Arrays.equals(sm.getSampleSize(), // Check #6. new int[] { 8, 8, 8 })); h.check(((ComponentSampleModel) sm).getOffset(1, 1), 9); // Check #7. h.check(Arrays.equals(((ComponentSampleModel) sm).getBandOffsets(), new int[] { 0, 1, 2 })); // Check #8. h.check(sm.createDataBuffer().getSize(), 18); // Check #9. } private void test_USHORT(TestHarness h) { SampleModel sm; h.checkPoint("USHORT"); sm = new ComponentColorModel(ColorSpace.getInstance(ColorSpace.CS_sRGB), new int[] { 8, 2, 3, 1 }, /* alpha */ true, /* premultipliedAlpha */ false, Transparency.BITMASK, DataBuffer.TYPE_USHORT) .createCompatibleSampleModel(4, 3); h.check(sm instanceof PixelInterleavedSampleModel); // Check #1. h.check(sm.getTransferType(), DataBuffer.TYPE_USHORT); // Check #2. h.check(sm.getWidth(), 4); // Check #3. h.check(sm.getHeight(), 3); // Check #4. h.check(sm.getNumBands(), 4); // Check #5. h.check(Arrays.equals(sm.getSampleSize(), // Check #6. new int[] { 16, 16, 16, 16 })); h.check(((ComponentSampleModel) sm).getOffset(1, 1), 20); // Check #7. h.check(Arrays.equals(((ComponentSampleModel) sm).getBandOffsets(), new int[] { 0, 1, 2, 3 })); // Check #8. h.check(sm.createDataBuffer().getSize(), 48); // Check #9. } private void test_SHORT(TestHarness h) { SampleModel sm; h.checkPoint("SHORT"); sm = new ComponentColorModel(ColorSpace.getInstance(ColorSpace.CS_sRGB), new int[] { 5, 5, 6 }, /* alpha */ false, /* premultipliedAlpha */ false, Transparency.OPAQUE, DataBuffer.TYPE_SHORT) .createCompatibleSampleModel(2, 3); h.check(sm.getClass(), ComponentSampleModel.class); // Check #1. h.check(sm.getTransferType(), DataBuffer.TYPE_SHORT); // Check #2. h.check(sm.getWidth(), 2); // Check #3. h.check(sm.getHeight(), 3); // Check #4. h.check(sm.getNumBands(), 3); // Check #5. h.check(Arrays.equals(sm.getSampleSize(), // Check #6. new int[] { 16, 16, 16 })); h.check(((ComponentSampleModel) sm).getOffset(1, 1), 9); // Check #7. h.check(Arrays.equals(((ComponentSampleModel) sm).getBandOffsets(), new int[] { 0, 1, 2 })); // Check #8. h.check(sm.createDataBuffer().getSize(), 18); // Check #9. } private void test_INT(TestHarness h) { SampleModel sm; h.checkPoint("INT"); sm = new ComponentColorModel(ColorSpace.getInstance(ColorSpace.CS_GRAY), new int[] { 24 }, /* alpha */ false, /* premultipliedAlpha */ false, Transparency.OPAQUE, DataBuffer.TYPE_INT) .createCompatibleSampleModel(2, 3); h.check(sm.getClass(), ComponentSampleModel.class); // Check #1. h.check(sm.getTransferType(), DataBuffer.TYPE_INT); // Check #2. h.check(sm.getWidth(), 2); // Check #3. h.check(sm.getHeight(), 3); // Check #4. h.check(sm.getNumBands(), 1); // Check #5. h.check(Arrays.equals(sm.getSampleSize(), // Check #6. new int[] { 32 })); h.check(((ComponentSampleModel) sm).getOffset(1, 1), 3); // Check #7. h.check(Arrays.equals(((ComponentSampleModel) sm).getBandOffsets(), new int[] { 0 })); // Check #8. h.check(sm.createDataBuffer().getSize(), 6); // Check #9. } private void test_FLOAT(TestHarness h) { SampleModel sm; h.checkPoint("FLOAT"); sm = new ComponentColorModel(ColorSpace.getInstance(ColorSpace.CS_sRGB), new int[] { 32, 32, 32, 32 }, /* alpha */ true, /* premultipliedAlpha */ false, Transparency.TRANSLUCENT, DataBuffer.TYPE_FLOAT) .createCompatibleSampleModel(4, 2); h.check(sm.getClass(), ComponentSampleModel.class); // Check #1. h.check(sm.getTransferType(), DataBuffer.TYPE_FLOAT); // Check #2. h.check(sm.getWidth(), 4); // Check #3. h.check(sm.getHeight(), 2); // Check #4. h.check(sm.getNumBands(), 4); // Check #5. h.check(Arrays.equals(sm.getSampleSize(), // Check #6. new int[] { 32, 32, 32, 32 })); h.check(((ComponentSampleModel) sm).getOffset(3, 1), 28); // Check #7. h.check(Arrays.equals(((ComponentSampleModel) sm).getBandOffsets(), new int[] { 0, 1, 2, 3 })); // Check #8. h.check(sm.createDataBuffer().getSize(), 32); // Check #9. } private void test_DOUBLE(TestHarness h) { SampleModel sm; h.checkPoint("DOUBLE"); sm = new ComponentColorModel(ColorSpace.getInstance(ColorSpace.CS_sRGB), new int[] { 64, 64, 64, 64 }, /* alpha */ true, /* premultipliedAlpha */ true, Transparency.TRANSLUCENT, DataBuffer.TYPE_DOUBLE) .createCompatibleSampleModel(2, 2); h.check(sm.getClass(), ComponentSampleModel.class); // Check #1. h.check(sm.getTransferType(), DataBuffer.TYPE_DOUBLE); // Check #2. h.check(sm.getWidth(), 2); // Check #3. h.check(sm.getHeight(), 2); // Check #4. h.check(sm.getNumBands(), 4); // Check #5. h.check(Arrays.equals(sm.getSampleSize(), // Check #6. new int[] { 64, 64, 64, 64 })); h.check(((ComponentSampleModel) sm).getOffset(1, 1), 12); // Check #7. h.check(Arrays.equals(((ComponentSampleModel) sm).getBandOffsets(), new int[] { 0, 1, 2, 3 })); // Check #8. h.check(sm.createDataBuffer().getSize(), 16); // Check #9. } } mauve-20140821/gnu/testlet/java/awt/image/ColorConvertOp/0000755000175000001440000000000012375316426021747 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/image/ColorConvertOp/constructors.java0000644000175000001440000001521610470435140025354 0ustar dokousers/* constructors.java -- some checks for the constructors in the ColorConvertOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.image.ColorConvertOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.RenderingHints; import java.awt.color.ColorSpace; import java.awt.color.ICC_Profile; import java.awt.image.ColorConvertOp; import java.util.Arrays; /** * Some checks for the constructors in the {@link ColorConvertOp} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("(ColorSpace, ColorSpace, RenderingHints)"); // Simple test ColorSpace srcCs = ColorSpace.getInstance(ColorSpace.CS_sRGB); ColorSpace dstCs = ColorSpace.getInstance(ColorSpace.CS_GRAY); RenderingHints hints = new RenderingHints(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_ENABLE); hints.put(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY); ColorConvertOp op = new ColorConvertOp(srcCs, dstCs, hints); harness.check(op.getICC_Profiles(), null); harness.check(op.getRenderingHints(), hints); // Null arguments op = new ColorConvertOp(srcCs, dstCs, null); harness.check(op.getICC_Profiles(), null); harness.check(op.getRenderingHints(), null); try { op = new ColorConvertOp(null, dstCs, null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } try { op = new ColorConvertOp(srcCs, null, null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } try { op = new ColorConvertOp(null, null, null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } } public void testConstructor2(TestHarness harness) { harness.checkPoint("(ColorSpace, RenderingHints)"); // Simple test ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_sRGB); RenderingHints hints = new RenderingHints(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_ENABLE); hints.put(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY); ColorConvertOp op = new ColorConvertOp(cs, hints); harness.check(op.getICC_Profiles(), null); harness.check(op.getRenderingHints(), hints); // Null arguments op = new ColorConvertOp(cs, null); harness.check(op.getICC_Profiles(), null); harness.check(op.getRenderingHints(), null); try { op = new ColorConvertOp((ColorSpace)null, (RenderingHints)null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } } public void testConstructor3(TestHarness harness) { harness.checkPoint("(ICC_Profile[], RenderingHints)"); // Simple test ICC_Profile[] profile = new ICC_Profile[] {ICC_Profile.getInstance(ColorSpace.CS_LINEAR_RGB), ICC_Profile.getInstance(ColorSpace.CS_CIEXYZ), ICC_Profile.getInstance(ColorSpace.CS_sRGB), ICC_Profile.getInstance(ColorSpace.CS_PYCC)}; RenderingHints hints = new RenderingHints(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_ENABLE); hints.put(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY); ColorConvertOp op = new ColorConvertOp(profile, hints); // Work around lack of ICC_Profile.equals() harness.check(Arrays.equals(op.getICC_Profiles(), profile)); harness.check(op.getRenderingHints(), hints); // Empty or too few profiles are not caught until filter(), so they are // allowed here try { op = new ColorConvertOp(new ICC_Profile[0], null); harness.check(Arrays.equals(op.getICC_Profiles(), new ICC_Profile[0])); } catch (IllegalArgumentException e) { harness.check(false); } try { profile = new ICC_Profile[]{ICC_Profile.getInstance(ColorSpace.CS_LINEAR_RGB)}; op = new ColorConvertOp(profile, null); harness.check(Arrays.equals(op.getICC_Profiles(), profile)); } catch (IllegalArgumentException e) { harness.check(false); } // Null arguments op = new ColorConvertOp(profile, null); // Work around lack of ICC_Profile.equals() harness.check(Arrays.equals(op.getICC_Profiles(), profile)); harness.check(op.getRenderingHints(), null); try { op = new ColorConvertOp((ICC_Profile[])null, null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } } public void testConstructor4(TestHarness harness) { harness.checkPoint("(RenderingHints)"); // Simple test RenderingHints hints = new RenderingHints(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_ENABLE); hints.put(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY); ColorConvertOp op = new ColorConvertOp(hints); harness.check(op.getICC_Profiles(), null); harness.check(op.getRenderingHints(), hints); // Null arguments op = new ColorConvertOp(null); harness.check(op.getICC_Profiles(), null); harness.check(op.getRenderingHints(), null); } } mauve-20140821/gnu/testlet/java/awt/image/ColorConvertOp/createCompatibleDestImage.java0000644000175000001440000003642210473373464027651 0ustar dokousers/* createCompatibleDestImage.java -- some checks for the createCompatibleDestImage() method of the ColorConvertOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.image.ColorConvertOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.color.ColorSpace; import java.awt.color.ICC_Profile; import java.awt.image.BufferedImage; import java.awt.image.ColorConvertOp; import java.awt.image.ColorModel; import java.awt.image.ComponentColorModel; import java.awt.image.DataBuffer; import java.awt.image.DirectColorModel; import java.awt.image.PixelInterleavedSampleModel; /** * Checks for the createCompatibleDestImage method in the * {@link ColorConvertOp} class. */ public class createCompatibleDestImage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { simpleTest(harness); // Try with all possible colorspaces int[] models = new int[] {ColorSpace.CS_sRGB, ColorSpace.CS_CIEXYZ, ColorSpace.CS_GRAY, ColorSpace.CS_LINEAR_RGB, ColorSpace.CS_PYCC}; for (int i = 0; i < models.length; i++) colorModelTest(harness, models[i]); // Specify both source and dest colourspaces for (int i = 0; i < models.length; i++) for (int j = 0; j < models.length; j++) colorModelTest(harness, models[i], models[j]); // Specify profile list profileTest(harness, new ICC_Profile[] {ICC_Profile.getInstance(ColorSpace.CS_LINEAR_RGB), ICC_Profile.getInstance(ColorSpace.CS_CIEXYZ), ICC_Profile.getInstance(ColorSpace.CS_sRGB), ICC_Profile.getInstance(ColorSpace.CS_GRAY)}); profileTest(harness, new ICC_Profile[] {ICC_Profile.getInstance(ColorSpace.CS_GRAY), ICC_Profile.getInstance(ColorSpace.CS_sRGB)}); profileTest(harness, new ICC_Profile[] {ICC_Profile.getInstance(ColorSpace.CS_GRAY), ICC_Profile.getInstance(ColorSpace.CS_CIEXYZ)}); } private void simpleTest(TestHarness harness) { harness.checkPoint("createCompatibleDestImage"); // Simple test ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_sRGB); ColorConvertOp op = new ColorConvertOp(cs, null); BufferedImage img = new BufferedImage(25, 40, BufferedImage.TYPE_INT_RGB); BufferedImage dest = op.createCompatibleDestImage(img, img.getColorModel()); harness.check(dest.getHeight(), 40); harness.check(dest.getWidth(), 25); harness.check(dest.getColorModel(), img.getColorModel()); harness.check(dest.getSampleModel().getTransferType(), img.getColorModel().getTransferType()); // Try a different colour model img = new BufferedImage(25, 40, BufferedImage.TYPE_BYTE_GRAY); DirectColorModel cm = new DirectColorModel(32, 0x00ff0000, 0x0000ff00, 0x000000ff); dest = op.createCompatibleDestImage(img, cm); harness.check(dest.getHeight(), 40); harness.check(dest.getWidth(), 25); harness.check(dest.getColorModel(), cm); harness.check(dest.getSampleModel().getTransferType(), cm.getTransferType()); op = new ColorConvertOp(null); dest = op.createCompatibleDestImage(img, img.getColorModel()); harness.check(dest.getHeight(), 40); harness.check(dest.getWidth(), 25); harness.check(dest.getColorModel(), img.getColorModel()); harness.check(dest.getSampleModel().getTransferType(), img.getColorModel().getTransferType()); // ColorConvertOp's ColorModel can be null, or createCompatibleDestImage's // ColorModel can be null, but not both try { dest = op.createCompatibleDestImage(img, null); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } // This should probably go in the BufferedImage constructor // Test all the default color models private void colorModelTest(TestHarness harness, int cspace) { colorModelTest(harness, -1, cspace); } private void colorModelTest(TestHarness harness, int cspace, int cspace2) { ColorSpace cs; ColorSpace cs2; ColorConvertOp op; if (cspace == -1) { cs2 = ColorSpace.getInstance(cspace2); op = new ColorConvertOp(cs2, null); } else { cs = ColorSpace.getInstance(cspace); cs2 = ColorSpace.getInstance(cspace2); op = new ColorConvertOp(cs, cs2, null); } int[] types = {BufferedImage.TYPE_INT_RGB, BufferedImage.TYPE_INT_ARGB, BufferedImage.TYPE_INT_ARGB_PRE, BufferedImage.TYPE_3BYTE_BGR, BufferedImage.TYPE_4BYTE_ABGR, BufferedImage.TYPE_4BYTE_ABGR_PRE, BufferedImage.TYPE_USHORT_565_RGB, BufferedImage.TYPE_USHORT_555_RGB, BufferedImage.TYPE_BYTE_GRAY, BufferedImage.TYPE_USHORT_GRAY}; // Skipped types that are not implemented yet: // TYPE_CUSTOM, TYPE_INT_BGR, TYPE_BYTE_BINARY, TYPE_BYTE_INDEXED for (int i = 0; i < types.length; i++) { int type = types[i]; if (cspace == -1) harness.checkPoint("colorspace " + cspace2 + ", type: " + type); else harness.checkPoint("src colorspace " + cspace + ", dest colorspace " + cspace2 + ", type: " + type); BufferedImage img = new BufferedImage(25, 40, type); BufferedImage dest = op.createCompatibleDestImage(img, null); dest = op.createCompatibleDestImage(img, null); // Standard check of common properties harness.check(dest.isAlphaPremultiplied(), img.isAlphaPremultiplied()); harness.check(dest.getSampleModel() instanceof PixelInterleavedSampleModel); harness.check(dest.getColorModel() instanceof ComponentColorModel); harness.check(dest.getColorModel().isCompatibleSampleModel(dest.getSampleModel())); harness.check(dest.getColorModel().getTransferType(), DataBuffer.TYPE_BYTE); harness.check(dest.getColorModel().getColorSpace().getType(), cs2.getType()); harness.check(dest.getColorModel().hasAlpha(), img.getColorModel().hasAlpha()); harness.check(dest.getColorModel().getTransparency(), img.getColorModel().getTransparency()); harness.check(dest.getColorModel().getPixelSize(), DataBuffer.getDataTypeSize(DataBuffer.TYPE_BYTE) * dest.getRaster().getNumDataElements()); harness.check(dest.getRaster().getNumDataElements(), dest.getColorModel().getNumComponents()); harness.check(dest.getRaster().getNumBands(), dest.getRaster().getNumDataElements()); harness.check(dest.getSampleModel().getTransferType(), DataBuffer.TYPE_BYTE); // This ensures that we have the same defaults as the reference implementation switch (type) { // Images with an extra alpha component case BufferedImage.TYPE_INT_ARGB: case BufferedImage.TYPE_INT_ARGB_PRE: case BufferedImage.TYPE_4BYTE_ABGR: case BufferedImage.TYPE_4BYTE_ABGR_PRE: if (cspace2 == ColorSpace.CS_GRAY) { harness.check(dest.getColorModel().getNumComponents(), 2); } else { harness.check(dest.getColorModel().getNumComponents(), 4); } harness.check(dest.getColorModel().getNumColorComponents(), dest.getColorModel().getNumComponents() - 1); harness.check(dest.getColorModel().getTransparency(), ColorModel.TRANSLUCENT); harness.check(dest.getColorModel().hasAlpha(), true); harness.check(dest.getColorModel().isAlphaPremultiplied(), (type == BufferedImage.TYPE_INT_ARGB_PRE || type == BufferedImage.TYPE_4BYTE_ABGR_PRE)); harness.check(dest.getType(), BufferedImage.TYPE_CUSTOM); break; case BufferedImage.TYPE_INT_RGB: case BufferedImage.TYPE_3BYTE_BGR: case BufferedImage.TYPE_USHORT_565_RGB: case BufferedImage.TYPE_USHORT_555_RGB: case BufferedImage.TYPE_BYTE_GRAY: case BufferedImage.TYPE_USHORT_GRAY: if (cs2.getType() == ColorSpace.TYPE_GRAY) { // This fails, but due to a limitation in BufferedImage. // Somehow, Sun is able to modify a BufferedImage after creating // it based on a pre-defined type, without it being considered // a custom type... // harness.check(dest.getType(), BufferedImage.TYPE_BYTE_GRAY); harness.check(dest.getColorModel().getNumComponents(), 1); } else { harness.check(dest.getType(), BufferedImage.TYPE_CUSTOM); harness.check(dest.getColorModel().getNumComponents(), 3); } harness.check(dest.getColorModel().getNumColorComponents(), dest.getColorModel().getNumComponents()); harness.check(dest.getColorModel().getTransparency(), ColorModel.OPAQUE); harness.check(dest.getColorModel().hasAlpha(), false); harness.check(dest.getColorModel().isAlphaPremultiplied(), false); break; } } } private void profileTest(TestHarness harness, ICC_Profile[] profile) { ColorConvertOp op = new ColorConvertOp(profile, null); int[] types = {BufferedImage.TYPE_INT_RGB, BufferedImage.TYPE_INT_ARGB, BufferedImage.TYPE_INT_ARGB_PRE, BufferedImage.TYPE_3BYTE_BGR, BufferedImage.TYPE_4BYTE_ABGR, BufferedImage.TYPE_4BYTE_ABGR_PRE, BufferedImage.TYPE_USHORT_565_RGB, BufferedImage.TYPE_USHORT_555_RGB, BufferedImage.TYPE_BYTE_GRAY, BufferedImage.TYPE_USHORT_GRAY}; // Skipped types that are not implemented yet: // TYPE_CUSTOM, TYPE_INT_BGR, TYPE_BYTE_BINARY, TYPE_BYTE_INDEXED for (int i = 0; i < types.length; i++) { int type = types[i]; harness.checkPoint("profile " + profile[profile.length-1].getClass() + ", type: " + type); BufferedImage img = new BufferedImage(25, 40, type); BufferedImage dest = op.createCompatibleDestImage(img, null); dest = op.createCompatibleDestImage(img, null); harness.check(dest.getColorModel() instanceof ComponentColorModel); harness.check(dest.getSampleModel() instanceof PixelInterleavedSampleModel); harness.check(dest.getColorModel().isCompatibleSampleModel(dest.getSampleModel())); harness.check(dest.getColorModel().getTransferType(), DataBuffer.TYPE_BYTE); harness.check(dest.getColorModel().getColorSpace().getType(), profile[profile.length-1].getColorSpaceType()); harness.check(dest.getRaster().getNumDataElements(), dest.getColorModel().getNumComponents()); harness.check(dest.getRaster().getNumBands(), dest.getRaster().getNumDataElements()); harness.check(dest.getColorModel().getPixelSize(), DataBuffer.getDataTypeSize(DataBuffer.TYPE_BYTE) * dest.getRaster().getNumDataElements()); // This ensures that we have the same defaults as the reference implementation switch (type) { case BufferedImage.TYPE_INT_ARGB: case BufferedImage.TYPE_INT_ARGB_PRE: case BufferedImage.TYPE_4BYTE_ABGR: case BufferedImage.TYPE_4BYTE_ABGR_PRE: if (profile[profile.length-1].getColorSpaceType() == ColorSpace.TYPE_GRAY) { harness.check(dest.getColorModel().getNumComponents(), 2); } else { harness.check(dest.getColorModel().getNumComponents(), 4); } harness.check(dest.getColorModel().getNumColorComponents(), dest.getColorModel().getNumComponents() - 1); harness.check(dest.getColorModel().getTransparency(), ColorModel.TRANSLUCENT); harness.check(dest.getColorModel().hasAlpha(), true); harness.check(dest.getColorModel().isAlphaPremultiplied(), (type == BufferedImage.TYPE_INT_ARGB_PRE || type == BufferedImage.TYPE_4BYTE_ABGR_PRE)); harness.check(dest.getType(), BufferedImage.TYPE_CUSTOM); break; case BufferedImage.TYPE_INT_RGB: case BufferedImage.TYPE_3BYTE_BGR: case BufferedImage.TYPE_USHORT_565_RGB: case BufferedImage.TYPE_USHORT_555_RGB: case BufferedImage.TYPE_BYTE_GRAY: case BufferedImage.TYPE_USHORT_GRAY: if (profile[profile.length-1].getColorSpaceType() == ColorSpace.TYPE_GRAY) { // This fails, but due to a limitation in BufferedImage. // Somehow, Sun is able to modify a BufferedImage after creating // it based on a pre-defined type, without it being considered // a custom type... // harness.check(dest.getType(), BufferedImage.TYPE_BYTE_GRAY); harness.check(dest.getColorModel().getNumComponents(), 1); } else { harness.check(dest.getType(), BufferedImage.TYPE_CUSTOM); harness.check(dest.getColorModel().getNumComponents(), 3); } harness.check(dest.getColorModel().getNumColorComponents(), dest.getColorModel().getNumComponents()); harness.check(dest.getColorModel().getTransparency(), ColorModel.OPAQUE); harness.check(dest.getColorModel().hasAlpha(), false); harness.check(dest.getColorModel().isAlphaPremultiplied(), false); break; } } } } mauve-20140821/gnu/testlet/java/awt/image/ColorConvertOp/getPoint2D.java0000644000175000001440000000344010470435140024557 0ustar dokousers/* getPoint2D.java -- some checks for the getPoint2D) method of the ColorConvertOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.image.ColorConvertOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.color.ColorSpace; import java.awt.geom.Point2D; import java.awt.image.ColorConvertOp; /** * Checks the getPoint2D method in the * {@link ColorConvertOp} class. */ public class getPoint2D implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("getPoint2D"); // This is a simple test; the Op should not change the // geometry of the raster ColorConvertOp op = new ColorConvertOp(ColorSpace.getInstance(ColorSpace.CS_sRGB), null); Point2D dest = null; dest = op.getPoint2D(new Point2D.Double(3, 3), dest); harness.check(dest, new Point2D.Double(3, 3)); } } mauve-20140821/gnu/testlet/java/awt/image/ColorConvertOp/filterRaster.java0000644000175000001440000001033010470435140025242 0ustar dokousers/* filterRaster.java -- some checks for the filter(Raster) method of the ColorConvertOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.image.ColorConvertOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Graphics2D; import java.awt.color.ColorSpace; import java.awt.geom.Line2D; import java.awt.image.BufferedImage; import java.awt.image.ColorConvertOp; import java.awt.image.WritableRaster; /** * Checks the filter(Raster) method in the {@link ColorConvertOp} class. */ public class filterRaster implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("filter(Raster)"); // Create a raster to work on BufferedImage img = new BufferedImage(20, 20, BufferedImage.TYPE_INT_RGB); Graphics2D g = (Graphics2D)img.getGraphics(); g.draw(new Line2D.Double(0, 0, 20, 20)); ColorSpace cs1 = ColorSpace.getInstance(ColorSpace.CS_sRGB); ColorSpace cs2 = ColorSpace.getInstance(ColorSpace.CS_GRAY); ColorConvertOp op = new ColorConvertOp(cs1, cs2, null); WritableRaster raster = img.getRaster(); // Src and dst rasters cannot be the same (different from // filter(BufferedImage, BufferedImage) ) try { op.filter(raster, raster); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // Src and dst are different sizes (not allowed, unlike some other Ops) BufferedImage dst = new BufferedImage(30, 40, BufferedImage.TYPE_BYTE_GRAY); WritableRaster raster2 = dst.getRaster(); try { op.filter(raster, raster2); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // Null destination WritableRaster dstRaster = op.filter(raster, null); harness.check(dstRaster.getTransferType(), op.createCompatibleDestRaster(raster).getTransferType()); harness.check(dstRaster.getNumBands(), op.createCompatibleDestRaster(raster).getNumBands()); harness.check(dstRaster.getNumDataElements(), op.createCompatibleDestRaster(raster).getNumDataElements()); // Incompatible constructor (ie, not enough information) op = new ColorConvertOp(null); try { op.filter(raster, null); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } op = new ColorConvertOp(cs1, null); try { op.filter(raster, null); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // Destination raster incompatible with defined conversion; // ie, with this conversion, cs2 is TYPE_GRAY thus a dest raster of // TYPE_RGB will have the wrong number of data elements op = new ColorConvertOp(cs1, cs2, null); dstRaster = new BufferedImage(20, 20, BufferedImage.TYPE_INT_ARGB).getRaster(); try { op.filter(raster, dstRaster); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // Also true if source raster is incompatible raster = new BufferedImage(20, 20, BufferedImage.TYPE_BYTE_GRAY).getRaster(); try { op.filter(raster, raster2); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/awt/image/ColorConvertOp/filterImage.java0000644000175000001440000001677510471414460025052 0ustar dokousers/* filterImage.java -- some checks for the filter(Image) method of the ColorConvertOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.image.ColorConvertOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Graphics2D; import java.awt.color.ColorSpace; import java.awt.color.ICC_Profile; import java.awt.geom.Line2D; import java.awt.image.BufferedImage; import java.awt.image.ColorConvertOp; /** * Checks the filter(BufferedImage) method in the {@link ColorConvertOp} class. */ public class filterImage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); test3(harness); test4(harness); } private void test1(TestHarness harness) { harness.checkPoint("filter(BufferedImage) from ColorConvertOp(RenderingHints)"); // Create an image to work on BufferedImage img = new BufferedImage(20, 20, BufferedImage.TYPE_USHORT_GRAY); Graphics2D g = (Graphics2D)img.getGraphics(); g.draw(new Line2D.Double(0, 0, 20, 20)); ColorConvertOp op = new ColorConvertOp(null); // Src and dst images can be the same (unlike some other Ops) try { op.filter(img, img); harness.check(true); } catch (IllegalArgumentException e) { harness.check(false); } // Src and dst are different sizes (not allowed, unlike some other Ops) BufferedImage dst = new BufferedImage(30, 40, BufferedImage.TYPE_INT_RGB); try { op.filter(img, dst); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // Dst cannot be null for this ColorConvertOp try { op.filter(img, null); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // Can I check that the actual filter operation happened properly? } private void test2(TestHarness harness) { harness.checkPoint("filter(BufferedImage) from ColorConvertOp(ColorSpace, RenderingHints)"); // Create an image to work on BufferedImage img = new BufferedImage(20, 20, BufferedImage.TYPE_USHORT_GRAY); Graphics2D g = (Graphics2D)img.getGraphics(); g.draw(new Line2D.Double(0, 0, 20, 20)); ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_sRGB); ColorConvertOp op = new ColorConvertOp(cs, null); // Check null destination try { BufferedImage dst = op.filter(img, null); harness.check(dst.getColorModel().getColorSpace().getType(), ColorSpace.TYPE_RGB); // Any other checks to run? Show the data was filtered properly? } catch (IllegalArgumentException e) { harness.check(false); } // Check non-null destination try { BufferedImage dst = new BufferedImage(20, 20, BufferedImage.TYPE_INT_RGB); dst = op.filter(img, dst); harness.check(dst.getColorModel().getColorSpace().getType(), ColorSpace.TYPE_RGB); // Any other checks to run? } catch (IllegalArgumentException e) { harness.check(false); } // Can we introduce an alpha? try { BufferedImage dst = new BufferedImage(20, 20, BufferedImage.TYPE_INT_ARGB); dst = op.filter(img, dst); harness.check(dst.getColorModel().getColorSpace().getType(), ColorSpace.TYPE_RGB); // Any other checks to run? } catch (IllegalArgumentException e) { harness.check(false); } // Different destination type: this should end up as GRAY, via RGB // (but how can I test the intermediate step?) try { BufferedImage dst = new BufferedImage(20, 20, BufferedImage.TYPE_BYTE_GRAY); dst = op.filter(img, dst); harness.check(dst.getColorModel().getColorSpace().getType(), ColorSpace.TYPE_GRAY); // Any other checks to run? } catch (IllegalArgumentException e) { harness.check(false); } } private void test3(TestHarness harness) { harness.checkPoint("filter(BufferedImage) from ColorConvertOp(ColorSpace, ColorSpace, RenderingHints)"); // Create an image to work on BufferedImage img = new BufferedImage(20, 20, BufferedImage.TYPE_USHORT_GRAY); Graphics2D g = (Graphics2D)img.getGraphics(); g.draw(new Line2D.Double(0, 0, 20, 20)); ColorSpace cs1 = ColorSpace.getInstance(ColorSpace.CS_CIEXYZ); //ColorSpace cs2 = ColorSpace.getInstance(ColorSpace.CS_PYCC); // PYCC is not implemented ColorSpace cs2 = ColorSpace.getInstance(ColorSpace.CS_sRGB); ColorConvertOp op = new ColorConvertOp(cs1, cs2, null); // Simpler tests (ie, src != dest) are skipped, assume they work here if // they worked earlier try { BufferedImage dst = op.filter(img, null); harness.check(dst.getColorModel().getColorSpace().getType(), ColorSpace.TYPE_RGB); // PYCC would have been ColorSpace.TYPE_3CLR } catch (IllegalArgumentException e) { harness.check(true); } try { BufferedImage dst = new BufferedImage(20, 20, BufferedImage.TYPE_INT_ARGB_PRE); op.filter(img, dst); harness.check(dst.getColorModel().getColorSpace().getType(), ColorSpace.TYPE_RGB); } catch (IllegalArgumentException e) { harness.check(true); } // Can I check that the actual filter operation happened properly? } private void test4(TestHarness harness) { harness.checkPoint("filter(BufferedImage) from ColorConvertOp(ICC_Profile[], RenderingHints)"); // Create an image to work on BufferedImage img = new BufferedImage(20, 20, BufferedImage.TYPE_USHORT_GRAY); Graphics2D g = (Graphics2D)img.getGraphics(); g.draw(new Line2D.Double(0, 0, 20, 20)); ICC_Profile[] profile = new ICC_Profile[] {ICC_Profile.getInstance(ColorSpace.CS_LINEAR_RGB), ICC_Profile.getInstance(ColorSpace.CS_CIEXYZ), ICC_Profile.getInstance(ColorSpace.CS_sRGB)}; ColorConvertOp op = new ColorConvertOp(profile, null); try { BufferedImage dst = op.filter(img, null); harness.check(dst.getColorModel().getColorSpace().getType(), ColorSpace.TYPE_RGB); } catch (IllegalArgumentException e) { harness.check(false); } try { BufferedImage dst = new BufferedImage(20, 20, BufferedImage.TYPE_BYTE_GRAY); dst = op.filter(img, dst); harness.check(dst.getColorModel().getColorSpace().getType(), ColorSpace.TYPE_GRAY); } catch (IllegalArgumentException e) { harness.check(false); } // Can I check that the actual filter operation happened properly? } } mauve-20140821/gnu/testlet/java/awt/image/ColorConvertOp/createCompatibleDestRaster.java0000644000175000001440000002220210471414460030044 0ustar dokousers/* createCompatibleDestRaster.java -- some checks for the createCompatibleDestRaster() method of the ColorConvertOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.image.ColorConvertOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Point; import java.awt.color.ColorSpace; import java.awt.color.ICC_Profile; import java.awt.image.ColorConvertOp; import java.awt.image.DataBuffer; import java.awt.image.DataBufferByte; import java.awt.image.PixelInterleavedSampleModel; import java.awt.image.Raster; import java.util.Arrays; /** * Checks for the createCompatibleDestRaster method in the * {@link ColorConvertOp} class. */ public class createCompatibleDestRaster implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("createCompatibleDestRaster"); simpleTest(harness); // Try with all possible colorspaces int[] models = new int[] {ColorSpace.CS_sRGB, ColorSpace.CS_CIEXYZ, ColorSpace.CS_GRAY, ColorSpace.CS_LINEAR_RGB, ColorSpace.CS_PYCC}; for (int i = 0; i < models.length; i++) for (int j = 0; j < models.length; j++) colorModelTest(harness, models[i], models[j]); // Specify profile list profileTest(harness, new ICC_Profile[] {ICC_Profile.getInstance(ColorSpace.CS_LINEAR_RGB), ICC_Profile.getInstance(ColorSpace.CS_CIEXYZ), ICC_Profile.getInstance(ColorSpace.CS_sRGB), ICC_Profile.getInstance(ColorSpace.CS_GRAY)}); profileTest(harness, new ICC_Profile[] {ICC_Profile.getInstance(ColorSpace.CS_GRAY), ICC_Profile.getInstance(ColorSpace.CS_sRGB)}); profileTest(harness, new ICC_Profile[] {ICC_Profile.getInstance(ColorSpace.CS_GRAY), ICC_Profile.getInstance(ColorSpace.CS_CIEXYZ)}); } private void simpleTest(TestHarness harness) { // This method can never be used with these constructors ColorConvertOp op = new ColorConvertOp(null); Raster src = Raster.createBandedRaster(DataBuffer.TYPE_BYTE, 10, 10, 3, new Point(5, 5)); try { op.createCompatibleDestRaster(src); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_sRGB); op = new ColorConvertOp(cs, null); try { op.createCompatibleDestRaster(src); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } private void colorModelTest(TestHarness harness, int cspace1, int cspace2) { harness.checkPoint("two colorspaces defined, " + cspace1 + ", " + cspace2); ColorSpace cs = ColorSpace.getInstance(cspace1); ColorSpace cs2 = ColorSpace.getInstance(cspace2); ColorConvertOp op = new ColorConvertOp(cs, cs2, null); int bands = cs2.getNumComponents(); Raster src = Raster.createBandedRaster(DataBuffer.TYPE_INT, 25, 40, bands, new Point(5, 5)); try { Raster dst = op.createCompatibleDestRaster(src); harness.check(dst.getHeight(), src.getHeight()); harness.check(dst.getWidth(), src.getWidth()); harness.check(dst.getNumBands(), bands); harness.check(dst.getTransferType(), DataBuffer.TYPE_BYTE); harness.check(dst.getDataBuffer().getDataType(), DataBuffer.TYPE_BYTE); harness.check(dst.getNumDataElements(), cs2.getNumComponents()); harness.check(dst.getSampleModel() instanceof PixelInterleavedSampleModel); harness.check(dst.getDataBuffer() instanceof DataBufferByte); PixelInterleavedSampleModel sm = (PixelInterleavedSampleModel)dst.getSampleModel(); harness.check(sm.getPixelStride(), cs2.getNumComponents()); harness.check(sm.getScanlineStride(), cs2.getNumComponents() * src.getWidth()); int[] expected = new int[cs2.getNumComponents()]; for (int i = 0; i < expected.length; i++) expected[i] = i; harness.check(Arrays.equals(sm.getBandOffsets(), expected)); harness.check(dst.getDataBuffer().getNumBanks(), 1); harness.check(dst.getDataBuffer().getOffset(), 0); harness.check(dst.getDataBuffer().getSize(), src.getHeight() * src.getWidth() * cs2.getNumComponents()); } catch (IllegalArgumentException e) { harness.check(false); } // Try a different type src = Raster.createBandedRaster(DataBuffer.TYPE_USHORT, 25, 40, bands, new Point(5, 5)); try { Raster dst = op.createCompatibleDestRaster(src); harness.check(dst.getNumBands(), bands); harness.check(dst.getTransferType(), DataBuffer.TYPE_BYTE); harness.check(dst.getDataBuffer().getDataType(), DataBuffer.TYPE_BYTE); harness.check(dst.getNumDataElements(), cs2.getNumComponents()); harness.check(dst.getSampleModel() instanceof PixelInterleavedSampleModel); harness.check(dst.getDataBuffer() instanceof DataBufferByte); } catch (IllegalArgumentException e) { harness.check(false); } // Try different number of bands in the source; the destination should // ignore this and always have ColorSpace.getNumComponents() bands for (int i = 1; i < bands + 5; i++) { src = Raster.createBandedRaster(DataBuffer.TYPE_INT, 25, 40, i, new Point(5, 5)); try { Raster dst = op.createCompatibleDestRaster(src); harness.check(dst.getNumBands(), cs2.getNumComponents()); harness.check(dst.getNumDataElements(), cs2.getNumComponents()); } catch (IllegalArgumentException e) { harness.check(false); } } } private void profileTest(TestHarness harness, ICC_Profile[] profiles) { harness.checkPoint("profile test, " + profiles[profiles.length-1].getClass().getName()); ColorConvertOp op = new ColorConvertOp(profiles, null); Raster src = Raster.createBandedRaster(DataBuffer.TYPE_INT, 25, 40, 5, new Point(5, 5)); try { Raster dst = op.createCompatibleDestRaster(src); harness.check(dst.getHeight(), src.getHeight()); harness.check(dst.getWidth(), src.getWidth()); // It appears we always use TYPE_BYTE regardless of the source raster harness.check(dst.getTransferType(), DataBuffer.TYPE_BYTE); harness.check(dst.getDataBuffer().getDataType(), DataBuffer.TYPE_BYTE); // GRAY is the exception with 1 band; all others have 3 if (profiles[profiles.length-1].getColorSpaceType() == ColorSpace.TYPE_GRAY) { harness.check(dst.getNumBands(), 1); harness.check(dst.getNumDataElements(), 1); } else { harness.check(dst.getNumBands(), 3); harness.check(dst.getNumDataElements(), 3); } } catch (IllegalArgumentException e) { harness.check(false); } // Try different numbers of bands in the source; the destination will // ignore this and always have ColorSpace.getNumComponents() bands // Essentially the dest raster will be identical to the case above, // regardless of number of source bands (which makes sense) for (int i = 1; i < 5; i++) { src = Raster.createBandedRaster(DataBuffer.TYPE_INT, 25, 40, i, new Point(5, 5)); try { Raster dst = op.createCompatibleDestRaster(src); harness.check(dst.getTransferType(), DataBuffer.TYPE_BYTE); harness.check(dst.getDataBuffer().getDataType(), DataBuffer.TYPE_BYTE); if (profiles[profiles.length-1].getColorSpaceType() == ColorSpace.TYPE_GRAY) { harness.check(dst.getNumBands(), 1); harness.check(dst.getNumDataElements(), 1); } else { harness.check(dst.getNumBands(), 3); harness.check(dst.getNumDataElements(), 3); } } catch (IllegalArgumentException e) { harness.check(false); } } } } mauve-20140821/gnu/testlet/java/awt/image/ColorConvertOp/getBounds2D.java0000644000175000001440000000363410470435140024725 0ustar dokousers/* getBounds2D.java -- some checks for the getBounds2D() method of the ColorConvertOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.image.ColorConvertOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Point; import java.awt.color.ColorSpace; import java.awt.image.ColorConvertOp; import java.awt.image.DataBuffer; import java.awt.image.Raster; import java.awt.image.WritableRaster; /** * Checks the getBounds2D method in the * {@link ColorConvertOp} class. */ public class getBounds2D implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("getBounds2D"); // This is a simple test; the Op should not change the // dimensions of the raster WritableRaster src = Raster.createBandedRaster(DataBuffer.TYPE_INT, 5, 5, 1, new Point(0,0)); ColorConvertOp op = new ColorConvertOp(ColorSpace.getInstance(ColorSpace.CS_sRGB), null); harness.check(op.getBounds2D(src), src.getBounds()); } } mauve-20140821/gnu/testlet/java/awt/image/AffineTransformOp/0000755000175000001440000000000012375316426022414 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/image/AffineTransformOp/constructors.java0000644000175000001440000000771510464432664026041 0ustar dokousers/* constructors.java -- some checks for the constructors in the AffineTransformOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.image.AffineTransformOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.RenderingHints; import java.awt.geom.AffineTransform; import java.awt.image.AffineTransformOp; import java.awt.image.ImagingOpException; /** * Some checks for the constructors in the {@link AffineTransformOp} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("(xform, interpolationType)"); // Simple test AffineTransform xform = new AffineTransform(); AffineTransformOp op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC); harness.check(op.getTransform(), xform); harness.check(op.getInterpolationType(), AffineTransformOp.TYPE_BICUBIC); harness.check(op.getRenderingHints(), new RenderingHints(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC)); op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BILINEAR); harness.check(op.getTransform(), xform); harness.check(op.getInterpolationType(), AffineTransformOp.TYPE_BILINEAR); harness.check(op.getRenderingHints(), new RenderingHints(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR)); op = new AffineTransformOp(xform, AffineTransformOp.TYPE_NEAREST_NEIGHBOR); harness.check(op.getTransform(), xform); harness.check(op.getInterpolationType(), AffineTransformOp.TYPE_NEAREST_NEIGHBOR); harness.check(op.getRenderingHints(), new RenderingHints(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR)); // Try creating with invalid transofrm xform = new AffineTransform(0, 0, 0, 0, 0, 0); try { new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC); harness.check(false); } catch (ImagingOpException e) { harness.check(true); } } public void testConstructor2(TestHarness harness) { harness.checkPoint("(xform, hints)"); // Simple test RenderingHints hints = new RenderingHints(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY); AffineTransform xform = new AffineTransform(); AffineTransformOp op = new AffineTransformOp(xform, hints); harness.check(op.getTransform(), xform); harness.check(op.getRenderingHints(), hints); // Try creating with invalid transofrm xform = new AffineTransform(0, 0, 0, 0, 0, 0); try { new AffineTransformOp(xform, hints); harness.check(false); } catch (ImagingOpException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/awt/image/AffineTransformOp/createCompatibleDestImage.java0000644000175000001440000001515410467170207030306 0ustar dokousers/* createCompatibleDestImage.java -- some checks for the createCompatibleDestImage() method of the AffineTransformOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.image.AffineTransformOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.color.ColorSpace; import java.awt.geom.AffineTransform; import java.awt.image.AffineTransformOp; import java.awt.image.BufferedImage; import java.awt.image.ColorModel; import java.awt.image.ComponentColorModel; import java.awt.image.DataBuffer; import java.awt.image.DirectColorModel; import java.awt.image.PixelInterleavedSampleModel; import java.awt.image.SinglePixelPackedSampleModel; /** * Checks for the createCompatibleDestImage method in the * {@link AffineTransformOp} class. */ public class createCompatibleDestImage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { simpleTest(harness); colorModelTest(harness); } private void simpleTest(TestHarness harness) { harness.checkPoint("createCompatibleDestImage"); // Simple test AffineTransform xform = new AffineTransform(); AffineTransformOp op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC); BufferedImage img = new BufferedImage(25, 40, BufferedImage.TYPE_INT_RGB); BufferedImage dest = op.createCompatibleDestImage(img, img.getColorModel()); harness.check(dest.getHeight(), 40); harness.check(dest.getWidth(), 25); harness.check(dest.getColorModel(), img.getColorModel()); // Try a different colour model img = new BufferedImage(25, 40, BufferedImage.TYPE_INT_RGB); DirectColorModel cm = new DirectColorModel(16, 0x0f00, 0x00f0, 0x000f); dest = op.createCompatibleDestImage(img, cm); harness.check(dest.getHeight(), 40); harness.check(dest.getWidth(), 25); harness.check(dest.getColorModel(), cm); } // Test all the default color models private void colorModelTest(TestHarness harness) { AffineTransform xform = new AffineTransform(); AffineTransformOp op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC); int[] types = {BufferedImage.TYPE_INT_RGB, BufferedImage.TYPE_INT_ARGB, BufferedImage.TYPE_INT_ARGB_PRE, BufferedImage.TYPE_3BYTE_BGR, BufferedImage.TYPE_4BYTE_ABGR, BufferedImage.TYPE_4BYTE_ABGR_PRE, BufferedImage.TYPE_USHORT_565_RGB, BufferedImage.TYPE_USHORT_555_RGB, BufferedImage.TYPE_BYTE_GRAY, BufferedImage.TYPE_USHORT_GRAY}; // Skipped types that are not implemented yet: // TYPE_CUSTOM, TYPE_INT_BGR, TYPE_BYTE_BINARY, TYPE_BYTE_INDEXED for (int i = 0; i < types.length; i++) { int type = types[i]; harness.checkPoint("type: " + type); BufferedImage img = new BufferedImage(25, 40, type); BufferedImage dest = op.createCompatibleDestImage(img, null); dest = op.createCompatibleDestImage(img, null); harness.check(dest.getColorModel().isCompatibleSampleModel(dest.getSampleModel())); // This ensures that we have the same defaults as the reference implementation switch (type) { case BufferedImage.TYPE_INT_RGB: case BufferedImage.TYPE_INT_ARGB: case BufferedImage.TYPE_INT_ARGB_PRE: case BufferedImage.TYPE_3BYTE_BGR: case BufferedImage.TYPE_USHORT_565_RGB: case BufferedImage.TYPE_USHORT_555_RGB: case BufferedImage.TYPE_BYTE_GRAY: case BufferedImage.TYPE_USHORT_GRAY: if (type == BufferedImage.TYPE_INT_ARGB_PRE) harness.check(dest.getType(), BufferedImage.TYPE_INT_ARGB_PRE); else harness.check(dest.getType(), BufferedImage.TYPE_INT_ARGB); harness.check(dest.getColorModel() instanceof DirectColorModel); harness.check(dest.getSampleModel() instanceof SinglePixelPackedSampleModel); harness.check(dest.getColorModel().getPixelSize(), 32); harness.check(dest.getColorModel().getNumComponents(), 4); harness.check(dest.getColorModel().getTransparency(), ColorModel.TRANSLUCENT); harness.check(dest.getColorModel().hasAlpha(), true); harness.check(dest.getColorModel().getTransferType(), DataBuffer.TYPE_INT); harness.check(dest.getColorModel().isAlphaPremultiplied(), (type == BufferedImage.TYPE_INT_ARGB_PRE)); harness.check(dest.getColorModel().getColorSpace().getType(), ColorSpace.TYPE_RGB); harness.check(dest.getRaster().getNumBands(), 4); harness.check(dest.getRaster().getNumDataElements(), 1); break; case BufferedImage.TYPE_4BYTE_ABGR: case BufferedImage.TYPE_4BYTE_ABGR_PRE: harness.check(dest.getColorModel() instanceof ComponentColorModel); harness.check(dest.getSampleModel() instanceof PixelInterleavedSampleModel); harness.check(dest.getColorModel().getPixelSize(), 32); harness.check(dest.getColorModel().getNumComponents(), 4); harness.check(dest.getColorModel().getTransparency(), ColorModel.TRANSLUCENT); harness.check(dest.getColorModel().hasAlpha(), true); harness.check(dest.getColorModel().getTransferType(), DataBuffer.TYPE_BYTE); harness.check(dest.getColorModel().isAlphaPremultiplied(), (type == BufferedImage.TYPE_4BYTE_ABGR_PRE)); harness.check(dest.getColorModel().getColorSpace().getType(), ColorSpace.TYPE_RGB); harness.check(dest.getRaster().getNumBands(), 4); harness.check(dest.getRaster().getNumDataElements(), 4); break; } } } } mauve-20140821/gnu/testlet/java/awt/image/AffineTransformOp/getPoint2D.java0000644000175000001440000001102310467170207025226 0ustar dokousers/* getPoint2D.java -- some checks for the getPoint2D() method of the AffineTransformOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.image.AffineTransformOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.AffineTransform; import java.awt.geom.Point2D; import java.awt.image.AffineTransformOp; /** * Checks the getPoint2D method in the * {@link AffineTransformOp} class. */ public class getPoint2D implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testIdentity(harness); testRotation(harness); testScale(harness); testShear(harness); testTranslation(harness); } private void testIdentity(TestHarness harness) { harness.checkPoint("testIdentity"); AffineTransform xform = new AffineTransform(); AffineTransformOp op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC); harness.check(op.getPoint2D(new Point2D.Double(5, 5), null), new Point2D.Double(5,5)); Point2D pt = null; Point2D pt2 = op.getPoint2D(new Point2D.Double(10,-5), pt); harness.check(pt, null); // this is what the ref impl does... harness.check(pt2, new Point2D.Double(10, -5)); pt = new Point2D.Double(0,0); pt2 = op.getPoint2D(new Point2D.Double(10,-5), pt); harness.check(pt, new Point2D.Double(10, -5)); harness.check(pt, pt2); pt = new Point2D.Float(0,0); op.getPoint2D(new Point2D.Float(-10,-5), pt); harness.check(pt, new Point2D.Float(-10, -5)); } private void testRotation(TestHarness harness) { harness.checkPoint("testRotation"); AffineTransform xform = AffineTransform.getRotateInstance(Math.PI / 2); AffineTransformOp op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC); harness.check(op.getPoint2D(new Point2D.Double(5, 5), null), new Point2D.Double(-5,5)); // Do it again, but result in a diamond (not another level rectangle) xform.rotate(Math.PI / 3); op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC); harness.check(op.getPoint2D(new Point2D.Double(5, 5), null), new Point2D.Double(-6.830127018922193, -1.8301270189221923)); // Rotation about a point xform.setToIdentity(); xform.rotate(Math.PI / 2, 10, 2); op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC); harness.check(op.getPoint2D(new Point2D.Double(5, 5), null), new Point2D.Double(7,-3)); } private void testScale(TestHarness harness) { harness.checkPoint("testScale"); AffineTransform xform = AffineTransform.getScaleInstance(1.0, 1.0); AffineTransformOp op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC); harness.check(op.getPoint2D(new Point2D.Double(5, 5), null), new Point2D.Double(5, 5)); xform.scale(2.5, 4.75); op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC); harness.check(op.getPoint2D(new Point2D.Double(5, 5), null), new Point2D.Double(12.5,23.75)); } private void testShear(TestHarness harness) { harness.checkPoint("testShear"); AffineTransform xform = AffineTransform.getShearInstance(1.5, 3.25); AffineTransformOp op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC); harness.check(op.getPoint2D(new Point2D.Double(5, 5), null), new Point2D.Double(12.5,21.25)); } private void testTranslation(TestHarness harness) { harness.checkPoint("testTranslation"); AffineTransform xform = AffineTransform.getTranslateInstance(75, 50); AffineTransformOp op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC); harness.check(op.getPoint2D(new Point2D.Double(5, 5), null), new Point2D.Double(80,55)); } } mauve-20140821/gnu/testlet/java/awt/image/AffineTransformOp/filterRaster.java0000644000175000001440000000726610467170207025733 0ustar dokousers/* filterRaster.java -- some checks for the filter(Raster) method of the AffineTransformOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.image.AffineTransformOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Graphics2D; import java.awt.geom.AffineTransform; import java.awt.geom.Line2D; import java.awt.image.AffineTransformOp; import java.awt.image.BufferedImage; import java.awt.image.ImagingOpException; import java.awt.image.WritableRaster; /** * Checks the filter(BufferedImage) method in the {@link AffineTransformOp} class. */ public class filterRaster implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testDefaults(harness, AffineTransformOp.TYPE_BILINEAR); testDefaults(harness, AffineTransformOp.TYPE_BICUBIC); testDefaults(harness, AffineTransformOp.TYPE_NEAREST_NEIGHBOR); // Should write a test to ensure that the filter can actually be applied // properly. Since interpolation comes into play, however, I don't know // of a good way to test it, as our filtered image will be different // from the reference implementation's... } private void testDefaults(TestHarness harness, int type) { // Create a raster to work on based on an image BufferedImage img = new BufferedImage(20, 20, BufferedImage.TYPE_USHORT_GRAY); Graphics2D g = (Graphics2D)img.getGraphics(); g.draw(new Line2D.Double(0, 0, 20, 20)); WritableRaster src = img.getRaster(); AffineTransform xform = new AffineTransform(); AffineTransformOp op = new AffineTransformOp(xform, type); // Make sure it works in the first place WritableRaster dest = src.createCompatibleWritableRaster(); try { op.filter(src, dest); harness.check(true); } catch (IllegalArgumentException e) { harness.check(false); } // Src and dst cannot be the same try { op.filter(src, src); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } /* * This is not allowed on the ref impl, but it can't hurt to allow it * here... * // Different type of raster (not allowed) dest = Raster.createBandedRaster(DataBuffer.TYPE_USHORT, 20, 20, 1, new Point(0,0)); try { op.filter(src, dest); harness.check(false); } catch (ImagingOpException e) { harness.check(true); } */ // Different size (allowed) dest = src.createCompatibleWritableRaster(75, 87); try { op.filter(src, dest); harness.check(true); } catch (ImagingOpException e) { harness.check(false); } // Null destination (allowed - will create one for us) WritableRaster dest2 = op.filter(src, null); harness.check(dest2 != null); } } mauve-20140821/gnu/testlet/java/awt/image/AffineTransformOp/filterImage.java0000644000175000001440000000666510467170207025517 0ustar dokousers/* filterImage.java -- some checks for the filter(Image) method of the AffineTransformOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.image.AffineTransformOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Graphics2D; import java.awt.geom.AffineTransform; import java.awt.geom.Line2D; import java.awt.image.AffineTransformOp; import java.awt.image.BufferedImage; /** * Checks the filter(BufferedImage) method in the {@link AffineTransformOp} class. */ public class filterImage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testDefaults(harness); // Should write a test to ensure that the filter can actually be applied // properly. Since interpolation comes into play, however, I don't know // of a good way to test it, as our filtered image will be different // from the reference implementation's... } private void testDefaults(TestHarness harness) { // Create an image to work on BufferedImage img = new BufferedImage(20, 20, BufferedImage.TYPE_USHORT_GRAY); Graphics2D g = (Graphics2D)img.getGraphics(); g.draw(new Line2D.Double(0, 0, 20, 20)); AffineTransform xform = new AffineTransform(); AffineTransformOp op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC); // Src and dst images cannot be the same try { op.filter(img, img); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // Src and dst are different sizes (allowed) BufferedImage dst = new BufferedImage(30, 40, BufferedImage.TYPE_USHORT_GRAY); try { op.filter(img, dst); harness.check(true); } catch (IllegalArgumentException e) { harness.check(false); } // Src and dst have different tpyes (allowed) dst = new BufferedImage(20, 20, BufferedImage.TYPE_INT_ARGB); try { op.filter(img, dst); harness.check(true); } catch (IllegalArgumentException e) { harness.check(false); } // Src and dst are different sizes AND different types (not allowed) /* * Fails on the ref impl... * dst = new BufferedImage(30, 40, BufferedImage.TYPE_INT_ARGB); try { op.filter(img, dst); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } */ // Checks the destination image type dst = op.filter(img, null); harness.check(dst.getType(), op.createCompatibleDestImage(img, null).getType()); } } mauve-20140821/gnu/testlet/java/awt/image/AffineTransformOp/createCompatibleDestRaster.java0000644000175000001440000000675010467170207030526 0ustar dokousers/* createCompatibleDestRaster.java -- some checks for the createCompatibleDestRaster() method of the AffineTransformOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.image.AffineTransformOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Point; import java.awt.geom.AffineTransform; import java.awt.image.AffineTransformOp; import java.awt.image.DataBuffer; import java.awt.image.Raster; /** * Checks for the createCompatibleDestRaster method in the * {@link AffineTransformOp} class. */ public class createCompatibleDestRaster implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("createCompatibleDestRaster"); // Simple test Raster src = Raster.createBandedRaster(DataBuffer.TYPE_INT, 25, 40, 3, new Point(5, 5)); AffineTransform xform = new AffineTransform(); AffineTransformOp op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BILINEAR); try { Raster dst = op.createCompatibleDestRaster(src); harness.check(dst.getHeight(), src.getHeight()); harness.check(dst.getWidth(), src.getWidth()); harness.check(dst.getNumBands(), src.getNumBands()); harness.check(dst.getTransferType(), src.getTransferType()); harness.check(dst.getDataBuffer().getDataType(), src.getDataBuffer().getDataType()); harness.check(dst.getNumDataElements(), src.getNumDataElements()); } catch (IllegalArgumentException e) { harness.check(false); } // Try a different type src = Raster.createBandedRaster(DataBuffer.TYPE_BYTE, 25, 40, 3, new Point(5, 5)); try { Raster dst = op.createCompatibleDestRaster(src); harness.check(dst.getNumBands(), src.getNumBands()); harness.check(dst.getTransferType(), src.getTransferType()); harness.check(dst.getDataBuffer().getDataType(), src.getDataBuffer().getDataType()); harness.check(dst.getNumDataElements(), src.getNumDataElements()); } catch (IllegalArgumentException e) { harness.check(false); } // Try a different number of bands src = Raster.createBandedRaster(DataBuffer.TYPE_INT, 25, 40, 5, new Point(5, 5)); try { Raster dst = op.createCompatibleDestRaster(src); harness.check(dst.getNumBands(), src.getNumBands()); harness.check(dst.getTransferType(), src.getTransferType()); harness.check(dst.getDataBuffer().getDataType(), src.getDataBuffer().getDataType()); harness.check(dst.getNumDataElements(), src.getNumDataElements()); } catch (IllegalArgumentException e) { harness.check(false); } } } mauve-20140821/gnu/testlet/java/awt/image/AffineTransformOp/getBounds2D.java0000644000175000001440000001077710464432664025413 0ustar dokousers/* getBounds2D.java -- some checks for the getBounds2D() method of the AffineTransformOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.image.AffineTransformOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.AffineTransform; import java.awt.geom.Rectangle2D; import java.awt.image.AffineTransformOp; import java.awt.image.BufferedImage; /** * Checks the getBounds2D method in the * {@link AffineTransformOp} class. */ public class getBounds2D implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testIdentity(harness); testRotation(harness); testScale(harness); testShear(harness); testTranslation(harness); } private void testIdentity(TestHarness harness) { harness.checkPoint("testIdentity"); AffineTransform xform = new AffineTransform(); AffineTransformOp op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC); BufferedImage img = new BufferedImage(30, 40, BufferedImage.TYPE_INT_RGB); harness.check(op.getBounds2D(img), new Rectangle2D.Float(0, 0, 30, 40)); } private void testRotation(TestHarness harness) { harness.checkPoint("testRotation"); AffineTransform xform = AffineTransform.getRotateInstance(Math.PI / 2); AffineTransformOp op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC); BufferedImage img = new BufferedImage(30, 40, BufferedImage.TYPE_INT_RGB); harness.check(op.getBounds2D(img), new Rectangle2D.Float(-40, 0, 40, 30)); // Do it again, but result in a diamond (not another level rectangle) xform.rotate(Math.PI / 3); op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC); harness.check(op.getBounds2D(img), new Rectangle2D.Float(-45.980762f, -34.641018f, 45.980762f, 49.641018f)); // Rotation about a point xform.setToIdentity(); xform.rotate(Math.PI / 2, 10, 15); op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC); harness.check(op.getBounds2D(img), new Rectangle2D.Float(-15, 5, 40, 30)); } private void testScale(TestHarness harness) { harness.checkPoint("testScale"); AffineTransform xform = AffineTransform.getScaleInstance(1.0, 1.0); BufferedImage img = new BufferedImage(30, 40, BufferedImage.TYPE_INT_RGB); AffineTransformOp op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC); harness.check(op.getBounds2D(img), new Rectangle2D.Float(0, 0, 30, 40)); xform.scale(2.5, 4.75); op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC); harness.check(op.getBounds2D(img), new Rectangle2D.Float(0, 0, 75, 190)); } private void testShear(TestHarness harness) { harness.checkPoint("testHarness"); AffineTransform xform = AffineTransform.getShearInstance(1.5, 3.25); BufferedImage img = new BufferedImage(30, 40, BufferedImage.TYPE_INT_RGB); AffineTransformOp op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC); harness.check(op.getBounds2D(img), new Rectangle2D.Float(0, 0, 90, 137.5f)); } private void testTranslation(TestHarness harness) { harness.checkPoint("testTranslation"); AffineTransform xform = AffineTransform.getTranslateInstance(75, 50); BufferedImage img = new BufferedImage(30, 40, BufferedImage.TYPE_INT_RGB); AffineTransformOp op = new AffineTransformOp(xform, AffineTransformOp.TYPE_BICUBIC); harness.check(op.getBounds2D(img), new Rectangle2D.Float(75, 50, 30, 40)); } } mauve-20140821/gnu/testlet/java/awt/image/LookupTable/0000755000175000001440000000000012375316426021252 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/image/LookupTable/MyLookupTable.java0000644000175000001440000000217510457254524024650 0ustar dokousers/* MyLookupTable.java -- a utility class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.java.awt.image.LookupTable; import java.awt.image.LookupTable; public class MyLookupTable extends LookupTable { public MyLookupTable(int offset, int numComponents) { super(offset, numComponents); } public int[] lookupPixel(int[] src, int[] dest) { return null; } } mauve-20140821/gnu/testlet/java/awt/image/LookupTable/getOffset.java0000644000175000001440000000230510457211307024032 0ustar dokousers/* getOffset.java -- some checks for the getOffset() method in the LookupTable class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.LookupTable; import gnu.testlet.TestHarness; import java.awt.image.ByteLookupTable; public class getOffset { public void test(TestHarness harness) { ByteLookupTable t = new ByteLookupTable(99, new byte[] {(byte) 0xAA, (byte) 0xBB}); harness.check(t.getOffset(), 99); } } mauve-20140821/gnu/testlet/java/awt/image/LookupTable/constructor.java0000644000175000001440000000322111015027423024462 0ustar dokousers/* constructors.java -- some checks for the constructor in the LookupTable class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 // Uses: MyLookupTable package gnu.testlet.java.awt.image.LookupTable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.LookupTable; public class constructor implements Testlet { public void test(TestHarness harness) { LookupTable t = new MyLookupTable(1, 2); harness.check(t.getOffset(), 1); harness.check(t.getNumComponents(), 2); // try negative offset boolean pass = false; try { t = new MyLookupTable(-1, 2); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try zero components pass = false; try { t = new MyLookupTable(1, 0); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/LookupTable/getNumComponents.java0000644000175000001440000000241410457211307025412 0ustar dokousers/* getNumComponents.java -- some checks for the getNumComponents() method in the LookupTable class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.LookupTable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ByteLookupTable; public class getNumComponents implements Testlet { public void test(TestHarness harness) { ByteLookupTable t = new ByteLookupTable(0, new byte[] {(byte) 0xAA, (byte) 0xBB}); harness.check(t.getNumComponents(), 1); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferFloat/0000755000175000001440000000000012375316426022022 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/image/DataBufferFloat/constructors.java0000644000175000001440000001541210123067120025417 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.DataBufferFloat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.DataBufferFloat; /** * Some tests for the constructors in the {@link DataBufferFloat} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); testConstructor6(harness); } private void testConstructor1(TestHarness harness) { harness.checkPoint("DataBufferFloat(int)"); DataBufferFloat b1 = new DataBufferFloat(1); harness.check(b1.getDataType() == DataBuffer.TYPE_FLOAT); harness.check(b1.getSize() == 1); harness.check(b1.getNumBanks() == 1); harness.check(b1.getOffset() == 0); DataBufferFloat b2 = new DataBufferFloat(0); harness.check(b2.getSize() == 0); harness.check(b2.getNumBanks() == 1); harness.check(b2.getOffset() == 0); boolean pass = false; try { DataBufferFloat b3 = new DataBufferFloat(-1); } catch (NegativeArraySizeException e) { pass = true; } harness.check(pass); } private void testConstructor2(TestHarness harness) { harness.checkPoint("DataBufferFloat(float[][], int)"); float[][] source = new float[][] {{1.0f, 2.0f}}; DataBufferFloat b = new DataBufferFloat(source, 1); harness.check(b.getSize() == 1); harness.check(b.getNumBanks() == 1); harness.check(b.getOffset() == 0); // does a change to the source array affect the buffer? yes float[][] banks = b.getBankData(); harness.check(banks[0][0] == 1.0f); source[0][0] = 3.0f; harness.check(banks[0][0] == 3.0f); // check null source boolean pass = false; try { DataBufferFloat b1 = new DataBufferFloat((float[][]) null, 1); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check negative size DataBufferFloat b1 = new DataBufferFloat(source, -1); harness.check(b1.getSize() == -1); } private void testConstructor3(TestHarness harness) { harness.checkPoint("DataBufferFloat(float[][], int, int[])"); float[][] source = new float[][] {{1, 2}}; DataBufferFloat b = new DataBufferFloat(source, 1, new int[] {0}); harness.check(b.getSize() == 1); harness.check(b.getNumBanks() == 1); harness.check(b.getOffset() == 0); // test where offsets are specified source = new float[][] {{1.0f, 2.0f, 3.0f}, {4.0f, 5.0f, 6.0f, 7.0f}}; b = new DataBufferFloat(source, 2, new int[] {0, 1}); harness.check(b.getSize() == 2); harness.check(b.getNumBanks() == 2); harness.check(b.getOffsets()[1] == 1); harness.check(b.getElem(1, 0) == 5); // check null source boolean pass = false; try { DataBufferFloat b1 = new DataBufferFloat((float[][]) null, 1, new int[] {0}); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check null offsets pass = false; try { DataBufferFloat b1 = new DataBufferFloat(new float[][]{{1.0f, 2.0f}}, 1, (int[]) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check source doesn't match offsets array pass = false; try { DataBufferFloat b2 = new DataBufferFloat(new float[][]{{1.0f, 2.0f}}, 1, new int[] {0, 0}); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testConstructor4(TestHarness harness) { harness.checkPoint("DataBufferFloat(float[], int)"); DataBufferFloat b = new DataBufferFloat(new float[] {1, 2}, 2); harness.check(b.getSize() == 2); harness.check(b.getNumBanks() == 1); harness.check(b.getOffset() == 0); boolean pass = false; try { // this constructor doesn't throw an exception until you // try to access the (null) data bank DataBufferFloat b1 = new DataBufferFloat((float[]) null, 1); int ignore = b1.getElem(0); } catch (NullPointerException e) { pass = true; } harness.check(pass); } private void testConstructor5(TestHarness harness) { harness.checkPoint("DataBufferFloat(float[], int, int)"); DataBufferFloat b = new DataBufferFloat(new float[] {1, 2}, 2, 0); harness.check(b.getSize() == 2); harness.check(b.getNumBanks() == 1); harness.check(b.getOffset() == 0); boolean pass = false; try { // this constructor doesn't throw an exception until you // try to access the (null) data bank DataBufferFloat b1 = new DataBufferFloat((float[]) null, 1, 0); int ignore = b1.getElem(0); } catch (NullPointerException e) { pass = true; } harness.check(pass); // does negative size fail? no pass = true; try { DataBufferFloat b2 = new DataBufferFloat(new float[] {1, 2}, -1, 0); } catch (NegativeArraySizeException e) { pass = false; } harness.check(pass); } private void testConstructor6(TestHarness harness) { harness.checkPoint("DataBufferFloat(int, int)"); DataBufferFloat b = new DataBufferFloat(2, 3); harness.check(b.getNumBanks() == 3); harness.check(b.getSize() == 2); harness.check(b.getOffset() == 0); // does negative size fail? yes boolean pass = false; try { DataBufferFloat b1 = new DataBufferFloat(-1, 1); } catch (NegativeArraySizeException e) { pass = true; } harness.check(pass); // does negative banks fail? yes pass = false; try { DataBufferFloat b1 = new DataBufferFloat(1, -1); } catch (NegativeArraySizeException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferFloat/getBankData.java0000644000175000001440000000510110123067120025006 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.DataBufferFloat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBufferFloat; import java.util.Arrays; /** * Some tests for the getBankData() method in the {@link DataBufferFloat} class. */ public class getBankData implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // check that array updates pass through float[][] data = new float[][] {{1, 2}}; DataBufferFloat b = new DataBufferFloat(data, 2); float[][] banks = b.getBankData(); harness.check(Arrays.equals(b.getBankData(), data)); data[0][0] = 3; harness.check(banks[0][0] == 3); // test where supplied array is bigger than 'size' data = new float[][] {{1, 2, 3}}; b = new DataBufferFloat(data, 2); banks = b.getBankData(); harness.check(Arrays.equals(b.getBankData(), data)); // test where offsets are specified data = new float[][] {{1, 2, 3}, {4, 5, 6, 7}}; b = new DataBufferFloat(data, 2, new int[] {0, 1}); banks = b.getBankData(); harness.check(Arrays.equals(b.getBankData(), data)); // check that a single bank buffer returns a valid array DataBufferFloat b2 = new DataBufferFloat(new float[] {1, 2}, 2); banks = b2.getBankData(); harness.check(banks.length == 1); harness.check(banks[0][0] == 1); harness.check(banks[0][1] == 2); // check that a multi bank buffer returns a valid array DataBufferFloat b3 = new DataBufferFloat(new float[][] {{1}, {2}}, 1); banks = b3.getBankData(); harness.check(banks.length == 2); harness.check(banks[0][0] == 1); harness.check(banks[1][0] == 2); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferFloat/getDataType.java0000644000175000001440000000233710113612543025070 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.DataBufferFloat; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.image.DataBuffer; import java.awt.image.DataBufferFloat; /** * @author Sascha Brawer */ public class getDataType implements Testlet { public void test(TestHarness h) { // Check #1. h.check(new DataBufferFloat(5).getDataType(), DataBuffer.TYPE_FLOAT); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferFloat/setElem.java0000644000175000001440000000564710123067120024256 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.DataBufferFloat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBufferFloat; /** * Some tests for the setElem() methods in the {@link DataBufferFloat} class. */ public class setElem implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testSetElem1(harness); testSetElem2(harness); } private void testSetElem1(TestHarness harness) { harness.checkPoint("setElem(int, int)"); float[] source = new float[] {1, 2}; DataBufferFloat b = new DataBufferFloat(source, 2); b.setElem(1, 99); harness.check(b.getElem(1) == 99); // does the source array get updated? Yes harness.check(source[1] == 99); // test with offsets source = new float[] {1, 2, 3, 4, 5}; b = new DataBufferFloat(source, 4, 1); harness.check(b.getElem(1) == 3); b.setElem(1, 99); harness.check(b.getElem(1) == 99); harness.check(source[2] == 99); boolean pass = false; try { b.setElem(-2, 99); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.setElem(4, 99); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testSetElem2(TestHarness harness) { harness.checkPoint("setElem(int, int, int)"); float[][] source = new float[][] {{1, 2}, {3, 4}}; DataBufferFloat b = new DataBufferFloat(source, 2); b.setElem(1, 1, 99); harness.check(b.getElem(1, 1) == 99); // does the source array get updated? harness.check(source[1][1] == 99); boolean pass = false; try { b.setElem(-1, 1, 99); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.setElem(2, 1, 99); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferFloat/getData.java0000644000175000001440000000747310123067120024230 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.DataBufferFloat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBufferFloat; /** * Some tests for the geData() methods in the {@link DataBufferFloat} class. */ public class getData implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testGetData1(harness); testGetData2(harness); } private void testGetData1(TestHarness harness) { harness.checkPoint("getData()"); // check simple case float[] source = new float[] {1, 2}; DataBufferFloat b = new DataBufferFloat(source, 2); float[] data = b.getData(); harness.check(data.length == 2); harness.check(data[0] == 1); harness.check(data[1] == 2); // test where supplied array is bigger than 'size' source = new float[] {1, 2, 3}; b = new DataBufferFloat(source, 2); data = b.getData(); harness.check(data.length == 3); harness.check(data[0] == 1); harness.check(data[1] == 2); harness.check(data[2] == 3); // test where offsets are specified source = new float[] {1, 2, 3, 4}; b = new DataBufferFloat(source, 2, 1); data = b.getData(); harness.check(data.length == 4); harness.check(data[0] == 1); harness.check(data[1] == 2); harness.check(data[2] == 3); harness.check(data[3] == 4); // does a change to the source affect the DataBuffer? Yes source[2] = 99; harness.check(data[2] == 99); } private void testGetData2(TestHarness harness) { harness.checkPoint("getData(int)"); float[][] source = new float[][] {{1, 2}, {3, 4}}; DataBufferFloat b = new DataBufferFloat(source, 2); float[] data = b.getData(1); harness.check(data.length == 2); harness.check(data[0] == 3); harness.check(data[1] == 4); // test where supplied array is bigger than 'size' source = new float[][] {{1, 2, 3}, {4, 5, 6}}; b = new DataBufferFloat(source, 2); data = b.getData(1); harness.check(data.length == 3); harness.check(data[0] == 4); harness.check(data[1] == 5); harness.check(data[2] == 6); // test where offsets are specified source = new float[][] {{1, 2, 3, 4}, {5, 6, 7, 8}}; b = new DataBufferFloat(source, 2, new int[] {1, 2}); data = b.getData(1); harness.check(data.length == 4); harness.check(data[0] == 5); harness.check(data[1] == 6); harness.check(data[2] == 7); harness.check(data[3] == 8); // does a change to the source affect the DataBuffer? Yes source[1][2] = 99; harness.check(data[2] == 99); // check bounds exceptions boolean pass = true; try { b.getData(-1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.getData(2); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferFloat/getElem.java0000644000175000001440000001164610123067120024236 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.DataBufferFloat; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.image.DataBuffer; import java.awt.image.DataBufferFloat; /** * @author Sascha Brawer */ public class getElem implements Testlet { public void test(TestHarness h) { DataBuffer buf; float[] data = new float[] { 1.1f, -2.2f, 3.3f, -4.4f }; buf = new DataBufferFloat(new float[][] { data, data }, 2, new int[] { 2, 0 }); h.check(buf.getElem(0), 3); // Check #1. h.check(buf.getElem(1), -4); // Check #2. h.check(buf.getElem(0, 0), 3); // Check #3. h.check(buf.getElem(0, 1), -4); // Check #4. h.check(buf.getElem(1, 0), 1); // Check #5. h.check(buf.getElem(1, 1), -2); // Check #6. // new tests added by David Gilbert testGetElem1(h); testGetElem2(h); } private void testGetElem1(TestHarness harness) { harness.checkPoint("getElem(int)"); // test where supplied array is bigger than 'size' float[] source = new float[] {1, 2, 3}; DataBufferFloat b = new DataBufferFloat(source, 2); harness.check(b.getElem(0) == 1); harness.check(b.getElem(1) == 2); harness.check(b.getElem(2) == 3); boolean pass = false; try { b.getElem(-1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.getElem(3); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // test where offsets are specified source = new float[] {1, 2, 3, 4}; b = new DataBufferFloat(source, 2, 1); harness.check(b.getElem(-1) == 1); harness.check(b.getElem(0) == 2); harness.check(b.getElem(1) == 3); harness.check(b.getElem(2) == 4); pass = false; try { b.getElem(3); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.getElem(-2); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testGetElem2(TestHarness harness) { harness.checkPoint("getElem(int, int)"); float[][] source = new float[][] {{1, 2}, {3, 4}}; DataBufferFloat b = new DataBufferFloat(source, 2); harness.check(b.getElem(1, 0) == 3); harness.check(b.getElem(1, 1) == 4); // test where supplied array is bigger than 'size' source = new float[][] {{1, 2, 3}, {4, 5, 6}}; b = new DataBufferFloat(source, 2); harness.check(b.getElem(1, 2) == 6); // test where offsets are specified source = new float[][] {{1, 2, 3, 4}, {5, 6, 7, 8}}; b = new DataBufferFloat(source, 2, new int[] {1, 2}); harness.check(b.getElem(1, -2) == 5); harness.check(b.getElem(1, -1) == 6); harness.check(b.getElem(1, 0) == 7); harness.check(b.getElem(1, 1) == 8); // does a change to the source affect the DataBuffer? Yes source[1][2] = 99; harness.check(source[1][2] == 99); harness.check(b.getElem(1, 0) == 99); // test when the bank index is out of bounds boolean pass = true; try { b.getElem(-1, 0); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.getElem(2, 0); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // test when the item index is out of bounds pass = true; try { b.getElem(0, -2); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.getElem(1, 5); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // the array of arrays should reflect the single dimension array DataBufferFloat b2 = new DataBufferFloat(new float[] {1, 2, 3}, 3); harness.check(b2.getElem(0, 1) == 2); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferByte/0000755000175000001440000000000012375316426021660 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/image/DataBufferByte/constructors.java0000644000175000001440000001530710123067120025260 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.DataBufferByte; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.DataBufferByte; /** * Some tests for the constructors in the {@link DataBufferByte} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); testConstructor6(harness); } private void testConstructor1(TestHarness harness) { harness.checkPoint("DataBufferByte(int)"); DataBufferByte b1 = new DataBufferByte(1); harness.check(b1.getDataType() == DataBuffer.TYPE_BYTE); harness.check(b1.getSize() == 1); harness.check(b1.getNumBanks() == 1); harness.check(b1.getOffset() == 0); DataBufferByte b2 = new DataBufferByte(0); harness.check(b2.getSize() == 0); harness.check(b2.getNumBanks() == 1); harness.check(b2.getOffset() == 0); boolean pass = false; try { DataBufferByte b3 = new DataBufferByte(-1); } catch (NegativeArraySizeException e) { pass = true; } harness.check(pass); } private void testConstructor2(TestHarness harness) { harness.checkPoint("DataBufferByte(byte[][], int)"); byte[][] source = new byte[][] {{1, 2}}; DataBufferByte b = new DataBufferByte(source, 1); harness.check(b.getSize() == 1); harness.check(b.getNumBanks() == 1); harness.check(b.getOffset() == 0); // does a change to the source array affect the buffer? yes byte[][] banks = b.getBankData(); harness.check(banks[0][0] == 1); source[0][0] = 3; harness.check(banks[0][0] == 3); // check null source boolean pass = false; try { DataBufferByte b1 = new DataBufferByte((byte[][]) null, 1); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check negative size DataBufferByte b1 = new DataBufferByte(source, -1); harness.check(b1.getSize() == -1); } private void testConstructor3(TestHarness harness) { harness.checkPoint("DataBufferByte(byte[][], int, int[])"); byte[][] source = new byte[][] {{1, 2}}; DataBufferByte b = new DataBufferByte(source, 1, new int[] {0}); harness.check(b.getSize() == 1); harness.check(b.getNumBanks() == 1); harness.check(b.getOffset() == 0); // test where offsets are specified source = new byte[][] {{1, 2, 3}, {4, 5, 6, 7}}; b = new DataBufferByte(source, 2, new int[] {0, 1}); harness.check(b.getSize() == 2); harness.check(b.getNumBanks() == 2); harness.check(b.getOffsets()[1] == 1); harness.check(b.getElem(1, 0) == 5); // check null source boolean pass = false; try { DataBufferByte b1 = new DataBufferByte((byte[][]) null, 1, new int[] {0}); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check null offsets pass = false; try { DataBufferByte b1 = new DataBufferByte(new byte[][]{{1, 2}}, 1, (int[]) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check source doesn't match offsets array pass = false; try { DataBufferByte b2 = new DataBufferByte(new byte[][]{{1, 2}}, 1, new int[] {0, 0}); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testConstructor4(TestHarness harness) { harness.checkPoint("DataBufferByte(byte[], int)"); DataBufferByte b = new DataBufferByte(new byte[] {1, 2}, 2); harness.check(b.getSize() == 2); harness.check(b.getNumBanks() == 1); harness.check(b.getOffset() == 0); // check null source boolean pass = false; try { // this constructor doesn't throw an exception until you // try to access the (null) data bank DataBufferByte b1 = new DataBufferByte((byte[]) null, 1); int ignore = b1.getElem(0); } catch (NullPointerException e) { pass = true; } harness.check(pass); } private void testConstructor5(TestHarness harness) { harness.checkPoint("DataBufferByte(byte[], int, int)"); DataBufferByte b = new DataBufferByte(new byte[] {1, 2}, 2, 0); harness.check(b.getSize() == 2); harness.check(b.getNumBanks() == 1); harness.check(b.getOffset() == 0); boolean pass = false; try { // this constructor doesn't throw an exception until you // try to access the (null) data bank DataBufferByte b1 = new DataBufferByte((byte[]) null, 1, 0); int ignore = b1.getElem(0); } catch (NullPointerException e) { pass = true; } harness.check(pass); // does negative size fail? no pass = true; try { DataBufferByte b2 = new DataBufferByte(new byte[] {1, 2}, -1, 0); } catch (NegativeArraySizeException e) { pass = false; } harness.check(pass); } private void testConstructor6(TestHarness harness) { harness.checkPoint("DataBufferByte(int, int)"); DataBufferByte b = new DataBufferByte(2, 3); harness.check(b.getNumBanks() == 3); harness.check(b.getSize() == 2); harness.check(b.getOffset() == 0); // does negative size fail? yes boolean pass = false; try { DataBufferByte b1 = new DataBufferByte(-1, 1); } catch (NegativeArraySizeException e) { pass = true; } harness.check(pass); // does negative banks fail? yes pass = false; try { DataBufferByte b1 = new DataBufferByte(1, -1); } catch (NegativeArraySizeException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferByte/getBankData.java0000644000175000001440000000505510123067120024654 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.DataBufferByte; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBufferByte; import java.util.Arrays; /** * Some tests for the getBankData() method in the {@link DataBufferByte} class. */ public class getBankData implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // check that array updates pass through byte[][] data = new byte[][] {{1, 2}}; DataBufferByte b = new DataBufferByte(data, 2); byte[][] banks = b.getBankData(); harness.check(Arrays.equals(b.getBankData(), data)); data[0][0] = 3; harness.check(banks[0][0] == 3); // test where supplied array is bigger than 'size' data = new byte[][] {{1, 2, 3}}; b = new DataBufferByte(data, 2); banks = b.getBankData(); harness.check(Arrays.equals(b.getBankData(), data)); // test where offsets are specified data = new byte[][] {{1, 2, 3}, {4, 5, 6, 7}}; b = new DataBufferByte(data, 2, new int[] {0, 1}); banks = b.getBankData(); harness.check(Arrays.equals(b.getBankData(), data)); // check that a single bank buffer returns a valid array DataBufferByte b2 = new DataBufferByte(new byte[] {1, 2}, 2); banks = b2.getBankData(); harness.check(banks.length == 1); harness.check(banks[0][0] == 1); harness.check(banks[0][1] == 2); // check that a multi bank buffer returns a valid array DataBufferByte b3 = new DataBufferByte(new byte[][] {{1}, {2}}, 1); banks = b3.getBankData(); harness.check(banks.length == 2); harness.check(banks[0][0] == 1); harness.check(banks[1][0] == 2); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferByte/getDataType.java0000644000175000001440000000233310123067120024716 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.DataBufferByte; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.DataBufferByte; /** * @author Sascha Brawer */ public class getDataType implements Testlet { public void test(TestHarness h) { // Check #1. h.check(new DataBufferByte(5).getDataType(), DataBuffer.TYPE_BYTE); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferByte/setElem.java0000644000175000001440000000564410123067120024111 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.DataBufferByte; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBufferByte; /** * Some tests for the setElem() methods in the {@link DataBufferByte} class. */ public class setElem implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testSetElem1(harness); testSetElem2(harness); } private void testSetElem1(TestHarness harness) { harness.checkPoint("setElem(int, int)"); byte[] source = new byte[] {1, 2}; DataBufferByte b = new DataBufferByte(source, 2); b.setElem(1, 99); harness.check(b.getElem(1) == 99); // does the source array get updated? Yes harness.check(source[1] == 99); // test with offsets source = new byte[] {1, 2, 3, 4, 5}; b = new DataBufferByte(source, 4, 1); harness.check(b.getElem(1) == 3); b.setElem(1, 99); harness.check(b.getElem(1) == 99); harness.check(source[2] == 99); boolean pass = false; try { b.setElem(-2, 99); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.setElem(4, 99); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testSetElem2(TestHarness harness) { harness.checkPoint("setElem(int, int, int)"); byte[][] source = new byte[][] {{1, 2}, {3, 4}}; DataBufferByte b = new DataBufferByte(source, 2); b.setElem(1, 1, 99); harness.check(b.getElem(1, 1) == 99); // does the source array get updated? harness.check(source[1][1] == 99); boolean pass = false; try { b.setElem(-1, 1, 99); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.setElem(2, 1, 99); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferByte/getData.java0000644000175000001440000000750010123067120024055 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.DataBufferByte; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBufferByte; /** * Some tests for the geData() methods in the {@link DataBufferByte} class. */ public class getData implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testGetData1(harness); testGetData2(harness); } private void testGetData1(TestHarness harness) { harness.checkPoint("getData()"); // check simple case byte[] source = new byte[] {1, 2}; DataBufferByte b = new DataBufferByte(source, 2); byte[] data = b.getData(); harness.check(data.length == 2); harness.check(data[0] == 1); harness.check(data[1] == 2); // test where supplied array is bigger than 'size' source = new byte[] {1, 2, 3}; b = new DataBufferByte(source, 2); data = b.getData(); harness.check(data.length == 3); harness.check(data[0] == 1); harness.check(data[1] == 2); harness.check(data[2] == 3); // test where offsets are specified source = new byte[] {1, 2, 3, 4}; b = new DataBufferByte(source, 2, 1); data = b.getData(); harness.check(data.length == 4); harness.check(data[0] == 1); harness.check(data[1] == 2); harness.check(data[2] == 3); harness.check(data[3] == 4); // does a change to the source affect the DataBuffer? Yes source[2] = 99; harness.check(data[2] == 99); } private void testGetData2(TestHarness harness) { harness.checkPoint("getData(int)"); byte[][] source = new byte[][] {{1, 2}, {3, 4}}; DataBufferByte b = new DataBufferByte(source, 2); byte[] data = b.getData(1); harness.check(data.length == 2); harness.check(data[0] == 3); harness.check(data[1] == 4); // test where supplied array is bigger than 'size' source = new byte[][] {{1, 2, 3}, {4, 5, 6}}; b = new DataBufferByte(source, 2); data = b.getData(1); harness.check(data.length == 3); harness.check(data[0] == 4); harness.check(data[1] == 5); harness.check(data[2] == 6); // test where offsets are specified source = new byte[][] {{1, 2, 3, 4}, {5, 6, 7, 8}}; b = new DataBufferByte(source, 2, new int[] {1, 2}); data = b.getData(1); harness.check(data.length == 4); harness.check(data[0] == 5); harness.check(data[1] == 6); harness.check(data[2] == 7); harness.check(data[3] == 8); // does a change to the source affect the DataBuffer? Yes source[1][2] = 99; harness.check(data[2] == 99); // check bounds exceptions boolean pass = true; try { b.getData(-1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.getData(2); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferByte/getElem.java0000644000175000001440000001166110123067120024071 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.DataBufferByte; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.DataBufferByte; /** * @author Sascha Brawer */ public class getElem implements Testlet { public void test(TestHarness h) { DataBuffer buf; byte[] data = new byte[] { -11, -22, -33, -44 }; buf = new DataBufferByte(new byte[][] { data, data }, 2, new int[] { 2, 0 }); h.check(buf.getElem(0), 256 - 33); // Check #1. h.check(buf.getElem(1), 256 - 44); // Check #2. h.check(buf.getElem(0, 0), 256 - 33); // Check #3. h.check(buf.getElem(0, 1), 256 - 44); // Check #4. h.check(buf.getElem(1, 0), 256 - 11); // Check #5. h.check(buf.getElem(1, 1), 256 - 22); // Check #6. // new tests added by David Gilbert testGetElem1(h); testGetElem2(h); } private void testGetElem1(TestHarness harness) { harness.checkPoint("getElem(int)"); // test where supplied array is bigger than 'size' byte[] source = new byte[] {1, 2, 3}; DataBufferByte b = new DataBufferByte(source, 2); harness.check(b.getElem(0) == 1); harness.check(b.getElem(1) == 2); harness.check(b.getElem(2) == 3); boolean pass = false; try { b.getElem(-1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.getElem(3); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // test where offsets are specified source = new byte[] {1, 2, 3, 4}; b = new DataBufferByte(source, 2, 1); harness.check(b.getElem(-1) == 1); harness.check(b.getElem(0) == 2); harness.check(b.getElem(1) == 3); harness.check(b.getElem(2) == 4); pass = false; try { b.getElem(3); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.getElem(-2); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testGetElem2(TestHarness harness) { harness.checkPoint("getElem(int, int)"); byte[][] source = new byte[][] {{1, 2}, {3, 4}}; DataBufferByte b = new DataBufferByte(source, 2); harness.check(b.getElem(1, 0) == 3); harness.check(b.getElem(1, 1) == 4); // test where supplied array is bigger than 'size' source = new byte[][] {{1, 2, 3}, {4, 5, 6}}; b = new DataBufferByte(source, 2); harness.check(b.getElem(1, 2) == 6); // test where offsets are specified source = new byte[][] {{1, 2, 3, 4}, {5, 6, 7, 8}}; b = new DataBufferByte(source, 2, new int[] {1, 2}); harness.check(b.getElem(1, -2) == 5); harness.check(b.getElem(1, -1) == 6); harness.check(b.getElem(1, 0) == 7); harness.check(b.getElem(1, 1) == 8); // does a change to the source affect the DataBuffer? Yes source[1][2] = 99; harness.check(source[1][2] == 99); harness.check(b.getElem(1, 0) == 99); // test when the bank index is out of bounds boolean pass = true; try { b.getElem(-1, 0); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.getElem(2, 0); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // test when the item index is out of bounds pass = true; try { b.getElem(0, -2); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.getElem(1, 5); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // the array of arrays should reflect the single dimension array DataBufferByte b2 = new DataBufferByte(new byte[] {1, 2, 3}, 3); harness.check(b2.getElem(0, 1) == 2); } } mauve-20140821/gnu/testlet/java/awt/image/DirectColorModel/0000755000175000001440000000000012375316426022223 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/image/DirectColorModel/constructors.java0000644000175000001440000001431510247030754025633 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.DirectColorModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Transparency; import java.awt.color.ColorSpace; import java.awt.image.DataBuffer; import java.awt.image.DirectColorModel; /** * Some checks for the constructors in the {@link DirectColorModel} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); } private void testConstructor1(TestHarness harness) { harness.checkPoint("(ColorSpace, int, int, int, int, int, boolean, int)"); DirectColorModel m1 = new DirectColorModel(ColorSpace.getInstance(ColorSpace.CS_sRGB), 32, 0xF000, 0xF00, 0xF0, 0xF, false, DataBuffer.TYPE_INT); harness.check(m1.getTransparency(), Transparency.TRANSLUCENT); // try null ColorSpace boolean pass = false; try { m1 = new DirectColorModel(null, 32, 0xF000, 0xF00, 0xF0, 0xF, false, DataBuffer.TYPE_INT); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try non-RGB ColorSpace pass = false; try { m1 = new DirectColorModel(ColorSpace.getInstance(ColorSpace.CS_GRAY), 32, 0xF000, 0xF00, 0xF0, 0xF, false, DataBuffer.TYPE_INT); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } private void testConstructor2(TestHarness harness) { harness.checkPoint("(int, int, int, int)"); // first an 8 bit model DirectColorModel m1 = new DirectColorModel(8, 0xF0, 0x0C, 0x03); harness.check(m1.getPixelSize(), 8); harness.check(m1.getComponentSize(0), 4); harness.check(m1.getComponentSize(1), 2); harness.check(m1.getComponentSize(2), 2); harness.check(m1.getTransparency(), Transparency.OPAQUE); harness.check(m1.getTransferType(), DataBuffer.TYPE_BYTE); // 16 bit model DirectColorModel m2 = new DirectColorModel(16, 0xFF00, 0xF0, 0x0F); harness.check(m2.getPixelSize(), 16); harness.check(m2.getComponentSize(0), 8); harness.check(m2.getComponentSize(1), 4); harness.check(m2.getComponentSize(2), 4); harness.check(m2.getTransparency(), Transparency.OPAQUE); harness.check(m2.getTransferType(), DataBuffer.TYPE_USHORT); // 32 bit model DirectColorModel m3 = new DirectColorModel(32, 0xFFFF00, 0xFF00, 0xFF); harness.check(m3.getPixelSize(), 32); harness.check(m3.getComponentSize(0), 16); harness.check(m3.getComponentSize(1), 8); harness.check(m3.getComponentSize(2), 8); harness.check(m3.getTransparency(), Transparency.OPAQUE); harness.check(m3.getTransferType(), DataBuffer.TYPE_INT); // check negative bits boolean pass = false; try { /* ColorModel m = */ new DirectColorModel(-1, 0xFFFF00, 0xFF00, 0xFF); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // check bits > 32 pass = false; try { /* ColorModel m = */ new DirectColorModel(33, 0xFFFF00, 0xFF00, 0xFF); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } private void testConstructor3(TestHarness harness) { harness.checkPoint("DirectColorModel(int, int, int, int, int)"); // first an 8 bit model DirectColorModel m1 = new DirectColorModel(8, 0xC0, 0x30, 0x0C, 0x03); harness.check(m1.getPixelSize(), 8); harness.check(m1.getComponentSize(0), 2); harness.check(m1.getComponentSize(1), 2); harness.check(m1.getComponentSize(2), 2); harness.check(m1.getComponentSize(3), 2); harness.check(m1.getTransparency(), Transparency.TRANSLUCENT); harness.check(m1.getTransferType(), DataBuffer.TYPE_BYTE); // 16 bit model DirectColorModel m2 = new DirectColorModel(16, 0xF000, 0x0F00, 0xF0, 0x0F); harness.check(m2.getPixelSize(), 16); harness.check(m2.getComponentSize(0), 4); harness.check(m2.getComponentSize(1), 4); harness.check(m2.getComponentSize(2), 4); harness.check(m2.getComponentSize(3), 4); harness.check(m2.getTransparency(), Transparency.TRANSLUCENT); harness.check(m2.getTransferType(), DataBuffer.TYPE_USHORT); // 32 bit model DirectColorModel m3 = new DirectColorModel(32, 0xFF000000, 0xFF0000, 0xFF00, 0xFF); harness.check(m3.getPixelSize(), 32); harness.check(m3.getComponentSize(0), 8); harness.check(m3.getComponentSize(1), 8); harness.check(m3.getComponentSize(2), 8); harness.check(m3.getComponentSize(3), 8); harness.check(m3.getTransparency(), Transparency.TRANSLUCENT); harness.check(m3.getTransferType(), DataBuffer.TYPE_INT); // check negative bits boolean pass = false; try { /* ColorModel m = */ new DirectColorModel(-1, 0xFF000000, 0xFF0000, 0xFF00, 0xFF); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // check bits > 32 pass = false; try { /* ColorModel m = */ new DirectColorModel(33, 0xFF000000, 0xFF0000, 0xFF00, 0xFF); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/DirectColorModel/coerceData.java0000644000175000001440000001504010505773444025120 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2006 Francis Kung // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.DirectColorModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Point; import java.awt.image.BandedSampleModel; import java.awt.image.ColorModel; import java.awt.image.ComponentSampleModel; import java.awt.image.DataBuffer; import java.awt.image.DirectColorModel; import java.awt.image.PixelInterleavedSampleModel; import java.awt.image.Raster; import java.awt.image.SampleModel; import java.awt.image.SinglePixelPackedSampleModel; import java.awt.image.WritableRaster; /** * Some checks for the coerceData method in the {@link DirectColorModel} class. */ public class coerceData implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("coerceData with BandedSampleModel"); runTest(harness, new BandedSampleModel(DataBuffer.TYPE_INT, 50, 50, 4)); harness.checkPoint("coerceData with ComponentSampleModel"); runTest(harness, new ComponentSampleModel(DataBuffer.TYPE_INT, 50, 50, 4, 200, new int[]{0, 1, 2, 3})); // MultiPixelPackedSampleModel not allowed, since that sample model can // only represent one-banded images. We should check to ensure failure // is consistent. harness.checkPoint("coerceData with PixelInterleavedSampleModel"); runTest(harness, new PixelInterleavedSampleModel(DataBuffer.TYPE_INT, 50, 50, 4, 200, new int[]{0, 1, 2, 3})); harness.checkPoint("coerceData with SinglePixelPackedSampleModel"); runTest(harness, new SinglePixelPackedSampleModel(DataBuffer.TYPE_INT, 50, 50, new int[]{0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000})); } private void runTest(TestHarness harness, SampleModel sample) { // Create and popular raster for testing WritableRaster rast = Raster.createWritableRaster(sample, new Point(0,0)); for (int x = 0; x < 50; x++) for (int y = 0; y < 50; y++) for (int b = 0; b < 4; b++) if (b < 3) rast.setSample(x, y, b, (float)x+y+b); else rast.setSample(x, y, b, (float)((x+y))); DirectColorModel dcm = new DirectColorModel(32, 0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000); harness.check(dcm.isAlphaPremultiplied(), false); // Check to ensure data is not changed needlessly ColorModel resultCM = dcm.coerceData(rast, false); harness.check(resultCM.getClass().equals(dcm.getClass())); harness.check(resultCM.isAlphaPremultiplied(), false); harness.check(dcm, resultCM); for (int x = 0; x < 50; x++) for (int y = 0; y < 50; y++) for (int b = 0; b < 4; b++) { if (b < 3) harness.check(rast.getSample(x, y, b), (x+y+b)); else harness.check(rast.getSampleFloat(x, y, b), (x+y)); } // Coerce data into a premultiplied state resultCM = dcm.coerceData(rast, true); // Ensure we're still using the same color model! harness.check(resultCM.getClass().equals(dcm.getClass())); harness.check(resultCM.isAlphaPremultiplied(), true); harness.check(! (dcm == resultCM)); // object is cloned... // Check values for (int x = 0; x < 50; x++) for (int y = 0; y < 50; y++) for (int b = 0; b < 4; b++) { if (b < 3) harness.check(rast.getSample(x, y, b), Math.round((x+y+b)*((x+y)/(float)255))); else harness.check(rast.getSampleFloat(x, y, b), x+y); } // Make a copy of the raster, to compare against for the next test WritableRaster rast2 = Raster.createWritableRaster(sample, new Point(0,0)); for (int x = 0; x < 50; x++) for (int y = 0; y < 50; y++) for (int b = 0; b < 4; b++) rast2.setSample(x, y, b, rast.getSample(x, y, b)); // And do the reverse.. un-multiply harness.check(resultCM.isAlphaPremultiplied(), true); ColorModel resultCM2 = resultCM.coerceData(rast, false); harness.check(resultCM2.getClass().equals(resultCM.getClass())); harness.check(resultCM2.isAlphaPremultiplied(), false); harness.check(! (resultCM == resultCM2)); // Check values for (int x = 0; x < 50; x++) for (int y = 0; y < 50; y++) for (int b = 0; b < 4; b++) { if (b < 3) { // Do some trickery to work around differing floating-point // precision (a division equalling 0.49999 will round up or // down unpredictably) float expected = rast2.getSample(x, y, b)/((x+y)/((float)255)); if (expected - (int)expected > 0.49 && expected - (int)expected < 0.51) harness.check(rast.getSample(x, y, b) == (int)expected || rast.getSample(x, y, b) == (int)expected + 1); else harness.check(rast.getSample(x, y, b),Math.round(expected)); } else harness.check(rast.getSampleFloat(x, y, b), (x+y)); } } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferUShort/0000755000175000001440000000000012375316426022201 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/image/DataBufferUShort/constructors.java0000644000175000001440000001507410123067121025603 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.DataBufferUShort; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.DataBufferUShort; /** * Some tests for the constructors in the {@link DataBufferUShort} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); testConstructor6(harness); } private void testConstructor1(TestHarness harness) { harness.checkPoint("DataBufferUShort(int)"); DataBufferUShort b1 = new DataBufferUShort(1); harness.check(b1.getDataType() == DataBuffer.TYPE_USHORT); harness.check(b1.getSize() == 1); harness.check(b1.getNumBanks() == 1); harness.check(b1.getOffset() == 0); DataBufferUShort b2 = new DataBufferUShort(0); harness.check(b2.getSize() == 0); harness.check(b2.getNumBanks() == 1); harness.check(b2.getOffset() == 0); boolean pass = false; try { DataBufferUShort b3 = new DataBufferUShort(-1); } catch (NegativeArraySizeException e) { pass = true; } harness.check(pass); } private void testConstructor2(TestHarness harness) { harness.checkPoint("DataBufferShort(short[][], int)"); short[][] source = new short[][] {{1, 2}}; DataBufferUShort b = new DataBufferUShort(source, 1); harness.check(b.getSize() == 1); harness.check(b.getNumBanks() == 1); harness.check(b.getOffset() == 0); // does a change to the source array affect the buffer? yes short[][] banks = b.getBankData(); harness.check(banks[0][0] == 1); source[0][0] = 3; harness.check(banks[0][0] == 3); // check null source boolean pass = false; try { DataBufferUShort b1 = new DataBufferUShort((short[][]) null, 1); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check negative size DataBufferUShort b1 = new DataBufferUShort(source, -1); harness.check(b1.getSize() == -1); } private void testConstructor3(TestHarness harness) { harness.checkPoint("DataBufferUShort(short[][], int, int[])"); short[][] source = new short[][] {{1, 2}}; DataBufferUShort b = new DataBufferUShort(source, 1, new int[] {0}); harness.check(b.getSize() == 1); harness.check(b.getNumBanks() == 1); harness.check(b.getOffset() == 0); // test where offsets are specified source = new short[][] {{1, 2, 3}, {4, 5, 6, 7}}; b = new DataBufferUShort(source, 2, new int[] {0, 1}); harness.check(b.getSize() == 2); harness.check(b.getNumBanks() == 2); harness.check(b.getOffsets()[1] == 1); harness.check(b.getElem(1, 0) == 5); boolean pass = false; try { DataBufferUShort b1 = new DataBufferUShort((short[][]) null, 1, new int[] {0}); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { DataBufferUShort b1 = new DataBufferUShort(new short[][]{{1, 2}}, 1, (int[]) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { DataBufferUShort b2 = new DataBufferUShort(new short[][]{{1, 2}}, 1, new int[] {0, 0}); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testConstructor4(TestHarness harness) { harness.checkPoint("DataBufferUShort(short[], int)"); DataBufferUShort b = new DataBufferUShort(new short[] {1, 2}, 2); harness.check(b.getSize() == 2); harness.check(b.getNumBanks() == 1); harness.check(b.getOffset() == 0); // this constructor, unlike all the other DataBuffer classes, rejects // a null bank boolean pass = false; try { DataBufferUShort b1 = new DataBufferUShort((short[]) null, 1); } catch (NullPointerException e) { pass = true; } harness.check(pass); } private void testConstructor5(TestHarness harness) { harness.checkPoint("DataBufferUShort(short[], int, int)"); DataBufferUShort b = new DataBufferUShort(new short[] {1, 2}, 2, 0); harness.check(b.getSize() == 2); harness.check(b.getNumBanks() == 1); harness.check(b.getOffset() == 0); // this constructor, unlike all the other DataBuffer classes, rejects // a null bank boolean pass = false; try { DataBufferUShort b1 = new DataBufferUShort((short[]) null, 1, 0); } catch (NullPointerException e) { pass = true; } harness.check(pass); // does negative size fail? no pass = true; try { DataBuffer b1 = new DataBufferUShort(new short[] {1, 2}, -1, 0); } catch (NegativeArraySizeException e) { pass = false; } harness.check(pass); } private void testConstructor6(TestHarness harness) { harness.checkPoint("DataBufferUShort(int, int)"); DataBufferUShort b = new DataBufferUShort(2, 3); harness.check(b.getNumBanks() == 3); harness.check(b.getSize() == 2); harness.check(b.getOffset() == 0); // does negative size fail? yes boolean pass = false; try { DataBufferUShort b1 = new DataBufferUShort(-1, 1); } catch (NegativeArraySizeException e) { pass = true; } harness.check(pass); // does negative banks fail? yes pass = false; try { DataBufferUShort b1 = new DataBufferUShort(1, -1); } catch (NegativeArraySizeException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferUShort/getBankData.java0000644000175000001440000000510310123067121025170 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.DataBufferUShort; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBufferUShort; import java.util.Arrays; /** * Some tests for the getBankData() method in the {@link DataBufferUShort} class. */ public class getBankData implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // check that array updates pass through short[][] data = new short[][] {{1, 2}}; DataBufferUShort b = new DataBufferUShort(data, 2); short[][] banks = b.getBankData(); harness.check(Arrays.equals(b.getBankData(), data)); data[0][0] = 3; harness.check(banks[0][0] == 3); // test where supplied array is bigger than 'size' data = new short[][] {{1, 2, 3}}; b = new DataBufferUShort(data, 2); banks = b.getBankData(); harness.check(Arrays.equals(b.getBankData(), data)); // test where offsets are specified data = new short[][] {{1, 2, 3}, {4, 5, 6, 7}}; b = new DataBufferUShort(data, 2, new int[] {0, 1}); banks = b.getBankData(); harness.check(Arrays.equals(b.getBankData(), data)); // check that a single bank buffer returns a valid array DataBufferUShort b2 = new DataBufferUShort(new short[] {1, 2}, 2); banks = b2.getBankData(); harness.check(banks.length == 1); harness.check(banks[0][0] == 1); harness.check(banks[0][1] == 2); // check that a multi bank buffer returns a valid array DataBufferUShort b3 = new DataBufferUShort(new short[][] {{1}, {2}}, 1); banks = b3.getBankData(); harness.check(banks.length == 2); harness.check(banks[0][0] == 1); harness.check(banks[1][0] == 2); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferUShort/getDataType.java0000644000175000001440000000234310123067121025241 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.DataBufferUShort; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.DataBufferUShort; /** * @author Sascha Brawer */ public class getDataType implements Testlet { public void test(TestHarness h) { // Check #1. h.check(new DataBufferUShort(5).getDataType(), DataBuffer.TYPE_USHORT); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferUShort/setElem.java0000644000175000001440000000565710123067121024437 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.DataBufferUShort; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBufferUShort; /** * Some tests for the setElem() methods in the {@link DataBufferUShort} class. */ public class setElem implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testSetElem1(harness); testSetElem2(harness); } private void testSetElem1(TestHarness harness) { harness.checkPoint("setElem(int, int)"); short[] source = new short[] {1, 2}; DataBufferUShort b = new DataBufferUShort(source, 2); b.setElem(1, 99); harness.check(b.getElem(1) == 99); // does the source array get updated? Yes harness.check(source[1] == 99); // test with offsets source = new short[] {1, 2, 3, 4, 5}; b = new DataBufferUShort(source, 4, 1); harness.check(b.getElem(1) == 3); b.setElem(1, 99); harness.check(b.getElem(1) == 99); harness.check(source[2] == 99); boolean pass = false; try { b.setElem(-2, 99); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.setElem(4, 99); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testSetElem2(TestHarness harness) { harness.checkPoint("setElem(int, int, int)"); short[][] source = new short[][] {{1, 2}, {3, 4}}; DataBufferUShort b = new DataBufferUShort(source, 2); b.setElem(1, 1, 99); harness.check(b.getElem(1, 1) == 99); // does the source array get updated? harness.check(source[1][1] == 99); boolean pass = false; try { b.setElem(-1, 1, 99); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.setElem(2, 1, 99); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferUShort/getData.java0000644000175000001440000000752010123067121024401 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.DataBufferUShort; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBufferUShort; /** * Some tests for the geData() methods in the {@link DataBufferUShort} class. */ public class getData implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testGetData1(harness); testGetData2(harness); } private void testGetData1(TestHarness harness) { harness.checkPoint("getData()"); // check simple case short[] source = new short[] {1, 2}; DataBufferUShort b = new DataBufferUShort(source, 2); short[] data = b.getData(); harness.check(data.length == 2); harness.check(data[0] == 1); harness.check(data[1] == 2); // test where supplied array is bigger than 'size' source = new short[] {1, 2, 3}; b = new DataBufferUShort(source, 2); data = b.getData(); harness.check(data.length == 3); harness.check(data[0] == 1); harness.check(data[1] == 2); harness.check(data[2] == 3); // test where offsets are specified source = new short[] {1, 2, 3, 4}; b = new DataBufferUShort(source, 2, 1); data = b.getData(); harness.check(data.length == 4); harness.check(data[0] == 1); harness.check(data[1] == 2); harness.check(data[2] == 3); harness.check(data[3] == 4); // does a change to the source affect the DataBuffer? Yes source[2] = 99; harness.check(data[2] == 99); } private void testGetData2(TestHarness harness) { harness.checkPoint("getData(int)"); short[][] source = new short[][] {{1, 2}, {3, 4}}; DataBufferUShort b = new DataBufferUShort(source, 2); short[] data = b.getData(1); harness.check(data.length == 2); harness.check(data[0] == 3); harness.check(data[1] == 4); // test where supplied array is bigger than 'size' source = new short[][] {{1, 2, 3}, {4, 5, 6}}; b = new DataBufferUShort(source, 2); data = b.getData(1); harness.check(data.length == 3); harness.check(data[0] == 4); harness.check(data[1] == 5); harness.check(data[2] == 6); // test where offsets are specified source = new short[][] {{1, 2, 3, 4}, {5, 6, 7, 8}}; b = new DataBufferUShort(source, 2, new int[] {1, 2}); data = b.getData(1); harness.check(data.length == 4); harness.check(data[0] == 5); harness.check(data[1] == 6); harness.check(data[2] == 7); harness.check(data[3] == 8); // does a change to the source affect the DataBuffer? Yes source[1][2] = 99; harness.check(data[2] == 99); // check bounds exceptions boolean pass = true; try { b.getData(-1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.getData(2); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferUShort/getElem.java0000644000175000001440000001175110123067121024413 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.DataBufferUShort; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.DataBufferUShort; /** * @author Sascha Brawer */ public class getElem implements Testlet { public void test(TestHarness h) { DataBuffer buf; short[] data = new short[] { -11, -22, -33, -44 }; buf = new DataBufferUShort(new short[][] { data, data }, 2, new int[] { 2, 0 }); h.check(buf.getElem(0), 0x10000 - 33); // Check #1. h.check(buf.getElem(1), 0x10000 - 44); // Check #2. h.check(buf.getElem(0, 0), 0x10000 - 33); // Check #3. h.check(buf.getElem(0, 1), 0x10000 - 44); // Check #4. h.check(buf.getElem(1, 0), 0x10000 - 11); // Check #5. h.check(buf.getElem(1, 1), 0x10000 - 22); // Check #6. // new tests added by David Gilbert testGetElem1(h); testGetElem2(h); } private void testGetElem1(TestHarness harness) { harness.checkPoint("getElem(int)"); // test where supplied array is bigger than 'size' short[] source = new short[] {1, 2, 3}; DataBufferUShort b = new DataBufferUShort(source, 2); harness.check(b.getElem(0) == 1); harness.check(b.getElem(1) == 2); harness.check(b.getElem(2) == 3); boolean pass = false; try { b.getElem(-1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.getElem(3); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // test where offsets are specified source = new short[] {1, 2, 3, 4}; b = new DataBufferUShort(source, 2, 1); harness.check(b.getElem(-1) == 1); harness.check(b.getElem(0) == 2); harness.check(b.getElem(1) == 3); harness.check(b.getElem(2) == 4); pass = false; try { b.getElem(3); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.getElem(-2); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testGetElem2(TestHarness harness) { harness.checkPoint("getElem(int, int)"); short[][] source = new short[][] {{1, 2}, {3, 4}}; DataBufferUShort b = new DataBufferUShort(source, 2); harness.check(b.getElem(1, 0) == 3); harness.check(b.getElem(1, 1) == 4); // test where supplied array is bigger than 'size' source = new short[][] {{1, 2, 3}, {4, 5, 6}}; b = new DataBufferUShort(source, 2); harness.check(b.getElem(1, 2) == 6); // test where offsets are specified source = new short[][] {{1, 2, 3, 4}, {5, 6, 7, 8}}; b = new DataBufferUShort(source, 2, new int[] {1, 2}); harness.check(b.getElem(1, -2) == 5); harness.check(b.getElem(1, -1) == 6); harness.check(b.getElem(1, 0) == 7); harness.check(b.getElem(1, 1) == 8); // does a change to the source affect the DataBuffer? Yes source[1][2] = 99; harness.check(source[1][2] == 99); harness.check(b.getElem(1, 0) == 99); // test when the bank index is out of bounds boolean pass = true; try { b.getElem(-1, 0); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.getElem(2, 0); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // test when the item index is out of bounds pass = true; try { b.getElem(0, -2); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.getElem(1, 5); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // the array of arrays should reflect the single dimension array DataBufferUShort b2 = new DataBufferUShort(new short[] {1, 2, 3}, 3); harness.check(b2.getElem(0, 1) == 2); } } mauve-20140821/gnu/testlet/java/awt/image/ByteLookupTable/0000755000175000001440000000000012375316426022076 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/image/ByteLookupTable/constructors.java0000644000175000001440000000577410457211307025515 0ustar dokousers/* constructors.java -- some checks for the constructors in the ByteLookupTable class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.ByteLookupTable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ByteLookupTable; public class constructors implements Testlet { public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("(int, byte[])"); byte[] bytes = new byte[] {(byte) 0xAA, (byte) 0xBB}; ByteLookupTable t = new ByteLookupTable(7, bytes); harness.check(t.getOffset(), 7); harness.check(t.getNumComponents(), 1); byte[][] table = t.getTable(); harness.check(table.length, 1); harness.check(table[0] == bytes); // try negative offset boolean pass = false; try { t = new ByteLookupTable(-1, bytes); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try null data pass = false; try { t = new ByteLookupTable(0, (byte[]) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(int, byte[][])"); byte[] bytesA = new byte[] {(byte) 0xAA, (byte) 0xBB, (byte) 0xCC}; byte[] bytesB = new byte[] {(byte) 0xDD, (byte) 0xEE, (byte) 0xFF}; byte[][] bytes = new byte[][] { bytesA, bytesB }; ByteLookupTable t = new ByteLookupTable(3, bytes); harness.check(t.getOffset(), 3); harness.check(t.getNumComponents(), 2); byte[][] table = t.getTable(); harness.check(table.length, 2); harness.check(table[0] == bytesA); harness.check(table[1] == bytesB); harness.check(table != bytes); // try negative offset boolean pass = false; try { t = new ByteLookupTable(-1, bytes); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try null data pass = false; try { t = new ByteLookupTable(0, (byte[][]) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/ByteLookupTable/getTable.java0000644000175000001440000000407710457211307024467 0ustar dokousers/* getTable.java -- some checks for the getLookUpTable() method in the ByteLookupTable class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.ByteLookupTable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ByteLookupTable; public class getTable implements Testlet { public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("test1()"); byte[] bytes = new byte[] {(byte) 0xAA, (byte) 0xBB}; ByteLookupTable t = new ByteLookupTable(7, bytes); byte[][] table = t.getTable(); harness.check(table.length, 1); harness.check(table[0] == bytes); harness.check(t.getTable() == t.getTable()); } public void test2(TestHarness harness) { harness.checkPoint("test2()"); byte[] bytesA = new byte[] {(byte) 0xAA, (byte) 0xBB, (byte) 0xCC}; byte[] bytesB = new byte[] {(byte) 0xDD, (byte) 0xEE, (byte) 0xFF}; byte[][] bytes = new byte[][] { bytesA, bytesB }; ByteLookupTable t = new ByteLookupTable(3, bytes); byte[][] table = t.getTable(); harness.check(table.length, 2); harness.check(table[0] == bytesA); harness.check(table[1] == bytesB); harness.check(table != bytes); harness.check(t.getTable() == t.getTable()); } } mauve-20140821/gnu/testlet/java/awt/image/ByteLookupTable/lookupPixel.java0000644000175000001440000001675710477317752025300 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.ByteLookupTable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ByteLookupTable; /** * Some checks for the lookupPixel() methods in the {@link ByteLookupTable} class. */ public class lookupPixel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testInt(harness); testByte(harness); testFailure(harness); } private void testInt(TestHarness harness) { harness.checkPoint("(int[], int[])"); byte[] data = {105, 104, 103, 102, 101, 100}; ByteLookupTable t = new ByteLookupTable(100, data); // check 1-band source with 1-band lookup table int[] src = new int[] {100}; int[] dst = t.lookupPixel(src, null); harness.check(dst[0], 105); src = new int[] {101}; dst = new int[] {0}; dst = t.lookupPixel(src, dst); harness.check(dst[0], 104); // check 3-band source with 1-band lookup table src = new int[] {100, 101, 102}; try { dst = t.lookupPixel(src, null); harness.check(dst[0], 105); harness.check(dst[1], 104); harness.check(dst[2], 103); } catch (Exception e) { // don't allow a failure to harness.check(false); // disrupt remaining checks harness.debug(e); } src = new int[] {102, 103, 104}; dst = new int[] {0, 0, 0}; try { dst = t.lookupPixel(src, dst); harness.check(dst[0], 103); harness.check(dst[1], 102); harness.check(dst[2], 101); } catch (Exception e) { // don't allow a failure to harness.check(false); // disrupt remaining checks harness.debug(e); } // check 3-band source with 3-band lookup table byte[][] data2 = { {105, 104, 103, 102, 101, 100}, {115, 114, 113, 112, 111, 110}, {125, 124, 123, 122, 121, 120} }; ByteLookupTable t2 = new ByteLookupTable(100, data2); int[] src2 = {100, 101, 102}; dst = t2.lookupPixel(src2, null); harness.check(dst[0], 105); harness.check(dst[1], 114); harness.check(dst[2], 123); src2 = new int[] {103, 104, 105}; dst = new int[] {0, 0, 0}; dst = t2.lookupPixel(src2, dst); harness.check(dst[0], 102); harness.check(dst[1], 111); harness.check(dst[2], 120); // check 1-band source with 2-band lookup table byte[][] data3 = { {105, 104, 103, 102, 101, 100}, {115, 114, 113, 112, 111, 110}, }; ByteLookupTable t3 = new ByteLookupTable(100, data3); src = new int[] {100}; dst = t3.lookupPixel(src, null); harness.check(dst[0], 105); src = new int[] {101}; dst = new int[] {0}; dst = t3.lookupPixel(src, dst); harness.check(dst[0], 104); // check 3-band source with 2-band lookup table try { dst = t3.lookupPixel(src2, null); harness.check(false); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } dst = new int[3]; try { dst = t3.lookupPixel(src2, dst); harness.check(false); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } } private void testByte(TestHarness harness) { harness.checkPoint("(byte[], byte[])"); byte[] data = {105, 104, 103, 102, 101, 100}; ByteLookupTable t = new ByteLookupTable(100, data); // check 1-band source with 1-band lookup table byte[] src = new byte[] {100}; byte[] dst = t.lookupPixel(src, null); harness.check(dst[0], 105); src = new byte[] {101}; dst = new byte[] {0}; dst = t.lookupPixel(src, dst); harness.check(dst[0], 104); // check 3-band source with 1-band lookup table src = new byte[] {100, 101, 102}; try { dst = t.lookupPixel(src, null); harness.check(dst[0], 105); harness.check(dst[1], 104); harness.check(dst[2], 103); } catch (Exception e) { // don't allow a failure to harness.check(false); // disrupt remaining checks harness.debug(e); } src = new byte[] {102, 103, 104}; dst = new byte[] {0, 0, 0}; try { dst = t.lookupPixel(src, dst); harness.check(dst[0], 103); harness.check(dst[1], 102); harness.check(dst[2], 101); } catch (Exception e) { // don't allow a failure to harness.check(false); // disrupt remaining checks harness.debug(e); } // check 3-band source with 3-band lookup table byte[][] data2 = { {105, 104, 103, 102, 101, 100}, {115, 114, 113, 112, 111, 110}, {125, 124, 123, 122, 121, 120} }; ByteLookupTable t2 = new ByteLookupTable(100, data2); byte[] src2 = {100, 101, 102}; dst = t2.lookupPixel(src2, null); harness.check(dst[0], 105); harness.check(dst[1], 114); harness.check(dst[2], 123); src2 = new byte[] {103, 104, 105}; dst = new byte[] {0, 0, 0}; dst = t2.lookupPixel(src2, dst); harness.check(dst[0], 102); harness.check(dst[1], 111); harness.check(dst[2], 120); // check 1-band source with 2-band lookup table byte[][] data3 = { {105, 104, 103, 102, 101, 100}, {115, 114, 113, 112, 111, 110}, }; ByteLookupTable t3 = new ByteLookupTable(100, data3); src = new byte[] {100}; dst = t3.lookupPixel(src, null); harness.check(dst[0], 105); src = new byte[] {101}; dst = new byte[1]; dst = t3.lookupPixel(src, dst); harness.check(dst[0], 104); // check 3 band source, 2 band lookup table try { dst = t3.lookupPixel(src2, null); harness.check(false); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } dst = new byte[3]; try { dst = t3.lookupPixel(src2, dst); harness.check(false); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } } // Test failures, ie, if the requested pixel is not in the table. // It should throw array index out of bounds exceptions. private void testFailure(TestHarness harness) { harness.checkPoint("not in table"); byte[] data = {105, 104, 103, 102, 101, 100}; ByteLookupTable t = new ByteLookupTable(100, data); try { int[] src = new int[] {100, 102, 101, 120}; t.lookupPixel(src, null); harness.check(false); } catch (ArrayIndexOutOfBoundsException ex) { harness.check(true); } try { byte[] src = new byte[] {120}; t.lookupPixel(src, null); harness.check(false); } catch (ArrayIndexOutOfBoundsException ex) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/awt/image/LookupOp/0000755000175000001440000000000012375316426020601 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/image/LookupOp/createCompatibleDestImage.java0000644000175000001440000001223210477317752026476 0ustar dokousers/* createCompatibleDestImage.java -- some checks for the createCompatibleDestImage() method of the LookupOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.image.LookupOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.BufferedImage; import java.awt.image.ByteLookupTable; import java.awt.image.DataBuffer; import java.awt.image.DirectColorModel; import java.awt.image.LookupOp; /** * Checks for the createCompatibleDestImage method in the * {@link LookupOp} class. */ public class createCompatibleDestImage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { simpleTest(harness); colorModelTest(harness); } private void simpleTest(TestHarness harness) { harness.checkPoint("createCompatibleDestImage"); // Simple test byte[] bytes = new byte[] {(byte) 0xAA, (byte) 0xBB}; ByteLookupTable t = new ByteLookupTable(0, bytes); LookupOp op = new LookupOp(t, null); BufferedImage img = new BufferedImage(25, 40, BufferedImage.TYPE_INT_RGB); BufferedImage dest = op.createCompatibleDestImage(img, img.getColorModel()); harness.check(dest.getHeight(), 40); harness.check(dest.getWidth(), 25); harness.check(dest.getColorModel(), img.getColorModel()); // Try a different colour model img = new BufferedImage(25, 40, BufferedImage.TYPE_INT_RGB); DirectColorModel cm = new DirectColorModel(16, 0x0f00, 0x00f0, 0x000f); dest = op.createCompatibleDestImage(img, cm); harness.check(dest.getHeight(), 40); harness.check(dest.getWidth(), 25); harness.check(dest.getColorModel(), cm); } // Test all the default color models private void colorModelTest(TestHarness harness) { byte[] bytes = new byte[] {(byte) 0xAA, (byte) 0xBB}; ByteLookupTable t = new ByteLookupTable(0, bytes); LookupOp op = new LookupOp(t, null); int[] types = {BufferedImage.TYPE_INT_RGB, BufferedImage.TYPE_INT_ARGB, BufferedImage.TYPE_INT_ARGB_PRE, BufferedImage.TYPE_3BYTE_BGR, BufferedImage.TYPE_4BYTE_ABGR, BufferedImage.TYPE_4BYTE_ABGR_PRE, BufferedImage.TYPE_USHORT_565_RGB, BufferedImage.TYPE_USHORT_555_RGB, BufferedImage.TYPE_BYTE_GRAY, BufferedImage.TYPE_USHORT_GRAY}; // Skipped types that are not implemented yet: // TYPE_CUSTOM, TYPE_INT_BGR, TYPE_BYTE_BINARY, TYPE_BYTE_INDEXED for (int i = 0; i < types.length; i++) { int type = types[i]; harness.checkPoint("type: " + type); BufferedImage img = new BufferedImage(25, 40, type); BufferedImage dest = op.createCompatibleDestImage(img, null); // Unlike most Ops, this one creates a clone of the original image // Except there's a strange exception for TYPE_USHORT_GRAY ??? if (type == BufferedImage.TYPE_USHORT_GRAY) { harness.check(dest.getColorModel().getPixelSize(), 8); harness.check(dest.getColorModel().getTransferType(), DataBuffer.TYPE_BYTE); } else { harness.check(dest.getColorModel().getPixelSize(), img.getColorModel().getPixelSize()); harness.check(dest.getColorModel().getTransferType(), img.getColorModel().getTransferType()); } harness.check(dest.getColorModel().getClass() == img.getColorModel().getClass()); harness.check(dest.getSampleModel().getClass() == img.getSampleModel().getClass()); harness.check(dest.getColorModel().getNumComponents(), img.getColorModel().getNumComponents()); harness.check(dest.getColorModel().getTransparency(), img.getColorModel().getTransparency()); harness.check(dest.getColorModel().hasAlpha(), img.getColorModel().hasAlpha()); harness.check(dest.getColorModel().isAlphaPremultiplied(), img.getColorModel().isAlphaPremultiplied()); harness.check(dest.getColorModel().getColorSpace().getType(), img.getColorModel().getColorSpace().getType()); harness.check(dest.getRaster().getNumBands(), img.getRaster().getNumBands()); harness.check(dest.getRaster().getNumDataElements(), img.getRaster().getNumDataElements()); } } } mauve-20140821/gnu/testlet/java/awt/image/LookupOp/getPoint2D.java0000644000175000001440000000335410457211307023417 0ustar dokousers/* getPoint2D.java -- some checks for the getPoint2D() method in the LookupOp class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.LookupOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Point2D; import java.awt.image.ByteLookupTable; import java.awt.image.LookupOp; public class getPoint2D implements Testlet { public void test(TestHarness harness) { byte[] bytes = new byte[] {(byte) 0xAA, (byte) 0xBB}; ByteLookupTable t = new ByteLookupTable(0, bytes); LookupOp op = new LookupOp(t, null); Point2D p = new Point2D.Double(1.0, 2.0); Point2D pp = new Point2D.Double(); Point2D p1 = op.getPoint2D(p, pp); harness.check(p1, p); harness.check(p1 == pp); harness.check(p1 != p); // try null dest p1 = op.getPoint2D(p, null); harness.check(p1, p); harness.check(p1 != p); // try src == dst p1 = op.getPoint2D(p, p); harness.check(p1, p); harness.check(p1 == p); } } mauve-20140821/gnu/testlet/java/awt/image/LookupOp/getTable.java0000644000175000001440000000247010457211307023165 0ustar dokousers/* getTable.java -- some checks for the getTable() method in the LookupOp class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.LookupOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ByteLookupTable; import java.awt.image.LookupOp; public class getTable implements Testlet { public void test(TestHarness harness) { byte[] bytes = new byte[] {(byte) 0xAA, (byte) 0xBB}; ByteLookupTable t = new ByteLookupTable(0, bytes); LookupOp op = new LookupOp(t, null); harness.check(op.getTable() == t); } } mauve-20140821/gnu/testlet/java/awt/image/LookupOp/getRenderingHints.java0000644000175000001440000000313210457211307025055 0ustar dokousers/* getRenderingHints.java -- some checks for the getRenderingHints() method in the LookupOp class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.LookupOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.RenderingHints; import java.awt.image.ByteLookupTable; import java.awt.image.LookupOp; public class getRenderingHints implements Testlet { public void test(TestHarness harness) { byte[] bytes = new byte[] {(byte) 0xAA, (byte) 0xBB}; ByteLookupTable t = new ByteLookupTable(0, bytes); RenderingHints r = new RenderingHints(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY); LookupOp op = new LookupOp(t, r); harness.check(op.getRenderingHints() == r); op = new LookupOp(t, null); harness.check(op.getRenderingHints() == null); } } mauve-20140821/gnu/testlet/java/awt/image/LookupOp/filterRaster.java0000644000175000001440000002661510477317752024130 0ustar dokousers/* filterRaster.java -- some checks for the filter() methods in the LookupOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.LookupOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ByteLookupTable; import java.awt.image.DataBuffer; import java.awt.image.LookupOp; import java.awt.image.Raster; import java.awt.image.WritableRaster; public class filterRaster implements Testlet { public void test(TestHarness harness) { // These tests crash sun's JVM! //testRaster1(harness); //testRaster2(harness); //testRaster3(harness); } public void testRaster1(TestHarness harness) { harness.checkPoint("testRaster1()"); Raster src = createRasterA(); WritableRaster dest = src.createCompatibleWritableRaster(); byte[] bytes = new byte[] {(byte) 0xAA, (byte) 0xBB}; ByteLookupTable t = new ByteLookupTable(0, bytes); LookupOp op = new LookupOp(t, null); dest = op.filter(src, dest); harness.check(dest.getSample(0, 0, 0), 1); harness.check(dest.getSample(1, 0, 0), 2); harness.check(dest.getSample(2, 0, 0), 3); harness.check(dest.getSample(3, 0, 0), 4); harness.check(dest.getSample(4, 0, 0), 5); harness.check(dest.getSample(0, 1, 0), 6); harness.check(dest.getSample(1, 1, 0), 7); harness.check(dest.getSample(2, 1, 0), 8); harness.check(dest.getSample(3, 1, 0), 9); harness.check(dest.getSample(4, 1, 0), 10); harness.check(dest.getSample(0, 2, 0), 11); harness.check(dest.getSample(1, 2, 0), 12); harness.check(dest.getSample(2, 2, 0), 13); harness.check(dest.getSample(3, 2, 0), 14); harness.check(dest.getSample(4, 2, 0), 15); harness.check(dest.getSample(0, 3, 0), 16); harness.check(dest.getSample(1, 3, 0), 17); harness.check(dest.getSample(2, 3, 0), 18); harness.check(dest.getSample(3, 3, 0), 19); harness.check(dest.getSample(4, 3, 0), 20); harness.check(dest.getSample(0, 0, 1), 11); harness.check(dest.getSample(1, 0, 1), 12); harness.check(dest.getSample(2, 0, 1), 13); harness.check(dest.getSample(3, 0, 1), 14); harness.check(dest.getSample(4, 0, 1), 15); harness.check(dest.getSample(0, 1, 1), 16); harness.check(dest.getSample(1, 1, 1), 17); harness.check(dest.getSample(2, 1, 1), 18); harness.check(dest.getSample(3, 1, 1), 19); harness.check(dest.getSample(4, 1, 1), 20); harness.check(dest.getSample(0, 2, 1), 21); harness.check(dest.getSample(1, 2, 1), 22); harness.check(dest.getSample(2, 2, 1), 23); harness.check(dest.getSample(3, 2, 1), 24); harness.check(dest.getSample(4, 2, 1), 25); harness.check(dest.getSample(0, 3, 1), 26); harness.check(dest.getSample(1, 3, 1), 27); harness.check(dest.getSample(2, 3, 1), 28); harness.check(dest.getSample(3, 3, 1), 29); harness.check(dest.getSample(4, 3, 1), 30); harness.check(dest.getSample(0, 0, 2), 21); harness.check(dest.getSample(1, 0, 2), 22); harness.check(dest.getSample(2, 0, 2), 23); harness.check(dest.getSample(3, 0, 2), 24); harness.check(dest.getSample(4, 0, 2), 25); harness.check(dest.getSample(0, 1, 2), 26); harness.check(dest.getSample(1, 1, 2), 27); harness.check(dest.getSample(2, 1, 2), 28); harness.check(dest.getSample(3, 1, 2), 29); harness.check(dest.getSample(4, 1, 2), 30); harness.check(dest.getSample(0, 2, 2), 31); harness.check(dest.getSample(1, 2, 2), 32); harness.check(dest.getSample(2, 2, 2), 33); harness.check(dest.getSample(3, 2, 2), 34); harness.check(dest.getSample(4, 2, 2), 35); harness.check(dest.getSample(0, 3, 2), 36); harness.check(dest.getSample(1, 3, 2), 37); harness.check(dest.getSample(2, 3, 2), 38); harness.check(dest.getSample(3, 3, 2), 39); harness.check(dest.getSample(4, 3, 2), 40); } public void testRaster2(TestHarness harness) { harness.checkPoint("testRaster2()"); Raster src = createRasterA(); WritableRaster dest = src.createCompatibleWritableRaster(); byte[] bytes = new byte[] {(byte) 0xAA, (byte) 0xBB}; ByteLookupTable t = new ByteLookupTable(0, bytes); LookupOp op = new LookupOp(t, null); dest = op.filter(src, dest); harness.check(dest.getSample(0, 0, 0), 0); harness.check(dest.getSample(1, 0, 0), 0); harness.check(dest.getSample(2, 0, 0), 0); harness.check(dest.getSample(3, 0, 0), 0); harness.check(dest.getSample(4, 0, 0), 0); harness.check(dest.getSample(0, 1, 0), 0); harness.check(dest.getSample(1, 1, 0), 7); harness.check(dest.getSample(2, 1, 0), 8); harness.check(dest.getSample(3, 1, 0), 9); harness.check(dest.getSample(4, 1, 0), 0); harness.check(dest.getSample(0, 2, 0), 0); harness.check(dest.getSample(1, 2, 0), 12); harness.check(dest.getSample(2, 2, 0), 13); harness.check(dest.getSample(3, 2, 0), 14); harness.check(dest.getSample(4, 2, 0), 0); harness.check(dest.getSample(0, 3, 0), 0); harness.check(dest.getSample(1, 3, 0), 0); harness.check(dest.getSample(2, 3, 0), 0); harness.check(dest.getSample(3, 3, 0), 0); harness.check(dest.getSample(4, 3, 0), 0); harness.check(dest.getSample(0, 0, 1), 0); harness.check(dest.getSample(1, 0, 1), 0); harness.check(dest.getSample(2, 0, 1), 0); harness.check(dest.getSample(3, 0, 1), 0); harness.check(dest.getSample(4, 0, 1), 0); harness.check(dest.getSample(0, 1, 1), 0); harness.check(dest.getSample(1, 1, 1), 17); harness.check(dest.getSample(2, 1, 1), 18); harness.check(dest.getSample(3, 1, 1), 19); harness.check(dest.getSample(4, 1, 1), 0); harness.check(dest.getSample(0, 2, 1), 0); harness.check(dest.getSample(1, 2, 1), 22); harness.check(dest.getSample(2, 2, 1), 23); harness.check(dest.getSample(3, 2, 1), 24); harness.check(dest.getSample(4, 2, 1), 0); harness.check(dest.getSample(0, 3, 1), 0); harness.check(dest.getSample(1, 3, 1), 0); harness.check(dest.getSample(2, 3, 1), 0); harness.check(dest.getSample(3, 3, 1), 0); harness.check(dest.getSample(4, 3, 1), 0); harness.check(dest.getSample(0, 0, 2), 0); harness.check(dest.getSample(1, 0, 2), 0); harness.check(dest.getSample(2, 0, 2), 0); harness.check(dest.getSample(3, 0, 2), 0); harness.check(dest.getSample(4, 0, 2), 0); harness.check(dest.getSample(0, 1, 2), 0); harness.check(dest.getSample(1, 1, 2), 27); harness.check(dest.getSample(2, 1, 2), 28); harness.check(dest.getSample(3, 1, 2), 29); harness.check(dest.getSample(4, 1, 2), 0); harness.check(dest.getSample(0, 2, 2), 0); harness.check(dest.getSample(1, 2, 2), 32); harness.check(dest.getSample(2, 2, 2), 33); harness.check(dest.getSample(3, 2, 2), 34); harness.check(dest.getSample(4, 2, 2), 0); harness.check(dest.getSample(0, 3, 2), 0); harness.check(dest.getSample(1, 3, 2), 0); harness.check(dest.getSample(2, 3, 2), 0); harness.check(dest.getSample(3, 3, 2), 0); harness.check(dest.getSample(4, 3, 2), 0); } public void testRaster3(TestHarness harness) { harness.checkPoint("testRaster3()"); Raster src = createRasterA(); WritableRaster dest = src.createCompatibleWritableRaster(); byte[] bytes = new byte[] {(byte) 0xAA, (byte) 0xBB}; ByteLookupTable t = new ByteLookupTable(0, bytes); LookupOp op = new LookupOp(t, null); dest = op.filter(src, dest); harness.check(dest.getSample(0, 0, 0), 1); harness.check(dest.getSample(1, 0, 0), 2); harness.check(dest.getSample(2, 0, 0), 3); harness.check(dest.getSample(3, 0, 0), 4); harness.check(dest.getSample(4, 0, 0), 5); harness.check(dest.getSample(0, 1, 0), 6); harness.check(dest.getSample(1, 1, 0), 21); harness.check(dest.getSample(2, 1, 0), 26); harness.check(dest.getSample(3, 1, 0), 30); harness.check(dest.getSample(4, 1, 0), 10); harness.check(dest.getSample(0, 2, 0), 11); harness.check(dest.getSample(1, 2, 0), 44); harness.check(dest.getSample(2, 2, 0), 48); harness.check(dest.getSample(3, 2, 0), 53); harness.check(dest.getSample(4, 2, 0), 15); harness.check(dest.getSample(0, 3, 0), 16); harness.check(dest.getSample(1, 3, 0), 17); harness.check(dest.getSample(2, 3, 0), 18); harness.check(dest.getSample(3, 3, 0), 19); harness.check(dest.getSample(4, 3, 0), 20); harness.check(dest.getSample(0, 0, 1), 11); harness.check(dest.getSample(1, 0, 1), 12); harness.check(dest.getSample(2, 0, 1), 13); harness.check(dest.getSample(3, 0, 1), 14); harness.check(dest.getSample(4, 0, 1), 15); harness.check(dest.getSample(0, 1, 1), 16); harness.check(dest.getSample(1, 1, 1), 66); harness.check(dest.getSample(2, 1, 1), 71); harness.check(dest.getSample(3, 1, 1), 75); harness.check(dest.getSample(4, 1, 1), 20); harness.check(dest.getSample(0, 2, 1), 21); harness.check(dest.getSample(1, 2, 1), 89); harness.check(dest.getSample(2, 2, 1), 93); harness.check(dest.getSample(3, 2, 1), 98); harness.check(dest.getSample(4, 2, 1), 25); harness.check(dest.getSample(0, 3, 1), 26); harness.check(dest.getSample(1, 3, 1), 27); harness.check(dest.getSample(2, 3, 1), 28); harness.check(dest.getSample(3, 3, 1), 29); harness.check(dest.getSample(4, 3, 1), 30); harness.check(dest.getSample(0, 0, 2), 21); harness.check(dest.getSample(1, 0, 2), 22); harness.check(dest.getSample(2, 0, 2), 23); harness.check(dest.getSample(3, 0, 2), 24); harness.check(dest.getSample(4, 0, 2), 25); harness.check(dest.getSample(0, 1, 2), 26); harness.check(dest.getSample(1, 1, 2), 111); harness.check(dest.getSample(2, 1, 2), 116); harness.check(dest.getSample(3, 1, 2), 120); harness.check(dest.getSample(4, 1, 2), 30); harness.check(dest.getSample(0, 2, 2), 31); harness.check(dest.getSample(1, 2, 2), 134); harness.check(dest.getSample(2, 2, 2), 138); harness.check(dest.getSample(3, 2, 2), 143); harness.check(dest.getSample(4, 2, 2), 35); harness.check(dest.getSample(0, 3, 2), 36); harness.check(dest.getSample(1, 3, 2), 37); harness.check(dest.getSample(2, 3, 2), 38); harness.check(dest.getSample(3, 3, 2), 39); harness.check(dest.getSample(4, 3, 2), 40); } /** * Creates a sample raster for testing. * * @return A raster. */ private Raster createRasterA() { WritableRaster r = Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE, 5, 4, 3, null); for (int i = 0; i < 5; i++) { for (int j = 0; j < 4; j++) { r.setSample(i, j, 0, j * 5 + i + 1); r.setSample(i, j, 1, j * 5 + i + 11); r.setSample(i, j, 2, j * 5 + i + 21); } } return r; } } mauve-20140821/gnu/testlet/java/awt/image/LookupOp/constructor.java0000644000175000001440000000317410457211307024025 0ustar dokousers/* constructor.java -- some checks for the constructor in the LookupOp class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.LookupOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.RenderingHints; import java.awt.image.ByteLookupTable; import java.awt.image.LookupOp; public class constructor implements Testlet { public void test(TestHarness harness) { byte[] bytes = new byte[] {(byte) 0xAA, (byte) 0xBB}; ByteLookupTable t = new ByteLookupTable(0, bytes); RenderingHints r = new RenderingHints(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY); LookupOp op = new LookupOp(t, r); harness.check(op.getTable() == t); harness.check(op.getRenderingHints() == r); // try null RenderingHints op = new LookupOp(t, null); harness.check(op.getRenderingHints(), null); } } mauve-20140821/gnu/testlet/java/awt/image/LookupOp/filterImage.java0000644000175000001440000006405710477317752023714 0ustar dokousers/* filterImage.java -- some checks for the filter(Image) method of the ConvolveOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.image.LookupOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.BufferedImage; import java.awt.image.ByteLookupTable; import java.awt.image.ConvolveOp; import java.awt.image.LookupOp; import java.awt.image.ShortLookupTable; import java.awt.image.WritableRaster; /** * Checks the filter(BufferedImage) method in the {@link ConvolveOp} class. */ public class filterImage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testDefaults(harness); // Test lookup with only one lookup array: all colour components, but not // alpha component, should be operated on testOneLookup(harness, false); testOneLookup(harness, true); // Test lookup with num lookup arrays == num colour components, so alpha // component should be left alone testColourLookup(harness, false); testColourLookup(harness, true); // Test lookup with num lookup arrays == num components including alpha testAllLookup(harness, false); testAllLookup(harness, true); // Test behaviour when pixel value is not defined in lookup table testUndefined(harness); } private void testDefaults(TestHarness harness) { harness.checkPoint("testDefaults"); // Create an image to work on BufferedImage img = new BufferedImage(20, 20, BufferedImage.TYPE_USHORT_GRAY); byte[] bytes = new byte[] {(byte) 0xAA, (byte) 0xBB}; ByteLookupTable t = new ByteLookupTable(0, bytes); LookupOp op = new LookupOp(t, null); // Simple tests BufferedImage dst = op.filter(img, null); harness.check(dst.getType(), op.createCompatibleDestImage(img, null).getType()); dst = new BufferedImage(20, 20, BufferedImage.TYPE_USHORT_GRAY); try { dst = op.filter(img, dst); harness.check(true); } catch (IllegalArgumentException ex) { harness.check(false); } // Src and dst images can be the same try { op.filter(img, img); harness.check(true); } catch (IllegalArgumentException e) { harness.check(false); } finally { // Reset image for next test img = new BufferedImage(20, 20, BufferedImage.TYPE_USHORT_GRAY); } // Src and dst are different sizes - not allowed dst = new BufferedImage(30, 40, BufferedImage.TYPE_USHORT_GRAY); try { op.filter(img, dst); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // Src and dst have different tpyes (allowed) dst = new BufferedImage(20, 20, BufferedImage.TYPE_BYTE_GRAY); try { op.filter(img, dst); harness.check(true); } catch (IllegalArgumentException e) { harness.check(false); } // src and dst can even have different number of bands dst = new BufferedImage(20, 20, BufferedImage.TYPE_INT_ARGB); try { op.filter(img, dst); harness.check(true); harness.check(img.getType(), BufferedImage.TYPE_USHORT_GRAY); harness.check(dst.getType(), BufferedImage.TYPE_INT_ARGB); } catch (IllegalArgumentException ex) { harness.check(false); } } private void testOneLookup(TestHarness harness, boolean premultiply) { if (premultiply) harness.checkPoint("testOneLookup with premultiply"); else harness.checkPoint("testOneLookup without premultiply"); // Create an image to work on BufferedImage img; if (premultiply) img = new BufferedImage(5, 5, BufferedImage.TYPE_INT_ARGB_PRE); else img = new BufferedImage(5, 5, BufferedImage.TYPE_INT_ARGB); createImage(img); byte[] bytes = new byte[] {12, 23, 14, 35, 48, 2}; ByteLookupTable t = new ByteLookupTable(0, bytes); LookupOp op = new LookupOp(t, null); BufferedImage dst = new BufferedImage(5, 5, BufferedImage.TYPE_INT_ARGB); dst = op.filter(img, dst); WritableRaster dest = dst.getRaster(); harness.check(img.isAlphaPremultiplied(), premultiply); harness.check(dst.isAlphaPremultiplied(), false); harness.check(dest.getSample(0, 0, 0), 23); harness.check(dest.getSample(1, 0, 0), 35); harness.check(dest.getSample(2, 0, 0), 23); harness.check(dest.getSample(3, 0, 0), 35); harness.check(dest.getSample(4, 0, 0), 23); harness.check(dest.getSample(0, 1, 0), 48); harness.check(dest.getSample(1, 1, 0), 14); harness.check(dest.getSample(2, 1, 0), 48); harness.check(dest.getSample(3, 1, 0), 14); harness.check(dest.getSample(4, 1, 0), 48); harness.check(dest.getSample(0, 2, 0), 23); harness.check(dest.getSample(1, 2, 0), 35); harness.check(dest.getSample(2, 2, 0), 23); harness.check(dest.getSample(3, 2, 0), 35); harness.check(dest.getSample(4, 2, 0), 23); harness.check(dest.getSample(0, 3, 0), 48); harness.check(dest.getSample(1, 3, 0), 14); harness.check(dest.getSample(2, 3, 0), 48); harness.check(dest.getSample(3, 3, 0), 14); harness.check(dest.getSample(4, 3, 0), 48); harness.check(dest.getSample(0, 4, 0), 23); harness.check(dest.getSample(1, 4, 0), 35); harness.check(dest.getSample(2, 4, 0), 23); harness.check(dest.getSample(3, 4, 0), 35); harness.check(dest.getSample(4, 4, 0), 23); harness.check(dest.getSample(0, 0, 1), 12); harness.check(dest.getSample(1, 0, 1), 48); harness.check(dest.getSample(2, 0, 1), 12); harness.check(dest.getSample(3, 0, 1), 48); harness.check(dest.getSample(4, 0, 1), 12); harness.check(dest.getSample(0, 1, 1), 35); harness.check(dest.getSample(1, 1, 1), 23); harness.check(dest.getSample(2, 1, 1), 35); harness.check(dest.getSample(3, 1, 1), 23); harness.check(dest.getSample(4, 1, 1), 35); harness.check(dest.getSample(0, 2, 1), 12); harness.check(dest.getSample(1, 2, 1), 48); harness.check(dest.getSample(2, 2, 1), 12); harness.check(dest.getSample(3, 2, 1), 48); harness.check(dest.getSample(4, 2, 1), 12); harness.check(dest.getSample(0, 3, 1), 35); harness.check(dest.getSample(1, 3, 1), 23); harness.check(dest.getSample(2, 3, 1), 35); harness.check(dest.getSample(3, 3, 1), 23); harness.check(dest.getSample(4, 3, 1), 35); harness.check(dest.getSample(0, 4, 1), 12); harness.check(dest.getSample(1, 4, 1), 48); harness.check(dest.getSample(2, 4, 1), 12); harness.check(dest.getSample(3, 4, 1), 48); harness.check(dest.getSample(4, 4, 1), 12); // Sun's implementation uses RGAB (alpha as the 3rd band), as opposed to // our RGBA, so these tests will fail... however these might not be worth // changing, so left them commented out for now. /* harness.check(dest.getSample(0, 0, 2), 2); harness.check(dest.getSample(1, 0, 2), 3); harness.check(dest.getSample(2, 0, 2), 2); harness.check(dest.getSample(3, 0, 2), 3); harness.check(dest.getSample(4, 0, 2), 2); harness.check(dest.getSample(0, 1, 2), 4); harness.check(dest.getSample(1, 1, 2), 2); harness.check(dest.getSample(2, 1, 2), 4); harness.check(dest.getSample(3, 1, 2), 2); harness.check(dest.getSample(4, 1, 2), 4); harness.check(dest.getSample(0, 2, 2), 2); harness.check(dest.getSample(1, 2, 2), 3); harness.check(dest.getSample(2, 2, 2), 2); harness.check(dest.getSample(3, 2, 2), 3); harness.check(dest.getSample(4, 2, 2), 2); harness.check(dest.getSample(0, 3, 2), 4); harness.check(dest.getSample(1, 3, 2), 2); harness.check(dest.getSample(2, 3, 2), 4); harness.check(dest.getSample(3, 3, 2), 2); harness.check(dest.getSample(4, 3, 2), 4); harness.check(dest.getSample(0, 4, 2), 2); harness.check(dest.getSample(1, 4, 2), 3); harness.check(dest.getSample(2, 4, 2), 2); harness.check(dest.getSample(3, 4, 2), 3); harness.check(dest.getSample(4, 4, 2), 2); harness.check(dest.getSample(0, 0, 3), 12); harness.check(dest.getSample(1, 0, 3), 48); harness.check(dest.getSample(2, 0, 3), 12); harness.check(dest.getSample(3, 0, 3), 48); harness.check(dest.getSample(4, 0, 3), 12); harness.check(dest.getSample(0, 1, 3), 35); harness.check(dest.getSample(1, 1, 3), 23); harness.check(dest.getSample(2, 1, 3), 35); harness.check(dest.getSample(3, 1, 3), 23); harness.check(dest.getSample(4, 1, 3), 35); harness.check(dest.getSample(0, 2, 3), 12); harness.check(dest.getSample(1, 2, 3), 48); harness.check(dest.getSample(2, 2, 3), 12); harness.check(dest.getSample(3, 2, 3), 48); harness.check(dest.getSample(4, 2, 3), 12); harness.check(dest.getSample(0, 3, 3), 35); harness.check(dest.getSample(1, 3, 3), 23); harness.check(dest.getSample(2, 3, 3), 35); harness.check(dest.getSample(3, 3, 3), 23); harness.check(dest.getSample(4, 3, 3), 35); harness.check(dest.getSample(0, 4, 3), 12); harness.check(dest.getSample(1, 4, 3), 48); harness.check(dest.getSample(2, 4, 3), 12); harness.check(dest.getSample(3, 4, 3), 48); harness.check(dest.getSample(4, 4, 3), 12); */ } private void testColourLookup(TestHarness harness, boolean premultiply) { if (premultiply) harness.checkPoint("testColourLookup with premultiply"); else harness.checkPoint("testColourLookup without premultiply"); // Create an image to work on BufferedImage img; if (premultiply) img = new BufferedImage(5, 5, BufferedImage.TYPE_INT_ARGB_PRE); else img = new BufferedImage(5, 5, BufferedImage.TYPE_INT_ARGB); createImage(img); short[][] lutarray = new short[][] {{12, 23, 14, 35, 48, 2}, {112, 123, 114, 135, 148, 102}, {212, 223, 214, 235, 248, 202} }; ShortLookupTable t = new ShortLookupTable(0, lutarray); LookupOp op = new LookupOp(t, null); BufferedImage dst = new BufferedImage(5, 5, BufferedImage.TYPE_INT_ARGB); /* This causes Sun to throw an exception... * * java.lang.IllegalArgumentException: Number of channels in the src (4) * does not match number of channels in the destination (2) * * I'm pretty sure it's a bug, but it's not one that's worth mimicing. * This test will not run on Sun. */ try { dst = op.filter(img, dst); WritableRaster dest = dst.getRaster(); harness.check(img.isAlphaPremultiplied(), premultiply); harness.check(dst.isAlphaPremultiplied(), false); harness.check(dest.getSample(0, 0, 0), 23); harness.check(dest.getSample(1, 0, 0), 35); harness.check(dest.getSample(2, 0, 0), 23); harness.check(dest.getSample(3, 0, 0), 35); harness.check(dest.getSample(4, 0, 0), 23); harness.check(dest.getSample(0, 1, 0), 48); harness.check(dest.getSample(1, 1, 0), 14); harness.check(dest.getSample(2, 1, 0), 48); harness.check(dest.getSample(3, 1, 0), 14); harness.check(dest.getSample(4, 1, 0), 48); harness.check(dest.getSample(0, 2, 0), 23); harness.check(dest.getSample(1, 2, 0), 35); harness.check(dest.getSample(2, 2, 0), 23); harness.check(dest.getSample(3, 2, 0), 35); harness.check(dest.getSample(4, 2, 0), 23); harness.check(dest.getSample(0, 3, 0), 48); harness.check(dest.getSample(1, 3, 0), 14); harness.check(dest.getSample(2, 3, 0), 48); harness.check(dest.getSample(3, 3, 0), 14); harness.check(dest.getSample(4, 3, 0), 48); harness.check(dest.getSample(0, 4, 0), 23); harness.check(dest.getSample(1, 4, 0), 35); harness.check(dest.getSample(2, 4, 0), 23); harness.check(dest.getSample(3, 4, 0), 35); harness.check(dest.getSample(4, 4, 0), 23); harness.check(dest.getSample(0, 0, 1), 112); harness.check(dest.getSample(1, 0, 1), 148); harness.check(dest.getSample(2, 0, 1), 112); harness.check(dest.getSample(3, 0, 1), 148); harness.check(dest.getSample(4, 0, 1), 112); harness.check(dest.getSample(0, 1, 1), 135); harness.check(dest.getSample(1, 1, 1), 123); harness.check(dest.getSample(2, 1, 1), 135); harness.check(dest.getSample(3, 1, 1), 123); harness.check(dest.getSample(4, 1, 1), 135); harness.check(dest.getSample(0, 2, 1), 112); harness.check(dest.getSample(1, 2, 1), 148); harness.check(dest.getSample(2, 2, 1), 112); harness.check(dest.getSample(3, 2, 1), 148); harness.check(dest.getSample(4, 2, 1), 112); harness.check(dest.getSample(0, 3, 1), 135); harness.check(dest.getSample(1, 3, 1), 123); harness.check(dest.getSample(2, 3, 1), 135); harness.check(dest.getSample(3, 3, 1), 123); harness.check(dest.getSample(4, 3, 1), 135); harness.check(dest.getSample(0, 4, 1), 112); harness.check(dest.getSample(1, 4, 1), 148); harness.check(dest.getSample(2, 4, 1), 112); harness.check(dest.getSample(3, 4, 1), 148); harness.check(dest.getSample(4, 4, 1), 112); // Sun's implementation uses RGAB (alpha as the 3rd band), as opposed to // our RGBA, so these tests will fail... however these might not be worth // changing, so left them commented out for now. /* harness.check(dest.getSample(0, 0, 2), 2); harness.check(dest.getSample(1, 0, 2), 3); harness.check(dest.getSample(2, 0, 2), 2); harness.check(dest.getSample(3, 0, 2), 3); harness.check(dest.getSample(4, 0, 2), 2); harness.check(dest.getSample(0, 1, 2), 4); harness.check(dest.getSample(1, 1, 2), 2); harness.check(dest.getSample(2, 1, 2), 4); harness.check(dest.getSample(3, 1, 2), 2); harness.check(dest.getSample(4, 1, 2), 4); harness.check(dest.getSample(0, 2, 2), 2); harness.check(dest.getSample(1, 2, 2), 3); harness.check(dest.getSample(2, 2, 2), 2); harness.check(dest.getSample(3, 2, 2), 3); harness.check(dest.getSample(4, 2, 2), 2); harness.check(dest.getSample(0, 3, 2), 4); harness.check(dest.getSample(1, 3, 2), 2); harness.check(dest.getSample(2, 3, 2), 4); harness.check(dest.getSample(3, 3, 2), 2); harness.check(dest.getSample(4, 3, 2), 4); harness.check(dest.getSample(0, 4, 2), 2); harness.check(dest.getSample(1, 4, 2), 3); harness.check(dest.getSample(2, 4, 2), 2); harness.check(dest.getSample(3, 4, 2), 3); harness.check(dest.getSample(4, 4, 2), 2); harness.check(dest.getSample(0, 0, 3), 212); harness.check(dest.getSample(1, 0, 3), 248); harness.check(dest.getSample(2, 0, 3), 212); harness.check(dest.getSample(3, 0, 3), 248); harness.check(dest.getSample(4, 0, 3), 212); harness.check(dest.getSample(0, 1, 3), 235); harness.check(dest.getSample(1, 1, 3), 223); harness.check(dest.getSample(2, 1, 3), 235); harness.check(dest.getSample(3, 1, 3), 223); harness.check(dest.getSample(4, 1, 3), 235); harness.check(dest.getSample(0, 2, 3), 212); harness.check(dest.getSample(1, 2, 3), 248); harness.check(dest.getSample(2, 2, 3), 212); harness.check(dest.getSample(3, 2, 3), 248); harness.check(dest.getSample(4, 2, 3), 212); harness.check(dest.getSample(0, 3, 3), 235); harness.check(dest.getSample(1, 3, 3), 223); harness.check(dest.getSample(2, 3, 3), 235); harness.check(dest.getSample(3, 3, 3), 223); harness.check(dest.getSample(4, 3, 3), 235); harness.check(dest.getSample(0, 4, 3), 212); harness.check(dest.getSample(1, 4, 3), 248); harness.check(dest.getSample(2, 4, 3), 212); harness.check(dest.getSample(3, 4, 3), 248); harness.check(dest.getSample(4, 4, 3), 212); */ } catch (IllegalArgumentException ex) { harness.debug("Test did not run - this is expected on Sun due to a " + "bug in their implementation, but this message should not show " + "when testing Classpath."); } } private void testAllLookup(TestHarness harness, boolean premultiply) { if (premultiply) harness.checkPoint("testAllLookup with premultiply"); else harness.checkPoint("testAllLookup without premultiply"); // Create an image to work on BufferedImage img; if (premultiply) img = new BufferedImage(5, 5, BufferedImage.TYPE_INT_ARGB_PRE); else img = new BufferedImage(5, 5, BufferedImage.TYPE_INT_ARGB); createImage(img); short[][] lutarray = new short[][] {{12, 23, 14, 35, 48, 2}, {112, 123, 114, 135, 148, 102}, {212, 223, 214, 235, 248, 202}, {62, 73, 64, 85, 98, 52} }; ShortLookupTable t = new ShortLookupTable(0, lutarray); LookupOp op = new LookupOp(t, null); BufferedImage dst = new BufferedImage(5, 5, BufferedImage.TYPE_INT_ARGB); dst = op.filter(img, dst); WritableRaster dest = dst.getRaster(); harness.check(img.isAlphaPremultiplied(), premultiply); harness.check(dst.isAlphaPremultiplied(), false); harness.check(dest.getSample(0, 0, 0), 23); harness.check(dest.getSample(1, 0, 0), 35); harness.check(dest.getSample(2, 0, 0), 23); harness.check(dest.getSample(3, 0, 0), 35); harness.check(dest.getSample(4, 0, 0), 23); harness.check(dest.getSample(0, 1, 0), 48); harness.check(dest.getSample(1, 1, 0), 14); harness.check(dest.getSample(2, 1, 0), 48); harness.check(dest.getSample(3, 1, 0), 14); harness.check(dest.getSample(4, 1, 0), 48); harness.check(dest.getSample(0, 2, 0), 23); harness.check(dest.getSample(1, 2, 0), 35); harness.check(dest.getSample(2, 2, 0), 23); harness.check(dest.getSample(3, 2, 0), 35); harness.check(dest.getSample(4, 2, 0), 23); harness.check(dest.getSample(0, 3, 0), 48); harness.check(dest.getSample(1, 3, 0), 14); harness.check(dest.getSample(2, 3, 0), 48); harness.check(dest.getSample(3, 3, 0), 14); harness.check(dest.getSample(4, 3, 0), 48); harness.check(dest.getSample(0, 4, 0), 23); harness.check(dest.getSample(1, 4, 0), 35); harness.check(dest.getSample(2, 4, 0), 23); harness.check(dest.getSample(3, 4, 0), 35); harness.check(dest.getSample(4, 4, 0), 23); harness.check(dest.getSample(0, 0, 1), 112); harness.check(dest.getSample(1, 0, 1), 148); harness.check(dest.getSample(2, 0, 1), 112); harness.check(dest.getSample(3, 0, 1), 148); harness.check(dest.getSample(4, 0, 1), 112); harness.check(dest.getSample(0, 1, 1), 135); harness.check(dest.getSample(1, 1, 1), 123); harness.check(dest.getSample(2, 1, 1), 135); harness.check(dest.getSample(3, 1, 1), 123); harness.check(dest.getSample(4, 1, 1), 135); harness.check(dest.getSample(0, 2, 1), 112); harness.check(dest.getSample(1, 2, 1), 148); harness.check(dest.getSample(2, 2, 1), 112); harness.check(dest.getSample(3, 2, 1), 148); harness.check(dest.getSample(4, 2, 1), 112); harness.check(dest.getSample(0, 3, 1), 135); harness.check(dest.getSample(1, 3, 1), 123); harness.check(dest.getSample(2, 3, 1), 135); harness.check(dest.getSample(3, 3, 1), 123); harness.check(dest.getSample(4, 3, 1), 135); harness.check(dest.getSample(0, 4, 1), 112); harness.check(dest.getSample(1, 4, 1), 148); harness.check(dest.getSample(2, 4, 1), 112); harness.check(dest.getSample(3, 4, 1), 148); harness.check(dest.getSample(4, 4, 1), 112); harness.check(dest.getSample(0, 0, 2), 214); harness.check(dest.getSample(1, 0, 2), 235); harness.check(dest.getSample(2, 0, 2), 214); harness.check(dest.getSample(3, 0, 2), 235); harness.check(dest.getSample(4, 0, 2), 214); harness.check(dest.getSample(0, 1, 2), 248); harness.check(dest.getSample(1, 1, 2), 214); harness.check(dest.getSample(2, 1, 2), 248); harness.check(dest.getSample(3, 1, 2), 214); harness.check(dest.getSample(4, 1, 2), 248); harness.check(dest.getSample(0, 2, 2), 214); harness.check(dest.getSample(1, 2, 2), 235); harness.check(dest.getSample(2, 2, 2), 214); harness.check(dest.getSample(3, 2, 2), 235); harness.check(dest.getSample(4, 2, 2), 214); harness.check(dest.getSample(0, 3, 2), 248); harness.check(dest.getSample(1, 3, 2), 214); harness.check(dest.getSample(2, 3, 2), 248); harness.check(dest.getSample(3, 3, 2), 214); harness.check(dest.getSample(4, 3, 2), 248); harness.check(dest.getSample(0, 4, 2), 214); harness.check(dest.getSample(1, 4, 2), 235); harness.check(dest.getSample(2, 4, 2), 214); harness.check(dest.getSample(3, 4, 2), 235); harness.check(dest.getSample(4, 4, 2), 214); harness.check(dest.getSample(0, 0, 3), 62); harness.check(dest.getSample(1, 0, 3), 98); harness.check(dest.getSample(2, 0, 3), 62); harness.check(dest.getSample(3, 0, 3), 98); harness.check(dest.getSample(4, 0, 3), 62); harness.check(dest.getSample(0, 1, 3), 85); harness.check(dest.getSample(1, 1, 3), 73); harness.check(dest.getSample(2, 1, 3), 85); harness.check(dest.getSample(3, 1, 3), 73); harness.check(dest.getSample(4, 1, 3), 85); harness.check(dest.getSample(0, 2, 3), 62); harness.check(dest.getSample(1, 2, 3), 98); harness.check(dest.getSample(2, 2, 3), 62); harness.check(dest.getSample(3, 2, 3), 98); harness.check(dest.getSample(4, 2, 3), 62); harness.check(dest.getSample(0, 3, 3), 85); harness.check(dest.getSample(1, 3, 3), 73); harness.check(dest.getSample(2, 3, 3), 85); harness.check(dest.getSample(3, 3, 3), 73); harness.check(dest.getSample(4, 3, 3), 85); harness.check(dest.getSample(0, 4, 3), 62); harness.check(dest.getSample(1, 4, 3), 98); harness.check(dest.getSample(2, 4, 3), 62); harness.check(dest.getSample(3, 4, 3), 98); harness.check(dest.getSample(4, 4, 3), 62); } private void testUndefined(TestHarness harness) { harness.checkPoint("testUndefined"); // Create an image to work on BufferedImage img = new BufferedImage(5, 5, BufferedImage.TYPE_INT_ARGB); WritableRaster r = img.getRaster(); r.setSample(1, 1, 0, 20); // We get the ArrayIndexOutOfBoundsException that we would expect when // using a ShortLookupTable... short[] lutarray = new short[] {0, 1, 2, 3, 4, 5, 6, 7, 8}; ShortLookupTable t = new ShortLookupTable(0, lutarray); LookupOp op = new LookupOp(t, null); try { op.filter(img, null); harness.check(false); } catch (ArrayIndexOutOfBoundsException ex) { harness.check(true); } // But a ByteLookupTable will give us undetermined results // (is a native array overflowing in sun's implementation?) byte[] bytes = new byte[] {0, 1, 2, 3, 4, 5, 6, 7, 8}; ByteLookupTable t2 = new ByteLookupTable(0, bytes); op = new LookupOp(t2, null); try { op.filter(img, null); harness.check(true); } catch (ArrayIndexOutOfBoundsException ex) { // Allow an exception to be thrown anyways, since it makes more sense harness.check(true); } // And a test for the behaviour when source and dest have a different // number of bands (since the constructor does not throw an exception) r.setSample(1, 1, 0, 5); r.setSample(1, 1, 1, 4); r.setSample(1, 1, 2, 3); r.setSample(1, 1, 3, 2); BufferedImage dst = new BufferedImage(5, 5, BufferedImage.TYPE_USHORT_GRAY); try { // It doesn't throw an exception... op.filter(img, dst); harness.check(true); } catch (IllegalArgumentException ex) { harness.check(false); } // Now try a destination with *more* bands img = new BufferedImage(5, 5, BufferedImage.TYPE_USHORT_GRAY); r = img.getRaster(); r.setSample(1, 1, 0, 5); dst = new BufferedImage(5, 5, BufferedImage.TYPE_INT_ARGB); try { // It doesn't throw an exception either... op.filter(img, dst); harness.check(true); } catch (IllegalArgumentException ex) { harness.check(false); } } // Vary pixel values in the image private void createImage(BufferedImage img) { WritableRaster r = img.getRaster(); for (int i = 0; i < r.getHeight(); i++) for (int j = 0; j < r.getWidth(); j++) { if (i % 2 == 0) if (j % 2 == 0) { r.setSample(j, i, 0, 1); r.setSample(j, i, 1, 0); r.setSample(j, i, 2, 2); r.setSample(j, i, 3, 0); } else { r.setSample(j, i, 0, 3); r.setSample(j, i, 1, 4); r.setSample(j, i, 2, 3); r.setSample(j, i, 3, 4); } else if (j % 2 == 0) { r.setSample(j, i, 0, 4); r.setSample(j, i, 1, 3); r.setSample(j, i, 2, 4); r.setSample(j, i, 3, 3); } else { r.setSample(j, i, 0, 2); r.setSample(j, i, 1, 1); r.setSample(j, i, 2, 2); r.setSample(j, i, 3, 1); } } } } mauve-20140821/gnu/testlet/java/awt/image/LookupOp/createCompatibleDestRaster.java0000644000175000001440000000632210477317752026717 0ustar dokousers/* createCompatibleDestRaster.java -- some checks for the createCompatibleDestRaster() method in the LookupOp class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.LookupOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Point; import java.awt.image.ByteLookupTable; import java.awt.image.DataBuffer; import java.awt.image.LookupOp; import java.awt.image.MultiPixelPackedSampleModel; import java.awt.image.Raster; public class createCompatibleDestRaster implements Testlet { public void test(TestHarness harness) { byte[] bytes = new byte[] {(byte) 0xAA, (byte) 0xBB}; ByteLookupTable t = new ByteLookupTable(0, bytes); LookupOp op = new LookupOp(t, null); Raster raster = Raster.createWritableRaster( new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, 8), null); Raster dest = op.createCompatibleDestRaster(raster); harness.check(dest.getWidth(), 10); harness.check(dest.getHeight(), 20); harness.check(dest.getNumBands(), 1); harness.check(dest.getSampleModel() instanceof MultiPixelPackedSampleModel); harness.check(dest.getTransferType(), raster.getTransferType()); harness.check(dest.getDataBuffer().getDataType(), raster.getDataBuffer().getDataType()); harness.check(dest.getNumDataElements(), raster.getNumDataElements()); // try null argument boolean pass = false; try { op.createCompatibleDestRaster(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // Try a different type raster = Raster.createBandedRaster(DataBuffer.TYPE_BYTE, 25, 40, 3, new Point(5, 5)); Raster dst = op.createCompatibleDestRaster(raster); harness.check(dst.getNumBands(), raster.getNumBands()); harness.check(dst.getTransferType(), raster.getTransferType()); harness.check(dst.getDataBuffer().getDataType(), raster.getDataBuffer().getDataType()); harness.check(dst.getNumDataElements(), raster.getNumDataElements()); // Try a different number of bands raster = Raster.createBandedRaster(DataBuffer.TYPE_INT, 25, 40, 5, new Point(5, 5)); dst = op.createCompatibleDestRaster(raster); harness.check(dst.getNumBands(), raster.getNumBands()); harness.check(dst.getTransferType(), raster.getTransferType()); harness.check(dst.getDataBuffer().getDataType(), raster.getDataBuffer().getDataType()); harness.check(dst.getNumDataElements(), raster.getNumDataElements()); } } mauve-20140821/gnu/testlet/java/awt/image/LookupOp/getBounds2D.java0000644000175000001440000000541510457211307023560 0ustar dokousers/* getBounds2D.java -- some checks for the getBounds2D() methods in the LookupOp class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDk1.4 package gnu.testlet.java.awt.image.LookupOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; import java.awt.image.ByteLookupTable; import java.awt.image.DataBuffer; import java.awt.image.LookupOp; import java.awt.image.MultiPixelPackedSampleModel; import java.awt.image.Raster; public class getBounds2D implements Testlet { public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("(BufferedImage)"); BufferedImage image = new BufferedImage(10, 20, BufferedImage.TYPE_INT_ARGB); byte[] bytes = new byte[] {(byte) 0xAA, (byte) 0xBB}; ByteLookupTable t = new ByteLookupTable(0, bytes); LookupOp op = new LookupOp(t, null); Rectangle2D bounds = op.getBounds2D(image); harness.check(bounds.getWidth(), 10); harness.check(bounds.getHeight(), 20); // try null argument boolean pass = false; try { op.getBounds2D((BufferedImage) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void testMethod2(TestHarness harness) { harness.checkPoint("(Raster)"); byte[] bytes = new byte[] {(byte) 0xAA, (byte) 0xBB}; ByteLookupTable t = new ByteLookupTable(0, bytes); LookupOp op = new LookupOp(t, null); Raster raster = Raster.createWritableRaster( new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, 8), null); Rectangle2D bounds = op.getBounds2D(raster); harness.check(bounds.getWidth(), 10); harness.check(bounds.getHeight(), 20); // try null argument boolean pass = false; try { op.getBounds2D((Raster) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferInt/0000755000175000001440000000000012375316426021507 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/image/DataBufferInt/constructors.java0000644000175000001440000001502010123067120025077 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.DataBufferInt; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.DataBufferInt; /** * Some tests for the constructors in the {@link DataBufferInt} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); testConstructor6(harness); } private void testConstructor1(TestHarness harness) { harness.checkPoint("DataBufferInt(int)"); DataBufferInt b1 = new DataBufferInt(1); harness.check(b1.getDataType() == DataBuffer.TYPE_INT); harness.check(b1.getSize() == 1); harness.check(b1.getNumBanks() == 1); harness.check(b1.getOffset() == 0); DataBufferInt b2 = new DataBufferInt(0); harness.check(b2.getSize() == 0); harness.check(b2.getNumBanks() == 1); harness.check(b2.getOffset() == 0); boolean pass = false; try { DataBufferInt b3 = new DataBufferInt(-1); } catch (NegativeArraySizeException e) { pass = true; } harness.check(pass); } private void testConstructor2(TestHarness harness) { harness.checkPoint("DataBufferInt(int[][], int)"); int[][] source = new int[][] {{1, 2}}; DataBufferInt b = new DataBufferInt(source, 1); harness.check(b.getSize() == 1); harness.check(b.getNumBanks() == 1); harness.check(b.getOffset() == 0); // does a change to the source array affect the buffer? yes int[][] banks = b.getBankData(); harness.check(banks[0][0] == 1); source[0][0] = 3; harness.check(banks[0][0] == 3); // check null source boolean pass = false; try { DataBufferInt b1 = new DataBufferInt((int[][]) null, 1); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check negative size DataBufferInt b1 = new DataBufferInt(source, -1); harness.check(b1.getSize() == -1); } private void testConstructor3(TestHarness harness) { harness.checkPoint("DataBufferInt(int[][], int, int[])"); int[][] source = new int[][] {{1, 2}}; DataBufferInt b = new DataBufferInt(source, 1, new int[] {0}); harness.check(b.getSize() == 1); harness.check(b.getNumBanks() == 1); harness.check(b.getOffset() == 0); // test where offsets are specified source = new int[][] {{1, 2, 3}, {4, 5, 6, 7}}; b = new DataBufferInt(source, 2, new int[] {0, 1}); harness.check(b.getSize() == 2); harness.check(b.getNumBanks() == 2); harness.check(b.getOffsets()[1] == 1); harness.check(b.getElem(1, 0) == 5); boolean pass = false; try { DataBufferInt b1 = new DataBufferInt((int[][]) null, 1, new int[] {0}); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { DataBufferInt b1 = new DataBufferInt(new int[][]{{1, 2}}, 1, (int[]) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { DataBufferInt b2 = new DataBufferInt(new int[][]{{1, 2}}, 1, new int[] {0, 0}); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testConstructor4(TestHarness harness) { harness.checkPoint("DataBufferInt(int[], int)"); DataBufferInt b = new DataBufferInt(new int[] {1, 2}, 2); harness.check(b.getSize() == 2); harness.check(b.getNumBanks() == 1); harness.check(b.getOffset() == 0); boolean pass = false; try { // this constructor doesn't throw an exception until you // try to access the (null) data bank DataBufferInt b1 = new DataBufferInt((int[]) null, 1); int ignore = b1.getElem(0); } catch (NullPointerException e) { pass = true; } harness.check(pass); } private void testConstructor5(TestHarness harness) { harness.checkPoint("DataBufferInt(int[], int, int)"); DataBufferInt b = new DataBufferInt(new int[] {1, 2}, 2, 0); harness.check(b.getSize() == 2); harness.check(b.getNumBanks() == 1); harness.check(b.getOffset() == 0); boolean pass = false; try { // this constructor doesn't throw an exception until you // try to access the (null) data bank DataBufferInt b1 = new DataBufferInt((int[]) null, 1, 0); int ignore = b1.getElem(0); } catch (NullPointerException e) { pass = true; } harness.check(pass); // does negative size fail? no pass = true; try { DataBufferInt b2 = new DataBufferInt(new int[] {1, 2}, -1, 0); } catch (NegativeArraySizeException e) { pass = false; } harness.check(pass); } private void testConstructor6(TestHarness harness) { harness.checkPoint("DataBufferInt(int, int)"); DataBufferInt b = new DataBufferInt(2, 3); harness.check(b.getNumBanks() == 3); harness.check(b.getSize() == 2); harness.check(b.getOffset() == 0); // does negative size fail? yes boolean pass = false; try { DataBufferInt b1 = new DataBufferInt(-1, 1); } catch (NegativeArraySizeException e) { pass = true; } harness.check(pass); // does negative banks fail? yes pass = false; try { DataBufferInt b1 = new DataBufferInt(1, -1); } catch (NegativeArraySizeException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferInt/getBankData.java0000644000175000001440000000504510123067120024502 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.DataBufferInt; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBufferInt; import java.util.Arrays; /** * Some tests for the getBankData() method in the {@link DataBufferInt} class. */ public class getBankData implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // check that array updates pass through int[][] data = new int[][] {{1, 2}}; DataBufferInt b = new DataBufferInt(data, 2); int[][] banks = b.getBankData(); harness.check(Arrays.equals(b.getBankData(), data)); data[0][0] = 3; harness.check(banks[0][0] == 3); // test where supplied array is bigger than 'size' data = new int[][] {{1, 2, 3}}; b = new DataBufferInt(data, 2); banks = b.getBankData(); harness.check(Arrays.equals(b.getBankData(), data)); // test where offsets are specified data = new int[][] {{1, 2, 3}, {4, 5, 6, 7}}; b = new DataBufferInt(data, 2, new int[] {0, 1}); banks = b.getBankData(); harness.check(Arrays.equals(b.getBankData(), data)); // check that a single bank buffer returns a valid array DataBufferInt b2 = new DataBufferInt(new int[] {1, 2}, 2); banks = b2.getBankData(); harness.check(banks.length == 1); harness.check(banks[0][0] == 1); harness.check(banks[0][1] == 2); // check that a multi bank buffer returns a valid array DataBufferInt b3 = new DataBufferInt(new int[][] {{1}, {2}}, 1); banks = b3.getBankData(); harness.check(banks.length == 2); harness.check(banks[0][0] == 1); harness.check(banks[1][0] == 2); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferInt/getDataType.java0000644000175000001440000000232710123067120024550 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.DataBufferInt; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.DataBufferInt; /** * @author Sascha Brawer */ public class getDataType implements Testlet { public void test(TestHarness h) { // Check #1. h.check(new DataBufferInt(5).getDataType(), DataBuffer.TYPE_INT); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferInt/setElem.java0000644000175000001440000000573110123067120023735 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.DataBufferInt; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBufferInt; /** * Some tests for the setElem() methods in the {@link DataBufferInt} class. */ public class setElem implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testSetElem1(harness); testSetElem2(harness); } private void testSetElem1(TestHarness harness) { harness.checkPoint("setElem(int, int)"); int[] source = new int[] {1, 2}; DataBufferInt b = new DataBufferInt(source, 2); b.setElem(1, 99); harness.check(b.getElem(1) == 99); // does the source array get updated? Yes harness.check(source[1] == 99); // test with offsets source = new int[] {1, 2, 3, 4, 5}; b = new DataBufferInt(source, 4, 1); harness.check(b.getElem(1) == 3); b.setElem(1, 99); harness.check(b.getElem(1) == 99); harness.check(source[2] == 99); boolean pass = false; try { b.setElem(-2, 99); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.setElem(4, 99); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testSetElem2(TestHarness harness) { harness.checkPoint("setElem(int, int, int)"); int[][] source = new int[][] {{1, 2}, {3, 4}}; DataBufferInt b = new DataBufferInt(source, 2); b.setElem(1, 1, 99); harness.check(b.getElem(1, 1) == 99); // does the source array get updated? harness.check(source[1][1] == 99); boolean pass = false; try { b.setElem(-1, 1, 99); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.setElem(2, 1, 99); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferInt/getData.java0000644000175000001440000000747610123067120023720 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.DataBufferInt; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBufferInt; /** * Some tests for the geData() methods in the {@link DataBufferInt} class. */ public class getData implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testGetData1(harness); testGetData2(harness); } private void testGetData1(TestHarness harness) { harness.checkPoint("getData()"); // check simple case int[] source = new int[] {1, 2}; DataBufferInt b = new DataBufferInt(source, 2); int[] data = b.getData(); harness.check(data.length == 2); harness.check(data[0] == 1); harness.check(data[1] == 2); // test where supplied array is bigger than 'size' source = new int[] {1, 2, 3}; b = new DataBufferInt(source, 2); data = b.getData(); harness.check(data.length == 3); harness.check(data[0] == 1); harness.check(data[1] == 2); harness.check(data[2] == 3); // test where offsets are specified source = new int[] {1, 2, 3, 4}; b = new DataBufferInt(source, 2, 1); data = b.getData(); harness.check(data.length == 4); harness.check(data[0] == 1); harness.check(data[1] == 2); harness.check(data[2] == 3); harness.check(data[3] == 4); // does a change to the source affect the DataBuffer? Yes source[2] = 99; harness.check(data[2] == 99); } private void testGetData2(TestHarness harness) { harness.checkPoint("getData(int)"); int[][] source = new int[][] {{1, 2}, {3, 4}}; DataBufferInt b = new DataBufferInt(source, 2); int[] data = b.getData(1); harness.check(data.length == 2); harness.check(data[0] == 3); harness.check(data[1] == 4); // test where supplied array is bigger than 'size' source = new int[][] {{1, 2, 3}, {4, 5, 6}}; b = new DataBufferInt(source, 2); data = b.getData(1); harness.check(data.length == 3); harness.check(data[0] == 4); harness.check(data[1] == 5); harness.check(data[2] == 6); // test where offsets are specified source = new int[][] {{1, 2, 3, 4}, {5, 6, 7, 8}}; b = new DataBufferInt(source, 2, new int[] {1, 2}); data = b.getData(1); harness.check(data.length == 4); harness.check(data[0] == 5); harness.check(data[1] == 6); harness.check(data[2] == 7); harness.check(data[3] == 8); // does a change to the source affect the DataBuffer? Yes source[1][2] = 99; harness.check(data[2] == 99); // check bounds exceptions boolean pass = true; try { b.getData(-1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.getData(2); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferInt/getElem.java0000644000175000001440000001157210123067120023721 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.DataBufferInt; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.DataBufferInt; /** * @author Sascha Brawer */ public class getElem implements Testlet { public void test(TestHarness h) { DataBuffer buf; int[] data = new int[] { -11, -22, -33, -44 }; buf = new DataBufferInt(new int[][] { data, data }, 2, new int[] { 2, 0 }); h.check(buf.getElem(0), -33); // Check #1. h.check(buf.getElem(1), -44); // Check #2. h.check(buf.getElem(0, 0), -33); // Check #3. h.check(buf.getElem(0, 1), -44); // Check #4. h.check(buf.getElem(1, 0), -11); // Check #5. h.check(buf.getElem(1, 1), -22); // Check #6. // new tests added by David Gilbert testGetElem1(h); testGetElem2(h); } private void testGetElem1(TestHarness harness) { harness.checkPoint("getElem(int)"); // test where supplied array is bigger than 'size' int[] source = new int[] {1, 2, 3}; DataBufferInt b = new DataBufferInt(source, 2); harness.check(b.getElem(0) == 1); harness.check(b.getElem(1) == 2); harness.check(b.getElem(2) == 3); boolean pass = false; try { b.getElem(-1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.getElem(3); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // test where offsets are specified source = new int[] {1, 2, 3, 4}; b = new DataBufferInt(source, 2, 1); harness.check(b.getElem(-1) == 1); harness.check(b.getElem(0) == 2); harness.check(b.getElem(1) == 3); harness.check(b.getElem(2) == 4); pass = false; try { b.getElem(3); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.getElem(-2); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testGetElem2(TestHarness harness) { harness.checkPoint("getElem(int, int)"); int[][] source = new int[][] {{1, 2}, {3, 4}}; DataBufferInt b = new DataBufferInt(source, 2); harness.check(b.getElem(1, 0) == 3); harness.check(b.getElem(1, 1) == 4); // test where supplied array is bigger than 'size' source = new int[][] {{1, 2, 3}, {4, 5, 6}}; b = new DataBufferInt(source, 2); harness.check(b.getElem(1, 2) == 6); // test where offsets are specified source = new int[][] {{1, 2, 3, 4}, {5, 6, 7, 8}}; b = new DataBufferInt(source, 2, new int[] {1, 2}); harness.check(b.getElem(1, -2) == 5); harness.check(b.getElem(1, -1) == 6); harness.check(b.getElem(1, 0) == 7); harness.check(b.getElem(1, 1) == 8); // does a change to the source affect the DataBuffer? Yes source[1][2] = 99; harness.check(source[1][2] == 99); harness.check(b.getElem(1, 0) == 99); // test when the bank index is out of bounds boolean pass = true; try { b.getElem(-1, 0); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.getElem(2, 0); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // test when the item index is out of bounds pass = true; try { b.getElem(0, -2); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.getElem(1, 5); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // the array of arrays should reflect the single dimension array DataBufferInt b2 = new DataBufferInt(new int[] {1, 2, 3}, 3); harness.check(b2.getElem(0, 1) == 2); } } mauve-20140821/gnu/testlet/java/awt/image/BufferedImage/0000755000175000001440000000000012375316426021516 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/image/BufferedImage/constructors.java0000644000175000001440000000631610454670466025142 0ustar dokousers/* constructors.java -- some checks for the constructors in the BufferedImage class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.BufferedImage; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.color.ColorSpace; import java.awt.image.BufferedImage; import java.awt.image.ColorModel; import java.awt.image.ComponentColorModel; public class constructors implements Testlet { public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("(int, int, int)"); // TYPE_BYTE_GRAY BufferedImage image = new BufferedImage(10, 20, BufferedImage.TYPE_BYTE_GRAY); harness.check(image.getWidth(), 10); harness.check(image.getHeight(), 20); harness.check(image.getType(), BufferedImage.TYPE_BYTE_GRAY); ColorModel cm = image.getColorModel(); harness.check(cm instanceof ComponentColorModel); harness.check(cm.getColorSpace(), ColorSpace.getInstance(ColorSpace.CS_GRAY)); // TYPE_USHORT_GRAY image = new BufferedImage(10, 20, BufferedImage.TYPE_USHORT_GRAY); harness.check(image.getWidth(), 10); harness.check(image.getHeight(), 20); harness.check(image.getType(), BufferedImage.TYPE_USHORT_GRAY); cm = image.getColorModel(); harness.check(cm instanceof ComponentColorModel); harness.check(cm.getColorSpace(), ColorSpace.getInstance(ColorSpace.CS_GRAY)); // try zero width boolean pass = false; try { image = new BufferedImage(0, 20, BufferedImage.TYPE_BYTE_GRAY); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try zero height pass = false; try { image = new BufferedImage(10, 0, BufferedImage.TYPE_BYTE_GRAY); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try bad type pass = false; try { image = new BufferedImage(10, 20, 666); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(int, int, int, IndexColorModel)"); } public void testConstructor3(TestHarness harness) { harness.checkPoint("(ColorModel, WritableRaster, boolean, Hashtable)"); } } mauve-20140821/gnu/testlet/java/awt/image/BufferedImage/getSetRgb1Pixel.java0000644000175000001440000000632410516451662025334 0ustar dokousers/* getSetRgb1Pixel.java -- Tests the work of the single pixel get/set Rgb Copyright (C) 2006 Audrius Meskauskas This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.4 package gnu.testlet.java.awt.image.BufferedImage; import java.awt.Color; import java.awt.image.BufferedImage; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests the getRgb and setRgb. * * @author Audrius Meskauskas */ public class getSetRgb1Pixel implements Testlet { public void test(TestHarness h) { testType(h, BufferedImage.TYPE_3BYTE_BGR, "TYPE_3BYTE_BGR"); testType(h, BufferedImage.TYPE_4BYTE_ABGR, "TYPE_4BYTE_ABGR"); testType(h, BufferedImage.TYPE_4BYTE_ABGR_PRE, "TYPE_4BYTE_ABGR_PRE"); testType(h, BufferedImage.TYPE_INT_ARGB, "TYPE_INT_ARGB"); testType(h, BufferedImage.TYPE_INT_ARGB_PRE, "TYPE_INT_ARGB_PRE"); testType(h, BufferedImage.TYPE_INT_BGR, "TYPE_INT_BGR"); testType(h, BufferedImage.TYPE_INT_RGB, "TYPE_INT_RGB"); } public void testType(TestHarness h, int type, String typeName) { int w = 10; BufferedImage b = new BufferedImage(w, w, type); Color[][] colors = new Color[w][]; for (int i = 0; i < colors.length; i++) { colors[i] = new Color[w]; for (int j = 0; j < colors[i].length; j++) { colors[i][j] = new Color((int) (Math.random() * 255), (int) (Math.random() * 255), (int) (Math.random() * 255)); b.setRGB(i, j, colors[i][j].getRGB()); } } BufferedImage cloned = new BufferedImage(w, w, type); b.copyData(cloned.getRaster()); for (int i = 0; i < colors.length; i++) for (int j = 0; j < colors[i].length; j++) { if (!colors[i][j].equals(new Color(b.getRGB(i, j)))) { h.fail("Failed " + typeName + ", " + colors[i][j] + " v " + new Color(b.getRGB(i, j))); return; } int blue = Color.blue.getRGB(); b.setRGB(i, j, blue); if (b.getRGB(i, j) != blue) { h.fail("Failed " + typeName + " when resetting into blue " + blue + " v " + b.getRGB(i, j)); return; } } for (int i = 0; i < colors.length; i++) for (int j = 0; j < colors[i].length; j++) { if (!colors[i][j].equals(new Color(cloned.getRGB(i, j)))) { h.fail("Failed " + typeName + " on cloned image"); return; } } } } mauve-20140821/gnu/testlet/java/awt/image/BufferedImage/getSubimage.java0000644000175000001440000000567510515166450024624 0ustar dokousers/* getSubimage.java -- some checks for the getSubimage() method in the BufferedImage class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.BufferedImage; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.BufferedImage; import java.awt.image.RasterFormatException; public class getSubimage implements Testlet { public void test(TestHarness harness) { // Create initial image, fill with data BufferedImage img = new BufferedImage(50, 50, BufferedImage.TYPE_INT_RGB); for (int x = 0; x < 50; x++) for (int y = 0; y < 50; y++) for (int b = 0; b < 3; b++) img.getRaster().setSample(x, y, b, x+y+b); // Subimage with identical bounds BufferedImage img2 = img.getSubimage(0, 0, 50, 50); harness.check(img.getRaster() != img2.getRaster()); harness.check(img.getRaster().getDataBuffer(), img2.getRaster().getDataBuffer()); harness.check(img.getSampleModel(), img2.getSampleModel()); harness.check(img.getColorModel(), img2.getColorModel()); harness.check(img2.getMinX(), 0); harness.check(img2.getMinY(), 0); harness.check(img2.getWidth(), 50); harness.check(img2.getHeight(), 50); for (int x = 0; x < 50; x++) for (int y = 0; y < 50; y++) for (int b = 0; b < 3; b++) harness.check(img2.getRaster().getSample(x, y, b), x+y+b); // Offset subimage with smaller bounds img2 = img.getSubimage(20, 30, 15, 10); harness.check(img.getRaster().getDataBuffer(), img2.getRaster().getDataBuffer()); harness.check(img.getSampleModel(), img2.getSampleModel()); harness.check(img2.getMinX(), 0); harness.check(img2.getMinY(), 0); harness.check(img2.getWidth(), 15); harness.check(img2.getHeight(), 10); for (int x = 0; x < 15; x++) for (int y = 0; y < 10; y++) for (int b = 0; b < 3; b++) harness.check(img2.getRaster().getSample(x, y, b), x+20 + y+30 +b); // Subimage overflows original image bounds try { img2 = img.getSubimage(40, 40, 20, 20); harness.check(false); } catch (RasterFormatException ex) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/awt/image/BufferedImage/constants.java0000644000175000001440000003360410515761314024375 0ustar dokousers/* constants.java -- some checks for the constant image types in the BufferedImage class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.BufferedImage; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Transparency; import java.awt.color.ColorSpace; import java.awt.image.BufferedImage; import java.awt.image.ComponentColorModel; import java.awt.image.DataBuffer; import java.awt.image.DirectColorModel; import java.awt.image.IndexColorModel; import java.awt.image.MultiPixelPackedSampleModel; import java.awt.image.PixelInterleavedSampleModel; import java.awt.image.SinglePixelPackedSampleModel; public class constants implements Testlet { public void test(TestHarness harness) { test_int_rgb(harness); test_int_argb(harness); test_int_argb_pre(harness); test_3byte_bgr(harness); test_4byte_abgr(harness); test_4byte_abgr_pre(harness); test_ushort_565_rgb(harness); test_ushort_555_rgb(harness); test_byte_gray(harness); test_ushort_gray(harness); test_byte_binary(harness); test_byte_indexed(harness); } public void test_int_rgb(TestHarness harness) { BufferedImage img = new BufferedImage(10, 10, BufferedImage.TYPE_INT_RGB); harness.check(img.getColorModel().equals(new DirectColorModel(24, 0xff0000, 0xff00, 0xff))); harness.check(img.getSampleModel().equals(new SinglePixelPackedSampleModel(DataBuffer.TYPE_INT, 10, 10, new int[]{0xff0000, 0xff00, 0xff}))); harness.check(img.isAlphaPremultiplied(), img.getColorModel().isAlphaPremultiplied()); } public void test_int_argb(TestHarness harness) { BufferedImage img = new BufferedImage(10, 10, BufferedImage.TYPE_INT_ARGB); harness.check(img.getColorModel().equals(new DirectColorModel(32, 0xff0000, 0xff00, 0xff, 0xff000000))); harness.check(img.getSampleModel().equals(new SinglePixelPackedSampleModel(DataBuffer.TYPE_INT, 10, 10, new int[]{0xff0000, 0xff00, 0xff, 0xff000000}))); harness.check(img.isAlphaPremultiplied(), img.getColorModel().isAlphaPremultiplied()); } public void test_int_argb_pre(TestHarness harness) { BufferedImage img = new BufferedImage(10, 10, BufferedImage.TYPE_INT_ARGB_PRE); harness.check(img.getColorModel().equals(new DirectColorModel(ColorSpace.getInstance(ColorSpace.CS_sRGB), 32, 0xff0000, 0xff00, 0xff, 0xff000000, true, DataBuffer.TYPE_INT))); harness.check(img.getSampleModel().equals(new SinglePixelPackedSampleModel(DataBuffer.TYPE_INT, 10, 10, new int[]{0xff0000, 0xff00, 0xff, 0xff000000}))); harness.check(img.isAlphaPremultiplied(), img.getColorModel().isAlphaPremultiplied()); } public void test_int_bgr(TestHarness harness) { BufferedImage img = new BufferedImage(10, 10, BufferedImage.TYPE_INT_BGR); harness.check(img.getColorModel().equals(new DirectColorModel(24, 0xff, 0xff00, 0xff0000))); harness.check(img.getSampleModel().equals(new SinglePixelPackedSampleModel(DataBuffer.TYPE_INT, 10, 10, new int[]{0xff, 0xff00, 0xff0000}))); harness.check(img.isAlphaPremultiplied(), img.getColorModel().isAlphaPremultiplied()); } public void test_3byte_bgr(TestHarness harness) { BufferedImage img = new BufferedImage(10, 10, BufferedImage.TYPE_3BYTE_BGR); harness.check(img.getColorModel().equals(new ComponentColorModel(ColorSpace.getInstance(ColorSpace.CS_sRGB), false, false, BufferedImage.OPAQUE, DataBuffer.TYPE_BYTE))); harness.check(img.getSampleModel().equals(new PixelInterleavedSampleModel( DataBuffer.TYPE_BYTE, 10, 10, 3, 10 * 3, new int[]{ 2, 1, 0 } ))); harness.check(img.isAlphaPremultiplied(), img.getColorModel().isAlphaPremultiplied()); } public void test_4byte_abgr(TestHarness harness) { BufferedImage img = new BufferedImage(10, 10, BufferedImage.TYPE_4BYTE_ABGR); harness.check(img.getColorModel().equals(new ComponentColorModel(ColorSpace.getInstance(ColorSpace.CS_sRGB), true, false, BufferedImage.TRANSLUCENT, DataBuffer.TYPE_BYTE))); harness.check(img.getSampleModel().equals(new PixelInterleavedSampleModel(DataBuffer.TYPE_BYTE, 10, 10, 4, 4*10, new int[]{3, 2, 1, 0}))); harness.check(img.isAlphaPremultiplied(), img.getColorModel().isAlphaPremultiplied()); } public void test_4byte_abgr_pre(TestHarness harness) { BufferedImage img = new BufferedImage(10, 10, BufferedImage.TYPE_4BYTE_ABGR_PRE); harness.check(img.getColorModel().equals(new ComponentColorModel(ColorSpace.getInstance(ColorSpace.CS_sRGB), true, true, BufferedImage.TRANSLUCENT, DataBuffer.TYPE_BYTE))); harness.check(img.getSampleModel().equals(new PixelInterleavedSampleModel(DataBuffer.TYPE_BYTE, 10, 10, 4, 4*10, new int[]{3, 2, 1, 0}))); harness.check(img.isAlphaPremultiplied(), img.getColorModel().isAlphaPremultiplied()); } public void test_ushort_565_rgb(TestHarness harness) { BufferedImage img = new BufferedImage(10, 10, BufferedImage.TYPE_USHORT_565_RGB); harness.check(img.getColorModel().equals(new DirectColorModel( 16, 0xF800, 0x7E0, 0x1F ))); harness.check(img.getSampleModel().equals(new SinglePixelPackedSampleModel( DataBuffer.TYPE_USHORT, 10, 10, new int[]{ 0xF800, 0x7E0, 0x1F } ) )); harness.check(img.isAlphaPremultiplied(), img.getColorModel().isAlphaPremultiplied()); } public void test_ushort_555_rgb(TestHarness harness) { BufferedImage img = new BufferedImage(10, 10, BufferedImage.TYPE_USHORT_555_RGB); harness.check(img.getColorModel().equals(new DirectColorModel( 15, 0x7C00, 0x3E0, 0x1F ))); harness.check(img.getSampleModel().equals(new SinglePixelPackedSampleModel( DataBuffer.TYPE_USHORT, 10, 10, new int[]{ 0x7C00, 0x3E0, 0x1F } ))); harness.check(img.isAlphaPremultiplied(), img.getColorModel().isAlphaPremultiplied()); } public void test_byte_gray(TestHarness harness) { BufferedImage img = new BufferedImage(10, 10, BufferedImage.TYPE_BYTE_GRAY); harness.check(img.getColorModel().equals(new ComponentColorModel( ColorSpace.getInstance( ColorSpace.CS_GRAY ), new int[]{8}, false, false, Transparency.OPAQUE, DataBuffer.TYPE_BYTE))); harness.check(img.getSampleModel().equals(new PixelInterleavedSampleModel( DataBuffer.TYPE_BYTE, 10, 10, 1, 10, new int[]{ 0 } ))); harness.check(img.isAlphaPremultiplied(), img.getColorModel().isAlphaPremultiplied()); } public void test_ushort_gray(TestHarness harness) { BufferedImage img = new BufferedImage(10, 10, BufferedImage.TYPE_USHORT_GRAY); harness.check(img.getColorModel().equals(new ComponentColorModel( ColorSpace.getInstance( ColorSpace.CS_GRAY ), new int[]{16}, false, false, Transparency.OPAQUE, DataBuffer.TYPE_USHORT))); harness.check(img.getSampleModel().equals(new PixelInterleavedSampleModel( DataBuffer.TYPE_USHORT, 10, 10, 1, 10, new int[]{ 0 } ))); harness.check(img.isAlphaPremultiplied(), img.getColorModel().isAlphaPremultiplied()); } public void test_byte_binary(TestHarness harness) { BufferedImage img = new BufferedImage(10, 10, BufferedImage.TYPE_BYTE_BINARY); byte[] t = new byte[]{ 0, (byte)255 }; harness.check(img.getColorModel().equals(new IndexColorModel( 1, 2, t, t, t ))); harness.check(img.getSampleModel().equals(new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 10, 1))); harness.check(img.isAlphaPremultiplied(), img.getColorModel().isAlphaPremultiplied()); } public void test_byte_indexed(TestHarness harness) { BufferedImage img = new BufferedImage(10, 10, BufferedImage.TYPE_BYTE_INDEXED); byte[] r = new byte[256]; byte[] g = new byte[256]; byte[] b = new byte[256]; int index = 0; for( int i = 0; i < 6; i++ ) for( int j = 0; j < 6; j++ ) for( int k = 0; k < 6; k++ ) { r[ index ] = (byte)(i * 51); g[ index ] = (byte)(j * 51); b[ index ] = (byte)(k * 51); index++; } while( index < 256 ) { r[ index ] = g[ index ] = b[ index ] = (byte)(18 + (index - 216) * 6); index++; } harness.check(img.getColorModel().equals(new IndexColorModel( 8, 256, r, g, b ))); harness.check(img.getSampleModel().equals(new PixelInterleavedSampleModel( DataBuffer.TYPE_BYTE, 10, 10, 1, 10, new int[]{ 0 } ))); harness.check(img.isAlphaPremultiplied(), img.getColorModel().isAlphaPremultiplied()); } } mauve-20140821/gnu/testlet/java/awt/image/ComponentSampleModel/0000755000175000001440000000000012375316426023116 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/image/ComponentSampleModel/getSampleFloat.java0000644000175000001440000000465510457211307026671 0ustar dokousers/* getSampleFloat.java -- some checks for the getSampleFloat() method in the ComponentSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.ComponentSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ComponentSampleModel; import java.awt.image.DataBuffer; public class getSampleFloat implements Testlet { public void test(TestHarness harness) { ComponentSampleModel m = new ComponentSampleModel(DataBuffer.TYPE_BYTE, 5, 10, 3, 16, new int[] {0, 1, 2}); DataBuffer db = m.createDataBuffer(); harness.check(db.getNumBanks(), 1); db.setElem(0, 16, 0xAA); db.setElem(0, 17, 0xBB); db.setElem(0, 18, 0xCC); harness.check(m.getSampleFloat(0, 1, 0, db), 0xAA); harness.check(m.getSampleFloat(0, 1, 1, db), 0xBB); harness.check(m.getSampleFloat(0, 1, 2, db), 0xCC); // try negative x boolean pass = false; try { m.getSampleFloat(-1, 1, 0, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try x == width pass = false; try { m.getSampleFloat(5, 0, 0, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try negative y pass = false; try { m.getSampleFloat(1, -1, 0, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try y == height pass = false; try { m.getSampleFloat(0, 10, 0, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/ComponentSampleModel/constructors.java0000644000175000001440000002072211015027423026516 0ustar dokousers/* constructors.java -- some checks for the constructors in the ComponentSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 // Uses: MyComponentSampleModel package gnu.testlet.java.awt.image.ComponentSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ComponentSampleModel; import java.awt.image.DataBuffer; import java.util.Arrays; public class constructors implements Testlet { public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testDefensiveCopies(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("testConstructor1()"); ComponentSampleModel m = new ComponentSampleModel(DataBuffer.TYPE_BYTE, 10, 20, 3, 30, new int[] {0, 1, 2}); harness.check(m.getDataType(), DataBuffer.TYPE_BYTE); harness.check(m.getWidth(), 10); harness.check(m.getHeight(), 20); harness.check(m.getPixelStride(), 3); harness.check(m.getScanlineStride(), 30); harness.check(Arrays.equals(m.getBandOffsets(), new int[] {0, 1, 2})); // try bad type boolean pass = false; try { m = new ComponentSampleModel(DataBuffer.TYPE_UNDEFINED, 10, 20, 3, 30, new int[] {0, 1, 2}); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try zero width pass = false; try { m = new ComponentSampleModel(DataBuffer.TYPE_BYTE, 0, 20, 3, 30, new int[] {0, 1, 2}); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try zero height pass = false; try { m = new ComponentSampleModel(DataBuffer.TYPE_BYTE, 10, 0, 3, 30, new int[] {0, 1, 2}); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try negative pixel stride pass = false; try { m = new ComponentSampleModel(DataBuffer.TYPE_BYTE, 10, 20, -1, 30, new int[] {0, 1, 2}); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try negative scanline stride pass = false; try { m = new ComponentSampleModel(DataBuffer.TYPE_BYTE, 10, 20, 3, -1, new int[] {0, 1, 2}); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try width * height > Integer.MAX_VALUE pass = false; try { m = new ComponentSampleModel(DataBuffer.TYPE_BYTE, 3, Integer.MAX_VALUE / 2, 3, 30, new int[] {0, 1, 2}); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try null band offsets pass = false; try { m = new ComponentSampleModel(DataBuffer.TYPE_BYTE, 10, 20, 3, 30, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(int, int, int, int, int, int[], int[])"); int[] bankIndices = new int[] {0, 1}; int[] bandOffsets = new int[] {0, 0}; ComponentSampleModel m = new ComponentSampleModel(DataBuffer.TYPE_INT, 22, 11, 1, 25, bankIndices, new int[] {0, 0}); harness.check(m.getDataType(), DataBuffer.TYPE_INT); harness.check(m.getWidth(), 22); harness.check(m.getHeight(), 11); harness.check(m.getPixelStride(), 1); harness.check(m.getNumBands(), 2); harness.check(m.getNumDataElements(), 2); harness.check(Arrays.equals(m.getBankIndices(), new int[] {0, 1})); harness.check(m.getBankIndices() != bankIndices); // not the same instance harness.check(Arrays.equals(m.getBandOffsets(), bandOffsets)); harness.check(m.getBandOffsets() != bandOffsets); // not the same instance // check unknown data type boolean pass = false; try { m = new ComponentSampleModel(DataBuffer.TYPE_UNDEFINED, 22, 11, 1, 25, new int[] {0, 1}, new int[] {0, 0}); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // check w = 0 pass = false; try { m = new ComponentSampleModel(DataBuffer.TYPE_INT, 0, 11, 1, 25, new int[] {0, 1}, new int[] {0, 0}); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // check h = 0 pass = false; try { m = new ComponentSampleModel(DataBuffer.TYPE_INT, 22, 0, 1, 25, new int[] {0, 1}, new int[] {0, 0}); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // check w * h exceeds Integer.MAX_VALUE pass = false; try { m = new ComponentSampleModel(DataBuffer.TYPE_INT, Integer.MAX_VALUE - 1, 2, 1, 25, new int[] {0, 1}, new int[] {0, 0}); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try pixelStride < 0 pass = false; try { m = new ComponentSampleModel(DataBuffer.TYPE_INT, 22, 11, -1, 25, new int[] {0, 1}, new int[] {0, 0}); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try scanlineStride = 0 pass = false; try { m = new ComponentSampleModel(DataBuffer.TYPE_INT, 22, 11, 1, -1, new int[] {0, 1}, new int[] {0, 0}); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try null bankIndices pass = false; try { m = new ComponentSampleModel(DataBuffer.TYPE_INT, 22, 11, 1, 25, null, new int[] {0, 0}); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try empty bankIndices pass = false; try { m = new ComponentSampleModel(DataBuffer.TYPE_INT, 22, 11, 1, 25, new int[0], new int[] {0, 0}); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try null bandOffsets pass = false; try { m = new ComponentSampleModel(DataBuffer.TYPE_INT, 22, 11, 1, 25, new int[] {0, 0}, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try arrays of different lengths pass = false; try { m = new ComponentSampleModel(DataBuffer.TYPE_INT, 22, 11, 1, 25, new int[1], new int[2]); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } public void testDefensiveCopies(TestHarness harness) { harness.checkPoint("testDefensiveCopies()"); int[] bandOffsets = new int[] {0, 1, 2}; MyComponentSampleModel m = new MyComponentSampleModel(DataBuffer.TYPE_BYTE, 10, 20, 3, 30, bandOffsets); harness.check(bandOffsets != m.getBandOffsetsDirect()); harness.check(Arrays.equals(bandOffsets, m.getBandOffsetsDirect())); int[] bankIndices = new int[] {0, 0, 0}; MyComponentSampleModel m2 = new MyComponentSampleModel(DataBuffer.TYPE_BYTE, 10, 20, 3, 30, bandOffsets, bankIndices); harness.check(bandOffsets != m2.getBandOffsetsDirect()); harness.check(Arrays.equals(bandOffsets, m2.getBandOffsetsDirect())); harness.check(bankIndices != m2.getBankIndicesDirect()); harness.check(Arrays.equals(bankIndices, m2.getBankIndicesDirect())); } } mauve-20140821/gnu/testlet/java/awt/image/ComponentSampleModel/equals.java0000644000175000001440000000550010456736021025246 0ustar dokousers/* equals.java -- some checks for the equals() method in the ComponentSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.ComponentSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ComponentSampleModel; import java.awt.image.DataBuffer; public class equals implements Testlet { public void test(TestHarness harness) { ComponentSampleModel m1 = new ComponentSampleModel(DataBuffer.TYPE_INT, 10, 20, 3, 40, new int[] {0, 1, 2}); ComponentSampleModel m2 = new ComponentSampleModel(DataBuffer.TYPE_INT, 10, 20, 3, 40, new int[] {0, 1, 2}); harness.check(m1.equals(m2)); m1 = new ComponentSampleModel(DataBuffer.TYPE_BYTE, 10, 20, 3, 40, new int[] {0, 1, 2}); harness.check(!m1.equals(m2)); m2 = new ComponentSampleModel(DataBuffer.TYPE_BYTE, 10, 20, 3, 40, new int[] {0, 1, 2}); harness.check(m1.equals(m2)); m1 = new ComponentSampleModel(DataBuffer.TYPE_BYTE, 9, 20, 3, 40, new int[] {0, 1, 2}); harness.check(!m1.equals(m2)); m2 = new ComponentSampleModel(DataBuffer.TYPE_BYTE, 9, 20, 3, 40, new int[] {0, 1, 2}); harness.check(m1.equals(m2)); m1 = new ComponentSampleModel(DataBuffer.TYPE_BYTE, 9, 19, 3, 40, new int[] {0, 1, 2}); harness.check(!m1.equals(m2)); m2 = new ComponentSampleModel(DataBuffer.TYPE_BYTE, 9, 19, 3, 40, new int[] {0, 1, 2}); harness.check(m1.equals(m2)); m1 = new ComponentSampleModel(DataBuffer.TYPE_BYTE, 9, 19, 4, 40, new int[] {0, 1, 2}); harness.check(!m1.equals(m2)); m2 = new ComponentSampleModel(DataBuffer.TYPE_BYTE, 9, 19, 4, 40, new int[] {0, 1, 2}); harness.check(m1.equals(m2)); m1 = new ComponentSampleModel(DataBuffer.TYPE_BYTE, 9, 19, 4, 40, new int[] {0, 2, 1}); harness.check(!m1.equals(m2)); m2 = new ComponentSampleModel(DataBuffer.TYPE_BYTE, 9, 19, 4, 40, new int[] {0, 2, 1}); harness.check(m1.equals(m2)); } } mauve-20140821/gnu/testlet/java/awt/image/ComponentSampleModel/setSample.java0000644000175000001440000001037010457332204025706 0ustar dokousers/* setSample.java -- some checks for the setSample() method in the ComponentSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.ComponentSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ComponentSampleModel; import java.awt.image.DataBuffer; import java.awt.image.DataBufferByte; import java.awt.image.DataBufferDouble; import java.awt.image.DataBufferFloat; import java.awt.image.DataBufferInt; public class setSample implements Testlet { public void test(TestHarness harness) { test1(harness); test2(harness); test3(harness); } private void test1(TestHarness harness) { harness.checkPoint("(int, int, int, double, DataBuffer)"); DataBuffer db = new DataBufferDouble(12); ComponentSampleModel m = new ComponentSampleModel(DataBuffer.TYPE_DOUBLE, 3, 2, 2, 6, new int[] {0, 1}); m.setSample(2, 1, 0, 99.9, db); harness.check(db.getElem(0, 10), 99.0d); m.setSample(2, 1, 1, 88.8, db); harness.check(db.getElem(0, 11), 88.0d); // what happens if the data buffer doesn't hold doubles? DataBuffer db2 = new DataBufferInt(12); m.setSample(2, 1, 0, 99.9d, db2); harness.check(db2.getElem(0, 10), 99); m.setSample(2, 1, 1, 88.8d, db2); harness.check(db2.getElem(0, 11), 88); // check that a null data buffer generates a NullPointerException boolean pass = false; try { m.setSample(2, 1, 1, 77.7d, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } private void test2(TestHarness harness) { harness.checkPoint("(int, int, int, float, DataBuffer)"); DataBuffer db = new DataBufferFloat(12); ComponentSampleModel m = new ComponentSampleModel(DataBuffer.TYPE_FLOAT, 3, 2, 2, 6, new int[] {0, 1}); m.setSample(2, 1, 0, 99.9f, db); harness.check(db.getElem(0, 10), 99.0f); m.setSample(2, 1, 1, 88.8f, db); harness.check(db.getElem(0, 11), 88.0f); // what happens if the data buffer doesn't hold floats? DataBuffer db2 = new DataBufferInt(12); m.setSample(2, 1, 0, 99.9f, db2); harness.check(db2.getElem(0, 10), 99); m.setSample(2, 1, 1, 88.8f, db2); harness.check(db2.getElem(0, 11), 88); // check that a null data buffer generates a NullPointerException boolean pass = false; try { m.setSample(2, 1, 1, 77.7f, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } private void test3(TestHarness harness) { harness.checkPoint("(int, int, int, int, DataBuffer)"); DataBuffer db = new DataBufferInt(12); ComponentSampleModel m = new ComponentSampleModel(DataBuffer.TYPE_INT, 3, 2, 2, 6, new int[] {0, 1}); m.setSample(2, 1, 0, 99, db); harness.check(db.getElem(0, 10), 99); m.setSample(2, 1, 1, 88, db); harness.check(db.getElem(0, 11), 88); // what happens if the data buffer doesn't hold integers? DataBuffer db2 = new DataBufferByte(12); m.setSample(2, 1, 0, 99, db2); harness.check(db2.getElem(0, 10), 99); m.setSample(2, 1, 1, 888, db2); harness.check(db2.getElem(0, 11), 120); // (byte) 888 // check that a null data buffer generates a NullPointerException boolean pass = false; try { m.setSample(2, 1, 1, 77, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/ComponentSampleModel/getOffset.java0000644000175000001440000000524010457211307025677 0ustar dokousers/* getOffset.java -- some checks for the getOffset() methods in the ComponentSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.ComponentSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ComponentSampleModel; import java.awt.image.DataBuffer; public class getOffset implements Testlet { public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("(int, int)"); ComponentSampleModel m = new ComponentSampleModel(DataBuffer.TYPE_BYTE, 5, 10, 3, 15, new int[] {0, 1, 2}); harness.check(m.getOffset(0, 0), 0); harness.check(m.getOffset(1, 0), 3); harness.check(m.getOffset(2, 0), 6); harness.check(m.getOffset(3, 0), 9); harness.check(m.getOffset(4, 0), 12); harness.check(m.getOffset(5, 0), 15); harness.check(m.getOffset(0, 1), 15); harness.check(m.getOffset(1, 1), 18); harness.check(m.getOffset(2, 1), 21); harness.check(m.getOffset(3, 1), 24); harness.check(m.getOffset(4, 1), 27); harness.check(m.getOffset(5, 1), 30); } public void testMethod2(TestHarness harness) { harness.checkPoint("(int, int, int)"); ComponentSampleModel m = new ComponentSampleModel(DataBuffer.TYPE_BYTE, 5, 10, 3, 15, new int[] {0, 1, 2}); harness.check(m.getOffset(0, 0, 1), 1); harness.check(m.getOffset(1, 0, 1), 4); harness.check(m.getOffset(2, 0, 1), 7); harness.check(m.getOffset(3, 0, 1), 10); harness.check(m.getOffset(4, 0, 1), 13); harness.check(m.getOffset(5, 0, 1), 16); harness.check(m.getOffset(0, 1, 1), 16); harness.check(m.getOffset(1, 1, 1), 19); harness.check(m.getOffset(2, 1, 1), 22); harness.check(m.getOffset(3, 1, 1), 25); harness.check(m.getOffset(4, 1, 1), 28); harness.check(m.getOffset(5, 1, 1), 31); } } mauve-20140821/gnu/testlet/java/awt/image/ComponentSampleModel/createDataBuffer.java0000644000175000001440000000547710457211307027154 0ustar dokousers/* createDataBuffer.java -- some checks for the createDataBuffer() method in the ComponentSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.ComponentSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ComponentSampleModel; import java.awt.image.DataBuffer; public class createDataBuffer implements Testlet { public void test(TestHarness harness) { testSingleBand(harness); testMultiBand(harness); } public void testSingleBand(TestHarness harness) { ComponentSampleModel m = new ComponentSampleModel(DataBuffer.TYPE_BYTE, 10, 20, 1, 30, new int[] {0, 1, 2}); DataBuffer db = m.createDataBuffer(); harness.check(db.getDataType(), DataBuffer.TYPE_BYTE); harness.check(db.getNumBanks(), 1); harness.check(db.getSize(), 582); m = new ComponentSampleModel(DataBuffer.TYPE_INT, 5, 10, 1, 5, new int[] {0, 1, 2}); db = m.createDataBuffer(); harness.check(db.getDataType(), DataBuffer.TYPE_INT); harness.check(db.getNumBanks(), 1); harness.check(db.getSize(), 52); m = new ComponentSampleModel(DataBuffer.TYPE_INT, 5, 10, 1, 6, new int[] {0, 1, 2}); db = m.createDataBuffer(); harness.check(db.getDataType(), DataBuffer.TYPE_INT); harness.check(db.getNumBanks(), 1); harness.check(db.getSize(), 61); m = new ComponentSampleModel(DataBuffer.TYPE_INT, 5, 10, 2, 10, new int[] {0, 1}); db = m.createDataBuffer(); harness.check(db.getDataType(), DataBuffer.TYPE_INT); harness.check(db.getNumBanks(), 1); harness.check(db.getSize(), 100); } public void testMultiBand(TestHarness harness) { harness.checkPoint("testMultiBand()"); ComponentSampleModel m = new ComponentSampleModel(DataBuffer.TYPE_BYTE, 10, 20, 1, 10, new int[] {0, 1, 2}, new int[] {0, 0, 0}); DataBuffer db = m.createDataBuffer(); harness.check(db.getDataType(), DataBuffer.TYPE_BYTE); harness.check(db.getNumBanks(), 3); harness.check(db.getSize(), 200); } } mauve-20140821/gnu/testlet/java/awt/image/ComponentSampleModel/getBandOffsets.java0000644000175000001440000000306510457332204026652 0ustar dokousers/* getBandOffsets.java -- some checks for the getBandOffsets() method in the ComponentSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.ComponentSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ComponentSampleModel; import java.awt.image.DataBuffer; import java.util.Arrays; public class getBandOffsets implements Testlet { public void test(TestHarness harness) { int[] bo = new int[] {1, 2}; ComponentSampleModel m1 = new ComponentSampleModel(DataBuffer.TYPE_INT, 22, 33, 1, 23, bo); int[] bo1 = m1.getBandOffsets(); harness.check(Arrays.equals(bo1, new int[] {1, 2})); int[] bo2 = m1.getBandOffsets(); harness.check(bo1 != bo2); bo[1] = 3; harness.check(m1.getBandOffsets()[1], 2); } } mauve-20140821/gnu/testlet/java/awt/image/ComponentSampleModel/getSample.java0000644000175000001440000000457310457211307025702 0ustar dokousers/* getSample.java -- some checks for the getSample() method in the ComponentSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.ComponentSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ComponentSampleModel; import java.awt.image.DataBuffer; public class getSample implements Testlet { public void test(TestHarness harness) { ComponentSampleModel m = new ComponentSampleModel(DataBuffer.TYPE_BYTE, 5, 10, 3, 16, new int[] {0, 1, 2}); DataBuffer db = m.createDataBuffer(); harness.check(db.getNumBanks(), 1); db.setElem(0, 16, 0xAA); db.setElem(0, 17, 0xBB); db.setElem(0, 18, 0xCC); harness.check(m.getSample(0, 1, 0, db), 0xAA); harness.check(m.getSample(0, 1, 1, db), 0xBB); harness.check(m.getSample(0, 1, 2, db), 0xCC); // try negative x boolean pass = false; try { m.getSample(-1, 1, 0, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try x == width pass = false; try { m.getSample(5, 0, 0, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try negative y pass = false; try { m.getSample(1, -1, 0, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try y == height pass = false; try { m.getSample(0, 10, 0, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/ComponentSampleModel/setPixels.java0000644000175000001440000000420310457332204025727 0ustar dokousers/* setPixels.java -- some checks for the setPixels() method in the ComponentSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.ComponentSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ComponentSampleModel; import java.awt.image.DataBuffer; import java.awt.image.DataBufferInt; public class setPixels implements Testlet { public void test(TestHarness harness) { DataBuffer db = new DataBufferInt(12); int[] pixels = new int[] {11, 22, 33, 44}; ComponentSampleModel m = new ComponentSampleModel(DataBuffer.TYPE_INT, 3, 2, 2, 6, new int[] {0, 1}); m.setPixels(0, 0, 2, 1, pixels, db); harness.check(db.getElem(0, 0), 11); harness.check(db.getElem(0, 1), 22); harness.check(db.getElem(0, 2), 33); harness.check(db.getElem(0, 3), 44); // check that a null pixel array generates a NullPointerException boolean pass = false; try { m.setPixels(0, 0, 2, 1, (int[]) null, db); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check that a null data buffer generates a NullPointerException pass = false; try { m.setPixels(0, 0, 2, 1, pixels, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/ComponentSampleModel/setDataElements.java0000644000175000001440000000443710457332204027042 0ustar dokousers/* setDataElements.java -- some checks for the setDataElements() method in the ComponentSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.ComponentSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ComponentSampleModel; import java.awt.image.DataBuffer; import java.awt.image.DataBufferInt; public class setDataElements implements Testlet { public void test(TestHarness harness) { DataBuffer db = new DataBufferInt(12); int[] pixel = new int[] {11, 22}; ComponentSampleModel m = new ComponentSampleModel(DataBuffer.TYPE_INT, 3, 2, 2, 6, new int[] {0, 1}); m.setDataElements(1, 1, pixel, db); harness.check(db.getElem(0, 8), 11); harness.check(db.getElem(0, 9), 22); // check bad type for data element array boolean pass = false; try { m.setDataElements(1, 1, "???", db); } catch (ClassCastException e) { pass = true; } harness.check(pass); // check that a null pixel array generates a NullPointerException pass = false; try { m.setDataElements(1, 1, (int[]) null, db); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check that a null data buffer generates a NullPointerException pass = false; try { m.setDataElements(1, 1, pixel, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/ComponentSampleModel/getSampleDouble.java0000644000175000001440000000466710457211307027041 0ustar dokousers/* getSampleDouble.java -- some checks for the getSampleDouble() method in the ComponentSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.ComponentSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ComponentSampleModel; import java.awt.image.DataBuffer; public class getSampleDouble implements Testlet { public void test(TestHarness harness) { ComponentSampleModel m = new ComponentSampleModel(DataBuffer.TYPE_BYTE, 5, 10, 3, 16, new int[] {0, 1, 2}); DataBuffer db = m.createDataBuffer(); harness.check(db.getNumBanks(), 1); db.setElem(0, 16, 0xAA); db.setElem(0, 17, 0xBB); db.setElem(0, 18, 0xCC); harness.check(m.getSampleDouble(0, 1, 0, db), 0xAA); harness.check(m.getSampleDouble(0, 1, 1, db), 0xBB); harness.check(m.getSampleDouble(0, 1, 2, db), 0xCC); // try negative x boolean pass = false; try { m.getSampleDouble(-1, 1, 0, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try x == width pass = false; try { m.getSampleDouble(5, 0, 0, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try negative y pass = false; try { m.getSampleDouble(1, -1, 0, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try y == height pass = false; try { m.getSampleDouble(0, 10, 0, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/ComponentSampleModel/getPixel.java0000644000175000001440000001475710457337712025560 0ustar dokousers/* getPixel.java -- some checks for the getPixel() methods in the ComponentSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.ComponentSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ComponentSampleModel; import java.awt.image.DataBuffer; import java.awt.image.SampleModel; import java.util.Arrays; public class getPixel implements Testlet { public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); testMethod3(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("(int, int, int[], DataBuffer)"); SampleModel m = new ComponentSampleModel(DataBuffer.TYPE_BYTE, 5, 10, 3, 16, new int[] {0, 2, 1}); DataBuffer db = m.createDataBuffer(); int[] pixel = new int[3]; m.getPixel(1, 2, pixel, db); harness.check(Arrays.equals(pixel, new int[] {0, 0, 0})); m.setPixel(1, 2, new int[] {1, 2, 3}, db); m.getPixel(1, 2, pixel, db); harness.check(Arrays.equals(pixel, new int[] {1, 2, 3})); // if the incoming array is null, a new one is created pixel = m.getPixel(1, 2, (int[]) null, db); harness.check(Arrays.equals(pixel, new int[] {1, 2, 3})); // try x < 0 boolean pass = false; try { m.getPixel(-1, 1, (int[]) null, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try x == width pass = false; try { m.getPixel(5, 1, (int[]) null, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try y < 0 pass = false; try { m.getPixel(1, -1, (int[]) null, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try y == height pass = false; try { m.getPixel(1, 10, (int[]) null, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try null data buffer pass = false; try { m.getPixel(1, 2, pixel, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void testMethod2(TestHarness harness) { harness.checkPoint("(int, int, float[], DataBuffer)"); SampleModel m = new ComponentSampleModel(DataBuffer.TYPE_BYTE, 5, 10, 3, 16, new int[] {0, 2, 1}); DataBuffer db = m.createDataBuffer(); float[] pixel = new float[3]; m.getPixel(1, 2, pixel, db); harness.check(Arrays.equals(pixel, new float[] {0, 0, 0})); m.setPixel(1, 2, new int[] {1, 2, 3}, db); m.getPixel(1, 2, pixel, db); harness.check(Arrays.equals(pixel, new float[] {1, 2, 3})); // if the incoming array is null, a new one is created pixel = m.getPixel(1, 2, (float[]) null, db); harness.check(Arrays.equals(pixel, new float[] {1, 2, 3})); // try x < 0 boolean pass = false; try { m.getPixel(-1, 1, (float[]) null, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try x == width pass = false; try { m.getPixel(5, 1, (float[]) null, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try y < 0 pass = false; try { m.getPixel(1, -1, (float[]) null, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try y == height pass = false; try { m.getPixel(1, 10, (float[]) null, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try null data buffer pass = false; try { m.getPixel(1, 2, pixel, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void testMethod3(TestHarness harness) { harness.checkPoint("(int, int, float[], DataBuffer)"); SampleModel m = new ComponentSampleModel(DataBuffer.TYPE_BYTE, 5, 10, 3, 16, new int[] {0, 2, 1}); DataBuffer db = m.createDataBuffer(); float[] pixel = new float[3]; m.getPixel(1, 2, pixel, db); harness.check(Arrays.equals(pixel, new float[] {0, 0, 0})); m.setPixel(1, 2, new int[] {1, 2, 3}, db); m.getPixel(1, 2, pixel, db); harness.check(Arrays.equals(pixel, new float[] {1, 2, 3})); // if the incoming array is null, a new one is created pixel = m.getPixel(1, 2, (float[]) null, db); harness.check(Arrays.equals(pixel, new float[] {1, 2, 3})); // try x < 0 boolean pass = false; try { m.getPixel(-1, 1, (float[]) null, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try x == width pass = false; try { m.getPixel(5, 1, (float[]) null, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try y < 0 pass = false; try { m.getPixel(1, -1, (float[]) null, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try y == height pass = false; try { m.getPixel(1, 10, (float[]) null, db); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try null data buffer pass = false; try { m.getPixel(1, 2, pixel, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/ComponentSampleModel/createCompatibleSampleModel.java0000644000175000001440000000352510457332204031343 0ustar dokousers/* createCompatibleSampleModel.java -- some checks for the createCompatibleSampleModel() method in the ComponentSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.ComponentSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ComponentSampleModel; import java.awt.image.DataBuffer; import java.awt.image.SampleModel; import java.util.Arrays; public class createCompatibleSampleModel implements Testlet { public void test(TestHarness harness) { ComponentSampleModel m1 = new ComponentSampleModel(DataBuffer.TYPE_INT, 22, 11, 1, 25, new int[] {1, 2}, new int[] {3, 4}); SampleModel m2 = m1.createCompatibleSampleModel(33, 44); harness.check(m2 instanceof ComponentSampleModel); harness.check(m2.getDataType(), DataBuffer.TYPE_INT); harness.check(m2.getWidth(), 33); harness.check(m2.getHeight(), 44); harness.check(m2.getNumBands(), 2); harness.check(Arrays.equals(m1.getBandOffsets(), new int[] {3, 4})); harness.check(Arrays.equals(m1.getBankIndices(), new int[] {1, 2})); } } mauve-20140821/gnu/testlet/java/awt/image/ComponentSampleModel/getPixels.java0000644000175000001440000000422110457332204025713 0ustar dokousers/* getPixels.java -- some checks for the getPixels() method in the ComponentSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.ComponentSampleModel; import java.awt.image.ComponentSampleModel; import java.awt.image.DataBuffer; import java.awt.image.DataBufferInt; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getPixels implements Testlet { public void test(TestHarness harness) { DataBuffer db = new DataBufferInt(12); for (int i = 0; i < 12; i++) db.setElem(i, i); ComponentSampleModel m = new ComponentSampleModel(DataBuffer.TYPE_INT, 3, 2, 2, 6, new int[] {0, 1}); int[] pixels = m.getPixels(1, 0, 2, 1, (int[]) null, db); harness.check(pixels.length, 4); harness.check(pixels[0], 2); harness.check(pixels[1], 3); harness.check(pixels[2], 4); harness.check(pixels[3], 5); // try passing in a result array int[] result = new int[4]; pixels = m.getPixels(1, 1, 2, 1, result, db); harness.check(pixels[0], 8); harness.check(pixels[1], 9); harness.check(pixels[2], 10); harness.check(pixels[3], 11); harness.check(pixels == result); // try null data buffer boolean pass = false; try { m.getPixels(1, 1, 2, 1, result, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/ComponentSampleModel/getSampleSize.java0000644000175000001440000000441710457332204026532 0ustar dokousers/* getSampleSize.java -- some checks for the getSampleSize() method in the ComponentSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.ComponentSampleModel; import java.awt.image.ComponentSampleModel; import java.awt.image.DataBuffer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getSampleSize implements Testlet { public void test(TestHarness harness) { test1(harness); test2(harness); } private void test1(TestHarness harness) { harness.checkPoint("()"); ComponentSampleModel m1 = new ComponentSampleModel(DataBuffer.TYPE_INT, 22, 11, 2, 44, new int[] {0, 0}); int[] sizes = m1.getSampleSize(); harness.check(sizes.length, 2); harness.check(sizes[0], 32); harness.check(sizes[1], 32); ComponentSampleModel m2 = new ComponentSampleModel(DataBuffer.TYPE_BYTE, 22, 11, 2, 44, new int[] {0, 0, 0}); int[] sizes2 = m2.getSampleSize(); harness.check(sizes2.length, 3); harness.check(sizes2[0], 8); harness.check(sizes2[1], 8); harness.check(sizes2[2], 8); } private void test2(TestHarness harness) { harness.checkPoint("(int)"); ComponentSampleModel m1 = new ComponentSampleModel(DataBuffer.TYPE_INT, 22, 11, 2, 44, new int[] {0, 0}); harness.check(m1.getSampleSize(0), 32); harness.check(m1.getSampleSize(1), 32); harness.check(m1.getSampleSize(2), 32); harness.check(m1.getSampleSize(3), 32); harness.check(m1.getSampleSize(-1), 32); } } mauve-20140821/gnu/testlet/java/awt/image/ComponentSampleModel/createSubsetSampleModel.java0000644000175000001440000000321610457332204030526 0ustar dokousers/* createSubsetSampleModel.java -- some checks for the createSubsetSampleModel() method in the ComponentSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.ComponentSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ComponentSampleModel; import java.awt.image.DataBuffer; import java.awt.image.SampleModel; public class createSubsetSampleModel implements Testlet { public void test(TestHarness harness) { ComponentSampleModel m1 = new ComponentSampleModel(DataBuffer.TYPE_INT, 22, 11, 2, 44, new int[] {0, 1}); SampleModel m2 = m1.createSubsetSampleModel(new int[] {1}); harness.check(m2 instanceof ComponentSampleModel); harness.check(m2.getDataType(), DataBuffer.TYPE_INT); harness.check(m2.getWidth(), 22); harness.check(m2.getHeight(), 11); harness.check(m2.getNumBands(), 1); } } mauve-20140821/gnu/testlet/java/awt/image/ComponentSampleModel/hashCode.java0000644000175000001440000000304110456736021025470 0ustar dokousers/* hashCode.java -- some checks for the hashCode() method in the ComponentSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.ComponentSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ComponentSampleModel; import java.awt.image.DataBuffer; public class hashCode implements Testlet { public void test(TestHarness harness) { // equal instances should have equal hashCodes... ComponentSampleModel m1 = new ComponentSampleModel(DataBuffer.TYPE_INT, 10, 20, 3, 3, new int[] {0, 1, 2}); ComponentSampleModel m2 = new ComponentSampleModel(DataBuffer.TYPE_INT, 10, 20, 3, 3, new int[] {0, 1, 2}); harness.check(m1.equals(m2)); harness.check(m1.hashCode(), m2.hashCode()); } } mauve-20140821/gnu/testlet/java/awt/image/ComponentSampleModel/setSamples.java0000644000175000001440000000345310457332204026075 0ustar dokousers/* setSamples.java -- some checks for the setSamples() method in the ComponentSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.ComponentSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ComponentSampleModel; import java.awt.image.DataBuffer; import java.awt.image.DataBufferInt; public class setSamples implements Testlet { public void test(TestHarness harness) { DataBuffer db = new DataBufferInt(12); int[] samples = new int[] {11, 22}; ComponentSampleModel m = new ComponentSampleModel(DataBuffer.TYPE_INT, 3, 2, 2, 6, new int[] {0, 1}); m.setSamples(1, 0, 2, 1, 1, samples, db); harness.check(db.getElem(0, 3), 11); harness.check(db.getElem(0, 5), 22); // check that a null data buffer generates a NullPointerException boolean pass = false; try { m.setSamples(1, 0, 2, 1, 1, samples, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/ComponentSampleModel/getSamples.java0000644000175000001440000000411110457332204026051 0ustar dokousers/* getSamples.java -- some checks for the getSamples() method in the ComponentSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.ComponentSampleModel; import java.awt.image.ComponentSampleModel; import java.awt.image.DataBuffer; import java.awt.image.DataBufferInt; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getSamples implements Testlet { public void test(TestHarness harness) { DataBuffer db = new DataBufferInt(12); for (int i = 0; i < 12; i++) db.setElem(i, i); ComponentSampleModel m = new ComponentSampleModel(DataBuffer.TYPE_INT, 3, 2, 2, 6, new int[] {0, 1}); int[] samples = m.getSamples(0, 1, 2, 1, 0, (int[]) null, db); harness.check(samples.length, 2); harness.check(samples[0], 6); harness.check(samples[1], 8); // try passing in a result array int[] result = new int[2]; samples = m.getSamples(0, 1, 2, 1, 1, result, db); harness.check(samples.length, 2); harness.check(samples[0], 7); harness.check(samples[1], 9); harness.check(samples == result); // try null data buffer boolean pass = false; try { m.getSamples(0, 1, 2, 1, 1, result, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/ComponentSampleModel/setPixel.java0000644000175000001440000000401610457332204025546 0ustar dokousers/* setPixel.java -- some checks for the setPixel() method in the ComponentSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.ComponentSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ComponentSampleModel; import java.awt.image.DataBuffer; import java.awt.image.DataBufferInt; public class setPixel implements Testlet { public void test(TestHarness harness) { DataBuffer db = new DataBufferInt(12); int[] pixel = new int[] {11, 22}; ComponentSampleModel m = new ComponentSampleModel(DataBuffer.TYPE_INT, 3, 2, 2, 6, new int[] {0, 1}); m.setPixel(1, 1, pixel, db); harness.check(db.getElem(0, 8), 11); harness.check(db.getElem(0, 9), 22); // check that a null pixel array generates a NullPointerException boolean pass = false; try { m.setPixel(1, 1, (int[]) null, db); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check that a null data buffer generates a NullPointerException pass = false; try { m.setPixel(1, 1, pixel, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/ComponentSampleModel/getScanlineStride.java0000644000175000001440000000253610457332204027365 0ustar dokousers/* getScanlineStride.java -- some checks for the getScanlineStride() method in the ComponentSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.ComponentSampleModel; import java.awt.image.ComponentSampleModel; import java.awt.image.DataBuffer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getScanlineStride implements Testlet { public void test(TestHarness harness) { ComponentSampleModel m1 = new ComponentSampleModel(DataBuffer.TYPE_INT, 22, 11, 2, 44, new int[] {0, 0}); harness.check(m1.getScanlineStride(), 44); } } mauve-20140821/gnu/testlet/java/awt/image/ComponentSampleModel/getDataElements.java0000644000175000001440000000425310457332204027022 0ustar dokousers/* getDataElements.java -- some checks for the getDataElements() method in the ComponentSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.ComponentSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ComponentSampleModel; import java.awt.image.DataBuffer; import java.awt.image.DataBufferInt; public class getDataElements implements Testlet { public void test(TestHarness harness) { DataBuffer db = new DataBufferInt(12); for (int i = 0; i < 12; i++) db.setElem(i, i); ComponentSampleModel m = new ComponentSampleModel(DataBuffer.TYPE_INT, 3, 2, 2, 6, new int[] {0, 1}); Object elements = m.getDataElements(0, 0, 2, 1, null, db); int[] de = (int[]) elements; harness.check(de.length, 4); harness.check(de[0], 0); harness.check(de[1], 1); harness.check(de[2], 2); harness.check(de[3], 3); // try passing in a result array int[] result = new int[4]; de = (int[]) m.getDataElements(0, 0, 2, 1, result, db); harness.check(de[0], 0); harness.check(de[1], 1); harness.check(de[2], 2); harness.check(de[3], 3); harness.check(de == result); // try null data buffer boolean pass = false; try { m.getDataElements(0, 0, 2, 1, result, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/ComponentSampleModel/getPixelStride.java0000644000175000001440000000252110457332204026704 0ustar dokousers/* getPixelStride.java -- some checks for the getPixelStride() method in the ComponentSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.ComponentSampleModel; import java.awt.image.ComponentSampleModel; import java.awt.image.DataBuffer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getPixelStride implements Testlet { public void test(TestHarness harness) { ComponentSampleModel m1 = new ComponentSampleModel(DataBuffer.TYPE_INT, 22, 11, 2, 44, new int[] {0, 0}); harness.check(m1.getPixelStride(), 2); } } mauve-20140821/gnu/testlet/java/awt/image/ComponentSampleModel/getNumDataElements.java0000644000175000001440000000253710457332204027505 0ustar dokousers/* getNumDataElements.java -- some checks for the getNumDataElements() method in the ComponentSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.ComponentSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ComponentSampleModel; import java.awt.image.DataBuffer; public class getNumDataElements implements Testlet { public void test(TestHarness harness) { ComponentSampleModel m = new ComponentSampleModel(DataBuffer.TYPE_INT, 3, 2, 2, 6, new int[] {0, 1}); harness.check(m.getNumDataElements(), 2); } } mauve-20140821/gnu/testlet/java/awt/image/ComponentSampleModel/MyComponentSampleModel.java0000644000175000001440000000313310456736021030347 0ustar dokousers/* MyComponentSampleModel.java -- provides access to protected attributes. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.java.awt.image.ComponentSampleModel; import java.awt.image.ComponentSampleModel; public class MyComponentSampleModel extends ComponentSampleModel { public MyComponentSampleModel(int dataType, int w, int h, int pixelStride, int scanlineStride, int[] bandOffsets) { super(dataType, w, h, pixelStride, scanlineStride, bandOffsets); } public MyComponentSampleModel(int dataType, int w, int h, int pixelStride, int scanlineStride, int[] bandOffsets, int[] bankIndices) { super(dataType, w, h, pixelStride, scanlineStride, bandOffsets); } public int[] getBandOffsetsDirect() { return this.bandOffsets; } public int[] getBankIndicesDirect() { return this.bankIndices; } } mauve-20140821/gnu/testlet/java/awt/image/PixelInterleavedSampleModel/0000755000175000001440000000000012375316426024420 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/image/PixelInterleavedSampleModel/createSubsetSampleModel.java0000644000175000001440000000435310037100005032015 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.PixelInterleavedSampleModel; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.image.DataBuffer; import java.awt.image.PixelInterleavedSampleModel; import java.awt.image.SampleModel; /** * @author Sascha Brawer */ public class createSubsetSampleModel implements Testlet { public void test(TestHarness h) { SampleModel sm; PixelInterleavedSampleModel psm, sub; int[] subBands; psm = new PixelInterleavedSampleModel(DataBuffer.TYPE_BYTE, 5, 2, 4, 20, new int[] { 3, 0, 1 }); sm = psm.createSubsetSampleModel(new int[] { 0, 2 }); // Check #1. if (sm instanceof PixelInterleavedSampleModel) { h.check(true); sub = (PixelInterleavedSampleModel) sm; } else { h.check(false); h.debug(String.valueOf(sm)); return; } // Check #2. h.check(sub.getDataType(), DataBuffer.TYPE_BYTE); // Check #3. h.check(sub.getWidth(), 5); // Check #4. h.check(sub.getHeight(), 2); // Check #5. h.check(sub.getPixelStride(), 4); // Check #6. h.check(sub.getScanlineStride(), 20); // Check #7. subBands = sub.getBandOffsets(); h.check(subBands.length, 2); // Check #8. h.check(subBands[0], 3); // Check #9. h.check(subBands[1], 1); } } mauve-20140821/gnu/testlet/java/awt/image/WritableRaster/0000755000175000001440000000000012375316426021763 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/image/WritableRaster/createWritableChild.java0000644000175000001440000001241210515166451026522 0ustar dokousers/* createWritableChild.java -- some checks for the createWritableChild() method in the WritableRaster class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.WritableRaster; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Point; import java.awt.image.DataBuffer; import java.awt.image.Raster; import java.awt.image.RasterFormatException; import java.awt.image.SinglePixelPackedSampleModel; import java.awt.image.WritableRaster; public class createWritableChild implements Testlet { public void test(TestHarness harness) { testData(harness); testBounds(harness); testBands(harness); } private void testData(TestHarness harness) { WritableRaster rst = createRaster(); // Child raster WritableRaster rst2 = rst.createWritableChild(10, 20, 25, 15, 0, 0, null); harness.check(rst2.getMinX(), 0); harness.check(rst2.getMinY(), 0); harness.check(rst2.getWidth(), 25); harness.check(rst2.getHeight(), 15); for (int x = 0; x < 25; x++) for (int y = 0; y < 15; y++) for (int b = 0; b < 3; b++) harness.check(rst2.getSample(x, y, b), x+10 + y+20 + b); // Offset child rst2 = rst.createWritableChild(10, 20, 25, 15, 30, 40, null); harness.check(rst2.getMinX(), 30); harness.check(rst2.getMinY(), 40); harness.check(rst2.getWidth(), 25); harness.check(rst2.getHeight(), 15); for (int x = 30; x < 55; x++) for (int y = 40; y < 55; y++) for (int b = 0; b < 3; b++) harness.check(rst2.getSample(x, y, b), x-20 + y-20 + b); } private void testBounds(TestHarness harness) { WritableRaster rst = createRaster(); // Width and height out of bounds try { rst.createChild(10, 20, 100, 100, 0, 0, null); harness.check(false); } catch (RasterFormatException ex) { harness.check(true); } catch (Exception ex) { harness.check(false); } // MinX and MinY out of bounds try { // Create child with non-zero minX and minY WritableRaster rst2 = rst.createWritableChild(0, 0, 25, 25, 30, 30, null); // Create child's child with minX and minY out of bounds rst2.createChild(10, 20, 10, 10, 0, 0, null); harness.check(false); } catch (RasterFormatException ex) { harness.check(true); } catch (Exception ex) { harness.check(false); } } private void testBands(TestHarness harness) { WritableRaster rst = createRaster(); // Copy all bands WritableRaster rst2 = rst.createWritableChild(0, 0, 50, 40, 0, 0, null); harness.check(rst2.getNumBands(), rst.getNumBands()); // Only first two bands rst2 = rst.createWritableChild(0, 0, 50, 40, 0, 0, new int[]{0, 1}); harness.check(rst2.getNumBands(), 2); for (int x = 0; x < 50; x++) for (int y = 0; y < 40; y++) for (int b = 0; b < 2; b++) harness.check(rst2.getSample(x, y, b), x+y+b); // Only last two bands rst2 = rst.createWritableChild(0, 0, 50, 40, 0, 0, new int[]{1, 2}); harness.check(rst2.getNumBands(), 2); for (int x = 0; x < 50; x++) for (int y = 0; y < 40; y++) for (int b = 0; b < 2; b++) harness.check(rst2.getSample(x, y, b), x+y+b+1); // Only middle band rst2 = rst.createWritableChild(0, 0, 50, 40, 0, 0, new int[]{1}); harness.check(rst2.getNumBands(), 1); for (int x = 0; x < 50; x++) for (int y = 0; y < 40; y++) harness.check(rst2.getSample(x, y, 0), x+y+1); // Reverse order of bands rst2 = rst.createWritableChild(0, 0, 50, 40, 0, 0, new int[]{2, 0}); harness.check(rst2.getNumBands(), 2); for (int x = 0; x < 50; x++) for (int y = 0; y < 40; y++) { harness.check(rst2.getSample(x, y, 0), x+y+2); harness.check(rst2.getSample(x, y, 1), x+y); } } private WritableRaster createRaster() { // Create initial raster WritableRaster rst = Raster.createWritableRaster(new SinglePixelPackedSampleModel(DataBuffer.TYPE_INT, 50, 40, new int[]{0xff0000, 0xff00, 0xff}), new Point(0, 0)); // Fill with test data for (int x = 0; x < 50; x++) for (int y = 0; y < 40; y++) for (int b = 0; b < 3; b++) rst.setSample(x, y, b, x+y+b); return rst; } } mauve-20140821/gnu/testlet/java/awt/image/WritableRaster/createChild.java0000644000175000001440000001233110532656237025035 0ustar dokousers/* createChild.java -- some checks for the createChild() method in the WritableRaster class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.WritableRaster; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Point; import java.awt.image.DataBuffer; import java.awt.image.Raster; import java.awt.image.RasterFormatException; import java.awt.image.SinglePixelPackedSampleModel; import java.awt.image.WritableRaster; public class createChild implements Testlet { public void test(TestHarness harness) { testData(harness); testBounds(harness); testBands(harness); } private void testData(TestHarness harness) { Raster rst = createRaster(harness); // Child raster Raster rst2 = rst.createChild(10, 20, 25, 15, 0, 0, null); harness.check(rst2 instanceof WritableRaster); harness.check(rst2.getMinX(), 0); harness.check(rst2.getMinY(), 0); harness.check(rst2.getWidth(), 25); harness.check(rst2.getHeight(), 15); for (int x = 0; x < 25; x++) for (int y = 0; y < 15; y++) for (int b = 0; b < 3; b++) harness.check(rst2.getSample(x, y, b), x+10 + y+20 + b); // Offset child rst2 = rst.createChild(10, 20, 25, 15, 30, 40, null); harness.check(rst2.getMinX(), 30); harness.check(rst2.getMinY(), 40); harness.check(rst2.getWidth(), 25); harness.check(rst2.getHeight(), 15); for (int x = 30; x < 55; x++) for (int y = 40; y < 55; y++) for (int b = 0; b < 3; b++) harness.check(rst2.getSample(x, y, b), x-20 + y-20 + b); } private void testBounds(TestHarness harness) { Raster rst = createRaster(harness); // Width and height out of bounds try { rst.createChild(10, 20, 100, 100, 0, 0, null); harness.check(false); } catch (RasterFormatException ex) { harness.check(true); } catch (Exception ex) { harness.check(false); } // MinX and MinY out of bounds try { // Create child with non-zero minX and minY Raster rst2 = rst.createChild(0, 0, 25, 25, 30, 30, null); // Create child's child with minX and minY out of bounds rst2.createChild(10, 20, 10, 10, 0, 0, null); harness.check(false); } catch (RasterFormatException ex) { harness.check(true); } catch (Exception ex) { harness.check(false); } } private void testBands(TestHarness harness) { Raster rst = createRaster(harness); // Copy all bands Raster rst2 = rst.createChild(0, 0, 50, 40, 0, 0, null); harness.check(rst2.getNumBands(), rst.getNumBands()); // Only first two bands rst2 = rst.createChild(0, 0, 50, 40, 0, 0, new int[]{0, 1}); harness.check(rst2.getNumBands(), 2); for (int x = 0; x < 50; x++) for (int y = 0; y < 40; y++) for (int b = 0; b < 2; b++) harness.check(rst2.getSample(x, y, b), x+y+b); // Only last two bands rst2 = rst.createChild(0, 0, 50, 40, 0, 0, new int[]{1, 2}); harness.check(rst2.getNumBands(), 2); for (int x = 0; x < 50; x++) for (int y = 0; y < 40; y++) for (int b = 0; b < 2; b++) harness.check(rst2.getSample(x, y, b), x+y+b+1); // Only middle band rst2 = rst.createChild(0, 0, 50, 40, 0, 0, new int[]{1}); harness.check(rst2.getNumBands(), 1); for (int x = 0; x < 50; x++) for (int y = 0; y < 40; y++) harness.check(rst2.getSample(x, y, 0), x+y+1); // Reverse order of bands rst2 = rst.createChild(0, 0, 50, 40, 0, 0, new int[]{2, 0}); harness.check(rst2.getNumBands(), 2); for (int x = 0; x < 50; x++) for (int y = 0; y < 40; y++) { harness.check(rst2.getSample(x, y, 0), x+y+2); harness.check(rst2.getSample(x, y, 1), x+y); } } private Raster createRaster(TestHarness harness) { // Create initial raster WritableRaster rst = Raster.createWritableRaster(new SinglePixelPackedSampleModel(DataBuffer.TYPE_INT, 50, 40, new int[]{0xff0000, 0xff00, 0xff}), new Point(0, 0)); // Fill with test data for (int x = 0; x < 50; x++) for (int y = 0; y < 40; y++) for (int b = 0; b < 3; b++) rst.setSample(x, y, b, x+y+b); return rst; } } mauve-20140821/gnu/testlet/java/awt/image/BandedSampleModel/0000755000175000001440000000000012375316426022331 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/image/BandedSampleModel/getSampleFloat.java0000644000175000001440000000651310251414462026076 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.BandedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.BandedSampleModel; import java.awt.image.DataBuffer; import java.awt.image.DataBufferInt; /** * Some checks for the getSampleFloat()() method in the * {@link BandedSampleModel} class. */ public class getSampleFloat implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BandedSampleModel m = new BandedSampleModel(DataBuffer.TYPE_INT, 2, 3, 2); DataBufferInt b = new DataBufferInt(6, 2); b.setElem(0, 0, 0xA0); b.setElem(0, 1, 0xA1); b.setElem(0, 2, 0xA2); b.setElem(0, 3, 0xA3); b.setElem(0, 4, 0xA4); b.setElem(0, 5, 0xA5); b.setElem(1, 0, 0xB0); b.setElem(1, 1, 0xB1); b.setElem(1, 2, 0xB2); b.setElem(1, 3, 0xB3); b.setElem(1, 4, 0xB4); b.setElem(1, 5, 0xB5); harness.check(m.getSampleFloat(0, 0, 0, b), 0xA0); harness.check(m.getSampleFloat(1, 0, 0, b), 0xA1); harness.check(m.getSampleFloat(0, 1, 0, b), 0xA2); harness.check(m.getSampleFloat(1, 1, 0, b), 0xA3); harness.check(m.getSampleFloat(0, 2, 0, b), 0xA4); harness.check(m.getSampleFloat(1, 2, 0, b), 0xA5); harness.check(m.getSampleFloat(0, 0, 1, b), 0xB0); harness.check(m.getSampleFloat(1, 0, 1, b), 0xB1); harness.check(m.getSampleFloat(0, 1, 1, b), 0xB2); harness.check(m.getSampleFloat(1, 1, 1, b), 0xB3); harness.check(m.getSampleFloat(0, 2, 1, b), 0xB4); harness.check(m.getSampleFloat(1, 2, 1, b), 0xB5); // try negative x boolean pass = false; try { /* int sample = */ m.getSampleFloat(-1, 0, 0, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try negative y pass = false; try { /* int sample = */ m.getSampleFloat(0, -1, 0, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try negative band pass = false; try { /* int sample = */ m.getSampleFloat(0, 0, -1, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try null buffer pass = false; try { /* int sample = */ m.getSampleFloat(0, 0, 0, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/BandedSampleModel/constructors.java0000644000175000001440000001237110251414462025736 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.BandedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.BandedSampleModel; import java.awt.image.DataBuffer; /** * Some checks for the constructors in the {@link BandedSampleModel} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("(int, int, int, int)"); BandedSampleModel m = new BandedSampleModel(DataBuffer.TYPE_SHORT, 10, 20, 2); harness.check(m.getDataType(), DataBuffer.TYPE_SHORT); harness.check(m.getWidth(), 10); harness.check(m.getHeight(), 20); harness.check(m.getNumBands(), 2); harness.check(m.getNumDataElements(), 2); harness.check(m.getScanlineStride(), 10); harness.check(m.getPixelStride(), 1); int[] bankIndices = m.getBankIndices(); harness.check(bankIndices[0], 0); harness.check(bankIndices[1], 1); // check bad type boolean pass = false; try { m = new BandedSampleModel(DataBuffer.TYPE_UNDEFINED, 10, 20, 2); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // check zero width pass = false; try { m = new BandedSampleModel(DataBuffer.TYPE_INT, 0, 20, 2); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // check zero height pass = false; try { m = new BandedSampleModel(DataBuffer.TYPE_INT, 10, 0, 2); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // check zero bands pass = false; try { m = new BandedSampleModel(DataBuffer.TYPE_INT, 10, 20, 0); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(int, int, int, int, int[], int[])"); BandedSampleModel m = new BandedSampleModel(DataBuffer.TYPE_SHORT, 10, 20, 10, new int[] {3, 2, 1}, new int[] {0, 0, 0}); harness.check(m.getDataType(), DataBuffer.TYPE_SHORT); harness.check(m.getWidth(), 10); harness.check(m.getHeight(), 20); harness.check(m.getScanlineStride(), 10); harness.check(m.getPixelStride(), 1); harness.check(m.getNumBands(), 3); harness.check(m.getBankIndices()[0], 3); harness.check(m.getBankIndices()[1], 2); harness.check(m.getBankIndices()[2], 1); harness.check(m.getBandOffsets()[0], 0); harness.check(m.getBandOffsets()[1], 0); harness.check(m.getBandOffsets()[2], 0); // check bad type boolean pass = false; try { m = new BandedSampleModel(DataBuffer.TYPE_UNDEFINED, 10, 20, 10, new int[] {3, 2, 1}, new int[] {0, 0, 0}); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // check zero width pass = false; try { m = new BandedSampleModel(DataBuffer.TYPE_INT, 0, 20, 10, new int[] {3, 2, 1}, new int[] {0, 0, 0}); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // check zero height pass = false; try { m = new BandedSampleModel(DataBuffer.TYPE_INT, 10, 0, 10, new int[] {3, 2, 1}, new int[] {0, 0, 0}); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // check null indices pass = false; try { m = new BandedSampleModel(DataBuffer.TYPE_INT, 10, 20, 10, null, new int[] {0, 0, 0}); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check null offsets pass = false; try { m = new BandedSampleModel(DataBuffer.TYPE_INT, 10, 20, 10, new int[] {3, 2, 1}, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check number of bands (inferred from array lengths) conflicting pass = false; try { m = new BandedSampleModel(DataBuffer.TYPE_INT, 10, 20, 0, new int[] {2, 1}, new int[] {0, 0, 0}); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/BandedSampleModel/setSample.java0000644000175000001440000001736510251414462025133 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.BandedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.BandedSampleModel; import java.awt.image.DataBuffer; import java.awt.image.DataBufferInt; /** * Some checks for the setSample()() method in the * {@link BandedSampleModel} class. */ public class setSample implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testInt(harness); testFloat(harness); testDouble(harness); } public void testInt(TestHarness harness) { harness.checkPoint("(int, int, int, int, DataBuffer)"); BandedSampleModel m = new BandedSampleModel(DataBuffer.TYPE_INT, 2, 3, 2); DataBufferInt b = new DataBufferInt(6, 2); m.setSample(0, 0, 0, 0xA0, b); m.setSample(1, 0, 0, 0xA1, b); m.setSample(0, 1, 0, 0xA2, b); m.setSample(1, 1, 0, 0xA3, b); m.setSample(0, 2, 0, 0xA4, b); m.setSample(1, 2, 0, 0xA5, b); m.setSample(0, 0, 1, 0xB0, b); m.setSample(1, 0, 1, 0xB1, b); m.setSample(0, 1, 1, 0xB2, b); m.setSample(1, 1, 1, 0xB3, b); m.setSample(0, 2, 1, 0xB4, b); m.setSample(1, 2, 1, 0xB5, b); harness.check(b.getElem(0, 0), 0xA0); harness.check(b.getElem(0, 1), 0xA1); harness.check(b.getElem(0, 2), 0xA2); harness.check(b.getElem(0, 3), 0xA3); harness.check(b.getElem(0, 4), 0xA4); harness.check(b.getElem(0, 5), 0xA5); harness.check(b.getElem(1, 0), 0xB0); harness.check(b.getElem(1, 1), 0xB1); harness.check(b.getElem(1, 2), 0xB2); harness.check(b.getElem(1, 3), 0xB3); harness.check(b.getElem(1, 4), 0xB4); harness.check(b.getElem(1, 5), 0xB5); // check negative x boolean pass = false; try { m.setSample(-1, 0, 0, 0xFF, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // check negative y pass = false; try { m.setSample(0, -1, 0, 0xFF, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // check negative band pass = false; try { m.setSample(0, 0, -1, 0xFF, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // check null buffer pass = false; try { m.setSample(0, 0, 0, 0xFF, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void testFloat(TestHarness harness) { harness.checkPoint("(int, int, int, float, DataBuffer)"); BandedSampleModel m = new BandedSampleModel(DataBuffer.TYPE_INT, 2, 3, 2); DataBufferInt b = new DataBufferInt(6, 2); m.setSample(0, 0, 0, (float) 0xA0, b); m.setSample(1, 0, 0, (float) 0xA1, b); m.setSample(0, 1, 0, (float) 0xA2, b); m.setSample(1, 1, 0, (float) 0xA3, b); m.setSample(0, 2, 0, (float) 0xA4, b); m.setSample(1, 2, 0, (float) 0xA5, b); m.setSample(0, 0, 1, (float) 0xB0, b); m.setSample(1, 0, 1, (float) 0xB1, b); m.setSample(0, 1, 1, (float) 0xB2, b); m.setSample(1, 1, 1, (float) 0xB3, b); m.setSample(0, 2, 1, (float) 0xB4, b); m.setSample(1, 2, 1, (float) 0xB5, b); harness.check(b.getElem(0, 0), 0xA0); harness.check(b.getElem(0, 1), 0xA1); harness.check(b.getElem(0, 2), 0xA2); harness.check(b.getElem(0, 3), 0xA3); harness.check(b.getElem(0, 4), 0xA4); harness.check(b.getElem(0, 5), 0xA5); harness.check(b.getElem(1, 0), 0xB0); harness.check(b.getElem(1, 1), 0xB1); harness.check(b.getElem(1, 2), 0xB2); harness.check(b.getElem(1, 3), 0xB3); harness.check(b.getElem(1, 4), 0xB4); harness.check(b.getElem(1, 5), 0xB5); // check negative x boolean pass = false; try { m.setSample(-1, 0, 0, (float) 0xFF, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // check negative y pass = false; try { m.setSample(0, -1, 0, (float) 0xFF, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // check negative band pass = false; try { m.setSample(0, 0, -1, (float) 0xFF, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // check null buffer pass = false; try { m.setSample(0, 0, 0, (float) 0xFF, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void testDouble(TestHarness harness) { harness.checkPoint("(int, int, int, double, DataBuffer)"); BandedSampleModel m = new BandedSampleModel(DataBuffer.TYPE_INT, 2, 3, 2); DataBufferInt b = new DataBufferInt(6, 2); m.setSample(0, 0, 0, (double) 0xA0, b); m.setSample(1, 0, 0, (double) 0xA1, b); m.setSample(0, 1, 0, (double) 0xA2, b); m.setSample(1, 1, 0, (double) 0xA3, b); m.setSample(0, 2, 0, (double) 0xA4, b); m.setSample(1, 2, 0, (double) 0xA5, b); m.setSample(0, 0, 1, (double) 0xB0, b); m.setSample(1, 0, 1, (double) 0xB1, b); m.setSample(0, 1, 1, (double) 0xB2, b); m.setSample(1, 1, 1, (double) 0xB3, b); m.setSample(0, 2, 1, (double) 0xB4, b); m.setSample(1, 2, 1, (double) 0xB5, b); harness.check(b.getElem(0, 0), 0xA0); harness.check(b.getElem(0, 1), 0xA1); harness.check(b.getElem(0, 2), 0xA2); harness.check(b.getElem(0, 3), 0xA3); harness.check(b.getElem(0, 4), 0xA4); harness.check(b.getElem(0, 5), 0xA5); harness.check(b.getElem(1, 0), 0xB0); harness.check(b.getElem(1, 1), 0xB1); harness.check(b.getElem(1, 2), 0xB2); harness.check(b.getElem(1, 3), 0xB3); harness.check(b.getElem(1, 4), 0xB4); harness.check(b.getElem(1, 5), 0xB5); // check negative x boolean pass = false; try { m.setSample(-1, 0, 0, (double) 0xFF, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // check negative y pass = false; try { m.setSample(0, -1, 0, (double) 0xFF, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // check negative band pass = false; try { m.setSample(0, 0, -1, (double) 0xFF, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // check null buffer pass = false; try { m.setSample(0, 0, 0, (double) 0xFF, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/BandedSampleModel/createDataBuffer.java0000644000175000001440000000365110251414462026356 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.BandedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.BandedSampleModel; import java.awt.image.DataBuffer; /** * Some checks for the createDataBuffer() method in the * {@link BandedSampleModel} class. */ public class createDataBuffer implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BandedSampleModel m = new BandedSampleModel(DataBuffer.TYPE_SHORT, 10, 20, 10, new int[] {2, 1, 0}, new int[] {0, 0, 0}); DataBuffer b = m.createDataBuffer(); harness.check(b.getDataType(), DataBuffer.TYPE_SHORT); harness.check(b.getNumBanks(), 3); harness.check(b.getSize(), 200); // another test m = new BandedSampleModel(DataBuffer.TYPE_INT, 4, 6, 10, new int[] {0, 1}, new int[] {0, 0}); b = m.createDataBuffer(); harness.check(b.getDataType(), DataBuffer.TYPE_INT); harness.check(b.getNumBanks(), 2); harness.check(b.getSize(), 60); } } mauve-20140821/gnu/testlet/java/awt/image/BandedSampleModel/getSample.java0000644000175000001440000000636510251414462025115 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.BandedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.BandedSampleModel; import java.awt.image.DataBuffer; import java.awt.image.DataBufferInt; /** * Some checks for the getSample()() method in the * {@link BandedSampleModel} class. */ public class getSample implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BandedSampleModel m = new BandedSampleModel(DataBuffer.TYPE_INT, 2, 3, 2); DataBufferInt b = new DataBufferInt(6, 2); b.setElem(0, 0, 0xA0); b.setElem(0, 1, 0xA1); b.setElem(0, 2, 0xA2); b.setElem(0, 3, 0xA3); b.setElem(0, 4, 0xA4); b.setElem(0, 5, 0xA5); b.setElem(1, 0, 0xB0); b.setElem(1, 1, 0xB1); b.setElem(1, 2, 0xB2); b.setElem(1, 3, 0xB3); b.setElem(1, 4, 0xB4); b.setElem(1, 5, 0xB5); harness.check(m.getSample(0, 0, 0, b), 0xA0); harness.check(m.getSample(1, 0, 0, b), 0xA1); harness.check(m.getSample(0, 1, 0, b), 0xA2); harness.check(m.getSample(1, 1, 0, b), 0xA3); harness.check(m.getSample(0, 2, 0, b), 0xA4); harness.check(m.getSample(1, 2, 0, b), 0xA5); harness.check(m.getSample(0, 0, 1, b), 0xB0); harness.check(m.getSample(1, 0, 1, b), 0xB1); harness.check(m.getSample(0, 1, 1, b), 0xB2); harness.check(m.getSample(1, 1, 1, b), 0xB3); harness.check(m.getSample(0, 2, 1, b), 0xB4); harness.check(m.getSample(1, 2, 1, b), 0xB5); // try negative x boolean pass = false; try { /* int sample = */ m.getSample(-1, 0, 0, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try negative y pass = false; try { /* int sample = */ m.getSample(0, -1, 0, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try negative band pass = false; try { /* int sample = */ m.getSample(0, 0, -1, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try null buffer pass = false; try { /* int sample = */ m.getSample(0, 0, 0, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/BandedSampleModel/setPixels.java0000644000175000001440000000647610251414462025157 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.BandedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.BandedSampleModel; import java.awt.image.DataBuffer; import java.awt.image.DataBufferInt; /** * Some checks for the setPixels() method in the * {@link BandedSampleModel} class. */ public class setPixels implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BandedSampleModel m = new BandedSampleModel(DataBuffer.TYPE_INT, 2, 3, 2); DataBufferInt b = new DataBufferInt(6, 2); m.setPixels(0, 0, 1, 3, new int[] {0xA0, 0xB0, 0xA2, 0xB2, 0xA4, 0xB4}, b); m.setPixels(1, 0, 1, 3, new int[] {0xA1, 0xB1, 0xA3, 0xB3, 0xA5, 0xB5}, b); harness.check(b.getElem(0, 0), 0xA0); harness.check(b.getElem(0, 1), 0xA1); harness.check(b.getElem(0, 2), 0xA2); harness.check(b.getElem(0, 3), 0xA3); harness.check(b.getElem(0, 4), 0xA4); harness.check(b.getElem(0, 5), 0xA5); harness.check(b.getElem(1, 0), 0xB0); harness.check(b.getElem(1, 1), 0xB1); harness.check(b.getElem(1, 2), 0xB2); harness.check(b.getElem(1, 3), 0xB3); harness.check(b.getElem(1, 4), 0xB4); harness.check(b.getElem(1, 5), 0xB5); // check negative x boolean pass = false; try { m.setPixels(-1, 0, 1, 3, new int[] {0xA0, 0xB0, 0xA2, 0xB2, 0xA4, 0xB4}, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // check negative y pass = false; try { m.setPixels(0, -1, 1, 3, new int[] {0xA0, 0xB0, 0xA2, 0xB2, 0xA4, 0xB4}, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // check pixel array too short pass = false; try { m.setPixels(0, 0, 1, 3, new int[] {0xA0, 0xB0, 0xA2, 0xB2, 0xA4,/*0xB4*/}, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // check null pixel array pass = false; try { m.setPixels(0, 0, 1, 3, (int[]) null, b); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check null buffer pass = false; try { m.setPixels(0, 0, 1, 3, new int[] {0xA0, 0xB0, 0xA2, 0xB2, 0xA4, 0xB4}, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/BandedSampleModel/setDataElements.java0000644000175000001440000000670510251414462026254 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.BandedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.BandedSampleModel; import java.awt.image.DataBuffer; import java.awt.image.DataBufferInt; /** * Some checks for the setDataElements() method in the * {@link BandedSampleModel} class. */ public class setDataElements implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("(int, int, int, int, DataBuffer)"); BandedSampleModel m = new BandedSampleModel(DataBuffer.TYPE_INT, 2, 3, 2); DataBufferInt b = new DataBufferInt(6, 2); m.setDataElements(0, 0, new int[] {0xA0, 0xB0}, b); m.setDataElements(1, 0, new int[] {0xA1, 0xB1}, b); m.setDataElements(0, 1, new int[] {0xA2, 0xB2}, b); m.setDataElements(1, 1, new int[] {0xA3, 0xB3}, b); m.setDataElements(0, 2, new int[] {0xA4, 0xB4}, b); m.setDataElements(1, 2, new int[] {0xA5, 0xB5}, b); harness.check(b.getElem(0, 0), 0xA0); harness.check(b.getElem(0, 1), 0xA1); harness.check(b.getElem(0, 2), 0xA2); harness.check(b.getElem(0, 3), 0xA3); harness.check(b.getElem(0, 4), 0xA4); harness.check(b.getElem(0, 5), 0xA5); harness.check(b.getElem(1, 0), 0xB0); harness.check(b.getElem(1, 1), 0xB1); harness.check(b.getElem(1, 2), 0xB2); harness.check(b.getElem(1, 3), 0xB3); harness.check(b.getElem(1, 4), 0xB4); harness.check(b.getElem(1, 5), 0xB5) ; // check negative x boolean pass = false; try { m.setDataElements(-1, 0, new int[] {0xA0, 0xB0}, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // check negative y pass = false; try { m.setDataElements(0, -1, new int[] {0xA0, 0xB0}, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // check elements too short pass = false; try { m.setDataElements(0, 1, new int[] {0xA0}, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // check null elements pass = false; try { m.setDataElements(0, 1, null, b); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check null buffer pass = false; try { m.setDataElements(0, 0, new int[] {0xA0, 0xB0}, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/BandedSampleModel/getSampleDouble.java0000644000175000001440000000661010251414462026241 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.BandedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.BandedSampleModel; import java.awt.image.DataBuffer; import java.awt.image.DataBufferInt; /** * Some checks for the getSampleDouble()() method in the * {@link BandedSampleModel} class. */ public class getSampleDouble implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BandedSampleModel m = new BandedSampleModel(DataBuffer.TYPE_INT, 2, 3, 2); DataBufferInt b = new DataBufferInt(6, 2); b.setElem(0, 0, 0xFFA0); b.setElem(0, 1, 0xFFA1); b.setElem(0, 2, 0xFFA2); b.setElem(0, 3, 0xFFA3); b.setElem(0, 4, 0xFFA4); b.setElem(0, 5, 0xFFA5); b.setElem(1, 0, 0xFFB0); b.setElem(1, 1, 0xFFB1); b.setElem(1, 2, 0xFFB2); b.setElem(1, 3, 0xFFB3); b.setElem(1, 4, 0xFFB4); b.setElem(1, 5, 0xFFB5); harness.check(m.getSampleDouble(0, 0, 0, b), 0xFFA0); harness.check(m.getSampleDouble(1, 0, 0, b), 0xFFA1); harness.check(m.getSampleDouble(0, 1, 0, b), 0xFFA2); harness.check(m.getSampleDouble(1, 1, 0, b), 0xFFA3); harness.check(m.getSampleDouble(0, 2, 0, b), 0xFFA4); harness.check(m.getSampleDouble(1, 2, 0, b), 0xFFA5); harness.check(m.getSampleDouble(0, 0, 1, b), 0xFFB0); harness.check(m.getSampleDouble(1, 0, 1, b), 0xFFB1); harness.check(m.getSampleDouble(0, 1, 1, b), 0xFFB2); harness.check(m.getSampleDouble(1, 1, 1, b), 0xFFB3); harness.check(m.getSampleDouble(0, 2, 1, b), 0xFFB4); harness.check(m.getSampleDouble(1, 2, 1, b), 0xFFB5); // try negative x boolean pass = false; try { /* int sample = */ m.getSampleDouble(-1, 0, 0, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try negative y pass = false; try { /* int sample = */ m.getSampleDouble(0, -1, 0, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try negative band pass = false; try { /* int sample = */ m.getSampleDouble(0, 0, -1, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try null buffer pass = false; try { /* int sample = */ m.getSampleDouble(0, 0, 0, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/BandedSampleModel/getPixel.java0000644000175000001440000000667110251414462024755 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.BandedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.BandedSampleModel; import java.awt.image.DataBuffer; import java.awt.image.DataBufferInt; /** * Some checks for the getPixel()() method in the * {@link BandedSampleModel} class. */ public class getPixel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BandedSampleModel m = new BandedSampleModel(DataBuffer.TYPE_INT, 2, 3, 2); DataBufferInt b = new DataBufferInt(6, 2); b.setElem(0, 0, 0xA0); b.setElem(0, 1, 0xA1); b.setElem(0, 2, 0xA2); b.setElem(0, 3, 0xA3); b.setElem(0, 4, 0xA4); b.setElem(0, 5, 0xA5); b.setElem(1, 0, 0xB0); b.setElem(1, 1, 0xB1); b.setElem(1, 2, 0xB2); b.setElem(1, 3, 0xB3); b.setElem(1, 4, 0xB4); b.setElem(1, 5, 0xB5); harness.check(m.getPixel(0, 0, (int[]) null, b)[0], 0xA0); harness.check(m.getPixel(1, 0, (int[]) null, b)[0], 0xA1); harness.check(m.getPixel(0, 1, (int[]) null, b)[0], 0xA2); harness.check(m.getPixel(1, 1, (int[]) null, b)[0], 0xA3); harness.check(m.getPixel(0, 2, (int[]) null, b)[0], 0xA4); harness.check(m.getPixel(1, 2, (int[]) null, b)[0], 0xA5); harness.check(m.getPixel(0, 0, (int[]) null, b)[1], 0xB0); harness.check(m.getPixel(1, 0, (int[]) null, b)[1], 0xB1); harness.check(m.getPixel(0, 1, (int[]) null, b)[1], 0xB2); harness.check(m.getPixel(1, 1, (int[]) null, b)[1], 0xB3); harness.check(m.getPixel(0, 2, (int[]) null, b)[1], 0xB4); harness.check(m.getPixel(1, 2, (int[]) null, b)[1], 0xB5); // try negative x boolean pass = false; try { /* int[] pixel = */ m.getPixel(-1, 0, (int[]) null, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try negative y pass = false; try { /* int[] pixel = */ m.getPixel(0, -1, (int[]) null, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try pixel array too small pass = false; try { /* int[] pixel = */ m.getPixel(0, 0, new int[1], b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try null buffer pass = false; try { /* int[] pixel = */ m.getPixel(0, 0, (int[]) null, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/BandedSampleModel/createCompatibleSampleModel.java0000644000175000001440000000513210251414462030551 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.BandedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.BandedSampleModel; import java.awt.image.DataBuffer; /** * Some checks for the createCompatibleSampleModel() method in the * {@link BandedSampleModel} class. */ public class createCompatibleSampleModel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BandedSampleModel m1 = new BandedSampleModel(DataBuffer.TYPE_SHORT, 10, 20, 10, new int[] {3, 2, 1}, new int[] {4, 5, 6}); BandedSampleModel m2 = (BandedSampleModel) m1.createCompatibleSampleModel(100, 200); harness.check(m2.getDataType(), DataBuffer.TYPE_SHORT); harness.check(m2.getWidth(), 100); harness.check(m2.getHeight(), 200); harness.check(m2.getScanlineStride(), 100); harness.check(m2.getNumBands(), 3); harness.check(m2.getBankIndices()[0], 3); harness.check(m2.getBankIndices()[1], 2); harness.check(m2.getBankIndices()[2], 1); // TODO: the offsets get "compressed" whatever that refers to??? harness.check(m2.getBandOffsets()[0], 0); harness.check(m2.getBandOffsets()[1], 0); harness.check(m2.getBandOffsets()[2], 0); // check zero width boolean pass = false; try { m2 = (BandedSampleModel) m1.createCompatibleSampleModel(0, 200); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // check zero height pass = false; try { m2 = (BandedSampleModel) m1.createCompatibleSampleModel(100, 0); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/BandedSampleModel/getPixels.java0000644000175000001440000000606310251414462025133 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.BandedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.BandedSampleModel; import java.awt.image.DataBuffer; import java.awt.image.DataBufferInt; /** * Some checks for the getPixels() method in the * {@link BandedSampleModel} class. */ public class getPixels implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BandedSampleModel m = new BandedSampleModel(DataBuffer.TYPE_INT, 2, 3, 2); DataBufferInt b = new DataBufferInt(6, 2); b.setElem(0, 0, 0xA0); b.setElem(0, 1, 0xA1); b.setElem(0, 2, 0xA2); b.setElem(0, 3, 0xA3); b.setElem(0, 4, 0xA4); b.setElem(0, 5, 0xA5); b.setElem(1, 0, 0xB0); b.setElem(1, 1, 0xB1); b.setElem(1, 2, 0xB2); b.setElem(1, 3, 0xB3); b.setElem(1, 4, 0xB4); b.setElem(1, 5, 0xB5); int[] pixels = m.getPixels(1, 1, 1, 2, (int[]) null, b); harness.check(pixels[0], 0xA3); harness.check(pixels[1], 0xB3); harness.check(pixels[2], 0xA5); harness.check(pixels[3], 0xB5); // check negative x boolean pass = false; try { m.getPixels(-1, 1, 1, 2, (int[]) null, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // check negative y pass = false; try { m.getPixels(1, -1, 1, 2, (int[]) null, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // check negative w pass = false; try { m.getPixels(1, 1, -1, 2, (int[]) null, b); } catch (NegativeArraySizeException e) { pass = true; } harness.check(pass); // check negative h pass = false; try { m.getPixels(1, 1, 1, -1, (int[]) null, b); } catch (NegativeArraySizeException e) { pass = true; } harness.check(pass); // check null data buffer pass = false; try { m.getPixels(1, 1, 1, 1, (int[]) null, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/BandedSampleModel/createSubsetSampleModel.java0000644000175000001440000000417510251414462027745 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.BandedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.BandedSampleModel; import java.awt.image.DataBuffer; import java.awt.image.RasterFormatException; /** * Some checks for the createSubsetSampleModel() method in the * {@link BandedSampleModel} class. */ public class createSubsetSampleModel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BandedSampleModel m1 = new BandedSampleModel(DataBuffer.TYPE_SHORT, 10, 20, 10, new int[] {2, 1, 0}, new int[] {4, 5, 6}); BandedSampleModel m2 = (BandedSampleModel) m1.createSubsetSampleModel(new int[] {0, 1}); harness.check(m2.getDataType(), DataBuffer.TYPE_SHORT); harness.check(m2.getWidth(), 10); harness.check(m2.getHeight(), 20); harness.check(m2.getNumBands(), 2); harness.check(m2.getBandOffsets()[0], 4); harness.check(m2.getBandOffsets()[1], 5); // try more bands than available boolean pass = false; try { m2 = (BandedSampleModel) m1.createSubsetSampleModel(new int[] {0, 1, 2, 3}); } catch (RasterFormatException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/BandedSampleModel/hashCode.java0000644000175000001440000000311510251414462024700 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.BandedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.BandedSampleModel; import java.awt.image.DataBuffer; /** * Some checks for the hashCode() method in the * {@link BandedSampleModel} class. */ public class hashCode implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // simply check that two identical models have the same hash code BandedSampleModel m1 = new BandedSampleModel(DataBuffer.TYPE_INT, 2, 3, 2); BandedSampleModel m2 = new BandedSampleModel(DataBuffer.TYPE_INT, 2, 3, 2); harness.check(m1.hashCode(), m2.hashCode()); } } mauve-20140821/gnu/testlet/java/awt/image/BandedSampleModel/setSamples.java0000644000175000001440000000755010251414462025311 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.BandedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.BandedSampleModel; import java.awt.image.DataBuffer; import java.awt.image.DataBufferInt; /** * Some checks for the setSamples() method in the * {@link BandedSampleModel} class. */ public class setSamples implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BandedSampleModel m = new BandedSampleModel(DataBuffer.TYPE_INT, 2, 3, 2); DataBufferInt b = new DataBufferInt(6, 2); m.setSamples(0, 0, 1, 3, 0, new int[] {0xA0, 0xA2, 0xA4}, b); m.setSamples(1, 0, 1, 1, 0, new int[] {0xA1}, b); m.setSamples(1, 1, 1, 2, 0, new int[] {0xA3, 0xA5}, b); m.setSamples(0, 0, 1, 3, 1, new int[] {0xB0, 0xB2, 0xB4}, b); m.setSamples(1, 0, 1, 3, 1, new int[] {0xB1, 0xB3, 0xB5}, b); harness.check(b.getElem(0, 0), 0xA0); // check 1 harness.check(b.getElem(0, 1), 0xA1); // check 2 harness.check(b.getElem(0, 2), 0xA2); // check 3 harness.check(b.getElem(0, 3), 0xA3); // check 4 harness.check(b.getElem(0, 4), 0xA4); // check 5 harness.check(b.getElem(0, 5), 0xA5); // check 6 harness.check(b.getElem(1, 0), 0xB0); // check 7 harness.check(b.getElem(1, 1), 0xB1); // check 8 harness.check(b.getElem(1, 2), 0xB2); // check 9 harness.check(b.getElem(1, 3), 0xB3); // check 10 harness.check(b.getElem(1, 4), 0xB4); // check 11 harness.check(b.getElem(1, 5), 0xB5); // check 12 // check negative x boolean pass = false; try { m.setSamples(-1, 0, 0, 3, 0, new int[] {0xA0, 0xA2, 0xA4}, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // check 13 // check negative y pass = false; try { m.setSamples(0, -1, 0, 3, 0, new int[] {0xA0, 0xA2, 0xA4}, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // check 14 // check negative band pass = false; try { m.setSamples(0, 0, 1, 3, -1, new int[] {0xA0, 0xA2, 0xA4}, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // check sample array too short pass = false; try { m.setSamples(0, 0, 1, 3, -1, new int[] {0xA0, 0xA2, /*0xA4*/}, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // check null sample array pass = false; try { m.setSamples(0, 0, 1, 3, 0, (int[]) null, b); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check null buffer pass = false; try { m.setSamples(0, 0, 1, 3, 0, new int[] {0xA0, 0xA2, 0xA4}, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/BandedSampleModel/getSamples.java0000644000175000001440000000625010251414462025271 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.BandedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.BandedSampleModel; import java.awt.image.DataBuffer; import java.awt.image.DataBufferInt; /** * Some checks for the getSamples() method in the * {@link BandedSampleModel} class. */ public class getSamples implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BandedSampleModel m = new BandedSampleModel(DataBuffer.TYPE_INT, 2, 3, 2); DataBufferInt b = new DataBufferInt(6, 2); b.setElem(0, 0, 0xA0); b.setElem(0, 1, 0xA1); b.setElem(0, 2, 0xA2); b.setElem(0, 3, 0xA3); b.setElem(0, 4, 0xA4); b.setElem(0, 5, 0xA5); b.setElem(1, 0, 0xB0); b.setElem(1, 1, 0xB1); b.setElem(1, 2, 0xB2); b.setElem(1, 3, 0xB3); b.setElem(1, 4, 0xB4); b.setElem(1, 5, 0xB5); int[] samples = m.getSamples(1, 1, 1, 2, 0, (int[]) null, b); harness.check(samples[0], 0xA3); harness.check(samples[1], 0xA5); samples = m.getSamples(1, 1, 1, 2, 1, (int[]) null, b); harness.check(samples[0], 0xB3); harness.check(samples[1], 0xB5); // check negative x boolean pass = false; try { m.getSamples(-1, 1, 1, 2, 1, (int[]) null, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // check negative y pass = false; try { m.getSamples(1, -1, 1, 2, 1, (int[]) null, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // check negative w pass = false; try { m.getSamples(1, 1, -1, 2, 1, (int[]) null, b); } catch (NegativeArraySizeException e) { pass = true; } harness.check(pass); // check negative h pass = false; try { m.getSamples(1, 1, 1, -1, 1, (int[]) null, b); } catch (NegativeArraySizeException e) { pass = true; } harness.check(pass); // check null data buffer pass = false; try { m.getSamples(1, 1, 1, 1, 1, (int[]) null, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/BandedSampleModel/setPixel.java0000644000175000001440000000647410251414462024772 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.BandedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.BandedSampleModel; import java.awt.image.DataBuffer; import java.awt.image.DataBufferInt; /** * Some checks for the setPixel() method in the * {@link BandedSampleModel} class. */ public class setPixel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BandedSampleModel m = new BandedSampleModel(DataBuffer.TYPE_INT, 2, 3, 2); DataBufferInt b = new DataBufferInt(6, 2); m.setPixel(0, 0, new int[] {0xA0, 0xB0}, b); m.setPixel(1, 0, new int[] {0xA1, 0xB1}, b); m.setPixel(0, 1, new int[] {0xA2, 0xB2}, b); m.setPixel(1, 1, new int[] {0xA3, 0xB3}, b); m.setPixel(0, 2, new int[] {0xA4, 0xB4}, b); m.setPixel(1, 2, new int[] {0xA5, 0xB5}, b); harness.check(b.getElem(0, 0), 0xA0); harness.check(b.getElem(0, 1), 0xA1); harness.check(b.getElem(0, 2), 0xA2); harness.check(b.getElem(0, 3), 0xA3); harness.check(b.getElem(0, 4), 0xA4); harness.check(b.getElem(0, 5), 0xA5); harness.check(b.getElem(1, 0), 0xB0); harness.check(b.getElem(1, 1), 0xB1); harness.check(b.getElem(1, 2), 0xB2); harness.check(b.getElem(1, 3), 0xB3); harness.check(b.getElem(1, 4), 0xB4); harness.check(b.getElem(1, 5), 0xB5); // check negative x boolean pass = false; try { m.setPixel(-1, 0, new int[] {0xA0, 0xB0}, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // check negative y pass = false; try { m.setPixel(0, -1, new int[] {0xA0, 0xB0}, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // check pixel array too short pass = false; try { m.setPixel(0, 0, new int[] {0xA0}, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // check null pixel array pass = false; try { m.setPixel(0, 0, (int[]) null, b); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check null buffer pass = false; try { m.setPixel(0, 0, new int[] {0xA0}, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/BandedSampleModel/getDataElements.java0000644000175000001440000000517410251414462026237 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.BandedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.BandedSampleModel; import java.awt.image.DataBuffer; import java.awt.image.DataBufferInt; /** * Some checks for the getDataElements() method in the * {@link BandedSampleModel} class. */ public class getDataElements implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BandedSampleModel m = new BandedSampleModel(DataBuffer.TYPE_INT, 2, 3, 2); DataBufferInt b = new DataBufferInt(6, 2); b.setElem(0, 0, 0xA0); b.setElem(0, 1, 0xA1); b.setElem(0, 2, 0xA2); b.setElem(0, 3, 0xA3); b.setElem(0, 4, 0xA4); b.setElem(0, 5, 0xA5); b.setElem(1, 0, 0xB0); b.setElem(1, 1, 0xB1); b.setElem(1, 2, 0xB2); b.setElem(1, 3, 0xB3); b.setElem(1, 4, 0xB4); b.setElem(1, 5, 0xB5); int[] elements = (int[]) m.getDataElements(1, 1, null, b); harness.check(elements[0], 0xA3); harness.check(elements[1], 0xB3); // check negative x boolean pass = false; try { /* elements = (int[]) */ m.getDataElements(-1, 1, null, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // check negative y pass = false; try { /* elements = (int[]) */ m.getDataElements(1, -1, null, b); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // check null data buffer pass = false; try { /* elements = (int[]) */ m.getDataElements(1, 1, null, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferShort/0000755000175000001440000000000012375316426022054 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/image/DataBufferShort/constructors.java0000644000175000001440000001520710123067121025454 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.DataBufferShort; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.DataBufferShort; /** * Some tests for the constructors in the {@link DataBufferShort} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); testConstructor6(harness); } private void testConstructor1(TestHarness harness) { harness.checkPoint("DataBufferShort(int)"); DataBufferShort b1 = new DataBufferShort(1); harness.check(b1.getDataType() == DataBuffer.TYPE_SHORT); harness.check(b1.getSize() == 1); harness.check(b1.getNumBanks() == 1); harness.check(b1.getOffset() == 0); DataBufferShort b2 = new DataBufferShort(0); harness.check(b2.getSize() == 0); harness.check(b2.getNumBanks() == 1); harness.check(b2.getOffset() == 0); boolean pass = false; try { DataBufferShort b3 = new DataBufferShort(-1); } catch (NegativeArraySizeException e) { pass = true; } harness.check(pass); } private void testConstructor2(TestHarness harness) { harness.checkPoint("DataBufferShort(short[][], int)"); short[][] source = new short[][] {{1, 2}}; DataBufferShort b = new DataBufferShort(source, 1); harness.check(b.getSize() == 1); harness.check(b.getNumBanks() == 1); harness.check(b.getOffset() == 0); // does a change to the source array affect the buffer? yes short[][] banks = b.getBankData(); harness.check(banks[0][0] == 1); source[0][0] = 3; harness.check(banks[0][0] == 3); // check null source boolean pass = false; try { DataBufferShort b1 = new DataBufferShort((short[][]) null, 1); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check negative size DataBufferShort b1 = new DataBufferShort(source, -1); harness.check(b1.getSize() == -1); } private void testConstructor3(TestHarness harness) { harness.checkPoint("DataBufferShort(short[][], int, int[])"); short[][] source = new short[][] {{1, 2}}; DataBufferShort b = new DataBufferShort(source, 1, new int[] {0}); harness.check(b.getSize() == 1); harness.check(b.getNumBanks() == 1); harness.check(b.getOffset() == 0); // test where offsets are specified source = new short[][] {{1, 2, 3}, {4, 5, 6, 7}}; b = new DataBufferShort(source, 2, new int[] {0, 1}); harness.check(b.getSize() == 2); harness.check(b.getNumBanks() == 2); harness.check(b.getOffsets()[1] == 1); harness.check(b.getElem(1, 0) == 5); boolean pass = false; try { DataBufferShort b1 = new DataBufferShort((short[][]) null, 1, new int[] {0}); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { DataBufferShort b1 = new DataBufferShort(new short[][]{{1, 2}}, 1, (int[]) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { DataBufferShort b2 = new DataBufferShort(new short[][]{{1, 2}}, 1, new int[] {0, 0}); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testConstructor4(TestHarness harness) { harness.checkPoint("DataBufferShort(short[], int)"); DataBufferShort b = new DataBufferShort(new short[] {1, 2}, 2); harness.check(b.getSize() == 2); harness.check(b.getNumBanks() == 1); harness.check(b.getOffset() == 0); boolean pass = false; try { // this constructor doesn't throw an exception until you // try to access the (null) data bank DataBufferShort b1 = new DataBufferShort((short[]) null, 1); int ignore = b1.getElem(0); } catch (NullPointerException e) { pass = true; } harness.check(pass); } private void testConstructor5(TestHarness harness) { harness.checkPoint("DataBufferShort(short[], int, int)"); DataBufferShort b = new DataBufferShort(new short[] {1, 2}, 2, 0); harness.check(b.getSize() == 2); harness.check(b.getNumBanks() == 1); harness.check(b.getOffset() == 0); boolean pass = false; try { // this constructor doesn't throw an exception until you // try to access the (null) data bank DataBufferShort b1 = new DataBufferShort((short[]) null, 1, 0); int ignore = b1.getElem(0); } catch (NullPointerException e) { pass = true; } harness.check(pass); // does negative size fail? no pass = true; try { DataBufferShort b2 = new DataBufferShort(new short[] {1, 2}, -1, 0); } catch (NegativeArraySizeException e) { pass = false; } harness.check(pass); } private void testConstructor6(TestHarness harness) { harness.checkPoint("DataBufferShort(int, int)"); DataBufferShort b = new DataBufferShort(2, 3); harness.check(b.getNumBanks() == 3); harness.check(b.getSize() == 2); harness.check(b.getOffset() == 0); // does negative size fail? yes boolean pass = false; try { DataBufferShort b1 = new DataBufferShort(-1, 1); } catch (NegativeArraySizeException e) { pass = true; } harness.check(pass); // does negative banks fail? yes pass = false; try { DataBufferShort b1 = new DataBufferShort(1, -1); } catch (NegativeArraySizeException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferShort/getBankData.java0000644000175000001440000000506610123067121025053 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.DataBufferShort; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBufferShort; import java.util.Arrays; /** * Some tests for the getBankData() method in the {@link DataBufferShort} class. */ public class getBankData implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // check that array updates pass through short[][] data = new short[][] {{1, 2}}; DataBufferShort b = new DataBufferShort(data, 2); short[][] banks = b.getBankData(); harness.check(Arrays.equals(b.getBankData(), data)); data[0][0] = 3; harness.check(banks[0][0] == 3); // test where supplied array is bigger than 'size' data = new short[][] {{1, 2, 3}}; b = new DataBufferShort(data, 2); banks = b.getBankData(); harness.check(Arrays.equals(b.getBankData(), data)); // test where offsets are specified data = new short[][] {{1, 2, 3}, {4, 5, 6, 7}}; b = new DataBufferShort(data, 2, new int[] {0, 1}); banks = b.getBankData(); harness.check(Arrays.equals(b.getBankData(), data)); // check that a single bank buffer returns a valid array DataBufferShort b2 = new DataBufferShort(new short[] {1, 2}, 2); banks = b2.getBankData(); harness.check(banks.length == 1); harness.check(banks[0][0] == 1); harness.check(banks[0][1] == 2); // check that a multi bank buffer returns a valid array DataBufferShort b3 = new DataBufferShort(new short[][] {{1}, {2}}, 1); banks = b3.getBankData(); harness.check(banks.length == 2); harness.check(banks[0][0] == 1); harness.check(banks[1][0] == 2); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferShort/getDataType.java0000644000175000001440000000233710123067121025117 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.DataBufferShort; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.DataBufferShort; /** * @author Sascha Brawer */ public class getDataType implements Testlet { public void test(TestHarness h) { // Check #1. h.check(new DataBufferShort(5).getDataType(), DataBuffer.TYPE_SHORT); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferShort/setElem.java0000644000175000001440000000566010123067121024304 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.DataBufferShort; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBufferShort; /** * Some tests for the setElem() methods in the {@link DataBufferShort} class. */ public class setElem implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testSetElem1(harness); testSetElem2(harness); } private void testSetElem1(TestHarness harness) { harness.checkPoint("setElem(int, int)"); short[] source = new short[] {1, 2}; DataBufferShort b = new DataBufferShort(source, 2); b.setElem(1, 99); harness.check(b.getElem(1) == 99); // does the source array get updated? Yes harness.check(source[1] == 99); // test with offsets source = new short[] {1, 2, 3, 4, 5}; b = new DataBufferShort(source, 4, 1); harness.check(b.getElem(1) == 3); b.setElem(1, 99); harness.check(b.getElem(1) == 99); harness.check(source[2] == 99); boolean pass = false; try { b.setElem(-2, 99); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.setElem(4, 99); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testSetElem2(TestHarness harness) { harness.checkPoint("setElem(int, int, int)"); short[][] source = new short[][] {{1, 2}, {3, 4}}; DataBufferShort b = new DataBufferShort(source, 2); b.setElem(1, 1, 99); harness.check(b.getElem(1, 1) == 99); // does the source array get updated? harness.check(source[1][1] == 99); boolean pass = false; try { b.setElem(-1, 1, 99); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.setElem(2, 1, 99); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferShort/getData.java0000644000175000001440000000752510123067121024261 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.DataBufferShort; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBufferShort; /** * Some tests for the geData() methods in the {@link DataBufferShort} class. */ public class getData implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testGetData1(harness); testGetData2(harness); } private void testGetData1(TestHarness harness) { harness.checkPoint("getData()"); // check simple case short[] source = new short[] {1, 2}; DataBufferShort b = new DataBufferShort(source, 2); short[] data = b.getData(); harness.check(data.length == 2); harness.check(data[0] == 1); harness.check(data[1] == 2); // test where supplied array is bigger than 'size' source = new short[] {1, 2, 3}; b = new DataBufferShort(source, 2); data = b.getData(); harness.check(data.length == 3); harness.check(data[0] == 1); harness.check(data[1] == 2); harness.check(data[2] == 3); // test where offsets are specified source = new short[] {1, 2, 3, 4}; b = new DataBufferShort(source, 2, 1); data = b.getData(); harness.check(data.length == 4); harness.check(data[0] == 1); harness.check(data[1] == 2); harness.check(data[2] == 3); harness.check(data[3] == 4); // does a change to the source affect the DataBuffer? Yes source[2] = 99; harness.check(data[2] == 99); } private void testGetData2(TestHarness harness) { harness.checkPoint("getData(int)"); short[][] source = new short[][] {{1, 2}, {3, 4}}; DataBufferShort b = new DataBufferShort(source, 2); short[] data = b.getData(1); harness.check(data.length == 2); harness.check(data[0] == 3); harness.check(data[1] == 4); // test where supplied array is bigger than 'size' source = new short[][] {{1, 2, 3}, {4, 5, 6}}; b = new DataBufferShort(source, 2); data = b.getData(1); harness.check(data.length == 3); harness.check(data[0] == 4); harness.check(data[1] == 5); harness.check(data[2] == 6); // test where offsets are specified source = new short[][] {{1, 2, 3, 4}, {5, 6, 7, 8}}; b = new DataBufferShort(source, 2, new int[] {1, 2}); data = b.getData(1); harness.check(data.length == 4); harness.check(data[0] == 5); harness.check(data[1] == 6); harness.check(data[2] == 7); harness.check(data[3] == 8); // does a change to the source affect the DataBuffer? Yes source[1][2] = 99; harness.check(data[2] == 99); // check bounds exceptions boolean pass = true; try { b.getData(-1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.getData(2); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/DataBufferShort/getElem.java0000644000175000001440000001165310123067121024267 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.DataBufferShort; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.DataBufferShort; /** * @author Sascha Brawer */ public class getElem implements Testlet { public void test(TestHarness h) { DataBuffer buf; short[] data = new short[] { -11, -22, -33, -44 }; buf = new DataBufferShort(new short[][] { data, data }, 2, new int[] { 2, 0 }); h.check(buf.getElem(0), -33); // Check #1. h.check(buf.getElem(1), -44); // Check #2. h.check(buf.getElem(0, 0), -33); // Check #3. h.check(buf.getElem(0, 1), -44); // Check #4. h.check(buf.getElem(1, 0), -11); // Check #5. h.check(buf.getElem(1, 1), -22); // Check #6. // new tests added by David Gilbert testGetElem1(h); testGetElem2(h); } private void testGetElem1(TestHarness harness) { harness.checkPoint("getElem(int)"); // test where supplied array is bigger than 'size' short[] source = new short[] {1, 2, 3}; DataBufferShort b = new DataBufferShort(source, 2); harness.check(b.getElem(0) == 1); harness.check(b.getElem(1) == 2); harness.check(b.getElem(2) == 3); boolean pass = false; try { b.getElem(-1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.getElem(3); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // test where offsets are specified source = new short[] {1, 2, 3, 4}; b = new DataBufferShort(source, 2, 1); harness.check(b.getElem(-1) == 1); harness.check(b.getElem(0) == 2); harness.check(b.getElem(1) == 3); harness.check(b.getElem(2) == 4); pass = false; try { b.getElem(3); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.getElem(-2); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testGetElem2(TestHarness harness) { harness.checkPoint("getElem(int, int)"); short[][] source = new short[][] {{1, 2}, {3, 4}}; DataBufferShort b = new DataBufferShort(source, 2); harness.check(b.getElem(1, 0) == 3); harness.check(b.getElem(1, 1) == 4); // test where supplied array is bigger than 'size' source = new short[][] {{1, 2, 3}, {4, 5, 6}}; b = new DataBufferShort(source, 2); harness.check(b.getElem(1, 2) == 6); // test where offsets are specified source = new short[][] {{1, 2, 3, 4}, {5, 6, 7, 8}}; b = new DataBufferShort(source, 2, new int[] {1, 2}); harness.check(b.getElem(1, -2) == 5); harness.check(b.getElem(1, -1) == 6); harness.check(b.getElem(1, 0) == 7); harness.check(b.getElem(1, 1) == 8); // does a change to the source affect the DataBuffer? Yes source[1][2] = 99; harness.check(source[1][2] == 99); harness.check(b.getElem(1, 0) == 99); // test when the bank index is out of bounds boolean pass = true; try { b.getElem(-1, 0); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.getElem(2, 0); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // test when the item index is out of bounds pass = true; try { b.getElem(0, -2); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { b.getElem(1, 5); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // the array of arrays should reflect the single dimension array DataBufferShort b2 = new DataBufferShort(new short[] {1, 2, 3}, 3); harness.check(b2.getElem(0, 1) == 2); } } mauve-20140821/gnu/testlet/java/awt/image/ConvolveOp/0000755000175000001440000000000012375316426021123 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/image/ConvolveOp/constructors.java0000644000175000001440000000645710271132041024530 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.ConvolveOp ; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ConvolveOp; import java.awt.image.Kernel; import java.util.Arrays; /** * Some checks for the constructors in the {@link ConvolveOp} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("(Kernel)"); Kernel k1 = new Kernel(3, 3, new float[] {1f, 2f, 3f, 4f, 5f, 6f, 7f, 8f, 9f}); ConvolveOp op1 = new ConvolveOp(k1); harness.check(op1.getKernel() != k1); harness.check(Arrays.equals(op1.getKernel().getKernelData(null), k1.getKernelData(null))); harness.check(op1.getEdgeCondition(), ConvolveOp.EDGE_ZERO_FILL); harness.check(op1.getRenderingHints(), null); // using a null Kernel doesn't throw an immediate exception... boolean pass = true; try { /*ConvolveOp op2 =*/ new ConvolveOp(null); } catch (NullPointerException e) { pass = false; } harness.check(pass); // ...but it does later pass = false; try { ConvolveOp op2 = new ConvolveOp(null); /*Kernel k2 =*/ op2.getKernel(); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(Kernel, int, RenderingHints)"); Kernel k1 = new Kernel(3, 3, new float[] {1f, 2f, 3f, 4f, 5f, 6f, 7f, 8f, 9f}); ConvolveOp op1 = new ConvolveOp(k1, ConvolveOp.EDGE_NO_OP, null); harness.check(op1.getKernel() != k1); harness.check(Arrays.equals(op1.getKernel().getKernelData(null), k1.getKernelData(null))); harness.check(op1.getEdgeCondition(), ConvolveOp.EDGE_NO_OP); harness.check(op1.getRenderingHints(), null); // a null kernel will fail when you try to access it boolean pass = false; ConvolveOp op2 = new ConvolveOp(null, ConvolveOp.EDGE_NO_OP, null); try { /*Kernel k =*/ op2.getKernel(); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try an invalid edge operation code pass = false; op1 = new ConvolveOp(k1, -1, null); harness.check(op1.getEdgeCondition(), -1); } } mauve-20140821/gnu/testlet/java/awt/image/ConvolveOp/getEdgeCondition.java0000644000175000001440000000277610457445414025214 0ustar dokousers/* getEdgeCondition.java -- some checks for the getEdgeCondition() method in the ConvolveOp class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.ConvolveOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ConvolveOp; import java.awt.image.Kernel; public class getEdgeCondition implements Testlet { public void test(TestHarness harness) { Kernel k1 = new Kernel(3, 3, new float[] {1f, 2f, 3f, 4f, 5f, 6f, 7f, 8f, 9f}); ConvolveOp op = new ConvolveOp(k1, ConvolveOp.EDGE_NO_OP, null); harness.check(op.getEdgeCondition(), ConvolveOp.EDGE_NO_OP); op = new ConvolveOp(k1, ConvolveOp.EDGE_ZERO_FILL, null); harness.check(op.getEdgeCondition(), ConvolveOp.EDGE_ZERO_FILL); } } mauve-20140821/gnu/testlet/java/awt/image/ConvolveOp/createCompatibleDestImage.java0000644000175000001440000001142510473373464027021 0ustar dokousers/* createCompatibleDestImage.java -- some checks for the createCompatibleDestImage() method of the ConvolveOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.image.ConvolveOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.BufferedImage; import java.awt.image.ConvolveOp; import java.awt.image.DirectColorModel; import java.awt.image.Kernel; /** * Checks for the createCompatibleDestImage method in the * {@link ConvolveOp} class. */ public class createCompatibleDestImage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { simpleTest(harness); colorModelTest(harness); } private void simpleTest(TestHarness harness) { harness.checkPoint("createCompatibleDestImage"); // Simple test Kernel kern = new Kernel(3, 3, new float[] {1f, 2f, 3f, 4f, 5f, 6f, 7f, 8f, 9f}); ConvolveOp op = new ConvolveOp(kern, ConvolveOp.EDGE_NO_OP, null); BufferedImage img = new BufferedImage(25, 40, BufferedImage.TYPE_INT_RGB); BufferedImage dest = op.createCompatibleDestImage(img, img.getColorModel()); harness.check(dest.getHeight(), 40); harness.check(dest.getWidth(), 25); harness.check(dest.getColorModel(), img.getColorModel()); // Try a different colour model img = new BufferedImage(25, 40, BufferedImage.TYPE_INT_RGB); DirectColorModel cm = new DirectColorModel(16, 0x0f00, 0x00f0, 0x000f); dest = op.createCompatibleDestImage(img, cm); harness.check(dest.getHeight(), 40); harness.check(dest.getWidth(), 25); harness.check(dest.getColorModel(), cm); } // Test all the default color models private void colorModelTest(TestHarness harness) { Kernel kern = new Kernel(3, 3, new float[] {1f, 2f, 3f, 4f, 5f, 6f, 7f, 8f, 9f}); ConvolveOp op = new ConvolveOp(kern, ConvolveOp.EDGE_NO_OP, null); int[] types = {BufferedImage.TYPE_INT_RGB, BufferedImage.TYPE_INT_ARGB, BufferedImage.TYPE_INT_ARGB_PRE, BufferedImage.TYPE_3BYTE_BGR, BufferedImage.TYPE_4BYTE_ABGR, BufferedImage.TYPE_4BYTE_ABGR_PRE, BufferedImage.TYPE_USHORT_565_RGB, BufferedImage.TYPE_USHORT_555_RGB, BufferedImage.TYPE_BYTE_GRAY, BufferedImage.TYPE_USHORT_GRAY}; // Skipped types that are not implemented yet: // TYPE_CUSTOM, TYPE_INT_BGR, TYPE_BYTE_BINARY, TYPE_BYTE_INDEXED for (int i = 0; i < types.length; i++) { int type = types[i]; harness.checkPoint("type: " + type); BufferedImage img = new BufferedImage(25, 40, type); BufferedImage dest = op.createCompatibleDestImage(img, null); // Unlike most Ops, this one creates a clone of the original image harness.check(dest.getColorModel().getPixelSize(), img.getColorModel().getPixelSize()); harness.check(dest.getColorModel().getClass() == img.getColorModel().getClass()); harness.check(dest.getSampleModel().getClass() == img.getSampleModel().getClass()); harness.check(dest.getColorModel().getNumComponents(), img.getColorModel().getNumComponents()); harness.check(dest.getColorModel().getTransparency(), img.getColorModel().getTransparency()); harness.check(dest.getColorModel().hasAlpha(), img.getColorModel().hasAlpha()); harness.check(dest.getColorModel().getTransferType(), img.getColorModel().getTransferType()); harness.check(dest.getColorModel().isAlphaPremultiplied(), img.getColorModel().isAlphaPremultiplied()); harness.check(dest.getColorModel().getColorSpace().getType(), img.getColorModel().getColorSpace().getType()); harness.check(dest.getRaster().getNumBands(), img.getRaster().getNumBands()); harness.check(dest.getRaster().getNumDataElements(), img.getRaster().getNumDataElements()); } } } mauve-20140821/gnu/testlet/java/awt/image/ConvolveOp/getPoint2D.java0000644000175000001440000000345010457445414023746 0ustar dokousers/* getPoint2D.java -- some checks for the getPoint2D() method in the ConvolveOp class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JD1.4 package gnu.testlet.java.awt.image.ConvolveOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Point; import java.awt.geom.Point2D; import java.awt.image.ConvolveOp; import java.awt.image.Kernel; public class getPoint2D implements Testlet { public void test(TestHarness harness) { Kernel k1 = new Kernel(3, 3, new float[] {1f, 2f, 3f, 4f, 5f, 6f, 7f, 8f, 9f}); ConvolveOp op = new ConvolveOp(k1, ConvolveOp.EDGE_NO_OP, null); Point2D p = new Point(7, 8); Point2D dest = new Point(0, 0); Point2D p1 = op.getPoint2D(p, dest); harness.check(p1, p); harness.check(p1 == dest); p1 = op.getPoint2D(p, null); harness.check(p1, p); harness.check(p1 != dest); // try null point boolean pass = false; try { op.getPoint2D(null, dest); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/ConvolveOp/getRenderingHints.java0000644000175000001440000000324310457445414025412 0ustar dokousers/* getRenderingHints.java -- some checks for the getRenderingHints() method in the ConvolveOp class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.ConvolveOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.RenderingHints; import java.awt.image.ConvolveOp; import java.awt.image.Kernel; public class getRenderingHints implements Testlet { public void test(TestHarness harness) { Kernel k1 = new Kernel(3, 3, new float[] {1f, 2f, 3f, 4f, 5f, 6f, 7f, 8f, 9f}); RenderingHints r = new RenderingHints(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_DISABLE); ConvolveOp op = new ConvolveOp(k1, ConvolveOp.EDGE_NO_OP, r); harness.check(op.getRenderingHints(), r); harness.check(op.getRenderingHints().size(), 1); op = new ConvolveOp(k1, ConvolveOp.EDGE_NO_OP, null); harness.check(op.getRenderingHints(), null); } } mauve-20140821/gnu/testlet/java/awt/image/ConvolveOp/filterRaster.java0000644000175000001440000002672010473373464024445 0ustar dokousers/* filterRaster.java -- some checks for the filter() methods in the ConvolveOp class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.ConvolveOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ConvolveOp; import java.awt.image.DataBuffer; import java.awt.image.Kernel; import java.awt.image.Raster; import java.awt.image.WritableRaster; public class filterRaster implements Testlet { public void test(TestHarness harness) { testRaster1(harness); testRaster2(harness); testRaster3(harness); } public void testRaster1(TestHarness harness) { harness.checkPoint("testRaster1()"); Raster src = createRasterA(); WritableRaster dest = src.createCompatibleWritableRaster(); Kernel k1 = new Kernel(1, 1, new float[] {1}); ConvolveOp op = new ConvolveOp(k1, ConvolveOp.EDGE_ZERO_FILL, null); dest = op.filter(src, dest); harness.check(dest.getSample(0, 0, 0), 1); harness.check(dest.getSample(1, 0, 0), 2); harness.check(dest.getSample(2, 0, 0), 3); harness.check(dest.getSample(3, 0, 0), 4); harness.check(dest.getSample(4, 0, 0), 5); harness.check(dest.getSample(0, 1, 0), 6); harness.check(dest.getSample(1, 1, 0), 7); harness.check(dest.getSample(2, 1, 0), 8); harness.check(dest.getSample(3, 1, 0), 9); harness.check(dest.getSample(4, 1, 0), 10); harness.check(dest.getSample(0, 2, 0), 11); harness.check(dest.getSample(1, 2, 0), 12); harness.check(dest.getSample(2, 2, 0), 13); harness.check(dest.getSample(3, 2, 0), 14); harness.check(dest.getSample(4, 2, 0), 15); harness.check(dest.getSample(0, 3, 0), 16); harness.check(dest.getSample(1, 3, 0), 17); harness.check(dest.getSample(2, 3, 0), 18); harness.check(dest.getSample(3, 3, 0), 19); harness.check(dest.getSample(4, 3, 0), 20); harness.check(dest.getSample(0, 0, 1), 11); harness.check(dest.getSample(1, 0, 1), 12); harness.check(dest.getSample(2, 0, 1), 13); harness.check(dest.getSample(3, 0, 1), 14); harness.check(dest.getSample(4, 0, 1), 15); harness.check(dest.getSample(0, 1, 1), 16); harness.check(dest.getSample(1, 1, 1), 17); harness.check(dest.getSample(2, 1, 1), 18); harness.check(dest.getSample(3, 1, 1), 19); harness.check(dest.getSample(4, 1, 1), 20); harness.check(dest.getSample(0, 2, 1), 21); harness.check(dest.getSample(1, 2, 1), 22); harness.check(dest.getSample(2, 2, 1), 23); harness.check(dest.getSample(3, 2, 1), 24); harness.check(dest.getSample(4, 2, 1), 25); harness.check(dest.getSample(0, 3, 1), 26); harness.check(dest.getSample(1, 3, 1), 27); harness.check(dest.getSample(2, 3, 1), 28); harness.check(dest.getSample(3, 3, 1), 29); harness.check(dest.getSample(4, 3, 1), 30); harness.check(dest.getSample(0, 0, 2), 21); harness.check(dest.getSample(1, 0, 2), 22); harness.check(dest.getSample(2, 0, 2), 23); harness.check(dest.getSample(3, 0, 2), 24); harness.check(dest.getSample(4, 0, 2), 25); harness.check(dest.getSample(0, 1, 2), 26); harness.check(dest.getSample(1, 1, 2), 27); harness.check(dest.getSample(2, 1, 2), 28); harness.check(dest.getSample(3, 1, 2), 29); harness.check(dest.getSample(4, 1, 2), 30); harness.check(dest.getSample(0, 2, 2), 31); harness.check(dest.getSample(1, 2, 2), 32); harness.check(dest.getSample(2, 2, 2), 33); harness.check(dest.getSample(3, 2, 2), 34); harness.check(dest.getSample(4, 2, 2), 35); harness.check(dest.getSample(0, 3, 2), 36); harness.check(dest.getSample(1, 3, 2), 37); harness.check(dest.getSample(2, 3, 2), 38); harness.check(dest.getSample(3, 3, 2), 39); harness.check(dest.getSample(4, 3, 2), 40); } public void testRaster2(TestHarness harness) { harness.checkPoint("testRaster2()"); Raster src = createRasterA(); WritableRaster dest = src.createCompatibleWritableRaster(); Kernel k1 = new Kernel(3, 3, new float[] {0,0,0, 0,1,0, 0,0,0}); ConvolveOp op = new ConvolveOp(k1, ConvolveOp.EDGE_ZERO_FILL, null); dest = op.filter(src, dest); harness.check(dest.getSample(0, 0, 0), 0); harness.check(dest.getSample(1, 0, 0), 0); harness.check(dest.getSample(2, 0, 0), 0); harness.check(dest.getSample(3, 0, 0), 0); harness.check(dest.getSample(4, 0, 0), 0); harness.check(dest.getSample(0, 1, 0), 0); harness.check(dest.getSample(1, 1, 0), 7); harness.check(dest.getSample(2, 1, 0), 8); harness.check(dest.getSample(3, 1, 0), 9); harness.check(dest.getSample(4, 1, 0), 0); harness.check(dest.getSample(0, 2, 0), 0); harness.check(dest.getSample(1, 2, 0), 12); harness.check(dest.getSample(2, 2, 0), 13); harness.check(dest.getSample(3, 2, 0), 14); harness.check(dest.getSample(4, 2, 0), 0); harness.check(dest.getSample(0, 3, 0), 0); harness.check(dest.getSample(1, 3, 0), 0); harness.check(dest.getSample(2, 3, 0), 0); harness.check(dest.getSample(3, 3, 0), 0); harness.check(dest.getSample(4, 3, 0), 0); harness.check(dest.getSample(0, 0, 1), 0); harness.check(dest.getSample(1, 0, 1), 0); harness.check(dest.getSample(2, 0, 1), 0); harness.check(dest.getSample(3, 0, 1), 0); harness.check(dest.getSample(4, 0, 1), 0); harness.check(dest.getSample(0, 1, 1), 0); harness.check(dest.getSample(1, 1, 1), 17); harness.check(dest.getSample(2, 1, 1), 18); harness.check(dest.getSample(3, 1, 1), 19); harness.check(dest.getSample(4, 1, 1), 0); harness.check(dest.getSample(0, 2, 1), 0); harness.check(dest.getSample(1, 2, 1), 22); harness.check(dest.getSample(2, 2, 1), 23); harness.check(dest.getSample(3, 2, 1), 24); harness.check(dest.getSample(4, 2, 1), 0); harness.check(dest.getSample(0, 3, 1), 0); harness.check(dest.getSample(1, 3, 1), 0); harness.check(dest.getSample(2, 3, 1), 0); harness.check(dest.getSample(3, 3, 1), 0); harness.check(dest.getSample(4, 3, 1), 0); harness.check(dest.getSample(0, 0, 2), 0); harness.check(dest.getSample(1, 0, 2), 0); harness.check(dest.getSample(2, 0, 2), 0); harness.check(dest.getSample(3, 0, 2), 0); harness.check(dest.getSample(4, 0, 2), 0); harness.check(dest.getSample(0, 1, 2), 0); harness.check(dest.getSample(1, 1, 2), 27); harness.check(dest.getSample(2, 1, 2), 28); harness.check(dest.getSample(3, 1, 2), 29); harness.check(dest.getSample(4, 1, 2), 0); harness.check(dest.getSample(0, 2, 2), 0); harness.check(dest.getSample(1, 2, 2), 32); harness.check(dest.getSample(2, 2, 2), 33); harness.check(dest.getSample(3, 2, 2), 34); harness.check(dest.getSample(4, 2, 2), 0); harness.check(dest.getSample(0, 3, 2), 0); harness.check(dest.getSample(1, 3, 2), 0); harness.check(dest.getSample(2, 3, 2), 0); harness.check(dest.getSample(3, 3, 2), 0); harness.check(dest.getSample(4, 3, 2), 0); } public void testRaster3(TestHarness harness) { harness.checkPoint("testRaster3()"); Raster src = createRasterA(); WritableRaster dest = src.createCompatibleWritableRaster(); Kernel k1 = new Kernel(3, 3, new float[] {0.1f,0.2f,0.3f, 0.4f,0.5f,0.6f, 0.7f,0.8f,0.9f}); ConvolveOp op = new ConvolveOp(k1, ConvolveOp.EDGE_NO_OP, null); dest = op.filter(src, dest); harness.check(dest.getSample(0, 0, 0), 1); harness.check(dest.getSample(1, 0, 0), 2); harness.check(dest.getSample(2, 0, 0), 3); harness.check(dest.getSample(3, 0, 0), 4); harness.check(dest.getSample(4, 0, 0), 5); harness.check(dest.getSample(0, 1, 0), 6); harness.check(dest.getSample(1, 1, 0), 21); harness.check(dest.getSample(2, 1, 0), 26); harness.check(dest.getSample(3, 1, 0), 30); harness.check(dest.getSample(4, 1, 0), 10); harness.check(dest.getSample(0, 2, 0), 11); harness.check(dest.getSample(1, 2, 0), 44); harness.check(dest.getSample(2, 2, 0), 48); harness.check(dest.getSample(3, 2, 0), 53); harness.check(dest.getSample(4, 2, 0), 15); harness.check(dest.getSample(0, 3, 0), 16); harness.check(dest.getSample(1, 3, 0), 17); harness.check(dest.getSample(2, 3, 0), 18); harness.check(dest.getSample(3, 3, 0), 19); harness.check(dest.getSample(4, 3, 0), 20); harness.check(dest.getSample(0, 0, 1), 11); harness.check(dest.getSample(1, 0, 1), 12); harness.check(dest.getSample(2, 0, 1), 13); harness.check(dest.getSample(3, 0, 1), 14); harness.check(dest.getSample(4, 0, 1), 15); harness.check(dest.getSample(0, 1, 1), 16); harness.check(dest.getSample(1, 1, 1), 66); harness.check(dest.getSample(2, 1, 1), 71); harness.check(dest.getSample(3, 1, 1), 75); harness.check(dest.getSample(4, 1, 1), 20); harness.check(dest.getSample(0, 2, 1), 21); harness.check(dest.getSample(1, 2, 1), 89); harness.check(dest.getSample(2, 2, 1), 93); harness.check(dest.getSample(3, 2, 1), 98); harness.check(dest.getSample(4, 2, 1), 25); harness.check(dest.getSample(0, 3, 1), 26); harness.check(dest.getSample(1, 3, 1), 27); harness.check(dest.getSample(2, 3, 1), 28); harness.check(dest.getSample(3, 3, 1), 29); harness.check(dest.getSample(4, 3, 1), 30); harness.check(dest.getSample(0, 0, 2), 21); harness.check(dest.getSample(1, 0, 2), 22); harness.check(dest.getSample(2, 0, 2), 23); harness.check(dest.getSample(3, 0, 2), 24); harness.check(dest.getSample(4, 0, 2), 25); harness.check(dest.getSample(0, 1, 2), 26); harness.check(dest.getSample(1, 1, 2), 111); harness.check(dest.getSample(2, 1, 2), 116); harness.check(dest.getSample(3, 1, 2), 120); harness.check(dest.getSample(4, 1, 2), 30); harness.check(dest.getSample(0, 2, 2), 31); harness.check(dest.getSample(1, 2, 2), 134); harness.check(dest.getSample(2, 2, 2), 138); harness.check(dest.getSample(3, 2, 2), 143); harness.check(dest.getSample(4, 2, 2), 35); harness.check(dest.getSample(0, 3, 2), 36); harness.check(dest.getSample(1, 3, 2), 37); harness.check(dest.getSample(2, 3, 2), 38); harness.check(dest.getSample(3, 3, 2), 39); harness.check(dest.getSample(4, 3, 2), 40); } /** * Creates a sample raster for testing. * * @return A raster. */ private Raster createRasterA() { WritableRaster r = Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE, 5, 4, 3, null); for (int i = 0; i < 5; i++) { for (int j = 0; j < 4; j++) { r.setSample(i, j, 0, j * 5 + i + 1); r.setSample(i, j, 1, j * 5 + i + 11); r.setSample(i, j, 2, j * 5 + i + 21); } } return r; } } mauve-20140821/gnu/testlet/java/awt/image/ConvolveOp/constants.java0000644000175000001440000000247410271132041023767 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.ConvolveOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ConvolveOp; /** * Verifies constant values for the {@link ConvolveOp} class. */ public class constants implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.check(ConvolveOp.EDGE_NO_OP, 1); harness.check(ConvolveOp.EDGE_ZERO_FILL, 0); } } mauve-20140821/gnu/testlet/java/awt/image/ConvolveOp/filterImage.java0000644000175000001440000003634110473373464024227 0ustar dokousers/* filterImage.java -- some checks for the filter(Image) method of the ConvolveOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.image.ConvolveOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Graphics2D; import java.awt.geom.Line2D; import java.awt.image.BufferedImage; import java.awt.image.ConvolveOp; import java.awt.image.Kernel; import java.awt.image.WritableRaster; /** * Checks the filter(BufferedImage) method in the {@link ConvolveOp} class. */ public class filterImage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testDefaults(harness); testFilter(harness); testPremultiplied(harness); } private void testDefaults(TestHarness harness) { harness.checkPoint("testDefaults"); // Create an image to work on BufferedImage img = new BufferedImage(20, 20, BufferedImage.TYPE_USHORT_GRAY); Graphics2D g = (Graphics2D)img.getGraphics(); g.draw(new Line2D.Double(0, 0, 20, 20)); Kernel k1 = new Kernel(3, 3, new float[] {0.1f,0.2f,0.3f, 0.4f,0.5f,0.6f, 0.7f,0.8f,0.9f}); ConvolveOp op = new ConvolveOp(k1, ConvolveOp.EDGE_ZERO_FILL, null); // Src and dst images cannot be the same try { op.filter(img, img); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // Src and dst are different sizes (allowed) BufferedImage dst = new BufferedImage(30, 40, BufferedImage.TYPE_USHORT_GRAY); try { op.filter(img, dst); harness.check(true); } catch (IllegalArgumentException e) { harness.check(false); } // Src and dst have different tpyes (allowed) dst = new BufferedImage(20, 20, BufferedImage.TYPE_INT_ARGB); try { //op.filter(img, dst); harness.check(true); } catch (IllegalArgumentException e) { harness.check(false); } } private void testFilter(TestHarness harness) { harness.checkPoint("testFilter"); // Create an image to work on BufferedImage img = new BufferedImage(5, 5, BufferedImage.TYPE_INT_ARGB); WritableRaster r = img.getRaster(); for (int i = 0; i < r.getHeight(); i++) for (int j = 0; j < r.getWidth(); j++) { r.setSample(j, i, 0, i * 5 + j * 8); r.setSample(j, i, 1, (r.getHeight() - i) * 5 + (r.getWidth() - j) * 8); r.setSample(j, i, 2, 150); if (i > (r.getHeight() / 2) && j > (r.getWidth() / 2)) r.setSample(j, i, 3, 200); else r.setSample(j, i, 3, 0); } Kernel k1 = new Kernel(3, 3, new float[] {0.2f,0.3f,0.5f, 0.4f,0.6f,0.7f, 0.6f,0.9f,0.8f}); ConvolveOp op = new ConvolveOp(k1, ConvolveOp.EDGE_ZERO_FILL, null); BufferedImage dst = op.filter(img, null); WritableRaster dest = dst.getRaster(); harness.check(img.isAlphaPremultiplied(), false); harness.check(dst.isAlphaPremultiplied(), false); harness.check(dest.getSample(0, 0, 0), 0); harness.check(dest.getSample(1, 0, 0), 0); harness.check(dest.getSample(2, 0, 0), 0); harness.check(dest.getSample(3, 0, 0), 0); harness.check(dest.getSample(4, 0, 0), 0); harness.check(dest.getSample(0, 1, 0), 0); harness.check(dest.getSample(1, 1, 0), 52); harness.check(dest.getSample(2, 1, 0), 92); harness.check(dest.getSample(3, 1, 0), 132); harness.check(dest.getSample(4, 1, 0), 0); harness.check(dest.getSample(0, 2, 0), 0); harness.check(dest.getSample(1, 2, 0), 77); harness.check(dest.getSample(2, 2, 0), 117); harness.check(dest.getSample(3, 2, 0), 157); harness.check(dest.getSample(4, 2, 0), 0); harness.check(dest.getSample(0, 3, 0), 0); harness.check(dest.getSample(1, 3, 0), 102); harness.check(dest.getSample(2, 3, 0), 142); harness.check(dest.getSample(3, 3, 0), 182); harness.check(dest.getSample(4, 3, 0), 0); harness.check(dest.getSample(0, 4, 0), 0); harness.check(dest.getSample(1, 4, 0), 0); harness.check(dest.getSample(2, 4, 0), 0); harness.check(dest.getSample(3, 4, 0), 0); harness.check(dest.getSample(4, 4, 0), 0); harness.check(dest.getSample(0, 0, 1), 0); harness.check(dest.getSample(1, 0, 1), 0); harness.check(dest.getSample(2, 0, 1), 0); harness.check(dest.getSample(3, 0, 1), 0); harness.check(dest.getSample(4, 0, 1), 0); harness.check(dest.getSample(0, 1, 1), 0); harness.check(dest.getSample(1, 1, 1), 255); harness.check(dest.getSample(2, 1, 1), 232); harness.check(dest.getSample(3, 1, 1), 192); harness.check(dest.getSample(4, 1, 1), 0); harness.check(dest.getSample(0, 2, 1), 0); harness.check(dest.getSample(1, 2, 1), 247); harness.check(dest.getSample(2, 2, 1), 207); harness.check(dest.getSample(3, 2, 1), 167); harness.check(dest.getSample(4, 2, 1), 0); harness.check(dest.getSample(0, 3, 1), 0); harness.check(dest.getSample(1, 3, 1), 222); harness.check(dest.getSample(2, 3, 1), 182); harness.check(dest.getSample(3, 3, 1), 142); harness.check(dest.getSample(4, 3, 1), 0); harness.check(dest.getSample(0, 4, 1), 0); harness.check(dest.getSample(1, 4, 1), 0); harness.check(dest.getSample(2, 4, 1), 0); harness.check(dest.getSample(3, 4, 1), 0); harness.check(dest.getSample(4, 4, 1), 0); harness.check(dest.getSample(0, 0, 2), 0); harness.check(dest.getSample(1, 0, 2), 0); harness.check(dest.getSample(2, 0, 2), 0); harness.check(dest.getSample(3, 0, 2), 0); harness.check(dest.getSample(4, 0, 2), 0); harness.check(dest.getSample(0, 1, 2), 0); harness.check(dest.getSample(1, 1, 2), 255); harness.check(dest.getSample(2, 1, 2), 255); harness.check(dest.getSample(3, 1, 2), 255); harness.check(dest.getSample(4, 1, 2), 0); harness.check(dest.getSample(0, 2, 2), 0); harness.check(dest.getSample(1, 2, 2), 255); harness.check(dest.getSample(2, 2, 2), 255); harness.check(dest.getSample(3, 2, 2), 255); harness.check(dest.getSample(4, 2, 2), 0); harness.check(dest.getSample(0, 3, 2), 0); harness.check(dest.getSample(1, 3, 2), 255); harness.check(dest.getSample(2, 3, 2), 255); harness.check(dest.getSample(3, 3, 2), 255); harness.check(dest.getSample(4, 3, 2), 0); harness.check(dest.getSample(0, 4, 2), 0); harness.check(dest.getSample(1, 4, 2), 0); harness.check(dest.getSample(2, 4, 2), 0); harness.check(dest.getSample(3, 4, 2), 0); harness.check(dest.getSample(4, 4, 2), 0); harness.check(dest.getSample(0, 0, 3), 0); harness.check(dest.getSample(1, 0, 3), 0); harness.check(dest.getSample(2, 0, 3), 0); harness.check(dest.getSample(3, 0, 3), 0); harness.check(dest.getSample(4, 0, 3), 0); harness.check(dest.getSample(0, 1, 3), 0); harness.check(dest.getSample(1, 1, 3), 0); harness.check(dest.getSample(2, 1, 3), 0); harness.check(dest.getSample(3, 1, 3), 0); harness.check(dest.getSample(4, 1, 3), 0); harness.check(dest.getSample(0, 2, 3), 0); harness.check(dest.getSample(1, 2, 3), 0); harness.check(dest.getSample(2, 2, 3) - 39 >= 0 // allow rounding error && dest.getSample(2, 2, 3) - 39 <= 1); harness.check(dest.getSample(3, 2, 3), 100); harness.check(dest.getSample(4, 2, 3), 0); harness.check(dest.getSample(0, 3, 3), 0); harness.check(dest.getSample(1, 3, 3), 0); harness.check(dest.getSample(2, 3, 3) - 119 >= 0 // allow rounding error && dest.getSample(2, 3, 3) - 119 <= 1); harness.check(dest.getSample(3, 3, 3), 255); harness.check(dest.getSample(4, 3, 3), 0); harness.check(dest.getSample(0, 4, 3), 0); harness.check(dest.getSample(1, 4, 3), 0); harness.check(dest.getSample(2, 4, 3), 0); harness.check(dest.getSample(3, 4, 3), 0); harness.check(dest.getSample(4, 4, 3), 0); } // Test the pre-multiplied alpha stuff private void testPremultiplied(TestHarness harness) { harness.checkPoint("testPremultiplied"); // Create an image to work on BufferedImage img = new BufferedImage(5, 5, BufferedImage.TYPE_INT_ARGB_PRE); WritableRaster r = img.getRaster(); for (int i = 0; i < r.getHeight(); i++) for (int j = 0; j < r.getWidth(); j++) { r.setSample(j, i, 0, i * 5 + j * 8); r.setSample(j, i, 1, (r.getHeight() - i) * 5 + (r.getWidth() - j) * 8); r.setSample(j, i, 2, 150); if (i > (r.getHeight() / 2) && j > (r.getWidth() / 2)) r.setSample(j, i, 3, 200); else r.setSample(j, i, 3, 0); } Kernel k1 = new Kernel(3, 3, new float[] {0.2f,0.3f,0.5f, 0.4f,0.6f,0.7f, 0.6f,0.9f,0.8f}); ConvolveOp op = new ConvolveOp(k1, ConvolveOp.EDGE_ZERO_FILL, null); BufferedImage dst = new BufferedImage(5, 5, BufferedImage.TYPE_INT_ARGB); dst = op.filter(img, dst); WritableRaster dest = dst.getRaster(); harness.check(img.isAlphaPremultiplied(), true); harness.check(dst.isAlphaPremultiplied(), false); // The following test values are COMPLETELY IDENTICAL to those in // testFilter, even though this does a premultiplied conversion and // testFilter does not. It seems that the reference implementation // IGNORES the pre-multiplied status of images, contrary to the spec. harness.check(dest.getSample(0, 0, 0), 0); harness.check(dest.getSample(1, 0, 0), 0); harness.check(dest.getSample(2, 0, 0), 0); harness.check(dest.getSample(3, 0, 0), 0); harness.check(dest.getSample(4, 0, 0), 0); harness.check(dest.getSample(0, 1, 0), 0); harness.check(dest.getSample(1, 1, 0), 52); harness.check(dest.getSample(2, 1, 0), 92); harness.check(dest.getSample(3, 1, 0), 132); harness.check(dest.getSample(4, 1, 0), 0); harness.check(dest.getSample(0, 2, 0), 0); harness.check(dest.getSample(1, 2, 0), 77); harness.check(dest.getSample(2, 2, 0), 117); harness.check(dest.getSample(3, 2, 0), 157); harness.check(dest.getSample(4, 2, 0), 0); harness.check(dest.getSample(0, 3, 0), 0); harness.check(dest.getSample(1, 3, 0), 102); harness.check(dest.getSample(2, 3, 0), 142); harness.check(dest.getSample(3, 3, 0), 182); harness.check(dest.getSample(4, 3, 0), 0); harness.check(dest.getSample(0, 4, 0), 0); harness.check(dest.getSample(1, 4, 0), 0); harness.check(dest.getSample(2, 4, 0), 0); harness.check(dest.getSample(3, 4, 0), 0); harness.check(dest.getSample(4, 4, 0), 0); harness.check(dest.getSample(0, 0, 1), 0); harness.check(dest.getSample(1, 0, 1), 0); harness.check(dest.getSample(2, 0, 1), 0); harness.check(dest.getSample(3, 0, 1), 0); harness.check(dest.getSample(4, 0, 1), 0); harness.check(dest.getSample(0, 1, 1), 0); harness.check(dest.getSample(1, 1, 1), 255); harness.check(dest.getSample(2, 1, 1), 232); harness.check(dest.getSample(3, 1, 1), 192); harness.check(dest.getSample(4, 1, 1), 0); harness.check(dest.getSample(0, 2, 1), 0); harness.check(dest.getSample(1, 2, 1), 247); harness.check(dest.getSample(2, 2, 1), 207); harness.check(dest.getSample(3, 2, 1), 167); harness.check(dest.getSample(4, 2, 1), 0); harness.check(dest.getSample(0, 3, 1), 0); harness.check(dest.getSample(1, 3, 1), 222); harness.check(dest.getSample(2, 3, 1), 182); harness.check(dest.getSample(3, 3, 1), 142); harness.check(dest.getSample(4, 3, 1), 0); harness.check(dest.getSample(0, 4, 1), 0); harness.check(dest.getSample(1, 4, 1), 0); harness.check(dest.getSample(2, 4, 1), 0); harness.check(dest.getSample(3, 4, 1), 0); harness.check(dest.getSample(4, 4, 1), 0); harness.check(dest.getSample(0, 0, 2), 0); harness.check(dest.getSample(1, 0, 2), 0); harness.check(dest.getSample(2, 0, 2), 0); harness.check(dest.getSample(3, 0, 2), 0); harness.check(dest.getSample(4, 0, 2), 0); harness.check(dest.getSample(0, 1, 2), 0); harness.check(dest.getSample(1, 1, 2), 255); harness.check(dest.getSample(2, 1, 2), 255); harness.check(dest.getSample(3, 1, 2), 255); harness.check(dest.getSample(4, 1, 2), 0); harness.check(dest.getSample(0, 2, 2), 0); harness.check(dest.getSample(1, 2, 2), 255); harness.check(dest.getSample(2, 2, 2), 255); harness.check(dest.getSample(3, 2, 2), 255); harness.check(dest.getSample(4, 2, 2), 0); harness.check(dest.getSample(0, 3, 2), 0); harness.check(dest.getSample(1, 3, 2), 255); harness.check(dest.getSample(2, 3, 2), 255); harness.check(dest.getSample(3, 3, 2), 255); harness.check(dest.getSample(4, 3, 2), 0); harness.check(dest.getSample(0, 4, 2), 0); harness.check(dest.getSample(1, 4, 2), 0); harness.check(dest.getSample(2, 4, 2), 0); harness.check(dest.getSample(3, 4, 2), 0); harness.check(dest.getSample(4, 4, 2), 0); harness.check(dest.getSample(0, 0, 3), 0); harness.check(dest.getSample(1, 0, 3), 0); harness.check(dest.getSample(2, 0, 3), 0); harness.check(dest.getSample(3, 0, 3), 0); harness.check(dest.getSample(4, 0, 3), 0); harness.check(dest.getSample(0, 1, 3), 0); harness.check(dest.getSample(1, 1, 3), 0); harness.check(dest.getSample(2, 1, 3), 0); harness.check(dest.getSample(3, 1, 3), 0); harness.check(dest.getSample(4, 1, 3), 0); harness.check(dest.getSample(0, 2, 3), 0); harness.check(dest.getSample(1, 2, 3), 0); harness.check(dest.getSample(2, 2, 3) - 39 >= 0 // allow rounding error && dest.getSample(2, 2, 3) - 39 <= 1); harness.check(dest.getSample(3, 2, 3), 100); harness.check(dest.getSample(4, 2, 3), 0); harness.check(dest.getSample(0, 3, 3), 0); harness.check(dest.getSample(1, 3, 3), 0); harness.check(dest.getSample(2, 3, 3) - 119 >= 0 // allow rounding error && dest.getSample(2, 3, 3) - 119 <= 1); harness.check(dest.getSample(3, 3, 3), 255); harness.check(dest.getSample(4, 3, 3), 0); harness.check(dest.getSample(0, 4, 3), 0); harness.check(dest.getSample(1, 4, 3), 0); harness.check(dest.getSample(2, 4, 3), 0); harness.check(dest.getSample(3, 4, 3), 0); harness.check(dest.getSample(4, 4, 3), 0); } } mauve-20140821/gnu/testlet/java/awt/image/ConvolveOp/createCompatibleDestRaster.java0000644000175000001440000000672410473373464027245 0ustar dokousers/* createCompatibleDestRaster.java -- some checks for the createCompatibleDestRaster() method of the ConvolveOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.image.ConvolveOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Point; import java.awt.image.ConvolveOp; import java.awt.image.DataBuffer; import java.awt.image.Kernel; import java.awt.image.Raster; /** * Checks for the createCompatibleDestRaster method in the * {@link ConvolveOp} class. */ public class createCompatibleDestRaster implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("createCompatibleDestRaster"); // Simple test Raster src = Raster.createBandedRaster(DataBuffer.TYPE_INT, 25, 40, 3, new Point(5, 5)); Kernel kern = new Kernel(3, 3, new float[] {1f, 2f, 3f, 4f, 5f, 6f, 7f, 8f, 9f}); ConvolveOp op = new ConvolveOp(kern, ConvolveOp.EDGE_NO_OP, null); try { Raster dst = op.createCompatibleDestRaster(src); harness.check(dst.getHeight(), src.getHeight()); harness.check(dst.getWidth(), src.getWidth()); harness.check(dst.getNumBands(), src.getNumBands()); harness.check(dst.getTransferType(), src.getTransferType()); harness.check(dst.getDataBuffer().getDataType(), src.getDataBuffer().getDataType()); harness.check(dst.getNumDataElements(), src.getNumDataElements()); } catch (IllegalArgumentException e) { harness.check(false); } // Try a different type src = Raster.createBandedRaster(DataBuffer.TYPE_BYTE, 25, 40, 3, new Point(5, 5)); try { Raster dst = op.createCompatibleDestRaster(src); harness.check(dst.getNumBands(), src.getNumBands()); harness.check(dst.getTransferType(), src.getTransferType()); harness.check(dst.getDataBuffer().getDataType(), src.getDataBuffer().getDataType()); harness.check(dst.getNumDataElements(), src.getNumDataElements()); } catch (IllegalArgumentException e) { harness.check(false); } // Try a different number of bands src = Raster.createBandedRaster(DataBuffer.TYPE_INT, 25, 40, 5, new Point(5, 5)); try { Raster dst = op.createCompatibleDestRaster(src); harness.check(dst.getNumBands(), src.getNumBands()); harness.check(dst.getTransferType(), src.getTransferType()); harness.check(dst.getDataBuffer().getDataType(), src.getDataBuffer().getDataType()); harness.check(dst.getNumDataElements(), src.getNumDataElements()); } catch (IllegalArgumentException e) { harness.check(false); } } } mauve-20140821/gnu/testlet/java/awt/image/ConvolveOp/getKernel.java0000644000175000001440000000320010271132041023657 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.ConvolveOp ; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ConvolveOp; import java.awt.image.Kernel; import java.util.Arrays; /** * Some checks for the getKernel() method in the {@link ConvolveOp} class. */ public class getKernel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Kernel k1 = new Kernel(1, 1, new float[] {1f}); ConvolveOp op1 = new ConvolveOp(k1); Kernel k2 = op1.getKernel(); harness.check(Arrays.equals(k1.getKernelData(null), k2.getKernelData(null))); harness.check(k1 != k2); // each call seems to clone the kernel Kernel k3 = op1.getKernel(); harness.check(k2 != k3); } } mauve-20140821/gnu/testlet/java/awt/image/ConvolveOp/getBounds2D.java0000644000175000001440000000513610457445414024112 0ustar dokousers/* getBounds2D.java -- some checks for the getBounds2D() methods in the ConvolveOp class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDk1.4 package gnu.testlet.java.awt.image.ConvolveOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; import java.awt.image.ConvolveOp; import java.awt.image.DataBuffer; import java.awt.image.Kernel; import java.awt.image.Raster; public class getBounds2D implements Testlet { public void test(TestHarness harness) { testMethod1(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("(Raster)"); Kernel k1 = new Kernel(3, 3, new float[] {1f, 2f, 3f, 4f, 5f, 6f, 7f, 8f, 9f}); ConvolveOp op = new ConvolveOp(k1, ConvolveOp.EDGE_NO_OP, null); Raster r = Raster.createBandedRaster(DataBuffer.TYPE_BYTE, 4, 30, 3, null); Rectangle2D bounds = op.getBounds2D(r); harness.check(bounds, new Rectangle(0, 0, 4, 30)); // try null raster boolean pass = false; try { op.getBounds2D((Raster) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void testMethod2(TestHarness harness) { harness.checkPoint("(BufferedImage)"); Kernel k1 = new Kernel(3, 3, new float[] {1f, 2f, 3f, 4f, 5f, 6f, 7f, 8f, 9f}); ConvolveOp op = new ConvolveOp(k1, ConvolveOp.EDGE_NO_OP, null); BufferedImage image = new BufferedImage(5, 10, BufferedImage.TYPE_BYTE_GRAY); Rectangle2D bounds = op.getBounds2D(image); harness.check(bounds, new Rectangle(0, 0, 5, 10)); // try null raster boolean pass = false; try { op.getBounds2D((BufferedImage) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/ShortLookupTable/0000755000175000001440000000000012375316426022272 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/image/ShortLookupTable/constructors.java0000644000175000001440000000575110457211307025704 0ustar dokousers/* constructors.java -- some checks for the constructors in the ShortLookupTable class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.ShortLookupTable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ShortLookupTable; public class constructors implements Testlet { public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("(int, byte[])"); short[] shorts = new short[] {0xAA, 0xBB}; ShortLookupTable t = new ShortLookupTable(7, shorts); harness.check(t.getOffset(), 7); harness.check(t.getNumComponents(), 1); short[][] table = t.getTable(); harness.check(table.length, 1); harness.check(table[0] == shorts); // try negative offset boolean pass = false; try { t = new ShortLookupTable(-1, shorts); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try null data pass = false; try { t = new ShortLookupTable(0, (short[]) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(int, byte[][])"); short[] shortsA = new short[] {0xAA, 0xBB, 0xCC}; short[] shortsB = new short[] {0xDD, 0xEE, 0xFF}; short[][] shorts = new short[][] { shortsA, shortsB }; ShortLookupTable t = new ShortLookupTable(3, shorts); harness.check(t.getOffset(), 3); harness.check(t.getNumComponents(), 2); short[][] table = t.getTable(); harness.check(table.length, 2); harness.check(table[0] == shortsA); harness.check(table[1] == shortsB); harness.check(table != shorts); // try negative offset boolean pass = false; try { t = new ShortLookupTable(-1, shorts); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try null data pass = false; try { t = new ShortLookupTable(0, (short[][]) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/ShortLookupTable/getTable.java0000644000175000001440000000404410457211307024655 0ustar dokousers/* getTable.java -- some checks for the getLookUpTable() method in the ShortLookupTable class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.ShortLookupTable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ShortLookupTable; public class getTable implements Testlet { public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("test1()"); short[] shorts = new short[] {0xAA, 0xBB}; ShortLookupTable t = new ShortLookupTable(7, shorts); short[][] table = t.getTable(); harness.check(table.length, 1); harness.check(table[0] == shorts); harness.check(t.getTable() == t.getTable()); } public void test2(TestHarness harness) { harness.checkPoint("test2()"); short[] shortsA = new short[] {0xAA, 0xBB, 0xCC}; short[] shortsB = new short[] {0xDD, 0xEE, 0xFF}; short[][] shorts = new short[][] { shortsA, shortsB }; ShortLookupTable t = new ShortLookupTable(3, shorts); short[][] table = t.getTable(); harness.check(table.length, 2); harness.check(table[0] == shortsA); harness.check(table[1] == shortsB); harness.check(table != shorts); harness.check(t.getTable() == t.getTable()); } } mauve-20140821/gnu/testlet/java/awt/image/ShortLookupTable/lookupPixel.java0000644000175000001440000001701310477317752025456 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.ShortLookupTable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ShortLookupTable; /** * Some checks for the lookupPixel() methods in the {@link ShortLookupTable} class. */ public class lookupPixel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testInt(harness); testShort(harness); testFailure(harness); } private void testInt(TestHarness harness) { harness.checkPoint("(int[], int[])"); short[] data = {105, 104, 103, 102, 101, 100}; ShortLookupTable t = new ShortLookupTable(100, data); // check 1-band source with 1-band lookup table int[] src = new int[] {100}; int[] dst = t.lookupPixel(src, null); harness.check(dst[0], 105); src = new int[] {101}; dst = new int[] {0}; dst = t.lookupPixel(src, dst); harness.check(dst[0], 104); // check 3-band source with 1-band lookup table src = new int[] {100, 101, 102}; try { dst = t.lookupPixel(src, null); harness.check(dst[0], 105); harness.check(dst[1], 104); harness.check(dst[2], 103); } catch (Exception e) { // don't allow a failure to harness.check(false); // disrupt remaining checks harness.debug(e); } src = new int[] {102, 103, 104}; dst = new int[] {0, 0, 0}; try { dst = t.lookupPixel(src, dst); harness.check(dst[0], 103); harness.check(dst[1], 102); harness.check(dst[2], 101); } catch (Exception e) { // don't allow a failure to harness.check(false); // disrupt remaining checks harness.debug(e); } // check 3-band source with 3-band lookup table short[][] data2 = { {105, 104, 103, 102, 101, 100}, {115, 114, 113, 112, 111, 110}, {125, 124, 123, 122, 121, 120} }; ShortLookupTable t2 = new ShortLookupTable(100, data2); int[] src2 = {100, 101, 102}; dst = t2.lookupPixel(src2, null); harness.check(dst[0], 105); harness.check(dst[1], 114); harness.check(dst[2], 123); src2 = new int[] {103, 104, 105}; dst = new int[] {0, 0, 0}; dst = t2.lookupPixel(src2, dst); harness.check(dst[0], 102); harness.check(dst[1], 111); harness.check(dst[2], 120); // check 1-band source with 2-band lookup table short[][] data3 = { {105, 104, 103, 102, 101, 100}, {115, 114, 113, 112, 111, 110}, }; ShortLookupTable t3 = new ShortLookupTable(100, data3); src = new int[] {100}; dst = t3.lookupPixel(src, null); harness.check(dst[0], 105); src = new int[] {101}; dst = new int[] {0}; dst = t3.lookupPixel(src, dst); harness.check(dst[0], 104); // check 3-band source with 2-band lookup table try { dst = t3.lookupPixel(src2, null); harness.check(false); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } dst = new int[3]; try { dst = t3.lookupPixel(src2, dst); harness.check(false); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } } private void testShort(TestHarness harness) { harness.checkPoint("(short[], short[])"); short[] data = {105, 104, 103, 102, 101, 100}; ShortLookupTable t = new ShortLookupTable(100, data); // check 1-band source with 1-band lookup table short[] src = new short[] {100}; short[] dst = t.lookupPixel(src, null); harness.check(dst[0], 105); src = new short[] {101}; dst = new short[] {0}; dst = t.lookupPixel(src, dst); harness.check(dst[0], 104); // check 3-band source with 1-band lookup table src = new short[] {100, 101, 102}; try { dst = t.lookupPixel(src, null); harness.check(dst[0], 105); harness.check(dst[1], 104); harness.check(dst[2], 103); } catch (Exception e) { // don't allow a failure to harness.check(false); // disrupt remaining checks harness.debug(e); } src = new short[] {102, 103, 104}; dst = new short[] {0, 0, 0}; try { dst = t.lookupPixel(src, dst); harness.check(dst[0], 103); harness.check(dst[1], 102); harness.check(dst[2], 101); } catch (Exception e) { // don't allow a failure to harness.check(false); // disrupt remaining checks harness.debug(e); } // check 3-band source with 3-band lookup table short[][] data2 = { {105, 104, 103, 102, 101, 100}, {115, 114, 113, 112, 111, 110}, {125, 124, 123, 122, 121, 120} }; ShortLookupTable t2 = new ShortLookupTable(100, data2); short[] src2 = {100, 101, 102}; dst = t2.lookupPixel(src2, null); harness.check(dst[0], 105); harness.check(dst[1], 114); harness.check(dst[2], 123); src2 = new short[] {103, 104, 105}; dst = new short[] {0, 0, 0}; dst = t2.lookupPixel(src2, dst); harness.check(dst[0], 102); harness.check(dst[1], 111); harness.check(dst[2], 120); // check 1-band source with 2-band lookup table short[][] data3 = { {105, 104, 103, 102, 101, 100}, {115, 114, 113, 112, 111, 110}, }; ShortLookupTable t3 = new ShortLookupTable(100, data3); src = new short[] {100}; dst = t3.lookupPixel(src, null); harness.check(dst[0], 105); src = new short[] {101}; dst = new short[1]; dst = t3.lookupPixel(src, dst); harness.check(dst[0], 104); // check 3 band source, 2 band lookup table try { dst = t3.lookupPixel(src2, null); harness.check(false); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } dst = new short[3]; try { dst = t3.lookupPixel(src2, dst); harness.check(false); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } } // Test failures, ie, if the requested pixel is not in the table. // It should throw array index out of bounds exceptions. private void testFailure(TestHarness harness) { harness.checkPoint("not in table"); short[] data = {105, 104, 103, 102, 101, 100}; ShortLookupTable t = new ShortLookupTable(100, data); try { int[] src = new int[] {120}; t.lookupPixel(src, null); harness.check(false); } catch (ArrayIndexOutOfBoundsException ex) { harness.check(true); } try { short[] src = new short[] {120}; t.lookupPixel(src, null); harness.check(false); } catch (ArrayIndexOutOfBoundsException ex) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/0000755000175000001440000000000012375316426024360 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/constructors.java0000644000175000001440000000523210455474251027773 0ustar dokousers/* constructors.java -- some checks for the constructors in the MultiPixelPackedSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.MultiPixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.MultiPixelPackedSampleModel; public class constructors implements Testlet { public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("(int, int, int, int)"); MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 8); harness.check(m.getDataType(), DataBuffer.TYPE_INT); harness.check(m.getWidth(), 10); harness.check(m.getHeight(), 20); harness.check(m.getSampleSize(0), 8); harness.check(m.getNumBands(), 1); harness.check(m.getNumDataElements(), 1); harness.check(m.getScanlineStride(), 3); harness.check(m.getDataBitOffset(), 0); // unsupported type should throw IllegalArgumentException boolean pass = false; try { m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_DOUBLE, 10, 20, 8); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(int, int, int, int, int, int)"); MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 8, 5, 1); harness.check(m.getDataType(), DataBuffer.TYPE_INT); harness.check(m.getWidth(), 10); harness.check(m.getHeight(), 20); harness.check(m.getSampleSize(0), 8); harness.check(m.getNumBands(), 1); harness.check(m.getNumDataElements(), 1); harness.check(m.getScanlineStride(), 5); harness.check(m.getDataBitOffset(), 1); } } mauve-20140821/gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/getPixelBitStride.java0000644000175000001440000000370710455723312030616 0ustar dokousers/* getPixelBitStride.java -- some checks for the getPixelBitStride() method in the MultiPixelPackedSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.MultiPixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.MultiPixelPackedSampleModel; public class getPixelBitStride implements Testlet { public void test(TestHarness harness) { MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 8); harness.check(m.getPixelBitStride(), 8); m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_INT, 10, 20, 1); harness.check(m.getPixelBitStride(), 1); m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_INT, 10, 20, 2); harness.check(m.getPixelBitStride(), 2); m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_INT, 10, 20, 4); harness.check(m.getPixelBitStride(), 4); m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_INT, 10, 20, 16); harness.check(m.getPixelBitStride(), 16); m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_INT, 10, 20, 32); harness.check(m.getPixelBitStride(), 32); } } mauve-20140821/gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/equals.java0000644000175000001440000000566410455474251026526 0ustar dokousers/* equals.java -- some checks for the equals() method in the MultiPixelPackedSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.MultiPixelPackedSampleModel; import java.awt.image.DataBuffer; import java.awt.image.MultiPixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class equals implements Testlet { public void test(TestHarness harness) { MultiPixelPackedSampleModel m1 = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 8, 5, 1); MultiPixelPackedSampleModel m2 = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 8, 5, 1); harness.check(m1.equals(m2)); harness.check(m2.equals(m1)); m1 = new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, 8, 5, 1); harness.check(!m1.equals(m2)); m2 = new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, 8, 5, 1); harness.check(m1.equals(m2)); m1 = new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, 11, 20, 8, 5, 1); harness.check(!m1.equals(m2)); m2 = new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, 11, 20, 8, 5, 1); harness.check(m1.equals(m2)); m1 = new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, 11, 21, 8, 5, 1); harness.check(!m1.equals(m2)); m2 = new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, 11, 21, 8, 5, 1); harness.check(m1.equals(m2)); m1 = new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, 11, 21, 4, 5, 1); harness.check(!m1.equals(m2)); m2 = new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, 11, 21, 4, 5, 1); harness.check(m1.equals(m2)); m1 = new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, 11, 21, 4, 6, 1); harness.check(!m1.equals(m2)); m2 = new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, 11, 21, 4, 6, 1); harness.check(m1.equals(m2)); m1 = new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, 11, 21, 4, 6, 2); harness.check(!m1.equals(m2)); m2 = new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, 11, 21, 4, 6, 2); harness.check(m1.equals(m2)); harness.check(!m1.equals(null)); harness.check(!m1.equals("Hello World!")); } } mauve-20140821/gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/setSample.java0000644000175000001440000000656410456714110027161 0ustar dokousers/* setSample.java -- some checks for the setSample() method in the MultiPixelPackedSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.MultiPixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.MultiPixelPackedSampleModel; public class setSample implements Testlet { public void test(TestHarness harness) { test1(harness); test2(harness); testTYPE_USHORT(harness); testTYPE_BYTE(harness); } public void test1(TestHarness harness) { MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 8); DataBuffer db = m.createDataBuffer(); m.setSample(0, 1, 0, 0xAA, db); m.setSample(1, 1, 0, 0xBB, db); m.setSample(2, 1, 0, 0xCC, db); m.setSample(3, 1, 0, 0xDD, db); harness.check(db.getElem(3), 0xAABBCCDD); // try null db boolean pass = false; try { m.setSample(3, 1, 0, 0xAA, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void test2(TestHarness harness) { MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 8, 4, 16); DataBuffer db = m.createDataBuffer(); m.setSample(2, 1, 0, 0xAA, db); m.setSample(3, 1, 0, 0xBB, db); m.setSample(4, 1, 0, 0xCC, db); m.setSample(5, 1, 0, 0xDD, db); harness.check(db.getElem(5), 0xAABBCCDD); } public void testTYPE_USHORT(TestHarness harness) { harness.checkPoint("TYPE_USHORT"); MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel( DataBuffer.TYPE_USHORT, 10, 20, 8); DataBuffer db = m.createDataBuffer(); m.setSample(0, 0, 0, 0x12, db); harness.check(db.getElem(0), 0x1200); m.setSample(1, 0, 0, 0x34, db); harness.check(db.getElem(0), 0x1234); m.setSample(2, 1, 0, 0xAB, db); harness.check(db.getElem(6), 0xAB00); m.setSample(3, 1, 0, 0xCD, db); harness.check(db.getElem(6), 0xABCD); } public void testTYPE_BYTE(TestHarness harness) { harness.checkPoint("TYPE_BYTE"); MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel( DataBuffer.TYPE_BYTE, 10, 20, 2); DataBuffer db = m.createDataBuffer(); m.setSample(0, 0, 0, 0x01, db); harness.check(db.getElem(0), 0x40); m.setSample(1, 0, 0, 0x02, db); harness.check(db.getElem(0), 0x60); m.setSample(2, 1, 0, 0x03, db); harness.check(db.getElem(3), 0x0C); m.setSample(3, 1, 0, 0x04, db); harness.check(db.getElem(3), 0x0C); } } mauve-20140821/gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/getOffset.java0000644000175000001440000000446410455723312027152 0ustar dokousers/* getOffset.java -- some checks for the getOffset() method in the MultiPixelPackedSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.MultiPixelPackedSampleModel; import java.awt.image.DataBuffer; import java.awt.image.MultiPixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getOffset implements Testlet { public void test(TestHarness harness) { MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 8); harness.check(m.getOffset(0, 0), 0); harness.check(m.getOffset(1, 1), 3); harness.check(m.getOffset(2, 2), 6); harness.check(m.getOffset(3, 3), 9); harness.check(m.getOffset(4, 4), 13); harness.check(m.getOffset(5, 15), 46); harness.check(m.getOffset(6, 16), 49); harness.check(m.getOffset(7, 17), 52); harness.check(m.getOffset(8, 18), 56); harness.check(m.getOffset(9, 19), 59); MultiPixelPackedSampleModel m2 = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 8, 4, 16); harness.check(m2.getDataBitOffset(), 16); harness.check(m2.getOffset(0, 0), 0); harness.check(m2.getOffset(1, 1), 4); harness.check(m2.getOffset(2, 2), 9); harness.check(m2.getOffset(3, 3), 13); harness.check(m2.getOffset(4, 4), 17); harness.check(m2.getOffset(5, 15), 61); harness.check(m2.getOffset(6, 16), 66); harness.check(m2.getOffset(7, 17), 70); harness.check(m2.getOffset(8, 18), 74); harness.check(m2.getOffset(9, 19), 78); } } mauve-20140821/gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/createDataBuffer.java0000644000175000001440000000575010455721033030410 0ustar dokousers/* createDataBuffer.java -- some checks for the createDataBuffer() method in the MultiPixelPackedSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.MultiPixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.MultiPixelPackedSampleModel; public class createDataBuffer implements Testlet { public void test(TestHarness harness) { MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 8); DataBuffer db = m.createDataBuffer(); harness.check(db.getDataType(), DataBuffer.TYPE_INT); harness.check(db.getNumBanks(), 1); harness.check(db.getSize(), 60); MultiPixelPackedSampleModel m2 = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 8, 4, 16); DataBuffer db2 = m2.createDataBuffer(); harness.check(db2.getDataType(), DataBuffer.TYPE_INT); harness.check(db2.getNumBanks(), 1); harness.check(db2.getSize(), 81); MultiPixelPackedSampleModel m3 = new MultiPixelPackedSampleModel( DataBuffer.TYPE_BYTE, 10, 20, 8); DataBuffer db3 = m3.createDataBuffer(); harness.check(db3.getDataType(), DataBuffer.TYPE_BYTE); harness.check(db3.getNumBanks(), 1); harness.check(db3.getSize(), 200); MultiPixelPackedSampleModel m4 = new MultiPixelPackedSampleModel( DataBuffer.TYPE_BYTE, 10, 20, 8, 11, 16); DataBuffer db4 = m4.createDataBuffer(); harness.check(db4.getDataType(), DataBuffer.TYPE_BYTE); harness.check(db4.getNumBanks(), 1); harness.check(db4.getSize(), 222); MultiPixelPackedSampleModel m5 = new MultiPixelPackedSampleModel( DataBuffer.TYPE_USHORT, 10, 20, 8); DataBuffer db5 = m5.createDataBuffer(); harness.check(db5.getDataType(), DataBuffer.TYPE_USHORT); harness.check(db5.getNumBanks(), 1); harness.check(db5.getSize(), 100); MultiPixelPackedSampleModel m6 = new MultiPixelPackedSampleModel( DataBuffer.TYPE_USHORT, 10, 20, 8, 6, 16); DataBuffer db6 = m6.createDataBuffer(); harness.check(db6.getDataType(), DataBuffer.TYPE_USHORT); harness.check(db6.getNumBanks(), 1); harness.check(db6.getSize(), 121); } } mauve-20140821/gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/getSample.java0000644000175000001440000000461610455723312027144 0ustar dokousers/* getSample.java -- some checks for the getSample() method in the MultiPixelPackedSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.MultiPixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.MultiPixelPackedSampleModel; public class getSample implements Testlet { public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 8); DataBuffer db = m.createDataBuffer(); db.setElem(3, 0xAABBCCDD); harness.check(m.getSample(0, 1, 0, db), 0xAA); harness.check(m.getSample(1, 1, 0, db), 0xBB); harness.check(m.getSample(2, 1, 0, db), 0xCC); harness.check(m.getSample(3, 1, 0, db), 0xDD); // try null db boolean pass = false; try { m.getSample(3, 1, 0, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void test2(TestHarness harness) { MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 8, 4, 16); DataBuffer db = m.createDataBuffer(); db.setElem(5, 0xAABBCCDD); harness.check(m.getSample(0, 1, 0, db), 0x00); harness.check(m.getSample(1, 1, 0, db), 0x00); harness.check(m.getSample(2, 1, 0, db), 0xAA); harness.check(m.getSample(3, 1, 0, db), 0xBB); harness.check(m.getSample(4, 1, 0, db), 0xCC); harness.check(m.getSample(5, 1, 0, db), 0xDD); } } mauve-20140821/gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/getDataBitOffset.java0000644000175000001440000000275110455723312030400 0ustar dokousers/* getDataBitOffset.java -- some checks for the getDataBitOffset() method in the MultiPixelPackedSampleModel class. Copyright (C) 2006 David Gilbert () This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.MultiPixelPackedSampleModel; import gnu.testlet.TestHarness; import java.awt.image.DataBuffer; import java.awt.image.MultiPixelPackedSampleModel; public class getDataBitOffset { public void test(TestHarness harness) { MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 8); harness.check(m.getDataBitOffset(), 0); MultiPixelPackedSampleModel m2 = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 8, 4, 16); harness.check(m2.getDataBitOffset(), 16); } } mauve-20140821/gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/setDataElements.java0000644000175000001440000001274510456714110030304 0ustar dokousers/* setDataElements.java -- some checks for the setDataElements() method in the MultiPixelPackedSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.MultiPixelPackedSampleModel; import java.awt.image.DataBuffer; import java.awt.image.MultiPixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class setDataElements implements Testlet { public void test(TestHarness harness) { testTYPE_BYTE(harness); testTYPE_USHORT(harness); testBadTransferArray(harness); testNullTransferArray(harness); } public void testTYPE_BYTE(TestHarness harness) { MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel( DataBuffer.TYPE_BYTE, 10, 20, 8); DataBuffer db = m.createDataBuffer(); m.setDataElements(2, 1, new byte[] {(byte) 0xFA}, db); harness.check(db.getElem(12), 0xFA); } public void testTYPE_USHORT(TestHarness harness) { MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel( DataBuffer.TYPE_USHORT, 10, 20, 8); DataBuffer db = m.createDataBuffer(); m.setDataElements(0, 0, new byte[] {(byte) 0x12}, db); harness.check(db.getElem(0), 0x1200); m.setDataElements(1, 0, new byte[] {(byte) 0x34}, db); harness.check(db.getElem(0), 0x1234); m.setDataElements(2, 1, new byte[] {(byte) 0xAB}, db); harness.check(db.getElem(6), 0xAB00); m.setDataElements(3, 1, new byte[] {(byte) 0xCD}, db); harness.check(db.getElem(6), 0xABCD); } /** * Tests for the required ClassCastException if the incoming Object is not * an array of the TransferType. * * @param harness the test harness. */ public void testBadTransferArray(TestHarness harness) { harness.checkPoint("testBadTransferArray()"); // here a byte[] is expected... MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel( DataBuffer.TYPE_BYTE, 10, 20, 8); DataBuffer db = m.createDataBuffer(); boolean pass = false; try { m.setDataElements(2, 1, new int[] {0xFA}, db); } catch (ClassCastException e) { pass = true; } harness.check(pass); // here a byte[] is expected... m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_USHORT, 10, 20, 8); db = m.createDataBuffer(); pass = false; try { m.setDataElements(2, 1, new short[] {0xFA}, db); } catch (ClassCastException e) { pass = true; } harness.check(pass); // here a short[] is expected... m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_USHORT, 10, 20, 16); db = m.createDataBuffer(); pass = false; try { m.setDataElements(2, 1, new byte[] {(byte) 0xFA}, db); } catch (ClassCastException e) { pass = true; } harness.check(pass); // here a short[] is expected... m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_INT, 10, 20, 16); db = m.createDataBuffer(); pass = false; try { m.setDataElements(2, 1, new byte[] {(byte) 0xFA}, db); } catch (ClassCastException e) { pass = true; } harness.check(pass); } /** * Tests for the required NullPointerException if the incoming Object is null. * * @param harness the test harness. */ public void testNullTransferArray(TestHarness harness) { harness.checkPoint("testNullTransferArray()"); // here a byte[] is expected... MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel( DataBuffer.TYPE_BYTE, 10, 20, 8); DataBuffer db = m.createDataBuffer(); boolean pass = false; try { m.setDataElements(2, 1, null, db); } catch (NullPointerException e) { pass = true; } harness.check(pass); // here a byte[] is expected... m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_USHORT, 10, 20, 8); db = m.createDataBuffer(); pass = false; try { m.setDataElements(2, 1, null, db); } catch (NullPointerException e) { pass = true; } harness.check(pass); // here a short[] is expected... m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_USHORT, 10, 20, 16); db = m.createDataBuffer(); pass = false; try { m.setDataElements(2, 1, null, db); } catch (NullPointerException e) { pass = true; } harness.check(pass); // here a short[] is expected... m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_INT, 10, 20, 16); db = m.createDataBuffer(); pass = false; try { m.setDataElements(2, 1, null, db); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/getPixel.java0000644000175000001440000000501710455723312027000 0ustar dokousers/* getPixel.java -- some checks for the getPixel() method in the MultiPixelPackedSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.MultiPixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.MultiPixelPackedSampleModel; public class getPixel implements Testlet { public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 8); DataBuffer db = m.createDataBuffer(); db.setElem(3, 0xAABBCCDD); harness.check(m.getPixel(0, 1, (int[]) null, db)[0], 0xAA); harness.check(m.getPixel(1, 1, (int[]) null, db)[0], 0xBB); harness.check(m.getPixel(2, 1, (int[]) null, db)[0], 0xCC); harness.check(m.getPixel(3, 1, (int[]) null, db)[0], 0xDD); // try null db boolean pass = false; try { m.getPixel(3, 1, (int[]) null, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void test2(TestHarness harness) { MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 8, 4, 16); DataBuffer db = m.createDataBuffer(); db.setElem(5, 0xAABBCCDD); harness.check(m.getPixel(0, 1, (int[]) null, db)[0], 0x00); harness.check(m.getPixel(1, 1, (int[]) null, db)[0], 0x00); harness.check(m.getPixel(2, 1, (int[]) null, db)[0], 0xAA); harness.check(m.getPixel(3, 1, (int[]) null, db)[0], 0xBB); harness.check(m.getPixel(4, 1, (int[]) null, db)[0], 0xCC); harness.check(m.getPixel(5, 1, (int[]) null, db)[0], 0xDD); } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/createCompatibleSampleModel.javamauve-20140821/gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/createCompatibleSampleModel.ja0000644000175000001440000000452410455474251032265 0ustar dokousers/* createCompatibleSampleModel.java -- some checks for the createCompatibleSampleModel() method in the MultiPixelPackedSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.MultiPixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.MultiPixelPackedSampleModel; public class createCompatibleSampleModel implements Testlet { public void test(TestHarness harness) { MultiPixelPackedSampleModel m1 = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 8); MultiPixelPackedSampleModel m2 = (MultiPixelPackedSampleModel) m1.createCompatibleSampleModel(5, 10); harness.check(m2.getDataType(), DataBuffer.TYPE_INT); // check 1 harness.check(m2.getWidth(), 5); // check 2 harness.check(m2.getHeight(), 10); // check 3 harness.check(m2.getNumBands(), 1); // check 4 harness.check(m2.getScanlineStride(), 2); // if 'w' is <= 0 there should be an IllegalArgumentException try { /* SampleModel m3 = */ m1.createCompatibleSampleModel(0, 10); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // if 'h' is <= 0 there should be an IllegalArgumentException try { /* SampleModel m4 = */ m1.createCompatibleSampleModel(5, 0); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/getBitOffset.java0000644000175000001440000000562410456714110027605 0ustar dokousers/* getBitOffset.java -- some checks for the getBitOffset() method in the MultiPixelPackedSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.MultiPixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.MultiPixelPackedSampleModel; public class getBitOffset implements Testlet { public void test(TestHarness harness) { MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 8); harness.check(m.getBitOffset(0), 0); harness.check(m.getBitOffset(1), 8); harness.check(m.getBitOffset(2), 16); harness.check(m.getBitOffset(3), 24); harness.check(m.getBitOffset(4), 0); harness.check(m.getBitOffset(5), 8); harness.check(m.getBitOffset(6), 16); harness.check(m.getBitOffset(7), 24); harness.check(m.getBitOffset(8), 0); harness.check(m.getBitOffset(9), 8); harness.check(m.getBitOffset(-1), -8); MultiPixelPackedSampleModel m2 = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 8, 4, 16); harness.check(m2.getBitOffset(0), 16); harness.check(m2.getBitOffset(1), 24); harness.check(m2.getBitOffset(2), 0); harness.check(m2.getBitOffset(3), 8); harness.check(m2.getBitOffset(4), 16); harness.check(m2.getBitOffset(5), 24); harness.check(m2.getBitOffset(6), 0); harness.check(m2.getBitOffset(7), 8); harness.check(m2.getBitOffset(8), 16); harness.check(m2.getBitOffset(9), 24); harness.check(m2.getBitOffset(-1), 8); MultiPixelPackedSampleModel m3 = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 16); harness.check(m3.getBitOffset(0), 0); harness.check(m3.getBitOffset(1), 16); harness.check(m3.getBitOffset(2), 0); harness.check(m3.getBitOffset(3), 16); harness.check(m3.getBitOffset(4), 0); harness.check(m3.getBitOffset(5), 16); harness.check(m3.getBitOffset(6), 0); harness.check(m3.getBitOffset(7), 16); harness.check(m3.getBitOffset(8), 0); harness.check(m3.getBitOffset(9), 16); harness.check(m3.getBitOffset(-1), -16); } } mauve-20140821/gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/getSampleSize.java0000644000175000001440000000646510455723312030003 0ustar dokousers/* getSampleSize.java -- some checks for the getSampleSize() method in the MultiPixelPackedSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.MultiPixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.MultiPixelPackedSampleModel; public class getSampleSize implements Testlet { public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("()"); MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 1); harness.check(m.getSampleSize()[0], 1); m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_INT, 10, 20, 2); harness.check(m.getSampleSize()[0], 2); m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_INT, 10, 20, 4); harness.check(m.getSampleSize()[0], 4); m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_INT, 10, 20, 8); harness.check(m.getSampleSize()[0], 8); m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_INT, 10, 20, 16); harness.check(m.getSampleSize()[0], 16); m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_INT, 10, 20, 32); harness.check(m.getSampleSize()[0], 32); // check that the returned array can't be used to modify the model's // internal state int[] sizes = m.getSampleSize(); harness.check(sizes[0], 32); sizes[0] = 99; int[] sizes2 = m.getSampleSize(); harness.check(sizes != sizes2); harness.check(sizes2[0], 32); } public void testMethod2(TestHarness harness) { harness.checkPoint("(int)"); MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 1); harness.check(m.getSampleSize(0), 1); m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_INT, 10, 20, 2); harness.check(m.getSampleSize(0), 2); m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_INT, 10, 20, 4); harness.check(m.getSampleSize(0), 4); m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_INT, 10, 20, 8); harness.check(m.getSampleSize(0), 8); m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_INT, 10, 20, 16); harness.check(m.getSampleSize(0), 16); m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_INT, 10, 20, 32); harness.check(m.getSampleSize(0), 32); // try invalid band - the band is ignored harness.check(m.getSampleSize(-1), 32); harness.check(m.getSampleSize(1), 32); } } mauve-20140821/gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/createSubsetSampleModel.java0000644000175000001440000000464010455723312031774 0ustar dokousers/* createSubsetSampleModel.java -- some checks for the createSubsetSampleModel() method in the MultiPixelPackedSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JD1.4 package gnu.testlet.java.awt.image.MultiPixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.MultiPixelPackedSampleModel; import java.awt.image.RasterFormatException; public class createSubsetSampleModel implements Testlet { public void test(TestHarness harness) { MultiPixelPackedSampleModel m1 = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 8); MultiPixelPackedSampleModel m2 = (MultiPixelPackedSampleModel) m1.createSubsetSampleModel( new int[] {2}); harness.check(m2.getDataType(), DataBuffer.TYPE_INT); harness.check(m2.getWidth(), 10); harness.check(m2.getHeight(), 20); harness.check(m2.getNumBands(), 1); // try array length > 1 boolean pass = false; try { m1.createSubsetSampleModel(new int[] {2, 3}); } catch (RasterFormatException e) { pass = true; } harness.check(pass); // try null argument MultiPixelPackedSampleModel m3 = (MultiPixelPackedSampleModel) m1.createSubsetSampleModel(null); harness.check(m3.getDataType(), DataBuffer.TYPE_INT); harness.check(m3.getWidth(), 10); harness.check(m3.getHeight(), 20); harness.check(m3.getNumBands(), 1); } } mauve-20140821/gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/hashCode.java0000644000175000001440000000305510455723312026735 0ustar dokousers/* hashCode.java -- some checks for the hashCode() method in the MultiPixelPackedSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.MultiPixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.MultiPixelPackedSampleModel; public class hashCode implements Testlet { public void test(TestHarness harness) { // equal instances should have equal hashCodes... MultiPixelPackedSampleModel m1 = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 8, 5, 1); MultiPixelPackedSampleModel m2 = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 8, 5, 1); harness.check(m1.equals(m2)); harness.check(m1.hashCode(), m2.hashCode()); } } mauve-20140821/gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/setPixel.java0000644000175000001440000000443010455723312027012 0ustar dokousers/* setPixel.java -- some checks for the setPixel() method in the MultiPixelPackedSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.MultiPixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.MultiPixelPackedSampleModel; public class setPixel implements Testlet { public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 8); DataBuffer db = m.createDataBuffer(); m.setPixel(0, 1, new int[] {0xAA}, db); m.setPixel(1, 1, new int[] {0xBB}, db); m.setPixel(2, 1, new int[] {0xCC}, db); m.setPixel(3, 1, new int[] {0xDD}, db); harness.check(db.getElem(3), 0xAABBCCDD); // try null db boolean pass = false; try { m.setPixel(3, 1, new int[] {0xAA}, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void test2(TestHarness harness) { MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 8, 4, 16); DataBuffer db = m.createDataBuffer(); m.setPixel(2, 1, new int[] {0xAA}, db); m.setPixel(3, 1, new int[] {0xBB}, db); m.setPixel(4, 1, new int[] {0xCC}, db); m.setPixel(5, 1, new int[] {0xDD}, db); harness.check(db.getElem(5), 0xAABBCCDD); } } mauve-20140821/gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/getTransferType.java0000644000175000001440000000723510455723312030351 0ustar dokousers/* getTransferType.java -- some checks for the getTransferType() method in the MultiPixelPackedSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.MultiPixelPackedSampleModel; import java.awt.image.DataBuffer; import java.awt.image.MultiPixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getTransferType implements Testlet { public void test(TestHarness harness) { testBYTE(harness); testUSHORT(harness); testINT(harness); } public void testBYTE(TestHarness harness) { harness.checkPoint("testBYTE()"); MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel( DataBuffer.TYPE_BYTE, 10, 20, 1); harness.check(m.getTransferType(), DataBuffer.TYPE_BYTE); m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, 2); harness.check(m.getTransferType(), DataBuffer.TYPE_BYTE); m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, 4); harness.check(m.getTransferType(), DataBuffer.TYPE_BYTE); m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, 10, 20, 8); harness.check(m.getTransferType(), DataBuffer.TYPE_BYTE); } public void testUSHORT(TestHarness harness) { harness.checkPoint("testUSHORT()"); MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel( DataBuffer.TYPE_USHORT, 10, 20, 1); harness.check(m.getTransferType(), DataBuffer.TYPE_BYTE); m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_USHORT, 10, 20, 2); harness.check(m.getTransferType(), DataBuffer.TYPE_BYTE); m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_USHORT, 10, 20, 4); harness.check(m.getTransferType(), DataBuffer.TYPE_BYTE); m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_USHORT, 10, 20, 8); harness.check(m.getTransferType(), DataBuffer.TYPE_BYTE); m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_USHORT, 10, 20, 16); harness.check(m.getTransferType(), DataBuffer.TYPE_USHORT); } public void testINT(TestHarness harness) { harness.checkPoint("testINT()"); MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 1); harness.check(m.getTransferType(), DataBuffer.TYPE_BYTE); m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_INT, 10, 20, 2); harness.check(m.getTransferType(), DataBuffer.TYPE_BYTE); m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_INT, 10, 20, 4); harness.check(m.getTransferType(), DataBuffer.TYPE_BYTE); m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_INT, 10, 20, 8); harness.check(m.getTransferType(), DataBuffer.TYPE_BYTE); m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_INT, 10, 20, 16); harness.check(m.getTransferType(), DataBuffer.TYPE_USHORT); m = new MultiPixelPackedSampleModel(DataBuffer.TYPE_INT, 10, 20, 32); harness.check(m.getTransferType(), DataBuffer.TYPE_INT); } } mauve-20140821/gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/getScanlineStride.java0000644000175000001440000000301510455723312030622 0ustar dokousers/* getScanlineStride.java -- some checks for the getScanlineStride() method in the MultiPixelPackedSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.MultiPixelPackedSampleModel; import java.awt.image.DataBuffer; import java.awt.image.MultiPixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getScanlineStride implements Testlet { public void test(TestHarness harness) { MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 8); harness.check(m.getScanlineStride(), 3); MultiPixelPackedSampleModel m2 = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 8, 4, 16); harness.check(m2.getScanlineStride(), 4); } } mauve-20140821/gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/getDataElements.java0000644000175000001440000000553710455742212030274 0ustar dokousers/* getDataElements.java -- some checks for the getDataElements() method in the MultiPixelPackedSampleModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.image.MultiPixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.MultiPixelPackedSampleModel; public class getDataElements implements Testlet { public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("test1()"); MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 8); DataBuffer db = m.createDataBuffer(); db.setElem(3, 0xAABBCCDD); byte[] elements = (byte[]) m.getDataElements(0, 1, null, db); harness.check(elements.length, 1); harness.check(elements[0], (byte) 0xAA); elements = (byte[]) m.getDataElements(1, 1, null, db); harness.check(elements.length, 1); harness.check(elements[0], (byte) 0xBB); elements = (byte[]) m.getDataElements(2, 1, null, db); harness.check(elements.length, 1); harness.check(elements[0], (byte) 0xCC); elements = (byte[]) m.getDataElements(3, 1, null, db); harness.check(elements.length, 1); harness.check(elements[0], (byte) 0xDD); // try null db boolean pass = false; try { m.getDataElements(3, 1, null, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void test2(TestHarness harness) { harness.checkPoint("test2()"); MultiPixelPackedSampleModel m = new MultiPixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, 16); DataBuffer db = m.createDataBuffer(); db.setElem(5, 0xAABBCCDD); short[] elements = (short[]) m.getDataElements(0, 1, null, db); harness.check(elements.length, 1); harness.check(elements[0], (short) 0xAABB); elements = (short[]) m.getDataElements(1, 1, null, db); harness.check(elements.length, 1); harness.check(elements[0], (short) 0xCCDD); } } mauve-20140821/gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/0000755000175000001440000000000012375316426024507 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/constructors.java0000644000175000001440000001404310134060310030077 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.SinglePixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.SinglePixelPackedSampleModel; /** * Some checks for the constructors in the {@link SinglePixelPackedSampleModel} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); } private void testConstructor1(TestHarness harness) { harness.checkPoint("(int, int, int, int[])"); SinglePixelPackedSampleModel m1 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_BYTE, 1, 2, new int[] { 224, 28, 3 } ); harness.check(m1.getDataType(), DataBuffer.TYPE_BYTE); // check 1 harness.check(m1.getWidth(), 1); // check 2 harness.check(m1.getHeight(), 2); // check 3 harness.check(m1.getNumBands(), 3); // check 4 // unsupported data type should throw an IllegalArgumentException try // check 5 { /* SampleModel m2 = */ new SinglePixelPackedSampleModel( DataBuffer.TYPE_DOUBLE, 1, 2, new int[] { 224, 28, 3 } ); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // if 'w' is <= 0 there should be an IllegalArgumentException try // check 6 { /* SampleModel m2 = */ new SinglePixelPackedSampleModel( DataBuffer.TYPE_BYTE, 0, 2, new int[] { 224, 28, 3 } ); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // if 'h' is <= 0 there should be an IllegalArgumentException try // check 7 { /* SampleModel m2 = */ new SinglePixelPackedSampleModel( DataBuffer.TYPE_BYTE, 1, 0, new int[] { 224, 28, 3 } ); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // if mask array is empty there should be an IllegalArgumentException try // check 8 { /* SampleModel m2 = */ new SinglePixelPackedSampleModel( DataBuffer.TYPE_BYTE, 1, 2, new int[] { } ); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // if mask array contains a non-contiguous mask there should be an IllegalArgumentException try { /* SampleModel m2 = */ new SinglePixelPackedSampleModel( DataBuffer.TYPE_BYTE, 1, 2, new int[] { 224, 27, 3 } ); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } private void testConstructor2(TestHarness harness) { harness.checkPoint("(int, int, int, int, int[])"); SinglePixelPackedSampleModel m1 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_BYTE, 1, 2, 3, new int[] { 224, 28, 3 } ); harness.check(m1.getDataType(), DataBuffer.TYPE_BYTE); // check 1 harness.check(m1.getWidth(), 1); // check 2 harness.check(m1.getHeight(), 2); // check 3 harness.check(m1.getNumBands(), 3); // check 4 // unsupported data type should throw an IllegalArgumentException try { /* SampleModel m2 = */ new SinglePixelPackedSampleModel( DataBuffer.TYPE_DOUBLE, 1, 2, 3, new int[] { 224, 28, 3 } ); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // if 'w' is <= 0 there should be an IllegalArgumentException try { /* SampleModel m2 = */ new SinglePixelPackedSampleModel( DataBuffer.TYPE_BYTE, 0, 2, 3, new int[] { 224, 28, 3 } ); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // if 'h' is <= 0 there should be an IllegalArgumentException try { /* SampleModel m2 = */ new SinglePixelPackedSampleModel( DataBuffer.TYPE_BYTE, 1, 0, 3, new int[] { 224, 28, 3 } ); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // if mask array is empty there should be an IllegalArgumentException try { /* SampleModel m2 = */ new SinglePixelPackedSampleModel( DataBuffer.TYPE_BYTE, 1, 2, 3, new int[] { } ); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // if mask array contains a non-contiguous mask there should be an IllegalArgumentException try { /* SampleModel m2 = */ new SinglePixelPackedSampleModel( DataBuffer.TYPE_BYTE, 1, 2, new int[] { 224, 27, 3 } ); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/equals.java0000644000175000001440000000647610145745331026653 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.SinglePixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.SinglePixelPackedSampleModel; /** * Some checks for the equals() method in the * {@link SinglePixelPackedSampleModel} class. */ public class equals implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SinglePixelPackedSampleModel m1 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_BYTE, 1, 2, new int[] { 224, 28, 3 } ); SinglePixelPackedSampleModel m2 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_BYTE, 1, 2, new int[] { 224, 28, 3 } ); harness.check(m1.equals(m2)); // check 1 harness.check(m2.equals(m1)); // check 2 harness.check(!m1.equals(null)); // check 3 // check that all fields are distinguished... // dataType m1 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, 1, 2, new int[] { 224, 28, 3 } ); harness.check(!m1.equals(m2)); m2 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, 1, 2, new int[] { 224, 28, 3 } ); harness.check(m1.equals(m2)); // w m1 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, 5, 2, new int[] { 224, 28, 3 } ); harness.check(!m1.equals(m2)); m2 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, 5, 2, new int[] { 224, 28, 3 } ); harness.check(m1.equals(m2)); // h m1 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, 5, 10, new int[] { 224, 28, 3 } ); harness.check(!m1.equals(m2)); m2 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, 5, 10, new int[] { 224, 28, 3 } ); harness.check(m1.equals(m2)); // bitmasks m1 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, 5, 10, new int[] { 224, 24, 7 } ); harness.check(!m1.equals(m2)); m2 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, 5, 10, new int[] { 224, 24, 7 } ); harness.check(m1.equals(m2)); // scanline stride m1 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, 5, 10, 99, new int[] {224, 24, 7 } ); harness.check(!m1.equals(m2)); m2 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, 5, 10, 99, new int[] {224, 24, 7 } ); harness.check(m1.equals(m2)); } } mauve-20140821/gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/setSample.java0000644000175000001440000002264110134060310027267 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.SinglePixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.DataBufferByte; import java.awt.image.DataBufferInt; import java.awt.image.DataBufferUShort; import java.awt.image.SinglePixelPackedSampleModel; /** * Some checks for the setSample() method in the * {@link SinglePixelPackedSampleModel} class. */ public class setSample implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testByte(harness); testUShort(harness); testInt(harness); } private void testByte(TestHarness harness) { harness.checkPoint("(int, int, int, int, DataBuffer(Byte))"); SinglePixelPackedSampleModel m1 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_BYTE, 2, 3, new int[] { 0xF0, 0x0F } ); byte[] b = new byte[] { (byte) 0x11, (byte) 0x22, (byte) 0x33, (byte) 0x44, (byte) 0x55, (byte) 0x66 }; DataBuffer db = new DataBufferByte(b, 6); // set a value m1.setSample(0, 0, 1, 0x07, db); m1.setSample(1, 0, 1, 0x08, db); m1.setSample(0, 1, 1, 0x09, db); m1.setSample(1, 1, 1, 0x0A, db); m1.setSample(0, 2, 1, 0x0B, db); m1.setSample(1, 2, 1, 0x0C, db); harness.check(db.getElem(0), 0x17); harness.check(db.getElem(1), 0x28); harness.check(db.getElem(2), 0x39); harness.check(db.getElem(3), 0x4A); harness.check(db.getElem(4), 0x5B); harness.check(db.getElem(5), 0x6C); // set a value with non-standard scanline stride SinglePixelPackedSampleModel m2 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_BYTE, 2, 2, 3, new int[] { 0xF0, 0x0F } ); m2.setSample(0, 0, 0, 0x04, db); m2.setSample(1, 0, 0, 0x03, db); m2.setSample(0, 1, 0, 0x02, db); m2.setSample(1, 1, 0, 0x01, db); m2.setSample(0, 0, 1, 0x01, db); m2.setSample(1, 0, 1, 0x02, db); m2.setSample(0, 1, 1, 0x03, db); m2.setSample(1, 1, 1, 0x04, db); harness.check(db.getElem(0), 0x41); harness.check(db.getElem(1), 0x32); harness.check(db.getElem(3), 0x23); harness.check(db.getElem(4), 0x14); // set a value with x < 0 try { m1.setSample(-1, 0, 0, 0x10, db); harness.check(false); // should not get here } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // set a value with y < 0 try { m1.setSample(0, -1, 0, 0x10, db); harness.check(false); // should not get here } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // set a value with sample index < 0 try { m1.setSample(0, 0, -1, 0x10, db); harness.check(false); // should not get here } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // set a value with null data buffer try { m1.setSample(0, 0, 0, 0x01, null); harness.check(false); // should not get here } catch (NullPointerException e) { harness.check(true); } } private void testUShort(TestHarness harness) { harness.checkPoint("(int, int, int, int, DataBuffer(UShort))"); SinglePixelPackedSampleModel m1 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_USHORT, 2, 3, new int[] { 0xFF00, 0x00FF } ); short[] s = new short[] { (short) 0x1111, (short) 0x2222, (short) 0x3333, (short) 0x4444, (short) 0x5555, (short) 0x6666 }; DataBuffer db = new DataBufferUShort(s, 6); // set a value m1.setSample(0, 0, 0, 0x00CC, db); m1.setSample(1, 0, 0, 0x00BB, db); m1.setSample(0, 1, 0, 0x00AA, db); m1.setSample(1, 1, 0, 0x0099, db); m1.setSample(0, 2, 0, 0x0088, db); m1.setSample(1, 2, 0, 0x0077, db); m1.setSample(0, 0, 1, 0x0077, db); m1.setSample(1, 0, 1, 0x0088, db); m1.setSample(0, 1, 1, 0x0099, db); m1.setSample(1, 1, 1, 0x00AA, db); m1.setSample(0, 2, 1, 0x00BB, db); m1.setSample(1, 2, 1, 0x00CC, db); harness.check(db.getElem(0), 0xCC77); harness.check(db.getElem(1), 0xBB88); harness.check(db.getElem(2), 0xAA99); harness.check(db.getElem(3), 0x99AA); harness.check(db.getElem(4), 0x88BB); harness.check(db.getElem(5), 0x77CC); // set a value with non-standard scanline stride SinglePixelPackedSampleModel m2 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_USHORT, 2, 2, 3, new int[] { 0xFF00, 0x00FF } ); m2.setSample(0, 0, 0, 0x0044, db); m2.setSample(1, 0, 0, 0x0033, db); m2.setSample(0, 1, 0, 0x0022, db); m2.setSample(1, 1, 0, 0x0011, db); m2.setSample(0, 0, 1, 0x0011, db); m2.setSample(1, 0, 1, 0x0022, db); m2.setSample(0, 1, 1, 0x0033, db); m2.setSample(1, 1, 1, 0x0044, db); harness.check(db.getElem(0), 0x4411); harness.check(db.getElem(1), 0x3322); harness.check(db.getElem(3), 0x2233); harness.check(db.getElem(4), 0x1144); // set a value with x < 0 try { m1.setSample(-1, 0, 0, 0x0044, db); harness.check(false); // should not get here } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // set a value with y < 0 try { m1.setSample(0, -1, 0, 0x0044, db); harness.check(false); // should not get here } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // set a value with sample index < 0 try { m1.setSample(0, 0, -1, 0x0044, db); harness.check(false); // should not get here } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // set a value with null data buffer try { m1.setSample(0, 0, 0, 0x0044, null); harness.check(false); // should not get here } catch (NullPointerException e) { harness.check(true); } } private void testInt(TestHarness harness) { harness.checkPoint("(int, int, int, int, DataBuffer(Int))"); SinglePixelPackedSampleModel m1 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, 2, 3, new int[] { 0xFFFF0000, 0x0000FFFF } ); int[] i = new int[] { 0x1111, 0x2222, 0x3333, 0x4444, 0x5555, 0x6666 }; DataBuffer db = new DataBufferInt(i, 6); // set a value m1.setSample(0, 0, 0, 0x00CC, db); m1.setSample(1, 0, 0, 0x00BB, db); m1.setSample(0, 1, 0, 0x00AA, db); m1.setSample(1, 1, 0, 0x0099, db); m1.setSample(0, 2, 0, 0x0088, db); m1.setSample(1, 2, 0, 0x0077, db); m1.setSample(0, 0, 1, 0x0077, db); m1.setSample(1, 0, 1, 0x0088, db); m1.setSample(0, 1, 1, 0x0099, db); m1.setSample(1, 1, 1, 0x00AA, db); m1.setSample(0, 2, 1, 0x00BB, db); m1.setSample(1, 2, 1, 0x00CC, db); harness.check(db.getElem(0), 0x00CC0077); harness.check(db.getElem(1), 0x00BB0088); harness.check(db.getElem(2), 0x00AA0099); harness.check(db.getElem(3), 0x009900AA); harness.check(db.getElem(4), 0x008800BB); harness.check(db.getElem(5), 0x007700CC); // set a value with non-standard scanline stride SinglePixelPackedSampleModel m2 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, 2, 2, 3, new int[] { 0xFFFF0000, 0x0000FFFF } ); m2.setSample(0, 0, 0, 0x0044, db); m2.setSample(1, 0, 0, 0x0033, db); m2.setSample(0, 1, 0, 0x0022, db); m2.setSample(1, 1, 0, 0x0011, db); m2.setSample(0, 0, 1, 0x0011, db); m2.setSample(1, 0, 1, 0x0022, db); m2.setSample(0, 1, 1, 0x0033, db); m2.setSample(1, 1, 1, 0x0044, db); harness.check(db.getElem(0), 0x00440011); harness.check(db.getElem(1), 0x00330022); harness.check(db.getElem(3), 0x00220033); harness.check(db.getElem(4), 0x00110044); // set a value with x < 0 try { m1.setSample(-1, 0, 0, 0x10, db); harness.check(false); // should not get here } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // set a value with y < 0 try { m1.setSample(0, -1, 0, 0x10, db); harness.check(false); // should not get here } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // set a value with sample index < 0 try { m1.setSample(0, 0, -1, 0x10, db); harness.check(false); // should not get here } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // set a value with null data buffer try { m1.setSample(0, 0, 0, 0x10, null); harness.check(false); // should not get here } catch (NullPointerException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/getOffset.java0000644000175000001440000000320610134060310027254 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.SinglePixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.SinglePixelPackedSampleModel; /** * Some checks for the getOffset() method in the * {@link SinglePixelPackedSampleModel} class. */ public class getOffset implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SinglePixelPackedSampleModel m1 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_BYTE, 2, 2, new int[] { 224, 28, 3 } ); harness.check(m1.getOffset(0, 0), 0); harness.check(m1.getOffset(1, 0), 1); harness.check(m1.getOffset(0, 1), 2); harness.check(m1.getOffset(1, 1), 3); } } mauve-20140821/gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/createDataBuffer.java0000644000175000001440000001100607776552225030547 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.SinglePixelPackedSampleModel; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.image.DataBuffer; import java.awt.image.DataBufferByte; import java.awt.image.DataBufferInt; import java.awt.image.DataBufferUShort; import java.awt.image.SinglePixelPackedSampleModel; /** * Checks whether SinglePixelPackedSampleModel.createDataBuffer works. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class createDataBuffer implements Testlet { public void test(TestHarness harness) { testInt(harness); testUShort(harness); testByte(harness); } private void testInt(TestHarness harness) { SinglePixelPackedSampleModel sm; DataBuffer dbuf; int[] bitMasks; harness.checkPoint("TYPE_INT"); bitMasks = new int[] { 0xff00, 0xff }; sm = new SinglePixelPackedSampleModel(DataBuffer.TYPE_INT, 51, 83, bitMasks); dbuf = sm.createDataBuffer(); // Check #1 harness.check(dbuf instanceof DataBufferInt); // Check #2 harness.check(dbuf.getDataType(), DataBuffer.TYPE_INT); // Check #3 harness.check(dbuf.getNumBanks(), 1); // Check #4 harness.check(dbuf.getOffset(), 0); // Check #5 harness.check(dbuf.getSize(), /* width * height */ 51 * 83); // Check #6 sm = new SinglePixelPackedSampleModel(DataBuffer.TYPE_INT, 51, 83, /* stride */ 91, bitMasks); dbuf = sm.createDataBuffer(); harness.check(dbuf.getSize(), /* (stride * (height - 1)) + width */ 91 * 82 + 51); } private void testUShort(TestHarness harness) { SinglePixelPackedSampleModel sm; DataBuffer dbuf; int[] bitMasks; harness.checkPoint("TYPE_USHORT"); bitMasks = new int[] { 0x0f00, 0xf000 }; sm = new SinglePixelPackedSampleModel(DataBuffer.TYPE_USHORT, 42, 10, bitMasks); dbuf = sm.createDataBuffer(); // Check #1 harness.check(dbuf instanceof DataBufferUShort); // Check #2 harness.check(dbuf.getDataType(), DataBuffer.TYPE_USHORT); // Check #3 harness.check(dbuf.getNumBanks(), 1); // Check #4 harness.check(dbuf.getOffset(), 0); // Check #5 harness.check(dbuf.getSize(), /* width * height */ 42 * 10); // Check #6 sm = new SinglePixelPackedSampleModel(DataBuffer.TYPE_USHORT, 42, 10, /* stride */ 31, bitMasks); dbuf = sm.createDataBuffer(); harness.check(dbuf.getSize(), /* (stride * (height - 1)) + width */ 31 * 9 + 42); } private void testByte(TestHarness harness) { SinglePixelPackedSampleModel sm; DataBuffer dbuf; int[] bitMasks; harness.checkPoint("TYPE_BYTE"); bitMasks = new int[] { 0xf0, 0x08, 0x6, 0x1 }; sm = new SinglePixelPackedSampleModel(DataBuffer.TYPE_BYTE, 5, 3, bitMasks); dbuf = sm.createDataBuffer(); // Check #1 harness.check(dbuf instanceof DataBufferByte); // Check #2 harness.check(dbuf.getDataType(), DataBuffer.TYPE_BYTE); // Check #3 harness.check(dbuf.getNumBanks(), 1); // Check #4 harness.check(dbuf.getOffset(), 0); // Check #5 harness.check(dbuf.getSize(), /* width * height */ 5 * 3); // Check #6 sm = new SinglePixelPackedSampleModel(DataBuffer.TYPE_USHORT, 5, 3, /* stride */ 7, bitMasks); dbuf = sm.createDataBuffer(); harness.check(dbuf.getSize(), /* (stride * (height - 1)) + width */ 7 * 2 + 5); } } mauve-20140821/gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/getSample.java0000644000175000001440000000454110134060310027252 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.SinglePixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.DataBufferByte; import java.awt.image.SinglePixelPackedSampleModel; /** * Some checks for the getSample() method in the * {@link SinglePixelPackedSampleModel} class. */ public class getSample implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SinglePixelPackedSampleModel m1 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_BYTE, 2, 2, new int[] { 0xF0, 0x0F } ); DataBufferByte db = new DataBufferByte(new byte[] { (byte) 0x12, (byte) 0x34, (byte) 0xAB, (byte) 0xCD }, 4); // check regular fetch int sample = m1.getSample(1, 1, 1, db); harness.check(sample, 0x0D); // check regular fetch with negative x try { sample = m1.getSample(-2, 0, 0, db); harness.check(false); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // check regular fetch with negative y try { sample = m1.getSample(0, -1, 0, db); harness.check(false); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // check null data buffer try { sample = m1.getSample(0, 0, 0, null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/setDataElements.java0000644000175000001440000002471510134060310030420 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.SinglePixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.DataBufferByte; import java.awt.image.DataBufferInt; import java.awt.image.DataBufferUShort; import java.awt.image.SinglePixelPackedSampleModel; /** * Some checks for the setDataElements() method in the * {@link SinglePixelPackedSampleModel} class. */ public class setDataElements implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testByte(harness); testUShort(harness); testInt(harness); } private void testByte(TestHarness harness) { harness.checkPoint("(int, int, Object, DataBuffer(Byte))"); SinglePixelPackedSampleModel m1 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_BYTE, 2, 3, new int[] { 0xF0, 0x0F } ); byte[] b = new byte[] { (byte) 0x11, (byte) 0x22, (byte) 0x33, (byte) 0x44, (byte) 0x55, (byte) 0x66 }; DataBuffer db = new DataBufferByte(b, 6); // set a value m1.setDataElements(0, 0, new byte[] { (byte) 0x77 }, db); m1.setDataElements(1, 0, new byte[] { (byte) 0x88 }, db); m1.setDataElements(0, 1, new byte[] { (byte) 0x99 }, db); m1.setDataElements(1, 1, new byte[] { (byte) 0xAA }, db); m1.setDataElements(0, 2, new byte[] { (byte) 0xBB }, db); m1.setDataElements(1, 2, new byte[] { (byte) 0xCC }, db); harness.check(db.getElem(0), 0x77); harness.check(db.getElem(1), 0x88); harness.check(db.getElem(2), 0x99); harness.check(db.getElem(3), 0xAA); harness.check(db.getElem(4), 0xBB); harness.check(db.getElem(5), 0xCC); // set a value with non-standard scanline stride SinglePixelPackedSampleModel m2 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_BYTE, 2, 2, 3, new int[] { 0xF0, 0x0F } ); m2.setDataElements(0, 0, new byte[] { (byte) 0x11 }, db); m2.setDataElements(1, 0, new byte[] { (byte) 0x22 }, db); m2.setDataElements(0, 1, new byte[] { (byte) 0x33 }, db); m2.setDataElements(1, 1, new byte[] { (byte) 0x44 }, db); harness.check(db.getElem(0), 0x11); harness.check(db.getElem(1), 0x22); harness.check(db.getElem(3), 0x33); harness.check(db.getElem(4), 0x44); // set a value with x < 0 try { m1.setDataElements(-1, 0, new byte[] { (byte) 0x99}, db); harness.check(false); // should not get here } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // set a value with y < 0 try { m1.setDataElements(0, -1, new byte[] { (byte) 0x99}, db); harness.check(false); // should not get here } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // set a value with wrong transfer type try { m1.setDataElements(0, 0, new int[] { (int) 0x99}, db); harness.check(false); // should not get here } catch (ClassCastException e) { harness.check(true); } // set a value with transfer array too small try { m1.setDataElements(0, 0, new byte[] {}, db); harness.check(false); // should not get here } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // set a value with null data buffer try { m1.setDataElements(0, 0, new byte[] { (byte) 0x99 }, null); harness.check(false); // should not get here } catch (NullPointerException e) { harness.check(true); } } private void testUShort(TestHarness harness) { harness.checkPoint("(int, int, Object, DataBuffer(UShort))"); SinglePixelPackedSampleModel m1 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_USHORT, 2, 3, new int[] { 0xFF00, 0x00FF } ); short[] s = new short[] { (short) 0x1111, (short) 0x2222, (short) 0x3333, (short) 0x4444, (short) 0x5555, (short) 0x6666 }; DataBuffer db = new DataBufferUShort(s, 6); // set a value m1.setDataElements(0, 0, new short[] { (short) 0x7777 }, db); m1.setDataElements(1, 0, new short[] { (short) 0x8888 }, db); m1.setDataElements(0, 1, new short[] { (short) 0x9999 }, db); m1.setDataElements(1, 1, new short[] { (short) 0xAAAA }, db); m1.setDataElements(0, 2, new short[] { (short) 0xBBBB }, db); m1.setDataElements(1, 2, new short[] { (short) 0xCCCC }, db); harness.check(db.getElem(0), 0x7777); harness.check(db.getElem(1), 0x8888); harness.check(db.getElem(2), 0x9999); harness.check(db.getElem(3), 0xAAAA); harness.check(db.getElem(4), 0xBBBB); harness.check(db.getElem(5), 0xCCCC); // set a value with non-standard scanline stride SinglePixelPackedSampleModel m2 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_USHORT, 2, 2, 3, new int[] { 0xFF00, 0x00FF } ); m2.setDataElements(0, 0, new short[] { (short) 0x1111 }, db); m2.setDataElements(1, 0, new short[] { (short) 0x2222 }, db); m2.setDataElements(0, 1, new short[] { (short) 0x3333 }, db); m2.setDataElements(1, 1, new short[] { (short) 0x4444 }, db); harness.check(db.getElem(0), 0x1111); harness.check(db.getElem(1), 0x2222); harness.check(db.getElem(3), 0x3333); harness.check(db.getElem(4), 0x4444); // set a value with x < 0 try { m1.setDataElements(-1, 0, new short[] { (short) 0x9999 }, db); harness.check(false); // should not get here } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // set a value with y < 0 try { m1.setDataElements(0, -1, new short[] { (short) 0x9999 }, db); harness.check(false); // should not get here } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // set a value with wrong transfer type try { m1.setDataElements(0, 0, new int[] { (int) 0x9999 }, db); harness.check(false); // should not get here } catch (ClassCastException e) { harness.check(true); } // set a value with transfer array too small try { m1.setDataElements(0, 0, new short[] {}, db); harness.check(false); // should not get here } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // set a value with null data buffer try { m1.setDataElements(0, 0, new short[] { (short) 0x9999 }, null); harness.check(false); // should not get here } catch (NullPointerException e) { harness.check(true); } } private void testInt(TestHarness harness) { harness.checkPoint("(int, int, Object, DataBuffer(Int))"); SinglePixelPackedSampleModel m1 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, 2, 3, new int[] { 0xFFFF00, 0x00FFFF } ); int[] i = new int[] { (int) 0x11111111, (int) 0x22222222, (int) 0x33333333, (int) 0x44444444, (int) 0x55555555, (int) 0x66666666 }; DataBuffer db = new DataBufferInt(i, 6); // set a value m1.setDataElements(0, 0, new int[] { (int) 0x77777777 }, db); m1.setDataElements(1, 0, new int[] { (int) 0x88888888 }, db); m1.setDataElements(0, 1, new int[] { (int) 0x99999999 }, db); m1.setDataElements(1, 1, new int[] { (int) 0xAAAAAAAA }, db); m1.setDataElements(0, 2, new int[] { (int) 0xBBBBBBBB }, db); m1.setDataElements(1, 2, new int[] { (int) 0xCCCCCCCC }, db); harness.check(db.getElem(0), 0x77777777); harness.check(db.getElem(1), 0x88888888); harness.check(db.getElem(2), 0x99999999); harness.check(db.getElem(3), 0xAAAAAAAA); harness.check(db.getElem(4), 0xBBBBBBBB); harness.check(db.getElem(5), 0xCCCCCCCC); // set a value with non-standard scanline stride SinglePixelPackedSampleModel m2 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, 2, 2, 3, new int[] { 0xFFFF00, 0x00FFFF } ); m2.setDataElements(0, 0, new int[] { (int) 0x11111111 }, db); m2.setDataElements(1, 0, new int[] { (int) 0x22222222 }, db); m2.setDataElements(0, 1, new int[] { (int) 0x33333333 }, db); m2.setDataElements(1, 1, new int[] { (int) 0x44444444 }, db); harness.check(db.getElem(0), 0x11111111); harness.check(db.getElem(1), 0x22222222); harness.check(db.getElem(3), 0x33333333); harness.check(db.getElem(4), 0x44444444); // set a value with x < 0 try { m1.setDataElements(-1, 0, new int[] { (int) 0x9999 }, db); harness.check(false); // should not get here } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // set a value with y < 0 try { m1.setDataElements(0, -1, new int[] { (int) 0x9999 }, db); harness.check(false); // should not get here } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // set a value with wrong transfer type try { m1.setDataElements(0, 0, new short[] { (short) 0x9999 }, db); harness.check(false); // should not get here } catch (ClassCastException e) { harness.check(true); } // set a value with transfer array too small try { m1.setDataElements(0, 0, new int[] {}, db); harness.check(false); // should not get here } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // set a value with null data buffer try { m1.setDataElements(0, 0, new int[] { (int) 0x9999 }, null); harness.check(false); // should not get here } catch (NullPointerException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/getPixel.java0000644000175000001440000000576710134060310027125 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.SinglePixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.DataBufferByte; import java.awt.image.SinglePixelPackedSampleModel; /** * Some checks for the getPixel() method in the * {@link SinglePixelPackedSampleModel} class. */ public class getPixel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SinglePixelPackedSampleModel m1 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_BYTE, 2, 2, new int[] { 0xF0, 0x0F } ); DataBufferByte db = new DataBufferByte(new byte[] { (byte) 0x12, (byte) 0x34, (byte) 0xAB, (byte) 0xCD }, 4); // check regular fetch int[] samples = m1.getPixel(1, 1, (int[]) null, db); harness.check(samples[0], 0x0C); harness.check(samples[1], 0x0D); // check regular fetch with negative x try { samples = m1.getPixel(-2, 0, (int[]) null, db); harness.check(false); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // check regular fetch with negative y try { samples = m1.getPixel(0, -1, (int[]) null, db); harness.check(false); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // check regular fetch with presupplied array int[] samplesIn = new int[2]; int[] samplesOut = m1.getPixel(1, 1, samplesIn, db); harness.check(samplesIn == samplesOut); harness.check(samplesOut[0], 0x0C); harness.check(samplesOut[1], 0x0D); // check regular fetch with presupplied array too short int[] samplesIn2 = new int[1]; try { /* int[] samplesOut2 = */ m1.getPixel(1, 1, samplesIn2, db); harness.check(false); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // check null data buffer try { samples = m1.getPixel(0, 0, (int[]) null, null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } } } ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/createCompatibleSampleModel.javamauve-20140821/gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/createCompatibleSampleModel.j0000644000175000001440000000504110134060310032223 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.SinglePixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.SinglePixelPackedSampleModel; import java.util.Arrays; /** * Some checks for the createCompatibleSampleModel() method in the * {@link SinglePixelPackedSampleModel} class. */ public class createCompatibleSampleModel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SinglePixelPackedSampleModel m1 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_BYTE, 1, 2, new int[] { 224, 28, 3 } ); SinglePixelPackedSampleModel m2 = (SinglePixelPackedSampleModel) m1.createCompatibleSampleModel(5, 10); harness.check(m2.getDataType(), DataBuffer.TYPE_BYTE); // check 1 harness.check(m2.getWidth(), 5); // check 2 harness.check(m2.getHeight(), 10); // check 3 harness.check(m2.getNumBands(), 3); // check 4 harness.check(Arrays.equals(m1.getBitMasks(), m2.getBitMasks())); // check 5 // if 'w' is <= 0 there should be an IllegalArgumentException try { /* SampleModel m3 = */ m1.createCompatibleSampleModel(0, 10); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // if 'h' is <= 0 there should be an IllegalArgumentException try { /* SampleModel m4 = */ m1.createCompatibleSampleModel(5, 0); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/getBitOffsets.java0000644000175000001440000000311310134060310030073 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.SinglePixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.SinglePixelPackedSampleModel; import java.util.Arrays; /** * Some checks for the getBitOffsets() method in the * {@link SinglePixelPackedSampleModel} class. */ public class getBitOffsets implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SinglePixelPackedSampleModel m1 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_BYTE, 1, 2, new int[] { 224, 28, 3 } ); harness.check(Arrays.equals(m1.getBitOffsets(), new int[] { 5, 2, 0 })); } } mauve-20140821/gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/getPixels.java0000644000175000001440000001003610253352713027306 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.SinglePixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.DataBufferByte; import java.awt.image.SinglePixelPackedSampleModel; /** * Some checks for the getPixels() method in the * {@link SinglePixelPackedSampleModel} class. */ public class getPixels implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SinglePixelPackedSampleModel m1 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_BYTE, 2, 2, new int[] { 0xF0, 0x0F } ); DataBufferByte db = new DataBufferByte(new byte[] { (byte) 0x12, (byte) 0x34, (byte) 0xAB, (byte) 0xCD }, 4); // check regular fetch int[] samples = m1.getPixels(0, 0, 1, 2, (int[]) null, db); harness.check(samples[0], 0x01); // 1 harness.check(samples[1], 0x02); // 2 harness.check(samples[2], 0x0A); // 3 harness.check(samples[3], 0x0B); // 4 // check regular fetch with negative x try { samples = m1.getPixels(-1, 0, 1, 1, (int[]) null, db); harness.check(false); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // check regular fetch with negative y try { samples = m1.getPixels(0, -1, 1, 1, (int[]) null, db); harness.check(false); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // check regular fetch with w < 0 try { samples = m1.getPixels(0, 0, -1, 1, (int[]) null, db); harness.check(false); } catch (NegativeArraySizeException e) { harness.check(true); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // check regular fetch with h < 0 try { samples = m1.getPixels(0, 0, 1, -1, (int[]) null, db); harness.check(false); } catch (NegativeArraySizeException e) { harness.check(true); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // check regular fetch with presupplied array int[] samplesIn = new int[4]; int[] samplesOut = m1.getPixels(1, 0, 1, 2, samplesIn, db); harness.check(samplesIn == samplesOut); harness.check(samplesOut[0], 0x03); harness.check(samplesOut[1], 0x04); harness.check(samplesOut[2], 0x0C); harness.check(samplesOut[3], 0x0D); // check regular fetch with presupplied array too short int[] samplesIn2 = new int[1]; try { /* int[] samplesOut2 = */ m1.getPixels(1, 1, 1, 2, samplesIn2, db); harness.check(false); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // check null data buffer try { samples = m1.getPixels(0, 0, 1, 1, (int[]) null, null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } // check other array types try { float[] samples1 = m1.getPixels(0, 0, 1, 1, (float[]) null, db); harness.check(true); } catch (NullPointerException e) { harness.check(false); } } } mauve-20140821/gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/getSampleSize.java0000644000175000001440000000610710456714110030120 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Sascha Brawer // Copyright (C) 2006 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.java.awt.image.SinglePixelPackedSampleModel; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.image.DataBuffer; import java.awt.image.SinglePixelPackedSampleModel; /** * Checks whether SinglePixelPackedSampleModel.getSampleSize works. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getSampleSize implements Testlet { public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { SinglePixelPackedSampleModel sm; int[] bitMasks; bitMasks = new int[] { 0xf0, 0x08, 0x6, 0x1 }; sm = new SinglePixelPackedSampleModel(DataBuffer.TYPE_BYTE, 5, 3, bitMasks); // Check #1 harness.check(sm.getSampleSize(0), 4); // Check #2 harness.check(sm.getSampleSize(1), 1); // Check #3 harness.check(sm.getSampleSize(2), 2); // Check #4 harness.check(sm.getSampleSize(3), 1); // Check #5 try { sm.getSampleSize(4); harness.check(false); } catch (RuntimeException ex) { harness.check(true); } // Check #6 try { sm.getSampleSize(-1); harness.check(false); } catch (RuntimeException ex) { harness.check(true); } // Check #7 int[] sizes = sm.getSampleSize(); harness.check(sizes.length, 4); // Check #8 harness.check(sizes[0], 4); // Check #9 harness.check(sizes[1], 1); // Check #10 harness.check(sizes[2], 2); // Check #11 harness.check(sizes[3], 1); } public void test2(TestHarness harness) { SinglePixelPackedSampleModel m = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, 10, 20, new int[] {0xFF, 0xFF00, 0xFF0000, 0xFF000000}); int[] sizes = m.getSampleSize(); harness.check(sizes.length, 4); harness.check(sizes[0], 8); harness.check(sizes[1], 8); harness.check(sizes[2], 8); harness.check(sizes[3], 8); // if we alter the returned array, does that affect the model's state sizes[0] = 99; int[] sizes2 = m.getSampleSize(); harness.check(sizes2 != sizes); harness.check(sizes2[0], 8); } } mauve-20140821/gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/getBitMasks.java0000644000175000001440000000315410134060310027545 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.SinglePixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.SinglePixelPackedSampleModel; import java.util.Arrays; /** * Some checks for the getBitMasks() method in the * {@link SinglePixelPackedSampleModel} class. */ public class getBitMasks implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SinglePixelPackedSampleModel m1 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_BYTE, 1, 2, new int[] { 224, 28, 3 } ); harness.check(Arrays.equals(m1.getBitMasks(), new int[] { 224, 28, 3 })); // check 4 } } mauve-20140821/gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/createSubsetSampleModel.java0000644000175000001440000000532210134060310032103 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.SinglePixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.RasterFormatException; import java.awt.image.SinglePixelPackedSampleModel; import java.util.Arrays; /** * Some checks for the createSubsetampleModel() method in the * {@link SinglePixelPackedSampleModel} class. */ public class createSubsetSampleModel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SinglePixelPackedSampleModel m1 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_BYTE, 1, 2, new int[] { 224, 28, 3 } ); SinglePixelPackedSampleModel m2 = (SinglePixelPackedSampleModel) m1.createSubsetSampleModel(new int[] {0, 2}); harness.check(m2.getDataType(), DataBuffer.TYPE_BYTE); // check 1 harness.check(m2.getWidth(), 1); // check 2 harness.check(m2.getHeight(), 2); // check 3 harness.check(m2.getNumBands(), 2); // check 4 harness.check(Arrays.equals(new int[] { 224, 3 }, m2.getBitMasks())); // check 5 // if 'bands' contains an index outside the range there should be an ArrayIndexOutOfBoundsException try { /* SampleModel m3 = */ m1.createSubsetSampleModel(new int [] {0, 5}); harness.check(false); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // if 'bands' has more bands than original there should be a RasterFormatException try { /* SampleModel m3 = */ m1.createSubsetSampleModel(new int [] {0, 1, 2, 0}); harness.check(false); } catch (RasterFormatException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/hashCode.java0000644000175000001440000000337710134060310027055 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.SinglePixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.SinglePixelPackedSampleModel; /** * Some checks for the hashCode() method in the * {@link SinglePixelPackedSampleModel} class. */ public class hashCode implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // two instances that are equal must have the same hashCode... SinglePixelPackedSampleModel m1 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_BYTE, 2, 2, new int[] { 224, 28, 3 } ); SinglePixelPackedSampleModel m2 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_BYTE, 2, 2, new int[] { 224, 28, 3 } ); harness.check(m1.equals(m2)); harness.check(m1.hashCode(), m2.hashCode()); } } mauve-20140821/gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/getSamples.java0000644000175000001440000000764310134060310027443 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.SinglePixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.DataBufferByte; import java.awt.image.SinglePixelPackedSampleModel; /** * Some checks for the getSamples() method in the * {@link SinglePixelPackedSampleModel} class. */ public class getSamples implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SinglePixelPackedSampleModel m1 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_BYTE, 2, 2, new int[] { 0xF0, 0x0F } ); DataBufferByte db = new DataBufferByte(new byte[] { (byte) 0x12, (byte) 0x34, (byte) 0xAB, (byte) 0xCD }, 4); // check regular fetch int[] samples = m1.getSamples(0, 0, 1, 2, 1, (int[]) null, db); harness.check(samples[0], 0x02); // 1 harness.check(samples[1], 0x0B); // 2 // check regular fetch with negative x try { samples = m1.getSamples(-1, 0, 1, 1, 1, (int[]) null, db); harness.check(false); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // check regular fetch with negative y try { samples = m1.getSamples(0, -1, 1, 1, 1, (int[]) null, db); harness.check(false); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // check regular fetch with w < 0 try { samples = m1.getSamples(0, 0, -1, 1, 1, (int[]) null, db); harness.check(false); } catch (NegativeArraySizeException e) { harness.check(true); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // check regular fetch with h < 0 try { samples = m1.getSamples(0, 0, 1, -1, 1, (int[]) null, db); harness.check(false); } catch (NegativeArraySizeException e) { harness.check(true); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // check regular fetch with band < 0 try { samples = m1.getSamples(0, 0, 1, 1, -1, (int[]) null, db); harness.check(false); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // check regular fetch with presupplied array int[] samplesIn = new int[2]; int[] samplesOut = m1.getSamples(1, 0, 1, 2, 0, samplesIn, db); harness.check(samplesIn == samplesOut); harness.check(samplesOut[0], 0x03); harness.check(samplesOut[1], 0x0C); // check regular fetch with presupplied array too short int[] samplesIn2 = new int[1]; try { /* int[] samplesOut2 = */ m1.getSamples(1, 1, 1, 2, 1, samplesIn2, db); harness.check(false); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // check null data buffer try { samples = m1.getSamples(0, 0, 1, 1, 1, (int[]) null, null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/setPixel.java0000644000175000001440000002231310134060310027123 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.SinglePixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.DataBufferByte; import java.awt.image.DataBufferInt; import java.awt.image.DataBufferUShort; import java.awt.image.SinglePixelPackedSampleModel; /** * Some checks for the setPixel() method in the * {@link SinglePixelPackedSampleModel} class. */ public class setPixel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testByte(harness); testUShort(harness); testInt(harness); } private void testByte(TestHarness harness) { harness.checkPoint("(int, int, Object, DataBuffer(Byte))"); SinglePixelPackedSampleModel m1 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_BYTE, 2, 3, new int[] { 0xF0, 0x0F } ); byte[] b = new byte[] { (byte) 0x11, (byte) 0x22, (byte) 0x33, (byte) 0x44, (byte) 0x55, (byte) 0x66 }; DataBuffer db = new DataBufferByte(b, 6); // set a value m1.setPixel(0, 0, new int[] { 0x0C, 0x07 }, db); m1.setPixel(1, 0, new int[] { 0x0B, 0x08 }, db); m1.setPixel(0, 1, new int[] { 0x0A, 0x09 }, db); m1.setPixel(1, 1, new int[] { 0x09, 0x0A }, db); m1.setPixel(0, 2, new int[] { 0x08, 0x0B }, db); m1.setPixel(1, 2, new int[] { 0x07, 0x0C }, db); harness.check(db.getElem(0), 0xC7); harness.check(db.getElem(1), 0xB8); harness.check(db.getElem(2), 0xA9); harness.check(db.getElem(3), 0x9A); harness.check(db.getElem(4), 0x8B); harness.check(db.getElem(5), 0x7C); // set a value with non-standard scanline stride SinglePixelPackedSampleModel m2 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_BYTE, 2, 2, 3, new int[] { 0xF0, 0x0F } ); m2.setPixel(0, 0, new int[] { 0x04, 0x01 }, db); m2.setPixel(1, 0, new int[] { 0x03, 0x02 }, db); m2.setPixel(0, 1, new int[] { 0x02, 0x03 }, db); m2.setPixel(1, 1, new int[] { 0x01, 0x04 }, db); harness.check(db.getElem(0), 0x41); harness.check(db.getElem(1), 0x32); harness.check(db.getElem(3), 0x23); harness.check(db.getElem(4), 0x14); // set a value with x < 0 try { m1.setPixel(-1, 0, new int[] { 0x10, 0x01 }, db); harness.check(false); // should not get here } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // set a value with y < 0 try { m1.setPixel(0, -1, new int[] { 0x10, 0x01 }, db); harness.check(false); // should not get here } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // set a value with transfer array too small try { m1.setPixel(0, 0, new int[] {}, db); harness.check(false); // should not get here } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // set a value with null data buffer try { m1.setPixel(0, 0, new int[] { 0x10, 0x01 }, null); harness.check(false); // should not get here } catch (NullPointerException e) { harness.check(true); } } private void testUShort(TestHarness harness) { harness.checkPoint("(int, int, Object, DataBuffer(UShort))"); SinglePixelPackedSampleModel m1 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_USHORT, 2, 3, new int[] { 0xFF00, 0x00FF } ); short[] s = new short[] { (short) 0x1111, (short) 0x2222, (short) 0x3333, (short) 0x4444, (short) 0x5555, (short) 0x6666 }; DataBuffer db = new DataBufferUShort(s, 6); // set a value m1.setPixel(0, 0, new int[] { 0x00CC, 0x0077 }, db); m1.setPixel(1, 0, new int[] { 0x00BB, 0x0088 }, db); m1.setPixel(0, 1, new int[] { 0x00AA, 0x0099 }, db); m1.setPixel(1, 1, new int[] { 0x0099, 0x00AA }, db); m1.setPixel(0, 2, new int[] { 0x0088, 0x00BB }, db); m1.setPixel(1, 2, new int[] { 0x0077, 0x00CC }, db); harness.check(db.getElem(0), 0xCC77); harness.check(db.getElem(1), 0xBB88); harness.check(db.getElem(2), 0xAA99); harness.check(db.getElem(3), 0x99AA); harness.check(db.getElem(4), 0x88BB); harness.check(db.getElem(5), 0x77CC); // set a value with non-standard scanline stride SinglePixelPackedSampleModel m2 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_USHORT, 2, 2, 3, new int[] { 0xFF00, 0x00FF } ); m2.setPixel(0, 0, new int[] { 0x0044, 0x0011 }, db); m2.setPixel(1, 0, new int[] { 0x0033, 0x0022 }, db); m2.setPixel(0, 1, new int[] { 0x0022, 0x0033 }, db); m2.setPixel(1, 1, new int[] { 0x0011, 0x0044 }, db); harness.check(db.getElem(0), 0x4411); harness.check(db.getElem(1), 0x3322); harness.check(db.getElem(3), 0x2233); harness.check(db.getElem(4), 0x1144); // set a value with x < 0 try { m1.setPixel(-1, 0, new int[] { 0x10, 0x01 }, db); harness.check(false); // should not get here } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // set a value with y < 0 try { m1.setPixel(0, -1, new int[] { 0x10, 0x01 }, db); harness.check(false); // should not get here } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // set a value with transfer array too small try { m1.setPixel(0, 0, new int[] {}, db); harness.check(false); // should not get here } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // set a value with null data buffer try { m1.setPixel(0, 0, new int[] { 0x10, 0x01 }, null); harness.check(false); // should not get here } catch (NullPointerException e) { harness.check(true); } } private void testInt(TestHarness harness) { harness.checkPoint("(int, int, Object, DataBuffer(Int))"); SinglePixelPackedSampleModel m1 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, 2, 3, new int[] { 0xFFFF0000, 0x0000FFFF } ); int[] i = new int[] { 0x1111, 0x2222, 0x3333, 0x4444, 0x5555, 0x6666 }; DataBuffer db = new DataBufferInt(i, 6); // set a value m1.setPixel(0, 0, new int[] { 0x00CC, 0x0077 }, db); m1.setPixel(1, 0, new int[] { 0x00BB, 0x0088 }, db); m1.setPixel(0, 1, new int[] { 0x00AA, 0x0099 }, db); m1.setPixel(1, 1, new int[] { 0x0099, 0x00AA }, db); m1.setPixel(0, 2, new int[] { 0x0088, 0x00BB }, db); m1.setPixel(1, 2, new int[] { 0x0077, 0x00CC }, db); harness.check(db.getElem(0), 0x00CC0077); harness.check(db.getElem(1), 0x00BB0088); harness.check(db.getElem(2), 0x00AA0099); harness.check(db.getElem(3), 0x009900AA); harness.check(db.getElem(4), 0x008800BB); harness.check(db.getElem(5), 0x007700CC); // set a value with non-standard scanline stride SinglePixelPackedSampleModel m2 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, 2, 2, 3, new int[] { 0xFFFF0000, 0x0000FFFF } ); m2.setPixel(0, 0, new int[] { 0x0044, 0x0011 }, db); m2.setPixel(1, 0, new int[] { 0x0033, 0x0022 }, db); m2.setPixel(0, 1, new int[] { 0x0022, 0x0033 }, db); m2.setPixel(1, 1, new int[] { 0x0011, 0x0044 }, db); harness.check(db.getElem(0), 0x00440011); harness.check(db.getElem(1), 0x00330022); harness.check(db.getElem(3), 0x00220033); harness.check(db.getElem(4), 0x00110044); // set a value with x < 0 try { m1.setPixel(-1, 0, new int[] { 0x10, 0x01 }, db); harness.check(false); // should not get here } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // set a value with y < 0 try { m1.setPixel(0, -1, new int[] { 0x10, 0x01 }, db); harness.check(false); // should not get here } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // set a value with transfer array too small try { m1.setPixel(0, 0, new int[] {}, db); harness.check(false); // should not get here } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // set a value with null data buffer try { m1.setPixel(0, 0, new int[] { 0x10, 0x01 }, null); harness.check(false); // should not get here } catch (NullPointerException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/getScanlineStride.java0000644000175000001440000000333210134060310030735 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.SinglePixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.SinglePixelPackedSampleModel; /** * Some checks for the getScanlineStride() method in the * {@link SinglePixelPackedSampleModel} class. */ public class getScanlineStride implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SinglePixelPackedSampleModel m1 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_BYTE, 2, 2, new int[] { 224, 28, 3 } ); harness.check(m1.getScanlineStride(), 2); SinglePixelPackedSampleModel m2 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, 20, 30, 22, new int[] { 0xF0, 0x0F } ); harness.check(m2.getScanlineStride(), 22); } } mauve-20140821/gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/getDataElements.java0000644000175000001440000001353110134060310030376 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.SinglePixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.DataBufferByte; import java.awt.image.DataBufferInt; import java.awt.image.DataBufferUShort; import java.awt.image.SinglePixelPackedSampleModel; /** * Some checks for the getDataElements() method in the * {@link SinglePixelPackedSampleModel} class. */ public class getDataElements implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testByte(harness); testUShort(harness); testInt(harness); } private void testByte(TestHarness harness) { harness.checkPoint("(int, int, Object, DataBuffer(Byte))"); SinglePixelPackedSampleModel m1 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_BYTE, 2, 2, new int[] { 224, 28, 3 } ); byte[] b = new byte[] { (byte) 11, (byte) 22, (byte) 33, (byte) 44 }; DataBuffer db = new DataBufferByte(b, 4); byte[] de = (byte[]) m1.getDataElements(1, 1, null, db); harness.check(de.length, 1); // check 1 harness.check(de[0], (byte) 44); // check 2 // check for coordinates out of bounds try // check 3 { m1.getDataElements(2, 2, null, db); harness.check(false); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // check for return object of wrong dimension try // check 4 { m1.getDataElements(1, 1, new byte[0], db); harness.check(false); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // check for return object of wrong type try // check 5 { m1.getDataElements(1, 1, new int[1], db); harness.check(false); } catch (ClassCastException e) { harness.check(true); } // check for null data buffer try // check 6 { m1.getDataElements(0, 0, null, null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } } private void testUShort(TestHarness harness) { harness.checkPoint("(int, int, Object, DataBuffer(UShort))"); SinglePixelPackedSampleModel m1 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_USHORT, 2, 2, new int[] { 224, 28, 3 } ); short[] s = new short[] { (short) 11, (short) 22, (short) 33, (short) 44 }; DataBuffer db = new DataBufferUShort(s, 4); short[] de = (short[]) m1.getDataElements(1, 1, null, db); harness.check(de.length, 1); harness.check(de[0], (byte) 44); // check for coordinates out of bounds try { m1.getDataElements(2, 2, null, db); harness.check(false); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // check for return object of wrong dimension try { m1.getDataElements(1, 1, new short[0], db); harness.check(false); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // check for return object of wrong type try { m1.getDataElements(1, 1, new int[1], db); harness.check(false); } catch (ClassCastException e) { harness.check(true); } // check for null data buffer try { m1.getDataElements(0, 0, null, null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } } private void testInt(TestHarness harness) { harness.checkPoint("(int, int, Object, DataBuffer(Int))"); SinglePixelPackedSampleModel m1 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, 2, 2, new int[] { 224, 28, 3 } ); int[] i = new int[] { 11, 22, 33, 44 }; DataBuffer db = new DataBufferInt(i, 4); int[] de = (int[]) m1.getDataElements(1, 1, null, db); harness.check(de.length, 1); harness.check(de[0], 44); // check for coordinates out of bounds try { m1.getDataElements(2, 2, null, db); harness.check(false); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // check for return object of wrong dimension try { m1.getDataElements(1, 1, new int[0], db); harness.check(false); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // check for return object of wrong type try { m1.getDataElements(1, 1, new byte[1], db); harness.check(false); } catch (ClassCastException e) { harness.check(true); } // check for null data buffer try { m1.getDataElements(0, 0, null, null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/getNumDataElements.java0000644000175000001440000000303710134060310031056 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.SinglePixelPackedSampleModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.SinglePixelPackedSampleModel; /** * Some checks for the getNumDataElements() method in the * {@link SinglePixelPackedSampleModel} class. */ public class getNumDataElements implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SinglePixelPackedSampleModel m1 = new SinglePixelPackedSampleModel( DataBuffer.TYPE_BYTE, 1, 2, new int[] { 224, 28, 3 } ); harness.check(m1.getNumDataElements(), 1); } } mauve-20140821/gnu/testlet/java/awt/image/BandCombineOp/0000755000175000001440000000000012375316426021471 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/image/BandCombineOp/constructors.java0000644000175000001440000001350310467170207025101 0ustar dokousers/* constructors.java -- some checks for the constructors in the BandCombineOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.image.BandCombineOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.BandCombineOp; import java.awt.image.ImagingOpException; import java.util.Arrays; /** * Some checks for the constructors in the {@link BandCombineOp} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { basicTest(harness); emptyMatrix(harness); invalidMatrix(harness); } // Test the basic operation of the constructor private void basicTest(TestHarness harness) { harness.checkPoint("(constructor)"); float[][] matrix = new float[][] {new float[]{1, 2, 3}, new float[]{4, 5, 6}, new float[]{7, 8, 9}}; BandCombineOp op = new BandCombineOp(matrix, null); float[][] resultMatrix = op.getMatrix(); float[][] expectedMatrix = new float[][] {new float[]{1, 2, 3, 0}, new float[]{4, 5, 6, 0}, new float[]{7, 8, 9, 0}}; // The ref impl seems to add a column of zeros, so we test against that // for compatibility if (expectedMatrix.length != resultMatrix.length) harness.check(false); else for (int i = 0; i < expectedMatrix.length; i++) harness.check(Arrays.equals(expectedMatrix[i], resultMatrix[i])); // This happens even if the (width == height + 1) matrix = new float[][] {new float[]{1, 2, 3, 4}, new float[]{4, 5, 6, 7}, new float[]{7, 8, 9, 1}}; op = new BandCombineOp(matrix, null); resultMatrix = op.getMatrix(); expectedMatrix = new float[][] {new float[]{1, 2, 3, 4, 0}, new float[]{4, 5, 6, 7, 0}, new float[]{7, 8, 9, 1, 0}}; if (expectedMatrix.length != resultMatrix.length) harness.check(false); else for (int i = 0; i < expectedMatrix.length; i++) harness.check(Arrays.equals(expectedMatrix[i], resultMatrix[i])); } // Test behaviour of constructor when passed various empty matrices private void emptyMatrix(TestHarness harness) { // Try creating with an empty matrix - this should be allowed float[][] matrix = new float[][] {new float[]{}, new float[]{}}; try { new BandCombineOp(matrix, null); harness.check(true); } catch (ImagingOpException e) { harness.check(false); } BandCombineOp op = new BandCombineOp(matrix, null); float[][] resultMatrix = op.getMatrix(); float[][] expectedMatrix = new float[][] {new float[]{0}, new float[]{0}}; if (expectedMatrix.length != resultMatrix.length) harness.check(false); else for (int i = 0; i < expectedMatrix.length; i++) harness.check(Arrays.equals(expectedMatrix[i], resultMatrix[i])); // What about a null matrix, not an empty one?? matrix = new float[][] {null, null}; try { new BandCombineOp(matrix, null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } // And pass in a null parameter, not just a matrix of nulls try { new BandCombineOp(null, null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } } // Checks on behaviour of constructor when passed an invalid matrix private void invalidMatrix(TestHarness harness) { // What checks are done to ensure the 2-d array is a 2-d matrix? // If a row is too short, we throw an exception... float[][] matrix = new float[][] {new float[]{1, 2, 3, 4}, new float[]{4, 5}, new float[]{7, 8, 9}}; try { new BandCombineOp(matrix, null); harness.check(false); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // And if a row is too long, it gets concatenated. matrix = new float[][] {new float[]{1, 2}, new float[]{4, 5, 6}, new float[]{7, 8, 9, 1}}; BandCombineOp op = new BandCombineOp(matrix, null); float[][] resultMatrix = op.getMatrix(); float[][] expectedMatrix = new float[][] {new float[]{1, 2, 0}, new float[]{4, 5, 0}, new float[]{7, 8, 0}}; if (expectedMatrix.length != resultMatrix.length) harness.check(false); else for (int i = 0; i < expectedMatrix.length; i++) harness.check(Arrays.equals(expectedMatrix[i], resultMatrix[i])); } } mauve-20140821/gnu/testlet/java/awt/image/BandCombineOp/getPoint2D.java0000644000175000001440000000334310464432663024315 0ustar dokousers/* getPoint2D.java -- some checks for the getPoint2D) method of the BandCombineOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.image.BandCombineOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.geom.Point2D; import java.awt.image.BandCombineOp; /** * Checks the getPoint2D method in the * {@link BandCombineOp} class. */ public class getPoint2D implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("getPoint2D"); // This is a simple test; the BandCombineOp should not change the // geometry of the raster float[][] matrix = new float[][] {{2, 7}}; BandCombineOp op = new BandCombineOp(matrix, null); Point2D dest = null; dest = op.getPoint2D(new Point2D.Double(3, 3), dest); harness.check(dest, new Point2D.Double(3, 3)); } } mauve-20140821/gnu/testlet/java/awt/image/BandCombineOp/filter.java0000644000175000001440000001202510464432663023620 0ustar dokousers/* filter.java -- some checks for the filter() method of the BandCombineOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.image.BandCombineOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Point; import java.awt.image.BandCombineOp; import java.awt.image.DataBuffer; import java.awt.image.Raster; import java.awt.image.WritableRaster; import java.util.Arrays; /** * Checks the filter method in the {@link BandCombineOp} class. */ public class filter implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("filter"); float[][] matrix = new float[][] {{2, 7}, {5, 6}}; WritableRaster src = Raster.createBandedRaster(DataBuffer.TYPE_INT, 5, 5, 2, new Point(0,0)); /* Setting up: [0] [1] [2] [3] [4] [0] . . x . . [1] . . . . . [2] . . . . . [3] . . . . . [4] . . . . x with two bands */ src.setSample(2, 1, 0, 150); src.setSample(4, 4, 0, 85); src.setSample(2, 1, 1, 25); src.setSample(4, 4, 1, 110); // Basic checks on output BandCombineOp op = new BandCombineOp(matrix, null); WritableRaster dst2 = op.createCompatibleDestRaster(src); WritableRaster dst = op.filter(src, dst2); harness.check(dst, dst2); harness.check(dst.getNumBands(), 2); // A null dst2 should also work dst2 = null; dst = op.filter(src, dst2); harness.check(dst instanceof WritableRaster); harness.check(dst2, null); // Check first band int[] pixels = dst.getSamples(0, 0, 5, 5, 0, (int[])null); int[] expected = new int[25]; Arrays.fill(expected, 0); expected[7] = 475; expected[24] = 940; harness.check(Arrays.equals(expected, pixels)); // Check second band pixels = dst.getSamples(0, 0, 5, 5, 1, pixels); expected[7] = 900; expected[24] = 1085; harness.check(Arrays.equals(expected, pixels)); // Check the implied 1 at the end of the band samples, which happens if // there is one more column in the matrix than there are bands // And throw in a check with negative numbers too... why not =) matrix = new float[][] {{2, -7, 5}, {5, 6, -3}}; op = new BandCombineOp(matrix, null); dst = op.filter(src, dst); // First band pixels = dst.getSamples(0, 0, 5, 5, 0, (int[])null); Arrays.fill(expected, 5); expected[7] = 130; expected[24] = -595; harness.check(Arrays.equals(expected, pixels)); // Second band pixels = dst.getSamples(0, 0, 5, 5, 1, (int[])null); Arrays.fill(expected, -3); expected[7] = 897; expected[24] = 1082; harness.check(Arrays.equals(expected, pixels)); // Check for overflow (this should fail silently and not throw an exception) matrix = new float[][] {{2000000000, 2000000000}, {2000000000, 2000000000}}; try { op = new BandCombineOp(matrix, null); dst = op.filter(src, dst); harness.check(true); } catch (Exception e) { harness.check(false); } // Check for exceptions try { expected[25] = 100; harness.check(false); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // accessing invalid band number try { pixels = dst.getSamples(0, 0, 5, 5, 2, pixels); harness.check(false); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } // dst has wrong number of bands dst = Raster.createBandedRaster(DataBuffer.TYPE_INT, 5, 5, 6, new Point(0,0)); try { dst = op.filter(src, dst); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // dst has wrong data type dst = Raster.createBandedRaster(DataBuffer.TYPE_BYTE, 5, 5, 1, new Point(0,0)); try { dst = op.filter(src, dst); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/awt/image/BandCombineOp/createCompatibleDestRaster.java0000644000175000001440000002242510467170207027600 0ustar dokousers/* createCompatibleDestRaster.java -- some checks for the createCompatibleDestRaster() method of the BandCombineOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.image.BandCombineOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Point; import java.awt.image.BandCombineOp; import java.awt.image.DataBuffer; import java.awt.image.Raster; /** * Checks for the createCompatibleDestRaster method in the * {@link BandCombineOp} class. */ public class createCompatibleDestRaster implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { basicTest(harness); test2(harness); test3(harness); impossibleTest(harness); } private void basicTest(TestHarness harness) { harness.checkPoint("createCompatibleDestRaster"); // Simple test float[][] matrix = new float[][] {new float[] {1, 2, 3}, new float[] {4, 5, 6}, new float[] {7, 8, 9}}; Raster src = Raster.createBandedRaster(DataBuffer.TYPE_INT, 25, 40, 3, new Point(5, 5)); BandCombineOp op = new BandCombineOp(matrix, null); try { Raster dst = op.createCompatibleDestRaster(src); harness.check(dst.getNumBands(), 3); harness.check(dst.getHeight(), src.getHeight()); harness.check(dst.getWidth(), src.getWidth()); harness.check(dst.getTransferType(), src.getTransferType()); harness.check(dst.getDataBuffer().getDataType(), src.getDataBuffer().getDataType()); } catch (IllegalArgumentException e) { harness.check(false); } // Try a different type src = Raster.createBandedRaster(DataBuffer.TYPE_BYTE, 25, 40, 3, new Point(5, 5)); try { Raster dst = op.createCompatibleDestRaster(src); harness.check(dst.getTransferType(), src.getTransferType()); harness.check(dst.getDataBuffer().getDataType(), src.getDataBuffer().getDataType()); harness.check(dst.getNumBands(), 3); } catch (IllegalArgumentException e) { harness.check(false); } // This is where things get messy. The Sun API states that "The width of the matrix // must be equal to the number of bands in the source Raster, optionally plus one. If // there is one more column in the matrix than the number of bands, there is an implied // 1 at the end of the vector of band samples representing a pixel. The height of the matrix // must be equal to the number of bands in the destination", but this is NOT how their // implementation behaves. // // They miss one requirement, however: the number of bands in the source and destination // rasters must also be equal... which effectively means // ((width == height) || (width == height + 1)) must be true // The source (4 bands) is incompatible with the matrix (width = 3) src = Raster.createBandedRaster(DataBuffer.TYPE_INT, 25, 40, 4, new Point(5, 5)); try { op.createCompatibleDestRaster(src); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // The destination raster (3 bands) would be incompatibel with the source (2 bands) // (the undocumented requirement) src = Raster.createBandedRaster(DataBuffer.TYPE_INT, 25, 40, 1, new Point(5, 5)); try { op.createCompatibleDestRaster(src); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } // Using a non-square matrix private void test2(TestHarness harness) { // Height still == 3, but width == 4 float[][] matrix = new float[][] {new float[] {1, 2, 3, 1}, new float[] {4, 5, 6, 1}, new float[] {7, 8, 9, 1}}; BandCombineOp op = new BandCombineOp(matrix, null); // Source has 3 bands, which is the width minus one (uses the implied 1), works Raster src = Raster.createBandedRaster(DataBuffer.TYPE_INT, 25, 40, 3, new Point(5, 5)); try { Raster dst = op.createCompatibleDestRaster(src); harness.check(dst.getNumBands(), 3); } catch (IllegalArgumentException e) { harness.check(false); } // Source has 4 bands, which is compatible with the matrix (width is 4) // The destination raster, however, is not compatible with the source (3 vs 4 bands) // (the undocumented restriction) src = Raster.createBandedRaster(DataBuffer.TYPE_INT, 25, 40, 4, new Point(5, 5)); try { op.createCompatibleDestRaster(src); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // Also incompatible, but this is expected according to the spec src = Raster.createBandedRaster(DataBuffer.TYPE_INT, 25, 40, 2, new Point(5, 5)); try { op.createCompatibleDestRaster(src); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // Also still incompatible src = Raster.createBandedRaster(DataBuffer.TYPE_INT, 25, 40, 5, new Point(5, 5)); try { op.createCompatibleDestRaster(src); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } // One more test, with a larger matrix private void test3(TestHarness harness) { // Test again, with a different matrix float[][] matrix = new float[][] {new float[] {1, 2, 3, 1, 5}, new float[] {4, 5, 6, 1, 5}, new float[] {7, 8, 9, 1, 5}, new float[] {1, 2, 3, 4, 5}}; BandCombineOp op = new BandCombineOp(matrix, null); // Works using the implied 1 Raster src = Raster.createBandedRaster(DataBuffer.TYPE_INT, 25, 40, 4, new Point(5, 5)); try { Raster dst = op.createCompatibleDestRaster(src); harness.check(dst.getNumBands(), 4); } catch (IllegalArgumentException e) { harness.check(false); } // Does not use implied 1; however source and dest would have incompabible bands // (undocumented restriction) src = Raster.createBandedRaster(DataBuffer.TYPE_INT, 25, 40, 5, new Point(5, 5)); try { op.createCompatibleDestRaster(src); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // Just for completeness src = Raster.createBandedRaster(DataBuffer.TYPE_INT, 25, 40, 3, new Point(5, 5)); try { op.createCompatibleDestRaster(src); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } src = Raster.createBandedRaster(DataBuffer.TYPE_INT, 25, 40, 6, new Point(5, 5)); try { op.createCompatibleDestRaster(src); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } private void impossibleTest(TestHarness harness) { // Thus, it would be impossible to create a compatible destination wraster if // ((width != height) && (width != height + 1)) float[][] matrix = new float[][] {new float[] {1, 2, 3, 1, 5}, new float[] {4, 5, 6, 1, 5}, new float[] {7, 8, 9, 1, 5}}; BandCombineOp op = new BandCombineOp(matrix, null); for (int i = 2; i < 6; i++) { Raster src = Raster.createBandedRaster(DataBuffer.TYPE_INT, 25, 40, i, new Point(5, 5)); try { op.createCompatibleDestRaster(src); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } // Repeat the above test, but with too many rows instead of too few matrix = new float[][] {new float[] {1, 2, 3,}, new float[] {4, 5, 6,}, new float[] {2, 4, 6,}, new float[] {1, 3, 5,}, new float[] {7, 8, 9,}}; op = new BandCombineOp(matrix, null); for (int i = 2; i < 6; i++) { Raster src = Raster.createBandedRaster(DataBuffer.TYPE_INT, 25, 40, i, new Point(5, 5)); try { op.createCompatibleDestRaster(src); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } } } mauve-20140821/gnu/testlet/java/awt/image/BandCombineOp/getBounds2D.java0000644000175000001440000000447510464432663024465 0ustar dokousers/* getBounds2D.java -- some checks for the getBounds2D() method of the BandCombineOp class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.image.BandCombineOp; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Point; import java.awt.image.BandCombineOp; import java.awt.image.DataBuffer; import java.awt.image.Raster; import java.awt.image.WritableRaster; /** * Checks the getBounds2D method in the * {@link BandCombineOp} class. */ public class getBounds2D implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("getBounds2D"); // This is a simple test; the BandCombineOp should not change the // dimensions of the raster float[][] matrix = new float[][] {{2, 7}}; WritableRaster src = Raster.createBandedRaster(DataBuffer.TYPE_INT, 5, 5, 1, new Point(0,0)); BandCombineOp op = new BandCombineOp(matrix, null); harness.check(op.getBounds2D(src), src.getBounds()); // This should throw an exception, as the bands in the source do not // match the rows in the matrix /* * The spec says it *MAY* throw an exception; the ref. impl does not do so... src = Raster.createBandedRaster(DataBuffer.TYPE_INT, 5, 5, 3, new Point(0,0)); try { harness.check(op.getBounds2D(src), src.getBounds()); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } */ } } mauve-20140821/gnu/testlet/java/awt/image/DataBuffer/0000755000175000001440000000000012375316426021034 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/image/DataBuffer/getDataTypeSize.java0000644000175000001440000000404410113613525024733 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.DataBuffer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; /** * Verifies the getDataTypeSize() method in the {@link DataBuffer} class. */ public class getDataTypeSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.check(DataBuffer.getDataTypeSize(DataBuffer.TYPE_BYTE) == 8); harness.check(DataBuffer.getDataTypeSize(DataBuffer.TYPE_DOUBLE) == 64); harness.check(DataBuffer.getDataTypeSize(DataBuffer.TYPE_FLOAT) == 32); harness.check(DataBuffer.getDataTypeSize(DataBuffer.TYPE_INT) == 32); harness.check(DataBuffer.getDataTypeSize(DataBuffer.TYPE_SHORT) == 16); harness.check(DataBuffer.getDataTypeSize(DataBuffer.TYPE_USHORT) == 16); boolean pass = false; try { DataBuffer.getDataTypeSize(DataBuffer.TYPE_UNDEFINED); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); pass = false; try { DataBuffer.getDataTypeSize(-1); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/DataBuffer/getOffset.java0000644000175000001440000000310610123067120023604 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.DataBuffer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.DataBufferInt; /** * Some checks for the getOffset() method in the {@link DataBuffer} class. */ public class getOffset implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // check simple case DataBuffer b1 = new DataBufferInt(new int[] {1, 2, 3}, 3, 1); harness.check(b1.getOffset() == 1); // check that offset reflects setting in array DataBuffer b2 = new DataBufferInt(new int[][] {{1, 2, 3, 4}, {5, 6, 7, 8}}, 2, new int[] {1 , 2}); harness.check(b2.getOffset() == 1); } } mauve-20140821/gnu/testlet/java/awt/image/DataBuffer/constants.java0000644000175000001440000000303310113613525023676 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.DataBuffer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; /** * Verifies constant values for the {@link DataBuffer} class. */ public class constants implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.check(DataBuffer.TYPE_BYTE == 0); harness.check(DataBuffer.TYPE_DOUBLE == 5); harness.check(DataBuffer.TYPE_FLOAT == 4); harness.check(DataBuffer.TYPE_INT == 3); harness.check(DataBuffer.TYPE_SHORT == 2); harness.check(DataBuffer.TYPE_UNDEFINED == 32); harness.check(DataBuffer.TYPE_USHORT == 1); } } mauve-20140821/gnu/testlet/java/awt/image/DataBuffer/getOffsets.java0000644000175000001440000000267510123067120024001 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.DataBuffer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.DataBuffer; import java.awt.image.DataBufferInt; /** * Some checks for the getOffsets() method in the {@link DataBuffer} class. */ public class getOffsets implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // DataBuffer b1 = new DataBufferInt(new int[] {1, 2, 3}, 3, 1); int[] offsets = b1.getOffsets(); harness.check(offsets.length == 1); harness.check(offsets[0] == 1); } } mauve-20140821/gnu/testlet/java/awt/image/Kernel/0000755000175000001440000000000012375316426020251 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/image/Kernel/getXOrigin.java0000644000175000001440000000324610460042513023162 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2006 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.java.awt.image.Kernel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.Kernel; /** * Some checks for the getXOrigin() method in the {@link Kernel} class. */ public class getXOrigin implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Kernel k1 = new Kernel(3, 4, new float[] {1f, 2f, 3f, 4f, 5f, 6f, 7f, 8f, 9f, 10f, 11f, 12f}); harness.check(k1.getXOrigin(), 1); Kernel k2 = new Kernel(4, 3, new float[] {1f, 2f, 3f, 4f, 5f, 6f, 7f, 8f, 9f, 10f, 11f, 12f}); harness.check(k2.getXOrigin(), 1); Kernel k3 = new Kernel(5, 2, new float[] {1f, 2f, 3f, 4f, 5f, 6f, 7f, 8f, 9f, 10f}); harness.check(k3.getXOrigin(), 2); } } mauve-20140821/gnu/testlet/java/awt/image/Kernel/getHeight.java0000644000175000001440000000250710460042513023012 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2006 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.java.awt.image.Kernel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.Kernel; /** * Some checks for the getHeight() method in the {@link Kernel} class. */ public class getHeight implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Kernel k1 = new Kernel(1, 2, new float[] {1f, 2f}); harness.check(k1.getHeight(), 2); } } mauve-20140821/gnu/testlet/java/awt/image/Kernel/constructor.java0000644000175000001440000000577610460602426023507 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2006 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.java.awt.image.Kernel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.Kernel; /** * Some checks for the constructor in the {@link Kernel} class. */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { float[] d1 = new float[] {1f, 2f, 3f, 4f, 5f, 6f, 7f, 8f, 9f, 10f, 11f, 12f, 13f, 14f, 15f}; Kernel k1 = new Kernel(3, 5, d1); harness.check(k1.getWidth(), 3); harness.check(k1.getHeight(), 5); harness.check(k1.getXOrigin(), 1); harness.check(k1.getYOrigin(), 2); // changing source data array shouldn't change the kernel d1[0] = Float.NaN; float[] d2 = k1.getKernelData(null); harness.check(!Float.isNaN(d2[0])); // try negative width - the required behaviour is not specified, the // reference implementation throws a NegativeArraySizeException, but that // seems like an implementation detail so this test is going to allow an // IllegalArgumentException as well (which is what GNU Classpath does). boolean pass = false; try { k1 = new Kernel(-1, 2, new float[] {1f, 2f}); } catch (NegativeArraySizeException e) { pass = true; } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try negative height - the required behaviour is not specified, the // reference implementation throws a NegativeArraySizeException, but that // seems like an implementation detail so this test is going to allow an // IllegalArgumentException as well (which is what GNU Classpath does). pass = false; try { k1 = new Kernel(1, -2, new float[] {1f, 2f}); } catch (NegativeArraySizeException e) { pass = true; } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try null array pass = false; try { k1 = new Kernel(1, 2, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/Kernel/getKernelData.java0000644000175000001440000000340410460042513023611 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2006 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.java.awt.image.Kernel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.Kernel; import java.util.Arrays; /** * Some checks for the getKernelData() method in the {@link Kernel} class. */ public class getKernelData implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { float[] d1 = new float[] {1f, 2f, 3f, 4f, 5f, 6f, 7f, 8f, 9f, 10f, 11f, 12f, 13f, 14f, 15f}; Kernel k1 = new Kernel(3, 5, d1); float[] d2 = k1.getKernelData(null); harness.check(d1 != d2); harness.check(Arrays.equals(d1, d2)); // try argument length too short boolean pass = false; try { d2 = new float[14]; d2 = k1.getKernelData(d2); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/image/Kernel/check.java0000644000175000001440000000554310460042513022162 0ustar dokousers// Test Kernel.check(). // Written by Jerry Quinn // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.image.Kernel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.Kernel; /** * @author Jerry Quinn */ public class check implements Testlet { public void test(TestHarness h) { float[] data = new float[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, }; Kernel k = new Kernel(3, 4, data); h.check(k != null); h.check(k.getWidth() == 3); h.check(k.getHeight() == 4); h.check(k.getXOrigin() == 1); h.check(k.getYOrigin() == 1); float[] data1; try { data1 = k.getKernelData(null); } catch (IllegalArgumentException e) { data1 = new float[0]; h.fail("Kernel.getKernelData"); } h.checkPoint("Check kernel data"); boolean ok = true; h.check(data1.length == data.length); for (int i=0; i < data1.length; i++) if (data[i] != data1[i]) { ok = false; break; } h.check(ok == true); data1 = new float[12]; try { data1 = k.getKernelData(data1); } catch (IllegalArgumentException e) { h.fail("Kernel.getKernelData"); } ok = true; h.check(data1.length == data.length); for (int i=0; i < data1.length; i++) if (data[i] != data1[i]) { ok = false; break; } h.check(ok == true); // Check failure modes h.checkPoint("Failure modes"); ok = false; try { k.getKernelData(new float[1]); } catch (IllegalArgumentException e) { ok = true; } h.check(ok == true); ok = false; try { k = new Kernel(10, 10, data); } catch (IllegalArgumentException e) { ok = true; } h.check(ok == true); // Check that only the specified data gets copied data = new float[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14}; k = new Kernel(3, 4, data); data1 = k.getKernelData(null); h.check(data1.length == 12); ok = true; for (int i=0; i < data1.length; i++) if (data[i] != data1[i]) { ok = false; break; } h.check(ok == true); } } mauve-20140821/gnu/testlet/java/awt/image/Kernel/getWidth.java0000644000175000001440000000250410460042513022656 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2006 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.java.awt.image.Kernel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.Kernel; /** * Some checks for the getWidth() method in the {@link Kernel} class. */ public class getWidth implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Kernel k1 = new Kernel(1, 2, new float[] {1f, 2f}); harness.check(k1.getWidth(), 1); } } mauve-20140821/gnu/testlet/java/awt/image/Kernel/getYOrigin.java0000644000175000001440000000324710460042513023164 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2006 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.java.awt.image.Kernel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.Kernel; /** * Some checks for the getYOrigin() method in the {@link Kernel} class. */ public class getYOrigin implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Kernel k1 = new Kernel(3, 4, new float[] {1f, 2f, 3f, 4f, 5f, 6f, 7f, 8f, 9f, 10f, 11f, 12f}); harness.check(k1.getYOrigin(), 1); Kernel k2 = new Kernel(4, 3, new float[] {1f, 2f, 3f, 4f, 5f, 6f, 7f, 8f, 9f, 10f, 11f, 12f}); harness.check(k2.getYOrigin(), 1); Kernel k3 = new Kernel(5, 2, new float[] {1f, 2f, 3f, 4f, 5f, 6f, 7f, 8f, 9f, 10f}); harness.check(k3.getYOrigin(), 0); } } mauve-20140821/gnu/testlet/java/awt/image/PixelGrabber/0000755000175000001440000000000012375316426021377 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/image/PixelGrabber/testNullProducer.java0000644000175000001440000000242610444015451025551 0ustar dokousers/* testNullProducer.java -- Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.java.awt.image.PixelGrabber; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.ImageProducer; import java.awt.image.PixelGrabber; public class testNullProducer implements Testlet { public void test (TestHarness harness) { boolean exCaught = false; try { new PixelGrabber((ImageProducer) null, 0, 0, 0, 0, new int[5], 0, 0); } catch (NullPointerException npe) { exCaught = true; } harness.check(!exCaught); } } mauve-20140821/gnu/testlet/java/awt/image/PixelGrabber/lena1.jpg0000644000175000001440000000502607762707600023106 0ustar dokousersÿØÿàJFIFÿÛC    $.' ",#(7),01444'9=82<.342ÿÛC  2!!22222222222222222222222222222222222222222222222222ÿÀAx"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?óëˆ|%! ™R|Î3вñü©’y’[É“) ¨Àèi·sÿ¦^Ÿ,’’@ìxüñNšCiª´Ñmd“æ*yXgó®¶{*ãl«ÃÆÞ`Süx÷ö÷­i-«^‰6,[¶Øé+õü‡SøV’·×k¢ÚFûŒI ø×°xcK†ÒÆ…IÊáÞvõ$û±çéŠç¯UÆ]KVÝšVvØéÌ@ÜFIls#žô\j0i6‹Ì­pãp==Ï §ëú Òì–(e»#÷qöíoç^Aru;ýBãΖO;Ûy嫊rêU8{EÍ-Žâ[»§šY—S‰äUÞc# £¶(°ñDÑÎ#¾´;IǛȮsÂ^þß¹ºŠæIB,gÆ~PÙõãÚ­Yi÷šíÍ…Ô¢x‘¶¡Ç>ÄN¼UΚŠÕTå Ë‘#Ñmî’FVFÈjÒó ÇŒ×)£¹’XÕ}jÇŽu{.Å-4ôæEÜîG¯L׆ee¸™~yù é<ÿßG¦kѵ]Z-̪׷CþgÐ ©¦ý—BÐæÕîÇ— !zaG £ÜÿZàìõ;{Y¸ÔnÏÎçäAѲ¥pM¹·7±¬ ªTPè·:{T{¦3Nåæc¹˜÷5<úP™¼Ñ$†^µ™ÚkzÕÕ”Ö±æ;ê{»,WQµM±M±7p£‘Pjpïe%T;Hï[­µ{ ȼei9ëMÎæTþ+¤E¢7—© ÷­ÏØ$׫tØ$žž•ÎY0]B6š»=lƒ ´Eér1:U‹<ïRÂÏìʱDOΨ€g5ÂêvßdcP;~5éwŠ7C^â êxÂ?Ïô­èɹT„T.¿(–]JÜôk@üë•ÔŸ|ÿ@ã]/‚¥ò¼AvƒŸôLãòÿç5XLÕìrQž?t'ï3‰£[Âvë.¡,år!SïEmx>È®–¤žwÏáErÕšr/E¹—©xŠ(¬bµ…b¹´‘Ãù žV|% Ï ¯chÚð®ÒvFy?Ÿ§µRÁò›o·ê3@À²·Y÷Aÿ Jå¹®Šý^ÚÊi$/³¿Lš´eˆåœ£gª0/¤ ÏAšóIçû^«,™È,@®¿ÅwæÞÄħ÷’ü£éÞ¸Ûó.z“ù ëÃÂÑsfuçv ¯ ÊÆ!OXŒøïÿZ ñ]»¯‰Ýü¼•WÓ¤û'ˆìfì'U'Û€uZ½€»ñ…™+™³ìÇn\­?#®ìoiVÂÚ£8À¢­ÅÂêh¯9ë«*[˜zÞ© È{—ÈÓ,@Ú:œôSú}kÏo.åÔdžúå÷NîÐ0qÀ€c«âZ-Ftµ²4ûv>Xîäõsïü«n ®x8¯Jœ9UÞæI«ùº°±ô9ü:WMaq„µçËÿß ×8£÷.¤Œ•«öÓìŽÏLíÆ?¥MHÞ6:)K–I´D¦®)$+Þè:¯5«o/¾r+ϳ=&î…mR¦0¼ :úñRJÔÏ*ãÚ¢¹…$çhúQBc…xC/¡\Š<‘hß³ñ&ž¶aà±¶ýÃÕ[íjNXͺ¸$’8›äLŒÙB7½³ük›ñF¨º~œmàlO(ÆGe=ÿkݤŽYBnVÔäõëñ¨jÒº¶aäL{wüê;%Û÷¨*N>§ŠÒ±¼Ây(Ùÿ&½ Z1åGo)s2½Éòîc“ïl—Ÿç^˜#ó5&¸-@?†­yÅÚf)}|ÀC^ŸdÓíŸûСýøW.!þíXÑ|z–—ˆ×éE/`(®TEÏO¾)Çï7×úQEzïs%±,}E>õCýáüÍVr5GGa÷EttJ(¯:[ž¤v,š–ÿZ(¤Kذßê›é^sâÿù KþâìÔQ[áþ3–·ÀÌ8¾çáW´Ï¹7ûËýh¢ºêlÎzb]«›ýñýkÓtïùØ×ÿ•W-z–÷-žÔQEr™ÿÙmauve-20140821/gnu/testlet/java/awt/image/PixelGrabber/SimpleGrabber.java0000644000175000001440000001442407762707600024767 0ustar dokousers// Tags: JDK1.0 /* SimpleGrabber.java Copyright (C) 2003 Red Hat, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.image.PixelGrabber; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.*; import java.awt.image.*; public class SimpleGrabber implements Testlet { TestHarness harness; public void test (TestHarness harness) { this.harness = harness; Image i = null; try { String f = "gnu#testlet#java#awt#image#PixelGrabber#lena1.jpg"; i = Toolkit.getDefaultToolkit().getImage (harness.getResourceFile (f).getAbsolutePath ()); } catch (Exception e) { harness.fail ("lena1.jpg not found."); } String str = getPixels (i, 0, 0, 6, 12); harness.check (str, "Pixel (0, 0)\n" + " R: 98 G: 31 B: 82\n" + "Pixel (1, 0)\n" + " R: 79 G: 12 B: 63\n" + "Pixel (2, 0)\n" + " R: 76 G: 9 B: 60\n" + "Pixel (3, 0)\n" + " R: 152 G: 85 B: 136\n" + "Pixel (4, 0)\n" + " R: 132 G: 66 B: 114\n" + "Pixel (5, 0)\n" + " R: 95 G: 29 B: 77\n" + "Pixel (0, 1)\n" + " R: 86 G: 19 B: 70\n" + "Pixel (1, 1)\n" + " R: 75 G: 8 B: 59\n" + "Pixel (2, 1)\n" + " R: 81 G: 14 B: 65\n" + "Pixel (3, 1)\n" + " R: 150 G: 83 B: 134\n" + "Pixel (4, 1)\n" + " R: 121 G: 55 B: 103\n" + "Pixel (5, 1)\n" + " R: 85 G: 19 B: 67\n" + "Pixel (0, 2)\n" + " R: 75 G: 11 B: 61\n" + "Pixel (1, 2)\n" + " R: 79 G: 15 B: 65\n" + "Pixel (2, 2)\n" + " R: 100 G: 36 B: 86\n" + "Pixel (3, 2)\n" + " R: 155 G: 91 B: 141\n" + "Pixel (4, 2)\n" + " R: 115 G: 52 B: 99\n" + "Pixel (5, 2)\n" + " R: 76 G: 13 B: 60\n" + "Pixel (0, 3)\n" + " R: 70 G: 8 B: 57\n" + "Pixel (1, 3)\n" + " R: 91 G: 29 B: 78\n" + "Pixel (2, 3)\n" + " R: 122 G: 60 B: 109\n" + "Pixel (3, 3)\n" + " R: 162 G: 100 B: 149\n" + "Pixel (4, 3)\n" + " R: 116 G: 53 B: 100\n" + "Pixel (5, 3)\n" + " R: 69 G: 6 B: 53\n" + "Pixel (0, 4)\n" + " R: 72 G: 13 B: 61\n" + "Pixel (1, 4)\n" + " R: 102 G: 43 B: 91\n" + "Pixel (2, 4)\n" + " R: 128 G: 69 B: 117\n" + "Pixel (3, 4)\n" + " R: 154 G: 95 B: 143\n" + "Pixel (4, 4)\n" + " R: 120 G: 58 B: 105\n" + "Pixel (5, 4)\n" + " R: 64 G: 2 B: 49\n" + "Pixel (0, 5)\n" + " R: 95 G: 36 B: 84\n" + "Pixel (1, 5)\n" + " R: 117 G: 58 B: 106\n" + "Pixel (2, 5)\n" + " R: 119 G: 60 B: 108\n" + "Pixel (3, 5)\n" + " R: 136 G: 77 B: 125\n" + "Pixel (4, 5)\n" + " R: 133 G: 74 B: 120\n" + "Pixel (5, 5)\n" + " R: 73 G: 14 B: 60\n" + "Pixel (0, 6)\n" + " R: 123 G: 65 B: 113\n" + "Pixel (1, 6)\n" + " R: 125 G: 67 B: 115\n" + "Pixel (2, 6)\n" + " R: 93 G: 35 B: 83\n" + "Pixel (3, 6)\n" + " R: 106 G: 48 B: 96\n" + "Pixel (4, 6)\n" + " R: 146 G: 89 B: 134\n" + "Pixel (5, 6)\n" + " R: 88 G: 31 B: 76\n" + "Pixel (0, 7)\n" + " R: 137 G: 79 B: 127\n" + "Pixel (1, 7)\n" + " R: 123 G: 65 B: 113\n" + "Pixel (2, 7)\n" + " R: 65 G: 7 B: 55\n" + "Pixel (3, 7)\n" + " R: 78 G: 20 B: 68\n" + "Pixel (4, 7)\n" + " R: 149 G: 92 B: 137\n" + "Pixel (5, 7)\n" + " R: 95 G: 38 B: 83\n" + "Pixel (0, 8)\n" + " R: 138 G: 80 B: 128\n" + "Pixel (1, 8)\n" + " R: 96 G: 38 B: 86\n" + "Pixel (2, 8)\n" + " R: 78 G: 20 B: 68\n" + "Pixel (3, 8)\n" + " R: 76 G: 18 B: 66\n" + "Pixel (4, 8)\n" + " R: 106 G: 49 B: 94\n" + "Pixel (5, 8)\n" + " R: 122 G: 65 B: 110\n" + "Pixel (0, 9)\n" + " R: 155 G: 97 B: 145\n" + "Pixel (1, 9)\n" + " R: 99 G: 41 B: 89\n" + "Pixel (2, 9)\n" + " R: 73 G: 15 B: 63\n" + "Pixel (3, 9)\n" + " R: 80 G: 22 B: 70\n" + "Pixel (4, 9)\n" + " R: 115 G: 58 B: 103\n" + "Pixel (5, 9)\n" + " R: 107 G: 50 B: 95\n" + "Pixel (0, 10)\n" + " R: 165 G: 106 B: 154\n" + "Pixel (1, 10)\n" + " R: 99 G: 40 B: 88\n" + "Pixel (2, 10)\n" + " R: 68 G: 9 B: 57\n" + "Pixel (3, 10)\n" + " R: 83 G: 24 B: 72\n" + "Pixel (4, 10)\n" + " R: 123 G: 64 B: 110\n" + "Pixel (5, 10)\n" + " R: 88 G: 29 B: 75\n" + "Pixel (0, 11)\n" + " R: 151 G: 92 B: 140\n" + "Pixel (1, 11)\n" + " R: 93 G: 34 B: 82\n" + "Pixel (2, 11)\n" + " R: 68 G: 9 B: 57\n" + "Pixel (3, 11)\n" + " R: 81 G: 22 B: 70\n" + "Pixel (4, 11)\n" + " R: 120 G: 58 B: 105\n" + "Pixel (5, 11)\n" + " R: 74 G: 12 B: 59\n"); } // Test eight-parameter constructor. public String getPixels(Image img, int x, int y, int w, int h) { int[] pix = new int[w * h]; PixelGrabber pg = new PixelGrabber(img, x, y, w, h, pix, 0, w); try { pg.grabPixels(5000); } catch (InterruptedException e) { harness.fail ("image production interrupted."); return ""; } if ((pg.getStatus() & ImageObserver.ABORT) != 0) { harness.fail ("image production aborted."); return ""; } String result = ""; for (int j = 0; j < h; j++) { for (int i = 0; i < w; i++) { int p = j * w + i; result = result + getPixel (x + i, y + j, pix[p]); } } return result; } public String getPixel (int x, int y, int pixel) { ColorModel model = ColorModel.getRGBdefault(); return "Pixel (" + x + ", " + y + ")\n " + " R: " + model.getRed (pixel) + " G: " + model.getGreen (pixel) + " B: " + model.getBlue (pixel) + "\n"; } } mauve-20140821/gnu/testlet/java/awt/KeyboardFocusManager/0000755000175000001440000000000012375316426022002 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/KeyboardFocusManager/getGlobalFocusOwner.java0000644000175000001440000000411011015024263026535 0ustar dokousers/* getFocusOwner.java -- Tests getGlobalFocusOwner in KeyboardFocusManager Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 // Uses: TestKeyboardFocusManager package gnu.testlet.java.awt.KeyboardFocusManager; import java.awt.Component; import java.awt.KeyboardFocusManager; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getGlobalFocusOwner implements Testlet { public void test(TestHarness harness) { test01(harness); } /** * Tests if and how getFocusOwner() depends on getPermanentFocusOwner(). * * @param h the test harness */ private void test01(TestHarness h) { Component c1 = new Component(){}; Component c2 = new Component(){}; TestKeyboardFocusManager kfm = new TestKeyboardFocusManager(); // Make this the current KFM to avoid SecurityExceptions. KeyboardFocusManager.setCurrentKeyboardFocusManager(kfm); kfm.setGlobalFocusOwner(null); kfm.setGlobalPermanentFocusOwner(null); h.check(kfm.getGlobalFocusOwner(), null); kfm.setGlobalFocusOwner(c1); kfm.setGlobalPermanentFocusOwner(null); h.check(kfm.getGlobalFocusOwner(), c1); kfm.setGlobalFocusOwner(null); kfm.setGlobalPermanentFocusOwner(c2); h.check(kfm.getGlobalFocusOwner(), null); kfm.setGlobalFocusOwner(c1); kfm.setGlobalPermanentFocusOwner(c2); h.check(kfm.getGlobalFocusOwner(), c1); } } mauve-20140821/gnu/testlet/java/awt/KeyboardFocusManager/getFocusOwner.java0000644000175000001440000000357611015024263025433 0ustar dokousers/* getFocusOwner.java -- Tests getFocusOwner in KeyboardFocusManager Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 // Uses: TestKeyboardFocusManager package gnu.testlet.java.awt.KeyboardFocusManager; import java.awt.Component; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getFocusOwner implements Testlet { public void test(TestHarness harness) { test01(harness); } /** * Tests if and how getFocusOwner() depends on getPermanentFocusOwner(). * * @param h the test harness */ private void test01(TestHarness h) { Component c1 = new Component(){}; Component c2 = new Component(){}; TestKeyboardFocusManager kfm = new TestKeyboardFocusManager(); kfm.setGlobalFocusOwner(null); kfm.setGlobalPermanentFocusOwner(null); h.check(kfm.getFocusOwner(), null); kfm.setGlobalFocusOwner(c1); kfm.setGlobalPermanentFocusOwner(null); h.check(kfm.getFocusOwner(), c1); kfm.setGlobalFocusOwner(null); kfm.setGlobalPermanentFocusOwner(c2); h.check(kfm.getFocusOwner(), null); kfm.setGlobalFocusOwner(c1); kfm.setGlobalPermanentFocusOwner(c2); h.check(kfm.getFocusOwner(), c1); } } mauve-20140821/gnu/testlet/java/awt/KeyboardFocusManager/TestKeyboardFocusManager.java0000644000175000001440000000543710461754366027554 0ustar dokousers/* TestKeyboardFocusManager.java -- A helper class for testing Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.java.awt.KeyboardFocusManager; import java.awt.AWTEvent; import java.awt.Component; import java.awt.Container; import java.awt.KeyboardFocusManager; import java.awt.event.KeyEvent; public class TestKeyboardFocusManager extends KeyboardFocusManager { /** * Made public for testing. */ public void setGlobalFocusOwner(Component c) { super.setGlobalFocusOwner(c); } /** * Made public for testing. */ public Component getGlobalFocusOwner() { return super.getGlobalFocusOwner(); } /** * Made public for testing. */ public void setGlobalPermanentFocusOwner(Component c) { super.setGlobalPermanentFocusOwner(c); } /** * Made public for testing. */ public Component getGlobalPermanentFocusOwner() { return super.getGlobalPermanentFocusOwner(); } protected void dequeueKeyEvents(long after, Component untilFocused) { // TODO Auto-generated method stub } protected void discardKeyEvents(Component comp) { // TODO Auto-generated method stub } public boolean dispatchEvent(AWTEvent e) { // TODO Auto-generated method stub return false; } public boolean dispatchKeyEvent(KeyEvent e) { // TODO Auto-generated method stub return false; } public void downFocusCycle(Container cont) { // TODO Auto-generated method stub } protected void enqueueKeyEvents(long after, Component untilFocused) { // TODO Auto-generated method stub } public void focusNextComponent(Component comp) { // TODO Auto-generated method stub } public void focusPreviousComponent(Component comp) { // TODO Auto-generated method stub } public boolean postProcessKeyEvent(KeyEvent e) { // TODO Auto-generated method stub return false; } public void processKeyEvent(Component focused, KeyEvent e) { // TODO Auto-generated method stub } public void upFocusCycle(Component comp) { // TODO Auto-generated method stub } } mauve-20140821/gnu/testlet/java/awt/KeyboardFocusManager/getGlobalPermanentFocusOwner.java0000644000175000001440000000422611015024263030417 0ustar dokousers/* getFocusOwner.java -- Tests getermanentGlobalFocusOwner in KeyboardFocusManager Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 // Uses: TestKeyboardFocusManager package gnu.testlet.java.awt.KeyboardFocusManager; import java.awt.Component; import java.awt.KeyboardFocusManager; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getGlobalPermanentFocusOwner implements Testlet { public void test(TestHarness harness) { test01(harness); } /** * Tests if and how getFocusOwner() depends on getPermanentFocusOwner(). * * @param h the test harness */ private void test01(TestHarness h) { Component c1 = new Component(){}; Component c2 = new Component(){}; TestKeyboardFocusManager kfm = new TestKeyboardFocusManager(); // Make this the current KFM to avoid SecurityExceptions. KeyboardFocusManager.setCurrentKeyboardFocusManager(kfm); kfm.setGlobalFocusOwner(null); kfm.setGlobalPermanentFocusOwner(null); h.check(kfm.getGlobalPermanentFocusOwner(), null); kfm.setGlobalFocusOwner(c1); kfm.setGlobalPermanentFocusOwner(null); h.check(kfm.getGlobalPermanentFocusOwner(), null); kfm.setGlobalFocusOwner(null); kfm.setGlobalPermanentFocusOwner(c2); h.check(kfm.getGlobalPermanentFocusOwner(), c2); kfm.setGlobalFocusOwner(c1); kfm.setGlobalPermanentFocusOwner(c2); h.check(kfm.getGlobalPermanentFocusOwner(), c2); } } mauve-20140821/gnu/testlet/java/awt/Panel/0000755000175000001440000000000012375316426017006 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/Panel/TestPanelRepaint.java0000644000175000001440000000434111642275422023071 0ustar dokousers/* TestPanelRepaint.java -- Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package gnu.testlet.java.awt.Panel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Frame; import java.awt.Graphics; import java.awt.List; import java.awt.Panel; import java.awt.Robot; import java.awt.event.*; public class TestPanelRepaint implements Testlet { TestHarness harness; Robot r; boolean updateCalled; public void test(TestHarness harness) { this.harness = harness; r = harness.createRobot(); myPanel p = new myPanel(); p.add(new List(10)); Frame f = new Frame(); f.add(p); f.pack(); f.show(); // There is a delay to avoid any race conditions. r.waitForIdle(); r.delay(1000); f.move(100, 100); r.delay(3000); f.setSize(400, 400); // There is a delay so the tester can see the result. r.delay(3000); harness.check(updateCalled); // time to clean up f.dispose(); } public class myPanel extends Panel implements ComponentListener { public myPanel() { super(); addComponentListener(this); } public void update(Graphics g) { updateCalled = true; super.update(g); } public void componentResized(ComponentEvent e) { repaint(); } public void componentMoved(ComponentEvent e) { repaint(); } public void componentShown(ComponentEvent e) { repaint(); } public void componentHidden(ComponentEvent e) { repaint(); } } } mauve-20140821/gnu/testlet/java/awt/Component/0000755000175000001440000000000012375316426017711 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/Component/repaint.java0000644000175000001440000000676710374121343022223 0ustar dokousers/* repaint.java -- Tests repaint() methods in Component Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.1 package gnu.testlet.java.awt.Component; import java.awt.Component; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests how the repaint() methods call each other. * * @author Roman Kennke (kennke@aicas.com) */ public class repaint implements Testlet { /** * Indicate if one of the repaint methods got called. */ boolean repaint1Called; // The no-arg version. boolean repaint2Called; // The repaint(long) version. boolean repaint3Called; // The repaint(int,int,int,int) version. boolean repaint4Called; // The repaint(long,int,int,int,int) version. /** * Overridden to check which repaint() method gets called when. */ class TestComponent extends Component { public void repaint() { super.repaint(); repaint1Called = true; } public void repaint(long tm) { super.repaint(tm); repaint2Called = true; } public void repaint(int x, int y, int w, int h) { super.repaint(x, y, w, h); repaint3Called = true; } public void repaint(long tm, int x, int y, int w, int h) { super.repaint(tm, x, y, w, h); repaint4Called = true; } } /** * The entry point into this test. * * @param harness the test harness to use */ public void test(TestHarness harness) { testNotShowing(harness); } /** * Tests how the repaint() methods call each other when the component is not * showing. * * @param h the test harness to use */ private void testNotShowing(TestHarness h) { h.checkPoint("testNotShowing"); TestComponent c = new TestComponent(); // The component must not be showing at this point. h.check(!c.isShowing()); repaint1Called = false; repaint2Called = false; repaint3Called = false; repaint4Called = false; c.repaint(); h.check(repaint1Called); h.check(! repaint2Called); h.check(! repaint3Called); h.check(repaint4Called); repaint1Called = false; repaint2Called = false; repaint3Called = false; repaint4Called = false; c.repaint(100); h.check(! repaint1Called); h.check(repaint2Called); h.check(! repaint3Called); h.check(repaint4Called); repaint1Called = false; repaint2Called = false; repaint3Called = false; repaint4Called = false; c.repaint(0, 0, 1, 2); h.check(! repaint1Called); h.check(! repaint2Called); h.check(repaint3Called); h.check(repaint4Called); repaint1Called = false; repaint2Called = false; repaint3Called = false; repaint4Called = false; c.repaint(100, 0, 0, 1, 2); h.check(! repaint1Called); h.check(! repaint2Called); h.check(! repaint3Called); h.check(repaint4Called); } } mauve-20140821/gnu/testlet/java/awt/Component/setPreferredSize.java0000644000175000001440000000563110450460130024026 0ustar dokousers/* setPreferredSize.java -- some checks for the setPreferredSize() method in the Component class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.java.awt.Component; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Button; import java.awt.Component; import java.awt.Dimension; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; public class setPreferredSize implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent event) { events.add(event); } public void test(TestHarness harness) { Component c = new Button("ABC"); harness.check(c.getPreferredSize(), new Dimension(0, 0)); harness.check(c.isPreferredSizeSet(), false); c.addPropertyChangeListener(this); c.setPreferredSize(new Dimension(10, 20)); harness.check(c.getPreferredSize(), new Dimension(10, 20)); harness.check(events.size(), 1); PropertyChangeEvent e = (PropertyChangeEvent) events.get(0); harness.check(e.getPropertyName(), "preferredSize"); harness.check(e.getSource(), c); harness.check(e.getOldValue(), null); harness.check(e.getNewValue(), new Dimension(10, 20)); events.clear(); c.setPreferredSize(new Dimension(30, 40)); harness.check(c.getPreferredSize(), new Dimension(30, 40)); harness.check(c.isPreferredSizeSet(), true); harness.check(events.size(), 1); e = (PropertyChangeEvent) events.get(0); harness.check(e.getPropertyName(), "preferredSize"); harness.check(e.getSource(), c); harness.check(e.getOldValue(), new Dimension(10, 20)); harness.check(e.getNewValue(), new Dimension(30, 40)); events.clear(); c.setPreferredSize(null); harness.check(c.getPreferredSize(), new Dimension(0, 0)); harness.check(c.isPreferredSizeSet(), false); harness.check(events.size(), 1); e = (PropertyChangeEvent) events.get(0); harness.check(e.getPropertyName(), "preferredSize"); harness.check(e.getSource(), c); harness.check(e.getOldValue(), new Dimension(30, 40)); harness.check(e.getNewValue(), null); } } mauve-20140821/gnu/testlet/java/awt/Component/setComponentOrientation.java0000644000175000001440000000522110450176177025445 0ustar dokousers/* setComponentOrientation.java -- some checks for the setComponentOrientation() method in the Component class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.Component; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Component; import java.awt.ComponentOrientation; import java.awt.Label; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; public class setComponentOrientation implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } public void test(TestHarness harness) { Component c = new Label("ABC"); harness.check(c.getComponentOrientation(), ComponentOrientation.UNKNOWN); c.addPropertyChangeListener(this); c.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT); harness.check(c.getComponentOrientation(), ComponentOrientation.LEFT_TO_RIGHT); harness.check(events.size(), 1); PropertyChangeEvent e = (PropertyChangeEvent) events.get(0); harness.check(e.getSource(), c); harness.check(e.getPropertyName(), "componentOrientation"); harness.check(e.getOldValue(), ComponentOrientation.UNKNOWN); harness.check(e.getNewValue(), ComponentOrientation.LEFT_TO_RIGHT); // setting the same value again generates no event events.clear(); c.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT); harness.check(events.size(), 0); // try null c.setComponentOrientation(null); harness.check(c.getComponentOrientation(), null); harness.check(events.size(), 1); e = (PropertyChangeEvent) events.get(0); harness.check(e.getSource(), c); harness.check(e.getPropertyName(), "componentOrientation"); harness.check(e.getOldValue(), ComponentOrientation.LEFT_TO_RIGHT); harness.check(e.getNewValue(), null); } } mauve-20140821/gnu/testlet/java/awt/Component/getLocationOnScreen.java0000644000175000001440000000445110462366254024464 0ustar dokousers/* getLocationOnScreen.java -- Checks getLocationOnScreen() Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.0 package gnu.testlet.java.awt.Component; import java.awt.Component; import java.awt.Container; import java.awt.Frame; import java.awt.Point; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getLocationOnScreen implements Testlet { /** * Overrides Container and returns bogus values for getLocationOnScreen(). */ private class FakeContainer extends Container { public Point getLocationOnScreen() { return new Point(-1200, 12345); } } public void test(TestHarness harness) { testOverrideSafety(harness); } /** * Checks if that methods is safe from having components with overridden * getLocationOnScreen() methods in the tree. * * @param h the test harness */ private void testOverrideSafety(TestHarness h) { // The heavyweight parent. Frame f = new Frame(); // A lightweight container with a faked getLocationOnScreen() method. FakeContainer cont = new FakeContainer(); // A lightweight component. Component comp = new Component(){}; f.add(cont); cont.add(comp); f.setSize(100, 100); f.setVisible(true); cont.setBounds(10, 10, 80, 80); comp.setBounds(10, 10, 60, 60); Point frameLoc = f.getLocationOnScreen(); // The component now should have // (frameLoc.x + 20 + i.left, frameLoc.y + 20 + i.top). Point compLoc = comp.getLocationOnScreen(); h.check(compLoc.x, frameLoc.x + 20); h.check(compLoc.y, frameLoc.y + 20); f.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Component/properties14.java0000644000175000001440000000462210233253513023105 0ustar dokousers// Tags: GUI JDK1.4 // Copyright (C) 2005 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.Component; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; import java.beans.*; /** * Check if bound properties are firing PropertyChangeEvents and * simple properties not. * * @author Roman Kennke (roman@ontographics.com) */ public class properties14 implements Testlet { /** * stores the name of a fired property or null of none has * been fired. */ private String propertyName; /** * Non abstract subclass of Component to allow instatiation. */ public class TestComponent extends Component { } public void test (TestHarness harness) { // prepare test component Component comp = new TestComponent(); comp.addPropertyChangeListener(new PropertyChangeListener() { // sets propertyName when called public void propertyChange(PropertyChangeEvent ev) { propertyName = ev.getPropertyName(); } }); // check 'focusable' property propertyName = null; comp.setFocusable(false); comp.setFocusable(true); harness.check(propertyName, "focusable", "Property: focusable"); // check 'focusTraversalKeysEnabled' property propertyName = null; comp.setFocusTraversalKeysEnabled(false); comp.setFocusTraversalKeysEnabled(true); harness.check(propertyName, "focusTraversalKeysEnabled", "Property: focusTraversalKeysEnabled"); // check 'ignoreRepaint' property propertyName = null; comp.setIgnoreRepaint(false); comp.setIgnoreRepaint(true); harness.check(propertyName, null, "Property: ignoreRepaint"); } } mauve-20140821/gnu/testlet/java/awt/Component/setName.java0000644000175000001440000000376610450252546022156 0ustar dokousers/* setName.java -- some checks for the setName() method in the Component class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.Component; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Component; import java.awt.Label; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; public class setName implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } public void test(TestHarness harness) { Component c = new Label("ABC"); harness.check(c.getName() != null); c.addPropertyChangeListener(this); c.setName("XYZ"); harness.check(c.getName(), "XYZ"); harness.check(events.size(), 1); PropertyChangeEvent e0 = (PropertyChangeEvent) events.get(0); harness.check(e0.getSource(), c); harness.check(e0.getPropertyName(), "name"); harness.check(e0.getOldValue() != null); harness.check(e0.getNewValue(), "XYZ"); // setting the same value generates no event events.clear(); c.setName("XYZ"); harness.check(events.size(), 0); // try null c.setName(null); harness.check(c.getName(), null); } } mauve-20140821/gnu/testlet/java/awt/Component/getFont.java0000644000175000001440000000271311641332705022156 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Component; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Component; import java.awt.Frame; public class getFont implements Testlet { class TestComponent extends Component { } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TestComponent c = new TestComponent(); harness.check(c.getFont(), null); Frame f = new Frame(); f.add(c); f.setSize(100, 100); f.setVisible(true); harness.check(c.getFont(), c.getGraphics().getFont()); // time to clean up f.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Component/invalidate.java0000644000175000001440000001043510455470015022667 0ustar dokousers// Tags: GUI JDK1.2 // Copyright (C) 2005 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.Component; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; /** * The method invalidate should be automatically called in * response to several property changes such as size and location. * This is checked here. * * @author Roman Kennke (roman@ontographics.com) */ public class invalidate implements Testlet { /** * Non abstract subclass of Component to allow instatiation and * test. */ public class TestComponent extends Component { /** * If revalidate has been called or not. */ boolean invalidated; /** * Override this method to check if revalidate has been called. */ public void invalidate() { invalidated = true; super.invalidate(); } } /** * Subclass of Container to allow test. */ class TestContainer extends Container { boolean invalidated; /** * Override this method to check if revalidate has been called. */ public void invalidate() { invalidated = true; super.invalidate(); } } /** * Subclass of Component to allow test. */ public class myComponent extends Component { } public void test (TestHarness harness) { test1(harness); test2(harness); testInvalidateInvalidComponent(harness); } private void test1(TestHarness harness) { // prepare test component TestComponent comp = new TestComponent(); Frame frame = new Frame(); frame.add(comp); frame.setVisible(true); // change size and check if invalidate has been called comp.invalidated = false; comp.setSize(100, 200); harness.check(comp.invalidated, true); // change size and check if invalidate has been called comp.invalidated = false; comp.setSize(new Dimension(101, 201)); harness.check(comp.invalidated, true); // change size and check if invalidate has been called comp.invalidated = false; comp.resize(102, 202); harness.check(comp.invalidated, true); frame.dispose(); } private void test2(TestHarness harness) { myComponent c = new myComponent(); harness.check(c.isPreferredSizeSet(), false); c.setPreferredSize(new Dimension(400, 500)); Dimension prefSizeOld = c.getPreferredSize(); harness.check(c.isPreferredSizeSet(), true); c.invalidate(); harness.check(c.isPreferredSizeSet(), true); Dimension prefSizeNew = c.getPreferredSize(); harness.check(prefSizeOld != prefSizeNew); harness.check(prefSizeOld.equals(prefSizeNew)); } private void testInvalidateInvalidComponent(TestHarness harness) { harness.checkPoint("invalidateInvalidComponent"); Frame f = new Frame(); TestContainer c1 = new TestContainer(); TestComponent c2 = new TestComponent(); c1.add(c2); f.add(c1); f.setSize(100, 100); f.setVisible(true); c1.validate(); c2.validate(); harness.check(c1.isValid(), true); harness.check(c1.isValid(), true); c1.invalidated = false; c2.invalidated = false; // This should invalidate both c1 and c2. c2.invalidate(); harness.check(c1.invalidated, true); harness.check(c2.invalidated, true); // Now both components are invalid. Another call to invalidate() on c2 // should not invalidate c1, since it's already invalid. c1.invalidated = false; c2.invalidated = false; // This should invalidate both c1 and c2. c2.invalidate(); harness.check(c1.invalidated, false); harness.check(c2.invalidated, true); f.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Component/getMaximumSize.java0000644000175000001440000000267310332154563023525 0ustar dokousers// Tags: JDK1.4 JDK1.5 // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.Component; import java.awt.Component; import java.awt.Dimension; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Checks for the default value of Component.getMaximumSize. Should be * (Short.MAX_VALUE, Short.MAX_VALUE). * * @author Roman Kennke (kennke@aicas.com) */ public class getMaximumSize implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { Component c = new Component(){}; Dimension max = c.getMaximumSize(); harness.check(max.width, Short.MAX_VALUE); harness.check(max.height, Short.MAX_VALUE); } } mauve-20140821/gnu/testlet/java/awt/Component/setMaximumSize.java0000644000175000001440000000567010450460130023530 0ustar dokousers/* setMaximumSize.java -- some checks for the setMaximumSize() method in the Component class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.java.awt.Component; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Button; import java.awt.Component; import java.awt.Dimension; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; public class setMaximumSize implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent event) { events.add(event); } public void test(TestHarness harness) { Component c = new Button("ABC"); harness.check(c.getMaximumSize(), new Dimension(32767, 32767)); harness.check(c.isMaximumSizeSet(), false); c.addPropertyChangeListener(this); c.setMaximumSize(new Dimension(10, 20)); harness.check(c.getMaximumSize(), new Dimension(10, 20)); harness.check(c.isMaximumSizeSet(), true); harness.check(events.size(), 1); PropertyChangeEvent e = (PropertyChangeEvent) events.get(0); harness.check(e.getPropertyName(), "maximumSize"); harness.check(e.getSource(), c); harness.check(e.getOldValue(), null); harness.check(e.getNewValue(), new Dimension(10, 20)); events.clear(); c.setMaximumSize(new Dimension(30, 40)); harness.check(c.getMaximumSize(), new Dimension(30, 40)); harness.check(c.isMaximumSizeSet(), true); harness.check(events.size(), 1); e = (PropertyChangeEvent) events.get(0); harness.check(e.getPropertyName(), "maximumSize"); harness.check(e.getSource(), c); harness.check(e.getOldValue(), new Dimension(10, 20)); harness.check(e.getNewValue(), new Dimension(30, 40)); events.clear(); c.setMaximumSize(null); harness.check(c.getMaximumSize(), new Dimension(32767, 32767)); harness.check(c.isMaximumSizeSet(), false); harness.check(events.size(), 1); e = (PropertyChangeEvent) events.get(0); harness.check(e.getPropertyName(), "maximumSize"); harness.check(e.getSource(), c); harness.check(e.getOldValue(), new Dimension(30, 40)); harness.check(e.getNewValue(), null); } } mauve-20140821/gnu/testlet/java/awt/Component/setFont.java0000644000175000001440000000445210453446274022203 0ustar dokousers/* setFont.java -- Checks how setFont() is supposed to work Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.1 package gnu.testlet.java.awt.Component; import java.awt.Component; import java.awt.Font; import java.awt.Frame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class setFont implements Testlet { private boolean invalidated; private class TestComponent extends Component { public void invalidate() { super.invalidate(); invalidated = true; } } public void test(TestHarness harness) { testInvalidate(harness); } private void testInvalidate(TestHarness h) { h.checkPoint("invalidate"); TestComponent c = new TestComponent(); // Test not showing. // Valid components get invalidated. c.validate(); h.check(! c.isValid()); invalidated = false; c.setFont(new Font("Dialog", Font.BOLD, 12)); h.check(invalidated); // Invalid components don't get invalidated. h.check(!c.isValid()); invalidated = false; c.setFont(new Font("Dialog", Font.BOLD, 12)); h.check(! invalidated); // Test showing. Frame f = new Frame(); f.add(c); f.setSize(100, 100); f.setVisible(true); h.check(c.isShowing()); // Valid components get invalidated. c.validate(); h.check(c.isValid()); invalidated = false; c.setFont(new Font("Dialog", Font.BOLD, 12)); h.check(invalidated); // Invalid components don't get invalidated. h.check(!c.isValid()); invalidated = false; c.setFont(new Font("Dialog", Font.BOLD, 12)); h.check(! invalidated); } } mauve-20140821/gnu/testlet/java/awt/Component/setMinimumSize.java0000644000175000001440000000557110450460130023526 0ustar dokousers/* setMinimumSize.java -- some checks for the setMinimumSize() method in the Component class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.java.awt.Component; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Button; import java.awt.Component; import java.awt.Dimension; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; public class setMinimumSize implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent event) { events.add(event); } public void test(TestHarness harness) { Component c = new Button("ABC"); harness.check(c.getMinimumSize(), new Dimension(0, 0)); harness.check(c.isMinimumSizeSet(), false); c.addPropertyChangeListener(this); c.setMinimumSize(new Dimension(10, 20)); harness.check(c.getMinimumSize(), new Dimension(10, 20)); harness.check(events.size(), 1); PropertyChangeEvent e = (PropertyChangeEvent) events.get(0); harness.check(e.getPropertyName(), "minimumSize"); harness.check(e.getSource(), c); harness.check(e.getOldValue(), null); harness.check(e.getNewValue(), new Dimension(10, 20)); events.clear(); c.setMinimumSize(new Dimension(30, 40)); harness.check(c.getMinimumSize(), new Dimension(30, 40)); harness.check(c.isMinimumSizeSet(), true); harness.check(events.size(), 1); e = (PropertyChangeEvent) events.get(0); harness.check(e.getPropertyName(), "minimumSize"); harness.check(e.getSource(), c); harness.check(e.getOldValue(), new Dimension(10, 20)); harness.check(e.getNewValue(), new Dimension(30, 40)); events.clear(); c.setMinimumSize(null); harness.check(c.getMinimumSize(), new Dimension(0, 0)); harness.check(c.isMinimumSizeSet(), false); harness.check(events.size(), 1); e = (PropertyChangeEvent) events.get(0); harness.check(e.getPropertyName(), "minimumSize"); harness.check(e.getSource(), c); harness.check(e.getOldValue(), new Dimension(30, 40)); harness.check(e.getNewValue(), null); } } mauve-20140821/gnu/testlet/java/awt/Component/getForeground.java0000644000175000001440000000272510332155076023365 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.Component; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.Component; import java.awt.Container; public class getForeground implements Testlet { class TestComponent extends Component { } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TestComponent c = new TestComponent(); harness.check(c.getForeground(), null); Container c2 = new Container(); c2.setForeground(Color.GREEN); c2.add(c); harness.check(c.getForeground(), Color.GREEN); } } mauve-20140821/gnu/testlet/java/awt/Component/isValid.java0000644000175000001440000000316010453446274022147 0ustar dokousers/* isValid.java -- Checks how isValid() is supposed to work Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags:JDK1.1 package gnu.testlet.java.awt.Component; import java.awt.Component; import java.awt.Frame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class isValid implements Testlet { public void test(TestHarness harness) { testShowing(harness); testNotShowing(harness); } private void testShowing(TestHarness h) { h.checkPoint("showing"); Frame f = new Frame(); Component c = new Component(){}; f.add(c); f.setSize(100, 100); f.setVisible(true); c.invalidate(); h.check(!c.isValid()); c.validate(); h.check(c.isValid()); } private void testNotShowing(TestHarness h) { h.checkPoint("notShowing"); Component c = new Component(){}; c.invalidate(); h.check(!c.isValid()); c.validate(); h.check(!c.isValid()); } } mauve-20140821/gnu/testlet/java/awt/Component/requestFocus.java0000644000175000001440000000255111641332705023240 0ustar dokousers// Tags: GUI JDK1.0 // Copyright (C) 2005 Red Hat // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.Component; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Frame; public class requestFocus implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Frame jf = new Frame(); jf.show(); try { jf.requestFocus(); } catch (NullPointerException npe) { harness.fail("Call to requestFocus generated a NPE"); } finally { jf.dispose(); } } } mauve-20140821/gnu/testlet/java/awt/Component/update.java0000644000175000001440000000753510301441137022031 0ustar dokousers// Tags: GUI JDK1.2 // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.Component; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; import javax.swing.*; /** * Checks if the update method in Component is called correctly. The * update method is only called on lightweight and top-level components. * * @author Roman Kennke (roman@kennke.org) */ public class update implements Testlet { /** * The testclasses defined in this test append a unique character to * this teststring. This way we can check which component's update and paint * method gets called and in which order. */ StringBuffer test = new StringBuffer(); // We define some classes here, they all override update() to append // a unique character to the teststring. At the end we test if the // teststring is correct. class TopLevel extends Frame { public void update(Graphics g) { test.append('1'); super.update(g); } public void paint(Graphics g) { test.append('2'); super.paint(g); } } class LightWeight extends Component { public void update(Graphics g) { test.append('3'); super.update(g); } public void paint(Graphics g) { test.append('4'); super.paint(g); } public boolean isLightweight() { return true; } } class HeavyWeight extends Label { public void update(Graphics g) { test.append('5'); super.update(g); } public void paint(Graphics g) { test.append('6'); super.paint(g); } public boolean isLightweight() { return false; } } class LightContainer extends Container { public void update(Graphics g) { test.append('7'); super.update(g); } public void paint(Graphics g) { test.append('8'); super.paint(g); } } class HeavyContainer extends Label { public void update(Graphics g) { test.append('a'); super.update(g); } public void paint(Graphics g) { test.append('b'); super.paint(g); } } /** * This Graphics subclass is used to check if the background is cleared * in the update method. */ class TestGraphics extends DebugGraphics { TestGraphics(Graphics g) { super(g); } public void clearRect(int x, int y, int w, int h) { test.append('9'); } } public void test (TestHarness harness) { TopLevel t = new TopLevel(); t.setLayout(new GridLayout()); HeavyWeight h = new HeavyWeight(); t.add(h); LightWeight l = new LightWeight(); t.add(l); LightContainer c = new LightContainer(); t.add(c); HeavyContainer c2 = new HeavyContainer(); t.add(c2); t.setSize(200, 200); t.setVisible(true); Graphics g = new TestGraphics(t.getGraphics()); // Wait until frame has become visible. try { Thread.sleep(3000); } catch (Exception ex) { } test = new StringBuffer(); t.update(g); harness.check(test.toString(), "19284", test.toString()); t.setVisible(false); t.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Component/getListeners.java0000644000175000001440000000531610544512702023220 0ustar dokousers// Tags: JDK1.3 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.Component; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Component; import java.awt.event.ComponentEvent; import java.awt.event.ComponentListener; import java.awt.event.FocusListener; import java.util.EventListener; /** * Some tests for the getListeners(Class) method in the * {@link Component} class. */ public class getListeners implements Testlet, ComponentListener { class TestComponent extends Component { } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TestComponent c = new TestComponent(); c.addComponentListener(this); EventListener[] listeners = c.getListeners(ComponentListener.class); harness.check(listeners.length, 1); harness.check(listeners[0], this); // try a listener type that isn't registered listeners = c.getListeners(FocusListener.class); harness.check(listeners.length, 0); c.removeComponentListener(this); listeners = c.getListeners(ComponentListener.class); harness.check(listeners.length, 0); // try a null argument boolean pass = false; try { listeners = c.getListeners(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); /* Doesn't compile with 1.5 // try a class that isn't a listener pass = false; try { listeners = c.getListeners(Integer.class); } catch (ClassCastException e) { pass = true; } harness.check(pass); */ } public void componentResized(ComponentEvent e) { // ignore } public void componentShown(ComponentEvent e) { // ignore } public void componentMoved(ComponentEvent e) { // ignore } public void componentHidden(ComponentEvent e) { // ignore } } mauve-20140821/gnu/testlet/java/awt/Component/properties.java0000644000175000001440000001120410461351752022741 0ustar dokousers// Tags: GUI JDK1.2 // Copyright (C) 2005, 2006, Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.java.awt.Component; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.Component; import java.awt.ComponentOrientation; import java.awt.Cursor; import java.awt.Dimension; import java.awt.Font; import java.awt.Point; import java.awt.Rectangle; import java.awt.dnd.DropTarget; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.Locale; /** * Check if bound properties are firing PropertyChangeEvents and * simple properties not. * * @author Roman Kennke (roman@ontographics.com) */ public class properties implements Testlet { /** * stores the name of a fired property or null of none has * been fired. */ private String propertyName; /** * Non abstract subclass of Component to allow instatiation. */ public class TestComponent extends Component { } public void test (TestHarness harness) { // prepare test component Component comp = new TestComponent(); comp.addPropertyChangeListener(new PropertyChangeListener() { // sets propertyName when called public void propertyChange(PropertyChangeEvent ev) { propertyName = ev.getPropertyName(); } }); // check 'background' property (must be fired) propertyName = null; comp.setBackground(Color.YELLOW); harness.check(propertyName, "background", "Property: background"); // check 'bounds' property (must not be fired) propertyName = null; comp.setBounds(new Rectangle(143, 564, 1200, 2233)); harness.check(propertyName, null, "Property: bounds"); // check 'componentOrientation' property (should be fired) propertyName = null; comp.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT); // do second call to assure that the property actually changes comp.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); harness.check(propertyName, "componentOrientation", "Property: componentOrientation"); // check 'cursor' property (must not be fired) propertyName = null; comp.setCursor(new Cursor(Cursor.HAND_CURSOR)); harness.check(propertyName, null, "Property: cursor"); // check 'dropTarget' property (must not be fired) propertyName = null; comp.setDropTarget(new DropTarget()); harness.check(propertyName, null, "Property: dropTarget"); // check 'enabled' property (must not be fired) propertyName = null; comp.setEnabled(true); comp.setEnabled(false); harness.check(propertyName, null, "Property: enabled"); // check 'font' property (must be fired) propertyName = null; comp.setFont(new Font("Monospaced", Font.PLAIN, 12)); harness.check(propertyName, "font", "Property: font"); // check 'foreground' property (must be fired) propertyName = null; comp.setForeground(Color.CYAN); harness.check(propertyName, "foreground", "Property: foreground"); // check 'locale' property (must be fired) propertyName = null; comp.setLocale(Locale.CHINESE); comp.setLocale(Locale.GERMAN); harness.check(propertyName, "locale", "Property: locale"); // check 'location' property (must not be fired) propertyName = null; comp.setLocation(new Point(123, 456)); harness.check(propertyName, null, "Property: location"); // check 'name' property (must be fired) propertyName = null; comp.setName("Obelix"); harness.check(propertyName, "name", "Property: name"); // check 'size' property (must not be fired) propertyName = null; comp.setSize(new Dimension(987, 654)); harness.check(propertyName, null, "Property: size"); // check 'visible' property (must not be fired) propertyName = null; comp.setVisible(true); comp.setVisible(false); harness.check(propertyName, null, "Property: visible"); } } mauve-20140821/gnu/testlet/java/awt/Component/clickModifiers.java0000644000175000001440000000427710206546740023510 0ustar dokousers// Tags: GUI JDK1.0 // Copyright (C) 2005 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.Component; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; import java.awt.event.*; /** * Check that a click events contain the proper modifier information. */ public class clickModifiers implements Testlet { int modifiers = 0; class clickModifiersFrame extends Frame { clickModifiersFrame () { super (); } } public void test (TestHarness harness) { Robot r = harness.createRobot (); int x = 100; int y = 100; int width = 100; int height = 100; clickModifiersFrame f = new clickModifiersFrame (); f.setLocation (x, y); f.setSize (width, height); f.addMouseListener (new MouseAdapter () { public void mouseClicked (MouseEvent e) { modifiers = e.getModifiers (); } }); r.setAutoDelay (100); r.setAutoWaitForIdle (true); f.show (); r.mouseMove (x + width / 2, y + height / 2); // left click r.mousePress (InputEvent.BUTTON1_MASK); r.mouseRelease (InputEvent.BUTTON1_MASK); harness.check (modifiers == InputEvent.BUTTON1_MASK); // right click r.mousePress (InputEvent.BUTTON2_MASK); r.mouseRelease (InputEvent.BUTTON2_MASK); harness.check (modifiers == InputEvent.BUTTON2_MASK); // middle click r.mousePress (InputEvent.BUTTON3_MASK); r.mouseRelease (InputEvent.BUTTON3_MASK); harness.check (modifiers == InputEvent.BUTTON3_MASK); } } mauve-20140821/gnu/testlet/java/awt/Component/keyPressTest.java0000644000175000001440000001044310701162217023207 0ustar dokousers/* keyPressTest.java -- Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package gnu.testlet.java.awt.Component; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Event; import java.awt.Frame; import java.awt.Robot; import java.awt.event.KeyEvent; public class keyPressTest implements Testlet { //arbitrary lock for use in synchronizing test and awt threads final Object lock = new Object(); volatile Integer key = null; Robot r; myFrame f; TestHarness h; public void test (TestHarness h) { f = new myFrame(); r = h.createRobot (); this.h = h; f.setSize(200,200); // assumes that the window is positioned at 0,0. f.show(); waitForWindow(); runTest(KeyEvent.VK_A, 'a'); runTest(KeyEvent.VK_B, 'b'); runTest(KeyEvent.VK_C, 'c'); runTest(KeyEvent.VK_D, 'd'); runTest(KeyEvent.VK_E, 'e'); runTest(KeyEvent.VK_F, 'f'); runTest(KeyEvent.VK_G, 'g'); runTest(KeyEvent.VK_H, 'h'); runTest(KeyEvent.VK_I, 'i'); runTest(KeyEvent.VK_J, 'j'); runTest(KeyEvent.VK_K, 'k'); runTest(KeyEvent.VK_L, 'l'); runTest(KeyEvent.VK_M, 'm'); runTest(KeyEvent.VK_N, 'n'); runTest(KeyEvent.VK_O, 'o'); runTest(KeyEvent.VK_P, 'p'); runTest(KeyEvent.VK_Q, 'q'); runTest(KeyEvent.VK_R, 'r'); runTest(KeyEvent.VK_S, 's'); runTest(KeyEvent.VK_T, 't'); runTest(KeyEvent.VK_U, 'u'); runTest(KeyEvent.VK_V, 'v'); runTest(KeyEvent.VK_W, 'w'); runTest(KeyEvent.VK_X, 'x'); runTest(KeyEvent.VK_Y, 'y'); runTest(KeyEvent.VK_Z, 'z'); f.dispose(); } public void runTest(int code, char chr) { int k; // assigned in the synchronized block r.mouseMove(60, 60); synchronized(lock) { key = null; // reset the key // queue the events r.keyPress(code); r.keyRelease(code); // don't press they key forever try { // release the lock so that the frame can handle the keypress event // once it has handled the event, it will notify on the lock. // at this point the key should be non-null. We test the result // and return lock.wait(); } catch (InterruptedException e) { // ignore, we want to get started again } k = key.intValue(); } h.check(k, chr); } class myFrame extends Frame { public boolean keyDown(Event e, int i) { synchronized(lock) { key = new Integer(e.key); lock.notifyAll(); } return super.keyDown(e, i); } } /** * Blocks until the frame has able to respond to keypress events */ private void waitForWindow() { // wait until the window starts process events synchronized(lock) { while (key == null) { r.keyPress(KeyEvent.VK_EQUALS); // send a key press event r.keyRelease(KeyEvent.VK_EQUALS); // don't press the key forever try { // wait for a notify from the frame, or timeout in case the // window missed the key press event entirely lock.wait(100); } catch (InterruptedException ie) { // interrupted, if key is still null, we'll try again } } // send one more "magic" key press as a marker that we've processed // all of our probing key strokes r.keyPress(KeyEvent.VK_SEMICOLON); // send a key press event r.keyRelease(KeyEvent.VK_SEMICOLON); // don't press the key forever } // Eat up any straggler key strokes, wait for the final magic key press while(key != KeyEvent.VK_SEMICOLON) { try { Thread.sleep(100); } catch (InterruptedException e) { // shouldn't happen } } } } mauve-20140821/gnu/testlet/java/awt/MenuItem/0000755000175000001440000000000012375316426017472 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/MenuItem/label1.java0000644000175000001440000000246410252140562021467 0ustar dokousers// Tags: GUI JDK1.0 // Copyright (C) 2004 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.MenuItem; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; import java.awt.event.*; /** * Check initial value of a MenuItem label. */ public class label1 implements Testlet { public void test (TestHarness harness) { MenuItem m1 = new MenuItem (); harness.check (m1.getLabel() == ""); MenuItem m2 = new MenuItem ("menu item 2"); harness.check (m2.getLabel() == "menu item 2"); MenuItem m3 = new MenuItem (null); harness.check (m3.getLabel() == null); } } mauve-20140821/gnu/testlet/java/awt/print/0000755000175000001440000000000012375316426017103 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/print/PrinterJob/0000755000175000001440000000000012375316426021161 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/FileDialog/0000755000175000001440000000000012375316426017746 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/FileDialog/setFile.java0000644000175000001440000000304010517743416022200 0ustar dokousers/* testSetFile.java Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.4 package gnu.testlet.java.awt.FileDialog; import java.awt.FileDialog; import java.awt.Frame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class setFile implements Testlet { public void test(TestHarness harness) { test1(harness); test2(harness); test3(harness); } public void test1(TestHarness harness) { FileDialog fd = new FileDialog(new Frame()); fd.setFile("String"); harness.check(fd.getFile(), "String"); } public void test2(TestHarness harness) { FileDialog fd = new FileDialog(new Frame()); fd.setFile(null); harness.check(fd.getFile(), null); } public void test3(TestHarness harness) { FileDialog fd = new FileDialog(new Frame()); fd.setFile(""); harness.check(fd.getFile(), null); } } mauve-20140821/gnu/testlet/java/awt/FileDialog/defaultProperties.java0000644000175000001440000001012010517743416024303 0ustar dokousers/* defaultProperties.java Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.4 package gnu.testlet.java.awt.FileDialog; import java.awt.FileDialog; import java.awt.Dimension; import java.awt.Frame; import java.awt.Insets; import java.awt.Point; import java.awt.Rectangle; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class defaultProperties implements Testlet { public void test(TestHarness harness) { // This test ensures that all properties are set // to the default values. FileDialog dialog = new FileDialog(new Frame()); harness.check(dialog.getAlignmentX(), 0.5); harness.check(dialog.getAlignmentY(), 0.5); harness.check(dialog.getComponentCount(), 0); harness.check(dialog.getFocusableWindowState(), true); harness.check(dialog.getFocusTraversalKeysEnabled(), true); harness.check(dialog.getHeight(), 0); harness.check(dialog.getIgnoreRepaint(), false); harness.check(dialog.getWidth(), 0); harness.check(dialog.getX(), 0); harness.check(dialog.getY(), 0); harness.check(dialog.getBackground(), null); harness.check(dialog.getBounds(), new Rectangle()); harness.check(dialog.getDropTarget(), null); harness.check(dialog.getFocusCycleRootAncestor(), null); harness.check(dialog.getFocusOwner(), null); harness.check(dialog.getFont(), null); harness.check(dialog.getForeground(), null); harness.check(dialog.getGraphics(), null); harness.check(dialog.getInputMethodRequests(), null); harness.check(dialog.getInsets(), new Insets(0, 0, 0, 0)); harness.check(dialog.getLayout(), null); harness.check(dialog.getLocation(), new Point()); harness.check(dialog.getMaximumSize(), new Dimension(32767, 32767)); harness.check(dialog.getMinimumSize(), new Dimension()); harness.check(dialog.getName(), "filedlg0"); harness.check(dialog.getPreferredSize(), new Dimension()); harness.check(dialog.getSize(), new Dimension()); harness.check(dialog.getTitle(), ""); harness.check(dialog.getWarningString(), null); harness.check(dialog.isActive(), false); harness.check(dialog.isAlwaysOnTop(), false); harness.check(dialog.isBackgroundSet(), false); harness.check(dialog.isCursorSet(), true); harness.check(dialog.isDisplayable(), false); harness.check(dialog.isDoubleBuffered(), false); harness.check(dialog.isEnabled(), true); harness.check(dialog.isFocusable(), true); harness.check(dialog.isFocusableWindow(), true); harness.check(dialog.isFocusCycleRoot(), true); harness.check(dialog.isFocused(), false); harness.check(dialog.isFocusOwner(), false); harness.check(dialog.isFocusTraversalPolicyProvider(), false); harness.check(dialog.isFocusTraversalPolicySet(), true); harness.check(dialog.isFontSet(), false); harness.check(dialog.isForegroundSet(), false); harness.check(dialog.isLightweight(), false); harness.check(dialog.isMaximumSizeSet(), false); harness.check(dialog.isMinimumSizeSet(), false); harness.check(dialog.isModal(), true); harness.check(dialog.isOpaque(), false); // Currently fails on Classpath harness.check(dialog.isPreferredSizeSet(), false); harness.check(dialog.isResizable(), true); harness.check(dialog.isShowing(), false); harness.check(dialog.isUndecorated(), false); harness.check(dialog.isValid(), false); harness.check(dialog.isVisible(), false); } } mauve-20140821/gnu/testlet/java/awt/FileDialog/TestGraphics.java0000644000175000001440000000431310406272004023174 0ustar dokousers// Tags: GUI JDK1.0 // Copyright (C) 2006 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.FileDialog; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; /** * Tests that FileDialog.getGraphics does not return null and that paint and * update are called on it. */ public class TestGraphics implements Testlet { FileDialog d = null; Robot r = null; boolean paintCalled = false; boolean updateCalled = false; public void test(TestHarness harness) { Frame f = new Frame(); d = new FileDialog(f); r = harness.createRobot(); f.setSize(200, 200); f.show(); harness.check(d.getGraphics() == null); // A FileDialog is modal so we must cancel it so that the test will // finish. But a FileDialog's layout is peerset-dependant so we // cannot cancel it using Robot. We hide it from a separate // thread instead. new Thread() { public void run() { r.delay(2000); d.hide(); } }.start(); d.show(); harness.check(d.getGraphics() != null); d.dispose(); harness.check(d.getGraphics() == null); d = new FileDialog(f) { public void paint(Graphics g) { paintCalled = true; } public void update(Graphics g) { updateCalled = true; } }; new Thread() { public void run() { r.delay(2000); d.hide(); } }.start(); d.show(); harness.check(paintCalled); harness.check(!updateCalled); d.repaint(); r.waitForIdle(); r.delay(1000); // Sun does not call FileDialog.update. harness.check(!updateCalled); } } mauve-20140821/gnu/testlet/java/awt/GradientPaint/0000755000175000001440000000000012375316426020500 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/GradientPaint/constructors.java0000644000175000001440000001505110242666707024116 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.GradientPaint; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.GradientPaint; import java.awt.geom.Point2D; /** * Some checks for the constructors in the {@link GradientPaint} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); } private void testConstructor1(TestHarness harness) { harness.checkPoint("(float, float, Color, float, float, Color)"); GradientPaint gp = new GradientPaint(1.0f, 2.0f, Color.red, 3.0f, 4.0f, Color.blue); harness.check(gp.getPoint1().getX(), 1.0); harness.check(gp.getPoint1().getY(), 2.0); harness.check(gp.getColor1(), Color.red); harness.check(gp.getPoint2().getX(), 3.0); harness.check(gp.getPoint2().getY(), 4.0); harness.check(gp.getColor2(), Color.blue); harness.check(gp.isCyclic(), false); // try null arguments boolean pass = false; try { gp = new GradientPaint(1.0f, 2.0f, null, 3.0f, 4.0f, Color.blue); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { gp = new GradientPaint(1.0f, 2.0f, Color.red, 3.0f, 4.0f, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } private void testConstructor2(TestHarness harness) { harness.checkPoint("(float, float, Color, float, float, Color, boolean)"); GradientPaint gp = new GradientPaint(1.0f, 2.0f, Color.red, 3.0f, 4.0f, Color.blue, true); harness.check(gp.getPoint1().getX(), 1.0); harness.check(gp.getPoint1().getY(), 2.0); harness.check(gp.getColor1(), Color.red); harness.check(gp.getPoint2().getX(), 3.0); harness.check(gp.getPoint2().getY(), 4.0); harness.check(gp.getColor2(), Color.blue); harness.check(gp.isCyclic(), true); // try null arguments boolean pass = false; try { gp = new GradientPaint(1.0f, 2.0f, null, 3.0f, 4.0f, Color.blue, true); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { gp = new GradientPaint(1.0f, 2.0f, Color.red, 3.0f, 4.0f, null, true); } catch (NullPointerException e) { pass = true; } harness.check(pass); } private void testConstructor3(TestHarness harness) { harness.checkPoint("(Point2D, Color, Point2D, Color)"); GradientPaint gp = new GradientPaint( new Point2D.Float(1.0f, 2.0f), Color.red, new Point2D.Float(3.0f, 4.0f), Color.blue ); harness.check(gp.getPoint1().getX(), 1.0); harness.check(gp.getPoint1().getY(), 2.0); harness.check(gp.getColor1(), Color.red); harness.check(gp.getPoint2().getX(), 3.0); harness.check(gp.getPoint2().getY(), 4.0); harness.check(gp.getColor2(), Color.blue); harness.check(gp.isCyclic(), false); // try null arguments boolean pass = false; try { gp = new GradientPaint(null, Color.red, new Point2D.Float(3.0f, 4.0f), Color.blue); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { gp = new GradientPaint(new Point2D.Float(1.0f, 2.0f), null, new Point2D.Float(3.0f, 4.0f), Color.blue); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { gp = new GradientPaint(new Point2D.Float(1.0f, 2.0f), Color.red, null, Color.blue); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { gp = new GradientPaint(new Point2D.Float(1.0f, 2.0f), Color.red, new Point2D.Float(1.0f, 2.0f), null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } private void testConstructor4(TestHarness harness) { harness.checkPoint("(Point2D, Color, Point2D, Color, boolean)"); GradientPaint gp = new GradientPaint( new Point2D.Float(1.0f, 2.0f), Color.red, new Point2D.Float(3.0f, 4.0f), Color.blue, true ); harness.check(gp.getPoint1().getX(), 1.0); harness.check(gp.getPoint1().getY(), 2.0); harness.check(gp.getColor1(), Color.red); harness.check(gp.getPoint2().getX(), 3.0); harness.check(gp.getPoint2().getY(), 4.0); harness.check(gp.getColor2(), Color.blue); harness.check(gp.isCyclic(), true); // try null arguments boolean pass = false; try { gp = new GradientPaint(null, Color.red, new Point2D.Float(3.0f, 4.0f), Color.blue, true); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { gp = new GradientPaint(new Point2D.Float(1.0f, 2.0f), null, new Point2D.Float(3.0f, 4.0f), Color.blue, true); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { gp = new GradientPaint(new Point2D.Float(1.0f, 2.0f), Color.red, null, Color.blue, true); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { gp = new GradientPaint(new Point2D.Float(1.0f, 2.0f), Color.red, new Point2D.Float(1.0f, 2.0f), null, true); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/GradientPaint/getColor1.java0000644000175000001440000000264410242666707023211 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.GradientPaint; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.GradientPaint; /** * Some checks for the getColor1() method in the {@link GradientPaint} class. */ public class getColor1 implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { GradientPaint gp = new GradientPaint(1.0f, 2.0f, Color.red, 3.0f, 4.0f, Color.blue); harness.check(gp.getColor1(), Color.red); } } mauve-20140821/gnu/testlet/java/awt/GradientPaint/equals.java0000644000175000001440000000311510242666707022636 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.GradientPaint; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.GradientPaint; /** * Checks that the equals() method in the {@link GradientPaint} class works * correctly. In this case, it doesn't override the method inherited from * {@link Object}. */ public class equals implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { GradientPaint gp1 = new GradientPaint(1.0f, 2.0f, Color.red, 3.0f, 4.0f, Color.blue); GradientPaint gp2 = new GradientPaint(1.0f, 2.0f, Color.red, 3.0f, 4.0f, Color.blue); harness.check(!gp1.equals(gp2)); } } mauve-20140821/gnu/testlet/java/awt/GradientPaint/getPoint1.java0000644000175000001440000000326210242666707023221 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.GradientPaint; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.GradientPaint; import java.awt.geom.Point2D; /** * Some checks for the getPoint1() method in the {@link GradientPaint} class. */ public class getPoint1 implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { GradientPaint gp = new GradientPaint(1.0f, 2.0f, Color.red, 3.0f, 4.0f, Color.blue); Point2D p1 = gp.getPoint1(); harness.check(p1.getX(), 1.0); harness.check(p1.getY(), 2.0); // check that p1 has no connection to gp p1.setLocation(3.0, 4.0); Point2D p2 = gp.getPoint1(); harness.check(p2.getX(), 1.0); harness.check(p2.getY(), 2.0); } } mauve-20140821/gnu/testlet/java/awt/GradientPaint/isCyclic.java0000644000175000001440000000306310242666707023110 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.GradientPaint; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.GradientPaint; /** * Checks that the isCyclic() method in the {@link GradientPaint} class works * correctly. */ public class isCyclic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { GradientPaint gp1 = new GradientPaint(1.0f, 2.0f, Color.red, 3.0f, 4.0f, Color.blue, false); GradientPaint gp2 = new GradientPaint(1.0f, 2.0f, Color.red, 3.0f, 4.0f, Color.blue, true); harness.check(!gp1.isCyclic()); harness.check(gp2.isCyclic()); } } mauve-20140821/gnu/testlet/java/awt/GradientPaint/getColor2.java0000644000175000001440000000264510242666707023213 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.GradientPaint; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.GradientPaint; /** * Some checks for the getColor2() method in the {@link GradientPaint} class. */ public class getColor2 implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { GradientPaint gp = new GradientPaint(1.0f, 2.0f, Color.red, 3.0f, 4.0f, Color.blue); harness.check(gp.getColor2(), Color.blue); } } mauve-20140821/gnu/testlet/java/awt/GradientPaint/getTransparency.java0000644000175000001440000000343010242666707024515 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.GradientPaint; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.GradientPaint; import java.awt.Transparency; /** * Some checks for the getTransparency() method in the {@link GradientPaint} * class works. */ public class getTransparency implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { GradientPaint gp = new GradientPaint(1.0f, 2.0f, Color.red, 3.0f, 4.0f, Color.blue); harness.check(gp.getTransparency(), Transparency.OPAQUE); gp = new GradientPaint(1.0f, 2.0f, new Color(1, 2, 3, 4), 3.0f, 4.0f, Color.blue); harness.check(gp.getTransparency(), Transparency.TRANSLUCENT); gp = new GradientPaint(1.0f, 2.0f, Color.red, 3.0f, 4.0f, new Color(1, 2, 3, 4)); harness.check(gp.getTransparency(), Transparency.TRANSLUCENT); } } mauve-20140821/gnu/testlet/java/awt/GradientPaint/getPoint2.java0000644000175000001440000000325510242666707023224 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.GradientPaint; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.GradientPaint; import java.awt.geom.Point2D; /** * Some checks for the getPoint2() method in the {@link GradientPaint} class. */ public class getPoint2 implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { GradientPaint gp = new GradientPaint(1.0f, 2.0f, Color.red, 3.0f, 4.0f, Color.blue); Point2D p2 = gp.getPoint2(); harness.check(p2.getX(), 3.0); harness.check(p2.getY(), 4.0); // check that p2 has no connection to gp p2.setLocation(5.0, 6.0); Point2D pp = gp.getPoint2(); harness.check(pp.getX(), 3.0); harness.check(pp.getY(), 4.0); } } mauve-20140821/gnu/testlet/java/awt/Color/0000755000175000001440000000000012375316426017025 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/CardLayout/0000755000175000001440000000000012375316426020016 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/CardLayout/getHgap.java0000644000175000001440000000267411664655321022251 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.CardLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.CardLayout; /** * Some checks for the getHgap() method in the {@link CardLayout} class. */ public class getHgap implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { CardLayout b = new CardLayout(); b.setHgap(0); harness.check(b.getHgap(), 0); b.setHgap(42); harness.check(b.getHgap(), 42); b.setHgap(-42); harness.check(b.getHgap(), -42); } } mauve-20140821/gnu/testlet/java/awt/CardLayout/setVgap.java0000644000175000001440000000267411664655321022303 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.CardLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.CardLayout; /** * Some checks for the setVgap() method in the {@link CardLayout} class. */ public class setVgap implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { CardLayout b = new CardLayout(); b.setVgap(0); harness.check(b.getVgap(), 0); b.setVgap(42); harness.check(b.getVgap(), 42); b.setVgap(-42); harness.check(b.getVgap(), -42); } } mauve-20140821/gnu/testlet/java/awt/CardLayout/removeLayoutComponent.java0000644000175000001440000000706611663724606025252 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.CardLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.CardLayout; import java.awt.Component; import java.awt.Canvas; import java.awt.Button; import java.awt.Panel; /** * Check for the functionality of method CardLayout.removeLayoutComponent */ public class removeLayoutComponent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testButton(harness); testCanvas(harness); } /** * Test the method CardLayout.removeLayoutComponent for a Button widget. * * @param harness the test harness (null not permitted). */ private void testButton(TestHarness harness) { harness.checkPoint("removeLayoutComponent(Button)"); CardLayout layout = new CardLayout(); Button component = new Button(); // Check the add/remove component method using all possible constraints. checkAllPossibleConstraints(harness, layout, component); } /** * Test the method CardLayout.removeLayoutComponent for a Canvas widget. * * @param harness the test harness (null not permitted). */ private void testCanvas(TestHarness harness) { harness.checkPoint("removeLayoutComponent(Canvas)"); CardLayout layout = new CardLayout(); Canvas component = new Canvas(); // Check the add/remove component method using all possible constraints. checkAllPossibleConstraints(harness, layout, component); } /** * Check the add/remove component method using all possible constraints. * * @param harness the test harness (null not permitted). * @param layout instance of CardLayout manager * @param component selected component */ private void checkAllPossibleConstraints(TestHarness harness, CardLayout layout, Component component) { checkAddRemove(harness, layout, component, ""); checkAddRemove(harness, layout, component, " "); checkAddRemove(harness, layout, component, "xyzzy"); checkAddRemove(harness, layout, component, null); } /** * Add specified component to the layout manager and then remove this component. * * @param harness the test harness (null not permitted). * @param layout instance of CardLayout manager * @param component selected component * @param name component name */ private void checkAddRemove(TestHarness harness, CardLayout layout, Component component, String name) { try { layout.addLayoutComponent(component, name); } catch (IllegalArgumentException e) { harness.fail(e.getMessage()); } layout.removeLayoutComponent(component); } } mauve-20140821/gnu/testlet/java/awt/CardLayout/PaintTestFirstNextComb.java0000644000175000001440000002742311667672125025260 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.CardLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.CardLayout; /** * Test if five canvases are positioned correctly to a frame using CardLayout. * Zero-width gaps are used during positioning canvases on a frame, so we also have to * test if the gaps are not visible at all. */ public class PaintTestFirstNextComb extends Panel implements Testlet { /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT = 250; /** * Small delay (pause times) for an AWT robot * used for card switching. */ public static int SMALL_DELAY_AMOUNT = 1000; /** * Offset (in pixels) from the "true" border * to check hgaps and vgaps visibility * This value should be greater than zero and less than *GAP_SIZE. */ public static int OFFSET_FROM_BORDER = 10; /** * Default background color for a panel. */ public static Color BACKGROUND_COLOR = Color.red; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { CardLayout layout = new CardLayout(); this.setLayout(layout); setBackground(BACKGROUND_COLOR); Frame frame = new Frame(); // create five components and add them to the panel Canvas canvas1 = new Canvas(); Canvas canvas2 = new Canvas(); Canvas canvas3 = new Canvas(); Canvas canvas4 = new Canvas(); Canvas canvas5 = new Canvas(); // set size of all canvases canvas1.setSize(100,100); canvas2.setSize(100,100); canvas3.setSize(100,100); canvas4.setSize(100,100); canvas5.setSize(100,100); // set background of all canvases canvas1.setBackground(Color.blue); canvas2.setBackground(Color.yellow); canvas3.setBackground(Color.magenta); canvas4.setBackground(Color.yellow); canvas5.setBackground(Color.cyan); // position all five canvases on frame add(canvas1); add(canvas2); add(canvas3); add(canvas4); add(canvas5); // setup for a frame frame.add(this); frame.pack(); frame.show(); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); layout.first(this); doTest(harness, robot, frame, canvas1, Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); layout.first(this); nextCard(robot, layout, 1); doTest(harness, robot, frame, canvas2, Color.yellow); // check if the third component is properly shown on the panel harness.checkPoint("third component"); layout.first(this); nextCard(robot, layout, 2); doTest(harness, robot, frame, canvas3, Color.magenta); // check if the fourth component is properly shown on the panel harness.checkPoint("fourth component"); layout.first(this); nextCard(robot, layout, 3); doTest(harness, robot, frame, canvas4, Color.yellow); // check if the fifth component is properly shown on the panel harness.checkPoint("fifth component"); layout.first(this); nextCard(robot, layout, 4); doTest(harness, robot, frame, canvas5, Color.cyan); // check the first card again harness.checkPoint("first component againt"); layout.first(this); doTest(harness, robot, frame, canvas1, Color.blue); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Slowly changes to the selected card. * * @param robot instance of AWT robot * @param card card number */ private void nextCard(Robot robot, CardLayout layout, int card) { for (int i = 0; i < card; i++) { robot.waitForIdle(); robot.delay(SMALL_DELAY_AMOUNT); layout.next(this); } } /** * Runs the test for one component using the specified harness. * * @param harness the test harness (null not permitted). * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component * @param componentColor background color of tested component */ private void doTest(TestHarness harness, Robot robot, Frame frame, Component component, Color componentColor) { // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check color inside the component harness.check(getColorForComponent(robot, frame, component), componentColor); // check color on the borders - there should not be any borders visible harness.check(getColorForLeftBorder(robot, frame, component), componentColor); harness.check(getColorForRightBorder(robot, frame, component), componentColor); harness.check(getColorForTopBorder(robot, frame, component), componentColor); harness.check(getColorForBottomBorder(robot, frame, component), componentColor); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Get color of a pixel located in the left border. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForLeftBorder(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); p.x = OFFSET_FROM_BORDER; moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Get color of a pixel located in the right border. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForRightBorder(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); p.x = frame.getWidth() - OFFSET_FROM_BORDER; moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Get color of a pixel located in the top border. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForTopBorder(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); p.y = p.y - component.getHeight()/2 + OFFSET_FROM_BORDER; moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Get color of a pixel located in the bottom border. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForBottomBorder(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); p.y = p.y + component.getHeight()/2 - OFFSET_FROM_BORDER; moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Compute coordinates of a pixel located in the middle of the component. * * @param frame frame where component is used * @param component tested component */ private Point computeCenterOfComponent(Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // return computed center (position of a checked pixel) return new Point(checkedPixelX, checkedPixelY); } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to visually show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param g the graphics context to use for painting */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/CardLayout/setHgap.java0000644000175000001440000000267411664655321022265 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.CardLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.CardLayout; /** * Some checks for the setHgap() method in the {@link CardLayout} class. */ public class setHgap implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { CardLayout b = new CardLayout(); b.setHgap(0); harness.check(b.getHgap(), 0); b.setHgap(42); harness.check(b.getHgap(), 42); b.setHgap(-42); harness.check(b.getHgap(), -42); } } mauve-20140821/gnu/testlet/java/awt/CardLayout/toString.java0000644000175000001440000000327511667425037022503 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.CardLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.CardLayout; // test of method toString() public class toString implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // test constructor without any parameter CardLayout cardLayout1 = new CardLayout(); cardLayout1.toString(); harness.check(cardLayout1.toString() != null); harness.check(cardLayout1.toString(), "java.awt.CardLayout[hgap=0,vgap=0]"); // test constructor with two parameters CardLayout cardLayout2 = new CardLayout(50, 50); cardLayout2.toString(); harness.check(cardLayout1.toString() != null); harness.check(cardLayout2.toString(), "java.awt.CardLayout[hgap=50,vgap=50]"); } } mauve-20140821/gnu/testlet/java/awt/CardLayout/getLayoutAlignmentY.java0000644000175000001440000000365311667425037024637 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.CardLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.CardLayout; import javax.swing.JComponent; /** * Some checks for the getLayoutAlignmentY() method in the {@link CardLayout} class. */ public class getLayoutAlignmentY implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JComponent component = new JComponent(){}; CardLayout cardLayout = new CardLayout(); // Check for the value when nothing is touched. harness.check(cardLayout.getLayoutAlignmentY(component), 0.5f); // Setting the containers AlignmentY doesn't change anything. // 0 == alignment along the origin component.setAlignmentY(0.0f); harness.check(cardLayout.getLayoutAlignmentY(component), 0.5f); // Setting the containers AlignmentY doesn't change anything. // 1 == alignment furthest away from the origin component.setAlignmentY(1.0f); harness.check(cardLayout.getLayoutAlignmentY(component), 0.5f); } } mauve-20140821/gnu/testlet/java/awt/CardLayout/PaintTestZeroGaps.java0000644000175000001440000002625611667150763024265 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.CardLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.CardLayout; /** * Test if five canvases are positioned correctly to a frame using CardLayout. * Zero-width gaps are used during positioning canvases on a frame, so we also have to * test if the gaps are not visible at all. */ public class PaintTestZeroGaps extends Panel implements Testlet { /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT = 250; /** * Horizontal gap size. */ public static int HGAP_SIZE = 0; /** * Vertical gap size. */ public static int VGAP_SIZE = 0; /** * Offset (in pixels) from the "true" border * to check hgaps and vgaps visibility * This value should be greater than zero and less than *GAP_SIZE. */ public static int OFFSET_FROM_BORDER = 10; /** * Default background color for a panel. */ public static Color BACKGROUND_COLOR = Color.red; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { CardLayout layout = new CardLayout(HGAP_SIZE, VGAP_SIZE); this.setLayout(layout); setBackground(BACKGROUND_COLOR); Frame frame = new Frame(); // create five components and add them to the panel Canvas canvas1 = new Canvas(); Canvas canvas2 = new Canvas(); Canvas canvas3 = new Canvas(); Canvas canvas4 = new Canvas(); Canvas canvas5 = new Canvas(); // set size of all canvases canvas1.setSize(100,100); canvas2.setSize(100,100); canvas3.setSize(100,100); canvas4.setSize(100,100); canvas5.setSize(100,100); // set background of all canvases canvas1.setBackground(Color.blue); canvas2.setBackground(Color.yellow); canvas3.setBackground(Color.magenta); canvas4.setBackground(Color.yellow); canvas5.setBackground(Color.cyan); // position all five canvases on frame add(canvas1); add(canvas2); add(canvas3); add(canvas4); add(canvas5); // setup for a frame frame.add(this); frame.pack(); frame.show(); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); layout.first(this); doTest(harness, robot, frame, canvas1, Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); layout.next(this); doTest(harness, robot, frame, canvas2, Color.yellow); // check if the third component is properly shown on the panel harness.checkPoint("third component"); layout.next(this); doTest(harness, robot, frame, canvas3, Color.magenta); // check if the fourth component is properly shown on the panel harness.checkPoint("fourth component"); layout.next(this); doTest(harness, robot, frame, canvas4, Color.yellow); // check if the fifth component is properly shown on the panel harness.checkPoint("fifth component"); layout.next(this); doTest(harness, robot, frame, canvas5, Color.cyan); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Runs the test for one component using the specified harness. * * @param harness the test harness (null not permitted). * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component * @param componentColor background color of tested component */ private void doTest(TestHarness harness, Robot robot, Frame frame, Component component, Color componentColor) { // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check color inside the component harness.check(getColorForComponent(robot, frame, component), componentColor); // check color on the borders - there should not be any borders visible harness.check(getColorForLeftBorder(robot, frame, component), componentColor); harness.check(getColorForRightBorder(robot, frame, component), componentColor); harness.check(getColorForTopBorder(robot, frame, component), componentColor); harness.check(getColorForBottomBorder(robot, frame, component), componentColor); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Get color of a pixel located in the left border. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForLeftBorder(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); p.x = OFFSET_FROM_BORDER; moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Get color of a pixel located in the right border. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForRightBorder(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); p.x = frame.getWidth() - OFFSET_FROM_BORDER; moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Get color of a pixel located in the top border. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForTopBorder(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); p.y = p.y - component.getHeight()/2 + OFFSET_FROM_BORDER; moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Get color of a pixel located in the bottom border. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForBottomBorder(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); p.y = p.y + component.getHeight()/2 - OFFSET_FROM_BORDER; moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Compute coordinates of a pixel located in the middle of the component. * * @param frame frame where component is used * @param component tested component */ private Point computeCenterOfComponent(Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // return computed center (position of a checked pixel) return new Point(checkedPixelX, checkedPixelY); } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to visually show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param g the graphics context to use for painting */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/CardLayout/first.java0000644000175000001440000000464510373355363022020 0ustar dokousers//Tags: JDK1.0 //Copyright (C) 2006 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 51 Franklin Street, Fifth Floor, //Boston, MA, 02110-1301 USA. package gnu.testlet.java.awt.CardLayout; import java.awt.CardLayout; import java.awt.Frame; import java.awt.Panel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests the first method for various argument types. * As first, next, previous, last are all implemented by * the same internal method in GNU classpath this tests * all these methods for the argument types. */ public class first implements Testlet { public void test(TestHarness harness) { CardLayout layout = new CardLayout(); Frame containerWithLayout = new Frame(); Panel panel = new Panel(); containerWithLayout.setLayout(layout); // test without a panel added - no exception should be thrown try { layout.first(containerWithLayout); harness.check(true); } catch (Exception e) { harness.check(false); } // test correct usage - with an added panel containerWithLayout.add(panel, "Panel"); try { layout.first(containerWithLayout); harness.check(true); } catch (Exception e) { harness.check(false); } // test null behaviour - triggers NPE try { layout.first(null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } // test usage with container without setLayout called Frame container = new Frame(); container.add(panel); try { layout.first(container); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/awt/CardLayout/testMaximumLayoutSize.java0000644000175000001440000000265210546777014025236 0ustar dokousers/* testMaximumLayout.java Copyright (C) 2006 Red Hat, 2007 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.4 package gnu.testlet.java.awt.CardLayout; import java.awt.CardLayout; import java.awt.Dimension; import java.awt.Frame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class testMaximumLayoutSize implements Testlet { public void test(TestHarness harness) { CardLayout layout = new CardLayout(); harness.check(layout.maximumLayoutSize(null), new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE)); Frame frame = new Frame(); harness.check(frame.getComponentCount(), 0); harness.check(layout.maximumLayoutSize(frame), new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE)); } } mauve-20140821/gnu/testlet/java/awt/CardLayout/PaintTest.java0000644000175000001440000002577211667425037022613 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.CardLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.CardLayout; /** * Test if five canvases are positioned correctly to a frame using CardLayout. * Zero-width gaps are used during positioning canvases on a frame, so we also have to * test if the gaps are not visible at all. */ public class PaintTest extends Panel implements Testlet { /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT = 250; /** * Offset (in pixels) from the "true" border * to check hgaps and vgaps visibility * This value should be greater than zero and less than *GAP_SIZE. */ public static int OFFSET_FROM_BORDER = 10; /** * Default background color for a panel. */ public static Color BACKGROUND_COLOR = Color.red; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { CardLayout layout = new CardLayout(); this.setLayout(layout); setBackground(BACKGROUND_COLOR); Frame frame = new Frame(); // create five components and add them to the panel Canvas canvas1 = new Canvas(); Canvas canvas2 = new Canvas(); Canvas canvas3 = new Canvas(); Canvas canvas4 = new Canvas(); Canvas canvas5 = new Canvas(); // set size of all canvases canvas1.setSize(100,100); canvas2.setSize(100,100); canvas3.setSize(100,100); canvas4.setSize(100,100); canvas5.setSize(100,100); // set background of all canvases canvas1.setBackground(Color.blue); canvas2.setBackground(Color.yellow); canvas3.setBackground(Color.magenta); canvas4.setBackground(Color.yellow); canvas5.setBackground(Color.cyan); // position all five canvases on frame add(canvas1); add(canvas2); add(canvas3); add(canvas4); add(canvas5); // setup for a frame frame.add(this); frame.pack(); frame.show(); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); layout.first(this); doTest(harness, robot, frame, canvas1, Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); layout.next(this); doTest(harness, robot, frame, canvas2, Color.yellow); // check if the third component is properly shown on the panel harness.checkPoint("third component"); layout.next(this); doTest(harness, robot, frame, canvas3, Color.magenta); // check if the fourth component is properly shown on the panel harness.checkPoint("fourth component"); layout.next(this); doTest(harness, robot, frame, canvas4, Color.yellow); // check if the fifth component is properly shown on the panel harness.checkPoint("fifth component"); layout.next(this); doTest(harness, robot, frame, canvas5, Color.cyan); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Runs the test for one component using the specified harness. * * @param harness the test harness (null not permitted). * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component * @param componentColor background color of tested component */ private void doTest(TestHarness harness, Robot robot, Frame frame, Component component, Color componentColor) { // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check color inside the component harness.check(getColorForComponent(robot, frame, component), componentColor); // check color on the borders - there should not be any borders visible harness.check(getColorForLeftBorder(robot, frame, component), componentColor); harness.check(getColorForRightBorder(robot, frame, component), componentColor); harness.check(getColorForTopBorder(robot, frame, component), componentColor); harness.check(getColorForBottomBorder(robot, frame, component), componentColor); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Get color of a pixel located in the left border. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForLeftBorder(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); p.x = OFFSET_FROM_BORDER; moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Get color of a pixel located in the right border. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForRightBorder(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); p.x = frame.getWidth() - OFFSET_FROM_BORDER; moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Get color of a pixel located in the top border. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForTopBorder(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); p.y = p.y - component.getHeight()/2 + OFFSET_FROM_BORDER; moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Get color of a pixel located in the bottom border. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForBottomBorder(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); p.y = p.y + component.getHeight()/2 - OFFSET_FROM_BORDER; moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Compute coordinates of a pixel located in the middle of the component. * * @param frame frame where component is used * @param component tested component */ private Point computeCenterOfComponent(Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // return computed center (position of a checked pixel) return new Point(checkedPixelX, checkedPixelY); } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to visually show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param g the graphics context to use for painting */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/CardLayout/testMinimumLayoutSize.java0000644000175000001440000000234310515517562025225 0ustar dokousers/* testMinimumLayoutSize.java Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.4 package gnu.testlet.java.awt.CardLayout; import java.awt.CardLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class testMinimumLayoutSize implements Testlet { public void test(TestHarness harness) { CardLayout layout = new CardLayout(); boolean failed = false; try { layout.minimumLayoutSize(null); } catch (NullPointerException e) { failed = true; } harness.check(failed); } } mauve-20140821/gnu/testlet/java/awt/CardLayout/show.java0000644000175000001440000000606410373355363021646 0ustar dokousers//Tags: JDK1.0 //Copyright (C) 2006 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 51 Franklin Street, Fifth Floor, //Boston, MA, 02110-1301 USA. package gnu.testlet.java.awt.CardLayout; import java.awt.CardLayout; import java.awt.Frame; import java.awt.Panel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests the show method for various argument types. */ public class show implements Testlet { public void test(TestHarness harness) { CardLayout layout = new CardLayout(); Frame containerWithLayout = new Frame(); Panel panel = new Panel(); containerWithLayout.setLayout(layout); containerWithLayout.add(panel, "Panel"); // test correct usage try { layout.show(containerWithLayout, "Panel"); harness.check(true); } catch (Exception e) { harness.check(false); } // test with string == null // nothing should happen no exception try { layout.show(containerWithLayout, null); harness.check(true); } catch (Exception e) { e.printStackTrace(); harness.check(false); } // same with unknown names try { layout.show(containerWithLayout, "XXXXX"); harness.check(true); } catch (Exception e) { harness.check(false); } // same with empty strings try { layout.show(containerWithLayout, ""); harness.check(true); } catch (Exception e) { harness.check(false); } // test usage with container without setLayout called Frame container = new Frame(); container.add(panel); try { layout.show(container, "Panel"); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // test usage with container with another CardLayout instance called CardLayout layout2 = new CardLayout(); container.setLayout(layout2); try { layout.show(container, "Panel"); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // test usage with container == null // NPE must be thrown try { layout.show(null, "Panel"); harness.check(false); } catch (NullPointerException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/awt/CardLayout/getLayoutAlignmentX.java0000644000175000001440000000365311667425037024636 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.CardLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.CardLayout; import javax.swing.JComponent; /** * Some checks for the getLayoutAlignmentX() method in the {@link CardLayout} class. */ public class getLayoutAlignmentX implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JComponent component = new JComponent(){}; CardLayout cardLayout = new CardLayout(); // Check for the value when nothing is touched. harness.check(cardLayout.getLayoutAlignmentX(component), 0.5f); // Setting the containers alignmentX doesn't change anything. // 0 == alignment along the origin component.setAlignmentX(0.0f); harness.check(cardLayout.getLayoutAlignmentX(component), 0.5f); // Setting the containers alignmentX doesn't change anything. // 1 == alignment furthest away from the origin component.setAlignmentX(1.0f); harness.check(cardLayout.getLayoutAlignmentX(component), 0.5f); } } mauve-20140821/gnu/testlet/java/awt/CardLayout/PaintTestBiggerGaps.java0000644000175000001440000002623311667150763024540 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.CardLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.CardLayout; /** * Test if five canvases are positioned correctly to a frame using CardLayout. * (only one canvas is visible at given moment) * Horizontal and vertical gaps are wider than 0 pixels. */ public class PaintTestBiggerGaps extends Panel implements Testlet { /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT = 250; /** * Horizontal gap size. */ public static int HGAP_SIZE = 50; /** * Vertical gap size. */ public static int VGAP_SIZE = HGAP_SIZE; /** * Offset (in pixels) from the "true" border * to check hgaps and vgaps visibility * This value should be greater than zero and less than *GAP_SIZE. */ public static int OFFSET_FROM_BORDER = VGAP_SIZE / 2; /** * Default background color for a panel. */ public static Color BACKGROUND_COLOR = Color.red; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { CardLayout layout = new CardLayout(HGAP_SIZE, VGAP_SIZE); this.setLayout(layout); setBackground(BACKGROUND_COLOR); Frame frame = new Frame(); // create five components and add them to the panel Canvas canvas1 = new Canvas(); Canvas canvas2 = new Canvas(); Canvas canvas3 = new Canvas(); Canvas canvas4 = new Canvas(); Canvas canvas5 = new Canvas(); // set size of all canvases canvas1.setSize(100,100); canvas2.setSize(100,100); canvas3.setSize(100,100); canvas4.setSize(100,100); canvas5.setSize(100,100); // set background of all canvases canvas1.setBackground(Color.blue); canvas2.setBackground(Color.yellow); canvas3.setBackground(Color.magenta); canvas4.setBackground(Color.yellow); canvas5.setBackground(Color.cyan); // position all five canvases on frame add(canvas1); add(canvas2); add(canvas3); add(canvas4); add(canvas5); // setup for a frame frame.add(this); frame.pack(); frame.show(); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); layout.first(this); doTest(harness, robot, frame, canvas1, Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); layout.next(this); doTest(harness, robot, frame, canvas2, Color.yellow); // check if the third component is properly shown on the panel harness.checkPoint("third component"); layout.next(this); doTest(harness, robot, frame, canvas3, Color.magenta); // check if the fourth component is properly shown on the panel harness.checkPoint("fourth component"); layout.next(this); doTest(harness, robot, frame, canvas4, Color.yellow); // check if the fifth component is properly shown on the panel harness.checkPoint("fifth component"); layout.next(this); doTest(harness, robot, frame, canvas5, Color.cyan); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Runs the test for one component using the specified harness. * * @param harness the test harness (null not permitted). * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component * @param componentColor background color of tested component */ private void doTest(TestHarness harness, Robot robot, Frame frame, Component component, Color componentColor) { // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check color inside the component harness.check(getColorForComponent(robot, frame, component), componentColor); // check color on the borders (if there are any) harness.check(getColorForLeftBorder(robot, frame, component), BACKGROUND_COLOR); harness.check(getColorForRightBorder(robot, frame, component), BACKGROUND_COLOR); harness.check(getColorForTopBorder(robot, frame, component), BACKGROUND_COLOR); harness.check(getColorForBottomBorder(robot, frame, component), BACKGROUND_COLOR); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Get color of a pixel located in the left border. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForLeftBorder(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); p.x = OFFSET_FROM_BORDER; moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Get color of a pixel located in the right border. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForRightBorder(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); p.x = frame.getWidth() - OFFSET_FROM_BORDER; moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Get color of a pixel located in the top border. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForTopBorder(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); p.y = p.y - component.getHeight()/2 - OFFSET_FROM_BORDER; moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Get color of a pixel located in the bottom border. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForBottomBorder(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); p.y = p.y + component.getHeight()/2 + OFFSET_FROM_BORDER; moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Compute coordinates of a pixel located in the middle of the component. * * @param frame frame where component is used * @param component tested component */ private Point computeCenterOfComponent(Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // return computed center (position of a checked pixel) return new Point(checkedPixelX, checkedPixelY); } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to visually show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param g the graphics context to use for painting */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/CardLayout/addLayoutComponent.java0000644000175000001440000000705311663724606024501 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.CardLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.CardLayout; import java.awt.Component; import java.awt.Canvas; import java.awt.Button; import java.awt.Panel; /** * Check for the functionality of method CardLayout.addLayoutComponent */ public class addLayoutComponent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testButton(harness); testCanvas(harness); } /** * Test the method CardLayout.addLayoutComponent for a Button widget. * * @param harness the test harness (null not permitted). */ private void testButton(TestHarness harness) { harness.checkPoint("removeLayoutComponent(Button)"); CardLayout layout = new CardLayout(); Button component = new Button(); // Check the add/remove component method using all possible constraints. checkAllPossibleConstraints(harness, layout, component); } /** * Test the method CardLayout.addLayoutComponent for a Canvas widget. * * @param harness the test harness (null not permitted). */ private void testCanvas(TestHarness harness) { harness.checkPoint("removeLayoutComponent(Canvas)"); CardLayout layout = new CardLayout(); Canvas component = new Canvas(); // Check the add/remove component method using all possible constraints. checkAllPossibleConstraints(harness, layout, component); } /** * Check the add/remove component method using all possible constraints. * * @param harness the test harness (null not permitted). * @param layout instance of CardLayout manager * @param component selected component */ private void checkAllPossibleConstraints(TestHarness harness, CardLayout layout, Component component) { checkAddRemove(harness, layout, component, ""); checkAddRemove(harness, layout, component, " "); checkAddRemove(harness, layout, component, "xyzzy"); checkAddRemove(harness, layout, component, null); } /** * Add specified component to the layout manager and then remove this component. * * @param harness the test harness (null not permitted). * @param layout instance of CardLayout manager * @param component selected component * @param name component name */ private void checkAddRemove(TestHarness harness, CardLayout layout, Component component, String name) { try { layout.addLayoutComponent(component, name); } catch (IllegalArgumentException e) { harness.fail(e.getMessage()); } layout.removeLayoutComponent(component); } } mauve-20140821/gnu/testlet/java/awt/CardLayout/getVgap.java0000644000175000001440000000267411664655321022267 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.CardLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.CardLayout; /** * Some checks for the getVgap() method in the {@link CardLayout} class. */ public class getVgap implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { CardLayout b = new CardLayout(); b.setHgap(0); harness.check(b.getHgap(), 0); b.setHgap(42); harness.check(b.getHgap(), 42); b.setHgap(-42); harness.check(b.getHgap(), -42); } } mauve-20140821/gnu/testlet/java/awt/CardLayout/PaintTestBiggerVGap.java0000644000175000001440000002617611667672125024512 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.CardLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.CardLayout; /** * Test if five canvases are positioned correctly to a frame using CardLayout. * (only one canvas is visible at given moment) * Vertical gap is wider than 0 pixels. */ public class PaintTestBiggerVGap extends Panel implements Testlet { /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT = 250; /** * Horizontal gap size. */ public static int HGAP_SIZE = 0; /** * Vertical gap size. */ public static int VGAP_SIZE = 50; /** * Offset (in pixels) from the "true" border * to check hgaps and vgaps visibility * This value should be greater than zero and less than *GAP_SIZE. */ public static int OFFSET_FROM_BORDER = VGAP_SIZE / 2; /** * Default background color for a panel. */ public static Color BACKGROUND_COLOR = Color.red; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { CardLayout layout = new CardLayout(HGAP_SIZE, VGAP_SIZE); this.setLayout(layout); setBackground(BACKGROUND_COLOR); Frame frame = new Frame(); // create five components and add them to the panel Canvas canvas1 = new Canvas(); Canvas canvas2 = new Canvas(); Canvas canvas3 = new Canvas(); Canvas canvas4 = new Canvas(); Canvas canvas5 = new Canvas(); // set size of all canvases canvas1.setSize(100,100); canvas2.setSize(100,100); canvas3.setSize(100,100); canvas4.setSize(100,100); canvas5.setSize(100,100); // set background of all canvases canvas1.setBackground(Color.blue); canvas2.setBackground(Color.yellow); canvas3.setBackground(Color.magenta); canvas4.setBackground(Color.yellow); canvas5.setBackground(Color.cyan); // position all five canvases on frame add(canvas1); add(canvas2); add(canvas3); add(canvas4); add(canvas5); // setup for a frame frame.add(this); frame.pack(); frame.show(); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); layout.first(this); doTest(harness, robot, frame, canvas1, Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); layout.next(this); doTest(harness, robot, frame, canvas2, Color.yellow); // check if the third component is properly shown on the panel harness.checkPoint("third component"); layout.next(this); doTest(harness, robot, frame, canvas3, Color.magenta); // check if the fourth component is properly shown on the panel harness.checkPoint("fourth component"); layout.next(this); doTest(harness, robot, frame, canvas4, Color.yellow); // check if the fifth component is properly shown on the panel harness.checkPoint("fifth component"); layout.next(this); doTest(harness, robot, frame, canvas5, Color.cyan); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Runs the test for one component using the specified harness. * * @param harness the test harness (null not permitted). * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component * @param componentColor background color of tested component */ private void doTest(TestHarness harness, Robot robot, Frame frame, Component component, Color componentColor) { // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check color inside the component harness.check(getColorForComponent(robot, frame, component), componentColor); // check color on the borders (if there are any) harness.check(getColorForLeftBorder(robot, frame, component), componentColor); harness.check(getColorForRightBorder(robot, frame, component), componentColor); harness.check(getColorForTopBorder(robot, frame, component), BACKGROUND_COLOR); harness.check(getColorForBottomBorder(robot, frame, component), BACKGROUND_COLOR); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Get color of a pixel located in the left border. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForLeftBorder(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); p.x = OFFSET_FROM_BORDER; moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Get color of a pixel located in the right border. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForRightBorder(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); p.x = frame.getWidth() - OFFSET_FROM_BORDER; moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Get color of a pixel located in the top border. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForTopBorder(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); p.y = p.y - component.getHeight()/2 - OFFSET_FROM_BORDER; moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Get color of a pixel located in the bottom border. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForBottomBorder(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); p.y = p.y + component.getHeight()/2 + OFFSET_FROM_BORDER; moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Compute coordinates of a pixel located in the middle of the component. * * @param frame frame where component is used * @param component tested component */ private Point computeCenterOfComponent(Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // return computed center (position of a checked pixel) return new Point(checkedPixelX, checkedPixelY); } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to visually show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param g the graphics context to use for painting */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/CardLayout/PaintTestBiggerHGap.java0000644000175000001440000002616111667672125024466 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.CardLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.CardLayout; /** * Test if five canvases are positioned correctly to a frame using CardLayout. * (only one canvas is visible at given moment) * Horizontal gap is wider than 0 pixels. */ public class PaintTestBiggerHGap extends Panel implements Testlet { /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT = 250; /** * Horizontal gap size. */ public static int HGAP_SIZE = 50; /** * Vertical gap size. */ public static int VGAP_SIZE = 0; /** * Offset (in pixels) from the "true" border * to check hgaps and vgaps visibility * This value should be greater than zero and less than *GAP_SIZE. */ public static int OFFSET_FROM_BORDER = HGAP_SIZE / 2; /** * Default background color for a panel. */ public static Color BACKGROUND_COLOR = Color.red; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { CardLayout layout = new CardLayout(HGAP_SIZE, VGAP_SIZE); this.setLayout(layout); setBackground(BACKGROUND_COLOR); Frame frame = new Frame(); // create five components and add them to the panel Canvas canvas1 = new Canvas(); Canvas canvas2 = new Canvas(); Canvas canvas3 = new Canvas(); Canvas canvas4 = new Canvas(); Canvas canvas5 = new Canvas(); // set size of all canvases canvas1.setSize(100,100); canvas2.setSize(100,100); canvas3.setSize(100,100); canvas4.setSize(100,100); canvas5.setSize(100,100); // set background of all canvases canvas1.setBackground(Color.blue); canvas2.setBackground(Color.yellow); canvas3.setBackground(Color.magenta); canvas4.setBackground(Color.yellow); canvas5.setBackground(Color.cyan); // position all five canvases on frame add(canvas1); add(canvas2); add(canvas3); add(canvas4); add(canvas5); // setup for a frame frame.add(this); frame.pack(); frame.show(); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); layout.first(this); doTest(harness, robot, frame, canvas1, Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); layout.next(this); doTest(harness, robot, frame, canvas2, Color.yellow); // check if the third component is properly shown on the panel harness.checkPoint("third component"); layout.next(this); doTest(harness, robot, frame, canvas3, Color.magenta); // check if the fourth component is properly shown on the panel harness.checkPoint("fourth component"); layout.next(this); doTest(harness, robot, frame, canvas4, Color.yellow); // check if the fifth component is properly shown on the panel harness.checkPoint("fifth component"); layout.next(this); doTest(harness, robot, frame, canvas5, Color.cyan); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Runs the test for one component using the specified harness. * * @param harness the test harness (null not permitted). * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component * @param componentColor background color of tested component */ private void doTest(TestHarness harness, Robot robot, Frame frame, Component component, Color componentColor) { // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check color inside the component harness.check(getColorForComponent(robot, frame, component), componentColor); // check color on all the borders harness.check(getColorForLeftBorder(robot, frame, component), BACKGROUND_COLOR); harness.check(getColorForRightBorder(robot, frame, component), BACKGROUND_COLOR); harness.check(getColorForTopBorder(robot, frame, component), componentColor); harness.check(getColorForBottomBorder(robot, frame, component), componentColor); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Get color of a pixel located in the left border. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForLeftBorder(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); p.x = OFFSET_FROM_BORDER; moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Get color of a pixel located in the right border. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForRightBorder(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); p.x = frame.getWidth() - OFFSET_FROM_BORDER; moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Get color of a pixel located in the top border. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForTopBorder(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); p.y = p.y - component.getHeight()/2 + OFFSET_FROM_BORDER; moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Get color of a pixel located in the bottom border. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForBottomBorder(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); p.y = p.y + component.getHeight()/2 - OFFSET_FROM_BORDER; moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Compute coordinates of a pixel located in the middle of the component. * * @param frame frame where component is used * @param component tested component */ private Point computeCenterOfComponent(Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // return computed center (position of a checked pixel) return new Point(checkedPixelX, checkedPixelY); } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to visually show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param g the graphics context to use for painting */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Rectangle/0000755000175000001440000000000012375316426017653 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/Rectangle/constructors.java0000644000175000001440000001437210506274562023273 0ustar dokousers/* constructors.java Copyright (C) 2006 RedHat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.4 package gnu.testlet.java.awt.Rectangle; import java.awt.Dimension; import java.awt.Point; import java.awt.Rectangle; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class constructors implements Testlet { public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); testConstructor6(harness); testConstructor7(harness); } public void testConstructor1(TestHarness harness) { Rectangle r = new Rectangle(); harness.check(r.getX(), 0); harness.check(r.getY(), 0); harness.check(r.getWidth(), 0); harness.check(r.getHeight(), 0); } public void testConstructor2(TestHarness harness) { Rectangle r1 = new Rectangle(); Rectangle r2 = new Rectangle(r1); harness.check(r2.getX(), 0); harness.check(r2.getY(), 0); harness.check(r2.getWidth(), 0); harness.check(r2.getHeight(), 0); Rectangle r3 = new Rectangle(1, 2, 3, 4); Rectangle r4 = new Rectangle(r3); harness.check(r4.getX(), 1); harness.check(r4.getY(), 2); harness.check(r4.getWidth(), 3); harness.check(r4.getHeight(), 4); boolean failed = false; Rectangle r5 = null; try { Rectangle r6 = new Rectangle(r5); } catch (NullPointerException e) { failed = true; } harness.check(failed); } public void testConstructor3(TestHarness harness) { Rectangle r1 = new Rectangle(5, 10, 15, 20); harness.check(r1.getX(), 5); harness.check(r1.getY(), 10); harness.check(r1.getWidth(), 15); harness.check(r1.getHeight(), 20); Rectangle r2 = new Rectangle(-5, -10, -15, -20); harness.check(r2.getX(), -5); harness.check(r2.getY(),-10); harness.check(r2.getWidth(), -15); harness.check(r2.getHeight(), -20); } public void testConstructor4(TestHarness harness) { Rectangle r1 = new Rectangle(5, 10); harness.check(r1.getX(), 0); harness.check(r1.getY(), 0); harness.check(r1.getWidth(), 5); harness.check(r1.getHeight(), 10); Rectangle r2 = new Rectangle(-5, -10); harness.check(r2.getX(), 0); harness.check(r2.getY(), 0); harness.check(r2.getWidth(), -5); harness.check(r2.getHeight(), -10); } public void testConstructor5(TestHarness harness) { Point p1 = new Point(); Dimension d1 = new Dimension(); Rectangle r1 = new Rectangle(p1, d1); harness.check(r1.getX(), 0); harness.check(r1.getY(), 0); harness.check(r1.getWidth(), 0); harness.check(r1.getHeight(), 0); Point p2 = new Point(5, 10); Dimension d2 = new Dimension(15, 20); Rectangle r2 = new Rectangle(p2, d2); harness.check(r2.getX(), 5); harness.check(r2.getY(), 10); harness.check(r2.getWidth(), 15); harness.check(r2.getHeight(), 20); boolean failed1 = false; Point p3 = null; Dimension d3 = new Dimension(); try { Rectangle r3 = new Rectangle(p3, d3); } catch (NullPointerException e) { failed1 = true; } harness.check(failed1); boolean failed2 = false; Point p4 = new Point(); Dimension d4 = null; try { Rectangle r4 = new Rectangle(p3, d3); } catch (NullPointerException e) { failed2 = true; } harness.check(failed2); Point p5 = new Point(-5, -10); Dimension d5 = new Dimension(-15, -20); Rectangle r5 = new Rectangle(p5, d5); harness.check(r2.getX(), 5); harness.check(r2.getY(), 10); harness.check(r2.getWidth(), 15); harness.check(r2.getHeight(), 20); } public void testConstructor6(TestHarness harness) { Point p1 = new Point(); Rectangle r1 = new Rectangle(p1); harness.check(r1.getX(), 0); harness.check(r1.getY(), 0); harness.check(r1.getWidth(), 0); harness.check(r1.getHeight(), 0); Point p2 = new Point(5, 10); Rectangle r2 = new Rectangle(p2); harness.check(r2.getX(), 5); harness.check(r2.getY(), 10); harness.check(r2.getWidth(), 0); harness.check(r2.getHeight(), 0); boolean failed = false; Point p3 = null; try { Rectangle r3 = new Rectangle(p3); } catch (NullPointerException e) { failed = true; } harness.check(failed); Point p4 = new Point(-5, -10); Rectangle r4 = new Rectangle(p4); harness.check(r4.getX(), -5); harness.check(r4.getY(), -10); harness.check(r4.getWidth(), 0); harness.check(r4.getHeight(), 0); } public void testConstructor7(TestHarness harness) { Dimension d1 = new Dimension(); Rectangle r1 = new Rectangle(d1); harness.check(r1.getX(), 0); harness.check(r1.getY(), 0); harness.check(r1.getWidth(), 0); harness.check(r1.getHeight(), 0); Dimension d2 = new Dimension(15, 20); Rectangle r2 = new Rectangle(d2); harness.check(r2.getX(), 0); harness.check(r2.getY(), 0); harness.check(r2.getWidth(), 15); harness.check(r2.getHeight(), 20); boolean failed = false; Dimension d3 = null; try { Rectangle r3 = new Rectangle(d3); } catch (NullPointerException e) { failed = true; } harness.check(failed); Dimension d4 = new Dimension(-15, -20); Rectangle r4 = new Rectangle(d4); harness.check(r4.getX(), 0); harness.check(r4.getY(), 0); harness.check(r4.getWidth(), -15); harness.check(r4.getHeight(), -20); } } mauve-20140821/gnu/testlet/java/awt/Rectangle/equals.java0000644000175000001440000000336610106662620022006 0ustar dokousers//Tags: JDK1.0 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Rectangle; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; /** * Checks that the equals() method works correctly. */ public class equals implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Rectangle r0 = new Rectangle(0, 0, 0, 0); Rectangle r1 = new Rectangle(0, 0, 0, 0); harness.check(r0.equals(r1)); harness.check(r1.equals(r0)); r0.x = 1; harness.check(!r0.equals(r1)); r1.x = 1; harness.check(r0.equals(r1)); r0.y = 2; harness.check(!r0.equals(r1)); r1.y = 2; harness.check(r0.equals(r1)); r0.width = 3; harness.check(!r0.equals(r1)); r1.width = 3; harness.check(r0.equals(r1)); r0.height = 4; harness.check(!r0.equals(r1)); r1.height = 4; harness.check(r0.equals(r1)); } } mauve-20140821/gnu/testlet/java/awt/Rectangle/isEmpty.java0000644000175000001440000000301110106662620022131 0ustar dokousers//Tags: JDK1.0 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Rectangle; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; /** * Checks that the isEmpty() method works correctly. */ public class isEmpty implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Rectangle r = new Rectangle(); harness.check(r.isEmpty()); r = new Rectangle(0, 0, 100, 0); harness.check(r.isEmpty()); r = new Rectangle(0, 0, 0, 100); harness.check(r.isEmpty()); r = new Rectangle(0, 0, -10, -10); harness.check(r.isEmpty()); r = new Rectangle(0, 0, 1, 1); harness.check(!r.isEmpty()); } } mauve-20140821/gnu/testlet/java/awt/Rectangle/clone.java0000644000175000001440000000300310106662620021600 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Rectangle; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; /** * Checks that the clone() method works correctly. */ public class clone implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Rectangle r1 = new Rectangle(1, 2, 3, 4); Rectangle r2 = null; r2 = (Rectangle) r1.clone(); harness.check(r1 != r2); harness.check(r1.getClass().equals(r2.getClass())); harness.check(r1.x == r2.x); harness.check(r1.y == r2.y); harness.check(r1.width == r2.width); harness.check(r1.height == r2.height); } } mauve-20140821/gnu/testlet/java/awt/Rectangle/intersects.java0000644000175000001440000000360410106662620022672 0ustar dokousers//Tags: JDK1.1 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Rectangle; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; /** * Checks that the intersects() method works correctly. */ public class intersects implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Rectangle r0 = new Rectangle(0, 0, 0, 0); Rectangle r1 = new Rectangle(0, 0, 1, 1); Rectangle r2 = new Rectangle(1, 1, 1, 1); Rectangle r3 = new Rectangle(-1, -1, 1, 1); Rectangle r4 = new Rectangle(-1, -1, 2, 2); Rectangle r5 = new Rectangle(-1, -1, 3, 3); harness.check(!r0.intersects(r1)); harness.check(!r0.intersects(r2)); harness.check(!r1.intersects(r2)); harness.check(!r2.intersects(r3)); harness.check(!r2.intersects(r4)); harness.check(r2.intersects(r5)); // check null argument boolean pass = false; try { r0.intersects(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/Rectangle/translate.java0000644000175000001440000000257410106662620022511 0ustar dokousers//Tags: JDK1.0 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Rectangle; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; /** * Checks that the translate() method works correctly. */ public class translate implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Rectangle r1 = new Rectangle(1, 2, 3, 4); r1.translate(5, 6); harness.check(r1.x == 6); harness.check(r1.y == 8); harness.check(r1.width == 3); harness.check(r1.height == 4); } } mauve-20140821/gnu/testlet/java/awt/Rectangle/setLocation.java0000644000175000001440000000345310106662620022775 0ustar dokousers//Tags: JDK1.1 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Rectangle; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Point; import java.awt.Rectangle; /** * Checks that the setLocation() method works correctly. */ public class setLocation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Rectangle r1 = new Rectangle(1, 2, 3, 4); r1.setLocation(5, 6); harness.check(r1.x == 5); harness.check(r1.y == 6); harness.check(r1.width == 3); harness.check(r1.height == 4); r1 = new Rectangle(1, 2, 3, 4); r1.setLocation(new Point(5, 6)); harness.check(r1.x == 5); harness.check(r1.y == 6); harness.check(r1.width == 3); harness.check(r1.height == 4); // check null argument boolean pass = false; try { r1.setLocation(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/Rectangle/intersection.java0000644000175000001440000000343110106662620023213 0ustar dokousers//Tags: JDK1.1 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Rectangle; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; /** * Checks that the intersection() method works correctly. */ public class intersection implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Rectangle r0 = new Rectangle(0, 0, 0, 0); Rectangle r1 = new Rectangle(1, 2, 3, 4); Rectangle r2 = new Rectangle(1, 2, 4, 3); Rectangle r3 = new Rectangle(10, 10, 0, 0); Rectangle r = r0.intersection(r1); harness.check(r.isEmpty()); r = r1.intersection(r2); harness.check(r.equals(new Rectangle(1, 2, 3, 3))); r = r2.intersection(r3); harness.check(r.isEmpty()); // check null argument boolean pass = false; try { r0.intersection(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/Rectangle/add.java0000644000175000001440000000326710106662620021244 0ustar dokousers//Tags: JDK1.0 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Rectangle; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Point; import java.awt.Rectangle; /** * Checks that the add() method works correctly. */ public class add implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Rectangle r = new Rectangle(); r.add(5, 7); harness.check(r.x == 0); harness.check(r.y == 0); harness.check(r.width == 5); harness.check(r.height == 7); boolean pass = false; try { r.add((Point) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { r.add((Rectangle) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/Rectangle/outcode.java0000644000175000001440000000634710106662620022160 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Rectangle; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; import java.awt.geom.Rectangle2D; /** * Checks that the outcode() method works correctly. */ public class outcode implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Rectangle r = new Rectangle(0, 0, 10, 10); harness.check(r.outcode(5, 5) == 0); harness.check(r.outcode(0, 0) == 0); harness.check(r.outcode(0, 10) == 0); harness.check(r.outcode(10, 0) == 0); harness.check(r.outcode(10, 10) == 0); harness.check(r.outcode(-5, 5) == Rectangle2D.OUT_LEFT); harness.check(r.outcode(15, 5) == Rectangle2D.OUT_RIGHT); harness.check(r.outcode(5, -5) == Rectangle2D.OUT_TOP); harness.check(r.outcode(5, 15) == Rectangle2D.OUT_BOTTOM); harness.check(r.outcode(-5, -5) == (Rectangle2D.OUT_LEFT | Rectangle2D.OUT_TOP)); harness.check(r.outcode(15, -5) == (Rectangle2D.OUT_RIGHT | Rectangle2D.OUT_TOP)); harness.check(r.outcode(15, 15) == (Rectangle2D.OUT_RIGHT | Rectangle2D.OUT_BOTTOM)); harness.check(r.outcode(-5, 15) == (Rectangle2D.OUT_LEFT | Rectangle2D.OUT_BOTTOM)); // check an empty rectangle - all points should be outside r = new Rectangle(0, 0, 0, 0); int outside = Rectangle2D.OUT_LEFT | Rectangle2D.OUT_RIGHT | Rectangle2D.OUT_TOP | Rectangle2D.OUT_BOTTOM; harness.check(r.outcode(-1, -1) == outside); harness.check(r.outcode(-1, 0) == outside); harness.check(r.outcode(-1, 1) == outside); harness.check(r.outcode(0, -1) == outside); harness.check(r.outcode(0, 0) == outside); harness.check(r.outcode(0, 1) == outside); harness.check(r.outcode(1, -1) == outside); harness.check(r.outcode(1, 0) == outside); harness.check(r.outcode(1, 1) == outside); r = new Rectangle(0, 0, -10, -10); harness.check(r.outcode(-1, -1) == outside); harness.check(r.outcode(-1, 0) == outside); harness.check(r.outcode(-1, 1) == outside); harness.check(r.outcode(0, -1) == outside); harness.check(r.outcode(0, 0) == outside); harness.check(r.outcode(0, 1) == outside); harness.check(r.outcode(1, -1) == outside); harness.check(r.outcode(1, 0) == outside); harness.check(r.outcode(1, 1) == outside); } } mauve-20140821/gnu/testlet/java/awt/Rectangle/setSize.java0000644000175000001440000000344310106662620022136 0ustar dokousers//Tags: JDK1.0 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Rectangle; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import java.awt.Rectangle; /** * Checks that the setSize() method works correctly. */ public class setSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Rectangle r1 = new Rectangle(1, 2, 3, 4); r1.setSize(5, 6); harness.check(r1.x == 1); harness.check(r1.y == 2); harness.check(r1.width == 5); harness.check(r1.height == 6); r1 = new Rectangle(1, 2, 3, 4); r1.setSize(new Dimension(5, 6)); harness.check(r1.x == 1); harness.check(r1.y == 2); harness.check(r1.width == 5); harness.check(r1.height == 6); // check null argument boolean pass = false; try { r1.setSize(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/Rectangle/union.java0000644000175000001440000000357210106662620021643 0ustar dokousers//Tags: JDK1.0 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Rectangle; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; /** * Checks that the union() method works correctly. */ public class union implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Rectangle r1 = new Rectangle(1, 2, 3, 4); Rectangle r2 = new Rectangle(5, 6, 7, 8); Rectangle r3 = r1.union(r2); harness.check(r3.x == 1); harness.check(r3.y == 2); harness.check(r3.width == 11); harness.check(r3.height == 12); // check union with empty rectangle r1 = new Rectangle(); r2 = new Rectangle(1, 2, 3, 4); r3 = r1.union(r2); harness.check(r3.x == 0); harness.check(r3.y == 0); harness.check(r3.width == 4); harness.check(r3.height == 6); // check null argument boolean pass = false; try { r3 = r1.union(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/Rectangle/grow.java0000644000175000001440000000255410106662620021470 0ustar dokousers//Tags: JDK1.0 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Rectangle; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; /** * Checks that the grow() method works correctly. */ public class grow implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Rectangle r = new Rectangle(0, 0, 0, 0); r.grow(5, 7); harness.check(r.x == -5); harness.check(r.y == -7); harness.check(r.width == 10); harness.check(r.height == 14); } } mauve-20140821/gnu/testlet/java/awt/Rectangle/setBounds.java0000644000175000001440000000342510106662620022456 0ustar dokousers//Tags: JDK1.1 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Rectangle; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; /** * Checks that the setBounds() method works correctly. */ public class setBounds implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Rectangle r1 = new Rectangle(1, 2, 3, 4); r1.setBounds(5, 6, 7, 8); harness.check(r1.x == 5); harness.check(r1.y == 6); harness.check(r1.width == 7); harness.check(r1.height == 8); r1 = new Rectangle(); r1.setBounds(new Rectangle(5, 6, 7, 8)); harness.check(r1.x == 5); harness.check(r1.y == 6); harness.check(r1.width == 7); harness.check(r1.height == 8); // check null argument boolean pass = false; try { r1.setBounds(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/Rectangle/setRect.java0000644000175000001440000000417010476765562022142 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004, 2006 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.Rectangle; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; /** * Checks that the setRect() method works correctly. */ public class setRect implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Rectangle r1 = new Rectangle(1, 2, 3, 4); r1.setRect(5, 6, 7, 8); harness.check(r1.x == 5); harness.check(r1.y == 6); harness.check(r1.width == 7); harness.check(r1.height == 8); // test rounding - it seems that the code sets a rectangle that completely // encloses the double precision rectangle r1.setRect(5.9, 6.9, 7, 8); harness.check(r1.x, 5); harness.check(r1.y, 6); harness.check(r1.width, 8); harness.check(r1.height, 9); r1.setRect(-0.1, -0.2, 0.3, 0.4); harness.check(r1.x, -1); harness.check(r1.y, -1); harness.check(r1.width, 2); harness.check(r1.height, 2); // is negative width permitted? r1.setRect(1.0, 2.0, -3.0, 4.0); harness.check(r1.width, -3); harness.check(r1.isEmpty()); // is negative height permitted? r1.setRect(1.0, 2.0, 3.0, -4.0); harness.check(r1.height, -4); harness.check(r1.isEmpty()); } } mauve-20140821/gnu/testlet/java/awt/Rectangle/contains.java0000644000175000001440000000405010106662620022321 0ustar dokousers//Tags: JDK1.0 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Rectangle; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Point; import java.awt.Rectangle; /** * Checks that the contains() method works correctly. */ public class contains implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Rectangle r = new Rectangle(); harness.check(!r.contains(0, 0)); harness.check(!r.contains(1, 1)); // a rectangle with negative width and height doesn't contain anything r = new Rectangle(0, 0, -10, -10); harness.check(!r.contains(-5, -5)); harness.check(!r.contains(0, 0)); // a rectangle contains itself but not every point r = new Rectangle(0, 0, 10, 10); harness.check(r.contains(0, 0, 10, 10)); harness.check(!r.contains(10, 10)); // check null arguments boolean pass = false; try { r.contains((Point) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { r.contains((Rectangle) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/FontMetrics/0000755000175000001440000000000012375316426020204 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/FontMetrics/TestLogicalFontMetrics.java0000644000175000001440000011566410406360767025454 0ustar dokousers// Tags: GUI JDK1.0 // Copyright (C) 2006 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.FontMetrics; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; import java.io.*; /** * Test that the metrics returned for the six logical fonts are * similar to those returned by Sun's implementation. */ public class TestLogicalFontMetrics implements Testlet { BufferedWriter ascentsWriter; BufferedWriter descentsWriter; BufferedWriter leadingWriter; final int NUM_SIZES = 40; final int NUM_STYLES = 4; // Set this to true to create ascents.txt, descents.txt and // leading.txt for the five logical fonts in the four possible // styles, in sizes 0 through NUM_SIZES - 1. static final boolean GENERATE_METRICS_DATA = false; int[] ascents; int[] descents; int[] leading; String[] fontNames; TestHarness harness; boolean paintedOnce = false; int index = 0; public int getTolerance (int size) { if (size < 19) return 2; else return 5; } public void test (TestHarness h) { Frame f = new Frame (); harness = h; fontNames = new String[] { "Dialog", "DialogInput", "Monospaced", "Serif", "SansSerif" }; // metrics data generated from previous runs against Sun ascents = new int[] { // Dialog // size 0 0, 0, 0, 0, // size 1 1, 1, 1, 1, // size 2 2, 2, 2, 2, // size 3 3, 3, 3, 3, // size 4 4, 4, 4, 4, // size 5 5, 5, 5, 5, // size 6 6, 6, 6, 6, // size 7 7, 7, 7, 7, // size 8 8, 8, 8, 8, // size 9 9, 9, 9, 9, // size 10 10, 10, 10, 10, // size 11 11, 11, 11, 11, // size 12 12, 12, 12, 12, // size 13 13, 13, 13, 13, // size 14 14, 14, 14, 14, // size 15 15, 15, 15, 15, // size 16 16, 16, 16, 16, // size 17 17, 17, 17, 17, // size 18 18, 18, 18, 18, // size 19 19, 19, 19, 19, // size 20 19, 20, 19, 20, // size 21 20, 20, 20, 20, // size 22 21, 21, 21, 21, // size 23 22, 22, 22, 22, // size 24 23, 23, 23, 23, // size 25 24, 24, 24, 24, // size 26 25, 25, 25, 25, // size 27 26, 26, 26, 26, // size 28 27, 27, 27, 27, // size 29 28, 28, 28, 28, // size 30 29, 29, 29, 29, // size 31 30, 30, 30, 30, // size 32 31, 31, 31, 31, // size 33 32, 32, 32, 32, // size 34 33, 33, 33, 33, // size 35 34, 34, 34, 34, // size 36 35, 35, 35, 35, // size 37 36, 36, 36, 36, // size 38 37, 37, 37, 37, // size 39 38, 38, 38, 38, // DialogInput // size 0 0, 0, 0, 0, // size 1 1, 1, 1, 1, // size 2 2, 2, 2, 2, // size 3 3, 3, 3, 3, // size 4 4, 4, 4, 4, // size 5 5, 5, 5, 5, // size 6 6, 6, 6, 6, // size 7 7, 7, 7, 7, // size 8 8, 8, 8, 8, // size 9 9, 9, 9, 9, // size 10 10, 10, 10, 10, // size 11 11, 11, 11, 11, // size 12 12, 12, 12, 12, // size 13 13, 13, 13, 13, // size 14 14, 14, 14, 14, // size 15 15, 15, 15, 15, // size 16 16, 16, 16, 16, // size 17 17, 17, 17, 17, // size 18 18, 17, 18, 17, // size 19 19, 18, 19, 18, // size 20 19, 19, 19, 19, // size 21 20, 20, 20, 20, // size 22 21, 21, 21, 21, // size 23 22, 22, 22, 22, // size 24 23, 23, 23, 23, // size 25 24, 24, 24, 24, // size 26 25, 25, 25, 25, // size 27 26, 26, 26, 26, // size 28 27, 27, 27, 27, // size 29 28, 28, 28, 28, // size 30 29, 29, 29, 29, // size 31 30, 30, 30, 30, // size 32 31, 31, 31, 31, // size 33 32, 32, 32, 32, // size 34 33, 33, 33, 33, // size 35 34, 34, 34, 34, // size 36 35, 34, 35, 34, // size 37 36, 35, 36, 35, // size 38 37, 36, 37, 36, // size 39 38, 37, 38, 37, // Monospaced // size 0 0, 0, 0, 0, // size 1 1, 1, 1, 1, // size 2 2, 2, 2, 2, // size 3 3, 3, 3, 3, // size 4 4, 4, 4, 4, // size 5 5, 5, 5, 5, // size 6 6, 6, 6, 6, // size 7 7, 7, 7, 7, // size 8 8, 8, 8, 8, // size 9 9, 9, 9, 9, // size 10 10, 10, 10, 10, // size 11 11, 11, 11, 11, // size 12 12, 12, 12, 12, // size 13 13, 13, 13, 13, // size 14 14, 14, 14, 14, // size 15 15, 15, 15, 15, // size 16 16, 16, 16, 16, // size 17 17, 17, 17, 17, // size 18 18, 17, 18, 17, // size 19 19, 18, 19, 18, // size 20 19, 19, 19, 19, // size 21 20, 20, 20, 20, // size 22 21, 21, 21, 21, // size 23 22, 22, 22, 22, // size 24 23, 23, 23, 23, // size 25 24, 24, 24, 24, // size 26 25, 25, 25, 25, // size 27 26, 26, 26, 26, // size 28 27, 27, 27, 27, // size 29 28, 28, 28, 28, // size 30 29, 29, 29, 29, // size 31 30, 30, 30, 30, // size 32 31, 31, 31, 31, // size 33 32, 32, 32, 32, // size 34 33, 33, 33, 33, // size 35 34, 34, 34, 34, // size 36 35, 34, 35, 34, // size 37 36, 35, 36, 35, // size 38 37, 36, 37, 36, // size 39 38, 37, 38, 37, // Serif // size 0 0, 0, 0, 0, // size 1 1, 1, 1, 1, // size 2 2, 2, 2, 2, // size 3 3, 3, 3, 3, // size 4 4, 4, 4, 4, // size 5 5, 5, 5, 5, // size 6 6, 6, 6, 6, // size 7 7, 7, 7, 7, // size 8 8, 8, 8, 8, // size 9 9, 9, 9, 9, // size 10 10, 10, 10, 10, // size 11 11, 11, 11, 11, // size 12 12, 12, 12, 12, // size 13 13, 13, 13, 13, // size 14 14, 14, 14, 14, // size 15 15, 15, 15, 15, // size 16 16, 16, 16, 16, // size 17 17, 17, 17, 17, // size 18 18, 18, 18, 18, // size 19 19, 19, 19, 19, // size 20 19, 19, 19, 19, // size 21 20, 20, 20, 20, // size 22 21, 21, 21, 21, // size 23 22, 22, 22, 22, // size 24 23, 23, 23, 23, // size 25 24, 24, 24, 24, // size 26 25, 25, 25, 25, // size 27 26, 26, 26, 26, // size 28 27, 27, 27, 27, // size 29 28, 28, 28, 28, // size 30 29, 29, 29, 29, // size 31 30, 30, 30, 30, // size 32 31, 31, 31, 31, // size 33 32, 32, 32, 32, // size 34 33, 33, 33, 33, // size 35 34, 34, 34, 34, // size 36 35, 35, 35, 35, // size 37 36, 36, 36, 36, // size 38 37, 37, 37, 37, // size 39 38, 38, 38, 38, // SansSerif // size 0 0, 0, 0, 0, // size 1 1, 1, 1, 1, // size 2 2, 2, 2, 2, // size 3 3, 3, 3, 3, // size 4 4, 4, 4, 4, // size 5 5, 5, 5, 5, // size 6 6, 6, 6, 6, // size 7 7, 7, 7, 7, // size 8 8, 8, 8, 8, // size 9 9, 9, 9, 9, // size 10 10, 10, 10, 10, // size 11 11, 11, 11, 11, // size 12 12, 12, 12, 12, // size 13 13, 13, 13, 13, // size 14 14, 14, 14, 14, // size 15 15, 15, 15, 15, // size 16 16, 16, 16, 16, // size 17 17, 17, 17, 17, // size 18 18, 18, 18, 18, // size 19 19, 19, 19, 19, // size 20 19, 20, 19, 20, // size 21 20, 20, 20, 20, // size 22 21, 21, 21, 21, // size 23 22, 22, 22, 22, // size 24 23, 23, 23, 23, // size 25 24, 24, 24, 24, // size 26 25, 25, 25, 25, // size 27 26, 26, 26, 26, // size 28 27, 27, 27, 27, // size 29 28, 28, 28, 28, // size 30 29, 29, 29, 29, // size 31 30, 30, 30, 30, // size 32 31, 31, 31, 31, // size 33 32, 32, 32, 32, // size 34 33, 33, 33, 33, // size 35 34, 34, 34, 34, // size 36 35, 35, 35, 35, // size 37 36, 36, 36, 36, // size 38 37, 37, 37, 37, // size 39 38, 38, 38, 38, // Dialog // size 0 0, 0, 0, 0, // size 1 1, 1, 1, 1, // size 2 2, 2, 2, 2, // size 3 3, 3, 3, 3, // size 4 4, 4, 4, 4, // size 5 5, 5, 5, 5, // size 6 6, 6, 6, 6, // size 7 7, 7, 7, 7, // size 8 8, 8, 8, 8, // size 9 9, 9, 9, 9, // size 10 10, 10, 10, 10, // size 11 11, 11, 11, 11, // size 12 12, 12, 12, 12, // size 13 13, 13, 13, 13, // size 14 14, 14, 14, 14, // size 15 15, 15, 15, 15, // size 16 16, 16, 16, 16, // size 17 17, 17, 17, 17, // size 18 18, 18, 18, 18, // size 19 19, 19, 19, 19, // size 20 19, 20, 19, 20, // size 21 20, 20, 20, 20, // size 22 21, 21, 21, 21, // size 23 22, 22, 22, 22, // size 24 23, 23, 23, 23, // size 25 24, 24, 24, 24, // size 26 25, 25, 25, 25, // size 27 26, 26, 26, 26, // size 28 27, 27, 27, 27, // size 29 28, 28, 28, 28, // size 30 29, 29, 29, 29, // size 31 30, 30, 30, 30, // size 32 31, 31, 31, 31, // size 33 32, 32, 32, 32, // size 34 33, 33, 33, 33, // size 35 34, 34, 34, 34, // size 36 35, 35, 35, 35, // size 37 36, 36, 36, 36, // size 38 37, 37, 37, 37, // size 39 38, 38, 38, 38, // DialogInput // size 0 0, 0, 0, 0, // size 1 1, 1, 1, 1, // size 2 2, 2, 2, 2, // size 3 3, 3, 3, 3, // size 4 4, 4, 4, 4, // size 5 5, 5, 5, 5, // size 6 6, 6, 6, 6, // size 7 7, 7, 7, 7, // size 8 8, 8, 8, 8, // size 9 9, 9, 9, 9, // size 10 10, 10, 10, 10, // size 11 11, 11, 11, 11, // size 12 12, 12, 12, 12, // size 13 13, 13, 13, 13, // size 14 14, 14, 14, 14, // size 15 15, 15, 15, 15, // size 16 16, 16, 16, 16, // size 17 17, 17, 17, 17, // size 18 18, 17, 18, 17, // size 19 19, 18, 19, 18, // size 20 19, 19, 19, 19, // size 21 20, 20, 20, 20, // size 22 21, 21, 21, 21, // size 23 22, 22, 22, 22, // size 24 23, 23, 23, 23, // size 25 24, 24, 24, 24, // size 26 25, 25, 25, 25, // size 27 26, 26, 26, 26, // size 28 27, 27, 27, 27, // size 29 28, 28, 28, 28, // size 30 29, 29, 29, 29, // size 31 30, 30, 30, 30, // size 32 31, 31, 31, 31, // size 33 32, 32, 32, 32, // size 34 33, 33, 33, 33, // size 35 34, 34, 34, 34, // size 36 35, 34, 35, 34, // size 37 36, 35, 36, 35, // size 38 37, 36, 37, 36, // size 39 38, 37, 38, 37, // Monospaced // size 0 0, 0, 0, 0, // size 1 1, 1, 1, 1, // size 2 2, 2, 2, 2, // size 3 3, 3, 3, 3, // size 4 4, 4, 4, 4, // size 5 5, 5, 5, 5, // size 6 6, 6, 6, 6, // size 7 7, 7, 7, 7, // size 8 8, 8, 8, 8, // size 9 9, 9, 9, 9, // size 10 10, 10, 10, 10, // size 11 11, 11, 11, 11, // size 12 12, 12, 12, 12, // size 13 13, 13, 13, 13, // size 14 14, 14, 14, 14, // size 15 15, 15, 15, 15, // size 16 16, 16, 16, 16, // size 17 17, 17, 17, 17, // size 18 18, 17, 18, 17, // size 19 19, 18, 19, 18, // size 20 19, 19, 19, 19, // size 21 20, 20, 20, 20, // size 22 21, 21, 21, 21, // size 23 22, 22, 22, 22, // size 24 23, 23, 23, 23, // size 25 24, 24, 24, 24, // size 26 25, 25, 25, 25, // size 27 26, 26, 26, 26, // size 28 27, 27, 27, 27, // size 29 28, 28, 28, 28, // size 30 29, 29, 29, 29, // size 31 30, 30, 30, 30, // size 32 31, 31, 31, 31, // size 33 32, 32, 32, 32, // size 34 33, 33, 33, 33, // size 35 34, 34, 34, 34, // size 36 35, 34, 35, 34, // size 37 36, 35, 36, 35, // size 38 37, 36, 37, 36, // size 39 38, 37, 38, 37, // Serif // size 0 0, 0, 0, 0, // size 1 1, 1, 1, 1, // size 2 2, 2, 2, 2, // size 3 3, 3, 3, 3, // size 4 4, 4, 4, 4, // size 5 5, 5, 5, 5, // size 6 6, 6, 6, 6, // size 7 7, 7, 7, 7, // size 8 8, 8, 8, 8, // size 9 9, 9, 9, 9, // size 10 10, 10, 10, 10, // size 11 11, 11, 11, 11, // size 12 12, 12, 12, 12, // size 13 13, 13, 13, 13, // size 14 14, 14, 14, 14, // size 15 15, 15, 15, 15, // size 16 16, 16, 16, 16, // size 17 17, 17, 17, 17, // size 18 18, 18, 18, 18, // size 19 19, 19, 19, 19, // size 20 19, 19, 19, 19, // size 21 20, 20, 20, 20, // size 22 21, 21, 21, 21, // size 23 22, 22, 22, 22, // size 24 23, 23, 23, 23, // size 25 24, 24, 24, 24, // size 26 25, 25, 25, 25, // size 27 26, 26, 26, 26, // size 28 27, 27, 27, 27, // size 29 28, 28, 28, 28, // size 30 29, 29, 29, 29, // size 31 30, 30, 30, 30, // size 32 31, 31, 31, 31, // size 33 32, 32, 32, 32, // size 34 33, 33, 33, 33, // size 35 34, 34, 34, 34, // size 36 35, 35, 35, 35, // size 37 36, 36, 36, 36, // size 38 37, 37, 37, 37, // size 39 38, 38, 38, 38, // SansSerif // size 0 0, 0, 0, 0, // size 1 1, 1, 1, 1, // size 2 2, 2, 2, 2, // size 3 3, 3, 3, 3, // size 4 4, 4, 4, 4, // size 5 5, 5, 5, 5, // size 6 6, 6, 6, 6, // size 7 7, 7, 7, 7, // size 8 8, 8, 8, 8, // size 9 9, 9, 9, 9, // size 10 10, 10, 10, 10, // size 11 11, 11, 11, 11, // size 12 12, 12, 12, 12, // size 13 13, 13, 13, 13, // size 14 14, 14, 14, 14, // size 15 15, 15, 15, 15, // size 16 16, 16, 16, 16, // size 17 17, 17, 17, 17, // size 18 18, 18, 18, 18, // size 19 19, 19, 19, 19, // size 20 19, 20, 19, 20, // size 21 20, 20, 20, 20, // size 22 21, 21, 21, 21, // size 23 22, 22, 22, 22, // size 24 23, 23, 23, 23, // size 25 24, 24, 24, 24, // size 26 25, 25, 25, 25, // size 27 26, 26, 26, 26, // size 28 27, 27, 27, 27, // size 29 28, 28, 28, 28, // size 30 29, 29, 29, 29, // size 31 30, 30, 30, 30, // size 32 31, 31, 31, 31, // size 33 32, 32, 32, 32, // size 34 33, 33, 33, 33, // size 35 34, 34, 34, 34, // size 36 35, 35, 35, 35, // size 37 36, 36, 36, 36, // size 38 37, 37, 37, 37, // size 39 38, 38, 38, 38, }; descents = new int[] { // Dialog // size 0 0, 0, 0, 0, // size 1 1, 1, 1, 1, // size 2 1, 1, 1, 1, // size 3 1, 1, 1, 1, // size 4 1, 1, 1, 1, // size 5 2, 2, 2, 2, // size 6 2, 2, 2, 2, // size 7 2, 2, 2, 2, // size 8 2, 2, 2, 2, // size 9 2, 2, 2, 2, // size 10 3, 3, 3, 3, // size 11 3, 3, 3, 3, // size 12 3, 3, 3, 3, // size 13 3, 3, 3, 3, // size 14 3, 3, 3, 3, // size 15 4, 4, 4, 4, // size 16 4, 4, 4, 4, // size 17 4, 4, 4, 4, // size 18 4, 4, 4, 4, // size 19 5, 4, 5, 4, // size 20 5, 5, 5, 5, // size 21 5, 5, 5, 5, // size 22 5, 5, 5, 5, // size 23 5, 5, 5, 5, // size 24 6, 6, 6, 6, // size 25 6, 6, 6, 6, // size 26 6, 6, 6, 6, // size 27 6, 6, 6, 6, // size 28 6, 6, 6, 6, // size 29 7, 7, 7, 7, // size 30 7, 7, 7, 7, // size 31 7, 7, 7, 7, // size 32 7, 7, 7, 7, // size 33 7, 7, 7, 7, // size 34 8, 8, 8, 8, // size 35 8, 8, 8, 8, // size 36 8, 8, 8, 8, // size 37 8, 8, 8, 8, // size 38 9, 8, 9, 8, // size 39 9, 9, 9, 9, // DialogInput // size 0 0, 0, 0, 0, // size 1 1, 1, 1, 1, // size 2 1, 1, 1, 1, // size 3 1, 1, 1, 1, // size 4 1, 1, 1, 1, // size 5 2, 2, 2, 2, // size 6 2, 2, 2, 2, // size 7 2, 2, 2, 2, // size 8 2, 2, 2, 2, // size 9 2, 2, 2, 2, // size 10 3, 3, 3, 3, // size 11 3, 3, 3, 3, // size 12 3, 3, 3, 3, // size 13 3, 3, 3, 3, // size 14 3, 3, 3, 3, // size 15 4, 4, 4, 4, // size 16 4, 4, 4, 4, // size 17 4, 4, 4, 4, // size 18 4, 4, 4, 4, // size 19 5, 4, 5, 4, // size 20 5, 5, 5, 5, // size 21 5, 5, 5, 5, // size 22 5, 5, 5, 5, // size 23 5, 5, 5, 5, // size 24 6, 6, 6, 6, // size 25 6, 6, 6, 6, // size 26 6, 6, 6, 6, // size 27 6, 6, 6, 6, // size 28 6, 6, 6, 6, // size 29 7, 7, 7, 7, // size 30 7, 7, 7, 7, // size 31 7, 7, 7, 7, // size 32 7, 7, 7, 7, // size 33 7, 7, 7, 7, // size 34 8, 8, 8, 8, // size 35 8, 8, 8, 8, // size 36 8, 8, 8, 8, // size 37 8, 8, 8, 8, // size 38 9, 8, 9, 8, // size 39 9, 9, 9, 9, // Monospaced // size 0 0, 0, 0, 0, // size 1 1, 1, 1, 1, // size 2 1, 1, 1, 1, // size 3 1, 1, 1, 1, // size 4 1, 1, 1, 1, // size 5 2, 2, 2, 2, // size 6 2, 2, 2, 2, // size 7 2, 2, 2, 2, // size 8 2, 2, 2, 2, // size 9 2, 2, 2, 2, // size 10 3, 3, 3, 3, // size 11 3, 3, 3, 3, // size 12 3, 3, 3, 3, // size 13 3, 3, 3, 3, // size 14 3, 3, 3, 3, // size 15 4, 4, 4, 4, // size 16 4, 4, 4, 4, // size 17 4, 4, 4, 4, // size 18 4, 4, 4, 4, // size 19 5, 4, 5, 4, // size 20 5, 5, 5, 5, // size 21 5, 5, 5, 5, // size 22 5, 5, 5, 5, // size 23 5, 5, 5, 5, // size 24 6, 6, 6, 6, // size 25 6, 6, 6, 6, // size 26 6, 6, 6, 6, // size 27 6, 6, 6, 6, // size 28 6, 6, 6, 6, // size 29 7, 7, 7, 7, // size 30 7, 7, 7, 7, // size 31 7, 7, 7, 7, // size 32 7, 7, 7, 7, // size 33 7, 7, 7, 7, // size 34 8, 8, 8, 8, // size 35 8, 8, 8, 8, // size 36 8, 8, 8, 8, // size 37 8, 8, 8, 8, // size 38 9, 8, 9, 8, // size 39 9, 9, 9, 9, // Serif // size 0 0, 0, 0, 0, // size 1 1, 1, 1, 1, // size 2 1, 1, 1, 1, // size 3 1, 1, 1, 1, // size 4 1, 1, 1, 1, // size 5 2, 2, 2, 2, // size 6 2, 2, 2, 2, // size 7 2, 2, 2, 2, // size 8 2, 2, 2, 2, // size 9 2, 2, 2, 2, // size 10 3, 3, 3, 3, // size 11 3, 3, 3, 3, // size 12 3, 3, 3, 3, // size 13 3, 3, 3, 3, // size 14 3, 3, 3, 3, // size 15 4, 4, 4, 4, // size 16 4, 4, 4, 4, // size 17 4, 4, 4, 4, // size 18 4, 4, 4, 4, // size 19 5, 5, 5, 5, // size 20 5, 5, 5, 5, // size 21 5, 5, 5, 5, // size 22 5, 5, 5, 5, // size 23 5, 5, 5, 5, // size 24 6, 6, 6, 6, // size 25 6, 6, 6, 6, // size 26 6, 6, 6, 6, // size 27 6, 6, 6, 6, // size 28 6, 6, 6, 6, // size 29 7, 7, 7, 7, // size 30 7, 7, 7, 7, // size 31 7, 7, 7, 7, // size 32 7, 7, 7, 7, // size 33 7, 7, 7, 7, // size 34 8, 8, 8, 8, // size 35 8, 8, 8, 8, // size 36 8, 8, 8, 8, // size 37 8, 8, 8, 8, // size 38 9, 9, 9, 9, // size 39 9, 9, 9, 9, // SansSerif // size 0 0, 0, 0, 0, // size 1 1, 1, 1, 1, // size 2 1, 1, 1, 1, // size 3 1, 1, 1, 1, // size 4 1, 1, 1, 1, // size 5 2, 2, 2, 2, // size 6 2, 2, 2, 2, // size 7 2, 2, 2, 2, // size 8 2, 2, 2, 2, // size 9 2, 2, 2, 2, // size 10 3, 3, 3, 3, // size 11 3, 3, 3, 3, // size 12 3, 3, 3, 3, // size 13 3, 3, 3, 3, // size 14 3, 3, 3, 3, // size 15 4, 4, 4, 4, // size 16 4, 4, 4, 4, // size 17 4, 4, 4, 4, // size 18 4, 4, 4, 4, // size 19 5, 4, 5, 4, // size 20 5, 5, 5, 5, // size 21 5, 5, 5, 5, // size 22 5, 5, 5, 5, // size 23 5, 5, 5, 5, // size 24 6, 6, 6, 6, // size 25 6, 6, 6, 6, // size 26 6, 6, 6, 6, // size 27 6, 6, 6, 6, // size 28 6, 6, 6, 6, // size 29 7, 7, 7, 7, // size 30 7, 7, 7, 7, // size 31 7, 7, 7, 7, // size 32 7, 7, 7, 7, // size 33 7, 7, 7, 7, // size 34 8, 8, 8, 8, // size 35 8, 8, 8, 8, // size 36 8, 8, 8, 8, // size 37 8, 8, 8, 8, // size 38 9, 8, 9, 8, // size 39 9, 9, 9, 9, // Dialog // size 0 0, 0, 0, 0, // size 1 1, 1, 1, 1, // size 2 1, 1, 1, 1, // size 3 1, 1, 1, 1, // size 4 1, 1, 1, 1, // size 5 2, 2, 2, 2, // size 6 2, 2, 2, 2, // size 7 2, 2, 2, 2, // size 8 2, 2, 2, 2, // size 9 2, 2, 2, 2, // size 10 3, 3, 3, 3, // size 11 3, 3, 3, 3, // size 12 3, 3, 3, 3, // size 13 3, 3, 3, 3, // size 14 3, 3, 3, 3, // size 15 4, 4, 4, 4, // size 16 4, 4, 4, 4, // size 17 4, 4, 4, 4, // size 18 4, 4, 4, 4, // size 19 5, 4, 5, 4, // size 20 5, 5, 5, 5, // size 21 5, 5, 5, 5, // size 22 5, 5, 5, 5, // size 23 5, 5, 5, 5, // size 24 6, 6, 6, 6, // size 25 6, 6, 6, 6, // size 26 6, 6, 6, 6, // size 27 6, 6, 6, 6, // size 28 6, 6, 6, 6, // size 29 7, 7, 7, 7, // size 30 7, 7, 7, 7, // size 31 7, 7, 7, 7, // size 32 7, 7, 7, 7, // size 33 7, 7, 7, 7, // size 34 8, 8, 8, 8, // size 35 8, 8, 8, 8, // size 36 8, 8, 8, 8, // size 37 8, 8, 8, 8, // size 38 9, 8, 9, 8, // size 39 9, 9, 9, 9, // DialogInput // size 0 0, 0, 0, 0, // size 1 1, 1, 1, 1, // size 2 1, 1, 1, 1, // size 3 1, 1, 1, 1, // size 4 1, 1, 1, 1, // size 5 2, 2, 2, 2, // size 6 2, 2, 2, 2, // size 7 2, 2, 2, 2, // size 8 2, 2, 2, 2, // size 9 2, 2, 2, 2, // size 10 3, 3, 3, 3, // size 11 3, 3, 3, 3, // size 12 3, 3, 3, 3, // size 13 3, 3, 3, 3, // size 14 3, 3, 3, 3, // size 15 4, 4, 4, 4, // size 16 4, 4, 4, 4, // size 17 4, 4, 4, 4, // size 18 4, 4, 4, 4, // size 19 5, 4, 5, 4, // size 20 5, 5, 5, 5, // size 21 5, 5, 5, 5, // size 22 5, 5, 5, 5, // size 23 5, 5, 5, 5, // size 24 6, 6, 6, 6, // size 25 6, 6, 6, 6, // size 26 6, 6, 6, 6, // size 27 6, 6, 6, 6, // size 28 6, 6, 6, 6, // size 29 7, 7, 7, 7, // size 30 7, 7, 7, 7, // size 31 7, 7, 7, 7, // size 32 7, 7, 7, 7, // size 33 7, 7, 7, 7, // size 34 8, 8, 8, 8, // size 35 8, 8, 8, 8, // size 36 8, 8, 8, 8, // size 37 8, 8, 8, 8, // size 38 9, 8, 9, 8, // size 39 9, 9, 9, 9, // Monospaced // size 0 0, 0, 0, 0, // size 1 1, 1, 1, 1, // size 2 1, 1, 1, 1, // size 3 1, 1, 1, 1, // size 4 1, 1, 1, 1, // size 5 2, 2, 2, 2, // size 6 2, 2, 2, 2, // size 7 2, 2, 2, 2, // size 8 2, 2, 2, 2, // size 9 2, 2, 2, 2, // size 10 3, 3, 3, 3, // size 11 3, 3, 3, 3, // size 12 3, 3, 3, 3, // size 13 3, 3, 3, 3, // size 14 3, 3, 3, 3, // size 15 4, 4, 4, 4, // size 16 4, 4, 4, 4, // size 17 4, 4, 4, 4, // size 18 4, 4, 4, 4, // size 19 5, 4, 5, 4, // size 20 5, 5, 5, 5, // size 21 5, 5, 5, 5, // size 22 5, 5, 5, 5, // size 23 5, 5, 5, 5, // size 24 6, 6, 6, 6, // size 25 6, 6, 6, 6, // size 26 6, 6, 6, 6, // size 27 6, 6, 6, 6, // size 28 6, 6, 6, 6, // size 29 7, 7, 7, 7, // size 30 7, 7, 7, 7, // size 31 7, 7, 7, 7, // size 32 7, 7, 7, 7, // size 33 7, 7, 7, 7, // size 34 8, 8, 8, 8, // size 35 8, 8, 8, 8, // size 36 8, 8, 8, 8, // size 37 8, 8, 8, 8, // size 38 9, 8, 9, 8, // size 39 9, 9, 9, 9, // Serif // size 0 0, 0, 0, 0, // size 1 1, 1, 1, 1, // size 2 1, 1, 1, 1, // size 3 1, 1, 1, 1, // size 4 1, 1, 1, 1, // size 5 2, 2, 2, 2, // size 6 2, 2, 2, 2, // size 7 2, 2, 2, 2, // size 8 2, 2, 2, 2, // size 9 2, 2, 2, 2, // size 10 3, 3, 3, 3, // size 11 3, 3, 3, 3, // size 12 3, 3, 3, 3, // size 13 3, 3, 3, 3, // size 14 3, 3, 3, 3, // size 15 4, 4, 4, 4, // size 16 4, 4, 4, 4, // size 17 4, 4, 4, 4, // size 18 4, 4, 4, 4, // size 19 5, 5, 5, 5, // size 20 5, 5, 5, 5, // size 21 5, 5, 5, 5, // size 22 5, 5, 5, 5, // size 23 5, 5, 5, 5, // size 24 6, 6, 6, 6, // size 25 6, 6, 6, 6, // size 26 6, 6, 6, 6, // size 27 6, 6, 6, 6, // size 28 6, 6, 6, 6, // size 29 7, 7, 7, 7, // size 30 7, 7, 7, 7, // size 31 7, 7, 7, 7, // size 32 7, 7, 7, 7, // size 33 7, 7, 7, 7, // size 34 8, 8, 8, 8, // size 35 8, 8, 8, 8, // size 36 8, 8, 8, 8, // size 37 8, 8, 8, 8, // size 38 9, 9, 9, 9, // size 39 9, 9, 9, 9, // SansSerif // size 0 0, 0, 0, 0, // size 1 1, 1, 1, 1, // size 2 1, 1, 1, 1, // size 3 1, 1, 1, 1, // size 4 1, 1, 1, 1, // size 5 2, 2, 2, 2, // size 6 2, 2, 2, 2, // size 7 2, 2, 2, 2, // size 8 2, 2, 2, 2, // size 9 2, 2, 2, 2, // size 10 3, 3, 3, 3, // size 11 3, 3, 3, 3, // size 12 3, 3, 3, 3, // size 13 3, 3, 3, 3, // size 14 3, 3, 3, 3, // size 15 4, 4, 4, 4, // size 16 4, 4, 4, 4, // size 17 4, 4, 4, 4, // size 18 4, 4, 4, 4, // size 19 5, 4, 5, 4, // size 20 5, 5, 5, 5, // size 21 5, 5, 5, 5, // size 22 5, 5, 5, 5, // size 23 5, 5, 5, 5, // size 24 6, 6, 6, 6, // size 25 6, 6, 6, 6, // size 26 6, 6, 6, 6, // size 27 6, 6, 6, 6, // size 28 6, 6, 6, 6, // size 29 7, 7, 7, 7, // size 30 7, 7, 7, 7, // size 31 7, 7, 7, 7, // size 32 7, 7, 7, 7, // size 33 7, 7, 7, 7, // size 34 8, 8, 8, 8, // size 35 8, 8, 8, 8, // size 36 8, 8, 8, 8, // size 37 8, 8, 8, 8, // size 38 9, 8, 9, 8, // size 39 9, 9, 9, 9, }; if (GENERATE_METRICS_DATA) { try { ascentsWriter = new BufferedWriter (new FileWriter (new File ("ascents.txt"))); descentsWriter = new BufferedWriter (new FileWriter (new File ("descents.txt"))); leadingWriter = new BufferedWriter (new FileWriter (new File ("leading.txt"))); } catch (IOException e) { System.err.println ("error creating output files."); } } Panel p = new Panel() { public void paint (Graphics g) { if (!paintedOnce) { for (int i = 0; i < fontNames.length; i++) { outputMetrics ("// " + fontNames[i] + "\n", "// " + fontNames[i] + "\n", "// " + fontNames[i] + "\n"); for (int j = 0; j < NUM_SIZES; j++) { outputMetrics ("// size " + j + "\n", "// size " + j + "\n", "// size " + j + "\n"); index = i * NUM_SIZES * NUM_STYLES + j * NUM_STYLES; // PLAIN g.setFont(new Font (fontNames[i], Font.PLAIN, j)); checkMetrics (g, fontNames[i], "PLAIN", j, index); index++; // BOLD g.setFont(new Font (fontNames[i], Font.BOLD, j)); checkMetrics (g, fontNames[i], "BOLD", j, index); index++; // ITALIC g.setFont(new Font (fontNames[i], Font.ITALIC, j)); checkMetrics (g, fontNames[i], "ITALIC", j, index); index++; // BOLD + ITALIC g.setFont(new Font (fontNames[i], Font.BOLD | Font.ITALIC, j)); checkMetrics (g, fontNames[i], "BOLD + ITALIC", j, index); outputMetrics ("\n", "\n", "\n"); } } paintedOnce = true; } } }; p.setBackground(Color.blue); f.setSize(300, 100); f.add(p); f.show(); while (!paintedOnce) { try { java.lang.Thread.sleep (2000); } catch (java.lang.InterruptedException e) { } } if (GENERATE_METRICS_DATA) { try { if (ascentsWriter != null) ascentsWriter.close(); if (descentsWriter != null) descentsWriter.close(); if (leadingWriter != null) leadingWriter.close(); } catch (IOException e) { System.err.println ("error closing output files."); } } } public void outputMetrics (String ascentString, String descentString, String leadingString) { if (GENERATE_METRICS_DATA) { try { ascentsWriter.write(ascentString); descentsWriter.write(descentString); leadingWriter.write(leadingString); } catch (IOException e) { System.err.println ("error writing to output files."); } } } public void checkMetrics (Graphics g, String name, String style, int size, int index) { FontMetrics f = g.getFontMetrics(); outputMetrics (f.getAscent() + ", ", f.getDescent() + ", ", f.getLeading() + ", "); int ascent = f.getAscent(); if (ascent < ascents[index] - getTolerance(size) || ascent > ascents[index] + getTolerance(size)) harness.fail ("ascent: " + name + " " + style + " " + size + " expected: " + ascents[index] + " got: " + ascent); int descent = f.getDescent(); if (descent < descents[index] - getTolerance(size) || descent > descents[index] + getTolerance(size)) harness.fail ("descent: " + name + " " + style + " " + size + " expected: " + descents[index] + " got: " + descent); int leading = f.getLeading(); // Leading is always 0. if (leading != 0) harness.fail ("leading: " + name + " " + style + " " + size + " expected: 0 got: " + leading); } } mauve-20140821/gnu/testlet/java/awt/MenuBar/0000755000175000001440000000000012375316426017300 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/MenuBar/addMenu.java0000644000175000001440000000366610376074734021535 0ustar dokousers// Tags: GUI JDK1.0 // Copyright (C) 2006 Free Software Foundation, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to the Free // Software Foundation,Inc., 51 Franklin Street, Fifth Floor, Boston, // MA 02110-1301 USA. package gnu.testlet.java.awt.MenuBar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; public class addMenu implements Testlet { public void test (TestHarness harness) { MenuBar mb = new MenuBar(); harness.check(mb.countMenus(), 0); Menu m = new Menu("Testing"); mb.add(m); harness.check(mb.countMenus(), 1); harness.check(mb.getMenu(0), m); harness.check(m.getParent(), mb); mb.remove(m); harness.check(mb.countMenus(), 0); harness.check(m.getParent(), null); mb.add(m); harness.check(mb.countMenus(), 1); harness.check(mb.getMenu(0), m); harness.check(m.getParent(), mb); Menu m2 = new Menu("SecondMenu"); mb.add(m2); harness.check(mb.countMenus(), 2); harness.check(mb.getMenu(0), m); harness.check(mb.getMenu(1), m2); harness.check(m2.getParent(), mb); mb.remove(0); harness.check(mb.countMenus(), 1); harness.check(mb.getMenu(0), m2); harness.check(m.getParent(), null); harness.check(m2.getParent(), mb); mb.remove(m2); harness.check(mb.countMenus(), 0); harness.check(m2.getParent(), null); } } mauve-20140821/gnu/testlet/java/awt/event/0000755000175000001440000000000012375316426017070 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/event/ComponentEvent/0000755000175000001440000000000012375316426022034 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/event/ComponentEvent/paramString.java0000644000175000001440000000342610522656717025175 0ustar dokousers/* paramString.java Copyright (C) 2006 RedHat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.1 package gnu.testlet.java.awt.event.ComponentEvent; import java.awt.Button; import java.awt.event.ComponentEvent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class paramString implements Testlet { public void test(TestHarness harness) { Button button = new Button(); ComponentEvent event = new ComponentEvent(button, ComponentEvent.COMPONENT_MOVED); // Check that previous code produced incorrect string representation. harness.check(! event.paramString().equalsIgnoreCase( "COMPONENT_MOVED java.awt.Rectangle[x=0,y=0,width=0,height=0]")); // Check that current code produces correct string representation. harness.check(event.paramString(), "COMPONENT_MOVED (0,0 0x0)"); // Check that correct string representation is returned when // an invalid event ID is given. event = new ComponentEvent(button, ComponentEvent.COMPONENT_MOVED + 1024); harness.check(event.paramString(), "unknown type"); } } mauve-20140821/gnu/testlet/java/awt/event/MouseEvent/0000755000175000001440000000000012375316426021162 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/event/MouseEvent/modifiersEx.java0000644000175000001440000002473610311130372024275 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.event.MouseEvent; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.Frame; import java.awt.Point; import java.awt.Robot; import java.awt.event.InputEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.KeyEvent; /** * Checks if a click does trigger the correct getModifiers() flags. * This doesn't test the ALT, META or ALT_GRAPH modifiers as their * behaviour is window-manager specific. Some window managers * intercept some key-mouse combinations, e.g. ALT-BUTTON1 means * "Start dragging this window" in Metacity. Also note that xmodmap * settings will affect Java-generated modifier masks. * * @author Roman Kennke */ public class modifiersEx implements Testlet { int mask; Robot robot; TestHarness h; // set this to true to test ALT, META and ALT_GRAPH modifiers boolean test_alt; public void checkMask (int keycode[], int buttonmask, int keymask) { int robot_button = 0; if (buttonmask == InputEvent.BUTTON1_DOWN_MASK) robot_button = InputEvent.BUTTON1_MASK; else if (buttonmask == InputEvent.BUTTON2_DOWN_MASK) robot_button = InputEvent.BUTTON2_MASK; else if (buttonmask == InputEvent.BUTTON3_DOWN_MASK) robot_button = InputEvent.BUTTON3_MASK; int i; for (i = 0; i < keycode.length; i++) robot.keyPress (keycode[i]); robot.mousePress(robot_button); h.check(mask, buttonmask | keymask, "mousePressed: " + mask); mask = 0; robot.mouseRelease(robot_button); // release event extended modifiers don't include button mask h.check(mask, keymask, "mouseReleased: " + mask); mask = 0; for (i = 0; i < keycode.length; i++) robot.keyRelease (keycode[i]); } public void checkAllMaskCombinations (int buttonmask) { // each of the 5 key masks can be on or off, giving 32 possible // combinations. // no modifiers checkMask (new int[] {}, buttonmask, 0); // one modifier // SHIFT_DOWN_MASK checkMask (new int[] { KeyEvent.VK_SHIFT }, buttonmask, InputEvent.SHIFT_DOWN_MASK); // CTRL_DOWN_MASK checkMask (new int[] { KeyEvent.VK_CONTROL }, buttonmask, InputEvent.CTRL_DOWN_MASK); if (test_alt) { // META_DOWN_MASK checkMask (new int[] { KeyEvent.VK_META }, buttonmask, InputEvent.META_DOWN_MASK); // ALT_DOWN_MASK checkMask (new int[] { KeyEvent.VK_ALT }, buttonmask, InputEvent.ALT_DOWN_MASK); // ALT_GRAPH_DOWN_MASK checkMask (new int[] { KeyEvent.VK_ALT_GRAPH }, buttonmask, InputEvent.ALT_GRAPH_DOWN_MASK); } // two modifiers // SHIFT_DOWN_MASK | CTRL_DOWN_MASK checkMask (new int[] { KeyEvent.VK_SHIFT, KeyEvent.VK_CONTROL }, buttonmask, InputEvent.SHIFT_DOWN_MASK | InputEvent.CTRL_DOWN_MASK); if (test_alt) { // SHIFT_DOWN_MASK | META_DOWN_MASK checkMask (new int[] { KeyEvent.VK_SHIFT, KeyEvent.VK_META }, buttonmask, InputEvent.SHIFT_DOWN_MASK | InputEvent.META_DOWN_MASK); // SHIFT_DOWN_MASK | ALT_DOWN_MASK checkMask (new int[] { KeyEvent.VK_SHIFT, KeyEvent.VK_ALT }, buttonmask, InputEvent.SHIFT_DOWN_MASK | InputEvent.ALT_DOWN_MASK); // SHIFT_DOWN_MASK | ALT_GRAPH_DOWN_MASK checkMask (new int[] { KeyEvent.VK_SHIFT, KeyEvent.VK_ALT_GRAPH }, buttonmask, InputEvent.SHIFT_DOWN_MASK | InputEvent.ALT_GRAPH_DOWN_MASK); // CTRL_DOWN_MASK | META_DOWN_MASK checkMask (new int[] { KeyEvent.VK_CONTROL, KeyEvent.VK_META }, buttonmask, InputEvent.CTRL_DOWN_MASK | InputEvent.META_DOWN_MASK); // CTRL_DOWN_MASK | ALT_DOWN_MASK checkMask (new int[] { KeyEvent.VK_CONTROL, KeyEvent.VK_ALT }, buttonmask, InputEvent.CTRL_DOWN_MASK | InputEvent.ALT_DOWN_MASK); // CTRL_DOWN_MASK | ALT_GRAPH_DOWN_MASK checkMask (new int[] { KeyEvent.VK_CONTROL, KeyEvent.VK_ALT_GRAPH }, buttonmask, InputEvent.CTRL_DOWN_MASK | InputEvent.ALT_GRAPH_DOWN_MASK); // META_DOWN_MASK | ALT_DOWN_MASK checkMask (new int[] { KeyEvent.VK_META, KeyEvent.VK_ALT }, buttonmask, InputEvent.META_DOWN_MASK | InputEvent.ALT_DOWN_MASK); // META_DOWN_MASK | ALT_GRAPH_DOWN_MASK checkMask (new int[] { KeyEvent.VK_META, KeyEvent.VK_ALT_GRAPH }, buttonmask, InputEvent.META_DOWN_MASK | InputEvent.ALT_GRAPH_DOWN_MASK); // ALT_DOWN_MASK | ALT_GRAPH_DOWN_MASK checkMask (new int[] { KeyEvent.VK_ALT, KeyEvent.VK_ALT_GRAPH }, buttonmask, InputEvent.ALT_DOWN_MASK | InputEvent.ALT_GRAPH_DOWN_MASK); // three modifiers // SHIFT_DOWN_MASK | CTRL_DOWN_MASK | META_DOWN_MASK checkMask (new int[] { KeyEvent.VK_SHIFT, KeyEvent.VK_CONTROL, KeyEvent.VK_META }, buttonmask, InputEvent.SHIFT_DOWN_MASK | InputEvent.CTRL_DOWN_MASK | InputEvent.META_DOWN_MASK); // SHIFT_DOWN_MASK | CTRL_DOWN_MASK | ALT_DOWN_MASK checkMask (new int[] { KeyEvent.VK_SHIFT, KeyEvent.VK_CONTROL, KeyEvent.VK_ALT }, buttonmask, InputEvent.SHIFT_DOWN_MASK | InputEvent.CTRL_DOWN_MASK | InputEvent.ALT_DOWN_MASK); // SHIFT_DOWN_MASK | CTRL_DOWN_MASK | ALT_GRAPH_DOWN_MASK checkMask (new int[] { KeyEvent.VK_SHIFT, KeyEvent.VK_CONTROL, KeyEvent.VK_ALT_GRAPH }, buttonmask, InputEvent.SHIFT_DOWN_MASK | InputEvent.CTRL_DOWN_MASK | InputEvent.ALT_GRAPH_DOWN_MASK); // SHIFT_DOWN_MASK | META_DOWN_MASK | ALT_DOWN_MASK checkMask (new int[] { KeyEvent.VK_SHIFT, KeyEvent.VK_META, KeyEvent.VK_ALT }, buttonmask, InputEvent.SHIFT_DOWN_MASK | InputEvent.META_DOWN_MASK | InputEvent.ALT_DOWN_MASK); // SHIFT_DOWN_MASK | META_DOWN_MASK | ALT_GRAPH_DOWN_MASK checkMask (new int[] { KeyEvent.VK_SHIFT, KeyEvent.VK_CONTROL, KeyEvent.VK_ALT_GRAPH }, buttonmask, InputEvent.SHIFT_DOWN_MASK | InputEvent.CTRL_DOWN_MASK | InputEvent.ALT_GRAPH_DOWN_MASK); // SHIFT_DOWN_MASK | ALT_DOWN_MASK | ALT_GRAPH_DOWN_MASK checkMask (new int[] { KeyEvent.VK_SHIFT, KeyEvent.VK_ALT, KeyEvent.VK_ALT_GRAPH }, buttonmask, InputEvent.SHIFT_DOWN_MASK | InputEvent.ALT_DOWN_MASK | InputEvent.ALT_GRAPH_DOWN_MASK); // CTRL_DOWN_MASK | META_DOWN_MASK | ALT_DOWN_MASK checkMask (new int[] { KeyEvent.VK_CONTROL, KeyEvent.VK_META, KeyEvent.VK_ALT }, buttonmask, InputEvent.CTRL_DOWN_MASK | InputEvent.META_DOWN_MASK | InputEvent.ALT_DOWN_MASK); // CTRL_DOWN_MASK | META_DOWN_MASK | ALT_GRAPH_DOWN_MASK checkMask (new int[] { KeyEvent.VK_CONTROL, KeyEvent.VK_META, KeyEvent.VK_ALT_GRAPH }, buttonmask, InputEvent.CTRL_DOWN_MASK | InputEvent.META_DOWN_MASK | InputEvent.ALT_GRAPH_DOWN_MASK); // CTRL_DOWN_MASK | ALT_DOWN_MASK | ALT_GRAPH_DOWN_MASK checkMask (new int[] { KeyEvent.VK_CONTROL, KeyEvent.VK_ALT, KeyEvent.VK_ALT_GRAPH }, buttonmask, InputEvent.CTRL_DOWN_MASK | InputEvent.ALT_DOWN_MASK | InputEvent.ALT_GRAPH_DOWN_MASK); // META_DOWN_MASK | ALT_DOWN_MASK | ALT_GRAPH_DOWN_MASK checkMask (new int[] { KeyEvent.VK_META, KeyEvent.VK_ALT, KeyEvent.VK_ALT_GRAPH }, buttonmask, InputEvent.META_DOWN_MASK | InputEvent.ALT_DOWN_MASK | InputEvent.ALT_GRAPH_DOWN_MASK); // four modifiers // SHIFT_DOWN_MASK | CTRL_DOWN_MASK | META_DOWN_MASK | ALT_DOWN_MASK checkMask (new int[] { KeyEvent.VK_SHIFT, KeyEvent.VK_CONTROL, KeyEvent.VK_META, KeyEvent.VK_ALT }, buttonmask, InputEvent.SHIFT_DOWN_MASK | InputEvent.CTRL_DOWN_MASK | InputEvent.META_DOWN_MASK | InputEvent.ALT_DOWN_MASK); // SHIFT_DOWN_MASK | CTRL_DOWN_MASK | META_DOWN_MASK | ALT_GRAPH_DOWN_MASK checkMask (new int[] { KeyEvent.VK_SHIFT, KeyEvent.VK_CONTROL, KeyEvent.VK_META, KeyEvent.VK_ALT_GRAPH }, buttonmask, InputEvent.SHIFT_DOWN_MASK | InputEvent.CTRL_DOWN_MASK | InputEvent.META_DOWN_MASK | InputEvent.ALT_GRAPH_DOWN_MASK); // SHIFT_DOWN_MASK | CTRL_DOWN_MASK | ALT_DOWN_MASK | ALT_GRAPH_DOWN_MASK checkMask (new int[] { KeyEvent.VK_SHIFT, KeyEvent.VK_CONTROL, KeyEvent.VK_ALT, KeyEvent.VK_ALT_GRAPH }, buttonmask, InputEvent.SHIFT_DOWN_MASK | InputEvent.CTRL_DOWN_MASK | InputEvent.ALT_DOWN_MASK | InputEvent.ALT_GRAPH_DOWN_MASK); // SHIFT_DOWN_MASK | META_DOWN_MASK | ALT_DOWN_MASK | ALT_GRAPH_DOWN_MASK checkMask (new int[] { KeyEvent.VK_SHIFT, KeyEvent.VK_META, KeyEvent.VK_ALT, KeyEvent.VK_ALT_GRAPH }, buttonmask, InputEvent.SHIFT_DOWN_MASK | InputEvent.META_DOWN_MASK | InputEvent.ALT_DOWN_MASK | InputEvent.ALT_GRAPH_DOWN_MASK); // CTRL_DOWN_MASK | META_DOWN_MASK | ALT_DOWN_MASK | ALT_GRAPH_DOWN_MASK checkMask (new int[] { KeyEvent.VK_CONTROL, KeyEvent.VK_META, KeyEvent.VK_ALT, KeyEvent.VK_ALT_GRAPH }, buttonmask, InputEvent.CTRL_DOWN_MASK | InputEvent.META_DOWN_MASK | InputEvent.ALT_DOWN_MASK | InputEvent.ALT_GRAPH_DOWN_MASK); // five modifiers // SHIFT_DOWN_MASK | CTRL_DOWN_MASK | META_DOWN_MASK | ALT_DOWN_MASK | ALT_GRAPH_DOWN_MASK checkMask (new int[] { KeyEvent.VK_SHIFT, KeyEvent.VK_CONTROL, KeyEvent.VK_META, KeyEvent.VK_ALT, KeyEvent.VK_ALT_GRAPH }, buttonmask, InputEvent.SHIFT_DOWN_MASK | InputEvent.CTRL_DOWN_MASK | InputEvent.META_DOWN_MASK | InputEvent.ALT_DOWN_MASK | InputEvent.ALT_GRAPH_DOWN_MASK); } } public void test(TestHarness h) { this.h = h; Frame frame = new Frame(); MouseAdapter a = new MouseAdapter() { public void mousePressed(MouseEvent ev) { mask = ev.getModifiersEx(); } public void mouseReleased(MouseEvent ev) { mask = ev.getModifiersEx(); } }; frame.addMouseListener(a); frame.setSize(100, 100); frame.show(); Point loc = frame.getLocationOnScreen(); robot = h.createRobot(); robot.setAutoWaitForIdle (true); robot.mouseMove(loc.x + 50, loc.y + 50); checkAllMaskCombinations (InputEvent.BUTTON1_DOWN_MASK); checkAllMaskCombinations (InputEvent.BUTTON2_DOWN_MASK); checkAllMaskCombinations (InputEvent.BUTTON3_DOWN_MASK); } } mauve-20140821/gnu/testlet/java/awt/event/MouseEvent/modifiers.java0000644000175000001440000002244410311130372023772 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.event.MouseEvent; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.Frame; import java.awt.Point; import java.awt.Robot; import java.awt.event.InputEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.KeyEvent; /** * Checks if a click does trigger the correct getModifiers() flags. * This doesn't test the ALT, META or ALT_GRAPH modifiers as their * behaviour is window-manager specific. Some window managers * intercept some key-mouse combinations, e.g. ALT-BUTTON1 means * "Start dragging this window" in Metacity. Also note that xmodmap * settings will affect Java-generated modifier masks. * * @author Roman Kennke */ public class modifiers implements Testlet { int mask; Robot robot; TestHarness h; // set this to true to test ALT, META and ALT_GRAPH modifiers boolean test_alt; public void checkMask (int keycode[], int buttonmask, int keymask) { int i; for (i = 0; i < keycode.length; i++) robot.keyPress (keycode[i]); robot.mousePress(buttonmask); h.check(mask, buttonmask | keymask, "mousePressed: " + mask); mask = 0; robot.mouseRelease(buttonmask); h.check(mask, buttonmask | keymask, "mouseReleased: " + mask); mask = 0; for (i = 0; i < keycode.length; i++) robot.keyRelease (keycode[i]); } public void checkAllMaskCombinations (int buttonmask) { // each of the 5 key masks can be on or off, giving 32 possible // combinations. // no modifiers checkMask (new int[] {}, buttonmask, 0); // one modifier // SHIFT_MASK checkMask (new int[] { KeyEvent.VK_SHIFT }, buttonmask, InputEvent.SHIFT_MASK); // CTRL_MASK checkMask (new int[] { KeyEvent.VK_CONTROL }, buttonmask, InputEvent.CTRL_MASK); if (test_alt) { // META_MASK checkMask (new int[] { KeyEvent.VK_META }, buttonmask, InputEvent.META_MASK); // ALT_MASK checkMask (new int[] { KeyEvent.VK_ALT }, buttonmask, InputEvent.ALT_MASK); // ALT_GRAPH_MASK checkMask (new int[] { KeyEvent.VK_ALT_GRAPH }, buttonmask, InputEvent.ALT_GRAPH_MASK); } // two modifiers // SHIFT_MASK | CTRL_MASK checkMask (new int[] { KeyEvent.VK_SHIFT, KeyEvent.VK_CONTROL }, buttonmask, InputEvent.SHIFT_MASK | InputEvent.CTRL_MASK); if (test_alt) { // SHIFT_MASK | META_MASK checkMask (new int[] { KeyEvent.VK_SHIFT, KeyEvent.VK_META }, buttonmask, InputEvent.SHIFT_MASK | InputEvent.META_MASK); // SHIFT_MASK | ALT_MASK checkMask (new int[] { KeyEvent.VK_SHIFT, KeyEvent.VK_ALT }, buttonmask, InputEvent.SHIFT_MASK | InputEvent.ALT_MASK); // SHIFT_MASK | ALT_GRAPH_MASK checkMask (new int[] { KeyEvent.VK_SHIFT, KeyEvent.VK_ALT_GRAPH }, buttonmask, InputEvent.SHIFT_MASK | InputEvent.ALT_GRAPH_MASK); // CTRL_MASK | META_MASK checkMask (new int[] { KeyEvent.VK_CONTROL, KeyEvent.VK_META }, buttonmask, InputEvent.CTRL_MASK | InputEvent.META_MASK); // CTRL_MASK | ALT_MASK checkMask (new int[] { KeyEvent.VK_CONTROL, KeyEvent.VK_ALT }, buttonmask, InputEvent.CTRL_MASK | InputEvent.ALT_MASK); // CTRL_MASK | ALT_GRAPH_MASK checkMask (new int[] { KeyEvent.VK_CONTROL, KeyEvent.VK_ALT_GRAPH }, buttonmask, InputEvent.CTRL_MASK | InputEvent.ALT_GRAPH_MASK); // META_MASK | ALT_MASK checkMask (new int[] { KeyEvent.VK_META, KeyEvent.VK_ALT }, buttonmask, InputEvent.META_MASK | InputEvent.ALT_MASK); // META_MASK | ALT_GRAPH_MASK checkMask (new int[] { KeyEvent.VK_META, KeyEvent.VK_ALT_GRAPH }, buttonmask, InputEvent.META_MASK | InputEvent.ALT_GRAPH_MASK); // ALT_MASK | ALT_GRAPH_MASK checkMask (new int[] { KeyEvent.VK_ALT, KeyEvent.VK_ALT_GRAPH }, buttonmask, InputEvent.ALT_MASK | InputEvent.ALT_GRAPH_MASK); // three modifiers // SHIFT_MASK | CTRL_MASK | META_MASK checkMask (new int[] { KeyEvent.VK_SHIFT, KeyEvent.VK_CONTROL, KeyEvent.VK_META }, buttonmask, InputEvent.SHIFT_MASK | InputEvent.CTRL_MASK | InputEvent.META_MASK); // SHIFT_MASK | CTRL_MASK | ALT_MASK checkMask (new int[] { KeyEvent.VK_SHIFT, KeyEvent.VK_CONTROL, KeyEvent.VK_ALT }, buttonmask, InputEvent.SHIFT_MASK | InputEvent.CTRL_MASK | InputEvent.ALT_MASK); // SHIFT_MASK | CTRL_MASK | ALT_GRAPH_MASK checkMask (new int[] { KeyEvent.VK_SHIFT, KeyEvent.VK_CONTROL, KeyEvent.VK_ALT_GRAPH }, buttonmask, InputEvent.SHIFT_MASK | InputEvent.CTRL_MASK | InputEvent.ALT_GRAPH_MASK); // SHIFT_MASK | META_MASK | ALT_MASK checkMask (new int[] { KeyEvent.VK_SHIFT, KeyEvent.VK_META, KeyEvent.VK_ALT }, buttonmask, InputEvent.SHIFT_MASK | InputEvent.META_MASK | InputEvent.ALT_MASK); // SHIFT_MASK | META_MASK | ALT_GRAPH_MASK checkMask (new int[] { KeyEvent.VK_SHIFT, KeyEvent.VK_CONTROL, KeyEvent.VK_ALT_GRAPH }, buttonmask, InputEvent.SHIFT_MASK | InputEvent.CTRL_MASK | InputEvent.ALT_GRAPH_MASK); // SHIFT_MASK | ALT_MASK | ALT_GRAPH_MASK checkMask (new int[] { KeyEvent.VK_SHIFT, KeyEvent.VK_ALT, KeyEvent.VK_ALT_GRAPH }, buttonmask, InputEvent.SHIFT_MASK | InputEvent.ALT_MASK | InputEvent.ALT_GRAPH_MASK); // CTRL_MASK | META_MASK | ALT_MASK checkMask (new int[] { KeyEvent.VK_CONTROL, KeyEvent.VK_META, KeyEvent.VK_ALT }, buttonmask, InputEvent.CTRL_MASK | InputEvent.META_MASK | InputEvent.ALT_MASK); // CTRL_MASK | META_MASK | ALT_GRAPH_MASK checkMask (new int[] { KeyEvent.VK_CONTROL, KeyEvent.VK_META, KeyEvent.VK_ALT_GRAPH }, buttonmask, InputEvent.CTRL_MASK | InputEvent.META_MASK | InputEvent.ALT_GRAPH_MASK); // CTRL_MASK | ALT_MASK | ALT_GRAPH_MASK checkMask (new int[] { KeyEvent.VK_CONTROL, KeyEvent.VK_ALT, KeyEvent.VK_ALT_GRAPH }, buttonmask, InputEvent.CTRL_MASK | InputEvent.ALT_MASK | InputEvent.ALT_GRAPH_MASK); // META_MASK | ALT_MASK | ALT_GRAPH_MASK checkMask (new int[] { KeyEvent.VK_META, KeyEvent.VK_ALT, KeyEvent.VK_ALT_GRAPH }, buttonmask, InputEvent.META_MASK | InputEvent.ALT_MASK | InputEvent.ALT_GRAPH_MASK); // four modifiers // SHIFT_MASK | CTRL_MASK | META_MASK | ALT_MASK checkMask (new int[] { KeyEvent.VK_SHIFT, KeyEvent.VK_CONTROL, KeyEvent.VK_META, KeyEvent.VK_ALT }, buttonmask, InputEvent.SHIFT_MASK | InputEvent.CTRL_MASK | InputEvent.META_MASK | InputEvent.ALT_MASK); // SHIFT_MASK | CTRL_MASK | META_MASK | ALT_GRAPH_MASK checkMask (new int[] { KeyEvent.VK_SHIFT, KeyEvent.VK_CONTROL, KeyEvent.VK_META, KeyEvent.VK_ALT_GRAPH }, buttonmask, InputEvent.SHIFT_MASK | InputEvent.CTRL_MASK | InputEvent.META_MASK | InputEvent.ALT_GRAPH_MASK); // SHIFT_MASK | CTRL_MASK | ALT_MASK | ALT_GRAPH_MASK checkMask (new int[] { KeyEvent.VK_SHIFT, KeyEvent.VK_CONTROL, KeyEvent.VK_ALT, KeyEvent.VK_ALT_GRAPH }, buttonmask, InputEvent.SHIFT_MASK | InputEvent.CTRL_MASK | InputEvent.ALT_MASK | InputEvent.ALT_GRAPH_MASK); // SHIFT_MASK | META_MASK | ALT_MASK | ALT_GRAPH_MASK checkMask (new int[] { KeyEvent.VK_SHIFT, KeyEvent.VK_META, KeyEvent.VK_ALT, KeyEvent.VK_ALT_GRAPH }, buttonmask, InputEvent.SHIFT_MASK | InputEvent.META_MASK | InputEvent.ALT_MASK | InputEvent.ALT_GRAPH_MASK); // CTRL_MASK | META_MASK | ALT_MASK | ALT_GRAPH_MASK checkMask (new int[] { KeyEvent.VK_CONTROL, KeyEvent.VK_META, KeyEvent.VK_ALT, KeyEvent.VK_ALT_GRAPH }, buttonmask, InputEvent.CTRL_MASK | InputEvent.META_MASK | InputEvent.ALT_MASK | InputEvent.ALT_GRAPH_MASK); // five modifiers // SHIFT_MASK | CTRL_MASK | META_MASK | ALT_MASK | ALT_GRAPH_MASK checkMask (new int[] { KeyEvent.VK_SHIFT, KeyEvent.VK_CONTROL, KeyEvent.VK_META, KeyEvent.VK_ALT, KeyEvent.VK_ALT_GRAPH }, buttonmask, InputEvent.SHIFT_MASK | InputEvent.CTRL_MASK | InputEvent.META_MASK | InputEvent.ALT_MASK | InputEvent.ALT_GRAPH_MASK); } } public void test(TestHarness h) { this.h = h; Frame frame = new Frame(); MouseAdapter a = new MouseAdapter() { public void mousePressed(MouseEvent ev) { mask = ev.getModifiers(); } public void mouseReleased(MouseEvent ev) { mask = ev.getModifiers(); } }; frame.addMouseListener(a); frame.setSize(100, 100); frame.show(); Point loc = frame.getLocationOnScreen(); robot = h.createRobot(); robot.setAutoWaitForIdle (true); robot.mouseMove(loc.x + 50, loc.y + 50); checkAllMaskCombinations (InputEvent.BUTTON1_MASK); checkAllMaskCombinations (InputEvent.BUTTON2_MASK); checkAllMaskCombinations (InputEvent.BUTTON3_MASK); } } mauve-20140821/gnu/testlet/java/awt/BasicStroke/0000755000175000001440000000000012375316426020160 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/BasicStroke/createStrokeShapePolygon.java0000644000175000001440000000445411745541722026015 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.BasicStroke; import java.awt.Shape; import java.awt.BasicStroke; import java.awt.Polygon; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /* Test of method BasicStroke.createShape() called for * a shape created from rectangle */ public class createStrokeShapePolygon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BasicStroke basicStroke = new BasicStroke(10.0f); Polygon polygon = new Polygon(); polygon.addPoint( 0, 0); polygon.addPoint(100, 0); polygon.addPoint(100, 100); polygon.addPoint( 0, 100); Shape s2 = basicStroke.createStrokedShape(polygon); /* basic tests - polygon vertexes */ harness.check(s2.contains( 0, 0)); harness.check(s2.contains(100, 0)); harness.check(s2.contains( 0,100)); harness.check(s2.contains(100,100)); /* basic negative test */ harness.check(!s2.contains(50, 50)); harness.check(!s2.contains(10, 10)); harness.check(!s2.contains(10, 90)); harness.check(!s2.contains(90, 90)); harness.check(!s2.contains(90, 10)); /* positive tests */ harness.check(s2.contains(50, 4)); harness.check(s2.contains(4, 50)); /* negative tests */ harness.check(!s2.contains(50, 6)); harness.check(!s2.contains(50, 10)); harness.check(!s2.contains( 6, 50)); harness.check(!s2.contains(10, 50)); } } mauve-20140821/gnu/testlet/java/awt/BasicStroke/constructors.java0000644000175000001440000002005210135423554023563 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.BasicStroke; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.BasicStroke; import java.util.Arrays; /** * Some checks for the constructors in the {@link BasicStroke} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); } private void testConstructor1(TestHarness harness) { harness.checkPoint("BasicStroke()"); BasicStroke s = new BasicStroke(); harness.check(s.getLineWidth(), 1.0f); harness.check(s.getEndCap(), BasicStroke.CAP_SQUARE); harness.check(s.getLineJoin(), BasicStroke.JOIN_MITER); harness.check(s.getMiterLimit(), 10.0f); } private void testConstructor2(TestHarness harness) { harness.checkPoint("BasicStroke(float)"); BasicStroke s = new BasicStroke(3.4f); harness.check(s.getLineWidth(), 3.4f); harness.check(s.getEndCap(), BasicStroke.CAP_SQUARE); harness.check(s.getLineJoin(), BasicStroke.JOIN_MITER); harness.check(s.getMiterLimit(), 10.0f); // negative stroke should throw IllegalArgumentException try { s = new BasicStroke(-1.0f); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // but zero is OK try { s = new BasicStroke(0.0f); harness.check(true); } catch (Exception e) { harness.check(false); } } private void testConstructor3(TestHarness harness) { harness.checkPoint("BasicStroke(float, int, int)"); BasicStroke s = new BasicStroke(4.5f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND); harness.check(s.getLineWidth(), 4.5f); harness.check(s.getEndCap(), BasicStroke.CAP_ROUND); harness.check(s.getLineJoin(), BasicStroke.JOIN_ROUND); harness.check(s.getMiterLimit(), 10.0f); // negative stroke should throw IllegalArgumentException try { s = new BasicStroke(-1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // bad cap type should throw IllegalArgumentException try { s = new BasicStroke(-1.0f, 11, BasicStroke.JOIN_ROUND); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // bad join type should throw IllegalArgumentException try { s = new BasicStroke(-1.0f, BasicStroke.CAP_ROUND, 22); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } private void testConstructor4(TestHarness harness) { harness.checkPoint("BasicStroke(float, int, int, float)"); BasicStroke s = new BasicStroke(4.5f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, 15.0f); harness.check(s.getLineWidth(), 4.5f); harness.check(s.getEndCap(), BasicStroke.CAP_ROUND); harness.check(s.getLineJoin(), BasicStroke.JOIN_ROUND); harness.check(s.getMiterLimit(), 15.0f); // negative stroke should throw IllegalArgumentException try { s = new BasicStroke(-1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, 9.0f); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // bad cap type should throw IllegalArgumentException try { s = new BasicStroke(-1.0f, 11, BasicStroke.JOIN_ROUND, 9.0f); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // bad join type should throw IllegalArgumentException try { s = new BasicStroke(-1.0f, BasicStroke.CAP_ROUND, 22, 9.0f); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // miter limit < 1 and join type is miter should throw IllegalArgumentException try { s = new BasicStroke(-1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER, 0.5f); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } private void testConstructor5(TestHarness harness) { harness.checkPoint("BasicStroke(float, int, int, float, float[], float)"); BasicStroke s = new BasicStroke(4.5f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, 15.0f, new float[] {1.0f, 2.0f}, 1.5f); harness.check(s.getLineWidth(), 4.5f); harness.check(s.getEndCap(), BasicStroke.CAP_ROUND); harness.check(s.getLineJoin(), BasicStroke.JOIN_ROUND); harness.check(s.getMiterLimit(), 15.0f); harness.check(Arrays.equals(s.getDashArray(), new float[] {1.0f, 2.0f})); harness.check(s.getDashPhase(), 1.5f); // negative stroke should throw IllegalArgumentException try { s = new BasicStroke(-1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, 9.0f, new float[] {1.0f, 2.0f}, 1.5f); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // bad cap type should throw IllegalArgumentException try { s = new BasicStroke(-1.0f, 11, BasicStroke.JOIN_ROUND, 9.0f, new float[] {1.0f, 2.0f}, 1.5f); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // bad join type should throw IllegalArgumentException try { s = new BasicStroke(-1.0f, BasicStroke.CAP_ROUND, 22, 9.0f, new float[] {1.0f, 2.0f}, 1.5f); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // miter limit < 1 and join type is miter should throw IllegalArgumentException try { s = new BasicStroke(-1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER, 0.5f, new float[] {1.0f, 2.0f}, 1.5f); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // dash values all zero should throw IllegalArgumentException try { s = new BasicStroke(-1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER, 0.5f, new float[] {0.0f, 0.0f}, 1.5f); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // zero length dash array should throw IllegalArgumentException try { s = new BasicStroke(-1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER, 0.5f, new float[] {}, 1.5f); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // null dash array should throw NullPointerException? try { s = new BasicStroke(-1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER, 0.5f, null, 1.5f); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // negative dash phase try { s = new BasicStroke(-1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER, 0.5f, new float[] {1.0f, 2.0f}, -1.5f); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/awt/BasicStroke/createStrokeShapeRectangle.java0000644000175000001440000000426011745541722026265 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.BasicStroke; import java.awt.Shape; import java.awt.BasicStroke; import java.awt.Rectangle; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /* Test of method BasicStroke.createShape() called for * a shape created from rectangle */ public class createStrokeShapeRectangle implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BasicStroke basicStroke = new BasicStroke(10.0f); Shape s1 = new Rectangle(100, 100); Shape s2 = basicStroke.createStrokedShape(s1); /* basic tests - rectangle vertexes */ harness.check(s2.contains( 0, 0)); harness.check(s2.contains(100, 0)); harness.check(s2.contains( 0,100)); harness.check(s2.contains(100,100)); /* basic negative test */ harness.check(!s2.contains(50, 50)); harness.check(!s2.contains(10, 10)); harness.check(!s2.contains(10, 90)); harness.check(!s2.contains(90, 90)); harness.check(!s2.contains(90, 10)); /* positive tests */ harness.check(s2.contains(50, 4)); harness.check(s2.contains(4, 50)); /* negative tests */ harness.check(!s2.contains(50, 6)); harness.check(!s2.contains(50, 10)); harness.check(!s2.contains( 6, 50)); harness.check(!s2.contains(10, 50)); } } mauve-20140821/gnu/testlet/java/awt/BasicStroke/equals.java0000644000175000001440000000535710135423554022320 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.BasicStroke; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.BasicStroke; /** * Some checks for the equals() method in the {@link BasicStroke} class. */ public class equals implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BasicStroke s1 = new BasicStroke(); BasicStroke s2 = new BasicStroke(); harness.check(s1.equals(s2)); s1 = new BasicStroke(2.0f); harness.check(!s1.equals(s2)); s2 = new BasicStroke(2.0f); harness.check(s1.equals(s2)); s1 = new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER); harness.check(!s1.equals(s2)); s2 = new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER); harness.check(s1.equals(s2)); s1 = new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND); harness.check(!s1.equals(s2)); s2 = new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND); harness.check(s1.equals(s2)); s1 = new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND, 15.0f); harness.check(!s1.equals(s2)); s2 = new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND, 15.0f); harness.check(s1.equals(s2)); s1 = new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND, 15.0f, new float[] {1.0f, 2.0f}, 0.0f); harness.check(!s1.equals(s2)); s2 = new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND, 15.0f, new float[] {1.0f, 2.0f}, 0.0f); harness.check(s1.equals(s2)); s1 = new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND, 15.0f, new float[] {1.0f, 2.0f}, 1.0f); harness.check(!s1.equals(s2)); s2 = new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND, 15.0f, new float[] {1.0f, 2.0f}, 1.0f); harness.check(s1.equals(s2)); } } mauve-20140821/gnu/testlet/java/awt/BasicStroke/constants.java0000644000175000001440000000276110135423554023036 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.BasicStroke; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.BasicStroke; /** * Verifies constant values for the {@link BasicStroke} class. */ public class constants implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.check(BasicStroke.CAP_BUTT == 0); harness.check(BasicStroke.CAP_ROUND == 1); harness.check(BasicStroke.CAP_SQUARE == 2); harness.check(BasicStroke.JOIN_BEVEL == 2); harness.check(BasicStroke.JOIN_MITER == 0); harness.check(BasicStroke.JOIN_ROUND == 1); } } mauve-20140821/gnu/testlet/java/awt/BasicStroke/createStrokeShapeLine2DDouble.java0000644000175000001440000000411111745541722026564 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.BasicStroke; import java.awt.Shape; import java.awt.BasicStroke; import java.awt.geom.Line2D; import java.awt.geom.Line2D.Double; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /* Test of method BasicStroke.createShape() called for * a shape created from Line2D.Double */ public class createStrokeShapeLine2DDouble implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BasicStroke basicStroke = new BasicStroke(10.0f); Shape s1 = new Line2D.Double(0, 0, 100, 100); Shape s2 = basicStroke.createStrokedShape(s1); /* basic tests - line vertexes */ harness.check(s2.contains( 0, 0)); harness.check(s2.contains( 50, 50)); harness.check(s2.contains(100,100)); /* basic negative test */ harness.check(!s2.contains( 0,100)); harness.check(!s2.contains(100, 0)); /* positive tests */ for (int i = 0; i < 100; i++) { harness.check(s2.contains(i, i)); } /* negative tests */ harness.check(!s2.contains(50, 40)); harness.check(!s2.contains(50, 60)); harness.check(!s2.contains(40, 50)); harness.check(!s2.contains(60, 50)); } } mauve-20140821/gnu/testlet/java/awt/BasicStroke/getEndCap.java0000644000175000001440000001456711733061127022662 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.BasicStroke; import java.awt.BasicStroke; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Test the method BasicStroke.getEndCap() */ public class getEndCap implements Testlet { /** * Default value for MITER_LIMIT */ private static final float MITER_LIMIT = 10.0f; /** * Default value for DASH */ private static final float[] DASH_ARRAY = {1.0f, 2.0f}; /** * Default value for DASH_PHASE */ private static final float DASH_PHASE = 0.0f; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { positiveTests(harness); negativeTests(harness); } /** * Positive tests for the method BasicStroke.getEndCap(). * * @param harness the test harness (null not permitted). */ public void positiveTests(TestHarness harness) { harness.checkPoint("positive tests"); // tested object BasicStroke stroke; // default value stroke = new BasicStroke(); harness.check(stroke.getEndCap(), BasicStroke.CAP_SQUARE); // constructor(width, endCap, lineJoin) stroke = new BasicStroke(1.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND); harness.check(stroke.getEndCap(), BasicStroke.CAP_BUTT); stroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND); harness.check(stroke.getEndCap(), BasicStroke.CAP_ROUND); stroke = new BasicStroke(1.0f, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_ROUND); harness.check(stroke.getEndCap(), BasicStroke.CAP_SQUARE); // constructor(width, endCap, lineJoin, miterLimit) stroke = new BasicStroke(1.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND, MITER_LIMIT); harness.check(stroke.getEndCap(), BasicStroke.CAP_BUTT); stroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, MITER_LIMIT); harness.check(stroke.getEndCap(), BasicStroke.CAP_ROUND); stroke = new BasicStroke(1.0f, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_ROUND, MITER_LIMIT); harness.check(stroke.getEndCap(), BasicStroke.CAP_SQUARE); // constructor(width, endCap, lineJoin, miterLimit, dash[], dashPhase) stroke = new BasicStroke(1.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND, MITER_LIMIT, DASH_ARRAY, DASH_PHASE); harness.check(stroke.getEndCap(), BasicStroke.CAP_BUTT); stroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, MITER_LIMIT, DASH_ARRAY, DASH_PHASE); harness.check(stroke.getEndCap(), BasicStroke.CAP_ROUND); stroke = new BasicStroke(1.0f, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_ROUND, MITER_LIMIT, DASH_ARRAY, DASH_PHASE); harness.check(stroke.getEndCap(), BasicStroke.CAP_SQUARE); } /** * Negative tests for the method BasicStroke.getEndCap(). * * @param harness the test harness (null not permitted). */ public void negativeTests(TestHarness harness) { harness.checkPoint("positive tests"); // tested object BasicStroke stroke; // cap code is outside the range 0..2 // constructor(width, endCap, lineJoin) try { stroke = new BasicStroke(1.0f, 10, BasicStroke.JOIN_ROUND); // should not happen harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // cap code is outside the range 0..2 // constructor(width, endCap, lineJoin) try { stroke = new BasicStroke(1.0f, -10, BasicStroke.JOIN_ROUND); // should not happen harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // special values for cap code // constructor(width, endCap, lineJoin) try { stroke = new BasicStroke(1.0f, Integer.MAX_VALUE, BasicStroke.JOIN_ROUND); // should not happen harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // special values for cap code // constructor(width, endCap, lineJoin) try { stroke = new BasicStroke(1.0f, Integer.MIN_VALUE, BasicStroke.JOIN_ROUND); // should not happen harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // cap code is outside the range 0..2 // constructor(width, endCap, lineJoin, miterLimit) try { stroke = new BasicStroke(1.0f, 10, BasicStroke.JOIN_ROUND, MITER_LIMIT); // should not happen harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // cap code is outside the range 0..2 // constructor(width, endCap, lineJoin, miterLimit) try { stroke = new BasicStroke(1.0f, -10, BasicStroke.JOIN_ROUND, MITER_LIMIT); // should not happen harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // cap code is outside the range 0..2 // constructor(width, endCap, lineJoin, miterLimit, dash[], dashPhase) try { stroke = new BasicStroke(1.0f, 10, BasicStroke.JOIN_ROUND, MITER_LIMIT, DASH_ARRAY, DASH_PHASE); // should not happen harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // cap code is outside the range 0..2 // constructor(width, endCap, lineJoin, miterLimit, dash[], dashPhase) try { stroke = new BasicStroke(1.0f, -10, BasicStroke.JOIN_ROUND, MITER_LIMIT, DASH_ARRAY, DASH_PHASE); // should not happen harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/awt/BasicStroke/getLineJoin.java0000644000175000001440000001463111670424313023227 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.BasicStroke; import java.awt.BasicStroke; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Test the method BasicStroke.getLineJoin() */ public class getLineJoin implements Testlet { /** * Default value for MITER_LIMIT */ private static final float MITER_LIMIT = 10.0f; /** * Default value for DASH */ private static final float[] DASH_ARRAY = {1.0f, 2.0f}; /** * Default value for DASH_PHASE */ private static final float DASH_PHASE = 0.0f; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { positiveTests(harness); negativeTests(harness); } /** * Positive tests for the method BasicStroke.getLineJoin(). * * @param harness the test harness (null not permitted). */ public void positiveTests(TestHarness harness) { harness.checkPoint("positive tests"); // tested object BasicStroke stroke; // default value stroke = new BasicStroke(); harness.check(stroke.getLineJoin(), BasicStroke.JOIN_MITER); // constructor(width, endCap, lineJoin) stroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_BEVEL); harness.check(stroke.getLineJoin(), BasicStroke.JOIN_BEVEL); stroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER); harness.check(stroke.getLineJoin(), BasicStroke.JOIN_MITER); stroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND); harness.check(stroke.getLineJoin(), BasicStroke.JOIN_ROUND); // constructor(width, endCap, lineJoin, miterLimit) stroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_BEVEL, 1.0f); harness.check(stroke.getLineJoin(), BasicStroke.JOIN_BEVEL); stroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER, 1.0f); harness.check(stroke.getLineJoin(), BasicStroke.JOIN_MITER); stroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, 1.0f); harness.check(stroke.getLineJoin(), BasicStroke.JOIN_ROUND); // constructor(width, endCap, lineJoin, miterLimit, dash[], dashPhase) stroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_BEVEL, MITER_LIMIT, DASH_ARRAY, DASH_PHASE); harness.check(stroke.getLineJoin(), BasicStroke.JOIN_BEVEL); stroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER, MITER_LIMIT, DASH_ARRAY, DASH_PHASE); harness.check(stroke.getLineJoin(), BasicStroke.JOIN_MITER); stroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, MITER_LIMIT, DASH_ARRAY, DASH_PHASE); harness.check(stroke.getLineJoin(), BasicStroke.JOIN_ROUND); } /** * Negative tests for the method BasicStroke.getLineJoin(). * * @param harness the test harness (null not permitted). */ public void negativeTests(TestHarness harness) { harness.checkPoint("positive tests"); // tested object @SuppressWarnings("unused") BasicStroke stroke; // join code is outside the range 0..2 // constructor(width, endCap, lineJoin) try { stroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, 10); // should not happen harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // join code is outside the range 0..2 // constructor(width, endCap, lineJoin) try { stroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, -10); // should not happen harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // special values for join code // constructor(width, endCap, lineJoin) try { stroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, Integer.MAX_VALUE); // should not happen harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // special values for join code // constructor(width, endCap, lineJoin) try { stroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, Integer.MIN_VALUE); // should not happen harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // join code is outside the range 0..2 // constructor(width, endCap, lineJoin, miterLimit) try { stroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, 10, MITER_LIMIT); // should not happen harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // join code is outside the range 0..2 // constructor(width, endCap, lineJoin, miterLimit) try { stroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, -10, MITER_LIMIT); // should not happen harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // join code is outside the range 0..2 // constructor(width, endCap, lineJoin, miterLimit, dash[], dashPhase) try { stroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, 10, MITER_LIMIT, DASH_ARRAY, DASH_PHASE); // should not happen harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // join code is outside the range 0..2 // constructor(width, endCap, lineJoin, dash[], miterLimit) try { stroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, -10, MITER_LIMIT, DASH_ARRAY, DASH_PHASE); // should not happen harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/awt/BasicStroke/getLineWidth.java0000644000175000001440000000664311733061127023413 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.BasicStroke; import java.awt.BasicStroke; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Test the method BasicStroke.getLineWidth() */ public class getLineWidth implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { positiveTests(harness); negativeTests(harness); } /** * Positive tests for the method BasicStroke.getWidth(). * * @param harness the test harness (null not permitted). */ public void positiveTests(TestHarness harness) { harness.checkPoint("positive tests"); // tested object BasicStroke stroke; // default value stroke = new BasicStroke(); harness.check(stroke.getLineWidth(), 1.0f); // zero stroke width should be fine stroke = new BasicStroke(0.0f); harness.check(stroke.getLineWidth(), 0.0f); // positive stroke width should be fine stroke = new BasicStroke(10.0f); harness.check(stroke.getLineWidth(), 10.0f); // constructor(width, endCap, lineJoin) stroke = new BasicStroke(10.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND); harness.check(stroke.getLineWidth(), 10.0f); // constructor(width, endCap, lineJoin, mitterLimit) stroke = new BasicStroke(10.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, 1.0f); harness.check(stroke.getLineWidth(), 10.0f); } /** * Negative tests for the method BasicStroke.getWidth(). * * @param harness the test harness (null not permitted). */ public void negativeTests(TestHarness harness) { harness.checkPoint("positive tests"); // tested object BasicStroke stroke; // negative width value // constructor(width) try { stroke = new BasicStroke(-10.0f); // should not happen harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // negative width value // constructor(width, endCap, lineJoin) try { stroke = new BasicStroke(-10.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND); // should not happen harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // negative width value // constructor(width, endCap, lineJoin, mitterLimit) try { stroke = new BasicStroke(-10.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, 1.0f); // should not happen harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/awt/BasicStroke/createStrokeShapeRoundRectangle2DFloat.java0000644000175000001440000000467011745541722030456 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.BasicStroke; import java.awt.Shape; import java.awt.BasicStroke; import java.awt.geom.RoundRectangle2D; import java.awt.geom.RoundRectangle2D.Float; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /* Test of method BasicStroke.createShape() called for * a shape created from RoundRectangle2D.Float */ public class createStrokeShapeRoundRectangle2DFloat implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BasicStroke basicStroke = new BasicStroke(10.0f); Shape s1 = new RoundRectangle2D.Float(0.0f, 0.0f, 100.0f, 100.0f, 40, 40); Shape s2 = basicStroke.createStrokedShape(s1); /* basic tests */ harness.check(s2.contains( 0, 40)); harness.check(s2.contains( 40, 0)); harness.check(s2.contains( 60, 0)); harness.check(s2.contains(100, 40)); harness.check(s2.contains( 0, 60)); harness.check(s2.contains( 40,100)); harness.check(s2.contains( 60,100)); harness.check(s2.contains(100, 60)); /* basic negative test */ harness.check(!s2.contains(50, 50)); harness.check(!s2.contains(10, 10)); harness.check(!s2.contains(10, 90)); harness.check(!s2.contains(90, 90)); harness.check(!s2.contains(90, 10)); /* positive tests */ harness.check(s2.contains(50, 4)); harness.check(s2.contains(4, 50)); /* negative tests */ harness.check(!s2.contains(50, 6)); harness.check(!s2.contains(50, 10)); harness.check(!s2.contains( 6, 50)); harness.check(!s2.contains(10, 50)); } } mauve-20140821/gnu/testlet/java/awt/BasicStroke/createStrokeShapeLine2DFloat.java0000644000175000001440000000410511745541722026422 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.BasicStroke; import java.awt.Shape; import java.awt.BasicStroke; import java.awt.geom.Line2D; import java.awt.geom.Line2D.Float; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /* Test of method BasicStroke.createShape() called for * a shape created from Line2D.Float */ public class createStrokeShapeLine2DFloat implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BasicStroke basicStroke = new BasicStroke(10.0f); Shape s1 = new Line2D.Float(0, 0, 100, 100); Shape s2 = basicStroke.createStrokedShape(s1); /* basic tests - line vertexes */ harness.check(s2.contains( 0, 0)); harness.check(s2.contains( 50, 50)); harness.check(s2.contains(100,100)); /* basic negative test */ harness.check(!s2.contains( 0,100)); harness.check(!s2.contains(100, 0)); /* positive tests */ for (int i = 0; i < 100; i++) { harness.check(s2.contains(i, i)); } /* negative tests */ harness.check(!s2.contains(50, 40)); harness.check(!s2.contains(50, 60)); harness.check(!s2.contains(40, 50)); harness.check(!s2.contains(60, 50)); } } mauve-20140821/gnu/testlet/java/awt/BasicStroke/createStrokeShapeRoundRectangle2DDouble.java0000644000175000001440000000467411745541722030627 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.BasicStroke; import java.awt.Shape; import java.awt.BasicStroke; import java.awt.geom.RoundRectangle2D; import java.awt.geom.RoundRectangle2D.Double; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /* Test of method BasicStroke.createShape() called for * a shape created from RoundRectangle2D.Double */ public class createStrokeShapeRoundRectangle2DDouble implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BasicStroke basicStroke = new BasicStroke(10.0f); Shape s1 = new RoundRectangle2D.Double(0.0f, 0.0f, 100.0f, 100.0f, 40, 40); Shape s2 = basicStroke.createStrokedShape(s1); /* basic tests */ harness.check(s2.contains( 0, 40)); harness.check(s2.contains( 40, 0)); harness.check(s2.contains( 60, 0)); harness.check(s2.contains(100, 40)); harness.check(s2.contains( 0, 60)); harness.check(s2.contains( 40,100)); harness.check(s2.contains( 60,100)); harness.check(s2.contains(100, 60)); /* basic negative test */ harness.check(!s2.contains(50, 50)); harness.check(!s2.contains(10, 10)); harness.check(!s2.contains(10, 90)); harness.check(!s2.contains(90, 90)); harness.check(!s2.contains(90, 10)); /* positive tests */ harness.check(s2.contains(50, 4)); harness.check(s2.contains(4, 50)); /* negative tests */ harness.check(!s2.contains(50, 6)); harness.check(!s2.contains(50, 10)); harness.check(!s2.contains( 6, 50)); harness.check(!s2.contains(10, 50)); } } mauve-20140821/gnu/testlet/java/awt/BasicStroke/hashCode.java0000644000175000001440000000531610203505527022534 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.BasicStroke; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.BasicStroke; /** * Some very simple checks for the hashCode() method in the * {@link BasicStroke} class. Based on the equals() test. */ public class hashCode implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BasicStroke s1 = new BasicStroke(); BasicStroke s2 = new BasicStroke(); harness.check(s1.hashCode(), s2.hashCode()); s1 = new BasicStroke(2.0f); s2 = new BasicStroke(2.0f); harness.check(s1.hashCode(), s2.hashCode()); s1 = new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER); s2 = new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER); harness.check(s1.hashCode(), s2.hashCode()); s1 = new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND); s2 = new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND); harness.check(s1.hashCode(), s2.hashCode()); s1 = new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND, 15.0f); s2 = new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND, 15.0f); harness.check(s1.hashCode(), s2.hashCode()); s1 = new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND, 15.0f, new float[] {1.0f, 2.0f}, 0.0f); s2 = new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND, 15.0f, new float[] {1.0f, 2.0f}, 0.0f); harness.check(s1.hashCode(), s2.hashCode()); s1 = new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND, 15.0f, new float[] {1.0f, 2.0f}, 1.0f); s2 = new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND, 15.0f, new float[] {1.0f, 2.0f}, 1.0f); harness.check(s1.hashCode(), s2.hashCode()); } } mauve-20140821/gnu/testlet/java/awt/BasicStroke/createStrokeShapeRectangle2DDouble.java0000644000175000001440000000441011745541722027603 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.BasicStroke; import java.awt.Shape; import java.awt.BasicStroke; import java.awt.geom.Rectangle2D; import java.awt.geom.Rectangle2D.Double; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /* Test of method BasicStroke.createShape() called for * a shape created from Rectangle2D.Double */ public class createStrokeShapeRectangle2DDouble implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BasicStroke basicStroke = new BasicStroke(10.0f); Shape s1 = new Rectangle2D.Double(0.0, 0.0, 100.0, 100.0); Shape s2 = basicStroke.createStrokedShape(s1); /* basic tests - rectangle vertexes */ harness.check(s2.contains( 0, 0)); harness.check(s2.contains(100, 0)); harness.check(s2.contains( 0,100)); harness.check(s2.contains(100,100)); /* basic negative test */ harness.check(!s2.contains(50, 50)); harness.check(!s2.contains(10, 10)); harness.check(!s2.contains(10, 90)); harness.check(!s2.contains(90, 90)); harness.check(!s2.contains(90, 10)); /* positive tests */ harness.check(s2.contains(50, 4)); harness.check(s2.contains(4, 50)); /* negative tests */ harness.check(!s2.contains(50, 6)); harness.check(!s2.contains(50, 10)); harness.check(!s2.contains( 6, 50)); harness.check(!s2.contains(10, 50)); } } mauve-20140821/gnu/testlet/java/awt/BasicStroke/createStrokeShapeRectangle2DFloat.java0000644000175000001440000000441011745541722027436 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.BasicStroke; import java.awt.Shape; import java.awt.BasicStroke; import java.awt.geom.Rectangle2D; import java.awt.geom.Rectangle2D.Float; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /* Test of method BasicStroke.createShape() called for * a shape created from Rectangle2D.Float */ public class createStrokeShapeRectangle2DFloat implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BasicStroke basicStroke = new BasicStroke(10.0f); Shape s1 = new Rectangle2D.Float(0.0f, 0.0f, 100.0f, 100.0f); Shape s2 = basicStroke.createStrokedShape(s1); /* basic tests - rectangle vertexes */ harness.check(s2.contains( 0, 0)); harness.check(s2.contains(100, 0)); harness.check(s2.contains( 0,100)); harness.check(s2.contains(100,100)); /* basic negative test */ harness.check(!s2.contains(50, 50)); harness.check(!s2.contains(10, 10)); harness.check(!s2.contains(10, 90)); harness.check(!s2.contains(90, 90)); harness.check(!s2.contains(90, 10)); /* positive tests */ harness.check(s2.contains(50, 4)); harness.check(s2.contains(4, 50)); /* negative tests */ harness.check(!s2.contains(50, 6)); harness.check(!s2.contains(50, 10)); harness.check(!s2.contains( 6, 50)); harness.check(!s2.contains(10, 50)); } } mauve-20140821/gnu/testlet/java/awt/BasicStroke/getMiterLimit.java0000644000175000001440000002067611733061127023605 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.BasicStroke; import java.awt.BasicStroke; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Test the method BasicStroke.getMitterLimit() */ public class getMiterLimit implements Testlet { /** * Default value for MITER_LIMIT */ private static final float DEFAULT_MITER_LIMIT = 10.0f; /** * Default value for DASH */ private static final float[] DASH_ARRAY = {1.0f, 2.0f}; /** * Default value for DASH_PHASE */ private static final float DASH_PHASE = 0.0f; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { positiveTests(harness); positiveTestsSmallMitterOtherJoinTypes(harness, BasicStroke.JOIN_ROUND); positiveTestsSmallMitterOtherJoinTypes(harness, BasicStroke.JOIN_BEVEL); negativeTests(harness); } /** * Positive tests for the method BasicStroke.getMitterLimit(). * * @param harness the test harness (null not permitted). */ public void positiveTests(TestHarness harness) { harness.checkPoint("positive tests"); BasicStroke stroke = null; // default value stroke = new BasicStroke(); harness.check(stroke.getMiterLimit(), DEFAULT_MITER_LIMIT); // constructor(width, endCap, lineJoin) testMiterLimit(harness); // constructor(width, endCap, lineJoin, miterLimit = 1.0f) testMiterLimit(harness, 1.0f); // constructor(width, endCap, lineJoin, miterLimit = 10.0f) testMiterLimit(harness, 10.0f); // constructor(width, endCap, lineJoin, miterLimit = 10.0f) testMiterLimit(harness, Integer.MAX_VALUE); } /** * Another positive tests for the method BasicStroke.getMitterLimit(). * * @param harness the test harness (null not permitted). */ public void positiveTestsSmallMitterOtherJoinTypes(TestHarness harness, int joinType) { harness.checkPoint("positive tests"); // tested object BasicStroke stroke = null; // miter limit is below 1.0 // constructor(width, endCap, lineJoin) try { stroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, joinType, 0.0f); harness.check(true); } catch (IllegalArgumentException e) { // should not happen harness.check(false); } // miter limit is negative // constructor(width, endCap, lineJoin) try { stroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, joinType, -1.0f); harness.check(true); } catch (IllegalArgumentException e) { // should not happen harness.check(false); } // miter limit is negative // constructor(width, endCap, lineJoin) try { stroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, joinType, -1000.0f); harness.check(true); } catch (IllegalArgumentException e) { // should not happen harness.check(false); } // miter limit is negative // constructor(width, endCap, lineJoin) try { stroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, joinType, Integer.MIN_VALUE); harness.check(true); } catch (IllegalArgumentException e) { // should not happen harness.check(false); } // constructor(width, endCap, lineJoin, miterLimit, dash[], dashPhase) try { stroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, joinType, 0.0f, DASH_ARRAY, DASH_PHASE); harness.check(true); } catch (IllegalArgumentException e) { // should not happen harness.check(false); } // constructor(width, endCap, lineJoin, dash[], miterLimit) try { stroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, joinType, -10.0f, DASH_ARRAY, DASH_PHASE); harness.check(true); } catch (IllegalArgumentException e) { // should not happen harness.check(false); } } /** * Negative tests for the method BasicStroke.getMitterLimit(). * * @param harness the test harness (null not permitted). */ public void negativeTests(TestHarness harness) { harness.checkPoint("positive tests"); // tested object BasicStroke stroke = null; // miter limit is below 1.0 // constructor(width, endCap, lineJoin) try { stroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER, 0.0f); // should not happen harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // miter limit is negative // constructor(width, endCap, lineJoin) try { stroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER, -1.0f); // should not happen harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // miter limit is negative // constructor(width, endCap, lineJoin) try { stroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER, -1000.0f); // should not happen harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // miter limit is negative // constructor(width, endCap, lineJoin) try { stroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER, Integer.MIN_VALUE); // should not happen harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // constructor(width, endCap, lineJoin, miterLimit, dash[], dashPhase) try { stroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER, 0.0f, DASH_ARRAY, DASH_PHASE); // should not happen harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // constructor(width, endCap, lineJoin, dash[], miterLimit) try { stroke = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER, -10.0f, DASH_ARRAY, DASH_PHASE); // should not happen harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } /** * Tests for the method BasicStroke.getMitterLimit() for various caps and * joins settings. * * @param harness * the test harness (null not permitted). * @param miterLimit * miter limit */ private void testMiterLimit(TestHarness harness) { // tested object BasicStroke stroke; final int[] caps = {BasicStroke.CAP_BUTT, BasicStroke.CAP_ROUND, BasicStroke.CAP_SQUARE}; final int[] joins = {BasicStroke.JOIN_BEVEL, BasicStroke.JOIN_MITER, BasicStroke.JOIN_ROUND}; for (int cap = 0; cap < caps.length; cap++) { for (int join = 0; join < joins.length; join++) { stroke = new BasicStroke(1.0f, caps[cap], joins[join]); harness.check(stroke.getMiterLimit(), DEFAULT_MITER_LIMIT); } } } /** * Tests for the method BasicStroke.getMitterLimit() for various caps and * joins settings. * * @param harness * the test harness (null not permitted). * @param miterLimit * miter limit */ private void testMiterLimit(TestHarness harness, float miterLimit) { // tested object BasicStroke stroke; final int[] caps = {BasicStroke.CAP_BUTT, BasicStroke.CAP_ROUND, BasicStroke.CAP_SQUARE}; final int[] joins = {BasicStroke.JOIN_BEVEL, BasicStroke.JOIN_MITER, BasicStroke.JOIN_ROUND}; for (int cap = 0; cap < caps.length; cap++) { for (int join = 0; join < joins.length; join++) { stroke = new BasicStroke(1.0f, caps[cap], joins[join], miterLimit); harness.check(stroke.getMiterLimit(), miterLimit); } } } } mauve-20140821/gnu/testlet/java/awt/CheckboxGroup/0000755000175000001440000000000012375316426020512 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/CheckboxGroup/testGroup.java0000644000175000001440000000357610446526314023360 0ustar dokousers/* testGroup.java -- Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.CheckboxGroup; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Checkbox; import java.awt.CheckboxGroup; import java.awt.Frame; import java.awt.Robot; public class testGroup implements Testlet { /** * This tests a checkbox in a group. * The checkbox turns to a radio button when it is * put into a group. If the group is set to null, then * the checkbox turns into a regular checkbox. * * This tests a dynamically changing group. */ public void test(TestHarness harness) { Robot r = harness.createRobot (); Frame frame = new Frame(); Checkbox checkbox = new Checkbox("Checkbox"); frame.add(checkbox); frame.setBounds(0, 0, 100, 100); harness.check(checkbox.getCheckboxGroup(), null); CheckboxGroup group = new CheckboxGroup(); checkbox.setCheckboxGroup(group); harness.check(group, checkbox.getCheckboxGroup()); frame.setVisible(true); r.waitForIdle (); r.delay(1000); checkbox.setCheckboxGroup(null); r.delay(1000); harness.check(checkbox.getCheckboxGroup(), null); } } mauve-20140821/gnu/testlet/java/awt/Polygon/0000755000175000001440000000000012375316426017376 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/Polygon/getPathIterator.java0000644000175000001440000001460010444106736023344 0ustar dokousers/* getPathIterator.java -- some checks for the getPathIterator() method in the Polygon class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.java.awt.Polygon; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Polygon; import java.awt.geom.AffineTransform; import java.awt.geom.PathIterator; public class getPathIterator implements Testlet { public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("(AffineTransform)"); Polygon p = new Polygon(new int[] {0, 1, 1, 0}, new int[] {0, 0, 1, 1}, 4); // test with no tranform... PathIterator pi = p.getPathIterator(null); harness.check(pi.getWindingRule(), PathIterator.WIND_EVEN_ODD); double[] coords = new double[6]; int t = pi.currentSegment(coords); harness.check(t, PathIterator.SEG_MOVETO); harness.check(coords[0], 0.0); harness.check(coords[1], 0.0); harness.check(pi.isDone(), false); pi.next(); t = pi.currentSegment(coords); harness.check(t, PathIterator.SEG_LINETO); harness.check(coords[0], 1.0); harness.check(coords[1], 0.0); harness.check(pi.isDone(), false); pi.next(); t = pi.currentSegment(coords); harness.check(t, PathIterator.SEG_LINETO); harness.check(coords[0], 1.0); harness.check(coords[1], 1.0); harness.check(pi.isDone(), false); pi.next(); t = pi.currentSegment(coords); harness.check(t, PathIterator.SEG_LINETO); harness.check(coords[0], 0.0); harness.check(coords[1], 1.0); harness.check(pi.isDone(), false); pi.next(); t = pi.currentSegment(coords); harness.check(t, PathIterator.SEG_CLOSE); harness.check(pi.isDone(), false); pi.next(); harness.check(pi.isDone(), true); // test with tranform... AffineTransform trans = AffineTransform.getTranslateInstance(10.0, 11.0); pi = p.getPathIterator(trans); harness.check(pi.getWindingRule(), PathIterator.WIND_EVEN_ODD); coords = new double[6]; t = pi.currentSegment(coords); harness.check(t, PathIterator.SEG_MOVETO); harness.check(coords[0], 10.0); harness.check(coords[1], 11.0); harness.check(pi.isDone(), false); pi.next(); t = pi.currentSegment(coords); harness.check(t, PathIterator.SEG_LINETO); harness.check(coords[0], 11.0); harness.check(coords[1], 11.0); harness.check(pi.isDone(), false); pi.next(); t = pi.currentSegment(coords); harness.check(t, PathIterator.SEG_LINETO); harness.check(coords[0], 11.0); harness.check(coords[1], 12.0); harness.check(pi.isDone(), false); pi.next(); t = pi.currentSegment(coords); harness.check(t, PathIterator.SEG_LINETO); harness.check(coords[0], 10.0); harness.check(coords[1], 12.0); harness.check(pi.isDone(), false); pi.next(); t = pi.currentSegment(coords); harness.check(t, PathIterator.SEG_CLOSE); harness.check(pi.isDone(), false); pi.next(); harness.check(pi.isDone(), true); } public void test2(TestHarness harness) { harness.checkPoint("(AffineTransform, double)"); Polygon p = new Polygon(new int[] {0, 1, 1, 0}, new int[] {0, 0, 1, 1}, 4); // test with no tranform... PathIterator pi = p.getPathIterator(null, 1.0); harness.check(pi.getWindingRule(), PathIterator.WIND_EVEN_ODD); double[] coords = new double[6]; int t = pi.currentSegment(coords); harness.check(t, PathIterator.SEG_MOVETO); harness.check(coords[0], 0.0); harness.check(coords[1], 0.0); harness.check(pi.isDone(), false); pi.next(); t = pi.currentSegment(coords); harness.check(t, PathIterator.SEG_LINETO); harness.check(coords[0], 1.0); harness.check(coords[1], 0.0); harness.check(pi.isDone(), false); pi.next(); t = pi.currentSegment(coords); harness.check(t, PathIterator.SEG_LINETO); harness.check(coords[0], 1.0); harness.check(coords[1], 1.0); harness.check(pi.isDone(), false); pi.next(); t = pi.currentSegment(coords); harness.check(t, PathIterator.SEG_LINETO); harness.check(coords[0], 0.0); harness.check(coords[1], 1.0); harness.check(pi.isDone(), false); pi.next(); t = pi.currentSegment(coords); harness.check(t, PathIterator.SEG_CLOSE); harness.check(pi.isDone(), false); pi.next(); harness.check(pi.isDone(), true); // test with tranform... AffineTransform trans = AffineTransform.getTranslateInstance(10.0, 11.0); pi = p.getPathIterator(trans, 1.0); harness.check(pi.getWindingRule(), PathIterator.WIND_EVEN_ODD); coords = new double[6]; t = pi.currentSegment(coords); harness.check(t, PathIterator.SEG_MOVETO); harness.check(coords[0], 10.0); harness.check(coords[1], 11.0); harness.check(pi.isDone(), false); pi.next(); t = pi.currentSegment(coords); harness.check(t, PathIterator.SEG_LINETO); harness.check(coords[0], 11.0); harness.check(coords[1], 11.0); harness.check(pi.isDone(), false); pi.next(); t = pi.currentSegment(coords); harness.check(t, PathIterator.SEG_LINETO); harness.check(coords[0], 11.0); harness.check(coords[1], 12.0); harness.check(pi.isDone(), false); pi.next(); t = pi.currentSegment(coords); harness.check(t, PathIterator.SEG_LINETO); harness.check(coords[0], 10.0); harness.check(coords[1], 12.0); harness.check(pi.isDone(), false); pi.next(); t = pi.currentSegment(coords); harness.check(t, PathIterator.SEG_CLOSE); harness.check(pi.isDone(), false); pi.next(); harness.check(pi.isDone(), true); } } mauve-20140821/gnu/testlet/java/awt/Polygon/contains.java0000644000175000001440000001026010113635626022050 0ustar dokousers//Tags: JDK1.0 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Polygon; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Point; import java.awt.Polygon; import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; /** * Checks that the contains() method in the {@link Polygon} class works * correctly. */ public class contains implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("Polygon 1"); Polygon p = createTestPolygon1(); harness.check(p.contains(0, 0)); // 1 harness.check(!p.contains(0, 1)); // 2 harness.check(p.contains(1, 0)); // 3 harness.check(p.contains(1, 1)); // 4 harness.check(!p.contains(1, 2)); // 5 harness.check(!p.contains(2, 0)); // 6 harness.check(!p.contains(2, 1)); // 7 harness.checkPoint("Polygon 2"); p = createTestPolygon2(); harness.check(p.contains(0, 0)); // 8 harness.check(!p.contains(0, 5)); // 9 harness.check(!p.contains(5, 5)); // 10 harness.check(!p.contains(5, 1)); // 11 harness.check(p.contains(2, 1)); // 12 harness.check(!p.contains(2, 3)); // 13 harness.check(!p.contains(3, 3)); // 14 harness.check(!p.contains(3, 2)); // 15 harness.check(p.contains(4, 2)); // 16 harness.check(p.contains(4, 4)); // 17 harness.check(p.contains(1, 4)); // 18 harness.check(!p.contains(1, 0)); // 19 harness.check(!p.contains(-0.5, 2.5)); // 20 harness.check(p.contains(0.5, 2.5)); // 21 harness.check(!p.contains(1.5, 2.5)); // 22 harness.check(p.contains(2.5, 2.5)); // 23 harness.check(!p.contains(3.5, 2.5)); // 24 harness.check(p.contains(4.5, 2.5)); // 25 harness.check(!p.contains(5.5, 2.5)); // 26 harness.checkPoint("Null argument checks"); testNullArguments(harness); } /** * Checks method calls with null argument. * * @param harness the test harness (null not permitted). */ private void testNullArguments(TestHarness harness) { boolean pass = false; Polygon p = new Polygon(); try { p.contains((Point) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { p.contains((Point2D) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { p.contains((Rectangle2D) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } /** * Creates a simple test polygon. * * @return A test polygon. */ private Polygon createTestPolygon1() { Polygon p = new Polygon(); p.addPoint(0, 0); p.addPoint(1, 2); p.addPoint(2, 0); return p; } /** * Creates a more complex test polygon. * * @return A test polygon. */ private Polygon createTestPolygon2() { Polygon p = new Polygon(); p.addPoint(0, 0); p.addPoint(0, 5); p.addPoint(5, 5); p.addPoint(5, 1); p.addPoint(2, 1); p.addPoint(2, 3); p.addPoint(3, 3); p.addPoint(3, 2); p.addPoint(4, 2); p.addPoint(4, 4); p.addPoint(1, 4); p.addPoint(1, 0); return p; } } mauve-20140821/gnu/testlet/java/awt/HeadlessException/0000755000175000001440000000000012375316426021356 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/HeadlessException/constructor.java0000644000175000001440000000354011733061127024600 0ustar dokousers// constructor.java -- // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.HeadlessException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.HeadlessException; /** * Check of method constructor for a class HeadlessException. */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Throwable a; a = new HeadlessException(""); harness.check(a.getMessage(), ""); a = new HeadlessException("HeadlessException"); harness.check(a.getMessage(), "HeadlessException"); try { throw new HeadlessException(""); } catch (Throwable t) { harness.check(t.getMessage(), ""); harness.check(t instanceof HeadlessException); } try { throw new HeadlessException("HeadlessException"); } catch (Throwable t) { harness.check(t.getMessage(), "HeadlessException"); harness.check(t instanceof HeadlessException); } } } mauve-20140821/gnu/testlet/java/awt/Dialog/0000755000175000001440000000000012375316426017146 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/Dialog/defaultProperties.java0000644000175000001440000001023110517743416023506 0ustar dokousers/* defaultProperties.java Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.4 package gnu.testlet.java.awt.Dialog; import java.awt.Dialog; import java.awt.Dimension; import java.awt.Frame; import java.awt.Insets; import java.awt.Point; import java.awt.Rectangle; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class defaultProperties implements Testlet { public void test(TestHarness harness) { // This test ensures that all properties are set // to the default values. Dialog dialog = new Dialog(new Frame()); harness.check(dialog.getAlignmentX(), 0.5); harness.check(dialog.getAlignmentY(), 0.5); harness.check(dialog.getComponentCount(), 0); harness.check(dialog.getFocusableWindowState(), true); harness.check(dialog.getFocusTraversalKeysEnabled(), true); harness.check(dialog.getHeight(), 0); harness.check(dialog.getIgnoreRepaint(), false); harness.check(dialog.getWidth(), 0); harness.check(dialog.getX(), 0); harness.check(dialog.getY(), 0); harness.check(dialog.getBackground(), null); harness.check(dialog.getBounds(), new Rectangle()); harness.check(dialog.getDropTarget(), null); harness.check(dialog.getFocusCycleRootAncestor(), null); harness.check(dialog.getFocusOwner(), null); harness.check(dialog.getFont(), null); harness.check(dialog.getForeground(), null); harness.check(dialog.getGraphics(), null); harness.check(dialog.getInputMethodRequests(), null); harness.check(dialog.getInsets(), new Insets(0, 0, 0, 0)); harness.check(dialog.getLayout().toString(), "java.awt.BorderLayout[hgap=0,vgap=0]"); harness.check(dialog.getLocation(), new Point()); harness.check(dialog.getMaximumSize(), new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE)); harness.check(dialog.getMinimumSize(), new Dimension()); harness.check(dialog.getName(), "dialog0"); harness.check(dialog.getPreferredSize(), new Dimension()); harness.check(dialog.getSize(), new Dimension()); harness.check(dialog.getTitle(), ""); harness.check(dialog.getWarningString(), null); harness.check(dialog.isActive(), false); harness.check(dialog.isAlwaysOnTop(), false); harness.check(dialog.isBackgroundSet(), false); harness.check(dialog.isCursorSet(), true); harness.check(dialog.isDisplayable(), false); harness.check(dialog.isDoubleBuffered(), false); harness.check(dialog.isEnabled(), true); harness.check(dialog.isFocusable(), true); harness.check(dialog.isFocusableWindow(), true); harness.check(dialog.isFocusCycleRoot(), true); harness.check(dialog.isFocused(), false); harness.check(dialog.isFocusOwner(), false); harness.check(dialog.isFocusTraversalPolicyProvider(), false); harness.check(dialog.isFocusTraversalPolicySet(), true); harness.check(dialog.isFontSet(), false); harness.check(dialog.isForegroundSet(), false); harness.check(dialog.isLightweight(), false); harness.check(dialog.isMaximumSizeSet(), false); harness.check(dialog.isMinimumSizeSet(), false); harness.check(dialog.isModal(), false); harness.check(dialog.isOpaque(), false); // Currently fails on Classpath harness.check(dialog.isPreferredSizeSet(), false); harness.check(dialog.isResizable(), true); harness.check(dialog.isShowing(), false); harness.check(dialog.isUndecorated(), false); harness.check(dialog.isValid(), false); harness.check(dialog.isVisible(), false); } } mauve-20140821/gnu/testlet/java/awt/Dialog/size.java0000644000175000001440000000306410332165576020765 0ustar dokousers// Tags: GUI JDK1.1 // Copyright (C) 2005 Red Hat // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.Dialog; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import java.awt.Dialog; import java.awt.Frame; import java.awt.Label; public class size implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Dialog jd = new Dialog(new Frame()); jd.show(); jd.add(new Label("Hello world")); // jd insets may be larger than preferred size Dimension pref = jd.getPreferredSize(); Dimension size = jd.getSize(); System.err.println("size: " + size); System.err.println("pref: " + pref); harness.check(size.width >= pref.width); harness.check(size.height >= pref.height); } } mauve-20140821/gnu/testlet/java/awt/ScrollPane/0000755000175000001440000000000012375316426020011 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/ScrollPane/ScrollbarPaintTest.java0000644000175000001440000000540211642275422024430 0ustar dokousers/* ScrollbarPaintTest.java -- Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GUI, JDK 1.0 package gnu.testlet.java.awt.ScrollPane; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.ScrollPane; public class ScrollbarPaintTest extends Panel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame f = new Frame(); ScrollPane c = new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS); add(c); f.add(this); f.pack(); f.show(); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot r = harness.createRobot(); // we should wait a moment before the computations // and pixel checks r.waitForIdle(); r.delay(1000); Rectangle bounds = c.getBounds(); Point loc = f.getLocationOnScreen(); Insets i = f.getInsets(); loc.x += i.left + bounds.x; loc.y += i.top + bounds.y; bounds.width -= (i.left + i.right); bounds.height -= (i.top + i.bottom); // check the color of a pixel located in the button center Color scroll = r.getPixelColor(loc.x + bounds.width, loc.y + bounds.height/2); harness.check(!(scroll.equals(Color.red))); // There is a delay to avoid any race conditions // and so user can see frame r.waitForIdle(); r.delay(2000); // it's necesarry to clean up f.dispose(); } public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/ScrollPane/add.java0000644000175000001440000000445211642275422021405 0ustar dokousers// Tags: 1.4 // Copyright (C) 2006 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to the Free // Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, // MA 02110-1301 USA. package gnu.testlet.java.awt.ScrollPane; import java.awt.*; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Test ScrollPane's add method. */ public class add implements Testlet { private static boolean layoutCalled; public void test(TestHarness harness) { ScrollPane pane = new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS) { public void layout() { layoutCalled = true; }; }; Button b = new Button ("Hello"); b.setSize(400, 400); pane.add(b); harness.check(!layoutCalled); Frame f = new Frame("add"); f.setSize(300, 300); f.add(pane); harness.check(!layoutCalled); f.show(); harness.check(layoutCalled); harness.check(!(b.getParent() instanceof Panel)); // Check parent when adding a Panel. ScrollPane pane2 = new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS); Frame f2 = new Frame("add2"); Panel p = new Panel(); p.setSize(400, 400); pane2.add(p); f2.setSize(300, 300); f2.add(pane2); f2.show(); harness.check(!(p.getParent() instanceof Panel)); // Check parent when adding a lightweight component. ScrollPane pane3 = new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS); Frame f3 = new Frame("add2"); Component c = new Component() {}; c.setSize(400, 400); pane3.add(c); f3.setSize(300, 300); f3.add(pane3); f3.show(); harness.check(c.getParent() instanceof Panel); // it's necesarry to clean up f.dispose(); f2.dispose(); f3.dispose(); } } mauve-20140821/gnu/testlet/java/awt/ScrollPane/doLayout.java0000644000175000001440000000307610536346172022460 0ustar dokousers/* doLayout.java Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.ScrollPane; import java.awt.Button; import java.awt.Component; import java.awt.Point; import java.awt.ScrollPane; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class doLayout implements Testlet { public void test(TestHarness harness) { test1(harness); } public void test1(TestHarness harness) { // This test checks that the location of scrollpane's // child is "reset" to (0, 0). ScrollPane pane = new ScrollPane(); Component button = new Button(); button.setLocation(100, 250); pane.add(button); harness.check(button.getLocation().getX(), 100); harness.check(button.getLocation().getY(), 250); pane.doLayout(); harness.check(button.getLocation().getX(), 0); harness.check(button.getLocation().getY(), 0); } } mauve-20140821/gnu/testlet/java/awt/ScrollPane/setScrollPosition.java0000644000175000001440000000741010536311741024345 0ustar dokousers/* setScrollPosition.java Copyright (C) 2006 This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.ScrollPane; import java.awt.Button; import java.awt.Point; import java.awt.ScrollPane; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class setScrollPosition implements Testlet { public void test(TestHarness harness) { test1(harness); test2(harness); test3(harness); test4(harness); test5(harness); } public void test1(TestHarness harness) { ScrollPane pane = new ScrollPane(); // Check that NPE is thrown when scrollpane does have a child. boolean fail = false; try { pane.setScrollPosition(0, 0); } catch (NullPointerException e) { fail = true; } harness.check(fail); } public void test2(TestHarness harness) { ScrollPane pane = new ScrollPane(); // Add a component (i.e. child) to the scrollpane. Button button = new Button(); pane.add(button); harness.check(pane.getComponentCount(), 1); harness.check(pane.getComponent(0), button); // Check default scroll position. harness.check(pane.getScrollPosition(), new Point()); } public void test3(TestHarness harness) { ScrollPane pane = new ScrollPane(); pane.add(new Button()); // Check that setScrollPosition(int, int) and // setScrollPosition(Point) return the same values. pane.setScrollPosition(1, 1); harness.check(pane.getScrollPosition(), new Point(0, 0)); pane.setScrollPosition(new Point(1, 1)); harness.check(pane.getScrollPosition(), new Point(0, 0)); } public void test4(TestHarness harness) { ScrollPane pane = new ScrollPane(); pane.add(new Button()); // Check that if x or y < 0, x and y are set to 0. pane.setScrollPosition(-1, -1); harness.check(pane.getScrollPosition(), new Point()); pane.setScrollPosition(0, 0); harness.check(pane.getScrollPosition(), new Point()); } public void test5(TestHarness harness) { ScrollPane pane = new ScrollPane(); Button button = new Button(); button.setSize(100, 100); pane.add(button); harness.check(pane.getComponent(0).getWidth(), 100); harness.check(pane.getComponent(0).getHeight(), 100); harness.check(pane.getViewportSize().getWidth(), 100); harness.check(pane.getViewportSize().getHeight(), 100); // Check that if x > (child's width - viewport width), // then x is set to (child's width - viewport width) and // that if y > (child's height - viewport height), // then y is set to (child's height o veiwport height). int x = 100; int y = 100; int tempx = (int) (pane.getComponent(0).getWidth() - pane.getViewportSize().getWidth()); int tempy = (int) (pane.getComponent(0).getHeight() - pane.getViewportSize().getHeight()); harness.check(tempx < x); harness.check(tempy < y); pane.setScrollPosition(x, y); harness.check(pane.getScrollPosition().getX(), tempx); harness.check(pane.getScrollPosition().getY(), tempy); } } mauve-20140821/gnu/testlet/java/awt/ScrollPane/testSetLayout.java0000644000175000001440000000264210513747762023514 0ustar dokousers/* testSetLayout.java Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.4 package gnu.testlet.java.awt.ScrollPane; import java.awt.AWTError; import java.awt.BorderLayout; import java.awt.ScrollPane; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class testSetLayout implements Testlet { public void test(TestHarness harness) { ScrollPane pane = new ScrollPane(); boolean fail = false; try { pane.setLayout(null); } catch (AWTError e) { fail = true; } harness.check(fail); fail = false; try { pane.setLayout(new BorderLayout()); } catch (AWTError e) { fail = true; } harness.check(fail); } } mauve-20140821/gnu/testlet/java/awt/ScrollPane/getScrollPosition.java0000644000175000001440000000243210536311741024330 0ustar dokousers/* getScrollPosition.java Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.ScrollPane; import java.awt.ScrollPane; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getScrollPosition implements Testlet { public void test(TestHarness harness) { ScrollPane pane = new ScrollPane(); // Check that NPE is thrown when scrollpane does have a child. boolean fail = false; try { pane.getScrollPosition(); } catch (NullPointerException e) { fail = true; } harness.check(fail); } } mauve-20140821/gnu/testlet/java/awt/Graphics2D/0000755000175000001440000000000012375316426017675 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/Graphics2D/setTransform.java0000644000175000001440000000433410443465633023232 0ustar dokousers/* setTransform.java -- some checks for the setTransform() method in the Graphics2D class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.Graphics2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Graphics2D; import java.awt.Shape; import java.awt.geom.AffineTransform; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; public class setTransform implements Testlet { public void test(TestHarness harness) { testBufferedImageGraphics2D(harness); } /** * Checks for the Graphics2D from a BufferedImage. * * @param harness the test harness. */ public void testBufferedImageGraphics2D(TestHarness harness) { harness.checkPoint("BufferedImage Graphics2D"); BufferedImage image = new BufferedImage(100, 80, BufferedImage.TYPE_INT_ARGB); Graphics2D g2 = image.createGraphics(); // here we check what happens to the clip shape when a transform is // set... harness.check(g2.getTransform(), new AffineTransform()); g2.setClip(1, 2, 3, 4); Shape currentClip = g2.getClip(); harness.check(currentClip, new Rectangle2D.Double(1, 2, 3, 4)); g2.transform(AffineTransform.getTranslateInstance(10.0, 20.0)); currentClip = g2.getClip(); harness.check(currentClip, new Rectangle2D.Double(-9, -18, 3, 4)); g2.setTransform(new AffineTransform()); currentClip = g2.getClip(); harness.check(currentClip, new Rectangle2D.Double(1, 2, 3, 4)); } } mauve-20140821/gnu/testlet/java/awt/Graphics2D/setClip.java0000644000175000001440000000357010442046253022137 0ustar dokousers/* setClip.java -- some checks for the setClip() method in the Graphics2D class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.Graphics2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Graphics2D; import java.awt.Rectangle; import java.awt.image.BufferedImage; public class setClip implements Testlet { public void test(TestHarness harness) { testBufferedImageGraphics2D(harness); } /** * Checks for the Graphics2D from a BufferedImage. * * @param harness the test harness. */ public void testBufferedImageGraphics2D(TestHarness harness) { harness.checkPoint("BufferedImage Graphics2D"); BufferedImage image = new BufferedImage(100, 80, BufferedImage.TYPE_INT_ARGB); Graphics2D g2 = image.createGraphics(); harness.check(g2.getClip(), null); g2.setClip(1, 2, 3, 4); harness.check(g2.getClip(), new Rectangle(1, 2, 3, 4)); g2.setClip(-1, -2, 10, 20); harness.check(g2.getClip(), new Rectangle(-1, -2, 10, 20)); // null is a permitted value g2.setClip(null); harness.check(g2.getClip(), null); } } mauve-20140821/gnu/testlet/java/awt/Graphics2D/getClip.java0000644000175000001440000000342310442046253022120 0ustar dokousers/* getClip.java -- some checks for the getClip() method in the Graphics2D class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.Graphics2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Graphics2D; import java.awt.Rectangle; import java.awt.image.BufferedImage; public class getClip implements Testlet { public void test(TestHarness harness) { testBufferedImageGraphics2D(harness); } /** * Checks for the Graphics2D from a BufferedImage. * * @param harness the test harness. */ public void testBufferedImageGraphics2D(TestHarness harness) { harness.checkPoint("BufferedImage Graphics2D"); BufferedImage image = new BufferedImage(100, 80, BufferedImage.TYPE_INT_ARGB); Graphics2D g2 = image.createGraphics(); harness.check(g2.getClip(), null); g2.setClip(1, 2, 3, 4); harness.check(g2.getClip(), new Rectangle(1, 2, 3, 4)); // null is a permitted value g2.setClip(null); harness.check(g2.getClip(), null); } } mauve-20140821/gnu/testlet/java/awt/Graphics2D/transform.java0000644000175000001440000000510210443465633022550 0ustar dokousers/* transform.java -- some checks for the transform() method in the Graphics2D class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.Graphics2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Graphics2D; import java.awt.Shape; import java.awt.geom.AffineTransform; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; public class transform implements Testlet { public void test(TestHarness harness) { testBufferedImageGraphics2D(harness); } /** * Checks for the Graphics2D from a BufferedImage. * * @param harness the test harness. */ public void testBufferedImageGraphics2D(TestHarness harness) { harness.checkPoint("BufferedImage Graphics2D"); BufferedImage image = new BufferedImage(100, 80, BufferedImage.TYPE_INT_ARGB); Graphics2D g2 = image.createGraphics(); harness.check(g2.getTransform().isIdentity()); g2.setTransform(new AffineTransform(1.0, 2.0, 3.0, 4.0, 5.0, 6.0)); g2.transform(new AffineTransform(7.0, 8.0, 9.0, 10.0, 11.0, 12.0)); AffineTransform current = g2.getTransform(); harness.check(current.getScaleX(), 31.0); harness.check(current.getScaleY(), 58.0); harness.check(current.getShearX(), 39.0); harness.check(current.getShearY(), 46.0); harness.check(current.getTranslateX(), 52.0); harness.check(current.getTranslateY(), 76.0); // here we check what happens to the clip shape when a transform is // applied... g2.setTransform(new AffineTransform()); g2.setClip(1, 2, 3, 4); Shape currentClip = g2.getClip(); harness.check(currentClip, new Rectangle2D.Double(1, 2, 3, 4)); g2.transform(AffineTransform.getTranslateInstance(10.0, 20.0)); currentClip = g2.getClip(); harness.check(currentClip, new Rectangle2D.Double(-9, -18, 3, 4)); } } mauve-20140821/gnu/testlet/java/awt/Graphics2D/clip.java0000644000175000001440000000440710442046253021463 0ustar dokousers/* clip.java -- some checks for the clip() method in the Graphics2D class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.Graphics2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Graphics2D; import java.awt.Rectangle; import java.awt.image.BufferedImage; public class clip implements Testlet { public void test(TestHarness harness) { testBufferedImageGraphics2D(harness); } public void testBufferedImageGraphics2D(TestHarness harness) { harness.checkPoint("BufferedImage Graphics2D"); BufferedImage image = new BufferedImage(100, 80, BufferedImage.TYPE_INT_ARGB); Graphics2D g2 = image.createGraphics(); harness.check(g2.getClip(), null); g2.clip(new Rectangle(1, 2, 3, 4)); harness.check(g2.getClip(), new Rectangle(1, 2, 3, 4)); g2.clip(new Rectangle(0, 1, 3, 2)); harness.check(g2.getClip(), new Rectangle(1, 2, 2, 1)); g2.setClip(null); g2.translate(10, 20); g2.clip(new Rectangle(1, 2, 3, 4)); harness.check(g2.getClip(), new Rectangle(1, 2, 3, 4)); // try a null argument - the API specification says that this will clear // the clip, but in fact the reference implementation throws a // NullPointerException - see the following entry in the bug parade: // http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6206189 boolean pass = false; try { g2.clip(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/Graphics2D/security.java0000644000175000001440000000475510450221512022401 0ustar dokousers// Tags: GUI JDK1.3 // Copyright (C) 2006 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.Graphics2D; import java.awt.AWTPermission; import java.awt.Composite; import java.awt.CompositeContext; import java.awt.Frame; import java.awt.Graphics2D; import java.awt.Window; import java.awt.RenderingHints; import java.awt.image.ColorModel; import java.security.Permission; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.TestSecurityManager; public class security implements Testlet { public void test(TestHarness harness) { try { Window window = new Frame(); window.setVisible(true); Graphics2D graphics2d = (Graphics2D) window.getGraphics(); Composite composite = new TestComposite(); Permission[] readDisplayPixels = new Permission[] { new AWTPermission("readDisplayPixels")}; TestSecurityManager sm = new TestSecurityManager(harness); try { sm.install(); // throwpoint: java.awt.Graphics2D-setComposite harness.checkPoint("setComposite"); try { sm.prepareChecks(readDisplayPixels); try { graphics2d.setComposite(composite); } catch (UnsupportedOperationException ex) { } sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } finally { sm.uninstall(); } window.setVisible(false); window.dispose(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "Unexpected exception"); } } private static class TestComposite implements Composite { public CompositeContext createContext(ColorModel srcColorModel, ColorModel dstColorModel, RenderingHints hints) { return null; } } } mauve-20140821/gnu/testlet/java/awt/Graphics2D/getClipBounds.java0000644000175000001440000000347010442046253023275 0ustar dokousers/* getClipBounds.java -- some checks for the getClipBounds() method in the Graphics2D class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.Graphics2D; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Graphics2D; import java.awt.Rectangle; import java.awt.image.BufferedImage; public class getClipBounds implements Testlet { public void test(TestHarness harness) { testBufferedImageGraphics2D(harness); } /** * Checks for the Graphics2D from a BufferedImage. * * @param harness the test harness. */ public void testBufferedImageGraphics2D(TestHarness harness) { harness.checkPoint("BufferedImage Graphics2D"); BufferedImage image = new BufferedImage(100, 80, BufferedImage.TYPE_INT_ARGB); Graphics2D g2 = image.createGraphics(); harness.check(g2.getClipBounds(), null); g2.setClip(1, 2, 3, 4); harness.check(g2.getClipBounds(), new Rectangle(1, 2, 3, 4)); // null is a permitted value g2.setClip(null); harness.check(g2.getClipBounds(), null); } } mauve-20140821/gnu/testlet/java/awt/Window/0000755000175000001440000000000012375316426017216 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/Window/pack1.java0000644000175000001440000000623010311130372021037 0ustar dokousers// Tags: GUI JDK1.0 // Copyright (C) 2005 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.Window; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; import java.awt.event.*; /** * Check that Window.pack gives children the right sizes. */ public class pack1 implements Testlet { Color bg = new Color (243, 133, 89); Color border = new Color (255, 0, 0); class pack1Frame extends Frame { public pack1Frame () { super (); } } class pack1Canvas extends Canvas { public pack1Canvas () { super (); setBackground (bg); } public void paint (Graphics g) { Rectangle bounds = new Rectangle (0, 0, this.getSize ().width, this.getSize ().height); g.setColor (border); g.drawRect (bounds.x, bounds.y, bounds.width - 1, bounds.height - 1); } } public void checkColor (TestHarness harness, Color c) { harness.check (c.getRed () == border.getRed () && c.getGreen () == border.getGreen () && c.getBlue () == border.getBlue ()); } public void test (TestHarness harness) { Robot r = harness.createRobot (); Color c; int x = 100; int y = 100; int width = 100; int height = 100; Insets i; pack1Frame f = new pack1Frame (); f.setLocation (x, y); f.setSize (width, height); f.add (new pack1Canvas ()); r.setAutoDelay (100); r.setAutoWaitForIdle (true); f.show (); r.waitForIdle (); r.delay (100); i = f.getInsets (); int top_y = y + i.top; int bottom_y = y + height - i.bottom - 1; int left_x = x + i.left; int right_x = x + width - i.right - 1; // top-left-left c = r.getPixelColor (left_x, top_y + 1); checkColor (harness, c); // top-left-top c = r.getPixelColor (left_x + 1, top_y); checkColor (harness, c); // top-right-right c = r.getPixelColor (right_x, top_y + 1); checkColor (harness, c); // top-right-top c = r.getPixelColor (right_x - 1, top_y); checkColor (harness, c); // bottom-left-left c = r.getPixelColor (left_x, bottom_y - 1); checkColor (harness, c); // bottom-left-bottom c = r.getPixelColor (left_x + 1, bottom_y); checkColor (harness, c); // bottom-right-right c = r.getPixelColor (right_x, bottom_y - 1); checkColor (harness, c); // bottom-right-bottom c = r.getPixelColor (right_x - 1, bottom_y); checkColor (harness, c); r.delay (4000); } } mauve-20140821/gnu/testlet/java/awt/Window/focusCycleRootTest.java0000644000175000001440000000264610410575207023664 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2006 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 51 Franklin Street, Fifth Floor, //Boston, MA, 02110-1301 USA. package gnu.testlet.java.awt.Window; import java.awt.Frame; import java.awt.Window; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests that the behaviour of focusCycleRoot. */ public class focusCycleRootTest implements Testlet { public void test(TestHarness harness) { Frame f = new Frame(); Window w = new Window(f); harness.check(w.getFocusCycleRootAncestor() == null); harness.check(w.isFocusCycleRoot() == true); // method must not changes focuscycleroot variable w.setFocusCycleRoot(false); harness.check(w.isFocusCycleRoot() == true); } } mauve-20140821/gnu/testlet/java/awt/Window/security.java0000644000175000001440000000521310450221512021710 0ustar dokousers// Tags: GUI JDK1.3 // Copyright (C) 2006 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.Window; import java.awt.AWTPermission; import java.awt.Frame; import java.awt.GraphicsConfiguration; import java.awt.Window; import java.security.Permission; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.TestSecurityManager; public class security implements Testlet { public void test(TestHarness harness) { try { Frame frame = new Frame(); Window window = new Window(frame); GraphicsConfiguration gc = window.getGraphicsConfiguration(); Permission[] showWindowWithoutWarningBanner = new Permission[] { new AWTPermission("showWindowWithoutWarningBanner")}; TestSecurityManager sm = new TestSecurityManager(harness); try { sm.install(); // throwpoint: java.awt.Window-Window(Frame) harness.checkPoint("Window(Frame)"); try { sm.prepareChecks(showWindowWithoutWarningBanner); new Window(frame); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.awt.Window-Window(Window) harness.checkPoint("Window(Window)"); try { sm.prepareChecks(showWindowWithoutWarningBanner); new Window(window); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.awt.Window-Window(Window, GraphicsConfiguration) harness.checkPoint("Window(Window, GraphicsConfiguration)"); try { sm.prepareChecks(showWindowWithoutWarningBanner); new Window(window, gc); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } finally { sm.uninstall(); } } catch (Exception ex) { harness.debug(ex); harness.check(false, "Unexpected exception"); } } } mauve-20140821/gnu/testlet/java/awt/testName.java0000644000175000001440000001455710453540222020372 0ustar dokousers/* testName.java -- Copyright (C) 2006 RedHat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK 1.4E package gnu.testlet.java.awt; import java.awt.CheckboxMenuItem; import java.awt.Choice; import java.awt.Cursor; import java.awt.Font; import java.awt.List; import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem; import java.awt.PopupMenu; import java.awt.ScrollPane; import java.awt.TextField; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class testName implements Testlet { public void test(TestHarness harness) { Choice a0 = new Choice(); Choice a1 = new Choice(); Choice a2 = new Choice(); harness.check(a0.getName(), "choice0"); harness.check(a1.getName(), "choice1"); harness.check(a2.getName(), "choice2"); Choice a3 = new Choice(); Choice a4 = new Choice(); Choice a5 = new Choice(); harness.check(a5.getName(), "choice3"); harness.check(a4.getName(), "choice4"); harness.check(a3.getName(), "choice5"); CheckboxMenuItem b0 = new CheckboxMenuItem(); CheckboxMenuItem b1 = new CheckboxMenuItem(); CheckboxMenuItem b2 = new CheckboxMenuItem(); harness.check(b0.getName(), "chkmenuitem0"); harness.check(b1.getName(), "chkmenuitem1"); harness.check(b2.getName(), "chkmenuitem2"); CheckboxMenuItem b5 = new CheckboxMenuItem(); CheckboxMenuItem b4 = new CheckboxMenuItem(); CheckboxMenuItem b3 = new CheckboxMenuItem(); harness.check(b5.getName(), "chkmenuitem3"); harness.check(b4.getName(), "chkmenuitem4"); harness.check(b3.getName(), "chkmenuitem5"); List c0 = new List(); List c1 = new List(); List c2 = new List(); harness.check(c0.getName(), "list0"); harness.check(c1.getName(), "list1"); harness.check(c2.getName(), "list2"); List c3 = new List(); List c4 = new List(); List c5 = new List(); harness.check(c5.getName(), "list3"); harness.check(c4.getName(), "list4"); harness.check(c3.getName(), "list5"); MenuBar d0 = new MenuBar(); MenuBar d1 = new MenuBar(); MenuBar d2 = new MenuBar(); harness.check(d0.getName(), "menubar0"); harness.check(d1.getName(), "menubar1"); harness.check(d2.getName(), "menubar2"); MenuBar d3 = new MenuBar(); MenuBar d4 = new MenuBar(); MenuBar d5 = new MenuBar(); harness.check(d5.getName(), "menubar3"); harness.check(d4.getName(), "menubar4"); harness.check(d3.getName(), "menubar5"); MenuItem e0 = new MenuItem(); MenuItem e1 = new MenuItem(); MenuItem e2 = new MenuItem(); harness.check(e0.getName(), "menuitem0"); harness.check(e1.getName(), "menuitem1"); harness.check(e2.getName(), "menuitem2"); MenuItem e3 = new MenuItem(); MenuItem e4 = new MenuItem(); MenuItem e5 = new MenuItem(); harness.check(e5.getName(), "menuitem3"); harness.check(e4.getName(), "menuitem4"); harness.check(e3.getName(), "menuitem5"); Menu f0 = new Menu(); Menu f1 = new Menu(); Menu f2 = new Menu(); harness.check(f0.getName(), "menu0"); harness.check(f1.getName(), "menu1"); harness.check(f2.getName(), "menu2"); Menu f3 = new Menu(); Menu f4 = new Menu(); Menu f5 = new Menu(); harness.check(f5.getName(), "menu3"); harness.check(f4.getName(), "menu4"); harness.check(f3.getName(), "menu5"); PopupMenu g0 = new PopupMenu(); PopupMenu g1 = new PopupMenu(); PopupMenu g2 = new PopupMenu(); harness.check(g0.getName(), "popup0"); harness.check(g1.getName(), "popup1"); harness.check(g2.getName(), "popup2"); PopupMenu g3 = new PopupMenu(); PopupMenu g4 = new PopupMenu(); PopupMenu g5 = new PopupMenu(); harness.check(g5.getName(), "popup3"); harness.check(g4.getName(), "popup4"); harness.check(g3.getName(), "popup5"); ScrollPane h0 = new ScrollPane(); ScrollPane h1 = new ScrollPane(); ScrollPane h2 = new ScrollPane(); harness.check(h0.getName(), "scrollpane0"); harness.check(h1.getName(), "scrollpane1"); harness.check(h2.getName(), "scrollpane2"); ScrollPane h3 = new ScrollPane(); ScrollPane h4 = new ScrollPane(); ScrollPane h5 = new ScrollPane(); harness.check(h5.getName(), "scrollpane3"); harness.check(h4.getName(), "scrollpane4"); harness.check(h3.getName(), "scrollpane5"); TextField i0 = new TextField(); TextField i1 = new TextField(); TextField i2 = new TextField(); harness.check(i0.getName(), "textfield0"); harness.check(i1.getName(), "textfield1"); harness.check(i2.getName(), "textfield2"); TextField i3 = new TextField(); TextField i4 = new TextField(); TextField i5 = new TextField(); harness.check(i5.getName(), "textfield3"); harness.check(i4.getName(), "textfield4"); harness.check(i3.getName(), "textfield5"); harness.check((new Cursor(0)).getName(), "Default Cursor"); harness.check((new Cursor(1)).getName(), "Crosshair Cursor"); harness.check((new Cursor(2)).getName(), "Text Cursor"); harness.check((new Cursor(3)).getName(), "Wait Cursor"); harness.check((new Cursor(4)).getName(), "Southwest Resize Cursor"); harness.check((new Cursor(5)).getName(), "Southeast Resize Cursor"); harness.check((new Cursor(6)).getName(), "Northwest Resize Cursor"); harness.check((new Cursor(7)).getName(), "Northeast Resize Cursor"); harness.check((new Cursor(8)).getName(), "North Resize Cursor"); harness.check((new Cursor(9)).getName(), "South Resize Cursor"); harness.check((new Cursor(10)).getName(), "West Resize Cursor"); harness.check((new Cursor(11)).getName(), "East Resize Cursor"); harness.check((new Cursor(12)).getName(), "Hand Cursor"); harness.check((new Cursor(13)).getName(), "Move Cursor"); Font j = new Font(null, 0, 0); harness.check(j.getName(), "Default"); harness.check(j.getFontName(), "Dialog.plain"); } } mauve-20140821/gnu/testlet/java/awt/ScrollPaneAdjustable/0000755000175000001440000000000012375316426022010 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/ScrollPaneAdjustable/paramString.java0000644000175000001440000000267610522175727025154 0ustar dokousers/* paramString.java Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.4 package gnu.testlet.java.awt.ScrollPaneAdjustable; import java.awt.ScrollPane; import java.awt.ScrollPaneAdjustable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class paramString implements Testlet { public void test(TestHarness harness) { ScrollPane sp = new ScrollPane(); ScrollPaneAdjustable vspa = (ScrollPaneAdjustable) sp.getVAdjustable(); ScrollPaneAdjustable hspa = (ScrollPaneAdjustable) sp.getHAdjustable(); harness.check(vspa.paramString(), "vertical,[0..0],val=0,vis=0,unit=1,block=1,isAdjusting=false"); harness.check(hspa.paramString(), "horizontal,[0..0],val=0,vis=0,unit=1,block=1,isAdjusting=false"); } } mauve-20140821/gnu/testlet/java/awt/dnd/0000755000175000001440000000000012375316426016514 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/dnd/DropTargetDragEvent/0000755000175000001440000000000012375316426022367 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/dnd/DropTargetDragEvent/Constructors.java0000644000175000001440000000544710470427605025750 0ustar dokousers/* Constructors.java -- Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package gnu.testlet.java.awt.dnd.DropTargetDragEvent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Button; import java.awt.Point; import java.awt.dnd.DnDConstants; import java.awt.dnd.DropTarget; import java.awt.dnd.DropTargetContext; import java.awt.dnd.DropTargetDragEvent; public class Constructors implements Testlet { Button b = new Button("button"); DropTarget dt = new DropTarget(b, null); DropTargetContext dtc = dt.getDropTargetContext(); Point loc = new Point(); boolean caught; public synchronized void test(TestHarness h) { testNullLoc(h); testDropAction(h); testSrcAction(h); testNormal(h); } void testNullLoc(TestHarness h) { caught = false; try { new DropTargetDragEvent(dtc, null, DnDConstants.ACTION_COPY, DnDConstants.ACTION_COPY); } catch (NullPointerException npe) { caught = true; } h.check(caught); } void testDropAction(TestHarness h) { caught = false; try { new DropTargetDragEvent(dtc, loc, 4, DnDConstants.ACTION_COPY); } catch (IllegalArgumentException iae) { caught = true; } h.check(caught); } void testSrcAction(TestHarness h) { caught = false; try { new DropTargetDragEvent(dtc, loc, DnDConstants.ACTION_COPY, 4); } catch (IllegalArgumentException iae) { caught = true; } h.check(caught); } void testNormal(TestHarness h) { caught = false; DropTargetDragEvent dtde = null; try { dtde = new DropTargetDragEvent(dtc, loc, DnDConstants.ACTION_COPY, DnDConstants.ACTION_COPY); } catch (Exception e) { caught = true; } h.check(!caught); h.check(dtde != null && dtde.getDropAction() == DnDConstants.ACTION_COPY); h.check(dtde != null && dtde.getSourceActions() == DnDConstants.ACTION_COPY); h.check(dtde != null && dtde.getLocation().equals(loc)); } } mauve-20140821/gnu/testlet/java/awt/dnd/DropTargetDropEvent/0000755000175000001440000000000012375316426022416 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/dnd/DropTargetDropEvent/Constructors.java0000644000175000001440000000560510471104372025765 0ustar dokousers/* Constructors.java -- Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: FIXME package gnu.testlet.java.awt.dnd.DropTargetDropEvent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Button; import java.awt.Point; import java.awt.dnd.DnDConstants; import java.awt.dnd.DropTarget; import java.awt.dnd.DropTargetContext; import java.awt.dnd.DropTargetDropEvent; public class Constructors implements Testlet { Button b = new Button("button"); DropTarget dt = new DropTarget(b, null); DropTargetContext dtc = dt.getDropTargetContext(); Point loc = new Point(); boolean caught; public synchronized void test(TestHarness h) { testNullLoc(h); testDropAction(h); testSrcAction(h); testNormal(h); } void testNullLoc(TestHarness h) { caught = false; try { new DropTargetDropEvent(dtc, null, DnDConstants.ACTION_COPY, DnDConstants.ACTION_COPY, false); } catch (NullPointerException npe) { caught = true; } h.check(caught); } void testDropAction(TestHarness h) { caught = false; try { new DropTargetDropEvent(dtc, loc, 4, DnDConstants.ACTION_COPY, false); } catch (IllegalArgumentException iae) { caught = true; } h.check(caught); } void testSrcAction(TestHarness h) { caught = false; try { new DropTargetDropEvent(dtc, loc, DnDConstants.ACTION_COPY, 4,false); } catch (IllegalArgumentException iae) { caught = true; } h.check(caught); } void testNormal(TestHarness h) { caught = false; DropTargetDropEvent dtde = null; try { dtde = new DropTargetDropEvent(dtc, loc, DnDConstants.ACTION_COPY, DnDConstants.ACTION_COPY, true); } catch (Exception e) { caught = true; } h.check(!caught); h.check(dtde != null && dtde.getDropAction() == DnDConstants.ACTION_COPY); h.check(dtde != null && dtde.getSourceActions() == DnDConstants.ACTION_COPY); h.check(dtde != null && dtde.getLocation().equals(loc)); h.check(dtde != null && dtde.isLocalTransfer()); } } mauve-20140821/gnu/testlet/java/awt/dnd/DragSourceContext/0000755000175000001440000000000012375316426022117 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/dnd/DragSourceContext/Constructor.java0000644000175000001440000001214410466646322025311 0ustar dokousers/* Constructor.java -- Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package gnu.testlet.java.awt.dnd.DragSourceContext; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Component; import java.awt.Cursor; import java.awt.Point; import java.awt.Toolkit; import java.awt.datatransfer.StringSelection; import java.awt.dnd.DnDConstants; import java.awt.dnd.DragGestureEvent; import java.awt.dnd.DragGestureRecognizer; import java.awt.dnd.DragSource; import java.awt.dnd.DragSourceContext; import java.awt.dnd.peer.DragSourceContextPeer; import java.awt.image.BufferedImage; import java.util.ArrayList; public class Constructor implements Testlet { TestHarness harness; DragGestureEvent trigger = null; DragSourceContextPeer peer = null; Cursor cur = Cursor.getDefaultCursor(); StringSelection ss = new StringSelection("data"); boolean caught = false; public void test(TestHarness harness) { this.harness = harness; testNPE(); testIllegalArgumentException(); } void testNPE() { try { new DragSourceContext(null, null, null, null, null, null, null); } catch (NullPointerException npe) { caught = true; } harness.check(caught); caught = false; try { trigger = new DragGestureEvent(new DGR(), DnDConstants.ACTION_COPY, new Point(), new ArrayList()); peer = Toolkit.getDefaultToolkit().createDragSourceContextPeer(trigger); new DragSourceContext(peer, trigger, cur, null, null, ss, null); } catch (NullPointerException npe) { caught = true; } catch (IllegalArgumentException iae) { } harness.check(!caught); caught = false; try { new DragSourceContext(peer, trigger, cur, new BufferedImage(50, 50, BufferedImage.TYPE_3BYTE_BGR), null, ss, null); } catch (NullPointerException npe) { caught = true; } harness.check(caught); caught = false; } void testIllegalArgumentException() { try { DGR dgr = new DGR(); dgr.setComponent(null); trigger = new DragGestureEvent(dgr, DnDConstants.ACTION_COPY, new Point(), new ArrayList()); peer = Toolkit.getDefaultToolkit().createDragSourceContextPeer(trigger); new DragSourceContext(peer, trigger, cur, new BufferedImage(50, 50, BufferedImage.TYPE_3BYTE_BGR), new Point(), ss, null); } catch (IllegalArgumentException iae) { caught = true; } harness.check(caught); caught = false; try { DGR dgr = new DGR(null); trigger = new DragGestureEvent(dgr, DnDConstants.ACTION_COPY, new Point(), new ArrayList()); peer = Toolkit.getDefaultToolkit().createDragSourceContextPeer(trigger); new DragSourceContext(peer, trigger, cur, new BufferedImage(50, 50, BufferedImage.TYPE_3BYTE_BGR), new Point(), ss, null); } catch (IllegalArgumentException iae) { caught = true; } harness.check(caught); caught = false; try { DGR dgr = new DGR(); trigger = new DragGestureEvent(dgr, DnDConstants.ACTION_NONE, new Point(), new ArrayList()); peer = Toolkit.getDefaultToolkit().createDragSourceContextPeer(trigger); new DragSourceContext(peer, trigger, cur, new BufferedImage(50, 50, BufferedImage.TYPE_3BYTE_BGR), new Point(), ss, null); } catch (IllegalArgumentException iae) { caught = true; } harness.check(caught); caught = false; } class DGR extends DragGestureRecognizer { public DGR() { super(new DragSource()); } public DGR(DragSource ds) { super(ds); } public void setComponent(Component c) { super.component = c; } public void registerListeners() { } public void unregisterListeners() { } } } mauve-20140821/gnu/testlet/java/awt/dnd/DragGestureRecognizer/0000755000175000001440000000000012375316426022760 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/dnd/DragGestureRecognizer/resetRecognizer.java0000644000175000001440000000666310521415210026766 0ustar dokousers/* resetRecognizer.java -- Tests DragGestureRecognizer.resetRecognizer() Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.dnd.DragGestureRecognizer; import java.awt.Component; import java.awt.dnd.DnDConstants; import java.awt.dnd.DragGestureEvent; import java.awt.dnd.DragGestureListener; import java.awt.dnd.DragGestureRecognizer; import java.awt.dnd.DragSource; import java.awt.event.MouseEvent; import java.util.ArrayList; import junit.framework.TestCase; /** * Tests DragGestureRecognizer.resetRecognizer(). */ public class resetRecognizer extends TestCase { static class TestRecognizer extends DragGestureRecognizer { protected TestRecognizer(DragSource s, Component c, int sa, DragGestureListener l) { super(s, c, sa, l); } protected void registerListeners() { } protected void unregisterListeners() { } Component getFieldComponent() { return component; } DragGestureListener getFieldDragGestureListener() { return dragGestureListener; } DragSource getFieldDragSource() { return dragSource; } ArrayList getFieldEvents() { return events; } int getFieldSourceActions() { return sourceActions; } } /** * Checks the state of the class before and after a call to * resetRecognizer(). */ public void testSimple() { DragSource s = new DragSource(); Component c = new Component(){}; DragGestureListener l = new DragGestureListener() { public void dragGestureRecognized(DragGestureEvent e) { // TODO Auto-generated method stub } }; TestRecognizer rec = new TestRecognizer(s, c, DnDConstants.ACTION_MOVE, l); assertEquals(s, rec.getFieldDragSource()); assertEquals(c, rec.getFieldComponent()); assertEquals(l, rec.getFieldDragGestureListener()); assertEquals(DnDConstants.ACTION_MOVE, rec.getFieldSourceActions()); ArrayList ev = rec.getFieldEvents(); ev.add(new MouseEvent(c, MouseEvent.MOUSE_DRAGGED, System.currentTimeMillis(), MouseEvent.ALT_DOWN_MASK, 10, 20, 1, false)); ev.add(new MouseEvent(c, MouseEvent.MOUSE_DRAGGED, System.currentTimeMillis(), MouseEvent.ALT_DOWN_MASK, 10, 20, 1, false)); assertEquals(2, ev.size()); rec.resetRecognizer(); assertSame(ev, rec.getFieldEvents()); assertEquals(0, ev.size()); assertEquals(s, rec.getFieldDragSource()); assertEquals(c, rec.getFieldComponent()); assertEquals(l, rec.getFieldDragGestureListener()); assertEquals(DnDConstants.ACTION_MOVE, rec.getFieldSourceActions()); } } mauve-20140821/gnu/testlet/java/awt/dnd/DropTarget/0000755000175000001440000000000012375316426020567 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/dnd/DropTarget/Constructors.java0000644000175000001440000001200610464202224024124 0ustar dokousers/* Constructors.java -- Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package gnu.testlet.java.awt.dnd.DropTarget; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Button; import java.awt.datatransfer.FlavorMap; import java.awt.datatransfer.SystemFlavorMap; import java.awt.dnd.DnDConstants; import java.awt.dnd.DropTarget; import java.util.TooManyListenersException; public class Constructors implements Testlet { TestHarness h; boolean caught = false; DropTarget dt; DropTarget oldDt; FlavorMap fm; Button b = new Button(); public void test(TestHarness harness) { h = harness; testNoParam(); testTwoParams(); testThreeParams(); testFourParams(); testFiveParams(); } public void testNoParam() { dt = new DropTarget(); oldDt = dt; h.check(dt.getComponent() == null); h.check(dt.getDefaultActions() == DnDConstants.ACTION_COPY_OR_MOVE); try { dt.addDropTargetListener(null); } catch (TooManyListenersException tmle) { caught = true; } h.check(!caught); h.check(dt.isActive()); fm = dt.getFlavorMap(); h.check(fm != null); h.check((fm instanceof SystemFlavorMap)); caught = false; } public void testTwoParams() { dt = new DropTarget(b, oldDt); h.check(dt.getComponent().equals(b)); h.check(dt.getDefaultActions() == DnDConstants.ACTION_COPY_OR_MOVE); try { dt.addDropTargetListener(dt); } catch (IllegalArgumentException iae) { caught = true; } catch (TooManyListenersException tmle) { caught = false; } h.check(caught); caught = false; try { dt.addDropTargetListener(oldDt); } catch (TooManyListenersException tmle) { caught = true; } h.check(caught); caught = false; h.check(dt.isActive()); fm = dt.getFlavorMap(); h.check(fm != null); h.check((fm instanceof SystemFlavorMap)); } public void testThreeParams() { dt = new DropTarget(b, DnDConstants.ACTION_COPY_OR_MOVE, oldDt); h.check(dt.getComponent().equals(b)); h.check(dt.getDefaultActions() == DnDConstants.ACTION_COPY_OR_MOVE); try { dt.addDropTargetListener(dt); } catch (IllegalArgumentException iae) { caught = true; } catch (TooManyListenersException tmle) { caught = false; } h.check(caught); caught = false; try { dt.addDropTargetListener(oldDt); } catch (TooManyListenersException tmle) { caught = true; } h.check(caught); caught = false; h.check(dt.isActive()); fm = dt.getFlavorMap(); h.check(fm != null); h.check((fm instanceof SystemFlavorMap)); } public void testFourParams() { dt = new DropTarget(b, DnDConstants.ACTION_COPY_OR_MOVE, oldDt, false); h.check(dt.getComponent().equals(b)); h.check(dt.getDefaultActions() == DnDConstants.ACTION_COPY_OR_MOVE); try { dt.addDropTargetListener(dt); } catch (IllegalArgumentException iae) { caught = true; } catch (TooManyListenersException tmle) { caught = false; } h.check(caught); caught = false; try { dt.addDropTargetListener(oldDt); } catch (TooManyListenersException tmle) { caught = true; } h.check(caught); caught = false; h.check(!dt.isActive()); fm = dt.getFlavorMap(); h.check(fm != null); h.check((fm instanceof SystemFlavorMap)); } public void testFiveParams() { fm = SystemFlavorMap.getDefaultFlavorMap(); dt = new DropTarget(b, DnDConstants.ACTION_COPY_OR_MOVE, oldDt, false, fm); h.check(dt.getComponent().equals(b)); h.check(dt.getDefaultActions() == DnDConstants.ACTION_COPY_OR_MOVE); try { dt.addDropTargetListener(dt); } catch (IllegalArgumentException iae) { caught = true; } catch (TooManyListenersException tmle) { caught = false; } h.check(caught); caught = false; try { dt.addDropTargetListener(oldDt); } catch (TooManyListenersException tmle) { caught = true; } h.check(caught); caught = false; h.check(!dt.isActive()); h.check(dt.getFlavorMap().equals(fm)); } } mauve-20140821/gnu/testlet/java/awt/dnd/DnDTest.java0000644000175000001440000002032110470365177020663 0ustar dokousers/* DnDTest.java -- Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package gnu.testlet.java.awt.dnd; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.BorderLayout; import java.awt.Button; import java.awt.Color; import java.awt.Frame; import java.awt.Label; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.StringSelection; import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; import java.awt.dnd.DnDConstants; import java.awt.dnd.DragGestureEvent; import java.awt.dnd.DragGestureListener; import java.awt.dnd.DragSource; import java.awt.dnd.DragSourceContext; import java.awt.dnd.DragSourceDragEvent; import java.awt.dnd.DragSourceDropEvent; import java.awt.dnd.DragSourceEvent; import java.awt.dnd.DragSourceListener; import java.awt.dnd.DropTarget; import java.awt.dnd.DropTargetDragEvent; import java.awt.dnd.DropTargetDropEvent; import java.awt.dnd.DropTargetEvent; import java.awt.dnd.DropTargetListener; import java.awt.dnd.InvalidDnDOperationException; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.InputEvent; public class DnDTest implements Testlet { TestHarness harness; Robot r; boolean unsuccessful; boolean dragGestRec; boolean dragEnter; boolean dragEnterTar; boolean dragOver; boolean dragOverTar; boolean drop; boolean finished; boolean actionPerformed; boolean dragExit; boolean dropActionChanged; boolean dragExitTar; boolean dropActionChangedTar; public synchronized void test(TestHarness h) { harness = h; r = harness.createRobot (); new MainClass(""); } class MainClass extends Frame implements ActionListener, DropTargetListener { MouseThread mt; int start; int end; DragLabel source = new DragLabel("Drag and drop me to the following Button", Label.CENTER); Button target = new Button(); public MainClass(String title) { super(title); source.setForeground(Color.red); add(source, BorderLayout.NORTH); target.addActionListener(this); add(target, BorderLayout.SOUTH); new DropTarget(target, DnDConstants.ACTION_COPY_OR_MOVE, this); setSize(205, 100); setVisible(true); r.waitForIdle(); r.delay (1000); doDnD(); r.delay(3000); harness.check(!unsuccessful); harness.check(finished); harness.check(dragGestRec); harness.check(dragEnter); harness.check(dragEnterTar); harness.check(dragOver); harness.check(dragOverTar); harness.check(drop); harness.check(!actionPerformed); harness.check(!dragExit); harness.check(!dropActionChanged); harness.check(!dragExitTar); harness.check(!dropActionChangedTar); } void doDnD() { Point sLoc = source.getLocationOnScreen(); Rectangle sSize = source.getBounds(); Point tLoc = target.getLocationOnScreen(); Rectangle tSize = target.getBounds(); // To focus the window r.mouseMove(sLoc.x + sSize.width/2, sLoc.y + sSize.height/2); r.mousePress(InputEvent.BUTTON1_MASK); r.mouseRelease(InputEvent.BUTTON1_MASK); // drag and drop r.delay(1000); r.mousePress(InputEvent.BUTTON1_MASK); r.delay(1000); r.mouseMove(tLoc.x + tSize.width/2, tLoc.y + tSize.height/2); start = tLoc.y + tSize.height/2; end = start + 5; mt = new MouseThread(); mt.start(); r.delay(1000); mt.shouldStop=true; r.mouseRelease(InputEvent.BUTTON1_MASK); } class MouseThread extends Thread { public boolean shouldStop; public void run() { try { shouldStop = false; Robot robot = new Robot(); for (;;) { for (int i = start; i < end; i++) { if (shouldStop) break; robot.mouseMove(150, i); yield(); } for (int i = end; i > start; i--) { if (shouldStop) break; robot.mouseMove(150, i); yield(); } if (shouldStop) break; } } catch (Exception e) { unsuccessful = true; } } } public void actionPerformed(ActionEvent e) { Button b = (Button) e.getSource(); b.setLabel(""); source.setText("Drag and drop me to the following Button"); actionPerformed = true; } public void dragEnter(DropTargetDragEvent e) { dragEnter = true; } public void dragExit(DropTargetEvent e) { dragExit = true; } public void dragOver(DropTargetDragEvent e) { dragOver = true; } public void drop(DropTargetDropEvent e) { drop = true; try { Transferable t = e.getTransferable(); if (e.isDataFlavorSupported(DataFlavor.stringFlavor)) { e.acceptDrop(e.getDropAction()); String s; s = (String) t.getTransferData(DataFlavor.stringFlavor); target.setLabel(s); e.dropComplete(true); } else { unsuccessful = true; e.rejectDrop(); } } catch (java.io.IOException e2) { unsuccessful = true; } catch (UnsupportedFlavorException e2) { unsuccessful = true; } } public void dropActionChanged(DropTargetDragEvent e) { dropActionChanged = true; } } class DragLabel extends Label implements DragGestureListener, DragSourceListener { private DragSource ds = DragSource.getDefaultDragSource(); public DragLabel(String s, int alignment) { super(s, alignment); int action = DnDConstants.ACTION_COPY_OR_MOVE; ds.createDefaultDragGestureRecognizer(this, action, this); } public void dragGestureRecognized(DragGestureEvent e) { try { Transferable t = new StringSelection(getText()); e.startDrag(DragSource.DefaultCopyNoDrop, t, this); dragGestRec = true; } catch (InvalidDnDOperationException e2) { unsuccessful = true; } } public void dragDropEnd(DragSourceDropEvent e) { if (e.getDropSuccess() == false) { unsuccessful = true; return; } int action = e.getDropAction(); if ((action & DnDConstants.ACTION_MOVE) != 0) setText(""); finished = true; } public void dragEnter(DragSourceDragEvent e) { dragEnterTar = true; DragSourceContext ctx = e.getDragSourceContext(); int action = e.getDropAction(); if ((action & DnDConstants.ACTION_COPY) != 0) ctx.setCursor(DragSource.DefaultCopyDrop); else ctx.setCursor(DragSource.DefaultCopyNoDrop); } public void dragExit(DragSourceEvent e) { dragExitTar = true; } public void dragOver(DragSourceDragEvent e) { dragOverTar = true; } public void dropActionChanged(DragSourceDragEvent e) { dropActionChangedTar = true; } } } mauve-20140821/gnu/testlet/java/awt/dnd/DragSource/0000755000175000001440000000000012375316426020552 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/dnd/DragSource/CreateDragGestureRecognizerTest.java0000644000175000001440000000250510464202224027632 0ustar dokousers/* CreateDragGestureRecognizerTest.java -- Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package gnu.testlet.java.awt.dnd.DragSource; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Label; import java.awt.dnd.DnDConstants; import java.awt.dnd.DragGestureRecognizer; import java.awt.dnd.DragSource; public class CreateDragGestureRecognizerTest implements Testlet { public void test(TestHarness h) { DragSource ds = new DragSource(); DragGestureRecognizer dgr = ds.createDefaultDragGestureRecognizer( new Label("label"), DnDConstants.ACTION_COPY, null); h.check(dgr != null); } } mauve-20140821/gnu/testlet/java/awt/dnd/DragSource/Constructors.java0000644000175000001440000000236410464202224024115 0ustar dokousers/* Constructors.java -- Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package gnu.testlet.java.awt.dnd.DragSource; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.HeadlessException; import java.awt.dnd.DragSource; public class Constructors implements Testlet { public void test(TestHarness h) { boolean caught = false; try { DragSource ds = new DragSource(); h.check(!ds.equals(DragSource.getDefaultDragSource())); } catch (HeadlessException he) { caught = true; } h.check(!caught); } } mauve-20140821/gnu/testlet/java/awt/dnd/DragSource/isDragImageSupportedTest.java0000644000175000001440000000204710464202224026325 0ustar dokousers/* isDragImageSupportedTest.java -- Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package gnu.testlet.java.awt.dnd.DragSource; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.dnd.DragSource; public class isDragImageSupportedTest implements Testlet { public void test(TestHarness h) { h.check(!DragSource.isDragImageSupported()); } } mauve-20140821/gnu/testlet/java/awt/dnd/DragSource/FlavourMapTest.java0000644000175000001440000000216210464202224024315 0ustar dokousers/* FlavourMapTest.java -- Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package gnu.testlet.java.awt.dnd.DragSource; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.datatransfer.SystemFlavorMap; import java.awt.dnd.DragSource; public class FlavourMapTest implements Testlet { public void test(TestHarness h) { DragSource ds = new DragSource(); h.check((ds.getFlavorMap() instanceof SystemFlavorMap)); } } mauve-20140821/gnu/testlet/java/awt/dnd/DragSource/getDragThresholdTest.java0000644000175000001440000000206110464202224025471 0ustar dokousers/* getDragThresholdTest.java -- Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK 1.5 package gnu.testlet.java.awt.dnd.DragSource; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.dnd.DragSource; public class getDragThresholdTest implements Testlet { public void test(TestHarness h) { h.check(DragSource.getDragThreshold() == 8); } } mauve-20140821/gnu/testlet/java/awt/dnd/DropTargetContext/0000755000175000001440000000000012375316426022134 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/dnd/DropTargetContext/DropTargetContextTest.java0000644000175000001440000000241610466707012027254 0ustar dokousers/* DropTargetContextTest.java -- Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package gnu.testlet.java.awt.dnd.DropTargetContext; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Button; import java.awt.dnd.DropTarget; import java.awt.dnd.DropTargetContext; public class DropTargetContextTest implements Testlet { Button b = new Button("button"); DropTarget dt = new DropTarget(b, null); public void test(TestHarness h) { DropTargetContext dtc = dt.getDropTargetContext(); h.check(dt, dtc.getDropTarget()); h.check(b, dtc.getComponent()); } } mauve-20140821/gnu/testlet/java/awt/Button/0000755000175000001440000000000012375316426017222 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/Button/addPropertyChangeListenerString.java0000644000175000001440000000471311671373606026373 0ustar dokousers// addPropertyChangeListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Button; import java.awt.Color; import java.awt.Button; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Check if {@link PropertyChangeListener} could be registered for an AWT {@link Button}. */ public class addPropertyChangeListenerString implements Testlet { private static final String PROPERTY_CHANGE_LISTENER_NAME = "myProperlyChangeListener"; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Button button = new Button("xyzzy"); button.setBackground(Color.blue); // array which will be filled by registered listeners PropertyChangeListener[] properlyChangeListeners; // get all registered listeners properlyChangeListeners = button.getPropertyChangeListeners(); harness.check(properlyChangeListeners.length, 0); // register new listener button.addPropertyChangeListener("font", new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { // empty block } @Override public String toString() { return PROPERTY_CHANGE_LISTENER_NAME; } }); // get all registered listeners properlyChangeListeners = button.getPropertyChangeListeners("font"); harness.check(properlyChangeListeners.length, 1); // check if the proper listener is used harness.check(properlyChangeListeners[0].toString(), PROPERTY_CHANGE_LISTENER_NAME); } } mauve-20140821/gnu/testlet/java/awt/Button/addComponentListener.java0000644000175000001440000000502111643333140024171 0ustar dokousers// addComponentListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Button; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if ComponentListener could be registered for an AWT Button. */ public class addComponentListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Button button = new Button("xyzzy"); button.setBackground(Color.blue); // array which will be filled by registered listeners ComponentListener[] componentListeners; // get all registered listeners componentListeners = button.getComponentListeners(); harness.check(componentListeners.length, 0); // register new listener button.addComponentListener( new ComponentListener() { public void componentHidden(ComponentEvent e) { // empty } public void componentMoved(ComponentEvent e) { // empty } public void componentResized(ComponentEvent e) { // empty } public void componentShown(ComponentEvent e) { // empty } @Override public String toString() { return "myComponentListener"; } } ); // get all registered listeners componentListeners = button.getComponentListeners(); harness.check(componentListeners.length, 1); // check if the proper listener is used harness.check(componentListeners[0].toString(), "myComponentListener"); } } mauve-20140821/gnu/testlet/java/awt/Button/constructors.java0000644000175000001440000000351311642622027022630 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.Button; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Button; // Button constructors test public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // test constructor without any parameter Button button1 = new Button(); harness.check(button1 != null); doCommonTests(harness, button1); // test one parameter constructor Button button2 = new Button("xyzzy"); harness.check(button2 != null); harness.check(button2.getLabel(), "xyzzy"); doCommonTests(harness, button2); } public void doCommonTests(TestHarness harness, Button button) { // label checks button.setLabel("42"); harness.check(button.getLabel(), "42"); button.setLabel(""); harness.check(button.getLabel(), ""); button.setLabel(null); harness.check(button.getLabel() == null); } } mauve-20140821/gnu/testlet/java/awt/Button/addMouseMotionListener.java0000644000175000001440000000454311643333140024515 0ustar dokousers// addMouseMotionListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Button; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if MouseMotionListener could be registered for an AWT Button. */ public class addMouseMotionListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Button button = new Button("xyzzy"); button.setBackground(Color.blue); // array which will be filled by registered listeners MouseMotionListener[] mouseMotionListeners; // get all registered listeners mouseMotionListeners = button.getMouseMotionListeners(); harness.check(mouseMotionListeners.length, 0); // register new listener button.addMouseMotionListener( new MouseMotionListener() { public void mouseDragged(MouseEvent e) { // empty } public void mouseMoved(MouseEvent e) { // empty } @Override public String toString() { return "myMouseMotionListener"; } } ); // get all registered listeners mouseMotionListeners = button.getMouseMotionListeners(); harness.check(mouseMotionListeners.length, 1); // check if the proper listener is used harness.check(mouseMotionListeners[0].toString(), "myMouseMotionListener"); } } mauve-20140821/gnu/testlet/java/awt/Button/KeyboardListenerAsciiKeys.java0000644000175000001440000001140111645050534025127 0ustar dokousers// KeyboardListenerAsciiKeys.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Button; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.Button; import java.awt.Color; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Robot; import java.awt.Rectangle; import java.awt.event.*; import java.util.*; /** * Check if KeyListener could be registered for an AWT Button * and if action is really performed. */ public class KeyboardListenerAsciiKeys extends Panel implements Testlet { int[] keysToTest = { KeyEvent.VK_A, KeyEvent.VK_Z, KeyEvent.VK_0, KeyEvent.VK_9, }; // these flags are set by KeyListener List keyPressedFlag = new ArrayList(); List keyReleasedFlag = new ArrayList(); List keyTypedFlag = new ArrayList(); /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); Button button = new Button("xyzzy"); button.setBackground(Color.blue); add(button); // register new listener button.addKeyListener( new KeyListener() { public void keyPressed(KeyEvent e) { keyPressedFlag.add(e.getKeyCode()); } public void keyReleased(KeyEvent e) { keyReleasedFlag.add(e.getKeyCode()); } public void keyTyped(KeyEvent e) { keyTypedFlag.add(0+e.getKeyChar()); } } ); frame.add(this); frame.pack(); frame.show(); // AWT robot is used performing some actions // also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); // compute absolute coordinations of button on a screen Rectangle bounds = button.getBounds(); Point loc = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + loc.x; bounds.y += insets.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; robot.mouseMove(checkedPixelX, checkedPixelY); robot.waitForIdle(); robot.delay(250); // have to use 1.4 syntax for (int i = 0; i < keysToTest.length; i++) { int key = keysToTest[i]; robot.keyPress(key); robot.delay(250); robot.keyRelease(key); robot.delay(250); } // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necesarry to clean up the component from desktop frame.dispose(); // check if all actions were correctly performed for (int i = 0; i < keysToTest.length; i++) { int key = keysToTest[i]; harness.check(keyPressedFlag.contains(key)); } for (int i = 0; i < keysToTest.length; i++) { int key = keysToTest[i]; harness.check(keyReleasedFlag.contains(key)); } for (int i = 0; i < keysToTest.length; i++) { int key = keysToTest[i]; // either 'A' or 'a' could be catched by keyTyped event harness.check(keyTypedFlag.contains(key) || keyTypedFlag.contains(key - 'A' + 'a')); } } /** * Paint method for our implementation of a Panel */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Button/addActionListener.java0000644000175000001440000000433311643333140023451 0ustar dokousers// addActionListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Button; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if ActionListener could be registered for an AWT Button. */ public class addActionListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Button button = new Button("xyzzy"); button.setBackground(Color.blue); // array which will be filled by registered action listeners ActionListener[] actionListeners; // get all registered action listeners actionListeners = button.getActionListeners(); harness.check(actionListeners.length, 0); // register new action listener button.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { // empty } @Override public String toString() { return "myActionListener"; } } ); // get all registered action listeners actionListeners = button.getActionListeners(); harness.check(actionListeners.length, 1); // check if the proper listener is used harness.check(actionListeners[0].toString(), "myActionListener"); } } mauve-20140821/gnu/testlet/java/awt/Button/ActionListenerNegativeTest1.java0000644000175000001440000000656011643613172025416 0ustar dokousers// ActionListenerNegativeTest1.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Button; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if ActionListener could be registered for an AWT Button * and if action is *not* performed when second mouse button is pressed. */ public class ActionListenerNegativeTest1 extends Panel implements Testlet { boolean actionPerformedFlag = false; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); Button button = new Button("xyzzy"); button.setBackground(Color.blue); add(button); button.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { actionPerformedFlag = true; } } ); frame.add(this); frame.pack(); frame.show(); // AWT robot is used performing some actions // also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); Rectangle bounds = button.getBounds(); Point loc = frame.getLocationOnScreen(); Insets i = frame.getInsets(); bounds.x += i.left + loc.x; bounds.y += i.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move the mouse cursor to a tested pixel to show users what's checked robot.mouseMove(checkedPixelX, checkedPixelY); robot.waitForIdle(); robot.mousePress(InputEvent.BUTTON2_MASK); robot.delay(250); robot.mouseRelease(InputEvent.BUTTON2_MASK); robot.delay(250); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necesarry to clean up the component from desktop frame.dispose(); // check if action was performed harness.check(!actionPerformedFlag); } public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Button/addKeyListener.java0000644000175000001440000000446211643333140022767 0ustar dokousers// addKeyListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Button; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if KeyListener could be registered for an AWT Button. */ public class addKeyListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Button button = new Button("xyzzy"); button.setBackground(Color.blue); // array which will be filled by registered listeners KeyListener[] keyListeners; // get all registered listeners keyListeners = button.getKeyListeners(); harness.check(keyListeners.length, 0); // register new listener button.addKeyListener( new KeyListener() { public void keyPressed(KeyEvent e) { // empty } public void keyReleased(KeyEvent e) { // empty } public void keyTyped(KeyEvent e) { // empty } @Override public String toString() { return "myKeyListener"; } } ); // get all registered listeners keyListeners = button.getKeyListeners(); harness.check(keyListeners.length, 1); // check if the proper listener is used harness.check(keyListeners[0].toString(), "myKeyListener"); } } mauve-20140821/gnu/testlet/java/awt/Button/MouseMotionListenerTest.java0000644000175000001440000001274511643613172024715 0ustar dokousers// MouseMotionListenerTest.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Button; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if MouseMotionListener could be registered for an AWT Button * and if action is performed when some of mouse buttons is pressed. */ public class MouseMotionListenerTest extends Panel implements Testlet { // these flags are set by MouseMotionListener boolean mouseDraggedButton1Flag = false; boolean mouseDraggedButton2Flag = false; boolean mouseDraggedButton3Flag = false; boolean mouseMovedButton1Flag = false; boolean mouseMovedButton2Flag = false; boolean mouseMovedButton3Flag = false; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); Button button = new Button("xyzzy"); button.setBackground(Color.blue); add(button); // register new mouse motion listener button.addMouseMotionListener( new MouseMotionListener() { public void mouseDragged(MouseEvent e) { // figure out which button is pressed int modifiers = e.getModifiersEx(); mouseDraggedButton1Flag |= (modifiers & MouseEvent.BUTTON1_DOWN_MASK) != 0; mouseDraggedButton2Flag |= (modifiers & MouseEvent.BUTTON2_DOWN_MASK) != 0; mouseDraggedButton3Flag |= (modifiers & MouseEvent.BUTTON3_DOWN_MASK) != 0; } public void mouseMoved(MouseEvent e) { // figure out which button is pressed int modifiers = e.getModifiersEx(); // none of the modifiers should be set mouseMovedButton1Flag |= (modifiers & MouseEvent.BUTTON1_DOWN_MASK) != 0; mouseMovedButton2Flag |= (modifiers & MouseEvent.BUTTON2_DOWN_MASK) != 0; mouseMovedButton3Flag |= (modifiers & MouseEvent.BUTTON3_DOWN_MASK) != 0; } } ); frame.add(this); frame.pack(); frame.show(); // AWT robot is used performing some actions // also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); // compute absolute coordinations of button on a screen Rectangle bounds = button.getBounds(); Point loc = frame.getLocationOnScreen(); Insets i = frame.getInsets(); bounds.x += i.left + loc.x; bounds.y += i.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // check mouse & button behaviour using ALL mouse buttons for (int mouseButton : new Integer[] {InputEvent.BUTTON1_MASK, InputEvent.BUTTON2_MASK, InputEvent.BUTTON3_MASK}) { // move the mouse cursor outside the button robot.mouseMove(0, 0); robot.waitForIdle(); // move the mouse cursor to a tested pixel to show users what's checked robot.mouseMove(checkedPixelX - 20, checkedPixelY); robot.waitForIdle(); robot.delay(250); robot.mousePress(mouseButton); robot.delay(250); robot.mouseMove(checkedPixelX + 20, checkedPixelY); robot.delay(250); robot.mouseRelease(mouseButton); robot.delay(250); robot.mouseMove(checkedPixelX - 20, checkedPixelY); robot.delay(250); robot.mouseMove(checkedPixelX + 20, checkedPixelY); robot.delay(250); // move the mouse cursor outside the button robot.mouseMove(0, 0); robot.delay(250); } // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necesarry to clean up the component from desktop frame.dispose(); // check if all actions were performed harness.check(mouseDraggedButton1Flag); harness.check(mouseDraggedButton2Flag); harness.check(mouseDraggedButton3Flag); // negative tests harness.check(!mouseMovedButton1Flag); harness.check(!mouseMovedButton2Flag); harness.check(!mouseMovedButton3Flag); } /** * Paint method for our implementation of a Panel */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Button/addHierarchyListener.java0000644000175000001440000000436611643333140024160 0ustar dokousers// addHierarchyListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Button; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if HierarchyListener could be registered for an AWT Button. */ public class addHierarchyListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Button button = new Button("xyzzy"); button.setBackground(Color.blue); // array which will be filled by registered listeners HierarchyListener[] hierarchyListeners; // get all registered listeners hierarchyListeners = button.getHierarchyListeners(); harness.check(hierarchyListeners.length, 0); // register new listener button.addHierarchyListener( new HierarchyListener() { public void hierarchyChanged(HierarchyEvent e) { // empty } @Override public String toString() { return "myHierarchyListener"; } } ); // get all registered listeners hierarchyListeners = button.getHierarchyListeners(); harness.check(hierarchyListeners.length, 1); // check if the proper listener is used harness.check(hierarchyListeners[0].toString(), "myHierarchyListener"); } } mauve-20140821/gnu/testlet/java/awt/Button/KeyboardListenerTest.java0000644000175000001440000000733511645050534024175 0ustar dokousers// KeyboardListenerTest.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Button; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if KeyListener could be registered for an AWT Button * and if action is really performed. */ public class KeyboardListenerTest extends Panel implements Testlet { // these flags are set by KeyListener boolean keyPressedFlag = false; boolean keyReleasedFlag = false; boolean keyTypedFlag = false; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); Button button = new Button("xyzzy"); button.setBackground(Color.blue); add(button); // register new listener button.addKeyListener( new KeyListener() { public void keyPressed(KeyEvent e) { keyPressedFlag = true; } public void keyReleased(KeyEvent e) { keyReleasedFlag = true; } public void keyTyped(KeyEvent e) { keyTypedFlag = true; } } ); frame.add(this); frame.pack(); frame.show(); // AWT robot is used performing some actions // also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); // compute absolute coordinations of button on a screen Rectangle bounds = button.getBounds(); Point loc = frame.getLocationOnScreen(); Insets i = frame.getInsets(); bounds.x += i.left + loc.x; bounds.y += i.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; robot.mouseMove(checkedPixelX, checkedPixelY); robot.waitForIdle(); robot.delay(250); robot.keyPress(KeyEvent.VK_A); robot.delay(250); robot.keyRelease(KeyEvent.VK_A); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necesarry to clean up the component from desktop frame.dispose(); // check if all actions were correctly performed harness.check(keyPressedFlag); harness.check(keyReleasedFlag); harness.check(keyTypedFlag); } /** * Paint method for our implementation of a Panel */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Button/MouseListenerTest.java0000644000175000001440000001433011643613172023517 0ustar dokousers// MouseListenerTest.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Button; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if MouseListener could be registered for an AWT Button * and if action is performed when some of mouse buttons is pressed. */ public class MouseListenerTest extends Panel implements Testlet { // these flags are set by MouseListener boolean mouseClickedButton1Flag = false; boolean mouseClickedButton2Flag = false; boolean mouseClickedButton3Flag = false; boolean mousePressedButton1Flag = false; boolean mousePressedButton2Flag = false; boolean mousePressedButton3Flag = false; boolean mouseReleasedButton1Flag = false; boolean mouseReleasedButton2Flag = false; boolean mouseReleasedButton3Flag = false; boolean mouseEnteredFlag = false; boolean mouseExitedFlag = false; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); Button button = new Button("xyzzy"); button.setBackground(Color.blue); add(button); // register new mouse listener button.addMouseListener( new MouseListener() { public void mouseClicked(MouseEvent e) { // figure out which button is pressed switch (e.getButton()) { case MouseEvent.BUTTON1: mouseClickedButton1Flag = true; break; case MouseEvent.BUTTON2: mouseClickedButton2Flag = true; break; case MouseEvent.BUTTON3: mouseClickedButton3Flag = true; break; default: break; } } public void mouseEntered(MouseEvent e) { mouseEnteredFlag = true; } public void mouseExited(MouseEvent e) { mouseExitedFlag = true; } public void mousePressed(MouseEvent e) { // figure out which button is pressed switch (e.getButton()) { case MouseEvent.BUTTON1: mousePressedButton1Flag = true; break; case MouseEvent.BUTTON2: mousePressedButton2Flag = true; break; case MouseEvent.BUTTON3: mousePressedButton3Flag = true; break; default: break; } } public void mouseReleased(MouseEvent e) { // figure out which button was pressed switch (e.getButton()) { case MouseEvent.BUTTON1: mouseReleasedButton1Flag = true; break; case MouseEvent.BUTTON2: mouseReleasedButton2Flag = true; break; case MouseEvent.BUTTON3: mouseReleasedButton3Flag = true; break; default: break; } } } ); frame.add(this); frame.pack(); frame.show(); // AWT robot is used performing some actions // also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); // compute absolute coordinations of button on a screen Rectangle bounds = button.getBounds(); Point loc = frame.getLocationOnScreen(); Insets i = frame.getInsets(); bounds.x += i.left + loc.x; bounds.y += i.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // check mouse & button behaviour using ALL mouse buttons for (int mouseButton : new Integer[] {InputEvent.BUTTON1_MASK, InputEvent.BUTTON2_MASK, InputEvent.BUTTON3_MASK}) { // move the mouse cursor outside the button robot.mouseMove(0, 0); robot.waitForIdle(); // move the mouse cursor to a tested pixel to show users what's checked robot.mouseMove(checkedPixelX, checkedPixelY); robot.waitForIdle(); robot.delay(250); // click = press + release robot.mousePress(mouseButton); robot.delay(250); robot.mouseRelease(mouseButton); robot.delay(250); // move the mouse cursor outside the button robot.mouseMove(0, 0); robot.delay(250); } // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necesarry to clean up the component from desktop frame.dispose(); // check if all actions were correctly performed harness.check(mouseClickedButton1Flag); harness.check(mouseClickedButton2Flag); harness.check(mouseClickedButton3Flag); harness.check(mousePressedButton1Flag); harness.check(mousePressedButton2Flag); harness.check(mousePressedButton3Flag); harness.check(mouseReleasedButton1Flag); harness.check(mouseReleasedButton2Flag); harness.check(mouseReleasedButton3Flag); harness.check(mouseEnteredFlag); harness.check(mouseExitedFlag); } /** * Paint method for our implementation of a Panel */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Button/addHierarchyBoundsListener.java0000644000175000001440000000471311643333140025327 0ustar dokousers// addHierarchyBoundsListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Button; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if HierarchyBoundsListener could be registered for an AWT Button. */ public class addHierarchyBoundsListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Button button = new Button("xyzzy"); button.setBackground(Color.blue); // array which will be filled by registered listeners HierarchyBoundsListener[] hierarchyBoundsListeners; // get all registered listeners hierarchyBoundsListeners = button.getHierarchyBoundsListeners(); harness.check(hierarchyBoundsListeners.length, 0); // register new listener button.addHierarchyBoundsListener( new HierarchyBoundsListener() { public void ancestorMoved(HierarchyEvent e) { // empty } public void ancestorResized(HierarchyEvent e) { // empty } @Override public String toString() { return "myHierarchyBoundsListener"; } } ); // get all registered listeners hierarchyBoundsListeners = button.getHierarchyBoundsListeners(); harness.check(hierarchyBoundsListeners.length, 1); // check if the proper listener is used harness.check(hierarchyBoundsListeners[0].toString(), "myHierarchyBoundsListener"); } } mauve-20140821/gnu/testlet/java/awt/Button/list.java0000644000175000001440000000307511645050534021037 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.Button; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Button; // test of method list() public class list implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // test constructor without any parameter Button button1 = new Button(); button1.list(); button1.list(System.out); button1.list(System.out, 0); button1.list(System.out, 10); // test constructor with one parameter Button button2 = new Button("xyzzy"); button2.list(); button2.list(System.out); button2.list(System.out, 0); button2.list(System.out, 10); } } mauve-20140821/gnu/testlet/java/awt/Button/KeyboardListenerCursorKeys.java0000644000175000001440000001077311645050534025367 0ustar dokousers// KeyboardListenerCursorKeys.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Button; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.Button; import java.awt.Color; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Robot; import java.awt.Rectangle; import java.awt.event.*; import java.util.*; /** * Check if KeyListener could be registered for an AWT Button * and if action is really performed. */ public class KeyboardListenerCursorKeys extends Panel implements Testlet { int[] keysToTest = { KeyEvent.VK_UP, KeyEvent.VK_DOWN, KeyEvent.VK_LEFT, KeyEvent.VK_RIGHT, KeyEvent.VK_HOME, KeyEvent.VK_END, }; // these flags are set by KeyListener List keyPressedFlag = new ArrayList(); List keyReleasedFlag = new ArrayList(); /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); Button button = new Button("xyzzy"); button.setBackground(Color.blue); add(button); // register new listener button.addKeyListener( new KeyListener() { public void keyPressed(KeyEvent e) { keyPressedFlag.add(e.getKeyCode()); } public void keyReleased(KeyEvent e) { keyReleasedFlag.add(e.getKeyCode()); } public void keyTyped(KeyEvent e) { // empty block } } ); frame.add(this); frame.pack(); frame.show(); // AWT robot is used performing some actions // also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); // compute absolute coordinations of button on a screen Rectangle bounds = button.getBounds(); Point loc = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + loc.x; bounds.y += insets.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; robot.mouseMove(checkedPixelX, checkedPixelY); robot.waitForIdle(); robot.delay(250); // have to use 1.4 syntax for (int i = 0; i < keysToTest.length; i++) { int key = keysToTest[i]; robot.keyPress(key); robot.delay(250); robot.keyRelease(key); robot.delay(250); } // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necesarry to clean up the component from desktop frame.dispose(); // check if all actions were correctly performed for (int i = 0; i < keysToTest.length; i++) { int key = keysToTest[i]; harness.check(keyPressedFlag.contains(key)); } for (int i = 0; i < keysToTest.length; i++) { int key = keysToTest[i]; harness.check(keyReleasedFlag.contains(key)); } } /** * Paint method for our implementation of a Panel */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Button/ActionListenerNegativeTest2.java0000644000175000001440000000655711643613172025425 0ustar dokousers// ActionListenerNegativeTest2.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Button; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if ActionListener could be registered for an AWT Button * and if action is *not* performed when third mouse button is pressed. */ public class ActionListenerNegativeTest2 extends Panel implements Testlet { boolean actionPerformedFlag = false; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); Button button = new Button("xyzzy"); button.setBackground(Color.blue); add(button); button.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { actionPerformedFlag = true; } } ); frame.add(this); frame.pack(); frame.show(); // AWT robot is used performing some actions // also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); Rectangle bounds = button.getBounds(); Point loc = frame.getLocationOnScreen(); Insets i = frame.getInsets(); bounds.x += i.left + loc.x; bounds.y += i.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move the mouse cursor to a tested pixel to show users what's checked robot.mouseMove(checkedPixelX, checkedPixelY); robot.waitForIdle(); robot.mousePress(InputEvent.BUTTON3_MASK); robot.delay(250); robot.mouseRelease(InputEvent.BUTTON3_MASK); robot.delay(250); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necesarry to clean up the component from desktop frame.dispose(); // check if action was performed harness.check(!actionPerformedFlag); } public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Button/MouseWheelListenerTest.java0000644000175000001440000000746111643613172024513 0ustar dokousers// MouseWheelListenerTest.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Button; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if MouseWheelListener could be registered for an AWT Button * and if action is performed when mouse wheel is rotated up and down. */ public class MouseWheelListenerTest extends Panel implements Testlet { // these flags are set by MouseWheelListener boolean mouseWheelScrollUpFlag = false; boolean mouseWheelScrollDownFlag = false; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); Button button = new Button("xyzzy"); button.setBackground(Color.blue); add(button); // register new mouse wheel listener button.addMouseWheelListener( new MouseWheelListener() { public void mouseWheelMoved(MouseWheelEvent e) { // figure out if mouse wheel is scrolled up or down mouseWheelScrollUpFlag |= e.getWheelRotation() < 0; mouseWheelScrollDownFlag |= e.getWheelRotation() > 0; } } ); frame.add(this); frame.pack(); frame.show(); // AWT robot is used performing some actions // also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); // compute absolute coordinations of button on a screen Rectangle bounds = button.getBounds(); Point loc = frame.getLocationOnScreen(); Insets i = frame.getInsets(); bounds.x += i.left + loc.x; bounds.y += i.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move the mouse cursor to a tested pixel to show users what's checked robot.mouseMove(checkedPixelX, checkedPixelY); robot.waitForIdle(); robot.delay(250); robot.mouseWheel(+1); robot.delay(250); robot.mouseWheel(-1); robot.delay(250); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necesarry to clean up the component from desktop frame.dispose(); // check if all actions were performed harness.check(mouseWheelScrollUpFlag); harness.check(mouseWheelScrollDownFlag); } /** * Paint method for our implementation of a Panel */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Button/ActionListenerPositiveTest.java0000644000175000001440000000672711643613172025402 0ustar dokousers// ActionListenerPositiveTest.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Button; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if ActionListener could be registered for an AWT Button * and if action is performed when left mouse button is pressed. */ public class ActionListenerPositiveTest extends Panel implements Testlet { boolean actionPerformedFlag = false; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); Button button = new Button("xyzzy"); button.setBackground(Color.blue); add(button); ActionListener[] actionListeners = button.getActionListeners(); harness.check(actionListeners.length, 0); button.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { actionPerformedFlag = true; } } ); frame.add(this); frame.pack(); frame.show(); // AWT robot is used performing some actions // also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); Rectangle bounds = button.getBounds(); Point loc = frame.getLocationOnScreen(); Insets i = frame.getInsets(); bounds.x += i.left + loc.x; bounds.y += i.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move the mouse cursor to a tested pixel to show users what's checked robot.mouseMove(checkedPixelX, checkedPixelY); robot.waitForIdle(); robot.mousePress(InputEvent.BUTTON1_MASK); robot.delay(250); robot.mouseRelease(InputEvent.BUTTON1_MASK); robot.delay(250); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necesarry to clean up the component from desktop frame.dispose(); // check if action was performed harness.check(actionPerformedFlag); } public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Button/KeyboardListenerFunctionKeys.java0000644000175000001440000001111611645050534025667 0ustar dokousers// KeyboardListenerFunctionKeys.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Button; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.Button; import java.awt.Color; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Robot; import java.awt.Rectangle; import java.awt.event.*; import java.util.*; /** * Check if KeyListener could be registered for an AWT Button * and if action is really performed. */ public class KeyboardListenerFunctionKeys extends Panel implements Testlet { int[] keysToTest = { KeyEvent.VK_F1, KeyEvent.VK_F2, KeyEvent.VK_F3, KeyEvent.VK_F4, KeyEvent.VK_F5, KeyEvent.VK_F6, KeyEvent.VK_F7, KeyEvent.VK_F8, KeyEvent.VK_F9, KeyEvent.VK_F10, }; // these flags are set by KeyListener List keyPressedFlag = new ArrayList(); List keyReleasedFlag = new ArrayList(); /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); Button button = new Button("xyzzy"); button.setBackground(Color.blue); add(button); // register new listener button.addKeyListener( new KeyListener() { public void keyPressed(KeyEvent e) { keyPressedFlag.add(e.getKeyCode()); } public void keyReleased(KeyEvent e) { keyReleasedFlag.add(e.getKeyCode()); } public void keyTyped(KeyEvent e) { // empty block } } ); frame.add(this); frame.pack(); frame.show(); // AWT robot is used performing some actions // also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); // compute absolute coordinations of button on a screen Rectangle bounds = button.getBounds(); Point loc = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + loc.x; bounds.y += insets.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; robot.mouseMove(checkedPixelX, checkedPixelY); robot.waitForIdle(); robot.delay(250); // have to use 1.4 syntax for (int i = 0; i < keysToTest.length; i++) { int key = keysToTest[i]; robot.keyPress(key); robot.delay(250); robot.keyRelease(key); robot.delay(250); } // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necesarry to clean up the component from desktop frame.dispose(); // check if all actions were correctly performed for (int i = 0; i < keysToTest.length; i++) { int key = keysToTest[i]; harness.check(keyPressedFlag.contains(key)); } for (int i = 0; i < keysToTest.length; i++) { int key = keysToTest[i]; harness.check(keyReleasedFlag.contains(key)); } } /** * Paint method for our implementation of a Panel */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Button/PaintTest.java0000644000175000001440000000600511641332705021772 0ustar dokousers/* PaintTest.java -- Copyright (C) 2006, 2011 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.Button; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.Button; import java.awt.Color; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; public class PaintTest extends Panel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame f = new Frame(); Button b = new Button(" "); b.setBackground(Color.blue); add(b); f.add(this); f.pack(); f.show(); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot r = harness.createRobot(); // we should wait a moment before the computations // and pixel checks r.waitForIdle(); r.delay(1000); Rectangle bounds = b.getBounds(); Point loc = f.getLocationOnScreen(); Insets i = f.getInsets(); bounds.x += i.left + loc.x; bounds.y += i.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move the mouse cursor to a tested pixel to show users what's checked r.mouseMove(checkedPixelX, checkedPixelY); r.waitForIdle(); // check the color of a pixel located in the button center Color but = r.getPixelColor(checkedPixelX, checkedPixelY); harness.check(but.equals(Color.blue)); // There is a delay to avoid any race conditions // and so user can see frame r.waitForIdle(); r.delay(1000); // it's necesarry to clean up the component from desktop f.dispose(); } public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Button/addMouseListener.java0000644000175000001440000000504711643333140023327 0ustar dokousers// addMouseListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Button; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if MouseListener could be registered for an AWT Button. */ public class addMouseListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Button button = new Button("xyzzy"); button.setBackground(Color.blue); // array which will be filled by registered mouse listeners MouseListener[] mouseListeners; // get all registered mouse listeners mouseListeners = button.getMouseListeners(); harness.check(mouseListeners.length, 0); // register new mouse listener button.addMouseListener( new MouseListener() { public void mouseClicked(MouseEvent e) { // empty } public void mouseEntered(MouseEvent e) { // empty } public void mouseExited(MouseEvent e) { // empty } public void mousePressed(MouseEvent e) { // empty } public void mouseReleased(MouseEvent e) { // empty } @Override public String toString() { return "myMouseListener"; } } ); // get all registered mouse listeners mouseListeners = button.getMouseListeners(); harness.check(mouseListeners.length, 1); // check if the proper listener is used harness.check(mouseListeners[0].toString(), "myMouseListener"); } } mauve-20140821/gnu/testlet/java/awt/Button/addInputMethodListener.java0000644000175000001440000000461511643333140024477 0ustar dokousers// addInputMethodListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Button; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if InputMethodListener could be registered for an AWT Button. */ public class addInputMethodListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Button button = new Button("xyzzy"); button.setBackground(Color.blue); // array which will be filled by registered listeners InputMethodListener[] inputMethodListeners; // get all registered listeners inputMethodListeners = button.getInputMethodListeners(); harness.check(inputMethodListeners.length, 0); // register new listener button.addInputMethodListener( new InputMethodListener() { public void caretPositionChanged(InputMethodEvent event) { // empty } public void inputMethodTextChanged(InputMethodEvent event) { // empty } @Override public String toString() { return "myInputMethodListener"; } } ); // get all registered listeners inputMethodListeners = button.getInputMethodListeners(); harness.check(inputMethodListeners.length, 1); // check if the proper listener is used harness.check(inputMethodListeners[0].toString(), "myInputMethodListener"); } } mauve-20140821/gnu/testlet/java/awt/Button/addMouseWheelListener.java0000644000175000001440000000440611643333140024312 0ustar dokousers// addMouseWheelListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Button; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if MouseWheelListener could be registered for an AWT Button. */ public class addMouseWheelListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Button button = new Button("xyzzy"); button.setBackground(Color.blue); // array which will be filled by registered listeners MouseWheelListener[] mouseWheelListeners; // get all registered listeners mouseWheelListeners = button.getMouseWheelListeners(); harness.check(mouseWheelListeners.length, 0); // register new listener button.addMouseWheelListener( new MouseWheelListener() { public void mouseWheelMoved(MouseWheelEvent e) { // empty } @Override public String toString() { return "myMouseWheelListener"; } } ); // get all registered listeners mouseWheelListeners = button.getMouseWheelListeners(); harness.check(mouseWheelListeners.length, 1); // check if the proper listener is used harness.check(mouseWheelListeners[0].toString(), "myMouseWheelListener"); } } mauve-20140821/gnu/testlet/java/awt/Button/addPropertyChangeListener.java0000644000175000001440000000466711671373606025214 0ustar dokousers// addPropertyChangeListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Button; import java.awt.Color; import java.awt.Button; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Check if {@link PropertyChangeListener} could be registered for an AWT {@link Button}. */ public class addPropertyChangeListener implements Testlet { private static final String PROPERTY_CHANGE_LISTENER_NAME = "myProperlyChangeListener"; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Button button = new Button("xyzzy"); button.setBackground(Color.blue); // array which will be filled by registered listeners PropertyChangeListener[] properlyChangeListeners; // get all registered listeners properlyChangeListeners = button.getPropertyChangeListeners(); harness.check(properlyChangeListeners.length, 0); // register new listener button.addPropertyChangeListener(new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { // empty block } @Override public String toString() { return PROPERTY_CHANGE_LISTENER_NAME; } }); // get all registered listeners properlyChangeListeners = button.getPropertyChangeListeners(); harness.check(properlyChangeListeners.length, 1); // check if the proper listener is used harness.check(properlyChangeListeners[0].toString(), PROPERTY_CHANGE_LISTENER_NAME); } } mauve-20140821/gnu/testlet/java/awt/Button/addFocusListener.java0000644000175000001440000000440311643333140023311 0ustar dokousers// addFocusListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Button; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if FocusListener could be registered for an AWT Button. */ public class addFocusListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Button button = new Button("xyzzy"); button.setBackground(Color.blue); // array which will be filled by registered listeners FocusListener[] focusListeners; // get all registered listeners focusListeners = button.getFocusListeners(); harness.check(focusListeners.length, 0); // register new listener button.addFocusListener( new FocusListener() { public void focusGained(FocusEvent e) { // empty } public void focusLost(FocusEvent e) { // empty } @Override public String toString() { return "myFocusListener"; } } ); // get all registered listeners focusListeners = button.getFocusListeners(); harness.check(focusListeners.length, 1); // check if the proper listener is used harness.check(focusListeners[0].toString(), "myFocusListener"); } } mauve-20140821/gnu/testlet/java/awt/Canvas/0000755000175000001440000000000012375316426017162 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/Canvas/addPropertyChangeListenerString.java0000644000175000001440000000470411671627032026326 0ustar dokousers// addPropertyChangeListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Canvas; import java.awt.Color; import java.awt.Canvas; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Check if {@link PropertyChangeListener} could be registered for an AWT {@link Canvas}. */ public class addPropertyChangeListenerString implements Testlet { private static final String PROPERTY_CHANGE_LISTENER_NAME = "myProperlyChangeListener"; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Canvas canvas = new Canvas(); canvas.setBackground(Color.blue); // array which will be filled by registered listeners PropertyChangeListener[] properlyChangeListeners; // get all registered listeners properlyChangeListeners = canvas.getPropertyChangeListeners(); harness.check(properlyChangeListeners.length, 0); // register new listener canvas.addPropertyChangeListener("font", new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { // empty block } @Override public String toString() { return PROPERTY_CHANGE_LISTENER_NAME; } }); // get all registered listeners properlyChangeListeners = canvas.getPropertyChangeListeners("font"); harness.check(properlyChangeListeners.length, 1); // check if the proper listener is used harness.check(properlyChangeListeners[0].toString(), PROPERTY_CHANGE_LISTENER_NAME); } } mauve-20140821/gnu/testlet/java/awt/Canvas/addComponentListener.java0000644000175000001440000000501211644556436024151 0ustar dokousers// addComponentListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Canvas; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if ComponentListener could be registered for an AWT Canvas. */ public class addComponentListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Canvas canvas = new Canvas(); canvas.setBackground(Color.blue); // array which will be filled by registered listeners ComponentListener[] componentListeners; // get all registered listeners componentListeners = canvas.getComponentListeners(); harness.check(componentListeners.length, 0); // register new listener canvas.addComponentListener( new ComponentListener() { public void componentHidden(ComponentEvent e) { // empty } public void componentMoved(ComponentEvent e) { // empty } public void componentResized(ComponentEvent e) { // empty } public void componentShown(ComponentEvent e) { // empty } @Override public String toString() { return "myComponentListener"; } } ); // get all registered listeners componentListeners = canvas.getComponentListeners(); harness.check(componentListeners.length, 1); // check if the proper listener is used harness.check(componentListeners[0].toString(), "myComponentListener"); } } mauve-20140821/gnu/testlet/java/awt/Canvas/constructors.java0000644000175000001440000000245311642622027022572 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.Canvas; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Canvas; // Canvas constructor test public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // test constructor without any parameter Canvas canvas1 = new Canvas(); harness.check(canvas1 != null); } } mauve-20140821/gnu/testlet/java/awt/Canvas/addMouseMotionListener.java0000644000175000001440000000453411644556436024475 0ustar dokousers// addMouseMotionListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Canvas; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if MouseMotionListener could be registered for an AWT Canvas. */ public class addMouseMotionListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Canvas canvas = new Canvas(); canvas.setBackground(Color.blue); // array which will be filled by registered listeners MouseMotionListener[] mouseMotionListeners; // get all registered listeners mouseMotionListeners = canvas.getMouseMotionListeners(); harness.check(mouseMotionListeners.length, 0); // register new listener canvas.addMouseMotionListener( new MouseMotionListener() { public void mouseDragged(MouseEvent e) { // empty } public void mouseMoved(MouseEvent e) { // empty } @Override public String toString() { return "myMouseMotionListener"; } } ); // get all registered listeners mouseMotionListeners = canvas.getMouseMotionListeners(); harness.check(mouseMotionListeners.length, 1); // check if the proper listener is used harness.check(mouseMotionListeners[0].toString(), "myMouseMotionListener"); } } mauve-20140821/gnu/testlet/java/awt/Canvas/addKeyListener.java0000644000175000001440000000445311644556436022747 0ustar dokousers// addKeyListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Canvas; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if KeyListener could be registered for an AWT Canvas. */ public class addKeyListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Canvas canvas = new Canvas(); canvas.setBackground(Color.blue); // array which will be filled by registered listeners KeyListener[] keyListeners; // get all registered listeners keyListeners = canvas.getKeyListeners(); harness.check(keyListeners.length, 0); // register new listener canvas.addKeyListener( new KeyListener() { public void keyPressed(KeyEvent e) { // empty } public void keyReleased(KeyEvent e) { // empty } public void keyTyped(KeyEvent e) { // empty } @Override public String toString() { return "myKeyListener"; } } ); // get all registered listeners keyListeners = canvas.getKeyListeners(); harness.check(keyListeners.length, 1); // check if the proper listener is used harness.check(keyListeners[0].toString(), "myKeyListener"); } } mauve-20140821/gnu/testlet/java/awt/Canvas/MouseMotionListenerTest.java0000644000175000001440000001277311644556436024670 0ustar dokousers// MouseMotionListenerTest.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Canvas; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if MouseMotionListener could be registered for an AWT Canvas * and if action is performed when some of mouse buttons is pressed. */ public class MouseMotionListenerTest extends Panel implements Testlet { // these flags are set by MouseMotionListener boolean mouseDraggedCanvas1Flag = false; boolean mouseDraggedCanvas2Flag = false; boolean mouseDraggedCanvas3Flag = false; boolean mouseMovedCanvas1Flag = false; boolean mouseMovedCanvas2Flag = false; boolean mouseMovedCanvas3Flag = false; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); Canvas canvas = new Canvas(); canvas.setBackground(Color.blue); canvas.setSize(100,100); add(canvas); // register new mouse motion listener canvas.addMouseMotionListener( new MouseMotionListener() { public void mouseDragged(MouseEvent e) { // figure out which button is pressed int modifiers = e.getModifiersEx(); mouseDraggedCanvas1Flag |= (modifiers & MouseEvent.BUTTON1_DOWN_MASK) != 0; mouseDraggedCanvas2Flag |= (modifiers & MouseEvent.BUTTON2_DOWN_MASK) != 0; mouseDraggedCanvas3Flag |= (modifiers & MouseEvent.BUTTON3_DOWN_MASK) != 0; } public void mouseMoved(MouseEvent e) { // figure out which button is pressed int modifiers = e.getModifiersEx(); // none of the modifiers should be set mouseMovedCanvas1Flag |= (modifiers & MouseEvent.BUTTON1_DOWN_MASK) != 0; mouseMovedCanvas2Flag |= (modifiers & MouseEvent.BUTTON2_DOWN_MASK) != 0; mouseMovedCanvas3Flag |= (modifiers & MouseEvent.BUTTON3_DOWN_MASK) != 0; } } ); frame.add(this); frame.pack(); frame.show(); // AWT robot is used performing some actions // also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); // compute absolute coordinations of canvas on a screen Rectangle bounds = canvas.getBounds(); Point loc = frame.getLocationOnScreen(); Insets i = frame.getInsets(); bounds.x += i.left + loc.x; bounds.y += i.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // check mouse & canvas behaviour using ALL mouse buttons for (int mouseCanvas : new Integer[] {InputEvent.BUTTON1_MASK, InputEvent.BUTTON2_MASK, InputEvent.BUTTON3_MASK}) { // move the mouse cursor outside the canvas robot.mouseMove(0, 0); robot.waitForIdle(); // move the mouse cursor to a tested pixel to show users what's checked robot.mouseMove(checkedPixelX - 20, checkedPixelY); robot.waitForIdle(); robot.delay(250); robot.mousePress(mouseCanvas); robot.delay(250); robot.mouseMove(checkedPixelX + 20, checkedPixelY); robot.delay(250); robot.mouseRelease(mouseCanvas); robot.delay(250); robot.mouseMove(checkedPixelX - 20, checkedPixelY); robot.delay(250); robot.mouseMove(checkedPixelX + 20, checkedPixelY); robot.delay(250); // move the mouse cursor outside the canvas robot.mouseMove(0, 0); robot.delay(250); } // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necesarry to clean up the component from desktop frame.dispose(); // check if all actions were performed harness.check(mouseDraggedCanvas1Flag); harness.check(mouseDraggedCanvas2Flag); harness.check(mouseDraggedCanvas3Flag); // negative tests harness.check(!mouseMovedCanvas1Flag); harness.check(!mouseMovedCanvas2Flag); harness.check(!mouseMovedCanvas3Flag); } /** * Paint method for our implementation of a Panel */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Canvas/addHierarchyListener.java0000644000175000001440000000435711644556436024140 0ustar dokousers// addHierarchyListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Canvas; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if HierarchyListener could be registered for an AWT Canvas. */ public class addHierarchyListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Canvas canvas = new Canvas(); canvas.setBackground(Color.blue); // array which will be filled by registered listeners HierarchyListener[] hierarchyListeners; // get all registered listeners hierarchyListeners = canvas.getHierarchyListeners(); harness.check(hierarchyListeners.length, 0); // register new listener canvas.addHierarchyListener( new HierarchyListener() { public void hierarchyChanged(HierarchyEvent e) { // empty } @Override public String toString() { return "myHierarchyListener"; } } ); // get all registered listeners hierarchyListeners = canvas.getHierarchyListeners(); harness.check(hierarchyListeners.length, 1); // check if the proper listener is used harness.check(hierarchyListeners[0].toString(), "myHierarchyListener"); } } mauve-20140821/gnu/testlet/java/awt/Canvas/MouseListenerTest.java0000644000175000001440000001435611644556436023501 0ustar dokousers// MouseListenerTest.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Canvas; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if MouseListener could be registered for an AWT Canvas * and if action is performed when some of mouse buttons is pressed. */ public class MouseListenerTest extends Panel implements Testlet { // these flags are set by MouseListener boolean mouseClickedCanvas1Flag = false; boolean mouseClickedCanvas2Flag = false; boolean mouseClickedCanvas3Flag = false; boolean mousePressedCanvas1Flag = false; boolean mousePressedCanvas2Flag = false; boolean mousePressedCanvas3Flag = false; boolean mouseReleasedCanvas1Flag = false; boolean mouseReleasedCanvas2Flag = false; boolean mouseReleasedCanvas3Flag = false; boolean mouseEnteredFlag = false; boolean mouseExitedFlag = false; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); Canvas canvas = new Canvas(); canvas.setBackground(Color.blue); canvas.setSize(100,100); add(canvas); // register new mouse listener canvas.addMouseListener( new MouseListener() { public void mouseClicked(MouseEvent e) { // figure out which button is pressed switch (e.getButton()) { case MouseEvent.BUTTON1: mouseClickedCanvas1Flag = true; break; case MouseEvent.BUTTON2: mouseClickedCanvas2Flag = true; break; case MouseEvent.BUTTON3: mouseClickedCanvas3Flag = true; break; default: break; } } public void mouseEntered(MouseEvent e) { mouseEnteredFlag = true; } public void mouseExited(MouseEvent e) { mouseExitedFlag = true; } public void mousePressed(MouseEvent e) { // figure out which button is pressed switch (e.getButton()) { case MouseEvent.BUTTON1: mousePressedCanvas1Flag = true; break; case MouseEvent.BUTTON2: mousePressedCanvas2Flag = true; break; case MouseEvent.BUTTON3: mousePressedCanvas3Flag = true; break; default: break; } } public void mouseReleased(MouseEvent e) { // figure out which button was pressed switch (e.getButton()) { case MouseEvent.BUTTON1: mouseReleasedCanvas1Flag = true; break; case MouseEvent.BUTTON2: mouseReleasedCanvas2Flag = true; break; case MouseEvent.BUTTON3: mouseReleasedCanvas3Flag = true; break; default: break; } } } ); frame.add(this); frame.pack(); frame.show(); // AWT robot is used performing some actions // also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); // compute absolute coordinations of canvas on a screen Rectangle bounds = canvas.getBounds(); Point loc = frame.getLocationOnScreen(); Insets i = frame.getInsets(); bounds.x += i.left + loc.x; bounds.y += i.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // check mouse & canvas behaviour using ALL mouse buttons for (int mouseCanvas : new Integer[] {InputEvent.BUTTON1_MASK, InputEvent.BUTTON2_MASK, InputEvent.BUTTON3_MASK}) { // move the mouse cursor outside the canvas robot.mouseMove(0, 0); robot.waitForIdle(); // move the mouse cursor to a tested pixel to show users what's checked robot.mouseMove(checkedPixelX, checkedPixelY); robot.waitForIdle(); robot.delay(250); // click = press + release robot.mousePress(mouseCanvas); robot.delay(250); robot.mouseRelease(mouseCanvas); robot.delay(250); // move the mouse cursor outside the canvas robot.mouseMove(0, 0); robot.delay(250); } // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necesarry to clean up the component from desktop frame.dispose(); // check if all actions were correctly performed harness.check(mouseClickedCanvas1Flag); harness.check(mouseClickedCanvas2Flag); harness.check(mouseClickedCanvas3Flag); harness.check(mousePressedCanvas1Flag); harness.check(mousePressedCanvas2Flag); harness.check(mousePressedCanvas3Flag); harness.check(mouseReleasedCanvas1Flag); harness.check(mouseReleasedCanvas2Flag); harness.check(mouseReleasedCanvas3Flag); harness.check(mouseEnteredFlag); harness.check(mouseExitedFlag); } /** * Paint method for our implementation of a Panel */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Canvas/addHierarchyBoundsListener.java0000644000175000001440000000470411645050534025274 0ustar dokousers// addHierarchyBoundsListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Canvas; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if HierarchyBoundsListener could be registered for an AWT Canvas. */ public class addHierarchyBoundsListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Canvas canvas = new Canvas(); canvas.setBackground(Color.blue); // array which will be filled by registered listeners HierarchyBoundsListener[] hierarchyBoundsListeners; // get all registered listeners hierarchyBoundsListeners = canvas.getHierarchyBoundsListeners(); harness.check(hierarchyBoundsListeners.length, 0); // register new listener canvas.addHierarchyBoundsListener( new HierarchyBoundsListener() { public void ancestorMoved(HierarchyEvent e) { // empty } public void ancestorResized(HierarchyEvent e) { // empty } @Override public String toString() { return "myHierarchyBoundsListener"; } } ); // get all registered listeners hierarchyBoundsListeners = canvas.getHierarchyBoundsListeners(); harness.check(hierarchyBoundsListeners.length, 1); // check if the proper listener is used harness.check(hierarchyBoundsListeners[0].toString(), "myHierarchyBoundsListener"); } } mauve-20140821/gnu/testlet/java/awt/Canvas/list.java0000644000175000001440000000255511644556436021014 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.Canvas; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Canvas; // test of method list() public class list implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // test constructor without any parameter Canvas canvas = new Canvas(); canvas.list(); canvas.list(System.out); canvas.list(System.out, 0); canvas.list(System.out, 10); } } mauve-20140821/gnu/testlet/java/awt/Canvas/MouseWheelListenerTest.java0000644000175000001440000000750711644556436024466 0ustar dokousers// MouseWheelListenerTest.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Canvas; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if MouseWheelListener could be registered for an AWT Canvas * and if action is performed when mouse wheel is rotated up and down. */ public class MouseWheelListenerTest extends Panel implements Testlet { // these flags are set by MouseWheelListener boolean mouseWheelScrollUpFlag = false; boolean mouseWheelScrollDownFlag = false; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); Canvas canvas = new Canvas(); canvas.setBackground(Color.blue); canvas.setSize(100,100); add(canvas); // register new mouse wheel listener canvas.addMouseWheelListener( new MouseWheelListener() { public void mouseWheelMoved(MouseWheelEvent e) { // figure out if mouse wheel is scrolled up or down mouseWheelScrollUpFlag |= e.getWheelRotation() < 0; mouseWheelScrollDownFlag |= e.getWheelRotation() > 0; } } ); frame.add(this); frame.pack(); frame.show(); // AWT robot is used performing some actions // also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); // compute absolute coordinations of canvas on a screen Rectangle bounds = canvas.getBounds(); Point loc = frame.getLocationOnScreen(); Insets i = frame.getInsets(); bounds.x += i.left + loc.x; bounds.y += i.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move the mouse cursor to a tested pixel to show users what's checked robot.mouseMove(checkedPixelX, checkedPixelY); robot.waitForIdle(); robot.delay(250); robot.mouseWheel(+1); robot.delay(250); robot.mouseWheel(-1); robot.delay(250); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necesarry to clean up the component from desktop frame.dispose(); // check if all actions were performed harness.check(mouseWheelScrollUpFlag); harness.check(mouseWheelScrollDownFlag); } /** * Paint method for our implementation of a Panel */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Canvas/PaintTest.java0000644000175000001440000000623611641332705021740 0ustar dokousers/* PaintTest.java -- Copyright (C) 2006, 2011 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.Canvas; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.Canvas; import java.awt.Color; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; public class PaintTest extends Panel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame f = new Frame(); Canvas c = new Canvas(); c.setBackground(Color.blue); c.setSize(100,100); add(c); f.add(this); f.pack(); f.show(); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot r = harness.createRobot(); // we should wait a moment before the computations // and pixel checks r.waitForIdle(); r.delay(1000); Point loc = f.getLocationOnScreen(); Rectangle bounds = c.getBounds(); Insets i = f.getInsets(); bounds.x += i.left + loc.x; bounds.y += i.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move the mouse cursor to a tested pixel to show users what's checked r.mouseMove(checkedPixelX, checkedPixelY); r.waitForIdle(); // check the color of a pixel located in the canvas centre Color but = r.getPixelColor(checkedPixelX, checkedPixelY); harness.check(but.equals(Color.blue)); // and also check color in all four canvas corners LocationTests.checkRectangleCornerColors(harness, r, bounds, Color.blue, true); // There is a delay to avoid any race conditions // and so user can see frame r.waitForIdle(); r.delay(1000); // it's necesarry to clean up the component from desktop f.dispose(); } public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Canvas/addMouseListener.java0000644000175000001440000000504011644556436023300 0ustar dokousers// addMouseListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Canvas; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if MouseListener could be registered for an AWT Canvas. */ public class addMouseListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Canvas canvas = new Canvas(); canvas.setBackground(Color.blue); // array which will be filled by registered mouse listeners MouseListener[] mouseListeners; // get all registered mouse listeners mouseListeners = canvas.getMouseListeners(); harness.check(mouseListeners.length, 0); // register new mouse listener canvas.addMouseListener( new MouseListener() { public void mouseClicked(MouseEvent e) { // empty } public void mouseEntered(MouseEvent e) { // empty } public void mouseExited(MouseEvent e) { // empty } public void mousePressed(MouseEvent e) { // empty } public void mouseReleased(MouseEvent e) { // empty } @Override public String toString() { return "myMouseListener"; } } ); // get all registered mouse listeners mouseListeners = canvas.getMouseListeners(); harness.check(mouseListeners.length, 1); // check if the proper listener is used harness.check(mouseListeners[0].toString(), "myMouseListener"); } } mauve-20140821/gnu/testlet/java/awt/Canvas/addInputMethodListener.java0000644000175000001440000000460611644556436024457 0ustar dokousers// addInputMethodListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Canvas; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if InputMethodListener could be registered for an AWT Canvas. */ public class addInputMethodListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Canvas canvas = new Canvas(); canvas.setBackground(Color.blue); // array which will be filled by registered listeners InputMethodListener[] inputMethodListeners; // get all registered listeners inputMethodListeners = canvas.getInputMethodListeners(); harness.check(inputMethodListeners.length, 0); // register new listener canvas.addInputMethodListener( new InputMethodListener() { public void caretPositionChanged(InputMethodEvent event) { // empty } public void inputMethodTextChanged(InputMethodEvent event) { // empty } @Override public String toString() { return "myInputMethodListener"; } } ); // get all registered listeners inputMethodListeners = canvas.getInputMethodListeners(); harness.check(inputMethodListeners.length, 1); // check if the proper listener is used harness.check(inputMethodListeners[0].toString(), "myInputMethodListener"); } } mauve-20140821/gnu/testlet/java/awt/Canvas/addMouseWheelListener.java0000644000175000001440000000437711644556436024301 0ustar dokousers// addMouseWheelListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Canvas; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if MouseWheelListener could be registered for an AWT Canvas. */ public class addMouseWheelListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Canvas canvas = new Canvas(); canvas.setBackground(Color.blue); // array which will be filled by registered listeners MouseWheelListener[] mouseWheelListeners; // get all registered listeners mouseWheelListeners = canvas.getMouseWheelListeners(); harness.check(mouseWheelListeners.length, 0); // register new listener canvas.addMouseWheelListener( new MouseWheelListener() { public void mouseWheelMoved(MouseWheelEvent e) { // empty } @Override public String toString() { return "myMouseWheelListener"; } } ); // get all registered listeners mouseWheelListeners = canvas.getMouseWheelListeners(); harness.check(mouseWheelListeners.length, 1); // check if the proper listener is used harness.check(mouseWheelListeners[0].toString(), "myMouseWheelListener"); } } mauve-20140821/gnu/testlet/java/awt/Canvas/addPropertyChangeListener.java0000644000175000001440000000466011671627032025140 0ustar dokousers// addPropertyChangeListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Canvas; import java.awt.Color; import java.awt.Canvas; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Check if {@link PropertyChangeListener} could be registered for an AWT {@link Canvas}. */ public class addPropertyChangeListener implements Testlet { private static final String PROPERTY_CHANGE_LISTENER_NAME = "myProperlyChangeListener"; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Canvas canvas = new Canvas(); canvas.setBackground(Color.blue); // array which will be filled by registered listeners PropertyChangeListener[] properlyChangeListeners; // get all registered listeners properlyChangeListeners = canvas.getPropertyChangeListeners(); harness.check(properlyChangeListeners.length, 0); // register new listener canvas.addPropertyChangeListener(new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { // empty block } @Override public String toString() { return PROPERTY_CHANGE_LISTENER_NAME; } }); // get all registered listeners properlyChangeListeners = canvas.getPropertyChangeListeners(); harness.check(properlyChangeListeners.length, 1); // check if the proper listener is used harness.check(properlyChangeListeners[0].toString(), PROPERTY_CHANGE_LISTENER_NAME); } } mauve-20140821/gnu/testlet/java/awt/Canvas/addFocusListener.java0000644000175000001440000000437411644556436023300 0ustar dokousers// addFocusListener.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.Canvas; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; import java.awt.event.*; /** * Check if FocusListener could be registered for an AWT Canvas. */ public class addFocusListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Canvas canvas = new Canvas(); canvas.setBackground(Color.blue); // array which will be filled by registered listeners FocusListener[] focusListeners; // get all registered listeners focusListeners = canvas.getFocusListeners(); harness.check(focusListeners.length, 0); // register new listener canvas.addFocusListener( new FocusListener() { public void focusGained(FocusEvent e) { // empty } public void focusLost(FocusEvent e) { // empty } @Override public String toString() { return "myFocusListener"; } } ); // get all registered listeners focusListeners = canvas.getFocusListeners(); harness.check(focusListeners.length, 1); // check if the proper listener is used harness.check(focusListeners[0].toString(), "myFocusListener"); } } mauve-20140821/gnu/testlet/java/awt/MenuShortcut/0000755000175000001440000000000012375316426020407 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/MenuShortcut/testToString.java0000644000175000001440000002620110472654357023730 0ustar dokousers/* testToString.java -- Copyright (C) 2006 RedHat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.3 package gnu.testlet.java.awt.MenuShortcut; import java.awt.MenuShortcut; import java.awt.event.KeyEvent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class testToString implements Testlet { public void test(TestHarness harness) { MenuShortcut m = new MenuShortcut(KeyEvent.VK_ENTER); harness.check(m.toString(), "Ctrl+Enter"); harness.check(m.usesShiftModifier(), false); m = new MenuShortcut(KeyEvent.VK_BACK_SPACE, true); harness.check(m.toString(), "Ctrl+Shift+Backspace"); harness.check(m.usesShiftModifier(), true); m = new MenuShortcut(KeyEvent.VK_TAB); harness.check(m.toString(), "Ctrl+Tab"); m = new MenuShortcut(KeyEvent.VK_CANCEL); harness.check(m.toString(), "Ctrl+Cancel"); m = new MenuShortcut(KeyEvent.VK_CLEAR); harness.check(m.toString(), "Ctrl+Clear"); m = new MenuShortcut(KeyEvent.VK_SHIFT); harness.check(m.toString(), "Ctrl+Shift"); m = new MenuShortcut(KeyEvent.VK_CONTROL); harness.check(m.toString(), "Ctrl+Ctrl"); m = new MenuShortcut(KeyEvent.VK_ALT); harness.check(m.toString(), "Ctrl+Alt"); m = new MenuShortcut(KeyEvent.VK_PAUSE); harness.check(m.toString(), "Ctrl+Pause"); m = new MenuShortcut(KeyEvent.VK_CAPS_LOCK); harness.check(m.toString(), "Ctrl+Caps Lock"); m = new MenuShortcut(KeyEvent.VK_ESCAPE); harness.check(m.toString(), "Ctrl+Escape"); m = new MenuShortcut(KeyEvent.VK_SPACE); harness.check(m.toString(), "Ctrl+Space"); m = new MenuShortcut(KeyEvent.VK_PAGE_UP); harness.check(m.toString(), "Ctrl+Page Up"); m = new MenuShortcut(KeyEvent.VK_PAGE_DOWN); harness.check(m.toString(), "Ctrl+Page Down"); m = new MenuShortcut(KeyEvent.VK_END); harness.check(m.toString(), "Ctrl+End"); m = new MenuShortcut(KeyEvent.VK_HOME); harness.check(m.toString(), "Ctrl+Home"); m = new MenuShortcut(KeyEvent.VK_LEFT); harness.check(m.toString(), "Ctrl+Left"); m = new MenuShortcut(KeyEvent.VK_UP); harness.check(m.toString(), "Ctrl+Up"); m = new MenuShortcut(KeyEvent.VK_RIGHT); harness.check(m.toString(), "Ctrl+Right"); m = new MenuShortcut(KeyEvent.VK_DOWN); harness.check(m.toString(), "Ctrl+Down"); m = new MenuShortcut(KeyEvent.VK_COMMA); harness.check(m.toString(), "Ctrl+Comma"); m = new MenuShortcut(KeyEvent.VK_PERIOD); harness.check(m.toString(), "Ctrl+Period"); m = new MenuShortcut(KeyEvent.VK_SLASH); harness.check(m.toString(), "Ctrl+Slash"); m = new MenuShortcut(KeyEvent.VK_SEMICOLON); harness.check(m.toString(), "Ctrl+Semicolon"); m = new MenuShortcut(KeyEvent.VK_EQUALS); harness.check(m.toString(), "Ctrl+Equals"); m = new MenuShortcut(KeyEvent.VK_BACK_SLASH); harness.check(m.toString(), "Ctrl+Back Slash"); m = new MenuShortcut(KeyEvent.VK_0); harness.check(m.toString(), "Ctrl+0"); m = new MenuShortcut(KeyEvent.VK_1); harness.check(m.toString(), "Ctrl+1"); m = new MenuShortcut(KeyEvent.VK_2); harness.check(m.toString(), "Ctrl+2"); m = new MenuShortcut(KeyEvent.VK_3); harness.check(m.toString(), "Ctrl+3"); m = new MenuShortcut(KeyEvent.VK_4); harness.check(m.toString(), "Ctrl+4"); m = new MenuShortcut(KeyEvent.VK_5); harness.check(m.toString(), "Ctrl+5"); m = new MenuShortcut(KeyEvent.VK_6); harness.check(m.toString(), "Ctrl+6"); m = new MenuShortcut(KeyEvent.VK_7); harness.check(m.toString(), "Ctrl+7"); m = new MenuShortcut(KeyEvent.VK_8); harness.check(m.toString(), "Ctrl+8"); m = new MenuShortcut(KeyEvent.VK_9); harness.check(m.toString(), "Ctrl+9"); m = new MenuShortcut(KeyEvent.VK_NUMPAD0); harness.check(m.toString(), "Ctrl+NumPad-0"); m = new MenuShortcut(KeyEvent.VK_NUMPAD1); harness.check(m.toString(), "Ctrl+NumPad-1"); m = new MenuShortcut(KeyEvent.VK_NUMPAD2); harness.check(m.toString(), "Ctrl+NumPad-2"); m = new MenuShortcut(KeyEvent.VK_NUMPAD3); harness.check(m.toString(), "Ctrl+NumPad-3"); m = new MenuShortcut(KeyEvent.VK_NUMPAD4); harness.check(m.toString(), "Ctrl+NumPad-4"); m = new MenuShortcut(KeyEvent.VK_NUMPAD5); harness.check(m.toString(), "Ctrl+NumPad-5"); m = new MenuShortcut(KeyEvent.VK_NUMPAD6); harness.check(m.toString(), "Ctrl+NumPad-6"); m = new MenuShortcut(KeyEvent.VK_NUMPAD7); harness.check(m.toString(), "Ctrl+NumPad-7"); m = new MenuShortcut(KeyEvent.VK_NUMPAD8); harness.check(m.toString(), "Ctrl+NumPad-8"); m = new MenuShortcut(KeyEvent.VK_NUMPAD9); harness.check(m.toString(), "Ctrl+NumPad-9"); m = new MenuShortcut(KeyEvent.VK_MULTIPLY); harness.check(m.toString(), "Ctrl+NumPad *"); m = new MenuShortcut(KeyEvent.VK_ADD); harness.check(m.toString(), "Ctrl+NumPad +"); m = new MenuShortcut(KeyEvent.VK_SEPARATER); harness.check(m.toString(), "Ctrl+NumPad ,"); m = new MenuShortcut(KeyEvent.VK_SUBTRACT); harness.check(m.toString(), "Ctrl+NumPad -"); m = new MenuShortcut(KeyEvent.VK_DECIMAL); harness.check(m.toString(), "Ctrl+NumPad ."); m = new MenuShortcut(KeyEvent.VK_DIVIDE); harness.check(m.toString(), "Ctrl+NumPad /"); m = new MenuShortcut(KeyEvent.VK_A); harness.check(m.toString(), "Ctrl+A"); m = new MenuShortcut(KeyEvent.VK_B); harness.check(m.toString(), "Ctrl+B"); m = new MenuShortcut(KeyEvent.VK_C); harness.check(m.toString(), "Ctrl+C"); m = new MenuShortcut(KeyEvent.VK_D); harness.check(m.toString(), "Ctrl+D"); m = new MenuShortcut(KeyEvent.VK_E); harness.check(m.toString(), "Ctrl+E"); m = new MenuShortcut(KeyEvent.VK_F); harness.check(m.toString(), "Ctrl+F"); m = new MenuShortcut(KeyEvent.VK_G); harness.check(m.toString(), "Ctrl+G"); m = new MenuShortcut(KeyEvent.VK_H); harness.check(m.toString(), "Ctrl+H"); m = new MenuShortcut(KeyEvent.VK_I); harness.check(m.toString(), "Ctrl+I"); m = new MenuShortcut(KeyEvent.VK_J); harness.check(m.toString(), "Ctrl+J"); m = new MenuShortcut(KeyEvent.VK_L); harness.check(m.toString(), "Ctrl+L"); m = new MenuShortcut(KeyEvent.VK_M); harness.check(m.toString(), "Ctrl+M"); m = new MenuShortcut(KeyEvent.VK_N); harness.check(m.toString(), "Ctrl+N"); m = new MenuShortcut(KeyEvent.VK_O); harness.check(m.toString(), "Ctrl+O"); m = new MenuShortcut(KeyEvent.VK_P); harness.check(m.toString(), "Ctrl+P"); m = new MenuShortcut(KeyEvent.VK_Q); harness.check(m.toString(), "Ctrl+Q"); m = new MenuShortcut(KeyEvent.VK_R); harness.check(m.toString(), "Ctrl+R"); m = new MenuShortcut(KeyEvent.VK_S); harness.check(m.toString(), "Ctrl+S"); m = new MenuShortcut(KeyEvent.VK_T); harness.check(m.toString(), "Ctrl+T"); m = new MenuShortcut(KeyEvent.VK_U); harness.check(m.toString(), "Ctrl+U"); m = new MenuShortcut(KeyEvent.VK_V); harness.check(m.toString(), "Ctrl+V"); m = new MenuShortcut(KeyEvent.VK_W); harness.check(m.toString(), "Ctrl+W"); m = new MenuShortcut(KeyEvent.VK_X); harness.check(m.toString(), "Ctrl+X"); m = new MenuShortcut(KeyEvent.VK_Y); harness.check(m.toString(), "Ctrl+Y"); m = new MenuShortcut(KeyEvent.VK_Z); harness.check(m.toString(), "Ctrl+Z"); m = new MenuShortcut(KeyEvent.VK_F1); harness.check(m.toString(), "Ctrl+F1"); m = new MenuShortcut(KeyEvent.VK_F2); harness.check(m.toString(), "Ctrl+F2"); m = new MenuShortcut(KeyEvent.VK_F3); harness.check(m.toString(), "Ctrl+F3"); m = new MenuShortcut(KeyEvent.VK_F4); harness.check(m.toString(), "Ctrl+F4"); m = new MenuShortcut(KeyEvent.VK_F5); harness.check(m.toString(), "Ctrl+F5"); m = new MenuShortcut(KeyEvent.VK_F6); harness.check(m.toString(), "Ctrl+F6"); m = new MenuShortcut(KeyEvent.VK_F7); harness.check(m.toString(), "Ctrl+F7"); m = new MenuShortcut(KeyEvent.VK_F8); harness.check(m.toString(), "Ctrl+F8"); m = new MenuShortcut(KeyEvent.VK_F9); harness.check(m.toString(), "Ctrl+F9"); m = new MenuShortcut(KeyEvent.VK_F10); harness.check(m.toString(), "Ctrl+F10"); m = new MenuShortcut(KeyEvent.VK_F11); harness.check(m.toString(), "Ctrl+F11"); m = new MenuShortcut(KeyEvent.VK_F12); harness.check(m.toString(), "Ctrl+F12"); m = new MenuShortcut(KeyEvent.VK_DELETE); harness.check(m.toString(), "Ctrl+Delete"); m = new MenuShortcut(KeyEvent.VK_NUM_LOCK); harness.check(m.toString(), "Ctrl+Num Lock"); m = new MenuShortcut(KeyEvent.VK_SCROLL_LOCK); harness.check(m.toString(), "Ctrl+Scroll Lock"); m = new MenuShortcut(KeyEvent.VK_PRINTSCREEN); harness.check(m.toString(), "Ctrl+Print Screen"); m = new MenuShortcut(KeyEvent.VK_INSERT); harness.check(m.toString(), "Ctrl+Insert"); m = new MenuShortcut(KeyEvent.VK_HELP); harness.check(m.toString(), "Ctrl+Help"); m = new MenuShortcut(KeyEvent.VK_META); harness.check(m.toString(), "Ctrl+Meta"); m = new MenuShortcut(KeyEvent.VK_BACK_QUOTE); harness.check(m.toString(), "Ctrl+Back Quote"); m = new MenuShortcut(KeyEvent.VK_QUOTE); harness.check(m.toString(), "Ctrl+Quote"); m = new MenuShortcut(KeyEvent.VK_OPEN_BRACKET); harness.check(m.toString(), "Ctrl+Open Bracket"); m = new MenuShortcut(KeyEvent.VK_CLOSE_BRACKET); harness.check(m.toString(), "Ctrl+Close Bracket"); m = new MenuShortcut(KeyEvent.VK_ACCEPT); harness.check(m.toString(), "Ctrl+Accept"); m = new MenuShortcut(KeyEvent.VK_CONVERT); harness.check(m.toString(), "Ctrl+Convert"); m = new MenuShortcut(KeyEvent.VK_FINAL); harness.check(m.toString(), "Ctrl+Final"); m = new MenuShortcut(KeyEvent.VK_KANA); harness.check(m.toString(), "Ctrl+Kana"); m = new MenuShortcut(KeyEvent.VK_KANJI); harness.check(m.toString(), "Ctrl+Kanji"); m = new MenuShortcut(KeyEvent.VK_MODECHANGE); harness.check(m.toString(), "Ctrl+Mode Change"); m = new MenuShortcut(KeyEvent.VK_NONCONVERT); harness.check(m.toString(), "Ctrl+No Convert"); } } mauve-20140821/gnu/testlet/java/awt/Toolkit/0000755000175000001440000000000012375316426017374 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/Toolkit/security.java0000644000175000001440000001105310450221512022065 0ustar dokousers// Tags: GUI JDK1.3 // Copyright (C) 2006 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.Toolkit; import java.awt.AWTEvent; import java.awt.AWTPermission; import java.awt.Frame; import java.awt.JobAttributes; import java.awt.PageAttributes; import java.awt.Toolkit; import java.awt.event.AWTEventListener; import java.security.Permission; import java.util.Properties; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.TestSecurityManager; public class security implements Testlet { public void test(TestHarness harness) { try { Toolkit toolkit = Toolkit.getDefaultToolkit(); toolkit.getSystemEventQueue(); AWTEventListener listener = new TestEventListener(); Frame frame = new Frame(); Properties props = new Properties(); JobAttributes jobattrs = new JobAttributes(); PageAttributes pageattrs = new PageAttributes(); Permission[] listenToAllAWTEvents = new Permission[] { new AWTPermission("listenToAllAWTEvents")}; Permission[] queuePrintJob = new Permission[] { new RuntimePermission("queuePrintJob")}; Permission[] accessClipboard = new Permission[] { new AWTPermission("accessClipboard")}; Permission[] accessEventQueue = new Permission[] { new AWTPermission("accessEventQueue")}; TestSecurityManager sm = new TestSecurityManager(harness); try { sm.install(); // throwpoint: java.awt.Toolkit-addAWTEventListener harness.checkPoint("addAWTEventListener"); try { sm.prepareChecks(listenToAllAWTEvents); toolkit.addAWTEventListener(listener, AWTEvent.KEY_EVENT_MASK); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.awt.Toolkit-removeAWTEventListener harness.checkPoint("removeAWTEventListener"); try { sm.prepareChecks(listenToAllAWTEvents); toolkit.removeAWTEventListener(listener); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.awt.Toolkit-getPrintJob(Frame, String, Properties) harness.checkPoint("getPrintJob(3-arg)"); try { sm.prepareHaltingChecks(queuePrintJob); toolkit.getPrintJob(frame, "Test job", props); harness.check(false); } catch (TestSecurityManager.SuccessException ex) { harness.check(true); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.awt.Toolkit-getPrintJob(Frame, String, JobAttributes, PageAttributes) harness.checkPoint("getPrintJob(4-arg)"); try { sm.prepareHaltingChecks(queuePrintJob); toolkit.getPrintJob(frame, "Test job", jobattrs, pageattrs); harness.check(false); } catch (TestSecurityManager.SuccessException ex) { harness.check(true); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.awt.Toolkit-getSystemClipboard harness.checkPoint("getSystemClipboard"); try { sm.prepareChecks(accessClipboard); toolkit.getSystemClipboard(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.awt.Toolkit-getSystemEventQueue harness.checkPoint("getSystemEventQueue"); try { sm.prepareChecks(accessEventQueue); toolkit.getSystemEventQueue(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } finally { sm.uninstall(); } } catch (Exception ex) { harness.debug(ex); harness.check(false, "Unexpected exception"); } } private static class TestEventListener implements AWTEventListener { public void eventDispatched(AWTEvent event) { } } } mauve-20140821/gnu/testlet/java/awt/FlowLayout/0000755000175000001440000000000012375316426020054 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/FlowLayout/constructors.java0000644000175000001440000000746111662465633023502 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.FlowLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.FlowLayout; /** * Tests which checks constructors in the {@link FlowLayout} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructorNoParams(harness); testConstructorOneParam(harness); testConstructorThreeParams(harness); testConstructorThreeParamsNegativeGaps(harness); } private void doCheck(TestHarness harness, FlowLayout flowLayout, int alignment, int hgap, int vgap) { harness.check(flowLayout.getAlignment(), alignment); harness.check(flowLayout.getHgap(), hgap); harness.check(flowLayout.getVgap(), vgap); } /** * Test layout manager constructed using constructor without any parameter. * * @param harness the test harness (null not permitted). */ private void testConstructorNoParams(TestHarness harness) { harness.checkPoint("()"); FlowLayout flowLayout1 = new FlowLayout(); doCheck(harness, flowLayout1, FlowLayout.CENTER, 5, 5); } /** * Test layout manager constructed using constructor with one parameter. * * @param harness the test harness (null not permitted). */ private void testConstructorOneParam(TestHarness harness) { harness.checkPoint("(int align)"); FlowLayout flowLayout2 = new FlowLayout(FlowLayout.CENTER); doCheck(harness, flowLayout2, FlowLayout.CENTER, 5, 5); flowLayout2 = new FlowLayout(FlowLayout.LEFT); doCheck(harness, flowLayout2, FlowLayout.LEFT, 5, 5); flowLayout2 = new FlowLayout(FlowLayout.RIGHT); harness.check(flowLayout2.getAlignment(), FlowLayout.RIGHT); doCheck(harness, flowLayout2, FlowLayout.RIGHT, 5, 5); } /** * Test layout manager constructed using constructor with three parameters. * * @param harness the test harness (null not permitted). */ private void testConstructorThreeParams(TestHarness harness) { harness.checkPoint("(int align, int hgap, int vgap)"); FlowLayout flowLayout3 = new FlowLayout(FlowLayout.CENTER, 50, 50); doCheck(harness, flowLayout3, FlowLayout.CENTER, 50, 50); } /** * Test layout manager constructed using constructor with three parameters. * * @param harness the test harness (null not permitted). */ private void testConstructorThreeParamsNegativeGaps(TestHarness harness) { harness.checkPoint("(int align, int -hgap, int -vgap)"); FlowLayout flowLayout4 = new FlowLayout(FlowLayout.CENTER, -50, 50); doCheck(harness, flowLayout4, FlowLayout.CENTER, -50, 50); flowLayout4 = new FlowLayout(FlowLayout.CENTER, 50, -50); doCheck(harness, flowLayout4, FlowLayout.CENTER, 50, -50); flowLayout4 = new FlowLayout(FlowLayout.CENTER, -50, -50); doCheck(harness, flowLayout4, FlowLayout.CENTER, -50, -50); } } mauve-20140821/gnu/testlet/java/awt/FlowLayout/setAlignment.java0000644000175000001440000000313111662715637023354 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.FlowLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.FlowLayout; /** * Basic checks for the setAlignment() method in the {@link FlowLayout} class. */ public class setAlignment implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { FlowLayout layout = new FlowLayout(); layout.setAlignment(FlowLayout.LEFT); harness.check(layout.getAlignment(), FlowLayout.LEFT); layout.setAlignment(FlowLayout.RIGHT); harness.check(layout.getAlignment(), FlowLayout.RIGHT); layout.setAlignment(FlowLayout.CENTER); harness.check(layout.getAlignment(), FlowLayout.CENTER); } } mauve-20140821/gnu/testlet/java/awt/FlowLayout/PaintTestZeroHgap.java0000644000175000001440000001272311654267614024302 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.FlowLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.FlowLayout; /** * Test if two canvases are positioned correctly to a frame using FlowLayout. */ public class PaintTestZeroHgap extends Panel implements Testlet { /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT=250; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { FlowLayout layout = new FlowLayout(); layout.setHgap(0); this.setLayout(layout); setBackground(Color.red); Frame frame = new Frame(); // create two components and add them to the panel Canvas canvas1 = new Canvas(); Canvas canvas2 = new Canvas(); canvas1.setSize(100,100); canvas2.setSize(100,100); canvas1.setBackground(Color.blue); canvas2.setBackground(Color.yellow); add(canvas1); add(canvas2); frame.add(this); frame.pack(); frame.show(); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); harness.check(getColorForComponent(robot, frame, canvas1), Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); harness.check(getColorForComponent(robot, frame, canvas2), Color.yellow); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param g the graphics context to use for painting */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/FlowLayout/getHgap.java0000644000175000001440000000273511662715637022312 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.FlowLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.FlowLayout; /** * Basic checks for the getHgap() method in the {@link FlowLayout} class. */ public class getHgap implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { FlowLayout layout = new FlowLayout(); layout.setHgap(42); harness.check(layout.getHgap(), 42); layout.setHgap(-42); harness.check(layout.getHgap(), -42); layout.setHgap(0); harness.check(layout.getHgap(), 0); } } mauve-20140821/gnu/testlet/java/awt/FlowLayout/setVgap.java0000644000175000001440000000273511662715637022344 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.FlowLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.FlowLayout; /** * Basic checks for the setVgap() method in the {@link FlowLayout} class. */ public class setVgap implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { FlowLayout layout = new FlowLayout(); layout.setVgap(42); harness.check(layout.getVgap(), 42); layout.setVgap(-42); harness.check(layout.getVgap(), -42); layout.setVgap(0); harness.check(layout.getVgap(), 0); } } mauve-20140821/gnu/testlet/java/awt/FlowLayout/PaintTestLeftAlign.java0000644000175000001440000001267311654267614024434 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.FlowLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.Button; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.FlowLayout; /** * Test if button and canvas are positioned correctly to a frame using FlowLayout. */ public class PaintTestLeftAlign extends Panel implements Testlet { /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT=250; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { this.setLayout(new FlowLayout(FlowLayout.LEFT)); setBackground(Color.red); Frame frame = new Frame(); frame.setSize(300, 300); // create two components and add them to the panel Button button = new Button(" "); Canvas canvas = new Canvas(); canvas.setSize(100,100); button.setBackground(Color.blue); canvas.setBackground(Color.yellow); add(button); add(canvas); frame.add(this); frame.show(); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); harness.check(getColorForComponent(robot, frame, button), Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); harness.check(getColorForComponent(robot, frame, canvas), Color.yellow); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the button center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param g the graphics context to use for painting */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/FlowLayout/PaintTestCenterAlign.java0000644000175000001440000001267711654267614024766 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.FlowLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.Button; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.FlowLayout; /** * Test if button and canvas are positioned correctly to a frame using FlowLayout. */ public class PaintTestCenterAlign extends Panel implements Testlet { /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT=250; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { this.setLayout(new FlowLayout(FlowLayout.CENTER)); setBackground(Color.red); Frame frame = new Frame(); frame.setSize(300, 300); // create two components and add them to the panel Button button = new Button(" "); Canvas canvas = new Canvas(); canvas.setSize(100,100); button.setBackground(Color.blue); canvas.setBackground(Color.yellow); add(button); add(canvas); frame.add(this); frame.show(); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); harness.check(getColorForComponent(robot, frame, button), Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); harness.check(getColorForComponent(robot, frame, canvas), Color.yellow); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the button center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param g the graphics context to use for painting */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/FlowLayout/PaintTestBasicSetup3.java0000644000175000001440000001264311651300521024667 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.FlowLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.Button; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.FlowLayout; /** * Test if button and canvas are positioned correctly to a frame using FlowLayout. */ public class PaintTestBasicSetup3 extends Panel implements Testlet { /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT=250; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { this.setLayout(new FlowLayout()); setBackground(Color.red); Frame frame = new Frame(); // create two components and add them to the panel Button button = new Button(" "); Canvas canvas = new Canvas(); canvas.setSize(100,100); button.setBackground(Color.blue); canvas.setBackground(Color.yellow); add(button); add(canvas); frame.add(this); frame.pack(); frame.show(); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); harness.check(getColorForComponent(robot, frame, button), Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); harness.check(getColorForComponent(robot, frame, canvas), Color.yellow); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the button center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param g the graphics context to use for painting */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/FlowLayout/setHgap.java0000644000175000001440000000273511662715637022326 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.FlowLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.FlowLayout; /** * Basic checks for the setHgap() method in the {@link FlowLayout} class. */ public class setHgap implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { FlowLayout layout = new FlowLayout(); layout.setHgap(42); harness.check(layout.getHgap(), 42); layout.setHgap(-42); harness.check(layout.getHgap(), -42); layout.setHgap(0); harness.check(layout.getHgap(), 0); } } mauve-20140821/gnu/testlet/java/awt/FlowLayout/PaintTestBiggerVgap.java0000644000175000001440000001272611654267614024603 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.FlowLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.FlowLayout; /** * Test if two canvases are positioned correctly to a frame using FlowLayout. */ public class PaintTestBiggerVgap extends Panel implements Testlet { /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT=250; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { FlowLayout layout = new FlowLayout(); layout.setVgap(50); this.setLayout(layout); setBackground(Color.red); Frame frame = new Frame(); // create two components and add them to the panel Canvas canvas1 = new Canvas(); Canvas canvas2 = new Canvas(); canvas1.setSize(100,100); canvas2.setSize(100,100); canvas1.setBackground(Color.blue); canvas2.setBackground(Color.yellow); add(canvas1); add(canvas2); frame.add(this); frame.pack(); frame.show(); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); harness.check(getColorForComponent(robot, frame, canvas1), Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); harness.check(getColorForComponent(robot, frame, canvas2), Color.yellow); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param g the graphics context to use for painting */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/FlowLayout/toString.java0000644000175000001440000000636711662465633022547 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.FlowLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.FlowLayout; // test of method toString() public class toString implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructorNoParams(harness); testConstructorOneParam(harness); testConstructorThreeParams(harness); } /** * Test layout manager constructed using constructor without any parameter. * * @param harness the test harness (null not permitted). */ private void testConstructorNoParams(TestHarness harness) { harness.checkPoint("()"); FlowLayout flowLayout1 = new FlowLayout(); flowLayout1.toString(); harness.check(flowLayout1.toString() != null); harness.check(flowLayout1.toString(), "java.awt.FlowLayout[hgap=5,vgap=5,align=center]"); } /** * Test layout manager constructed using constructor with one parameter. * * @param harness the test harness (null not permitted). */ private void testConstructorOneParam(TestHarness harness) { harness.checkPoint("(int align)"); FlowLayout flowLayout2 = new FlowLayout(FlowLayout.CENTER); flowLayout2.toString(); harness.check(flowLayout2.toString() != null); harness.check(flowLayout2.toString(), "java.awt.FlowLayout[hgap=5,vgap=5,align=center]"); flowLayout2 = new FlowLayout(FlowLayout.LEFT); flowLayout2.toString(); harness.check(flowLayout2.toString() != null); harness.check(flowLayout2.toString(), "java.awt.FlowLayout[hgap=5,vgap=5,align=left]"); flowLayout2 = new FlowLayout(FlowLayout.RIGHT); flowLayout2.toString(); harness.check(flowLayout2.toString() != null); harness.check(flowLayout2.toString(), "java.awt.FlowLayout[hgap=5,vgap=5,align=right]"); } /** * Test layout manager constructed using constructor with three parameters. * * @param harness the test harness (null not permitted). */ private void testConstructorThreeParams(TestHarness harness) { harness.checkPoint("(int align, int hgap, int vgap)"); FlowLayout flowLayout3 = new FlowLayout(FlowLayout.CENTER, 50, 50); flowLayout3.toString(); harness.check(flowLayout3.toString() != null); harness.check(flowLayout3.toString(), "java.awt.FlowLayout[hgap=50,vgap=50,align=center]"); } } mauve-20140821/gnu/testlet/java/awt/FlowLayout/PaintTestBasicSetup2.java0000644000175000001440000001263611651300521024670 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.FlowLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.FlowLayout; /** * Test if two canvases are positioned correctly to a frame using FlowLayout. */ public class PaintTestBasicSetup2 extends Panel implements Testlet { /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT=250; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { this.setLayout(new FlowLayout()); setBackground(Color.red); Frame frame = new Frame(); // create two components and add them to the panel Canvas canvas1 = new Canvas(); Canvas canvas2 = new Canvas(); canvas1.setSize(100,100); canvas2.setSize(100,100); canvas1.setBackground(Color.blue); canvas2.setBackground(Color.yellow); add(canvas1); add(canvas2); frame.add(this); frame.pack(); frame.show(); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); harness.check(getColorForComponent(robot, frame, canvas1), Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); harness.check(getColorForComponent(robot, frame, canvas2), Color.yellow); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param g the graphics context to use for painting */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/FlowLayout/minimumLayoutSize.java0000644000175000001440000000351210524134640024412 0ustar dokousers/* minimumLayoutSize.java Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.0 package gnu.testlet.java.awt.FlowLayout; import java.awt.Button; import java.awt.Container; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.List; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class minimumLayoutSize implements Testlet { public void test(TestHarness harness) { Container container = new Container(); FlowLayout layout = new FlowLayout(); // Show that the width is calculated using the formula: // w += 2 * hgap + ins.left + ins.right // when there are no components in container. harness.check(layout.minimumLayoutSize(container), new Dimension(10, 10)); // Show that the width is calculated using the formula: // w += (num + 1) * hgap + ins.left + ins.right; // when there is one or more components in container. container.add(new Button()); harness.check(layout.minimumLayoutSize(container), new Dimension(10, 10)); container.add(new Button()); container.add(new List()); harness.check(layout.minimumLayoutSize(container), new Dimension(20, 10)); } } mauve-20140821/gnu/testlet/java/awt/FlowLayout/PaintTestZeroVgap.java0000644000175000001440000001272311654267614024320 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.FlowLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.FlowLayout; /** * Test if two canvases are positioned correctly to a frame using FlowLayout. */ public class PaintTestZeroVgap extends Panel implements Testlet { /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT=250; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { FlowLayout layout = new FlowLayout(); layout.setVgap(0); this.setLayout(layout); setBackground(Color.red); Frame frame = new Frame(); // create two components and add them to the panel Canvas canvas1 = new Canvas(); Canvas canvas2 = new Canvas(); canvas1.setSize(100,100); canvas2.setSize(100,100); canvas1.setBackground(Color.blue); canvas2.setBackground(Color.yellow); add(canvas1); add(canvas2); frame.add(this); frame.pack(); frame.show(); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); harness.check(getColorForComponent(robot, frame, canvas1), Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); harness.check(getColorForComponent(robot, frame, canvas2), Color.yellow); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param g the graphics context to use for painting */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/FlowLayout/PaintTestBiggerHgap.java0000644000175000001440000001272611654267614024565 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.FlowLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.FlowLayout; /** * Test if two canvases are positioned correctly to a frame using FlowLayout. */ public class PaintTestBiggerHgap extends Panel implements Testlet { /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT=250; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { FlowLayout layout = new FlowLayout(); layout.setHgap(50); this.setLayout(layout); setBackground(Color.red); Frame frame = new Frame(); // create two components and add them to the panel Canvas canvas1 = new Canvas(); Canvas canvas2 = new Canvas(); canvas1.setSize(100,100); canvas2.setSize(100,100); canvas1.setBackground(Color.blue); canvas2.setBackground(Color.yellow); add(canvas1); add(canvas2); frame.add(this); frame.pack(); frame.show(); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); harness.check(getColorForComponent(robot, frame, canvas1), Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); harness.check(getColorForComponent(robot, frame, canvas2), Color.yellow); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param g the graphics context to use for painting */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/FlowLayout/PaintTestRightAlign.java0000644000175000001440000001267511654267614024621 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.FlowLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.Button; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.FlowLayout; /** * Test if button and canvas are positioned correctly to a frame using FlowLayout. */ public class PaintTestRightAlign extends Panel implements Testlet { /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT=250; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { this.setLayout(new FlowLayout(FlowLayout.RIGHT)); setBackground(Color.red); Frame frame = new Frame(); frame.setSize(300, 300); // create two components and add them to the panel Button button = new Button(" "); Canvas canvas = new Canvas(); canvas.setSize(100,100); button.setBackground(Color.blue); canvas.setBackground(Color.yellow); add(button); add(canvas); frame.add(this); frame.show(); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); harness.check(getColorForComponent(robot, frame, button), Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); harness.check(getColorForComponent(robot, frame, canvas), Color.yellow); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the button center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param g the graphics context to use for painting */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/FlowLayout/getAlignment.java0000644000175000001440000000313111662715637023340 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.FlowLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.FlowLayout; /** * Basic checks for the getAlignment() method in the {@link FlowLayout} class. */ public class getAlignment implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { FlowLayout layout = new FlowLayout(); layout.setAlignment(FlowLayout.LEFT); harness.check(layout.getAlignment(), FlowLayout.LEFT); layout.setAlignment(FlowLayout.RIGHT); harness.check(layout.getAlignment(), FlowLayout.RIGHT); layout.setAlignment(FlowLayout.CENTER); harness.check(layout.getAlignment(), FlowLayout.CENTER); } } mauve-20140821/gnu/testlet/java/awt/FlowLayout/PaintTestZeroGaps.java0000644000175000001440000001275211654267614024317 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.FlowLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.FlowLayout; /** * Test if two canvases are positioned correctly to a frame using FlowLayout. */ public class PaintTestZeroGaps extends Panel implements Testlet { /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT=250; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { FlowLayout layout = new FlowLayout(); layout.setHgap(0); layout.setVgap(0); this.setLayout(layout); setBackground(Color.red); Frame frame = new Frame(); // create two components and add them to the panel Canvas canvas1 = new Canvas(); Canvas canvas2 = new Canvas(); canvas1.setSize(100,100); canvas2.setSize(100,100); canvas1.setBackground(Color.blue); canvas2.setBackground(Color.yellow); add(canvas1); add(canvas2); frame.add(this); frame.pack(); frame.show(); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); harness.check(getColorForComponent(robot, frame, canvas1), Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); harness.check(getColorForComponent(robot, frame, canvas2), Color.yellow); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param g the graphics context to use for painting */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/FlowLayout/PaintTestBasicSetup1.java0000644000175000001440000001257711651300521024673 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.FlowLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.Button; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.FlowLayout; /** * Test if two buttons are positioned correctly to a frame using FlowLayout. */ public class PaintTestBasicSetup1 extends Panel implements Testlet { /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT=250; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { this.setLayout(new FlowLayout()); setBackground(Color.red); Frame frame = new Frame(); // create two components and add them to the panel Button button1 = new Button(" "); Button button2 = new Button(" "); button1.setBackground(Color.blue); button2.setBackground(Color.yellow); add(button1); add(button2); frame.add(this); frame.pack(); frame.show(); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); harness.check(getColorForComponent(robot, frame, button1), Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); harness.check(getColorForComponent(robot, frame, button2), Color.yellow); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the button center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param g the graphics context to use for painting */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/FlowLayout/PaintTestBiggerGaps.java0000644000175000001440000001275611654267614024603 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.FlowLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.FlowLayout; /** * Test if two canvases are positioned correctly to a frame using FlowLayout. */ public class PaintTestBiggerGaps extends Panel implements Testlet { /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT=250; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { FlowLayout layout = new FlowLayout(); layout.setHgap(50); layout.setVgap(50); this.setLayout(layout); setBackground(Color.red); Frame frame = new Frame(); // create two components and add them to the panel Canvas canvas1 = new Canvas(); Canvas canvas2 = new Canvas(); canvas1.setSize(100,100); canvas2.setSize(100,100); canvas1.setBackground(Color.blue); canvas2.setBackground(Color.yellow); add(canvas1); add(canvas2); frame.add(this); frame.pack(); frame.show(); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); harness.check(getColorForComponent(robot, frame, canvas1), Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); harness.check(getColorForComponent(robot, frame, canvas2), Color.yellow); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param g the graphics context to use for painting */ public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/FlowLayout/getVgap.java0000644000175000001440000000273511662715637022330 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.FlowLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.FlowLayout; /** * Basic checks for the getVgap() method in the {@link FlowLayout} class. */ public class getVgap implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { FlowLayout layout = new FlowLayout(); layout.setVgap(42); harness.check(layout.getVgap(), 42); layout.setVgap(-42); harness.check(layout.getVgap(), -42); layout.setVgap(0); harness.check(layout.getVgap(), 0); } } mauve-20140821/gnu/testlet/java/awt/TextComponent/0000755000175000001440000000000012375316426020556 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/TextComponent/ignoreOldMouseEvents.java0000644000175000001440000000670210444034765025544 0ustar dokousers/* ignoreOldMouseEvents.java -- Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.TextComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.BorderLayout; import java.awt.Event; import java.awt.Frame; import java.awt.Point; import java.awt.Robot; import java.awt.TextArea; import java.awt.TextComponent; import java.awt.TextField; import java.awt.event.InputEvent; public class ignoreOldMouseEvents extends Frame implements Testlet { TextField a; TextArea b; TestHarness harness; boolean mouseUp = false; boolean mouseDown = false; boolean mouseEnter = false; boolean mouseExit = false; public void test(TestHarness harness) { this.harness = harness; a = new TextField(5); b = new TextArea(10, 10); add(a, BorderLayout.EAST); add(b, BorderLayout.WEST); setSize(200,200); show(); testOldMouseEvents(); } public void testOldMouseEvents() { Robot r = harness.createRobot(); r.waitForIdle (); Point aLocScreen = a.getLocationOnScreen(); Point aMiddle = new Point(aLocScreen.x + a.getWidth()/2, aLocScreen.y + a.getHeight()/2) ; r.mouseMove(aMiddle.x, aMiddle.y); r.delay (1000); harness.check(!mouseEnter); mouseEnter = false; r.mousePress(InputEvent.BUTTON1_MASK); r.delay (1000); harness.check(!mouseDown); mouseDown = false; r.mouseRelease(InputEvent.BUTTON1_MASK); r.delay (1000); harness.check(!mouseUp); mouseUp = false; Point bLocScreen = b.getLocationOnScreen(); Point bMiddle = new Point(bLocScreen.x + b.getWidth()/2, bLocScreen.y + b.getHeight()/2) ; r.mouseMove(bMiddle.x, bMiddle.y); r.delay (1000); harness.check(!mouseExit); harness.check(!mouseEnter); mouseEnter = false; mouseExit = false; r.mousePress(InputEvent.BUTTON1_MASK); r.delay (1000); harness.check(!mouseDown); mouseDown = false; r.mouseRelease(InputEvent.BUTTON1_MASK); r.delay (1000); harness.check(!mouseUp); mouseUp = false; r.mouseMove(bMiddle.x*2, bMiddle.y*2); r.delay (1000); harness.check(!mouseExit); mouseExit = false; } public boolean mouseDown(Event evt, int x, int y) { if (evt.arg instanceof TextComponent) mouseDown = true; return false; } public boolean mouseUp(Event evt, int x, int y) { if (evt.arg instanceof TextComponent) mouseUp = true; return false; } public boolean mouseExit(Event evt, int x, int y) { if (evt.arg instanceof TextComponent) mouseExit = true; return false; } public boolean mouseEnter(Event evt, int x, int y) { if (evt.arg instanceof TextComponent) mouseEnter = true; return false; } } mauve-20140821/gnu/testlet/java/awt/TextComponent/setSelectionStart.java0000644000175000001440000000416310523713531025073 0ustar dokousers/* setSelectionStart.java Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.1 package gnu.testlet.java.awt.TextComponent; import java.awt.TextComponent; import java.awt.TextField; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class setSelectionStart implements Testlet { public void test(TestHarness harness) { TextComponent textComp = new TextField(); // Check that default value is correct. harness.check(textComp.getSelectionStart(), 0); harness.check(textComp.getSelectionEnd(), 0); // Check behaviour when setting text. textComp.setText("This is some text."); harness.check(textComp.getSelectionStart(), 0); harness.check(textComp.getSelectionEnd(), 0); // Check behaviour when start < 0. textComp.setSelectionStart(-6); harness.check(textComp.getSelectionStart(), 0); harness.check(textComp.getSelectionEnd(), 0); // Check behaviour when start = end textComp.setSelectionStart(0); harness.check(textComp.getSelectionStart(), 0); harness.check(textComp.getSelectionEnd(), 0); // Check behaviour when start > end textComp.setSelectionStart(13); harness.check(textComp.getSelectionStart(), 13); harness.check(textComp.getSelectionEnd(), 13); // Check behaviour when start < end textComp.setSelectionStart(9); harness.check(textComp.getSelectionStart(), 9); harness.check(textComp.getSelectionEnd(), 13); } } mauve-20140821/gnu/testlet/java/awt/Container/0000755000175000001440000000000012375316426017671 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/Container/getAlignmentY.java0000644000175000001440000000323010334123313023261 0ustar dokousers// Tags: JDK1.1 // Uses: TestLayout // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Container; import java.awt.Container; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Checks if the getAlignmentY property works correctly. * * @author Roman Kennke (kennke@aicas.com) */ public class getAlignmentY implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testWithLayout(harness); } /** * Checks if the method refers to the layout managers layoutAlignmentY * property. * * @param harness the test harness to use */ private void testWithLayout(TestHarness harness) { Container c = new Container(); TestLayout l = new TestLayout(); c.setLayout(l); l.alignmentY = 0.3F; harness.check(c.getAlignmentY(), 0.3F); l.alignmentY = 0.6F; harness.check(c.getAlignmentY(), 0.6F); } } mauve-20140821/gnu/testlet/java/awt/Container/applyComponentOrientation.java0000644000175000001440000001217410450176177025764 0ustar dokousers/* applyComponentOrientation.java -- some checks for the applyComponentOrientation() method in the Container class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.awt.Container; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.ComponentOrientation; import java.awt.Container; import java.awt.Label; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; public class applyComponentOrientation implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } public void test(TestHarness harness) { Container c = new Container(); Label l1 = new Label("ABC"); Container c1 = new Container(); Label l2 = new Label("DEF"); Container c2 = new Container(); Label l3 = new Label("GHI"); c.add(l1); c.add(c1); c1.add(l2); c1.add(c2); c2.add(l3); harness.check(c.getComponentOrientation(), ComponentOrientation.UNKNOWN); harness.check(c1.getComponentOrientation(), ComponentOrientation.UNKNOWN); harness.check(c2.getComponentOrientation(), ComponentOrientation.UNKNOWN); harness.check(l1.getComponentOrientation(), ComponentOrientation.UNKNOWN); harness.check(l2.getComponentOrientation(), ComponentOrientation.UNKNOWN); harness.check(l3.getComponentOrientation(), ComponentOrientation.UNKNOWN); c.addPropertyChangeListener(this); c1.addPropertyChangeListener(this); c2.addPropertyChangeListener(this); l1.addPropertyChangeListener(this); l2.addPropertyChangeListener(this); l3.addPropertyChangeListener(this); c.applyComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT); harness.check(c.getComponentOrientation(), ComponentOrientation.LEFT_TO_RIGHT); harness.check(c1.getComponentOrientation(), ComponentOrientation.LEFT_TO_RIGHT); harness.check(c2.getComponentOrientation(), ComponentOrientation.LEFT_TO_RIGHT); harness.check(l1.getComponentOrientation(), ComponentOrientation.LEFT_TO_RIGHT); harness.check(l2.getComponentOrientation(), ComponentOrientation.LEFT_TO_RIGHT); harness.check(l3.getComponentOrientation(), ComponentOrientation.LEFT_TO_RIGHT); harness.check(events.size(), 6); PropertyChangeEvent e0 = (PropertyChangeEvent) events.get(0); harness.check(e0.getSource(), c); harness.check(e0.getPropertyName(), "componentOrientation"); harness.check(e0.getOldValue(), ComponentOrientation.UNKNOWN); harness.check(e0.getNewValue(), ComponentOrientation.LEFT_TO_RIGHT); PropertyChangeEvent e1 = (PropertyChangeEvent) events.get(1); harness.check(e1.getSource(), l1); harness.check(e1.getPropertyName(), "componentOrientation"); harness.check(e1.getOldValue(), ComponentOrientation.UNKNOWN); harness.check(e1.getNewValue(), ComponentOrientation.LEFT_TO_RIGHT); PropertyChangeEvent e2 = (PropertyChangeEvent) events.get(2); harness.check(e2.getSource(), c1); harness.check(e2.getPropertyName(), "componentOrientation"); harness.check(e2.getOldValue(), ComponentOrientation.UNKNOWN); harness.check(e2.getNewValue(), ComponentOrientation.LEFT_TO_RIGHT); PropertyChangeEvent e3 = (PropertyChangeEvent) events.get(3); harness.check(e3.getSource(), l2); harness.check(e3.getPropertyName(), "componentOrientation"); harness.check(e3.getOldValue(), ComponentOrientation.UNKNOWN); harness.check(e3.getNewValue(), ComponentOrientation.LEFT_TO_RIGHT); PropertyChangeEvent e4 = (PropertyChangeEvent) events.get(4); harness.check(e4.getSource(), c2); harness.check(e4.getPropertyName(), "componentOrientation"); harness.check(e4.getOldValue(), ComponentOrientation.UNKNOWN); harness.check(e4.getNewValue(), ComponentOrientation.LEFT_TO_RIGHT); PropertyChangeEvent e5 = (PropertyChangeEvent) events.get(5); harness.check(e5.getSource(), l3); harness.check(e5.getPropertyName(), "componentOrientation"); harness.check(e5.getOldValue(), ComponentOrientation.UNKNOWN); harness.check(e5.getNewValue(), ComponentOrientation.LEFT_TO_RIGHT); // try null boolean pass = false; try { c.applyComponentOrientation(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/Container/TestLayout.java0000644000175000001440000000340410334123313022632 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Container; import java.awt.Component; import java.awt.Container; import java.awt.Dimension; import java.awt.LayoutManager2; public class TestLayout implements LayoutManager2 { float alignmentX = 0.0F; float alignmentY = 0.0F; public void addLayoutComponent(Component component, Object constraints) { } public Dimension maximumLayoutSize(Container target) { return null; } public float getLayoutAlignmentX(Container target) { return alignmentX; } public float getLayoutAlignmentY(Container target) { return alignmentY; } public void invalidateLayout(Container target) { } public void addLayoutComponent(String name, Component component) { } public void removeLayoutComponent(Component component) { } public Dimension preferredLayoutSize(Container parent) { return null; } public Dimension minimumLayoutSize(Container parent) { return null; } public void layoutContainer(Container parent) { } } mauve-20140821/gnu/testlet/java/awt/Container/PR34078.java0000644000175000001440000000244310733552430021457 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2007 Andrew John Hughes (gnu_andrew@member.fsf.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Container; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Container; /** * This checks for the bug found in PR34078, namely that * the container itself is not classed as its own ancestor. * * @author Andrew John Hughes (gnu_andrew@member.fsf.org) */ public class PR34078 implements Testlet { public void test(TestHarness harness) { Container c = new Container(); harness.check(c.isAncestorOf(c), false, "Container is not its own ancestor"); } } mauve-20140821/gnu/testlet/java/awt/Container/getComponentAt.java0000644000175000001440000000341411642275422023461 0ustar dokousers/* getComponentAt.java -- Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package gnu.testlet.java.awt.Container; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Frame; import java.awt.List; import java.awt.Panel; import java.awt.Point; import java.awt.Robot; import java.awt.TextArea; public class getComponentAt implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { Frame f = new Frame(); List l = new List(10); TextArea t = new TextArea(10, 10); f.setSize(300, 300); t.setBounds(10, 10, 100, 100); l.setBounds(0, 0, 100, 100); t.setVisible(true); l.setVisible(false); f.add(l); f.add(t); f.show(); Robot r = harness.createRobot(); r.waitForIdle(); r.delay(1000); Point po = l.getLocation(); harness.check(t.isVisible(), true); harness.check(f.isVisible(), true); harness.check(l.isVisible(), false); harness.check(f.getComponentAt(po.x, po.y) == l); // time to clean up f.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Container/LightweightContainer.java0000644000175000001440000001444311667163474024672 0ustar dokousers/* LightweightContainer.java -- Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK 1.4 package gnu.testlet.java.awt.Container; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; public class LightweightContainer implements Testlet { public void test (TestHarness harness) { testLoc(harness); testLoc2(harness); testWindow(harness); } // Tests a Window containing a Frame and a Lightweight Container public void testWindow(TestHarness harness) { Robot r = harness.createRobot(); Frame f = new Frame(); testContainer tc = new testContainer(); f.setSize(500, 500); tc.setBounds(0, 0, 500, 500); f.add(tc); f.show(); // There is a delay to avoid any race conditions. r.waitForIdle(); r.delay(1000); // bounds of red rectangle (1 pixel wide border) Rectangle bounds = tc.getBounds(); Point loc = f.getLocationOnScreen(); Insets i = f.getInsets(); bounds.x = loc.x + i.left; bounds.y = loc.y + i.top; // bounds of blue rectangle inside red rectangle Rectangle bounds2 = new Rectangle(bounds.x + 1, bounds.y + 1, bounds.width - 2, bounds.height - 2); LocationTests.checkRectangleOuterColors(harness, r, bounds2, Color.red, true); LocationTests.checkRectangleCornerColors(harness, r, bounds2, Color.red, false); // There is a delay so the tester can see the result. r.waitForIdle(); r.delay(3000); // frame is no longer needed and should be disposed f.dispose(); } // Tests the location of a Lightweight Container containing // a heavyweight component, which is also in a heavyweight public void testLoc(TestHarness harness) { Robot r = harness.createRobot(); Color bgHW_c = Color.red; Color fgHW_c = Color.blue; testPanel bgHW = new testPanel(bgHW_c); Container fgLW = new Container(); testPanel fgHW = new testPanel(fgHW_c); Frame f = new Frame(); int bgHW_x = 0; int bgHW_y = 0; int bgHW_w = 500; int bgHW_h = 500; int fgLW_x = 50; int fgLW_y = 60; int fgLW_w = 200; int fgLW_h = 200; int fgHW_x = 70; int fgHW_y = 40; int fgHW_w = 100; int fgHW_h = 100; f.setSize(500, 500); bgHW.setBounds(bgHW_x, bgHW_y, bgHW_w, bgHW_h); fgLW.setBounds(fgLW_x, fgLW_y, fgLW_w, fgLW_h); fgHW.setBounds(fgHW_x, fgHW_y, fgHW_w, fgHW_h); f.add(bgHW); bgHW.add(fgLW); fgLW.add(fgHW); f.show(); // There is a delay to avoid any race conditions. r.waitForIdle(); r.delay(1000); Insets i = f.getInsets(); // check the two pixels adjacent to each corner of the fgHW Point p = f.getLocationOnScreen(); fgHW_x = p.x + i.left + fgHW_x + fgLW_x; fgHW_y = p.y + i.top + fgHW_y + fgLW_y; Rectangle b = new Rectangle(fgHW_x, fgHW_y, fgHW_w, fgHW_h); LocationTests.checkRectangleOuterColors(harness, r, b, bgHW_c, true); // check the fgHW's corner pixels. LocationTests.checkRectangleCornerColors(harness, r, b, fgHW_c, true); LocationTests.checkRectangleCornerColors(harness, r, b, bgHW_c, false); // check the two pixels adjacent to each corner of the fgLW p = f.getLocationOnScreen(); fgLW_x = p.x + i.left + fgLW_x; fgLW_y = p.y + i.top + fgLW_y; LocationTests.checkRectangleOuterColors(harness, r, new Rectangle(fgLW_x, fgLW_y, fgLW_w, fgLW_h), bgHW_c, true); // There is a delay so the tester can see the result. r.waitForIdle(); r.delay(3000); // frame is no longer needed and should be disposed f.dispose(); } // Tests the location of a Lightweight Container next to // a heavyweight panel, both in a frame. public void testLoc2(TestHarness harness) { Robot r = harness.createRobot(); Frame f = new Frame(); f.setLayout(null); f.setBackground(Color.green); testContainer tc = new testContainer(); f.add(tc); f.setSize(500, 500); tc.setBounds(100, 0, 200, 200); testPanel p = new testPanel(Color.yellow); tc.add(p); p.setBounds(10, 10, 50, 50); f.show(); // There is a delay to avoid any race conditions. r.waitForIdle(); r.delay(1000); Point pt = p.getLocationOnScreen(); tc.move(150, 50); r.delay(1000); Point pt2 = p.getLocationOnScreen(); harness.check(pt2.x, (pt.x + 50)); harness.check(pt2.y, (pt.y + 50)); // There is a delay so the tester can see the result. r.waitForIdle(); r.delay(3000); // frame is no longer needed and should be disposed f.dispose(); } class testPanel extends Panel { Color c; public testPanel(Color c) { super(null); this.c = c; } public void paint(Graphics g) { Rectangle bounds = new Rectangle(0, 0, this.getSize().width, this.getSize().height); g.setColor(c); g.fillRect(bounds.x, bounds.y, bounds.width, bounds.height); } } class testContainer extends Container { public testContainer() { super(); } public void paint(Graphics g) { Rectangle bounds = new Rectangle(0, 0, this.getSize().width, this.getSize().height); g.setColor(Color.red); g.drawRect(bounds.x, bounds.y, bounds.width - 1, bounds.height - 1); g.setColor(Color.blue); g.fillRect(bounds.x + 1, bounds.y + 1, bounds.width - 2, bounds.height - 2); } } } mauve-20140821/gnu/testlet/java/awt/Container/addImpl.java0000644000175000001440000001426211672141663022111 0ustar dokousers// Tags: JDK1.5 // Uses: DisabledEventQueue // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Container; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Component; import java.awt.Container; import java.awt.Dimension; import java.awt.Frame; import java.awt.Label; import java.awt.LayoutManager; import java.awt.Panel; import java.awt.Toolkit; import java.awt.event.ContainerEvent; import java.awt.event.ContainerListener; /** * This checks tests if the addImpl method notfies container listeners when * a container is not showing and if the notification is sent over the event * queue or delivered directly. The test shows that the event is also sent when * the container is not showing and that the event is delivered directly. * * @author Roman Kennke (kennke@aicas.com) */ public class addImpl implements Testlet { /** * A container listener for test. * * @author Roman Kennke (kennke@aicas.com) */ class TestContainerListener implements ContainerListener { /** * Receives notification when a component was added to the container. * * @param event the container event */ public void componentAdded(ContainerEvent event) { componentAddedCalled = true; } /** * Receives notification when a component was removed from the container. * * @param event the container event */ public void componentRemoved(ContainerEvent event) { // TODO Auto-generated method stub } } /** * True when the componentAdded method in the container listener was called. */ boolean componentAddedCalled; /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { // We disable the event queue so we can check if this event is delivered // via the event queue or not. Toolkit.getDefaultToolkit().getSystemEventQueue().push(new DisabledEventQueue()); final TestHarness transfer = harness; Container c = new Container() { TestHarness harness = transfer; public void repaint(long tm, int x, int y, int w, int h) { harness.fail("repaint has been called."); } }; c.addContainerListener(new TestContainerListener()); // Pre-condition check. harness.check(c.isShowing(), false); componentAddedCalled = false; Component a = new Component() { TestHarness harness = transfer; public void repaint(long tm, int x, int y, int w, int h) { harness.fail("repaint has been called."); } }; Component b = new Component() { TestHarness harness = transfer; public void repaint(long tm, int x, int y, int w, int h) { harness.fail("repaint has been called."); } }; c.add(a); harness.check(componentAddedCalled, true); // check that LayoutManager.addLayoutComponent() is called // with non-null name. Container two = new Container() { TestHarness harness = transfer; public void repaint(long tm, int x, int y, int w, int h) { harness.fail("repaint has been called."); } }; two.setLayout(new LayoutManager() { TestHarness harness = transfer; Dimension size = new Dimension(); public void removeLayoutComponent(Component comp) { } public java.awt.Dimension preferredLayoutSize(Container cont) { return size; } public Dimension minimumLayoutSize(Container cont) { return size; } public void layoutContainer(Container container) { } public void addLayoutComponent(String name, Component comp) { boolean pass = (name != null); harness.check(pass, true); } }); harness.check(two.isShowing(), false); componentAddedCalled = false; two.addContainerListener(new TestContainerListener()); two.add(b); harness.check(componentAddedCalled, true); } public void test2(TestHarness harness) { final TestHarness transfer = harness; Frame f = new Frame() { TestHarness harness = transfer; public void repaint(long tm, int x, int y, int w, int h) { harness.fail("repaint has been called."); } }; Panel a = new Panel() { TestHarness harness = transfer; public void repaint(long tm, int x, int y, int w, int h) { harness.fail("repaint has been called."); } }; Label l = new Label("!!!!!") { TestHarness harness = transfer; public void repaint(long tm, int x, int y, int w, int h) { harness.fail("repaint has been called."); } }; Container c = new Container() { TestHarness harness = transfer; public void repaint(long tm, int x, int y, int w, int h) { harness.fail("repaint has been called."); } }; a.add(c); a.add(l); c.setSize(100,100); f.add(a); f.pack(); f.show(); harness.check(a.isShowing(), true); harness.check(c.isShowing(), true); harness.check(l.isShowing(), true); harness.check(f.isShowing(), true); harness.check(c.isLightweight(), true); harness.check(a.isLightweight(), false); harness.check(l.isLightweight(), false); // clean up the frame from desktop f.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Container/getPreferredSize.java0000644000175000001440000000635710367502142024007 0ustar dokousers/* getPreferredSize.java -- Tests the getPreferredSize() method Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.1 package gnu.testlet.java.awt.Container; import java.awt.Component; import java.awt.Container; import java.awt.Dimension; import java.awt.LayoutManager2; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests the getPreferredSize method. * * @author Roman Kennke (kennke@aicas.com) */ public class getPreferredSize implements Testlet { /** * Indicates if invalideLayout has been called on the layout manager or * not. */ boolean invalidateCalled; /** * A layout manager used for testing. * * @author Roman Kennke (kennke@aicas.com) */ class TestLM implements LayoutManager2 { public void addLayoutComponent(Component component, Object constraints) { // Nothing to do here. } public Dimension maximumLayoutSize(Container target) { // Nothing to do here. return null; } public float getLayoutAlignmentX(Container target) { // Nothing to do here. return 0; } public float getLayoutAlignmentY(Container target) { // Nothing to do here. return 0; } public void invalidateLayout(Container target) { invalidateCalled = true; } public void addLayoutComponent(String name, Component component) { // Nothing to do here. } public void removeLayoutComponent(Component component) { // Nothing to do here. } public Dimension preferredLayoutSize(Container parent) { return new Dimension(100, 100); } public Dimension minimumLayoutSize(Container parent) { // Nothing to do here. return null; } public void layoutContainer(Container parent) { // Nothing to do here. } } /** * The entry point into the test. */ public void test(TestHarness harness) { testInvalid(harness); } /** * Tests if the container should call invalidateLayout() before asking the * preferredSize from a layout manager. The background is that in theory * this could lead to wrong value for preferredSize, when a layout manager * caches the preferredSize. * * @param harness the test harness to use */ private void testInvalid(TestHarness harness) { Container c = new Container(); LayoutManager2 lm = new TestLM(); c.setLayout(lm); c.invalidate(); invalidateCalled = false; c.getPreferredSize(); c.getPreferredSize(); harness.check(invalidateCalled, false); } } mauve-20140821/gnu/testlet/java/awt/Container/getListeners.java0000644000175000001440000000512410544512702023175 0ustar dokousers// Tags: JDK1.3 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.Container; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Component; import java.awt.Container; import java.awt.event.ContainerEvent; import java.awt.event.ContainerListener; import java.awt.event.FocusListener; import java.util.EventListener; /** * Some tests for the getListeners(Class) method in the * {@link Component} class. */ public class getListeners implements Testlet, ContainerListener { class TestContainer extends Container { } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TestContainer c = new TestContainer(); c.addContainerListener(this); EventListener[] listeners = c.getListeners(ContainerListener.class); harness.check(listeners.length, 1); harness.check(listeners[0], this); // try a listener type that isn't registered listeners = c.getListeners(FocusListener.class); harness.check(listeners.length, 0); c.removeContainerListener(this); listeners = c.getListeners(ContainerListener.class); harness.check(listeners.length, 0); // try a null argument boolean pass = false; try { listeners = c.getListeners(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); /* Doesn't compile with 1.5 // try a class that isn't a listener pass = false; try { listeners = c.getListeners(Integer.class); } catch (ClassCastException e) { pass = true; } harness.check(pass); */ } public void componentAdded(ContainerEvent e) { // ignored } public void componentRemoved(ContainerEvent e) { // ignored } } mauve-20140821/gnu/testlet/java/awt/Container/setLayout.java0000644000175000001440000000443711642275422022531 0ustar dokousers/* setLayout.java -- Checks how setLayout is supposed to work Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.1 package gnu.testlet.java.awt.Container; import java.awt.Container; import java.awt.FlowLayout; import java.awt.Frame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class setLayout implements Testlet { private boolean invalidated; private class TestContainer extends Container { public void invalidate() { super.invalidate(); invalidated = true; } } public void test(TestHarness harness) { testInvalidate(harness); } private void testInvalidate(TestHarness h) { h.checkPoint("invalidate"); TestContainer c = new TestContainer(); // Test not showing. // Valid components get invalidated. c.validate(); h.check(! c.isValid()); invalidated = false; c.setLayout(new FlowLayout()); h.check(! invalidated); // Invalid components don't get invalidated. h.check(!c.isValid()); invalidated = false; c.setLayout(new FlowLayout()); h.check(! invalidated); // Test showing. Frame f = new Frame(); f.add(c); f.setSize(100, 100); f.setVisible(true); h.check(c.isShowing()); // Valid components get invalidated. c.validate(); h.check(c.isValid()); invalidated = false; c.setLayout(new FlowLayout()); h.check(invalidated); // Invalid components don't get invalidated. h.check(!c.isValid()); invalidated = false; c.setLayout(new FlowLayout()); h.check(! invalidated); // time to clean up f.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Container/DisabledEventQueue.java0000644000175000001440000000253710332154126024245 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Container; import java.awt.AWTEvent; import java.awt.EventQueue; /** * A special EventQueue used for testing purposes. It completely disables * dispatching of events, so the behaviour of the RepaintManager can be * examined more closely. * * @author Roman Kennke (kennke@aicas.com) */ public class DisabledEventQueue extends EventQueue { /** * Overridden to do nothing. */ protected void dispatchEvent(AWTEvent ev) { // Do nothing. } /** * Overridden to do nothing. */ public void postEvent(AWTEvent ev) { // Do nothing. } } mauve-20140821/gnu/testlet/java/awt/Container/getAlignmentX.java0000644000175000001440000000323010334123313023260 0ustar dokousers// Tags: JDK1.1 // Uses: TestLayout // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Container; import java.awt.Container; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Checks if the getAlignmentX property works correctly. * * @author Roman Kennke (kennke@aicas.com) */ public class getAlignmentX implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testWithLayout(harness); } /** * Checks if the method refers to the layout managers layoutAlignmentX * property. * * @param harness the test harness to use */ private void testWithLayout(TestHarness harness) { Container c = new Container(); TestLayout l = new TestLayout(); c.setLayout(l); l.alignmentX = 0.3F; harness.check(c.getAlignmentX(), 0.3F); l.alignmentX = 0.6F; harness.check(c.getAlignmentX(), 0.6F); } } mauve-20140821/gnu/testlet/java/awt/AWTKeyStroke/0000755000175000001440000000000012375316426020243 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/AWTKeyStroke/serialization.java0000644000175000001440000000415710144111055023751 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.AWTKeyStroke; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.AWTKeyStroke; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectInput; import java.io.ObjectInputStream; import java.io.ObjectOutput; import java.io.ObjectOutputStream; /** * Some checks for serialization of the {@link AWTKeyStroke} class. */ public class serialization implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { AWTKeyStroke ks1 = AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_ENTER, InputEvent.CTRL_DOWN_MASK | InputEvent.SHIFT_DOWN_MASK, true); AWTKeyStroke ks2 = null; try { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); ObjectOutput out = new ObjectOutputStream(buffer); out.writeObject(ks1); out.close(); ObjectInput in = new ObjectInputStream( new ByteArrayInputStream(buffer.toByteArray()) ); ks2 = (AWTKeyStroke) in.readObject(); in.close(); } catch (Exception e) { harness.debug(e); } harness.check(ks1.equals(ks2)); } } mauve-20140821/gnu/testlet/java/awt/AWTKeyStroke/equals.java0000644000175000001440000000452210144111055022362 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 David Gilbert (david.gilbert@object-refinery.com) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.AWTKeyStroke; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.AWTKeyStroke; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; /** * Some checks for the equals() method. */ public class equals implements Testlet { /** * Some checks for the equals() method. */ public void test(TestHarness harness) { AWTKeyStroke ks1 = AWTKeyStroke.getAWTKeyStroke('A'); AWTKeyStroke ks2 = AWTKeyStroke.getAWTKeyStroke('A'); harness.check(ks1.equals(ks2)); harness.check(!ks1.equals(null)); harness.check(!ks1.equals(new Integer(42))); ks1 = AWTKeyStroke.getAWTKeyStroke('a'); harness.check(!ks1.equals(ks2)); ks2 = AWTKeyStroke.getAWTKeyStroke('a'); harness.check(ks1.equals(ks2)); ks1 = AWTKeyStroke.getAWTKeyStroke(new Character('a'), InputEvent.SHIFT_DOWN_MASK); harness.check(!ks1.equals(ks2)); ks2 = AWTKeyStroke.getAWTKeyStroke(new Character('a'), InputEvent.SHIFT_DOWN_MASK); harness.check(ks1.equals(ks2)); ks1 = AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_A, InputEvent.SHIFT_DOWN_MASK, false); harness.check(!ks1.equals(ks2)); ks2 = AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_A, InputEvent.SHIFT_DOWN_MASK, false); harness.check(ks1.equals(ks2)); ks1 = AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_A, InputEvent.SHIFT_DOWN_MASK, true); harness.check(!ks1.equals(ks2)); ks2 = AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_A, InputEvent.SHIFT_DOWN_MASK, true); harness.check(ks1.equals(ks2)); } }mauve-20140821/gnu/testlet/java/awt/AWTKeyStroke/getAWTKeyStroke.java0000644000175000001440000001303510301761434024072 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 David Gilbert (david.gilbert@object-refinery.com) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.AWTKeyStroke; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.AWTKeyStroke; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; /** * Some checks for the getAWTKeyStroke() methods. */ public class getAWTKeyStroke implements Testlet { /** * Confirm that two lines with the same end points are NOT considered equal. */ public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); testMethod3(harness); testMethod4(harness); testMethod5(harness); } private void testMethod1(TestHarness harness) { harness.checkPoint("(char)"); AWTKeyStroke ks = AWTKeyStroke.getAWTKeyStroke('s'); harness.check(ks.getKeyEventType(), KeyEvent.KEY_TYPED); harness.check(ks.getKeyChar(), 's'); harness.check(ks.getModifiers(), 0); harness.check(ks.isOnKeyRelease(), false); } private void testMethod2(TestHarness harness) { harness.checkPoint("(Character, int)"); AWTKeyStroke ks = AWTKeyStroke.getAWTKeyStroke(new Character('s'), InputEvent.CTRL_DOWN_MASK | InputEvent.SHIFT_DOWN_MASK); harness.check(ks.getKeyEventType(), KeyEvent.KEY_TYPED); harness.check(ks.getKeyChar(), 's'); harness.check(ks.getModifiers(), InputEvent.CTRL_DOWN_MASK | InputEvent.SHIFT_DOWN_MASK | InputEvent.CTRL_MASK | InputEvent.SHIFT_MASK); harness.check(ks.isOnKeyRelease(), false); // check for IllegalArgumentException for null argument try { ks = AWTKeyStroke.getAWTKeyStroke(null, 0); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } private void testMethod3(TestHarness harness) { harness.checkPoint("(int, int)"); AWTKeyStroke ks = AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_ENTER, InputEvent.CTRL_DOWN_MASK | InputEvent.SHIFT_DOWN_MASK); harness.check(ks.getKeyEventType(), KeyEvent.KEY_PRESSED); harness.check(ks.getKeyChar(), KeyEvent.CHAR_UNDEFINED); harness.check(ks.getModifiers(), InputEvent.CTRL_DOWN_MASK | InputEvent.SHIFT_DOWN_MASK | InputEvent.CTRL_MASK | InputEvent.SHIFT_MASK); harness.check(ks.isOnKeyRelease(), false); } private void testMethod4(TestHarness harness) { harness.checkPoint("(int, int, boolean)"); AWTKeyStroke ks = AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_ENTER, InputEvent.CTRL_DOWN_MASK | InputEvent.SHIFT_DOWN_MASK, true); harness.check(ks.getKeyEventType(), KeyEvent.KEY_RELEASED); harness.check(ks.getKeyChar(), KeyEvent.CHAR_UNDEFINED); harness.check(ks.getModifiers(), InputEvent.CTRL_DOWN_MASK | InputEvent.SHIFT_DOWN_MASK | InputEvent.CTRL_MASK | InputEvent.SHIFT_MASK); harness.check(ks.isOnKeyRelease(), true); } private void testMethod5(TestHarness harness) { harness.checkPoint("(String)"); AWTKeyStroke ks = AWTKeyStroke.getAWTKeyStroke("INSERT"); AWTKeyStroke expected = AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_INSERT, 0); harness.check(ks, expected); ks = AWTKeyStroke.getAWTKeyStroke("control DELETE"); expected = AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_DELETE, InputEvent.CTRL_DOWN_MASK); harness.check(ks, expected); expected = AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_DELETE, InputEvent.CTRL_MASK); harness.check(ks, expected); ks = AWTKeyStroke.getAWTKeyStroke("alt shift X"); expected = AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_X, InputEvent.ALT_DOWN_MASK | InputEvent.SHIFT_DOWN_MASK); harness.check(ks, expected); expected = AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_X, InputEvent.ALT_MASK | InputEvent.SHIFT_MASK); harness.check(ks, expected); ks = AWTKeyStroke.getAWTKeyStroke("alt shift released X"); expected = AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_X, InputEvent.ALT_DOWN_MASK | InputEvent.SHIFT_DOWN_MASK, true); harness.check(ks, expected); expected = AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_X, InputEvent.ALT_MASK | InputEvent.SHIFT_MASK, true); harness.check(ks, expected); ks = AWTKeyStroke.getAWTKeyStroke("typed a"); expected = AWTKeyStroke.getAWTKeyStroke('a'); harness.check(ks, expected); // check for IllegalArgumentException for null argument harness.checkPoint("null (String) argument"); try { ks = AWTKeyStroke.getAWTKeyStroke(null); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } catch (Throwable e) { harness.check(false); } // check for IllegalArgumentException for bad string harness.checkPoint("bad string"); try { ks = AWTKeyStroke.getAWTKeyStroke("bad"); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/awt/BorderLayout/0000755000175000001440000000000012375316426020362 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/BorderLayout/constructors.java0000644000175000001440000000366410260266527024003 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.BorderLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.BorderLayout; /** * Some checks for the constructors in the {@link BorderLayout} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); } private void testConstructor1(TestHarness harness) { harness.checkPoint("()"); BorderLayout l = new BorderLayout(); harness.check(l.getHgap(), 0); } private void testConstructor2(TestHarness harness) { harness.checkPoint("(int, int)"); BorderLayout l = new BorderLayout(1, 2); harness.check(l.getHgap(), 1); harness.check(l.getVgap(), 2); // try negative arguments l = new BorderLayout(-1, 2); harness.check(l.getHgap(), -1); harness.check(l.getVgap(), 2); l = new BorderLayout(1, -1); harness.check(l.getHgap(), 1); harness.check(l.getVgap(), -1); } } mauve-20140821/gnu/testlet/java/awt/BorderLayout/getHgap.java0000644000175000001440000000262710260266527022610 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.BorderLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.BorderLayout; /** * Some checks for the getHgap() method in the {@link BorderLayout} class. */ public class getHgap implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BorderLayout b = new BorderLayout(); b.setHgap(99); harness.check(b.getHgap(), 99); b.setHgap(-99); harness.check(b.getHgap(), -99); } } mauve-20140821/gnu/testlet/java/awt/BorderLayout/setVgap.java0000644000175000001440000000265511670146674022651 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.BorderLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.BorderLayout; /** * Some checks for the {@link BorderLayout#setVgap()} method in the {@link BorderLayout} class. */ public class setVgap implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BorderLayout b = new BorderLayout(); b.setVgap(99); harness.check(b.getVgap(), 99); b.setVgap(-99); harness.check(b.getVgap(), -99); } } mauve-20140821/gnu/testlet/java/awt/BorderLayout/removeLayoutComponent.java0000644000175000001440000001036711663724606025614 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.BorderLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.BorderLayout; import java.awt.Component; import java.awt.Canvas; import java.awt.Button; import java.awt.Panel; /** * Check for the functionality of method BorderLayout.removeLayoutComponent */ public class removeLayoutComponent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testButton(harness); testCanvas(harness); } /** * Test the method BorderLayout.removeLayoutComponent for a Button widget. * * @param harness the test harness (null not permitted). */ private void testButton(TestHarness harness) { harness.checkPoint("removeLayoutComponent(Button)"); BorderLayout layout = new BorderLayout(); Button component = new Button(); // Check the add/remove component method using all possible constraints. checkAllPossibleConstraints(harness, layout, component); } /** * Test the method BorderLayout.removeLayoutComponent for a Canvas widget. * * @param harness the test harness (null not permitted). */ private void testCanvas(TestHarness harness) { harness.checkPoint("removeLayoutComponent(Canvas)"); BorderLayout layout = new BorderLayout(); Canvas component = new Canvas(); // Check the add/remove component method using all possible constraints. checkAllPossibleConstraints(harness, layout, component); } /** * Check the add/remove component method using all possible constraints. * * @param harness the test harness (null not permitted). * @param layout instance of BorderLayout manager * @param component selected component */ private void checkAllPossibleConstraints(TestHarness harness, BorderLayout layout, Component component) { checkAddRemove(harness, layout, component, BorderLayout.NORTH); checkAddRemove(harness, layout, component, BorderLayout.WEST); checkAddRemove(harness, layout, component, BorderLayout.SOUTH); checkAddRemove(harness, layout, component, BorderLayout.EAST); checkAddRemove(harness, layout, component, BorderLayout.PAGE_END); checkAddRemove(harness, layout, component, BorderLayout.PAGE_START); checkAddRemove(harness, layout, component, BorderLayout.LINE_END); checkAddRemove(harness, layout, component, BorderLayout.LINE_START); checkAddRemove(harness, layout, component, BorderLayout.AFTER_LAST_LINE); checkAddRemove(harness, layout, component, BorderLayout.AFTER_LINE_ENDS); checkAddRemove(harness, layout, component, BorderLayout.BEFORE_FIRST_LINE); checkAddRemove(harness, layout, component, BorderLayout.BEFORE_LINE_BEGINS); } /** * Add specified component to the layout manager and then remove this component. * * @param harness the test harness (null not permitted). * @param layout instance of BorderLayout manager * @param component selected component * @param constraints layout constraint */ private void checkAddRemove(TestHarness harness, BorderLayout layout, Component component, String constraints) { try { layout.addLayoutComponent(component, constraints); } catch (IllegalArgumentException e) { harness.fail(e.getMessage()); } layout.removeLayoutComponent(component); } } mauve-20140821/gnu/testlet/java/awt/BorderLayout/constants.java0000644000175000001440000000410310260266527023234 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.BorderLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.BorderLayout; /** * Some checks for the constants defined by the {@link BorderLayout} class. */ public class constants implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.check(BorderLayout.AFTER_LAST_LINE.equals(BorderLayout.PAGE_END)); harness.check(BorderLayout.AFTER_LINE_ENDS.equals(BorderLayout.LINE_END)); harness.check(BorderLayout.BEFORE_FIRST_LINE.equals(BorderLayout.PAGE_START)); harness.check(BorderLayout.BEFORE_LINE_BEGINS.equals(BorderLayout.LINE_START)); harness.check(BorderLayout.CENTER.equals("Center")); harness.check(BorderLayout.EAST.equals("East")); harness.check(BorderLayout.LINE_END.equals("After")); harness.check(BorderLayout.LINE_START.equals("Before")); harness.check(BorderLayout.NORTH.equals("North")); harness.check(BorderLayout.PAGE_END.equals("Last")); harness.check(BorderLayout.PAGE_START.equals("First")); harness.check(BorderLayout.SOUTH.equals("South")); harness.check(BorderLayout.WEST.equals("West")); } } mauve-20140821/gnu/testlet/java/awt/BorderLayout/layoutContainer.java0000644000175000001440000002105310374366555024413 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.BorderLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Rectangle; import javax.swing.JPanel; /** * Some checks for the layoutContainer() method in the * {@link BorderLayout} class. */ public class layoutContainer implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test0(harness); test1(harness); test2(harness); test3(harness); test4(harness); test5(harness); test6(harness); test7(harness); test8(harness); test9(harness); test10(harness); test11(harness); } /** * All 5 components. */ private void test0(TestHarness harness) { harness.checkPoint("test0"); JPanel p = new JPanel(new BorderLayout()); p.setSize(200, 200); JPanel p1 = new JPanel(); p1.setPreferredSize(new Dimension(12, 34)); p.add(p1, BorderLayout.CENTER); JPanel p2 = new JPanel(); p2.setPreferredSize(new Dimension(10, 54)); p.add(p2, BorderLayout.NORTH); JPanel p3 = new JPanel(); p3.setPreferredSize(new Dimension(100, 74)); p.add(p3, BorderLayout.WEST); JPanel p4 = new JPanel(); p4.setPreferredSize(new Dimension(92, 33)); p.add(p4, BorderLayout.EAST); JPanel p5 = new JPanel(); p5.setPreferredSize(new Dimension(18, 64)); p.add(p5, BorderLayout.SOUTH); p.doLayout(); harness.check(p1.getBounds(), new Rectangle(100, 54, 8, 82)); harness.check(p2.getBounds(), new Rectangle(0, 0, 200, 54)); harness.check(p3.getBounds(), new Rectangle(0, 54, 100, 82)); harness.check(p4.getBounds(), new Rectangle(108, 54, 92, 82)); harness.check(p5.getBounds(), new Rectangle(0, 136, 200, 64)); } /** * Single component in the center. */ private void test1(TestHarness harness) { harness.checkPoint("test1"); JPanel p = new JPanel(new BorderLayout()); p.setSize(100, 120); JPanel p1 = new JPanel(); p1.setPreferredSize(new Dimension(12, 34)); p.add(p1, BorderLayout.CENTER); p.doLayout(); harness.check(p1.getBounds(), new Rectangle(0, 0, 100, 120)); } /** * Single component, NORTH. */ private void test2(TestHarness harness) { harness.checkPoint("test2"); JPanel p = new JPanel(new BorderLayout()); p.setSize(100, 120); JPanel p1 = new JPanel(); p1.setPreferredSize(new Dimension(12, 34)); p.add(p1, BorderLayout.NORTH); p.doLayout(); harness.check(p1.getBounds(), new Rectangle(0, 0, 100, 34)); } /** * Single component, SOUTH. */ private void test3(TestHarness harness) { harness.checkPoint("test3"); JPanel p = new JPanel(new BorderLayout()); p.setSize(100, 120); JPanel p1 = new JPanel(); p1.setPreferredSize(new Dimension(12, 34)); p.add(p1, BorderLayout.SOUTH); p.doLayout(); harness.check(p1.getBounds(), new Rectangle(0, 86, 100, 34)); } /** * Single component, EAST. */ private void test4(TestHarness harness) { harness.checkPoint("test4"); JPanel p = new JPanel(new BorderLayout()); p.setSize(100, 120); JPanel p1 = new JPanel(); p1.setPreferredSize(new Dimension(12, 34)); p.add(p1, BorderLayout.EAST); p.doLayout(); harness.check(p1.getBounds(), new Rectangle(88, 0, 12, 120)); } /** * Single component, WEST. */ private void test5(TestHarness harness) { harness.checkPoint("test5"); JPanel p = new JPanel(new BorderLayout()); p.setSize(100, 120); JPanel p1 = new JPanel(); p1.setPreferredSize(new Dimension(12, 34)); p.add(p1, BorderLayout.WEST); p.doLayout(); harness.check(p1.getBounds(), new Rectangle(0, 0, 12, 120)); } /** * Two components, NORTH and SOUTH. */ private void test6(TestHarness harness) { harness.checkPoint("test6"); JPanel p = new JPanel(new BorderLayout()); p.setSize(100, 120); JPanel p1 = new JPanel(); p1.setPreferredSize(new Dimension(12, 34)); p.add(p1, BorderLayout.NORTH); JPanel p2 = new JPanel(); p2.setPreferredSize(new Dimension(8, 9)); p.add(p2, BorderLayout.SOUTH); p.doLayout(); harness.check(p1.getBounds(), new Rectangle(0, 0, 100, 34)); harness.check(p2.getBounds(), new Rectangle(0, 111, 100, 9)); // try overlapping p1.setPreferredSize(new Dimension(12, 66)); p2.setPreferredSize(new Dimension(8, 77)); p.doLayout(); harness.check(p1.getBounds(), new Rectangle(0, 0, 100, 66)); harness.check(p2.getBounds(), new Rectangle(0, 43, 100, 77)); } /** * Two components, NORTH and EAST. */ private void test7(TestHarness harness) { harness.checkPoint("test7"); JPanel p = new JPanel(new BorderLayout()); p.setSize(100, 120); JPanel p1 = new JPanel(); p1.setPreferredSize(new Dimension(12, 34)); p.add(p1, BorderLayout.NORTH); JPanel p2 = new JPanel(); p2.setPreferredSize(new Dimension(8, 9)); p.add(p2, BorderLayout.EAST); p.doLayout(); harness.check(p1.getBounds(), new Rectangle(0, 0, 100, 34)); harness.check(p2.getBounds(), new Rectangle(92, 34, 8, 86)); } /** * Two components, NORTH and WEST. */ private void test8(TestHarness harness) { harness.checkPoint("test8"); JPanel p = new JPanel(new BorderLayout()); p.setSize(100, 120); JPanel p1 = new JPanel(); p1.setPreferredSize(new Dimension(12, 34)); p.add(p1, BorderLayout.NORTH); JPanel p2 = new JPanel(); p2.setPreferredSize(new Dimension(8, 9)); p.add(p2, BorderLayout.WEST); p.doLayout(); harness.check(p1.getBounds(), new Rectangle(0, 0, 100, 34)); harness.check(p2.getBounds(), new Rectangle(0, 34, 8, 86)); } /** * Two components, EAST and WEST. */ private void test9(TestHarness harness) { harness.checkPoint("test9"); JPanel p = new JPanel(new BorderLayout()); p.setSize(100, 120); JPanel p1 = new JPanel(); p1.setPreferredSize(new Dimension(12, 34)); p.add(p1, BorderLayout.WEST); JPanel p2 = new JPanel(); p2.setPreferredSize(new Dimension(8, 9)); p.add(p2, BorderLayout.EAST); p.doLayout(); harness.check(p1.getBounds(), new Rectangle(0, 0, 12, 120)); harness.check(p2.getBounds(), new Rectangle(92, 0, 8, 120)); // try overlapping p1.setPreferredSize(new Dimension(66, 10)); p2.setPreferredSize(new Dimension(77, 12)); p.doLayout(); harness.check(p1.getBounds(), new Rectangle(0, 0, 66, 120)); harness.check(p2.getBounds(), new Rectangle(23, 0, 77, 120)); } /** * Two components, EAST and SOUTH. */ private void test10(TestHarness harness) { harness.checkPoint("test10"); JPanel p = new JPanel(new BorderLayout()); p.setSize(100, 120); JPanel p1 = new JPanel(); p1.setPreferredSize(new Dimension(12, 34)); p.add(p1, BorderLayout.EAST); JPanel p2 = new JPanel(); p2.setPreferredSize(new Dimension(8, 9)); p.add(p2, BorderLayout.SOUTH); p.doLayout(); harness.check(p1.getBounds(), new Rectangle(88, 0, 12, 111)); harness.check(p2.getBounds(), new Rectangle(0, 111, 100, 9)); } /** * Two components, SOUTH and WEST. */ private void test11(TestHarness harness) { harness.checkPoint("test11"); JPanel p = new JPanel(new BorderLayout()); p.setSize(100, 120); JPanel p1 = new JPanel(); p1.setPreferredSize(new Dimension(12, 34)); p.add(p1, BorderLayout.WEST); JPanel p2 = new JPanel(); p2.setPreferredSize(new Dimension(8, 9)); p.add(p2, BorderLayout.SOUTH); p.doLayout(); harness.check(p1.getBounds(), new Rectangle(0, 0, 12, 111)); harness.check(p2.getBounds(), new Rectangle(0, 111, 100, 9)); } } mauve-20140821/gnu/testlet/java/awt/BorderLayout/setHgap.java0000644000175000001440000000265511670146674022633 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.BorderLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.BorderLayout; /** * Some checks for the {@link BorderLayout#setHgap()} method in the {@link BorderLayout} class. */ public class setHgap implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BorderLayout b = new BorderLayout(); b.setHgap(99); harness.check(b.getHgap(), 99); b.setHgap(-99); harness.check(b.getHgap(), -99); } } mauve-20140821/gnu/testlet/java/awt/BorderLayout/Test15.java0000644000175000001440000000606511670146674022324 0ustar dokousers/* Test15.java -- Test 1.5 additions to BorderLayout Copyright (C) 2005 Red Hat, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.java.awt.BorderLayout; import java.awt.BorderLayout; import java.awt.Container; import javax.swing.JPanel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class Test15 implements Testlet { @SuppressWarnings("deprecation") public void test(TestHarness harness) { BorderLayout layout = new BorderLayout(); JPanel center = new JPanel(); JPanel left = new JPanel(); JPanel first = new JPanel(); JPanel notInLayout = new JPanel(); Container container = new Container(); layout.addLayoutComponent(BorderLayout.CENTER, center); layout.addLayoutComponent(BorderLayout.WEST, left); layout.addLayoutComponent(BorderLayout.LINE_START, first); harness.checkPoint("getConstraints"); harness.check(layout.getConstraints(center), BorderLayout.CENTER); harness.check(layout.getConstraints(left), BorderLayout.WEST); harness.check(layout.getConstraints(first), BorderLayout.LINE_START); harness.check(layout.getConstraints(null), null); harness.check(layout.getConstraints(notInLayout), null); harness.checkPoint("getLayoutComponent"); harness.check(layout.getLayoutComponent(BorderLayout.CENTER), center); harness.check(layout.getLayoutComponent(BorderLayout.AFTER_LAST_LINE), null); harness.check(layout.getLayoutComponent(BorderLayout.WEST), left); boolean ok = false; try { layout.getLayoutComponent("HiMaude"); } catch (IllegalArgumentException _) { ok = true; } harness.check(ok); harness.checkPoint("getLayoutComponent with Container"); harness.check(layout.getLayoutComponent(container, BorderLayout.CENTER), center); harness.check(layout.getLayoutComponent(container, BorderLayout.EAST), null); harness.check(layout.getLayoutComponent(container, BorderLayout.WEST), first); ok = false; try { layout.getLayoutComponent(container, BorderLayout.AFTER_LAST_LINE); } catch (IllegalArgumentException _) { ok = true; } harness.check(ok); ok = false; try { layout.getLayoutComponent(container, "HiMaude"); } catch (IllegalArgumentException _) { ok = true; } harness.check(ok); ok = false; try { layout.getLayoutComponent(null, BorderLayout.WEST); } catch (NullPointerException _) { ok = true; } harness.check(ok); } } mauve-20140821/gnu/testlet/java/awt/BorderLayout/toString.java0000644000175000001440000000345011670146674023043 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.BorderLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.BorderLayout; /** * Check for the {@link BorderLayout#toString()} method in the {@link BorderLayout} class. * */ public class toString implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // test constructor without any parameter BorderLayout borderLayout1 = new BorderLayout(); borderLayout1.toString(); harness.check(borderLayout1.toString() != null); harness.check(borderLayout1.toString(), "java.awt.BorderLayout[hgap=0,vgap=0]"); // test constructor with two parameters BorderLayout borderLayout2 = new BorderLayout(50, 50); borderLayout2.toString(); harness.check(borderLayout1.toString() != null); harness.check(borderLayout2.toString(), "java.awt.BorderLayout[hgap=50,vgap=50]"); } } mauve-20140821/gnu/testlet/java/awt/BorderLayout/getLayoutAlignmentY.java0000644000175000001440000000301211670146674025171 0ustar dokousers// Tags: JDK1.1 //Copyright (C) 2005 Roman Kennke //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.BorderLayout; import java.awt.BorderLayout; import javax.swing.JComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getLayoutAlignmentY implements Testlet { @SuppressWarnings("serial") public void test(TestHarness harness) { // We use a JComponent here so we can modify the alignment property. JComponent rp = new JComponent(){ // empty block is expected here }; BorderLayout lm2 = new BorderLayout(); // Check for the value when nothing is touched. harness.check(lm2.getLayoutAlignmentY(rp), 0.5F); // Setting the containers alignmentY doesn't change anything. rp.setAlignmentY(0.2F); harness.check(lm2.getLayoutAlignmentY(rp), 0.5F); } } mauve-20140821/gnu/testlet/java/awt/BorderLayout/PaintTestFiveButtons.java0000644000175000001440000001601211670146674025334 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.BorderLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Button; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.BorderLayout; /** * Test if five buttons are positioned correctly to a frame using BorderLayout. */ public class PaintTestFiveButtons extends Panel implements Testlet { /** * Generated serial version UID. */ private static final long serialVersionUID = -4358380772628343583L; /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT = 250; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { this.setLayout(new BorderLayout()); setBackground(Color.red); Frame frame = new Frame(); // create five components and add them to the panel Button button1 = new Button(" "); Button button2 = new Button(" "); Button button3 = new Button(" "); Button button4 = new Button(" "); Button button5 = new Button(" "); // background of canvases button1.setBackground(Color.blue); button2.setBackground(Color.yellow); button3.setBackground(Color.magenta); button4.setBackground(Color.yellow); button5.setBackground(Color.blue); // canvases on frame add(button1, BorderLayout.NORTH); add(button2, BorderLayout.WEST); add(button3, BorderLayout.CENTER); add(button4, BorderLayout.EAST); add(button5, BorderLayout.SOUTH); // setup for a frame frame.add(this); frame.pack(); frame.setVisible(true); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); harness.check(getColorForComponent(robot, frame, button1), Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); harness.check(getColorForComponent(robot, frame, button2), Color.yellow); // check if the third component is properly shown on the panel harness.checkPoint("third component"); harness.check(getColorForComponent(robot, frame, button3), Color.magenta); // check if the fourth component is properly shown on the panel harness.checkPoint("fourth component"); harness.check(getColorForComponent(robot, frame, button4), Color.yellow); // check if the fifth component is properly shown on the panel harness.checkPoint("fifth component"); harness.check(getColorForComponent(robot, frame, button5), Color.blue); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Compute coordinates of a pixel located in the middle of the component. * * @param frame frame where component is used * @param component tested component */ private Point computeCenterOfComponent(Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // return computed center (position of a checked pixel) return new Point(checkedPixelX, checkedPixelY); } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to visually show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param graphics the graphics context to use for painting */ @Override public void paint(Graphics graphics) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); graphics.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/BorderLayout/maxLayoutSize.java0000644000175000001440000000505210345335013024031 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Red Hat. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.BorderLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.LayoutManager2; import javax.swing.JPanel; import javax.swing.JTextField; /** * Some checks for the maximumLayoutSize() method in the * {@link BorderLayout} class. */ public class maxLayoutSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JTextField ftf = new JTextField("HELLO WORLD"); JPanel borderPanel = new JPanel(new java.awt.BorderLayout()); borderPanel.add(ftf); LayoutManager2 lm = (LayoutManager2) borderPanel.getLayout(); Dimension max = new Dimension (Integer.MAX_VALUE, Integer.MAX_VALUE); // Check that the layout manager returns Integer.MAX_VALUE for both // max dimensions, regardless of whether or not there's a border harness.check (lm.maximumLayoutSize(borderPanel), max); borderPanel.setBorder(new javax.swing.border.TitledBorder("HELLO WORLD")); harness.check (lm.maximumLayoutSize(borderPanel), max); // Check that maximumLayoutSize isn't affected by the layout size of // the contained components ftf.setMaximumSize(new Dimension (0,0)); harness.check (lm.maximumLayoutSize(borderPanel), max); // Check that maximumLayoutSize returns Integer.MAX_VALUE even for null // arguments harness.check (lm.maximumLayoutSize(null), max); // Check that a brand new BorderLayout unassociated with any Component // also returns Integer.MAX_VALUE for a null argument. BorderLayout bl = new BorderLayout(); harness.check (bl.maximumLayoutSize(null), max); } } mauve-20140821/gnu/testlet/java/awt/BorderLayout/PaintTestFiveCanvases.java0000644000175000001440000001632311670146674025446 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.BorderLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.BorderLayout; /** * Test if five canvases are positioned correctly to a frame using BorderLayout. * Default gap is used during positioning canvases, */ public class PaintTestFiveCanvases extends Panel implements Testlet { /** * Generated serial version UID. */ private static final long serialVersionUID = -1422980716093055760L; /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT = 250; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { this.setLayout(new BorderLayout()); setBackground(Color.red); Frame frame = new Frame(); // create five components and add them to the panel Canvas canvas1 = new Canvas(); Canvas canvas2 = new Canvas(); Canvas canvas3 = new Canvas(); Canvas canvas4 = new Canvas(); Canvas canvas5 = new Canvas(); // set sizes of all five canvases canvas1.setSize(100,100); canvas2.setSize(100,100); canvas3.setSize(100,100); canvas4.setSize(100,100); canvas5.setSize(100,100); // set background color of all canvases canvas1.setBackground(Color.blue); canvas2.setBackground(Color.yellow); canvas3.setBackground(Color.magenta); canvas4.setBackground(Color.yellow); canvas5.setBackground(Color.blue); // position all five canvases on frame add(canvas1, BorderLayout.NORTH); add(canvas2, BorderLayout.WEST); add(canvas3, BorderLayout.CENTER); add(canvas4, BorderLayout.EAST); add(canvas5, BorderLayout.SOUTH); // setup for a frame frame.add(this); frame.pack(); frame.setVisible(true); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); harness.check(getColorForComponent(robot, frame, canvas1), Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); harness.check(getColorForComponent(robot, frame, canvas2), Color.yellow); // check if the third component is properly shown on the panel harness.checkPoint("third component"); harness.check(getColorForComponent(robot, frame, canvas3), Color.magenta); // check if the fourth component is properly shown on the panel harness.checkPoint("fourth component"); harness.check(getColorForComponent(robot, frame, canvas4), Color.yellow); // check if the fifth component is properly shown on the panel harness.checkPoint("fifth component"); harness.check(getColorForComponent(robot, frame, canvas5), Color.blue); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Compute coordinates of a pixel located in the middle of the component. * * @param frame frame where component is used * @param component tested component */ private Point computeCenterOfComponent(Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // return computed center (position of a checked pixel) return new Point(checkedPixelX, checkedPixelY); } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to visually show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param graphics the graphics context to use for painting */ @Override public void paint(Graphics graphics) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); graphics.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/BorderLayout/PaintTestZeroGaps.java0000644000175000001440000002334211670146674024622 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.BorderLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.BorderLayout; /** * Test if five canvases are positioned correctly to a frame using BorderLayout. * Zero-width gaps are used during positioning canvases on a frame, so we also have to * test if the gaps are not visible at all. */ public class PaintTestZeroGaps extends Panel implements Testlet { /** * Generated serial version UID. */ private static final long serialVersionUID = -2613637171673465097L; /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT = 250; /** * Horizontal gap size. */ public static int HGAP_SIZE = 0; /** * Vertical gap size. */ public static int VGAP_SIZE = 0; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { this.setLayout(new BorderLayout(HGAP_SIZE, VGAP_SIZE)); setBackground(Color.red); Frame frame = new Frame(); // create five components and add them to the panel Canvas canvas1 = new Canvas(); Canvas canvas2 = new Canvas(); Canvas canvas3 = new Canvas(); Canvas canvas4 = new Canvas(); Canvas canvas5 = new Canvas(); // set size of all canvases canvas1.setSize(100,100); canvas2.setSize(100,100); canvas3.setSize(100,100); canvas4.setSize(100,100); canvas5.setSize(100,100); // set background of all canvases canvas1.setBackground(Color.blue); canvas2.setBackground(Color.yellow); canvas3.setBackground(Color.magenta); canvas4.setBackground(Color.yellow); canvas5.setBackground(Color.blue); // position all five canvases on frame add(canvas1, BorderLayout.NORTH); add(canvas2, BorderLayout.WEST); add(canvas3, BorderLayout.CENTER); add(canvas4, BorderLayout.EAST); add(canvas5, BorderLayout.SOUTH); // setup for a frame frame.add(this); frame.pack(); frame.setVisible(true); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); harness.check(getColorForComponent(robot, frame, canvas1), Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); harness.check(getColorForComponent(robot, frame, canvas2), Color.yellow); // check if the third component is properly shown on the panel harness.checkPoint("third component"); harness.check(getColorForComponent(robot, frame, canvas3), Color.magenta); // check if the fourth component is properly shown on the panel harness.checkPoint("fourth component"); harness.check(getColorForComponent(robot, frame, canvas4), Color.yellow); // check if the fifth component is properly shown on the panel harness.checkPoint("fifth component"); harness.check(getColorForComponent(robot, frame, canvas5), Color.blue); // now some test for checking the color between the components // (there should not be any pixels between components) harness.checkPoint("space check #1 - negative test"); harness.check(!getColorBetweenComponents(robot, frame, canvas1, canvas2).equals(Color.red)); harness.checkPoint("space check #2 - negative test"); harness.check(!getColorBetweenComponents(robot, frame, canvas1, canvas3).equals(Color.red)); harness.checkPoint("space check #3 - negative test"); harness.check(!getColorBetweenComponents(robot, frame, canvas1, canvas4).equals(Color.red)); harness.checkPoint("space check #4 - negative test"); harness.check(!getColorBetweenComponents(robot, frame, canvas2, canvas3).equals(Color.red)); harness.checkPoint("space check #5 - negative test"); harness.check(!getColorBetweenComponents(robot, frame, canvas3, canvas4).equals(Color.red)); harness.checkPoint("space check #6 - negative test"); harness.check(!getColorBetweenComponents(robot, frame, canvas2, canvas5).equals(Color.red)); harness.checkPoint("space check #7 - negative test"); harness.check(!getColorBetweenComponents(robot, frame, canvas3, canvas5).equals(Color.red)); harness.checkPoint("space check #8 - negative test"); harness.check(!getColorBetweenComponents(robot, frame, canvas4, canvas5).equals(Color.red)); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Get color of a pixel located between two components. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component1 first tested component * @param component2 second tested component */ private Color getColorBetweenComponents(Robot robot, Frame frame, Component component1, Component component2) { // compute center of the first component Point p1 = computeCenterOfComponent(frame, component1); // compute center of the second component Point p2 = computeCenterOfComponent(frame, component2); // compute position of checked pixel int checkedPixelX = (p1.x + p2.x) >> 1; int checkedPixelY = (p1.y + p2.y) >> 1; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Compute coordinates of a pixel located in the middle of the component. * * @param frame frame where component is used * @param component tested component */ private Point computeCenterOfComponent(Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // return computed center (position of a checked pixel) return new Point(checkedPixelX, checkedPixelY); } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to visually show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param graphics the graphics context to use for painting */ @Override public void paint(Graphics graphics) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); graphics.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/BorderLayout/preferredLayoutSize.java0000644000175000001440000002612410260266527025236 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.BorderLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.BorderLayout; import java.awt.Dimension; import javax.swing.JPanel; /** * Some checks for the preferredLayoutSize() method in the * {@link BorderLayout} class. */ public class preferredLayoutSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); test3(harness); test4(harness); test5(harness); test6(harness); test7(harness); test8(harness); test9(harness); test10(harness); test11(harness); test12(harness); test13(harness); test14(harness); test15(harness); test16(harness); test17(harness); } /** * Single component in the center. */ private void test1(TestHarness harness) { harness.checkPoint("test1"); JPanel p = new JPanel(new BorderLayout()); JPanel p1 = new JPanel(); p1.setPreferredSize(new Dimension(12, 34)); p.add(p1, BorderLayout.CENTER); p.doLayout(); harness.check(p.getPreferredSize(), new Dimension(12, 34)); } /** * Single component, NORTH. */ private void test2(TestHarness harness) { harness.checkPoint("test2"); JPanel p = new JPanel(new BorderLayout()); JPanel p1 = new JPanel(); p1.setPreferredSize(new Dimension(12, 34)); p.add(p1, BorderLayout.NORTH); p.doLayout(); harness.check(p.getPreferredSize(), new Dimension(12, 34)); } /** * Single component, SOUTH. */ private void test3(TestHarness harness) { harness.checkPoint("test3"); JPanel p = new JPanel(new BorderLayout()); JPanel p1 = new JPanel(); p1.setPreferredSize(new Dimension(12, 34)); p.add(p1, BorderLayout.SOUTH); p.doLayout(); harness.check(p.getPreferredSize(), new Dimension(12, 34)); } /** * Single component, EAST. */ private void test4(TestHarness harness) { harness.checkPoint("test4"); JPanel p = new JPanel(new BorderLayout()); JPanel p1 = new JPanel(); p1.setPreferredSize(new Dimension(12, 34)); p.add(p1, BorderLayout.EAST); p.doLayout(); harness.check(p.getPreferredSize(), new Dimension(12, 34)); } /** * Single component, WEST. */ private void test5(TestHarness harness) { harness.checkPoint("test5"); JPanel p = new JPanel(new BorderLayout()); JPanel p1 = new JPanel(); p1.setPreferredSize(new Dimension(12, 34)); p.add(p1, BorderLayout.WEST); p.doLayout(); harness.check(p.getPreferredSize(), new Dimension(12, 34)) ; } /** * Two components, NORTH and SOUTH. */ private void test6(TestHarness harness) { harness.checkPoint("test6"); JPanel p = new JPanel(new BorderLayout()); JPanel p1 = new JPanel(); p1.setPreferredSize(new Dimension(12, 34)); p.add(p1, BorderLayout.NORTH); JPanel p2 = new JPanel(); p2.setPreferredSize(new Dimension(8, 9)); p.add(p2, BorderLayout.SOUTH); p.doLayout(); harness.check(p.getPreferredSize(), new Dimension(12, 43)); } /** * Two components, NORTH and EAST. */ private void test7(TestHarness harness) { harness.checkPoint("test7"); JPanel p = new JPanel(new BorderLayout()); JPanel p1 = new JPanel(); p1.setPreferredSize(new Dimension(12, 34)); p.add(p1, BorderLayout.NORTH); JPanel p2 = new JPanel(); p2.setPreferredSize(new Dimension(8, 9)); p.add(p2, BorderLayout.EAST); p.doLayout(); harness.check(p.getPreferredSize(), new Dimension(12, 43)); } /** * Two components, NORTH and WEST. */ private void test8(TestHarness harness) { harness.checkPoint("test8"); JPanel p = new JPanel(new BorderLayout()); JPanel p1 = new JPanel(); p1.setPreferredSize(new Dimension(12, 34)); p.add(p1, BorderLayout.NORTH); JPanel p2 = new JPanel(); p2.setPreferredSize(new Dimension(8, 9)); p.add(p2, BorderLayout.WEST); p.doLayout(); harness.check(p.getPreferredSize(), new Dimension(12, 43)); } /** * Two components, EAST and WEST. */ private void test9(TestHarness harness) { harness.checkPoint("test9"); JPanel p = new JPanel(new BorderLayout()); JPanel p1 = new JPanel(); p1.setPreferredSize(new Dimension(12, 34)); p.add(p1, BorderLayout.WEST); JPanel p2 = new JPanel(); p2.setPreferredSize(new Dimension(8, 9)); p.add(p2, BorderLayout.EAST); p.doLayout(); harness.check(p.getPreferredSize(), new Dimension(20, 34)); } /** * Two components, EAST and SOUTH. */ private void test10(TestHarness harness) { harness.checkPoint("test10"); JPanel p = new JPanel(new BorderLayout()); JPanel p1 = new JPanel(); p1.setPreferredSize(new Dimension(12, 34)); p.add(p1, BorderLayout.EAST); JPanel p2 = new JPanel(); p2.setPreferredSize(new Dimension(8, 9)); p.add(p2, BorderLayout.SOUTH); p.doLayout(); harness.check(p.getPreferredSize(), new Dimension(12, 43)); } /** * Two components, SOUTH and WEST. */ private void test11(TestHarness harness) { harness.checkPoint("test11"); JPanel p = new JPanel(new BorderLayout()); JPanel p1 = new JPanel(); p1.setPreferredSize(new Dimension(12, 34)); p.add(p1, BorderLayout.WEST); JPanel p2 = new JPanel(); p2.setPreferredSize(new Dimension(8, 9)); p.add(p2, BorderLayout.SOUTH); p.doLayout(); harness.check(p.getPreferredSize(), new Dimension(12, 43)); } /** * 5 components, NORTH the widest. */ private void test12(TestHarness harness) { harness.checkPoint("test12"); JPanel p = new JPanel(new BorderLayout()); JPanel p1 = new JPanel(); p1.setPreferredSize(new Dimension(11, 1)); p.add(p1, BorderLayout.NORTH); JPanel p2 = new JPanel(); p2.setPreferredSize(new Dimension(10, 2)); p.add(p2, BorderLayout.SOUTH); JPanel p3 = new JPanel(); p3.setPreferredSize(new Dimension(3, 3)); p.add(p3, BorderLayout.EAST); JPanel p4 = new JPanel(); p4.setPreferredSize(new Dimension(3, 4)); p.add(p4, BorderLayout.WEST); JPanel p5 = new JPanel(); p5.setPreferredSize(new Dimension(3, 5)); p.add(p5); p.doLayout(); harness.check(p.getPreferredSize(), new Dimension(11, 8)); } /** * 5 components, WEST+CENTER+EAST the widest. */ private void test13(TestHarness harness) { harness.checkPoint("test13"); JPanel p = new JPanel(new BorderLayout()); JPanel p1 = new JPanel(); p1.setPreferredSize(new Dimension(11, 1)); p.add(p1, BorderLayout.NORTH); JPanel p2 = new JPanel(); p2.setPreferredSize(new Dimension(10, 2)); p.add(p2, BorderLayout.SOUTH); JPanel p3 = new JPanel(); p3.setPreferredSize(new Dimension(4, 3)); p.add(p3, BorderLayout.EAST); JPanel p4 = new JPanel(); p4.setPreferredSize(new Dimension(4, 4)); p.add(p4, BorderLayout.WEST); JPanel p5 = new JPanel(); p5.setPreferredSize(new Dimension(4, 5)); p.add(p5); p.doLayout(); harness.check(p.getPreferredSize(), new Dimension(12, 8)); } /** * 5 components, SOUTH the widest. */ private void test14(TestHarness harness) { harness.checkPoint("test14"); JPanel p = new JPanel(new BorderLayout()); JPanel p1 = new JPanel(); p1.setPreferredSize(new Dimension(10, 1)); p.add(p1, BorderLayout.NORTH); JPanel p2 = new JPanel(); p2.setPreferredSize(new Dimension(11, 2)); p.add(p2, BorderLayout.SOUTH); JPanel p3 = new JPanel(); p3.setPreferredSize(new Dimension(3, 3)); p.add(p3, BorderLayout.EAST); JPanel p4 = new JPanel(); p4.setPreferredSize(new Dimension(3, 4)); p.add(p4, BorderLayout.WEST); JPanel p5 = new JPanel(); p5.setPreferredSize(new Dimension(3, 5)); p.add(p5); p.doLayout(); harness.check(p.getPreferredSize(), new Dimension(11, 8)); } /** * 5 components, NORTH+WEST+SOUTH the tallest. */ private void test15(TestHarness harness) { harness.checkPoint("test15"); JPanel p = new JPanel(new BorderLayout()); JPanel p1 = new JPanel(); p1.setPreferredSize(new Dimension(1, 3)); p.add(p1, BorderLayout.NORTH); JPanel p2 = new JPanel(); p2.setPreferredSize(new Dimension(2, 3)); p.add(p2, BorderLayout.SOUTH); JPanel p3 = new JPanel(); p3.setPreferredSize(new Dimension(3, 3)); p.add(p3, BorderLayout.EAST); JPanel p4 = new JPanel(); p4.setPreferredSize(new Dimension(4, 4)); p.add(p4, BorderLayout.WEST); JPanel p5 = new JPanel(); p5.setPreferredSize(new Dimension(5, 3)); p.add(p5); p.doLayout(); harness.check(p.getPreferredSize(), new Dimension(12, 10)); } /** * 5 components, NORTH+CENTER+SOUTH the tallest. */ private void test16(TestHarness harness) { harness.checkPoint("test16"); JPanel p = new JPanel(new BorderLayout()); JPanel p1 = new JPanel(); p1.setPreferredSize(new Dimension(1, 3)); p.add(p1, BorderLayout.NORTH); JPanel p2 = new JPanel(); p2.setPreferredSize(new Dimension(2, 3)); p.add(p2, BorderLayout.SOUTH); JPanel p3 = new JPanel(); p3.setPreferredSize(new Dimension(3, 3)); p.add(p3, BorderLayout.EAST); JPanel p4 = new JPanel(); p4.setPreferredSize(new Dimension(4, 3)); p.add(p4, BorderLayout.WEST); JPanel p5 = new JPanel(); p5.setPreferredSize(new Dimension(5, 4)); p.add(p5); p.doLayout(); harness.check(p.getPreferredSize(), new Dimension(12, 10)); } /** * 5 components, NORTH+EAST+SOUTH the tallest. */ private void test17(TestHarness harness) { harness.checkPoint("test17"); JPanel p = new JPanel(new BorderLayout()); JPanel p1 = new JPanel(); p1.setPreferredSize(new Dimension(1, 3)); p.add(p1, BorderLayout.NORTH); JPanel p2 = new JPanel(); p2.setPreferredSize(new Dimension(2, 3)); p.add(p2, BorderLayout.SOUTH); JPanel p3 = new JPanel(); p3.setPreferredSize(new Dimension(3, 4)); p.add(p3, BorderLayout.EAST); JPanel p4 = new JPanel(); p4.setPreferredSize(new Dimension(4, 3)); p.add(p4, BorderLayout.WEST); JPanel p5 = new JPanel(); p5.setPreferredSize(new Dimension(5, 3)); p.add(p5); p.doLayout(); harness.check(p.getPreferredSize(), new Dimension(12, 10)); } } mauve-20140821/gnu/testlet/java/awt/BorderLayout/getLayoutAlignmentX.java0000644000175000001440000000301211670146674025170 0ustar dokousers// Tags: JDK1.1 //Copyright (C) 2005 Roman Kennke //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.BorderLayout; import java.awt.BorderLayout; import javax.swing.JComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getLayoutAlignmentX implements Testlet { @SuppressWarnings("serial") public void test(TestHarness harness) { // We use a JComponent here so we can modify the alignment property. JComponent rp = new JComponent(){ // empty block is expected here }; BorderLayout lm2 = new BorderLayout(); // Check for the value when nothing is touched. harness.check(lm2.getLayoutAlignmentX(rp), 0.5F); // Setting the containers alignmentX doesn't change anything. rp.setAlignmentX(0.2F); harness.check(lm2.getLayoutAlignmentX(rp), 0.5F); } } mauve-20140821/gnu/testlet/java/awt/BorderLayout/addLayoutComponent.java0000644000175000001440000000363010260266527025035 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.BorderLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.BorderLayout; import javax.swing.JPanel; /** * Some checks for the constants defined by the {@link BorderLayout} class. */ public class addLayoutComponent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); } private void test1(TestHarness harness) { harness.checkPoint("(Component, Object)"); BorderLayout l = new BorderLayout(); JPanel p1 = new JPanel(); // check bad constraint boolean pass = false; try { l.addLayoutComponent(p1, "X"); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // check null constraint which is OK pass = true; try { l.addLayoutComponent(p1, null); } catch (RuntimeException e) { pass = false; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/BorderLayout/PaintTestBiggerGap.java0000644000175000001440000002453011670146674024717 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.BorderLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.BorderLayout; /** * Test if five canvases are positioned correctly to a frame using BorderLayout. * Bigger gap is used during positioning canvases on a frame, so we also have to * test if the gaps are properly painted by panel background color (which is red). */ public class PaintTestBiggerGap extends Panel implements Testlet { /** * Generated serial version UID. */ private static final long serialVersionUID = 1330012649157973134L; /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT = 250; /** * Horizontal gap size. */ public static int HGAP_SIZE = 50; /** * Vertical gap size. */ public static int VGAP_SIZE = 50; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { this.setLayout(new BorderLayout(HGAP_SIZE, VGAP_SIZE)); setBackground(Color.red); Frame frame = new Frame(); // create five components and add them to the panel Canvas canvas1 = new Canvas(); Canvas canvas2 = new Canvas(); Canvas canvas3 = new Canvas(); Canvas canvas4 = new Canvas(); Canvas canvas5 = new Canvas(); // set sizes of all five canvases canvas1.setSize(100,100); canvas2.setSize(100,100); canvas3.setSize(100,100); canvas4.setSize(100,100); canvas5.setSize(100,100); // set background color of all canvases canvas1.setBackground(Color.blue); canvas2.setBackground(Color.yellow); canvas3.setBackground(Color.magenta); canvas4.setBackground(Color.yellow); canvas5.setBackground(Color.blue); // position all five canvases on frame add(canvas1, BorderLayout.NORTH); add(canvas2, BorderLayout.WEST); add(canvas3, BorderLayout.CENTER); add(canvas4, BorderLayout.EAST); add(canvas5, BorderLayout.SOUTH); // setup for a frame frame.add(this); frame.pack(); frame.setVisible(true); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); harness.check(getColorForComponent(robot, frame, canvas1), Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); harness.check(getColorForComponent(robot, frame, canvas2), Color.yellow); // check if the third component is properly shown on the panel harness.checkPoint("third component"); harness.check(getColorForComponent(robot, frame, canvas3), Color.magenta); // check if the fourth component is properly shown on the panel harness.checkPoint("fourth component"); harness.check(getColorForComponent(robot, frame, canvas4), Color.yellow); // check if the fifth component is properly shown on the panel harness.checkPoint("fifth component"); harness.check(getColorForComponent(robot, frame, canvas5), Color.blue); // now some test for checking the color between the components // // Tested pixels are marked by *: // +-------------------------------+ // | | // | 1111111111111111111111111 | // | 1111111111111111111111111 | // | 1111111111111111111111111 | // | | // +-----------*---*----*----------+ // | | // | 2222222 333333 444444 | // | 2222222 * 333333 * 444444 | // | 2222222 333333 444444 | // | | // +-----------*---*----*----------+ // | | // | 5555555555555555555555555 | // | 5555555555555555555555555 | // | 5555555555555555555555555 | // | | // +-------------------------------+ // harness.checkPoint("space check #1"); harness.check(getColorBetweenComponents(robot, frame, canvas1, canvas2), Color.red); harness.checkPoint("space check #2"); harness.check(getColorBetweenComponents(robot, frame, canvas1, canvas3), Color.red); harness.checkPoint("space check #3"); harness.check(getColorBetweenComponents(robot, frame, canvas1, canvas4), Color.red); harness.checkPoint("space check #4"); harness.check(getColorBetweenComponents(robot, frame, canvas2, canvas3), Color.red); harness.checkPoint("space check #5"); harness.check(getColorBetweenComponents(robot, frame, canvas3, canvas4), Color.red); harness.checkPoint("space check #6"); harness.check(getColorBetweenComponents(robot, frame, canvas2, canvas5), Color.red); harness.checkPoint("space check #7"); harness.check(getColorBetweenComponents(robot, frame, canvas3, canvas5), Color.red); harness.checkPoint("space check #8"); harness.check(getColorBetweenComponents(robot, frame, canvas4, canvas5), Color.red); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Get color of a pixel located between two components. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component1 first tested component * @param component2 second tested component */ private Color getColorBetweenComponents(Robot robot, Frame frame, Component component1, Component component2) { // compute center of the first component Point p1 = computeCenterOfComponent(frame, component1); // compute center of the second component Point p2 = computeCenterOfComponent(frame, component2); // compute position of checked pixel int checkedPixelX = (p1.x + p2.x) >> 1; int checkedPixelY = (p1.y + p2.y) >> 1; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Compute coordinates of a pixel located in the middle of the component. * * @param frame frame where component is used * @param component tested component */ private Point computeCenterOfComponent(Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // return computed center (position of a checked pixel) return new Point(checkedPixelX, checkedPixelY); } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to visually show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param graphics the graphics context to use for painting */ @Override public void paint(Graphics graphics) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); graphics.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/BorderLayout/getVgap.java0000644000175000001440000000262710260266527022626 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.BorderLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.BorderLayout; /** * Some checks for the getVgap() method in the {@link BorderLayout} class. */ public class getVgap implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BorderLayout b = new BorderLayout(); b.setVgap(99); harness.check(b.getVgap(), 99); b.setVgap(-99); harness.check(b.getVgap(), -99); } } mauve-20140821/gnu/testlet/java/awt/BorderLayout/PaintTestBiggerVGap.java0000644000175000001440000002461011670146674025044 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.BorderLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.BorderLayout; /** * Test if five canvases are positioned correctly to a frame using BorderLayout. * Bigger vertical gap is used during positioning canvases on a frame, so we also have to * test if the gaps are properly painted by panel background color (which is red). */ public class PaintTestBiggerVGap extends Panel implements Testlet { /** * Generated serial version UID. */ private static final long serialVersionUID = 2206443614202157953L; /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT = 250; /** * Horizontal gap size. */ public static int HGAP_SIZE = 0; /** * Vertical gap size. */ public static int VGAP_SIZE = 50; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { this.setLayout(new BorderLayout(HGAP_SIZE, VGAP_SIZE)); setBackground(Color.red); Frame frame = new Frame(); // create five components and add them to the panel Canvas canvas1 = new Canvas(); Canvas canvas2 = new Canvas(); Canvas canvas3 = new Canvas(); Canvas canvas4 = new Canvas(); Canvas canvas5 = new Canvas(); // set sizes of all five canvases canvas1.setSize(100,100); canvas2.setSize(100,100); canvas3.setSize(100,100); canvas4.setSize(100,100); canvas5.setSize(100,100); // set background color of all canvases canvas1.setBackground(Color.blue); canvas2.setBackground(Color.yellow); canvas3.setBackground(Color.magenta); canvas4.setBackground(Color.yellow); canvas5.setBackground(Color.blue); // position all five canvases on frame add(canvas1, BorderLayout.NORTH); add(canvas2, BorderLayout.WEST); add(canvas3, BorderLayout.CENTER); add(canvas4, BorderLayout.EAST); add(canvas5, BorderLayout.SOUTH); // setup for a frame frame.add(this); frame.pack(); frame.setVisible(true); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); harness.check(getColorForComponent(robot, frame, canvas1), Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); harness.check(getColorForComponent(robot, frame, canvas2), Color.yellow); // check if the third component is properly shown on the panel harness.checkPoint("third component"); harness.check(getColorForComponent(robot, frame, canvas3), Color.magenta); // check if the fourth component is properly shown on the panel harness.checkPoint("fourth component"); harness.check(getColorForComponent(robot, frame, canvas4), Color.yellow); // check if the fifth component is properly shown on the panel harness.checkPoint("fifth component"); harness.check(getColorForComponent(robot, frame, canvas5), Color.blue); // now some test for checking the color between the components // // Tested pixels are marked by *: // +-------------------------------+ // | | // | 1111111111111111111111111 | // | 1111111111111111111111111 | // | 1111111111111111111111111 | // | | // +-----------*---*----*----------+ // | | // | 2222222223333333334444444 | // | 22222222*33333333*4444444 | // | 2222222223333333334444444 | // | | // +-----------*---*----*----------+ // | | // | 5555555555555555555555555 | // | 5555555555555555555555555 | // | 5555555555555555555555555 | // | | // +-------------------------------+ // harness.checkPoint("space check #1"); harness.check(getColorBetweenComponents(robot, frame, canvas1, canvas2), Color.red); harness.checkPoint("space check #2"); harness.check(getColorBetweenComponents(robot, frame, canvas1, canvas3), Color.red); harness.checkPoint("space check #3"); harness.check(getColorBetweenComponents(robot, frame, canvas1, canvas4), Color.red); harness.checkPoint("space check #4 - negative"); harness.check(!getColorBetweenComponents(robot, frame, canvas2, canvas3).equals(Color.red)); harness.checkPoint("space check #5 - negative"); harness.check(!getColorBetweenComponents(robot, frame, canvas3, canvas4).equals(Color.red)); harness.checkPoint("space check #6"); harness.check(getColorBetweenComponents(robot, frame, canvas2, canvas5), Color.red); harness.checkPoint("space check #7"); harness.check(getColorBetweenComponents(robot, frame, canvas3, canvas5), Color.red); harness.checkPoint("space check #8"); harness.check(getColorBetweenComponents(robot, frame, canvas4, canvas5), Color.red); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Get color of a pixel located between two components. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component1 first tested component * @param component2 second tested component */ private Color getColorBetweenComponents(Robot robot, Frame frame, Component component1, Component component2) { // compute center of the first component Point p1 = computeCenterOfComponent(frame, component1); // compute center of the second component Point p2 = computeCenterOfComponent(frame, component2); // compute position of checked pixel int checkedPixelX = (p1.x + p2.x) >> 1; int checkedPixelY = (p1.y + p2.y) >> 1; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Compute coordinates of a pixel located in the middle of the component. * * @param frame frame where component is used * @param component tested component */ private Point computeCenterOfComponent(Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // return computed center (position of a checked pixel) return new Point(checkedPixelX, checkedPixelY); } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to visually show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param graphics the graphics context to use for painting */ @Override public void paint(Graphics graphics) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); graphics.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/BorderLayout/PaintTestBiggerHGap.java0000644000175000001440000002241311670146674025025 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI, JDK 1.0 // Uses: ../LocationTests package gnu.testlet.java.awt.BorderLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.BorderLayout; /** * Test if five canvases are positioned correctly to a frame using BorderLayout. * Bigger horizontal gap is used during positioning canvases on a frame, so we also have to * test if the gaps are properly painted by panel background color (which is red). */ public class PaintTestBiggerHGap extends Panel implements Testlet { /** * Generated serial version UID. */ private static final long serialVersionUID = 8181135974963463440L; /** * Delay (pause times) for an AWT robot. */ public static int DELAY_AMOUNT = 250; /** * Horizontal gap size. */ public static int HGAP_SIZE = 50; /** * Vertical gap size. */ public static int VGAP_SIZE = 0; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { this.setLayout(new BorderLayout(HGAP_SIZE, VGAP_SIZE)); setBackground(Color.red); Frame frame = new Frame(); // create five components and add them to the panel Canvas canvas1 = new Canvas(); Canvas canvas2 = new Canvas(); Canvas canvas3 = new Canvas(); Canvas canvas4 = new Canvas(); Canvas canvas5 = new Canvas(); // set sizes of all five canvases canvas1.setSize(100,100); canvas2.setSize(100,100); canvas3.setSize(100,100); canvas4.setSize(100,100); canvas5.setSize(100,100); // set background color of all canvases canvas1.setBackground(Color.blue); canvas2.setBackground(Color.yellow); canvas3.setBackground(Color.magenta); canvas4.setBackground(Color.yellow); canvas5.setBackground(Color.blue); // position all five canvases on frame add(canvas1, BorderLayout.NORTH); add(canvas2, BorderLayout.WEST); add(canvas3, BorderLayout.CENTER); add(canvas4, BorderLayout.EAST); add(canvas5, BorderLayout.SOUTH); // setup for a frame frame.add(this); frame.pack(); frame.setVisible(true); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // check if the first component is properly shown on the panel harness.checkPoint("first component"); harness.check(getColorForComponent(robot, frame, canvas1), Color.blue); // check if the second component is properly shown on the panel harness.checkPoint("second component"); harness.check(getColorForComponent(robot, frame, canvas2), Color.yellow); // check if the third component is properly shown on the panel harness.checkPoint("third component"); harness.check(getColorForComponent(robot, frame, canvas3), Color.magenta); // check if the fourth component is properly shown on the panel harness.checkPoint("fourth component"); harness.check(getColorForComponent(robot, frame, canvas4), Color.yellow); // check if the fifth component is properly shown on the panel harness.checkPoint("fifth component"); harness.check(getColorForComponent(robot, frame, canvas5), Color.blue); // now some test for checking the color between the components // // Tested pixels are marked by *: // +-------------------------------+ // | 1111111111111111111111111 | // | 1111111111111111111111111 | // | 1111111111111111111111111 | // | 2222222 333333 444444 | // | 2222222 * 333333 * 444444 | // | 2222222 333333 444444 | // | 5555555555555555555555555 | // | 5555555555555555555555555 | // | 5555555555555555555555555 | // +-------------------------------+ // harness.checkPoint("space check #1"); harness.check(getColorBetweenComponents(robot, frame, canvas2, canvas3), Color.red); harness.checkPoint("space check #2"); harness.check(getColorBetweenComponents(robot, frame, canvas3, canvas4), Color.red); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(DELAY_AMOUNT); // it's necesarry to clean up the component from desktop frame.dispose(); } /** * Get color of a pixel located in the middle of the component. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component tested component */ private Color getColorForComponent(Robot robot, Frame frame, Component component) { // compute the position of a center of a component Point p = computeCenterOfComponent(frame, component); // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, p.x, p.y); // check the color of a pixel located in the canvas center return robot.getPixelColor(p.x, p.y); } /** * Get color of a pixel located between two components. * * @param robot instance of AWT robot * @param frame frame where component is used * @param component1 first tested component * @param component2 second tested component */ private Color getColorBetweenComponents(Robot robot, Frame frame, Component component1, Component component2) { // compute center of the first component Point p1 = computeCenterOfComponent(frame, component1); // compute center of the second component Point p2 = computeCenterOfComponent(frame, component2); // compute position of checked pixel int checkedPixelX = (p1.x + p2.x) >> 1; int checkedPixelY = (p1.y + p2.y) >> 1; // move mouse cursor to center of a rectangle moveCursorToGivenPosition(robot, checkedPixelX, checkedPixelY); // check the color of a pixel located in the canvas center return robot.getPixelColor(checkedPixelX, checkedPixelY); } /** * Compute absolute coordinates of a component inside the frame * * @param frame frame where component is used * @param component tested component * * @return coordinates of a component inside the frame */ private Rectangle computeBounds(Frame frame, Component component) { Rectangle bounds = component.getBounds(); Point location = frame.getLocationOnScreen(); Insets insets = frame.getInsets(); bounds.x += insets.left + location.x; bounds.y += insets.top + location.y; // return computed bounds return bounds; } /** * Compute coordinates of a pixel located in the middle of the component. * * @param frame frame where component is used * @param component tested component */ private Point computeCenterOfComponent(Frame frame, Component component) { // compute the absolute coordinates of a component inside the frame Rectangle bounds = computeBounds(frame, component); // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // return computed center (position of a checked pixel) return new Point(checkedPixelX, checkedPixelY); } /** * Move mouse cursor to center of a rectangle * * @param robot instance of AWT robot * @param checkedPixelX x-coordinate of pixel on a screen * @param checkedPixelY y-coordinate of pixel on a screen */ private void moveCursorToGivenPosition(Robot robot, int checkedPixelX, int checkedPixelY) { // move the mouse cursor to a tested pixel to visually show users what's checked robot.delay(DELAY_AMOUNT); robot.mouseMove(checkedPixelX, checkedPixelY); robot.delay(DELAY_AMOUNT); robot.waitForIdle(); } /** * Paint method for a panel where components are tested. * * @param graphics the graphics context to use for painting */ @Override public void paint(Graphics graphics) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); graphics.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Graphics/0000755000175000001440000000000012375316426017507 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/Graphics/clearRect.java0000644000175000001440000000641310510267575022261 0ustar dokousers/* clearRect.java -- checks for the clearRect() method in the Graphics class. Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.awt.Graphics; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.AlphaComposite; import java.awt.Color; import java.awt.GradientPaint; import java.awt.Graphics2D; import java.awt.geom.Point2D; import java.awt.image.BufferedImage; public class clearRect implements Testlet { public void test(TestHarness harness) { BufferedImage img = new BufferedImage(20, 20, BufferedImage.TYPE_INT_ARGB); Graphics2D g2d = (Graphics2D)img.getGraphics(); // The default, at least for BufferedImageGraphics harness.check(g2d.getBackground(), new Color(0,0,0,255)); harness.check(img.getRaster().getSample(10, 10, 0), 0); harness.check(img.getRaster().getSample(10, 10, 1), 0); harness.check(img.getRaster().getSample(10, 10, 2), 0); harness.check(img.getRaster().getSample(10, 10, 3), 0); // Show that clearRect only depends on background, and ignores current // color, composite, and paint g2d.setColor(new Color(200, 200, 200, 50)); g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f)); g2d.setPaint(new GradientPaint(new Point2D.Double(0,0), new Color(10, 10, 10), new Point2D.Double(20, 20), new Color(75, 75, 75), true)); Color c = new Color(100, 100, 100); g2d.setBackground(c); g2d.clearRect(0, 0, 20, 20); harness.check(img.isAlphaPremultiplied(), false); harness.check(g2d.getBackground(), c); harness.check(img.getRaster().getSample(10, 10, 0), 100); harness.check(img.getRaster().getSample(10, 10, 1), 100); harness.check(img.getRaster().getSample(10, 10, 2), 100); harness.check(img.getRaster().getSample(10, 10, 3), 255); // Show that the background is applied with a AlphaComposite.SRC rule, // that is, the entire contents are directly replaced by the background // and no compositing is performed. c = new Color(200, 200, 200, 51); g2d.setBackground(c); g2d.clearRect(0, 0, 20, 20); harness.check(img.isAlphaPremultiplied(), false); harness.check(g2d.getBackground(), c); harness.check(img.getRaster().getSample(10, 10, 0), 200); harness.check(img.getRaster().getSample(10, 10, 1), 200); harness.check(img.getRaster().getSample(10, 10, 2), 200); harness.check(img.getRaster().getSample(10, 10, 3), 51); } } mauve-20140821/gnu/testlet/java/awt/Graphics/TestPaintGraphics.java0000644000175000001440000000346510404314041023734 0ustar dokousers// Tags: GUI JDK1.0 // Copyright (C) 2006 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.Graphics; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; /** * Tests that the graphics object passed to paint is different every * time. */ public class TestPaintGraphics implements Testlet { boolean onePaintDone = false; int firstGraphicsHashCode = 0; int secondGraphicsHashCode = 0; public void test (TestHarness harness) { Frame f = new Frame (); Panel p = new Panel () { public void paint (Graphics g) { if (!onePaintDone) { firstGraphicsHashCode = System.identityHashCode(g); onePaintDone = true; repaint(); } else { if (secondGraphicsHashCode == 0) secondGraphicsHashCode = System.identityHashCode(g); } } }; f.add (p); f.setSize (200, 200); f.show (); Robot r = harness.createRobot(); r.delay(2000); harness.check(firstGraphicsHashCode != 0 && secondGraphicsHashCode != 0); harness.check(firstGraphicsHashCode != secondGraphicsHashCode); } } mauve-20140821/gnu/testlet/java/awt/Event/0000755000175000001440000000000012375316426017030 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/AlphaComposite/0000755000175000001440000000000012375316426020657 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/AlphaComposite/equals.java0000644000175000001440000000317510271126505023010 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.AlphaComposite; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.AlphaComposite; /** * Some checks for the equals() method in the {@link AlphaComposite} class * using constants available since 1.4. */ public class equals implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { AlphaComposite a1 = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.3f); AlphaComposite a2 = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.4f); harness.check(!a1.equals(a2)); harness.check(!a1.equals(null)); a2 = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.3f); harness.check(a1.equals(a2)); } } mauve-20140821/gnu/testlet/java/awt/AlphaComposite/getRule.java0000644000175000001440000000261110271126505023117 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.AlphaComposite; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.AlphaComposite; /** * Some checks for the getRule() method in the {@link AlphaComposite} class. */ public class getRule implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { AlphaComposite a = AlphaComposite.getInstance(AlphaComposite.SRC_OVER); harness.check(a.getRule(), AlphaComposite.SRC_OVER); } } mauve-20140821/gnu/testlet/java/awt/AlphaComposite/getInstance.java0000644000175000001440000001050510271126505023755 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.AlphaComposite; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.AlphaComposite; /** * Some checks for the getInstance() method in the {@link AlphaComposite} class. */ public class getInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test1(TestHarness harness) { harness.checkPoint("(int)"); // CLEAR AlphaComposite a = AlphaComposite.getInstance(AlphaComposite.CLEAR); harness.check(a.getRule(), AlphaComposite.CLEAR); harness.check(a.getAlpha(), 1.0f); // SRC a = AlphaComposite.getInstance(AlphaComposite.SRC); harness.check(a.getRule(), AlphaComposite.SRC); harness.check(a.getAlpha(), 1.0f); // DST a = AlphaComposite.getInstance(AlphaComposite.DST); harness.check(a.getRule(), AlphaComposite.DST); harness.check(a.getAlpha(), 1.0f); // SRC_OVER a = AlphaComposite.getInstance(AlphaComposite.SRC_OVER); harness.check(a.getRule(), AlphaComposite.SRC_OVER); harness.check(a.getAlpha(), 1.0f); // DST_OVER a = AlphaComposite.getInstance(AlphaComposite.DST_OVER); harness.check(a.getRule(), AlphaComposite.DST_OVER); harness.check(a.getAlpha(), 1.0f); // SRC_IN a = AlphaComposite.getInstance(AlphaComposite.SRC_IN); harness.check(a.getRule(), AlphaComposite.SRC_IN); harness.check(a.getAlpha(), 1.0f); // DST_IN a = AlphaComposite.getInstance(AlphaComposite.DST_IN); harness.check(a.getRule(), AlphaComposite.DST_IN); harness.check(a.getAlpha(), 1.0f); // SRC_OUT a = AlphaComposite.getInstance(AlphaComposite.SRC_OUT); harness.check(a.getRule(), AlphaComposite.SRC_OUT); harness.check(a.getAlpha(), 1.0f); // DST_OUT a = AlphaComposite.getInstance(AlphaComposite.DST_OUT); harness.check(a.getRule(), AlphaComposite.DST_OUT); harness.check(a.getAlpha(), 1.0f); // try a bad constant boolean pass = false; try { a = AlphaComposite.getInstance(99); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try another bad constant pass = false; try { a = AlphaComposite.getInstance(-1); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test2(TestHarness harness) { harness.checkPoint("(int, float)"); AlphaComposite a = AlphaComposite.getInstance(AlphaComposite.SRC, 0.123f); harness.check(a.getRule(), AlphaComposite.SRC); harness.check(a.getAlpha(), 0.123f); // try negative alpha boolean pass = false; try { /* a = */ AlphaComposite.getInstance(AlphaComposite.SRC, -0.01f); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try alpha > 1.0 pass = false; try { /* a = */ AlphaComposite.getInstance(AlphaComposite.SRC, 1.01f); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/AlphaComposite/getInstance14.java0000644000175000001440000000350010271126505024117 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.AlphaComposite; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.AlphaComposite; /** * Some checks for the getInstance() method in the {@link AlphaComposite} class * using constants available since 1.4. */ public class getInstance14 implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // SRC_ATOP AlphaComposite a = AlphaComposite.getInstance(AlphaComposite.SRC_ATOP); harness.check(a.getRule(), AlphaComposite.SRC_ATOP); harness.check(a.getAlpha(), 1.0f); // DST_ATOP a = AlphaComposite.getInstance(AlphaComposite.DST_ATOP); harness.check(a.getRule(), AlphaComposite.DST_ATOP); harness.check(a.getAlpha(), 1.0f); // XOR a = AlphaComposite.getInstance(AlphaComposite.XOR); harness.check(a.getRule(), AlphaComposite.XOR); harness.check(a.getAlpha(), 1.0f); } } mauve-20140821/gnu/testlet/java/awt/AWTException/0000755000175000001440000000000012375316426020261 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/AWTException/constructor.java0000644000175000001440000000343711733061127023510 0ustar dokousers// constructor.java -- // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.AWTException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.AWTException; /** * Check of method constructor for a class AWTException. */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Throwable a; a = new AWTException(""); harness.check(a.getMessage(), ""); a = new AWTException("AWTException"); harness.check(a.getMessage(), "AWTException"); try { throw new AWTException(""); } catch (Throwable t) { harness.check(t.getMessage(), ""); harness.check(t instanceof AWTException); } try { throw new AWTException("AWTException"); } catch (Throwable t) { harness.check(t.getMessage(), "AWTException"); harness.check(t instanceof AWTException); } } } mauve-20140821/gnu/testlet/java/awt/Point/0000755000175000001440000000000012375316426017040 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/Point/constructors.java0000644000175000001440000000361010135425701022440 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Point; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Point; /** * Some checks for the constructors in the {@link Point} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); } private void testConstructor1(TestHarness harness) { Point p = new Point(); harness.check(p.x, 0); harness.check(p.y, 0); } private void testConstructor2(TestHarness harness) { Point p = new Point(1, 2); harness.check(p.x, 1); harness.check(p.y, 2); } private void testConstructor3(TestHarness harness) { Point p = new Point(new Point(2, 3)); harness.check(p.x, 2); harness.check(p.y, 3); try { p = new Point(null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/awt/Point/equals.java0000644000175000001440000000327510135425701021171 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Point; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Point; import java.awt.geom.Point2D; /** * Some checks for the equals() method in the {@link Point} class. */ public class equals implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Point p1 = new Point(); Point p2 = new Point(); harness.check(p1.equals(p2)); p1 = new Point(1, 0); harness.check(!p1.equals(p2)); p2 = new Point(1, 0); harness.check(p1.equals(p2)); p1 = new Point(1, 2); harness.check(!p1.equals(p2)); p2 = new Point(1, 2); harness.check(p1.equals(p2)); harness.check(!p1.equals(null)); Point2D p3 = new Point2D.Double(1.0, 2.0); harness.check(p3.equals(p1)); } } mauve-20140821/gnu/testlet/java/awt/Point/move.java0000644000175000001440000000245110135425701020640 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Point; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Point; /** * Some checks for the move() method in the {@link Point} class. */ public class move implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Point p = new Point(); p.move(4, 5); harness.check(p.x, 4); harness.check(p.y, 5); } } mauve-20140821/gnu/testlet/java/awt/Point/clone.java0000644000175000001440000000253210135425701020772 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Point; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Point; /** * Some checks for the clone() method in the {@link Point} class. */ public class clone implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Point p1 = new Point(10, 11); Point p2 = null; p2 = (Point) p1.clone(); harness.check(p1.equals(p2)); harness.check(p1 != p2); } } mauve-20140821/gnu/testlet/java/awt/Point/translate.java0000644000175000001440000000247410135425701021674 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Point; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Point; /** * Some checks for the translate() method in the {@link Point} class. */ public class translate implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Point p = new Point(1, 2); p.translate(3, 4); harness.check(p.x, 4); harness.check(p.y, 6); } } mauve-20140821/gnu/testlet/java/awt/Point/setLocation.java0000644000175000001440000000517110450256024022160 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2004, 2006, David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.java.awt.Point; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Point; /** * Some checks for the setLocation() method in the {@link Point} class. */ public class setLocation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("setLocation(int, int)"); Point p = new Point(); p.setLocation(4, 5); harness.check(p.x, 4); harness.check(p.y, 5); harness.checkPoint("setLocation(Point)"); p.setLocation(new Point(6, 7)); harness.check(p.x, 6); harness.check(p.y, 7); try { p.setLocation(null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } harness.checkPoint("setLocation(double, double)"); p = new Point(); p.setLocation(1.2, 2.3); harness.check(p.x, 1); harness.check(p.y, 2); p.setLocation(1.51, 2.7); harness.check(p.x, 2); harness.check(p.y, 3); p.setLocation(1.5, 2.5); harness.check(p.x, 2); harness.check(p.y, 3); p.setLocation(-1.5, -2.5); harness.check(p.x, -1); harness.check(p.y, -2); p.setLocation(1.499, 2.499); harness.check(p.x, 1); harness.check(p.y, 2); p.setLocation(Double.NaN, Double.NaN); harness.check(p.x, 0); harness.check(p.y, 0); double bigPos = Integer.MAX_VALUE + 10000.0; double bigNeg = Integer.MIN_VALUE - 10000.0; p.setLocation(bigPos, bigPos); harness.check(p.x, Integer.MAX_VALUE); harness.check(p.y, Integer.MAX_VALUE); p.setLocation(bigNeg, bigNeg); harness.check(p.x, Integer.MIN_VALUE); harness.check(p.y, Integer.MIN_VALUE); } } mauve-20140821/gnu/testlet/java/awt/Point/getLocation.java0000644000175000001440000000266210135425701022146 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.Point; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Point; /** * Some checks for the getLocation() method in the {@link Point} class. */ public class getLocation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Point p = new Point(1, 2); Point l = p.getLocation(); harness.check(l.x, 1); harness.check(l.y, 2); // check independence p.setLocation(4, 5); harness.check(l.x, 1); harness.check(l.y, 2); } } mauve-20140821/gnu/testlet/java/awt/color/0000755000175000001440000000000012375316426017065 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/color/ColorSpace/0000755000175000001440000000000012375316426021117 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/color/ColorSpace/isCS_sRGB.java0000644000175000001440000000225107663427440023503 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Daniel Bonniot // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.color.ColorSpace; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.color.ColorSpace; /** * Checks that isCS_sRGB returns true for ColorSpace.CS_sRGB. */ public class isCS_sRGB implements Testlet { public void test (TestHarness harness) { harness.check(ColorSpace.getInstance(ColorSpace.CS_sRGB).isCS_sRGB()); } } mauve-20140821/gnu/testlet/java/awt/color/ColorSpace/getInstance.java0000644000175000001440000001140110037111564024210 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.color.ColorSpace; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.color.ColorSpace; /** * @author Sascha Brawer */ public class getInstance implements Testlet { public void test(TestHarness h) { test_CS_sRGB(h); test_CS_CIEXYZ(h); test_CS_PYCC(h); test_CS_GRAY(h); test_CS_LINEAR_RGB(h); test_TYPE_GRAY(h); } public void test_CS_sRGB(TestHarness h) { ColorSpace cs; h.checkPoint("CS_sRGB"); cs = ColorSpace.getInstance(ColorSpace.CS_sRGB); h.check(cs.getType(), ColorSpace.TYPE_RGB); // Check #1. h.check(cs.getNumComponents(), 3); // Check #2. checkEpsilon(h, cs.getMinValue(0), 0.0f); // Check #3. checkEpsilon(h, cs.getMaxValue(0), 1.0f); // Check #4. checkEpsilon(h, cs.getMinValue(1), 0.0f); // Check #5. checkEpsilon(h, cs.getMaxValue(1), 1.0f); // Check #6. checkEpsilon(h, cs.getMinValue(2), 0.0f); // Check #7. checkEpsilon(h, cs.getMaxValue(2), 1.0f); // Check #8. } public void test_CS_CIEXYZ(TestHarness h) { ColorSpace cs; h.checkPoint("CS_CIEXYZ"); cs = ColorSpace.getInstance(ColorSpace.CS_CIEXYZ); h.check(cs.getType(), ColorSpace.TYPE_XYZ); // Check #1. h.check(cs.getNumComponents(), 3); // Check #2. checkEpsilon(h, cs.getMinValue(0), 0.0f); // Check #3. checkEpsilon(h, cs.getMaxValue(0), 2.0f); // Check #4. checkEpsilon(h, cs.getMinValue(1), 0.0f); // Check #5. checkEpsilon(h, cs.getMaxValue(1), 2.0f); // Check #6. checkEpsilon(h, cs.getMinValue(2), 0.0f); // Check #7. checkEpsilon(h, cs.getMaxValue(2), 2.0f); // Check #8. } public void test_CS_PYCC(TestHarness h) { ColorSpace cs; h.checkPoint("CS_PYCC"); cs = ColorSpace.getInstance(ColorSpace.CS_PYCC); h.check(cs.getType(), ColorSpace.TYPE_3CLR); // Check #1. h.check(cs.getNumComponents(), 3); // Check #2. checkEpsilon(h, cs.getMinValue(0), 0.0f); // Check #3. checkEpsilon(h, cs.getMaxValue(0), 1.0f); // Check #4. checkEpsilon(h, cs.getMinValue(1), 0.0f); // Check #5. checkEpsilon(h, cs.getMaxValue(1), 1.0f); // Check #6. checkEpsilon(h, cs.getMinValue(2), 0.0f); // Check #7. checkEpsilon(h, cs.getMaxValue(2), 1.0f); // Check #8. } public void test_CS_GRAY(TestHarness h) { ColorSpace cs; h.checkPoint("CS_GRAY"); cs = ColorSpace.getInstance(ColorSpace.CS_GRAY); h.check(cs.getType(), ColorSpace.TYPE_GRAY); // Check #1. h.check(cs.getNumComponents(), 1); // Check #2. h.check(cs.getMinValue(0), 0.0f); // Check #3. h.check(cs.getMaxValue(0), 1.0f); // Check #4. } public void test_CS_LINEAR_RGB(TestHarness h) { ColorSpace cs; h.checkPoint("CS_LINEAR_RGB"); cs = ColorSpace.getInstance(ColorSpace.CS_LINEAR_RGB); h.check(cs.getType(), ColorSpace.TYPE_RGB); // Check #1. h.check(cs.getNumComponents(), 3); // Check #2. checkEpsilon(h, cs.getMinValue(0), 0.0f); // Check #3. checkEpsilon(h, cs.getMaxValue(0), 1.0f); // Check #4. checkEpsilon(h, cs.getMinValue(1), 0.0f); // Check #5. checkEpsilon(h, cs.getMaxValue(1), 1.0f); // Check #6. checkEpsilon(h, cs.getMinValue(2), 0.0f); // Check #7. checkEpsilon(h, cs.getMaxValue(2), 1.0f); // Check #8. } public void test_TYPE_GRAY(TestHarness h) { Throwable caught = null; h.checkPoint("TYPE_GRAY"); try { ColorSpace.getInstance(ColorSpace.TYPE_GRAY); } catch (Exception ex) { caught = ex; } h.check(caught instanceof IllegalArgumentException); // Check #1. } private static void checkEpsilon(TestHarness h, float value, float expected) { if (Math.abs(value - expected) < 0.001f) h.check(true); else h.check(value, expected); } } mauve-20140821/gnu/testlet/java/awt/RenderingHints/0000755000175000001440000000000012375316426020672 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/RenderingHints/constructors.java0000644000175000001440000000475110113710570024276 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.RenderingHints; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.RenderingHints; /** * Some checks for the constructors in the {@link RenderingHints} * class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("RenderingHints(Map)"); testConstructor1(harness); harness.checkPoint("RenderingHints(Key, Object)"); testConstructor2(harness); } public void testConstructor1(TestHarness harness) { RenderingHints h = new RenderingHints(null); harness.check(h.isEmpty()); harness.check(h.size(), 0); } public void testConstructor2(TestHarness harness) { // it isn't clear from the spec whether a null key is acceptable, but to be // consistent with the put(key, value) method it should throw a // NullPointerException boolean pass = false; try { RenderingHints h = new RenderingHints( null, RenderingHints.VALUE_ALPHA_INTERPOLATION_DEFAULT ); } catch (NullPointerException e) { pass = true; } harness.check(pass); // it isn't clear from the spec whether a null value is acceptable, but to be // consistent with the put(key, value) method it should throw a // NullPointerException pass = false; try { RenderingHints h = new RenderingHints( RenderingHints.KEY_ALPHA_INTERPOLATION, null ); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/RenderingHints/equals.java0000644000175000001440000000346010113710570023014 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.RenderingHints; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.HashMap; import java.util.Map; import java.awt.RenderingHints; /** * Some checks for the equals() method in the {@link RenderingHints} class. */ public class equals implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { RenderingHints h1 = new RenderingHints( RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_OFF ); RenderingHints h2 = new RenderingHints( RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_OFF ); harness.check(h1.equals(h2)); harness.check(!h1.equals(null)); Map m = new HashMap(); m.put(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_OFF); harness.check(h1.equals(m)); harness.check(m.equals(h1)); } } mauve-20140821/gnu/testlet/java/awt/RenderingHints/putAll.java0000644000175000001440000000664710113710570022775 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.RenderingHints; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.HashMap; import java.util.Map; import java.awt.RenderingHints; /** * Some checks for the putAll() method in the {@link RenderingHints} class. */ public class putAll implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { RenderingHints h1 = new RenderingHints(null); h1.put(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_OFF); h1.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); RenderingHints h2 = new RenderingHints(null); h2.put(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); h2.put(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); h1.putAll(h2); harness.check(h1.size() == 3); harness.check(h1.containsKey(RenderingHints.KEY_RENDERING)); harness.check(h1.get(RenderingHints.KEY_TEXT_ANTIALIASING).equals(RenderingHints.VALUE_TEXT_ANTIALIAS_ON)); // adding a value that is not compatible with the key generates an // IllegalArgumentException... Map m = new HashMap(); m.put("A", "B"); boolean pass = false; try { h1.putAll(m); } catch (IllegalArgumentException e) { pass = true; } catch (ClassCastException e) { pass = true; } harness.check(pass); // adding a null value for a valid key should generate an // IllegalArgumentException or a NullPointerException depending // on the order of the checks... m.clear(); m.put(RenderingHints.KEY_DITHERING, null); pass = false; try { h1.putAll(m); } catch (IllegalArgumentException e) { pass = true; } catch (NullPointerException e) { pass = true; } harness.check(pass); // adding a key that is not a RenderingHints.Key generates a // ClassCastException (or possibly a NullPointerException if // the second argument is checked first)... m.clear(); m.put(new Integer(1), null); pass = false; try { h1.putAll(m); } catch (ClassCastException e) { pass = true; } catch (NullPointerException e) { pass = true; } harness.check(pass); // adding a null key generates a NullPointerException... pass = false; try { h1.putAll(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/RenderingHints/isEmpty.java0000644000175000001440000000271210113710570023153 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.RenderingHints; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.RenderingHints; /** * Some checks for the isEmpty() method in the {@link RenderingHints} class. */ public class isEmpty implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { RenderingHints h1 = new RenderingHints( RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_OFF ); harness.check(!h1.isEmpty()); h1.clear(); harness.check(h1.isEmpty()); } } mauve-20140821/gnu/testlet/java/awt/RenderingHints/clone.java0000644000175000001440000000354510113710570022626 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.RenderingHints; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.RenderingHints; /** * Some checks for the clone() method in the {@link RenderingHints} class. */ public class clone implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { RenderingHints h1 = new RenderingHints( RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_OFF ); RenderingHints h2 = (RenderingHints) h1.clone(); harness.check(h2.containsKey(RenderingHints.KEY_TEXT_ANTIALIASING)); harness.check(h2.get(RenderingHints.KEY_TEXT_ANTIALIASING).equals(RenderingHints.VALUE_TEXT_ANTIALIAS_OFF)); // check that updating h1 doesn't affect h2 h1.clear(); harness.check(h2.containsKey(RenderingHints.KEY_TEXT_ANTIALIASING)); harness.check(h2.get(RenderingHints.KEY_TEXT_ANTIALIASING).equals(RenderingHints.VALUE_TEXT_ANTIALIAS_OFF)); } } mauve-20140821/gnu/testlet/java/awt/RenderingHints/values.java0000644000175000001440000000321010113710570023012 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.RenderingHints; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Collection; import java.awt.RenderingHints; /** * Some checks for the values() method in the {@link RenderingHints} class. */ public class values implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { RenderingHints h1 = new RenderingHints(null); Collection v1 = h1.values(); harness.check(v1.isEmpty()); h1.put(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_DISABLE); // the values collection is backed by the RenderingHints, so it updates harness.check(v1.size() == 1); harness.check(v1.contains(RenderingHints.VALUE_DITHER_DISABLE)); } } mauve-20140821/gnu/testlet/java/awt/RenderingHints/size.java0000644000175000001440000000313210113710570022470 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.RenderingHints; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.RenderingHints; /** * Some checks for the size() method in the {@link RenderingHints} class. */ public class size implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { RenderingHints h1 = new RenderingHints(null); harness.check(h1.size() == 0); h1.put(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_DISABLE); harness.check(h1.size() == 1); h1.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF); harness.check(h1.size() == 2); h1.clear(); harness.check(h1.size() == 0); } } mauve-20140821/gnu/testlet/java/awt/RenderingHints/add.java0000644000175000001440000000340610113710570022252 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.RenderingHints; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.RenderingHints; /** * Some checks for the add() method in the {@link RenderingHints} class. */ public class add implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { RenderingHints h1 = new RenderingHints( RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_OFF ); RenderingHints h2 = new RenderingHints( RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON ); h1.add(h2); harness.check(h1.size() == 2); harness.check(h1.containsKey(RenderingHints.KEY_ANTIALIASING)); boolean pass = false; try { h1.add(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/RenderingHints/keySet.java0000644000175000001440000000277210113710570022773 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.RenderingHints; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Set; import java.awt.RenderingHints; /** * Some checks for the keySet() method in the {@link RenderingHints} class. */ public class keySet implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { RenderingHints h1 = new RenderingHints( RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_OFF ); Set k = h1.keySet(); harness.check(k.size() == 1); h1.clear(); harness.check(k.isEmpty()); } } mauve-20140821/gnu/testlet/java/awt/RenderingHints/put.java0000644000175000001440000000602410113710570022331 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.RenderingHints; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.RenderingHints; /** * Some checks for the put() method in the {@link RenderingHints} class. */ public class put implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { RenderingHints h1 = new RenderingHints( RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_OFF ); h1.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); harness.check(h1.size() == 2); harness.check(h1.containsKey(RenderingHints.KEY_ANTIALIASING)); harness.check(h1.get(RenderingHints.KEY_ANTIALIASING).equals(RenderingHints.VALUE_ANTIALIAS_ON)); // adding a value that is not compatible with the key generates an // IllegalArgumentException... boolean pass = false; try { h1.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // adding a null value for a valid key should generate an // IllegalArgumentException or a NullPointerException depending // on the order of the checks... pass = false; try { h1.put(RenderingHints.KEY_ANTIALIASING, null); } catch (IllegalArgumentException e) { pass = true; } catch (NullPointerException e) { pass = true; } harness.check(pass); // adding a key that is not a RenderingHints.Key generates a // ClassCastException (or possibly a NullPointerException if // the second argument is checked first)... pass = false; try { h1.put(new Integer(1), null); } catch (ClassCastException e) { pass = true; } catch (NullPointerException e) { pass = true; } harness.check(pass); // adding a null key generates a NullPointerException... pass = false; try { h1.put(null, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/RenderingHints/entrySet.java0000644000175000001440000000303410113710570023334 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.RenderingHints; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Set; import java.awt.RenderingHints; /** * Some checks for the entrySet() method in the {@link RenderingHints} * class. */ public class entrySet implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { RenderingHints h1 = new RenderingHints( RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_OFF ); Set s = h1.entrySet(); harness.check(s.size() == 1); h1.clear(); s = h1.entrySet(); harness.check(s.isEmpty()); } } mauve-20140821/gnu/testlet/java/awt/RenderingHints/containsValue.java0000644000175000001440000000312310113710570024331 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.RenderingHints; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.RenderingHints; /** * Some checks for the containsValue() method in the {@link RenderingHints} * class. */ public class containsValue implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { RenderingHints h1 = new RenderingHints( RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_OFF ); harness.check(h1.containsValue(RenderingHints.VALUE_TEXT_ANTIALIAS_OFF)); harness.check(!h1.containsValue(RenderingHints.VALUE_TEXT_ANTIALIAS_ON)); harness.check(!h1.containsValue(null)); } } mauve-20140821/gnu/testlet/java/awt/RenderingHints/containsKey.java0000644000175000001440000000405610113710570024013 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.RenderingHints; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.RenderingHints; /** * Some checks for the containsKey() method in the {@link RenderingHints} * class. */ public class containsKey implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { RenderingHints h = new RenderingHints( RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_OFF ); harness.check(h.containsKey(RenderingHints.KEY_TEXT_ANTIALIASING)); harness.check(!h.containsKey(RenderingHints.KEY_ANTIALIASING)); // an argument that is not a RenderingHint.Key should generate // a ClassCastException... boolean pass = false; try { h.containsKey(new Integer(1)); } catch (ClassCastException e) { pass = true; } harness.check(pass); // the API spec clearly states that a null argument should generate a // NullPointerException... pass = false; try { h.containsKey(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/RenderingHints/Key/0000755000175000001440000000000012375316426021422 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/RenderingHints/Key/isCompatibleValue.java0000644000175000001440000005505510113710570025671 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2004 David Gilbert //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.RenderingHints.Key; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.RenderingHints; /** * Some (brute force) checks for the isCompatibleValue() method of the * {@link RenderingHints.Key} class. */ public class isCompatibleValue implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("KEY_ALPHA_INTERPOLATION"); RenderingHints.Key key = RenderingHints.KEY_ALPHA_INTERPOLATION; harness.check(key.isCompatibleValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_DEFAULT)); harness.check(key.isCompatibleValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY)); harness.check(key.isCompatibleValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_SPEED)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ANTIALIAS_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ANTIALIAS_OFF)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ANTIALIAS_ON)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_COLOR_RENDER_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_COLOR_RENDER_QUALITY)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_COLOR_RENDER_SPEED)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_DITHER_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_DITHER_DISABLE)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_DITHER_ENABLE)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_FRACTIONALMETRICS_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_FRACTIONALMETRICS_OFF)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_FRACTIONALMETRICS_ON)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_INTERPOLATION_BICUBIC)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_INTERPOLATION_BILINEAR)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_RENDER_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_RENDER_QUALITY)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_RENDER_SPEED)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_STROKE_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_STROKE_NORMALIZE)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_STROKE_PURE)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_TEXT_ANTIALIAS_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_TEXT_ANTIALIAS_OFF)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_TEXT_ANTIALIAS_ON)); harness.check(!key.isCompatibleValue(null)); harness.checkPoint("KEY_ANTIALIASING"); key = RenderingHints.KEY_ANTIALIASING; harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_SPEED)); harness.check(key.isCompatibleValue(RenderingHints.VALUE_ANTIALIAS_DEFAULT)); harness.check(key.isCompatibleValue(RenderingHints.VALUE_ANTIALIAS_OFF)); harness.check(key.isCompatibleValue(RenderingHints.VALUE_ANTIALIAS_ON)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_COLOR_RENDER_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_COLOR_RENDER_QUALITY)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_COLOR_RENDER_SPEED)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_DITHER_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_DITHER_DISABLE)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_DITHER_ENABLE)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_FRACTIONALMETRICS_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_FRACTIONALMETRICS_OFF)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_FRACTIONALMETRICS_ON)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_INTERPOLATION_BICUBIC)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_INTERPOLATION_BILINEAR)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_RENDER_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_RENDER_QUALITY)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_RENDER_SPEED)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_STROKE_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_STROKE_NORMALIZE)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_STROKE_PURE)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_TEXT_ANTIALIAS_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_TEXT_ANTIALIAS_OFF)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_TEXT_ANTIALIAS_ON)); harness.check(!key.isCompatibleValue(null)); harness.checkPoint("KEY_COLOR_RENDERING"); key = RenderingHints.KEY_COLOR_RENDERING; harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_SPEED)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ANTIALIAS_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ANTIALIAS_OFF)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ANTIALIAS_ON)); harness.check(key.isCompatibleValue(RenderingHints.VALUE_COLOR_RENDER_DEFAULT)); harness.check(key.isCompatibleValue(RenderingHints.VALUE_COLOR_RENDER_QUALITY)); harness.check(key.isCompatibleValue(RenderingHints.VALUE_COLOR_RENDER_SPEED)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_DITHER_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_DITHER_DISABLE)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_DITHER_ENABLE)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_FRACTIONALMETRICS_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_FRACTIONALMETRICS_OFF)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_FRACTIONALMETRICS_ON)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_INTERPOLATION_BICUBIC)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_INTERPOLATION_BILINEAR)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_RENDER_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_RENDER_QUALITY)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_RENDER_SPEED)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_STROKE_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_STROKE_NORMALIZE)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_STROKE_PURE)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_TEXT_ANTIALIAS_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_TEXT_ANTIALIAS_OFF)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_TEXT_ANTIALIAS_ON)); harness.check(!key.isCompatibleValue(null)); harness.checkPoint("KEY_DITHERING"); key = RenderingHints.KEY_DITHERING; harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_SPEED)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ANTIALIAS_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ANTIALIAS_OFF)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ANTIALIAS_ON)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_COLOR_RENDER_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_COLOR_RENDER_QUALITY)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_COLOR_RENDER_SPEED)); harness.check(key.isCompatibleValue(RenderingHints.VALUE_DITHER_DEFAULT)); harness.check(key.isCompatibleValue(RenderingHints.VALUE_DITHER_DISABLE)); harness.check(key.isCompatibleValue(RenderingHints.VALUE_DITHER_ENABLE)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_FRACTIONALMETRICS_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_FRACTIONALMETRICS_OFF)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_FRACTIONALMETRICS_ON)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_INTERPOLATION_BICUBIC)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_INTERPOLATION_BILINEAR)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_RENDER_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_RENDER_QUALITY)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_RENDER_SPEED)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_STROKE_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_STROKE_NORMALIZE)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_STROKE_PURE)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_TEXT_ANTIALIAS_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_TEXT_ANTIALIAS_OFF)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_TEXT_ANTIALIAS_ON)); harness.check(!key.isCompatibleValue(null)); harness.checkPoint("KEY_FRACTIONALMETRICS"); key = RenderingHints.KEY_FRACTIONALMETRICS; harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_SPEED)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ANTIALIAS_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ANTIALIAS_OFF)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ANTIALIAS_ON)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_COLOR_RENDER_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_COLOR_RENDER_QUALITY)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_COLOR_RENDER_SPEED)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_DITHER_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_DITHER_DISABLE)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_DITHER_ENABLE)); harness.check(key.isCompatibleValue(RenderingHints.VALUE_FRACTIONALMETRICS_DEFAULT)); harness.check(key.isCompatibleValue(RenderingHints.VALUE_FRACTIONALMETRICS_OFF)); harness.check(key.isCompatibleValue(RenderingHints.VALUE_FRACTIONALMETRICS_ON)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_INTERPOLATION_BICUBIC)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_INTERPOLATION_BILINEAR)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_RENDER_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_RENDER_QUALITY)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_RENDER_SPEED)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_STROKE_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_STROKE_NORMALIZE)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_STROKE_PURE)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_TEXT_ANTIALIAS_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_TEXT_ANTIALIAS_OFF)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_TEXT_ANTIALIAS_ON)); harness.check(!key.isCompatibleValue(null)); harness.checkPoint("KEY_INTERPOLATION"); key = RenderingHints.KEY_INTERPOLATION; harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_SPEED)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ANTIALIAS_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ANTIALIAS_OFF)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ANTIALIAS_ON)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_COLOR_RENDER_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_COLOR_RENDER_QUALITY)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_COLOR_RENDER_SPEED)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_DITHER_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_DITHER_DISABLE)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_DITHER_ENABLE)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_FRACTIONALMETRICS_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_FRACTIONALMETRICS_OFF)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_FRACTIONALMETRICS_ON)); harness.check(key.isCompatibleValue(RenderingHints.VALUE_INTERPOLATION_BICUBIC)); harness.check(key.isCompatibleValue(RenderingHints.VALUE_INTERPOLATION_BILINEAR)); harness.check(key.isCompatibleValue(RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_RENDER_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_RENDER_QUALITY)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_RENDER_SPEED)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_STROKE_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_STROKE_NORMALIZE)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_STROKE_PURE)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_TEXT_ANTIALIAS_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_TEXT_ANTIALIAS_OFF)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_TEXT_ANTIALIAS_ON)); harness.check(!key.isCompatibleValue(null)); harness.checkPoint("KEY_RENDERING"); key = RenderingHints.KEY_RENDERING; harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_SPEED)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ANTIALIAS_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ANTIALIAS_OFF)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ANTIALIAS_ON)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_COLOR_RENDER_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_COLOR_RENDER_QUALITY)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_COLOR_RENDER_SPEED)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_DITHER_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_DITHER_DISABLE)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_DITHER_ENABLE)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_FRACTIONALMETRICS_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_FRACTIONALMETRICS_OFF)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_FRACTIONALMETRICS_ON)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_INTERPOLATION_BICUBIC)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_INTERPOLATION_BILINEAR)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR)); harness.check(key.isCompatibleValue(RenderingHints.VALUE_RENDER_DEFAULT)); harness.check(key.isCompatibleValue(RenderingHints.VALUE_RENDER_QUALITY)); harness.check(key.isCompatibleValue(RenderingHints.VALUE_RENDER_SPEED)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_STROKE_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_STROKE_NORMALIZE)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_STROKE_PURE)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_TEXT_ANTIALIAS_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_TEXT_ANTIALIAS_OFF)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_TEXT_ANTIALIAS_ON)); harness.check(!key.isCompatibleValue(null)); harness.checkPoint("KEY_STROKE_CONTROL"); key = RenderingHints.KEY_STROKE_CONTROL; harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_SPEED)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ANTIALIAS_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ANTIALIAS_OFF)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ANTIALIAS_ON)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_COLOR_RENDER_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_COLOR_RENDER_QUALITY)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_COLOR_RENDER_SPEED)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_DITHER_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_DITHER_DISABLE)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_DITHER_ENABLE)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_FRACTIONALMETRICS_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_FRACTIONALMETRICS_OFF)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_FRACTIONALMETRICS_ON)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_INTERPOLATION_BICUBIC)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_INTERPOLATION_BILINEAR)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_RENDER_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_RENDER_QUALITY)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_RENDER_SPEED)); harness.check(key.isCompatibleValue(RenderingHints.VALUE_STROKE_DEFAULT)); harness.check(key.isCompatibleValue(RenderingHints.VALUE_STROKE_NORMALIZE)); harness.check(key.isCompatibleValue(RenderingHints.VALUE_STROKE_PURE)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_TEXT_ANTIALIAS_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_TEXT_ANTIALIAS_OFF)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_TEXT_ANTIALIAS_ON)); harness.check(!key.isCompatibleValue(null)); harness.checkPoint("KEY_TEXT_ANTIALIASING"); key = RenderingHints.KEY_TEXT_ANTIALIASING; harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ALPHA_INTERPOLATION_SPEED)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ANTIALIAS_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ANTIALIAS_OFF)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_ANTIALIAS_ON)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_COLOR_RENDER_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_COLOR_RENDER_QUALITY)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_COLOR_RENDER_SPEED)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_DITHER_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_DITHER_DISABLE)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_DITHER_ENABLE)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_FRACTIONALMETRICS_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_FRACTIONALMETRICS_OFF)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_FRACTIONALMETRICS_ON)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_INTERPOLATION_BICUBIC)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_INTERPOLATION_BILINEAR)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_RENDER_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_RENDER_QUALITY)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_RENDER_SPEED)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_STROKE_DEFAULT)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_STROKE_NORMALIZE)); harness.check(!key.isCompatibleValue(RenderingHints.VALUE_STROKE_PURE)); harness.check(key.isCompatibleValue(RenderingHints.VALUE_TEXT_ANTIALIAS_DEFAULT)); harness.check(key.isCompatibleValue(RenderingHints.VALUE_TEXT_ANTIALIAS_OFF)); harness.check(key.isCompatibleValue(RenderingHints.VALUE_TEXT_ANTIALIAS_ON)); harness.check(!key.isCompatibleValue(null)); } } mauve-20140821/gnu/testlet/java/awt/RenderingHints/remove.java0000644000175000001440000000354410113710570023022 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.RenderingHints; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.RenderingHints; /** * Some checks for the remove() method in the {@link RenderingHints} class. */ public class remove implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { RenderingHints h1 = new RenderingHints(null); Object result = h1.remove(RenderingHints.KEY_ALPHA_INTERPOLATION); harness.check(result == null); h1.put(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); result = h1.remove(RenderingHints.KEY_RENDERING); harness.check(result == RenderingHints.VALUE_RENDER_QUALITY); harness.check(h1.isEmpty()); result = h1.remove(null); harness.check(result == null); boolean pass = false; try { h1.remove(new Integer(1)); } catch (ClassCastException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/RenderingHints/get.java0000644000175000001440000000356610271117151022311 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.RenderingHints; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.RenderingHints; /** * Some checks for the get() method in the {@link RenderingHints} class. */ public class get implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { RenderingHints h1 = new RenderingHints(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_OFF); harness.check(h1.get(RenderingHints.KEY_TEXT_ANTIALIASING).equals( RenderingHints.VALUE_TEXT_ANTIALIAS_OFF)); harness.check(h1.get(RenderingHints.KEY_ALPHA_INTERPOLATION), null); harness.check(h1.get(null) == null); // using a key that is not a RenderingHints.Key generates a // ClassCastException... boolean pass = false; try { h1.get(new Integer(1)); } catch (ClassCastException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/awt/RenderingHints/clear.java0000644000175000001440000000264410113710570022613 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.RenderingHints; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.RenderingHints; /** * Some checks for the clear() method in the {@link RenderingHints} class. */ public class clear implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { RenderingHints h1 = new RenderingHints( RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_OFF ); h1.clear(); harness.check(h1.isEmpty()); } } mauve-20140821/gnu/testlet/java/awt/GridBagLayout/0000755000175000001440000000000012375316426020444 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/GridBagLayout/AdjustForGravity.java0000644000175000001440000002211410445322260024543 0ustar dokousers// Tags: GUI JDK1.0 // Copyright (C) 2006 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with GNU Classpath; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.java.awt.GridBagLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; /** * Test GridBagLayout.AdjustForGravity. */ public class AdjustForGravity implements Testlet { public class MyLayout extends GridBagLayout { public void AdjustForGravity(GridBagConstraints c, Rectangle r) { super.AdjustForGravity(c, r); } } public void test(TestHarness h) { MyLayout l = new MyLayout(); GridBagConstraints c = new GridBagConstraints(); Rectangle r = new Rectangle(4, 4, 10, 10); // Check fill values. Rectangle[] fillRects = { new Rectangle(9, 9, 0, 0), new Rectangle(4, 4, 10, 10), new Rectangle(4, 9, 10, 0), new Rectangle(9, 4, 0, 10) }; for (int i = GridBagConstraints.NONE; i <= GridBagConstraints.VERTICAL; i++) { r = new Rectangle(4, 4, 10, 10); c.fill = i; l.AdjustForGravity(c, r); h.check(r.equals(fillRects[i - GridBagConstraints.NONE])); } c.fill = GridBagConstraints.NONE; // Check anchor values. Rectangle[] anchorRects = { new Rectangle(9, 9, 0, 0), new Rectangle(9, 4, 0, 0), new Rectangle(14, 4, 0, 0), new Rectangle(14, 9, 0, 0), new Rectangle(14, 14, 0, 0), new Rectangle(9, 14, 0, 0), new Rectangle(4, 14, 0, 0), new Rectangle(4, 9, 0, 0), new Rectangle(4, 4, 0, 0) }; for (int i = GridBagConstraints.CENTER; i <= GridBagConstraints.NORTHWEST; i++) { r = new Rectangle(4, 4, 10, 10); c.anchor = i; l.AdjustForGravity(c, r); h.check(r.equals(anchorRects[i - GridBagConstraints.CENTER])); } // Check inset values. c.anchor = GridBagConstraints.CENTER; c.fill = GridBagConstraints.NONE; c.insets = new Insets(1, 4, 3, 0); r = new Rectangle(4, 4, 10, 10); l.AdjustForGravity(c, r); h.check(r.equals(new Rectangle(11, 8, 0, 0))); c.anchor = GridBagConstraints.CENTER; c.fill = GridBagConstraints.NONE; c.insets = new Insets(0, 4, 0, 1); r = new Rectangle(4, 4, 10, 10); l.AdjustForGravity(c, r); h.check(r.equals(new Rectangle(10, 9, 0, 0))); c.anchor = GridBagConstraints.CENTER; c.fill = GridBagConstraints.NONE; c.insets = new Insets(2, 4, 3, 2); r = new Rectangle(4, 4, 10, 10); l.AdjustForGravity(c, r); h.check(r.equals(new Rectangle(10, 8, 0, 0))); c.anchor = GridBagConstraints.CENTER; c.fill = GridBagConstraints.NONE; c.insets = new Insets(3, 4, 3, 3); r = new Rectangle(4, 4, 10, 10); l.AdjustForGravity(c, r); h.check(r.equals(new Rectangle(9, 9, 0, 0))); // Check ipad values. c.anchor = GridBagConstraints.CENTER; c.fill = GridBagConstraints.NONE; c.insets = new Insets(0, 0, 0, 0); c.ipadx = 1; c.ipady = 4; r = new Rectangle(4, 4, 10, 10); l.AdjustForGravity(c, r); h.check(r.equals(new Rectangle(8, 7, 1, 4))); c.anchor = GridBagConstraints.CENTER; c.fill = GridBagConstraints.NONE; c.insets = new Insets(0, 0, 0, 0); c.ipadx = 2; c.ipady = 3; r = new Rectangle(4, 4, 10, 10); l.AdjustForGravity(c, r); h.check(r.equals(new Rectangle(8, 7, 2, 3))); c.anchor = GridBagConstraints.CENTER; c.fill = GridBagConstraints.NONE; c.insets = new Insets(0, 0, 0, 0); c.ipadx = 3; c.ipady = 2; r = new Rectangle(4, 4, 10, 10); l.AdjustForGravity(c, r); h.check(r.equals(new Rectangle(7, 8, 3, 2))); c.anchor = GridBagConstraints.CENTER; c.fill = GridBagConstraints.NONE; c.insets = new Insets(0, 0, 0, 0); c.ipadx = 4; c.ipady = 1; r = new Rectangle(4, 4, 10, 10); l.AdjustForGravity(c, r); h.check(r.equals(new Rectangle(7, 8, 4, 1))); c.anchor = GridBagConstraints.CENTER; c.fill = GridBagConstraints.VERTICAL; c.insets = new Insets(0, 0, 0, 0); c.ipadx = 1; c.ipady = 4; r = new Rectangle(4, 4, 10, 10); l.AdjustForGravity(c, r); h.check(r.equals(new Rectangle(8, 4, 1, 10))); c.anchor = GridBagConstraints.CENTER; c.fill = GridBagConstraints.VERTICAL; c.insets = new Insets(0, 0, 0, 0); c.ipadx = 2; c.ipady = 3; r = new Rectangle(4, 4, 10, 10); l.AdjustForGravity(c, r); h.check(r.equals(new Rectangle(8, 4, 2, 10))); c.anchor = GridBagConstraints.CENTER; c.fill = GridBagConstraints.VERTICAL; c.insets = new Insets(0, 0, 0, 0); c.ipadx = 3; c.ipady = 2; r = new Rectangle(4, 4, 10, 10); l.AdjustForGravity(c, r); h.check(r.equals(new Rectangle(7, 4, 3, 10))); c.anchor = GridBagConstraints.CENTER; c.fill = GridBagConstraints.VERTICAL; c.insets = new Insets(0, 0, 0, 0); c.ipadx = 4; c.ipady = 1; r = new Rectangle(4, 4, 10, 10); l.AdjustForGravity(c, r); h.check(r.equals(new Rectangle(7, 4, 4, 10))); // Check weight values. c.anchor = GridBagConstraints.CENTER; c.fill = GridBagConstraints.NONE; c.insets = new Insets(0, 0, 0, 0); c.ipadx = 0; c.ipady = 0; c.weightx = 0.3; c.weighty = 0.3; r = new Rectangle(4, 4, 10, 10); l.AdjustForGravity(c, r); h.check(r.equals(new Rectangle(9, 9, 0, 0))); // Check a range of fill and anchor values. // gridwidth and gridheight have no effect. c.gridwidth = 0; c.gridheight = 0; // gridx and gridy have no effect. c.gridx = 0; c.gridy = 0; // weightx and weighty have no effect. c.weightx = 0; c.weighty = 0; c.ipadx = 1; c.ipady = 2; c.insets.top = 3; c.insets.right = 2; c.insets.bottom = 1; c.insets.left = 0; Rectangle[] allRects = { new Rectangle(40, 28, 1, 2), new Rectangle(5, 9, 71, 40), new Rectangle(5, 28, 71, 2), new Rectangle(40, 9, 1, 40), new Rectangle(40, 9, 1, 2), new Rectangle(5, 9, 71, 40), new Rectangle(5, 9, 71, 2), new Rectangle(40, 9, 1, 40), new Rectangle(75, 9, 1, 2), new Rectangle(5, 9, 71, 40), new Rectangle(5, 9, 71, 2), new Rectangle(75, 9, 1, 40), new Rectangle(75, 28, 1, 2), new Rectangle(5, 9, 71, 40), new Rectangle(5, 28, 71, 2), new Rectangle(75, 9, 1, 40), new Rectangle(75, 47, 1, 2), new Rectangle(5, 9, 71, 40), new Rectangle(5, 47, 71, 2), new Rectangle(75, 9, 1, 40), new Rectangle(40, 47, 1, 2), new Rectangle(5, 9, 71, 40), new Rectangle(5, 47, 71, 2), new Rectangle(40, 9, 1, 40), new Rectangle(5, 47, 1, 2), new Rectangle(5, 9, 71, 40), new Rectangle(5, 47, 71, 2), new Rectangle(5, 9, 1, 40), new Rectangle(5, 28, 1, 2), new Rectangle(5, 9, 71, 40), new Rectangle(5, 28, 71, 2), new Rectangle(5, 9, 1, 40), new Rectangle(5, 9, 1, 2), new Rectangle(5, 9, 71, 40), new Rectangle(5, 9, 71, 2), new Rectangle(5, 9, 1, 40) }; int i = 0; for (int anchor = GridBagConstraints.CENTER; anchor <= GridBagConstraints.NORTHWEST; anchor++) { for (int fill = GridBagConstraints.NONE; fill <= GridBagConstraints.VERTICAL; fill++) { c.anchor = anchor; c.fill = fill; r.x = 5; r.y = 6; r.width = 73; r.height = 44; l.AdjustForGravity(c, r); h.check(r.equals(allRects[i])); i++; } } } public void printConstraints(GridBagConstraints c) { System.out.println("fill = " + c.fill); System.out.println("anchor = " + c.anchor); System.out.println("gridheight = " + c.gridheight); System.out.println("gridwidth = " + c.gridwidth); System.out.println("gridx = " + c.gridx); System.out.println("gridy = " + c.gridy); System.out.println("insets = " + c.insets); System.out.println("ipadx = " + c.ipadx); System.out.println("ipady = " + c.ipady); System.out.println("weightx = " + c.weightx); System.out.println("weighty = " + c.weighty); } public void printRectangle(Rectangle r) { System.out.println("new Rectangle(" + r.x + ", " + r.y + ", " + r.width + ", " + r.height + "),"); } } mauve-20140821/gnu/testlet/java/awt/GridBagLayout/toString.java0000644000175000001440000000234410522150234023104 0ustar dokousers/* toString.java Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.4 package gnu.testlet.java.awt.GridBagLayout; import java.awt.Button; import java.awt.GridBagLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class toString implements Testlet { public void test(TestHarness harness) { GridBagLayout gbl = new GridBagLayout(); harness.check(gbl.toString(), "java.awt.GridBagLayout"); gbl.addLayoutComponent("String", new Button("Button")); harness.check(gbl.toString(), "java.awt.GridBagLayout"); } } mauve-20140821/gnu/testlet/java/awt/Robot/0000755000175000001440000000000012375316426017034 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/Robot/constructors.java0000644000175000001440000000273010166630620022440 0ustar dokousers// Tags: GUI JDK1.3 // Copyright (C) 2004 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.Robot; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Robot; import java.awt.AWTException; /** * Checks that constructors in the {@link Robot} class work * correctly. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test (TestHarness harness) { // default constructor try { Robot r = new Robot (); } catch (AWTException e) { harness.fail ("caught AWT exception: " + e.getMessage ()); } // the test passed if we got here harness.check (true); } } mauve-20140821/gnu/testlet/java/awt/Robot/getPixelColor.java0000644000175000001440000000355310206302132022441 0ustar dokousers// Tags: GUI JDK1.3 // Copyright (C) 2004 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.Robot; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; import java.awt.event.*; import java.awt.AWTException; /** * Checks that getPixelColor in the {@link Robot} class can read a * pixel's color value from the screen. */ public class getPixelColor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test (TestHarness harness) { Robot r = null; // construct robot try { r = new Robot (); } catch (AWTException e) { harness.fail ("caught AWT exception: " + e.getMessage ()); } Frame f = new Frame (); Panel p = new Panel (); p.setBackground (new Color (255, 0, 0)); f.add (p); f.setSize (100, 100); f.setLocation (250, 250); f.show (); r.waitForIdle (); Color c = r.getPixelColor (300, 300); r.waitForIdle (); // check that pixel is red harness.check (c.getRed () == 255 && c.getGreen () == 0 && c.getBlue () == 0); } } mauve-20140821/gnu/testlet/java/awt/Robot/keyRelease.java0000644000175000001440000000426610206302132021754 0ustar dokousers// Tags: GUI JDK1.3 // Copyright (C) 2004 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.Robot; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; import java.awt.event.*; import java.awt.AWTException; /** * Checks that keyRelease in the {@link Robot} class generates a * keyReleased event in a {@link TextField}. */ public class keyRelease implements Testlet { char releaseChar = '\0'; int releaseCount = 0; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test (TestHarness harness) { Robot r = null; // construct robot try { r = new Robot (); } catch (AWTException e) { harness.fail ("caught AWT exception: " + e.getMessage ()); } Frame f = new Frame (); TextField tf = new TextField (); tf.addKeyListener (new KeyAdapter () { public void keyReleased (KeyEvent event) { releaseChar = event.getKeyChar (); releaseCount++; } }); f.add (tf); f.setSize (100, 100); f.setLocation (250, 250); f.show (); r.setAutoDelay (100); // give focus to text field r.mouseMove (300, 300); r.mousePress (InputEvent.BUTTON1_MASK); r.mouseRelease (InputEvent.BUTTON1_MASK); // type 'a' r.keyPress (KeyEvent.VK_A); r.keyRelease (KeyEvent.VK_A); r.waitForIdle (); harness.check (releaseChar == 'a'); harness.check (releaseCount == 1); } } mauve-20140821/gnu/testlet/java/awt/Robot/keyPress.java0000644000175000001440000000450210206302132021461 0ustar dokousers// Tags: GUI JDK1.3 // Copyright (C) 2004 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.Robot; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; import java.awt.event.*; import java.awt.AWTException; /** * Checks that keyPress in the {@link Robot} class generates a * keyPressed event in a {@link TextField}. */ public class keyPress implements Testlet { char pressChar = '\0'; char releaseChar = '\0'; int pressCount = 0; int releaseCount = 0; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test (TestHarness harness) { Robot r = null; // construct robot try { r = new Robot (); } catch (AWTException e) { harness.fail ("caught AWT exception: " + e.getMessage ()); } Frame f = new Frame (); TextField tf = new TextField (); tf.addKeyListener (new KeyAdapter () { public void keyPressed (KeyEvent event) { pressChar = event.getKeyChar (); pressCount++; } public void keyReleased (KeyEvent event) { releaseChar = event.getKeyChar (); releaseCount++; } }); f.add (tf); f.setSize (100, 100); f.setLocation (250, 250); f.show (); r.setAutoDelay (100); // give focus to text field r.mouseMove (300, 300); r.mousePress (InputEvent.BUTTON1_MASK); r.mouseRelease (InputEvent.BUTTON1_MASK); // type 'a' r.keyPress (KeyEvent.VK_A); r.keyRelease (KeyEvent.VK_A); r.waitForIdle (); harness.check (pressChar == 'a'); harness.check (pressCount == 1); } } mauve-20140821/gnu/testlet/java/awt/Robot/mousePress.java0000644000175000001440000000377510206302132022034 0ustar dokousers// Tags: GUI JDK1.3 // Copyright (C) 2004 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.Robot; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; import java.awt.event.*; import java.awt.AWTException; /** * Checks that mousePress in the {@link Robot} class generates a * mousePressed event on a {@link Button}. */ public class mousePress implements Testlet { int mousePressCount = 0; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test (TestHarness harness) { Robot r = null; // construct robot try { r = new Robot (); } catch (AWTException e) { harness.fail ("caught AWT exception: " + e.getMessage ()); } Frame f = new Frame (); Button b = new Button ("test"); b.addMouseListener (new MouseAdapter () { public void mousePressed (MouseEvent event) { mousePressCount++; } }); f.add (b); f.setSize (100, 100); f.setLocation (250, 250); f.show (); r.setAutoDelay (100); // click the button r.mouseMove (300, 300); r.mousePress (InputEvent.BUTTON1_MASK); r.mouseRelease (InputEvent.BUTTON1_MASK); r.waitForIdle (); harness.check (mousePressCount == 1); } } mauve-20140821/gnu/testlet/java/awt/Robot/mouseRelease.java0000644000175000001440000000401110206302132022300 0ustar dokousers// Tags: GUI JDK1.3 // Copyright (C) 2004 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.Robot; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; import java.awt.event.*; import java.awt.AWTException; /** * Checks that mouseRelease in the {@link Robot} class generates a * mouseReleased event on a {@link Button}. */ public class mouseRelease implements Testlet { int mouseReleaseCount = 0; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test (TestHarness harness) { Robot r = null; // construct robot try { r = new Robot (); } catch (AWTException e) { harness.fail ("caught AWT exception: " + e.getMessage ()); } Frame f = new Frame (); Button b = new Button ("test"); b.addMouseListener (new MouseAdapter () { public void mouseReleased (MouseEvent event) { mouseReleaseCount++; } }); f.add (b); f.setSize (100, 100); f.setLocation (250, 250); f.show (); r.setAutoDelay (100); // click the button r.mouseMove (300, 300); r.mousePress (InputEvent.BUTTON1_MASK); r.mouseRelease (InputEvent.BUTTON1_MASK); r.waitForIdle (); harness.check (mouseReleaseCount == 1); } } mauve-20140821/gnu/testlet/java/awt/Robot/security.java0000644000175000001440000000455510450221512021536 0ustar dokousers// Tags: GUI JDK1.3 // Copyright (C) 2006 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.Robot; import java.awt.AWTPermission; import java.awt.GraphicsDevice; import java.awt.GraphicsEnvironment; import java.awt.Robot; import java.security.Permission; import java.util.PropertyPermission; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.TestSecurityManager; public class security implements Testlet { public void test(TestHarness harness) { try { GraphicsDevice gd = GraphicsEnvironment.getLocalGraphicsEnvironment() .getDefaultScreenDevice(); Permission[] createRobot = new Permission[] { new AWTPermission("createRobot")}; Permission[] readProperty = new Permission[] { new PropertyPermission("*", "read")}; TestSecurityManager sm = new TestSecurityManager(harness); try { sm.install(); // throwpoint: java.awt.Robot-Robot() harness.checkPoint("0-arg constructor"); try { sm.prepareChecks(createRobot, readProperty); new Robot(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.awt.Robot-Robot(GraphicsDevice) harness.checkPoint("1-arg constructor"); try { sm.prepareChecks(createRobot, readProperty); new Robot(gd); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } finally { sm.uninstall(); } } catch (Exception ex) { harness.debug(ex); harness.check(false, "Unexpected exception"); } } } mauve-20140821/gnu/testlet/java/awt/Robot/mouseMove.java0000644000175000001440000000433210206302132021634 0ustar dokousers// Tags: GUI JDK1.3 // Copyright (C) 2004 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.Robot; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; import java.awt.event.*; import java.awt.AWTException; /** * Checks that mouseMove in the {@link Robot} class moves the mouse * pointer. */ public class mouseMove implements Testlet { int mouseX = 0; int mouseY = 0; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test (TestHarness harness) { Robot r = null; // construct robot try { r = new Robot (); } catch (AWTException e) { harness.fail ("caught AWT exception: " + e.getMessage ()); } Frame f = new Frame (); Button b = new Button ("test"); b.addMouseListener (new MouseAdapter () { public void mouseClicked (MouseEvent event) { mouseX = event.getX (); mouseY = event.getY (); } }); f.add (b); f.setSize (100, 100); f.setLocation (250, 250); f.show (); r.setAutoDelay (100); // click the button r.mouseMove (300, 300); r.mousePress (InputEvent.BUTTON1_MASK); r.mouseRelease (InputEvent.BUTTON1_MASK); r.waitForIdle (); Insets i = f.getInsets (); // the insets values will only be correct if the window manager // supports the _NET_FRAME_EXTENTS and _NET_REQUEST_FRAME_EXTENTS // hints. harness.check (mouseX + i.left == 50 && mouseY + i.top == 50); } } mauve-20140821/gnu/testlet/java/awt/Robot/createScreenCapture.java0000644000175000001440000000415610206302132023610 0ustar dokousers// Tags: GUI JDK1.3 // Copyright (C) 2004 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.Robot; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; import java.awt.event.*; import java.awt.image.*; import java.awt.AWTException; /** * Checks that createScreenCapture in the {@link Robot} class can * produce a screenshot. */ public class createScreenCapture implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test (TestHarness harness) { Robot r = null; // construct robot try { r = new Robot (); } catch (AWTException e) { harness.fail ("caught AWT exception: " + e.getMessage ()); } Frame f = new Frame (); Panel p = new Panel (); p.setBackground (new Color (255, 0, 0)); f.add (p); f.setSize (500, 500); f.setLocation (0, 0); f.show (); r.waitForIdle (); BufferedImage screenshot = r.createScreenCapture (new Rectangle (50, 50, 100, 100)); // check that captured image is completely red boolean passed = true; for (int i = 0; i < 100; i++) { for (int j = 0; j < 100; j++) { Color c = new Color (screenshot.getRGB (i, j)); if (c.getRed () != 255 || c.getGreen () != 0 || c.getBlue () != 0) passed = false; } } harness.check (passed); } } mauve-20140821/gnu/testlet/java/awt/Robot/mouseWheel.java0000644000175000001440000000447110206302132021776 0ustar dokousers// Tags: GUI JDK1.4 // Copyright (C) 2004 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.Robot; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; import java.awt.event.*; import java.awt.AWTException; /** * Checks that mouseWheel in the {@link Robot} class generates a * {@link MouseWheelEvent} on a {@link Button}. */ public class mouseWheel implements Testlet { int mouseWheelUpCount = 0; int mouseWheelDownCount = 0; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test (TestHarness harness) { Robot r = null; // construct robot try { r = new Robot (); } catch (AWTException e) { harness.fail ("caught AWT exception: " + e.getMessage ()); } Frame f = new Frame (); Button b = new Button ("test"); b.addMouseWheelListener (new MouseWheelListener () { public void mouseWheelMoved (MouseWheelEvent event) { int wheelRotation = event.getWheelRotation (); if (wheelRotation < 0) mouseWheelUpCount += wheelRotation; else mouseWheelDownCount += wheelRotation; } }); f.add (b); f.setSize (100, 100); f.setLocation (250, 250); f.show (); r.setAutoDelay (100); // scroll the mouse wheel up and down r.mouseMove (300, 300); r.mouseWheel (-4); r.mouseWheel (5); r.mouseWheel (-1); r.mouseWheel (3); r.mouseWheel (2); r.mouseWheel (-3); r.waitForIdle (); harness.check (mouseWheelUpCount == -8); harness.check (mouseWheelDownCount == 10); } } mauve-20140821/gnu/testlet/java/awt/Scrollbar/0000755000175000001440000000000012375316426017672 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/Scrollbar/testSetBlockIncrement.java0000644000175000001440000000526010517415040024777 0ustar dokousers/* testSetBlockIncrement.java Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.4 package gnu.testlet.java.awt.Scrollbar; import java.awt.Scrollbar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class testSetBlockIncrement implements Testlet { public void test(TestHarness harness) { Scrollbar bar = new Scrollbar(); // This check shows that the default value of pageIncrement is 10. harness.check(bar.getBlockIncrement(), 10); // These checks show that it is not possible to set pageIncrement // to 0. Instead, it is set to 1. bar.setBlockIncrement(0); harness.check(bar.getBlockIncrement(), 1); bar.setBlockIncrement(5); harness.check(bar.getBlockIncrement(), 5); bar.setBlockIncrement(0); harness.check(bar.getBlockIncrement(), 1); // These checks show that there was unnecessary code in the method. // The unnecessary code would produce a value of 9 as the pageIncrement, // when in fact it should be set to 30. // NOTE: It is no longer necessary to check if // (maximum - minimum) == 0 because maximum will never equal minimum. bar.setMaximum(10); bar.setMinimum(1); harness.check(bar.getMaximum(), 10); harness.check(bar.getMinimum(), 1); harness.check(bar.getBlockIncrement(), 1); bar.setBlockIncrement(30); harness.check(bar.getBlockIncrement(), 30); harness.check(bar.getBlockIncrement() != 9); // This test ensures that pageIncrement is not effected // if it is greater than the range. bar.setValues(1,1,1,2); harness.check(bar.getValue(), 1); harness.check(bar.getVisibleAmount(), 1); harness.check(bar.getMinimum(), 1); harness.check(bar.getMaximum(), 2); bar.setBlockIncrement(4); harness.check(bar.getBlockIncrement() > (bar.getMaximum() - bar.getMinimum())); harness.check(bar.getBlockIncrement() == 4); harness.check(bar.getBlockIncrement() != (bar.getMaximum() - bar.getMinimum())); } } mauve-20140821/gnu/testlet/java/awt/Scrollbar/ScrollbarPaintTest.java0000644000175000001440000000547111642275422024317 0ustar dokousers/* ScrollbarPaintTest.java -- Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GUI, JDK 1.0 package gnu.testlet.java.awt.Scrollbar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.Scrollbar; public class ScrollbarPaintTest extends Panel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame f = new Frame(); Scrollbar c = new Scrollbar(); add(c); f.add(this); f.pack(); f.show(); // AWT robot is used for reading pixel colors // from a screen and also to wait for all // widgets to stabilize theirs size and position. Robot r = harness.createRobot(); r.delay(1000); // we should wait a moment before the computations // and pixel checks r.waitForIdle(); Rectangle bounds = c.getBounds(); Point loc = f.getLocationOnScreen(); Insets i = f.getInsets(); loc.x += i.left + bounds.x; loc.y += i.top + bounds.y; bounds.x += i.left; bounds.y += i.top; bounds.width -= (i.left + i.right); bounds.height -= (i.top + i.bottom); // check the color of a pixel located in the button center Color scroll = r.getPixelColor(loc.x + bounds.width, loc.y + bounds.height/2); // Check if scrollbar was painted. harness.check(!(scroll.equals(Color.red))); // There is a delay to avoid any race conditions // and so user can see frame r.waitForIdle(); r.delay(1000); // it's necesarry to clean up f.dispose(); } public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Scrollbar/testSetUnitIncrement.java0000644000175000001440000000524610517415040024670 0ustar dokousers/* testSetUnitIncrement.java Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.4 package gnu.testlet.java.awt.Scrollbar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Scrollbar; public class testSetUnitIncrement implements Testlet { public void test(TestHarness harness) { Scrollbar bar = new Scrollbar(); // This check shows that the default value of lineIncrement is 1. harness.check(bar.getUnitIncrement(), 1); // These checks show that it is not possible to set lineIncrement // to 0. Instead, it is set to 1. bar.setUnitIncrement(0); harness.check(bar.getUnitIncrement(), 1); bar.setUnitIncrement(5); harness.check(bar.getUnitIncrement(), 5); bar.setUnitIncrement(0); harness.check(bar.getUnitIncrement(), 1); // These checks show that there was unnecessary code in the method. // The unnecessary code would produce a value of 9 as the lineIncrement, // when in fact it should be set to 30. // NOTE: It is no longer necessary to check if // (maximum - minimum) == 0 because maximum will never equal minimum. bar.setMaximum(10); bar.setMinimum(1); harness.check(bar.getMaximum(), 10); harness.check(bar.getMinimum(), 1); harness.check(bar.getUnitIncrement(), 1); bar.setUnitIncrement(30); harness.check(bar.getUnitIncrement(), 30); harness.check(bar.getUnitIncrement() != 9); // This test ensures that pageIncrement is not effected // if it is greater than the range. bar.setValues(1,1,1,2); harness.check(bar.getValue(), 1); harness.check(bar.getVisibleAmount(), 1); harness.check(bar.getMinimum(), 1); harness.check(bar.getMaximum(), 2); bar.setBlockIncrement(4); harness.check(bar.getBlockIncrement() > (bar.getMaximum() - bar.getMinimum())); harness.check(bar.getBlockIncrement() == 4); harness.check(bar.getBlockIncrement() != (bar.getMaximum() - bar.getMinimum())); } } mauve-20140821/gnu/testlet/java/awt/Scrollbar/testSetValues.java0000644000175000001440000001436610517415040023346 0ustar dokousers/* testSetValues.java Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.4 package gnu.testlet.java.awt.Scrollbar; import java.awt.Scrollbar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class testSetValues implements Testlet { public void test(TestHarness harness) { test1(harness); test2(harness); test3(harness); test4(harness); test5(harness); test6(harness); test7(harness); test8(harness); test9(harness); test10(harness); test11(harness); } public void test1(TestHarness harness) { // This test ensures that if value < minimum, then // value is set to minimum. Scrollbar bar = new Scrollbar(); bar.setValues(0, 1, 1, 2); harness.check(bar.getValue(), 1); harness.check(bar.getVisibleAmount(), 1); harness.check(bar.getMinimum(), 1); harness.check(bar.getMaximum(), 2); } public void test2(TestHarness harness) { // This test ensures that if visibleAmount < 0, then // it is set to 1. Scrollbar bar = new Scrollbar(); bar.setValues(4, -5, 4, 8); harness.check(bar.getValue(), 4); harness.check(bar.getVisibleAmount(), 1); harness.check(bar.getMinimum(), 4); harness.check(bar.getMaximum(), 8); } public void test3(TestHarness harness) { // This test ensures that if visibleAmount = 0, then // it is set to 1. Scrollbar bar = new Scrollbar(); bar.setValues(0, 0, 5, 10); harness.check(bar.getValue(), 5); harness.check(bar.getVisibleAmount(), 1); harness.check(bar.getMinimum(), 5); harness.check(bar.getMaximum(), 10); } public void test4(TestHarness harness) { // This test ensures that if maximum < minimum, then // maximum is set to minimum + 1. Scrollbar bar = new Scrollbar(); bar.setValues(10, 1, 10, 5); harness.check(bar.getValue(), 10); harness.check(bar.getVisibleAmount(), 1); harness.check(bar.getMinimum(), 10); harness.check(bar.getMaximum(), 11); } public void test5(TestHarness harness) { // This test ensures that if value > maximum - visibleAmount, // then value is set to maximum - visibleAmount. Scrollbar bar = new Scrollbar(); bar.setValues(10, 1, 5, 10); harness.check(bar.getValue(), 9); harness.check(bar.getVisibleAmount(), 1); harness.check(bar.getMinimum(), 5); harness.check(bar.getMaximum(), 10); } public void test6(TestHarness harness) { // This test ensures that if visibleAmount > maximum - minimum, // then visibleAmount is set to maximum - minimum. Scrollbar bar = new Scrollbar(); bar.setValues(5, 30, 5, 20); harness.check(bar.getValue(), 5); harness.check(bar.getVisibleAmount(), 15); harness.check(bar.getMinimum(), 5); harness.check(bar.getMaximum(), 20); } public void test7(TestHarness harness) { // This test ensures that if maximum = minimum, // then maximum is set to maximum + 1. Scrollbar bar = new Scrollbar(); bar.setValues(5, 10, 20, 20); harness.check(bar.getValue(), 20); harness.check(bar.getVisibleAmount(), 1); harness.check(bar.getMinimum(), 20); harness.check(bar.getMaximum(), 21); } public void test8(TestHarness harness) { // This test ensures that if negative values are passed // as the value, minimum and maximum values, then // there is no effect. That is, they are not rejected or // made positive. Scrollbar bar = new Scrollbar(); bar.setValues(-3, -2, -4, -8); harness.check(bar.getValue(), -4); harness.check(bar.getVisibleAmount(), 1); harness.check(bar.getMinimum(), -4); harness.check(bar.getMaximum(), -3); } public void test9(TestHarness harness) { // This test is taken from Intel's test suite // (test.java.awt.ScrollbarTest). It passes on Sun // but fails on Classpath. Scrollbar bar = new Scrollbar(); bar.setValues(0, 10, -100, 100); harness.check(bar.getValue(), 0); harness.check(bar.getVisibleAmount(), 10); harness.check(bar.getMinimum(), -100); harness.check(bar.getMaximum(), 100); bar.setMinimum(Integer.MIN_VALUE); harness.check(bar.getValue(), -11); harness.check(bar.getVisibleAmount(), 10); harness.check(bar.getMinimum(), Integer.MIN_VALUE); harness.check(bar.getMaximum(), -1); } public void test10(TestHarness harness) { // This test ensures that lineIncrement is not effected // if it is greater than the range. Scrollbar bar = new Scrollbar(); bar.setValues(1, 1, 1, 2); harness.check(bar.getValue(), 1); harness.check(bar.getVisibleAmount(), 1); harness.check(bar.getMinimum(), 1); harness.check(bar.getMaximum(), 2); bar.setUnitIncrement(4); harness.check(bar.getUnitIncrement() > (bar.getMaximum() - bar.getMinimum())); harness.check(bar.getUnitIncrement() == 4); harness.check(bar.getUnitIncrement() != (bar.getMaximum() - bar.getMinimum())); } public void test11(TestHarness harness) { // This test ensures that pageIncrement is not effected // if it is greater than the range. Scrollbar bar = new Scrollbar(); bar.setValues(1,1,1,2); harness.check(bar.getValue(), 1); harness.check(bar.getVisibleAmount(), 1); harness.check(bar.getMinimum(), 1); harness.check(bar.getMaximum(), 2); bar.setBlockIncrement(4); harness.check(bar.getBlockIncrement() > (bar.getMaximum() - bar.getMinimum())); harness.check(bar.getBlockIncrement() == 4); harness.check(bar.getBlockIncrement() != (bar.getMaximum() - bar.getMinimum())); } } mauve-20140821/gnu/testlet/java/awt/IllegalComponentStateException/0000755000175000001440000000000012375316426024063 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/IllegalComponentStateException/constructor.java0000644000175000001440000000401111733061127027277 0ustar dokousers// constructor.java -- // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.awt.IllegalComponentStateException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.IllegalComponentStateException; /** * Check of method constructor for a class IllegalComponentStateException. */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Throwable a; a = new IllegalComponentStateException(""); harness.check(a.getMessage(), ""); a = new IllegalComponentStateException("IllegalComponentStateException"); harness.check(a.getMessage(), "IllegalComponentStateException"); try { throw new IllegalComponentStateException(""); } catch (Throwable t) { harness.check(t.getMessage(), ""); harness.check(t instanceof IllegalComponentStateException); } try { throw new IllegalComponentStateException("IllegalComponentStateException"); } catch (Throwable t) { harness.check(t.getMessage(), "IllegalComponentStateException"); harness.check(t instanceof IllegalComponentStateException); } } } mauve-20140821/gnu/testlet/java/awt/TextArea/0000755000175000001440000000000012375316426017464 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/TextArea/constructors.java0000644000175000001440000001373310451167057023103 0ustar dokousers/* constructors.java -- some checks for the constructors in the TextField class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.1 package gnu.testlet.java.awt.TextArea; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.TextArea; public class constructors implements Testlet { public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("()"); TextArea ta = new TextArea(); harness.check(ta.getText(), ""); harness.check(ta.isEditable()); harness.check(ta.getColumns(), 0); harness.check(ta.getScrollbarVisibility(), TextArea.SCROLLBARS_BOTH); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(int, int)"); TextArea ta = new TextArea(3, 7); harness.check(ta.getText(), ""); harness.check(ta.isEditable()); harness.check(ta.getColumns(), 7); harness.check(ta.getRows(), 3); harness.check(ta.getScrollbarVisibility(), TextArea.SCROLLBARS_BOTH); // try negative rows ta = new TextArea(-1, 7); harness.check(ta.getText(), ""); harness.check(ta.isEditable()); harness.check(ta.getRows(), 0); harness.check(ta.getColumns(), 7); harness.check(ta.getScrollbarVisibility(), TextArea.SCROLLBARS_BOTH); // try negative columns ta = new TextArea(3, -7); harness.check(ta.getText(), ""); harness.check(ta.isEditable()); harness.check(ta.getRows(), 3); harness.check(ta.getColumns(), 0); harness.check(ta.getScrollbarVisibility(), TextArea.SCROLLBARS_BOTH); } public void testConstructor3(TestHarness harness) { harness.checkPoint("(String)"); TextArea ta = new TextArea("ABC"); harness.check(ta.getText(), "ABC"); harness.check(ta.isEditable()); harness.check(ta.getRows(), 0); harness.check(ta.getColumns(), 0); harness.check(ta.getScrollbarVisibility(), TextArea.SCROLLBARS_BOTH); // try null ta = new TextArea(null); harness.check(ta.getText(), ""); harness.check(ta.isEditable()); harness.check(ta.getRows(), 0); harness.check(ta.getColumns(), 0); harness.check(ta.getScrollbarVisibility(), TextArea.SCROLLBARS_BOTH); } public void testConstructor4(TestHarness harness) { harness.checkPoint("(String, int, int)"); TextArea ta = new TextArea("ABC", 3, 7); harness.check(ta.getText(), "ABC"); harness.check(ta.isEditable()); harness.check(ta.getRows(), 3); harness.check(ta.getColumns(), 7); harness.check(ta.getScrollbarVisibility(), TextArea.SCROLLBARS_BOTH); // try null ta = new TextArea(null, 3, 7); harness.check(ta.getText(), ""); harness.check(ta.isEditable()); harness.check(ta.getRows(), 3); harness.check(ta.getColumns(), 7); harness.check(ta.getScrollbarVisibility(), TextArea.SCROLLBARS_BOTH); // try negative rows ta = new TextArea("ABC", -3, 7); harness.check(ta.getText(), "ABC"); harness.check(ta.isEditable()); harness.check(ta.getRows(), 0); harness.check(ta.getColumns(), 7); harness.check(ta.getScrollbarVisibility(), TextArea.SCROLLBARS_BOTH); // try negative columns ta = new TextArea("ABC", 3, -7); harness.check(ta.getText(), "ABC"); harness.check(ta.isEditable()); harness.check(ta.getRows(), 3); harness.check(ta.getColumns(), 0); harness.check(ta.getScrollbarVisibility(), TextArea.SCROLLBARS_BOTH); } public void testConstructor5(TestHarness harness) { harness.checkPoint("(String, int, int, int)"); TextArea ta = new TextArea("ABC", 3, 7, TextArea.SCROLLBARS_VERTICAL_ONLY); harness.check(ta.getText(), "ABC"); harness.check(ta.isEditable()); harness.check(ta.getRows(), 3); harness.check(ta.getColumns(), 7); harness.check(ta.getScrollbarVisibility(), TextArea.SCROLLBARS_VERTICAL_ONLY); // try null ta = new TextArea(null, 3, 7, TextArea.SCROLLBARS_VERTICAL_ONLY); harness.check(ta.getText(), ""); harness.check(ta.isEditable()); harness.check(ta.getRows(), 3); harness.check(ta.getColumns(), 7); harness.check(ta.getScrollbarVisibility(), TextArea.SCROLLBARS_VERTICAL_ONLY); // try negative rows ta = new TextArea("ABC", -3, 7, TextArea.SCROLLBARS_VERTICAL_ONLY); harness.check(ta.getText(), "ABC"); harness.check(ta.isEditable()); harness.check(ta.getRows(), 0); harness.check(ta.getColumns(), 7); harness.check(ta.getScrollbarVisibility(), TextArea.SCROLLBARS_VERTICAL_ONLY); // try negative columns ta = new TextArea("ABC", 3, -7, TextArea.SCROLLBARS_VERTICAL_ONLY); harness.check(ta.getText(), "ABC"); harness.check(ta.isEditable()); harness.check(ta.getRows(), 3); harness.check(ta.getColumns(), 0); harness.check(ta.getScrollbarVisibility(), TextArea.SCROLLBARS_VERTICAL_ONLY); // try bad scroll bar visibility ta = new TextArea("ABC", 3, -7, 999); harness.check(ta.getText(), "ABC"); harness.check(ta.isEditable()); harness.check(ta.getRows(), 3); harness.check(ta.getColumns(), 0); harness.check(ta.getScrollbarVisibility(), TextArea.SCROLLBARS_BOTH); } } mauve-20140821/gnu/testlet/java/awt/TextArea/ScrollbarPaintTest.java0000644000175000001440000000447710404344735024115 0ustar dokousers/* ScrollbarPaintTest.java -- Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GUI, JDK 1.0 package gnu.testlet.java.awt.TextArea; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Insets; import java.awt.Panel; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.TextArea; public class ScrollbarPaintTest extends Panel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame f = new Frame(); TextArea c = new TextArea("", 2, 20, TextArea.SCROLLBARS_VERTICAL_ONLY); add(c); f.add(this); f.pack(); f.show(); Rectangle bounds = c.getBounds(); Insets i = f.getInsets(); Point loc = f.getLocationOnScreen(); loc.x += i.left + bounds.x; loc.y += i.top + bounds.y; Robot r = harness.createRobot(); Color scroll = r.getPixelColor(loc.x + bounds.width - i.left, loc.y + bounds.height/2); harness.check(!(scroll.equals(Color.red))); // There is a delay to avoid any race conditions // and so user can see frame r.waitForIdle(); r.delay(2000); } public void paint(Graphics g) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); g.drawImage(offScr, 0, 0, null); offG.dispose(); } } mauve-20140821/gnu/testlet/java/awt/TextArea/testInvalidConstructorValues.java0000644000175000001440000000442310451265604026240 0ustar dokousers/* testInvalidConstructorValues.java Copyright (C) 2006 Tania Bento This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.4 package gnu.testlet.java.awt.TextArea; import java.awt.TextArea; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class testInvalidConstructorValues implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TextArea a = new TextArea(1, 1); harness.check(a.getRows(), 1); harness.check(a.getColumns(), 1); TextArea b = new TextArea(0, 0); harness.check(b.getRows(), 0); harness.check(b.getColumns(), 0); TextArea c = new TextArea(- 1, - 1); harness.check(c.getRows(), 0); harness.check(c.getColumns(), 0); TextArea d = new TextArea("", 1, 1, - 1); harness.check(d.getScrollbarVisibility(), d.SCROLLBARS_BOTH); TextArea e = new TextArea("", 1, 1, 0); harness.check(e.getScrollbarVisibility(), e.SCROLLBARS_BOTH); TextArea f = new TextArea("", 1, 1, 1); harness.check(f.getScrollbarVisibility(), f.SCROLLBARS_VERTICAL_ONLY); TextArea g = new TextArea("", 1, 1, 2); harness.check(g.getScrollbarVisibility(), g.SCROLLBARS_HORIZONTAL_ONLY); TextArea h = new TextArea("", 1, 1, 3); harness.check(h.getScrollbarVisibility(), h.SCROLLBARS_NONE); TextArea i = new TextArea("", 1, 1, 10); harness.check(i.getScrollbarVisibility(), i.SCROLLBARS_BOTH); TextArea j = new TextArea(null); harness.check(j.getText(), ""); } } mauve-20140821/gnu/testlet/java/awt/TextArea/getMinimumSize.java0000644000175000001440000001133410522727016023270 0ustar dokousers/* getMinimumSize.java Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.1 package gnu.testlet.java.awt.TextArea; import java.awt.Dimension; import java.awt.Font; import java.awt.TextArea; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getMinimumSize implements Testlet { public void test(TestHarness harness) { test1(harness); test2(harness); test3(harness); test4(harness); test5(harness); } public void test1(TestHarness harness) { // Test getMinimumSize() method. TextArea area = new TextArea(); harness.check(area.getSize(), new Dimension()); harness.check(area.getMinimumSize(), new Dimension()); // Check that if mininum size has not been set, then a // Dimension with current number of rows and columns // is returned. harness.check(area.isMinimumSizeSet(), false); area.setSize(new Dimension(4, 8)); harness.check(area.getMinimumSize(), new Dimension(4, 8)); // Check that if minimum size has been set, // then those values are returned. Dimension minSize = new Dimension(5, 16); area.setMinimumSize(minSize); harness.check(area.isMinimumSizeSet()); harness.check(area.getMinimumSize() != minSize); harness.check(area.getMinimumSize(), minSize); } public void test2(TestHarness harness) { // Test getMinimumSize(int, int) method. TextArea area = new TextArea(); // Show that if the values passed are <=, ==, >= or negative, // then no exceptions are thrown. harness.check(area.getSize(), new Dimension()); harness.check(area.getMinimumSize(6, 7), new Dimension()); harness.check(area.getMinimumSize(0, 0), new Dimension()); harness.check(area.getMinimumSize(-4, -7), new Dimension()); // Check that if minimum size not been set, then a // Dimension with size (width, height) is returned. harness.check(area.isMinimumSizeSet(), false); area.setSize(new Dimension(3, 4)); harness.check(area.getMinimumSize(3, 2), new Dimension(3, 4)); // Check that if minimum size has been set, then a // those values are returned. area.setSize(new Dimension(-3, 5)); harness.check(area.getSize(), new Dimension(-3, 5)); area.setMinimumSize(new Dimension(1, 9)); harness.check(area.isMinimumSizeSet()); harness.check(area.getMinimumSize(-1, 1), new Dimension(1, 9)); } public void test3(TestHarness harness) { // This test will show that if peer == null, then the getWidth() // and getHeight() values are used (and not getRows() and getColumns() // or 0 and 0). TextArea area = new TextArea(); area.setBounds(1, 2, 3, 4); harness.check(area.getX(), 1); harness.check(area.getY(), 2); harness.check(area.getWidth(), 3); harness.check(area.getHeight(), 4); harness.check(area.getRows(), 0); harness.check(area.getColumns(), 0); harness.check(area.getPeer() == null); harness.check(area.getMinimumSize(), new Dimension(area.getWidth(), area.getHeight())); } public void test4(TestHarness harness) { // This test shows that the text area's font does not // affect the value of its minimum size. TextArea area = new TextArea(); area.setFont(new Font("Dialog-PLAIN-12", Font.ITALIC, 58)); harness.check(area.getMinimumSize(), new Dimension()); area.setFont(new Font("TimesRoman", Font.BOLD, 2)); harness.check(area.getMinimumSize(), new Dimension()); } public void test5(TestHarness harness) { // This test shows that the text area's preferred size // does not affect the value of its minimum size. TextArea area = new TextArea(); area.setPreferredSize(new Dimension(7, 3)); harness.check(area.isPreferredSizeSet()); harness.check(area.getMinimumSize(), new Dimension()); area.setPreferredSize(new Dimension()); harness.check(area.getMinimumSize(), new Dimension()); area.setPreferredSize(new Dimension(-3, -6)); harness.check(area.getMinimumSize(), new Dimension()); } } mauve-20140821/gnu/testlet/java/awt/TextArea/MouseMotionListenerTest.java0000644000175000001440000002015211730411226025137 0ustar dokousers// MouseMotionListenerTest.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.TextArea; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; import java.awt.event.*; /** * Check if MouseMotionListener could be registered for an AWT TextArea * and if action is performed when some of mouse button is pressed. */ public class MouseMotionListenerTest extends Panel implements Testlet { /** * Generated serial version UID. */ private static final long serialVersionUID = 4009815071982906794L; // these flags are set by MouseMotionListener private boolean mouseDraggedButton1Flag = false; private boolean mouseDraggedButton2Flag = false; private boolean mouseDraggedButton3Flag = false; private boolean mouseMovedButton1Flag = false; private boolean mouseMovedButton2Flag = false; private boolean mouseMovedButton3Flag = false; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ @SuppressWarnings("boxing") public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); TextArea textArea = new TextArea("xyzzy"); textArea.setBackground(Color.blue); add(textArea); // register new mouse motion listener textArea.addMouseMotionListener( new MouseMotionListener() { public void mouseDragged(MouseEvent e) { // figure out which mouse button is pressed int modifiers = e.getModifiersEx(); setMouseDraggedButton1Flag(isMouseDraggedButton1Flag() | ((modifiers & InputEvent.BUTTON1_DOWN_MASK) != 0)); setMouseDraggedButton2Flag(isMouseDraggedButton2Flag() | ((modifiers & InputEvent.BUTTON2_DOWN_MASK) != 0)); setMouseDraggedButton3Flag(isMouseDraggedButton3Flag() | ((modifiers & InputEvent.BUTTON3_DOWN_MASK) != 0)); } public void mouseMoved(MouseEvent e) { // figure out which mouse button is pressed int modifiers = e.getModifiersEx(); // none of the modifiers should be set setMouseMovedButton1Flag(isMouseMovedButton1Flag() | ((modifiers & InputEvent.BUTTON1_DOWN_MASK) != 0)); setMouseMovedButton2Flag(isMouseMovedButton2Flag() | ((modifiers & InputEvent.BUTTON2_DOWN_MASK) != 0)); setMouseMovedButton3Flag(isMouseMovedButton3Flag() | ((modifiers & InputEvent.BUTTON3_DOWN_MASK) != 0)); } } ); frame.add(this); frame.pack(); frame.setVisible(true); // AWT robot is used performing some actions // also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); // compute absolute coordinations of textArea on a screen Rectangle bounds = textArea.getBounds(); Point loc = frame.getLocationOnScreen(); Insets i = frame.getInsets(); bounds.x += i.left + loc.x; bounds.y += i.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // check mouse & text area behavior using ALL mouse buttons for (int mouseButton : new Integer[] {InputEvent.BUTTON1_MASK, InputEvent.BUTTON2_MASK, InputEvent.BUTTON3_MASK}) { // move the mouse cursor outside the text area robot.mouseMove(0, 0); robot.waitForIdle(); // move the mouse cursor to a tested pixel to show users what's checked robot.mouseMove(checkedPixelX - 20, checkedPixelY); robot.waitForIdle(); robot.delay(250); robot.mousePress(mouseButton); robot.delay(250); robot.mouseMove(checkedPixelX + 20, checkedPixelY); robot.delay(250); robot.mouseRelease(mouseButton); robot.delay(250); robot.mouseMove(checkedPixelX - 20, checkedPixelY); robot.delay(250); robot.mouseMove(checkedPixelX + 20, checkedPixelY); robot.delay(250); // move the mouse cursor outside the text area robot.mouseMove(0, 0); robot.delay(250); } // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necessary to clean up the component from desktop frame.dispose(); // check if all actions were performed harness.check(isMouseDraggedButton1Flag()); harness.check(isMouseDraggedButton2Flag()); harness.check(isMouseDraggedButton3Flag()); // negative tests harness.check(!isMouseMovedButton1Flag()); harness.check(!isMouseMovedButton2Flag()); harness.check(!isMouseMovedButton3Flag()); } /** * Paint method for our implementation of a Panel */ @Override public void paint(Graphics graphics) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); graphics.drawImage(offScr, 0, 0, null); offG.dispose(); } /** * @param mouseDraggedButton1Flag the mouseDraggedButton1Flag to set */ public void setMouseDraggedButton1Flag(boolean mouseDraggedButton1Flag) { this.mouseDraggedButton1Flag = mouseDraggedButton1Flag; } /** * @return the mouseDraggedButton1Flag */ public boolean isMouseDraggedButton1Flag() { return this.mouseDraggedButton1Flag; } /** * @param mouseDraggedButton2Flag the mouseDraggedButton2Flag to set */ public void setMouseDraggedButton2Flag(boolean mouseDraggedButton2Flag) { this.mouseDraggedButton2Flag = mouseDraggedButton2Flag; } /** * @return the mouseDraggedButton2Flag */ public boolean isMouseDraggedButton2Flag() { return this.mouseDraggedButton2Flag; } /** * @param mouseDraggedButton3Flag the mouseDraggedButton3Flag to set */ public void setMouseDraggedButton3Flag(boolean mouseDraggedButton3Flag) { this.mouseDraggedButton3Flag = mouseDraggedButton3Flag; } /** * @return the mouseDraggedButton3Flag */ public boolean isMouseDraggedButton3Flag() { return this.mouseDraggedButton3Flag; } /** * @param mouseMovedButton1Flag the mouseMovedButton1Flag to set */ public void setMouseMovedButton1Flag(boolean mouseMovedButton1Flag) { this.mouseMovedButton1Flag = mouseMovedButton1Flag; } /** * @return the mouseMovedButton1Flag */ public boolean isMouseMovedButton1Flag() { return this.mouseMovedButton1Flag; } /** * @param mouseMovedButton2Flag the mouseMovedButton2Flag to set */ public void setMouseMovedButton2Flag(boolean mouseMovedButton2Flag) { this.mouseMovedButton2Flag = mouseMovedButton2Flag; } /** * @return the mouseMovedButton2Flag */ public boolean isMouseMovedButton2Flag() { return this.mouseMovedButton2Flag; } /** * @param mouseMovedButton3Flag the mouseMovedButton3Flag to set */ public void setMouseMovedButton3Flag(boolean mouseMovedButton3Flag) { this.mouseMovedButton3Flag = mouseMovedButton3Flag; } /** * @return the mouseMovedButton3Flag */ public boolean isMouseMovedButton3Flag() { return this.mouseMovedButton3Flag; } } mauve-20140821/gnu/testlet/java/awt/TextArea/testAppendText.java0000644000175000001440000000231510451265604023276 0ustar dokousers/* testAppendText.java Copyright (C) 2006 Tania Bento This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.4 package gnu.testlet.java.awt.TextArea; import java.awt.TextArea; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class testAppendText implements Testlet { public void test(TestHarness harness) { TextArea a = new TextArea("Hello"); // Append to the end of text. harness.check(a.getPeer(), null); a.appendText(" World!"); harness.check(a.getText(), "Hello World!"); } } mauve-20140821/gnu/testlet/java/awt/TextArea/MouseListenerTest.java0000644000175000001440000002476611730411226023770 0ustar dokousers// MouseListenerTest.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.TextArea; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; import java.awt.event.*; /** * Check if {@link MouseListener} could be registered for an AWT {@link TextArea} * and if action is performed when some of mouse button is pressed. */ public class MouseListenerTest extends Panel implements Testlet { /** * Generated serial version UID. */ private static final long serialVersionUID = 477052346645513905L; /** * These flags are set by MouseListener */ private boolean mouseClickedButton1Flag = false; private boolean mouseClickedButton2Flag = false; private boolean mouseClickedButton3Flag = false; private boolean mousePressedButton1Flag = false; private boolean mousePressedButton2Flag = false; private boolean mousePressedButton3Flag = false; private boolean mouseReleasedButton1Flag = false; private boolean mouseReleasedButton2Flag = false; private boolean mouseReleasedButton3Flag = false; private boolean mouseEnteredFlag = false; private boolean mouseExitedFlag = false; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ @SuppressWarnings("boxing") public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); TextArea textArea = new TextArea("xyzzy"); textArea.setBackground(Color.blue); add(textArea); // register new mouse listener textArea.addMouseListener( new MouseListener() { public void mouseClicked(MouseEvent e) { // figure out which button is pressed switch (e.getButton()) { case MouseEvent.BUTTON1: setMouseClickedButton1Flag(true); break; case MouseEvent.BUTTON2: setMouseClickedButton2Flag(true); break; case MouseEvent.BUTTON3: setMouseClickedButton3Flag(true); break; default: break; } } public void mouseEntered(MouseEvent e) { setMouseEnteredFlag(true); } public void mouseExited(MouseEvent e) { setMouseExitedFlag(true); } public void mousePressed(MouseEvent e) { // figure out which mouse button is pressed switch (e.getButton()) { case MouseEvent.BUTTON1: setMousePressedButton1Flag(true); break; case MouseEvent.BUTTON2: setMousePressedButton2Flag(true); break; case MouseEvent.BUTTON3: setMousePressedButton3Flag(true); break; default: break; } } public void mouseReleased(MouseEvent e) { // figure out which mouse button was pressed switch (e.getButton()) { case MouseEvent.BUTTON1: setMouseReleasedButton1Flag(true); break; case MouseEvent.BUTTON2: setMouseReleasedButton2Flag(true); break; case MouseEvent.BUTTON3: setMouseReleasedButton3Flag(true); break; default: break; } } } ); frame.add(this); frame.pack(); frame.setVisible(true); // AWT robot is used performing some actions // also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); // compute absolute coordinations of text area on a screen Rectangle bounds = textArea.getBounds(); Point loc = frame.getLocationOnScreen(); Insets i = frame.getInsets(); bounds.x += i.left + loc.x; bounds.y += i.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // check mouse & textArea behavior using ALL mouse buttons for (int mouseTextArea : new Integer[] {InputEvent.BUTTON1_MASK, InputEvent.BUTTON2_MASK, InputEvent.BUTTON3_MASK}) { // move the mouse cursor outside the text area robot.mouseMove(0, 0); robot.waitForIdle(); // move the mouse cursor to a tested pixel to show users what's checked robot.mouseMove(checkedPixelX, checkedPixelY); robot.waitForIdle(); robot.delay(250); // click = press + release robot.mousePress(mouseTextArea); robot.delay(250); robot.mouseRelease(mouseTextArea); robot.delay(250); // move the mouse cursor outside the text area robot.mouseMove(0, 0); robot.delay(250); } // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necessary to clean up the component from desktop frame.dispose(); // check if all actions were correctly performed harness.check(this.isMouseClickedButton1Flag()); harness.check(this.isMouseClickedButton2Flag()); harness.check(this.isMouseClickedButton3Flag()); harness.check(this.isMousePressedButton1Flag()); harness.check(this.isMousePressedButton2Flag()); harness.check(this.isMousePressedButton3Flag()); harness.check(this.isMouseReleasedButton1Flag()); harness.check(this.isMouseReleasedButton2Flag()); harness.check(this.isMouseReleasedButton3Flag()); harness.check(this.isMouseEnteredFlag()); harness.check(this.isMouseExitedFlag()); } /** * Paint method for our implementation of a Panel */ @Override public void paint(Graphics graphics) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); graphics.drawImage(offScr, 0, 0, null); offG.dispose(); } /** * @param mouseEnteredFlag the mouseEnteredFlag to set */ public void setMouseEnteredFlag(boolean mouseEnteredFlag) { this.mouseEnteredFlag = mouseEnteredFlag; } /** * @return the mouseEnteredFlag */ public boolean isMouseEnteredFlag() { return this.mouseEnteredFlag; } /** * @param mouseExitedFlag the mouseExitedFlag to set */ public void setMouseExitedFlag(boolean mouseExitedFlag) { this.mouseExitedFlag = mouseExitedFlag; } /** * @return the mouseExitedFlag */ public boolean isMouseExitedFlag() { return this.mouseExitedFlag; } /** * @param mousePressedButton1Flag the mousePressedButton1Flag to set */ public void setMousePressedButton1Flag(boolean mousePressedButton1Flag) { this.mousePressedButton1Flag = mousePressedButton1Flag; } /** * @return the mousePressedButton1Flag */ public boolean isMousePressedButton1Flag() { return this.mousePressedButton1Flag; } /** * @param mousePressedButton2Flag the mousePressedButton2Flag to set */ public void setMousePressedButton2Flag(boolean mousePressedButton2Flag) { this.mousePressedButton2Flag = mousePressedButton2Flag; } /** * @return the mousePressedButton2Flag */ public boolean isMousePressedButton2Flag() { return this.mousePressedButton2Flag; } /** * @param mousePressedButton3Flag the mousePressedButton3Flag to set */ public void setMousePressedButton3Flag(boolean mousePressedButton3Flag) { this.mousePressedButton3Flag = mousePressedButton3Flag; } /** * @return the mousePressedButton3Flag */ public boolean isMousePressedButton3Flag() { return this.mousePressedButton3Flag; } /** * @param mouseClickedButton1Flag the mouseClickedButton1Flag to set */ public void setMouseClickedButton1Flag(boolean mouseClickedButton1Flag) { this.mouseClickedButton1Flag = mouseClickedButton1Flag; } /** * @return the mouseClickedButton1Flag */ public boolean isMouseClickedButton1Flag() { return this.mouseClickedButton1Flag; } /** * @param mouseClickedButton2Flag the mouseClickedButton2Flag to set */ public void setMouseClickedButton2Flag(boolean mouseClickedButton2Flag) { this.mouseClickedButton2Flag = mouseClickedButton2Flag; } /** * @return the mouseClickedButton2Flag */ public boolean isMouseClickedButton2Flag() { return this.mouseClickedButton2Flag; } /** * @param mouseClickedButton3Flag the mouseClickedButton3Flag to set */ public void setMouseClickedButton3Flag(boolean mouseClickedButton3Flag) { this.mouseClickedButton3Flag = mouseClickedButton3Flag; } /** * @return the mouseClickedButton3Flag */ public boolean isMouseClickedButton3Flag() { return this.mouseClickedButton3Flag; } /** * @param mouseReleasedButton1Flag the mouseReleasedButton1Flag to set */ public void setMouseReleasedButton1Flag(boolean mouseReleasedButton1Flag) { this.mouseReleasedButton1Flag = mouseReleasedButton1Flag; } /** * @return the mouseReleasedButton1Flag */ public boolean isMouseReleasedButton1Flag() { return this.mouseReleasedButton1Flag; } /** * @param mouseReleasedButton2Flag the mouseReleasedButton2Flag to set */ public void setMouseReleasedButton2Flag(boolean mouseReleasedButton2Flag) { this.mouseReleasedButton2Flag = mouseReleasedButton2Flag; } /** * @return the mouseReleasedButton2Flag */ public boolean isMouseReleasedButton2Flag() { return this.mouseReleasedButton2Flag; } /** * @param mouseReleasedButton3Flag the mouseReleasedButton3Flag to set */ public void setMouseReleasedButton3Flag(boolean mouseReleasedButton3Flag) { this.mouseReleasedButton3Flag = mouseReleasedButton3Flag; } /** * @return the mouseReleasedButton3Flag */ public boolean isMouseReleasedButton3Flag() { return this.mouseReleasedButton3Flag; } } mauve-20140821/gnu/testlet/java/awt/TextArea/MouseWheelListenerTest.java0000644000175000001440000001137311730411226024743 0ustar dokousers// MouseWheelListenerTest.java -- // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: GUI // Uses: ../LocationTests package gnu.testlet.java.awt.TextArea; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; import java.awt.event.*; /** * Check if MouseWheelListener could be registered for an AWT TextArea * and if action is performed when mouse wheel is rotated up and down. */ public class MouseWheelListenerTest extends Panel implements Testlet { /** * Generated serial version UID. */ private static final long serialVersionUID = -4774724125231540431L; // these flags are set by MouseWheelListener private boolean mouseWheelScrollUpFlag = false; private boolean mouseWheelScrollDownFlag = false; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setBackground(Color.red); Frame frame = new Frame(); TextArea label = new TextArea("xyzzy"); label.setBackground(Color.blue); add(label); // register new mouse wheel listener label.addMouseWheelListener( new MouseWheelListener() { public void mouseWheelMoved(MouseWheelEvent e) { // figure out if mouse wheel is scrolled up or down setMouseWheelScrollUpFlag(isMouseWheelScrollUpFlag() | (e.getWheelRotation() < 0)); setMouseWheelScrollDownFlag(isMouseWheelScrollDownFlag() | (e.getWheelRotation() > 0)); } } ); frame.add(this); frame.pack(); frame.setVisible(true); // AWT robot is used performing some actions // also to wait for all // widgets to stabilize theirs size and position. Robot robot = harness.createRobot(); // we should wait a moment before the computations // and pixel checks robot.waitForIdle(); robot.delay(1000); // compute absolute coordinations of label on a screen Rectangle bounds = label.getBounds(); Point loc = frame.getLocationOnScreen(); Insets i = frame.getInsets(); bounds.x += i.left + loc.x; bounds.y += i.top + loc.y; // position of checked pixel int checkedPixelX = bounds.x + bounds.width / 2; int checkedPixelY = bounds.y + bounds.height / 2; // move the mouse cursor to a tested pixel to show users what's checked robot.mouseMove(checkedPixelX, checkedPixelY); robot.waitForIdle(); robot.delay(250); robot.mouseWheel(+1); robot.delay(250); robot.mouseWheel(-1); robot.delay(250); // There is a delay to avoid any race conditions // and so user can see frame robot.waitForIdle(); robot.delay(1000); // it's necessary to clean up the component from desktop frame.dispose(); // check if all actions were performed harness.check(isMouseWheelScrollUpFlag()); harness.check(isMouseWheelScrollDownFlag()); } /** * Paint method for our implementation of a Panel */ @Override public void paint(Graphics graphics) { Image offScr = createImage(getSize().width, getSize().height); Graphics offG = offScr.getGraphics(); offG.setClip(0, 0, getSize().width, getSize().height); super.paint(offG); graphics.drawImage(offScr, 0, 0, null); offG.dispose(); } /** * @param mouseWheelScrollUpFlag the mouseWheelScrollUpFlag to set */ public void setMouseWheelScrollUpFlag(boolean mouseWheelScrollUpFlag) { this.mouseWheelScrollUpFlag = mouseWheelScrollUpFlag; } /** * @return the mouseWheelScrollUpFlag */ public boolean isMouseWheelScrollUpFlag() { return this.mouseWheelScrollUpFlag; } /** * @param mouseWheelScrollDownFlag the mouseWheelScrollDownFlag to set */ public void setMouseWheelScrollDownFlag(boolean mouseWheelScrollDownFlag) { this.mouseWheelScrollDownFlag = mouseWheelScrollDownFlag; } /** * @return the mouseWheelScrollDownFlag */ public boolean isMouseWheelScrollDownFlag() { return this.mouseWheelScrollDownFlag; } } mauve-20140821/gnu/testlet/java/awt/TextArea/getPreferredSize.java0000644000175000001440000001143010522727016023570 0ustar dokousers/* getPreferredSize.java Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.1 package gnu.testlet.java.awt.TextArea; import java.awt.Dimension; import java.awt.Font; import java.awt.TextArea; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getPreferredSize implements Testlet { public void test(TestHarness harness) { test1(harness); test2(harness); test3(harness); test4(harness); test5(harness); } public void test1(TestHarness harness) { // Test getPreferredSize() method. TextArea area = new TextArea(); harness.check(area.getSize(), new Dimension()); harness.check(area.getPreferredSize(), new Dimension()); // Check that if preferred size has not been set, then a // Dimension with current number of rows and columns // is returned. harness.check(area.isPreferredSizeSet(), false); area.setSize(new Dimension(4, 8)); harness.check(area.getPreferredSize(), new Dimension(4, 8)); // Check that if preferred size has been set, // then those values are returned. Dimension prefSize = new Dimension(5, 16); area.setPreferredSize(prefSize); harness.check(area.isPreferredSizeSet()); harness.check(area.getPreferredSize() != prefSize); harness.check(area.getPreferredSize(), prefSize); } public void test2(TestHarness harness) { // Test getPreferredSize(int, int) method. TextArea area = new TextArea(); // Show that if the values passed are <=, ==, >= or negative, // then no exceptions are thrown. harness.check(area.getSize(), new Dimension()); harness.check(area.getPreferredSize(6, 7), new Dimension()); harness.check(area.getPreferredSize(0, 0), new Dimension()); harness.check(area.getPreferredSize(-4, -7), new Dimension()); // Check that if preferred size not been set, then a // Dimension with size (width, height) is returned. harness.check(area.isPreferredSizeSet(), false); area.setSize(new Dimension(3, 4)); harness.check(area.getPreferredSize(3, 2), new Dimension(3, 4)); // Check that if preferred size has been set, then a // those values are returned. area.setSize(new Dimension(-3, 5)); harness.check(area.getSize(), new Dimension(-3, 5)); area.setPreferredSize(new Dimension(1, 9)); harness.check(area.isPreferredSizeSet()); harness.check(area.getPreferredSize(-1, 1), new Dimension(1, 9)); } public void test3(TestHarness harness) { // This test will show that if peer == null, then the getWidth() // and getHeight() values are used (and not getRows() and getColumns() // or 0 and 0). TextArea area = new TextArea(); area.setBounds(1, 2, 3, 4); harness.check(area.getX(), 1); harness.check(area.getY(), 2); harness.check(area.getWidth(), 3); harness.check(area.getHeight(), 4); harness.check(area.getRows(), 0); harness.check(area.getColumns(), 0); harness.check(area.getPeer() == null); harness.check(area.getPreferredSize(), new Dimension(area.getWidth(), area.getHeight())); } public void test4(TestHarness harness) { // This test shows that the text area's font does not // affect the value of its preferred size. TextArea area = new TextArea(); area.setFont(new Font("Dialog-PLAIN-12", Font.ITALIC, 58)); harness.check(area.getPreferredSize(), new Dimension()); area.setFont(new Font("TimesRoman", Font.BOLD, 2)); harness.check(area.getPreferredSize(), new Dimension()); } public void test5(TestHarness harness) { // This test shows that the text area's minimum size // does not affect the value of its preferred size. TextArea area = new TextArea(); area.setMinimumSize(new Dimension(7, 3)); harness.check(area.isMinimumSizeSet()); harness.check(area.getMinimumSize(), new Dimension(7, 3)); area.setMinimumSize(new Dimension()); harness.check(area.getMinimumSize(), new Dimension()); area.setMinimumSize(new Dimension(-3, -6)); harness.check(area.getMinimumSize(), new Dimension(-3, -6)); } } mauve-20140821/gnu/testlet/java/awt/TextArea/testInsertText.java0000644000175000001440000000304310451265604023332 0ustar dokousers/* testInsertText.java Copyright (C) 2006 Tania Bento This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.4 package gnu.testlet.java.awt.TextArea; import java.awt.TextArea; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class testInsertText implements Testlet { public void test(TestHarness harness) { TextArea a = new TextArea("World"); // Insert at the beginning of text. harness.check(a.getPeer(), null); a.insertText("Hello ", 0); harness.check(a.getText(), "Hello World"); // Insert at the end of text. harness.check(a.getPeer(), null); a.insertText("!", a.getText().length()); harness.check(a.getText(), "Hello World!"); // Insert in the middle of text. harness.check(a.getPeer(), null); a.insertText(" There", 5); harness.check(a.getText(), "Hello There World!"); } } mauve-20140821/gnu/testlet/java/awt/TextArea/testReplaceText.java0000644000175000001440000000335410451265604023446 0ustar dokousers/* testReplaceText.java Copyright (C) 2006 Tania Bento This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.4 package gnu.testlet.java.awt.TextArea; import java.awt.TextArea; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class testReplaceText implements Testlet { public void test(TestHarness harness) { TextArea a = new TextArea("Goodbye World"); // Replace at the beginning of text. harness.check(a.getPeer(), null); a.replaceText("Hello", 0, 7); harness.check(a.getText(), "Hello World"); // Replace in the middle of text. harness.check(a.getPeer(), null); a.replaceText(" There", 5, 5); harness.check(a.getText(), "Hello There World"); // Replace in the middle of text. harness.check(a.getPeer(), null); a.replaceText("", 6, 12); harness.check(a.getText(), "Hello World"); // Replace at the end of text. harness.check(a.getPeer(), null); a.replaceText("!", a.getText().length(), a.getText().length()); harness.check(a.getText(), "Hello World!"); } } mauve-20140821/gnu/testlet/java/awt/Font/0000755000175000001440000000000012375316426016655 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/FontClass/0000755000175000001440000000000012375316426017643 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/FontClass/serialization.java0000644000175000001440000000365710317307113023361 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2004 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.FontClass; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Font; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectInput; import java.io.ObjectInputStream; import java.io.ObjectOutput; import java.io.ObjectOutputStream; /** * Some checks for serialization of the {@link Font} class. */ public class serialization implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Font f1 = new Font("Dialog", Font.PLAIN, 14); Font f2 = null; try { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); ObjectOutput out = new ObjectOutputStream(buffer); out.writeObject(f1); out.close(); ObjectInput in = new ObjectInputStream( new ByteArrayInputStream(buffer.toByteArray()) ); f2 = (Font) in.readObject(); in.close(); } catch (Exception e) { harness.debug(e); } harness.check(f1.equals(f2)); } } mauve-20140821/gnu/testlet/java/awt/FontClass/decode.java0000644000175000001440000000632510317307113021722 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2005 David Gilbert (david.gilbert@object-refinery.com) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.awt.FontClass; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Font; /** * Some checks for the decode() method. */ public class decode implements Testlet { /** * Some checks for the decode() method. * * @param harness the test harness. */ public void test(TestHarness harness) { // regular usage... Font f1 = Font.decode("Dialog-PLAIN-18"); harness.check(f1.getFamily(), "Dialog"); // check 1 harness.check(f1.getStyle(), Font.PLAIN); // check 2 harness.check(f1.getSize(), 18); // check 3 // spaces are acceptable too... f1 = Font.decode("Dialog BOLD 16"); harness.check(f1.getFamily(), "Dialog"); // check 4 harness.check(f1.getStyle(), Font.BOLD); // check 5 harness.check(f1.getSize(), 16); // check 6 // unknown name defaults to 'Dialog' f1 = Font.decode("123-PLAIN-18"); harness.check(f1.getFamily(), "Dialog"); // check 7 harness.check(f1.getStyle(), Font.PLAIN); // check 8 harness.check(f1.getSize(), 18); // check 9 // style is not case sensitive f1 = Font.decode("Dialog-BoLd-17"); harness.check(f1.getFamily(), "Dialog"); // check 10 harness.check(f1.getStyle(), Font.BOLD); // check 11 harness.check(f1.getSize(), 17); // check 12 // unknown style reverts to PLAIN f1 = Font.decode("Dialog-NotAStyle-18"); harness.check(f1.getFamily(), "Dialog"); // check 13 harness.check(f1.getStyle(), Font.PLAIN); // check 14 harness.check(f1.getSize(), 18); // check 15 // invalid size defaults to 12 f1 = Font.decode("Dialog-BOLDITALIC-ZZ"); harness.check(f1.getFamily(), "Dialog"); // check 16 harness.check(f1.getStyle(), Font.BOLD + Font.ITALIC); // check 17 harness.check(f1.getSize(), 12); // check 18 f1 = Font.decode("Dialog"); harness.check(f1.getFamily(), "Dialog"); // check 19 harness.check(f1.getStyle(), Font.PLAIN); // check 20 harness.check(f1.getSize(), 12); // check 21 // null should be equivalent to 'Dialog-PLAIN-12' f1 = Font.decode(null); harness.check(f1.getFamily(), "Dialog"); // check 22 harness.check(f1.getStyle(), Font.PLAIN); // check 23 harness.check(f1.getSize(), 12); // check 24 } }mauve-20140821/gnu/testlet/java/awt/Frame/0000755000175000001440000000000012375316426017001 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/Frame/menubar.java0000644000175000001440000000277610374401362021300 0ustar dokousers// Tags: GUI JDK1.0 // Copyright (C) 2006 Free Software Foundation, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to the Free // Software Foundation,Inc., 51 Franklin Street, Fifth Floor, Boston, // MA 02110-1301 USA. package gnu.testlet.java.awt.Frame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; public class menubar implements Testlet { public void test (TestHarness harness) { Frame f = new Frame(); harness.check(f.getMenuBar(), null); MenuBar mb = new MenuBar(); f.setMenuBar(mb); harness.check(f.getMenuBar(), mb); harness.check(mb.getParent(), f); f.remove(mb); harness.check(f.getMenuBar(), null); harness.check(mb.getParent(), null); f.setMenuBar(mb); harness.check(f.getMenuBar(), mb); harness.check(mb.getParent(), f); f.setMenuBar(null); harness.check(f.getMenuBar(), null); harness.check(mb.getParent(), null); } } mauve-20140821/gnu/testlet/java/awt/Frame/size1.java0000644000175000001440000000515310377121477020703 0ustar dokousers// Tags: GUI JDK1.0 // Copyright (C) 2004 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.Frame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.awt.LocationTests; import java.awt.*; /** * Check that a frame's size is set correctly when it is initially * shown. */ public class size1 implements Testlet { // a random background color that is unlikely to be used by the // window decorations. static Color nonWMColor = new Color (243, 133, 89); class testFrame extends Frame { Color c; public testFrame (Color c) { super (); this.c = c; } public void paint (Graphics g) { Rectangle bounds = new Rectangle (0, 0, this.getSize ().width, this.getSize ().height); g.setColor (c); g.fillRect (bounds.x, bounds.y, bounds.width, bounds.height); } } public void test (TestHarness harness) { Robot r = harness.createRobot (); Color c; testFrame bg = new testFrame (nonWMColor); testFrame fg = new testFrame (new Color (0, 0, 0)); int bg_x = 75; int bg_y = 75; int bg_width = 250; int bg_height = 250; int fg_x = 150; int fg_y = 150; int fg_width = 100; int fg_height = 100; bg.setLocation (bg_x, bg_y); bg.setSize (bg_width, bg_height); fg.setLocation (fg_x, fg_y); fg.setSize (fg_width, fg_height); bg.show (); fg.show (); // There is a delay to avoid any race conditions. r.waitForIdle (); r.delay (100); Rectangle bounds = fg.getBounds(); // check the two pixels adjacent to each corner of the foreground // frame. LocationTests.checkRectangleOuterColors(harness, r, bounds, nonWMColor, true); // check the frame's corner pixels. LocationTests.checkRectangleCornerColors(harness, r, bounds, nonWMColor, false); // There is a delay so the tester can see the result. r.delay (3000); } } mauve-20140821/gnu/testlet/java/awt/Frame/isDisplayable2.java0000644000175000001440000000430011641332706022502 0ustar dokousers// Tags: GUI JDK1.0 // Copyright (C) 2005, 2011 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.Frame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; /** * Tests whether showing a child Dialog causes the parent Frame to * become displayable. */ public class isDisplayable2 implements Testlet { public void test (TestHarness harness) { Frame f = new Frame (); Dialog d = new Dialog (f); Robot r = harness.createRobot (); r.waitForIdle (); // Check that the owner frame is set as the Dialog's parent. harness.checkPoint ("parent check"); harness.check (d.getParent(), f); harness.checkPoint ("before showing"); harness.check (f.getPeer (), null); harness.check (d.getPeer (), null); harness.check (f.isDisplayable (), false); harness.check (d.isDisplayable (), false); d.show (); r.waitForIdle (); // Dialog is shown which makes the Frame displayable. harness.checkPoint ("after showing dialog"); harness.check (f.getPeer () != null); harness.check (d.getPeer () != null); harness.check (f.isDisplayable (), true); harness.check (d.isDisplayable (), true); f.show (); r.waitForIdle (); harness.checkPoint ("after showing frame"); harness.check (f.getPeer () != null); harness.check (d.getPeer () != null); harness.check (f.isDisplayable (), true); harness.check (d.isDisplayable (), true); // time to clean up the frame from desktop f.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Frame/isDisplayable6.java0000644000175000001440000000443711641332706022521 0ustar dokousers// Tags: GUI JDK1.0 // Copyright (C) 2005, 2011 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.Frame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; /** * Tests that adding a not-visible Component to an already-displayable * Frame causes the Component to become displayable. */ public class isDisplayable6 implements Testlet { public void test (TestHarness harness) { Frame f = new Frame (); Button b = new Button (); Robot r = harness.createRobot (); // Hide the button. b.setVisible (false); r.waitForIdle (); harness.checkPoint ("before showing"); harness.check (f.getPeer(), null); harness.check (b.getPeer(), null); harness.check (f.isDisplayable (), false); harness.check (b.isDisplayable (), false); f.show (); r.waitForIdle (); harness.checkPoint ("after showing frame"); harness.check (f.getPeer() != null); harness.check (b.getPeer(), null); harness.check (f.isDisplayable (), true); harness.check (b.isDisplayable (), false); // Check if adding the hidden button causes it to become // displayable. f.add(b); // Check if the button is made visible when it is added. harness.check (!b.isVisible ()); r.waitForIdle (); harness.checkPoint ("after adding button to frame"); harness.check (f.getPeer() != null); harness.check (b.getPeer() != null); harness.check (b.getParent(), f); harness.check (f.isDisplayable (), true); harness.check (b.isDisplayable (), true); // time to clean up the frame from desktop f.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Frame/isDisplayable3.java0000644000175000001440000000421111641332706022504 0ustar dokousers// Tags: GUI JDK1.0 // Copyright (C) 2005, 2011 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.Frame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; /** * Tests whether showing a parent Frame makes a child Component * displayable. */ public class isDisplayable3 implements Testlet { public void test (TestHarness harness) { Frame f = new Frame (); Button b = new Button (); f.add (b); Robot r = harness.createRobot (); r.waitForIdle (); harness.checkPoint ("parent check"); harness.check (b.getParent(), f); harness.checkPoint ("before showing"); harness.check (f.getPeer (), null); harness.check (b.getPeer (), null); harness.check (f.isDisplayable (), false); harness.check (b.isDisplayable (), false); f.show (); r.waitForIdle (); // Showing the parent Frame makes the child Button displayable. harness.checkPoint ("after showing frame"); harness.check (f.getPeer () != null); harness.check (b.getPeer () != null); harness.check (f.isDisplayable (), true); harness.check (b.isDisplayable (), true); b.show (); r.waitForIdle (); harness.checkPoint ("after showing button"); harness.check (f.getPeer () != null); harness.check (b.getPeer () != null); harness.check (f.isDisplayable (), true); harness.check (b.isDisplayable (), true); // time to clean up the frame from desktop f.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Frame/isDisplayable1.java0000644000175000001440000000445711641332706022516 0ustar dokousers// Tags: GUI JDK1.0 // Copyright (C) 2005, 2011 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.Frame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; /** * Tests the behaviour of isDisplayable on Frames and Dialogs. Also * check whether a Dialog's parent's "displayability" affects its * displayability. */ public class isDisplayable1 implements Testlet { public void test (TestHarness harness) { Frame f = new Frame (); Dialog d = new Dialog (f); Robot r = harness.createRobot (); r.waitForIdle (); // Check that the owner frame is set as the Dialog's parent. harness.checkPoint ("parent check"); harness.check (d.getParent(), f); harness.checkPoint ("before showing"); harness.check (f.getPeer (), null); harness.check (d.getPeer (), null); harness.check (f.isDisplayable (), false); harness.check (d.isDisplayable (), false); f.show (); r.waitForIdle (); // Parent Frame is displayable, child Dialog is not. harness.checkPoint ("after showing frame"); harness.check (f.getPeer () != null); harness.check (d.getPeer (), null); harness.check (f.isDisplayable (), true); harness.check (d.isDisplayable (), false); d.show (); r.waitForIdle (); // Dialog becomes displayable after it is shown. harness.checkPoint ("after showing dialog"); harness.check (f.getPeer () != null); harness.check (d.getPeer () != null); harness.check (f.isDisplayable (), true); harness.check (d.isDisplayable (), true); // time to clean up the frame from desktop f.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Frame/isDisplayable7.java0000644000175000001440000000472311641332706022520 0ustar dokousers// Tags: GUI JDK1.0 // Copyright (C) 2005, 2011 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.Frame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; /** * Tests that adding a not-visible Component to a Frame, then showing * the Frame, causes the Component to become displayable. */ public class isDisplayable7 implements Testlet { public void test (TestHarness harness) { Frame f = new Frame (); Button b = new Button (); Robot r = harness.createRobot (); r.waitForIdle (); // Hide the button. b.setVisible (false); // FIXME: this hangs with our Robot implementation: // r.waitForIdle (); f.add (b); // Check if the button is made visible when it is added. harness.check (!b.isVisible ()); r.waitForIdle (); harness.checkPoint ("parent check"); harness.check (b.getParent(), f); harness.checkPoint ("before showing"); harness.check (f.getPeer (), null); harness.check (b.getPeer (), null); harness.check (f.isDisplayable (), false); harness.check (b.isDisplayable (), false); f.show (); r.waitForIdle (); // Check if showing the parent Frame makes the hidden child Button // displayable. harness.checkPoint ("after showing frame"); harness.check (f.getPeer () != null); harness.check (b.getPeer () != null); harness.check (f.isDisplayable (), true); harness.check (b.isDisplayable (), true); b.show (); r.waitForIdle (); harness.checkPoint ("after showing button"); harness.check (f.getPeer () != null); harness.check (b.getPeer () != null); harness.check (f.isDisplayable (), true); harness.check (b.isDisplayable (), true); // time to clean up the frame from desktop f.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Frame/isDisplayable5.java0000644000175000001440000000333411641332706022513 0ustar dokousers// Tags: GUI JDK1.0 // Copyright (C) 2005, 2011 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.Frame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; /** * Tests whether calling pack makes the whole hierarchy displayable. */ public class isDisplayable5 implements Testlet { public void test (TestHarness harness) { Frame f = new Frame (); Button b = new Button (); Robot r = harness.createRobot (); f.add(b); r.waitForIdle (); harness.checkPoint ("before packing"); harness.check (f.getPeer(), null); harness.check (b.getPeer(), null); harness.check (f.isDisplayable (), false); harness.check (b.isDisplayable (), false); f.pack(); r.waitForIdle (); harness.checkPoint ("after packing frame"); harness.check (f.getPeer() != null); harness.check (b.getPeer() != null); harness.check (f.isDisplayable (), true); harness.check (b.isDisplayable (), true); // time to clean up the frame from desktop f.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Frame/isDisplayable4.java0000644000175000001440000000414611641332706022514 0ustar dokousers// Tags: GUI JDK1.0 // Copyright (C) 2005, 2011 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.Frame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.*; /** * Tests that adding a Component to an already-displayable Frame * causes the Component to become displayable. */ public class isDisplayable4 implements Testlet { public void test (TestHarness harness) { Frame f = new Frame (); Button b = new Button (); Robot r = harness.createRobot (); r.waitForIdle (); harness.checkPoint ("before showing"); harness.check (f.getPeer(), null); harness.check (b.getPeer(), null); harness.check (f.isDisplayable (), false); harness.check (b.isDisplayable (), false); f.show (); r.waitForIdle (); harness.checkPoint ("after showing frame"); harness.check (f.getPeer() != null); harness.check (b.getPeer(), null); harness.check (f.isDisplayable (), true); harness.check (b.isDisplayable (), false); // Adding the button causes it to become displayable. f.add(b); r.waitForIdle (); harness.checkPoint ("after adding button to frame"); harness.check (f.getPeer() != null); harness.check (b.getPeer() != null); harness.check (b.getParent(), f); harness.check (f.isDisplayable (), true); harness.check (b.isDisplayable (), true); // time to clean up the frame from desktop f.dispose(); } } mauve-20140821/gnu/testlet/java/awt/Desktop/0000755000175000001440000000000012375316426017360 5ustar dokousersmauve-20140821/gnu/testlet/java/awt/Desktop/PR34580.java0000644000175000001440000000342511042134147021140 0ustar dokousers// Tags: JDK1.6 // Copyright (C) 2007 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.awt.Desktop; import java.awt.Desktop; import java.lang.reflect.Method; import java.lang.reflect.InvocationTargetException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * This checks for the bug found in PR34580, namely that * isDesktopSupported() is inaccessible. * * @author Andrew John Hughes (gnu_andrew@member.fsf.org) */ public class PR34580 implements Testlet { public void test(TestHarness h) { try { Method m = Desktop.class.getMethod("isDesktopSupported"); m.invoke(null); h.check(true, "isDesktopSupported() accessed successfully."); } catch (IllegalAccessException e) { h.debug(e); h.fail("isDesktopSupported() could not be accessed."); } catch (NoSuchMethodException e) { h.debug(e); h.fail("isDesktopSupported() is not implemented."); } catch (InvocationTargetException e) { h.debug(e); h.fail("isDesktopSupported() threw an exception: " + e); } } } mauve-20140821/gnu/testlet/java/util/0000755000175000001440000000000012375316450016126 5ustar dokousersmauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/0000755000175000001440000000000012375316426025751 5ustar dokousersmauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/constructor.java0000644000175000001440000000342712001301714031163 0ustar dokousers// Test if instances of a class java.util.FormatFlagsConversionMismatchException could be properly constructed // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatFlagsConversionMismatchException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatFlagsConversionMismatchException; /** * Test if instances of a class java.util.FormatFlagsConversionMismatchException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { FormatFlagsConversionMismatchException object1 = new FormatFlagsConversionMismatchException("nothing happens", 'c'); harness.check(object1 != null); harness.check(object1.toString().contains("java.util.FormatFlagsConversionMismatchException")); harness.check(object1.toString().contains("nothing happens")); } } mauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/getFlags.java0000644000175000001440000000363612003272216030342 0ustar dokousers// Test of a method java.util.FormatFlagsConversionMismatchException.getFlags() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatFlagsConversionMismatchException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatFlagsConversionMismatchException; /** * Test of a method java.util.FormatFlagsConversionMismatchException.getFlags() */ public class getFlags implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { FormatFlagsConversionMismatchException object1 = new FormatFlagsConversionMismatchException("", 'c'); harness.check(object1 != null); harness.check(object1.getFlags() != null); harness.check(object1.getFlags().isEmpty()); FormatFlagsConversionMismatchException object2 = new FormatFlagsConversionMismatchException("nothing happens", 'c'); harness.check(object2 != null); harness.check(object2.getFlags() != null); harness.check(object2.getFlags().contains("nothing happens")); } } mauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/TryCatch.java0000644000175000001440000000347412001301714030321 0ustar dokousers// Test if try-catch block is working properly for a class java.util.FormatFlagsConversionMismatchException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatFlagsConversionMismatchException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatFlagsConversionMismatchException; /** * Test if try-catch block is working properly for a class java.util.FormatFlagsConversionMismatchException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new FormatFlagsConversionMismatchException("FormatFlagsConversionMismatchException", 'c'); } catch (FormatFlagsConversionMismatchException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/0000755000175000001440000000000012375316426027672 5ustar dokousers././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/getPackage.javamauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/getPackage.jav0000644000175000001440000000334512001301714032410 0ustar dokousers// Test for method java.util.FormatFlagsConversionMismatchException.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatFlagsConversionMismatchException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatFlagsConversionMismatchException; /** * Test for method java.util.FormatFlagsConversionMismatchException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FormatFlagsConversionMismatchException("FormatFlagsConversionMismatchException", 'c'); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.util"); } } ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/getInterfaces.javamauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/getInterfaces.0000644000175000001440000000340512001301714032434 0ustar dokousers// Test for method java.util.FormatFlagsConversionMismatchException.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatFlagsConversionMismatchException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatFlagsConversionMismatchException; import java.util.List; import java.util.Arrays; /** * Test for method java.util.FormatFlagsConversionMismatchException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FormatFlagsConversionMismatchException("FormatFlagsConversionMismatchException", 'c'); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/getModifiers.javamauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/getModifiers.j0000644000175000001440000000457612001301714032456 0ustar dokousers// Test for method java.util.FormatFlagsConversionMismatchException.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatFlagsConversionMismatchException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatFlagsConversionMismatchException; import java.lang.reflect.Modifier; /** * Test for method java.util.FormatFlagsConversionMismatchException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FormatFlagsConversionMismatchException("FormatFlagsConversionMismatchException", 'c'); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/isPrimitive.javamauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/isPrimitive.ja0000644000175000001440000000330212001301714032464 0ustar dokousers// Test for method java.util.FormatFlagsConversionMismatchException.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatFlagsConversionMismatchException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatFlagsConversionMismatchException; /** * Test for method java.util.FormatFlagsConversionMismatchException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FormatFlagsConversionMismatchException("FormatFlagsConversionMismatchException", 'c'); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/getSimpleName.javamauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/getSimpleName.0000644000175000001440000000335512001301714032407 0ustar dokousers// Test for method java.util.FormatFlagsConversionMismatchException.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatFlagsConversionMismatchException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatFlagsConversionMismatchException; /** * Test for method java.util.FormatFlagsConversionMismatchException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FormatFlagsConversionMismatchException("FormatFlagsConversionMismatchException", 'c'); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "FormatFlagsConversionMismatchException"); } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/isSynthetic.javamauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/isSynthetic.ja0000644000175000001440000000330212001301714032466 0ustar dokousers// Test for method java.util.FormatFlagsConversionMismatchException.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatFlagsConversionMismatchException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatFlagsConversionMismatchException; /** * Test for method java.util.FormatFlagsConversionMismatchException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FormatFlagsConversionMismatchException("FormatFlagsConversionMismatchException", 'c'); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/isInstance.javamauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/isInstance.jav0000644000175000001440000000342612001301714032455 0ustar dokousers// Test for method java.util.FormatFlagsConversionMismatchException.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatFlagsConversionMismatchException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatFlagsConversionMismatchException; /** * Test for method java.util.FormatFlagsConversionMismatchException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FormatFlagsConversionMismatchException("FormatFlagsConversionMismatchException", 'c'); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new FormatFlagsConversionMismatchException("FormatFlagsConversionMismatchException", 'c'))); } } ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/isMemberClass.javamauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/isMemberClass.0000644000175000001440000000331212001301714032377 0ustar dokousers// Test for method java.util.FormatFlagsConversionMismatchException.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatFlagsConversionMismatchException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatFlagsConversionMismatchException; /** * Test for method java.util.FormatFlagsConversionMismatchException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FormatFlagsConversionMismatchException("FormatFlagsConversionMismatchException", 'c'); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/getSuperclass.javamauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/getSuperclass.0000644000175000001440000000343012001301714032473 0ustar dokousers// Test for method java.util.FormatFlagsConversionMismatchException.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatFlagsConversionMismatchException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatFlagsConversionMismatchException; /** * Test for method java.util.FormatFlagsConversionMismatchException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FormatFlagsConversionMismatchException("FormatFlagsConversionMismatchException", 'c'); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.util.IllegalFormatException"); } } ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/InstanceOf.javamauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/InstanceOf.jav0000644000175000001440000000451212001301714032403 0ustar dokousers// Test for instanceof operator applied to a class java.util.FormatFlagsConversionMismatchException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatFlagsConversionMismatchException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatFlagsConversionMismatchException; import java.util.IllegalFormatException; import java.lang.IllegalArgumentException; import java.lang.RuntimeException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.util.FormatFlagsConversionMismatchException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class FormatFlagsConversionMismatchException FormatFlagsConversionMismatchException o = new FormatFlagsConversionMismatchException("FormatFlagsConversionMismatchException", 'c'); // basic check of instanceof operator harness.check(o instanceof FormatFlagsConversionMismatchException); // check operator instanceof against all superclasses harness.check(o instanceof IllegalFormatException); harness.check(o instanceof IllegalArgumentException); harness.check(o instanceof RuntimeException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/isInterface.javamauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/isInterface.ja0000644000175000001440000000330212001301714032414 0ustar dokousers// Test for method java.util.FormatFlagsConversionMismatchException.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatFlagsConversionMismatchException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatFlagsConversionMismatchException; /** * Test for method java.util.FormatFlagsConversionMismatchException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FormatFlagsConversionMismatchException("FormatFlagsConversionMismatchException", 'c'); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } ././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootmauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/isAssignableFrom.javamauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/isAssignableFr0000644000175000001440000000340012001301714032462 0ustar dokousers// Test for method java.util.FormatFlagsConversionMismatchException.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatFlagsConversionMismatchException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatFlagsConversionMismatchException; /** * Test for method java.util.FormatFlagsConversionMismatchException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FormatFlagsConversionMismatchException("FormatFlagsConversionMismatchException", 'c'); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(FormatFlagsConversionMismatchException.class)); } } ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/isLocalClass.javamauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/isLocalClass.j0000644000175000001440000000330612001301714032377 0ustar dokousers// Test for method java.util.FormatFlagsConversionMismatchException.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatFlagsConversionMismatchException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatFlagsConversionMismatchException; /** * Test for method java.util.FormatFlagsConversionMismatchException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FormatFlagsConversionMismatchException("FormatFlagsConversionMismatchException", 'c'); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/getName.java0000644000175000001440000000333712001301714032077 0ustar dokousers// Test for method java.util.FormatFlagsConversionMismatchException.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatFlagsConversionMismatchException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatFlagsConversionMismatchException; /** * Test for method java.util.FormatFlagsConversionMismatchException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FormatFlagsConversionMismatchException("FormatFlagsConversionMismatchException", 'c'); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.util.FormatFlagsConversionMismatchException"); } } mauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/getConversion.java0000644000175000001440000000437512003272216031434 0ustar dokousers// Test of a method java.util.FormatFlagsConversionMismatchException.getConversion() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatFlagsConversionMismatchException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatFlagsConversionMismatchException; /** * Test of a method java.util.FormatFlagsConversionMismatchException.getConversion() */ public class getConversion implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { FormatFlagsConversionMismatchException object1 = new FormatFlagsConversionMismatchException("", 'c'); harness.check(object1 != null); harness.check(object1.getConversion() == 'c'); FormatFlagsConversionMismatchException object2 = new FormatFlagsConversionMismatchException("nothing happens", 'c'); harness.check(object2 != null); harness.check(object2.getConversion() == 'c'); FormatFlagsConversionMismatchException object3 = new FormatFlagsConversionMismatchException("nothing happens", ' '); harness.check(object3 != null); harness.check(object3.getConversion() == ' '); FormatFlagsConversionMismatchException object4 = new FormatFlagsConversionMismatchException("nothing happens", '\u1234'); harness.check(object4 != null); harness.check(object4.getConversion() == '\u1234'); } } mauve-20140821/gnu/testlet/java/util/FormatFlagsConversionMismatchException/getMessage.java0000644000175000001440000000523712003272216030671 0ustar dokousers// Test of a method java.util.FormatFlagsConversionMismatchException.getMessage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatFlagsConversionMismatchException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatFlagsConversionMismatchException; /** * Test of a method java.util.FormatFlagsConversionMismatchException.getMessage() */ public class getMessage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { FormatFlagsConversionMismatchException object1 = new FormatFlagsConversionMismatchException("", 'c'); harness.check(object1 != null); harness.check(object1.getMessage() != null); harness.check(object1.getMessage().contains("Flags =")); harness.check(object1.getMessage().contains("Conversion =")); FormatFlagsConversionMismatchException object2 = new FormatFlagsConversionMismatchException("nothing happens", 'c'); harness.check(object2 != null); harness.check(object2.getMessage() != null); harness.check(object2.getMessage().contains("nothing happens")); harness.check(object2.getMessage().contains("Flags =")); harness.check(object2.getMessage().contains("Conversion =")); FormatFlagsConversionMismatchException object3 = new FormatFlagsConversionMismatchException("", '@'); harness.check(object3 != null); harness.check(object3.getMessage() != null); harness.check(object3.getMessage().contains("@")); FormatFlagsConversionMismatchException object4 = new FormatFlagsConversionMismatchException("nothing happens", '@'); harness.check(object4 != null); harness.check(object4.getMessage() != null); harness.check(object4.getMessage().contains("@")); } } mauve-20140821/gnu/testlet/java/util/LinkedList/0000755000175000001440000000000012375316426020173 5ustar dokousersmauve-20140821/gnu/testlet/java/util/LinkedList/AcuniaLinkedListTest.java0000644000175000001440000006602110206401723025050 0ustar dokousers/* Copyright (C) 2001 ACUNIA This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.2 package gnu.testlet.java.util.LinkedList; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.*; /** * Written by ACUNIA.
*
* this file contains test for LinkedList
*
*/ public class AcuniaLinkedListTest implements Testlet { protected TestHarness th; public void test (TestHarness harness) { th = harness; test_LinkedList(); test_add(); test_addAll(); test_clear(); test_remove(); test_set(); test_contains(); test_indexOf(); test_size(); test_lastIndexOf(); test_toArray(); test_clone(); test_iterator(); test_getFirst(); test_getLast(); test_addFirst(); test_addLast(); test_removeFirst(); test_removeLast(); test_ListIterator(); } protected LinkedList buildAL() { Vector v = new Vector(); v.add("a"); v.add("c"); v.add("u"); v.add("n"); v.add("i"); v.add("a"); v.add(null); v.add("a"); v.add("c"); v.add("u"); v.add("n"); v.add("i"); v.add("a"); v.add(null); return new LinkedList(v); } /** * implemented.
* only LinkedList(Collection c) is tested */ public void test_LinkedList(){ th.checkPoint("LinkedList(java.util.Collection)"); Vector v = new Vector(); LinkedList al = new LinkedList(v); th.check( al.isEmpty() , "no elements added"); v.add("a"); v.add("c"); v.add("u"); v.add("n"); v.add("i"); v.add("a"); v.add(null); al = new LinkedList(v); // th.debug(al.toString()); th.check(v.equals(al) , "check if everything is OK"); try { new LinkedList(null); th.fail("should throw a NullPointerException"); } catch(NullPointerException npe) { th.check(true); } } /** * implemented.
* */ public void test_add(){ th.checkPoint("add(int,java.lang.Object)void"); LinkedList al = new LinkedList(); try { al.add(-1,"a"); th.fail("should throw an IndexOutOfBoundsException -- 1"); } catch(IndexOutOfBoundsException ioobe) { th.check(true); } try { al.add(1,"a"); th.fail("should throw an IndexOutOfBoundsException -- 2"); } catch(IndexOutOfBoundsException ioobe) { th.check(true); } al.clear(); al.add(0,"a"); al.add(1,"c"); al.add(2,"u"); al.add(1,null); // th.debug(al.toString()); th.check("a".equals(al.get(0))&& null==al.get(1) && "c".equals(al.get(2)) && "u".equals(al.get(3)) , "checking add ..."); th.checkPoint("add(java.lang.Object)boolean"); al = new LinkedList(); th.check(al.add("a") , "checking return value -- 1"); th.check(al.add("c") , "checking return value -- 2"); th.check(al.add("u") , "checking return value -- 3"); th.check(al.add("n") , "checking return value -- 4"); th.check(al.add("i") , "checking return value -- 5"); th.check(al.add("a") , "checking return value -- 6"); th.check(al.add(null) , "checking return value -- 7"); th.check(al.add("end") , "checking return value -- 8"); th.check("a".equals(al.get(0))&& null==al.get(6) && "c".equals(al.get(1)) && "u".equals(al.get(2)) , "checking add ... -- 1"); th.check("a".equals(al.get(5))&& "end".equals(al.get(7)) && "n".equals(al.get(3)) && "i".equals(al.get(4)) , "checking add ... -- 2"); } /** * implemented.
* */ public void test_addAll(){ th.checkPoint("addAll(java.util.Collection)boolean"); LinkedList al =new LinkedList(); try { al.addAll(null); th.fail("should throw NullPointerException"); } catch (NullPointerException ne) { th.check(true); } Collection c = (Collection) al; th.check(!al.addAll(c) ,"checking returnvalue -- 1"); al.add("a"); al.add("b"); al.add("c"); c = (Collection) al; al = buildAL(); th.check(al.addAll(c) ,"checking returnvalue -- 2"); th.check(al.containsAll(c), "extra on containsAll -- 1"); th.check(al.get(14)=="a" && al.get(15)=="b" && al.get(16)=="c", "checking added on right positions"); th.checkPoint("addAll(int,java.util.Collection)boolean"); al =new LinkedList(); c = (Collection) al; th.check(!al.addAll(0,c) ,"checking returnvalue -- 1"); al.add("a"); al.add("b"); al.add("c"); c = (Collection) al; al = buildAL(); try { al.addAll(-1,c); th.fail("should throw exception -- 1"); } catch (IndexOutOfBoundsException ae) { th.check(true); } try { al.addAll(15,c); th.fail("should throw exception -- 2"); } catch (IndexOutOfBoundsException ae) { th.check(true); } try { th.check(al.addAll(11,c),"checking returnvalue -- 2"); } catch (ArrayIndexOutOfBoundsException ae) { th.fail("shouldn't throw exception -- 1"); } th.check(al.containsAll(c), "extra on containsAll -- 1"); th.check(al.get(11)=="a" && al.get(12)=="b" && al.get(13)=="c", "checking added on right positions -- 1"); th.check(al.addAll(1,c),"checking returnvalue -- 3"); th.check(al.get(1)=="a" && al.get(2)=="b" && al.get(3)=="c", "checking added on right positions -- 2"); } /** * implemented.
* */ public void test_clear(){ th.checkPoint("clear()void"); LinkedList al = new LinkedList(); al.clear(); al = buildAL(); al.clear(); th.check(al.size()== 0 && al.isEmpty() , "list is empty ..."); } /** * implemented.
* */ public void test_remove(){ th.checkPoint("remove(int)java.lang.Object"); LinkedList al = buildAL(); try { al.remove(-1); th.fail("should throw an IndexOutOfBoundsException -- 1" ); } catch (IndexOutOfBoundsException e) { th.check(true); } try { al.remove(14); th.fail("should throw an IndexOutOfBoundsException -- 2" ); } catch (IndexOutOfBoundsException e) { th.check(true); } th.check( "a".equals(al.remove(5)) , "checking returnvalue remove -- 1"); th.check("a".equals(al.get(0))&& null==al.get(5) && "c".equals(al.get(1)) && "u".equals(al.get(2)) , "checking remove ... -- 1"); th.check("a".equals(al.get(6))&& "c".equals(al.get(7)) && "n".equals(al.get(3)) && "i".equals(al.get(4)) , "checking remove ... -- 2"); th.check(al.size() == 13 , "checking new size -- 1"); th.check( al.remove(5) == null , "checking returnvalue remove -- 2"); th.check(al.size() == 12 , "checking new size -- 2"); th.check( al.remove(11) == null, "checking returnvalue remove -- 3"); th.check( "a".equals(al.remove(0)) , "checking returnvalue remove -- 4"); th.check( "u".equals(al.remove(1)) , "checking returnvalue remove -- 5"); th.check( "i".equals(al.remove(2)) , "checking returnvalue remove -- 6"); th.check( "a".equals(al.remove(2)) , "checking returnvalue remove -- 7"); th.check( "u".equals(al.remove(3)) , "checking returnvalue remove -- 8"); th.check( "a".equals(al.remove(5)) , "checking returnvalue remove -- 9"); th.check( "i".equals(al.remove(4)) , "checking returnvalue remove -- 10"); th.check( "c".equals(al.get(0))&& "c".equals(al.get(2)) && "n".equals(al.get(3)) && "n".equals(al.get(1)) , "checking remove ... -- 3"); th.check(al.size() == 4 , "checking new size -- 3"); al.remove(0); al.remove(0); al.remove(0); al.remove(0); th.check(al.size() == 0 , "checking new size -- 4"); al = new LinkedList(); try { al.remove(0); th.fail("should throw an IndexOutOfBoundsException -- 3" ); } catch (IndexOutOfBoundsException e) { th.check(true); } } /** * implemented.
* */ public void test_set(){ th.checkPoint("set(int,java.lang.Object)java.lang.Object"); LinkedList al = new LinkedList(); try { al.set(-1,"a"); th.fail("should throw an IndexOutOfBoundsException -- 1" ); } catch (IndexOutOfBoundsException e) { th.check(true); } try { al.set(0,"a"); th.fail("should throw an IndexOutOfBoundsException -- 2" ); } catch (IndexOutOfBoundsException e) { th.check(true); } al = buildAL(); try { al.set(-1,"a"); th.fail("should throw an IndexOutOfBoundsException -- 3" ); } catch (IndexOutOfBoundsException e) { th.check(true); } try { al.set(14,"a"); th.fail("should throw an IndexOutOfBoundsException -- 4" ); } catch (IndexOutOfBoundsException e) { th.check(true); } th.check( "a".equals(al.set(5,"b")) , "checking returnvalue of set -- 1"); th.check( "a".equals(al.set(0,null)), "checking returnvalue of set -- 2"); th.check( "b".equals(al.get(5)), "checking effect of set -- 1"); th.check( al.get(0) == null , "checking effect of set -- 2"); th.check( "b".equals(al.set(5,"a")), "checking returnvalue of set -- 3"); th.check( al.set(0,null) == null , "checking returnvalue of set -- 4"); th.check( "a".equals(al.get(5)), "checking effect of set -- 3"); th.check( al.get(0) == null , "checking effect of set -- 4"); } /** * implemented.
* */ public void test_contains(){ th.checkPoint("contains(java.lang.Object)boolean"); LinkedList al = new LinkedList(); th.check(!al.contains(null),"checking empty List -- 1"); th.check(!al.contains(al) ,"checking empty List -- 2"); al = buildAL(); th.check( al.contains(null), "check contains ... -- 1"); th.check( al.contains("a") , "check contains ... -- 2"); th.check( al.contains("c") , "check contains ... -- 3"); th.check(!al.contains(this), "check contains ... -- 4"); al.remove(6); th.check( al.contains(null), "check contains ... -- 5"); al.remove(12); th.check(!al.contains(null), "check contains ... -- 6"); th.check(!al.contains("b") , "check contains ... -- 7"); th.check(!al.contains(al) , "check contains ... -- 8"); } /** * implemented.
* */ public void test_isEmpty(){ th.checkPoint("isEmpty()boolean"); LinkedList al = new LinkedList(); th.check(al.isEmpty() , "checking returnvalue -- 1"); al.add("A"); th.check(!al.isEmpty() , "checking returnvalue -- 2"); al.remove(0); th.check(al.isEmpty() , "checking returnvalue -- 3"); } /** * implemented.
* */ public void test_indexOf(){ th.checkPoint("indexOf(java.lang.Object)int"); LinkedList al = new LinkedList(); th.check( al.indexOf(null)== -1,"checks on empty list -- 1"); th.check( al.indexOf(al)== -1 , "checks on empty list -- 2"); Object o = new Object(); al =buildAL(); th.check( al.indexOf(o) == -1 , " doesn't contain -- 1"); th.check( al.indexOf("a") == 0 , "contains -- 2"); th.check( al.indexOf("Q") == -1, "doesn't contain -- 3"); // th.debug(al.toString()); al.add(9,o); // th.debug(al.toString()); th.check( al.indexOf(o) == 9 , "contains -- 4"); th.check( al.indexOf(new Object()) == -1 , "doesn't contain -- 5"); th.check(al.indexOf(null) == 6, "null was added to the Vector"); al.remove(6); th.check(al.indexOf(null) == 13, "null was added twice to the Vector"); al.remove(13); th.check(al.indexOf(null) == -1, "null was removed to the Vector"); th.check( al.indexOf("c") == 1 , "contains -- 6"); th.check( al.indexOf("u") == 2 , "contains -- 7"); th.check( al.indexOf("n") == 3 , "contains -- 8"); } /** * implemented.
* */ public void test_size(){ th.checkPoint("size()int"); LinkedList al = new LinkedList(); th.check( al.size() == 0 , "check on size -- 1"); al.addAll(buildAL()); th.check( al.size() == 14 , "check on size -- 1"); al.remove(5); th.check( al.size() == 13 , "check on size -- 1"); al.add(4,"G"); th.check( al.size() == 14 , "check on size -- 1"); } /** * implemented.
* */ public void test_lastIndexOf(){ th.checkPoint("lastIndexOf(java.lang.Object)int"); LinkedList al = new LinkedList(); th.check( al.lastIndexOf(null)== -1,"checks on empty list -- 1"); th.check( al.lastIndexOf(al)== -1 , "checks on empty list -- 2"); Object o = new Object(); al =buildAL(); // th.debug(al.toString()); th.check( al.lastIndexOf(o) == -1 , " doesn't contain -- 1"); th.check( al.lastIndexOf("a") == 12 , "contains -- 2"); th.check( al.lastIndexOf(o) == -1, "contains -- 3"); al.add(9,o); th.check( al.lastIndexOf(o) == 9 , "contains -- 4"); th.check( al.lastIndexOf(new Object()) == -1 , "doesn't contain -- 5"); th.check( al.lastIndexOf(null) == 14, "null was added to the Vector"); al.remove(14); th.check( al.lastIndexOf(null) == 6 , "null was added twice to the Vector"); al.remove(6); th.check( al.lastIndexOf(null) == -1, "null was removed to the Vector"); th.check( al.lastIndexOf("c") == 7 , "contains -- 6, got "+al.lastIndexOf("c")); th.check( al.lastIndexOf("u") == 9 , "contains -- 7, got "+al.lastIndexOf("u")); th.check( al.lastIndexOf("n") == 10, "contains -- 8, got "+al.lastIndexOf("n")); } /** * implemented.
* */ public void test_toArray(){ th.checkPoint("toArray()[java.lang.Object"); LinkedList v = new LinkedList(); Object o[] = v.toArray(); th.check(o.length == 0 , "checking size Object array"); v.add("a"); v.add(null); v.add("b"); o = v.toArray(); th.check(o[0]== "a" && o[1] == null && o[2] == "b" , "checking elements -- 1"); th.check(o.length == 3 , "checking size Object array"); th.checkPoint("toArray([java.lang.Object)[java.lang.Object"); v = new LinkedList(); try { v.toArray(null); th.fail("should throw NullPointerException -- 1"); } catch (NullPointerException ne) { th.check(true); } v.add("a"); v.add(null); v.add("b"); String sa[] = new String[5]; sa[3] = "deleteme"; sa[4] = "leavemealone"; // th.debug(v.toString()); th.check(v.toArray(sa) == sa , "sa is large enough, no new array created"); th.check(sa[0]=="a" && sa[1] == null && sa[2] == "b" , "checking elements -- 1"+sa[0]+", "+sa[1]+", "+sa[2]); th.check(sa.length == 5 , "checking size Object array"); th.check(sa[3]==null && sa[4]=="leavemealone", "check other elements -- 1"+sa[3]+", "+sa[4]); v = buildAL(); try { v.toArray(null); th.fail("should throw NullPointerException -- 2"); } catch (NullPointerException ne) { th.check(true); } try { v.toArray(new Class[5]); th.fail("should throw an ArrayStoreException"); } catch (ArrayStoreException ae) { th.check(true); } v.add(null); String sar[]; sa = new String[15]; sar = (String[])v.toArray(sa); th.check( sar == sa , "returned array is the same"); } /** * implemented.
* */ public void test_clone(){ th.checkPoint("clone()java.lang.Object"); LinkedList cal,al = new LinkedList(); cal = (LinkedList)al.clone(); th.check(cal.size() == 0, "checking size -- 1"); al.add("a") ;al.add("b") ;al.add("c"); al.add(null); cal = (LinkedList)al.clone(); th.check(cal.size() == al.size(), "checking size -- 2"); th.check( al != cal , "Objects are not the same"); th.check( al.equals(cal) , "cloned list is equal"); al.add("a"); th.check(cal.size() == 4, "changes in one object doen't affect the other -- 2"); } /** * implemented.
* */ public void test_iterator(){ th.checkPoint("ModCount(in)iterator"); LinkedList al = buildAL(); Iterator it = al.iterator(); al.get(0); al.contains(null); al.isEmpty(); al.indexOf(null); al.lastIndexOf(null); al.size(); al.toArray(); al.toArray(new String[10]); al.clone(); try { it.next(); th.check(true); } catch(ConcurrentModificationException ioobe) { th.fail("should not throw a ConcurrentModificationException -- 2"); } it = al.iterator(); al.add("b"); try { it.next(); th.fail("should throw a ConcurrentModificationException -- 3"); } catch(ConcurrentModificationException ioobe) { th.check(true); } it = al.iterator(); al.add(3,"b"); try { it.next(); th.fail("should throw a ConcurrentModificationException -- 4"); } catch(ConcurrentModificationException ioobe) { th.check(true); } it = al.iterator(); al.addAll(buildAL()); try { it.next(); th.fail("should throw a ConcurrentModificationException -- 5"); } catch(ConcurrentModificationException ioobe) { th.check(true); } it = al.iterator(); al.addAll(2,buildAL()); try { it.next(); th.fail("should throw a ConcurrentModificationException -- 6"); } catch(ConcurrentModificationException ioobe) { th.check(true); } it = al.iterator(); al.remove(2); try { it.next(); th.fail("should throw a ConcurrentModificationException -- 8"); } catch(ConcurrentModificationException ioobe) { th.check(true); } it = al.iterator(); al.clear(); try { it.next(); th.fail("should throw a ConcurrentModificationException -- 9"); } catch(ConcurrentModificationException ioobe) { th.check(true); } } /** * implemented.
* */ public void test_getFirst(){ th.checkPoint("getFirst()java.lang.Object"); LinkedList ll = new LinkedList(); try { ll.getFirst(); th.fail("should throw a NoSuchElementException"); } catch (NoSuchElementException nsee) { th.check(true, "caught exception");} ll = buildAL(); th.check("a".equals(ll.getFirst()) , "getFirst -- 1"); ll.removeFirst(); th.check("c".equals(ll.getFirst()) , "getFirst -- 2"); ll.addFirst("d"); th.check("d".equals(ll.getFirst()) , "getFirst -- 3"); } /** * implemented.
* */ public void test_getLast(){ th.checkPoint("getLast()java.lang.Object"); LinkedList ll = new LinkedList(); try { ll.getLast(); th.fail("should throw a NoSuchElementException"); } catch (NoSuchElementException nsee) { th.check(true, "caught exception");} ll = buildAL(); th.check(null == ll.getLast() , "getLast -- 1"); ll.removeLast(); th.check("a".equals(ll.getLast()) , "getLast -- 2"); ll.addLast("d"); th.check("d".equals(ll.getLast()) , "getLast -- 3"); } /** * implemented.
* */ public void test_addFirst(){ th.checkPoint("addFirst(java.lang.Object)void"); LinkedList ll = new LinkedList(); ll.addFirst("a"); th.check("a".equals(ll.getLast()) , "addFirst on empty List -- 1"); th.check("a".equals(ll.getFirst()) , "addFirst on empty List -- 1"); ll.addFirst("c"); th.check("a".equals(ll.getLast()) , "addFirst on List -- 2"); th.check("c".equals(ll.getFirst()) , "addFirst on List -- 2"); ll.addFirst(null); th.check("a".equals(ll.getLast()) , "addFirst on List -- 3"); th.check(null == ll.getFirst() , "addFirst on List -- 3"); th.check(null == ll.get(0) , "checking order with get -- 1"); th.check("c".equals(ll.get(1)) , "checking order with get -- 2"); th.check("a".equals(ll.get(2)) , "checking order with get -- 3"); th.check(ll.size() == 3 , "checking size increment ..."); } /** * implemented.
* */ public void test_addLast(){ th.checkPoint("addLast(java.lang.Object)void"); LinkedList ll = new LinkedList(); ll.addLast("a"); th.check("a".equals(ll.getLast()) , "addLast on empty List -- 1"); th.check("a".equals(ll.getFirst()) , "addLast on empty List -- 1"); ll.addLast("c"); th.check("c".equals(ll.getLast()) , "addLast on List -- 2"); th.check("a".equals(ll.getFirst()) , "addLast on List -- 2"); ll.addLast(null); th.check("a".equals(ll.getFirst()) , "addLast on List -- 3"); th.check(null == ll.getLast() , "addLast on List -- 3"); th.check(null == ll.get(2) , "checking order with get -- 1"); th.check("c".equals(ll.get(1)) , "checking order with get -- 2"); th.check("a".equals(ll.get(0)) , "checking order with get -- 3"); th.check(ll.size() == 3 , "checking size increment ..."); } /** * implemented.
* */ public void test_removeFirst(){ th.checkPoint("removeFirst()java.lang.Object"); LinkedList ll = new LinkedList(); try { ll.removeFirst(); th.fail("should throw a NoSuchElementException"); } catch (NoSuchElementException nsee) { th.check(true, "caught exception");} ll = buildAL(); th.check("a".equals(ll.removeFirst()) , "removeFirst -- 1"); th.check("c".equals(ll.removeFirst()) , "removeFirst -- 2"); th.check("u".equals(ll.getFirst()) , "changing pointer to first ..."); th.check("u".equals(ll.removeFirst()) , "removeFirst -- 3"); th.check(ll.size() == 11 , "checking size decrement ..."); th.check("n".equals(ll.removeFirst()) , "removeFirst -- 4"); th.check("i".equals(ll.removeFirst()) , "removeFirst -- 5"); th.check("a".equals(ll.removeFirst()) , "removeFirst -- 6"); th.check(null == ll.removeFirst() , "removeFirst -- 7"); ll.removeFirst(); ll.removeFirst(); ll.removeFirst(); ll.removeFirst(); ll.removeFirst(); th.check("a".equals(ll.removeFirst()) , "removeFirst -- 8"); th.check(null == ll.getFirst() , "removeFirst -- 8"); th.check(null == ll.getLast() , "removeFirst -- 9"); th.check(null == ll.removeFirst() , "removeFirst -- 10"); try { ll.removeFirst(); th.fail("should throw a NoSuchElementException"); } catch (NoSuchElementException nsee) { th.check(true, "caught exception");} } /** * implemented.
* */ public void test_removeLast(){ th.checkPoint("removeLast()java.lang.Object"); LinkedList ll = new LinkedList(); try { ll.removeLast(); th.fail("should throw a NoSuchElementException"); } catch (NoSuchElementException nsee) { th.check(true, "caught exception");} ll = buildAL(); th.check(null == ll.removeLast() , "removeLast -- 0"); th.check("a".equals(ll.removeLast()) , "removeLast -- 1"); th.check("i".equals(ll.removeLast()) , "removeLast -- 2"); th.check("n".equals(ll.getLast()) , "changing pointer to last ..."); th.check("n".equals(ll.removeLast()) , "removeLast -- 3"); th.check("u".equals(ll.get(9)) , "checking elements -- 3a"); th.check("c".equals(ll.get(8)) , "checking elements -- 3b"); th.check(ll.size() == 10 , "checking size decrement ..."); th.check("u".equals(ll.removeLast()) , "removeLast -- 4"); th.check("c".equals(ll.removeLast()) , "removeLast -- 5"); th.check("a".equals(ll.removeLast()) , "removeLast -- 6"); ll.removeLast(); ll.removeLast(); ll.removeLast(); ll.removeLast(); ll.removeLast(); // th.debug(ll.toString()); th.check("c".equals(ll.removeLast()) , "removeLast -- 7"); // th.debug(ll.toString()); th.check("a".equals(ll.getLast()) , "removeLast -- 8"); th.check("a".equals(ll.getFirst()) , "removeLast -- 9"); th.check("a".equals(ll.removeLast()) , "removeLast -- 10"); try { ll.removeLast(); th.fail("should throw a NoSuchElementException"); } catch (NoSuchElementException nsee) { th.check(true, "caught exception");} } /** * implemented.
* */ public void test_ListIterator(){ th.checkPoint("listIterator()java.util.ListIterator"); LinkedList ll = new LinkedList(); ListIterator li = ll.listIterator(); try { li.next(); th.fail("should throw a NoSuchElementException -- 1"); } catch(NoSuchElementException nsee) { th.check(true, "caught exeption -- 1"); } try { li.previous(); th.fail("should throw a NoSuchElementException -- 2"); } catch(NoSuchElementException nsee) { th.check(true, "caught exeption -- 2"); } th.check(!li.hasNext() , "no elements ... -- 1"); th.check(!li.hasPrevious() , "no elements ... -- 1"); th.check(li.nextIndex() , 0 ,"nextIndex == 0 -- 1"); th.check(li.previousIndex() , -1 ,"previousIndex == -1 -- 1"); li.add("a"); th.check(!li.hasNext() , "no elements ... -- 2"); th.check(li.hasPrevious() , "one element ... -- 2"); th.check(li.nextIndex() , 1 ,"nextIndex == 1 -- 2"); th.check(li.previousIndex() , 0 ,"previousIndex == 0 -- 2"); try { li.next(); th.fail("should throw a NoSuchElementException -- 3"); } catch(NoSuchElementException nsee) { th.check(true, "caught exeption -- 3"); } th.check("a".equals(li.previous()) , "checking previous element -- 1"); li.add(null); th.check(ll.getFirst() == null , "checking if LinkedList got updated -- 1"); th.check("a",ll.getLast() ,"checking if LinkedList got updated -- 2"); // th.debug(ll.toString()); th.check(li.previousIndex() , 0 ,"previousIndex == 0 -- 3"); th.check(li.previous() == null , "checking previous element -- 2"); th.check(li.next() == null , "checking next element -- 1"); li.add("b"); th.check("a".equals(li.next()) ,"checking next element -- 2"); li.add("c"); try { li.set("not"); th.fail("should throw a IllegalStateException -- 1"); } catch(IllegalStateException ise) { th.check(true, "caught exeption -- 4"); } th.check(!ll.contains("not"), "set should not have been executed"); try { li.remove(); th.fail("should throw a IllegalStateException -- 2"); } catch(IllegalStateException ise) { th.check(true, "caught exeption -- 5"); } catch(Exception e) { th.fail("wrong exception was thrown"); } th.check("c".equals(li.previous()) , "checking previous element -- 3"); li.set("new"); th.check("new".equals(li.next()) , "validating set"); li.set("not"); li.set("notOK"); li.remove(); try { li.set("not"); th.fail("should throw a IllegalStateException -- 3"); } catch(IllegalStateException ise) { th.check(true, "caught exeption -- 6"); } th.check(!ll.contains("not"), "set should not have been executed"); try { li.remove(); th.fail("should throw a IllegalStateException -- 4"); } catch(IllegalStateException ise) { th.check(true, "caught exeption -- 7"); } catch(Exception e) { th.fail("wrong exception was thrown"); } try { li.next(); th.fail("should throw a NoSuchElementException -- 4"); } catch(NoSuchElementException nsee) { th.check(true, "caught exeption -- 8"); } th.check("a",li.previous(),"checking on previous element"); li.remove(); try { li.set("not"); th.fail("should throw a IllegalStateException -- 5"); } catch(IllegalStateException ise) { th.check(true, "caught exeption -- 9"); } th.check(!ll.contains("not"), "set should not have been executed"); try { li.remove(); th.fail("should throw a IllegalStateException -- 6"); } catch(IllegalStateException ise) { th.check(true, "caught exeption -- 10"); } catch(Exception e) { th.fail("wrong exception was thrown"); } } } mauve-20140821/gnu/testlet/java/util/LinkedList/SubListTest.java0000644000175000001440000000314507663776716023306 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Daniel Bonniot // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.LinkedList; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.*; public class SubListTest implements Testlet { public void test (TestHarness harness) { test(harness, new LinkedList()); } /* This method could be used to test subList on any implementation of List.*/ public static void test (TestHarness harness, List list) { list.clear(); list.add("0"); list.add("1"); list.add("2"); list.add("3"); final int start = 1, end = 3; List sub = list.subList(start,end); harness.check(sub.get(0).equals(list.get(start))); Iterator it = sub.iterator(); int i = start; while (it.hasNext()) { harness.check(it.next().equals(list.get(i))); i++; } harness.check(i == end); } } mauve-20140821/gnu/testlet/java/util/LinkedList/subList.java0000644000175000001440000000253410234111661022451 0ustar dokousers// Tags: JDK1.2 // Uses: ../List/subList // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.LinkedList; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.LinkedList; /** * Some tests for the subList() method in the {@link LinkedList} class. */ public class subList implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { gnu.testlet.java.util.List.subList.testAll(LinkedList.class, harness); } } mauve-20140821/gnu/testlet/java/util/Timer/0000755000175000001440000000000012375316426017211 5ustar dokousersmauve-20140821/gnu/testlet/java/util/Timer/taskException.java0000644000175000001440000000356610155350562022700 0ustar dokousers/* taskException.java -- check if a Timer becomes cancelled if an exception is thrown. Copyright (C) 2004 Free Software Founddation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.3 package gnu.testlet.java.util.Timer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Timer; import java.util.TimerTask; public class taskException implements Testlet { private volatile boolean ran; public void test (TestHarness harness) { ran = false; harness.checkPoint ("Timer.schedule"); Timer timer = new Timer (true); timer.schedule (new TimerTask() { public void run() { ran = true; throw new RuntimeException ("eat it!!!"); } }, 10); try { Thread.sleep (50); } catch (InterruptedException ignore) {} harness.check (ran, "task was not run"); try { timer.schedule (new TimerTask() { public void run() { ran = false; } }, 10); harness.check (false, "still able to schedule tasks"); } catch (IllegalStateException ise) { harness.check (true); } harness.check (ran, "unschedulable task was run"); } } mauve-20140821/gnu/testlet/java/util/Calendar/0000755000175000001440000000000012375316426017642 5ustar dokousersmauve-20140821/gnu/testlet/java/util/Calendar/simple.java0000644000175000001440000000272507276070041021776 0ustar dokousers// Tags: JDK1.1 // Copyright (c) 2001 Jeff Sturm // This file is part of Mauve. package gnu.testlet.java.util.Calendar; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.*; import java.util.*; public class simple implements Testlet { public void test (TestHarness harness) { DateFormat format = new SimpleDateFormat("MM/dd/yyyy"); Calendar calendar = Calendar.getInstance(); Date date; try { date = format.parse("04/30/2001"); } catch (ParseException _) { harness.debug (_); harness.fail ("couldn't run any tests"); return; } calendar.setTime(date); harness.check (format.format(date), "04/30/2001"); harness.check ("weekday = " + calendar.get(Calendar.DAY_OF_WEEK), "weekday = 2"); calendar.add(Calendar.DATE, 1); date = calendar.getTime(); harness.check (format.format (date), "05/01/2001"); harness.check ("weekday = " + calendar.get(Calendar.DAY_OF_WEEK), "weekday = 3"); calendar.add(Calendar.MONTH, 1); date = calendar.getTime(); harness.check (format.format(date), "06/01/2001"); // Although this looks reasonable, and it does work in the JDK, it // isn't actually guaranteed to work. In fact, incrementing MONTH // and then looking at DAY_OF_WEEK is the example in the 1.2 // online docs which shows that this may not work. // harness.check ("weekday = " + calendar.get(Calendar.DAY_OF_WEEK), // "weekday = 6"); } } mauve-20140821/gnu/testlet/java/util/Calendar/ampm.java0000644000175000001440000000442611126646063021441 0ustar dokousers// Tags: JDK1.1 // Copyright (c) 2003 Ito Kazumitsu // This file is part of Mauve. package gnu.testlet.java.util.Calendar; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.*; import java.util.*; public class ampm implements Testlet { private SimpleDateFormat format; private TestHarness harness; public void test (TestHarness harness) { // AM/PM mark is locale-dependent. We use Locale.US. format = new SimpleDateFormat("hh:mm a", Locale.US); String[] ampm = format.getDateFormatSymbols().getAmPmStrings(); this.harness = harness; // According to the API document of java.util.Calendar, // midnight belongs to "am", and noon belongs to "pm". // NOTE: Calendar uses a 0-11 time, // I.e. 0 AM (midnight), 1 AM, .. , 11 AM, midday = 0 PM, 1 PM .. 11 PM // Whereas the 'h' flag is 1-12 time // I.e. 12 AM (midnight), 1 AM, .. , 12 PM (midday), 1 PM, .. 11 PM checkTime("12:00 " + ampm[0], "12:00 " + ampm[0]); checkTime("12:10 " + ampm[0], "12:10 " + ampm[0]); checkTime(0, 0, Calendar.AM, "12:00 " + ampm[0]); checkTime("0:00 " + ampm[0], "12:00 " + ampm[0]); checkTime(0, 10, Calendar.AM, "12:10 " + ampm[0]); checkTime("0:10 " + ampm[0], "12:10 " + ampm[0]); checkTime("12:00 " + ampm[1], "12:00 " + ampm[1]); checkTime("12:10 " + ampm[1], "12:10 " + ampm[1]); checkTime(0, 0, Calendar.PM, "12:00 " + ampm[1]); checkTime("0:00 " + ampm[1], "12:00 " + ampm[1]); checkTime(0, 10, Calendar.PM, "12:10 " + ampm[1]); checkTime("0:10 " + ampm[1], "12:10 " + ampm[1]); } private void checkTime(int hh, int mm, int ampm, String expect) { Calendar calendar = Calendar.getInstance(); calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR, hh); calendar.set(Calendar.MINUTE, mm); calendar.set(Calendar.AM_PM, ampm); harness.check (format.format (calendar.getTime()), expect); } private void checkTime(String input, String expect) { Calendar calendar = Calendar.getInstance(); try { calendar.setTime (format.parse(input)); harness.check (format.format(calendar.getTime()), expect); } catch (ParseException _) { harness.debug (_); harness.fail (input + " couldn't be parsed"); } } } mauve-20140821/gnu/testlet/java/util/Calendar/roll.java0000644000175000001440000000406110425416342021446 0ustar dokousers// Test Calendar.roll(). // Copyright (c) 2001 Red Hat // Written by Tom Tromey // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.util.Calendar; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.*; import java.util.*; public class roll implements Testlet { public void test (TestHarness harness) { java.util.TimeZone tz = java.util.TimeZone.getTimeZone ("GMT"); DateFormat cdf = new SimpleDateFormat ("EEE, d MMM yyyy HH:mm:ss zzz", Locale.US); cdf.setTimeZone (tz); // We use the US locale since we need a fixed one, and this one I // understand. Calendar k = Calendar.getInstance (tz, Locale.US); Date epoch = new Date (0); k.setTime (epoch); // Just double-check to make sure the tests themselves are ok. harness.check (cdf.format (epoch), "Thu, 1 Jan 1970 00:00:00 GMT"); harness.check (k.getTime (), epoch); // No-op. k.roll (Calendar.YEAR, 0); harness.check (k.getTime (), epoch, "no-op add()"); k.roll (Calendar.YEAR, 10); harness.check (k.get (Calendar.YEAR), 1980, "roll() year"); harness.check (cdf.format (k.getTime ()), "Tue, 1 Jan 1980 00:00:00 GMT"); k.roll (Calendar.MONTH, -3); harness.check (k.get (Calendar.MONTH), Calendar.OCTOBER, "roll() month"); harness.check (k.get (Calendar.YEAR), 1980); } } mauve-20140821/gnu/testlet/java/util/Calendar/set.java0000644000175000001440000002414310336674402021300 0ustar dokousers// This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.util.Calendar; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.SimpleTimeZone; import java.util.TimeZone; import java.util.Locale; public class set implements Testlet { public void test (TestHarness harness) { testSimple(harness); test_DST(harness); test_DAY_OF_MONTH(harness); testUnsetFields(harness); testLenience(harness); testConflictingFields(harness); testNormalization(harness); testModSeconds(harness); } private void testSimple(TestHarness harness) { harness.checkPoint("Simple tests"); Calendar c = Calendar.getInstance(Locale.FRANCE); c.setTimeZone(TimeZone.getTimeZone("GMT")); c.clear(); c.set(Calendar.YEAR, 1980); c.set(Calendar.MONTH, Calendar.JULY); c.set(Calendar.DAY_OF_MONTH, 18); c.set(Calendar.HOUR_OF_DAY, 22); c.set(Calendar.MINUTE, 13); c.set(Calendar.SECOND, 13); c.set(Calendar.MILLISECOND, 347); harness.check(c.getTime(), new Date(332806393347L)); // Negative DAY_OF_WEEK_IN_MONTH is somewhat esoteric. Lets test. c.clear(); c.set(Calendar.YEAR, 1980); c.set(Calendar.MONTH, Calendar.JULY); c.set(Calendar.DAY_OF_WEEK_IN_MONTH, -3); c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY); c.set(Calendar.HOUR_OF_DAY, 18); c.set(Calendar.MINUTE, 19); c.set(Calendar.SECOND, 12); c.set(Calendar.MILLISECOND, 519); harness.check(c.getTime(), new Date(332360352519L)); } public void test_DST (TestHarness harness) { // Create a custom TimeZone with a daylight-time period. SimpleTimeZone stz = new SimpleTimeZone(60 * 60 * 1000, "MyZone", Calendar.MARCH, -1, Calendar.SUNDAY, 2 * 60 * 60 * 1000, Calendar.OCTOBER, -1, Calendar.SUNDAY, 2 * 60 * 60 * 1000); // Register the timezone as the default: TimeZone.setDefault(stz); Calendar cal = Calendar.getInstance(stz); Calendar cal2 = Calendar.getInstance(stz); cal.set(2004, Calendar.NOVEMBER, 4, 17, 30); harness.checkPoint ("Basic set/get"); // Test field basics. harness.check (cal.get(Calendar.MINUTE), 30); harness.check (cal.get(Calendar.HOUR), 5); harness.check (cal.get(Calendar.MONTH), Calendar.NOVEMBER); harness.check (cal.get(Calendar.DAY_OF_WEEK), Calendar.THURSDAY); harness.check (cal.get(Calendar.AM_PM), Calendar.PM); harness.check (cal.get(Calendar.ZONE_OFFSET), 60 * 60 * 1000); harness.check (cal.get(Calendar.DST_OFFSET), 0); harness.check (cal.get(Calendar.WEEK_OF_MONTH), 1); // Now switch months. cal.set(Calendar.MONTH, Calendar.APRIL); harness.check (cal.get(Calendar.MONTH), Calendar.APRIL); harness.check (cal.get(Calendar.HOUR_OF_DAY), 17); harness.checkPoint ("moving calendar across DST boundary"); // Check that hour is still correct after moving into a DST period. harness.check (cal.getTime().getHours(), 17); cal2.setTimeInMillis(cal.getTimeInMillis()); harness.check (cal2.get(Calendar.HOUR_OF_DAY), 17); // Restore default timezone TimeZone.setDefault(null); } public void test_DAY_OF_MONTH(TestHarness harness) { harness.checkPoint("setting DAY_OF_MONTH etc shouldn't effect other fields"); Calendar c = Calendar.getInstance(Locale.FRANCE); SimpleDateFormat df = new SimpleDateFormat("EEEEEEEEEEEEE, yyyy-MM-dd [DDD] HH:mm:ss.SSSS", Locale.US); c.set(2004, 9, 1, 12, 0, 0); c.set(Calendar.MILLISECOND, 0); String time = df.format(c.getTime()); harness.check(time, "Friday, 2004-10-01 [275] 12:00:00.0000"); c.set(Calendar.DAY_OF_MONTH, 31); time = df.format(c.getTime()); harness.check(time, "Sunday, 2004-10-31 [305] 12:00:00.0000"); c.set(Calendar.MONTH, Calendar.JANUARY); time = df.format(c.getTime()); harness.check(time, "Saturday, 2004-01-31 [031] 12:00:00.0000"); } private void testUnsetFields(TestHarness harness) { harness.checkPoint("setting only some fields"); Calendar c = Calendar.getInstance(Locale.FRANCE); c.setTimeZone(TimeZone.getTimeZone("GMT")); c.clear(); harness.check(c.getTime(), new Date(0)); // 1970-01-01T00:00Z c.clear(); c.set(Calendar.YEAR, 1982); harness.check(c.getTime(), new Date(378691200000L)); // 1982-01-01T00:00Z c.clear(); c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY); harness.check(c.getTime(), new Date(259200000L)); // 1970-01-04T00:00Z c.clear(); c.set(Calendar.DAY_OF_WEEK_IN_MONTH, 3); harness.check(c.getTime(), new Date(1555200000L)); // 1970-01-19T00:00Z c.clear(); c.set(Calendar.WEEK_OF_YEAR, 2); harness.check(c.getTime(), new Date(345600000L)); // 1970-01-05T00:00Z c.clear(); c.set(Calendar.YEAR, 1978); c.set(Calendar.MONTH, Calendar.AUGUST); harness.check(c.getTime(), new Date(270777600000L)); // 1978-08-01T00:00Z c.clear(); c.set(Calendar.YEAR, 2004); c.set(Calendar.MONTH, Calendar.NOVEMBER); c.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY); harness.check(c.getTime(), new Date(1099699200000L)); // 2004-11-06T00:00Z } private void testLenience(TestHarness harness) { harness.checkPoint("test the setLenient() functionality"); Calendar c = Calendar.getInstance(Locale.FRANCE); c.setLenient(false); c.set(Calendar.MONTH, 42); boolean b = false; try { c.get(Calendar.MONTH); } catch (IllegalArgumentException e) { b = true; } harness.check(b); } private void testConflictingFields(TestHarness harness) { harness.checkPoint("test setting conflicting values of different fields"); Calendar c = Calendar.getInstance(Locale.FRANCE); c.setTimeZone(TimeZone.getTimeZone("GMT")); c.clear(); c.set(Calendar.YEAR, 1997); // first setting day of year using one method c.set(Calendar.DAY_OF_YEAR, 55); // then setting another day with another method c.set(Calendar.DAY_OF_MONTH, 18); c.set(Calendar.MONTH, Calendar.MAY); harness.check(c.getTime(), new Date(863913600000L)); // 1997-05-18T08:00Z // the other way around c.clear(); c.set(Calendar.HOUR_OF_DAY, 8); c.set(Calendar.YEAR, 1997); c.set(Calendar.HOUR_OF_DAY, 8); c.set(Calendar.DAY_OF_MONTH, 18); c.set(Calendar.MONTH, Calendar.MAY); c.set(Calendar.DAY_OF_YEAR, 55); harness.check(c.getTime(), new Date(856771200000L)); // 1997-02-24T08:00Z // trying three methods c.clear(); c.set(Calendar.HOUR_OF_DAY, 8); c.set(Calendar.YEAR, 1997); c.set(Calendar.HOUR_OF_DAY, 8); c.set(Calendar.DAY_OF_MONTH, 18); c.set(Calendar.MONTH, Calendar.MAY); c.set(Calendar.DAY_OF_YEAR, 55); c.set(Calendar.MONTH, Calendar.AUGUST); c.set(Calendar.DAY_OF_WEEK_IN_MONTH, 3); c.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY); harness.check(c.getTime(), new Date(871977600000L)); // 1997-08-19T08:00Z // one interesting side effect of the algorithm for interpreting // conflicting fields is that if not setting all the values in some // of the combinations described under "Calendar Fields Resolution" in // the spec then the value set in the incomplete combination will be // disregarded. c.clear(); c.set(Calendar.DAY_OF_YEAR, 55); c.set(Calendar.MONTH, Calendar.AUGUST); harness.check(c.get(Calendar.MONTH), Calendar.FEBRUARY); c.clear(); c.set(Calendar.HOUR_OF_DAY, 14); c.set(Calendar.HOUR, 8); harness.check(c.get(Calendar.HOUR), 2); } private void testNormalization(TestHarness harness) { harness.checkPoint("Normalization"); Calendar c = Calendar.getInstance(Locale.FRANCE); c.setTimeZone(TimeZone.getTimeZone("GMT")); // negative HOUR_OF_DAY c.clear(); c.set(Calendar.YEAR, 1980); c.set(Calendar.MONTH, Calendar.JULY); c.set(Calendar.DAY_OF_MONTH, 18); c.set(Calendar.HOUR_OF_DAY, -22); c.set(Calendar.MINUTE, 13); c.set(Calendar.SECOND, 13); harness.check(c.getTime(), new Date(332647993000L)); // 1980-07-17T02:13Z // HOUR == 12 c.clear(); c.set(Calendar.YEAR, 1980); c.set(Calendar.MONTH, Calendar.JULY); c.set(Calendar.DAY_OF_MONTH, 18); c.set(Calendar.HOUR, 12); c.set(Calendar.AM_PM, Calendar.AM); c.set(Calendar.MINUTE, 13); c.set(Calendar.SECOND, 13); harness.check(c.get(Calendar.HOUR), 0); harness.check(c.get(Calendar.AM_PM), Calendar.PM); // lets normalize ourselves into the leap day from a different year c.clear(); c.set(Calendar.YEAR, 1997); c.set(Calendar.MONTH, Calendar.MARCH); c.set(Calendar.DAY_OF_MONTH, 1); c.set(Calendar.HOUR_OF_DAY, -366 * 24); harness.check(c.getTime(), new Date(825552000000L)); // 1996-02-29T00:00Z // XXX could have some fun here with leap seconds } private void testModSeconds(TestHarness harness) { harness.checkPoint("ModSeconds"); Calendar c = Calendar.getInstance(Locale.FRANCE); c.setTimeZone(TimeZone.getTimeZone("GMT")); c.setLenient(true); c.set(Calendar.YEAR, 2005); c.set(Calendar.MONTH, 10); c.set(Calendar.DAY_OF_MONTH, 2); c.set(Calendar.HOUR, 2); c.set(Calendar.AM_PM, Calendar.AM); c.set(Calendar.MINUTE, 30); long t = c.getTimeInMillis() + 5500; c.setTimeInMillis(t); c.set(Calendar.SECOND, 0); c.set(Calendar.MILLISECOND, 0); c.getTime(); harness.check(c.get(Calendar.YEAR), 2005); harness.check(c.get(Calendar.SECOND), 0); } } mauve-20140821/gnu/testlet/java/util/Calendar/setTimeZone.java0000644000175000001440000000267010427476106022756 0ustar dokousers// This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.util.Calendar; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.SimpleTimeZone; import java.util.TimeZone; import java.util.Locale; public class setTimeZone implements Testlet { public void test (TestHarness harness) { Calendar cal = Calendar.getInstance(); cal.setTimeZone(TimeZone.getTimeZone("GMT+0")); cal.setTime(new Date()); int hour1 = cal.get(Calendar.HOUR_OF_DAY); cal.setTimeZone(TimeZone.getTimeZone("GMT-5")); int hour2 = cal.get(Calendar.HOUR_OF_DAY); int delta = (hour1 - hour2 + 24) % 24; harness.check(delta, 5); } } mauve-20140821/gnu/testlet/java/util/Calendar/add.java0000644000175000001440000001012010427141624021217 0ustar dokousers// Test Calendar.add(). // Copyright (c) 2001, 2006 Red Hat // Written by Tom Tromey // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.util.Calendar; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.*; import java.util.*; public class add implements Testlet { public void test (TestHarness harness) { java.util.TimeZone tz = java.util.TimeZone.getTimeZone ("GMT"); DateFormat cdf = new SimpleDateFormat ("EEE, d MMM yyyy HH:mm:ss zzz", Locale.US); cdf.setTimeZone (tz); // We use the US locale since we need a fixed one, and this one I // understand. Calendar k = Calendar.getInstance (tz, Locale.US); Date epoch = new Date (0); k.setTime (epoch); // Just double-check to make sure the tests themselves are ok. harness.check (cdf.format (epoch), "Thu, 1 Jan 1970 00:00:00 GMT"); harness.check (k.getTime (), epoch); // No-op. k.add (Calendar.YEAR, 0); harness.check (k.getTime (), epoch, "no-op add()"); k.add (Calendar.YEAR, 12); harness.check (k.get (Calendar.YEAR), 1982, "add() to year"); k.add (Calendar.YEAR, -1); harness.check (k.get (Calendar.YEAR), 1981); // Month or hour shouldn't change. harness.check (k.get (Calendar.MONTH), 0); harness.check (k.get (Calendar.HOUR_OF_DAY), 0); // Update the hour and the day should change. k.add (Calendar.HOUR_OF_DAY, 30); harness.check (k.get (Calendar.HOUR_OF_DAY), 6, "add() to hour"); harness.check (k.get (Calendar.DATE), 2); k.add (Calendar.HOUR_OF_DAY, -20); harness.check (k.get (Calendar.HOUR_OF_DAY), 10); harness.check (k.get (Calendar.DATE), 1); // Update the month and the year should change. k.add (Calendar.MONTH, -13); harness.check (k.get (Calendar.MONTH), Calendar.DECEMBER, "add() to month"); harness.check (k.get (Calendar.YEAR), 1979); k.add (Calendar.MONTH, 2); harness.check (k.get (Calendar.MONTH), Calendar.FEBRUARY); harness.check (k.get (Calendar.YEAR), 1980); harness.check (k.get (Calendar.DATE), 1); // 1980 was a leap year. k.add (Calendar.DATE, 28); harness.check (k.get (Calendar.MONTH), Calendar.FEBRUARY, "leap year"); harness.check (k.get (Calendar.DATE), 29); k.add (Calendar.DATE, 1); harness.check (k.get (Calendar.MONTH), Calendar.MARCH); harness.check (k.get (Calendar.DATE), 1); harness.check (cdf.format (k.getTime ()), "Sat, 1 Mar 1980 10:00:00 GMT", "wrap up"); testPreviousDate(harness); } public void testPreviousDate(TestHarness harness) { Calendar calendar = Calendar.getInstance(); Date now = new Date(); // Calculate the start of today. calendar.setTime(now); calendar.clear(Calendar.HOUR_OF_DAY); calendar.clear(Calendar.MINUTE); calendar.clear(Calendar.SECOND); calendar.clear(Calendar.MILLISECOND); Date todayStart = calendar.getTime(); // Calculate the start of yesterday. calendar.setTime(now); calendar.add(Calendar.DATE, -1); // this change shouldn't be lost calendar.clear(Calendar.HOUR_OF_DAY); calendar.clear(Calendar.MINUTE); calendar.clear(Calendar.SECOND); calendar.clear(Calendar.MILLISECOND); Date yesterdayStart = calendar.getTime(); harness.check(yesterdayStart.before(todayStart), "PR27362: Check that clear didn't swallow a previous add() call"); } } mauve-20140821/gnu/testlet/java/util/Calendar/getInstance.java0000644000175000001440000000710310511411411022726 0ustar dokousers/* getInstance.java -- some checks for the getInstance() methods in the Calendar class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.1 package gnu.testlet.java.util.Calendar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Calendar; import java.util.Locale; /** * Some checks for the getInstance() methods in the Calendar class. */ public class getInstance implements Testlet { public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); testMethod3(harness); testMethod4(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("()"); Calendar c = Calendar.getInstance(); harness.check(c.getTimeZone(), java.util.TimeZone.getDefault()); // check that the method returns a new instance each time Calendar c2 = Calendar.getInstance(); harness.check(c != c2); } public void testMethod2(TestHarness harness) { harness.checkPoint("(TimeZone)"); Calendar c = Calendar.getInstance(java.util.TimeZone.getTimeZone("GMT")); harness.check(c.getTimeZone(), java.util.TimeZone.getTimeZone("GMT")); // check that the method returns a new instance each time Calendar c2 = Calendar.getInstance(java.util.TimeZone.getTimeZone("GMT")); harness.check(c != c2); // try null boolean pass = false; try { /* Calendar c = */ Calendar.getInstance((java.util.TimeZone) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void testMethod3(TestHarness harness) { harness.checkPoint("(Locale)"); Calendar c = Calendar.getInstance(Locale.UK); Calendar c2 = Calendar.getInstance(Locale.UK); harness.check(c != c2); // try null boolean pass = false; try { /* Calendar c = */ Calendar.getInstance((Locale) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void testMethod4(TestHarness harness) { harness.checkPoint("(TimeZone, Locale)"); Calendar c = Calendar.getInstance(java.util.TimeZone.getTimeZone("GMT"), Locale.UK); Calendar c2 = Calendar.getInstance(java.util.TimeZone.getTimeZone("GMT"), Locale.UK); harness.check(c != c2); // try null TimeZone boolean pass = false; try { /* Calendar c = */ Calendar.getInstance((java.util.TimeZone) null, Locale.getDefault()); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try null Locale pass = false; try { /* Calendar c = */ Calendar.getInstance(java.util.TimeZone.getDefault(), (Locale) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/util/Calendar/minmax.java0000644000175000001440000000456410425416342021777 0ustar dokousers// Test Calendar.getActualMinimum(). // Copyright (c) 2004 Free Software Foundation. // Written by Jerry Quinn // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 package gnu.testlet.java.util.Calendar; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.*; import java.util.*; public class minmax implements Testlet { public void test (TestHarness harness) { java.util.TimeZone tz = java.util.TimeZone.getTimeZone ("GMT"); DateFormat cdf = new SimpleDateFormat ("EEE, d MMM yyyy HH:mm:ss zzz"); cdf.setTimeZone (tz); // We use the US locale since we need a fixed one, and this one I // understand. Calendar k = Calendar.getInstance (tz, Locale.US); Date epoch = new Date (0); k.setTime (epoch); // Simple checks of getMinimum, getMaximum harness.check (k.getMinimum(Calendar.MONTH), Calendar.JANUARY, "min month"); harness.check (k.getMaximum(Calendar.MONTH), Calendar.DECEMBER, "max month"); harness.check (k.getMinimum(Calendar.DATE), 1, "min date"); harness.check (k.getMaximum(Calendar.DATE), 31, "max date"); harness.check (k.getMinimum(Calendar.DAY_OF_YEAR), 1, "min day of year"); harness.check (k.getMaximum(Calendar.DAY_OF_YEAR), 366, "max day of year"); // Check that getActualMaximum can generate a different value k.add (Calendar.MONTH, 3); harness.check (k.getActualMinimum(Calendar.DATE), 1, "actual min date"); harness.check (k.getActualMaximum(Calendar.DATE), 30, "actual max date"); harness.check (k.getActualMinimum(Calendar.DAY_OF_YEAR), 1, "actual min day of year"); harness.check (k.getActualMaximum(Calendar.DAY_OF_YEAR), 365, "actual max day of year"); } } mauve-20140821/gnu/testlet/java/util/Calendar/setTime.java0000644000175000001440000000260610471055567022124 0ustar dokousers/* setTime.java -- some checks for the setTime() method in the Calendar class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.1 package gnu.testlet.java.util.Calendar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Calendar; import java.util.Date; public class setTime implements Testlet { public void test(TestHarness harness) { Calendar c = Calendar.getInstance(); c.setTime(new Date(123L)); harness.check(c.getTimeInMillis(), 123L); // try null boolean pass = false; try { c.setTime(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/util/Calendar/TimeZone.java0000644000175000001440000000343110425250063022224 0ustar dokousers/* TimeZone.java -- Regression test case for ensuring that setting timezone recalculate field content Copyright (C) 2006 Olivier Jolly This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.1 package gnu.testlet.java.util.Calendar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests based on KiYun Roe bug report (PR 27343 in classpath bugzilla), which * ensures that when the timezone is changed, fields of the calendar are * recomputed * @author KiYun Roe * @author Olivier Jolly */ public class TimeZone implements Testlet { public void test(TestHarness harness) { java.util.Calendar cal = java.util.Calendar.getInstance(); cal.setTimeZone(java.util.TimeZone.getTimeZone("GMT+0")); cal.setTime(new java.util.Date()); int hour1 = cal.get(java.util.Calendar.HOUR_OF_DAY); cal.setTimeZone(java.util.TimeZone.getTimeZone("GMT-5")); int hour2 = cal.get(java.util.Calendar.HOUR_OF_DAY); int delta = (hour1 - hour2 + 24) % 24; harness.check(delta, 5, "Check side effect of timezone setting"); } } mauve-20140821/gnu/testlet/java/util/Calendar/dstOffset.java0000644000175000001440000000652410604450332022441 0ustar dokousers// Copyright (C) 2007 Red Hat, Inc. // Written by Gary Benson // Including some tests by Bryce McKinlay. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.util.Calendar; import java.util.Calendar; import java.util.TimeZone; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class dstOffset implements Testlet { public void test(TestHarness harness) { TimeZone t = TimeZone.getTimeZone("America/Toronto"); Calendar c = Calendar.getInstance(t); harness.check(c.isSet(Calendar.DST_OFFSET)); // Bryce's tests // http://article.gmane.org/gmane.comp.java.classpath.devel/4509 c.set(2004, Calendar.NOVEMBER, 1); harness.check(c.isSet(Calendar.DST_OFFSET)); harness.check(c.get(Calendar.DST_OFFSET) == 0); c.set(Calendar.DST_OFFSET, -10000); harness.check(c.isSet(Calendar.DST_OFFSET)); harness.check(c.get(Calendar.DST_OFFSET) == -10000); c.set(2004, Calendar.OCTOBER, 1); harness.check(c.isSet(Calendar.DST_OFFSET)); harness.check(c.get(Calendar.DST_OFFSET) == 3600000); c.set(Calendar.DST_OFFSET, -10000); harness.check(c.isSet(Calendar.DST_OFFSET)); harness.check(c.get(Calendar.DST_OFFSET) == -10000); // Gary's tests // Tests marked with XXX are not strictly necessary; calling // get() on unset field shouldn't really be allowed. c.clear(); harness.check(!c.isSet(Calendar.DST_OFFSET)); harness.check(c.get(Calendar.DST_OFFSET) == 0); // XXX // DST c.setTimeInMillis(1175595146188L); harness.check(c.isSet(Calendar.DST_OFFSET)); harness.check(c.get(Calendar.DST_OFFSET) == 3600000); c.clear(Calendar.DST_OFFSET); harness.check(!c.isSet(Calendar.DST_OFFSET)); harness.check(c.get(Calendar.DST_OFFSET) == 3600000); // XXX c.set(Calendar.DST_OFFSET, 1800000); harness.check(c.isSet(Calendar.DST_OFFSET)); harness.check(c.get(Calendar.DST_OFFSET) == 1800000); c.setTimeInMillis(1175595146188L); harness.check(c.isSet(Calendar.DST_OFFSET)); harness.check(c.get(Calendar.DST_OFFSET) == 3600000); // non-DST c.setTimeInMillis(1172916746188L); harness.check(c.isSet(Calendar.DST_OFFSET)); harness.check(c.get(Calendar.DST_OFFSET) == 0); c.clear(Calendar.DST_OFFSET); harness.check(!c.isSet(Calendar.DST_OFFSET)); harness.check(c.get(Calendar.DST_OFFSET) == 0); // XXX c.set(Calendar.DST_OFFSET, 1800000); harness.check(c.isSet(Calendar.DST_OFFSET)); harness.check(c.get(Calendar.DST_OFFSET) == 1800000); c.setTimeInMillis(1172916746188L); harness.check(c.isSet(Calendar.DST_OFFSET)); harness.check(c.get(Calendar.DST_OFFSET) == 0); } } mauve-20140821/gnu/testlet/java/util/zip/0000755000175000001440000000000012375316426016733 5ustar dokousersmauve-20140821/gnu/testlet/java/util/zip/InflaterInputStream/0000755000175000001440000000000012375316426022673 5ustar dokousersmauve-20140821/gnu/testlet/java/util/zip/InflaterInputStream/messages.properties0000644000175000001440000002242110136006750026606 0ustar dokousers############################################################################### # Copyright (c) 2000, 2003 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Common Public License v1.0 # which accompanies this distribution, and is available at # http://www.eclipse.org/legal/cpl-v10.html # # Contributors: # IBM Corporation - initial API and implementation ############################################################################### ### Runtime plugin message catalog ok = OK ### plugins plugin.extDefNotFound = Executable extension definition for \"{0}\" not found. plugin.extDefNoClass = Executable extension definition \"{0}\" does not specify a class name. plugin.deactivatedLoad = Attempt to load class \"{0}\" from deactivated plug-in \"{1}\". plugin.loadClassError = Plug-in {0} was unable to load class {1}. plugin.instantiateClassError = Plug-in \"{0}\" was unable to instantiate class \"{1}\". plugin.initObjectError = Plug-in \"{0}\" was unable to execute setInitializationData on an instance of \"{1}\". plugin.bundleNotFound = Plug-in \"{0}\" could not find resource bundle \"{1}\". plugin.notPluginClass = Supplied runtime class \"{0}\" does not extend class Plugin. plugin.startupProblems = Problems encountered starting up plug-in: \"{0}\". plugin.pluginDisabled = Attempt to activate a disabled plug-in: \"{0}\". plugin.unableToResolve = Unable to resolve plug-in registry. plugin.mismatchRuntime = Runtime class declaration mismatch for plug-in: \"{0}\". plugin.delegatingLoaderTrouble = "Plug-in \"{0}\" activation failed while loading class \"{1}\". ### parsing/resolve parse.error = Parsing error: \"{0}\". parse.errorProcessing = Error while processing \"{0}\". parse.errorNameLineColumn = Parsing error in \"{0}\" [line {1}, column {2}]: \"{3}\". parse.extPointUnknown = Unknown extension point \"{0}\" specified in plug-in \"{1}\". parse.extPointDisabled = Extension point \"{0}\" specified in plug-in \"{1}\" is disabled. parse.prereqDisabled = Plug-in \"{0}\" was disabled due to missing or disabled prerequisite plug-in \"{1}\". parse.unsatisfiedPrereq = Unable to satisfy prerequisite constraint from \"{0}\" to \"{1}\". parse.prereqLoop = Detected prerequisite loop from \"{0}\" to \"{1}\". parse.registryProblems = Problems encountered loading the plug-in registry. parse.fragmentMissingAttr = Fragment \"{0}\" ignored due to missing attributes. parse.fragmentMissingIdName = Fragment ignored due to missing attributes (including name and id). parse.pluginMissingAttr = Plug-in \"{0}\" disabled due to missing attributes. parse.pluginMissingIdName = Plug-in disabled due to missing attributes (including name and id). parse.unknownElement = Unknown element \"{1}\", found within a \"{0}\", ignored. parse.unknownTopElement = Unknown element \"{0}\", found at the top level, ignored. parse.initializationTrouble = Parser initialization using setFeature failed. parse.internalStack = Element/end element mismatch for element \"{0}\". parse.validMatch = \"{0}\" is not a valid value for the attribute \"match\". Use \"perfect\", \"equivalent\", \"compatible\" or \"greaterOrEqual\". parse.validExport = \"{0}\" is not a valid value for the attribute \"export\". Use \"true\" or \"false\". parse.unknownAttribute = Unknown attribute \"{1}\" for element \"{0}\" ignored. parse.missingFragmentPd = Plug-in descriptor \"{0}\" not found for fragment \"{1}\". Fragment ignored. parse.unsatisfiedOptPrereq = Optional prerequisite constraint from \"{0}\" to\" {1}\" ignored. parse.prereqOptLoop = Optional prerequisite from \"{0}\" to \"{1}\" produced loop. Prerequisite ignored. parse.unknownLibraryType = Unknown library type \"{0}\" for library \"{1}\". parse.duplicatePlugin= Two plug-ins found with the same id: \"{0}\". Ignoring duplicate at \"{1}\". parse.unknownEntry=Unknown element parsed by plug-in registry: \"{0}\". parse.nullPluginIdentifier=Plug-in not loaded due to missing id or version number: \"{0}\". parse.nullFragmentIdentifier=Fragment not loaded due to missing id or version number: \"{0}\". parse.missingPluginName=Name attribute missing from plug-in or fragment at \"{0}\". parse.missingPluginId=Id attribute missing from plug-in or fragment at \"{0}\". parse.missingPluginVersion=Version attribute missing from plug-in or fragment at \"{0}\". parse.missingFPName=Plug-in name attribute missing from fragment at \"{0}\". parse.missingFPVersion=Plug-in version attribute missing from fragment at \"{0}\". parse.postiveMajor=Plug-in version identifier, \"{0}\", must have a positive major (1st) component. parse.postiveMinor=Plug-in version identifier, \"{0}\", must have a positive minor (2nd) component. parse.postiveService=Plug-in version identifier, \"{0}\", must have a positive service (3rd) component. parse.emptyPluginVersion=A plug-in version identifier must be non-empty. parse.separatorStartVersion=Plug-in version identifier, \"{0}\", must not start with a separator character. parse.separatorEndVersion=Plug-in version identifier, \"{0}\", must not end with a separator character. parse.doubleSeparatorVersion=Plug-in version identifier, \"{0}\", must not contain two consecutive separator characters. parse.oneElementPluginVersion=Plug-in version identifier, \"{0}\", must contain at least one component. parse.fourElementPluginVersion=Plug-in version identifier, \"{0}\", can contain a maximum of four components. parse.numericMajorComponent=The major (1st) component of plug-in version identifier, \"{0}\", must be numeric. parse.numericMinorComponent=The minor (2nd) component of plug-in version identifier, \"{0}\", must be numeric. parse.numericServiceComponent=The service (3rd) component of plug-in version identifier, \"{0}\", must be numeric. parse.badPrereqOnFrag=Fragment \"{0}\" requires non-existent plug-in \"{1}\". Fragment ignored. parse.duplicateFragment=Duplicate fragment found with id \"{0}\" and version \"{1}\". parse.duplicateLib=Fragment \"{0}\" for plug-in \"{1}\", has added duplicate library entry \"{2}\" . ### metadata meta.appNotInit = The application has not been initialized. meta.authFormatChanged = The platform's authorization database file format has changed. Cached authorization information will be lost. meta.couldNotCreate = Error trying to create the platform metadata area: {0}. meta.exceptionParsingLog = An exception occurred while parsing the log file: {0} meta.failCreateLock = Unable to create platform lock file: {0}. meta.inUse = \nThe platform metadata area is already in use by another platform instance, or there was a failure\n\ in deleting the old lock file. If no other platform instances are running, delete the \n\ lock file ({0}) and try starting the platform again. meta.notDir = Specified platform location \"{0}\" is not a directory. meta.pluginProblems = Problems occurred when invoking code from plug-in: \"{0}\". meta.readonly = The platform metadata area could not be written: {0}. By default the platform writes its content\nunder the current working directory when the platform is launched. Use the -data parameter to\nspecify a different content area for the platform. meta.readPlatformMeta = Could not read platform metadata: {0}. meta.registryCacheWriteProblems = Trouble writing to the registry cache file. meta.registryCacheReadProblems = Trouble reading from the registry cache file. meta.regCacheIOException = IOException encountered while writing \"{0}\". meta.registryCacheEOFException = Unexpected end-of-file when reading registry cache. Defaulting to not using cached file. meta.unableToWriteRegistry = Unable to write plug-in registry to cache. meta.unableToCreateCache = Unable to create output stream for registry cache. meta.unableToReadCache = Unable to create input stream for registry cache. meta.unableToCreateRegDebug = Unable to create output stream for registry debug information in \"{0}\". meta.unableToWriteDebugRegistry = Unable to write plug-in registry debug information to \"{0}\". meta.unableToReadAuthorization = Unable to read authorization database: {0}. meta.unableToWriteAuthorization = Unable to write to authorization database: {0}. meta.writePlatformMeta = Could not write platform metadata: {0}. meta.invalidRegDebug = Unable to create file \"{0}\" for plug-in registry debug information. meta.infoRegDebug = Plug-in registry debug information created in file \"{0}\". meta.unableToDeleteCache = Unable to delete registry cache file \"{0}\". meta.writeVersion = Unable to write workspace version file: \"{0}\". meta.versionCheckRun = Unable to run the version check application: \"{0}\". meta.checkVersion = Exception trying to read version from file: \"{0}\". ### URL url.badVariant=Unsupported \"platform:\" protocol variation \"{0}\". url.resolveFragment=Unable to resolve fragment \"{0}\". url.resolvePlugin=Unable to resolve plug-in \"{0}\". ### Preferences preferences.errorReading=Error reading exported preferences file: {0}. {1} preferences.errorWriting=Error writing preference file {0}. {1} preferences.fileNotFound=Preference export file not found: {0}. preferences.incompatible=The preference file contains preferences for version \"{0}\" of plug-in \"{1}\", but version \"{2}\" is currently installed. preferences.invalidProperty=The preference export file contained an invalid entry: {0}={1}. preferences.validate=Some preferences may not be compatible with the currently installed plug-ins. mauve-20140821/gnu/testlet/java/util/zip/InflaterInputStream/basic.java0000644000175000001440000001160310136031246024603 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 1999, 2004 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.zip.InflaterInputStream; import gnu.testlet.ResourceNotFoundException; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.zip.*; import java.io.*; import java.util.Properties; public class basic implements Testlet { public void test (TestHarness harness) { harness.checkPoint ("compressing string"); String s = "data to be written, data to be written,ata to be written,ata to be written,ata to be written,ata to be written,ata to be written,ata to be written,ata to be written,ata to be written,ata to be written,ata to be written,ata to be written,ata to be written,ata to be written,ata to be written,ata to be written,ata to be written,ata to be written,ata to be written,ata to be written,ata to be written,ata to be written,ata to be written,ata to be written,ata to be written,data to be written,data to be written,data to be written,data to be written,data to be written,data to be written,data to be written"; try { ByteArrayOutputStream bos = new ByteArrayOutputStream(); DeflaterOutputStream dos = new DeflaterOutputStream(bos); new PrintStream(dos).print(s); dos.close(); byte[] deflated_data = bos.toByteArray(); harness.check(deflated_data.length < s.length()); InflaterInputStream iis = new InflaterInputStream(new ByteArrayInputStream(deflated_data)); String inflated = new BufferedReader(new InputStreamReader(iis)).readLine(); harness.check(s, inflated); byte[] buffer = new byte[10]; int count = iis.read(buffer, 0, 0); harness.check(count, 0); count = iis.read(buffer, 0, 1); harness.check(count, -1); } catch(IOException e) { harness.check(false, "deflation tests fail"); } try { harness.checkPoint("Eclipse example"); ByteArrayOutputStream bos = new ByteArrayOutputStream(); DeflaterOutputStream dos = new DeflaterOutputStream(bos); InputStream is = harness.getResourceStream("gnu#testlet#java#util#zip#InflaterInputStream#messages.properties"); byte[] buffer = new byte[1024]; int n; while (true) { n = is.read(buffer); if (n < 0) break; dos.write(buffer, 0, n); } is.close (); dos.close (); byte[] deflated_data = bos.toByteArray(); // Lack of buffering caused InflaterInputStream problems in // with versions of Classpath. InflaterInputStream iis = new InflaterInputStream(new BufferedInputStream (new ByteArrayInputStream(deflated_data), 1)); Properties p = new Properties(); p.load(iis); harness.check(true); } catch(IOException e) { harness.debug(e); harness.check(false); } catch(ResourceNotFoundException _) { harness.debug(_); harness.check(false); } // There are apparently programs out there that depend on this behaviour. harness.checkPoint("Constructor"); boolean exception_thrown = false; try { InflaterInputStream iis = new InflaterInputStream(null); } catch (NullPointerException npe) { exception_thrown = true; } harness.check(exception_thrown); ByteArrayInputStream bais = new ByteArrayInputStream(new byte[1]); exception_thrown = false; try { InflaterInputStream iis = new InflaterInputStream(bais, null); } catch (NullPointerException npe) { exception_thrown = true; } harness.check(exception_thrown); exception_thrown = false; try { InflaterInputStream iis = new InflaterInputStream(null, new Inflater(), 1024); } catch (NullPointerException npe) { exception_thrown = true; } harness.check(exception_thrown); exception_thrown = false; try { InflaterInputStream iis = new InflaterInputStream(bais, null, 1024); } catch (NullPointerException npe) { exception_thrown = true; } harness.check(exception_thrown); exception_thrown = false; try { InflaterInputStream iis = new InflaterInputStream(bais, new Inflater(), -1024); } catch (IllegalArgumentException iae) { exception_thrown = true; } harness.check(exception_thrown); } } mauve-20140821/gnu/testlet/java/util/zip/Deflater/0000755000175000001440000000000012375316426020461 5ustar dokousersmauve-20140821/gnu/testlet/java/util/zip/Deflater/PR27435.java0000644000175000001440000000343010427475126022251 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2006 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.zip.Deflater; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.zip.Deflater; /* * This test is based on PR27435, which reported * an ArrayOutOfBoundsException when using the DeflateFast * method. * * @author Andrew John Hughes (gnu_andrew@member.fsf.org) */ public class PR27435 implements Testlet { /** * Buffer must be big enough to go over the internal * buffer size of 16384. Currently somewhere above * 1024*1024*4. */ public static final int BUFFER_SIZE = 1024*1024*5; public void test(TestHarness harness) { byte[] inputBytes = new byte[BUFFER_SIZE]; byte[] compressedData = new byte[BUFFER_SIZE]; /* Fill array with bytes */ for (int a = 0; a < inputBytes.length; ++a) inputBytes[a] = 1; Deflater deflater = new Deflater(Deflater.BEST_SPEED); deflater.setInput(inputBytes); deflater.finish(); deflater.deflate(compressedData); harness.check(true); } } mauve-20140821/gnu/testlet/java/util/zip/ZipEntry/0000755000175000001440000000000012375316426020517 5ustar dokousersmauve-20140821/gnu/testlet/java/util/zip/ZipEntry/setComment.java0000644000175000001440000000440711746541053023502 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2003 Free Software Foundation // Contributed by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.zip.ZipEntry; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.zip.*; public class setComment implements Testlet { public void test (TestHarness harness) { boolean jdk7 = conformToJDK17(); ZipEntry entry = new ZipEntry("test"); harness.check(entry.getComment(), null, "default comment is null"); entry.setComment("abc"); harness.check(entry.getComment(), "abc", "get and set normal comment"); boolean exception; try { entry.setComment(new String (new char [0xFFFF + 1])); if (jdk7) { // should be 0xFFFF in case of JDK7 exception = entry.getComment().length() != 0xFFFF; } else { exception = false; } } catch (IllegalArgumentException _) { // JDK6 should throw this exception, but JDK7 can not exception = !jdk7; } harness.check(exception, "comment larger then 65535 chars"); entry.setComment(null); harness.check(entry.getComment(), null, "get and set null comment"); } /** * Returns true if tested JRE conformns to JDK 1.7. * @author: Mark Wielaard */ private static boolean conformToJDK17() { String[] javaVersion = System.getProperty("java.version").split("\\."); String vendorID = System.getProperty("java.vendor"); // test of OpenJDK if ("Sun Microsystems Inc.".equals(vendorID)) { return Long.parseLong(javaVersion[1]) >= 7; } return true; } } mauve-20140821/gnu/testlet/java/util/zip/ZipEntry/time.java0000644000175000001440000000243110060423475022310 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2004 Free Software Foundation // Contributed by Jerry Quinn (jlquinn@gcc.gnu.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.zip.ZipEntry; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.zip.*; public class time implements Testlet { public void test (TestHarness harness) { ZipEntry entry = new ZipEntry("test"); // dostime 1e538a // dostimes are even seconds long t = 1086325228000L; entry.setTime(t); long t1 = entry.getTime(); harness.check(t, t1, "setTime or getTime broken"); } } mauve-20140821/gnu/testlet/java/util/zip/ZipEntry/Size.java0000644000175000001440000000416510167046200022265 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2005 Free Software Foundation // Contributed by Tom Tromey // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.zip.ZipEntry; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.zip.*; public class Size implements Testlet { public void test (TestHarness harness) { ZipEntry entry = new ZipEntry("liver"); harness.check(entry.getCompressedSize(), -1, "default compressed size is -1"); entry.setCompressedSize(5); harness.check(entry.getCompressedSize(), 5, "get and set compressed size"); boolean exception; try { entry.setCompressedSize(-1); exception = false; } catch (IllegalArgumentException _) { exception = true; } harness.check(!exception, "set compressed size to -1"); try { entry.setCompressedSize(-7); exception = false; } catch (IllegalArgumentException _) { exception = true; } harness.check(!exception, "set compressed size to -7"); harness.check(entry.getCompressedSize(), -7, "get compressed size as -7"); long val = 5L + Integer.MAX_VALUE; try { entry.setCompressedSize(val); exception = false; } catch (IllegalArgumentException _) { exception = true; } harness.check(!exception, "set compressed size to long value"); harness.check(entry.getCompressedSize(), val, "get long compressed size"); } } mauve-20140821/gnu/testlet/java/util/zip/ZipEntry/newZipEntry.java0000644000175000001440000000275607625416770023677 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2003 Free Software Foundation // Contributed by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.zip.ZipEntry; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.zip.*; public class newZipEntry implements Testlet { public void test (TestHarness harness) { boolean exception; try { new ZipEntry(new String (new char [0xFFFF + 1])); exception = false; } catch (IllegalArgumentException _) { exception = true; } harness.check(exception, "name larger then 65535 chars"); try { new ZipEntry((String)null); exception = false; } catch (NullPointerException _) { exception = true; } harness.check(exception, "name is null"); } } mauve-20140821/gnu/testlet/java/util/zip/Adler32/0000755000175000001440000000000012375316426020127 5ustar dokousersmauve-20140821/gnu/testlet/java/util/zip/Adler32/checksum.java0000644000175000001440000000527210305635056022574 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2005 Mark J. Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.java.util.zip.Adler32; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.zip.*; public class checksum implements Testlet { // 1000, 6000, ..., 96000 arrays filled with value = (byte) index. private final long[] someMore = new long[] { 486795068L, 1525910894L, 3543032800L, 2483946130L, 4150712693L, 3878123687L, 3650897945L, 1682829244L, 1842395054L, 460416992L, 3287492690L, 479453429L, 3960773095L, 2008242969L, 4130540683L, 1021367854L, 4065361952L, 2081116754L, 4033606837L, 1162071911L }; public void test(TestHarness harness) { byte[] bs; for (int i = 0; i < 20; i++) { int length = i * 5000 + 1000; bs = new byte[length]; for (int j = 0; j < bs.length; j++) bs[j] = (byte) j; test(harness, bs, someMore[i]); } } private void test(TestHarness harness, byte[] bs, long result) { Adler32 adler = new Adler32(); harness.check(adler.getValue(), 1); adler.update(bs); harness.check(adler.getValue(), result); adler.reset(); harness.check(adler.getValue(), 1); for (int i = 0; i < bs.length; i += 1000) adler.update(bs, i, 1000); harness.check(adler.getValue(), result); adler.reset(); harness.check(adler.getValue(), 1); for (int i = 0; i < bs.length; i++) adler.update(bs[i]); harness.check(adler.getValue(), result); adler.reset(); harness.check(adler.getValue(), 1); for (int i = 0; i < 250; i++) adler.update(bs[i]); for (int i = 250; i < bs.length - 250; i += 250) adler.update(bs, i, 250); for (int i = bs.length - 250; i < bs.length; i++) adler.update(bs[i]); harness.check(adler.getValue(), result); } } mauve-20140821/gnu/testlet/java/util/zip/ZipFile/0000755000175000001440000000000012375316426020275 5ustar dokousersmauve-20140821/gnu/testlet/java/util/zip/ZipFile/DirEntryTest.java0000644000175000001440000000315510157113054023530 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2004 Free Software Foundation // Contributed by Robin Green // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.zip.ZipFile; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.zip.*; import java.io.*; public class DirEntryTest implements Testlet { public void test (TestHarness harness) { try { File temp = File.createTempFile ("NoEntryTest", ".zip"); temp.deleteOnExit (); ZipOutputStream zout = new ZipOutputStream(new FileOutputStream (temp)); ZipEntry ze = new ZipEntry ("dir/"); zout.putNextEntry (ze); zout.close(); ZipFile zf = new ZipFile (temp); harness.check (zf.getEntry ("dir/").getName(), "dir/", "getEntry(\"dir/\")"); harness.check (zf.getEntry ("dir").getName(), "dir", "getEntry(\"dir\")"); } catch (Exception ex) { harness.debug (ex); harness.check (false); } } } mauve-20140821/gnu/testlet/java/util/zip/ZipFile/NoEntryTest.java0000644000175000001440000000321310070005052023351 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2004 Free Software Foundation // Contributed by Anthony Green // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.zip.ZipFile; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.zip.*; import java.io.*; public class NoEntryTest implements Testlet { public void test (TestHarness harness) { boolean pass = false; try { File temp = File.createTempFile ("NoEntryTest", ".zip"); temp.deleteOnExit (); ZipOutputStream zout = new ZipOutputStream(new FileOutputStream (temp)); ZipEntry ze = new ZipEntry ("one"); zout.putNextEntry (ze); zout.close(); ZipFile zf = new ZipFile (temp); ze = new ZipEntry ("this/does/not/exist"); InputStream is = zf.getInputStream (ze); if (is == null) pass = true; } catch (Exception ex) { } harness.check (pass, "getInputStream for missing ZipEntry returns null"); } } mauve-20140821/gnu/testlet/java/util/zip/ZipFile/newZipFile.java0000644000175000001440000000652410176235522023215 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2003 Free Software Foundation // Contributed by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.zip.ZipFile; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; import java.util.zip.*; public class newZipFile implements Testlet { private TestHarness harness; private String zipname, nozipname; private File tmpdir, tmpfile, tmpfile2; private void setup() throws IOException { String tmp = harness.getTempDirectory(); tmpdir = new File(tmp + File.separator + "mauve-testdir"); if (!tmpdir.mkdir() && !tmpdir.exists()) throw new IOException("Could not create: " + tmpdir); tmpfile = new File(tmpdir, "test.zip"); if (!tmpfile.delete() && tmpfile.exists()) throw new IOException("Could not remove (old): " + tmpfile); tmpfile.createNewFile(); ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(tmpfile)); zos.putNextEntry(new ZipEntry("dummy")); zos.close(); zipname = tmpfile.toString(); tmpfile2 = new File(tmpdir, "test.tmp"); if (!tmpfile2.delete() && tmpfile2.exists()) throw new IOException("Could not remove (old): " + tmpfile2); tmpfile2.createNewFile(); FileOutputStream fos = new FileOutputStream(tmpfile2); fos.write(new byte [] { (byte) 0, (byte) 1, (byte) 2, (byte) 3, (byte) 4 }); fos.close(); nozipname = tmpfile2.toString(); } private void tearDown() { if (tmpdir != null && tmpdir.exists()) { if (tmpfile != null && tmpfile.exists()) tmpfile.delete(); if (tmpfile2 != null && tmpfile2.exists()) tmpfile2.delete(); tmpdir.delete(); } } public void test (TestHarness harness) { this.harness = harness; try { setup(); ZipFile zf = new ZipFile(zipname); harness.check(zf.getName(), zipname); zf = new ZipFile(new File(zipname)); harness.check(zf.getName(), zipname); boolean exception; try { new ZipFile((String)null); exception = false; } catch (NullPointerException _) { exception = true; } harness.check(exception, "name is null"); try { new ZipFile((File)null); exception = false; } catch (NullPointerException _) { exception = true; } harness.check(exception, "name is null"); try { new ZipFile(nozipname); exception = false; } catch (ZipException _) { exception = true; } harness.check(exception, "non-zipfile gets rejected"); } catch (IOException ioe) { harness.check(false, ioe.toString()); harness.debug(ioe); } finally { tearDown(); } } } mauve-20140821/gnu/testlet/java/util/zip/GZIPInputStream/0000755000175000001440000000000012375316426021700 5ustar dokousersmauve-20140821/gnu/testlet/java/util/zip/GZIPInputStream/reference.gz0000644000175000001440000000037506720525243024201 0ustar dokousers‹~çB7referenceEP=nÅ Þ9…·.è ]«Ní!œà$¨ÄV±y·¯A©º0|ÿæ‹nÛ+|a­=‚Äô"2¸pp9à¨4ÀjðÙ±â$‹ASgÐVýi¹’‚l#8(,’:,+–BÉ©LÏUÂ>4„Íú#|ÒŒtõ{FFg6ñH£ªvb+tú˜Û«&ŠpfΉáá7@Nsä+v¸h¤Þæ]$ùó¤ÊŽXtʯºJPÃ, „ìÍKiÕ^ Íäõ@åÍj>OçšÑ¡q¢ê_&Ja•ÆFŒ¼Òèw–GøZ唓qmauve-20140821/gnu/testlet/java/util/zip/GZIPInputStream/basic.java0000644000175000001440000000521010057633065023616 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 1999 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.zip.GZIPInputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.zip.*; import java.io.*; public class basic implements Testlet { private String readall (InputStream in) { StringBuffer sb = new StringBuffer (); byte[] buf = new byte[512]; int n; try { while ((n = in.read(buf)) > 0) sb.append(new String (buf, 0, n, "8859_1")); } catch (IOException _) { } return sb.toString (); } public void test (TestHarness harness) { // First read the uncompressed file. harness.checkPoint ("reading gzip file"); String plain = ""; GZIPInputStream gzin; InputStream is = null; try { is = harness.getResourceStream ("gnu#testlet#java#util#zip#GZIPInputStream#reference.data"); plain = readall (is); gzin = new GZIPInputStream (harness.getResourceStream ("gnu#testlet#java#util#zip#GZIPInputStream#reference.gz")); String uncompressed = readall (gzin); harness.check (plain, uncompressed); } catch (gnu.testlet.ResourceNotFoundException _1) { harness.check (false); } catch (IOException _2) { harness.check (false); } // Now compress some data into a buffer and then re-read it. harness.checkPoint ("compressing and re-reading"); if (is == null) harness.check (false); else { try { ByteArrayOutputStream bout = new ByteArrayOutputStream (); GZIPOutputStream gzout = new GZIPOutputStream (bout); gzout.write (plain.getBytes ("8859_1")); gzout.close (); gzin = new GZIPInputStream (new ByteArrayInputStream (bout.toByteArray())); String full = readall (gzin); harness.check (plain, full); } catch (UnsupportedEncodingException _1) { harness.check (false); } catch (IOException _2) { harness.check (false); } } } } mauve-20140821/gnu/testlet/java/util/zip/GZIPInputStream/reference.data0000644000175000001440000000056110151124020024444 0ustar dokousersFalstaff: Marry, then, sweet wag, when thou art king, let not us that are squires of the night's body be called thieves of the day's beauty. Let us be Diana's foresters, gentlemen of the shade, minions of the moon; and let men say we be men of good government, being governed, as the sea is, by our noble and chaste mistress the moon, under whose countenance we steal. mauve-20140821/gnu/testlet/java/util/zip/GZIPInputStream/PR24461.java0000644000175000001440000000431010404622631023450 0ustar dokousers/* PR24461.java -- Regression test for PR 24461 Copyright (C) 2006 jrandom This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.1 package gnu.testlet.java.util.zip.GZIPInputStream; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.Random; import java.util.zip.GZIPInputStream; import java.util.zip.GZIPOutputStream; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class PR24461 implements Testlet { public void test(TestHarness harness) { boolean canBeOk = false; boolean ok = false; try { ByteArrayOutputStream full = new ByteArrayOutputStream(1024); GZIPOutputStream gzout = new GZIPOutputStream(full); byte buf[] = new byte[1024]; new Random().nextBytes(buf); gzout.write(buf); gzout.close(); byte gzdata[] = full.toByteArray(); // now only read the first 128 bytes of that data ByteArrayInputStream truncated = new ByteArrayInputStream(gzdata, 0, 128); GZIPInputStream gzin = new GZIPInputStream(truncated); byte read[] = new byte[1024]; int cur = 0; canBeOk = true; while ( (cur = gzin.read(read, cur, read.length-cur)) != -1) ; //noop } catch (IOException ioe) { // We expect an IOException while reading the truncated stream. // The bug was that we were seeing a NullPointerException. ok = canBeOk; } catch (Exception e) { harness.debug(e); } harness.check(ok); } } mauve-20140821/gnu/testlet/java/util/zip/ZipInputStream/0000755000175000001440000000000012375316426021671 5ustar dokousersmauve-20140821/gnu/testlet/java/util/zip/ZipInputStream/basic.java0000644000175000001440000000627010057633066023617 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 1999 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.zip.ZipInputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.zip.*; import java.io.*; public class basic implements Testlet { private String readall (InputStream in) { StringBuffer sb = new StringBuffer (); byte[] buf = new byte[512]; int n; try { while ((n = in.read(buf)) > 0) sb.append(new String (buf, 0, n, "8859_1")); } catch (IOException _) { } return sb.toString (); } public String read_a_file (ZipInputStream zis) { try { ZipEntry ze = zis.getNextEntry(); if (ze == null) return "done"; return readall (zis); } catch (IOException _) { return ""; } } public void read_contents (TestHarness harness, ZipInputStream zis) { String s = read_a_file (zis); harness.check (s, "Contents of file 1\n"); s = read_a_file (zis); harness.check (s, "Contents of file 2\n"); s = read_a_file (zis); harness.check (s, "done"); } public void read_from_end(TestHarness harness, ZipInputStream zis) { try { ZipEntry ze = zis.getNextEntry(); ze = zis.getNextEntry(); byte[] b = new byte["Contents of file 2\n".length()]; int count = zis.read(b, 0, b.length); harness.check (new String(b), "Contents of file 2\n"); harness.check(count, b.length); //read 0 bytes count = zis.read(b, 0, 0); harness.check(count, 0); //read 1 byte past the end count = zis.read(b,0,1); harness.check(count, -1); zis.close(); } catch(IOException e) { harness.check(false, "failed all read_from_end tests"); } } public void test (TestHarness harness) { harness.checkPoint ("reading zip file"); try { read_contents (harness, new ZipInputStream (harness.getResourceStream ("gnu#testlet#java#util#zip#ZipInputStream#reference.zip"))); } catch (gnu.testlet.ResourceNotFoundException _) { // FIXME: all tests should fail. harness.check(false, "all basic tests failed"); } harness.checkPoint ("checking 0 byte read"); try { read_from_end (harness, new ZipInputStream (harness.getResourceStream ("gnu#testlet#java#util#zip#ZipInputStream#reference.zip"))); } catch (gnu.testlet.ResourceNotFoundException _) { // FIXME: all tests should fail. harness.check(false, "all read tests failed"); } harness.checkPoint ("writing and re-reading"); } } mauve-20140821/gnu/testlet/java/util/zip/ZipInputStream/reference.zip0000644000175000001440000000044006720561432024345 0ustar dokousersPK e„³&)£úfile1UX 0) sb.append(new String (buf, 0, n, "8859_1")); } catch (IOException _) { } return sb.toString (); } public String read_a_file (ZipInputStream zis) { try { ZipEntry ze = zis.getNextEntry(); if (ze == null) return "done"; return readall (zis); } catch (IOException _) { return ""; } } public void read_contents (TestHarness harness, ZipInputStream zis) { String s = read_a_file (zis); harness.check (s, ""); s = read_a_file (zis); harness.check (s, ""); s = read_a_file (zis); harness.check (s, ""); } public void test (TestHarness harness) { harness.checkPoint ("reading zip file"); try { read_contents (harness, new ZipInputStream (harness.getResourceStream ("gnu#testlet#java#util#zip#ZipInputStream#reference.zip"))); } catch (gnu.testlet.ResourceNotFoundException _) { // FIXME: all tests should fail. } harness.checkPoint ("writing and re-reading"); } } mauve-20140821/gnu/testlet/java/util/List/0000755000175000001440000000000012375316426017044 5ustar dokousersmauve-20140821/gnu/testlet/java/util/List/subList.java0000644000175000001440000001502610226553644021336 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.List; import gnu.testlet.TestHarness; import java.util.List; /** * A utility class that performs various checks on the subList() method in the * {@link List} interface, for an arbitrary list class. */ public class subList { /** * Creates a new instance of the specified list class. * * @param listClass the class. * @param harness the harness. * * @return A new list instance. */ static List createListInstance(Class listClass, TestHarness harness) { List result = null; try { result = (List) listClass.newInstance(); return result; } catch (Exception e) { harness.debug(e); } return null; } /** * Run all tests for a particular class of list. * * @param listClass the list class. * @param harness the test harness. */ public static void testAll(Class listClass, TestHarness harness) { testEmptyList(listClass, harness); testABCD(listClass, harness); testAdd(listClass, harness); testClear(listClass, harness); testRemove(listClass, harness); testSet(listClass, harness); testSubSubList(listClass, harness); } public static void testEmptyList(Class listClass, TestHarness harness) { // create a sublist in an empty list... List list = createListInstance(listClass, harness); List sub = list.subList(0, 0); harness.check(sub.isEmpty()); } public static void testABCD(Class listClass, TestHarness harness) { List list = createListInstance(listClass, harness); list.add("A"); list.add("B"); list.add("C"); list.add("D"); // check start index == end index List sub = list.subList(2, 2); harness.check(sub.isEmpty()); // sublist with 1 item sub = list.subList(1, 2); harness.check(sub.get(0).equals("B")); harness.check(sub.size(), 1); // sublist with end index == size is OK sub = list.subList(1, 4); harness.check(sub.size(), 3); sub = list.subList(4, 4); harness.check(sub.isEmpty()); // sublist with start index > end index // see also bug report 4506427, which details the exceptions thrown boolean pass = false; try { sub = list.subList(2, 1); } catch (IndexOutOfBoundsException e) { pass = true; } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // sublist with negative start index pass = false; try { sub = list.subList(-1, 1); } catch (IndexOutOfBoundsException e) { pass = true; } harness.check(pass); // sublist with end index > size pass = false; try { sub = list.subList(1, 5); } catch (IndexOutOfBoundsException e) { pass = true; } harness.check(pass); } public static void testAdd(Class listClass, TestHarness harness) { List list = createListInstance(listClass, harness); list.add("A"); list.add("B"); list.add("C"); list.add("D"); // add to an empty list List sub = list.subList(0, 0); sub.add("1"); harness.check(list.get(0).equals("1")); harness.check(list.size(), 5); // add one item via sublist sub = list.subList(1, 2); sub.add("2"); harness.check(list.get(0).equals("1")); harness.check(list.get(1).equals("A")); harness.check(list.get(2).equals("2")); harness.check(list.get(3).equals("B")); harness.check(list.size(), 6); } public static void testClear(Class listClass, TestHarness harness) { List list = createListInstance(listClass, harness); list.add("A"); list.add("B"); list.add("C"); list.add("D"); // clearing an empty sublist should not affect original List sub = list.subList(0, 0); sub.clear(); harness.check(list.size(), 4); // clear one item via sublist sub = list.subList(1, 2); sub.clear(); harness.check(list.get(0).equals("A")); harness.check(list.get(1).equals("C")); harness.check(list.size(), 3); // clear all sub = list.subList(0, list.size()); sub.clear(); harness.check(list.isEmpty()); } public static void testRemove(Class listClass, TestHarness harness) { List list = createListInstance(listClass, harness); list.add("A"); list.add("B"); list.add("C"); list.add("D"); // clear one item via sublist List sub = list.subList(1, 2); sub.remove("B"); harness.check(list.get(0).equals("A")); harness.check(list.get(1).equals("C")); harness.check(list.size(), 3); } public static void testSet(Class listClass, TestHarness harness) { List list = createListInstance(listClass, harness); list.add("A"); list.add("B"); list.add("C"); list.add("D"); // clear one item via sublist List sub = list.subList(1, 2); sub.set(0, "X"); harness.check(list.get(0).equals("A")); harness.check(list.get(1).equals("X")); harness.check(list.get(2).equals("C")); harness.check(list.size(), 4); } public static void testSubSubList(Class listClass, TestHarness harness) { List list = createListInstance(listClass, harness); list.add("A"); list.add("B"); list.add("C"); list.add("D"); // clear one item via sublist List sub1 = list.subList(0, 4); List sub2 = sub1.subList(1, 3); sub2.add("X"); harness.check(sub1.get(1).equals("B")); harness.check(sub1.get(2).equals("C")); harness.check(sub1.get(3).equals("X")); harness.check(list.get(0).equals("A")); harness.check(list.get(1).equals("B")); harness.check(list.get(2).equals("C")); harness.check(list.get(3).equals("X")); harness.check(list.get(4).equals("D")); } } mauve-20140821/gnu/testlet/java/util/SimpleTimeZone/0000755000175000001440000000000012375316426021035 5ustar dokousersmauve-20140821/gnu/testlet/java/util/SimpleTimeZone/constructors.java0000644000175000001440000003026410173146235024446 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.SimpleTimeZone; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Calendar; import java.util.SimpleTimeZone; /** * Some checks for the constructors in the SimpleTimeZone class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); } private void testConstructor1(TestHarness harness) { harness.checkPoint("(int, String)"); SimpleTimeZone z = new SimpleTimeZone(1234, "Z1"); harness.check(z.getRawOffset(), 1234); harness.check(z.getID(), "Z1"); // null id should throw exception try { SimpleTimeZone z2 = new SimpleTimeZone(0, null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } } private void testConstructor2(TestHarness harness) { harness.checkPoint("(int, String, int, int, int, int, int, int, int, int)"); SimpleTimeZone z = new SimpleTimeZone(1234, "Z1", Calendar.APRIL, 15, 0, 2*60*60*1000, Calendar.NOVEMBER, 22, 0, 2*60*60*1000); harness.check(z.getRawOffset(), 1234); harness.check(z.getID(), "Z1"); harness.check(z.useDaylightTime()); harness.check(z.getDSTSavings(), 60*60*1000); // null id should throw exception try { SimpleTimeZone z2 = new SimpleTimeZone(0, null, Calendar.APRIL, 15, 0, 2*60*60*1000, Calendar.NOVEMBER, 22, 0, 2*60*60*1000); harness.check(false); } catch (NullPointerException e) { harness.check(true); } // check for invalid start month try { SimpleTimeZone z2 = new SimpleTimeZone(0, "Z", 12, 15, 0, 2*60*60*1000, Calendar.NOVEMBER, 22, 0, 2*60*60*1000); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // check for invalid end month try { SimpleTimeZone z2 = new SimpleTimeZone(0, "Z", Calendar.APRIL, 15, 0, 2*60*60*1000, 12, 22, 0, 2*60*60*1000); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // check for invalid start day-of-month try { SimpleTimeZone z2 = new SimpleTimeZone(0, "Z", Calendar.APRIL, 33, 0, 2*60*60*1000, Calendar.NOVEMBER, 22, 0, 2*60*60*1000); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // check for invalid end day-of-month try { SimpleTimeZone z2 = new SimpleTimeZone(0, "Z", Calendar.APRIL, 15, 0, 2*60*60*1000, Calendar.NOVEMBER, 33, 0, 2*60*60*1000); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // check for invalid start n (for nth day-of-week) try { SimpleTimeZone z2 = new SimpleTimeZone(0, "Z", Calendar.APRIL, 6, Calendar.MONDAY, 2*60*60*1000, Calendar.NOVEMBER, 22, 0, 2*60*60*1000); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } try { SimpleTimeZone z2 = new SimpleTimeZone(0, "Z", Calendar.APRIL, -6, Calendar.MONDAY, 2*60*60*1000, Calendar.NOVEMBER, 22, 0, 2*60*60*1000); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // check for invalid end n (for nth day-of-week) try { SimpleTimeZone z2 = new SimpleTimeZone(0, "Z", Calendar.APRIL, 1, Calendar.MONDAY, 2*60*60*1000, Calendar.NOVEMBER, 6, Calendar.MONDAY, 2*60*60*1000); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } try { SimpleTimeZone z2 = new SimpleTimeZone(0, "Z", Calendar.APRIL, 1, Calendar.MONDAY, 2*60*60*1000, Calendar.NOVEMBER, -6, Calendar.MONDAY, 2*60*60*1000); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } private void testConstructor3(TestHarness harness) { harness.checkPoint("(int, String, int, int, int, int, int, int, int, int, int)"); SimpleTimeZone z = new SimpleTimeZone(1234, "Z1", Calendar.APRIL, 15, 0, 2*60*60*1000, Calendar.NOVEMBER, 22, 0, 2*60*60*1000, 123456); harness.check(z.getRawOffset(), 1234); harness.check(z.getID(), "Z1"); harness.check(z.useDaylightTime()); harness.check(z.getDSTSavings(), 123456); // null id should throw exception try { SimpleTimeZone z2 = new SimpleTimeZone(0, null, Calendar.APRIL, 15, 0, 2*60*60*1000, Calendar.NOVEMBER, 22, 0, 2*60*60*1000, 60*60*1000); harness.check(false); } catch (NullPointerException e) { harness.check(true); } // check for invalid start month try { SimpleTimeZone z2 = new SimpleTimeZone(0, "Z", 12, 15, 0, 2*60*60*1000, Calendar.NOVEMBER, 22, 0, 2*60*60*1000, 60*60*1000); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // check for invalid end month try { SimpleTimeZone z2 = new SimpleTimeZone(0, "Z", Calendar.APRIL, 15, 0, 2*60*60*1000, 15, 22, 0, 2*60*60*1000, 60*60*1000); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // check for invalid start day-of-month try { SimpleTimeZone z2 = new SimpleTimeZone(0, "Z", Calendar.APRIL, 33, 0, 2*60*60*1000, Calendar.NOVEMBER, 22, 0, 2*60*60*1000, 60*60*1000); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // check for invalid end day-of-month try { SimpleTimeZone z2 = new SimpleTimeZone(0, "Z", Calendar.APRIL, 15, 0, 2*60*60*1000, Calendar.NOVEMBER, 33, 0, 2*60*60*1000, 60*60*1000); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // check for invalid start n (for nth day of week) try { SimpleTimeZone z2 = new SimpleTimeZone(0, "Z", Calendar.APRIL, 6, Calendar.MONDAY, 2*60*60*1000, Calendar.NOVEMBER, 22, 0, 2*60*60*1000, 60*60*1000); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } try { SimpleTimeZone z2 = new SimpleTimeZone(0, "Z", Calendar.APRIL, -6, Calendar.MONDAY, 2*60*60*1000, Calendar.NOVEMBER, 22, 0, 2*60*60*1000, 60*60*1000); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // check for invalid end n (for nth day of week) try { SimpleTimeZone z2 = new SimpleTimeZone(0, "Z", Calendar.APRIL, 1, Calendar.MONDAY, 2*60*60*1000, Calendar.NOVEMBER, 6, Calendar.MONDAY, 2*60*60*1000, 60*60*1000); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } try { SimpleTimeZone z2 = new SimpleTimeZone(0, "Z", Calendar.APRIL, -1, Calendar.MONDAY, 2*60*60*1000, Calendar.NOVEMBER, -6, Calendar.MONDAY, 2*60*60*1000, 60*60*1000); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } private void testConstructor4(TestHarness harness) { harness.checkPoint("(int, String, int, int, int, int, int, int, int, int, int, int, int)"); SimpleTimeZone z = new SimpleTimeZone(1234, "Z1", Calendar.APRIL, 15, 0, 2*60*60*1000, SimpleTimeZone.UTC_TIME, Calendar.NOVEMBER, 22, 0, 2*60*60*1000, SimpleTimeZone.UTC_TIME, 123456); harness.check(z.getRawOffset(), 1234); harness.check(z.getID(), "Z1"); harness.check(z.useDaylightTime()); harness.check(z.getDSTSavings(), 123456); // null id should throw exception try { SimpleTimeZone z2 = new SimpleTimeZone(0, null, Calendar.APRIL, 15, 0, 2*60*60*1000, SimpleTimeZone.WALL_TIME, Calendar.NOVEMBER, 22, 0, 2*60*60*1000, SimpleTimeZone.WALL_TIME, 60*60*1000); harness.check(false); } catch (NullPointerException e) { harness.check(true); } // check for invalid start month try { SimpleTimeZone z2 = new SimpleTimeZone(1234, "Z1", 12, 15, 0, 2*60*60*1000, SimpleTimeZone.UTC_TIME, Calendar.NOVEMBER, 22, 0, 2*60*60*1000, SimpleTimeZone.UTC_TIME, 123456); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // check for invalid end month try { SimpleTimeZone z2 = new SimpleTimeZone(1234, "Z1", Calendar.APRIL, 15, 0, 2*60*60*1000, SimpleTimeZone.UTC_TIME, 12, 22, 0, 2*60*60*1000, SimpleTimeZone.UTC_TIME, 123456); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // check for invalid start day-of-month try { SimpleTimeZone z2 = new SimpleTimeZone(1234, "Z1", Calendar.APRIL, 33, 0, 2*60*60*1000, SimpleTimeZone.UTC_TIME, Calendar.NOVEMBER, 22, 0, 2*60*60*1000, SimpleTimeZone.UTC_TIME, 123456); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // check for invalid end day-of-month try { SimpleTimeZone z2 = new SimpleTimeZone(1234, "Z1", Calendar.APRIL, 15, 0, 2*60*60*1000, SimpleTimeZone.UTC_TIME, Calendar.NOVEMBER, 33, 0, 2*60*60*1000, SimpleTimeZone.UTC_TIME, 123456); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // check for invalid n (for nth day-of-week) try { SimpleTimeZone z2 = new SimpleTimeZone(1234, "Z1", Calendar.APRIL, 6, Calendar.MONDAY, 2*60*60*1000, SimpleTimeZone.UTC_TIME, Calendar.NOVEMBER, 22, 0, 2*60*60*1000, SimpleTimeZone.UTC_TIME, 123456); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } try { SimpleTimeZone z2 = new SimpleTimeZone(1234, "Z1", Calendar.APRIL, -6, Calendar.MONDAY, 2*60*60*1000, SimpleTimeZone.UTC_TIME, Calendar.NOVEMBER, 22, 0, 2*60*60*1000, SimpleTimeZone.UTC_TIME, 123456); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // check for invalid n (for nth day-of-week) try { SimpleTimeZone z2 = new SimpleTimeZone(1234, "Z1", Calendar.APRIL, 1, Calendar.MONDAY, 2*60*60*1000, SimpleTimeZone.UTC_TIME, Calendar.NOVEMBER, 6, Calendar.MONDAY, 2*60*60*1000, SimpleTimeZone.UTC_TIME, 123456); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } try { SimpleTimeZone z2 = new SimpleTimeZone(1234, "Z1", Calendar.APRIL, 1, Calendar.MONDAY, 2*60*60*1000, SimpleTimeZone.UTC_TIME, Calendar.NOVEMBER, -6, Calendar.MONDAY, 2*60*60*1000, SimpleTimeZone.UTC_TIME, 123456); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/util/SimpleTimeZone/equals.java0000644000175000001440000001337610567313374023204 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 David Gilbert (david.gilbert@object-refinery.com) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.SimpleTimeZone; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Calendar; import java.util.SimpleTimeZone; import java.util.TimeZone; /** * Some checks for the equals() method in the SimpleTimeZone class. */ public class equals implements Testlet { /** * Runs the tests. * * @param harness the test harness. */ public void test(TestHarness harness) { test1(harness); test2(harness); } private void test1(TestHarness harness) { SimpleTimeZone z1 = new SimpleTimeZone(5 * 60 * 60 * 1000, "Z1"); harness.check(!z1.equals(null)); SimpleTimeZone z2 = new SimpleTimeZone(5 * 60 * 60 * 1000, "Z1"); harness.check(z1.equals(z2)); // check 1 harness.check(z2.equals(z1)); // check 2 int rawOffset1 = 5 * 60 * 60 * 1000; int rawOffset2 = 6 * 60 * 60 * 1000; int time1 = 2 * 60 * 60 * 1000; int time2 = 3 * 60 * 60 * 1000; z1 = new SimpleTimeZone(rawOffset1, "Z1", Calendar.APRIL, 5, 0, time1, Calendar.SEPTEMBER, 15, 0, time2, 3600000); z2 = new SimpleTimeZone(rawOffset1, "Z1", Calendar.APRIL, 5, 0, time1, Calendar.SEPTEMBER, 15, 0, time2, 3600000); harness.check(z1.equals(z2)); // check 3 z1 = new SimpleTimeZone(rawOffset2, "Z1", Calendar.APRIL, 5, 0, time1, Calendar.SEPTEMBER, 15, 0, time2, 3600000); harness.check(!z1.equals(z2)); // check 4 z2 = new SimpleTimeZone(rawOffset2, "Z1", Calendar.APRIL, 5, 0, time1, Calendar.SEPTEMBER, 15, 0, time2, 3600000); harness.check(z1.equals(z2)); // check 5 z1 = new SimpleTimeZone(rawOffset2, "Z2", Calendar.APRIL, 5, 0, time1, Calendar.SEPTEMBER, 15, 0, time2, 3600000); harness.check(!z1.equals(z2)); // check 6 z2 = new SimpleTimeZone(rawOffset2, "Z2", Calendar.APRIL, 5, 0, time1, Calendar.SEPTEMBER, 15, 0, time2, 3600000); harness.check(z1.equals(z2)); // check 7 z1 = new SimpleTimeZone(rawOffset2, "Z2", Calendar.MAY, 5, 0, time1, Calendar.SEPTEMBER, 15, 0, time2, 3600000); harness.check(!z1.equals(z2)); // check 8 z2 = new SimpleTimeZone(rawOffset2, "Z2", Calendar.MAY, 5, 0, time1, Calendar.SEPTEMBER, 15, 0, time2, 3600000); harness.check(z1.equals(z2)); // check 9 z1 = new SimpleTimeZone(rawOffset2, "Z2", Calendar.MAY, 6, 0, time1, Calendar.SEPTEMBER, 15, 0, time2, 3600000); harness.check(!z1.equals(z2)); // check 10 z2 = new SimpleTimeZone(rawOffset2, "Z2", Calendar.MAY, 6, 0, time1, Calendar.SEPTEMBER, 15, 0, time2, 3600000); harness.check(z1.equals(z2)); // check 11 z1 = new SimpleTimeZone(rawOffset2, "Z2", Calendar.MAY, 6, 0, time2, Calendar.SEPTEMBER, 15, 0, time2, 3600000); harness.check(!z1.equals(z2)); // check 12 z2 = new SimpleTimeZone(rawOffset2, "Z2", Calendar.MAY, 6, 0, time2, Calendar.SEPTEMBER, 15, 0, time2, 3600000); harness.check(z1.equals(z2)); // check 13 z1 = new SimpleTimeZone(rawOffset2, "Z2", Calendar.MAY, 6, 0, time2, Calendar.OCTOBER, 15, 0, time2, 3600000); harness.check(!z1.equals(z2)); // check 14 z2 = new SimpleTimeZone(rawOffset2, "Z2", Calendar.MAY, 6, 0, time2, Calendar.OCTOBER, 15, 0, time2, 3600000); harness.check(z1.equals(z2)); // check 15 z1 = new SimpleTimeZone(rawOffset2, "Z2", Calendar.MAY, 6, 0, time2, Calendar.OCTOBER, 16, 0, time2, 3600000); harness.check(!z1.equals(z2)); // check 16 z2 = new SimpleTimeZone(rawOffset2, "Z2", Calendar.MAY, 6, 0, time2, Calendar.OCTOBER, 16, 0, time2, 3600000); harness.check(z1.equals(z2)); // check 17 z1 = new SimpleTimeZone(rawOffset2, "Z2", Calendar.MAY, 6, 0, time2, Calendar.OCTOBER, 16, 0, time1, 3600000); harness.check(!z1.equals(z2)); // check 18 z2 = new SimpleTimeZone(rawOffset2, "Z2", Calendar.MAY, 6, 0, time2, Calendar.OCTOBER, 16, 0, time1, 3600000); harness.check(z1.equals(z2)); // check 19 z1 = new SimpleTimeZone(rawOffset2, "Z2", Calendar.MAY, 6, 0, time2, Calendar.OCTOBER, 16, 0, time1, 3600001); harness.check(!z1.equals(z2)); // check 20 z2 = new SimpleTimeZone(rawOffset2, "Z2", Calendar.MAY, 6, 0, time2, Calendar.OCTOBER, 16, 0, time1, 3600001); harness.check(z1.equals(z2)); // check 21 } // Tests converted from the SimpleTimeZoneTest.java attachment // of http://gcc.gnu.org/ml/java-patches/2007-q1/msg00587.html. private void test2(TestHarness harness) { TimeZone utc = (TimeZone) new SimpleTimeZone(0, "GMT"); TimeZone.setDefault(utc); Calendar cal = Calendar.getInstance(utc); TimeZone tz2 = new SimpleTimeZone( -12600000, "Test1", Calendar.MARCH, 8, -Calendar.SUNDAY, 60000, SimpleTimeZone.WALL_TIME, Calendar.NOVEMBER, 1, -Calendar.SUNDAY, 60000, SimpleTimeZone.STANDARD_TIME, 3600000); TimeZone tz3 = new SimpleTimeZone( -12600000, "Test2", Calendar.MARCH, 8, -Calendar.SUNDAY, 60000, Calendar.NOVEMBER, 1, -Calendar.SUNDAY, 3660000, 3600000); harness.check(!tz2.equals(tz3)); ((SimpleTimeZone) tz2).setEndRule( Calendar.NOVEMBER, 1, -Calendar.SUNDAY, 3660000); tz3.setID("Test1"); harness.check(tz2.equals(tz3)); } } mauve-20140821/gnu/testlet/java/util/SimpleTimeZone/getOffset.java0000644000175000001440000000547710141255732023632 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.SimpleTimeZone; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Calendar; import java.util.GregorianCalendar; import java.util.SimpleTimeZone; /** * Some checks for the getOffset() methods in the SimpleTimeZone class. */ public class getOffset implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); } private void testMethod1(TestHarness harness) { harness.checkPoint("(int, int, int, int, int, int)"); int offset = -6 * 60 * 60 * 1000; int t1 = 5 * 60 * 60 * 1000; int t2 = 6 * 60 * 60 * 1000; int dst = 2 * 60 * 60 * 1000; SimpleTimeZone z = new SimpleTimeZone(offset, "Z1", Calendar.APRIL, 26, 0, t1, Calendar.OCTOBER, 25, 0, t2, dst); harness.check(z.getOffset(GregorianCalendar.AD, 2004, Calendar.APRIL, 26, Calendar.MONDAY, t1 - 1000), offset); harness.check(z.getOffset(GregorianCalendar.AD, 2004, Calendar.APRIL, 26, Calendar.MONDAY, t1 + 1000), offset + dst); harness.check(z.getOffset(GregorianCalendar.AD, 2004, Calendar.OCTOBER, 25, Calendar.MONDAY, t2 - dst - 1000), offset + dst); harness.check(z.getOffset(GregorianCalendar.AD, 2004, Calendar.OCTOBER, 25, Calendar.MONDAY, t2 - dst + 1000), offset); } private void testMethod2(TestHarness harness) { harness.checkPoint("(Date)"); int offset = -6 * 60 * 60 * 1000; int t1 = 5 * 60 * 60 * 1000; int t2 = 6 * 60 * 60 * 1000; int dst = 2 * 60 * 60 * 1000; SimpleTimeZone z = new SimpleTimeZone(offset, "Z1", Calendar.APRIL, 26, 0, t1, Calendar.OCTOBER, 25, 0, t2, dst); GregorianCalendar c = new GregorianCalendar(z); c.set(2004, Calendar.APRIL, 26, 4, 59, 59); long d1 = c.getTimeInMillis(); harness.check(z.getOffset(d1), offset); harness.check(z.getOffset(d1 + 2000), offset + dst); // to do : check end date } } mauve-20140821/gnu/testlet/java/util/SimpleTimeZone/clone.java0000644000175000001440000000302010141255732022762 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.SimpleTimeZone; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Calendar; import java.util.SimpleTimeZone; /** * Some checks for the clone() method in the SimpleTimeZone class. */ public class clone implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { int t = 2 * 60 * 60 * 1000; SimpleTimeZone z1 = new SimpleTimeZone(5 * 60 * 60 * 1000, "Zone 1", Calendar.JANUARY, 15, 0, t, Calendar.NOVEMBER, 11, 0, t, 60 * 60 * 1000); SimpleTimeZone z2 = (SimpleTimeZone) z1.clone(); harness.check(z1.equals(z2)); } } mauve-20140821/gnu/testlet/java/util/SimpleTimeZone/constants.java0000644000175000001440000000255110141255732023706 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.SimpleTimeZone; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.SimpleTimeZone; /** * Some checks for the constants in the SimpleTimeZone class. */ public class constants implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.check(SimpleTimeZone.STANDARD_TIME, 1); harness.check(SimpleTimeZone.UTC_TIME, 2); harness.check(SimpleTimeZone.WALL_TIME, 0); } } mauve-20140821/gnu/testlet/java/util/SimpleTimeZone/check12.java0000644000175000001440000001544410141253033023107 0ustar dokousers// Test SimpleTimeZone.check12(). // Written by Jerry Quinn // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 // Test features added by JDK 1.2 package gnu.testlet.java.util.SimpleTimeZone; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.Locale; import java.util.SimpleTimeZone; import java.util.TimeZone; public class check12 implements Testlet { public void test (TestHarness harness) { int rawOff = -18000000; // 5 hours int dstOff = 3600000; // 1 hour // Create a timezone for UTC-5 with daylight savings starting on // the second Monday, April 10 at 12 noon, ending the second // Sunday, September 10, 12 noon in daylight savings, 1 hour // shift. // All three should represent the same period SimpleTimeZone tz = new SimpleTimeZone(rawOff, "Z1", Calendar.APRIL, 10, 0, 43200000, Calendar.SEPTEMBER, 10, 0, 43200000, dstOff); int off; // Test 1/2 hour before dst off = tz.getOffset(GregorianCalendar.AD, 2004, Calendar.APRIL, 10, Calendar.SATURDAY, 41400000); harness.check(off, rawOff); // check 1 // Test 1/2 hour into dst off = tz.getOffset(GregorianCalendar.AD, 2004, Calendar.APRIL, 10, Calendar.SATURDAY, 45000000); harness.check(off, rawOff + dstOff); // check 2 // Test end rule off = tz.getOffset(GregorianCalendar.AD, 2004, Calendar.SEPTEMBER, 10, Calendar.FRIDAY, 41400000 - dstOff); harness.check(off, rawOff + dstOff); // check 3 off = tz.getOffset(GregorianCalendar.AD, 2004, Calendar.SEPTEMBER, 10, Calendar.FRIDAY, 45000000 - dstOff); harness.check(off, rawOff); // check 4 // Test that Nth dayofweek works with day of month rules tz.setStartRule(Calendar.APRIL, 2, Calendar.SATURDAY, 43200000); off = tz.getOffset(GregorianCalendar.AD, 2004, Calendar.APRIL, 10, Calendar.SATURDAY, 41400000); harness.check(off, rawOff); // check 5 off = tz.getOffset(GregorianCalendar.AD, 2004, Calendar.APRIL, 10, Calendar.SATURDAY, 45000000); harness.check(off, rawOff + dstOff); // check 6 tz.setEndRule(Calendar.SEPTEMBER, 2, Calendar.FRIDAY, 43200000); off = tz.getOffset(GregorianCalendar.AD, 2004, Calendar.SEPTEMBER, 10, Calendar.FRIDAY, 41400000 - dstOff); harness.check(off, rawOff + dstOff); // check 7 off = tz.getOffset(GregorianCalendar.AD, 2004, Calendar.SEPTEMBER, 10, Calendar.FRIDAY, 45000000 - dstOff); harness.check(off, rawOff); // check 8 // Test that -Nth dayofweek works with day of month rules tz.setStartRule(Calendar.APRIL, -3, Calendar.SATURDAY, 43200000); off = tz.getOffset(GregorianCalendar.AD, 2004, Calendar.APRIL, 10, Calendar.SATURDAY, 41400000); harness.check(off, rawOff); // check 9 off = tz.getOffset(GregorianCalendar.AD, 2004, Calendar.APRIL, 10, Calendar.SATURDAY, 45000000); harness.check(off, rawOff + dstOff); // check 10 tz.setEndRule(Calendar.SEPTEMBER, -3, Calendar.FRIDAY, 43200000); off = tz.getOffset(GregorianCalendar.AD, 2004, Calendar.SEPTEMBER, 10, Calendar.FRIDAY, 41400000 - dstOff); harness.check(off, rawOff + dstOff); // check 11 off = tz.getOffset(GregorianCalendar.AD, 2004, Calendar.SEPTEMBER, 10, Calendar.FRIDAY, 45000000 - dstOff); harness.check(off, rawOff); // check 12 // Friday on or before April 5, 2004 is April 2 // Test arguments get overidden and perform correctly tz.setStartRule(Calendar.APRIL, 5, Calendar.FRIDAY, 43200000, false); off = tz.getOffset(GregorianCalendar.AD, 2004, Calendar.APRIL, 2, Calendar.FRIDAY, 41400000); harness.check(off, rawOff); // check 13 off = tz.getOffset(GregorianCalendar.AD, 2004, Calendar.APRIL, 2, Calendar.FRIDAY, 45000000); harness.check(off, rawOff + dstOff); // check 14 tz.setEndRule(Calendar.SEPTEMBER, -15, -Calendar.FRIDAY, 43200000); off = tz.getOffset(GregorianCalendar.AD, 2004, Calendar.SEPTEMBER, 10, Calendar.FRIDAY, 41400000 - dstOff); harness.check(off, rawOff + dstOff); // check 15 off = tz.getOffset(GregorianCalendar.AD, 2004, Calendar.SEPTEMBER, 10, Calendar.FRIDAY, 45000000 - dstOff); harness.check(off, rawOff); // check 16 // Sunday on or after April 5, 2004 is April 11 // Test arguments get overidden and perform correctly tz.setStartRule(Calendar.APRIL, 5, Calendar.SUNDAY, 43200000, true); off = tz.getOffset(GregorianCalendar.AD, 2004, Calendar.APRIL, 11, Calendar.SUNDAY, 41400000); harness.check(off, rawOff); // check 17 off = tz.getOffset(GregorianCalendar.AD, 2004, Calendar.APRIL, 11, Calendar.SUNDAY, 45000000); harness.check(off, rawOff + dstOff); // check 18 tz.setEndRule(Calendar.SEPTEMBER, 6, -Calendar.FRIDAY, 43200000); off = tz.getOffset(GregorianCalendar.AD, 2004, Calendar.SEPTEMBER, 10, Calendar.FRIDAY, 41400000 - dstOff); harness.check(off, rawOff + dstOff); // check 19 off = tz.getOffset(GregorianCalendar.AD, 2004, Calendar.SEPTEMBER, 10, Calendar.FRIDAY, 45000000 - dstOff); harness.check(off, rawOff); // check 20 // Currently broken in GCJ tz.setEndRule(Calendar.SEPTEMBER, -6, -Calendar.TUESDAY, 43200000); off = tz.getOffset(GregorianCalendar.AD, 2004, Calendar.AUGUST, 31, Calendar.TUESDAY, 41400000 - dstOff); harness.check(off, rawOff + dstOff); // check 21 off = tz.getOffset(GregorianCalendar.AD, 2004, Calendar.AUGUST, 31, Calendar.TUESDAY, 45000000 - dstOff); harness.check(off, rawOff); // check 22 // This looks like a Date or DateFormat test, but is here because there was a bug in SimpleTimeZone // PR libgcj/8321 Date date = new Date(1034705556525l); TimeZone zone = TimeZone.getTimeZone("EST"); DateFormat dateFormat = DateFormat.getDateTimeInstance( DateFormat.SHORT, DateFormat.LONG, Locale.US); dateFormat.setTimeZone(zone); harness.check(dateFormat.format(date), "10/15/02 2:12:36 PM EDT"); } } mauve-20140821/gnu/testlet/java/util/SimpleTimeZone/hasSameRules.java0000644000175000001440000001314110567313374024274 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 David Gilbert (david.gilbert@object-refinery.com) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.SimpleTimeZone; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Calendar; import java.util.SimpleTimeZone; import java.util.TimeZone; /** * Some checks for the hasSameRules() method in the SimpleTimeZone class. */ public class hasSameRules implements Testlet { /** * Runs the tests. * * @param harness the test harness. */ public void test(TestHarness harness) { test1(harness); test2(harness); } private void test1(TestHarness harness) { SimpleTimeZone z1 = new SimpleTimeZone(5 * 60 * 60 * 1000, "Z1"); harness.check(!z1.hasSameRules(null)); SimpleTimeZone z2 = new SimpleTimeZone(5 * 60 * 60 * 1000, "Z1"); harness.check(z1.hasSameRules(z2)); // check 1 harness.check(z2.hasSameRules(z1)); // check 2 int rawOffset1 = 5 * 60 * 60 * 1000; int rawOffset2 = 6 * 60 * 60 * 1000; int time1 = 2 * 60 * 60 * 1000; int time2 = 3 * 60 * 60 * 1000; z1 = new SimpleTimeZone(rawOffset1, "Z1", Calendar.APRIL, 5, 0, time1, Calendar.SEPTEMBER, 15, 0, time2, 3600000); z2 = new SimpleTimeZone(rawOffset1, "Z2", Calendar.APRIL, 5, 0, time1, Calendar.SEPTEMBER, 15, 0, time2, 3600000); harness.check(z1.hasSameRules(z2)); // check 3 z1 = new SimpleTimeZone(rawOffset2, "Z1", Calendar.APRIL, 5, 0, time1, Calendar.SEPTEMBER, 15, 0, time2, 3600000); harness.check(!z1.hasSameRules(z2)); // check 4 z2 = new SimpleTimeZone(rawOffset2, "Z2", Calendar.APRIL, 5, 0, time1, Calendar.SEPTEMBER, 15, 0, time2, 3600000); harness.check(z1.hasSameRules(z2)); // check 5 z1 = new SimpleTimeZone(rawOffset2, "Z1", Calendar.MAY, 5, 0, time1, Calendar.SEPTEMBER, 15, 0, time2, 3600000); harness.check(!z1.hasSameRules(z2)); // check 6 z2 = new SimpleTimeZone(rawOffset2, "Z2", Calendar.MAY, 5, 0, time1, Calendar.SEPTEMBER, 15, 0, time2, 3600000); harness.check(z1.hasSameRules(z2)); // check 7 z1 = new SimpleTimeZone(rawOffset2, "Z1", Calendar.MAY, 6, 0, time1, Calendar.SEPTEMBER, 15, 0, time2, 3600000); harness.check(!z1.hasSameRules(z2)); // check 8 z2 = new SimpleTimeZone(rawOffset2, "Z2", Calendar.MAY, 6, 0, time1, Calendar.SEPTEMBER, 15, 0, time2, 3600000); harness.check(z1.hasSameRules(z2)); // check 9 z1 = new SimpleTimeZone(rawOffset2, "Z1", Calendar.MAY, 6, 0, time2, Calendar.SEPTEMBER, 15, 0, time2, 3600000); harness.check(!z1.hasSameRules(z2)); // check 10 z2 = new SimpleTimeZone(rawOffset2, "Z2", Calendar.MAY, 6, 0, time2, Calendar.SEPTEMBER, 15, 0, time2, 3600000); harness.check(z1.hasSameRules(z2)); // check 11 z1 = new SimpleTimeZone(rawOffset2, "Z1", Calendar.MAY, 6, 0, time2, Calendar.OCTOBER, 15, 0, time2, 3600000); harness.check(!z1.hasSameRules(z2)); // check 12 z2 = new SimpleTimeZone(rawOffset2, "Z2", Calendar.MAY, 6, 0, time2, Calendar.OCTOBER, 15, 0, time2, 3600000); harness.check(z1.hasSameRules(z2)); // check 13 z1 = new SimpleTimeZone(rawOffset2, "Z1", Calendar.MAY, 6, 0, time2, Calendar.OCTOBER, 16, 0, time2, 3600000); harness.check(!z1.hasSameRules(z2)); // check 14 z2 = new SimpleTimeZone(rawOffset2, "Z2", Calendar.MAY, 6, 0, time2, Calendar.OCTOBER, 16, 0, time2, 3600000); harness.check(z1.hasSameRules(z2)); // check 15 z1 = new SimpleTimeZone(rawOffset2, "Z1", Calendar.MAY, 6, 0, time2, Calendar.OCTOBER, 16, 0, time1, 3600000); harness.check(!z1.hasSameRules(z2)); // check 16 z2 = new SimpleTimeZone(rawOffset2, "Z1", Calendar.MAY, 6, 0, time2, Calendar.OCTOBER, 16, 0, time1, 3600000); harness.check(z1.hasSameRules(z2)); // check 17 z1 = new SimpleTimeZone(rawOffset2, "Z1", Calendar.MAY, 6, 0, time2, Calendar.OCTOBER, 16, 0, time1, 3600001); harness.check(!z1.hasSameRules(z2)); // check 18 z2 = new SimpleTimeZone(rawOffset2, "Z2", Calendar.MAY, 6, 0, time2, Calendar.OCTOBER, 16, 0, time1, 3600001); harness.check(z1.hasSameRules(z2)); // check 19 } // Tests converted from the SimpleTimeZoneTest.java attachment // of http://gcc.gnu.org/ml/java-patches/2007-q1/msg00587.html. private void test2(TestHarness harness) { TimeZone utc = (TimeZone) new SimpleTimeZone(0, "GMT"); TimeZone.setDefault(utc); Calendar cal = Calendar.getInstance(utc); TimeZone tz2 = new SimpleTimeZone( -12600000, "Test1", Calendar.MARCH, 8, -Calendar.SUNDAY, 60000, SimpleTimeZone.WALL_TIME, Calendar.NOVEMBER, 1, -Calendar.SUNDAY, 60000, SimpleTimeZone.STANDARD_TIME, 3600000); TimeZone tz3 = new SimpleTimeZone( -12600000, "Test2", Calendar.MARCH, 8, -Calendar.SUNDAY, 60000, Calendar.NOVEMBER, 1, -Calendar.SUNDAY, 3660000, 3600000); harness.check(!tz2.hasSameRules(tz3)); ((SimpleTimeZone) tz2).setEndRule( Calendar.NOVEMBER, 1, -Calendar.SUNDAY, 3660000); harness.check(tz2.hasSameRules(tz3)); } }mauve-20140821/gnu/testlet/java/util/SimpleTimeZone/setRawOffset.java0000644000175000001440000000262010141255732024303 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.SimpleTimeZone; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.SimpleTimeZone; /** * Some checks for the setRawOffset() method in the SimpleTimeZone class. */ public class setRawOffset implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleTimeZone z1 = new SimpleTimeZone(0, "Zone 1"); harness.check(z1.getRawOffset(), 0); z1.setRawOffset(12345); harness.check(z1.getRawOffset(), 12345); } } mauve-20140821/gnu/testlet/java/util/SimpleTimeZone/setStartYear.java0000644000175000001440000000431310141255732024322 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.SimpleTimeZone; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Calendar; import java.util.GregorianCalendar; import java.util.SimpleTimeZone; /** * Some checks for the setStartYear() method in the SimpleTimeZone class. */ public class setStartYear implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { int offset = -6 * 60 * 60 * 1000; int t1 = 5 * 60 * 60 * 1000; int t2 = 6 * 60 * 60 * 1000; int dst = 2 * 60 * 60 * 1000; SimpleTimeZone z = new SimpleTimeZone(offset, "Z1", Calendar.APRIL, 26, 0, t1, Calendar.OCTOBER, 25, 0, t2, dst); z.setStartYear(2010); // the following checks are copied from the inDaylightTime test // but in this case the expected result is always false because // the start year has been set to 2010. GregorianCalendar c = new GregorianCalendar(z); c.set(2004, Calendar.APRIL, 25, 8, 0, 0); harness.check(!z.inDaylightTime(c.getTime())); c.set(2004, Calendar.APRIL, 26, 8, 0, 0); harness.check(!z.inDaylightTime(c.getTime())); c.set(2004, Calendar.OCTOBER, 24, 8, 0, 0); harness.check(!z.inDaylightTime(c.getTime())); c.set(2004, Calendar.OCTOBER, 25, 8, 0, 0); harness.check(!z.inDaylightTime(c.getTime())); } } mauve-20140821/gnu/testlet/java/util/SimpleTimeZone/getDSTSavings.java0000644000175000001440000000343710141255732024363 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.SimpleTimeZone; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Calendar; import java.util.SimpleTimeZone; /** * Some checks for the getDSTSavings() method in the SimpleTimeZone class. */ public class getDSTSavings implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleTimeZone z1 = new SimpleTimeZone(5 * 60 * 60 * 1000, "Zone 1", Calendar.APRIL, 26, 0, 2*60*60*1000, Calendar.OCTOBER, 25, 0, 2*60*60*1000, 36000000); z1.setDSTSavings(12345); harness.check(z1.getDSTSavings(), 12345); // here is a special case (bug?), the zone has no daylight saving rule, so // setting the DSTSavings amount doesn't have any effect SimpleTimeZone z2 = new SimpleTimeZone(5*60*60*1000, "Zone 2"); z2.setDSTSavings(12345); harness.check(z2.getDSTSavings(), 0); // zero! } } mauve-20140821/gnu/testlet/java/util/SimpleTimeZone/inDaylightTime.java0000644000175000001440000001720210567313374024615 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.SimpleTimeZone; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.SimpleTimeZone; import java.util.TimeZone; /** * Some checks for the inDaylightTime() method in the SimpleTimeZone class. */ public class inDaylightTime implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); } private void test1(TestHarness harness) { int offset = -6 * 60 * 60 * 1000; int t1 = 5 * 60 * 60 * 1000; int t2 = 6 * 60 * 60 * 1000; int dst = 2 * 60 * 60 * 1000; SimpleTimeZone z = new SimpleTimeZone(offset, "Z1", Calendar.APRIL, 26, 0, t1, Calendar.OCTOBER, 25, 0, t2, dst); GregorianCalendar c = new GregorianCalendar(z); c.set(2004, Calendar.APRIL, 25, 8, 0, 0); harness.check(!z.inDaylightTime(c.getTime())); c.set(2004, Calendar.APRIL, 26, 8, 0, 0); harness.check(z.inDaylightTime(c.getTime())); c.set(2004, Calendar.OCTOBER, 24, 8, 0, 0); harness.check(z.inDaylightTime(c.getTime())); c.set(2004, Calendar.OCTOBER, 25, 8, 0, 0); harness.check(!z.inDaylightTime(c.getTime())); try { boolean b = z.inDaylightTime(null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } } // Tests converted from the SimpleTimeZoneTest.java attachment // of http://gcc.gnu.org/ml/java-patches/2007-q1/msg00587.html. private void test2(TestHarness harness) { TimeZone utc = (TimeZone) new SimpleTimeZone(0, "GMT"); TimeZone.setDefault(utc); Calendar cal = Calendar.getInstance(utc); harness.checkPoint("test 1"); TimeZone tz1 = new SimpleTimeZone( -12600000, "Canada/Newfoundland", Calendar.MARCH, 8, -Calendar.SUNDAY, 60000, Calendar.NOVEMBER, 1, -Calendar.SUNDAY, 60000); cal.set(2037, Calendar.NOVEMBER, 1, 2, 30, 0); harness.check(tz1.inDaylightTime(new Date(cal.getTimeInMillis()))); cal.set(2037, Calendar.NOVEMBER, 1, 2, 31, 0); harness.check(!tz1.inDaylightTime(new Date(cal.getTimeInMillis()))); cal.set(2038, Calendar.JANUARY, 1, 2, 29, 0); harness.check(!tz1.inDaylightTime(new Date(cal.getTimeInMillis()))); harness.checkPoint("test 2"); TimeZone tz2 = new SimpleTimeZone( -12600000, "Test1", Calendar.MARCH, 8, -Calendar.SUNDAY, 60000, SimpleTimeZone.WALL_TIME, Calendar.NOVEMBER, 1, -Calendar.SUNDAY, 60000, SimpleTimeZone.STANDARD_TIME, 3600000); // NB this particular check fails on several proprietary JVMs // because the end time is interpreted with startTimeMode. cal.set(2037, Calendar.NOVEMBER, 1, 3, 30, 0); harness.check(tz2.inDaylightTime(new Date(cal.getTimeInMillis()))); cal.set(2037, Calendar.NOVEMBER, 1, 3, 31, 0); harness.check(!tz2.inDaylightTime(new Date(cal.getTimeInMillis()))); cal.set(2038, Calendar.JANUARY, 1, 3, 29, 0); harness.check(!tz2.inDaylightTime(new Date(cal.getTimeInMillis()))); harness.checkPoint("test 3"); TimeZone tz3 = new SimpleTimeZone( -12600000, "Test2", Calendar.MARCH, 8, -Calendar.SUNDAY, 60000, Calendar.NOVEMBER, 1, -Calendar.SUNDAY, 3660000, 3600000); cal.set(2037, Calendar.NOVEMBER, 1, 3, 30, 0); harness.check(tz3.inDaylightTime(new Date(cal.getTimeInMillis()))); cal.set(2037, Calendar.NOVEMBER, 1, 3, 31, 0); harness.check(!tz3.inDaylightTime(new Date(cal.getTimeInMillis()))); cal.set(2038, Calendar.JANUARY, 1, 3, 29, 0); harness.check(!tz3.inDaylightTime(new Date(cal.getTimeInMillis()))); harness.checkPoint("test 4"); ((SimpleTimeZone) tz2).setEndRule( Calendar.NOVEMBER, 1, -Calendar.SUNDAY, 3660000); cal.set(2037, Calendar.NOVEMBER, 1, 3, 30, 0); harness.check(tz2.inDaylightTime(new Date(cal.getTimeInMillis()))); cal.set(2037, Calendar.NOVEMBER, 1, 3, 31, 0); harness.check(!tz2.inDaylightTime(new Date(cal.getTimeInMillis()))); cal.set(2038, Calendar.JANUARY, 1, 3, 29, 0); harness.check(!tz2.inDaylightTime(new Date(cal.getTimeInMillis()))); harness.checkPoint("test 5"); TimeZone tz4 = new SimpleTimeZone( -12600000, "Test1", Calendar.MARCH, 8, -Calendar.SUNDAY, 60000, SimpleTimeZone.STANDARD_TIME, Calendar.NOVEMBER, 1, -Calendar.SUNDAY, 60000, SimpleTimeZone.STANDARD_TIME, 3600000); cal.set(2037, Calendar.NOVEMBER, 1, 3, 30, 0); harness.check(tz4.inDaylightTime(new Date(cal.getTimeInMillis()))); cal.set(2037, Calendar.NOVEMBER, 1, 3, 31, 0); harness.check(!tz4.inDaylightTime(new Date(cal.getTimeInMillis()))); cal.set(2038, Calendar.JANUARY, 1, 3, 29, 0); harness.check(!tz4.inDaylightTime(new Date(cal.getTimeInMillis()))); harness.checkPoint("test 6"); TimeZone tz5 = new SimpleTimeZone( -12600000, "Test3", Calendar.MARCH, 8, -Calendar.SUNDAY, 60000, Calendar.JANUARY, 1, 0, 60000, 3600000); cal.set(2007, Calendar.DECEMBER, 31, 23, 59, 0); harness.check(tz5.inDaylightTime(new Date(cal.getTimeInMillis()))); cal.set(2007, Calendar.JANUARY, 1, 2, 29, 0); harness.check(tz5.inDaylightTime(new Date(cal.getTimeInMillis()))); cal.set(2007, Calendar.JANUARY, 1, 2, 30, 0); harness.check(tz5.inDaylightTime(new Date(cal.getTimeInMillis()))); cal.set(2007, Calendar.JANUARY, 1, 2, 31, 0); harness.check(!tz5.inDaylightTime(new Date(cal.getTimeInMillis()))); cal.set(2007, Calendar.JANUARY, 3, 2, 31, 0); harness.check(!tz5.inDaylightTime(new Date(cal.getTimeInMillis()))); cal.set(2007, Calendar.JANUARY, 3, 2, 31, 0); harness.check(!tz5.inDaylightTime(new Date(cal.getTimeInMillis()))); cal.set(2007, Calendar.MARCH, 11, 3, 30, 0); harness.check(!tz5.inDaylightTime(new Date(cal.getTimeInMillis()))); cal.set(2007, Calendar.MARCH, 11, 3, 31, 0); harness.check(tz5.inDaylightTime(new Date(cal.getTimeInMillis()))); harness.checkPoint("test 7"); TimeZone tz6 = new SimpleTimeZone( 12600000, "Test4", Calendar.MARCH, 6, 0, 18000000 - 12600000, SimpleTimeZone.UTC_TIME, Calendar.NOVEMBER, -16, -Calendar.THURSDAY, 18000000 - 3600000-12600000, SimpleTimeZone.UTC_TIME, 3600000); cal.set(2007, Calendar.MARCH, 6, 1, 29, 0); harness.check(!tz6.inDaylightTime(new Date(cal.getTimeInMillis()))); cal.set(2007, Calendar.MARCH, 6, 1, 30, 0); harness.check(tz6.inDaylightTime(new Date(cal.getTimeInMillis()))); cal.set(2007, Calendar.NOVEMBER, 15, 0, 29, 0); harness.check(tz6.inDaylightTime(new Date(cal.getTimeInMillis()))); cal.set(2007, Calendar.NOVEMBER, 15, 0, 30, 0); harness.check(!tz6.inDaylightTime(new Date(cal.getTimeInMillis()))); } } mauve-20140821/gnu/testlet/java/util/SimpleTimeZone/hashCode.java0000644000175000001440000000476210567313374023427 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 David Gilbert (david.gilbert@object-refinery.com) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.SimpleTimeZone; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Calendar; import java.util.SimpleTimeZone; import java.util.TimeZone; /** * Some checks for the hashCode() method in the SimpleTimeZone class. */ public class hashCode implements Testlet { /** * Runs the tests. * * @param harness the test harness. */ public void test(TestHarness harness) { test1(harness); test2(harness); } private void test1(TestHarness harness) { SimpleTimeZone z1 = new SimpleTimeZone(5 * 60 * 60 * 1000, "Z1"); SimpleTimeZone z2 = new SimpleTimeZone(5 * 60 * 60 * 1000, "Z1"); harness.check(z1.equals(z2)); harness.check(z1.hashCode(), z2.hashCode()); } // Tests converted from the SimpleTimeZoneTest.java attachment // of http://gcc.gnu.org/ml/java-patches/2007-q1/msg00587.html. private void test2(TestHarness harness) { TimeZone utc = (TimeZone) new SimpleTimeZone(0, "GMT"); TimeZone.setDefault(utc); Calendar cal = Calendar.getInstance(utc); TimeZone tz2 = new SimpleTimeZone( -12600000, "Test1", Calendar.MARCH, 8, -Calendar.SUNDAY, 60000, SimpleTimeZone.WALL_TIME, Calendar.NOVEMBER, 1, -Calendar.SUNDAY, 60000, SimpleTimeZone.STANDARD_TIME, 3600000); TimeZone tz3 = new SimpleTimeZone( -12600000, "Test2", Calendar.MARCH, 8, -Calendar.SUNDAY, 60000, Calendar.NOVEMBER, 1, -Calendar.SUNDAY, 3660000, 3600000); harness.check(tz2.hashCode() != tz3.hashCode()); ((SimpleTimeZone) tz2).setEndRule( Calendar.NOVEMBER, 1, -Calendar.SUNDAY, 3660000); harness.check(tz2.hashCode() == tz3.hashCode()); } }mauve-20140821/gnu/testlet/java/util/SimpleTimeZone/setDSTSavings.java0000644000175000001440000000305210141255732024370 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.SimpleTimeZone; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Calendar; import java.util.SimpleTimeZone; /** * Some checks for the setDSTSavings() method in the SimpleTimeZone class. */ public class setDSTSavings implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleTimeZone z1 = new SimpleTimeZone(5 * 60 * 60 * 1000, "Zone 1", Calendar.APRIL, 26, 0, 2*60*60*1000, Calendar.OCTOBER, 25, 0, 2*60*60*1000, 36000000); harness.check(z1.getDSTSavings(), 36000000); z1.setDSTSavings(12345); harness.check(z1.getDSTSavings(), 12345); } } mauve-20140821/gnu/testlet/java/util/SimpleTimeZone/check14.java0000644000175000001440000001044010141253033023100 0ustar dokousers// Test SimpleTimeZone.check14(). // Written by Jerry Quinn // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.4 // Verify the constructors added in JDK 1.4 package gnu.testlet.java.util.SimpleTimeZone; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.*; public class check14 implements Testlet { public void test (TestHarness harness) { int rawOff = -18000000; // 5 hours int dstOff = 3600000; // 1 hour // Create a timezone for UTC-5 with daylight savings starting on // April 10 at 12 noon, ending September 10, 12 noon in daylight // savings, 1 hour shift. // All three should represent the same period SimpleTimeZone tzwall = new SimpleTimeZone(rawOff, "Z1", 4, 10, 0, 43200000, SimpleTimeZone.WALL_TIME, 9, 10, 0, 43200000, SimpleTimeZone.WALL_TIME, dstOff); // Start time is same between WALL_TIME and STANDARD_TIME. End // time is in STANDARD_TIME, not DST. So ending at the same time // really means ending earlier in standard time. SimpleTimeZone tzstd = new SimpleTimeZone(rawOff, "Z2", Calendar.MAY, 10, 0, 43200000, SimpleTimeZone.STANDARD_TIME, Calendar.OCTOBER, 10, 0, 39600000, SimpleTimeZone.STANDARD_TIME, dstOff); // Times are UTC, so later than SimpleTimeZone tzutc = new SimpleTimeZone(rawOff, "Z3", Calendar.MAY, 10, 0, 61200000, SimpleTimeZone.UTC_TIME, Calendar.OCTOBER, 10, 0, 57600000, SimpleTimeZone.UTC_TIME, dstOff); int wall; int std; int utc; // test 1/2 hour before dst wall = tzwall.getOffset(GregorianCalendar.AD, 2000, Calendar.MAY, 10, Calendar.WEDNESDAY, 41400000); std = tzstd.getOffset(GregorianCalendar.AD, 2000, Calendar.MAY, 10, Calendar.WEDNESDAY, 41400000); utc = tzutc.getOffset(GregorianCalendar.AD, 2000, Calendar.MAY, 10, Calendar.WEDNESDAY, 41400000); harness.check(wall, rawOff); // check 1 harness.check(std, rawOff); // check 2 harness.check(utc, rawOff); // check 3 // test 1/2 hour into dst wall = tzwall.getOffset(GregorianCalendar.AD, 2000, Calendar.MAY, 10, Calendar.WEDNESDAY, 45000000); std = tzstd.getOffset(GregorianCalendar.AD, 2000, Calendar.MAY, 10, Calendar.WEDNESDAY, 45000000); utc = tzutc.getOffset(GregorianCalendar.AD, 2000, Calendar.MAY, 10, Calendar.WEDNESDAY, 45000000); harness.check(wall, rawOff + dstOff); // check 4 harness.check(std, rawOff + dstOff); // check 5 harness.check(utc, rawOff + dstOff); // check 6 // test 1/2 hour before fall back to standard time wall = tzwall.getOffset(GregorianCalendar.AD, 2000, Calendar.OCTOBER, 10, Calendar.TUESDAY, 41400000 - dstOff); std = tzstd.getOffset(GregorianCalendar.AD, 2000, Calendar.OCTOBER, 10, Calendar.TUESDAY, 41400000 - dstOff); utc = tzutc.getOffset(GregorianCalendar.AD, 2000, Calendar.OCTOBER, 10, Calendar.TUESDAY, 41400000 - dstOff); harness.check(wall, rawOff + dstOff); // check 7 harness.check(std, rawOff + dstOff); // check 8 harness.check(utc, rawOff + dstOff); // check 9 // test 1/2 hour after fall back to standard time wall = tzwall.getOffset(GregorianCalendar.AD, 2000, Calendar.OCTOBER, 10, Calendar.TUESDAY, 45000000 - dstOff); std = tzstd.getOffset(GregorianCalendar.AD, 2000, Calendar.OCTOBER, 10, Calendar.TUESDAY, 45000000 - dstOff); utc = tzutc.getOffset(GregorianCalendar.AD, 2000, Calendar.OCTOBER, 10, Calendar.TUESDAY, 45000000 - dstOff); harness.check(wall, rawOff); // check 10 harness.check(std, rawOff); // check 11 harness.check(utc, rawOff); // check 12 } } mauve-20140821/gnu/testlet/java/util/SimpleTimeZone/getRawOffset.java0000644000175000001440000000254710141255732024277 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.SimpleTimeZone; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.SimpleTimeZone; /** * Some checks for the getRawOffset() method in the SimpleTimeZone class. */ public class getRawOffset implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleTimeZone z1 = new SimpleTimeZone(0, "Zone 1"); z1.setRawOffset(12345); harness.check(z1.getRawOffset(), 12345); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatFlagsException/0000755000175000001440000000000012375316426023507 5ustar dokousersmauve-20140821/gnu/testlet/java/util/IllegalFormatFlagsException/constructor.java0000644000175000001440000000332612052646455026743 0ustar dokousers// Test if instances of a class java.util.IllegalFormatFlagsException could be properly constructed // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatFlagsException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatFlagsException; /** * Test if instances of a class java.util.IllegalFormatFlagsException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IllegalFormatFlagsException object1 = new IllegalFormatFlagsException("nothing happens"); harness.check(object1 != null); harness.check(object1.toString().contains("java.util.IllegalFormatFlagsException")); harness.check(object1.toString().contains("nothing happens")); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatFlagsException/getFlags.java0000644000175000001440000000347412004474146026107 0ustar dokousers// Test of a method java.util.IllegalFormatFlagsException.getFlags() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.IllegalFormatFlagsException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatFlagsException; /** * Test of a method java.util.IllegalFormatFlagsException.getFlags() */ public class getFlags implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IllegalFormatFlagsException object1 = new IllegalFormatFlagsException(""); harness.check(object1 != null); harness.check(object1.getFlags() != null); harness.check(object1.getFlags().isEmpty()); IllegalFormatFlagsException object2 = new IllegalFormatFlagsException("nothing happens"); harness.check(object2 != null); harness.check(object2.getFlags() != null); harness.check(object2.getFlags().contains("nothing happens")); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatFlagsException/TryCatch.java0000644000175000001440000000337312052646455026101 0ustar dokousers// Test if try-catch block is working properly for a class java.util.IllegalFormatFlagsException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatFlagsException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatFlagsException; /** * Test if try-catch block is working properly for a class java.util.IllegalFormatFlagsException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new IllegalFormatFlagsException("IllegalFormatFlagsException"); } catch (IllegalFormatFlagsException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/0000755000175000001440000000000012375316426025430 5ustar dokousersmauve-20140821/gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/getPackage.java0000644000175000001440000000332012052646456030325 0ustar dokousers// Test for method java.util.IllegalFormatFlagsException.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatFlagsException; /** * Test for method java.util.IllegalFormatFlagsException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatFlagsException final Object o = new IllegalFormatFlagsException("IllegalFormatFlagsException"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.util"); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/getDeclaredMethods.java0000644000175000001440000001027512052646456032030 0ustar dokousers// Test for method java.util.IllegalFormatFlagsException.getClass().getDeclaredMethods() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatFlagsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.util.IllegalFormatFlagsException.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedDeclaredMethods_jdk6.put("public java.lang.String java.util.IllegalFormatFlagsException.getMessage()", "getMessage"); testedDeclaredMethods_jdk6.put("public java.lang.String java.util.IllegalFormatFlagsException.getFlags()", "getFlags"); // map for methods declared in (Open)JDK7 testedDeclaredMethods_jdk7.put("public java.lang.String java.util.IllegalFormatFlagsException.getMessage()", "getMessage"); testedDeclaredMethods_jdk7.put("public java.lang.String java.util.IllegalFormatFlagsException.getFlags()", "getFlags"); // create instance of a class IllegalFormatFlagsException final Object o = new IllegalFormatFlagsException("IllegalFormatFlagsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); // check if all declared methods exist for (java.lang.reflect.Method declaredMethod : declaredMethods) { // method name should consists of package name + class name String methodName = declaredMethod.getName(); // modifiers + package + method name + parameter types String methodString = declaredMethod.toString().replaceAll(" native ", " "); harness.check(testedDeclaredMethods.containsKey(methodString)); harness.check(testedDeclaredMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/getInterfaces.java0000644000175000001440000000336012052646456031061 0ustar dokousers// Test for method java.util.IllegalFormatFlagsException.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatFlagsException; import java.util.List; import java.util.Arrays; /** * Test for method java.util.IllegalFormatFlagsException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatFlagsException final Object o = new IllegalFormatFlagsException("IllegalFormatFlagsException"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/getModifiers.java0000644000175000001440000000455112052646456030722 0ustar dokousers// Test for method java.util.IllegalFormatFlagsException.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatFlagsException; import java.lang.reflect.Modifier; /** * Test for method java.util.IllegalFormatFlagsException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatFlagsException final Object o = new IllegalFormatFlagsException("IllegalFormatFlagsException"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/getDeclaredFields.java0000644000175000001440000000776512052646456031645 0ustar dokousers// Test for method java.util.IllegalFormatFlagsException.getClass().getDeclaredFields() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatFlagsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.util.IllegalFormatFlagsException.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 testedDeclaredFields_jdk6.put("private static final long java.util.IllegalFormatFlagsException.serialVersionUID", "serialVersionUID"); testedDeclaredFields_jdk6.put("private java.lang.String java.util.IllegalFormatFlagsException.flags", "flags"); // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.util.IllegalFormatFlagsException.serialVersionUID", "serialVersionUID"); testedDeclaredFields_jdk7.put("private java.lang.String java.util.IllegalFormatFlagsException.flags", "flags"); // create instance of a class IllegalFormatFlagsException final Object o = new IllegalFormatFlagsException("IllegalFormatFlagsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/getDeclaredConstructors.javamauve-20140821/gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/getDeclaredConstructors.j0000644000175000001440000001020512052646456032436 0ustar dokousers// Test for method java.util.IllegalFormatFlagsException.getClass().getDeclaredConstructors() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatFlagsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.util.IllegalFormatFlagsException.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.util.IllegalFormatFlagsException(java.lang.String)", "java.util.IllegalFormatFlagsException"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.util.IllegalFormatFlagsException(java.lang.String)", "java.util.IllegalFormatFlagsException"); // create instance of a class IllegalFormatFlagsException final Object o = new IllegalFormatFlagsException("IllegalFormatFlagsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/getFields.java0000644000175000001440000000574312052646456030213 0ustar dokousers// Test for method java.util.IllegalFormatFlagsException.getClass().getFields() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatFlagsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.util.IllegalFormatFlagsException.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class IllegalFormatFlagsException final Object o = new IllegalFormatFlagsException("IllegalFormatFlagsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/isPrimitive.java0000644000175000001440000000325512052646456030605 0ustar dokousers// Test for method java.util.IllegalFormatFlagsException.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatFlagsException; /** * Test for method java.util.IllegalFormatFlagsException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatFlagsException final Object o = new IllegalFormatFlagsException("IllegalFormatFlagsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/getSimpleName.java0000644000175000001440000000331512052646456031030 0ustar dokousers// Test for method java.util.IllegalFormatFlagsException.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatFlagsException; /** * Test for method java.util.IllegalFormatFlagsException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatFlagsException final Object o = new IllegalFormatFlagsException("IllegalFormatFlagsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "IllegalFormatFlagsException"); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/isAnnotationPresent.java0000644000175000001440000000444312052646456032310 0ustar dokousers// Test for method java.util.IllegalFormatFlagsException.getClass().isAnnotationPresent() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatFlagsException; /** * Test for method java.util.IllegalFormatFlagsException.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatFlagsException final Object o = new IllegalFormatFlagsException("IllegalFormatFlagsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/isSynthetic.java0000644000175000001440000000325512052646456030607 0ustar dokousers// Test for method java.util.IllegalFormatFlagsException.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatFlagsException; /** * Test for method java.util.IllegalFormatFlagsException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatFlagsException final Object o = new IllegalFormatFlagsException("IllegalFormatFlagsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/isAnnotation.java0000644000175000001440000000325312052646456030745 0ustar dokousers// Test for method java.util.IllegalFormatFlagsException.getClass().isAnnotation() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatFlagsException; /** * Test for method java.util.IllegalFormatFlagsException.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatFlagsException final Object o = new IllegalFormatFlagsException("IllegalFormatFlagsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/isInstance.java0000644000175000001440000000334612052646456030402 0ustar dokousers// Test for method java.util.IllegalFormatFlagsException.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatFlagsException; /** * Test for method java.util.IllegalFormatFlagsException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatFlagsException final Object o = new IllegalFormatFlagsException("IllegalFormatFlagsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new IllegalFormatFlagsException("IllegalFormatFlagsException"))); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/isMemberClass.java0000644000175000001440000000326512052646456031033 0ustar dokousers// Test for method java.util.IllegalFormatFlagsException.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatFlagsException; /** * Test for method java.util.IllegalFormatFlagsException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatFlagsException final Object o = new IllegalFormatFlagsException("IllegalFormatFlagsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/getSuperclass.java0000644000175000001440000000340312052646456031120 0ustar dokousers// Test for method java.util.IllegalFormatFlagsException.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatFlagsException; /** * Test for method java.util.IllegalFormatFlagsException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatFlagsException final Object o = new IllegalFormatFlagsException("IllegalFormatFlagsException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.util.IllegalFormatException"); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/isEnum.java0000644000175000001440000000322312052646456027534 0ustar dokousers// Test for method java.util.IllegalFormatFlagsException.getClass().isEnum() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatFlagsException; /** * Test for method java.util.IllegalFormatFlagsException.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatFlagsException final Object o = new IllegalFormatFlagsException("IllegalFormatFlagsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/getMethods.java0000644000175000001440000002036712052646456030407 0ustar dokousers// Test for method java.util.IllegalFormatFlagsException.getClass().getMethods() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatFlagsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.util.IllegalFormatFlagsException.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public java.lang.String java.util.IllegalFormatFlagsException.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.util.IllegalFormatFlagsException.getFlags()", "getFlags"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public java.lang.String java.util.IllegalFormatFlagsException.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.util.IllegalFormatFlagsException.getFlags()", "getFlags"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class IllegalFormatFlagsException final Object o = new IllegalFormatFlagsException("IllegalFormatFlagsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/InstanceOf.java0000644000175000001440000000436312052646456030333 0ustar dokousers// Test for instanceof operator applied to a class java.util.IllegalFormatFlagsException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatFlagsException; import java.util.IllegalFormatException; import java.lang.IllegalArgumentException; import java.lang.RuntimeException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.util.IllegalFormatFlagsException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatFlagsException IllegalFormatFlagsException o = new IllegalFormatFlagsException("IllegalFormatFlagsException"); // basic check of instanceof operator harness.check(o instanceof IllegalFormatFlagsException); // check operator instanceof against all superclasses harness.check(o instanceof IllegalFormatException); harness.check(o instanceof IllegalArgumentException); harness.check(o instanceof RuntimeException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/isAnonymousClass.java0000644000175000001440000000327312052646456031613 0ustar dokousers// Test for method java.util.IllegalFormatFlagsException.getClass().isAnonymousClass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatFlagsException; /** * Test for method java.util.IllegalFormatFlagsException.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatFlagsException final Object o = new IllegalFormatFlagsException("IllegalFormatFlagsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/isInterface.java0000644000175000001440000000325512052646456030535 0ustar dokousers// Test for method java.util.IllegalFormatFlagsException.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatFlagsException; /** * Test for method java.util.IllegalFormatFlagsException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatFlagsException final Object o = new IllegalFormatFlagsException("IllegalFormatFlagsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/getConstructors.java0000644000175000001440000000766012052646456031515 0ustar dokousers// Test for method java.util.IllegalFormatFlagsException.getClass().getConstructors() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatFlagsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.util.IllegalFormatFlagsException.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.util.IllegalFormatFlagsException(java.lang.String)", "java.util.IllegalFormatFlagsException"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.util.IllegalFormatFlagsException(java.lang.String)", "java.util.IllegalFormatFlagsException"); // create instance of a class IllegalFormatFlagsException final Object o = new IllegalFormatFlagsException("IllegalFormatFlagsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/isAssignableFrom.java0000644000175000001440000000334012052646456031524 0ustar dokousers// Test for method java.util.IllegalFormatFlagsException.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatFlagsException; /** * Test for method java.util.IllegalFormatFlagsException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatFlagsException final Object o = new IllegalFormatFlagsException("IllegalFormatFlagsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(IllegalFormatFlagsException.class)); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/isLocalClass.java0000644000175000001440000000326112052646456030652 0ustar dokousers// Test for method java.util.IllegalFormatFlagsException.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatFlagsException; /** * Test for method java.util.IllegalFormatFlagsException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatFlagsException final Object o = new IllegalFormatFlagsException("IllegalFormatFlagsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/getName.java0000644000175000001440000000327712052646456027665 0ustar dokousers// Test for method java.util.IllegalFormatFlagsException.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatFlagsException; /** * Test for method java.util.IllegalFormatFlagsException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatFlagsException final Object o = new IllegalFormatFlagsException("IllegalFormatFlagsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.util.IllegalFormatFlagsException"); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/isArray.java0000644000175000001440000000322712052646456027712 0ustar dokousers// Test for method java.util.IllegalFormatFlagsException.getClass().isArray() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatFlagsException; /** * Test for method java.util.IllegalFormatFlagsException.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatFlagsException final Object o = new IllegalFormatFlagsException("IllegalFormatFlagsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatFlagsException/getMessage.java0000644000175000001440000000362412004474146026434 0ustar dokousers// Test of a method java.util.IllegalFormatFlagsException.getMessage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.IllegalFormatFlagsException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatFlagsException; /** * Test of a method java.util.IllegalFormatFlagsException.getMessage() */ public class getMessage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IllegalFormatFlagsException object1 = new IllegalFormatFlagsException(""); harness.check(object1 != null); harness.check(object1.getMessage() != null); harness.check(object1.getMessage().contains("Flags =")); IllegalFormatFlagsException object2 = new IllegalFormatFlagsException("nothing happens"); harness.check(object2 != null); harness.check(object2.getMessage() != null); harness.check(object2.getMessage().contains("nothing happens")); harness.check(object2.getMessage().contains("Flags =")); } } mauve-20140821/gnu/testlet/java/util/IdentityHashMap/0000755000175000001440000000000012375316426021164 5ustar dokousersmauve-20140821/gnu/testlet/java/util/IdentityHashMap/simple.java0000644000175000001440000000353210507072176023317 0ustar dokousers// Simple tests for IdentityHashMap. // Copyright (C) 2001 Red Hat, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ // Tags: JDK1.4 package gnu.testlet.java.util.IdentityHashMap; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.*; public class simple implements Testlet { public void test (TestHarness harness) { // Create 1000 Integer objects. Integer[] is = new Integer[1000]; Integer[] vs = new Integer[1000]; IdentityHashMap map = new IdentityHashMap (); for (int i = 0; i < 1000; ++i) { is[i] = new Integer (i); vs[i] = new Integer (2000 + i); map.put (is[i], vs[i]); } harness.check (map.size (), 1000, "size"); harness.checkPoint ("values"); for (int i = 0; i < 1000; ++i) { Object k = map.get (is[i]); harness.check (k, vs[i]); } // Now remove some elements and recheck. harness.checkPoint ("remove"); for (int i = 0; i < 1000; i += 2) { Object v = map.remove (is[i]); harness.check(v, vs[i]); } harness.checkPoint("post remove"); for (int i = 1; i < 1000; i += 2) { Object k = map.get (is[i]); harness.check (k, vs[i]); } } } mauve-20140821/gnu/testlet/java/util/EmptyStackException/0000755000175000001440000000000012375316426022074 5ustar dokousersmauve-20140821/gnu/testlet/java/util/EmptyStackException/constructor.java0000644000175000001440000000305412001301714025302 0ustar dokousers// Test if instances of a class java.util.EmptyStackException could be properly constructed // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.EmptyStackException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.EmptyStackException; /** * Test if instances of a class java.util.EmptyStackException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { EmptyStackException object1 = new EmptyStackException(); harness.check(object1 != null); harness.check(object1.toString(), "java.util.EmptyStackException"); } } mauve-20140821/gnu/testlet/java/util/EmptyStackException/TryCatch.java0000644000175000001440000000323512001301714024437 0ustar dokousers// Test if try-catch block is working properly for a class java.util.EmptyStackException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.EmptyStackException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.EmptyStackException; /** * Test if try-catch block is working properly for a class java.util.EmptyStackException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new EmptyStackException(); } catch (EmptyStackException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/util/EmptyStackException/classInfo/0000755000175000001440000000000012375316426024015 5ustar dokousersmauve-20140821/gnu/testlet/java/util/EmptyStackException/classInfo/getPackage.java0000644000175000001440000000313112001301714026665 0ustar dokousers// Test for method java.util.EmptyStackException.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.EmptyStackException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.EmptyStackException; /** * Test for method java.util.EmptyStackException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new EmptyStackException(); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.util"); } } mauve-20140821/gnu/testlet/java/util/EmptyStackException/classInfo/getInterfaces.java0000644000175000001440000000317112001301714027421 0ustar dokousers// Test for method java.util.EmptyStackException.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.EmptyStackException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.EmptyStackException; import java.util.List; import java.util.Arrays; /** * Test for method java.util.EmptyStackException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new EmptyStackException(); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/util/EmptyStackException/classInfo/getModifiers.java0000644000175000001440000000436212001301714027262 0ustar dokousers// Test for method java.util.EmptyStackException.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.EmptyStackException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.EmptyStackException; import java.lang.reflect.Modifier; /** * Test for method java.util.EmptyStackException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new EmptyStackException(); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/util/EmptyStackException/classInfo/isPrimitive.java0000644000175000001440000000306612001301714027145 0ustar dokousers// Test for method java.util.EmptyStackException.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.EmptyStackException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.EmptyStackException; /** * Test for method java.util.EmptyStackException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new EmptyStackException(); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/util/EmptyStackException/classInfo/getSimpleName.java0000644000175000001440000000311612001301714027367 0ustar dokousers// Test for method java.util.EmptyStackException.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.EmptyStackException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.EmptyStackException; /** * Test for method java.util.EmptyStackException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new EmptyStackException(); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "EmptyStackException"); } } mauve-20140821/gnu/testlet/java/util/EmptyStackException/classInfo/isSynthetic.java0000644000175000001440000000306612001301714027147 0ustar dokousers// Test for method java.util.EmptyStackException.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.EmptyStackException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.EmptyStackException; /** * Test for method java.util.EmptyStackException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new EmptyStackException(); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/util/EmptyStackException/classInfo/isInstance.java0000644000175000001440000000311212001301714026731 0ustar dokousers// Test for method java.util.EmptyStackException.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.EmptyStackException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.EmptyStackException; /** * Test for method java.util.EmptyStackException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new EmptyStackException(); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new EmptyStackException())); } } mauve-20140821/gnu/testlet/java/util/EmptyStackException/classInfo/isMemberClass.java0000644000175000001440000000307612001301714027373 0ustar dokousers// Test for method java.util.EmptyStackException.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.EmptyStackException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.EmptyStackException; /** * Test for method java.util.EmptyStackException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new EmptyStackException(); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/util/EmptyStackException/classInfo/getSuperclass.java0000644000175000001440000000320612001301714027461 0ustar dokousers// Test for method java.util.EmptyStackException.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.EmptyStackException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.EmptyStackException; /** * Test for method java.util.EmptyStackException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new EmptyStackException(); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.RuntimeException"); } } mauve-20140821/gnu/testlet/java/util/EmptyStackException/classInfo/InstanceOf.java0000644000175000001440000000366712001301714026701 0ustar dokousers// Test for instanceof operator applied to a class java.util.EmptyStackException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.EmptyStackException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.EmptyStackException; import java.lang.RuntimeException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.util.EmptyStackException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class EmptyStackException EmptyStackException o = new EmptyStackException(); // basic check of instanceof operator harness.check(o instanceof EmptyStackException); // check operator instanceof against all superclasses harness.check(o instanceof RuntimeException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/util/EmptyStackException/classInfo/isInterface.java0000644000175000001440000000306612001301714027075 0ustar dokousers// Test for method java.util.EmptyStackException.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.EmptyStackException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.EmptyStackException; /** * Test for method java.util.EmptyStackException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new EmptyStackException(); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/util/EmptyStackException/classInfo/isAssignableFrom.java0000644000175000001440000000314112001301714030063 0ustar dokousers// Test for method java.util.EmptyStackException.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.EmptyStackException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.EmptyStackException; /** * Test for method java.util.EmptyStackException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new EmptyStackException(); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(EmptyStackException.class)); } } mauve-20140821/gnu/testlet/java/util/EmptyStackException/classInfo/isLocalClass.java0000644000175000001440000000307212001301714027212 0ustar dokousers// Test for method java.util.EmptyStackException.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.EmptyStackException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.EmptyStackException; /** * Test for method java.util.EmptyStackException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new EmptyStackException(); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/util/EmptyStackException/classInfo/getName.java0000644000175000001440000000310012001301714026206 0ustar dokousers// Test for method java.util.EmptyStackException.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.EmptyStackException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.EmptyStackException; /** * Test for method java.util.EmptyStackException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new EmptyStackException(); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.util.EmptyStackException"); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatWidthException/0000755000175000001440000000000012375316426023532 5ustar dokousersmauve-20140821/gnu/testlet/java/util/IllegalFormatWidthException/constructor.java0000644000175000001440000000327212053371722026757 0ustar dokousers// Test if instances of a class java.util.IllegalFormatWidthException could be properly constructed // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatWidthException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatWidthException; /** * Test if instances of a class java.util.IllegalFormatWidthException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IllegalFormatWidthException object1 = new IllegalFormatWidthException(42); harness.check(object1 != null); harness.check(object1.toString().contains("java.util.IllegalFormatWidthException")); harness.check(object1.toString().contains("42")); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatWidthException/TryCatch.java0000644000175000001440000000334012053371722026107 0ustar dokousers// Test if try-catch block is working properly for a class java.util.IllegalFormatWidthException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatWidthException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatWidthException; /** * Test if try-catch block is working properly for a class java.util.IllegalFormatWidthException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new IllegalFormatWidthException(42); } catch (IllegalFormatWidthException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatWidthException/classInfo/0000755000175000001440000000000012375316426025453 5ustar dokousersmauve-20140821/gnu/testlet/java/util/IllegalFormatWidthException/classInfo/getPackage.java0000644000175000001440000000326512053371722030350 0ustar dokousers// Test for method java.util.IllegalFormatWidthException.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatWidthException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatWidthException; /** * Test for method java.util.IllegalFormatWidthException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatWidthException final Object o = new IllegalFormatWidthException(42); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.util"); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatWidthException/classInfo/getDeclaredMethods.java0000644000175000001440000001021012053371722032030 0ustar dokousers// Test for method java.util.IllegalFormatWidthException.getClass().getDeclaredMethods() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatWidthException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatWidthException; import java.util.Map; import java.util.HashMap; /** * Test for method java.util.IllegalFormatWidthException.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedDeclaredMethods_jdk6.put("public java.lang.String java.util.IllegalFormatWidthException.getMessage()", "getMessage"); testedDeclaredMethods_jdk6.put("public int java.util.IllegalFormatWidthException.getWidth()", "getWidth"); // map for methods declared in (Open)JDK7 testedDeclaredMethods_jdk7.put("public java.lang.String java.util.IllegalFormatWidthException.getMessage()", "getMessage"); testedDeclaredMethods_jdk7.put("public int java.util.IllegalFormatWidthException.getWidth()", "getWidth"); // create instance of a class IllegalFormatWidthException final Object o = new IllegalFormatWidthException(42); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); // check if all declared methods exist for (java.lang.reflect.Method declaredMethod : declaredMethods) { // method name should consists of package name + class name String methodName = declaredMethod.getName(); // modifiers + package + method name + parameter types String methodString = declaredMethod.toString().replaceAll(" native ", " "); harness.check(testedDeclaredMethods.containsKey(methodString)); harness.check(testedDeclaredMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatWidthException/classInfo/getInterfaces.java0000644000175000001440000000332512053371722031075 0ustar dokousers// Test for method java.util.IllegalFormatWidthException.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatWidthException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatWidthException; import java.util.List; import java.util.Arrays; /** * Test for method java.util.IllegalFormatWidthException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatWidthException final Object o = new IllegalFormatWidthException(42); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatWidthException/classInfo/getModifiers.java0000644000175000001440000000451612053371722030736 0ustar dokousers// Test for method java.util.IllegalFormatWidthException.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatWidthException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatWidthException; import java.lang.reflect.Modifier; /** * Test for method java.util.IllegalFormatWidthException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatWidthException final Object o = new IllegalFormatWidthException(42); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatWidthException/classInfo/getDeclaredFields.java0000644000175000001440000000766012053371722031652 0ustar dokousers// Test for method java.util.IllegalFormatWidthException.getClass().getDeclaredFields() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatWidthException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatWidthException; import java.util.Map; import java.util.HashMap; /** * Test for method java.util.IllegalFormatWidthException.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 testedDeclaredFields_jdk6.put("private static final long java.util.IllegalFormatWidthException.serialVersionUID", "serialVersionUID"); testedDeclaredFields_jdk6.put("private int java.util.IllegalFormatWidthException.w", "w"); // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.util.IllegalFormatWidthException.serialVersionUID", "serialVersionUID"); testedDeclaredFields_jdk7.put("private int java.util.IllegalFormatWidthException.w", "w"); // create instance of a class IllegalFormatWidthException final Object o = new IllegalFormatWidthException(42); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/util/IllegalFormatWidthException/classInfo/getDeclaredConstructors.javamauve-20140821/gnu/testlet/java/util/IllegalFormatWidthException/classInfo/getDeclaredConstructors.j0000644000175000001440000001012012053371722032445 0ustar dokousers// Test for method java.util.IllegalFormatWidthException.getClass().getDeclaredConstructors() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatWidthException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatWidthException; import java.util.Map; import java.util.HashMap; /** * Test for method java.util.IllegalFormatWidthException.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.util.IllegalFormatWidthException(int)", "java.util.IllegalFormatWidthException"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.util.IllegalFormatWidthException(int)", "java.util.IllegalFormatWidthException"); // create instance of a class IllegalFormatWidthException final Object o = new IllegalFormatWidthException(42); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatWidthException/classInfo/getFields.java0000644000175000001440000000571012053371722030220 0ustar dokousers// Test for method java.util.IllegalFormatWidthException.getClass().getFields() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatWidthException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatWidthException; import java.util.Map; import java.util.HashMap; /** * Test for method java.util.IllegalFormatWidthException.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class IllegalFormatWidthException final Object o = new IllegalFormatWidthException(42); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatWidthException/classInfo/isPrimitive.java0000644000175000001440000000322212053371723030613 0ustar dokousers// Test for method java.util.IllegalFormatWidthException.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatWidthException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatWidthException; /** * Test for method java.util.IllegalFormatWidthException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatWidthException final Object o = new IllegalFormatWidthException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatWidthException/classInfo/getSimpleName.java0000644000175000001440000000326212053371722031044 0ustar dokousers// Test for method java.util.IllegalFormatWidthException.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatWidthException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatWidthException; /** * Test for method java.util.IllegalFormatWidthException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatWidthException final Object o = new IllegalFormatWidthException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "IllegalFormatWidthException"); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatWidthException/classInfo/isAnnotationPresent.java0000644000175000001440000000441012053371722032315 0ustar dokousers// Test for method java.util.IllegalFormatWidthException.getClass().isAnnotationPresent() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatWidthException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatWidthException; /** * Test for method java.util.IllegalFormatWidthException.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatWidthException final Object o = new IllegalFormatWidthException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatWidthException/classInfo/isSynthetic.java0000644000175000001440000000322212053371723030615 0ustar dokousers// Test for method java.util.IllegalFormatWidthException.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatWidthException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatWidthException; /** * Test for method java.util.IllegalFormatWidthException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatWidthException final Object o = new IllegalFormatWidthException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatWidthException/classInfo/isAnnotation.java0000644000175000001440000000322012053371722030752 0ustar dokousers// Test for method java.util.IllegalFormatWidthException.getClass().isAnnotation() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatWidthException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatWidthException; /** * Test for method java.util.IllegalFormatWidthException.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatWidthException final Object o = new IllegalFormatWidthException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatWidthException/classInfo/isInstance.java0000644000175000001440000000326012053371722030410 0ustar dokousers// Test for method java.util.IllegalFormatWidthException.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatWidthException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatWidthException; /** * Test for method java.util.IllegalFormatWidthException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatWidthException final Object o = new IllegalFormatWidthException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new IllegalFormatWidthException(42))); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatWidthException/classInfo/isMemberClass.java0000644000175000001440000000323212053371723031041 0ustar dokousers// Test for method java.util.IllegalFormatWidthException.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatWidthException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatWidthException; /** * Test for method java.util.IllegalFormatWidthException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatWidthException final Object o = new IllegalFormatWidthException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatWidthException/classInfo/getSuperclass.java0000644000175000001440000000335012053371722031134 0ustar dokousers// Test for method java.util.IllegalFormatWidthException.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatWidthException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatWidthException; /** * Test for method java.util.IllegalFormatWidthException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatWidthException final Object o = new IllegalFormatWidthException(42); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.util.IllegalFormatException"); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatWidthException/classInfo/isEnum.java0000644000175000001440000000317012053371722027550 0ustar dokousers// Test for method java.util.IllegalFormatWidthException.getClass().isEnum() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatWidthException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatWidthException; /** * Test for method java.util.IllegalFormatWidthException.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatWidthException final Object o = new IllegalFormatWidthException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatWidthException/classInfo/getMethods.java0000644000175000001440000002030212053371722030407 0ustar dokousers// Test for method java.util.IllegalFormatWidthException.getClass().getMethods() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatWidthException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatWidthException; import java.util.Map; import java.util.HashMap; /** * Test for method java.util.IllegalFormatWidthException.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public java.lang.String java.util.IllegalFormatWidthException.getMessage()", "getMessage"); testedMethods_jdk6.put("public int java.util.IllegalFormatWidthException.getWidth()", "getWidth"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public java.lang.String java.util.IllegalFormatWidthException.getMessage()", "getMessage"); testedMethods_jdk7.put("public int java.util.IllegalFormatWidthException.getWidth()", "getWidth"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class IllegalFormatWidthException final Object o = new IllegalFormatWidthException(42); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatWidthException/classInfo/InstanceOf.java0000644000175000001440000000433012053371722030340 0ustar dokousers// Test for instanceof operator applied to a class java.util.IllegalFormatWidthException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatWidthException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatWidthException; import java.util.IllegalFormatException; import java.lang.IllegalArgumentException; import java.lang.RuntimeException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.util.IllegalFormatWidthException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatWidthException IllegalFormatWidthException o = new IllegalFormatWidthException(42); // basic check of instanceof operator harness.check(o instanceof IllegalFormatWidthException); // check operator instanceof against all superclasses harness.check(o instanceof IllegalFormatException); harness.check(o instanceof IllegalArgumentException); harness.check(o instanceof RuntimeException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatWidthException/classInfo/isAnonymousClass.java0000644000175000001440000000324012053371722031620 0ustar dokousers// Test for method java.util.IllegalFormatWidthException.getClass().isAnonymousClass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatWidthException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatWidthException; /** * Test for method java.util.IllegalFormatWidthException.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatWidthException final Object o = new IllegalFormatWidthException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatWidthException/classInfo/isInterface.java0000644000175000001440000000322212053371722030542 0ustar dokousers// Test for method java.util.IllegalFormatWidthException.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatWidthException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatWidthException; /** * Test for method java.util.IllegalFormatWidthException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatWidthException final Object o = new IllegalFormatWidthException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatWidthException/classInfo/getConstructors.java0000644000175000001440000000757312053371722031533 0ustar dokousers// Test for method java.util.IllegalFormatWidthException.getClass().getConstructors() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatWidthException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatWidthException; import java.util.Map; import java.util.HashMap; /** * Test for method java.util.IllegalFormatWidthException.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.util.IllegalFormatWidthException(int)", "java.util.IllegalFormatWidthException"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.util.IllegalFormatWidthException(int)", "java.util.IllegalFormatWidthException"); // create instance of a class IllegalFormatWidthException final Object o = new IllegalFormatWidthException(42); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatWidthException/classInfo/isAssignableFrom.java0000644000175000001440000000330512053371722031540 0ustar dokousers// Test for method java.util.IllegalFormatWidthException.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatWidthException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatWidthException; /** * Test for method java.util.IllegalFormatWidthException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatWidthException final Object o = new IllegalFormatWidthException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(IllegalFormatWidthException.class)); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatWidthException/classInfo/isLocalClass.java0000644000175000001440000000322612053371723030667 0ustar dokousers// Test for method java.util.IllegalFormatWidthException.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatWidthException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatWidthException; /** * Test for method java.util.IllegalFormatWidthException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatWidthException final Object o = new IllegalFormatWidthException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatWidthException/classInfo/getName.java0000644000175000001440000000324412053371722027672 0ustar dokousers// Test for method java.util.IllegalFormatWidthException.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatWidthException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatWidthException; /** * Test for method java.util.IllegalFormatWidthException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatWidthException final Object o = new IllegalFormatWidthException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.util.IllegalFormatWidthException"); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatWidthException/classInfo/isArray.java0000644000175000001440000000317412053371722027726 0ustar dokousers// Test for method java.util.IllegalFormatWidthException.getClass().isArray() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatWidthException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatWidthException; /** * Test for method java.util.IllegalFormatWidthException.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatWidthException final Object o = new IllegalFormatWidthException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/util/Scanner/0000755000175000001440000000000012375316426017522 5ustar dokousersmauve-20140821/gnu/testlet/java/util/Scanner/DoubleFloat.java0000644000175000001440000000541711057065457022575 0ustar dokousers// Copyright (c) 2007 Hernadi Laszlo // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.5 /** * */ package gnu.testlet.java.util.Scanner; import java.util.Random; import java.util.Scanner; /** * @author E0327023 Hernadi Laszlo * @ 15.02.2007 - 21:06:41 * */ public class DoubleFloat extends Base { /** * The amount of doubles and floats to generate and test. */ private final static int AMOUNT = 10000; public DoubleFloat () { this.isEnabled = false; } /* (non-Javadoc) * @see gnu.testlet.java.util.Scanner.TestBase#doTest() */ @Override protected void doTest () { double[] doubleZ = new double[AMOUNT]; float[] floatZ = new float[doubleZ.length]; long runID = System.currentTimeMillis (); Random rand = new Random (runID); int i; StringBuffer tmpStr = new StringBuffer (1000); String inStr; double aktDouble; float aktFloat; for (i = 0; i < doubleZ.length; i++) { doubleZ[i] = rand.nextDouble () - 0.5d; floatZ[i] = rand.nextFloat () - 0.5f; } tmpStr.append (doubleZ[0] + " " + floatZ[0]); for (i = 1; i < doubleZ.length; i++) { tmpStr.append (" " + doubleZ[i] + " " + floatZ[i]); } inStr = tmpStr.toString (); Scanner s = new Scanner (inStr); //s.setUseLocale (false); // Scanner s = new Scanner(inStr); i = 0; while (s.hasNext () && i < doubleZ.length) { if (s.hasNextDouble ()) { aktDouble = s.nextDouble (); this.myHarness.check (aktDouble, doubleZ[i], "#" + i + " : bad nextDouble() (" + aktDouble + " != " + doubleZ[i]); } else { this.myHarness.fail ("#" + i + " : not double... (" + s.next () + ")"); } if (s.hasNextFloat ()) { aktFloat = s.nextFloat (); this.myHarness.check (aktFloat, floatZ[i], "#" + i + " : bad nextFloat() (" + aktFloat + " != " + floatZ[i]); } else { this.myHarness.fail ("#" + i + " : not float... (" + s.next () + ")"); } i++; } if (i != doubleZ.length) { this.myHarness.fail ("not all (" + i + " / " + doubleZ.length); } } } mauve-20140821/gnu/testlet/java/util/Scanner/BigDecimalInteger.java0000644000175000001440000000551211057072302023652 0ustar dokousers// Copyright (c) 2007 Hernadi Laszlo // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.5 /** * */ package gnu.testlet.java.util.Scanner; import java.math.BigDecimal; import java.math.BigInteger; import java.util.Random; import java.util.Scanner; /** * @author E0327023 Hernadi Laszlo * @ 15.02.2007 - 13:37:48 * */ public class BigDecimalInteger extends Base { /** * The amount of BigDecimals and BigIntegers to generate and test */ private final static int AMOUNT = 5000; public BigDecimalInteger () { this.isEnabled = false; } /* (non-Javadoc) * @see gnu.testlet.java.util.Scanner.TestBase#doTest() */ @Override protected void doTest () { BigDecimal[]decimals = new BigDecimal[AMOUNT]; BigInteger[]integers = new BigInteger[decimals.length]; long runID = System.currentTimeMillis (); Random rand = new Random (runID); StringBuilder sBuff = new StringBuilder (1000); String inStr; int i; BigDecimal tmpDec; BigInteger tmpInt; boolean fund; boolean failed; int runsLeft = 10; for (i = 0; i < decimals.length; i++) { decimals[i] = new BigDecimal (rand.nextDouble () - 0.5); integers[i] = BigInteger.valueOf (rand.nextInt ()); } sBuff.append (decimals[0] + " " + integers[0]); for (i = 1; i < decimals.length; i++) { sBuff.append (" " + decimals[i] + " " + integers[i]); } inStr = sBuff.toString (); Scanner s = new Scanner (inStr); i = 0; while (s.hasNext () && runsLeft > 0) { failed = false; fund = s.hasNextBigDecimal(); myHarness.check(fund, "hasNextBigDecimal()"); tmpDec = s.nextBigDecimal (); myHarness.check(tmpDec, decimals[i], tmpDec + " == " + decimals[i]); fund = s.hasNextBigInteger(); myHarness.check(fund, "hasNextBigInteger()"); tmpInt = s.nextBigInteger (); myHarness.check(tmpInt, integers[i], tmpInt + " == " + integers[i]); if (!fund) { this.myHarness.fail ("\"" + s.next () + "\" is neither BigDecimal nor BigInteger"); } i++; if (failed) { runsLeft--; } } this.myHarness.check (i, decimals.length, "not all read (" + i + " / " + decimals.length + ")"); } } mauve-20140821/gnu/testlet/java/util/Scanner/FindPattern.java0000644000175000001440000000367211057065457022614 0ustar dokousers// Copyright (c) 2007 Hernadi Laszlo // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.5 /** * */ package gnu.testlet.java.util.Scanner; import java.util.Scanner; /** * @author E0327023 Hernadi Laszlo * @ 19.02.2007 - 03:16:19 * */ public class FindPattern extends Base { private static final String FISH_STR = "1 fish 2 fish red fish blue fish "; //$NON-NLS-1$ /* (non-Javadoc) * @see gnu.testlet.java.util.Scanner.TestBase#doTest() */ @Override protected void doTest () { Scanner s3 = new Scanner (FISH_STR); String pattern1 = "\\d+"; // "(\\d+) fish "; String pattern2 = "\\w+"; // "(\\w+) fish "; String[] patterns = { null, pattern1, pattern1, pattern2, pattern2}; String[]values = { null, "1", "2", "red", "blue"}; // the null is required... String tmpStr; boolean rc; int i; i = 1; s3.useDelimiter (" fish "); do { rc = s3.hasNext (patterns[i]); myHarness.check(rc, "Next item doesn't match " + patterns[i]); if (!rc) myHarness.fail("Stopping early; encountered \"" + s3.next() + "\""); tmpStr = s3.next (patterns[i]); myHarness.check(tmpStr, values[i], "wrong result : \"" + tmpStr + "\" != \"" + values[i] + "\""); i++; } while (rc && i < patterns.length); } } mauve-20140821/gnu/testlet/java/util/Scanner/FindWithinHorizon.java0000644000175000001440000000334411057065457024006 0ustar dokousers// Copyright (c) 2007 Hernadi Laszlo // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.5 /** * */ package gnu.testlet.java.util.Scanner; import java.util.Scanner; /** * @author E0327023 Hernadi Laszlo * @ 24.02.2007 - 20:10:24 * */ public class FindWithinHorizon extends Base { /* (non-Javadoc) * @see gnu.testlet.java.util.Scanner.TestBase#doTest() */ @Override protected void doTest () { String fishString = "1 fish 2 fish red fish blue fish"; Scanner s = new Scanner (fishString); String tmpStr = ""; int i; for (i = 0; i < fishString.length (); i++) { // from : http://www.cs.princeton.edu/introcs/15inout/In.java.html // (?s) for DOTALL mode so . matches any character, including a line termination character // 1 says look only one character ahead // consider precompiling the pattern tmpStr += s.findWithinHorizon ("(?s).", 1); } myHarness.check (tmpStr.equals(fishString), "\"" + tmpStr + "\" == \"" + fishString + "\""); if (s.hasNext ()) myHarness.fail ("should not has next..."); } } mauve-20140821/gnu/testlet/java/util/Scanner/FileInput.java0000644000175000001440000000475211057065457022275 0ustar dokousers// Copyright (c) 2007 Hernadi Laszlo // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.5 /** * */ package gnu.testlet.java.util.Scanner; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Scanner; /** * @author E0327023 Hernadi Laszlo * @ 14.02.2007 - 12:20:18 * */ public class FileInput extends Base { public FileInput () { setDefaultFilename (); } /* (non-Javadoc) * @see gnu.testlet.java.util.Scanner.TestBase#doTest() */ @Override protected void doTest () { this.myHarness.checkPoint ("File Input"); String[]testWords = { "This", "is", "a", "simple", "Test", "don't", "panik", "it's", "just", "a", "Teset"}; testWords[0] = testWords[0].trim (); String testString = testWords[0]; String tmpStr; int i; for (i = 1; i < testWords.length; i++) { testWords[i] = testWords[i].trim (); testString += " " + testWords[i].trim (); } try { FileOutputStream fos = new FileOutputStream (this.aktFile); fos.write (testString.getBytes ()); fos.flush (); fos.close (); Scanner s = new Scanner (aktFile); i = 0; while (s.hasNext ()) { tmpStr = s.next (); this.myHarness.check (tmpStr, testWords[i], "next() -> \"" + tmpStr + "\" != \"" + testWords[i] + "\""); // System.out.println("\"" + tmpStr + "\" ?= \"" + testWords[i] + "\""); i++; } this.myHarness.check (i, testWords.length, "Incomplete read... (" + i + " / " + testWords.length + ")"); s.close (); } catch (FileNotFoundException e) { this.myHarness.fail ("Could not create file"); } catch (IOException e) { this.myHarness.fail ("Could not write to File \"" + this.aktFile.getName () + "\""); } } } mauve-20140821/gnu/testlet/java/util/Scanner/Inputs.java0000644000175000001440000001260211057065457021651 0ustar dokousers// Copyright (c) 2007 Hernadi Laszlo // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.5 /** * */ package gnu.testlet.java.util.Scanner; import java.io.ByteArrayInputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; import java.util.Random; import java.util.Scanner; /** * @author E0327023 Hernadi Laszlo * @ 26.02.2007 - 04:15:47 * */ public class Inputs extends Base { /** * The amount of long numbers to generate and test. */ private final static int AMOUNT = 20000; public Inputs () { fileName = getClass().getName () + ".txt"; this.isEnabled = false; } /* (non-Javadoc) * @see gnu.testlet.java.util.Scanner.TestBase#doTest() */ @Override protected void doTest () { long[] numbers = new long[AMOUNT]; Random r = new Random (System.currentTimeMillis ()); int i; long tmp; int errors; final long max = 20000000000000L, mean = max >> 1; StringBuffer tmpBuff = new StringBuffer (10000); FileOutputStream fos = null; Scanner s = null; String[]charSets = {"windows-1252"}; String aktName; int aktCS; for (i = 0; i < numbers.length; i++) { tmp = ((long) (r.nextFloat () * max) - mean); numbers[i] = tmp; } tmpBuff.insert (0, "" + numbers[0]); for (i = 1; i < numbers.length; i++) { tmpBuff.append (" " + numbers[i]); } try { fos = new FileOutputStream (this.aktFile); fos.write (tmpBuff.toString ().getBytes ()); fos.flush (); fos.close (); // Scanner s = new Scanner (aktFile); myHarness.debug ("Testing Readable input..."); errors = 0; s = new Scanner (new FileReader (this.aktFile)); i = 0; while (s.hasNextLong ()) { tmp = s.nextLong (); if (tmp != numbers[i]) { errors++; this.myHarness.fail ("Readable : nextLong() -> " + tmp + " != " + numbers[i]); } i++; } if (errors == 0) myHarness.debug ("all OK"); else this.myHarness.fail (errors + " errors.."); myHarness.debug ("Testing ReadableByteChanel input..."); errors = 0; s = new Scanner ((new FileInputStream (this.aktFile)).getChannel ()); i = 0; while (s.hasNextLong ()) { tmp = s.nextLong (); if (tmp != numbers[i]) { errors++; this.myHarness.fail ("ReadableByteChanel : nextLong() -> " + tmp + " != " + numbers[i]); } i++; } if (errors == 0) myHarness.debug ("all OK"); else this.myHarness.fail (errors + " errors.."); for (aktCS = 0; aktCS < charSets.length; aktCS++) { aktName = "Testing File + CharSet \"" + charSets[aktCS] + "\""; myHarness.debug (aktName); errors = 0; s = new Scanner (this.aktFile, charSets[aktCS]); i = 0; while (s.hasNextLong ()) { tmp = s.nextLong (); if (tmp != numbers[i]) { errors++; this.myHarness.fail (aktName + " : nextLong() -> " + tmp + " != " + numbers[i]); } i++; } if (errors == 0) myHarness.debug ("all OK"); else this.myHarness.fail (errors + " errors.."); aktName = "Testing InputStream + CharSet \"" + charSets[aktCS] + "\""; myHarness.debug (aktName); errors = 0; s = new Scanner (new ByteArrayInputStream (tmpBuff.toString (). getBytes ()), charSets[aktCS]); i = 0; while (s.hasNextLong ()) { tmp = s.nextLong (); if (tmp != numbers[i]) { errors++; this.myHarness.fail (aktName + " : nextLong() -> " + tmp + " != " + numbers[i]); } i++; } if (errors == 0) myHarness.debug ("all OK"); else this.myHarness.fail (errors + " errors.."); aktName = "Testing ReadableByteChanel + CharSet \"" + charSets[aktCS] + "\""; myHarness.debug (aktName); errors = 0; s = new Scanner ((new FileInputStream (this.aktFile)).getChannel (), charSets[aktCS]); i = 0; while (s.hasNextLong ()) { tmp = s.nextLong (); if (tmp != numbers[i]) { errors++; this.myHarness.fail (aktName + " : nextLong() -> " + tmp + " != " + numbers[i]); } i++; } if (errors == 0) myHarness.debug ("all OK"); else this.myHarness.fail (errors + " errors.."); } this.myHarness.check (i, numbers.length, "Incomplete read... (" + i + " / " + numbers.length + ")"); s.close (); } catch (FileNotFoundException e) { this.myHarness.fail ("Could not create file"); } catch (IOException e) { this.myHarness.fail ("Could not write to File \"" + this.aktFile.getName () + "\""); } } } mauve-20140821/gnu/testlet/java/util/Scanner/Radix.java0000644000175000001440000000526211057065457021442 0ustar dokousers// Copyright (c) 2007 Hernadi Laszlo // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.5 /** * */ package gnu.testlet.java.util.Scanner; import java.math.BigInteger; import java.util.Scanner; /** * @author E0327023 Hernadi Laszlo * @ 26.02.2007 - 05:28:44 * */ public class Radix extends Base { /* (non-Javadoc) * @see gnu.testlet.java.util.Scanner.TestBase#doTest() */ @Override protected void doTest () { String testStr = "5F 7FFF 4F3F3F6F 3F3F2EF3FFEE 4FFAAEEFFAA"; Scanner s = new Scanner (testStr); myHarness.check(s.hasNextByte (16), "hasNextByte(16)"); myHarness.check(s.nextByte(16), 95, "nextByte is 95"); myHarness.check(s.hasNextShort(16), "hasNextShort(16)"); myHarness.check(s.nextShort(16), 32767, "nextShort is 32767"); myHarness.check(s.hasNextInt(16), "hasNextInt(16)"); myHarness.check(s.nextInt(16), 1329545071, "nextInt is 1329545071"); myHarness.check(s.hasNextLong(16), "hasNextLong(16)"); myHarness.check(s.nextLong(16), 69540603232238L, "nextLong is 69540603232238"); myHarness.check(s.hasNextBigInteger(16), "hasNextBigInteger(16)"); myHarness.check(s.nextBigInteger(16), BigInteger.valueOf(5496130961322L), "nextBigInteger is 5496130961322"); s = new Scanner (testStr).useRadix (16); myHarness.check(s.radix(), 16, "radix was not set to 16"); myHarness.check(s.hasNextByte (), "hasNextByte()"); myHarness.check(s.nextByte(), 95, "nextByte is 95"); myHarness.check(s.hasNextShort(), "hasNextShort()"); myHarness.check(s.nextShort(), 32767, "nextShort is 32767"); myHarness.check(s.hasNextInt(), "hasNextInt()"); myHarness.check(s.nextInt(), 1329545071, "nextInt is 1329545071"); myHarness.check(s.hasNextLong(), "hasNextLong()"); myHarness.check(s.nextLong(), 69540603232238L, "nextLong is 69540603232238"); myHarness.check(s.hasNextBigInteger(), "hasNextBigInteger()"); myHarness.check(s.nextBigInteger(), BigInteger.valueOf(5496130961322L), "nextBigInteger is 5496130961322"); } } mauve-20140821/gnu/testlet/java/util/Scanner/LotsOfPMInts.java0000644000175000001440000000476611057065457022704 0ustar dokousers// Copyright (c) 2007 Hernadi Laszlo // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.5 package gnu.testlet.java.util.Scanner; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Random; import java.util.Scanner; public class LotsOfPMInts extends Base { public LotsOfPMInts () { this.isEnabled = false; setDefaultFilename (); } @Override protected void doTest () { this.myHarness.checkPoint ("Reading lots of positive ints"); int[] numbers = new int[100000]; long runID = System.currentTimeMillis (); Random rand = new Random (runID); int i; int tmp; final int max = 1000000, mean = max >> 1; StringBuilder tmpBuff = new StringBuilder (10000); FileOutputStream fos = null; myHarness.debug ("runID : " + runID); for (i = 0; i < numbers.length; i++) { tmp = (int) (rand.nextFloat () * max) - mean; numbers[i] = tmp; } tmpBuff.insert (0, "" + numbers[0]); for (i = 1; i < numbers.length; i++) { tmpBuff.append (" " + numbers[i]); } try { fos = new FileOutputStream (this.aktFile); fos.write (tmpBuff.toString ().getBytes ()); fos.flush (); fos.close (); Scanner s = new Scanner (aktFile); i = 0; while (s.hasNextInt ()) { tmp = s.nextInt (); this.myHarness.check (tmp, numbers[i], "nextInt() -> " + tmp + " != " + numbers[i]); i++; } this.myHarness.check (i, numbers.length, "Incomplete read... (" + i + " / " + numbers.length + ")"); s.close (); } catch (FileNotFoundException e) { this.myHarness.fail ("Could not create file"); } catch (IOException e) { this.myHarness.fail ("Could not write to File \"" + this.aktFile.getName () + "\""); } } } mauve-20140821/gnu/testlet/java/util/Scanner/SkipPattern.java0000644000175000001440000000272311057065457022636 0ustar dokousers// Copyright (c) 2007 Hernadi Laszlo // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.5 package gnu.testlet.java.util.Scanner; import java.util.Scanner; /** * @author E0327023 Hernadi Laszlo * @ 19.02.2007 - 03:16:19 * */ public class SkipPattern extends Base { private static final String FISH_STR = "1 fish 2 fish red fish blue fish "; //$NON-NLS-1$ /* (non-Javadoc) * @see gnu.testlet.java.util.Scanner.TestBase#doTest() */ @Override protected void doTest () { Scanner s = new Scanner(FISH_STR); String[] values = { "1", "2", "red", "blue"}; int i; String tmpStr; for (i = 0; i < values.length; i++) { tmpStr = s.next (); myHarness.check(tmpStr.equals (values[i]), tmpStr + " = " + values[i]); s = s.skip (" ").skip ("fish"); } } } mauve-20140821/gnu/testlet/java/util/Scanner/LotsOfPMLong.java0000644000175000001440000000500211057065457022646 0ustar dokousers// Copyright (c) 2007 Hernadi Laszlo // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.5 package gnu.testlet.java.util.Scanner; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Random; import java.util.Scanner; public class LotsOfPMLong extends Base { public LotsOfPMLong () { this.fileName = this.getClass ().getName () + ".txt"; } @Override protected void doTest () { this.myHarness.checkPoint ("Reading lots of shorts"); long[] numbers = new long[20000]; long runID = System.currentTimeMillis (); Random rand = new Random (runID); int i; long tmp; final long max = 20000000000000L, mean = max >> 1; StringBuilder tmpBuff = new StringBuilder (10000); FileOutputStream fos = null; myHarness.debug ("runID : " + runID); for (i = 0; i < numbers.length; i++) { tmp = ((long) (rand.nextFloat () * max) - mean); numbers[i] = tmp; } tmpBuff.insert (0, "" + numbers[0]); for (i = 1; i < numbers.length; i++) { tmpBuff.append (" " + numbers[i]); } try { fos = new FileOutputStream (this.aktFile); fos.write (tmpBuff.toString ().getBytes ()); fos.flush (); fos.close (); Scanner s = new Scanner (aktFile); i = 0; while (s.hasNextLong ()) { tmp = s.nextLong (); this.myHarness.check (tmp, numbers[i], "nextLong() -> " + tmp + " != " + numbers[i]); i++; } this.myHarness.check (i, numbers.length, "Incomplete read... (" + i + " / " + numbers.length + ")"); s.close (); } catch (FileNotFoundException e) { this.myHarness.fail ("Could not create file"); } catch (IOException e) { this.myHarness.fail ("Could not write to File \"" + this.aktFile.getName () + "\""); } } } mauve-20140821/gnu/testlet/java/util/Scanner/MultiLine.java0000644000175000001440000000362411057065457022275 0ustar dokousers// Copyright (c) 2007 Hernadi Laszlo // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.5 /** * */ package gnu.testlet.java.util.Scanner; import java.io.ByteArrayInputStream; import java.util.Scanner; /** * @author E0327023 Hernadi Laszlo * @ 14.02.2007 - 12:17:51 * */ public class MultiLine extends Base { /* (non-Javadoc) * @see gnu.testlet.java.util.Scanner.TestBase#doTest() */ @Override protected void doTest () { this.myHarness.checkPoint ("Multi line read - linewise"); String[] lines = { "1. Line: aaa bbb ccc", "2. line: aaa bbb aaa", "3. line: bbb aaa"}; String newLine = System.getProperty ("line.separator"); int i; String tmp = lines[0]; String result; byte[]buffer; for (i = 1; i < lines.length; i++) { tmp += newLine + lines[i]; } tmp += newLine; buffer = tmp.getBytes (); ByteArrayInputStream inStr = new ByteArrayInputStream (buffer); Scanner s = new Scanner (inStr); for (i = 0; i < lines.length; i++) { this.myHarness.check (s.hasNextLine (), true, (i + 1) + ". hasNextLine()"); result = s.nextLine (); this.myHarness.check (result, lines[i], (i + 1) + ". nextLine() [" + result + "]"); } } } mauve-20140821/gnu/testlet/java/util/Scanner/Booleans.java0000644000175000001440000000377311057065457022142 0ustar dokousers// Copyright (c) 2007 Hernadi Laszlo // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.5 // Tags: JDK1.5 /** * */ package gnu.testlet.java.util.Scanner; import java.util.Random; import java.util.Scanner; /** * @author E0327023 Hernadi Laszlo * @ 15.02.2007 - 13:10:31 * */ public class Booleans extends Base { /** * The amount of booleans to generate and test. */ private final static int AMOUNT = 100; /* (non-Javadoc) * @see gnu.testlet.java.util.Scanner.TestBase#doTest() */ @Override protected void doTest () { boolean[]values = new boolean[AMOUNT]; boolean hasNext; boolean aktValue; String inStr; int i; Random rand = new Random (System.currentTimeMillis ()); for (i = 0; i < values.length; i++) { values[i] = rand.nextBoolean (); } inStr = "" + values[0]; for (i = 1; i < values.length; i++) { inStr += " " + values[i]; } Scanner s = new Scanner (inStr); i = 0; hasNext = s.hasNextBoolean (); while (hasNext) { aktValue = s.nextBoolean (); this.myHarness.check (aktValue, values[i], "nextBoolean() is wrong : " + aktValue + " != " + values[i]); i++; hasNext = s.hasNextBoolean (); } this.myHarness.check (i, values.length, "not all values (" + i + " / " + values.length + ")"); } } mauve-20140821/gnu/testlet/java/util/Scanner/LotsOfInts.java0000644000175000001440000000470411057065457022437 0ustar dokousers// Copyright (c) 2007 Hernadi Laszlo // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.5 // Tags: JDK1.5 package gnu.testlet.java.util.Scanner; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Random; import java.util.Scanner; public class LotsOfInts extends Base { public LotsOfInts () { this.isEnabled = false; this.fileName = this.getClass ().getName () + ".txt"; } @Override protected void doTest () { this.myHarness.checkPoint ("Reading lots of positive ints"); int[] numbers = new int[100000]; Random r = new Random (System.currentTimeMillis ()); int i; int tmp; final int max = 1000000; StringBuilder tmpBuff = new StringBuilder (10000); FileOutputStream fos = null; for (i = 0; i < numbers.length; i++) { tmp = (int) (r.nextFloat () * max); numbers[i] = tmp; } tmpBuff.insert (0, "" + numbers[0]); for (i = 1; i < numbers.length; i++) { tmpBuff.append (" " + numbers[i]); } try { fos = new FileOutputStream (this.aktFile); fos.write (tmpBuff.toString ().getBytes ()); fos.flush (); fos.close (); Scanner s = new Scanner (this.aktFile); i = 0; while (s.hasNextInt ()) { tmp = s.nextInt (); this.myHarness.check (tmp, numbers[i], "nextInt() -> " + tmp + " != " + numbers[i]); i++; } this.myHarness.check (i, numbers.length, "Incomplete read... (" + i + " / " + numbers.length + ")"); s.close (); } catch (FileNotFoundException e) { this.myHarness.fail ("Could not create file"); } catch (IOException e) { this.myHarness.fail ("Could not write to File \"" + this.aktFile.getName () + "\""); } } } mauve-20140821/gnu/testlet/java/util/Scanner/LotsOfPMShort.java0000644000175000001440000000505611057065457023057 0ustar dokousers// Copyright (c) 2007 Hernadi Laszlo // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.5 package gnu.testlet.java.util.Scanner; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Random; import java.util.Scanner; public class LotsOfPMShort extends Base { public LotsOfPMShort () { this.isEnabled = false; this.fileName = this.getClass ().getName () + ".txt"; } @Override protected void doTest () { this.myHarness.checkPoint ("Reading lots of shorts"); short[] numbers = new short[10000]; long runID = System.currentTimeMillis (); Random rand = new Random (runID); int i; short tmp; final short max = 20000, mean = max >> 1; StringBuilder tmpBuff = new StringBuilder (10000); FileOutputStream fos = null; myHarness.debug ("runID : " + runID); for (i = 0; i < numbers.length; i++) { tmp = (short) ((short) (rand.nextFloat () * max) - mean); numbers[i] = tmp; } tmpBuff.insert (0, "" + numbers[0]); for (i = 1; i < numbers.length; i++) { tmpBuff.append (" " + numbers[i]); } try { fos = new FileOutputStream (this.aktFile); fos.write (tmpBuff.toString ().getBytes ()); fos.flush (); fos.close (); Scanner s = new Scanner (aktFile); i = 0; while (s.hasNextShort ()) { tmp = s.nextShort (); this.myHarness.check (tmp, numbers[i], "nextShort() -> " + tmp + " != " + numbers[i]); i++; } this.myHarness.check (i, numbers.length, "Incomplete read... (" + i + " / " + numbers.length + ")"); s.close (); } catch (FileNotFoundException e) { this.myHarness.fail ("Could not create file"); } catch (IOException e) { this.myHarness.fail ("Could not write to File \"" + this.aktFile.getName () + "\""); } } } mauve-20140821/gnu/testlet/java/util/Scanner/Base.java0000644000175000001440000000372411057072302021231 0ustar dokousers// Copyright (c) 2007 Hernadi Laszlo // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: not-a-test package gnu.testlet.java.util.Scanner; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.File; /** * @author E0327023 Hernadi Laszlo @ 14.02.2007 - 12:13:06 */ public abstract class Base implements Testlet { protected TestHarness myHarness = null; protected final boolean doCleanUP = false; protected String fileName = null; protected File aktFile; protected boolean isEnabled = true; protected boolean forceAll = true; public void test (final TestHarness harness) { if (!isEnabled && !forceAll) { System.out.println ("\t\tTest Disabled..."); return; } this.myHarness = harness; if (this.fileName != null) { this.aktFile = new File (myHarness.getTempDirectory() + myHarness.getSeparator() + this.fileName); myHarness.debug("Using file: " + aktFile.toString()); if (this.doCleanUP) { this.aktFile.deleteOnExit (); } } try { doTest (); } catch (Throwable e) { e.printStackTrace (); myHarness.fail(e.toString()); } } protected void setDefaultFilename () { this.fileName = this.getClass ().getName () + ".txt"; } protected abstract void doTest (); } mauve-20140821/gnu/testlet/java/util/Scanner/FishString.java0000644000175000001440000000570511057065457022455 0ustar dokousers// Copyright (c) 2007 Hernadi Laszlo // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.5 /** * */ package gnu.testlet.java.util.Scanner; import gnu.testlet.Testlet; import java.util.Scanner; import java.util.regex.MatchResult; /** * @author E0327023 Hernadi Laszlo @ 12.02.2007 - 23:00:30 */ public class FishString extends Base { @Override protected void doTest () { String input = "1 fish 2 fish red fish blue fish"; String delimiter = "\\s*fish\\s*"; String tmpStr; String[] values = { null, "1", "2", "red", "blue"}; // the null is required... int i; this.myHarness.checkPoint ("Fisch String [" + input + "]"); Scanner s1 = new Scanner (input); s1.useDelimiter (delimiter); tmpStr = s1.delimiter ().pattern (); this.myHarness.check (tmpStr, delimiter, "get / setDelimiter fail (\"" + tmpStr + "\" != \"" + delimiter); this.myHarness.check (s1.hasNext (), true, "first hasNext()"); this.myHarness.check (s1.hasNextInt (), true, "first hasNextInt()"); this.myHarness.check (s1.nextInt (), 1, "nextInt()"); this.myHarness.check (s1.hasNextInt (), true, "hasNextInt()"); this.myHarness.check (s1.hasNextBoolean (), false, "hasNextBoolean()"); this.myHarness.check (s1.hasNextByte (), true, "hasNextByte()"); this.myHarness.check (s1.nextInt (), 2, "2. nextInt()"); this.myHarness.check (s1.hasNext (), true, "3. hasNext()"); this.myHarness.check (s1.hasNextBigInteger (), false, "hasNextBigInteger()"); this.myHarness.check (s1.next (), "red", "3. next()"); this.myHarness.check (s1.next (), "blue", "4. next()"); this.myHarness.check (s1.hasNext (), false, "letztes hasNext()"); s1.close (); // Scanner s2 = new Scanner(input); Scanner s2 = new Scanner (input); s2.findInLine ("(\\d+) fish (\\d+) fish (\\w+) fish (\\w+)"); MatchResult mResult = s2.match (); for (i = 1; i <= mResult.groupCount (); i++) { this.myHarness.check (mResult.group (i), values[i], "wrong result : \"" + mResult.group (i) + "\" != \"" + values[i] + "\""); // System.out.println(mResult.group(i)); } if (i != values.length) { this.myHarness.fail ("not all results... (" + i + " != " + (values.length) + ")"); } s2.close (); } } mauve-20140821/gnu/testlet/java/util/AbstractCollection/0000755000175000001440000000000012375316426021710 5ustar dokousersmauve-20140821/gnu/testlet/java/util/AbstractCollection/AcuniaAddCollectionTest.java0000644000175000001440000000376310206401721027231 0ustar dokousers/* Copyright (C) 2001 ACUNIA This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.2 package gnu.testlet.java.util.AbstractCollection; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.*; /** * Written by ACUNIA.
*
* this file contains tests for java.util.AbstractCollection
* */ public class AcuniaAddCollectionTest extends AbstractCollection implements Testlet { protected TestHarness th; public void test (TestHarness harness) { th = harness; test_add(); } /** * implemented.
* */ public void test_add(){ th.checkPoint("add(java.lang.Object)boolean"); AcuniaAddCollectionTest eac = new AcuniaAddCollectionTest(); try { eac.add(this); th.fail("should throw an UnsupportedOperationException"); } catch (UnsupportedOperationException uoe) { th.check(true);} } // The following fields and methods are needed to use this class as a // AbstractCollection implementation. public Vector v; public AcuniaAddCollectionTest(){ super(); v=new Vector(); } public int size() { return v.size(); } public Iterator iterator() { return v.iterator(); } } mauve-20140821/gnu/testlet/java/util/AbstractCollection/toString.java0000644000175000001440000000357210370403662024363 0ustar dokousers/* Copyright (c) 2006 Mark J. Wielaard (mark@klomp.org) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.2 package gnu.testlet.java.util.AbstractCollection; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.*; /** * Checks that toString() can handle collections that contain themselves. */ public class toString implements Testlet, Comparator { public void test (TestHarness harness) { testCollection(new LinkedList(), harness); testCollection(new ArrayList(), harness); testCollection(new Vector(), harness); testCollection(new Stack(), harness); testCollection(new HashSet(), harness); testCollection(new LinkedHashSet(), harness); testCollection(new TreeSet(this), harness); } private void testCollection(Collection c, TestHarness h) { h.checkPoint(c.getClass().getName()); c.add(new Integer(123)); c.add(c); c.add("abc"); String s = c.toString(); h.debug(s); h.check(s.indexOf("123") != -1); h.check(s.indexOf("abc") != -1); } public int compare(Object o1, Object o2) { return String.valueOf(o1).compareTo(String.valueOf(o2)); } public boolean equals(Object o) { return o == this; } } mauve-20140821/gnu/testlet/java/util/AbstractCollection/AcuniaAbstractCollectionTest.java0000644000175000001440000002422710206401721030302 0ustar dokousers/* Copyright (C) 2001 ACUNIA This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.2 package gnu.testlet.java.util.AbstractCollection; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.*; /** * Written by ACUNIA.
*
* this file contains tests for java.util.AbstractCollection
* */ public class AcuniaAbstractCollectionTest extends AbstractCollection implements Testlet { protected TestHarness th; public void test (TestHarness harness) { th = harness; test_addAll(); test_clear(); test_remove(); test_removeAll(); test_retainAll(); test_contains(); test_containsAll(); test_isEmpty(); test_size(); test_iterator(); test_toArray(); test_toString(); } /** * implemented.
* */ public void test_addAll(){ th.checkPoint("addAll(java.util.Collection)boolean"); Vector v = new Vector(); v.add("a"); v.add("b"); v.add("c"); v.add("d"); AcuniaAbstractCollectionTest ac = new AcuniaAbstractCollectionTest(); th.check( ac.addAll(v) , "should return true, v is modified"); th.check( ac.v.equals(v) , "check everything is added"); ac.setRA(false); th.check(! ac.addAll(v) , "should return false, v is not modified"); th.check( ac.v.equals(v) , "check everything is added"); try { ac.addAll(null); th.fail("should throw a NullPointerException"); } catch (NullPointerException ne) { th.check(true);} } /** * implemented.
* */ public void test_clear(){ th.checkPoint("clear()void"); AcuniaAbstractCollectionTest ac = new AcuniaAbstractCollectionTest(); ac.v.add("a"); ac.v.add("b"); ac.v.add("c"); ac.v.add("d"); ac.clear(); th.check(ac.size()==0 , "all elements are removed -- 1"); ac.clear(); th.check(ac.size()==0 , "all elements are removed -- 2"); } /** * implemented.
* */ public void test_remove(){ th.checkPoint("remove(java.lang.Object)boolean"); AcuniaAbstractCollectionTest ac = new AcuniaAbstractCollectionTest(); ac.v.add("a"); ac.v.add(null); ac.v.add("c"); ac.v.add("a"); th.check(ac.remove("a"), "returns true if removed -- 1"); th.check(ac.size()==3 , "one element was removed -- 1"); th.check(!"a".equals(ac.v.get(0)) , "check if correct element was removed"); th.check(ac.remove("a"), "returns true if removed -- 2"); th.check(ac.size()==2 , "one element was removed -- 2"); th.check(!ac.remove("a"), "returns false if not removed -- 3"); th.check(ac.size()==2 , "no elements were removed -- 3"); th.check(ac.remove(null), "returns true if removed -- 4"); th.check(ac.size()==1 , "one element was removed -- 4"); th.check(!ac.remove(null), "returns false if not removed -- 5"); th.check(ac.size()==1 , "no elements were removed -- 5"); th.check("c".equals(ac.v.get(0)) , "\"c\" is left"); } /** * implemented.
* */ public void test_removeAll(){ th.checkPoint("removeAll(java.util.Collection)boolean"); AcuniaAbstractCollectionTest ac = new AcuniaAbstractCollectionTest(); ac.v.add("a"); ac.v.add(null); ac.v.add("c"); ac.v.add("a"); try { ac.removeAll(null); th.fail("should throw a NullPointerException"); } catch (NullPointerException ne) { th.check(true);} Vector v = new Vector(); v.add("a"); v.add(null); v.add("de"); v.add("fdf"); th.check( ac.removeAll(v) , "should return true"); th.check( ac.size() == 1 , "duplicate elements are removed"); th.check("c".equals(ac.v.get(0)) , "check if correct elements were removed"); th.check(! ac.removeAll(v) , "should return false"); th.check( ac.size() == 1 , "no elements were removed"); } /** * implemented.
* */ public void test_retainAll(){ th.checkPoint("retainAll(java.util.Collection)boolean"); AcuniaAbstractCollectionTest ac = new AcuniaAbstractCollectionTest(); ac.v.add("a"); ac.v.add(null); ac.v.add("c"); ac.v.add("a"); try { ac.retainAll(null); th.fail("should throw a NullPointerException"); } catch (NullPointerException ne) { th.check(true);} Vector v = new Vector(); v.add("a"); v.add(null); v.add("de"); v.add("fdf"); th.check( ac.retainAll(v) , "should return true"); th.check( ac.size() == 3 , "duplicate elements are retained"); th.check(! ac.retainAll(v) , "should return false"); th.check( ac.size() == 3 , "all elements were retained"); th.check( ac.v.contains(null) && ac.v.contains("a")); } /** * implemented.
* */ public void test_contains(){ th.checkPoint("contains(java.lang.Object)boolean"); AcuniaAbstractCollectionTest ac = new AcuniaAbstractCollectionTest(); ac.v.add("a"); ac.v.add(null); ac.v.add("c"); ac.v.add("a"); th.check(ac.contains("a") , "true -- 1"); th.check(ac.contains(null) , "true -- 2"); th.check(ac.contains("c") , "true -- 3"); th.check(!ac.contains("ab") , "false -- 4"); th.check(!ac.contains("b") , "false -- 5"); ac.remove(null); th.check(!ac.contains(null) , "false -- 4"); } /** * implemented.
* */ public void test_containsAll(){ th.checkPoint("containsAll(java.util.Collection)boolean"); AcuniaAbstractCollectionTest ac = new AcuniaAbstractCollectionTest(); ac.v.add("a"); ac.v.add(null); ac.v.add("c"); ac.v.add("a"); try { ac.containsAll(null); th.fail("should throw a NullPointerException"); } catch (NullPointerException ne) { th.check(true);} Vector v = new Vector(); th.check( ac.containsAll(v) , "should return true -- 1"); v.add("a"); v.add(null); v.add("a"); v.add(null); v.add("a"); th.check( ac.containsAll(v) , "should return true -- 2"); v.add("c"); th.check( ac.containsAll(v) , "should return true -- 3"); v.add("c+"); th.check(! ac.containsAll(v) , "should return false -- 4"); v.clear(); ac.clear(); th.check( ac.containsAll(v) , "should return true -- 5"); } /** * implemented.
* */ public void test_isEmpty(){ th.checkPoint("isEmpty()boolean"); AcuniaAbstractCollectionTest ac = new AcuniaAbstractCollectionTest(); th.check(ac.isEmpty() , "should return true -- 1"); th.check(ac.isEmpty() , "should return true -- 2"); ac.v.add(null); th.check(!ac.isEmpty() , "should return false -- 3"); ac.clear(); th.check(ac.isEmpty() , "should return true -- 4"); } /** * not implemented.
* Abstract Method */ public void test_size(){ th.checkPoint("()"); } /** * not implemented.
* Abstract Method */ public void test_iterator(){ th.checkPoint("()"); } /** * implemented.
* */ public void test_toArray(){ th.checkPoint("toArray()[java.lang.Object"); AcuniaAbstractCollectionTest ac = new AcuniaAbstractCollectionTest(); Object [] oa = ac.toArray(); th.check( oa != null , "returning null is not allowed"); if (oa != null) th.check(oa.length == 0 , "empty array"); ac.v.add("a"); ac.v.add(null); ac.v.add("c"); ac.v.add("a"); oa = ac.toArray(); th.check(oa[0].equals("a") && oa[1] == null && oa[2].equals("c") && oa[3].equals("a"), "checking elements"); th.checkPoint("toArray([java.lang.Object)[java.lang.Object"); try { ac.toArray(null); th.fail("should throw a NullPointerException"); } catch (NullPointerException ne) { th.check(true);} String [] sa = new String[5]; for (int i = 0 ; i < 5 ; i++ ){ sa[i] ="ok"; } oa = ac.toArray(sa); th.check(oa[0].equals("a") && oa[1] == null && oa[2].equals("c") && oa[3].equals("a"), "checking elements"); th.check(oa == sa , "array large enough --> fill + return it"); th.check(sa[4] == null , "element at 'size' is set to null"); sa = new String[3]; for (int i = 0 ; i < 3 ; i++ ){ sa[i] ="ok"; } oa = ac.toArray(sa); th.check(oa[0].equals("a") && oa[1] == null && oa[2].equals("c") && oa[3].equals("a"), "checking elements"); th.check ( oa instanceof String[] , "checking class type of returnvalue"); sa = new String[4]; Class asc = sa.getClass(); for (int i = 0 ; i < 4 ; i++ ){ sa[i] ="ok"; } oa = ac.toArray(sa); th.check(oa[0].equals("a") && oa[1] == null && oa[2].equals("c") && oa[3].equals("a"), "checking elements"); th.check ( oa instanceof String[] , "checking class type of returnvalue"); th.check(oa == sa , "array large enough --> fill + return it"); } /** * implemented.
* */ public void test_toString(){ th.checkPoint("toString()java.lang.String"); AcuniaAbstractCollectionTest ac = new AcuniaAbstractCollectionTest(); ac.v.add("smartmove"); ac.v.add(null); ac.v.add("rules"); ac.v.add("cars"); String s = ac.toString(); th.check( s.indexOf("smartmove") != -1 , "checking representations"); th.check( s.indexOf("rules") != -1 , "checking representations"); th.check( s.indexOf("cars") != -1 , "checking representations"); th.check( s.indexOf("null") != -1 , "checking representations"); th.debug(s); } // The following fields and methods are needed to use this class as a // AbstractCollection implementation. public Vector v; private boolean retadd=true; public AcuniaAbstractCollectionTest(){ super(); v=new Vector(); } public int size() { return v.size(); } public boolean add(Object o) { if (retadd)v.add(o); return retadd; } public Iterator iterator() { return v.iterator(); } public void setRA(boolean b) { retadd=b; } } mauve-20140821/gnu/testlet/java/util/ArrayList/0000755000175000001440000000000012375316426020043 5ustar dokousersmauve-20140821/gnu/testlet/java/util/ArrayList/AcuniaArrayListTest.java0000644000175000001440000005666511223405210024600 0ustar dokousers/* Copyright (C) 2001 ACUNIA This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.2 package gnu.testlet.java.util.ArrayList; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.*; /** * Written by ACUNIA.
*
* this file contains test for ArrayList
*
* It might be usefull to find out how the capacity evolves
* --> this must be done with reflection ... (not done yet) */ public class AcuniaArrayListTest extends ArrayList implements Testlet { protected TestHarness th; public AcuniaArrayListTest() { /* Empty constructor needed for TestLet */} public void test (TestHarness harness) { th = harness; test_ArrayList(); test_get(); test_ensureCapacity(); test_trimToSize(); test_add(); test_addAll(); test_clear(); test_remove(); test_set(); test_contains(); test_isEmpty(); test_indexOf(); test_size(); test_lastIndexOf(); test_toArray(); test_clone(); // extra test_removeRange(); test_MC_iterator(); } protected ArrayList buildAL() { Vector v = new Vector(); v.add("a"); v.add("c"); v.add("u"); v.add("n"); v.add("i"); v.add("a"); v.add(null); v.add("a"); v.add("c"); v.add("u"); v.add("n"); v.add("i"); v.add("a"); v.add(null); return new ArrayList(v); } /** * not implemented.
* only ArrayList(Collection c) is tested */ public void test_ArrayList(){ th.checkPoint("arrayList(java.util.Collection)"); Vector v = new Vector(); ArrayList al = new ArrayList(v); th.check( al.isEmpty() , "no elements added"); v.add("a"); v.add("c"); v.add("u"); v.add("n"); v.add("i"); v.add("a"); v.add(null); al = new ArrayList(v); th.check(v.equals(al) , "check if everything is OK"); try { new ArrayList(null); th.fail("should throw a NullPointerException"); } catch(NullPointerException npe) { th.check(true); } } /** * implemented.
* */ public void test_get(){ th.checkPoint("get(int)java.lang.Object"); ArrayList al = new ArrayList(); try { al.get(0); th.fail("should throw an IndexOutOfBoundsException -- 1"); } catch(IndexOutOfBoundsException ioobe) { th.check(true); } try { al.get(-1); th.fail("should throw an IndexOutOfBoundsException -- 2"); } catch(IndexOutOfBoundsException ioobe) { th.check(true); } al = buildAL(); try { al.get(14); th.fail("should throw an IndexOutOfBoundsException -- 3"); } catch(IndexOutOfBoundsException ioobe) { th.check(true); } try { al.get(-1); th.fail("should throw an IndexOutOfBoundsException -- 4"); } catch(IndexOutOfBoundsException ioobe) { th.check(true); } th.check("a".equals(al.get(0)) , "checking returnvalue -- 1"); th.check("c".equals(al.get(1)) , "checking returnvalue -- 2"); th.check("u".equals(al.get(2)) , "checking returnvalue -- 3"); th.check("a".equals(al.get(5)) , "checking returnvalue -- 4"); th.check("a".equals(al.get(7)) , "checking returnvalue -- 5"); th.check("c".equals(al.get(8)) , "checking returnvalue -- 6"); th.check("u".equals(al.get(9)) , "checking returnvalue -- 7"); th.check("a".equals(al.get(12)), "checking returnvalue -- 8"); th.check( null == al.get(6) , "checking returnvalue -- 9"); th.check( null == al.get(13) , "checking returnvalue -- 10"); } /** * implemented.
* => might need extra testing --> using reflection ... */ public void test_ensureCapacity(){ th.checkPoint("ensureCapacity(int)"); ArrayList al = buildAL(); al.ensureCapacity(4); th.check(al.size() == 14 , "make sure the list cannot be downsized !"); } /** * not implemented.
* */ public void test_trimToSize(){ th.checkPoint("trimToSize()"); } /** * implemented.
* */ public void test_add(){ th.checkPoint("add(int,java.lang.Object)void"); ArrayList al = new ArrayList(); try { al.add(-1,"a"); th.fail("should throw an IndexOutOfBoundsException -- 1"); } catch(IndexOutOfBoundsException ioobe) { th.check(true); } try { al.add(1,"a"); th.fail("should throw an IndexOutOfBoundsException -- 2"); } catch(IndexOutOfBoundsException ioobe) { th.check(true); } al.add(0,"a"); al.add(1,"c"); al.add(2,"u"); al.add(1,null); th.check("a".equals(al.get(0))&& null==al.get(1) && "c".equals(al.get(2)) && "u".equals(al.get(3)) , "checking add ..."); th.checkPoint("add(java.lang.Object)boolean"); al = new ArrayList(); th.check(al.add("a") , "checking return value -- 1"); th.check(al.add("c") , "checking return value -- 2"); th.check(al.add("u") , "checking return value -- 3"); th.check(al.add("n") , "checking return value -- 4"); th.check(al.add("i") , "checking return value -- 5"); th.check(al.add("a") , "checking return value -- 6"); th.check(al.add(null) , "checking return value -- 7"); th.check(al.add("end") , "checking return value -- 8"); th.check("a".equals(al.get(0))&& null==al.get(6) && "c".equals(al.get(1)) && "u".equals(al.get(2)) , "checking add ... -- 1"); th.check("a".equals(al.get(5))&& "end".equals(al.get(7)) && "n".equals(al.get(3)) && "i".equals(al.get(4)) , "checking add ... -- 2"); } /** * implemented.
* */ public void test_addAll(){ th.checkPoint("addAll(java.util.Collection)boolean"); ArrayList al =new ArrayList(); try { al.addAll(null); th.fail("should throw NullPointerException"); } catch (NullPointerException ne) { th.check(true); } Collection c = (Collection) al; th.check(!al.addAll(c) ,"checking returnvalue -- 1"); al.add("a"); al.add("b"); al.add("c"); c = (Collection) al; al = buildAL(); th.check(al.addAll(c) ,"checking returnvalue -- 2"); th.check(al.containsAll(c), "extra on containsAll -- 1"); th.check(al.get(14)=="a" && al.get(15)=="b" && al.get(16)=="c", "checking added on right positions"); th.checkPoint("addAll(int,java.util.Collection)boolean"); al =new ArrayList(); c = (Collection) al; th.check(!al.addAll(0,c) ,"checking returnvalue -- 1"); al.add("a"); al.add("b"); al.add("c"); c = (Collection) al; al = buildAL(); try { al.addAll(-1,c); th.fail("should throw exception -- 1"); } catch (IndexOutOfBoundsException ae) { th.check(true); } try { al.addAll(15,c); th.fail("should throw exception -- 2"); } catch (IndexOutOfBoundsException ae) { th.check(true); } try { th.check(al.addAll(11,c),"checking returnvalue -- 2"); } catch (ArrayIndexOutOfBoundsException ae) { th.fail("shouldn't throw exception -- 1"); } th.check(al.containsAll(c), "extra on containsAll -- 1"); th.check(al.get(11)=="a" && al.get(12)=="b" && al.get(13)=="c", "checking added on right positions -- 1"); th.check(al.addAll(1,c),"checking returnvalue -- 3"); th.check(al.get(1)=="a" && al.get(2)=="b" && al.get(3)=="c", "checking added on right positions -- 2"); } /** * implemented.
* */ public void test_clear(){ th.checkPoint("clear()void"); ArrayList al = new ArrayList(); al.clear(); al = buildAL(); al.clear(); th.check(al.size()== 0 && al.isEmpty() , "list is empty ..."); } /** * implemented.
* */ public void test_remove(){ th.checkPoint("remove(int)java.lang.Object"); ArrayList al = buildAL(); try { al.remove(-1); th.fail("should throw an IndexOutOfBoundsException -- 1" ); } catch (IndexOutOfBoundsException e) { th.check(true); } try { al.remove(14); th.fail("should throw an IndexOutOfBoundsException -- 2" ); } catch (IndexOutOfBoundsException e) { th.check(true); } th.check( "a".equals(al.remove(5)) , "checking returnvalue remove -- 1"); th.check("a".equals(al.get(0))&& null==al.get(5) && "c".equals(al.get(1)) && "u".equals(al.get(2)) , "checking remove ... -- 1"); th.check("a".equals(al.get(6))&& "c".equals(al.get(7)) && "n".equals(al.get(3)) && "i".equals(al.get(4)) , "checking remove ... -- 2"); th.check(al.size() == 13 , "checking new size -- 1"); th.check( al.remove(5) == null , "checking returnvalue remove -- 2"); th.check(al.size() == 12 , "checking new size -- 2"); th.check( al.remove(11) == null, "checking returnvalue remove -- 3"); th.check( "a".equals(al.remove(0)) , "checking returnvalue remove -- 4"); th.check( "u".equals(al.remove(1)) , "checking returnvalue remove -- 5"); th.check( "i".equals(al.remove(2)) , "checking returnvalue remove -- 6"); th.check( "a".equals(al.remove(2)) , "checking returnvalue remove -- 7"); th.check( "u".equals(al.remove(3)) , "checking returnvalue remove -- 8"); th.check( "a".equals(al.remove(5)) , "checking returnvalue remove -- 9"); th.check( "i".equals(al.remove(4)) , "checking returnvalue remove -- 10"); th.check( "c".equals(al.get(0))&& "c".equals(al.get(2)) && "n".equals(al.get(3)) && "n".equals(al.get(1)) , "checking remove ... -- 3"); th.check(al.size() == 4 , "checking new size -- 3"); al.remove(0); al.remove(0); al.remove(0); al.remove(0); th.check(al.size() == 0 , "checking new size -- 4"); al = new ArrayList(); try { al.remove(0); th.fail("should throw an IndexOutOfBoundsException -- 3" ); } catch (IndexOutOfBoundsException e) { th.check(true); } } /** * implemented.
* */ public void test_set(){ th.checkPoint("set(int,java.lang.Object)java.lang.Object"); ArrayList al = new ArrayList(); try { al.set(-1,"a"); th.fail("should throw an IndexOutOfBoundsException -- 1" ); } catch (IndexOutOfBoundsException e) { th.check(true); } try { al.set(0,"a"); th.fail("should throw an IndexOutOfBoundsException -- 2" ); } catch (IndexOutOfBoundsException e) { th.check(true); } al = buildAL(); try { al.set(-1,"a"); th.fail("should throw an IndexOutOfBoundsException -- 3" ); } catch (IndexOutOfBoundsException e) { th.check(true); } try { al.set(14,"a"); th.fail("should throw an IndexOutOfBoundsException -- 4" ); } catch (IndexOutOfBoundsException e) { th.check(true); } th.check( "a".equals(al.set(5,"b")) , "checking returnvalue of set -- 1"); th.check( "a".equals(al.set(0,null)), "checking returnvalue of set -- 2"); th.check( "b".equals(al.get(5)), "checking effect of set -- 1"); th.check( al.get(0) == null , "checking effect of set -- 2"); th.check( "b".equals(al.set(5,"a")), "checking returnvalue of set -- 3"); th.check( al.set(0,null) == null , "checking returnvalue of set -- 4"); th.check( "a".equals(al.get(5)), "checking effect of set -- 3"); th.check( al.get(0) == null , "checking effect of set -- 4"); } /** * implemented.
* */ public void test_contains(){ th.checkPoint("contains(java.lang.Object)boolean"); ArrayList al = new ArrayList(); th.check(!al.contains(null),"checking empty List -- 1"); th.check(!al.contains(al) ,"checking empty List -- 2"); al = buildAL(); th.check( al.contains(null), "check contains ... -- 1"); th.check( al.contains("a") , "check contains ... -- 2"); th.check( al.contains("c") , "check contains ... -- 3"); th.check(!al.contains(this), "check contains ... -- 4"); al.remove(6); th.check( al.contains(null), "check contains ... -- 5"); al.remove(12); th.check(!al.contains(null), "check contains ... -- 6"); th.check(!al.contains("b") , "check contains ... -- 7"); th.check(!al.contains(al) , "check contains ... -- 8"); } /** * implemented.
* */ public void test_isEmpty(){ th.checkPoint("isEmpty()boolean"); ArrayList al = new ArrayList(); th.check(al.isEmpty() , "checking returnvalue -- 1"); al.add("A"); th.check(!al.isEmpty() , "checking returnvalue -- 2"); al.remove(0); th.check(al.isEmpty() , "checking returnvalue -- 3"); } /** * implemented.
* */ public void test_indexOf(){ th.checkPoint("indexOf(java.lang.Object)int"); ArrayList al = new ArrayList(); th.check( al.indexOf(null)== -1,"checks on empty list -- 1"); th.check( al.indexOf(al)== -1 , "checks on empty list -- 2"); Object o = new Object(); al =buildAL(); th.check( al.indexOf(o) == -1 , " doesn't contain -- 1"); th.check( al.indexOf("a") == 0 , "contains -- 2"); th.check( al.indexOf(o) == -1, "contains -- 3"); al.add(9,o); th.check( al.indexOf(o) == 9 , "contains -- 4"); th.check( al.indexOf(new Object()) == -1 , "doesn't contain -- 5"); th.check(al.indexOf(null) == 6, "null was added to the Vector"); al.remove(6); th.check(al.indexOf(null) == 13, "null was added twice to the Vector"); al.remove(13); th.check(al.indexOf(null) == -1, "null was removed to the Vector"); th.check( al.indexOf("c") == 1 , "contains -- 6"); th.check( al.indexOf("u") == 2 , "contains -- 7"); th.check( al.indexOf("n") == 3 , "contains -- 8"); } /** * implemented.
* */ public void test_size(){ th.checkPoint("size()int"); ArrayList al = new ArrayList(); th.check( al.size() == 0 , "check on size -- 1"); al.addAll(buildAL()); th.check( al.size() == 14 , "check on size -- 1"); al.remove(5); th.check( al.size() == 13 , "check on size -- 1"); al.add(4,"G"); th.check( al.size() == 14 , "check on size -- 1"); } /** * implemented.
* */ public void test_lastIndexOf(){ th.checkPoint("lastIndexOf(java.lang.Object)int"); ArrayList al = new ArrayList(); th.check( al.lastIndexOf(null)== -1,"checks on empty list -- 1"); th.check( al.lastIndexOf(al)== -1 , "checks on empty list -- 2"); Object o = new Object(); al =buildAL(); th.check( al.lastIndexOf(o) == -1 , " doesn't contain -- 1"); th.check( al.lastIndexOf("a") == 12 , "contains -- 2"); th.check( al.lastIndexOf(o) == -1, "contains -- 3"); al.add(9,o); th.check( al.lastIndexOf(o) == 9 , "contains -- 4"); th.check( al.lastIndexOf(new Object()) == -1 , "doesn't contain -- 5"); th.check( al.lastIndexOf(null) == 14, "null was added to the Vector"); al.remove(14); th.check( al.lastIndexOf(null) == 6 , "null was added twice to the Vector"); al.remove(6); th.check( al.lastIndexOf(null) == -1, "null was removed to the Vector"); th.check( al.lastIndexOf("c") == 7 , "contains -- 6, got "+al.lastIndexOf("c")); th.check( al.lastIndexOf("u") == 9 , "contains -- 7, got "+al.lastIndexOf("u")); th.check( al.lastIndexOf("n") == 10, "contains -- 8, got "+al.lastIndexOf("n")); } /** * implemented.
* */ public void test_toArray(){ th.checkPoint("toArray()[java.lang.Object"); ArrayList v = new ArrayList(); Object o[] = v.toArray(); th.check(o.length == 0 , "checking size Object array"); v.add("a"); v.add(null); v.add("b"); o = v.toArray(); th.check(o[0]== "a" && o[1] == null && o[2] == "b" , "checking elements -- 1"); th.check(o.length == 3 , "checking size Object array"); th.checkPoint("toArray([java.lang.Object)[java.lang.Object"); v = new ArrayList(); try { v.toArray(null); th.fail("should throw NullPointerException -- 1"); } catch (NullPointerException ne) { th.check(true); } v.add("a"); v.add(null); v.add("b"); String sa[] = new String[5]; sa[3] = "deleteme"; sa[4] = "leavemealone"; th.check(v.toArray(sa) == sa , "sa is large enough, no new array created"); th.check(sa[0]=="a" && sa[1] == null && sa[2] == "b" , "checking elements -- 1"+sa[0]+", "+sa[1]+", "+sa[2]); th.check(sa.length == 5 , "checking size Object array"); th.check(sa[3]==null && sa[4]=="leavemealone", "check other elements -- 1"+sa[3]+", "+sa[4]); v = buildAL(); try { v.toArray(null); th.fail("should throw NullPointerException -- 2"); } catch (NullPointerException ne) { th.check(true); } try { v.toArray(new Class[5]); th.fail("should throw an ArrayStoreException"); } catch (ArrayStoreException ae) { th.check(true); } v.add(null); String sar[]; sa = new String[15]; sar = (String[])v.toArray(sa); th.check( sar == sa , "returned array is the same"); } /** * implemented.
* */ public void test_clone(){ th.checkPoint("clone()java.lang.Object"); ArrayList cal,al = new ArrayList(); cal = (ArrayList)al.clone(); th.check(cal.size() == 0, "checking size -- 1"); al.add("a") ;al.add("b") ;al.add("c"); al.add(null); cal = (ArrayList)al.clone(); th.check(cal.size() == al.size(), "checking size -- 2"); th.check( al != cal , "Objects are not the same"); th.check( al.equals(cal) , "cloned list is equal"); al.add("a"); th.check(cal.size() == 4, "changes in one object doen't affect the other -- 2"); } /** * implemented.
* */ public void test_removeRange(){ th.checkPoint("removeRange(int,int)void"); AcuniaArrayListTest xal = new AcuniaArrayListTest(buildAL()); ArrayList al = buildAL(); xal.ensureCapacity(40); try { xal.removeRange(0,-1); th.fail("should throw an IndexOutOfBoundsException -- 1"); } catch(IndexOutOfBoundsException ioobe) { th.check(true); } th.check(xal.equals(al) , "ArrayList must not be changed -- 1"); try { xal.removeRange(-1,2); th.fail("should throw an IndexOutOfBoundsException -- 2"); } catch(IndexOutOfBoundsException ioobe) { th.check(true); } th.check(xal.equals(al) , "ArrayList must not be changed -- 2"); try { xal.removeRange(3,2); th.fail("should throw an IndexOutOfBoundsException -- 3"); } catch(IndexOutOfBoundsException ioobe) { th.check(true); } try { th.check(al.equals(xal) , "ArrayList must not be changed -- 3"); } catch (Exception e) { th.debug("bad operations messed up ArrayList"); } xal = new AcuniaArrayListTest(buildAL()); xal.ensureCapacity(40); try { xal.removeRange(3,15); th.fail("should throw an IndexOutOfBoundsException -- 4"); } catch(IndexOutOfBoundsException ioobe) { th.check(true); } th.check(xal.equals(al) , "ArrayList must not be changed -- 4"); xal = new AcuniaArrayListTest(buildAL()); xal.ensureCapacity(40); try { xal.removeRange(15,13); th.fail("should throw an IndexOutOfBoundsException -- 5"); } catch(IndexOutOfBoundsException ioobe) { th.check(true); } try { th.check(xal.equals(al) , "ArrayList must not be changed -- 5"); } catch (Exception e) { th.debug("bad operations messed up ArrayList"); } xal = new AcuniaArrayListTest(buildAL()); xal.ensureCapacity(40); xal.removeRange(14,14); th.check(xal.size() == 14 , "no elements should have been removed -- 6, size = "+xal.size()); xal.removeRange(10,14); th.check(xal.size() == 10 , "4 elements should have been removed"); th.check( "a".equals(xal.get(0)) && "a".equals(xal.get(5)) && "a".equals(xal.get(7)) ,"check contents -- 1"); xal.removeRange(2,7); th.check(xal.size() == 5 , "5 elements should have been removed"); th.check( "a".equals(xal.get(0)) && "c".equals(xal.get(1)) && "a".equals(xal.get(2)) && "c".equals(xal.get(3)) && "u".equals(xal.get(4)) ,"check contents -- 2"); xal.removeRange(0,2); th.check( "a".equals(xal.get(0)) && "c".equals(xal.get(1)) && "u".equals(xal.get(2)) ,"check contents -- 3"); th.check(xal.size() == 3 , "2 elements should have been removed"); } /** * implemented.
* */ public void test_MC_iterator(){ th.checkPoint("ModCount(in)iterator"); AcuniaArrayListTest xal = new AcuniaArrayListTest(buildAL()); Iterator it = xal.iterator(); xal.removeRange(1,10); try { it.next(); th.fail("should throw a ConcurrentModificationException -- 1"); } catch(ConcurrentModificationException ioobe) { th.check(true); } ArrayList al = buildAL(); it = al.iterator(); al.trimToSize(); try { it.next(); th.fail("should throw a ConcurrentModificationException -- 3"); } catch(ConcurrentModificationException ioobe) { th.check(true); } it = al.iterator(); al.ensureCapacity(25); try { it.next(); th.fail("should throw a ConcurrentModificationException -- 3"); } catch(ConcurrentModificationException ioobe) { th.check(true); } it = al.iterator(); al.get(0); al.contains(null); al.isEmpty(); al.indexOf(null); al.lastIndexOf(null); al.size(); al.toArray(); al.toArray(new String[10]); al.clone(); try { it.next(); th.check(true); } catch(ConcurrentModificationException ioobe) { th.fail("should not throw a ConcurrentModificationException -- 2"); } it = al.iterator(); al.add("b"); try { it.next(); th.fail("should throw a ConcurrentModificationException -- 3"); } catch(ConcurrentModificationException ioobe) { th.check(true); } it = al.iterator(); al.add(3,"b"); try { it.next(); th.fail("should throw a ConcurrentModificationException -- 4"); } catch(ConcurrentModificationException ioobe) { th.check(true); } it = al.iterator(); al.addAll(xal); try { it.next(); th.fail("should throw a ConcurrentModificationException -- 5"); } catch(ConcurrentModificationException ioobe) { th.check(true); } it = al.iterator(); al.addAll(2,xal); try { it.next(); th.fail("should throw a ConcurrentModificationException -- 6"); } catch(ConcurrentModificationException ioobe) { th.check(true); } it = al.iterator(); al.remove(2); try { it.next(); th.fail("should throw a ConcurrentModificationException -- 8"); } catch(ConcurrentModificationException ioobe) { th.check(true); } it = al.iterator(); al.clear(); try { it.next(); th.fail("should throw a ConcurrentModificationException -- 9"); } catch(ConcurrentModificationException ioobe) { th.check(true); } } // The following fields and methods are used in tests that need an ArrayList. private boolean didRemoveRange=false; private int from = -1; private int to = -1; public AcuniaArrayListTest(Collection c){ super(c); } public void removeRange(int fidx, int tidx) { didRemoveRange=true; to = tidx; from = fidx; super.removeRange(fidx, tidx); } public boolean get_dRR() { return didRemoveRange; } public void set_dRR(boolean b) { didRemoveRange = b; } public int get_to() { return to; } public int get_from() { return from; } } mauve-20140821/gnu/testlet/java/util/ArrayList/subList.java0000644000175000001440000000253010234111661022315 0ustar dokousers// Tags: JDK1.2 // Uses: ../List/subList // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.ArrayList; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.ArrayList; /** * Some tests for the subList() method in the {@link ArrayList} class. */ public class subList implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { gnu.testlet.java.util.List.subList.testAll(ArrayList.class, harness); } } mauve-20140821/gnu/testlet/java/util/ArrayList/ArrayList.ser0000644000175000001440000000125607561273034022472 0ustar dokousers¬íur[Ljava.util.ArrayList;xŒýÚßFxpsrjava.util.ArrayListxÒ™ÇaIsizexpwxsq~wsrjava.lang.Integerâ ¤÷‡8Ivaluexrjava.lang.Number†¬• ”à‹xpxsq~ w sq~sq~sq~sq~sq~sq~sq~sq~sq~ sq~ sq~ sq~ sq~ sq~sq~sq~sq~sq~sq~sq~sq~sq~sq~sq~sq~sq~sq~sq~sq~sq~sq~sq~ xsq~ w sq~sq~sq~sq~sq~sq~sq~sq~sq~sq~sq~sq~ xsq~wxmauve-20140821/gnu/testlet/java/util/ArrayList/serial.java0000644000175000001440000000572410206401722022156 0ustar dokousers/* Copyright (C) 2002 Free Software Foundation, Inc. Written by Mark Wielaard (mark@klomp.org) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.2 package gnu.testlet.java.util.ArrayList; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; import java.util.*; /** * Tests serializable form. New .ser files can be generated by calling * the main() method. */ public class serial implements Testlet { public void test (TestHarness harness) { try { // Self test ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(baos); ArrayList[] array = getArrayListArray(); oos.writeObject(array); oos.close(); byte[] bs = baos.toByteArray(); ByteArrayInputStream bois = new ByteArrayInputStream(bs); ObjectInputStream ois = new ObjectInputStream(bois); Object o = ois.readObject(); array = (ArrayList[]) o; harness.check(Arrays.equals(array, getArrayListArray())); ois.close(); // Pre generated test String ser = "gnu#testlet#java#util#ArrayList#ArrayList.ser"; InputStream is = harness.getResourceStream(ser); ois = new ObjectInputStream(is); o = ois.readObject(); array = (ArrayList[]) o; harness.check(Arrays.equals(array, getArrayListArray())); ois.close(); is.close(); } catch (Throwable t) { harness.check(false); harness.debug(t); } } /** * Creates an array of ArrayLists. */ static ArrayList[] getArrayListArray() { ArrayList[] array = new ArrayList[5]; ArrayList al = new ArrayList(); ArrayList empty = (ArrayList) al.clone(); array[0] = empty; array[4] = empty; al.add(new Integer(1)); ArrayList one = (ArrayList) al.clone(); array[1] = one; for (int i = 2; i <= 32; i++) al.add(new Integer(i)); ArrayList list32 = (ArrayList) al.clone(); array[2] = list32; for (int i = 0; i < 20; i++) al.remove(4); array[3] = al; return array; } public static void main(String[] args) throws Exception { String filename = "ArrayListSerial.ser"; OutputStream os = new FileOutputStream(filename); ObjectOutputStream oos = new ObjectOutputStream(os); ArrayList[] array = getArrayListArray(); oos.writeObject(array); oos.close(); os.close(); } } mauve-20140821/gnu/testlet/java/util/AbstractList/0000755000175000001440000000000012375316426020530 5ustar dokousersmauve-20140821/gnu/testlet/java/util/AbstractList/AcuniaAbstractListTest.java0000644000175000001440000004244110206401721025740 0ustar dokousers/* Copyright (C) 2001 ACUNIA This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.2 package gnu.testlet.java.util.AbstractList; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.*; /** * Written by ACUNIA.
*
* this file contains test for java.util.AbstractList
* */ public class AcuniaAbstractListTest extends AbstractList implements Testlet { protected TestHarness th; public void test (TestHarness harness) { th = harness; test_get(); test_indexOf(); test_lastIndexOf(); test_add(); test_addAll(); test_clear(); test_remove(); test_removeRange(); test_set(); test_iterator(); try { test_listIterator(); } catch(Exception e) {th.fail("got unwanted exception "+e); } test_subList(); test_hashCode(); test_equals(); } /** * not implemented.
* Abstract Method */ public void test_get(){ th.checkPoint("()"); } /** * implemented.
* */ public void test_indexOf(){ th.checkPoint("indexOf(java.lang.Object)int"); AcuniaAbstractListTest eal = new AcuniaAbstractListTest(); eal.v.add("ab"); eal.v.add("bc"); eal.v.add(null); eal.v.add("ab"); eal.v.add("cd"); eal.v.add(this); th.check( eal.indexOf(this) == 5 , "checking return value -- 1"); th.check( eal.indexOf(null) == 2 , "checking return value -- 2"); th.check( eal.indexOf("ab") == 0 , "checking return value -- 3"); th.check( eal.indexOf("ab") == 0 , "checking return value -- 4"); th.check( eal.indexOf("b") == -1 , "checking return value -- 5"); eal.v.remove(null); th.check( eal.indexOf(null) == -1 , "checking return value -- 6"); eal.v.remove(this); th.check( eal.indexOf(this) == -1 , "checking return value -- 7"); } /** * implemented.
* */ public void test_lastIndexOf(){ th.checkPoint("lastIndexOf(java.lang.Object)int"); AcuniaAbstractListTest eal = new AcuniaAbstractListTest(); eal.v.add("ab"); eal.v.add("bc"); eal.v.add(null); eal.v.add("ab"); eal.v.add(null); eal.v.add(this); th.check( eal.lastIndexOf(this) == 5 , "checking return value -- 1"); th.check( eal.lastIndexOf(null) == 4 , "checking return value -- 2"); th.check( eal.lastIndexOf("ab") == 3 , "checking return value -- 3"); th.check( eal.lastIndexOf("ab") == 3 , "checking return value -- 4"); th.check( eal.lastIndexOf("b") == -1 , "checking return value -- 5"); eal.v.remove(4); th.check( eal.lastIndexOf(null) == 2 , "checking return value -- 6"); eal.v.remove(null); th.check( eal.lastIndexOf(null) == -1 , "checking return value -- 7"); } /** * implemented.
* */ public void test_add(){ th.checkPoint("add(java.lang.Object)boolean"); AcuniaAbstractListTest eal = new AcuniaAbstractListTest(); int mc = eal.getMC(); th.check(eal.add(this), "checking return value -- 1"); // we should change the modCount if we add, remove or set! // th.check(mc != eal.getMC() , "got mc "+mc+" and modCount "+eal.getMC()); th.check(eal.v.get(0) == this , "checking add -- 1"); th.check(eal.add("a"), "checking return value -- 2"); th.check("a".equals(eal.v.get(1)) , "checking add -- 2"); th.check(eal.add("b"), "checking return value -- 3"); th.check("b".equals(eal.v.get(2)) , "checking add -- 3"); th.check(eal.add(null), "checking return value -- 4"); th.check(eal.v.get(3) == null , "checking add -- 4"); th.check(eal.add(null), "checking return value -- 5"); th.check(eal.v.get(4) == null , "checking add -- 5"); eal.set_edit(false); try { eal.add("a"); th.fail("should throw an UnsupportedOperationExeption"); } catch (UnsupportedOperationException uoe) { th.check(true);} th.checkPoint("add(int,java.lang.Object)void"); try { eal.add(3,"a"); th.fail("should throw an UnsupportedOperationExeption"); } catch (UnsupportedOperationException uoe) { th.check(true);} } /** * implemented.
* */ public void test_addAll(){ th.checkPoint("addAll(java.util.Collection)boolean"); //inherited from AbstractCollection ... th.checkPoint("addAll(int,java.util.Collection)boolean"); AcuniaAbstractListTest eal = new AcuniaAbstractListTest(); try { eal.addAll(0, null); th.fail("should throw a NullPointerException"); } catch(NullPointerException ne) { th.check(true); } Vector v = new Vector(); th.check(! eal.addAll(0, v), "checking returnvalue -- 1"); th.check( eal.size() == 0 , "nothing added yet"); v.add(this); v.add(null); v.add("a"); v.add("b"); v.add("a"); v.add(null); try { eal.addAll(-1, v); th.fail("should throw an IndexOutOfBoundsException -- 1"); } catch(IndexOutOfBoundsException ioobe) { th.check(true); } try { eal.addAll(1, v); th.fail("should throw an IndexOutOfBoundsException -- 2"); } catch(IndexOutOfBoundsException ioobe) { th.check(true); } th.check( eal.addAll(0, v), "checking returnvalue -- 1"); th.check( eal.v.get(0) == this && eal.v.get(1) == null && eal.v.get(5) == null ); th.check( eal.addAll(3, v), "checking returnvalue -- 2"); th.check( eal.v.get(0) == this && "a".equals(eal.v.get(2)) && eal.v.get(3) == this ); th.check( eal.v.get(8) == null && "b".equals(eal.v.get(9)) && eal.v.get(11) == null ); v =new Vector(); th.check(! eal.addAll(3, v), "checking returnvalue -- 3"); } /** * implemented.
* */ public void test_clear(){ th.checkPoint("clear()void"); AcuniaAbstractListTest eal = new AcuniaAbstractListTest(); eal.set_updateMC(true); eal.clear(); th.check(eal.get_dRR() , "check if removeRange was called"); th.check(eal.get_from() == 0 && eal.get_to() == 0); eal = new AcuniaAbstractListTest(); eal.v.add("a"); eal.v.add("b"); eal.v.add("c"); eal.v.add("d"); eal.clear(); th.check(eal.get_dRR() , "check if removeRange was called"); th.check(eal.get_from() == 0 && eal.get_to() == 4); th.check(eal.v.size() == 0 , "checking if everything is gone"); } /** * implemented.
* */ public void test_remove(){ th.checkPoint("remove(int)java.lang.Object"); AcuniaAbstractListTest eal = new AcuniaAbstractListTest(); eal.set_edit(false); eal.v.add("a"); try { eal.remove(0); th.fail("should throw an UnsupportedOperationException"); } catch(UnsupportedOperationException uoe) { th.check(true);} } /** * implemented.
* */ public void test_removeRange(){ th.checkPoint("removeRange(int,int)void"); AcuniaAbstractListTest eal = new AcuniaAbstractListTest(); for (int i=0 ; i < 20 ; i++) { eal.v.add("a"+i); } try { eal.removeRange(10,25); th.fail("should throw an exception"); } catch(NoSuchElementException e) { th.check(true); } Vector v = (Vector) eal.v.clone(); eal.removeRange(10,10); th.check(eal.v.equals(v) , "nothing removed -- 1"); eal.removeRange(9,10); v.remove(9); th.check(eal.v.equals(v) , "one element removed"); eal.removeRange(5,7); v.remove(5); v.remove(5); th.debug("got v = "+v+", and eal.v = "+eal.v); th.check(eal.v.equals(v) , "two elements removed"); eal.removeRange(2,1); th.check(eal.v.equals(v) , "nothing removed -- 2"); try { eal.removeRange(-1,5); th.fail("should throw an exception"); } catch(IndexOutOfBoundsException e) { th.check(true); th.debug(e);} } /** * implemented.
* */ public void test_set(){ th.checkPoint("set(int,java.lang.Object)java.lang.Object"); AcuniaAbstractListTest eal = new AcuniaAbstractListTest(); eal.set_edit(false); eal.v.add("a"); try { eal.set(0,"b"); th.fail("should throw an UnsupportedOperationException"); } catch(UnsupportedOperationException uoe) { th.check(true);} } /** * implemented.
* Since the iterator is an innerclass we also test all iterator methods.
* - hasNext()
* - next()
* - remove()
*/ public void test_iterator(){ th.checkPoint("iterator()java.util.Iterator"); AcuniaAbstractListTest eal = new AcuniaAbstractListTest(); eal.set_updateMC(true); eal.v.add("a"); eal.v.add("b"); eal.v.add("c"); Iterator it = eal.iterator(); th.check( it.hasNext() , "true -- 1"); th.check( "a".equals(it.next()) , "order is important -- 1" ); th.check( it.hasNext() , "true -- 2"); th.check( "b".equals(it.next()) , "order is important -- 2" ); th.check( it.hasNext() , "true -- 3"); th.check( "c".equals(it.next()) , "order is important -- 3" ); th.check(! it.hasNext() , "false -- 4"); th.check(! it.hasNext() , "false -- 5"); try { it.next(); th.fail("should throw a NoSuchElementException"); } catch(NoSuchElementException nse) { th.check(true); } eal.add("changed"); try { it.remove(); th.fail("should throw a ConcurrentModificationException -- 1"); } catch(ConcurrentModificationException cme) { th.check(true, "remove"); } try { it.next(); th.fail("should throw a ConcurrentModificationException -- 2"); } catch(ConcurrentModificationException cme) { th.check(true, "next"); } it = eal.iterator(); try { it.remove(); th.fail("should throw IllegalStateException"); } catch(IllegalStateException ise) { th.check(true); } try { th.debug(eal.v.toString()); it.next(); it.hasNext(); it.remove(); th.check(! eal.v.contains("a") && eal.v.size() == 3, "first element removed"); it.next(); it.remove(); th.check(! eal.v.contains("b") && eal.v.size() == 2, "second element removed"); it.next(); it.remove(); th.check(! eal.v.contains("c") && eal.v.size() == 1, "third element removed"); it.next(); it.remove(); th.check( eal.v.isEmpty(), "all are elements removed"); } catch (Exception e) { th.fail("got unexpected exception !, got "+e); } } /** * implemented.
* Since the listIterator is an innerclass we also test all iterator methods. */ public void test_listIterator(){ th.checkPoint("listIterator()java.util.ListIterator"); AcuniaAbstractListTest ll = new AcuniaAbstractListTest(); ll.set_updateMC(true); ListIterator li = ll.listIterator(); try { li.next(); th.fail("should throw a NoSuchElementException -- 1"); } catch(NoSuchElementException nsee) { th.check(true, "caught exeption -- 1"); } try { li.previous(); th.fail("should throw a NoSuchElementException -- 2"); } catch(NoSuchElementException nsee) { th.check(true, "caught exeption -- 2"); } th.check(!li.hasNext() , "no elements ... -- 1"); th.check(!li.hasPrevious() , "no elements ... -- 1"); th.check(li.nextIndex() , 0 ,"nextIndex == 0 -- 1"); th.check(li.previousIndex() , -1 ,"previousIndex == -1 -- 1"); li.add("a"); th.check(!li.hasNext() , "no elements ... -- 2"); th.check(li.hasPrevious() , "one element ... -- 2"); th.check(li.nextIndex() , 1 ,"nextIndex == 1 -- 2"); th.check(li.previousIndex() , 0 ,"previousIndex == 0 -- 2"); try { li.next(); th.fail("should throw a NoSuchElementException -- 3"); } catch(NoSuchElementException nsee) { th.check(true, "caught exeption -- 3"); } th.check("a".equals(li.previous()) , "checking previous element -- 1"); li.add(null); // th.debug(ll.toString()); th.check(li.previousIndex() , 0 ,"previousIndex == 0 -- 3"); th.check(li.previous() == null , "checking previous element -- 2"); th.check(li.next() == null , "checking next element -- 1"); li.add("b"); th.check("a".equals(li.next()) ,"checking next element -- 2"); li.add("c"); try { li.set("not"); th.fail("should throw a IllegalStateException -- 1"); } catch(IllegalStateException ise) { th.check(true, "caught exeption -- 4"); } th.check(!ll.contains("not"), "set should not have been executed"); try { li.remove(); th.fail("should throw a IllegalStateException -- 2"); } catch(IllegalStateException ise) { th.check(true, "caught exeption -- 5"); } th.check("c".equals(li.previous()) , "checking previous element -- 3"); li.set("new"); th.check("new".equals(li.next()) , "validating set"); li.set("not"); li.set("notOK"); li.remove(); try { li.set("not"); th.fail("should throw a IllegalStateException -- 3"); } catch(IllegalStateException ise) { th.check(true, "caught exeption -- 6"); } th.check(!ll.contains("not"), "set should not have been executed"); try { li.remove(); th.fail("should throw a IllegalStateException -- 4"); } catch(IllegalStateException ise) { th.check(true, "caught exeption -- 7"); } try { li.next(); th.fail("should throw a NoSuchElementException -- 4"); } catch(NoSuchElementException nsee) { th.check(true, "caught exeption -- 8"); } th.check("a",li.previous(),"checking on previous element"); li.remove(); try { li.set("not"); th.fail("should throw a IllegalStateException -- 5"); } catch(IllegalStateException ise) { th.check(true, "caught exeption -- 9"); } th.check(!ll.contains("not"), "set should not have been executed"); try { li.remove(); th.fail("should throw a IllegalStateException -- 6"); } catch(IllegalStateException ise) { th.check(true, "caught exeption -- 10"); } } /** * not implemented.
*/ public void test_subList(){ th.checkPoint("subList(int,int)List"); } /** * implemented.
* */ public void test_hashCode(){ th.checkPoint("hashCode()int"); AcuniaAbstractListTest eal = new AcuniaAbstractListTest(); th.check( eal.hashCode() == 1 , "hashCode of empty list is 1"); int hash=1; hash = hash*31+ "a".hashCode(); eal.v.add("a"); th.check( eal.hashCode() == hash , "checking hashCode algortihm -- 1"); hash = hash*31+ "adg".hashCode(); eal.v.add("adg"); th.check( eal.hashCode() == hash , "checking hashCode algortihm -- 2"); hash = hash*31; eal.v.add(null); th.check( eal.hashCode() == hash , "checking hashCode algortihm -- 3"); hash = hash*31+ this.hashCode(); eal.v.add(this); th.check( eal.hashCode() == hash , "checking hashCode algortihm -- 4"); } /** * implemented.
* */ public void test_equals(){ th.checkPoint("equals(java.lang.Object)boolean"); AcuniaAbstractListTest eal = new AcuniaAbstractListTest(); Vector v = new Vector(); th.check(! eal.equals(null) , "null is allowed"); th.check(! eal.equals(new Object()) , "not equal to an non-List Object"); th.check( eal.equals(v) , "equal == true -- 1"); eal.v.add(null); v.add(null); th.check( eal.equals(v) , "equal == true -- 2"); eal.v.add(this); v.add(this); th.check( eal.equals(v) , "equal == true -- 3"); eal.v.add("a"); v.add("b"); th.check(! eal.equals(v) , "equal != true -- 4"); eal.v.add("b"); v.add("a"); th.check(! eal.equals(v) , "equal != true -- 5"); eal.v.remove("a"); th.check(! eal.equals(v) , "equal != true -- 5"); } // The following fields and methods are needed to use this class as a test // for AbstractList. // private boolean edit=true; private boolean didRemoveRange=false; private boolean updateMC=false; private boolean sleepy=false; private int from = -1; private int to = -1; public Vector v = new Vector(); public AcuniaAbstractListTest(){ super(); } public int size() { if (sleepy){ try { Thread.sleep(150L); } catch(Exception e) {} } return v.size(); } public Object get(int idx) { return v.get(idx); } public int getMC() { return modCount; } public void set_edit(boolean b) { edit = b; } public void set_sleepy(boolean b) { sleepy = b; } public void set_updateMC(boolean b) { updateMC = b; } public void add(int idx, Object o) { if (edit) { if (updateMC) modCount++; v.add(idx , o); } else super.add(idx,o); } public Object remove(int idx) { if (edit) { if (updateMC) modCount++; return v.remove(idx); } return super.remove(idx); } public Object set(int idx , Object o) { if (edit) { return v.set(idx , o); } return super.set(idx , o); } public void removeRange(int fidx, int tidx) { didRemoveRange=true; to = tidx; from = fidx; super.removeRange(fidx, tidx); } public boolean get_dRR() { return didRemoveRange; } public void set_dRR(boolean b) { didRemoveRange = b; } public int get_to() { return to; } public int get_from() { return from; } } mauve-20140821/gnu/testlet/java/util/Arrays/0000755000175000001440000000000012375316426017372 5ustar dokousersmauve-20140821/gnu/testlet/java/util/Arrays/binarySearch.java0000644000175000001440000002047410547014275022652 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.java.util.Arrays; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Arrays; import java.util.Comparator; /** * Some tests for the binarySearch() method in the {@link Arrays} class. */ public class binarySearch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testByte(harness); testChar(harness); testDouble(harness); testFloat(harness); testInt(harness); testLong(harness); testObject(harness); testShort(harness); } private void testByte(TestHarness harness) { harness.checkPoint("Arrays.binarySearch(byte[], byte)"); byte[] b1 = new byte[] {1, 2, 3}; harness.check(Arrays.binarySearch(b1, (byte) 0) == -1); harness.check(Arrays.binarySearch(b1, (byte) 1) == 0); harness.check(Arrays.binarySearch(b1, (byte) 2) == 1); harness.check(Arrays.binarySearch(b1, (byte) 3) == 2); harness.check(Arrays.binarySearch(b1, (byte) 4) == -4); boolean pass = false; try { Arrays.binarySearch((byte[]) null, (byte) 0); } catch (NullPointerException e) { pass = true; } harness.check(pass); b1 = new byte[0]; harness.check(Arrays.binarySearch(b1, (byte)0), -1); } private void testChar(TestHarness harness) { harness.checkPoint("Arrays.binarySearch(char[], char)"); char[] b1 = new char[] {'1', '2', '3'}; harness.check(Arrays.binarySearch(b1, '0') == -1); harness.check(Arrays.binarySearch(b1, '1') == 0); harness.check(Arrays.binarySearch(b1, '2') == 1); harness.check(Arrays.binarySearch(b1, '3') == 2); harness.check(Arrays.binarySearch(b1, '4') == -4); boolean pass = false; try { Arrays.binarySearch((char[]) null, '0'); } catch (NullPointerException e) { pass = true; } harness.check(pass); b1 = new char[0]; harness.check(Arrays.binarySearch(b1, '0'), -1); } private void testDouble(TestHarness harness) { harness.checkPoint("Arrays.binarySearch(double[], double)"); double[] b1 = new double[] {1.0, 2.0, 3.0}; harness.check(Arrays.binarySearch(b1, 0.0) == -1); harness.check(Arrays.binarySearch(b1, 1.0) == 0); harness.check(Arrays.binarySearch(b1, 2.0) == 1); harness.check(Arrays.binarySearch(b1, 3.0) == 2); harness.check(Arrays.binarySearch(b1, 4.0) == -4); boolean pass = false; try { Arrays.binarySearch((double[]) null, 0.0); } catch (NullPointerException e) { pass = true; } harness.check(pass); b1 = new double[0]; harness.check(Arrays.binarySearch(b1, 0.0), -1); } private void testFloat(TestHarness harness) { harness.checkPoint("Arrays.binarySearch(float[], float)"); float[] b1 = new float[] {1.0f, 2.0f, 3.0f}; harness.check(Arrays.binarySearch(b1, 0.0f) == -1); harness.check(Arrays.binarySearch(b1, 1.0f) == 0); harness.check(Arrays.binarySearch(b1, 2.0f) == 1); harness.check(Arrays.binarySearch(b1, 3.0f) == 2); harness.check(Arrays.binarySearch(b1, 4.0f) == -4); boolean pass = false; try { Arrays.binarySearch((float[]) null, 0.0f); } catch (NullPointerException e) { pass = true; } harness.check(pass); b1 = new float[0]; harness.check(Arrays.binarySearch(b1, 0.0f), -1); } private void testInt(TestHarness harness) { harness.checkPoint("Arrays.binarySearch(int[], int)"); int[] b1 = new int[] {1, 2, 3}; harness.check(Arrays.binarySearch(b1, 0) == -1); harness.check(Arrays.binarySearch(b1, 1) == 0); harness.check(Arrays.binarySearch(b1, 2) == 1); harness.check(Arrays.binarySearch(b1, 3) == 2); harness.check(Arrays.binarySearch(b1, 4) == -4); boolean pass = false; try { Arrays.binarySearch((int[]) null, 0); } catch (NullPointerException e) { pass = true; } harness.check(pass); b1 = new int[0]; harness.check(Arrays.binarySearch(b1, 0), -1); } private void testLong(TestHarness harness) { harness.checkPoint("Arrays.binarySearch(long[], long)"); long[] b1 = new long[] {1, 2, 3}; harness.check(Arrays.binarySearch(b1, 0) == -1); harness.check(Arrays.binarySearch(b1, 1) == 0); harness.check(Arrays.binarySearch(b1, 2) == 1); harness.check(Arrays.binarySearch(b1, 3) == 2); harness.check(Arrays.binarySearch(b1, 4) == -4); boolean pass = false; try { Arrays.binarySearch((long[]) null, 0); } catch (NullPointerException e) { pass = true; } harness.check(pass); b1 = new long[0]; harness.check(Arrays.binarySearch(b1, 0), -1); } private void testObject(TestHarness harness) { harness.checkPoint("Arrays.binarySearch(Object[], Object)"); Object[] b1 = new Object[] {"1", "2", "3"}; harness.check(Arrays.binarySearch(b1, "0") == -1); harness.check(Arrays.binarySearch(b1, "1") == 0); harness.check(Arrays.binarySearch(b1, "2") == 1); harness.check(Arrays.binarySearch(b1, "3") == 2); harness.check(Arrays.binarySearch(b1, "4") == -4); // searching for null throws NullPointerException boolean pass = false; try { Arrays.binarySearch(b1, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { Arrays.binarySearch((Object[]) null, "0"); } catch (NullPointerException e) { pass = true; } harness.check(pass); harness.checkPoint("Arrays.binarySearch(Object[], Object, Comparator)"); harness.check(Arrays.binarySearch(b1, "0", (Comparator) null) == -1); harness.check(Arrays.binarySearch(b1, "1", (Comparator) null) == 0); harness.check(Arrays.binarySearch(b1, "2", (Comparator) null) == 1); harness.check(Arrays.binarySearch(b1, "3", (Comparator) null) == 2); harness.check(Arrays.binarySearch(b1, "4", (Comparator) null) == -4); Arrays.sort(b1, new ReverseComparator()); harness.check(Arrays.binarySearch(b1, "0", new ReverseComparator()) == -4); harness.check(Arrays.binarySearch(b1, "1", new ReverseComparator()) == 2); harness.check(Arrays.binarySearch(b1, "2", new ReverseComparator()) == 1); harness.check(Arrays.binarySearch(b1, "3", new ReverseComparator()) == 0); harness.check(Arrays.binarySearch(b1, "4", new ReverseComparator()) == -1); b1 = new Object[0]; harness.check(Arrays.binarySearch(b1, ""), -1); } private void testShort(TestHarness harness) { harness.checkPoint("Arrays.binarySearch(short[], short)"); short[] b1 = new short[] {1, 2, 3}; harness.check(Arrays.binarySearch(b1, (short) 0) == -1); harness.check(Arrays.binarySearch(b1, (short) 1) == 0); harness.check(Arrays.binarySearch(b1, (short) 2) == 1); harness.check(Arrays.binarySearch(b1, (short) 3) == 2); harness.check(Arrays.binarySearch(b1, (short) 4) == -4); boolean pass = false; try { Arrays.binarySearch((short[]) null, (short) 0); } catch (NullPointerException e) { pass = true; } harness.check(pass); b1 = new short[0]; harness.check(Arrays.binarySearch(b1, (short)0), -1); } static class ReverseComparator implements Comparator { public int compare(Object o1, Object o2) { int i1 = Integer.valueOf(o1.toString()).intValue(); int i2 = Integer.valueOf(o2.toString()).intValue(); return (i2 - i1); } } } mauve-20140821/gnu/testlet/java/util/Arrays/equals.java0000644000175000001440000001562010113727136021523 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Daniel Bonniot // 2004 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.Arrays; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Arrays; public class equals implements Testlet { public void test (TestHarness harness) { final String[] a1 = { "", null }; final String[] a2 = { "", null }; harness.check(Arrays.equals(a1, a2)); // added by David Gilbert testBoolean(harness); testByte(harness); testChar(harness); testDouble(harness); testFloat(harness); testInt(harness); testLong(harness); testObject(harness); testShort(harness); } private void testBoolean(TestHarness harness) { harness.checkPoint("Arrays.equals(boolean[], boolean[]"); harness.check(Arrays.equals((boolean[]) null, (boolean[]) null)); boolean[] b1 = new boolean[] {true, false}; boolean[] b2 = new boolean[] {true, false}; boolean[] b3 = new boolean[] {false, true}; boolean[] b4 = new boolean[] {true}; boolean[] b5 = new boolean[] {true, false, false}; boolean[] b6 = null; harness.check(Arrays.equals(b1, b2)); harness.check(!Arrays.equals(b1, b3)); harness.check(!Arrays.equals(b1, b4)); harness.check(!Arrays.equals(b1, b5)); harness.check(!Arrays.equals(b1, b6)); } private void testByte(TestHarness harness) { harness.checkPoint("Arrays.equals(byte[], byte[]"); harness.check(Arrays.equals((byte[]) null, (byte[]) null)); byte[] b1 = new byte[] {1, 0}; byte[] b2 = new byte[] {1, 0}; byte[] b3 = new byte[] {0, 1}; byte[] b4 = new byte[] {1}; byte[] b5 = new byte[] {1, 0, 0}; byte[] b6 = null; harness.check(Arrays.equals(b1, b2)); harness.check(!Arrays.equals(b1, b3)); harness.check(!Arrays.equals(b1, b4)); harness.check(!Arrays.equals(b1, b5)); harness.check(!Arrays.equals(b1, b6)); } private void testChar(TestHarness harness) { harness.checkPoint("Arrays.equals(char[], char[]"); harness.check(Arrays.equals((char[]) null, (char[]) null)); char[] b1 = new char[] {'1', '0'}; char[] b2 = new char[] {'1', '0'}; char[] b3 = new char[] {'0', '1'}; char[] b4 = new char[] {'1'}; char[] b5 = new char[] {'1', '0', '0'}; char[] b6 = null; harness.check(Arrays.equals(b1, b2)); harness.check(!Arrays.equals(b1, b3)); harness.check(!Arrays.equals(b1, b4)); harness.check(!Arrays.equals(b1, b5)); harness.check(!Arrays.equals(b1, b6)); } private void testDouble(TestHarness harness) { harness.checkPoint("Arrays.equals(double[], double[]"); harness.check(Arrays.equals((double[]) null, (double[]) null)); double[] b1 = new double[] {1, 0}; double[] b2 = new double[] {1, 0}; double[] b3 = new double[] {0, 1}; double[] b4 = new double[] {1}; double[] b5 = new double[] {1, 0, 0}; double[] b6 = null; harness.check(Arrays.equals(b1, b2)); harness.check(!Arrays.equals(b1, b3)); harness.check(!Arrays.equals(b1, b4)); harness.check(!Arrays.equals(b1, b5)); harness.check(!Arrays.equals(b1, b6)); } private void testFloat(TestHarness harness) { harness.checkPoint("Arrays.equals(float[], float[]"); harness.check(Arrays.equals((float[]) null, (float[]) null)); float[] b1 = new float[] {1, 0}; float[] b2 = new float[] {1, 0}; float[] b3 = new float[] {0, 1}; float[] b4 = new float[] {1}; float[] b5 = new float[] {1, 0, 0}; float[] b6 = null; harness.check(Arrays.equals(b1, b2)); harness.check(!Arrays.equals(b1, b3)); harness.check(!Arrays.equals(b1, b4)); harness.check(!Arrays.equals(b1, b5)); harness.check(!Arrays.equals(b1, b6)); } private void testInt(TestHarness harness) { harness.checkPoint("Arrays.equals(int[], int[]"); harness.check(Arrays.equals((int[]) null, (int[]) null)); int[] b1 = new int[] {1, 0}; int[] b2 = new int[] {1, 0}; int[] b3 = new int[] {0, 1}; int[] b4 = new int[] {1}; int[] b5 = new int[] {1, 0, 0}; int[] b6 = null; harness.check(Arrays.equals(b1, b2)); harness.check(!Arrays.equals(b1, b3)); harness.check(!Arrays.equals(b1, b4)); harness.check(!Arrays.equals(b1, b5)); harness.check(!Arrays.equals(b1, b6)); } private void testLong(TestHarness harness) { harness.checkPoint("Arrays.equals(long[], long[]"); harness.check(Arrays.equals((long[]) null, (long[]) null)); long[] b1 = new long[] {1, 0}; long[] b2 = new long[] {1, 0}; long[] b3 = new long[] {0, 1}; long[] b4 = new long[] {1}; long[] b5 = new long[] {1, 0, 0}; long[] b6 = null; harness.check(Arrays.equals(b1, b2)); harness.check(!Arrays.equals(b1, b3)); harness.check(!Arrays.equals(b1, b4)); harness.check(!Arrays.equals(b1, b5)); harness.check(!Arrays.equals(b1, b6)); } private void testObject(TestHarness harness) { harness.checkPoint("Arrays.equals(Object[], Object[]"); harness.check(Arrays.equals((Object[]) null, (Object[]) null)); Object[] b1 = new Object[] {"1", "0", null}; Object[] b2 = new Object[] {"1", "0", null}; Object[] b3 = new Object[] {"0", "1"}; Object[] b4 = new Object[] {"1"}; Object[] b5 = new Object[] {"1", "0", "0"}; Object[] b6 = new Object[] {"1", "0", null, "0"}; Object[] b7 = null; harness.check(Arrays.equals(b1, b2)); harness.check(!Arrays.equals(b1, b3)); harness.check(!Arrays.equals(b1, b4)); harness.check(!Arrays.equals(b1, b5)); harness.check(!Arrays.equals(b1, b6)); harness.check(!Arrays.equals(b1, b7)); } private void testShort(TestHarness harness) { harness.checkPoint("Arrays.equals(short[], short[]"); harness.check(Arrays.equals((short[]) null, (short[]) null)); short[] b1 = new short[] {1, 0}; short[] b2 = new short[] {1, 0}; short[] b3 = new short[] {0, 1}; short[] b4 = new short[] {1}; short[] b5 = new short[] {1, 0, 0}; short[] b6 = null; harness.check(Arrays.equals(b1, b2)); harness.check(!Arrays.equals(b1, b3)); harness.check(!Arrays.equals(b1, b4)); harness.check(!Arrays.equals(b1, b5)); harness.check(!Arrays.equals(b1, b6)); } } mauve-20140821/gnu/testlet/java/util/Arrays/sort.java0000644000175000001440000003700310113727136021217 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2004 David Gilbert // // [Note: original file had no copyright notice - I've added the following // methods: testByte(), testChar(), testDouble(), testFloat(), testInt(), // testLong(), testObject() and testShort(). The original was written by // Tom Tromey, with extra tests added by John Leuner] // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.Arrays; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Arrays; import java.util.Comparator; import java.util.Random; public class sort implements Testlet { private static boolean isSorted(int[] array) { for (int i = 1; i < array.length; ++i) { if (array[i-1] > array[i]) return false; } return true; } private static boolean isSorted(float[] array) { for (int i = 1; i < array.length; ++i) { if (array[i-1] > array[i]) return false; } return true; } public void test (TestHarness harness) { int n = 100; int bound = 200; int times = 10; int[] A = new int[n]; Random rand = new Random(); int i = 0; for (; i < times; ++i) { for (int j = 0; j < n; ++j) A[j] = rand.nextInt(bound); Arrays.sort(A); harness.check (isSorted (A)); } test_quicksort(harness); // these methods added by DG testByte(harness); testChar(harness); testDouble(harness); testFloat(harness); testInt(harness); testLong(harness); testObject(harness); testShort(harness); } public void test_quicksort(TestHarness harness) { float[] float_array = { 7.3f, 20000.7f, 343f, 24f, 0.000004f, 1e09f, 44, 44, 44, 44, 44, 44, 44, 44 }; java.util.Arrays.sort(float_array); harness.check(isSorted(float_array)); float[] float_array2 = { 7.3f, 20000.7f, 21.2f, 343f, 24f, 0.000004f, 1e09f }; java.util.Arrays.sort(float_array2); harness.check(isSorted(float_array2)); int[] iarray1 = { 1, 2, 3, 4, 5, 6, 7, 8}; java.util.Arrays.sort(iarray1); harness.check(isSorted(iarray1)); int[] iarray2 = { 8, 7, 6, 5, 4, 3, 2, 1}; java.util.Arrays.sort(iarray2); harness.check(isSorted(iarray2)); int[] iarray3 = { 8, 7, 6, 5, 11, 3, 2, 1}; java.util.Arrays.sort(iarray3); harness.check(isSorted(iarray3)); } private void testByte(TestHarness harness) { harness.checkPoint("Arrays.sort(byte[])"); byte[] a1 = new byte[] {3, 1, 2}; Arrays.sort(a1); harness.check(a1[0] == 1); harness.check(a1[1] == 2); harness.check(a1[2] == 3); boolean pass = false; try { Arrays.sort((byte[]) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); harness.checkPoint("Arrays.sort(byte[], int, int)"); byte[] a2 = new byte[] {4, 3, 1, 2, 0}; Arrays.sort(a2, 1, 4); harness.check(a2[0] == 4); harness.check(a2[1] == 1); harness.check(a2[2] == 2); harness.check(a2[3] == 3); harness.check(a2[4] == 0); pass = false; try { Arrays.sort((byte[]) null, 1, 4); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { Arrays.sort(a2, 1, 0); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); pass = false; try { Arrays.sort(a2, -1, 0); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { Arrays.sort(a2, 0, 6); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testChar(TestHarness harness) { harness.checkPoint("Arrays.sort(char[])"); char[] a1 = new char[] {'3', '1', '2'}; Arrays.sort(a1); harness.check(a1[0] == '1'); harness.check(a1[1] == '2'); harness.check(a1[2] == '3'); boolean pass = false; try { Arrays.sort((char[]) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); harness.checkPoint("Arrays.sort(char[], int, int)"); char[] a2 = new char[] {'4', '3', '1', '2', '0'}; Arrays.sort(a2, 1, 4); harness.check(a2[0] == '4'); harness.check(a2[1] == '1'); harness.check(a2[2] == '2'); harness.check(a2[3] == '3'); harness.check(a2[4] == '0'); pass = false; try { Arrays.sort((char[]) null, 1, 4); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { Arrays.sort(a2, 1, 0); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); pass = false; try { Arrays.sort(a2, -1, 0); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { Arrays.sort(a2, 0, 6); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testDouble(TestHarness harness) { harness.checkPoint("Arrays.sort(double[])"); double[] a1 = new double[] {3, 1, 2}; Arrays.sort(a1); harness.check(a1[0] == 1); harness.check(a1[1] == 2); harness.check(a1[2] == 3); boolean pass = false; try { Arrays.sort((double[]) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); harness.checkPoint("Arrays.sort(double[], int, int)"); double[] a2 = new double[] {4, 3, 1, 2, 0}; Arrays.sort(a2, 1, 4); harness.check(a2[0] == 4); harness.check(a2[1] == 1); harness.check(a2[2] == 2); harness.check(a2[3] == 3); harness.check(a2[4] == 0); pass = false; try { Arrays.sort((double[]) null, 1, 4); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { Arrays.sort(a2, 1, 0); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); pass = false; try { Arrays.sort(a2, -1, 0); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { Arrays.sort(a2, 0, 6); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testFloat(TestHarness harness) { harness.checkPoint("Arrays.sort(float[])"); float[] a1 = new float[] {3, 1, 2}; Arrays.sort(a1); harness.check(a1[0] == 1); harness.check(a1[1] == 2); harness.check(a1[2] == 3); boolean pass = false; try { Arrays.sort((float[]) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); harness.checkPoint("Arrays.sort(float[], int, int)"); float[] a2 = new float[] {4, 3, 1, 2, 0}; Arrays.sort(a2, 1, 4); harness.check(a2[0] == 4); harness.check(a2[1] == 1); harness.check(a2[2] == 2); harness.check(a2[3] == 3); harness.check(a2[4] == 0); pass = false; try { Arrays.sort((float[]) null, 1, 4); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { Arrays.sort(a2, 1, 0); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); pass = false; try { Arrays.sort(a2, -1, 0); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { Arrays.sort(a2, 0, 6); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testInt(TestHarness harness) { harness.checkPoint("Arrays.sort(int[])"); int[] a1 = new int[] {3, 1, 2}; Arrays.sort(a1); harness.check(a1[0] == 1); harness.check(a1[1] == 2); harness.check(a1[2] == 3); boolean pass = false; try { Arrays.sort((int[]) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); harness.checkPoint("Arrays.sort(int[], int, int)"); int[] a2 = new int[] {4, 3, 1, 2, 0}; Arrays.sort(a2, 1, 4); harness.check(a2[0] == 4); harness.check(a2[1] == 1); harness.check(a2[2] == 2); harness.check(a2[3] == 3); harness.check(a2[4] == 0); pass = false; try { Arrays.sort((int[]) null, 1, 4); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { Arrays.sort(a2, 1, 0); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); pass = false; try { Arrays.sort(a2, -1, 0); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { Arrays.sort(a2, 0, 6); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testLong(TestHarness harness) { harness.checkPoint("Arrays.sort(long[])"); long[] a1 = new long[] {3, 1, 2}; Arrays.sort(a1); harness.check(a1[0] == 1); harness.check(a1[1] == 2); harness.check(a1[2] == 3); boolean pass = false; try { Arrays.sort((long[]) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); harness.checkPoint("Arrays.sort(long[], int, int)"); long[] a2 = new long[] {4, 3, 1, 2, 0}; Arrays.sort(a2, 1, 4); harness.check(a2[0] == 4); harness.check(a2[1] == 1); harness.check(a2[2] == 2); harness.check(a2[3] == 3); harness.check(a2[4] == 0); pass = false; try { Arrays.sort((long[]) null, 1, 4); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { Arrays.sort(a2, 1, 0); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); pass = false; try { Arrays.sort(a2, -1, 0); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { Arrays.sort(a2, 0, 6); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testObject(TestHarness harness) { harness.checkPoint("Arrays.sort(Object[])"); Object[] a1 = new Object[] {"3", "1", "2"}; Arrays.sort(a1); harness.check(a1[0].equals("1")); harness.check(a1[1].equals("2")); harness.check(a1[2].equals("3")); boolean pass = false; try { Arrays.sort((Object[]) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); harness.checkPoint("Arrays.sort(Object[], int, int)"); Object[] a2 = new Object[] {"4", "3", "1", "2", "0"}; Arrays.sort(a2, 1, 4); harness.check(a2[0].equals("4")); harness.check(a2[1].equals("1")); harness.check(a2[2].equals("2")); harness.check(a2[3].equals("3")); harness.check(a2[4].equals("0")); pass = false; try { Arrays.sort((Object[]) null, 1, 4); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { Arrays.sort(a2, 1, 0); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); pass = false; try { Arrays.sort(a2, -1, 0); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { Arrays.sort(a2, 0, 6); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); harness.checkPoint("Arrays.sort(Object[], Comparator)"); Object[] a3 = new Object[] {"4", "5", "3", "1", "2"}; Arrays.sort(a3, (Comparator) null); harness.check(a3[0].equals("1")); harness.check(a3[1].equals("2")); harness.check(a3[2].equals("3")); harness.check(a3[3].equals("4")); harness.check(a3[4].equals("5")); Arrays.sort(a3, new ReverseComparator()); harness.check(a3[0].equals("5")); harness.check(a3[1].equals("4")); harness.check(a3[2].equals("3")); harness.check(a3[3].equals("2")); harness.check(a3[4].equals("1")); harness.checkPoint("Arrays.sort(Object[], int, int, Comparator)"); Object[] a4 = new Object[] {"4", "5", "3", "1", "2"}; Arrays.sort(a4, 1, 4, (Comparator) null); harness.check(a4[0].equals("4")); harness.check(a4[1].equals("1")); harness.check(a4[2].equals("3")); harness.check(a4[3].equals("5")); harness.check(a4[4].equals("2")); Arrays.sort(a4, 1, 4, new ReverseComparator()); harness.check(a4[0].equals("4")); harness.check(a4[1].equals("5")); harness.check(a4[2].equals("3")); harness.check(a4[3].equals("1")); harness.check(a4[4].equals("2")); } private void testShort(TestHarness harness) { harness.checkPoint("Arrays.sort(short[])"); short[] a1 = new short[] {3, 1, 2}; Arrays.sort(a1); harness.check(a1[0] == 1); harness.check(a1[1] == 2); harness.check(a1[2] == 3); boolean pass = false; try { Arrays.sort((short[]) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); harness.checkPoint("Arrays.sort(short[], int, int)"); short[] a2 = new short[] {4, 3, 1, 2, 0}; Arrays.sort(a2, 1, 4); harness.check(a2[0] == 4); harness.check(a2[1] == 1); harness.check(a2[2] == 2); harness.check(a2[3] == 3); harness.check(a2[4] == 0); pass = false; try { Arrays.sort((short[]) null, 1, 4); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { Arrays.sort(a2, 1, 0); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); pass = false; try { Arrays.sort(a2, -1, 0); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { Arrays.sort(a2, 0, 6); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } static class ReverseComparator implements Comparator { public int compare(Object o1, Object o2) { int i1 = Integer.valueOf(o1.toString()).intValue(); int i2 = Integer.valueOf(o2.toString()).intValue(); return (i2 - i1); } } } mauve-20140821/gnu/testlet/java/util/Arrays/asList.java0000644000175000001440000000537110113727136021472 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.java.util.Arrays; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.Serializable; import java.util.Arrays; import java.util.List; import java.util.RandomAccess; /** * Some tests for the asList() method in the {@link Arrays} class. */ public class asList implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Object[] a1 = new Object[] {"1", "2", "3"}; List l1 = Arrays.asList(a1); // check that the list is the same as the array... harness.check(l1.size() == 3); harness.check(l1.get(0).equals("1")); harness.check(l1.get(1).equals("2")); harness.check(l1.get(2).equals("3")); harness.check(l1 instanceof RandomAccess); harness.check(l1 instanceof Serializable); // a change to the list updates the array... l1.set(1, "99"); harness.check(a1[1].equals("99")); // a change to the array updates the list... a1[1] = "100"; harness.check(l1.get(1).equals("100")); // check unsupported operations boolean pass = false; try { l1.add("new item"); } catch (UnsupportedOperationException e) { pass = true; } harness.check(pass); pass = false; try { l1.clear(); } catch (UnsupportedOperationException e) { pass = true; } harness.check(pass); try { l1.remove(0); } catch (UnsupportedOperationException e) { pass = true; } harness.check(pass); try { l1.remove("1"); } catch (UnsupportedOperationException e) { pass = true; } harness.check(pass); // check null argument pass = false; try { Arrays.asList(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/java/util/Arrays/fill.java0000644000175000001440000003562310113727136021164 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.Arrays; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Arrays; public class fill implements Testlet { public void test (TestHarness harness) { testBoolean(harness); testByte(harness); testChar(harness); testDouble(harness); testFloat(harness); testInt(harness); testLong(harness); testObject(harness); testShort(harness); } private void testBoolean(TestHarness harness) { harness.checkPoint("Arrays.fill(boolean[], boolean"); boolean[] b1 = new boolean[0]; boolean[] b2 = new boolean[1]; boolean[] b3 = new boolean[2]; Arrays.fill(b1, true); harness.check(b1.length == 0); Arrays.fill(b2, true); harness.check(b2[0] == true); Arrays.fill(b3, true); harness.check(b3[0] == true); harness.check(b3[1] == true); boolean pass = false; try { Arrays.fill((boolean[]) null, true); } catch (NullPointerException e) { pass = true; } harness.check(pass); harness.checkPoint("Arrays.fill(boolean[], int, int, boolean"); Arrays.fill(b1, 0, 0, false); Arrays.fill(b2, 0, 1, false); harness.check(b2[0] == false); Arrays.fill(b3, 1, 2, false); harness.check(b3[0] == true); harness.check(b3[1] == false); // from index should be <= toIndex pass = false; try { Arrays.fill(b3, 2, 1, false); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // from index should be >= 0 pass = false; try { Arrays.fill(b3, -1, 1, false); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // to index should be < array.length pass = false; try { Arrays.fill(b3, 0, 4, false); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testByte(TestHarness harness) { harness.checkPoint("Arrays.fill(byte[], byte"); byte[] b1 = new byte[0]; byte[] b2 = new byte[1]; byte[] b3 = new byte[2]; Arrays.fill(b1, (byte) 1); harness.check(b1.length == 0); Arrays.fill(b2, (byte) 1); harness.check(b2[0] == (byte) 1); Arrays.fill(b3, (byte) 1); harness.check(b3[0] == (byte) 1); harness.check(b3[1] == (byte) 1); boolean pass = false; try { Arrays.fill((byte[]) null, (byte) 1); } catch (NullPointerException e) { pass = true; } harness.check(pass); harness.checkPoint("Arrays.fill(byte[], int, int, byte"); Arrays.fill(b1, 0, 0, (byte) 2); Arrays.fill(b2, 0, 1, (byte) 2); harness.check(b2[0] == (byte) 2); Arrays.fill(b3, 1, 2, (byte) 2); harness.check(b3[0] == (byte) 1); harness.check(b3[1] == (byte) 2); // from index should be <= toIndex pass = false; try { Arrays.fill(b3, 2, 1, (byte) 0); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // from index should be >= 0 pass = false; try { Arrays.fill(b3, -1, 1, (byte) 0); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // to index should be < array.length pass = false; try { Arrays.fill(b3, 0, 4, (byte) 0); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testChar(TestHarness harness) { harness.checkPoint("Arrays.fill(char[], char"); char[] b1 = new char[0]; char[] b2 = new char[1]; char[] b3 = new char[2]; Arrays.fill(b1, 'A'); harness.check(b1.length == 0); Arrays.fill(b2, 'A'); harness.check(b2[0] == 'A'); Arrays.fill(b3, 'A'); harness.check(b3[0] == 'A'); harness.check(b3[1] == 'A'); boolean pass = false; try { Arrays.fill((char[]) null, 'A'); } catch (NullPointerException e) { pass = true; } harness.check(pass); harness.checkPoint("Arrays.fill(char[], int, int, char"); Arrays.fill(b1, 0, 0, 'B'); Arrays.fill(b2, 0, 1, 'B'); harness.check(b2[0] == 'B'); Arrays.fill(b3, 1, 2, 'B'); harness.check(b3[0] == 'A'); harness.check(b3[1] == 'B'); // from index should be <= toIndex pass = false; try { Arrays.fill(b3, 2, 1, 'B'); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // from index should be >= 0 pass = false; try { Arrays.fill(b3, -1, 1, 'B'); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // to index should be < array.length pass = false; try { Arrays.fill(b3, 0, 4, 'B'); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testDouble(TestHarness harness) { harness.checkPoint("Arrays.fill(double[], double"); double[] b1 = new double[0]; double[] b2 = new double[1]; double[] b3 = new double[2]; Arrays.fill(b1, 1.0); harness.check(b1.length == 0); Arrays.fill(b2, 1.0); harness.check(b2[0] == 1.0); Arrays.fill(b3, 1.0); harness.check(b3[0] == 1.0); harness.check(b3[1] == 1.0); boolean pass = false; try { Arrays.fill((double[]) null, 1.0); } catch (NullPointerException e) { pass = true; } harness.check(pass); harness.checkPoint("Arrays.fill(double[], int, int, double"); Arrays.fill(b1, 0, 0, 2.0); Arrays.fill(b2, 0, 1, 2.0); harness.check(b2[0] == 2.0); Arrays.fill(b3, 1, 2, 2.0); harness.check(b3[0] == 1.0); harness.check(b3[1] == 2.0); // from index should be <= toIndex pass = false; try { Arrays.fill(b3, 2, 1, 2.0); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // from index should be >= 0 pass = false; try { Arrays.fill(b3, -1, 1, 2.0); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // to index should be < array.length pass = false; try { Arrays.fill(b3, 0, 4, 2.0); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testFloat(TestHarness harness) { harness.checkPoint("Arrays.fill(float[], float"); float[] b1 = new float[0]; float[] b2 = new float[1]; float[] b3 = new float[2]; Arrays.fill(b1, 1.0f); harness.check(b1.length == 0); Arrays.fill(b2, 1.0f); harness.check(b2[0] == 1.0f); Arrays.fill(b3, 1.0f); harness.check(b3[0] == 1.0f); harness.check(b3[1] == 1.0f); boolean pass = false; try { Arrays.fill((float[]) null, 1.0f); } catch (NullPointerException e) { pass = true; } harness.check(pass); harness.checkPoint("Arrays.fill(float[], int, int, float"); Arrays.fill(b1, 0, 0, 2.0f); Arrays.fill(b2, 0, 1, 2.0f); harness.check(b2[0] == 2.0f); Arrays.fill(b3, 1, 2, 2.0f); harness.check(b3[0] == 1.0); harness.check(b3[1] == 2.0); // from index should be <= toIndex pass = false; try { Arrays.fill(b3, 2, 1, 2.0f); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // from index should be >= 0 pass = false; try { Arrays.fill(b3, -1, 1, 2.0f); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // to index should be < array.length pass = false; try { Arrays.fill(b3, 0, 4, 2.0f); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testInt(TestHarness harness) { harness.checkPoint("Arrays.fill(int[], int"); int[] b1 = new int[0]; int[] b2 = new int[1]; int[] b3 = new int[2]; Arrays.fill(b1, 1); harness.check(b1.length == 0); Arrays.fill(b2, 1); harness.check(b2[0] == 1); Arrays.fill(b3, 1); harness.check(b3[0] == 1); harness.check(b3[1] == 1); boolean pass = false; try { Arrays.fill((int[]) null, 1); } catch (NullPointerException e) { pass = true; } harness.check(pass); harness.checkPoint("Arrays.fill(int[], int, int, int"); Arrays.fill(b1, 0, 0, 2); Arrays.fill(b2, 0, 1, 2); harness.check(b2[0] == 2); Arrays.fill(b3, 1, 2, 2); harness.check(b3[0] == 1); harness.check(b3[1] == 2); // from index should be <= toIndex pass = false; try { Arrays.fill(b3, 2, 1, 2); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // from index should be >= 0 pass = false; try { Arrays.fill(b3, -1, 1, 2); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // to index should be < array.length pass = false; try { Arrays.fill(b3, 0, 4, 2); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testLong(TestHarness harness) { harness.checkPoint("Arrays.fill(long[], long"); long[] b1 = new long[0]; long[] b2 = new long[1]; long[] b3 = new long[2]; Arrays.fill(b1, 1); harness.check(b1.length == 0); Arrays.fill(b2, 1); harness.check(b2[0] == 1); Arrays.fill(b3, 1); harness.check(b3[0] == 1); harness.check(b3[1] == 1); boolean pass = false; try { Arrays.fill((long[]) null, 1); } catch (NullPointerException e) { pass = true; } harness.check(pass); harness.checkPoint("Arrays.fill(long[], int, int, long"); Arrays.fill(b1, 0, 0, 2); Arrays.fill(b2, 0, 1, 2); harness.check(b2[0] == 2); Arrays.fill(b3, 1, 2, 2); harness.check(b3[0] == 1); harness.check(b3[1] == 2); // from index should be <= toIndex pass = false; try { Arrays.fill(b3, 2, 1, 2); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // from index should be >= 0 pass = false; try { Arrays.fill(b3, -1, 1, 2); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // to index should be < array.length pass = false; try { Arrays.fill(b3, 0, 4, 2); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testObject(TestHarness harness) { harness.checkPoint("Arrays.fill(Object[], Object"); Object[] b1 = new Object[0]; Object[] b2 = new Object[1]; Object[] b3 = new Object[2]; Arrays.fill(b1, "1"); harness.check(b1.length == 0); Arrays.fill(b2, "1"); harness.check(b2[0] == "1"); Arrays.fill(b3, "1"); harness.check(b3[0] == "1"); harness.check(b3[1] == "1"); boolean pass = false; try { Arrays.fill((Object[]) null, "1"); } catch (NullPointerException e) { pass = true; } harness.check(pass); harness.checkPoint("Arrays.fill(Object[], int, int, long"); Arrays.fill(b1, 0, 0, "2"); Arrays.fill(b2, 0, 1, "2"); harness.check(b2[0] == "2"); Arrays.fill(b3, 1, 2, "2"); harness.check(b3[0] == "1"); harness.check(b3[1] == "2"); // from index should be <= toIndex pass = false; try { Arrays.fill(b3, 2, 1, "2"); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // from index should be >= 0 pass = false; try { Arrays.fill(b3, -1, 1, "2"); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // to index should be < array.length pass = false; try { Arrays.fill(b3, 0, 4, "2"); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testShort(TestHarness harness) { harness.checkPoint("Arrays.fill(short[], short"); short[] b1 = new short[0]; short[] b2 = new short[1]; short[] b3 = new short[2]; Arrays.fill(b1, (short) 1); harness.check(b1.length == 0); Arrays.fill(b2, (short) 1); harness.check(b2[0] == 1); Arrays.fill(b3, (short) 1); harness.check(b3[0] == 1); harness.check(b3[1] == 1); boolean pass = false; try { Arrays.fill((int[]) null, 1); } catch (NullPointerException e) { pass = true; } harness.check(pass); harness.checkPoint("Arrays.fill(short)[], int, int, short"); Arrays.fill(b1, 0, 0, (short) 2); Arrays.fill(b2, 0, 1, (short) 2); harness.check(b2[0] == 2); Arrays.fill(b3, 1, 2, (short) 2); harness.check(b3[0] == 1); harness.check(b3[1] == 2); // from index should be <= toIndex pass = false; try { Arrays.fill(b3, 2, 1, (short) 2); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // from index should be >= 0 pass = false; try { Arrays.fill(b3, -1, 1, (short) 2); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // to index should be < array.length pass = false; try { Arrays.fill(b3, 0, 4, (short) 2); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/util/Collections/0000755000175000001440000000000012375316426020407 5ustar dokousersmauve-20140821/gnu/testlet/java/util/Collections/binarySearch.java0000644000175000001440000001615410353477024023667 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.Collections; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.LinkedList; import java.util.List; import java.util.Vector; public class binarySearch implements Testlet { public void test(TestHarness harness) { // run tests on ArrayList harness.checkPoint("ArrayList"); genericTest(new ArrayList(), harness); // run tests on LinkedList harness.checkPoint("LinkedList"); genericTest(new LinkedList(), harness); // run tests on Vector harness.checkPoint("Vector"); genericTest(new Vector(), harness); // test for a known bug (10447) harness.checkPoint("10447"); testBug10447(harness); // comparison order harness.checkPoint("Compare Order"); testCompareOrder(new ArrayList(), harness); testCompareOrder(new LinkedList(), harness); } private void testCompareOrder(List list, TestHarness harness) { final boolean[] result = new boolean[] { false, false }; list.add(new Comparable() { public int compareTo(Object obj) { result[0] = true; return -1; } }); Collections.binarySearch(list, new Comparable() { public int compareTo(Object obj) { result[1] = true; return -1; } }); harness.check(result[0] && !result[1]); final Object obj1 = new Object(); final Object obj2 = new Object(); list.clear(); list.add(obj1); result[0] = false; Collections.binarySearch(list, obj2, new Comparator() { public int compare(Object o1, Object o2) { result[0] = (o1 == obj1 && o2 == obj2); return -1; } }); harness.check(result[0]); } private void genericTest(List list, TestHarness harness) { // search an empty list... list.clear(); int index = Collections.binarySearch(list, "A"); harness.check(index, -1); // search a list with one item... list.add("B"); index = Collections.binarySearch(list, "B"); harness.check(index, 0); index = Collections.binarySearch(list, "A"); // item that would go before "B" harness.check(index, -1); index = Collections.binarySearch(list, "C"); // item that would go after "B" harness.check(index, -2); // search a list with two items... list.add("D"); index = Collections.binarySearch(list, "A"); harness.check(index, -1); index = Collections.binarySearch(list, "B"); harness.check(index, 0); index = Collections.binarySearch(list, "C"); harness.check(index, -2); index = Collections.binarySearch(list, "D"); harness.check(index, 1); index = Collections.binarySearch(list, "E"); harness.check(index, -3); // search a list with three items... list.add("F"); index = Collections.binarySearch(list, "A"); harness.check(index, -1); index = Collections.binarySearch(list, "B"); harness.check(index, 0); index = Collections.binarySearch(list, "C"); harness.check(index, -2); index = Collections.binarySearch(list, "D"); harness.check(index, 1); index = Collections.binarySearch(list, "E"); harness.check(index, -3); index = Collections.binarySearch(list, "F"); harness.check(index, 2); index = Collections.binarySearch(list, "G"); harness.check(index, -4); // search some larger lists fillList(list, 1024); index = Collections.binarySearch(list, "00000"); harness.check(index, 0); index = Collections.binarySearch(list, "00123"); harness.check(index, 123); index = Collections.binarySearch(list, "00511"); harness.check(index, 511); index = Collections.binarySearch(list, "00512"); harness.check(index, 512); index = Collections.binarySearch(list, "00513"); harness.check(index, 513); index = Collections.binarySearch(list, "00789"); harness.check(index, 789); index = Collections.binarySearch(list, "01023"); harness.check(index, 1023); index = Collections.binarySearch(list, "01024"); harness.check(index, -1025); fillList(list, 12345); index = Collections.binarySearch(list, "00000"); harness.check(index, 0); index = Collections.binarySearch(list, "00123"); harness.check(index, 123); index = Collections.binarySearch(list, "00511"); harness.check(index, 511); index = Collections.binarySearch(list, "00512"); harness.check(index, 512); index = Collections.binarySearch(list, "00513"); harness.check(index, 513); index = Collections.binarySearch(list, "00789"); harness.check(index, 789); index = Collections.binarySearch(list, "01023"); harness.check(index, 1023); index = Collections.binarySearch(list, "12345"); harness.check(index, -12346); } private void fillList(List list, int itemCount) { list.clear(); for (int i = 0; i < itemCount; i++) { String s = String.valueOf(i); list.add("00000".substring(s.length()) + s); } } /** * A test for bug report 10447. * * @param harness the test harness. */ private void testBug10447(TestHarness harness) { List list = new LinkedList(); list.add("A"); list.add("B"); list.add("C"); list.add("D"); list.add("E"); list.add("F"); list.add("G"); list.add("H"); list.add("I"); list.add("J"); list.add("K"); list.add("L"); list.add("M"); list.add("N"); list.add("O"); list.add("P"); // this works int i = Collections.binarySearch(list, "E"); harness.check(i, 4); // this doesn't (bug seems to need at least 17 items to trigger) list.add("Q"); i = Collections.binarySearch(list, "E"); harness.check(i, 4); // but all is fine for ArrayList List list2 = new ArrayList(); list2.add("A"); list2.add("B"); list2.add("C"); list2.add("D"); list2.add("E"); list2.add("F"); list2.add("G"); list2.add("H"); list2.add("I"); list2.add("J"); list2.add("K"); list2.add("L"); list2.add("M"); list2.add("N"); list2.add("O"); list2.add("P"); // this works i = Collections.binarySearch(list2, "E"); harness.check(i, 4); // and this does too list2.add("Q"); i = Collections.binarySearch(list2, "E"); harness.check(i, 4); } } mauve-20140821/gnu/testlet/java/util/Collections/sort.java0000644000175000001440000001404310525127674022243 0ustar dokousers/* sort.java -- some checks for the sort() methods in the Collections class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.util.Collections; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class sort implements Testlet { public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("(List)"); List list = new ArrayList(); // sort an empty list - presumably all that can go wrong is that the code // throws some exception due to a coding error... boolean pass = true; try { Collections.sort(list); } catch (Exception e) { pass = false; } harness.check(pass); // sort a list containing just one item list = new ArrayList(); list.add("A"); Collections.sort(list); harness.check(list.size(), 1); harness.check(list.get(0), "A"); // sort a list containing two items list = new ArrayList(); list.add("B"); list.add("A"); Collections.sort(list); harness.check(list.size(), 2); harness.check(list.get(0), "A"); harness.check(list.get(1), "B"); // sort a list containing three items list = new ArrayList(); list.add("B"); list.add("A"); list.add("C"); Collections.sort(list); harness.check(list.size(), 3); harness.check(list.get(0), "A"); harness.check(list.get(1), "B"); harness.check(list.get(2), "C"); // sort a list with a null in it pass = false; try { list = new ArrayList(); list.add("B"); list.add("A"); list.add(null); Collections.sort(list); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check that equal items don't change order Object obj1 = new Integer(9500); Object obj2 = new Integer(9600); Object obj3 = new Integer(9500); Object obj4 = new Integer(9600); list = new ArrayList(); list.add(obj1); list.add(obj2); list.add(obj3); list.add(obj4); Collections.sort(list); harness.check(list.size(), 4); harness.check(list.get(0), obj1); harness.check(list.get(1), obj3); harness.check(list.get(2), obj2); harness.check(list.get(3), obj4); // try a null argument pass = false; try { Collections.sort(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } static class MyComparator implements Comparator { public int compare(Object obj0, Object obj1) { Comparable c0 = (Comparable) obj0; Comparable c1 = (Comparable) obj1; return -c0.compareTo(c1); } } public void testMethod2(TestHarness harness) { harness.checkPoint("(List, Comparator)"); List list = new ArrayList(); Comparator comparator = new MyComparator(); // sort an empty list - presumably all that can go wrong is that the code // throws some exception due to a coding error... boolean pass = true; try { Collections.sort(list, comparator); } catch (Exception e) { pass = false; } harness.check(pass); // sort a list containing just one item list = new ArrayList(); list.add("A"); Collections.sort(list, comparator); harness.check(list.size(), 1); harness.check(list.get(0), "A"); // sort a list containing two items list = new ArrayList(); list.add("B"); list.add("A"); Collections.sort(list, comparator); harness.check(list.size(), 2); harness.check(list.get(0), "B"); harness.check(list.get(1), "A"); // sort a list containing three items list = new ArrayList(); list.add("B"); list.add("A"); list.add("C"); Collections.sort(list, comparator); harness.check(list.size(), 3); harness.check(list.get(0), "C"); harness.check(list.get(1), "B"); harness.check(list.get(2), "A"); // sort a list with a null in it pass = false; try { list = new ArrayList(); list.add("B"); list.add("A"); list.add(null); Collections.sort(list, comparator); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check that equal items don't change order Object obj1 = new Integer(9500); Object obj2 = new Integer(9600); Object obj3 = new Integer(9500); Object obj4 = new Integer(9600); list = new ArrayList(); list.add(obj1); list.add(obj2); list.add(obj3); list.add(obj4); Collections.sort(list, comparator); harness.check(list.size(), 4); harness.check(list.get(0), obj2); harness.check(list.get(1), obj4); harness.check(list.get(2), obj1); harness.check(list.get(3), obj3); // try a null argument 1 pass = false; try { Collections.sort(null, comparator); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try a null argument 2 pass = true; try { Collections.sort(new ArrayList(), null); } catch (NullPointerException e) { pass = false; } harness.check(pass); } }mauve-20140821/gnu/testlet/java/util/Collections/unmodifiableList.java0000644000175000001440000000754310234171125024540 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.Collections; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Collections; import java.util.List; /** * Some checks for the unmodifiableList() method in the Collections class. */ public class unmodifiableList implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness. */ public void test(TestHarness harness) { // test an empty list harness.checkPoint("Empty List"); List list1 = new java.util.ArrayList(); testList(list1, harness); // test a non-empty list harness.checkPoint("Non-empty List"); List list2 = new java.util.ArrayList(); list2.add("A"); list2.add("B"); list2.add("C"); testList(list2, harness); // try a null list - the spec says that the argument should be non-null // but doesn't say what exception will be thrown if it is null (assuming // NullPointerException)... harness.checkPoint("Null List"); boolean pass = false; try { Collections.unmodifiableList(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } /** * Runs the test using the specified harness. * * @param list the list to test * @param harness the test harness. */ private void testList(List list, TestHarness harness) { List ulist = Collections.unmodifiableList(list); boolean pass = false; try { ulist.add("X"); } catch (UnsupportedOperationException e) { pass = true; } harness.check(pass); pass = false; try { ulist.add(0, "X"); } catch (UnsupportedOperationException e) { pass = true; } harness.check(pass); List otherList = new java.util.ArrayList(); otherList.add("Z"); pass = false; try { ulist.addAll(otherList); } catch (UnsupportedOperationException e) { pass = true; } harness.check(pass); pass = false; try { ulist.clear(); } catch (UnsupportedOperationException e) { pass = true; } harness.check(pass); pass = false; try { ulist.remove("X"); } catch (UnsupportedOperationException e) { pass = true; } harness.check(pass); pass = false; try { ulist.remove(0); } catch (UnsupportedOperationException e) { pass = true; } harness.check(pass); pass = false; try { ulist.removeAll(otherList); } catch (UnsupportedOperationException e) { pass = true; } harness.check(pass); pass = false; try { ulist.retainAll(otherList); } catch (UnsupportedOperationException e) { pass = true; } harness.check(pass); pass = false; try { ulist.set(0, "X"); } catch (UnsupportedOperationException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/util/Collections/min.java0000644000175000001440000000401010123401137022007 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.Collections; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.NoSuchElementException; public class min implements Testlet { public void test(TestHarness harness) { List list = new ArrayList(); // try an empty list boolean pass = false; try { Object m = Collections.min(list); } catch (NoSuchElementException e) { pass = true; } harness.check(true); // try a regular list list.add(new Integer(12)); list.add(new Integer(9)); list.add(new Integer(17)); harness.check(Collections.min(list).equals(new Integer(9))); // try a null list pass = false; try { Object ignore = Collections.min(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try a list with non-comparable items list.clear(); list.add("A"); list.add(new Long(1)); pass = false; try { Object ignore = Collections.min(list); } catch (ClassCastException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/util/Collections/reverseOrder.java0000644000175000001440000000240710123401137023703 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.Collections; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Arrays; import java.util.Collections; public class reverseOrder implements Testlet { public void test(TestHarness harness) { String[] a = new String[] {"A", "B", "C"}; Arrays.sort(a, Collections.reverseOrder()); harness.check(a[0].equals("C")); harness.check(a[1].equals("B")); harness.check(a[2].equals("A")); } } mauve-20140821/gnu/testlet/java/util/Collections/max.java0000644000175000001440000000400010123401137022010 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.Collections; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.NoSuchElementException; public class max implements Testlet { public void test(TestHarness harness) { List list = new ArrayList(); // try an empty list boolean pass = false; try { Object m = Collections.max(list); } catch (NoSuchElementException e) { pass = true; } harness.check(true); // try a regular list list.add(new Integer(12)); list.add(new Integer(9)); list.add(new Integer(17)); harness.check(Collections.max(list).equals(new Integer(17))); // try a null list pass = false; try { Object ignore = Collections.max(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try a list with non-comparable items list.clear(); list.add("A"); list.add(new Long(1)); pass = false; try { Object ignore = Collections.max(list); } catch (ClassCastException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/util/Collections/copy.java0000644000175000001440000000521110123401137022202 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.Collections; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class copy implements Testlet { public void test(TestHarness harness) { List l1 = new ArrayList(); List l2 = new ArrayList(); // copy empty list Collections.copy(l2, l1); harness.check(l2.isEmpty()); // copy a list with 1 item l1.add("A"); l2.add("B"); Collections.copy(l2, l1); harness.check(l2.get(0).equals("A")); // check that when destination is longer than source, the extra items are // preserved... l1 = new ArrayList(); l1.add("A"); l2 = new ArrayList(); l2.add("B"); l2.add("C"); l2.add("D"); Collections.copy(l2, l1); harness.check(l2.get(0).equals("A")); harness.check(l2.get(1).equals("C")); harness.check(l2.get(2).equals("D")); // test where destination is shorter than source l1 = new ArrayList(); l1.add("Item 1"); l2 = new ArrayList(); boolean pass = false; try { Collections.copy(l2, l1); } catch (IndexOutOfBoundsException e) { pass = true; } harness.check(pass); // test null argument 1 pass = false; try { Collections.copy(null, l1); } catch (NullPointerException e) { pass = true; } harness.check(pass); // test null argument 2 try { Collections.copy(l2, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try read-only destination l1 = new ArrayList(); l1.add("A"); l1.add("B"); l2 = new ArrayList(); l2.add("C"); l2.add("D"); l2 = Collections.unmodifiableList(l2); pass = false; try { Collections.copy(l2, l1); } catch (UnsupportedOperationException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/util/Collections/unmodifiableMap.java0000644000175000001440000000730110422726014024334 0ustar dokousers/* unmodifiableMap.java -- some checks for the unmodifiableMap() method in the Collections class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.util.Collections; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class unmodifiableMap implements Testlet { public void test(TestHarness harness) { harness.checkPoint("Empty map"); HashMap map = new HashMap(); testMap(map, harness); harness.checkPoint("Non-empty map"); map.put("A", "AA"); map.put("B", "BB"); map.put("C", "CC"); testMap(map, harness); harness.checkPoint("Null map"); boolean pass = false; try { Collections.unmodifiableMap(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } private void testMap(Map map, TestHarness harness) { Map umap = Collections.unmodifiableMap(map); // check clear() method boolean pass = false; try { umap.clear(); } catch (UnsupportedOperationException e) { pass = true; } harness.check(pass); // check put() method pass = false; try { umap.put("X", "Y"); } catch (UnsupportedOperationException e) { pass = true; } harness.check(pass); // check putAll() method HashMap map2 = new HashMap(); map2.put("ONE", new Integer(1)); pass = false; try { umap.putAll(map2); } catch (UnsupportedOperationException e) { pass = true; } harness.check(pass); // check the Map.Entry items from entrySet() pass = false; Iterator iterator = umap.entrySet().iterator(); if (iterator.hasNext()) { Map.Entry entry = (Map.Entry) iterator.next(); try { entry.setValue("XYZ"); } catch (UnsupportedOperationException e) { pass = true; } harness.check(pass); } // check a Map.Entry item from entrySet().toArray() pass = false; Object[] entries = umap.entrySet().toArray(); if (entries.length > 0) { try { ((Map.Entry) entries[0]).setValue("XYZ"); } catch (UnsupportedOperationException e) { pass = true; } harness.check(pass); } // check a Map.Entry item from entrySet().toArray(Object[]) pass = false; Object[] entries2 = new Object[umap.size()]; umap.entrySet().toArray(entries2); if (entries2.length > 0) { try { ((Map.Entry) entries2[0]).setValue("XYZ"); } catch (UnsupportedOperationException e) { pass = true; } harness.check(pass); } } } mauve-20140821/gnu/testlet/java/util/Collections/reverse.java0000644000175000001440000000402210123401137022702 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.Collections; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class reverse implements Testlet { public void test(TestHarness harness) { List list1 = new ArrayList(); list1.add("t"); list1.add("a"); list1.add("n"); list1.add("k"); list1.add("s"); List list2 = new ArrayList(); list2.add("s"); list2.add("k"); list2.add("n"); list2.add("a"); list2.add("t"); Collections.reverse(list1); harness.check(list1.equals(list2)); // check 1 // try an empty list list1 = new ArrayList(); Collections.reverse(list1); harness.check(list1.isEmpty()); // check 2 // try a null list boolean pass = false; try { Collections.reverse(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check 3 // try an unmodifiable list list1 = Collections.unmodifiableList(list1); pass = false; try { Collections.reverse(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check 4 } } mauve-20140821/gnu/testlet/java/util/Collections/nCopies.java0000644000175000001440000000552710123401137022642 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.Collections; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectInput; import java.io.ObjectInputStream; import java.io.ObjectOutput; import java.io.ObjectOutputStream; import java.util.Collections; import java.util.List; public class nCopies implements Testlet { public void test(TestHarness harness) { // try n = 0 List list = Collections.nCopies(0, "Y"); harness.check(list.isEmpty()); // try n > 0 list = Collections.nCopies(10, "X"); harness.check(list.size() == 10); harness.check(list.get(0).equals("X")); harness.check(list.get(9).equals("X")); // try n < 0 boolean pass = false; try { list = Collections.nCopies(-1, "X"); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try null object list = Collections.nCopies(3, null); harness.check(list.size() == 3); harness.check(list.get(0) == null); harness.check(list.get(1) == null); harness.check(list.get(2) == null); // confirm list is unmodifiable list = Collections.nCopies(10, "Y"); pass = false; try { list.add("Z"); } catch (UnsupportedOperationException e) { pass = true; } harness.check(pass); // the method should return a Serializable list testSerialization(harness); } private void testSerialization(TestHarness harness) { List list1 = Collections.nCopies(99, "X"); List list2 = null; try { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); ObjectOutput out = new ObjectOutputStream(buffer); out.writeObject(list1); out.close(); ObjectInput in = new ObjectInputStream( new ByteArrayInputStream(buffer.toByteArray()) ); list2 = (List) in.readObject(); in.close(); } catch (Exception e) { harness.debug(e); } harness.check(list1.equals(list2)); } } mauve-20140821/gnu/testlet/java/util/Collections/rotate.java0000644000175000001440000000404310123401137022530 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.Collections; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class rotate implements Testlet { public void test(TestHarness harness) { List list1 = new ArrayList(); list1.add("t"); list1.add("a"); list1.add("n"); list1.add("k"); list1.add("s"); List list2 = new ArrayList(); list2.add("s"); list2.add("t"); list2.add("a"); list2.add("n"); list2.add("k"); Collections.rotate(list1, -4); harness.check(list1.equals(list2)); // check 1 // try an empty list list1 = new ArrayList(); Collections.rotate(list1, 2); harness.check(list1.isEmpty()); // check 2 // try a null list boolean pass = false; try { Collections.rotate(null, 2); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check 3 // try an unmodifiable list list1 = Collections.unmodifiableList(list1); pass = false; try { Collections.rotate(null, 2); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check 4 } } mauve-20140821/gnu/testlet/java/util/Collections/fill.java0000644000175000001440000000433210123401137022161 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.Collections; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class fill implements Testlet { public void test(TestHarness harness) { List list = new ArrayList(); // fill empty list Collections.fill(list, "X"); harness.check(list.isEmpty()); // fill a list with 1 item list.add("A"); Collections.fill(list, "X"); harness.check(list.get(0).equals("X")); // fill a list with multiple items list = new ArrayList(); list.add("A"); list.add("B"); list.add("C"); Collections.fill(list, "X"); harness.check(list.get(0).equals("X")); harness.check(list.get(1).equals("X")); harness.check(list.get(2).equals("X")); // test null argument 1 boolean pass = false; try { Collections.fill(null, "X"); } catch (NullPointerException e) { pass = true; } harness.check(pass); // test null argument 2 Collections.fill(list, null); harness.check(list.get(0) == null); harness.check(list.get(1) == null); harness.check(list.get(2) == null); // try read-only destination list = new ArrayList(); list.add("A"); list.add("B"); list = Collections.unmodifiableList(list); pass = false; try { Collections.fill(list, "X"); } catch (UnsupportedOperationException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/util/regex/0000755000175000001440000000000012375316426017243 5ustar dokousersmauve-20140821/gnu/testlet/java/util/regex/Matcher/0000755000175000001440000000000012375316426020626 5ustar dokousersmauve-20140821/gnu/testlet/java/util/regex/Matcher/quoteReplacement.java0000644000175000001440000000251611555255742025014 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2011 Pekka Enberg // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.regex.Matcher; import gnu.testlet.*; import java.util.regex.*; public class quoteReplacement implements Testlet { private Matcher matcher; public void test (TestHarness harness) { try { Matcher.quoteReplacement(null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } harness.check(Matcher.quoteReplacement("hello, world"), "hello, world"); harness.check(Matcher.quoteReplacement("$"), "\\$"); harness.check(Matcher.quoteReplacement("\\"), "\\\\"); } } mauve-20140821/gnu/testlet/java/util/regex/Matcher/Regions.java0000644000175000001440000000303711012132627023064 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2008 Andrew John Hughes (gnu_andrew@member.fsf.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.regex.Matcher; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Regions implements Testlet { public void test (TestHarness harness) { String s = "food bar fool"; Matcher m = Pattern.compile("^foo.").matcher(s); harness.check(m.lookingAt(), "Match foo at start of " + s); harness.check(m.group(), "food"); m.reset(); m.region(9, s.length()); harness.check(m.lookingAt(), "Match foo at start of " + s.substring(9)); harness.check(m.group(), "fool"); m.reset(); m.region(9, 10); harness.check(m.lookingAt(), false, "Match foo at start of " + s.substring(9,10)); } } mauve-20140821/gnu/testlet/java/util/regex/Matcher/usePattern.java0000644000175000001440000000341011740711725023615 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2011 Red Hat, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.regex.Matcher; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.regex.Matcher; import java.util.regex.Pattern; public class usePattern implements Testlet { public void test (TestHarness harness) { Pattern pattern = Pattern.compile("^h"); Pattern pattern2 = Pattern.compile(".*o$"); Matcher matcher = pattern.matcher("hello"); harness.check(matcher.lookingAt(), "Match ^h with original pattern"); harness.check(!matcher.hitEnd(), "Matcher has not hit the end"); try { matcher.usePattern(null); harness.check(false, "Failed to throw IllegalArgumentException"); } catch (IllegalArgumentException e) { harness.check(true, "Threw IllegalArgumentException"); } harness.check(matcher.usePattern(pattern2) == matcher, "usePattern returns same matcher"); harness.check(matcher.lookingAt(), "Match .*o$ with new pattern"); harness.check(matcher.hitEnd(), "Matcher has hit end"); } } mauve-20140821/gnu/testlet/java/util/regex/Matcher/hitEnd.java0000644000175000001440000001101010470473316022671 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2006 Ito Kazumitsu (kaz@maczuka.gcd.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.regex.Matcher; import gnu.testlet.*; import java.util.regex.*; public class hitEnd implements Testlet { private TestHarness harness; // There seems to be some bug in gnu.java.util.regex and // Pattern object cannot be reused for more than one matchers. // So we compile the pattern string every time. private Pattern pattern; private String patternStr; private Matcher matcher; public void test (TestHarness harness) { this.harness = harness; try { patternStr = "abcd"; testFind("xyzabcd", false); testFind("XYZabcdxyz", false); testFind("xyzabc", true); testFind("xyzxyz", true); testMatches("abcd", false); testMatches("abc", true); testMatches("abcdxyz", false); testMatches("xyzabcd", false); testMatches("xyz", false); testLookingAt("abcd", false); testLookingAt("abcdxyz", false); testLookingAt("abc", true); testLookingAt("xyzabcd", false); patternStr = "abcd$"; testFind("xyzabcd", true); testFind("XYZabcdxyz", true); testFind("xyzabc", true); testFind("xyzxyz", true); testMatches("abcd", true); testMatches("abc", true); testMatches("abcdxyz", false); testMatches("xyzabcd", false); testMatches("xyz", false); testLookingAt("abcd", true); testLookingAt("abcdxyz", false); testLookingAt("abc", true); testLookingAt("xyzabcd", false); patternStr = "a+b"; testFind("xyzaaab", false); testFind("xyzaaabb", false); testFind("xyzaaa", true); testFind("xyzxyz", true); testMatches("aaab", false); testMatches("aaaa", true); testMatches("aaabx", false); testMatches("xaaab", false); testLookingAt("aaab", false); testLookingAt("aaaa", true); testLookingAt("aaabxyz", false); testLookingAt("xyzxyz", false); patternStr = "(?:a+b)|(?:aa)"; testFind("xyzaaab", false); testFind("xyzaa", true); testFind("xyzaaa", true); testFind("xyzaax", false); testMatches("aaab", false); testMatches("aaaa", true); testMatches("aa", true); testLookingAt("aaab", false); testLookingAt("aaaa", true); testLookingAt("aa", true); testLookingAt("aax", false); patternStr = "(?:aa)|(?:a+b)"; testFind("xyzaaab", false); testFind("xyzaa", false); testFind("xyzaaa", false); testFind("xyzaax", false); testMatches("aaab", false); testMatches("aaaa", true); testMatches("aa", false); testLookingAt("aaab", false); testLookingAt("aaaa", false); testLookingAt("aa", false); testLookingAt("aax", false); } catch(PatternSyntaxException pse) { harness.debug(pse); harness.check(false, pse.toString()); } } private void testFind(String s, boolean expected) { pattern = Pattern.compile(patternStr); matcher = pattern.matcher(s); matcher.find(); boolean result = matcher.hitEnd(); if (result != expected) debugMsg(s, "find", expected, result); harness.check(result == expected); } private void testMatches(String s, boolean expected) { pattern = Pattern.compile(patternStr); matcher = pattern.matcher(s); matcher.matches(); boolean result = matcher.hitEnd(); if (result != expected) debugMsg(s, "matches", expected, result); harness.check(result == expected); } private void testLookingAt(String s, boolean expected) { pattern = Pattern.compile(patternStr); matcher = pattern.matcher(s); matcher.lookingAt(); boolean result = matcher.hitEnd(); if (result != expected) debugMsg(s, "lookingAt", expected, result); harness.check(result == expected); } private void debugMsg(String s, String method, boolean expected, boolean result) { harness.debug("pattern=" + pattern.pattern() + " input=" + s + " method=" + method + " matcher=" + matcher + " expected=" + expected + " hitEnd=" + result); } } mauve-20140821/gnu/testlet/java/util/regex/PatternSplit.java0000644000175000001440000001061410202227056022524 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004, 2005 Mark Wielaard // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.regex; import gnu.testlet.*; import java.util.Arrays; import java.util.regex.*; public class PatternSplit implements Testlet { private TestHarness harness; public void test (TestHarness harness) { this.harness = harness; test("@", "test@example.com", new String[] { "test", "example.com" }); test("\\.", "192.168.0.1", new String[] { "192", "168", "0", "1" }); test(",", "a,b,c,d,e", new String[] { "a", "b", "c", "d", "e" }); test("-", "a-", new String[] { "a", "" }); test(";", ";b", new String[] { "", "b" }); test(":", ":b:", new String[] { "", "b", "" }); test(" ", " ", new String[] { "", "" }); test("0", "00", new String[] { "", "", "" }); test(",", "a,b,c,d,e", new String[] { "a", "b", "c", "d", "e" }); test("\\w", "a,b,c,d,e", new String[] { "", ",", ",", ",", ",", "" }); test("\\d+", "123,456,789", new String[] { "", ",", ",", "" }); test("[^a-z]", "abc1defZghi", new String[] { "abc", "def", "ghi" }); test("^[a-c]", "abc", new String[] { "", "bc" }); test("[a-c]$", "abc", new String[] { "ab", "" }); test("(?=[a-z])", "123abc", new String[] { "123", "a", "b", "c" }); test(",", "a,,,b", new String[] { "a", "", "", "b" }); // No match test("waku", "", new String[] { "" }); test("waku", "wapu", new String[] { "wapu" }); test("\\d+", "abc,def", new String[] { "abc,def" }); } // Tests a pattern on a string with the given result // (result should include all trailing empty strings) void test(String pat, String str, String[] expected) { harness.checkPoint("test: " + pat); try { Pattern pattern = Pattern.compile(pat); String[] result = pattern.split(str, -1); harness.check(Arrays.equals(expected, result)); result = pattern.split(str, Integer.MIN_VALUE); harness.check(Arrays.equals(expected, result)); result = pattern.split(str); String[] result0 = pattern.split(str, 0); harness.check(Arrays.equals(result, result0)); // Strip trailing space or just use str as result when we don't match. int total_len = expected.length; String[] expected0; if (pattern.matcher(str).find()) { int trailing_empties = 0; for (int i = 0; i < total_len; i++) { if ("".equals(expected[i])) trailing_empties++; else trailing_empties = 0; } expected0 = new String[total_len - trailing_empties]; for (int i = 0; i < expected0.length; i++) expected0[i] = expected[i]; } else expected0 = new String[] { str }; harness.check(Arrays.equals(expected0, result0)); // A limit of one is lame. Either it doesn't match and the // result is the given string, or it matches zero (1 - 1) times // and the result is the whole given string (trailing part). String[] result1 = pattern.split(str, 1); harness.check(result1.length == 1 && str.equals(result1[0])); for (int i = 2; i <= total_len; i++) { result = pattern.split(str, i); boolean equal = (result.length == i); for (int j = 0; equal && j < i - 1; j++) equal = (expected[j].equals(result[j])); harness.check(equal); // The tail should start with the first remaining element harness.check(result.length > i - 1 && result[i - 1].startsWith(expected[i - 1])); harness.check(result.length > i -1 && result[i - 1].endsWith(expected[total_len - 1])); } result = pattern.split(str, total_len + 1); harness.check(Arrays.equals(expected, result)); result = pattern.split(str, Integer.MAX_VALUE); harness.check(Arrays.equals(expected, result)); } catch(PatternSyntaxException pse) { harness.debug(pse); harness.check(false); } } } mauve-20140821/gnu/testlet/java/util/regex/Pattern/0000755000175000001440000000000012375316426020660 5ustar dokousersmauve-20140821/gnu/testlet/java/util/regex/Pattern/testdata10000644000175000001440000010770610411610363022472 0ustar dokousers/the quick brown fox/ the quick brown fox 0: the quick brown fox The quick brown FOX No match What do you know about the quick brown fox? 0: the quick brown fox What do you know about THE QUICK BROWN FOX? No match /The quick brown fox/i the quick brown fox 0: the quick brown fox The quick brown FOX 0: The quick brown FOX What do you know about the quick brown fox? 0: the quick brown fox What do you know about THE QUICK BROWN FOX? 0: THE QUICK BROWN FOX /a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz/ abxyzpqrrrabbxyyyypqAzz 0: abxyzpqrrrabbxyyyypqAzz abxyzpqrrrabbxyyyypqAzz 0: abxyzpqrrrabbxyyyypqAzz aabxyzpqrrrabbxyyyypqAzz 0: aabxyzpqrrrabbxyyyypqAzz aaabxyzpqrrrabbxyyyypqAzz 0: aaabxyzpqrrrabbxyyyypqAzz aaaabxyzpqrrrabbxyyyypqAzz 0: aaaabxyzpqrrrabbxyyyypqAzz abcxyzpqrrrabbxyyyypqAzz 0: abcxyzpqrrrabbxyyyypqAzz aabcxyzpqrrrabbxyyyypqAzz 0: aabcxyzpqrrrabbxyyyypqAzz aaabcxyzpqrrrabbxyyyypAzz 0: aaabcxyzpqrrrabbxyyyypAzz aaabcxyzpqrrrabbxyyyypqAzz 0: aaabcxyzpqrrrabbxyyyypqAzz aaabcxyzpqrrrabbxyyyypqqAzz 0: aaabcxyzpqrrrabbxyyyypqqAzz aaabcxyzpqrrrabbxyyyypqqqAzz 0: aaabcxyzpqrrrabbxyyyypqqqAzz aaabcxyzpqrrrabbxyyyypqqqqAzz 0: aaabcxyzpqrrrabbxyyyypqqqqAzz aaabcxyzpqrrrabbxyyyypqqqqqAzz 0: aaabcxyzpqrrrabbxyyyypqqqqqAzz aaabcxyzpqrrrabbxyyyypqqqqqqAzz 0: aaabcxyzpqrrrabbxyyyypqqqqqqAzz aaaabcxyzpqrrrabbxyyyypqAzz 0: aaaabcxyzpqrrrabbxyyyypqAzz abxyzzpqrrrabbxyyyypqAzz 0: abxyzzpqrrrabbxyyyypqAzz aabxyzzzpqrrrabbxyyyypqAzz 0: aabxyzzzpqrrrabbxyyyypqAzz aaabxyzzzzpqrrrabbxyyyypqAzz 0: aaabxyzzzzpqrrrabbxyyyypqAzz aaaabxyzzzzpqrrrabbxyyyypqAzz 0: aaaabxyzzzzpqrrrabbxyyyypqAzz abcxyzzpqrrrabbxyyyypqAzz 0: abcxyzzpqrrrabbxyyyypqAzz aabcxyzzzpqrrrabbxyyyypqAzz 0: aabcxyzzzpqrrrabbxyyyypqAzz aaabcxyzzzzpqrrrabbxyyyypqAzz 0: aaabcxyzzzzpqrrrabbxyyyypqAzz aaaabcxyzzzzpqrrrabbxyyyypqAzz 0: aaaabcxyzzzzpqrrrabbxyyyypqAzz aaaabcxyzzzzpqrrrabbbxyyyypqAzz 0: aaaabcxyzzzzpqrrrabbbxyyyypqAzz aaaabcxyzzzzpqrrrabbbxyyyyypqAzz 0: aaaabcxyzzzzpqrrrabbbxyyyyypqAzz aaabcxyzpqrrrabbxyyyypABzz 0: aaabcxyzpqrrrabbxyyyypABzz aaabcxyzpqrrrabbxyyyypABBzz 0: aaabcxyzpqrrrabbxyyyypABBzz >>>aaabxyzpqrrrabbxyyyypqAzz 0: aaabxyzpqrrrabbxyyyypqAzz >aaaabxyzpqrrrabbxyyyypqAzz 0: aaaabxyzpqrrrabbxyyyypqAzz >>>>abcxyzpqrrrabbxyyyypqAzz 0: abcxyzpqrrrabbxyyyypqAzz *** Failers No match abxyzpqrrabbxyyyypqAzz No match abxyzpqrrrrabbxyyyypqAzz No match abxyzpqrrrabxyyyypqAzz No match aaaabcxyzzzzpqrrrabbbxyyyyyypqAzz No match aaaabcxyzzzzpqrrrabbbxyyypqAzz No match aaabcxyzpqrrrabbxyyyypqqqqqqqAzz No match /^(abc){1,2}zz/ abczz 0: abczz 1: abc abcabczz 0: abcabczz 1: abc *** Failers No match zz No match abcabcabczz No match >>abczz No match /^(b+|a){1,2}?bc/ bbc 0: bbc 1: b /^(b*|ba){1,2}?bc/ babc 0: babc 1: ba bbabc 0: bbabc 1: ba bababc 0: bababc 1: ba *** Failers No match bababbc No match babababc No match /^(ba|b*){1,2}?bc/ babc 0: babc 1: ba bbabc 0: bbabc 1: ba bababc 0: bababc 1: ba *** Failers No match bababbc No match babababc No match /^[ab\]cde]/ athing 0: a bthing 0: b ]thing 0: ] cthing 0: c dthing 0: d ething 0: e *** Failers No match fthing No match [thing No match \\thing No match /^[]cde]/ ]thing 0: ] cthing 0: c dthing 0: d ething 0: e *** Failers No match athing No match fthing No match /^[^ab\]cde]/ fthing 0: f [thing 0: [ \\thing 0: \ *** Failers 0: * athing No match bthing No match ]thing No match cthing No match dthing No match ething No match /^[^]cde]/ athing 0: a fthing 0: f *** Failers 0: * ]thing No match cthing No match dthing No match ething No match /^[0-9]+$/ 0 0: 0 1 0: 1 2 0: 2 3 0: 3 4 0: 4 5 0: 5 6 0: 6 7 0: 7 8 0: 8 9 0: 9 10 0: 10 100 0: 100 *** Failers No match abc No match /^.*nter/ enter 0: enter inter 0: inter uponter 0: uponter /^xxx[0-9]+$/ xxx0 0: xxx0 xxx1234 0: xxx1234 *** Failers No match xxx No match /^.+[0-9][0-9][0-9]$/ x123 0: x123 xx123 0: xx123 123456 0: 123456 *** Failers No match 123 No match x1234 0: x1234 /^.+?[0-9][0-9][0-9]$/ x123 0: x123 xx123 0: xx123 123456 0: 123456 *** Failers No match 123 No match x1234 0: x1234 /^([^!]+)!(.+)=apquxz\.ixr\.zzz\.ac\.uk$/ abc!pqr=apquxz.ixr.zzz.ac.uk 0: abc!pqr=apquxz.ixr.zzz.ac.uk 1: abc 2: pqr *** Failers No match !pqr=apquxz.ixr.zzz.ac.uk No match abc!=apquxz.ixr.zzz.ac.uk No match abc!pqr=apquxz:ixr.zzz.ac.uk No match abc!pqr=apquxz.ixr.zzz.ac.ukk No match /:/ Well, we need a colon: somewhere 0: : *** Fail if we don't No match /^.*\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/ .1.2.3 0: .1.2.3 1: 1 2: 2 3: 3 A.12.123.0 0: A.12.123.0 1: 12 2: 123 3: 0 *** Failers No match .1.2.3333 No match 1.2.3 No match 1234.2.3 No match /^(\d+)\s+IN\s+SOA\s+(\S+)\s+(\S+)\s*\(\s*$/ 1 IN SOA non-sp1 non-sp2( 0: 1 IN SOA non-sp1 non-sp2( 1: 1 2: non-sp1 3: non-sp2 1 IN SOA non-sp1 non-sp2 ( 0: 1 IN SOA non-sp1 non-sp2 ( 1: 1 2: non-sp1 3: non-sp2 *** Failers No match 1IN SOA non-sp1 non-sp2( No match /^[\da-f](\.[\da-f])*$/i a.b.c.d 0: a.b.c.d 1: .d A.B.C.D 0: A.B.C.D 1: .D a.b.c.1.2.3.C 0: a.b.c.1.2.3.C 1: .C /^(a(b(c)))(d(e(f)))(h(i(j)))(k(l(m)))$/ abcdefhijklm 0: abcdefhijklm 1: abc 2: bc 3: c 4: def 5: ef 6: f 7: hij 8: ij 9: j 10: klm 11: lm 12: m /^(?:a(b(c)))(?:d(e(f)))(?:h(i(j)))(?:k(l(m)))$/ abcdefhijklm 0: abcdefhijklm 1: bc 2: c 3: ef 4: f 5: ij 6: j 7: lm 8: m /^a*\w/ z 0: z az 0: az aaaz 0: aaaz a 0: a aa 0: aa aaaa 0: aaaa a+ 0: a aa+ 0: aa /^a*?\w/ z 0: z az 0: a aaaz 0: a a 0: a aa 0: a aaaa 0: a a+ 0: a aa+ 0: a /^a+\w/ az 0: az aaaz 0: aaaz aa 0: aa aaaa 0: aaaa aa+ 0: aa /^a+?\w/ az 0: az aaaz 0: aa aa 0: aa aaaa 0: aa aa+ 0: aa /^\d{8}\w{2,}/ 1234567890 0: 1234567890 12345678ab 0: 12345678ab 12345678__ 0: 12345678__ *** Failers No match 1234567 No match /^[aeiou\d]{4,5}$/ uoie 0: uoie 1234 0: 1234 12345 0: 12345 aaaaa 0: aaaaa *** Failers No match 123456 No match /^[aeiou\d]{4,5}?/ uoie 0: uoie 1234 0: 1234 12345 0: 1234 aaaaa 0: aaaa 123456 0: 1234 /\A(abc|def)=(\1){2,3}\Z/ abc=abcabc 0: abc=abcabc 1: abc 2: abc def=defdefdef 0: def=defdefdef 1: def 2: def *** Failers No match abc=defdef No match /^From +([^ ]+) +[a-zA-Z][a-zA-Z][a-zA-Z] +[a-zA-Z][a-zA-Z][a-zA-Z] +[0-9]?[0-9] +[0-9][0-9]:[0-9][0-9]/ From abcd Mon Sep 01 12:33:02 1997 0: From abcd Mon Sep 01 12:33 1: abcd /^From\s+\S+\s+([a-zA-Z]{3}\s+){2}\d{1,2}\s+\d\d:\d\d/ From abcd Mon Sep 01 12:33:02 1997 0: From abcd Mon Sep 01 12:33 1: Sep From abcd Mon Sep 1 12:33:02 1997 0: From abcd Mon Sep 1 12:33 1: Sep *** Failers No match From abcd Sep 01 12:33:02 1997 No match /foo(?!bar)(.*)/ foobar is foolish see? 0: foolish see? 1: lish see? /^(\D*)(?=\d)(?!123)/ abc456 0: abc 1: abc *** Failers No match abc123 No match /^(a)\1{2,3}(.)/ aaab 0: aaab 1: a 2: b aaaab 0: aaaab 1: a 2: b aaaaab 0: aaaaa 1: a 2: a aaaaaab 0: aaaaa 1: a 2: a /(?!^)abc/ the abc 0: abc *** Failers No match abc No match /(?=^)abc/ abc 0: abc *** Failers No match the abc No match /^[ab]{1,3}?(ab*|b)/ aabbbbb 0: aabbbbb 1: abbbbb /^[ab]{1,3}?(ab*?|b)/ aabbbbb 0: aa 1: a /^[ab]{1,3}(ab*?|b)/ aabbbbb 0: aabb 1: b /^(cow|)\1(bell)/ cowcowbell 0: cowcowbell 1: cow 2: bell bell 0: bell 1: 2: bell *** Failers No match cowbell No match /^(a|)\1?b/ ab 0: ab 1: a aab 0: aab 1: a b 0: b 1: *** Failers No match acb No match /^(a|)\1{2}b/ aaab 0: aaab 1: a b 0: b 1: *** Failers No match ab No match aab No match aaaab No match /^(a|)\1{2,3}b/ aaab 0: aaab 1: a aaaab 0: aaaab 1: a b 0: b 1: *** Failers No match ab No match aab No match aaaaab No match /ab{1,3}bc/ abbbbc 0: abbbbc abbbc 0: abbbc abbc 0: abbc *** Failers No match abc No match abbbbbc No match /([^.]*)\.([^:]*):[T ]+(.*)/ track1.title:TBlah blah blah 0: track1.title:TBlah blah blah 1: track1 2: title 3: Blah blah blah /([^.]*)\.([^:]*):[T ]+(.*)/i track1.title:TBlah blah blah 0: track1.title:TBlah blah blah 1: track1 2: title 3: Blah blah blah /([^.]*)\.([^:]*):[t ]+(.*)/i track1.title:TBlah blah blah 0: track1.title:TBlah blah blah 1: track1 2: title 3: Blah blah blah /^[W-c]+$/ WXY_^abc 0: WXY_^abc *** Failers No match wxy No match /^abc$/ abc 0: abc *** Failers No match qqq\nabc No match abc\nzzz No match qqq\nabc\nzzz No match /(?:b)|(?::+)/ b::c 0: b c::b 0: :: /[-az]+/ az- 0: az- *** Failers 0: a b No match /[az-]+/ za- 0: za- *** Failers 0: a b No match /[a\-z]+/ a-z 0: a-z *** Failers 0: a b No match /[a-z]+/ abcdxyz 0: abcdxyz /[\d-]+/ 12-34 0: 12-34 *** Failers No match aaa No match /[\d-z]+/ 12-34z 0: 12-34z *** Failers No match aaa No match /a{0}bc/ bc 0: bc /[^k]{2,3}$/ abc 0: abc kbc 0: bc kabc 0: abc *** Failers 0: ers abk No match akb No match akk No match /[^a]/ aaaabcd 0: b aaAabcd 0: A /[^a]/i aaaabcd 0: b aaAabcd 0: b /[^az]/ aaaabcd 0: b aaAabcd 0: A /[^az]/i aaaabcd 0: b aaAabcd 0: b /P[^*]TAIRE[^*]{1,6}?LL/ xxxxxxxxxxxPSTAIREISLLxxxxxxxxx 0: PSTAIREISLL /P[^*]TAIRE[^*]{1,}?LL/ xxxxxxxxxxxPSTAIREISLLxxxxxxxxx 0: PSTAIREISLL /(\.\d\d[1-9]?)\d+/ 1.230003938 0: .230003938 1: .23 1.875000282 0: .875000282 1: .875 1.235 0: .235 1: .23 /foo(.*)bar/ The food is under the bar in the barn. 0: food is under the bar in the bar 1: d is under the bar in the /foo(.*?)bar/ The food is under the bar in the barn. 0: food is under the bar 1: d is under the /(.*)(\d*)/ I have 2 numbers: 53147 0: I have 2 numbers: 53147 1: I have 2 numbers: 53147 2: /(.*?)(\d+)/ I have 2 numbers: 53147 0: I have 2 1: I have 2: 2 /(.*)(\d+)$/ I have 2 numbers: 53147 0: I have 2 numbers: 53147 1: I have 2 numbers: 5314 2: 7 /(.*?)(\d+)$/ I have 2 numbers: 53147 0: I have 2 numbers: 53147 1: I have 2 numbers: 2: 53147 /(.*)\b(\d+)$/ I have 2 numbers: 53147 0: I have 2 numbers: 53147 1: I have 2 numbers: 2: 53147 /(.*\D)(\d+)$/ I have 2 numbers: 53147 0: I have 2 numbers: 53147 1: I have 2 numbers: 2: 53147 /^\D*(?!123)/ ABC123 0: AB /^(\D*)(?=\d)(?!123)/ ABC445 0: ABC 1: ABC *** Failers No match ABC123 No match /^[W-]46]/ W46]789 0: W46] -46]789 0: -46] *** Failers No match Wall No match Zebra No match 42 No match [abcd] No match ]abcd[ No match /\d\d\/\d\d\/\d\d\d\d/ 01/01/2000 0: 01/01/2000 /word (?:[a-zA-Z0-9]+ ){0,300}otherword/ word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope No match /^(a){1,1}/ bcd No match abc 0: a 1: a aab 0: a 1: a /^(a){1,2}/ bcd No match abc 0: a 1: a aab 0: aa 1: a /^(a){1,3}/ bcd No match abc 0: a 1: a aab 0: aa 1: a aaa 0: aaa 1: a /^(a){1,}/ bcd No match abc 0: a 1: a aab 0: aa 1: a aaa 0: aaa 1: a aaaaaaaa 0: aaaaaaaa 1: a /^[a-c]{12}/ abcabcabcabc 0: abcabcabcabc /^(a|b|c){12}/ abcabcabcabc 0: abcabcabcabc 1: c /^[abcdefghijklmnopqrstuvwxy0123456789]/ n 0: n *** Failers No match z No match /abcde{0,0}/ abcd 0: abcd *** Failers No match abce No match /ab[cd]{0,0}e/ abe 0: abe *** Failers No match abcde No match /a(b*)/ a 0: a 1: ab 0: ab 1: b abbbb 0: abbbb 1: bbbb *** Failers 0: a 1: bbbbb No match /a.b/ acb 0: acb *** Failers No match a\nb No match /^(b+|a){1,2}?c/ bac 0: bac 1: a bbac 0: bbac 1: a bbbac 0: bbbac 1: a bbbbac 0: bbbbac 1: a bbbbbac 0: bbbbbac 1: a /(?!\A)x/m x\nb\n No match a\bx\n 0: x /(AB)*?\1/ ABABAB 0: ABAB 1: AB /(AB)*\1/ ABABAB 0: ABABAB 1: AB /(\d+)(\w)/ 12345a 0: 12345a 1: 12345 2: a 12345+ 0: 12345 1: 1234 2: 5 /The case of aaaaaa is missed out below because I think Perl 5.005_02 gets/ /it wrong; it sets $1 to aaa rather than aa. Compare the following test,/ No match /where it does set $1 to aa when matching aaaaaa./ No match /^(a\1?)(a\1?)(a\2?)(a\3?)$/ a No match aa No match aaa No match aaaa 0: aaaa 1: a 2: a 3: a 4: a aaaaa 0: aaaaa 1: a 2: aa 3: a 4: a aaaaaa 0: aaaaaa 1: a 2: aa 3: a 4: aa aaaaaaa 0: aaaaaaa 1: a 2: aa 3: aaa 4: a aaaaaaaa No match aaaaaaaaa No match aaaaaaaaaa 0: aaaaaaaaaa 1: a 2: aa 3: aaa 4: aaaa aaaaaaaaaaa No match aaaaaaaaaaaa No match aaaaaaaaaaaaa No match aaaaaaaaaaaaaa No match aaaaaaaaaaaaaaa No match aaaaaaaaaaaaaaaa No match /The following tests are taken from the Perl 5.005 test suite; some of them/ /are compatible with 5.004, but I'd rather not have to sort them out./ No match /abc/ abc 0: abc xabcy 0: abc ababc 0: abc *** Failers No match xbc No match axc No match abx No match /ab*c/ abc 0: abc /ab*bc/ abc 0: abc abbc 0: abbc abbbbc 0: abbbbc /.{1}/ abbbbc 0: a /.{3,4}/ abbbbc 0: abbb /ab{0,}bc/ abbbbc 0: abbbbc /ab+bc/ abbc 0: abbc *** Failers No match abc No match abq No match /ab{1,}bc/ /ab+bc/ abbbbc 0: abbbbc /ab{1,}bc/ abbbbc 0: abbbbc /ab{1,3}bc/ abbbbc 0: abbbbc /ab{3,4}bc/ abbbbc 0: abbbbc /ab{4,5}bc/ *** Failers No match abq No match abbbbc No match /ab?bc/ abbc 0: abbc abc 0: abc /ab{0,1}bc/ abc 0: abc /ab?bc/ /ab?c/ abc 0: abc /ab{0,1}c/ abc 0: abc /^abc$/ abc 0: abc *** Failers No match abbbbc No match abcc No match /^abc/ abcc 0: abc /^abc$/ /abc$/ aabc 0: abc *** Failers No match aabc 0: abc aabcd No match /^/ abc 0: /$/ abc 0: /a.c/ abc 0: abc axc 0: axc /a.*c/ axyzc 0: axyzc /a[bc]d/ abd 0: abd *** Failers No match axyzd No match abc No match /a[b-d]e/ ace 0: ace /a[b-d]/ aac 0: ac /a[-b]/ a- 0: a- /a[b-]/ a- 0: a- /a]/ a] 0: a] /a[]]b/ a]b 0: a]b /a[^bc]d/ aed 0: aed *** Failers No match abd No match abd No match /a[^-b]c/ adc 0: adc /a[^]b]c/ adc 0: adc *** Failers No match a-c 0: a-c a]c No match /\ba\b/ a- 0: a -a 0: a -a- 0: a /\by\b/ *** Failers No match xy No match yz No match xyz No match /\Ba\B/ *** Failers 0: a a- No match -a No match -a- No match /\By\b/ xy 0: y /\by\B/ yz 0: y /\By\B/ xyz 0: y /\w/ a 0: a /\W/ - 0: - *** Failers 0: * - 0: - a No match /a\sb/ a b 0: a b /a\Sb/ a-b 0: a-b *** Failers No match a-b 0: a-b a b No match /\d/ 1 0: 1 /\D/ - 0: - *** Failers 0: * - 0: - 1 No match /[\w]/ a 0: a /[\W]/ - 0: - *** Failers 0: * - 0: - a No match /a[\s]b/ a b 0: a b /a[\S]b/ a-b 0: a-b *** Failers No match a-b 0: a-b a b No match /[\d]/ 1 0: 1 /[\D]/ - 0: - *** Failers 0: * - 0: - 1 No match /ab|cd/ abc 0: ab abcd 0: ab /()ef/ def 0: ef 1: /$b/ /a\(b/ a(b 0: a(b /a\(*b/ ab 0: ab a((b 0: a((b /((a))/ abc 0: a 1: a 2: a /(a)b(c)/ abc 0: abc 1: a 2: c /a+b+c/ aabbabc 0: abc /a{1,}b{1,}c/ aabbabc 0: abc /a.+?c/ abcabc 0: abc /(a+|b)*/ ab 0: ab 1: b /(a+|b){0,}/ ab 0: ab 1: b /(a+|b)+/ ab 0: ab 1: b /(a+|b){1,}/ ab 0: ab 1: b /(a+|b)?/ ab 0: a 1: a /(a+|b){0,1}/ ab 0: a 1: a /[^ab]*/ cde 0: cde /abc/ *** Failers No match b No match /a*/ /([abc])*d/ abbbcd 0: abbbcd 1: c /([abc])*bcd/ abcd 0: abcd 1: a /a|b|c|d|e/ e 0: e /(a|b|c|d|e)f/ ef 0: ef 1: e /abcd*efg/ abcdefg 0: abcdefg /ab*/ xabyabbbz 0: ab xayabbbz 0: a /(ab|cd)e/ abcde 0: cde 1: cd /[abhgefdc]ij/ hij 0: hij /^(ab|cd)e/ /(abc|)ef/ abcdef 0: ef 1: /(a|b)c*d/ abcd 0: bcd 1: b /a([bc]*)c*/ abc 0: abc 1: bc /a([bc]*)(c*d)/ abcd 0: abcd 1: bc 2: d /a([bc]+)(c*d)/ abcd 0: abcd 1: bc 2: d /a([bc]*)(c+d)/ abcd 0: abcd 1: b 2: cd /a[bcd]*dcdcde/ adcdcde 0: adcdcde /a[bcd]+dcdcde/ *** Failers No match abcde No match adcdcde No match /(ab|a)b*c/ abc 0: abc 1: ab /((a)(b)c)(d)/ abcd 0: abcd 1: abc 2: a 3: b 4: d /[a-zA-Z_][a-zA-Z0-9_]*/ alpha 0: alpha /((((((((((a))))))))))/ a 0: a 1: a 2: a 3: a 4: a 5: a 6: a 7: a 8: a 9: a 10: a /(((((((((a)))))))))/ a 0: a 1: a 2: a 3: a 4: a 5: a 6: a 7: a 8: a 9: a /multiple words of text/ *** Failers No match aa No match uh-uh No match /multiple words/ multiple words, yeah 0: multiple words /(.*)c(.*)/ abcde 0: abcde 1: ab 2: de /\((.*), (.*)\)/ (a, b) 0: (a, b) 1: a 2: b /[k]/ /abcd/ abcd 0: abcd /a(bc)d/ abcd 0: abcd 1: bc /a[-]?c/ ac 0: ac /(abc)\1/ abcabc 0: abcabc 1: abc /([a-c]*)\1/ abcabc 0: abcabc 1: abc /(a)|\1/ a 0: a 1: a *** Failers 0: a 1: a ab 0: a 1: a x No match /(([a-c])b*?\2)*/ ababbbcbc 0: ababb 1: bb 2: b /((\3|b)\2(a)x)+/ aaaxabaxbaaxbbax 0: bbax 1: bbax 2: b 3: a /((\3|b)\2(a)){2,}/ bbaababbabaaaaabbaaaabba 0: bbaaaabba 1: bba 2: b 3: a /abc/i ABC 0: ABC XABCY 0: ABC ABABC 0: ABC *** Failers No match aaxabxbaxbbx No match XBC No match AXC No match ABX No match /ab*c/i ABC 0: ABC /ab*bc/i ABC 0: ABC ABBC 0: ABBC /ab*?bc/i ABBBBC 0: ABBBBC /ab{0,}?bc/i ABBBBC 0: ABBBBC /ab+?bc/i ABBC 0: ABBC /ab+bc/i *** Failers No match ABC No match ABQ No match /ab{1,}bc/i /ab+bc/i ABBBBC 0: ABBBBC /ab{1,}?bc/i ABBBBC 0: ABBBBC /ab{1,3}?bc/i ABBBBC 0: ABBBBC /ab{3,4}?bc/i ABBBBC 0: ABBBBC /ab{4,5}?bc/i *** Failers No match ABQ No match ABBBBC No match /ab??bc/i ABBC 0: ABBC ABC 0: ABC /ab{0,1}?bc/i ABC 0: ABC /ab??bc/i /ab??c/i ABC 0: ABC /ab{0,1}?c/i ABC 0: ABC /^abc$/i ABC 0: ABC *** Failers No match ABBBBC No match ABCC No match /^abc/i ABCC 0: ABC /^abc$/i /abc$/i AABC 0: ABC /^/i ABC 0: /$/i ABC 0: /a.c/i ABC 0: ABC AXC 0: AXC /a.*?c/i AXYZC 0: AXYZC /a.*c/i *** Failers No match AABC 0: AABC AXYZD No match /a[bc]d/i ABD 0: ABD /a[b-d]e/i ACE 0: ACE *** Failers No match ABC No match ABD No match /a[b-d]/i AAC 0: AC /a[-b]/i A- 0: A- /a[b-]/i A- 0: A- /a]/i A] 0: A] /a[]]b/i A]B 0: A]B /a[^bc]d/i AED 0: AED /a[^-b]c/i ADC 0: ADC *** Failers No match ABD No match A-C No match /a[^]b]c/i ADC 0: ADC /ab|cd/i ABC 0: AB ABCD 0: AB /()ef/i DEF 0: EF 1: /$b/i *** Failers No match A]C No match B No match /a\(b/i A(B 0: A(B /a\(*b/i AB 0: AB A((B 0: A((B /((a))/i ABC 0: A 1: A 2: A /(a)b(c)/i ABC 0: ABC 1: A 2: C /a+b+c/i AABBABC 0: ABC /a{1,}b{1,}c/i AABBABC 0: ABC /a.+?c/i ABCABC 0: ABC /a.*?c/i ABCABC 0: ABC /a.{0,5}?c/i ABCABC 0: ABC /(a+|b)*/i AB 0: AB 1: B /(a+|b){0,}/i AB 0: AB 1: B /(a+|b)+/i AB 0: AB 1: B /(a+|b){1,}/i AB 0: AB 1: B /(a+|b)?/i AB 0: A 1: A /(a+|b){0,1}/i AB 0: A 1: A /[^ab]*/i CDE 0: CDE /abc/i /a*/i /([abc])*d/i ABBBCD 0: ABBBCD 1: C /([abc])*bcd/i ABCD 0: ABCD 1: A /a|b|c|d|e/i E 0: E /(a|b|c|d|e)f/i EF 0: EF 1: E /abcd*efg/i ABCDEFG 0: ABCDEFG /ab*/i XABYABBBZ 0: AB XAYABBBZ 0: A /(ab|cd)e/i ABCDE 0: CDE 1: CD /[abhgefdc]ij/i HIJ 0: HIJ /^(ab|cd)e/i ABCDE No match /(abc|)ef/i ABCDEF 0: EF 1: /(a|b)c*d/i ABCD 0: BCD 1: B /a([bc]*)c*/i ABC 0: ABC 1: BC /a([bc]*)(c*d)/i ABCD 0: ABCD 1: BC 2: D /a([bc]+)(c*d)/i ABCD 0: ABCD 1: BC 2: D /a([bc]*)(c+d)/i ABCD 0: ABCD 1: B 2: CD /a[bcd]*dcdcde/i ADCDCDE 0: ADCDCDE /a[bcd]+dcdcde/i /(ab|a)b*c/i ABC 0: ABC 1: AB /((a)(b)c)(d)/i ABCD 0: ABCD 1: ABC 2: A 3: B 4: D /[a-zA-Z_][a-zA-Z0-9_]*/i ALPHA 0: ALPHA /((((((((((a))))))))))/i A 0: A 1: A 2: A 3: A 4: A 5: A 6: A 7: A 8: A 9: A 10: A /(((((((((a)))))))))/i A 0: A 1: A 2: A 3: A 4: A 5: A 6: A 7: A 8: A 9: A /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))/i A 0: A 1: A /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/i C 0: C 1: C /multiple words of text/i *** Failers No match AA No match UH-UH No match /multiple words/i MULTIPLE WORDS, YEAH 0: MULTIPLE WORDS /(.*)c(.*)/i ABCDE 0: ABCDE 1: AB 2: DE /\((.*), (.*)\)/i (A, B) 0: (A, B) 1: A 2: B /[k]/i /abcd/i ABCD 0: ABCD /a(bc)d/i ABCD 0: ABCD 1: BC /a[-]?c/i AC 0: AC /(abc)\1/i ABCABC 0: ABCABC 1: ABC /([a-c]*)\1/i ABCABC 0: ABCABC 1: ABC /a(?!b)./ abad 0: ad /a(?=d)./ abad 0: ad /a(?=c|d)./ abad 0: ad /a(?:b|c|d)(.)/ ace 0: ace 1: e /a(?:b|c|d)*(.)/ ace 0: ace 1: e /a(?:b|c|d)+?(.)/ ace 0: ace 1: e acdbcdbe 0: acd 1: d /a(?:b|c|d)+(.)/ acdbcdbe 0: acdbcdbe 1: e /a(?:b|c|d){2}(.)/ acdbcdbe 0: acdb 1: b /a(?:b|c|d){4,5}(.)/ acdbcdbe 0: acdbcdb 1: b /a(?:b|c|d){4,5}?(.)/ acdbcdbe 0: acdbcd 1: d /((foo)|(bar))*/ foobar 0: foobar 1: bar 2: foo 3: bar /a(?:b|c|d){6,7}(.)/ acdbcdbe 0: acdbcdbe 1: e /a(?:b|c|d){6,7}?(.)/ acdbcdbe 0: acdbcdbe 1: e /a(?:b|c|d){5,6}(.)/ acdbcdbe 0: acdbcdbe 1: e /a(?:b|c|d){5,6}?(.)/ acdbcdbe 0: acdbcdb 1: b /a(?:b|c|d){5,7}(.)/ acdbcdbe 0: acdbcdbe 1: e /a(?:b|c|d){5,7}?(.)/ acdbcdbe 0: acdbcdb 1: b /a(?:b|(c|e){1,2}?|d)+?(.)/ ace 0: ace 1: c 2: e /^(.+)?B/ AB 0: AB 1: A /^[<>]&/ <&OUT 0: <& /(?:(f)(o)(o)|(b)(a)(r))*/ foobar 0: foobar 1: f 2: o 3: o 4: b 5: a 6: r /(?:..)*a/ aba 0: aba /(?:..)*?a/ aba 0: a /^(){3,5}/ abc 0: 1: /^(a+)*ax/ aax 0: aax 1: a /^((a|b)+)*ax/ aax 0: aax 1: a 2: a /^((a|bc)+)*ax/ aax 0: aax 1: a 2: a /(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))/ cabbbb 0: cabbbb /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/ caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 0: caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb /foo\w*\d{4}baz/ foobar1234baz 0: foobar1234baz /x(~~)*(?:(?:F)?)?/ x~~ 0: x~~ 1: ~~ /^b/ /()^b/ *** Failers No match a\nb\nc\n No match a\nb\nc\n No match /^(?=(a+?))\1ab/ /(\w+:)+/ one: 0: one: 1: one: /^(?=(a+?))\1ab/ *** Failers No match aaab No match aaab No match /^[^bcd]*(c+)/ aexycd 0: aexyc 1: c /(a*)b+/ caab 0: aab 1: aa /^[^bcd]*(c+)/ aexycd 0: aexyc 1: c /(>a+)ab/ /a\Z/ *** Failers No match aaab No match a\nb\n No match /b\z/ /b\Z/ a\nb 0: b /((Z)+|A)*/ ZABCDEFG 0: ZA 1: A 2: Z /(Z()|A)*/ ZABCDEFG 0: ZA 1: A 2: /(Z(())|A)*/ ZABCDEFG 0: ZA 1: A 2: 3: /^[\d-a]/ abcde 0: a -things 0: - 0digit 0: 0 *** Failers No match bcdef No match /a b/x ab No match /(?!\A)x/m a\nxb\n 0: x /(.*)\d+\1/ abc123abc 0: abc123abc 1: abc abc123bc 0: bc123bc 1: bc /(.*)\d+\1/s abc123abc 0: abc123abc 1: abc abc123bc 0: bc123bc 1: bc /((.*))\d+\1/ abc123abc 0: abc123abc 1: abc 2: abc abc123bc 0: bc123bc 1: bc 2: bc /-- This tests for an IPv6 address in the form where it can have up to --/ /-- eight components, one and only one of which is empty. This must be --/ No match /-- an internal component. --/ No match /(a+)*b/ aaaaaaaaaaaaaa No match /^[W-c]+$/i WXY_^abc 0: WXY_^abc wxy_^ABC 0: wxy_^ABC /^[\x3f-\x5F]+$/i WXY_^abc 0: WXY_^abc wxy_^ABC 0: wxy_^ABC /\x5c/ \\ 0: \ /\x20Z/ the Zoo 0: Z *** Failers No match Zulu No match /^[W-\]46]/ W46]789 0: W Wall 0: W Zebra 0: Z Xylophone 0: X 42 0: 4 [abcd] 0: [ ]abcd[ 0: ] \\backslash 0: \ *** Failers No match -46]789 No match well No match /a(?-i)b/i ab 0: ab Ab 0: Ab *** Failers No match aB No match AB No match /(a(?i)b)c/ abc 0: abc 1: ab aBc 0: aBc 1: aB *** Failers No match abC No match aBC No match Abc No match ABc No match ABC No match AbC No match /a(?i:b)c/ abc 0: abc aBc 0: aBc *** Failers No match ABC No match abC No match aBC No match /a(?i:b)*c/ aBc 0: aBc aBBc 0: aBBc *** Failers No match aBC No match aBBC No match /a(?=b(?i)c)\w\wd/ abcd 0: abcd abCd 0: abCd *** Failers No match aBCd No match abcD No match /(?=a(?i)b)\w\wc/ abc 0: abc aBc 0: aBc *** Failers No match Ab No match abC No match aBC No match /(abc|)+/ abc 0: abc 1: abcabc 0: abcabc 1: abcabcabc 0: abcabcabc 1: xyz 0: 1: /(?i:saturday|sunday)/ saturday 0: saturday sunday 0: sunday Saturday 0: Saturday Sunday 0: Sunday SATURDAY 0: SATURDAY SUNDAY 0: SUNDAY SunDay 0: SunDay /(a(?i)bc|BB)x/ abcx 0: abcx 1: abc aBCx 0: aBCx 1: aBC bbx 0: bbx 1: bb BBx 0: BBx 1: BB *** Failers No match abcX No match aBCX No match bbX No match BBX No match /^([ab](?i)[cd]|[ef])/ ac 0: ac 1: ac aC 0: aC 1: aC bD 0: bD 1: bD elephant 0: e 1: e Europe 0: E 1: E frog 0: f 1: f France 0: F 1: F *** Failers No match Africa No match /^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)/ ab 0: ab 1: ab aBd 0: aBd 1: aBd xy 0: xy 1: xy xY 0: xY 1: xY zebra 0: z 1: z Zambesi 0: Z 1: Z *** Failers No match aCD No match XY No match /(?:(?i)a)b/ ab 0: ab /((?i)a)b/ ab 0: ab 1: a /(?:(?i)a)b/ Ab 0: Ab /((?i)a)b/ Ab 0: Ab 1: A /(?:(?i)a)b/ *** Failers No match cb No match aB No match /((?i)a)b/ /(?i:a)b/ ab 0: ab /((?i:a))b/ ab 0: ab 1: a /(?i:a)b/ Ab 0: Ab /((?i:a))b/ Ab 0: Ab 1: A /(?i:a)b/ *** Failers No match aB No match aB No match /((?i:a))b/ /(?:(?-i)a)b/i ab 0: ab /((?-i)a)b/i ab 0: ab 1: a /(?:(?-i)a)b/i aB 0: aB /((?-i)a)b/i aB 0: aB 1: a /(?:(?-i)a)b/i *** Failers No match aB 0: aB Ab No match /((?-i)a)b/i /(?:(?-i)a)b/i aB 0: aB /((?-i)a)b/i aB 0: aB 1: a /(?:(?-i)a)b/i *** Failers No match Ab No match AB No match /((?-i)a)b/i /(?-i:a)b/i ab 0: ab /((?-i:a))b/i ab 0: ab 1: a /(?-i:a)b/i aB 0: aB /((?-i:a))b/i aB 0: aB 1: a /(?-i:a)b/i *** Failers No match AB No match Ab No match /((?-i:a))b/i /(?-i:a)b/i aB 0: aB /((?-i:a))b/i aB 0: aB 1: a /(?-i:a)b/i *** Failers No match Ab No match AB No match /((?-i:a))b/i /((?-i:a.))b/i *** Failers No match AB No match a\nB No match /^(?:a?b?)*$/ *** Failers No match dbcb No match a-- No match /(?i)AB(?-i)C/ XabCY 0: abC *** Failers No match XabcY No match /((?i)AB(?-i)C|D)E/ abCE 0: abCE 1: abC DE 0: DE 1: D *** Failers No match abcE No match abCe No match dE No match De No match /^(b+|a){1,2}c/ bc 0: bc 1: b bbc 0: bbc 1: bb bbbc 0: bbbc 1: bbb bac 0: bac 1: a bbac 0: bbac 1: a aac 0: aac 1: a abbbbbbbbbbbc 0: abbbbbbbbbbbc 1: bbbbbbbbbbb bbbbbbbbbbbac 0: bbbbbbbbbbbac 1: a *** Failers No match aaac No match abbbbbbbbbbbac No match /^[ab]{1,3}(ab*|b)/ aabbbbb 0: aabb 1: b /^(a|)\1*b/ ab 0: ab 1: a aaaab 0: aaaab 1: a b 0: b 1: *** Failers No match acb No match /^(a|)\1+b/ aab 0: aab 1: a aaaab 0: aaaab 1: a b 0: b 1: *** Failers No match ab No match /(a)\1{8,}/ aaaaaaaaa 0: aaaaaaaaa 1: a aaaaaaaaaa 0: aaaaaaaaaa 1: a *** Failers No match aaaaaaa No match /(abc)\1/i abcabc 0: abcabc 1: abc ABCabc 0: ABCabc 1: ABC abcABC 0: abcABC 1: abc /((?i)blah)\s+\1/ blah blah 0: blah blah 1: blah BLAH BLAH 0: BLAH BLAH 1: BLAH Blah Blah 0: Blah Blah 1: Blah blaH blaH 0: blaH blaH 1: blaH *** Failers No match blah BLAH No match Blah blah No match blaH blah No match /((?i)blah)\s+(?i:\1)/ blah blah 0: blah blah 1: blah BLAH BLAH 0: BLAH BLAH 1: BLAH Blah Blah 0: Blah Blah 1: Blah blaH blaH 0: blaH blaH 1: blaH blah BLAH 0: blah BLAH 1: blah Blah blah 0: Blah blah 1: Blah blaH blah 0: blaH blah 1: blaH /(ab)\d\1/i Ab4ab 0: Ab4ab 1: Ab ab4Ab 0: ab4Ab 1: ab /((((((((((a))))))))))\10/ aa 0: aa 1: a 2: a 3: a 4: a 5: a 6: a 7: a 8: a 9: a 10: a /((((((((((a))))))))))\10/i AA 0: AA 1: A 2: A 3: A 4: A 5: A 6: A 7: A 8: A 9: A 10: A /ab\d{0}e/ abe 0: abe *** Failers No match ab1e No match /(ab|ab*)bc/ abc 0: abc 1: a /(ab|ab*)bc/i ABC 0: ABC 1: A /(?:(?!foo)...|^.{0,2})bar(.*)/ foobar crowbar etc 0: rowbar etc 1: etc barrel 0: barrel 1: rel 2barrel 0: 2barrel 1: rel A barrel 0: A barrel 1: rel /(\.\d\d((?=0)|\d(?=\d)))/ 1.230003938 0: .23 1: .23 2: 1.875000282 0: .875 1: .875 2: 5 *** Failers No match 1.235 No match /(?(\.\d\d[1-9]?))\d+/ 1.230003938 0: .230003938 1: .23 1.875000282 0: .875000282 1: .875 *** Failers No match 1.235 No match /^((?>\w+)|(?>\s+))*$/ now is the time for all good men to come to the aid of the party 0: now is the time for all good men to come to the aid of the party 1: party *** Failers No match this is not a line with only words and spaces! No match /((?>\d+))(\w)/ 12345a 0: 12345a 1: 12345 2: a *** Failers No match 12345+ No match /(?>a+)b/ aaab 0: aaab /((?>a+)b)/ aaab 0: aaab 1: aaab /(?>(a+))b/ aaab 0: aaab 1: aaa /(?>b)+/ aaabbbccc 0: bbb /(?>a+|b+|c+)*c/ aaabbbbccccd 0: aaabbbbc /((?>[^()]+)|\([^()]*\))+/ ((abc(ade)ufh()()x 0: abc(ade)ufh()()x 1: x /\(((?>[^()]+)|\([^()]+\))+\)/ (abc) 0: (abc) 1: abc (abc(def)xyz) 0: (abc(def)xyz) 1: xyz *** Failers No match ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa No match /(?>a(?i)b+)+c/ abc 0: abc aBbc 0: aBbc aBBc 0: aBBc *** Failers No match Abc No match abAb No match abbC No match /(?<=a(?i)b)(\w\w)c/ abxxc 0: xxc 1: xx aBxxc 0: xxc 1: xx *** Failers No match Abxxc No match ABxxc No match abxxC No match /(?>a*)*/ a 0: a aa 0: aa aaaa 0: aaaa /(?<=(?a+)b/ aaab 0: aaab /((?>a+)b)/ aaab 0: aaab 1: aaab /(?>(a+))b/ aaab 0: aaab 1: aaa /((?>[^()]+)|\([^()]*\))+/ ((abc(ade)ufh()()x 0: abc(ade)ufh()()x 1: x /word (?>(?:(?!otherword)[a-zA-Z0-9]+ ){0,30})otherword/ word cat dog elephant mussel cow horse canary baboon snake shark otherword 0: word cat dog elephant mussel cow horse canary baboon snake shark otherword word cat dog elephant mussel cow horse canary baboon snake shark No match /word (?>[a-zA-Z0-9]+ ){0,30}otherword/ word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope No match /(?<=\d{3}(?!999))foo/ 999foo 0: foo 123999foo 0: foo *** Failers No match 123abcfoo No match /(?<=(?!...999)\d{3})foo/ 999foo 0: foo 123999foo 0: foo *** Failers No match 123abcfoo No match /(?<=\d{3}(?!999)...)foo/ 123abcfoo 0: foo 123456foo 0: foo *** Failers No match 123999foo No match /(?<=\d{3}...)(?Z)+|A)*/ ZABCDEFG 0: ZA 1: A /((?>)+|A)*/ ZABCDEFG 0: 1: /(?<=Z)X./ \x84XAZXB 0: XB /^(b+?|a){1,2}?c/ bac 0: bac 1: a bbac 0: bbac 1: a bbbac 0: bbbac 1: a bbbbac 0: bbbbac 1: a bbbbbac 0: bbbbbac 1: a /(([a-c])b*?\2){3}/ ababbbcbc 0: ababbbcbc 1: cbc 2: c /^(b+?|a){1,2}?c/ bc 0: bc 1: b bbc 0: bbc 1: b bbbc 0: bbbc 1: bb bac 0: bac 1: a bbac 0: bbac 1: a aac 0: aac 1: a abbbbbbbbbbbc 0: abbbbbbbbbbbc 1: bbbbbbbbbbb bbbbbbbbbbbac 0: bbbbbbbbbbbac 1: a *** Failers No match aaac No match abbbbbbbbbbbac No match /^(?=ab(de))(abd)(e)/ abde 0: abde 1: de 2: abd 3: e /^(?=(ab(cd)))(ab)/ abcd 0: ab 1: abcd 2: cd 3: ab /(?=(a+?))(\1ab)/ aaab 0: aab 1: a 2: aab /(?=(a+?))(\1ab)/ aaab 0: aab 1: a 2: aab /^(?:b|a(?=(.)))*\1/ abc 0: ab 1: b /(?<=(foo)a)bar/ fooabar 0: bar 1: foo *** Failers No match bar No match foobbar No match /(?<=(foo))bar\1/ foobarfoo 0: barfoo 1: foo foobarfootling 0: barfoo 1: foo *** Failers No match foobar No match barfoo No match /(?>.*)(?<=(abcd|wxyz))/ alphabetabcd 0: alphabetabcd 1: abcd endingwxyz 0: endingwxyz 1: wxyz *** Failers No match a rather long string that doesn't end with one of them No match /(a (?x)b c)d e/ a bcd e 0: a bcd e 1: a bc *** Failers No match a b cd e No match abcd e No match a bcde No match /(a b(?x)c d (?-x)e f)/ a bcde f 0: a bcde f 1: a bcde f *** Failers No match abcdef No match /a(?x: b c )d/ XabcdY 0: abcd *** Failers No match Xa b c d Y No match /((?x)x y z | a b c)/ XabcY 0: abc 1: abc AxyzB 0: xyz 1: xyz /\Aabc\z/m abc 0: abc *** Failers No match abc\n No match qqq\nabc No match abc\nzzz No match qqq\nabc\nzzz No match /b\z/ a\nb 0: b *** Failers No match /$(?<=^(a))/ a 0: 1: a /\Gabc/ abc 0: abc *** Failers No match xyzabc No match /^(a\1?){4}$/ a No match aa No match aaa No match aaaa 0: aaaa 1: a aaaaa 0: aaaaa 1: a aaaaaaa 0: aaaaaaa 1: a aaaaaaaa No match aaaaaaaaa No match aaaaaaaaaa 0: aaaaaaaaaa 1: aaaa aaaaaaaaaaa No match aaaaaaaaaaaa No match aaaaaaaaaaaaa No match aaaaaaaaaaaaaa No match aaaaaaaaaaaaaaa No match aaaaaaaaaaaaaaaa No match /^(a\1?){4}$/ aaaaaaaaaa 0: aaaaaaaaaa 1: aaaa *** Failers No match AB No match aaaaaaaaa No match aaaaaaaaaaa No match mauve-20140821/gnu/testlet/java/util/regex/Pattern/UnicodeSimpleCategory.java0000644000175000001440000001025110370225375025753 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2006 Mark J. Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.regex.Pattern; import gnu.testlet.*; import java.util.regex.*; public class UnicodeSimpleCategory implements Testlet { private TestHarness harness; /** * Tests simple unicode categories are correctly matched. */ public void test (TestHarness harness) { try { String r; String t; String t3; Matcher m; harness.checkPoint("L"); r = "(\\p{L}+)(\\p{Lu})(\\p{Ll})(\\p{Lt})(\\p{Lm})(\\p{Lo})(\\p{L}+)"; t = "Aa\u01C5\u02B0\u05D0"; t3 = t + t + t; m = Pattern.compile(r).matcher(t3); harness.check(m.find()); harness.check(m.group(1), t); harness.check(m.group(2), "A"); harness.check(m.group(3), "a"); harness.check(m.group(4), "\u01C5"); harness.check(m.group(5), "\u02B0"); harness.check(m.group(6), "\u05D0"); harness.check(m.group(7), t); harness.checkPoint("M"); r = "(\\p{M}+)(\\p{Mn})(\\p{Mc})(\\p{Me})(\\p{M}+)"; t = "\u064B\u0903\u20DD"; t3 = t + t + t; m = Pattern.compile(r).matcher(t3); harness.check(m.find()); harness.check(m.group(1), t); harness.check(m.group(2), "\u064B"); harness.check(m.group(3), "\u0903"); harness.check(m.group(4), "\u20DD"); harness.check(m.group(5), t); harness.checkPoint("N"); r = "(\\p{N}+)(\\p{Nd})(\\p{Nl})(\\p{No})(\\p{N}+)"; t = "0\u2160\u3289"; t3 = t + t + t; m = Pattern.compile(r).matcher(t3); harness.check(m.find()); harness.check(m.group(1), t); harness.check(m.group(2), "0"); harness.check(m.group(3), "\u2160"); harness.check(m.group(4), "\u3289"); harness.check(m.group(5), t); harness.checkPoint("S"); r = "(\\p{S}+)(\\p{Sm})(\\p{Sc})(\\p{Sk})(\\p{So})(\\p{S}+)"; t = "+\u00A5\u00B8\u0482"; t3 = t + t + t; m = Pattern.compile(r).matcher(t3); harness.check(m.find()); harness.check(m.group(1), t); harness.check(m.group(2), "+"); harness.check(m.group(3), "\u00A5"); harness.check(m.group(4), "\u00B8"); harness.check(m.group(5), "\u0482"); harness.check(m.group(6), t); harness.checkPoint("P"); r = "(\\p{P}+)(\\p{Pc})(\\p{Pd})(\\p{Ps})(\\p{Pe})(\\p{Pi})(\\p{Pf})" + "(\\p{Po})(\\p{P}+)"; t = "_-()\u00AB\u00BB!"; t3 = t + t + t; m = Pattern.compile(r).matcher(t3); harness.check(m.find()); harness.check(m.group(1), t); harness.check(m.group(2), "_"); harness.check(m.group(3), "-"); harness.check(m.group(4), "("); harness.check(m.group(5), ")"); harness.check(m.group(6), "\u00AB"); harness.check(m.group(7), "\u00BB"); harness.check(m.group(8), "!"); harness.check(m.group(9), t); harness.checkPoint("Z"); r = "(\\p{Z}+)(\\p{Zs})(\\p{Zl})(\\p{Zp})(\\p{Z}+)"; t = " \u2028\u2029"; t3 = t + t + t; m = Pattern.compile(r).matcher(t3); harness.check(m.find()); harness.check(m.group(1), t); harness.check(m.group(2), " "); harness.check(m.group(3), "\u2028"); harness.check(m.group(4), "\u2029"); harness.check(m.group(5), t); // Don't include unassigned Cn since we aren't sure about those. harness.checkPoint("C"); r = "(\\p{C}+)(\\p{Cc})(\\p{Cf})(\\p{Cs})(\\p{Co})(\\p{C}+)"; t = "\t\u070F\uD800\uE000"; t3 = t + t + t; m = Pattern.compile(r).matcher(t3); harness.check(m.find()); harness.check(m.group(1), t); harness.check(m.group(2), "\t"); harness.check(m.group(3), "\u070F"); harness.check(m.group(4), "\uD800"); harness.check(m.group(5), "\uE000"); harness.check(m.group(6), t); } catch(PatternSyntaxException pse) { harness.debug(pse); harness.check(false, pse.toString()); } } } mauve-20140821/gnu/testlet/java/util/regex/Pattern/pcrematches.java0000644000175000001440000001373310417273470024024 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 Ziga Mahkovec (ziga.mahkovec@klika.si) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.regex.Pattern; import gnu.testlet.*; import java.io.*; import java.util.*; import java.util.regex.*; /** * Tests the java.util.regex regular expression engine. The test cases are * adapted from PCRE (www.pcre.org). Each test cases if formatted as: *
 * /regular expression 1/
 *     test string 1
 *     0: matching group 0
 *     1: matching group 1
 *     test string 2
 * No match
       test string 3
 *     ...
 *
 * /regular expression 2/
 * ...
 * 
*/ public class pcrematches implements Testlet { private TestHarness harness; /** Regex test suites from adapted from PCRE (http://www.pcre.org/license.txt). */ private static final String[] TEST_SUITES = {"testdata1", /*"testdata2",*/ "testdata3"}; /** * Regex test case (containing a single regular expression and a list of tests). */ private static class RETestcase { String regex; List tests; // list of RETestcaseTest instances } /** * Regex test (containing a single text string and a list of resulting groups). */ private static class RETestcaseTest { String text; List groups; } public void test (TestHarness harness) { this.harness = harness; try { for (int i=0; i 0) line = line.substring(1); test.groups.add(line); reader.mark(8096); } tc.tests.add(test); if (line == null || line.length() == 0) break; } return tc; } private static String decode(String s) { StringBuffer sb = new StringBuffer(); int p = 0; int q = 0; while (true) { p = s.indexOf("\\u", q); if (p == -1) { sb.append(s.substring(q)); break; } sb.append(s.substring(q, p)); if (p + 6 <= s.length()) { String hex = s.substring(p+2, p+6); try { int c = Integer.parseInt(hex, 16); sb.append((char)c); } catch (NumberFormatException _) { sb.append(s.substring(p, p+6)); } q = p + 6; } else { sb.append(s.substring(p, p+2)); q = p + 2; } } return sb.toString(); } } mauve-20140821/gnu/testlet/java/util/regex/Pattern/matches.java0000644000175000001440000000575210357225436023156 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 Mark J. Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.regex.Pattern; import gnu.testlet.*; import java.util.regex.*; public class matches implements Testlet { private TestHarness harness; /** * Tests whether things match completely (not just partially) as * suggested by Timo Juhani Lindfors (timo.lindfors@iki.fi). */ public void test (TestHarness harness) { try { harness.check(!Pattern.matches("b", "ab")); harness.check(Pattern.matches("ab", "ab")); harness.check(!Pattern.matches("abab", "abababab")); harness.check(Pattern.matches("abababab", "abababab")); harness.check(!Pattern.matches("(\\w,)+", "a,b,c,d,e")); harness.check(Pattern.matches("(\\w,)+", "a,b,c,d,e,")); harness.check(!Pattern.matches("\\d+", "123,456")); harness.check(Pattern.matches("\\d+,\\d+", "123,456")); harness.check(!Pattern.matches("\\d+,\\d+", "123,456,789")); harness.check(Pattern.matches("\\d+,\\d+,\\d+", "123,456,789")); harness.check(!Pattern.matches("\\d+,\\d+,\\d+,", "123,456,789")); harness.check(Pattern.matches("\\d+,\\d+,\\d+,", "123,456,789,")); harness.check(!Pattern.matches("[a-c]", "abc")); harness.check(!Pattern.matches("[a-c][a-c]", "abc")); harness.check(Pattern.matches("[a-c][a-c][a-c]", "abc")); harness.check(!Pattern.matches("[a-c][a-c][a-c][a-c]", "abc")); harness.check(!Pattern.matches("[a-z]*", "abc1defZghi")); harness.check(!Pattern.matches("([a-z]|\\d)*", "abc1defZghi")); harness.check(Pattern.matches("([a-z]|\\d|[A-Z])*", "abc1defZghi")); harness.check(!Pattern.matches("([a-z]|\\d|[A-Z])*", ",abc1defZghi")); harness.check(!Pattern.matches("([a-z]|\\d|[A-Z])*", "abc1defZghi,")); harness.check(!Pattern.matches("([a-z]|\\d|[A-Z])*", ",abc1defZghi,")); harness.check(Pattern.matches("()*", "")); harness.check(!Pattern.matches("()*", "x")); harness.check(Pattern.matches("(b*c*)*", "")); harness.check(Pattern.matches("(b*c*)*", "cbbcbbb")); harness.check(Pattern.matches("(b*c*)+", "")); harness.check(Pattern.matches("(b*c*)+", "cbbcbbb")); harness.check(Pattern.matches("(b*c*){3,}", "cbbcbbb")); harness.check(Pattern.matches("(b*c*){10,}", "cbbcbbb")); } catch(PatternSyntaxException pse) { harness.debug(pse); harness.check(false, pse.toString()); } } } mauve-20140821/gnu/testlet/java/util/regex/Pattern/testdata30000644000175000001440000000276010417273470022500 0ustar dokousers# # Quoting constructs (PR libgcj/20504) # /abc\Qabc\Eabc/ abcabcabc 0: abcabcabc /abc\Q(*+|\Eabc/ abc(*+|abc 0: abc(*+|abc /\Qa.b+c*\E/ a.b+c* 0: a.b+c* aabbcc No match /\Q(a)\E/ (a) 0: (a) a No match /a+\Qb+\Ea+/ aaab+a 0: aaab+a aaabbbaaa No match /\Q\a\b\n\r\E/ \a\b\n\r 0: \a\b\n\r # # Possessive quantifiers (PR libgcj/20435) # /a?+/ a 0: a aa 0: a /a*+/ a 0: a aa 0: aa /a++/ a 0: a aa 0: aa /.*+b/ a No match ab No match aab No match /a{1,3}+/ a 0: a aa 0: aa aaa 0: aaa /a*+abc?+xyz++pqr{3}+ab{2,}+xy{4,5}+pq{0,6}+AB{0,}+zz/ abxyzpqrrrabbxyyyypqAzz No match /(\d\d\d\d)/(\d{1,2}+)/(\d{1,2}+)/(.+)/ /2005/05/01/url 0: 2005/05/01/url 1: 2005 2: 05 3: 01 4: url /2005/5/1/url 0: 2005/5/1/url 1: 2005 2: 5 3: 1 4: url /2005/05/01/ No match /2005/100/100/url No match # # Union and intersection of character classes # /[\p{L}[\p{Mn}[\p{Pc}[\p{Nd}[\p{Nl}[\p{Sc}]]]]]]+/ $a1_ 0: $a1_ /[a-c&&[b-e]&&[\w]]X/ bX 0: bX /[a-c&&b-e&&\p{Lower}]X/ cX 0: cX /[a-e[h-k][m-p]&&[^bjn]]+/ ckp 0: ckp dhn 0: dh nhd 0: hd nx No match # # Unicode-aware case folding # /(?u:\uff21)/i \uff41 0: \uff41 /(?:\uff21)/i \uff41 No match /(?ui:[\uff21-\uff23]+)/ \uff41\uff42\uff43 0: \uff41\uff42\uff43 \uff21\uff42\uff23 0: \uff21\uff42\uff23 /(?i:[\uff21-\uff23]+)/ \uff41\uff42\uff43 No match \uff21\uff42\uff23 0: \uff21 mauve-20140821/gnu/testlet/java/util/regex/Pattern/testdata20000644000175000001440000000014610411610364022462 0ustar dokousers/-- Testcases which fail should be kept in this file --/ /-- until the fix is done. --/ No match mauve-20140821/gnu/testlet/java/util/regex/TestHelper.java0000644000175000001440000001611010057633065022160 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 Mark Wielaard // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.regex; import gnu.testlet.*; import java.nio.CharBuffer; import java.util.Arrays; import java.util.regex.*; /** * package private helper class for testing regular expressions. */ class TestHelper { private final TestHarness harness; TestHelper(TestHarness harness) { this.harness = harness; } /** * Test wheter the given Pattern matches against a empty string or not. */ void testEmpty(Pattern pattern, boolean matches) { // Try static matches method harness.checkPoint("testEmpty static Pattern.matches(" + pattern.pattern() + ")"); try { harness.check(matches == Pattern.matches(pattern.pattern(), "")); } catch (PatternSyntaxException pse) { harness.debug(pse); harness.check(false); } // Try Matcher methods harness.checkPoint("testEmpty '" + pattern.pattern() + "' flags " + pattern.flags()); Matcher matcher = pattern.matcher(""); testEmpty(matcher, matches); // Try reset Matcher with a CharBuffer wrapped around a empty StringBuffer. harness.checkPoint("testEmpty '" + pattern.pattern() + "' flags " + pattern.flags() + " (reset)"); matcher.reset(CharBuffer.wrap(new StringBuffer())); testEmpty(matcher, matches); // Try split methods harness.checkPoint("testEmpty split '" + pattern.pattern() + "' flags " + pattern.flags()); String[] expected = new String[] { "" }; harness.check(Arrays.equals(expected, pattern.split(""))); harness.check(Arrays.equals(expected, pattern.split("", 1))); } void testEmpty(Matcher matcher, boolean matches) { harness.check(matches == matcher.matches()); harness.check(matches == matcher.lookingAt()); harness.check(!matcher.find()); matcher.reset(); harness.check(matches == matcher.find()); if (matches) { harness.check(matcher.start() == 0); harness.check(matcher.end() == 0); harness.check("", matcher.group()); int groups = matcher.groupCount(); harness.check(groups >= 0); for (int i = 0; i < groups; i++) { harness.check(matcher.start(i) == 0); harness.check(matcher.end(i) == 0); harness.check("", matcher.group(0)); } harness.check("cat", matcher.replaceAll("cat")); harness.check("dog", matcher.replaceFirst("dog")); matcher.reset(); StringBuffer sb = new StringBuffer(); while (matcher.find()) matcher.appendReplacement(sb, "blue"); matcher.appendTail(sb); harness.check("blue", sb.toString()); } } /** * Test wheter the given Pattern matches against the complete given string. */ void testMatchComplete(Pattern pattern, String string) { // Try static matches method harness.checkPoint("testMatchComplete static Pattern.matches(" + pattern.pattern() + ")"); try { harness.check(Pattern.matches(pattern.pattern(), string)); } catch (PatternSyntaxException pse) { harness.debug(pse); harness.check(false); } // Try Matcher methods harness.checkPoint("testMatchComplete '" + pattern.pattern() + "' flags " + pattern.flags()); Matcher matcher = pattern.matcher(string); testMatchComplete(matcher, string); // Try reset Matcher with a CharBuffer wrapped around new StringBuffer. harness.checkPoint("testComplete '" + pattern.pattern() + "' flags " + pattern.flags() + " (reset)"); matcher.reset(CharBuffer.wrap(new StringBuffer(string))); testMatchComplete(matcher, string); // Try split methods harness.checkPoint("testComplete split '" + pattern.pattern() + "' flags " + pattern.flags()); String[] expected = new String[] { }; String[] split = pattern.split(string); harness.check(Arrays.equals(expected, split)); split = pattern.split(string, 0); harness.check(Arrays.equals(expected, split)); expected = new String[] { string }; split = pattern.split(string, 1); harness.check(Arrays.equals(expected, split)); expected = new String[] { "", "" }; split = pattern.split(string, -1); harness.check(Arrays.equals(expected, split)); split = pattern.split(string, 2); harness.check(Arrays.equals(expected, split)); split = pattern.split(string, 3); harness.check(Arrays.equals(expected, split)); } void testMatchComplete(Matcher matcher, String string) { try { harness.check(matcher.matches()); harness.check(matcher.lookingAt()); harness.check(!matcher.find()); matcher.reset(); harness.check(matcher.find()); // We should be able to add extra parens and have group 1 for certain. Pattern pattern = Pattern.compile("(" + matcher.pattern().pattern() + ")"); matcher = pattern.matcher(string); harness.check(matcher.matches()); harness.check(matcher.lookingAt()); harness.check(!matcher.find()); matcher.reset(); harness.check(matcher.find()); harness.check(matcher.start() == 0); harness.check(matcher.end() == string.length()); harness.check(string, matcher.group()); int groups = matcher.groupCount(); harness.check(groups >= 1); harness.check(matcher.start(0) == 0); harness.check(matcher.start(1) == 0); harness.check(matcher.end(0) == string.length()); harness.check(matcher.end(1) == string.length()); harness.check(string, matcher.group(0)); harness.check(string, matcher.group(1)); harness.check("cat", matcher.replaceAll("cat")); harness.check("dog", matcher.replaceFirst("dog")); harness.check("cat" + string + "dog", matcher.replaceAll("cat$0dog")); harness.check("dog" + string + "cat", matcher.replaceFirst("dog$1cat")); matcher.reset(); StringBuffer sb = new StringBuffer(); while (matcher.find()) matcher.appendReplacement(sb, "blue"); matcher.appendTail(sb); harness.check("blue", sb.toString()); } catch (PatternSyntaxException pse) { harness.debug(pse); harness.check(false); } catch(IllegalStateException ise) { harness.debug(ise); harness.check(false); } } void testNotPattern(String pat) { harness.checkPoint("testNotPattern: " + pat); boolean exception = false; try { Pattern pattern = Pattern.compile(pat); } catch(PatternSyntaxException pse) { exception = true; } harness.check(exception); } } mauve-20140821/gnu/testlet/java/util/regex/CharacterClasses.java0000644000175000001440000000562710364263072023324 0ustar dokousers// Tags: JDK1.4 // Uses: TestHelper // Copyright (C) 2004 Mark Wielaard // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.regex; import gnu.testlet.*; import java.util.regex.*; /** * Tests character classes, negated character classes and class set * operations. */ public class CharacterClasses implements Testlet { private TestHarness harness; private TestHelper helper; public void test (TestHarness harness) { this.harness = harness; this.helper = new TestHelper(harness); test("a", 'a', 'b'); test("ab", 'b', 'c'); test("ba", 'a', 'c'); test("abcdefghijklmnopqrstuvwxyz123456789ABCDEFGHIJKLMNOPQRSTUVW", 'a', '*'); test("abcdefghijklmnopqrstuvwxyz123456789ABCDEFGHIJKLMNOPQRSTUVW", '1', '*'); test("abcdefghijklmnopqrstuvwxyz123456789ABCDEFGHIJKLMNOPQRSTUVW", 'A', '*'); test("a-z", 'a', 'A'); test("A-Z", 'Z', 'z'); test("a-zA-Z", 'a', '1'); test("1-9a-zA-Z", 'A', ' '); test("-", '-', '*'); test(".", '.', '^'); test("*", '*', '$'); test("$", '$', '*'); // Sun's JDK does not accept the traditional expression "[[]" // maybe because it must support new expressions such as "[a-d[m-p]]" // and "[a-z&&[^m-p]]". So the following test has been commented out. // test("[", '[', ']'); test("\\[", '[', ']'); test("\\]", ']', '['); helper.testNotPattern("[]"); helper.testNotPattern("[^]"); } void test(String range, char c, char nc) { // Positive range String pat = '[' + range + ']'; harness.checkPoint("test: " + pat); try { Pattern pattern = Pattern.compile(pat); harness.check(pat, pattern.pattern()); helper.testEmpty(pattern, false); helper.testMatchComplete(pattern, Character.toString(c)); } catch(PatternSyntaxException pse) { harness.debug(pse); harness.check(false); } // Negative range pat = "[^" + range + ']'; harness.checkPoint("test: " + pat); try { Pattern pattern = Pattern.compile(pat); harness.check(pat, pattern.pattern()); helper.testEmpty(pattern, false); helper.testMatchComplete(pattern, Character.toString(nc)); } catch(PatternSyntaxException pse) { harness.debug(pse); harness.check(false); } } } mauve-20140821/gnu/testlet/java/util/Random/0000755000175000001440000000000012375316450017346 5ustar dokousersmauve-20140821/gnu/testlet/java/util/Random/basic.java0000644000175000001440000000536507562364343021311 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998, 2002 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.Random; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Random; public class basic implements Testlet { public void test (TestHarness harness) { Random rand; rand = new Random(122760); harness.check (rand.nextInt(), -1524104671); harness.check (rand.nextLong(), 2785759620113032781L); harness.check (String.valueOf(rand.nextDouble()), "0.8173322904425151"); harness.check (String.valueOf(rand.nextFloat()), "0.8239248"); byte[] b = new byte[0]; rand.nextBytes(b); harness.check (rand.nextInt(), -899478426); rand = new Random(122760); rand.nextInt(); rand.nextLong(); rand.nextDouble(); rand.nextFloat(); b = new byte[3]; rand.nextBytes(b); harness.check (b[0], 102); harness.check (b[1], 12); harness.check (b[2], 99); harness.check (rand.nextInt(), -1550323395); rand = new Random(122760); rand.nextInt(); rand.nextLong(); rand.nextDouble(); rand.nextFloat(); b = new byte[4]; rand.nextBytes(b); harness.check (b[0], 102); harness.check (b[1], 12); harness.check (b[2], 99); harness.check (b[3], -54); harness.check (rand.nextInt(), -1550323395); rand = new Random(122760); rand.nextInt(); rand.nextLong(); rand.nextDouble(); rand.nextFloat(); b = new byte[5]; rand.nextBytes(b); harness.check (b[0], 102); harness.check (b[1], 12); harness.check (b[2], 99); harness.check (b[3], -54); harness.check (b[4], 61); harness.check (rand.nextInt(), -270809961); // Spot check for negative numbers. This is a regression test // an old Classpath bug. boolean ok = true; rand = new Random (0); for (int i=0; i < 1000000; ++i) { int x = rand.nextInt (1000); if (x < 0 || x >= 1000) ok = false; } harness.check (ok); } } mauve-20140821/gnu/testlet/java/util/Observable/0000755000175000001440000000000012375316426020215 5ustar dokousersmauve-20140821/gnu/testlet/java/util/Observable/observable.java0000644000175000001440000000240010276711557023202 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 2005 Red Hat, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.Observable; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Observable; import java.util.Observer; public class observable implements Testlet { public void test (TestHarness harness) { Observable o = new Observable(); harness.checkPoint("adding null Observer"); boolean ok = false; try { o.addObserver(null); } catch (NullPointerException _) { ok = true; } harness.check(ok); } } mauve-20140821/gnu/testlet/java/util/AbstractMap/0000755000175000001440000000000012375316426020332 5ustar dokousersmauve-20140821/gnu/testlet/java/util/AbstractMap/AcuniaAbstractMapTest.java0000644000175000001440000002526610206401721025352 0ustar dokousers/* Copyright (C) 2001 ACUNIA This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.2 // Uses: Entry ESet EIterator package gnu.testlet.java.util.AbstractMap; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.*; /** * Written by ACUNIA.
*
* this file contains test for java.util.AbstractMap
* */ public class AcuniaAbstractMapTest extends AbstractMap implements Testlet { protected TestHarness th; public void test (TestHarness harness) { th = harness; test_get(); test_containsKey(); test_containsValue(); test_isEmpty(); test_size(); test_clear(); test_put(); test_putAll(); test_remove(); test_entrySet(); test_keySet(); test_values(); test_equals(); test_hashCode(); test_toString(); } protected AcuniaAbstractMapTest buildHT() { AcuniaAbstractMapTest t = new AcuniaAbstractMapTest(); String s; for (int i=0 ; i < 15 ; i++) { s = "a"+i; t.put(s,s+" value"); } return t; } /** * implemented.
* */ public void test_get(){ th.checkPoint("get(java.lang.Object)java.lang.Object"); AcuniaAbstractMapTest ehm = buildHT(); Object o; String s="a1"; o = ehm.get(s); th.check( (s+" value").equals(o) , "checking return value"); o = ehm.get(null); th.check( o == null ); o = ehm.get(s+" value"); th.check( o == null ); ehm.put(null,s); o = ehm.get(null); th.check( s.equals(o)); } /** * implemented.
* */ public void test_containsKey(){ th.checkPoint("containsKey(java.lang.Object)boolean"); AcuniaAbstractMapTest ehm = buildHT(); th.check(!ehm.containsKey(null) , "null not there"); ehm.put(null,"test"); th.check(ehm.containsKey(null) , "null is in there"); th.check(ehm.containsKey("a1") , "object is in there"); th.check(!ehm.containsKey("a1 value") , "object is not in there -- 1"); th.check(!ehm.containsKey(new Object()) , "object is not in there -- 2"); } /** * implemented.
* */ public void test_containsValue(){ th.checkPoint("containsValue(java.lang.Object)boolean"); AcuniaAbstractMapTest ehm = buildHT(); th.check(!ehm.containsValue(null) , "null not there"); ehm.put(null,null); th.check(ehm.containsValue(null) , "null is in there"); th.check(!ehm.containsValue("a1") , "object is not in there -- 1"); th.check(ehm.containsValue("a1 value") , "object is in there -- 1"); th.check(!ehm.containsValue(new Object()) , "object is not in there -- 2"); } /** * implemented.
* */ public void test_isEmpty(){ th.checkPoint("isEmpty()boolean"); AcuniaAbstractMapTest ehm = new AcuniaAbstractMapTest(); th.check(ehm.isEmpty() , "true"); ehm = buildHT(); th.check(!ehm.isEmpty() , "false"); } /** * not implemented.
* Abstract Method */ public void test_size(){ th.checkPoint("()"); } /** * implemented.
* */ public void test_clear(){ th.checkPoint("clear()void"); AcuniaAbstractMapTest ehm = buildHT(); ehm.clear(); th.check(ehm.isEmpty() , "true"); } /** * implemented.
* */ public void test_put(){ th.checkPoint("put(java.lang.Object,java.lang.Object)java.lang.Object"); AcuniaAbstractMapTest ehm = buildHT(); ehm.set_edit(false); try { ehm.put("a","b"); th.fail("should throw an UnsupportedOperationException"); } catch (UnsupportedOperationException uoe) { th.check(true); } } /** * implemented.
* */ public void test_putAll(){ th.checkPoint("putAll(java.util.Map)void"); Hashtable ht = new Hashtable(); AcuniaAbstractMapTest ehm = new AcuniaAbstractMapTest(); th.check( ehm.equals(ht) , "true -- both empty"); ht.put("a","b"); ht.put("c","d"); ht.put("e","f"); ehm.putAll(ht); th.check( ehm.equals(ht) , "true -- 1"); ht.put("a1","f"); ht.put("e","b"); ehm.putAll(ht); th.check( ehm.equals(ht) , "true -- 2"); ehm = buildHT(); try { ehm.putAll(ht); th.check(true, "putAll: " + ht); } catch (NoSuchElementException nse) { th.check(false, "putAll: " + ht); } th.check(ehm.size() == 18 , "added three elements"); th.check("f".equals(ehm.get("a1")) , "overwritten old value"); } /** * implemented.
* */ public void test_remove(){ th.checkPoint("remove(java.lang.Object)java.lang.Object"); AcuniaAbstractMapTest ehm = buildHT(); ehm.remove("a1"); th.check(!ehm.containsKey("a1") , "key removed -- 1"); th.check(!ehm.containsValue("a1 value") , "value removed -- 1"); ehm.remove("a0"); th.check(!ehm.containsKey("a0") , "key removed -- 2"); th.check(!ehm.containsValue("a0 value") , "value removed -- 2"); for (int i=2 ; i < 15 ; i++ ) { ehm.remove("a"+i); } th.check(ehm.isEmpty()); } /** * not implemented.
* Abstract Method */ public void test_entrySet(){ th.checkPoint("()"); } /** * implemented.
* check only on methods not inherited from AbstractSet */ public void test_keySet(){ th.checkPoint("keySet()java.util.Set"); AcuniaAbstractMapTest ehm = buildHT(); Set s = ehm.keySet(); th.check(s.size() == 15); ehm.put(null,"test"); th.check(s.size() == 16); th.check(s.contains("a1"),"does contain a1"); th.check(s.contains(null),"does contain null"); th.check(!s.contains(new Object()),"does contain new Object"); th.check(!s.contains("test"),"does contain test"); th.check( s == ehm.keySet() , "same Set is returned"); Iterator it = s.iterator(); Vector v = ehm.getKeyV(); int i; Object o; for (i=0 ; i < 16 ; i++) { o = it.next(); th.check(v.indexOf(o) == 0, "order is not respected"); if (!v.remove(o)) th.debug("didn't find "+o); } it = s.iterator(); while (it.hasNext()) { it.next(); it.remove(); } th.check(s.isEmpty(), "everything is removed"); s = ehm.keySet(); th.check(s.isEmpty(), "new Set is also empty"); ehm.put("a","B"); th.check(!s.isEmpty(), "Set is updated by underlying actions"); } /** * implemented.
* check only on methods not inherited from AbstractCollection */ public void test_values(){ th.checkPoint("values()java.util.Collection"); AcuniaAbstractMapTest ehm = buildHT(); Collection s = ehm.values(); th.check(s.size() == 15); ehm.put(null,"test"); ehm.put("a10",null); th.check(s.size() == 16); th.check(s.contains("a1 value"),"does contain a1 value"); th.check(s.contains(null),"does contain null"); th.check(!s.contains(new Object()),"does contain new Object"); th.check(s.contains("test"),"does contain test"); th.check(!s.contains("a1"),"does not contain a1"); th.check( s == ehm.values() , "same Set is returned"); Iterator it = s.iterator(); Vector v = ehm.getValuesV(); int i; Object o; for (i=0 ; i < 16 ; i++) { o = it.next(); th.check(v.indexOf(o) == 0, "order is not respected"); if (!v.remove(o)) th.debug("didn't find "+o); } it = s.iterator(); while (it.hasNext()) { it.next(); it.remove(); } th.check(s.isEmpty(), "everything is removed"); s = ehm.values(); th.check(s.isEmpty(), "new Set is also empty"); ehm.put("a","B"); th.check(!s.isEmpty(), "Set is updated by underlying actions"); } /** * implemented.
* */ public void test_equals(){ th.checkPoint("equals(java.lang.Object)boolean"); Hashtable ht = new Hashtable(); AcuniaAbstractMapTest ehm = new AcuniaAbstractMapTest(); th.check( ehm.equals(ht) , "true -- both empty"); ht.put("a","b"); ht.put("c","d"); ht.put("e","f"); ehm.put("a","b"); ehm.put("c","d"); ehm.put("e","f"); th.check( ehm.equals(ht) , "true -- same key && values"); ht.put("a","f"); th.check(! ehm.equals(ht) , "false -- same key && diff values"); ht.put("e","b"); th.check(! ehm.equals(ht) , "false -- key with diff values"); th.check(! ehm.equals(ht.entrySet()) , "false -- no Map"); th.check(! ehm.equals(new Object()) , "false -- Object is no Map"); th.check(! ehm.equals(null) , "false -- Object is null"); } /** * implemented.
* */ public void test_hashCode(){ th.checkPoint("hashCode()int"); AcuniaAbstractMapTest ehm = new AcuniaAbstractMapTest(); th.check( ehm.hashCode() == 0 , "hashCode of Empty Map is 0, got "+ehm.hashCode()); int hash = 0; Iterator s = ehm.entrySet().iterator(); while (s.hasNext()) { hash += s.next().hashCode(); } th.check( ehm.hashCode() , hash , "hashCode of Empty Map -- checking Algorithm"); } /** * implemented.
* */ public void test_toString(){ th.checkPoint("toString()java.lang.String"); AcuniaAbstractMapTest ehm = new AcuniaAbstractMapTest(); th.check("{}".equals(ehm.toString()) , "checking empty Map"); ehm.put("a","b"); th.debug(ehm.toString()); th.check("{a=b}".equals(ehm.toString()) , "checking Map with one element"); ehm.put("c","d"); ehm.put("e","f"); th.debug(ehm.toString()); th.check("{a=b, c=d, e=f}".equals(ehm.toString()) , "checking Map with three elements"); } public String toString() { return super.toString(); } // The following field and methods are needed to use this class as an // implementation test for AbstractMap // Vector keys = new Vector(); Vector values = new Vector(); private boolean edit = true; boolean deleteInAM(Object e) { if (!keys.contains(e)) return false; values.remove(keys.indexOf(e)); return keys.remove(e); } public Vector getKeyV() { return (Vector)keys.clone(); } public Vector getValuesV() { return (Vector)values.clone(); } public AcuniaAbstractMapTest(){ super(); } public Set entrySet() { return new ESet(this); } public Object put(Object key, Object value) { if (edit) { if (keys.contains(key)) { return values.set(keys.indexOf(key),value); } values.add(value); keys.add(key); return null; } return super.put(key,value); } public void set_edit(boolean b) { edit = b; } } mauve-20140821/gnu/testlet/java/util/AbstractMap/EIterator.java0000644000175000001440000000161107467203424023071 0ustar dokousers// Tags: not-a-test package gnu.testlet.java.util.AbstractMap; import java.util.*; class EIterator implements Iterator { int pos=0; int status=0; private AcuniaAbstractMapTest map; public EIterator(AcuniaAbstractMapTest map) { this.map = map; } public boolean hasNext() { return pos < map.size(); } public Object next() { status = 1; if (pos>= map.size()) throw new NoSuchElementException("no elements left"); pos++; return new Entry(map.keys.get(pos-1), map.values.get(pos-1)); } public void remove() { if (status != 1 ) throw new IllegalStateException("do a next() operation before remove()"); map.deleteInAM(map.keys.get(pos-1)); pos--; status=-1; } } mauve-20140821/gnu/testlet/java/util/AbstractMap/Entry.java0000644000175000001440000000153507467203424022301 0ustar dokousers// Tags: not-a-test package gnu.testlet.java.util.AbstractMap; import java.util.*; class Entry implements Map.Entry { private Object key; private Object value; public Entry(Object k, Object v) { key = k; value = v; } public Object getKey() { return key; } public Object getValue() { return value; } public Object setValue(Object nv) { Object ov = value; value = nv; return ov; } public boolean equals(Object o) { if (!(o instanceof Map.Entry))return false; Map.Entry e = (Map.Entry)o; if ( e == null ) return false; return ( (key == null ? e.getKey()==null : key.equals(e.getKey())) && (value == null ? e.getValue()==null : key.equals(e.getValue()))); } } mauve-20140821/gnu/testlet/java/util/AbstractMap/ESet.java0000644000175000001440000000057507467203424022043 0ustar dokousers// Tags: not-a-test package gnu.testlet.java.util.AbstractMap; import java.util.*; class ESet extends AbstractSet { private AcuniaAbstractMapTest map; ESet(AcuniaAbstractMapTest map) { this.map = map; } public Iterator iterator() { return new EIterator(map); } public int size() { return map.keys.size(); } } mauve-20140821/gnu/testlet/java/util/Hashtable/0000755000175000001440000000000012375316450020021 5ustar dokousersmauve-20140821/gnu/testlet/java/util/Hashtable/basic.java0000644000175000001440000000554306634200746021755 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.Hashtable; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Hashtable; public class basic implements Testlet { public void test (TestHarness harness) { // The toString tests have been commented out as they currently // print in reverse order from the std JDK. Uncomment these if // we change our implementation to output in the same order. Hashtable hash = new Hashtable(13, 0.25F); harness.check (hash.toString(), "{}"); harness.check (hash.isEmpty()); hash.put(new Integer(1), "one"); hash.put(new Integer(2), "two"); hash.put(new Integer(3), "three"); hash.put(new Integer(4), "four"); hash.put(new Integer(5), "five"); // Rehash should have just happened. hash.put(new Integer(6), "six"); hash.put(new Integer(7), "seven"); // Rehash should have just happened. hash.put(new Integer(8), "eight"); hash.put(new Integer(9), "nine"); hash.put(new Integer(10), "ten"); hash.put(new Integer(11), "eleven"); hash.put(new Integer(12), "twelve"); hash.put(new Integer(13), "thirteen"); hash.put(new Integer(14), "fourteen"); // Rehash should have just happened. hash.put(new Integer(15), "fifteen"); // harness.check (hash.toString()); harness.check (! hash.isEmpty()); harness.check (hash.size(), 15); Integer key = new Integer(13); String val = (String) hash.get(key); hash.put(key, val.toUpperCase()); // harness.check (hash.toString()); harness.check (hash.size(), 15); harness.check (hash.containsKey(key)); harness.check (! hash.contains("thirteen")); harness.check (hash.contains("THIRTEEN")); hash.remove(key); // harness.check (hash.toString()); harness.check (hash.size(), 14); Hashtable copy = (Hashtable) hash.clone(); hash.clear(); harness.check (hash.toString(), "{}"); harness.check (hash.size(), 0); // harness.check (copy.toString()); harness.check (copy.size(), 14); } } mauve-20140821/gnu/testlet/java/util/Hashtable/EnumerateAndModify.java0000644000175000001440000001104210361265604024377 0ustar dokousers/* EnumerateAndModify.java -- A test for Hashtable Copyright (C) 2006 Fridjof Siebert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.0 package gnu.testlet.java.util.Hashtable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Hashtable; import java.util.Enumeration; /** * EnumerateAndModify tests that enumerating a Hashtable that is * concurrently modified will not throw an exception. * * @author Fridtjof Siebert (siebert@aicas.com) */ public class EnumerateAndModify implements Testlet { /** * test is the main test routine testing enumaration of keys and * elements of a concurrently modified hashtable. * * @param harness the current test harness. */ public void test(TestHarness harness) { Hashtable allKeys = new Hashtable(); allKeys.put("C","c"); allKeys.put("D","d"); allKeys.put("A","a"); allKeys.put("B","b"); allKeys.put("E","e"); allKeys.put("C1","c"); allKeys.put("D1","d"); allKeys.put("A1","a"); allKeys.put("B1","b"); allKeys.put("E1","e"); Hashtable allElements = new Hashtable(); allElements.put("c","c"); allElements.put("d","d"); allElements.put("a","a"); allElements.put("b","b"); allElements.put("e","e"); allElements.put("c1","c1"); allElements.put("d1","d1"); allElements.put("a1","a1"); allElements.put("b1","b1"); allElements.put("e1","e1"); Hashtable ht = new Hashtable(); ht.put("A","a"); ht.put("B","b"); ht.put("C","c"); ht.put("D","d"); ht.put("E","e"); Throwable thrown; boolean returnedOnlyKeysThatWerePut = true; try { // We walk through the keys while we modify the hashtable. This // is not legal, and the result of the enumaration is undefined, // but we should not get any exception when enumerating and we // should not get null or any key that was never added. for (Enumeration e = ht.keys(); e.hasMoreElements(); ) { String str = (String) e.nextElement(); if (str != null && !allKeys.containsKey(str)) { returnedOnlyKeysThatWerePut = false; } ht.put("C","c"); ht.put("D","d"); ht.put("A","a"); ht.put("B","b"); ht.put("E","e"); ht.put("C1","c"); ht.put("D1","d"); ht.put("A1","a"); ht.put("B1","b"); ht.put("E1","e"); } thrown = null; } catch (Throwable t) { t.printStackTrace(); thrown = t; } harness.check(thrown == null); harness.check(returnedOnlyKeysThatWerePut); ht = new Hashtable(); ht.put("A","a"); ht.put("B","b"); ht.put("C","c"); ht.put("D","d"); ht.put("E","e"); boolean returnedOnlyElementsThatWerePut = true; try { // We walk through the keys while we modify the hashtable. This // is not legal, and the result of the enumaration is undefined, // but we should not get any exception when enumerating and we // should not get null or any key that was never added. for (Enumeration e = ht.elements(); e.hasMoreElements(); ) { String str = (String) e.nextElement(); if (str != null && !allElements.containsKey(str)) { returnedOnlyElementsThatWerePut = false; } ht.put("C","c"); ht.put("D","d"); ht.put("A","a"); ht.put("B","b"); ht.put("E","e"); ht.put("C1","c1"); ht.put("D1","d1"); ht.put("A1","a1"); ht.put("B1","b1"); ht.put("E1","e1"); } thrown = null; } catch (Throwable t) { thrown = t; } harness.check(thrown == null); harness.check(returnedOnlyElementsThatWerePut); } } mauve-20140821/gnu/testlet/java/util/Hashtable/ContainsHash.java0000644000175000001440000000300007757656122023252 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Mark J. Wielaard // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.Hashtable; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Hashtable; /** * Test whether overriding only contains work with a 1.2 Map * containsValue method (not overridden). */ public class ContainsHash extends Hashtable implements Testlet { private static Object a = new Object(); private static Object b = new Object(); public void test (TestHarness harness) { harness.check(!contains(a)); harness.check(contains(b)); harness.check(!containsValue(a)); harness.check(containsValue(b)); } // Override and check that it is b. // This table only contains a virtual (a, b) pair. public boolean contains(Object value) { return value == b; } } mauve-20140821/gnu/testlet/java/util/Hashtable/AcuniaHashtableTest.java0000644000175000001440000004422210206401723024531 0ustar dokousers/* Copyright (C) 2001 ACUNIA This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.2 package gnu.testlet.java.util.Hashtable; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.*; /** * This file contains testcode for java.util.Hashtable
*
* WRITTEN BY ACUNIA
*/ public class AcuniaHashtableTest implements Testlet { protected TestHarness th; public void test (TestHarness harness) { th = harness; test_Hashtable(); test_elements(); test_get (); test_keys (); test_contains(); test_containsKey(); test_containsValue(); test_isEmpty(); test_size(); test_put(); test_putAll (); test_remove(); test_entrySet(); test_keySet(); test_values(); test_clone(); test_equals(); test_hashCode(); test_toString(); test_rehash(); test_behaviour(); } public Hashtable buildknownHt() { Hashtable ht = new Hashtable(19); Float f; for (int i =0; i < 11; i++) { f = new Float((float)i); ht.put( f , f ); } return ht; } /** * implemented.
* testing this is not easy since we cannot get the values of
* the properties we pass to the hashtable --> code looked OK
* we just make the objects and do some basic testing. */ public void test_Hashtable(){ th.checkPoint("Hashtable()"); Hashtable h = new Hashtable(); h = new Hashtable(233, 0.5f); try { h = new Hashtable(0); th.check(true,"test 1"); h = new Hashtable(25); th.check(true,"test 2"); } catch (Exception e) {th.fail("shouldn't throw an exception -- "+e);} try { h = new Hashtable(-233); th.fail("should throw an IllegalArgumentException"); } catch (IllegalArgumentException ie) { th.check(true,"test 3");} // what happens if loadfactor is 0.0f, -1.0f or 2345.56f ???? try { h = new Hashtable(233, 23.0f); th.check(true,"test 4"); } catch (Exception e) {th.fail("shouldn't throw an exception -- "+e);} try { h = new Hashtable(233, 0.0f); th.fail("should throw an IllegalArgumentException"); } catch (IllegalArgumentException ie) { th.check(true,"test 5");} try { h = new Hashtable(233 ,-1.0f); th.fail("should throw an IllegalArgumentException"); } catch (IllegalArgumentException ie) { th.check(true,"test 6");} h = new Hashtable(buildknownHt()); th.check (h.size() == 11 , "the map had 11 enries"); try { h = new Hashtable(null); th.fail("should throw a NullPointerException"); } catch (NullPointerException ne) {th.check(true);} } /** * implemented. * */ public void test_elements(){ th.checkPoint("elements()java.util.Enumeration"); Hashtable ht = buildknownHt(); Object o; Float f; Enumeration e = (Enumeration) ht.elements(); int i = 0; while (e.hasMoreElements()){ i++; f= (Float) e.nextElement(); o = ht.get( f ); th.check( o != null,"each element is unique -- nr "+i); ht.remove(f); } th.check(i == 11, "we should have 11 elements"); th.check(ht.size() == 0); e = new Hashtable().elements(); th.check( e != null , "elements should return a non-null value"); th.check(!e.hasMoreElements(), "e should not have elements"); } /** * implemented. * */ public void test_get(){ th.checkPoint("get(java.lang.Object)java.lang.Object"); Hashtable hte=new Hashtable(),ht = buildknownHt(); try { ht.get(null); th.fail("should throw NullPointerException"); } catch (NullPointerException ne) { th.check(true); } th.check( ht.get(new Object()) == null ,"gives back null if not in -- 1"); Float f = (Float) ht.elements().nextElement(); Float g = new Float(f.floatValue()+0.00001); th.check( ht.get(g) == null ,"gives back null if not in -- 2"); th.check( ht.get(f) == f,"key and element are same so get(f)==f -- 1"); ht.put(hte,hte); hte.put(f,f); hte.put(g,g); th.check( ht.get(hte) == hte , "changing the hashcode of a key --> key must be found"); } /** * implemented. * */ public void test_keys(){ th.checkPoint("keys()java.util.Enumeration"); Hashtable ht = buildknownHt(); Object o; Float f; Enumeration e = (Enumeration) ht.keys(); int i = 0; while (e.hasMoreElements()){ i++; f= (Float) e.nextElement(); o = ht.get( f ); th.check( o != null,"each key is unique -- nr "+i); ht.remove(f); } th.check(i == 11, "we should have 11 key"); th.check(ht.size() == 0); e = new Hashtable().keys(); th.check( e != null , "keys should return a non-null value"); th.check(!e.hasMoreElements(), "e should not have keys"); ht = new Hashtable(); e = ht.keys(); th.check(! e.hasMoreElements() , "empty HT Enum has no elements"); ht.put("abcd","value"); e = ht.keys(); th.check(e.hasMoreElements() , "HT Enum stil has elements"); th.check("abcd".equals(e.nextElement()) ,"checking returned value"); th.check(! e.hasMoreElements() , "HT Enum enumerated all elements"); } /** * implemented. * */ public void test_contains(){ th.checkPoint("contains(java.lang.Object)boolean"); Hashtable ht= buildknownHt(); Float f = new Float(10.0); th.check(ht.contains( f ),"contains uses equals -- 1"); f = new Float(11.0); th.check(!ht.contains( f ),"contains uses equals -- 2"); Double d = new Double(5.0); th.check(!ht.contains( d ),"contains uses equals -- 3"); ht.put(f,d); th.check(ht.contains( d ),"contains uses equals -- 4"); try { ht.contains(null); th.fail("should throw NullPointerException"); } catch (NullPointerException ne) { th.check(true); } } /** * implemented. * */ public void test_containsKey(){ th.checkPoint("containsKey(java.lang.Object)boolean"); Hashtable ht= buildknownHt(); Float f = new Float(10.0); th.check(ht.containsKey( f ),"containsKey uses equals -- 1"); f = new Float(11.0); th.check(!ht.containsKey( f ),"containsKey uses equals -- 2"); Double d = new Double(5.0); th.check(!ht.containsKey( d ),"containsKey uses equals -- 3"); ht.put(d,f); th.check(ht.containsKey( d ),"containsKey uses equals -- 4"); try { ht.containsKey(null); th.fail("should throw NullPointerException"); } catch (NullPointerException ne) { th.check(true); } } /** * implemented. * */ public void test_containsValue(){ th.checkPoint("containsValue(java.lang.Object)boolean"); Hashtable ht= buildknownHt(); Float f = new Float(10.0); th.check(ht.containsValue( f ),"containsValue uses equals -- 1"); f = new Float(11.0); th.check(!ht.containsValue( f ),"containsValue uses equals -- 2"); Double d = new Double(5.0); th.check(!ht.containsValue( d ),"containsValue uses equals -- 3"); ht.put(d,f); th.check(!ht.containsValue( d ),"containsValue uses equals -- 4"); d = new Double(89.0); ht.put(f,d); th.check(ht.containsValue( d ),"containsValue uses equals -- 5"); try { ht.containsValue(null); th.fail("should throw NullPointerException"); } catch (NullPointerException ne) { th.check(true); } } /** * implemented. * */ public void test_isEmpty(){ th.checkPoint("isEmpty()boolean"); Hashtable ht= buildknownHt(); th.check(!ht.isEmpty(), "ht is not empty -- 1"); ht.clear(); th.check(ht.isEmpty(),"hashtable should be empty --> after clear"); ht.put(new Object(),ht); th.check(!ht.isEmpty(), "ht is not empty -- 2"); } /** * implemented. * */ public void test_size(){ th.checkPoint("size()int"); Hashtable ht= buildknownHt(); th.check( ht.size() == 11 ); } /** * implemented. * */ public void test_clear(){ th.checkPoint("clear()void"); Hashtable ht = new Hashtable(); ht.clear(); ht = buildknownHt(); if (!ht.isEmpty()) { ht.clear(); th.check(ht.isEmpty(),"hashtable should be empty --> after clear"); try { ht.clear(); //shouldnot throw any exception th.check(ht.isEmpty(),"hashtable should be empty --> after 2nd clear"); } catch (Exception e) { th.fail("clear should not throw "+e); } } } /** * implemented. * */ public void test_put(){ th.checkPoint("put(java.lang.Object,java.lang.Object)java.lang.Object"); Hashtable h = buildknownHt(); Float f = new Float(33.0f); Double d = new Double(343.0); th.check( h.put(f,f) == null ,"key f in not used"); th.check( h.get(f) == f, "make sure element is put there -- 1"); th.check( h.put(f,d) == f ,"key f in used --> return old element"); th.check( h.get(f) == d, "make sure element is put there -- 2"); try { h.put(null, d); th.fail("should throw NullPointerException -- 1"); } catch (NullPointerException ne) { th.check(true); } try { h.put(d,null); th.fail("should throw NullPointerException -- 2"); } catch (NullPointerException ne) { th.check(true); } try { h.put(null,null); th.fail("should throw NullPointerException -- 3"); } catch (NullPointerException ne) { th.check(true); } } /** * implemented.
* --> needs more testing with objects with Map interface */ public void test_putAll(){ th.checkPoint("putAll(java.lang.Map)void"); Hashtable h = new Hashtable(); h.putAll(buildknownHt()); th.check(h.size() == 11 && h.equals(buildknownHt())); Double d =new Double(34.0); Float f = new Float(2.0); h.put(f,d); h.putAll(buildknownHt()); th.check(h.size() == 11 && h.equals(buildknownHt())); h.put(d,d); h.putAll(buildknownHt()); th.check(h.size() == 12 && (!h.equals(buildknownHt()))); try { h.putAll(null); th.fail("should throw NullPointerException"); } catch (NullPointerException ne) { th.check(true); } } /** * implemented. * */ public void test_remove(){ th.checkPoint("remove(java.lang.Object)java.lang.Object"); Hashtable h = buildknownHt(); Float f = new Float(33.0f); int i= h.size(); try { h.remove(null); th.fail("should throw NullPointerException -- 1"); } catch (NullPointerException ne) { th.check(true); } th.check(h.remove(f) == null, "key not there so return null"); th.check(h.size() == i, "check on size -- 1"); for (int j=0 ; j < 11 ; j++) { f = new Float((float)j); th.check(h.remove(f).equals(f), "key is there so return element -- "+j); th.check(h.size() == --i, "check on size after removing -- "+j); } } /** * implemented. * */ public void test_entrySet(){ th.checkPoint("entrySet()java.util.Set"); Hashtable h = buildknownHt(); Set s = h.entrySet(); int j; Map.Entry m; th.check(s.size() == 11); Object [] ao = s.toArray(); Iterator i = s.iterator(); for (j =0 ; true ; j++) { if (!i.hasNext()) break; m = (Map.Entry)i.next(); if (j==50) break; } th.check( j == 11 , "Iterator of Set must not do an Inf Loop, got j"+j); } /** * implemented. * */ public void test_keySet(){ th.checkPoint("keySet()java.util.Set"); Hashtable h = buildknownHt(); Set s = h.keySet(); th.check(s.size() == 11); for (int i = 0; i < 11 ; i++) { th.check(s.contains(new Float((float)i)),"check if all keys are given -- "+i); } } /** * implemented. * */ public void test_values(){ th.checkPoint("values()java.util.Collection"); Hashtable h = buildknownHt(); Collection c = h.values(); th.check(c.size() == 11); for (int i = 0; i < 11 ; i++) { th.check(c.contains(new Float((float)i)),"check if all values are given -- "+i); } } /** * implemented. * */ public void test_clone(){ th.checkPoint("clone()java.lang.Object"); Hashtable ht2,ht1 = buildknownHt(); ht2 = (Hashtable) ht1.clone(); th.check( ht2.size() == 11 ,"checking size -- got: "+ht2.size()); th.check( ht2.equals( ht1) ,"clone gives back equal hashtables"); Object o; Float f; Enumeration e = (Enumeration) ht1.elements(); for (int i=0; i < 11; i++) { f= (Float) e.nextElement(); o = ht2.get( f ); th.check( f == (Float) o,"key and element are the same"); } f= (Float) ht1.elements().nextElement(); ht2.remove(f); th.check(ht1.size() == 11 , "changes in clone do not affect original"); ht1.put(ht2,ht1); th.check(ht2.size() == 10 , "changes in original do not affect clone"); ht1 =new Hashtable(); ht2 = (Hashtable) ht1.clone(); th.check(ht2.size() == 0 , "cloning an empty hashtable must work"); } /** * implemented. * */ public void test_equals(){ th.checkPoint("equals(java.lang.Object)boolean"); Hashtable h2= buildknownHt(),h1 = buildknownHt(); th.check(h2.equals(h1),"hashtables are equal -- 1"); h2.remove(new Float(2.0f)); th.check(!h2.equals(h1),"hashtables are not equal"); h1.remove(new Float(2.0f)); th.check(h2.equals(h1),"hashtables are equal -- 2"); th.check(!h2.equals(new Float(3.0)),"hashtables is not equal to Float"); } /** * implemented. * */ public void test_hashCode(){ th.checkPoint("hashCode()int"); Hashtable h = new Hashtable(13); th.check( buildknownHt().hashCode() == buildknownHt().hashCode() ); Integer i = new Integer(4545); String s = new String("string"); Double d = new Double(23245.6); Object o = new Object(); h.put(i,s); th.check(h.hashCode() == (i.hashCode() ^ s.hashCode())); h.put(d,o); th.check(h.hashCode() == (i.hashCode() ^ s.hashCode())+(d.hashCode() ^ o.hashCode())); } /** * implemented. * */ public void test_toString(){ th.checkPoint("toString()java.lang.String"); Hashtable h = new Hashtable(13,0.75f); th.check(h.toString().equals("{}"), "got: "+h); h.put("SmartMove","Fantastic"); th.check(h.toString().equals("{SmartMove=Fantastic}"), "got: "+h); h.put("nr 1",new Float(23.0)); // the order is not specified th.check(h.toString().equals("{SmartMove=Fantastic, nr 1=23.0}")|| h.toString().equals("{nr 1=23.0, SmartMove=Fantastic}"), "got: "+h); h.remove("SmartMove"); th.check(h.toString().equals("{nr 1=23.0}"), "got: "+h); } /** * implemented. * */ public void test_rehash(){ th.checkPoint("rehash()void"); Hashtable h = new Hashtable(3 , 0.5f); try { h.put("Smart","Move"); h.put("rehash","now"); th.check(h.size() == 2); } catch (Exception e) {th.fail("caught exception "+e);} } /** * the goal of this test is to see how the hashtable behaves if we do a lot put's and removes.
* we perform this test for different loadFactors and a low initial size
* we try to make it difficult for the table by using objects with same hashcode */ private final String st ="a"; private final Byte b =new Byte((byte)97); private final Short sh=new Short((short)97); private final Integer i = new Integer(97); private final Long l = new Long(97L); private int sqnce = 1; public void test_behaviour(){ th.checkPoint("behaviour testing"); do_behaviourtest(0.2f); do_behaviourtest(0.70f); do_behaviourtest(0.75f); do_behaviourtest(0.95f); do_behaviourtest(1.0f); } protected void sleep(int time){ try { Thread.sleep(time); } catch (Exception e) {} } protected void check_presence(Hashtable h){ th.check( h.get(st) != null, "checking presence st -- sequence "+sqnce); th.check( h.get(sh) != null, "checking presence sh -- sequence "+sqnce); th.check( h.get(i) != null, "checking presence i -- sequence "+sqnce); th.check( h.get(b) != null, "checking presence b -- sequence "+sqnce); th.check( h.get(l) != null, "checking presence l -- sequence "+sqnce); sqnce++; } protected void do_behaviourtest(float loadFactor) { th.checkPoint("behaviour testing with loadFactor "+loadFactor); Hashtable h = new Hashtable(11 , loadFactor); int j=0; Float f; h.put(st,"a"); h.put(b,"byte"); h.put(sh,"short"); h.put(i,"int"); h.put(l,"long"); check_presence(h); sqnce = 1; for ( ; j < 100 ; j++ ) { f = new Float((float)j); h.put(f,f); } th.check(h.size() == 105,"size checking -- 1 got: "+h.size()); check_presence(h); for ( ; j < 200 ; j++ ) { f = new Float((float)j); h.put(f,f); } th.check(h.size() == 205,"size checking -- 2 got: "+h.size()); check_presence(h); for ( ; j < 300 ; j++ ) { f = new Float((float)j); h.put(f,f); } th.check(h.size() == 305,"size checking -- 3 got: "+h.size()); check_presence(h); // replacing values -- checking if we get a non-zero value th.check("a".equals(h.put(st,"na")), "replacing values -- 1 - st"); th.check("byte".equals(h.put(b,"nbyte")), "replacing values -- 2 - b"); th.check("short".equals(h.put(sh,"nshort")), "replacing values -- 3 -sh"); th.check("int".equals(h.put(i,"nint")) , "replacing values -- 4 -i"); th.check("long".equals(h.put(l,"nlong")), "replacing values -- 5 -l"); for ( ; j > 199 ; j-- ) { f = new Float((float)j); h.remove(f); } th.check(h.size() == 205,"size checking -- 4 got: "+h.size()); check_presence(h); for ( ; j > 99 ; j-- ) { f = new Float((float)j); h.remove(f); } th.check(h.size() == 105,"size checking -- 5 got: "+h.size()); check_presence(h); for ( ; j > -1 ; j-- ) { f = new Float((float)j); h.remove(f); } th.check(h.size() == 5 ,"size checking -- 6 got: "+h.size()); th.debug(h.toString()); check_presence(h); } } mauve-20140821/gnu/testlet/java/util/Hashtable/HashContains.java0000644000175000001440000000314207757600533023254 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Mark J. Wielaard // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.Hashtable; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Hashtable; /** * Test whether overriding contains and the new 1.2 (Map interface) * containsValue work properly. */ public class HashContains extends Hashtable implements Testlet { public void test (TestHarness harness) { Object a = new Object(); Object b = new Object(); Object c; c = put(a, b); harness.check(null, c); harness.check(!contains(a)); harness.check(contains(b)); harness.check(!containsValue(a)); harness.check(containsValue(b)); } // Override and call super. public boolean contains(Object value) { return super.contains(value); } // Override and call contains. public boolean containsValue(Object value) { return this.contains(value); } } mauve-20140821/gnu/testlet/java/util/Hashtable/NullValue.java0000644000175000001440000000310007764725544022603 0ustar dokousers// Tags: JDK1.2 // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.Hashtable; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Hashtable; import java.util.HashMap; /** * Check that Hashtable rejects null keys & values. */ public class NullValue extends Hashtable implements Testlet { public void test (TestHarness harness) { HashMap m = new HashMap(); m.put("a", "1"); m.put("b", null); try { Hashtable h = new Hashtable(m); harness.fail("Should throw NullPointerException"); } catch (NullPointerException x) { harness.check(true); } m = new HashMap(); m.put("a", "1"); m.put(null, "2"); try { Hashtable h = new Hashtable(m); harness.fail("Should throw NullPointerException"); } catch (NullPointerException x) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/util/TimeZone/0000755000175000001440000000000012375316426017663 5ustar dokousersmauve-20140821/gnu/testlet/java/util/TimeZone/setDefault.java0000644000175000001440000000254110131613171022611 0ustar dokousers// This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.util.TimeZone; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.SimpleTimeZone; import java.util.TimeZone; public class setDefault implements Testlet { public void test (TestHarness harness) { harness.checkPoint("set/restore default TimeZone"); SimpleTimeZone stz = new SimpleTimeZone(60 * 60 * 1000, "MyTZ"); TimeZone old = TimeZone.getDefault(); TimeZone.setDefault(stz); harness.check(TimeZone.getDefault().getID(), stz.getID()); TimeZone.setDefault(null); harness.check(TimeZone.getDefault().getID(), old.getID()); } } mauve-20140821/gnu/testlet/java/util/TimeZone/setID.java0000644000175000001440000000263010167236730021533 0ustar dokousers// This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.util.TimeZone; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.SimpleTimeZone; import java.util.TimeZone; public class setID implements Testlet { public void test (TestHarness harness) { harness.checkPoint("set/restore default TimeZone ID"); String id = "MyTZ"; String id2 = "AnotherTZ"; SimpleTimeZone stz = new SimpleTimeZone(60 * 60 * 1000, id); harness.check(stz.getID(), id); stz.setID(id2); harness.check(stz.getID(), id2); try { stz.setID(null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/util/TimeZone/GetDisplayName.java0000644000175000001440000000332211034252201023351 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2008 Andrew John Hughes (gnu_andrew@member.fsf.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.TimeZone; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Locale; import java.util.TimeZone; /** * Checks that the correct strings are returned in the appropriate * slots for TimeZone.getDisplayName. We use Europe/London for these * tests. */ public class GetDisplayName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness. */ public void test(TestHarness harness) { TimeZone zone = TimeZone.getTimeZone("Europe/London"); harness.check(zone.getDisplayName(false, TimeZone.LONG, Locale.UK), "Greenwich Mean Time"); harness.check(zone.getDisplayName(false, TimeZone.SHORT, Locale.UK), "GMT"); harness.check(zone.getDisplayName(true, TimeZone.LONG, Locale.UK), "British Summer Time"); harness.check(zone.getDisplayName(true, TimeZone.SHORT, Locale.UK), "BST"); } } mauve-20140821/gnu/testlet/java/util/TimeZone/zdump.java0000644000175000001440000001005110567343275021665 0ustar dokousers// Copyright (C) 2007 Red Hat, Inc. // Written by Gary Benson // Based on code by Jakub Jelinek // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.4 package gnu.testlet.java.util.TimeZone; import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.io.InputStreamReader; import java.util.Calendar; import java.util.Date; import java.util.SimpleTimeZone; import java.util.TimeZone; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class zdump implements Testlet { public static final String zdump = "/usr/sbin/zdump"; public void test(TestHarness harness) { String zoneinfodir = System.getProperty("gnu.java.util.zoneinfo.dir"); if (zoneinfodir == null) return; if (!new File(zdump).exists() || !new File(zoneinfodir).isDirectory()) return; TimeZone utc = (TimeZone) new SimpleTimeZone(0, "GMT"); TimeZone.setDefault(utc); String[] zones = TimeZone.getAvailableIDs(); for (int i = 0; i < zones.length; i++) { if (!new File(zoneinfodir, zones[i]).exists()) continue; // These two timezones have different definitions between // tzdata and JDK. In JDK EST is EST5EDT, while in tzdata // just EST5, similarly for MST. if (zones[i].equals("EST") || zones[i].equals("MST")) continue; checkZone(harness, zones[i]); } } public static void checkZone(TestHarness harness, String zone) { harness.checkPoint(zone); TimeZone tz = TimeZone.getTimeZone(zone); if (tz == null) { harness.check(false); return; } Calendar cal = Calendar.getInstance(tz); BufferedReader br = null; Process process = null; try { process = Runtime.getRuntime().exec(zdump + " -v " + zone); br = new BufferedReader(new InputStreamReader( process.getInputStream())); for (String line = br.readLine(); line != null; line = br.readLine()) { int end1 = line.indexOf(" UTC = "); if (end1 < 0) continue; int start1 = line.indexOf(" "); if (start1 < 0 || start1 >= end1) continue; int start2 = line.indexOf(" isdst="); int start3 = line.indexOf(" gmtoff="); if (start2 <= end1 || start3 <= start2) continue; Date d = new Date(line.substring(start1 + 2, end1 + 4)); cal.setTime(d); int isdst = Integer.parseInt(line.substring(start2 + 7, start3)); int gmtoff = Integer.parseInt( line.substring(start3 + 8, line.length())); harness.debug("Zone " + zone + " " + d + " isdst=" + isdst + " inDaylightTime=" + tz.inDaylightTime(d)); harness.check(tz.inDaylightTime(d) == (isdst != 0)); harness.debug("Zone " + zone + " " + d + " gmtoff=" + gmtoff + " getOffset=" + tz.getOffset(d.getTime())); harness.check(tz.getOffset(d.getTime()) == gmtoff * 1000); int offset = cal.get(Calendar.DST_OFFSET) + cal.get(Calendar.ZONE_OFFSET); harness.debug("Zone " + zone + " " + d + " gmtoff=" + gmtoff + " DST_OFFSET+ZONE_OFFSET=" + offset); harness.check(offset == gmtoff * 1000); } } catch (IOException ioe) { } finally { try { if (br != null) br.close(); if (process != null) { process.waitFor(); process.exitValue(); } } catch (IOException ioe) { } catch (InterruptedException ine) { } } } } mauve-20140821/gnu/testlet/java/util/Vector/0000755000175000001440000000000012375316426017373 5ustar dokousersmauve-20140821/gnu/testlet/java/util/Vector/retainAll.java0000644000175000001440000000307210470314134022137 0ustar dokousers/* retainAll.java -- Checks functionality in retainAll() Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.util.Vector; import java.util.Vector; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class retainAll implements Testlet { public void test(TestHarness harness) { testNull(harness); } /** * Checks if and when null arguments to removeAll() are allowed. * * @param h the test harness */ private void testNull(TestHarness h) { // Check empty vector. Vector v = new Vector(); v.removeAll(null); h.check(true); // If we got here, there was no NPE. // Check non-empty vector. v.add(new Object()); try { v.retainAll(null); h.fail("NPE should be thrown"); } catch (NullPointerException ex) { h.check(true); } } } mauve-20140821/gnu/testlet/java/util/Vector/AcuniaVectorTest.java0000644000175000001440000015552710532631101023457 0ustar dokousers/* Copyright (C) 2001 ACUNIA This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.2 package gnu.testlet.java.util.Vector; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.*; import java.lang.NullPointerException; import java.lang.UnsupportedOperationException; /** * This file contains testcode for java.util.Vector.
*
* WRITTEN BY ACUNIA
*
* */ public class AcuniaVectorTest extends Vector implements Testlet { protected TestHarness th; public AcuniaVectorTest() { /* Public Constructor needed for Testlet */ } public void test (TestHarness harness) { th = harness; test_Vector(); test_contains(); test_containsAll(); test_indexOf (); test_isEmpty(); test_lastIndexOf(); test_size(); test_get (); test_copyInto(); test_elementAt(); test_elements(); test_firstElement(); test_lastElement(); test_add(); test_addAll(); test_addElement(); test_clear(); test_insertElementAt(); test_remove(); try { test_removeAll(); } catch (UnsupportedOperationException ue) {th.fail("method removeAll() is not supported");} test_removeAllElements(); test_removeElement(); test_removeElementAt(); test_removeRange(); try {test_retainAll();} catch (UnsupportedOperationException ue) {th.fail("method retainAll() is not supported");} try { test_set(); } catch (UnsupportedOperationException ue) {th.fail("method set() is not supported");} test_setElementAt(); test_setSize(); test_capacity(); test_ensureCapacity(); test_trimToSize(); try { test_subList(); } catch (UnsupportedOperationException ue) {th.fail("method subList() is not supported");} try { test_toArray(); } catch (ArrayStoreException ae) { th.fail("failure in System.arraycopy, got exception: "+ae); } test_clone(); test_equals(); test_hashCode(); test_toString(); test_behaviour(); test_iterator(); } public Vector buildknownV() { Vector v = new Vector(); Float f; for (int i =0; i < 11; i++) { f = new Float((float)i); v.addElement(f); } return v; } /** * implemented. * */ public void test_Vector(){ th.checkPoint("Vector()"); Vector v = new Vector(); th.check(v.capacity()==10 , "check default capacity"); th.checkPoint("Vector(java.util.Collection)"); v = new Vector(buildknownV()); v.equals(buildknownV()); th.checkPoint("Vector(int)"); v = new Vector(20); th.check(v.capacity()==20 , "check default capacity"); th.checkPoint("Vector(int,int)"); v = new Vector(20,5); th.check(v.capacity()==20 , "check default capacity"); } /** * implemented. * */ public void test_contains(){ th.checkPoint("contains(java.lang.Object)boolean"); Vector v = buildknownV(); Object o = new Object(); Float f = new Float(5.0f); th.check(!v.contains(null) , "null is allowed -- 1"); v.addElement(null); th.check(v.contains(null) , "null is allowed -- 2"); th.check( v.contains(f) , "contains -- 1"); f = new Float(15.0f); th.check(! v.contains(f) , "contains -- 2"); th.check(! v.contains(o) , "contains -- 3"); v.addElement(o); th.check( v.contains(o) , "contains -- 4"); th.check(! v.contains(new Object()) , "contains -- 5"); } /** * implemented.
* since jdk 1.2
* needs extra testing
*/ public void test_containsAll(){ th.checkPoint("containsAll(java.util.Colection)boolean"); Vector v = new Vector(); try { v.containsAll(null); th.fail("should throw NullPointerException"); } catch (NullPointerException ne) { th.check(true); } v.addElement("a"); v.addElement("b"); v.addElement("c"); v.addElement(null); Collection c = (Collection) v.clone(); v.addElement("d"); v.addElement("e"); v.addElement("f"); th.check(v.containsAll(c) , "checking ContainsAll -- 1"); v.removeElement("a"); th.check(!v.containsAll(c) , "checking ContainsAll -- 2"); try { v.containsAll(null); th.fail("should throw NullPointerException"); } catch (NullPointerException ne) { th.check(true); } } /** * implemented. * */ public void test_indexOf(){ th.checkPoint("indexOf(java.lang.Object)int"); Vector v = buildknownV(); Object o = new Object(); Float f = new Float(5.0f); th.check( v.indexOf(f) == 5 , "contains -- 1"); f = new Float(15.0f); th.check( v.indexOf(f) == -1 , "contains -- 2"); th.check( v.indexOf(o) == -1, "contains -- 3"); v.addElement(o); th.check( v.indexOf(o) == 11 , "contains -- 4"); th.check( v.indexOf(new Object()) == -1 , "contains -- 5"); try {v.indexOf(null); th.check(true); v.addElement(null); th.check(v.indexOf(null) == 12, "null was added to the Vector"); } catch(NullPointerException ne) { th.fail("shouldn't throw NullPointerException"); } th.checkPoint("indexOf(java.lang.Object,int)int"); v = buildknownV(); o = new Object(); f = new Float(5.0f); th.check( v.indexOf(f,2) == 5 , "contains -- 1"); th.check( v.indexOf(f,6) == -1 , "contains -- 2"); f = new Float(15.0f); th.check( v.indexOf(f,4) == -1 , "contains -- 3"); th.check( v.indexOf(o,3) == -1, "contains -- 4"); v.addElement(o); th.check( v.indexOf(o,11) == 11 , "contains -- 5"); v.addElement(f); th.check( v.indexOf(o,12) == -1 , "contains -- 6"); th.check( v.indexOf(new Object(),1) == -1 , "contains -- 7"); try {v.indexOf(null,3); th.check(true); v.addElement(null); th.check(v.indexOf(null,13) == 13, "null was added to the Vector"); } catch(NullPointerException ne) { th.fail("shouldn't throw NullPointerException"); } try {f = new Float(10.0f); th.check(v.indexOf(f,333)== -1 ,"checking bounderies"); } catch(Exception ne) { th.fail("shouldn't throw an Exception"); } try {v.indexOf(f,-1); th.fail("shouldn't throw NullPointerException"); } catch(Exception ne) { th.check(true); } } /** * implemented. * */ public void test_isEmpty(){ th.checkPoint("isEmpty()boolean"); Vector v = new Vector(); th.check(v.isEmpty() ,"testing isEmpty -- 1"); th.check(!buildknownV().isEmpty() ,"testing isEmpty -- 2"); } /** * implemented . * */ public void test_lastIndexOf(){ th.checkPoint("lastIndexOf(java.lang.Object)int"); Vector v = buildknownV(); Object o = new Object(); Float f = new Float(5.0f); th.check( v.lastIndexOf(f) == 5 , "contains -- 1"); f = new Float(15.0f); th.check( v.lastIndexOf(f) == -1 , "contains -- 2"); th.check( v.lastIndexOf(o) == -1, "contains -- 3"); v.addElement(o); th.check( v.lastIndexOf(o) == 11 , "contains -- 4"); th.check( v.lastIndexOf(new Object()) == -1 , "contains -- 5"); try {v.lastIndexOf(null); th.check(true); v.addElement(null); th.check(v.lastIndexOf(null) == 12, "null was added to the Vector"); } catch(NullPointerException ne) { th.fail("shouldn't throw NullPointerException"); } th.checkPoint("lastIndexOf(java.lang.Object,int)int"); v = buildknownV(); o = new Object(); f = new Float(5.0f); th.check( v.lastIndexOf(f,5) == 5 , "contains -- 1"); th.check( v.lastIndexOf(f,4) == -1 , "contains -- 2"); f = new Float(15.0f); th.check( v.lastIndexOf(f,4) == -1 , "contains -- 3"); th.check( v.lastIndexOf(o,3) == -1, "contains -- 4"); v.addElement(o); th.check( v.lastIndexOf(o,11) == 11 , "contains -- 5"); v.addElement(f); th.check( v.lastIndexOf(o,10) == -1 , "contains -- 6"); th.check( v.lastIndexOf(new Object(),10) == -1 , "contains -- 7"); try {v.lastIndexOf(null,12); th.check(true); v.addElement(null); th.check(v.lastIndexOf(null,13) == 13, "null was added to the Vector"); th.check(v.lastIndexOf(null,12) == -1, "null was added to the Vector, on pos 13"); } catch(NullPointerException ne) { th.fail("shouldn't throw NullPointerException"); } try {f = new Float(10.0f); th.check(v.lastIndexOf(f,-1)== -1 ,"checking bounderies"); } catch(Exception ne) { th.fail("shouldn't throw an Exception"); } try {v.lastIndexOf(f,91); th.fail("shouldn't throw NullPointerException"); } catch(Exception ne) { th.check(true); } } /** * implemented . * */ public void test_size(){ th.checkPoint("size()int"); Vector v = buildknownV(); th.check(v.size() == 11 , "size -- 1 - got: "+v.size()); v.addElement(null); th.check(v.size() == 12 , "size -- 2 - got: "+v.size()); v.addElement(new Object()); th.check(v.size() == 13 , "size -- 3 - got: "+v.size()); v = new Vector(); th.check(v.size() == 0 , "size -- 4 - got: "+v.size()); } /** * implemented.
* since jdk 1.2 */ public void test_get(){ th.checkPoint("get(int)java.lang.Object"); Vector v = buildknownV(); try { v.get(-1); th.fail("should throw exception -- 1"); } catch (ArrayIndexOutOfBoundsException ae) { th.check(true); } try { v.get(11); th.fail("should throw exception -- 2"); } catch (ArrayIndexOutOfBoundsException ae) { th.check(true); } v = new Vector(); v.addElement("a"); v.addElement(null); v.addElement("c"); v.addElement(null); th.check(v.get(0).equals("a") && v.get(2).equals("c") , "checking get -- 1"); th.check(v.get(1) == null && v.get(3) == null , "checking get -- 2"); } /** * implemented. * */ public void test_copyInto(){ th.checkPoint("copyInto([java.lang.Object)void"); Vector v = buildknownV(); StringBuffer bf= new StringBuffer("smartmove"); v.addElement(bf); Object o[] = new Object[5]; try { v.copyInto(o); th.fail("should throw ArrayIndexOutOfBoundsException"); } catch(ArrayIndexOutOfBoundsException ae) { th.check(true); } o = new Object[15]; v.copyInto(o); for (int i=0 ; i < 11 ; i++ ) { th.check( o[i] == v.elementAt(i),"checking copyInto -- "+(i+1)+" - got: "+o[i]); } th.check( o[11] == v.elementAt(11) , "checking stringbuffer"); th.check(o.length == 15); } /** * implemented. * */ public void test_elementAt(){ th.checkPoint("elementAt(int)java.lang.Object"); Vector v = new Vector(); v.addElement(null); Float f =new Float(23.0f); Double d =new Double(54.5); v.addElement(f); v.addElement(d); th.check( v.elementAt(0) == null ); th.check( v.elementAt(1) == f ); th.check( v.elementAt(2) == d ); try {v.elementAt(-1); th.fail("should throw ArrayIndexOutOfBoundsException -- 1"); } catch (ArrayIndexOutOfBoundsException ae) { th.check(true); } try {v.elementAt(3); th.fail("should throw ArrayIndexOutOfBoundsException -- 2"); } catch (ArrayIndexOutOfBoundsException ae) { th.check(true); } } /** * implemented. * */ public void test_elements(){ th.checkPoint("elements()java.util.Enumeration"); Vector v = buildknownV(); v.addElement(null); Float f =new Float(23.0f); Double d =new Double(54.5); v.addElement(f); v.addElement(d); Enumeration e = v.elements(); for (int i=0; i < 11 ; i++ ) { th.check( ((Float)e.nextElement()).intValue() == i,"checking elements -- "+(i+1)); } try { th.check(e.hasMoreElements(), "null in vector might give problems -- 1"); th.check(e.nextElement() == null , "null in vector might give problems -- 2"); th.check(e.hasMoreElements(), "null in vector might give problems -- 3"); th.check(e.nextElement() == f , "null in vector might give problems -- 4"); th.check(e.nextElement() == d , "null in vector might give problems -- 5"); th.check(!e.hasMoreElements(), "null in vector might give problems -- 6"); } catch (Exception te) { th.debug("caught unwanted exception: "+te); } v = new Vector(); th.check( v.elements() != null); } /** * implemented. * */ public void test_firstElement(){ th.checkPoint("firstElement()java.lang.Object"); Vector v = new Vector(); try { v.firstElement(); th.fail("should throw NoSuchElementException"); } catch(NoSuchElementException ne) { th.check(true); } v.addElement(null); th.check(v.firstElement() == null ); v = new Vector(); Float f =new Float(23.0f); v.addElement(f); th.check(v.firstElement() == f ); v = new Vector(); Double d =new Double(54.5); v.addElement(d); v.addElement(null); v.addElement(f); th.check(v.firstElement() == d ); } /** * implemented. * */ public void test_lastElement(){ th.checkPoint("lastElement()java.lang.Object"); Vector v = new Vector(); try { v.lastElement(); th.fail("should throw NoSuchElementException"); } catch(NoSuchElementException ne) { th.check(true); } v.addElement(null); th.check(v.lastElement() == null ); v = buildknownV(); v.addElement(null); th.check(v.lastElement() == null ); Float f =new Float(23.0f); v.addElement(f); th.check(v.lastElement() == f ); v = new Vector(); Double d =new Double(54.5); v.addElement(d); th.check(v.lastElement() == d ); } /** * implemented.
* since jdk 1.2 */ public void test_add(){ th.checkPoint("add(java.lang.Object)boolean"); Vector v = new Vector(); th.check(v.add("a") && v.add(null), "checking returns boolean -- 1"); th.check(v.add("c") && v.add(null), "checking returns boolean -- 2"); th.check(v.get(0)=="a" && v.get(2)=="c", "checking addedcat right position -- 1"); th.checkPoint("add(int,java.lang.Object)void"); v = buildknownV(); try { v.add(-1,"a"); th.fail("should throw exception -- 1"); } catch (ArrayIndexOutOfBoundsException ae) { th.check(true); } try { v.add(12,"a"); th.fail("should throw exception -- 2"); } catch (ArrayIndexOutOfBoundsException ae) { th.check(true); } try { v.add(11,"a"); th.check(true); } catch (ArrayIndexOutOfBoundsException ae) { th.fail("shouldn't throw exception -- 1"); } v = new Vector(); v.add(0,"a"); v.add(0,null); v.add(1,"c"); v.add(2,null); th.check(v.get(3).equals("a") && v.get(1).equals("c") , "checking get -- 1"); th.check(v.get(0) == null && v.get(2) == null , "checking get -- 2"); v.add(4,"b"); v.add(5,null); th.check(v.get(4) == "b" && v.get(5) == null , "checking get -- 3"); } /** * implemented.
* since jdk 1.2 */ public void test_addAll(){ th.checkPoint("addAll(java.util.Collection)boolean"); Vector v =new Vector(); try { v.addAll(null); th.fail("should throw NullPointerException"); } catch (NullPointerException ne) { th.check(true); } Collection c = (Collection) v; th.check(!v.addAll(c) ,"checking returnvalue -- 1"); v.add("a"); v.add("b"); v.add("c"); c = (Collection) v; v = buildknownV(); th.check(v.addAll(c) ,"checking returnvalue -- 2"); th.check(v.containsAll(c), "extra on containsAll -- 1"); th.check(v.get(11)=="a" && v.get(12)=="b" && v.get(13)=="c", "checking added on right positions"); th.checkPoint("addAll(int,java.util.Collection)boolean"); v =new Vector(); c = (Collection) v; th.check(!v.addAll(0,c) ,"checking returnvalue -- 1"); v.add("a"); v.add("b"); v.add("c"); c = (Collection) v; v = buildknownV(); try { v.addAll(-1,c); th.fail("should throw exception -- 1"); } catch (ArrayIndexOutOfBoundsException ae) { th.check(true); } try { v.addAll(12,c); th.fail("should throw exception -- 2"); } catch (ArrayIndexOutOfBoundsException ae) { th.check(true); } try { th.check(v.addAll(11,c),"checking returnvalue -- 2"); } catch (ArrayIndexOutOfBoundsException ae) { th.fail("shouldn't throw exception -- 1"); } th.check(v.containsAll(c), "extra on containsAll -- 1"); th.check(v.get(11)=="a" && v.get(12)=="b" && v.get(13)=="c", "checking added on right positions -- 1"); th.check(v.addAll(1,c),"checking returnvalue -- 3"); th.check(v.get(1)=="a" && v.get(2)=="b" && v.get(3)=="c", "checking added on right positions -- 2"); } /** * implemented.
* just very, very basic testing
* --> errors in addElement will also make others tests fail */ public void test_addElement(){ th.checkPoint("addElement(java.lang.Object)void"); Vector v = new Vector(); v.addElement("a"); th.check(v.size() == 1 , "check size -- 1"); th.check(v.elementAt(0) == "a" ); v.addElement(null); th.check(v.size() == 2 , "check size -- 2"); th.check(v.elementAt(1) == null ); } /** * implemented.
* since jdk 1.2 */ public void test_clear(){ th.checkPoint("clear()void"); Vector v = buildknownV(); int c = v.capacity(); v.clear(); th.check(v.isEmpty() && (v.size()==0), "make sure all is gone"); th.check(c == v.capacity() , "capacity stays the same, got: "+v.capacity()+", but exp.: "+c); } /** * implemented. * */ public void test_insertElementAt(){ th.checkPoint("insertElementAt(java.lang.Object,int)void"); Vector v = buildknownV(); v.insertElementAt("a",5); int i; for (i=0 ; i < 5 ; i++ ) { th.check( ((Float)v.elementAt(i)).intValue() == i, "Float value didn't change -- "+(i+1)); } for (i=6 ; i < 12 ; i++ ) { th.check( ((Float)v.elementAt(i)).intValue() == i-1 , "checking shifted elements -- "+(i-5)); } th.check(v.elementAt(5) == "a" ); try { v.insertElementAt("a",12); th.check(v.elementAt(12) == "a" ); } catch (Exception e) { th.fail("shouldn't throw an Exception -- caught: "+e); } try { v.insertElementAt("a",14); th.fail("should throw an ArrayIndexOutOfBoundsException -- 1" ); } catch (ArrayIndexOutOfBoundsException e) { th.check(true); } try { v.insertElementAt("a",-1); th.fail("should throw an ArrayIndexOutOfBoundsException -- 2" ); } catch (ArrayIndexOutOfBoundsException e) { th.check(true); } v = buildknownV(); v.insertElementAt(null,5); for (i=0 ; i < 5 ; i++ ) { th.check( ((Float)v.elementAt(i)).intValue() == i, "Float value didn't change inserted null -- "+(i+1)); } for (i=6 ; i < 12 ; i++ ) { th.check( ((Float)v.elementAt(i)).intValue() == i-1 , "checking shifted elements inserted null -- "+(i-5)); } th.check(v.elementAt(5) == null ); } /** * implemented.
* since jdk 1.2 */ public void test_remove(){ th.checkPoint("remove(int)java.lang.Object"); Vector v = buildknownV(); try { v.remove(-1); th.fail("should throw an ArrayIndexOutOfBoundsException -- 1" ); } catch (ArrayIndexOutOfBoundsException e) { th.check(true); } try { v.remove(11); th.fail("should throw an ArrayIndexOutOfBoundsException -- 2" ); } catch (ArrayIndexOutOfBoundsException e) { th.check(true); } th.check( ((Float)v.remove(5)).intValue() == 5 , "checking returnvalue remove -- 1"); int i; boolean ok = true; th.check(v.size() == 10 , "checking new Size"); for (i=0; i < 5 ; i++) { if (((Float)v.get(i)).intValue() != i) ok = false; } th.check(ok , "checking order Floats in Vector -- 1"); ok = true; for (i=5; i < 10 ; i++) { if (((Float)v.get(i)).intValue() != (i+1)) ok = false; } th.check(ok , "checking order Floats in Vector -- 2"); v.add(5,null); th.check( v.remove(5) == null , "checking returnvalue remove -- 2"); ok = true; for (i=0; i < 5 ; i++) { if (((Float)v.get(i)).intValue() != i) ok = false; } th.check(ok , "checking order Floats in Vector -- 3"); ok = true; for (i=5; i < 10 ; i++) { if (((Float)v.get(i)).intValue() != (i+1)) ok = false; } th.check(ok , "checking order Floats in Vector -- 4"); th.check( ((Float)v.remove(9)).intValue() == 10 , "checking returnvalue remove -- 3"); th.check( ((Float)v.remove(0)).intValue() == 0 , "checking returnvalue remove -- 4"); th.check( ((Float)v.remove(0)).intValue() == 1 , "checking returnvalue remove -- 5"); v = new Vector(); try { v.remove(0); th.fail("should throw an ArrayIndexOutOfBoundsException -- 3" ); } catch (ArrayIndexOutOfBoundsException e) { th.check(true); } th.checkPoint("remove(java.lang.Object)boolean"); v = new Vector(); th.check(!v.remove("a") ,"checking remove on empty vector-- 1"); th.check(!v.remove("a") ,"checking remove on empty vector-- 2"); v.add("a"); v.add(null); v.add("a"); v.add("c"); v.add("d"); v.add(null); th.check(v.remove("a") ,"checking returnvalue remove -- 1"); th.check(v.get(0)==null && v.get(1)=="a" && v.get(2)=="c" &&v.get(3)=="d" &&v.get(4)==null , "checking order of elements -- 1"); th.check(v.remove("a") ,"checking returnvalue remove -- 2"); th.check(v.get(0)==null && v.get(1)=="c" &&v.get(2)=="d" &&v.get(3)==null , "checking order of elements -- 2"); th.check(!v.remove("a") ,"checking returnvalue remove -- 3"); th.check(v.get(0)==null && v.get(1)=="c" &&v.get(2)=="d" &&v.get(3)==null , "checking order of elements -- 3"); th.check(v.remove(null) ,"checking returnvalue remove -- 4"); th.check(v.get(0)=="c" &&v.get(1)=="d" &&v.get(2)==null , "checking order of elements -- 4"); th.check(v.remove(null) ,"checking returnvalue remove -- 5"); th.check(v.get(0)=="c" &&v.get(1)=="d", "checking order of elements -- 5"); th.check(!v.remove(null) ,"checking returnvalue remove -- 6"); th.check(v.get(0)=="c" &&v.get(1)=="d", "checking order of elements -- 6"); } /** * implemented.
* since jdk 1.2 */ public void test_removeAll() throws UnsupportedOperationException{ th.checkPoint("removeAll(java.util.Collection)boolean"); Vector v = new Vector(); /** * Disabled. A little too strict. We will allow removing null from an empty Vector. try { v.removeAll(null); th.fail("should throw NullPointerException"); } catch (NullPointerException ne) { th.check(true); } */ v.add("a"); try { v.removeAll(null); th.fail("should throw NullPointerException"); } catch (NullPointerException ne) { th.check(true); } th.debug(v.toString()); v.add("b"); th.debug(v.toString()); v.add(null); th.debug(v.toString() + " == c"); Collection c = (Collection) v; v = buildknownV(); th.debug(v.toString() + " == v"); th.check(!v.removeAll(c) , "checking returnvalue of removeAll -- 1"); th.debug(v.toString()); th.check(v.equals(buildknownV()) , "v didn't change"); th.debug(c.toString() + " == c"); v.addAll(c); th.debug(v.toString() + " v afet addAll(c)"); th.check(v.removeAll(c) , "checking returnvalue of removeAll -- 2"); th.debug(v.toString() + " v after removeAll(c)"); th.check(v.equals(buildknownV()) , "v did change to original v"); v.add(2,null); th.debug(v.toString() + "add(2,null)"); v.add(4,"a"); th.debug(v.toString() + "add(4,a)"); v.add(9,"b"); th.debug(v.toString() + "add(9,b)"); v.addAll(0,c); th.debug(v.toString()); v.add(2,null); v.add(4,"a"); v.add(9,"b"); v.addAll(c); th.debug(v.toString()); th.check(v.removeAll(c) , "checking returnvalue of removeAll -- 3"); th.debug(v.toString()); th.check(v, buildknownV(), "make sure all elements are removed"); th.debug(v.toString()); } /** * implemented. * */ public void test_removeAllElements(){ th.checkPoint("removeAllElements()void"); Vector v = buildknownV(); int c = v.capacity(); v.removeAllElements(); th.check(v.isEmpty() && (v.size()==0), "make sure all is gone"); th.check(c == v.capacity() , "capacity stays the same, got: "+v.capacity()+", but exp.: "+c); } /** * implemented. * */ public void test_removeElement(){ th.checkPoint("removeElement(java.lang.Object)boolean"); Vector v = buildknownV(); v.addElement("a"); v.addElement(null); v.addElement("a"); v.addElement(null); v.addElement("a"); v.addElement(null); th.check(v.removeElement("a") , "element is in there -- 1"); th.check(v.size() == 16 , "size is one less -- 1"); th.check(!v.removeElement("c") , "element isn't in there -- 1"); int i; boolean ok = true; for (i=0 ; i < 11 ; i++ ) { if (((Float)v.elementAt(i)).intValue() != i) ok = false; } th.check( ok , "Float value didn't change -- 1"); th.check( (v.elementAt(11) == null) && (v.elementAt(13) == null) && (v.elementAt(15) == null) ,"checking order -- 1"); th.check( (v.elementAt(12) == "a") && (v.elementAt(14) == "a") ,"checking order -- 2"); ok = true; th.check(v.removeElement("a") , "element is in there -- 2"); th.check(v.size() == 15 , "size is one less -- 2"); for (i=0 ; i < 11 ; i++ ) { if (((Float)v.elementAt(i)).intValue() != i) ok = false; } th.check( ok , "Float value didn't change -- 2"); th.check( (v.elementAt(11) == null) && (v.elementAt(12) == null) && (v.elementAt(14) == null) ,"checking order -- 3"); th.check( (v.elementAt(13) == "a") ,"checking order -- 4"); ok = true; th.check(v.removeElement("a") , "element is in there -- 3"); th.check(v.size() == 14 , "size is one less -- 3"); for (i=0 ; i < 11 ; i++ ) { if (((Float)v.elementAt(i)).intValue() != i) ok = false; } th.check( ok , "Float value didn't change -- 3 "); th.check( (v.elementAt(11) == null) && (v.elementAt(12) == null) && (v.elementAt(13) == null) ,"checking order -- 5"); th.check(!(v.contains("a")) ,"checking contents -- 1"); th.check(!v.removeElement("a") , "element isn't in there -- 2"); ok = true; th.check(v.removeElement(null) , "element is in there -- 4"); th.check(v.size() == 13 , "size is one less -- 4"); for (i=0 ; i < 11 ; i++ ) { if (((Float)v.elementAt(i)).intValue() != i) ok = false; } th.check( ok , "Float value didn't change -- 4"); th.check( (v.elementAt(11) == null) && (v.elementAt(12) == null) ,"checking order -- 6"); th.check(v.removeElement(null) , "element is in there -- 5"); th.check(v.removeElement(null) , "element is in there -- 6"); th.check(!v.removeElement(null) , "element isn't in there -- 3"); } /** * implemented. * */ public void test_removeElementAt(){ th.checkPoint("removeElementAt(int)void"); Vector v = buildknownV(); v.addElement("a"); v.addElement("b"); v.addElement("a"); v.addElement(null); v.addElement("a"); v.addElement("b"); v.removeElementAt(11); th.check(v.size() == 16 , "size is one less -- 1"); int i; boolean ok = true; for (i=0 ; i < 11 ; i++ ) { if (((Float)v.elementAt(i)).intValue() != i) ok = false; } th.check( ok , "Float value didn't change -- 1"); th.check( (v.elementAt(11) == "b") && (v.elementAt(13) == null) && (v.elementAt(15) == "b") ,"checking order -- 1"); th.check( (v.elementAt(12) == "a") && (v.elementAt(14) == "a") ,"checking order -- 2"); ok = true; v.removeElementAt(12); th.check(v.size() == 15 , "size is one less -- 2"); for (i=0 ; i < 11 ; i++ ) { if (((Float)v.elementAt(i)).intValue() != i) ok = false; } th.check( ok , "Float value didn't change -- 2"); th.check( (v.elementAt(11) == "b") && (v.elementAt(12) == null) && (v.elementAt(14) == "b") ,"checking order -- 3"); th.check( (v.elementAt(13) == "a") ,"checking order -- 4"); ok = true; v.removeElementAt(13); th.check(v.size() == 14 , "size is one less -- 3"); for (i=0 ; i < 11 ; i++ ) { if (((Float)v.elementAt(i)).intValue() != i) ok = false; } th.check( ok , "Float value didn't change -- 3 "); th.check( (v.elementAt(11) == "b") && (v.elementAt(12) == null) && (v.elementAt(13) == "b") ,"checking order -- 5"); th.check(!(v.contains("a")) ,"checking contents -- 1"); ok = true; v.removeElementAt(12); th.check(v.size() == 13 , "size is one less -- 4"); for (i=0 ; i < 11 ; i++ ) { if (((Float)v.elementAt(i)).intValue() != i) ok = false; } th.check( ok , "Float value didn't change -- 4"); th.check( (v.elementAt(11) == "b") && (v.elementAt(12) == "b") ,"checking order -- 5"); th.check(!(v.contains(null)) ,"checking contents -- 2"); v = buildknownV(); try { v.removeElementAt(-1); th.fail("should throw ArrayIndexOutOfBoundsException -- 1"); } catch (ArrayIndexOutOfBoundsException ae) { th.check(true); } try { v.removeElementAt(11); th.fail("should throw ArrayIndexOutOfBoundsException -- 2"); } catch (ArrayIndexOutOfBoundsException ae) { th.check(true); } } /** * implemented.
* since jdk 1.2
* removeRange is a protected method */ public void test_removeRange(){ th.checkPoint("removeRange(int,int)void"); AcuniaVectorTest xal = new AcuniaVectorTest(buildAL()); ArrayList al = buildAL(); xal.ensureCapacity(40); try { xal.removeRange(0,-1); th.fail("should throw an IndexOutOfBoundsException -- 1"); } catch(IndexOutOfBoundsException ioobe) { th.check(true); } th.check(xal.equals(al) , "ArrayList must not be changed -- 1"); try { xal.removeRange(-1,2); th.fail("should throw an IndexOutOfBoundsException -- 2"); } catch(IndexOutOfBoundsException ioobe) { th.check(true); } th.check(xal.equals(al) , "ArrayList must not be changed -- 2"); try { xal.removeRange(3,2); th.fail("should throw an IndexOutOfBoundsException -- 3"); } catch(IndexOutOfBoundsException ioobe) { th.check(true); } catch(IllegalArgumentException iae) { th.fail("should throw an IndexOutOfBoundsException, " + "not IllegalArumentException -- 3"); } try { th.check(al.equals(xal) , "ArrayList must not be changed -- 3"); } catch(Exception e) { th.debug("bad operations messed up the Vector");} xal = new AcuniaVectorTest(buildAL()); xal.ensureCapacity(40); try { xal.removeRange(3,15); th.fail("should throw an IndexOutOfBoundsException -- 4"); } catch(IndexOutOfBoundsException ioobe) { th.check(true); } th.check(xal.equals(al) , "ArrayList must not be changed -- 4"); xal = new AcuniaVectorTest(buildAL()); xal.ensureCapacity(40); try { xal.removeRange(15,13); th.fail("should throw an IndexOutOfBoundsException -- 5"); } catch(IndexOutOfBoundsException ioobe) { th.check(true); } catch(IllegalArgumentException iae) { th.fail("should throw an IndexOutOfBoundsException, " + "not IllegalArumentException -- 5"); } try { th.check(xal.equals(al) , "ArrayList must not be changed -- 5"); } catch(Exception e) { th.debug("bad operations messed up the Vector");} xal = new AcuniaVectorTest(buildAL()); xal.ensureCapacity(40); xal.removeRange(14,14); th.check(xal.size() == 14 , "no elements should have been removed -- 6, size = "+xal.size()); xal.removeRange(10,14); th.check(xal.size() == 10 , "4 elements should have been removed"); th.check( "a".equals(xal.get(0)) && "a".equals(xal.get(5)) && "a".equals(xal.get(7)) ,"check contents -- 1"); xal.removeRange(2,7); th.check(xal.size() == 5 , "5 elements should have been removed"); th.check( "a".equals(xal.get(0)) && "c".equals(xal.get(1)) && "a".equals(xal.get(2)) && "c".equals(xal.get(3)) && "u".equals(xal.get(4)) ,"check contents -- 2"); xal.removeRange(0,2); th.check( "a".equals(xal.get(0)) && "c".equals(xal.get(1)) && "u".equals(xal.get(2)) ,"check contents -- 3"); th.check(xal.size() == 3 , "2 elements should have been removed"); } /** * implemented.
* since jdk 1.2 */ public void test_retainAll(){ th.checkPoint("retainAll(java.util.Collection)boolean"); Vector v = new Vector(); /** * Disabled. A little too strict. We will allow retaining null from an empty Vector. try { v.retainAll(null); th.fail("should throw NullPointerException"); } catch (NullPointerException ne) { th.check(true); } */ v.add("a"); try { v.retainAll(null); th.fail("should throw NullPointerException"); } catch (NullPointerException ne) { th.check(true); } v.add("b"); v.add(null); Collection c = (Collection) v; v = buildknownV(); th.check(v.retainAll(c) , "checking returnvalue of retainAll -- 1"); th.check(v.size() == 0 , "v is emptied"); v = buildknownV(); v.addAll(c); th.check(v.retainAll(c) , "checking returnvalue of retainAll -- 2"); th.check(v.get(2)==null && v.get(1)=="b" && v.get(0)=="a" , "v is has elements of c"); th.check(v.equals(c) , "extra check on Vector.equals()"); th.check(v.size() == 3 , "checking new size() -- 1"); v = buildknownV(); th.debug(v + " == v"); v.add(2,null); th.debug(v + " - add(2,null)"); v.add(4,"a"); th.debug(v + " - add(4,a)"); v.add(9,"b"); th.debug(v + " - add(9,b)"); th.debug(c + " == c"); v.addAll(10,c); th.debug(v + " - add(10,c)"); boolean b = v.retainAll(c); th.debug(v + " - retainAll(c)"); th.check(b , "checking returnvalue of retainAll -- 3"); th.check(v.get(0)==null && v.get(2)=="b" && v.get(1)=="a" , "multiple copies of an element shouldn't be deleted -- 1"+v); th.check(v.get(5)==null && v.get(4)=="b" && v.get(3)=="a" , "multiple copies of an element shouldn't be deleted -- 2"+v); th.check(v.size() == 6 , "checking new size() -- 2"); v = buildknownV(); v.add(2,null); th.check(v.retainAll(c) , "checking returnvalue of retainAll -- 3"); th.check(v.get(0)==null , "checking contents of the vector -- 1"); th.check(v.size() == 1 , "checking new size() -- 2"); } /** * implemented.
* since jdk 1.2 */ public void test_set() throws UnsupportedOperationException{ th.checkPoint("set(int,java.lang.Object)java.lang.Object"); Vector v = new Vector(); try { v.set(-1,"a"); th.fail("should throw an ArrayIndexOutOfBoundsException -- 1" ); } catch (ArrayIndexOutOfBoundsException e) { th.check(true); } try { v.set(0,"a"); th.fail("should throw an ArrayIndexOutOfBoundsException -- 2" ); } catch (ArrayIndexOutOfBoundsException e) { th.check(true); } v = buildknownV(); try { v.set(-1,"a"); th.fail("should throw an ArrayIndexOutOfBoundsException -- 3" ); } catch (ArrayIndexOutOfBoundsException e) { th.check(true); } try { v.set(11,"a"); th.fail("should throw an ArrayIndexOutOfBoundsException -- 4" ); } catch (ArrayIndexOutOfBoundsException e) { th.check(true); } th.check( ((Float)v.set(5,"a")).intValue()==5 , "checking returnvalue of set -- 1"); th.check( ((Float)v.set(0,null)).intValue()==0 , "checking returnvalue of set -- 2"); th.check( v.get(5) == "a" , "checking effect of set -- 1"); th.check( v.get(0) == null , "checking effect of set -- 2"); th.check( v.set(5,"a") == "a" , "checking returnvalue of set -- 3"); th.check( v.set(0,null) == null , "checking returnvalue of set -- 4"); th.check( v.get(5) == "a" , "checking effect of set -- 1"); th.check( v.get(0) == null , "checking effect of set -- 2"); } /** * implemented. * */ public void test_setElementAt(){ th.checkPoint("setElementAt(java.lang.Object,int)void"); Vector v = buildknownV(); try { v.setElementAt("a",-1); th.fail("should throw ArrayIndexOutOfBoundsException -- 1"); } catch (ArrayIndexOutOfBoundsException ae) { th.check(true); } try { v.setElementAt("a",11); th.fail("should throw ArrayIndexOutOfBoundsException -- 2"); } catch (ArrayIndexOutOfBoundsException ae) { th.check(true); } v.setElementAt("a",5); th.check(v.elementAt(5) == "a" , "validate set -- 1"); v.setElementAt("b",0); th.check(v.elementAt(0) == "b" , "validate set -- 2"); v.setElementAt("c",10); th.check(v.elementAt(10) == "c" , "validate set -- 3"); v.setElementAt("d",5); th.check(v.elementAt(5) == "d" , "validate set -- 4"); th.check(!v.contains("a"), "check contents -- 1"); v.setElementAt(null,5); th.check(v.elementAt(5) == null , "validate set -- 5"); v.setElementAt("a",5); th.check(v.elementAt(5) == "a" , "validate set -- 6"); th.check(!v.contains(null), "check contents -- 2"); } /** * implemented. * */ public void test_setSize(){ th.checkPoint("setSize(int)void"); Vector v = buildknownV(); try { v.setSize(-1); th.fail("should throw ArrayIndexOutOfBoundsException -- 1"); } catch (ArrayIndexOutOfBoundsException ae) { th.check(true, "good job!"); } int i; boolean ok = true; int size = 25; v.setSize(size); th.check(v.size() == size ,"checking new size -- 1"); try { v.elementAt(size); th.fail("should throw ArrayIndexOutOfBoundsException -- 2"); } catch (ArrayIndexOutOfBoundsException ae) { th.check(true); } for (i=0 ; i < 11 ; i++ ) { if (((Float)v.elementAt(i)).intValue() != i) ok = false; } th.check( ok , "Float value didn't change -- 1"); ok = true; for (i=11 ; i < size ; i++ ) { if (v.elementAt(i)!= null) ok = false; } th.check( ok , "null value not added -- 1"); size =5; v.setSize(size); th.check(v.size() == size ,"checking new size -- 2"); for (i=0 ; i < size ; i++ ) { if (((Float)v.elementAt(i)).intValue() != i) ok = false; } th.check( ok , "Float value didn't change -- 2"); try { v.elementAt(size); th.fail("should throw ArrayIndexOutOfBoundsException -- 3"); } catch (ArrayIndexOutOfBoundsException ae) { th.check(true); } size =0; v.setSize(size); th.check(v.size() == size ,"checking new size -- 3"); try { v.elementAt(size); th.fail("should throw ArrayIndexOutOfBoundsException -- 4"); } catch (ArrayIndexOutOfBoundsException ae) { th.check(true); } } /** * implemented.
* --> errors in capacity will make ensurecapacity fail */ public void test_capacity(){ th.checkPoint("capacity()int"); Vector v = new Vector(15); th.check(v.capacity() == 15, "checking capacity"); } /** * implemented. * */ public void test_ensureCapacity(){ th.checkPoint("ensureCapacity(int)void"); Vector v = new Vector(10); v.ensureCapacity(9); th.check(v.capacity() == 10, "checking capacity -- 1"); v.ensureCapacity(15); th.check(v.capacity() == 20, "checking capacity -- 2"); v.ensureCapacity(41); th.check(v.capacity() == 41, "checking capacity -- 3"); v = new Vector(10,15); v.ensureCapacity(9); th.check(v.capacity() == 10, "checking capacity -- 4"); v.ensureCapacity(15); th.check(v.capacity() == 25, "checking capacity -- 5"); v.ensureCapacity(55); th.check(v.capacity() == 55, "checking capacity -- 6"); } /** * implemented. * */ public void test_trimToSize(){ th.checkPoint("trimToSize()void"); Vector v = buildknownV(); int size = v.size(); v.ensureCapacity(20); v.trimToSize(); th.check( v.capacity() == size ); int i; boolean ok = true; for (i=0 ; i < 11 ; i++ ) { if (((Float)v.elementAt(i)).intValue() != i) ok = false; } th.check( ok , "Float values didn't change -- 1"); v.addElement("a"); th.check(v.capacity() == 22, "adding an elements raises the capacity"); } /** * implemented --> MIGHT NEED EXTRA TESTING.
* since jdk 1.2
* the behaviour of the subList related to the Vector is not tested
* completly --> may be tested in other places? */ public void test_subList() throws UnsupportedOperationException{ th.checkPoint("subList(int,int)java.util.List"); Vector v = new Vector(); try { v.subList(-1,0); th.fail("should throw an IndexOutOfBoundsException -- 1" ); } catch (IndexOutOfBoundsException e) { th.check(true); } try { v.subList(0,1); th.fail("should throw an IndexOutOfBoundsException -- 2" ); } catch (IndexOutOfBoundsException e) { th.check(true); } try { th.check(v.subList(0,0).size()==0); } catch (IndexOutOfBoundsException e) { th.fail("shouldn't throw an IndexOutOfBoundsException -- 3" ); } try { v.subList(1,0); th.fail("should throw an IllegalArgumentException -- 4" ); } catch (IllegalArgumentException e) { th.check(true); } v = buildknownV(); try { v.subList(-1,6); th.fail("should throw an IndexOutOfBoundsException -- 5" ); } catch (IndexOutOfBoundsException e) { th.check(true); } try { v.subList(10,9); th.fail("should throw an IllegalArgumentException -- 6" ); } catch (IllegalArgumentException e) { th.check(true); } try { v.subList(1,12); th.fail("should throw an IndexOutOfBoundsException -- 7" ); } catch (IndexOutOfBoundsException e) { th.check(true); } try { th.check(v.subList(11,11).size() ==0 ); } catch (IndexOutOfBoundsException e) { th.fail("shouldn't throw an IndexOutOfBoundsException -- 8" ); } List l = v.subList(0,11); th.check(v.equals(l) , "checking sublist for equality"); v.add("a"); try { l.get(3); th.fail("should throw a ConcurrentModificationException -- 1" ); } catch (ConcurrentModificationException e) { th.check(true); } v = new Vector(); v.add("a"); v.add("b"); v.add(null); v.add("c"); v.add("d"); l = v.subList(2,5); th.check(l.get(0) == null && l.get(1)=="c" && l.get(2)=="d" , "checking elements -- 1"); th.check(l.set(0,"g")==null , "checking set"); th.check(v.get(2)=="g" , "modifications in l should reflect on v -- 1"); th.check(l.get(0) == "g" && l.get(1)=="c" && l.get(2)=="d" , "checking elements -- 1"); l.clear(); th.check(v.size()==2 && v.get(0)=="a" && v.get(1)=="b" ,"modifications in l should reflect on v -- 1"); //th.debug("DEBUG -- done with check"); v.add(null); v.add("c"); v.add("d"); //th.debug("DEBUG -- done adding"); l = v.subList(2,5); //th.debug("DEBUG -- done sublisting"); try { v.addAll(l); th.fail("should throw a ConcurrentModificationException"); // during this method call l might be overridden ... } catch (ConcurrentModificationException e) { th.check(true); } } /** * implemented.
* since jdk 1.2 */ public void test_toArray(){ th.checkPoint("toArray()[java.lang.Object"); Vector v = new Vector(); v.add("a"); v.add(null); v.add("b"); Object o[]=v.toArray(); th.check(o[0]== "a" && o[1] == null && o[2] == "b" , "checking elements -- 1"); th.check(o.length == 3 , "checking size Object array"); th.checkPoint("toArray([java.lang.Object)[java.lang.Object"); v = new Vector(); try { v.toArray(null); th.fail("should throw NullPointerException -- 1"); } catch (NullPointerException ne) { th.check(true); } v.add("a"); v.add(null); v.add("b"); String sa[] = new String[5]; sa[3] = "deleteme"; sa[4] = "leavemealone"; th.check(v.toArray(sa) == sa , "sa is large enough, no new array created"); th.check(sa[0]=="a" && sa[1] == null && sa[2] == "b" , "checking elements -- 1"+sa[0]+", "+sa[1]+", "+sa[2]); th.check(sa.length == 5 , "checking size Object array"); th.check(sa[3]==null && sa[4]=="leavemealone", "check other elements -- 1"+sa[3]+", "+sa[4]); v = buildknownV(); try { v.toArray(null); th.fail("should throw NullPointerException -- 2"); } catch (NullPointerException ne) { th.check(true); } try { v.toArray(sa); th.fail("should throw an ArrayStoreException"); } catch (ArrayStoreException ae) { th.check(true); } v.add(null); Float far[],fa[] = new Float[12]; far = (Float[])v.toArray(fa); th.check( far == fa , "returned array is the same"); try { sa = (String[])v.toArray(fa); th.fail("should throw ClassCastException"); } catch (ClassCastException ce) { th.check(true); } } /** * implemented. * */ public void test_clone(){ th.checkPoint("clone()java.lang.Object"); Vector cv,v = new Vector(10,5); v.addElement("a") ;v.addElement("b") ;v.addElement("c"); cv = (Vector)v.clone(); th.check(cv.size() == v.size(), "checking size -- 1"); th.check(cv.capacity() , v.capacity(), "checking capacity -- 1"); cv.ensureCapacity(11); th.check(cv.capacity() , 15, "capacityIncrement was not defined correctly"); //this could fail if capacity is not cloned correctly ... th.check(v.capacity() == 10, "changes in one object doen't affect the other -- 1"); v.addElement("d"); th.check(cv.size() == 3, "changes in one object doen't affect the other -- 2"); } /** * implementation.
* overrides Object.equals() since jdk1.2
* */ public void test_equals(){ th.checkPoint("equals(java.lang.Object)boolean"); Vector v = buildknownV(); th.check(v.equals(buildknownV()), "objects are equal -- 1"); v.removeElementAt(1); th.check(!v.equals(buildknownV()), "objects are not equal -- 1"); v = buildknownV(); v.ensureCapacity(25); th.check(v.equals(buildknownV()), "objects are equal -- 2"); ArrayList al = new ArrayList(v); th.check(v.equals(al) , "checking ... -- 1"); v = new Vector(); al = new ArrayList(); th.check(v.equals(al) , "checking ... -- 2"); v.add(null); al.add(null); th.check(v.equals(al) , "checking ... -- 3"); v.add("a"); v.add(null); al.add(null); al.add("a"); th.check(!v.equals(al) , "checking ... -- 4"); } /** * implemented. * */ public void test_hashCode(){ th.checkPoint("hashCode()int"); Vector v = new Vector(); th.check(v.hashCode() == 1 , "check calculation hashcode -- 1 - got: "+v.hashCode()); v.addElement("a"); th.check(v.hashCode() == 31 + "a".hashCode() , "check calculation hashcode -- 2 - got: "+v.hashCode()); Integer i = new Integer(324); v.addElement(i); th.check(v.hashCode() == 31*31 + 31*"a".hashCode() + i.hashCode() , "check calculation hashcode -- 3 - got: "+v.hashCode()); v = new Vector(); v.addElement(null); th.check(v.hashCode() == 31, "check calculation hashcode -- 4 - got: "+v.hashCode()); } /** * implemented. * */ public void test_toString(){ th.checkPoint("toString()java.lang.String"); Vector v =new Vector(); th.check(v.toString().equals("[]"), "checking toString -- 1 - got: "+v); v.addElement("a"); th.check(v.toString().equals("[a]"), "checking toString -- 2 - got: "+v); Integer i = new Integer(324); v.addElement(i); th.check(v.toString().equals("[a, 324]"), "checking toString -- 3 - got: "+v); v.addElement("abcd"); th.check(v.toString().equals("[a, 324, abcd]"), "checking toString -- 4 - got: "+v); } /** * implemented.
*
* this method isn't defined in Vector but we test the inherited method ... */ public void test_iterator(){ th.checkPoint("iterator()java.util.Iterator"); Vector v = new Vector(); v.add("a"); v.add("c"); v.add("u"); v.add("n"); v.add("i"); v.add("a"); v.add(null); v.add("!"); Iterator it = v.iterator(); Vector vc = (Vector) v.clone(); int i=0; Object o; while (it.hasNext()) { o = it.next(); if (!vc.remove(o)) th.debug("didn't find "+o+" in vector"); if (i++> 20) break; } th.check( i < 20 , "check for infinite loop"); th.check(vc.isEmpty() ,"all elements iterated"); try { it.next(); th.fail("should throw a NoSuchElementException"); } catch(NoSuchElementException nsee) { th.check(true); } it = v.iterator(); try { it.remove(); th.fail("should throw an IllegalStateException -- 1"); } catch(IllegalStateException ise) { th.check(true); } it.next(); it.remove(); try { it.remove(); th.fail("should throw an IllegalStateException -- 2"); } catch(IllegalStateException ise) { th.check(true); } v.add("new"); try { it.next(); th.fail("should throw a ConcurrentModificationException -- 1"); } catch(ConcurrentModificationException cme) { th.check(true); } try { it.remove(); th.fail("should throw a ConcurrentModificationException -- 2"); } catch(ConcurrentModificationException cme) { th.check(true); } catch(IllegalStateException ise) { th.debug("ConcurrentModificationException should be triggered first"); } it = v.iterator(); while (it.hasNext()) { o = it.next(); it.remove(); if (v.contains(o)) th.fail("removed wrong element when tried to remove "+o+", got:"+v); if (i++> 20) break; } th.check(v.isEmpty() , "all elements are removed"); // check if modCount is updated correctly !!! v.add("a"); v.add("c"); v.add("u"); v.add("n"); v.add("i"); v.add("a"); it = v.iterator(); v.contains("a"); v.containsAll(v); v.indexOf("a"); v.isEmpty(); v.lastIndexOf("a"); v.size(); v.get(2); v.hashCode(); v.equals(v); v.toArray(); v.toArray(new Object[2]); v.copyInto(new Object[10]); v.elementAt(2); v.elements(); v.firstElement(); v.lastElement(); v.capacity(); v.trimToSize(); v.subList(2,5); v.clone(); v.toString(); try { it.next(); th.check(true, "Ok -- 1"); } catch(Exception e) { th.fail("should not throw an Exception, got "+e);} it = v.iterator(); v.add(3,"a"); try { it.next(); th.fail("should throw a ConcurrentModificationException -- add(int,Object)"); } catch(ConcurrentModificationException cme) { th.check(true, "Ok -- 2"); } it = v.iterator(); v.add("a"); try { it.next(); th.fail("should throw a ConcurrentModificationException -- add(Object)"); } catch(ConcurrentModificationException cme) { th.check(true, "Ok -- 3"); } it = v.iterator(); v.addAll((Collection)v.clone()); try { it.next(); th.fail("should throw a ConcurrentModificationException -- addAll(int,Col)"); } catch(ConcurrentModificationException cme) { th.check(true, "Ok -- 4"); } it = v.iterator(); v.addAll(3,(Collection)v.clone()); try { it.next(); th.fail("should throw a ConcurrentModificationException -- addAll(Col)"); } catch(ConcurrentModificationException cme) { th.check(true, "Ok -- 5"); } it = v.iterator(); v.addElement("b"); try { it.next(); th.fail("should throw a ConcurrentModificationException -- addElement"); } catch(ConcurrentModificationException cme) { th.check(true, "Ok -- 6"); } it = v.iterator(); v.insertElementAt("b",4); try { it.next(); th.fail("should throw a ConcurrentModificationException -- insertElementAt"); } catch(ConcurrentModificationException cme) { th.check(true, "Ok -- 7"); } it = v.iterator(); v.remove(4); try { it.next(); th.fail("should throw a ConcurrentModificationException -- remove(int)"); } catch(ConcurrentModificationException cme) { th.check(true, "Ok -- 8"); } it = v.iterator(); v.remove("b"); try { it.next(); th.fail("should throw a ConcurrentModificationException -- remove(Object)"); } catch(ConcurrentModificationException cme) { th.check(true, "Ok -- 9"); } Vector rv = new Vector(); rv.add("a"); rv.add("b"); it = v.iterator(); v.removeAll(rv); try { it.next(); th.fail("should throw a ConcurrentModificationException -- removeAll"); } catch(ConcurrentModificationException cme) { th.check(true, "Ok -- 10"); } it = v.iterator(); v.removeElement("c"); try { it.next(); th.fail("should throw a ConcurrentModificationException -- removeElement"); } catch(ConcurrentModificationException cme) { th.check(true, "Ok -- 11"); } it = v.iterator(); v.removeElementAt(7); try { it.next(); th.fail("should throw a ConcurrentModificationException -- removeElementAt"); } catch(ConcurrentModificationException cme) { th.check(true, "Ok -- 12"); } rv = (Vector)v.clone(); rv.remove(null); rv.remove(null); rv.remove(null); v.add(null); it = v.iterator(); v.retainAll(rv); try { it.next(); th.fail("should throw a ConcurrentModificationException -- retainAll"); } catch(ConcurrentModificationException cme) { th.check(true, "Ok -- 13"); } it = v.iterator(); v.setSize(v.size()-2); try { it.next(); th.fail("should throw a ConcurrentModificationException -- setSize"); } catch(ConcurrentModificationException cme) { th.check(true, "Ok -- 16"); } it = v.iterator(); v.removeAllElements(); try { it.next(); th.fail("should throw a ConcurrentModificationException -- removeAllElements"); } catch(ConcurrentModificationException cme) { th.check(true); } catch(NoSuchElementException nsee) { th.debug("ConcurrentModificationException should be triggered first"); } v.add("a"); it = v.iterator(); v.clear(); try { it.next(); th.fail("should throw a ConcurrentModificationException -- clear"); } catch(ConcurrentModificationException cme) { th.check(true); } catch(NoSuchElementException nsee) { th.debug("ConcurrentModificationException should be triggered first"); } } /** * not implemented.
* excessive testing */ public void test_behaviour(){ th.checkPoint("()"); Vector v = buildknownV(); ArrayList al = new ArrayList(v); th.check( al.size() == v.size(), "checking size"); Iterator it = al.iterator(); it.next(); try { it.remove(); th.check(true , "passed remove"); } catch(Exception e) { th.fail("got bad exception, "+e); } } protected ArrayList buildAL() { Vector v = new Vector(); v.add("a"); v.add("c"); v.add("u"); v.add("n"); v.add("i"); v.add("a"); v.add(null); v.add("a"); v.add("c"); v.add("u"); v.add("n"); v.add("i"); v.add("a"); v.add(null); return new ArrayList(v); } // The following fields and method are necessary for extending and Vector. private boolean didRemoveRange=false; private int from = -1; private int to = -1; public AcuniaVectorTest(Collection c){ super(c); } public void removeRange(int fidx, int tidx) { didRemoveRange=true; to = tidx; from = fidx; super.removeRange(fidx, tidx); } public boolean get_dRR() { return didRemoveRange; } public void set_dRR(boolean b) { didRemoveRange = b; } public int get_to() { return to; } public int get_from() { return from; } } mauve-20140821/gnu/testlet/java/util/Vector/copyInto.java0000644000175000001440000000444410302572443022037 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.Vector; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Vector; /** * Some tests for the copyInto() method in the {@link Vector} class. */ public class copyInto implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Vector v1 = new Vector(); v1.add("A"); v1.add("B"); v1.add("C"); Object[] array1 = new Object[3]; v1.copyInto(array1); harness.check(array1[0], "A"); harness.check(array1[1], "B"); harness.check(array1[2], "C"); // array longer than necessary Object[] array2 = new Object[] {"1", "2", "3", "4"}; v1.copyInto(array2); harness.check(array2[0], "A"); harness.check(array2[1], "B"); harness.check(array2[2], "C"); harness.check(array2[3], "4"); // array shorter than necessary Object[] array3 = new Object[] {"1", "2"}; boolean pass = false; try { v1.copyInto(array3); } catch (IndexOutOfBoundsException e) { pass = true; } harness.check(pass); harness.check(array3[0], "1"); // the method fails without modifying the harness.check(array3[1], "2"); // array // try null array pass = false; try { v1.copyInto(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/java/util/Vector/TestVector.ser0000644000175000001440000000043710141766104022203 0ustar dokousers¬ísrjava.util.VectorÙ—}[€;¯IcapacityIncrementI elementCount[ elementDatat[Ljava/lang/Object;xpur[Ljava.lang.Object;ÎXŸs)lxp srjava.lang.Integerâ ¤÷‡8Ivaluexrjava.lang.Number†¬• ”à‹xp pppppppppxsq~uq~ sq~pppppppppxmauve-20140821/gnu/testlet/java/util/Vector/removeAll.java0000644000175000001440000000310610470314134022150 0ustar dokousers/* removeAll.java -- Checks some functionality in Vector.removeAll() Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.util.Vector; import java.util.Vector; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class removeAll implements Testlet { public void test(TestHarness harness) { testNull(harness); } /** * Checks if and when null arguments to removeAll() are allowed. * * @param h the test harness */ private void testNull(TestHarness h) { // Check empty vector. Vector v = new Vector(); v.removeAll(null); h.check(true); // If we got here, there was no NPE. // Check non-empty vector. v.add(new Object()); try { v.removeAll(null); h.fail("NPE should be thrown"); } catch (NullPointerException ex) { h.check(true); } } } mauve-20140821/gnu/testlet/java/util/Vector/VectorSerialization.java0000644000175000001440000000444310142161307024225 0ustar dokousers// Tags: JDK1.2 /* VectorSerialization.java -- Tests the serialization of Vector. Copyright (c) 1999 by Free Software Foundation, Inc. Written by Guilhem Lavaux . 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, version 2. (see COPYING) 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 Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA */ package gnu.testlet.java.util.Vector; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Vector; import java.io.FileOutputStream; import java.io.InputStream; import java.io.ObjectOutputStream; import java.io.ObjectInputStream; import java.io.IOException; public class VectorSerialization implements Testlet { public static void main(String args[]) throws IOException { FileOutputStream os = new FileOutputStream("TestVector.ser"); ObjectOutputStream oo = new ObjectOutputStream(os); Vector v; v = new Vector(); v.add(new Integer(10)); oo.writeObject(v); v = new Vector(); v.add(new Integer(20)); oo.writeObject(v); os.close(); } public void test(TestHarness harness) { try { String packageName = getClass().getPackage().getName().replace('.','#'); InputStream is = harness.getResourceStream(packageName + "#TestVector.ser"); ObjectInputStream oi = new ObjectInputStream(is); Vector v; v = (Vector) oi.readObject(); harness.check(v != null, "returned object null ?"); harness.check(v.size(), 1); harness.check(v.get(0), new Integer(10)); v = (Vector) oi.readObject(); harness.check(v != null, "returned object null ?"); harness.check(v.size(), 1); harness.check(v.get(0), new Integer(20)); } catch (Exception e) { harness.fail("Caught an unexpected exception"); harness.debug(e); } } } mauve-20140821/gnu/testlet/java/util/Vector/subList.java0000644000175000001440000000251410234111662021650 0ustar dokousers// Tags: JDK1.2 // Uses: ../List/subList // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.Vector; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Vector; /** * Some tests for the subList() method in the {@link Vector} class. */ public class subList implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { gnu.testlet.java.util.List.subList.testAll(Vector.class, harness); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/0000755000175000001440000000000012375316426024600 5ustar dokousersmauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/constructor.java0000644000175000001440000000336212052401772030023 0ustar dokousers// Test if instances of a class java.util.IllegalFormatConversionException could be properly constructed // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatConversionException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatConversionException; /** * Test if instances of a class java.util.IllegalFormatConversionException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IllegalFormatConversionException object1 = new IllegalFormatConversionException('c', Integer.class); harness.check(object1 != null); harness.check(object1.toString().contains("java.util.IllegalFormatConversionException")); harness.check(object1.toString().contains("Integer")); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/TryCatchNPE.java0000644000175000001440000000336212003272216027515 0ustar dokousers// Test if try-catch block is working properly for a class java.util.IllegalFormatConversionException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.IllegalFormatConversionException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatConversionException; /** * Test if try-catch block is working properly for a class java.util.IllegalFormatConversionException */ public class TryCatchNPE implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { Object x = new IllegalFormatConversionException('c', null); } catch (NullPointerException npe) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/getArgumentClass.java0000644000175000001440000000472712003272216030707 0ustar dokousers// Test of a method java.util.IllegalFormatConversionException.getArgumentClass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.IllegalFormatConversionException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatConversionException; /** * Test of a method java.util.IllegalFormatConversionException.getArgumentClass() */ public class getArgumentClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IllegalFormatConversionException object1 = new IllegalFormatConversionException('c', Integer.class); harness.check(object1 != null); harness.check(object1.getArgumentClass() != null); harness.check(object1.getArgumentClass() == Integer.class); IllegalFormatConversionException object2 = new IllegalFormatConversionException(' ', Number.class); harness.check(object2 != null); harness.check(object2.getArgumentClass() != null); harness.check(object2.getArgumentClass() == Number.class); IllegalFormatConversionException object3 = new IllegalFormatConversionException('@', Object.class); harness.check(object3 != null); harness.check(object3.getArgumentClass() != null); harness.check(object3.getArgumentClass() == Object.class); IllegalFormatConversionException object4 = new IllegalFormatConversionException('\u1234', "xyzzy".getClass()); harness.check(object4 != null); harness.check(object4.getArgumentClass() != null); harness.check(object4.getArgumentClass() == String.class); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/TryCatch.java0000644000175000001440000000341612052401772027157 0ustar dokousers// Test if try-catch block is working properly for a class java.util.IllegalFormatConversionException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatConversionException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatConversionException; /** * Test if try-catch block is working properly for a class java.util.IllegalFormatConversionException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new IllegalFormatConversionException('c', Integer.class); } catch (IllegalFormatConversionException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/classInfo/0000755000175000001440000000000012375316426026521 5ustar dokousersmauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getPackage.java0000644000175000001440000000334512052401772031413 0ustar dokousers// Test for method java.util.IllegalFormatConversionException.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatConversionException; /** * Test for method java.util.IllegalFormatConversionException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatConversionException final Object o = new IllegalFormatConversionException('a', Character.class); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.util"); } } ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getDeclaredMethods.javamauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getDeclaredMethods.j0000644000175000001440000001101212052401772032405 0ustar dokousers// Test for method java.util.IllegalFormatConversionException.getClass().getDeclaredMethods() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatConversionException; import java.util.Map; import java.util.HashMap; /** * Test for method java.util.IllegalFormatConversionException.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedDeclaredMethods_jdk6.put("public java.lang.String java.util.IllegalFormatConversionException.getMessage()", "getMessage"); testedDeclaredMethods_jdk6.put("public char java.util.IllegalFormatConversionException.getConversion()", "getConversion"); testedDeclaredMethods_jdk6.put("public java.lang.Class java.util.IllegalFormatConversionException.getArgumentClass()", "getArgumentClass"); // map for methods declared in (Open)JDK7 testedDeclaredMethods_jdk7.put("public java.lang.String java.util.IllegalFormatConversionException.getMessage()", "getMessage"); testedDeclaredMethods_jdk7.put("public char java.util.IllegalFormatConversionException.getConversion()", "getConversion"); testedDeclaredMethods_jdk7.put("public java.lang.Class java.util.IllegalFormatConversionException.getArgumentClass()", "getArgumentClass"); // create instance of a class IllegalFormatConversionException final Object o = new IllegalFormatConversionException('a', Character.class); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); // check if all declared methods exist for (java.lang.reflect.Method declaredMethod : declaredMethods) { // method name should consists of package name + class name String methodName = declaredMethod.getName(); // modifiers + package + method name + parameter types String methodString = declaredMethod.toString().replaceAll(" native ", " "); harness.check(testedDeclaredMethods.containsKey(methodString)); harness.check(testedDeclaredMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getInterfaces.java0000644000175000001440000000340512052401772032140 0ustar dokousers// Test for method java.util.IllegalFormatConversionException.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatConversionException; import java.util.List; import java.util.Arrays; /** * Test for method java.util.IllegalFormatConversionException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatConversionException final Object o = new IllegalFormatConversionException('a', Character.class); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getModifiers.java0000644000175000001440000000457612052401772032010 0ustar dokousers// Test for method java.util.IllegalFormatConversionException.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatConversionException; import java.lang.reflect.Modifier; /** * Test for method java.util.IllegalFormatConversionException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatConversionException final Object o = new IllegalFormatConversionException('a', Character.class); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getDeclaredFields.javamauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getDeclaredFields.ja0000644000175000001440000001034612052401772032362 0ustar dokousers// Test for method java.util.IllegalFormatConversionException.getClass().getDeclaredFields() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatConversionException; import java.util.Map; import java.util.HashMap; /** * Test for method java.util.IllegalFormatConversionException.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 testedDeclaredFields_jdk6.put("private static final long java.util.IllegalFormatConversionException.serialVersionUID", "serialVersionUID"); testedDeclaredFields_jdk6.put("private char java.util.IllegalFormatConversionException.c", "c"); testedDeclaredFields_jdk6.put("private java.lang.Class java.util.IllegalFormatConversionException.arg", "arg"); // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.util.IllegalFormatConversionException.serialVersionUID", "serialVersionUID"); testedDeclaredFields_jdk7.put("private char java.util.IllegalFormatConversionException.c", "c"); testedDeclaredFields_jdk7.put("private java.lang.Class java.util.IllegalFormatConversionException.arg", "arg"); // create instance of a class IllegalFormatConversionException final Object o = new IllegalFormatConversionException('a', Character.class); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } ././@LongLink0000644000000000000000000000015500000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getDeclaredConstructors.javamauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getDeclaredConstruct0000644000175000001440000001026612052401772032550 0ustar dokousers// Test for method java.util.IllegalFormatConversionException.getClass().getDeclaredConstructors() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatConversionException; import java.util.Map; import java.util.HashMap; /** * Test for method java.util.IllegalFormatConversionException.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.util.IllegalFormatConversionException(char,java.lang.Class)", "java.util.IllegalFormatConversionException"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.util.IllegalFormatConversionException(char,java.lang.Class)", "java.util.IllegalFormatConversionException"); // create instance of a class IllegalFormatConversionException final Object o = new IllegalFormatConversionException('a', Character.class); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getFields.java0000644000175000001440000000577012052401772031272 0ustar dokousers// Test for method java.util.IllegalFormatConversionException.getClass().getFields() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatConversionException; import java.util.Map; import java.util.HashMap; /** * Test for method java.util.IllegalFormatConversionException.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class IllegalFormatConversionException final Object o = new IllegalFormatConversionException('a', Character.class); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isPrimitive.java0000644000175000001440000000330212052401772031655 0ustar dokousers// Test for method java.util.IllegalFormatConversionException.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatConversionException; /** * Test for method java.util.IllegalFormatConversionException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatConversionException final Object o = new IllegalFormatConversionException('a', Character.class); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getSimpleName.java0000644000175000001440000000334712052401772032114 0ustar dokousers// Test for method java.util.IllegalFormatConversionException.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatConversionException; /** * Test for method java.util.IllegalFormatConversionException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatConversionException final Object o = new IllegalFormatConversionException('a', Character.class); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "IllegalFormatConversionException"); } } ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isAnnotationPresent.javamauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isAnnotationPresent.0000644000175000001440000000447012052401772032525 0ustar dokousers// Test for method java.util.IllegalFormatConversionException.getClass().isAnnotationPresent() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatConversionException; /** * Test for method java.util.IllegalFormatConversionException.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatConversionException final Object o = new IllegalFormatConversionException('a', Character.class); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isSynthetic.java0000644000175000001440000000330212052401772031657 0ustar dokousers// Test for method java.util.IllegalFormatConversionException.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatConversionException; /** * Test for method java.util.IllegalFormatConversionException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatConversionException final Object o = new IllegalFormatConversionException('a', Character.class); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isAnnotation.java0000644000175000001440000000330012052401772032015 0ustar dokousers// Test for method java.util.IllegalFormatConversionException.getClass().isAnnotation() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatConversionException; /** * Test for method java.util.IllegalFormatConversionException.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatConversionException final Object o = new IllegalFormatConversionException('a', Character.class); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isInstance.java0000644000175000001440000000336712052401772031464 0ustar dokousers// Test for method java.util.IllegalFormatConversionException.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatConversionException; /** * Test for method java.util.IllegalFormatConversionException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatConversionException final Object o = new IllegalFormatConversionException('a', Character.class); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new IllegalFormatConversionException('a', Character.class))); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isMemberClass.java0000644000175000001440000000331212052401772032103 0ustar dokousers// Test for method java.util.IllegalFormatConversionException.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatConversionException; /** * Test for method java.util.IllegalFormatConversionException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatConversionException final Object o = new IllegalFormatConversionException('a', Character.class); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getSuperclass.java0000644000175000001440000000343012052401772032177 0ustar dokousers// Test for method java.util.IllegalFormatConversionException.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatConversionException; /** * Test for method java.util.IllegalFormatConversionException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatConversionException final Object o = new IllegalFormatConversionException('a', Character.class); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.util.IllegalFormatException"); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isEnum.java0000644000175000001440000000325012052401772030613 0ustar dokousers// Test for method java.util.IllegalFormatConversionException.getClass().isEnum() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatConversionException; /** * Test for method java.util.IllegalFormatConversionException.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatConversionException final Object o = new IllegalFormatConversionException('a', Character.class); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getMethods.java0000644000175000001440000002106412052401772031461 0ustar dokousers// Test for method java.util.IllegalFormatConversionException.getClass().getMethods() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatConversionException; import java.util.Map; import java.util.HashMap; /** * Test for method java.util.IllegalFormatConversionException.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public java.lang.String java.util.IllegalFormatConversionException.getMessage()", "getMessage"); testedMethods_jdk6.put("public char java.util.IllegalFormatConversionException.getConversion()", "getConversion"); testedMethods_jdk6.put("public java.lang.Class java.util.IllegalFormatConversionException.getArgumentClass()", "getArgumentClass"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public java.lang.String java.util.IllegalFormatConversionException.getMessage()", "getMessage"); testedMethods_jdk7.put("public char java.util.IllegalFormatConversionException.getConversion()", "getConversion"); testedMethods_jdk7.put("public java.lang.Class java.util.IllegalFormatConversionException.getArgumentClass()", "getArgumentClass"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class IllegalFormatConversionException final Object o = new IllegalFormatConversionException('a', Character.class); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/classInfo/InstanceOf.java0000644000175000001440000000442212052401772031406 0ustar dokousers// Test for instanceof operator applied to a class java.util.IllegalFormatConversionException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatConversionException; import java.util.IllegalFormatException; import java.lang.IllegalArgumentException; import java.lang.RuntimeException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.util.IllegalFormatConversionException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatConversionException IllegalFormatConversionException o = new IllegalFormatConversionException('a', Character.class); // basic check of instanceof operator harness.check(o instanceof IllegalFormatConversionException); // check operator instanceof against all superclasses harness.check(o instanceof IllegalFormatException); harness.check(o instanceof IllegalArgumentException); harness.check(o instanceof RuntimeException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isAnonymousClass.javamauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isAnonymousClass.jav0000644000175000001440000000332012052401772032522 0ustar dokousers// Test for method java.util.IllegalFormatConversionException.getClass().isAnonymousClass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatConversionException; /** * Test for method java.util.IllegalFormatConversionException.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatConversionException final Object o = new IllegalFormatConversionException('a', Character.class); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isInterface.java0000644000175000001440000000330212052401772031605 0ustar dokousers// Test for method java.util.IllegalFormatConversionException.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatConversionException; /** * Test for method java.util.IllegalFormatConversionException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatConversionException final Object o = new IllegalFormatConversionException('a', Character.class); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getConstructors.java0000644000175000001440000000774112052401772032574 0ustar dokousers// Test for method java.util.IllegalFormatConversionException.getClass().getConstructors() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatConversionException; import java.util.Map; import java.util.HashMap; /** * Test for method java.util.IllegalFormatConversionException.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.util.IllegalFormatConversionException(char,java.lang.Class)", "java.util.IllegalFormatConversionException"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.util.IllegalFormatConversionException(char,java.lang.Class)", "java.util.IllegalFormatConversionException"); // create instance of a class IllegalFormatConversionException final Object o = new IllegalFormatConversionException('a', Character.class); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isAssignableFrom.javamauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isAssignableFrom.jav0000644000175000001440000000337212052401772032447 0ustar dokousers// Test for method java.util.IllegalFormatConversionException.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatConversionException; /** * Test for method java.util.IllegalFormatConversionException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatConversionException final Object o = new IllegalFormatConversionException('a', Character.class); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(IllegalFormatConversionException.class)); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isLocalClass.java0000644000175000001440000000330612052401772031731 0ustar dokousers// Test for method java.util.IllegalFormatConversionException.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatConversionException; /** * Test for method java.util.IllegalFormatConversionException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatConversionException final Object o = new IllegalFormatConversionException('a', Character.class); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getName.java0000644000175000001440000000333112052401772030733 0ustar dokousers// Test for method java.util.IllegalFormatConversionException.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatConversionException; /** * Test for method java.util.IllegalFormatConversionException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatConversionException final Object o = new IllegalFormatConversionException('a', Character.class); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.util.IllegalFormatConversionException"); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isArray.java0000644000175000001440000000325412052401772030771 0ustar dokousers// Test for method java.util.IllegalFormatConversionException.getClass().isArray() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatConversionException; /** * Test for method java.util.IllegalFormatConversionException.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatConversionException final Object o = new IllegalFormatConversionException('a', Character.class); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/getConversion.java0000644000175000001440000000426012003272216030254 0ustar dokousers// Test of a method java.util.IllegalFormatConversionException.getConversion() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.IllegalFormatConversionException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatConversionException; /** * Test of a method java.util.IllegalFormatConversionException.getConversion() */ public class getConversion implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IllegalFormatConversionException object1 = new IllegalFormatConversionException('c', Integer.class); harness.check(object1 != null); harness.check(object1.getConversion() == 'c'); IllegalFormatConversionException object2 = new IllegalFormatConversionException(' ', Number.class); harness.check(object2 != null); harness.check(object2.getConversion() == ' '); IllegalFormatConversionException object3 = new IllegalFormatConversionException('@', Object.class); harness.check(object3 != null); harness.check(object3.getConversion() == '@'); IllegalFormatConversionException object4 = new IllegalFormatConversionException('\u1234', Object.class); harness.check(object4 != null); harness.check(object4.getConversion() == '\u1234'); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatConversionException/getMessage.java0000644000175000001440000000502612003272216027514 0ustar dokousers// Test of a method java.util.IllegalFormatConversionException.getMessage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.IllegalFormatConversionException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatConversionException; /** * Test of a method java.util.IllegalFormatConversionException.getMessage() */ public class getMessage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IllegalFormatConversionException object1 = new IllegalFormatConversionException('c', Integer.class); harness.check(object1 != null); harness.check(object1.getMessage() != null); harness.check(object1.getMessage().contains("Integer")); IllegalFormatConversionException object2 = new IllegalFormatConversionException(' ', Number.class); harness.check(object2 != null); harness.check(object2.getMessage() != null); harness.check(object2.getMessage().contains("Number")); IllegalFormatConversionException object3 = new IllegalFormatConversionException('@', Object.class); harness.check(object3 != null); harness.check(object3.getMessage() != null); harness.check(object3.getMessage().contains("Object")); harness.check(object3.getMessage().contains("@")); IllegalFormatConversionException object4 = new IllegalFormatConversionException('\u1234', Object.class); harness.check(object4 != null); harness.check(object4.getMessage() != null); harness.check(object4.getMessage().contains("Object")); harness.check(object4.getMessage().contains("\u1234")); } } mauve-20140821/gnu/testlet/java/util/StringTokenizer/0000755000175000001440000000000012375316426021272 5ustar dokousersmauve-20140821/gnu/testlet/java/util/StringTokenizer/constructors.java0000644000175000001440000001123110213152742024667 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 2005 David Gilbert (david.gilbert@object-refinery.com) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.StringTokenizer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.NoSuchElementException; import java.util.StringTokenizer; /** * Some checks for the constructors in the {@link StringTokenizer} class. */ public class constructors implements Testlet { /** * Runs the checks. * * @param harness the test harness. */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); } private void testConstructor1(TestHarness harness) { harness.checkPoint("StringTokenizer(String)"); StringTokenizer st = new StringTokenizer("one two\tthree\nfour\rfive\fsix"); harness.check(st.nextToken(), "one"); harness.check(st.nextToken(), "two"); harness.check(st.nextToken(), "three"); harness.check(st.nextToken(), "four"); harness.check(st.nextToken(), "five"); harness.check(st.nextToken(), "six"); boolean pass = false; try { st.nextToken(); } catch (NoSuchElementException e) { pass = true; } harness.check(pass); // null argument - see 1.5 specification pass = false; try { st = new StringTokenizer(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try empty string st = new StringTokenizer(""); harness.check(!st.hasMoreElements()); } private void testConstructor2(TestHarness harness) { harness.checkPoint("StringTokenizer(String, String)"); StringTokenizer st = new StringTokenizer("one twoXthreeYfour", " XY"); harness.check(st.nextToken(), "one"); harness.check(st.nextToken(), "two"); harness.check(st.nextToken(), "three"); harness.check(st.nextToken(), "four"); boolean pass = false; try { st.nextToken(); } catch (NoSuchElementException e) { pass = true; } harness.check(pass); // null first argument pass = false; try { st = new StringTokenizer(null, " "); } catch (NullPointerException e) { pass = true; } harness.check(pass); // null second argument - here is a case of the spec being written // to match the implementation, it says (in 1.5) NO exception should be // thrown, but NullPointerException may follow on other operations. pass = false; try { st = new StringTokenizer("ABC DEFG", null); try { /* String s = */ st.nextToken(); } catch (NullPointerException e) { pass = true; } } catch (NullPointerException e) { // failed - even though this makes sense } harness.check(pass); } private void testConstructor3(TestHarness harness) { harness.checkPoint("StringTokenizer(String, String, boolean)"); // try with flag = true StringTokenizer st = new StringTokenizer("A BCXDEFYYGHI", " XY", true); harness.check(st.nextToken(), "A"); harness.check(st.nextToken(), " "); harness.check(st.nextToken(), "BC"); harness.check(st.nextToken(), "X"); harness.check(st.nextToken(), "DEF"); harness.check(st.nextToken(), "Y"); harness.check(st.nextToken(), "Y"); harness.check(st.nextToken(), "GHI"); harness.check(!st.hasMoreElements()); // try with flag = false st = new StringTokenizer("A BCXDEFYYGHI", " XY", false); harness.check(st.nextToken(), "A"); harness.check(st.nextToken(), "BC"); harness.check(st.nextToken(), "DEF"); harness.check(st.nextToken(), "GHI"); harness.check(!st.hasMoreElements()); // null first argument boolean pass = false; try { st = new StringTokenizer(null, " ", true); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/java/util/StringTokenizer/hasMoreElements.java0000644000175000001440000000301410213152742025212 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 2005 David Gilbert (david.gilbert@object-refinery.com) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.StringTokenizer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.StringTokenizer; /** * Some checks for the hasMoreElements() method. */ public class hasMoreElements implements Testlet { /** * Some checks for the hasMoreElements() method. * * @param harness the test harness. */ public void test(TestHarness harness) { StringTokenizer t1 = new StringTokenizer("one two"); harness.check(t1.hasMoreElements()); t1.nextToken(); harness.check(t1.hasMoreElements()); t1.nextToken(); harness.check(!t1.hasMoreElements()); StringTokenizer t2 = new StringTokenizer(""); harness.check(!t2.hasMoreElements()); } }mauve-20140821/gnu/testlet/java/util/StringTokenizer/countTokens.java0000644000175000001440000000300110213152742024427 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 2005 David Gilbert (david.gilbert@object-refinery.com) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.StringTokenizer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.StringTokenizer; /** * Some checks for the countTokens() method. */ public class countTokens implements Testlet { /** * Some checks for the countTokens() method. * * @param harness the test harness. */ public void test(TestHarness harness) { StringTokenizer t1 = new StringTokenizer("one two three"); harness.check(t1.countTokens(), 3); t1.nextToken(); harness.check(t1.countTokens(), 2); t1.nextToken(); harness.check(t1.countTokens(), 1); StringTokenizer t2 = new StringTokenizer(""); harness.check(t2.countTokens(), 0); } }mauve-20140821/gnu/testlet/java/util/StringTokenizer/nextElement.java0000644000175000001440000000367210213152742024421 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 2005 David Gilbert (david.gilbert@object-refinery.com) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.StringTokenizer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.NoSuchElementException; import java.util.StringTokenizer; /** * Some checks for the nextElement() method. */ public class nextElement implements Testlet { /** * Runs the tests. * * @param harness the test harness. */ public void test(TestHarness harness) { StringTokenizer t = new StringTokenizer("one two three"); harness.check(t.nextElement(), "one"); harness.check(t.nextElement(), "two"); harness.check(t.nextElement(), "three"); boolean pass = false; try { t.nextElement(); } catch (NoSuchElementException e) { pass = true; } harness.check(pass); // try with multiple delimiters t = new StringTokenizer("one two-three", "- "); harness.check(t.nextElement(), "one"); harness.check(t.nextElement(), "two"); harness.check(t.nextElement(), "three"); pass = false; try { t.nextToken(); } catch (NoSuchElementException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/java/util/StringTokenizer/hasMoreTokens.java0000644000175000001440000000277510213152742024716 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 2005 David Gilbert (david.gilbert@object-refinery.com) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.StringTokenizer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.StringTokenizer; /** * Some checks for the hasMoreTokens() method. */ public class hasMoreTokens implements Testlet { /** * Some checks for the hasMoreTokens() method. * * @param harness the test harness. */ public void test(TestHarness harness) { StringTokenizer t1 = new StringTokenizer("one two"); harness.check(t1.hasMoreTokens()); t1.nextToken(); harness.check(t1.hasMoreTokens()); t1.nextToken(); harness.check(!t1.hasMoreTokens()); StringTokenizer t2 = new StringTokenizer(""); harness.check(!t2.hasMoreTokens()); } }mauve-20140821/gnu/testlet/java/util/StringTokenizer/nextToken.java0000644000175000001440000000501010213152742024074 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 2005 David Gilbert (david.gilbert@object-refinery.com) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.StringTokenizer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.NoSuchElementException; import java.util.StringTokenizer; /** * Some checks for the nextToken() method. */ public class nextToken implements Testlet { /** * Runs the test. * * @param harness the test harness. */ public void test(TestHarness harness) { test1(harness); test2(harness); } private void test1(TestHarness harness) { harness.checkPoint("nextToken()"); StringTokenizer t = new StringTokenizer("one two three"); harness.check(t.nextToken(), "one"); harness.check(t.nextToken(), "two"); harness.check(t.nextToken(), "three"); boolean pass = false; try { t.nextToken(); } catch (NoSuchElementException e) { pass = true; } harness.check(pass); // try with multiple delimiters t = new StringTokenizer("one two-three", "- "); harness.check(t.nextToken(), "one"); harness.check(t.nextToken(), "two"); harness.check(t.nextToken(), "three"); pass = false; try { t.nextToken(); } catch (NoSuchElementException e) { pass = true; } harness.check(pass); } private void test2(TestHarness harness) { harness.checkPoint("nextToken(String)"); StringTokenizer t = new StringTokenizer("A BC-DEF GHI-JKL", " "); harness.check(t.nextToken(), "A"); harness.check(t.nextToken("-"), " BC"); harness.check(t.nextToken(), "DEF GHI"); boolean pass = false; try { t.nextToken(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/java/util/TreeSet/0000755000175000001440000000000012375316426017504 5ustar dokousersmauve-20140821/gnu/testlet/java/util/TreeSet/basic.java0000644000175000001440000001045010323502332021410 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004, 2005 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.TreeSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Iterator; import java.util.Set; import java.util.TreeSet; /** * Basic TreeSet test. * @author Audrius Meskauskas (AudriusA@Bluewin.ch) */ public class basic implements Testlet { TreeSet set = new TreeSet(); void checkContent(Set forSet, String content, TestHarness h, String note) { StringBuffer b = new StringBuffer(); Iterator iter = forSet.iterator(); while (iter.hasNext()) { b.append(iter.next()); } h.check(b.toString(), content, note); } void checkContent(String content, TestHarness h, String note) { checkContent(set, content, h, note); } TreeSet getSet(String content) { TreeSet t = new TreeSet(); for (int i = 0; i < content.length(); i++) { t.add("" + content.charAt(i)); } return t; } /* Test clone(). */ public void test_clone(TestHarness harness) { TreeSet t = getSet("abcdef"); set = (TreeSet) t.clone(); checkContent("abcdef", harness, "clone"); } /* Test add(Object). */ public void test_add(TestHarness harness) { set = getSet("bcdabcddabbccaabbccadbcdababbcdabcxabcxccda"); checkContent("abcdx", harness, "add"); harness.check(set.size(), 5, "size"); harness.check(set.first(), "a", "first"); harness.check(set.last(), "x", "last"); harness.check(set.comparator() == null, "null comparator expected"); } /* Test addAll(Collection). */ public void test_addAll(TestHarness harness) { set = getSet("dac"); TreeSet t = getSet("xay"); set.addAll(t); checkContent("acdxy", harness, "addAll"); } /* Test contains(Object). */ public void test_contains(TestHarness harness) { String t = "abcdefghij"; set = getSet(t); for (int i = 0; i < t.length(); i++) { String s = t.substring(i, i + 1); harness.check(set.contains(s), "must contain '" + s + "'"); } harness.check(!set.contains("aa"), "must not contain 'aa'"); } /* Test remove(Object). */ public void test_remove(TestHarness harness) { String t = "abcdefghij"; set = getSet(t); for (int i = 0; i < t.length(); i++) { String s = t.substring(i, i + 1); set.remove(s); if (set.contains(s)) harness.fail("Contains '" + s + "' after removing. "); } harness.check(set.size(), 0, "non zero size after removing all elements"); harness.check(set.isEmpty(), "non empty when it should be"); } /* Test clear(). */ public void test_clear(TestHarness harness) { set = getSet("a"); set.clear(); harness.check(set.size(), 0, "clear"); } /* Test headSet(Object). */ public void test_subsets(TestHarness harness) { String content = "abcdefghijklmn"; set = getSet(content); for (int i = 0; i < content.length() - 1; i++) { String s = content.substring(i, i + 1); checkContent(set.headSet(s), content.substring(0, i), harness, "headSet"); checkContent(set.tailSet(s), content.substring(i), harness, "tailSet"); checkContent(set.subSet(s, "n"), content.substring(i, content.length() - 1), harness, "subset" ); } } public void test(TestHarness harness) { test_clone(harness); test_add(harness); test_addAll(harness); test_contains(harness); test_remove(harness); test_clear(harness); test_subsets(harness); } } mauve-20140821/gnu/testlet/java/util/Iterator/0000755000175000001440000000000012375316426017722 5ustar dokousersmauve-20140821/gnu/testlet/java/util/Iterator/ConcurrentModification.java0000644000175000001440000001013310415000334025210 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2006 Red Hat, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.Iterator; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.*; /** * For a variety of collections classes, this test modifies the backing * store underlying an active iterator, and check that Iterator.next() * correctly throws ConcurrentModificationException, while hasNext(), * hasPrevious(), previousIndex(), and nextIndex() do not. */ public class ConcurrentModification implements Testlet { TestHarness harness; public void test(TestHarness harness) { this.harness = harness; testMapIterator(new HashMap()); testMapIterator(new TreeMap()); testMapIterator(new Hashtable()); testMapIterator(new LinkedHashMap()); testMapIterator(new IdentityHashMap()); testMapIterator(new WeakHashMap()); testMapIterator(Collections.synchronizedMap(new HashMap())); testListIterator(new ArrayList()); testListIterator(new Vector()); testListIterator(new LinkedList()); testListIterator(Collections.synchronizedList(new ArrayList())); testCollectionIterator(new HashSet()); testCollectionIterator(new LinkedHashSet()); testCollectionIterator(new TreeSet()); } void testMapIterator(Map map) { map.put("1", "value"); map.put("2", "value"); testIterator(map.keySet()); map.clear(); map.put("1", "value"); map.put("2", "value"); testIterator(map.values()); } void testListIterator(List l) { l.add("1"); l.add("2"); testIterator(l); l.clear(); l.add("1"); l.add("2"); l.add("3"); testIterator(l.subList(0, 3)); l.clear(); l.add("1"); l.add("2"); l.add("3"); testListHasPrevious(l); } void testCollectionIterator(Collection c) { c.add("1"); c.add("2"); testIterator(c); } void testIterator(Collection c) { Iterator iter = c.iterator(); String element = (String) iter.next(); c.remove(element); // Invalid concurrent modification. boolean hasNext = false; try { hasNext = iter.hasNext(); } catch (ConcurrentModificationException x) { harness.fail(c.getClass() + ".iterator().hasNext() throws " + x); return; } try { element = (String) iter.next(); } catch (ConcurrentModificationException x) { harness.check(true); // OK! } } void testListHasPrevious(List l) { ListIterator iter = l.listIterator(); String element = (String) iter.next(); l.remove(element); // Invalid concurrent modification. int idx = -1; boolean hasPrevious = false; try { hasPrevious = iter.hasPrevious(); } catch (ConcurrentModificationException x) { harness.fail(l.getClass() + ".listIterator().hasPrevious() throws " + x); return; } try { idx = iter.nextIndex(); } catch (ConcurrentModificationException x) { harness.fail(l.getClass() + ".listIterator().nextIndex() throws " + x); return; } try { idx = iter.previousIndex(); } catch (ConcurrentModificationException x) { harness.fail(l.getClass() + ".listIterator().previousIndex() throws " + x); return; } try { element = (String) iter.next(); } catch (ConcurrentModificationException x) { harness.check(true); // OK! } } } mauve-20140821/gnu/testlet/java/util/IllegalFormatException/0000755000175000001440000000000012375316426022532 5ustar dokousersmauve-20140821/gnu/testlet/java/util/IllegalFormatException/classInfo/0000755000175000001440000000000012375316426024453 5ustar dokousersmauve-20140821/gnu/testlet/java/util/IllegalFormatException/classInfo/InstanceOf.java0000644000175000001440000000456212004474146027347 0ustar dokousers// Test for instanceof operator applied to a class java.util.IllegalFormatException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.IllegalFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatException; import java.util.DuplicateFormatFlagsException; import java.util.FormatFlagsConversionMismatchException; import java.util.IllegalFormatCodePointException; import java.lang.IllegalArgumentException; import java.lang.RuntimeException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.util.IllegalFormatException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { check(harness, new DuplicateFormatFlagsException("string")); check(harness, new FormatFlagsConversionMismatchException("string", 'c')); check(harness, new IllegalFormatCodePointException(42)); } public void check(TestHarness harness, Throwable t) { // basic check of instanceof operator harness.check(t instanceof IllegalFormatException); // check operator instanceof against all superclasses harness.check(t instanceof IllegalArgumentException); harness.check(t instanceof RuntimeException); harness.check(t instanceof Exception); harness.check(t instanceof Throwable); harness.check(t instanceof Object); } } mauve-20140821/gnu/testlet/java/util/DuplicateFormatFlagsException/0000755000175000001440000000000012375316426024050 5ustar dokousersmauve-20140821/gnu/testlet/java/util/DuplicateFormatFlagsException/constructor.java0000644000175000001440000000332311777541634027307 0ustar dokousers// Test if instances of a class java.util.DuplicateFormatFlagsException could be properly constructed // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.DuplicateFormatFlagsException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.DuplicateFormatFlagsException; /** * Test if instances of a class java.util.DuplicateFormatFlagsException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DuplicateFormatFlagsException object1 = new DuplicateFormatFlagsException("nothing happens"); harness.check(object1 != null); harness.check(object1.toString().contains("java.util.DuplicateFormatFlagsException")); harness.check(object1.toString().contains("nothing happens")); } } mauve-20140821/gnu/testlet/java/util/DuplicateFormatFlagsException/getFlags.java0000644000175000001440000000351411777541634026460 0ustar dokousers// Test of a method java.util.DuplicateFormatFlagsException.getFlags() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.DuplicateFormatFlagsException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.DuplicateFormatFlagsException; /** * Test of a method java.util.DuplicateFormatFlagsException.getFlags() */ public class getFlags implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DuplicateFormatFlagsException object1 = new DuplicateFormatFlagsException(""); harness.check(object1 != null); harness.check(object1.getFlags() != null); harness.check(object1.getFlags().isEmpty()); DuplicateFormatFlagsException object2 = new DuplicateFormatFlagsException("nothing happens"); harness.check(object2 != null); harness.check(object2.getFlags() != null); harness.check(object2.getFlags().contains("nothing happens")); } } mauve-20140821/gnu/testlet/java/util/DuplicateFormatFlagsException/TryCatch.java0000644000175000001440000000337011777541634026445 0ustar dokousers// Test if try-catch block is working properly for a class java.util.DuplicateFormatFlagsException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.DuplicateFormatFlagsException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.DuplicateFormatFlagsException; /** * Test if try-catch block is working properly for a class java.util.DuplicateFormatFlagsException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new DuplicateFormatFlagsException("DuplicateFormatFlagsException"); } catch (DuplicateFormatFlagsException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/util/DuplicateFormatFlagsException/classInfo/0000755000175000001440000000000012375316426025771 5ustar dokousersmauve-20140821/gnu/testlet/java/util/DuplicateFormatFlagsException/classInfo/getPackage.java0000644000175000001440000000325211777541634030677 0ustar dokousers// Test for method java.util.DuplicateFormatFlagsException.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.DuplicateFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.DuplicateFormatFlagsException; /** * Test for method java.util.DuplicateFormatFlagsException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new DuplicateFormatFlagsException("DuplicateFormatFlagsException"); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.util"); } } mauve-20140821/gnu/testlet/java/util/DuplicateFormatFlagsException/classInfo/getInterfaces.java0000644000175000001440000000331211777541634031424 0ustar dokousers// Test for method java.util.DuplicateFormatFlagsException.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.DuplicateFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.DuplicateFormatFlagsException; import java.util.List; import java.util.Arrays; /** * Test for method java.util.DuplicateFormatFlagsException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new DuplicateFormatFlagsException("DuplicateFormatFlagsException"); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/util/DuplicateFormatFlagsException/classInfo/getModifiers.java0000644000175000001440000000450311777541634031265 0ustar dokousers// Test for method java.util.DuplicateFormatFlagsException.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.DuplicateFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.DuplicateFormatFlagsException; import java.lang.reflect.Modifier; /** * Test for method java.util.DuplicateFormatFlagsException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new DuplicateFormatFlagsException("DuplicateFormatFlagsException"); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/util/DuplicateFormatFlagsException/classInfo/isPrimitive.java0000644000175000001440000000320711777541634031150 0ustar dokousers// Test for method java.util.DuplicateFormatFlagsException.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.DuplicateFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.DuplicateFormatFlagsException; /** * Test for method java.util.DuplicateFormatFlagsException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new DuplicateFormatFlagsException("DuplicateFormatFlagsException"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/util/DuplicateFormatFlagsException/classInfo/getSimpleName.java0000644000175000001440000000325111777541634031375 0ustar dokousers// Test for method java.util.DuplicateFormatFlagsException.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.DuplicateFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.DuplicateFormatFlagsException; /** * Test for method java.util.DuplicateFormatFlagsException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new DuplicateFormatFlagsException("DuplicateFormatFlagsException"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "DuplicateFormatFlagsException"); } } mauve-20140821/gnu/testlet/java/util/DuplicateFormatFlagsException/classInfo/isSynthetic.java0000644000175000001440000000320711777541634031152 0ustar dokousers// Test for method java.util.DuplicateFormatFlagsException.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.DuplicateFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.DuplicateFormatFlagsException; /** * Test for method java.util.DuplicateFormatFlagsException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new DuplicateFormatFlagsException("DuplicateFormatFlagsException"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/util/DuplicateFormatFlagsException/classInfo/isInstance.java0000644000175000001440000000330411777541634030742 0ustar dokousers// Test for method java.util.DuplicateFormatFlagsException.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.DuplicateFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.DuplicateFormatFlagsException; /** * Test for method java.util.DuplicateFormatFlagsException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new DuplicateFormatFlagsException("DuplicateFormatFlagsException"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new DuplicateFormatFlagsException("DuplicateFormatFlagsException"))); } } mauve-20140821/gnu/testlet/java/util/DuplicateFormatFlagsException/classInfo/isMemberClass.java0000644000175000001440000000321711777541634031376 0ustar dokousers// Test for method java.util.DuplicateFormatFlagsException.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.DuplicateFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.DuplicateFormatFlagsException; /** * Test for method java.util.DuplicateFormatFlagsException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new DuplicateFormatFlagsException("DuplicateFormatFlagsException"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/util/DuplicateFormatFlagsException/classInfo/getSuperclass.java0000644000175000001440000000333511777541634031472 0ustar dokousers// Test for method java.util.DuplicateFormatFlagsException.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.DuplicateFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.DuplicateFormatFlagsException; /** * Test for method java.util.DuplicateFormatFlagsException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new DuplicateFormatFlagsException("DuplicateFormatFlagsException"); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.util.IllegalFormatException"); } } mauve-20140821/gnu/testlet/java/util/DuplicateFormatFlagsException/classInfo/InstanceOf.java0000644000175000001440000000436411777541634030702 0ustar dokousers// Test for instanceof operator applied to a class java.util.DuplicateFormatFlagsException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.DuplicateFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.DuplicateFormatFlagsException; import java.util.IllegalFormatException; import java.lang.IllegalArgumentException; import java.lang.RuntimeException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.util.DuplicateFormatFlagsException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class DuplicateFormatFlagsException DuplicateFormatFlagsException o = new DuplicateFormatFlagsException("DuplicateFormatFlagsException"); // basic check of instanceof operator harness.check(o instanceof DuplicateFormatFlagsException); // check operator instanceof against all superclasses harness.check(o instanceof IllegalFormatException); harness.check(o instanceof IllegalArgumentException); harness.check(o instanceof RuntimeException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/util/DuplicateFormatFlagsException/classInfo/isInterface.java0000644000175000001440000000320711777541634031100 0ustar dokousers// Test for method java.util.DuplicateFormatFlagsException.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.DuplicateFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.DuplicateFormatFlagsException; /** * Test for method java.util.DuplicateFormatFlagsException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new DuplicateFormatFlagsException("DuplicateFormatFlagsException"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/util/DuplicateFormatFlagsException/classInfo/isAssignableFrom.java0000644000175000001440000000327411777541634032100 0ustar dokousers// Test for method java.util.DuplicateFormatFlagsException.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.DuplicateFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.DuplicateFormatFlagsException; /** * Test for method java.util.DuplicateFormatFlagsException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new DuplicateFormatFlagsException("DuplicateFormatFlagsException"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(DuplicateFormatFlagsException.class)); } } mauve-20140821/gnu/testlet/java/util/DuplicateFormatFlagsException/classInfo/isLocalClass.java0000644000175000001440000000321311777541634031215 0ustar dokousers// Test for method java.util.DuplicateFormatFlagsException.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.DuplicateFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.DuplicateFormatFlagsException; /** * Test for method java.util.DuplicateFormatFlagsException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new DuplicateFormatFlagsException("DuplicateFormatFlagsException"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/util/DuplicateFormatFlagsException/classInfo/getName.java0000644000175000001440000000323311777541634030223 0ustar dokousers// Test for method java.util.DuplicateFormatFlagsException.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.DuplicateFormatFlagsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.DuplicateFormatFlagsException; /** * Test for method java.util.DuplicateFormatFlagsException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new DuplicateFormatFlagsException("DuplicateFormatFlagsException"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.util.DuplicateFormatFlagsException"); } } mauve-20140821/gnu/testlet/java/util/DuplicateFormatFlagsException/getMessage.java0000644000175000001440000000367211777541634027015 0ustar dokousers// Test of a method java.util.DuplicateFormatFlagsException.getMessage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.DuplicateFormatFlagsException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.DuplicateFormatFlagsException; /** * Test of a method java.util.DuplicateFormatFlagsException.getMessage() */ public class getMessage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DuplicateFormatFlagsException object1 = new DuplicateFormatFlagsException(""); harness.check(object1 != null); harness.check(object1.getMessage() != null); harness.check(object1.getMessage().contains("Flags = ''")); DuplicateFormatFlagsException object2 = new DuplicateFormatFlagsException("nothing happens"); harness.check(object2 != null); harness.check(object2.getMessage() != null); harness.check(object2.getMessage().contains("nothing happens")); harness.check(object2.getMessage().contains("Flags = 'nothing happens'")); } } mauve-20140821/gnu/testlet/java/util/Date/0000755000175000001440000000000012375316426017006 5ustar dokousersmauve-20140821/gnu/testlet/java/util/Date/parse.java0000644000175000001440000000575207775665056021012 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 2004 Free Software Foundation, Inc. // Contributed by Per Bothner . // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.Date; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Date; public class parse implements Testlet { private TestHarness harness; static final long TZ_DIFF_MAX = 24*60*60*1000; public void test (TestHarness harness) { this.harness = harness; testParse("6 Sep 2003", 1062806400000L, TZ_DIFF_MAX); testParse("2003/9/6 9:30 PST", 1062869400000L, 2003, 9, 6); testParse("6 Sep 2003 9:30 PST", 1062869400000L, 2003, 9, 6); testParse("6 Sep 2003 9:30 AM PST", 1062869400000L, 2003, 9, 6); testParse("6 Sep 2003 9:30 pm EDT", 1062898200000L, 2003, 9, 6); testParse("6 Sep 2003 UTC", 1062806400000L, 2003, 9, 6); testParse("2/28/08 23:30 gmt", 1204241400000L, 2008, 2, 28); } /** Test Date.parse. * @param s a String argument to for Date.parse. * @param exp the expected time in milliseconds. * @param year the expected result of new Date(exp).getYear(). * @param month the expected result of new Date(exp).getMonth(). * @param date the expected result of new Date(exp).getDate(). * We allow up to one day "off" because the local timezone may differ * from UTC and/or the one specified. (Hence don't call this * on the first or last day of the month.) */ private void testParse (String s, long exp, int year, int month, int date) { long t = Date.parse(s); Date d = new Date(t); harness.checkPoint(s); harness.check(t, exp); harness.checkPoint(s+" .getYear"); harness.check(1900 + d.getYear(), year); harness.checkPoint(s+" .getMonth"); harness.check(1 + d.getMonth(), month); harness.checkPoint(s+" .getMonth"); int dd = d.getDate(); harness.checkPoint(s+" .getDate"); harness.check(dd >= date - 1 && dd <= date + 1); } /** Test Date.parse. * @param s a String argument to for Date.parse. * @param exp the expected time in milliseconds. * @param fuzz allowable "error" in result due to */ private void testParse (String s, long exp, long fuzz) { harness.checkPoint(s); long t = Date.parse(s); harness.check(t >= exp - fuzz && t <= exp + fuzz); } } mauve-20140821/gnu/testlet/java/util/Date/serialization.java0000644000175000001440000000363310205720441022515 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.Date; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectInput; import java.io.ObjectInputStream; import java.io.ObjectOutput; import java.io.ObjectOutputStream; import java.util.Date; /** * Some checks for serialization of a {@link Date} instance. */ public class serialization implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Date d1 = new Date(123L); Date d2 = null; try { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); ObjectOutput out = new ObjectOutputStream(buffer); out.writeObject(d1); out.close(); ObjectInput in = new ObjectInputStream( new ByteArrayInputStream(buffer.toByteArray()) ); d2 = (Date) in.readObject(); in.close(); } catch (Exception e) { harness.debug(e); } harness.check(d1.equals(d2)); } } mauve-20140821/gnu/testlet/java/util/Date/after.java0000644000175000001440000000335710205720441020744 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.Date; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Date; /** * Some checks for the after() method in the {@link Date} class. */ public class after implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Date d1 = new Date(-1L); Date d2 = new Date(0L); Date d3 = new Date(1L); harness.check(!d1.after(d1)); harness.check(!d1.after(d2)); harness.check(!d1.after(d3)); harness.check(d2.after(d1)); harness.check(!d2.after(d2)); harness.check(!d2.after(d3)); harness.check(d3.after(d1)); harness.check(d3.after(d2)); harness.check(!d3.after(d3)); boolean pass = false; try { d1.after(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/util/Date/equals.java0000644000175000001440000000274010205720441021130 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.Date; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Date; /** * Some checks for the equals() method in the {@link Date} class. */ public class equals implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Date d1 = new Date(100L); Date d2 = new Date(100L); harness.check(d1.equals(d2)); harness.check(d2.equals(d1)); d1 = new Date(101L); harness.check(!d1.equals(d2)); d2 = new Date(101L); harness.check(d1.equals(d2)); } } mauve-20140821/gnu/testlet/java/util/Date/clone.java0000644000175000001440000000264610205720441020743 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.Date; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Date; /** * Checks that the clone() method in the {@link Date} class works * correctly. */ public class clone implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Date d1 = new Date(123L); Date d2 = null; d2 = (Date) d1.clone(); harness.check(d1 != d2); harness.check(d1.getClass().equals(d2.getClass())); harness.check(d1.getTime() == d2.getTime()); } } mauve-20140821/gnu/testlet/java/util/Date/before.java0000644000175000001440000000337010205720441021100 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.Date; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Date; /** * Some checks for the before() method in the {@link Date} class. */ public class before implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Date d1 = new Date(-1L); Date d2 = new Date(0L); Date d3 = new Date(1L); harness.check(!d1.before(d1)); harness.check(d1.before(d2)); harness.check(d1.before(d3)); harness.check(!d2.before(d1)); harness.check(!d2.before(d2)); harness.check(d2.before(d3)); harness.check(!d3.before(d1)); harness.check(!d3.before(d2)); harness.check(!d3.before(d3)); boolean pass = false; try { d1.before(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/util/Date/compareTo.java0000644000175000001440000000632410544512702021576 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.Date; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Date; /** * Some tests for the compareTo() method in the {@link Date} class. */ public class compareTo implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("compareTo(Date)"); Date d1 = new Date(Long.MIN_VALUE); Date d2 = new Date(-1L); Date d3 = new Date(0L); Date d4 = new Date(1L); Date d5 = new Date(Long.MAX_VALUE); harness.check(d1.compareTo(d1) == 0); harness.check(d1.compareTo(d2) < 0); harness.check(d1.compareTo(d3) < 0); harness.check(d1.compareTo(d4) < 0); harness.check(d1.compareTo(d5) < 0); harness.check(d2.compareTo(d1) > 0); harness.check(d2.compareTo(d2) == 0); harness.check(d2.compareTo(d3) < 0); harness.check(d2.compareTo(d4) < 0); harness.check(d2.compareTo(d5) < 0); harness.check(d3.compareTo(d1) > 0); harness.check(d3.compareTo(d2) > 0); harness.check(d3.compareTo(d3) == 0); harness.check(d3.compareTo(d4) < 0); harness.check(d3.compareTo(d5) < 0); harness.check(d4.compareTo(d1) > 0); harness.check(d4.compareTo(d2) > 0); harness.check(d4.compareTo(d3) > 0); harness.check(d4.compareTo(d4) == 0); harness.check(d4.compareTo(d5) < 0); harness.check(d5.compareTo(d1) > 0); harness.check(d5.compareTo(d2) > 0); harness.check(d5.compareTo(d3) > 0); harness.check(d5.compareTo(d4) > 0); harness.check(d5.compareTo(d5) == 0); boolean pass = false; try { d1.compareTo((Date) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void test2(TestHarness harness) { harness.checkPoint("compareTo(Object)"); Date d1 = new Date(Long.MIN_VALUE); boolean pass = false; try { ((Comparable)d1).compareTo((Object) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { ((Comparable)d1).compareTo("Not a Date!"); } catch (ClassCastException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/util/Date/range.java0000644000175000001440000000370610176547321020750 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 2004 Free Software Foundation, Inc. // Contributed by Jeroen Frijters . // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.Date; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Date; public class range implements Testlet { private TestHarness harness; public void test (TestHarness harness) { this.harness = harness; check(70, 0, 1, 0, 0, 0, 0); check(104, 9, 12, 0, 0, 0, 1097539200000L); check(104, 9, 12, 0, 0, 0, 1097539200000L); check(104, 9, 12, 12, 34, 0, 1097584440000L); check(104, 9, 12, 12, 34, 56, 1097584496000L); check(104, -1, 0, 0, 0, 0, 1070150400000L); check(104, 99, 99, 99, 99, 99, 1342068039000L); check(104, 999, 999, 999, 999, 999, 3789878139000L); check(104, -1, -1, -1, -1, -1, 1070060339000L); check(104, -999, -999, -999, -999, -999, -1644306939000L); } private void check(int year, int month, int day, int hours, int mins, int secs, long l) { try { Date d = new Date(year, month, day, hours, mins, secs); harness.check(d.getTime() - d.getTimezoneOffset() * 60 * 1000 == l); } catch (Throwable t) { harness.debug(t); harness.check(false); } } } mauve-20140821/gnu/testlet/java/util/Date/getTimezoneOffset.java0000644000175000001440000000341610176547321023313 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 2005 Free Software Foundation, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.Date; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Date; import java.util.TimeZone; public class getTimezoneOffset implements Testlet { TestHarness harness; public void test (TestHarness harness) { this.harness = harness; TimeZone.setDefault(TimeZone.getTimeZone("America/Toronto")); check(300, 240); TimeZone.setDefault(TimeZone.getTimeZone("Pacific/Auckland")); check(-780, -720); TimeZone.setDefault(TimeZone.getTimeZone("Europe/London")); check(0, -60); } private void check(int offset_january, int offset_august) { harness.checkPoint("getTimezoneOffset for zone: " + TimeZone.getDefault().getID()); Date d = new Date(96, 1, 14); System.out.println (d.getTimezoneOffset()); harness.check (d.getTimezoneOffset(), offset_january); d = new Date(96, 8, 1); System.out.println (d.getTimezoneOffset()); harness.check (d.getTimezoneOffset(), offset_august); } } mauve-20140821/gnu/testlet/java/util/BitSet/0000755000175000001440000000000012375316426017323 5ustar dokousersmauve-20140821/gnu/testlet/java/util/BitSet/AcuniaBitSetTest.java0000644000175000001440000002754510206401722023337 0ustar dokousers/* Copyright (C) 2001 ACUNIA This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.2 package gnu.testlet.java.util.BitSet; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.*; /** * Written by ACUNIA.
*
* this file contains test for java.util.BitSet
* */ public class AcuniaBitSetTest implements Testlet { protected TestHarness th; public void test (TestHarness harness) { th = harness; test_BitSet(); test_clone(); test_equals(); test_hashCode(); test_toString(); test_and(); test_andNot(); test_clear(); test_get(); test_or(); test_set(); test_xor(); test_length(); } /** * implemented. * */ public void test_BitSet(){ th.checkPoint("BitSet()"); BitSet bs = new BitSet(); boolean ok = true; for (int i=0; i < 64 ; i++) { if (bs.get(i) ) ok =false; } th.check(ok ,"all bits should be 0 -- got:"+bs); th.checkPoint("BitSet(int)"); bs = new BitSet(1); ok = true; for (int i=0; i < 64 ; i++) { if (bs.get(i) ) ok =false; } th.check(ok ,"all bits should be 0 -- got:"+bs); try { new BitSet(-1); th.fail("should throw NegativeArraySizeException"); } catch(NegativeArraySizeException ne) {th.check(true); } } /** * implemented. * */ public void test_clone(){ th.checkPoint("clone()java.lang.Object"); BitSet bs = new BitSet(3); int i; for (i = 0; i < 64 ; i= i+2) { bs.set(i); } BitSet bsc = (BitSet) bs.clone(); boolean ok = true; for (i = 0; i < 64 ; i++) { if (bsc.get(i) != (((i % 2) == 0) ? true : false )) ok = false ;} th.check( ok , "all bits should be set" ); bs = new BitSet(0); bsc = (BitSet) bs.clone(); bs.set(4); th.check( bsc.get(4) == false , "changes in the original don't affect the clone"); } /** * implemented. * */ public void test_equals(){ th.checkPoint("equals(java.lang.Object)boolean"); BitSet bs = new BitSet(35); int i; for (i = 0; i < 64 ; i= i+2) { bs.set(i); } th.check( ! bs.equals(null) , "returns false if compared to null" ); th.check( ! bs.equals("dsf") , "returns false if compared to another Object" ); Vector v = new Vector(); for (i = 0; i < 64 ; i= i+2) { v.add(new Integer(1)); v.add(new Integer(0));} th.check( ! bs.equals(v) , "returns false if compared to a vector" ); BitSet bsc = (BitSet) bs.clone(); th.check(bsc.equals(bs) , "a BitSet equals his clone"); bs.set(1); th.check(! bsc.equals(bs) , "one different bit ==> not equal"); bs.clear(1); bsc.clear(100); th.check(bsc.equals(bs) , "different size still can be equal -- 1"); th.check(bs.equals(bsc) , "different size still can be equal -- 2"); bsc.set(127); th.check(!bsc.equals(bs) , "different size don't have to be equal -- 1"); th.check(!bs.equals(bsc) , "different size don't have to be equal -- 2"); } /** * implemented.
* the hashCode is only depending on the bits set in the BitSet.
* this means that two equal bitSets (with different size) still have the same
* hashcode */ public void test_hashCode(){ th.checkPoint("hashCode()int"); BitSet bs = new BitSet(34); th.check(bs.hashCode() == 1234 , "checking hashCode for empty BitSet size 64"); bs = new BitSet(0); th.check(bs.hashCode() == 1234 , "checking hashCode for empty BitSet size 0"); int i; for (i=0 ; i < 8 ; i++) {bs.set(i);} th.check(bs.hashCode() == 1069 , "checking hashCode for BitSet FF"); } /** * implemented. * */ public void test_toString(){ th.checkPoint("toString()java.lang.String"); BitSet bs = new BitSet(); th.check( "{}".equals(bs.toString()) , "check empty BitSet"); bs.set(1); th.check( "{1}".equals(bs.toString()) , "check BitSet string representation -- 1"); bs.set(60); th.check( "{1, 60}".equals(bs.toString()) , "check BitSet string representation -- 1"); bs.set(15); th.check( "{1, 15, 60}".equals(bs.toString()) , "check BitSet string representation -- 1"); } /** * implemented. * */ public void test_and(){ th.checkPoint("and(java.util.BitSet)void"); BitSet bs1 = new BitSet(); BitSet bs2 = new BitSet(); int i; for (i=0 ; i < 64 ; i++ ) { bs2.set(i); } try { bs1.and(null); th.fail("Should throw a NullPointerException"); } catch( NullPointerException ne) { th.check(true); } bs2.and(bs1); th.check( bs1.equals(bs2) , "all ones anded to zeros give zeros"); bs1.set(1); bs2.set(1); bs1.and(bs2); th.check( bs1.get(1) && bs2.equals(bs1), "checking and -- 1"); for (i=0 ; i < 64 ; i++ ) { bs2.set(i); bs1.set(i);} for (i=64 ; i < 128 ; i++ ) { bs2.set(i); } bs1.clear(2); bs1.clear(20) ;bs1.clear(25); bs1.clear(28); Object o = bs1.clone(); bs1.and(bs2); th.check(bs1.equals(o) , "extra bits from bs2 are unused"); bs2.and(bs1); th.check(bs1.equals(bs2) , "extra bits in bs2 are cleared"); } /** * implemented.
* --> since JDK 1.2 */ public void test_andNot(){ th.checkPoint("andNot(java.util.BitSet)void"); BitSet bs1 = new BitSet(); BitSet bs2 = new BitSet(); int i; for (i=0 ; i < 64 ; i++ ) { bs2.set(i); } try { bs1.and(null); th.fail("Should throw a NullPointerException"); } catch( NullPointerException ne) { th.check(true); } BitSet bs3 = (BitSet) bs2.clone(); bs2.andNot(bs1); th.check( bs3.equals(bs2) , "all ones andnotted to zeros give ones"); bs3.andNot(bs2); th.check( !bs3.get(1) && bs3.equals(bs1), "checking andNot -- 1"); for (i=0 ; i < 64 ; i++ ) { bs2.set(i); bs1.set(i);} for (i=64 ; i < 128 ; i++ ) { bs2.set(i); } BitSet bs4 = (BitSet)bs2.clone(); bs3 = (BitSet)bs1.clone(); bs4.xor(bs1); bs1.andNot(bs2); th.check(bs1.equals(new BitSet(64)) , "extra bits from bs2 are unused"); bs2.andNot(bs3); th.check(bs4.equals(bs2) , "extra bits in bs2 are not altered"); bs1.clear(0); bs2.clear(0); bs2.andNot(bs1); th.check(!bs2.get(0) , "checking or -- 1"); bs2.set(0); bs2.andNot(bs1); th.check(bs2.get(0) , "checking or -- 2"); bs1.set(0); bs2.andNot(bs1); th.check(!bs2.get(0) , "checking or -- 3"); bs2.andNot(bs1); th.check(!bs2.get(0) , "checking or -- 4"); } /** * implemented. * */ public void test_clear(){ th.checkPoint("clear(int)void"); BitSet bs = new BitSet(); Object o = bs.clone(); int i; for (i=0 ; i < 64 ; i++ ) { bs.set(i); bs.clear(i);} th.check(bs.equals(o) , "checking set/clear"); bs.set(4); th.check( bs.get(4) ,"make sure the set worked" ); bs.clear(4); th.check( !bs.get(4) ,"make sure the clear worked -- 1" ); bs.clear(4); th.check( !bs.get(4) ,"make sure the clear worked -- 2" ); bs.clear(123); try { bs.clear(-1); th.fail("should throw an IndexsOutOfBoundsException"); } catch(IndexOutOfBoundsException ie) {th.check(true);} bs = new BitSet(0); try { bs.clear(0); bs.clear(64); bs.clear(128); bs.set(146); bs.clear(146); th.check(true); } catch(Exception e) { th.fail("should not throw an exception");} } /** * implemented. * */ public void test_get(){ th.checkPoint("get(int)boolean"); BitSet bs = new BitSet(); try { bs.get(-1); th.fail("should throw an IndexsOutOfBoundsException"); } catch(IndexOutOfBoundsException ie) {th.check(true);} th.check(!bs.get(Integer.MAX_VALUE) , "returns false if pos > size"); bs.set(3); th.check(bs.get(3) , "returns true if pos is set"); bs.clear(3); th.check(!bs.get(3) , "returns false if pos is cleared"); th.check(!bs.get(0) , "returns false if pos is cleared/or not set -- 1"); th.check(!bs.get(63) , "returns false if pos is cleared/or not set -- 2"); } /** * implemented. * */ public void test_or(){ th.checkPoint("or(java.util.BitSet)void"); BitSet bs1 = new BitSet(); BitSet bs2 = new BitSet(); int i; for (i=0 ; i < 64 ; i++ ) { bs2.set(i); } try { bs1.or(null); th.fail("Should throw a NullPointerException"); } catch( NullPointerException ne) { th.check(true); } bs1.or(bs2); th.check( bs1.equals(bs2) , "all ones ored with zeros give ones"); for (i=64 ; i < 128 ; i++ ) { bs2.set(i); } BitSet bs3 = new BitSet(3); BitSet bs4 = new BitSet(127); bs3.or(bs2); th.check(!bs1.equals(bs3) , "extra bits from bs2 are used -- got: "+bs3); th.check(bs2.equals(bs3) , "lots of ones ored with nothing gives ones"); bs4.or(bs1); th.check(bs4.equals(bs1) , "extra bits in bs4 are left"); bs1.clear(0); bs2.clear(0); bs2.or(bs1); th.check(!bs2.get(0) , "checking or -- 1"); bs1.set(0); bs2.or(bs1); th.check(bs2.get(0) , "checking or -- 2"); bs2.or(bs1); th.check(bs2.get(0) , "checking or -- 3"); bs1.clear(0); bs2.or(bs1); th.check(bs2.get(0) , "checking or -- 4"); } /** * implemented.
* is tested together with clear */ public void test_set(){ th.checkPoint("set(int)void"); BitSet bs = new BitSet(3); try { bs.set(-1); th.fail("should throw an IndexsOutOfBoundsException"); } catch(IndexOutOfBoundsException ie) {th.check(true);} bs = new BitSet(0); bs.set(0); bs.set(23); } /** *implemented. * */ public void test_xor(){ th.checkPoint("xor(java.util.BitSet)void"); BitSet bs1 = new BitSet(); BitSet bs2 = new BitSet(); int i; for (i=0 ; i < 32 ; i++ ) { bs2.set(i); } try { bs1.xor(null); th.fail("Should throw a NullPointerException"); } catch( NullPointerException ne) { th.check(true); } bs1.xor(bs2); th.check( bs1.equals(bs2) , "checking global xor"); for (i=64 ; i < 128 ; i++ ) { bs1.set(i); } BitSet bs3 = new BitSet(3); bs3.xor(bs1); th.check(!bs2.equals(bs3) , "extra bits from bs1 are used -- got: "+bs3); th.check(bs3.equals(bs1) , "lots of ones xored with nothing gives ones"); bs1.xor(bs2); boolean ok=true; for (i=0 ; i < 64 ; i++ ) { if (bs1.get(i)) ok = false; } for (i=64 ; i < 128 ; i++ ) { if (!bs1.get(i)) ok = false; } if (!ok) th.debug("got wrong bitpattern:"+bs1); th.check(ok , "extra bits in bs4 are left"); bs1.clear(0); bs2.clear(0); bs2.xor(bs1); th.check(!bs2.get(0) , "checking xor -- 1"); bs1.set(0); bs2.xor(bs1); th.check(bs2.get(0) , "checking xor -- 2"); bs2.xor(bs1); th.check(!bs2.get(0) , "checking xor -- 3"); bs2.xor(bs1); th.check(bs2.get(0) , "checking xor -- 4"); bs1.clear(0); bs2.xor(bs1); th.check(bs2.get(0) , "checking xor -- 5"); } /** * implemented.
* --> since jdk 1.2 */ public void test_length(){ th.checkPoint("length()void"); BitSet bs = new BitSet(0); th.check(bs.length()==0); bs.clear(100); th.check(bs.length()==0); bs.set(50); th.check(bs.length()==51); bs.set(120); th.check(bs.length()==121); bs.set(150); th.check(bs.length()==151); bs.set(150); th.check(bs.length()==151); bs.clear(150); th.check(bs.length()==121); bs.clear(120); th.check(bs.length()==51); bs.clear(50); th.check(bs.length()==0); } } mauve-20140821/gnu/testlet/java/util/BitSet/jdk10.java0000644000175000001440000000667207452047350021107 0ustar dokousers// Tags: JDK1.0 /* Copyright (C) 1999 Artur Biesiadowski This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.BitSet; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.BitSet; public class jdk10 implements Testlet { TestHarness h; public void test ( TestHarness harness ) { h = harness; BitSet b1, b2, b3, b4, b5; h.checkPoint("Clone/Equals"); b1 = new BitSet(); b2 = (BitSet)b1.clone(); h.check( trulyEquals(b1,b2) ); b1 = new BitSet(100); h.check( trulyEquals(b1,b2) ); b1.set(5); h.check( !trulyEquals(b1,b2) ); b2 = (BitSet)b1.clone(); h.check( trulyEquals(b1,b2)); h.check(!b2.equals(null)); h.checkPoint("NegativeSize"); try { b1 = new BitSet(-1); h.check(false); } catch ( NegativeArraySizeException e ) { h.check(true); } h.checkPoint("Set/Clear/Get"); b1 = new BitSet(); b1.set(1); b1.set(200); b1.set(0); h.check(b1.get(0)); h.check(b1.get(1)); h.check(!b1.get(2)); h.check(b1.get(200)); b1.clear(0); h.check(!b1.get(0)); h.checkPoint("Set/Clear/Get negative index"); try { b1.set(-1); h.check(false); } catch ( IndexOutOfBoundsException e ) { h.check(true); } try { b1.get(-1); h.check(false); } catch ( IndexOutOfBoundsException e ) { h.check(true); } try { b1.clear(-1); h.check(false); } catch ( IndexOutOfBoundsException e ) { h.check(true); } h.checkPoint("toString"); h.check(b1.toString().equals("{1, 200}")); b1.set(2); b1.set(11); h.check(b1.toString().equals("{1, 2, 11, 200}")); b2 = new BitSet(100); h.check(b2.toString().equals("{}")); b2.set(1); h.check(b2.toString().equals("{1}")); h.checkPoint("Hashcode"); h.check(b1.hashCode() == 2260); b3 = new BitSet(); h.check(b3.hashCode() == 1234); h.checkPoint("And/Or/Xor"); b2.set(1); b2.set(3); b2.set(200); b2.set(300); b2.and(b1); h.check( b2.toString().equals("{1, 200}") ); b1.set(17); b2.set(15); b2.or(b1); h.check( b2.toString().equals("{1, 2, 11, 15, 17, 200}") ); b2.xor(b2); h.check( b2.toString().equals("{}") ); b2.xor(b1); b3.or(b1); h.check( trulyEquals(b2,b3) ); h.checkPoint("NullPointerExceptions"); try { b1.and(null); h.check(false); } catch ( NullPointerException e ) { h.check(true); } try { b1.or(null); h.check(false); } catch ( NullPointerException e ) { h.check(true); } try { b1.xor(null); h.check(false); } catch ( NullPointerException e ) { h.check(true); } } private boolean trulyEquals( BitSet b1, BitSet b2 ) { boolean e1 = b1.equals(b2); boolean e2 = true; for ( int i = 0; i < 300; i++ ) { if ( b1.get(i) != b2.get(i) ) e2 = false; } h.check (e1 == e2); return e2; } } mauve-20140821/gnu/testlet/java/util/BitSet/flip.java0000644000175000001440000000406510417155012021110 0ustar dokousers/* flip.java -- some checks for the flip() method in the BitSet clas. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.util.BitSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.BitSet; public class flip implements Testlet { public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("(int)"); BitSet bs = new BitSet(17); bs.flip(11); harness.check(bs.nextSetBit(0), 11); boolean pass = false; try { bs.flip(-1); } catch (IndexOutOfBoundsException e) { pass = true; } harness.check(pass); } public void test2(TestHarness harness) { harness.checkPoint("(int, int)"); BitSet bs = new BitSet(21); bs.flip(3, 5); harness.check(!bs.get(2)); harness.check(bs.get(3)); harness.check(bs.get(4)); harness.check(!bs.get(5)); bs.flip(4, 4); harness.check(bs.get(4)); boolean pass = false; try { bs.flip(-1, 1); } catch (IndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { bs.flip(2, 1); } catch (IndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/util/BitSet/get.java0000644000175000001440000000563610417155012020742 0ustar dokousers/* get.java -- some checks for the get() method in the BitSet class. Copyright (C) 2005 David Daney Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.util.BitSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.BitSet; public class get implements Testlet { public void test(TestHarness harness) { test1(harness); test2(harness); testGeneral(harness); } private void test1(TestHarness harness) { harness.checkPoint("(int)"); BitSet bs = new BitSet(); bs.set(0); bs.set(2); harness.check(bs.get(0)); harness.check(!bs.get(1)); harness.check(bs.get(2)); harness.check(!bs.get(3)); boolean pass = false; try { bs.get(-1); } catch (IndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void test2(TestHarness harness) { harness.checkPoint("(int, int)"); BitSet bs1 = new BitSet(); bs1.set(3); bs1.set(4); bs1.set(5); BitSet bs2 = bs1.get(2, 5); harness.check(!bs2.get(0)); harness.check(bs2.get(1)); harness.check(bs2.get(2)); harness.check(!bs2.get(3)); BitSet bs3 = bs1.get(3, 3); harness.check(bs3.isEmpty()); boolean pass = false; try { bs3 = bs1.get(-1, 1); } catch (IndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { bs3 = bs1.get(3, 1); } catch (IndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testGeneral(TestHarness harness) { harness.checkPoint("testGeneral()"); BitSet o = new BitSet(70); o.set(1); o.set(2); o.set(63); o.set(64); BitSet s1 = o.get(0, 9); harness.check(s1.cardinality(), 2); harness.check(s1.get(0), false); harness.check(s1.get(1), true); harness.check(s1.get(2), true); harness.check(s1.get(3), false); BitSet s2 = o.get(60, 69); harness.check(s2.cardinality(), 2); harness.check(s2.get(2), false); harness.check(s2.get(3), true); harness.check(s2.get(4), true); harness.check(s2.get(5), false); } } mauve-20140821/gnu/testlet/java/util/BitSet/clear.java0000644000175000001440000000452710417155012021247 0ustar dokousers/* clear.java -- some checks for the clear() methods in the BitSet class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.util.BitSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.BitSet; public class clear implements Testlet { public void test(TestHarness harness) { test1(harness); test2(harness); test3(harness); } private void test1(TestHarness harness) { harness.checkPoint("()"); BitSet bs = new BitSet(8); bs.set(1); bs.clear(); harness.check(bs.isEmpty()); } private void test2(TestHarness harness) { harness.checkPoint("(int)"); BitSet bs = new BitSet(7); bs.set(6); bs.clear(6); harness.check(bs.isEmpty()); boolean pass = false; try { bs.clear(-1); } catch (IndexOutOfBoundsException e) { pass = true; } harness.check(pass); bs.clear(7); harness.check(bs.nextClearBit(7), 7); } private void test3(TestHarness harness) { harness.checkPoint("(int, int)"); BitSet bs = new BitSet(9); bs.set(3); bs.set(4); bs.set(5); bs.clear(2, 4); harness.check(!bs.get(3)); harness.check(bs.get(4)); harness.check(bs.get(5)); bs.clear(5, 5); harness.check(bs.get(5)); boolean pass = false; try { bs.clear(-1, 2); } catch (IndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { bs.clear(2, 1); } catch (IndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/util/concurrent/0000755000175000001440000000000012375316426020313 5ustar dokousersmauve-20140821/gnu/testlet/java/util/concurrent/CopyOnWriteArrayList/0000755000175000001440000000000012375316426024370 5ustar dokousersmauve-20140821/gnu/testlet/java/util/concurrent/CopyOnWriteArrayList/RetainAllTest.java0000644000175000001440000000333610722124457027746 0ustar dokousers/* RetainAllTest.java -- test for retainAll Copyright (C) 2007 Mario Torre This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.java.util.concurrent.CopyOnWriteArrayList; import java.util.ArrayList; import java.util.List; import java.util.ListIterator; import java.util.concurrent.CopyOnWriteArrayList; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * @author Mario Torre */ public class RetainAllTest implements Testlet { public void test(TestHarness harness) { CopyOnWriteArrayList list = new CopyOnWriteArrayList(); for (int i = 0; i < 10; i++) list.add(i); List list2 = new ArrayList(); for (int i = 5; i < 15; i++) list2.add(i); list.retainAll(list2); harness.check(list.size() == 5); int i = 5; for (ListIterator elements = list.listIterator(); elements.hasNext();) { harness.check(elements.next().intValue() == i); i++; } } } mauve-20140821/gnu/testlet/java/util/concurrent/CopyOnWriteArrayList/AddAllAbsentTest.java0000644000175000001440000000336110722124457030347 0ustar dokousers/* AddAllAbsentTest.java -- test for addAllAbsent. Copyright (C) 2007 Mario Torre This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.java.util.concurrent.CopyOnWriteArrayList; import java.util.ArrayList; import java.util.List; import java.util.ListIterator; import java.util.concurrent.CopyOnWriteArrayList; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * @author Mario Torre */ public class AddAllAbsentTest implements Testlet { public void test(TestHarness harness) { CopyOnWriteArrayList list = new CopyOnWriteArrayList(); for (int i = 0; i < 10; i++) { list.add("#" + i); } List list2 = new ArrayList(); for (int i = 9; i < 20; i++) list2.add("#" + i); list.addAllAbsent(list2); harness.check(list.size() == 20); int i = 0; for (ListIterator elements = list.listIterator(); elements.hasNext();) { harness.check(elements.next().equals("#" + i)); i++; } } } mauve-20140821/gnu/testlet/java/util/concurrent/CopyOnWriteArrayList/AddAllTest.java0000644000175000001440000000670310722124457027215 0ustar dokousers/* AddAllTest.java -- test for addAll. Copyright (C) 2007 Mario Torre This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.java.util.concurrent.CopyOnWriteArrayList; import java.util.ArrayList; import java.util.List; import java.util.ListIterator; import java.util.concurrent.CopyOnWriteArrayList; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * @author Mario Torre */ public class AddAllTest implements Testlet { public void test(TestHarness harness) { testAdd(harness); testExceptions(harness); } private void testExceptions(TestHarness harness) { CopyOnWriteArrayList list = new CopyOnWriteArrayList(); List list2 = new ArrayList(); list2.add(0); harness.checkPoint("addAll - IndexOutOfBoundsException"); try { // try with index < 0 first list.addAll(-1, list2); // we should not get here harness.check(false); } catch (IndexOutOfBoundsException e) { harness.check(true); } catch (Exception e) { harness.check(false, "Exception of unexpected type: " + e.getMessage()); } list.add(0); list.add(1); try { // try with index > list.size() first list.addAll(list.size() + 1, list2); // we should not get here harness.check(false); } catch (IndexOutOfBoundsException e) { harness.check(true); } catch (Exception e) { harness.check(false, "Exception of unexpected type: " + e.getMessage()); } harness.checkPoint("addAll - NullPointerException"); try { // finally try NullPointerException list.addAll(null); // we should not get here harness.check(false); } catch (NullPointerException e) { harness.check(true); } catch (Exception e) { harness.check(false, "Exception of unexpected type: " + e.getMessage()); } } private void testAdd(TestHarness harness) { harness.checkPoint("addAll"); int [] expected = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }; CopyOnWriteArrayList list = new CopyOnWriteArrayList(); for (int i = 0; i < 10; i++) list.add(i); List list2 = new ArrayList(); for (int i = 5; i < 15; i++) list2.add(i); list.addAll(list2); harness.check(list.size() == 20); int i = 0; for (ListIterator elements = list.listIterator(); elements.hasNext();) { harness.check(elements.next().intValue() == expected[i++]); } } } mauve-20140821/gnu/testlet/java/util/concurrent/CopyOnWriteArrayList/TestIterators.java0000644000175000001440000001014610722124457030044 0ustar dokousers/* TestIterators.java -- test for the Iterator and ListIterator methods. Copyright (C) 2007 Mario Torre This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.java.util.concurrent.CopyOnWriteArrayList; import java.util.ArrayList; import java.util.Iterator; import java.util.ListIterator; import java.util.concurrent.CopyOnWriteArrayList; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * @author Mario Torre */ public class TestIterators implements Testlet { public void test(TestHarness harness) { iteratorTests(harness); listIteratorTests(harness); } private void listIteratorTests(TestHarness harness) { harness.checkPoint("listIterator"); int [] expected = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 5, 6, 7, 8, 9 }; CopyOnWriteArrayList list = new CopyOnWriteArrayList(); java.util.List data = new ArrayList(); for (int i = 0; i < 10; i++) data.add(i); // list.add copy the storage array each time is called, adding elements // that way we avoid all this copying list.addAll(data); ListIterator iterator = list.listIterator(); int i = 0; harness.checkPoint("listIterator - forward"); while (iterator.hasNext()) harness.check(iterator.next().intValue() == expected[i++]); harness.checkPoint("listIterator - backward"); while (iterator.hasPrevious()) harness.check(iterator.previous().intValue() == expected[--i]); harness.checkPoint("listIterator - forward from element"); iterator = list.listIterator(5); i = 5; while (iterator.hasNext()) harness.check(iterator.next().intValue() == expected[i++]); harness.checkPoint("listIterator - backward from element"); while (iterator.hasPrevious()) harness.check(iterator.previous().intValue() == expected[--i]); } private void iteratorTests(TestHarness harness) { harness.checkPoint("iterator"); int [] expected = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; CopyOnWriteArrayList list = new CopyOnWriteArrayList(); java.util.List data = new ArrayList(); for (int i = 0; i < 10; i++) data.add(i); // list.add copy the storage array each time is called, adding elements // that way we avoid all this copying list.addAll(data); int i = 0; for (Iterator iterator = list.iterator(); iterator.hasNext(); ) { harness.check(iterator.next().intValue() == expected[i++]); } harness.checkPoint("iterator - snapshot"); Iterator iterator = list.iterator(); list.clear(); harness.check(list.size() == 0); // the iterator contains a snapshot of the list so resetting the list // has no effect to the content of the iterator. i = 0; while (iterator.hasNext()) harness.check(iterator.next().intValue() == expected[i++]); harness.checkPoint("iterator - remove"); list.addAll(data); try { for (Iterator iter = list.iterator(); iter.hasNext(); ) { iter.remove(); harness.check(false); } harness.check(false); } catch (UnsupportedOperationException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/util/concurrent/CopyOnWriteArrayList/SubListTest.java0000644000175000001440000000567710772472714027501 0ustar dokousers/* SubListTest.java -- Test for subList. Copyright (C) 2007 Mario Torre This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.java.util.concurrent.CopyOnWriteArrayList; import java.util.ConcurrentModificationException; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * @author Mario Torre */ public class SubListTest implements Testlet { private int [] data = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 }; public void test(TestHarness harness) { CopyOnWriteArrayList list = new CopyOnWriteArrayList(); for (Integer element : data) list.add(element); List subList = list.subList(5, 15); int i = 5; for (int element : subList) { harness.check(element == i); i++; } // remove all the element from the subList and check the elements in the // list harness.checkPoint("clear list"); subList.clear(); harness.check(subList.size() == 0); harness.check(list.size() == 10); i = 0; for (int element : list) { harness.check(element == i); i++; if (i > 4 && i < 15) i = 15; } harness.checkPoint("ConcurrentModificationException"); list.clear(); for (Integer element : data) list.add(element); subList = list.subList(5, 15); list.remove(5); try { for (int element : subList) { // we should never get here harness.check(false); } } catch (ConcurrentModificationException e) { harness.check(true); } harness.checkPoint("Remove elements from SubList"); list.clear(); for (Integer element : data) list.add(element); subList = list.subList(5, 15); subList.remove(0); subList.remove(0); harness.check(subList.size() == 8); harness.check(list.size() == 18); subList.add(0, 6); subList.add(0, 5); i = 5; for (int element : subList) { harness.check(element == i); i++; } } } mauve-20140821/gnu/testlet/java/util/concurrent/CopyOnWriteArrayList/RemoveAllTest.java0000644000175000001440000000335410722124457027761 0ustar dokousers/* RemoveAllTest.java -- test for removeAll. Copyright (C) 2007 Mario Torre This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.java.util.concurrent.CopyOnWriteArrayList; import java.util.ArrayList; import java.util.List; import java.util.ListIterator; import java.util.concurrent.CopyOnWriteArrayList; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * @author Mario Torre */ public class RemoveAllTest implements Testlet { public void test(TestHarness harness) { CopyOnWriteArrayList list = new CopyOnWriteArrayList(); for (int i = 0; i < 10; i++) { list.add("#" + i); } List list2 = new ArrayList(); for (int i = 3; i < 20; i++) list2.add("#" + i); list.removeAll(list2); harness.check(list.size() == 3); int i = 0; for (ListIterator elements = list.listIterator(); elements.hasNext();) { harness.check(elements.next().equals("#" + i)); i++; } } } mauve-20140821/gnu/testlet/java/util/concurrent/CopyOnWriteArrayList/Clone.java0000644000175000001440000000323710772255323026275 0ustar dokousers/* Clone.java -- test for clone. Copyright (C) 2008 Mario Torre This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.java.util.concurrent.CopyOnWriteArrayList; import java.util.Iterator; import java.util.concurrent.CopyOnWriteArrayList; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * @author Mario Torre */ public class Clone implements Testlet { public void test(TestHarness harness) { CopyOnWriteArrayList list = new CopyOnWriteArrayList(); for (int i = 0; i < 10; i++) { list.add("#" + i); } CopyOnWriteArrayList cloned = (CopyOnWriteArrayList) list.clone(); harness.check(list.size() == 10); harness.check(cloned.size() == list.size()); Iterator original = list.iterator(); for (String element : cloned) { harness.check(original.hasNext()); harness.check(element, original.next()); } } } mauve-20140821/gnu/testlet/java/util/concurrent/CopyOnWriteArrayList/Equals.java0000644000175000001440000000445110772255323026466 0ustar dokousers/* Equals.java -- test for equals. Copyright (C) 2008 Mario Torre This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.java.util.concurrent.CopyOnWriteArrayList; import java.util.ArrayList; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * @author Mario Torre */ public class Equals implements Testlet { public void test(TestHarness harness) { CopyOnWriteArrayList one = new CopyOnWriteArrayList(); for (int i = 0; i < 10; i++) { one.add("#" + i); } CopyOnWriteArrayList two = (CopyOnWriteArrayList) one.clone(); harness.checkPoint("cloned CopyOnWriteArrayList"); harness.check(one.equals(two)); two.clear(); two = new CopyOnWriteArrayList(); for (int i = 0; i < 10; i++) { two.add("#" + i); } harness.checkPoint("both CopyOnWriteArrayList, same elements, different " + "instances"); harness.check(one.equals(two)); List someList = new ArrayList(); for (int i = 0; i < 10; i++) { someList.add("#" + i); } harness.checkPoint("Different list, CopyOnWriteArrayList and ArrayList, " + "but same elements"); harness.check(one.equals(someList)); // remove one element one.remove(one.size() - 1); harness.checkPoint("removed elements from CopyOnWriteArrayList"); harness.check(!one.equals(two)); harness.check(!one.equals(someList)); } } mauve-20140821/gnu/testlet/java/util/concurrent/CopyOnWriteArrayList/RemoveTest.java0000644000175000001440000000370410722124457027327 0ustar dokousers/* RemoveTest.java -- test for remove. Copyright (C) 2007 Mario Torre This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.java.util.concurrent.CopyOnWriteArrayList; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * @author Mario Torre */ public class RemoveTest implements Testlet { public void test(TestHarness harness) { CopyOnWriteArrayList list = new CopyOnWriteArrayList(); List data = new ArrayList(); for (int i = 0; i < 10; i++) data.add(i); list.addAll(data); harness.check(list.size() == 10); Integer el = list.remove(5); harness.check(el.intValue() == 5); harness.check(list.size() == 9); harness.check(list.add(el)); harness.check(list.size() == 10); harness.check(list.remove(el)); harness.check(list.size() == 9); int [] expected = { 0, 1, 2, 3, 4, 6, 7, 8, 9 }; int i = 0; for (Iterator iterator = list.iterator(); iterator.hasNext(); ) harness.check(iterator.next().intValue() == expected[i++]); } } mauve-20140821/gnu/testlet/java/util/prefs/0000755000175000001440000000000012375316426017250 5ustar dokousersmauve-20140821/gnu/testlet/java/util/prefs/PreferenceTest.java0000644000175000001440000003352410506507050023025 0ustar dokousers/* * PreferenceTest.java -- simple test for java.utils.prefs Copyright (C) 2006 * Lima Software. * * This file is part of Mauve. * * Mauve 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 version 2, or (at your option) any later version. * * Mauve 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 Public License for more details. * * You should have received a copy of the GNU General Public License along with * Mauve; see the file COPYING. If not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * */ // Tags: JDK1.4 package gnu.testlet.java.util.prefs; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.util.prefs.BackingStoreException; import java.util.prefs.NodeChangeEvent; import java.util.prefs.NodeChangeListener; import java.util.prefs.PreferenceChangeEvent; import java.util.prefs.PreferenceChangeListener; import java.util.prefs.Preferences; /** * This simple test just read and write a set of preference. Does not assume a * particular backend. * * @author Mario Torre */ public class PreferenceTest implements Testlet { /** * The expected full name of this preference node. Note: * change it if you move this class, it always reflects the package name. */ private static final String FULL_PATH = "/gnu/testlet/java/util/prefs"; /** * Default key used for tests. */ private static final String KEY = "AppName"; /** * Default value for the test key. */ private static final String VALUE = "GNU Classpath - Preference API Test Case"; /** * Defines if we want debug information on the default debug log or not. * Enable the if you need it or leave disabled for normal tests. */ private static final boolean DEBUG = false; /* Test Harness */ protected TestHarness harness = null; /** Preference */ private Preferences prefs = null; public void test(TestHarness harness) { this.harness = harness; // initiliaze tests, call it before any other method of this class setup(); if (DEBUG) printInfo(); // run tests testAbsolutePath(); // clear the preference tree, to be sure it does not contains // keys we will use testClear(); testPut(); testByte(); testBoolean(); testSpecialCharacters(); testListener(); testChildren(); } /** * Setup the preference api backend. */ private void setup() { // System.setProperty("java.util.prefs.PreferencesFactory", // "gnu.java.util.prefs.GConfBasedFactory"); this.prefs = Preferences.userNodeForPackage(PreferenceTest.class); } private void testAbsolutePath() { this.harness.checkPoint("absolutePath()"); String absolutePath = this.prefs.absolutePath(); print("Absolute path: " + absolutePath); this.harness.check(FULL_PATH.compareTo(absolutePath) == 0); } private void testClear() { this.harness.checkPoint("testClear()"); try { this.prefs.clear(); } catch (BackingStoreException e) { print(e.getLocalizedMessage()); this.harness.fail("testClear()"); } this.harness.check(true); } /** * Put the default key on the preference node, then get it and check the * result to see if the preference api is actually capable of storing * preferences. */ private void testPut() { this.harness.checkPoint("testPut()"); this.prefs.put(KEY, VALUE); // suggest a sync to try to avoid memory caching. try { this.prefs.sync(); } catch (BackingStoreException e) { print(e.getLocalizedMessage()); this.harness.fail("testPut(), call to sync"); } String value = this.prefs.get(KEY, "Wrong value for key: " + KEY + ", expected: " + VALUE); print("Key (" + KEY + "): " + value); this.harness.check(VALUE.compareTo(value) == 0); } /** * Add a series of children to this node, put some preferences inside them and * retrieve everything, checking that the preference backend correctly handles * the tree structure of the entries under the current node. Note: * this test removes the preference node. */ private void testChildren() { this.harness.checkPoint("testChildren()"); String absolutePath = null; // add 3 new nodes, these will be direct children of the current node // node 1 Preferences pref1 = this.prefs.node("children_1"); this.harness.check("children_1".compareTo(pref1.name()) == 0); absolutePath = pref1.absolutePath(); this.harness .check((FULL_PATH + "/children_1").compareTo(absolutePath) == 0); // node 2 Preferences pref2 = this.prefs.node("children_2"); this.harness.check("children_2".compareTo(pref2.name()) == 0); absolutePath = pref2.absolutePath(); this.harness .check((FULL_PATH + "/children_2").compareTo(absolutePath) == 0); // node 3 Preferences pref3 = this.prefs.node("children_3"); this.harness.check("children_3".compareTo(pref3.name()) == 0); absolutePath = pref3.absolutePath(); this.harness .check((FULL_PATH + "/children_3").compareTo(absolutePath) == 0); // now add a preference key to each of these new nodes pref1.put("key1", "value1"); pref2.put("key2", "value2"); pref3.put("key3", "value3"); // add a subnode for child #1 Preferences child1 = pref1.node("subPreference1"); this.harness.check("subPreference1".compareTo(child1.name()) == 0); absolutePath = child1.absolutePath(); this.harness.check((FULL_PATH + "/children_1/" + "subPreference1") .compareTo(absolutePath) == 0); child1.put("key1-child1", "some value"); // retrieve the list of children of the root node this.harness.checkPoint("testAddChildren() - check new children"); String[] expResult = { "children_1", "children_2", "children_3" }; if (!listChildren(this.prefs, expResult)) { this.harness.fail("testAddChildren(), children listing error"); } this.harness.checkPoint("testAddChildren() - check subnodes"); expResult = new String[] { "subPreference1" }; if (!listChildren(pref1, expResult)) { this.harness.fail("testAddChildren(), children listing error"); } // clean everything try { this.prefs.removeNode(); this.prefs.flush(); } catch (BackingStoreException e) { print(e.getLocalizedMessage()); this.harness.fail("testAddChildren(), call to clear()"); } // to check that the node is empty we simply call childrenNames on it // this operation should fail because the node does not exist anymore this.harness.checkPoint("testAddChildren() - checking emptyness"); try { this.prefs.childrenNames(); this.harness.fail("The node should not exist anymore!"); } catch (IllegalStateException e) { this.harness.check(true); } catch (BackingStoreException e) { print(e.getLocalizedMessage()); this.harness.fail("The node should not exist anymore!"); } } private boolean listChildren(Preferences pref, String[] expResult) { boolean _res = false; try { String[] result = pref.childrenNames(); print("Resuls length: " + result.length + ", expected: " + expResult.length); this.harness.check(result.length == expResult.length); for (int i = 0; i < expResult.length; i++) { print("result[" + i + "] = " + result[i] + ", expected = " + expResult[i]); this.harness.check(result[i], expResult[i]); } _res = true; } catch (BackingStoreException e) { print(e.getLocalizedMessage()); this.harness.fail("call to childrenNames()"); } return _res; } private void testByte() { this.harness.checkPoint("testByte()"); String string = "an array of bytes value"; byte[] bytes = null; byte[] result = null; ByteArrayOutputStream stream = new ByteArrayOutputStream(); ObjectOutputStream oStream; try { oStream = new ObjectOutputStream(stream); oStream.writeObject(string); bytes = stream.toByteArray(); this.harness.checkPoint("testByte() - put byte array"); prefs.putByteArray(KEY, bytes); this.harness.checkPoint("testByte() - get byte array"); result = prefs.getByteArray(KEY, null); // this fails, but the result is correct when restoring the // String // this.harness.check(result, bytes); ByteArrayInputStream iStream = new ByteArrayInputStream(result); ObjectInputStream oiStream = new ObjectInputStream(iStream); String rString = (String) oiStream.readObject(); print("Result: " + rString + ", expected: " + string); this.harness.check(rString, string); } catch (IOException e) { print(e.getLocalizedMessage()); this.harness.fail("call to testByte() - IO Exception"); } catch (ClassNotFoundException e) { print(e.getLocalizedMessage()); this.harness.fail("call to testByte() - ClassNotFoundException"); } } private void testBoolean() { this.harness.checkPoint("testBoolean()"); String key = "boolean_key"; String _true = "TrUe"; // test "normal" booleans this.prefs.putBoolean(key, true); boolean result = this.prefs.getBoolean(key, false); this.harness.check(result, true); // test String as boolean this.prefs.remove(key); try { this.prefs.flush(); } catch (BackingStoreException e) { print(e.getLocalizedMessage()); this.harness.fail("call to testBoolean() - fail to flush"); } this.prefs.put(key, _true); result = this.prefs.getBoolean(key, false); this.harness.check(result, true); } /** * This test is used by the GConf backend to test if it correctly handles * nodes that contains invalid characters. */ private void testSpecialCharacters() { this.harness.checkPoint("testSpecialCharacters()"); // try an invalid name as path Preferences _prefs = this.prefs.node("invalid children node"); _prefs.put("Invalid Key", "An invalid key, on an invalid subnode"); _prefs.put("Valid_Key", "A valid key, on an invalid subnode"); String one = _prefs.get("Invalid Key", "unable to get the invalid key"); String two = _prefs.get("Valid_Key", "unable to get the invalid key"); this.harness.check(one, "An invalid key, on an invalid subnode"); this.harness.check(two, "A valid key, on an invalid subnode"); try { _prefs.flush(); _prefs.removeNode(); } catch (BackingStoreException e) { print(e.getLocalizedMessage()); this.harness.fail("call to testSpecialCharacters() fail to removeNode"); } } private void testListener() { this.harness.checkPoint("testListener()"); PreferenceListener listener = new PreferenceListener(); this.harness.checkPoint("testListener() - adding listeners"); this.prefs.addNodeChangeListener(listener); this.prefs.addPreferenceChangeListener(listener); // store this, key, read it then remove it this.harness.checkPoint("testListener() - inserting key"); this.prefs.put("new_key", "some value"); String key = this.prefs.get("new_key", "Wrong! Wrong! Wrong!"); this.harness.check(key, "some value"); this.harness.checkPoint("testListener() - updating key"); this.prefs.put("new_key", "some other value"); key = this.prefs.get("new_key", "Wrong! Wrong! Wrong!"); this.harness.check(key, "some other value"); this.harness.checkPoint("testListener() - removing listeners"); this.prefs.removeNodeChangeListener(listener); this.prefs.removePreferenceChangeListener(listener); this.harness.checkPoint("testListener() - removing key"); this.prefs.remove("new_key"); } /** * Prints on screen some information about the class we are about to test. * This can be useful for debugging, ant to check if a particoular backend is * enabled. */ private void printInfo() { String backendName = System.getProperty( "java.util.prefs.PreferencesFactory", "No backend registered, using default backend"); String vendor = System.getProperty("java.vendor"); this.harness.debug(vendor); this.harness.debug(backendName); } private void print(String message) { if (DEBUG) harness.debug(message); } private class PreferenceListener implements NodeChangeListener, PreferenceChangeListener { public void childAdded(NodeChangeEvent event) { PreferenceTest.this.harness.check(true); print("Child added!"); String name = event.getChild().name(); print("name: " + name); } public void childRemoved(NodeChangeEvent event) { PreferenceTest.this.harness.check(true); print("Child removed!"); String name = event.getChild().name(); print("name: " + name); } public void preferenceChange(PreferenceChangeEvent event) { PreferenceTest.this.harness.check(true); print("Preference changed!"); String name = event.getNode().name(); String value = event.getNewValue(); print("name: " + name); print("value: " + value); } } } mauve-20140821/gnu/testlet/java/util/Collection/0000755000175000001440000000000012375316426020224 5ustar dokousersmauve-20140821/gnu/testlet/java/util/Collection/Test.java0000644000175000001440000001060711372344131022000 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2010 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.Collection; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Collection; import java.util.concurrent.BlockingQueue; import java.util.concurrent.Delayed; import java.util.concurrent.TimeUnit; /** * Some tests for the remove() method in the {@link List} interface. */ public class Test implements Testlet { private TestHarness harness; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { this.harness = harness; testClass(java.util.concurrent.ArrayBlockingQueue.class); testClass(java.util.ArrayDeque.class); testClass(java.util.ArrayList.class); testClass(java.util.concurrent.ConcurrentLinkedQueue.class); testClass(java.util.concurrent.ConcurrentSkipListSet.class); testClass(java.util.concurrent.CopyOnWriteArrayList.class); testClass(java.util.concurrent.CopyOnWriteArraySet.class); testClass(java.util.concurrent.DelayQueue.class); testClass(java.util.EnumSet.class); testClass(java.util.HashSet.class); testClass(java.util.concurrent.LinkedBlockingQueue.class); testClass(java.util.LinkedHashSet.class); testClass(java.util.LinkedList.class); testClass(java.util.concurrent.PriorityBlockingQueue.class); testClass(java.util.PriorityQueue.class); testClass(java.util.Stack.class); testClass(java.util.concurrent.SynchronousQueue.class); testClass(java.util.TreeSet.class); testClass(java.util.Vector.class); } /** * Tests the given {@link java.util.Collection} class. * * @param cls the class to test. */ public void testClass(Class cls) { harness.checkPoint(cls.getName()); Collection result = null; try { result = (Collection) cls.newInstance(); } catch (Exception e) { harness.debug(e); } if (result != null) { testRemove(result); } } /** * Test the {@link Collection#remove(Object)} method of * the given collection. * * @param coll the collection to test. */ public void testRemove(Collection coll) { /** * Use Delayed Object so DelayQueue * and sorted collections work. */ Delayed obj = new Delayed() { public long getDelay(TimeUnit unit) { return unit.convert(10, TimeUnit.MINUTES); } public int compareTo(Delayed o) { Long other = o.getDelay(TimeUnit.NANOSECONDS); return other.compareTo(getDelay(TimeUnit.NANOSECONDS)); } }; String type = coll.getClass().getName(); harness.check(coll.remove(obj) == false, "Object is not present in empty " + type); boolean result = false; try { result = coll.remove(null); } catch (NullPointerException e) { /* Collection does not support null elements */ } harness.check(result == false, "Null is not present in empty " + type); /* Can't do post-addition tests if no capacity */ if (coll instanceof BlockingQueue && ((BlockingQueue) coll).remainingCapacity() == 0) return; coll.add(obj); harness.check(coll.remove(obj) == true, "Object is present in non-empty " + type); result = true; try { coll.add(null); result = coll.remove(null); } catch (NullPointerException e) { /* Collection does not support null elements */ } harness.check(result == true, "Null is present in non-empty " + type); } } mauve-20140821/gnu/testlet/java/util/logging/0000755000175000001440000000000012375316426017557 5ustar dokousersmauve-20140821/gnu/testlet/java/util/logging/Handler/0000755000175000001440000000000012375316426021134 5ustar dokousersmauve-20140821/gnu/testlet/java/util/logging/Handler/setFilter.java0000644000175000001440000000554510023721312023727 0ustar dokousers// Tags: JDK1.4 // Uses: TestHandler TestSecurityManager // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.Handler; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.logging.Filter; import java.util.logging.LogRecord; /** * @author Sascha Brawer */ public class setFilter implements Testlet { private final TestSecurityManager sec = new TestSecurityManager(); private final TestHandler handler = new TestHandler(); private final Filter filter = new Filter() { public boolean isLoggable(LogRecord rec) { return true; } }; public void test(TestHarness th) { Throwable caught; sec.install(); try { // Check #1: setFilter(null) [no permission] sec.setGrantLoggingControl(false); caught = null; try { handler.setFilter(null); } catch (Exception ex) { caught = ex; } th.check(caught instanceof SecurityException); // Check #2: setFilter(null) [with permission] sec.setGrantLoggingControl(true); caught = null; try { handler.setFilter(null); } catch (Exception ex) { caught = ex; } th.check(caught, null); // Check #3: setFilter(f) [no permission] sec.setGrantLoggingControl(false); caught = null; try { handler.setFilter(filter); } catch (Exception ex) { caught = ex; } th.check(caught instanceof SecurityException && handler.getFilter() == null); // Check #4: setFilter(f) [with permission] sec.setGrantLoggingControl(true); caught = null; try { handler.setFilter(filter); } catch (Exception ex) { caught = ex; } th.check(caught == null && handler.getFilter() == filter); } finally { sec.uninstall(); } } } mauve-20140821/gnu/testlet/java/util/logging/Handler/setLevel.java0000644000175000001440000000430610023721312023543 0ustar dokousers// Tags: JDK1.4 // Uses: TestHandler TestSecurityManager // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.Handler; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.logging.Level; /** * @author Sascha Brawer */ public class setLevel implements Testlet { TestSecurityManager sec = new TestSecurityManager(); TestHandler handler = new TestHandler(); public void test(TestHarness th) { Throwable caught; sec.install(); try { // Check #1. sec.setGrantLoggingControl(false); th.check(handler.getLevel(), Level.ALL); // Check #2. sec.setGrantLoggingControl(false); caught = null; try { handler.setLevel(Level.INFO); } catch (Exception ex) { caught = ex; } th.check(caught instanceof SecurityException); // Check #3. sec.setGrantLoggingControl(true); handler.setLevel(Level.FINEST); th.check(handler.getLevel(), Level.FINEST); // Check #4: setLevel(null). sec.setGrantLoggingControl(true); caught = null; try { handler.setLevel(null); } catch (Exception ex) { caught = ex; } th.check(caught instanceof NullPointerException); } finally { sec.uninstall(); } } } mauve-20140821/gnu/testlet/java/util/logging/Handler/setEncoding.java0000644000175000001440000000675110023721312024230 0ustar dokousers// Tags: JDK1.4 // Uses: TestHandler TestSecurityManager // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.Handler; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.UnsupportedEncodingException; /** * @author Sascha Brawer */ public class setEncoding implements Testlet { private final TestSecurityManager sec = new TestSecurityManager(); private final TestHandler handler = new TestHandler(); public void test(TestHarness th) { Throwable caught; sec.install(); try { // Check #1: setEncoding(null) [no permission] sec.setGrantLoggingControl(false); caught = null; try { handler.setEncoding(null); } catch (Exception ex) { caught = ex; } th.check(caught instanceof SecurityException); // Check #2 and #3: setEncoding(null) [with permission] sec.setGrantLoggingControl(true); caught = null; try { handler.setEncoding(null); } catch (Exception ex) { caught = ex; } th.check(caught == null); // Check #2. th.check(handler.getEncoding(), null); // Check #3. // Check #4: setEncoding("Nonsense") [no permission] sec.setGrantLoggingControl(false); caught = null; try { handler.setEncoding("Nonsense"); } catch (Exception ex) { caught = ex; } th.check(caught instanceof SecurityException); // Check #5: setEncoding("Nonsense") [with permission] sec.setGrantLoggingControl(true); caught = null; try { handler.setEncoding("Nonsense"); } catch (Exception ex) { caught = ex; } th.check(caught instanceof UnsupportedEncodingException); // Check #6: setEncoding("UTF-8") [no permission] sec.setGrantLoggingControl(false); caught = null; try { handler.setEncoding("UTF-8"); } catch (Exception ex) { caught = ex; } th.check(caught instanceof SecurityException); // Check #7 and #8: setEncoding("UTF-8") [with permission] sec.setGrantLoggingControl(true); caught = null; try { handler.setEncoding("UTF-8"); } catch (Exception ex) { caught = ex; } th.check(caught == null); th.check(handler.getEncoding(), "UTF-8"); } finally { sec.uninstall(); } } } mauve-20140821/gnu/testlet/java/util/logging/Handler/TestHandler.java0000644000175000001440000000261210057633064024210 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.Handler; import java.util.logging.Handler; import java.util.logging.LogRecord; /** * @author Sascha Brawer */ public class TestHandler extends Handler { public TestHandler() { } public void flush() { } public void close() { } public void publish(LogRecord record) { } /** * Invokes the reportError method, which has protected access * and cannot be called from the outside. */ public void invokeReportError(String msg, Exception ex, int code) { reportError(msg, ex, code); } } mauve-20140821/gnu/testlet/java/util/logging/Handler/reportError.java0000644000175000001440000000560510023721312024310 0ustar dokousers// Tags: JDK1.4 // Uses: TestErrorManager TestHandler TestSecurityManager // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.Handler; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.logging.ErrorManager; /** * @author Sascha Brawer */ public class reportError implements Testlet { private final TestSecurityManager sec = new TestSecurityManager(); private final TestHandler handler = new TestHandler(); private final TestErrorManager mgr = new TestErrorManager(); private final Exception somex = new IllegalStateException(); public void test(TestHarness th) { sec.install(); try { sec.setGrantLoggingControl(true); handler.setErrorManager(mgr); sec.setGrantLoggingControl(false); handler.invokeReportError("foo", somex, ErrorManager.FLUSH_FAILURE); th.check(mgr.getLastMessage(), "foo"); // Check #1. th.check(mgr.getLastException() == somex); // Check #2. th.check(mgr.getLastErrorCode(), // Check #3. ErrorManager.FLUSH_FAILURE); handler.invokeReportError(null, somex, ErrorManager.OPEN_FAILURE); th.check(mgr.getLastMessage(), null); // Check #4. th.check(mgr.getLastException() == somex); // Check #5. th.check(mgr.getLastErrorCode(), // Check #6. ErrorManager.OPEN_FAILURE); handler.invokeReportError(null, null, ErrorManager.CLOSE_FAILURE); th.check(mgr.getLastMessage(), null); // Check #7. th.check(mgr.getLastException(), null); // Check #8. th.check(mgr.getLastErrorCode(), // Check #9. ErrorManager.CLOSE_FAILURE); handler.invokeReportError("foobar", null, -12345); th.check(mgr.getLastMessage(), "foobar"); // Check #10. th.check(mgr.getLastException(), null); // Check #11. th.check(mgr.getLastErrorCode(), -12345); // Check #12. } finally { sec.uninstall(); } } } mauve-20140821/gnu/testlet/java/util/logging/Handler/isLoggable.java0000644000175000001440000000316310057633064024045 0ustar dokousers// Tags: JDK1.4 // Uses: TestHandler TestSecurityManager // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.Handler; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * @author Sascha Brawer */ public class isLoggable implements Testlet { TestSecurityManager sec = new TestSecurityManager(); TestHandler handler = new TestHandler(); public void test(TestHarness th) { Throwable caught; sec.install(); try { // Check #1: isLoggable(null). sec.setGrantLoggingControl(false); caught = null; try { handler.isLoggable(null); } catch (Exception ex) { caught = ex; } th.check(caught instanceof NullPointerException); } finally { sec.uninstall(); } } } mauve-20140821/gnu/testlet/java/util/logging/Handler/getErrorManager.java0000644000175000001440000000424310023721312025044 0ustar dokousers// Tags: JDK1.4 // Uses: TestHandler TestSecurityManager // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.Handler; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.logging.ErrorManager; /** * @author Sascha Brawer */ public class getErrorManager implements Testlet { private final TestSecurityManager sec = new TestSecurityManager(); private final TestHandler handler = new TestHandler(); private final ErrorManager mgr = new ErrorManager(); public void test(TestHarness th) { Throwable caught; sec.install(); try { // Check #1: getErrorManager() [no permission] sec.setGrantLoggingControl(false); caught = null; try { handler.getErrorManager(); } catch (Exception ex) { caught = ex; } th.check(caught instanceof SecurityException); // Check #2 and #3: getErrorManager() [with permission] sec.setGrantLoggingControl(true); caught = null; try { handler.setErrorManager(mgr); } catch (Exception ex) { caught = ex; } th.check(caught, null); // Check #2. th.check(handler.getErrorManager() == mgr); // Check #3. } finally { sec.uninstall(); } } } mauve-20140821/gnu/testlet/java/util/logging/Handler/setErrorManager.java0000644000175000001440000000541710023721312025064 0ustar dokousers// Tags: JDK1.4 // Uses: TestHandler TestSecurityManager // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.Handler; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.logging.ErrorManager; /** * @author Sascha Brawer */ public class setErrorManager implements Testlet { private final TestSecurityManager sec = new TestSecurityManager(); private final TestHandler handler = new TestHandler(); private final ErrorManager mgr = new ErrorManager(); public void test(TestHarness th) { Throwable caught; sec.install(); try { // Check #1: setErrorManager(null) [no permission] sec.setGrantLoggingControl(false); caught = null; try { handler.setErrorManager(null); } catch (Exception ex) { caught = ex; } th.check(caught instanceof SecurityException); // Check #2: setErrorManager(null) [with permission] sec.setGrantLoggingControl(true); caught = null; try { handler.setErrorManager(null); } catch (Exception ex) { caught = ex; } th.check(caught instanceof NullPointerException); // Check #3: setErrorManager(mgr) [no permission] sec.setGrantLoggingControl(false); caught = null; try { handler.setErrorManager(mgr); } catch (Exception ex) { caught = ex; } th.check(caught instanceof SecurityException); // Check #4: setErrorManager(mgr) [with permission] sec.setGrantLoggingControl(true); caught = null; try { handler.setErrorManager(mgr); } catch (Exception ex) { caught = ex; } th.check(caught == null && handler.getErrorManager() == mgr); } finally { sec.uninstall(); } } } mauve-20140821/gnu/testlet/java/util/logging/Handler/TestErrorManager.java0000644000175000001440000000274610023721312025212 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.Handler; import java.util.logging.ErrorManager; /** * @author Sascha Brawer */ public class TestErrorManager extends ErrorManager { private String lastMessage; private Exception lastException; private int lastErrorCode; public TestErrorManager() { } public void error(String s, Exception ex, int code) { this.lastMessage = s; this.lastException = ex; this.lastErrorCode = code; } public String getLastMessage() { return lastMessage; } public Exception getLastException() { return lastException; } public int getLastErrorCode() { return lastErrorCode; } } mauve-20140821/gnu/testlet/java/util/logging/Handler/TestSecurityManager.java0000644000175000001440000000406610430627362025741 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.Handler; import java.security.Permission; import java.security.AccessControlException; import java.util.logging.LoggingPermission; import java.util.logging.LogManager; /** * A SecurityManager that can be told whether or not to grant * LoggingPermission. * * @author Sascha Brawer */ public class TestSecurityManager extends SecurityManager { private boolean grantLogging = false; private final Permission controlPermission = new LoggingPermission("control", null); private SecurityManager oldManager; public void checkPermission(Permission perm) { if (controlPermission.implies(perm) && !grantLogging) throw new AccessControlException("access denied", perm); } public void setGrantLoggingControl(boolean grant) { grantLogging = grant; } public void install() { // Make sure the LogManager is fully installed first. LogManager lm = LogManager.getLogManager(); SecurityManager oldsm = System.getSecurityManager(); if (oldsm == this) throw new IllegalStateException("already installed"); oldManager = oldsm; System.setSecurityManager(this); } public void uninstall() { System.setSecurityManager(oldManager); } } mauve-20140821/gnu/testlet/java/util/logging/Logger/0000755000175000001440000000000012375316426020776 5ustar dokousersmauve-20140821/gnu/testlet/java/util/logging/Logger/TestFilter.java0000644000175000001440000000222510017710405023711 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.Logger; import java.util.logging.Filter; import java.util.logging.LogRecord; public class TestFilter implements Filter { private LogRecord lastRecord; public boolean isLoggable(LogRecord record) { lastRecord = record; return true; } public LogRecord getLastRecord() { return lastRecord; } } mauve-20140821/gnu/testlet/java/util/logging/Logger/TestResourceBundle.java0000644000175000001440000000241510017710405025406 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.Logger; import java.util.ListResourceBundle; /** * @author Sascha Brawer */ public class TestResourceBundle extends ListResourceBundle { private final Object[][] contents = new Object[][] { { "test", "foo-bar-baz" }, // Used by testlet for Logger.getAnonymousLogger(). { "ENTRY {0}", "BETRETEN {0}" } }; protected Object[][] getContents() { return contents; } }; mauve-20140821/gnu/testlet/java/util/logging/Logger/getLogger.java0000644000175000001440000000742010075775712023565 0ustar dokousers// Tags: JDK1.4 // Uses: TestLogger TestResourceBundle TestSecurityManager // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.Logger; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.logging.Logger; import java.util.MissingResourceException; /** * @author Sascha Brawer */ public class getLogger implements Testlet { TestSecurityManager sec = new TestSecurityManager(); public void test(TestHarness h) { Logger fooLogger = null; Logger barLogger = null; Throwable caught; final String loggerName = TestLogger.class.getName(); try { sec.install(); // Check #1. sec.setGrantLoggingControl(false); h.check(Logger.getLogger("global") == Logger.global); // Check #2. sec.setGrantLoggingControl(false); caught = null; try { fooLogger = Logger.getLogger( "gnu.testlet.java.util.logging.Logger.TestLogger"); } catch (Exception ex) { caught = ex; } h.check(caught instanceof SecurityException); // Check #3. sec.setGrantLoggingControl(true); try { fooLogger = Logger.getLogger(loggerName); h.check(true); } catch (Exception ex) { h.check(false); h.debug(ex); } // Check #4. sec.setGrantLoggingControl(false); h.check(fooLogger.getName(), loggerName); // Check #5. sec.setGrantLoggingControl(false); h.check(fooLogger.getResourceBundle() == null); // Check #6: Can retrieve existing logger without LoggingPermission. sec.setGrantLoggingControl(false); h.check(Logger.getLogger(loggerName) == fooLogger); // Check #7. sec.setGrantLoggingControl(false); try { Logger.getLogger(loggerName, "NonexistingResource"); h.check(false); } catch (MissingResourceException _) { h.check(true); } catch (Exception ex) { h.check(false); h.debug(ex); } // Check #8. sec.setGrantLoggingControl(false); barLogger = Logger.getLogger(loggerName, TestResourceBundle.class.getName()); h.check(barLogger == fooLogger); // Check #9. // // Sun J2SE 1.4.1_01 fails this test. However, it seems wrong // that a call to getLogger should be able to install a // ResourceBundle into a pre-existing logger if the caller // does not have LoggingPermission. // // Sun Microsystems has been informed about this security-related // bug in the reference implementation by submitting a bug report. // Sun bug review ID: 240615. h.check(fooLogger.getResourceBundle() == null); } finally { sec.uninstall(); } } } mauve-20140821/gnu/testlet/java/util/logging/Logger/getParent.java0000644000175000001440000000333210503743570023566 0ustar dokousers// Tags: JDK1.4 // Uses: TestLogger TestSecurityManager // Copyright (C) 2006 Mark J. Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.Logger; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.logging.Logger; public class getParent implements Testlet { public void test(TestHarness h) { Logger abcde = Logger.getLogger("a.b.c.d.e"); Logger abc = Logger.getLogger("a.b.c"); Logger ab = Logger.getLogger("a.b"); Logger a = Logger.getLogger("a"); Logger ax = Logger.getLogger("a.x"); Logger axy = Logger.getLogger("a.x.y"); Logger axyzw = Logger.getLogger("a.x.y.z.w"); h.check(abcde.getParent(), abc); h.check(abc.getParent(), ab); h.check(ab.getParent(), a); h.check(ax.getParent(), a); h.check(axy.getParent(), ax); h.check(axyzw.getParent(), axy); Logger root = Logger.getLogger(""); Logger anon = Logger.getAnonymousLogger(); h.check(a.getParent(), root); h.check(anon.getParent(), root); } } mauve-20140821/gnu/testlet/java/util/logging/Logger/global.java0000644000175000001440000000230710017654333023074 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.Logger; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.logging.Logger; /** * @author Sascha Brawer */ public class global implements Testlet { public void test(TestHarness h) { // Check #1. h.check(Logger.global != null); // Check #2. h.check(Logger.global.getName(), "global"); } } mauve-20140821/gnu/testlet/java/util/logging/Logger/securityChecks.java0000644000175000001440000001122710017654333024625 0ustar dokousers// Tags: JDK1.4 // Uses: TestLogger TestSecurityManager // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.Logger; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.logging.*; /** * @author Sascha Brawer */ public class securityChecks implements Testlet { private final TestSecurityManager sec = new TestSecurityManager(); private TestHarness harness; public void test(TestHarness h) { this.harness = h; try { sec.install(); testSecurity("Logger.global", Logger.global, /* expect enforcement */ true); testSecurity("Logger.getAnonymousLogger()", Logger.getAnonymousLogger(), /* expect enforcement */ false); testSecurity("Logger.getAnonymousLogger(null)", Logger.getAnonymousLogger(null), /* expect enforcement */ false); testSecurity("", new TestLogger("foo", null), /* expect enforcement */ true); testSecurity("", new TestLogger(null, null), /* expect enforcement */ true); } finally { sec.uninstall(); } } private void testSecurity(String checkPoint, Logger logger, boolean expectEnforcement) { harness.checkPoint(checkPoint); // Check #1: setFilter(null) [no LoggingPermission] sec.setGrantLoggingControl(false); try { logger.setFilter(null); harness.check(!expectEnforcement); } catch (Exception ex) { harness.check(expectEnforcement && (ex instanceof SecurityException)); } // Check #2: setFilter(f) [no LoggingPermission]. try { logger.setFilter(new Filter() { public boolean isLoggable(LogRecord r) { return true; } }); harness.check(!expectEnforcement); } catch (Exception ex) { harness.check(expectEnforcement && (ex instanceof SecurityException)); } // Check #3: setLevel(null) [no LoggingPermission]. try { logger.setLevel(null); harness.check(!expectEnforcement); } catch (Exception ex) { harness.check(expectEnforcement && (ex instanceof SecurityException)); } // Check #4: setLevel(Level.CONFIG) [no LoggingPermission]. try { logger.setLevel(Level.CONFIG); harness.check(!expectEnforcement); } catch (Exception ex) { harness.check(expectEnforcement && (ex instanceof SecurityException)); } // Check #5: addHandler(h) [no LoggingPermission]. Handler handler = new ConsoleHandler(); try { logger.addHandler(handler); harness.check(!expectEnforcement); } catch (Exception ex) { harness.check(expectEnforcement && (ex instanceof SecurityException)); } // Check #6: removeHandler(h) [no LoggingPermission]. try { logger.removeHandler(handler); harness.check(!expectEnforcement); } catch (Exception ex) { harness.check(expectEnforcement && (ex instanceof SecurityException)); } // Check #7: setParent(l) [no LoggingPermission]. try { logger.setParent(new TestLogger("gnu.testlet.Test", null)); harness.check(false); } catch (Exception ex) { harness.check(ex instanceof SecurityException); } // Check #8: setUseParentHandlers(false) [no LoggingPermission]. try { logger.setUseParentHandlers(false); harness.check(!expectEnforcement); } catch (Exception ex) { harness.check(expectEnforcement && (ex instanceof SecurityException)); } } } mauve-20140821/gnu/testlet/java/util/logging/Logger/hierarchyChecks.java0000644000175000001440000000675410017746013024742 0ustar dokousers// Tags: JDK1.4 // Uses: TestFilter TestLogger TestResourceBundle TestSecurityManager // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.Logger; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.logging.*; /** * Performs various checks on the hierarchy of loggers. * * @author Sascha Brawer */ public class hierarchyChecks implements Testlet { private final TestSecurityManager sec = new TestSecurityManager(); private static final String PARENT_NAME = "gnu.testlet.java.util.logging.Logger.hierarchyChecks"; private static final String CHILD_NAME = PARENT_NAME + ".child"; public void test(TestHarness h) { Logger parent, child; TestFilter parentFilter, childFilter; LogRecord rec; Formatter formatter; try { // Preparation. sec.install(); parentFilter = new TestFilter(); childFilter = new TestFilter(); formatter = new SimpleFormatter(); sec.setGrantLoggingControl(true); parent = Logger.getLogger(PARENT_NAME, TestResourceBundle.class.getName()); parent.setLevel(Level.ALL); parent.setFilter(parentFilter); parent.setUseParentHandlers(false); child = Logger.getLogger(CHILD_NAME); child.setFilter(childFilter); child.setLevel(Level.ALL); sec.setGrantLoggingControl(false); // Check #1. h.check(parent.getResourceBundle() instanceof TestResourceBundle); // Check #2. h.check(child.getResourceBundle() == null); // Check #3. h.check(parent.getResourceBundleName(), TestResourceBundle.class.getName()); // Check #4. h.check(child.getResourceBundleName(), null); // Check #5. h.check(child.getParent() == parent); // Check #6. h.check(parent.getUseParentHandlers() == false); // Check #7. h.check(child.getUseParentHandlers() == true); // Check #8: child uses parent's ResourceBundle. child.warning("Boo!"); h.check(childFilter.getLastRecord().getResourceBundle() == parent.getResourceBundle()); // Check #9. h.check(parentFilter.getLastRecord() == null); // Check #10: log() passes ResourceBundle to LogRecord without // localization. child.entering("fakedClass", "fakedMethod", "SingleParam"); rec = childFilter.getLastRecord(); h.check(rec.getMessage(), "ENTRY {0}"); // Check #11: Localization is then performed by Formatter. h.check(formatter.formatMessage(rec), "BETRETEN SingleParam"); } finally { sec.uninstall(); } } } mauve-20140821/gnu/testlet/java/util/logging/Logger/TestLogger.java0000644000175000001440000000217410017654333023715 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.Logger; import java.util.logging.Logger; /** * A Logger whose constructor is public. * * @author Sascha Brawer */ class TestLogger extends Logger { public TestLogger(String name, String resourceBundleName) { super(name, resourceBundleName); } } mauve-20140821/gnu/testlet/java/util/logging/Logger/getAnonymousLogger.java0000644000175000001440000000653010047713313025463 0ustar dokousers// Tags: JDK1.4 // Uses: TestFilter TestSecurityManager TestResourceBundle // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.Logger; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.logging.Level; import java.util.logging.Logger; import java.util.logging.Formatter; import java.util.logging.SimpleFormatter; import java.util.MissingResourceException; /** * @author Sascha Brawer */ public class getAnonymousLogger implements Testlet { TestSecurityManager sec = new TestSecurityManager(); public void test(TestHarness th) { Logger al; Throwable caught; TestFilter filter = new TestFilter(); Formatter formatter = new SimpleFormatter(); try { sec.install(); // This used to be 'sec.setGrantLoggingControl(false)', but that // causes Logger.getAnonymousLogger() to fail on JDK 1.4.2. // Stephen Crawley: 2004-05-11 sec.setGrantLoggingControl(true); // Check #1. al = Logger.getAnonymousLogger(); th.check(al != null); // Check #2: New instance for each call. th.check(al != Logger.getAnonymousLogger()); // Check #3. al = Logger.getAnonymousLogger(); th.check(al.getName(), null); // Check #4. th.check(al.getResourceBundle(), null); // Check #5. th.check(al.getResourceBundleName(), null); // Check #6: Parent is root logger. th.check(al.getParent(), Logger.getLogger("")); // Check #7. al.setFilter(filter); al.setUseParentHandlers(false); al.setLevel(Level.FINEST); al.entering("Class", "method", "txt"); th.check(formatter.formatMessage(filter.getLastRecord()), "ENTRY txt"); // Check #8. al = Logger.getAnonymousLogger(TestResourceBundle.class.getName()); th.check(al.getResourceBundle() instanceof TestResourceBundle); // Check #9. al.setFilter(filter); al.setUseParentHandlers(false); al.setLevel(Level.FINEST); al.entering("Class", "method", "txt"); th.check(formatter.formatMessage(filter.getLastRecord()), "BETRETEN txt"); // Check #10. try { Logger.getAnonymousLogger("garbageClassName"); th.check(false); } catch (MissingResourceException ex) { th.check(true); } catch (Exception ex) { th.check(false); th.debug(ex); } } finally { sec.uninstall(); } } } mauve-20140821/gnu/testlet/java/util/logging/Logger/PR35974.java0000644000175000001440000001260111002155325022557 0ustar dokousers/* ConcurrentLogging.java -- Test Concurrent access to Logger Copyright (C) 2008 Mario Torre This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.util.logging.Logger; import java.util.logging.Handler; import java.util.logging.Level; import java.util.logging.LogRecord; import java.util.logging.Logger; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Fix PR35974, when multiple threads try to access methods or Logger. * * @author Mario Torre */ public class PR35974 implements Testlet { private static final boolean DEBUG = false; private static Logger parentLogger = Logger.getLogger("new caprica event logger"); private TestHarness harness = null; static volatile boolean fighting = true; public void test(TestHarness harness) { this.harness = harness; HarnessHandler handler = new HarnessHandler(); LoggerThread galactica = new LoggerThread("Galactica", handler); LoggerThread cylonBasestar1 = new LoggerThread("Cylon Basestar #1", handler); LoggerThread cylonBasestar2 = new LoggerThread("Cylon Basestar #2", handler); LoggerThread cylonBasestar3 = new LoggerThread("Cylon Basestar #3", handler); galactica.start(); cylonBasestar1.start(); cylonBasestar2.start(); cylonBasestar3.start(); BattlestarPegasusThread pegasus = new BattlestarPegasusThread(); pegasus.start(); } private class HarnessHandler extends Handler { public void close() throws SecurityException { /* does nothing */ } @Override public void flush() { /* does nothing */ } public void success() { harness.check(true, Thread.currentThread().getName()); } @Override public void publish(LogRecord record) { if (DEBUG == false) return; // this is not correct in real world code, but it's ok for our // simple test if (Thread.currentThread().getName().equalsIgnoreCase("Galactica")) harness.debug(record.getMessage() + "--------------------------->"); else harness.debug("\t\t\t\t\t\t\t\t\t\t\t\t\t<---------------------------" + record.getMessage()); } } private static class BattlestarPegasusThread extends Thread { private long startTime = System.currentTimeMillis(); public BattlestarPegasusThread() { super("Pegasus to the rescue..."); } @Override public void run() { parentLogger.log(Level.INFO, this.getName()); long stopTime = System.currentTimeMillis(); while ((stopTime - startTime) < 30000) { stopTime = System.currentTimeMillis(); } fighting = false; parentLogger.log(Level.INFO, "Pegasus destroyed..."); } } private static class LoggerThread extends Thread { private static Logger brokenLogger = null; private HarnessHandler handler = null; public LoggerThread(String name, HarnessHandler handler) { super(name); super.setDaemon(true); this.handler = handler; } @Override public void run() { parentLogger.log(Level.INFO, this.getName() + " did the jump into new caprica orbit "); while (fighting) { // These methods are all synchronized in the implementation. // Of course, you see the problem, there is no synchronization // between the first instruction and the others, and you can see // this because some output from the logger is still left on even when // we setLevel(Level.OFF), this is because of some concurrent access, // but it's ok, because what we do here is to force a concurrent // access somehow hoping for a deadlock at some point, which will // not happen because the locking system on the Logger class has been // improved, but still will left our brokenLogger in a somewhat // confused state (that is, it works only because handler and // parentLogger are always the same, otherwise it would not work) // This code is broken by design, so don't try to imitate this style // in real word code, please. brokenLogger = Logger.getLogger(this.getName()); if (DEBUG == false) brokenLogger.setLevel(Level.OFF); else brokenLogger.setParent(parentLogger); brokenLogger.addHandler(handler); brokenLogger.log(Level.INFO, this.getName() + " fires"); } parentLogger.log(Level.INFO, this.getName() + " jumps"); handler.success(); } } } mauve-20140821/gnu/testlet/java/util/logging/Logger/TestSecurityManager.java0000644000175000001440000000407610430627362025604 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.Logger; import java.security.Permission; import java.security.AccessControlException; import java.util.logging.LoggingPermission; import java.util.logging.LogManager; /** * A SecurityManager that can be told whether or not to grant * LoggingPermission. * * @author Sascha Brawer */ public class TestSecurityManager extends SecurityManager { private boolean grantLogging = false; private final Permission controlPermission = new LoggingPermission("control", null); private SecurityManager oldManager; public void checkPermission(Permission perm) { if (controlPermission.implies(perm) && !grantLogging) throw new AccessControlException("access denied: " + perm, perm); } public void setGrantLoggingControl(boolean grant) { grantLogging = grant; } public void install() { // Make sure the LogManager is fully installed first. LogManager lm = LogManager.getLogManager(); SecurityManager oldsm = System.getSecurityManager(); if (oldsm == this) throw new IllegalStateException("already installed"); oldManager = oldsm; System.setSecurityManager(this); } public void uninstall() { System.setSecurityManager(oldManager); } } mauve-20140821/gnu/testlet/java/util/logging/Logger/getName.java0000644000175000001440000000310310017746013023204 0ustar dokousers// Tags: JDK1.4 // Uses: TestLogger TestSecurityManager // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.Logger; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.logging.Logger; /** * @author Sascha Brawer */ public class getName implements Testlet { private final TestSecurityManager sec = new TestSecurityManager(); private static final String LOGGER_NAME = "gnu.testlet.java.util.logging.Logger.test_getName"; public void test(TestHarness h) { Logger logger; try { sec.install(); // Check #1. sec.setGrantLoggingControl(false); logger = new TestLogger(LOGGER_NAME, null); h.check(logger.getName(), LOGGER_NAME); } finally { sec.uninstall(); } } } mauve-20140821/gnu/testlet/java/util/logging/SocketHandler/0000755000175000001440000000000012375316426022305 5ustar dokousersmauve-20140821/gnu/testlet/java/util/logging/SocketHandler/getFilter.java0000644000175000001440000000273610057633065025101 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.SocketHandler; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.net.ServerSocket; import java.util.logging.SocketHandler; /** * @author Sascha Brawer */ public class getFilter implements Testlet { public void test(TestHarness th) { SocketHandler handler; // Check #1. try { ServerSocket socket = new ServerSocket(0); handler = new SocketHandler("0.0.0.0", socket.getLocalPort()); socket.close(); th.check(handler.getFilter() == null); } catch (Exception ex) { th.check(false); th.debug(ex); } } } mauve-20140821/gnu/testlet/java/util/logging/SocketHandler/SocketHandler.java0000644000175000001440000000306610017445766025704 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.SocketHandler; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * @author Sascha Brawer */ public class SocketHandler implements Testlet { public void test(TestHarness th) { // Check #1. try { new java.util.logging.SocketHandler("0.0.0.0", -1); th.check(false); } catch (Exception ex) { th.check(ex instanceof IllegalArgumentException); } // Check #2: SocketHandler(null, 8080) --> IllegalArgumentException. try { new java.util.logging.SocketHandler(null, 8080); th.check(false); } catch (Exception ex) { th.check(ex instanceof IllegalArgumentException); } } } mauve-20140821/gnu/testlet/java/util/logging/SocketHandler/SocketCapturer.java0000644000175000001440000000537510057633065026114 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.SocketHandler; import java.io.*; import java.net.*; /** * A helper class that opens a TCP/IP server socket and starts * a separate thread which listens for a connection request on * that socket, reads in everything until the client closes the * connection, and returns the transmitted content. * * @author Sascha Brawer */ public class SocketCapturer { Server server; Thread thread; ServerSocket socket; public SocketCapturer() throws java.io.IOException { this(0); } public SocketCapturer(int port) throws java.io.IOException { socket = new ServerSocket(port); server = new Server(socket); thread = new Thread(server); thread.start(); } public int getLocalPort() { return socket.getLocalPort(); } /** * Returns the transmitted content. Blocks the current thread * until a client has transmitted all its content and closed the * connection. */ public byte[] getCaptured() { try { thread.join(); } catch (InterruptedException _) { } return server.getCaptured(); } private class Server implements Runnable { ServerSocket serverSocket; Socket conn; private volatile Throwable thrown; private volatile byte[] captured; public Server(ServerSocket serverSocket) { this.serverSocket = serverSocket; } public byte[] getCaptured() { return captured; } public void run() { try { conn = serverSocket.accept(); InputStream is = conn.getInputStream(); ByteArrayOutputStream bos = new ByteArrayOutputStream(); int r = 0; byte[] b = new byte[2000]; while ((r = is.read(b)) >= 0) { if (r > 0) bos.write(b, 0, r); } conn.close(); captured = bos.toByteArray(); bos.close(); } catch (Exception ex) { this.thrown = ex; ex.printStackTrace(); } } } } mauve-20140821/gnu/testlet/java/util/logging/SocketHandler/getFormatter.java0000644000175000001440000000303310017445766025613 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.SocketHandler; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.net.ServerSocket; import java.util.logging.SocketHandler; import java.util.logging.XMLFormatter; /** * @author Sascha Brawer */ public class getFormatter implements Testlet { public void test(TestHarness th) { SocketHandler handler; // Check #1. try { ServerSocket socket = new ServerSocket(0); handler = new SocketHandler("0.0.0.0", socket.getLocalPort()); socket.close(); th.check(handler.getFormatter() instanceof XMLFormatter); } catch (Exception ex) { th.check(false); th.debug(ex); } } } mauve-20140821/gnu/testlet/java/util/logging/SocketHandler/publish.java0000644000175000001440000000414110017445766024617 0ustar dokousers// Tags: JDK1.4 // Uses: SocketCapturer // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.SocketHandler; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.logging.Level; import java.util.logging.LogRecord; import java.util.logging.SocketHandler; /** * @author Sascha Brawer */ public class publish implements Testlet { public void test(TestHarness th) { SocketCapturer capturer; SocketHandler handler; String captured = null; // Check #1. try { capturer = new SocketCapturer(0); handler = new SocketHandler("0.0.0.0", capturer.getLocalPort()); handler.setLevel(Level.FINE); handler.publish(new LogRecord(Level.CONFIG, "hello, world")); handler.publish(new LogRecord(Level.FINER, "how are you?")); handler.close(); captured = new String(capturer.getCaptured()); th.check(true); } catch (Exception ex) { th.check(false); th.debug(ex); return; } // Check #2. th.check(captured.indexOf("hello, world") >= 0); // Check #3. th.check(captured.indexOf("how are you?") < 0); // Check #4. th.check(captured.indexOf("") >= 0); } } mauve-20140821/gnu/testlet/java/util/logging/LogManager/0000755000175000001440000000000012375316426021573 5ustar dokousersmauve-20140821/gnu/testlet/java/util/logging/LogManager/logging.properties0000644000175000001440000000010010265466164025327 0ustar dokousershandlers = gnu.testlet.java.util.logging.LogManager.TestHandler mauve-20140821/gnu/testlet/java/util/logging/LogManager/TestHandler.java0000644000175000001440000000314710265466164024661 0ustar dokousers/* * Copyright 2001-2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package gnu.testlet.java.util.logging.LogManager; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.logging.Handler; import java.util.logging.LogRecord; /** *

Test implementation of java.util.logging.Handler.

* * @author Craig R. McClanahan * @version $Revision: 1.1 $ $Date: 2005/07/14 13:45:24 $ */ public class TestHandler extends Handler { // ----------------------------------------------------- Instance Variables // The set of logged records for this handler private List records = new ArrayList(); // --------------------------------------------------------- Public Methods public Iterator records() { return (records.iterator()); } // -------------------------------------------------------- Handler Methods public void close() { isClosed = true; } public void flush() { records.clear(); } public void publish(LogRecord record) { records.add(record); } boolean isClosed = false; } mauve-20140821/gnu/testlet/java/util/logging/LogManager/Security.java0000644000175000001440000000530511470277024024243 0ustar dokousers// Copyright (C) 2006, 2007, 2010 Red Hat, Inc. // Original written by Gary Benson // Adapted for LogManager by Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.4 package gnu.testlet.java.util.logging.LogManager; import java.security.Permission; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.logging.LogManager; import java.util.logging.LoggingPermission; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.TestSecurityManager; public class Security implements Testlet { public void test(TestHarness harness) { try { Permission[] noPerms = new Permission[] {}; Permission[] logPerms = new Permission[] { new LoggingPermission("control", null) } ; LogManager lm = LogManager.getLogManager(); PropertyChangeListener listener = new TestPropertyChangeListener(); TestSecurityManager sm = new TestSecurityManager(harness); try { sm.install(); harness.checkPoint("addPropertyChangeListener"); try { sm.prepareChecks(logPerms); lm.addPropertyChangeListener(listener); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } harness.checkPoint("removePropertyChangeListener"); try { sm.prepareChecks(logPerms); lm.removePropertyChangeListener(listener); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } finally { sm.uninstall(); } } catch (Exception ex) { harness.debug(ex); harness.check(false, "Unexpected exception"); } } private static class TestPropertyChangeListener implements PropertyChangeListener { public void propertyChange(PropertyChangeEvent event) { } } } mauve-20140821/gnu/testlet/java/util/logging/LogManager/readConfiguration.java0000644000175000001440000000357211030376330026073 0ustar dokousers// Files: logging.properties package gnu.testlet.java.util.logging.LogManager; import gnu.testlet.*; import java.io.*; import java.util.logging.*; // Test case for setting Logger handlers using resource property public class readConfiguration implements Testlet { public void test(TestHarness harness) { LogManager manager = LogManager.getLogManager(); // This resource contains a "handlers = TestHandler" property harness.checkPoint("read user logging properties"); try { InputStream is = ClassLoader.getSystemResourceAsStream("gnu/testlet/java/util/logging/LogManager/logging.properties"); manager.readConfiguration(is); harness.check(true); is.close(); } catch (IOException e) { harness.check(false); harness.debug(e); } Logger logger = Logger.getLogger("TestLogger"); Logger logger2 = logger; logger2.setLevel(Level.FINE); // This just copied from // org.apache.commons.logging.jdk14.CustomConfigTestCase, where I noticed // this bug while (logger.getParent() != null) { logger = logger.getParent(); } // I gather that handles should now = {TestHandler handler} Handler[] handlers = logger.getHandlers(); harness.checkPoint("handlers is not null"); harness.check(handlers != null); // But does it? if (handlers != null) { harness.checkPoint("handlers length"); harness.check(handlers.length, 1); harness.check(handlers[0].getClass() == TestHandler.class); TestHandler handler = (TestHandler) handlers[0]; harness.checkPoint("state reset"); harness.check(logger2.getLevel() == Level.FINE); try { manager.readConfiguration(); harness.check(true); } catch (Exception e) { harness.check(false); harness.debug(e); } harness.check(logger2.getLevel() == null); harness.check(handler.isClosed); } } } mauve-20140821/gnu/testlet/java/util/logging/XMLFormatter/0000755000175000001440000000000012375316426022103 5ustar dokousersmauve-20140821/gnu/testlet/java/util/logging/XMLFormatter/formatMessage.java0000644000175000001440000001211510651452573025542 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.XMLFormatter; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.logging.Level; import java.util.logging.LogRecord; import java.util.logging.XMLFormatter; import java.util.TimeZone; /** * @author Sascha Brawer */ public class formatMessage implements Testlet { public void test(TestHarness h) { XMLFormatter formatter = new XMLFormatter(); LogRecord rec; // Check #1. try { formatter.formatMessage(null); h.check(false); } catch (NullPointerException _) { h.check(true); } catch (Exception _) { h.check(false); } // Check #2. rec = new LogRecord(Level.INFO, "foobar"); //Need to force the default time zone to UTC or else //the comparison uses system time zone and makes the tests //break. TimeZone.setDefault(TimeZone.getTimeZone("UTC")); rec.setMillis(1234567); rec.setSequenceNumber(42); rec.setThreadID(21); h.check(formatter.format(rec), EXPECTED_PREFIX + " 21\n" + " foobar\n" + "\n"); // Check #3. rec.setSourceClassName( "FakeClass"); rec.setSourceMethodName("test(fake)"); h.check(formatter.format(rec), EXPECTED_PREFIX + " FakeClass\n" + " test(fake)\n" + " 21\n" + " foobar\n" + "\n"); // Check #4. rec.setMessage("foobar {1}-{0}"); rec.setParameters(new String[] { "peace", "love" }); h.check(formatter.format(rec), EXPECTED_PREFIX + " FakeClass\n" + " test(fake)\n" + " 21\n" + " foobar love-peace\n" + "\n"); // Check #5. rec.setThrown(new TestException("non-localized message")); rec.setMessage("mauve is a beautiful color"); h.check(deleteFrames(formatter.format(rec)), EXPECTED_PREFIX + " FakeClass\n" + " test(fake)\n" + " 21\n" + " mauve is a beautiful color\n" + " \n" + " gnu.testlet.java.util.logging" + ".XMLFormatter.formatMessage$TestException: localized " + "message\n" + " \n" + "\n"); // Check #6. rec.setMessage("ENTRY {0}"); rec.setParameters(new String[] { "foo.bar" }); rec.setResourceBundleName(TestResourceBundle.class.getName()); rec.setThrown(null); h.check(formatter.format(rec), EXPECTED_PREFIX + " FakeClass\n" + " test(fake)\n" + " 21\n" + " ENTRY foo.bar\n" + "\n"); } //1234567 milliseconds is only 20 minutes and //34 seconds (past the Epoch, UTC time). private static final String EXPECTED_PREFIX = "\n" + " 1970-01-01T00:20:34\n" + " 1234567\n" + " 42\n" + " INFO\n"; private static String deleteFrames(String s) { int start, end; StringBuffer buf; start = s.indexOf(" \n "); if (start < 0 || end < 0) return s; buf = new StringBuffer(s); buf.delete(start, end + "\n ".length()); return buf.toString(); } private static class TestException extends Exception { public TestException() { } public TestException(String s) { super(s); } public String getLocalizedMessage() { return "localized message"; } }; public static class TestResourceBundle extends java.util.ListResourceBundle { public TestResourceBundle() { } private final Object[][] contents = new Object[][] { { "ENTRY {0}", "BETRETEN {0}" } }; protected Object[][] getContents() { return contents; } }; } mauve-20140821/gnu/testlet/java/util/logging/XMLFormatter/getHead.java0000644000175000001440000000570710017445767024322 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.XMLFormatter; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.logging.Formatter; import java.util.logging.XMLFormatter; import java.util.logging.StreamHandler; /** * @author Sascha Brawer */ public class getHead implements Testlet { public void test(TestHarness h) { Formatter formatter; StreamHandler handler; formatter = new XMLFormatter(); handler = new StreamHandler(); // Check point "no encoding set". h.checkPoint("no encoding set"); h.check(formatter.getHead(handler), getExpectedHead(System.getProperty("file.encoding"))); // Check point "UTF-8". h.checkPoint("UTF-8"); try { handler.setEncoding("UTF-8"); } catch (Exception ex) { h.check(false); h.debug(ex); } h.check(formatter.getHead(handler), getExpectedHead("UTF-8")); /* Check point "getHead(null)". * * The behavior of passing null is not specified, but we want to * check that we do the same as Sun's reference implementation. */ h.checkPoint("getHead(null)"); try { formatter.getHead(null); h.check(false); } catch (Exception ex) { h.check(ex instanceof NullPointerException); } } /** * Replaces any occurence of the vertical bar character by the * platform-specific line separator. * * @throws NullPointerException if pat is * null. */ public static String replaceLineSeparator(String pat) { String lineSeparator = System.getProperty("line.separator"); /* FIXME: This will return the wrong result on platforms where the * line.separator property is not exactly one character, for * example on Microsoft Windows. Write a decent implementation. */ return pat.replace('|', lineSeparator.charAt(0)); } private String getExpectedHead(String encodingName) { return replaceLineSeparator("|" + "||"); } } mauve-20140821/gnu/testlet/java/util/logging/XMLFormatter/getTail.java0000644000175000001440000000324110017445767024341 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.XMLFormatter; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.logging.StreamHandler; import java.util.logging.XMLFormatter; /** * @author Sascha Brawer */ public class getTail implements Testlet { public void test(TestHarness h) { XMLFormatter formatter = new XMLFormatter(); StreamHandler handler = new StreamHandler(); // Check #1. h.check(formatter.getTail(handler), "" + System.getProperty("line.separator")); /* Check #2. * * The behavior of passing null is not specified, but * we want to check that we do the same as Sun's reference * implementation. */ try { formatter.getTail(null); h.check(true); } catch (Exception ex) { h.check(false); } } } mauve-20140821/gnu/testlet/java/util/logging/LogRecord/0000755000175000001440000000000012375316426021437 5ustar dokousersmauve-20140821/gnu/testlet/java/util/logging/LogRecord/setResourceBundle.java0000644000175000001440000000365210017620564025735 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.LogRecord; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.ListResourceBundle; import java.util.ResourceBundle; import java.util.logging.Level; import java.util.logging.LogRecord; /** * @author Sascha Brawer */ public class setResourceBundle implements Testlet { public void test(TestHarness th) { LogRecord rec = new LogRecord(Level.CONFIG, "foo"); ResourceBundle testBundle = new TestResourceBundle(); // Check #1. th.check(rec.getResourceBundle(), null); // Check #2. rec.setResourceBundle(testBundle); th.check(rec.getResourceBundle() == testBundle); // Check #3. rec.setResourceBundle(null); th.check(rec.getResourceBundle(), null); } public static class TestResourceBundle extends ListResourceBundle { private final Object[][] contents = new Object[][] { { "test1", "foo-bar-baz" }, { "test2", "the single parameter is {0}" }, { "test3", "the two parameters are {0} and {1}" } }; protected Object[][] getContents() { return contents; } }; } mauve-20140821/gnu/testlet/java/util/logging/LogRecord/setMillis.java0000644000175000001440000000253010017620564024237 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.LogRecord; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.logging.Level; import java.util.logging.LogRecord; /** * @author Sascha Brawer */ public class setMillis implements Testlet { public void test(TestHarness th) { LogRecord rec = new LogRecord(Level.CONFIG, "foo"); // Check #1. rec.setMillis(12345); th.check(rec.getMillis(), 12345); // Check #2. rec.setMillis(-54321); th.check(rec.getMillis(), -54321); } } mauve-20140821/gnu/testlet/java/util/logging/LogRecord/setLevel.java0000644000175000001440000000251410017620564024057 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.LogRecord; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.logging.Level; import java.util.logging.LogRecord; /** * @author Sascha Brawer */ public class setLevel implements Testlet { public void test(TestHarness h) { LogRecord rec = new LogRecord(Level.INFO, "msg"); // Check #1. h.check(rec.getLevel() == Level.INFO); // Check #2. rec.setLevel(Level.WARNING); h.check(rec.getLevel() == Level.WARNING); } } mauve-20140821/gnu/testlet/java/util/logging/LogRecord/setSourceClassName.java0000644000175000001440000000265110017620564026041 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.LogRecord; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.logging.Level; import java.util.logging.LogRecord; /** * @author Sascha Brawer */ public class setSourceClassName implements Testlet { public void test(TestHarness th) { LogRecord rec = new LogRecord(Level.CONFIG, "msg"); // Check #1. rec.setSourceClassName(Testlet.class.getName()); th.check(rec.getSourceClassName(), Testlet.class.getName()); // Check #2. rec.setSourceClassName(null); th.check(rec.getSourceClassName(), null); } } mauve-20140821/gnu/testlet/java/util/logging/LogRecord/setLoggerName.java0000644000175000001440000000277310017620564025037 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.LogRecord; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.logging.Level; import java.util.logging.LogRecord; /** * @author Sascha Brawer */ public class setLoggerName implements Testlet { public void test(TestHarness th) { LogRecord rec = new LogRecord(Level.CONFIG, "msg"); // Check #1. th.check(rec.getLoggerName(), null); // Check #2. rec.setLoggerName("foo"); th.check(rec.getLoggerName(), "foo"); // Check #3. rec.setLoggerName(null); th.check(rec.getLoggerName(), null); // Check #4. rec.setLoggerName(""); th.check(rec.getLoggerName(), ""); } } mauve-20140821/gnu/testlet/java/util/logging/LogRecord/setThreadID.java0000644000175000001440000000253610017620564024440 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.LogRecord; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.logging.Level; import java.util.logging.LogRecord; /** * @author Sascha Brawer */ public class setThreadID implements Testlet { public void test(TestHarness th) { LogRecord rec = new LogRecord(Level.CONFIG, "foo"); // Check #1. rec.setThreadID(1234); th.check(rec.getThreadID(), 1234); // Check #2. rec.setThreadID(-4321); th.check(rec.getThreadID(), -4321); } } mauve-20140821/gnu/testlet/java/util/logging/LogRecord/getThreadID.java0000644000175000001440000000377010017620564024425 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.LogRecord; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.logging.Level; import java.util.logging.LogRecord; /** * @author Sascha Brawer */ public class getThreadID implements Testlet { public void test(TestHarness th) { LogRecord rec1 = new LogRecord(Level.CONFIG, "foo"); LogRecord rec2 = new LogRecord(Level.CONFIG, "baz"); LogRecord rec3 = createLogRecordInOtherThread(); // Check #1. th.check(rec1.getThreadID() == rec2.getThreadID()); // Check #2. th.check(rec2.getThreadID() != rec3.getThreadID()); } /** * Returns a LogRecord that has been created in another thread. */ private LogRecord createLogRecordInOtherThread() { class MyThread extends Thread { LogRecord record; public void run() { record = new LogRecord(Level.INFO, "foobar"); } public LogRecord getRecord() { return record; } }; MyThread theThread = new MyThread(); try { theThread.start(); theThread.join(); return theThread.getRecord(); } catch (InterruptedException _) { return null; } } } mauve-20140821/gnu/testlet/java/util/logging/LogRecord/getMillis.java0000644000175000001440000000275510266657406024247 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.LogRecord; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.logging.Level; import java.util.logging.LogRecord; /** * @author Sascha Brawer */ public class getMillis implements Testlet { public void test(TestHarness th) { LogRecord rec1, rec2; // Check #1. rec1 = new LogRecord(Level.CONFIG, "foo"); try { long start = System.currentTimeMillis(); while (start == System.currentTimeMillis()) Thread.sleep(1); } catch (InterruptedException _) { } rec2 = new LogRecord(Level.INFO, "bar"); th.check(rec1.getMillis() < rec2.getMillis()); } } mauve-20140821/gnu/testlet/java/util/logging/LogRecord/setParameters.java0000644000175000001440000000274310017620564025117 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.LogRecord; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.logging.Level; import java.util.logging.LogRecord; /** * @author Sascha Brawer */ public class setParameters implements Testlet { public void test(TestHarness th) { LogRecord rec = new LogRecord(Level.CONFIG, "msg"); Object[] params = new Object[] { "foo", "bar", "baz" }; // Check #1. th.check(rec.getParameters(), null); // Check #2. rec.setParameters(params); th.check(rec.getParameters() == params); // Check #3. rec.setParameters(null); th.check(rec.getParameters(), null); } } mauve-20140821/gnu/testlet/java/util/logging/LogRecord/setMessage.java0000644000175000001440000000274410017620564024401 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.LogRecord; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.logging.Level; import java.util.logging.LogRecord; /** * @author Sascha Brawer */ public class setMessage implements Testlet { public void test(TestHarness th) { LogRecord rec = new LogRecord(Level.CONFIG, "msg"); // Check #1. th.check(rec.getMessage(), "msg"); // Check #2. rec.setMessage("foo"); th.check(rec.getMessage(), "foo"); // Check #3. rec.setMessage(null); th.check(rec.getMessage(), null); // Check #4. rec.setMessage(""); th.check(rec.getMessage(), ""); } } mauve-20140821/gnu/testlet/java/util/logging/LogRecord/setThrown.java0000644000175000001440000000266510017620564024300 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.LogRecord; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.logging.Level; import java.util.logging.LogRecord; /** * @author Sascha Brawer */ public class setThrown implements Testlet { public void test(TestHarness th) { LogRecord rec = new LogRecord(Level.CONFIG, "foo"); Exception ex = new IllegalStateException(); // Check #1. th.check(rec.getThrown(), null); // Check #2. rec.setThrown(ex); th.check(rec.getThrown(), ex); // Check #3. rec.setThrown(null); th.check(rec.getThrown(), null); } } mauve-20140821/gnu/testlet/java/util/logging/LogRecord/setSequenceNumber.java0000644000175000001440000000445110017620564025733 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.LogRecord; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.logging.Level; import java.util.logging.LogRecord; /** * @author Sascha Brawer */ public class setSequenceNumber implements Testlet { public void test(TestHarness th) { LogRecord rec1 = new LogRecord(Level.CONFIG, "msg"); LogRecord rec2 = new LogRecord(Level.CONFIG, "msg2"); long s1, s2; s1 = rec1.getSequenceNumber(); s2 = rec2.getSequenceNumber(); /* Check #1. * * It could happen that rec1 has a sequence number of * Long.MAX_VALUE, or that rec1's sequence number is close to * Long.MAX_VALUE and some background threads have created a few * LogRecords between the creation of rec1 and rec2, so rec2's * sequence number is equal to or slightly greater than * Long.MIN_VALUE. In these cases, s2 would not be greater than * s1, although the implementation of java.util.logging.LogRecord * was entirely correct. * * While this event is extremely unlikely, it is not entirely * impossible, so we can perform the subsequent check only if * there was no arithmetic overflow. */ if ((s1 >= 0) == (s2 >= 0)) th.check(s2 > s1); else th.check(true); // Check #2. rec2.setSequenceNumber(42); th.check(rec2.getSequenceNumber() == 42); // Check #3. rec2.setSequenceNumber(s2); th.check(rec2.getSequenceNumber() == s2); } } mauve-20140821/gnu/testlet/java/util/logging/LogRecord/setSourceMethodName.java0000644000175000001440000000262010017620564026210 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.LogRecord; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.logging.Level; import java.util.logging.LogRecord; /** * @author Sascha Brawer */ public class setSourceMethodName implements Testlet { public void test(TestHarness th) { LogRecord rec = new LogRecord(Level.CONFIG, "msg"); // Check #1. rec.setSourceMethodName("fooBar"); th.check(rec.getSourceMethodName(), "fooBar"); // Check #2. rec.setSourceMethodName(null); th.check(rec.getSourceMethodName(), null); } } mauve-20140821/gnu/testlet/java/util/logging/LoggingMXBean/0000755000175000001440000000000012375316426022200 5ustar dokousersmauve-20140821/gnu/testlet/java/util/logging/LoggingMXBean/Test.java0000644000175000001440000000444710447324702023765 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2006 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.LoggingMXBean; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.java.util.logging.Logger.TestSecurityManager; import java.util.logging.LoggingMXBean; import java.util.logging.LogManager; /** * Gets hold of a logging bean from the * @link{java.util.logging.LogManager} and * test its security. * * @author Andrew John Hughes */ public class Test implements Testlet { private TestSecurityManager tsm = new TestSecurityManager(); public void test(TestHarness h) { try { Exception caught = null; LoggingMXBean bean = LogManager.getLoggingMXBean(); tsm.install(); // Check setLoggerLevel caught = null; try { bean.setLoggerLevel("global", null); } catch (Exception ex) { caught = ex; } h.check(caught instanceof SecurityException, "loggerLevel"); try { bean.setLoggerLevel("NotALogger", null); } catch (Exception ex) { caught = ex; } h.check(caught instanceof IllegalArgumentException, "loggerLevel"); try { bean.setLoggerLevel(null, null); } catch (Exception ex) { caught = ex; } h.check(caught instanceof NullPointerException, "loggerLevel"); } finally { tsm.uninstall(); } } } mauve-20140821/gnu/testlet/java/util/logging/Level/0000755000175000001440000000000012375316426020626 5ustar dokousersmauve-20140821/gnu/testlet/java/util/logging/Level/parse.java0000644000175000001440000000434210406011366022572 0ustar dokousers// Tags: JDK1.4 // Uses: TestUtils // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.Level; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.logging.Level; /** * @author Sascha Brawer */ public class parse implements Testlet { public void test(TestHarness h) { String name; Level level; int value; /* Pass a name. */ for (int i = 0; i < TestUtils.LEVELS.length; i++) { name = TestUtils.NAMES[i]; h.checkPoint(name); h.check(Level.parse(name) == TestUtils.LEVELS[i]); // Simulate a new "parsed" string as name. h.check(Level.parse((" " + name + " ").trim()) == TestUtils.LEVELS[i]); } /* Pass a number. */ for (int i = 0; i < TestUtils.LEVELS.length; i++) { value = TestUtils.VALUES[i]; name = String.valueOf(value); h.checkPoint(name); h.check(Level.parse(name), TestUtils.LEVELS[i]); } /* Parse a non-standard name. */ h.checkPoint("non-standard name"); try { Level.parse("non-standard name"); h.check(false); } catch (IllegalArgumentException _) { h.check(true); } catch (Exception _) { h.check(false); } /* Parse a null string. */ h.checkPoint("parse(null)"); try { Level.parse(null); h.check(false); } catch (NullPointerException _) { h.check(true); } catch (Exception _) { h.check(false); } } } mauve-20140821/gnu/testlet/java/util/logging/Level/intValue.java0000644000175000001440000000237010057633065023256 0ustar dokousers// Tags: JDK1.4 // Uses: TestUtils // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.Level; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * @author Sascha Brawer */ public class intValue implements Testlet { public void test(TestHarness h) { for (int i = 0; i < TestUtils.LEVELS.length; i++) { h.checkPoint(TestUtils.NAMES[i]); h.check(TestUtils.LEVELS[i].intValue(), TestUtils.VALUES[i]); } } } mauve-20140821/gnu/testlet/java/util/logging/Level/equals.java0000644000175000001440000000340610017445766022767 0ustar dokousers// Tags: JDK1.4 // Uses: TestUtils // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.Level; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.logging.Level; /** * @author Sascha Brawer */ public class equals implements Testlet { public void test(TestHarness h) { Level l1, l2; l1 = new TestUtils.CustomLevel("CUSTOM_TEST_LEVEL", Level.WARNING.intValue()); l2 = new TestUtils.CustomLevel("CUSTOM_TEST_LEVEL", Level.WARNING.intValue()); // Check #1. h.check(!Level.WARNING.equals(null)); // Check #2. h.check(Level.WARNING.equals(Level.WARNING)); // Check #3. h.check(!Level.WARNING.equals(Level.INFO)); // Check #4. h.check(Level.WARNING.equals(l1)); // Check #5. h.check(Level.WARNING.equals(l2)); // Check #6. h.check(l1.equals(Level.WARNING)); // Check #7. h.check(l2.equals(Level.WARNING)); } } mauve-20140821/gnu/testlet/java/util/logging/Level/toString.java0000644000175000001440000000227310057633065023302 0ustar dokousers// Tags: JDK1.4 // Uses: TestUtils // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.Level; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * @author Sascha Brawer */ public class toString implements Testlet { public void test(TestHarness h) { for (int i = 0; i < TestUtils.LEVELS.length; i++) h.check(TestUtils.LEVELS[i].toString(), TestUtils.NAMES[i]); } } mauve-20140821/gnu/testlet/java/util/logging/Level/TestUtils.java0000644000175000001440000000371710017445766023442 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.Level; import java.util.logging.Level; /** * @author Sascha Brawer */ class TestUtils { /** * All levels pre-defined by the specification of the Java Logging API, * in decreasing order of severity. */ public static final Level[] LEVELS = { Level.OFF, Level.SEVERE, Level.WARNING, Level.INFO, Level.CONFIG, Level.FINE, Level.FINER, Level.FINEST, Level.ALL }; /** * The expected result of calling getName() on each entry * in {@link #LEVELS}. */ public static final String[] NAMES = { "OFF", "SEVERE", "WARNING", "INFO", "CONFIG", "FINE", "FINER", "FINEST", "ALL" }; /** * The expected result of calling intValue() on each entry * in {@link #LEVELS}. */ public static final int[] VALUES = { Integer.MAX_VALUE, 1000, 900, 800, 700, 500, 400, 300, Integer.MIN_VALUE }; public static class CustomLevel extends Level { public CustomLevel(String name, int value) { super(name, value); } public CustomLevel(String name, int value, String bundleName) { super(name, value, bundleName); } }; } mauve-20140821/gnu/testlet/java/util/logging/Level/hashCode.java0000644000175000001440000000276210017445766023217 0ustar dokousers// Tags: JDK1.4 // Uses: TestUtils // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.Level; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.logging.Level; /** * @author Sascha Brawer */ public class hashCode implements Testlet { public void test(TestHarness h) { Level l1, l2; l1 = new TestUtils.CustomLevel("CUSTOM_TEST_LEVEL", Level.WARNING.intValue()); l2 = new TestUtils.CustomLevel("CUSTOM_TEST_LEVEL", Level.WARNING.intValue()); // Check #1. h.check(l1.hashCode(), Level.WARNING.hashCode()); // Check #2. h.check(l2.hashCode(), Level.WARNING.hashCode()); } } mauve-20140821/gnu/testlet/java/util/logging/Level/getName.java0000644000175000001440000000227110057633064023046 0ustar dokousers// Tags: JDK1.4 // Uses: TestUtils // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.logging.Level; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * @author Sascha Brawer */ public class getName implements Testlet { public void test(TestHarness h) { for (int i = 0; i < TestUtils.LEVELS.length; i++) h.check(TestUtils.LEVELS[i].getName(), TestUtils.NAMES[i]); } } mauve-20140821/gnu/testlet/java/util/Stack/0000755000175000001440000000000012375316426017176 5ustar dokousersmauve-20140821/gnu/testlet/java/util/Stack/AcuniaStackTest.java0000644000175000001440000001116410206401724023055 0ustar dokousers/* Copyright (C) 2001 ACUNIA This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.2 package gnu.testlet.java.util.Stack; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.*; /** * Written by ACUNIA.
*
* this file contains test for java.util.Stack
* */ public class AcuniaStackTest implements Testlet { protected TestHarness th; public void test (TestHarness harness) { th = harness; test_empty(); test_peek(); test_pop(); test_push(); test_search(); } /** * implemented. * */ public void test_empty(){ th.checkPoint("empty()boolean"); Stack s = new Stack(); th.check(s.empty() , "a new stack is empty"); s.push(this); th.check(!s.empty() , "this stack is not empty"); s.pop(); th.check(s.empty() , "the stack is empty now"); } /** * implemented. * */ public void test_peek(){ th.checkPoint("peek()java.lang.Object"); Stack s = new Stack(); try { s.peek(); th.fail("should throw EmptyStackException"); } catch (EmptyStackException ee){ th.check(true);} s.add("a"); s.add("b") ; s.add("c"); th.check("c".equals(s.peek()) , "top element is c, but got:"+s.peek()); s.add(null); th.check(s.peek()== null , "top element is null"); } /** * implemented. * */ public void test_pop(){ th.checkPoint("pop()java.lang.Object"); Stack s = new Stack(); try { s.pop(); th.fail("should throw EmptyStackException -- 1"); } catch (EmptyStackException ee){ th.check(true);} s.add("a"); s.add("b") ; s.add("c"); th.check("c".equals(s.pop()) , "popped element is c"); th.check(!s.contains("c") , "element should be removed -- 1"); s.add(null); th.check(s.pop()== null , "popped element is null"); th.check(!s.contains("c") , "element should be removed -- 2"); th.check("b".equals(s.pop()) , "popped element is b"); th.check(!s.contains("b") , "element should be removed -- 3"); th.check("a".equals(s.pop()) , "popped element is a"); th.check(!s.contains("a") , "element should be removed -- 4"); try { s.pop(); th.fail("should throw EmptyStackException -- 2"); } catch (EmptyStackException ee){ th.check(true);} } /** * implemented. * */ public void test_push(){ th.checkPoint("push(java.lang.Object)java.lang.Object"); Stack s = new Stack(); th.check("c".equals(s.push("c")) , "pushed element is c"); th.check(s.contains("c") , "element should be added -- 1"); th.check("b".equals(s.push("b")) , "pushed element is b"); th.check(s.contains("b") , "element should be added -- 2"); th.check("a".equals(s.push("a")) , "pushed element is a"); th.check(s.contains("a") , "element should be added -- 3"); th.check(s.push(null) == null , "null is allowed"); th.check(s.lastElement()== null ,"added on the last place"); th.check(s.toString().equals("[c, b, a, null]"), "got:"+s.toString()); } /** * implemented. * */ public void test_search(){ th.checkPoint("search(java.lang.Object)int"); Stack s = new Stack(); try { th.check(s.search("a") == -1 , "empty stack should'n cause problems -- 1"); th.check(s.search(null) == -1 , "empty stack should'n cause problems -- 2"); } catch(Exception e) { th.fail("got unwanted Exception:"+e); } s.add("a"); s.add("b"); s.add("c"); s.add("a"); s.add("a"); s.add(null); s.add(null); s.add("top"); th.check( s.search("a") == 4, "checking position -- 1" ); th.check( s.search("b") == 7, "checking position -- 2" ); th.check( s.search("c") == 6 , "checking position -- 3" ); th.check( s.search("top") == 1, "checking position -- 4" ); th.check( s.search(null) == 2, "checking position -- 5" ); th.check( s.search("ab") == -1, "checking position -- 6" ); s.pop(); s.pop(); s.pop(); th.check( s.search("a") == 1, "checking position -- 7" ); th.check( s.search(null) == -1, "checking position -- 8" ); } } mauve-20140821/gnu/testlet/java/util/ResourceBundle/0000755000175000001440000000000012375316450021047 5ustar dokousersmauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource7_en_CA.java0000644000175000001440000000243710057633063024620 0ustar dokousers// Tags: not-a-test // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.util.Enumeration; public class Resource7_en_CA extends ResourceBundle { protected Object handleGetObject(String key) throws MissingResourceException { if (key.compareTo ("class") == 0) return this.getClass().getName(); else throw new MissingResourceException ("s", "className", "key"); } public Enumeration getKeys() { return null; } } mauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource5_jp_JA.java0000644000175000001440000000243710057633063024634 0ustar dokousers// Tags: not-a-test // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.util.Enumeration; public class Resource5_jp_JA extends ResourceBundle { protected Object handleGetObject(String key) throws MissingResourceException { if (key.compareTo ("class") == 0) return this.getClass().getName(); else throw new MissingResourceException ("s", "className", "key"); } public Enumeration getKeys() { return null; } } mauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource7_jp.java0000644000175000001440000000243410057633063024261 0ustar dokousers// Tags: not-a-test // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.util.Enumeration; public class Resource7_jp extends ResourceBundle { protected Object handleGetObject(String key) throws MissingResourceException { if (key.compareTo ("class") == 0) return this.getClass().getName(); else throw new MissingResourceException ("s", "className", "key"); } public Enumeration getKeys() { return null; } } mauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource11.properties0000644000175000001440000000001610135610443025102 0ustar dokousersclass = Maude mauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource7_en.java0000644000175000001440000000243410057633063024252 0ustar dokousers// Tags: not-a-test // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.util.Enumeration; public class Resource7_en extends ResourceBundle { protected Object handleGetObject(String key) throws MissingResourceException { if (key.compareTo ("class") == 0) return this.getClass().getName(); else throw new MissingResourceException ("s", "className", "key"); } public Enumeration getKeys() { return null; } } mauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource5_en.java0000644000175000001440000000243410057633063024250 0ustar dokousers// Tags: not-a-test // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.util.Enumeration; public class Resource5_en extends ResourceBundle { protected Object handleGetObject(String key) throws MissingResourceException { if (key.compareTo ("class") == 0) return this.getClass().getName(); else throw new MissingResourceException ("s", "className", "key"); } public Enumeration getKeys() { return null; } } mauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource9_en.java0000644000175000001440000000243410057633064024255 0ustar dokousers// Tags: not-a-test // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.util.Enumeration; public class Resource9_en extends ResourceBundle { protected Object handleGetObject(String key) throws MissingResourceException { if (key.compareTo ("class") == 0) return this.getClass().getName(); else throw new MissingResourceException ("s", "className", "key"); } public Enumeration getKeys() { return null; } } mauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource1.java0000644000175000001440000000243110057633063023557 0ustar dokousers// Tags: not-a-test // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.util.Enumeration; public class Resource1 extends ResourceBundle { protected Object handleGetObject(String key) throws MissingResourceException { if (key.compareTo ("class") == 0) return this.getClass().getName(); else throw new MissingResourceException ("s", "className", "key"); } public Enumeration getKeys() { return null; } } mauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource6_jp.java0000644000175000001440000000243410057633063024260 0ustar dokousers// Tags: not-a-test // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.util.Enumeration; public class Resource6_jp extends ResourceBundle { protected Object handleGetObject(String key) throws MissingResourceException { if (key.compareTo ("class") == 0) return this.getClass().getName(); else throw new MissingResourceException ("s", "className", "key"); } public Enumeration getKeys() { return null; } } mauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource8_en.java0000644000175000001440000000243410057633063024253 0ustar dokousers// Tags: not-a-test // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.util.Enumeration; public class Resource8_en extends ResourceBundle { protected Object handleGetObject(String key) throws MissingResourceException { if (key.compareTo ("class") == 0) return this.getClass().getName(); else throw new MissingResourceException ("s", "className", "key"); } public Enumeration getKeys() { return null; } } mauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource3_bo.java0000644000175000001440000000243410057633063024244 0ustar dokousers// Tags: not-a-test // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.util.Enumeration; public class Resource3_bo extends ResourceBundle { protected Object handleGetObject(String key) throws MissingResourceException { if (key.compareTo ("class") == 0) return this.getClass().getName(); else throw new MissingResourceException ("s", "className", "key"); } public Enumeration getKeys() { return null; } } mauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource6_jp_JA.java0000644000175000001440000000243710057633063024635 0ustar dokousers// Tags: not-a-test // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.util.Enumeration; public class Resource6_jp_JA extends ResourceBundle { protected Object handleGetObject(String key) throws MissingResourceException { if (key.compareTo ("class") == 0) return this.getClass().getName(); else throw new MissingResourceException ("s", "className", "key"); } public Enumeration getKeys() { return null; } } mauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource5.java0000644000175000001440000000243110057633063023563 0ustar dokousers// Tags: not-a-test // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.util.Enumeration; public class Resource5 extends ResourceBundle { protected Object handleGetObject(String key) throws MissingResourceException { if (key.compareTo ("class") == 0) return this.getClass().getName(); else throw new MissingResourceException ("s", "className", "key"); } public Enumeration getKeys() { return null; } } mauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource9_en_CA.java0000644000175000001440000000243710057633064024623 0ustar dokousers// Tags: not-a-test // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.util.Enumeration; public class Resource9_en_CA extends ResourceBundle { protected Object handleGetObject(String key) throws MissingResourceException { if (key.compareTo ("class") == 0) return this.getClass().getName(); else throw new MissingResourceException ("s", "className", "key"); } public Enumeration getKeys() { return null; } } mauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource7.java0000644000175000001440000000243110057633063023565 0ustar dokousers// Tags: not-a-test // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.util.Enumeration; public class Resource7 extends ResourceBundle { protected Object handleGetObject(String key) throws MissingResourceException { if (key.compareTo ("class") == 0) return this.getClass().getName(); else throw new MissingResourceException ("s", "className", "key"); } public Enumeration getKeys() { return null; } } mauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource4_jp_JA_WIN.java0000644000175000001440000000244310057633063025345 0ustar dokousers// Tags: not-a-test // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.util.Enumeration; public class Resource4_jp_JA_WIN extends ResourceBundle { protected Object handleGetObject(String key) throws MissingResourceException { if (key.compareTo ("class") == 0) return this.getClass().getName(); else throw new MissingResourceException ("s", "className", "key"); } public Enumeration getKeys() { return null; } } mauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource4_en.java0000644000175000001440000000243410057633063024247 0ustar dokousers// Tags: not-a-test // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.util.Enumeration; public class Resource4_en extends ResourceBundle { protected Object handleGetObject(String key) throws MissingResourceException { if (key.compareTo ("class") == 0) return this.getClass().getName(); else throw new MissingResourceException ("s", "className", "key"); } public Enumeration getKeys() { return null; } } mauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource4_jp_JA.java0000644000175000001440000000243710057633063024633 0ustar dokousers// Tags: not-a-test // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.util.Enumeration; public class Resource4_jp_JA extends ResourceBundle { protected Object handleGetObject(String key) throws MissingResourceException { if (key.compareTo ("class") == 0) return this.getClass().getName(); else throw new MissingResourceException ("s", "className", "key"); } public Enumeration getKeys() { return null; } } mauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource4.java0000644000175000001440000000243110057633063023562 0ustar dokousers// Tags: not-a-test // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.util.Enumeration; public class Resource4 extends ResourceBundle { protected Object handleGetObject(String key) throws MissingResourceException { if (key.compareTo ("class") == 0) return this.getClass().getName(); else throw new MissingResourceException ("s", "className", "key"); } public Enumeration getKeys() { return null; } } mauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource11.java0000644000175000001440000000161110135610443023631 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 Red Hat, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; // Note: we don't extend ResourceBundle. public class Resource11 { } mauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource5_en_CA.java0000644000175000001440000000243710057633063024616 0ustar dokousers// Tags: not-a-test // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.util.Enumeration; public class Resource5_en_CA extends ResourceBundle { protected Object handleGetObject(String key) throws MissingResourceException { if (key.compareTo ("class") == 0) return this.getClass().getName(); else throw new MissingResourceException ("s", "className", "key"); } public Enumeration getKeys() { return null; } } mauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource4_jp_JA_WIN_95.java0000644000175000001440000000244610057633063025665 0ustar dokousers// Tags: not-a-test // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.util.Enumeration; public class Resource4_jp_JA_WIN_95 extends ResourceBundle { protected Object handleGetObject(String key) throws MissingResourceException { if (key.compareTo ("class") == 0) return this.getClass().getName(); else throw new MissingResourceException ("s", "className", "key"); } public Enumeration getKeys() { return null; } } mauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource6_en_CA.java0000644000175000001440000000243710057633063024617 0ustar dokousers// Tags: not-a-test // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.util.Enumeration; public class Resource6_en_CA extends ResourceBundle { protected Object handleGetObject(String key) throws MissingResourceException { if (key.compareTo ("class") == 0) return this.getClass().getName(); else throw new MissingResourceException ("s", "className", "key"); } public Enumeration getKeys() { return null; } } mauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource5_jp_JA_WIN.java0000644000175000001440000000244310057633063025346 0ustar dokousers// Tags: not-a-test // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.util.Enumeration; public class Resource5_jp_JA_WIN extends ResourceBundle { protected Object handleGetObject(String key) throws MissingResourceException { if (key.compareTo ("class") == 0) return this.getClass().getName(); else throw new MissingResourceException ("s", "className", "key"); } public Enumeration getKeys() { return null; } } mauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource10_en.java0000644000175000001440000000243510057633063024325 0ustar dokousers// Tags: not-a-test // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.util.Enumeration; public class Resource10_en extends ResourceBundle { protected Object handleGetObject(String key) throws MissingResourceException { if (key.compareTo ("class") == 0) return this.getClass().getName(); else throw new MissingResourceException ("s", "className", "key"); } public Enumeration getKeys() { return null; } } mauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource4_en_CA.java0000644000175000001440000000243710057633063024615 0ustar dokousers// Tags: not-a-test // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.util.Enumeration; public class Resource4_en_CA extends ResourceBundle { protected Object handleGetObject(String key) throws MissingResourceException { if (key.compareTo ("class") == 0) return this.getClass().getName(); else throw new MissingResourceException ("s", "className", "key"); } public Enumeration getKeys() { return null; } } mauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource4_jp.java0000644000175000001440000000243410057633063024256 0ustar dokousers// Tags: not-a-test // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.util.Enumeration; public class Resource4_jp extends ResourceBundle { protected Object handleGetObject(String key) throws MissingResourceException { if (key.compareTo ("class") == 0) return this.getClass().getName(); else throw new MissingResourceException ("s", "className", "key"); } public Enumeration getKeys() { return null; } } mauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource6_en.java0000644000175000001440000000243410057633063024251 0ustar dokousers// Tags: not-a-test // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.util.Enumeration; public class Resource6_en extends ResourceBundle { protected Object handleGetObject(String key) throws MissingResourceException { if (key.compareTo ("class") == 0) return this.getClass().getName(); else throw new MissingResourceException ("s", "className", "key"); } public Enumeration getKeys() { return null; } } mauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource6.java0000644000175000001440000000243110057633063023564 0ustar dokousers// Tags: not-a-test // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.util.Enumeration; public class Resource6 extends ResourceBundle { protected Object handleGetObject(String key) throws MissingResourceException { if (key.compareTo ("class") == 0) return this.getClass().getName(); else throw new MissingResourceException ("s", "className", "key"); } public Enumeration getKeys() { return null; } } mauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource8_en_CA.java0000644000175000001440000000243710057633063024621 0ustar dokousers// Tags: not-a-test // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.util.Enumeration; public class Resource8_en_CA extends ResourceBundle { protected Object handleGetObject(String key) throws MissingResourceException { if (key.compareTo ("class") == 0) return this.getClass().getName(); else throw new MissingResourceException ("s", "className", "key"); } public Enumeration getKeys() { return null; } } mauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource8.java0000644000175000001440000000243110057633063023566 0ustar dokousers// Tags: not-a-test // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.util.Enumeration; public class Resource8 extends ResourceBundle { protected Object handleGetObject(String key) throws MissingResourceException { if (key.compareTo ("class") == 0) return this.getClass().getName(); else throw new MissingResourceException ("s", "className", "key"); } public Enumeration getKeys() { return null; } } mauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource2_en.java0000644000175000001440000000243410057633063024245 0ustar dokousers// Tags: not-a-test // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.util.Enumeration; public class Resource2_en extends ResourceBundle { protected Object handleGetObject(String key) throws MissingResourceException { if (key.compareTo ("class") == 0) return this.getClass().getName(); else throw new MissingResourceException ("s", "className", "key"); } public Enumeration getKeys() { return null; } } mauve-20140821/gnu/testlet/java/util/ResourceBundle/Resource5_jp.java0000644000175000001440000000243410057633063024257 0ustar dokousers// Tags: not-a-test // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.util.Enumeration; public class Resource5_jp extends ResourceBundle { protected Object handleGetObject(String key) throws MissingResourceException { if (key.compareTo ("class") == 0) return this.getClass().getName(); else throw new MissingResourceException ("s", "className", "key"); } public Enumeration getKeys() { return null; } } mauve-20140821/gnu/testlet/java/util/ResourceBundle/getBundle.java0000644000175000001440000001664111256671176023641 0ustar dokousers// Tags: JDK1.1 // Uses: Resource1 Resource2_en Resource3_bo Resource4_en Resource4_en_CA Resource4 Resource4_jp Resource4_jp_JA Resource4_jp_JA_WIN Resource4_jp_JA_WIN_95 Resource5_en Resource5_en_CA Resource5 Resource5_jp Resource5_jp_JA Resource5_jp_JA_WIN Resource6_en Resource6_en_CA Resource6 Resource6_jp Resource6_jp_JA Resource7_en Resource7_en_CA Resource7 Resource7_jp Resource8_en Resource8_en_CA Resource8 Resource9_en Resource9_en_CA Resource10_en Resource11 // Copyright (C) 1998, 2004 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.ResourceBundle; import gnu.testlet.ResourceNotFoundException; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Locale; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.net.URLClassLoader; import java.net.URL; import java.net.MalformedURLException; public class getBundle implements Testlet { static private final String MISSING = "**missing**"; // Load the resource bundle BUNDLE, and return it's class name. // Return MISSING if it cannot be loaded. private String loadCheck (String bundle) { ResourceBundle rb; try { rb = ResourceBundle.getBundle (bundle); } catch (MissingResourceException ex) { return MISSING; } return rb.getString ("class"); } // Load the resource bundle BUNDLE with locale LOCALE , and return // it's class name. Return MISSING if it cannot be loaded. private String loadCheck (String bundle, Locale locale) { ResourceBundle rb; try { rb = ResourceBundle.getBundle (bundle, locale); } catch (MissingResourceException ex) { return MISSING; } return rb.getString ("class"); } private String loadCheck (String bundle, ClassLoader loader) { ResourceBundle rb; try { rb = ResourceBundle.getBundle (bundle, Locale.getDefault (), loader); } catch (MissingResourceException ex) { return MISSING; } return rb.getString ("class"); } // This is a simple helper function to save typing below. private String c (String bundle) { return ("gnu.testlet.java.util.ResourceBundle." + bundle); } public void test (TestHarness harness) { // Save the default locale, and restore it after this test. Locale defaultLocale = Locale.getDefault (); // Try loading a few resource bundles with a default locale of // Canada. Locale.setDefault (Locale.CANADA); harness.checkPoint ("with locale of Canada"); harness.check (loadCheck (c ("Resource1")), c ("Resource1")); harness.check (loadCheck (c ("Resource1"), Locale.CANADA), c ("Resource1")); harness.check (loadCheck (c ("Resource1"), Locale.JAPAN), c ("Resource1")); harness.check (loadCheck (c ("Resource2"), Locale.CANADA), c ("Resource2_en")); harness.check (loadCheck (c ("Resource2"), Locale.JAPAN), c ("Resource2_en")); harness.check (loadCheck (c ("Resource3"), Locale.JAPAN), MISSING); // Try loading a few resource bundles with a default locale of // France. Locale.setDefault (Locale.FRANCE); harness.checkPoint ("with locale of France"); harness.check (loadCheck (c ("Resource1")), c ("Resource1")); harness.check (loadCheck (c ("Resource1"), Locale.CANADA), c ("Resource1")); harness.check (loadCheck (c ("Resource1"), Locale.JAPAN), c ("Resource1")); harness.check (loadCheck (c ("Resource2"), Locale.CANADA), c ("Resource2_en")); harness.check (loadCheck (c ("Resource2"), Locale.JAPAN), MISSING); harness.check (loadCheck (c ("Resource3"), Locale.JAPAN), MISSING); // Set the locale back to Canada, and make sure resources are loaded // back in the proper order. Locale.setDefault (Locale.CANADA); // Create a test Locale Locale testLocale = new Locale("jp", "JA", "WIN"); // These are based on a sample from "The Java Class Libraries, // Second Edition", page 1437 // Note that child variant (e.g. WIN_95) seem not to be supported // anymore so these tests are disabled now. harness.checkPoint ("book sample"); harness.check (loadCheck (c ("Resource4"), testLocale), c ("Resource4_jp_JA_WIN")); harness.check (loadCheck (c ("Resource5"), testLocale), c ("Resource5_jp_JA_WIN")); harness.check (loadCheck (c ("Resource6"), testLocale), c ("Resource6_jp_JA")); harness.check (loadCheck (c ("Resource7"), testLocale), c ("Resource7_jp")); harness.check (loadCheck (c ("Resource8"), testLocale), c ("Resource8_en_CA")); harness.check (loadCheck (c ("Resource9"), testLocale), c ("Resource9_en_CA")); harness.check (loadCheck (c ("Resource10"), testLocale), c ("Resource10_en")); // Based on a bug that change the case of the variant of a Locale. // Note lower case "win". harness.checkPoint ("low case locale"); testLocale = new Locale("jp", "JA", "win"); harness.check (loadCheck (c ("Resource4"), testLocale), c ("Resource4_jp_JA")); // Null pointer checks harness.checkPoint ("null pointers"); try { ResourceBundle.getBundle (null); harness.check (false); } catch (NullPointerException ex) { harness.check (true); } try { // The cast avoids ambiguity with JDK 1.6. ResourceBundle.getBundle (c ("Resource1"), (Locale) null); harness.check (false); } catch (NullPointerException ex) { harness.check (true); } try { // The cast avoids ambiguity with JDK 1.6. ResourceBundle.getBundle ("no such resource", (Locale) null); harness.check (false); } catch (NullPointerException ex) { harness.check (true); } try { ResourceBundle.getBundle (null, Locale.JAPAN); harness.check (false); } catch (NullPointerException ex) { harness.check (true); } // Restore the default locale. Locale.setDefault (defaultLocale); // Try loading a bundle where we have a class that doesn't // extend ResourceBundle, but we do have a backup properties // file. This may seem strange, but actual applications // (Eclipse) rely on this behavior. harness.checkPoint("shadowing class"); try { URL u = harness.getResourceFile ("").toURL (); URLClassLoader loader = new URLClassLoader(new URL[] { u }, getBundle.class.getClassLoader()); harness.check (loadCheck (c ("Resource11"), loader), "Maude"); } catch (MalformedURLException _) { harness.check(false); } catch (ResourceNotFoundException _) { harness.check(false); } } } mauve-20140821/gnu/testlet/java/util/HashMap/0000755000175000001440000000000012375316426017452 5ustar dokousersmauve-20140821/gnu/testlet/java/util/HashMap/AcuniaHashMapTest.java0000644000175000001440000004425410425504467023626 0ustar dokousers/* Copyright (C) 2001 ACUNIA This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.2 package gnu.testlet.java.util.HashMap; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.*; import java.lang.reflect.*; /** * Written by ACUNIA.
*
* this file contains test for java.util.HashMap
* */ public class AcuniaHashMapTest implements Testlet { protected TestHarness th; public void test (TestHarness harness) { th = harness; test_HashMap(); test_get(); test_containsKey(); test_containsValue(); test_isEmpty(); test_size(); test_clear(); test_put(); test_putAll(); test_remove(); test_entrySet(); test_keySet(); test_values(); test_clone(); test_behaviour(); } protected HashMap buildHM() { HashMap hm = new HashMap(); String s; for (int i=0 ; i < 15 ; i++) { s = "a"+i; hm.put(s , s+" value"); } hm.put(null,null); return hm; } /** * implemented.
* */ public void test_HashMap(){ Field lf = null; try { lf = HashMap.class.getDeclaredField("loadFactor"); // th.debug("DEBUG -- found loadFactor"); lf.setAccessible(true); } catch(Exception e){} HashMap hm; th.checkPoint("HashMap()"); hm = new HashMap(); try { th.check(lf.getFloat(hm), 0.75f); } catch (Exception e) { th.fail("no exception wanted !!!, got "+e); } th.checkPoint("HashMap(java.util.Map)"); HashMap hm1 = buildHM(); hm = new HashMap(hm1); try { th.check(lf.getFloat(hm), 0.75f); } catch (Exception e) { th.fail("no exception wanted !!!, got "+e); } th.check(hm.size() == 16 , "all elements are put, got "+hm.size()); th.check(hm.get(null) == null , "test key and value pairs -- 1"); th.check("a1 value".equals(hm.get("a1")) , "test key and value pairs -- 2"); th.check("a10 value".equals(hm.get("a10")) , "test key and value pairs -- 3"); th.check("a0 value".equals(hm.get("a0")) , "test key and value pairs -- 4"); hm = new HashMap(new Hashtable()); th.check(hm.size() == 0 , "no elements are put, got "+hm.size()); try { new HashMap(null); th.fail("should throw a NullPointerException"); } catch(NullPointerException ne) {th.check(true);} th.checkPoint("HashMap(int)"); hm = new HashMap(1); try { th.check(lf.getFloat(hm), 0.75f); } catch (Exception e) { th.fail("no exception wanted !!!, got "+e); } try { new HashMap(-1); th.fail("should throw an IllegalArgumentException"); } catch(IllegalArgumentException iae) { th.check(true); } th.checkPoint("HashMap(int,int)"); hm = new HashMap(10,0.5f); try { th.check(lf.getFloat(hm), 0.5f); } catch (Exception e) { th.fail("no exception wanted !!!, got "+e); } hm = new HashMap(10,1.5f); try { th.check(lf.getFloat(hm), 1.5f); } catch (Exception e) { th.fail("no exception wanted !!!, got "+e); } try {new HashMap(-1,0.1f); th.fail("should throw an IllegalArgumentException -- 1"); } catch(IllegalArgumentException iae) { th.check(true); } try { new HashMap(1,-0.1f); th.fail("should throw an IllegalArgumentException -- 2"); } catch(IllegalArgumentException iae) { th.check(true); } try { new HashMap(1,0.0f); th.fail("should throw an IllegalArgumentException -- 2"); } catch(IllegalArgumentException iae) { th.check(true); } } /** * implemented.
* */ public void test_get(){ th.checkPoint("get(java.lang.Object)java.lang.Object"); HashMap hm = buildHM(); th.check(hm.get(null) == null , "checking get -- 1"); th.check(hm.get(this) == null , "checking get -- 2"); hm.put("a" ,this); th.check("a1 value".equals(hm.get("a1")), "checking get -- 3"); th.check("a11 value".equals(hm.get("a11")), "checking get -- 4"); th.check( hm.get(new Integer(97)) == null , "checking get -- 5"); } /** * implemented.
* */ public void test_containsKey(){ th.checkPoint("containsKey(java.lang.Object)boolean"); HashMap hm = new HashMap(); hm.clear(); th.check(! hm.containsKey(null) ,"Map is empty"); hm.put("a" ,this); th.check(! hm.containsKey(null) ,"Map does not containsthe key -- 1"); th.check( hm.containsKey("a") ,"Map does contain the key -- 2"); hm = buildHM(); th.check( hm.containsKey(null) ,"Map does contain the key -- 3"); th.check(! hm.containsKey(this) ,"Map does not contain the key -- 4"); } /** * implemented.
* */ public void test_containsValue(){ th.checkPoint("containsValue(java.lang.Object)boolean"); HashMap hm = new HashMap(); hm.clear(); th.check(! hm.containsValue(null) ,"Map is empty"); hm.put("a" ,this); th.check(! hm.containsValue(null) ,"Map does not containsthe value -- 1"); th.check(! hm.containsValue("a") ,"Map does not contain the value -- 2"); th.check( hm.containsValue(this) ,"Map does contain the value -- 3"); hm = buildHM(); th.check( hm.containsValue(null) ,"Map does contain the value -- 4"); th.check(! hm.containsValue(this) ,"Map does not contain the value -- 5"); th.check(! hm.containsValue("a1value") ,"Map does not contain the value -- 6"); } /** * implemented.
* */ public void test_isEmpty(){ th.checkPoint("isEmpty()boolean"); HashMap hm = new HashMap(); th.check( hm.isEmpty() ,"Map is empty"); hm.put("a" ,this); th.check(! hm.isEmpty() ,"Map is not empty"); } /** * implemented.
* */ public void test_size(){ th.checkPoint("size()int"); HashMap hm = new HashMap(); th.check(hm.size() == 0 ,"Map is empty"); hm.put("a" ,this); th.check(hm.size() == 1 ,"Map has 1 element"); hm = buildHM(); th.check(hm.size() == 16 ,"Map has 16 elements"); } /** * implemented.
* */ public void test_clear(){ th.checkPoint("clear()void"); HashMap hm = buildHM(); hm.clear(); th.check(hm.size() == 0 ,"Map is cleared -- 1"); th.check(hm.isEmpty() ,"Map is cleared -- 2"); } /** * implemented.
* is tested also in the other parts ... */ public void test_put(){ th.checkPoint("put(java.lang.Object,java.lang.Object)java.lang.Object"); HashMap hm = new HashMap(); th.check( hm.put(null , this ) == null , "check on return value -- 1"); th.check( hm.get(null) == this , "check on value -- 1"); th.check( hm.put(null , "a" ) == this , "check on return value -- 2"); th.check( "a".equals(hm.get(null)) , "check on value -- 2"); th.check( "a".equals(hm.put(null , "a" )), "check on return value -- 3"); th.check( "a".equals(hm.get(null)) , "check on value -- 3"); th.check( hm.size() == 1 , "only one key added"); th.check( hm.put("a" , null ) == null , "check on return value -- 4"); th.check( hm.get("a") == null , "check on value -- 4"); th.check( hm.put("a" , this ) == null , "check on return value -- 5"); th.check( hm.get("a") == this , "check on value -- 5"); th.check( hm.size() == 2 , "two keys added"); } /** * implemented.
* */ public void test_putAll(){ th.checkPoint("putAll(java.util.Map)void"); HashMap hm = new HashMap(); hm.putAll(new Hashtable()); th.check(hm.isEmpty() , "nothing addad"); hm.putAll(buildHM()); th.check(hm.size() == 16 , "checking if all enough elements are added -- 1"); th.check(hm.equals(buildHM()) , "check on all elements -- 1"); hm.put(null ,this); hm.putAll(buildHM()); th.check(hm.size() == 16 , "checking if all enough elements are added -- 2"); th.check(hm.equals(buildHM()) , "check on all elements -- 2"); try { hm.putAll(null); th.fail("should throw a NullPointerException"); } catch(NullPointerException npe) { th.check(true); } } /** * implemented.
* */ public void test_remove(){ th.checkPoint("remove(java.lang.Object)java.lang.Object"); HashMap hm = buildHM(); th.check(hm.remove(null) == null , "checking return value -- 1"); th.check(hm.remove(null) == null , "checking return value -- 2"); th.check(!hm.containsKey(null) , "checking removed key -- 1"); th.check(!hm.containsValue(null) , "checking removed value -- 1"); for (int i = 0 ; i < 15 ; i++) { th.check( ("a"+i+" value").equals(hm.remove("a"+i)), " removing a"+i); } th.check(hm.isEmpty() , "checking if al is gone"); } /** * implemented.
* uses AbstractSet --> check only the overwritten methods ... ! * iterator and size * fail-fast iterator ! * add not supported ! * check the Map.Entry Objects ... */ public void test_entrySet(){ th.checkPoint("entrySet()java.util.Set"); HashMap hm = buildHM(); Set s = hm.entrySet(); Iterator it= s.iterator(); Map.Entry me=null; it.next(); try { s.add("ADDING"); th.fail("add should throw an UnsupportedOperationException"); } catch (UnsupportedOperationException uoe) { th.check(true); } th.check( s.size() == 16 ); hm.remove("a12"); th.check( s.size() == 15 ); try { th.check(it.hasNext()); th.check(true); } catch(ConcurrentModificationException cme) { th.fail("it.hasNext should not throw ConcurrentModificationException"); } try { it.next(); th.fail("should throw a ConcurrentModificationException -- 1"); } catch(ConcurrentModificationException cme){ th.check(true); } try { it.remove(); th.fail("should throw a ConcurrentModificationException -- 2"); } catch(ConcurrentModificationException cme){ th.check(true); } // th.debug(hm.debug()); it= s.iterator(); try { me = (Map.Entry)it.next(); // Thread.sleep(600L); if (me.getKey()==null) me = (Map.Entry)it.next(); th.check( me.hashCode() , (me.getValue().hashCode() ^ me.getKey().hashCode()),"verifying hashCode"); th.check(! me.equals(it.next())); } catch(Exception e) { th.fail("got unwanted exception ,got "+e); th.debug("got ME key = "+me+" and value = "+me.getKey());} try { // th.debug("got ME key = "+me.getKey()+" and value = "+me.getValue()); me.setValue("alpha"); th.check(hm.get(me.getKey()), "alpha", "setValue through iterator of entrySet"); } catch(UnsupportedOperationException uoe) { th.fail("setValue should be supported");} it= s.iterator(); Vector v = new Vector(); Object ob; v.addAll(s); while (it.hasNext()) { ob = it.next(); it.remove(); if (!v.remove(ob)) th.debug("Object "+ob+" not in the Vector"); } th.check( v.isEmpty() , "all elements gone from the vector"); // for (int k=0 ; k < v.size() ; k++ ) { th.debug("got "+v.get(k)+" as element "+k); } th.check( hm.isEmpty() , "all elements removed from the HashMap"); it= s.iterator(); hm.put(null,"sdf"); try { it.next(); th.fail("should throw a ConcurrentModificationException -- 3"); } catch(ConcurrentModificationException cme){ th.check(true); } it= s.iterator(); hm.clear(); try { it.next(); th.fail("should throw a ConcurrentModificationException -- 4"); } catch(ConcurrentModificationException cme){ th.check(true); } } /** * implemented.
* uses AbstractSet --> check only the overwritten methods ... ! * iterator and size * fail-fast iterator ! * add not supported ! */ public void test_keySet(){ th.checkPoint("keySet()java.util.Set"); HashMap hm = buildHM(); th.check( hm.size() == 16 , "checking map size(), got "+hm.size()); Set s=null; Object [] o; Iterator it; try { s = hm.keySet(); th.check( s != null ,"s != null"); th.check(s.size() == 16 ,"checking size keyset, got "+s.size()); o = s.toArray(); th.check( o != null ,"o != null"); th.check( o.length == 16 ,"checking length, got "+o.length); // for (int i = 0 ; i < o.length ; i++ ){ th.debug("element "+i+" is "+o[i]); } it = s.iterator(); Vector v = new Vector(); Object ob; v.addAll(s); while ( it.hasNext() ) { ob = it.next(); it.remove(); if (!v.remove(ob)) th.debug("Object "+ob+" not in the Vector"); } th.check( v.isEmpty() , "all elements gone from the vector"); th.check( hm.isEmpty() , "all elements removed from the HashMap"); } catch (Exception e) { th.fail("got bad Exception -- got "+e); } try { s.add("ADDING"); th.fail("add should throw an UnsupportedOperationException"); } catch (UnsupportedOperationException uoe) { th.check(true); } } /** * implemented.
* uses AbstractCollection --> check only the overwritten methods ... ! * iterator and size * fail-fast iterator ! * add not supported ! */ public void test_values(){ th.checkPoint("values()java.util.Collection"); HashMap hm = buildHM(); th.check( hm.size() == 16 , "checking map size(), got "+hm.size()); Collection s=null; Object [] o; Iterator it; try { s = hm.values(); th.check( s != null ,"s != null"); th.check(s.size() == 16 ,"checking size keyset, got "+s.size()); o = s.toArray(); th.check( o != null ,"o != null"); th.check( o.length == 16 ,"checking length, got "+o.length); // for (int i = 0 ; i < o.length ; i++ ){ th.debug("element "+i+" is "+o[i]); } it = s.iterator(); Vector v = new Vector(); Object ob; v.addAll(s); while ( it.hasNext() ) { ob = it.next(); it.remove(); if (!v.remove(ob)) th.debug("Object "+ob+" not in the Vector"); } th.check( v.isEmpty() , "all elements gone from the vector"); th.check( hm.isEmpty() , "all elements removed from the HashMap"); } catch (Exception e) { th.fail("got bad Exception -- got "+e); } try { s.add("ADDING"); th.fail("add should throw an UnsupportedOperationException"); } catch (UnsupportedOperationException uoe) { th.check(true); } } /** * implemented.
* */ public void test_clone(){ th.checkPoint("clone()java.lang.Object"); HashMap hm = buildHM(); Object o = hm.clone(); th.check( o != hm , "clone is not the same object"); th.check( hm.equals(o) , "clone is equal to Map"); hm.put("a","b"); th.check(! hm.equals(o) , "clone doesn't change if Map changes"); } /** * the goal of this test is to see how the hashtable behaves if we do a lot put's and removes.
* we perform this test for different loadFactors and a low initialsize
* we try to make it difficult for the table by using objects with same hashcode */ private final String st ="a"; private final Byte b =new Byte((byte)97); private final Short sh=new Short((short)97); private final Integer i = new Integer(97); private final Long l = new Long(97L); private int sqnce = 1; public void test_behaviour(){ th.checkPoint("behaviour testing"); // do_behaviourtest(0.2f); do_behaviourtest(0.70f); do_behaviourtest(0.75f); do_behaviourtest(0.95f); do_behaviourtest(1.0f); } protected void sleep(int time){ try { Thread.sleep(time); } catch (Exception e) {} } protected void check_presence(HashMap h){ th.check( h.get(st) != null, "checking presence st -- sequence "+sqnce); th.check( h.get(sh) != null, "checking presence sh -- sequence "+sqnce); th.check( h.get(i) != null, "checking presence i -- sequence "+sqnce); th.check( h.get(b) != null, "checking presence b -- sequence "+sqnce); th.check( h.get(l) != null, "checking presence l -- sequence "+sqnce); sqnce++; } protected void do_behaviourtest(float loadFactor) { th.checkPoint("behaviour testing with loadFactor "+loadFactor); HashMap h = new HashMap(11 , loadFactor); int j=0; Float f; h.put(st,"a"); h.put(b,"byte"); h.put(sh,"short"); h.put(i,"int"); h.put(l,"long"); check_presence(h); sqnce = 1; for ( ; j < 100 ; j++ ) { f = new Float((float)j); h.put(f,f); // sleep(5); } th.check(h.size() == 105,"size checking -- 1 got: "+h.size()); check_presence(h); // sleep(500); for ( ; j < 200 ; j++ ) { f = new Float((float)j); h.put(f,f); // sleep(10); } th.check(h.size() == 205,"size checking -- 2 got: "+h.size()); check_presence(h); // sleep(50); for ( ; j < 300 ; j++ ) { f = new Float((float)j); h.put(f,f); // sleep(10); } th.check(h.size() == 305,"size checking -- 3 got: "+h.size()); check_presence(h); // sleep(50); // replacing values -- checking if we get a non-zero value th.check("a".equals(h.put(st,"na")), "replacing values -- 1 - st"); th.check("byte".equals(h.put(b,"nbyte")), "replacing values -- 2 - b"); th.check("short".equals(h.put(sh,"nshort")), "replacing values -- 3 -sh"); th.check("int".equals(h.put(i,"nint")) , "replacing values -- 4 -i"); th.check("long".equals(h.put(l,"nlong")), "replacing values -- 5 -l"); for ( ; j > 199 ; j-- ) { f = new Float((float)j); h.remove(f); // sleep(10); } // sleep(150); th.check(h.size() == 205,"size checking -- 4 got: "+h.size()); check_presence(h); for ( ; j > 99 ; j-- ) { f = new Float((float)j); h.remove(f); // sleep(5); } th.check(h.size() == 105,"size checking -- 5 got: "+h.size()); check_presence(h); // sleep(1500); for ( ; j > -1 ; j-- ) { f = new Float((float)j); h.remove(f); // sleep(5); } th.check(h.size() == 5 ,"size checking -- 6 got: "+h.size()); th.debug(h.toString()); check_presence(h); // sleep(500); } } mauve-20140821/gnu/testlet/java/util/LinkedHashMap/0000755000175000001440000000000012375316426020601 5ustar dokousersmauve-20140821/gnu/testlet/java/util/LinkedHashMap/LinkedHashMapTest.java0000644000175000001440000004674110425504467024766 0ustar dokousers/* Copyright (C) 2002 Eric Blake This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.4 package gnu.testlet.java.util.LinkedHashMap; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.*; import java.io.*; /** * Written by Eric Blake. This file contains tests for LinkedHashMap. *
*/ public class LinkedHashMapTest implements Testlet { TestHarness th; public void test(TestHarness harness) { th = harness; th.checkPoint("hierarchy"); Object lhm = new LinkedHashMap(); th.check(lhm instanceof AbstractMap); th.check(lhm instanceof HashMap); th.check(lhm instanceof Cloneable); th.check(lhm instanceof Map); th.check(lhm instanceof Serializable); test_LinkedHashMap(); test_get(); test_containsKey(); test_containsValue(); test_isEmpty(); test_size(); test_clear(); test_put(); test_putAll(); test_remove(); test_entrySet(); test_keySet(); test_values(); test_clone(); test_behaviour(); test_removeEldestEntry(); test_accessOrder(); } LinkedHashMap buildLHM() { LinkedHashMap lhm = new LinkedHashMap(); String s; for (int i = 0; i < 15; i++) { s = "a" + i; lhm.put(s, s + " value"); } lhm.put(null, null); return lhm; } void test_LinkedHashMap() { th.checkPoint("LinkedHashMap(java.util.Map)"); LinkedHashMap lhm1 = buildLHM(); LinkedHashMap lhm = new LinkedHashMap(lhm1); th.check(lhm.size() == 16 , "all elements are put, got " + lhm.size()); th.check(lhm.get(null) == null , "test key and value pairs -- 1"); th.check("a1 value".equals(lhm.get("a1")), "test key and value pairs -- 2"); th.check("a10 value".equals(lhm.get("a10")), "test key and value pairs -- 3"); th.check("a0 value".equals(lhm.get("a0")), "test key and value pairs -- 4"); lhm = new LinkedHashMap(new Hashtable()); th.check(lhm.size() == 0 , "no elements are put, got " + lhm.size()); try { new LinkedHashMap(null); th.fail("should throw a NullPointerException"); } catch(NullPointerException ne) {th.check(true);} th.checkPoint("LinkedHashMap(int)"); new LinkedHashMap(1); new LinkedHashMap(0); try { new HashMap(-1); th.fail("should throw an IllegalArgumentException"); } catch(IllegalArgumentException iae) { th.check(true); } th.checkPoint("HashMap(int,int)"); new LinkedHashMap(10, 0.5f); new LinkedHashMap(10, 1.5f); try {new LinkedHashMap(-1, 0.1f); th.fail("should throw an IllegalArgumentException -- 1"); } catch(IllegalArgumentException iae) { th.check(true); } try { new LinkedHashMap(1,-0.1f); th.fail("should throw an IllegalArgumentException -- 2"); } catch(IllegalArgumentException iae) { th.check(true); } try { new LinkedHashMap(1,0.0f); th.fail("should throw an IllegalArgumentException -- 3"); } catch(IllegalArgumentException iae) { th.check(true); } try { new LinkedHashMap(1,Float.NaN); th.fail("should throw an IllegalArgumentException -- 4"); } catch(IllegalArgumentException iae) { th.check(true); } } void test_get(){ th.checkPoint("get(java.lang.Object)java.lang.Object"); LinkedHashMap hm = buildLHM(); th.check(hm.get(null) == null , "checking get -- 1"); th.check(hm.get(this) == null , "checking get -- 2"); hm.put("a" ,this); th.check("a1 value".equals(hm.get("a1")), "checking get -- 3"); th.check("a11 value".equals(hm.get("a11")), "checking get -- 4"); th.check( hm.get(new Integer(97)) == null , "checking get -- 5"); } void test_containsKey(){ th.checkPoint("containsKey(java.lang.Object)boolean"); LinkedHashMap hm = new LinkedHashMap(); hm.clear(); th.check(! hm.containsKey(null) ,"Map is empty"); hm.put("a" ,this); th.check(! hm.containsKey(null) ,"Map does not containsthe key -- 1"); th.check( hm.containsKey("a") ,"Map does contain the key -- 2"); hm = buildLHM(); th.check( hm.containsKey(null) ,"Map does contain the key -- 3"); th.check(! hm.containsKey(this) ,"Map does not contain the key -- 4"); } void test_containsValue(){ th.checkPoint("containsValue(java.lang.Object)boolean"); LinkedHashMap hm = new LinkedHashMap(); hm.clear(); th.check(! hm.containsValue(null) ,"Map is empty"); hm.put("a" ,this); th.check(! hm.containsValue(null) ,"Map does not containsthe value -- 1"); th.check(! hm.containsValue("a") ,"Map does not contain the value -- 2"); th.check( hm.containsValue(this) ,"Map does contain the value -- 3"); hm = buildLHM(); th.check( hm.containsValue(null) ,"Map does contain the value -- 4"); th.check(! hm.containsValue(this) ,"Map does not contain the value -- 5"); th.check(! hm.containsValue("a1value") ,"Map does not contain the value -- 6"); } void test_isEmpty(){ th.checkPoint("isEmpty()boolean"); LinkedHashMap hm = new LinkedHashMap(2000); th.check( hm.isEmpty() ,"Map is empty"); hm.put("a" ,this); th.check(! hm.isEmpty() ,"Map is not empty"); } void test_size(){ th.checkPoint("size()int"); LinkedHashMap hm = new LinkedHashMap(); th.check(hm.size() == 0 ,"Map is empty"); hm.put("a" ,this); th.check(hm.size() == 1 ,"Map has 1 element"); hm = buildLHM(); th.check(hm.size() == 16 ,"Map has 16 elements"); } void test_clear(){ th.checkPoint("clear()void"); LinkedHashMap hm = buildLHM(); hm.clear(); th.check(hm.size() == 0 ,"Map is cleared -- 1"); th.check(hm.isEmpty() ,"Map is cleared -- 2"); } void test_put(){ th.checkPoint("put(java.lang.Object,java.lang.Object)java.lang.Object"); LinkedHashMap hm = new LinkedHashMap(); th.check( hm.put(null , this ) == null , "check on return value -- 1"); th.check( hm.get(null) == this , "check on value -- 1"); th.check( hm.put(null , "a" ) == this , "check on return value -- 2"); th.check( "a".equals(hm.get(null)) , "check on value -- 2"); th.check( "a".equals(hm.put(null , "a" )), "check on return value -- 3"); th.check( "a".equals(hm.get(null)) , "check on value -- 3"); th.check( hm.size() == 1 , "only one key added"); th.check( hm.put("a" , null ) == null , "check on return value -- 4"); th.check( hm.get("a") == null , "check on value -- 4"); th.check( hm.put("a" , this ) == null , "check on return value -- 5"); th.check( hm.get("a") == this , "check on value -- 5"); th.check( hm.size() == 2 , "two keys added"); } void test_putAll(){ th.checkPoint("putAll(java.util.Map)void"); LinkedHashMap hm = new LinkedHashMap(); hm.putAll(new Hashtable()); th.check(hm.isEmpty() , "nothing addad"); hm.putAll(buildLHM()); th.check(hm.size() == 16 , "checking if all enough elements are added -- 1"); th.check(hm.equals(buildLHM()) , "check on all elements -- 1"); hm.put(null ,this); hm.putAll(buildLHM()); th.check(hm.size() == 16 , "checking if all enough elements are added -- 2"); th.check(hm.equals(buildLHM()) , "check on all elements -- 2"); try { hm.putAll(null); th.fail("should throw a NullPointerException"); } catch(NullPointerException npe) { th.check(true); } } void test_remove(){ th.checkPoint("remove(java.lang.Object)java.lang.Object"); LinkedHashMap hm = buildLHM(); th.check(hm.remove(null) == null , "checking return value -- 1"); th.check(hm.remove(null) == null , "checking return value -- 2"); th.check(!hm.containsKey(null) , "checking removed key -- 1"); th.check(!hm.containsValue(null) , "checking removed value -- 1"); for (int i = 0 ; i < 15 ; i++) { th.check( ("a"+i+" value").equals(hm.remove("a"+i)), " removing a"+i); } th.check(hm.isEmpty() , "checking if al is gone"); } void test_entrySet(){ th.checkPoint("entrySet()java.util.Set"); LinkedHashMap hm = buildLHM(); Set s = hm.entrySet(); Iterator it= s.iterator(); Map.Entry me= (Map.Entry) it.next(); try { s.add("ADDING"); th.fail("add should throw an UnsupportedOperationException"); } catch (UnsupportedOperationException uoe) { th.check(true); } th.check("a0".equals(me.getKey())); th.check("a0 value".equals(me.getValue())); th.check( s.size() == 16 ); hm.remove("a12"); th.check( s.size() == 15 ); th.check( hm.size() == 15 ); try { th.check(it.hasNext()); th.check(true); } catch(ConcurrentModificationException cme) { th.fail("it.hasNext should not throw ConcurrentModificationException"); } try { it.next(); th.fail("should throw a ConcurrentModificationException -- 1"); } catch(ConcurrentModificationException cme){ th.check(true); } try { it.remove(); th.fail("should throw a ConcurrentModificationException -- 2"); } catch(ConcurrentModificationException cme){ th.check(true); } it= s.iterator(); try { me = (Map.Entry)it.next(); th.check("a0".equals(me.getKey())); th.check( me.hashCode() , "a0".hashCode() ^ "a0 value".hashCode(), "verifying hashCode"); th.check(! me.equals(it.next())); th.check(me.equals(Collections.singletonMap("a0", "a0 value").entrySet().iterator().next())); } catch(Exception e) { th.fail("got unwanted exception ,got "+e); th.debug("got ME key = "+me+" and value = "+me.getKey());} try { me.setValue("alpha"); th.check(hm.get(me.getKey()), "alpha", "setValue through iterator of entrySet"); } catch(UnsupportedOperationException uoe) { th.fail("setValue should be supported");} it= s.iterator(); Vector v = new Vector(); Object ob; v.addAll(s); while (it.hasNext()) { ob = it.next(); it.remove(); if (!v.remove(ob)) th.debug("Object "+ob+" not in the Vector"); } th.check( v.isEmpty() , "all elements gone from the vector"); th.check( hm.isEmpty() , "all elements removed from the HashMap"); it= s.iterator(); hm.put(null,"sdf"); try { it.next(); th.fail("should throw a ConcurrentModificationException -- 3"); } catch(ConcurrentModificationException cme){ th.check(true); } it= s.iterator(); hm.clear(); try { it.next(); th.fail("should throw a ConcurrentModificationException -- 4"); } catch(ConcurrentModificationException cme){ th.check(true); } } void test_keySet(){ th.checkPoint("keySet()java.util.Set"); LinkedHashMap hm = buildLHM(); th.check( hm.size() == 16 , "checking map size(), got "+hm.size()); Set s=null; Object [] o; Iterator it; try { s = hm.keySet(); th.check( s != null ,"s != null"); th.check(s.size() == 16 ,"checking size keyset, got "+s.size()); o = s.toArray(); th.check( o != null ,"o != null"); th.check( o.length == 16 ,"checking length, got "+o.length); th.check("a14".equals(o[14])); it = s.iterator(); Vector v = new Vector(); Object ob; v.addAll(s); while ( it.hasNext() ) { ob = it.next(); it.remove(); if (!v.remove(ob)) th.debug("Object "+ob+" not in the Vector"); } th.check( v.isEmpty() , "all elements gone from the vector"); th.check( hm.isEmpty() , "all elements removed from the HashMap"); } catch (Exception e) { th.fail("got bad Exception -- got "+e); } try { s.add("ADDING"); th.fail("add should throw an UnsupportedOperationException"); } catch (UnsupportedOperationException uoe) { th.check(true); } } void test_values(){ th.checkPoint("values()java.util.Collection"); LinkedHashMap hm = buildLHM(); th.check( hm.size() == 16 , "checking map size(), got "+hm.size()); Collection s=null; Object [] o; Iterator it; try { s = hm.values(); th.check( s != null ,"s != null"); th.check(s.size() == 16 ,"checking size keyset, got "+s.size()); o = s.toArray(); th.check( o != null ,"o != null"); th.check( o.length == 16 ,"checking length, got "+o.length); th.check("a13 value".equals(o[13])); it = s.iterator(); Vector v = new Vector(); Object ob; v.addAll(s); while ( it.hasNext() ) { ob = it.next(); it.remove(); if (!v.remove(ob)) th.debug("Object "+ob+" not in the Vector"); } th.check( v.isEmpty() , "all elements gone from the vector"); th.check( hm.isEmpty() , "all elements removed from the HashMap"); } catch (Exception e) { th.fail("got bad Exception -- got "+e); } try { s.add("ADDING"); th.fail("add should throw an UnsupportedOperationException"); } catch (UnsupportedOperationException uoe) { th.check(true); } } void test_clone(){ th.checkPoint("clone()java.lang.Object"); class SingleMap extends LinkedHashMap { int insertions; protected boolean removeEldestEntry(Map.Entry e) { return insertions > 1; } public Object put(Object k, Object v) { ++insertions; return super.put(k, v); } } LinkedHashMap hm = new SingleMap(); hm.put("a", th); SingleMap o = (SingleMap) hm.clone(); th.check( o != hm , "clone is not the same object"); th.check(o.get("a") == th, "keys and values are shared with the clone"); th.check( hm.equals(o) , "clone is equal to Map"); th.check(o.insertions == 1, "cloning did not call put()"); hm.put("a","b"); th.check(! hm.equals(o) , "clone doesn't change if Map changes"); } /** * the goal of this test is to see how the hashtable behaves if we do a lot put's and removes.
* we perform this test for different loadFactors and a low initialsize
* we try to make it difficult for the table by using objects with same hashcode */ private final String st ="a"; private final Byte b =new Byte((byte)97); private final Short sh=new Short((short)97); private final Integer i = new Integer(97); private final Long l = new Long(97L); private int sqnce = 1; public void test_behaviour(){ th.checkPoint("behaviour testing"); do_behaviourtest(0.2f); do_behaviourtest(0.70f); do_behaviourtest(0.75f); do_behaviourtest(0.95f); do_behaviourtest(1.0f); } protected void check_presence(HashMap h){ th.check( h.get(st) != null, "checking presence st -- sequence "+sqnce); th.check( h.get(sh) != null, "checking presence sh -- sequence "+sqnce); th.check( h.get(i) != null, "checking presence i -- sequence "+sqnce); th.check( h.get(b) != null, "checking presence b -- sequence "+sqnce); th.check( h.get(l) != null, "checking presence l -- sequence "+sqnce); sqnce++; } protected void do_behaviourtest(float loadFactor) { th.checkPoint("behaviour testing with loadFactor "+loadFactor); LinkedHashMap h = new LinkedHashMap(11 , loadFactor); int j=0; Float f; h.put(st,"a"); h.put(b,"byte"); h.put(sh,"short"); h.put(i,"int"); h.put(l,"long"); check_presence(h); sqnce = 1; for ( ; j < 100 ; j++ ) { f = new Float((float)j); h.put(f,f); } th.check(h.size() == 105,"size checking -- 1 got: "+h.size()); check_presence(h); for ( ; j < 200 ; j++ ) { f = new Float((float)j); h.put(f,f); } th.check(h.size() == 205,"size checking -- 2 got: "+h.size()); check_presence(h); for ( ; j < 300 ; j++ ) { f = new Float((float)j); h.put(f,f); } th.check(h.size() == 305,"size checking -- 3 got: "+h.size()); check_presence(h); th.check("a".equals(h.put(st,"na")), "replacing values -- 1 - st"); th.check("byte".equals(h.put(b,"nbyte")), "replacing values -- 2 - b"); th.check("short".equals(h.put(sh,"nshort")), "replacing values -- 3 -sh"); th.check("int".equals(h.put(i,"nint")) , "replacing values -- 4 -i"); th.check("long".equals(h.put(l,"nlong")), "replacing values -- 5 -l"); for ( ; j > 199 ; j-- ) { f = new Float((float)j); h.remove(f); } th.check(h.size() == 205,"size checking -- 4 got: "+h.size()); check_presence(h); for ( ; j > 99 ; j-- ) { f = new Float((float)j); h.remove(f); } th.check(h.size() == 105,"size checking -- 5 got: "+h.size()); check_presence(h); for ( ; j > -1 ; j-- ) { f = new Float((float)j); h.remove(f); } th.check(h.size() == 5 ,"size checking -- 6 got: "+h.size()); th.debug(h.toString()); check_presence(h); } void test_removeEldestEntry() { class LimitSize extends LinkedHashMap { int size; Map.Entry removed; LimitSize(int s) { size = s; } protected boolean removeEldestEntry(Map.Entry e) { removed = e; return size() > size; } } LimitSize hm = new LimitSize(0); hm.put("a", "1"); th.check(hm.size() == 0, "size limited to 0"); th.check(hm.removed.getKey() == "a"); th.check(hm.removed.getValue() == "1"); hm = new LimitSize(1); hm.put("a", "1"); hm.put("b", "2"); th.check(hm.size() == 1, "size limited to 1"); th.check("2".equals(hm.get("b"))); class ChangeMap extends LinkedHashMap { ChangeMap() { super(10, 1, true); } ChangeMap c; protected boolean removeEldestEntry(Map.Entry e) { if (c != null) { th.check(c.size() == 1); th.check(c.containsKey(null)); th.check(c.containsValue(null)); ChangeMap cm = c; c = null; cm.clear(); cm.put("a", "1"); th.check(cm.get("a").equals("1")); } else th.check(e.getKey() != null); return false; } } ChangeMap cm = new ChangeMap(); cm.c = cm; cm.put(null, null); th.check(cm.get("a").equals("1"), "map modified during removeEldestEntry"); } void test_accessOrder() { LinkedHashMap hm = new LinkedHashMap(10, 1, false); hm.put("a", "1"); hm.put("b", "2"); hm.put("c", "3"); hm.put("d", "4"); hm.put("e", "5"); hm.put("b", "b2"); hm.get("d"); Iterator i = hm.keySet().iterator(); th.check(i.next().equals("a"), "insertion order"); th.check(i.next().equals("b")); th.check(i.next().equals("c")); th.check(i.next().equals("d")); th.check(i.next().equals("e")); hm = new LinkedHashMap(10, 1, true); hm.put("a", "1"); hm.put("b", "2"); hm.put("c", "3"); hm.put("d", "4"); hm.put("e", "5"); hm.put("b", "b2"); hm.get("d"); i = hm.keySet().iterator(); th.check(i.next().equals("a"), "access order"); th.check(i.next().equals("c")); th.check(i.next().equals("e")); th.check(i.next().equals("b")); th.check(i.next().equals("d")); i = hm.entrySet().iterator(); Map.Entry e = (Map.Entry) i.next(); th.check(e.setValue("a1").equals("1"), "changing the map entry does not count as an access"); i = hm.entrySet().iterator(); e = (Map.Entry) i.next(); th.check(e.getValue().equals("a1")); } } mauve-20140821/gnu/testlet/java/util/LinkedHashMap/Regress.java0000644000175000001440000000305510246464376023064 0ustar dokousers/* Copyright (C) 2005 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.4 package gnu.testlet.java.util.LinkedHashMap; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.*; public class Regress implements Testlet { public void test(TestHarness th) { // Classpath regression test. th.checkPoint("regression test of access order"); LinkedHashMap hm = new LinkedHashMap(5, (float) 0.5, true); hm.put(new Integer(1), new Object()); hm.put(new Integer(2), new Object()); hm.put(new Integer(3), new Object()); hm.get(new Integer(2)); hm.get(new Integer(3)); Iterator i = hm.keySet().iterator(); int count = 1; boolean ok = true; while (i.hasNext()) { Integer key = (Integer) i.next(); if (key.intValue() != count) ok = false; ++count; } th.check(ok); } } mauve-20140821/gnu/testlet/java/util/TreeMap/0000755000175000001440000000000012375316426017466 5ustar dokousersmauve-20140821/gnu/testlet/java/util/TreeMap/serialization.java0000644000175000001440000000372510123365052023201 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.java.util.TreeMap; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectInput; import java.io.ObjectInputStream; import java.io.ObjectOutput; import java.io.ObjectOutputStream; import java.util.TreeMap; /** * Checks the serialization of the TreeMap class. */ public class serialization implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // try serializing an empty TreeMap - see bug report 10383 TreeMap tm1 = new TreeMap(); TreeMap tm2 = null; try { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); ObjectOutput out = new ObjectOutputStream(buffer); out.writeObject(tm1); out.close(); ObjectInput in = new ObjectInputStream( new ByteArrayInputStream(buffer.toByteArray()) ); tm2 = (TreeMap) in.readObject(); in.close(); } catch (Exception e) { harness.debug(e); } harness.check(tm1.equals(tm2)); } } mauve-20140821/gnu/testlet/java/util/AbstractSet/0000755000175000001440000000000012375316426020350 5ustar dokousersmauve-20140821/gnu/testlet/java/util/AbstractSet/AcuniaAbstractSetTest.java0000644000175000001440000000602010206401722025372 0ustar dokousers/* Copyright (C) 2001 ACUNIA This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.2 package gnu.testlet.java.util.AbstractSet; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.*; /** * Written by ACUNIA.
*
* this file contains test for java.util.AbstractSet
* */ public class AcuniaAbstractSetTest extends AbstractSet implements Testlet { protected TestHarness th; public void test (TestHarness harness) { th = harness; test_equals(); test_hashCode(); } /** * implemented.
* */ public void test_equals(){ th.checkPoint("equals(java.lang.Object)boolean"); AcuniaAbstractSetTest xas1 = new AcuniaAbstractSetTest(); AcuniaAbstractSetTest xas2 = new AcuniaAbstractSetTest(); th.check( xas1.equals(xas2) , "checking equality -- 1"); th.check(!xas1.equals(null) , "checking equality -- 2"); th.check(!xas1.equals(new Object()) , "checking equality -- 3"); th.check( xas1.equals(xas1) , "checking equality -- 4"); xas1.v.add(null); xas1.v.add("a"); xas2.v.add("b"); xas2.v.add(null); xas2.v.add("a"); xas1.v.add("b"); th.check( xas1.equals(xas2) , "checking equality -- 5"); th.check( xas1.equals(xas1) , "checking equality -- 6"); } /** * implemented.
* */ public void test_hashCode(){ th.checkPoint("hashCode()int"); AcuniaAbstractSetTest xas = new AcuniaAbstractSetTest(); th.check(xas.hashCode() == 0 ,"checking hc-algorithm -- 1"); xas.v.add(null); th.check(xas.hashCode() == 0 ,"checking hc-algorithm -- 2"); xas.v.add("a"); int hash = "a".hashCode(); th.check(xas.hashCode() == hash ,"checking hc-algorithm -- 3"); hash += "b".hashCode(); xas.v.add("b"); th.check(xas.hashCode() == hash ,"checking hc-algorithm -- 4"); hash += "c".hashCode(); xas.v.add("c"); th.check(xas.hashCode() == hash ,"checking hc-algorithm -- 5"); hash += "d".hashCode(); xas.v.add("d"); th.check(xas.hashCode() == hash ,"checking hc-algorithm -- 6"); } // The following methods aand field are needed to use this class as // Set implementation. public Vector v = new Vector(); public AcuniaAbstractSetTest(){ super(); } public int size() { return v.size(); } public Iterator iterator() { return v.iterator(); } } mauve-20140821/gnu/testlet/java/util/EnumSet/0000755000175000001440000000000012375316426017511 5ustar dokousersmauve-20140821/gnu/testlet/java/util/EnumSet/ComplementOf.java0000644000175000001440000000336011015035566022737 0ustar dokousers// Tags: JDK1.5 // Uses: Colour // Copyright (C) 2007 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.EnumSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.EnumSet; /** * Tests the {@link java.util.EnumSet#complementOf(java.util.EnumSet)} * method. * * @author Andrew John Hughes */ public class ComplementOf implements Testlet { public void test(TestHarness h) { /* Inverse of empty set should be full set */ EnumSet empty = EnumSet.noneOf(Colour.class); h.debug("Empty: " + empty); EnumSet full = EnumSet.complementOf(empty); h.debug("Full: " + full); h.check(full.size() == Colour.class.getEnumConstants().length, "Inverse of empty is full"); EnumSet empty2 = EnumSet.complementOf(full); h.debug("Empty2: " + empty2); h.check(empty2.size() == 0, "Inverse of full is empty"); h.check(empty.equals(empty2), "Inversing the inverse is same as original"); } } mauve-20140821/gnu/testlet/java/util/EnumSet/Colour.java0000644000175000001440000000204010733531521021602 0ustar dokousers// Tags: not-a-test // Copyright (C) 2007 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.EnumSet; /** * A test enumeration. * * @author Andrew John Hughes */ public enum Colour { RED, ORANGE, YELLOW, GREEN, BLUE, INDIGO, VIOLET; } mauve-20140821/gnu/testlet/java/util/UUID/0000755000175000001440000000000012375316426016677 5ustar dokousersmauve-20140821/gnu/testlet/java/util/UUID/TestAll.java0000644000175000001440000002116110475151616021110 0ustar dokousers/* TestAll.java -- Tests for java.util.UUID Copyright (C) 2006 Sven de Marothy This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.java.util.UUID; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.UUID; public class TestAll implements Testlet { public void test(TestHarness harness) { harness.checkPoint("equals()"); testEquals( harness ); harness.checkPoint("randomUUID()"); testRandom( harness ); harness.checkPoint("time fields"); testTime( harness ); harness.checkPoint("toString()"); testToString( harness ); harness.checkPoint("hashCode()"); testHash( harness ); harness.checkPoint("compareTo()"); testCompare( harness ); harness.checkPoint("nameUUIDFromBytes()"); testNameFromBytes( harness ); harness.checkPoint("fromString()"); testFromString( harness ); } /** * Test data, some valid timestamp UUIDs */ private static final UUID[] ids = new UUID[] { new UUID(819576242563977691L, -6026651929721136538L), new UUID(2832154967796617691L, -6026651929721136538L), new UUID(3408883180598464987L, -6026651929721136538L), new UUID(3802173340188152283L, -6026651929721136538L) }; /** Some random UUIDs */ private static final UUID[] randomIds = new UUID[] { new UUID( -3712700652812154966L, -6598749860495561479L ), new UUID( 664552433621420518L, -6414775468900364460L ), new UUID( -5464341501079829899L, -5598482408525562595L ), new UUID( -6237697930964942150L, -6792975957340980865L ), new UUID( 1115444745961556609L, -8924788308993396799L ), new UUID( 8935737015972545600L, -7709166330108105025L ), new UUID( -1731090450474971506L, -8180066663887629633L ), new UUID( -4352314495419070300L, -6102009369002353257L ), new UUID( -2372952748710147740L, -7309989210815328856L ), new UUID( -7640168945999331050L, -9131205566142177277L ) }; /** correct string representations of the respective ids */ private static String[] strs = new String[] { "0b5fb840-1460-11db-ac5d-0800200c9a66", "274dd5f0-1460-11db-ac5d-0800200c9a66", "2f4ec931-1460-11db-ac5d-0800200c9a66", "34c40882-1460-11db-ac5d-0800200c9a66" }; private static String[] randomStrs = new String[] { "cc79d66d-4fc5-47aa-a46c-87f6ab80ecf9", "0938f6ea-dca0-49e6-a6fa-23b2ae4dcf54", "b42ac25b-28b6-4275-b24e-31e9568f7d1d", "a96f3ec7-d0a5-42ba-a1ba-805b86ebf97f", "0f7adb16-299d-4a81-8424-c8518ae3afc1", "7c021d78-f35a-4440-9503-8a1153812ebf", "e7f9ee68-315e-4e8e-8e7a-90b583f692bf", "c3997906-a5c3-48a4-ab51-4ecf08825d97", "df11940c-2858-4964-9a8d-b38af16a0da8", "95f8aad2-adbd-4116-8147-70eab306a003" }; private void testNameFromBytes(TestHarness harness) { UUID id1, id2; id1 = new UUID(8833946387751055799L, -7161481369492758254L); id2 = UUID.nameUUIDFromBytes( new byte[]{(byte)80, (byte)43 }); harness.check(id1.equals(id2)); id1 = new UUID(5637592221686249917L, -5921171958455577142L); id2 = UUID.nameUUIDFromBytes( new byte[]{ (byte)114, (byte)45 }); harness.check(id1.equals(id2)); id1 = new UUID(-4355869889751467654L, -7258896509850702779L); id2 = UUID.nameUUIDFromBytes( new byte[]{(byte)36, (byte)32, (byte)172, (byte)170, (byte)254, (byte)224}); harness.check(id1.equals(id2)); id1 = new UUID(-5236193865575288109L, -8631150049002629651L); id2 = UUID.nameUUIDFromBytes( new byte[]{(byte)79, (byte)195, (byte)193, (byte)12 }); harness.check(id1.equals(id2)); id1 = new UUID(6892210306406430384L, -8874384750029244307L); id2 = UUID.nameUUIDFromBytes( new byte[]{(byte)159, (byte)194, (byte)145, (byte)7, (byte)79, (byte)81, (byte)95 }); harness.check(id1.equals(id2)); id1 = new UUID(-1760792916171804329L, -7690807811470976644L); id2 = UUID.nameUUIDFromBytes( new byte[]{(byte)44, (byte)67, (byte)23, (byte)186, (byte)139, (byte)59, (byte)191, (byte)77, (byte)20 }); harness.check(id1.equals(id2)); id1 = new UUID(-8248928743552566013L, -8885233673248765009L); id2 = UUID.nameUUIDFromBytes( new byte[]{(byte)132, (byte)150, (byte)203, (byte)54, (byte)68, (byte)31, (byte)48, (byte)208 }); harness.check(id1.equals(id2)); id1 = new UUID(-3367149413545070022L, -6453356609274991779L); id2 = UUID.nameUUIDFromBytes( new byte[]{ (byte)63 }); harness.check(id1.equals(id2)); id1 = new UUID(-1846445036491163506L, -6140770342100802383L); id2 = UUID.nameUUIDFromBytes( new byte[]{(byte)216, (byte)9, (byte)56, (byte)238, (byte)224, (byte)237, (byte)253 }); harness.check(id1.equals(id2)); id1 = new UUID(-7426333540612096407L, -9029142625441791623L); id2 = UUID.nameUUIDFromBytes( new byte[]{(byte)86, (byte)131, (byte)201 }); harness.check(id1.equals(id2)); id1 = new UUID(-3162216497309273596L, -6232971331865394562L); id2 = UUID.nameUUIDFromBytes( new byte[]{ }); harness.check(id1.equals(id2)); } private void testFromString(TestHarness harness) { for(int i = 0; i < ids.length; i++ ) harness.check( ids[i].equals( UUID.fromString( strs[i] ) ) ); for(int i = 0; i < randomIds.length; i++) harness.check( randomIds[i].equals (UUID.fromString( randomStrs[i] ) ) ); } private void testToString(TestHarness harness) { for(int i = 0; i < ids.length; i++) harness.check(ids[i].toString().equals(strs[i])); for(int i = 0; i < randomIds.length; i++) harness.check(randomIds[i].toString().equals(randomStrs[i])); } private void testHash(TestHarness harness) { int[] hashes = new int[] { -1821492227, -1082370483, -1216394612, -1393194177 }; for(int i = 0; i < ids.length; i++) harness.check(ids[i].hashCode(), hashes[i]); } private void testCompare(TestHarness harness) { for(int i = 0; i < ids.length; i++) { UUID id = new UUID(ids[i].getMostSignificantBits(), ids[i].getLeastSignificantBits()); for(int j = 0; j < ids.length; j++) { int c1 = id.compareTo(ids[j]); int c2; if( i < j ) c2 = -1; else if( i > j) c2 = 1; else c2 = 0; harness.check(c1, c2); } } } private void testRandom(TestHarness harness) { UUID id = UUID.randomUUID(); harness.check(id.variant(), 2); harness.check(id.version(), 4); } /** * Test variant, version, timestamp, clocksequence, node */ private void testTime(TestHarness harness) { long[] vals = new long[] { 2, 1, 133723016677800000L, 11357, 8796630719078L, 2, 1, 133723017146390000L, 11357, 8796630719078L, 2, 1, 133723017280670001L, 11357, 8796630719078L, 2, 1, 133723017372240002L, 11357, 8796630719078L }; for(int i = 0; i < ids.length; i++) { harness.check(ids[i].variant(), vals[ i * 5 ]); harness.check(ids[i].version(), vals[ i * 5 + 1]); harness.check(ids[i].timestamp(), vals[ i * 5 + 2]); harness.check(ids[i].clockSequence(), vals[ i * 5 + 3]); harness.check(ids[i].node(), vals[ i * 5 + 4]); } } private void testEquals(TestHarness harness) { for(int i = 0; i < ids.length; i++) { UUID id = new UUID(ids[i].getMostSignificantBits(), ids[i].getLeastSignificantBits()); for(int j = 0; j < ids.length; j++) harness.check((id.equals(ids[j]) == (i == j))); } } } mauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/0000755000175000001440000000000012375316426024406 5ustar dokousersmauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/constructor.java0000644000175000001440000000332612053142662027632 0ustar dokousers// Test if instances of a class java.util.IllegalFormatPrecisionException could be properly constructed // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatPrecisionException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatPrecisionException; /** * Test if instances of a class java.util.IllegalFormatPrecisionException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IllegalFormatPrecisionException object1 = new IllegalFormatPrecisionException(42); harness.check(object1 != null); harness.check(object1.toString().contains("java.util.IllegalFormatPrecisionException")); harness.check(object1.toString().contains("42")); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/TryCatch.java0000644000175000001440000000337012053142662026765 0ustar dokousers// Test if try-catch block is working properly for a class java.util.IllegalFormatPrecisionException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatPrecisionException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatPrecisionException; /** * Test if try-catch block is working properly for a class java.util.IllegalFormatPrecisionException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new IllegalFormatPrecisionException(42); } catch (IllegalFormatPrecisionException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/0000755000175000001440000000000012375316426026327 5ustar dokousersmauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/getPackage.java0000644000175000001440000000331512053142662031217 0ustar dokousers// Test for method java.util.IllegalFormatPrecisionException.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatPrecisionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatPrecisionException; /** * Test for method java.util.IllegalFormatPrecisionException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatPrecisionException final Object o = new IllegalFormatPrecisionException(42); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.util"); } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/getDeclaredMethods.javamauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/getDeclaredMethods.ja0000644000175000001440000001030012053142662032354 0ustar dokousers// Test for method java.util.IllegalFormatPrecisionException.getClass().getDeclaredMethods() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatPrecisionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatPrecisionException; import java.util.Map; import java.util.HashMap; /** * Test for method java.util.IllegalFormatPrecisionException.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedDeclaredMethods_jdk6.put("public java.lang.String java.util.IllegalFormatPrecisionException.getMessage()", "getMessage"); testedDeclaredMethods_jdk6.put("public int java.util.IllegalFormatPrecisionException.getPrecision()", "getPrecision"); // map for methods declared in (Open)JDK7 testedDeclaredMethods_jdk7.put("public java.lang.String java.util.IllegalFormatPrecisionException.getMessage()", "getMessage"); testedDeclaredMethods_jdk7.put("public int java.util.IllegalFormatPrecisionException.getPrecision()", "getPrecision"); // create instance of a class IllegalFormatPrecisionException final Object o = new IllegalFormatPrecisionException(42); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); // check if all declared methods exist for (java.lang.reflect.Method declaredMethod : declaredMethods) { // method name should consists of package name + class name String methodName = declaredMethod.getName(); // modifiers + package + method name + parameter types String methodString = declaredMethod.toString().replaceAll(" native ", " "); harness.check(testedDeclaredMethods.containsKey(methodString)); harness.check(testedDeclaredMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/getInterfaces.java0000644000175000001440000000335512053142662031753 0ustar dokousers// Test for method java.util.IllegalFormatPrecisionException.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatPrecisionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatPrecisionException; import java.util.List; import java.util.Arrays; /** * Test for method java.util.IllegalFormatPrecisionException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatPrecisionException final Object o = new IllegalFormatPrecisionException(42); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/getModifiers.java0000644000175000001440000000454612053142662031614 0ustar dokousers// Test for method java.util.IllegalFormatPrecisionException.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatPrecisionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatPrecisionException; import java.lang.reflect.Modifier; /** * Test for method java.util.IllegalFormatPrecisionException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatPrecisionException final Object o = new IllegalFormatPrecisionException(42); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/getDeclaredFields.javamauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/getDeclaredFields.jav0000644000175000001440000000773012053142662032362 0ustar dokousers// Test for method java.util.IllegalFormatPrecisionException.getClass().getDeclaredFields() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatPrecisionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatPrecisionException; import java.util.Map; import java.util.HashMap; /** * Test for method java.util.IllegalFormatPrecisionException.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 testedDeclaredFields_jdk6.put("private static final long java.util.IllegalFormatPrecisionException.serialVersionUID", "serialVersionUID"); testedDeclaredFields_jdk6.put("private int java.util.IllegalFormatPrecisionException.p", "p"); // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.util.IllegalFormatPrecisionException.serialVersionUID", "serialVersionUID"); testedDeclaredFields_jdk7.put("private int java.util.IllegalFormatPrecisionException.p", "p"); // create instance of a class IllegalFormatPrecisionException final Object o = new IllegalFormatPrecisionException(42); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } ././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootmauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/getDeclaredConstructors.javamauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/getDeclaredConstructo0000644000175000001440000001017012053142662032530 0ustar dokousers// Test for method java.util.IllegalFormatPrecisionException.getClass().getDeclaredConstructors() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatPrecisionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatPrecisionException; import java.util.Map; import java.util.HashMap; /** * Test for method java.util.IllegalFormatPrecisionException.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.util.IllegalFormatPrecisionException(int)", "java.util.IllegalFormatPrecisionException"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.util.IllegalFormatPrecisionException(int)", "java.util.IllegalFormatPrecisionException"); // create instance of a class IllegalFormatPrecisionException final Object o = new IllegalFormatPrecisionException(42); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/getFields.java0000644000175000001440000000574012053142662031076 0ustar dokousers// Test for method java.util.IllegalFormatPrecisionException.getClass().getFields() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatPrecisionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatPrecisionException; import java.util.Map; import java.util.HashMap; /** * Test for method java.util.IllegalFormatPrecisionException.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class IllegalFormatPrecisionException final Object o = new IllegalFormatPrecisionException(42); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/isPrimitive.java0000644000175000001440000000325212053142662031470 0ustar dokousers// Test for method java.util.IllegalFormatPrecisionException.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatPrecisionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatPrecisionException; /** * Test for method java.util.IllegalFormatPrecisionException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatPrecisionException final Object o = new IllegalFormatPrecisionException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/getSimpleName.java0000644000175000001440000000331612053142662031717 0ustar dokousers// Test for method java.util.IllegalFormatPrecisionException.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatPrecisionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatPrecisionException; /** * Test for method java.util.IllegalFormatPrecisionException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatPrecisionException final Object o = new IllegalFormatPrecisionException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "IllegalFormatPrecisionException"); } } ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/isAnnotationPresent.javamauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/isAnnotationPresent.j0000644000175000001440000000444012053142662032503 0ustar dokousers// Test for method java.util.IllegalFormatPrecisionException.getClass().isAnnotationPresent() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatPrecisionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatPrecisionException; /** * Test for method java.util.IllegalFormatPrecisionException.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatPrecisionException final Object o = new IllegalFormatPrecisionException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/isSynthetic.java0000644000175000001440000000325212053142662031472 0ustar dokousers// Test for method java.util.IllegalFormatPrecisionException.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatPrecisionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatPrecisionException; /** * Test for method java.util.IllegalFormatPrecisionException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatPrecisionException final Object o = new IllegalFormatPrecisionException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/isAnnotation.java0000644000175000001440000000325012053142662031630 0ustar dokousers// Test for method java.util.IllegalFormatPrecisionException.getClass().isAnnotation() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatPrecisionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatPrecisionException; /** * Test for method java.util.IllegalFormatPrecisionException.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatPrecisionException final Object o = new IllegalFormatPrecisionException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/isInstance.java0000644000175000001440000000331412053142662031263 0ustar dokousers// Test for method java.util.IllegalFormatPrecisionException.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatPrecisionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatPrecisionException; /** * Test for method java.util.IllegalFormatPrecisionException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatPrecisionException final Object o = new IllegalFormatPrecisionException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new IllegalFormatPrecisionException(42))); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/isMemberClass.java0000644000175000001440000000326212053142662031716 0ustar dokousers// Test for method java.util.IllegalFormatPrecisionException.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatPrecisionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatPrecisionException; /** * Test for method java.util.IllegalFormatPrecisionException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatPrecisionException final Object o = new IllegalFormatPrecisionException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/getSuperclass.java0000644000175000001440000000340012053142662032003 0ustar dokousers// Test for method java.util.IllegalFormatPrecisionException.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatPrecisionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatPrecisionException; /** * Test for method java.util.IllegalFormatPrecisionException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatPrecisionException final Object o = new IllegalFormatPrecisionException(42); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.util.IllegalFormatException"); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/isEnum.java0000644000175000001440000000322012053142662030417 0ustar dokousers// Test for method java.util.IllegalFormatPrecisionException.getClass().isEnum() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatPrecisionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatPrecisionException; /** * Test for method java.util.IllegalFormatPrecisionException.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatPrecisionException final Object o = new IllegalFormatPrecisionException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/getMethods.java0000644000175000001440000002037212053142662031271 0ustar dokousers// Test for method java.util.IllegalFormatPrecisionException.getClass().getMethods() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatPrecisionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatPrecisionException; import java.util.Map; import java.util.HashMap; /** * Test for method java.util.IllegalFormatPrecisionException.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public java.lang.String java.util.IllegalFormatPrecisionException.getMessage()", "getMessage"); testedMethods_jdk6.put("public int java.util.IllegalFormatPrecisionException.getPrecision()", "getPrecision"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public java.lang.String java.util.IllegalFormatPrecisionException.getMessage()", "getMessage"); testedMethods_jdk7.put("public int java.util.IllegalFormatPrecisionException.getPrecision()", "getPrecision"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class IllegalFormatPrecisionException final Object o = new IllegalFormatPrecisionException(42); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/InstanceOf.java0000644000175000001440000000437012053142662031217 0ustar dokousers// Test for instanceof operator applied to a class java.util.IllegalFormatPrecisionException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatPrecisionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatPrecisionException; import java.util.IllegalFormatException; import java.lang.IllegalArgumentException; import java.lang.RuntimeException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.util.IllegalFormatPrecisionException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatPrecisionException IllegalFormatPrecisionException o = new IllegalFormatPrecisionException(42); // basic check of instanceof operator harness.check(o instanceof IllegalFormatPrecisionException); // check operator instanceof against all superclasses harness.check(o instanceof IllegalFormatException); harness.check(o instanceof IllegalArgumentException); harness.check(o instanceof RuntimeException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/isAnonymousClass.java0000644000175000001440000000327012053142662032476 0ustar dokousers// Test for method java.util.IllegalFormatPrecisionException.getClass().isAnonymousClass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatPrecisionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatPrecisionException; /** * Test for method java.util.IllegalFormatPrecisionException.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatPrecisionException final Object o = new IllegalFormatPrecisionException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/isInterface.java0000644000175000001440000000325212053142662031420 0ustar dokousers// Test for method java.util.IllegalFormatPrecisionException.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatPrecisionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatPrecisionException; /** * Test for method java.util.IllegalFormatPrecisionException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatPrecisionException final Object o = new IllegalFormatPrecisionException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/getConstructors.java0000644000175000001440000000764312053142662032404 0ustar dokousers// Test for method java.util.IllegalFormatPrecisionException.getClass().getConstructors() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatPrecisionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatPrecisionException; import java.util.Map; import java.util.HashMap; /** * Test for method java.util.IllegalFormatPrecisionException.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.util.IllegalFormatPrecisionException(int)", "java.util.IllegalFormatPrecisionException"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.util.IllegalFormatPrecisionException(int)", "java.util.IllegalFormatPrecisionException"); // create instance of a class IllegalFormatPrecisionException final Object o = new IllegalFormatPrecisionException(42); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/isAssignableFrom.java0000644000175000001440000000334112053142662032413 0ustar dokousers// Test for method java.util.IllegalFormatPrecisionException.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatPrecisionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatPrecisionException; /** * Test for method java.util.IllegalFormatPrecisionException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatPrecisionException final Object o = new IllegalFormatPrecisionException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(IllegalFormatPrecisionException.class)); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/isLocalClass.java0000644000175000001440000000325612053142662031544 0ustar dokousers// Test for method java.util.IllegalFormatPrecisionException.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatPrecisionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatPrecisionException; /** * Test for method java.util.IllegalFormatPrecisionException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatPrecisionException final Object o = new IllegalFormatPrecisionException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/getName.java0000644000175000001440000000330012053142662030536 0ustar dokousers// Test for method java.util.IllegalFormatPrecisionException.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatPrecisionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatPrecisionException; /** * Test for method java.util.IllegalFormatPrecisionException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatPrecisionException final Object o = new IllegalFormatPrecisionException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.util.IllegalFormatPrecisionException"); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/isArray.java0000644000175000001440000000322412053142662030575 0ustar dokousers// Test for method java.util.IllegalFormatPrecisionException.getClass().isArray() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatPrecisionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatPrecisionException; /** * Test for method java.util.IllegalFormatPrecisionException.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatPrecisionException final Object o = new IllegalFormatPrecisionException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/util/GregorianCalendar/0000755000175000001440000000000012375316426021500 5ustar dokousersmauve-20140821/gnu/testlet/java/util/GregorianCalendar/getMinimalDaysInFirstWeek.java0000644000175000001440000000424210133704325027354 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.GregorianCalendar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Calendar; import java.util.GregorianCalendar; import java.util.Locale; import java.util.TimeZone; /** * Some checks for the getMinimalDaysInFirstWeek() method in the * {@link GregorianCalendar} class. */ public class getMinimalDaysInFirstWeek implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test10546(harness); } /** * A test to support Classpath bug report 10456. * * @param harness the test harness (null not permitted). */ private void test10546(TestHarness harness) { Calendar c1 = new GregorianCalendar(TimeZone.getTimeZone("Europe/London"), Locale.UK); c1.clear(); c1.set(Calendar.YEAR, 2005); c1.set(Calendar.WEEK_OF_YEAR, 1); c1.set(Calendar.DAY_OF_WEEK, c1.getFirstDayOfWeek()); harness.check(c1.getMinimalDaysInFirstWeek(), 4); Calendar c2 = new GregorianCalendar(TimeZone.getTimeZone("Europe/Paris"), Locale.FRANCE); c2.clear(); c2.set(Calendar.YEAR, 2005); c2.set(Calendar.WEEK_OF_YEAR, 1); c2.set(Calendar.DAY_OF_WEEK, c2.getFirstDayOfWeek()); harness.check(c2.getMinimalDaysInFirstWeek(), 4); } } mauve-20140821/gnu/testlet/java/util/GregorianCalendar/dayOfWeekInMonth.java0000644000175000001440000001031310607371075025511 0ustar dokousers// Copyright (C) 2007 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.util.GregorianCalendar; import java.util.Calendar; import java.util.GregorianCalendar; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class dayOfWeekInMonth implements Testlet { public void test(TestHarness harness) { GregorianCalendar c = new GregorianCalendar(); GregorianCalendar d = new GregorianCalendar(); GregorianCalendar e = new GregorianCalendar(); // 31 day months whose first days are the specified weekdays int testMonths[][] = {{Calendar.JANUARY, 2007, Calendar.MONDAY}, {Calendar.MAY, 2007, Calendar.TUESDAY}, {Calendar.AUGUST, 2007, Calendar.WEDNESDAY}, {Calendar.MARCH, 2007, Calendar.THURSDAY}, {Calendar.DECEMBER, 2006, Calendar.FRIDAY}, {Calendar.DECEMBER, 2007, Calendar.SATURDAY}, {Calendar.JULY, 2007, Calendar.SUNDAY}}; for (int minimalDaysInFirstWeek = 1; minimalDaysInFirstWeek <= 7; minimalDaysInFirstWeek++) { c.setMinimalDaysInFirstWeek(minimalDaysInFirstWeek); d.setMinimalDaysInFirstWeek(minimalDaysInFirstWeek); e.setMinimalDaysInFirstWeek(minimalDaysInFirstWeek); for (int firstDayOfWeek = Calendar.SUNDAY; firstDayOfWeek <= Calendar.SATURDAY; firstDayOfWeek++) { c.setFirstDayOfWeek(firstDayOfWeek); d.setFirstDayOfWeek(firstDayOfWeek); e.setFirstDayOfWeek(firstDayOfWeek); for (int i = 0; i < testMonths.length; i++) { int month = testMonths[i][0]; int year = testMonths[i][1]; int first = testMonths[i][2]; for (int day = 1; day <= 31; day++) { // First we set YEAR + MONTH + DAY_OF_MONTH and check we // have DAY_OF_WEEK_IN_MONTH and WEEK_OF_MONTH correct. c.set(year, month, day); int dayOfWeekInMonth = (day + 6) / 7; harness.check( c.get(Calendar.DAY_OF_WEEK_IN_MONTH) == dayOfWeekInMonth); int dayOfWeek = c.get(Calendar.DAY_OF_WEEK); if (day == 1) harness.check(dayOfWeek == first); // sanity // which day of the week are we (0..6) relative to firstDayOfWeek int relativeDayOfWeek = (7 + dayOfWeek - firstDayOfWeek) % 7; // which day of the week is the first of this month? // nb 35 is the smallest multiple of 7 that ensures that // the left hand side of the modulo operator is positive. int relativeDayOfFirst = (relativeDayOfWeek - day + 1 + 35) % 7; // which week of the month is the first of this month in? int weekOfFirst = ((7 - relativeDayOfFirst) >= minimalDaysInFirstWeek) ? 1 : 0; // which week of the month is this day in? int weekOfMonth = (day + relativeDayOfFirst - 1) / 7 + weekOfFirst; harness.check(c.get(Calendar.WEEK_OF_MONTH) == weekOfMonth); // Then we set YEAR + MONTH + DAY_OF_WEEK_IN_MONTH + // DAY_OF_WEEK and check we have DAY_OF_MONTH correct. d.clear(); d.set(Calendar.YEAR, year); d.set(Calendar.MONTH, month); d.set(Calendar.DAY_OF_WEEK_IN_MONTH, dayOfWeekInMonth); d.set(Calendar.DAY_OF_WEEK, dayOfWeek); harness.check(d.get(Calendar.DAY_OF_MONTH) == day); // Finally we set YEAR + MONTH + WEEK_OF_MONTH + DAY_OF_WEEK // and check we have DAY_OF_MONTH correct. e.clear(); e.set(Calendar.YEAR, year); e.set(Calendar.MONTH, month); e.set(Calendar.WEEK_OF_MONTH, weekOfMonth); e.set(Calendar.DAY_OF_WEEK, dayOfWeek); harness.check(e.get(Calendar.DAY_OF_MONTH) == day); } } } } } } mauve-20140821/gnu/testlet/java/util/GregorianCalendar/equals.java0000644000175000001440000000510410205366467023635 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.GregorianCalendar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.SimpleTimeZone; /** * Some checks for the equals() method in the {@link GregorianCalendar} class. * Note that the spec has been filled out in the 1.5 API docs. */ public class equals implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { long millis = System.currentTimeMillis(); GregorianCalendar c1 = new GregorianCalendar(); GregorianCalendar c2 = new GregorianCalendar(); c1.setTimeInMillis(millis); c2.setTimeInMillis(millis); harness.check(c1.equals(c2)); harness.check(c2.equals(c1)); c1.setTimeInMillis(0); harness.check(!c1.equals(c2)); c2.setTimeInMillis(0); harness.check(c1.equals(c2)); c1.setGregorianChange(new Date(Long.MIN_VALUE)); harness.check(!c1.equals(c2)); c2.setGregorianChange(new Date(Long.MIN_VALUE)); harness.check(c1.equals(c2)); c1.setFirstDayOfWeek(Calendar.WEDNESDAY); harness.check(!c1.equals(c2)); c2.setFirstDayOfWeek(Calendar.WEDNESDAY); harness.check(c1.equals(c2)); c1.setLenient(!c1.isLenient()); harness.check(!c1.equals(c2)); c2.setLenient(c1.isLenient()); harness.check(c1.equals(c2)); c1.setMinimalDaysInFirstWeek(6); harness.check(!c1.equals(c2)); c2.setMinimalDaysInFirstWeek(6); harness.check(c1.equals(c2)); c1.setTimeZone(new SimpleTimeZone(123, "123")); harness.check(!c1.equals(c2)); c2.setTimeZone(new SimpleTimeZone(123, "123")); harness.check(c1.equals(c2)); } } mauve-20140821/gnu/testlet/java/util/GregorianCalendar/setFirstDayOfWeek.java0000644000175000001440000000530010411235166025671 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2006 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.GregorianCalendar; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Calendar; import java.util.GregorianCalendar; import java.util.Locale; import java.util.TimeZone; /** * Tests the setFirstDayOfWeek() method. * This testcase is derived from an actual bug in GregorianCalendar. * * @author Roman Kennke (kennke@aicas.com) */ public class setFirstDayOfWeek implements Testlet { private int[] mondayDays = new int[]{27, 27, 27, 27, 27, 27, 6, 6, 6, 6, 6, 6, 6, 13, 13, 13, 13, 13, 13, 13, 20, 20, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27}; private int[] mondayMonths = new int[]{1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}; /** * The entry point into the test. */ public void test (TestHarness harness) { Locale.setDefault(Locale.GERMANY); Calendar calendar = Calendar.getInstance(); calendar.setFirstDayOfWeek(Calendar.MONDAY); for (int day = 1; day <= 31; day++) { calendar.set(2006, Calendar.MARCH, day); // The day and month should be exactly as we set it. // Note: We need to query the WEEK_OF_YEAR, otherwise we don't get // the correct time in the last two tests in classpath. calendar.get(Calendar.WEEK_OF_YEAR); harness.check(calendar.get(Calendar.DAY_OF_MONTH), day); harness.check(calendar.get(Calendar.MONTH), Calendar.MARCH); calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); // The day and month should now be according to the tables above. harness.check(calendar.get(Calendar.DAY_OF_MONTH), mondayDays[day]); harness.check(calendar.get(Calendar.MONTH), mondayMonths[day]); } } } mauve-20140821/gnu/testlet/java/util/GregorianCalendar/weekOfYear.java0000644000175000001440000001132510607423510024373 0ustar dokousers// Copyright (C) 2007 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.util.GregorianCalendar; import java.util.Calendar; import java.util.GregorianCalendar; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class weekOfYear implements Testlet { public void test(TestHarness harness) { GregorianCalendar d = new GregorianCalendar(); GregorianCalendar e = new GregorianCalendar(); // Years whose first days are the specified weekdays int testYears[][] = {{2007, 1996, Calendar.MONDAY}, {2002, 2008, Calendar.TUESDAY}, {2003, 1992, Calendar.WEDNESDAY}, {1998, 2004, Calendar.THURSDAY}, {1999, 1988, Calendar.FRIDAY}, {2005, 2000, Calendar.SATURDAY}, {2006, 1956, Calendar.SUNDAY}}; // Months to test. We definitely want January here, // to check the calculation where January 1 falls // before week 1 of the year. int testMonths[] = {Calendar.JANUARY, Calendar.JULY}; int monthLengths[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; for (int minimalDaysInFirstWeek = 1; minimalDaysInFirstWeek <= 7; minimalDaysInFirstWeek++) { d.setMinimalDaysInFirstWeek(minimalDaysInFirstWeek); e.setMinimalDaysInFirstWeek(minimalDaysInFirstWeek); for (int firstDayOfWeek = Calendar.SUNDAY; firstDayOfWeek <= Calendar.SATURDAY; firstDayOfWeek++) { d.setFirstDayOfWeek(firstDayOfWeek); e.setFirstDayOfWeek(firstDayOfWeek); for (int i = 0; i < testYears.length; i++) { int dayOfFirst = testYears[i][2]; for (int leap = 0; leap <= 1; leap++) { int year = testYears[i][leap]; for (int j = 0; j < testMonths.length; j++) { int month = testMonths[j]; for (int day = 1; day <= 31; day++) { // First we set YEAR + MONTH + DAY_OF_MONTH and check // we have DAY_OF_YEAR and WEEK_OF_YEAR correct. GregorianCalendar c = new GregorianCalendar(year, month, day); c.setMinimalDaysInFirstWeek(minimalDaysInFirstWeek); c.setFirstDayOfWeek(firstDayOfWeek); // Which day of the year is this? int dayOfYear = 0; for (int k = 0; k < month; k++) dayOfYear += monthLengths[k]; if (month > Calendar.FEBRUARY) dayOfYear += leap; dayOfYear += day; harness.check(c.get(Calendar.DAY_OF_YEAR) == dayOfYear); // Which day of the week is it? int dayOfWeek = (dayOfFirst + dayOfYear - 2) % 7 + 1; harness.check(c.get(Calendar.DAY_OF_WEEK) == dayOfWeek); // Which day of the week is the first of the year, // relative to firstDayOfWeek. int relativeDayOfFirst = (7 + dayOfFirst - firstDayOfWeek) % 7; // Which day of the year is week one, day one? int dayOfYearOfWeek1Day1 = 1 - relativeDayOfFirst; if ((7 - relativeDayOfFirst) < minimalDaysInFirstWeek) dayOfYearOfWeek1Day1 += 7; // If we're before week one, day one then the week // number will be with respect to the previous year. // I think this is crack, but there you go. int checkYear = year; if (dayOfYear < dayOfYearOfWeek1Day1) { checkYear--; if (checkYear % 4 == 0) { relativeDayOfFirst = (relativeDayOfFirst + 5) % 7; dayOfYear += 366; } else { relativeDayOfFirst = (relativeDayOfFirst + 6) % 7; dayOfYear += 365; } dayOfYearOfWeek1Day1 = 1 - relativeDayOfFirst; if ((7 - relativeDayOfFirst) < minimalDaysInFirstWeek) dayOfYearOfWeek1Day1 += 7; } // Which week of the year is this day in? int weekOfYear = (dayOfYear - dayOfYearOfWeek1Day1 + 7) / 7; harness.check(c.get(Calendar.WEEK_OF_YEAR) == weekOfYear); // Then we set YEAR + DAY_OF_WEEK + WEEK_OF_YEAR and // check we have MONTH and DAY_OF_MONTH correct. d.clear(); d.set(Calendar.YEAR, checkYear); d.set(Calendar.DAY_OF_WEEK, dayOfWeek); d.set(Calendar.WEEK_OF_YEAR, weekOfYear); harness.check(d.get(Calendar.YEAR) == year); harness.check(d.get(Calendar.MONTH) == month); harness.check(d.get(Calendar.DAY_OF_MONTH) == day); } } } } } } } } mauve-20140821/gnu/testlet/java/util/GregorianCalendar/internal.java0000644000175000001440000003003510645721167024160 0ustar dokousers// Copyright (C) 2007 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.util.GregorianCalendar; import java.util.Calendar; import java.util.GregorianCalendar; import java.util.Iterator; import java.util.Locale; import java.util.TimeZone; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class internal implements Testlet { private static class TestCalendar extends GregorianCalendar { /** * Creates a calendar with all values unset and zeroed. */ public static TestCalendar getTestCalendar(TimeZone zone, Locale locale) { // There is no way to get a calendar with a specific // locale without calling one of the constructors that // calls setTimeInMillis(). So we do it this way... Locale defaultLocale = Locale.getDefault(); Locale.setDefault(locale); try { TestCalendar c = new TestCalendar(); c.setTimeZone(zone); return c; } finally { Locale.setDefault(defaultLocale); } } private TestCalendar() { // Initializing this way avoids calling setTimeInMillis(), // giving us an object whose time has never been set. super(2007, Calendar.APRIL, 11); clear(); } /** * Compare the internal state of this calendar with the supplied values. */ public void checkState( TestHarness harness, boolean areFieldsSet, int isSetBitmask, int[] fields, boolean isTimeSet, long time) { String expected, actual; boolean success; expected = stateString(areFieldsSet, isSetBitmask, isTimeSet, time); harness.debug("expecting " + expected); actual = stateString( this.areFieldsSet, isSet, this.isTimeSet, this.time); success = expected.equals(actual); if (!success) harness.debug(" got " + actual); harness.check(success); expected = stateString(fields); harness.debug("expecting " + expected); actual = stateString(this.fields); success = expected.equals(actual); if (!success) harness.debug(" got " + actual); harness.check(success); } /** * Return a string representation of part of the internal state. */ private String stateString( boolean areFieldsSet, int isSetBitmask, boolean isTimeSet, long time) { String result = areFieldsSet + " ("; for (int i = 0; i < FIELD_COUNT; i++) result += ((isSetBitmask & (1 << i)) != 0) ? "S" : "-"; result += "), " + isTimeSet + " (" + time + ")"; return result; } /** * Return a string representation of part of the internal state. */ private String stateString( boolean areFieldsSet, boolean[] isSet, boolean isTimeSet, long time) { int isSetBitmask = 0; for (int i = 0; i < FIELD_COUNT; i++) { if (isSet[i]) isSetBitmask |= 1 << i; } return stateString(areFieldsSet, isSetBitmask, isTimeSet, time); } /** * Return a string representation of part of the internal state. */ private String stateString(int[] fields) { String result = "{"; for (int i = 0; i < FIELD_COUNT; i++) { if (i > 0) result += ", "; result += fields[i]; } result += "}"; return result; } // public void debug() // { // System.out.print(areFieldsSet + " ("); // for (int i = 0; i < FIELD_COUNT; i++) // System.out.print(isSet[i] ? "S" : "-"); // System.out.print("/"); // for (int i = 0; i < FIELD_COUNT; i++) // System.out.print(isSet(i) ? "S" : "-"); // System.out.println("), " + isTimeSet + " (" + time + ")"); // // System.out.print(" {"); // for (int i = 0; i < FIELD_COUNT; i++) // { // if (i > 0) // System.out.print(", "); // // if (i > 2 && i < 5) // // System.out.print("\u001B[1;33m"); // System.out.print(fields[i]); // // if (i > 2 && i < 5) // // System.out.print("\u001B[0m"); // } // System.out.println("}"); // } // protected void computeTime() // { // System.out.println(" computeTime:"); // debug(); // super.computeTime(); // debug(); // System.out.println(" /computeTime"); // } // protected void computeFields() // { // //areFieldsSet = false; // System.out.println(" computeFields:"); // debug(); // super.computeFields(); // debug(); // System.out.println(" /computeFields"); // } // protected void complete() // { // System.out.println(" complete:"); // debug(); // super.complete(); // debug(); // System.out.println(" /complete"); // } } /** * Generate every possible permutation of a specified length */ private static class Permutator implements Iterator { private int size, length, pos; public Permutator(int s) { size = s; length = 1; for (int i = 2; i <= size; i++) length *= i; pos = 0; } public boolean hasNext() { return pos < length; } public Object next() { int[] result = new int[size]; boolean[] used = new boolean[size]; for (int tmp = pos, j = size; j > 0; tmp /= j, j--) { int choice = tmp % j; for (int k = 0; k < size; k++) { if (!used[k]) { if (choice == 0) { result[size - j] = k; used[k] = true; break; } choice--; } } } pos++; return result; } public void remove() { throw new UnsupportedOperationException(); } } public void test(TestHarness harness) { int[][] checkFields = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1970, 0, 1, 1, 1, 1, 5, 1, 0, 0, 0, 0, 0, 0, -18000000, 0}, {1, 1969, 11, 1, 5, 31, 365, 4, 5, 1, 10, 22, 0, 0, 0, -25200000, 0}, {1, 1970, 11, 1, 5, 31, 365, 5, 5, 1, 10, 22, 0, 0, 0, -25200000, 0}, {1, 1969, 0, 5, 5, 31, 31, 6, 5, 1, 10, 22, 0, 0, 0, -25200000, 0}, {1, 1970, 0, 1, 1, 1, 1, 5, 1, 0, 0, 0, 0, 0, 0, -25200000, 0}, {0, 2007, 3, 15, 4, 18, 107, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0}, }; TestCalendar c = TestCalendar.getTestCalendar( TimeZone.getTimeZone("EST"), Locale.US); // check it really is as blank as it should be. c.checkState(harness, false, 0, checkFields[0], false, 0); // check that things that affect week numbering are as expected. harness.check(c.getFirstDayOfWeek() == Calendar.SUNDAY); harness.check(c.getMinimalDaysInFirstWeek() == 1); // // print the heading. // String vendor = System.getProperty("java.vendor"); // if (vendor.endsWith(".")) // vendor = vendor.substring(0, vendor.length() - 1); // System.out.println(vendor); // for (int i = 0; i < vendor.length(); i++) // System.out.print('='); // System.out.println(); // cause a complete() and check we got the epoch right. c.get(Calendar.YEAR); c.checkState(harness, true, 0x1ffff, checkFields[1], true, 18000000); // set a different timezone and check that areFieldsSet is cleared. c.setTimeZone(TimeZone.getTimeZone("MST")); c.checkState(harness, false, 0x1ffff, checkFields[1], true, 18000000); // cause a complete() and check the fields recalculate correctly. c.get(Calendar.YEAR); c.checkState(harness, true, 0x1ffff, checkFields[2], true, 18000000); // clear each field in turn and check everything recalculates correctly. for (int i = 0; i < Calendar.FIELD_COUNT; i++) { TestCalendar d = (TestCalendar) c.clone(); int[] expectFields = (int[]) checkFields[2].clone(); long expectTime = 18000000; d.checkState(harness, true, 0x1ffff, expectFields, true, expectTime); d.clear(i); expectFields[i] = 0; d.checkState(harness, false, ~(1<= 0; i++) { if (order[i] >= Calendar.WEEK_OF_YEAR && order[i] <= Calendar.DAY_OF_WEEK_IN_MONTH) setOrder[j--] = order[i]; } long expectTime = -1; if (setOrder[0] == Calendar.DAY_OF_MONTH) { // YEAR + MONTH + DAY_OF_MONTH expectTime = 1176879600000L; } else if (setOrder[0] == Calendar.DAY_OF_WEEK_IN_MONTH) { // YEAR + MONTH + DAY_OF_WEEK_IN_MONTH + DAY_OF_WEEK expectTime = 1178175600000L; } else if (setOrder[0] == Calendar.DAY_OF_YEAR) { // YEAR + DAY_OF_YEAR expectTime = 1176793200000L; } else if (setOrder[0] == Calendar.WEEK_OF_YEAR) { // YEAR + DAY_OF_WEEK + WEEK_OF_YEAR // (some of them) expectTime = 1176361200000L; } else if (setOrder[0] == Calendar.DAY_OF_WEEK) { for (int i = 1; i < setOrder.length; i++) { if (setOrder[i] == Calendar.DAY_OF_MONTH || setOrder[i] == Calendar.DAY_OF_YEAR) continue; if (setOrder[i] == Calendar.WEEK_OF_YEAR) { // YEAR + DAY_OF_WEEK + WEEK_OF_YEAR expectTime = 1176361200000L; } else if (setOrder[i] == Calendar.WEEK_OF_MONTH) { // YEAR + MONTH + WEEK_OF_MONTH + DAY_OF_WEEK expectTime = 1177570800000L; } else { // rest of them expectTime = 1178175600000L; } break; } } else { // YEAR + MONTH + WEEK_OF_MONTH + DAY_OF_WEEK // (the rest) expectTime = 1177570800000L; } long actualTime = c.getTimeInMillis(); // if (actualTime != expectTime) // { // System.out.print("expect = " + expectTime + ", actual = " // + actualTime + ", setOrder = ["); // for (int i = 0; i < setOrder.length; i++) // { // if (i > 0) // System.out.print(", "); // System.out.print(setOrder[i]); // } // System.out.println("]"); // } harness.check(actualTime == expectTime); } } } mauve-20140821/gnu/testlet/java/util/GregorianCalendar/first.java0000644000175000001440000000307510605146373023473 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2003 Free Software Foundation, Inc. // Contributed by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.GregorianCalendar; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.*; /** * Checks that the first day of the month is day one. */ public class first implements Testlet { private TestHarness harness; public void test (TestHarness harness) { this.harness = harness; // Julian dates. testYears(1400); // Gregorian dates. testYears(2000); } private void testYears(int startYear) { for (int year = startYear; year <= startYear + 5; year++) for (int month = 0; month < 12; month++) { GregorianCalendar cal = new GregorianCalendar(year, month, 1); harness.check(cal.get(Calendar.DAY_OF_MONTH), 1, "day 1-" + month + "-" + year); } } } mauve-20140821/gnu/testlet/java/util/GregorianCalendar/conversion.java0000644000175000001440000001160310070272371024517 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2004 Stephen Crawley // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.GregorianCalendar; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.*; /** * Checks conversion of millisecond time values to Gregorian dates (and * back) across the range of time values. */ public class conversion implements Testlet { private TestHarness harness; public void test (TestHarness harness) { this.harness = harness; testTimeZero(); testMonotonic1(); testMonotonic2(); } private void testTimeZero() { GregorianCalendar cal = new GregorianCalendar(); cal.setTimeZone(TimeZone.getTimeZone("UTC")); cal.setTimeInMillis(0L); harness.checkPoint("Testing setTimeInMillis(0L)"); harness.check(cal.getTimeInMillis(), 0L); harness.check(cal.get(Calendar.ERA), GregorianCalendar.AD); harness.check(cal.get(Calendar.YEAR), 1970); harness.check(cal.get(Calendar.MONTH), Calendar.JANUARY); harness.check(cal.get(Calendar.DAY_OF_MONTH), 1); harness.check(cal.get(Calendar.HOUR_OF_DAY), 0); harness.check(cal.get(Calendar.MINUTE), 0); harness.check(cal.get(Calendar.SECOND), 0); harness.check(cal.get(Calendar.MILLISECOND), 0); } private void testMonotonic1() { GregorianCalendar cal = new GregorianCalendar(); cal.setTimeZone(TimeZone.getTimeZone("UTC")); // Check in range 0 <= t <= max long long[] times = new long[64]; times[0] = 0L; for (int i = 1; i < 63; i++) { times[i] = 1L << i; } times[63] = Long.MAX_VALUE; cal.setTimeInMillis(times[0]); long[] prevFields = getCalFields(cal); for (int i = 1; i < times.length; i++) { cal.setTimeInMillis(times[i]); long[] fields = getCalFields(cal); harness.checkPoint("Testing setTimeInMillis(" + times[i] + ") i = " + i); harness.check(fields[0], times[i]); for (int j = 1; j < fields.length; j++) { if (fields[j] != prevFields[j]) { harness.check(fields[j] > prevFields[j]); if (fields[j] < prevFields[j]) { harness.debug("cal field " + j + " " + dumpCalFields(fields) + " < " + dumpCalFields(prevFields)); } break; } } prevFields = fields; } } private void testMonotonic2() { GregorianCalendar cal = new GregorianCalendar(); cal.setTimeZone(TimeZone.getTimeZone("UTC")); // Check in range min long <= t < 0 long[] times = new long[63]; for (int i = 0; i < 63; i++) { times[62 - i] = -1L << i; } cal.setTimeInMillis(times[0]); long[] prevFields = getCalFields(cal); for (int i = 1; i < times.length; i++) { cal.setTimeInMillis(times[i]); long[] fields = getCalFields(cal); harness.checkPoint("Testing setTimeInMillis(" + times[i] + ") i = " + i); harness.check(fields[0], times[i]); if (fields[1] == prevFields[1]) { for (int j = 2; j < fields.length; j++) { if (fields[j] != prevFields[j]) { // In the BC era, years are >= 1 and go backwards. boolean ok = ((fields[j] > prevFields[j]) == (j > 2 || fields[1] == 1)); harness.check(ok); if (!ok) { harness.debug("cal field " + j + " " + dumpCalFields(fields) + " < " + dumpCalFields(prevFields)); } break; } } } prevFields = fields; } } private long[] getCalFields(GregorianCalendar cal) { return new long[] { cal.getTimeInMillis(), cal.get(Calendar.ERA), cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH), cal.get(Calendar.HOUR_OF_DAY), cal.get(Calendar.MINUTE), cal.get(Calendar.SECOND), cal.get(Calendar.MILLISECOND) }; } private String dumpCalFields(long[] fields) { StringBuffer sb = new StringBuffer(); sb.append(fields[0]); for (int i = 1; i < fields.length; i++) { sb.append((i == 1) ? " {" : ", "); sb.append(fields[i]); } sb.append("}"); return sb.toString(); } } mauve-20140821/gnu/testlet/java/util/GregorianCalendar/getMinimum.java0000644000175000001440000000327110200271604024440 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2005 David Daney // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.GregorianCalendar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Calendar; import java.util.GregorianCalendar; /** * Some checks for the getMinimum() method in the * {@link GregorianCalendar} class. */ public class getMinimum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testX(harness); } /** * @param harness the test harness (null not permitted). */ private void testX(TestHarness harness) { Calendar c1 = new GregorianCalendar(); harness.check(c1.getMinimum(Calendar.HOUR_OF_DAY), 0); harness.check(c1.getMinimum(Calendar.MINUTE), 0); harness.check(c1.getMinimum(Calendar.SECOND), 0); harness.check(c1.getMinimum(Calendar.MILLISECOND), 0); } } mauve-20140821/gnu/testlet/java/util/GregorianCalendar/setWeekOfMonth.java0000644000175000001440000000473010463212410025231 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2006 Mark J. Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.GregorianCalendar; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Calendar; import java.util.GregorianCalendar; import java.util.Locale; import java.util.TimeZone; public class setWeekOfMonth implements Testlet { public void test(TestHarness harness) { GregorianCalendar cal; cal = new GregorianCalendar(TimeZone.getTimeZone("GMT"), Locale.US); // Month with 6 weeks cal.set(2006, Calendar.JULY, 30); cal.setLenient(false); harness.check(cal.getMaximum(Calendar.WEEK_OF_MONTH), 6); cal.clear(Calendar.DAY_OF_MONTH); cal.set(Calendar.WEEK_OF_MONTH, 1); cal.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY); harness.check(cal.get(Calendar.DAY_OF_MONTH), 1); cal.clear(Calendar.DAY_OF_MONTH); cal.set(Calendar.WEEK_OF_MONTH, 6); cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); harness.check(cal.get(Calendar.DAY_OF_MONTH), 31); // Month with 4 weeks cal.set(1998, Calendar.FEBRUARY, 14); cal.clear(Calendar.DAY_OF_MONTH); cal.set(Calendar.WEEK_OF_MONTH, 1); cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY); harness.check(cal.get(Calendar.DAY_OF_MONTH), 1); cal.clear(Calendar.DAY_OF_MONTH); cal.set(Calendar.WEEK_OF_MONTH, 4); cal.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY); harness.check(cal.get(Calendar.DAY_OF_MONTH), 28); harness.check(cal.get(Calendar.MONTH), Calendar.FEBRUARY); // Month with 5 weeks cal.set(1993, Calendar.FEBRUARY, 14); cal.clear(Calendar.DAY_OF_MONTH); cal.set(Calendar.WEEK_OF_MONTH, 5); cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY); harness.check(cal.get(Calendar.DAY_OF_MONTH), 28); } } mauve-20140821/gnu/testlet/java/util/jar/0000755000175000001440000000000012375316426016705 5ustar dokousersmauve-20140821/gnu/testlet/java/util/jar/JarFile/0000755000175000001440000000000012375316426020221 5ustar dokousersmauve-20140821/gnu/testlet/java/util/jar/JarFile/jartest.jar0000644000175000001440000000274007617470420022374 0ustar dokousersPK™^>. META-INF/þÊPKPK™^>.META-INF/MANIFEST.MFóMÌËLK-.Ñ K-*ÎÌϳR0Ô3àår.JM,IMÑuª ë(hx:ù*8çä%–jòrñrPKKù á=>PKZ>.file1+ÉÈ,VÈJ,RHËÌIU(O,VH.JM,IMQ(Ï,ÉP(ÉHË–äçç(¤å)x:ù*x¹x+êsPKÐÒÚ;<PKE^>.file21v„0 Dûœb°ËR¦ÎËÛZ€¼(±ež-Ããö‘!Û§ôhækä£2ÿ`ešxÀßVdc„\^â»Î¨9±Iâz‰H­FÆÌuæÙ]ÍZaDÏ ƒ-îã2ÈÆ¥ÈÙÕÂdR¡ùæfŠqÀGÀN¥|ýä”¶fE«7ìŒ]bDçbá»W˜¨UÏ{Ãñ¸”Ĥ÷;êJEôyënÞ¸Î>:h"½åD5O¬v(ÿ\¾‹-g<´®uïY Ó~ªÏ¾TÌŸFæ–$Š‘7ðZÝú®…7’8¼ýPKÚ̈ÿÞ‡PK„^>.file3µTMoÛ0 ½ûWð–‹—¿0l]¶[íeGÆ¢eÖ²hHr]ÿû‘ö‚¥¶Sw,Jüx||Ì-àfXdL´³µ¢ƒ™V C€"žJGéX=zË j-¦{‚‘}†6É~Š5äk·6,Çêö0@“ŽþXU\Šž@¢4’b°§fäõ¾•d¡ðŒQk«Ç@ÇêFÒ( kT!z—;NEK•idç âxœ(;Ôzw¨0¬£3‘U‰8ù®,p–e»T웠ņÀ'EÄÐÝ?V¼,ËÚ„Qq¹¤xå5cHS®Á‹l¿Ã“ÈY›¼ã\(Á kÕ{ Üfƒ¼µ^Ý'*úÔ Jàö®HÙÀ*˜ÕÊáFõ÷©YÌÉJ?ôËŽjÈ5Õ5\Óþ·ûê… ,¸™rÁäjp‰ÇqÇ6YGèÀ‰?d Å’ðŒAš^ƒZÎÝÌ­ÎPgÅ';n`LLÊBÎuõñBün žSx=>²åÌZkŽo7‹èŒá§èƒb¯­*ž½òòJd{9+”x(«·&t´‡‚±úlä(cÑýJn!—ì ù­:ÐÏ-^FJE·á¥¬‡¦“ÞPäAŒÀºú´Â6À¥³KÿdoŒþ ¸¾¾-¶<°jò÷f¯šÌe©wn‘Éí7›•rD M·Ê¨ <œ­ø4nÜpÛR€G™íåLö*¸FŠ~b[‘èÍÿ+&†oIyŒxµÐ¹“)8èð™Lü+áôª :9(|Ag|/ôÿÈÿòo‡íâXýPKºrüFnPK™^>. META-INF/þÊPK™^>.Kù á=>=META-INF/MANIFEST.MFPKZ>.ÐÒÚ;<¼file1PKE^>.Ú̈ÿÞ‡*file2PK„^>.ºrüFn;file3PK´mauve-20140821/gnu/testlet/java/util/jar/JarFile/basic.java0000644000175000001440000000626210406111074022134 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2003 John Leuner // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.jar.JarFile; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Enumeration; import java.util.jar.*; import java.io.*; public class basic implements Testlet { public void test_jar(TestHarness harness, JarFile jarfile) { try { harness.checkPoint("manifest tests"); Manifest m = jarfile.getManifest(); harness.checkPoint("entries"); /* I'm not sure if the order of these entries has to be in this order or not. But it would seem likely that someone will write a program expecting the files to be enumerated the same way every time */ int item = 0; Enumeration e = jarfile.entries(); while(e.hasMoreElements()) { JarEntry je = (JarEntry) e.nextElement(); String n = je.getName(); String s = new BufferedReader(new InputStreamReader(jarfile.getInputStream(je))).readLine(); if ("META-INF/".equals(n)) harness.check(s == null); else if ("META-INF/MANIFEST.MF".equals(n)) harness.check(s.equals("Manifest-Version: 1.0")); else if ("file1".equals(n)) harness.check(s.equals("this jar file was created with the jar tool for IBM JDK 1.3")); else if ("file2".equals(n)) harness.check(s.equals("We seek peace. We strive for peace. And sometimes peace must be defended. A future lived at the mercy of terrible threats is no peace at all. If war is forced upon us, we will fight in a just cause and by just means -- sparing, in every way we can, the innocent. And if war is forced upon us, we will fight with the full force and might of the United States military -- and we will prevail.")); else if ("file3".equals(n)) harness.check(s.equals("I am he as you are he as you are me and we are all together.")); else harness.check(false, "Unexpected entry: " + n); item++; } harness.check(item, 5); jarfile.close(); } catch(IOException e) { harness.debug(e); harness.check(false, "all jarfile tests failed"); } } public void test (TestHarness harness) { try { test_jar(harness, new JarFile (harness.getResourceFile("gnu#testlet#java#util#jar#JarFile#jartest.jar"))); } catch (gnu.testlet.ResourceNotFoundException _) { // FIXME: all tests should fail. harness.check(false, "all basic tests failed"); } catch (IOException _) { // FIXME: all tests should fail. harness.check(false, "all basic tests failed (ioexception)"); } } } mauve-20140821/gnu/testlet/java/util/jar/JarFile/TestOfManifest.java0000644000175000001440000001241610532153240023745 0ustar dokousers/* TestOfManifest.java Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.util.jar.JarFile; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.security.cert.Certificate; import java.util.Enumeration; import java.util.jar.JarEntry; import java.util.jar.JarFile; /** * Simple test for validating Marco Trudel's patch for parsing long file names * in a Jar file's manifest. */ public class TestOfManifest implements Testlet { private static final String FILENAME = "jfaceSmall.jar"; private static final String FILEPATH = "gnu#testlet#java#util#jar#JarFile#" + FILENAME; private static final String ENTRYNAME = "org/eclipse/jface/viewers/TreeViewer$TreeColorAndFontCollector.class"; /* (non-Javadoc) * @see gnu.testlet.Testlet#test(gnu.testlet.TestHarness) */ public void test(TestHarness harness) { checkManifestEntries(harness); checkCertificates(harness); } private void checkManifestEntries(TestHarness harness) { harness.checkPoint("checkManifestEntries"); try { File file = harness.getResourceFile(FILEPATH); JarFile jarFile = new JarFile(file); readEntries(jarFile); // will parse the signatures boolean ok = readCertificates(harness, jarFile); harness.check(ok, "Jar entry MUST be signed"); } catch (Exception x) { harness.debug(x); harness.fail("checkManifestEntries: " + x); } } /** * @param harness this test-harness. */ private void checkCertificates(TestHarness harness) { harness.checkPoint("checkCertificates"); try { File file = harness.getResourceFile(FILEPATH); JarFile jarFile = new JarFile(file, true); JarEntry je = jarFile.getJarEntry(ENTRYNAME); Certificate[] certsBefore = je.getCertificates(); int certsBeforeCount = certsBefore == null ? 0 : certsBefore.length; harness.verbose("*** before: " + certsBeforeCount); harness.check(certsBeforeCount == 0, "Certificate count MUST be 0"); read1Entry(jarFile, je); Certificate[] certsAfter = je.getCertificates(); int certsAfterCount = certsAfter == null ? 0 : certsAfter.length; harness.verbose("*** after: " + certsAfterCount); harness.check(certsAfterCount == 1, "Certificate count MUST be 1"); harness.check(certsBeforeCount != certsAfterCount, "Certificate counts MUST NOT be the same"); JarEntry je_ = jarFile.getJarEntry(ENTRYNAME); Certificate[] sameCerts = je_.getCertificates(); int sameCertsCount = sameCerts == null ? 0 : sameCerts.length; harness.verbose("*** w/ new entry: " + sameCertsCount); harness.check(sameCertsCount == 1, "Certificate count (w/ new entry) MUST be 1"); harness.check(certsAfterCount == sameCertsCount, "Certificate counts (w/ new entry) MUST be the same"); } catch (Exception x) { harness.debug(x); harness.fail("checkCertificates: " + x); } } private static void readEntries(JarFile jarFile) throws Exception { for (Enumeration entries = jarFile.entries(); entries.hasMoreElements();) read1Entry(jarFile, (JarEntry) entries.nextElement()); } private static void read1Entry(JarFile jar, JarEntry entry) throws Exception { InputStream stream = null; try { stream = jar.getInputStream(entry); byte[] ba = new byte[8192]; int n; while ((n = stream.read(ba)) >= 0) /* keep reading */; } finally { if (stream != null) try { stream.close(); } catch (IOException ignored) { } } } private boolean readCertificates(TestHarness harness, JarFile jarFile) { for (Enumeration entries = jarFile.entries(); entries.hasMoreElements();) { JarEntry entry = (JarEntry) entries.nextElement(); if (entry.isDirectory()) continue; Certificate[] certs = entry.getCertificates(); if (certs == null || certs.length == 0) // No certificate { if (! entry.getName().startsWith("META-INF")) { harness.verbose("Entry " + entry.getName() + " in jar file " + FILENAME + " does not have a certificate"); return false; } } } return true; } } mauve-20140821/gnu/testlet/java/util/jar/JarFile/jfaceSmall.jar0000644000175000001440000012144710530271737022765 0ustar dokousersPK ŽyÛ2org/UT <û¿B½†`EUxèdPK ŽyÛ2 org/eclipse/UT <û¿B½†`EUxèdPK yÛ2org/eclipse/jface/UT >û¿B½†`EUxèdPK yÛ2org/eclipse/jface/viewers/UT >û¿B½†`EUxèdPKŽyÛ2¶&Ø‘'pDorg/eclipse/jface/viewers/TreeViewer$TreeColorAndFontCollector.classUT <û¿B<û¿BUxèd•U]SÓP=·­h(_D*´¥@P´Hj¥Øñ ŸÓôR‚iÂ$)Œ¯þ ƒOΈŽ>8úƒ?ÊqoZi‘–Î4ÝÝìÙsîÞ½·¿ÿ|ÿ` Y†%Ë.*\3ô=‡+»ÛªÆ•}pÛQ6mη<;"Ì´eXöŠYÈX¦K¶Á5ײ%0†Î]u_U Õ,*/ò»—àg·)ñ¥míën3LåÎgÊnªyƒgêò“ íš ¬PHרÂUwGw"Ó c@k«$DëÆ;ÓÝá®®zQ7uw‰áM´9øEúVU‡çÔ<7ŽåŶi«ÀüÑØ– m SF+ÚZáCHÆ\V -ÂêcH\¦®3L^ªq:rºÉŸ—Kyn{ ¡œ¥©Æ–j믢à ËM5èü)¢Î·ì57)§ÉkrƒDË»î n‡4xZHþÂI¼sà*z¡ÈÝ :ëòR2÷ÿŒ'³¢\;e­ªÚÛ¢m•ÍÃ|ô¬ÄSå‹¶º·£kŽâIHʸƒ± 1Î0ÜHŠ„ñ:'y#Ñl#1cH´!ŽÉŠðŒeóJJEÀt¥tý›Ù æ.ƒT¬ôŽaî’Ë(Zå<îÆ}*åü+5z‘r'„?ÀC!B Š[íÃHãm#&nðL¡Óšé”Ó-S.™ Œ.ö «lk<£‹Ùî¨MΔҖ5Mn§ Õq8M¤™¡“aŸ;ù¦C ËØO_:í:ëôì÷‚^ÌO–Œvz^#ï=¡b6þ]ñ‰CtÇÙ!zÅ£?ñ áÆ?¦¹ƒUwÞ~"”7è9â±<%–Eª¹„n¬aYН#†g˜AC”ÑGùÄ„›¸å)™%Í·)&ôŒTõ¬“/²zÎÐSc y+}UÇøÚc© a« 4ˆTë~¤žL*þýGFbè¢~|ÁTÍŸþy½Gèö½"¼ ‹5 qj) R‹óÔLHóèGdp"-`Eú_Ü!qº'-^¡?^| èó¬–½E§°‚UÚÒÏc<¡_±u>jï|PKyÛ2ª…o&°ƒ,org/eclipse/jface/viewers/TreeViewer$1.classUT >û¿B>û¿BUxèdR]OA=·T¶]V‹U?Q»ZÞL0$0!)>éû°½Ú!ÛÝffÛÆŸED%<øüQÆ;kÊ‹;Éfî½sÎÙ{ÏÌ÷Wßlb°–™ljYŽÎÞ«˜£‰æ)æ^‡ÛˆÐúk§yÄNsec˯ûj”³ñ0G˜ÏÚ†[¢Þ-#¿C¨Lóç:ö+ê|—Ð^/Go÷Õ½¬Ï„¹õv/@ >ªÜÀ|Ü"4º:å·ãá)›uš¶ÙÍb•ô”Ñ.Ÿ«®uB¹?‡Û®õ¡?›¦2븸h7,#ïa™PSq̶pó]Y?þ;èë<3‡ÃQ²`÷}ÜÙ¹,ËÃ#ñs Ò~ÂG¿‡ðK>c•@bd«„ÿ8›˜ßhç}ãÏ ›gj¢Áaš²ÙK”µl±%7Y•‡KXt+»·*òÕP—Ü—è¥ä®âw¾âfgã3çfÑÕÜ ‹ á¶äì®ÚÄB÷.–f*û3• sÆ%n|ÁÓë:Ÿ°@…Îò/ìLÇEÏð\”*hœ/ 8 ùPKyÛ2)¥¦s$.*org/eclipse/jface/viewers/TreeViewer.classUT >û¿B>û¿BUxèdµZ |å•ÿ¿±lYòärâ$rìàNlùŠ A œD‰BÈòÄV%W’s@)Ò¥ô –…´”Ý’m#7M— -Ç.Û¥¥[ºté±¥,íni·»Ph %ûÞ7YŽ,¿M~Ò|3ó½÷½óÿÞ÷ÉϾûÍÇ´ÓC„™ñDo‡ŽF’FÇÞ=¡°Ñ±/bì7ÉŽM ÃØ¢Æn¡5ÿÌ%ÝÉT"NeS”F§2÷Áþ(ÁßUxµ=‘T\Í]Hp 5aêšäþTÇþHO¯‘2)xž7•¡$ÌÈ™L¦âýYì™d¬,‹Gã‰%±ž•ñXŠpyÑL5fn²ò8j„M®‹"±Hj1aVS^™—ÅûâÉHÊXؼ…U\ïag—2?ؼEÇ(ŒõBÃ8˜®HÌX7Øßm$6…º£Ì¥º+E·„¹·ºR}‘$KT’v¢Ã@(aˆ=r ™+¡®oÜðyQ+ÂN˯ r¢©Z¨VO(O¦Šì$”5™ï¦yáÂtÂâ÷æ%7fš›J³†¹ò,/1[GtË׬ÃJµªúâñk—ñ‰8G÷ÌBnTsË6´‹¢l–¢±êF§sQ¯Ã¯,zûY¢lÓˆÌÒ1_,¤ábŒPO¼íŠ$SFÌàœ—+g‚±£À´Æ9F*b›ry9OÕq Šû±#ìkQ•ÑŒÌ%-CÅÂFT¬‰õê(G…˜iKZ*Ô¸±BÇR±ßJ\AÐ{â›zB)#˜2ú æ7žLXص7´/Ô Åz;®ìÞËA¦ÌÔP(Ü…Î5Œ\‘äòH’“ÉèQ‘¾CÇZ¬ó¢ W²ƒ±þÐÀŠ¨Ñ¯ò±¦Éi%Waƒ8~#a2/àô„åMÍB~c*1N &Œ+}œNÇfl‘µ¶2Z¾Wnnl'ŒK)yšä·jVRÇNÑg®ff}ºBÝFt}"¾/Ò#Q1§ Á¥¡¤1‚‚e¾»DæÝ"8‚ÊnB{Ù¦b6va[…Ç6’=\"M§ öÇ–ÅÅÏA}ˆHîìåDÈÏ3K 7ÜÌk“q€™L`; G {„sƒmC\‚k€3§ûC½Œ²Óm6•híM„ú"a[æ0eI¡dÖóšr9£7tŸýØÏQß=‰ö(± ÑBXœ¥ CžŠ))â:‰†ë {þvZòYòƒ¬x_(¹ÎØ/.Òq“$z?n–/vˆ;yÎw5>‡ñ!qÁ‡¥ê(>ʶ:>j2ú˜|1ye2ãÙ¹Ðåà˜Ûp»ð=B@%>AXP¸Vç=ÕìÄ'¥XÞŰœ kS©ÙètŒÑOã3UèÅg³SÃÒgž3“¢Á{Ç„å=„‰MÁ|Æýœáób´RX&ð™¿ý`iV~P¾Hˆ {œæ%X]ø<Œã_âÎ.¢êSþöXÑpdçJHu®ù8^R{F‚â"ð²Ü ç‡ÃÜÔ¥LÂŽB„¹ )”Q“²Ðæ!˜C´Ï$šs¾(ÁéÎÆãªAÕ Xp5»DÐàFÚä"¸Ê€êÜÀc)#fd7 !–Ãà†%Ó LtLŽ3xBú˜o[écD£f£“”¶·ygñ‡çr|?‰§„ÍÓÜNZlÖÆ{"{"R„[ áìÉÌéïñÂéYÖ@8õ1ôóƒ°$ÀoU×…6iB[U1ªü)0=¾:žÃ÷$¿/Õõûܙƌo„s6E'F"1’‚Ô¼fŽt¼€‰Êÿˆ¯è¬íÁ ‡B›Û‹•VÅz¤),°q2![Æ—Ì–ñ§f`¥rSÐÆìÈ ý‚Úc7MmÐtü/Kû%#NÞX]ÄRnü;¶¬¯ªþ¯¼x¿&xRñŒ%–(LŠÇÂlNÐñŸø8ñ5énÏŸChü¿†ÿÅQq€?¹·ìiAA)û;îÝ^7{·?0˜¯KpcP<È—›X$'d—¼Û,¿ëÕFÞ ‡ÅÅØ •™EÄ2á;xW9kšn£!½~$sôxŽéЍ¦IîÖR™(É»çY%tº©ÂKnÌæ ïŒ×Æ“Y[ãæ¼ÛÙ¥ô’‡¼²|'Nø\$W™IÖ]iÍuÓÂæ!ÎcßföÙ4ÎKc©ZÎ ’ؾ„±ÏÐi‚€ÅJªa%bÜBªè(à K“gX™±0|$TëØ Ž@sóëd~}Ásµá5L’ „¤A€°Èæôé2}ãÖžh¨—¡]‹0xF|Ÿ±$Õi¶œÔR×Õ¤­®ú›J,«D~jû·J_vŽÁìé¹'ퟵP¬Å²üê”åçríìÏð(½œs%L:U‰M;ûjšOËz 8ùÂ9Tãˆ8¥’Ù°€ÿ”»w¨cÔ¦²Ø"Z,n¼ŒÄÔ¹j…¡ø0˜ï`’9Ç —ÛÅÊZõ¹ƒ©H´cI2Éz¹i%/InJ ¦\;tZEA/]A«uZN+¼¨‹°õ½§¿£€Ìœát%WèHuõäLoõJ|A:å1"ë¬öx±T(K®1æ9[åÐý(}Lx|œ„­ì–8Ù(í\Ëyø‰i#lT'§ÈaM_Ü*ÂE[DŽÙ;eó_Kw™;µ—*e#U¼x7:z8µÈôYAØ»EŠ»%s¤9"*Cá°‘LΜCØPêo+çóK gãÁXªÏHEÂÃkuÖüŸÖÊ÷› wc|06VF$Ç “·‹ç8[ƒ1n—ECŒóœâ¾¼?1ao“\4ù9‚Gšüd¤®xÕµ :_Á Ñü=†ï– Œß˸*mÕ'ÔÔñüíU/nc&·c&šQÃ#¨Ñ$Lf6Ân¬Ån=/^Æ×ÑþÓ¨ÝÞR7„)C˜jçySÜ«x6˜³3w8Žq¾Š§¡«iÜ8BŸ'CG¡·Éà–4>"×ÅSêÁ­iÜq§Êæ{ŽãÑê;^ Tñâþ¶Ö~û)_ù3ØRã9†ˆ]Ý’A·Ë ;É óÒ¯\n TÇ_9ó?…»ËÀOÍñ½<®òyŸ[Äh«ñø¼iÜ×&b<à«zUò¨*‡{¨ÆSSyÿÙbi^çËÃŽ|—ò÷·Ù‘ßa÷=É®zŠú4|x†cñYLÇwÑ„â¸{íø:ñn‰j©—¦pÁ¯£ëðfªÛhš Ú#œÒ˜ç’GpÖ‘=Š¿b ¢›ð×ø*'MxŒ%v¡…º9™¾Æ°ÒN»ðuœdlëäÎ-!¶b/ÍÂ78Í*Yû«pŠõó°Å¾Æ©ÒÀ£ñ'Ìßrú¼„ûð8þU¼¨y’Bgð„•z]¼¦¤ªWR¯¥.ïØ’Úà¡ö¬¤öf’Ú«¤'5:mAÖ“ìW“óÜ‘IýÌc¾J÷‹šäüÒ™þíôKá»C&}_<Ž¢Jð çãÛZó¶6§ñêö)\Ðþ#ߦñ{»dýYÁ19Ãy2'^ƒ’v2§_ƒ*Ò¯sæJËnxÓ.m*´o©*"œþè¬÷Ÿìœ®/¢÷s Žœž·ëy¨ '’Ÿ¾s9„·ílîptä;ŒCNbìôŸ)¬ì(L.;§Ï42Ét)‘ù°£Bm ã&qˆï$6&ù[†¨\dYÛzšÜÜÁPešôa¼©–>޾ŠrÎI/àüKg…Ö¤Œ„“h”’Ð˸9šåÕøÿüL3±ˆ…Pm”ÿ4ÝîçUÆŸÄr;ª}‹i_Îü\#Frdç˜Ï4ÑZ¯9!WŒÉý+, # ¶Õ߃v…jN£k»8¶®~ˆ¦\DZÐzR+O¦Ê“fsê„ÌÔ!š&ÏÇefÑ̀˗åÏéÒïÒ¼úéßD=ýôģ·qý›é¬’uƒê‹·e,¹­úC%ÿ6jTI*£YÊâµüy„k’ ­™ÑòÌhsfä¢ÙW_>2âšmV×*àÖÜ…£NŽì2ºfuèR›ÒÔfg7•Zµs‡Ní¤‚VŽàò°»ÐήŽÙÕçawÍSìæsÝrfw‰]3³óça …*YÑ¥ÍuW]š.·³›Ãì:›k®…_1›kZJˤËÑ—Å8Á1(Ëû9¬za4_ÂÇà.;—ë´f«dåZsKÁ£õ¼§^¹VöSÚ%ìµÆóu’¶uÚ"4k—f)æÏHâ§«¸wÅ6ÐFký#,­ìÏÚýRKÒ´y­¿¥5MÛJ~Š®!îSºÖµ´¢n [eN[š ÛîE[vªµU,ÇjÔkkШu¡M[«äð›+däh§=ÔËë{ÐH}‘¿sÄ8ÚK׊,rDfÊFõ|/7Y\ßúø}(/{Ô__ÞçÚ¦xÀÅoxÿ(?Ž_ù)ù™ê ]Ï»„Š4}Pv>7·Ùtx«¼üáØÙŸ”ÍçÉ“|®Öšò¹<)M·ž‡Ë©¦¼õñûÏþÚ5 $i µkØÀ»0JÛ1Z7jµ0+׃NÍÀm–ò}—v-6hQ„´~„yܯ (ůfYüŒâqKq™Š»ÑG·Y ½™n§#ò‡ì¨;è§ GX휛[í©\¤ø­‹î¤OZn\n…».2KÓ§ì!ºUÚ¬ÀÐ3ré™òôi.`&Ç+â§›x§[ÔêÐtui:–Ó¢i7²½nÂXífÈChÐnÉJ‹é™5§«V_l1îQàVI÷rÑÓèóê½ÈИUØ–Û L+œ¢ûè y çÙ ¯Ëjt¿ú~€TéTÆ„}‘?nŪšÆš×ÿPKŽyÛ2@KÔ.Þô ,org/eclipse/jface/viewers/TreeViewer$2.classUT <û¿B<û¿BUxèd¥VmsU~n[H³](-Z 4MB—P±BZJ$‚Ðlñm»¹M¶ÝìÖ}i,ê?òÎÐà¨Ã8~ðÎèŒÎø2#ê/q¡X±ƒGñš„‹ …Y‰è›ÂÒä9›&ï\kE#ô›R&ye6˸‚«Bžkþœ†ÄÊ.y)Ãzæö9«T“íb¹ŒX9oŠqîfÕ5ËsÇUWe8ß(Ø47ŒÊÌĪ>~UUvéÁ-±}muá†eëHpÕñ6&£¸;Qš¥;  áØUCÏ›Enº2¦1 Œf„Ñ MQ‘Œ¢W¼§çÜ‚Œw*£sbtŽA2jrÙuj }ÕÌ|Üò¨’§ ][žXå¢Ôˆ"[Yø ÃuÅ£I…–ñ>”衘;ûÕsF ÕÕáÍöuªY¼a@5kN‘¼„Ešìóæ§m jå¸\’Ã2’‹º]+`“÷>m­Sl ‹áäΞ·W¸(õ‘[pw nÑ/4i@ºúl.<Á¶JבÕ`ŠO4׆VÛ”åÙ¿®‹C¿»Z‡—ÔUšk9cšÜNªãpgitÐuŒá€¸QÐ;ñ‹ÒÓIÿG_i²j§wW"õûÉutAÍ6rÄû†Üz¨Ý'ÚèB/úP]xÏû}}x!œ £Éoq¨¿Œþ‡!œˆì‰5P1 ¡¢8‚£bœ¾ŽÑ¨¥C.½@oæGùÝeÄËH}^û+WÌBØ3tÝ b¤>²ï·…Źâ=ÒS(Ú# ¾Ä+É¥x¤ŒKõŠ=Åöƒ–¨8„`=x—}‚?á6ÿëX ǼPe©-z$A•$Óõ?"Ê~ª‘R 9$ŒcÂçpÝŸˆ‚ _Ü¢ÃÍzèŸ!±_¶Õ"‹·˜e²ÀÉ -áî:¦ª­ÙuÜ«¶æ×q¿JÓ+Ta¿Ò ÷7ô³ß‘`Ô¬¯dH—Ä»$ºáý0~—V£°J%ÊXÈ †¯‘›K&ËÐÃ(c¥Òeot9e”ªÌ‡iªÁþÄöŒô{FüE÷Ê¿é"õOM© ‚=ÄÇX#æ6<ð1>Á§¾LÌ·£LþPK È‹s5 META-INF/UT —†`E½†`EUxèdPK;YW5xAÏ*_?ƒÓMETA-INF/MANIFEST.MFUT â†ùFQ§UxU¾ýáçÊv#;úÆÿýíÉ‹í^•ý<ÐÀ—±—0ég+ÞuÂÔ ÓàÁP?Ïmô%òÛ±·oã/û¬Hìªêüú׫A®šÞm20‘›¥•ßTCC^hÇÙëöó >Öoxàþ=Yîö¯¦{}//ü½_øé Á߯ßóXvá—Y] ÎPWaüéñmžûÈ9ô/½W¼ó:òâ]…¾7ð—~žK¿$Ùe`ìÒE1ôÒ}àUOøZðË-¾ÿþë=h€×÷ÛûÀ›šÀ"‹³Bóƒ°¬Šöøâ^ûï¿ô%þ¤Â~òÖ ¹%‹ck‚Pæ-j^"ÅLPø¥žþgLÈÕ`Àê»f^®¡pAyÈ;|¾cNL@a5éaÓltæ{„Ü¢wÁ"têë]/½1ŠA9ñ € eÂñ?7æuOÙJǼFå|x°z¿Ô«>ú(çAêgb’“™Ñ’›¯Á“–±dg1®Ð[P× ¿Õ{P» 3úûaö¹_Z;f¸êU¼†Â€pª²cÁ»ÑÒ–…Ò“C*«\q£Â_à¨ÛŪ7ã rÙµû ¹%N™6=.¹‚.ˆíˆËèü¯AÐûZädÖ,ü8¦½°7ãhPÍÎÚ• (ñ°Äë„Ý¡À¢%çéì· îø94³{âK4^ïñéúŒ2DÈÎ AÌÔ§T0l'öÍÛ̓oÏrFËLÎæ‚¶»åªv­lå£Þ#òv»ï»ü¯6=n]!¯ ý_ U7iŽ[÷€mš,=RÍzz؈çTÑûTïVuJ¯ú̇õiŽæfÖ'V·ö6³˜¬Ë dÂtŒëó)tx¦ð?å œŽ Y©j\Ž„"d ñ¢•Ýê¸à‚íSÎ{ƒ‚,¦Óë õd¦òp•ŸÜ®ú€‘±†Ø{òÚ„=æÌV*]³»qLx³÷áÆbž~ú{Æ2v½ÛÁÇå ~ªªVÕ´ÐH£rîln?÷È|:P½v5Õ°C?#µ‰´ÍƒB¯–ÇH)ÖO£[Oåîº J tŠr\w\zEÊ3ºZ!ÑÀ ·Õ»SSþ9t}íõ–òK·óGÒ:¸˜Ñ&àô~·¥;H„K3t’K{ ½îÑ6‹I»K 'nn“ÒQuµÂÉ‚m©Ê,+ïШóg„ÐMĩ߱æUÐH(­ù ÝP:“. Tô„]žžg›ùŽŸÎ>·4­û±ï^QsØ ,Ü õ²jcõ]aÆÅi}0/ÿ<ɽ9<(Šñ v¦k´2µçëé|;3Ud[P o<Í «U{ÇU")™A-€Í„$g2HÉ"l6žÕÞ³ÎÁw#çsÖƒž\°F0 5“­† öâü2ž¹¿À”yá>|àqX†ª¬ìôʹΦ†1Iæ AOeµ›[?Gw°¥VW«DŒµYî2,@«ÝŸ€’:n²Ož@öäÛ)ú±7š«|4Ã.èÖ0Psä ,;Òã¸ý ve3·*„n\?˜ºw™ÑõÑ£‹½U½J9ñÂ¥¾\Œ»÷» Âé9noÌ7³ ©g‰„:† fÐôr†qJ­ëñäú¶V}Ö©K1Lý³aˆ“ [_ÂÕªm7,cí¦5_fæ2~>V{.èZžA1iËL¬UèYÇ= )˜Ð14)*ÇçÆÜ{Ö™–½4ªýf±Ñ<ǯ&Ȧ«<É…€¡4W  sÕÍd\Ö[½•H€îW}ùñ°`ÅÁVUßwE×y.K~²›ÍOîsa*ÚŽ¯^ã å6ƒ÷[°u¶/¶l§ÅZø¦8y犅ÿF¯—7'R郸¿¾Cù˵â©js´"8ÄÚ†Äj5Å  ø¦ŽVsP½vÅ]¶;YôÉÂ:¥ÑÜʪ¨H°;Žáïêõý‰É#ƒBŽ3Qb¾vÎI>¿p¢¼¾l«CHwê8{ü=Qôä.&rŠLÌJ" KÕÈC$P.8ïòÕjIŽ£ÝÍÉ©>§öµÿAõD›ðì¼Ïë?ÐAAÆ„÷ˆÒÀX”Òç#À@Ï6ué꧃öêp¯άžS &/âE+óiµßœ;8,OÖp÷¼=8õßa–¶Âd¤eº8áݪ² Ñ9߸÷–K_X¹uRÇ7sõ¾ôÐZJY>æ$ç¾n5+ ò4[SêÖ·ÍâJlÀmžSçZ‹.vø}öÓjØÉÈHkjQž±G=ZLfµÓ—¾ä7 {”Êq×Û³c·êu OÈã&m9DT¬Hƒ$¡§ f5žÓ¿ûA¥¼µ\u…¤,˜m¦$³­»Õxn ¤ù\xÞÉb¯Ð·æó,¾Ã–…ƒ„‰N“š4¨Â`£`uѲ¾¶oØaM@½!jO‰&С6 R™¿¨Wã¾wïŒõvºþ<ð1ö¤àV-C¬Bl}î¸Èã]y|]ŒûØëò÷Zá3·ºŽÃ¢P“×d9lw{a)¤wj_´8l?îi¿A¼AÍ0 Xä¦]os„Jö„nö { ’næÇñ–ÛoÉT´»VÏŠÊ÷^sN¯Þ;j@Þ“œßW _Ÿ‘ùlß,ReñÓeä5·}O÷ T6vÕz #eìÂ×uYè×?;Ü}àqÿC‘xR“YFÖ¥à—²«}©Aùísòn¢{€¨µ_ç—¨íŠe óÉ’/ã-î#]¬´‡Œ'«§Ùô'ضý|1Ñ ù<)[Ãgâ³}Õ»C\A'O¯ñAäyº7¾‡Êp ÓáŒ?#ËhŽoç &«øe޶Á\¥ŸcÐKÞ‚ý›ú÷ •±¬n;­*zÇ;®µÞøt\™ÁBôšèLpCŠ<ñdA‹Ï«-¿TY¤›úãð®ÏÕ]ß{ß÷7{€Çà„›JÒTíDäì¤ _7(14i¢§2™V±O¾=’¡åSjå0xÀœ8óÚÉšQ¬UJ·úO†ã>,'÷$zPŒàµŠ„rЩƕÕ?Üžàþ›Î×—âc¼ðàB՜ͤÒ_ps{73t“T©Í¾ä}ÛÉêêåP%ñ¯½9ÎH’€ 6wHŠç3z( ãžú¥M{ÿ<.Éã +O*ucSš^pûRÏ …v°Ë‰­×ãþó¶¤ROzï¼/è&¬Fñ£­hçHIN8I¸8’<«3ήÓvEžŸŽŠ¯] a¥ ¨…•@¬š9NV’œÀŒÊNìŽ/îWÆý±-ø^6÷$ü^¦¿î@<f¸ T ¬„ ØOŽõ$¬¤4žê¬}ª?.E»½ºÊ¸­¥<ŸJ:‚°8¹Ì‘Õ2çøxN~PÇ SÏ’àÄ1Pó‚>Î4-3UvksÉx=öÁ9­No½é«£¼‘çáô(†G—*D‰…}Qd4™à‘µ5^âÞ7/«Êÿö<¦ÊÒ— Üÿ2y£zÓìfS?é[„·PÜV µñÉß1S ˲w î*ì»<0³…ŸÃ²‡É×J&♀;Œ÷\‡ýS=RĆ;€Þ¥EN{þ {îAßBǪ&óqÆò®ÌM‹ov?#Y]A¾¶ÚÊû-k—,ÝÀø.Öé¸Å^Ý™-²:—ì"zP†ã\Ò¦;‘€IŠLæ{ŽXf0’ÑŸïH=hÖf®›1BpR—ë­ødÈöãl3é8¿ÿZR¾‚Ý5ƒ #þ Xíd®–XëybŸ}f ‹×gú¯ ÿÖ¹ñ±ÑÖL¢­9,?¡š0z…8?qÔi&‡M3^v½·Gî ™´—P6I’…¨ÚhãY‹S͸“â€J˜ƒÂT ë©_Íž¥|‹Î2Ù^ò`ËGÅt)AäT¯ÁËS%%w¯)&t9w» ®ðCºQ(¦öG*p@Lˆž3Ý'¨v73Œ¢$ÂbÖ†.Ðþ¢¡Œ0ٺʄžÎsÜWúw](;|ä Žâl¡>;q³r²#‚ùÂ÷׉Í>‡2Ÿ¦™@²!0@Ü1Oä±M…ÓÙ?qü(Ë>Iþ¸ÿôxÀØaÜã£î==oЉÔö3•çÎm¢]к ž9o¡ä~ª÷ »òƒvptjãK–çOšÒÌ’Ì"–Ù Jÿp?>t©3E;\° œOl:›Wûd³}z×ø'OYÇ´­c5ÈZf vNTúD/Ö|ý$O|ã6™fx«6³7‹xÃ/Œ(qalV^L3ˆ½7Ÿ{_x jn‘€Öö,¶:z6½bϧRu¸ev©—MÅñL¦@ŠÅq0ŸYtvÞÐG÷É]Ö/LwX ^vñÔu[E·¥eÍN-ƒ'ÓoÑIE7cçT`n>w¹-¹Nø^F‘c'Û€`Ñ-ô⼡õ•ŽÖ¬ R1¬L»˜Q6"0·ÙÄŸàˆÇª}e¼º+€‡affbnk¼Ò½µíœB™©ÂMŸÜíü&ã Õ%éÜ'œn^ƒ<Ñ: ªOÏu›87K‰ÔûÒ¡xÔ—Èu ñ‘ºÎ³Ò=J¸¼AŽ!m7¾î¥­”yv¼¸ŸþñùÆ8ôÕ½ö÷_ÿüFtÏ©p­&CJ^q:pm´;ò´=–Ùø*}ƒžèô+ô}®ëô@×ëŠåM‘ÎsEI$Ò3¦&r,óSS„Nl·üÒéÅ^uüÍÙýa:q¸ù©2|3Zêbt]kßlº½BÐÀ‰GGi=RApo¢K”˜È BØ;üœ"ÒiÜc~KçÔëÅ3åÑWaõP§G2€€åE8tCsfÌ8S}‡¥ÛÉÿgdFΘ¢{DÁœ‚KãH5€ºã mþÔá™'Ò­’ÛŽËD‡S ö1­Ôu8_ü?+W²Ü(°eæíˆ-™…&1o^0ŠÄ(øú–]¶«\…U݇ìp8™7ïpι×.ÚZÅǦæH¼c/¯ÒtÙÄÂÊín DFÀíÈ‹›û¥ìÉùÀñäáM/rÄÆM}YéžpÅTÕC냚ùÒ>ÄÓy³øV–O;ÙÃÉ?b•ˆs€Û™ßW=îFY¦þC:ù Jè» Ë]D’­Ö&¡qÙÏ'òÉÉ¿g½.Ío{“oÄxJŸpØ'óîïsTÑ:©O¦‘›<§XW¶˜CHª96ž™mÁ®Un¹ÜÝ/“süqVÓ(%Ø»–mj z°")qêAcÆŠX¤Zš’Ó Z¥z¼ÿé((—p…ðÉ 'À&ÌÜZ‹ ¬`;XD½>ò೟·s¯2̼U'HlèÆ+Îâ`dê¦Öi¡êë[ƒÃ´&œ®5}£§…¶è!kr¿ÎÈ]b!˸Ö߸iTd%¢[š‚Žg¶ãq§É„R–C[Ý8Á²€þ-’OëyšƒJ”Å€«"r ó‰v‚n/ ¿‰ZT5­Î]LFRn†ã(öÍX&(¡ƒ«šñ ,Ñþ,½ŸõaÜbÁJÌõÎìÒ«!dÉQ¹IôfœÏ´þ¤¦oÆ’HvP‡(dLÄ}"Âa£p\wp—ñÜÏǹ$džÛÛ½“ãH(˜ûy¼zxÐ6 ƒH·˜MþS¥;¹Ò‰ÈqŒb=¶OêHG¦ÂÇsAcYŠÊ½AI³0l@æ¼co0‡WNuÅ"ªH˜É¯Üüãü]šû‹éMŸY`¹Òe]u/Bg‹Žž0ª#EÝ¢ð‰~ÁˆÓfˆà|Ûõí°O¶E¦{îN@íß7n¤QÞÞÿ{m’çòª¥L7ýà’¤G¬Hò;Âk/ Ÿ¯Î Âñ>¼n.°a× Ù™¾îŽŠËnæÓ™wñýêßÃÙìý£Þ ÀŠßÞ7•»+6V¸oï×Î9Œúø2  £FCŠéE¿À“Ò¦„ÁÂççÁ•¯d}˜¬¢”ã ÁbB³OÌ•x¦EŒ[œÞòwʈΟEd[µGº¬0^Yé×µdÞl{FãcøSlñña6vmAC¹W9º—jˆ«êt3óâEXùZå½7çs©é _`ãé+ól$`û1ˆ] ìWª3_¶Ïˆž¦‡1“C…9èœù2-8 y<˜æ_OÚnè{×ÿ(ß§±.ñjG¸pôü ÒNN€²DzЋ*²W ‹piÔ5o’#ïÒåâL„kÛTÇíÉõ¯àý6Ârûáê‰è"WS›G!‹¨¢ó7þ ‹~°ÔÜ)7PksÔˆÑß'Ø#§ë\~ñÈ¿ ˆÔevy-^Ä•¦ÝÒaOØ=ò¸°Ä»³æ/Bê~¹”'¶ä²ÙT(&_=Tôâ[¥3,‹ªùb ïþܧƒ…^faÈ …óݽDŸ¨]‰¾ÇB2Û-ê™ö?DÌå-EˆHÒŒmî$÷hÞÞíìbþ§áÉM”c4·;v·Ã–´CH«É•ÉØÞî/âÓK\³EOþp.FO߃õNÕuž§XâχŊ§?0 iw\,™xº¢S n7MfµŒ%ü‚G»n>å²ÿÖøÿĤ\çã}šqµ¾ŠËèêÔDz;»ŽP-,+Þðׂïß¿ê3U²ò(1àn_¥(&WG¨Æ9ç¾ñB;ü#ö‹?LnXÀôÂè†é$’Cg÷+j«¨ìy~ßq5îè§¢HÚrÂúmßI,ßÞT’¥;ÚaMn ê²¾©ßDDoýFÓ=?= ÊPˆý£÷$ IM¸jŠ{óžûbôÇ^õaŒÓa[Ü÷c,8KÊ;Õú¶qêMÚÕÕÒÞÓSt ›Þûº€Þéu~ÝQÁ¢Šºm'89Ź¿âü5}ë§þ yâ7âXIòº1Òºó:ÞòXHÇÿI³˜P}§IbÙ TkS&™FD{gPù`©k®“á‰"[Q«µ£ö‰[éóÔ¦ÃÓCÜeT3ÙÖM‘íí:lÞò´ÏõYbí®BÛÅ®²æÜFîú³‚ͼOŸkd˜ÞLTúܸvIõ ¸n&l{Źċ“ˆ?¡÷é»Ò\S 00)²]Äá3û˜ù† ËjÄ×,_ÁöÅ Èæ\UŸ7)žî ”>-gç¿ +§7rŽoš2Ô|›Y"̱ÊJÙöëAU9>ìÚßzöž<¡K%ïOýÖ0Í¡4k$ ¡É.ÁO‹Øå¥]¢vc,aT¬l,·ú•—@¡$¹ÅHÄïzÊì6}ÄG¿û¬L'½½uØ#:µ‚™m7§h{n1õ³@ç ñ.NöÕ6¼astø+-;‚†J=ŽØ7w ýtÞô J,Õ$ Ø‚ùnC„+¢%éHáæCÓ ñ4‚H«WjÕa˜@v4Å=ŸÜЃŒBÎb)Ú3~bÚàK HeôÌC°`‚éq»cÖ‰‘óhòó¾ºéÌ\©(ŸÕ:iMh1± u[Ú£‰Êõ?·ïM?«mñÉß’Ûþ²×h©˜±V”ÖÏÝ׳zI!GOáäx(q^Úr•5Ø}se!õÿ&ú­-~š~–FÀ>åD¡Èœ¥^5´|³ ˜"»©Jㇹ×;ìy±‚ ¦;gHf€BºŒ² ‹óGë…*é ÌðŒ«d;lµŽã)·š p`í’Ã2ÁËÄ|™'Âÿ½œbMÐØe˜¹® —×{cqüƒ 僮ֻÕU´=f¨âÀ=¦~復…ÊËPòߪ¨it¯ªÆ:³ÜÃc àXz:­(.»Í¯1e aù?íLÑÙB­Í J•ÙÅÊð$ÜnÍmaÞú1Àh—Ñ®êEîÏâ ÛÀZ8ëDÕ]Üó ÀAŸ|Â+½5XÚX´Ë}@¾êtÒ*yŽ›I–?ïžJxû­Oô7-ÀdÔ³}#ú˜¾\N:~=çN¦ŸöM­Ìe,à»}Ï@¾ ‹9ƒÂ‡X”Hn®X¢c¥Ðù­ý"T.ÒYÈÞ”FgزðQKFù°1O¥¹LNó[ëÓ3uUÕ»ðQ'› SlwÃ(«M±§íÀÙwdö…p4Iöx!•2?´wEÍN]|çsvë¾ ù§•Aÿ1Î'½ŠžY4Ë08«´ ¬}äòý–îsh'Gâß3ÆéP}-“ûNoð~†0eß±Øx¨ƒêÊUË4hÂÊù^¨XyÀÁ æÓ¤C(Œœqk©e¾l¾'•ö~h|§D4R12íCkõÁ>xÍ9½C÷ö2æ9úùq3ï•Ê.¿Ž'SÕ ³›¼mŒåN$¹ø.#žLœšùÅ?''~”Ï{ûmDßôÉ­êZq=cá‰ýH`ºa±Ä^ˆ¾ýÂû`‰æoGÖ‹ø,£߯v³×-X2ãä¯&ÄÍ*ãÜì.¿ó>øVsÂè+_ VúÃL>=ú­<-›Ý`mÄù9PJˆÚå½£@Ñ Nh¥æóü¯]åeÛÌ0ë7)ÖNZ*ƒk‘•j ”i¥ZcwH‡þ’žÖ¦Å¾{y¬¯-Ÿöˆ%I U~=/kšÈzžå¿†ÓÉÈøý¦”G¡\³;§96×eƒ”~6L¹Û>>åÍû¨¥gÿ\uBè—ÀŒyQÛuÙ¢æŽHÕk×|À ’j\ó9Kå±ðÃÜß?“W5¥_Ü#„:#Â&ýÆYÄ~oœN) ‚Å Ùjš«BÜ&à ¨3¡ªpü$I6ݼQ‚§Ö/Ù ¬NÔ-àó†Jë/4õßoÆèã•”¼ÒÅ·H7ž“<&¡—ø•T{Fß1}réz}|ø¬ÄìG:$Ñ~˜ç\G÷|aÜϦƒãZ2›¤“‹+›®ã‚k·fé“g«/dóèç´Xf(¿¼-¡]]`ÑcU=À\j,#Ë>z8›·Œé¿Ž¿Å¥?›8Õk!äáZã=çÄæÌxË@»Áˆ»W-äf¾)–¦Awlt[ êôx×d…á(‘·‹¡  IøßÓä_ä/h|zøQ Z½‚]ž‹¡§F¤¡ziH0…ZÌÎß×¾èÊ<¯€úá¹Çï¸SvD¸ÞŒ¹^êv¶ÒÄÍC¯•éìÜjW­[+§áéÀ•FBv¢4Œ)Ðý|Y?ÝðóqYW‘>¯®<#±5£Ã!aòLèPæ…"ðù\Võ#Å]’]ß‘3Á­õ‘LF‰Ã»IÅ`í\<›O•æ'±<)­ÍûE¥a}ÃÂÍöÌÆ7k+äâîihq‹ÙÄ»éÐI0±gHÝ)P²cu ×@}ÀZ8iB•OKŹÎVâÖy…$”ÒlA^8a÷;Éð:+›ÎÛÌN¡Í­KNîòÝwÄhȯÖ½5 ÿãÈâiÝMŽö0¶×‘cWÞ]ͨUÅ@&µù}H¸>übùÖøÿç—%Ó“ÍPfMnwH•1ÀX¬óÛvä1 j¶÷_PˆXÔÍצY”™tÏ;»¨ÈœÁ-)„ͬö¢ÊÎÉúÿ2Tú=mó?tŠÞ·çLoe÷7içÊÛ ²Á—¶=VÍh-ƒ¿3ÊÏeÒìZ¶„nÖÞ…ÂÏÛh+Ü\jAã+w*®Où.²“zƒ§1Nz+Uíwy€ —ó2‘Ýò€LSÇúz‰„Õ¡ªÃÔ‰+?öâ4»5 Ç+,é…¨oG½D¯Ú†ŽùÎÕ¶[‘Grͽ©eÈÊê-Kj‘?êÜ”¯#ñÒ °Ï¦¡¶Ð´ßuï“—gÕVãélUÊ[·‡N…ÝÊ’Í…ŠåïÂëi×í÷•˦-_¹ö€0™ QñÑ.۲Ο£Þ<é;A8ûH ¢PÔ×x0q£T¯ñ%ÛoB¦þµ¹mšNeÿ˜è§ÅKWdy-@-}~;3lÉ´Ûº¡ÌüÞ*¯¡/ôñ9‹/ ô­º¬ZœÈÿxœ÷©ÜŸú£‡ÓyVÕS~ШÌ.ydÔÎ'0©E!I’)J½9„Ù°dÝ„‡™c‘±5¼XÇèäMýx4ìe·ö°‹6Ëõw!ÆSaIt:éûýVÓ·wè~Räò^ª«ÇO/BÅ϶Œ—Ì®«Ñ¦Œp¸!°ìXÈxjëšïÙŸS1]á æ³4æpÙ·ØnÇÅyèùÔâñ| ˜g>my‡ÎÚ_ QÛ¼å¡+åLyÌñ 5 í}…ß·h?Aµo ´Ä÷Nœ²?+ö@gˆ.µTüЙΊAÁäÁˆÙ ·žèâ¹’ŠWÊùÅøi1Ì´ƒÓª¤®õXv+š c¬íX88ýB`ñ›{wpÓ€ÞÙðá«FÚÙE¹HÔ¼®¬AÙ,lòûuÌÚt.uZù—=ÊìÃÍA„ä{·‚E’ˆÐŠ[4ÀóI…þD?›‹˜z.Ì>0Sb/ßbyüƒIô¿¬]Éz¢Z×¾™3c€ô0Tz•N‘ÉyèéEº«ÿLR§*©B%õÿ3Ë<Âf³öjÞ¦þÀÍ¿1!ê8›X⡉íó"­ŒËH2Ëôw>µ'Ñ[Sãžö_&xϧkøìö¸ÙزwºLß”r–Ô”‰¹)ì¨þâ¯&qÜ]—¤l,ÓþÉúxp_W $Ñ••ßÀ`L æŒWrº…Àažï‹OQm4ï žñUyžçÕëê„Pc±FTc&€‹µ« uÓ¾†ƒÇIîºnÕ,<ÓL"gšHî«‹WÚa!Êý5ùžž¾ ´Íf¨A3˜»°ÈO’á¶.":ØŽ!|цø¹?Iò>Íî`y ƒp.›“ló{YZïKË?Gy^ª‘ñÕ½Õo]ŒTµkΧ!V0Ik(Ï?lOßÜŠÏÙøÑC#va«50?šŽtĦÁ|ø9^û@gÞÖk4ÛjÜškJIóþP*¿(Š~k©þúõ*:È:ÐÄ“Ò^§Àm)gFÍ*ŒN+N~¾rÁ_óo9R:²GU°ˆëqsÒ®¹¯éª\ÈA{oWzºh6‚Žþ”Û)®We¹ëÂm·‰ŸÀ¯âcóícÙNÔ™ÁªÀVŠF¨¦¬¡/¸»O 6Cõ¸‚t˜À>ÄõÄIûõI5Öîù(eþŽðç—{’à?° €6äHj µ£r :^‹1Ø;øfLF¿Eæ/Ñšíïv@ÚphF7RÅp CwÙ¼ýGß'ÿÀÉý¼iŒÌ4€D’ë˸÷I“Yß'ÔÛ^`ÿB¿æÇQĶ*ÖTWÑF§H¢rާÊóHÊyaSôµ6~8ÊäýƒŠ»w$3EãäxaDD±M”{e4¯üÏß¼àï‡Ãñ9½»ÞO?ʾŠ>!*8i5P·ù<@žŸ?'Ý‹ƒüI‹GBU/?{ñFêà*ÚZÚv¼”8€¸lý1Lýñˆ~À'ŽVe¢É!·D#TkȤ<œD=0Æ¿€™þ—ÍotúH ·ÈÈ0iq¬é'¸o9¡ŠèÂ(ñ•W¸¿×®Iád¿5ß<"ç®îŸåJr8’knP51N™« tD¸¨ñþkBýü¸Ôü "ìØ)Ê è*“Wš‹¿çº@¶‰5\ã‚9˜ž"PÔià Ó»XÀ2ÂÇ< þaÀ «°¼µQR«¡ÓÀЀ £x:®¶iµLBøÙĽ™Óðʨ§÷,ŠæÇÂÞÍØè}óÿ*7óvj>Ë ‰îzGuŒAn{”9Þoý¯€ðó¨`“^ˆ1¢ÐØ-ð]l]1F½ˆPŸTÉ>’¡ëO £#xÚŸW*a“Æw’rpø“³Ðuåë±4¿‘ý‹Œ â“!C É@° ;¤¹#²EÔyLjµJ°‘„A:ëìz}cÖ;«…Ñ%Ü Øö£‘ÎÛ§èV­Øœ'ú)]ë+J–uÎzH?½h <Ñœ½ÉVçL2¸”飤Vžv7µµãl!ýÿ½yvH† {Ø;#: @ºöE¿‡. .ôçºåFÑX¼§…¢ îÏçÕÝ”*xùt>6ñ™ŽÙàYǪ°‚Þ.´ªù8úæ1QUºo˜ƒJ˜¤ù?È ¯–úBiü¿•úHåß1söY»š<ÿQ†=ˆ\‡«8bfFn˜ï Í_8*o¸Ö'Š…û*‡k×ÓÓ9º›±kâ5)m ý‹óö]Fpþ°- ݇‘µ76*º¦PwØíâø@&/é!SóQ"ðW8ÈT·öf×CÙ(§ð@âj·p˜ó)óW„x|÷5ƒÐNoŒ=Àƒ”–RÕj-•´ÐZõIñꜱ¨U; @áþ^‹1Ý©!Ê|©oZÓ8ãpáamrÐ_Iù¿Ÿó¦NO&”\Úë —?…xç3ÇæÜ2Ï9ÅD¿ðÃxƘ¿oóöí*IRmñ´ÏŽÖAåW»’·“tÖÂÛ¢.ä"±Èâ 6Ù´DsÓƒÜolå0Fv Åw 5æB¤¿­ÐmG`v,2£êÚ8F¦px2ó­+i²éF),ºußpT߀¸wÅçý²9ûüSa@HQ€·ŽyBi\£¾¾X²ÐIø¡çúŒ{¥ÙpjaÙÆ×“2jÍö»9ÒÍž˜•Ì?Ÿç „”‰¦È‘Z9NU‰.!mAFr"…'õ:“nD%WI—¢k^ÙS\Ö«/0¸pñÞ{ÏO/¡2ÛíÅcýTÄ$Ïj’îm/¾®òçÇæWmžÙ_Ýg*–ù"™õ6 )Eêžµ6Ì-¬µßÿúe‹jô….¥…à•¼”ûÓNQ:äRïžW¿9%–•á4Qð\6ç2ð̸qz\hׯëcê¸[(Ç“E®{¨‰5aÉN‚ šâQ°VÚÛ‘Û*±ÔÈôå¬[â3µ, %4eʻ­)¯²ù}½€²÷a?ß’B ²B3;ÝZž‹ìzl’aÅDÈ¢´|Þ!õA¾¤:ú5Rp"Ð[*i2a¸Ï\ë/ì~Ñi™ÿý«½¥Ádt+læâ%iÖ[„œÌh½ÈQ[ÎÏÇü•i a ¸»«Ì‹Ð&ÚÜ(ý¥²àÌÞ}£3Í_ž™`× mî´€ö –Ÿ²ŒnÈóiðñKµ•0èjË”çË-:ïÜ¿ÊHZ|–;™ÇÞÿתBŽ´°Ï™Î–C:c·/§¿xm¯:Ô XUQÙúƾ/# ›€úÜýøÿò9Í·¼þJ«¡€Ci^nUoOës†Êß??Y¼Ñë‡äý“àσ¥VWØTzÎS,á¤ccJ;ÙÏïcnü?¿ÐŒï¼‡÷ê¯.ÐÙ[‰¾ÛfÆ_‰½ÍåB‹ 'P- ÝAªÑžGä཰bž»‹ù´÷Lëk…­àP:‰ 2º ×5Öplà©q`ˆà*3ÈBÙ:h’.ðá¼q¼=3Š" ßoj,—ô!¤–i¡üÌpjªI²E/¯øÜÊg&²s#âìþ‚ª;7+˜ïÍòƒ HµÕ•‹àñ©ËYd žYf÷Iò~>Ç %€ëÛ‰uª•7a›÷ã–ÃàùéøcÜõDi ññЧ,²¾žYö$ŒçðÂçeÞüÀøF޵±pΛ#'’d#–*ß‚€2_Ë?Äeö9¸Ì'¬*Ð Bïj͹ჹ·¯çz}Mr‘:Ñ|3–ý`_²N–¹ŽwyD5!š¬P´ WÂFDèÔ…Åž§Âá¾ ï!º]’°IÃžà”œù•1ÈU½£)[èûiºW89xÉâ¥È炊7ÍH-^û4¤WÛºßК¹w¼^èZ÷©­x½å“0ÁŸqi·SD~¼ê6$C[0%xª˜ÕbXè§Ô|!ÓÍû5yD5ßfx!Þg×µ'ÝÍÕçiÏo$~§u–œC¾·o Mhæe€(Ù-6é¥KâºxÑüÎÌd¥w üg m*Á=@Â%ë~0KvCò8eËÒ¹/­š—ŽÜŒÀ;pï ŒèBÝ1--Ó¤€ª;Fà"±ðJ£tW¸±¤Õ^P«g÷3 ,ä(†§ÇŸÔ©ÿ˜ô3ci§ðšWÓk’„qÓ¶1+ÙÅÙrwÈB‡Î—@AܵµþZ0ÏnW„Û8Ù q:6×ï¸Cü‘ϧ%y7zÆúLi¶çD-ë^ï¦Bª-lªýnÍþ4Áß®“ÄXi—>âÙ±—6 ÈöMä^ȯ~¸½s1^n;.\@b‰Z™|L±Ù®¢éžà ÿŽâïR¿UoÚ˜³×AÍ£¨k°i;-ˆ‡˜¦ed2tÑ]žª~>9ž›é]¥ž®˜jtWëfâíê’„¸lŠ-Õ#üânÿÏÏ?±pÄ. #®c„’#@Ûd–fùéÅsgÎüH-˜‹+XÅËÊ늪ÄÑÂéÎ6Éq;ý, Ù%¢RF¼Z÷Ö*UÝýö´Y<Ûûä‚>_4O»ª/]¨Äü6ò;²ÎTy³Qxÿ¼¯øs _A¸O_,s8ݶõ´"q3å˜ã6­`&MØàË^¬ŸMæž_FMy+~×ÿ»Ëù´s¶¸a¤Ûio‚,ã8]ˆs®µ9‘̲Îö¯í9ø„7C|ñƒ8ÎK¢¡÷rj\õì¸l"ôß—Ioßs|›²!™Îùj YHUõ¡ýú¶¡7Y;ñ 'ù 0àû½sð¨ì_T›Ÿ¼—?Œ¨žn‡BÕ׃ž±<¼•Ö6˜iÝÕ±ößͪcÌ¿SÀ–´)Õs°©(Z·ûPA׉½XQsü¤|×¼zÝCö]{¨ÖâócO');¦H:ª#Í-˜¡tÍ7ŠÔÜ,]”9eX¦Ÿ}¦¶ÅX”‹(ÿ~ïßüû‘®ýû.Š0þ,n$uƒ²™ÈÆ¥{”låÕ‰,ïK"ìÞÙz%p("äfZÌ sêy]ë“[.frÓÁ³ëRÜòNò%ÙE¢Tš«tç/;ÛȨ&’<Zé&g}Lyl€LT“Ñu(À2føcÙ9 äq‹Be8céõ}{@'ES¦Ø­%×sÌ)~‰ƒµ!²¡Í+œ6bfÅ„]™‡xòoé‚èa¶Óõä5’ 5(ŠˆŸƒRã†ôz”õ‘/ÉÀ\˜¥óšŽ3¿V’£l<Ê2ÆJŒ‘ðRר,L™ÿȾyá[ïW?P’b“2?KLi5Íã10Òã s¾þœñõ³ÃðÒp ™Û>U~ž”œ ÷œ;ÈLv8ȇ5m™óvµ>êohe¾ÐE·S–L§w‘…Ù~<Ág™€ròÏ‹¢L» Êÿ;féçîÒ™ôZ;wpâTZû]ß”ŠÙ§½€Ì,[O†¹îŠ€D¾sÂâ÷´óÄŽ¢¨ãÓPîßÖÒ«Þ°àë”·Gƒã©®„Ú±ØÖèTÕëŠüýÁޑΦ-Êp3© `{K…ävsâÌ;I,iûØ7É_Ú]7£½pꮺèmC;x¥Ù£2½`–óñð<ùFľŒ '¼i ŽÁcž‹ƒJKà7J’—”R héí€zvÕíÇâ«Á‘Ó÷«Æ”?!I>ô=b½ˆ•PÌ[ÂÞǹš:z»‘ë|^šàV#@f—É-꫟nµ{ú_Ñ{þ»\.,7ÝqÙÆgÑšƒÜûc/:¼ qÑ}š¾HâKMjÚ-9dÏVb{.S{˜Ö©Õ¹Èrÿ½õº4ÛG¨qÏ¡è+D-€ô" Æy¿îþaå†ÞO«Ì·Þ€.Сé!˜Ê:³5ÿíC?=}?rZí굑Æ98 ømfÕ܇ žGOâý`¿mü<˜ ùwrhoW#n}„÷[ÚŠ8”±Ê¾2çç-Ô7 ¤°+ë‡êV$¦}JB½~·  ¯E¡g_71'H´W™Ámið[@†’„ÏB|\Ÿñî˜Ï7/Ànû0yo»%r÷ÒŒåkk)> ~Ã$R÷§#!1mȃعPDÕ”4mÔ/"\Þ¾'–ó(TTº|‡"†iË¡À9íȘ½Júù$EŸ¿PÎU/p$k<€ƒ¢ß3‰(nñÂ’dù‰ÉÖüqg· „°ÞØN³·bÆÈ,ò„™Wzu^ù× 9Ï·éâ~ƒ/Ão6ØpÞ’ÃsG¶-ƒïéqæI=ÂÍu(25äѸ4TGaÕÅوʫ2×ù/4(wNÄmâÌ]DÕoª<~\ âÌ×}7Þ1ch»Ý>G]ÎwôëöÈ&Ð9TI¦jQ+¿Xݯdôì&rÿu¹/ò¦µßŸ4Þu+P=}*' ˆJ/¨ h¨ŽYpDœñß|‰ëkfÅS¦ "‹™`&F0`§LÚŠ†È‡îòü! µC²éf  þønïÇý!ÀS4~½çþñêÿS‘ûã÷ÉC8Ó¡nv,¿¥zžRvjh“êYÉÖolzφ¿¿U!´~ë̳ڎöpií/0ã>í/g-×`Á2,išª³YkÑVX ¼,‘Dæk‰åbnSŒŒ2ÑQV%k;ÿÊ3.Ë~ã$kXÎ ¸lL“¼Þ¶eáò¡‹+Å?ÿð›ßŽJï?µÙ@#}˦ò€Ä¦òî‚nܤ±25=òï /ómK¨nµåDÞº î‰É=MÏ^¯ôïã…k§Ÿ¤LϼÇpö-#gòqÄè& w›r©»©Ý¨u~sÿFTòýϬãŸuÈþçÿ¹Ë_iF‹W®c—~<:nÒ<ò á. ὟõÛ<A‘X׺ jó-=9°q{T-xƒü¼#~¡?~çÙáÕóÛƒ+ûD`•2ù°1ÕèôPéV%qÜ‚ÆÖËÓtc SäpaŸ&|këF¼VÃÊ™?+,“¼Sn¶]%ˆˆDÎ¥²¼ŒŸWz°þEÁ{âl¤PÝ^yØž3ª·‘tç€\k¾@uŸQÝ“[Kg Œ»‡Ò,× 3RBÀ-xý-"´WK¾l,Üj¬„oÄ ’âái šã‚zô)±e> ¶7I³ÓÑÇNíÝ ÀÒ(ù¿ †Ÿü—=Á[Mú›-9ËÜéÑ Îã>{ÕEŒ›#Áï:Ï\w_üÙ_š¯UàÍ10GPvNC7¸ùíf¼[_Ë-ñºVYgë4¿æ½xË5-#ÁY'ñoÖö¡\X½@$ùŠWÕ3Z3-2ÄEXŽ¢’ÜkX55i³qetúEUü|£Ÿýûñm÷?e¶h†(¶«&’î%èr½eigÊJaüË^ TÈå³…÷J¥• ©ª~}=ë›hœ@Yîw±•­zü´b\`$Ý l°¹**ŽDÓ¨ˆçzà"g¿2JgÙµJi³ôÅF Øë­¸bü-}+Õ6ÄÂ¥_)ò»ðœú™]þ”¾Í3¸™RÄî%oébÙÒ5_›Â-?jæ”Áä7›çÙÕ!ï c/bM¹Ä™Áê4$Z(uvá­ÍŽÏx²áw–ººe`jx7Òß]X_ãVŠWþïüÓÊì Wî¼æåÌ3y[%qYXtÔµjp;·.E7'¹·1HäîLæF—§ˆóòtþ‚òƒÕÿ“wÈýÊÓ‰‹y9‰¸zÜD—ójã¦Ï-‡yä僧²v1@+ÞÚ×AMtÖyíý ¦C¯qósððe,z(¾ùêMF|ñnæ5òÖõoÔÏ{@šÈgs¿Q B}Öd…awÚg÷Ó÷9ÀàüG±öÒVMS¾W÷tPj†3 ²Ýsý’Åâ§Ï™‘aΊMwž¹oîmV¤~u•öy`ûüquÁì@9ô)/)Ó„¢9|ˆ{ þm=Ìü ‡ø²¸L¨ï-ô‰Þ¸E—Œ€Ûü›Y¾¦ÒsÀþ-ô+ý­Ç1½õÊqØ"¶ š·ðà~›wÌÕ5lEˆŠÝL´:ZÊÆ T]AYP~æq¹÷Ì{ò`¯àÞ:¶©²4|Ód&ªQ{|ƒ|þ¾ÅñÙ• :o‡TAÇT*2²Ó¬ÐĽ©ÇozêÌÏ/€øñ^ ÷>9Ç‹ÈhhjÛ­-¹+]޹lŽ_Kk…I³0òàaúy,h$WPn¿@Áû2iňÚðW*1·Ù¤×2æ7€£9©íŽt ˜}êµu\…9zõ<€³cK¦'ü¤h©H¸Û«Šm¸ï·ÿPK;YW5‘—¯>JÐMETA-INF/TERRACER.SFUT ↮!Aê47d6¾ÁbÔÊÿ ÿÆßßðkÁдk®¸•á\µñ JYžtû¿ùóÑŽÁßßÒ‡€Y  óÑvTWAÉi¸Ýwä‡Ùeù)Äßß:~‘¨ÕÙÒ F•–* i׸¤gÆ7F¹eZýFi¡?(«âQÝDJš-9DãÊY ]ÅkšùIHUáh¬GP€¤”ßµ*-Àƒ@ËiÙ$î VaÐó êb …§Æ³±Ýªßtˆ¥Óäe£ú·~õmƒq®–—0<Ý‘+™5¼R%«|uš¶x¢ŒÆq‚Ä ¿„BЕÐtÈë[R:¸TßõÂnzøÙÑ*ˆª>òŸ| ^cW44#[Ä'»š#ue¯ÊÙ’ îv”ö±ÙåýAî³LN…¦t´—³–ráz¯t®Æ/Ü%M†ýý&mÿï÷ˆˆt‘^hEŒôÛõ $(HXjrÎã3ðVùeÃÓ,=§ô™Ý¢îƒ¿ÌÓÍj±%YÞgæó]z2=CARn-ÿ9Tß_=Êìàò#+Ò U~ ´ íu…Ck®šrb¶6š•Úqd¿­•n;ØÝ_,§bpÖ fH´D»tËýÕ$ábkgçö©Ý¾C:˜äI«z:ûÎö¤uÞŽš¥®•»j®EÈç•Dä.«qx}(VnÕñ³bËÁ8”äžÓv_­­–I'¡–¾\HÆŸZ:­*j÷ÆÙÞëúÍÃ\Ô]¬,·N2«ËNŒŒfG›’WêsaØŸ0æ{ŽÉJ˜†bÖºªBÏ—B¬KÀrËÜ'Wm mpµ 2ï/•ù€Ü&'ƒåƒ†ß^®*®­:¢>¤…j6ü4‹ÚÕé%—áønÌ£JØ–ëYgWºz(òC&¤í8­½—Í4 Ô××%(Ý"ÈEsºE3›ù„›{ßJE„¥g«¸9O¤qQ{-­vè4v1ÆÔzžé>ôµ©õrÒˆf aQC˜>õLæÒqbG/\óèA¥Š¦~ºjµ<ó¥„CÝö| jc{êìqñù°?w1Õ@ÜkÃàÔŠèáÀÎÎûY„´¶ÜNÙË!äÛýìy¼?¾–S Îp2ÅHç WnŒ» =‚äq%—¹á´ÈÊÍÖ²sâ ]륭ØRÌÕEߨwÕ97t>ªÎ`˜åtŒƒØä OU¦LH¾Üø¶PCåót ¤^p  î°]œ‡“Œn ­F-Ƕò Ý O©ÚÖϹm~cƒ×…œMÃÍ~ƒ¹‹Êå¯Â¹|@¢¯ `'«DÞ¨V»kLâ¡(<*™ƒ„Þ‰÷Øñ±|~‡ÂOj°{›’±]1d¥[˜H²iON\Ëåâ™;ge²g¼ñå{D9½íó…ÆVÐÇ®þ¬êlUì\†­Ž–Ö[õ)v¸‰h]òA¾ãƒ¿_Û¡öÆÊ Ö}uÏ4Ú!3Â*žÝ¡Þ ‚Û3¦¨ŒOÛy",[Ò\žß[y­Ø1Ü8%ÜÛƒÞu&emYؾv_±Qˬƒxh·É.h )Ò/bX –¬D0=ÎroäÝ2ëEÒ@Õ׈†™µt¦‰q+EmáÜ¡ùr:® ïeÊÛˆä"mŒ wluéeGs+þZH‚ϳ*²i¨Åq¯8j˜6Sœó5\åW »E¨î$¯¦kâ¹5Ó ðfow• oÕóDÿü¢?ܾ]†NÆ>6›¶Û#·'®,Q ÎÎZ²÷%¿sxo#ÃaËxHÝH£!z~Éj6½)–Õe&Ï—Ïu 7YøÐ-Lƒ,j æ§›“"SËØ±3aaï3R¥šq#|ù²×Tß®ú„–½•§<;ëuýûlØqû›Í BLQ¤®¿XW[20þi|Ük2ÃÊš *iýŽ×ñÌ,d]­œƒxræã+öæê_t{ØWsª’ಢ],&wSÎÔL_£klœsnŽýÚX¹u\G÷åêqí÷ÔZ i<ö$몑¨ŠÒ÷ºâ­'ÜuF‚™y~XŽü-[/JŸìÄÓ€¤ b5ˆxB6kCLgtÞB©¥ _ êlþï­{{mÀÝ=Ü«·¯¢ßCcjÆ%8Êë%Þi½ \¹b0<§£Oæ~0©R[ctóˆ9m·:.Í{Nœ,"ÝÛ{t7‹}B_._bæn¾Qé«3I™Z.èTXWä ϵªwÖùÂ]ñt@^vìJ?u:®^u^ά-}IMiœK«QÛ«Ñáú9ÊJãQEË-BûXòên‹v†1¡Ýù¸â½bAi>­[S<ÊÞ¬*gWž;ê&ÙÁÞ¼;hu½¸ûWýûijÍ}&‘œIìüR¯sl1ËgÑ¿iDo ðÀDïeÒ›y˜…!XÉ)Gãp^Ow†mˆ';‚\ß'Ô//núˆ­pÙI×h¿aÓ8+éEw…x™‘Ƹȼ)™T  `(ô)­IŸBÏ3½ÉͲÁœÿaáØŸ+'ö‚1lª•†Í–ÝÎÂO¶+¯gÆìâ§Ã|ÕxØ+XÙ©¯+·(ÜVæ/;B¾šhùQSl'­«§*Ž~=|€{•H'8ïç¤èÅgžŠ+â˜Aàðœõ¾OO_þ=6΢ZqšGåiNèšÞÂ’±M˜yQäÚ¢íÆ'€o[*ôö§G爚AuÒSßA ù‰Æ„én®Ç–|ÝÆ{‚'áº)»ñ8Nj·,«uß¹+æ Éqûî‹ï¼»Žãô³­?Þò›ä¾·Í½ÓiÓ_O s®±¼Ñv%QÊayÝÏÔXA–Ç6ø_{矼ÝÝ 2xPe_Nä&b ʿ҂¥=T›mP'ÏÍqé1†­¿Éٯ㧋‘)nqœe ’M‚/zÁŸÞ™Uëä>j¿åÍ<׎?ݪE‚1Sò›#2Ÿ„“DaÑÀ§µ îÁØëZZ•ÿôÖ¥J“~püõÇ Ÿ‡I£l$ÇÂ5Š@2‚DºŒsó;g AYö°`oÁ¾Ð8ÖÅ^VÔv²0ÖÑ™’qF™t„>¹3?»Ûá’Ú/¾›Í·)•a˜®¡¬öøù\`ãH{OæžÅg”Â[­š"‘&(¯¬t½ØÎâ3ÛPÓq¶|…óºHëL°‹ðÁ€ž‰; èË‚´*1+ØCÛìUº4>Z:(z`‰­5ØLSU'§A›8oåGÃïæ¶1ásKùJv7Þ‹ªìXrÕ÷)›³`ÆÙÄéR<’Ñx”Ïnø>¹¸û±ÑÑL—sp¶ä.ˆˆh›´HØ×0¼Póü9ïǾLK’>B5: ™Qô<Ӈ æøÉÌéÐU´=&íx76S¿9š>à ÍÊÙîÓzɧ.qö¤¤J¡I4^þ¯-%ûÒS>S¯Ï¦-_öûh²‰€z®b†=èk4NZ?På0ÜÒ“J,yÑzäQ@Ï$H6|’ˆeø´ûc?Û¿ÛFÙÁ#,DÈ®°iý’p… ´‹cˆq}Ù€ ¶™»?¡Çhß Ó Ã>5ǘ—ø'€{ïJõö­¨¾¿|ô|°²ƒ¨oÆG'Ý©¯ûWu-3»ŒGçœ8a ¤íýI‹ŽÓÚ= ”Dë»~7Üj v%Y”íAñ»ÁÝfºwde_¿Íý/_ QZf¶«Õ.%;…’tœÄÔ¥JðfÜ…<ÁpyBnÊNÃ0ŽJF×+6µ¬kµ–»æ:E/ìâº2aQÍgI'óœðŒŽ†°±î¶[â8;1´iרdE®²àyÏ Ñëý”~ËÊNªa÷T)—BYûI…]LÊFi®ØiµÅ7§qä}¾·ô…³ñÞAÊÅœ†ö”ž\O[žÁ³'Ôú×'Ôk33B°\üu+Íf°%mÍuÜ£î]ä– ²;àÝ!–·ÎÖ~”Ïd“52Ë=ŸYˆÈ1a^!ùÞœ<º_:öa̱ñ!ª–M.¶gß$ø™Œmòðþ…œ~}¼BenB´át…¢6³«9_>‹Ks*ðñ´†n}=šéB0æ ìâ+&EÐݦ¦®üÜ öÆ=ZÕá‘Ù¶! ÑQ°Ã[L;+ìÆ ÏaC¬OŽ:>9ÝÁÀÅ{py e ÝÛ]’nSo—$—ž;y`Š¢¯›±{*¡q2ªyoÒ:D%:ψd’ñê ?g=ÞØúf Gû#Q¹-›ÏÓ}8?©¨²öùó  ž»÷’…î ð0Í@¦dÛqœ-×57!΢W Ò°‹X|Ny¾Pœ<mµÛ¬¬v®µ¤ ›XÊêÚQÊÎãà*Ý4¡ïÓ„âÁbÙnM ä_ñòœÕ¼˜:&¥!°²íŒO¶¶BêÙÑÝM_ªï_ôSß-¼ŒÓþüãÛoÃÆ  È)-ZXwepS-gOÏU{£ÓïÐ×Zפ<}…P&nØP/;ìJú”QX©ˆþ/×2? E˜ØvËO‘>ì-Çß x‰‰ÈõbétÇòÄÌÒöº©Ou7>¤˜†³]Eœ à¨à¸P®‘µvõvž?wå]Η¯Ï´G¤„[ QÙ)cÚ½upÒu3—Ò ³|’–úþÆŽž¹Á+[^nó*¨’#næ1(\‹Ê%ÃÏç:câ…e9Ð.‡;&“Ô‘.¾>³Ä~ýô¥™8.î³—¯AIïcÿì#ánK3m{>’SFc‹ÆÅðAá=8Xˆ—“ã‚9Îëk±rCgg^)'„/éÿ³reËËògÎq± ž ÄË Ä.‰U @_dí±gÆ÷Åa;îPwuWeVf óûö–OKdêjÛ¦§à©W#íè<È[½H²o ñS™ætæs”¾].+À$t¹¡¶a&aYi¾ž›O>‘6rI3õÚ3ˆÕÈJ¡ž÷IlFn®¾ ¦ìŽ—ˆ¾dÁùy‹䄾I6Ké±CGV6Ê/uù ^Öbýk¯¦YJ½wÌ ±‰^ìû äQ‚ôŒ)ûöŸUîÛVi÷: ž€ 'g«ga…îtlù2OŸÿ\¿ë`5*º¹[‰gåÝK=YBcø6¢èA!’äðzXسúbC˜äõ&¹e:w@@øìŒw‘mé`C#‰±LHý%ÉNwsêú€ŒRL/–kÚXÝ`¯¤ú²·ùqšwÙ«”i‹¼"±‹ûÉæ.&Ï5Qžcá'QvRN=€]O\NÔgE²(bHgôhaéó‰±ÜgMÛù—¹!)£´¦±åB‚‘¡¸†dÛ)³ùåþn'Lï›Ü’»#cß)Å9Ô2¯ìËÍÆÑî„e8X|a\fÙJn}wJj2)ÁaÇž”#¹‘L´ÇçlV˜;¹ROK#]¯L8 ˜¾e”y>–r­jì2­¬øû¡Y’þýްŬUŽIb€£{oÎ+g–Åõ»4÷SDL|;wM†f*}¾‹Ö^&;v$PYèEúäÚ¸dE7ü7iÏϕڡF¡­øÕ„<¶µÓ ü­N¥œ7öƒµœÎkèxaíÎp9”/6¯†ˆ‹meèþ»= XtfËÙg)YÝÜØ‰c®ß¸oÄj¯$âkL¿¦³ÙÀF%ä"k0®á]y•©¥×2Oð4.¯kØ/“ÿU8«}OBÊ¥‚6w´b³?’=úóAüQ¬Ï“V&\“ä;ai†£S JÕ îŒ… ¯-#¶x–UNfn1“Îrk ìXU+ÃY1Ö {SïUñlî:Ç1¿ºo`Ì´ÓðJá$в\wL1Ê«¼:rÞ—šNò*¯‚dµSøímsØ;u]V™cÁe=­Ýš~½œÆá‹òÜ{ò™_q̦r‡q_ž’ÊžN>žöƒ4 ߎÿß§uÊ|Ö^ì[»”ÝÃæÍìG‘@¶'Íóoù仂"Nɱ©Ó¯h 6ª@uÁ|:ù‹¼ÒXß\Ô§ÛØoL](×’¬.ÎØÿ`™\òÈŸ×L©ïÓT7åþ·ú˸–WãþãÇ÷ù“k;X±L³\d-ØàbüÕ ž\ÄÔ}:”gæ˜ë°qH€Σ!ÄH¼¶!âñ$fçÑÊ¡òVåÍnÔg>Ó¥øšˆâXJþ¿úû/Ö¦éÂ9Žá3ÁD¨®ª6Ä—À»ªÝ°ÇÑe—KT²$mûèåë‚öNjÕCèc ›ô8’ êªÞ~QÊû%Œÿ³òì¡õSdÓ -I¶W!4Ñ…V›ǫ¿Õä¯)i–J <æR–‡QPÞpÞ«¢HþñÎ.«éîÚ–¹à_ÓöåRMÆx­cQ²é&”ŽôŽÉ,(l÷ÂhÏS›ËÜÓPtƒ*ž…X®F*² ±‚µ½(þ͈OoaÌiEÛwn™PI‡#‰7æì]P`¾ÖšóLL—[µsá;‘Ö<åßÚ¦)@<ç¯w=_vVßwù؃[ZlX¡[ Ë\ònlJâ¶FW4¹XX¹ ü/fºgðš=êõ=¨]å"Âî)UÝ 9²¸Þþ¬9ÿ!á|2þÀÃÂ,ÏhLè˜K×?JÛ>–Σ‹¸î¥.Q6ºd'~Wß ;ñÍaç @S¡r'–Ë€ÿÐû3Qìw—G~ŒnïÈt2Aéh·§’CÚ +‡TæÞ©.;Ì?H“EìS©Ó‘r]`3XtKZb€#†…$Õ…oàé7úÞéf=&EnÎä<Òxî«›.šã>BÍõ’¹ž´=Á¤Á*t/Û÷žxÑ\’—àA[%ž”×}Úå'c¤t1ø¡ðé³i}úoXƒŽ ÀBóŽçCU[ÇÑJ™3ÿŽ\ào›U°‘,WwÖ–ÕôC¿/5¦ñÌ…*—OHàW^Iâ9¨dYOJéZÀäxÖÒV¶ÉŸÚ…ÿ$yfòËtĶpXáäÛ˜d;—ÌÔpr¨a¼Xè&ÿÊg<Ó ›ð½ÉÛµê×°›¯÷…wËÐ5ƒØÿ®êœFë šØ Ö\®|lÆPÙèƒ #^ ü€+ÿ¢¦)£+m#oçu^tM9k0XâÄ-#þÅ·©B“B§¤•¦@·úZ®Ð†–µ3Ô¥>è?GœiõÝ àìME"0c“VÓ”¬…nSò8#‹œ{ïí‹ïôÖ$~@€‘R¥pq¤-ÖÑÕ›?û§RÍñ‰þ¡˜Ìzc¶<½=Æa`GêÁú< >Û±Ëáë-š¡|WKØQ®8 ç`e„:F(ë)/ ~)T§QiyžÊ¼†[oœ 6‡ü¶OO¬OÏ, ˆÐªLpg<ª‹0‘ 5çPϯò•™ýF¸ÉzKY¨XŽg6}"¤B¥/ÅòW­ø¤ˆ»ÞS¸º¡UÒysÂ0~WîOõñ²ù‰êþ]ƒôWUœ&{vM÷°/ ð”WêpƒUªä)¼,{fÞ„•ó^ð"ƺ GklË l\Ó»Ó²ð÷¤²á/ÆI¹DÈ„Îô|FíóãBÎ-Q)Îü©Í›yül5~õAp<™ª&ø°æøÒR·È¹‡t@ÊÁ/Í7Ñ”yîáõ > ï/OŽo[:›5Ú;!|Q«Q¸:N€Ü¨…Mî—?xúðMøû5MËÓ]HP\ŠƒÒöNøù8ùC;«ŒÛäŒåµ¦10G d5Ýz„½‹­ÑvYò#LÞ_ô·±õªw'hÓ!ém@øã:ÖÛþ,.ÔU×ÎIDä(Ò g 01²+æ¡nɽŽ,Sû~°BÓÍÍAÝ¥‡'鯻}ðÓý‰·ÍZÆMÔVOؾ¾ lPÈ)Ù‹qÑ‚8FÝQCÜb?ô”?fÐ=¾+Ú×3±«Ðÿ½ê„ÐϹêØO”3ja¡tÚ” N¶Ô<7G¥¼:y,üD@ÐÃh¹ ˜ÊGÆ OðýUDchLt`Ùçþà 8]¸F(hè>†WW„½)þl«¡_Ònl’M‡:qá©Á–Íúže†©’WiXÊå|‘ô1OãëæÍýÊQíâ<Ö2ãתG¶À°:ÝÏ,,Ûµ 9ÉôΪ¦kidm«R¬±ÛÕÔ̵ Ÿ y¡þâÓÓ™Œ®ð.¡ïçB AÜ)–[Ü|sþóìç´6fCѼàÄe â$ð:PÜg5>òÇ|¨¿ŸÏ›‡³}©˜þ{ô‹—¼ô·‰³§z9ÁPkÍuå)失i-:°WjápÉ/z¢iJsH¨IÒD÷˜± ŵ1ÄŸLúT&.?(øéÉDÀ!/ïý˜öMµÀµÇîÏž~3§àëÚ;Çšï+$½0`¹@uS…Ún¼Tú-ãˆ$@æãâ{BeºÕe‚÷}00>‚sÅV÷ùó“íÌ™úmÞoÖïgøù¸¬Ð‘ÍþtÍÌ2”ƒåÓ Áhó ñô#»TåõQx.©® ;úÐát>G»?sÝVéávLÒâ'"Ý¿®Ú4´Þön’`ú6pu³wø ç-î³¢'-&Ë'†ÜM§ÎJZ!N Å•@¯;#kVέ҅0Ø6•%hm(ñÁ^3›8¿Å[ ·7`î@¡9ókcã?l^µ#[tyô¼9Äk Ó@]¹ H¾Ù1>ÜASt’›_óiq=­N¬-à!ßbg¤k–òM‘;hwm>?¾iªÞÞÅêÅø÷{ꊫÜ#¢ª`±*2Ï‚Àæ°?Î_­eÆôÔ1¥ÚûôDI„­aÇ#1´¾He âã ü`]ôòÚ~ iš—`­$´q‘Ì&k|âi±Ñ¬#å›¶Ð<üy-Û¢÷_)ÙKáö¼Ó &FïÈ 3OÆžØ+$*BŠÇaÉ ñ/åç2iܨ÷wŒß&$ÀÒ]c‰¦Ó~ UÙÆYTÊä]ê]b:MuzipÓk E7·Ž:0ÆÏ„u1Cb™«|uoyó›ÚW‰ëeôv“X:bgb…ñ2ëÞµZGQš¹mNiz¬°ÚϼE½;ñE-ó:ÀþJ ÊÀÇ}é¬iQ‘zÀInî™·q!¡øªë|$=«5d³z¬¯p,nHºm:Äp\ÏŽ–W~Ÿ&ÓO·ïœQ‹s™i2 ¯iæØ™¦a•ÞÂóŠq^Ûv³—9+ˆ˜ ||Ýèžö¶zïÍý_—Õd›Û¦{Z#tªÞèF¬\ºb{\(®­ ÃôÌtK¦ß7ƒ‰/½ŠuOf¸¨¹905¦Žö2X:Qÿÿzq^‡Œ¿kÎ3TŸŠp0k»†%|CRÀɱ‡Œ?ªÐB¨Õd/ÂlZê…S~z¢ŽM]b¹gÛn·9ÐßH}?;ëòÂyby8zIËÚ=A Õ’Z2jäÝ®Ã|º{[áô­ûOXmt0vãÊs;ïý1Ë» èZËv ëž7éìáðBvº•rp1ø¹TÕQ«¢ƒtåÒÑŠŸÅ0OÚš‚c€áد:ƒdöäf§{¸ÏÎÂOZf¯Ü4¡—×þºS¢öbݯ;ƒ“«<öÙ$1ôƬM àv8öcæE¸•Ö÷;-#z‡‹dWOú4l ˆAWjL‹¢»2¸iÞiæÞ—£sPý?èz&W$WN°v{Üÿi×Ñ¥(Ö†ÿÌìX(AÂRÉHRàfY²HøõŸÝÕ3]Ý BÍ·³¬sŠî}ïžpz’M³CWµÜ[²N9îS{rΫE<‹R¼}€6åÐÙÝøÂÊn_”Bä×Ô”‡¦ºï6ÍhÑ1×ʨˆ¸Ð}Ãú˜¹/¿o<D!¼4 Ž©NÏT¯º¡¥ k5²‡Šß¡6ÃRyΕ—¼{(0uc?âRÆ m1êØÑl&Ì'¹Ú¹)ƒ yç09RšíGà½hůÀßr‘_éé7¶É 5„ÌG·YòqŸ”š ‡3À"1[7Ìã?Iò¾ÍîúÓ«ZÁúUmZ ºmtûê 1ZÅ:¸_¸3 d<ì- —ðPÞõt¾= œ$»!?õ_óX`ã{pƒEzN¬=”g|ÊŽ^gÌþ¸®,ÿÎ|½¬e4¦1剡¯í«‰Û½Òð»8À:Ýçë2’?¨¢Ó‡l…|30$% ç<ç „:ÁlЪ]0üþš.]즤ëÀhsܽÚô÷ù r« 2º*¢yç«öaly£ôÙi…dÿt‚?}ŠÛ"ÕuŽê.QW±ÐÐ×zÛ|·pÎŒE¦!Ú•¥tÊÁÉjÜágÃÕ«pýºhó£ï“ ñþ¾iŒL4€@ï~CF"æŸñi„·Õ6ž­<¼ øñ.ýŦoˆèU“…áÖÖˆü€‚ñÌPŠŸ—µ®AßBÎ<êX0š;EïUoªSÌþàZŽÙJKzâÓ:ÀýñÍ7dúëp˜Ÿ{˜<ÐÖΨú`µ‘›Á­}éº#§y· ÓâilxiF½'D#ôVŠ`rh1÷ÒZ‡Éü¦þxE?š³£UŒ;Š„ºJXT©Ëö´ÁU;ç?èvý“M/ô[IØÌM'Qrè¢6¤ž°,,;i% ïW^¡òª]ãÂÉ~k¿^Ü4”~„ÌP›Žœ5Ñ:~ÿO24ó¼F¤ÄñD³.Y5‘Ÿ¼v0 â%WÒ¦~=–¦òÃݸ¬*wbw‘3&…;s„iXPë1}© ”:ªÔ°ž±òæø€cf]üäTîÊõ·‘ηO Nâ@ƒþpÞ¶³eÜ6Û±7îïÓÕ7‚Ó•L¶»  âO¼ð)j'© È[¸WN«¾7ÏÔ¸²ÙÞ `L^°Xo;æÔ‘ZA7Å<) ï³dѯ÷³t7£v6(úBtvç½®[¤\Y~}ÓmF¢ïm Œ½¼³°=7l¥åk0×ŘTþ;fnnIÜ]Sd õÈÃY£êÖŸ5ÝM¥da@ó%çQé®õT‡$ž«¿¹4%íµeÕ ágzÌø«ëõßd§Ûç-*¡gW)¼æ)rì6UíRnŽmVò¿þ€LM‡n·ª¸=ËC § á1Å‹TØ6H î¾²ÿ.;1ÇÄÓÇ;Š1÷-Ûo‚|6h@ZwGoŠW;!R•‘‹{˜‘ŽöQš.Ø }Ο¾i‡3¬‚ ¤•—¾>‚0PBZ_Õšvv±t_Wë-¼ ¬¹ûs~J¨œ‚&¦Àׂ8ô~é«\~>7¦WUw&™„x^·Ð`+‡ïÅWùz>ÑÖ—¥ÚfÅ"ÑʳÂ?Ò»M*- è•P"+G¹?†Óm@Nµø:–Ž x³GégMÛQ¯6ëâñç(3ý„,ÖkI#Ü¥¾Œï , M-@OÞïïusö¢âæpí„]לCé¾›âÊ¥ s? ®=×wüØKæ •Rçë¥J´lÌCB…’Ôº¢nÊJæ¯ÏÓé:–_ŽpŽQ–˜gíâñí%®¢Ù®¼§7µœIç©‹xÚã´¹}n…i¶:ys¯»•5>ÿ½÷üöÉnÉ ö¼ºWT¢RÊra.”¿ŠåLƒõŸª[ta`ÁóœÏGÙæo¦¹–%ýý¿_‡±À\ˬµp“c}•ošÝϸ¹¿9Øûèò›Sby×G¼—ÍÙ ¥$d!ÉÛ’ª ÙM ‹Ø­ÆX ¢ý2B›ÕÄÜ"ÝuçFj ,Ue5ŠæârIºö©-Ϻ`;™¹FÞù膖_;Ó>‚è´ñ“ëü4¤+aFñxi¶ÏAp·op{ Ò­¶€9}ë:73Ù)cëùÙ(ÓâüØ^Ó)£B'÷+\Ñi™þû=%™ õÕÕªÇ9µPFܱxâ«ë¾ß¬í§S¡‹N*4”àa­øÐµ3ðª1þ[»xbHï~£3Í€×+%G4Û8"G ŠÛ"·%z³MjÁßï ‡x…ìÙ㵿';ßwUâq7¢º/°ÃþV™üëTÔl`Ì+![ŽAö)ÅÃJ?‰ÅõMujŸ?=3â}ŠØSϯ±OÃÙO¤#…ë*xï'%Æé=Þ ãÆl­ûDà‘hK©§U6³Ëv…l ”y0 0Øî)ÑÞjîiÔØõ©šÛ-ÔyëÆ“´‰¿~þÏȼ|Džg ·YO›5‡øFË¥é-Hðþš–/Òè·  ¢G{·oÜ™Bc„[°^©7G¸ ü50eõ´‡‘›h¹ÁÚrvU0(·!*këòå?‚ÙŒ•Ù>£À§¸Ä¯úim´"¸™‡÷njV0yFk,ÎÚ¾Ù=¤³Ö$7*·! .„ Éûé~ùµ¹—GäôÉ©6÷fûæ)<‡Ïå¼ã®7ziN9baê /@¦"øæN¹ðŸÏtI§ ´¡§îØRîÓ ¬‘\Ææµ2iU:ö=ª”Ùçà2ð›7Paå>Ù ²åF¾¶-a1¿ý÷vÿ_äû’t²Ìu¼tŽj²ÇFÙC¨?˜wcäè€ÖÈ9BíõV•¼úz ßCt³&a;Yôz|l³GáÍ-Æ+«X/‡ìÄ&!a“WH«a4%¤y¶…Ô«€¦™‚' ·ZׇùcwNGk/O: µ}¨Ü ”S &Œp v±ŸNÿÔjx£.O"?‚„-Ú ³›Â~\ŸwÙ/ç¥HN¯ø’U€½*îýÀ¸’b¹0+r°5@ÅÊS{ bÑ^òÏ+A¬ˆƒT®å‡ÏKÉ•D÷Omź-Ê7aMlÎÛ¤òµBáŒe»çÊò²=H«92ŸRó†LZÅr¦=6ûÖ®ÅEܹ¸…¢±?°+öÇÓ8kΡ‚töÝäóÎîÐ(·i 0ÉÝ%ë,K~ЙYé¥ÿŽ¡]…°BI|©ÙMçÅbÂØëSI^¨æ&U¬¹¿ (ªácÛZüÌ7~*i­’Âà—4J=d—‹£lj4µi@•!M©ØvŒæ«å—~P§þavìßKÛÂmð¤=O‘ž¸m¡g錕Ŭ¤+.Œ@Ì‚v€þÉówS5÷ڭšÍÏfü)J½GQX%£`]ôZlCºã/hîþ90^£ÛÛ†”;À´DÝ%„>o¼(¶!^9ëø—‹±¸ìxµ.ÏšL®¦¶ ø 1Ú¬E»_A&~ð.µöþMszÛ2<´š™oèWXzURUG0r¿3'Ç{3½£’'ªÜ_>ÛI‡Ç“r ¥h¤‚^isö›»ý_ÿþüÆÂ±Ô².„Ü& ù¹Ï€¢”‰§ÂàB³âíÌz1É Â1ÔŠ×î½E­bïŽÜÙñLceÚÏÄÙ*ngÒýÈË,ovlsŠÃ‘ê:—/ð}µ=Ê'ôé¢Y±­ŠË°}L1-€ ²öü`«ž]~%åƒÿ„ûvc%ž+zÔ»ªº&—øÆÒÔ«”ñáæ‹r&‡W~=ʶø]3ÿÛ]N§gæ²MµšOŠ­˜:ñ§Ïtno{ùj×î=ød<JIjÖŠ2–™"·ïq/æ` Û-8~*ö:ã°¦:Úñ¢> g |‡!fÀC”jÅÔWUÃs©ÌÌÂäŽÒ°Ûmõ¾§îžµ é¢=®Û¾¿ëFÍ\&îsƽ>*dã`·ç"Ѭýº•²ÿÏ·“—ºÐºïìxÀ:^|£0Nþ?°10éû-õfÏ¨Š˜{ÓZ¥4Sö±Z$Z±«NÃVi<þ¹œÞ±ÑÀ•0Õ_U•ª2ærZgm¶m¿`…ñ«ˆØÌ¨¬'Rx~ï6¡Ò¤¢}4ï–®Êa»à)9ûò~ñ)7šÐê c¯…Ír;ôʶüLzØ –FÆßAÎÚë×Ër©¶Ž—h%n@ƒeÌñ¾ƒÈleÑ1±¦{îxA4;¾éöè¤Í^³ N7ô!Þ«ÑvÓA|ú­±W±îaA1}€#þs(ŠÎÇÿ³ÍÓŒwK’Á£×ý˜´gK‹è@ê5­³<¥®ü Ui¦g¾i↡~tÂ+”=‰¦»!Jš•BeßGÿ†“Åó§ï+!½Äm“A ÎÃwÝ]\°Îí¼*þœO§æ6Äwó‘x,’ÇÒä ¿íó¸6›]¡4yÿ Ÿ6 >+ÊžYX't‰9÷ZùÔ™ÕaY¥”>Ó°xiY¢;5|| ›qµñ!˜žœ.‘]cι·à­]Ç’£Ú–wDÿCωh@ †Â #<3ÃðõOYæ–‰¬ûFY“¬“À>Û®½Vr££4ÕS½ÕÅÔ“^9[&Nì´c´PhlüÃD©ø]µ½óoÔf+œÙ ¤€öâ.Š&¥‘ï¥p'7„öF„bÑ"¾B±†{´Ñp·ïm—Iœ·ûÚ1÷ëöYûÄ‚¿@3|g8É>¿R:Dcàa&ámh½ùÌ&ÖÂ…ª°Ñáx¼U³cm‚d†Ôo[Zçú~—$Y°l¯˜Œ”WÃTê rj•èZ²²qUWv'~oϾÛh[¨0gÓ¸ò‡ |^ÑČں­ß̈^*ýÎ‡Ž“aicîvZ¦»2Û"½Dömªj‡u(ä_‡Fó-ë¡R2Õ<7Üöòæ¡n :¦Qÿ¤ íï›È¿Ôn39Fï§ â¶ÇC; TécÇ:Ë¿·ð=«~¯^âì–™˜ ryX‹¤vzs‘þìþ½L_ #†­‘0ƒ²QàûòÕĘª ™y® Ç£öD!j<…üÎ8”Ñ:ÿeÒµð¥ËÞàÊa ÖmÓv qƒžÅ^§¸;ÇY(cÜò±…­(´½OKz( 6,œã_÷ɾÖH/(òû;Ó—±FM~cR|ö) ÕÖ6¦£~DûºÒç|Ä´CQ¼HâŸQ%;Q¾ã3+uÀœ±ÃÉXïgÞÎßEHÒïÏFeaá‰ð©³ìnV¥!Ü‹°Ò¥$"°[º“+}ð³šJØ< Ûz¬šëÑóC/Þ¾îèÇ~„‰Ëßܶ v9kôUáTŸáŸ~Fàö V‹ ¥S‰Ž;äÄp wFѸ=¦šIuoJ‹‡w»>ÏŸÉ-$ÃÜUÒV;?ðÁ–’ËšÇn´‡òÍëzÑŒ˜Ïņ¿= ]­pžàÁ¹æó2¦œDtßÉBþ¹h4¸ áˆÐˆÎQ™ÞôÆSO@ ÊœÏëòÍ7|ÃçSÈm¨Í ‘ÛH±#K$¸'È´ýD7eeÍGU7.íõž †íA Mcpò¼.’üh_»oió<@Þz ›†é‘, Àö¢ ‡“ÂzÄ•aÞm˜-l-Ìò^û0S§&b’Kˆv$å7xЯ\ý?oä~ü\xÀA»h÷Ø'¶:1ê¤?bÛŠ’j{ï¯ÃÙ˜7 Ý“­aØÖè©ü€ÂŒC§; ~mÛ¿ÔЯ€Õà~•NTœ8My»»[aázç’áêñë,Hd_ŸÄ¶Bòª˜§ÝÕ±öUËE+yk¾‚Ÿæ|¹@êñÜù›rª…`[£à¶¶Û oÕ­KfŒ÷¤æÅîÞ7õÍgž ‹ûŒålDû¤þ …—yc.Ü!;+»äJ)¾K<ÿè4>"_­•C¤SxÅo«L aܶޢrDÛst™Ì4(7Àˆ5ñ:B°Ÿ¸?æïÐ ³Ó^UË6ûñKOʈ–ûä–úößQÍ_ÊÿýŸÿûú‡¼ÚIÃIj}!††ÏÔ笡\ØÝw9~h¿øˆï]ŽŸóý‘®£ÐáN:—êÒî[çv)þòë¢øòäòÚU³¹ƒX'è£ËvO“bËîV’þþ›÷£=ªBF”9TB3cc…AÓNæÆfåe]ÁÌd¡4ùtêbì­=TUœ2RÎ\ººY׬Yu‡— îµ÷L½ñG–Œ;™NB›/JPèÏ.Ï¿¿éáÛƒµqwzœ—“5*aí±PÚGo˜‰~°’}Cþîtµ(&Ÿº>-{ôémýtM·MXîih¿o†3Á$Ÿq¿KØ!u;œqldkC]ÍëžMn·r%yå«Y TÉõÒSñŠÌÙU‘gÌš:/¸ßEÑpkÚ?¨ß ’@Žå {Tüëž•ˆabRòoX®ì+}k\½c­ŠEŽ="–°£N¹‹Œ`)ëD.¿-žÓ_²Ë/«oóÑ):„T 0h>+¾(<¡NÆk¯8«k±`å½ÕÓÔqFžA¤!KJ¥bRká*-“¯~ãbhÉ=m»Å¥ä‰7tÃgÁTñcšÙyÝ—y'íª}¡2[ÀꦲcRç`[ºv†TF-xTÑwŒ­ß3Áu):£fhƒß5ö>f`s!ºd¼é§•þÕÿÂ'RxO Á1>mbz›îrèðQ½qõ/Fó½!oK|‡‡2ˆ&ÑVØoÕ}ê+ÉÙ¾FþW}sÿošÁ¿óŒÄš·ìÖsá¦s«Ûš¢æ_…—Wcl7½cy;Î4ެ¦þ:ÄGɹ<âÅ æZÒ†kïBšTÅâUŽŽm¶úA~×mŸ¯šáÐ0\:fs¹“.•7y8Ó7Òj ûl &f5ž5‰¦ò“¶÷9Î8=ÿ¥.ot2Ð ü“U¾†¸W‡½è­ñåÛAØOý¦€[™÷oxŽ_|ÿyÿÓg êNÒn5¶½âU é¹Ô˜ë˜æ)<¸äsy_¿•¹ËM9²üóà*ÎàÁnqg×m|OS¸køÑÌ[x~„€\bëÁíB—í´¿‡¹cóÞ@¹í I?§¢! úÉÏñëD+™÷¹¯üÃ/‡Ãu‰9ƒô¯ìÝz&{´qˆÌCËên]!ðšd^$#c ³‘)7/Nr¦TÁ%ÛtÁ\Ç«3‡ižw Ñ4í§ñ´‹˜° 0‰‚€» ìîçÑ1VÖ¥ßs–ù–exá}/±a22LÖÈèlŸ‘#*ó_¯ÀPK;YW5 >‚yQMETA-INF/TERRACER.RSAUT â†û¿BUxPK yÛ2 íA»org/eclipse/jface/viewers/UT>û¿BUxPKŽyÛ2¶&Ø‘'pD ¤org/eclipse/jface/viewers/TreeViewer$TreeColorAndFontCollector.classUT<û¿BUxPKyÛ2ª…o&°ƒ, ¤¦org/eclipse/jface/viewers/TreeViewer$1.classUT>û¿BUxPKyÛ2)¥¦s$.* ¤µorg/eclipse/jface/viewers/TreeViewer.classUT>û¿BUxPKŽyÛ2@KÔ.Þô , ¤/org/eclipse/jface/viewers/TreeViewer$2.classUT<û¿BUxPK È‹s5 íAlMETA-INF/UT—†`EUxPK;YW5xAÏ*_?ƒÓ ¤¨META-INF/MANIFEST.MFUTâ†JÐ ¤N]META-INF/TERRACER.SFUTↂyQ ¤DœMETA-INF/TERRACER.RSAUT↠// This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.Currency; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Currency; import java.util.Locale; /** * Class to test the UK currency. * * @author Andrew John Hughes */ public class UK implements Testlet { private static final Locale TEST_LOCALE = Locale.UK; private static final String ISO4217_CODE = "GBP"; private static final String CURRENCY_SYMBOL = "\u00A3"; private static final int FRACTION_DIGITS = 2; public void test(TestHarness harness) { Currency currency; /* Set default Locale for the JVM */ Locale.setDefault(TEST_LOCALE); /* Get an instance of the UK currency */ currency = Currency.getInstance(TEST_LOCALE); /* Check for the correct currency code */ harness.check(currency.getCurrencyCode(),ISO4217_CODE, "ISO 4217 currency code retrieval check (" + currency.getCurrencyCode() + ")."); /* Check for the correct currency symbol */ harness.check(currency.getSymbol(), CURRENCY_SYMBOL, "Currency symbol retrieval check (" + currency.getSymbol() + ")."); /* Check for the correct fraction digits */ harness.check(currency.getDefaultFractionDigits(), FRACTION_DIGITS, "Currency fraction digits retrieval check (" + currency.getDefaultFractionDigits() + ")."); /* Check for the correct currency code from toString()*/ harness.check(currency.toString(),ISO4217_CODE, "ISO 4217 currency code retrieval check (" + currency.toString() + ")."); } } mauve-20140821/gnu/testlet/java/util/Currency/Slovak.java0000644000175000001440000000451611623427423022026 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.Currency; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Currency; import java.util.Locale; /** * Class to test the Slovak currency. * * @author Pavel Tisnovsky */ public class Slovak implements Testlet { private static final Locale TEST_LOCALE = new Locale("Slovak"); private static final String ISO4217_CODE = "SKK"; private static final String CURRENCY_SYMBOL = "SKK"; private static final int FRACTION_DIGITS = 2; public void test(TestHarness harness) { Currency currency; /* Set the default Locale for the JVM */ Locale.setDefault(TEST_LOCALE); /* Get an instance of the currency */ currency = Currency.getInstance(ISO4217_CODE); /* Check for the correct currency code */ harness.check(currency.getCurrencyCode(),ISO4217_CODE, "ISO 4217 currency code retrieval check (" + currency.getCurrencyCode() + ")."); /* Check for the correct currency symbol */ harness.check(currency.getSymbol(), CURRENCY_SYMBOL, "Currency symbol retrieval check (" + currency.getSymbol() + ")."); /* Check for the correct fraction digits */ harness.check(currency.getDefaultFractionDigits(), FRACTION_DIGITS, "Currency fraction digits retrieval check (" + currency.getDefaultFractionDigits() + ")."); /* Check for the correct currency code from toString()*/ harness.check(currency.toString(),ISO4217_CODE, "ISO 4217 currency code retrieval check (" + currency.toString() + ")."); } } mauve-20140821/gnu/testlet/java/util/Currency/Japan.java0000644000175000001440000000452710635517142021622 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.Currency; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Currency; import java.util.Locale; /** * Class to test the Japanese currency. * * @author Andrew John Hughes */ public class Japan implements Testlet { private static final Locale TEST_LOCALE = Locale.JAPAN; private static final String ISO4217_CODE = "JPY"; private static final String CURRENCY_SYMBOL = "\uFFE5"; private static final int FRACTION_DIGITS = 0; public void test(TestHarness harness) { Currency currency; /* Set default Locale for the JVM */ Locale.setDefault(TEST_LOCALE); /* Get an instance of the currency */ currency = Currency.getInstance(TEST_LOCALE); /* Check for the correct currency code */ harness.check(currency.getCurrencyCode(),ISO4217_CODE, "ISO 4217 currency code retrieval check (" + currency.getCurrencyCode() + ")."); /* Check for the correct currency symbol */ harness.check(currency.getSymbol(), CURRENCY_SYMBOL, "Currency symbol retrieval check (" + currency.getSymbol() + ")."); /* Check for the correct fraction digits */ harness.check(currency.getDefaultFractionDigits(), FRACTION_DIGITS, "Currency fraction digits retrieval check (" + currency.getDefaultFractionDigits() + ")."); /* Check for the correct currency code from toString()*/ harness.check(currency.toString(),ISO4217_CODE, "ISO 4217 currency code retrieval check (" + currency.toString() + ")."); } } mauve-20140821/gnu/testlet/java/util/Currency/Italy.java0000644000175000001440000001021210635517142021637 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.Currency; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Calendar; import java.util.Currency; import java.util.Locale; /** * Class to test the Italian currency. * * @author Andrew John Hughes */ public class Italy implements Testlet { private static final Locale TEST_LOCALE = Locale.ITALY; private static final String ISO4217_CODE = "ITL"; private static final String CURRENCY_SYMBOL = "L."; private static final int FRACTION_DIGITS = 0; private static final String EURO_ISO4217_CODE = "EUR"; private static final String EURO_CURRENCY_SYMBOL = "\u20AC"; private static final int EURO_FRACTION_DIGITS = 2; private static final int EURO_CHANGE_YEAR = 2002; private static final int EURO_CHANGE_MONTH = 0; private static final int EURO_CHANGE_DATE = 1; public void test(TestHarness harness) { Currency currency; Calendar calendar; Calendar euroCalendar; /* Set default Locale for the JVM */ Locale.setDefault(TEST_LOCALE); /* Get an instance of the currency */ currency = Currency.getInstance(TEST_LOCALE); /* Get the current time in the locale */ calendar = Calendar.getInstance(TEST_LOCALE); /* Get the Euro change-over time in the locale */ euroCalendar = Calendar.getInstance(TEST_LOCALE); euroCalendar.set(EURO_CHANGE_YEAR, EURO_CHANGE_MONTH, EURO_CHANGE_DATE); /* Do different comparisons depending on the state of change to the Euro */ if (calendar.after(euroCalendar)) { /* Check for the correct currency code */ harness.check(currency.getCurrencyCode(),EURO_ISO4217_CODE, "Euro ISO 4217 currency code retrieval check (" + currency.getCurrencyCode() + ")."); /* Check for the correct currency symbol */ harness.check(currency.getSymbol(), EURO_CURRENCY_SYMBOL, "Euro currency symbol retrieval check (" + currency.getSymbol() + ")."); /* Check for the correct fraction digits */ harness.check(currency.getDefaultFractionDigits(), EURO_FRACTION_DIGITS, "Euro currency fraction digits retrieval check (" + currency.getDefaultFractionDigits() + ")."); /* Check for the correct currency code from toString()*/ harness.check(currency.toString(),EURO_ISO4217_CODE, "Euro ISO 4217 currency code retrieval check (" + currency.toString() + ")."); } else { /* Check for the correct currency code */ harness.check(currency.getCurrencyCode(),ISO4217_CODE, "ISO 4217 currency code retrieval check (" + currency.getCurrencyCode() + ")."); /* Check for the correct currency symbol */ harness.check(currency.getSymbol(), CURRENCY_SYMBOL, "Currency symbol retrieval check (" + currency.getSymbol() + ")."); /* Check for the correct fraction digits */ harness.check(currency.getDefaultFractionDigits(), FRACTION_DIGITS, "Currency fraction digits retrieval check (" + currency.getDefaultFractionDigits() + ")."); /* Check for the correct currency code from toString()*/ harness.check(currency.toString(),ISO4217_CODE, "ISO 4217 currency code retrieval check (" + currency.toString() + ")."); } } } mauve-20140821/gnu/testlet/java/util/Currency/Constructors.java0000644000175000001440000000456510143427210023271 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.Currency; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Currency; import java.util.Locale; /** * Class to test the currency constructors. * * @author Andrew John Hughes */ public class Constructors implements Testlet { private static final String INVALID_CURRENCY_CODE = "GNU"; private static final String UK_CURRENCY_CODE = "GBP"; public void test(TestHarness harness) { Currency currency; boolean threwException; /* Check getInstance with a null string */ threwException = false; try { currency = Currency.getInstance((String) null); } catch (NullPointerException exception) { threwException = true; } harness.check(threwException, "Currency instance request with null string exception check."); /* Check getInstance with a non-existant ISO string */ threwException = false; try { currency = Currency.getInstance(INVALID_CURRENCY_CODE); } catch (IllegalArgumentException exception) { threwException = true; } harness.check(threwException, "Currency instance request with invalid currency code string exception check."); /* Check getInstance with a null locale */ threwException = false; try { currency = Currency.getInstance((Locale) null); } catch (NullPointerException exception) { threwException = true; } harness.check(threwException, "Currency instance request with null locale exception check."); } } mauve-20140821/gnu/testlet/java/util/Currency/Canada.java0000644000175000001440000000453010635517142021732 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.Currency; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Currency; import java.util.Locale; /** * Class to test the Canadian currency. * * @author Andrew John Hughes */ public class Canada implements Testlet { private static final Locale TEST_LOCALE = Locale.CANADA; private static final String ISO4217_CODE = "CAD"; private static final String CURRENCY_SYMBOL = "$"; private static final int FRACTION_DIGITS = 2; public void test(TestHarness harness) { Currency currency; /* Set the default Locale for the JVM */ Locale.setDefault(TEST_LOCALE); /* Get an instance of the currency */ currency = Currency.getInstance(TEST_LOCALE); /* Check for the correct currency code */ harness.check(currency.getCurrencyCode(),ISO4217_CODE, "ISO 4217 currency code retrieval check (" + currency.getCurrencyCode() + ")."); /* Check for the correct currency symbol */ harness.check(currency.getSymbol(), CURRENCY_SYMBOL, "Currency symbol retrieval check (" + currency.getSymbol() + ")."); /* Check for the correct fraction digits */ harness.check(currency.getDefaultFractionDigits(), FRACTION_DIGITS, "Currency fraction digits retrieval check (" + currency.getDefaultFractionDigits() + ")."); /* Check for the correct currency code from toString()*/ harness.check(currency.toString(),ISO4217_CODE, "ISO 4217 currency code retrieval check (" + currency.toString() + ")."); } } mauve-20140821/gnu/testlet/java/util/Currency/France.java0000644000175000001440000001021310635517142021754 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.Currency; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Calendar; import java.util.Currency; import java.util.Locale; /** * Class to test the French currency. * * @author Andrew John Hughes */ public class France implements Testlet { private static final Locale TEST_LOCALE = Locale.FRANCE; private static final String ISO4217_CODE = "FRF"; private static final String CURRENCY_SYMBOL = ")."; private static final int FRACTION_DIGITS = 2; private static final String EURO_ISO4217_CODE = "EUR"; private static final String EURO_CURRENCY_SYMBOL = "\u20AC"; private static final int EURO_FRACTION_DIGITS = 2; private static final int EURO_CHANGE_YEAR = 2002; private static final int EURO_CHANGE_MONTH = 0; private static final int EURO_CHANGE_DATE = 1; public void test(TestHarness harness) { Currency currency; Calendar calendar; Calendar euroCalendar; /* Set default Locale for the JVM */ Locale.setDefault(TEST_LOCALE); /* Get an instance of the currency */ currency = Currency.getInstance(TEST_LOCALE); /* Get the current time in the locale */ calendar = Calendar.getInstance(TEST_LOCALE); /* Get the Euro change-over time in the locale */ euroCalendar = Calendar.getInstance(TEST_LOCALE); euroCalendar.set(EURO_CHANGE_YEAR, EURO_CHANGE_MONTH, EURO_CHANGE_DATE); /* Do different comparisons depending on the state of change to the Euro */ if (calendar.after(euroCalendar)) { /* Check for the correct currency code */ harness.check(currency.getCurrencyCode(),EURO_ISO4217_CODE, "Euro ISO 4217 currency code retrieval check (" + currency.getCurrencyCode() + ")."); /* Check for the correct currency symbol */ harness.check(currency.getSymbol(), EURO_CURRENCY_SYMBOL, "Euro currency symbol retrieval check (" + currency.getSymbol() + ")."); /* Check for the correct fraction digits */ harness.check(currency.getDefaultFractionDigits(), EURO_FRACTION_DIGITS, "Euro currency fraction digits retrieval check (" + currency.getDefaultFractionDigits() + ")."); /* Check for the correct currency code from toString()*/ harness.check(currency.toString(),EURO_ISO4217_CODE, "Euro ISO 4217 currency code retrieval check (" + currency.toString() + ")."); } else { /* Check for the correct currency code */ harness.check(currency.getCurrencyCode(),ISO4217_CODE, "ISO 4217 currency code retrieval check (" + currency.getCurrencyCode() + ")."); /* Check for the correct currency symbol */ harness.check(currency.getSymbol(), CURRENCY_SYMBOL, "Currency symbol retrieval check (" + currency.getSymbol() + ")."); /* Check for the correct fraction digits */ harness.check(currency.getDefaultFractionDigits(), FRACTION_DIGITS, "Currency fraction digits retrieval check (" + currency.getDefaultFractionDigits() + ")."); /* Check for the correct currency code from toString()*/ harness.check(currency.toString(),ISO4217_CODE, "ISO 4217 currency code retrieval check (" + currency.toString() + ")."); } } } mauve-20140821/gnu/testlet/java/util/Currency/US.java0000644000175000001440000000517710143427210021110 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.Currency; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Currency; import java.util.Locale; /** * Class to test the American currency. * * @author Andrew John Hughes */ public class US implements Testlet { private static final Locale TEST_LOCALE = Locale.US; private static final String ISO4217_CODE = "USD"; private static final String CURRENCY_SYMBOL = "$"; private static final String NON_LOCAL_CURRENCY_SYMBOL = "US$"; private static final int FRACTION_DIGITS = 2; public void test(TestHarness harness) { Currency currency; /* Get an instance of the UK currency */ currency = Currency.getInstance(TEST_LOCALE); /* Check for the correct currency code */ harness.check(currency.getCurrencyCode(),ISO4217_CODE, "ISO 4217 currency code retrieval check (" + currency.getCurrencyCode() + ")."); /* Check for the correct currency symbol from within the U.S. */ harness.check(currency.getSymbol(Locale.US), CURRENCY_SYMBOL, "Currency symbol retrieval check (" + currency.getSymbol(Locale.US) + ")."); /* Check for the correct currency symbol using another locale */ harness.check(currency.getSymbol(Locale.CANADA), NON_LOCAL_CURRENCY_SYMBOL, "Non local currency symbol retrieval check (" + currency.getSymbol(Locale.CANADA) + ")."); /* Check for the correct fraction digits */ harness.check(currency.getDefaultFractionDigits(), FRACTION_DIGITS, "Currency fraction digits retrieval check (" + currency.getDefaultFractionDigits() + ")."); /* Check for the correct currency code from toString()*/ harness.check(currency.toString(),ISO4217_CODE, "ISO 4217 currency code retrieval check (" + currency.toString() + ")."); } } mauve-20140821/gnu/testlet/java/util/Currency/China.java0000644000175000001440000000452610635517142021612 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.Currency; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Currency; import java.util.Locale; /** * Class to test the Chinese currency. * * @author Andrew John Hughes */ public class China implements Testlet { private static final Locale TEST_LOCALE = Locale.CHINA; private static final String ISO4217_CODE = "CNY"; private static final String CURRENCY_SYMBOL = "\uFFE5"; private static final int FRACTION_DIGITS = 2; public void test(TestHarness harness) { Currency currency; /* Set default Locale for the JVM */ Locale.setDefault(TEST_LOCALE); /* Get an instance of the currency */ currency = Currency.getInstance(TEST_LOCALE); /* Check for the correct currency code */ harness.check(currency.getCurrencyCode(),ISO4217_CODE, "ISO 4217 currency code retrieval check (" + currency.getCurrencyCode() + ")."); /* Check for the correct currency symbol */ harness.check(currency.getSymbol(), CURRENCY_SYMBOL, "Currency symbol retrieval check (" + currency.getSymbol() + ")."); /* Check for the correct fraction digits */ harness.check(currency.getDefaultFractionDigits(), FRACTION_DIGITS, "Currency fraction digits retrieval check (" + currency.getDefaultFractionDigits() + ")."); /* Check for the correct currency code from toString()*/ harness.check(currency.toString(),ISO4217_CODE, "ISO 4217 currency code retrieval check (" + currency.toString() + ")."); } } mauve-20140821/gnu/testlet/java/util/Currency/getInstance.java0000644000175000001440000000523110165217202023016 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.Currency; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Currency; import java.util.Locale; public class getInstance implements Testlet { public void test(TestHarness harness) { try { // Sun uses "XXX" as the placeholder currency (when no currency is available) harness.check(Currency.getInstance("XXX").toString().equals("XXX")); } catch (Exception x) { harness.debug(x); harness.check(false); } try { Currency.getInstance("foobar"); harness.check(false); } catch (IllegalArgumentException _) { harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } try { Currency.getInstance((String)null); harness.check(false); } catch (NullPointerException _) { harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } try { Currency.getInstance(new Locale("en")); harness.check(false); } catch (IllegalArgumentException _) { harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } try { Currency.getInstance(new Locale("en", "foobar")); harness.check(false); } catch (IllegalArgumentException _) { harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } try { Currency.getInstance((Locale)null); harness.check(false); } catch (NullPointerException _) { harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } } } mauve-20140821/gnu/testlet/java/util/Currency/Taiwan.java0000644000175000001440000000452711633605067022017 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.Currency; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Currency; import java.util.Locale; /** * Class to test the Taiwanese currency. * * @author Andrew John Hughes */ public class Taiwan implements Testlet { private static final Locale TEST_LOCALE = Locale.TAIWAN; private static final String ISO4217_CODE = "TWD"; private static final String CURRENCY_SYMBOL = "NT$"; private static final int FRACTION_DIGITS = 2; public void test(TestHarness harness) { Currency currency; /* Set default Locale for the JVM */ Locale.setDefault(TEST_LOCALE); /* Get an instance of the currency */ currency = Currency.getInstance(TEST_LOCALE); /* Check for the correct currency code */ harness.check(currency.getCurrencyCode(),ISO4217_CODE, "ISO 4217 currency code retrieval check (" + currency.getCurrencyCode() + ")."); /* Check for the correct currency symbol */ harness.check(currency.getSymbol(), CURRENCY_SYMBOL, "Currency symbol retrieval check (" + currency.getSymbol() + ")."); /* Check for the correct fraction digits */ harness.check(currency.getDefaultFractionDigits(), FRACTION_DIGITS, "Currency fraction digits retrieval check (" + currency.getDefaultFractionDigits() + ")."); /* Check for the correct currency code from toString()*/ harness.check(currency.toString(),ISO4217_CODE, "ISO 4217 currency code retrieval check (" + currency.toString() + ")."); } } mauve-20140821/gnu/testlet/java/util/Currency/PRC.java0000644000175000001440000000451610635517142021213 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.Currency; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Currency; import java.util.Locale; /** * Class to test the PRC currency. * * @author Andrew John Hughes */ public class PRC implements Testlet { private static final Locale TEST_LOCALE = Locale.PRC; private static final String ISO4217_CODE = "CNY"; private static final String CURRENCY_SYMBOL = "\uFFE5"; private static final int FRACTION_DIGITS = 2; public void test(TestHarness harness) { Currency currency; /* Set default Locale for the JVM */ Locale.setDefault(TEST_LOCALE); /* Get an instance of the currency */ currency = Currency.getInstance(TEST_LOCALE); /* Check for the correct currency code */ harness.check(currency.getCurrencyCode(),ISO4217_CODE, "ISO 4217 currency code retrieval check (" + currency.getCurrencyCode() + ")."); /* Check for the correct currency symbol */ harness.check(currency.getSymbol(), CURRENCY_SYMBOL, "Currency symbol retrieval check (" + currency.getSymbol() + ")."); /* Check for the correct fraction digits */ harness.check(currency.getDefaultFractionDigits(), FRACTION_DIGITS, "Currency fraction digits retrieval check (" + currency.getDefaultFractionDigits() + ")."); /* Check for the correct currency code from toString()*/ harness.check(currency.toString(),ISO4217_CODE, "ISO 4217 currency code retrieval check (" + currency.toString() + ")."); } } mauve-20140821/gnu/testlet/java/util/Currency/CanadaFrench.java0000644000175000001440000000455010635517142023062 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.Currency; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Currency; import java.util.Locale; /** * Class to test the French Canadian currency. * * @author Andrew John Hughes */ public class CanadaFrench implements Testlet { private static final Locale TEST_LOCALE = Locale.CANADA_FRENCH; private static final String ISO4217_CODE = "CAD"; private static final String CURRENCY_SYMBOL = "$"; private static final int FRACTION_DIGITS = 2; public void test(TestHarness harness) { Currency currency; /* Set default Locale for the JVM */ Locale.setDefault(TEST_LOCALE); /* Get an instance of the currency */ currency = Currency.getInstance(TEST_LOCALE); /* Check for the correct currency code */ harness.check(currency.getCurrencyCode(),ISO4217_CODE, "ISO 4217 currency code retrieval check (" + currency.getCurrencyCode() + ")."); /* Check for the correct currency symbol */ harness.check(currency.getSymbol(), CURRENCY_SYMBOL, "Currency symbol retrieval check (" + currency.getSymbol() + ")."); /* Check for the correct fraction digits */ harness.check(currency.getDefaultFractionDigits(), FRACTION_DIGITS, "Currency fraction digits retrieval check (" + currency.getDefaultFractionDigits() + ")."); /* Check for the correct currency code from toString()*/ harness.check(currency.toString(),ISO4217_CODE, "ISO 4217 currency code retrieval check (" + currency.toString() + ")."); } } mauve-20140821/gnu/testlet/java/util/Currency/ReferenceEquality.java0000644000175000001440000000360610143427210024170 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.Currency; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Currency; import java.util.Locale; /** * Class to test the reference equality of currencies. The * currency class is a Singleton, so each instance for a particular * currency should have the same reference. * * @author Andrew John Hughes */ public class ReferenceEquality implements Testlet { private static final String UK_CURRENCY_CODE = "GBP"; public void test(TestHarness harness) { Currency currency1; Currency currency2; boolean threwException; /* Get a UK Currency instance */ currency1 = Currency.getInstance(Locale.UK); /* And another */ currency2 = Currency.getInstance(Locale.UK); /* Now check their equality */ harness.check(currency1 == currency2, "Reference equality for currencies (UK) check."); /* Recreate currency2 using the string code instead */ currency2 = Currency.getInstance(UK_CURRENCY_CODE); /* Equality should still hold */ harness.check(currency1 == currency2); } } mauve-20140821/gnu/testlet/java/util/Currency/Germany.java0000644000175000001440000001021510635517142022162 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.Currency; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Calendar; import java.util.Currency; import java.util.Locale; /** * Class to test the German currency. * * @author Andrew John Hughes */ public class Germany implements Testlet { private static final Locale TEST_LOCALE = Locale.GERMANY; private static final String ISO4217_CODE = "DEM"; private static final String CURRENCY_SYMBOL = "DM"; private static final int FRACTION_DIGITS = 2; private static final String EURO_ISO4217_CODE = "EUR"; private static final String EURO_CURRENCY_SYMBOL = "\u20AC"; private static final int EURO_FRACTION_DIGITS = 2; private static final int EURO_CHANGE_YEAR = 2002; private static final int EURO_CHANGE_MONTH = 0; private static final int EURO_CHANGE_DATE = 1; public void test(TestHarness harness) { Currency currency; Calendar calendar; Calendar euroCalendar; /* Set default Locale for the JVM */ Locale.setDefault(TEST_LOCALE); /* Get an instance of the currency */ currency = Currency.getInstance(TEST_LOCALE); /* Get the current time in the locale */ calendar = Calendar.getInstance(TEST_LOCALE); /* Get the Euro change-over time in the locale */ euroCalendar = Calendar.getInstance(TEST_LOCALE); euroCalendar.set(EURO_CHANGE_YEAR, EURO_CHANGE_MONTH, EURO_CHANGE_DATE); /* Do different comparisons depending on the state of change to the Euro */ if (calendar.after(euroCalendar)) { /* Check for the correct currency code */ harness.check(currency.getCurrencyCode(),EURO_ISO4217_CODE, "Euro ISO 4217 currency code retrieval check (" + currency.getCurrencyCode() + ")."); /* Check for the correct currency symbol */ harness.check(currency.getSymbol(), EURO_CURRENCY_SYMBOL, "Euro currency symbol retrieval check (" + currency.getSymbol() + ")."); /* Check for the correct fraction digits */ harness.check(currency.getDefaultFractionDigits(), EURO_FRACTION_DIGITS, "Euro currency fraction digits retrieval check (" + currency.getDefaultFractionDigits() + ")."); /* Check for the correct currency code from toString()*/ harness.check(currency.toString(),EURO_ISO4217_CODE, "Euro ISO 4217 currency code retrieval check (" + currency.toString() + ")."); } else { /* Check for the correct currency code */ harness.check(currency.getCurrencyCode(),ISO4217_CODE, "ISO 4217 currency code retrieval check (" + currency.getCurrencyCode() + ")."); /* Check for the correct currency symbol */ harness.check(currency.getSymbol(), CURRENCY_SYMBOL, "Currency symbol retrieval check (" + currency.getSymbol() + ")."); /* Check for the correct fraction digits */ harness.check(currency.getDefaultFractionDigits(), FRACTION_DIGITS, "Currency fraction digits retrieval check (" + currency.getDefaultFractionDigits() + ")."); /* Check for the correct currency code from toString()*/ harness.check(currency.toString(),ISO4217_CODE, "ISO 4217 currency code retrieval check (" + currency.toString() + ")."); } } } mauve-20140821/gnu/testlet/java/util/Currency/Korea.java0000644000175000001440000000452510635517142021630 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.Currency; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Currency; import java.util.Locale; /** * Class to test the Korean currency. * * @author Andrew John Hughes */ public class Korea implements Testlet { private static final Locale TEST_LOCALE = Locale.KOREA; private static final String ISO4217_CODE = "KRW"; private static final String CURRENCY_SYMBOL = "\uFFE6"; private static final int FRACTION_DIGITS = 0; public void test(TestHarness harness) { Currency currency; /* Set default Locale for the JVM */ Locale.setDefault(TEST_LOCALE); /* Get an instance of the currency */ currency = Currency.getInstance(TEST_LOCALE); /* Check for the correct currency code */ harness.check(currency.getCurrencyCode(),ISO4217_CODE, "ISO 4217 currency code retrieval check (" + currency.getCurrencyCode() + ")."); /* Check for the correct currency symbol */ harness.check(currency.getSymbol(), CURRENCY_SYMBOL, "Currency symbol retrieval check (" + currency.getSymbol() + ")."); /* Check for the correct fraction digits */ harness.check(currency.getDefaultFractionDigits(), FRACTION_DIGITS, "Currency fraction digits retrieval check (" + currency.getDefaultFractionDigits() + ")."); /* Check for the correct currency code from toString()*/ harness.check(currency.toString(),ISO4217_CODE, "ISO 4217 currency code retrieval check (" + currency.toString() + ")."); } } mauve-20140821/gnu/testlet/java/util/Currency/Czech.java0000644000175000001440000000451311623427423021620 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.util.Currency; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Currency; import java.util.Locale; /** * Class to test the Czech currency. * * @author Pavel Tisnovsky */ public class Czech implements Testlet { private static final Locale TEST_LOCALE = new Locale("Czech"); private static final String ISO4217_CODE = "CZK"; private static final String CURRENCY_SYMBOL = "CZK"; private static final int FRACTION_DIGITS = 2; public void test(TestHarness harness) { Currency currency; /* Set the default Locale for the JVM */ Locale.setDefault(TEST_LOCALE); /* Get an instance of the currency */ currency = Currency.getInstance(ISO4217_CODE); /* Check for the correct currency code */ harness.check(currency.getCurrencyCode(),ISO4217_CODE, "ISO 4217 currency code retrieval check (" + currency.getCurrencyCode() + ")."); /* Check for the correct currency symbol */ harness.check(currency.getSymbol(), CURRENCY_SYMBOL, "Currency symbol retrieval check (" + currency.getSymbol() + ")."); /* Check for the correct fraction digits */ harness.check(currency.getDefaultFractionDigits(), FRACTION_DIGITS, "Currency fraction digits retrieval check (" + currency.getDefaultFractionDigits() + ")."); /* Check for the correct currency code from toString()*/ harness.check(currency.toString(),ISO4217_CODE, "ISO 4217 currency code retrieval check (" + currency.toString() + ")."); } } mauve-20140821/gnu/testlet/java/util/FormatterClosedException/0000755000175000001440000000000012375316426023105 5ustar dokousersmauve-20140821/gnu/testlet/java/util/FormatterClosedException/constructor.java0000644000175000001440000000311712003272216026321 0ustar dokousers// Test if instances of a class java.util.FormatterClosedException could be properly constructed // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatterClosedException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatterClosedException; /** * Test if instances of a class java.util.FormatterClosedException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { FormatterClosedException object1 = new FormatterClosedException(); harness.check(object1 != null); harness.check(object1.toString(), "java.util.FormatterClosedException"); } } mauve-20140821/gnu/testlet/java/util/FormatterClosedException/TryCatch.java0000644000175000001440000000327312003272216025460 0ustar dokousers// Test if try-catch block is working properly for a class java.util.FormatterClosedException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatterClosedException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatterClosedException; /** * Test if try-catch block is working properly for a class java.util.FormatterClosedException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new FormatterClosedException(); } catch (FormatterClosedException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/util/FormatterClosedException/classInfo/0000755000175000001440000000000012375316426025026 5ustar dokousersmauve-20140821/gnu/testlet/java/util/FormatterClosedException/classInfo/getPackage.java0000644000175000001440000000316212003272216027710 0ustar dokousers// Test for method java.util.FormatterClosedException.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatterClosedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatterClosedException; /** * Test for method java.util.FormatterClosedException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FormatterClosedException(); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.util"); } } mauve-20140821/gnu/testlet/java/util/FormatterClosedException/classInfo/getInterfaces.java0000644000175000001440000000322212003272216030435 0ustar dokousers// Test for method java.util.FormatterClosedException.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatterClosedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatterClosedException; import java.util.List; import java.util.Arrays; /** * Test for method java.util.FormatterClosedException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FormatterClosedException(); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/util/FormatterClosedException/classInfo/getModifiers.java0000644000175000001440000000441312003272216030276 0ustar dokousers// Test for method java.util.FormatterClosedException.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatterClosedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatterClosedException; import java.lang.reflect.Modifier; /** * Test for method java.util.FormatterClosedException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FormatterClosedException(); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/util/FormatterClosedException/classInfo/isPrimitive.java0000644000175000001440000000311712003272216030161 0ustar dokousers// Test for method java.util.FormatterClosedException.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatterClosedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatterClosedException; /** * Test for method java.util.FormatterClosedException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FormatterClosedException(); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/util/FormatterClosedException/classInfo/getSimpleName.java0000644000175000001440000000315412003272216030410 0ustar dokousers// Test for method java.util.FormatterClosedException.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatterClosedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatterClosedException; /** * Test for method java.util.FormatterClosedException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FormatterClosedException(); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "FormatterClosedException"); } } mauve-20140821/gnu/testlet/java/util/FormatterClosedException/classInfo/isSynthetic.java0000644000175000001440000000311712003272216030163 0ustar dokousers// Test for method java.util.FormatterClosedException.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatterClosedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatterClosedException; /** * Test for method java.util.FormatterClosedException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FormatterClosedException(); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/util/FormatterClosedException/classInfo/isInstance.java0000644000175000001440000000315012003272216027752 0ustar dokousers// Test for method java.util.FormatterClosedException.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatterClosedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatterClosedException; /** * Test for method java.util.FormatterClosedException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FormatterClosedException(); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new FormatterClosedException())); } } mauve-20140821/gnu/testlet/java/util/FormatterClosedException/classInfo/isMemberClass.java0000644000175000001440000000312712003272216030407 0ustar dokousers// Test for method java.util.FormatterClosedException.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatterClosedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatterClosedException; /** * Test for method java.util.FormatterClosedException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FormatterClosedException(); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/util/FormatterClosedException/classInfo/getSuperclass.java0000644000175000001440000000324412003272216030502 0ustar dokousers// Test for method java.util.FormatterClosedException.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatterClosedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatterClosedException; /** * Test for method java.util.FormatterClosedException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FormatterClosedException(); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.IllegalStateException"); } } mauve-20140821/gnu/testlet/java/util/FormatterClosedException/classInfo/InstanceOf.java0000644000175000001440000000410212003272216027701 0ustar dokousers// Test for instanceof operator applied to a class java.util.FormatterClosedException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatterClosedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatterClosedException; import java.lang.IllegalStateException; import java.lang.RuntimeException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.util.FormatterClosedException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class FormatterClosedException FormatterClosedException o = new FormatterClosedException(); // basic check of instanceof operator harness.check(o instanceof FormatterClosedException); // check operator instanceof against all superclasses harness.check(o instanceof IllegalStateException); harness.check(o instanceof RuntimeException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/util/FormatterClosedException/classInfo/isInterface.java0000644000175000001440000000311712003272216030111 0ustar dokousers// Test for method java.util.FormatterClosedException.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatterClosedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatterClosedException; /** * Test for method java.util.FormatterClosedException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FormatterClosedException(); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/util/FormatterClosedException/classInfo/isAssignableFrom.java0000644000175000001440000000317712003272216031113 0ustar dokousers// Test for method java.util.FormatterClosedException.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatterClosedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatterClosedException; /** * Test for method java.util.FormatterClosedException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FormatterClosedException(); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(FormatterClosedException.class)); } } mauve-20140821/gnu/testlet/java/util/FormatterClosedException/classInfo/isLocalClass.java0000644000175000001440000000312312003272216030226 0ustar dokousers// Test for method java.util.FormatterClosedException.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatterClosedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatterClosedException; /** * Test for method java.util.FormatterClosedException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FormatterClosedException(); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/util/FormatterClosedException/classInfo/getName.java0000644000175000001440000000313612003272216027236 0ustar dokousers// Test for method java.util.FormatterClosedException.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.FormatterClosedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.FormatterClosedException; /** * Test for method java.util.FormatterClosedException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FormatterClosedException(); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.util.FormatterClosedException"); } } mauve-20140821/gnu/testlet/java/util/ConcurrentModificationException/0000755000175000001440000000000012375316426024460 5ustar dokousersmauve-20140821/gnu/testlet/java/util/ConcurrentModificationException/constructor.java0000644000175000001440000000413311777246513027715 0ustar dokousers// Test if instances of a class java.util.ConcurrentModificationException could be properly constructed // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.ConcurrentModificationException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.ConcurrentModificationException; /** * Test if instances of a class java.util.ConcurrentModificationException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { ConcurrentModificationException object1 = new ConcurrentModificationException(); harness.check(object1 != null); harness.check(object1.toString(), "java.util.ConcurrentModificationException"); ConcurrentModificationException object2 = new ConcurrentModificationException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.util.ConcurrentModificationException: nothing happens"); ConcurrentModificationException object3 = new ConcurrentModificationException(null); harness.check(object3 != null); harness.check(object3.toString(), "java.util.ConcurrentModificationException"); } } mauve-20140821/gnu/testlet/java/util/ConcurrentModificationException/TryCatch.java0000644000175000001440000000340611777246513027053 0ustar dokousers// Test if try-catch block is working properly for a class java.util.ConcurrentModificationException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.ConcurrentModificationException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.ConcurrentModificationException; /** * Test if try-catch block is working properly for a class java.util.ConcurrentModificationException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new ConcurrentModificationException("ConcurrentModificationException"); } catch (ConcurrentModificationException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/util/ConcurrentModificationException/classInfo/0000755000175000001440000000000012375316426026401 5ustar dokousersmauve-20140821/gnu/testlet/java/util/ConcurrentModificationException/classInfo/getPackage.java0000644000175000001440000000326611777246514031313 0ustar dokousers// Test for method java.util.ConcurrentModificationException.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.ConcurrentModificationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.ConcurrentModificationException; /** * Test for method java.util.ConcurrentModificationException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new ConcurrentModificationException("ConcurrentModificationException"); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.util"); } } mauve-20140821/gnu/testlet/java/util/ConcurrentModificationException/classInfo/getInterfaces.java0000644000175000001440000000332611777246514032040 0ustar dokousers// Test for method java.util.ConcurrentModificationException.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.ConcurrentModificationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.ConcurrentModificationException; import java.util.List; import java.util.Arrays; /** * Test for method java.util.ConcurrentModificationException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new ConcurrentModificationException("ConcurrentModificationException"); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/util/ConcurrentModificationException/classInfo/getModifiers.java0000644000175000001440000000451711777246514031701 0ustar dokousers// Test for method java.util.ConcurrentModificationException.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.ConcurrentModificationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.ConcurrentModificationException; import java.lang.reflect.Modifier; /** * Test for method java.util.ConcurrentModificationException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new ConcurrentModificationException("ConcurrentModificationException"); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/util/ConcurrentModificationException/classInfo/isPrimitive.java0000644000175000001440000000322311777246514031555 0ustar dokousers// Test for method java.util.ConcurrentModificationException.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.ConcurrentModificationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.ConcurrentModificationException; /** * Test for method java.util.ConcurrentModificationException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new ConcurrentModificationException("ConcurrentModificationException"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/util/ConcurrentModificationException/classInfo/getSimpleName.java0000644000175000001440000000326711777246514032013 0ustar dokousers// Test for method java.util.ConcurrentModificationException.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.ConcurrentModificationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.ConcurrentModificationException; /** * Test for method java.util.ConcurrentModificationException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new ConcurrentModificationException("ConcurrentModificationException"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "ConcurrentModificationException"); } } mauve-20140821/gnu/testlet/java/util/ConcurrentModificationException/classInfo/isSynthetic.java0000644000175000001440000000322311777246514031557 0ustar dokousers// Test for method java.util.ConcurrentModificationException.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.ConcurrentModificationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.ConcurrentModificationException; /** * Test for method java.util.ConcurrentModificationException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new ConcurrentModificationException("ConcurrentModificationException"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/util/ConcurrentModificationException/classInfo/isInstance.java0000644000175000001440000000332411777246514031353 0ustar dokousers// Test for method java.util.ConcurrentModificationException.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.ConcurrentModificationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.ConcurrentModificationException; /** * Test for method java.util.ConcurrentModificationException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new ConcurrentModificationException("ConcurrentModificationException"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new ConcurrentModificationException("ConcurrentModificationException"))); } } mauve-20140821/gnu/testlet/java/util/ConcurrentModificationException/classInfo/isMemberClass.java0000644000175000001440000000323311777246514032003 0ustar dokousers// Test for method java.util.ConcurrentModificationException.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.ConcurrentModificationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.ConcurrentModificationException; /** * Test for method java.util.ConcurrentModificationException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new ConcurrentModificationException("ConcurrentModificationException"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/util/ConcurrentModificationException/classInfo/getSuperclass.java0000644000175000001440000000334311777246514032100 0ustar dokousers// Test for method java.util.ConcurrentModificationException.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.ConcurrentModificationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.ConcurrentModificationException; /** * Test for method java.util.ConcurrentModificationException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new ConcurrentModificationException("ConcurrentModificationException"); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.RuntimeException"); } } mauve-20140821/gnu/testlet/java/util/ConcurrentModificationException/classInfo/InstanceOf.java0000644000175000001440000000407011777246514031303 0ustar dokousers// Test for instanceof operator applied to a class java.util.ConcurrentModificationException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.ConcurrentModificationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.ConcurrentModificationException; import java.lang.RuntimeException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.util.ConcurrentModificationException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ConcurrentModificationException ConcurrentModificationException o = new ConcurrentModificationException("ConcurrentModificationException"); // basic check of instanceof operator harness.check(o instanceof ConcurrentModificationException); // check operator instanceof against all superclasses harness.check(o instanceof RuntimeException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/util/ConcurrentModificationException/classInfo/isInterface.java0000644000175000001440000000322311777246514031505 0ustar dokousers// Test for method java.util.ConcurrentModificationException.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.ConcurrentModificationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.ConcurrentModificationException; /** * Test for method java.util.ConcurrentModificationException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new ConcurrentModificationException("ConcurrentModificationException"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/util/ConcurrentModificationException/classInfo/isAssignableFrom.java0000644000175000001440000000331211777246514032500 0ustar dokousers// Test for method java.util.ConcurrentModificationException.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.ConcurrentModificationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.ConcurrentModificationException; /** * Test for method java.util.ConcurrentModificationException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new ConcurrentModificationException("ConcurrentModificationException"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(ConcurrentModificationException.class)); } } mauve-20140821/gnu/testlet/java/util/ConcurrentModificationException/classInfo/isLocalClass.java0000644000175000001440000000322711777246514031631 0ustar dokousers// Test for method java.util.ConcurrentModificationException.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.ConcurrentModificationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.ConcurrentModificationException; /** * Test for method java.util.ConcurrentModificationException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new ConcurrentModificationException("ConcurrentModificationException"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/util/ConcurrentModificationException/classInfo/getName.java0000644000175000001440000000325111777246514030632 0ustar dokousers// Test for method java.util.ConcurrentModificationException.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.ConcurrentModificationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.ConcurrentModificationException; /** * Test for method java.util.ConcurrentModificationException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new ConcurrentModificationException("ConcurrentModificationException"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.util.ConcurrentModificationException"); } } mauve-20140821/gnu/testlet/java/util/AbstractSequentialList/0000755000175000001440000000000012375316426022563 5ustar dokousersmauve-20140821/gnu/testlet/java/util/AbstractSequentialList/AcuniaAbstractSequentialListTest.java0000644000175000001440000005164110206401721032030 0ustar dokousers/* Copyright (C) 2001 ACUNIA This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.2 package gnu.testlet.java.util.AbstractSequentialList; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.*; /** * Written by ACUNIA.
*
* this file contains test for AbstractSequentialList
*
*/ public class AcuniaAbstractSequentialListTest extends AbstractSequentialList implements Testlet { protected TestHarness th; public void test (TestHarness harness) { th = harness; test_AbstractSequentialList(); test_add(); test_addAll(); test_remove(); test_set(); test_get(); test_iterator(); test_ListIterator(); } protected AcuniaAbstractSequentialListTest buildAL() { Vector v = new Vector(); v.add("a"); v.add("c"); v.add("u"); v.add("n"); v.add("i"); v.add("a"); v.add(null); v.add("a"); v.add("c"); v.add("u"); v.add("n"); v.add("i"); v.add("a"); v.add(null); return new AcuniaAbstractSequentialListTest(v); } /** * Not implemented.
* */ public void test_AbstractSequentialList(){ } /** * implemented.
* */ public void test_add(){ th.checkPoint("add(int,java.lang.Object)void"); AcuniaAbstractSequentialListTest al = new AcuniaAbstractSequentialListTest(); try { al.add(-1,"a"); th.fail("should throw an IndexOutOfBoundsException -- 1"); } catch(IndexOutOfBoundsException ioobe) { th.check(true); } try { al.add(1,"a"); th.fail("should throw an IndexOutOfBoundsException -- 2"); } catch(IndexOutOfBoundsException ioobe) { th.check(true); } al.clear(); al.add(0,"a"); al.add(1,"c"); al.add(2,"u"); al.add(1,null); th.check("a".equals(al.get(0))&& null==al.get(1) && "c".equals(al.get(2)) && "u".equals(al.get(3)) , "checking add ..."); th.checkPoint("add(java.lang.Object)boolean"); al = new AcuniaAbstractSequentialListTest(); th.check(al.add("a") , "checking return value -- 1"); th.check(al.add("c") , "checking return value -- 2"); th.check(al.add("u") , "checking return value -- 3"); th.check(al.add("n") , "checking return value -- 4"); th.check(al.add("i") , "checking return value -- 5"); th.check(al.add("a") , "checking return value -- 6"); th.check(al.add(null) , "checking return value -- 7"); th.check(al.add("end") , "checking return value -- 8"); th.check("a".equals(al.get(0))&& null==al.get(6) && "c".equals(al.get(1)) && "u".equals(al.get(2)) , "checking add ... -- 1"); th.check("a".equals(al.get(5))&& "end".equals(al.get(7)) && "n".equals(al.get(3)) && "i".equals(al.get(4)) , "checking add ... -- 2"); } /** * implemented.
* */ public void test_addAll(){ th.checkPoint("addAll(java.util.Collection)boolean"); AcuniaAbstractSequentialListTest al =new AcuniaAbstractSequentialListTest(); try { al.addAll(null); th.fail("should throw NullPointerException"); } catch (NullPointerException ne) { th.check(true); } Collection c = (Collection) al; th.check(!al.addAll(c) ,"checking returnvalue -- 1"); al.add("a"); al.add("b"); al.add("c"); c = (Collection) al; al = buildAL(); th.check(al.addAll(c) ,"checking returnvalue -- 2"); th.check(al.containsAll(c), "extra on containsAll -- 1"); th.check(al.get(14)=="a" && al.get(15)=="b" && al.get(16)=="c", "checking added on right positions"); th.debug(al.toString()); th.checkPoint("addAll(int,java.util.Collection)boolean"); al =new AcuniaAbstractSequentialListTest(); c = (Collection) al; th.check(!al.addAll(0,c) ,"checking returnvalue -- 1"); al.add("a"); al.add("b"); al.add("c"); c = (Collection) al; al = buildAL(); try { al.addAll(-1,c); th.fail("should throw exception -- 1"); } catch (IndexOutOfBoundsException ae) { th.check(true); } try { al.addAll(15,c); th.fail("should throw exception -- 2"); } catch (IndexOutOfBoundsException ae) { th.check(true); } try { th.check(al.addAll(11,c),"checking returnvalue -- 2"); } catch (ArrayIndexOutOfBoundsException ae) { th.fail("shouldn't throw exception -- 1"); } th.debug(al.toString()); th.check(al.containsAll(c), "extra on containsAll -- 1"); th.check(al.get(11)=="a" && al.get(12)=="b" && al.get(13)=="c", "checking added on right positions -- 1"); th.debug(al.toString()); th.check(al.addAll(1,c),"checking returnvalue -- 3"); th.check(al.get(1)=="a" && al.get(2)=="b" && al.get(3)=="c", "checking added on right positions -- 2"); th.debug(al.toString()); } /** * implemented.
* */ public void test_remove(){ th.checkPoint("remove(int)java.lang.Object"); AcuniaAbstractSequentialListTest al = buildAL(); try { al.remove(-1); th.fail("should throw an IndexOutOfBoundsException -- 1" ); } catch (IndexOutOfBoundsException e) { th.check(true); } try { al.remove(14); th.fail("should throw an IndexOutOfBoundsException -- 2" ); } catch (IndexOutOfBoundsException e) { th.check(true); } th.check( "a".equals(al.remove(5)) , "checking returnvalue remove -- 1"); th.check("a".equals(al.get(0))&& null==al.get(5) && "c".equals(al.get(1)) && "u".equals(al.get(2)) , "checking remove ... -- 1"); th.check("a".equals(al.get(6))&& "c".equals(al.get(7)) && "n".equals(al.get(3)) && "i".equals(al.get(4)) , "checking remove ... -- 2"); th.check(al.size() == 13 , "checking new size -- 1"); th.check( al.remove(5) == null , "checking returnvalue remove -- 2"); th.check(al.size() == 12 , "checking new size -- 2"); th.check( al.remove(11) == null, "checking returnvalue remove -- 3"); th.check( "a".equals(al.remove(0)) , "checking returnvalue remove -- 4"); th.check( "u".equals(al.remove(1)) , "checking returnvalue remove -- 5"); th.check( "i".equals(al.remove(2)) , "checking returnvalue remove -- 6"); th.check( "a".equals(al.remove(2)) , "checking returnvalue remove -- 7"); th.check( "u".equals(al.remove(3)) , "checking returnvalue remove -- 8"); th.check( "a".equals(al.remove(5)) , "checking returnvalue remove -- 9"); th.check( "i".equals(al.remove(4)) , "checking returnvalue remove -- 10"); th.check( "c".equals(al.get(0))&& "c".equals(al.get(2)) && "n".equals(al.get(3)) && "n".equals(al.get(1)) , "checking remove ... -- 3"); th.check(al.size() == 4 , "checking new size -- 3"); al.remove(0); al.remove(0); al.remove(0); al.remove(0); th.check(al.size() == 0 , "checking new size -- 4"); al = new AcuniaAbstractSequentialListTest(); try { al.remove(0); th.fail("should throw an IndexOutOfBoundsException -- 3" ); } catch (IndexOutOfBoundsException e) { th.check(true); } } /** * implemented.
* */ public void test_set(){ th.checkPoint("set(int,java.lang.Object)java.lang.Object"); AcuniaAbstractSequentialListTest al = new AcuniaAbstractSequentialListTest(); try { al.set(-1,"a"); th.fail("should throw an IndexOutOfBoundsException -- 1" ); } catch (IndexOutOfBoundsException e) { th.check(true); } try { al.set(0,"a"); th.fail("should throw an IndexOutOfBoundsException -- 2" ); } catch (IndexOutOfBoundsException e) { th.check(true); } al = buildAL(); try { al.set(-1,"a"); th.fail("should throw an IndexOutOfBoundsException -- 3" ); } catch (IndexOutOfBoundsException e) { th.check(true); } try { al.set(14,"a"); th.fail("should throw an IndexOutOfBoundsException -- 4" ); } catch (IndexOutOfBoundsException e) { th.check(true); } th.check( "a".equals(al.set(5,"b")) , "checking returnvalue of set -- 1"); th.check( "a".equals(al.set(0,null)), "checking returnvalue of set -- 2"); th.check( "b".equals(al.get(5)), "checking effect of set -- 1"); th.check( al.get(0) == null , "checking effect of set -- 2"); th.check( "b".equals(al.set(5,"a")), "checking returnvalue of set -- 3"); th.check( al.set(0,null) == null , "checking returnvalue of set -- 4"); th.check( "a".equals(al.get(5)), "checking effect of set -- 3"); th.check( al.get(0) == null , "checking effect of set -- 4"); } /** * implemented.
* */ public void test_contains(){ th.checkPoint("contains(java.lang.Object)boolean"); AcuniaAbstractSequentialListTest al = new AcuniaAbstractSequentialListTest(); th.check(!al.contains(null),"checking empty List -- 1"); th.check(!al.contains(al) ,"checking empty List -- 2"); al = buildAL(); th.check( al.contains(null), "check contains ... -- 1"); th.check( al.contains("a") , "check contains ... -- 2"); th.check( al.contains("c") , "check contains ... -- 3"); th.check(!al.contains(new Object()), "check contains ... -- 4"); al.remove(6); th.check( al.contains(null), "check contains ... -- 5"); al.remove(12); th.check(!al.contains(null), "check contains ... -- 6"); th.check(!al.contains("b") , "check contains ... -- 7"); th.check(!al.contains(al) , "check contains ... -- 8"); } /** * implemented.
* */ public void test_get(){ th.checkPoint("get(int)java.lang.Object"); AcuniaAbstractSequentialListTest al = new AcuniaAbstractSequentialListTest(); try { al.get(0); th.fail("should throw an IndexOutOfBoundsException -- 1"); } catch(IndexOutOfBoundsException ioobe) { th.check(true ,"caught exception -- 1");} al = buildAL(); try { al.get(-1); th.fail("should throw an IndexOutOfBoundsException -- 2"); } catch(IndexOutOfBoundsException ioobe) { th.check(true ,"caught exception -- 2");} try { al.get(14); th.fail("should throw an IndexOutOfBoundsException -- 3"); } catch(IndexOutOfBoundsException ioobe) { th.check(true ,"caught exception -- 3");} th.check(al.get(0) , "a" , "checking get ... -- 1"); th.check(al.get(1) , "c" , "checking get ... -- 2"); th.check(al.get(2) , "u" , "checking get ... -- 3"); th.check(al.get(3) , "n" , "checking get ... -- 4"); th.check(al.get(4) , "i" , "checking get ... -- 5"); th.check(al.get(5) , "a" , "checking get ... -- 6"); th.check(al.get(6) , null, "checking get ... -- 7"); th.check(al.get(7) , "a" , "checking get ... -- 8"); } /** * implemented.
* */ public void test_indexOf(){ th.checkPoint("indexOf(java.lang.Object)int"); AcuniaAbstractSequentialListTest al = new AcuniaAbstractSequentialListTest(); th.check( al.indexOf(null)== -1,"checks on empty list -- 1"); th.check( al.indexOf(al)== -1 , "checks on empty list -- 2"); Object o = new Object(); al =buildAL(); th.check( al.indexOf(o) == -1 , " doesn't contain -- 1"); th.check( al.indexOf("a") == 0 , "contains -- 2"); th.check( al.indexOf("Q") == -1, "doesn't contain -- 3"); al.add(9,o); th.check( al.indexOf(o) == 9 , "contains -- 4"); th.check( al.indexOf(new Object()) == -1 , "doesn't contain -- 5"); th.check(al.indexOf(null) == 6, "null was added to the Vector"); al.remove(6); th.check(al.indexOf(null) == 13, "null was added twice to the Vector"); al.remove(13); th.check(al.indexOf(null) == -1, "null was removed to the Vector"); th.check( al.indexOf("c") == 1 , "contains -- 6"); th.check( al.indexOf("u") == 2 , "contains -- 7"); th.check( al.indexOf("n") == 3 , "contains -- 8"); } /** * not implemented.
* not needed --> abstract method */ public void test_size(){ th.checkPoint("size()int"); } /** * implemented.
* */ public void test_lastIndexOf(){ th.checkPoint("lastIndexOf(java.lang.Object)int"); AcuniaAbstractSequentialListTest al = new AcuniaAbstractSequentialListTest(); th.check( al.lastIndexOf(null)== -1,"checks on empty list -- 1"); th.check( al.lastIndexOf(al)== -1 , "checks on empty list -- 2"); Object o = new Object(); al =buildAL(); th.check( al.lastIndexOf(o) == -1 , " doesn't contain -- 1"); th.check( al.lastIndexOf("a") == 12 , "contains -- 2"); th.check( al.lastIndexOf(o) == -1, "contains -- 3"); al.add(9,o); th.check( al.lastIndexOf(o) == 9 , "contains -- 4"); th.check( al.lastIndexOf(new Object()) == -1 , "doesn't contain -- 5"); th.check( al.lastIndexOf(null) == 14, "null was added to the Vector"); al.remove(14); th.check( al.lastIndexOf(null) == 6 , "null was added twice to the Vector"); al.remove(6); th.check( al.lastIndexOf(null) == -1, "null was removed to the Vector"); th.check( al.lastIndexOf("c") == 7 , "contains -- 6, got "+al.lastIndexOf("c")); th.check( al.lastIndexOf("u") == 9 , "contains -- 7, got "+al.lastIndexOf("u")); th.check( al.lastIndexOf("n") == 10, "contains -- 8, got "+al.lastIndexOf("n")); } /** * implemented.
* */ public void test_toArray(){ th.checkPoint("toArray()[java.lang.Object"); AcuniaAbstractSequentialListTest v = new AcuniaAbstractSequentialListTest(); Object o[] = v.toArray(); th.check(o.length == 0 , "checking size Object array"); v.add("a"); v.add(null); v.add("b"); o = v.toArray(); th.check(o[0]== "a" && o[1] == null && o[2] == "b" , "checking elements -- 1"); th.check(o.length == 3 , "checking size Object array"); th.checkPoint("toArray([java.lang.Object)[java.lang.Object"); v = new AcuniaAbstractSequentialListTest(); try { v.toArray(null); th.fail("should throw NullPointerException -- 1"); } catch (NullPointerException ne) { th.check(true); } v.add("a"); v.add(null); v.add("b"); String sa[] = new String[5]; sa[3] = "deleteme"; sa[4] = "leavemealone"; th.check(v.toArray(sa) == sa , "sa is large enough, no new array created"); th.check(sa[0]=="a" && sa[1] == null && sa[2] == "b" , "checking elements -- 1"+sa[0]+", "+sa[1]+", "+sa[2]); th.check(sa.length == 5 , "checking size Object array"); th.check(sa[3]==null && sa[4]=="leavemealone", "check other elements -- 1"+sa[3]+", "+sa[4]); v = buildAL(); try { v.toArray(null); th.fail("should throw NullPointerException -- 2"); } catch (NullPointerException ne) { th.check(true); } try { v.toArray(new Class[5]); th.fail("should throw an ArrayStoreException"); } catch (ArrayStoreException ae) { th.check(true); } v.add(null); String sar[]; sa = new String[15]; sar = (String[])v.toArray(sa); th.check( sar == sa , "returned array is the same"); } /** * implemented.
* */ public void test_iterator(){ th.checkPoint("ModCount(in)iterator"); AcuniaAbstractSequentialListTest al = buildAL(); Iterator it = al.iterator(); al.get(0); al.contains(null); al.isEmpty(); al.indexOf(null); al.lastIndexOf(null); al.size(); al.toArray(); al.toArray(new String[10]); try { it.next(); th.check(true); } catch(ConcurrentModificationException ioobe) { th.fail("should not throw a ConcurrentModificationException -- 2"); } it = al.iterator(); al.add("b"); try { it.next(); th.fail("should throw a ConcurrentModificationException -- 3"); } catch(ConcurrentModificationException ioobe) { th.check(true); } it = al.iterator(); al.add(3,"b"); try { it.next(); th.fail("should throw a ConcurrentModificationException -- 4"); } catch(ConcurrentModificationException ioobe) { th.check(true); } it = al.iterator(); al.addAll(buildAL()); try { it.next(); th.fail("should throw a ConcurrentModificationException -- 5"); } catch(ConcurrentModificationException ioobe) { th.check(true); } it = al.iterator(); al.addAll(2,buildAL()); try { it.next(); th.fail("should throw a ConcurrentModificationException -- 6"); } catch(ConcurrentModificationException ioobe) { th.check(true); } it = al.iterator(); al.remove(2); try { it.next(); th.fail("should throw a ConcurrentModificationException -- 8"); } catch(ConcurrentModificationException ioobe) { th.check(true); } it = al.iterator(); al.clear(); try { it.next(); th.fail("should throw a ConcurrentModificationException -- 9"); } catch(ConcurrentModificationException ioobe) { th.check(true); } } /** * implemented.
* not needed since this is an abstract method ... */ public void test_ListIterator(){ th.checkPoint("listIterator()java.util.ListIterator"); AcuniaAbstractSequentialListTest ll = new AcuniaAbstractSequentialListTest(); ListIterator li = ll.listIterator(); try { li.next(); th.fail("should throw a NoSuchElementException -- 1"); } catch(NoSuchElementException nsee) { th.check(true, "caught exeption -- 1"); } try { li.previous(); th.fail("should throw a NoSuchElementException -- 2"); } catch(NoSuchElementException nsee) { th.check(true, "caught exeption -- 2"); } th.check(!li.hasNext() , "no elements ... -- 1"); th.check(!li.hasPrevious() , "no elements ... -- 1"); th.check(li.nextIndex() , 0 ,"nextIndex == 0 -- 1"); th.check(li.previousIndex() , -1 ,"previousIndex == -1 -- 1"); li.add("a"); th.check(!li.hasNext() , "no elements ... -- 2"); th.check(li.hasPrevious() , "one element ... -- 2"); th.check(li.nextIndex() , 1 ,"nextIndex == 1 -- 2"); th.check(li.previousIndex() , 0 ,"previousIndex == 0 -- 2"); try { li.next(); th.fail("should throw a NoSuchElementException -- 3"); } catch(NoSuchElementException nsee) { th.check(true, "caught exeption -- 3"); } th.check("a".equals(li.previous()) , "checking previous element -- 1"); li.add(null); th.check(li.previousIndex() , 0 ,"previousIndex == 0 -- 3"); th.check(li.previous() == null , "checking previous element -- 2"); th.check(li.next() == null , "checking next element -- 1"); li.add("b"); th.check("a".equals(li.next()) ,"checking next element -- 2"); li.add("c"); try { li.set("not"); th.fail("should throw a IllegalStateException -- 1"); } catch(IllegalStateException ise) { th.check(true, "caught exeption -- 4"); } th.check(!ll.contains("not"), "set should not have been executed"); try { li.remove(); th.fail("should throw a IllegalStateException -- 2"); } catch(IllegalStateException ise) { th.check(true, "caught exeption -- 5"); } catch(Exception e) { th.fail("wrong Exception thrown"); } th.check("c".equals(li.previous()) , "checking previous element -- 3"); li.set("new"); th.check("new".equals(li.next()) , "validating set"); li.set("not"); li.set("notOK"); li.remove(); try { li.set("not"); th.fail("should throw a IllegalStateException -- 3"); } catch(IllegalStateException ise) { th.check(true, "caught exeption -- 6"); } th.check(!ll.contains("not"), "set should not have been executed"); try { li.remove(); th.fail("should throw a IllegalStateException -- 4"); } catch(IllegalStateException ise) { th.check(true, "caught exeption -- 7"); } catch(Exception e) { th.fail("wrong exception thrown"); } try { li.next(); th.fail("should throw a NoSuchElementException -- 4"); } catch(NoSuchElementException nsee) { th.check(true, "caught exeption -- 8"); } th.check("a",li.previous(),"checking on previous element"); li.remove(); try { li.set("not"); th.fail("should throw a IllegalStateException -- 5"); } catch(IllegalStateException ise) { th.check(true, "caught exeption -- 9"); } th.check(!ll.contains("not"), "set should not have been executed"); try { li.remove(); th.fail("should throw a IllegalStateException -- 6"); } catch(IllegalStateException ise) { th.check(true, "caught exeption -- 10"); } catch(Exception e) { th.fail("wrong exception thrown"); } } // The following fields and methods are needed to use this class as a test // implementation of AbstractSequentialList. public LinkedList v = new LinkedList(); public AcuniaAbstractSequentialListTest(){ super(); } public AcuniaAbstractSequentialListTest(List l){ super(); v.addAll(l); } public int size() { return v.size(); } public ListIterator listIterator(int idx) { return v.listIterator(idx); } } mauve-20140821/gnu/testlet/java/util/Properties/0000755000175000001440000000000012375316426020265 5ustar dokousersmauve-20140821/gnu/testlet/java/util/Properties/AcuniaPropertiesTest.java0000644000175000001440000004540010635565261025250 0ustar dokousers/* Copyright (C) 2001, 2004 ACUNIA This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.2 package gnu.testlet.java.util.Properties; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.*; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.PrintStream; import java.io.PrintWriter; /** * Written by ACUNIA.
*
* this file contains test for java.util.Properties
*
* Properties extends Hashtable and thus all methods !!!
* We can use methods from Hashtable to get info about the Properties object
*
* Whenever a stream is needed we choose an ByteArrayStream
*/ public class AcuniaPropertiesTest implements Testlet { protected TestHarness th; protected Properties defProps; protected byte buffer[]; protected byte bytesout[]; protected ByteArrayInputStream bin; protected ByteArrayOutputStream bout; protected PrintStream psout; protected PrintWriter pwout; public void test (TestHarness harness) { th = harness; setUpTest(); resetStreams(); test_Properties(); resetStreams(); test_getProperty(); resetStreams(); test_list(); resetStreams(); test_load(); resetStreams(); test_propertyNames(); resetStreams(); test_setProperty(); resetStreams(); test_store(); resetStreams(); test_save(); resetStreams(); test_loadextra(); } private void resetStreams(){ try { bin.reset(); bout.reset(); } catch (Exception e){} } private void setUpTest() { buffer = new String("name=yes\nSmart=move\nanimal=dog").getBytes(); bin = new ByteArrayInputStream(buffer); bout = new ByteArrayOutputStream(); psout = new PrintStream(bout); pwout = new PrintWriter(bout); defProps = new Properties(); try { defProps.load(bin); } catch (Exception e) {} buffer =new String("!comment\n \nname=no\n#morecomments\ndog=no_cat\ntest\ndate=today\nlongvalue=I'mtryingtogiveavaluelongerthen40characters\n40chars=thisvalueshouldcontainexactly40charcters").getBytes(); bin = new ByteArrayInputStream(buffer); } /** * implemented.
* might need extra testcode */ public void test_Properties(){ th.checkPoint("Properties()"); // not much to check for this one ! Properties p = new Properties(); th.check(p.isEmpty() ,"nothing in there"); th.checkPoint("Properties(java.util.Properties)"); p = new Properties(defProps); th.check(p.isEmpty() ,"nothing in there"); th.check(p.getProperty("name").equals("yes") , "default field is not empty"); try { p = new Properties(null); th.check(true); } catch (Exception e) { th.fail("should not throw an Exeption. Got: "+e); } } /** * implemented. * */ public void test_getProperty(){ th.checkPoint("getProperty(java.lang.String)java.lang.String"); Properties p = new Properties(); try { p.getProperty(null); th.fail("should throw a NullPointerException -- 1"); } catch (NullPointerException ne) { th.check( true ); } p = new Properties(defProps); try { p.getProperty(null); th.fail("should throw a NullPointerException -- 2"); } catch (NullPointerException ne) { th.check( true ); } try { p.load(bin); } catch (Exception e) {} try { p.getProperty(null); th.fail("should throw a NullPointerException -- 1"); } catch (NullPointerException ne) { th.check( true ); } try { th.check(p.getProperty("dog").equals("no_cat") , "check returnvalue"); th.check(p.getProperty("name").equals("no") , "return property from main property table"); th.check(p.getProperty("Smart").equals("move") , "check returnvalue from default table"); th.check(p.getProperty("NoEntry") == null , "check for null if not there"); } catch (Exception e) { th.fail("got unexpected exception: "+e); } th.checkPoint("getProperty(java.lang.String,java.lang.String)java.lang.String"); try { p.getProperty(null, "Noooo..."); th.fail("should throw a NullPointerException -- 1"); } catch (NullPointerException ne) { th.check( true ); } try { th.check(p.getProperty( "Noooo...", null)==null , "defVal may be null"); } catch (NullPointerException ne) { th.fail("shouldn't throw a NullPointerException -- 1"); } th.check(p.getProperty("dog","not found").equals("no_cat") , "check returnvalue"); th.check(p.getProperty("name","not found").equals("no") , "return property from main property table"); th.check(p.getProperty("Smart","not found").equals("move") , "check returnvalue from default table"); th.check(p.getProperty("NoEntry","not found").equals("not found") , "check for defVal if not there"); } /** * implemented. * */ public void test_list(){ th.checkPoint("list(java.io.PrintStream)void"); Properties p = new Properties(); try { p.list((PrintStream)null); th.fail("should throw NullPointerException -- 1"); } catch (NullPointerException ne) { th.check(true); } try { p.load(bin); } catch (Exception e) {} p.list(psout); byte ba[] = bout.toByteArray(); Vector v = new Vector(); Enumeration ek = p.keys(); String s; while (ek.hasMoreElements()) { s = (String) ek.nextElement(); v.add(s+"="+p.getProperty(s)); } v.add("Smart=move"); v.add("animal=dog"); int start,count =0; v.removeElement("longvalue=I'mtryingtogiveavaluelongerthen40characters"); v.add("longvalue=I'mtryingtogiveavaluelongerthen40char..."); while ( count < ba.length ) { start = count; while ( ba[count] !='\n' && count < ba.length) { count++;} s = new String(ba , start , count - start); if (!s.startsWith("--")) // list() adds a header th.check(v.contains(s), "v does not contain:$"+s+"$"); v.removeElement(s); count++; } try { p.list((PrintStream)null); th.fail("should throw NullPointerException -- 2"); } catch (NullPointerException ne) { th.check(true); } th.checkPoint("list(java.io.PrintWriter)void"); resetStreams(); p = new Properties(); try { p.list((PrintWriter)null); th.fail("should throw NullPointerException -- 1"); } catch (NullPointerException ne) { th.check(true); } try { p.load(bin); } catch (Exception e) {} p.list(pwout); ba = bout.toByteArray(); v = new Vector(); ek = p.keys(); while (ek.hasMoreElements()) { s = (String) ek.nextElement(); v.add(s+"="+p.getProperty(s)); } v.add("Smart=move"); v.add("animal=dog"); count =0; v.removeElement("longvalue=I'mtryingtogiveavaluelongerthen40characters"); v.add("longvalue=I'mtryingtogiveavaluelongerthen40char..."); while ( count < ba.length ) { start = count; while ( ba[count] !='\n' && count < ba.length) { count++;} s = new String(ba , start , count - start); if (!s.startsWith("--")) // list() adds a header th.check(v.contains(s), "v does not contain:$"+s+"$"); v.removeElement(s); count++; } try { p.list((PrintStream)null); th.fail("should throw NullPointerException -- 2"); } catch (NullPointerException ne) { th.check(true); } } /** * implemented.
* load is used by other tests to make a propeties file
* failures in load will mak other tests fail ! */ public void test_load(){ th.checkPoint("load(java.io.InputStream)void"); Properties p = new Properties(); try { p.load((ByteArrayInputStream) null); th.fail("should throw NullPointerException"); } catch (NullPointerException ne) { th.check(true); } catch (Exception e) {th.fail("should throw an NullPointerException instead of: "+e); } try { p.load(bin); } catch (Exception e) {} Enumeration ek1 = p.keys(); resetStreams(); try { p.load(bin); } catch (Exception e) {} Enumeration ek2 = p.keys(); boolean ok = true; while (ek1.hasMoreElements() && ek2.hasMoreElements()) { if (ek1.nextElement() != ek2.nextElement()) ok = false; } th.check( !ek1.hasMoreElements() && !ek2.hasMoreElements(), "no extra elements may be added with same name"); th.check( ok , " all elements are equal "); bin = new ByteArrayInputStream(new String("name=yes\nSmart=move\nanimal=dog").getBytes()); try { p.load(bin); } catch (Exception e) {} th.check(p.getProperty("name").equals("yes") , "load overrides previous values"); Vector v = new Vector(); v.add("name"); v.add("Smart"); v.add("animal"); v.add("dog"); v.add("test"); v.add("date"); v.add("longvalue"); v.add("40chars"); ek1 = p.keys(); ok = true ; Object o; while (ek1.hasMoreElements()) { o = ek1.nextElement(); if ( v.contains(o)) v.removeElement(o); else { ok = false; th.debug("got extra element: "+(String)o);} } th.check( ok , "all elements were there" ); th.check( v.isEmpty() , "all elements should be gone, got"+v ); setUpTest(); } /** * implemented. * */ public void test_propertyNames(){ th.checkPoint("propertyNames()java.util.Enumeration"); Properties p = new Properties(); try { p.load(bin); } catch (Exception e) {} Enumeration en = p.propertyNames(); Enumeration ek = p.keys(); boolean ok = true; Vector v = new Vector(); Enumeration ek2 = p.keys(); while (ek2.hasMoreElements()) { v.add(ek2.nextElement ()); } while (ek.hasMoreElements() && en.hasMoreElements()) { ek.nextElement(); Object next = en.nextElement(); if (!v.contains(next)) { ok = false; th.debug(next + " not in " + v); } } th.check(ok , "all elements are the same"); th.check( ! ek.hasMoreElements() && ! en.hasMoreElements() , "make sure both enumerations are empty"); p = new Properties(defProps); resetStreams(); try { p.load(bin); } catch (Exception e) {} v.add("Smart"); v.add("animal"); en = p.propertyNames(); ok = true; Object o; while (en.hasMoreElements()){ o = en.nextElement(); if ( v.contains(o)) v.removeElement(o); else { ok = false; th.debug("got extra element: "+o); } } th.check(ok , "see if no double were generated"); th.check(v.isEmpty() , "check if all names were mentioned -- got:"+v); } /** * implemented. * */ public void test_setProperty(){ th.checkPoint("setProperty(java.lang.String,java.lang.String)java.lang.Object"); Properties p = new Properties(); try { p.setProperty(null ,"Noooo..."); th.fail("should throw NullPointerException -- 1"); } catch (NullPointerException ne) { th.check(true); } try { p.setProperty("Noooo...", null); th.fail("should throw NullPointerException -- 2"); } catch (NullPointerException ne) { th.check(true); } p = new Properties(defProps); try { p.load(bin); } catch (Exception e) {} try { p.setProperty(null ,"Noooo..."); th.fail("should throw NullPointerException -- 3"); } catch (NullPointerException ne) { th.check(true); } try { p.setProperty("No again...", null); th.fail("should throw NullPointerException -- 4"); } catch (NullPointerException ne) { th.check(true); } try { th.check(((String)p.setProperty("test","null")).equals("") , "returns \"\" in our case"); } catch (NullPointerException ne) { th.fail("the value a of property cannot be null, got:"+ne); } th.check(p.getProperty("test").equals("null") , "check new value in our case null"); th.check(p.setProperty("testing","null") == null , "returns value null, name not in list"); th.check(p.getProperty("test").equals("null") , "check new value in our case null"); String s = (String)p.setProperty("Smart","nul"); th.check(s == null , "returnvalue, is null default list not touched, got"); th.check(p.getProperty("Smart").equals("nul") , "check new value in our case null"); s = ((String)p.setProperty("name","nu")); th.check(s.equals("no") , "return value in our case no, got: "+s); th.check(p.getProperty("name").equals("nu") , "check new value in our case nu"); } /** * implemented.
* this method replaces save. It behaves the same, but it will throw a
* java.io.IOException if an IO error occurs, while save did nothing
*
* to test this we should create an OutputStream wich will be guaranteed to fail !
* ???? must be added !!!! (how)
* Add a test to determine of store generates a comment line with the current time
*/ public void test_store(){ th.checkPoint("store(java.io.OutputStream,java.lang.String)void"); Properties p = new Properties(defProps); try { p.store((ByteArrayOutputStream) null , "no comment"); th.fail("should throw NullPointerException"); } catch (NullPointerException ne) { th.check(true); } catch (Exception e) {th.fail("should throw an NullPointerEception instead of: "+e); } try { p.store(bout , null); th.check(true); } catch (NullPointerException ne) { th.fail("should not throw NullPointerException"); } catch (Exception e) {th.fail("shouldn't throw any Exception, but got: "+e); } resetStreams(); try {p.store(bout, null); } catch (Exception e) {th.fail("shouldn't throw any Exception, but got: "+e); } byte ba[] = bout.toByteArray(); th.check( (ba[0]== (byte) '#') && (ba[1]!= (byte) '#'), "only the date should be written"); th.check(ba.length < 50 , "default properties are never printed out"); resetStreams(); try { p.load(bin); } catch (Exception e) {} try {p.store(bout, "no comments");} catch (Exception e) {th.fail("shouldn't throw any Exception, but got: "+e); } ba = bout.toByteArray(); String s = new String(ba , 0 , 12 ); th.check( s.equals("#no comments"), "got: "+s); int i = 0 , count = 0; while ( i < 2 && count < ba.length) { if (ba[count++] == (byte) '\n') i++ ;} // we will construct a vector containing all the lines with should be written Vector v = new Vector(); Enumeration ek = p.keys(); while (ek.hasMoreElements()) { s = (String) ek.nextElement(); v.add(s+"="+p.getProperty(s)); } while ( count < ba.length ) { int start = count; while (count < ba.length) { if ( ba[count] !='\n' ) count++; else break; } s = new String(ba , start , count - start); th.check(v.contains(s), "v does not contain: "+s); v.removeElement(s); count++; } } /** * implemented.
* Add a test to determine of store generates a comment line with the current time
*
* depricated method !!! */ public void test_save(){ th.checkPoint("save(java.io.OutputStream,java.lang.String)void"); Properties p = new Properties(defProps); try { p.save(null , "no comment"); th.fail("should throw NullPointerException"); } catch (NullPointerException ne) { th.check(true); } catch (Exception e) {th.fail("should throw an NullPointerEception instead of: "+e); } try { p.save(bout , null); th.check(true); } catch (NullPointerException ne) { th.fail("should not throw NullPointerException"); } catch (Exception e) {th.fail("shouldn't throw any Exception, but got: "+e); } resetStreams(); try {p.save(bout, null); } catch (Exception e) {th.fail("shouldn't throw any Exception, but got: "+e); } byte ba[] = bout.toByteArray(); th.check( (ba[0]== (byte) '#') && (ba[1]!= (byte) '#'), "just date should be written"); th.debug(ba.length + " -- got: " +new String(ba)); th.check(ba.length < 50 , "default properties are never printed out"); resetStreams(); try { p.load(bin); } catch (Exception e) {} try {p.save(bout, "no comments");} catch (Exception e) {th.fail("shouldn't throw any Exception, but got: "+e); } ba = bout.toByteArray(); String s = new String(ba , 0 , 12 ); th.check( s.equals("#no comments"), "got: "+s); int i = 0 , count = 0; while ( i < 2 && count < ba.length) { if (ba[count++] == (byte) '\n') i++ ;} // we will construct a vector containing all the lines with should be written Vector v = new Vector(); Enumeration ek = p.keys(); while (ek.hasMoreElements()) { s = (String) ek.nextElement(); v.add(s+"="+p.getProperty(s)); } while ( count < ba.length ) { int start = count; while (count < ba.length) { if ( ba[count] !='\n') count++; else break; } s = new String(ba , start , count - start); th.check(v.contains(s), "v does not contain: "+s); v.removeElement(s); count++; } } /** * this test will check if all forms lines are accepted in the load. * */ public void test_loadextra(){ th.checkPoint("load(java.io.InputStream)void"); Properties p = new Properties(); buffer =new String(" !comment\n \t \nname = no\r #morec\tomm\\\nents\r\n dog=no\\\\cat \nburps :\ntest=\ndate today\n\n\nlong\\\n value=tryin \\\n gto\n4:vier\nvier :4").getBytes(); bin = new ByteArrayInputStream(buffer); try {p.load(bin);} catch (Exception e) {} Enumeration e = p.keys(); Vector v = new Vector(); // Note that there used to be code here checking whether the // "!comment" and "#morec" keys were found, on the theory that // leading whitespace mattered. This no longer seems to be the // case, however. In the past it apparently varied between JVMs, // but the 1.4 docs are unambiguous on this topic. We check for // "ents" since line-continuation doesn't affect comments. v.add("ents="); v.add("name=no"); v.add("dog=no\\cat "); v.add("burps="); v.add("test="); v.add("date=today"); v.add("longvalue=tryin gto"); v.add("4=vier"); v.add("vier=4"); String s; while ( e.hasMoreElements()) { s = (String) e.nextElement(); th.debug("checkvalue -- got:$"+s+"="+p.getProperty(s)+"$"); th.check(v.contains(s+"="+p.getProperty(s)), "checkvalue -- got:$"+s+"="+p.getProperty(s)+"$"); v.removeElement(s+"="+p.getProperty(s)); } th.check( v.isEmpty() , "check if all elements were found -- got: "+v); } } mauve-20140821/gnu/testlet/java/util/Properties/getProperty.java0000644000175000001440000000623310271662215023451 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.Properties; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Properties; /** * Tests if getProperty(String) calls getProperty(String, String) or vice versa * or if both call an internal method. This is important to avoid infinite * recursion in derived classes that only implement one of these methods * * @author Roman Kennke */ public class getProperty implements Testlet { static class Properties1 extends Properties { boolean called = false; public String getProperty(String key) { called = true; return super.getProperty(key); } } static class Properties2 extends Properties { boolean called = false; public String getProperty(String key, String def) { called = true; return super.getProperty(key, def); } } /** * This should not lead to infinite recursion. */ static class Properties3 extends Properties { public String getProperty(String key, String def) { return getProperty(key + "." + def); } } public void test (TestHarness harness) { // First we override getProperty(String) and test if // getProperty(String, String) calls this. Properties1 p1 = new Properties1(); p1.setProperty("key", "value"); p1.called = false; p1.getProperty("key", "default"); harness.check(p1.called, true, "getProperty(String, String) calls getProperty(String)"); // Now we override getProperty(String, String) and test if // getProperty(String) calls this. Properties2 p2 = new Properties2(); p2.setProperty("key", "value"); p2.called = false; p2.getProperty("key"); harness.check(p2.called, false, "getProperty(String) does not call getProperty(String, String)"); // Now we override getProperty(String, String) so that it calls // getProperty(String) and test if // getProperty(String, String) leads to infinite recursion. Properties3 p3 = new Properties3(); p3.setProperty("key", "value"); try { p3.getProperty("key", "def"); harness.check(true, "overriding getProperty(String, String) must not " + " lead to inifinite recursion."); } catch (Throwable ex) { harness.fail("overriding getProperty(String, String) must not " + " lead to inifinite recursion."); } } } mauve-20140821/gnu/testlet/java/util/Properties/load.java0000644000175000001440000001100510271222026022025 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2000, 2005 Red Hat Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.util.Properties; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Properties; import java.io.*; public class load implements Testlet { public void test (TestHarness harness) { Properties p = new Properties (); p.setProperty ("a space", "a value"); p.setProperty ("two spaces", "spacy "); ByteArrayOutputStream baos = new ByteArrayOutputStream (); try { p.store (baos, null); } catch (IOException _) { } Properties in = new Properties (); ByteArrayInputStream bais = new ByteArrayInputStream (baos.toByteArray ()); try { in.load (bais); } catch (IOException _) { } // Sigh. Work around gcj bug: Hashtable.equals doesn't work as of // Oct 5, 2000. // harness.check (in.equals (p)); harness.check (in.size(), 2); harness.check (in.getProperty ("a space"), "a value"); harness.check (in.getProperty ("two spaces"), "spacy "); // Tests copied from Kaffe's regression test p = new Properties(); in = new Properties(); for (int i = 0; i < EXPECT.length / 2; i++) p.setProperty(EXPECT[i * 2], EXPECT[i * 2 + 1]); try { in.load(new ByteArrayInputStream(INPUT.getBytes())); } catch (IOException _) { } harness.check (in.size(), p.size()); for (int i = 0; i < EXPECT.length / 2; i++) { harness.check (in.getProperty (EXPECT[i * 2]), p.getProperty (EXPECT[i * 2])); } // Classpath regression tests. harness.checkPoint("trailing backslash"); p = new Properties(); boolean ok = true; try { p.load(new ByteArrayInputStream("val = trailing backslash \\\n".getBytes())); } catch (IOException x) { } catch (Throwable x2) { ok = false; } harness.check(ok); harness.check(p.size(), 1); p = new Properties(); ok = true; try { p.load(new ByteArrayInputStream("v\\".getBytes())); } catch (IOException x) { } catch (Throwable x2) { ok = false; } harness.check(ok); harness.check(p.size(), 1); } private static final String[] EXPECT = new String[] { "fooKey", "fooValue", "barKey", "override previous bar value", "noEqualsSign", "value", "spacesAroundEqualsSign", "this is the value", "useColon", "colon's value", "key=contains=equals", "value3", "key:contains:colons", "value4", "key contains spaces", "value5", "backslashes", "\r\n\t\\\"'", "lineContinuation", "this is a line continuation times two", "unicodeString", new String(new char[] { (char)0x1234, (char)0x5678 } ), "controlKey", new String(new char[] { (char)1, } ), "keyWithEmptyStringAsValue", "" }; private static final String INPUT = "fooKey=fooValue\n" + "controlKey:\\u0001\n" + "barKey=bar value\n" + "barKey=override previous bar value\n" + "noEqualsSign value\n" + "spacesAroundEqualsSign = this is the value\n" + "useColon : colon's value\n" + "key\\=contains\\=equals=value3\n" + "key\\:contains\\:colons=value4\n" + "key\\ contains\\ spaces=value5\n" + "backslashes = \\r\\n\\t\\\\\\\"\\'\n" + "lineContinuation=this is a \\\n" + " line continuation \\\n" + " times two\n" + "unicodeString=\\u1234\\u5678\n" + "keyWithEmptyStringAsValue\n" + "# a few blank lines follow\n" + "\n" + "\n" + "# comment line\n" + " ## another comment line\n" + "! another comment line\n" + " !! another comment line\n"; } mauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/0000755000175000001440000000000012375316426024337 5ustar dokousersmauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/getCodePoint.java0000644000175000001440000000421612003272216027553 0ustar dokousers// Test of a method java.util.IllegalFormatCodePointException.getCodePoint() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.IllegalFormatCodePointException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatCodePointException; /** * Test of a method java.util.IllegalFormatCodePointException.getCodePoint() */ public class getCodePoint implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IllegalFormatCodePointException object1 = new IllegalFormatCodePointException(0); harness.check(object1 != null); harness.check(object1.getCodePoint() == 0); IllegalFormatCodePointException object2 = new IllegalFormatCodePointException(0x2a); harness.check(object2 != null); harness.check(object2.getCodePoint() == 42); IllegalFormatCodePointException object3 = new IllegalFormatCodePointException(Integer.MAX_VALUE); harness.check(object3 != null); harness.check(object3.getCodePoint() == Integer.MAX_VALUE); IllegalFormatCodePointException object4 = new IllegalFormatCodePointException(Integer.MIN_VALUE); harness.check(object4 != null); harness.check(object4.getCodePoint() == Integer.MIN_VALUE); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/constructor.java0000644000175000001440000000335112051433503027554 0ustar dokousers// Test if instances of a class java.util.IllegalFormatCodePointException could be properly constructed // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatCodePointException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatCodePointException; /** * Test if instances of a class java.util.IllegalFormatCodePointException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IllegalFormatCodePointException object1 = new IllegalFormatCodePointException(42); harness.check(object1 != null); harness.check(object1.toString().contains("java.util.IllegalFormatCodePointException")); harness.check(object1.toString().contains(Integer.toHexString(42))); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/TryCatch.java0000644000175000001440000000337012051433503026711 0ustar dokousers// Test if try-catch block is working properly for a class java.util.IllegalFormatCodePointException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatCodePointException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatCodePointException; /** * Test if try-catch block is working properly for a class java.util.IllegalFormatCodePointException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new IllegalFormatCodePointException(42); } catch (IllegalFormatCodePointException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/0000755000175000001440000000000012375316426026260 5ustar dokousersmauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getPackage.java0000644000175000001440000000331512051433503031143 0ustar dokousers// Test for method java.util.IllegalFormatCodePointException.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatCodePointException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatCodePointException; /** * Test for method java.util.IllegalFormatCodePointException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatCodePointException final Object o = new IllegalFormatCodePointException(42); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.util"); } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getDeclaredMethods.javamauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getDeclaredMethods.ja0000644000175000001440000001030012051433503032300 0ustar dokousers// Test for method java.util.IllegalFormatCodePointException.getClass().getDeclaredMethods() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatCodePointException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatCodePointException; import java.util.Map; import java.util.HashMap; /** * Test for method java.util.IllegalFormatCodePointException.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedDeclaredMethods_jdk6.put("public java.lang.String java.util.IllegalFormatCodePointException.getMessage()", "getMessage"); testedDeclaredMethods_jdk6.put("public int java.util.IllegalFormatCodePointException.getCodePoint()", "getCodePoint"); // map for methods declared in (Open)JDK7 testedDeclaredMethods_jdk7.put("public java.lang.String java.util.IllegalFormatCodePointException.getMessage()", "getMessage"); testedDeclaredMethods_jdk7.put("public int java.util.IllegalFormatCodePointException.getCodePoint()", "getCodePoint"); // create instance of a class IllegalFormatCodePointException final Object o = new IllegalFormatCodePointException(42); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); // check if all declared methods exist for (java.lang.reflect.Method declaredMethod : declaredMethods) { // method name should consists of package name + class name String methodName = declaredMethod.getName(); // modifiers + package + method name + parameter types String methodString = declaredMethod.toString().replaceAll(" native ", " "); harness.check(testedDeclaredMethods.containsKey(methodString)); harness.check(testedDeclaredMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getInterfaces.java0000644000175000001440000000335512051433503031677 0ustar dokousers// Test for method java.util.IllegalFormatCodePointException.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatCodePointException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatCodePointException; import java.util.List; import java.util.Arrays; /** * Test for method java.util.IllegalFormatCodePointException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatCodePointException final Object o = new IllegalFormatCodePointException(42); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getModifiers.java0000644000175000001440000000454612051433503031540 0ustar dokousers// Test for method java.util.IllegalFormatCodePointException.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatCodePointException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatCodePointException; import java.lang.reflect.Modifier; /** * Test for method java.util.IllegalFormatCodePointException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatCodePointException final Object o = new IllegalFormatCodePointException(42); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getDeclaredFields.javamauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getDeclaredFields.jav0000644000175000001440000000773012051433503032306 0ustar dokousers// Test for method java.util.IllegalFormatCodePointException.getClass().getDeclaredFields() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatCodePointException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatCodePointException; import java.util.Map; import java.util.HashMap; /** * Test for method java.util.IllegalFormatCodePointException.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 testedDeclaredFields_jdk6.put("private static final long java.util.IllegalFormatCodePointException.serialVersionUID", "serialVersionUID"); testedDeclaredFields_jdk6.put("private int java.util.IllegalFormatCodePointException.c", "c"); // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.util.IllegalFormatCodePointException.serialVersionUID", "serialVersionUID"); testedDeclaredFields_jdk7.put("private int java.util.IllegalFormatCodePointException.c", "c"); // create instance of a class IllegalFormatCodePointException final Object o = new IllegalFormatCodePointException(42); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } ././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootmauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getDeclaredConstructors.javamauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getDeclaredConstructo0000644000175000001440000001017012051433503032454 0ustar dokousers// Test for method java.util.IllegalFormatCodePointException.getClass().getDeclaredConstructors() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatCodePointException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatCodePointException; import java.util.Map; import java.util.HashMap; /** * Test for method java.util.IllegalFormatCodePointException.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.util.IllegalFormatCodePointException(int)", "java.util.IllegalFormatCodePointException"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.util.IllegalFormatCodePointException(int)", "java.util.IllegalFormatCodePointException"); // create instance of a class IllegalFormatCodePointException final Object o = new IllegalFormatCodePointException(42); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getFields.java0000644000175000001440000000574012051433503031022 0ustar dokousers// Test for method java.util.IllegalFormatCodePointException.getClass().getFields() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatCodePointException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatCodePointException; import java.util.Map; import java.util.HashMap; /** * Test for method java.util.IllegalFormatCodePointException.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class IllegalFormatCodePointException final Object o = new IllegalFormatCodePointException(42); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/isPrimitive.java0000644000175000001440000000325212051433503031414 0ustar dokousers// Test for method java.util.IllegalFormatCodePointException.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatCodePointException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatCodePointException; /** * Test for method java.util.IllegalFormatCodePointException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatCodePointException final Object o = new IllegalFormatCodePointException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getSimpleName.java0000644000175000001440000000331612051433503031643 0ustar dokousers// Test for method java.util.IllegalFormatCodePointException.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatCodePointException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatCodePointException; /** * Test for method java.util.IllegalFormatCodePointException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatCodePointException final Object o = new IllegalFormatCodePointException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "IllegalFormatCodePointException"); } } ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/isAnnotationPresent.javamauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/isAnnotationPresent.j0000644000175000001440000000444012051433503032427 0ustar dokousers// Test for method java.util.IllegalFormatCodePointException.getClass().isAnnotationPresent() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatCodePointException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatCodePointException; /** * Test for method java.util.IllegalFormatCodePointException.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatCodePointException final Object o = new IllegalFormatCodePointException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/isSynthetic.java0000644000175000001440000000325212051433503031416 0ustar dokousers// Test for method java.util.IllegalFormatCodePointException.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatCodePointException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatCodePointException; /** * Test for method java.util.IllegalFormatCodePointException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatCodePointException final Object o = new IllegalFormatCodePointException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/isAnnotation.java0000644000175000001440000000325012051433503031554 0ustar dokousers// Test for method java.util.IllegalFormatCodePointException.getClass().isAnnotation() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatCodePointException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatCodePointException; /** * Test for method java.util.IllegalFormatCodePointException.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatCodePointException final Object o = new IllegalFormatCodePointException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/isInstance.java0000644000175000001440000000331412051433503031207 0ustar dokousers// Test for method java.util.IllegalFormatCodePointException.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatCodePointException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatCodePointException; /** * Test for method java.util.IllegalFormatCodePointException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatCodePointException final Object o = new IllegalFormatCodePointException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new IllegalFormatCodePointException(42))); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/isMemberClass.java0000644000175000001440000000326212051433503031642 0ustar dokousers// Test for method java.util.IllegalFormatCodePointException.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatCodePointException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatCodePointException; /** * Test for method java.util.IllegalFormatCodePointException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatCodePointException final Object o = new IllegalFormatCodePointException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getSuperclass.java0000644000175000001440000000340012051433503031727 0ustar dokousers// Test for method java.util.IllegalFormatCodePointException.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatCodePointException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatCodePointException; /** * Test for method java.util.IllegalFormatCodePointException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatCodePointException final Object o = new IllegalFormatCodePointException(42); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.util.IllegalFormatException"); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/isEnum.java0000644000175000001440000000322012051433503030343 0ustar dokousers// Test for method java.util.IllegalFormatCodePointException.getClass().isEnum() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatCodePointException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatCodePointException; /** * Test for method java.util.IllegalFormatCodePointException.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatCodePointException final Object o = new IllegalFormatCodePointException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getMethods.java0000644000175000001440000002037212051433503031215 0ustar dokousers// Test for method java.util.IllegalFormatCodePointException.getClass().getMethods() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatCodePointException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatCodePointException; import java.util.Map; import java.util.HashMap; /** * Test for method java.util.IllegalFormatCodePointException.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public java.lang.String java.util.IllegalFormatCodePointException.getMessage()", "getMessage"); testedMethods_jdk6.put("public int java.util.IllegalFormatCodePointException.getCodePoint()", "getCodePoint"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public java.lang.String java.util.IllegalFormatCodePointException.getMessage()", "getMessage"); testedMethods_jdk7.put("public int java.util.IllegalFormatCodePointException.getCodePoint()", "getCodePoint"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class IllegalFormatCodePointException final Object o = new IllegalFormatCodePointException(42); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/InstanceOf.java0000644000175000001440000000437012051433503031143 0ustar dokousers// Test for instanceof operator applied to a class java.util.IllegalFormatCodePointException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatCodePointException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatCodePointException; import java.util.IllegalFormatException; import java.lang.IllegalArgumentException; import java.lang.RuntimeException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.util.IllegalFormatCodePointException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatCodePointException IllegalFormatCodePointException o = new IllegalFormatCodePointException(42); // basic check of instanceof operator harness.check(o instanceof IllegalFormatCodePointException); // check operator instanceof against all superclasses harness.check(o instanceof IllegalFormatException); harness.check(o instanceof IllegalArgumentException); harness.check(o instanceof RuntimeException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/isAnonymousClass.java0000644000175000001440000000327012051433503032422 0ustar dokousers// Test for method java.util.IllegalFormatCodePointException.getClass().isAnonymousClass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatCodePointException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatCodePointException; /** * Test for method java.util.IllegalFormatCodePointException.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatCodePointException final Object o = new IllegalFormatCodePointException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/isInterface.java0000644000175000001440000000325212051433503031344 0ustar dokousers// Test for method java.util.IllegalFormatCodePointException.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatCodePointException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatCodePointException; /** * Test for method java.util.IllegalFormatCodePointException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatCodePointException final Object o = new IllegalFormatCodePointException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getConstructors.java0000644000175000001440000000764312051433503032330 0ustar dokousers// Test for method java.util.IllegalFormatCodePointException.getClass().getConstructors() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatCodePointException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatCodePointException; import java.util.Map; import java.util.HashMap; /** * Test for method java.util.IllegalFormatCodePointException.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.util.IllegalFormatCodePointException(int)", "java.util.IllegalFormatCodePointException"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.util.IllegalFormatCodePointException(int)", "java.util.IllegalFormatCodePointException"); // create instance of a class IllegalFormatCodePointException final Object o = new IllegalFormatCodePointException(42); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/isAssignableFrom.java0000644000175000001440000000334112051433503032337 0ustar dokousers// Test for method java.util.IllegalFormatCodePointException.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatCodePointException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatCodePointException; /** * Test for method java.util.IllegalFormatCodePointException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatCodePointException final Object o = new IllegalFormatCodePointException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(IllegalFormatCodePointException.class)); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/isLocalClass.java0000644000175000001440000000325612051433503031470 0ustar dokousers// Test for method java.util.IllegalFormatCodePointException.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatCodePointException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatCodePointException; /** * Test for method java.util.IllegalFormatCodePointException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatCodePointException final Object o = new IllegalFormatCodePointException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getName.java0000644000175000001440000000330012051433503030462 0ustar dokousers// Test for method java.util.IllegalFormatCodePointException.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatCodePointException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatCodePointException; /** * Test for method java.util.IllegalFormatCodePointException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatCodePointException final Object o = new IllegalFormatCodePointException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.util.IllegalFormatCodePointException"); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/isArray.java0000644000175000001440000000322412051433503030521 0ustar dokousers// Test for method java.util.IllegalFormatCodePointException.getClass().isArray() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.util.IllegalFormatCodePointException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatCodePointException; /** * Test for method java.util.IllegalFormatCodePointException.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalFormatCodePointException final Object o = new IllegalFormatCodePointException(42); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/util/IllegalFormatCodePointException/getMessage.java0000644000175000001440000000521312003272216027251 0ustar dokousers// Test of a method java.util.IllegalFormatCodePointException.getMessage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.util.IllegalFormatCodePointException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.IllegalFormatCodePointException; /** * Test of a method java.util.IllegalFormatCodePointException.getMessage() */ public class getMessage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IllegalFormatCodePointException object1 = new IllegalFormatCodePointException(0); harness.check(object1 != null); harness.check(object1.getMessage() != null); harness.check(object1.getMessage().contains("Code point = ")); harness.check(object1.getMessage().contains("0x0")); IllegalFormatCodePointException object2 = new IllegalFormatCodePointException(0x2a); harness.check(object2 != null); harness.check(object2.getMessage() != null); harness.check(object2.getMessage().contains("Code point = ")); harness.check(object2.getMessage().contains("0x2a")); IllegalFormatCodePointException object3 = new IllegalFormatCodePointException(Integer.MAX_VALUE); harness.check(object3 != null); harness.check(object3.getMessage() != null); harness.check(object3.getMessage().contains("Code point = ")); harness.check(object3.getMessage().contains("0x7fffffff")); IllegalFormatCodePointException object4 = new IllegalFormatCodePointException(Integer.MIN_VALUE); harness.check(object4 != null); harness.check(object4.getMessage() != null); harness.check(object4.getMessage().contains("Code point = ")); harness.check(object4.getMessage().contains("0x80000000")); } } mauve-20140821/gnu/testlet/java/text/0000755000175000001440000000000012375316426016140 5ustar dokousersmauve-20140821/gnu/testlet/java/text/ChoiceFormat/0000755000175000001440000000000012375316426020503 5ustar dokousersmauve-20140821/gnu/testlet/java/text/ChoiceFormat/parse.java0000644000175000001440000000351706671466316022474 0ustar dokousers// Test ChoiceFormat parsing. // Copyright (c) 1999 Cygnus Solutions // Written by Tom Tromey // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.text.ChoiceFormat; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.ChoiceFormat; import java.text.ParsePosition; public class parse implements Testlet { public void test (TestHarness harness) { ChoiceFormat cf = new ChoiceFormat ("1.0#Sun|2.0#Mon|3.0#Tue|4.0#Wed|5.0#Thu|6.0#Fri|7.0#Sat"); ParsePosition pp = new ParsePosition (0); Number n = cf.parse ("Wed", pp); harness.check (n instanceof Double); harness.check (n.doubleValue (), 4.0); harness.check (pp.getIndex (), 3); pp.setIndex (3); n = cf.parse ("ZooMon", pp); harness.check (n.doubleValue (), 2.0); harness.check (pp.getIndex (), 6); pp.setIndex (0); n = cf.parse ("Saturday", pp); harness.check (n.doubleValue (), 7.0); harness.check (pp.getIndex (), 3); n = cf.parse ("Saturday", pp); harness.check (Double.isNaN (n.doubleValue ())); harness.check (pp.getIndex (), 3); } } mauve-20140821/gnu/testlet/java/text/ChoiceFormat/Bad.java0000644000175000001440000000355611127407115022033 0ustar dokousers// Test handling of bad ChoiceFormats. // Copyright (c) 2009 Red Hat // Written by Andrew John Hughes (ahughes@redhat.com) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.text.ChoiceFormat; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.ChoiceFormat; public class Bad implements Testlet { public void test (TestHarness h) { try { ChoiceFormat f = new ChoiceFormat("0#zero|1#one|1>many"); h.fail("Failed to catch bad limit 1>"); } catch (IllegalArgumentException e) { h.check(true); } try { ChoiceFormat f = new ChoiceFormat("0#zero|1#one|1>many|"); h.fail("Failed to catch bad limit 1> with trailing |"); } catch (IllegalArgumentException e) { h.check(true); } try { ChoiceFormat f = new ChoiceFormat("0#zero|1#one|1many|1 // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.text.ChoiceFormat; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.ChoiceFormat; public class next implements Testlet { public void test (TestHarness harness) { String oneplus = "1.0000000000000002"; harness.check (ChoiceFormat.nextDouble (1.0) + "", oneplus); harness.check (ChoiceFormat.nextDouble (1.0, true) + "", oneplus); } } mauve-20140821/gnu/testlet/java/text/ChoiceFormat/format.java0000644000175000001440000000557210057633062022640 0ustar dokousers// Test ChoiceFormat formatting. // Copyright (c) 1999 Cygnus Solutions // Written by Tom Tromey // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.text.ChoiceFormat; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.ChoiceFormat; /** * @author John Leuner * @author Tom Tromey */ public class format implements Testlet { public final String doformat (ChoiceFormat cf, double d, StringBuffer buf) { buf.setLength (0); cf.format (d, buf, null); return buf.toString(); } public void test (TestHarness harness) { StringBuffer buf = new StringBuffer (); ChoiceFormat cf = new ChoiceFormat ("1.0#Sun|2.0#Mon|3.0#Tue|4.0#Wed|5.0#Thu|6.0#Fri|7.0#Sat"); harness.check (cf.getFormats ().length, 7); harness.check (cf.getLimits ().length, 7); harness.check (doformat (cf, -9, buf), "Sun"); harness.check (doformat (cf, 1.5, buf), "Sun"); harness.check (doformat (cf, 5.5, buf), "Thu"); harness.check (doformat (cf, 7.0, buf), "Sat"); harness.check (doformat (cf, 99.5, buf), "Sat"); cf.applyPattern ("-1.0#Less than one|1.0#One|1.0 // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.text.MessageFormat; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.MessageFormat; import java.text.ParsePosition; import java.util.Locale; public class parse implements Testlet { public void test (TestHarness harness) { MessageFormat mf; ParsePosition pp = new ParsePosition (0); Object[] val; // Just to be explicit: we're only testing the US locale here. Locale loc = Locale.US; Locale.setDefault (loc); mf = new MessageFormat ("no variables"); mf.setLocale (loc); harness.checkPoint ("no variables"); pp.setIndex(0); val = mf.parse ("no zardoz", pp); harness.check (val, null); pp.setIndex(0); val = mf.parse ("no variables", pp); harness.check (val.length, 0); harness.checkPoint ("one variable"); mf.applyPattern ("I have seen zardoz number {0}."); pp.setIndex(0); val = mf.parse ("I have seen zardoz number 23.", pp); harness.check (val.length, 1); harness.check (val[0] instanceof String); harness.check ((String) (val[0]), "23"); harness.checkPoint ("number format"); mf.applyPattern ("I have seen zardoz number {0,number}!"); pp.setIndex(0); val = mf.parse ("I have seen zardoz number 23!", pp); harness.check (val.length, 1); harness.check (val[0] instanceof Number); harness.check (((Number) (val[0])).longValue (), 23); harness.checkPoint ("greedy string matching at end"); mf.applyPattern ("/foo/{0}"); pp.setIndex(0); val = mf.parse ("/foo/bar", pp); harness.check (val.length, 1); harness.check (val[0] instanceof String); harness.check (val[0], "bar"); } } mauve-20140821/gnu/testlet/java/text/MessageFormat/format14.java0000644000175000001440000001634511127407115023174 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004, 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.MessageFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.ChoiceFormat; import java.text.DateFormat; import java.text.DecimalFormat; import java.text.DecimalFormatSymbols; import java.text.MessageFormat; import java.text.NumberFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; /** * Some checks for the format() methods in the {@link MessageFormat} class. */ public class format14 implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testStaticFormat(harness); //testConstructor2(harness); } /** * Some checks for the static format(String, Object[]) method. * * @param harness the test harness. */ private void testStaticFormat(TestHarness harness) { harness.checkPoint("static (String, Object[])"); // basic string check String s = MessageFormat.format("{0}", new Object[] {"ABC"}); harness.check(s, "ABC"); s = MessageFormat.format("-{0}-", new Object[] {"ABC"}); harness.check(s, "-ABC-"); // basic number checks harness.checkPoint("number"); s = MessageFormat.format("{0,number}", new Object[] {new Integer(9999)}); String expected = NumberFormat.getInstance(Locale.getDefault()).format(9999); harness.check(s, expected); s = MessageFormat.format("{0,number,integer}", new Object[] {new Integer(9999)}); expected = NumberFormat.getIntegerInstance(Locale.getDefault()).format(9999); harness.check(s, expected); s = MessageFormat.format("{0,number,currency}", new Object[] {new Integer(9999)}); expected = NumberFormat.getCurrencyInstance(Locale.getDefault()).format(9999); harness.check(s, expected); s = MessageFormat.format("{0,number,percent}", new Object[] {new Integer(9999)}); expected = NumberFormat.getPercentInstance(Locale.getDefault()).format(9999); harness.check(s, expected); s = MessageFormat.format("{0,number,#,##0.00}", new Object[] {new Integer(9999)}); expected = new DecimalFormat("#,##0.00", new DecimalFormatSymbols(Locale.getDefault())).format(9999); harness.check(s, expected); // basic date checks harness.checkPoint("date"); Date t = new Date(); s = MessageFormat.format("{0,date}", new Object[] {t}); expected = DateFormat.getDateInstance(DateFormat.DEFAULT, Locale.getDefault()).format(t); harness.check(s, expected); s = MessageFormat.format("{0,date,short}", new Object[] {t}); expected = DateFormat.getDateInstance(DateFormat.SHORT, Locale.getDefault()).format(t); harness.check(s, expected); try // don't let failure disturb remaining tests { s = MessageFormat.format("{0,date,medium}", new Object[] {t}); expected = DateFormat.getDateInstance(DateFormat.DEFAULT, Locale.getDefault()).format(t); harness.check(s, expected); } catch (Exception e) { harness.debug(e); harness.check(false); } s = MessageFormat.format("{0,date,long}", new Object[] {t}); expected = DateFormat.getDateInstance(DateFormat.LONG, Locale.getDefault()).format(t); harness.check(s, expected); s = MessageFormat.format("{0,date,full}", new Object[] {t}); expected = DateFormat.getDateInstance(DateFormat.FULL, Locale.getDefault()).format(t); harness.check(s, expected); s = MessageFormat.format("{0,date,dd-MMM-yyyy}", new Object[] {t}); expected = new SimpleDateFormat("dd-MMM-yyyy", Locale.getDefault()).format(t); harness.check(s, expected); // basic time checks harness.checkPoint("time"); s = MessageFormat.format("{0,time}", new Object[] {t}); expected = DateFormat.getTimeInstance(DateFormat.DEFAULT, Locale.getDefault()).format(t); harness.check(s, expected); s = MessageFormat.format("{0,time,short}", new Object[] {t}); expected = DateFormat.getTimeInstance(DateFormat.SHORT, Locale.getDefault()).format(t); harness.check(s, expected); try // don't let failure disturb remaining tests { s = MessageFormat.format("{0,time,medium}", new Object[] {t}); expected = DateFormat.getTimeInstance(DateFormat.DEFAULT, Locale.getDefault()).format(t); harness.check(s, expected); } catch (Exception e) { harness.debug(e); harness.check(false); } s = MessageFormat.format("{0,time,long}", new Object[] {t}); expected = DateFormat.getTimeInstance(DateFormat.LONG, Locale.getDefault()).format(t); harness.check(s, expected); s = MessageFormat.format("{0,time,full}", new Object[] {t}); expected = DateFormat.getTimeInstance(DateFormat.FULL, Locale.getDefault()).format(t); harness.check(s, expected); s = MessageFormat.format("{0,time,hh:mm}", new Object[] {t}); expected = new SimpleDateFormat("hh:mm", Locale.getDefault()).format(t); harness.check(s, expected); harness.checkPoint("choice"); try { s = MessageFormat.format("{0,choice,0#zero|1#one|1 // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.text.MessageFormat; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.MessageFormat; import java.util.Locale; public class format implements Testlet { private final String myformat (MessageFormat mf, Object[] args, StringBuffer buf) { try { buf.setLength (0); mf.format (args, buf, null); return buf.toString (); } catch (IllegalArgumentException x) { return "caught IllegalArgumentException"; } } public void test (TestHarness harness) { MessageFormat mf; // Just to be explicit: we're only testing the US locale here. Locale loc = Locale.US; Locale.setDefault (loc); mf = new MessageFormat ("no variables"); mf.setLocale (loc); Object[] args = new Object[0]; StringBuffer buf = new StringBuffer (); harness.checkPoint ("no variable format"); harness.check (mf.format (args, buf, null) == buf); harness.check (buf.toString (), "no variables"); buf.setLength (0); harness.check (mf.format (null, buf, null) == buf); harness.check (buf.toString (), "no variables"); harness.check (MessageFormat.format ("no variables", args), "no variables"); harness.checkPoint ("quoted brace"); mf.applyPattern ("no '{' variables"); harness.check (myformat (mf, args, buf), "no { variables"); harness.check (mf.toPattern (), "no '{' variables"); harness.checkPoint ("one variable"); mf.applyPattern ("the disk contains {0} files"); args = new Object[1]; args[0] = new Long (23); harness.check (myformat (mf, args, buf), "the disk contains 23 files"); // Check to make sure excess args are ignored. args = new Object[10]; args[0] = new Long (27); harness.check (myformat (mf, args, buf), "the disk contains 27 files"); mf.applyPattern ("the disk contains {0,number} files"); harness.check (myformat (mf, args, buf), "the disk contains 27 files"); args[0] = "zap"; harness.check (myformat (mf, args, buf), "caught IllegalArgumentException"); args[0] = new Double (.99); mf.applyPattern ("the disk is {0,number,percent} full"); harness.check (myformat (mf, args, buf), "the disk is 99% full"); harness.checkPoint ("two variables"); args = new Object[2]; args[0] = "files"; args[1] = new Long (29); mf.applyPattern ("the disk contains {1} {0}"); harness.check (myformat (mf, args, buf), "the disk contains 29 files"); // Check the case of missing args args = new Object[1]; args[0] = "files"; mf.applyPattern ("the disk contains {1} {0}"); harness.check (myformat (mf, args, buf), "the disk contains {1} files"); args = null; harness.check (myformat (mf, args, buf), "the disk contains {1} {0}"); args = new Object[1]; harness.checkPoint ("choice format"); args[0] = new Long (5); mf.applyPattern ("There {0,choice,0#are no files|1#is one file|1 // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.text.NumberFormat; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.DecimalFormat; import java.text.NumberFormat; import java.util.Locale; /** * Class to test NumberFormat for the UK. * * @author Andrew John Hughes */ public class UK implements Testlet { /* Locale-specific test data */ private static final Locale TEST_LOCALE = Locale.UK; private static final String EXPECTED_GROUPED_NUMBER = "123,456.789"; private static final String EXPECTED_INT_GROUP_NUMBER = "123,457"; private static final String EXPECTED_PER_GROUP_NUMBER = "12,345,678.9%"; private static final String CURRENCY_SYMBOL = "\u00A3"; private static final boolean CURRENCY_PREFIXED = true; private static final String DECIMAL_SEP = "."; private static final String CURRENCY_SUFFIX = DECIMAL_SEP + "00"; private static final String GROUPED_PERCENTILE = "3,000%"; public void test(TestHarness harness) { NumberFormat numberFormat; double testDouble; long testLong; String testString; /********************************** NORMAL NUMBERS ****************************************/ /* Get an instance for normal numbers in the test locale */ numberFormat = NumberFormat.getNumberInstance(TEST_LOCALE); /* Set the options on the number formatter */ setOptions(numberFormat, false); /* Format an long-based integer using the normal format */ testLong = 30; testString = numberFormat.format(testLong); harness.check(testString, "30", "Long-based integer formatting with normal number format ("+ testString + ")."); /* Format an double-based integer using the normal format */ testDouble = 30; testString = numberFormat.format(testDouble); harness.check(testString, "30", "Double-based integer formatting with normal number format ("+ testString + ")."); /* Format an double-based fraction using the normal format */ testDouble = 1.0 / 3; testString = numberFormat.format(testDouble); harness.check(testString, "0.333", "Double-based fraction formatting with normal number format ("+ testString + ")."); /* Format an double-based decimal number using the normal format */ testDouble = 123456.789; testString = numberFormat.format(testDouble); harness.check(testString, EXPECTED_GROUPED_NUMBER, "Double-based fraction formatting with normal number format ("+ testString + ")."); /********************************** INTEGER NUMBERS ****************************************/ /* Get an instance for integer numbers in the test locale */ numberFormat = NumberFormat.getIntegerInstance(TEST_LOCALE); /* Set the options on the number formatter */ setOptions(numberFormat, true); /* Format an long-based integer using the integer format */ testLong = 30; testString = numberFormat.format(testLong); harness.check(testString, "30", "Long-based integer formatting with integer number format ("+ testString + ")."); /* Format an double-based integer using the integer format */ testDouble = 30; testString = numberFormat.format(testDouble); harness.check(testString, "30", "Double-based integer formatting with integer number format ("+ testString + ")."); /* Format an double-based fraction using the integer format */ testDouble = 1.0 / 3; testString = numberFormat.format(testDouble); harness.check(testString, "0", "Double-based fraction formatting with integer number format ("+ testString + ")."); /* Format an double-based decimal number using the integer format */ testDouble = 123456.789; testString = numberFormat.format(testDouble); harness.check(testString, EXPECTED_INT_GROUP_NUMBER, "Double-based fraction formatting with integer number format ("+ testString + ")."); /********************************** CURRENCIES ****************************************/ /* Get an instance for currency numbers in the test locale */ numberFormat = NumberFormat.getCurrencyInstance(TEST_LOCALE); /* Set the options on the number formatter */ setOptions(numberFormat, false); /* Format an long-based integer using the currency format */ testLong = 30; testString = numberFormat.format(testLong); if (CURRENCY_PREFIXED) { harness.check(testString, CURRENCY_SYMBOL + "30" + CURRENCY_SUFFIX, "Long-based integer formatting with currency number format ("+ testString + ")."); } else { harness.check(testString, "30" + CURRENCY_SUFFIX + CURRENCY_SYMBOL, "Long-based integer formatting with currency number format ("+ testString + ")."); } /* Format an double-based integer using the currency format */ testDouble = 30; testString = numberFormat.format(testDouble); if (CURRENCY_PREFIXED) { harness.check(testString, CURRENCY_SYMBOL + "30" + CURRENCY_SUFFIX, "Double-based integer formatting with currency number format ("+ testString + ")."); } else { harness.check(testString, "30" + CURRENCY_SUFFIX + CURRENCY_SYMBOL, "Double-based integer formatting with currency number format ("+ testString + ")."); } /* Format an double-based fraction using the currency format */ testDouble = 1.0 / 3; testString = numberFormat.format(testDouble); if (CURRENCY_PREFIXED) { harness.check(testString, CURRENCY_SYMBOL + "0.333", "Double-based fraction formatting with currency number format ("+ testString + ")."); } else { harness.check(testString, "0.333" + CURRENCY_SYMBOL, "Double-based fraction formatting with currency number format ("+ testString + ")."); } /* Format an double-based decimal number using the currency format */ testDouble = 123456.789; testString = numberFormat.format(testDouble); if (CURRENCY_PREFIXED) { harness.check(testString, CURRENCY_SYMBOL + EXPECTED_GROUPED_NUMBER, "Double-based fraction formatting with currency number format ("+ testString + ")."); } else { harness.check(testString, EXPECTED_GROUPED_NUMBER + CURRENCY_SYMBOL, "Double-based fraction formatting with currency number format ("+ testString + ")."); } /********************************** PERCENTILES ****************************************/ /* Get an instance for percentile numbers in the test locale */ numberFormat = NumberFormat.getPercentInstance(TEST_LOCALE); /* Set the options on the number formatter */ setOptions(numberFormat, false); /* Format an long-based integer using the percentile format */ testLong = 30; testString = numberFormat.format(testLong); harness.check(testString, GROUPED_PERCENTILE, "Long-based integer formatting with percentile number format ("+ testString + ")."); /* Format an double-based integer using the percentile format */ testDouble = 30; testString = numberFormat.format(testDouble); harness.check(testString, GROUPED_PERCENTILE, "Double-based integer formatting with percentile number format ("+ testString + ")."); /* Format an double-based fraction using the percentile format */ testDouble = 1.0 / 3; testString = numberFormat.format(testDouble); harness.check(testString, "33.333%", "Double-based fraction formatting with percentile number format ("+ testString + ")."); /* Format an double-based decimal number using the percentile format */ testDouble = 123456.789; testString = numberFormat.format(testDouble); harness.check(testString, EXPECTED_PER_GROUP_NUMBER, "Double-based fraction formatting with percentile number format ("+ testString + ")."); } /** * Sets the options for the formatting of numbers to receive expected output. * The options themselves are tested elsewhere. * * @param format the number formatter to set up. * @param integer true if integer formatting is being used. */ public void setOptions(NumberFormat formatter, boolean integer) { if (!integer) { formatter.setMaximumFractionDigits(3); /* Stop at 3 digits after the decimal point */ } formatter.setGroupingUsed(true); /* Turn on grouping */ try { ((DecimalFormat) formatter).setDecimalSeparatorAlwaysShown(false); /* Don't always show the decimal separator */ } catch (ClassCastException exception) { /* Formatter is not an instance of the DecimalFormat subclass */ } } } mauve-20140821/gnu/testlet/java/text/NumberFormat/PR31895.java0000644000175000001440000000335411054540140022325 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2008 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.NumberFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.NumberFormat; import java.util.Currency; import java.util.Locale; /* * This test is based on PR31895, where changing the currency * used by a currency instance of NumberFormat failed to have * an effect on the output. * * @author Andrew John Hughes (gnu_andrew@member.fsf.org) */ public class PR31895 implements Testlet { public void test(TestHarness harness) { NumberFormat nf = NumberFormat.getCurrencyInstance(Locale.UK); Currency cur = Currency.getInstance(Locale.UK); harness.check(nf.format(2.50).startsWith(cur.getSymbol()), nf.format(2.50) + " begins with " + cur.getSymbol()); Currency newCur = Currency.getInstance("EUR"); nf.setCurrency(newCur); harness.check(nf.format(2.50).startsWith(newCur.getSymbol()), nf.format(2.50) + " begins with " + newCur.getSymbol()); } } mauve-20140821/gnu/testlet/java/text/DateFormatSymbols/0000755000175000001440000000000012375316426021537 5ustar dokousersmauve-20140821/gnu/testlet/java/text/DateFormatSymbols/PR22851.java0000644000175000001440000000466411034252201023314 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2008 Andrew John Hughes (gnu_andrew@member.fsf.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DateFormatSymbols; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DateFormatSymbols; import java.util.Locale; /** * A check for PR22851. This checks that the zone * strings are allocated to the correct elements in the * array. The Javadoc for Java 1.6 now specifies this as: *

* * * * * * *
zoneStrings[i][0]time zone ID
zoneStrings[i][1]long name of zone in standard time
zoneStrings[i][2]short name of zone in standard time
zoneStrings[i][3]long name of zone in daylight saving time
zoneStrings[i][4]short name of zone in daylight saving time
*/ public class PR22851 implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness. */ public void test(TestHarness harness) { String[][] zstrings = DateFormatSymbols.getInstance(Locale.UK).getZoneStrings(); boolean checked = false; for (int a = 0; a < zstrings.length; ++a) { harness.check(zstrings[a].length >= 5, zstrings[a][0] + " has less than 5 strings."); if (zstrings[a][0].equals("Europe/London")) { if (checked) harness.fail("Europe/London appears twice."); harness.check(zstrings[a][1], "Greenwich Mean Time"); harness.check(zstrings[a][2], "GMT"); harness.check(zstrings[a][3], "British Summer Time"); harness.check(zstrings[a][4], "BST"); checked = true; } } if (!checked) harness.fail("Europe/London doesn't appear"); } } mauve-20140821/gnu/testlet/java/text/DateFormatSymbols/SanityCheck.java0000644000175000001440000000615611740711131024602 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2012 Andrew John Hughes (gnu_andrew@member.fsf.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DateFormatSymbols; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DateFormatSymbols; import java.util.Arrays; import java.util.Calendar; import java.util.Locale; /** * Checks that all locales return usable arrays of the * correct size. */ public class SanityCheck implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness. */ public void test(TestHarness harness) { Locale[] locales = Locale.getAvailableLocales(); for (int a = 0; a < locales.length; ++a) { DateFormatSymbols dfs = DateFormatSymbols.getInstance(locales[a]); checkArray(harness, locales[a], "AM/PM", dfs.getAmPmStrings(), 2); checkArray(harness, locales[a], "Eras", dfs.getEras(), 2); checkArray(harness, locales[a], "Months", dfs.getMonths(), 13); checkArray(harness, locales[a], "Short months", dfs.getShortMonths(), 13); checkArray(harness, locales[a], "Weekdays", dfs.getWeekdays(), 8); checkArray(harness, locales[a], "Short weekdays", dfs.getShortWeekdays(), 8); } } /** * Checks an array of locale data is of the correct size. * * @param harness the test harness. * @param locale the locale being tested (for display purposes). * @param type the type of data (for display purposes). * @param array the array of strings. * @param size the expected size of the array. */ private void checkArray(TestHarness harness, Locale locale, String type, String[] array, int size) { harness.check(array.length == size, type + "check (" + locale + ")"); harness.debug(locale + ": " + type + "=" + Arrays.toString(array)); // Check entries are non-null and also non-empty (unless allowed). for (int a = 0; a < array.length; ++a) { harness.check(array[a] != null, type + "[" + a + "] null check (" + locale + ")"); // Weekdays are indexed 1 to 7 not 0 to 6. The 13th month is not // used by the Gregorian calendar. if (!(type.contains("onths") && a == Calendar.UNDECIMBER) && !(type.contains("days") && a == 0)) harness.check(!array[a].isEmpty(), type + "[" + a + "] empty check (" + locale + ")"); } } } mauve-20140821/gnu/testlet/java/text/DateFormatSymbols/setShortMonths.java0000644000175000001440000000334310144631316025377 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DateFormatSymbols; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DateFormatSymbols; import java.util.Locale; /** * Some checks for the setShortMonths() method in the DateFormatSymbols * class. */ public class setShortMonths implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not allowed). */ public void test(TestHarness harness) { // check null argument - it isn't mentioned in the spec that this // should throw a NullPointerException, but that is such common // behaviour elsewhere that I'm assuming this is the expected // result DateFormatSymbols dfs = new DateFormatSymbols(Locale.UK); try { dfs.setShortMonths(null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/text/DateFormatSymbols/setEras.java0000644000175000001440000000331610144631316024001 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DateFormatSymbols; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DateFormatSymbols; import java.util.Locale; /** * Some checks for the setEras() method in the DateFormatSymbols * class. */ public class setEras implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not allowed). */ public void test(TestHarness harness) { // check null argument - it isn't mentioned in the spec that this // should throw a NullPointerException, but that is such common // behaviour elsewhere that I'm assuming this is the expected // result DateFormatSymbols dfs = new DateFormatSymbols(Locale.UK); try { dfs.setEras(null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/text/DateFormatSymbols/setShortWeekdays.java0000644000175000001440000000335110144631316025702 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DateFormatSymbols; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DateFormatSymbols; import java.util.Locale; /** * Some checks for the setShortWeekdays() method in the DateFormatSymbols * class. */ public class setShortWeekdays implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not allowed). */ public void test(TestHarness harness) { // check null argument - it isn't mentioned in the spec that this // should throw a NullPointerException, but that is such common // behaviour elsewhere that I'm assuming this is the expected // result DateFormatSymbols dfs = new DateFormatSymbols(Locale.UK); try { dfs.setShortWeekdays(null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/text/DateFormatSymbols/setAmPmStrings.java0000644000175000001440000000334310144631316025313 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DateFormatSymbols; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DateFormatSymbols; import java.util.Locale; /** * Some checks for the setAmPmStrings() method in the DateFormatSymbols * class. */ public class setAmPmStrings implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not allowed). */ public void test(TestHarness harness) { // check null argument - it isn't mentioned in the spec that this // should throw a NullPointerException, but that is such common // behaviour elsewhere that I'm assuming this is the expected // result DateFormatSymbols dfs = new DateFormatSymbols(Locale.UK); try { dfs.setAmPmStrings(null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/text/DateFormatSymbols/setMonths.java0000644000175000001440000000332410144631316024356 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DateFormatSymbols; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DateFormatSymbols; import java.util.Locale; /** * Some checks for the setMonths() method in the DateFormatSymbols * class. */ public class setMonths implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not allowed). */ public void test(TestHarness harness) { // check null argument - it isn't mentioned in the spec that this // should throw a NullPointerException, but that is such common // behaviour elsewhere that I'm assuming this is the expected // result DateFormatSymbols dfs = new DateFormatSymbols(Locale.UK); try { dfs.setMonths(null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/text/DateFormatSymbols/Test.java0000644000175000001440000001105010636016336023311 0ustar dokousers/************************************************************************* /* Test.java -- Test java.text.DateFormatSymbols /* /* Copyright (c) 1998, 2001 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.text.DateFormatSymbols; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.*; import java.util.Locale; import java.util.MissingResourceException; public class Test implements Testlet { private String[] my_eras = { "XX", "YY" }; private String[] my_months = { "A", "B", "C", "D" }; private String[] my_short_months = { "a", "a", "b", "c" }; private String[] my_weekdays = { "S", "M", "T" }; private String[] my_short_weekdays = { "s", "m", "t" }; private String[] my_ampms = { "aa", "pp" }; private String[][] my_zonestrings = {{ "A", "B" }}; private String my_patternchars = "123456789012345678"; private static boolean arrayEquals(Object[] o1, Object[] o2) { if (o1 == null) { if (o2 != null) return(false); } else if (o2 == null) return(true); // We assume ordering is important. for (int i = 0; i < o1.length; i++) if (o1[i] instanceof Object[]) { if (o2[i] instanceof Object[]) { if (!arrayEquals((Object[])o1[i], (Object[])o2[i])) return(false); } else return(false); } else if (!o1[i].equals(o2[i])) return(false); return(true); } private static void arrayDump(TestHarness harness, Object[] o, String desc) { harness.debug("Dumping Object Array: " + desc); if (o == null) { harness.debug("null"); return; } for (int i = 0; i < o.length; i++) if (o[i] instanceof Object[]) arrayDump(harness, (Object[])o[i], desc + " element " + i); else harness.debug(" Element " + i + ": " + o[i]); } public void test(TestHarness harness) { try { DateFormatSymbols dfs = new DateFormatSymbols(Locale.US); harness.debug("Dumping default symbol information"); arrayDump(harness, dfs.getEras(), "eras"); arrayDump(harness, dfs.getMonths(), "months"); arrayDump(harness, dfs.getShortMonths(), "short months"); arrayDump(harness, dfs.getWeekdays(), "weekdays"); arrayDump(harness, dfs.getShortWeekdays(), "short weekdays"); arrayDump(harness, dfs.getAmPmStrings(), "am/pm strings"); arrayDump(harness, dfs.getZoneStrings(), "zone string array"); harness.debug("local pattern chars: " + dfs.getLocalPatternChars()); dfs.setEras(my_eras); harness.check(arrayEquals(dfs.getEras(), my_eras), "eras"); dfs.setMonths(my_months); harness.check(arrayEquals(dfs.getMonths(), my_months), "months"); dfs.setShortMonths(my_short_months); harness.check(arrayEquals(dfs.getShortMonths(), my_short_months), "short months"); dfs.setWeekdays(my_weekdays); harness.check(arrayEquals(dfs.getWeekdays(), my_weekdays), "weekdays"); dfs.setShortWeekdays(my_short_weekdays); harness.check(arrayEquals(dfs.getShortWeekdays(), my_short_weekdays), "short weekdays"); dfs.setAmPmStrings(my_ampms); harness.check(arrayEquals(dfs.getAmPmStrings(), my_ampms), "am/pm"); dfs.setLocalPatternChars(my_patternchars); harness.check(dfs.getLocalPatternChars(), my_patternchars, "patterns"); /* Invalid Argument */ boolean fail = false; try { dfs.setZoneStrings(my_zonestrings); } catch (IllegalArgumentException e) { fail = true; } harness.check(fail, true, "InvalidArgumentException is thrown."); } catch(MissingResourceException e) { harness.debug(e); harness.check(false); } } } // class Test mauve-20140821/gnu/testlet/java/text/DateFormatSymbols/setZoneStrings.java0000644000175000001440000000334310144631316025374 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DateFormatSymbols; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DateFormatSymbols; import java.util.Locale; /** * Some checks for the setZoneStrings() method in the DateFormatSymbols * class. */ public class setZoneStrings implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not allowed). */ public void test(TestHarness harness) { // check null argument - it isn't mentioned in the spec that this // should throw a NullPointerException, but that is such common // behaviour elsewhere that I'm assuming this is the expected // result DateFormatSymbols dfs = new DateFormatSymbols(Locale.UK); try { dfs.setZoneStrings(null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/text/DateFormatSymbols/setWeekdays.java0000644000175000001440000000333210144631316024661 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DateFormatSymbols; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DateFormatSymbols; import java.util.Locale; /** * Some checks for the setWeekdays() method in the DateFormatSymbols * class. */ public class setWeekdays implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not allowed). */ public void test(TestHarness harness) { // check null argument - it isn't mentioned in the spec that this // should throw a NullPointerException, but that is such common // behaviour elsewhere that I'm assuming this is the expected // result DateFormatSymbols dfs = new DateFormatSymbols(Locale.UK); try { dfs.setWeekdays(null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/text/RuleBasedCollator/0000755000175000001440000000000012375316426021506 5ustar dokousersmauve-20140821/gnu/testlet/java/text/RuleBasedCollator/CollatorTests.java0000644000175000001440000000656710536040331025153 0ustar dokousers/* CollatorTests.java -- Contain various tests for the Collator and RuleBasedCollator class. Copyright (C) 2006 Mario Torre This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.text.RuleBasedCollator; import java.text.CollationElementIterator; import java.text.Collator; import java.text.ParseException; import java.text.RuleBasedCollator; import java.util.Locale; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * @author Mario Torre */ public class CollatorTests implements Testlet { private TestHarness harness = null; /* (non-Javadoc) * @see gnu.testlet.Testlet#test(gnu.testlet.TestHarness) */ public void test(TestHarness harness) { // TODO Auto-generated method stub this.harness = harness; basicCompare(); orderComparision(); } private void basicCompare() { // test taken from the JDK Javadoc // Compare two strings in the default locale Collator myCollator = Collator.getInstance(Locale.US); this.harness.check((myCollator.compare("abc", "ABC") < 0), "basic comparision"); myCollator.setStrength(Collator.PRIMARY); this.harness.check((myCollator.compare("abc", "ABC") == 0), "equivalent strings"); String SimpleRule = "< a< b< c< d"; boolean pass = false; try { RuleBasedCollator simpleRuleCollator = new RuleBasedCollator(SimpleRule); pass = (simpleRuleCollator.compare("abc", "ABC") < 0); } catch (ParseException e) { pass = false; } this.harness.check(pass, "simple rule test"); } private void orderComparision() { RuleBasedCollator c = (RuleBasedCollator)Collator.getInstance(Locale.US); CollationElementIterator iter = c.getCollationElementIterator("Foo"); // given by the 1.5.0 jdk int [][] results = { {5767169, 88, 0, 1}, {6356992, 97, 0, 0}, {6356992, 97, 0, 0} }; int element; int i = 0; while ((element = iter.next()) != CollationElementIterator.NULLORDER) { int primary = CollationElementIterator.primaryOrder(element); int secondary = CollationElementIterator.secondaryOrder(element); int tertiary = CollationElementIterator.tertiaryOrder(element); this.harness.check((results[i][0] == element), "element #" + i); this.harness.check((results[i][1] == primary), "primary #" + i); this.harness.check((results[i][2] == secondary), "secondary #" + i); this.harness.check((results[i][3] == tertiary), "tertiary #" + i); i++; } } } mauve-20140821/gnu/testlet/java/text/RuleBasedCollator/VeryBasic.java0000644000175000001440000000356310536040331024231 0ustar dokousers/************************************************************************* /* VeryBasic.java -- Very basic tests of java.text.RuleBasedCollator /* /* Copyright (c) 1999 Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.text.RuleBasedCollator; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.Collator; import java.util.Locale; public class VeryBasic implements Testlet { public void test(TestHarness harness) { // This should be an instance of RuleBasedCollator // It should also be set to TERIARY strength and decomp doesn't matter // for good ol' English Collator col = Collator.getInstance(Locale.US); harness.check(col.compare("foo", "bar") > 0, "foo and bar"); harness.check(col.compare("bar", "baz") < 0, "bar and baz"); harness.check(col.compare("FOO", "FOO") == 0, "FOO and FOO"); harness.check(col.compare("foo", "foobar") < 0, "foo and foobar"); col.setStrength(Collator.SECONDARY); // Ignore case harness.check(col.compare("Foo", "foo") == 0, "Foo and foo"); } } // class VeryBasic mauve-20140821/gnu/testlet/java/text/RuleBasedCollator/jdk11.java0000644000175000001440000004123510050724707023261 0ustar dokousers/************************************************************************* /* Tests for java.text.RuleBasedCollator /* /* Copyright (c) 2003 Stephen C. Crawley (crawley@dstc.edu.au) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.text.RuleBasedCollator; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.RuleBasedCollator; import java.text.Collator; import java.text.ParseException; public class jdk11 implements Testlet { // These are the rule strings returned by calling getRules() on the // collators for various JDK 1.4.0 Locales private final String EN_US_RULES = "='\u200b'=\u200c=\u200d=\u200e=\u200f=\u0000=\u0001=\u0002=\u0003" + "=\u0004=\u0005=\u0006=\u0007=\u0008='\t'='\u000b'=\u000e" + "=\u000f='\u0010'=\u0011=\u0012=\u0013=\u0014=\u0015=\u0016" + "=\u0017=\u0018=\u0019=\u001a=\u001b=\u001c=\u001d=\u001e=\u001f" + "=\u007f=\u0080=\u0081=\u0082=\u0083=\u0084=\u0085=\u0086=\u0087" + "=\u0088=\u0089=\u008a=\u008b=\u008c=\u008d=\u008e=\u008f=\u0090" + "=\u0091=\u0092=\u0093=\u0094=\u0095=\u0096=\u0097=\u0098=\u0099" + "=\u009a=\u009b=\u009c=\u009d=\u009e=\u009f;' ';'\u00a0';'\u2000'" + ";'\u2001';'\u2002';'\u2003';'\u2004';'\u2005';'\u2006';'\u2007'" + ";'\u2008';'\u2009';'\u200a';'\u3000';'\ufeff';'\r';'\t'" + ";'\n';'\f';'\u000b';\u0301;\u0300;\u0306;\u0302;\u030c;\u030a" + ";\u030d;\u0308;\u030b;\u0303;\u0307;\u0304;\u0337;\u0327;\u0328" + ";\u0323;\u0332;\u0305;\u0309;\u030e;\u030f;\u0310;\u0311;\u0312" + ";\u0313;\u0314;\u0315;\u0316;\u0317;\u0318;\u0319;\u031a;\u031b" + ";\u031c;\u031d;\u031e;\u031f;\u0320;\u0321;\u0322;\u0324;\u0325" + ";\u0326;\u0329;\u032a;\u032b;\u032c;\u032d;\u032e;\u032f;\u0330" + ";\u0331;\u0333;\u0334;\u0335;\u0336;\u0338;\u0339;\u033a;\u033b" + ";\u033c;\u033d;\u033e;\u033f;\u0342;\u0344;\u0345;\u0360;\u0361" + ";\u0483;\u0484;\u0485;\u0486;\u20d0;\u20d1;\u20d2;\u20d3;\u20d4" + ";\u20d5;\u20d6;\u20d7;\u20d8;\u20d9;\u20da;\u20db;\u20dc;\u20dd" + ";\u20de;\u20df;\u20e0;\u20e1,'-';\u00ad;\u2010;\u2011;\u2012;\u2013" + ";\u2014;\u2015;\u2212<'_'<\u00af<','<';'<':'<'!'<\u00a1<'?'<\u00bf" + "<'/'<'.'<\u00b4<'`'<'^'<\u00a8<'~'<\u00b7<\u00b8<'''<'\"'<\u00ab" + "<\u00bb<'('<')'<'['<']'<'{'<'}'<\u00a7<\u00b6<\u00a9<\u00ae<'@'" + "<\u00a4<\u0e3f<\u00a2<\u20a1<\u20a2<'$'<\u20ab<\u20ac<\u20a3<\u20a4" + "<\u20a5<\u20a6<\u20a7<\u00a3<\u20a8<\u20aa<\u20a9<\u00a5<'*'<'\\'<'&'" + "<'#'<'%'<'+'<\u00b1<\u00f7<\u00d7<'<'<'='<'>'<\u00ac<'|'<\u00a6" + "<\u00b0<\u00b5<0<1<2<3<4<5<6<7<8<9<\u00bc<\u00bd<\u00be'<\u00ac<'|'<\u00a6" + "<\u00b0<\u00b5<0<1<2<3<4<5<6<7<8<9<\u00bc<\u00bd<\u00be")); } } } private void ignoreTests() { harness.checkPoint("ignorable characters"); final String TEST_RULES = "=Z"}, {"aZbZc", "abc", "="}, {"aZbZc", "aZbZc", "="}, {"abc", "aZbZc", "="}, {"aZbZc", "ABC", "<"}, {"Z", "Z", "="}, {"Abc", "aZbZc", ">"}, }; try { RuleBasedCollator r = new RuleBasedCollator(TEST_RULES); doComparisons(r, TESTS); } catch (ParseException ex) { harness.debug(ex); harness.fail("ignorable characters: ParseException (offset is " + ex.getErrorOffset() + ")"); } } private void oneCharTests() { checkStrengths(); harness.checkPoint("single character ordering"); final String TEST_RULES = ""}, {"ab", "abc", "<"}, {"abc", "Abc", "="}, {"abc", "aBc", "="}, {"abc", "abd", "="}, {"abc", "abC", "="}, {"abC", "abd", "="}, {"Abc", "abc", "="}, {"aBc", "abc", "="}, {"abd", "abc", "="}, {"abC", "abc", "="}, {"abd", "abC", "="}, {"abc", "012", "="}, {"ABd", "012", "="}, {"abc", "xyz", "<"}, {"xyz", "abc", ">"}, {"pqr", "xyz", "<"}, /* While the Sun Javadoc simply says that unmentioned characters appear at the end of the collation, the Sun JDK impl'ns appears to order them by raw char value. */ }, { // SECONDARY {"", "", "="}, {"abc", "abc", "="}, {"abc", "ab", ">"}, {"ab", "abc", "<"}, {"abc", "Abc", "<"}, {"abc", "aBc", "="}, {"abc", "abd", "<"}, {"abc", "abC", "<"}, {"abC", "abd", "="}, {"Abc", "abc", ">"}, {"aBc", "abc", "="}, {"abd", "abc", ">"}, {"abC", "abc", ">"}, {"abd", "abC", "="}, {"abc", "012", "<"}, {"ABd", "012", "="}, {"abc", "xyz", "<"}, {"xyz", "abc", ">"}, {"pqr", "xyz", "<"}, }, { // TERTIARY {"", "", "="}, {"abc", "abc", "="}, {"abc", "ab", ">"}, {"ab", "abc", "<"}, {"abc", "Abc", "<"}, {"abc", "aBc", "<"}, {"abc", "abd", "<"}, {"abc", "abC", "<"}, {"abC", "abd", "<"}, {"Abc", "abc", ">"}, {"aBc", "abc", ">"}, {"abd", "abc", ">"}, {"abC", "abc", ">"}, {"abd", "abC", ">"}, {"abc", "012", "<"}, {"ABd", "012", "="}, {"abc", "xyz", "<"}, {"xyz", "abc", ">"}, {"pqr", "xyz", "<"}, }, { // IDENTICAL {"", "", "="}, {"abc", "abc", "="}, {"abc", "ab", ">"}, {"ab", "abc", "<"}, {"abc", "Abc", "<"}, {"abc", "aBc", "<"}, {"abc", "abd", "<"}, {"abc", "abC", "<"}, {"abC", "abd", "<"}, {"Abc", "abc", ">"}, {"aBc", "abc", ">"}, {"abd", "abc", ">"}, {"abC", "abc", ">"}, {"abd", "abC", ">"}, {"abc", "012", "<"}, {"ABd", "012", ">"}, /* It appears that Sun JDKs fall back on the raw character values when characters are defined as equivalent by the rules. */ {"abc", "xyz", "<"}, {"xyz", "abc", ">"}, {"pqr", "xyz", "<"}, }, }; try { RuleBasedCollator r = new RuleBasedCollator(TEST_RULES); for (int i = 0; i < TESTS.length; i++) { r.setStrength(i); doComparisons(r, TESTS[i]); } } catch (ParseException ex) { harness.debug(ex); harness.fail("single character ordering: ParseException (offset is " + ex.getErrorOffset() + ")"); } } private void contractionTests() { checkStrengths(); harness.checkPoint("contraction ordering"); final String OLD_SPANISH_RULES = ""}, {"c\u00e6t", "cab", ">"}, {"C\u00c6T", "CAB", ">"}, }, { // SECONDARY {"ae", "\u00e6", "="}, {"AE", "\u00e6", "="}, {"ae", "\u00c6", "="}, {"AE", "\u00c6", "="}, {"cat", "cat", "="}, {"cat", "Cat", "="}, {"caet", "caet", "="}, {"caet", "c\u00e6t", "="}, {"c\u00e6t", "caet", "="}, {"c\u00e6t", "c\u00e6t", "="}, {"caet", "c\u00c6t", "="}, {"c\u00c6t", "caet", "="}, {"c\u00c6t", "c\u00c6t", "="}, {"c\u00c6t", "c\u00e6t", "="}, {"caet", "cat", "<"}, {"c\u00e6t", "cat", "<"}, {"C\u00c6T", "CAT", "<"}, {"caet", "cab", ">"}, {"c\u00e6t", "cab", ">"}, {"C\u00c6T", "CAB", ">"}, }, { // TERTIARY {"ae", "\u00e6", "<"}, {"AE", "\u00e6", "<"}, {"ae", "\u00c6", "<"}, {"AE", "\u00c6", "<"}, {"cat", "cat", "="}, {"cat", "Cat", "<"}, {"caet", "caet", "="}, {"caet", "c\u00e6t", "<"}, {"c\u00e6t", "caet", ">"}, {"c\u00e6t", "c\u00e6t", "="}, {"caet", "c\u00c6t", "<"}, {"c\u00c6t", "caet", ">"}, {"c\u00c6t", "c\u00c6t", "="}, {"c\u00c6t", "c\u00e6t", "<"}, {"caet", "cat", "<"}, {"c\u00e6t", "cat", ">"}, // JDK is buggy. It fails here. {"C\u00c6T", "CAT", ">"}, // JDK is buggy. It fails here. {"caet", "cab", ">"}, {"c\u00e6t", "cab", ">"}, {"C\u00c6T", "CAB", ">"}, }, { // IDENTICAL {"ae", "\u00e6", "<"}, {"AE", "\u00e6", "<"}, {"ae", "\u00c6", "<"}, {"AE", "\u00c6", "<"}, {"cat", "cat", "="}, {"cat", "Cat", "<"}, {"caet", "caet", "="}, {"caet", "c\u00e6t", "<"}, {"c\u00e6t", "caet", ">"}, {"c\u00e6t", "c\u00e6t", "="}, {"caet", "c\u00c6t", "<"}, {"c\u00c6t", "caet", ">"}, {"c\u00c6t", "c\u00c6t", "="}, {"c\u00c6t", "c\u00e6t", "<"}, {"caet", "cat", "<"}, {"c\u00e6t", "cat", ">"}, // JDK is buggy. It fails here. {"C\u00c6T", "CAT", ">"}, // JDK is buggy. It fails here. {"caet", "cab", ">"}, {"c\u00e6t", "cab", ">"}, {"C\u00c6T", "CAB", ">"}, }, }; try { RuleBasedCollator r = new RuleBasedCollator(OLD_ENGLISH_RULES); for (int i = 0; i < TESTS.length; i++) { r.setStrength(i); doComparisons(r, TESTS[i]); } } catch (ParseException ex) { harness.debug(ex); harness.fail("expansion ordering: ParseException (offset is " + ex.getErrorOffset() + ")"); } } private void checkStrengths() { harness.checkPoint("collator strengths"); harness.check(Collator.PRIMARY == 0); harness.check(Collator.SECONDARY == 1); harness.check(Collator.TERTIARY == 2); harness.check(Collator.IDENTICAL == 3); } public void test(TestHarness harness) { this.harness = harness; constructorTests(); ignoreTests(); oneCharTests(); contractionTests(); expansionTests(); // More tests in the pipeline } } // class jdk11 mauve-20140821/gnu/testlet/java/text/DateFormat/0000755000175000001440000000000012375316426020166 5ustar dokousersmauve-20140821/gnu/testlet/java/text/DateFormat/equals.java0000644000175000001440000000736410205402453022317 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DateFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.Locale; import java.util.SimpleTimeZone; import java.util.TimeZone; /** * Some checks for the equals() method in the DateFormat class. Bug 5066247 is * a general request for a better API specification. The following bug reports * provide some clues about how the API is supposed to behave: * * http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4071441 * http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4072858 */ public class equals implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not allowed). */ public void test(TestHarness harness) { DateFormat f1 = new SimpleDateFormat("yyyy"); DateFormat f2 = new SimpleDateFormat("yyyy"); harness.check(f1.equals(f2)); // check 1 harness.check(f2.equals(f1)); // check 2 // check calendar differences: GregorianCalendar c1 = new GregorianCalendar(TimeZone.getTimeZone("GMT"), Locale.UK); GregorianCalendar c2 = new GregorianCalendar(TimeZone.getTimeZone("GMT"), Locale.UK); long millis = System.currentTimeMillis(); c1.setTimeInMillis(millis); c2.setTimeInMillis(millis); f1.setCalendar(c1); f2.setCalendar(c2); harness.check(f1.equals(f2)); // timeInMillis --> guessing that differences should be ignored c1.setTimeInMillis(123L); harness.check(f1.equals(f2)); // still equal! c2.setTimeInMillis(123L); harness.check(f1.equals(f2)); // firstDayOfWeek c1.setFirstDayOfWeek(Calendar.THURSDAY); harness.check(!f1.equals(f2)); c2.setFirstDayOfWeek(Calendar.THURSDAY); harness.check(f1.equals(f2)); // minimalDaysInFirstWeek c1.setMinimalDaysInFirstWeek(6); harness.check(!f1.equals(f2)); c2.setMinimalDaysInFirstWeek(6); harness.check(f1.equals(f2)); // timeZone c1.setTimeZone(new SimpleTimeZone(0, "Z1")); harness.check(!f1.equals(f2)); c2.setTimeZone(new SimpleTimeZone(0, "Z1")); harness.check(f1.equals(f2)); // locale c1 = new GregorianCalendar(TimeZone.getTimeZone("GMT"), Locale.UK); c2 = new GregorianCalendar(TimeZone.getTimeZone("GMT"), Locale.US); c1.setTimeInMillis(millis); c2.setTimeInMillis(millis); f1.setCalendar(c1); f2.setCalendar(c2); harness.check(!f1.equals(f2)); c2 = new GregorianCalendar(TimeZone.getTimeZone("GMT"), Locale.UK); c2.setTimeInMillis(millis); f2.setCalendar(c2); harness.check(f1.equals(f2)); // gregorianChange c1.setGregorianChange(new Date(123L)); harness.check(f1.equals(f2)); c2.setGregorianChange(new Date(123L)); harness.check(f1.equals(f2)); } } mauve-20140821/gnu/testlet/java/text/DateFormat/Test.java0000644000175000001440000000720306645474634021763 0ustar dokousers/************************************************************************* /* Test.java -- Test java.text.DateFormat /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.text.DateFormat; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.*; import java.util.*; public class Test extends DateFormat implements Testlet { public void test(TestHarness harness) { // Do we still need to check these? Are static finals still compiled // into class files? harness.check(ERA_FIELD, 0, "ERA_FIELD"); harness.check(YEAR_FIELD, 1, "YEAR_FIELD"); harness.check(MONTH_FIELD, 2, "MONTH_FIELD"); harness.check(DATE_FIELD, 3, "DATE_FIELD"); harness.check(HOUR_OF_DAY1_FIELD, 4, "HOUR_OF_DAY1_FIELD"); harness.check(HOUR_OF_DAY0_FIELD, 5, "HOUR_OF_DAY0_FIELD"); harness.check(MINUTE_FIELD, 6, "MINUTE_FIELD"); harness.check(SECOND_FIELD, 7, "SECOND_FIELD"); harness.check(MILLISECOND_FIELD, 8, "MILLISECOND_FIELD"); harness.check(DAY_OF_WEEK_FIELD, 9, "DAY_OF_WEEK_FIELD"); harness.check(DAY_OF_YEAR_FIELD, 10, "DAY_OF_YEAR_FIELD"); harness.check(DAY_OF_WEEK_IN_MONTH_FIELD, 11, "DAY_OF_WEEK_IN_MONTH_FIELD"); harness.check(WEEK_OF_YEAR_FIELD, 12, "WEEK_OF_YEAR_FIELD"); harness.check(WEEK_OF_MONTH_FIELD, 13, "WEEK_OF_MONTH_FIELD"); harness.check(AM_PM_FIELD, 14, "AM_PM_FIELD"); harness.check(HOUR1_FIELD, 15, "HOUR1_FIELD"); harness.check(HOUR0_FIELD, 16, "HOUR0_FIELD"); harness.check(TIMEZONE_FIELD, 17, "TIMEZONE_FIELD"); harness.check(FULL, 0, "FULL"); harness.check(LONG, 1, "LONG"); harness.check(MEDIUM, 2, "MEDIUM"); harness.check(SHORT, 3, "SHORT"); harness.check(DEFAULT, 2, "DEFAULT"); Calendar c = new GregorianCalendar(); setCalendar(c); harness.check(getCalendar(), c, "get/setCalendar"); harness.check(calendar, c, "calendar"); NumberFormat nf = NumberFormat.getNumberInstance(); setNumberFormat(nf); harness.check(getNumberFormat(), nf, "get/setNumberFormat"); harness.check(numberFormat, nf, "numberFormat"); setLenient(true); harness.check(isLenient() == true, "set/isLenient (true)"); setLenient(false); harness.check(isLenient() == false, "set/isLenient (false)"); TimeZone tz = TimeZone.getDefault(); setTimeZone(tz); harness.check(getTimeZone(), tz, "get/setTimeZone"); Object t = clone(); harness.check(equals(t) == true, "clone/equals"); // Hmmm. Is this 1.2? //Locales[] locales = getAvailableLocales(); //harness.debugArray(locales, "Available Locales"); // Just to make sure we don't throw exceptions getInstance(); getDateInstance(FULL, Locale.US); harness.check(true, "getInstance"); } public StringBuffer format(Date date, StringBuffer sb, FieldPosition pos) { return(null); } public Date parse(String text, ParsePosition pos) { return(null); } } // class Test mauve-20140821/gnu/testlet/java/text/DateFormat/hashCode.java0000644000175000001440000000303510234262561022540 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DateFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DateFormat; import java.util.Locale; /** * Some checks for the hashCode() method in the DateFormat class. */ public class hashCode implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not allowed). */ public void test(TestHarness harness) { DateFormat f1 = DateFormat.getDateInstance(DateFormat.SHORT, Locale.UK); DateFormat f2 = DateFormat.getDateInstance(DateFormat.SHORT, Locale.UK); harness.check(f1.equals(f2)); // check 1 harness.check(f1.hashCode(), f2.hashCode()); // check 2 } } mauve-20140821/gnu/testlet/java/text/CollationElementIterator/0000755000175000001440000000000012375316426023110 5ustar dokousersmauve-20140821/gnu/testlet/java/text/CollationElementIterator/offset.java0000644000175000001440000000361610057633063025241 0ustar dokousers/************************************************************************* /* offset -- Test get/setOffset features in CollationElementIterator. /* /* Copyright (c) 2004 Guilhem Lavaux /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.2 package gnu.testlet.java.text.CollationElementIterator; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.CollationElementIterator; import java.text.RuleBasedCollator; import java.text.ParseException; public class offset implements Testlet { public void test(TestHarness harness) { try { RuleBasedCollator collator = new RuleBasedCollator("'<\u00AC<'|'<\u00A6<\u00B0<\u00B5" + "<0<1<2<3<4<5<6<7<8<9<\u00BC<\u00BD<\u00BE prev[0], "next() " + i + " " + tag); if (order == PRIMARY) { harness.check(next[1] > prev[1], "no primary difference " + i + " " + tag); } else if (order == SECONDARY) { harness.check((next[1] > prev[1]) || (next[1] == prev[1] && next[2] > prev[2]), "no secondary difference" + i + " " + tag); } else if (order == TERTIARY) { harness.check((next[1] > prev[1]) || (next[1] == prev[1] && next[2] > prev[2]) || (next[1] == prev[1] && next[2] == prev[2] && next[3] > prev[3]), "no tertiary difference" + i + " " + tag); } prev = next; } if (count != i) { harness.debug("count is " + count + ", i is " + i); } harness.check(count == i, "wrong number of keys " + tag); } catch (Throwable t) { harness.debug (t); harness.fail ("CollationElementIterator with localeName"); } } static void checkEquiv (CollationElementIterator iterator, String[] sets, int order, String tag) { try { for (int i = 0; i < sets.length; i++) { iterator.setText(sets[i]); int key = iterator.next(); int[] prev = {key, CollationElementIterator.primaryOrder(key), CollationElementIterator.secondaryOrder(key), CollationElementIterator.tertiaryOrder(key) }; harness.debug("first = {" + prev[0] + ", " + prev[1] + ", " + prev[2] + ", " + prev[3] + "}"); harness.check(key != CollationElementIterator.NULLORDER, "first " + tag); int j = 1; while ((key = iterator.next()) != CollationElementIterator.NULLORDER) { j++; int[] next = {key, CollationElementIterator.primaryOrder(key), CollationElementIterator.secondaryOrder(key), CollationElementIterator.tertiaryOrder(key) }; harness.debug("next (" + i + ", " + j + ") = {" + next[0] + ", " + next[1] + ", " + next[2] + ", " + next[3] + "}"); if (order == PRIMARY) { harness.check(next[1] > prev[1], "not primary ordered " + i + ", " + j + " " + tag); } else if (order == SECONDARY) { harness.check(next[1] == prev[1] && next[2] > prev[2], "not secondary ordered" + i + ", " + j + " " + tag); } else if (order == TERTIARY) { harness.check(next[1] == prev[1] && next[2] == prev[2] && next[3] > prev[3], "not tertiary ordered" + i + ", " + j + " " + tag); } else if (order == NONE) { harness.check(next[1] == prev[1], "keys not equal"); } prev = next; } if (sets[i].length() != j) { harness.debug("length[" + i + "] is " + sets[i].length() + ", j is " + j); } harness.check(sets[i].length() == j, "wrong number of keys (" + j + ") " + tag); } } catch (Throwable t) { harness.debug (t); harness.fail ("CollationElementIterator with localeName"); } } public void test(TestHarness harness) { // FIXME ... add more test strings for the en_US locale // FIXME ... add tests for characters that compare equal // FIXME ... add tests for other locales final String[] TEST_STRINGS = { "X", "12", "abcdefghijklmnopqrstuvwxyz", "0123456789", " _,;:!?/.`^~'\"()[]{}@$*\\&#%+<=>|A", "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ", }; final int[] TEST_ORDERS = { PRIMARY, PRIMARY, PRIMARY, PRIMARY, PRIMARY, TERTIARY, }; final String[][] TEST_STRINGS2 = { {"aA", "bB", "cC", "dD", "eE", "fF", "gG", "hH", "iI", "jJ", "kK", "lL", "mM", "nN", "oO", "pP", "qQ", "rR", "sS", "tT", "uU", "vV", "wW", "xX", "yY", "zZ"}, }; final int[] TEST_ORDERS2 = { TERTIARY, }; jdk11.harness = harness; try { // -------- constants -------- harness.check(CollationElementIterator.NULLORDER, -1, "NULLORDER"); // RuleBasedCollator en_USCollator = (RuleBasedCollator) // Collator.getInstance(new Locale("en", "US", "")); // Used to get the collator as above, but this assumes that the // en_US locale's collation rules are reasonably complete. // Since the point of this class is test the iterator, it is // better to use a collator with hard-wired collation rules of // known quality. RuleBasedCollator en_USCollator = new RuleBasedCollator(JDK_1_4_EN_US_RULES); CollationElementIterator iterator = en_USCollator.getCollationElementIterator("abcdefg"); // -------- methods -------- checkOrder(iterator, 7, PRIMARY, "initial test"); // reset() harness.checkPoint("reset()"); iterator.reset(); checkOrder(iterator, 7, PRIMARY, "initial test after reset()"); // ------- check empty string -------- iterator = en_USCollator.getCollationElementIterator(""); harness.check (iterator.next(), CollationElementIterator.NULLORDER, "next()"); // ------- detailed checks of collation orders ------- for (int i = 0; i < TEST_STRINGS.length; i++) { iterator = en_USCollator.getCollationElementIterator(TEST_STRINGS[i]); checkOrder(iterator, TEST_STRINGS[i].length(), TEST_ORDERS[i], "test string #" + i); } // ------- detailed checks of collation equivalences ------- for (int i = 0; i < TEST_STRINGS2.length; i++) { checkEquiv(iterator, TEST_STRINGS2[i], TEST_ORDERS2[i], "test set #" + i); } } catch (Throwable t) { harness.debug(t); harness.fail("CollationElementIterator"); } } } // class jdk11 mauve-20140821/gnu/testlet/java/text/DecimalFormat/0000755000175000001440000000000012375316426020647 5ustar dokousersmauve-20140821/gnu/testlet/java/text/DecimalFormat/parse.java0000644000175000001440000001427310505043566022626 0ustar dokousers// Test simple forms of DecimalFormat.parse. // Copyright (c) 1999 Cygnus Solutions // Written by Tom Tromey // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.DecimalFormat; import java.text.ParsePosition; import java.util.Locale; public class parse implements Testlet { public void apply (TestHarness harness, DecimalFormat df, String pattern) { harness.checkPoint("pattern " + pattern); boolean ok = true; try { df.applyPattern(pattern); } catch (IllegalArgumentException x) { ok = false; } harness.check (ok); } public Number parseIt (DecimalFormat df, String string, ParsePosition pos) { pos.setIndex (0); return df.parse (string, pos); } public void test (TestHarness harness) { // Just to be explicit: we're only testing the US locale here. Locale loc = Locale.US; Locale.setDefault (loc); Number num; ParsePosition pp = new ParsePosition (0); // Some tests taken from JCL book. DecimalFormat df = new DecimalFormat ("0.##;-0.##"); num = parseIt (df, "-1234.56", pp); harness.check (num instanceof Double); harness.check (num.doubleValue(), -1234.56); num = parseIt (df, "-0", pp); harness.check (num instanceof Double); harness.check (num.doubleValue(), -0.0); num = parseIt (df, "-0.0", pp); harness.check (num instanceof Double); harness.check (num.doubleValue(), -0.0); apply (harness, df, "0.#"); num = parseIt (df, "1234.6", pp); harness.check (num instanceof Double); harness.check (num.doubleValue(), 1234.6); apply (harness, df, "0"); num = parseIt (df, "-1235", pp); harness.check (num instanceof Long); harness.check (num.longValue (), -1235); num = parseIt (df, Long.toString (Long.MIN_VALUE), pp); harness.check (num instanceof Long); harness.check (num.longValue(), Long.MIN_VALUE); apply (harness, df, "'#'#.#"); num = parseIt (df, "#30", pp); harness.check (num instanceof Long); harness.check (num.longValue (), 30); num = parseIt (df, "xx30", pp); harness.check (num, null); apply (harness, df, "0.0000E0"); num = parseIt (df, "2.000E5", pp); harness.check (num instanceof Long); harness.check (num.longValue (), 200000); num = parseIt (df, "2.0000E-5", pp); harness.check (num instanceof Double); harness.check (num.doubleValue(), 2.0E-5); // this one is tricky... -E5 is considered part of the suffix num = parseIt (df, "2.000-E5", pp); harness.check (num instanceof Long); harness.check (num.doubleValue(), 2); apply (harness, df, "0.000"); num = parseIt (df, "2.000", pp); harness.check (num instanceof Long); harness.check (num.longValue (), 2); apply (harness, df, "###0.#;(###0.#)"); num = parseIt (df, "201.2", pp); harness.check (num instanceof Double); harness.check (num.doubleValue(), 201.2); num = parseIt (df, "(201.2)", pp); harness.check (num instanceof Double); harness.check (num.doubleValue(), -201.2); apply (harness, df, "0.#;0.#-"); num = parseIt (df, "303", pp); harness.check (num instanceof Long); harness.check (num.longValue (), 303); num = parseIt (df, "303-", pp); harness.check (num instanceof Long); harness.check (num.longValue (), -303); num = parseIt (df, "1.", pp); harness.check (num instanceof Long); harness.check (num.longValue (), 1); num = parseIt (df, "1.0", pp); harness.check (num instanceof Long); harness.check (num.longValue (), 1); num = parseIt (df, ".01", pp); harness.check (num instanceof Double); harness.check (num.longValue (), 0); num = parseIt (df, "9223372036854775808-", pp); harness.check (num instanceof Long); harness.check (num.longValue(), Long.MIN_VALUE); apply (harness, df, "0.###;0.###-"); num = parseIt (df, ".01", pp); harness.check (num instanceof Double); harness.check (num.doubleValue(), 0.01); num = parseIt (df, ".05", pp); harness.check (num instanceof Double); harness.check (num.doubleValue(), 0.05); num = parseIt (df, ".5", pp); harness.check (num instanceof Double); harness.check (num.doubleValue(), 0.5); apply (harness, df, "#,##0.00"); num = parseIt (df, "3,110.00", pp); harness.check (num instanceof Long); harness.check (num.longValue(), 3110); apply (harness, df, "#,##0.00"); num = parseIt (df, "31,10.00", pp); harness.check (num instanceof Long); harness.check (num.longValue(), 3110); apply (harness, df, "#,##0.00"); num = parseIt (df, "3110", pp); harness.check (num instanceof Long); harness.check (num.longValue(), 3110); apply (harness, df, "#,##0X"); num = parseIt (df, "3,110X", pp); harness.check (num instanceof Long); harness.check (num.longValue(), 3110); apply (harness, df, "#,##0X"); num = parseIt (df, "3,110", pp); harness.check (num == null); harness.check (pp.getErrorIndex() == 5); apply (harness, df, "#,##0X"); num = parseIt (df, "3,110Y", pp); harness.check (num == null); harness.check (pp.getErrorIndex(), 5); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/constructors.java0000644000175000001440000001021710215122637024251 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DecimalFormat; import java.text.DecimalFormatSymbols; import java.util.Locale; /** * Some checks for the constructors in the DecimalFormat class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not allowed). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); } private void testConstructor1(TestHarness harness) { harness.checkPoint("DecimalFormat();"); // set the default locale to something fixed Locale original = Locale.getDefault(); Locale.setDefault(Locale.UK); DecimalFormat f = new DecimalFormat(); // should use the default symbols... harness.check(f.getPositivePrefix(), ""); // 1 harness.check(f.getNegativePrefix(), "-"); // 2 harness.check(f.getPositiveSuffix(), ""); // 3 harness.check(f.getNegativeSuffix(), ""); // 4 harness.check(f.getMultiplier(), 1); // 5 harness.check(f.getGroupingSize(), 3); // 6 harness.check(f.isDecimalSeparatorAlwaysShown(), false); // 7 DecimalFormatSymbols symbols = new DecimalFormatSymbols(); harness.check(f.getDecimalFormatSymbols(), symbols); // 8 Locale.setDefault(original); } private void testConstructor2(TestHarness harness) { harness.checkPoint("DecimalFormat(String);"); // set the default locale to something fixed Locale original = Locale.getDefault(); Locale.setDefault(Locale.UK); DecimalFormat f = new DecimalFormat("0.00"); // check for null format... boolean pass = false; try { f = new DecimalFormat(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check for bad format... pass = false; try { f = new DecimalFormat(";;"); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); Locale.setDefault(original); } private void testConstructor3(TestHarness harness) { harness.checkPoint("DecimalFormat(String, DecimalFormatSymbols);"); // since get/setDecimalFormatSymbols() methods make copies of the symbols, // we can guess that the constructor does too DecimalFormatSymbols dfs = new DecimalFormatSymbols(); dfs.setDecimalSeparator('x'); DecimalFormat f = new DecimalFormat("0.00", dfs); harness.check(f.getDecimalFormatSymbols().getDecimalSeparator(), 'x'); dfs.setDecimalSeparator('y'); // this won't affect f harness.check(f.getDecimalFormatSymbols().getDecimalSeparator(), 'x'); // check for null format... boolean pass = false; try { f = new DecimalFormat(null, new DecimalFormatSymbols()); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check for null symbols... pass = false; try { f = new DecimalFormat("0.00", null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/position.java0000644000175000001440000000412206671273250023354 0ustar dokousers// Test FieldPosition parameter to DecimalFormat.format. // Copyright (c) 1999 Cygnus Solutions // Written by Tom Tromey // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.DecimalFormat; import java.util.Locale; import java.text.FieldPosition; import java.text.NumberFormat; public class position implements Testlet { public String format (DecimalFormat df, double number, FieldPosition pos, StringBuffer buf) { buf.setLength (0); return df.format (number, buf, pos).toString(); } public void test (TestHarness harness) { // Just to be explicit: we're only testing the US locale here. Locale loc = Locale.US; Locale.setDefault (loc); StringBuffer buf = new StringBuffer (); DecimalFormat df = new DecimalFormat ("0.##"); FieldPosition intPos = new FieldPosition (NumberFormat.INTEGER_FIELD); FieldPosition fracPos = new FieldPosition (NumberFormat.FRACTION_FIELD); harness.check (format (df, -1234.56, intPos, buf), "-1234.56"); harness.check (intPos.getBeginIndex (), 1); harness.check (intPos.getEndIndex (), 5); harness.check (format (df, -1234.56, fracPos, buf), "-1234.56"); harness.check (fracPos.getBeginIndex (), 6); harness.check (fracPos.getEndIndex (), 8); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/setDecimalFormatSymbols.java0000644000175000001440000000403410636016336026302 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DecimalFormat; import java.text.DecimalFormatSymbols; /** * Some checks for the setDecimalFormatSymbols() method in the * {@link DecimalFormat} class. */ public class setDecimalFormatSymbols implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DecimalFormat f1 = new DecimalFormat(); // incoming symbols should be copied - see bug parade 4685440 // check by amending source after setting DecimalFormatSymbols symbols = new DecimalFormatSymbols(); symbols.setDecimalSeparator('x'); f1.setDecimalFormatSymbols(symbols); harness.check(f1.getDecimalFormatSymbols().getDecimalSeparator(), 'x'); symbols.setDecimalSeparator('y'); harness.check(f1.getDecimalFormatSymbols().getDecimalSeparator(), 'x'); // try null argument. boolean pass = false; try { f1.setDecimalFormatSymbols(null); pass = true; } catch (NullPointerException e) { // do nothing. } harness.check(pass); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/equals.java0000644000175000001440000001076410215122637023002 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DecimalFormat; /** * Some checks for the equals() method in the DecimalFormat class. */ public class equals implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not allowed). */ public void test(TestHarness harness) { DecimalFormat f1 = new DecimalFormat(); DecimalFormat f2 = new DecimalFormat(); harness.check(f1.equals(f2)); // 1 harness.check(f2.equals(f1)); // 2 f1.applyPattern("#,##0"); f2.applyPattern("#,##0.00"); harness.check(!f1.equals(f2)); // 3 f2.applyPattern("#,##0"); harness.check(f1.equals(f2)); // 4 f1.setDecimalSeparatorAlwaysShown(!f1.isDecimalSeparatorAlwaysShown()); harness.check(!f1.equals(f2)); // 5 f2.setDecimalSeparatorAlwaysShown(f1.isDecimalSeparatorAlwaysShown()); harness.check(f1.equals(f2)); // 6 f1.setGroupingSize(5); harness.check(!f1.equals(f2)); // 7 f2.setGroupingSize(5); harness.check(f1.equals(f2)); // 8 f1.setGroupingUsed(!f1.isGroupingUsed()); harness.check(!f1.equals(f2)); // 9 f2.setGroupingUsed(f1.isGroupingUsed()); harness.check(f1.equals(f2)); // 10 f1.setMaximumFractionDigits(12); harness.check(!f1.equals(f2)); // 11 f2.setMaximumFractionDigits(12); harness.check(f1.equals(f2)); // 12 f1.setMaximumIntegerDigits(23); harness.check(!f1.equals(f2)); // 13 f2.setMaximumIntegerDigits(23); harness.check(f1.equals(f2)); // 14 f1.setMinimumFractionDigits(5); harness.check(!f1.equals(f2)); // 15 f2.setMinimumFractionDigits(5); harness.check(f1.equals(f2)); // 16 f1.setMinimumIntegerDigits(4); harness.check(!f1.equals(f2)); // 17 f2.setMinimumIntegerDigits(4); harness.check(f1.equals(f2)); // 18 f1.setMultiplier(17); harness.check(!f1.equals(f2)); // 19 f2.setMultiplier(17); harness.check(f1.equals(f2)); // 20 f1.setNegativePrefix("ABC"); harness.check(!f1.equals(f2)); // 21 f2.setNegativePrefix("ABC"); harness.check(f1.equals(f2)); // 22 f1.setPositivePrefix("XYZ"); harness.check(!f1.equals(f2)); // 23 f2.setPositivePrefix("XYZ"); harness.check(f1.equals(f2)); // 24 f1.setNegativeSuffix("FGH"); harness.check(!f1.equals(f2)); // 25 f2.setNegativeSuffix("FGH"); harness.check(f1.equals(f2)); // 26 f1.setPositiveSuffix("JKL"); harness.check(!f1.equals(f2)); // 27 f2.setPositiveSuffix("JKL"); harness.check(f1.equals(f2)); // 28 // check equivalent patterns f1.applyPattern("0.00"); f2.applyPattern("0.00;-0.00"); harness.check(f1.equals(f2)); // 29 // check null harness.check(!f1.equals(null)); // 30 // check arbitrary object harness.check(!f1.equals("Not a DecimalFormat")); // 31 } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/clone.java0000644000175000001440000000263310215122637022604 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DecimalFormat; /** * Some checks for the clone() method in the {@link DecimalFormat} class. */ public class clone implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DecimalFormat f1 = new DecimalFormat(); DecimalFormat f2 = (DecimalFormat) f1.clone(); harness.check(f1 != f2); harness.check(f1.equals(f2)); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/getCurrency.java0000644000175000001440000000270210215122637023773 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DecimalFormat; import java.util.Currency; /** * Some checks for the getCurrency() method in the {@link DecimalFormat} class. */ public class getCurrency implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DecimalFormat f1 = new DecimalFormat(); f1.setCurrency(Currency.getInstance("GBP")); harness.check(f1.getCurrency(), Currency.getInstance("GBP")); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/formatToCharacterIterator.java0000644000175000001440000000573510531310127026626 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.AttributedCharacterIterator; import java.text.DecimalFormat; import java.text.NumberFormat.Field; import java.util.Iterator; import java.util.Set; /** * Some checks for the formatToCharacterIterator() method in the * {@link DecimalFormat} class. */ public class formatToCharacterIterator implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DecimalFormat f1 = new DecimalFormat(); // check null argument boolean pass = false; try { f1.formatToCharacterIterator(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check non-numeric argument pass = false; try { f1.formatToCharacterIterator("Not a number"); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); harness.checkPoint("Check for attributes after a valid parse"); DecimalFormat f2 = new DecimalFormat("0.##;-0.##"); // result is "-1234.56" AttributedCharacterIterator chIter = f2.formatToCharacterIterator(Double.valueOf(-1234.56)); Set _keys = chIter.getAllAttributeKeys(); // It seems that we don't get always the same order in the results // but the values need to be the ones written later. // This test should be completed checking even the start/end of each field boolean pass1 = false; boolean pass2 = false; boolean pass3 = false; boolean pass4 = false; for (Iterator i = _keys.iterator(); i.hasNext();) { //harness.debug("field: " + i.next()); Field field = (Field) i.next(); if (field.equals(Field.INTEGER)) pass1 = true; if (field.equals(Field.FRACTION)) pass2 = true; if (field.equals(Field.DECIMAL_SEPARATOR)) pass3 = true; if (field.equals(Field.SIGN)) pass4 = true; } harness.check(pass1 && pass2 && pass3 && pass4); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/PR23996.java0000644000175000001440000000352710513020200022425 0ustar dokousers/* PR23996.java -- test for bug PR23996 Copyright (C) 2006 Mario Torre This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.text.DecimalFormat; import java.text.DecimalFormat; import java.util.Locale; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * This is based on PR23996: DecimalFormat.format() is giving * different values in Java and DOTNet. * * @author Mario Torre */ public class PR23996 implements Testlet { public void test(TestHarness harness) { Locale orig = Locale.getDefault(); Locale.setDefault(Locale.US); harness.checkPoint("PR23996"); DecimalFormat df = new DecimalFormat("S#.12345"); harness.check(df.format(Float.MAX_VALUE), "S340282346638528860000000000000000000000.12345"); DecimalFormat df1 = new DecimalFormat("S#.00"); harness.check(df1.format(Float.MAX_VALUE), "S340282346638528860000000000000000000000.00"); DecimalFormat df2 = new DecimalFormat("0.7547895"); harness.check(df2.format(Float.MAX_VALUE), "340282346638528860000000000000000000000.7547895"); Locale.setDefault(orig); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/getPositivePrefix.java0000644000175000001440000000334010505043566025165 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DecimalFormat; /** * Some checks for the getPositivePrefix() method in the {@link DecimalFormat} * class. */ public class getPositivePrefix implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DecimalFormat f1 = new DecimalFormat(); f1.setPositivePrefix("XYZ"); harness.check(f1.getPositivePrefix(), "XYZ"); // this means: "no one understand a thing here" String longPrefix = "'#'1'.' ''nessuno ci capisce niente qui"; String longPrefixCheck = "#1. 'nessuno ci capisce niente qui"; DecimalFormat f2 = new DecimalFormat(longPrefix + "#0.00;(#0.00)"); harness.check(f2.getPositivePrefix(), longPrefixCheck); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/applyLocalizedPattern.java0000644000175000001440000000335110215122637026014 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DecimalFormat; /** * Some checks for the applyLocalizedPattern() method in the * {@link DecimalFormat} class. */ public class applyLocalizedPattern implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DecimalFormat f1 = new DecimalFormat(); // try null argument boolean pass = false; try { f1.applyLocalizedPattern(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try illegal pattern pass = false; try { f1.applyLocalizedPattern(";;"); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/setCurrency.java0000644000175000001440000000346710215122637024020 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DecimalFormat; import java.text.DecimalFormatSymbols; import java.util.Currency; /** * Some checks for the setCurrency() method in the {@link DecimalFormat} class. */ public class setCurrency implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DecimalFormat f1 = new DecimalFormat(); f1.setCurrency(Currency.getInstance("NZD")); harness.check(f1.getCurrency(), Currency.getInstance("NZD")); DecimalFormatSymbols dfs = f1.getDecimalFormatSymbols(); harness.check(dfs.getCurrency(), Currency.getInstance("NZD")); // check null argument boolean pass = false; try { f1.setCurrency(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/getMultiplier.java0000644000175000001440000000260010215122637024324 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DecimalFormat; /** * Some checks for the getMultiplier() method in the {@link DecimalFormat} * class. */ public class getMultiplier implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DecimalFormat f1 = new DecimalFormat(); f1.setMultiplier(5); harness.check(f1.getMultiplier(), 5); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/getNegativePrefix.java0000644000175000001440000000263010215122637025121 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DecimalFormat; /** * Some checks for the getNegativePrefix() method in the {@link DecimalFormat} * class. */ public class getNegativePrefix implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DecimalFormat f1 = new DecimalFormat(); f1.setNegativePrefix("XYZ"); harness.check(f1.getNegativePrefix(), "XYZ"); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/setPositivePrefix.java0000644000175000001440000000275210215122637025202 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DecimalFormat; /** * Some checks for the setPositivePrefix() method in the {@link DecimalFormat} * class. */ public class setPositivePrefix implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DecimalFormat f1 = new DecimalFormat(); f1.setPositivePrefix("ABC"); harness.check(f1.getPositivePrefix(), "ABC"); f1.setPositivePrefix(null); harness.check(f1.getPositivePrefix(), null); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/PR27311.java0000644000175000001440000000331210427460500022415 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2006 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DecimalFormat; import java.text.DecimalFormatSymbols; import java.util.Locale; /* * This test is based on PR27311, where * formatting 0.0E00 using the format 0.0#####E0 * produced 0.0E--9223372036854775808. This was down * to incorrect use of the logarithm function in * calculating the exponent. The log of 0 is negative * infinity, which explains the bizarre output. * * @author Andrew John Hughes (gnu_andrew@member.fsf.org) */ public class PR27311 implements Testlet { public void test(TestHarness harness) { DecimalFormatSymbols dfs = new DecimalFormatSymbols(Locale.ENGLISH); DecimalFormat nf = new DecimalFormat("0.0#####E00", dfs); nf.setGroupingUsed(false); String result = nf.format(0.0E00); harness.check(result.equals("0.0E00"),result); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/toLocalizedPattern.java0000644000175000001440000000300610215122637025306 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DecimalFormat; import java.text.DecimalFormatSymbols; import java.util.Locale; /** * Some checks for the toLocalizedPattern() method in the * {@link DecimalFormat} class. */ public class toLocalizedPattern implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DecimalFormat f = new DecimalFormat( "\u00A4#,##0.00", new DecimalFormatSymbols(Locale.UK) ); harness.check(f.toLocalizedPattern(), "\u00A4#,##0.00"); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/getNegativeSuffix.java0000644000175000001440000000264410215122637025135 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DecimalFormat; /** * Some checks for the getNegativeSuffix() method in the {@link DecimalFormat} * class. */ public class getNegativeSuffix implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DecimalFormat f1 = new DecimalFormat(); f1.setNegativeSuffix("XYZ"); harness.check(f1.getNegativeSuffix(), "XYZ"); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/MaximumAndMinimumDigits.java0000644000175000001440000001131610636016336026247 0ustar dokousers/* MaximumAndMinimumDigits.java -- Copyright (C) 2006 Lima Software, SO.PR.IND. s.r.l. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.text.DecimalFormat; import java.text.DecimalFormat; import java.util.Locale; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Test class for maximum and minimum integer and fraction digits getter/setter * in class DecimalFormat. * * @author Mario Torre */ public class MaximumAndMinimumDigits implements Testlet { /** Test Harness */ private TestHarness harness = null; /* * @see gnu.testlet.Testlet#test(gnu.testlet.TestHarness) */ public void test(TestHarness harness) { this.harness = harness; Locale original = Locale.getDefault(); Locale.setDefault(Locale.US); try { doTest(); } finally { Locale.setDefault(original); } } private void doTest() { // this value is 2147483647 int MAX = Integer.MAX_VALUE; harness.checkPoint("default pattern"); DecimalFormat format = new DecimalFormat(); harness.check(format.getMaximumIntegerDigits(), MAX); harness.check(format.getMinimumIntegerDigits(), 1); harness.check(format.getMaximumFractionDigits(), 3); harness.check(format.getMinimumFractionDigits(), 0); harness.checkPoint("0.00E0"); format = new DecimalFormat("0.00E0"); harness.check(format.getMaximumIntegerDigits(), 1); harness.check(format.getMinimumIntegerDigits(), 1); harness.check(format.getMaximumFractionDigits(), 2); harness.check(format.getMinimumFractionDigits(), 2); harness.checkPoint("#,##0.0#"); format = new DecimalFormat("#,##0.0#"); harness.check(format.getMaximumIntegerDigits(), MAX); harness.check(format.getMinimumIntegerDigits(), 1); harness.check(format.getMaximumFractionDigits(), 2); harness.check(format.getMinimumFractionDigits(), 1); // check what happen if we force a different value harness.checkPoint("maximum integer digits, checking format..."); format.setMaximumIntegerDigits(0); harness.check(format.getMaximumIntegerDigits(), 0); harness.check(format.format(123456.123456), ".12"); harness.checkPoint("#."); format = new DecimalFormat("#."); harness.check(format.getMaximumIntegerDigits(), MAX); harness.check(format.getMinimumIntegerDigits(), 1); harness.check(format.getMaximumFractionDigits(), 0); harness.check(format.getMinimumFractionDigits(), 0); harness.checkPoint("#.#"); format = new DecimalFormat("#.#"); harness.check(format.getMaximumIntegerDigits(), MAX); harness.check(format.getMinimumIntegerDigits(), 1); harness.check(format.getMaximumFractionDigits(), 1); harness.check(format.getMinimumFractionDigits(), 0); harness.checkPoint("#0000000000000,00000.###"); format = new DecimalFormat("#0000000000000,00000.###"); harness.check(format.getMaximumIntegerDigits(), MAX); harness.check(format.getMinimumIntegerDigits(), 18); harness.check(format.getMaximumFractionDigits(), 3); harness.check(format.getMinimumFractionDigits(), 0); harness.checkPoint("0E0"); format = new DecimalFormat("0E0"); harness.check(format.getMaximumIntegerDigits(), 1); harness.check(format.getMinimumIntegerDigits(), 1); harness.check(format.getMaximumFractionDigits(), 0); harness.check(format.getMinimumFractionDigits(), 0); harness.checkPoint("0.###E0"); format = new DecimalFormat("0.###E0"); harness.check(format.getMaximumIntegerDigits(), 1); harness.check(format.getMinimumIntegerDigits(), 1); harness.check(format.getMaximumFractionDigits(), 3); harness.check(format.getMinimumFractionDigits(), 0); harness.checkPoint(".00"); format = new DecimalFormat(".00"); harness.check(format.getMaximumIntegerDigits(), MAX); harness.check(format.getMinimumIntegerDigits(), 0); harness.check(format.getMaximumFractionDigits(), 2); harness.check(format.getMinimumFractionDigits(), 2); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/setDecimalSeparatorAlwaysShown.java0000644000175000001440000000305210215122637027633 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DecimalFormat; /** * Some checks for the setDecimalSeparatorAlwaysShown() method in the * {@link DecimalFormat} class. */ public class setDecimalSeparatorAlwaysShown implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DecimalFormat f1 = new DecimalFormat(); f1.setDecimalSeparatorAlwaysShown(true); harness.check(f1.isDecimalSeparatorAlwaysShown()); f1.setDecimalSeparatorAlwaysShown(false); harness.check(!f1.isDecimalSeparatorAlwaysShown()); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/formatExp.java0000644000175000001440000000604310531310127023442 0ustar dokousers// Test exponential forms of DecimalFormat.format. // Copyright (c) 1999, 2003 Cygnus Solutions // Written by Tom Tromey // Copyright (c) 2003 Free Software Foundation, Inc. // Written by Mark Wielaard // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.DecimalFormat; import java.util.Locale; // Some 1.1 versions allowed 'E', but only 1.2 defines it officially. public class formatExp implements Testlet { public void apply (TestHarness harness, DecimalFormat df, String pattern) { harness.checkPoint("pattern " + pattern); boolean ok = true; try { df.applyPattern(pattern); } catch (IllegalArgumentException x) { ok = false; } harness.check (ok); } public void test (TestHarness harness) { // Just to be explicit: we're only testing the US locale here. Locale loc = Locale.US; Locale.setDefault (loc); DecimalFormat df = new DecimalFormat(); apply (harness, df, "0.0000E0"); harness.check (df.format (200000), "2.0000E5"); apply (harness, df, "00.00E00"); harness.check (df.format (200000), "20.00E04"); apply (harness, df, "##0.####E0"); harness.check (df.format (12345), "12.345E3"); apply (harness, df, "##.###E0"); harness.check (df.format (12345), "1.2345E4"); apply (harness, df, "##.###E0"); harness.check (df.format (12346), "1.2346E4"); apply (harness, df, "00.###E0"); harness.check (df.format (12345), "12.345E3"); harness.check (df.format (1234), "12.34E2"); harness.check (df.format (0.00123), "12.3E-4"); apply(harness, df, "0E0"); harness.check(df.format(-1234.567), "-1E3"); apply(harness, df, "00E00"); harness.check(df.format(-1234.567), "-12E02"); apply(harness, df, "000E00"); harness.check(df.format(-1234.567), "-123E01"); apply(harness, df, "0000000000E0"); harness.check(df.format(-1234.567), "-1234567000E-6"); apply(harness, df, "0.0E0"); harness.check(df.format(-1234.567), "-1.2E3"); apply(harness, df, "00.00E0"); harness.check(df.format(-1234.567), "-12.35E2"); harness.check(df.format(-.1234567), "-12.35E-2"); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/getDecimalFormatSymbols.java0000644000175000001440000000324410215122637026263 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DecimalFormat; import java.text.DecimalFormatSymbols; /** * Some checks for the getDecimalFormatSymbols() method in the * {@link DecimalFormat} class. */ public class getDecimalFormatSymbols implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DecimalFormat f1 = new DecimalFormat(); // returned value is a clone, not the original - see bug parade 4685440 DecimalFormatSymbols symbols1 = f1.getDecimalFormatSymbols(); DecimalFormatSymbols symbols2 = f1.getDecimalFormatSymbols(); harness.check(symbols1 != symbols2); harness.check(symbols1.equals(symbols2)); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/setPositiveSuffix.java0000644000175000001440000000275210215122637025211 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DecimalFormat; /** * Some checks for the setPositiveSuffix() method in the {@link DecimalFormat} * class. */ public class setPositiveSuffix implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DecimalFormat f1 = new DecimalFormat(); f1.setPositiveSuffix("ABC"); harness.check(f1.getPositiveSuffix(), "ABC"); f1.setPositiveSuffix(null); harness.check(f1.getPositiveSuffix(), null); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/getGroupingSize.java0000644000175000001440000000261010215122637024624 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DecimalFormat; /** * Some checks for the getGroupingSize() method in the {@link DecimalFormat} * class. */ public class getGroupingSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DecimalFormat f1 = new DecimalFormat(); f1.setGroupingSize(5); harness.check(f1.getGroupingSize(), 5); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/toPattern14.java0000644000175000001440000000764510636016336023646 0ustar dokousers//Tags: JDK1.4 //Copyright (c) 1999 Cygnus Solutions //Written by Tom Tromey //Copyright (C) 2005 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DecimalFormat; import java.text.DecimalFormatSymbols; import java.util.Locale; /** * Some checks for the toPattern() method in the {@link DecimalFormat} class. */ public class toPattern14 implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); test3(harness); } /** * This test was formerly in the file topattern.java. * * @param harness the test harness. */ public void test1(TestHarness harness) { // Just to be explicit: we're only testing the US locale here. Locale loc = Locale.US; Locale.setDefault(loc); // There aren't really many tests we can do, since it doesn't // seem like any canonical output format is documented. DecimalFormat df = new DecimalFormat("0.##"); harness.check(df.toPattern(), "#0.##"); harness.check(df.toLocalizedPattern(), "#0.##"); DecimalFormatSymbols dfs = df.getDecimalFormatSymbols(); dfs.setDecimalSeparator(','); dfs.setZeroDigit('1'); dfs.setDigit('X'); dfs.setGroupingSeparator('!'); df.setDecimalFormatSymbols(dfs); // dfs is only a copy of the internal // symbols so pass symbols back to df harness.check(df.toLocalizedPattern(), "X1,XX"); df.applyPattern("Fr #,##0.##"); String x1 = df.toPattern(); String x2 = df.toLocalizedPattern(); harness.check(x1.length(), x2.length()); boolean ok = x1.length() == x2.length(); for (int i = 0; i < x1.length(); ++i) { char c = x1.charAt(i); if (c == '0') c = '1'; else if (c == '#') c = 'X'; else if (c == '.') c = ','; else if (c == ',') c = '!'; if (c != x2.charAt(i)) { ok = false; harness.debug("failure at char " + i); harness.debug("x1 = " + x1 + "\nx2 = " + x2); break; } } harness.check(ok); } public void test2(TestHarness harness) { DecimalFormat f1 = new DecimalFormat("#0.00;(#0.00)"); harness.check(f1.toPattern(), "#0.00;(#0.00)"); DecimalFormat f2 = new DecimalFormat("'#'1'.' ''nessuno ci capisce niente qui #0.00;(#0.00)"); harness.check(f2.toPattern(), "'#1. '''nessuno ci capisce niente qui #0.00;(#0.00)"); } public void test3(TestHarness harness) { DecimalFormat f1 = new DecimalFormat("0.00"); harness.check(f1.toPattern(), "#0.00"); f1.setMinimumIntegerDigits(0); harness.check(f1.toPattern(), "#.00"); f1.setMaximumIntegerDigits(0); harness.check(f1.toPattern(), "#.00"); DecimalFormat f2 = new DecimalFormat("#0.#E0"); harness.check(f2.toPattern(), "#0.#E0"); DecimalFormat f3 = new DecimalFormat("0.#E0"); harness.check(f3.toPattern(), "0.#E0"); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/setGroupingSize.java0000644000175000001440000000323110215122637024640 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DecimalFormat; /** * Some checks for the setGroupingSize() method in the {@link DecimalFormat} * class. */ public class setGroupingSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DecimalFormat f1 = new DecimalFormat(); f1.setGroupingSize(5); harness.check(f1.getGroupingSize(), 5); f1.setGroupingSize(0); harness.check(f1.getGroupingSize(), 0); f1.setGroupingSize(-1); harness.check(f1.getGroupingSize(), -1); // value is stored as a byte - see 1.5.0 API f1.setGroupingSize(300); harness.check(f1.getGroupingSize(), 44); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/format.java0000644000175000001440000002627510536040330022777 0ustar dokousers// Test simple forms of DecimalFormat.format. // Copyright (c) 1999, 2003 Cygnus Solutions // Written by Tom Tromey // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.math.BigInteger; import java.text.DecimalFormat; import java.util.Locale; public class format implements Testlet { public void test(TestHarness harness) { testGeneral(harness); testRounding(harness); testMiscellaneous(harness); testBigInteger(harness); testNaN(harness); testInfinity(harness); testMaximumDigits(harness); testLocale(harness); } public void apply(TestHarness harness, DecimalFormat df, String pattern) { harness.checkPoint("pattern " + pattern); boolean ok = true; try { df.applyPattern(pattern); } catch (IllegalArgumentException x) { ok = false; } harness.check(ok); } public void testGeneral(TestHarness harness) { // Just to be explicit: we're only testing the US locale here. Locale loc = Locale.US; Locale.setDefault(loc); // Some tests taken from JCL book. DecimalFormat df = new DecimalFormat("0.##;-0.##"); harness.check(df.format(- 1234.56), "-1234.56"); harness.check(df.format(1234.56), "1234.56"); apply(harness, df, "0.#"); harness.check(df.format(- 1234.56), "-1234.6"); harness.check(df.format(1234.56), "1234.6"); apply(harness, df, "#,##0.##;-#"); harness.check(df.format(- 1234.56), "-1,234.56"); harness.check(df.format(1234.56), "1,234.56"); apply(harness, df, "#,##0.###"); harness.check(df.format(Double.valueOf(80).doubleValue()), "80"); apply(harness, df, "00,000.000;-00,000.000"); harness.check(df.format(- 1234.56), "-01,234.560"); harness.check(df.format(1234.56), "01,234.560"); apply(harness, df, "##,###,####."); df.setDecimalSeparatorAlwaysShown(true); harness.check(df.format(- 1234.56), "-1235."); harness.check(df.format(1234.56), "1235."); harness.check(df.format(-1234567.890), "-123,4568."); apply(harness, df, "#,###,###"); harness.check(df.format(-1234567.890), "-1,234,568"); apply(harness, df, "0"); harness.check(df.format(- 1234.56), "-1235"); harness.check(df.format(1234.56), "1235"); harness.check(df.format(Long.MIN_VALUE), "-9223372036854775808"); apply(harness, df, "#"); harness.check(df.format(0), "0"); harness.check(df.format(0.0), "0"); apply(harness, df, "###0.#;(###0.#)"); harness.check(df.format(- 1234.56), "(1234.6)"); harness.check(df.format(1234.56), "1234.6"); apply(harness, df, "###0.#;###0.#-"); harness.check(df.format(- 1234.56), "1234.6-"); harness.check(df.format(1234.56), "1234.6"); apply(harness, df, "#,##0%;-#,##0%"); harness.check(df.format(- 1234.56), "-123,456%"); harness.check(df.format(1234.56), "123,456%"); apply(harness, df, "#.#"); harness.check(df.format(0.2), "0.2"); apply(harness, df, "'#'#.#"); harness.check(df.format(30), "#30"); apply(harness, df, "000000"); harness.check(df.format(-1234.567), "-001235"); apply(harness, df, "##"); harness.check(df.format(-1234.567), "-1235"); harness.check(df.format(0), "0"); apply(harness, df, "##00"); harness.check(df.format(0), "00"); apply(harness, df, ".00"); harness.check(df.format(-.567), "-.57"); apply(harness, df, "0.00"); harness.check(df.format(-.567), "-0.57"); apply(harness, df, ".######"); harness.check(df.format(-1234.567), "-1234.567"); apply(harness, df, "#.000000"); harness.check(df.format(-1234.567), "-1234.567000"); apply(harness, df, "'#'#"); harness.check(df.format(-1234.567), "-#1235"); apply(harness, df, "'abc'#"); harness.check(df.format(-1234.567), "-abc1235"); apply(harness, df, "'positive'#;'negative' -"); harness.check(df.format(-1234.567), "negative -1235"); harness.check(df.format(1234.567), "positive1235"); apply(harness, df, "#,##0%"); harness.check(df.format(10000000.1234d), "1,000,000,012%"); apply(harness, df, "\u00A4#,##0.00;(\u00A4#,##0.00)"); harness.check(df.format(10000), "$10,000.00"); apply(harness, df, "$#,##0.00;($#,##0.00)"); harness.check(df.format(10000), "$10,000.00"); // grouping size of zero might cause a failure - see bug parade 4088503 harness.checkPoint("regression tests for setGroupingSize"); df = new DecimalFormat(); df.setGroupingSize(0); harness.check(df.format(100000), "100000"); harness.check(df.isGroupingUsed()); harness.check(df.getGroupingSize(), 0); // FIXME: we don't actually know the right result here, because // neither the JCL book nor the JDK 1.2 docs explain what should // happen. The below represents how I think things ought to // work. However, Sun has a different (and more confusing) // idea. E.g., JDK1.1 prints "200000.0000E" in the first case. // apply (harness, df, "0.0000E#"); // harness.check (df.format (200000), "2.0000E+5"); // apply (harness, df, "00.00E00"); // harness.check (df.format (200000), "20.00E+04"); } /** * Checks that rounding behaviour follows "half-even" rounding. For example, * see bug parade 4763975. * * @param harness the harness. */ private void testRounding(TestHarness harness) { harness.checkPoint("DecimalFormat rounding"); Locale original = Locale.getDefault(); Locale.setDefault(Locale.UK); DecimalFormat f = new DecimalFormat("0.00"); harness.check(f.format(1.225), "1.22"); harness.check(f.format(1.235), "1.24"); Locale.setDefault(original); } private void testMiscellaneous(TestHarness harness) { harness.checkPoint("DecimalFormat: misc"); Locale original = Locale.getDefault(); Locale.setDefault(Locale.UK); DecimalFormat f = new DecimalFormat("0"); // try formatting a null object boolean pass = false; try { f.format(null); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try formatting an object that is not a Number pass = false; try { f.format("XYZ"); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // some implementations can't handle custom subclasses of Number pass = true; try { f.format(new Number() { public float floatValue() { return 0.0f; } public double doubleValue() { return 0.0f; } public long longValue() { return 0l; } public int intValue() { return 0; } }); } catch (Exception e) { pass = false; } harness.check(pass); Locale.setDefault(original); } /** * See PR 28462. */ private void testBigInteger(TestHarness harness) { Locale orig = Locale.getDefault(); Locale.setDefault(Locale.US); harness.checkPoint("BigInteger format"); String expect = "123,456,789,012,345,678,901,234,567,890"; BigInteger bi = new BigInteger("123456789012345678901234567890", 10); DecimalFormat df = new DecimalFormat(); harness.check(df.format(bi), expect); Locale.setDefault(orig); } /** * @param harness */ private void testInfinity(TestHarness harness) { Locale orig = Locale.getDefault(); Locale.setDefault(Locale.US); harness.checkPoint("testInfinity"); String expectPositive = "\u221E"; String expectNegative = "-\u221E"; double positiveInf = Double.longBitsToDouble(0x7ff0000000000000L); double negativeInf = Double.longBitsToDouble(0xfff0000000000000L); DecimalFormat df = new DecimalFormat(); harness.check(df.format(positiveInf), expectPositive, "positive inf."); harness.check(df.format(negativeInf), expectNegative, "negative inf."); Locale.setDefault(orig); } /** * @param harness */ private void testNaN(TestHarness harness) { Locale orig = Locale.getDefault(); Locale.setDefault(Locale.US); harness.checkPoint("testNaN"); String expect = "\uFFFD"; double nan = Double.longBitsToDouble(0x7ff8000000000000L); DecimalFormat df = new DecimalFormat(); // NaN does not have prefixes and suffixes harness.check(df.format(nan), expect); harness.check(df.format(-nan), expect, "NaN with a negative sign as pefix"); Locale.setDefault(orig); } private void testMaximumDigits(TestHarness harness) { Locale orig = Locale.getDefault(); Locale.setDefault(Locale.US); harness.checkPoint("testMaxAndMinDigits"); double number = 123456789.987654321; DecimalFormat df = new DecimalFormat(); df.setGroupingUsed(false); df.setGroupingSize(3); df.setMaximumIntegerDigits(2); df.setMaximumFractionDigits(4); // NaN does not have prefixes and suffixes harness.check(df.format(number), "89.9877"); df.setMaximumIntegerDigits(5); df.setMaximumFractionDigits(0); harness.check(df.format(number), "56790"); df.setMaximumIntegerDigits(0); df.setMaximumFractionDigits(5); harness.check(df.format(number), ".98765"); df.setMaximumIntegerDigits(-1); df.setMaximumFractionDigits(-1); harness.check(df.format(number), "0"); df.setMaximumIntegerDigits(390); df.setMaximumFractionDigits(340); harness.check(df.format(number), "123456789.98765433"); Locale.setDefault(orig); } private void testLocale(TestHarness harness) { // just two tests, other are in gnu.testlet.locales.LocaleTest harness.checkPoint("locale: GERMANY"); // by default, calls DecimalFormat java.text.NumberFormat nf = java.text.NumberFormat.getCurrencyInstance(Locale.GERMANY); harness.check(nf.format(5000.25), "5.000,25 €"); harness.checkPoint("locale: ITALY"); nf = java.text.NumberFormat.getCurrencyInstance(Locale.ITALY); harness.check(nf.format(5000.25), "€ 5.000,25"); java.text.DecimalFormatSymbols symbols = ((DecimalFormat)nf).getDecimalFormatSymbols(); harness.check(',', symbols.getDecimalSeparator()); harness.check(',', symbols.getMonetaryDecimalSeparator()); harness.check('.', symbols.getGroupingSeparator()); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/isDecimalSeparatorAlwaysShown.java0000644000175000001440000000305010215122637027451 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DecimalFormat; /** * Some checks for the isDecimalSeparatorAlwaysShown() method in the * {@link DecimalFormat} class. */ public class isDecimalSeparatorAlwaysShown implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DecimalFormat f1 = new DecimalFormat(); f1.setDecimalSeparatorAlwaysShown(true); harness.check(f1.isDecimalSeparatorAlwaysShown()); f1.setDecimalSeparatorAlwaysShown(false); harness.check(!f1.isDecimalSeparatorAlwaysShown()); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/setMultiplier.java0000644000175000001440000000261410215122637024345 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DecimalFormat; /** * Some checks for the setMultiplier() method in the {@link DecimalFormat} * class. */ public class setMultiplier implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DecimalFormat f1 = new DecimalFormat(); f1.setMultiplier(5); harness.check(f1.getMultiplier(), 5); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/hashCode.java0000644000175000001440000000273210234262562023225 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DecimalFormat; /** * Some checks for the hashCode() method in the DecimalFormat class. */ public class hashCode implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not allowed). */ public void test(TestHarness harness) { DecimalFormat f1 = new DecimalFormat("0.00"); DecimalFormat f2 = new DecimalFormat("0.00"); harness.check(f1.equals(f2)); // check 1 harness.check(f1.hashCode(), f2.hashCode()); // check 2 } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/getPositiveSuffix.java0000644000175000001440000000263010215122637025170 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DecimalFormat; /** * Some checks for the getPositiveSuffix() method in the {@link DecimalFormat} * class. */ public class getPositiveSuffix implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DecimalFormat f1 = new DecimalFormat(); f1.setPositiveSuffix("XYZ"); harness.check(f1.getPositiveSuffix(), "XYZ"); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/setNegativePrefix.java0000644000175000001440000000275210215122637025142 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DecimalFormat; /** * Some checks for the setNegativePrefix() method in the {@link DecimalFormat} * class. */ public class setNegativePrefix implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DecimalFormat f1 = new DecimalFormat(); f1.setNegativePrefix("ABC"); harness.check(f1.getNegativePrefix(), "ABC"); f1.setNegativePrefix(null); harness.check(f1.getNegativePrefix(), null); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/digits.java0000644000175000001440000000463610636016336023001 0ustar dokousers// Test simple forms of DecimalFormat.format. // Copyright (c) 2003 Free Software Foundation, Inc. // Written by Mark Wielaard // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.DecimalFormat; public class digits implements Testlet { public void test (TestHarness harness) { DecimalFormat df = new DecimalFormat (); df.setMaximumFractionDigits(1); harness.check(df.getMaximumFractionDigits(), 1); df.setMaximumFractionDigits(350); harness.check(df.getMaximumFractionDigits(), 350); df.setMinimumFractionDigits(1); harness.check(df.getMinimumFractionDigits(), 1); df.setMinimumFractionDigits(350); harness.check(df.getMinimumFractionDigits(), 350); df.setMinimumFractionDigits(16); df.setMaximumFractionDigits(12); harness.check(df.getMinimumFractionDigits(), 12); df.setMaximumFractionDigits(12); df.setMinimumFractionDigits(16); harness.check(df.getMinimumFractionDigits(), 16); df.setMaximumIntegerDigits(1); harness.check(df.getMaximumIntegerDigits(), 1); df.setMaximumIntegerDigits(310); harness.check(df.getMaximumIntegerDigits(), 310); df.setMinimumIntegerDigits(1); harness.check(df.getMinimumIntegerDigits(), 1); df.setMinimumIntegerDigits(310); harness.check(df.getMinimumIntegerDigits(), 310); df.setMinimumIntegerDigits(16); df.setMaximumIntegerDigits(12); harness.check(df.getMinimumIntegerDigits(), 12); df.setMaximumIntegerDigits(12); df.setMinimumIntegerDigits(16); harness.check(df.getMinimumIntegerDigits(), 16); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/toPattern.java0000644000175000001440000000653610636016336023477 0ustar dokousers// Tags: JDK1.2 // Copyright (c) 1999 Cygnus Solutions // Written by Tom Tromey // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DecimalFormat; import java.text.DecimalFormatSymbols; import java.util.Locale; /** * Some checks for the toPattern() method in the {@link DecimalFormat} class. */ public class toPattern implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // we have two test methods now, following the merge of // topattern.java into this file test1(harness); test2(harness); } /** * This test was formerly in the file topattern.java. * * @param harness the test harness. */ public void test1(TestHarness harness) { // Just to be explicit: we're only testing the US locale here. Locale loc = Locale.US; Locale.setDefault (loc); // There aren't really many tests we can do, since it doesn't // seem like any canonical output format is documented. DecimalFormat df = new DecimalFormat ("0.##"); harness.check (df.toPattern (), "#0.##"); harness.check (df.toLocalizedPattern (), "#0.##"); DecimalFormatSymbols dfs = df.getDecimalFormatSymbols (); dfs.setDecimalSeparator (','); dfs.setZeroDigit ('1'); dfs.setDigit ('X'); dfs.setGroupingSeparator ('!'); df.setDecimalFormatSymbols(dfs); // dfs is only a copy of the internal // symbols so pass symbols back to df harness.check (df.toLocalizedPattern (), "X1,XX"); df.applyPattern ("Fr #,##0.##"); String x1 = df.toPattern (); String x2 = df.toLocalizedPattern (); harness.check (x1.length (), x2.length ()); boolean ok = x1.length () == x2.length (); for (int i = 0; i < x1.length (); ++i) { char c = x1.charAt(i); if (c == '0') c = '1'; else if (c == '#') c = 'X'; else if (c == '.') c = ','; else if (c == ',') c = '!'; if (c != x2.charAt (i)) { ok = false; harness.debug ("failure at char " + i); harness.debug ("x1 = " + x1 + "\nx2 = " + x2); break; } } harness.check (ok); } public void test2(TestHarness harness) { DecimalFormat f1 = new DecimalFormat("#0.00;(#0.00)"); harness.check(f1.toPattern(), "#0.00;(#0.00)"); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/applyPattern.java0000644000175000001440000000640210531310127024157 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DecimalFormat; import java.util.Locale; /** * Some checks for the applyPattern() method in the {@link DecimalFormat} class. */ public class applyPattern implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Locale orig = Locale.getDefault(); Locale.setDefault(Locale.US); DecimalFormat f1 = new DecimalFormat(); // negativePrefix harness.checkPoint("negativePrefix"); f1.applyPattern("0.00"); harness.check(f1.getNegativePrefix(), "-"); f1.applyPattern("0.00;-0.00"); harness.check(f1.getNegativePrefix(), "-"); // minimumIntegerDigits harness.checkPoint("minimumIntegerDigits"); f1.applyPattern("0.00"); harness.check(f1.getMinimumIntegerDigits(), 1); f1.applyPattern("#0.00"); harness.check(f1.getMinimumIntegerDigits(), 1); f1.applyPattern("00.00"); harness.check(f1.getMinimumIntegerDigits(), 2); // minimumFractionDigits harness.checkPoint("minimumFractionDigits"); f1.applyPattern("0.0"); harness.check(f1.getMinimumFractionDigits(), 1); f1.applyPattern("0.0#"); harness.check(f1.getMinimumFractionDigits(), 1); f1.applyPattern("0.00"); harness.check(f1.getMinimumFractionDigits(), 2); // grouping harness.checkPoint("grouping"); f1.applyPattern("0.00"); harness.check(f1.getGroupingSize(), 0); f1.applyPattern("#0.00"); harness.check(f1.getGroupingSize(), 0); f1.applyPattern(",#0.00"); harness.check(f1.getGroupingSize(), 2); f1.applyPattern("#,##0.00"); harness.check(f1.getGroupingSize(), 3); f1.applyPattern("#,#,##0.00"); harness.checkPoint("null pattern"); f1.applyPattern(""); harness.check(f1.format(123456789.123456789), "123,456,789.12345679"); harness.checkPoint("invalid pattern"); // try null argument boolean pass = false; try { f1.applyPattern(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try illegal pattern pass = false; try { f1.applyPattern(";;"); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); Locale.setDefault(orig); } } mauve-20140821/gnu/testlet/java/text/DecimalFormat/setNegativeSuffix.java0000644000175000001440000000275210215122637025151 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.DecimalFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DecimalFormat; /** * Some checks for the setNegativeSuffix() method in the {@link DecimalFormat} * class. */ public class setNegativeSuffix implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DecimalFormat f1 = new DecimalFormat(); f1.setNegativeSuffix("ABC"); harness.check(f1.getNegativeSuffix(), "ABC"); f1.setNegativeSuffix(null); harness.check(f1.getNegativeSuffix(), null); } } mauve-20140821/gnu/testlet/java/text/Bidi/0000755000175000001440000000000012375316426017007 5ustar dokousersmauve-20140821/gnu/testlet/java/text/Bidi/Basic.java0000644000175000001440000000405010410055423020653 0ustar dokousers/* Basic.java -- Tests of main Bidi functionality Copyright (C) 2006 Red Hat, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.text.Bidi; import java.text.Bidi; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class Basic implements Testlet { public void testOne(TestHarness harness, Bidi bidi, String expected) { StringBuffer buf = new StringBuffer(); for (int i = 0; i < bidi.getLength(); ++i) buf.append(bidi.getLevelAt(i)); harness.check(buf.toString(), expected); } public void test(TestHarness harness) { Bidi b; harness.checkPoint("simple"); b = new Bidi("hi bob", Bidi.DIRECTION_DEFAULT_LEFT_TO_RIGHT); testOne(harness, b, "000000"); harness.check(b.baseIsLeftToRight()); harness.check(b.isLeftToRight()); harness.check(b.getRunCount(), 1); harness.checkPoint("one embedding"); b = new Bidi("hi \u202bbob", Bidi.DIRECTION_DEFAULT_LEFT_TO_RIGHT); testOne(harness, b, "0002222"); harness.checkPoint("override"); b = new Bidi("hi \u202ebob", Bidi.DIRECTION_DEFAULT_LEFT_TO_RIGHT); testOne(harness, b, "0001111"); harness.checkPoint("override and pop"); b = new Bidi("car means \u202eCAR\u202c.", Bidi.DIRECTION_DEFAULT_LEFT_TO_RIGHT); testOne(harness, b, "0000000000111100"); b = new Bidi("car \u202eMEANS CAR\u202c.", Bidi.DIRECTION_RIGHT_TO_LEFT); testOne(harness, b, "2221333333333311"); } } mauve-20140821/gnu/testlet/java/text/Bidi/reorderVisually.java0000644000175000001440000000406510410055423023033 0ustar dokousers/* reorderVisually.java -- test bidi algorithm Copyright (C) 2006 Red Hat, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.text.Bidi; import java.text.Bidi; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class reorderVisually implements Testlet { public void testOne(TestHarness harness, String input, String levels, String expected) { Object[] inputA = new Object[input.length()]; byte[] levelsA = new byte[levels.length()]; for (int i = 0; i < input.length(); ++i) { inputA[i] = input.substring(i, i + 1); levelsA[i] = (byte) (levels.charAt(i) - '0'); } Bidi.reorderVisually(levelsA, 0, inputA, 0, inputA.length); StringBuffer result = new StringBuffer(); for (int i = 0; i < inputA.length; ++i) result.append(inputA[i]); harness.check(result.toString(), expected); } public void test(TestHarness harness) { // These tests come from unicode.org: // http://www.unicode.org/reports/tr9/ testOne(harness, "car means CAR.", "00000000001110", "car means RAC."); testOne(harness, "car MEANS CAR.", "22211111111111", ".RAC SNAEM car"); testOne(harness, "he said \"car MEANS CAR.\"", "000000000222111111111100", "he said \"RAC SNAEM car.\""); testOne(harness, "DID YOU SAY 'he said \"car MEANS CAR\"'?", "11111111111112222222224443333333333211", "?'he said \"RAC SNAEM car\"' YAS UOY DID"); } } mauve-20140821/gnu/testlet/java/text/Collator/0000755000175000001440000000000012375316426017717 5ustar dokousersmauve-20140821/gnu/testlet/java/text/Collator/GetSet.java0000644000175000001440000000446310636016336021757 0ustar dokousers/************************************************************************* /* GetSet.java -- Test get/set methods in java.text.Collator /* /* Copyright (c) 1999 Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.text.Collator; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.Collator; import java.util.Locale; public class GetSet implements Testlet { public void test(TestHarness harness) { Collator col = Collator.getInstance(Locale.US); harness.check(col.getStrength(), Collator.TERTIARY, "default strength"); harness.check(col.getDecomposition(), Collator.NO_DECOMPOSITION, "default decomposition"); col.setStrength(Collator.PRIMARY); harness.check(col.getStrength(), Collator.PRIMARY, "set/get strength"); col.setDecomposition(Collator.NO_DECOMPOSITION); harness.check(col.getDecomposition(), Collator.NO_DECOMPOSITION, "set/get decomposition"); try { col.setStrength(999); harness.check(false, "invalid strength value"); } catch (Exception e) { harness.check(true, "invalid strength value"); } try { col.setDecomposition(999); harness.check(false, "invalid decomposition value"); } catch (Exception e) { harness.check(true, "invalid decomposition value"); } Collator col2 = (Collator)col.clone(); col2.setStrength(Collator.SECONDARY); harness.check(!col.equals(col2), "equals false"); harness.check(col.equals(col), "equals true"); } } // class GetSet mauve-20140821/gnu/testlet/java/text/Collator/Constants.java0000644000175000001440000000323606730061621022532 0ustar dokousers/************************************************************************* /* Constants.java -- Test class constants in java.text.Collator /* /* Copyright (c) 1999 Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.text.Collator; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.Collator; public class Constants implements Testlet { public void test(TestHarness harness) { harness.check(Collator.PRIMARY, 0, "PRIMARY"); harness.check(Collator.SECONDARY, 1, "SECONDARY"); harness.check(Collator.TERTIARY, 2, "TERTIARY"); harness.check(Collator.IDENTICAL, 3, "IDENTICAL"); harness.check(Collator.NO_DECOMPOSITION, 0, "NO_DECOMPOSITION"); harness.check(Collator.CANONICAL_DECOMPOSITION, 1, "CANONICAL_DECOMPOSITION"); harness.check(Collator.FULL_DECOMPOSITION, 2, "FULL_DECOMPOSITION"); } } // class Constants mauve-20140821/gnu/testlet/java/text/FieldPosition/0000755000175000001440000000000012375316426020710 5ustar dokousersmauve-20140821/gnu/testlet/java/text/FieldPosition/Test.java0000644000175000001440000000453306646343555022506 0ustar dokousers/************************************************************************* /* Test.java -- Test java.text.FieldPosition /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.2 // FIXME: there should be a 1.1 version of this test. package gnu.testlet.java.text.FieldPosition; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.*; public class Test implements Testlet { public void test(TestHarness harness) { FieldPosition fp = new FieldPosition(21); harness.check(fp.getField(), 21, "getField()"); harness.check(fp.getBeginIndex(), 0, "getBeginIndex on create"); harness.check(fp.getEndIndex(), 0, "getEndIndex on create"); fp.setBeginIndex(1999); harness.check(fp.getBeginIndex(), 1999, "set/getBeginIndex"); fp.setEndIndex(2001); harness.check(fp.getEndIndex(), 2001, "set/getEndIndex"); FieldPosition fp2 = new FieldPosition(21); fp2.setBeginIndex(1999); fp2.setEndIndex(2001); harness.check(fp.equals(fp2) == true, "equals (true)"); FieldPosition fp3 = new FieldPosition(1984); fp3.setBeginIndex(1999); fp3.setEndIndex(2001); harness.check(fp.equals(fp3) == false, "equals (false (pos diff))"); fp3 = new FieldPosition(21); fp3.setBeginIndex(3000); fp3.setEndIndex(2001); harness.check(fp.equals(fp3) == false, "equals (false (beg diff))"); fp3 = new FieldPosition(21); fp3.setBeginIndex(1999); fp3.setEndIndex(1984); harness.check(fp.equals(fp3) == false, "equals (false (end diff))"); harness.debug(fp.toString()); } } // class Test mauve-20140821/gnu/testlet/java/text/ParsePosition/0000755000175000001440000000000012375316426020737 5ustar dokousersmauve-20140821/gnu/testlet/java/text/ParsePosition/Test.java0000644000175000001440000000334110057633063022514 0ustar dokousers/************************************************************************* /* Test.java -- Test java.text.ParsePosition /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.2 // FIXME: This test should be split into two. // getErrorIndex is a JDK1.2 method. The rest were present in 1.1. package gnu.testlet.java.text.ParsePosition; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.*; public class Test implements Testlet { public void test(TestHarness harness) { ParsePosition pp = new ParsePosition(69); harness.check(pp.getIndex(), 69, "getIndex() post-create"); pp.setIndex(666); harness.check(pp.getIndex(), 666, "set/getIndex()"); harness.check(pp.getErrorIndex(), -1, "getErrorIndex() no error"); pp.setErrorIndex(65536); harness.check(pp.getErrorIndex(), 65536, "set/getErrorIndex()"); harness.debug(pp.toString()); } } // class Test mauve-20140821/gnu/testlet/java/text/CharacterIterator/0000755000175000001440000000000012375316426021546 5ustar dokousersmauve-20140821/gnu/testlet/java/text/CharacterIterator/implement.java0000644000175000001440000000340706665610155024410 0ustar dokousers/************************************************************************* /* implement.java -- Test interface java.text.CharacterIterator /* /* Copyright (c) 1999 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.text.CharacterIterator; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.*; public class implement implements CharacterIterator, Testlet { public void test(TestHarness harness) { harness.check(true, "Correctly implemented CharacterIterator"); } public Object clone() { return(null); } public char current() { return('0'); } public char first() { return('0'); } public int getBeginIndex() { return(0); } public int getEndIndex() { return(0); } public int getIndex() { return(0); } public char last() { return('0'); } public char next() { return('0'); } public char previous() { return('0'); } public char setIndex(int pos) { return('0'); } } // class implement mauve-20140821/gnu/testlet/java/text/AttributedCharacterIterator/0000755000175000001440000000000012375316426023576 5ustar dokousersmauve-20140821/gnu/testlet/java/text/AttributedCharacterIterator/getRunStart.java0000644000175000001440000000557010327121773026724 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.java.text.AttributedCharacterIterator; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.font.TextAttribute; import java.text.AttributedCharacterIterator; import java.text.AttributedString; import java.util.Set; /** * Some checks for the getRunStart() methods in the * {@link AttributedCharacterIterator} interface. */ public class getRunStart implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not allowed). */ public void test(TestHarness harness) { test1(harness); test2(harness); test3(harness); } private void test1(TestHarness harness) { harness.checkPoint("getRunStart();"); AttributedString as = new AttributedString("ABCDEFG"); as.addAttribute(TextAttribute.LANGUAGE, "English"); as.addAttribute(TextAttribute.FOREGROUND, Color.red, 2, 4); AttributedCharacterIterator aci = as.getIterator(); harness.check(aci.getRunStart(), 0); aci.setIndex(3); harness.check(aci.getRunStart(), 2); } private void test2(TestHarness harness) { harness.checkPoint("getRunStart(AttributedCharacterIterator.Attribute);"); AttributedString as = new AttributedString("ABCDEFG"); as.addAttribute(TextAttribute.LANGUAGE, "English"); as.addAttribute(TextAttribute.FOREGROUND, Color.red, 2, 4); AttributedCharacterIterator aci = as.getIterator(); harness.check(aci.getRunStart(TextAttribute.LANGUAGE), 0); aci.setIndex(3); harness.check(aci.getRunStart(TextAttribute.FOREGROUND), 2); } private void test3(TestHarness harness) { harness.checkPoint("getRunStart(Set);"); AttributedString as = new AttributedString("ABCDEFG"); as.addAttribute(TextAttribute.LANGUAGE, "English"); AttributedCharacterIterator aci = as.getIterator(); // try null set harness.check(aci.getRunStart((Set) null), 0); AttributedCharacterIterator aci2 = as.getIterator(null, 4, 7); harness.check(aci2.getRunStart((Set) null), 4); } } mauve-20140821/gnu/testlet/java/text/AttributedCharacterIterator/Attribute/0000755000175000001440000000000012375316426025541 5ustar dokousersmauve-20140821/gnu/testlet/java/text/AttributedCharacterIterator/Attribute/toString.java0000644000175000001440000000305410501267735030214 0ustar dokousers/* toString.java -- some checks for the toString() method. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.java.text.AttributedCharacterIterator.Attribute; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.AttributedCharacterIterator; public class toString implements Testlet { public void test(TestHarness harness) { harness.check(AttributedCharacterIterator.Attribute.INPUT_METHOD_SEGMENT.toString(), "java.text.AttributedCharacterIterator$Attribute(input_method_segment)"); harness.check(AttributedCharacterIterator.Attribute.LANGUAGE.toString(), "java.text.AttributedCharacterIterator$Attribute(language)"); harness.check(AttributedCharacterIterator.Attribute.READING.toString(), "java.text.AttributedCharacterIterator$Attribute(reading)"); } } mauve-20140821/gnu/testlet/java/text/AttributedCharacterIterator/implement.java0000644000175000001440000000402207456634351026435 0ustar dokousers/************************************************************************* /* implement.java -- Test interface java.text.AttributedCharacterIterator /* /* Copyright (c) 1999 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.2 // Uses: CharItImpl package gnu.testlet.java.text.AttributedCharacterIterator; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.*; import java.util.Set; import java.util.Map; public class implement extends CharItImpl implements AttributedCharacterIterator, Testlet { public void test(TestHarness harness) { harness.check(true, "Correctly implemented AttributedCharacterIterator"); } public int getRunStart() { return(0); } public int getRunStart(AttributedCharacterIterator.Attribute attr) { return(0); } public int getRunStart(Set attrs) { return(0); } public int getRunLimit() { return(0); } public int getRunLimit(AttributedCharacterIterator.Attribute attr) { return(0); } public int getRunLimit(Set attrs) { return(0); } public Map getAttributes() { return(null); } public Set getAllAttributeKeys() { return(null); } public Object getAttribute(AttributedCharacterIterator.Attribute attr) { return(null); } } // class implement mauve-20140821/gnu/testlet/java/text/AttributedCharacterIterator/CharItImpl.java0000644000175000001440000000325207456634351026443 0ustar dokousers/************************************************************************* /* implement.java -- Test interface java.text.CharacterIterator /* /* Copyright (c) 1999 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: not-a-test package gnu.testlet.java.text.AttributedCharacterIterator; import java.text.*; // Package local copy for use by AttributedCharacterIterator class CharItImpl implements CharacterIterator { public Object clone() { return(null); } public char current() { return('0'); } public char first() { return('0'); } public int getBeginIndex() { return(0); } public int getEndIndex() { return(0); } public int getIndex() { return(0); } public char last() { return('0'); } public char next() { return('0'); } public char previous() { return('0'); } public char setIndex(int pos) { return('0'); } } // class CharacterIteratorImplement mauve-20140821/gnu/testlet/java/text/AttributedCharacterIterator/getAttribute.java0000644000175000001440000000354210327121773027102 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.java.text.AttributedCharacterIterator; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.font.TextAttribute; import java.text.AttributedCharacterIterator; import java.text.AttributedString; /** * Some checks for the getAttribute() methods in the * {@link AttributedCharacterIterator} interface. */ public class getAttribute implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not allowed). */ public void test(TestHarness harness) { harness.checkPoint("getAttribute(AttributedCharacterIterator.Attribute);"); AttributedString as = new AttributedString("ABCDEFG"); as.addAttribute(TextAttribute.LANGUAGE, "English"); AttributedCharacterIterator aci = as.getIterator(); harness.check(aci.getAttribute(TextAttribute.LANGUAGE), "English"); harness.check(aci.getAttribute(TextAttribute.FONT), null); // try null attribute harness.check(aci.getAttribute(null), null); } } mauve-20140821/gnu/testlet/java/text/AttributedCharacterIterator/getRunLimit.java0000644000175000001440000001351210501267735026703 0ustar dokousers/* getRunLimit.java -- some checks for the getRunLimit() methods in the AttributedCharacterIterator interface. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.text.AttributedCharacterIterator; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.font.TextAttribute; import java.text.AttributedCharacterIterator; import java.text.AttributedString; import java.util.HashSet; import java.util.Set; public class getRunLimit implements Testlet { public void test(TestHarness harness) { test1(harness); test2(harness); test3(harness); } public void test1(TestHarness harness) { harness.checkPoint("()"); AttributedString as = new AttributedString("ABCDEFGHIJ"); as.addAttribute(TextAttribute.LANGUAGE, "English"); as.addAttribute(TextAttribute.FOREGROUND, Color.red, 2, 4); as.addAttribute(TextAttribute.BACKGROUND, Color.blue, 7, 8); AttributedCharacterIterator aci = as.getIterator(); harness.check(aci.getRunLimit(), 2); aci.setIndex(2); harness.check(aci.getRunLimit(), 4); aci.setIndex(5); harness.check(aci.getRunLimit(), 7); aci.setIndex(7); harness.check(aci.getRunLimit(), 8); aci.setIndex(8); harness.check(aci.getRunLimit(), 10); // try an empty string as = new AttributedString(""); aci = as.getIterator(); harness.check(aci.getRunLimit(), 0); // try a string with no attributes as = new AttributedString("ABC"); aci = as.getIterator(); harness.check(aci.getRunLimit(), 3); } public void test2(TestHarness harness) { harness.checkPoint("(AttributedCharacterIterator.Attribute)"); AttributedString as = new AttributedString("ABCDEFGHIJ"); as.addAttribute(TextAttribute.LANGUAGE, "English"); as.addAttribute(TextAttribute.FOREGROUND, Color.red, 2, 4); AttributedCharacterIterator aci = as.getIterator(); harness.check(aci.getRunLimit(TextAttribute.LANGUAGE), 10); harness.check(aci.getRunLimit(TextAttribute.FOREGROUND), 2); harness.check(aci.getRunLimit(TextAttribute.BACKGROUND), 10); aci.setIndex(2); harness.check(aci.getRunLimit(TextAttribute.LANGUAGE), 10); harness.check(aci.getRunLimit(TextAttribute.FOREGROUND), 4); harness.check(aci.getRunLimit(TextAttribute.BACKGROUND), 10); aci.setIndex(4); harness.check(aci.getRunLimit(TextAttribute.LANGUAGE), 10); harness.check(aci.getRunLimit(TextAttribute.FOREGROUND), 10); harness.check(aci.getRunLimit(TextAttribute.BACKGROUND), 10); // try an empty string as = new AttributedString(""); aci = as.getIterator(); harness.check(aci.getRunLimit(TextAttribute.FOREGROUND), 0); // try a string with no attributes as = new AttributedString("ABC"); aci = as.getIterator(); harness.check(aci.getRunLimit(TextAttribute.FOREGROUND), 3); } public void test3(TestHarness harness) { harness.checkPoint("(Set)"); AttributedString as = new AttributedString("ABCDEFGHIJ"); as.addAttribute(TextAttribute.LANGUAGE, "English"); as.addAttribute(TextAttribute.FOREGROUND, Color.red, 2, 4); as.addAttribute(TextAttribute.BACKGROUND, Color.yellow, 3, 5); AttributedCharacterIterator aci = as.getIterator(); Set set0 = new HashSet(); Set set1 = new HashSet(); set1.add(TextAttribute.LANGUAGE); Set set2 = new HashSet(); set2.add(TextAttribute.FOREGROUND); set2.add(TextAttribute.BACKGROUND); Set set3 = new HashSet(); set3.add(TextAttribute.LANGUAGE); set3.add(TextAttribute.FOREGROUND); set3.add(TextAttribute.BACKGROUND); harness.check(aci.getRunLimit(set0), 10); harness.check(aci.getRunLimit(set1), 10); harness.check(aci.getRunLimit(set2), 2); harness.check(aci.getRunLimit(set3), 2); aci.setIndex(2); harness.check(aci.getRunLimit(set0), 10); harness.check(aci.getRunLimit(set1), 10); harness.check(aci.getRunLimit(set2), 3); harness.check(aci.getRunLimit(set3), 3); aci.setIndex(3); harness.check(aci.getRunLimit(set0), 10); harness.check(aci.getRunLimit(set1), 10); harness.check(aci.getRunLimit(set2), 4); harness.check(aci.getRunLimit(set3), 4); aci.setIndex(4); harness.check(aci.getRunLimit(set0), 10); harness.check(aci.getRunLimit(set1), 10); harness.check(aci.getRunLimit(set2), 5); harness.check(aci.getRunLimit(set3), 5); aci.setIndex(5); harness.check(aci.getRunLimit(set0), 10); harness.check(aci.getRunLimit(set1), 10); harness.check(aci.getRunLimit(set2), 10); harness.check(aci.getRunLimit(set3), 10); // try an empty string as = new AttributedString(""); aci = as.getIterator(); harness.check(aci.getRunLimit(set0), 0); harness.check(aci.getRunLimit(set1), 0); harness.check(aci.getRunLimit(set2), 0); harness.check(aci.getRunLimit(set3), 0); // try a string with no attributes as = new AttributedString("ABC"); aci = as.getIterator(); harness.check(aci.getRunLimit(set0), 3); harness.check(aci.getRunLimit(set1), 3); harness.check(aci.getRunLimit(set2), 3); harness.check(aci.getRunLimit(set3), 3); } } mauve-20140821/gnu/testlet/java/text/AttributedString/0000755000175000001440000000000012375316426021436 5ustar dokousersmauve-20140821/gnu/testlet/java/text/AttributedString/constructors.java0000644000175000001440000001747610501243603025051 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.java.text.AttributedString; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.font.TextAttribute; import java.text.AttributedCharacterIterator; import java.text.AttributedString; import java.util.HashMap; /** * Some checks for the constructors in the {@link AttributedString} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not allowed). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); } private void testConstructor1(TestHarness harness) { harness.checkPoint("AttributedString(AttributedCharacterIterator);"); // it isn't specified, but we assume a NullPointerException if the iterator // is null boolean pass = false; try { /* AttributedString as = */ new AttributedString((AttributedCharacterIterator) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } private void testConstructor2(TestHarness harness) { harness.checkPoint("AttributedString(AttributedCharacterIterator, int, int);"); AttributedString source = new AttributedString("ABCDEFGHIJ"); AttributedCharacterIterator sourceACI = source.getIterator(); // should get an IllegalArgumentException if the start index is outside the // valid range boolean pass = false; try { /*AttributedString as =*/ new AttributedString(sourceACI, -1, 2); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // should get an IllegalArgumentException if the end index is outside the // valid range pass = false; try { /*AttributedString as =*/ new AttributedString(sourceACI, 2, 12); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // it isn't specified, but we assume a NullPointerException if the iterator // is null pass = false; try { /* AttributedString as = */ new AttributedString((AttributedCharacterIterator) null, 1, 5); } catch (NullPointerException e) { pass = true; } harness.check(pass); } private void testConstructor3(TestHarness harness) { harness.checkPoint("AttributedString(AttributedCharacterIterator, int, int," + "AttributedCharacterIterator.Attribute[]);"); AttributedString as0 = new AttributedString("ABCDEFGHIJ"); as0.addAttribute(TextAttribute.LANGUAGE, "English"); as0.addAttribute(TextAttribute.FOREGROUND, Color.red, 2, 4); as0.addAttribute(TextAttribute.BACKGROUND, Color.yellow, 3, 5); // try extracting no attributes... AttributedString as = new AttributedString(as0.getIterator(), 1, 8, new AttributedCharacterIterator.Attribute[] {}); AttributedCharacterIterator aci = as.getIterator(); harness.check(aci.getRunLimit(TextAttribute.LANGUAGE), 7); harness.check(aci.getRunLimit(TextAttribute.FOREGROUND), 7); harness.check(aci.getRunLimit(TextAttribute.BACKGROUND), 7); // try extracting just one attribute... as = new AttributedString(as0.getIterator(), 1, 8, new AttributedCharacterIterator.Attribute[] {TextAttribute.FOREGROUND}); aci = as.getIterator(); harness.check(aci.getRunLimit(TextAttribute.LANGUAGE), 7); harness.check(aci.getRunLimit(TextAttribute.FOREGROUND), 1); aci.setIndex(1); harness.check(aci.getRunLimit(TextAttribute.LANGUAGE), 7); harness.check(aci.getRunLimit(TextAttribute.FOREGROUND), 3); aci.setIndex(3); harness.check(aci.getRunLimit(TextAttribute.LANGUAGE), 7); harness.check(aci.getRunLimit(TextAttribute.FOREGROUND), 7); // null iterator should throw NullPointerException boolean pass = false; try { /*AttributedString as =*/ new AttributedString(null, 0, 3, new AttributedCharacterIterator.Attribute[] {TextAttribute.FONT}); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try start > string length AttributedString as1 = new AttributedString("ABC"); pass = false; try { /*AttributedString as =*/ new AttributedString(as1.getIterator(), 3, 4, new AttributedCharacterIterator.Attribute[] {TextAttribute.FONT}); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try end > string length pass = false; try { /*AttributedString as =*/ new AttributedString(as1.getIterator(), 1, 4, new AttributedCharacterIterator.Attribute[] {TextAttribute.FONT}); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try start > end pass = false; try { /*AttributedString as =*/ new AttributedString(as1.getIterator(), 1, 0, new AttributedCharacterIterator.Attribute[] {TextAttribute.FONT}); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } private void testConstructor4(TestHarness harness) { harness.checkPoint("AttributedString(String);"); // try null argument - the API spec doesn't say what happens. boolean pass = false; try { /* AttributedString as = */ new AttributedString((String) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } private void testConstructor5(TestHarness harness) { harness.checkPoint("AttributedString(String, map);"); HashMap map = new HashMap(); map.put(AttributedCharacterIterator.Attribute.LANGUAGE, "English"); AttributedString as = new AttributedString("ABC", map); AttributedCharacterIterator aci = as.getIterator(); harness.check(aci.first() == 'A'); harness.check(aci.getAttribute(AttributedCharacterIterator.Attribute.LANGUAGE).equals("English")); harness.check(aci.getRunLimit() == 3); harness.check(aci.getRunStart() == 0); // test null string - not specified, assuming NullPointerException boolean pass = false; try { /* AttributedString as = */ new AttributedString(null, new HashMap()); } catch (NullPointerException e) { pass = true; } harness.check(pass); // test null map - not specified, assuming NullPointerException. pass = false; try { /* AttributedString as = */ new AttributedString("ABC", null); } catch (NullPointerException e) { pass = true; } harness.check(true); // test empty string with non-empty map pass = false; try { /* AttributedString as = */ new AttributedString("", map); } catch (IllegalArgumentException e) { pass = true; } } } mauve-20140821/gnu/testlet/java/text/AttributedString/addAttribute.java0000644000175000001440000001105310327121773024707 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.java.text.AttributedString; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.AttributedCharacterIterator; import java.text.AttributedString; import java.util.Locale; import java.util.Map; /** * Some checks for the addAttribute() methods in the {@link AttributedString} * class. */ public class addAttribute implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not allowed). */ public void test(TestHarness harness) { test1(harness); test2(harness); } private void test1(TestHarness harness) { harness.checkPoint("addAttribute(AttributedCharacterIterator.Attribute, Object);"); AttributedString as = new AttributedString("ABCDEFG"); as.addAttribute(AttributedCharacterIterator.Attribute.LANGUAGE, Locale.ENGLISH); AttributedCharacterIterator aci = as.getIterator(); harness.check(aci.getRunStart(AttributedCharacterIterator.Attribute.LANGUAGE) == 0); harness.check(aci.getRunLimit(AttributedCharacterIterator.Attribute.LANGUAGE) == 7); // test adding an attribute to a zero length string boolean pass = false; as = new AttributedString(""); try { as.addAttribute(AttributedCharacterIterator.Attribute.LANGUAGE, "Unknown"); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // test adding an attribute with a null value (permitted) pass = true; as = new AttributedString("123"); try { as.addAttribute(AttributedCharacterIterator.Attribute.LANGUAGE, null); } catch (Exception e) { pass = false; } harness.check(pass); aci = as.getIterator(); Map attributes = aci.getAttributes(); harness.check(attributes.get(AttributedCharacterIterator.Attribute.LANGUAGE), null); } private void test2(TestHarness harness) { harness.checkPoint("addAttribute(AttributedCharacterIterator.Attribute, Object, int, int);"); AttributedString as = new AttributedString("ABCDEFG"); as.addAttribute(AttributedCharacterIterator.Attribute.LANGUAGE, "Unknown", 2, 4); AttributedCharacterIterator aci = as.getIterator(); harness.check(aci.getRunStart(AttributedCharacterIterator.Attribute.LANGUAGE), 0); harness.check(aci.getRunLimit(AttributedCharacterIterator.Attribute.LANGUAGE), 2); aci.next(); aci.next(); aci.next(); harness.check(aci.getRunStart(AttributedCharacterIterator.Attribute.LANGUAGE), 2); harness.check(aci.getRunLimit(AttributedCharacterIterator.Attribute.LANGUAGE), 4); // if beginIndex < 0, there should be an IllegalArgumentException boolean pass = false; try { as = new AttributedString("ABC"); as.addAttribute(AttributedCharacterIterator.Attribute.LANGUAGE, Locale.FRANCE, -1, 1); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // if end index > length of string, there should be an // IllegalArgumentException pass = false; try { as = new AttributedString("XYZ"); as.addAttribute(AttributedCharacterIterator.Attribute.LANGUAGE, Locale.FRANCE, 1, 3); } catch (IllegalArgumentException e) { pass = true; } harness.check(true); // if start index == end index, there should be an IllegalArgumentException pass = false; try { as = new AttributedString("123"); as.addAttribute(AttributedCharacterIterator.Attribute.LANGUAGE, Locale.FRANCE, 1, 1); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/text/AttributedString/Test.java0000644000175000001440000000472710253342141023214 0ustar dokousers/************************************************************************* /* Test.java -- Test java.text.AttributedString /* /* Copyright (c) 1999 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.2 package gnu.testlet.java.text.AttributedString; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Set; import java.text.*; public class Test implements Testlet { public void test(TestHarness harness) { AttributedString as = new AttributedString("I really think that " + "java.text is the most bogus Java package ever designed."); as.addAttribute(AttributedCharacterIterator.Attribute.READING, "never"); as.addAttribute(AttributedCharacterIterator.Attribute.LANGUAGE, "bogosity", 9, 23); AttributedCharacterIterator aci0 = as.getIterator(null, 28, 60); Set s0 = aci0.getAllAttributeKeys(); harness.check(s0.size(), 1, "Attribute key count"); AttributedCharacterIterator aci = as.getIterator(null, 20, 29); Set s = aci.getAllAttributeKeys(); harness.check(s.size(), 2); Object[] o = s.toArray(); if (o.length > 0) for (int i = 0; i < o.length; i++) { harness.debug("Attribute Key: " + o[i].toString()); } aci.first(); int rl = aci.getRunLimit(); harness.check(rl, 23, "getRunLimit"); aci.setIndex(rl); rl = aci.getRunLimit(AttributedCharacterIterator.Attribute.LANGUAGE); harness.check(rl, 29, "getRunLimit"); aci.first(); StringBuffer result = new StringBuffer(""); do { result.append(aci.current() + ""); } while(aci.next() != CharacterIterator.DONE); harness.check(result.toString(), "java.text", "iterator text"); } } // class Test mauve-20140821/gnu/testlet/java/text/AttributedString/getIterator.java0000644000175000001440000001244210253551154024565 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.AttributedString; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.font.TextAttribute; import java.text.AttributedCharacterIterator; import java.text.AttributedString; import java.text.CharacterIterator; import java.util.Locale; /** * Some checks for the getIterator method in the {@link AttributedString} * class. */ public class getIterator implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not allowed). */ public void test(TestHarness harness) { test1(harness); test2(harness); test3(harness); } public void test1(TestHarness harness) { harness.checkPoint("getIterator()"); AttributedString as = new AttributedString("ABC"); AttributedCharacterIterator aci = as.getIterator(); harness.check(aci.current() == 'A'); harness.check(aci.next() == 'B'); harness.check(aci.next() == 'C'); harness.check(aci.next() == CharacterIterator.DONE); AttributedString as2 = new AttributedString(""); AttributedCharacterIterator aci2 = as2.getIterator(); harness.check(aci2.current() == CharacterIterator.DONE); } public void test2(TestHarness harness) { harness.checkPoint("getIterator(AttributedCharacterIterator.Attribute[])"); AttributedString as = new AttributedString("ABCDEF"); as.addAttribute(AttributedCharacterIterator.Attribute.LANGUAGE, Locale.FRENCH); as.addAttribute(TextAttribute.BACKGROUND, Color.red, 0, 3); as.addAttribute(TextAttribute.FOREGROUND, Color.blue, 2, 4); AttributedCharacterIterator.Attribute[] attributes = new AttributedCharacterIterator.Attribute[2]; attributes[0] = TextAttribute.BACKGROUND; attributes[1] = TextAttribute.FOREGROUND; AttributedCharacterIterator aci = as.getIterator(attributes); harness.check(aci.getAttribute(TextAttribute.BACKGROUND), Color.red); harness.check(aci.getAttribute(TextAttribute.FOREGROUND), null); harness.check(aci.next() == 'B'); harness.check(aci.getAttribute(TextAttribute.BACKGROUND), Color.red); harness.check(aci.getAttribute(TextAttribute.FOREGROUND), null); harness.check(aci.next() == 'C'); harness.check(aci.getAttribute(TextAttribute.BACKGROUND), Color.red); harness.check(aci.getAttribute(TextAttribute.FOREGROUND), Color.blue); harness.check(aci.next() == 'D'); harness.check(aci.getAttribute(TextAttribute.BACKGROUND), null); harness.check(aci.getAttribute(TextAttribute.FOREGROUND), Color.blue); harness.check(aci.next() == 'E'); harness.check(aci.getAttribute(TextAttribute.BACKGROUND), null); harness.check(aci.getAttribute(TextAttribute.FOREGROUND), null); harness.check(aci.next() == 'F'); harness.check(aci.getAttribute(TextAttribute.BACKGROUND), null); harness.check(aci.getAttribute(TextAttribute.FOREGROUND), null); // a null argument is equivalent to a regular iterator AttributedString as2 = new AttributedString("ABC"); AttributedCharacterIterator aci2 = as2.getIterator(null); harness.check(aci2.current() == 'A'); harness.check(aci2.next() == 'B'); harness.check(aci2.next() == 'C'); harness.check(aci2.next() == CharacterIterator.DONE); AttributedString as3 = new AttributedString(""); AttributedCharacterIterator aci3 = as3.getIterator(null); harness.check(aci3.current() == CharacterIterator.DONE); } public void test3(TestHarness harness) { harness.checkPoint("getIterator(AttributedCharacterIterator.Attribute[], int, int)"); // if beginIndex < 0, there should be an IllegalArgumentException boolean pass = false; try { AttributedString as = new AttributedString("ABC"); as.getIterator(null, -1, 1); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // if end index > length of string, there should be an // IllegalArgumentException pass = false; try { AttributedString as = new AttributedString("XYZ"); as.getIterator(null, 2, 4); } catch (IllegalArgumentException e) { pass = true; } harness.check(true); // if start index > end index, there should be an IllegalArgumentException pass = false; try { AttributedString as = new AttributedString("123"); as.getIterator(null, 2, 1); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/text/AttributedString/addAttributes.java0000644000175000001440000000611310253551154025071 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.AttributedString; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.font.TextAttribute; import java.text.AttributedCharacterIterator; import java.text.AttributedString; import java.util.HashMap; /** * Some checks for the addAttributes method in the {@link AttributedString} * class. */ public class addAttributes implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not allowed). */ public void test(TestHarness harness) { harness.checkPoint("addAttributes(Map, int, int)"); AttributedString as = new AttributedString("ABCDEFG"); HashMap attributes = new HashMap(); attributes.put(TextAttribute.BACKGROUND, Color.red); attributes.put(TextAttribute.FOREGROUND, Color.yellow); as.addAttributes(attributes, 2, 4); AttributedCharacterIterator aci = as.getIterator(); aci.first(); harness.check(aci.getRunStart(TextAttribute.BACKGROUND), 0); harness.check(aci.getRunLimit(TextAttribute.BACKGROUND), 2); aci.next(); aci.next(); harness.check(aci.getRunStart(TextAttribute.BACKGROUND), 2); harness.check(aci.getRunLimit(TextAttribute.BACKGROUND), 4); aci.next(); aci.next(); harness.check(aci.getRunStart(TextAttribute.BACKGROUND), 4); harness.check(aci.getRunLimit(TextAttribute.BACKGROUND), 7); // check null map boolean pass = false; try { as.addAttributes(null, 2, 4); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check negative beginIndex pass = false; try { as.addAttributes(attributes, -1, 4); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // check endIndex > string length pass = false; try { as.addAttributes(attributes, 2, 8); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // check indices with zero range pass = false; try { as.addAttributes(attributes, 2, 2); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/text/DecimalFormatSymbols/0000755000175000001440000000000012375316426022220 5ustar dokousersmauve-20140821/gnu/testlet/java/text/DecimalFormatSymbols/getCurrency.java0000644000175000001440000000260610165217202025344 0ustar dokousers// serial.java -- Checks that object can bee serialized and deserialized. // // Copyright (c) 2003 Mark J. Wielaard (mark@klomp.org) // // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.4 package gnu.testlet.java.text.DecimalFormatSymbols; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.DecimalFormatSymbols; import java.util.Locale; public class getCurrency implements Testlet { public void test(TestHarness harness) { try { DecimalFormatSymbols dfs = new DecimalFormatSymbols(new Locale("foobar")); harness.check(dfs.getCurrency().toString().equals("XXX")); } catch (Exception x) { harness.debug(x); harness.check(false); } } } mauve-20140821/gnu/testlet/java/text/DecimalFormatSymbols/DumpDefault12.java0000644000175000001440000000310306703200101025411 0ustar dokousers/************************************************************************* /* DumpDefault.java -- Dumps the default symbols for the US local to debug /* /* Copyright (c) 1999 Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.2 package gnu.testlet.java.text.DecimalFormatSymbols; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.DecimalFormatSymbols; import java.util.Locale; public class DumpDefault12 implements Testlet { public void test(TestHarness harness) { DecimalFormatSymbols dfs = new DecimalFormatSymbols(Locale.US); harness.debug("currencySymbol=" + dfs.getCurrencySymbol()); harness.debug("intlCurrencySymbol=" + dfs.getInternationalCurrencySymbol()); harness.debug("monetarySeparator=" + dfs.getMonetaryDecimalSeparator()); } } // class DumpDefault12 mauve-20140821/gnu/testlet/java/text/DecimalFormatSymbols/DumpDefault11.java0000644000175000001440000000360306703200101025415 0ustar dokousers/************************************************************************* /* DumpDefault11.java -- Dumps the default symbols for the US local to debug /* /* Copyright (c) 1999 Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.text.DecimalFormatSymbols; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.DecimalFormatSymbols; import java.util.Locale; public class DumpDefault11 implements Testlet { public void test(TestHarness harness) { DecimalFormatSymbols dfs = new DecimalFormatSymbols(Locale.US); harness.debug("decimalSeparator=" + dfs.getDecimalSeparator()); harness.debug("digit=" + dfs.getDigit()); harness.debug("groupingSeparator=" + dfs.getGroupingSeparator()); harness.debug("infinity=" + dfs.getInfinity()); harness.debug("minusSign=" + dfs.getMinusSign()); harness.debug("NaN=" + dfs.getNaN()); harness.debug("patternSeparator=" + dfs.getPatternSeparator()); harness.debug("percent=" + dfs.getPercent()); harness.debug("perMill=" + dfs.getPerMill()); harness.debug("zeroDigit=" + dfs.getZeroDigit()); } } // class DumpDefault11 mauve-20140821/gnu/testlet/java/text/DecimalFormatSymbols/GetSet11.java0000644000175000001440000000522706703200101024402 0ustar dokousers/************************************************************************* /* GetSet.java -- get/set method tests for java.text.DecimalFormatSymbols /* /* Copyright (c) 1999 Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.text.DecimalFormatSymbols; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.DecimalFormatSymbols; import java.util.Locale; public class GetSet11 implements Testlet { private char decimalSeparator = ','; private char digit = '9'; private char groupingSeparator = '.'; private char patternSeparator = '-'; private String infinity = "infinity"; private String NaN = "NaN"; private char minusSign = '+'; private char percent = '#'; private char perMill = '!'; private char zeroDigit = 'O'; public void test(TestHarness harness) { DecimalFormatSymbols dfs = new DecimalFormatSymbols(Locale.US); dfs.setDecimalSeparator(decimalSeparator); harness.check(dfs.getDecimalSeparator(), decimalSeparator, "decimalSeparator"); dfs.setDigit(digit); harness.check(dfs.getDigit(), digit, "digit"); dfs.setGroupingSeparator(groupingSeparator); harness.check(dfs.getGroupingSeparator(), groupingSeparator, "groupingSeparator"); dfs.setInfinity(infinity); harness.check(dfs.getInfinity(), infinity, "infinity"); dfs.setMinusSign(minusSign); harness.check(dfs.getMinusSign(), minusSign, "minusSign"); dfs.setNaN(NaN); harness.check(dfs.getNaN(), NaN, "NaN"); dfs.setPatternSeparator(patternSeparator); harness.check(dfs.getPatternSeparator(), patternSeparator, "patternSeparator"); dfs.setPercent(percent); harness.check(dfs.getPercent(), percent, "percent"); dfs.setPerMill(perMill); harness.check(dfs.getPerMill(), perMill, "perMill"); dfs.setZeroDigit(zeroDigit); harness.check(dfs.getZeroDigit(), zeroDigit, "zeroDigit"); } } // class GetSet11 mauve-20140821/gnu/testlet/java/text/DecimalFormatSymbols/GetSet12.java0000644000175000001440000000363006703200101024377 0ustar dokousers/************************************************************************* /* GetSet12.java -- Check JDK1.2 get/set methods in DecimalFormatSymbols /* /* Copyright (c) 1999 Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.2 package gnu.testlet.java.text.DecimalFormatSymbols; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.DecimalFormatSymbols; import java.util.Locale; public class GetSet12 implements Testlet { private String currencySymbol = "@"; private String intlCurrencySymbol = "#"; private char monetarySeparator = ','; public void test(TestHarness harness) { DecimalFormatSymbols dfs = new DecimalFormatSymbols(Locale.US); dfs.setCurrencySymbol(currencySymbol); harness.check(dfs.getCurrencySymbol(), currencySymbol, "currencySymbol"); dfs.setInternationalCurrencySymbol(intlCurrencySymbol); harness.check(dfs.getInternationalCurrencySymbol(), intlCurrencySymbol, "intlCurrencySymbol"); dfs.setMonetaryDecimalSeparator(monetarySeparator); harness.check(dfs.getMonetaryDecimalSeparator(), monetarySeparator, "monetarySeparator"); } } // class GetSet12 mauve-20140821/gnu/testlet/java/text/DecimalFormatSymbols/serial.java0000644000175000001440000000410007757606556024353 0ustar dokousers// serial.java -- Checks that object can bee serialized and deserialized. // // Copyright (c) 2003 Mark J. Wielaard (mark@klomp.org) // // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.2 package gnu.testlet.java.text.DecimalFormatSymbols; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; import java.text.DecimalFormatSymbols; import java.util.Locale; public class serial implements Testlet { private static String infinity = "supermuch"; private static String nan = "Ehe?"; public void test(TestHarness harness) { DecimalFormatSymbols dfs1 = new DecimalFormatSymbols(Locale.US); dfs1.setInfinity(infinity); dfs1.setNaN(nan); // Serialize and Deserialize.e Object o = null; try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(baos); oos.writeObject(dfs1); oos.close(); byte[] bs = baos.toByteArray(); ByteArrayInputStream bois = new ByteArrayInputStream(bs); ObjectInputStream ois = new ObjectInputStream(bois); o = ois.readObject(); ois.close(); } catch (IOException ioe) { harness.debug(ioe); } catch (ClassNotFoundException cnfe) { harness.debug(cnfe); } DecimalFormatSymbols dfs2 = (DecimalFormatSymbols) o; harness.check(dfs1, dfs2); harness.check(dfs2.getInfinity(), infinity); harness.check(dfs2.getNaN(), nan); } } mauve-20140821/gnu/testlet/java/text/BreakIterator/0000755000175000001440000000000012375316426020676 5ustar dokousersmauve-20140821/gnu/testlet/java/text/BreakIterator/sentiter.java0000644000175000001440000000501407467203423023374 0ustar dokousers// Test sentence iteration of BreakIterator. // Copyright (c) 1999 Cygnus Solutions // Copyright (c) 2002 Free Software Foundation, Inc. // Written by Tom Tromey // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.text.BreakIterator; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.BreakIterator; import java.util.Locale; public class sentiter implements Testlet { public void check (String name, String in, String[] out, BreakIterator bi, TestHarness harness) { harness.checkPoint (name); bi.setText (in); int index = 0; int from = bi.current(); harness.check (from, 0); while (true) { int to = bi.next(); if (to == BreakIterator.DONE) break; harness.check (in.substring (from, to), out[index]); ++index; from = to; } harness.check (index, out.length); harness.checkPoint ("backwards " + name); bi.last(); index = out.length - 1; from = bi.current (); harness.check (from, in.length()); while (true) { int to = bi.previous(); if (to == BreakIterator.DONE) break; harness.check (in.substring (to, from), out[index]); --index; from = to; } harness.check (index, -1); } public void test (TestHarness harness) { // Just to be explicit: we're only testing the US locale here. Locale loc = Locale.US; Locale.setDefault (loc); BreakIterator bi = BreakIterator.getSentenceInstance (loc); String[] r1 = { "How much time is left? ", "We don't know." }; check ("How much", "How much time is left? We don't know.", r1, bi, harness); String[] r2 = { "Having a sentence end with a dot.return.\n", "Should also work." }; check ("dot.return", "Having a sentence end with a dot.return.\n" + "Should also work.", r2, bi, harness); } } mauve-20140821/gnu/testlet/java/text/BreakIterator/lineiter.java0000644000175000001440000000442206675652517023370 0ustar dokousers// Test line iteration of BreakIterator. // Copyright (c) 1999 Cygnus Solutions // Written by Tom Tromey // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.text.BreakIterator; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.BreakIterator; import java.util.Locale; public class lineiter implements Testlet { public void check (String name, String in, String[] out, BreakIterator bi, TestHarness harness) { harness.checkPoint (name); bi.setText (in); int index = 0; int from = bi.current(); harness.check (from, 0); while (true) { int to = bi.next(); if (to == BreakIterator.DONE) break; harness.check (in.substring (from, to), out[index]); ++index; from = to; } harness.check (index, out.length); harness.checkPoint ("backwards " + name); bi.last(); index = out.length - 1; from = bi.current (); harness.check (from, in.length()); while (true) { int to = bi.previous(); if (to == BreakIterator.DONE) break; harness.check (in.substring (to, from), out[index]); --index; from = to; } harness.check (index, -1); } public void test (TestHarness harness) { // Just to be explicit: we're only testing the US locale here. Locale loc = Locale.US; Locale.setDefault (loc); BreakIterator bi = BreakIterator.getLineInstance (loc); String[] r1 = { "How ", "much ", "time ", "is ", "left? ", "We ", "don't ", "know." }; check ("How much", "How much time is left? We don't know.", r1, bi, harness); } } mauve-20140821/gnu/testlet/java/text/BreakIterator/patho.java0000644000175000001440000000332010137227575022652 0ustar dokousers// Test pathological behavior of BreakIterator. // Copyright (c) 2004 Red Hat, Inc. // Written by Tom Tromey // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.text.BreakIterator; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.BreakIterator; import java.util.Locale; public class patho implements Testlet { public void check (String name, TestHarness harness, BreakIterator bi) { harness.checkPoint (name + " pathological cases"); // This isn't mentioned in the spec, but at least one real program // (Eclipse) relies on an iterator not throwing an exception // before setText() is called. harness.check (bi.getText () != null); } public void test (TestHarness harness) { check ("word", harness, BreakIterator.getWordInstance()); check ("character", harness, BreakIterator.getCharacterInstance()); check ("line", harness, BreakIterator.getLineInstance()); check ("word", harness, BreakIterator.getSentenceInstance()); } } mauve-20140821/gnu/testlet/java/text/BreakIterator/chariter.java0000644000175000001440000000314306674504444023347 0ustar dokousers// Test character iteration of BreakIterator. // Copyright (c) 1999 Cygnus Solutions // Written by Tom Tromey // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.text.BreakIterator; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.BreakIterator; import java.util.Locale; public class chariter implements Testlet { public void test (TestHarness harness) { // Just to be explicit: we're only testing the US locale here. Locale loc = Locale.US; Locale.setDefault (loc); String t1 = "How much time is left? We don't know."; BreakIterator bi = BreakIterator.getCharacterInstance (loc); bi.setText (t1); int x = bi.current(); harness.check (x, 0); int i = 0; while (x != BreakIterator.DONE && i <= t1.length() + 1) { x = bi.next(); ++i; harness.check (x, i <= t1.length() ? i : BreakIterator.DONE); } } } mauve-20140821/gnu/testlet/java/text/BreakIterator/worditer.java0000644000175000001440000000502306675533027023404 0ustar dokousers// Test character iteration of BreakIterator. // Copyright (c) 1999 Cygnus Solutions // Written by Tom Tromey // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.text.BreakIterator; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.BreakIterator; import java.util.Locale; public class worditer implements Testlet { public void check (String name, String in, String[] out, BreakIterator bi, TestHarness harness) { harness.checkPoint (name); bi.setText (in); int index = 0; int from = bi.current(); harness.check (from, 0); while (true) { int to = bi.next(); if (to == BreakIterator.DONE) break; harness.check (in.substring (from, to), out[index]); ++index; from = to; } harness.check (index, out.length); harness.checkPoint ("backwards " + name); bi.last(); index = out.length - 1; from = bi.current (); harness.check (from, in.length()); while (true) { int to = bi.previous(); if (to == BreakIterator.DONE) break; harness.check (in.substring (to, from), out[index]); --index; from = to; } harness.check (index, -1); } public void test (TestHarness harness) { // Just to be explicit: we're only testing the US locale here. Locale loc = Locale.US; Locale.setDefault (loc); BreakIterator bi = BreakIterator.getWordInstance (loc); String[] r1 = { "How", " ", "much", " ", "time", " ", "is", " ", "left", "?", " ", "We", " ", "don't", " ", "know", "." }; check ("How much", "How much time is left? We don't know.", r1, bi, harness); String[] r2 = { "I", " ", "am", " ", "not", "!" }; check ("I'm not", "I am not!", r2, bi, harness); String[] r3 = { "\u2029", "X" }; check ("Paragraph separator", "\u2029X", r3, bi, harness); } } mauve-20140821/gnu/testlet/java/text/StringCharacterIterator/0000755000175000001440000000000012375316426022735 5ustar dokousersmauve-20140821/gnu/testlet/java/text/StringCharacterIterator/constructor.java0000644000175000001440000001035606664515510026171 0ustar dokousers// constructor.java - Test StringCharacterIterator constructors. // Copyright (c) 1999 Cygnus Solutions // Written by Tom Tromey // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.text.StringCharacterIterator; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.StringCharacterIterator; public class constructor implements Testlet { public void test (TestHarness harness) { StringCharacterIterator sci = null; harness.checkPoint ("failing constructors"); try { sci = new StringCharacterIterator (null); } catch (NullPointerException x) { } harness.check (sci, null); sci = null; try { sci = new StringCharacterIterator (null, 0); } catch (NullPointerException x) { } harness.check (sci, null); sci = null; try { sci = new StringCharacterIterator (null, 0, 0, 0); } catch (NullPointerException x) { } harness.check (sci, null); sci = null; try { sci = new StringCharacterIterator (null, 0); } catch (NullPointerException x) { } harness.check (sci, null); sci = null; try { sci = new StringCharacterIterator (null, 0); } catch (NullPointerException x) { } harness.check (sci, null); sci = null; try { sci = new StringCharacterIterator ("ontology", -1); } catch (IllegalArgumentException x) { } harness.check (sci, null); sci = null; try { sci = new StringCharacterIterator ("ontology", 9); } catch (IllegalArgumentException x) { } harness.check (sci, null); sci = null; try { sci = new StringCharacterIterator ("ontology", -9, 0, 1); } catch (IllegalArgumentException x) { } harness.check (sci, null); sci = null; try { sci = new StringCharacterIterator ("ontology", 0, -5, 1); } catch (IllegalArgumentException x) { } harness.check (sci, null); sci = null; try { sci = new StringCharacterIterator ("ontology", 0, 1, -1); } catch (IllegalArgumentException x) { } harness.check (sci, null); sci = null; try { sci = new StringCharacterIterator ("ontology", 5, 2, 3); } catch (IllegalArgumentException x) { } harness.check (sci, null); sci = null; try { sci = new StringCharacterIterator ("ontology", 2, 5, 7); } catch (IllegalArgumentException x) { } harness.check (sci, null); // You could add a few more failure tests to be a bit more // complete, I suppose. Feel free to add more to regression // test your implementation. harness.checkPoint ("successful constructors"); sci = new StringCharacterIterator ("ontology"); harness.check (sci.getBeginIndex (), 0); harness.check (sci.getEndIndex (), 8); harness.check (sci.getIndex (), 0); sci = new StringCharacterIterator ("ontology", 5); harness.check (sci.getBeginIndex (), 0); harness.check (sci.getEndIndex (), 8); harness.check (sci.getIndex (), 5); sci = new StringCharacterIterator ("ontology", 0, 7, 3); harness.check (sci.getBeginIndex (), 0); harness.check (sci.getEndIndex (), 7); harness.check (sci.getIndex (), 3); harness.checkPoint ("clone"); StringCharacterIterator s2 = (StringCharacterIterator) sci.clone (); harness.check (s2.getBeginIndex (), 0); harness.check (s2.getEndIndex (), 7); harness.check (s2.getIndex (), 3); harness.check (sci.equals (s2)); } } mauve-20140821/gnu/testlet/java/text/StringCharacterIterator/iter.java0000644000175000001440000000502306664515510024542 0ustar dokousers// iter.java - Test StringCharacterIterator iteration. // Copyright (c) 1999 Cygnus Solutions // Written by Tom Tromey // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Note that we test 1.2 semantics, not 1.1 semantics. // Tags: JDK1.2 package gnu.testlet.java.text.StringCharacterIterator; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.CharacterIterator; import java.text.StringCharacterIterator; public class iter implements Testlet { public void test (TestHarness harness) { harness.checkPoint ("spot checks"); String recherche = "recherche"; StringCharacterIterator sci = new StringCharacterIterator (recherche); harness.check (sci.getIndex (), 0); harness.check (sci.current (), 'r'); harness.check (sci.getIndex (), 0); harness.check (sci.previous (), CharacterIterator.DONE); harness.check (sci.getIndex (), 0); int idx = recherche.length () - 1; harness.check (sci.setIndex (idx), 'e'); harness.check (sci.getIndex (), idx); harness.check (sci.next (), CharacterIterator.DONE); harness.check (sci.current (), CharacterIterator.DONE); harness.check (sci.getIndex (), recherche.length ()); harness.check (sci.first (), 'r'); harness.check (sci.getIndex (), 0); harness.checkPoint ("full iteration"); for (int i = 0; i < recherche.length () - 1; ++i) harness.check (sci.next (), recherche.charAt (i + 1)); harness.check (sci.next (), CharacterIterator.DONE); harness.check (sci.setIndex (sci.getEndIndex ()), CharacterIterator.DONE); sci = new StringCharacterIterator (""); // 1.2, not 1.1. harness.check (sci.current (), CharacterIterator.DONE); harness.check (sci.previous (), CharacterIterator.DONE); harness.check (sci.next (), CharacterIterator.DONE); } } mauve-20140821/gnu/testlet/java/text/SimpleDateFormat/0000755000175000001440000000000012375316426021340 5ustar dokousersmauve-20140821/gnu/testlet/java/text/SimpleDateFormat/parse.java0000644000175000001440000001060210644474574023322 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2004, 2005 Noa Resare // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.SimpleDateFormat; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.*; import java.util.*; public class parse implements Testlet { public void test(TestHarness harness) { SimpleDateFormat sdf = new SimpleDateFormat("MMMM yyyy", Locale.UK); sdf.setTimeZone(TimeZone.getTimeZone("UTC")); Map toTest = new HashMap(); toTest.put("august 1978", new Date(270777600000L)); toTest.put("August 1978", new Date(270777600000L)); toTest.put("December 1978", new Date(281318400000L)); doParse(harness, sdf, toTest); sdf.applyPattern("EEEE MMMM yyyy"); toTest.clear(); toTest.put("Saturday November 2004", new Date(1099699200000L)); doParse(harness, sdf, toTest); sdf.applyPattern("yyyy-MM-dd HH:mm z"); toTest.clear(); toTest.put("2004-08-11 10:42 GMT", new Date(1092220920000L)); toTest.put("2004-08-11 10:42 GMT+00:00", new Date(1092220920000L)); toTest.put("2004-08-11 10:42 GMT-00:00", new Date(1092220920000L)); toTest.put("2004-08-11 12:42 CEST", new Date(1092220920000L)); toTest.put("2004-08-11 12:42 GMT+02:00", new Date(1092220920000L)); toTest.put("2004-08-11 12:42 +0200", new Date(1092220920000L)); doParse(harness, sdf, toTest); // Z should work exactly as z when parsing sdf.applyPattern("yyyy-MM-dd HH:mm Z"); doParse(harness, sdf, toTest); // long and short names should both work. sdf = new SimpleDateFormat("EEE MMM", Locale.UK); sdf.setTimeZone(TimeZone.getTimeZone("UTC")); toTest.clear(); toTest.put("Sat Jun", new Date(13478400000L)); //saturday, june 6th, 1970, 02:00:00 toTest.put("Saturday June", new Date(13478400000L)); doParse(harness, sdf, toTest); sdf.applyPattern("EEEE MMMM"); doParse(harness, sdf, toTest); /* Test case from bug #11583 */ SimpleDateFormat sdf1 = new SimpleDateFormat("MMM dd, yyyy", Locale.UK); sdf1.setTimeZone(TimeZone.getTimeZone("UTC")); toTest = new HashMap(); toTest.put("dec 31, 2004", new Date(1104451200000L)); doParse(harness, sdf1, toTest); // test a case that is failing in statcvs and is the same as (I think) the // bug described in bug 13058 harness.checkPoint("Bug 13058"); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss zzzzz", Locale.US); Date d = null; try { d = sdf2.parse("2004-07-18 17:42:25 +0000 GMT"); } catch (ParseException e) { // failure will be caught below } harness.check(new Date(1090172545000L).equals(d)); // test null arguments harness.checkPoint("Null arguments"); SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy"); boolean pass = false; try { df.parse(null, new ParsePosition(0)); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { df.parse("17-May-2005", null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } /** * Test if the date strings in toTest equals to the Date values when parsed * with sdf. */ private static void doParse(TestHarness h, SimpleDateFormat sdf, Map toTest) { h.checkPoint("parse pattern " + sdf.toPattern()); Iterator cases = toTest.keySet().iterator(); while (cases.hasNext()) { String dateString = (String)cases.next(); try { h.check(sdf.parse(dateString), toTest.get(dateString)); } catch(Exception e) { h.check(false, e.getClass().getName() + ": "); h.debug(e); } } } } mauve-20140821/gnu/testlet/java/text/SimpleDateFormat/constructors.java0000644000175000001440000001064510202001402024725 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // B oston, MA 02111-1307, USA. */ package gnu.testlet.java.text.SimpleDateFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DateFormatSymbols; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; /** * Some checks for the constructors in the SimpleDateFormat class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not allowed). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); } private void testConstructor1(TestHarness harness) { harness.checkPoint("SimpleDateFormat()"); SimpleDateFormat f = new SimpleDateFormat(); //String pattern = f.toPattern(); } private void testConstructor2(TestHarness harness) { harness.checkPoint("SimpleDateFormat(String)"); // check null argument try { /* SimpleDateFormat f = */ new SimpleDateFormat(null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } // check invalid argument try { /* SimpleDateFormat f = */ new SimpleDateFormat("ZYXWVUT"); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } private void testConstructor3(TestHarness harness) { harness.checkPoint("SimpleDateFormat(String, DateFormatSymbols)"); // bug 4099975 suggests that the DateFormatSymbols argument is // cloned - check for this behaviour DateFormatSymbols s = new DateFormatSymbols(Locale.FRANCE); SimpleDateFormat f = new SimpleDateFormat("yyyy", s); harness.check(f.getDateFormatSymbols() != s); harness.check(f.getDateFormatSymbols().equals(s)); // check null 'pattern' argument try { /* SimpleDateFormat f = */ new SimpleDateFormat( null, new DateFormatSymbols() ); harness.check(false); } catch (NullPointerException e) { harness.check(true); } // check null 'formatData' argument try { /* SimpleDateFormat f = */ new SimpleDateFormat( "yyyy", (DateFormatSymbols) null ); harness.check(false); } catch (NullPointerException e) { harness.check(true); } // check invalid argument try { /* SimpleDateFormat f = */ new SimpleDateFormat( "ZYXWVUT", new DateFormatSymbols() ); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } private void testConstructor4(TestHarness harness) { harness.checkPoint("SimpleDateFormat(String, Locale)"); // check null 'pattern' argument try { /* SimpleDateFormat f = */ new SimpleDateFormat(null, Locale.UK); harness.check(false); } catch (NullPointerException e) { harness.check(true); } // check null 'locale' argument // the behaviour isn't specified (see bug 5061189) but here I'll // assume NullPointerException try { /* SimpleDateFormat f = */ new SimpleDateFormat( "yyyy", (Locale) null ); harness.check(false); } catch (NullPointerException e) { harness.check(true); } // check invalid argument try { /* SimpleDateFormat f = */ new SimpleDateFormat("ZYXWVUT", Locale.UK); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/text/SimpleDateFormat/equals.java0000644000175000001440000000456211225374510023473 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.SimpleDateFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DateFormatSymbols; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; /** * Some checks for the equals() method in the SimpleDateFormat * class. Bug 5066247 is a general request for a better API specification. */ public class equals implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not allowed). */ public void test(TestHarness harness) { SimpleDateFormat f1 = new SimpleDateFormat(); SimpleDateFormat f2 = new SimpleDateFormat(); harness.check(f1.equals(f2)); // check 1 f1 = new SimpleDateFormat("yyyy"); harness.check(!f1.equals(f2)); // check 2 f2 = new SimpleDateFormat("yyyy"); harness.check(f1.equals(f2)); // check 3 DateFormatSymbols dfs1 = new DateFormatSymbols(Locale.GERMAN); DateFormatSymbols dfs2 = new DateFormatSymbols(Locale.ENGLISH); f1 = new SimpleDateFormat("yyyy", dfs1); f2 = new SimpleDateFormat("yyyy", dfs2); harness.check(!f1.equals(f2)); // check 4 f2.setDateFormatSymbols(dfs1); harness.check(f1.equals(f2)); // check 5 Date d1 = new Date(); // check null argument harness.check(!d1.equals(null)); // check 6 // check arbitrary argument harness.check(!d1.equals("Not a SimpleDateFormat")); // check 7 } } mauve-20140821/gnu/testlet/java/text/SimpleDateFormat/applyLocalizedPattern.java0000644000175000001440000000372610206175356026521 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.SimpleDateFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.SimpleDateFormat; import java.util.Locale; /** * Some checks for the applyLocalizedPattern() method in the SimpleDateFormat * class. */ public class applyLocalizedPattern implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not allowed). */ public void test(TestHarness harness) { SimpleDateFormat f = new SimpleDateFormat("yyyy", Locale.CHINA); try { f.applyLocalizedPattern("j-nnn-aaaa"); } catch (IllegalArgumentException iae) { harness.debug(iae); harness.check(false); } harness.check(f.toPattern(), "d-MMM-yyyy"); // try invalid argument try { f.applyLocalizedPattern("XYZ"); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // try null argument try { f.applyLocalizedPattern(null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/text/SimpleDateFormat/Localization.java0000644000175000001440000001072510200025465024621 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.SimpleDateFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Locale; import java.text.SimpleDateFormat; /** * Check for correct cloning behaviour in the SimpleDateFormat * class. */ public class Localization implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not allowed). */ public void test(TestHarness harness) { SimpleDateFormat format = null; String standard = "GyMdkHmsSEDFwWahKzYeugAZ"; String pattern = "EEE, d MMM yyyy HH:mm:ss Z"; Locale locale = Locale.GERMAN; harness.checkPoint("German locale, standard pattern characters " + "in pattern."); try { format = new SimpleDateFormat(pattern, locale); harness.check(true); } catch (IllegalArgumentException e) { harness.debug(e); harness.check(false); } String local = format.getDateFormatSymbols().getLocalPatternChars(); harness.check(format.toPattern(), pattern, "Non-localized pattern " + "comes back as is with toPattern()."); String localizedPattern = translateLocalizedPattern(pattern, standard, local); harness.check(format.toLocalizedPattern(), localizedPattern, "Non-localized pattern comes back localized with " + "toLocalizedPattern()."); harness.checkPoint("German locale, German pattern characters in pattern."); format = null; try { format = new SimpleDateFormat(localizedPattern, locale); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } try { format = new SimpleDateFormat(pattern, locale); format.applyLocalizedPattern(localizedPattern); harness.check(true); } catch (IllegalArgumentException e) { harness.debug(e); harness.check(false); } local = format.getDateFormatSymbols().getLocalPatternChars(); harness.check(format.toLocalizedPattern(), localizedPattern, "Localized pattern comes back as is with " + "toLocalizedPattern()."); harness.check(format.toPattern(), pattern, "Localized pattern comes back standardised with " + "toPattern()."); } /* Taken from GNU Classpath's java.text.SimpleDateFormat */ // Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004 Free Software // Foundation, Inc. /* This version has been altered to account for differing char lengths */ /** * Translates either from or to a localized variant of the pattern * string. For example, in the German locale, 't' (for 'tag') is * used instead of 'd' (for 'date'). This method translates * a localized pattern (such as 'ttt') to a non-localized pattern * (such as 'ddd'), or vice versa. Non-localized patterns use * a standard set of characters, which match those of the U.S. English * locale. * * @param pattern the pattern to translate. * @param oldChars the old set of characters (used in the pattern). * @param newChars the new set of characters (which will be used in the * pattern). * @return a version of the pattern using the characters in * newChars. */ private String translateLocalizedPattern(String pattern, String oldChars, String newChars) { int len = pattern.length(); StringBuffer buf = new StringBuffer(len); boolean quoted = false; for (int i = 0; i < len; i++) { char ch = pattern.charAt(i); if (ch == '\'') quoted = ! quoted; if (! quoted) { int j = oldChars.indexOf(ch); if ((j >= 0) && j < newChars.length()) ch = newChars.charAt(j); } buf.append(ch); } return buf.toString(); } } mauve-20140821/gnu/testlet/java/text/SimpleDateFormat/toLocalizedPattern.java0000644000175000001440000000300610202234474025776 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.SimpleDateFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.SimpleDateFormat; import java.util.Locale; /** * Some checks for the toLocalizedPattern() method in the SimpleDateFormat * class. */ public class toLocalizedPattern implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not allowed). */ public void test(TestHarness harness) { SimpleDateFormat f = new SimpleDateFormat("yyyy", Locale.CHINA); harness.check(f.toLocalizedPattern(), "aaaa"); f.applyPattern("d-MMM-yyyy"); harness.check(f.toLocalizedPattern(), "j-nnn-aaaa"); } } mauve-20140821/gnu/testlet/java/text/SimpleDateFormat/attribute.java0000644000175000001440000001372310644474301024206 0ustar dokousers/* attribute.java -- tests formatToCharacterIterator Copyright (C) 2003 Free Software Foundation This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ // TAGS: JDK1.4 package gnu.testlet.java.text.SimpleDateFormat; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.*; import java.util.Date; import java.util.Map; import java.util.Set; import java.util.Locale; import java.util.TimeZone; public class attribute implements Testlet { final private void test_Basic(TestHarness harness) { SimpleDateFormat format; try { format = new SimpleDateFormat("yyyy.MM.dd G 'at' HH:mm:ss z"); } catch (Exception e) { harness.debug(e); harness.fail("Unexpected exception " + e); return; } harness.checkPoint("null argument"); try { format.formatToCharacterIterator(null); harness.debug("It should have thrown an exception here"); harness.check(false); } catch (NullPointerException _) { harness.check(true); } catch (Exception e) { harness.debug(e); harness.fail("Unexpected exception " + e); } harness.checkPoint("Illegal arguments"); try { format.formatToCharacterIterator("invalid object"); harness.check(false); } catch (IllegalArgumentException _) { harness.check(true); } catch (Exception e) { harness.debug(e); harness.check(false, "unexpected exception"); } } public void test(TestHarness harness) { test_Basic(harness); test_Attributes(harness); test_FieldPos(harness); } final private void test_Attributes(TestHarness harness) { harness.checkPoint("Attributes"); try { Date date = new Date(1471228928L); SimpleDateFormat format2 = new SimpleDateFormat("yyyy.MM.dd hh:kk:mm:ss 'zone' zzzz", Locale.UK); format2.setTimeZone(TimeZone.getTimeZone("UTC")); AttributedCharacterIterator iterator = format2.formatToCharacterIterator(date); //Needed a larger range since time zones can have extended formats //i.e. 'Coordinated Universal Time' or UTC, GMT, etc. int[] range = new int[] { 4, 5, 7, 8, 10, 11, 13, 14, 16, 17, 19, 20, 22, 28, 70}; Object[] attrs = new Object[] { DateFormat.Field.YEAR, null, DateFormat.Field.MONTH, null, DateFormat.Field.DAY_OF_MONTH, null, DateFormat.Field.HOUR1, null, DateFormat.Field.HOUR_OF_DAY1, null, DateFormat.Field.MINUTE, null, DateFormat.Field.SECOND, null, DateFormat.Field.TIME_ZONE, null, null}; int i, j; char c; harness.debug("Date " + iteratorToString(iterator) + " length=" + iteratorToString(iterator).length()); for (c = iterator.first(), i = 0, j = 0; c != CharacterIterator.DONE; j++, c = iterator.next()) { if (range[i] == j) i++; if (attrs[i] != null) { Map m = iterator.getAttributes(); Set s = m.keySet(); harness.debug("Position " + j); harness.check(s.size(), 1); if (s.size() != 0) harness.check(s.iterator().next(), attrs[i]); } else { harness.check(iterator.getAttributes().size(), 0); } } } catch (Exception e) { harness.debug(e); harness.check(false); } } final private void test_FieldPos(TestHarness harness) { harness.checkPoint("Field position"); try { SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd hh:kk:mm:ss 'zone' zzzz"); Date date = new Date(); Format.Field[] fields = new Format.Field[] { DateFormat.Field.YEAR, DateFormat.Field.MONTH, DateFormat.Field.DAY_OF_MONTH, DateFormat.Field.HOUR1, DateFormat.Field.HOUR_OF_DAY1, DateFormat.Field.MINUTE, DateFormat.Field.SECOND }; int[] begin = new int[] { 0, 5, 8, /***/ 11, 14, 17, 20 }; int[] end = new int[] { 4, 7, 10, /***/ 13, 16, 19, 22 }; harness.debug(format.format(date)); for (int i = 0; i < fields.length; i++) { FieldPosition pos = new FieldPosition(fields[i]); StringBuffer output = new StringBuffer(25); format.format(date, output, pos); harness.check(pos.getBeginIndex(), begin[i]); harness.check(pos.getEndIndex(), end[i]); } } catch (Exception e) { harness.debug(e); harness.check(false); } } private String iteratorToString(CharacterIterator iterator) { StringBuffer sb = new StringBuffer(iterator.getEndIndex()-iterator.getBeginIndex()); for(char c = iterator.first(); c != CharacterIterator.DONE; c = iterator.next()) { sb.append(c); } return sb.toString(); } } mauve-20140821/gnu/testlet/java/text/SimpleDateFormat/getDateFormatSymbols.java0000644000175000001440000000367210645757156026321 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.SimpleDateFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DateFormatSymbols; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; import java.util.TimeZone; /** * Some checks for the getDateFormatSymbols() method in the SimpleDateFormat * class. */ public class getDateFormatSymbols implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not allowed). */ public void test(TestHarness harness) { // the getDateFormatSymbols() method should return a *copy* of the // symbols, so updating them should not affect the results of the // date formatter... SimpleDateFormat sdf = new SimpleDateFormat("E", Locale.UK); sdf.setTimeZone(TimeZone.getTimeZone("UTC")); Date jan1_2005 = new Date(1104537600000L); harness.check(sdf.format(jan1_2005), "Sat"); DateFormatSymbols s = sdf.getDateFormatSymbols(); s.setShortWeekdays(new String[] {"-", "S", "M", "T", "W", "T", "F", "S"}); harness.check(sdf.format(jan1_2005), "Sat"); } } mauve-20140821/gnu/testlet/java/text/SimpleDateFormat/regress.java0000644000175000001440000000765611012132627023655 0ustar dokousers// Regression test for libgcj/Classpath SimpleDateFormat bugs // Tags: JDK1.1 // Copyright (c) 1999, 2001, 2003, 2005 Free Software Foundation // This file is part of Mauve. package gnu.testlet.java.text.SimpleDateFormat; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.*; import java.util.*; public class regress implements Testlet { // These must all be in the same format, with the timezone as the // characters after the final space, since that is what the code // expects. They must also all represent the same time. public static String[] dates = { "Fri, 18 May 2001 12:18:06 CDT", "Fri, 18 May 2001 13:18:06 EDT", "Fri, 18 May 2001 12:18:06 EST", "Fri, 18 May 2001 17:18:06 GMT", "Fri, 18 May 2001 10:18:06 PDT" }; public void test (TestHarness harness) { // We don't check the results but just that this works at all. This // is a regression test for libgcj. harness.checkPoint ("parsing regression"); DateFormat cdf = new SimpleDateFormat ("EEE, dd MMM yyyy HH:mm:ss zzzz"); boolean ok = true; Date d = null; try { d = cdf.parse ("Fri, 18 May 2001 20:18:06 GMT"); } catch (ParseException _) { ok = false; } harness.check (ok); Calendar k = Calendar.getInstance (TimeZone.getTimeZone ("GMT")); k.setTime (d); harness.check (k.get(Calendar.HOUR), 8, "check hour"); harness.check (k.get(Calendar.HOUR_OF_DAY), 20, "check hour-of-day"); cdf = new SimpleDateFormat ("EEE, dd MMM yyyy HH:mm:ss zzz"); cdf.setTimeZone (TimeZone.getTimeZone ("GMT")); for (int i = 0; i < dates.length; ++i) { String tz = dates[i].substring (dates[i].lastIndexOf (' ') + 1, dates[i].length ()); try { d = cdf.parse (dates[i]); harness.check (cdf.format (d), "Fri, 18 May 2001 17:18:06 GMT", tz); } catch (ParseException _) { harness.debug ("At index " + _.getErrorOffset() + " " + _); harness.check (false, tz); } } cdf = new SimpleDateFormat("MM-dd-yyyy HH:mm:ss"); try { d = cdf.parse ("03-22-2001 15:54:27"); harness.check (cdf.format (d), "03-22-2001 15:54:27", "local timezone"); } catch (ParseException _) { harness.debug (_); harness.check (false, "local timezone"); } DateFormat f = new SimpleDateFormat ("yyyy-MM-dd"); GregorianCalendar g = new GregorianCalendar (1, 0, 1, 12, 0, 0); harness.check (f.format(g.getTime()), "0001-01-01", "4 digit year"); f = new SimpleDateFormat("''yyyy-MM-dd''"); harness.check (f.format(g.getTime()), "'0001-01-01'", "quoting 1"); f = new SimpleDateFormat("'' '' '''FOO''' '' ''"); harness.check (f.format(g.getTime()), "' ' 'FOO' ' '", "quoting 2"); long someTime = 1098968427000L; // 04-10-28 14:00:27 GMT SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd HHmmss z"); sdf.setTimeZone(TimeZone.getTimeZone("GMT")); String str = sdf.format(new Date(someTime)); sdf.setTimeZone(TimeZone.getTimeZone("CET")); try { harness.check(sdf.parse(str).getTime(), someTime, "DST timezone"); } catch (ParseException _) { harness.debug (_); harness.check (false, "DST timezone"); } sdf = new SimpleDateFormat("yy-MM-dd HH:mm:ss Z"); sdf.setTimeZone(TimeZone.getTimeZone("America/New_York")); someTime = 1098968427000L; // 04-10-28 14:00:27 GMT harness.check(sdf.format(new Date(someTime)), "04-10-28 09:00:27 -0400"); harness.checkPoint("PR 28658"); sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss yyyy", Locale.US); try { Date d1 = sdf.parse("Sun Nov 6 08:49:37 1994"); Date d2 = sdf.parse("Sun Nov 6 08:49:37 1994"); harness.check(d1, d2); } catch (ParseException _) { harness.debug(_); harness.debug("index: " + _.getErrorOffset()); harness.check(false); } } } mauve-20140821/gnu/testlet/java/text/SimpleDateFormat/Test.java0000644000175000001440000000753207667702350023134 0ustar dokousers/************************************************************************* /* Test.java -- Test java.text.SimpleDateFormat /* /* Copyright (c) 1998, 1999, 2001, 2003 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.text.SimpleDateFormat; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.*; import java.util.*; public class Test implements Testlet { public void test(TestHarness harness) { String pattern_chars = "GyMdhHmsSEDFwWakKz"; String pattern = "EEEE, MMMM d, yyyy h:mm:ss 'o''clock' a"; DateFormatSymbols dfs = new DateFormatSymbols(Locale.US); SimpleDateFormat sdf = new SimpleDateFormat(pattern, dfs); harness.check(sdf.getDateFormatSymbols(), dfs, "getDateFormatSymbols() init"); String[] ampms = { "am ", "pm " }; dfs.setAmPmStrings(ampms); sdf.setDateFormatSymbols(dfs); harness.check(sdf.getDateFormatSymbols(), dfs, "set/getDateFormatSymbols()"); harness.check(sdf.toPattern(), pattern, "toPattern init"); String new_pattern = "EMdyH"; sdf.applyPattern(new_pattern); harness.check(sdf.toPattern(), new_pattern, "apply/toPattern()"); sdf.applyPattern(pattern); harness.check(sdf.equals(new SimpleDateFormat(pattern, dfs)), "equals()"); harness.check(sdf.clone().equals(sdf) == true, "clone()"); sdf.setTimeZone(TimeZone.getTimeZone("GMT")); Date d = new Date(0); String formatted_date = sdf.format(d); harness.debug(formatted_date); harness.check(formatted_date.equals( "Thursday, January 1, 1970 12:00:00 o'clock am "), "format()"); sdf.setLenient(false); try { harness.check(sdf.parse(formatted_date), d, "parse() strict"); } catch(Throwable e) { harness.debug(e); harness.check(false, "parse() strict"); } sdf.setTimeZone(TimeZone.getDefault()); harness.debug(sdf.format(new Date(System.currentTimeMillis()))); // Now do some lenient parsing tests. These might not all work. dfs = new DateFormatSymbols(Locale.US); sdf = new SimpleDateFormat(pattern, dfs); sdf.setLenient(true); String[] date_strs = { "Tue Feb 23 20:15:34 CST 1999", "10/31/69", "1999/02/23", "6.9.98 12:43pm", "Monday, February 22, 1999 10:24:43", "Wed Feb 24 19:35:02 1999 and a bunch more text", "Wed, 24 Feb 1999 05:12:21 GMT" }; harness.debug("The following tests are informational only"); for (int i = 0; i < date_strs.length; i++) { d = null; try { d = sdf.parse(date_strs[i]); } catch(Throwable e) { ; } if (d == null) harness.debug("Couldn't parse: " + date_strs[i]); else harness.debug("Parsed: " + date_strs[i] + " as: " + d); } sdf = new SimpleDateFormat("MM'/'dd'/'yyyy' 'H':'m':'s'.'SSS"); boolean ok = true; try { d = sdf.parse("05/24/2002 14:30:53.700"); // For the time being only check to make sure something // happened. ok = d != null; } catch (Exception _) { ok = false; } harness.check(ok, "format includes '.'"); } } // class Test mauve-20140821/gnu/testlet/java/text/SimpleDateFormat/setDateFormatSymbols.java0000644000175000001440000000443710645757172026333 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.SimpleDateFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DateFormatSymbols; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; import java.util.TimeZone; /** * Some checks for the setDateFormatSymbols() method in the SimpleDateFormat * class. */ public class setDateFormatSymbols implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not allowed). */ public void test(TestHarness harness) { // check that changing the short weekdays does work... SimpleDateFormat sdf = new SimpleDateFormat("E", Locale.UK); sdf.setTimeZone(TimeZone.getTimeZone("UTC")); Date jan1_2005 = new Date(1104537600000L); harness.check(sdf.format(jan1_2005), "Sat"); DateFormatSymbols s = sdf.getDateFormatSymbols(); s.setShortWeekdays(new String[] {"-", "S", "M", "T", "W", "T", "F", "S"}); // remember s is just a copy of the original sdf.setDateFormatSymbols(s); harness.check(sdf.format(jan1_2005), "S"); // check null argument - it isn't mentioned in the spec that this // should throw a NullPointerException, but that is such common // behaviour elsewhere that I'm assuming this is the expected // result try { sdf.setDateFormatSymbols(null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/text/SimpleDateFormat/Cloning.java0000644000175000001440000000317010644474650023576 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.SimpleDateFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.SimpleDateFormat; import java.util.Date; /** * Check for correct cloning behaviour in the SimpleDateFormat * class. */ public class Cloning implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not allowed). */ public void test(TestHarness harness) { SimpleDateFormat format1 = new SimpleDateFormat(); SimpleDateFormat format2 = (SimpleDateFormat) format1.clone(); harness.check(format1.getDateFormatSymbols() != format2.getDateFormatSymbols(), "Cloned symbols"); harness.check(format1.get2DigitYearStart().equals(format2.get2DigitYearStart()), "Cloned 2 digit year start date"); } } mauve-20140821/gnu/testlet/java/text/SimpleDateFormat/toPattern.java0000644000175000001440000000274210202234474024155 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.SimpleDateFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.SimpleDateFormat; import java.util.Locale; /** * Some checks for the toPattern() method in the SimpleDateFormat * class. */ public class toPattern implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not allowed). */ public void test(TestHarness harness) { SimpleDateFormat f = new SimpleDateFormat("yyyy", Locale.FRENCH); harness.check(f.toPattern(), "yyyy"); f.applyPattern("d-MMM-yyyy"); harness.check(f.toPattern(), "d-MMM-yyyy"); } } mauve-20140821/gnu/testlet/java/text/SimpleDateFormat/applyPattern.java0000644000175000001440000000373411746257032024673 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.text.SimpleDateFormat; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DateFormatSymbols; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; /** * Some checks for the applyPattern() method in the SimpleDateFormat * class. */ public class applyPattern implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not allowed). */ public void test(TestHarness harness) { SimpleDateFormat f = new SimpleDateFormat("yyyy", Locale.FRENCH); f.applyPattern("d-MMM-yyyy"); harness.check(f.toPattern(), "d-MMM-yyyy"); // try invalid argument try { // "XYZ" was used here, but incidentally "X" and "Z" // are now correct patterns in JDK7 f.applyPattern("QYZ"); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } // try null argument try { f.applyPattern(null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/text/SimpleDateFormat/getAndSet2DigitYearStart.java0000644000175000001440000000175307271723670026773 0ustar dokousers// Tags: JDK1.2 // Copyright (c) 1999, 2001 Free Software Foundation // This file is part of Mauve. package gnu.testlet.java.text.SimpleDateFormat; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.*; import java.util.*; public class getAndSet2DigitYearStart implements Testlet { public void test (TestHarness harness) { String pattern = "EEEE, MMMM d, yyyy h:mm:ss 'o''clock' a"; DateFormatSymbols dfs = new DateFormatSymbols(Locale.US); SimpleDateFormat sdf = new SimpleDateFormat(pattern, dfs); // I removed this test as it relied on the year never changing. // -tromey // This unusual value seems to be what the JDK outputs. // harness.check(sdf.get2DigitYearStart(), new Date(-1608614014805L), // "get2DigitYearStart() initial"); Date d = new Date(System.currentTimeMillis()); sdf.set2DigitYearStart(d); harness.check(sdf.get2DigitYearStart(), d, "set/get2DigitYearStart()"); } } mauve-20140821/gnu/testlet/java/io/0000755000175000001440000000000012375316426015563 5ustar dokousersmauve-20140821/gnu/testlet/java/io/Reader/0000755000175000001440000000000012375316426016765 5ustar dokousersmauve-20140821/gnu/testlet/java/io/Reader/Test.java0000644000175000001440000000634107605162712020550 0ustar dokousers/************************************************************************* /* Test.java -- Test Reader /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Daryl Lee (dolee@sources.redhat.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.Reader; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.Reader; import java.io.IOException; public class Test extends Reader implements Testlet { private int index; private String s; public Test() { } Test(String str) { super(); s = str; index = 0; } public int read(char cbuf[], int off, int len) throws IOException { int i; for (i = 0; i < len; i++) { cbuf[off + i] = s.charAt(index++); } return (i); } public void close() throws IOException { // nothing to do } public void test(TestHarness harness) { String str = "There are a ton of great places to see live, original\n" + "music in Chicago. Places like Lounge Ax, Schuba's, the Empty\n" + "Bottle, and even the dreaded Metro with their sometimes asshole\n" + "bouncers.\n"; Test sr = new Test(str); harness.check(true, "StringReader(String)"); try { // 1.1 API does not correctly document this exception harness.check(!sr.ready(), "ready()"); } catch (IOException e) { harness.fail("Unexpected IOException on ready()"); } harness.check(!sr.markSupported(), "markSupported()"); try { sr.mark(0); // For this class, readahead limit should be ignored harness.fail("mark() should throw exception"); } catch (IOException e) { harness.check(true, "mark()"); } char[] buf = new char[4]; try { harness.check(sr.read(buf, 0, 4), 4, "read(buf, off, len) return value");; String bufstr = new String(buf); harness.check(bufstr, "Ther", "read(buf, off, len)"); } catch (IOException e) { harness.fail("Unexpected IOException on read(buf, off, len)"); } try { // 1.1 API does not correctly document this exception sr.reset(); harness.fail("Expected IOException on reset()"); } catch (IOException e) { harness.check(true, "reset()"); } try { sr.skip(8); } catch (IOException e) { harness.fail("Unexpected IOException on skip()"); } try { harness.check(sr.read(), 't', "skip(), read()"); } catch (IOException e) { harness.fail("Unexpected IOException on read()"); } try { sr.close(); } catch (IOException e) { harness.fail("Unexpected IOException on close()"); } harness.check(true, "close()"); } } // class Test mauve-20140821/gnu/testlet/java/io/IOError/0000755000175000001440000000000012375316426017104 5ustar dokousersmauve-20140821/gnu/testlet/java/io/IOError/constructor.java0000644000175000001440000000327712032255366022340 0ustar dokousers// Test if instances of a class java.io.IOError could be properly constructed // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.IOError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOError; /** * Test if instances of a class java.io.IOError * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IOError object1 = new IOError(new Throwable("e")); harness.check(object1 != null); harness.check(object1.toString().contains("java.io.IOError")); harness.check(object1.toString().contains("Throwable")); IOError object2 = new IOError(null); harness.check(object2 != null); harness.check(object2.toString(), "java.io.IOError"); } } mauve-20140821/gnu/testlet/java/io/IOError/TryCatch.java0000644000175000001440000000313712032255366021467 0ustar dokousers// Test if try-catch block is working properly for a class java.io.IOError // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.IOError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOError; /** * Test if try-catch block is working properly for a class java.io.IOError */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new IOError(new Throwable("e")); } catch (IOError e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/io/IOError/classInfo/0000755000175000001440000000000012375316426021025 5ustar dokousersmauve-20140821/gnu/testlet/java/io/IOError/classInfo/getPackage.java0000644000175000001440000000302712032255366023720 0ustar dokousers// Test for method java.io.IOError.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.IOError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOError; /** * Test for method java.io.IOError.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new IOError(null); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.io"); } } mauve-20140821/gnu/testlet/java/io/IOError/classInfo/getInterfaces.java0000644000175000001440000000307112032255366024447 0ustar dokousers// Test for method java.io.IOError.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.IOError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOError; import java.util.List; import java.util.Arrays; /** * Test for method java.io.IOError.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new IOError(null); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/io/IOError/classInfo/getModifiers.java0000644000175000001440000000426212032255366024310 0ustar dokousers// Test for method java.io.IOError.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.IOError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOError; import java.lang.reflect.Modifier; /** * Test for method java.io.IOError.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new IOError(null); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/io/IOError/classInfo/isPrimitive.java0000644000175000001440000000276612032255366024202 0ustar dokousers// Test for method java.io.IOError.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.IOError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOError; /** * Test for method java.io.IOError.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new IOError(null); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/io/IOError/classInfo/getSimpleName.java0000644000175000001440000000300212032255366024410 0ustar dokousers// Test for method java.io.IOError.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.IOError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOError; /** * Test for method java.io.IOError.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new IOError(null); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "IOError"); } } mauve-20140821/gnu/testlet/java/io/IOError/classInfo/isSynthetic.java0000644000175000001440000000276612032255366024204 0ustar dokousers// Test for method java.io.IOError.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.IOError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOError; /** * Test for method java.io.IOError.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new IOError(null); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/io/IOError/classInfo/isInstance.java0000644000175000001440000000300212032255366023756 0ustar dokousers// Test for method java.io.IOError.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.IOError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOError; /** * Test for method java.io.IOError.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new IOError(null); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new IOError(null))); } } mauve-20140821/gnu/testlet/java/io/IOError/classInfo/isMemberClass.java0000644000175000001440000000277612032255366024430 0ustar dokousers// Test for method java.io.IOError.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.IOError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOError; /** * Test for method java.io.IOError.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new IOError(null); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/io/IOError/classInfo/getSuperclass.java0000644000175000001440000000307312032255366024512 0ustar dokousers// Test for method java.io.IOError.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.IOError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOError; /** * Test for method java.io.IOError.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new IOError(null); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.Error"); } } mauve-20140821/gnu/testlet/java/io/IOError/classInfo/InstanceOf.java0000644000175000001440000000336212032255366023720 0ustar dokousers// Test for instanceof operator applied to a class java.io.IOError // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.IOError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOError; import java.lang.Error; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.io.IOError */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IOError IOError o = new IOError(null); // basic check of instanceof operator harness.check(o instanceof IOError); // check operator instanceof against all superclasses harness.check(o instanceof Error); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/io/IOError/classInfo/isInterface.java0000644000175000001440000000276612032255366024132 0ustar dokousers// Test for method java.io.IOError.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.IOError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOError; /** * Test for method java.io.IOError.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new IOError(null); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/io/IOError/classInfo/isAssignableFrom.java0000644000175000001440000000302512032255366025113 0ustar dokousers// Test for method java.io.IOError.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.IOError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOError; /** * Test for method java.io.IOError.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new IOError(null); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(IOError.class)); } } mauve-20140821/gnu/testlet/java/io/IOError/classInfo/isLocalClass.java0000644000175000001440000000277212032255366024247 0ustar dokousers// Test for method java.io.IOError.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.IOError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOError; /** * Test for method java.io.IOError.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new IOError(null); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/io/IOError/classInfo/getName.java0000644000175000001440000000276212032255366023252 0ustar dokousers// Test for method java.io.IOError.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.IOError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOError; /** * Test for method java.io.IOError.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new IOError(null); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.io.IOError"); } } mauve-20140821/gnu/testlet/java/io/WriteAbortedException/0000755000175000001440000000000012375316426022035 5ustar dokousersmauve-20140821/gnu/testlet/java/io/WriteAbortedException/constructor.java0000644000175000001440000000467212035237723025271 0ustar dokousers// Test if instances of a class java.io.WriteAbortedException could be properly constructed // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.WriteAbortedException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.WriteAbortedException; /** * Test if instances of a class java.io.WriteAbortedException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { WriteAbortedException object1 = new WriteAbortedException(null, null); harness.check(object1 != null); harness.check(object1.toString().contains("java.io.WriteAbortedException")); WriteAbortedException object2 = new WriteAbortedException("nothing happens", null); harness.check(object2 != null); harness.check(object2.toString().contains("java.io.WriteAbortedException: nothing happens")); WriteAbortedException object3 = new WriteAbortedException(null, new Exception("e")); harness.check(object3 != null); harness.check(object3.toString().contains("java.io.WriteAbortedException")); harness.check(object3.toString().contains("Exception")); WriteAbortedException object4 = new WriteAbortedException("nothing happens", new Exception("e")); harness.check(object4 != null); harness.check(object4.toString().contains("java.io.WriteAbortedException")); harness.check(object4.toString().contains("Exception")); harness.check(object4.toString().contains("nothing happens")); } } mauve-20140821/gnu/testlet/java/io/WriteAbortedException/TryCatch.java0000644000175000001440000000331412035237723024415 0ustar dokousers// Test if try-catch block is working properly for a class java.io.WriteAbortedException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.WriteAbortedException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.WriteAbortedException; /** * Test if try-catch block is working properly for a class java.io.WriteAbortedException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new WriteAbortedException("WriteAbortedException", new Exception("e")); } catch (WriteAbortedException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/io/WriteAbortedException/classInfo/0000755000175000001440000000000012375316426023756 5ustar dokousersmauve-20140821/gnu/testlet/java/io/WriteAbortedException/classInfo/getPackage.java0000644000175000001440000000316412035237723026653 0ustar dokousers// Test for method java.io.WriteAbortedException.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.WriteAbortedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.WriteAbortedException; /** * Test for method java.io.WriteAbortedException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new WriteAbortedException("xyzzy", new Exception("e")); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.io"); } } mauve-20140821/gnu/testlet/java/io/WriteAbortedException/classInfo/getInterfaces.java0000644000175000001440000000322612035237723027402 0ustar dokousers// Test for method java.io.WriteAbortedException.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.WriteAbortedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.WriteAbortedException; import java.util.List; import java.util.Arrays; /** * Test for method java.io.WriteAbortedException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new WriteAbortedException("xyzzy", new Exception("e")); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/io/WriteAbortedException/classInfo/getModifiers.java0000644000175000001440000000441712035237723027243 0ustar dokousers// Test for method java.io.WriteAbortedException.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.WriteAbortedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.WriteAbortedException; import java.lang.reflect.Modifier; /** * Test for method java.io.WriteAbortedException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new WriteAbortedException("xyzzy", new Exception("e")); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/io/WriteAbortedException/classInfo/isPrimitive.java0000644000175000001440000000312312035237723027117 0ustar dokousers// Test for method java.io.WriteAbortedException.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.WriteAbortedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.WriteAbortedException; /** * Test for method java.io.WriteAbortedException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new WriteAbortedException("xyzzy", new Exception("e")); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/io/WriteAbortedException/classInfo/getSimpleName.java0000644000175000001440000000315512035237723027352 0ustar dokousers// Test for method java.io.WriteAbortedException.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.WriteAbortedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.WriteAbortedException; /** * Test for method java.io.WriteAbortedException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new WriteAbortedException("xyzzy", new Exception("e")); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "WriteAbortedException"); } } mauve-20140821/gnu/testlet/java/io/WriteAbortedException/classInfo/isSynthetic.java0000644000175000001440000000312312035237723027121 0ustar dokousers// Test for method java.io.WriteAbortedException.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.WriteAbortedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.WriteAbortedException; /** * Test for method java.io.WriteAbortedException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new WriteAbortedException("xyzzy", new Exception("e")); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/io/WriteAbortedException/classInfo/isInstance.java0000644000175000001440000000320412035237723026713 0ustar dokousers// Test for method java.io.WriteAbortedException.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.WriteAbortedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.WriteAbortedException; /** * Test for method java.io.WriteAbortedException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new WriteAbortedException("xyzzy", new Exception("e")); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new WriteAbortedException("xyzzy", new Exception("e")))); } } mauve-20140821/gnu/testlet/java/io/WriteAbortedException/classInfo/isMemberClass.java0000644000175000001440000000313312035237723027345 0ustar dokousers// Test for method java.io.WriteAbortedException.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.WriteAbortedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.WriteAbortedException; /** * Test for method java.io.WriteAbortedException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new WriteAbortedException("xyzzy", new Exception("e")); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/io/WriteAbortedException/classInfo/getSuperclass.java0000644000175000001440000000324612035237723027445 0ustar dokousers// Test for method java.io.WriteAbortedException.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.WriteAbortedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.WriteAbortedException; /** * Test for method java.io.WriteAbortedException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new WriteAbortedException("xyzzy", new Exception("e")); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.io.ObjectStreamException"); } } mauve-20140821/gnu/testlet/java/io/WriteAbortedException/classInfo/InstanceOf.java0000644000175000001440000000405712035237723026653 0ustar dokousers// Test for instanceof operator applied to a class java.io.WriteAbortedException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.WriteAbortedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.WriteAbortedException; import java.io.ObjectStreamException; import java.io.IOException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.io.WriteAbortedException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class WriteAbortedException WriteAbortedException o = new WriteAbortedException("xyzzy", new Exception("e")); // basic check of instanceof operator harness.check(o instanceof WriteAbortedException); // check operator instanceof against all superclasses harness.check(o instanceof ObjectStreamException); harness.check(o instanceof IOException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/io/WriteAbortedException/classInfo/isInterface.java0000644000175000001440000000312312035237723027047 0ustar dokousers// Test for method java.io.WriteAbortedException.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.WriteAbortedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.WriteAbortedException; /** * Test for method java.io.WriteAbortedException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new WriteAbortedException("xyzzy", new Exception("e")); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/io/WriteAbortedException/classInfo/isAssignableFrom.java0000644000175000001440000000320012035237723030037 0ustar dokousers// Test for method java.io.WriteAbortedException.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.WriteAbortedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.WriteAbortedException; /** * Test for method java.io.WriteAbortedException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new WriteAbortedException("xyzzy", new Exception("e")); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(WriteAbortedException.class)); } } mauve-20140821/gnu/testlet/java/io/WriteAbortedException/classInfo/isLocalClass.java0000644000175000001440000000312712035237723027173 0ustar dokousers// Test for method java.io.WriteAbortedException.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.WriteAbortedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.WriteAbortedException; /** * Test for method java.io.WriteAbortedException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new WriteAbortedException("xyzzy", new Exception("e")); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/io/WriteAbortedException/classInfo/getName.java0000644000175000001440000000313512035237723026176 0ustar dokousers// Test for method java.io.WriteAbortedException.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.WriteAbortedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.WriteAbortedException; /** * Test for method java.io.WriteAbortedException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new WriteAbortedException("xyzzy", new Exception("e")); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.io.WriteAbortedException"); } } mauve-20140821/gnu/testlet/java/io/StringBufferInputStream/0000755000175000001440000000000012375316426022357 5ustar dokousersmauve-20140821/gnu/testlet/java/io/StringBufferInputStream/SimpleRead.java0000644000175000001440000000412706637714606025261 0ustar dokousers/************************************************************************* /* SimpleRead.java -- StringBufferInputStream simple read test /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.0 package gnu.testlet.java.io.StringBufferInputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class SimpleRead implements Testlet { public void test(TestHarness harness) { String str = "Between my freshman and sophomore years of high school\n" + "we moved into a brand new building. The old high school was turned\n" + "into an elementary school.\n"; StringBufferInputStream sbis = new StringBufferInputStream(str); try { int bytes_read, total_read = 0; StringBuffer sb = new StringBuffer(""); byte[] read_buf = new byte[12]; while ((bytes_read = sbis.read(read_buf, 0, read_buf.length)) != -1) { sb.append(new String(read_buf, 0, bytes_read)); total_read += bytes_read; } harness.debug(sb.toString()); sbis.close(); harness.check(total_read, str.length(), "Bytes read"); harness.check(str, sb.toString(), "String contents"); } catch (IOException e) { harness.debug(e); harness.check(false); } } } mauve-20140821/gnu/testlet/java/io/StringBufferInputStream/ProtectedVars.java0000644000175000001440000000402706637714605026017 0ustar dokousers/************************************************************************* /* ProtectedVars.java -- StringBufferInputStream protected variables /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.0 package gnu.testlet.java.io.StringBufferInputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class ProtectedVars extends StringBufferInputStream implements Testlet { public ProtectedVars(String b) { super(b); } // The constructor for the test suite. public ProtectedVars () { super(""); } public void test(TestHarness harness) { String str = "Between my freshman and sophomore years of high school\n" + "we moved into a brand new building. The old high school was turned\n" + "into an elementary school.\n"; ProtectedVars sbis = new ProtectedVars(str); byte[] read_buf = new byte[12]; try { sbis.read(read_buf); sbis.mark(0); sbis.read(read_buf); harness.check(sbis.pos, read_buf.length * 2, "pos"); harness.check(sbis.count, str.length(), "count"); harness.check(sbis.buffer, str, "buf"); } catch (IOException e) { harness.debug(e); harness.check(false); } } } mauve-20140821/gnu/testlet/java/io/StringBufferInputStream/MarkReset.java0000644000175000001440000000417206637714604025127 0ustar dokousers/************************************************************************* /* MarkReset.java -- StringBufferInputStream mark/reset test /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.0 package gnu.testlet.java.io.StringBufferInputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class MarkReset implements Testlet { public void test(TestHarness harness) { String str = "Between my freshman and sophomore years of high school\n" + "we moved into a brand new building. The old high school was turned\n" + "into an elementary school.\n"; StringBufferInputStream sbis = new StringBufferInputStream(str); try { boolean passed = true; byte[] read_buf = new byte[12]; sbis.read(read_buf); harness.check(sbis.available(), str.length() - read_buf.length, "available pre skip"); harness.check(sbis.skip(5), 5, "skip"); harness.check(sbis.available(), str.length() - (read_buf.length + 5), "available post skip"); harness.check(!sbis.markSupported(), "markSupported"); sbis.reset(); harness.check(sbis.available(), str.length(), "reset()"); } catch(IOException e) { harness.debug(e); harness.check(false); } } } mauve-20140821/gnu/testlet/java/io/BufferedReader/0000755000175000001440000000000012375316426020430 5ustar dokousersmauve-20140821/gnu/testlet/java/io/BufferedReader/boundary.java0000644000175000001440000000367007550600273023117 0ustar dokousers// Test of a boundary case in BufferedReader /************************************************************************* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.BufferedReader; import java.io.*; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class boundary implements Testlet { public void test (TestHarness harness) { try { // This test comes from gcj PR 6301. String str = "abcd\r\nefghijklm\r\n"; StringReader sr = new StringReader(str); // `5' here makes the buffer stop between the \r and the \n. BufferedReader br = new BufferedReader(sr, 5); String l1 = br.readLine(); harness.check(l1, "abcd"); br.mark(1); char c = (char) br.read(); harness.check(c, 'e'); br.reset(); // The libgcj/Classpath bug is that BufferedReader gets confused // and returns "" here. String l2 = br.readLine(); harness.check(l2, "efghijklm"); // check ready() and skip() sr = new StringReader("efghijklm\n"); br = new BufferedReader(sr); harness.check(br.ready(), "ready()"); br.skip(2L); l2 = br.readLine(); harness.check(l2, "ghijklm"); } catch (IOException e) { harness.debug(e); harness.check(false); } } } mauve-20140821/gnu/testlet/java/io/BufferedReader/SimpleRead.java0000644000175000001440000000453706641234521023323 0ustar dokousers/************************************************************************* /* SimpleRead.java -- BufferedReader simple read test /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.BufferedReader; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class SimpleRead implements Testlet { public void test(TestHarness harness) { try { String str = "My 5th grade teacher was named Mr. Thompson. Terry\n" + "George Thompson to be precise. He had these sideburns like\n" + "Isaac Asimov's, only uglier. One time he had a contest and said\n" + "that if any kid who could lift 50lbs worth of weights on a barbell\n" + "all the way over their head, he would shave it off. Nobody could\n" + "though. One time I guess I made a comment about how stupid his\n" + "sideburns worked and he not only kicked me out of class, he called\n" + "my mother. Jerk.\n"; StringReader sr = new StringReader(str); BufferedReader br = new BufferedReader(sr, 15); char[] buf = new char[12]; int chars_read, total_read = 0; while((chars_read = br.read(buf)) != -1) { harness.debug(new String(buf, 0, chars_read), false); total_read += chars_read; } br.close(); harness.check(total_read, str.length(), "total_read"); } catch (IOException e) { harness.debug(e); harness.check(false); } } // main } // class SimpleRead mauve-20140821/gnu/testlet/java/io/BufferedReader/MarkReset.java0000644000175000001440000001164706641234521023173 0ustar dokousers/************************************************************************* /* MarkRest.java -- Tests BufferedReader mark/reset functionality /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.BufferedReader; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class MarkReset extends CharArrayReader implements Testlet { // Hehe. We override CharArrayReader.markSupported() in order to return // false so that we can test BufferedReader's handling of mark/reset in // both the case where the underlying stream does and does not support // mark/reset public boolean markSupported() { return(false); } public MarkReset(char[] buf) { super(buf); } // Constructor for test suite public MarkReset() { super(new char[1]); } public static int marktest(Reader ins, TestHarness harness) throws IOException { BufferedReader br = new BufferedReader(ins, 15); int chars_read; int total_read = 0; char[] buf = new char[12]; chars_read = br.read(buf); total_read += chars_read; harness.debug(new String(buf, 0, chars_read), false); chars_read = br.read(buf); total_read += chars_read; harness.debug(new String(buf, 0, chars_read), false); br.mark(75); br.read(); br.read(buf); br.read(buf); br.read(buf); br.reset(); chars_read = br.read(buf); total_read += chars_read; harness.debug(new String(buf, 0, chars_read), false); br.mark(555); chars_read = br.read(buf); total_read += chars_read; harness.debug(new String(buf, 0, chars_read), false); br.reset(); br.read(buf); chars_read = br.read(buf); total_read += chars_read; harness.debug(new String(buf, 0, chars_read), false); chars_read = br.read(buf); total_read += chars_read; harness.debug(new String(buf, 0, chars_read), false); br.mark(14); br.read(buf); br.reset(); chars_read = br.read(buf); total_read += chars_read; harness.debug(new String(buf, 0, chars_read), false); while ((chars_read = br.read(buf)) != -1) { harness.debug(new String(buf, 0, chars_read), false); total_read += chars_read; } return(total_read); } public void test(TestHarness harness) { try { harness.debug("First mark/reset test series"); harness.debug("Underlying reader supports mark/reset"); String str = "Growing up in a rural area brings such delights. One\n" + "time my uncle called me up and asked me to come over and help him\n" + "out with something. Since he lived right across the field, I\n" + "walked right over. Turned out he wanted me to come down to the\n" + "barn and help him castrate a calf. Oh, that was fun. Not.\n"; StringReader sr = new StringReader(str); BufferedReader br = new BufferedReader(sr); int total_read = marktest(br, harness); harness.check(total_read, str.length(), "total_read"); } catch (IOException e) { harness.debug(e); harness.check(false); } try { harness.debug("Second mark/reset test series"); harness.debug("Underlying reader does not support mark/reset"); String str = "Growing up we heated our house with a wood stove. That\n" + "thing could pump out some BTU's, let me tell you. No matter how\n" + "cold it got outside, it was always warm inside. Of course the\n" + "downside is that somebody had to chop the wood for the stove. That\n" + "somebody was me. I was slave labor. My uncle would go back and\n" + "chain saw up dead trees and I would load the wood in wagons and\n" + "split it with a maul. Somehow my no account brother always seemed\n" + "to get out of having to work.\n"; char[] buf = new char[str.length()]; str.getChars(0, str.length(), buf, 0); MarkReset mr = new MarkReset(buf); BufferedReader br = new BufferedReader(mr); int total_read = marktest(br, harness); harness.check(total_read, str.length(), "total_read"); } catch (IOException e) { harness.debug(e); harness.check(false); } } // main } // class MarkReset mauve-20140821/gnu/testlet/java/io/BufferedReader/mark.java0000644000175000001440000000417310233265055022222 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2005 Free Software Foundation // Contributed by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.io.BufferedReader; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; /** * Small test based on a regression in GNU Classpath. */ public class mark implements Testlet { public void test(TestHarness harness) { try { byte[] bs = new byte[] { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h' ,'i', 'j', 'k', 'l', 'm', 'n' }; ByteArrayInputStream bais = new ByteArrayInputStream(bs); InputStreamReader isr = new InputStreamReader(bais, "utf-8"); BufferedReader br = new BufferedReader(isr); char[] cs = new char[4]; br.mark(4); br.read(cs); harness.check('a', cs[0]); harness.check('b', cs[1]); harness.check('c', cs[2]); harness.check('d', cs[3]); br.reset(); br.mark(12); harness.check('a', br.read()); harness.check('b', br.read()); harness.check('c', br.read()); harness.check('d', br.read()); harness.check('e', br.read()); harness.check('f', br.read()); harness.check('g', br.read()); harness.check('h', br.read()); harness.check('i', br.read()); harness.check('j', br.read()); harness.check('k', br.read()); harness.check('l', br.read()); harness.check('m', br.read()); harness.check('n', br.read()); harness.check(-1, br.read()); } catch (IOException e) { harness.debug(e); harness.check(false); } } } mauve-20140821/gnu/testlet/java/io/LineNumberInputStream/0000755000175000001440000000000012375316426022017 5ustar dokousersmauve-20140821/gnu/testlet/java/io/LineNumberInputStream/Test.java0000644000175000001440000000577306641474564023624 0ustar dokousers/************************************************************************* /* Test.java -- Test LineNumberInputStream /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.0 package gnu.testlet.java.io.LineNumberInputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class Test implements Testlet { public void test(TestHarness harness) { try { String str = "I grew up by a small town called Laconia, Indiana\r" + "which has a population of about 64 people. But I didn't live\r\n" + "in town. I lived on a gravel road about 4 miles away.\n" + "They paved that road\n"; StringBufferInputStream sbis = new StringBufferInputStream(str); LineNumberInputStream lnis = new LineNumberInputStream(sbis); lnis.setLineNumber(2); byte[] buf = new byte[32]; int bytes_read; while ((bytes_read = lnis.read(buf)) != -1) { str = new String(buf, 0, bytes_read); if (str.indexOf("\r") != -1) { harness.debug("\nFound an unexpected \\r\n"); harness.check(false); } harness.debug(str, false); } harness.check(lnis.getLineNumber(), 6, "getLineNumber - first test"); } catch(IOException e) { harness.debug(e); harness.check(false); } try { String str = "One time I was playing kickball on the playground\n" + "in 4th grade and my friends kept talking about how they smelled\n" + "pot. I kept asking them what they smelled because I couldn't\n" + "figure out how a pot could have a smell"; StringBufferInputStream sbis = new StringBufferInputStream(str); LineNumberInputStream lnis = new LineNumberInputStream(sbis); byte[] buf = new byte[32]; int bytes_read; while ((bytes_read = lnis.read(buf)) != -1) harness.debug(new String(buf, 0, bytes_read), false); harness.debug(""); harness.check(lnis.getLineNumber(), 3, "getLineNumber - second test"); } catch(IOException e) { harness.debug(e); harness.check(false); } } } // class Test mauve-20140821/gnu/testlet/java/io/ObjectInputStream/0000755000175000001440000000000012375316426021165 5ustar dokousersmauve-20140821/gnu/testlet/java/io/ObjectInputStream/ReadResolveHelper.java0000644000175000001440000000336610335454457025414 0ustar dokousers//Tags: not-a-test //Copyright (C) 2005 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.io.ObjectInputStream; import java.io.InvalidObjectException; import java.io.ObjectStreamException; import java.io.Serializable; /** * Helper class for readResolve. Provides a readResolve method and depending on * the value given to the constructor throws different error and exception types * for testing or returns successfully in the default case. */ public class ReadResolveHelper implements Serializable { public int value; public ReadResolveHelper(int value) { this.value = value; } protected Object readResolve() throws ObjectStreamException { switch (value) { case 1: // any error throw new Error(); case 2: // runtime exception throw new RuntimeException("RuntimeException"); case 3: // objectstreamexception throw new InvalidObjectException("InvalidObjectException"); default: return new ReadResolveHelper(4); } } }mauve-20140821/gnu/testlet/java/io/ObjectInputStream/TestObjectInputValidation.java0000644000175000001440000000544710331501043027120 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.io.ObjectInputStream; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectInput; import java.io.ObjectInputStream; import java.io.ObjectInputValidation; import java.io.ObjectOutput; import java.io.ObjectOutputStream; import java.io.Serializable; import java.util.ArrayList; class TestObjectInputValidation implements ObjectInputValidation, Serializable { ArrayList validated; private String name; private int priority; TestObjectInputValidation object; public TestObjectInputValidation(String name) { this.name = name; this.priority = 10; this.object = this; } // Registers with priority for given object. public TestObjectInputValidation(int priority, TestObjectInputValidation object) { this.priority = priority; this.object = object; } public void validateObject() { if (object.validated == null) object.validated = new ArrayList(); object.validated.add(new Integer(priority)); } private void writeObject(ObjectOutputStream stream) throws IOException { stream.defaultWriteObject(); } private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException { stream.registerValidation(this, 10); stream.registerValidation(new TestObjectInputValidation(-10, this), -10); stream.defaultReadObject(); stream.registerValidation(this, 12); // Again with other priority stream.registerValidation(new TestObjectInputValidation(-12, this), -12); stream.registerValidation(new TestObjectInputValidation(11, this), 11); } // Ignores validated list and object. public boolean equals(Object o) { if (o instanceof TestObjectInputValidation) { TestObjectInputValidation other = (TestObjectInputValidation) o; return this.name.equals(other.name) && this.priority == other.priority; } return false; } } mauve-20140821/gnu/testlet/java/io/ObjectInputStream/registerValidation.java0000644000175000001440000000547610331501043025660 0ustar dokousers// Tags: JDK1.1 // Uses: TestObjectInputValidation // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.io.ObjectInputStream; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectInput; import java.io.ObjectInputStream; import java.io.ObjectInputValidation; import java.io.ObjectOutput; import java.io.ObjectOutputStream; import java.io.Serializable; import java.util.ArrayList; /** * Some checks for registerValidation() method of the {@link ObjectInputStream} class. */ public class registerValidation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TestObjectInputValidation t1 = new TestObjectInputValidation("Name1"); TestObjectInputValidation t2 = null; try { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); ObjectOutput out = new ObjectOutputStream(buffer); out.writeObject(t1); out.close(); ObjectInput in = new ObjectInputStream( new ByteArrayInputStream(buffer.toByteArray()) ); t2 = (TestObjectInputValidation) in.readObject(); in.close(); harness.check(t2, t1); // name and priority the same harness.check(t2.object, t2); // has self-reference harness.check(t2.validated != null); Object[] ps = t2.validated.toArray(); int[] priorities = new int[ps.length]; for (int i = 0; i < ps.length; i++) priorities[i] = ((Integer) ps[i]).intValue(); harness.check(priorities != null); harness.check(priorities.length, 5); harness.check(priorities[0], -12); harness.check(priorities[1], -10); harness.check(priorities[2], 10); harness.check(priorities[3], 11); harness.check(priorities[4], 10); // The priority 12 "this" again. } catch (Exception e) { harness.debug(e); harness.check(false, e.toString()); } } } mauve-20140821/gnu/testlet/java/io/ObjectInputStream/ClassLoaderTest.java0000644000175000001440000001037310205170274025055 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Free Software Foundation // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.io.ObjectInputStream; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.*; import java.lang.reflect.*; /** * This test checks that ObjectInputStream.readObject() resolves objects * in the stream using the correct ClassLoader, based on the context it is * called from. */ public class ClassLoaderTest implements Testlet { static class MyClassLoader extends ClassLoader { public Class defineClass(InputStream is, String name) throws ClassNotFoundException, IOException { ByteArrayOutputStream os = new ByteArrayOutputStream(); byte[] buf = new byte[512]; int len, written; while (true) { len = is.read(buf, 0, buf.length); if (len == -1) break; written = 0; while (written < len) { os.write(buf, written, len - written); written += len; } } byte[] classData = os.toByteArray(); return defineClass(name, classData, 0, classData.length); } } public static class MyClass implements Serializable { int i = 555; public static Object deserialize(byte[] serData) throws IOException, ClassNotFoundException { ByteArrayInputStream bis = new ByteArrayInputStream(serData); ObjectInputStream ois = new ObjectInputStream(bis); Object obj = ois.readObject(); ois.close(); return obj; } } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyClassLoader loader = new MyClassLoader(); ClassLoader sysLoader = getClass().getClassLoader(); Class cl; harness.checkPoint("read the file"); try { cl = loader.defineClass(getClass() .getResourceAsStream("ClassLoaderTest$MyClass.class"), "gnu.testlet.java.io.ObjectInputStream.ClassLoaderTest$MyClass"); harness.check(true); } catch(Exception e) { harness.debug(e); harness.check(false); return; } harness.check(cl.getClassLoader() == loader, "Class has correct classloader"); // Now the fun part. Pipe an instance of MyClass through an Object // stream. Depending on which class-context we deserialize it in, the // resulting instance should have a different ClassLoader (and class). harness.checkPoint ("Deserialized objects have correct ClassLoader"); final byte[] serData; final Object obj; try { ByteArrayOutputStream bos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(bos); oos.writeObject(cl.newInstance()); oos.close(); serData = bos.toByteArray(); obj = MyClass.deserialize(serData); harness.check(obj.getClass().getClassLoader() == sysLoader); } catch(Exception e) { harness.debug(e); harness.check(false); return; } //System.out.println (obj.getClass().getClassLoader() == loader); harness.checkPoint("Class equality (==)"); try { Method m = cl.getMethod("deserialize", new Class[] {byte[].class}); Object obj2 = m.invoke(null, new Object[] {serData}); harness.check(obj2.getClass().getClassLoader() == loader); //System.out.println (obj2.getClass().getClassLoader() == loader); harness.check (obj.getClass() != obj2.getClass()); } catch(Exception e) { harness.debug(e); harness.check(false); } } } mauve-20140821/gnu/testlet/java/io/ObjectInputStream/security.java0000644000175000001440000000564510562130333023674 0ustar dokousers// Copyright (C) 2006, 2007 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 package gnu.testlet.java.io.ObjectInputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.SerializablePermission; import java.security.Permission; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.TestSecurityManager; public class security implements Testlet { public void test(TestHarness harness) { try { TestObjectInputStream teststream = new TestObjectInputStream(); Permission[] enableSubclassImplementation = new Permission[] { new SerializablePermission("enableSubclassImplementation")}; Permission[] enableSubstitution = new Permission[] { new SerializablePermission("enableSubstitution")}; Permission[] noPerms = new Permission[] {}; TestSecurityManager sm = new TestSecurityManager(harness); try { sm.install(); // throwpoint: java.io.ObjectInputStream-ObjectInputStream harness.checkPoint("constructor"); try { sm.prepareChecks(enableSubclassImplementation); new TestObjectInputStream(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.io.ObjectInputStream-enableResolveObject harness.checkPoint("enableResolveObject"); try { sm.prepareChecks(noPerms); teststream.testEnableResolveObject(false); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } try { sm.prepareChecks(enableSubstitution); teststream.testEnableResolveObject(true); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } finally { sm.uninstall(); } } catch (Exception ex) { harness.debug(ex); harness.check(false, "Unexpected exception"); } } private static class TestObjectInputStream extends ObjectInputStream { public TestObjectInputStream() throws IOException { super(); } public boolean testEnableResolveObject(boolean enable) { return enableResolveObject(enable); } } } mauve-20140821/gnu/testlet/java/io/ObjectInputStream/readResolve.java0000644000175000001440000000750610335454457024314 0ustar dokousers//Tags: JDK1.1 //Uses: ReadResolveHelper //Copyright (C) 2005 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.io.ObjectInputStream; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectInput; import java.io.ObjectInputStream; import java.io.ObjectOutput; import java.io.ObjectOutputStream; /** * Tests readResolve implementation. Tests are done to see if readResolve is * actually invoked and if all exception types are passed through to the caller. */ public class readResolve implements Testlet { public void test(TestHarness harness) { ReadResolveHelper test, test_deserialized; ByteArrayOutputStream buffer; ObjectOutput out; ObjectInput in; harness.checkPoint("readResolve called"); test = new ReadResolveHelper(5); // tests default test_deserialized = null; try { buffer = new ByteArrayOutputStream(); out = new ObjectOutputStream(buffer); out.writeObject(test); out.close(); in = new ObjectInputStream(new ByteArrayInputStream( buffer.toByteArray())); test_deserialized = (ReadResolveHelper) in.readObject(); in.close(); harness.check(test_deserialized.value, 4); } catch (Throwable e) { harness.check(false); } harness.checkPoint("error thrown"); test = new ReadResolveHelper(1); // tests case 1 test_deserialized = null; try { buffer = new ByteArrayOutputStream(); out = new ObjectOutputStream(buffer); out.writeObject(test); out.close(); in = new ObjectInputStream(new ByteArrayInputStream( buffer.toByteArray())); test_deserialized = (ReadResolveHelper) in.readObject(); in.close(); harness.check(false); } catch (Throwable e) { harness.check(true); } harness.checkPoint("runtime exception thrown"); test = new ReadResolveHelper(2); // tests case 2 test_deserialized = null; try { buffer = new ByteArrayOutputStream(); out = new ObjectOutputStream(buffer); out.writeObject(test); out.close(); in = new ObjectInputStream(new ByteArrayInputStream( buffer.toByteArray())); test_deserialized = (ReadResolveHelper) in.readObject(); in.close(); harness.check(false); } catch (Throwable e) { harness.check(true); } harness.checkPoint("InvalidObjectException thrown"); test = new ReadResolveHelper(3); // tests case 3 test_deserialized = null; try { buffer = new ByteArrayOutputStream(); out = new ObjectOutputStream(buffer); out.writeObject(test); out.close(); in = new ObjectInputStream(new ByteArrayInputStream( buffer.toByteArray())); test_deserialized = (ReadResolveHelper) in.readObject(); in.close(); harness.check(false); } catch (Throwable e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/io/FilterReader/0000755000175000001440000000000012375316426020133 5ustar dokousersmauve-20140821/gnu/testlet/java/io/FilterReader/SimpleRead.java0000644000175000001440000000507007605171021023013 0ustar dokousers/************************************************************************* /* SimpleRead.java -- FilterReader simple read test. /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Daryl O. Lee (dolee@sources.redhat.com) /* Adapted from CharArrayReader tests by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.FilterReader; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.CharArrayReader; import java.io.Reader; import java.io.FilterReader; import java.io.IOException; public class SimpleRead extends FilterReader implements Testlet { public SimpleRead() { this(new CharArrayReader(new char[0])); } SimpleRead(CharArrayReader car) { super((Reader) car); } public void test(TestHarness harness) { String str = "In junior high, I did a lot writing. I wrote a science\n" + "fiction novel length story that was called 'The Destruction of\n" + "Planet Earth'. All the characters in the story were my friends \n" + "from school because I couldn't think up any cool names.\n"; char[] str_chars = new char[str.length()]; str.getChars(0, str.length(), str_chars, 0); char[] read_buf = new char[12]; CharArrayReader car = new CharArrayReader(str_chars); SimpleRead fr = new SimpleRead(car); try { harness.check(fr.read(), 'I', "read()"); int chars_read, total_read = 0; while ((chars_read = fr.read(read_buf, 0, read_buf.length)) != -1) { harness.debug(new String(read_buf, 0, chars_read), false); total_read += chars_read; } harness.check(total_read, str.length()-1, "read(buf,off,len)"); // -1 compensates for single read() earlier } catch (IOException e) { harness.debug(e); harness.check(false); } } } // SimpleRead mauve-20140821/gnu/testlet/java/io/FilterReader/MarkReset.java0000644000175000001440000000466107602624727022705 0ustar dokousers/************************************************************************* /* MarkReset.java -- Test CharArrayReader mark/reset functionality /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Daryl O. Lee (dolee@sources.redhat.com) /* Adapted from CharArrayReader tests by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.FilterReader; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.FilterReader; import java.io.CharArrayReader; import java.io.IOException; public class MarkReset extends FilterReader implements Testlet { public MarkReset(char[] ca) { super(new CharArrayReader(ca)); } // Constructor for test suite public MarkReset() { super(new CharArrayReader(new char[1])); } public void test(TestHarness harness) { String str = "In junior high, I did a lot writing. I wrote a science\n" + "fiction novel length story that was called 'The Destruction of\n" + "Planet Earth'. All the characters in the story were my friends \n" + "from school because I couldn't think up any cool names."; char[] str_chars = new char[str.length()]; str.getChars(0, str.length(), str_chars, 0); MarkReset fr = new MarkReset(str_chars); char[] read_buf = new char[12]; try { fr.read(read_buf); harness.check(fr.ready(), "ready()"); harness.check(fr.skip(5), 5, "skip()"); harness.check(fr.markSupported(), "markSupported()"); fr.mark(0); fr.read(); fr.reset(); fr.close(); harness.check(true, "close()"); } catch(IOException e) { harness.debug(e); harness.check(false); } } } // MarkReset mauve-20140821/gnu/testlet/java/io/File/0000755000175000001440000000000012375316426016442 5ustar dokousersmauve-20140821/gnu/testlet/java/io/File/newFile.java0000644000175000001440000000655410314025154020672 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2002 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.io.File; import java.io.File; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class newFile implements Testlet { File tmpdir; File tmpfile; public void test (TestHarness harness) { try { // Setup String tmp = harness.getTempDirectory(); tmpdir = new File(tmp + File.separator + "mauve-testdir"); harness.check(tmpdir.mkdir() || tmpdir.exists(), "temp directory"); File samedir = new File(tmp + File.separator + "mauve-testdir" + File.separator); File againdir = new File(tmp + File.separator + "mauve-testdir" + File.separator + File.separator); File dirdir = new File(tmp, "mauve-testdir"); harness.check(tmpdir.isDirectory(), "isDirectory() without separator"); harness.check(samedir.isDirectory(), "isDirectory() with separator"); harness.check(againdir.isDirectory(), "isDirectory() with double separators"); harness.check(dirdir.isDirectory(), "isDirectory() with dir in dir"); harness.check(tmpdir.getPath(), samedir.getPath(), "dir getPath() with/without trailing separator"); harness.check(samedir.getPath(), againdir.getPath(), "dir getPath() with (double) trailing separator"); harness.check(againdir.getPath(), dirdir.getPath(), "dir getPath() with double separator and dir in dir"); harness.check(tmpdir.getName(), samedir.getName(), "dir getName() with/without trailing separator"); harness.check(samedir.getName(), againdir.getName(), "dir getName() with (double) separator"); harness.check(againdir.getName(), dirdir.getName(), "dir getName() with double separator and dir in dir"); harness.check(tmpdir.getParent(), samedir.getParent(), "same parent with/without separator"); harness.check(samedir.getParent(), againdir.getParent(), "same parent with (double) separator"); harness.check(againdir.getParent(), dirdir.getParent(), "same parent with double separator and dir in dir"); harness.checkPoint("getname returns the argument"); harness.check(new File("dir").getName(), "dir"); // Directory separator is stripped. harness.check(new File("dir" + File.separator).getName(), "dir"); // If the file separator is backslash, I think it doesn't // make sense to check this one. if (File.separatorChar != '\\') harness.check(new File("dir\\").getName(), "dir\\"); } finally { // Cleanup if (tmpdir != null && tmpdir.exists()) { if (tmpfile != null && tmpfile.exists()) tmpfile.delete(); tmpdir.delete(); } } } } mauve-20140821/gnu/testlet/java/io/File/ExecuteMethods.java0000644000175000001440000000336410563152220022224 0ustar dokousers/* ExecuteMethods.java -- Test File execute methods of classpath 1.6 Copyright (C) 2007 Mario Torre This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.6 package gnu.testlet.java.io.File; import java.io.File; import java.io.IOException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Test file read methods of classpath 1.6 * * @author Mario Torre */ public class ExecuteMethods implements Testlet { public void test(TestHarness harness) { String tmp = harness.getTempDirectory(); File tmpfile = new File(tmp, "mauve-testfile"); try { tmpfile.createNewFile(); } catch (IOException e) { harness.fail("cannot create file for test."); return; } boolean execute = tmpfile.canExecute(); // false because this file was just created harness.check(execute == false); execute = tmpfile.setExecutable(true); harness.check(execute == true); execute = tmpfile.canExecute(); harness.check(execute == true); tmpfile.delete(); } } mauve-20140821/gnu/testlet/java/io/File/createFile.java0000644000175000001440000000705710326743611021353 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.io.File; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.File; import java.io.IOException; import java.util.TreeSet; /** * This test checks if the File.createTempFile may return the same file * (wrong) if called from the parallel threads. */ public class createFile implements Testlet { // How many files to ask? static int N_FILES = 100; // How many threads? static int N_THREADS = 10; String[][] returned; TestHarness harness; int completed; File tempDir; public void test(TestHarness a_harness) { try { harness = a_harness; tempDir = new File(harness.getTempDirectory()); returned = new String[N_THREADS][]; completed = 0; // Start threads. for (int thread = 0; thread < N_THREADS; thread++) { new tester(thread).start(); } int n = 0; // Wait: while (completed < N_THREADS && (n++ < 600)) { try { Thread.sleep(100); } catch (InterruptedException iex) { } } if (completed < N_THREADS) harness.fail("Failed in 60 seconds. Probably hangs."); // Check for shared occurences: TreeSet allReturned = new TreeSet(); String x; for (int thread = 0; thread < N_THREADS; thread++) { for (int file = 0; file < N_FILES; file++) { x = (String) returned[thread][file]; if (allReturned.contains(x)) { harness.fail("Multiple occurence of " + x); return; } else allReturned.add(x); } } } catch (Exception ex) { ex.printStackTrace(); } } class tester extends Thread { int thread_number; tester(int a_thread_number) { thread_number = a_thread_number; returned [thread_number] = new String[N_FILES]; } public void run() { try { for (int file = 0; file < N_FILES; file++) { try { File tempFile = File.createTempFile("mauve", "cft", tempDir); String s = tempFile.getAbsolutePath(); returned[thread_number][file] = s; tempFile.delete(); } catch (IOException ioex) { harness.fail("IOException " + ioex); // Force termination. completed = N_THREADS + 1; } } } finally { completed++; } } } } mauve-20140821/gnu/testlet/java/io/File/emptyFile.java0000644000175000001440000001036411030455607021237 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 2005 Free Software Foundation, Inc. // Written by Wolfgang Baer (WBaer@gmx.de) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.io.File; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.File; import java.io.IOException; import java.net.URL; /** * Tests all methods for an empty file constructed with new File(""). */ public class emptyFile implements Testlet { public void test(TestHarness harness) { try { String srcdirstr = harness.getBuildDirectory(); String pathseperator = File.separator; // the empty test file File testfile = new File(""); harness.check(testfile.getName(), "", "getName()"); harness.check(testfile.getParent(), null, "getParent()"); harness.check(testfile.getParentFile(), null, "getParentFile()"); harness.check(testfile.getPath(), "", "getPath()"); harness.check(testfile.isAbsolute(), false, "isAbsolute"); harness.check(testfile.getAbsolutePath(), srcdirstr, "getAbsolutePath"); harness.check(testfile.getAbsoluteFile(), new File( testfile.getAbsolutePath()), "getAbsoluteFile()"); harness.check(testfile.getCanonicalPath(), srcdirstr, "getCanonicalPath"); harness.check(testfile.getCanonicalFile(), new File( testfile.getCanonicalPath()), "getCanonicalFile"); harness.checkPoint("toURL"); harness.check(testfile.toURL().toString(), "file:" + srcdirstr); harness.check(testfile.toURL(), new URL("file:" + srcdirstr)); harness.check(testfile.toURL().sameFile( new URL("file", "", srcdirstr)), true); harness.check(testfile.toURL().getPath(), new URL("file", "", srcdirstr).getPath()); harness.checkPoint("toURI"); harness.check(testfile.toURI().toString(), "file:" + srcdirstr + pathseperator); harness.check(new File(testfile.toURI()).equals( testfile.getAbsoluteFile())); harness.check(testfile.canRead(), false, "canRead()"); harness.check(testfile.canWrite(), false, "canWrite()"); harness.check(testfile.exists(), false, "exists()"); harness.check(testfile.isDirectory(), false, "isDirectory()"); harness.check(testfile.isFile(), false, "isFile()"); harness.check(testfile.length(), 0, "length()"); harness.check(testfile.lastModified(), 0, "lastModified()"); try { testfile.createNewFile(); harness.check(false, "createNewFile()"); } catch (IOException e) { harness.check(true, "createNewFile()"); } harness.check(testfile.delete(), false, "delete()"); harness.check(testfile.list(), null, "list()"); harness.check(testfile.mkdir(), false, "mkdir()"); harness.check(testfile.setReadOnly(), false, "setReadOnly()"); harness.check(testfile.setLastModified(1000L), false, "setLastModified()"); harness.checkPoint("compareTo()"); harness.check(testfile.compareTo(new File("")), 0); harness.check(testfile.compareTo(new File(".")), -1); harness.checkPoint("equals()"); harness.check(testfile.equals(new File("")), true); harness.check(testfile.equals(new File(".")), false); } catch (Exception e) { harness.debug(e); harness.check(false); } } } mauve-20140821/gnu/testlet/java/io/File/list.java0000644000175000001440000000710707571707456020276 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2002 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.io.File; import java.io.File; import java.io.FilenameFilter; import java.io.IOException; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class list implements Testlet { File tmpdir; File tmpfile; public void test (TestHarness harness) { try { // Setup String tmp = harness.getTempDirectory(); tmpdir = new File(tmp + File.separator + "mauve-testdir"); harness.check(tmpdir.mkdir() || tmpdir.exists(), "temp directory"); String[] list = tmpdir.list(); harness.check(list.length, 0, "empty directory"); harness.debug("list.length: " + list.length); if (list.length > 0) harness.debug("Unexpected: " + list[0]); list = tmpdir.list((FilenameFilter)null); harness.check(list.length, 0, "empty directory, null filter"); harness.debug("list.length: " + list.length); if (list.length > 0) harness.debug("Unexpected: " + list[0]); // non-existing file tmpfile = new File(tmpdir, "testfile"); harness.check(tmpfile.delete() || !tmpfile.exists(), "no temp file"); list = tmpdir.list(); harness.check(list.length, 0, "no real file in dir"); harness.debug("list.length: " + list.length); if (list.length > 0) harness.debug("Unexpected: " + list[0]); list = tmpdir.list((FilenameFilter)null); harness.check(list.length, 0, "no real file in dir, null filter"); harness.debug("list.length: " + list.length); if (list.length > 0) harness.debug("Unexpected: " + list[0]); list = tmpfile.list(); harness.check(list, null, "non-existing-file"); list = tmpfile.list((FilenameFilter)null); harness.check(list, null, "non-existing-file, null filter"); // not-a-directory tmpfile.createNewFile(); list = tmpfile.list(); harness.check(list, null, "not-a-directory"); list = tmpfile.list((FilenameFilter)null); harness.check(list, null, "not-a-directory, null filter"); // File in directory list = tmpdir.list(); harness.check(list != null && list.length == 1 && list[0].equals("testfile"), "one file in directory"); list = tmpdir.list((FilenameFilter)null); harness.check(list != null && list.length == 1 && list[0].equals("testfile"), "one file in directory, null filter"); // For all roots it should give something. File[] roots = File.listRoots(); for (int i = 0; i < roots.length; i++) { harness.check(roots[i].list() != null, "root " + i); harness.check(roots[i].list((FilenameFilter)null) != null, "root " + i + ", null filter"); } } catch(IOException ioe) { harness.fail("Unexpected exception: " + ioe); harness.debug(ioe); } finally { // Cleanup if (tmpdir != null && tmpdir.exists()) { if (tmpfile != null && tmpfile.exists()) tmpfile.delete(); tmpdir.delete(); } } } } mauve-20140821/gnu/testlet/java/io/File/WriteMethods.java0000644000175000001440000000340110563152220021704 0ustar dokousers/* WriteMethods.java -- Test File write methods of classpath 1.6 Copyright (C) 2007 Mario Torre This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ //Tags: JDK1.6 package gnu.testlet.java.io.File; import java.io.File; import java.io.IOException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Test File write methods of classpath 1.6 * * @author Mario Torre */ public class WriteMethods implements Testlet { /* * (non-Javadoc) * * @see gnu.testlet.Testlet#test(gnu.testlet.TestHarness) */ public void test(TestHarness harness) { String tmp = harness.getTempDirectory(); File tmpfile = new File(tmp, "mauve-testfile"); try { tmpfile.createNewFile(); } catch (IOException e) { harness.fail("cannot create file for test."); return; } boolean write = tmpfile.canWrite(); harness.check(write); write = tmpfile.setWritable(false); harness.check(write == true); write = tmpfile.canWrite(); harness.check(write == false); tmpfile.delete(); } } mauve-20140821/gnu/testlet/java/io/File/newFileURI.java0000644000175000001440000000442610350052703021246 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.java.io.File; import java.io.IOException; import java.io.File; import java.net.URI; import java.net.URISyntaxException; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class newFileURI implements Testlet { public void test (TestHarness harness) { try { File file = new File("."); URI uri = file.toURI(); File urifile = new File(uri); // Check that we get back the original (absolute) file. harness.check(urifile, file.getAbsoluteFile()); boolean nullthrown = false; try { new File((URI) null); } catch (NullPointerException npe) { nullthrown = true; } harness.check(nullthrown); boolean illegalthrown = false; try { new File(new URI("ftp://ftp.gnu.org/gnu/classpath")); } catch(IllegalArgumentException iae) { illegalthrown = true; } harness.check(illegalthrown); // Current dir harness.check(new File("").getCanonicalFile(), new File(".").getCanonicalFile()); // Non-hierarchical URI try { harness.checkPoint("non-hierarchical URI"); uri = new URI("file:./"); urifile = new File(uri); harness.check(false); } catch (IllegalArgumentException _) { // Expected. harness.check(true); } } catch (IOException ioe) { harness.debug(ioe); harness.check(false, ioe.toString()); } catch (URISyntaxException use) { harness.debug(use); harness.check(false, use.toString()); } } } mauve-20140821/gnu/testlet/java/io/File/listFiles.java0000644000175000001440000000713407556235501021247 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2002 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.io.File; import java.io.File; import java.io.FileFilter; import java.io.IOException; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class listFiles implements Testlet { File tmpdir; File tmpfile; public void test (TestHarness harness) { try { // Setup String tmp = harness.getTempDirectory(); tmpdir = new File(tmp + File.separator + "mauve-testdir"); harness.check(tmpdir.mkdir() || tmpdir.exists(), "temp directory"); File[] list = tmpdir.listFiles(); harness.check(list.length, 0, "empty directory"); harness.debug("list.length: " + list.length); if (list.length > 0) harness.debug("Unexpected: " + list[0]); list = tmpdir.listFiles((FileFilter)null); harness.check(list.length, 0, "empty directory, null filter"); harness.debug("list.length: " + list.length); if (list.length > 0) harness.debug("Unexpected: " + list[0]); // non-existing file tmpfile = new File(tmpdir, "testfile"); harness.check(tmpfile.delete() || !tmpfile.exists(), "no temp file"); list = tmpdir.listFiles(); harness.check(list.length, 0, "no real file in dir"); harness.debug("list.length: " + list.length); if (list.length > 0) harness.debug("Unexpected: " + list[0]); list = tmpdir.listFiles((FileFilter)null); harness.check(list.length, 0, "no real file in dir, null filter"); harness.debug("list.length: " + list.length); if (list.length > 0) harness.debug("Unexpected: " + list[0]); list = tmpfile.listFiles(); harness.check(list, null, "non-existing-file"); list = tmpfile.listFiles((FileFilter)null); harness.check(list, null, "non-existing-file, null filter"); // not-a-directory tmpfile.createNewFile(); list = tmpfile.listFiles(); harness.check(list, null, "not-a-directory"); list = tmpfile.listFiles((FileFilter)null); harness.check(list, null, "not-a-directory, null filter"); // File in directory list = tmpdir.listFiles(); harness.check(list != null && list.length == 1 && list[0].equals(tmpfile), "one file in directory"); list = tmpdir.listFiles((FileFilter)null); harness.check(list != null && list.length == 1 && list[0].equals(tmpfile), "one file in directory" + ", null filter"); // For all roots it should give something. File[] roots = File.listRoots(); for (int i = 0; i < roots.length; i++) { harness.check(roots[i].listFiles() != null, "root " + i); harness.check(roots[i].listFiles((FileFilter)null) != null, "root " + i + ", null filter"); } } catch(IOException ioe) { harness.fail("Unexpected exception: " + ioe); harness.debug(ioe); } finally { // Cleanup if (tmpdir != null && tmpdir.exists()) { if (tmpfile != null && tmpfile.exists()) tmpfile.delete(); tmpdir.delete(); } } } } mauve-20140821/gnu/testlet/java/io/File/ReadMethods.java0000644000175000001440000000340510563152220021471 0ustar dokousers/* ReadMethods.java -- Test File read methods of classpath 1.6 Copyright (C) 2007 Mario Torre This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ //Tags: JDK1.6 package gnu.testlet.java.io.File; import java.io.File; import java.io.IOException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Test File execute methods of classpath 1.6 * * @author Mario Torre */ public class ReadMethods implements Testlet { /* * (non-Javadoc) * * @see gnu.testlet.Testlet#test(gnu.testlet.TestHarness) */ public void test(TestHarness harness) { String tmp = harness.getTempDirectory(); File tmpfile = new File(tmp, "mauve-testfile"); try { tmpfile.createNewFile(); } catch (IOException e) { harness.fail("cannot create file for test."); return; } boolean read = tmpfile.canRead(); harness.check(read); read = tmpfile.setReadable(false); harness.check(read == true); read = tmpfile.canRead(); harness.check(read == false); tmpfile.delete(); } } mauve-20140821/gnu/testlet/java/io/File/security.java0000644000175000001440000004176711622721564021170 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Red Hat, Inc. // Copyright (C) 2004 Stephen Crawley. // Copyright (C) 2005, 2006, 2010 Red Hat, Inc. // Written by Tom Tromey // Extensively modified by Stephen Crawley // Further modified by Gary Benson // Further modified by Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.io.File; import java.io.File; import java.io.FilePermission; import java.io.FilenameFilter; import java.io.FileFilter; import java.security.Permission; import java.util.Date; import java.util.PropertyPermission; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.TestSecurityManager; public class security implements Testlet { public void test (TestHarness harness) { // Setup String tmp = harness.getTempDirectory(); File tmpdir = new File(tmp + File.separator + "mauve-testdir"); harness.check(tmpdir.mkdir() || tmpdir.exists(), "temp directory"); File tmpdir2 = new File(tmpdir, "nested-dir"); harness.check(tmpdir2.mkdir() || tmpdir2.exists(), "temp directory 2"); File tmpdir3 = new File(tmpdir2, "nested-nested-dir"); File tmpfile = new File(tmpdir, "testfile"); harness.check(tmpfile.delete() || !tmpfile.exists(), "no temp file"); File tmpfile2 = new File(tmpdir, "testfile2"); harness.check(tmpfile2.delete() || !tmpfile2.exists()); Permission tmpdirReadPerm = new FilePermission(tmpdir.toString(), "read"); Permission tmpdirWritePerm = new FilePermission(tmpdir.toString(), "write"); Permission tmpdirDeletePerm = new FilePermission(tmpdir.toString(), "delete"); Permission tmpdir2ReadPerm = new FilePermission(tmpdir2.toString(), "read"); Permission tmpdir2WritePerm = new FilePermission(tmpdir2.toString(), "write"); Permission tmpdir2DeletePerm = new FilePermission(tmpdir2.toString(), "delete"); Permission tmpdir3ReadPerm = new FilePermission(tmpdir3.toString(), "read"); Permission tmpdir3WritePerm = new FilePermission(tmpdir3.toString(), "write"); Permission tmpfileReadPerm = new FilePermission(tmpfile.toString(), "read"); Permission tmpfileWritePerm = new FilePermission(tmpfile.toString(), "write"); Permission tmpfileDeletePerm = new FilePermission(tmpfile.toString(), "delete"); Permission tmpallWritePerm = new FilePermission(tmp + File.separator + "*", "write"); Permission tmpdirallWritePerm = new FilePermission(tmpdir.toString() + File.separator + "*", "write"); Permission tmpfile2WritePerm = new FilePermission(tmpfile2.toString(), "write"); Permission rootReadPerm = new FilePermission(File.separator, "read"); Permission tmpdirPropPerm = new PropertyPermission("java.io.tmpdir", "read"); Permission modifyThreadGroup = new RuntimePermission("modifyThreadGroup"); Permission shutdownHooks = new RuntimePermission("shutdownHooks"); // Keep a record of created temp files so we can delete them later. File tf1 = null; File tf2 = null; TestSecurityManager sm = new TestSecurityManager(harness); try { sm.install(); // throwpoint: java.io.File-canWrite-DIR harness.checkPoint("dir.canWrite"); try { sm.prepareChecks(new Permission[]{tmpdirWritePerm}); tmpdir.canWrite(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "dir.canWrite - unexpected exception"); } // throwpoint: java.io.File-canRead-DIR harness.checkPoint("dir.canRead"); try { sm.prepareChecks(new Permission[]{tmpdirReadPerm}); tmpdir.canRead(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "dir.canRead - unexpected exception"); } // throwpoint: java.io.File-createNewFile harness.checkPoint("file.createNewFile"); try { sm.prepareChecks(new Permission[]{tmpfileWritePerm}); tmpfile.createNewFile(); sm.checkAllChecked(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "file.createNewFile - unexpected exception"); } // throwpoint: java.io.File-delete-FILE harness.checkPoint("file.delete"); try { sm.prepareChecks(new Permission[]{tmpfileDeletePerm}); tmpfile.delete(); sm.checkAllChecked(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "file.delete - unexpected exception"); } // throwpoint: java.io.File-list(FilenameFilter) harness.checkPoint("dir.list(null)"); try { sm.prepareChecks(new Permission[]{tmpdirReadPerm}); tmpdir.list(null); sm.checkAllChecked(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "dir.list(null) - unexpected exception"); } // throwpoint: java.io.File-list harness.checkPoint("dir.list()"); try { sm.prepareChecks(new Permission[]{tmpdirReadPerm}); tmpdir.list(); sm.checkAllChecked(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "dir.list() - unexpected exception"); } // throwpoint: java.io.File-listFiles harness.checkPoint("dir.listFiles()"); try { sm.prepareChecks(new Permission[]{tmpdirReadPerm}); tmpdir.listFiles(); sm.checkAllChecked(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "dir.listFiles() - unexpected exception"); } // throwpoint: java.io.File-listFiles(FilenameFilter) harness.checkPoint("dir.listFiles(FilenameFilter)"); try { sm.prepareChecks(new Permission[]{tmpdirReadPerm}); tmpdir.listFiles((FilenameFilter) null); sm.checkAllChecked(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "dir.listFiles(FilenameFilter) - unexpected exception"); } // throwpoint: java.io.File-listFiles(FileFilter) harness.checkPoint("dir.listFiles(FileFilter)"); try { sm.prepareChecks(new Permission[]{tmpdirReadPerm}); tmpdir.listFiles((FileFilter) null); sm.checkAllChecked(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "dir.listFiles(FileFilter) - unexpected exception"); } // throwpoint: java.io.File-createTempFile(String, String) harness.checkPoint("createTempFile(2-args)"); try { sm.prepareChecks(new Permission[]{tmpallWritePerm}, new Permission[]{tmpdirPropPerm}); sm.setComparisonStyle(TestSecurityManager.IMPLIES); tf1 = File.createTempFile("pfx", "sfx"); sm.checkAllChecked(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "createTempFile(2-args) - unexpected exception"); } // throwpoint: java.io.File-createTempFile(String, String, File) harness.checkPoint("createTempFile(3-args)"); try { sm.prepareChecks(new Permission[]{tmpdirallWritePerm}); sm.setComparisonStyle(TestSecurityManager.IMPLIES); tf2 = File.createTempFile("pfx", "sfx", tmpdir); sm.checkAllChecked(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "createTempFile(3-args) - unexpected exception"); } // throwpoint: java.io.File-setReadOnly-DIR harness.checkPoint("dir.setReadOnly"); try { sm.prepareChecks(new Permission[]{tmpdir2WritePerm}); tmpdir2.setReadOnly(); sm.checkAllChecked(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "dir.setReadOnly - unexpected exception"); } // throwpoint: java.io.File-delete-DIR // Make sure we remove the read only temp dir harness.checkPoint("dir.delete"); try { sm.prepareChecks(new Permission[]{tmpdir2DeletePerm}); tmpdir2.delete(); sm.checkAllChecked(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "dir.delete - unexpected exception"); } // throwpoint: java.io.File-listRoots harness.checkPoint("listRoots()"); try { sm.prepareChecks(new Permission[]{rootReadPerm}); File[] roots = File.listRoots(); harness.check(roots.length >= 1, "File.listRoots()"); sm.checkAllChecked(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "listRoots() - unexpected exception"); } // throwpoint: java.io.File-renameTo harness.checkPoint("file.renameTo"); try { sm.prepareChecks(new Permission[]{tmpfileWritePerm, tmpfile2WritePerm}); tmpfile.renameTo(tmpfile2); sm.checkAllChecked(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "file.renameTo - unexpected exception"); } // throwpoint: java.io.File-setLastModified-DIR harness.checkPoint("dir.setLastModified()"); try { sm.prepareChecks(new Permission[]{tmpdirWritePerm}); tmpdir.setLastModified(0); sm.checkAllChecked(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "dir.setLastModified() - unexpected exception"); } // throwpoint: java.io.File-deleteOnExit-DIR harness.checkPoint("dir.deleteOnExit()"); try { sm.prepareChecks(new Permission[]{tmpdirDeletePerm}, new Permission[]{modifyThreadGroup, shutdownHooks}); tmpdir.deleteOnExit(); sm.checkAllChecked(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "dir.deleteOnExit() - unexpected exception"); } // throwpoint: java.io.File-deleteOnExit-FILE harness.checkPoint("file.deleteOnExit()"); try { sm.prepareChecks(new Permission[]{tmpfileDeletePerm}, new Permission[]{modifyThreadGroup, shutdownHooks}); tmpfile.deleteOnExit(); sm.checkAllChecked(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "file.deleteOnExit() - unexpected exception"); } // throwpoint: java.io.File-exists-DIR harness.checkPoint("file.exists"); try { sm.prepareChecks(new Permission[]{tmpdirReadPerm}); tmpdir.exists(); sm.checkAllChecked(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "dir.exists - unexpected exception"); } // throwpoint: java.io.File-exists-FILE harness.checkPoint("file.exists"); try { sm.prepareChecks(new Permission[]{tmpfileReadPerm}); tmpfile.exists(); sm.checkAllChecked(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "file.exists - unexpected exception"); } // throwpoint: java.io.File-canRead-FILE harness.checkPoint("file.canRead"); try { sm.prepareChecks(new Permission[]{tmpfileReadPerm}); tmpfile.canRead(); sm.checkAllChecked(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "file.canRead - unexpected exception"); } // throwpoint: java.io.File-isFile-FILE harness.checkPoint("file.isFile"); try { sm.prepareChecks(new Permission[]{tmpfileReadPerm}); tmpfile.isFile(); sm.checkAllChecked(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "file.isFile - unexpected exception"); } // throwpoint: java.io.File-isFile-DIR harness.checkPoint("dir.isFile"); try { sm.prepareChecks(new Permission[]{tmpdirReadPerm}); tmpdir.isFile(); sm.checkAllChecked(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "dir.isFile - unexpected exception"); } // throwpoint: java.io.File-isDirectory-FILE harness.checkPoint("file.isDirectory"); try { sm.prepareChecks(new Permission[]{tmpfileReadPerm}); tmpfile.isDirectory(); sm.checkAllChecked(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "file.isDirectory - unexpected exception"); } // throwpoint: java.io.File-isDirectory-DIR harness.checkPoint("dir.isDirectory"); try { sm.prepareChecks(new Permission[]{tmpdirReadPerm}); tmpdir.isDirectory(); sm.checkAllChecked(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "dir.isDirectory - unexpected exception"); } // throwpoint: java.io.File-isHidden-FILE harness.checkPoint("file.isHidden"); try { sm.prepareChecks(new Permission[]{tmpfileReadPerm}); tmpfile.isHidden(); sm.checkAllChecked(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "file.isHidden - unexpected exception"); } // throwpoint: java.io.File-isHidden-DIR harness.checkPoint("dir.isHidden"); try { sm.prepareChecks(new Permission[]{tmpdirReadPerm}); tmpdir.isHidden(); sm.checkAllChecked(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "dir.isHidden - unexpected exception"); } // throwpoint: java.io.File-lastModified harness.checkPoint("file.lastModified"); try { sm.prepareChecks(new Permission[]{tmpfileReadPerm}); tmpfile.lastModified(); sm.checkAllChecked(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "file.lastModified - unexpected exception"); } // throwpoint: java.io.File-length harness.checkPoint("file.length"); try { sm.prepareChecks(new Permission[]{tmpfileReadPerm}); tmpfile.length(); sm.checkAllChecked(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "file.length - unexpected exception"); } // throwpoint: java.io.File-canWrite-FILE harness.checkPoint("file.canWrite"); try { sm.prepareChecks(new Permission[]{tmpfileWritePerm}); tmpfile.canWrite(); sm.checkAllChecked(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "file.canWrite - unexpected exception"); } // throwpoint: java.io.File-mkdir harness.checkPoint("dir.mkdir"); try { sm.prepareChecks(new Permission[]{tmpdirWritePerm}); tmpdir.mkdir(); sm.checkAllChecked(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "dir.mkdir - unexpected exception"); } // throwpoint: java.io.File-mkdirs harness.checkPoint("dir.mkdirs"); try { sm.prepareChecks(new Permission[] {tmpdir2WritePerm, tmpdir2ReadPerm, tmpdir3ReadPerm, tmpdir3WritePerm}); tmpdir3.mkdirs(); sm.checkAllChecked(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "dir.mkdirs - unexpected exception"); } // throwpoint: java.io.File-setLastModified-FILE harness.checkPoint("file.setLastModified"); try { sm.prepareChecks(new Permission[]{tmpfileWritePerm}); tmpfile.setLastModified(new Date().getTime()); sm.checkAllChecked(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "file.setLastModified - unexpected exception"); } } catch (Exception ex) { harness.debug(ex); harness.check(false, "outer handler - unexpected exception"); } finally { sm.uninstall(); if (tmpfile != null) tmpfile.delete(); if (tmpfile2 != null) tmpfile2.delete(); if (tf1 != null) tf1.delete(); if (tf2 != null) tf2.delete(); if (tmpdir3 != null) tmpdir3.delete(); if (tmpdir2 != null) tmpdir2.delete(); if (tmpdir != null) tmpdir.delete(); } } } mauve-20140821/gnu/testlet/java/io/File/UnicodeURI.java0000644000175000001440000000375110373676444021266 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 Free Software Foundation, Inc. // Written by Tom Tromey , // Dalibor Topic // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.io.File; import java.io.File; import java.net.URL; import java.net.MalformedURLException; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class UnicodeURI implements Testlet { private static final String LATIN_SMALL_LETTER_C_WITH_ACUTE = "\u0107"; private static final String fname = "/tmp/" + LATIN_SMALL_LETTER_C_WITH_ACUTE; public void check (TestHarness harness, URL url) { final String protocol = url.getProtocol(); final String file = url.getFile(); harness.verbose("protocol: " + protocol); harness.verbose("file: " + file); harness.check(protocol, "file"); harness.check(file, fname); } public void test (TestHarness harness) { File f = new File(fname); harness.checkPoint("toURL"); try { check(harness, f.toURL()); } catch (MalformedURLException _) { harness.debug(_); harness.check(false); } harness.checkPoint("toURI"); try { check(harness, f.toURI().toURL()); } catch (MalformedURLException _) { harness.debug(_); harness.check(false); } } } mauve-20140821/gnu/testlet/java/io/File/canWrite.java0000644000175000001440000000732610151632441021055 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2002 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.io.File; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class canWrite implements Testlet { File tmpdir; File tmpfile; public void test (TestHarness harness) { try { // Setup String tmp = harness.getTempDirectory(); tmpdir = new File(tmp + File.separator + "mauve-testdir"); harness.check(tmpdir.mkdir() || tmpdir.exists(), "temp directory"); tmpfile = new File(tmpdir, "testfile"); harness.check(tmpfile.delete() || !tmpfile.exists(), "no temp file"); harness.check(tmpdir.canRead(), "dir.canWrite()"); harness.check(tmpdir.canWrite(), "dir.canWrite()"); harness.check(tmpdir.setReadOnly(), "dir.setReadOnly()"); harness.check(tmpdir.canRead(), "dir.canWrite() after setReadOnly()"); harness.check(!tmpdir.canWrite(), "dir.canWrite() after SetReadOnly()"); harness.check(!tmpfile.canRead(), "non-existing-file.canRead()"); harness.check(!tmpfile.canWrite(), "non-existing-file.canWrite()"); harness.check(!tmpfile.setReadOnly(), "non-existing-file.setReadOnly()"); boolean create; try { create = tmpfile.createNewFile(); } catch (IOException ioe) { create = false; } harness.check(!create, "creating file in read only dir"); // Remove and re-setup tmpfile.delete(); tmpdir.delete(); tmpdir.mkdir(); harness.check(tmpdir.canRead(), "dir.canRead() after recreation"); harness.check(tmpdir.canWrite(), "dir.canWrite() after recreation"); try { create = tmpfile.createNewFile(); } catch (IOException ioe) { create = false; harness.debug(ioe); } harness.check(create, "creating file in new dir"); harness.check(tmpfile.canRead(), "file.canRead() after recreation"); harness.check(tmpfile.canWrite(), "file.canWrite() after recreation"); boolean write; OutputStream os = null; try { os = new FileOutputStream(tmpfile); os.write(0); write = true; } catch(IOException ioe) { write = false; harness.debug(ioe); } finally { try { if (os != null) os.close(); os = null; } catch(IOException _) { } } harness.check(write, "Actually write to new file"); harness.check(tmpfile.setReadOnly(), "file.setReadOnly()"); try { os = new FileOutputStream(tmpfile); os.write(0); write = true; } catch(IOException ioe) { write = false; } finally { try { if (os != null) os.close(); os = null; } catch(IOException _) { } } harness.check(!write, "Write to file after setReadOnly()"); } finally { // Cleanup if (tmpdir != null && tmpdir.exists()) { if (tmpfile != null && tmpfile.exists()) tmpfile.delete(); tmpdir.delete(); } } } } mauve-20140821/gnu/testlet/java/io/File/jdk11.java0000644000175000001440000002512410334216563020215 0ustar dokousers/************************************************************************* /* jdk11.java -- java.io.File 1.1 tests /* /* Copyright (c) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.File; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.config; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.FileNotFoundException; import java.io.FilenameFilter; import java.util.Date; public class jdk11 implements Testlet, FilenameFilter { public void test (TestHarness harness) { String srcdirstr = harness.getSourceDirectory (); String tmpdirstr = harness.getTempDirectory (); // File (String) File srcdir = new File (srcdirstr); File tmpdir = new File (tmpdirstr); String THIS_FILE = new String ("gnu" + File.separator + "testlet" + File.separator + "java" + File.separator + "io" + File.separator + "File" + File.separator + "tmp"); // File (File, String) File cons = new File (srcdir, THIS_FILE); // File (String, String) File cons2 = new File (srcdirstr, THIS_FILE); // mkdir () harness.check (cons.mkdir (), "mkdir ()"); // canRead () harness.check (cons.canRead (), "canRead ()"); // equals (Object) harness.check (cons.equals (cons2), "equals ()"); // isDirectory () harness.check (srcdir.isDirectory (), "isDirectory ()"); harness.check (tmpdir.isDirectory (), "isDirectory ()"); String TMP_FILENAME = "File.tst"; String TMP_FILENAME2 = "Good.doc"; String TMP_FILENAME3 = "File.doc"; // create empty file File tmp = new File (cons, TMP_FILENAME); try { FileOutputStream fos = new FileOutputStream (tmp); fos.close (); } catch (FileNotFoundException fne) { } catch (IOException ioe) { } // create empty file File tmp2 = new File (cons, TMP_FILENAME2); try { FileOutputStream fos = new FileOutputStream (tmp2); fos.close (); } catch (FileNotFoundException fne) { } catch (IOException ioe) { } File tmp3 = new File (cons, TMP_FILENAME3); // canWrite () harness.check (tmp.canWrite (), "canWrite()"); // exists () harness.check (tmp.exists (), "exists ()"); // isFile () harness.check (tmp.isFile (), "isFile ()"); // length () harness.check (tmp.length (), 0L, "length ()"); byte[] b = new byte[2001]; try { FileOutputStream fos = new FileOutputStream (tmp); fos.write (b); fos.close (); } catch (FileNotFoundException fne) { } catch (IOException ioe) { } harness.check (tmp.length (), b.length, "length ()"); // toString (); String tmpstr = new String (srcdirstr + File.separator + THIS_FILE + File.separator + TMP_FILENAME); harness.debug (tmp.toString () + " =? " + tmpstr); harness.check (tmp.toString ().equals (tmpstr), "toString ()"); // list (); String [] tmpdirlist = cons.list (); String [] expectedlist = new String[] {TMP_FILENAME, TMP_FILENAME2}; // for (int ll=0; ll= " + time); if (lastmod.lastModified () >= time) harness.check (true, "lastModified ()"); else harness.check (false, "lastModified ()"); if (lastmod.exists ()) lastmod.delete (); } /** * Compare two String arrays, and if of the same length compare * contents for equality, order does not matter. */ private boolean compareStringArray (String[] x, String[] y) { if (x.length != y.length) return false; boolean[] test = new boolean[y.length]; for (int i = 0; i < test.length; i++) test[i] = true; for (int i = 0; i < x.length; i++) { boolean nomatch = true; for (int j = 0; j < y.length; j++) { if (test[j]) if (x[i].equals (y[j])) { test[j] = false; nomatch = false; break; } } if (nomatch) return false; } return true; } /** * Defined by NameFilter. Only accepts files ending with .doc. */ public boolean accept (File dir, String name) { if (name.endsWith (".doc")) return true; return false; } } mauve-20140821/gnu/testlet/java/io/File/URI.java0000644000175000001440000000314210172032461017727 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 Free Software Foundation, Inc. // Written by Tom Tromey // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.io.File; import java.io.File; import java.net.URL; import java.net.MalformedURLException; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class URI implements Testlet { public void check (TestHarness harness, URL url) { harness.check(url.getProtocol(), "file"); harness.check(url.getFile(), "/tmp/maude"); } public void test (TestHarness harness) { File f = new File("/tmp/maude"); harness.checkPoint("toURL"); try { check(harness, f.toURL()); } catch (MalformedURLException _) { harness.check(false); } harness.checkPoint("toURI"); try { check(harness, f.toURI().toURL()); } catch (MalformedURLException _) { harness.check(false); } } } mauve-20140821/gnu/testlet/java/io/FileNotFoundException/0000755000175000001440000000000012375316426021776 5ustar dokousersmauve-20140821/gnu/testlet/java/io/FileNotFoundException/constructor.java0000644000175000001440000000371312027046624025224 0ustar dokousers// Test if instances of a class java.io.FileNotFoundException could be properly constructed // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.FileNotFoundException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.FileNotFoundException; /** * Test if instances of a class java.io.FileNotFoundException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { FileNotFoundException object1 = new FileNotFoundException(); harness.check(object1 != null); harness.check(object1.toString(), "java.io.FileNotFoundException"); FileNotFoundException object2 = new FileNotFoundException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.io.FileNotFoundException: nothing happens"); FileNotFoundException object3 = new FileNotFoundException(null); harness.check(object3 != null); harness.check(object3.toString(), "java.io.FileNotFoundException"); } } mauve-20140821/gnu/testlet/java/io/FileNotFoundException/TryCatch.java0000644000175000001440000000327012027046624024356 0ustar dokousers// Test if try-catch block is working properly for a class java.io.FileNotFoundException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.FileNotFoundException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.FileNotFoundException; /** * Test if try-catch block is working properly for a class java.io.FileNotFoundException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new FileNotFoundException("FileNotFoundException"); } catch (FileNotFoundException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/io/FileNotFoundException/classInfo/0000755000175000001440000000000012375316426023717 5ustar dokousersmauve-20140821/gnu/testlet/java/io/FileNotFoundException/classInfo/getPackage.java0000644000175000001440000000314312027046624026610 0ustar dokousers// Test for method java.io.FileNotFoundException.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.FileNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.FileNotFoundException; /** * Test for method java.io.FileNotFoundException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FileNotFoundException("filename"); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.io"); } } mauve-20140821/gnu/testlet/java/io/FileNotFoundException/classInfo/getInterfaces.java0000644000175000001440000000320512027046624027337 0ustar dokousers// Test for method java.io.FileNotFoundException.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.FileNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.FileNotFoundException; import java.util.List; import java.util.Arrays; /** * Test for method java.io.FileNotFoundException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FileNotFoundException("filename"); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/io/FileNotFoundException/classInfo/getModifiers.java0000644000175000001440000000437612027046624027207 0ustar dokousers// Test for method java.io.FileNotFoundException.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.FileNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.FileNotFoundException; import java.lang.reflect.Modifier; /** * Test for method java.io.FileNotFoundException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FileNotFoundException("filename"); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/io/FileNotFoundException/classInfo/isPrimitive.java0000644000175000001440000000310212027046624027054 0ustar dokousers// Test for method java.io.FileNotFoundException.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.FileNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.FileNotFoundException; /** * Test for method java.io.FileNotFoundException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FileNotFoundException("filename"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/io/FileNotFoundException/classInfo/getSimpleName.java0000644000175000001440000000313412027046624027307 0ustar dokousers// Test for method java.io.FileNotFoundException.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.FileNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.FileNotFoundException; /** * Test for method java.io.FileNotFoundException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FileNotFoundException("filename"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "FileNotFoundException"); } } mauve-20140821/gnu/testlet/java/io/FileNotFoundException/classInfo/isSynthetic.java0000644000175000001440000000310212027046624027056 0ustar dokousers// Test for method java.io.FileNotFoundException.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.FileNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.FileNotFoundException; /** * Test for method java.io.FileNotFoundException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FileNotFoundException("filename"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/io/FileNotFoundException/classInfo/isInstance.java0000644000175000001440000000314212027046624026654 0ustar dokousers// Test for method java.io.FileNotFoundException.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.FileNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.FileNotFoundException; /** * Test for method java.io.FileNotFoundException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FileNotFoundException("filename"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new FileNotFoundException("filename"))); } } mauve-20140821/gnu/testlet/java/io/FileNotFoundException/classInfo/isMemberClass.java0000644000175000001440000000311212027046624027302 0ustar dokousers// Test for method java.io.FileNotFoundException.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.FileNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.FileNotFoundException; /** * Test for method java.io.FileNotFoundException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FileNotFoundException("filename"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/io/FileNotFoundException/classInfo/getSuperclass.java0000644000175000001440000000321312027046624027377 0ustar dokousers// Test for method java.io.FileNotFoundException.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.FileNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.FileNotFoundException; /** * Test for method java.io.FileNotFoundException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FileNotFoundException("filename"); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.io.IOException"); } } mauve-20140821/gnu/testlet/java/io/FileNotFoundException/classInfo/InstanceOf.java0000644000175000001440000000367512027046624026620 0ustar dokousers// Test for instanceof operator applied to a class java.io.FileNotFoundException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.FileNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.FileNotFoundException; import java.io.IOException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.io.FileNotFoundException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class FileNotFoundException FileNotFoundException o = new FileNotFoundException("filename"); // basic check of instanceof operator harness.check(o instanceof FileNotFoundException); // check operator instanceof against all superclasses harness.check(o instanceof IOException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/io/FileNotFoundException/classInfo/isInterface.java0000644000175000001440000000310212027046624027004 0ustar dokousers// Test for method java.io.FileNotFoundException.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.FileNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.FileNotFoundException; /** * Test for method java.io.FileNotFoundException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FileNotFoundException("filename"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/io/FileNotFoundException/classInfo/isAssignableFrom.java0000644000175000001440000000315712027046624030012 0ustar dokousers// Test for method java.io.FileNotFoundException.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.FileNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.FileNotFoundException; /** * Test for method java.io.FileNotFoundException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FileNotFoundException("filename"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(FileNotFoundException.class)); } } mauve-20140821/gnu/testlet/java/io/FileNotFoundException/classInfo/isLocalClass.java0000644000175000001440000000310612027046624027130 0ustar dokousers// Test for method java.io.FileNotFoundException.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.FileNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.FileNotFoundException; /** * Test for method java.io.FileNotFoundException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FileNotFoundException("filename"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/io/FileNotFoundException/classInfo/getName.java0000644000175000001440000000311412027046624026133 0ustar dokousers// Test for method java.io.FileNotFoundException.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.FileNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.FileNotFoundException; /** * Test for method java.io.FileNotFoundException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new FileNotFoundException("filename"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.io.FileNotFoundException"); } } mauve-20140821/gnu/testlet/java/io/NotSerializableException/0000755000175000001440000000000012375316426022531 5ustar dokousersmauve-20140821/gnu/testlet/java/io/NotSerializableException/constructor.java0000644000175000001440000000376212034747024025763 0ustar dokousers// Test if instances of a class java.io.NotSerializableException could be properly constructed // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.NotSerializableException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.NotSerializableException; /** * Test if instances of a class java.io.NotSerializableException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { NotSerializableException object1 = new NotSerializableException(); harness.check(object1 != null); harness.check(object1.toString(), "java.io.NotSerializableException"); NotSerializableException object2 = new NotSerializableException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.io.NotSerializableException: nothing happens"); NotSerializableException object3 = new NotSerializableException(null); harness.check(object3 != null); harness.check(object3.toString(), "java.io.NotSerializableException"); } } mauve-20140821/gnu/testlet/java/io/NotSerializableException/TryCatch.java0000644000175000001440000000331512034747024025111 0ustar dokousers// Test if try-catch block is working properly for a class java.io.NotSerializableException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.NotSerializableException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.NotSerializableException; /** * Test if try-catch block is working properly for a class java.io.NotSerializableException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new NotSerializableException("NotSerializableException"); } catch (NotSerializableException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/io/NotSerializableException/classInfo/0000755000175000001440000000000012375316426024452 5ustar dokousersmauve-20140821/gnu/testlet/java/io/NotSerializableException/classInfo/getPackage.java0000644000175000001440000000315712034747024027350 0ustar dokousers// Test for method java.io.NotSerializableException.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.NotSerializableException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.NotSerializableException; /** * Test for method java.io.NotSerializableException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new NotSerializableException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.io"); } } mauve-20140821/gnu/testlet/java/io/NotSerializableException/classInfo/getInterfaces.java0000644000175000001440000000322112034747024030070 0ustar dokousers// Test for method java.io.NotSerializableException.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.NotSerializableException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.NotSerializableException; import java.util.List; import java.util.Arrays; /** * Test for method java.io.NotSerializableException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new NotSerializableException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/io/NotSerializableException/classInfo/getModifiers.java0000644000175000001440000000441212034747024027731 0ustar dokousers// Test for method java.io.NotSerializableException.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.NotSerializableException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.NotSerializableException; import java.lang.reflect.Modifier; /** * Test for method java.io.NotSerializableException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new NotSerializableException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/io/NotSerializableException/classInfo/isPrimitive.java0000644000175000001440000000311612034747024027614 0ustar dokousers// Test for method java.io.NotSerializableException.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.NotSerializableException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.NotSerializableException; /** * Test for method java.io.NotSerializableException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new NotSerializableException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/io/NotSerializableException/classInfo/getSimpleName.java0000644000175000001440000000315312034747024030043 0ustar dokousers// Test for method java.io.NotSerializableException.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.NotSerializableException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.NotSerializableException; /** * Test for method java.io.NotSerializableException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new NotSerializableException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "NotSerializableException"); } } mauve-20140821/gnu/testlet/java/io/NotSerializableException/classInfo/isSynthetic.java0000644000175000001440000000311612034747024027616 0ustar dokousers// Test for method java.io.NotSerializableException.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.NotSerializableException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.NotSerializableException; /** * Test for method java.io.NotSerializableException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new NotSerializableException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/io/NotSerializableException/classInfo/isInstance.java0000644000175000001440000000315612034747024027414 0ustar dokousers// Test for method java.io.NotSerializableException.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.NotSerializableException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.NotSerializableException; /** * Test for method java.io.NotSerializableException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new NotSerializableException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new NotSerializableException("xyzzy"))); } } mauve-20140821/gnu/testlet/java/io/NotSerializableException/classInfo/isMemberClass.java0000644000175000001440000000312612034747024030042 0ustar dokousers// Test for method java.io.NotSerializableException.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.NotSerializableException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.NotSerializableException; /** * Test for method java.io.NotSerializableException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new NotSerializableException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/io/NotSerializableException/classInfo/getSuperclass.java0000644000175000001440000000324112034747024030133 0ustar dokousers// Test for method java.io.NotSerializableException.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.NotSerializableException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.NotSerializableException; /** * Test for method java.io.NotSerializableException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new NotSerializableException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.io.ObjectStreamException"); } } mauve-20140821/gnu/testlet/java/io/NotSerializableException/classInfo/InstanceOf.java0000644000175000001440000000406312034747024027343 0ustar dokousers// Test for instanceof operator applied to a class java.io.NotSerializableException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.NotSerializableException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.NotSerializableException; import java.io.ObjectStreamException; import java.io.IOException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.io.NotSerializableException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NotSerializableException NotSerializableException o = new NotSerializableException("xyzzy"); // basic check of instanceof operator harness.check(o instanceof NotSerializableException); // check operator instanceof against all superclasses harness.check(o instanceof ObjectStreamException); harness.check(o instanceof IOException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/io/NotSerializableException/classInfo/isInterface.java0000644000175000001440000000311612034747024027544 0ustar dokousers// Test for method java.io.NotSerializableException.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.NotSerializableException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.NotSerializableException; /** * Test for method java.io.NotSerializableException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new NotSerializableException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/io/NotSerializableException/classInfo/isAssignableFrom.java0000644000175000001440000000317612034747024030546 0ustar dokousers// Test for method java.io.NotSerializableException.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.NotSerializableException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.NotSerializableException; /** * Test for method java.io.NotSerializableException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new NotSerializableException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(NotSerializableException.class)); } } mauve-20140821/gnu/testlet/java/io/NotSerializableException/classInfo/isLocalClass.java0000644000175000001440000000312212034747024027661 0ustar dokousers// Test for method java.io.NotSerializableException.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.NotSerializableException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.NotSerializableException; /** * Test for method java.io.NotSerializableException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new NotSerializableException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/io/NotSerializableException/classInfo/getName.java0000644000175000001440000000313312034747024026667 0ustar dokousers// Test for method java.io.NotSerializableException.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.NotSerializableException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.NotSerializableException; /** * Test for method java.io.NotSerializableException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new NotSerializableException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.io.NotSerializableException"); } } mauve-20140821/gnu/testlet/java/io/ObjectStreamClass/0000755000175000001440000000000012375316426021133 5ustar dokousersmauve-20140821/gnu/testlet/java/io/ObjectStreamClass/Defined.java0000644000175000001440000000027107565025343023334 0ustar dokousers// Tags: not-a-test package gnu.testlet.java.io.ObjectStreamClass; import java.io.Serializable; class Defined implements Serializable { static final long serialVersionUID = 17; } mauve-20140821/gnu/testlet/java/io/ObjectStreamClass/ProxyTest.java0000644000175000001440000000356310057633053023757 0ustar dokousers// Tags: JDK1.3 /* ProxyTest.java -- Tests ObjectStreamClass class for Proxy classes Copyright (c) 2003 by Free Software Foundation, Inc. Written by Mark Wielaard . 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, version 2. (see COPYING) 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 Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA */ package gnu.testlet.java.io.ObjectStreamClass; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; import java.io.ObjectStreamClass; import java.io.ObjectStreamField; public class ProxyTest implements Testlet, InvocationHandler { /** Do nothing method to implement InvocationHandler */ public Object invoke(Object p, Method m, Object[] os) { return null; } public void test (TestHarness harness) { Class pc = Proxy.getProxyClass(this.getClass().getClassLoader(), new Class[] { Comparable.class }); ObjectStreamClass osc = ObjectStreamClass.lookup (pc); harness.check(osc.getSerialVersionUID(), 0, "zero serialVersionUID"); ObjectStreamField[] osfs = osc.getFields(); harness.check(osfs != null && osfs.length == 0, "zero ObjectStreamFields"); harness.check(osc.getField("any"), null, "getField(any) returns null"); harness.check(osc.getField("h"), null, "getField(h) returns null"); } } mauve-20140821/gnu/testlet/java/io/ObjectStreamClass/DefinedNotStatic.java0000644000175000001440000000027207565025343025166 0ustar dokousers// Tags: not-a-test package gnu.testlet.java.io.ObjectStreamClass; import java.io.Serializable; class DefinedNotStatic implements Serializable { final long serialVersionUID = 17; } mauve-20140821/gnu/testlet/java/io/ObjectStreamClass/Serial.java0000644000175000001440000000021307565025343023211 0ustar dokousers// Tags: not-a-test package gnu.testlet.java.io.ObjectStreamClass; import java.io.Serializable; class Serial implements Serializable {} mauve-20140821/gnu/testlet/java/io/ObjectStreamClass/A.java0000644000175000001440000000035107565025343022155 0ustar dokousers// Tags: not-a-test package gnu.testlet.java.io.ObjectStreamClass; import java.io.Serializable; class A implements Serializable { int b; int a; public int f () { return 0; } float g () { return 3; } private float c; } mauve-20140821/gnu/testlet/java/io/ObjectStreamClass/Test.java0000644000175000001440000000657710057633053022725 0ustar dokousers// Tags: JDK1.1 // Uses: A B C Defined DefinedNotFinal DefinedNotStatic NotSerial Serial /* Test.java -- Tests ObjectStreamClass class Copyright (c) 1998, 2002 by Free Software Foundation, Inc. Written by Geoff Berry . 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, version 2. (see COPYING) 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 Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA */ package gnu.testlet.java.io.ObjectStreamClass; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.ObjectStreamClass; import java.util.Vector; public class Test implements Testlet { public void testLookup (Class cl, boolean is_null) { ObjectStreamClass osc = ObjectStreamClass.lookup (cl); harness.check (is_null ? osc == null : osc != null); } public void testGetName (Class cl, String name) { harness.check (ObjectStreamClass.lookup (cl).getName (), name); } public void testToString (Class cl, String str, long uid) { String s = ObjectStreamClass.lookup (cl).toString (); harness.check (s.indexOf(str) != -1 || s.indexOf(Long.toString(uid)) != -1, "Should contain '" + str + "' or '" + uid + "'"); } public void testForClass (Class cl, Class clazz) { harness.check (ObjectStreamClass.lookup (cl).forClass (), clazz); } public void testSUID (Class cl, long suid) { harness.check (ObjectStreamClass.lookup (cl).getSerialVersionUID (), suid); } public void test (TestHarness harness) { this.harness = harness; // lookup harness.checkPoint ("lookup"); testLookup (Serial.class, false); testLookup (NotSerial.class, true); // getName harness.checkPoint ("getName"); testGetName (java.lang.String.class, "java.lang.String"); testGetName (java.util.Hashtable.class, "java.util.Hashtable"); // toString harness.checkPoint ("toString"); testToString (java.lang.String.class, "java.lang.String", -6849794470754667710L); // forClass harness.checkPoint ("forClass"); testForClass (java.lang.String.class, java.lang.String.class); testForClass (java.util.Vector.class, (new Vector ()).getClass ()); // getSerialVersionUID harness.checkPoint ("getSerialVersionUID"); testSUID (A.class, -4758524860474883287L); testSUID (B.class, -5709768504584827290L); // NOTE: this fails for JDK 1.1.5v5 on linux because a non-null // jmethodID is returned from // GetStaticMethodID (env, C, "", "()V") // even though class C does not have a class initializer. // The JDK's serialver tool does not have this problem somehow. // I have not tested this on other platforms. testSUID (C.class, 7295418696978364872L); testSUID (Defined.class, 17); testSUID (DefinedNotStatic.class, -4424277244062554359L); testSUID (DefinedNotFinal.class, -1176535035944461302L); testSUID (A[].class, 3317986791243421446L); } TestHarness harness; } mauve-20140821/gnu/testlet/java/io/ObjectStreamClass/NotSerial.java0000644000175000001440000000013007565025343023670 0ustar dokousers// Tags: not-a-test package gnu.testlet.java.io.ObjectStreamClass; class NotSerial {} mauve-20140821/gnu/testlet/java/io/ObjectStreamClass/C.java0000644000175000001440000000052207565025343022157 0ustar dokousers// Tags: not-a-test package gnu.testlet.java.io.ObjectStreamClass; import java.io.Externalizable; import java.io.ObjectInput; import java.io.ObjectOutput; class C extends B implements Cloneable, Externalizable { public void absfoo () {} public void readExternal (ObjectInput i) {} public void writeExternal (ObjectOutput o) {} } mauve-20140821/gnu/testlet/java/io/ObjectStreamClass/DefinedNotFinal.java0000644000175000001440000000027207565025343024770 0ustar dokousers// Tags: not-a-test package gnu.testlet.java.io.ObjectStreamClass; import java.io.Serializable; class DefinedNotFinal implements Serializable { static long serialVersionUID = 17; } mauve-20140821/gnu/testlet/java/io/ObjectStreamClass/B.java0000644000175000001440000000044107565025343022156 0ustar dokousers// Tags: not-a-test package gnu.testlet.java.io.ObjectStreamClass; abstract class B extends A { private B (int[] ar) {} public B () {} public static void foo () {} public abstract void absfoo (); private static String s; public int[] a; static { s = "hello"; } } mauve-20140821/gnu/testlet/java/io/CharArrayWriter/0000755000175000001440000000000012375316426020634 5ustar dokousersmauve-20140821/gnu/testlet/java/io/CharArrayWriter/ProtectedVars.java0000644000175000001440000000425507577075732024304 0ustar dokousers/************************************************************************* /* ProtectedVars.java -- Test CharArrayWriter protected variables /* /* Copyright (c) 2002 Free Software Foundation, Inc. /* Written by David J. King (david_king@softhome.net) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.CharArrayWriter; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class ProtectedVars extends CharArrayWriter implements Testlet { // Constructor for the test suite public ProtectedVars() { super(); } public void test(TestHarness harness) { /* * Put in a string, and see if the count is correct. */ String str = "Here is a test string"; ProtectedVars writer = new ProtectedVars(); try { // Inside try-catch block since some implementations throw IOException. writer.write(str, 0, str.length()); } catch (Throwable t) { harness.debug(t); harness.check(false, "Unexpected exception"); } harness.check(writer.count, str.length(), "count"); /* * Then see if the stored buffer is correct. */ char[] strArray = new char[str.length()]; str.getChars(0, str.length(), strArray, 0); boolean pass = writer.buf.length >= strArray.length; if (pass) for (int i=0; i < writer.count; i++) if (writer.buf[i] != strArray[i]) pass = false; harness.checkPoint("buffer"); harness.check(pass); } } // ProtectedVars mauve-20140821/gnu/testlet/java/io/CharArrayWriter/BasicTests.java0000644000175000001440000000676507577077246023575 0ustar dokousers/************************************************************************* /* BasicTests.java -- CharArrayWriter basic tests. /* /* Copyright (c) 2002 Free Software Foundation, Inc. /* Written by David J. King (david_king@softhome.net) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.CharArrayWriter; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class BasicTests implements Testlet { public void test(TestHarness harness) { /* * Use several methods to write to the buffer * and verify that the results are correct. */ String firstLines = "The first lines\n" + "of the test which include \uA000 inverted question\n" + "and \u6666 e-with-hat"; String thirdLine = "a third line"; String expected = firstLines + ' ' + "third"; CharArrayWriter writer = new CharArrayWriter(); if (writer.size() != 0) harness.check(writer.size(), 0, "empty size"); char[] thirdLineArray = new char[thirdLine.length()]; String extractedString; try { writer.write(firstLines, 0, firstLines.length()); writer.write(32); thirdLine.getChars(0, thirdLine.length(), thirdLineArray, 0); writer.write(thirdLineArray, 2, 5); extractedString = writer.toString(); harness.check(extractedString, expected, "basic string"); /* * Clear the buffer and write some more, then see if * toCharArray works. */ writer.reset(); writer.write(thirdLine, 0, thirdLine.length()); } catch (Throwable t) { harness.debug(t); harness.check(false, "Unexpected exception"); extractedString = ""; } char[] resultArray = writer.toCharArray(); boolean arrayEquals = resultArray.length == thirdLineArray.length; if (arrayEquals) for (int i=0; i < resultArray.length; i++) if (resultArray[i] != thirdLineArray[i]) arrayEquals = false; harness.checkPoint("reset string"); harness.check(arrayEquals); /* * Try flush and close and make sure they do nothing. */ try { writer.flush(); writer.close(); } catch (Throwable t) { harness.debug(t); harness.check(false, "Unexpected exception flush/close"); } extractedString = writer.toString(); harness.check(extractedString, thirdLine, "flush and close"); /* * Make another CharArrayWriter and writeTo it. */ CharArrayWriter secondWriter = new CharArrayWriter(); boolean pass = false; try { writer.writeTo(secondWriter); extractedString = secondWriter.toString(); if (extractedString.equals(thirdLine)) pass = true; } catch (IOException ie) { // Nothing need be done, it is enough for pass to remain false } harness.checkPoint("writeTo"); harness.check(pass); } } // BasicTests mauve-20140821/gnu/testlet/java/io/EOFException/0000755000175000001440000000000012375316426020053 5ustar dokousersmauve-20140821/gnu/testlet/java/io/EOFException/constructor.java0000644000175000001440000000352612021622566023302 0ustar dokousers// Test if instances of a class java.io.EOFException could be properly constructed // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.EOFException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.EOFException; /** * Test if instances of a class java.io.EOFException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { EOFException object1 = new EOFException(); harness.check(object1 != null); harness.check(object1.toString(), "java.io.EOFException"); EOFException object2 = new EOFException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.io.EOFException: nothing happens"); EOFException object3 = new EOFException(null); harness.check(object3 != null); harness.check(object3.toString(), "java.io.EOFException"); } } mauve-20140821/gnu/testlet/java/io/EOFException/TryCatch.java0000644000175000001440000000317112021622566022432 0ustar dokousers// Test if try-catch block is working properly for a class java.io.EOFException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.EOFException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.EOFException; /** * Test if try-catch block is working properly for a class java.io.EOFException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new EOFException("EOFException"); } catch (EOFException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/io/EOFException/classInfo/0000755000175000001440000000000012375316426021774 5ustar dokousersmauve-20140821/gnu/testlet/java/io/EOFException/classInfo/getPackage.java0000644000175000001440000000306312021622567024666 0ustar dokousers// Test for method java.io.EOFException.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.EOFException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.EOFException; /** * Test for method java.io.EOFException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new EOFException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.io"); } } mauve-20140821/gnu/testlet/java/io/EOFException/classInfo/getInterfaces.java0000644000175000001440000000312512021622567025415 0ustar dokousers// Test for method java.io.EOFException.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.EOFException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.EOFException; import java.util.List; import java.util.Arrays; /** * Test for method java.io.EOFException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new EOFException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/io/EOFException/classInfo/getModifiers.java0000644000175000001440000000431612021622567025256 0ustar dokousers// Test for method java.io.EOFException.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.EOFException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.EOFException; import java.lang.reflect.Modifier; /** * Test for method java.io.EOFException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new EOFException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/io/EOFException/classInfo/isPrimitive.java0000644000175000001440000000302212021622567025132 0ustar dokousers// Test for method java.io.EOFException.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.EOFException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.EOFException; /** * Test for method java.io.EOFException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new EOFException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/io/EOFException/classInfo/getSimpleName.java0000644000175000001440000000304312021622567025363 0ustar dokousers// Test for method java.io.EOFException.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.EOFException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.EOFException; /** * Test for method java.io.EOFException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new EOFException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "EOFException"); } } mauve-20140821/gnu/testlet/java/io/EOFException/classInfo/isSynthetic.java0000644000175000001440000000302212021622567025134 0ustar dokousers// Test for method java.io.EOFException.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.EOFException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.EOFException; /** * Test for method java.io.EOFException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new EOFException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/io/EOFException/classInfo/isInstance.java0000644000175000001440000000304612021622567024734 0ustar dokousers// Test for method java.io.EOFException.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.EOFException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.EOFException; /** * Test for method java.io.EOFException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new EOFException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new EOFException("xyzzy"))); } } mauve-20140821/gnu/testlet/java/io/EOFException/classInfo/isMemberClass.java0000644000175000001440000000303212021622567025360 0ustar dokousers// Test for method java.io.EOFException.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.EOFException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.EOFException; /** * Test for method java.io.EOFException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new EOFException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/io/EOFException/classInfo/getSuperclass.java0000644000175000001440000000313312021622567025455 0ustar dokousers// Test for method java.io.EOFException.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.EOFException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.EOFException; /** * Test for method java.io.EOFException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new EOFException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.io.IOException"); } } mauve-20140821/gnu/testlet/java/io/EOFException/classInfo/InstanceOf.java0000644000175000001440000000356212021622567024670 0ustar dokousers// Test for instanceof operator applied to a class java.io.EOFException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.EOFException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.EOFException; import java.io.IOException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.io.EOFException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class EOFException EOFException o = new EOFException("xyzzy"); // basic check of instanceof operator harness.check(o instanceof EOFException); // check operator instanceof against all superclasses harness.check(o instanceof IOException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/io/EOFException/classInfo/isInterface.java0000644000175000001440000000302212021622567025062 0ustar dokousers// Test for method java.io.EOFException.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.EOFException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.EOFException; /** * Test for method java.io.EOFException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new EOFException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/io/EOFException/classInfo/isAssignableFrom.java0000644000175000001440000000306612021622567026066 0ustar dokousers// Test for method java.io.EOFException.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.EOFException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.EOFException; /** * Test for method java.io.EOFException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new EOFException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(EOFException.class)); } } mauve-20140821/gnu/testlet/java/io/EOFException/classInfo/isLocalClass.java0000644000175000001440000000302612021622567025206 0ustar dokousers// Test for method java.io.EOFException.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.EOFException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.EOFException; /** * Test for method java.io.EOFException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new EOFException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/io/EOFException/classInfo/getName.java0000644000175000001440000000302312021622567024207 0ustar dokousers// Test for method java.io.EOFException.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.EOFException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.EOFException; /** * Test for method java.io.EOFException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new EOFException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.io.EOFException"); } } mauve-20140821/gnu/testlet/java/io/BufferedCharWriter/0000755000175000001440000000000012375316426021300 5ustar dokousersmauve-20140821/gnu/testlet/java/io/PrintWriter/0000755000175000001440000000000012375316426020054 5ustar dokousersmauve-20140821/gnu/testlet/java/io/PrintWriter/checkError.java0000644000175000001440000000356210024333521022774 0ustar dokousers/************************************************************************* /* Test.java -- Tests PrintWriter /* /* Copyright (c) 2004 Free Software Foundation, Inc. /* Written by Mark Wielaard (mark@klomp.org) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.PrintWriter; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class checkError extends OutputStream implements Testlet { public void test(TestHarness harness) { // Check for (no) error after close PrintWriter p = new PrintWriter(new checkError()); harness.check(!p.checkError()); p.write("something"); harness.check(!p.checkError()); p.close(); harness.check(!p.checkError()); p.write("anotherthing"); harness.check(p.checkError()); } // Mini OutputStream implementation private boolean closed = false; public void close() { closed = true; } public void write(int i) throws IOException { if (closed) throw new IOException("closed stream"); } public void flush() throws IOException { if (closed) throw new IOException("closed stream"); } } // class Test mauve-20140821/gnu/testlet/java/io/PrintWriter/jdk11.java0000644000175000001440000000715307715244334021637 0ustar dokousers/************************************************************************* /* Test.java -- Tests PrintWriter /* /* Copyright (c) 1998, 2003 Free Software Foundation, Inc. /* Written by Daryl Lee (dolee@sources.redhat.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.PrintWriter; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.PrintWriter; import java.io.ByteArrayOutputStream; import java.io.OutputStream; import java.io.CharArrayWriter; public class jdk11 extends PrintWriter implements Testlet { public jdk11() { this(new ByteArrayOutputStream()); } jdk11(OutputStream os) { super(os); } public void print(int i, boolean err) { if (err) { this.setError(); } } public String toString() { return ("ObjectString"); } public void test(TestHarness harness) { // Test constructors first ByteArrayOutputStream baos1 = new ByteArrayOutputStream(); PrintWriter pw1 = new PrintWriter(baos1); harness.check(pw1 != null, "PrintWriter(OutputStream)"); ByteArrayOutputStream baos2 = new ByteArrayOutputStream(); PrintWriter pw2 = new PrintWriter(baos2, true); harness.check(pw2 != null, "PrintWriter(OutputStream, boolean)"); CharArrayWriter caw1 = new CharArrayWriter(); PrintWriter pw3 = new PrintWriter(caw1); harness.check(pw3 != null, "PrintWriter(Writer)"); CharArrayWriter caw2 = new CharArrayWriter(); PrintWriter pw4 = new PrintWriter(caw2); harness.check(pw4 != null, "PrintWriter(Writer)"); // Now test the methods pw1.print(true); pw1.print(false); pw1.print('X'); char[] ca = {'A', 'B', 'C'}; pw1.print(ca); double x = 3.14; pw1.print(x); float y = (float) 1.414; pw1.print(y); int i = 37; pw1.print(i); long l = 65537L; pw1.print(l); pw1.print(new jdk11()); pw1.print("XYZ"); pw1.write(ca); pw1.write(ca,0,2); pw1.write('Q'); pw1.write("JKL"); pw1.write("MNOPQ", 1, 2); pw1.println(); pw1.println(true); pw1.println(false); pw1.println('X'); pw1.println(ca); pw1.println(x); pw1.println(y); pw1.println(i); pw1.println(l); pw1.println(new jdk11()); pw1.println("XYZ"); pw1.flush(); harness.check(true, "flush()"); pw1.close(); harness.check(true, "close()"); String tst = "truefalseXABC3.141.4143765537ObjectStringXYZABCABQJKLNO\n" + "true\nfalse\nX\nABC\n3.14\n1.414\n37\n65537\nObjectString\nXYZ\n"; harness.check(baos1.toString(), tst, "All characters printed okay"); harness.debug("Final output:" + baos1.toString()); // Set up to test setError() and checkError() ByteArrayOutputStream baos3 = new ByteArrayOutputStream(); jdk11 tpw = new jdk11(baos3); harness.check(!tpw.checkError(), "checkError"); tpw.print(3, true); // forces call to setError harness.check(tpw.checkError(), "setError"); // Check for (no) error after close PrintWriter p = new PrintWriter(baos3); p.close(); harness.check(!p.checkError(), "checkError() after close()"); } } // class Test mauve-20140821/gnu/testlet/java/io/CharArrayReader/0000755000175000001440000000000012375316426020562 5ustar dokousersmauve-20140821/gnu/testlet/java/io/CharArrayReader/SimpleRead.java0000644000175000001440000000416306641222446023453 0ustar dokousers/************************************************************************* /* SimpleRead.java -- CharArrayReader simple read test. /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.CharArrayReader; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class SimpleRead implements Testlet { public void test(TestHarness harness) { String str = "In junior high, I did a lot writing. I wrote a science\n" + "fiction novel length story that was called 'The Destruction of\n" + "Planet Earth'. All the characters in the story were my friends \n" + "from school because I couldn't think up any cool names.\n"; char[] str_chars = new char[str.length()]; str.getChars(0, str.length(), str_chars, 0); char[] read_buf = new char[12]; CharArrayReader car = new CharArrayReader(str_chars); try { int chars_read, total_read = 0; while ((chars_read = car.read(read_buf, 0, read_buf.length)) != -1) { harness.debug(new String(read_buf, 0, chars_read), false); total_read += chars_read; } harness.check(total_read, str.length(), "total_read"); } catch (IOException e) { harness.debug(e); harness.check(false); } } } // SimpleRead mauve-20140821/gnu/testlet/java/io/CharArrayReader/ProtectedVars.java0000644000175000001440000000445306641222446024215 0ustar dokousers/************************************************************************* /* ProtectedVars.java -- Test CharArrayReaders protected variables /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.CharArrayReader; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class ProtectedVars extends CharArrayReader implements Testlet { public ProtectedVars(char[] b) { super(b); } // Constructor for the test suite public ProtectedVars() { super(new char[1]); } public void test(TestHarness harness) { String str = "In junior high, I did a lot writing. I wrote a science\n" + "fiction novel length story that was called 'The Destruction of\n" + "Planet Earth'. All the characters in the story were my friends \n" + "from school because I couldn't think up any cool names."; char[] str_chars = new char[str.length()]; str.getChars(0, str.length(), str_chars, 0); ProtectedVars car = new ProtectedVars(str_chars); char[] read_buf = new char[12]; try { car.read(read_buf); car.mark(0); harness.check(car.markedPos, read_buf.length, "markedPos"); car.read(read_buf); harness.check(car.pos, (read_buf.length * 2), "pos"); harness.check(car.count, str_chars.length, "count"); harness.check(car.buf, str_chars, "buf"); } catch (IOException e) { harness.debug(e); harness.check(false); } } } // ProtectedVars mauve-20140821/gnu/testlet/java/io/CharArrayReader/MarkReset.java0000644000175000001440000000443206641222446023322 0ustar dokousers/************************************************************************* /* MarkReset.java -- Test CharArrayReader mark/reset functionality /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.CharArrayReader; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class MarkReset extends CharArrayReader implements Testlet { public MarkReset(char[] c) { super(c); } // Constructor for test suite public MarkReset() { super(new char[1]); } public void test(TestHarness harness) { String str = "In junior high, I did a lot writing. I wrote a science\n" + "fiction novel length story that was called 'The Destruction of\n" + "Planet Earth'. All the characters in the story were my friends \n" + "from school because I couldn't think up any cool names."; char[] str_chars = new char[str.length()]; str.getChars(0, str.length(), str_chars, 0); MarkReset car = new MarkReset(str_chars); char[] read_buf = new char[12]; try { car.read(read_buf); harness.check(car.ready(), "ready()"); harness.check(car.skip(5), 5, "skip()"); harness.check(car.markSupported(), "markSupported()"); car.mark(0); int pos_save = car.pos; car.read(); car.reset(); harness.check(car.pos, pos_save, "reset()"); } catch(IOException e) { harness.debug(e); harness.check(false); } } } // MarkReset mauve-20140821/gnu/testlet/java/io/CharArrayReader/OutOfBounds.java0000644000175000001440000000450607773304447023647 0ustar dokousers/************************************************************************* /* OutOfBounds.java -- CharArrayReader exception tests. /* /* Copyright (c) 2003 Free Software Foundation, Inc. /* Written by Guilhem Lavaux (guilhem@kaffe.org) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.CharArrayReader; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class OutOfBounds implements Testlet { public void test(TestHarness harness) { String str = "In junior high, I did a lot writing. I wrote a science\n" + "fiction novel length story that was called 'The Destruction of\n" + "Planet Earth'. All the characters in the story were my friends \n" + "from school because I couldn't think up any cool names.\n"; char[] str_chars = new char[str.length()]; str.getChars(0, str.length(), str_chars, 0); char[] read_buf = new char[12]; CharArrayReader car = new CharArrayReader(str_chars); harness.checkPoint("read(X) should throw IndexOutOfBoundsException"); // Test #1 try { car.read(read_buf, 0, read_buf.length+1); harness.check(false); } catch (IndexOutOfBoundsException e) { harness.check(true); } catch (Exception e) { harness.debug(e); harness.check(false); } // Test #2 try { car.read(read_buf, read_buf.length, 1); harness.check(false); } catch (IndexOutOfBoundsException e) { harness.check(true); } catch (Exception e) { harness.debug(e); harness.check(false); } } } mauve-20140821/gnu/testlet/java/io/FilePermission/0000755000175000001440000000000012375316426020513 5ustar dokousersmauve-20140821/gnu/testlet/java/io/FilePermission/traversal.java0000644000175000001440000001031110562130333023340 0ustar dokousers// Copyright (C) 2006, 2007 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 package gnu.testlet.java.io.FilePermission; import java.io.File; import java.io.FilePermission; import java.util.LinkedList; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class traversal implements Testlet { public void test (TestHarness harness) { try { harness.checkPoint("setup"); String[] items_to_access = new String[] { "file", // a file in the directory "rlink", // a relative link to a file outside the directory "alink"}; // an absolute link to a file outside the directory String[] ways_to_access = new String[] { "dir", // via the directory "rlink", // via a relative link to the directory "alink"}; // via an absolute link to the directory String[] item_states = new String[] { "present", // the file exists "absent"}; // the file does not exist LinkedList cleanup = new LinkedList(); try { File tempdir = new File(harness.getTempDirectory(), "mauve-testdir"); harness.check(tempdir.isDirectory() || tempdir.mkdir()); cleanup.add(tempdir); File testdir = new File(tempdir, "dir"); harness.check(testdir.isDirectory() || testdir.mkdir()); cleanup.add(testdir); File link = new File(tempdir, "rlink"); harness.check(Runtime.getRuntime().exec(new String[] { "ln", "-s", testdir.getName(), link.getPath() }).waitFor() == 0); cleanup.add(link); link = new File(tempdir, "alink"); harness.check(Runtime.getRuntime().exec(new String[] { "ln", "-s", testdir.getPath(), link.getPath() }).waitFor() == 0); cleanup.add(link); File[] dirs = new File[] {testdir, tempdir}; for (int i = 0; i < dirs.length; i++) { File file = new File(dirs[i], "file-present"); harness.check(file.isFile() || file.createNewFile()); cleanup.add(file); file = new File(dirs[i], "file-absent"); harness.check(!file.exists()); } for (int i = 0; i < item_states.length; i++) { File file = new File(tempdir, "file-" + item_states[i]); link = new File(testdir, "rlink-" + item_states[i]); harness.check(Runtime.getRuntime().exec(new String[] { "ln", "-s", new File("..",file.getName()).getPath(), link.getPath() }).waitFor() == 0); cleanup.add(link); link = new File(testdir, "alink-" + item_states[i]); harness.check(Runtime.getRuntime().exec(new String[] { "ln", "-s", file.getPath(), link.getPath() }).waitFor() == 0); cleanup.add(link); } harness.checkPoint("test"); for (int i = 0; i < items_to_access.length; i++) { String item_to_access = items_to_access[i]; for (int j = 0; j < ways_to_access.length; j++) { String how_to_access = ways_to_access[j]; for (int k = 0; k < ways_to_access.length; k++) { String how_permitted = ways_to_access[k]; for (int l = 0; l < item_states.length; l++) { String item_state = item_states[l]; String item = item_to_access + "-" + item_state; FilePermission a = new FilePermission(new File( new File(tempdir, how_permitted), item).getPath(), "read"); FilePermission b = new FilePermission(new File( new File(tempdir, how_to_access), item).getPath(), "read"); harness.debug("\na = " + a); harness.debug("b = " + b); harness.check(a.implies(b)); } } } } } finally { for (int i = cleanup.size() - 1; i >= 0; i--) ((File) cleanup.get(i)).delete(); } } catch (Throwable ex) { harness.debug(ex); harness.check(false, "Unexpected exception"); } } } mauve-20140821/gnu/testlet/java/io/FilePermission/simple.java0000644000175000001440000001343510635774460022660 0ustar dokousers// Copyright (C) 2003, Red Hat, Inc. // Copyright (C) 2004, Mark Wielaard // // This file is part of Mauve. // // Mauve 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 version 2, or (at your option) // any later version. // // Mauve 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // // Tags: JDK1.2 package gnu.testlet.java.io.FilePermission; import gnu.testlet.*; import java.io.FilePermission; import java.security.Permissions; public class simple implements Testlet { public void test(TestHarness harness) { // Test for a classpath regression. Permissions p = new Permissions(); // (The following used to use the bogus action "nothing" ... but // the JDK 1.4.2 javadoc makes it clear that only actions "read", // "write", "execute" and "delete" are recognized. And the JDK // 1.4.2 implementation throws IllegalArgumentException for an // unrecognized action.) p.add(new FilePermission("/tmp/p", "read")); p.add(new FilePermission("/tmp/p", "read")); // Classpath didn't handle dirs without a file separator correctly FilePermission fp1 = new FilePermission("/tmp", "read"); harness.check(fp1.implies(fp1)); // Test the constructor's checking of its arguments. harness.checkPoint("constructor file arg checking"); try { harness.check(new FilePermission(null, "read") == null); } catch (java.lang.NullPointerException ex) { harness.check(true); } harness.checkPoint("constructor action checking (simple)"); harness.check(new FilePermission("/tmp/p", "read") != null); harness.check(new FilePermission("/tmp/p", "write") != null); harness.check(new FilePermission("/tmp/p", "execute") != null); harness.check(new FilePermission("/tmp/p", "delete") != null); harness.checkPoint("constructor action checking (lists)"); harness.check(new FilePermission("/tmp/p", "read,delete") != null); harness.check(new FilePermission("/tmp/p", "read,read") != null); harness.check(new FilePermission("/tmp/p", "read,read,read") != null); harness.checkPoint("constructor action checking (case)"); harness.check(new FilePermission("/tmp/p", "Read,DELETE") != null); harness.check(new FilePermission("/tmp/p", "rEAD") != null); harness.checkPoint("constructor action checking(underspecified)"); harness.check(new FilePermission("/tmp/p", " read ") != null); harness.check(new FilePermission("/tmp/p", "read, read") != null); harness.check(new FilePermission("/tmp/p", "read ,read") != null); harness.checkPoint("constructor action checking(bad actions)"); try { harness.check(new FilePermission("/tmp/p", null) == null); } catch (java.lang.IllegalArgumentException ex) { harness.check(true); } try { harness.check(new FilePermission("/tmp/p", "") == null); } catch (java.lang.IllegalArgumentException ex) { harness.check(true); } try { harness.check(new FilePermission("/tmp/p", " ") == null); } catch (java.lang.IllegalArgumentException ex) { harness.check(true); } try { harness.check(new FilePermission("/tmp/p", "foo") == null); } catch (java.lang.IllegalArgumentException ex) { harness.check(true); } try { harness.check(new FilePermission("/tmp/p", "nothing") == null); } catch (java.lang.IllegalArgumentException ex) { harness.check(true); } harness.checkPoint("constructor action checking(bad action lists)"); try { harness.check(new FilePermission("/tmp/p", ",") == null); } catch (java.lang.IllegalArgumentException ex) { harness.check(true); } try { harness.check(new FilePermission("/tmp/p", "read,") == null); } catch (java.lang.IllegalArgumentException ex) { harness.check(true); } try { harness.check(new FilePermission("/tmp/p", "read,,read") == null); } catch (java.lang.IllegalArgumentException ex) { harness.check(true); } harness.checkPoint("constructor action checking(wierd stuff)"); try { harness.check(new FilePermission("/tmp/p", "read read") == null); } catch (java.lang.IllegalArgumentException ex) { harness.check(true); } try { harness.check(new FilePermission("/tmp/p", "read\nread") == null); } catch (java.lang.IllegalArgumentException ex) { harness.check(true); } try { harness.check(new FilePermission("/tmp/p", "read;read") == null); } catch (java.lang.IllegalArgumentException ex) { harness.check(true); } harness.checkPoint("implies() action checking"); for (int i = 1; i < 1 << actions.length; i++) { for (int j = 1; j < 1 << actions.length; j++) { FilePermission pi = new FilePermission("/tmp/p", makeActions(i)); FilePermission pj = new FilePermission("/tmp/p", makeActions(j)); harness.check(pi.implies(pj) == ((i & j) == j)); } } } // stuff for implies action checking private static String[] actions = {"read", "write", "execute", "delete"}; private static String makeActions(int mask) { String result = ""; for (int i = 0; i < actions.length; i++) { if ((mask & (1 << i)) != 0) { if (result.length() > 0) result += ","; result += actions[i]; } } return result; } } mauve-20140821/gnu/testlet/java/io/FilePermission/traversal2.java0000644000175000001440000000741110562130333023431 0ustar dokousers// Copyright (C) 2006, 2007 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 package gnu.testlet.java.io.FilePermission; import java.io.File; import java.io.FilePermission; import java.util.LinkedList; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class traversal2 implements Testlet { public void test (TestHarness harness) { try { harness.checkPoint("setup"); String[] ways_to_access = new String[] { "dir", // via the directory "rlink", // via a relative link to the directory "alink"}; // via an absolute link to the directory String[] ways_to_escape = new String[] { "..", // via the directory "rlink", // via a relative link out of the directory "alink"}; // via an absolute link out of the directory String[] item_states = new String[] { "present", // the file exists "absent"}; // the file does not exist LinkedList cleanup = new LinkedList(); try { File tempdir = new File(harness.getTempDirectory(), "mauve-testdir"); harness.check(tempdir.isDirectory() || tempdir.mkdir()); cleanup.add(tempdir); File testdir = new File(tempdir, "dir"); harness.check(testdir.isDirectory() || testdir.mkdir()); cleanup.add(testdir); File link = new File(tempdir, "rlink"); harness.check(Runtime.getRuntime().exec(new String[] { "ln", "-s", testdir.getName(), link.getPath() }).waitFor() == 0); cleanup.add(link); link = new File(tempdir, "alink"); harness.check(Runtime.getRuntime().exec(new String[] { "ln", "-s", testdir.getPath(), link.getPath() }).waitFor() == 0); cleanup.add(link); File file = new File(tempdir, "file-present"); harness.check(file.isFile() || file.createNewFile()); cleanup.add(file); file = new File(tempdir, "file-absent"); harness.check(!file.exists()); link = new File(testdir, "rlink"); harness.check(Runtime.getRuntime().exec(new String[] { "ln", "-s", "..", link.getPath() }).waitFor() == 0); cleanup.add(link); link = new File(testdir, "alink"); harness.check(Runtime.getRuntime().exec(new String[] { "ln", "-s", tempdir.getPath(), link.getPath() }).waitFor() == 0); cleanup.add(link); harness.checkPoint("test"); for (int i = 0; i < ways_to_access.length; i++) { String how_to_access = ways_to_access[i]; FilePermission a = new FilePermission(new File( new File(tempdir, how_to_access), "-").getPath(), "read"); for (int j = 0; j < ways_to_escape.length; j++) { String how_to_escape = ways_to_escape[j]; for (int k = 0; k < item_states.length; k++) { String item = "file-" + item_states[k]; FilePermission b = new FilePermission(new File( new File(testdir, how_to_escape), item).getPath(), "read"); harness.debug("\na = " + a); harness.debug("b = " + b); harness.check(!a.implies(b)); } } } } finally { for (int i = cleanup.size() - 1; i >= 0; i--) ((File) cleanup.get(i)).delete(); } } catch (Throwable ex) { harness.debug(ex); harness.check(false, "Unexpected exception"); } } } mauve-20140821/gnu/testlet/java/io/Serializable/0000755000175000001440000000000012375316426020171 5ustar dokousersmauve-20140821/gnu/testlet/java/io/Serializable/ParentWriteReplace.java0000644000175000001440000000537110211433037024563 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2005 Daniel Bonniot // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.io.Serializable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.ByteArrayOutputStream; import java.io.ObjectOutputStream; /** * Check when a parent writeReplace() method should be used for subclasses. * * Here is the rationale for this test, based on Sun's javadoc for * java.io.Serializable: * * First, writeReplace must be declared with: * ANY-ACCESS-MODIFIER Object writeReplace() throws ObjectStreamException; * Thus, a non-private writeReplace is OK. * * Second, the rules for invoking writeReplace are that * it must be called if it would be accessible from the class of the object * being deserialized. So, a non-private writeReplace method in the parent must * be called, but a private one should not be. */ public class ParentWriteReplace implements Testlet { public void test(TestHarness harness) { try { ByteArrayOutputStream outb = new ByteArrayOutputStream(); ObjectOutputStream outs = new ObjectOutputStream(outb); MySingleton singleton = new MySingleton(); outs.writeObject(singleton); harness.check(singleton.replaced); Foo foo = new MyFoo(); outs.writeObject(foo); harness.check(! foo.replaced); } catch (Throwable e) { harness.debug(e); } } //// Singleton/MySingleton with a non-private writeReplace //// static abstract class Singleton implements java.io.Serializable { boolean replaced = false; /** NOTE: this writeReplace is not private. */ Object writeReplace() { replaced = true; return this; } } static class MySingleton extends Singleton { } //// Foo/MyFoo with a private writeReplace //// static abstract class Foo implements java.io.Serializable { boolean replaced = false; /** NOTE: this writeReplace is private. */ private Object writeReplace() { replaced = true; return this; } } static class MyFoo extends Foo { } } mauve-20140821/gnu/testlet/java/io/Serializable/BreakMeTestSer.java0000644000175000001440000000331410270143133023636 0ustar dokousers// Tags: JDK1.4 // Uses: BreakMe MyBreakMe // Copyright (C) 2005 Mark J. Wielaard // Based on an idea by Jeroen Frijters // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.io.Serializable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.*; /** * Tests that errors thrown during serialization are propagated correctly. * BreakMe.ser can be generated by running the main() method. */ public class BreakMeTestSer implements Testlet { public void test(TestHarness harness) { // This will partly fail since BreakMe.generating isn't set. try { new MyBreakMe(); } catch(Throwable _) {} boolean exception_thrown = false; try { OutputStream os = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(os); oos.writeObject(BreakMe.broken); oos.close(); } catch (NoClassDefFoundError ncdfe) { exception_thrown = true; } catch (Throwable t) { harness.debug(t); } harness.check(exception_thrown); } } mauve-20140821/gnu/testlet/java/io/Serializable/MySerializable.java0000644000175000001440000000325210202252251023730 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.io.Serializable; import java.io.ObjectStreamException; import java.io.Serializable; /** * A test class. */ public class MySerializable implements Serializable { /** A flag the tracks whether the readResolved() method is called. */ private boolean resolved; /** * Default constructor. */ public MySerializable() { this.resolved = false; } /** * Returns the flag that indicates whether or not the readResolved() method * has been called. * * @return A boolean. */ public boolean isResolved() { return this.resolved; } /** * This method should be called by the serialization mechanism. * * @return A resolved object. * * @throws ObjectStreamException */ private Object readResolve() throws ObjectStreamException { this.resolved = true; return this; } }mauve-20140821/gnu/testlet/java/io/Serializable/MyBreakMe.ser0000644000175000001440000000007710270143133022505 0ustar dokousers¬ísr*gnu.testlet.java.io.Serializable.MyBreakMezËi¢ª‹½xpmauve-20140821/gnu/testlet/java/io/Serializable/BreakMe.java0000644000175000001440000000413411030376327022335 0ustar dokousers// Tags: JDK1.4 // Uses: MyBreakMe // Files: MyBreakMe.ser // Copyright (C) 2005 Mark J. Wielaard // Based on an idea by Jeroen Frijters // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.io.Serializable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.*; /** * Tests that errors thrown during deserialization are propagated correctly. * BreakMe.ser can be generated by running the main() method. */ public class BreakMe implements Testlet { static MyBreakMe broken; static boolean generating = false; public void test(TestHarness harness) { Object object = null; try { FileInputStream fis = new FileInputStream ("gnu/testlet/java/io/Serializable/MyBreakMe.ser"); ObjectInputStream ois = new ObjectInputStream(fis); object = ois.readObject(); ois.close(); } catch (ExceptionInInitializerError eiie) { harness.check(eiie.getCause() instanceof IndexOutOfBoundsException); } catch (Throwable t) { harness.debug(t); harness.check(false); } if (object != null) harness.check(false); } public static void main(String[] args) throws IOException { generating = true; new MyBreakMe(); FileOutputStream fos = new FileOutputStream("gnu/testlet/java/io/Serializable/MyBreakMe.ser"); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject(broken); oos.close(); } } mauve-20140821/gnu/testlet/java/io/Serializable/ParentReadResolve.java0000644000175000001440000000620410211433037024404 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2005 Daniel Bonniot // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.io.Serializable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; /** * Check when a parent readResolve() method should be used for subclasses. * * Here is the rationale for this test, based on Sun's javadoc for * java.io.Serializable: * * First, readResolve must be declared with: * ANY-ACCESS-MODIFIER Object readResolve() throws ObjectStreamException; * Thus, a non-private readResolve is OK. * * Second, the rules for invoking readResolve (as for writeReplace) are that * it must be called if it would be accessible from the class of the object * being deserialized. So, a non-private readSolve method in the parent must * be called, but a private one should not be. */ public class ParentReadResolve implements Testlet { public void test(TestHarness harness) { try { ByteArrayOutputStream outb = new ByteArrayOutputStream(); ObjectOutputStream outs = new ObjectOutputStream(outb); outs.writeObject(MySingleton.instance); outs.writeObject(new MyFoo()); byte[] store = outb.toByteArray(); ByteArrayInputStream inb = new ByteArrayInputStream(store); ObjectInputStream ins = new ObjectInputStream(inb); MySingleton x = (MySingleton) ins.readObject(); harness.check(x == MySingleton.instance); MyFoo foo = (MyFoo) ins.readObject(); harness.check(! foo.resolved); } catch (Throwable e) { harness.debug(e); } } //// Singleton/MySingleton with a non-private readResolve //// static abstract class Singleton implements java.io.Serializable { abstract Singleton getInstance(); /** NOTE: this readResolve is not private. */ Object readResolve() { return getInstance(); } } static class MySingleton extends Singleton { static final MySingleton instance = new MySingleton(); Singleton getInstance() { return instance; } } //// Foo/MyFoo with a private readResolve //// static abstract class Foo implements java.io.Serializable { boolean resolved = false; /** NOTE: this readResolve is private. */ private Object readResolve() { resolved = true; return this; } } static class MyFoo extends Foo { } } mauve-20140821/gnu/testlet/java/io/Serializable/readResolve.java0000644000175000001440000000373410202252251023274 0ustar dokousers// Tags: JDK1.1 // Uses: MySerializable // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.io.Serializable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectInput; import java.io.ObjectInputStream; import java.io.ObjectOutput; import java.io.ObjectOutputStream; /** * Some checks for serialization support for the readResolve() method. */ public class readResolve implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MySerializable x1 = new MySerializable(); MySerializable x2 = null; try { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); ObjectOutput out = new ObjectOutputStream(buffer); out.writeObject(x1); out.close(); ObjectInput in = new ObjectInputStream( new ByteArrayInputStream(buffer.toByteArray()) ); x2 = (MySerializable) in.readObject(); in.close(); } catch (Exception e) { harness.debug(e); } harness.check(x2.isResolved(), true); } } mauve-20140821/gnu/testlet/java/io/Serializable/MyBreakMe.java0000644000175000001440000000231410270143133022631 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 Mark J. Wielaard // Based on an idea by Jeroen Frijters // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.io.Serializable; import java.io.*; /** * A Serializable class that has a broken static initializer. * Generate MyBreakMe.ser by running the BreakMe.main() method. */ public class MyBreakMe implements Serializable { static { BreakMe.broken = new MyBreakMe(); if (!BreakMe.generating) throw new IndexOutOfBoundsException("Darn!"); } } mauve-20140821/gnu/testlet/java/io/InvalidClassException/0000755000175000001440000000000012375316426022016 5ustar dokousersmauve-20140821/gnu/testlet/java/io/InvalidClassException/constructor.java0000644000175000001440000000342012030275353025234 0ustar dokousers// Test if instances of a class java.io.InvalidClassException could be properly constructed // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InvalidClassException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InvalidClassException; /** * Test if instances of a class java.io.InvalidClassException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { InvalidClassException object1 = new InvalidClassException("nothing happens"); harness.check(object1 != null); harness.check(object1.toString(), "java.io.InvalidClassException: nothing happens"); InvalidClassException object2 = new InvalidClassException(null); harness.check(object2 != null); harness.check(object2.toString(), "java.io.InvalidClassException"); } } mauve-20140821/gnu/testlet/java/io/InvalidClassException/TryCatch.java0000644000175000001440000000327012030275353024373 0ustar dokousers// Test if try-catch block is working properly for a class java.io.InvalidClassException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InvalidClassException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InvalidClassException; /** * Test if try-catch block is working properly for a class java.io.InvalidClassException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new InvalidClassException("InvalidClassException"); } catch (InvalidClassException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/io/InvalidClassException/classInfo/0000755000175000001440000000000012375316426023737 5ustar dokousersmauve-20140821/gnu/testlet/java/io/InvalidClassException/classInfo/getPackage.java0000644000175000001440000000314012030275354026623 0ustar dokousers// Test for method java.io.InvalidClassException.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InvalidClassException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InvalidClassException; /** * Test for method java.io.InvalidClassException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InvalidClassException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.io"); } } mauve-20140821/gnu/testlet/java/io/InvalidClassException/classInfo/getInterfaces.java0000644000175000001440000000320212030275354027352 0ustar dokousers// Test for method java.io.InvalidClassException.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InvalidClassException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InvalidClassException; import java.util.List; import java.util.Arrays; /** * Test for method java.io.InvalidClassException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InvalidClassException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/io/InvalidClassException/classInfo/getModifiers.java0000644000175000001440000000437312030275354027222 0ustar dokousers// Test for method java.io.InvalidClassException.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InvalidClassException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InvalidClassException; import java.lang.reflect.Modifier; /** * Test for method java.io.InvalidClassException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InvalidClassException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/io/InvalidClassException/classInfo/isPrimitive.java0000644000175000001440000000307712030275354027105 0ustar dokousers// Test for method java.io.InvalidClassException.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InvalidClassException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InvalidClassException; /** * Test for method java.io.InvalidClassException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InvalidClassException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/io/InvalidClassException/classInfo/getSimpleName.java0000644000175000001440000000313112030275354027322 0ustar dokousers// Test for method java.io.InvalidClassException.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InvalidClassException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InvalidClassException; /** * Test for method java.io.InvalidClassException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InvalidClassException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "InvalidClassException"); } } mauve-20140821/gnu/testlet/java/io/InvalidClassException/classInfo/isSynthetic.java0000644000175000001440000000307712030275354027107 0ustar dokousers// Test for method java.io.InvalidClassException.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InvalidClassException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InvalidClassException; /** * Test for method java.io.InvalidClassException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InvalidClassException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/io/InvalidClassException/classInfo/isInstance.java0000644000175000001440000000313412030275354026673 0ustar dokousers// Test for method java.io.InvalidClassException.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InvalidClassException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InvalidClassException; /** * Test for method java.io.InvalidClassException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InvalidClassException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new InvalidClassException("xyzzy"))); } } mauve-20140821/gnu/testlet/java/io/InvalidClassException/classInfo/isMemberClass.java0000644000175000001440000000310712030275354027324 0ustar dokousers// Test for method java.io.InvalidClassException.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InvalidClassException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InvalidClassException; /** * Test for method java.io.InvalidClassException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InvalidClassException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/io/InvalidClassException/classInfo/getSuperclass.java0000644000175000001440000000322212030275354027415 0ustar dokousers// Test for method java.io.InvalidClassException.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InvalidClassException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InvalidClassException; /** * Test for method java.io.InvalidClassException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InvalidClassException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.io.ObjectStreamException"); } } mauve-20140821/gnu/testlet/java/io/InvalidClassException/classInfo/InstanceOf.java0000644000175000001440000000403312030275354026623 0ustar dokousers// Test for instanceof operator applied to a class java.io.InvalidClassException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InvalidClassException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InvalidClassException; import java.io.ObjectStreamException; import java.io.IOException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.io.InvalidClassException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InvalidClassException InvalidClassException o = new InvalidClassException("xyzzy"); // basic check of instanceof operator harness.check(o instanceof InvalidClassException); // check operator instanceof against all superclasses harness.check(o instanceof ObjectStreamException); harness.check(o instanceof IOException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/io/InvalidClassException/classInfo/isInterface.java0000644000175000001440000000307712030275354027035 0ustar dokousers// Test for method java.io.InvalidClassException.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InvalidClassException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InvalidClassException; /** * Test for method java.io.InvalidClassException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InvalidClassException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/io/InvalidClassException/classInfo/isAssignableFrom.java0000644000175000001440000000315412030275354030025 0ustar dokousers// Test for method java.io.InvalidClassException.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InvalidClassException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InvalidClassException; /** * Test for method java.io.InvalidClassException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InvalidClassException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(InvalidClassException.class)); } } mauve-20140821/gnu/testlet/java/io/InvalidClassException/classInfo/isLocalClass.java0000644000175000001440000000310312030275354027143 0ustar dokousers// Test for method java.io.InvalidClassException.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InvalidClassException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InvalidClassException; /** * Test for method java.io.InvalidClassException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InvalidClassException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/io/InvalidClassException/classInfo/getName.java0000644000175000001440000000311112030275354026146 0ustar dokousers// Test for method java.io.InvalidClassException.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InvalidClassException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InvalidClassException; /** * Test for method java.io.InvalidClassException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InvalidClassException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.io.InvalidClassException"); } } mauve-20140821/gnu/testlet/java/io/SequenceInputStream/0000755000175000001440000000000012375316426021527 5ustar dokousersmauve-20140821/gnu/testlet/java/io/SequenceInputStream/Test.java0000644000175000001440000000516207564602543023317 0ustar dokousers/************************************************************************* /* Test.java -- Run tests of SequenceInputStream /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.SequenceInputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class Test implements Testlet { public void test(TestHarness harness) { String str1 = "I don't believe in going to chain restaurants. I think\n" + "they are evil. I can't believe all the suburban folks who go to \n"; String str2 = "places like the Olive Garden. Not only does the food make\n" + "me want to puke, none of these chains has the slightest bit of character.\n"; byte[] buf = new byte[10]; try { StringBufferInputStream is1 = new StringBufferInputStream(str1); ByteArrayInputStream is2 = new ByteArrayInputStream(str2.getBytes()); SequenceInputStream sis = new SequenceInputStream(is1, is2); int bytes_read; harness.check(str1.length(), sis.available(), "available()"); while((bytes_read = sis.read(buf)) != -1) { harness.debug(new String(buf,0,bytes_read), false); } sis.close(); harness.check(true); } catch(IOException e) { harness.debug(e); harness.check(false); } try { StringBufferInputStream is1 = new StringBufferInputStream(str1); ByteArrayInputStream is2 = new ByteArrayInputStream(str2.getBytes()); SequenceInputStream sis = new SequenceInputStream(is1, is2); sis.read(buf, 0, 5); harness.check(true, "read(buf, off, len)"); sis.close(); harness.check(sis.read(), -1, "close() test"); } catch(IOException e) { harness.debug(e); harness.check(false); } } } // class Test mauve-20140821/gnu/testlet/java/io/ObjectInputOutput/0000755000175000001440000000000012375316426021232 5ustar dokousersmauve-20140821/gnu/testlet/java/io/ObjectInputOutput/HierarchyTest.java0000644000175000001440000000612410374447311024651 0ustar dokousers/* HierarchyTest.java -- Tests which checks the deserialization of a hierarchy of class including an abstract but useful constructor Copyright (C) 2006 Olivier Jolly This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.io.ObjectInputOutput; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; /** * Tests which ensures that abstract constructors are replayed during * deserialization. * @author Olivier Jolly */ public class HierarchyTest implements Testlet { public void test(TestHarness harness) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream objectOutputStream = null; try { objectOutputStream = new ObjectOutputStream(baos); objectOutputStream.writeObject(new Derived()); } catch (IOException e) { harness.debug(e); harness.fail("Serialiazing a simple class deriving from a non serializable class"); } ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()); try { ObjectInputStream objectInputStream = new ObjectInputStream(bais); Derived serialized = (Derived) objectInputStream.readObject(); harness.check(serialized.getA(), new Integer(-1), "Checking value from non serializable super class"); } catch (Exception e) { // If the deserializating failed harness.debug(e); harness.fail("Deserialiazing a simple class"); } } /** * Base class for test. It is abstract but set a field to something else than * the default value. Checking that this value is not null will prove that we * used this class constructor */ private static abstract class Base { private Integer a = new Integer(-1); Base() { // Empty explicit constructor to prevent private implicit constructor to // be generated by some compilers } Integer getA() { return a; } } /** * Derived class, which only exists to be instanciated. */ private static class Derived extends Base implements Serializable { private static final long serialVersionUID = 7027787387780503451L; } } mauve-20140821/gnu/testlet/java/io/ObjectInputOutput/InputTest.java0000644000175000001440000000354507012067602024032 0ustar dokousers// Tags: JDK1.2 // Uses: Test /* InputTest.java -- Tests ObjectInputStream class Copyright (c) 1999 by Free Software Foundation, Inc. Written by Geoff Berry . 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, version 2. (see COPYING) 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 Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA */ package gnu.testlet.java.io.ObjectInputOutput; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.IOException; import java.io.ObjectInputStream; public class InputTest implements Testlet { public void test (TestHarness harness) { this.harness = harness; Test[] tests = Test.getValidTests (); for (int i = 0; i < tests.length; ++ i) test (tests[i]); } void test (Test t) { String cname = t.getClass ().getName (); harness.checkPoint (cname); ObjectInputStream ois = null; try { ois = new ObjectInputStream ( harness.getResourceStream (cname.replace ('.', '#') + ".data")); Object[] objs = t.getTestObjs (); for (int i = 0; i < objs.length; ++ i) harness.check (ois.readObject (), objs[i]); } catch (Exception e) { harness.debug (e); harness.check (false); return; } finally { if (ois != null) { try { ois.close (); } catch (IOException e) {} } } } TestHarness harness; } mauve-20140821/gnu/testlet/java/io/ObjectInputOutput/Test$CallDefault.data0000644000175000001440000000020006746545755025157 0ustar dokousers¬ísr6gnu.testlet.java.io.ObjectInputOutput.Test$CallDefaultùMî{îÊ{CIxDyLstLjava/lang/String;xp@ ¸Që…ttestxmauve-20140821/gnu/testlet/java/io/ObjectInputOutput/SerTest.java0000644000175000001440000000346307576633655023511 0ustar dokousers// Tags: JDK1.2 // Uses: SerBase /* SerTest.java -- Test class that "overrides" private field 'a'. Copyright (c) 2002 by Free Software Foundation, Inc. Written by Mark Wielaard (mark@klomp.org). Based on a test by Jeroen Frijters (jeroen@sumatra.nl). 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, version 2. (see COPYING) 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 Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA */ package gnu.testlet.java.io.ObjectInputOutput; import java.io.*; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class SerTest extends SerBase implements Testlet { // This is THE field (this shadows the a field in the super class). private int a; public SerTest() { this(1,2); } SerTest(int a1, int a2) { super(a2); a = a1; } public void test(TestHarness harness) { try { SerTest original = this; ByteArrayOutputStream baos = new ByteArrayOutputStream(); new ObjectOutputStream(baos).writeObject(original); ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()); SerTest serialized = (SerTest) new ObjectInputStream(bais).readObject(); harness.check(serialized.a, original.a); harness.check(serialized.getA(), original.getA()); } catch (Throwable t) { harness.check(false); harness.debug(t); } } } mauve-20140821/gnu/testlet/java/io/ObjectInputOutput/Test$BadField.data0000644000175000001440000000066506746545755024450 0ustar dokousers¬ísr3gnu.testlet.java.io.ObjectInputOutput.Test$BadFieldÚN`²eIxIyLot6Lgnu/testlet/java/io/ObjectInputOutput/Test$NotSerial;xp{sr java.io.NotSerializableException(Vxç†5xrjava.io.ObjectStreamExceptiondÃäk9ûßxrjava.io.IOExceptionl€sde%ð«xrjava.lang.ExceptionÐý>;Äxrjava.lang.ThrowableÕÆ5'9w¸ËL detailMessagetLjava/lang/String;xpt4gnu.testlet.java.io.ObjectInputOutput.Test$NotSerialmauve-20140821/gnu/testlet/java/io/ObjectInputOutput/SerBase.java0000644000175000001440000000212207576464574023435 0ustar dokousers// Tags: not-a-test /* SerBase.java -- Base class that defines a field 'a'. Copyright (c) 2002 by Free Software Foundation, Inc. Written by Mark Wielaard (mark@klomp.org). Based on a test by Jeroen Frijters (jeroen@sumatra.nl). 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, version 2. (see COPYING) 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 Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA */ package gnu.testlet.java.io.ObjectInputOutput; import java.io.*; class SerBase implements Serializable { private int a; SerBase(int a) { this.a = a; } int getA() { return a; } } mauve-20140821/gnu/testlet/java/io/ObjectInputOutput/ExtTest.java0000644000175000001440000000345610155031775023500 0ustar dokousers// Tags: JDK1.2 /* ExtTest.java -- Regression test for GNU Classpath bug pertaining to the handling of block data. Copyright (c) 2004 by Free Software Foundation, Inc. Written by Jeroen Frijters (jeroen@frijters.net). 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, version 2. (see COPYING) 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 Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA */ package gnu.testlet.java.io.ObjectInputOutput; import java.io.*; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class ExtTest implements Testlet, Serializable { public static class Inner implements Externalizable { public void readExternal(ObjectInput ois) {} public void writeExternal(ObjectOutput oos) {} } private Object ext = new Inner(); private String test = "test"; public void test(TestHarness harness) { try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); new ObjectOutputStream(baos).writeObject(this); ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()); ExtTest serialized = (ExtTest) new ObjectInputStream(bais).readObject(); harness.check(serialized.ext.getClass(), this.ext.getClass()); harness.check(serialized.test.equals(this.test)); } catch (Throwable t) { harness.check(false); harness.debug(t); } } } mauve-20140821/gnu/testlet/java/io/ObjectInputOutput/Compat1.serial.bin0000644000175000001440000000030607767111776024517 0ustar dokousers¬ísrjava.math.BigIntegerŒüŸ©;ûIbitCountI bitLengthI lowestSetBitIsignum[ magnitudet[Bxrjava.lang.Number†¬• ”à‹xpT­ur[B¬óøTàxpÿd>*gCå ˜Púu9SÒgšÄ¥„xmauve-20140821/gnu/testlet/java/io/ObjectInputOutput/SerializableLoopA.java0000644000175000001440000000227510370724631025436 0ustar dokousers/* SeriableLoopA.java -- Simple class used to create a loop Copyright (C) 2006 Olivier Jolly This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.java.io.ObjectInputOutput; import java.io.Serializable; public class SerializableLoopA implements Serializable { private static final long serialVersionUID = -8099761309283286991L; SerializableLoopB b; public SerializableLoopB getB() { return b; } public void setB(SerializableLoopB b) { this.b = b; } } mauve-20140821/gnu/testlet/java/io/ObjectInputOutput/Compat2.serial.bin0000644000175000001440000000031507767111776024520 0ustar dokousers¬ísr=gnu.testlet.java.io.ObjectInputOutput.Compat2$GetTypeMismatchߪa]4—›LxtLjava/lang/Integer;Lyq~xpsrjava.lang.Integerâ ¤÷‡8Ivaluexrjava.lang.Number†¬• ”à‹xpsq~xmauve-20140821/gnu/testlet/java/io/ObjectInputOutput/Test$HairyGraph.data0000644000175000001440000000062606746545755025051 0ustar dokousers¬ísr5gnu.testlet.java.io.ObjectInputOutput.Test$HairyGraph,]À´~@~NLAt6Lgnu/testlet/java/io/ObjectInputOutput/Test$GraphNode;LBq~LCq~LDq~xpsr4gnu.testlet.java.io.ObjectInputOutput.Test$GraphNode×ÒÕÉíú:Laq~Lbq~Lcq~Ldq~LstLjava/lang/String;xpsq~sq~sq~q~q~q~q~tDq~q~q~tCq~q~q~tBq~q~q~tAq~q~q~mauve-20140821/gnu/testlet/java/io/ObjectInputOutput/Test$Extern.data0000644000175000001440000000027306746545755024256 0ustar dokousers¬ísr1gnu.testlet.java.io.ObjectInputOutput.Test$Externßɲ›ï¼A[ xr8gnu.testlet.java.io.ObjectInputOutput.Test$NoCallDefault{atµøcZbIxLstLjava/lang/String;xpwÿÿÿÿtwxmauve-20140821/gnu/testlet/java/io/ObjectInputOutput/LoopSerializationTest.java0000644000175000001440000000475510372425444026413 0ustar dokousers/* LoopSerializationTest.java -- Test back references in serialization Copyright (C) 2006 Olivier Jolly This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: SerializableLoopA SerializableLoopB package gnu.testlet.java.io.ObjectInputOutput; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.StreamCorruptedException; public class LoopSerializationTest implements Testlet { public void test(TestHarness harness) { SerializableLoopA a = new SerializableLoopA(); SerializableLoopB b = new SerializableLoopB(); a.setB(b); b.setA(a); harness.checkPoint("LoopSerializationTest"); harness.check(a.getB(), b); harness.check(b.getA(), a); ByteArrayOutputStream baos = new ByteArrayOutputStream(); try { new ObjectOutputStream(baos).writeObject(a); } catch (IOException e) { harness.debug(e); harness.fail("Serialiazing a loop"); } ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()); try { SerializableLoopA serialized = (SerializableLoopA) new ObjectInputStream( bais).readObject(); harness.check(serialized.getB(), b); } catch (StreamCorruptedException e) { harness.debug(e); harness.fail("Deserialiazing a loop"); } catch (ClassNotFoundException e) { harness.debug(e); harness.fail("Deserialiazing a loop"); } catch (IOException e) { harness.debug(e); harness.fail("Deserialiazing a loop"); } } } mauve-20140821/gnu/testlet/java/io/ObjectInputOutput/Test$NoCallDefault.data0000644000175000001440000000021210151130653025423 0ustar dokousers¬ísr8gnu.testlet.java.io.ObjectInputOutput.Test$NoCallDefault{atµøcZbIxLstLjava/lang/String;xpwtno calldefaultswxmauve-20140821/gnu/testlet/java/io/ObjectInputOutput/ProxySerializationTest.java0000644000175000001440000001044610373735133026615 0ustar dokousers/* ProxySerializationTest.java -- Tests serialization of a Proxy Copyright (C) 2006 by Free Software Foundation, Inc. Written by Olivier Jolly This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 package gnu.testlet.java.io.ObjectInputOutput; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; /** * Check that proxies are correctly serialized and doesn't cause reference * offset. * @author Olivier Jolly */ public class ProxySerializationTest implements Testlet { public void test(TestHarness harness) { SerBaseInterface proxy = (SerBaseInterface) Proxy.newProxyInstance( SerBaseInterface.class.getClassLoader(), new Class[] { SerBaseInterface.class }, new DummyInvocationHandler()); SerializableLoopA serializableLoopA = new SerializableLoopA(); SerializableLoopB serializableLoopB = new SerializableLoopB(); // Create data which will force serialization references to be used serializableLoopA.setB(serializableLoopB); serializableLoopB.setA(serializableLoopA); harness.checkPoint("ProxySerializationTest"); harness.check(proxy.getA(), -25679, "Proxy interception checking"); ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream objectOutputStream = null; try { objectOutputStream = new ObjectOutputStream(baos); objectOutputStream.writeObject(proxy); objectOutputStream.writeObject(serializableLoopA); objectOutputStream.writeObject(serializableLoopB); } catch (IOException e) { harness.debug(e); harness.fail("Error while serialiazing a proxy"); } ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()); try { ObjectInputStream objectInputStream = new ObjectInputStream(bais); SerBaseInterface serialized = (SerBaseInterface) objectInputStream.readObject(); harness.check(serialized.getA(), -25679, "Reserialized proxy working checking"); // Get other object off the object stream and force them to be actually // used SerializableLoopA serializableLoopA2 = (SerializableLoopA) objectInputStream.readObject(); SerializableLoopB serializableLoopB2 = (SerializableLoopB) objectInputStream.readObject(); harness.check(serializableLoopA.getB(), serializableLoopA2.getB()); } catch (Exception e) { // If the reference counter got messed up, we should received a // ClassCastException or something similar harness.debug(e); harness.fail("Error while deserialiazing a proxy"); } } private static class DummyInvocationHandler implements InvocationHandler, Serializable { private static final long serialVersionUID = -6475900781578075262L; public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { if ("getA".equals(method.getName())) { return new Integer(-25679); } return method.invoke(proxy, args); } } private interface SerBaseInterface { int getA(); } } mauve-20140821/gnu/testlet/java/io/ObjectInputOutput/Deserializable.java0000644000175000001440000000603410155053452025006 0ustar dokousers// Tags: JDK1.2 // Uses: Test /* Deserialize.java -- Tests class which are not deserializable. * Imported from Kaffe 1.1.4. * Adapted by Guilhem Lavaux . * * This file is part of Mauve. * * Mauve 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 version 2, or (at your option) * any later version. * * Mauve 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 Public License for more details. * * You should have received a copy of the GNU General Public License * along with Mauve; see the file COPYING. If not, write to * the Free Software Foundation, 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ package gnu.testlet.java.io.ObjectInputOutput; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.Serializable; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.ObjectStreamException; import java.io.InvalidClassException; public class Deserializable implements Testlet { // this class is not serializable as it does not have () static class NotSerializable1 { public NotSerializable1(int dummy) { } } static class Serialized1 extends NotSerializable1 implements Serializable { public Serialized1(int i) { super(i); } } // this class is not serializable as () is private static class NotSerializable2 { public NotSerializable2(int dummy) { } private NotSerializable2() { } } static class Serialized2 extends NotSerializable2 implements Serializable { static int count = 0; public int i; public Serialized2(int i) { super(i); this.i = i; } } public void testObject(TestHarness harness, Object a) { try { FileOutputStream fos = new FileOutputStream ("frozen_serial"); ObjectOutputStream oos = new ObjectOutputStream (fos); oos.writeObject (a); oos.flush (); } catch (Exception e) { harness.fail("Unexpected exception " + e); harness.debug(e); } harness.checkPoint("Deserialize " + a.getClass().getName()); try { FileInputStream fis = new FileInputStream ("frozen_serial"); ObjectInputStream ois = new ObjectInputStream (fis); Object b = ois.readObject (); harness.fail("Was expecting an InvalidClassException"); } catch (InvalidClassException e) { harness.check(true); harness.debug(e); } catch (Exception e2) { harness.fail("Wrong exception"); harness.debug(e2); } } public void test(TestHarness harness) { testObject(harness, new Serialized1(10)); testObject(harness, new Serialized2(10)); } } mauve-20140821/gnu/testlet/java/io/ObjectInputOutput/OutputTest.java0000644000175000001440000000631207614270120024225 0ustar dokousers// Tags: JDK1.2 // Uses: Test /* OutputTest.java -- Tests ObjectOutputStream class Copyright (c) 1999, 2003 by Free Software Foundation, Inc. Written by Geoff Berry . 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, version 2. (see COPYING) 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 Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA */ package gnu.testlet.java.io.ObjectInputOutput; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.ObjectOutputStream; import java.io.ObjectStreamException; public class OutputTest implements Testlet { public void test (TestHarness harness) { this.harness = harness; Test[] tests = Test.getValidTests (); for (int i = 0; i < tests.length; ++ i) test (tests[i], false); tests = Test.getErrorTests (); for (int i = 0; i < tests.length; ++ i) test (tests[i], true); } void test (Test t, boolean throwsOSE) { String cname = t.getClass ().getName (); harness.checkPoint (cname); try { ByteArrayOutputStream bytes = new ByteArrayOutputStream (); ObjectOutputStream oos = new ObjectOutputStream (bytes); Object[] objs = t.getTestObjs (); boolean exception_thrown = false; try { for (int i = 0; i < objs.length; ++ i) oos.writeObject(objs[i]); } catch (ObjectStreamException ose) { exception_thrown = true; if (!throwsOSE) harness.debug(ose); } oos.close (); if (throwsOSE) harness.check(exception_thrown, "Unserializable: " + t); else { harness.check(!exception_thrown, "Serializable: " + t); harness.check (compareBytes (bytes.toByteArray (), harness.getResourceStream ( cname.replace ('.', '#') + ".data"))); } } catch (Exception e) { harness.debug (e); harness.check (false); } } boolean compareBytes (byte[] written_bytes, InputStream ref_stream) throws IOException { for (int data, i = 0; i < written_bytes.length; ++ i) { data = ref_stream.read (); if (data == -1) { harness.debug ("Reference data is shorter than written data."); return false; } if ((byte)data != written_bytes[i]) { harness.debug ("Data differs at byte " + i); harness.debug ("Ref. byte = 0" + Integer.toOctalString (written_bytes[i] & 0xff) + ", written byte = 0" + Integer.toOctalString (data & 0xff)); return false; } } if (ref_stream.read () != -1) { harness.debug ("Reference data is longer than written data."); return false; } else return true; } TestHarness harness; } mauve-20140821/gnu/testlet/java/io/ObjectInputOutput/Test$FinalField.data0000644000175000001440000000015710034715233024756 0ustar dokousers¬ísr5gnu.testlet.java.io.ObjectInputOutput.Test$FinalField‰Î¡È { IaLstLjava/lang/String;xptCmauve-20140821/gnu/testlet/java/io/ObjectInputOutput/Test.java0000644000175000001440000002306410034715233023006 0ustar dokousers// Tags: not-a-test /* Test.java -- Classes used to test Object Input/Output Copyright (c) 1999, 2004 by Free Software Foundation, Inc. Written by Geoff Berry , Guilhem Lavaux . 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, version 2. (see COPYING) 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 Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA */ package gnu.testlet.java.io.ObjectInputOutput; import java.io.*; import java.lang.reflect.*; public abstract class Test { public static void main (String[] args) throws IOException { Test[] tests = Test.getValidTests (); for (int i = 0; i < tests.length; ++ i) writeRefData (tests[i], false); tests = Test.getErrorTests (); for (int i = 0; i < tests.length; ++ i) writeRefData (tests[i], true); } static void writeRefData (Test t, boolean throwsOSE) throws IOException { String file = t.getClass ().getName (); int idx = file.lastIndexOf ('.'); if (idx != -1) file = file.substring (idx + 1); file += ".data"; ObjectOutputStream oos = new ObjectOutputStream (new FileOutputStream (file)); Object[] objs = t.getTestObjs (); for (int i = 0; i < objs.length; ++ i) writeData (oos, objs[i], throwsOSE); oos.close (); } static void writeData (ObjectOutputStream oos, Object obj, boolean throwsOSE) throws IOException { try { oos.writeObject (obj); } catch (ObjectStreamException nse) { if (!throwsOSE) throw nse; } } static Test[] getValidTests () { return new Test[] {new CallDefault (), new Extern (), new NoCallDefault (), new HairyGraph (), new GetPutField (), new FinalField ()}; } static Test[] getErrorTests () { return new Test[] {new NotSerial (), new BadField ()}; } Test () {} abstract Object[] getTestObjs (); public String toString () { try { Class clazz = getClass (); StringBuffer buf = new StringBuffer (clazz.getName ()); buf.append (" ("); Field[] fields = clazz.getDeclaredFields (); for (int i = 0; i < fields.length; ++ i) { Field f = fields[i]; buf.append (f.getName ()); buf.append (" = "); Class f_type = f.getType (); if (f_type == boolean.class) buf.append (f.getBoolean (this)); else if (f_type == byte.class) buf.append (f.getByte (this)); else if (f_type == char.class) buf.append (f.getChar (this)); else if (f_type == double.class) buf.append (f.getDouble (this)); else if (f_type == float.class) buf.append (f.getFloat (this)); else if (f_type == long.class) buf.append (f.getLong (this)); else if (f_type == short.class) buf.append (f.getShort (this)); else if (f_type == String.class) { String s = (String)f.get (this); if (s != null) buf.append ('"'); buf.append (s); if (s != null) buf.append ('"'); } else buf.append (f.get (this)); if (i != fields.length - 1) buf.append (", "); } buf.append (')'); return buf.toString (); } catch (IllegalAccessException iae) { return super.toString (); } } static class CallDefault extends Test implements Serializable { CallDefault () {} CallDefault (int X, double Y, String S) { x = X; y = Y; s = S; } public boolean equals (Object o) { CallDefault oo = (CallDefault)o; return oo.x == x && oo.y == y && oo.s.equals (s); } Object[] getTestObjs () { return new Object[] {new CallDefault (1, 3.14, "test")}; } private void writeObject (ObjectOutputStream oos) throws IOException { oos.defaultWriteObject (); } private void readObject (ObjectInputStream ois) throws ClassNotFoundException, IOException { ois.defaultReadObject (); } int x; double y; String s; } static class Extern extends NoCallDefault implements Externalizable { public Extern () {} Extern (int X, String S, boolean B) { super (X, S, B); } public void writeExternal (ObjectOutput oo) throws IOException { oo.writeInt (x); oo.writeObject (s); oo.writeBoolean (b); } public void readExternal (ObjectInput oi) throws ClassNotFoundException, IOException { x = oi.readInt (); s = (String)oi.readObject (); b = oi.readBoolean (); } public boolean equals (Object o) { Extern e = (Extern)o; return e.x == x && e.s.equals (s) && e.b == b; } Object[] getTestObjs () { return new Object[] {new Extern (-1, "", true)}; } } static class NoCallDefault extends Test implements Serializable { NoCallDefault () {} NoCallDefault (int X, String S, boolean B) { x = X; s = S; b = B; } public boolean equals (Object o) { NoCallDefault oo = (NoCallDefault)o; return oo.x == x && oo.b == b && oo.s.equals (s); } Object[] getTestObjs () { return new Object[] {new NoCallDefault (17, "no\ncalldefaults", false)}; } private void writeObject (ObjectOutputStream oos) throws IOException { oos.writeInt (x); oos.writeObject (s); oos.writeBoolean (b); } private void readObject (ObjectInputStream ois) throws ClassNotFoundException, IOException { x = ois.readInt (); s = (String)ois.readObject (); b = ois.readBoolean (); } int x; String s; boolean b; } static class GraphNode implements Serializable { GraphNode (String s) { this.s = s; } public String toString () { return this.s; } String s; GraphNode a; GraphNode b; GraphNode c; GraphNode d; } static class HairyGraph extends Test implements Serializable { HairyGraph () { A = new GraphNode ("A"); B = new GraphNode ("B"); C = new GraphNode ("C"); D = new GraphNode ("D"); A.a = B; A.b = C; A.c = D; A.d = A; B.a = C; B.b = D; B.c = A; B.d = B; C.a = D; C.b = A; C.c = B; C.d = C; D.a = A; D.b = B; D.c = C; D.d = D; } public boolean equals (Object o) { HairyGraph hg = (HairyGraph)o; return (A.a == B.d) && (A.a == C.c) && (A.a == D.b) && (A.b == B.a) && (A.b == C.d) && (A.b == D.c) && (A.c == B.b) && (A.c == C.a) && (A.c == D.d) && (A.d == B.c) && (A.d == C.b) && (A.d == D.a); } Object[] getTestObjs () { return new Object[] {new HairyGraph ()}; } void printOneLevel (GraphNode gn) { System.out.println ("GraphNode( " + gn + ": " + gn.a + ", " + gn.b + ", " + gn.c + ", " + gn.d + " )"); } GraphNode A; GraphNode B; GraphNode C; GraphNode D; } static class GetPutField extends Test implements Serializable { Object[] getTestObjs () { // Don't make a test with WRONG_STR_VAL or WRONG_X_VAL return new Object[] {new GetPutField ("test123", 123), new GetPutField ("", 0), new GetPutField (null, -1)}; } GetPutField () {} GetPutField (String str, int x) { this.str = str; this.x = x; } public boolean equals (Object o) { if (!(o instanceof GetPutField)) return false; GetPutField other = (GetPutField)o; return (other.str == str || other.str.equals (str)) && other.x == x; } public String toString () { return "test(str=" + str + ", x=" + x + ")"; } private void writeObject (ObjectOutputStream oo) throws IOException { ObjectOutputStream.PutField pf = oo.putFields (); pf.put ("str", str); pf.put ("x", x); oo.writeFields (); } private void readObject (ObjectInputStream oi) throws ClassNotFoundException, IOException { ObjectInputStream.GetField gf = oi.readFields (); str = (String)gf.get ("str", WRONG_STR_VAL); x = gf.get ("x", WRONG_X_VAL); } private static final String WRONG_STR_VAL = "wrong-o"; private static final int WRONG_X_VAL = -17; private String str; private int x; } static class NotSerial extends Test { Object[] getTestObjs () { return new Object[] {new NotSerial ()}; } } static class BadField extends Test implements Serializable { BadField (int X, int Y, NotSerial O) { x = X; y = Y; o = O; } BadField () {} Object[] getTestObjs () { return new Object[] {new BadField (1, 2, new NotSerial ())}; } int x; int y; NotSerial o; } static class FinalField extends Test implements Serializable { final int a; final String s; FinalField() { s = "C"; a = 2; } Object[] getTestObjs () { return new Object[] { new FinalField () }; } public boolean equals (Object o) { FinalField oo = (FinalField)o; return oo.a == a && oo.s.equals (s); } } } mauve-20140821/gnu/testlet/java/io/ObjectInputOutput/Test$GetPutField.data0000644000175000001440000000022306746545755025160 0ustar dokousers¬ísr6gnu.testlet.java.io.ObjectInputOutput.Test$GetPutFieldù¾ÏxÁˆIxLstrtLjava/lang/String;xp{ttest123xsq~txsq~ÿÿÿÿpxmauve-20140821/gnu/testlet/java/io/ObjectInputOutput/Compat2.java0000644000175000001440000001010210057633053023365 0ustar dokousers// Tags: JDK1.2 // Uses: SerBase /* Compat2.java -- Test for Put/GetField. Copyright (c) 2003 by Free Software Foundation, Inc. Written by Guilhem Lavaux (guilhem@kaffe.org). Based on a test by Pat Tullmann . 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, version 2. (see COPYING) 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 Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA */ package gnu.testlet.java.io.ObjectInputOutput; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.FileOutputStream; import java.io.FileInputStream; import java.io.IOException; import java.io.Serializable; public class Compat2 implements Testlet { static String SERIAL_REFERENCE = "serial.bin"; static String SERIAL_SCRATCH_FILENAME = "Compat2.tmp"; static int SERIAL_REF_ID = 0; private static class GetTypeMismatch // object typemismatch in get implements Serializable { // Explicitly set serialVersionUID for different compilers handling // of inner classes. private static final long serialVersionUID = -2330048339523627109L; private Integer x = new Integer(17); private Integer y = new Integer(27); public String toString() { return (this.getClass().getName() + ": " +x+ "," +y); } private void writeObject(ObjectOutputStream stream) throws IOException, ClassNotFoundException { ObjectOutputStream.PutField pf1 = stream.putFields(); pf1.put("x", this.x); pf1.put("y", this.y); stream.writeFields(); } private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException { ObjectInputStream.GetField gf1 = stream.readFields(); this.x = (Integer)gf1.get("x", new String("Missed X?")); this.y = (Integer)gf1.get("y", new String("Missed Y?")); } } void generate(String fname) throws IOException { FileOutputStream of = new FileOutputStream (fname); ObjectOutputStream oos = new ObjectOutputStream (of); oos.writeObject (new GetTypeMismatch()); } GetTypeMismatch readSerial(String fname) throws IOException, ClassNotFoundException { FileInputStream ifs = new FileInputStream (fname); ObjectInputStream ios = new ObjectInputStream (ifs); return (GetTypeMismatch)ios.readObject(); } public void test(TestHarness t) { int rand_id = 0; t.checkPoint ("Compatibility test for type mismatch when calling get methods"); try { generate (SERIAL_SCRATCH_FILENAME); t.check (true); try { readSerial (SERIAL_SCRATCH_FILENAME); t.check (false); t.debug ("This should have triggered IllegalArgumentException"); } catch (Exception e) { if (e instanceof IllegalArgumentException) t.check(true); else { t.check(false); t.debug("Expected IllegalArgumentException, not: " + e); } } } catch (Exception e) { t.check (false); t.debug (e); } try { ObjectInputStream ois = new ObjectInputStream (t.getResourceStream (getClass().getName().replace ('.', '#') + "." + SERIAL_REFERENCE)); ois.readObject(); t.check (false); t.debug ("This should have triggered IllegalArgumentException"); } catch (Exception e) { if (e instanceof IllegalArgumentException) t.check(true); else { t.check(false); t.debug("Expected IllegalArgumentException, not: " + e); } } } static public void main(String args[]) throws IOException { new Compat2().generate (SERIAL_REFERENCE); } } mauve-20140821/gnu/testlet/java/io/ObjectInputOutput/SerializableLoopB.java0000644000175000001440000000312510370724631025432 0ustar dokousers/* SerializableLoopB.java -- Simple class used to create a loop Copyright (C) 2006 Olivier Jolly This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.java.io.ObjectInputOutput; import java.io.Serializable; public class SerializableLoopB implements Serializable { private static final long serialVersionUID = 3033857304110309388L; SerializableLoopA a; int value = -1; public SerializableLoopA getA() { return a; } public void setA(SerializableLoopA a) { this.a = a; } public int getValue() { return value; } public void setValue(int value) { this.value = value; } public boolean equals(Object obj) { if (obj instanceof SerializableLoopB) { return getValue() == ((SerializableLoopB) obj).getValue(); } return false; } public int hashCode() { return new Integer(getValue()).hashCode(); } } mauve-20140821/gnu/testlet/java/io/ObjectInputOutput/write-ref-data.sh0000755000175000001440000000015106746545755024417 0ustar dokousers#! /bin/sh CLASSPATH=../../../../..:$CLASSPATH ${JAVA:-java} gnu.testlet.java.io.ObjectInputOutput.Test mauve-20140821/gnu/testlet/java/io/ObjectInputOutput/Test$NotSerial.data0000644000175000001440000000044406746545755024711 0ustar dokousers¬í{sr java.io.NotSerializableException(Vxç†5xrjava.io.ObjectStreamExceptiondÃäk9ûßxrjava.io.IOExceptionl€sde%ð«xrjava.lang.ExceptionÐý>;Äxrjava.lang.ThrowableÕÆ5'9w¸ËL detailMessagetLjava/lang/String;xpt4gnu.testlet.java.io.ObjectInputOutput.Test$NotSerialmauve-20140821/gnu/testlet/java/io/ObjectInputOutput/Compat1.java0000644000175000001440000000543710036477030023401 0ustar dokousers// Tags: JDK1.2 // Uses: SerBase /* SerTest.java -- Test class that "overrides" private field 'a'. Copyright (c) 2003 by Free Software Foundation, Inc. Written by Guilhem Lavaux (guilhem@kaffe.org). Based on a test by Pat Tullmann . 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, version 2. (see COPYING) 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 Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA */ package gnu.testlet.java.io.ObjectInputOutput; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.FileOutputStream; import java.io.FileInputStream; import java.math.BigInteger; import java.io.IOException; import java.io.File; public class Compat1 implements Testlet { static String SERIAL_REFERENCE = "serial.bin"; static String SERIAL_SCRATCH_FILENAME = "Compat1.tmp"; static int SERIAL_REF_ID = 0; BigInteger getBigInt(int id) { return new BigInteger("1010101010101101010101010102102102013103913019301210" + id); } void generate(String fname, int id) throws IOException { FileOutputStream of = new FileOutputStream (fname); ObjectOutputStream oos = new ObjectOutputStream (of); oos.writeObject (getBigInt (id)); } BigInteger readSerial(String fname) throws Exception { FileInputStream ifs = new FileInputStream (fname); ObjectInputStream ios = new ObjectInputStream (ifs); return (BigInteger)ios.readObject(); } public void test(TestHarness t) { int rand_id = 0; t.checkPoint ("Compatibility test for BigInteger"); try { generate (SERIAL_SCRATCH_FILENAME, rand_id); t.check (true); t.check(readSerial (SERIAL_SCRATCH_FILENAME), getBigInt (rand_id)); } catch (Exception e) { t.check (false); t.debug (e); } try { ObjectInputStream ois = new ObjectInputStream (t.getResourceStream (getClass().getName().replace ('.', '#') + "." + SERIAL_REFERENCE)); t.check(ois.readObject(), getBigInt (SERIAL_REF_ID)); } catch (Exception e) { t.check (false); t.debug (e); } new File(SERIAL_SCRATCH_FILENAME).delete(); } static public void main(String args[]) throws IOException { new Compat1().generate (SERIAL_REFERENCE, SERIAL_REF_ID); } } mauve-20140821/gnu/testlet/java/io/Writer/0000755000175000001440000000000012375316426017037 5ustar dokousersmauve-20140821/gnu/testlet/java/io/Writer/Test.java0000644000175000001440000000516710051632600020612 0ustar dokousers/************************************************************************* /* Test.java -- Test Writer /* /* Copyright (c) 1998, 2004 Free Software Foundation, Inc. /* Written by Daryl Lee (dolee@sources.redhat.com) /* And Mark Wielaard (mark@klomp.org) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.Writer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.Writer; import java.io.IOException; public class Test extends Writer implements Testlet { private static final int LEN = 100; private int index; private char[] buf; public Test() { super(); buf = new char[LEN]; index = 0; } Test(Object lock) { super(lock); } public void write(char cbuf[], int off, int len) throws IOException { for (int i = 0; i < len; i++) { buf[index++] = cbuf[off + i]; } } public void flush() throws IOException { // nothing to do } public void close() throws IOException { // nothing to do } public String toString() { return new String(buf, 0, index); } public void test(TestHarness harness) { Test tw = new Test(); char[] buff = {'A', 'B', 'C', 'D'}; try { // Just one block for all possible IOExceptions tw.write('X'); // X harness.check(true, "write(int)"); tw.write(buff); // XABCD harness.check(true, "write(buf)"); tw.write(buff, 1, 2); // XABCDBC harness.check(true, "write(buf, off, len)"); tw.write("YZ"); // XABCDBCYZ harness.check(true, "write(string)"); tw.write("abcde", 2, 2); // XABCDBCYZcd harness.check(tw.toString(), "XABCDBCYZcd", "All Characters written okay"); } catch (IOException e) { harness.fail("Unexpected IOException"); } // The lock object must be non-null. boolean npe_thrown = false; try { new Test(null); } catch (NullPointerException npe) { npe_thrown = true; } harness.check(npe_thrown, "null lock object"); } } // class Test mauve-20140821/gnu/testlet/java/io/UTFDataFormatException/0000755000175000001440000000000012375316426022043 5ustar dokousersmauve-20140821/gnu/testlet/java/io/UTFDataFormatException/constructor.java0000644000175000001440000000373012037740660025272 0ustar dokousers// Test if instances of a class java.io.UTFDataFormatException could be properly constructed // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.UTFDataFormatException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.UTFDataFormatException; /** * Test if instances of a class java.io.UTFDataFormatException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { UTFDataFormatException object1 = new UTFDataFormatException(); harness.check(object1 != null); harness.check(object1.toString(), "java.io.UTFDataFormatException"); UTFDataFormatException object2 = new UTFDataFormatException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.io.UTFDataFormatException: nothing happens"); UTFDataFormatException object3 = new UTFDataFormatException(null); harness.check(object3 != null); harness.check(object3.toString(), "java.io.UTFDataFormatException"); } } mauve-20140821/gnu/testlet/java/io/UTFDataFormatException/TryCatch.java0000644000175000001440000000327712037740660024434 0ustar dokousers// Test if try-catch block is working properly for a class java.io.UTFDataFormatException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.UTFDataFormatException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.UTFDataFormatException; /** * Test if try-catch block is working properly for a class java.io.UTFDataFormatException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new UTFDataFormatException("UTFDataFormatException"); } catch (UTFDataFormatException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/io/UTFDataFormatException/classInfo/0000755000175000001440000000000012375316426023764 5ustar dokousersmauve-20140821/gnu/testlet/java/io/UTFDataFormatException/classInfo/getPackage.java0000644000175000001440000000314512037740661026662 0ustar dokousers// Test for method java.io.UTFDataFormatException.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.UTFDataFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.UTFDataFormatException; /** * Test for method java.io.UTFDataFormatException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new UTFDataFormatException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.io"); } } mauve-20140821/gnu/testlet/java/io/UTFDataFormatException/classInfo/getInterfaces.java0000644000175000001440000000320712037740661027411 0ustar dokousers// Test for method java.io.UTFDataFormatException.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.UTFDataFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.UTFDataFormatException; import java.util.List; import java.util.Arrays; /** * Test for method java.io.UTFDataFormatException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new UTFDataFormatException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/io/UTFDataFormatException/classInfo/getModifiers.java0000644000175000001440000000440012037740661027243 0ustar dokousers// Test for method java.io.UTFDataFormatException.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.UTFDataFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.UTFDataFormatException; import java.lang.reflect.Modifier; /** * Test for method java.io.UTFDataFormatException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new UTFDataFormatException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/io/UTFDataFormatException/classInfo/isPrimitive.java0000644000175000001440000000310412037740661027126 0ustar dokousers// Test for method java.io.UTFDataFormatException.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.UTFDataFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.UTFDataFormatException; /** * Test for method java.io.UTFDataFormatException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new UTFDataFormatException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/io/UTFDataFormatException/classInfo/getSimpleName.java0000644000175000001440000000313712037740661027362 0ustar dokousers// Test for method java.io.UTFDataFormatException.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.UTFDataFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.UTFDataFormatException; /** * Test for method java.io.UTFDataFormatException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new UTFDataFormatException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "UTFDataFormatException"); } } mauve-20140821/gnu/testlet/java/io/UTFDataFormatException/classInfo/isSynthetic.java0000644000175000001440000000310412037740661027130 0ustar dokousers// Test for method java.io.UTFDataFormatException.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.UTFDataFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.UTFDataFormatException; /** * Test for method java.io.UTFDataFormatException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new UTFDataFormatException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/io/UTFDataFormatException/classInfo/isInstance.java0000644000175000001440000000314212037740661026724 0ustar dokousers// Test for method java.io.UTFDataFormatException.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.UTFDataFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.UTFDataFormatException; /** * Test for method java.io.UTFDataFormatException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new UTFDataFormatException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new UTFDataFormatException("xyzzy"))); } } mauve-20140821/gnu/testlet/java/io/UTFDataFormatException/classInfo/isMemberClass.java0000644000175000001440000000311412037740661027354 0ustar dokousers// Test for method java.io.UTFDataFormatException.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.UTFDataFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.UTFDataFormatException; /** * Test for method java.io.UTFDataFormatException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new UTFDataFormatException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/io/UTFDataFormatException/classInfo/getSuperclass.java0000644000175000001440000000321512037740661027451 0ustar dokousers// Test for method java.io.UTFDataFormatException.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.UTFDataFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.UTFDataFormatException; /** * Test for method java.io.UTFDataFormatException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new UTFDataFormatException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.io.IOException"); } } mauve-20140821/gnu/testlet/java/io/UTFDataFormatException/classInfo/InstanceOf.java0000644000175000001440000000370212037740661026657 0ustar dokousers// Test for instanceof operator applied to a class java.io.UTFDataFormatException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.UTFDataFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.UTFDataFormatException; import java.io.IOException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.io.UTFDataFormatException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UTFDataFormatException UTFDataFormatException o = new UTFDataFormatException("xyzzy"); // basic check of instanceof operator harness.check(o instanceof UTFDataFormatException); // check operator instanceof against all superclasses harness.check(o instanceof IOException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/io/UTFDataFormatException/classInfo/isInterface.java0000644000175000001440000000310412037740661027056 0ustar dokousers// Test for method java.io.UTFDataFormatException.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.UTFDataFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.UTFDataFormatException; /** * Test for method java.io.UTFDataFormatException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new UTFDataFormatException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/io/UTFDataFormatException/classInfo/isAssignableFrom.java0000644000175000001440000000316212037740661030056 0ustar dokousers// Test for method java.io.UTFDataFormatException.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.UTFDataFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.UTFDataFormatException; /** * Test for method java.io.UTFDataFormatException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new UTFDataFormatException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(UTFDataFormatException.class)); } } mauve-20140821/gnu/testlet/java/io/UTFDataFormatException/classInfo/isLocalClass.java0000644000175000001440000000311012037740661027173 0ustar dokousers// Test for method java.io.UTFDataFormatException.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.UTFDataFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.UTFDataFormatException; /** * Test for method java.io.UTFDataFormatException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new UTFDataFormatException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/io/UTFDataFormatException/classInfo/getName.java0000644000175000001440000000311712037740661026206 0ustar dokousers// Test for method java.io.UTFDataFormatException.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.UTFDataFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.UTFDataFormatException; /** * Test for method java.io.UTFDataFormatException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new UTFDataFormatException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.io.UTFDataFormatException"); } } mauve-20140821/gnu/testlet/java/io/StreamTokenizer/0000755000175000001440000000000012375316426020711 5ustar dokousersmauve-20140821/gnu/testlet/java/io/StreamTokenizer/slashstar.java0000644000175000001440000000410107144332130023540 0ustar dokousers// Test of `/*' behavior of StreamTokenizer. /************************************************************************* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.StreamTokenizer; import java.io.*; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class slashstar implements Testlet { public static void tokenize (TestHarness harness, String input, int[] expected) { harness.checkPoint (input); StringReader sr = new StringReader (input); StreamTokenizer st = new StreamTokenizer (sr); st.slashStarComments (true); try { int tt; int i = 0; while ((tt = st.nextToken ()) != StreamTokenizer.TT_EOF) { if (i >= expected.length) harness.fail ("not enough tokens"); else harness.check (tt, expected[i]); ++i; } harness.check (i, expected.length); } catch (Throwable _) { harness.debug (_); harness.fail ("Exception caught"); } } public void test (TestHarness harness) { int[] x1 = new int[2]; x1[0] = StreamTokenizer.TT_WORD; x1[1] = StreamTokenizer.TT_WORD; tokenize (harness, "alpha /* bleh */ gamma", x1); int[] x2 = new int[1]; x2[0] = StreamTokenizer.TT_WORD; tokenize (harness, "alpha / bleh", x2); tokenize (harness, "alpha /* bleh", x2); } } mauve-20140821/gnu/testlet/java/io/StreamTokenizer/misc.java0000644000175000001440000000544107565610354022515 0ustar dokousers// Test of several methods of StreamTokenizer. /************************************************************************* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.StreamTokenizer; import java.io.*; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class misc implements Testlet { public void test (TestHarness harness) { int tt; // Token type StringReader sr = new StringReader("LineOne\nSecond/Line\n?Question?3.14\nAxyz"); StreamTokenizer st = new StreamTokenizer(sr); st.eolIsSignificant(true); // Pass EOLs as tokens st.ordinaryChar('/'); // Remove 'comment' specialness of / st.lowerCaseMode(true); try { tt = st.nextToken(); harness.check(st.lineno(), 1, "lineno()"); harness.check(st.sval, "lineone", "lowerCaseMode()"); tt = st.nextToken(); // Should be newline harness.check(tt, StreamTokenizer.TT_EOL, "eolIsSignificant()"); tt = st.nextToken(); // Parse 'Second' tt = st.nextToken(); // Parse '/' st.lowerCaseMode(false); tt = st.nextToken(); // Parse 'Line'; wouldn't happen if / were a comment char harness.check(st.sval, "Line", "ordinaryChar()"); st.pushBack(); tt = st.nextToken(); harness.check(st.sval, "Line", "pushBack()"); st.quoteChar('?'); tt = st.nextToken(); // Parse EOL tt = st.nextToken(); // Get string quoted by ? harness.check(st.ttype, '?', "ttype field"); harness.check(st.sval, "Question", "quoteChar()"); st.parseNumbers(); // Get ready for the next one tt = st.nextToken(); harness.check(tt, StreamTokenizer.TT_NUMBER, "TT_NUMBER"); harness.check(st.nval > 3.1399 && st.nval < 3.1401, "parseNumbers()"); harness.debug("'3.14' came out " + st.nval); st.ordinaryChars('A','C'); // Make A, B, and C their own special tokens tt = st.nextToken(); // Parse EOL harness.check(st.nextToken(), 'A', "ordinaryChars()"); st.resetSyntax(); // Every character is its own token harness.check(st.nextToken(), 'x', "resetSyntax()"); } catch (IOException e) { harness.debug (e); harness.fail ("Unexpected Exception caught"); } } } mauve-20140821/gnu/testlet/java/io/StreamTokenizer/commentchar.java0000644000175000001440000000537107755764032024070 0ustar dokousers// Test of commentChar() method of StreamTokenizer. /************************************************************************* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.StreamTokenizer; import java.io.*; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class commentchar implements Testlet { public static void tokenize (TestHarness harness, StreamTokenizer st, String input, int[] expected) { harness.checkPoint (input); try { int tt; int i = 0; while ((tt = st.nextToken ()) != StreamTokenizer.TT_EOF) { if (i >= expected.length) harness.fail ("not enough tokens"); else harness.check (tt, expected[i]); ++i; } harness.check (i, expected.length); } catch (Throwable _) { harness.debug (_); harness.fail ("Exception caught"); } } public static StreamTokenizer make_tokenizer (String input) { StringReader sr = new StringReader (input); StreamTokenizer st = new StreamTokenizer (sr); return st; } public static void tokenize (TestHarness harness, String input, int[] expected) { StreamTokenizer st = make_tokenizer (input); st.commentChar('#'); tokenize (harness, st, input, expected); } public void test (TestHarness harness) { int[] x1 = new int[2]; x1[0] = StreamTokenizer.TT_WORD; x1[1] = StreamTokenizer.TT_WORD; tokenize (harness, "alpha # bleh\nbeta", x1); int[] x2 = new int[1]; x2[0] = StreamTokenizer.TT_WORD; tokenize (harness, "alpha / bleh", x2); tokenize (harness, "alpha # bleh", x2); // Classpath regression test. x2[0] = StreamTokenizer.TT_EOL; String input = " %foo,bar baz\n"; StreamTokenizer st = make_tokenizer(input); st.resetSyntax(); st.whitespaceChars(0, ' '); st.wordChars(' '+1, '\u00FF'); st.whitespaceChars(',', ','); st.commentChar('%'); st.eolIsSignificant(true); tokenize (harness, st, input, x2); } } mauve-20140821/gnu/testlet/java/io/StreamTokenizer/slashslash.java0000644000175000001440000000410007565574725023731 0ustar dokousers// Test of `//' behavior of StreamTokenizer. /************************************************************************* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.StreamTokenizer; import java.io.*; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class slashslash implements Testlet { public static void tokenize (TestHarness harness, String input, int[] expected) { harness.checkPoint (input); StringReader sr = new StringReader (input); StreamTokenizer st = new StreamTokenizer (sr); st.slashSlashComments (true); try { int tt; int i = 0; while ((tt = st.nextToken ()) != StreamTokenizer.TT_EOF) { if (i >= expected.length) harness.fail ("not enough tokens"); else harness.check (tt, expected[i]); ++i; } harness.check (i, expected.length); } catch (Throwable _) { harness.debug (_); harness.fail ("Exception caught"); } } public void test (TestHarness harness) { int[] x1 = new int[2]; x1[0] = StreamTokenizer.TT_WORD; x1[1] = StreamTokenizer.TT_WORD; tokenize (harness, "alpha // bleh\nbeta", x1); int[] x2 = new int[1]; x2[0] = StreamTokenizer.TT_WORD; tokenize (harness, "alpha / bleh", x2); tokenize (harness, "alpha /* bleh", x2); } } mauve-20140821/gnu/testlet/java/io/StreamTokenizer/newline.java0000644000175000001440000000506707516136501023220 0ustar dokousers// Test of newline behavior of StreamTokenizer. /************************************************************************* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.StreamTokenizer; import java.io.*; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class newline implements Testlet { public static void tokenize (TestHarness harness, String input, int[] expected, StreamTokenizer st) { String checkpointName = "URLEncoded " + java.net.URLEncoder.encode(input); harness.checkPoint ("Test of input: " + checkpointName); try { int tt; int i = 0; while ((tt = st.nextToken ()) != StreamTokenizer.TT_EOF) { if (i >= expected.length) harness.fail ("not enough tokens"); else harness.check (tt, expected[i]); ++i; } harness.check (i, expected.length); } catch (Throwable _) { harness.debug (_); harness.fail ("Exception caught"); } } public void test (TestHarness harness) { String input = "foo\nbar\r\njoe\rzardoz"; StringReader sr = new StringReader (input); int[] expected = new int[7]; expected[0] = StreamTokenizer.TT_WORD; expected[1] = StreamTokenizer.TT_EOL; expected[2] = StreamTokenizer.TT_WORD; expected[3] = StreamTokenizer.TT_EOL; expected[4] = StreamTokenizer.TT_WORD; expected[5] = StreamTokenizer.TT_EOL; expected[6] = StreamTokenizer.TT_WORD; StreamTokenizer st = new StreamTokenizer (sr); st.eolIsSignificant (true); tokenize (harness, input, expected, st); input = "\"foo\\\nbar\" after"; sr = new StringReader (input); st = new StreamTokenizer (sr); expected = new int[2]; expected[0] = (int) '"'; expected[1] = StreamTokenizer.TT_WORD; tokenize (harness, input, expected, st); } } mauve-20140821/gnu/testlet/java/io/StreamTokenizer/Test.java0000644000175000001440000000377607144373175022512 0ustar dokousers// Test of `/*' behavior of StreamTokenizer. /************************************************************************* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.StreamTokenizer; import java.io.*; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class Test implements Testlet { public static void tokenize (TestHarness harness, String input, int[] expected) { harness.checkPoint (input); StringReader sr = new StringReader (input); StreamTokenizer st = new StreamTokenizer (sr); st.slashStarComments (true); try { int tt; int i = 0; while ((tt = st.nextToken ()) != StreamTokenizer.TT_EOF) { if (i >= expected.length) harness.fail ("not enough tokens"); else harness.check (tt, expected[i]); ++i; } harness.check (i, expected.length); } catch (Throwable _) { harness.debug (_); harness.fail ("Exception caught"); } } public void test (TestHarness harness) { int[] x1 = new int[7]; x1[0] = '('; x1[1] = StreamTokenizer.TT_WORD; x1[2] = ')'; x1[3] = StreamTokenizer.TT_NUMBER; x1[4] = '('; x1[5] = StreamTokenizer.TT_WORD; x1[6] = ')'; tokenize (harness, "(a).(b)", x1); } } mauve-20140821/gnu/testlet/java/io/StreamTokenizer/WordWhiteChars.java0000644000175000001440000000355707515102050024445 0ustar dokousers// Test of resetting word chars to whitespace chars /************************************************************************* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.StreamTokenizer; import java.io.StreamTokenizer; import java.io.StringReader; import java.io.IOException; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class WordWhiteChars implements Testlet { public void test (TestHarness harness) { StreamTokenizer st = new StreamTokenizer(new StringReader("foo bar,baz")); // Everything is a word character. st.wordChars(0, 255); // Except for spaces and commas st.whitespaceChars(' ', ' '); st.whitespaceChars(',', ','); try { harness.check(st.nextToken(), StreamTokenizer.TT_WORD); harness.check(st.sval, "foo"); harness.check(st.nextToken(), StreamTokenizer.TT_WORD); harness.check(st.sval, "bar"); harness.check(st.nextToken(), StreamTokenizer.TT_WORD); harness.check(st.sval, "baz"); harness.check(st.nextToken(), StreamTokenizer.TT_EOF); } catch (IOException ioe) { harness.fail(ioe.toString()); } } } mauve-20140821/gnu/testlet/java/io/SyncFailedException/0000755000175000001440000000000012375316426021463 5ustar dokousersmauve-20140821/gnu/testlet/java/io/SyncFailedException/constructor.java0000644000175000001440000000337512036767362024726 0ustar dokousers// Test if instances of a class java.io.SyncFailedException could be properly constructed // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.SyncFailedException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.SyncFailedException; /** * Test if instances of a class java.io.SyncFailedException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SyncFailedException object1 = new SyncFailedException("nothing happens"); harness.check(object1 != null); harness.check(object1.toString(), "java.io.SyncFailedException: nothing happens"); SyncFailedException object3 = new SyncFailedException(null); harness.check(object3 != null); harness.check(object3.toString(), "java.io.SyncFailedException"); } } mauve-20140821/gnu/testlet/java/io/SyncFailedException/TryCatch.java0000644000175000001440000000325212036767362024054 0ustar dokousers// Test if try-catch block is working properly for a class java.io.SyncFailedException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.SyncFailedException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.SyncFailedException; /** * Test if try-catch block is working properly for a class java.io.SyncFailedException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new SyncFailedException("SyncFailedException"); } catch (SyncFailedException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/io/SyncFailedException/classInfo/0000755000175000001440000000000012375316426023404 5ustar dokousersmauve-20140821/gnu/testlet/java/io/SyncFailedException/classInfo/getPackage.java0000644000175000001440000000312612036767362026307 0ustar dokousers// Test for method java.io.SyncFailedException.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.SyncFailedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.SyncFailedException; /** * Test for method java.io.SyncFailedException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new SyncFailedException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.io"); } } mauve-20140821/gnu/testlet/java/io/SyncFailedException/classInfo/getInterfaces.java0000644000175000001440000000317012036767362027036 0ustar dokousers// Test for method java.io.SyncFailedException.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.SyncFailedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.SyncFailedException; import java.util.List; import java.util.Arrays; /** * Test for method java.io.SyncFailedException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new SyncFailedException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/io/SyncFailedException/classInfo/getModifiers.java0000644000175000001440000000436112036767362026677 0ustar dokousers// Test for method java.io.SyncFailedException.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.SyncFailedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.SyncFailedException; import java.lang.reflect.Modifier; /** * Test for method java.io.SyncFailedException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new SyncFailedException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/io/SyncFailedException/classInfo/isPrimitive.java0000644000175000001440000000306512036767362026562 0ustar dokousers// Test for method java.io.SyncFailedException.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.SyncFailedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.SyncFailedException; /** * Test for method java.io.SyncFailedException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new SyncFailedException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/io/SyncFailedException/classInfo/getSimpleName.java0000644000175000001440000000311512036767362027004 0ustar dokousers// Test for method java.io.SyncFailedException.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.SyncFailedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.SyncFailedException; /** * Test for method java.io.SyncFailedException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new SyncFailedException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "SyncFailedException"); } } mauve-20140821/gnu/testlet/java/io/SyncFailedException/classInfo/isSynthetic.java0000644000175000001440000000306512036767362026564 0ustar dokousers// Test for method java.io.SyncFailedException.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.SyncFailedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.SyncFailedException; /** * Test for method java.io.SyncFailedException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new SyncFailedException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/io/SyncFailedException/classInfo/isInstance.java0000644000175000001440000000312012036767362026346 0ustar dokousers// Test for method java.io.SyncFailedException.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.SyncFailedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.SyncFailedException; /** * Test for method java.io.SyncFailedException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new SyncFailedException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new SyncFailedException("xyzzy"))); } } mauve-20140821/gnu/testlet/java/io/SyncFailedException/classInfo/isMemberClass.java0000644000175000001440000000307512036767362027010 0ustar dokousers// Test for method java.io.SyncFailedException.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.SyncFailedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.SyncFailedException; /** * Test for method java.io.SyncFailedException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new SyncFailedException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/io/SyncFailedException/classInfo/getSuperclass.java0000644000175000001440000000317612036767362027105 0ustar dokousers// Test for method java.io.SyncFailedException.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.SyncFailedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.SyncFailedException; /** * Test for method java.io.SyncFailedException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new SyncFailedException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.io.IOException"); } } mauve-20140821/gnu/testlet/java/io/SyncFailedException/classInfo/InstanceOf.java0000644000175000001440000000365212036767362026311 0ustar dokousers// Test for instanceof operator applied to a class java.io.SyncFailedException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.SyncFailedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.SyncFailedException; import java.io.IOException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.io.SyncFailedException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class SyncFailedException SyncFailedException o = new SyncFailedException("xyzzy"); // basic check of instanceof operator harness.check(o instanceof SyncFailedException); // check operator instanceof against all superclasses harness.check(o instanceof IOException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/io/SyncFailedException/classInfo/isInterface.java0000644000175000001440000000306512036767362026512 0ustar dokousers// Test for method java.io.SyncFailedException.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.SyncFailedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.SyncFailedException; /** * Test for method java.io.SyncFailedException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new SyncFailedException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/io/SyncFailedException/classInfo/isAssignableFrom.java0000644000175000001440000000314012036767362027500 0ustar dokousers// Test for method java.io.SyncFailedException.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.SyncFailedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.SyncFailedException; /** * Test for method java.io.SyncFailedException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new SyncFailedException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(SyncFailedException.class)); } } mauve-20140821/gnu/testlet/java/io/SyncFailedException/classInfo/isLocalClass.java0000644000175000001440000000307112036767362026627 0ustar dokousers// Test for method java.io.SyncFailedException.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.SyncFailedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.SyncFailedException; /** * Test for method java.io.SyncFailedException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new SyncFailedException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/io/SyncFailedException/classInfo/getName.java0000644000175000001440000000307512036767362025637 0ustar dokousers// Test for method java.io.SyncFailedException.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.SyncFailedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.SyncFailedException; /** * Test for method java.io.SyncFailedException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new SyncFailedException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.io.SyncFailedException"); } } mauve-20140821/gnu/testlet/java/io/OutputStreamWriter/0000755000175000001440000000000012375316426021434 5ustar dokousersmauve-20140821/gnu/testlet/java/io/OutputStreamWriter/jdk11.java0000644000175000001440000000544507634647174023232 0ustar dokousers// Test for OutputStreamWriter methods // Written by Daryl Lee (dol@sources.redhat.com) // Elaboration of except.java by paul@dawa.demon.co.uk // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.io.OutputStreamWriter; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.OutputStreamWriter; import java.io.ByteArrayOutputStream; import java.io.IOException; public class jdk11 implements Testlet { public void test (TestHarness harness) { try { String tstr = "ABCDEFGH"; ByteArrayOutputStream baos = new ByteArrayOutputStream(); OutputStreamWriter osw = new OutputStreamWriter (baos); //Default encoding harness.check(true, "OutputStreamWriter(writer)"); harness.check(osw.getEncoding() != null, "non-null getEncoding"); osw.write(tstr.charAt(0)); // 'A' harness.check(true,"write(int)"); osw.write("ABCDE", 1, 3); // 'ABCD' harness.check(true,"write(string, off, len)"); char[] cbuf = new char[8]; tstr.getChars(4, 8, cbuf, 0); osw.write(cbuf, 0, 4); // 'ABCDEFGH' harness.check(true,"write(char[], off, len)"); osw.flush(); harness.check(true, "flush()"); harness.check(baos.toString(), tstr, "Wrote all characters okay"); osw.close (); harness.check(osw.getEncoding(), null, "null encoding after close"); ByteArrayOutputStream baos2 = new ByteArrayOutputStream(); // ISO-8859-1 is a required encoding and this is the // "preferred" name, latin1 is a legal alias // see also http://www.iana.org/assignments/character-sets OutputStreamWriter osw2 = new OutputStreamWriter(baos2, "ISO-8859-1"); // Note that for java.io the canonical name as returned by // getEncoding() must be the "historical" name. ISO8859_1. harness.check(osw2.getEncoding(), "ISO8859_1", "OutputStreamWriter(writer, encoding)"); osw2.close (); osw2 = new OutputStreamWriter(baos2, "latin1"); harness.check(osw2.getEncoding(), "ISO8859_1", "OutputStreamWriter(writer, encoding) // alias"); osw2.close (); } catch (IOException e) { harness.check(false, "IOException unexpected"); } } } mauve-20140821/gnu/testlet/java/io/LineNumberReader/0000755000175000001440000000000012375316426020746 5ustar dokousersmauve-20140821/gnu/testlet/java/io/LineNumberReader/Test2.java0000644000175000001440000001555207773561110022620 0ustar dokousers// ------------------------------------------------------------------------ // Test2.java -- Tests LineNumberReader // // Copyright (c) 2003 Free Software Foundation, Inc. // Written by Guilhem Lavaux , Based on a test by // Dalibor Topic // // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // ------------------------------------------------------------------------ // Tags: JDK1.1 package gnu.testlet.java.io.LineNumberReader; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class Test2 implements Testlet { static abstract class LineReaderTest { abstract void test(TestHarness harness) throws Exception; } static class LineTest1 extends LineReaderTest { void test(TestHarness harness) throws Exception { StringReader sr = new StringReader("X"); LineNumberReader lnr = new LineNumberReader(sr); try { lnr.mark(-5); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } } static class LineTest2 extends LineReaderTest { void test(TestHarness harness) throws Exception { StringReader sr = new StringReader("X"); LineNumberReader lnr = new LineNumberReader(sr); try { lnr.read(null, 0, 0); harness.check(false); } catch (NullPointerException e) { harness.check(true); } // Read too many bytes for the buffer. try { lnr.read(new char[1], 0, 2); harness.check(false); } catch (IndexOutOfBoundsException e) { harness.check(true); } // Read at a negative position. try { lnr.read(new char[1], -5, 0); harness.check(false); } catch (IndexOutOfBoundsException e) { harness.check(true); } // Read with a negative length. try { lnr.read(new char[1], 0, -5); harness.check(false); } catch (IndexOutOfBoundsException e) { harness.check(true); } } } static class LineTest3 extends LineReaderTest { void test(TestHarness harness) throws Exception { StringReader sr = new StringReader("X"); LineNumberReader lnr = new LineNumberReader(sr); lnr.setLineNumber(-5); harness.check(lnr.getLineNumber(), -5); } } static class LineTest4 extends LineReaderTest { void test(TestHarness harness) throws Exception { StringReader sr = new StringReader("\r\n"); LineNumberReader lnr = new LineNumberReader(sr); char[] ch = new char[2]; int r = lnr.read(ch, 0, 2); harness.check(ch[0] == '\r' && ch[1] == '\n'); harness.check(lnr.getLineNumber(), 1); } } static class LineTest5 extends LineReaderTest { void test(TestHarness harness) throws Exception { StringReader sr = new StringReader("\r\n\r"); LineNumberReader lnr = new LineNumberReader(sr); harness.check(lnr.read(), '\n'); harness.check(lnr.read(), '\n'); harness.check(lnr.getLineNumber(), 2); } } static class LineTest6 extends LineReaderTest { void test(TestHarness harness) throws Exception { StringReader sr = new StringReader("\r\r\n"); LineNumberReader lnr = new LineNumberReader(sr); harness.check(lnr.read(), '\n'); harness.check(lnr.read(), '\n'); harness.check(lnr.getLineNumber(), 2); } } static class LineTest7 extends LineReaderTest { void test(TestHarness harness) throws Exception { StringReader sr = new StringReader("\r\n\r"); LineNumberReader lnr = new LineNumberReader(sr); char[] ch = new char[1]; harness.check(lnr.read(), '\n'); harness.check(lnr.read(ch, 0, 1), 1); harness.check(ch[0], '\n'); harness.check(lnr.read(), '\n'); harness.check(lnr.getLineNumber(), 2); } } static class LineTest8 extends LineReaderTest { void test(TestHarness harness) throws Exception { StringReader sr = new StringReader("\r\n\r"); LineNumberReader lnr = new LineNumberReader(sr); char[] ch = new char[1]; harness.check(lnr.read(ch, 0, 1), 1); harness.check(ch[0], '\r'); harness.check(lnr.read(), '\n'); harness.check(lnr.read(ch, 0, 1), -1); harness.check(ch[0], '\r'); harness.check(lnr.getLineNumber(), 2); } } static class LineTest9 extends LineReaderTest { void test(TestHarness harness) throws Exception { StringReader sr = new StringReader("\r\n\r"); LineNumberReader lnr = new LineNumberReader(sr); char[] ch = new char[1]; lnr.read(); lnr.mark(5); harness.check(lnr.read(ch, 0, 1), 1); harness.check(ch[0], '\n'); harness.check(lnr.read(), '\n'); lnr.reset(); harness.check(lnr.read(ch, 0, 1), 1); harness.check(ch[0], '\n'); harness.check(lnr.read(), '\n'); harness.check(lnr.getLineNumber(), 2); } } static class LineTest10 extends LineReaderTest { void test(TestHarness harness) throws Exception { StringReader sr = new StringReader("X"); LineNumberReader lnr = new LineNumberReader(sr); try { lnr.reset(); harness.check(false); } catch (IOException e) { harness.check(true); } } } static class LineTest11 extends LineReaderTest { void test(TestHarness harness) throws Exception { StringReader sr = new StringReader("X"); LineNumberReader lnr = new LineNumberReader(sr); int old_linenumber = lnr.getLineNumber(); lnr.mark(5); lnr.setLineNumber(10); lnr.reset(); harness.check(lnr.getLineNumber(), old_linenumber); } } static LineReaderTest[] tests = { new LineTest1(), new LineTest2(), new LineTest3(), new LineTest4(), new LineTest5(), new LineTest6(), new LineTest7(), new LineTest8(), new LineTest9(), new LineTest10(), new LineTest11() }; public void test(TestHarness harness) { for (int i = 0; i < tests.length; i++) { String name = tests[i].getClass().getName(); name = name.substring(name.indexOf('$')+1); harness.checkPoint("LineNumberReader stress test (" + name + ")"); try { tests[i].test(harness); } catch (Exception e) { harness.check(false); harness.debug(e); } } } } mauve-20140821/gnu/testlet/java/io/LineNumberReader/Test.java0000644000175000001440000001055607576120742022540 0ustar dokousers/************************************************************************* /* Test.java -- Tests LineNumberReader /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.LineNumberReader; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class Test implements Testlet { public void test(TestHarness harness) { try { String str = "In 6th grade I had a crush on this girl named Leanne\n" + "Dean. I thought she was pretty hot. I saw her at my ten year\n" + "high school reunion. I still think she's pretty hot. (She's\n" + "married to my brother's college roommate).\n"; StringReader sbr = new StringReader(str); LineNumberReader lnr = new LineNumberReader(sbr); lnr.setLineNumber(2); char[] buf = new char[32]; int chars_read; while ((chars_read = lnr.read(buf)) != -1) { str = new String(buf, 0, chars_read); if (str.indexOf("\r") != -1) { harness.debug("\nFound unexpected \\r"); harness.check(false); } harness.debug(str, false); } harness.check(lnr.getLineNumber(), 6, "getLineNumber - first series"); } catch(IOException e) { harness.debug(e); harness.check(false); } try { String str = "Exiting off the expressway in Chicago is not an easy\n" + "thing to do. For example, at Fullerton you have to run a\n" + "gauntlet of people selling flowers, begging for money, or trying\n" + "to 'clean' your windshield for tips."; StringReader sbr = new StringReader(str); LineNumberReader lnr = new LineNumberReader(sbr); char[] buf = new char[32]; int chars_read; while ((chars_read = lnr.read(buf)) != -1) harness.debug(new String(buf, 0, chars_read), false); harness.debug(""); harness.check(lnr.getLineNumber(), 3, "getLineNumber - second test"); } catch(IOException e) { harness.debug(e); harness.check(false); } // test for mark, reset, skip, read(buf, off, len) and readLine try { String str = "Exiting off the expressway in Chicago is not an easy\n" + "thing to do. For example, at Fullerton you have to run a\n" + "gauntlet of people selling flowers, begging for money, or trying\n" + "to 'clean' your windshield for tips."; StringReader sbr = new StringReader(str); LineNumberReader lnr = new LineNumberReader(sbr); char[] buf = new char[80]; int chars_read; String line = lnr.readLine(); lnr.mark(80); lnr.skip(14); char[] buf2 = new char[3]; lnr.read(buf2, 0, 3); String b2 = new String(buf2); harness.check(b2, "For", "skip(), read(buf, off, len)"); lnr.reset(); char[] buf3 = new char[5]; lnr.read(buf3, 0, 5); String b3 = new String(buf3); harness.check(b3, "thing", "mark(), reset()"); } catch(IOException e) { harness.debug(e); harness.check(false); } // Test for multiple \r or \n in a stream. try { String str = "One\r\r\r\rTwo\n\n\n\nThree\r\n\r\n\r\n"; StringReader sbr = new StringReader(str); LineNumberReader lnr = new LineNumberReader(sbr); int c = lnr.read(); while (c != -1) { c = lnr.read(); } harness.check(lnr.getLineNumber(), 11, "One, Two, Three makes 11"); } catch(IOException e) { harness.debug(e); harness.check(false, "One, Two, Three makes 11"); } } } // class Test mauve-20140821/gnu/testlet/java/io/LineNumberReader/mark.java0000644000175000001440000000407607724447572022563 0ustar dokousers/************************************************************************* /* mark.java -- Tests LineNumberReader.mark() and reset(). /* /* Copyright (c) 2003 Free Software Foundation, Inc. /* Written by Mark Wielaard (mark@klomp.org) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.LineNumberReader; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class mark implements Testlet { public void test(TestHarness harness) { String s = "1234567890abcdef"; for (int nr = 0; nr <= 16; nr++) for (int limit = 1; limit < 16 - nr; limit++) { String test = "nr: " + nr + " limit: " + limit; try { StringReader sr = new StringReader(s); LineNumberReader lnr = new LineNumberReader(sr, 2); // Read some nr of chars. for (int i = 0; i < nr; i++) lnr.read(); // Set limit and read char we want to return to. lnr.mark(limit); int j = lnr.read(); // Gobble up some more chars till the limit for (int i = 0; i < limit - 1; i++) lnr.read(); // Reset and reread char lnr.reset(); int k = lnr.read(); harness.check(j, k, test); } catch(IOException e) { harness.debug(e); harness.check(false, test); } } } } mauve-20140821/gnu/testlet/java/io/PrintStream/0000755000175000001440000000000012375316426020033 5ustar dokousersmauve-20140821/gnu/testlet/java/io/PrintStream/subclass.java0000644000175000001440000000315607516136501022515 0ustar dokousers// Test simple forms of MessageFormat formatting. // Copyright (c) 2001, 2002 Red Hat, Inc. // Written by Tom Tromey // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.io.PrintStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class subclass extends PrintStream implements Testlet { public subclass () { // Use dummy OutputStream super (new ByteArrayOutputStream ()); } public void setOutput (OutputStream x) { this.out = x; } public void test (TestHarness harness) { boolean ok = true; try { // Set the underlying output stream and then write to it. We // should get the right results. ByteArrayOutputStream b = new ByteArrayOutputStream (); setOutput (b); print ("foo"); flush (); ok = b.toString().equals ("foo"); } catch (Throwable _) { ok = false; } harness.check (ok); } } mauve-20140821/gnu/testlet/java/io/PrintStream/encodings.java0000644000175000001440000000474610336623474022661 0ustar dokousers// Copyright (c) 2005 Red Hat, Inc. // Written by Ito Kazumitsu // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.io.PrintStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class encodings implements Testlet { private void test1 (TestHarness harness, String encoding, String input, byte[] expected) { byte[] output = null; try { ByteArrayOutputStream b = new ByteArrayOutputStream (); PrintStream ps = null; if (encoding == null) { ps = new PrintStream(b, false); } else { ps = new PrintStream(b, false, encoding); } ps.print(input); ps.flush(); output = b.toByteArray(); } catch (UnsupportedEncodingException e) { } if (output == null && expected == null) { harness.check(true); return; } boolean result = (output != null && output.length == expected.length); if (result) { for (int i = 0; i < output.length; i++) { if (output[i] != expected[i]) { result = false; break; } } } harness.check(result); } public void test (TestHarness harness) { String input = "abc"; byte[] expected = new byte[] {(byte)'a', (byte)'b', (byte)'c'}; test1 (harness, "ISO-8859-1", input, expected); test1 (harness, "??UNSUPPORTED??", input, null); /* The result of setting the system property "file.encoding" is uncertain. String saved_encoding = System.getProperty("file.encoding"); System.setProperty ("file.encoding", "ISO-8859-1"); test1 (harness, null, input, expected); System.setProperty ("file.encoding", "??UNSUPPORTED??"); test1 (harness, null, input, expected); System.setProperty("file.encoding", saved_encoding); */ } } mauve-20140821/gnu/testlet/java/io/PushbackReader/0000755000175000001440000000000012375316426020446 5ustar dokousersmauve-20140821/gnu/testlet/java/io/PushbackReader/BufferOverflow.java0000644000175000001440000000465406641011027024243 0ustar dokousers/************************************************************************* /* BufferOverflow.java - Test PushbackReader buffer overflows /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.PushbackReader; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class BufferOverflow implements Testlet { public void test(TestHarness harness) { String str = "I used to idolize my older cousin Kurt. I wanted to be\n" + "just like him when I was a kid. (Now we are as different as night\n" + "and day - but still like each other). One thing he did for a while\n" + "was set traps for foxes thinking he would make money off sellnig furs.\n" + "Now I never saw a fox in all my years of Southern Indiana. That\n" + "didn't deter us. One time we went out in the middle of winter to\n" + "check our traps. It was freezing and I stepped onto a frozen over\n" + "stream. The ice broke and I got my foot soak. Despite the fact that\n" + "it made me look like a girl, I turned around and went straight home.\n" + "Good thing too since I couldn't even feel my foot by the time I got\n" + "there.\n"; try { PushbackReader prt = new PushbackReader(new StringReader(str), 10); char[] read_buf = new char[12]; prt.read(read_buf); prt.unread(read_buf); harness.debug("Did not throw expected buffer overflow exception"); harness.check(false); } catch(IOException e) { harness.check(true); // Yes, we expect this exception } } } // class BufferOverflow mauve-20140821/gnu/testlet/java/io/PushbackReader/Unread.java0000644000175000001440000000622207564576624022545 0ustar dokousers/************************************************************************* /* Unread.java - Test basic unread functionality of PushbackReader /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.PushbackReader; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class Unread implements Testlet { public void test(TestHarness harness) { String str = "I used to idolize my older cousin Kurt. I wanted to be\n" + "just like him when I was a kid. (Now we are as different as night\n" + "and day - but still like each other). One thing he did for a while\n" + "was set traps for foxes thinking he would make money off selling furs.\n" + "Now I never saw a fox in all my years of Southern Indiana. That\n" + "didn't deter us. One time we went out in the middle of winter to\n" + "check our traps. It was freezing and I stepped onto a frozen over\n" + "stream. The ice broke and I got my foot soaked. Despite the fact that\n" + "it made me look like a girl, I turned around and went straight home.\n" + "Good thing too since I couldn't even feel my foot by the time I got\n" + "there.\n"; try { PushbackReader prt = new PushbackReader( new StringReader(str), 15); char[] read_buf1 = new char[12]; char[] read_buf2 = new char[12]; boolean passed = true; harness.check(prt.ready(), "ready()"); harness.check(!prt.markSupported(), "markSupported()"); prt.read(read_buf1); prt.unread(read_buf1); prt.read(read_buf2); for (int i = 0; i < read_buf1.length; i++) { if (read_buf1[i] != read_buf2[i]) throw new IOException("Re-reading bytes gave different results"); } prt.unread(read_buf2, 1, read_buf2.length - 1); prt.unread(read_buf2[0]); int chars_read, total_read = 0; while ((chars_read = prt.read(read_buf1)) != -1) { harness.debug(new String(read_buf1, 0, chars_read), false); total_read += chars_read; } harness.check(total_read, str.length(), "total_read == str.length()"); prt.close(); harness.check(true, "close()"); } catch(IOException e) { harness.debug(e); harness.check(false); } } } // class Unread mauve-20140821/gnu/testlet/java/io/NotActiveException/0000755000175000001440000000000012375316426021336 5ustar dokousersmauve-20140821/gnu/testlet/java/io/NotActiveException/constructor.java0000644000175000001440000000364412034502733024563 0ustar dokousers// Test if instances of a class java.io.NotActiveException could be properly constructed // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.NotActiveException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.NotActiveException; /** * Test if instances of a class java.io.NotActiveException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { NotActiveException object1 = new NotActiveException(); harness.check(object1 != null); harness.check(object1.toString(), "java.io.NotActiveException"); NotActiveException object2 = new NotActiveException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.io.NotActiveException: nothing happens"); NotActiveException object3 = new NotActiveException(null); harness.check(object3 != null); harness.check(object3.toString(), "java.io.NotActiveException"); } } mauve-20140821/gnu/testlet/java/io/NotActiveException/TryCatch.java0000644000175000001440000000324312034502733023712 0ustar dokousers// Test if try-catch block is working properly for a class java.io.NotActiveException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.NotActiveException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.NotActiveException; /** * Test if try-catch block is working properly for a class java.io.NotActiveException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new NotActiveException("NotActiveException"); } catch (NotActiveException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/io/NotActiveException/classInfo/0000755000175000001440000000000012375316426023257 5ustar dokousersmauve-20140821/gnu/testlet/java/io/NotActiveException/classInfo/getPackage.java0000644000175000001440000000312112034502733026140 0ustar dokousers// Test for method java.io.NotActiveException.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.NotActiveException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.NotActiveException; /** * Test for method java.io.NotActiveException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new NotActiveException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.io"); } } mauve-20140821/gnu/testlet/java/io/NotActiveException/classInfo/getInterfaces.java0000644000175000001440000000316312034502733026676 0ustar dokousers// Test for method java.io.NotActiveException.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.NotActiveException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.NotActiveException; import java.util.List; import java.util.Arrays; /** * Test for method java.io.NotActiveException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new NotActiveException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/io/NotActiveException/classInfo/getModifiers.java0000644000175000001440000000435412034502733026537 0ustar dokousers// Test for method java.io.NotActiveException.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.NotActiveException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.NotActiveException; import java.lang.reflect.Modifier; /** * Test for method java.io.NotActiveException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new NotActiveException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/io/NotActiveException/classInfo/isPrimitive.java0000644000175000001440000000306012034502733026413 0ustar dokousers// Test for method java.io.NotActiveException.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.NotActiveException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.NotActiveException; /** * Test for method java.io.NotActiveException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new NotActiveException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/io/NotActiveException/classInfo/getSimpleName.java0000644000175000001440000000310712034502733026643 0ustar dokousers// Test for method java.io.NotActiveException.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.NotActiveException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.NotActiveException; /** * Test for method java.io.NotActiveException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new NotActiveException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "NotActiveException"); } } mauve-20140821/gnu/testlet/java/io/NotActiveException/classInfo/isSynthetic.java0000644000175000001440000000306012034502733026415 0ustar dokousers// Test for method java.io.NotActiveException.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.NotActiveException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.NotActiveException; /** * Test for method java.io.NotActiveException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new NotActiveException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/io/NotActiveException/classInfo/isInstance.java0000644000175000001440000000311212034502733026205 0ustar dokousers// Test for method java.io.NotActiveException.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.NotActiveException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.NotActiveException; /** * Test for method java.io.NotActiveException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new NotActiveException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new NotActiveException("xyzzy"))); } } mauve-20140821/gnu/testlet/java/io/NotActiveException/classInfo/isMemberClass.java0000644000175000001440000000307012034502733026641 0ustar dokousers// Test for method java.io.NotActiveException.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.NotActiveException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.NotActiveException; /** * Test for method java.io.NotActiveException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new NotActiveException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/io/NotActiveException/classInfo/getSuperclass.java0000644000175000001440000000320312034502733026732 0ustar dokousers// Test for method java.io.NotActiveException.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.NotActiveException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.NotActiveException; /** * Test for method java.io.NotActiveException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new NotActiveException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.io.ObjectStreamException"); } } mauve-20140821/gnu/testlet/java/io/NotActiveException/classInfo/InstanceOf.java0000644000175000001440000000400312034502733026136 0ustar dokousers// Test for instanceof operator applied to a class java.io.NotActiveException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.NotActiveException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.NotActiveException; import java.io.ObjectStreamException; import java.io.IOException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.io.NotActiveException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NotActiveException NotActiveException o = new NotActiveException("xyzzy"); // basic check of instanceof operator harness.check(o instanceof NotActiveException); // check operator instanceof against all superclasses harness.check(o instanceof ObjectStreamException); harness.check(o instanceof IOException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/io/NotActiveException/classInfo/isInterface.java0000644000175000001440000000306012034502733026343 0ustar dokousers// Test for method java.io.NotActiveException.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.NotActiveException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.NotActiveException; /** * Test for method java.io.NotActiveException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new NotActiveException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/io/NotActiveException/classInfo/isAssignableFrom.java0000644000175000001440000000313212034502733027337 0ustar dokousers// Test for method java.io.NotActiveException.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.NotActiveException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.NotActiveException; /** * Test for method java.io.NotActiveException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new NotActiveException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(NotActiveException.class)); } } mauve-20140821/gnu/testlet/java/io/NotActiveException/classInfo/isLocalClass.java0000644000175000001440000000306412034502733026467 0ustar dokousers// Test for method java.io.NotActiveException.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.NotActiveException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.NotActiveException; /** * Test for method java.io.NotActiveException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new NotActiveException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/io/NotActiveException/classInfo/getName.java0000644000175000001440000000306712034502733025476 0ustar dokousers// Test for method java.io.NotActiveException.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.NotActiveException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.NotActiveException; /** * Test for method java.io.NotActiveException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new NotActiveException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.io.NotActiveException"); } } mauve-20140821/gnu/testlet/java/io/FileDescriptor/0000755000175000001440000000000012375316426020501 5ustar dokousersmauve-20140821/gnu/testlet/java/io/FileDescriptor/jdk11.java0000644000175000001440000000355710201742722022254 0ustar dokousers/************************************************************************* /* jdk11.java -- java.io.FileDescriptor 1.1 tests /* /* Copyright (c) 2001, 2002 Free Software Foundation, Inc. /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.FileDescriptor; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.FileDescriptor; import java.io.FileOutputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.SyncFailedException; public class jdk11 implements Testlet { public void test (TestHarness harness) { try { FileOutputStream fos = new FileOutputStream("tmpfile"); try { FileDescriptor fd = fos.getFD(); harness.check(fd.valid(), "valid()"); try { fd.sync(); harness.check(true, "sync()"); } catch (SyncFailedException e) { harness.debug(e); harness.fail("SyncFailedException thrown"); } } catch (IOException e) { harness.fail("Can't get FileDescriptor"); } } catch (FileNotFoundException e) { harness.fail("Can't make file 'tmpfile'"); } } } mauve-20140821/gnu/testlet/java/io/DataOutputStream/0000755000175000001440000000000012375316426021031 5ustar dokousersmauve-20140821/gnu/testlet/java/io/DataOutputStream/WriteRead2.java0000644000175000001440000000716707576450777023676 0ustar dokousers/************************************************************************* /* WriteRead2.java -- Tests Data{Input,Output}Stream's /* /* Copyright (c) 1998, 1999 Free Software Foundation, Inc. /* Written by Daryl Lee /* Shameless ripoff of WriteRead.java by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 // This test contains the JDK 1.1 tests not included in WriteRead.java package gnu.testlet.java.io.DataOutputStream; import java.io.*; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class WriteRead2 implements Testlet { public void test(TestHarness harness) { // First write it. try { FileOutputStream fos = new FileOutputStream("dataoutput2.out"); DataOutputStream dos = new DataOutputStream(fos); byte[] b = {97, 98, 99, 100, 101, 102}; // "abcdef" dos.writeChars("Random String One"); dos.writeBytes("Random String Two"); dos.write('X'); dos.write(b, 0, b.length); dos.writeByte(12); dos.writeShort(1234); dos.flush(); harness.check(true, "flush()"); harness.check(dos.size(), 61, "size()"); dos.close(); harness.check(true, "DataOutputStream write (2, conditionally"); } catch (Exception e) { harness.debug(e); harness.check(false, "DataOutputStream write(2)"); return; } // Now read it try { FileInputStream is = new FileInputStream("dataoutput2.out"); DataInputStream dis = new DataInputStream(is); harness.debug("Reading data written during write phase."); runReadTest(dis, harness); dis.close(); } catch (Exception e) { harness.debug(e); harness.check(false, "Read data written during write phase"); } } // NOTE same function is in gnu.testlet.java.io.DataInputStream.ReadStream2 // Please change it in that place to if you change it here. public static void runReadTest(DataInputStream dis, TestHarness harness) { String s2 = "Random"; byte[] b2 = new byte[s2.length()]; String s3 = " String Two"; byte[] b3 = new byte[s3.length()]; try { dis.skipBytes(34); // skip over "writeChars(Random String One)" dis.readFully(b2); // get "Random" harness.check(s2, new String(b2), "readFully(buf)"); dis.readFully(b3, 0, b3.length); // get " String Two" harness.check(s3, new String(b3), "readFully(buf, off, len)"); dis.read(b2, 0, 1); harness.check('X', b2[0], "read(b[])"); dis.read(b2, 0, 6); String s4 = new String(b2); harness.check("abcdef", s4, "read(b, off, len)"); harness.check(12, dis.readUnsignedByte(), "readUnsignedByte()"); harness.check(1234, dis.readUnsignedShort(), "readUnsignedShort()"); } catch (IOException e) { harness.debug(e); harness.check(false, "Reading DataInputStream (2)"); } } } // class WriteRead mauve-20140821/gnu/testlet/java/io/DataOutputStream/WriteRead.java0000644000175000001440000000741707576450777023612 0ustar dokousers/************************************************************************* /* WriteRead.java -- Tests Data{Input,Output}Stream's /* /* Copyright (c) 1998, 1999 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.0 package gnu.testlet.java.io.DataOutputStream; import java.io.*; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class WriteRead implements Testlet { public void test(TestHarness harness) { // First write it. try { FileOutputStream fos = new FileOutputStream("dataoutput.out"); DataOutputStream dos = new DataOutputStream(fos); dos.writeBoolean(true); dos.writeBoolean(false); dos.writeByte((byte)8); dos.writeByte((byte)-122); dos.writeChar((char)'a'); dos.writeChar((char)'\uE2D2'); dos.writeShort((short)32000); dos.writeInt((int)8675309); dos.writeLong(696969696969L); dos.writeFloat((float)3.1415); dos.writeDouble((double)999999999.999); dos.writeUTF("Testing code is such a boring activity but it must be done"); dos.writeUTF("a-->\u01FF\uA000\u6666\u0200RRR"); dos.close(); harness.check(true, "DataOutputStream write (conditionally"); } catch (Exception e) { harness.debug(e); harness.check(false, "DataOutputStream write"); return; } // Now read it try { FileInputStream is = new FileInputStream("dataoutput.out"); DataInputStream dis = new DataInputStream(is); harness.debug("Reading data written during write phase."); runReadTest(dis, harness); dis.close(); } catch (Exception e) { harness.debug(e); harness.check(false, "Read data written during write phase"); } } // NOTE: Same function is in gnu.testlet.java.io.DataInputStream.ReadStream // Please change that copy when you change this copy public static void runReadTest(DataInputStream dis, TestHarness harness) { try { harness.check(dis.readBoolean(), "readBoolean() true"); harness.check(!dis.readBoolean(), "readBoolean() false"); harness.check(dis.readByte(), 8, "readByte()"); harness.check(dis.readByte(), -122, "readByte()"); harness.check(dis.readChar(), 'a', "readChar()"); harness.check(dis.readChar(), '\uE2D2', "readChar()"); harness.check(dis.readShort(), 32000, "readShort()"); harness.check(dis.readInt(), 8675309, "readInt()"); harness.check(dis.readLong(), 696969696969L, "readLong()"); harness.check(Float.toString(dis.readFloat()), "3.1415", "readFloat()"); harness.check(dis.readDouble(), 999999999.999, "readDouble"); harness.check((String)dis.readUTF(), "Testing code is such a boring activity but it must be done", "readUTF()"); harness.check(dis.readUTF(), "a-->\u01FF\uA000\u6666\u0200RRR", "readUTF()"); } catch (IOException e) { harness.debug(e); harness.check(false, "Reading DataInputStream"); } } } // class WriteRead mauve-20140821/gnu/testlet/java/io/DataOutputStream/writeUTF.java0000644000175000001440000000506607571730571023417 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 2002 Free Software Foundation, Inc. // Written by Mark Wielaard // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.io.DataOutputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class writeUTF implements Testlet { TestHarness harness; public void test (TestHarness harness) { this.harness = harness; try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutputStream dos = new DataOutputStream(baos); dos.writeUTF("\u0000" + "\u0001\u0002\u007e\u007f" + "\u0080\u0081\u07fe\u07ff" + "\u0800\u0801\ufffe\uffff"); dos.close(); byte[] bs = baos.toByteArray(); byte[] encoded = {(byte)0x00, (byte)0x1a, // size (26) (byte)0xc0, (byte)0x80, // \u0000 (byte)0x01, // \u0001 (byte)0x02, // \u0002 (byte)0x7e, // \u007e (byte)0x7f, // \u007f (byte)0xc2, (byte)0x80, // \u0080 (byte)0xc2, (byte)0x81, // \u0081 (byte)0xdf, (byte)0xbe, // \u07fe (byte)0xdf, (byte)0xbf, // \u07ff (byte)0xe0, (byte)0xa0, (byte)0x80, // \u0800 (byte)0xe0, (byte)0xa0, (byte)0x81, // \u0801 (byte)0xef, (byte)0xbf, (byte)0xbe, // \ufffe (byte)0xef, (byte)0xbf, (byte)0xbf}; // \uffff checkArrayEquals(bs, encoded); } catch (IOException ioe) { harness.fail("Unexpected IOException: " + ioe); } } private void checkArrayEquals(byte[] b1, byte[] b2) { int length = b1.length; if (length != b2.length) { harness.debug("b1.length=" + length + ", but b2.length=" + b2.length); harness.fail("arrays same"); return; } for (int i = 0; i < length; i++) if (b1[i] != b2[i]) { harness.debug("b1[" + i + "] = " + b1[i] + ", but b2[" + i + "] = " + b2[i]); harness.fail("arrays not equal"); return; } harness.check(true, "arrays same"); } } mauve-20140821/gnu/testlet/java/io/FilterInputStream/0000755000175000001440000000000012375316426021204 5ustar dokousersmauve-20140821/gnu/testlet/java/io/FilterInputStream/SimpleRead.java0000644000175000001440000000455507605171021024073 0ustar dokousers/************************************************************************* /* SimpleRead.java -- ByteArrayInputStream simple read test /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.0 package gnu.testlet.java.io.FilterInputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.ByteArrayInputStream; import java.io.FilterInputStream; import java.io.IOException; public class SimpleRead extends FilterInputStream implements Testlet { public SimpleRead() { this(null); } public SimpleRead(ByteArrayInputStream is) { super(is); } public void test(TestHarness harness) { String str = "My sophomore year of college I moved out of the dorms. I\n" + "moved in with three friends into a brand new townhouse in east\n" + "Bloomington at 771 Woodbridge Drive. To this day that was the\n" + "nicest place I've ever lived.\n"; byte[] str_bytes = str.getBytes(); ByteArrayInputStream bais = new ByteArrayInputStream(str_bytes); SimpleRead fis = new SimpleRead(bais); byte[] read_buf = new byte[12]; try { int bytes_read, total_read = 0; harness.check(fis.read(), 'M', "read()"); while ((bytes_read = fis.read(read_buf, 0, read_buf.length)) != -1) { harness.debug(new String(read_buf, 0, bytes_read), false); total_read += bytes_read; } fis.close(); harness.check(total_read, str.length()-1, "total_read"); } catch (IOException e) { harness.debug(e); harness.check(false); } } } // SimpleRead mauve-20140821/gnu/testlet/java/io/FilterInputStream/MarkReset.java0000644000175000001440000000525107605162710023742 0ustar dokousers/************************************************************************* /* MarkReset.java -- FilterInputStream mark/reset test /* /* Copyright (c) 1998, 1999 Free Software Foundation, Inc. /* Written for ByteArrayInputStream by Aaron M. Renn (arenn@urbanophile.com) /* Adapted to FilterInputStream by Daryl O. Lee (dolee@sources.redhat.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.0 package gnu.testlet.java.io.FilterInputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.ByteArrayInputStream; import java.io.FilterInputStream; import java.io.IOException; public class MarkReset extends FilterInputStream implements Testlet { public MarkReset() { this(null); } public MarkReset(ByteArrayInputStream is) { super(is); } public void test(TestHarness harness) { String str = "My sophomore year of college I moved out of the dorms. I\n" + "moved in with three friends into a brand new townhouse in east\n" + "Bloomington at 771 Woodbridge Drive. To this day that was the\n" + "nicest place I've ever lived.\n"; byte[] str_bytes = str.getBytes(); ByteArrayInputStream bais = new ByteArrayInputStream(str_bytes); MarkReset fis = new MarkReset(bais); byte[] read_buf = new byte[12]; try { fis.read(read_buf); harness.check(fis.available(), (str_bytes.length - read_buf.length), "available() 1"); harness.check(fis.skip(5), 5, "skip()"); // System.out.println("skip() didn't work"); harness.check(fis.available(), (str_bytes.length - (read_buf.length + 5)), "available() 2"); harness.check(fis.markSupported(), "markSupported()"); fis.mark(0); int availsave = fis.available(); fis.read(); fis.reset(); harness.check(fis.available(), availsave, "mark(),reset()"); } catch(IOException e) { harness.debug(e); harness.check(false); } } } // MarkReset mauve-20140821/gnu/testlet/java/io/RandomAccessFile/0000755000175000001440000000000012375316426020725 5ustar dokousersmauve-20140821/gnu/testlet/java/io/RandomAccessFile/setLength.java0000644000175000001440000000441410044266316023521 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.io.RandomAccessFile; import java.io.*; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class setLength implements Testlet { public void test (TestHarness harness) { String tmpfile = harness.getTempDirectory() + File.separator + "mauve-raf.tst"; File f = new File(tmpfile); f.delete(); try { RandomAccessFile raf = new RandomAccessFile(f, "rw"); harness.check(raf.length(), 0); harness.check(raf.getFilePointer(), 0); raf.write(new byte[] {1, 2, 3, 4, 5, 6, 7, 8} ); harness.check(raf.length(), 8); harness.check(raf.getFilePointer(), 8); // Truncate raf.setLength(3); harness.check(raf.length(), 3); harness.check(raf.getFilePointer(), 3); // End of file harness.check(raf.read(), -1); harness.check(3, raf.length()); // Expand raf.write(10); harness.check(raf.length(), 4); harness.check(raf.getFilePointer(), 4); // Expand with setLength raf.setLength(10); harness.check(raf.length(), 10); harness.check(raf.getFilePointer(), 4); // Truncate with setLength raf.setLength(5); harness.check(raf.length(), 5); harness.check(raf.getFilePointer(), 4); // Truncate with setLength before file position raf.setLength(1); harness.check(raf.length(), 1); harness.check(raf.getFilePointer(), 1); } catch(IOException ioe) { harness.fail("Unexpected: " + ioe); harness.debug(ioe); } finally { // Cleanup f.delete(); } } } mauve-20140821/gnu/testlet/java/io/RandomAccessFile/security.java0000644000175000001440000001115110562130333023421 0ustar dokousers// Copyright (C) 2005, 2006, 2007 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 package gnu.testlet.java.io.RandomAccessFile; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FilePermission; import java.io.IOException; import java.io.RandomAccessFile; import java.security.Permission; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.TestSecurityManager; public class security implements Testlet { public void test (TestHarness harness) { File dir = new File(harness.getTempDirectory(), "mauve-testdir"); harness.check(dir.mkdir() || dir.exists(), "temp directory"); File file = new File(dir, "file"); String path = file.getPath(); try { new FileOutputStream(file); } catch (FileNotFoundException e) { harness.debug(e); harness.check(false, "unexpected exception"); } Permission rperm = new FilePermission(path, "read"); Permission wperm = new FilePermission(path, "write"); Permission rfdperm = new RuntimePermission("readFileDescriptor"); Permission wfdperm = new RuntimePermission("writeFileDescriptor"); String[] modes = new String[] {"r", "rw", "rws", "rwd"}; TestSecurityManager sm = new TestSecurityManager(harness); try { sm.install(); for (int i = 0; i < modes.length; i++) { String mode = modes[i]; Permission[] mustCheck, mayCheck; if (mode.equals("r")) { mustCheck = new Permission[] {rperm}; mayCheck = new Permission[] {rfdperm}; } else { mustCheck = new Permission[] {rperm, wperm}; mayCheck = new Permission[] {rfdperm, wfdperm}; } RandomAccessFile raf; // throwpoint: java.io.RandomAccessFile-RandomAccessFile(File, String) harness.checkPoint("File constructor, mode = \"" + mode + "\""); try { sm.prepareChecks(mustCheck, mayCheck); raf = new RandomAccessFile(file, mode); sm.checkAllChecked(); if (mode == "r") ensureUnwritable(harness, raf); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.io.RandomAccessFile-RandomAccessFile(String, String) harness.checkPoint("String constructor, mode = \"" + mode + "\""); try { sm.prepareChecks(mustCheck, mayCheck); raf = new RandomAccessFile(path, mode); sm.checkAllChecked(); if (mode == "r") ensureUnwritable(harness, raf); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } } catch (Exception ex) { harness.debug(ex); harness.check(false, "Unexpected exception"); } finally { sm.uninstall(); file.delete(); dir.delete(); } } private void ensureUnwritable(TestHarness harness, RandomAccessFile file) { harness.checkPoint("read-only checks"); byte[] barry = new byte[] {2, 4, 2}; try { for (int i = 1; i <= 14; i++) { long pointer = file.getFilePointer(); try { switch (i) { case 1: file.write(barry); break; case 2: file.write(barry, 1, 2); break; case 3: file.write(1); break; case 4: file.writeBoolean(true); break; case 5: file.writeByte(1); break; case 6: file.writeBytes("hello mum"); break; case 7: file.writeChar(1); break; case 8: file.writeChars("hello mum"); break; case 9: file.writeDouble(1); break; case 10: file.writeFloat(1); break; case 11: file.writeInt(1); break; case 12: file.writeLong(1); break; case 13: file.writeShort(1); break; case 14: file.writeUTF("hello mum"); break; } harness.check(false); } catch (IOException e) { harness.check(file.getFilePointer() == pointer); } } } catch (IOException e) { harness.debug(e); harness.check(false, "unexpected IOException"); } } } mauve-20140821/gnu/testlet/java/io/RandomAccessFile/jdk11.java0000644000175000001440000002124010201742723022466 0ustar dokousers/************************************************************************* /* jdk11.java -- java.io.File 1.1 tests /* /* Copyright (c) 2001, 2002 Free Software Foundation, Inc. /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.RandomAccessFile; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.EOFException; import java.io.File; import java.io.FileDescriptor; import java.io.IOException; import java.io.RandomAccessFile; public class jdk11 implements Testlet { public void test (TestHarness harness) { String fname = "raftmpfile"; RandomAccessFile raf; int rdcnt; byte[] buf = {0, 0, 0, 0}; // Start by deleting test file, if it exists, // to clear out any leftover data File f = new File(fname); if (f.exists()) f.delete(); // new RandomAccessFile(filename, mode); try { raf = new RandomAccessFile(fname, "rw"); } catch (IOException e) { harness.fail("new RandomAccessFile(Filename, mode): Can't open file " + fname); return; // can't proceed without open file } try { FileDescriptor fd = raf.getFD(); } catch (IOException e) { harness.fail("getFD(): Can't get FileDescriptor"); return; // shouldn't proceed if no FileDescriptor } // Test skipBytes String teststr = "foobar"; int testlength = teststr.length(); byte[] testbytes = new byte[testlength]; ; for (int i = 0; i < teststr.length(); i++) testbytes[i] = (byte) teststr.charAt(i); try { // write(b[]) raf.write(testbytes); harness.check(testlength, raf.length(), "write(b[])/length()"); harness.debug("File size = " + raf.length() + "; should = " + testlength); raf.seek(0); // Make sure skipBytes goes all the way to the end of the file and no further int skipped = 0; for (int i = 0; i < testbytes.length + 1; i++) { // last skip should return 0 bytes int offset = raf.skipBytes(1); harness.debug("skipped " + offset + " bytes"); skipped += offset; } harness.check(skipped, testlength, "skipBytes() did not skip past EOF"); // read() raf.seek(0); char ch1 = (char) raf.read(); char ch2 = teststr.charAt(0); harness.check(ch1, ch2, "read()"); harness.debug("Read " + ch1 + "; should be " + ch2); // getFilePointer() (sneak this one in because all the setup is done already) harness.check(raf.getFilePointer(), 1, "getFilePointer()"); // read(b[], off, len) raf.seek(0); // test seek and read multiple bytes all at once rdcnt = raf.read(buf, 0, 3); harness.check(rdcnt, 3, "read(b[], off, len):Reading correct number of bytes"); harness.debug("Read " + rdcnt + " bytes; should have been 3."); String str = new String(buf); harness.check(str.substring(0, 3).equals(teststr.substring(0, 3)), "read(b[], off, len):Reading at correct offset"); harness.debug("array read: read " + str + "; expected " + teststr.substring(0, 3)); // read(b[]) raf.seek(0); rdcnt = raf.read(buf); harness.check(rdcnt, buf.length, "read(b[])"); harness.debug("buffer fill: read " + str + "; expected " + teststr.substring(0, 3)); // readFully(b[]) int buf2ln = teststr.length() + 5; // make a buffer big enough to hold all the data byte[] buf2 = new byte[buf2ln]; for (int i = 0; i < buf2ln; i++) buf2[i] = 0; // fill with zeroes so we can test length raf.seek(0); try { raf.readFully(buf2); } catch (EOFException eofe) { harness.check(buf2[testlength - 1], teststr.charAt(teststr.length() - 1), "readFully(b[]):Enough bytes read"); harness.check(buf2[testlength], 0, "readFully(b[]):Too many bytes"); } // readFully(b[], off, len) for (int i = 0; i < buf2ln; i++) buf2[i] = 0; // fill with zeroes so we can test length raf.seek(0); try { raf.readFully(buf2, 0, testlength + 2); } catch (EOFException eofe) { harness.check(buf2[testlength - 1], teststr.charAt(teststr.length() - 1), "readFully(b[],off,len):Enough bytes read"); harness.check(buf2[testlength], 0, "readFully(b[],off,len):Too many bytes"); } // write(b[], off, len); raf.seek(0); raf.write(testbytes, 2, 3); raf.seek(0); raf.read(buf2, 0, 3); String t1; String b1; t1 = new String(testbytes, 2, 3); b1 = new String(buf2, 0, 3); harness.check(t1, b1, "write(b[], off, len"); harness.debug("write(b[], off, len):Wrote " + t1 + ", read " + b1); // write(byte)/writeByte(byte)/readByte() raf.seek(0); raf.write(12); raf.seek(0); harness.check(raf.readByte(), 12, "write(byte)/readByte(), positive"); raf.seek(0); raf.writeByte(-12); raf.seek(0); harness.check(raf.readByte(), -12, "writeByte(byte)/readByte(), negative"); // writeBoolean/readBoolean raf.seek(0); raf.writeBoolean(true); raf.writeBoolean(false); raf.seek(0); harness.check(raf.readBoolean(), "writeBoolean(T)/readBoolean()"); harness.check(!raf.readBoolean(), "writeBoolean(F)/readBoolean()"); // writeShort/readShort raf.seek(0); raf.writeShort(527); raf.seek(0); harness.check(raf.readShort(), 527, "writeShort(n)/readShort()"); // writeUTF/readUTF raf.seek(0); raf.writeUTF(teststr); raf.seek(0); harness.check(raf.readShort(), testlength, "writeUTF(s): length encoding"); raf.seek(0); harness.check(raf.readUTF(), teststr, "writeUTF(s)/readUTF: string recovery"); // writeBytes/readLine // N.B.: This test actually tests to the JDK1.2 specification. JDK1.1 says, in part: // The line-terminating character(s), if any, are included as part of the string returned. // The actual behavior, and spec'd in 1.2, is to strip the line terminator. Its presence is // inferred from readLine's returning the correct string up to, but not including, the terminator. raf.seek(0); raf.writeBytes("foobar\n"); raf.seek(0); harness.check(raf.readLine(), "foobar", "writeBytes(s)/readLine()"); // writeChar(c)/writeChars(s)/readChar() raf.seek(0); raf.writeChar('f'); raf.writeChars("oobar"); raf.seek(0); String s = ""; for (int i = 0; i < 6; i++) s += raf.readChar(); harness.check(s, "foobar", "writeChar/writeChars/readChar()"); // writeLong/readLong raf.seek(0); raf.writeLong(123456L); raf.seek(0); harness.check(raf.readLong(), 123456L, "writeLong(l)/readLong()"); // writeFloat/readFloat raf.seek(0); raf.writeFloat(123.45F); raf.seek(0); harness.check(raf.readFloat(), 123.45F, "writeFloat(l)/readFloat()"); // writeDouble/readDouble raf.seek(0); raf.writeDouble(123.45D); raf.seek(0); harness.check(raf.readDouble(), 123.45D, "writeDouble(l)/readDouble()"); // writeInt/readInt raf.seek(0); raf.writeInt(12345); raf.seek(0); harness.check(raf.readInt(), 12345, "writeInt(l)/readInt()"); // readUnsignedByte/readUnsignedShort raf.seek(2); harness.check(raf.readUnsignedByte(), 48, "readUnsignedByte()"); raf.seek(2); harness.check(raf.readUnsignedShort(), 12345, "readUnsignedShort()"); } catch (IOException e) { harness.debug(e); harness.fail("IOException after opening file"); } // close() try { raf.close(); } catch (IOException e) { harness.check(false, "close()"); } } } mauve-20140821/gnu/testlet/java/io/RandomAccessFile/randomaccessfile.java0000644000175000001440000000402710213715107025061 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2005 Free Software Foundation, Inc. // Written by Dalibor Topic (robilad@kaffe.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.io.RandomAccessFile; import java.io.File; import java.io.FileNotFoundException; import java.io.RandomAccessFile; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class randomaccessfile implements Testlet { /** * This test checks for a FileNotFoundException being thrown * when the input parameter to the constructor is a directory */ public void test (TestHarness harness) { String tmpfile = "."; try { new RandomAccessFile(tmpfile, "r"); harness.check(false, "Failed to throw FileNotFoundException"); } catch(FileNotFoundException e) { harness.check(true, "thrown FileNotFoundException for directory parameter"); } catch(Throwable t) { harness.fail("Unknown Throwable caught"); harness.debug(t); } final File f = new File(tmpfile); try { new RandomAccessFile(f, "r"); harness.check(false, "Failed to throw FileNotFoundException"); } catch(FileNotFoundException e) { harness.check(true, "thrown FileNotFoundException for directory parameter"); } catch(Throwable t) { harness.fail("Unknown Throwable caught"); harness.debug(t); } } } mauve-20140821/gnu/testlet/java/io/PipedReaderWriter/0000755000175000001440000000000012375316426021144 5ustar dokousersmauve-20140821/gnu/testlet/java/io/PipedReaderWriter/PipedTestWriter.java0000644000175000001440000000260407570010455025101 0ustar dokousers// Tags: not-a-test package gnu.testlet.java.io.PipedReaderWriter; import gnu.testlet.TestHarness; import java.io.*; class PipedTestWriter implements Runnable { String str; StringReader sbr; PipedWriter out; TestHarness harness; public PipedTestWriter(TestHarness harness) { this.harness = harness; str = "In college, there was a tradition going for a while that people\n" + "would get together and hang out at Showalter Fountain - in the center\n" + "of Indiana University's campus - around midnight. It was mostly folks\n" + "from the computer lab and just people who liked to use the Forum\n" + "bbs system on the VAX. IU pulled the plug on the Forum after I left\n" + "despite its huge popularity. Now they claim they are just giving\n" + "students what they want by cutting deals to make the campus all\n" + "Microsoft.\n"; sbr = new StringReader(str); out = new PipedWriter(); } public PipedWriter getWriter() { return(out); } public String getStr() { return(str); } public void run() { char[] buf = new char[32]; int chars_read; try { int b = sbr.read(); out.write(b); while ((chars_read = sbr.read(buf)) != -1) out.write(buf, 0, chars_read); out.flush(); out.close(); } catch(IOException e) { harness.debug("In Writer: " + e); harness.check(false); } } } // PipedTestWriter mauve-20140821/gnu/testlet/java/io/PipedReaderWriter/Test.java0000644000175000001440000000526607602074042022727 0ustar dokousers/************************************************************************* /* Test.java -- Tests Piped{Reader,Writer} /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 // Uses: PipedTestWriter package gnu.testlet.java.io.PipedReaderWriter; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class Test implements Testlet { public void test(TestHarness harness) { // Set up a reasonable buffer size for this test if one is not already // specified. This affects Classpath only. //String prop = System.getProperty("gnu.java.io.pipe_size"); //if (prop == null) // System.setProperty("gnu.java.io.pipe_size", "32"); // Hmm, we need JDK 1.2 for the above try { // Set up the thread to write PipedTestWriter ptw = new PipedTestWriter(harness); String str = ptw.getStr(); PipedWriter pw = ptw.getWriter(); // Now set up our reader PipedReader pr = new PipedReader(); pr.connect(pw); new Thread(ptw).start(); char[] buf = new char[12]; int chars_read, total_read = 0; while((chars_read = pr.read(buf,0,buf.length)) != -1) { harness.debug(new String(buf, 0, chars_read), false); System.gc(); // A short delay total_read += chars_read; } pr.close(); // Make sure close() method is implemented harness.check(total_read, str.length(), "total_read"); // Check for connect() method on writer // Set up the thread to write PipedTestWriter ptw2 = new PipedTestWriter(harness); PipedWriter pw2 = ptw2.getWriter(); // Now set up our reader PipedReader pr2 = new PipedReader(); pw2.connect(pr2); harness.check(true, "writer.connect()"); } catch (IOException e) { harness.debug("In reader: " + e); harness.check(false); } } } // class Test mauve-20140821/gnu/testlet/java/io/FileInputStream/0000755000175000001440000000000012375316426020636 5ustar dokousersmauve-20140821/gnu/testlet/java/io/FileInputStream/security.java0000644000175000001440000000531610562130333023340 0ustar dokousers// Copyright (C) 2005, 2006, 2007 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 package gnu.testlet.java.io.FileInputStream; import java.io.File; import java.io.FileDescriptor; import java.io.FileInputStream; import java.io.FilePermission; import java.security.Permission; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.TestSecurityManager; public class security implements Testlet { public void test (TestHarness harness) { File file = new File(harness.getSourceDirectory(), "ChangeLog"); String path = file.getPath(); Permission[] perm = new Permission[] { new FilePermission(path, "read")}; Permission[] fdPerm = new Permission[] { new RuntimePermission("readFileDescriptor")}; TestSecurityManager sm = new TestSecurityManager(harness); try { sm.install(); // throwpoint: java.io.FileInputStream-FileInputStream(File) harness.checkPoint("File constructor"); try { sm.prepareChecks(perm); new FileInputStream(file); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "Unexpected check"); } // throwpoint: java.io.FileInputStream-FileInputStream(String) harness.checkPoint("String constructor"); try { sm.prepareChecks(perm); new FileInputStream(path); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "Unexpected check"); } // throwpoint: java.io.FileInputStream-FileInputStream(FileDescriptor) harness.checkPoint("FileDescriptor constructor"); try { sm.prepareChecks(fdPerm); new FileInputStream(FileDescriptor.in); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "Unexpected check"); } } catch (Exception ex) { harness.debug(ex); harness.check(false, "Unexpected exception"); } finally { sm.uninstall(); } } } mauve-20140821/gnu/testlet/java/io/FileInputStream/read.java0000644000175000001440000000306307557314247022423 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2002 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.io.FileInputStream; import java.io.File; import java.io.FileInputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class read implements Testlet { public void test (TestHarness harness) { String tmpfile = harness.getTempDirectory() + File.separator + "mauve-filein.tst"; File f = new File(tmpfile); f.delete(); try { harness.check(f.createNewFile(), "Empty file created"); harness.check(new FileInputStream(tmpfile).read(new byte[0]), 0, "empty byte[] read"); } catch(Throwable t) { harness.fail("Empty file created or empty byte[] read"); harness.debug(t); } finally { // Cleanup f.delete(); } } } mauve-20140821/gnu/testlet/java/io/FileInputStream/fileinputstream.java0000644000175000001440000000401010214166537024703 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2005 Free Software Foundation, Inc. // Written by Dalibor Topic (robilad@kaffe.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.io.FileInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class fileinputstream implements Testlet { /** * This test checks for a FileNotFoundException being thrown * when the input parameter to the constructor is a directory */ public void test (TestHarness harness) { String tmpfile = "."; try { new FileInputStream(tmpfile); harness.check(false, "Failed to throw FileNotFoundException"); } catch(FileNotFoundException e) { harness.check(true, "thrown FileNotFoundException for directory parameter"); } catch(Throwable t) { harness.fail("Unknown Throwable caught"); harness.debug(t); } final File f = new File(tmpfile); try { new FileInputStream(f); harness.check(false, "Failed to throw FileNotFoundException"); } catch(FileNotFoundException e) { harness.check(true, "thrown FileNotFoundException for directory parameter"); } catch(Throwable t) { harness.fail("Unknown Throwable caught"); harness.debug(t); } } } mauve-20140821/gnu/testlet/java/io/OutputStream/0000755000175000001440000000000012375316426020237 5ustar dokousersmauve-20140821/gnu/testlet/java/io/OutputStream/Test.java0000644000175000001440000000400307605171022022005 0ustar dokousers// Test for OutputStream methods // Written by Daryl Lee (dol@sources.redhat.com) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.io.OutputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.OutputStream; import java.io.IOException; public class Test extends OutputStream implements Testlet { private static final int LEN = 100; private byte[] buf; private int index; public Test() { super(); buf = new byte[LEN]; index = 0; } public final void write(int c) throws IOException { buf[index++] = (byte) c; } // a utility method for testing public String toString() { return new String(buf, 0, index); } public void test (TestHarness harness) { try { String tstr = "ABCDEFGH"; Test ts = new Test(); ts.write(tstr.charAt(0)); // 'A' harness.check(true,"write(int)"); byte[] cbuf = new byte[8]; tstr.getBytes(0, 8, cbuf, 0); ts.write(cbuf, 0, 4); // 'AABCD' harness.check(true,"write(byte[], off, len)"); ts.write(cbuf); // 'AABCDABCDEFGH' ts.flush(); harness.check(true, "flush()"); harness.check(ts.toString(), "AABCDABCDEFGH", "Wrote all characters okay"); ts.close (); harness.check(true, "close()"); } catch (IOException e) { harness.check(false, "IOException unexpected"); } } } mauve-20140821/gnu/testlet/java/io/InvalidObjectException/0000755000175000001440000000000012375316426022157 5ustar dokousersmauve-20140821/gnu/testlet/java/io/InvalidObjectException/constructor.java0000644000175000001440000000343312030563502025375 0ustar dokousers// Test if instances of a class java.io.InvalidObjectException could be properly constructed // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InvalidObjectException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InvalidObjectException; /** * Test if instances of a class java.io.InvalidObjectException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { InvalidObjectException object1 = new InvalidObjectException("nothing happens"); harness.check(object1 != null); harness.check(object1.toString(), "java.io.InvalidObjectException: nothing happens"); InvalidObjectException object2 = new InvalidObjectException(null); harness.check(object2 != null); harness.check(object2.toString(), "java.io.InvalidObjectException"); } } mauve-20140821/gnu/testlet/java/io/InvalidObjectException/TryCatch.java0000644000175000001440000000327712030563502024537 0ustar dokousers// Test if try-catch block is working properly for a class java.io.InvalidObjectException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InvalidObjectException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InvalidObjectException; /** * Test if try-catch block is working properly for a class java.io.InvalidObjectException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new InvalidObjectException("InvalidObjectException"); } catch (InvalidObjectException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/io/InvalidObjectException/classInfo/0000755000175000001440000000000012375316426024100 5ustar dokousersmauve-20140821/gnu/testlet/java/io/InvalidObjectException/classInfo/getPackage.java0000644000175000001440000000314512030563502026764 0ustar dokousers// Test for method java.io.InvalidObjectException.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InvalidObjectException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InvalidObjectException; /** * Test for method java.io.InvalidObjectException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InvalidObjectException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.io"); } } mauve-20140821/gnu/testlet/java/io/InvalidObjectException/classInfo/getInterfaces.java0000644000175000001440000000320712030563502027513 0ustar dokousers// Test for method java.io.InvalidObjectException.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InvalidObjectException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InvalidObjectException; import java.util.List; import java.util.Arrays; /** * Test for method java.io.InvalidObjectException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InvalidObjectException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/io/InvalidObjectException/classInfo/getModifiers.java0000644000175000001440000000440012030563502027345 0ustar dokousers// Test for method java.io.InvalidObjectException.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InvalidObjectException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InvalidObjectException; import java.lang.reflect.Modifier; /** * Test for method java.io.InvalidObjectException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InvalidObjectException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/io/InvalidObjectException/classInfo/isPrimitive.java0000644000175000001440000000310412030563502027230 0ustar dokousers// Test for method java.io.InvalidObjectException.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InvalidObjectException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InvalidObjectException; /** * Test for method java.io.InvalidObjectException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InvalidObjectException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/io/InvalidObjectException/classInfo/getSimpleName.java0000644000175000001440000000313712030563502027464 0ustar dokousers// Test for method java.io.InvalidObjectException.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InvalidObjectException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InvalidObjectException; /** * Test for method java.io.InvalidObjectException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InvalidObjectException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "InvalidObjectException"); } } mauve-20140821/gnu/testlet/java/io/InvalidObjectException/classInfo/isSynthetic.java0000644000175000001440000000310412030563502027232 0ustar dokousers// Test for method java.io.InvalidObjectException.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InvalidObjectException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InvalidObjectException; /** * Test for method java.io.InvalidObjectException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InvalidObjectException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/io/InvalidObjectException/classInfo/isInstance.java0000644000175000001440000000314212030563502027026 0ustar dokousers// Test for method java.io.InvalidObjectException.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InvalidObjectException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InvalidObjectException; /** * Test for method java.io.InvalidObjectException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InvalidObjectException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new InvalidObjectException("xyzzy"))); } } mauve-20140821/gnu/testlet/java/io/InvalidObjectException/classInfo/isMemberClass.java0000644000175000001440000000311412030563502027456 0ustar dokousers// Test for method java.io.InvalidObjectException.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InvalidObjectException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InvalidObjectException; /** * Test for method java.io.InvalidObjectException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InvalidObjectException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/io/InvalidObjectException/classInfo/getSuperclass.java0000644000175000001440000000322712030563502027556 0ustar dokousers// Test for method java.io.InvalidObjectException.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InvalidObjectException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InvalidObjectException; /** * Test for method java.io.InvalidObjectException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InvalidObjectException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.io.ObjectStreamException"); } } mauve-20140821/gnu/testlet/java/io/InvalidObjectException/classInfo/InstanceOf.java0000644000175000001440000000404312030563502026760 0ustar dokousers// Test for instanceof operator applied to a class java.io.InvalidObjectException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InvalidObjectException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InvalidObjectException; import java.io.ObjectStreamException; import java.io.IOException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.io.InvalidObjectException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InvalidObjectException InvalidObjectException o = new InvalidObjectException("xyzzy"); // basic check of instanceof operator harness.check(o instanceof InvalidObjectException); // check operator instanceof against all superclasses harness.check(o instanceof ObjectStreamException); harness.check(o instanceof IOException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/io/InvalidObjectException/classInfo/isInterface.java0000644000175000001440000000310412030563502027160 0ustar dokousers// Test for method java.io.InvalidObjectException.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InvalidObjectException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InvalidObjectException; /** * Test for method java.io.InvalidObjectException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InvalidObjectException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/io/InvalidObjectException/classInfo/isAssignableFrom.java0000644000175000001440000000316212030563502030160 0ustar dokousers// Test for method java.io.InvalidObjectException.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InvalidObjectException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InvalidObjectException; /** * Test for method java.io.InvalidObjectException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InvalidObjectException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(InvalidObjectException.class)); } } mauve-20140821/gnu/testlet/java/io/InvalidObjectException/classInfo/isLocalClass.java0000644000175000001440000000311012030563502027275 0ustar dokousers// Test for method java.io.InvalidObjectException.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InvalidObjectException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InvalidObjectException; /** * Test for method java.io.InvalidObjectException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InvalidObjectException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/io/InvalidObjectException/classInfo/getName.java0000644000175000001440000000311712030563502026310 0ustar dokousers// Test for method java.io.InvalidObjectException.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InvalidObjectException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InvalidObjectException; /** * Test for method java.io.InvalidObjectException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InvalidObjectException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.io.InvalidObjectException"); } } mauve-20140821/gnu/testlet/java/io/InputStream/0000755000175000001440000000000012375316426020036 5ustar dokousersmauve-20140821/gnu/testlet/java/io/InputStream/Test.java0000644000175000001440000000332707605162711021621 0ustar dokousers// Test for InputStream methods // Written by Daryl Lee (dol@sources.redhat.com) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.io.InputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.InputStream; import java.io.IOException; public class Test extends InputStream implements Testlet { private String s; private int index; public Test() { } Test (String str) { super(); s = str; index = 0; } public int read() throws IOException { return(index == s.length() ? -1 : s.charAt(index++)); } public void test (TestHarness harness) { try { Test tis = new Test ("zardoz has spoken"); byte[] cbuf = new byte[10]; tis.read (cbuf, 0, cbuf.length); String tst = new String(cbuf); harness.check(tst, "zardoz has", "read(buf[], off, len)"); harness.check(tis.read(), ' ', "read()"); tis.close (); harness.check(true, "close()"); } catch (IOException e) { harness.check(false, "IOException unexpected"); } } } mauve-20140821/gnu/testlet/java/io/ByteArrayOutputStream/0000755000175000001440000000000012375316426022062 5ustar dokousersmauve-20140821/gnu/testlet/java/io/ByteArrayOutputStream/subclass.java0000644000175000001440000000264607750437267024564 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2003 Free Software Foundation, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class subclass extends ByteArrayOutputStream implements Testlet { public subclass () { super (10); } public void test (TestHarness harness) { for (int n = 0; n < 10; n++) write (n); // Ensure that writing 10 bytes to a stream with capacity 10 // does not cause it to grow. harness.check(count, 10, "count"); harness.check(buf.length, 10, "buf.length"); for (int n = 0; n < 10; n++) harness.check (buf[n], n, "buf[" + n + "]"); } } mauve-20140821/gnu/testlet/java/io/ByteArrayOutputStream/write.java0000644000175000001440000000464507570302730024062 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2002 Free Software Foundation, Inc. // Written by Daryl Lee (dolee@sources.redhat.com) // Modified from FileOutputStream/write.java, // written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream; import java.io.UnsupportedEncodingException; import java.io.IOException; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class write implements Testlet { public void test (TestHarness harness) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); ByteArrayOutputStream baos2 = new ByteArrayOutputStream(); byte[] ba = {(byte)'B', (byte)'C', (byte)'D'}; String tststr = "ABCD"; baos.write('A'); harness.check(true, "write(int)"); baos.write(ba, 0, 3); harness.check(true, "write(buf, off, len)"); harness.check(baos.size(), 4, "size()"); String finalstr1 = baos.toString(); harness.check(finalstr1.equals(tststr), "toString()"); byte[] finalba = baos.toByteArray(); String finalstr2 = new String(finalba); harness.check(finalstr2.equals(tststr), "toByteArray()"); String encodedstr; try { encodedstr = baos.toString("English"); } catch (UnsupportedEncodingException ue) { harness.check(true, "UnsupportedEncodingException"); } try { encodedstr = baos.toString("8859_1"); harness.check(encodedstr.equals(tststr), "toString(String)"); } catch (UnsupportedEncodingException ue) { harness.check(false, "Encoding error"); } try { baos.writeTo(baos2); harness.check(baos2.toString().equals(tststr), "writeTo(OutputStream)"); } catch (IOException e) { harness.check(false, "writeTo(OutputStream)"); } baos.reset(); harness.check(baos.size(), 0, "reset()"); } } mauve-20140821/gnu/testlet/java/io/PipedStream/0000755000175000001440000000000012375316426020000 5ustar dokousersmauve-20140821/gnu/testlet/java/io/PipedStream/PipedStreamTestWriter.java0000644000175000001440000000276707623261575025135 0ustar dokousers// Tags: not-a-test package gnu.testlet.java.io.PipedStream; import gnu.testlet.TestHarness; import java.io.*; class PipedStreamTestWriter implements Runnable { String str; StringBufferInputStream sbis; PipedOutputStream out; TestHarness harness; private boolean isReady = false; public PipedStreamTestWriter(TestHarness harness) { this.harness = harness; str = "I went to work for Andersen Consulting after I graduated\n" + "from college. They sent me to their training facility in St. Charles,\n" + "Illinois and tried to teach me COBOL. I didn't want to learn it.\n" + "The instructors said I had a bad attitude and I got a green sheet\n" + "which is a nasty note in your file saying what a jerk you are.\n"; sbis = new StringBufferInputStream(str); out = new PipedOutputStream(); } public PipedOutputStream getStream() { return(out); } public String getStr() { return(str); } public synchronized void waitTillReady() { while (!isReady) { try { this.wait(); } catch (InterruptedException ie) { /* ignore */ } } } public void run() { byte[] buf = new byte[32]; int bytes_read; try { int b = sbis.read(); out.write(b); synchronized(this) { isReady = true; this.notify(); } while ((bytes_read = sbis.read(buf)) != -1) out.write(buf, 0, bytes_read); out.flush(); out.close(); } catch(IOException e) { harness.debug("In writer: " + e); harness.check(false); } } } mauve-20140821/gnu/testlet/java/io/PipedStream/Test.java0000644000175000001440000000571607623261575021577 0ustar dokousers/************************************************************************* /* Test.java -- Tests Piped{Input,Output}Stream /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.0 // Uses: PipedStreamTestWriter package gnu.testlet.java.io.PipedStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class Test implements Testlet { public void test(TestHarness harness) { // Set up a reasonable buffer size for this test if one is not already // specified. This is for Classpath only. // String prop = System.getProperty("gnu.java.io.pipe_size"); // if (prop == null) // System.setProperty("gnu.java.io.pipe_size", "32"); // Hmm. This appears to require JDK 1.2 try { // Set up the thread to write PipedStreamTestWriter pstw = new PipedStreamTestWriter(harness); String str = pstw.getStr(); PipedOutputStream pos = pstw.getStream(); // Now set up our reader PipedInputStream pis = new PipedInputStream(); pis.connect(pos); new Thread(pstw).start(); pstw.waitTillReady(); harness.check(pis.available() > 0, "available()"); byte[] buf = new byte[12]; int bytes_read, total_read = 0; while((bytes_read = pis.read(buf)) != -1) { harness.debug(new String(buf, 0, bytes_read), false); System.gc(); // A short delay total_read += bytes_read; } harness.check(total_read, str.length(), "total_read"); } catch (IOException e) { harness.debug("In input: " + e); harness.check(false); } try // repeat just enough to test connect() on output stream { // Set up the thread to write PipedStreamTestWriter pstw2 = new PipedStreamTestWriter(harness); String str2 = pstw2.getStr(); PipedOutputStream pos2 = pstw2.getStream(); // Now set up our reader PipedInputStream pis2 = new PipedInputStream(); pos2.connect(pis2); // check outputstream's connect() method harness.check(true, "output.connect(input)"); } catch (IOException e) { harness.check(false); } } } // class Test mauve-20140821/gnu/testlet/java/io/PipedStream/receive.java0000644000175000001440000000322007143120627022253 0ustar dokousers// Tags: JDK1.0 // Test PipedInputStream.receive(). // Written by Tom Tromey // Copyright (C) 2000 Red Hat, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.io.PipedStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class receive extends PipedInputStream implements Runnable, Testlet { static Thread main; static receive in; static PipedOutputStream out; receive (PipedOutputStream x) throws IOException { super(x); } public receive () { } public void run() { try { Thread.sleep(1000); in.receive(23); } catch (Throwable t) { } } public void test (TestHarness harness) { int val = -1; try { main = Thread.currentThread(); out = new PipedOutputStream(); in = new receive (out); (new Thread(in)).start(); val = in.read(); } catch (Throwable t) { val = -2; } harness.check (val, 23); } } mauve-20140821/gnu/testlet/java/io/PipedStream/close.java0000644000175000001440000000215507602650554021753 0ustar dokousers// Tags: JDK1.0 // This test is from Jeff Sturm. // It tests whether close() on a PipedInputStream will correctly // notify the writer. package gnu.testlet.java.io.PipedStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class close implements Runnable, Testlet { Thread main; PipedInputStream in; PipedOutputStream out; TestHarness harness; public void run() { try { Thread.sleep(1000); harness.debug("Closing pipe input stream:"); in.close(); Thread.sleep(1000); harness.debug("Interrupting pipe reader:"); main.interrupt(); } catch (Throwable t) { harness.debug(t); } } public void test (TestHarness harness) { int val = 23; try { close test = new close(); test.harness = harness; test.main = Thread.currentThread(); test.out = new PipedOutputStream(); test.in = new PipedInputStream(test.out); (new Thread(test)).start(); val = test.in.read(); } catch (InterruptedIOException t) { harness.check(true,"read() interrupted okay"); } catch (IOException t) { harness.fail("Unexpected IOException thrown"); } } } mauve-20140821/gnu/testlet/java/io/IOException/0000755000175000001440000000000012375316426017751 5ustar dokousersmauve-20140821/gnu/testlet/java/io/IOException/constructor.java0000644000175000001440000000326412032530274023173 0ustar dokousers// Test if instances of a class java.io.IOException could be properly constructed // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.IOException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOException; /** * Test if instances of a class java.io.IOException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IOException object1 = new IOException("nothing happens"); harness.check(object1 != null); harness.check(object1.toString(), "java.io.IOException: nothing happens"); IOException object2 = new IOException((String)null); harness.check(object2 != null); harness.check(object2.toString(), "java.io.IOException"); } } mauve-20140821/gnu/testlet/java/io/IOException/TryCatch.java0000644000175000001440000000316212032530274022324 0ustar dokousers// Test if try-catch block is working properly for a class java.io.IOException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.IOException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOException; /** * Test if try-catch block is working properly for a class java.io.IOException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new IOException("IOException"); } catch (IOException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/io/IOException/classInfo/0000755000175000001440000000000012375316426021672 5ustar dokousersmauve-20140821/gnu/testlet/java/io/IOException/classInfo/getPackage.java0000644000175000001440000000305612032530274024561 0ustar dokousers// Test for method java.io.IOException.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.IOException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOException; /** * Test for method java.io.IOException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new IOException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.io"); } } mauve-20140821/gnu/testlet/java/io/IOException/classInfo/getInterfaces.java0000644000175000001440000000312012032530274025301 0ustar dokousers// Test for method java.io.IOException.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.IOException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOException; import java.util.List; import java.util.Arrays; /** * Test for method java.io.IOException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new IOException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/io/IOException/classInfo/getModifiers.java0000644000175000001440000000431112032530274025142 0ustar dokousers// Test for method java.io.IOException.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.IOException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOException; import java.lang.reflect.Modifier; /** * Test for method java.io.IOException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new IOException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/io/IOException/classInfo/isPrimitive.java0000644000175000001440000000301512032530274025025 0ustar dokousers// Test for method java.io.IOException.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.IOException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOException; /** * Test for method java.io.IOException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new IOException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/io/IOException/classInfo/getSimpleName.java0000644000175000001440000000303512032530274025255 0ustar dokousers// Test for method java.io.IOException.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.IOException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOException; /** * Test for method java.io.IOException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new IOException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "IOException"); } } mauve-20140821/gnu/testlet/java/io/IOException/classInfo/isSynthetic.java0000644000175000001440000000301512032530274025027 0ustar dokousers// Test for method java.io.IOException.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.IOException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOException; /** * Test for method java.io.IOException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new IOException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/io/IOException/classInfo/isInstance.java0000644000175000001440000000304012032530274024617 0ustar dokousers// Test for method java.io.IOException.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.IOException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOException; /** * Test for method java.io.IOException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new IOException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new IOException("xyzzy"))); } } mauve-20140821/gnu/testlet/java/io/IOException/classInfo/isMemberClass.java0000644000175000001440000000302512032530274025253 0ustar dokousers// Test for method java.io.IOException.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.IOException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOException; /** * Test for method java.io.IOException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new IOException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/io/IOException/classInfo/getSuperclass.java0000644000175000001440000000312612032530274025350 0ustar dokousers// Test for method java.io.IOException.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.IOException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOException; /** * Test for method java.io.IOException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new IOException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.Exception"); } } mauve-20140821/gnu/testlet/java/io/IOException/classInfo/InstanceOf.java0000644000175000001440000000343512032530274024560 0ustar dokousers// Test for instanceof operator applied to a class java.io.IOException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.IOException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.io.IOException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IOException IOException o = new IOException("xyzzy"); // basic check of instanceof operator harness.check(o instanceof IOException); // check operator instanceof against all superclasses harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/io/IOException/classInfo/isInterface.java0000644000175000001440000000301512032530274024755 0ustar dokousers// Test for method java.io.IOException.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.IOException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOException; /** * Test for method java.io.IOException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new IOException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/io/IOException/classInfo/isAssignableFrom.java0000644000175000001440000000306012032530274025751 0ustar dokousers// Test for method java.io.IOException.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.IOException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOException; /** * Test for method java.io.IOException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new IOException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(IOException.class)); } } mauve-20140821/gnu/testlet/java/io/IOException/classInfo/isLocalClass.java0000644000175000001440000000302112032530274025072 0ustar dokousers// Test for method java.io.IOException.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.IOException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOException; /** * Test for method java.io.IOException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new IOException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/io/IOException/classInfo/getName.java0000644000175000001440000000301512032530274024101 0ustar dokousers// Test for method java.io.IOException.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.IOException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOException; /** * Test for method java.io.IOException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new IOException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.io.IOException"); } } mauve-20140821/gnu/testlet/java/io/BufferedInputStream/0000755000175000001440000000000012375316426021501 5ustar dokousersmauve-20140821/gnu/testlet/java/io/BufferedInputStream/SimpleRead.java0000644000175000001440000000573307605146555024405 0ustar dokousers/************************************************************************* /* SimpleRead.java -- BufferedInputStream simple read test /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.0 package gnu.testlet.java.io.BufferedInputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class SimpleRead implements Testlet { public void test(TestHarness harness) { try { String str = "One of my 8th grade teachers was Mr. Russell.\n" + "He used to start each year off by telling the class that the\n" + "earth was flat. He did it to teach people to question\n" + "things they are told. But everybody knew that he did it\n" + "so it lost its effect.\n"; StringBufferInputStream sbis = new StringBufferInputStream(str); BufferedInputStream bis = new BufferedInputStream(sbis, 15); byte[] buf = new byte[12]; int bytes_read, total_read = 0; while((bytes_read = bis.read(buf)) != -1) { harness.debug(new String(buf, 0, bytes_read), false); total_read += bytes_read; } bis.close(); harness.check(total_read, str.length(), "total_read"); // Miscellaneous methods: sbis = new StringBufferInputStream(str); bis = new BufferedInputStream(sbis); harness.check(bis.available(), str.length(), "available()"); harness.debug(bis.available() + " bytes available; should be " + str.length()); harness.check(bis.markSupported(), "markSupported()"); harness.debug("Mark " + (bis.markSupported() ? "is" : "is not") + " supported."); int skip = 10; long skipped = bis.skip(skip); harness.check(skipped, skip, "skip(long)"); harness.debug("Skipped " + skipped + "(=" + skip + "?) bytes"); harness.debug("Reading " + bis.read(buf, 0, 3) + "(=3?) bytes"); String tst = new String(buf, 0, 3); harness.check(tst, str.substring(skip, skip + 3), "read(buf[], off, len)"); harness.debug("Extracted " + tst + "; expected " + str.substring(skip, skip + 3)); } catch (IOException e) { harness.debug(e); harness.check(false); } } // main } // class SimpleRead mauve-20140821/gnu/testlet/java/io/BufferedInputStream/ProtectedVars.java0000644000175000001440000000404006641230656025126 0ustar dokousers/************************************************************************* /* ProtectedVars.java -- Tests BufferedInputStream protected variables /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.0 package gnu.testlet.java.io.BufferedInputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class ProtectedVars extends BufferedInputStream implements Testlet { public ProtectedVars(InputStream in, int size) { super(in, size); } // Constructor for test suite public ProtectedVars() { super(System.in); } public void test(TestHarness harness) { try { String str = "This is a test line of text for this pass"; StringBufferInputStream sbis = new StringBufferInputStream(str); ProtectedVars bist = new ProtectedVars(sbis, 12); bist.read(); bist.mark(5); harness.check(bist.buf.length, 12, "buf.length"); harness.check(bist.count, 12, "count"); harness.check(bist.marklimit, 5, "marklimit"); harness.check(bist.markpos, 1, "markpos"); harness.check(bist.pos, 1, "pos"); } catch(IOException e) { harness.debug(e); harness.check(false); } } // main } // class ProtectedVars mauve-20140821/gnu/testlet/java/io/BufferedInputStream/ZeroRead.java0000644000175000001440000000350610155053075024053 0ustar dokousers/************************************************************************* /* ZeroRead.java -- BufferedInputStream zero read test /* /* Copyright (c) 2004 Free Software Foundation, Inc. /* Written by Jeroen Frijters (jeroen@frijters.net) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.0 package gnu.testlet.java.io.BufferedInputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class ZeroRead extends InputStream implements Testlet { public int read() throws IOException { throw new IOException(); } public int read(byte[] b, int off, int len) throws IOException { if (len == 0) return 0; throw new IOException(); } public void test(TestHarness harness) { try { // Make sure that a zero length read doesn't result in a read on the // underlying stream. BufferedInputStream bis = new BufferedInputStream(this); harness.check(bis.read(new byte[0], 0, 0) == 0); } catch (IOException e) { harness.debug(e); harness.check(false); } } } mauve-20140821/gnu/testlet/java/io/BufferedInputStream/MarkReset.java0000644000175000001440000001336310213424447024237 0ustar dokousers/************************************************************************* /* MarkReset.java -- Tests BufferedInputStream mark/reset functionality /* /* Copyright (c) 1998, 2005 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.0 package gnu.testlet.java.io.BufferedInputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class MarkReset implements Testlet { public static int marktest(InputStream ins, TestHarness harness) throws IOException { BufferedInputStream bis = new BufferedInputStream(ins, 15); int bytes_read; int total_read = 0; byte[] buf = new byte[12]; bytes_read = bis.read(buf); total_read += bytes_read; harness.debug(new String(buf, 0, bytes_read), false); bytes_read = bis.read(buf); total_read += bytes_read; harness.debug(new String(buf, 0, bytes_read), false); bis.mark(75); bis.read(); bis.read(buf); bis.read(buf); bis.read(buf); bis.reset(); bytes_read = bis.read(buf); total_read += bytes_read; harness.debug(new String(buf, 0, bytes_read), false); bis.mark(555); bytes_read = bis.read(buf); total_read += bytes_read; harness.debug(new String(buf, 0, bytes_read), false); bis.reset(); bis.read(buf); bytes_read = bis.read(buf); total_read += bytes_read; harness.debug(new String(buf, 0, bytes_read), false); bytes_read = bis.read(buf); total_read += bytes_read; harness.debug(new String(buf, 0, bytes_read), false); bis.mark(14); bis.read(buf); bis.reset(); bytes_read = bis.read(buf); total_read += bytes_read; harness.debug(new String(buf, 0, bytes_read), false); while ((bytes_read = bis.read(buf)) != -1) { harness.debug(new String(buf, 0, bytes_read), false); total_read += bytes_read; } return(total_read); } private static void readFully(InputStream in, int len) throws java.io.IOException { int nr; byte[] buf = new byte[len]; while (len > 0) { if ((nr = in.read(buf, 0, len)) <= 0) throw new java.io.IOException("Unexpected EOF"); len -= nr; } } public void test(TestHarness harness) { try { harness.debug("First BufferedInputStream mark/reset series"); harness.debug("Underlying InputStream does not support mark/reset"); String str = "My 6th grade teacher was named Mrs. Hostetler.\n" + "She had a whole list of rules that you were supposed to follow\n" + "in class and if you broke a rule she would make you write the\n" + "rules out several times. The number varied depending on what\n" + "rule you broke. Since I knew I would get in trouble, I would\n" + "just go ahead and write out a few sets on the long school bus\n" + "ride home so that if had to stay in during recess and write\n" + "rules, five minutes later I could just tell the teacher I was\n" + "done so I could go outside and play kickball.\n"; StringBufferInputStream sbis = new StringBufferInputStream(str); int total_read = marktest(sbis, harness); harness.check(total_read, str.length(), "total_read"); } catch (IOException e) { harness.debug(e); harness.check(false); } try { harness.debug("Second BufferedInputStream mark/reset series"); harness.debug("Underlying InputStream supports mark/reset"); String str = "My first day of college was fun. A bunch of us\n" + "got pretty drunk, then this guy named Rick Flake (I'm not\n" + "making that name up) took a piss in the bed of a Physical\n" + "Plant dept pickup truck. Later on we were walking across\n" + "campus, saw a cop, and took off running for no reason.\n" + "When we got back to the dorm we found an even drunker guy\n" + "passed out in a shopping cart outside.\n"; ByteArrayInputStream sbis = new ByteArrayInputStream(str.getBytes()); int total_read = marktest(sbis, harness); harness.check(total_read, str.length(), "total_read"); } catch (IOException e) { harness.debug(e); harness.check(false); } try { harness.checkPoint("Third BufferedInputStream mark/reset series"); ByteArrayInputStream bais = new ByteArrayInputStream(new byte[100000]); BufferedInputStream bis = new BufferedInputStream(bais, 2048); bis.mark(2048); readFully(bis, 2049); harness.check(true); } catch (IOException e) { harness.debug(e); harness.check(false); } try { harness.checkPoint("Forth BufferedInputStream mark/reset series"); ByteArrayInputStream bais = new ByteArrayInputStream(new byte[100000]); BufferedInputStream bis = new BufferedInputStream(bais, 2048); bis.mark(2050); readFully(bis, 2050); bis.mark(2052); readFully(bis, 2052); harness.check(true); } catch (IOException e) { harness.debug(e); harness.check(false); } } // main } // class MarkReset mauve-20140821/gnu/testlet/java/io/BufferedInputStream/BigMark.java0000644000175000001440000000445310023272054023650 0ustar dokousers/************************************************************************* /* MarkReset.java -- Tests BufferedInputStream mark for huge values /* /* Copyright (c) 2004 Free Software Foundation, Inc. /* Written by Mark Wielaard (mark@klomp.org) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.0 package gnu.testlet.java.io.BufferedInputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class BigMark implements Testlet { public void test(TestHarness harness) { test(harness, 32 * 1024); test(harness, 128 * 1024); test(harness, 1024 * 1024); test(harness, Integer.MAX_VALUE - 1024); test(harness, Integer.MAX_VALUE - 1); test(harness, Integer.MAX_VALUE); } public void test(TestHarness harness, int size) { harness.checkPoint("mark(" + size + ")"); try { // array larger than default final int K = 16; byte[] dummy = new byte[K * 1024]; dummy[2] = 42; dummy[3] = 13; ByteArrayInputStream bais = new ByteArrayInputStream(dummy); BufferedInputStream bis = new BufferedInputStream(bais); bis.read(); bis.read(); bis.mark(size); int answer = bis.read(); harness.check(answer, 42); for (int i = 0; i < K / 2; i++) bis.skip(1024); bis.reset(); answer = bis.read(); harness.check(answer, 42); bis.mark(size); answer = bis.read(); harness.check(answer, 13); for (int i = 0; i < (K / 2) * 1024; i++) bis.read(); bis.reset(); answer = bis.read(); harness.check(answer, 13); } catch (IOException e) { harness.debug(e); harness.check(false); } } } mauve-20140821/gnu/testlet/java/io/BufferedInputStream/Skip.java0000644000175000001440000000333210146753676023261 0ustar dokousers/************************************************************************* /* Skip.java -- BufferedInputStream skip test /* /* Copyright (c) 2004 Free Software Foundation, Inc. /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.0 package gnu.testlet.java.io.BufferedInputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class Skip implements Testlet { public void test(TestHarness harness) { try { byte[] ba = new byte[]{0x44, 0x55}; ByteArrayInputStream bais = new ByteArrayInputStream(ba); BufferedInputStream bis = new BufferedInputStream(bais); long s = bis.skip(2); harness.check(s, 2, "skip(2)"); harness.debug(s + " bytes skipped; should be 2"); s = bis.skip(2); harness.check(s >= 0, true, "skip(2) >= 0"); harness.debug(s + " bytes skipped; should be >= 0"); } catch (IOException e) { harness.debug(e); harness.check(false); } } // main } // class Skip mauve-20140821/gnu/testlet/java/io/BufferedWriter/0000755000175000001440000000000012375316426020502 5ustar dokousersmauve-20140821/gnu/testlet/java/io/BufferedWriter/Test.java0000644000175000001440000000451407567243225022273 0ustar dokousers/************************************************************************* /* Test.java -- Test {Buffered,CharArray}Writer /* /* Copyright (c) 1998, 1999 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.BufferedWriter; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class Test implements Testlet { public void test(TestHarness harness) { try { CharArrayWriter caw = new CharArrayWriter(24); BufferedWriter bw = new BufferedWriter(caw, 12); String str = "I used to live right behind this super-cool bar in\n" + "Chicago called Lounge Ax. They have the best music of pretty\n" + "much anyplace in town with a great atmosphere and $1 Huber\n" + "on tap. I go to tons of shows there, even though I moved.\n"; char[] buf = new char[str.length()]; str.getChars(0, str.length(), buf, 0); bw.write(str.substring(0, 5)); // write(String) harness.check(caw.toCharArray().length, 0, "buffering/toCharArray"); bw.write(buf, 5, 8); bw.write(buf, 13, 12); bw.write(buf[25]); bw.write(buf, 26, buf.length - 27); bw.newLine(); // newLine() bw.flush(); bw.close(); String str2 = new String(caw.toCharArray()); harness.check(str, str2, "Did all chars make it through?"); harness.debug(str2, false); } catch(IOException e) { harness.debug(e); harness.check(false, "Caught unexpected exception"); } } } // class Test mauve-20140821/gnu/testlet/java/io/FileReader/0000755000175000001440000000000012375316426017565 5ustar dokousersmauve-20140821/gnu/testlet/java/io/FileReader/jdk11.java0000644000175000001440000000444310201742723021334 0ustar dokousers/************************************************************************* /* jdk11.java -- java.io.FileReader 1.1 tests /* /* Copyright (c) 2001, 2002 Free Software Foundation, Inc. /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.FileReader; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.FileReader; import java.io.FileInputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; public class jdk11 implements Testlet { public void test (TestHarness harness) { String tmpfile = harness.getTempDirectory() + File.separator + "mauve-jdk11.tst"; File f = new File(tmpfile); // Make sure the file exists. try { f.createNewFile(); } catch (IOException ioe) { harness.debug(ioe); } try { FileReader fr1 = new FileReader(tmpfile); harness.check(true, "FileReader(string)"); } catch (FileNotFoundException e) { harness.fail("Can't open file " + tmpfile); } try { File f2 = new File(tmpfile); FileReader fr2 = new FileReader(f2); harness.check(true, "FileReader(File)"); FileInputStream fis = new FileInputStream(f2); try { FileReader fr3 = new FileReader(fis.getFD()); harness.check(true, "FileReader(FileDescriptor)"); } catch (IOException e) { harness.fail("Couldn't get FileDescriptor)"); } } catch (FileNotFoundException e) { harness.fail("Can't open file " + tmpfile); } // Cleanup f.delete(); } } mauve-20140821/gnu/testlet/java/io/Utf8Encoding/0000755000175000001440000000000012375316426020060 5ustar dokousersmauve-20140821/gnu/testlet/java/io/Utf8Encoding/utf8test.bin0000644000175000001440000000011110151130020022277 0ustar dokousersThis is the first line of text This has some ǿꀀ晦Ȁ weird characters mauve-20140821/gnu/testlet/java/io/Utf8Encoding/WriteRead.java0000644000175000001440000000465406662067773022634 0ustar dokousers/************************************************************************* /* WriteRead.java -- A quick test of the UTF8 encoding /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.Utf8Encoding; import java.io.*; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class WriteRead implements Testlet { public void test(TestHarness harness) { String str1 = "This is the first line of text\n"; String str2 = "This has some \u01FF\uA000\u6666\u0200 weird characters\n"; // First write try { FileOutputStream fos = new FileOutputStream("utf8test.out"); OutputStreamWriter osr = new OutputStreamWriter(fos, "UTF8"); osr.write(str1); osr.write(str2); osr.close(); harness.check(true, "Write UTF8 test (conditionally)"); } catch(IOException e) { harness.debug(e); harness.check(false, "Write UTF8 test"); return; } // Then read try { FileInputStream fis = new FileInputStream("utf8test.out"); InputStreamReader isr = new InputStreamReader(fis, "UTF8"); char[] buf = new char[255]; int chars_read = isr.read(buf, 0, str1.length()); String str3 = new String(buf, 0, chars_read); chars_read = isr.read(buf, 0, str2.length()); String str4 = new String(buf, 0, chars_read); harness.check(str1, str3, "Read UTF8 file"); harness.check(str2, str4, "Read UTF8 file"); isr.close(); } catch(IOException e) { harness.debug(e); harness.check(false, "Read UTF8 file"); } } } // class UTF8EncodingTest mauve-20140821/gnu/testlet/java/io/Utf8Encoding/mojo.java0000644000175000001440000003067510234464256021677 0ustar dokousers// mojo.java - Test encode/decode of UTF-8. // From "Mojo Jojo" /************************************************************************* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.Utf8Encoding; import java.io.*; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Generates some test data and processes it using java.io character * conversion support for the UTF-8 encodings. Gives that character * conversion support an overall pass or fail rating. * *

Some of the test cases here are taken from standard XML test suites; * UTF-8 is one of the two encodings XML processors must support, so this * encoding should be very correct in order to support next generation * web (and internet) applications. * *

Note that JDK 1.1 and JDK 1.2 don't currently pass these tests; * there are known problems in their UTF-8 encoding support at this time. */ public class mojo implements Testlet { // // Positive tests -- test both output and input processing against // various "known good" data // private static void positive ( TestHarness harness, byte encoded [], char decoded [], String label ) { boolean flag = true; int i = 0; harness.checkPoint (label); try { // // Ensure that writing encodes correctly // ByteArrayOutputStream out; OutputStreamWriter writer; byte result []; out = new ByteArrayOutputStream (); writer = new OutputStreamWriter (out, "UTF8"); writer.write (decoded); writer.close (); result = out.toByteArray (); harness.check (result.length, encoded.length); flag = true; for (i = 0; i < encoded.length && i < result.length; i++) { if (encoded [i] != result [i]) { harness.debug ("failing index = " + i); flag = false; } } harness.check (flag); // // Ensure that reading decodes correctly // ByteArrayInputStream in; InputStreamReader reader; in = new ByteArrayInputStream (encoded); reader = new InputStreamReader (in, "UTF8"); flag = true; for (i = 0; i < decoded.length; i++) { int c = reader.read (); harness.check (c, decoded[i]); if (c != decoded [i]) { harness.debug (label + ": read failed, char " + i); flag = false; break; } } harness.check (flag); // Look for EOF. harness.check (reader.read(), -1); } catch (Exception e) { harness.debug (label + ": failed " + "(i = " + i + "), " + e.getClass ().getName () + ", " + e.getMessage ()); // e.printStackTrace (); } return; } // // Negative tests -- only for input processing, make sure that // invalid or corrupt characters are rejected. // private static void negative (TestHarness harness, byte encoded [], String label) { boolean flag = false; harness.checkPoint (label); try { ByteArrayInputStream in; InputStreamReader reader; int c; in = new ByteArrayInputStream (encoded); reader = new InputStreamReader (in, "UTF8"); c = reader.read (); flag = (c == 0xFFFD); // Should be replacement char } catch (Throwable t) { harness.debug (label + ": failed, threw " + t.getClass ().getName () + ", " + t.getMessage ()); } harness.check (flag); } // // TEST #0: Examples from RFC 2279 // This is a positive test. // private static byte test0_bytes [] = { // A. (byte)0x41, (byte)0xE2, (byte)0x89, (byte)0xA2, (byte)0xCE, (byte)0x91, (byte)0x2E, // Korean word "hangugo" (byte)0xED, (byte)0x95, (byte)0x9C, (byte)0xEA, (byte)0xB5, (byte)0xAD, (byte)0xEC, (byte)0x96, (byte)0xB4, // Japanese word "nihongo" (byte)0xE6, (byte)0x97, (byte)0xA5, (byte)0xE6, (byte)0x9C, (byte)0xAC, (byte)0xE8, (byte)0xAA, (byte)0x9E }; private static char test0_chars [] = { // A. 0x0041, 0x2262, 0x0391, 0x002e, // Korean word "hangugo" 0xD55C, 0xAD6D, 0xC5B4, // Japanese word "nihongo" 0x65E5, 0x672C, 0x8A9E }; // // From RFC 2279, the ranges which define the values we focus some // "organized" testing on -- test each boundary, and a little on each // side of the boundary. // // Note that some encodings are errors: the shortest encoding must be // used. On the "be lenient in what you accept" principle, those not // tested as input cases; on the "be strict in what you send" principle, // they are tested as output cases instead. // // UCS-4 range (hex.) UTF-8 octet sequence (binary) // 0000 0000-0000 007F 0xxxxxxx // 0000 0080-0000 07FF 110xxxxx 10xxxxxx // 0000 0800-0000 FFFF 1110xxxx 10xxxxxx 10xxxxxx // // 0001 0000-001F FFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx // 0020 0000-03FF FFFF 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx // 0400 0000-7FFF FFFF 1111110x 10xxxxxx ... 10xxxxxx // // // TEST #1: One byte encoded values. Works just like ASCII; these // encodings were chosen for boundary testing. // This is a positive test. // // 0000 0000-0000 007F 0xxxxxxx // private static byte test1_bytes [] = { (byte) 0x00, (byte) 0x01, (byte) 0x7e, (byte) 0x7f }; private static char test1_chars [] = { 0x0000, 0x0001, 0x007e, 0x007f }; // // TEST #2: Two byte encoded values, chosen for boundary testing. // This is a positive test. // // 0000 0080-0000 07FF 110xxxxx 10xxxxxx // // Encodings CX bb, with X = 0 or 1 and 'b' values irrelevant, // should have used a shorter encoding. // private static byte test2_bytes [] = { (byte) 0xc2, (byte) 0x80, (byte) 0xc2, (byte) 0x81, (byte) 0xc3, (byte) 0xa0, (byte) 0xdf, (byte) 0xbe, (byte) 0xdf, (byte) 0xbf }; private static char test2_chars [] = { 0x0080, 0x0081, 0x00E0, 0x07FE, 0x07FF }; // // TEST #3: Three byte encoded values, chosen for boundary testing. // This is a positive test. // // 0000 0800-0000 FFFF 1110xxxx 10xxxxxx 10xxxxxx // // Encodings EO Xb bb, with X = 8 or 9 and 'b' values irrelevant, // should have used a shorter encoding. // private static byte test3_bytes [] = { (byte) 0xe0, (byte) 0xa0, (byte) 0x80, (byte) 0xe0, (byte) 0xa0, (byte) 0x81, // (byte) 0xe0, (byte) 0x11, (byte) 0x10, // (byte) 0xe1, (byte) 0x10, (byte) 0x10, (byte) 0xef, (byte) 0xbf, (byte) 0xbe, (byte) 0xef, (byte) 0xbf, (byte) 0xbf }; private static char test3_chars [] = { 0x0800, 0x0801, // 0x????, // 0x???? 0xFFFE, 0xFFFF }; // // TEST #4: Four byte encoded values, needing surrogate pairs. // This is a positive test. // // NOTE: some four byte encodings exceed the range of Unicode // with surrogate pairs (UTF-16); those must be negatively tested. // // 0001 0000-001F FFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx // // Encodings F0 8b bb bb, where again the 'b' values are irrelevant, // should have used a shorter encoding. // private static byte test4_bytes [] = { (byte) 0xf0, (byte) 0x90, (byte) 0x80, (byte) 0x80, (byte) 0xf0, (byte) 0x90, (byte) 0x80, (byte) 0x81, (byte) 0xf0, (byte) 0x90, (byte) 0x88, (byte) 0x80, (byte) 0xf0, (byte) 0x90, (byte) 0x90, (byte) 0x80, (byte) 0xf0, (byte) 0x90, (byte) 0x8f, (byte) 0xbf, (byte) 0xf1, (byte) 0x90, (byte) 0x8f, (byte) 0xbf, (byte) 0xf2, (byte) 0x90, (byte) 0x8f, (byte) 0xbf, (byte) 0xf4, (byte) 0x8f, (byte) 0xbf, (byte) 0xbf }; private static char test4_chars [] = { 0xD800, 0xDC00, 0xD800, 0xDC01, 0xD800, 0xDE00, 0xD801, 0xDC00, 0xD800, 0xDFFF, 0xD900, 0xDFFF, 0xDA00, 0xDFFF, 0xDBFF, 0xDFFF, }; // // NEGATIVE TESTS: quadruple byte encodings that are out of range // for UTF-16 (Unicode with surrogate pairs); five and six byte // encodings (even if they're bogus encodings of 'good' values); // and orphan "extension" bytes (e.g. ISO-8859-1 treated as UTF-8, // accented and other non-ASCII characters should force errors). // private static byte test5_bytes [] = { (byte) 0xf7, (byte) 0x8f, (byte) 0xbf, (byte) 0xbf }; private static byte test6_bytes [] = { (byte) 0xf7, (byte) 0x8f, (byte) 0xbf, (byte) 0xbf }; private static byte test7_bytes [] = { (byte) 0xf8, (byte) 0x80, (byte) 0x80, (byte) 0x80, (byte) 0x80 }; private static byte test8_bytes [] = { (byte) 0xf8, (byte) 0xbf, (byte) 0x80, (byte) 0x80, (byte) 0x80 }; private static byte test9_bytes [] = { (byte) 0xfc, (byte) 0x80, (byte) 0x80, (byte) 0x80, (byte) 0x80, (byte) 0x80 }; private static byte test10_bytes [] = { (byte) 0xfc, (byte) 0x80, (byte) 0x80, (byte) 0x80, (byte) 0x80, (byte) 0x81 }; private static byte test11_bytes [] = { (byte) 0x80 }; private static byte test12_bytes [] = { (byte) 0xa9 }; private static byte test13_bytes [] = { (byte) 0xf7, (byte) 0x80, (byte) 0x80, (byte) 0x80 }; // // Just for information -- see if these cases are accepted; they're // all errors ("too short" encodings), but ones which generally // ought to be accepted (though see RFC 2279). // // three encodings of ASCII NUL private static byte bad0_bytes [] = { (byte) 0xc0, (byte) 0x80 }; private static byte bad1_bytes [] = { (byte) 0xe0, (byte) 0x80, (byte) 0x80 }; private static byte bad2_bytes [] = { (byte) 0xf0, (byte) 0x80, (byte) 0x80, (byte) 0x80 }; // ... and other values private static byte bad3_bytes [] = { (byte) 0xc1, (byte) 0x80 }; private static byte bad4_bytes [] = { (byte) 0xe0, (byte) 0x81, (byte) 0x80 }; private static byte bad5_bytes [] = { (byte) 0xe0, (byte) 0x90, (byte) 0x80 }; /** * Main program to give a pass or fail rating to a JVM's UTF-8 support. * No arguments needed. */ public void test (TestHarness harness) { boolean pass; // // Positive tests -- good data is dealt with correctly // positive (harness, test0_bytes, test0_chars, "RFC 2279 Examples"); positive (harness, test1_bytes, test1_chars, "One Byte Characters"); positive (harness, test2_bytes, test2_chars, "Two Byte Characters"); positive (harness, test3_bytes, test3_chars, "Three Byte Characters"); positive (harness, test4_bytes, test4_chars, "Surrogate Pairs"); // // Negative tests -- "bad" data is dealt with correctly ... in // this case, "bad" is just out-of-range for Unicode systems, // rather than values encoded contrary to spec (such as NUL // being encoded as '0xc0 0x80', not '0x00'). // negative (harness, test5_bytes, "Four Byte Range Error (0)"); negative (harness, test6_bytes, "Four Byte Range Error (1)"); negative (harness, test7_bytes, "Five Bytes (0)"); negative (harness, test8_bytes, "Five Bytes (1)"); negative (harness, test9_bytes, "Six Bytes (0)"); negative (harness, test10_bytes, "Six Bytes (1)"); negative (harness, test11_bytes, "Orphan Continuation (1)"); negative (harness, test12_bytes, "Orphan Continuation (2)"); negative (harness, test13_bytes, "Four Byte Range Error (2)"); // // Just for information // // FIXME: for Mauve it is simpler to turn these off. Bummer. // boolean strict; // System.out.println (""); // System.out.println ("------ checking decoder leniency ..."); // strict = negative (harness, bad0_bytes, "Fat zero (0)"); // strict &= negative (harness, bad1_bytes, "Fat zero (1)"); // strict &= negative (harness, bad2_bytes, "Fat zero (2)"); // strict &= negative (harness, bad3_bytes, "Fat '@' (0)"); // strict &= negative (harness, bad4_bytes, "Fat '@' (1)"); // strict &= negative (harness, bad5_bytes, "Fat 0x0400"); // if (strict) // System.out.println ("... decoder is strict."); // else // System.out.println ("... decoder is lenient."); } } mauve-20140821/gnu/testlet/java/io/Utf8Encoding/ReadReference.java0000644000175000001440000000413110151130020023362 0ustar dokousers/************************************************************************* /* ReadReference.java -- A quick test of the UTF8 encoding /* /* Copyright (c) 1998,1999 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.Utf8Encoding; import java.io.*; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class ReadReference implements Testlet { public void test(TestHarness harness) { String str1 = "This is the first line of text\n"; String str2 = "This has some \u01FF\uA000\u6666\u0200 weird characters\n"; try { InputStream is = harness.getResourceStream( "gnu#testlet#java#io#Utf8Encoding#utf8test.bin"); InputStreamReader isr = new InputStreamReader(is, "UTF8"); char[] buf = new char[255]; int chars_read = isr.read(buf, 0, str1.length()); String str3 = new String(buf, 0, chars_read); chars_read = isr.read(buf, 0, str2.length()); String str4 = new String(buf, 0, chars_read); harness.check(str1, str3, "Read UTF8 reference file"); harness.check(str2, str4, "Read UTF8 reference file"); isr.close(); } catch(Exception e) { harness.debug(e); harness.check(false, "Read UTF8 reference file"); } } } // class ReadReference mauve-20140821/gnu/testlet/java/io/FilterOutputStream/0000755000175000001440000000000012375316426021405 5ustar dokousersmauve-20140821/gnu/testlet/java/io/FilterOutputStream/write.java0000644000175000001440000000404107601631777023406 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2002 Free Software Foundation, Inc. // Written by Daryl Lee (dolee@sources.redhat.com) // Modified from FileOutputStream/write.java, // written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.io.FilterOutputStream; import java.io.ByteArrayOutputStream; import java.io.FilterOutputStream; import java.io.IOException; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class write implements Testlet { class TestOutputStream extends FilterOutputStream { TestOutputStream (ByteArrayOutputStream baos) { super(baos); } } public void test (TestHarness harness) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); FilterOutputStream fos = new FilterOutputStream(baos);; byte[] ba = {(byte)'B', (byte)'C', (byte)'D'}; try { String tststr = "ABCD"; fos.write('A'); harness.check(true, "write(int)"); fos.write(ba); harness.check(true, "write(buf)"); fos.write(ba,0,3); harness.check(true, "write(buf,off,len)"); byte[] finalba = baos.toByteArray(); String finalstr2 = new String(finalba); harness.check(finalstr2.equals("ABCDBCD"), "wrote all characters okay"); baos.flush(); harness.check(true, "flush()"); baos.close(); harness.check(true, "close()"); } catch (IOException e) { harness.fail("IOException unexpected"); } } } mauve-20140821/gnu/testlet/java/io/InterruptedIOException/0000755000175000001440000000000012375316426022177 5ustar dokousersmauve-20140821/gnu/testlet/java/io/InterruptedIOException/constructor.java0000644000175000001440000000373012030275353025421 0ustar dokousers// Test if instances of a class java.io.InterruptedIOException could be properly constructed // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InterruptedIOException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InterruptedIOException; /** * Test if instances of a class java.io.InterruptedIOException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { InterruptedIOException object1 = new InterruptedIOException(); harness.check(object1 != null); harness.check(object1.toString(), "java.io.InterruptedIOException"); InterruptedIOException object2 = new InterruptedIOException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.io.InterruptedIOException: nothing happens"); InterruptedIOException object3 = new InterruptedIOException(null); harness.check(object3 != null); harness.check(object3.toString(), "java.io.InterruptedIOException"); } } mauve-20140821/gnu/testlet/java/io/InterruptedIOException/TryCatch.java0000644000175000001440000000327712030275353024563 0ustar dokousers// Test if try-catch block is working properly for a class java.io.InterruptedIOException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InterruptedIOException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InterruptedIOException; /** * Test if try-catch block is working properly for a class java.io.InterruptedIOException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new InterruptedIOException("InterruptedIOException"); } catch (InterruptedIOException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/io/InterruptedIOException/classInfo/0000755000175000001440000000000012375316426024120 5ustar dokousersmauve-20140821/gnu/testlet/java/io/InterruptedIOException/classInfo/getPackage.java0000644000175000001440000000314512030275353027010 0ustar dokousers// Test for method java.io.InterruptedIOException.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InterruptedIOException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InterruptedIOException; /** * Test for method java.io.InterruptedIOException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InterruptedIOException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.io"); } } mauve-20140821/gnu/testlet/java/io/InterruptedIOException/classInfo/getInterfaces.java0000644000175000001440000000320712030275353027537 0ustar dokousers// Test for method java.io.InterruptedIOException.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InterruptedIOException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InterruptedIOException; import java.util.List; import java.util.Arrays; /** * Test for method java.io.InterruptedIOException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InterruptedIOException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/io/InterruptedIOException/classInfo/getModifiers.java0000644000175000001440000000440012030275353027371 0ustar dokousers// Test for method java.io.InterruptedIOException.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InterruptedIOException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InterruptedIOException; import java.lang.reflect.Modifier; /** * Test for method java.io.InterruptedIOException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InterruptedIOException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/io/InterruptedIOException/classInfo/isPrimitive.java0000644000175000001440000000310412030275353027254 0ustar dokousers// Test for method java.io.InterruptedIOException.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InterruptedIOException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InterruptedIOException; /** * Test for method java.io.InterruptedIOException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InterruptedIOException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/io/InterruptedIOException/classInfo/getSimpleName.java0000644000175000001440000000313712030275353027510 0ustar dokousers// Test for method java.io.InterruptedIOException.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InterruptedIOException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InterruptedIOException; /** * Test for method java.io.InterruptedIOException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InterruptedIOException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "InterruptedIOException"); } } mauve-20140821/gnu/testlet/java/io/InterruptedIOException/classInfo/isSynthetic.java0000644000175000001440000000310412030275353027256 0ustar dokousers// Test for method java.io.InterruptedIOException.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InterruptedIOException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InterruptedIOException; /** * Test for method java.io.InterruptedIOException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InterruptedIOException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/io/InterruptedIOException/classInfo/isInstance.java0000644000175000001440000000314212030275353027052 0ustar dokousers// Test for method java.io.InterruptedIOException.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InterruptedIOException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InterruptedIOException; /** * Test for method java.io.InterruptedIOException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InterruptedIOException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new InterruptedIOException("xyzzy"))); } } mauve-20140821/gnu/testlet/java/io/InterruptedIOException/classInfo/isMemberClass.java0000644000175000001440000000311412030275353027502 0ustar dokousers// Test for method java.io.InterruptedIOException.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InterruptedIOException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InterruptedIOException; /** * Test for method java.io.InterruptedIOException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InterruptedIOException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/io/InterruptedIOException/classInfo/getSuperclass.java0000644000175000001440000000321512030275353027577 0ustar dokousers// Test for method java.io.InterruptedIOException.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InterruptedIOException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InterruptedIOException; /** * Test for method java.io.InterruptedIOException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InterruptedIOException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.io.IOException"); } } mauve-20140821/gnu/testlet/java/io/InterruptedIOException/classInfo/InstanceOf.java0000644000175000001440000000370212030275353027005 0ustar dokousers// Test for instanceof operator applied to a class java.io.InterruptedIOException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InterruptedIOException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InterruptedIOException; import java.io.IOException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.io.InterruptedIOException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InterruptedIOException InterruptedIOException o = new InterruptedIOException("xyzzy"); // basic check of instanceof operator harness.check(o instanceof InterruptedIOException); // check operator instanceof against all superclasses harness.check(o instanceof IOException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/io/InterruptedIOException/classInfo/isInterface.java0000644000175000001440000000310412030275353027204 0ustar dokousers// Test for method java.io.InterruptedIOException.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InterruptedIOException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InterruptedIOException; /** * Test for method java.io.InterruptedIOException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InterruptedIOException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/io/InterruptedIOException/classInfo/isAssignableFrom.java0000644000175000001440000000316212030275353030204 0ustar dokousers// Test for method java.io.InterruptedIOException.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InterruptedIOException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InterruptedIOException; /** * Test for method java.io.InterruptedIOException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InterruptedIOException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(InterruptedIOException.class)); } } mauve-20140821/gnu/testlet/java/io/InterruptedIOException/classInfo/isLocalClass.java0000644000175000001440000000311012030275353027321 0ustar dokousers// Test for method java.io.InterruptedIOException.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InterruptedIOException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InterruptedIOException; /** * Test for method java.io.InterruptedIOException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InterruptedIOException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/io/InterruptedIOException/classInfo/getName.java0000644000175000001440000000311712030275353026334 0ustar dokousers// Test for method java.io.InterruptedIOException.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.InterruptedIOException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.InterruptedIOException; /** * Test for method java.io.InterruptedIOException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new InterruptedIOException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.io.InterruptedIOException"); } } mauve-20140821/gnu/testlet/java/io/BufferedByteOutputStream/0000755000175000001440000000000012375316426022526 5ustar dokousersmauve-20140821/gnu/testlet/java/io/ByteArrayInputStream/0000755000175000001440000000000012375316426021661 5ustar dokousersmauve-20140821/gnu/testlet/java/io/ByteArrayInputStream/SimpleRead.java0000644000175000001440000000411306641014421024535 0ustar dokousers/************************************************************************* /* SimpleRead.java -- ByteArrayInputStream simple read test /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.0 package gnu.testlet.java.io.ByteArrayInputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class SimpleRead implements Testlet { public void test(TestHarness harness) { String str = "My sophomore year of college I moved out of the dorms. I\n" + "moved in with three friends into a brand new townhouse in east\n" + "Bloomington at 771 Woodbridge Drive. To this day that was the\n" + "nicest place I've ever lived.\n"; byte[] str_bytes = str.getBytes(); ByteArrayInputStream bais = new ByteArrayInputStream(str_bytes); byte[] read_buf = new byte[12]; try { int bytes_read, total_read = 0; while ((bytes_read = bais.read(read_buf, 0, read_buf.length)) != -1) { harness.debug(new String(read_buf, 0, bytes_read), false); total_read += bytes_read; } bais.close(); harness.check(total_read, str.length(), "total_read"); } catch (IOException e) { harness.debug(e); harness.check(false); } } } // SimpleRead mauve-20140821/gnu/testlet/java/io/ByteArrayInputStream/ProtectedVars.java0000644000175000001440000000436006641014421025301 0ustar dokousers/************************************************************************* /* ProtectedVars.java -- Test ByteArrayInputStream protected variables. /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.0 package gnu.testlet.java.io.ByteArrayInputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class ProtectedVars extends ByteArrayInputStream implements Testlet { public ProtectedVars(byte[] b) { super(b); } // Constructor for the test suite public ProtectedVars() { super(new byte[1]); } public void test(TestHarness harness) { String str = "My sophomore year of college I moved out of the dorms. I\n" + "moved in with three friends into a brand new townhouse in east\n" + "Bloomington at 771 Woodbridge Drive. To this day that was the\n" + "nicest place I've ever lived.\n"; byte[] str_bytes = str.getBytes(); ProtectedVars bais = new ProtectedVars(str_bytes); byte[] read_buf = new byte[12]; try { bais.read(read_buf); bais.mark(0); harness.check(bais.mark, read_buf.length, "mark"); bais.read(read_buf); harness.check(bais.pos, (read_buf.length * 2), "pos"); harness.check(bais.count, str_bytes.length, "count"); harness.check(bais.buf, str_bytes, "buf"); } catch (IOException e) { harness.debug(e); harness.check(false); } } } // ProtectedVars mauve-20140821/gnu/testlet/java/io/ByteArrayInputStream/MarkReset.java0000644000175000001440000000453006644150140024412 0ustar dokousers/************************************************************************* /* MarkReset.java -- ByteArrayInputStream mark/reset test /* /* Copyright (c) 1998, 1999 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.0 package gnu.testlet.java.io.ByteArrayInputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class MarkReset implements Testlet { public void test(TestHarness harness) { String str = "My sophomore year of college I moved out of the dorms. I\n" + "moved in with three friends into a brand new townhouse in east\n" + "Bloomington at 771 Woodbridge Drive. To this day that was the\n" + "nicest place I've ever lived.\n"; byte[] str_bytes = str.getBytes(); ByteArrayInputStream bais = new ByteArrayInputStream(str_bytes); byte[] read_buf = new byte[12]; try { bais.read(read_buf); harness.check(bais.available(), (str_bytes.length - read_buf.length), "available() 1"); harness.check(bais.skip(5), 5, "skip()"); // System.out.println("skip() didn't work"); harness.check(bais.available(), (str_bytes.length - (read_buf.length + 5)), "available() 2"); harness.check(bais.markSupported(), "markSupported()"); bais.mark(0); int availsave = bais.available(); bais.read(); bais.reset(); harness.check(bais.available(), availsave, "reset"); } catch(IOException e) { harness.debug(e); harness.check(false); } } } // MarkReset mauve-20140821/gnu/testlet/java/io/FileWriter/0000755000175000001440000000000012375316426017637 5ustar dokousersmauve-20140821/gnu/testlet/java/io/FileWriter/jdk11.java0000644000175000001440000000353110201742723021403 0ustar dokousers/************************************************************************* /* jdk11.java -- java.io.FileWriter 1.1 tests /* /* Copyright (c) 2001, 2002 Free Software Foundation, Inc. /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.FileWriter; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.FileWriter; import java.io.FileOutputStream; import java.io.File; import java.io.IOException; public class jdk11 implements Testlet { public void test (TestHarness harness) { try { FileWriter fr1 = new FileWriter("tmpfile"); harness.check(true, "FileWriter(string)"); FileWriter fr1a = new FileWriter("tmpfile", true); harness.check(true, "FileWriter(string, boolean)"); File f2 = new File("tmpfile"); FileWriter fr2 = new FileWriter(f2); harness.check(true, "FileWriter(File)"); FileOutputStream fis = new FileOutputStream(f2); FileWriter fr3 = new FileWriter(fis.getFD()); harness.check(true, "FileWriter(FileDescriptor)"); } catch (IOException e) { harness.fail("Can't open file 'choices'"); } } } mauve-20140821/gnu/testlet/java/io/InputStreamReader/0000755000175000001440000000000012375316426021161 5ustar dokousersmauve-20140821/gnu/testlet/java/io/InputStreamReader/except.java0000644000175000001440000000264607557314250023323 0ustar dokousers// Test for InputStreamReader exception handling. // Written by paul@dawa.demon.co.uk // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.io.InputStreamReader; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class except implements Testlet { public void test (TestHarness harness) { boolean ok = false; try { InputStreamReader isr = new InputStreamReader (new StringBufferInputStream ("zardoz has spoken")); char[] cbuf = new char[10]; isr.close (); isr.read (cbuf, 0, 9); } catch (IOException _1) { // This is expected. ok = true; } catch (Throwable _2) { // Failure. harness.debug(_2); } harness.check (ok); } } mauve-20140821/gnu/testlet/java/io/InputStreamReader/hang.java0000644000175000001440000000343710263022132022726 0ustar dokousers// Regression test for InputStreamReader hang. // Written by Tom Tromey // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.4 package gnu.testlet.java.io.InputStreamReader; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; import java.util.Arrays; public class hang implements Testlet { public void test (TestHarness h) { try { // We make a buffer where a multi-byte UTF-8 character is // carefully positioned so that the BufferedInputStream we create // will split it. byte[] bytes = new byte[20]; Arrays.fill(bytes, (byte) 'a'); bytes[9] = (byte) 208; bytes[10] = (byte) 164; ByteArrayInputStream bais = new ByteArrayInputStream(bytes); BufferedInputStream bis = new BufferedInputStream(bais, 10); // Note that the encoding name matters for this particular // regression. It must be exactly 'utf8'. InputStreamReader reader = new InputStreamReader(bis, "utf8"); char[] result = new char[5]; for (int i = 0; i < 4; ++i) reader.read(result); h.check(true); } catch (IOException _) { h.debug(_); h.check(false); } } } mauve-20140821/gnu/testlet/java/io/InputStreamReader/utf8.java0000644000175000001440000000421507722477700022717 0ustar dokousers// Tests that UTF8 decoder always makes progress. // Written by Mark Wielaard // Based on a test by Patrik Reali // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.io.InputStreamReader; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class utf8 implements Testlet, Runnable { TestHarness harness; boolean ok = false; public void test (TestHarness h) { harness = h; Thread t = new Thread(this); t.start(); // Wait a few seconds for the thread to finish. try { t.join(3 * 1000); } catch (InterruptedException ie) { harness.debug("Interrupted: " + ie); } harness.check(ok, "UTF-8 decoder finished"); if (!ok) t.interrupt(); } public void run() { try { PipedOutputStream pos = new PipedOutputStream(); OutputStreamWriter osw = new OutputStreamWriter(pos, "UTF-8"); PrintWriter ps = new PrintWriter(osw); PipedInputStream pis = new PipedInputStream(pos); InputStreamReader isr = new InputStreamReader(pis, "UTF-8"); char[] buf = new char[256]; int read; ps.print("0123456789ABCDEF"); ps.flush(); // Read much more then we actually expect (16 characters). read = isr.read(buf, 0, 256); harness.check(read, 16, "16 characters read"); ok = true; } catch (IOException ioe) { harness.debug(ioe); harness.check(false, "IOException in run()"); } } } mauve-20140821/gnu/testlet/java/io/InputStreamReader/getEncoding.java0000644000175000001440000001667410353310763024260 0ustar dokousers//Tags: JDK1.4 // Copyright (C) 2005 Robert Schuster (thebohemian@gmx.net) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.io.InputStreamReader; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.io.InputStreamReader; import java.nio.charset.Charset; import java.nio.charset.UnsupportedCharsetException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /**

Tests whether the InputStreamReader class returns the proper * canonical (Java) IO name for a given NIO charset.

* *

The extended charsets are not required to be available. However if one * is installed than it should support the proper name mapping. *

* *

However the following charset are mandatory: * *

  • US-ASCII
  • *
  • ISO-8859-1
  • *
  • UTF-8
  • *
  • UTF-16BE
  • *
  • UTF-16LE
  • *
  • UTF-16
  • * *

    * *

    The mapping's names are based on the information given in: * http://java.sun.com/j2se/1.5.0/docs/guide/intl/encoding.doc.html *

    * * @author Robert Schuster * */ public class getEncoding implements Testlet { public void test(TestHarness harness) { String[] nioNames = new String[] { "ISO-8859-1", "ISO-8859-2", "ISO-8859-4", "ISO-8859-5", "ISO-8859-7", "ISO-8859-9", "ISO-8859-13", "ISO-8859-15", "KOI8-R", "US-ASCII", "UTF-8", "UTF-16", "UTF-16BE", "UTF-16LE", "windows-1250", "windows-1251", "windows-1252", "windows-1253", "windows-1254", "windows-1257" }; String[] ioNames = new String[] { "ISO8859_1", "ISO8859_2", "ISO8859_4", "ISO8859_5", "ISO8859_7", "ISO8859_9", "ISO8859_13", "ISO8859_15", "KOI8_R", "ASCII", "UTF8", "UTF-16", "UnicodeBigUnmarked", "UnicodeLittleUnmarked", "Cp1250", "Cp1251", "Cp1252", "Cp1253", "Cp1254", "Cp1257" }; // Creates only a valid InputStream instance that is needed for an InputStreamReader later. InputStream is = new ByteArrayInputStream(new byte[] { 0xD, 0xE, 0xA, 0xD, 0xB, 0xE, 0xE, 0xF }); harness.checkPoint("standard charsets"); for (int i = 0; i < nioNames.length; i++) { boolean supported = true; String name = null; try { Charset cs = Charset.forName(nioNames[i]); InputStreamReader isr = new InputStreamReader(is, cs); name = isr.getEncoding(); } catch (UnsupportedCharsetException uce) { harness.debug(uce); supported = false; } harness.check(name, ioNames[i]); harness.check(supported, true); } // These are the charsets provided by J2SE5 in an international installation. // The specification does not strictly require that they are available. String[] extNioNames = new String[] { "Big5", "Big5-HKSCS", "EUC-JP", "EUC-KR", "GB18030", "GB2312", "GBK", "IBM-Thai", "IBM00858", "IBM01140", "IBM01141", "IBM01142", "IBM01143", "IBM01144", "IBM01145", "IBM01146", "IBM01147", "IBM01148", "IBM01149", "IBM037", "IBM1026", "IBM1047", "IBM273", "IBM277", "IBM278", "IBM280", "IBM284", "IBM285", "IBM297", "IBM420", "IBM424", "IBM437", "IBM500", "IBM775", "IBM850", "IBM852", "IBM855", "IBM857", "IBM860", "IBM861", "IBM862", "IBM863", "IBM864", "IBM865", "IBM866", "IBM868", "IBM869", "IBM870", "IBM871", "IBM918", "ISO-2022-CN", "ISO-2022-JP", "ISO-2022-KR", "ISO-8859-3", "ISO-8859-6", "ISO-8859-8", "Shift_JIS", "TIS-620", "windows-1255", "windows-1256", "windows-1258", "windows-31j", "x-Big5_Solaris", "x-euc-jp-linux", "x-EUC-TW", "x-eucJP-Open", "x-IBM1006", "x-IBM1025", "x-IBM1046", "x-IBM1097", "x-IBM1098", "x-IBM1112", "x-IBM1122", "x-IBM1123", "x-IBM1124", "x-IBM1381", "x-IBM1383", "x-IBM33722", "x-IBM737", "x-IBM856", "x-IBM874", "x-IBM875", "x-IBM921", "x-IBM922", "x-IBM930", "x-IBM933", "x-IBM935", "x-IBM937", "x-IBM939", "x-IBM942", "x-IBM942C", "x-IBM943", "x-IBM943C", "x-IBM948", "x-IBM949", "x-IBM949C", "x-IBM950", "x-IBM964", "x-IBM970", "x-ISCII91", "x-ISO2022-CN-CNS", "x-ISO2022-CN-GB", "x-iso-8859-11", "x-JISAutoDetect", "x-Johab", "x-MacArabic", "x-MacCentralEurope", "x-MacCroatian", "x-MacCyrillic", "x-MacDingbat", "x-MacGreek", "x-MacHebrew", "x-MacIceland", "x-MacRoman", "x-MacRomania", "x-MacSymbol", "x-MacThai", "x-MacTurkish", "x-MacUkraine", "x-MS950-HKSCS", "x-mswin-936", "x-PCK", "x-windows-874", "x-windows-949", "x-windows-950" }; String[] extIoNames = new String[] { "Big5", "Big5_HKSCS", "EUC_JP", "EUC_KR", "GB18030", "EUC_CN", "GBK", "Cp838", "Cp858", "Cp1140", "Cp1141", "Cp1142", "Cp1143", "Cp1144", "Cp1145", "Cp1146", "Cp1147", "Cp1148", "Cp1149", "Cp037", "Cp1026", "Cp1047", "Cp273", "Cp277", "Cp278", "Cp280", "Cp284", "Cp285", "Cp297", "Cp420", "Cp424", "Cp437", "Cp500", "Cp775", "Cp850", "Cp852", "Cp855", "Cp857", "Cp860", "Cp861", "Cp862", "Cp863", "Cp864", "Cp865", "Cp866", "Cp868", "Cp869", "Cp870", "Cp871", "Cp918", "ISO2022CN", "ISO2022JP", "ISO2022KR", "ISO8859_3", "ISO8859_6", "ISO8859_8", "SJIS", "TIS620", "Cp1255", "Cp1256", "Cp1258", "MS932", "Big5_Solaris", "EUC_JP_LINUX", "EUC_TW", "EUC_JP_Solaris", "Cp1006", "Cp1025", "Cp1046", "Cp1097", "Cp1098", "Cp1112", "Cp1122", "Cp1123", "Cp1124", "Cp1381", "Cp1383", "Cp33722", "Cp737", "Cp856", "Cp874", "Cp875", "Cp921", "Cp922", "Cp930", "Cp933", "Cp935", "Cp937", "Cp939", "Cp942", "Cp942C", "Cp943", "Cp943C", "Cp948", "Cp949", "Cp949C", "Cp950", "Cp964", "Cp970", "ISCII91", "ISO2022_CN_CNS", "ISO2022_CN_GB", "x-iso-8859-11", "JISAutoDetect", "x-Johab", "MacArabic", "MacCentralEurope", "MacCroatian", "MacCyrillic", "MacDingbat", "MacGreek", "MacHebrew", "MacIceland", "MacRoman", "MacRomania", "MacSymbol", "MacThai", "MacTurkish", "MacUkraine", "MS950_HKSCS", "MS936", "PCK", "MS874", "MS949", "MS950", "x-IBM933", "x-IBM935", "x-IBM937", "x-IBM939", "x-IBM942", "x-IBM942C", "x-IBM943", "x-IBM943C", "x-IBM948", "x-IBM949", "x-IBM949C", "x-IBM950", "x-IBM964", "x-IBM970", "x-ISCII91", "x-ISO2022-CN-CNS", "x-ISO2022-CN-GB", "x-iso-8859-11", "x-JISAutoDetect", "x-Johab", "x-MacArabic", "x-MacCentralEurope", "x-MacCroatian", "x-MacCyrillic", "x-MacDingbat", "x-MacGreek", "x-MacHebrew", "x-MacIceland", "x-MacRoman", "x-MacRomania", "x-MacSymbol", "x-MacThai", "x-MacTurkish", "x-MacUkraine", "x-MS950-HKSCS", "x-mswin-936", "x-PCK", "x-windows-874", "x-windows-949", "x-windows-950" }; harness.checkPoint("extended charsets"); for (int i = 0; i < extNioNames.length; i++) { boolean supported = true; String name = null; try { Charset cs = Charset.forName(extNioNames[i]); InputStreamReader isr = new InputStreamReader(is, cs); name = isr.getEncoding(); } catch (UnsupportedCharsetException uce) { supported = false; } if ( supported ) { harness.check(name, extIoNames[i]); harness.check(supported, true); } } } } mauve-20140821/gnu/testlet/java/io/InputStreamReader/jdk11.java0000644000175000001440000000334007623010002022713 0ustar dokousers// Test for InputStreamReader methods // Written by Daryl Lee (dol@sources.redhat.com) // Elaboration of except.java by paul@dawa.demon.co.uk // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.io.InputStreamReader; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class jdk11 implements Testlet { public void test (TestHarness harness) { try { InputStreamReader isr = new InputStreamReader (new StringBufferInputStream ("zardoz has spoken")); harness.check(isr.ready(), "ready()"); // deprecated post-1.1 harness.check(isr.getEncoding() != null, "non-null getEncoding"); char[] cbuf = new char[10]; isr.read (cbuf, 0, cbuf.length); String tst = new String(cbuf); harness.check(tst, "zardoz has", "read(buf[], off, len)"); harness.check(isr.read(), ' ', "read()"); isr.close (); harness.check(isr.getEncoding(), null, "null encoding after close"); } catch (IOException e) { harness.check(false, "IOException unexpected"); } } } mauve-20140821/gnu/testlet/java/io/FileOutputStream/0000755000175000001440000000000012375316426021037 5ustar dokousersmauve-20140821/gnu/testlet/java/io/FileOutputStream/fileoutputstream.java0000644000175000001440000000401410213713360025300 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2005 Free Software Foundation, Inc. // Written by Dalibor Topic (robilad@kaffe.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.io.FileOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.FileNotFoundException; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class fileoutputstream implements Testlet { /** * This test checks for a FileNotFoundException being thrown * when the input paramter to the constructor is a directory */ public void test (TestHarness harness) { String tmpfile = "."; try { new FileOutputStream(tmpfile); harness.check(false, "Failed to throw FileNotFoundException"); } catch(FileNotFoundException e) { harness.check(true, "thrown FileNotFoundException for directory parameter"); } catch(Throwable t) { harness.fail("Unknown Throwable caught"); harness.debug(t); } final File f = new File(tmpfile); try { new FileOutputStream(f); harness.check(false, "Failed to throw FileNotFoundException"); } catch(FileNotFoundException e) { harness.check(true, "thrown FileNotFoundException for directory parameter"); } catch(Throwable t) { harness.fail("Unknown Throwable caught"); harness.debug(t); } } } mauve-20140821/gnu/testlet/java/io/FileOutputStream/write.java0000644000175000001440000000275007557314247023045 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2002 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.io.FileOutputStream; import java.io.File; import java.io.FileOutputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class write implements Testlet { public void test (TestHarness harness) { String tmpfile = harness.getTempDirectory() + File.separator + "mauve-fileout.tst"; try { new FileOutputStream(tmpfile).write(new byte[0]); harness.check(new File(tmpfile).exists(), "empty byte[] write"); } catch(Throwable t) { harness.fail("empty byte[] write"); harness.debug(t); } finally { // Cleanup File f = new File(tmpfile); f.delete(); } } } mauve-20140821/gnu/testlet/java/io/FileOutputStream/jdk12.java0000644000175000001440000000326610057633052022614 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2002 Free Software Foundation, Inc. // Written by Daryl O. Lee (dolee@sources.redhat.com) // Tests only changes in exceptions thrown by constructors. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.io.FileOutputStream; import java.io.FileOutputStream; import java.io.FileNotFoundException; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class jdk12 implements Testlet { public void test (TestHarness harness) { // pick a directory we know doesn't exist String tmpfile = "./asdfghj/mauve-fileout.tst"; try { new FileOutputStream(tmpfile); harness.fail("No exception thrown"); } catch(FileNotFoundException t) { harness.check(true, "new(string) Threw correct exception"); } try { new FileOutputStream(tmpfile, true); harness.fail("No exception thrown"); } catch(FileNotFoundException t) { harness.check(true, "new(string, boolean) Threw correct exception"); } } } mauve-20140821/gnu/testlet/java/io/FileOutputStream/security.java0000644000175000001440000000746210562130333023545 0ustar dokousers// Copyright (C) 2005, 2006, 2007 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 package gnu.testlet.java.io.FileOutputStream; import java.io.File; import java.io.FileDescriptor; import java.io.FileOutputStream; import java.io.FilePermission; import java.security.Permission; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.TestSecurityManager; public class security implements Testlet { public void test (TestHarness harness) { File dir = new File(harness.getTempDirectory(), "mauve-testdir"); harness.check(dir.mkdir() || dir.exists(), "temp directory"); File file = new File(dir, "file"); String path = file.getPath(); Permission rperm = new FilePermission(path, "read"); Permission wperm = new FilePermission(path, "write"); Permission fdPerm = new RuntimePermission("writeFileDescriptor"); TestSecurityManager sm = new TestSecurityManager(harness); try { sm.install(); // throwpoint: java.io.FileOutputStream-FileOutputStream(File) harness.checkPoint("File constructor"); try { sm.prepareChecks(new Permission[] {wperm}, new Permission[] {rperm}); new FileOutputStream(file); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "Unexpected check"); } // throwpoint: java.io.FileOutputStream-FileOutputStream(File, boolean) harness.checkPoint("File, boolean constructor"); for (int i = 0; i <= 1; i++) { try { sm.prepareChecks(new Permission[] {wperm}, new Permission[] {rperm}); new FileOutputStream(file, i == 1); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "Unexpected check"); } } // throwpoint: java.io.FileOutputStream-FileOutputStream(String) harness.checkPoint("String constructor"); try { sm.prepareChecks(new Permission[] {wperm}, new Permission[] {rperm}); new FileOutputStream(path); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "Unexpected check"); } // throwpoint: java.io.FileOutputStream-FileOutputStream(String, boolean) harness.checkPoint("String, boolean constructor"); for (int i = 0; i <= 1; i++) { try { sm.prepareChecks(new Permission[] {wperm}, new Permission[] {rperm}); new FileOutputStream(path, i == 1); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "Unexpected check"); } } // throwpoint: java.io.FileOutputStream-FileOutputStream(FileDescriptor) harness.checkPoint("FileDescriptor constructor"); try { sm.prepareChecks(new Permission[] {fdPerm}); new FileOutputStream(FileDescriptor.out); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "Unexpected check"); } } catch (Exception ex) { harness.debug(ex); harness.check(false, "Unexpected exception"); } finally { sm.uninstall(); file.delete(); dir.delete(); } } } mauve-20140821/gnu/testlet/java/io/FileOutputStream/append.java0000644000175000001440000000616010627244135023147 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2007 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.io.FileOutputStream; import java.io.*; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Based on a testcase submitted by Steve Blackburn * (Steve.Blackburn@anu.edu.au) for the following bug report: * [ 1722506 ] dacapo eclipse fails EOF exceptions * http://sourceforge.net/tracker/index.php?func=detail&aid=1722506&group_id=128805&atid=712768 */ public class append implements Testlet { public void test (TestHarness harness) { // Make sure test file is created fresh String tmpfile = harness.getTempDirectory() + File.separator + "mauve-fos-append.tst"; File f = new File(tmpfile); f.delete(); try { // Don't append (large) FileOutputStream fos = new FileOutputStream(f, false); BufferedOutputStream bos = new BufferedOutputStream(fos, 2048); DataOutputStream dos = new DataOutputStream(bos); for (int i = 0; i < 50; i++) dos.writeInt(i); dos.close(); long len1 = f.length(); RandomAccessFile raf = new RandomAccessFile(f, "rw"); harness.check(raf.length(), len1); raf.close(); dos.close(); // Don't append (small) (truncates) fos = new FileOutputStream(f, false); bos = new BufferedOutputStream(fos, 2048); dos = new DataOutputStream(bos); for (int i = 0; i < 25; i++) dos.writeInt(i); dos.close(); long len2 = f.length(); raf = new RandomAccessFile(f, "rw"); harness.check(raf.length(), len2); raf.close(); dos.close(); // Append large (extends) fos = new FileOutputStream(f, true); bos = new BufferedOutputStream(fos, 2048); dos = new DataOutputStream(bos); for (int i = 0; i < 50; i++) dos.writeInt(i); dos.close(); long len3 = f.length(); harness.check(len1 + len2, len3); raf = new RandomAccessFile(f, "rw"); harness.check(raf.length(), len3); raf.close(); // Don't append (small) again (truncates) fos = new FileOutputStream(f, false); bos = new BufferedOutputStream(fos, 2048); dos = new DataOutputStream(bos); for (int i = 0; i < 25; i++) dos.writeInt(i); dos.close(); long len4 = f.length(); harness.check(len2, len4); raf = new RandomAccessFile(f, "rw"); harness.check(raf.length(), len4); raf.close(); dos.close(); } catch (IOException ioe) { harness.fail("Unexpected: " +ioe); harness.debug(ioe); } finally { f.delete(); } } } mauve-20140821/gnu/testlet/java/io/StringWriter/0000755000175000001440000000000012375316426020226 5ustar dokousersmauve-20140821/gnu/testlet/java/io/StringWriter/Test.java0000644000175000001440000000450307605023665022012 0ustar dokousers/************************************************************************* /* Test.java -- Test StringWriter /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.StringWriter; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; /** * Class to test StringWriter. This is just a rehash of the * BufferedCharWriterTest using a StringWriter instead of a * CharArrayWriter underneath. */ public class Test implements Testlet { public void test(TestHarness harness) { StringWriter sw = new StringWriter(); String str = "There are a ton of great places to see live, original\n" + "music in Chicago. Places like Lounge Ax, Schuba's, the Empty\n" + "Bottle, and even the dreaded Metro with their sometimes asshole\n" + "bouncers.\n"; char[] buf = new char[str.length()]; str.getChars(0, str.length(), buf, 0); sw.write(buf, 0, 5); sw.write(buf, 5, 8); sw.flush(); harness.check(sw.toString(), str.substring(0, 13), "flush()"); harness.check(sw.getBuffer().toString(), str.substring(0, 13), "getBuffer()"); sw.write(buf, 13, 12); sw.write(buf[25]); sw.write(buf, 26, buf.length - 26); try // IOException added in 1.2 { sw.close(); } catch(Throwable t) { harness.debug("Caught unexpected exception: " + t); harness.fail("Unexpected Throwable"); return; } harness.debug(sw.toString()); harness.check(sw.toString(), str, "string equality"); } } // class Test mauve-20140821/gnu/testlet/java/io/StreamCorruptedException/0000755000175000001440000000000012375316426022565 5ustar dokousersmauve-20140821/gnu/testlet/java/io/StreamCorruptedException/constructor.java0000644000175000001440000000376212035744531026020 0ustar dokousers// Test if instances of a class java.io.StreamCorruptedException could be properly constructed // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.StreamCorruptedException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.StreamCorruptedException; /** * Test if instances of a class java.io.StreamCorruptedException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { StreamCorruptedException object1 = new StreamCorruptedException(); harness.check(object1 != null); harness.check(object1.toString(), "java.io.StreamCorruptedException"); StreamCorruptedException object2 = new StreamCorruptedException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.io.StreamCorruptedException: nothing happens"); StreamCorruptedException object3 = new StreamCorruptedException(null); harness.check(object3 != null); harness.check(object3.toString(), "java.io.StreamCorruptedException"); } } mauve-20140821/gnu/testlet/java/io/StreamCorruptedException/TryCatch.java0000644000175000001440000000331512035744531025146 0ustar dokousers// Test if try-catch block is working properly for a class java.io.StreamCorruptedException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.StreamCorruptedException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.StreamCorruptedException; /** * Test if try-catch block is working properly for a class java.io.StreamCorruptedException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new StreamCorruptedException("StreamCorruptedException"); } catch (StreamCorruptedException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/io/StreamCorruptedException/classInfo/0000755000175000001440000000000012375316426024506 5ustar dokousersmauve-20140821/gnu/testlet/java/io/StreamCorruptedException/classInfo/getPackage.java0000644000175000001440000000315712035744531027405 0ustar dokousers// Test for method java.io.StreamCorruptedException.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.StreamCorruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.StreamCorruptedException; /** * Test for method java.io.StreamCorruptedException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StreamCorruptedException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.io"); } } mauve-20140821/gnu/testlet/java/io/StreamCorruptedException/classInfo/getInterfaces.java0000644000175000001440000000322112035744531030125 0ustar dokousers// Test for method java.io.StreamCorruptedException.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.StreamCorruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.StreamCorruptedException; import java.util.List; import java.util.Arrays; /** * Test for method java.io.StreamCorruptedException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StreamCorruptedException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/io/StreamCorruptedException/classInfo/getModifiers.java0000644000175000001440000000441212035744531027766 0ustar dokousers// Test for method java.io.StreamCorruptedException.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.StreamCorruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.StreamCorruptedException; import java.lang.reflect.Modifier; /** * Test for method java.io.StreamCorruptedException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StreamCorruptedException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/io/StreamCorruptedException/classInfo/isPrimitive.java0000644000175000001440000000311612035744531027651 0ustar dokousers// Test for method java.io.StreamCorruptedException.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.StreamCorruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.StreamCorruptedException; /** * Test for method java.io.StreamCorruptedException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StreamCorruptedException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/io/StreamCorruptedException/classInfo/getSimpleName.java0000644000175000001440000000315312035744531030100 0ustar dokousers// Test for method java.io.StreamCorruptedException.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.StreamCorruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.StreamCorruptedException; /** * Test for method java.io.StreamCorruptedException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StreamCorruptedException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "StreamCorruptedException"); } } mauve-20140821/gnu/testlet/java/io/StreamCorruptedException/classInfo/isSynthetic.java0000644000175000001440000000311612035744531027653 0ustar dokousers// Test for method java.io.StreamCorruptedException.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.StreamCorruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.StreamCorruptedException; /** * Test for method java.io.StreamCorruptedException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StreamCorruptedException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/io/StreamCorruptedException/classInfo/isInstance.java0000644000175000001440000000315612035744531027451 0ustar dokousers// Test for method java.io.StreamCorruptedException.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.StreamCorruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.StreamCorruptedException; /** * Test for method java.io.StreamCorruptedException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StreamCorruptedException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new StreamCorruptedException("xyzzy"))); } } mauve-20140821/gnu/testlet/java/io/StreamCorruptedException/classInfo/isMemberClass.java0000644000175000001440000000312612035744531030077 0ustar dokousers// Test for method java.io.StreamCorruptedException.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.StreamCorruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.StreamCorruptedException; /** * Test for method java.io.StreamCorruptedException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StreamCorruptedException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/io/StreamCorruptedException/classInfo/getSuperclass.java0000644000175000001440000000324112035744531030170 0ustar dokousers// Test for method java.io.StreamCorruptedException.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.StreamCorruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.StreamCorruptedException; /** * Test for method java.io.StreamCorruptedException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StreamCorruptedException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.io.ObjectStreamException"); } } mauve-20140821/gnu/testlet/java/io/StreamCorruptedException/classInfo/InstanceOf.java0000644000175000001440000000406312035744531027400 0ustar dokousers// Test for instanceof operator applied to a class java.io.StreamCorruptedException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.StreamCorruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.StreamCorruptedException; import java.io.ObjectStreamException; import java.io.IOException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.io.StreamCorruptedException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StreamCorruptedException StreamCorruptedException o = new StreamCorruptedException("xyzzy"); // basic check of instanceof operator harness.check(o instanceof StreamCorruptedException); // check operator instanceof against all superclasses harness.check(o instanceof ObjectStreamException); harness.check(o instanceof IOException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/io/StreamCorruptedException/classInfo/isInterface.java0000644000175000001440000000311612035744531027601 0ustar dokousers// Test for method java.io.StreamCorruptedException.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.StreamCorruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.StreamCorruptedException; /** * Test for method java.io.StreamCorruptedException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StreamCorruptedException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/io/StreamCorruptedException/classInfo/isAssignableFrom.java0000644000175000001440000000317612035744531030603 0ustar dokousers// Test for method java.io.StreamCorruptedException.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.StreamCorruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.StreamCorruptedException; /** * Test for method java.io.StreamCorruptedException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StreamCorruptedException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(StreamCorruptedException.class)); } } mauve-20140821/gnu/testlet/java/io/StreamCorruptedException/classInfo/isLocalClass.java0000644000175000001440000000312212035744531027716 0ustar dokousers// Test for method java.io.StreamCorruptedException.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.StreamCorruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.StreamCorruptedException; /** * Test for method java.io.StreamCorruptedException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StreamCorruptedException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/io/StreamCorruptedException/classInfo/getName.java0000644000175000001440000000313312035744531026724 0ustar dokousers// Test for method java.io.StreamCorruptedException.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.StreamCorruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.StreamCorruptedException; /** * Test for method java.io.StreamCorruptedException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StreamCorruptedException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.io.StreamCorruptedException"); } } mauve-20140821/gnu/testlet/java/io/DataInputOutput/0000755000175000001440000000000012375316426020675 5ustar dokousersmauve-20140821/gnu/testlet/java/io/CharConversionException/0000755000175000001440000000000012375316426022365 5ustar dokousersmauve-20140821/gnu/testlet/java/io/CharConversionException/constructor.java0000644000175000001440000000374512011153707025612 0ustar dokousers// Test if instances of a class java.io.CharConversionException could be properly constructed // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.CharConversionException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.CharConversionException; /** * Test if instances of a class java.io.CharConversionException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { CharConversionException object1 = new CharConversionException(); harness.check(object1 != null); harness.check(object1.toString(), "java.io.CharConversionException"); CharConversionException object2 = new CharConversionException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.io.CharConversionException: nothing happens"); CharConversionException object3 = new CharConversionException(null); harness.check(object3 != null); harness.check(object3.toString(), "java.io.CharConversionException"); } } mauve-20140821/gnu/testlet/java/io/CharConversionException/TryCatch.java0000644000175000001440000000330612011153707024737 0ustar dokousers// Test if try-catch block is working properly for a class java.io.CharConversionException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.CharConversionException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.CharConversionException; /** * Test if try-catch block is working properly for a class java.io.CharConversionException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new CharConversionException("CharConversionException"); } catch (CharConversionException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/io/CharConversionException/classInfo/0000755000175000001440000000000012375316426024306 5ustar dokousersmauve-20140821/gnu/testlet/java/io/CharConversionException/classInfo/getPackage.java0000644000175000001440000000315212011153711027164 0ustar dokousers// Test for method java.io.CharConversionException.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.CharConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.CharConversionException; /** * Test for method java.io.CharConversionException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new CharConversionException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.io"); } } mauve-20140821/gnu/testlet/java/io/CharConversionException/classInfo/getInterfaces.java0000644000175000001440000000321412011153711027713 0ustar dokousers// Test for method java.io.CharConversionException.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.CharConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.CharConversionException; import java.util.List; import java.util.Arrays; /** * Test for method java.io.CharConversionException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new CharConversionException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/io/CharConversionException/classInfo/getModifiers.java0000644000175000001440000000440512011153711027554 0ustar dokousers// Test for method java.io.CharConversionException.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.CharConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.CharConversionException; import java.lang.reflect.Modifier; /** * Test for method java.io.CharConversionException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new CharConversionException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/io/CharConversionException/classInfo/isPrimitive.java0000644000175000001440000000311112011153711027430 0ustar dokousers// Test for method java.io.CharConversionException.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.CharConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.CharConversionException; /** * Test for method java.io.CharConversionException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new CharConversionException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/io/CharConversionException/classInfo/getSimpleName.java0000644000175000001440000000314512011153711027665 0ustar dokousers// Test for method java.io.CharConversionException.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.CharConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.CharConversionException; /** * Test for method java.io.CharConversionException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new CharConversionException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "CharConversionException"); } } mauve-20140821/gnu/testlet/java/io/CharConversionException/classInfo/isSynthetic.java0000644000175000001440000000311112011153711027432 0ustar dokousers// Test for method java.io.CharConversionException.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.CharConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.CharConversionException; /** * Test for method java.io.CharConversionException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new CharConversionException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/io/CharConversionException/classInfo/isInstance.java0000644000175000001440000000315012011153711027227 0ustar dokousers// Test for method java.io.CharConversionException.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.CharConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.CharConversionException; /** * Test for method java.io.CharConversionException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new CharConversionException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new CharConversionException("xyzzy"))); } } mauve-20140821/gnu/testlet/java/io/CharConversionException/classInfo/isMemberClass.java0000644000175000001440000000312112011153711027656 0ustar dokousers// Test for method java.io.CharConversionException.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.CharConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.CharConversionException; /** * Test for method java.io.CharConversionException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new CharConversionException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/io/CharConversionException/classInfo/getSuperclass.java0000644000175000001440000000322212011153711027753 0ustar dokousers// Test for method java.io.CharConversionException.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.CharConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.CharConversionException; /** * Test for method java.io.CharConversionException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new CharConversionException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.io.IOException"); } } mauve-20140821/gnu/testlet/java/io/CharConversionException/classInfo/InstanceOf.java0000644000175000001440000000371212011153711027164 0ustar dokousers// Test for instanceof operator applied to a class java.io.CharConversionException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.CharConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.CharConversionException; import java.io.IOException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.io.CharConversionException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class CharConversionException CharConversionException o = new CharConversionException("xyzzy"); // basic check of instanceof operator harness.check(o instanceof CharConversionException); // check operator instanceof against all superclasses harness.check(o instanceof IOException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/io/CharConversionException/classInfo/isInterface.java0000644000175000001440000000311112011153711027360 0ustar dokousers// Test for method java.io.CharConversionException.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.CharConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.CharConversionException; /** * Test for method java.io.CharConversionException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new CharConversionException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/io/CharConversionException/classInfo/isAssignableFrom.java0000644000175000001440000000317012011153711030361 0ustar dokousers// Test for method java.io.CharConversionException.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.CharConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.CharConversionException; /** * Test for method java.io.CharConversionException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new CharConversionException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(CharConversionException.class)); } } mauve-20140821/gnu/testlet/java/io/CharConversionException/classInfo/isLocalClass.java0000644000175000001440000000311512011153711027504 0ustar dokousers// Test for method java.io.CharConversionException.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.CharConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.CharConversionException; /** * Test for method java.io.CharConversionException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new CharConversionException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/io/CharConversionException/classInfo/getName.java0000644000175000001440000000312512011153711026511 0ustar dokousers// Test for method java.io.CharConversionException.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.CharConversionException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.CharConversionException; /** * Test for method java.io.CharConversionException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new CharConversionException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.io.CharConversionException"); } } mauve-20140821/gnu/testlet/java/io/BufferedOutputStream/0000755000175000001440000000000012375316426021702 5ustar dokousersmauve-20140821/gnu/testlet/java/io/BufferedOutputStream/interrupt.java0000644000175000001440000000414707622767673024624 0ustar dokousers// Test to see if InterruptedIOException affects output streams // Copyright (c) 2001 Free Software Foundation // This file is part of Mauve. // Tags: JDK1.1 // Uses: helper package gnu.testlet.java.io.BufferedOutputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class interrupt extends BufferedOutputStream implements Testlet { public interrupt (OutputStream out, int size) { super (out, size); } public interrupt () { super (null); } private int getCount() { return this.count; } public void test (TestHarness harness) { // We create an output stream that will throw an // InterruptedIOException after 10 bytes are written. Then we // wrap it in a buffered output stream with a buffer that is a bit // smaller than that -- but not a nice multiple. Finally we write // bytes until we get the interrupt. int BUFFER = 7; helper h = new helper (10); interrupt out = new interrupt (h, BUFFER); boolean ok = false; int i = -1; int xfer = -1; try { for (i = 0; i < BUFFER * 2; ++i) out.write (i); out.flush (); } catch (InterruptedIOException ioe) { xfer = ioe.bytesTransferred; ok = true; } catch (IOException _) { } harness.check (ok, "single-byte writes"); // The flush() will cause the second buffer to be written. This // will only write 3 bytes, though. harness.check (xfer, 3); harness.check (i, BUFFER * 2); // In theory the BufferedOutputStream should notice the // InterruptedIOException and update its internal data structure // accordingly. // harness.check (out.getCount(), 4); h = new helper (10); out = new interrupt (h, BUFFER); byte[] b = new byte[7]; ok = false; xfer = 0; try { for (i = 0; i < 5; ++i) out.write (b); } catch (InterruptedIOException ioe) { xfer = ioe.bytesTransferred; ok = true; } catch (IOException _) { } harness.check (ok, "byte array writes"); harness.check (xfer, 3); harness.check (i, 1); } } mauve-20140821/gnu/testlet/java/io/BufferedOutputStream/Test.java0000644000175000001440000000443007567236674023502 0ustar dokousers/************************************************************************* /* Test.java -- Test (Buffered,ByteArray)OutputStream /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* Modified by Daryl Lee (dolee@sources.redhat.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.BufferedOutputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class Test implements Testlet { public void test(TestHarness harness) { try { ByteArrayOutputStream baos = new ByteArrayOutputStream(24); BufferedOutputStream bos = new BufferedOutputStream(baos, 12); String str = "The Kroger on College Mall Rd. in Bloomington\n" + "used to sell Kroger brand frozen pizzas for 68 cents.\n" + "I ate a lot of those in college. It was kind of embarrassing\n" + "walking out of the grocery with nothing but 15 frozen pizzas.\n"; boolean passed = true; byte[] buf = str.getBytes(); bos.write(buf, 0, 5); harness.check(baos.toByteArray().length, 0, "buffering/toByteArray"); bos.write(buf, 5, 8); bos.write(buf, 13, 12); bos.write(buf[25]); bos.write(buf, 26, buf.length - 26); bos.close(); String str2 = new String(baos.toByteArray()); harness.check(str, str2, "did all bytes come through?"); harness.debug(str2, false); } catch(IOException e) { harness.debug(e); harness.check(false); } } } // class Test mauve-20140821/gnu/testlet/java/io/BufferedOutputStream/helper.java0000644000175000001440000000164610057633051024022 0ustar dokousers// Helper for // Copyright (c) 2001 Free Software Foundation // This file is part of Mauve. // Tags: not-a-test package gnu.testlet.java.io.BufferedOutputStream; import java.io.*; public class helper extends OutputStream { // Number of bytes we've read. int count; // When we should stop. int stop; public helper (int size) { stop = size; } private void update (int howmuch) throws InterruptedIOException { if (count + howmuch > stop) { InterruptedIOException ioe = new InterruptedIOException (); ioe.bytesTransferred = stop - count; count = stop; throw ioe; } count += howmuch; } public void write (int b) throws InterruptedIOException { update (1); } public void write (byte[] b, int off, int len) throws InterruptedIOException { if (off < 0 || len < 0 || off + len > b.length) throw new ArrayIndexOutOfBoundsException (); update (len); } } mauve-20140821/gnu/testlet/java/io/PushbackInputStream/0000755000175000001440000000000012375316426021517 5ustar dokousersmauve-20140821/gnu/testlet/java/io/PushbackInputStream/BufferOverflow.java0000644000175000001440000000363506640000434025311 0ustar dokousers/************************************************************************* /* BufferOverflow.java -- Tests PushbackInputStream buffer overflows. /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.PushbackInputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class BufferOverflow implements Testlet { public void test(TestHarness harness) { String str = "Once when I was in fourth grade, my friend Lloyd\n" + "Saltsgaver and I got in trouble for kicking a bunch of\n" + "Kindergartners off the horse swings so we could play a game\n" + "of 'road hog'\n"; try { PushbackInputStream pist = new PushbackInputStream( new StringBufferInputStream(str), 10); byte[] read_buf = new byte[12]; pist.read(read_buf); pist.unread(read_buf); harness.debug("Failed overflow test"); harness.check(false); } catch(IOException e) { harness.debug("Got expected exception: " + e); harness.check(true); } } } // class BufferOverflow mauve-20140821/gnu/testlet/java/io/PushbackInputStream/ProtectedVars.java0000644000175000001440000000354606640000434025142 0ustar dokousers/************************************************************************* /* ProtectedVars.java -- Test PushbackInputStream protected variables. /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.PushbackInputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class ProtectedVars extends PushbackInputStream implements Testlet { public ProtectedVars(InputStream is, int size) { super(is, size); } // For the test suite public ProtectedVars() { super(null); } public void test(TestHarness harness) { String str = "Once when I was in fourth grade, my friend Lloyd\n" + "Saltsgaver and I got in trouble for kicking a bunch of\n" + "Kindergartners off the horse swings so we could play a game\n" + "of 'road hog'\n"; ProtectedVars pv = new ProtectedVars(new StringBufferInputStream(str), 15); harness.check(pv.pos, pv.buf.length, "pst == buf.length"); harness.check(pv.buf.length, 15, "buf.length"); } } // class ProtectedVars mauve-20140821/gnu/testlet/java/io/PushbackInputStream/Unread.java0000644000175000001440000000513607556652147023615 0ustar dokousers/************************************************************************* /* Unread.java -- PushbackInputStream basic unread tests. /* /* Copyright (c) 1998, 1999 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.PushbackInputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class Unread implements Testlet { public void test(TestHarness harness) { String str = "Once when I was in fourth grade, my friend Lloyd\n" + "Saltsgaver and I got in trouble for kicking a bunch of\n" + "Kindergartners off the horse swings so we could play a game\n" + "of 'road hog'\n"; try { PushbackInputStream pist = new PushbackInputStream( new StringBufferInputStream(str), 15); harness.check(pist.available(), str.length(), "available()"); harness.check(!pist.markSupported(), "markSupported()"); byte[] read_buf1 = new byte[12]; byte[] read_buf2 = new byte[12]; pist.read(read_buf1); pist.unread(read_buf1); pist.read(read_buf2); for (int i = 0; i < read_buf1.length; i++) { if (read_buf1[i] != read_buf2[i]) throw new IOException("Re-reading bytes gave different results"); } pist.unread(read_buf2, 1, read_buf2.length - 1); pist.unread(read_buf2[0]); int bytes_read, total_read = 0; while ((bytes_read = pist.read(read_buf1)) != -1) { harness.debug(new String(read_buf1, 0, bytes_read), false); total_read += bytes_read; } harness.debug(str); harness.check(total_read, str.length(), "total_read == str.length()"); } catch(IOException e) { harness.debug(e); harness.check(false); } } } // class Unread mauve-20140821/gnu/testlet/java/io/ObjectOutputStream/0000755000175000001440000000000012375316426021366 5ustar dokousersmauve-20140821/gnu/testlet/java/io/ObjectOutputStream/StreamDataTest.java0000644000175000001440000001063010205034514025077 0ustar dokousers// Tags: JDK1.1 /* Copyright (c) 2005 by Free Software Foundation, Inc. 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, version 2. (see COPYING) 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 Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA */ package gnu.testlet.java.io.ObjectOutputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.ObjectOutputStream; import java.io.ObjectInputStream; import java.io.ObjectStreamConstants; import java.io.IOException; import java.io.ByteArrayOutputStream; import java.io.ByteArrayInputStream; /* Basic tests for ObjectOutputStream compliance with the serialization data stream specification. */ public class StreamDataTest implements Testlet { static int offset = 0; static byte[] streamData; static boolean compare(int[] expectedData) { try { for (int i=0; i < expectedData.length; i++) if (streamData[offset + i] != (byte) (expectedData[i] & 0xff)) return false; } finally { offset += expectedData.length; } return true; } public void test(TestHarness harness) { try { checkStream(harness); } catch (IOException x) { harness.fail(x.toString()); } } public void checkStream(TestHarness harness) throws IOException { ByteArrayOutputStream os = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(os); oos.useProtocolVersion(ObjectStreamConstants.PROTOCOL_VERSION_2); oos.writeInt(1); oos.writeShort((short) 7); oos.writeFloat(9.96601f); oos.writeLong(-900000000000001l); oos.writeShort((short) -1); oos.writeDouble(Math.PI); oos.writeByte((byte) 'z'); oos.writeDouble(Double.NaN); byte[] bytes = new byte[] {-1,2,-3,4,-5}; oos.writeObject(bytes); oos.writeByte(100); oos.writeChar('X'); oos.close(); streamData = os.toByteArray(); harness.check(streamData.length, 76, "Stream length"); int[] data; data = new int[] {0xac, 0xed}; harness.check(compare(data), "magic"); data = new int[] {0x0, 0x5}; harness.check(compare(data), "version"); data = new int[] {0x77, 0x25}; harness.check(compare(data), "TC_BLOCKDATA"); data = new int[] {0x0, 0x0, 0x0, 0x1}; harness.check(compare(data), "(int) 1"); data = new int[] {0x0, 0x7}; harness.check(compare(data), "(short) 7"); data = new int[] {0x41, 0x1f, 0x74, 0xc7}; harness.check(compare(data), "(float)"); data = new int[] {0xff, 0xfc, 0xcd, 0x74, 0x6b, 0xb3, 0xbf, 0xff}; harness.check(compare(data), "(long)"); data = new int[] {0xff, 0xff}; harness.check(compare(data), "(short) -1"); data = new int[] {0x40, 0x9, 0x21, 0xfb, 0x54, 0x44, 0x2d, 0x18}; harness.check(compare(data), "(double) Math.PI"); data = new int[] {0x7a}; harness.check(compare(data), "(byte) 'z'"); data = new int[] {0x7f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}; harness.check(compare(data), "(double) Double.NaN"); data = new int[] {0x75}; harness.check(compare(data), "TC_NEWARRAY"); data = new int[] {0x72}; harness.check(compare(data), "TC_CLASSDESC"); data = new int[] {0x0, 0x2, 0x5b, 0x42}; harness.check(compare(data), "[B"); data = new int[] {0xac, 0xf3, 0x17, 0xf8, 0x6, 0x8, 0x54, 0xe0}; harness.check(compare(data), "SerialVersionUID"); data = new int[] {0x2, 0x0, 0x0, 0x78}; harness.check(compare(data), "Handle"); data = new int[] {0x70}; harness.check(compare(data), "ClassDescInfo"); data = new int[] {0x0, 0x0, 0x0, 0x5}; harness.check(compare(data), "array size (int) 5"); data = new int[] {0xff, 0x2, 0xfd, 0x4, 0xfb}; harness.check(compare(data), "int[] array data"); data = new int[] {0x77, 0x3}; harness.check(compare(data), "TC_BLOCKDATA"); data = new int[] {0x64}; harness.check(compare(data), "(byte) 100"); data = new int[] {0x0, 0x58}; harness.check(compare(data), "(char) 'X'"); } } mauve-20140821/gnu/testlet/java/io/ObjectOutputStream/security.java0000644000175000001440000001230511470254007024070 0ustar dokousers// Copyright (C) 2006, 2007 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 package gnu.testlet.java.io.ObjectOutputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectOutputStream; import java.io.OutputStream; import java.io.SerializablePermission; import java.security.Permission; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.TestSecurityManager; public class security implements Testlet { public void test(TestHarness harness) { try { TestObjectOutputStream teststream = new TestObjectOutputStream(); Permission[] enableSubclassImplementation = new Permission[] { new SerializablePermission("enableSubclassImplementation")}; Permission[] enableSubstitution = new Permission[] { new SerializablePermission("enableSubstitution")}; Permission[] noPerms = new Permission[] {}; TestSecurityManager sm = new TestSecurityManager(harness); try { sm.install(); // throwpoint: java.io.ObjectOutputStream-ObjectOutputStream harness.checkPoint("constructor"); try { sm.prepareChecks(enableSubclassImplementation); new TestObjectOutputStream(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.io.ObjectOutputStream-ObjectOutputStream harness.checkPoint("constructor with outputstream, no overrides"); try { sm.prepareChecks(noPerms); new TestObjectOutputStream(new ByteArrayOutputStream()); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.io.ObjectOutputStream-ObjectOutputStream harness.checkPoint("constructor with outputstream, putFields override"); try { sm.prepareChecks(enableSubclassImplementation); new TestObjectOutputStream2(new ByteArrayOutputStream()); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.io.ObjectOutputStream-ObjectOutputStream harness.checkPoint("constructor with outputstream, writeUnshared overrides"); try { sm.prepareChecks(enableSubclassImplementation); new TestObjectOutputStream3(new ByteArrayOutputStream()); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.io.ObjectOutputStream-enableReplaceObject harness.checkPoint("enableReplaceObject"); try { sm.prepareChecks(noPerms); teststream.testEnableReplaceObject(false); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } try { sm.prepareChecks(enableSubstitution); teststream.testEnableReplaceObject(true); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } finally { sm.uninstall(); } } catch (Exception ex) { harness.debug(ex); harness.check(false, "Unexpected exception"); } } private static class TestObjectOutputStream extends ObjectOutputStream { public TestObjectOutputStream() throws IOException { super(); } public TestObjectOutputStream(OutputStream out) throws IOException { super(out); } public boolean testEnableReplaceObject(boolean enable) { return enableReplaceObject(enable); } } private static class TestObjectOutputStream2 extends ObjectOutputStream { public TestObjectOutputStream2(OutputStream out) throws IOException { super(out); } public ObjectOutputStream.PutField putFields() throws IOException { return null; } } private static class TestObjectOutputStream3 extends ObjectOutputStream { public TestObjectOutputStream3(OutputStream out) throws IOException { super(out); } public void writeUnshared(Object obj) throws IOException { } } } mauve-20140821/gnu/testlet/java/io/ObjectOutputStream/useProtocolVersion.java0000644000175000001440000000561510410573661026116 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2006 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 51 Franklin Street, Fifth Floor, //Boston, MA, 02110-1301 USA. package gnu.testlet.java.io.ObjectOutputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectOutputStream; import java.io.ObjectStreamConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests the correct behaviour of useProtocolVersion */ public class useProtocolVersion implements Testlet { public void test(TestHarness harness) { try { String toSerialize = "Hello"; ByteArrayOutputStream bytes = new ByteArrayOutputStream(); ObjectOutputStream out = new ObjectOutputStream(bytes); try { // setting must be allowed out.useProtocolVersion(ObjectStreamConstants.PROTOCOL_VERSION_1); harness.check(true); } catch (RuntimeException e) { harness.check(false); } // if only normal data is written // a subsequent call to useProtocolVersion must succeed also out.writeInt(4); try { out.useProtocolVersion(ObjectStreamConstants.PROTOCOL_VERSION_1); harness.check(true); } catch (IllegalStateException e) { harness.check(false); } // as soon as the first object is serialized // subsequent calls must throw an exception out.writeObject(toSerialize); try { out.useProtocolVersion(ObjectStreamConstants.PROTOCOL_VERSION_1); harness.check(false); } catch (IllegalStateException e) { harness.check(true); } // use new stream out = new ObjectOutputStream(bytes); // wrong versions must throw IllegalArgumentException try { out.useProtocolVersion(4); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } catch (IOException e) { harness.fail("Unexpected exception occured."); harness.debug(e); } } } mauve-20140821/gnu/testlet/java/io/DataInputStream/0000755000175000001440000000000012375316426020630 5ustar dokousersmauve-20140821/gnu/testlet/java/io/DataInputStream/reference2.data0000644000175000001440000000007507553340155023503 0ustar dokousersRandom String OneRandom String TwoXabcdef Òmauve-20140821/gnu/testlet/java/io/DataInputStream/ReadStream.java0000644000175000001440000000475407576450776023552 0ustar dokousers/************************************************************************* /* ReadStream.java -- To a DataInput test from a stream /* /* Copyright (c) 1998, 1999 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: not-a-test package gnu.testlet.java.io.DataInputStream; import java.io.*; import gnu.testlet.TestHarness; // Write some data using DataOutput and read it using DataInput. public class ReadStream { // NOTE: Same function is in gnu.testlet.java.io.DataOutputStream.WriteRead // Please change that copy when you change this copy public static void runReadTest(DataInputStream dis, TestHarness harness) { try { harness.check(dis.readBoolean(), "readBoolean() true"); harness.check(!dis.readBoolean(), "readBoolean() false"); harness.check(dis.readByte(), 8, "readByte()"); harness.check(dis.readByte(), -122, "readByte()"); harness.check(dis.readChar(), 'a', "readChar()"); harness.check(dis.readChar(), '\uE2D2', "readChar()"); harness.check(dis.readShort(), 32000, "readShort()"); harness.check(dis.readInt(), 8675309, "readInt()"); harness.check(dis.readLong(), 696969696969L, "readLong()"); harness.check(Float.toString(dis.readFloat()), "3.1415", "readFloat()"); harness.check(dis.readDouble(), 999999999.999, "readDouble"); harness.check((String)dis.readUTF(), "Testing code is such a boring activity but it must be done", "readUTF()"); harness.check(dis.readUTF(), "a-->\u01FF\uA000\u6666\u0200RRR", "readUTF()"); } catch (IOException e) { harness.debug(e); harness.check(false, "Reading DataInputStream"); } } } // class ReadStream mauve-20140821/gnu/testlet/java/io/DataInputStream/ReadReference2.java0000644000175000001440000000347007553340155024251 0ustar dokousers/************************************************************************* /* ReadReference2.java -- Tests Data{Input,Output}Stream's /* /* Copyright (c) 1998, 1999 Free Software Foundation, Inc. /* Written by Daryl Lee (dol@sources.redhat.com) /* Shameless ripoff of ReadReference.java by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 // Uses: ReadStream2 package gnu.testlet.java.io.DataInputStream; import java.io.*; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class ReadReference2 implements Testlet { public void test(TestHarness harness) { try { InputStream is = harness.getResourceStream( "gnu#testlet#java#io#DataInputStream#reference2.data"); DataInputStream dis = new DataInputStream(is); harness.debug("Reading reference DataInput data, set 2"); ReadStream2.runReadTest(dis, harness); dis.close(); } catch (Exception e) { harness.debug(e); harness.check(false, "Read reference DataInput data (2)"); } } } // class ReadReference2 mauve-20140821/gnu/testlet/java/io/DataInputStream/readLine.java0000644000175000001440000000470710212026161023204 0ustar dokousers// Tags: JDK1.1 /* Copyright (C) 1999 Cygnus Solutions This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.io.DataInputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; public class readLine implements Testlet { private static void check(TestHarness harness, String input, String[] expected, int separator) { DataInputStream din = new DataInputStream(new ByteArrayInputStream(input.getBytes())); for (int i = 0; i < expected.length; i++) { try { harness.check(din.readLine(), expected[i]); if (separator != -1) harness.check(din.read() == separator, "missing separator in: " + input); } catch(Exception x) { harness.fail("unexpected exception " + x); } } try { harness.check(din.readLine(), null); } catch(Exception x) { harness.fail("unexpected exception " + x); } } public void test (TestHarness harness) { check(harness, "", new String[] {}, -1); check(harness, "\n", new String[] { "" }, -1); check(harness, "\r", new String[] { "" }, -1); check(harness, "\r\n", new String[] { "" }, -1); check(harness, "\n\r", new String[] { "", "" }, -1); check(harness, "\r\nfoo", new String[] { "", "foo" }, -1); check(harness, "foo\r\nbar", new String[] { "foo", "bar" }, -1); check(harness, "foo\rbar", new String[] { "foo", "bar" }, -1); check(harness, "foo\nbar", new String[] { "foo", "bar" }, -1); check(harness, "foo\r\n:bar\n:", new String[] { "foo", "bar" }, ':'); check(harness, "foo\r\n:bar\r:", new String[] { "foo", "bar" }, ':'); check(harness, "foo\r\n:bar\r\n:", new String[] { "foo", "bar" }, ':'); } } mauve-20140821/gnu/testlet/java/io/DataInputStream/ReadReference.java0000644000175000001440000000332607550706251024167 0ustar dokousers/************************************************************************* /* ReadReference.java -- Tests Data{Input,Output}Stream's /* /* Copyright (c) 1998, 1999 Free Software Foundation, Inc. /* Written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.0 // Uses: ReadStream package gnu.testlet.java.io.DataInputStream; import java.io.*; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class ReadReference implements Testlet { public void test(TestHarness harness) { try { InputStream is = harness.getResourceStream( "gnu#testlet#java#io#DataInputStream#reference.data"); DataInputStream dis = new DataInputStream(is); harness.debug("Reading reference DataInput data"); ReadStream.runReadTest(dis, harness); dis.close(); } catch (Exception e) { harness.debug(e); harness.check(false, "Read reference DataInput data"); } } } // class ReadReference mauve-20140821/gnu/testlet/java/io/DataInputStream/reference.data0000644000175000001440000000016107550706251023415 0ustar dokousers†aâÒ}„_í¢F¡–É@IVAÍÍdÿÿß;:Testing code is such a boring activity but it must be donea-->ǿꀀ晦ȀRRRmauve-20140821/gnu/testlet/java/io/DataInputStream/ReadStream2.java0000644000175000001440000000464107576450776023627 0ustar dokousers/************************************************************************* /* ReadStream2.java -- To a DataInput test from a stream /* /* Copyright (c) 1998, 1999 Free Software Foundation, Inc. /* Written by Daryl Lee /* Shameless ripoff of ReadStream.java by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: not-a-test // This test includes tests not performed in ReadStream package gnu.testlet.java.io.DataInputStream; import java.io.*; import gnu.testlet.TestHarness; // Read data previously prepared public class ReadStream2 { // NOTE same function is in gnu.testlet.java.io.DataOutputStream.WriteRead2 // Please change it in that place to if you change it here. public static void runReadTest(DataInputStream dis, TestHarness harness) { String s2 = "Random"; byte[] b2 = new byte[s2.length()]; String s3 = " String Two"; byte[] b3 = new byte[s3.length()]; try { dis.skipBytes(34); // skip over "writeChars(Random String One)" dis.readFully(b2); // get "Random" harness.check(s2, new String(b2), "readFully(buf)"); dis.readFully(b3, 0, b3.length); // get " String Two" harness.check(s3, new String(b3), "readFully(buf, off, len)"); dis.read(b2, 0, 1); harness.check('X', b2[0], "read(b[])"); dis.read(b2, 0, 6); String s4 = new String(b2); harness.check("abcdef", s4, "read(b, off, len)"); harness.check(12, dis.readUnsignedByte(), "readUnsignedByte()"); harness.check(1234, dis.readUnsignedShort(), "readUnsignedShort()"); } catch (IOException e) { harness.debug(e); harness.check(false, "Reading DataInputStream (2)"); } } } // class ReadStream mauve-20140821/gnu/testlet/java/io/StringReader/0000755000175000001440000000000012375316426020154 5ustar dokousersmauve-20140821/gnu/testlet/java/io/StringReader/Test.java0000644000175000001440000000547207603076120021736 0ustar dokousers/************************************************************************* /* Test.java -- Test StringReader /* /* Copyright (c) 1998 Free Software Foundation, Inc. /* Adapted by Daryl Lee (dolee@sources.redhat.com) from StringWriter, /* written by Aaron M. Renn (arenn@urbanophile.com) /* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.io.StringReader; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.StringReader; import java.io.IOException; public class Test implements Testlet { public void test(TestHarness harness) { String str = "There are a ton of great places to see live, original\n" + "music in Chicago. Places like Lounge Ax, Schuba's, the Empty\n" + "Bottle, and even the dreaded Metro with their sometimes asshole\n" + "bouncers.\n"; StringReader sr = new StringReader(str); harness.check(true, "StringReader(String)"); try { // 1.2 API adds this exception, not in 1.1 harness.check(sr.ready(), "ready()"); } catch (IOException e) { harness.fail("Unexpected IOException on ready()"); } harness.check(sr.markSupported(), "markSupported()"); try { sr.mark(0); // For this class, readahead limit should be ignored harness.check(true, "mark()"); } catch (IOException e) { harness.fail("mark() should not throw exception"); } char[] buf = new char[4]; try { sr.read(buf, 0, 4); } catch (IOException e) { harness.fail("Unexpected IOException on read(buf, off, len)"); } String bufstr = new String(buf); harness.check(bufstr, "Ther", "read(buf, off, len)"); try { // 1.1 API does not correctly document this exception sr.reset(); } catch (IOException e) { harness.fail("Unexpected IOException on reset()"); } harness.check(true, "reset()"); try { sr.skip(7); } catch (IOException e) { harness.fail("Unexpected IOException on skip()"); } try { harness.check(sr.read(), 'r', "skip(), read()"); } catch (IOException e) { harness.fail("Unexpected IOException on read()"); } sr.close(); harness.check(true, "close()"); } } // class Test mauve-20140821/gnu/testlet/java/io/FilterWriter/0000755000175000001440000000000012375316426020205 5ustar dokousersmauve-20140821/gnu/testlet/java/io/FilterWriter/write.java0000644000175000001440000000420010057633053022167 0ustar dokousers// Tags: JDK1.1 // Uses: MyFilterWriter // Copyright (C) 2002 Free Software Foundation, Inc. // Written by Daryl Lee (dolee@sources.redhat.com) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.io.FilterWriter; import java.io.CharArrayWriter; import java.io.FilterWriter; import java.io.IOException; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class write implements Testlet { public void test (TestHarness harness) { CharArrayWriter caw = new CharArrayWriter(); FilterWriter tfw = new MyFilterWriter(caw); try { tfw.write('A'); // A harness.check(true, "write(int)"); char[] ba = {'A', 'B', 'C', 'D'}; tfw.write(ba, 1, 2); // ABC harness.check(true, "write(buf,off,len)"); tfw.write("CDEF", 1, 3); // ABCDEF harness.check(caw.toString(), "ABCDEF", "wrote all characters okay"); tfw.flush(); harness.check(true, "flush()"); tfw.close(); harness.check(true, "close()"); } catch (IOException e) { harness.debug(e); harness.fail("IOException unexpected"); } try { // The documented JDK 1.4 behaviour is to throw NullPointerException // if the constructor arg is null. new MyFilterWriter(null); harness.check(false, "new MyFilterWriter(null) -> no exception"); } catch (NullPointerException ex) { harness.check(true, "new MyFilterWriter(null) -> NullPointerException"); } } } mauve-20140821/gnu/testlet/java/io/FilterWriter/MyFilterWriter.java0000644000175000001440000000213410057633053023771 0ustar dokousers// Tags: not-a-test // Copyright (C) 2002 Free Software Foundation, Inc. // Written by Daryl Lee (dolee@sources.redhat.com) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.io.FilterWriter; import java.io.CharArrayWriter; import java.io.FilterWriter; import java.io.Writer; public class MyFilterWriter extends FilterWriter { public MyFilterWriter(CharArrayWriter caw) { super((Writer) caw); } } mauve-20140821/gnu/testlet/java/io/UnsupportedEncodingException/0000755000175000001440000000000012375316426023441 5ustar dokousersmauve-20140821/gnu/testlet/java/io/UnsupportedEncodingException/constructor.java0000644000175000001440000000404612037526464026675 0ustar dokousers// Test if instances of a class java.io.UnsupportedEncodingException could be properly constructed // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.UnsupportedEncodingException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.UnsupportedEncodingException; /** * Test if instances of a class java.io.UnsupportedEncodingException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { UnsupportedEncodingException object1 = new UnsupportedEncodingException(); harness.check(object1 != null); harness.check(object1.toString(), "java.io.UnsupportedEncodingException"); UnsupportedEncodingException object2 = new UnsupportedEncodingException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.io.UnsupportedEncodingException: nothing happens"); UnsupportedEncodingException object3 = new UnsupportedEncodingException(null); harness.check(object3 != null); harness.check(object3.toString(), "java.io.UnsupportedEncodingException"); } } mauve-20140821/gnu/testlet/java/io/UnsupportedEncodingException/TryCatch.java0000644000175000001440000000335112037526464026027 0ustar dokousers// Test if try-catch block is working properly for a class java.io.UnsupportedEncodingException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.UnsupportedEncodingException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.UnsupportedEncodingException; /** * Test if try-catch block is working properly for a class java.io.UnsupportedEncodingException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new UnsupportedEncodingException("UnsupportedEncodingException"); } catch (UnsupportedEncodingException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/io/UnsupportedEncodingException/classInfo/0000755000175000001440000000000012375316426025362 5ustar dokousersmauve-20140821/gnu/testlet/java/io/UnsupportedEncodingException/classInfo/getPackage.java0000644000175000001440000000320312037526465030257 0ustar dokousers// Test for method java.io.UnsupportedEncodingException.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.UnsupportedEncodingException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.UnsupportedEncodingException; /** * Test for method java.io.UnsupportedEncodingException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new UnsupportedEncodingException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.io"); } } mauve-20140821/gnu/testlet/java/io/UnsupportedEncodingException/classInfo/getInterfaces.java0000644000175000001440000000324512037526465031015 0ustar dokousers// Test for method java.io.UnsupportedEncodingException.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.UnsupportedEncodingException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.UnsupportedEncodingException; import java.util.List; import java.util.Arrays; /** * Test for method java.io.UnsupportedEncodingException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new UnsupportedEncodingException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/io/UnsupportedEncodingException/classInfo/getModifiers.java0000644000175000001440000000443612037526465030656 0ustar dokousers// Test for method java.io.UnsupportedEncodingException.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.UnsupportedEncodingException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.UnsupportedEncodingException; import java.lang.reflect.Modifier; /** * Test for method java.io.UnsupportedEncodingException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new UnsupportedEncodingException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/io/UnsupportedEncodingException/classInfo/isPrimitive.java0000644000175000001440000000314212037526465030532 0ustar dokousers// Test for method java.io.UnsupportedEncodingException.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.UnsupportedEncodingException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.UnsupportedEncodingException; /** * Test for method java.io.UnsupportedEncodingException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new UnsupportedEncodingException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/io/UnsupportedEncodingException/classInfo/getSimpleName.java0000644000175000001440000000320312037526465030756 0ustar dokousers// Test for method java.io.UnsupportedEncodingException.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.UnsupportedEncodingException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.UnsupportedEncodingException; /** * Test for method java.io.UnsupportedEncodingException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new UnsupportedEncodingException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "UnsupportedEncodingException"); } } mauve-20140821/gnu/testlet/java/io/UnsupportedEncodingException/classInfo/isSynthetic.java0000644000175000001440000000314212037526465030534 0ustar dokousers// Test for method java.io.UnsupportedEncodingException.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.UnsupportedEncodingException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.UnsupportedEncodingException; /** * Test for method java.io.UnsupportedEncodingException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new UnsupportedEncodingException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/io/UnsupportedEncodingException/classInfo/isInstance.java0000644000175000001440000000320612037526465030327 0ustar dokousers// Test for method java.io.UnsupportedEncodingException.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.UnsupportedEncodingException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.UnsupportedEncodingException; /** * Test for method java.io.UnsupportedEncodingException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new UnsupportedEncodingException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new UnsupportedEncodingException("xyzzy"))); } } mauve-20140821/gnu/testlet/java/io/UnsupportedEncodingException/classInfo/isMemberClass.java0000644000175000001440000000315212037526465030760 0ustar dokousers// Test for method java.io.UnsupportedEncodingException.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.UnsupportedEncodingException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.UnsupportedEncodingException; /** * Test for method java.io.UnsupportedEncodingException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new UnsupportedEncodingException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/io/UnsupportedEncodingException/classInfo/getSuperclass.java0000644000175000001440000000325312037526465031055 0ustar dokousers// Test for method java.io.UnsupportedEncodingException.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.UnsupportedEncodingException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.UnsupportedEncodingException; /** * Test for method java.io.UnsupportedEncodingException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new UnsupportedEncodingException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.io.IOException"); } } mauve-20140821/gnu/testlet/java/io/UnsupportedEncodingException/classInfo/InstanceOf.java0000644000175000001440000000376212037526465030267 0ustar dokousers// Test for instanceof operator applied to a class java.io.UnsupportedEncodingException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.UnsupportedEncodingException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.UnsupportedEncodingException; import java.io.IOException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.io.UnsupportedEncodingException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedEncodingException UnsupportedEncodingException o = new UnsupportedEncodingException("xyzzy"); // basic check of instanceof operator harness.check(o instanceof UnsupportedEncodingException); // check operator instanceof against all superclasses harness.check(o instanceof IOException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/io/UnsupportedEncodingException/classInfo/isInterface.java0000644000175000001440000000314212037526465030462 0ustar dokousers// Test for method java.io.UnsupportedEncodingException.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.UnsupportedEncodingException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.UnsupportedEncodingException; /** * Test for method java.io.UnsupportedEncodingException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new UnsupportedEncodingException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/io/UnsupportedEncodingException/classInfo/isAssignableFrom.java0000644000175000001440000000322612037526465031461 0ustar dokousers// Test for method java.io.UnsupportedEncodingException.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.UnsupportedEncodingException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.UnsupportedEncodingException; /** * Test for method java.io.UnsupportedEncodingException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new UnsupportedEncodingException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(UnsupportedEncodingException.class)); } } mauve-20140821/gnu/testlet/java/io/UnsupportedEncodingException/classInfo/isLocalClass.java0000644000175000001440000000314612037526465030606 0ustar dokousers// Test for method java.io.UnsupportedEncodingException.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.UnsupportedEncodingException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.UnsupportedEncodingException; /** * Test for method java.io.UnsupportedEncodingException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new UnsupportedEncodingException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/io/UnsupportedEncodingException/classInfo/getName.java0000644000175000001440000000316312037526465027611 0ustar dokousers// Test for method java.io.UnsupportedEncodingException.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.io.UnsupportedEncodingException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.UnsupportedEncodingException; /** * Test for method java.io.UnsupportedEncodingException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new UnsupportedEncodingException("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.io.UnsupportedEncodingException"); } } mauve-20140821/gnu/testlet/java/lang/0000755000175000001440000000000012375316450016072 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/IllegalAccessError/0000755000175000001440000000000012375316426021602 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/IllegalAccessError/constructor.java0000644000175000001440000000371112176205205025023 0ustar dokousers// Test if instances of a class java.lang.IllegalAccessError could be properly constructed // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; /** * Test if instances of a class java.lang.IllegalAccessError * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IllegalAccessError object1 = new IllegalAccessError(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.IllegalAccessError"); IllegalAccessError object2 = new IllegalAccessError("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.IllegalAccessError: nothing happens"); IllegalAccessError object3 = new IllegalAccessError(null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.IllegalAccessError"); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/TryCatch.java0000644000175000001440000000330212176205205024153 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.IllegalAccessError // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; /** * Test if try-catch block is working properly for a class java.lang.IllegalAccessError */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new IllegalAccessError("IllegalAccessError"); } catch (IllegalAccessError e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/0000755000175000001440000000000012375316426023523 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/getDeclaredConstructor.java0000644000175000001440000000707512202121475031033 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalAccessError.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.IllegalAccessError", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.IllegalAccessError", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.IllegalAccessError", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.IllegalAccessError", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/getPackage.java0000644000175000001440000000322712203363515026414 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().getPackage() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; /** * Test for method java.lang.IllegalAccessError.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/getDeclaredMethods.java0000644000175000001440000000616112202641672030112 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalAccessError.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/getInterfaces.java0000644000175000001440000000326712203363515027150 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().getInterfaces() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.IllegalAccessError.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/getModifiers.java0000644000175000001440000000446012203363515027002 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().getModifiers() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; import java.lang.reflect.Modifier; /** * Test for method java.lang.IllegalAccessError.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/getDeclaredFields.java0000644000175000001440000000711512202121475027707 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().getDeclaredFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalAccessError.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.IllegalAccessError.serialVersionUID", "serialVersionUID"); // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/getDeclaredConstructors.java0000644000175000001440000001042412202121475031206 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalAccessError.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.IllegalAccessError()", "java.lang.IllegalAccessError"); testedDeclaredConstructors_jdk6.put("public java.lang.IllegalAccessError(java.lang.String)", "java.lang.IllegalAccessError"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.IllegalAccessError()", "java.lang.IllegalAccessError"); testedDeclaredConstructors_jdk7.put("public java.lang.IllegalAccessError(java.lang.String)", "java.lang.IllegalAccessError"); // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/getField.java0000644000175000001440000000551412176716426026121 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().getField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalAccessError.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/getFields.java0000644000175000001440000000565212176716426026307 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().getFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalAccessError.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/isPrimitive.java0000644000175000001440000000316412176205205026665 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; /** * Test for method java.lang.IllegalAccessError.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/getSimpleName.java0000644000175000001440000000321312202366561027111 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; /** * Test for method java.lang.IllegalAccessError.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "IllegalAccessError"); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/getEnclosingClass.java0000644000175000001440000000325112202641672027767 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().getEnclosingClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; /** * Test for method java.lang.IllegalAccessError.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/isAnnotationPresent.java0000644000175000001440000000435212203113431030356 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; /** * Test for method java.lang.IllegalAccessError.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/isSynthetic.java0000644000175000001440000000316412176205205026667 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; /** * Test for method java.lang.IllegalAccessError.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/isAnnotation.java0000644000175000001440000000316212203113431027013 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().isAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; /** * Test for method java.lang.IllegalAccessError.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/isInstance.java0000644000175000001440000000323312202366561026461 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().isInstance(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; /** * Test for method java.lang.IllegalAccessError.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new IllegalAccessError("IllegalAccessError"))); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/getDeclaredMethod.java0000644000175000001440000000612012202641671027721 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalAccessError.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/getDeclaredClasses.java0000644000175000001440000000332512202121475030075 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; /** * Test for method java.lang.IllegalAccessError.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/getComponentType.java0000644000175000001440000000324512176716426027701 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().getComponentType() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; /** * Test for method java.lang.IllegalAccessError.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/getMethod.java0000644000175000001440000001427012176716426026315 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().getMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalAccessError.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/isMemberClass.java0000644000175000001440000000317412176205205027113 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; /** * Test for method java.lang.IllegalAccessError.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/getConstructor.java0000644000175000001440000000703512176416557027425 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().getConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalAccessError.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.IllegalAccessError", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.IllegalAccessError", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.IllegalAccessError", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.IllegalAccessError", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/getSuperclass.java0000644000175000001440000000332012202366561027202 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().getSuperclass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; /** * Test for method java.lang.IllegalAccessError.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.IncompatibleClassChangeError"); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/isEnum.java0000644000175000001440000000313212203113431025602 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().isEnum() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; /** * Test for method java.lang.IllegalAccessError.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/getMethods.java0000644000175000001440000001765212176716426026507 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().getMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalAccessError.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/getAnnotations.java0000644000175000001440000000572512176416557027401 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().getAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.IllegalAccessError.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/InstanceOf.java0000644000175000001440000000407312176205205026412 0ustar dokousers// Test for instanceof operator applied to a class java.lang.IllegalAccessError // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; import java.lang.IncompatibleClassChangeError; import java.lang.LinkageError; import java.lang.Error; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.IllegalAccessError */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessError IllegalAccessError o = new IllegalAccessError("IllegalAccessError"); // basic check of instanceof operator harness.check(o instanceof IllegalAccessError); // check operator instanceof against all superclasses harness.check(o instanceof IncompatibleClassChangeError); harness.check(o instanceof LinkageError); harness.check(o instanceof Error); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/getDeclaringClass.java0000644000175000001440000000325112202641672027736 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().getDeclaringClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; /** * Test for method java.lang.IllegalAccessError.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/getAnnotation.java0000644000175000001440000000503412176416557027207 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().getAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; /** * Test for method java.lang.IllegalAccessError.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/isAnonymousClass.java0000644000175000001440000000320212203113431027652 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().isAnonymousClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; /** * Test for method java.lang.IllegalAccessError.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/getEnclosingMethod.java0000644000175000001440000000327112202641672030144 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; /** * Test for method java.lang.IllegalAccessError.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/isInterface.java0000644000175000001440000000316412202366561026620 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().isInterface(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; /** * Test for method java.lang.IllegalAccessError.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/getConstructors.java0000644000175000001440000001005712176416557027606 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().getConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalAccessError.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.IllegalAccessError()", "java.lang.IllegalAccessError"); testedConstructors_jdk6.put("public java.lang.IllegalAccessError(java.lang.String)", "java.lang.IllegalAccessError"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.IllegalAccessError()", "java.lang.IllegalAccessError"); testedConstructors_jdk7.put("public java.lang.IllegalAccessError(java.lang.String)", "java.lang.IllegalAccessError"); // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/isAssignableFrom.java0000644000175000001440000000323612202366561027614 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; /** * Test for method java.lang.IllegalAccessError.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(IllegalAccessError.class)); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/getDeclaredAnnotations.java0000644000175000001440000000576512202121475031007 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.IllegalAccessError.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/getDeclaredField.java0000644000175000001440000000562512202121475027530 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().getDeclaredField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalAccessError.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/isLocalClass.java0000644000175000001440000000317012202366561026735 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; /** * Test for method java.lang.IllegalAccessError.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/getEnclosingConstructor.java0000644000175000001440000000333312202641672031250 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; /** * Test for method java.lang.IllegalAccessError.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/getCanonicalName.java0000644000175000001440000000323612176416557027567 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; /** * Test for method java.lang.IllegalAccessError.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.IllegalAccessError"); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/getName.java0000644000175000001440000000317512203363515025743 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().getName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; /** * Test for method java.lang.IllegalAccessError.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.IllegalAccessError"); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/getClasses.java0000644000175000001440000000326512176716426026474 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().getClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; /** * Test for method java.lang.IllegalAccessError.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessError/classInfo/isArray.java0000644000175000001440000000313612203113431025760 0ustar dokousers// Test for method java.lang.IllegalAccessError.getClass().isArray() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessError; /** * Test for method java.lang.IllegalAccessError.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessError final Object o = new IllegalAccessError("IllegalAccessError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/InheritableThreadLocal/0000755000175000001440000000000012375316426022426 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/InheritableThreadLocal/simple.java0000644000175000001440000000377510211554232024560 0ustar dokousers// Simple tests of InheritableThreadLocal // Copyright (C) 2001 Red Hat, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.3 package gnu.testlet.java.lang.InheritableThreadLocal; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class simple implements Testlet, Runnable { private class TestInheritableThreadLocal extends InheritableThreadLocal { public Object initialValue () { return "Maude"; } protected Object childValue(Object parentValue) { myHarness.check (parentValue, "Liver", "Check parent value"); return "Spice"; } } private TestHarness myHarness; private TestInheritableThreadLocal loc = new TestInheritableThreadLocal(); public void run () { myHarness.check (loc.get (), "Spice", "Child value in new thread"); loc.set ("Wednesday"); myHarness.check (loc.get (), "Wednesday", "Changed value in new thread"); } public void test (TestHarness harness) { this.myHarness = harness; harness.check (loc.get (), "Maude", "Check initial value"); loc.set ("Liver"); harness.check (loc.get (), "Liver", "Check changed value"); try { Thread t = new Thread(this); t.start (); t.join (); } catch (InterruptedException _) { } harness.check (loc.get (), "Liver", "Value didn't change"); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/0000755000175000001440000000000012375316426022314 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/constructor.java0000644000175000001440000000376612324166016025550 0ustar dokousers// Test if instances of a class java.lang.NoSuchMethodException could be properly constructed // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; /** * Test if instances of a class java.lang.NoSuchMethodException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { NoSuchMethodException object1 = new NoSuchMethodException(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.NoSuchMethodException"); NoSuchMethodException object2 = new NoSuchMethodException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.NoSuchMethodException: nothing happens"); NoSuchMethodException object3 = new NoSuchMethodException(null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.NoSuchMethodException"); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/TryCatch.java0000644000175000001440000000333512324166016024674 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.NoSuchMethodException // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; /** * Test if try-catch block is working properly for a class java.lang.NoSuchMethodException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new NoSuchMethodException("NoSuchMethodException"); } catch (NoSuchMethodException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/0000755000175000001440000000000012375316426024235 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/getDeclaredConstructor.java0000644000175000001440000000715612330646202031547 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchMethodException.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.NoSuchMethodException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.NoSuchMethodException", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.NoSuchMethodException", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.NoSuchMethodException", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/getPackage.java0000644000175000001440000000327412332140406027123 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().getPackage() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; /** * Test for method java.lang.NoSuchMethodException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/getDeclaredMethods.java0000644000175000001440000000622612330646203030623 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchMethodException.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/getInterfaces.java0000644000175000001440000000333412330646203027654 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().getInterfaces() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.NoSuchMethodException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/getModifiers.java0000644000175000001440000000452512330646203027515 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().getModifiers() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; import java.lang.reflect.Modifier; /** * Test for method java.lang.NoSuchMethodException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/getDeclaredFields.java0000644000175000001440000000716512330646203030431 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().getDeclaredFields() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchMethodException.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.NoSuchMethodException.serialVersionUID", "serialVersionUID"); // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/getDeclaredConstructors.java0000644000175000001440000001052112330646202031720 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchMethodException.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.NoSuchMethodException()", "java.lang.NoSuchMethodException"); testedDeclaredConstructors_jdk6.put("public java.lang.NoSuchMethodException(java.lang.String)", "java.lang.NoSuchMethodException"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.NoSuchMethodException()", "java.lang.NoSuchMethodException"); testedDeclaredConstructors_jdk7.put("public java.lang.NoSuchMethodException(java.lang.String)", "java.lang.NoSuchMethodException"); // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/getField.java0000644000175000001440000000556112327403141026616 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().getField() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchMethodException.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/getFields.java0000644000175000001440000000571712327403141027004 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().getFields() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchMethodException.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/isPrimitive.java0000644000175000001440000000323112326137223027373 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; /** * Test for method java.lang.NoSuchMethodException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/getSimpleName.java0000644000175000001440000000326312332140406027620 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().getSimpleName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; /** * Test for method java.lang.NoSuchMethodException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "NoSuchMethodException"); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/getEnclosingClass.java0000644000175000001440000000331612327675175030520 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().getEnclosingClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; /** * Test for method java.lang.NoSuchMethodException.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/isAnnotationPresent.java0000644000175000001440000000441712327403143031103 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; /** * Test for method java.lang.NoSuchMethodException.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/isSynthetic.java0000644000175000001440000000323112324166016027375 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; /** * Test for method java.lang.NoSuchMethodException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/isAnnotation.java0000644000175000001440000000322712327403143027540 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().isAnnotation() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; /** * Test for method java.lang.NoSuchMethodException.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/isInstance.java0000644000175000001440000000332012326137223027166 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().isInstance(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; /** * Test for method java.lang.NoSuchMethodException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new NoSuchMethodException("java.lang.NoSuchMethodException"))); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/getDeclaredMethod.java0000644000175000001440000000616512330646203030442 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchMethodException.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/getDeclaredClasses.java0000644000175000001440000000337212327675175030634 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; /** * Test for method java.lang.NoSuchMethodException.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/getComponentType.java0000644000175000001440000000331212326433573030402 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().getComponentType() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; /** * Test for method java.lang.NoSuchMethodException.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/getMethod.java0000644000175000001440000001433512327403142027013 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().getMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchMethodException.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/isMemberClass.java0000644000175000001440000000324112326137223027621 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; /** * Test for method java.lang.NoSuchMethodException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/getConstructor.java0000644000175000001440000000711612326433574030132 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().getConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchMethodException.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.NoSuchMethodException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.NoSuchMethodException", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.NoSuchMethodException", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.NoSuchMethodException", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/getSuperclass.java0000644000175000001440000000453012332140406027710 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().getSuperclass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; /** * Test for method java.lang.NoSuchMethodException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); final int javaVersion = getJavaVersion(); if (javaVersion == 6) { harness.check(superClass.getName(), "java.lang.Exception"); } if (javaVersion == 7) { harness.check(superClass.getName(), "java.lang.ReflectiveOperationException"); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/isEnum.java0000644000175000001440000000317712331646533026345 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().isEnum() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; /** * Test for method java.lang.NoSuchMethodException.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/getMethods.java0000644000175000001440000001771712327403143027206 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().getMethods() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchMethodException.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/getAnnotations.java0000644000175000001440000000577212326433573030107 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().getAnnotations() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.NoSuchMethodException.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/InstanceOf.java0000644000175000001440000000365412324166016027131 0ustar dokousers// Test for instanceof operator applied to a class java.lang.NoSuchMethodException // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.NoSuchMethodException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodException NoSuchMethodException o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // basic check of instanceof operator harness.check(o instanceof NoSuchMethodException); // check operator instanceof against all superclasses harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/getDeclaringClass.java0000644000175000001440000000331612331646532030455 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().getDeclaringClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; /** * Test for method java.lang.NoSuchMethodException.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/getAnnotation.java0000644000175000001440000000510112326433573027706 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().getAnnotation() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; /** * Test for method java.lang.NoSuchMethodException.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/isAnonymousClass.java0000644000175000001440000000324712331646532030414 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().isAnonymousClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; /** * Test for method java.lang.NoSuchMethodException.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/getEnclosingMethod.java0000644000175000001440000000333612327675176030676 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; /** * Test for method java.lang.NoSuchMethodException.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/isInterface.java0000644000175000001440000000323112326137223027323 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().isInterface(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; /** * Test for method java.lang.NoSuchMethodException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/getConstructors.java0000644000175000001440000001015412327675175030317 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().getConstructors() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchMethodException.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.NoSuchMethodException()", "java.lang.NoSuchMethodException"); testedConstructors_jdk6.put("public java.lang.NoSuchMethodException(java.lang.String)", "java.lang.NoSuchMethodException"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.NoSuchMethodException()", "java.lang.NoSuchMethodException"); testedConstructors_jdk7.put("public java.lang.NoSuchMethodException(java.lang.String)", "java.lang.NoSuchMethodException"); // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/isAssignableFrom.java0000644000175000001440000000330612332140406030314 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; /** * Test for method java.lang.NoSuchMethodException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(NoSuchMethodException.class)); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/getDeclaredAnnotations.java0000644000175000001440000000603212327675175031530 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.NoSuchMethodException.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/getDeclaredField.java0000644000175000001440000000567212330646203030247 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().getDeclaredField() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchMethodException.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/isLocalClass.java0000644000175000001440000000323512326137223027447 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; /** * Test for method java.lang.NoSuchMethodException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/getEnclosingConstructor.java0000644000175000001440000000340012327675175031772 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; /** * Test for method java.lang.NoSuchMethodException.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/getCanonicalName.java0000644000175000001440000000330612326433573030271 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().getSimpleName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; /** * Test for method java.lang.NoSuchMethodException.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.NoSuchMethodException"); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/getName.java0000644000175000001440000000324512332140406026446 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().getName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; /** * Test for method java.lang.NoSuchMethodException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.NoSuchMethodException"); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/getClasses.java0000644000175000001440000000333212326433573027175 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().getClasses() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; /** * Test for method java.lang.NoSuchMethodException.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodException/classInfo/isArray.java0000644000175000001440000000320312331646532026504 0ustar dokousers// Test for method java.lang.NoSuchMethodException.getClass().isArray() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodException; /** * Test for method java.lang.NoSuchMethodException.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodException final Object o = new NoSuchMethodException("java.lang.NoSuchMethodException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/0000755000175000001440000000000012375316426024414 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/constructor.java0000644000175000001440000000371512151356317027645 0ustar dokousers// Test if instances of a class java.lang.EnumConstantNotPresentException could be properly constructed // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; /** * Test if instances of a class java.lang.EnumConstantNotPresentException * could be properly constructed */ public class constructor implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { EnumConstantNotPresentException object1 = new EnumConstantNotPresentException(X.class, "nothing happens"); harness.check(object1 != null); harness.check(object1.toString().startsWith("java.lang.EnumConstantNotPresentException")); EnumConstantNotPresentException object2 = new EnumConstantNotPresentException(X.class, null); harness.check(object2 != null); harness.check(object2.toString().startsWith("java.lang.EnumConstantNotPresentException")); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/TryCatch.java0000644000175000001440000000350412151356317026775 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.EnumConstantNotPresentException // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; /** * Test if try-catch block is working properly for a class java.lang.EnumConstantNotPresentException */ public class TryCatch implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); } catch (EnumConstantNotPresentException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/0000755000175000001440000000000012375316426026335 5ustar dokousers././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getDeclaredConstructor.javamauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getDeclaredConstructo0000644000175000001440000000711312154036226032541 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.EnumConstantNotPresentException", new Class[] {java.lang.Class.class, java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.EnumConstantNotPresentException", new Class[] {java.lang.Class.class, java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getPackage.java0000644000175000001440000000343112154036226031224 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().getPackage() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().getPackage() */ public class getPackage implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getDeclaredMethods.javamauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getDeclaredMethods.ja0000644000175000001440000001043412154344214032371 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedDeclaredMethods_jdk6.put("public java.lang.Class java.lang.EnumConstantNotPresentException.enumType()", "enumType"); testedDeclaredMethods_jdk6.put("public java.lang.String java.lang.EnumConstantNotPresentException.constantName()", "constantName"); // map for methods declared in (Open)JDK7 testedDeclaredMethods_jdk7.put("public java.lang.String java.lang.EnumConstantNotPresentException.constantName()", "constantName"); testedDeclaredMethods_jdk7.put("public java.lang.Class java.lang.EnumConstantNotPresentException.enumType()", "enumType"); // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); // check if all declared methods exist for (java.lang.reflect.Method declaredMethod : declaredMethods) { // method name should consists of package name + class name String methodName = declaredMethod.getName(); // modifiers + package + method name + parameter types String methodString = declaredMethod.toString().replaceAll(" native ", " "); harness.check(testedDeclaredMethods.containsKey(methodString)); harness.check(testedDeclaredMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getInterfaces.java0000644000175000001440000000347112153065636031766 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().getInterfaces() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getModifiers.java0000644000175000001440000000466212153325614031622 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().getModifiers() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; import java.lang.reflect.Modifier; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().getModifiers() */ public class getModifiers implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getDeclaredFields.javamauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getDeclaredFields.jav0000644000175000001440000001033112154344214032356 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().getDeclaredFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 testedDeclaredFields_jdk6.put("private java.lang.Class java.lang.EnumConstantNotPresentException.enumType", "enumType"); testedDeclaredFields_jdk6.put("private java.lang.String java.lang.EnumConstantNotPresentException.constantName", "constantName"); // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.EnumConstantNotPresentException.serialVersionUID", "serialVersionUID"); testedDeclaredFields_jdk7.put("private java.lang.Class java.lang.EnumConstantNotPresentException.enumType", "enumType"); testedDeclaredFields_jdk7.put("private java.lang.String java.lang.EnumConstantNotPresentException.constantName", "constantName"); // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } ././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getDeclaredConstructors.javamauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getDeclaredConstructo0000644000175000001440000001037612154036226032546 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.EnumConstantNotPresentException(java.lang.Class,java.lang.String)", "java.lang.EnumConstantNotPresentException"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.EnumConstantNotPresentException(java.lang.Class,java.lang.String)", "java.lang.EnumConstantNotPresentException"); // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getField.java0000644000175000001440000000571612153325614030725 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().getField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().getField() */ public class getField implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getFields.java0000644000175000001440000000605412153325614031104 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().getFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().getFields() */ public class getFields implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/isPrimitive.java0000644000175000001440000000336612151356317031507 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getSimpleName.java0000644000175000001440000000343212154036226031724 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "EnumConstantNotPresentException"); } } ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getEnclosingClass.javamauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getEnclosingClass.jav0000644000175000001440000000345312154344215032443 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().getEnclosingClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/isAnnotationPresent.javamauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/isAnnotationPresent.j0000644000175000001440000000455412152125542032515 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/isSynthetic.java0000644000175000001440000000336612151356317031511 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/isAnnotation.java0000644000175000001440000000336412152125542031642 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().isAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().isAnnotation() */ public class isAnnotation implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/isInstance.java0000644000175000001440000000343312151607665031303 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().isInstance(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().isInstance() */ public class isInstance implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"))); } } ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getDeclaredMethod.javamauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getDeclaredMethod.jav0000644000175000001440000000675612154344214032410 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("enumType", new Class[] {}); methodsThatShouldExist_jdk6.put("constantName", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("constantName", new Class[] {}); methodsThatShouldExist_jdk7.put("enumType", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getDeclaredClasses.javamauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getDeclaredClasses.ja0000644000175000001440000000352712154036226032371 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getComponentType.java0000644000175000001440000000344712153065636032512 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().getComponentType() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().getComponentType() */ public class getComponentType implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getMethod.java0000644000175000001440000001512612153325614031116 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().getMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().getMethod() */ public class getMethod implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("enumType", new Class[] {}); methodsThatShouldExist_jdk6.put("constantName", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("constantName", new Class[] {}); methodsThatShouldExist_jdk7.put("enumType", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/isMemberClass.java0000644000175000001440000000337612151356317031735 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getConstructor.java0000644000175000001440000000705312154036226032222 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().getConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().getConstructor() */ public class getConstructor implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.EnumConstantNotPresentException", new Class[] {java.lang.Class.class, java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.EnumConstantNotPresentException", new Class[] {java.lang.Class.class, java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getSuperclass.java0000644000175000001440000000350612153325614032021 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().getSuperclass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.RuntimeException"); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/isEnum.java0000644000175000001440000000333412151607665030443 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().isEnum() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().isEnum() */ public class isEnum implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getMethods.java0000644000175000001440000002105212153325614031274 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().getMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().getMethods() */ public class getMethods implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public java.lang.Class java.lang.EnumConstantNotPresentException.enumType()", "enumType"); testedMethods_jdk6.put("public java.lang.String java.lang.EnumConstantNotPresentException.constantName()", "constantName"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public java.lang.String java.lang.EnumConstantNotPresentException.constantName()", "constantName"); testedMethods_jdk7.put("public java.lang.Class java.lang.EnumConstantNotPresentException.enumType()", "enumType"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getAnnotations.java0000644000175000001440000000612712153065636032201 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().getAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().getAnnotations() */ public class getAnnotations implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/InstanceOf.java0000644000175000001440000000416612151356317031233 0ustar dokousers// Test for instanceof operator applied to a class java.lang.EnumConstantNotPresentException // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; import java.lang.RuntimeException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.EnumConstantNotPresentException */ public class InstanceOf implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class EnumConstantNotPresentException EnumConstantNotPresentException o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // basic check of instanceof operator harness.check(o instanceof EnumConstantNotPresentException); // check operator instanceof against all superclasses harness.check(o instanceof RuntimeException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getDeclaringClass.javamauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getDeclaringClass.jav0000644000175000001440000000345312154344214032411 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().getDeclaringClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getAnnotation.java0000644000175000001440000000523612153065636032016 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().getAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().getAnnotation() */ public class getAnnotation implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/isAnonymousClass.java0000644000175000001440000000340412152125542032501 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().isAnonymousClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getEnclosingMethod.javamauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getEnclosingMethod.ja0000644000175000001440000000351612153576213032434 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class EnumConstantNotPresentException EnumConstantNotPresentException o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/isInterface.java0000644000175000001440000000332112151607665031433 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().isInterface(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().isInterface() */ public class isInterface implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getConstructors.java0000644000175000001440000001005112154036226032375 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().getConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().getConstructors() */ public class getConstructors implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.EnumConstantNotPresentException(java.lang.Class,java.lang.String)", "java.lang.EnumConstantNotPresentException"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.EnumConstantNotPresentException(java.lang.Class,java.lang.String)", "java.lang.EnumConstantNotPresentException"); // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/isAssignableFrom.java0000644000175000001440000000342412151607665032433 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(EnumConstantNotPresentException.class)); } } ././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getDeclaredAnnotations.javamauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getDeclaredAnnotation0000644000175000001440000000616712154036226032520 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getDeclaredField.java0000644000175000001440000000617712154036226032352 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().getDeclaredField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { "enumType", "constantName", }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", "enumType", "constantName", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/isLocalClass.java0000644000175000001440000000337212151356317031554 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } ././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getEnclosingConstructor.javamauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getEnclosingConstruct0000644000175000001440000000353512154344215032604 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getCanonicalName.java0000644000175000001440000000345412154036226032366 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.EnumConstantNotPresentException"); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getName.java0000644000175000001440000000341412153065636030560 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().getName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().getName() */ public class getName implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.EnumConstantNotPresentException"); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getClasses.java0000644000175000001440000000346712153065636031305 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().getClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().getClasses() */ public class getClasses implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/isArray.java0000644000175000001440000000334012151607664030611 0ustar dokousers// Test for method java.lang.EnumConstantNotPresentException.getClass().isArray() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.EnumConstantNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.EnumConstantNotPresentException; /** * Test for method java.lang.EnumConstantNotPresentException.getClass().isArray() */ public class isArray implements Testlet { enum X {ONE, TWO, THREE}; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class EnumConstantNotPresentException final Object o = new EnumConstantNotPresentException(X.class, "EnumConstantNotPresentException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/SecurityException/0000755000175000001440000000000012375316426021563 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/SecurityException/constructor.java0000644000175000001440000000504512061330372025003 0ustar dokousers// Test if instances of a class java.lang.SecurityException could be properly constructed // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.SecurityException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.SecurityException; /** * Test if instances of a class java.lang.SecurityException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SecurityException object1 = new SecurityException(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.SecurityException"); SecurityException object2 = new SecurityException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.SecurityException: nothing happens"); SecurityException object3 = new SecurityException((String)null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.SecurityException"); SecurityException object4 = new SecurityException(new Throwable()); harness.check(object4 != null); harness.check(object4.toString(), "java.lang.SecurityException: java.lang.Throwable"); SecurityException object5 = new SecurityException((Throwable)null); harness.check(object5 != null); harness.check(object5.toString(), "java.lang.SecurityException"); SecurityException object6 = new SecurityException("nothing", new Throwable()); harness.check(object6 != null); harness.check(object6.toString(), "java.lang.SecurityException: nothing"); } } mauve-20140821/gnu/testlet/java/lang/SecurityException/TryCatch.java0000644000175000001440000000326512061330372024141 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.SecurityException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.SecurityException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.SecurityException; /** * Test if try-catch block is working properly for a class java.lang.SecurityException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new SecurityException("SecurityException"); } catch (SecurityException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/SecurityException/classInfo/0000755000175000001440000000000012375316426023504 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/SecurityException/classInfo/getPackage.java0000644000175000001440000000322412061330372026367 0ustar dokousers// Test for method java.lang.SecurityException.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.SecurityException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.SecurityException; /** * Test for method java.lang.SecurityException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class SecurityException final Object o = new SecurityException("java.lang.SecurityException"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/SecurityException/classInfo/getDeclaredMethods.java0000644000175000001440000000615612061330372030072 0ustar dokousers// Test for method java.lang.SecurityException.getClass().getDeclaredMethods() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.SecurityException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.SecurityException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.SecurityException.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class SecurityException final Object o = new SecurityException("java.lang.SecurityException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/SecurityException/classInfo/getInterfaces.java0000644000175000001440000000326412061330372027123 0ustar dokousers// Test for method java.lang.SecurityException.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.SecurityException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.SecurityException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.SecurityException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class SecurityException final Object o = new SecurityException("java.lang.SecurityException"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/SecurityException/classInfo/getModifiers.java0000644000175000001440000000445512061330372026764 0ustar dokousers// Test for method java.lang.SecurityException.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.SecurityException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.SecurityException; import java.lang.reflect.Modifier; /** * Test for method java.lang.SecurityException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class SecurityException final Object o = new SecurityException("java.lang.SecurityException"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/SecurityException/classInfo/getDeclaredFields.java0000644000175000001440000000726512061330372027677 0ustar dokousers// Test for method java.lang.SecurityException.getClass().getDeclaredFields() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.SecurityException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.SecurityException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.SecurityException.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.SecurityException.serialVersionUID", "serialVersionUID"); // map for fields declared in (Open)JDK6 testedDeclaredFields_jdk6.put("private static final long java.lang.SecurityException.serialVersionUID", "serialVersionUID"); // create instance of a class SecurityException final Object o = new SecurityException("java.lang.SecurityException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/SecurityException/classInfo/getDeclaredConstructors.java0000644000175000001440000001150712061330372031173 0ustar dokousers// Test for method java.lang.SecurityException.getClass().getDeclaredConstructors() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.SecurityException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.SecurityException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.SecurityException.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.SecurityException()", "java.lang.SecurityException"); testedDeclaredConstructors_jdk6.put("public java.lang.SecurityException(java.lang.String)", "java.lang.SecurityException"); testedDeclaredConstructors_jdk6.put("public java.lang.SecurityException(java.lang.String,java.lang.Throwable)", "java.lang.SecurityException"); testedDeclaredConstructors_jdk6.put("public java.lang.SecurityException(java.lang.Throwable)", "java.lang.SecurityException"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.SecurityException(java.lang.Throwable)", "java.lang.SecurityException"); testedDeclaredConstructors_jdk7.put("public java.lang.SecurityException(java.lang.String,java.lang.Throwable)", "java.lang.SecurityException"); testedDeclaredConstructors_jdk7.put("public java.lang.SecurityException(java.lang.String)", "java.lang.SecurityException"); testedDeclaredConstructors_jdk7.put("public java.lang.SecurityException()", "java.lang.SecurityException"); // create instance of a class SecurityException final Object o = new SecurityException("java.lang.SecurityException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/SecurityException/classInfo/getFields.java0000644000175000001440000000564712061330372026255 0ustar dokousers// Test for method java.lang.SecurityException.getClass().getFields() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.SecurityException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.SecurityException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.SecurityException.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class SecurityException final Object o = new SecurityException("java.lang.SecurityException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/SecurityException/classInfo/isPrimitive.java0000644000175000001440000000316112061330372026640 0ustar dokousers// Test for method java.lang.SecurityException.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.SecurityException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.SecurityException; /** * Test for method java.lang.SecurityException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class SecurityException final Object o = new SecurityException("java.lang.SecurityException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/SecurityException/classInfo/getSimpleName.java0000644000175000001440000000320712061330372027067 0ustar dokousers// Test for method java.lang.SecurityException.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.SecurityException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.SecurityException; /** * Test for method java.lang.SecurityException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class SecurityException final Object o = new SecurityException("java.lang.SecurityException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "SecurityException"); } } mauve-20140821/gnu/testlet/java/lang/SecurityException/classInfo/isAnnotationPresent.java0000644000175000001440000000434712061330372030352 0ustar dokousers// Test for method java.lang.SecurityException.getClass().isAnnotationPresent() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.SecurityException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.SecurityException; /** * Test for method java.lang.SecurityException.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class SecurityException final Object o = new SecurityException("java.lang.SecurityException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/SecurityException/classInfo/isSynthetic.java0000644000175000001440000000316112061330372026642 0ustar dokousers// Test for method java.lang.SecurityException.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.SecurityException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.SecurityException; /** * Test for method java.lang.SecurityException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class SecurityException final Object o = new SecurityException("java.lang.SecurityException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/SecurityException/classInfo/isAnnotation.java0000644000175000001440000000315712061330372027007 0ustar dokousers// Test for method java.lang.SecurityException.getClass().isAnnotation() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.SecurityException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.SecurityException; /** * Test for method java.lang.SecurityException.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class SecurityException final Object o = new SecurityException("java.lang.SecurityException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/SecurityException/classInfo/isInstance.java0000644000175000001440000000324012061330372026432 0ustar dokousers// Test for method java.lang.SecurityException.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.SecurityException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.SecurityException; /** * Test for method java.lang.SecurityException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class SecurityException final Object o = new SecurityException("java.lang.SecurityException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new SecurityException("java.lang.SecurityException"))); } } mauve-20140821/gnu/testlet/java/lang/SecurityException/classInfo/isMemberClass.java0000644000175000001440000000317112061330372027066 0ustar dokousers// Test for method java.lang.SecurityException.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.SecurityException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.SecurityException; /** * Test for method java.lang.SecurityException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class SecurityException final Object o = new SecurityException("java.lang.SecurityException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/SecurityException/classInfo/getSuperclass.java0000644000175000001440000000330112061330372027154 0ustar dokousers// Test for method java.lang.SecurityException.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.SecurityException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.SecurityException; /** * Test for method java.lang.SecurityException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class SecurityException final Object o = new SecurityException("java.lang.SecurityException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.RuntimeException"); } } mauve-20140821/gnu/testlet/java/lang/SecurityException/classInfo/isEnum.java0000644000175000001440000000312712061330372025576 0ustar dokousers// Test for method java.lang.SecurityException.getClass().isEnum() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.SecurityException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.SecurityException; /** * Test for method java.lang.SecurityException.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class SecurityException final Object o = new SecurityException("java.lang.SecurityException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/SecurityException/classInfo/getMethods.java0000644000175000001440000001764712061330372026455 0ustar dokousers// Test for method java.lang.SecurityException.getClass().getMethods() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.SecurityException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.SecurityException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.SecurityException.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class SecurityException final Object o = new SecurityException("java.lang.SecurityException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/SecurityException/classInfo/InstanceOf.java0000644000175000001440000000372512061330372026373 0ustar dokousers// Test for instanceof operator applied to a class java.lang.SecurityException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.SecurityException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.SecurityException; import java.lang.RuntimeException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.SecurityException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class SecurityException SecurityException o = new SecurityException("java.lang.SecurityException"); // basic check of instanceof operator harness.check(o instanceof SecurityException); // check operator instanceof against all superclasses harness.check(o instanceof RuntimeException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/SecurityException/classInfo/isAnonymousClass.java0000644000175000001440000000317712061330372027655 0ustar dokousers// Test for method java.lang.SecurityException.getClass().isAnonymousClass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.SecurityException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.SecurityException; /** * Test for method java.lang.SecurityException.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class SecurityException final Object o = new SecurityException("java.lang.SecurityException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/SecurityException/classInfo/isInterface.java0000644000175000001440000000316112061330372026570 0ustar dokousers// Test for method java.lang.SecurityException.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.SecurityException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.SecurityException; /** * Test for method java.lang.SecurityException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class SecurityException final Object o = new SecurityException("java.lang.SecurityException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/SecurityException/classInfo/getConstructors.java0000644000175000001440000001110212061330372027536 0ustar dokousers// Test for method java.lang.SecurityException.getClass().getConstructors() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.SecurityException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.SecurityException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.SecurityException.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.SecurityException()", "java.lang.SecurityException"); testedConstructors_jdk6.put("public java.lang.SecurityException(java.lang.String)", "java.lang.SecurityException"); testedConstructors_jdk6.put("public java.lang.SecurityException(java.lang.String,java.lang.Throwable)", "java.lang.SecurityException"); testedConstructors_jdk6.put("public java.lang.SecurityException(java.lang.Throwable)", "java.lang.SecurityException"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.SecurityException(java.lang.Throwable)", "java.lang.SecurityException"); testedConstructors_jdk7.put("public java.lang.SecurityException(java.lang.String,java.lang.Throwable)", "java.lang.SecurityException"); testedConstructors_jdk7.put("public java.lang.SecurityException(java.lang.String)", "java.lang.SecurityException"); testedConstructors_jdk7.put("public java.lang.SecurityException()", "java.lang.SecurityException"); // create instance of a class SecurityException final Object o = new SecurityException("java.lang.SecurityException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/SecurityException/classInfo/isAssignableFrom.java0000644000175000001440000000323212061330372027563 0ustar dokousers// Test for method java.lang.SecurityException.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.SecurityException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.SecurityException; /** * Test for method java.lang.SecurityException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class SecurityException final Object o = new SecurityException("java.lang.SecurityException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(SecurityException.class)); } } mauve-20140821/gnu/testlet/java/lang/SecurityException/classInfo/isLocalClass.java0000644000175000001440000000316512061330372026714 0ustar dokousers// Test for method java.lang.SecurityException.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.SecurityException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.SecurityException; /** * Test for method java.lang.SecurityException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class SecurityException final Object o = new SecurityException("java.lang.SecurityException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/SecurityException/classInfo/getName.java0000644000175000001440000000317112061330372025715 0ustar dokousers// Test for method java.lang.SecurityException.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.SecurityException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.SecurityException; /** * Test for method java.lang.SecurityException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class SecurityException final Object o = new SecurityException("java.lang.SecurityException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.SecurityException"); } } mauve-20140821/gnu/testlet/java/lang/SecurityException/classInfo/isArray.java0000644000175000001440000000313312061330372025745 0ustar dokousers// Test for method java.lang.SecurityException.getClass().isArray() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.SecurityException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.SecurityException; /** * Test for method java.lang.SecurityException.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class SecurityException final Object o = new SecurityException("java.lang.SecurityException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/TypeNotPresentException/0000755000175000001440000000000012375316426022717 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/TypeNotPresentException/TryCatch.java0000644000175000001440000000337412372633627025314 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.TypeNotPresentException // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.TypeNotPresentException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.TypeNotPresentException; /** * Test if try-catch block is working properly for a class java.lang.TypeNotPresentException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new TypeNotPresentException("TypeNotPresentException", new Throwable()); } catch (TypeNotPresentException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/TypeNotPresentException/classInfo/0000755000175000001440000000000012375316426024640 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/TypeNotPresentException/classInfo/getPackage.java0000644000175000001440000000332112373065024027526 0ustar dokousers// Test for method java.lang.TypeNotPresentException.getClass().getPackage() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.TypeNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.TypeNotPresentException; /** * Test for method java.lang.TypeNotPresentException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class TypeNotPresentException final Object o = new TypeNotPresentException("TypeNotPresentException", new Throwable()); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/TypeNotPresentException/classInfo/getDeclaredMethods.java0000644000175000001440000000765612373065023031240 0ustar dokousers// Test for method java.lang.TypeNotPresentException.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.TypeNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.TypeNotPresentException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.TypeNotPresentException.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedDeclaredMethods_jdk6.put("public java.lang.String java.lang.TypeNotPresentException.typeName()", "typeName"); // map for methods declared in (Open)JDK7 testedDeclaredMethods_jdk7.put("public java.lang.String java.lang.TypeNotPresentException.typeName()", "typeName"); // create instance of a class TypeNotPresentException final Object o = new TypeNotPresentException("TypeNotPresentException", new Throwable()); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); // check if all declared methods exist for (java.lang.reflect.Method declaredMethod : declaredMethods) { // method name should consists of package name + class name String methodName = declaredMethod.getName(); // modifiers + package + method name + parameter types String methodString = declaredMethod.toString().replaceAll(" native ", " "); harness.check(testedDeclaredMethods.containsKey(methodString)); harness.check(testedDeclaredMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/TypeNotPresentException/classInfo/getInterfaces.java0000644000175000001440000000336112373065023030261 0ustar dokousers// Test for method java.lang.TypeNotPresentException.getClass().getInterfaces() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.TypeNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.TypeNotPresentException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.TypeNotPresentException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class TypeNotPresentException final Object o = new TypeNotPresentException("TypeNotPresentException", new Throwable()); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/TypeNotPresentException/classInfo/getModifiers.java0000644000175000001440000000455212373065024030123 0ustar dokousers// Test for method java.lang.TypeNotPresentException.getClass().getModifiers() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.TypeNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.TypeNotPresentException; import java.lang.reflect.Modifier; /** * Test for method java.lang.TypeNotPresentException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class TypeNotPresentException final Object o = new TypeNotPresentException("TypeNotPresentException", new Throwable()); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/TypeNotPresentException/classInfo/getDeclaredFields.java0000644000175000001440000000754712373065023031042 0ustar dokousers// Test for method java.lang.TypeNotPresentException.getClass().getDeclaredFields() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.TypeNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.TypeNotPresentException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.TypeNotPresentException.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 testedDeclaredFields_jdk6.put("private java.lang.String java.lang.TypeNotPresentException.typeName", "typeName"); // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.TypeNotPresentException.serialVersionUID", "serialVersionUID"); testedDeclaredFields_jdk7.put("private java.lang.String java.lang.TypeNotPresentException.typeName", "typeName"); // create instance of a class TypeNotPresentException final Object o = new TypeNotPresentException("TypeNotPresentException", new Throwable()); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/TypeNotPresentException/classInfo/getDeclaredConstructors.java0000644000175000001440000001023612373065023032331 0ustar dokousers// Test for method java.lang.TypeNotPresentException.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.TypeNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.TypeNotPresentException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.TypeNotPresentException.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.TypeNotPresentException(java.lang.String,java.lang.Throwable)", "java.lang.TypeNotPresentException"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.TypeNotPresentException(java.lang.String,java.lang.Throwable)", "java.lang.TypeNotPresentException"); // create instance of a class TypeNotPresentException final Object o = new TypeNotPresentException("TypeNotPresentException", new Throwable()); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/TypeNotPresentException/classInfo/getFields.java0000644000175000001440000000574412373065023027413 0ustar dokousers// Test for method java.lang.TypeNotPresentException.getClass().getFields() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.TypeNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.TypeNotPresentException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.TypeNotPresentException.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class TypeNotPresentException final Object o = new TypeNotPresentException("TypeNotPresentException", new Throwable()); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/TypeNotPresentException/classInfo/isPrimitive.java0000644000175000001440000000325612372633627030017 0ustar dokousers// Test for method java.lang.TypeNotPresentException.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.TypeNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.TypeNotPresentException; /** * Test for method java.lang.TypeNotPresentException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class TypeNotPresentException final Object o = new TypeNotPresentException("TypeNotPresentException", new Throwable()); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/TypeNotPresentException/classInfo/getSimpleName.java0000644000175000001440000000327612057341153030235 0ustar dokousers// Test for method java.lang.TypeNotPresentException.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.TypeNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.TypeNotPresentException; /** * Test for method java.lang.TypeNotPresentException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class TypeNotPresentException final Object o = new TypeNotPresentException("TypeNotPresentException", new Throwable()); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "TypeNotPresentException"); } } mauve-20140821/gnu/testlet/java/lang/TypeNotPresentException/classInfo/isAnnotationPresent.java0000644000175000001440000000443012057341153031503 0ustar dokousers// Test for method java.lang.TypeNotPresentException.getClass().isAnnotationPresent() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.TypeNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.TypeNotPresentException; /** * Test for method java.lang.TypeNotPresentException.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class TypeNotPresentException final Object o = new TypeNotPresentException("TypeNotPresentException", new Throwable()); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/TypeNotPresentException/classInfo/isSynthetic.java0000644000175000001440000000325612372633627030021 0ustar dokousers// Test for method java.lang.TypeNotPresentException.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.TypeNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.TypeNotPresentException; /** * Test for method java.lang.TypeNotPresentException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class TypeNotPresentException final Object o = new TypeNotPresentException("TypeNotPresentException", new Throwable()); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/TypeNotPresentException/classInfo/isAnnotation.java0000644000175000001440000000324012057341153030140 0ustar dokousers// Test for method java.lang.TypeNotPresentException.getClass().isAnnotation() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.TypeNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.TypeNotPresentException; /** * Test for method java.lang.TypeNotPresentException.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class TypeNotPresentException final Object o = new TypeNotPresentException("TypeNotPresentException", new Throwable()); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/TypeNotPresentException/classInfo/isInstance.java0000644000175000001440000000334412057341153027577 0ustar dokousers// Test for method java.lang.TypeNotPresentException.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.TypeNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.TypeNotPresentException; /** * Test for method java.lang.TypeNotPresentException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class TypeNotPresentException final Object o = new TypeNotPresentException("TypeNotPresentException", new Throwable()); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new TypeNotPresentException("TypeNotPresentException", new Throwable()))); } } mauve-20140821/gnu/testlet/java/lang/TypeNotPresentException/classInfo/isMemberClass.java0000644000175000001440000000326612372633627030245 0ustar dokousers// Test for method java.lang.TypeNotPresentException.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.TypeNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.TypeNotPresentException; /** * Test for method java.lang.TypeNotPresentException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class TypeNotPresentException final Object o = new TypeNotPresentException("TypeNotPresentException", new Throwable()); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/TypeNotPresentException/classInfo/getSuperclass.java0000644000175000001440000000336212057341153030323 0ustar dokousers// Test for method java.lang.TypeNotPresentException.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.TypeNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.TypeNotPresentException; /** * Test for method java.lang.TypeNotPresentException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class TypeNotPresentException final Object o = new TypeNotPresentException("TypeNotPresentException", new Throwable()); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.RuntimeException"); } } mauve-20140821/gnu/testlet/java/lang/TypeNotPresentException/classInfo/isEnum.java0000644000175000001440000000321012057341153026727 0ustar dokousers// Test for method java.lang.TypeNotPresentException.getClass().isEnum() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.TypeNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.TypeNotPresentException; /** * Test for method java.lang.TypeNotPresentException.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class TypeNotPresentException final Object o = new TypeNotPresentException("TypeNotPresentException", new Throwable()); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/TypeNotPresentException/classInfo/getMethods.java0000644000175000001440000002031412373065024027577 0ustar dokousers// Test for method java.lang.TypeNotPresentException.getClass().getMethods() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.TypeNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.TypeNotPresentException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.TypeNotPresentException.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public java.lang.String java.lang.TypeNotPresentException.typeName()", "typeName"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public java.lang.String java.lang.TypeNotPresentException.typeName()", "typeName"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class TypeNotPresentException final Object o = new TypeNotPresentException("TypeNotPresentException", new Throwable()); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/TypeNotPresentException/classInfo/InstanceOf.java0000644000175000001440000000403612372633627027541 0ustar dokousers// Test for instanceof operator applied to a class java.lang.TypeNotPresentException // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.TypeNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.TypeNotPresentException; import java.lang.RuntimeException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.TypeNotPresentException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class TypeNotPresentException TypeNotPresentException o = new TypeNotPresentException("TypeNotPresentException", new Throwable()); // basic check of instanceof operator harness.check(o instanceof TypeNotPresentException); // check operator instanceof against all superclasses harness.check(o instanceof RuntimeException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/TypeNotPresentException/classInfo/isAnonymousClass.java0000644000175000001440000000326012057341153031006 0ustar dokousers// Test for method java.lang.TypeNotPresentException.getClass().isAnonymousClass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.TypeNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.TypeNotPresentException; /** * Test for method java.lang.TypeNotPresentException.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class TypeNotPresentException final Object o = new TypeNotPresentException("TypeNotPresentException", new Throwable()); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/TypeNotPresentException/classInfo/isInterface.java0000644000175000001440000000324212057341153027730 0ustar dokousers// Test for method java.lang.TypeNotPresentException.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.TypeNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.TypeNotPresentException; /** * Test for method java.lang.TypeNotPresentException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class TypeNotPresentException final Object o = new TypeNotPresentException("TypeNotPresentException", new Throwable()); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/TypeNotPresentException/classInfo/getConstructors.java0000644000175000001440000000771112373065023030711 0ustar dokousers// Test for method java.lang.TypeNotPresentException.getClass().getConstructors() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.TypeNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.TypeNotPresentException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.TypeNotPresentException.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.TypeNotPresentException(java.lang.String,java.lang.Throwable)", "java.lang.TypeNotPresentException"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.TypeNotPresentException(java.lang.String,java.lang.Throwable)", "java.lang.TypeNotPresentException"); // create instance of a class TypeNotPresentException final Object o = new TypeNotPresentException("TypeNotPresentException", new Throwable()); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/TypeNotPresentException/classInfo/isAssignableFrom.java0000644000175000001440000000332112057341153030722 0ustar dokousers// Test for method java.lang.TypeNotPresentException.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.TypeNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.TypeNotPresentException; /** * Test for method java.lang.TypeNotPresentException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class TypeNotPresentException final Object o = new TypeNotPresentException("TypeNotPresentException", new Throwable()); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(TypeNotPresentException.class)); } } mauve-20140821/gnu/testlet/java/lang/TypeNotPresentException/classInfo/isLocalClass.java0000644000175000001440000000326212372633627030064 0ustar dokousers// Test for method java.lang.TypeNotPresentException.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.TypeNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.TypeNotPresentException; /** * Test for method java.lang.TypeNotPresentException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class TypeNotPresentException final Object o = new TypeNotPresentException("TypeNotPresentException", new Throwable()); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/TypeNotPresentException/classInfo/getName.java0000644000175000001440000000327412373065024027062 0ustar dokousers// Test for method java.lang.TypeNotPresentException.getClass().getName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.TypeNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.TypeNotPresentException; /** * Test for method java.lang.TypeNotPresentException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class TypeNotPresentException final Object o = new TypeNotPresentException("TypeNotPresentException", new Throwable()); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.TypeNotPresentException"); } } mauve-20140821/gnu/testlet/java/lang/TypeNotPresentException/classInfo/isArray.java0000644000175000001440000000321412057341153027105 0ustar dokousers// Test for method java.lang.TypeNotPresentException.getClass().isArray() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.TypeNotPresentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.TypeNotPresentException; /** * Test for method java.lang.TypeNotPresentException.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class TypeNotPresentException final Object o = new TypeNotPresentException("TypeNotPresentException", new Throwable()); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/Byte/0000755000175000001440000000000012375316450016775 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Byte/valueOfString.java0000644000175000001440000000655111730331231022423 0ustar dokousers// Test of Byte method valueOf(String). // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.4 // Tags: CompileOptions: -source 1.4 package gnu.testlet.java.lang.Byte; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test the method Byte.valueOf(String). */ public class valueOfString implements Testlet { public void test (TestHarness harness) { harness.check(new Byte((byte)0).equals(Byte.valueOf("0"))); harness.check(new Byte((byte)-1).equals(Byte.valueOf("-1"))); harness.check(new Byte((byte)1).equals(Byte.valueOf("1"))); harness.check(new Byte((byte)127).equals(Byte.valueOf("127"))); harness.check(new Byte((byte)-128).equals(Byte.valueOf("-128"))); try { Byte.valueOf("10", Character.MIN_RADIX - 1); harness.fail("too small radix"); } catch (NumberFormatException nfe) { harness.check(true); } try { Byte.valueOf("10", Character.MAX_RADIX + 1); harness.fail("too small radix"); } catch (NumberFormatException nfe) { harness.check(true); } try { Byte.valueOf("-129"); harness.fail("-129 is to small for a byte"); } catch (NumberFormatException nfe) { harness.check(true); } try { Byte.valueOf("128"); harness.fail("128 is to big for a byte"); } catch (NumberFormatException nfe) { harness.check(true); } try { Byte.valueOf("abc"); harness.fail("Illegal input (abc) must throw NumberFormatException"); } catch (NumberFormatException nfe) { harness.check(true); } try { Byte.valueOf("-"); harness.fail("Single '-' must throw NumberFormatException"); } catch (NumberFormatException nfe) { harness.check(true); } try { Byte.valueOf("+"); harness.fail("Single '+' must throw NumberFormatException"); } catch (NumberFormatException nfe) { harness.check(true); } try { Byte.valueOf(null, 10); harness.fail("null input must throw NumberFormatException"); } catch (NullPointerException npe) { harness.fail("null input must throw NumberFormatException, not NullPointerException"); } catch (NumberFormatException nfe) { harness.check(true); } try { Byte.valueOf("", 10); harness.fail("empty input must throw NumberFormatException"); } catch (IndexOutOfBoundsException ioobe) { harness.fail("empty input must throw NumberFormatException, not IndexOutOfBoundsException"); } catch (NumberFormatException nfe) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/lang/Byte/valueOfStringRadix.java0000644000175000001440000000723311730331231023411 0ustar dokousers// Test of Byte method valueOf(String, radix). // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.4 // Tags: CompileOptions: -source 1.4 package gnu.testlet.java.lang.Byte; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test the method Byte.valueOf(String, radix); */ public class valueOfStringRadix implements Testlet { public void test (TestHarness harness) { harness.check(Byte.valueOf("0", 2).equals(new Byte((byte)0))); harness.check(Byte.valueOf("0", 10).equals(new Byte((byte)0))); harness.check(Byte.valueOf("0", 16).equals(new Byte((byte)0))); harness.check(Byte.valueOf("0", 36).equals(new Byte((byte)0))); harness.check(Byte.valueOf("10", 2).equals(new Byte((byte)2))); harness.check(Byte.valueOf("10", 10).equals(new Byte((byte)10))); harness.check(Byte.valueOf("10", 16).equals(new Byte((byte)16))); harness.check(Byte.valueOf("10", 36).equals(new Byte((byte)36))); harness.check(Byte.valueOf("z", 36).equals(new Byte((byte)35))); try { Byte.valueOf("10", Character.MIN_RADIX - 1); harness.fail("too small radix"); } catch (NumberFormatException nfe) { harness.check(true); } try { Byte.valueOf("10", Character.MAX_RADIX + 1); harness.fail("too small radix"); } catch (NumberFormatException nfe) { harness.check(true); } try { Byte.valueOf("-129"); harness.fail("-129 is to small for a byte"); } catch (NumberFormatException nfe) { harness.check(true); } try { Byte.valueOf("128"); harness.fail("128 is to big for a byte"); } catch (NumberFormatException nfe) { harness.check(true); } try { Byte.valueOf("abc"); harness.fail("Illegal input (abc) must throw NumberFormatException"); } catch (NumberFormatException nfe) { harness.check(true); } try { Byte.valueOf("-"); harness.fail("Single '-' must throw NumberFormatException"); } catch (NumberFormatException nfe) { harness.check(true); } try { Byte.valueOf("+"); harness.fail("Single '+' must throw NumberFormatException"); } catch (NumberFormatException nfe) { harness.check(true); } try { Byte.valueOf(null, 10); harness.fail("null input must throw NumberFormatException"); } catch (NullPointerException npe) { harness.fail("null input must throw NumberFormatException, not NullPointerException"); } catch (NumberFormatException nfe) { harness.check(true); } try { Byte.valueOf("", 10); harness.fail("empty input must throw NumberFormatException"); } catch (IndexOutOfBoundsException ioobe) { harness.fail("empty input must throw NumberFormatException, not IndexOutOfBoundsException"); } catch (NumberFormatException nfe) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/lang/Byte/toString.java0000644000175000001440000000337211757724254021466 0ustar dokousers// Test of Byte methods toString() and toString(byte). // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.4 // Tags: CompileOptions: -source 1.4 package gnu.testlet.java.lang.Byte; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test of Byte methods toString() and toString(byte). */ public class toString implements Testlet { public void test (TestHarness harness) { // test of method Byte.toString() harness.check(new Byte((byte)0).toString(), "0"); harness.check(new Byte((byte)-1).toString(), "-1"); harness.check(new Byte((byte)1).toString(), "1"); harness.check(new Byte((byte)127).toString(), "127"); harness.check(new Byte((byte)-128).toString(), "-128"); // test of static method Byte.toString(byte) harness.check(Byte.toString((byte)0), "0"); harness.check(Byte.toString((byte)-1), "-1"); harness.check(Byte.toString((byte)1), "1"); harness.check(Byte.toString((byte)127), "127"); harness.check(Byte.toString((byte)-128), "-128"); } } mauve-20140821/gnu/testlet/java/lang/Byte/compareToObject.java0000644000175000001440000001002111725412301022700 0ustar dokousers// Test of Byte method compareTo(Object). // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.4 // Tags: CompileOptions: -source 1.4 package gnu.testlet.java.lang.Byte; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test the method Byte.compareTo(Object); */ public class compareToObject implements Testlet { public static final int LESS = -1; public static final int EQUAL = 0; public static final int GREATER = 1; TestHarness harness; void compare(Byte i1, Object o, int expected) { // the result need not be -1, 0, 1; just <0, 0, >0 int result = i1.compareTo(o); switch (expected) { case LESS: harness.check(result < 0); break; case EQUAL: harness.check(result == 0); break; case GREATER: harness.check(result > 0); break; default: throw new Error(); } } /** * Entry point to this test. */ public void test(TestHarness harness) { this.harness = harness; Byte min = new Byte(Byte.MIN_VALUE); Byte negativeOne = new Byte((byte)-1); Byte zero = new Byte((byte)0); Byte positiveOne = new Byte((byte)1); Byte max = new Byte(Byte.MAX_VALUE); harness.checkPoint("compareTo"); compare(min, min, EQUAL); compare(min, negativeOne, LESS); compare(min, zero, LESS); compare(min, positiveOne, LESS); compare(min, max, LESS); compare(negativeOne, min, GREATER); compare(negativeOne, negativeOne, EQUAL); compare(negativeOne, zero, LESS); compare(negativeOne, positiveOne, LESS); compare(negativeOne, max, LESS); compare(zero, min, GREATER); compare(zero, negativeOne, GREATER); compare(zero, zero, EQUAL); compare(zero, positiveOne, LESS); compare(zero, max, LESS); compare(positiveOne, min, GREATER); compare(positiveOne, negativeOne, GREATER); compare(positiveOne, zero, GREATER); compare(positiveOne, positiveOne, EQUAL); compare(positiveOne, max, LESS); compare(max, min, GREATER); compare(max, negativeOne, GREATER); compare(max, zero, GREATER); compare(max, positiveOne, GREATER); compare(max, max, EQUAL); Object o = zero; boolean ok; harness.check(((Comparable)zero).compareTo(o) == 0); ok = false; try { zero.compareTo((Byte) null); } catch (NullPointerException e) { ok = true; } harness.check(ok); ok = false; try { ((Comparable)zero).compareTo((Object) null); } catch (NullPointerException e) { ok = true; } harness.check(ok); ok = false; try { ((Comparable)zero).compareTo(new Object()); } catch (ClassCastException e) { ok = true; } harness.check(ok); harness.checkPoint("negative test"); try { Byte a; Integer b; a = new Byte((byte)1); b = new Integer((byte)2); compare(a,b,1); harness.fail("Exception should be thrown here."); } catch (ClassCastException e) { // ok - exception was thrown harness.check(true); } try { Byte a; String b; a = new Byte((byte)1); b = "foobar"; compare(a,b,1); harness.fail("Exception should be thrown here."); } catch (ClassCastException e) { // ok - exception was thrown harness.check(true); } } } mauve-20140821/gnu/testlet/java/lang/Byte/ByteTest.java0000644000175000001440000000725710367245762021424 0ustar dokousers/* Copyright (C) 1999 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.0 package gnu.testlet.java.lang.Byte; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class ByteTest implements Testlet { protected static TestHarness harness; public void test_Basics() { harness.check(!( Byte.MIN_VALUE != -128 ), "test_Basics - 1" ); harness.check(!( Byte.MAX_VALUE != 127 ), "test_Basics - 2" ); Byte ch = new Byte((byte)'b'); harness.check(!( ch.byteValue() != (byte)'b' ), "test_Basics - 3" ); Byte ch1 = new Byte("122"); harness.check(!( ch1.byteValue() != 122 ), "test_Basics - 4" ); harness.check(!( (Byte.valueOf( "120")).byteValue() != 120 ), "test_Basics - 5" ); harness.check(!( (Byte.valueOf( "120")).byteValue() != 120 ), "test_Basics - 6" ); } public void test_toString() { Byte ch = new Byte((byte)'a'); String str = ch.toString(); harness.check(!( str.length() != 2 || !str.equals("97")), "test_toString" ); } public void test_equals() { Byte ch1 = new Byte((byte)'+'); Byte ch2 = new Byte((byte)'+'); Byte ch3 = new Byte((byte)'-'); harness.check(!( !ch1.equals(ch2) || ch1.equals(ch3) || ch1.equals(null)), "test_equals - 1" ); } public void test_hashCode( ) { Byte ch1 = new Byte((byte)'a'); harness.check(!( ch1.hashCode() != (int) 'a' ), "test_hashCode" ); } public void test_decode() { try { Byte.decode("1234"); harness.fail("test_decode - 1" ); } catch ( NumberFormatException e ){} harness.check(!( Byte.decode("34").intValue() != 34 ), "test_decode - 2" ); try { Byte.decode("123.34"); harness.fail("test_decode - 3" ); } catch ( NumberFormatException e ){} try { Byte.decode("ff"); harness.fail("test_decode - 4" ); } catch ( NumberFormatException e ){} } public void test_values() { Byte b = new Byte( (byte)100 ); Byte b1 = new Byte((byte) -123 ); harness.check(!( b.intValue () != 100 ), "test_values - 1" ); harness.check(!( b1.intValue () != -123 ), "test_values - 2" ); harness.check(!( b.longValue () != 100 ), "test_values - 3" ); harness.check(!( b1.longValue () != -123 ), "test_values - 4" ); harness.check(!( b.floatValue () != 100.0f ), "test_values - 5" ); harness.check(!( b1.floatValue () != -123.0f ), "test_values - 6" ); harness.check(!( b.doubleValue () != 100.0 ), "test_values - 7" ); harness.check(!( b1.doubleValue () != -123.0 ), "test_values - 8" ); harness.check(!( b.shortValue () != 100 ), "test_values - 9" ); harness.check(!( b1.shortValue () != -123 ), "test_values - 10" ); harness.check(!( b.byteValue () != 100 ), "test_values - 11" ); harness.check(!( b1.byteValue () != -123 ), "test_values - 12" ); } public void testall() { test_Basics(); test_equals(); test_toString(); test_hashCode(); test_decode(); test_values(); } public void test (TestHarness the_harness) { harness = the_harness; testall (); } } mauve-20140821/gnu/testlet/java/lang/Byte/valueOfByte.java0000644000175000001440000000271611730331231022057 0ustar dokousers// Test of Byte method valueOf(byte). // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.5 // Tags: CompileOptions: -source 1.5 package gnu.testlet.java.lang.Byte; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test the method Byte.valueOf(byte). */ public class valueOfByte implements Testlet { public void test (TestHarness harness) { harness.check(new Byte((byte)0).equals(Byte.valueOf((byte)0))); harness.check(new Byte((byte)-1).equals(Byte.valueOf((byte)-1))); harness.check(new Byte((byte)1).equals(Byte.valueOf((byte)1))); harness.check(new Byte((byte)127).equals(Byte.valueOf((byte)127))); harness.check(new Byte((byte)-128).equals(Byte.valueOf((byte)-128))); } } mauve-20140821/gnu/testlet/java/lang/Byte/byteDivide.java0000644000175000001440000001355112065037240021726 0ustar dokousers// Test byte division operation. // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA package gnu.testlet.java.lang.Byte; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test integer division operation. */ public class byteDivide implements Testlet { /** * Entry pobyte to this test. */ public void test(TestHarness harness) { testDividePositiveByPositiveCase1(harness); testDividePositiveByPositiveCase2(harness); testDividePositiveByPositiveCase3(harness); testDividePositiveByNegativeCase1(harness); testDividePositiveByNegativeCase2(harness); testDividePositiveByNegativeCase3(harness); testDivideNegativeByPositiveCase1(harness); testDivideNegativeByPositiveCase2(harness); testDivideNegativeByPositiveCase3(harness); testDivideNegativeByNegativeCase1(harness); testDivideNegativeByNegativeCase2(harness); testDivideNegativeByNegativeCase3(harness); testDivideMaxValue(harness); testDivideMinValue(harness); testDivideByMaxValue(harness); testDivideByMinValue(harness); testDivideByZeroCase1(harness); testDivideByZeroCase2(harness); testDivideByZeroCase3(harness); testDivideByZeroCase4(harness); testDivideByZeroCase5(harness); } public void testDividePositiveByPositiveCase1(TestHarness harness) { byte x = 10; byte y = 2; byte z = (byte)(x / y); harness.check(z == 5); } public void testDividePositiveByPositiveCase2(TestHarness harness) { byte x = 10; byte y = 3; byte z = (byte)(x / y); harness.check(z == 3); } public void testDividePositiveByPositiveCase3(TestHarness harness) { byte x = 11; byte y = 3; byte z = (byte)(x / y); harness.check(z == 3); } public void testDividePositiveByNegativeCase1(TestHarness harness) { byte x = 10; byte y = -2; byte z = (byte)(x / y); harness.check(z == -5); } public void testDividePositiveByNegativeCase2(TestHarness harness) { byte x = 10; byte y = -3; byte z = (byte)(x / y); harness.check(z == -3); } public void testDividePositiveByNegativeCase3(TestHarness harness) { byte x = 11; byte y = -3; byte z = (byte)(x / y); harness.check(z == -3); } public void testDivideNegativeByPositiveCase1(TestHarness harness) { byte x = -10; byte y = 2; byte z = (byte)(x / y); harness.check(z == -5); } public void testDivideNegativeByPositiveCase2(TestHarness harness) { byte x = -10; byte y = 3; byte z = (byte)(x / y); harness.check(z == -3); } public void testDivideNegativeByPositiveCase3(TestHarness harness) { byte x = -11; byte y = 3; byte z = (byte)(x / y); harness.check(z == -3); } public void testDivideNegativeByNegativeCase1(TestHarness harness) { byte x = -10; byte y = -2; byte z = (byte)(x / y); harness.check(z == 5); } public void testDivideNegativeByNegativeCase2(TestHarness harness) { byte x = -10; byte y = -3; byte z = (byte)(x / y); harness.check(z == 3); } public void testDivideNegativeByNegativeCase3(TestHarness harness) { byte x = -11; byte y = -3; byte z = (byte)(x / y); harness.check(z == 3); } public void testDivideMaxValue(TestHarness harness) { byte x = Byte.MAX_VALUE; byte y = 1; byte z = (byte)(x / y); harness.check(z == 127); } public void testDivideMinValue(TestHarness harness) { byte x = Byte.MIN_VALUE; byte y = 1; byte z = (byte)(x / y); harness.check(z == -128); } public void testDivideByMaxValue(TestHarness harness) { byte x = Byte.MAX_VALUE; byte y = Byte.MAX_VALUE; byte z = (byte)(x / y); harness.check(z == 1); } public void testDivideByMinValue(TestHarness harness) { byte x = Byte.MIN_VALUE; byte y = Byte.MIN_VALUE; byte z = (byte)(x / y); harness.check(z == 1); } public void testDivideByZeroCase1(TestHarness harness) { byte x = 1; byte y = 0; try { byte z = (byte)(x / y); harness.check(false); } catch(ArithmeticException e) { harness.check(true); } } public void testDivideByZeroCase2(TestHarness harness) { byte x = -1; byte y = 0; try { byte z = (byte)(x / y); harness.check(false); } catch(ArithmeticException e) { harness.check(true); } } public void testDivideByZeroCase3(TestHarness harness) { byte x = Byte.MAX_VALUE; byte y = 0; try { byte z = (byte)(x / y); harness.check(false); } catch(ArithmeticException e) { harness.check(true); } } public void testDivideByZeroCase4(TestHarness harness) { byte x = Byte.MIN_VALUE; byte y = 0; try { byte z = (byte)(x / y); harness.check(false); } catch(ArithmeticException e) { harness.check(true); } } public void testDivideByZeroCase5(TestHarness harness) { byte x = 0; byte y = 0; try { byte z = (byte)(x / y); harness.check(false); } catch(ArithmeticException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/lang/Byte/classInfo/0000755000175000001440000000000012375316426020721 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Byte/classInfo/getPackage.java0000644000175000001440000000302611752435510023612 0ustar dokousers// Test for method java.lang.Byte.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Byte.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Byte; /** * Test for method java.lang.Byte.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Byte((byte)42); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/Byte/classInfo/getInterfaces.java0000644000175000001440000000316411752435510024345 0ustar dokousers// Test for method java.lang.Byte.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Byte.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Byte; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.Byte.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Byte((byte)42); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); harness.check(interfaces.contains(Comparable.class)); } } mauve-20140821/gnu/testlet/java/lang/Byte/classInfo/getModifiers.java0000644000175000001440000000425711752435510024207 0ustar dokousers// Test for method java.lang.Byte.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Byte.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Byte; import java.lang.reflect.Modifier; /** * Test for method java.lang.Byte.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Byte((byte)42); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check( Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/Byte/classInfo/isPrimitive.java0000644000175000001440000000276311752435510024072 0ustar dokousers// Test for method java.lang.Byte.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Byte.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Byte; /** * Test for method java.lang.Byte.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Byte((byte)42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/Byte/classInfo/getSimpleName.java0000644000175000001440000000277411752435510024322 0ustar dokousers// Test for method java.lang.Byte.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Byte.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Byte; /** * Test for method java.lang.Byte.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Byte((byte)42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "Byte"); } } mauve-20140821/gnu/testlet/java/lang/Byte/classInfo/isAnnotationPresent.java0000644000175000001440000000414712026546135025574 0ustar dokousers// Test for method java.lang.Byte.getClass().isAnnotationPresent() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Byte.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Byte; /** * Test for method java.lang.Byte.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Byte Object o = new Byte((byte)42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/Byte/classInfo/isSynthetic.java0000644000175000001440000000276311752435510024074 0ustar dokousers// Test for method java.lang.Byte.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Byte.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Byte; /** * Test for method java.lang.Byte.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Byte((byte)42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/Byte/classInfo/isAnnotation.java0000644000175000001440000000275712026546135024240 0ustar dokousers// Test for method java.lang.Byte.getClass().isAnnotation() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Byte.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Byte; /** * Test for method java.lang.Byte.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Byte Object o = new Byte((byte)42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/Byte/classInfo/isInstance.java0000644000175000001440000000300011752435510023647 0ustar dokousers// Test for method java.lang.Byte.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Byte.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Byte; /** * Test for method java.lang.Byte.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Byte((byte)42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new Byte((byte)42))); } } mauve-20140821/gnu/testlet/java/lang/Byte/classInfo/isMemberClass.java0000644000175000001440000000277311752435510024320 0ustar dokousers// Test for method java.lang.Byte.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Byte.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Byte; /** * Test for method java.lang.Byte.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Byte((byte)42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/Byte/classInfo/getSuperclass.java0000644000175000001440000000307111752435510024403 0ustar dokousers// Test for method java.lang.Byte.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Byte.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Byte; /** * Test for method java.lang.Byte.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Byte((byte)42); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.Number"); } } mauve-20140821/gnu/testlet/java/lang/Byte/classInfo/isEnum.java0000644000175000001440000000272712026546135023027 0ustar dokousers// Test for method java.lang.Byte.getClass().isEnum() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Byte.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Byte; /** * Test for method java.lang.Byte.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Byte Object o = new Byte((byte)42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/Byte/classInfo/InstanceOf.java0000644000175000001440000000323511752435510023612 0ustar dokousers// Test for instanceof operator applied to a class java.lang.Byte // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Byte.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Byte; import java.lang.Number; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.Byte */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Byte Byte o = new Byte((byte)42); // basic check of instanceof operator harness.check(o instanceof Byte); // check operator instanceof against all superclasses harness.check(o instanceof Number); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/Byte/classInfo/isAnonymousClass.java0000644000175000001440000000277712026546135025106 0ustar dokousers// Test for method java.lang.Byte.getClass().isAnonymousClass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Byte.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Byte; /** * Test for method java.lang.Byte.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Byte Object o = new Byte((byte)42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/Byte/classInfo/isInterface.java0000644000175000001440000000276311752435510024022 0ustar dokousers// Test for method java.lang.Byte.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Byte.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Byte; /** * Test for method java.lang.Byte.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Byte((byte)42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/Byte/classInfo/isAssignableFrom.java0000644000175000001440000000301711752435510025007 0ustar dokousers// Test for method java.lang.Byte.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Byte.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Byte; /** * Test for method java.lang.Byte.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Byte((byte)42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(Byte.class)); } } mauve-20140821/gnu/testlet/java/lang/Byte/classInfo/isLocalClass.java0000644000175000001440000000276711752435510024146 0ustar dokousers// Test for method java.lang.Byte.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Byte.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Byte; /** * Test for method java.lang.Byte.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Byte((byte)42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/Byte/classInfo/getName.java0000644000175000001440000000275611752435510023150 0ustar dokousers// Test for method java.lang.Byte.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Byte.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Byte; /** * Test for method java.lang.Byte.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Byte((byte)42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.lang.Byte"); } } mauve-20140821/gnu/testlet/java/lang/Byte/classInfo/isArray.java0000644000175000001440000000273312026546135023176 0ustar dokousers// Test for method java.lang.Byte.getClass().isArray() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Byte.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Byte; /** * Test for method java.lang.Byte.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Byte Object o = new Byte((byte)42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/Byte/parseByte.java0000644000175000001440000001052111725412301021563 0ustar dokousers// Test of Byte method parseByte(String). // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.4 // Tags: CompileOptions: -source 1.4 package gnu.testlet.java.lang.Byte; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test the method Byte.parseByte(String); */ public class parseByte implements Testlet { public void test (TestHarness harness) { byte b; b = Byte.parseByte("0"); harness.check(b, 0); b = Byte.parseByte("1"); harness.check(b, 1); b = Byte.parseByte("000"); harness.check(b, 0); b = Byte.parseByte("007"); harness.check(b, 7); b = Byte.parseByte("-0"); harness.check(b, 0); b = Byte.parseByte("-1"); harness.check(b, -1); b = Byte.parseByte("-128"); harness.check(b, Byte.MIN_VALUE); b = Byte.parseByte("127"); harness.check(b, Byte.MAX_VALUE); try { b = Byte.parseByte("-129"); harness.fail("-129 is to small for a byte"); } catch (NumberFormatException nfe) { harness.check(true); } try { b = Byte.parseByte("128"); harness.fail("128 is to big for a byte"); } catch (NumberFormatException nfe) { harness.check(true); } try { b = Byte.parseByte("abc"); harness.fail("Illegal input (abc) must throw NumberFormatException"); } catch (NumberFormatException nfe) { harness.check(true); } try { b = Byte.parseByte("-"); harness.fail("Single '-' must throw NumberFormatException"); } catch (NumberFormatException nfe) { harness.check(true); } try { b = Byte.parseByte("+"); harness.fail("Single '+' must throw NumberFormatException"); } catch (NumberFormatException nfe) { harness.check(true); } // In JDK1.7, '+' is considered a valid character. // it means that the following step should be divided // for pre JDK1.7 case and >= JDK1.7 if (conformToJDK17()) { try { b = Byte.parseByte("+10"); harness.check(true); harness.check(b, 10); } catch (NumberFormatException nfe) { harness.fail("'+10' string is not parsed correctly as expected in JDK1.7"); } } else { // pre JDK1.7 branch try { b = Byte.parseByte("+10"); harness.fail("'+10' must throw NumberFormatException"); } catch (NumberFormatException nfe) { harness.check(true); } } try { b = Byte.parseByte(null); harness.fail("null input must throw NumberFormatException"); } catch (NullPointerException npe) { harness.fail("null input must throw NumberFormatException, not NullPointerException"); } catch (NumberFormatException nfe) { harness.check(true); } try { b = Byte.parseByte(""); harness.fail("empty input must throw NumberFormatException"); } catch (IndexOutOfBoundsException ioobe) { harness.fail("empty input must throw NumberFormatException, not IndexOutOfBoundsException"); } catch (NumberFormatException nfe) { harness.check(true); } } /** * Returns true if tested JRE conformns to JDK 1.7. * @author: Mark Wielaard */ private static boolean conformToJDK17() { String[] javaVersion = System.getProperty("java.version").split("\\."); String vendorID = System.getProperty("java.vendor"); // test of OpenJDK if ("Sun Microsystems Inc.".equals(vendorID)) { return Integer.parseInt(javaVersion[1]) >= 7; } return true; } } mauve-20140821/gnu/testlet/java/lang/Byte/parseByteRadix.java0000644000175000001440000001156711725412301022566 0ustar dokousers// Test of Byte method parseByte(String, radix). // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.4 // Tags: CompileOptions: -source 1.4 package gnu.testlet.java.lang.Byte; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test the method Byte.parseByte(String, radix); */ public class parseByteRadix implements Testlet { public void test (TestHarness harness) { byte b; b = Byte.parseByte("0", 2); harness.check(b, 0); b = Byte.parseByte("0", 10); harness.check(b, 0); b = Byte.parseByte("0", 16); harness.check(b, 0); b = Byte.parseByte("0", 36); harness.check(b, 0); b = Byte.parseByte("10", 8); harness.check(b, 8); b = Byte.parseByte("10", 10); harness.check(b, 10); b = Byte.parseByte("10", 16); harness.check(b, 16); b = Byte.parseByte("z", 36); harness.check(b, 35); b = Byte.parseByte("-80", 16); harness.check(b, Byte.MIN_VALUE); b = Byte.parseByte("7f", 16); harness.check(b, Byte.MAX_VALUE); try { b = Byte.parseByte("10", Character.MIN_RADIX - 1); harness.fail("too small radix"); } catch (NumberFormatException nfe) { harness.check(true); } try { b = Byte.parseByte("10", Character.MAX_RADIX + 1); harness.fail("too small radix"); } catch (NumberFormatException nfe) { harness.check(true); } try { b = Byte.parseByte("-129"); harness.fail("-129 is to small for a byte"); } catch (NumberFormatException nfe) { harness.check(true); } try { b = Byte.parseByte("128"); harness.fail("128 is to big for a byte"); } catch (NumberFormatException nfe) { harness.check(true); } try { b = Byte.parseByte("abc"); harness.fail("Illegal input (abc) must throw NumberFormatException"); } catch (NumberFormatException nfe) { harness.check(true); } try { b = Byte.parseByte("-"); harness.fail("Single '-' must throw NumberFormatException"); } catch (NumberFormatException nfe) { harness.check(true); } try { b = Byte.parseByte("+"); harness.fail("Single '+' must throw NumberFormatException"); } catch (NumberFormatException nfe) { harness.check(true); } // In JDK1.7, '+' is considered a valid character. // it means that the following step should be divided // for pre JDK1.7 case and >= JDK1.7 if (conformToJDK17()) { try { b = Byte.parseByte("+10", 10); harness.check(true); harness.check(b, 10); } catch (NumberFormatException nfe) { harness.fail("'+10' string is not parsed correctly as expected in JDK1.7"); } } else { // pre JDK1.7 branch try { b = Byte.parseByte("+10", 10); harness.fail("'+10' must throw NumberFormatException"); } catch (NumberFormatException nfe) { harness.check(true); } } try { b = Byte.parseByte(null, 10); harness.fail("null input must throw NumberFormatException"); } catch (NullPointerException npe) { harness.fail("null input must throw NumberFormatException, not NullPointerException"); } catch (NumberFormatException nfe) { harness.check(true); } try { b = Byte.parseByte("", 10); harness.fail("empty input must throw NumberFormatException"); } catch (IndexOutOfBoundsException ioobe) { harness.fail("empty input must throw NumberFormatException, not IndexOutOfBoundsException"); } catch (NumberFormatException nfe) { harness.check(true); } } /** * Returns true if tested JRE conformns to JDK 1.7. * @author: Mark Wielaard */ private static boolean conformToJDK17() { String[] javaVersion = System.getProperty("java.version").split("\\."); String vendorID = System.getProperty("java.vendor"); // test of OpenJDK if ("Sun Microsystems Inc.".equals(vendorID)) { return Integer.parseInt(javaVersion[1]) >= 7; } return true; } } mauve-20140821/gnu/testlet/java/lang/Byte/new_Byte.java0000644000175000001440000000253506634200705021415 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Byte; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class new_Byte implements Testlet { public void test (TestHarness harness) { Byte a = new Byte((byte) 0); Byte b = new Byte((byte) 1); Byte c = new Byte(Byte.MAX_VALUE); Byte d = new Byte((byte) -1); Byte e = new Byte(Byte.MIN_VALUE); harness.check (a.hashCode(), 0); harness.check (b.hashCode(), 1); harness.check (c.hashCode(), 127); harness.check (d.hashCode(), -1); harness.check (e.hashCode(), -128); } } mauve-20140821/gnu/testlet/java/lang/StringBuilder/0000755000175000001440000000000012375316426020652 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/StringBuilder/classInfo/0000755000175000001440000000000012375316426022573 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/StringBuilder/classInfo/getPackage.java0000644000175000001440000000310211755172425025465 0ustar dokousers// Test for method java.lang.StringBuilder.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.StringBuilder.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringBuilder; /** * Test for method java.lang.StringBuilder.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StringBuilder("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/StringBuilder/classInfo/getInterfaces.java0000644000175000001440000000337711755172425026233 0ustar dokousers// Test for method java.lang.StringBuilder.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.StringBuilder.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.Serializable; import java.lang.StringBuilder; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.StringBuilder.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StringBuilder("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); harness.check(interfaces.contains(Serializable.class)); harness.check(interfaces.contains(CharSequence.class)); } } mauve-20140821/gnu/testlet/java/lang/StringBuilder/classInfo/getModifiers.java0000644000175000001440000000433311755172425026062 0ustar dokousers// Test for method java.lang.StringBuilder.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.StringBuilder.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringBuilder; import java.lang.reflect.Modifier; /** * Test for method java.lang.StringBuilder.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StringBuilder("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check( Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/StringBuilder/classInfo/isPrimitive.java0000644000175000001440000000303711755172425025745 0ustar dokousers// Test for method java.lang.StringBuilder.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.StringBuilder.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringBuilder; /** * Test for method java.lang.StringBuilder.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StringBuilder("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/StringBuilder/classInfo/getSimpleName.java0000644000175000001440000000306111755172425026170 0ustar dokousers// Test for method java.lang.StringBuilder.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.StringBuilder.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringBuilder; /** * Test for method java.lang.StringBuilder.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StringBuilder("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "StringBuilder"); } } mauve-20140821/gnu/testlet/java/lang/StringBuilder/classInfo/isSynthetic.java0000644000175000001440000000303711755172425025747 0ustar dokousers// Test for method java.lang.StringBuilder.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.StringBuilder.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringBuilder; /** * Test for method java.lang.StringBuilder.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StringBuilder("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/StringBuilder/classInfo/isInstance.java0000644000175000001440000000306411755172425025541 0ustar dokousers// Test for method java.lang.StringBuilder.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.StringBuilder.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringBuilder; /** * Test for method java.lang.StringBuilder.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StringBuilder("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new StringBuilder("xyzzy"))); } } mauve-20140821/gnu/testlet/java/lang/StringBuilder/classInfo/isMemberClass.java0000644000175000001440000000304711755172425026173 0ustar dokousers// Test for method java.lang.StringBuilder.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.StringBuilder.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringBuilder; /** * Test for method java.lang.StringBuilder.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StringBuilder("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/StringBuilder/classInfo/getSuperclass.java0000644000175000001440000000316411755172425026266 0ustar dokousers// Test for method java.lang.StringBuilder.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.StringBuilder.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringBuilder; /** * Test for method java.lang.StringBuilder.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StringBuilder("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.AbstractStringBuilder"); } } mauve-20140821/gnu/testlet/java/lang/StringBuilder/classInfo/InstanceOf.java0000644000175000001440000000323711755172425025474 0ustar dokousers// Test for instanceof operator applied to a class java.lang.StringBuilder // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.StringBuilder.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringBuilder; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.StringBuilder */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StringBuilder StringBuilder o = new StringBuilder("xyzzy"); // basic check of instanceof operator harness.check(o instanceof StringBuilder); // check operator instanceof against all superclasses harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/StringBuilder/classInfo/isInterface.java0000644000175000001440000000303711755172425025675 0ustar dokousers// Test for method java.lang.StringBuilder.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.StringBuilder.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringBuilder; /** * Test for method java.lang.StringBuilder.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StringBuilder("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/StringBuilder/classInfo/isAssignableFrom.java0000644000175000001440000000310411755172425026664 0ustar dokousers// Test for method java.lang.StringBuilder.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.StringBuilder.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringBuilder; /** * Test for method java.lang.StringBuilder.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StringBuilder("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(StringBuilder.class)); } } mauve-20140821/gnu/testlet/java/lang/StringBuilder/classInfo/isLocalClass.java0000644000175000001440000000304311755172425026012 0ustar dokousers// Test for method java.lang.StringBuilder.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.StringBuilder.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringBuilder; /** * Test for method java.lang.StringBuilder.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StringBuilder("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/StringBuilder/classInfo/getName.java0000644000175000001440000000304311755172425025016 0ustar dokousers// Test for method java.lang.StringBuilder.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.StringBuilder.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringBuilder; /** * Test for method java.lang.StringBuilder.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StringBuilder("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.lang.StringBuilder"); } } mauve-20140821/gnu/testlet/java/lang/ProcessBuilder/0000755000175000001440000000000012375316426021022 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/ProcessBuilder/simple.java0000644000175000001440000000243510561715105023152 0ustar dokousers// Copyright (C) 2007 Red Hat, Inc. // Tags: JDK1.5 // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.ProcessBuilder; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.IOException; public class simple implements Testlet { public void test(TestHarness harness) { try { ProcessBuilder p1 = new ProcessBuilder("ls", "/nosuchdirectory"); p1.redirectErrorStream(true); Process p = p1.start(); byte[] buffer = new byte[1024]; harness.check(p.getInputStream().read(buffer) != -1); } catch (IOException _) { harness.check(false); } } } mauve-20140821/gnu/testlet/java/lang/Number/0000755000175000001440000000000012375316426017325 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Number/NewNumber.java0000644000175000001440000000100310343060161022045 0ustar dokousers// Tags: not-a-test package gnu.testlet.java.lang.Number; class NewNumber extends Number { private int intfld; public NewNumber() { super(); } public NewNumber(int i) { intfld = i; } public int intValue() { return intfld; } public float floatValue() { return intfld; } public double doubleValue() { return intfld; } public long longValue() { return intfld; } public byte byteValue() { return super.byteValue(); } public short shortValue() { return super.shortValue(); } } mauve-20140821/gnu/testlet/java/lang/Number/NumberTest.java0000644000175000001440000000275410206401717022255 0ustar dokousers/* Copyright (C) 1999 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.0 // Uses: NewNumber package gnu.testlet.java.lang.Number; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class NumberTest implements Testlet { protected static TestHarness harness; public void test_Basics() { NewNumber _newnum = new NewNumber(); NewNumber newnum = new NewNumber(300); NewNumber newnum1 = new NewNumber(Integer.MAX_VALUE); if ( newnum.byteValue() != (byte)300) harness.fail( "Error : test_Basics failed -1 "); if ( newnum1.shortValue() != (short)Integer.MAX_VALUE) harness.fail( "Error : test_Basics failed -2 "); } public void testall() { test_Basics(); } public void test (TestHarness the_harness) { harness = the_harness; testall (); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/0000755000175000001440000000000012375316426023540 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/getCause.java0000644000175000001440000000334412215606625026143 0ustar dokousers// Test the method getCause of a class java.lang.ExceptionInInitializerError // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.ExceptionInInitializerError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; /** * Test the method getCause of a class java.lang.ExceptionInInitializerError. */ public class getCause implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new ExceptionInInitializerError("ExceptionInInitializerError"); } catch (ExceptionInInitializerError e) { caught = true; Throwable t = e.getCause(); harness.check(t, null); } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/constructor.java0000644000175000001440000000411112173201042026744 0ustar dokousers// Test if instances of a class java.lang.ExceptionInInitializerError could be properly constructed // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; /** * Test if instances of a class java.lang.ExceptionInInitializerError * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { ExceptionInInitializerError object1 = new ExceptionInInitializerError(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.ExceptionInInitializerError"); ExceptionInInitializerError object2 = new ExceptionInInitializerError("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.ExceptionInInitializerError: nothing happens"); ExceptionInInitializerError object3 = new ExceptionInInitializerError(new Throwable()); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.ExceptionInInitializerError"); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/TryCatch.java0000644000175000001440000000340112173201042026101 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.ExceptionInInitializerError // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; /** * Test if try-catch block is working properly for a class java.lang.ExceptionInInitializerError */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new ExceptionInInitializerError("ExceptionInInitializerError"); } catch (ExceptionInInitializerError e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/0000755000175000001440000000000012375316426025461 5ustar dokousers././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getDeclaredConstructor.javamauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getDeclaredConstructor.ja0000644000175000001440000000764012174170667032457 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ExceptionInInitializerError.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.ExceptionInInitializerError", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.ExceptionInInitializerError", new Class[] {java.lang.Throwable.class}); constructorsThatShouldExist_jdk6.put("java.lang.ExceptionInInitializerError", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.ExceptionInInitializerError", new Class[] {java.lang.String.class}); constructorsThatShouldExist_jdk7.put("java.lang.ExceptionInInitializerError", new Class[] {java.lang.Throwable.class}); constructorsThatShouldExist_jdk7.put("java.lang.ExceptionInInitializerError", new Class[] {}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getPackage.java0000644000175000001440000000332612173201042030342 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().getPackage() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; /** * Test for method java.lang.ExceptionInInitializerError.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getDeclaredMethods.java0000644000175000001440000001032712174170667032060 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ExceptionInInitializerError.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedDeclaredMethods_jdk6.put("public java.lang.Throwable java.lang.ExceptionInInitializerError.getCause()", "getCause"); testedDeclaredMethods_jdk6.put("public java.lang.Throwable java.lang.ExceptionInInitializerError.getException()", "getException"); // map for methods declared in (Open)JDK7 testedDeclaredMethods_jdk7.put("public java.lang.Throwable java.lang.ExceptionInInitializerError.getCause()", "getCause"); testedDeclaredMethods_jdk7.put("public java.lang.Throwable java.lang.ExceptionInInitializerError.getException()", "getException"); // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); // check if all declared methods exist for (java.lang.reflect.Method declaredMethod : declaredMethods) { // method name should consists of package name + class name String methodName = declaredMethod.getName(); // modifiers + package + method name + parameter types String methodString = declaredMethod.toString().replaceAll(" native ", " "); harness.check(testedDeclaredMethods.containsKey(methodString)); harness.check(testedDeclaredMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getInterfaces.java0000644000175000001440000000336612173201042031076 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().getInterfaces() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.ExceptionInInitializerError.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getModifiers.java0000644000175000001440000000455712173201042030737 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().getModifiers() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; import java.lang.reflect.Modifier; /** * Test for method java.lang.ExceptionInInitializerError.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getDeclaredFields.java0000644000175000001440000001002112174170667031652 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().getDeclaredFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ExceptionInInitializerError.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 testedDeclaredFields_jdk6.put("private static final long java.lang.ExceptionInInitializerError.serialVersionUID", "serialVersionUID"); testedDeclaredFields_jdk6.put("private java.lang.Throwable java.lang.ExceptionInInitializerError.exception", "exception"); // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.ExceptionInInitializerError.serialVersionUID", "serialVersionUID"); testedDeclaredFields_jdk7.put("private java.lang.Throwable java.lang.ExceptionInInitializerError.exception", "exception"); // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getDeclaredConstructors.javamauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getDeclaredConstructors.j0000644000175000001440000001132112174170667032470 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ExceptionInInitializerError.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.ExceptionInInitializerError()", "java.lang.ExceptionInInitializerError"); testedDeclaredConstructors_jdk6.put("public java.lang.ExceptionInInitializerError(java.lang.Throwable)", "java.lang.ExceptionInInitializerError"); testedDeclaredConstructors_jdk6.put("public java.lang.ExceptionInInitializerError(java.lang.String)", "java.lang.ExceptionInInitializerError"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.ExceptionInInitializerError(java.lang.String)", "java.lang.ExceptionInInitializerError"); testedDeclaredConstructors_jdk7.put("public java.lang.ExceptionInInitializerError(java.lang.Throwable)", "java.lang.ExceptionInInitializerError"); testedDeclaredConstructors_jdk7.put("public java.lang.ExceptionInInitializerError()", "java.lang.ExceptionInInitializerError"); // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getField.java0000644000175000001440000000561312173445677030063 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().getField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ExceptionInInitializerError.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getFields.java0000644000175000001440000000575112173445677030251 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().getFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ExceptionInInitializerError.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/isPrimitive.java0000644000175000001440000000326312175717044030633 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; /** * Test for method java.lang.ExceptionInInitializerError.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getSimpleName.java0000644000175000001440000000332312175717043031055 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; /** * Test for method java.lang.ExceptionInInitializerError.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "ExceptionInInitializerError"); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getEnclosingClass.java0000644000175000001440000000335012174441114031722 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().getEnclosingClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; /** * Test for method java.lang.ExceptionInInitializerError.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/isAnnotationPresent.java0000644000175000001440000000445112175440464032335 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; /** * Test for method java.lang.ExceptionInInitializerError.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/isSynthetic.java0000644000175000001440000000326312175717044030635 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; /** * Test for method java.lang.ExceptionInInitializerError.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/isAnnotation.java0000644000175000001440000000326112175440464030772 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().isAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; /** * Test for method java.lang.ExceptionInInitializerError.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/isInstance.java0000644000175000001440000000335412175717043030427 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().isInstance(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; /** * Test for method java.lang.ExceptionInInitializerError.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new ExceptionInInitializerError("ExceptionInInitializerError"))); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getDeclaredMethod.java0000644000175000001440000000665312174170667031704 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ExceptionInInitializerError.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("getException", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("getException", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getDeclaredClasses.java0000644000175000001440000000342412174441114032036 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; /** * Test for method java.lang.ExceptionInInitializerError.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getComponentType.java0000644000175000001440000000334412173717246031635 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().getComponentType() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; /** * Test for method java.lang.ExceptionInInitializerError.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getMethod.java0000644000175000001440000001461112173445677030256 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().getMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ExceptionInInitializerError.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("getException", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("getException", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/isMemberClass.java0000644000175000001440000000327312175717044031061 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; /** * Test for method java.lang.ExceptionInInitializerError.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getConstructor.java0000644000175000001440000000760012173717246031355 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().getConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ExceptionInInitializerError.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.ExceptionInInitializerError", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.ExceptionInInitializerError", new Class[] {java.lang.Throwable.class}); constructorsThatShouldExist_jdk6.put("java.lang.ExceptionInInitializerError", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.ExceptionInInitializerError", new Class[] {java.lang.String.class}); constructorsThatShouldExist_jdk7.put("java.lang.ExceptionInInitializerError", new Class[] {java.lang.Throwable.class}); constructorsThatShouldExist_jdk7.put("java.lang.ExceptionInInitializerError", new Class[] {}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getSuperclass.java0000644000175000001440000000337712175717043031160 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().getSuperclass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; /** * Test for method java.lang.ExceptionInInitializerError.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.LinkageError"); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/isEnum.java0000644000175000001440000000323112175440464027561 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().isEnum() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; /** * Test for method java.lang.ExceptionInInitializerError.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getMethods.java0000644000175000001440000002040612173445677030440 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().getMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ExceptionInInitializerError.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public java.lang.Throwable java.lang.ExceptionInInitializerError.getCause()", "getCause"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.ExceptionInInitializerError.getException()", "getException"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public java.lang.Throwable java.lang.ExceptionInInitializerError.getCause()", "getCause"); testedMethods_jdk7.put("public java.lang.Throwable java.lang.ExceptionInInitializerError.getException()", "getException"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getAnnotations.java0000644000175000001440000000602412173445677031332 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().getAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.ExceptionInInitializerError.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/InstanceOf.java0000644000175000001440000000403312173201042030334 0ustar dokousers// Test for instanceof operator applied to a class java.lang.ExceptionInInitializerError // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; import java.lang.LinkageError; import java.lang.Error; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.ExceptionInInitializerError */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ExceptionInInitializerError ExceptionInInitializerError o = new ExceptionInInitializerError("ExceptionInInitializerError"); // basic check of instanceof operator harness.check(o instanceof ExceptionInInitializerError); // check operator instanceof against all superclasses harness.check(o instanceof LinkageError); harness.check(o instanceof Error); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getDeclaringClass.java0000644000175000001440000000335012174441114031671 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().getDeclaringClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; /** * Test for method java.lang.ExceptionInInitializerError.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getAnnotation.java0000644000175000001440000000513312173445676031146 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().getAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; /** * Test for method java.lang.ExceptionInInitializerError.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/isAnonymousClass.java0000644000175000001440000000330112175440464031631 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().isAnonymousClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; /** * Test for method java.lang.ExceptionInInitializerError.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getEnclosingMethod.java0000644000175000001440000000337012174441114032077 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; /** * Test for method java.lang.ExceptionInInitializerError.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/isInterface.java0000644000175000001440000000326312175717043030562 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().isInterface(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; /** * Test for method java.lang.ExceptionInInitializerError.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getConstructors.java0000644000175000001440000001073412173717246031542 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().getConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ExceptionInInitializerError.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.ExceptionInInitializerError()", "java.lang.ExceptionInInitializerError"); testedConstructors_jdk6.put("public java.lang.ExceptionInInitializerError(java.lang.Throwable)", "java.lang.ExceptionInInitializerError"); testedConstructors_jdk6.put("public java.lang.ExceptionInInitializerError(java.lang.String)", "java.lang.ExceptionInInitializerError"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.ExceptionInInitializerError(java.lang.String)", "java.lang.ExceptionInInitializerError"); testedConstructors_jdk7.put("public java.lang.ExceptionInInitializerError(java.lang.Throwable)", "java.lang.ExceptionInInitializerError"); testedConstructors_jdk7.put("public java.lang.ExceptionInInitializerError()", "java.lang.ExceptionInInitializerError"); // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/isAssignableFrom.java0000644000175000001440000000334612175717043031560 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; /** * Test for method java.lang.ExceptionInInitializerError.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(ExceptionInInitializerError.class)); } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getDeclaredAnnotations.javamauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getDeclaredAnnotations.ja0000644000175000001440000000606412174441114032412 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.ExceptionInInitializerError.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getDeclaredField.java0000644000175000001440000000604612174170667031503 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().getDeclaredField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ExceptionInInitializerError.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { "serialVersionUID", "exception", }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", "exception", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/isLocalClass.java0000644000175000001440000000326712175717043030706 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; /** * Test for method java.lang.ExceptionInInitializerError.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getEnclosingConstructor.javamauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getEnclosingConstructor.j0000644000175000001440000000343212174441114032513 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; /** * Test for method java.lang.ExceptionInInitializerError.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getCanonicalName.java0000644000175000001440000000334612173717246031523 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; /** * Test for method java.lang.ExceptionInInitializerError.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.ExceptionInInitializerError"); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getName.java0000644000175000001440000000330512173201042027664 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().getName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; /** * Test for method java.lang.ExceptionInInitializerError.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.ExceptionInInitializerError"); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getClasses.java0000644000175000001440000000336412173717246030430 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().getClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; /** * Test for method java.lang.ExceptionInInitializerError.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/isArray.java0000644000175000001440000000323512175440464027737 0ustar dokousers// Test for method java.lang.ExceptionInInitializerError.getClass().isArray() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ExceptionInInitializerError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; /** * Test for method java.lang.ExceptionInInitializerError.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ExceptionInInitializerError final Object o = new ExceptionInInitializerError("ExceptionInInitializerError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/ExceptionInInitializerError/getException.java0000644000175000001440000000336412215606625027043 0ustar dokousers// Test the method getException of a class java.lang.ExceptionInInitializerError // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.ExceptionInInitializerError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ExceptionInInitializerError; /** * Test the method getException of a class java.lang.ExceptionInInitializerError. */ public class getException implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new ExceptionInInitializerError("ExceptionInInitializerError"); } catch (ExceptionInInitializerError e) { caught = true; Throwable t = e.getException(); harness.check(t, null); } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/Thread/0000755000175000001440000000000012375316426017304 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Thread/priority.java0000644000175000001440000001001107547656637022041 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 2002 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Thread; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class priority implements Testlet, Runnable { private static TestHarness harness; private void test_set_prio(Thread t, String test_name) { int prio = t.getPriority(); harness.check(prio >= Thread.MIN_PRIORITY, test_name + " has at least MIN_PRIORITY"); harness.check(prio <= Thread.MAX_PRIORITY, test_name + " has at at most MAX_PRIORITY"); // Remember old thread group priority ThreadGroup tg = t.getThreadGroup(); harness.debug("ThreadGroup: " + tg); int thread_group_prio = t.getThreadGroup().getMaxPriority(); t.getThreadGroup().setMaxPriority(Thread.MAX_PRIORITY); for (int i = Thread.MIN_PRIORITY; i <= Thread.MAX_PRIORITY; i++) { t.setPriority(i); harness.check(t.getPriority() == i, test_name + " can be set to priority " + i); } t.getThreadGroup().setMaxPriority(Thread.NORM_PRIORITY); t.setPriority(Thread.NORM_PRIORITY+1); harness.check(t.getPriority() == Thread.NORM_PRIORITY, test_name + " has thread group upper bound"); // Reset thread group priority to not disturb other tests. t.getThreadGroup().setMaxPriority(thread_group_prio); boolean illegal_exception = false; try { t.setPriority(Thread.MIN_PRIORITY-1); } catch (IllegalArgumentException iae) { illegal_exception = true; } harness.check(illegal_exception, test_name + " cannot set prio to less then MIN_PRIORITY"); harness.check(t.getPriority() == Thread.NORM_PRIORITY, test_name + " prio doesn't change when set to illegal min"); illegal_exception = false; try { t.setPriority(Thread.MAX_PRIORITY+1); } catch (IllegalArgumentException iae) { illegal_exception = true; } harness.check(illegal_exception, test_name + " cannot set prio to more then MAX_PRIORITY"); harness.check(t.getPriority() == Thread.NORM_PRIORITY, test_name + " prio doesn't change when set to illegal max"); } public void test (TestHarness h) { harness = h; harness.check(10, Thread.MAX_PRIORITY); harness.check(1, Thread.MIN_PRIORITY); harness.check(5, Thread.NORM_PRIORITY); Thread current = Thread.currentThread(); test_set_prio(current, "Every Thread"); int prio = current.getPriority(); Thread t = new Thread(p); harness.check(t.getPriority() == prio, "New Thread inherits priority"); test_set_prio(t, "New Thread"); prio = t.getPriority(); t.start(); harness.check(t.getPriority() == prio, "Started Thread does not change priority"); test_set_prio(t, "Started Thread"); synchronized(p) { p.please_stop = true; p.notify(); } try { t.join(); } catch(InterruptedException ie) { } harness.check(t.getPriority() == prio, "Stopped Thread does not change priority"); // What is the expected behavior of setPriority on a stopped Thread? } static priority p = new priority(); boolean please_stop = false; public void run() { synchronized(p) { while(!please_stop) try { p.wait(); } catch(InterruptedException ie) { } } } } mauve-20140821/gnu/testlet/java/lang/Thread/security10.java0000644000175000001440000001335211232312777022157 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 2004, 2005 Free Software Foundation, Inc. // Written by Michael Koch (konqueror@gmx.de) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Thread; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.security.Permission; public class security10 implements Testlet { static class MySecurityManager extends SecurityManager { public void checkAccess(Thread thread) { throw new SecurityException(); } public void checkAccess(ThreadGroup thread) { throw new SecurityException(); } public void checkPermission(Permission perm) { RuntimePermission p = new RuntimePermission("setSecurityManager"); if (p.implies(perm)) return; super.checkPermission(perm); } } public void test (TestHarness h) { SecurityManager secman = System.getSecurityManager(); try { testImpl(h); } finally { System.setSecurityManager(secman); } } private void testImpl(TestHarness h) { h.checkPoint("Thread creation"); Thread testThread = new Thread(); ThreadGroup group = new ThreadGroup("MyGroup"); System.setSecurityManager(new MySecurityManager()); Runnable run = new Runnable() { public void run() { // Do nothing here. } }; try { Thread thread = new Thread(); h.check(false); } catch (SecurityException e) { h.check(true); } try { Thread thread = new Thread("MyThread"); h.check(false); } catch (SecurityException e) { h.check(true); } try { Thread thread = new Thread(run); h.check(false); } catch (SecurityException e) { h.check(true); } try { Thread thread = new Thread(run, "MyThread"); h.check(false); } catch (SecurityException e) { h.check(true); } h.checkPoint("Thread creation with ThreadGroup"); try { Thread thread = new Thread(group, "MyThread"); h.check(false); } catch (SecurityException e) { h.check(true); } try { Thread thread = new Thread(group, run); h.check(false); } catch (SecurityException e) { h.check(true); } try { Thread thread = new Thread(group, run, "MyThread"); h.check(false); } catch (SecurityException e) { h.check(true); } try { Thread thread = new Thread(group, run, "MyThread", 0); h.check(false); } catch (SecurityException e) { h.check(true); } h.checkPoint("Thread.interrupt()"); try { testThread.interrupt(); h.check(false); } catch (SecurityException e) { h.check(true); } h.checkPoint("Thread.stop()"); try { testThread.stop(); h.check(false); } catch (SecurityException e) { h.check(true); } catch (UnsupportedOperationException e) { h.check(false); } // FIXME: Added testcase to let the Thread stop itself. h.checkPoint("Thread.stop(Throwable)"); try { testThread.stop(new Error("Test")); h.check(false); } catch (SecurityException e) { h.check(true); } catch (UnsupportedOperationException e) { h.check(false); } // FIXME: Added testcase to let the Thread stop itself. h.checkPoint("Thread.suspend()"); try { testThread.suspend(); h.check(false); } catch (SecurityException e) { h.check(true); } h.checkPoint("Thread.resume()"); try { testThread.resume(); h.check(false); } catch (SecurityException e) { h.check(true); } h.checkPoint("Thread.setPriority(int)"); try { testThread.setPriority(Thread.MIN_PRIORITY); h.check(false); } catch (SecurityException e) { h.check(true); } try { testThread.setPriority(Thread.MAX_PRIORITY); h.check(false); } catch (SecurityException e) { h.check(true); } h.checkPoint("Thread.setName(String)"); try { testThread.setName("My-Thread"); h.check(false); } catch (SecurityException e) { h.check(true); } h.checkPoint("Thread.enumerate(Thread[])"); try { /** * does not call checkAccess(Thread) but * checkAccess(ThreadGroup) */ Thread[] array = new Thread[1]; Thread.enumerate(array); h.check(false); } catch (SecurityException e) { h.check(true); } h.checkPoint("Thread.setDaemon(boolean)"); try { testThread.setDaemon(false); h.check(false); } catch (SecurityException e) { h.check(true); } try { testThread.setDaemon(true); h.check(false); } catch (SecurityException e) { h.check(true); } h.checkPoint("Thread.checkAccess()"); try { testThread.checkAccess(); h.check(false); } catch (SecurityException e) { h.check(true); } } } mauve-20140821/gnu/testlet/java/lang/Thread/contextClassLoader.java0000644000175000001440000000537110142632354023745 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2002 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Thread; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class contextClassLoader implements Testlet, Runnable { // ClassLoader which should be returned by getContextClassLoader in run(). ClassLoader checkClassLoader; String check_msg; TestHarness h; public void test (TestHarness harness) { h = harness; Thread current = Thread.currentThread(); ClassLoader current_cl = current.getContextClassLoader(); try { ClassLoader system_cl = ClassLoader.getSystemClassLoader(); harness.check(current_cl, system_cl, "Default contextClassLoader is System ClassLoader"); Thread t = new Thread(this, "CL-Test-Thread"); ClassLoader t_cl = t.getContextClassLoader(); harness.check(t_cl, current_cl, "New thread inherits classloader"); checkClassLoader = t_cl; check_msg = "Run with default contextClassLoader"; t.start(); try { t.join(); } catch (InterruptedException e) { throw new Error(e); } current.setContextClassLoader(null); harness.check(current.getContextClassLoader() == null, "null is a valid contextClassLoader"); t = new Thread(this, "CL-Test-Thread-2"); harness.check(t.getContextClassLoader(), null, "New thread inherits null classloader"); checkClassLoader = null; check_msg = "run with null classloader"; t.start(); try { t.join(); } catch (InterruptedException e) { throw new Error(e); } } finally { // And set back the current classloader current.setContextClassLoader(current_cl); harness.check(current.getContextClassLoader(), current_cl, "Reset context classloader"); } } public void run() { Thread current = Thread.currentThread(); ClassLoader cl = current.getContextClassLoader(); h.debug("checkClassLoader: " + checkClassLoader); h.debug(current + ": " + cl); h.check(cl, checkClassLoader, check_msg); } } mauve-20140821/gnu/testlet/java/lang/Thread/stop.java0000644000175000001440000000655207734571750021152 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 2003 Free Software Foundation, Inc. // Written by C. Brian Jones (cbj@gnu.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Thread; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class stop extends Thread implements Testlet { static TestHarness harness; // accessed outside synchronized block by multiple threads static volatile boolean death = false; static Object lock = new Object(); static boolean running = false; public void run() { try { synchronized(lock) { running = true; lock.notifyAll(); while (true) lock.wait(); } } catch (Exception e) { harness.fail("Unexpected exception during run()"); } catch (ThreadDeath d) { death = true; Thread thread = Thread.currentThread(); ThreadGroup group = thread.getThreadGroup(); harness.check(group != null, "Stop should not remove thread from ThreadGroup"); throw d; } } public void test (TestHarness h) { harness = h; int initial_thread_count = 0; int running_thread_count = 0; int stopped_thread_count = 0; Thread[] thread_list = null; try { int x = 0; Thread current = Thread.currentThread(); ThreadGroup group = current.getThreadGroup(); x = group.activeCount() + 10; thread_list = new Thread[x]; initial_thread_count = group.enumerate(thread_list, true); stop t = new stop(); ThreadGroup tgroup = t.getThreadGroup(); harness.check (tgroup != null, "Unstarted thread has non-null thread group"); t.start(); synchronized(lock) { while (!running) { lock.wait(); } x = group.activeCount() + 10; thread_list = new Thread[x]; running_thread_count = group.enumerate(thread_list, true); tgroup = t.getThreadGroup(); harness.check(tgroup != null, "Running thread has non-null thread group"); } t.stop(); t.join(2000, 0); x = group.activeCount() + 10; thread_list = new Thread[x]; stopped_thread_count = group.enumerate(thread_list, true); harness.check(death, "ThreadDeath properly thrown and caught"); harness.check(initial_thread_count == stopped_thread_count, "Initial thread count matches stopped thread count"); harness.check(running_thread_count-1 == initial_thread_count, "Running thread properly increased thread count"); tgroup = t.getThreadGroup(); harness.check(tgroup == null, "Stopped thread has null thread group"); } catch (InterruptedException e) { harness.fail("Thread not joined - Thread.stop() unimplemented?"); } catch (Exception e) { harness.debug(e); harness.fail("Unexpected exception during test()"); } } } mauve-20140821/gnu/testlet/java/lang/Thread/interrupt.java0000644000175000001440000000612710045335252022177 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 2002 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Thread; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class interrupt implements Testlet { public void test (TestHarness harness) { Thread current = Thread.currentThread(); // Make sure interrupt flag is cleared Thread.interrupted(); harness.check(!current.isInterrupted(), "Thread.interrupted() makes isInterrupted() false"); harness.check(!Thread.interrupted(), "Thread.interrupted() makes interrupted() false"); // Make sure interrupt flag is set current.interrupt(); harness.check(current.isInterrupted(), "interrupt() makes isInterrupted() true"); harness.check(current.isInterrupted(), "isInterrupt() doesn't clear interrupt flag"); harness.check(Thread.interrupted(), "interrupt() makes interrupted() true"); // Set interrupt flag again for wait test current.interrupt(); boolean interrupted_exception = false; try { Object o = new Object(); synchronized(o) {o.wait(50);} } catch(InterruptedException ie) { interrupted_exception = true; } harness.check(interrupted_exception, "wait with interrupt flag throws InterruptedException"); harness.check(interrupted_exception && !Thread.interrupted(), "InterruptedException in wait() clears interrupt flag"); // Set interrupt flag again for sleep test current.interrupt(); interrupted_exception = false; try { Thread.sleep(50); } catch(InterruptedException ie) { interrupted_exception = true; } harness.check(interrupted_exception, "sleep with interrupt flag throws InterruptedException"); harness.check(interrupted_exception && !Thread.interrupted(), "InterruptedException in sleep() clears interrupt flag"); // Set interrupt flag again for join test current.interrupt(); interrupted_exception = false; try { current.join(50, 50); } catch(InterruptedException ie) { interrupted_exception = true; } harness.check(interrupted_exception, "join with interrupt flag throws InterruptedException"); harness.check(interrupted_exception && !Thread.interrupted(), "InterruptedException in join() clears interrupt flag"); } } mauve-20140821/gnu/testlet/java/lang/Thread/join.java0000644000175000001440000000735307547615663021130 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 2002 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Thread; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class join extends Thread implements Testlet { static TestHarness harness; // Set this to true if want this thread to notify and wait till please_stop boolean please_wait = false; boolean waiting = false; boolean please_stop = false; // Set to a value bigger then zero if you want the thread to sleep or work // a bit before terminating. int sleep = 0; int work = 0; // When set will join this Thread. Thread please_join = null; // Set when this Thread thinks it is done. boolean done = false; // Counter that is used to do some 'work' long counter = 0; public void run() { if (please_wait) synchronized(this) { waiting = true; this.notify(); while(!please_stop) try { this.wait(); } catch (InterruptedException ie) { harness.fail("Interrupted wait in run()"); } } if (sleep > 0) try { Thread.sleep(sleep); } catch (InterruptedException ignore) { harness.fail("Interrupted sleep in run()"); } if (work > 0) for (int i = 0; i < work; i++) counter += (sleep < 0 ? (work - 1) : work +1); // silly computation. if (please_join != null) try { please_join.join(); } catch (InterruptedException ignore) { harness.fail("Interrupted join in run()"); } done = true; } public void test (TestHarness h) { harness = h; try { Thread current = Thread.currentThread(); current.join(10,10); harness.check(current.isAlive(), "Can join current Thread"); join t = new join(); t.join(10,10); harness.check(!t.isAlive(), "Can join a non-started Thread"); t.start(); t.join(); harness.check(!t.isAlive(), "Can join a started Thread"); harness.check(t.done, "join() returns after Thread is done"); t.join(); harness.check(!t.isAlive(), "Can join a stopped Thread"); t = new join(); t.please_wait = true; t.start(); synchronized(t) { while (!t.waiting) t.wait(); } t.join(10,10); harness.check(t.waiting && !t.done, "Can join waiting Thread"); synchronized(t) { t.please_stop = true; t.notify(); } t.join(); harness.check(!t.isAlive(), "Can join wait/notify Thread"); harness.check(t.done, "join() returns after wait/notify Thread done"); t = new join(); t.work = 100000; t.start(); t.join(); harness.check(t.done, "join() returns after Thread has worked"); t = new join(); t.sleep = 750; t.start(); t.join(); harness.check(t.done, "join() returns after Thread has slept"); join t1 = new join(); t1.sleep = 750; t1.work = 100000; join t2 = new join(); t2.please_join = t1; t1.start(); t2.start(); t1.join(); t2.join(); harness.check(t1.done && t2.done, "Multiple Threads can join()"); } catch (InterruptedException ie) { harness.fail("Unexpected interrupt"); } } } mauve-20140821/gnu/testlet/java/lang/Thread/getThreadGroup.java0000644000175000001440000000374307547656637023122 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 2002 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Thread; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class getThreadGroup implements Testlet { public void test (TestHarness harness) { Thread current = Thread.currentThread(); harness.check(current.getThreadGroup() != null, "Every Thread has a ThreadGroup"); // By default the group is the same as the one from current thread Thread t = new Thread(); harness.check(t.getThreadGroup(), current.getThreadGroup()); // After the Thread dies the group should be null t.start(); try { t.join(); } catch (InterruptedException ignored) { } harness.check(t.getThreadGroup(), null); // Explicitly set the ThreadGroup ThreadGroup g = new ThreadGroup("Test-Group"); t = new Thread(g, "Test-Thread"); harness.check(t.getThreadGroup(), g); // Null Thread group means same as the current Thread t = new Thread((ThreadGroup) null, "Test-Thread-2"); harness.check(t.getThreadGroup(), current.getThreadGroup()); // Except when a Security Manager is set, but we don't want to set // that here because that might interfere with other tests... } } mauve-20140821/gnu/testlet/java/lang/Thread/daemon.java0000644000175000001440000000702007734571750021417 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 2002 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Thread; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class daemon extends Thread implements Testlet { TestHarness harness; boolean started = false; boolean please_stop = false; public void run() { synchronized(this) { started = true; notify(); while (!please_stop) { try { wait(); } catch(InterruptedException ignored) { } } } } public void test (TestHarness harness) { this.harness = harness; Thread current = Thread.currentThread(); boolean status = current.isDaemon(); boolean illegal_exception = false; try { current.setDaemon(!status); } catch (IllegalThreadStateException itse) { illegal_exception = true; } harness.check(illegal_exception, "Cannot change daemon state on current Thread"); harness.check(current.isDaemon() == status, "Daemon status not changed when set on current Thread"); daemon t = new daemon(); harness.check(t.isDaemon() == status, "Newly created thread gets daemon status of creator"); t.setDaemon(!status); harness.check(t.isDaemon() != status, "Can change daemon status on an unstarted Thread"); status = t.isDaemon(); // Make sure we have a running thread. t.start(); synchronized(t) { while (!t.started) try { t.wait(); } catch (InterruptedException ignored) { } } harness.check(t.isDaemon() == status, "Daemon status does not change when starting a Thread"); illegal_exception = false; try { t.setDaemon(!status); } catch (IllegalThreadStateException itse) { illegal_exception = true; } harness.check(illegal_exception, "Cannot change daemon state on a running Thread"); harness.check(t.isDaemon() == status, "Daemon status not changed when set on a running Thread"); status = t.isDaemon(); // Make sure the thread exits synchronized(t) { t.please_stop = true; t.notify(); } try { t.join(); } catch (InterruptedException ignored) { } // Note: the Sun Javadoc seems to contradict itself on whether you can // change daemon state on an exitted Thread. The observed behaviour // (on JDK 1.3.1 & 1.4.0) is that it works. (But why would you bother?) illegal_exception = false; try { t.setDaemon(!status); } catch (IllegalThreadStateException itse) { illegal_exception = true; } harness.check(!illegal_exception, "Can change daemon state on an exitted Thread"); harness.check(t.isDaemon() != status, "Daemon status changed when set on an exitted Thread"); } } mauve-20140821/gnu/testlet/java/lang/Thread/sleep.java0000644000175000001440000002461310323202343021244 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 2004 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.Thread; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class sleep implements Testlet, Runnable { private TestHarness harness; private Thread thread; private boolean helper_started; private boolean helper_done; private final static long SLEEP_TIME = 5 * 1000; // 5 seconds // Time the helper thread should sleep before interrupting the main // thread Or zero for immediate interruption (won't use // synchronization either in that case). private long helper_sleep = 0; // Helper method that runs from another thread. // Sleeps a bit and then interrupts the main thread. public void run() { try { if (helper_sleep == 0) { thread.interrupt(); helper_done = true; return; } // Make sure main thread know we are about to sleep. // (It should also go to sleep) synchronized(this) { helper_started = true; this.notify(); } Thread.sleep(helper_sleep); thread.interrupt(); // Main thread should still have the lock on this synchronized(this) { helper_done = true; } } catch (InterruptedException ie) { harness.debug("Interrupted in helper thread"); harness.check(false); } } public void test (TestHarness h) { harness = h; Thread helper = new Thread(this); harness.checkPoint("Interrupted sleep"); // Get a lock on this to coordinate with the runner thread. // We should not loose it while sleeping. synchronized(this) { helper_done = false; helper_sleep = SLEEP_TIME / 2; thread = Thread.currentThread(); long past = System.currentTimeMillis(); helper.start(); // Wait for the helper to start (and sleep immediately). try { while (!helper_started) this.wait(); } catch (InterruptedException ie) { harness.debug("Interrupted during helper start"); harness.check(false); } // Go to sleep. // Helper thread sleeps less time and should interrupt us. boolean interrupted_exception = false; try { Thread.sleep(SLEEP_TIME); } catch (InterruptedException ie) { interrupted_exception = true; } harness.check(interrupted_exception); // About half the time should have been spent sleeping. long present = System.currentTimeMillis(); long diff = present - past; harness.debug("diff: " + diff); harness.check(diff >= SLEEP_TIME / 2); harness.check(diff < SLEEP_TIME); // Even though we are interrupted, // the thread interrupted flag should be cleared. harness.check(!Thread.interrupted()); // We are still holding the lock so the helper_thread // cannot be done yet. harness.check(!helper_done); } // Now wait for the helper thead to finish try { helper.join(); } catch(InterruptedException ie) { harness.debug("Interruped during joining the helper thread"); harness.check(false); } harness.check(helper_done); // Invalid argument checks. harness.checkPoint("Invalid argument"); invalid(Long.MIN_VALUE); invalid(-1); invalid(Long.MIN_VALUE, Integer.MIN_VALUE); invalid(Long.MIN_VALUE, -1); invalid(Long.MIN_VALUE, 0); invalid(Long.MIN_VALUE, 1); invalid(Long.MIN_VALUE, 999999); invalid(Long.MIN_VALUE, 1000000); invalid(Long.MIN_VALUE, Integer.MAX_VALUE); invalid(-1, Integer.MIN_VALUE); invalid(-1, -1); invalid(-1, 0); invalid(-1, 1); invalid(-1, 999999); invalid(-1, 1000000); invalid(-1, Integer.MAX_VALUE); invalid(0, Integer.MIN_VALUE); invalid(0, -1); invalid(0, 1000000); invalid(0, Integer.MAX_VALUE); invalid(1, Integer.MIN_VALUE); invalid(1, -1); invalid(1, 1000000); invalid(1, Integer.MAX_VALUE); invalid(Long.MAX_VALUE, Integer.MIN_VALUE); invalid(Long.MAX_VALUE, -1); invalid(Long.MAX_VALUE, 1000000); invalid(Long.MAX_VALUE, Integer.MAX_VALUE); // (Large) valid argument checks valid(Integer.MAX_VALUE); valid(Long.MAX_VALUE); valid(Integer.MAX_VALUE, 0); valid(Long.MAX_VALUE, 0); valid(Integer.MAX_VALUE, 1); valid(Long.MAX_VALUE, 1); valid(Integer.MAX_VALUE, 999999); valid(Long.MAX_VALUE, 999999); // (Near) zero argument checks. harness.checkPoint("(Near) zero sleep"); long past = System.currentTimeMillis(); nearZero(0); nearZero(1); nearZero(0, 0); nearZero(0, 1); nearZero(0, 999999); nearZero(1, 0); nearZero(1, 1); nearZero(1, 999999); // The thread should have slept at least 5 miliseconds. // But certainly not more than 500 miliseconds. long present = System.currentTimeMillis(); long diff = present - past; harness.debug("diff: " + diff); harness.check(diff > 5); harness.check(diff < 500); // A thread in interrupted state that goes to sleep gets // InterruptedException. harness.checkPoint("Interrupted state sleep"); past = System.currentTimeMillis(); interruptedSleep(0); interruptedSleep(1); interruptedSleep(5000); interruptedSleep(0, 0); interruptedSleep(1, 0); interruptedSleep(0, 1); interruptedSleep(1, 1); interruptedSleep(5000, 0); interruptedSleep(5000, 5000); // The thread should not actually have slept (much) since it was always // immediately waken up by the InterrupedException. present = System.currentTimeMillis(); harness.check(present - past < 5000); } private void invalid(long milli) { boolean illegal_argument = false; try { Thread.sleep(milli); } catch (IllegalArgumentException iae) { illegal_argument = true; } catch(InterruptedException ie) { harness.debug("InterruptedException in invalid(" + milli + ")"); harness.check(false); } harness.check(illegal_argument); } private void invalid(long milli, int nano) { boolean illegal_argument = false; try { Thread.sleep(milli, nano); } catch (IllegalArgumentException iae) { illegal_argument = true; } catch(InterruptedException ie) { harness.debug("InterruptedException in invalid(" + milli + ", " + nano + ")"); harness.check(false); } harness.check(illegal_argument); } private void valid(long milli) { harness.checkPoint("valid long:" + milli); Thread helper = new Thread(this); helper_started = false; helper_done = false; helper_sleep = 1000; thread = Thread.currentThread(); // Wait for the helper to start (and sleep immediately). helper.start(); synchronized(this) { try { while (!helper_started) this.wait(); } catch (InterruptedException ie) { harness.debug("Interrupted during helper start"); harness.check(false); } } boolean interrupted_exception = false; try { Thread.sleep(milli); } catch (InterruptedException ie) { interrupted_exception = true; } harness.check(interrupted_exception); try { helper.join(); } catch(InterruptedException ie) { harness.debug("Interruped during joining the helper thread"); harness.check(false); } harness.check(helper_done); } private void valid(long milli, int nano) { harness.checkPoint("valid long " + milli + " int " + nano); Thread helper = new Thread(this); helper_started = false; helper_done = false; helper_sleep = 1000; thread = Thread.currentThread(); // Wait for the helper to start (and sleep immediately). helper.start(); synchronized(this) { try { while (!helper_started) this.wait(); } catch (InterruptedException ie) { harness.debug("Interrupted during helper start"); harness.check(false); } } boolean interrupted_exception = false; try { Thread.sleep(milli, nano); } catch (InterruptedException ie) { interrupted_exception = true; } catch (Exception x) { harness.debug(x); try { // wait for the interrupt from the helper Thread.sleep(1000); } catch (InterruptedException _) { } } harness.check(interrupted_exception); try { helper.join(); } catch(InterruptedException ie) { harness.debug("Interrupted during joining the helper thread"); harness.check(false); } harness.check(helper_done); } private void nearZero(long milli) { try { Thread.sleep(milli); harness.check(true); } catch(InterruptedException ie) { harness.debug("InterruptedException in nearZero(" + milli + ")"); harness.check(false); } } private void nearZero(long milli, int nano) { try { Thread.sleep(milli, nano); harness.check(true); } catch(InterruptedException ie) { harness.debug("InterruptedException in nearZero(" + milli + ", " + nano + ")"); harness.check(false); } } private void interruptedSleep(long milli) { boolean interrupted_exception = false; Thread.currentThread().interrupt(); try { Thread.sleep(milli); } catch(InterruptedException ie) { interrupted_exception = true; } harness.check(interrupted_exception); harness.check(!Thread.interrupted()); } private void interruptedSleep(long milli, int nano) { boolean interrupted_exception = false; Thread.currentThread().interrupt(); try { Thread.sleep(milli, nano); } catch(InterruptedException ie) { interrupted_exception = true; } harness.check(interrupted_exception); harness.check(!Thread.interrupted()); } } mauve-20140821/gnu/testlet/java/lang/Thread/name.java0000644000175000001440000000436407547601635021102 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 2002 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Thread; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class name implements Testlet { public void test (TestHarness harness) { Thread current = Thread.currentThread(); harness.check(current.getName() != null, "Every Thread has a non-null name"); Thread t = new Thread("Test-Thread"); harness.check(t.getName().equals("Test-Thread"), "Create thread with name"); t.setName("Test-Thread-NewName"); harness.check(t.getName().equals("Test-Thread-NewName"), "Setting new for Thread"); t.start(); t.setName("Test-Thread-NewName-Started"); harness.check(t.getName().equals("Test-Thread-NewName-Started"), "Setting new name for started Thread"); boolean null_exception = false; try { new Thread((String)null); } catch (NullPointerException npe) { null_exception = true; } harness.check(null_exception, "Cannot create Thread with null name"); t = new Thread(); String name = t.getName(); harness.check(name != null, "New Thread has non-null name"); null_exception = false; try { t.setName(null); } catch (NullPointerException npe) { null_exception = true; } harness.check(null_exception, "Cannot set Thread name to null"); harness.check(t.getName().equals(name), "Setting Thread name to null doesn't change name"); } } mauve-20140821/gnu/testlet/java/lang/Thread/security.java0000644000175000001440000002571411030455607022017 0ustar dokousers// Copyright (C) 2006, 2007 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 package gnu.testlet.java.lang.Thread; import java.io.File; import java.lang.reflect.Method; import java.net.URL; import java.net.URLClassLoader; import java.security.Permission; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.TestSecurityManager; public class security implements Testlet { private static Permission[] modifyThread = new Permission[] { new RuntimePermission("modifyThread")}; private static Permission[] modifyThreadGroup = new Permission[] { new RuntimePermission("modifyThreadGroup")}; public void test(TestHarness harness) { try { harness.checkPoint("setup"); // we need a different classloader for some of the checks to occur. Class testClass = new URLClassLoader(new URL[] { new File(harness.getBuildDirectory()).toURL()}, null).loadClass( getClass().getName()); harness.check(getClass().getClassLoader() != testClass.getClassLoader()); Method getContextClassLoaderTest = testClass.getMethod( "testGetContextClassLoader", new Class[] {Thread.class}); TestSecurityManager sm = new TestSecurityManager(harness); // The default SecurityManager.checkAccess(Thread) method only // checks permissions when the thread in question is a system // thread. System threads are those whose parent is the system // threadgroup, which is the threadgroup with no parent. // // The default SecurityManager.checkAccess(ThreadGroup) method // only checks permissions when the threadgroup in question is // the system threadgroup. ThreadGroup systemGroup = Thread.currentThread().getThreadGroup(); while (systemGroup.getParent() != null) systemGroup = systemGroup.getParent(); Thread testThread = new Thread(systemGroup, "test thread"); harness.check(testThread.getThreadGroup().getParent() == null); Thread modifyGroupThread = new Thread( systemGroup, new SysTestRunner(harness, sm)); harness.check(modifyGroupThread.getThreadGroup().getParent() == null); Throwable threadDeath = new ThreadDeath(); Throwable notThreadDeath = new ClassNotFoundException(); Runnable runnable = new Runnable() { public void run() { } }; Permission[] getClassLoader = new Permission[] { new RuntimePermission("getClassLoader")}; Permission[] setContextClassLoader = new Permission[] { new RuntimePermission("setContextClassLoader")}; Permission[] stopThread = new Permission[] { new RuntimePermission("modifyThread"), new RuntimePermission("stopThread")}; // XXX Thread.stop() tests only work on Classpath // XXX The checks don't happen otherwise, so calls // XXX to Thread.currentThread().stop() actually // XXX happen :( So, we inhibit this. boolean we_are_gnu_classpath = System.getProperty("gnu.classpath.version") != null; try { sm.install(); // throwpoint: java.lang.Thread-getContextClassLoader harness.checkPoint("getContextClassLoader"); try { sm.prepareChecks(getClassLoader); getContextClassLoaderTest.invoke(null, new Object[] {testThread}); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.Thread-setContextClassLoader harness.checkPoint("setContextClassLoader"); try { ClassLoader loader = testThread.getContextClassLoader(); sm.prepareChecks(setContextClassLoader); testThread.setContextClassLoader(loader); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.Thread-checkAccess harness.checkPoint("checkAccess"); try { sm.prepareChecks(modifyThread); testThread.checkAccess(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.Thread-interrupt harness.checkPoint("interrupt"); try { sm.prepareChecks(modifyThread); testThread.interrupt(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.Thread-suspend harness.checkPoint("suspend"); try { sm.prepareChecks(modifyThread); testThread.suspend(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.Thread-resume harness.checkPoint("resume"); try { sm.prepareChecks(modifyThread); testThread.resume(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.Thread-setPriority harness.checkPoint("setPriority"); try { int priority = testThread.getPriority(); sm.prepareChecks(modifyThread); testThread.setPriority(priority); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.Thread-setName harness.checkPoint("setName"); try { sm.prepareChecks(modifyThread); testThread.setName("a test thread"); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.Thread-setDaemon harness.checkPoint("setDaemon"); try { sm.prepareChecks(modifyThread); testThread.setDaemon(false); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.Thread-stop() harness.checkPoint("stop()"); try { sm.prepareChecks(stopThread); testThread.stop(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } try { sm.prepareHaltingChecks(modifyThread); if (we_are_gnu_classpath) Thread.currentThread().stop(); harness.check(false); } catch (TestSecurityManager.SuccessException ex) { harness.check(true); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.Thread-stop(Throwable) harness.checkPoint("stop(Throwable)"); try { sm.prepareChecks(stopThread); testThread.stop(threadDeath); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } try { sm.prepareChecks(stopThread); testThread.stop(notThreadDeath); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } try { sm.prepareHaltingChecks(modifyThread); if (we_are_gnu_classpath) Thread.currentThread().stop(threadDeath); harness.check(false); } catch (TestSecurityManager.SuccessException ex) { harness.check(true); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } try { sm.prepareHaltingChecks(stopThread); if (we_are_gnu_classpath) Thread.currentThread().stop(notThreadDeath); harness.check(false); } catch (TestSecurityManager.SuccessException ex) { harness.check(true); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // The modifyThreadGroup tests get run in a system thread. modifyGroupThread.start(); modifyGroupThread.join(); // throwpoint: java.lang.Thread-Thread(ThreadGroup, Runnable) // throwpoint: java.lang.Thread-Thread(ThreadGroup, Runnable, String) // throwpoint: java.lang.Thread-Thread(ThreadGroup, Runnable, String, long) // throwpoint: java.lang.Thread-Thread(ThreadGroup, String) harness.checkPoint("ThreadGroup constructors"); for (int i = 1; i <= 4; i++) { try { sm.prepareChecks(modifyThreadGroup, modifyThread); switch (i) { case 1: new Thread(systemGroup, runnable); break; case 2: new Thread(systemGroup, runnable, "test thread"); break; case 3: new Thread(systemGroup, runnable, "test thread", 1024); break; case 4: new Thread(systemGroup, "test thread"); break; } sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } } finally { sm.uninstall(); } } catch (Exception ex) { harness.debug(ex); harness.check(false, "Unexpected exception"); } } // Stuff for the getContextClassLoader tests public static void testGetContextClassLoader(Thread t) { t.getContextClassLoader(); } // Stuff for the modifyThreadGroup tests public static class SysTestRunner implements Runnable { private TestHarness harness; private TestSecurityManager sm; private static Runnable runnable = new Runnable() { public void run() { } }; public SysTestRunner(TestHarness harness, TestSecurityManager sm) { this.harness = harness; this.sm = sm; } public void run() { try { // throwpoint: java.lang.Thread-enumerate harness.checkPoint("enumerate"); try { sm.prepareChecks(modifyThreadGroup); Thread.enumerate(new Thread[0]); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.Thread-Thread() // throwpoint: java.lang.Thread-Thread(Runnable) // throwpoint: java.lang.Thread-Thread(String) // throwpoint: java.lang.Thread-Thread(Runnable, String) harness.checkPoint("basic constructors"); for (int i = 1; i <= 4; i++) { try { sm.prepareChecks(modifyThreadGroup, modifyThread); switch (i) { case 1: new Thread(); break; case 2: new Thread(runnable); break; case 3: new Thread("test thread"); break; case 4: new Thread(runnable, "test thread"); break; } sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } } catch (Exception ex) { harness.debug(ex); harness.check(false, "Unexpected exception"); } } } } mauve-20140821/gnu/testlet/java/lang/Thread/insecurity.java0000644000175000001440000001764010562130333022340 0ustar dokousers// Copyright (C) 2006, 2007 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 package gnu.testlet.java.lang.Thread; import java.security.Permission; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.TestSecurityManager; public class insecurity implements Testlet { private static Permission[] noChecks = new Permission[0]; public void test(TestHarness harness) { try { harness.checkPoint("setup"); TestSecurityManager sm = new TestSecurityManager(harness); // The default SecurityManager.checkAccess(Thread) method should // only check permissions when the thread in question is a system // thread. System threads are those whose parent is the system // threadgroup, which is the threadgroup with no parent. // // The default SecurityManager.checkAccess(ThreadGroup) method // should only check permissions when the threadgroup in // question is the system threadgroup. ThreadGroup systemGroup = Thread.currentThread().getThreadGroup(); while (systemGroup.getParent() != null) systemGroup = systemGroup.getParent(); ThreadGroup nonSystemGroup = new ThreadGroup(systemGroup, "test group"); Thread testThread = new Thread(nonSystemGroup, "test thread"); harness.check(testThread.getThreadGroup().getParent() != null); Thread modifyGroupThread = new Thread( nonSystemGroup, new SysTestRunner(harness, sm)); harness.check(modifyGroupThread.getThreadGroup().getParent() != null); Throwable threadDeath = new ThreadDeath(); Throwable notThreadDeath = new ClassNotFoundException(); Runnable runnable = new Runnable() { public void run() { } }; Permission[] stopThread = new Permission[] { new RuntimePermission("stopThread")}; try { sm.install(); // corresponding throwpoint: java.lang.Thread-checkAccess harness.checkPoint("checkAccess"); try { sm.prepareChecks(noChecks); testThread.checkAccess(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // corresponding throwpoint: java.lang.Thread-interrupt harness.checkPoint("interrupt"); try { sm.prepareChecks(noChecks); testThread.interrupt(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // corresponding throwpoint: java.lang.Thread-suspend harness.checkPoint("suspend"); try { sm.prepareChecks(noChecks); testThread.suspend(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // corresponding throwpoint: java.lang.Thread-resume harness.checkPoint("resume"); try { sm.prepareChecks(noChecks); testThread.resume(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // corresponding throwpoint: java.lang.Thread-setPriority harness.checkPoint("setPriority"); try { int priority = testThread.getPriority(); sm.prepareChecks(noChecks); testThread.setPriority(priority); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // corresponding throwpoint: java.lang.Thread-setName harness.checkPoint("setName"); try { sm.prepareChecks(noChecks); testThread.setName("a test thread"); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // corresponding throwpoint: java.lang.Thread-setDaemon harness.checkPoint("setDaemon"); try { sm.prepareChecks(noChecks); testThread.setDaemon(false); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // corresponding throwpoint: java.lang.Thread-stop() harness.checkPoint("stop()"); try { sm.prepareChecks(stopThread); testThread.stop(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // corresponding throwpoint: java.lang.Thread-stop(Throwable) harness.checkPoint("stop(Throwable)"); try { sm.prepareChecks(stopThread); testThread.stop(threadDeath); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } try { sm.prepareChecks(stopThread); testThread.stop(notThreadDeath); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // The noChecksGroup tests get run in a system thread. modifyGroupThread.start(); modifyGroupThread.join(); // corresponding throwpoints: java.lang.Thread-Thread(ThreadGroup, ...) harness.checkPoint("ThreadGroup constructors"); for (int i = 1; i <= 4; i++) { try { sm.prepareChecks(noChecks); switch (i) { case 1: new Thread(nonSystemGroup, runnable); break; case 2: new Thread(nonSystemGroup, runnable, "test thread"); break; case 3: new Thread(nonSystemGroup, runnable, "test thread", 1024); break; case 4: new Thread(nonSystemGroup, "test thread"); break; } sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } } finally { sm.uninstall(); } } catch (Exception ex) { harness.debug(ex); harness.check(false, "Unexpected exception"); } } // Stuff for the modifyThreadGroup tests public static class SysTestRunner implements Runnable { private TestHarness harness; private TestSecurityManager sm; private static Runnable runnable = new Runnable() { public void run() { } }; public SysTestRunner(TestHarness harness, TestSecurityManager sm) { this.harness = harness; this.sm = sm; } public void run() { try { // corresponding throwpoint: java.lang.Thread-enumerate harness.checkPoint("enumerate"); try { sm.prepareChecks(noChecks); Thread.enumerate(new Thread[0]); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // corresponding throwpoint: java.lang.Thread-Thread() // corresponding throwpoint: java.lang.Thread-Thread(Runnable) // corresponding throwpoint: java.lang.Thread-Thread(String) // corresponding throwpoint: java.lang.Thread-Thread(Runnable, String) harness.checkPoint("basic constructors"); for (int i = 1; i <= 4; i++) { try { sm.prepareChecks(noChecks); switch (i) { case 1: new Thread(); break; case 2: new Thread(runnable); break; case 3: new Thread("test thread"); break; case 4: new Thread(runnable, "test thread"); break; } sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } } catch (Exception ex) { harness.debug(ex); harness.check(false, "Unexpected exception"); } } } } mauve-20140821/gnu/testlet/java/lang/Thread/isAlive.java0000644000175000001440000000357107547656637021571 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 2002 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Thread; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class isAlive extends Thread implements Testlet { boolean started = false; boolean please_stop = false; public void run() { synchronized(this) { started = true; notify(); while(!please_stop) try { this.wait(); } catch (InterruptedException ignore) { } } } public void test (TestHarness harness) { Thread current = Thread.currentThread(); boolean alive = current.isAlive(); harness.check(alive, "Current running thread is always alive"); isAlive t = new isAlive(); harness.check(!t.isAlive(), "Newly created threads are not alive"); t.start(); synchronized(t) { while (!t.started) try { t.wait(); } catch (InterruptedException ignore) { } harness.check(t.isAlive(), "Running threads are alive"); t.please_stop = true; t.notify(); } try { t.join(); } catch (InterruptedException ignore) { } harness.check(!t.isAlive(), "Stopped threads are not alive"); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/0000755000175000001440000000000012375316426023456 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/constructor.java0000644000175000001440000000407612223477236026714 0ustar dokousers// Test if instances of a class java.lang.IllegalThreadStateException could be properly constructed // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; /** * Test if instances of a class java.lang.IllegalThreadStateException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IllegalThreadStateException object1 = new IllegalThreadStateException(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.IllegalThreadStateException"); IllegalThreadStateException object2 = new IllegalThreadStateException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.IllegalThreadStateException: nothing happens"); IllegalThreadStateException object3 = new IllegalThreadStateException(null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.IllegalThreadStateException"); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/TryCatch.java0000644000175000001440000000340112223477236026037 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.IllegalThreadStateException // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; /** * Test if try-catch block is working properly for a class java.lang.IllegalThreadStateException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new IllegalThreadStateException("IllegalThreadStateException"); } catch (IllegalThreadStateException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/0000755000175000001440000000000012375316426025377 5ustar dokousers././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getDeclaredConstructor.javamauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getDeclaredConstructor.ja0000644000175000001440000000725212225237672032371 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalThreadStateException.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.IllegalThreadStateException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.IllegalThreadStateException", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.IllegalThreadStateException", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.IllegalThreadStateException", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getPackage.java0000644000175000001440000000334012226736120030265 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().getPackage() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; /** * Test for method java.lang.IllegalThreadStateException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getDeclaredMethods.java0000644000175000001440000000627212225463150031767 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalThreadStateException.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getInterfaces.java0000644000175000001440000000340012223477236031021 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().getInterfaces() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.IllegalThreadStateException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getModifiers.java0000644000175000001440000000457112223477236030671 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().getModifiers() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; import java.lang.reflect.Modifier; /** * Test for method java.lang.IllegalThreadStateException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getDeclaredFields.java0000644000175000001440000000723712225237673031605 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().getDeclaredFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalThreadStateException.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.IllegalThreadStateException.serialVersionUID", "serialVersionUID"); // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getDeclaredConstructors.javamauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getDeclaredConstructors.j0000644000175000001440000001064512225237672032413 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalThreadStateException.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.IllegalThreadStateException()", "java.lang.IllegalThreadStateException"); testedDeclaredConstructors_jdk6.put("public java.lang.IllegalThreadStateException(java.lang.String)", "java.lang.IllegalThreadStateException"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.IllegalThreadStateException()", "java.lang.IllegalThreadStateException"); testedDeclaredConstructors_jdk7.put("public java.lang.IllegalThreadStateException(java.lang.String)", "java.lang.IllegalThreadStateException"); // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getField.java0000644000175000001440000000562512224474474027776 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().getField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalThreadStateException.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getFields.java0000644000175000001440000000576312224474474030164 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().getFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalThreadStateException.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/isPrimitive.java0000644000175000001440000000327512227161110030535 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; /** * Test for method java.lang.IllegalThreadStateException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getSimpleName.java0000644000175000001440000000333512226736120030770 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; /** * Test for method java.lang.IllegalThreadStateException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "IllegalThreadStateException"); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getEnclosingClass.java0000644000175000001440000000336212225463150031644 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().getEnclosingClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; /** * Test for method java.lang.IllegalThreadStateException.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/isAnnotationPresent.java0000644000175000001440000000446312225731225032250 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; /** * Test for method java.lang.IllegalThreadStateException.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/isSynthetic.java0000644000175000001440000000327512227161110030537 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; /** * Test for method java.lang.IllegalThreadStateException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/isAnnotation.java0000644000175000001440000000327312225731225030705 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().isAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; /** * Test for method java.lang.IllegalThreadStateException.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/isInstance.java0000644000175000001440000000340012226736120030327 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().isInstance(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; /** * Test for method java.lang.IllegalThreadStateException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new IllegalThreadStateException("java.lang.IllegalThreadStateException"))); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getDeclaredMethod.java0000644000175000001440000000623112225237673031610 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalThreadStateException.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getDeclaredClasses.java0000644000175000001440000000343612225237672031770 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; /** * Test for method java.lang.IllegalThreadStateException.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getComponentType.java0000644000175000001440000000335612224735600031545 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().getComponentType() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; /** * Test for method java.lang.IllegalThreadStateException.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getMethod.java0000644000175000001440000001440112224474474030163 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().getMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalThreadStateException.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/isMemberClass.java0000644000175000001440000000330512227161110030754 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; /** * Test for method java.lang.IllegalThreadStateException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getConstructor.java0000644000175000001440000000721212224735600031261 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().getConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalThreadStateException.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.IllegalThreadStateException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.IllegalThreadStateException", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.IllegalThreadStateException", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.IllegalThreadStateException", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getSuperclass.java0000644000175000001440000000342512226736120031062 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().getSuperclass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; /** * Test for method java.lang.IllegalThreadStateException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.IllegalArgumentException"); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/isEnum.java0000644000175000001440000000324312225731225027474 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().isEnum() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; /** * Test for method java.lang.IllegalThreadStateException.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getMethods.java0000644000175000001440000001776312224474474030364 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().getMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalThreadStateException.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getAnnotations.java0000644000175000001440000000603612224474474031245 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().getAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.IllegalThreadStateException.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/InstanceOf.java0000644000175000001440000000423612223477236030277 0ustar dokousers// Test for instanceof operator applied to a class java.lang.IllegalThreadStateException // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; import java.lang.IllegalArgumentException; import java.lang.RuntimeException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.IllegalThreadStateException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalThreadStateException IllegalThreadStateException o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // basic check of instanceof operator harness.check(o instanceof IllegalThreadStateException); // check operator instanceof against all superclasses harness.check(o instanceof IllegalArgumentException); harness.check(o instanceof RuntimeException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getDeclaringClass.java0000644000175000001440000000336212225463150031613 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().getDeclaringClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; /** * Test for method java.lang.IllegalThreadStateException.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getAnnotation.java0000644000175000001440000000514512224474474031062 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().getAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; /** * Test for method java.lang.IllegalThreadStateException.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/isAnonymousClass.java0000644000175000001440000000331312225731225031544 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().isAnonymousClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; /** * Test for method java.lang.IllegalThreadStateException.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getEnclosingMethod.java0000644000175000001440000000340212225463150032012 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; /** * Test for method java.lang.IllegalThreadStateException.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/isInterface.java0000644000175000001440000000327512226736120030475 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().isInterface(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; /** * Test for method java.lang.IllegalThreadStateException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getConstructors.java0000644000175000001440000001030012224735600031434 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().getConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalThreadStateException.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.IllegalThreadStateException()", "java.lang.IllegalThreadStateException"); testedConstructors_jdk6.put("public java.lang.IllegalThreadStateException(java.lang.String)", "java.lang.IllegalThreadStateException"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.IllegalThreadStateException()", "java.lang.IllegalThreadStateException"); testedConstructors_jdk7.put("public java.lang.IllegalThreadStateException(java.lang.String)", "java.lang.IllegalThreadStateException"); // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/isAssignableFrom.java0000644000175000001440000000336012226736120031464 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; /** * Test for method java.lang.IllegalThreadStateException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(IllegalThreadStateException.class)); } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getDeclaredAnnotations.javamauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getDeclaredAnnotations.ja0000644000175000001440000000607612224735600032335 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.IllegalThreadStateException.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getDeclaredField.java0000644000175000001440000000573612225237672031423 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().getDeclaredField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalThreadStateException.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/isLocalClass.java0000644000175000001440000000330112227161110030573 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; /** * Test for method java.lang.IllegalThreadStateException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getEnclosingConstructor.javamauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getEnclosingConstructor.j0000644000175000001440000000344412225463150032435 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; /** * Test for method java.lang.IllegalThreadStateException.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getCanonicalName.java0000644000175000001440000000336012224735600031424 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; /** * Test for method java.lang.IllegalThreadStateException.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.IllegalThreadStateException"); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getName.java0000644000175000001440000000331712223477236027625 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().getName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; /** * Test for method java.lang.IllegalThreadStateException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.IllegalThreadStateException"); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getClasses.java0000644000175000001440000000337612224735600030340 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().getClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; /** * Test for method java.lang.IllegalThreadStateException.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/IllegalThreadStateException/classInfo/isArray.java0000644000175000001440000000324712225731225027652 0ustar dokousers// Test for method java.lang.IllegalThreadStateException.getClass().isArray() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalThreadStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalThreadStateException; /** * Test for method java.lang.IllegalThreadStateException.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalThreadStateException final Object o = new IllegalThreadStateException("java.lang.IllegalThreadStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/0000755000175000001440000000000012375316426023611 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/constructor.java0000644000175000001440000000411312227444346027037 0ustar dokousers// Test if instances of a class java.lang.IncompatibleClassChangeError could be properly constructed // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; /** * Test if instances of a class java.lang.IncompatibleClassChangeError * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IncompatibleClassChangeError object1 = new IncompatibleClassChangeError(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.IncompatibleClassChangeError"); IncompatibleClassChangeError object2 = new IncompatibleClassChangeError("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.IncompatibleClassChangeError: nothing happens"); IncompatibleClassChangeError object3 = new IncompatibleClassChangeError(null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.IncompatibleClassChangeError"); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/TryCatch.java0000644000175000001440000000341012227444346026172 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.IncompatibleClassChangeError // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; /** * Test if try-catch block is working properly for a class java.lang.IncompatibleClassChangeError */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new IncompatibleClassChangeError("IncompatibleClassChangeError"); } catch (IncompatibleClassChangeError e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/0000755000175000001440000000000012375316426025532 5ustar dokousers././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getDeclaredConstructor.javamauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getDeclaredConstructor.j0000644000175000001440000000725312230170223032344 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.IncompatibleClassChangeError", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.IncompatibleClassChangeError", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.IncompatibleClassChangeError", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.IncompatibleClassChangeError", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getPackage.java0000644000175000001440000000333512232144022030413 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().getPackage() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getDeclaredMethods.java0000644000175000001440000000626712230170224032117 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getInterfaces.java0000644000175000001440000000337512232144021031146 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().getInterfaces() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getModifiers.java0000644000175000001440000000456612232144021031007 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().getModifiers() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; import java.lang.reflect.Modifier; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getDeclaredFields.java0000644000175000001440000000723512230170224031716 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().getDeclaredFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.IncompatibleClassChangeError.serialVersionUID", "serialVersionUID"); // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getDeclaredConstructors.javamauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getDeclaredConstructors.0000644000175000001440000001065212230170223032352 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.IncompatibleClassChangeError()", "java.lang.IncompatibleClassChangeError"); testedDeclaredConstructors_jdk6.put("public java.lang.IncompatibleClassChangeError(java.lang.String)", "java.lang.IncompatibleClassChangeError"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.IncompatibleClassChangeError()", "java.lang.IncompatibleClassChangeError"); testedDeclaredConstructors_jdk7.put("public java.lang.IncompatibleClassChangeError(java.lang.String)", "java.lang.IncompatibleClassChangeError"); // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getField.java0000644000175000001440000000562212231166453030117 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().getField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getFields.java0000644000175000001440000000576012231166454030306 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().getFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/isPrimitive.java0000644000175000001440000000327212231712014030665 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getSimpleName.java0000644000175000001440000000333312231166454031124 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "IncompatibleClassChangeError"); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getEnclosingClass.java0000644000175000001440000000335712231424737032010 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().getEnclosingClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/isAnnotationPresent.java0000644000175000001440000000446012232431120032365 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/isSynthetic.java0000644000175000001440000000327212231712014030667 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/isAnnotation.java0000644000175000001440000000327012232431120031022 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().isAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/isInstance.java0000644000175000001440000000336512231712013030463 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().isInstance(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new IncompatibleClassChangeError("IncompatibleClassChangeError"))); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getDeclaredMethod.java0000644000175000001440000000622612230170224031727 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getDeclaredClasses.java0000644000175000001440000000343312232144021032077 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getComponentType.java0000644000175000001440000000335312227743565031711 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().getComponentType() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getMethod.java0000644000175000001440000001437612231166454030323 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().getMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/isMemberClass.java0000644000175000001440000000330212231712014031104 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getConstructor.java0000644000175000001440000000721312227743565031431 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().getConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.IncompatibleClassChangeError", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.IncompatibleClassChangeError", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.IncompatibleClassChangeError", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.IncompatibleClassChangeError", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getSuperclass.java0000644000175000001440000000340612231166454031217 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().getSuperclass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.LinkageError"); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/isEnum.java0000644000175000001440000000324012232431121027612 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().isEnum() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getMethods.java0000644000175000001440000001776012231166454030506 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().getMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getAnnotations.java0000644000175000001440000000603312227444346031373 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().getAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/InstanceOf.java0000644000175000001440000000404412227444346030427 0ustar dokousers// Test for instanceof operator applied to a class java.lang.IncompatibleClassChangeError // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; import java.lang.LinkageError; import java.lang.Error; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.IncompatibleClassChangeError */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IncompatibleClassChangeError IncompatibleClassChangeError o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // basic check of instanceof operator harness.check(o instanceof IncompatibleClassChangeError); // check operator instanceof against all superclasses harness.check(o instanceof LinkageError); harness.check(o instanceof Error); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getDeclaringClass.java0000644000175000001440000000335712231424737031757 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().getDeclaringClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getAnnotation.java0000644000175000001440000000514212227444346031210 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().getAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/isAnonymousClass.java0000644000175000001440000000331012232431121031662 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().isAnonymousClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getEnclosingMethod.java0000644000175000001440000000337712231424737032165 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/isInterface.java0000644000175000001440000000327212231712014030615 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().isInterface(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getConstructors.java0000644000175000001440000001030512227743565031610 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().getConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.IncompatibleClassChangeError()", "java.lang.IncompatibleClassChangeError"); testedConstructors_jdk6.put("public java.lang.IncompatibleClassChangeError(java.lang.String)", "java.lang.IncompatibleClassChangeError"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.IncompatibleClassChangeError()", "java.lang.IncompatibleClassChangeError"); testedConstructors_jdk7.put("public java.lang.IncompatibleClassChangeError(java.lang.String)", "java.lang.IncompatibleClassChangeError"); // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/isAssignableFrom.java0000644000175000001440000000335612232431121031612 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(IncompatibleClassChangeError.class)); } } ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getDeclaredAnnotations.javamauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getDeclaredAnnotations.j0000644000175000001440000000607312232144021032312 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getDeclaredField.java0000644000175000001440000000573312230170223031533 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().getDeclaredField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/isLocalClass.java0000644000175000001440000000327612231712014030741 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getEnclosingConstructor.javamauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getEnclosingConstructor.0000644000175000001440000000344112231424737032420 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getCanonicalName.java0000644000175000001440000000335612227743565031600 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.IncompatibleClassChangeError"); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getName.java0000644000175000001440000000331512232144022027736 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().getName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.IncompatibleClassChangeError"); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/getClasses.java0000644000175000001440000000337312227743565030504 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().getClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/IncompatibleClassChangeError/classInfo/isArray.java0000644000175000001440000000324412232431121027770 0ustar dokousers// Test for method java.lang.IncompatibleClassChangeError.getClass().isArray() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IncompatibleClassChangeError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IncompatibleClassChangeError; /** * Test for method java.lang.IncompatibleClassChangeError.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IncompatibleClassChangeError final Object o = new IncompatibleClassChangeError("IncompatibleClassChangeError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/Long/0000755000175000001440000000000012375316450016771 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Long/parseLongRadix.java0000644000175000001440000001164011726104645022560 0ustar dokousers// Test of Long.method parseLong(String, radix). // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.4 // Tags: CompileOptions: -source 1.4 package gnu.testlet.java.lang.Long; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test the method Long.parseLong(String, radix); */ public class parseLongRadix implements Testlet { public void test (TestHarness harness) { long l; l = Long.parseLong("0", 2); harness.check(l, 0); l = Long.parseLong("0", 10); harness.check(l, 0); l = Long.parseLong("0", 16); harness.check(l, 0); l = Long.parseLong("0", 36); harness.check(l, 0); l = Long.parseLong("10", 8); harness.check(l, 8); l = Long.parseLong("10", 10); harness.check(l, 10); l = Long.parseLong("10", 16); harness.check(l, 16); l = Long.parseLong("z", 36); harness.check(l, 35); l = Long.parseLong("-80", 16); harness.check(l, -128); l = Long.parseLong("7f", 16); harness.check(l, 127); try { l = Long.parseLong("10", Character.MIN_RADIX - 1); harness.fail("too small radix"); } catch (NumberFormatException nfe) { harness.check(true); } try { l = Long.parseLong("10", Character.MAX_RADIX + 1); harness.fail("too small radix"); } catch (NumberFormatException nfe) { harness.check(true); } try { l = Long.parseLong("-9223372036854775809"); harness.fail("-9223372036854775809 is to small for a Long"); } catch (NumberFormatException nfe) { harness.check(true); } try { l = Long.parseLong("9223372036854775808"); harness.fail("9223372036854775808 is to big for a Long"); } catch (NumberFormatException nfe) { harness.check(true); } try { l = Long.parseLong("abc"); harness.fail("Illegal input (abc) must throw NumberFormatException"); } catch (NumberFormatException nfe) { harness.check(true); } try { l = Long.parseLong("-"); harness.fail("Single '-' must throw NumberFormatException"); } catch (NumberFormatException nfe) { harness.check(true); } try { l = Long.parseLong("+"); harness.fail("Single '+' must throw NumberFormatException"); } catch (NumberFormatException nfe) { harness.check(true); } // In JDK1.7, '+' is considered a valid character. // it means that the following step should be divided // for pre JDK1.7 case and >= JDK1.7 if (conformToJDK17()) { try { l = Long.parseLong("+10", 10); harness.check(true); harness.check(l, 10); } catch (NumberFormatException nfe) { harness.fail("'+10' string is not parsed correctly as expected in JDK1.7"); } } else { // pre JDK1.7 branch try { l = Long.parseLong("+10", 10); harness.fail("'+10' must throw NumberFormatException"); } catch (NumberFormatException nfe) { harness.check(true); } } try { l = Long.parseLong(null, 10); harness.fail("null input must throw NumberFormatException"); } catch (NullPointerException npe) { harness.fail("null input must throw NumberFormatException, not NullPointerException"); } catch (NumberFormatException nfe) { harness.check(true); } try { l = Long.parseLong("", 10); harness.fail("empty input must throw NumberFormatException"); } catch (IndexOutOfBoundsException ioobe) { harness.fail("empty input must throw NumberFormatException, not IndexOutOfBoundsException"); } catch (NumberFormatException nfe) { harness.check(true); } } /** * Returns true if tested JRE conformns to JDK 1.7. * @author: Mark Wielaard */ private static boolean conformToJDK17() { String[] javaVersion = System.getProperty("java.version").split("\\."); String vendorID = System.getProperty("java.vendor"); // test of OpenJDK if ("Sun Microsystems Inc.".equals(vendorID)) { return Long.parseLong(javaVersion[1]) >= 7; } return true; } } mauve-20140821/gnu/testlet/java/lang/Long/getLong.java0000644000175000001440000000772407452333072021244 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Long; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Properties; public class getLong implements Testlet { public void test (TestHarness harness) { // Augment the System properties with the following. // Overwriting is bad because println needs the // platform-dependent line.separator property. Properties p = System.getProperties(); p.put("e1", Long.toString(Long.MIN_VALUE)); p.put("e2", Long.toString(Long.MAX_VALUE)); p.put("e3", "0" + Long.toOctalString(Long.MIN_VALUE)); p.put("e4", "0" + Long.toOctalString(Long.MAX_VALUE)); p.put("e5", "0x" + Long.toHexString(Long.MIN_VALUE)); p.put("e6", "0x" + Long.toHexString(Long.MAX_VALUE)); p.put("e7", "0" + Long.toString(Long.MAX_VALUE, 8)); p.put("e8", "#" + Long.toString(Long.MAX_VALUE, 16)); p.put("e9", ""); p.put("e10", " "); p.put("e11", "foo"); try { harness.check (Long.getLong("e1").toString(), "-9223372036854775808"); } catch (NullPointerException npe) { harness.check(false); } try { harness.check (Long.getLong("e2").toString(), "9223372036854775807"); } catch (NullPointerException npe) { harness.check(false); } try { harness.check (Long.getLong("e3"), null); } catch (NullPointerException npe) { harness.check(false); } try { harness.check (Long.getLong("e4").toString(), "9223372036854775807"); } catch (NullPointerException npe) { harness.check(false); } try { harness.check (Long.getLong("e5", 12345L).toString(), "12345"); } catch (NullPointerException npe) { harness.check(false); } try { harness.check (Long.getLong("e6", new Long(56789L)).toString(), "9223372036854775807"); } catch (NullPointerException npe) { harness.check(false); } try { harness.check (Long.getLong("e7", null).toString(), "9223372036854775807"); } catch (NullPointerException npe) { harness.check(false); } try { harness.check (Long.getLong("e8", 12345).toString(), "9223372036854775807"); } catch (NullPointerException npe) { harness.check(false); } try { harness.check (Long.getLong("e9", new Long(56789L)).toString(), "56789"); } catch (NullPointerException npe) { harness.check(false); } try { harness.check (Long.getLong("e10", null), null); } catch (NullPointerException npe) { harness.check(false); } try { harness.check (Long.getLong("e11"), null); } catch (NullPointerException npe) { harness.check(false); } try { harness.check (Long.getLong("junk", 12345L).toString(), "12345"); } catch (NullPointerException npe) { harness.check(false); } try { harness.check (Long.getLong("junk", new Long(56789L)).toString(), "56789"); } catch (NullPointerException npe) { harness.check(false); } try { harness.check (Long.getLong("junk", null), null); } catch (NullPointerException npe) { harness.check(false); } try { harness.check (Long.getLong("junk"), null); } catch (NullPointerException npe) { harness.check(false); } } } mauve-20140821/gnu/testlet/java/lang/Long/Tests15.java0000644000175000001440000000664610321551226021107 0ustar dokousers/* Tests15.java -- tests for 1.5 features of Long Copyright (C) 2005 Red Hat, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.java.lang.Long; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class Tests15 implements Testlet { public void test(TestHarness harness) { harness.check(Long.SIZE, 64); harness.check(Long.valueOf(123456), new Long(123456)); harness.checkPoint("bitCount"); harness.check(Long.bitCount(0xffffffffffffffffL), 64); harness.check(Long.bitCount(0x5555555555555555L), 32); harness.check(Long.bitCount(0L), 0); harness.check(Long.bitCount(0x55555555aaaaaaaaL), 32); harness.check(Long.bitCount(0x1248842124188241L), 16); harness.checkPoint("rotateLeft"); harness.check(Long.rotateLeft(0xffffffff00000000L, 16), 0xffff00000000ffffL); harness.check(Long.rotateLeft(0x123456789abcdef0L, 128), 0x123456789abcdef0L); harness.checkPoint("rotateRight"); harness.check(Long.rotateRight(0xffffffff00000000L, 16), 0x0000ffffffff0000L); harness.check(Long.rotateRight(0x123456789abcdef0L, 128), 0x123456789abcdef0L); harness.checkPoint("highestOneBit"); harness.check(Long.highestOneBit(0x00ff0000000000ffL), 0x0080000000000000L); harness.check(Long.highestOneBit(0xf00000000000000fL), 0x8000000000000000L); harness.check(Long.highestOneBit(0), 0); harness.checkPoint("numberOfLeadingZeros"); harness.check(Long.numberOfLeadingZeros(0xf000000000000000L), 0); harness.check(Long.numberOfLeadingZeros(0x0505050505050505L), 5); harness.check(Long.numberOfLeadingZeros(1), 63); harness.check(Long.numberOfLeadingZeros(0), 64); harness.checkPoint("lowestOneBit"); harness.check(Long.lowestOneBit(0x00ff0000000000ffL), 1); harness.check(Long.lowestOneBit(0xf00000000000000fL), 1); harness.check(Long.lowestOneBit(0xf000000000000f00L), 0x100); harness.check(Long.lowestOneBit(0), 0); harness.checkPoint("numberOfTrailingZeros"); harness.check(Long.numberOfTrailingZeros(5), 0); harness.check(Long.numberOfTrailingZeros(0xf0), 4); harness.check(Long.numberOfTrailingZeros(0x8000000000000000L), 63); harness.check(Long.numberOfTrailingZeros(0), 64); harness.checkPoint("signum"); harness.check(Long.signum(0), 0); harness.check(Long.signum(1), 1); harness.check(Long.signum(0x7fffffffffffffffL), 1); harness.check(Long.signum(0x8000000000000000L), -1); harness.check(Long.signum(-1L), -1); harness.checkPoint("reverseBytes"); harness.check(Long.reverseBytes(0), 0); harness.check(Long.reverseBytes(0x123456789abcdef0L), 0xf0debc9a78563412L); harness.checkPoint("reverse"); harness.check(Long.reverse(0), 0); harness.check(Long.reverse(-1), -1); harness.check(Long.reverse(0x5555555555555555L), 0xaaaaaaaaaaaaaaaaL); } } mauve-20140821/gnu/testlet/java/lang/Long/longModulo.java0000644000175000001440000001337712064601267021764 0ustar dokousers// Test long modulo operation. // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA package gnu.testlet.java.lang.Long; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test integer modulo operation. */ public class longModulo implements Testlet { /** * Entry point to this test. */ public void test(TestHarness harness) { testModuloPositiveByPositiveCase1(harness); testModuloPositiveByPositiveCase2(harness); testModuloPositiveByPositiveCase3(harness); testModuloPositiveByNegativeCase1(harness); testModuloPositiveByNegativeCase2(harness); testModuloPositiveByNegativeCase3(harness); testModuloNegativeByPositiveCase1(harness); testModuloNegativeByPositiveCase2(harness); testModuloNegativeByPositiveCase3(harness); testModuloNegativeByNegativeCase1(harness); testModuloNegativeByNegativeCase2(harness); testModuloNegativeByNegativeCase3(harness); testModuloMaxValue(harness); testModuloMinValue(harness); testModuloByMaxValue(harness); testModuloByMinValue(harness); testModuloByZeroCase1(harness); testModuloByZeroCase2(harness); testModuloByZeroCase3(harness); testModuloByZeroCase4(harness); testModuloByZeroCase5(harness); } public void testModuloPositiveByPositiveCase1(TestHarness harness) { long x = 10L; long y = 2L; long z = x % y; harness.check(z == 0); } public void testModuloPositiveByPositiveCase2(TestHarness harness) { long x = 10L; long y = 3L; long z = x % y; harness.check(z == 1); } public void testModuloPositiveByPositiveCase3(TestHarness harness) { long x = 11L; long y = 3L; long z = x % y; harness.check(z == 2); } public void testModuloPositiveByNegativeCase1(TestHarness harness) { long x = 10L; long y = -2L; long z = x % y; harness.check(z == 0); } public void testModuloPositiveByNegativeCase2(TestHarness harness) { long x = 10L; long y = -3L; long z = x % y; harness.check(z == 1); } public void testModuloPositiveByNegativeCase3(TestHarness harness) { long x = 11L; long y = -3L; long z = x % y; harness.check(z == 2); } public void testModuloNegativeByPositiveCase1(TestHarness harness) { long x = -10L; long y = 2L; long z = x % y; harness.check(z == 0); } public void testModuloNegativeByPositiveCase2(TestHarness harness) { long x = -10L; long y = 3L; long z = x % y; harness.check(z == -1); } public void testModuloNegativeByPositiveCase3(TestHarness harness) { long x = -11L; long y = 3L; long z = x % y; harness.check(z == -2); } public void testModuloNegativeByNegativeCase1(TestHarness harness) { long x = -10L; long y = -2L; long z = x % y; harness.check(z == 0); } public void testModuloNegativeByNegativeCase2(TestHarness harness) { long x = -10L; long y = -3L; long z = x % y; harness.check(z == -1); } public void testModuloNegativeByNegativeCase3(TestHarness harness) { long x = -11L; long y = -3L; long z = x % y; harness.check(z == -2); } public void testModuloMaxValue(TestHarness harness) { long x = Integer.MAX_VALUE; long y = 2 << 15L; long z = x % y; harness.check(z == 65535); } public void testModuloMinValue(TestHarness harness) { long x = Integer.MIN_VALUE; long y = 2 << 15L; long z = x % y; harness.check(z == 0); } public void testModuloByMaxValue(TestHarness harness) { long x = Integer.MAX_VALUE; long y = Integer.MAX_VALUE; long z = x % y; harness.check(z == 0); } public void testModuloByMinValue(TestHarness harness) { long x = Integer.MIN_VALUE; long y = Integer.MIN_VALUE; long z = x % y; harness.check(z == 0); } public void testModuloByZeroCase1(TestHarness harness) { long x = 1L; long y = 0L; try { long z = x % y; harness.check(false); } catch(ArithmeticException e) { harness.check(true); } } public void testModuloByZeroCase2(TestHarness harness) { long x = -1L; long y = 0L; try { long z = x % y; harness.check(false); } catch(ArithmeticException e) { harness.check(true); } } public void testModuloByZeroCase3(TestHarness harness) { long x = Integer.MAX_VALUE; long y = 0L; try { long z = x % y; harness.check(false); } catch(ArithmeticException e) { harness.check(true); } } public void testModuloByZeroCase4(TestHarness harness) { long x = Integer.MIN_VALUE; long y = 0L; try { long z = x % y; harness.check(false); } catch(ArithmeticException e) { harness.check(true); } } public void testModuloByZeroCase5(TestHarness harness) { long x = 0L; long y = 0L; try { long z = x % y; harness.check(false); } catch(ArithmeticException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/lang/Long/new_Long.java0000644000175000001440000002271411631373425021411 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998, 1999 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Long; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class new_Long implements Testlet { public void test (TestHarness harness) { Long a = new Long(0L); Long b = new Long(1L); Long c = new Long(-1L); Long d = new Long(Long.MAX_VALUE); Long e = new Long(Long.MIN_VALUE); Long f = new Long("0"); Long g = new Long("1"); Long h = new Long("-1"); Long i = new Long("9223372036854775807"); Long j = new Long("-9223372036854775808"); Long k = new Long("-0"); Long l = new Long("012345"); Long m = new Long("0012345"); harness.check (a + " " + b + " " + c + " " + d + " " + e, "0 1 -1 9223372036854775807 -9223372036854775808"); harness.check (f + " " + g + " " + h + " " + i + " " + j, "0 1 -1 9223372036854775807 -9223372036854775808"); harness.check (k + " " + l + " " + m, "0 12345 12345"); harness.check ((long) Integer.MAX_VALUE, 2147483647); harness.check ((long) Integer.MIN_VALUE, -2147483648); harness.check (Long.MAX_VALUE, 9223372036854775807L); harness.check (Long.MAX_VALUE, 9223372036854775807L); harness.check (Long.MAX_VALUE + 1, -9223372036854775808L); harness.check (Long.MAX_VALUE + 2, -9223372036854775807L); harness.check (Long.MIN_VALUE, -9223372036854775808L); harness.check (Long.MIN_VALUE - 1, 9223372036854775807L); harness.check (Long.MIN_VALUE - 2, 9223372036854775806L); harness.check (c.toString(), "-1"); harness.check (e.toString(), "-9223372036854775808"); harness.check (Long.toString(-1L, 2), "-1"); harness.check (Long.toString(Long.MIN_VALUE + 1, 2), "-111111111111111111111111111111111111111111111111111111111111111"); harness.check (Long.toString(Long.MIN_VALUE, 2), "-1000000000000000000000000000000000000000000000000000000000000000"); harness.check (Long.toString(Long.MAX_VALUE, 2), "111111111111111111111111111111111111111111111111111111111111111"); harness.check (Long.toString(-1L, 16), "-1"); harness.check (Long.toString(Long.MIN_VALUE + 1, 16), "-7fffffffffffffff"); harness.check (Long.toString(Long.MIN_VALUE, 16), "-8000000000000000"); harness.check (Long.toString(Long.MAX_VALUE, 16), "7fffffffffffffff"); harness.check (Long.toString(-1L, 36), "-1"); harness.check (Long.toString(Long.MIN_VALUE + 1, 36), "-1y2p0ij32e8e7"); harness.check (Long.toString(Long.MIN_VALUE, 36), "-1y2p0ij32e8e8"); harness.check (Long.toString(Long.MAX_VALUE, 36), "1y2p0ij32e8e7"); harness.check (Long.toString(12345, 1), "12345"); harness.check (Long.toString(-12345, 1), "-12345"); harness.check (Long.toString(12345, 37), "12345"); harness.check (Long.toString(-12345, 37), "-12345"); harness.check (Long.toString(12345, 0), "12345"); harness.check (Long.toString(-12345, 0), "-12345"); harness.check (Long.toString(12345, -1), "12345"); harness.check (Long.toString(-12345, -1), "-12345"); harness.check (Long.toString(12345, Character.MIN_RADIX - 1), "12345"); harness.check (Long.toString(12345, Character.MAX_RADIX + 1), "12345"); Long bad = null; try { bad = new Long("9223372036854775808"); } catch (NumberFormatException ex) { } harness.check (bad, null); bad = null; try { bad = new Long("-9223372036854775809"); } catch (NumberFormatException ex) { } harness.check (bad, null); bad = null; try { bad = new Long("12345a"); } catch (NumberFormatException ex) { } harness.check (bad, null); bad = null; try { bad = new Long("-"); } catch (NumberFormatException ex) { } harness.check (bad, null); bad = null; try { bad = new Long("0x1e"); } catch (NumberFormatException ex) { } harness.check (bad, null); harness.check (a.hashCode(), 0); harness.check (b.hashCode(), 1); harness.check (c.hashCode(), 0); harness.check (d.hashCode(), -2147483648); harness.check (e.hashCode(), -2147483648); // harness.check (a.compareTo(a)); // harness.check (b.compareTo(c)); // harness.check (c.compareTo(b)); // harness.check (d.compareTo(e)); // harness.check (e.compareTo(d)); boolean ok = false; try { Long.parseLong(""); } catch (NumberFormatException ex) { ok = true; } harness.check (ok); ok = false; try { Long.parseLong(" "); } catch (NumberFormatException ex) { ok = true; } harness.check (ok); ok = false; try { Long.parseLong("0X1234"); } catch (NumberFormatException ex) { ok = true; } harness.check (ok); ok = false; try { Long.parseLong("0xF0000000"); } catch (NumberFormatException ex) { ok = true; } harness.check (ok); ok = false; try { Long.parseLong("-"); } catch (NumberFormatException ex) { ok = true; } harness.check (ok); ok = false; try { Long.parseLong("#"); } catch (NumberFormatException ex) { ok = true; } harness.check (ok); ok = false; try { Long.parseLong("-0x1234FF"); } catch (NumberFormatException ex) { ok = true; } harness.check (ok); harness.checkPoint ("toBinaryString"); harness.check (Long.toBinaryString(0L), "0"); harness.check (Long.toBinaryString(1L), "1"); harness.check (Long.toBinaryString(-1L), "1111111111111111111111111111111111111111111111111111111111111111"); harness.check (Long.toBinaryString(Long.MIN_VALUE), "1000000000000000000000000000000000000000000000000000000000000000"); harness.check (Long.toBinaryString(Long.MAX_VALUE), "111111111111111111111111111111111111111111111111111111111111111"); harness.check (Long.toBinaryString(Long.MIN_VALUE - 1), "111111111111111111111111111111111111111111111111111111111111111"); harness.check (Long.toBinaryString(Long.MAX_VALUE + 1), "1000000000000000000000000000000000000000000000000000000000000000"); harness.checkPoint ("toOctalString"); harness.check (Long.toOctalString(0L), "0"); harness.check (Long.toOctalString(1L), "1"); harness.check (Long.toOctalString(-1L), "1777777777777777777777"); harness.check (Long.toOctalString(Long.MIN_VALUE), "1000000000000000000000"); harness.check (Long.toOctalString(Long.MAX_VALUE), "777777777777777777777"); harness.check (Long.toOctalString(Long.MIN_VALUE - 1), "777777777777777777777"); harness.check (Long.toOctalString(Long.MAX_VALUE + 1), "1000000000000000000000"); harness.checkPoint ("toHexString"); harness.check (Long.toHexString(0L), "0"); harness.check (Long.toHexString(1L), "1"); harness.check (Long.toHexString(-1L), "ffffffffffffffff"); harness.check (Long.toHexString(Long.MIN_VALUE), "8000000000000000"); harness.check (Long.toHexString(Long.MAX_VALUE), "7fffffffffffffff"); harness.check (Long.toHexString(Long.MIN_VALUE - 1), "7fffffffffffffff"); harness.check (Long.toHexString(Long.MAX_VALUE + 1), "8000000000000000"); harness.checkPoint ("parseLong"); harness.check (Long.parseLong("0012345", 8), 5349); harness.check (Long.parseLong("xyz", 36), 44027); harness.check (Long.parseLong("12345", 6), 1865); harness.check (Long.parseLong("abcdef", 16), 11259375); harness.check (Long.parseLong("-0012345", 8), -5349); harness.check (Long.parseLong("-xyz", 36), -44027); harness.check (Long.parseLong("-12345", 6), -1865); harness.check (Long.parseLong("-abcdef", 16), -11259375); harness.check (Long.parseLong("-8000000000000000", 16), Long.MIN_VALUE); harness.check (Long.parseLong("7fffffffffffffff", 16), Long.MAX_VALUE); ok = false; try { Long.parseLong("0", 1); } catch (NumberFormatException ex) { ok = true; } harness.check (ok); ok = false; try { Long.parseLong("0", 37); } catch (NumberFormatException ex) { ok = true; } harness.check (ok); ok = false; try { Long.parseLong("8000000000000000", 16); } catch (NumberFormatException ex) { ok = true; } harness.check (ok); ok = false; try { Long.parseLong("-8000000000000001", 16); } catch (NumberFormatException ex) { ok = true; } harness.check (ok); } } mauve-20140821/gnu/testlet/java/lang/Long/toString.java0000644000175000001440000000441211757724254021456 0ustar dokousers// Test of Long methods toString() and toString(long). // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.4 // Tags: CompileOptions: -source 1.4 package gnu.testlet.java.lang.Long; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test of Long methods toString() and toString(long). */ public class toString implements Testlet { public void test (TestHarness harness) { // test of method Long.toString() harness.check(new Long(0).toString(), "0"); harness.check(new Long(-1).toString(), "-1"); harness.check(new Long(1).toString(), "1"); harness.check(new Long(127).toString(), "127"); harness.check(new Long(-128).toString(), "-128"); harness.check(new Long(Integer.MAX_VALUE).toString(), "2147483647"); harness.check(new Long(Integer.MIN_VALUE).toString(), "-2147483648"); harness.check(new Long(Long.MAX_VALUE).toString(), "9223372036854775807"); harness.check(new Long(Long.MIN_VALUE).toString(), "-9223372036854775808"); // test of static method Long.toString(long) harness.check(Long.toString(0), "0"); harness.check(Long.toString(-1), "-1"); harness.check(Long.toString(1), "1"); harness.check(Long.toString(127), "127"); harness.check(Long.toString(-128), "-128"); harness.check(Long.toString(Integer.MAX_VALUE), "2147483647"); harness.check(Long.toString(Integer.MIN_VALUE), "-2147483648"); harness.check(Long.toString(Long.MAX_VALUE), "9223372036854775807"); harness.check(Long.toString(Long.MIN_VALUE), "-9223372036854775808"); } } mauve-20140821/gnu/testlet/java/lang/Long/compareToObject.java0000644000175000001440000000760211725170673022724 0ustar dokousers// Test of Long method compareTo(Object). // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.4 // Tags: CompileOptions: -source 1.4 package gnu.testlet.java.lang.Long; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test the method Long.compareTo(Object); */ public class compareToObject implements Testlet { public static final int LESS = -1; public static final int EQUAL = 0; public static final int GREATER = 1; TestHarness harness; void compare(Long i1, Object o, int expected) { // the result need not be -1, 0, 1; just <0, 0, >0 int result = i1.compareTo(o); switch (expected) { case LESS: harness.check(result < 0); break; case EQUAL: harness.check(result == 0); break; case GREATER: harness.check(result > 0); break; default: throw new Error(); } } /** * Entry point to this test. */ public void test(TestHarness harness) { this.harness = harness; Long min = new Long(Long.MIN_VALUE); Long negone = new Long(-1); Long zero = new Long(0); Long posone = new Long(1); Long max = new Long(Long.MAX_VALUE); harness.checkPoint("compareTo"); compare(min, min, EQUAL); compare(min, negone, LESS); compare(min, zero, LESS); compare(min, posone, LESS); compare(min, max, LESS); compare(negone, min, GREATER); compare(negone, negone, EQUAL); compare(negone, zero, LESS); compare(negone, posone, LESS); compare(negone, max, LESS); compare(zero, min, GREATER); compare(zero, negone, GREATER); compare(zero, zero, EQUAL); compare(zero, posone, LESS); compare(zero, max, LESS); compare(posone, min, GREATER); compare(posone, negone, GREATER); compare(posone, zero, GREATER); compare(posone, posone, EQUAL); compare(posone, max, LESS); compare(max, min, GREATER); compare(max, negone, GREATER); compare(max, zero, GREATER); compare(max, posone, GREATER); compare(max, max, EQUAL); Object o = zero; boolean ok; harness.check(((Comparable)zero).compareTo(o) == 0); ok = false; try { zero.compareTo((Integer) null); } catch (NullPointerException e) { ok = true; } harness.check(ok); ok = false; try { ((Comparable)zero).compareTo((Object) null); } catch (NullPointerException e) { ok = true; } harness.check(ok); ok = false; try { ((Comparable)zero).compareTo(new Object()); } catch (ClassCastException e) { ok = true; } harness.check(ok); harness.checkPoint("negative test"); try { Long a; Byte b; a = new Long(1); b = new Byte((byte)1); compare(a,b,1); harness.fail("Exception should be thrown here."); } catch (ClassCastException e) { // ok - exception was thrown harness.check(true); } try { Long a; String b; a = new Long(1); b = "foobar"; compare(a,b,1); harness.fail("Exception should be thrown here."); } catch (ClassCastException e) { // ok - exception was thrown harness.check(true); } } } mauve-20140821/gnu/testlet/java/lang/Long/LongTest.java0000644000175000001440000002753410367245762021414 0ustar dokousers/* Copyright (C) 1999 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.0 package gnu.testlet.java.lang.Long; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class LongTest implements Testlet { protected static TestHarness harness; public void test_Basics() { long min1 = Long.MIN_VALUE; long min2 = 0x8000000000000000L; long max1 = Long.MAX_VALUE; long max2 = 0x7fffffffffffffffL; harness.check(!( min1 != min2 || max1 != max2 ), "test_Basics - 1" ); Long i1 = new Long(100); harness.check(!( i1.longValue() != 100 ), "test_Basics - 2" ); try { harness.check(!( (new Long("234")).longValue() != 234 ), "test_Basics - 3" ); } catch ( NumberFormatException e ) { harness.fail("test_Basics - 3" ); } try { harness.check(!( (new Long("-FF")).longValue() != -255 ), "test_Basics - 4" ); } catch ( NumberFormatException e ) { } try { new Long("babu"); harness.fail("test_Basics - 5" ); } catch ( NumberFormatException e ) { } } public void test_toString() { harness.check(!( !( new Long(123)).toString().equals("123")), "test_toString - 1" ); harness.check(!( !( new Long(-44)).toString().equals("-44")), "test_toString - 2" ); harness.check(!( !Long.toString( 234 ).equals ("234" )), "test_toString - 3" ); harness.check(!( !Long.toString( -34 ).equals ("-34" )), "test_toString - 4" ); harness.check(!( !Long.toString( -34 ).equals ("-34" )), "test_toString - 5" ); harness.check(!( !Long.toString(99 , 1 ).equals("99")), "test_toString - 6" ); harness.check(!( !Long.toString(99 , 37 ).equals("99")), "test_toString - 7" ); harness.check(!( !Long.toString(15 , 2 ).equals("1111")), "test_toString - 8" ); harness.check(!( !Long.toString(37 , 36 ).equals("11")), "test_toString - 9" ); harness.check(!( !Long.toString(31 , 16 ).equals("1f")), "test_toString - 10" ); harness.check(!( !Long.toString(-99 , 1 ).equals("-99")), "test_toString - 11" ); harness.check(!( !Long.toString(-99 , 37 ).equals("-99")), "test_toString - 12" ); harness.check(!( !Long.toString(-15 , 2 ).equals("-1111")), "test_toString - 13" ); harness.check(!( !Long.toString(-37 , 36 ).equals("-11")), "test_toString - 14" ); harness.check(!( !Long.toString(-31 , 16 ).equals("-1f")), "test_toString - 15" ); } public void test_equals() { Long i1 = new Long(23); Long i2 = new Long(-23); harness.check(!( !i1.equals( new Long(23))), "test_equals - 1" ); harness.check(!( !i2.equals( new Long(-23))), "test_equals - 2" ); harness.check(!( i1.equals( i2 )), "test_equals - 3" ); harness.check(!( i1.equals(null)), "test_equals - 4" ); } public void test_hashCode( ) { Long b1 = new Long(34395555); Long b2 = new Long(-34395555); harness.check(!( b1.hashCode() != ((int)(b1.longValue()^(b1.longValue()>>>32))) || b2.hashCode() != ((int)(b2.longValue()^(b2.longValue()>>>32))) ), "test_hashCode" ); } public void test_intValue( ) { Long b1 = new Long(32767); Long b2 = new Long(-32767); harness.check(!( b1.intValue() != 32767 ), "test_intValue - 1" ); harness.check(!( b2.intValue() != -32767 ), "test_intValue - 2" ); } public void test_shortbyteValue( ) { Long b1 = new Long(32767); Long b2 = new Long(-32767); harness.check(!( b1.byteValue() != (byte)32767 ), "test_shortbyteValue - 1" ); harness.check(!( b2.byteValue() != (byte)-32767 ), "test_shortbyteValue - 2" ); harness.check(!( b1.shortValue() != (short)32767 ), "test_shortbyteValue - 3" ); harness.check(!( b2.shortValue() != (short)-32767 ), "test_shortbyteValue - 4" ); } public void test_longValue( ) { Long b1 = new Long(-9223372036854775807L); Long b2 = new Long(9223372036854775807L); harness.check(!( b1.longValue() != (long)-9223372036854775807L ), "test_longValue - 1" ); harness.check(!( b2.longValue() != 9223372036854775807L ), "test_longValue - 2" ); } public void test_floatValue( ) { Long b1 = new Long(3276); Long b2 = new Long(-3276); harness.check(!( b1.floatValue() != 3276.0f ), "test_floatValue - 1" ); harness.check(!( b2.floatValue() != -3276.0f ), "test_floatValue - 2" ); } public void test_doubleValue( ) { Long b1 = new Long(0); Long b2 = new Long(30); harness.check(!( b1.doubleValue() != 0.0 ), "test_doubleValue - 1" ); harness.check(!( b2.doubleValue() != 30.0 ), "test_doubleValue - 2" ); } public void test_toHexString() { String str, str1; str = Long.toHexString(8375); str1 = Long.toHexString( -5361 ); harness.check(!( !str.equalsIgnoreCase("20B7")), "test_toHexString - 1" ); harness.check(!( !str1.equalsIgnoreCase("ffffffffffffeb0f")), "test_toHexString - 2" ); } public void test_toOctalString() { String str, str1; str = Long.toOctalString(5847); str1= Long.toOctalString(-9863 ); harness.check(!( !str.equals("13327")), "test_toOctalString - 1" ); harness.check(!( !str1.equals("1777777777777777754571")), "test_toOctalString - 2" ); } public void test_toBinaryString() { String str1 = Long.toBinaryString( -5478 ); harness.check(!( !Long.toBinaryString(358).equals("101100110")), "test_toBinaryString - 1" ); harness.check(!( !str1.equals("1111111111111111111111111111111111111111111111111110101010011010")), "test_toBinaryString - 2" ); } public void test_parseLong() { harness.check(!( Long.parseLong("473") != Long.parseLong("473" , 10 )), "test_parseLong - 1" ); harness.check(!( Long.parseLong("0" , 10 ) != 0L ), "test_parseLong - 2" ); harness.check(!( Long.parseLong("473" , 10 ) != 473L ), "test_parseLong - 3" ); harness.check(!( Long.parseLong("-0" , 10 ) != 0L ), "test_parseLong - 4" ); harness.check(!( Long.parseLong("-FF" , 16 ) != -255L ), "test_parseLong - 5" ); harness.check(!( Long.parseLong("1100110" , 2 ) != 102L ), "test_parseLong - 6" ); harness.check(!( Long.parseLong("2147483647" , 10 ) != 2147483647L ), "test_parseLong - 7" ); harness.check(!( Long.parseLong("-2147483647" , 10 ) != -2147483647L ), "test_parseLong - 8" ); try { Long.parseLong("99" , 8 ); harness.fail("test_parseLong - 10" ); }catch ( NumberFormatException e ){} try { Long.parseLong("Hazelnut" , 10 ); harness.fail("test_parseLong - 11" ); }catch ( NumberFormatException e ){} harness.check(!( Long.parseLong("Hazelnut" , 36 ) != 1356099454469L ), "test_parseLong - 12" ); long_hex_ok("-8000000000000000", -0x8000000000000000L); long_hex_ok("7fffffffffffffff", 0x7fffffffffffffffL); long_hex_ok("7ffffffffffffff3", 0x7ffffffffffffff3L); long_hex_ok("7ffffffffffffffe", 0x7ffffffffffffffeL); long_hex_ok("7ffffffffffffff0", 0x7ffffffffffffff0L); long_hex_bad("80000000000000010"); long_hex_bad("7ffffffffffffffff"); long_hex_bad("8000000000000001"); long_hex_bad("8000000000000002"); long_hex_bad("ffffffffffffffff"); long_hex_bad("-8000000000000001"); long_hex_bad("-8000000000000002"); long_dec_ok("-9223372036854775808", -9223372036854775808L); long_dec_ok("-9223372036854775807", -9223372036854775807L); long_dec_ok("-9223372036854775806", -9223372036854775806L); long_dec_ok("9223372036854775807", 9223372036854775807L); long_dec_ok("9223372036854775806", 9223372036854775806L); long_dec_bad("-9223372036854775809"); long_dec_bad("-9223372036854775810"); long_dec_bad("-9223372036854775811"); long_dec_bad("9223372036854775808"); } static void long_hex_ok ( String s, long ref ) { try { long l = Long.parseLong(s, 16); if (ref != l) { System.out.println( " Error : long_hex_ok failed - 1 " + " expected " + ref + " actual " + l ); } } catch ( NumberFormatException e ) { System.out.println( " Error : long_hex_ok failed - 2 " + " should not have thrown exception in parsing" + s ); } } static void long_hex_bad(String s) { try { Long.parseLong(s, 16); harness.fail("long_hex_bad " + s + " should not be valid!" ); } catch (NumberFormatException e ){ } } static void long_dec_ok(String s, long ref) { try { long l = Long.parseLong(s, 10); if (ref != l) { System.out.println( " Error : long_dec_ok failed - 1 " + " expected " + ref + " actual " + l ); } } catch ( NumberFormatException e ) { System.out.println( " Error : long_dec_ok failed - 2 " + " should not have thrown exception in parsing" + s ); } } static void long_dec_bad(String s) { try { Long.parseLong(s, 10); System.out.println(" Error long_dec_bad failed for"+s ); } catch (NumberFormatException e ){} } public void test_valueOf( ) { harness.check(!( Long.valueOf("21234").longValue() != Long.parseLong("21234")), "test_valueOf - 1" ); harness.check(!( Long.valueOf("Kona", 27).longValue() != Long.parseLong("Kona", 27)), "test_valueOf - 2" ); } public void test_getLong( ) { java.util.Properties prop = System.getProperties(); prop.put("longkey1" , "2345" ); prop.put("longkey2" , "-984" ); prop.put("longkey3" , "-0" ); prop.put("longkey4" , "#1f" ); prop.put("longkey5" , "0x1f" ); prop.put("longkey6" , "017" ); prop.put("longkey7" , "babu" ); System.setProperties(prop); harness.checkPoint("getLong"); try { harness.check(Long.getLong("longkey1").longValue() == 2345); } catch (NullPointerException npe) { harness.check(false); } try { harness.check(Long.getLong("longkey2").longValue() == -984); } catch (NullPointerException npe) { harness.check(false); } try { harness.check(Long.getLong("longkey3").longValue() == 0); } catch (NullPointerException npe) { harness.check(false); } try { harness.check(Long.getLong("longkey4",new Long(0)).longValue() == 31); } catch (NullPointerException npe) { harness.check(false); } try { harness.check(Long.getLong("longkey5",new Long(0)).longValue() == 31); } catch (NullPointerException npe) { harness.check(false); } try { harness.check(Long.getLong("longkey6",new Long(0)).longValue() == 15); } catch (NullPointerException npe) { harness.check(false); } try { harness.check(!( Long.getLong("longkey7", new Long(0)).longValue() != 0 ), "test_getLong - 3" ); } catch (NullPointerException npe) { harness.check(false); } try { harness.check(!( Long.getLong("longkey7", 0).longValue() != 0 ), "test_getLong - 4" ); } catch (NullPointerException npe) { harness.check(false); } } public void testall() { test_Basics(); test_toString(); test_equals(); test_hashCode(); test_intValue(); test_longValue(); test_floatValue(); test_doubleValue(); test_shortbyteValue(); test_toHexString(); test_toOctalString(); test_toBinaryString(); test_parseLong(); test_valueOf(); test_getLong(); } public void test (TestHarness the_harness) { harness = the_harness; testall (); } } mauve-20140821/gnu/testlet/java/lang/Long/compareTo.java0000644000175000001440000000706311725170673021576 0ustar dokousers// Test of Long method compareTo(Long). // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.4 // Tags: CompileOptions: -source 1.4 package gnu.testlet.java.lang.Long; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test the method Long.compareTo(Long); */ public class compareTo implements Testlet { public static final int LESS = -1; public static final int EQUAL = 0; public static final int GREATER = 1; TestHarness harness; void compare(Long l1, Long l2, int expected) { // the result need not be -1, 0, 1; just <0, 0, >0 int result = l1.compareTo(l2); switch (expected) { case LESS: harness.check(result < 0); break; case EQUAL: harness.check(result == 0); break; case GREATER: harness.check(result > 0); break; default: throw new Error(); } result = l2.compareTo(l1); switch (expected) { case LESS: harness.check(result > 0); break; case EQUAL: harness.check(result == 0); break; case GREATER: harness.check(result < 0); break; default: throw new Error(); } } /** * Entry point to this test. */ public void test(TestHarness harness) { this.harness = harness; Long min = new Long(Long.MIN_VALUE); Long negone = new Long(-1); Long zero = new Long(0); Long posone = new Long(1); Long max = new Long(Long.MAX_VALUE); harness.checkPoint("compareTo"); compare(min, min, EQUAL); compare(min, negone, LESS); compare(min, zero, LESS); compare(min, posone, LESS); compare(min, max, LESS); compare(negone, min, GREATER); compare(negone, negone, EQUAL); compare(negone, zero, LESS); compare(negone, posone, LESS); compare(negone, max, LESS); compare(zero, min, GREATER); compare(zero, negone, GREATER); compare(zero, zero, EQUAL); compare(zero, posone, LESS); compare(zero, max, LESS); compare(posone, min, GREATER); compare(posone, negone, GREATER); compare(posone, zero, GREATER); compare(posone, posone, EQUAL); compare(posone, max, LESS); compare(max, min, GREATER); compare(max, negone, GREATER); compare(max, zero, GREATER); compare(max, posone, GREATER); compare(max, max, EQUAL); Object o = zero; boolean ok; harness.check(((Comparable)zero).compareTo(o) == 0); ok = false; try { zero.compareTo((Long) null); } catch (NullPointerException e) { ok = true; } harness.check(ok); ok = false; try { ((Comparable)zero).compareTo((Object) null); } catch (NullPointerException e) { ok = true; } harness.check(ok); ok = false; try { ((Comparable)zero).compareTo(new Object()); } catch (ClassCastException e) { ok = true; } harness.check(ok); } } mauve-20140821/gnu/testlet/java/lang/Long/classInfo/0000755000175000001440000000000012375316426020715 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Long/classInfo/getPackage.java0000644000175000001440000000302111754202157023602 0ustar dokousers// Test for method java.lang.Long.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Long.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Long; /** * Test for method java.lang.Long.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Long(42L); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/Long/classInfo/getInterfaces.java0000644000175000001440000000315711754202157024344 0ustar dokousers// Test for method java.lang.Long.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Long.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Long; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.Long.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Long(42L); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); harness.check(interfaces.contains(Comparable.class)); } } mauve-20140821/gnu/testlet/java/lang/Long/classInfo/getModifiers.java0000644000175000001440000000425211754202157024177 0ustar dokousers// Test for method java.lang.Long.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Long.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Long; import java.lang.reflect.Modifier; /** * Test for method java.lang.Long.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Long(42L); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check( Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/Long/classInfo/isPrimitive.java0000644000175000001440000000275611754202157024071 0ustar dokousers// Test for method java.lang.Long.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Long.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Long; /** * Test for method java.lang.Long.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Long(42L); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/Long/classInfo/getSimpleName.java0000644000175000001440000000276711754202157024321 0ustar dokousers// Test for method java.lang.Long.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Long.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Long; /** * Test for method java.lang.Long.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Long(42L); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "Long"); } } mauve-20140821/gnu/testlet/java/lang/Long/classInfo/isAnnotationPresent.java0000644000175000001440000000414212026546135025563 0ustar dokousers// Test for method java.lang.Long.getClass().isAnnotationPresent() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Long.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Long; /** * Test for method java.lang.Long.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Long Object o = new Long(42L); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/Long/classInfo/isSynthetic.java0000644000175000001440000000275611754202157024073 0ustar dokousers// Test for method java.lang.Long.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Long.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Long; /** * Test for method java.lang.Long.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Long(42L); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/Long/classInfo/isAnnotation.java0000644000175000001440000000275212026546135024227 0ustar dokousers// Test for method java.lang.Long.getClass().isAnnotation() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Long.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Long; /** * Test for method java.lang.Long.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Long Object o = new Long(42L); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/Long/classInfo/isInstance.java0000644000175000001440000000276611754202157023666 0ustar dokousers// Test for method java.lang.Long.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Long.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Long; /** * Test for method java.lang.Long.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Long(42L); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new Long(42L))); } } mauve-20140821/gnu/testlet/java/lang/Long/classInfo/isMemberClass.java0000644000175000001440000000276611754202157024317 0ustar dokousers// Test for method java.lang.Long.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Long.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Long; /** * Test for method java.lang.Long.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Long(42L); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/Long/classInfo/getSuperclass.java0000644000175000001440000000306411754202157024402 0ustar dokousers// Test for method java.lang.Long.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Long.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Long; /** * Test for method java.lang.Long.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Long(42L); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.Number"); } } mauve-20140821/gnu/testlet/java/lang/Long/classInfo/isEnum.java0000644000175000001440000000272212026546135023016 0ustar dokousers// Test for method java.lang.Long.getClass().isEnum() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Long.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Long; /** * Test for method java.lang.Long.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Long Object o = new Long(42L); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/Long/classInfo/InstanceOf.java0000644000175000001440000000323011754202157023602 0ustar dokousers// Test for instanceof operator applied to a class java.lang.Long // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Long.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Long; import java.lang.Number; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.Long */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Long Long o = new Long(42L); // basic check of instanceof operator harness.check(o instanceof Long); // check operator instanceof against all superclasses harness.check(o instanceof Number); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/Long/classInfo/isAnonymousClass.java0000644000175000001440000000277212026546135025075 0ustar dokousers// Test for method java.lang.Long.getClass().isAnonymousClass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Long.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Long; /** * Test for method java.lang.Long.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Long Object o = new Long(42L); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/Long/classInfo/isInterface.java0000644000175000001440000000275611754202157024021 0ustar dokousers// Test for method java.lang.Long.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Long.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Long; /** * Test for method java.lang.Long.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Long(42L); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/Long/classInfo/isAssignableFrom.java0000644000175000001440000000301211754202157024777 0ustar dokousers// Test for method java.lang.Long.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Long.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Long; /** * Test for method java.lang.Long.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Long(42L); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(Long.class)); } } mauve-20140821/gnu/testlet/java/lang/Long/classInfo/isLocalClass.java0000644000175000001440000000276211754202157024136 0ustar dokousers// Test for method java.lang.Long.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Long.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Long; /** * Test for method java.lang.Long.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Long(42L); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/Long/classInfo/getName.java0000644000175000001440000000275111754202157023140 0ustar dokousers// Test for method java.lang.Long.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Long.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Long; /** * Test for method java.lang.Long.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Long(42L); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.lang.Long"); } } mauve-20140821/gnu/testlet/java/lang/Long/classInfo/isArray.java0000644000175000001440000000272612026546135023174 0ustar dokousers// Test for method java.lang.Long.getClass().isArray() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Long.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Long; /** * Test for method java.lang.Long.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Long Object o = new Long(42L); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/Long/decode.java0000644000175000001440000000660411725170673021070 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Updated to use for Long class: Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Long; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Some checks for the decode() method in the {@link Long} class. */ public class decode implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // decimal values harness.check(Long.decode("0").equals(new Long(0))); harness.check(Long.decode("-1").equals(new Long(-1))); harness.check(Long.decode("123").equals(new Long(123))); harness.check(Long.decode("1234567").equals(new Long(1234567))); harness.check(Long.decode("1234567890000").equals(new Long(1234567890000L))); harness.check(Long.decode("2147483647").equals(new Long(2147483647))); harness.check(Long.decode("-2147483648").equals(new Long(-2147483648))); // hexadecimal values harness.check(Long.decode("0x00").equals(new Long(0))); harness.check(Long.decode("-0x01").equals(new Long(-1))); harness.check(Long.decode("0xFF").equals(new Long(255))); harness.check(Long.decode("0XFF").equals(new Long(255))); harness.check(Long.decode("0xff").equals(new Long(255))); harness.check(Long.decode("0XfF").equals(new Long(255))); harness.check(Long.decode("#ff").equals(new Long(255))); harness.check(Long.decode("0Xffff").equals(new Long(65535))); // octal values harness.check(Long.decode("00").equals(new Long(0))); harness.check(Long.decode("-070").equals(new Long(-56))); harness.check(Long.decode("072").equals(new Long(58))); // try a null argument boolean pass = false; try { Long.decode(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try a non-numeric string pass = false; try { Long.decode("XYZ"); } catch (NumberFormatException e) { pass = true; } harness.check(pass); // try some bad formatting pass = false; try { Long.decode("078"); } catch (NumberFormatException e) { pass = true; } harness.check(pass); pass = false; try { Long.decode("1.0"); } catch (NumberFormatException e) { pass = true; } harness.check(pass); pass = false; try { Long.decode(""); } catch (NumberFormatException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/lang/Long/longDivide.java0000644000175000001440000001340712064311033021710 0ustar dokousers// Test long division operation. // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA package gnu.testlet.java.lang.Long; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test long division operation. */ public class longDivide implements Testlet { /** * Entry point to this test. */ public void test(TestHarness harness) { testDividePositiveByPositiveCase1(harness); testDividePositiveByPositiveCase2(harness); testDividePositiveByPositiveCase3(harness); testDividePositiveByNegativeCase1(harness); testDividePositiveByNegativeCase2(harness); testDividePositiveByNegativeCase3(harness); testDivideNegativeByPositiveCase1(harness); testDivideNegativeByPositiveCase2(harness); testDivideNegativeByPositiveCase3(harness); testDivideNegativeByNegativeCase1(harness); testDivideNegativeByNegativeCase2(harness); testDivideNegativeByNegativeCase3(harness); testDivideMaxValue(harness); testDivideMinValue(harness); testDivideByMaxValue(harness); testDivideByMinValue(harness); testDivideByZeroCase1(harness); testDivideByZeroCase2(harness); testDivideByZeroCase3(harness); testDivideByZeroCase4(harness); testDivideByZeroCase5(harness); } public void testDividePositiveByPositiveCase1(TestHarness harness) { long x = 10L; long y = 2L; long z = x / y; harness.check(z == 5); } public void testDividePositiveByPositiveCase2(TestHarness harness) { long x = 10L; long y = 3L; long z = x / y; harness.check(z == 3); } public void testDividePositiveByPositiveCase3(TestHarness harness) { long x = 11L; long y = 3L; long z = x / y; harness.check(z == 3); } public void testDividePositiveByNegativeCase1(TestHarness harness) { long x = 10L; long y = -2L; long z = x / y; harness.check(z == -5); } public void testDividePositiveByNegativeCase2(TestHarness harness) { long x = 10L; long y = -3L; long z = x / y; harness.check(z == -3); } public void testDividePositiveByNegativeCase3(TestHarness harness) { long x = 11L; long y = -3L; long z = x / y; harness.check(z == -3); } public void testDivideNegativeByPositiveCase1(TestHarness harness) { long x = -10L; long y = 2L; long z = x / y; harness.check(z == -5); } public void testDivideNegativeByPositiveCase2(TestHarness harness) { long x = -10L; long y = 3L; long z = x / y; harness.check(z == -3); } public void testDivideNegativeByPositiveCase3(TestHarness harness) { long x = -11L; long y = 3L; long z = x / y; harness.check(z == -3); } public void testDivideNegativeByNegativeCase1(TestHarness harness) { long x = -10L; long y = -2L; long z = x / y; harness.check(z == 5); } public void testDivideNegativeByNegativeCase2(TestHarness harness) { long x = -10L; long y = -3L; long z = x / y; harness.check(z == 3); } public void testDivideNegativeByNegativeCase3(TestHarness harness) { long x = -11L; long y = -3L; long z = x / y; harness.check(z == 3); } public void testDivideMaxValue(TestHarness harness) { long x = Integer.MAX_VALUE; long y = 2 << 15L; long z = x / y; harness.check(z == 32767); } public void testDivideMinValue(TestHarness harness) { long x = Integer.MIN_VALUE; long y = 2 << 15L; long z = x / y; harness.check(z == -32768); } public void testDivideByMaxValue(TestHarness harness) { long x = Integer.MAX_VALUE; long y = Integer.MAX_VALUE; long z = x / y; harness.check(z == 1); } public void testDivideByMinValue(TestHarness harness) { long x = Integer.MIN_VALUE; long y = Integer.MIN_VALUE; long z = x / y; harness.check(z == 1); } public void testDivideByZeroCase1(TestHarness harness) { long x = 1L; long y = 0L; try { long z = x / y; harness.check(false); } catch(ArithmeticException e) { harness.check(true); } } public void testDivideByZeroCase2(TestHarness harness) { long x = -1L; long y = 0L; try { long z = x / y; harness.check(false); } catch(ArithmeticException e) { harness.check(true); } } public void testDivideByZeroCase3(TestHarness harness) { long x = Integer.MAX_VALUE; long y = 0L; try { long z = x / y; harness.check(false); } catch(ArithmeticException e) { harness.check(true); } } public void testDivideByZeroCase4(TestHarness harness) { long x = Integer.MIN_VALUE; long y = 0L; try { long z = x / y; harness.check(false); } catch(ArithmeticException e) { harness.check(true); } } public void testDivideByZeroCase5(TestHarness harness) { long x = 0L; long y = 0L; try { long z = x / y; harness.check(false); } catch(ArithmeticException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/lang/Object/0000755000175000001440000000000012375316426017303 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Object/oom.java0000644000175000001440000000352010206401720020717 0ustar dokousers/* Copyright (C) 2001 Eric Blake This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.0 package gnu.testlet.java.lang.Object; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * This class tests OutOfMemoryError condition. */ public final class oom implements Testlet { public void test (TestHarness harness) { // This test sees if clone can cause an out of memory error. // The testlet should be able to recover, though! Object[] oarray = new Object[5]; int[] iarray = null; try { int size = 1024; while (true) { size <<= 1; iarray = new int[size]; } } catch (OutOfMemoryError oome) { // we should still have memory left, since the last allocation // attempt failed; but multiple clones should push us over try { oarray[0] = iarray.clone(); oarray[1] = iarray.clone(); oarray[2] = iarray.clone(); oarray[3] = iarray.clone(); oarray[4] = iarray.clone(); harness.fail("clone didn't cause expected OutOfMemoryError"); } catch (OutOfMemoryError e) { harness.check(true, "clone can exceed memory"); } oarray = null; // help free memory } } } mauve-20140821/gnu/testlet/java/lang/Object/clone.java0000644000175000001440000000654610206401720021240 0ustar dokousers/* Copyright (C) 2001 Eric Blake This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.0 package gnu.testlet.java.lang.Object; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * This class tests that the default Object.clone does not invoke a * constructor, and that it creates a new object of the same class. * Classes that override clone(), however, are permitted to change this * behavior. * * This class also tests that array.clone behaves correctly. */ public final class clone implements Testlet, Cloneable { private static int count = 0; private int prim = 42; private Object obj = this; private Testlet test = this; private float[] array = {}; public clone() { count++; } public void test (TestHarness harness) { int my_count = count; clone copy = null; try { copy = (clone) clone(); } catch (CloneNotSupportedException cnse) { harness.fail("clone should pass on Cloneable object"); } harness.check(copy != this, "clone built distinct object"); harness.check(copy instanceof clone, "clone built same class - 1"); harness.check(copy.getClass() == clone.class, "clone built same class - 2"); harness.check(count == my_count, "clone called no constructor"); harness.check(copy.prim == 42, "primitive field cloned correctly"); harness.check(copy.obj == this, "object field cloned correctly"); harness.check(copy.test == this, "interface field cloned correctly"); harness.check(copy.array == array, "array field cloned correctly"); int[] iarray = { 1, 2 }; int[] icopy = (int[]) iarray.clone(); Object[] oarray = { new Object() }; Object[] ocopy = (Object[]) oarray.clone(); harness.check(iarray != icopy, "cloned arrays are distinct - 1"); harness.check(oarray != ocopy, "cloned arrays are distinct - 2"); harness.check(iarray.length == icopy.length, "cloned arrays have same length - 1"); harness.check(oarray.length == ocopy.length, "cloned arrays have same length - 2"); harness.check(iarray.getClass() == icopy.getClass(), "cloned arrays have same type - 1"); harness.check(oarray.getClass() == ocopy.getClass(), "cloned arrays have same type - 2"); harness.check(iarray.getClass().getComponentType() == icopy.getClass().getComponentType(), "cloned arrays have same component type - 1"); harness.check(oarray.getClass().getComponentType() == ocopy.getClass().getComponentType(), "cloned arrays have same component type - 2"); harness.check(iarray[0] == icopy[0], "cloned contents are same - 1"); harness.check(iarray[1] == icopy[1], "cloned contents are same - 2"); harness.check(oarray[0] == ocopy[0], "cloned contents are same - 3"); } } mauve-20140821/gnu/testlet/java/lang/Object/constructor.java0000644000175000001440000000303612044447665022540 0ustar dokousers// Test if instances of a class java.lang.Object could be properly constructed // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.4 // Tags: CompileOptions: -source 1.4 -target 1.4 package gnu.testlet.java.lang.Object; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Object; /** * Test if instances of a class java.lang.Object * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Object object1 = new Object(); harness.check(object1 != null); harness.check(object1.toString().startsWith("java.lang.Object")); } } mauve-20140821/gnu/testlet/java/lang/Object/wait.java0000644000175000001440000000731310206401720021075 0ustar dokousers/* Copyright (C) 2001 Eric Blake This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.0 package gnu.testlet.java.lang.Object; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * This class tests the trivial exceptions possible with wait, but * it does NOT test for InterruptedException, which is only possible * with threaded programming. */ public final class wait implements Testlet { public void test (TestHarness harness) { // wait must have reasonable args try { wait(-1); harness.fail("bad arg not detected"); } catch (IllegalArgumentException iae) { harness.check(true, "bad arg detected"); } catch (IllegalMonitorStateException imse) { harness.fail("bad arg not detected"); } catch (InterruptedException ie) { harness.fail("bad arg not detected"); } try { wait(0, -1); harness.fail("bad arg not detected"); } catch (IllegalArgumentException iae) { harness.check(true, "bad arg detected"); } catch (IllegalMonitorStateException imse) { harness.fail("bad arg not detected"); } catch (InterruptedException ie) { harness.fail("bad arg not detected"); } try { wait(0, 1000000); harness.fail("bad arg not detected"); } catch (IllegalArgumentException iae) { harness.check(true, "bad arg detected"); } catch (IllegalMonitorStateException imse) { harness.fail("bad arg not detected"); } catch (InterruptedException ie) { harness.fail("bad arg not detected"); } // wait and notify must be called in synchronized code try { wait(); harness.fail("wait called outside synchronized block"); } catch (IllegalMonitorStateException imse) { harness.check(true, "wait called outside synchronized block"); } catch (InterruptedException ie) { harness.fail("wait called outside synchronized block"); } try { wait(1); harness.fail("wait called outside synchronized block"); } catch (IllegalMonitorStateException imse) { harness.check(true, "wait called outside synchronized block"); } catch (InterruptedException ie) { harness.fail("wait called outside synchronized block"); } try { wait(1, 0); harness.fail("wait called outside synchronized block"); } catch (IllegalMonitorStateException imse) { harness.check(true, "wait called outside synchronized block"); } catch (InterruptedException ie) { harness.fail("wait called outside synchronized block"); } try { notify(); harness.fail("notify called outside synchronized block"); } catch (IllegalMonitorStateException imse) { harness.check(true, "notify called outside synchronized block"); } try { notifyAll(); harness.fail("notifyAll called outside synchronized block"); } catch (IllegalMonitorStateException imse) { harness.check(true, "notifyAll called outside synchronized block"); } } } mauve-20140821/gnu/testlet/java/lang/Object/ObjectTest.java0000644000175000001440000000711410206401720022176 0ustar dokousers/* Copyright (C) 1999 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.0 package gnu.testlet.java.lang.Object; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class ObjectTest implements Testlet { boolean finFlag = false; protected static TestHarness harness; public void test_getClass() { Integer i = new Integer(10); Class cls = i.getClass(); if ( cls == null ) harness.fail("Error: test_getClass returned null"); ObjectTest obj = new ObjectTest(); if ( obj.getClass() != getClass()) harness.fail("Error: test_getClass returned wrong class"); } public void test_toString() { if ( toString() == null ) harness.fail("Error: test_toString returned null string"); if ( !toString().equals(getClass().getName()+"@"+ Integer.toHexString(hashCode()))) harness.fail("Error: test_toString returned wrong string"); } public void test_equals() { Object nu = this; // reflexive if ( this != nu ) harness.fail("Error: test_equals returned wrong results - 1"); if ( !this.equals( nu )) harness.fail("Error: test_equals returned wrong results - 2"); if ( !nu.equals( nu )) harness.fail("Error: test_equals returned wrong results - 3"); // symmetric Object nu1 = nu; if ( ! ( nu.equals(nu1) && nu1.equals(nu))) harness.fail("Error: test_equals returned wrong results - 4"); // transitive if ( ! ( nu.equals(nu1) && nu1.equals(this) && equals(nu))) harness.fail("Error: test_equals returned wrong results - 5"); Object p = null; if ( equals( p )) harness.fail("Error: test_equals returned wrong results - 6"); } public void test_hashCode() { Object s = this; if ( s.hashCode() != hashCode() ) harness.fail("Error: test_hashCode returned wrong results - 1"); int hash = s.hashCode(); if ( hash != s.hashCode()) harness.fail("Error: test_hashCode returned wrong results - 2"); } public void test_clone() { try { clone(); harness.fail("Error: test_clone did not raise CloneNotSupportedException"); } catch ( CloneNotSupportedException e ){} java.util.Vector v = new java.util.Vector(); java.util.Vector vclone; try { vclone = (java.util.Vector)v.clone(); } catch ( Exception e ){ if (e instanceof CloneNotSupportedException) { harness.fail("Error: test_clone should not raise CloneNotSupportedException"+ " on Vector " ); } else { harness.fail("Error: test_clone should not raise Exception "+ e + " on Vector " ); } } /* if (!(( vclone != v ) && ( vclone.getClass() == v.getClass()) && (vclone.equals( v) ))) harness.fail("Error: test_clone did not return proper values"); */ } public void testall() { test_getClass(); test_toString(); test_equals(); test_hashCode(); test_clone(); } public void test (TestHarness the_harness) { harness = the_harness; testall (); } } mauve-20140821/gnu/testlet/java/lang/Object/classInfo/0000755000175000001440000000000012375316426021224 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Object/classInfo/getPackage.java0000644000175000001440000000306512050420211024100 0ustar dokousers// Test for method java.lang.Object.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Object.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Object; /** * Test for method java.lang.Object.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Object final Object o = new Object(); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/Object/classInfo/getDeclaredMethods.java0000644000175000001440000001445612050420210025601 0ustar dokousers// Test for method java.lang.Object.getClass().getDeclaredMethods() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Object.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Object; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.Object.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedDeclaredMethods_jdk6.put("protected void java.lang.Object.finalize() throws java.lang.Throwable", "finalize"); testedDeclaredMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedDeclaredMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedDeclaredMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedDeclaredMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedDeclaredMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedDeclaredMethods_jdk6.put("protected java.lang.Object java.lang.Object.clone() throws java.lang.CloneNotSupportedException", "clone"); testedDeclaredMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedDeclaredMethods_jdk6.put("private static void java.lang.Object.registerNatives()", "registerNatives"); testedDeclaredMethods_jdk6.put("public java.lang.String java.lang.Object.toString()", "toString"); testedDeclaredMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedDeclaredMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedDeclaredMethods_jdk7.put("protected void java.lang.Object.finalize() throws java.lang.Throwable", "finalize"); testedDeclaredMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedDeclaredMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedDeclaredMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedDeclaredMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedDeclaredMethods_jdk7.put("public java.lang.String java.lang.Object.toString()", "toString"); testedDeclaredMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedDeclaredMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedDeclaredMethods_jdk7.put("protected java.lang.Object java.lang.Object.clone() throws java.lang.CloneNotSupportedException", "clone"); testedDeclaredMethods_jdk7.put("private static void java.lang.Object.registerNatives()", "registerNatives"); testedDeclaredMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedDeclaredMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class Object final Object o = new Object(); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); // check if all declared methods exist for (java.lang.reflect.Method declaredMethod : declaredMethods) { // method name should consists of package name + class name String methodName = declaredMethod.getName(); // modifiers + package + method name + parameter types String methodString = declaredMethod.toString().replaceAll(" native ", " "); harness.check(testedDeclaredMethods.containsKey(methodString)); harness.check(testedDeclaredMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Object/classInfo/getInterfaces.java0000644000175000001440000000312512050420210024624 0ustar dokousers// Test for method java.lang.Object.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Object.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Object; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.Object.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Object final Object o = new Object(); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/Object/classInfo/getModifiers.java0000644000175000001440000000431612050420211024466 0ustar dokousers// Test for method java.lang.Object.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Object.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Object; import java.lang.reflect.Modifier; /** * Test for method java.lang.Object.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Object final Object o = new Object(); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/Object/classInfo/getDeclaredFields.java0000644000175000001440000000600512241104042025377 0ustar dokousers// Test for method java.lang.Object.getClass().getDeclaredFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Object.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Object; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.Object.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class Object final Object o = new Object(); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Object/classInfo/getDeclaredConstructors.java0000644000175000001440000000756612050420210026712 0ustar dokousers// Test for method java.lang.Object.getClass().getDeclaredConstructors() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Object.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Object; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.Object.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.Object()", "java.lang.Object"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.Object()", "java.lang.Object"); // create instance of a class Object final Object o = new Object(); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Object/classInfo/getFields.java0000644000175000001440000000551612241104042023761 0ustar dokousers// Test for method java.lang.Object.getClass().getFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Object.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Object; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.Object.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class Object final Object o = new Object(); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Object/classInfo/isPrimitive.java0000644000175000001440000000302212050420211024342 0ustar dokousers// Test for method java.lang.Object.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Object.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Object; /** * Test for method java.lang.Object.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Object final Object o = new Object(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/Object/classInfo/getSimpleName.java0000644000175000001440000000303512050420211024574 0ustar dokousers// Test for method java.lang.Object.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Object.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Object; /** * Test for method java.lang.Object.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Object final Object o = new Object(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "Object"); } } mauve-20140821/gnu/testlet/java/lang/Object/classInfo/isAnnotationPresent.java0000644000175000001440000000421012050420211026045 0ustar dokousers// Test for method java.lang.Object.getClass().isAnnotationPresent() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Object.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Object; /** * Test for method java.lang.Object.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Object final Object o = new Object(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/Object/classInfo/isSynthetic.java0000644000175000001440000000302212050420211024344 0ustar dokousers// Test for method java.lang.Object.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Object.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Object; /** * Test for method java.lang.Object.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Object final Object o = new Object(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/Object/classInfo/isAnnotation.java0000644000175000001440000000302012050420211024502 0ustar dokousers// Test for method java.lang.Object.getClass().isAnnotation() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Object.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Object; /** * Test for method java.lang.Object.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Object final Object o = new Object(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/Object/classInfo/isInstance.java0000644000175000001440000000303112050420211024136 0ustar dokousers// Test for method java.lang.Object.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Object.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Object; /** * Test for method java.lang.Object.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Object final Object o = new Object(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new Object())); } } mauve-20140821/gnu/testlet/java/lang/Object/classInfo/isMemberClass.java0000644000175000001440000000303212050420211024570 0ustar dokousers// Test for method java.lang.Object.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Object.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Object; /** * Test for method java.lang.Object.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Object final Object o = new Object(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/Object/classInfo/getSuperclass.java0000644000175000001440000000302712050420211024667 0ustar dokousers// Test for method java.lang.Object.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Object.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Object; /** * Test for method java.lang.Object.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Object final Object o = new Object(); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); } } mauve-20140821/gnu/testlet/java/lang/Object/classInfo/isEnum.java0000644000175000001440000000277012050420211023307 0ustar dokousers// Test for method java.lang.Object.getClass().isEnum() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Object.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Object; /** * Test for method java.lang.Object.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Object final Object o = new Object(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/Object/classInfo/getMethods.java0000644000175000001440000001225312050420210024146 0ustar dokousers// Test for method java.lang.Object.getClass().getMethods() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Object.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Object; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.Object.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public java.lang.String java.lang.Object.toString()", "toString"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public java.lang.String java.lang.Object.toString()", "toString"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class Object final Object o = new Object(); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Object/classInfo/InstanceOf.java0000644000175000001440000000305412050420210024073 0ustar dokousers// Test for instanceof operator applied to a class java.lang.Object // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Object.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.Object */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Object Object o = new Object(); // basic check of instanceof operator harness.check(o instanceof Object); // check operator instanceof against all superclasses } } mauve-20140821/gnu/testlet/java/lang/Object/classInfo/isAnonymousClass.java0000644000175000001440000000304012050420211025350 0ustar dokousers// Test for method java.lang.Object.getClass().isAnonymousClass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Object.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Object; /** * Test for method java.lang.Object.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Object final Object o = new Object(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/Object/classInfo/isInterface.java0000644000175000001440000000302212050420211024272 0ustar dokousers// Test for method java.lang.Object.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Object.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Object; /** * Test for method java.lang.Object.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Object final Object o = new Object(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/Object/classInfo/getConstructors.java0000644000175000001440000000724112050420210025254 0ustar dokousers// Test for method java.lang.Object.getClass().getConstructors() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Object.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Object; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.Object.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.Object()", "java.lang.Object"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.Object()", "java.lang.Object"); // create instance of a class Object final Object o = new Object(); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Object/classInfo/isAssignableFrom.java0000644000175000001440000000306012050420211025270 0ustar dokousers// Test for method java.lang.Object.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Object.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Object; /** * Test for method java.lang.Object.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Object final Object o = new Object(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(Object.class)); } } mauve-20140821/gnu/testlet/java/lang/Object/classInfo/isLocalClass.java0000644000175000001440000000302612050420211024416 0ustar dokousers// Test for method java.lang.Object.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Object.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Object; /** * Test for method java.lang.Object.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Object final Object o = new Object(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/Object/classInfo/getName.java0000644000175000001440000000301712050420211023422 0ustar dokousers// Test for method java.lang.Object.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Object.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Object; /** * Test for method java.lang.Object.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Object final Object o = new Object(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.Object"); } } mauve-20140821/gnu/testlet/java/lang/Object/classInfo/isArray.java0000644000175000001440000000277412050420211023465 0ustar dokousers// Test for method java.lang.Object.getClass().isArray() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Object.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Object; /** * Test for method java.lang.Object.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Object final Object o = new Object(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/SecurityManager/0000755000175000001440000000000012375316426021177 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/SecurityManager/thread.java0000644000175000001440000000455611232312777023317 0ustar dokousers// Copyright (C) 2005, 2006 Red Hat, Inc. // // This file is part of Mauve. // // Mauve 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 version 2, or (at your option) // any later version. // // Mauve 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // // Tags: JDK1.2 package gnu.testlet.java.lang.SecurityManager; import java.security.Permission; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.TestSecurityManager; public class thread implements Testlet { public void test(TestHarness harness) { // The 1.4.2 javadoc for SecurityManager.checkAccess(Thread) says // that checkAccess will check RuntimePermission("modifyThread") // for system threads, and do nothing for other threads. It // defines a system thread as one belonging to a thread group // with a null parent. SecurityManager.checkAccess(ThreadGroup) // similarly performs checks only when the group's parent is null. harness.checkPoint("checkAccess"); // Get ourselves a system thread and group Thread thread = Thread.currentThread(); ThreadGroup group = thread.getThreadGroup(); harness.check(group != null); while (group.getParent() != null) group = group.getParent(); if (thread.getThreadGroup() != group) thread = new Thread(group, "dummy"); // Check we're checking TestSecurityManager sm = new TestSecurityManager(harness); try { sm.install(); sm.prepareChecks(new Permission[] { new RuntimePermission("modifyThread")}); sm.checkAccess(thread); sm.checkAllChecked(); sm.prepareChecks(new Permission[] { new RuntimePermission("modifyThreadGroup")}); sm.checkAccess(group); sm.checkAllChecked(); } finally { sm.uninstall(); } } } mauve-20140821/gnu/testlet/java/lang/Class/0000755000175000001440000000000012375316426017142 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Class/IsAnonymousClass.java0000644000175000001440000000377611504141637023265 0ustar dokousers/* Copyright (C) 2010 Red Hat, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.5 package gnu.testlet.java.lang.Class; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.lang.reflect.Array; public class IsAnonymousClass implements Testlet { public void test(TestHarness harness) { Class anon = (new Object() { public String toString() { return "Hello!"; } }).getClass(); Class anonArray = Array.newInstance(anon, 1).getClass(); harness.check(int.class.isAnonymousClass(), false, "Primitive type class"); harness.check(int[].class.isAnonymousClass(), false, "Primitive type one-dimensional array class"); harness.check(int[][].class.isAnonymousClass(), false, "Primitive type multi-dimensional array class"); harness.check(Object[].class.isAnonymousClass(), false, "Object type one-dimensional array class"); harness.check(Object.class.isAnonymousClass(), false, "Object type class"); harness.check(InnerClass.class.isAnonymousClass(), false, "Inner class"); harness.check(anon.isAnonymousClass(), true, "Anonymous class"); harness.check(anonArray.isAnonymousClass(), false, "Anonymous array class"); } public static class InnerClass { }; } mauve-20140821/gnu/testlet/java/lang/Class/serialization.java0000644000175000001440000001023610204715353022653 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.Class; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Graphics2D; import java.awt.LayoutManager; import java.awt.Point; import java.awt.Rectangle; import java.awt.geom.Arc2D; import java.awt.geom.Line2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RoundRectangle2D; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.Externalizable; import java.io.IOException; import java.io.ObjectInput; import java.io.ObjectInputStream; import java.io.ObjectOutput; import java.io.ObjectOutputStream; import java.io.ObjectStreamClass; import java.io.Serializable; import java.lang.reflect.Array; import java.text.DateFormat; import java.util.ArrayList; import java.util.Collection; import java.util.Vector; import java.util.Set; import java.util.SortedSet; import javax.swing.table.DefaultTableModel; /** * Some checks for serialization of a Class instance. */ public class serialization implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testClass(Cloneable.class, harness); testClass(Comparable.class, harness); testClass(Serializable.class, harness); testClass(Externalizable.class, harness); testClass(String.class, harness); testClass(Number.class, harness); testClass(Boolean.class, harness); testClass(Integer.class, harness); testClass(Float.class, harness); testClass(Double.class, harness); testClass(Vector.class, harness); testClass(ArrayList.class, harness); testClass(DateFormat.class, harness); testClass(Point.class, harness); testClass(Rectangle.class, harness); testClass(Rectangle2D.class, harness); testClass(Rectangle2D.Double.class, harness); testClass(Line2D.class, harness); testClass(Arc2D.class, harness); testClass(RoundRectangle2D.class, harness); testClass(Graphics2D.class, harness); testClass(DefaultTableModel.class, harness); testClass(LayoutManager.class, harness); testClass(Array.class, harness); testClass(Object.class, harness); testClass(Class.class, harness); testClass(Throwable.class, harness); testClass(IOException.class, harness); testClass(Void.class, harness); testClass(ObjectStreamClass.class, harness); testClass(Collection.class, harness); testClass(Set.class, harness); testClass(SortedSet.class, harness); testClass(boolean.class, harness); testClass(byte.class, harness); testClass(short.class, harness); testClass(char.class, harness); testClass(int.class, harness); testClass(long.class, harness); testClass(float.class, harness); testClass(double.class, harness); testClass(void.class, harness); } private void testClass(Class c1, TestHarness harness) { Class c2 = null; try { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); ObjectOutput out = new ObjectOutputStream(buffer); out.writeObject(c1); out.close(); ObjectInput in = new ObjectInputStream( new ByteArrayInputStream(buffer.toByteArray()) ); c2 = (Class) in.readObject(); in.close(); } catch (Exception e) { harness.debug(e); } harness.check(c1.equals(c2), c1.toString()); } } mauve-20140821/gnu/testlet/java/lang/Class/reflect2.java0000644000175000001440000000701310057633054021506 0ustar dokousers// Tags: JDK1.1 // Uses: rf_help rf2_help // Copyright (C) 2002 Stephen Crawley // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Class; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class reflect2 implements Testlet { private TestHarness harness; private Class help; private Class help2; private Class help_inner; private Class help2_inner; private Class help2_inner_inner; public Class getClass(String name) { try { return Class.forName(name); } catch (Throwable ex) { ex.printStackTrace(); return null; } } public void test_getClasses() { harness.checkPoint("getClasses"); Class[] inner = (new Object()).getClass().getClasses(); harness.check(inner.length == 0); inner = help.getClasses(); harness.check(inner.length == 1 && inner[0].equals(help_inner)); inner = help2.getClasses(); harness.check(inner.length == 3); inner = help_inner.getClasses(); harness.check(inner.length == 0); inner = help2_inner.getClasses(); harness.check(inner.length == 1 && inner[0].equals(help2_inner_inner)); inner = help2_inner_inner.getClasses(); harness.check(inner.length == 0); } public void test_getDeclaringClass() { harness.checkPoint("getDeclaringClass"); Class outer = help.getDeclaringClass(); harness.check(outer == null); outer = help2.getDeclaringClass(); harness.check(outer == null); outer = help_inner.getDeclaringClass(); harness.check(outer != null && outer.equals(help)); outer = help2_inner.getDeclaringClass(); harness.check(outer != null && outer.equals(help2)); outer = help2_inner_inner.getDeclaringClass(); harness.check(outer != null && outer.equals(help2_inner)); } public void test_getDeclaredClasses() { harness.checkPoint("getDeclaredClasses"); Class[] inner = help.getDeclaredClasses(); harness.check(inner.length == 1 && inner[0].equals(help_inner)); inner = help2.getDeclaredClasses(); harness.check(inner.length == 8); inner = help2_inner.getDeclaredClasses(); harness.check(inner.length == 1 && inner[0].equals(help2_inner_inner)); inner = help2_inner_inner.getDeclaredClasses(); harness.check(inner.length == 0); } public void test(TestHarness harness) { this.harness = harness; help = getClass("gnu.testlet.java.lang.Class.rf_help"); help2 = getClass("gnu.testlet.java.lang.Class.rf2_help"); help_inner = getClass("gnu.testlet.java.lang.Class.rf_help$inner"); help2_inner = getClass("gnu.testlet.java.lang.Class.rf2_help$inner_class_1"); help2_inner_inner = getClass("gnu.testlet.java.lang.Class." + "rf2_help$inner_class_1$inner_inner_class_1"); test_getClasses(); test_getDeclaringClass(); test_getDeclaredClasses(); } } mauve-20140821/gnu/testlet/java/lang/Class/GetSimpleName.java0000644000175000001440000000403011501440471022460 0ustar dokousers/* Copyright (C) 2010 Pekka Enberg Copyright (C) 2010 Red Hat, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.5 package gnu.testlet.java.lang.Class; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.lang.reflect.Array; public class GetSimpleName implements Testlet { public void test(TestHarness harness) { Class anon = (new Object() { public String toString() { return "Hello!"; } }).getClass(); Class anonArray = Array.newInstance(anon, 1).getClass(); harness.check(int.class.getSimpleName(), "int", "Primitive type class"); harness.check(int[].class.getSimpleName(), "int[]", "Primitive type one-dimensional array class"); harness.check(int[][].class.getSimpleName(), "int[][]", "Primitive type multi-dimensional array class"); harness.check(Object[].class.getSimpleName(), "Object[]", "Object type one-dimensional array class"); harness.check(Object.class.getSimpleName(), "Object", "Object type class"); harness.check(InnerClass.class.getSimpleName(), "InnerClass", "Inner class"); harness.check(anon.getSimpleName(), "", "Anonymous class"); harness.check(anonArray.getSimpleName(), "[]", "Anonymous array class"); } public static class InnerClass { }; } mauve-20140821/gnu/testlet/java/lang/Class/reflect.java0000644000175000001440000002514607573521435021443 0ustar dokousers// Tags: JDK1.1 // Uses: rf_help rf2_help // Copyright (C) 2000, 2002 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Class; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.lang.reflect.*; public class reflect implements Testlet { public int do_nothing (int arg) { return ++arg; } public Class getClass (String name) { // gcj can't handle `.class' notation yet. Class k = null; try { k = Class.forName(name); } catch (Throwable _) { // Nothing. } return k; } public Object getCons (Class k, Class[] types, boolean decl) { try { return decl ? k.getDeclaredConstructor(types) : k.getConstructor(types); } catch (Throwable _) { return _; } } public Object getMethod (Class k, String name, Class[] types, boolean decl) { try { return (decl ? k.getDeclaredMethod(name, types) : k.getMethod(name, types)); } catch (Throwable _) { return _; } } public Object getField (Class k, String name, boolean decl) { try { return decl ? k.getDeclaredField(name) : k.getField(name); } catch (Throwable _) { return _; } } public void test (TestHarness harness) { Class reflect_class = getClass ("gnu.testlet.java.lang.Class.reflect"); Class rf_help_class = getClass ("gnu.testlet.java.lang.Class.rf_help"); Class rf2_help_class = getClass ("gnu.testlet.java.lang.Class.rf2_help"); Class aci_class = getClass ("java.text.AttributedCharacterIterator"); Class i_class = Integer.TYPE; Class array_class = (new Number[5][2]).getClass(); Class[] ptz = new Class[0]; Class[] pt1 = new Class[1]; pt1[0] = Integer.TYPE; harness.checkPoint ("getConstructor"); // This class doesn't have an explicit constructor, so we make // sure that the implicit one can be found. Object cons = getCons (reflect_class, ptz, false); harness.check(cons instanceof Constructor); cons = getCons (reflect_class, pt1, false); harness.check(cons instanceof NoSuchMethodException); cons = getCons (rf_help_class, ptz, false); harness.check(cons instanceof NoSuchMethodException); cons = getCons (i_class, ptz, false); harness.check(cons instanceof NoSuchMethodException); harness.checkPoint("getConstructors"); try { Constructor[] cls = reflect_class.getConstructors(); harness.check(cls.length, 1); harness.check(cls[0].getName(), "gnu.testlet.java.lang.Class.reflect"); } catch (SecurityException se) { // One per check above. harness.check(false); harness.check(false); } try { Constructor[] cls = rf_help_class.getConstructors(); harness.check(cls.length, 1); } catch (SecurityException se) { // One per check above. harness.check(false); } try { Constructor[] cls = i_class.getConstructors(); harness.check(cls.length, 0); } catch (SecurityException se) { // One per check above. harness.check(false); } try { Constructor[] cls = array_class.getConstructors(); harness.check(cls.length, 0); } catch (SecurityException se) { harness.check(false); } harness.checkPoint ("getDeclaredConstructor"); cons = getCons (rf_help_class, ptz, true); harness.check(cons instanceof Constructor); cons = getCons (rf_help_class, pt1, true); harness.check(cons instanceof NoSuchMethodException); cons = getCons (i_class, ptz, true); harness.check(cons instanceof NoSuchMethodException); harness.checkPoint("getDeclaredConstructors"); try { Constructor[] cls = reflect_class.getDeclaredConstructors(); harness.check(cls.length, 1); harness.check(cls[0].getName(), "gnu.testlet.java.lang.Class.reflect"); } catch (SecurityException se) { // One per check above. harness.check(false); harness.check(false); } try { Constructor[] cls = rf_help_class.getDeclaredConstructors(); harness.check(cls.length, 2); harness.check(cls[0].getName(), "gnu.testlet.java.lang.Class.rf_help"); harness.check(cls[1].getName(), "gnu.testlet.java.lang.Class.rf_help"); } catch (SecurityException se) { // One per check above. harness.check(false); harness.check(false); harness.check(false); } try { Constructor[] cls = i_class.getDeclaredConstructors(); harness.check(cls.length, 0); } catch (SecurityException se) { // One per check above. harness.check(false); } try { Constructor[] cls = array_class.getDeclaredConstructors(); harness.check(cls.length, 0); } catch (SecurityException se) { harness.check(false); } harness.checkPoint ("getDeclaredField"); Object f = getField (rf_help_class, "size", true); harness.check(f instanceof Field); harness.check(((Field) f).getModifiers(), Modifier.PRIVATE); f = getField (rf_help_class, "value", true); harness.check(f instanceof Field); harness.check(((Field) f).getModifiers(), Modifier.STATIC); f = getField (rf2_help_class, "value", true); harness.check(f instanceof NoSuchFieldException); harness.checkPoint("getField"); f = getField (rf_help_class, "size", false); harness.check(f instanceof NoSuchFieldException); f = getField (rf_help_class, "name", false); harness.check(f instanceof Field); harness.check(((Field) f).getModifiers(), Modifier.PUBLIC); f = getField (rf2_help_class, "name", false); harness.check(f instanceof Field); f = getField (rf2_help_class, "value", false); harness.check(f instanceof NoSuchFieldException); harness.checkPoint("getDeclaredFields"); try { Field[] flds = rf_help_class.getDeclaredFields(); harness.check(flds.length, 3); } catch (SecurityException se) { // One per check above. harness.check(false); } harness.checkPoint("getFields"); try { Field[] flds = rf_help_class.getFields(); harness.check(flds.length, 1); } catch (SecurityException se) { // One per check above. harness.check(false); } try { Field[] flds = i_class.getFields(); harness.check(flds.length, 0); } catch (SecurityException se) { // One per check above. harness.check(false); } harness.checkPoint("getMethod"); Object m = getMethod(rf_help_class, "doit", ptz, false); harness.check(m instanceof NoSuchMethodException); m = getMethod(reflect_class, "do_nothing", pt1, false); harness.check(m instanceof Method); harness.check(((Method) m).getName(), "do_nothing"); // FIXME: replace `==' with `,' and libgcj will segv. harness.check(((Method) m).getDeclaringClass() == reflect_class); // See if we can get something that is inherited. m = getMethod(rf_help_class, "hashCode", ptz, false); harness.check(m instanceof Method); harness.checkPoint("getMethods"); int oms = 9; // Reasonable guess. try { oms = (new Object()).getClass().getMethods().length; harness.check(true); } catch (Throwable t) { harness.debug(t); harness.check(false); } try { Method[] ms = rf_help_class.getMethods(); harness.check(ms.length, oms); } catch (SecurityException se) { // One per check above. harness.check(false); } try { Method[] ms = reflect_class.getMethods(); int expected = (6 /* from reflect.java; note that Testlet's method is also declared here and should only be counted once. */ + oms /* from Object */ ); harness.check(ms.length, expected); } catch (SecurityException se) { // One per check above. harness.check(false); } try { Method[] ms = i_class.getMethods(); harness.check(ms.length, 0); } catch (SecurityException se) { // One per check above. harness.check(false); } harness.checkPoint("getDeclaredMethod"); m = getMethod(rf_help_class, "doit", ptz, true); harness.check(m instanceof Method); harness.check(((Method) m).getName(), "doit"); // Make sure we can't fetch a constructor this way. m = getMethod(rf_help_class, "rf_help", ptz, true); harness.check(m instanceof NoSuchMethodException); m = getMethod(reflect_class, "do_nothing", pt1, false); harness.check(m instanceof Method); // See if we can get something that is inherited. m = getMethod(rf_help_class, "hashCode", ptz, true); harness.check(m instanceof NoSuchMethodException); harness.checkPoint("getDeclaredMethods"); try { Method[] ms = rf_help_class.getDeclaredMethods(); harness.check(ms.length, 1); } catch (SecurityException se) { // One per check above. harness.check(false); } try { Method[] ms = reflect_class.getDeclaredMethods(); harness.check(ms.length, 6); } catch (SecurityException se) { // One per check above. harness.check(false); } try { Method[] ms = i_class.getDeclaredMethods(); harness.check(ms.length, 0); } catch (SecurityException se) { // One per check above. harness.check(false); } try { Method[] ms = array_class.getDeclaredMethods(); harness.check(ms.length, 0); } catch (SecurityException se) { // One per check above. harness.check(false); } harness.checkPoint("getDeclaringClass"); // None of these classes has a declaring class. harness.check(rf_help_class.getDeclaringClass(), null); harness.check(reflect_class.getDeclaringClass(), null); harness.check(i_class.getDeclaringClass(), null); harness.checkPoint("getMethod with superinterface"); m = getMethod(aci_class, "current", ptz, false); if (m instanceof Method) harness.check(((Method) m).getName(), "current"); else harness.check(false); } } mauve-20140821/gnu/testlet/java/lang/Class/isPrimitive.java0000644000175000001440000000774112023366377022322 0ustar dokousers// Test for method java.lang.Class.isPrimitive() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Class; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Class; /** * Test for method java.lang.Class.isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // primitive types harness.check(Boolean.TYPE.isPrimitive(), true); harness.check(Character.TYPE.isPrimitive(), true); harness.check(Byte.TYPE.isPrimitive(), true); harness.check(Short.TYPE.isPrimitive(), true); harness.check(Integer.TYPE.isPrimitive(), true); harness.check(Long.TYPE.isPrimitive(), true); harness.check(Float.TYPE.isPrimitive(), true); harness.check(Double.TYPE.isPrimitive(), true); harness.check(Void.TYPE.isPrimitive(), true); // classes corresponding to primitive types checkClass(harness, "java.lang.Boolean", false); checkClass(harness, "java.lang.Character", false); checkClass(harness, "java.lang.Byte", false); checkClass(harness, "java.lang.Short", false); checkClass(harness, "java.lang.Integer", false); checkClass(harness, "java.lang.Long", false); checkClass(harness, "java.lang.Float", false); checkClass(harness, "java.lang.Double", false); // common object checkClass(harness, "java.lang.Object", false); // one-dimensional arrays checkClass(harness, "[Z", false); checkClass(harness, "[C", false); checkClass(harness, "[B", false); checkClass(harness, "[S", false); checkClass(harness, "[I", false); checkClass(harness, "[J", false); checkClass(harness, "[F", false); checkClass(harness, "[D", false); checkClass(harness, "[Ljava.lang.Object;", false); // two-dimensional arrays checkClass(harness, "[[Z", false); checkClass(harness, "[[C", false); checkClass(harness, "[[B", false); checkClass(harness, "[[S", false); checkClass(harness, "[[I", false); checkClass(harness, "[[J", false); checkClass(harness, "[[F", false); checkClass(harness, "[[D", false); checkClass(harness, "[[Ljava.lang.Object;", false); // three-dimensional arrays checkClass(harness, "[[[Z", false); checkClass(harness, "[[[C", false); checkClass(harness, "[[[B", false); checkClass(harness, "[[[S", false); checkClass(harness, "[[[I", false); checkClass(harness, "[[[J", false); checkClass(harness, "[[[F", false); checkClass(harness, "[[[D", false); checkClass(harness, "[[[Ljava.lang.Object;", false); } public void checkClass(TestHarness harness, String className, boolean isPrimitive) { try { Class c = Class.forName(className); harness.check(c.isPrimitive() == isPrimitive); } catch (Exception e) { e.printStackTrace(); harness.check(false); } } } mauve-20140821/gnu/testlet/java/lang/Class/isAnnotationPresent.java0000644000175000001440000000346312023366377024022 0ustar dokousers// Test for method java.lang.Class.isAnnotationPresent() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Class; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Class; /** * Test for method java.lang.Class.isAnnotation() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // get a runtime class of an Class Class c1 = Class.class; harness.check(!c1.isAnnotationPresent(java.lang.annotation.Annotation.class)); // get a runtime class of an Identify Class c2 = java.security.Identity.class; harness.check(!c2.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c2.isAnnotationPresent(java.lang.annotation.Documented.class)); // this class is deprecated! harness.check(c2.isAnnotationPresent(java.lang.Deprecated.class)); } } mauve-20140821/gnu/testlet/java/lang/Class/rf2_help.java0000644000175000001440000000252607555015624021513 0ustar dokousers// A helper for reflect.java. // Tags: not-a-test // Copyright (C) 2002 Stephen Crawley // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Class; public class rf2_help extends rf_help { public class inner_class_1 { public class inner_inner_class_1 { } } private class inner_class_2 { } protected class inner_class_3 { } class inner_class_4 { } public interface inner_interface_1 { } private interface inner_interface_2 { } protected interface inner_interface_3 { } interface inner_interface_4 { } public rf2_help(double arg) { super(arg); } } mauve-20140821/gnu/testlet/java/lang/Class/pkg/0000755000175000001440000000000012375316426017723 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Class/pkg/test4.java0000644000175000001440000000155110343057347021630 0ustar dokousers// Copyright (C) 2005 Jeroen Frijters // Tags: not-a-test // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Class.pkg; public class test4 { test4() { } } mauve-20140821/gnu/testlet/java/lang/Class/pkg/test2.java0000644000175000001440000000156010343057347021626 0ustar dokousers// Copyright (C) 2005 Jeroen Frijters // Tags: not-a-test // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Class.pkg; public class test2 { public test2() { } } mauve-20140821/gnu/testlet/java/lang/Class/pkg/test3.java0000644000175000001440000000155110343057347021627 0ustar dokousers// Copyright (C) 2005 Jeroen Frijters // Tags: not-a-test // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Class.pkg; class test3 { public test3() { } } mauve-20140821/gnu/testlet/java/lang/Class/pkg/test1.java0000644000175000001440000000154210343057347021625 0ustar dokousers// Copyright (C) 2005 Jeroen Frijters // Tags: not-a-test // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Class.pkg; class test1 { test1() { } } mauve-20140821/gnu/testlet/java/lang/Class/isAnnotation.java0000644000175000001440000000413112023366377022452 0ustar dokousers// Test for method java.lang.Class.isAnnotation() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Class; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Class; /** * Test for method java.lang.Class.isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // get a runtime class of an Class Class c1 = Class.class; harness.check(!c1.isAnnotation()); // get a runtime class of an Annotation Class c2 = java.lang.annotation.Annotation.class; harness.check(!c2.isAnnotation()); // get a runtime class of an Annotation Class c3 = java.lang.annotation.Documented.class; harness.check(c3.isAnnotation()); // get a runtime class of an Inherited Class c4 = java.lang.annotation.Inherited.class; harness.check(c4.isAnnotation()); // get a runtime class of an Retention Class c5 = java.lang.annotation.Retention.class; harness.check(c5.isAnnotation()); // get a runtime class of an Target Class c6 = java.lang.annotation.Target.class; harness.check(c6.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/Class/init.java0000644000175000001440000000734210165044044020743 0ustar dokousers// Tags: JDK1.1 // // Copyright (C) 2004, Free Software Foundation, Inc. // Contributed by Mark J. Wielaard (mark@klomp.org) // // This file is part of Mauve. // // Mauve 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 version 2, or (at your option) // any later version. // // Mauve 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.Class; import gnu.testlet.*; import java.lang.reflect.*; // This tests VM Spec 2.17.4 // As discussed at http://gcc.gnu.org/ml/java-patches/2004-q2/msg00443.html public class init implements Testlet { static boolean initI = false; static boolean initC1 = false; static boolean initC2 = false; static boolean initC3 = false; static boolean initC4 = false; static boolean initC5 = false; static boolean invokedM = false; interface I { static long l = init.initI(); void m(); } static class C1 implements I { static long l = init.initC1(); public void m() { invokedM = true; } } static class C2 implements I { static long l = init.initC2(); public void m() { } } static class C3 extends C2 { static long l = init.initC3(); } static class C4 extends C2 { static long l = init.initC4(); static boolean m2() { return true; } } static class C5 extends C4 { static long l = init.initC5(); public static int i; } public void test(TestHarness h) { try { // None of this should initialize anything Class i = new I[0].getClass().getComponentType(); Method m = i.getDeclaredMethod("m", null); Field f = Class.forName(getClass().getName() + "$C5", false, getClass().getClassLoader()).getField("i"); // Static field access should initialize C3 and superclass C2 but not I h.check(!initC2); h.check(!initC3); if (C3.l == 123) hashCode(); h.check(initC2); h.check(initC3); // Static method invocation should initialize C4 but not I h.check(!initC4); if (C4.m2()) hashCode(); h.check(initC4); // Static field access should initialize C5 h.check(!initC5); f.set(null, new Character((char)0xffff)); h.check(C5.i == 0xffff); h.check(initC5); // Instantiation of a C should initialize C but not I h.check(!initC1); Object o = new C1(); h.check(initC1); // Apparently, invocation of interface method initializes I h.check(!initI); h.check(!invokedM); m.invoke(o, null); h.check(initI); h.check(invokedM); } catch (NoSuchMethodException nsme) { h.debug(nsme); h.check(false); } catch (NoSuchFieldException e) { h.debug(e); h.check(false); } catch (InvocationTargetException ite) { h.debug(ite); h.check(false); } catch (IllegalAccessException iae) { h.debug(iae); h.check(false); } catch (ClassNotFoundException e) { h.debug(e); h.check(false); } } static long initI() { initI = true; return 5; } static long initC1() { initC1 = true; return 5; } static long initC2() { initC2 = true; return 5; } static long initC3() { initC3 = true; return 5; } static long initC4() { initC4 = true; return 5; } static long initC5() { initC5 = true; return 5; } } mauve-20140821/gnu/testlet/java/lang/Class/classInfo/0000755000175000001440000000000012375316426021063 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Class/classInfo/getPackage.java0000644000175000001440000000302311776777004023766 0ustar dokousers// Test for method java.lang.Class.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Class.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Class; /** * Test for method java.lang.Class.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = Class.class; // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/Class/classInfo/getInterfaces.java0000644000175000001440000000371111776777004024522 0ustar dokousers// Test for method java.lang.Class.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Class.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.Serializable; import java.lang.Class; import java.util.List; import java.util.Arrays; import java.lang.reflect.GenericDeclaration; import java.lang.reflect.Type; import java.lang.reflect.AnnotatedElement; /** * Test for method java.lang.Class.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = Class.class; // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); harness.check(interfaces.contains(Serializable.class)); harness.check(interfaces.contains(GenericDeclaration.class)); harness.check(interfaces.contains(Type.class)); harness.check(interfaces.contains(AnnotatedElement.class)); } } mauve-20140821/gnu/testlet/java/lang/Class/classInfo/getModifiers.java0000644000175000001440000000425411776777004024363 0ustar dokousers// Test for method java.lang.Class.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Class.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Class; import java.lang.reflect.Modifier; /** * Test for method java.lang.Class.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = Class.class; // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check( Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/Class/classInfo/isPrimitive.java0000644000175000001440000000276011776777004024246 0ustar dokousers// Test for method java.lang.Class.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Class.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Class; /** * Test for method java.lang.Class.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = Class.class; // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/Class/classInfo/getSimpleName.java0000644000175000001440000000277211776777004024477 0ustar dokousers// Test for method java.lang.Class.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Class.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Class; /** * Test for method java.lang.Class.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = Class.class; // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "Class"); } } mauve-20140821/gnu/testlet/java/lang/Class/classInfo/isSynthetic.java0000644000175000001440000000276011776777004024250 0ustar dokousers// Test for method java.lang.Class.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Class.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Class; /** * Test for method java.lang.Class.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = Class.class; // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/Class/classInfo/isInstance.java0000644000175000001440000000276611776777004024050 0ustar dokousers// Test for method java.lang.Class.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Class.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Class; /** * Test for method java.lang.Class.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = Class.class; // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(Class.class)); } } mauve-20140821/gnu/testlet/java/lang/Class/classInfo/isMemberClass.java0000644000175000001440000000277011776777004024474 0ustar dokousers// Test for method java.lang.Class.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Class.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Class; /** * Test for method java.lang.Class.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = Class.class; // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/Class/classInfo/getSuperclass.java0000644000175000001440000000306611776777004024566 0ustar dokousers// Test for method java.lang.Class.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Class.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Class; /** * Test for method java.lang.Class.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = Class.class; // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.Object"); } } mauve-20140821/gnu/testlet/java/lang/Class/classInfo/InstanceOf.java0000644000175000001440000000313011776777004023763 0ustar dokousers// Test for instanceof operator applied to a class java.lang.Class // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Class.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Class; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.Class */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Class Class o = Class.class; // basic check of instanceof operator harness.check(o instanceof Class); // check operator instanceof against all superclasses harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/Class/classInfo/isInterface.java0000644000175000001440000000276011776777004024176 0ustar dokousers// Test for method java.lang.Class.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Class.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Class; /** * Test for method java.lang.Class.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = Class.class; // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/Class/classInfo/isAssignableFrom.java0000644000175000001440000000301511776777004025164 0ustar dokousers// Test for method java.lang.Class.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Class.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Class; /** * Test for method java.lang.Class.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = Class.class; // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(Class.class)); } } mauve-20140821/gnu/testlet/java/lang/Class/classInfo/isLocalClass.java0000644000175000001440000000276411776777004024322 0ustar dokousers// Test for method java.lang.Class.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Class.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Class; /** * Test for method java.lang.Class.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = Class.class; // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/Class/classInfo/getName.java0000644000175000001440000000275411776777004023325 0ustar dokousers// Test for method java.lang.Class.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Class.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Class; /** * Test for method java.lang.Class.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = Class.class; // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.lang.Class"); } } mauve-20140821/gnu/testlet/java/lang/Class/security.java0000644000175000001440000003203111232323552021640 0ustar dokousers// Copyright (C) 2005, 2006, 2007 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 package gnu.testlet.java.lang.Class; import java.io.File; import java.lang.reflect.Member; import java.net.URL; import java.net.URLClassLoader; import java.security.Permission; import java.security.Security; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.TestSecurityManager; public class security implements Testlet { public void test(TestHarness harness) { try { harness.checkPoint("setup"); // we need a class with a different loader for most of the // checks to occur. Class testClass = new URLClassLoader(new URL[] { new File(harness.getBuildDirectory()).toURL()}, null).loadClass( getClass().getName()); harness.check(getClass().getClassLoader() != testClass.getClassLoader()); // Make sure everything's fully resolved, or we'll be loading // classes during tests and the extra checks will make us fail. testClass.getDeclaredClasses(); testClass.getDeclaredMethods(); // we need to restrict access to some packages for some of the // checks to occur. String oldrestrictions = Security.getProperty("package.access"); Security.setProperty( "package.access", "gnu.testlet.java.lang.Class."); try { Permission[] noChecks = new Permission[] { }; Permission[] getClassLoader = new Permission[] { new RuntimePermission("getClassLoader")}; Permission[] accessDeclaredMembers = new Permission[] { new RuntimePermission("accessDeclaredMembers"), new RuntimePermission( "accessClassInPackage.gnu.testlet.java.lang.Class")}; Permission[] accessPublicMembers = new Permission[] { new RuntimePermission(TestSecurityManager3.publicPerm), new RuntimePermission( "accessClassInPackage.gnu.testlet.java.lang.Class")}; Permission[] getProtectionDomain = new Permission[] { new RuntimePermission("getProtectionDomain")}; TestSecurityManager sm = new TestSecurityManager(harness); try { sm.install(); // throwpoint: java.lang.Class-forName harness.checkPoint("forName"); try { sm.prepareChecks(getClassLoader); Class.forName("java.lang.Class", false, null); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.Class-getClassLoader harness.checkPoint("getClassLoader"); try { sm.prepareChecks(getClassLoader); testClass.getClassLoader(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // If it is a bootstrap class, there is a null classloader // and no checks are necessary. try { sm.prepareChecks(noChecks); Thread.class.getClassLoader(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // getDeclaredMember checks getMemberChecks(harness, sm, testClass, true, accessDeclaredMembers); // throwpoint: java.lang.Class-getProtectionDomain harness.checkPoint("getProtectionDomain"); try { sm.prepareChecks(getProtectionDomain); testClass.getProtectionDomain(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } try { sm.prepareChecks(getProtectionDomain); getClass().getProtectionDomain(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } finally { sm.uninstall(); } // these tests need a modified security manager sm = new TestSecurityManager3(harness); try { sm.install(); // getMember checks getMemberChecks(harness, sm, testClass, false, accessPublicMembers); } finally { sm.uninstall(); } } finally { if (oldrestrictions != null) { Security.setProperty("package.access", oldrestrictions); } } } catch (Exception ex) { harness.debug(ex); harness.check(false, "Unexpected exception"); } } private void getMemberChecks(TestHarness harness, TestSecurityManager sm, Class testClass, boolean declared, Permission[] mustCheck) { int level; // throwpoint: java.lang.Class-getClasses // throwpoint: java.lang.Class-getDeclaredClasses if (declared) harness.checkPoint("getDeclaredClasses"); else harness.checkPoint("getClasses"); try { sm.prepareChecks(mustCheck); if (declared) testClass.getDeclaredClasses(); else testClass.getClasses(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.Class-getFields // throwpoint: java.lang.Class-getDeclaredFields if (declared) harness.checkPoint("getDeclaredFields"); else harness.checkPoint("getFields"); try { sm.prepareChecks(mustCheck); if (declared) testClass.getDeclaredFields(); else testClass.getFields(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.Class-getMethods // throwpoint: java.lang.Class-getDeclaredMethods if (declared) harness.checkPoint("getDeclaredMethods"); else harness.checkPoint("getMethods"); try { sm.prepareChecks(mustCheck); if (declared) testClass.getDeclaredMethods(); else testClass.getMethods(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.Class-getConstructors // throwpoint: java.lang.Class-getDeclaredConstructors if (declared) harness.checkPoint("getDeclaredConstructors"); else harness.checkPoint("getConstructors"); try { sm.prepareChecks(mustCheck); if (declared) testClass.getDeclaredConstructors(); else testClass.getConstructors(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.Class-getField // throwpoint: java.lang.Class-getDeclaredField if (declared) { harness.checkPoint("getDeclaredField"); level = 0; } else { harness.checkPoint("getField"); level = 3; } try { for (int i = 0; i < modifiers.length; i++) { for (int j = 0; j < 5; j++) { sm.prepareChecks(mustCheck); boolean exists; try { String name = modifiers[i] + "field" + j; if (declared) testClass.getDeclaredField(name); else testClass.getField(name); exists = true; } catch (NoSuchFieldException e) { exists = false; } sm.checkAllChecked(); harness.check(exists == (j > level)); } } } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.Class-getMethod // throwpoint: java.lang.Class-getDeclaredMethod if (declared) harness.checkPoint("getDeclaredMethod"); else harness.checkPoint("getMethod"); try { for (int i = 0; i < modifiers.length; i++) { for (int j = 0; j < 5; j++) { for (int k = 0; k < methodtypes.length; k++) { sm.prepareChecks(mustCheck); boolean exists; try { String name = modifiers[i] + "method" + j; if (declared) testClass.getDeclaredMethod(name, methodtypes[k]); else testClass.getMethod(name, methodtypes[k]); exists = true; } catch (NoSuchMethodException e) { exists = false; } sm.checkAllChecked(); harness.check(exists == (j > level && k > 0)); } } } } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.Class-getConstructor // throwpoint: java.lang.Class-getDeclaredConstructor if (declared) { harness.checkPoint("getDeclaredConstructor"); level = 0; } else { harness.checkPoint("getConstructor"); level = 6; } try { for (int i = 0; i < constructortypes.length; i++) { sm.prepareChecks(mustCheck); boolean exists; try { if (declared) testClass.getDeclaredConstructor(constructortypes[i]); else testClass.getConstructor(constructortypes[i]); exists = true; } catch (NoSuchMethodException e) { exists = false; } sm.checkAllChecked(); harness.check(exists == (i > level)); } } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } // Data tables for get{,Declared}{Field,Method,Constructor} checks private static String[] modifiers = new String[] {"", "static"}; private static Class[][] methodtypes = new Class[][] { new Class[] {short.class}, new Class[] {}, new Class[] {int.class}, new Class[] {String.class, boolean.class}}; private static Class[][] constructortypes = new Class[][] { new Class[] {short.class}, new Class[] {int.class}, new Class[] {String.class, int.class}, new Class[] {int.class, int.class}, new Class[] {byte.class}, new Class[] {String.class}, new Class[] {int.class, String.class}, new Class[] {int.class, int.class, int.class}, new Class[] {}}; // Fields for getField and getDeclaredField checks private boolean field1; byte field2; protected int field3; public String field4; private static boolean staticfield1; static byte staticfield2; protected static int staticfield3; public static String staticfield4; // Methods for getMethod and getDeclaredMethod checks private void method1() {} private void method1(int a) {} private void method1(String b, boolean c) {} char method2() { return 'a'; } char method2(int a) { return 'b'; } char method2(String b, boolean c) { return '1'; } protected String method3() { return "x0x"; } protected String method3(int a) { return "y"; } protected String method3(String b, boolean c) { return "z"; } public int method4() { return 1; } public int method4(int a) { return 0; } public int method4(String b, boolean c) { return -5; } private static void staticmethod1() {} private static void staticmethod1(int a) {} private static void staticmethod1(String b, boolean c) {} static char staticmethod2() { return 'a'; } static char staticmethod2(int a) { return 'b'; } static char staticmethod2(String b, boolean c) { return '1'; } protected static String staticmethod3() { return "x0x"; } protected static String staticmethod3(int a) { return "y"; } protected static String staticmethod3(String b, boolean c) { return "z"; } public static int staticmethod4() { return 1; } public static int staticmethod4(int a) { return 0; } public static int staticmethod4(String b, boolean c) { return -5; } // Constructors for getConstructor and getDeclaredConstructor checks private security(int a) {} private security(String a, int b) {} security(int a, int b) {} security(byte a) {} protected security(String a) {} protected security(int a, String b) {} public security(int a, int b, int c) {} public security() {} // The default implementation of SecurityManager.checkMemberAccess() // checks no permissions if memberType is Member.PUBLIC. This class // changes this, allowing us to test get{Field,Method,Constructor}. // No other tests should use this class. private static class TestSecurityManager3 extends TestSecurityManager { TestSecurityManager3(TestHarness harness) { super(harness); } static String publicPerm = "gnuAccessPublicMembers"; public void checkMemberAccess(Class c, int memberType) { if (c == null) throw new NullPointerException(); if (memberType == Member.PUBLIC) checkPermission(new RuntimePermission(publicPerm)); } } // Silence compiler warnings public void shutUp() { field1 = staticfield1 = false; new security(5).method1(); new security("hello", 5).method1(5); method1("4", field1); staticmethod1(); staticmethod1(5); staticmethod1("4", staticfield1); } } mauve-20140821/gnu/testlet/java/lang/Class/newInstance.java0000644000175000001440000001573310447540037022267 0ustar dokousers// Tags: JDK1.1 // Uses: pkg/test1 pkg/test2 pkg/test3 pkg/test4 // Copyright (C) 2005 Jeroen Frijters // Copyright (C) 2006 Mark J. Wielaard // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Class; import java.io.IOException; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class newInstance implements Testlet { static class test1 { private static class inner { public inner() { } } test1() { } static void check(TestHarness harness) { try { harness.check(test1.class.isInstance(test1.class.newInstance())); } catch (Throwable t) { harness.debug(t); harness.check(false); } } } public static class test2 { public test2() { } static void check(TestHarness harness) { try { harness.check(test2.class.isInstance(test2.class.newInstance())); } catch (Throwable t) { harness.debug(t); harness.check(false); } } } static class test3 { public test3() { } static void check(TestHarness harness) { try { harness.check(test3.class.isInstance(test3.class.newInstance())); } catch (Throwable t) { harness.debug(t); harness.check(false); } } } public static class test4 { test4() { } static void check(TestHarness harness) { try { harness.check(test4.class.isInstance(test4.class.newInstance())); } catch (Throwable t) { harness.debug(t); harness.check(false); } } } public static class test5 { private test5() { } static void check(TestHarness harness) { try { harness.check(test5.class.isInstance(test5.class.newInstance())); } catch (Throwable t) { harness.debug(t); harness.check(false); } } } public static class test6 { public test6() throws IOException { throw new IOException("hi bob"); } static void check(TestHarness harness) { boolean ok = false; try { test6.class.newInstance(); } catch (Throwable t) { harness.debug(t); ok = t instanceof IOException; } harness.check(ok); } } public void test(TestHarness harness) { test1.check(harness); test2.check(harness); test3.check(harness); test4.check(harness); test5.check(harness); checkSuccess(harness, test1.class); checkSuccess(harness, test2.class); checkSuccess(harness, test3.class); checkSuccess(harness, test4.class); // Just see to it that the following is legal. new test5(); // If new test5() is legal, why should test5.class.newInstance() // throw IllegalAccessException? The reason that it is different is // that 'new test5()' will call a compiler-generated accessor // constructor. This accessor has package-private access and an // extra argument (to differentiate it from the user-written // constructor). checkFail(harness, test5.class); checkSuccess(harness, test1.inner.class); try { checkFail(harness, Class.forName("gnu.testlet.java.lang.Class.pkg.test1")); checkSuccess(harness, Class.forName("gnu.testlet.java.lang.Class.pkg.test2")); checkFail(harness, Class.forName("gnu.testlet.java.lang.Class.pkg.test3")); checkFail(harness, Class.forName("gnu.testlet.java.lang.Class.pkg.test4")); } catch (ClassNotFoundException x) { harness.debug(x); harness.fail("test configuration failure"); } test6.check(harness); boolean thrown; // Interfaces cannot be instantiated try { Runnable.class.newInstance(); thrown = false; } catch (IllegalAccessException iae) { thrown = false; // Wrong one } catch (InstantiationException ie) { thrown = true; } harness.check(thrown); // Abstract classes cannot be instantiated try { Number.class.newInstance(); thrown = false; } catch (IllegalAccessException iae) { thrown = false; // Wrong one } catch (InstantiationException ie) { thrown = true; } harness.check(thrown); // Array classes cannot be instantiated try { new Object[1].getClass().newInstance(); thrown = false; } catch (IllegalAccessException iae) { thrown = false; // Wrong one } catch (InstantiationException ie) { thrown = true; } harness.check(thrown); // Primitive classes cannot be instantiated try { Byte.TYPE.newInstance(); thrown = false; } catch (IllegalAccessException iae) { thrown = false; // Wrong one } catch (InstantiationException ie) { thrown = true; } harness.check(thrown); // Void cannot be instantiated try { Void.TYPE.newInstance(); thrown = false; } catch (IllegalAccessException iae) { thrown = false; // Wrong one } catch (InstantiationException ie) { thrown = true; } harness.check(thrown); // No nullary constructor cannot be instantiated try { Integer.class.newInstance(); thrown = false; } catch (IllegalAccessException iae) { thrown = false; // Wrong one } catch (InstantiationException ie) { thrown = true; } harness.check(thrown); } static void checkSuccess(TestHarness harness, Class c) { try { harness.check(c.isInstance(c.newInstance())); } catch (Throwable t) { harness.debug(t); harness.check(false); } } static void checkFail(TestHarness harness, Class c) { try { c.newInstance(); harness.check(false); } catch (IllegalAccessException x) { harness.check(true); } catch (Throwable t) { harness.debug(t); harness.check(false); } } } mauve-20140821/gnu/testlet/java/lang/Class/ClassTest.java0000644000175000001440000004140010367245762021714 0ustar dokousers/* Copyright (C) 1999, 2000, 2001, 2002 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.0 package gnu.testlet.java.lang.Class; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; import java.net.*; public class ClassTest implements Cloneable, java.io.Serializable, Testlet { final int ACC_PUBLIC = 0x0001; //Marked or implicitly public in source. final int ACC_PRIVATE = 0x0002; // Marked private in source. final int ACC_PROTECTED = 0x0004; // Marked protected in source. final int ACC_STATIC = 0x0008; // Marked or implicitly static in source. final int ACC_FINAL = 0x0010; // Marked final in source. final int ACC_INTERFACE = 0x0200; // Was an interface in source. final int ACC_ABSTRACT = 0x0400; // Marked or implicitly abstract in source. protected static TestHarness harness; public void test_toString() { harness.checkPoint("test_toString"); harness.check(getClass().toString().equals(getClass().isInterface() ? "interface " : "class " + getClass().getName())); harness.check((new Object()).getClass().toString(). equals("class java.lang.Object")); } public void test_getName() { harness.checkPoint("test_getName"); harness.check((new java.util.Vector()).getClass().getName(). equals("java.util.Vector")); harness.check((new Object[3]).getClass().getName(). equals("[Ljava.lang.Object;")) ; harness.check((new int[6][7][8]).getClass().getName().equals("[[[I")); // Note: the javadoc Class.getName() for JDK 1.3.x, 1.4.0 & 1.4.1 // seems to say that getName() returns a one character code for // primitive types and void, etcetera. In fact, this is a bug in // the Sun javadoc. According to Sun's bug database, it is fixed // in JDK 1.4.2 (Merlin) release. harness.check(Void.TYPE.getName().equals("void")); harness.check(Boolean.TYPE.getName().equals("boolean")); harness.check(Byte.TYPE.getName().equals("byte")); harness.check(Character.TYPE.getName().equals("char")); harness.check(Short.TYPE.getName().equals("short")); harness.check(Integer.TYPE.getName().equals("int")); harness.check(Long.TYPE.getName().equals("long")); harness.check(Float.TYPE.getName().equals("float")); harness.check(Double.TYPE.getName().equals("double")); } public void test_isInterface() { harness.checkPoint("test_isInterface"); harness.check(!(new Object()).getClass().isInterface()); harness.check(!getClass().isInterface()); try { harness.check(Class.forName("java.lang.Cloneable").isInterface()); } catch (Exception e) { harness.debug(e); harness.check(false); } } public void test_getSuperclass() { harness.checkPoint("test_getSuperclass (superclass of Boolean is Object)"); try { harness.check((new Boolean(true)).getClass().getSuperclass() == Class.forName("java.lang.Object")); } catch (Exception e) { harness.debug(e); harness.check(false); } harness.checkPoint("test_getSuperclass (superclass of java.lang.Boolean.TYPE is null)"); try { harness.check( java.lang.Boolean.TYPE.getSuperclass() == null); } catch (Exception e) { harness.debug(e); harness.check(false); } harness.checkPoint("test_getSuperclass (superclass of Object is null)"); harness.check((new Object()).getClass().getSuperclass() == null); harness.checkPoint("test_getSuperclass (superclass of [[I is Object)"); try { Class clss = Class.forName("[[I"); harness.check(clss.getSuperclass() == Class.forName("java.lang.Object")); } catch (Exception e) { harness.debug(e); harness.check(false); } harness.checkPoint("test_getSuperclass (superclass of [D is Object)"); try { Class clss = Class.forName("[D"); harness.check(clss.getSuperclass() == Class.forName("java.lang.Object")); harness.debug("superclass of " + clss + " is " + clss.getSuperclass()); } catch (Exception e) { harness.debug(e); harness.check(false); } harness.checkPoint("test_getSuperclass (superclass of Cloneable is null)"); try { Class clss = Class.forName("java.lang.Cloneable"); harness.check(clss.getSuperclass() == null); } catch (Exception e) { harness.debug(e); harness.check(false); } try { Class clss = Void.TYPE; harness.check(clss.getSuperclass() == null); } catch (Exception e) { harness.debug(e); harness.check(false); } try { Class clss = Double.TYPE; harness.check(clss.getSuperclass() == null); } catch (Exception e) { harness.debug(e); harness.check(false); } } public void test_primitiveTypes() { Class cls; harness.checkPoint("test_primitiveTypes java.lang.Boolean.TYPE is primitive"); cls = java.lang.Boolean.TYPE; harness.check(cls.isPrimitive() == true); harness.checkPoint("test_primitiveTypes java.lang.Double.TYPE is primitive"); cls = java.lang.Double.TYPE; harness.check(cls.isPrimitive() == true); harness.checkPoint("test_primitiveTypes java.lang.Void.TYPE is primitive"); cls = java.lang.Void.TYPE; harness.check(cls.isPrimitive() == true); harness.checkPoint("test_primitiveTypes java.lang.Object is not primitive"); try { cls = Class.forName("java.lang.Object"); harness.check(cls.isPrimitive() == false); } catch(Exception e) { harness.check(false); } harness.checkPoint("test_primitiveTypes java.lang.Integer is not primitive"); try { cls = Class.forName("java.lang.Integer"); harness.check(cls.isPrimitive() == false); } catch(Exception e) { harness.check(false); } try { harness.checkPoint("test_primitiveTypes [I is not primitive"); cls = Class.forName("[I"); harness.check(cls.isPrimitive() == false); } catch(Exception e) { harness.check(false); } } private class PrivateType { int foo; } public void test_Modifiers() { Class cls; harness.checkPoint("test_Modifiers java.lang.Boolean.TYPE modifiers"); cls = java.lang.Boolean.TYPE; harness.check((cls.getModifiers() & (ACC_PUBLIC | ACC_PROTECTED | ACC_PRIVATE | ACC_FINAL | ACC_INTERFACE)), (ACC_PUBLIC | ACC_FINAL)); harness.checkPoint("test_Modifiers java.lang.Boolean modifiers"); try { cls = Class.forName("java.lang.Boolean"); harness.check((cls.getModifiers() & (ACC_PUBLIC | ACC_PROTECTED | ACC_PRIVATE | ACC_FINAL | ACC_INTERFACE)), (ACC_PUBLIC | ACC_FINAL)); } catch(Exception e) { harness.check(false); } harness.checkPoint("test_Modifiers [I modifiers"); try { cls = Class.forName("[I"); harness.check((cls.getModifiers() & (ACC_PUBLIC | ACC_PROTECTED | ACC_PRIVATE | ACC_FINAL | ACC_INTERFACE)), (ACC_PUBLIC | ACC_FINAL)); } catch(Exception e) { harness.check(false); } harness.checkPoint("test_Modifiers private modifier"); PrivateType foo = new PrivateType(); //new Cloneable() { int d; }; cls = foo.getClass(); harness.check((cls.getModifiers() & (ACC_PRIVATE)), (ACC_PRIVATE)); harness.checkPoint("test_Modifiers array modifiers"); /* PrivateType[] array = new PrivateType[2]; cls = array.getClass(); harness.check((cls.getModifiers() & (ACC_PRIVATE)) == (ACC_PRIVATE)); harness.check((cls.getModifiers() & (ACC_FINAL)) == (ACC_FINAL)); harness.check((cls.getModifiers() & (ACC_INTERFACE)) == 0); */ harness.checkPoint("test_Modifiers java.lang.Boolean modifiers"); cls = java.lang.Boolean.TYPE; harness.check((cls.getModifiers() & (ACC_PUBLIC | ACC_FINAL)) != 0); } public void test_getInterfaces() { harness.checkPoint("test_getInterfaces"); Class clss[] = getClass().getInterfaces(); Class clclass = null, clclass1 = null; try { clclass = Class.forName("java.lang.Cloneable"); clclass1 = Class.forName("java.io.Serializable"); harness.check(true); } catch (Exception e) { harness.debug(e); harness.check(false); } harness.check(clss != null && clss.length == 3 && clss[0] == clclass && clss[1] == clclass1); if (clss != null && clss.length == 3 && !(clss[0] == clclass && clss[1] == clclass1)) { for (int i = 0; i < clss.length; i++) { harness.debug ("" + clss[i], false); harness.debug (" ", false); } harness.debug(""); } try { Class clsss = Class.forName("[[I"); harness.check(clsss.getInterfaces().length, 2); } catch (Exception e) { harness.debug(e); harness.check(false); } try { Class clsss = Class.forName("[D"); harness.check(clsss.getInterfaces().length, 2); } catch (Exception e) { harness.debug(e); harness.check(false); } } public void test_newInstance() { harness.checkPoint("test_newInstance"); Class clss = getClass(); Object obj; try { obj = clss.newInstance(); obj = clss.newInstance(); obj = clss.newInstance(); obj = clss.newInstance(); harness.check(true); } catch (Exception e) { harness.fail("Error: newInstance failed"); harness.debug(e); } catch (Error e) { harness.fail("Error: newInstance failed with an Error"); harness.debug(e); } } public void test_forName() { harness.checkPoint("test_forName"); try { Object obj = Class.forName("java.lang.Object"); harness.check(obj != null); } catch (Exception e) { harness.debug(e); harness.check(false); } // A non-existing class. checkClassNotFoundException("ab.cd.ef"); // You can't use Class.forName() to get a primitive. checkClassNotFoundException("I"); checkClassNotFoundException("int"); // Some malformed array types. checkClassNotFoundException("["); checkClassNotFoundException("[int"); checkClassNotFoundException("[II"); checkClassNotFoundException("[L"); checkClassNotFoundException("[L;"); checkClassNotFoundException("[L[I;"); checkClassNotFoundException("[Ljava.lang.Object"); checkClassNotFoundException("[Ljava.lang.Objectx"); checkClassNotFoundException("[Ljava.lang.Object;x"); // Using slashes isn't allowed. checkClassNotFoundException("java/lang/Object"); } private void checkClassNotFoundException(String className) { try { Class c = Class.forName(className); harness.debug("class: " + c); harness.debug("classloader: " + c.getClassLoader()); if (c.isArray()) { Class ct = c.getComponentType(); harness.debug("component type: " + ct); harness.debug("component type classloader: " + ct.getClassLoader()); } harness.check(false); } catch (ClassNotFoundException e) { harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } } public void test_getClassloader() { harness.checkPoint("test_getClassloader"); try { Class obj2 = Class.forName("gnu.testlet.java.lang.Class.ClassTest"); ClassLoader ldr1 = obj2.getClassLoader(); // For compatibility with (at least) JDK 1.3.1 & JDK 1.4.0 ... harness.check(ldr1 != null); } catch (Exception e) { harness.debug(e); harness.check(false); } } public void test_ComponentType() { harness.checkPoint("test_ComponentType"); try { Class obj1 = Class.forName("java.lang.String"); harness.check(obj1.getComponentType() == null); } catch (Exception e) { harness.debug(e); harness.check(false); } try { Class obj2 = Class.forName("java.lang.Exception"); harness.check(obj2.getComponentType() == null); } catch (Exception e) { harness.debug(e); harness.check(false); } try { Class arrclass = Class.forName("[I"); harness.check(arrclass.getComponentType() != null); } catch (Exception e) { harness.debug(e); harness.check(false); } try { Class arrclass = Class.forName("[[[[I"); harness.check(arrclass.getComponentType() != null); } catch (Exception e) { harness.debug(e); harness.check(false); } } public void test_isMethods() { harness.checkPoint("test_isMethods"); try { Class obj1 = Class.forName("java.lang.String"); harness.check(obj1.isInstance("babu")); } catch (Exception e) { harness.debug(e); harness.check(false); } try { Class obj2 = Class.forName("java.lang.Integer"); harness.check(obj2.isInstance(new Integer(10))); } catch (Exception e) { harness.debug(e); harness.check(false); } try { int arr[] = new int[3]; Class arrclass = Class.forName("[I"); harness.check(arrclass.isInstance(arr)); } catch (Exception e) { harness.debug(e); harness.check(false); } try { Class cls1 = Class.forName("java.lang.String"); Class supercls = Class.forName("java.lang.Object"); harness.check(supercls.isAssignableFrom(cls1) && !cls1.isAssignableFrom(supercls)); } catch (Exception e) { harness.debug(e); harness.check(false); } try { Class cls1 = Class.forName("java.lang.String"); Class cls2 = Class.forName("java.lang.String"); harness.check(cls2.isAssignableFrom(cls1)); } catch (Exception e) { harness.debug(e); harness.check(false); } try { Class arrclass = Class.forName("[I"); Class arrclass1 = Class.forName("[[[I"); Class arrclass2 = Class.forName("[[D"); harness.check(arrclass.isArray() && arrclass1.isArray() && arrclass2.isArray()); } catch (Exception e) { harness.debug(e); harness.check(false); } } public void test_getResource() { harness.checkPoint("test_getResource"); // this test assume the classpath setting include current directory try { FileInputStream is = new FileInputStream("ClassTest.class"); URL url = getClass().getResource("ClassTest.class"); harness.check(url != null); if (url == null) { // Can't do any more of this test return; } InputStream uis = url.openStream(); byte[] b1 = new byte[100]; byte[] b2 = new byte[100]; int ret = is.read(b1); harness.check(ret == 100); ret = uis.read(b2); harness.check(ret == 100); for (int i = 0; i < 100; i++) { if (b1[i] != b2[i]) { harness.check(false); break; } if (i == 99) { harness.check(true); } } uis = getClass().getResourceAsStream("ClassTest.class"); harness.check(uis != null); if (uis == null) { // Can't do any more of this test return; } ret = uis.read(b2); harness.check(ret == 100); for (int i = 0; i < 100; i++) { if (b1[i] != b2[i]) { harness.check(false); break; } if (i == 99) { harness.check(true); } } } catch (IOException ex) { harness.debug(ex); harness.fail("IOException in test_getResource"); } } public void test_getResourceAsStream() { harness.checkPoint("test_getResourceAsStream"); // The bootclassloader does this different from most other CLs, so // add a test for it. InputStream in = Class.class.getResourceAsStream("Class.class"); harness.check(in != null); in = Class.class.getResourceAsStream("/java/lang/Class.class"); harness.check(in != null); // and a last extra check to see if we ever get a null in = InputStream.class.getResourceAsStream("Class.class"); harness.check(in == null); } public void testall() { test_toString(); test_getName(); test_isInterface(); test_getSuperclass(); test_primitiveTypes(); test_Modifiers(); test_getInterfaces(); test_newInstance(); test_forName(); test_ComponentType(); test_getClassloader(); test_isMethods(); // This one doesn't work so well in Mauve. // test_getResource(); test_getResourceAsStream(); } public void test (TestHarness the_harness) { harness = the_harness; testall(); } } mauve-20140821/gnu/testlet/java/lang/Class/rf_help.java0000644000175000001440000000217707561266210021427 0ustar dokousers// A helper for reflect.java. // Tags: not-a-test // Copyright (C) 2000 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Class; public class rf_help { public static class inner { } private int size; public String name; static double value = 1.0; static void doit() { value = 1.0; } private rf_help() { this(0.0); } public rf_help(double arg) { size = 0; name = ""; } } mauve-20140821/gnu/testlet/java/lang/Class/isArray.java0000644000175000001440000000661112023366377021423 0ustar dokousers// Test for method java.lang.Class.isArray() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Class; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Class; /** * Test for method java.lang.Class.isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // primitive types and it's corresponding classes checkClass(harness, "java.lang.Boolean", false); checkClass(harness, "java.lang.Character", false); checkClass(harness, "java.lang.Byte", false); checkClass(harness, "java.lang.Short", false); checkClass(harness, "java.lang.Integer", false); checkClass(harness, "java.lang.Long", false); checkClass(harness, "java.lang.Float", false); checkClass(harness, "java.lang.Double", false); checkClass(harness, "java.lang.Object", false); // one-dimensional arrays checkClass(harness, "[Z", true); checkClass(harness, "[C", true); checkClass(harness, "[B", true); checkClass(harness, "[S", true); checkClass(harness, "[I", true); checkClass(harness, "[J", true); checkClass(harness, "[F", true); checkClass(harness, "[D", true); checkClass(harness, "[Ljava.lang.Object;", true); // two-dimensional arrays checkClass(harness, "[[Z", true); checkClass(harness, "[[C", true); checkClass(harness, "[[B", true); checkClass(harness, "[[S", true); checkClass(harness, "[[I", true); checkClass(harness, "[[J", true); checkClass(harness, "[[F", true); checkClass(harness, "[[D", true); checkClass(harness, "[[Ljava.lang.Object;", true); // three-dimensional arrays checkClass(harness, "[[[Z", true); checkClass(harness, "[[[C", true); checkClass(harness, "[[[B", true); checkClass(harness, "[[[S", true); checkClass(harness, "[[[I", true); checkClass(harness, "[[[J", true); checkClass(harness, "[[[F", true); checkClass(harness, "[[[D", true); checkClass(harness, "[[[Ljava.lang.Object;", true); } public void checkClass(TestHarness harness, String className, boolean isArray) { try { Class c = Class.forName(className); harness.check(c.isArray() == isArray); } catch (Exception e) { e.printStackTrace(); harness.check(false); } } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/0000755000175000001440000000000012375316426022600 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/InstantiationException/constructor.java0000644000175000001440000000374611775041046026036 0ustar dokousers// Test if instances of a class java.lang.InstantiationException could be properly constructed // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.InstantiationException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; /** * Test if instances of a class java.lang.InstantiationException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { InstantiationException object1 = new InstantiationException(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.InstantiationException"); InstantiationException object2 = new InstantiationException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.InstantiationException: nothing happens"); InstantiationException object3 = new InstantiationException(null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.InstantiationException"); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/TryCatch.java0000644000175000001440000000330711775041046025163 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.InstantiationException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.InstantiationException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; /** * Test if try-catch block is working properly for a class java.lang.InstantiationException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new InstantiationException("InstantiationException"); } catch (InstantiationException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/0000755000175000001440000000000012375316426024521 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/getDeclaredConstructor.java0000644000175000001440000000716312247563554032050 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InstantiationException.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.InstantiationException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.InstantiationException", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.InstantiationException", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.InstantiationException", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/getPackage.java0000644000175000001440000000327512245331173027416 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().getPackage() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; /** * Test for method java.lang.InstantiationException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/getDeclaredMethods.java0000644000175000001440000000622712246051514031111 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InstantiationException.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/getInterfaces.java0000644000175000001440000000333512245331173030143 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().getInterfaces() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.InstantiationException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/getModifiers.java0000644000175000001440000000452612245331173030004 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().getModifiers() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; import java.lang.reflect.Modifier; /** * Test for method java.lang.InstantiationException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/getDeclaredFields.java0000644000175000001440000000716712246051514030720 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().getDeclaredFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InstantiationException.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.InstantiationException.serialVersionUID", "serialVersionUID"); // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/getDeclaredConstructors.java0000644000175000001440000001053212247563554032225 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InstantiationException.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.InstantiationException()", "java.lang.InstantiationException"); testedDeclaredConstructors_jdk6.put("public java.lang.InstantiationException(java.lang.String)", "java.lang.InstantiationException"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.InstantiationException()", "java.lang.InstantiationException"); testedDeclaredConstructors_jdk7.put("public java.lang.InstantiationException(java.lang.String)", "java.lang.InstantiationException"); // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/getField.java0000644000175000001440000000556212245606106027110 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().getField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InstantiationException.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/getFields.java0000644000175000001440000000572012245606106027267 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().getFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InstantiationException.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/isPrimitive.java0000644000175000001440000000323212247054203027656 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; /** * Test for method java.lang.InstantiationException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/getSimpleName.java0000644000175000001440000000326512245331173030114 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; /** * Test for method java.lang.InstantiationException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "InstantiationException"); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/getEnclosingClass.java0000644000175000001440000000331712246051515030767 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().getEnclosingClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; /** * Test for method java.lang.InstantiationException.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/isAnnotationPresent.java0000644000175000001440000000442012245606107031365 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; /** * Test for method java.lang.InstantiationException.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/isSynthetic.java0000644000175000001440000000323212247054203027660 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; /** * Test for method java.lang.InstantiationException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/isAnnotation.java0000644000175000001440000000323012245606107030022 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().isAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; /** * Test for method java.lang.InstantiationException.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/isInstance.java0000644000175000001440000000332312250036656027461 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().isInstance(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; /** * Test for method java.lang.InstantiationException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new InstantiationException("java.lang.InstantiationException"))); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/getDeclaredMethod.java0000644000175000001440000000616612246051514030730 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InstantiationException.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/getDeclaredClasses.java0000644000175000001440000000337312247563554031117 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; /** * Test for method java.lang.InstantiationException.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/getComponentType.java0000644000175000001440000000331312247563553030673 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().getComponentType() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; /** * Test for method java.lang.InstantiationException.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/getMethod.java0000644000175000001440000001433612245606107027305 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().getMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InstantiationException.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/isMemberClass.java0000644000175000001440000000324212247054203030104 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; /** * Test for method java.lang.InstantiationException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/getConstructor.java0000644000175000001440000000712312247314346030411 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().getConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InstantiationException.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.InstantiationException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.InstantiationException", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.InstantiationException", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.InstantiationException", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/getSuperclass.java0000644000175000001440000000443112250036655030205 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().getSuperclass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; /** * Test for method java.lang.InstantiationException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); if (getJavaVersion() >=7) { harness.check(superClass.getName(), "java.lang.ReflectiveOperationException"); } else { harness.check(superClass.getName(), "java.lang.Exception"); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/isEnum.java0000644000175000001440000000320012250036656026613 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().isEnum() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; /** * Test for method java.lang.InstantiationException.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/getMethods.java0000644000175000001440000001772012245606107027470 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().getMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InstantiationException.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/getAnnotations.java0000644000175000001440000000577312247314346030372 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().getAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.InstantiationException.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/InstanceOf.java0000644000175000001440000000366012245331173027412 0ustar dokousers// Test for instanceof operator applied to a class java.lang.InstantiationException // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.InstantiationException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationException InstantiationException o = new InstantiationException("java.lang.InstantiationException"); // basic check of instanceof operator harness.check(o instanceof InstantiationException); // check operator instanceof against all superclasses harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/getDeclaringClass.java0000644000175000001440000000331712246051515030736 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().getDeclaringClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; /** * Test for method java.lang.InstantiationException.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/getAnnotation.java0000644000175000001440000000510212247314346030171 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().getAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; /** * Test for method java.lang.InstantiationException.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/isAnonymousClass.java0000644000175000001440000000325012250036655030671 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().isAnonymousClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; /** * Test for method java.lang.InstantiationException.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/getEnclosingMethod.java0000644000175000001440000000333712247314346031151 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; /** * Test for method java.lang.InstantiationException.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/isInterface.java0000644000175000001440000000323212247054203027606 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().isInterface(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; /** * Test for method java.lang.InstantiationException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/getConstructors.java0000644000175000001440000001016512247314346030574 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().getConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InstantiationException.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.InstantiationException()", "java.lang.InstantiationException"); testedConstructors_jdk6.put("public java.lang.InstantiationException(java.lang.String)", "java.lang.InstantiationException"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.InstantiationException()", "java.lang.InstantiationException"); testedConstructors_jdk7.put("public java.lang.InstantiationException(java.lang.String)", "java.lang.InstantiationException"); // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/isAssignableFrom.java0000644000175000001440000000331012250036656030605 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; /** * Test for method java.lang.InstantiationException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(InstantiationException.class)); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/getDeclaredAnnotations.java0000644000175000001440000000603312247563553032012 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.InstantiationException.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/getDeclaredField.java0000644000175000001440000000567312246051514030535 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().getDeclaredField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InstantiationException.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/isLocalClass.java0000644000175000001440000000323612247054203027732 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; /** * Test for method java.lang.InstantiationException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/getEnclosingConstructor.java0000644000175000001440000000340112247314346032246 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; /** * Test for method java.lang.InstantiationException.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/getCanonicalName.java0000644000175000001440000000331012250036655030544 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; /** * Test for method java.lang.InstantiationException.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.InstantiationException"); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/getName.java0000644000175000001440000000324712245331173026742 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().getName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; /** * Test for method java.lang.InstantiationException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.InstantiationException"); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/getClasses.java0000644000175000001440000000333312247563553027466 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().getClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; /** * Test for method java.lang.InstantiationException.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/InstantiationException/classInfo/isArray.java0000644000175000001440000000320412250036656026771 0ustar dokousers// Test for method java.lang.InstantiationException.getClass().isArray() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationException; /** * Test for method java.lang.InstantiationException.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationException final Object o = new InstantiationException("java.lang.InstantiationException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/StringBuffer/0000755000175000001440000000000012375316426020475 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/StringBuffer/PR34840.java0000644000175000001440000000235310762113572022262 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2008 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.StringBuffer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class PR34840 implements Testlet { public void test(TestHarness harness) { StringBuffer sb = new StringBuffer(); sb.append("He"); sb.append((CharSequence) null,2,4); sb.append("o, wor"); sb.append((CharSequence) null,2,3); sb.append("d!"); harness.check(sb.toString(), "Hello, world!", "Appendable PR34840 check"); } } mauve-20140821/gnu/testlet/java/lang/StringBuffer/plus.java0000644000175000001440000000261210057633054022316 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1999, 2000, 2001 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.StringBuffer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; // This test uses the `+' operator to test StringBuffer. public class plus implements Testlet { public String s (int x) { if (x == 0) return null; else return "z"; } public void test (TestHarness harness) { harness.check (s(0) + "", "null"); harness.check (s(1) + "", "z"); harness.check ("wxy" + s(0), "wxynull"); harness.check ("wxy" + s(1), "wxyz"); harness.check (5 + s(1), "5z"); harness.check (0.2 + "" + s(0) + 7, "0.2null7"); } } mauve-20140821/gnu/testlet/java/lang/StringBuffer/classInfo/0000755000175000001440000000000012375316426022416 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/StringBuffer/classInfo/getPackage.java0000644000175000001440000000307511755172425025321 0ustar dokousers// Test for method java.lang.StringBuffer.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.StringBuffer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringBuffer; /** * Test for method java.lang.StringBuffer.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StringBuffer("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/StringBuffer/classInfo/getInterfaces.java0000644000175000001440000000337211755172425026051 0ustar dokousers// Test for method java.lang.StringBuffer.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.StringBuffer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.Serializable; import java.lang.StringBuffer; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.StringBuffer.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StringBuffer("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); harness.check(interfaces.contains(Serializable.class)); harness.check(interfaces.contains(CharSequence.class)); } } mauve-20140821/gnu/testlet/java/lang/StringBuffer/classInfo/getModifiers.java0000644000175000001440000000432611755172425025707 0ustar dokousers// Test for method java.lang.StringBuffer.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.StringBuffer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringBuffer; import java.lang.reflect.Modifier; /** * Test for method java.lang.StringBuffer.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StringBuffer("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check( Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/StringBuffer/classInfo/isPrimitive.java0000644000175000001440000000303211755172425025563 0ustar dokousers// Test for method java.lang.StringBuffer.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.StringBuffer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringBuffer; /** * Test for method java.lang.StringBuffer.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StringBuffer("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/StringBuffer/classInfo/getSimpleName.java0000644000175000001440000000305311755172425026014 0ustar dokousers// Test for method java.lang.StringBuffer.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.StringBuffer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringBuffer; /** * Test for method java.lang.StringBuffer.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StringBuffer("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "StringBuffer"); } } mauve-20140821/gnu/testlet/java/lang/StringBuffer/classInfo/isSynthetic.java0000644000175000001440000000303211755172425025565 0ustar dokousers// Test for method java.lang.StringBuffer.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.StringBuffer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringBuffer; /** * Test for method java.lang.StringBuffer.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StringBuffer("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/StringBuffer/classInfo/isInstance.java0000644000175000001440000000305611755172425025365 0ustar dokousers// Test for method java.lang.StringBuffer.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.StringBuffer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringBuffer; /** * Test for method java.lang.StringBuffer.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StringBuffer("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new StringBuffer("xyzzy"))); } } mauve-20140821/gnu/testlet/java/lang/StringBuffer/classInfo/isMemberClass.java0000644000175000001440000000304211755172425026011 0ustar dokousers// Test for method java.lang.StringBuffer.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.StringBuffer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringBuffer; /** * Test for method java.lang.StringBuffer.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StringBuffer("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/StringBuffer/classInfo/getSuperclass.java0000644000175000001440000000315711755172425026113 0ustar dokousers// Test for method java.lang.StringBuffer.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.StringBuffer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringBuffer; /** * Test for method java.lang.StringBuffer.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StringBuffer("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.AbstractStringBuilder"); } } mauve-20140821/gnu/testlet/java/lang/StringBuffer/classInfo/InstanceOf.java0000644000175000001440000000322711755172425025316 0ustar dokousers// Test for instanceof operator applied to a class java.lang.StringBuffer // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.StringBuffer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringBuffer; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.StringBuffer */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StringBuffer StringBuffer o = new StringBuffer("xyzzy"); // basic check of instanceof operator harness.check(o instanceof StringBuffer); // check operator instanceof against all superclasses harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/StringBuffer/classInfo/isInterface.java0000644000175000001440000000303211755172425025513 0ustar dokousers// Test for method java.lang.StringBuffer.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.StringBuffer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringBuffer; /** * Test for method java.lang.StringBuffer.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StringBuffer("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/StringBuffer/classInfo/isAssignableFrom.java0000644000175000001440000000307611755172425026517 0ustar dokousers// Test for method java.lang.StringBuffer.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.StringBuffer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringBuffer; /** * Test for method java.lang.StringBuffer.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StringBuffer("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(StringBuffer.class)); } } mauve-20140821/gnu/testlet/java/lang/StringBuffer/classInfo/isLocalClass.java0000644000175000001440000000303611755172425025637 0ustar dokousers// Test for method java.lang.StringBuffer.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.StringBuffer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringBuffer; /** * Test for method java.lang.StringBuffer.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StringBuffer("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/StringBuffer/classInfo/getName.java0000644000175000001440000000303511755172425024642 0ustar dokousers// Test for method java.lang.StringBuffer.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.StringBuffer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringBuffer; /** * Test for method java.lang.StringBuffer.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new StringBuffer("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.lang.StringBuffer"); } } mauve-20140821/gnu/testlet/java/lang/StringBuffer/StringBufferTest.java0000644000175000001440000003017610367245762024612 0ustar dokousers/* Copyright (C) 1999 Hewlett-Packard Company Copyright (C) 2002 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.0 package gnu.testlet.java.lang.StringBuffer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class StringBufferTest implements Testlet { protected static TestHarness harness; public void test_Basics() { try { StringBuffer str0 = new StringBuffer(-10); harness.fail("test_Basics - 0"); }catch ( NegativeArraySizeException e ){} StringBuffer str1 = new StringBuffer(); harness.check(!( str1.length() != 0 || str1.capacity() != 16 ), "test_Basics - 1"); harness.check(!( !str1.toString().equals("")), "test_Basics - 2"); StringBuffer str2 = new StringBuffer( "testing" ); harness.check(!( str2.length() != 7 ), "test_Basics - 3"); harness.check(!( !str2.toString().equals("testing")), "test_Basics - 4"); try { String str = null; StringBuffer str3 = new StringBuffer(str); /* CYGNUS: nowhere does it say that we should handle a null argument in StringBuffer(str). In fact, the JCL implies that we should not. But this leads to an asymmetry: `null + ""' will fail, while `"" + null' will work. For thaht reason, this test is commented out here: it's not a failure. harness.fail("test_Basics - 5"); */ } catch ( NullPointerException e ){} StringBuffer str4 = new StringBuffer("hi there"); harness.check(!( str4.length () != 8 || str4.capacity () != 24 ), "test_Basics - 6"); harness.check(!( !str4.toString().equals("hi there")), "test_Basics - 7"); StringBuffer strbuf = new StringBuffer(0); harness.check(!( ! strbuf.append("hiii").toString().equals("hiii")), "test_Basics - 8"); strbuf = new StringBuffer(10); harness.check(!( strbuf.capacity() != 10 ), "test_Basics - 9"); } public void test_toString() { StringBuffer str1 = new StringBuffer("218943289"); harness.check(!( !str1.toString().equals("218943289")), "test_toString - 1"); str1 = new StringBuffer(); harness.check(!( !str1.toString().equals("")), "test_toString - 2"); } public void test_length() { StringBuffer buf1 = new StringBuffer(""); StringBuffer buf2 = new StringBuffer("pentium"); harness.check(!( buf1.length() != 0 ), "test_length - 1"); harness.check(!( buf2.length() != 7 ), "test_length - 2"); } public void test_capacity() { StringBuffer buf1 = new StringBuffer(""); StringBuffer buf2 = new StringBuffer("pentiumpentiumpentium"); harness.check(!( buf1.capacity() != 16 ), "test_capacity - 1"); int cap = buf2.capacity(); harness.check(!( cap != 37 ), "test_capacity - 2"); buf1.ensureCapacity( 17); // CYGNUS: This is a test for JDK 1.2 conformance harness.check(!( buf1.capacity() != 34 ), "test_capacity - 3"); } public void test_setLength() { StringBuffer strbuf = new StringBuffer("ba"); try { strbuf.setLength( -10); harness.fail("test_setLength - 1"); } catch ( IndexOutOfBoundsException e ){} strbuf.setLength( 4 ); harness.check(!(strbuf.length() != 4 ), "test_setLength - 2"); harness.check(!( strbuf.charAt(0 ) != 'b' || strbuf.charAt(1 ) != 'a' || strbuf.charAt(2 ) != '\u0000' || strbuf.charAt(3 ) != '\u0000' ), "test_setLength - 3"); } public void test_charAt() { harness.check(!( (new StringBuffer("abcd")).charAt(0) != 'a' || (new StringBuffer("abcd")).charAt(1) != 'b' || (new StringBuffer("abcd")).charAt(2) != 'c' || (new StringBuffer("abcd")).charAt(3) != 'd' ), "test_charAt - 1"); try { char ch = (new StringBuffer("abcd")).charAt(4); harness.fail("test_charAt - 2"); } catch ( IndexOutOfBoundsException e ){} try { char ch = (new StringBuffer("abcd")).charAt(-1); harness.fail("test_charAt - 3"); } catch ( IndexOutOfBoundsException e ){} } public void test_getChars() { StringBuffer str = new StringBuffer("abcdefghijklmn"); try { str.getChars(0 , 3 , null , 1 ); harness.fail("test_getChars - 1"); }catch ( NullPointerException e ){} char dst[] = new char[5]; try { str.getChars(-1 , 3 , dst , 1 ); harness.fail("test_getChars - 2"); }catch ( IndexOutOfBoundsException e ){} try { str.getChars(4 , 3 , dst , 3 ); // CYGNUS: This is a test for JDK 1.2 conformance harness.fail("test_getChars - 3"); }catch ( IndexOutOfBoundsException e ){} try { str.getChars(1 , 15 , dst , 1 ); harness.fail("test_getChars - 4"); }catch ( IndexOutOfBoundsException e ){} try { str.getChars(1 , 5 , dst , -1 ); harness.fail("test_getChars - 5"); }catch ( IndexOutOfBoundsException e ){} try { str.getChars(1 , 10 , dst , 1 ); harness.fail("test_getChars - 6"); }catch ( IndexOutOfBoundsException e ){} str.getChars(0,5,dst, 0 ); harness.check(!( dst[0] != 'a' || dst[1] != 'b' || dst[2] != 'c' || dst[3] != 'd' || dst[4] != 'e' ), "test_getChars - 7"); dst[0] = dst[1] = dst[2] = dst[3] = dst[4] = ' '; str.getChars(0,0,dst, 0 ); harness.check(!( dst[0] != ' ' || dst[1] != ' ' || dst[2] != ' ' || dst[3] != ' ' || dst[4] != ' ' ), "test_getChars - 9"); dst[0] = dst[1] = dst[2] = dst[3] = dst[4] = ' '; str.getChars(0,1,dst, 0 ); harness.check(!( dst[0] != 'a' || dst[1] != ' ' || dst[2] != ' ' || dst[3] != ' ' || dst[4] != ' ' ), "test_getChars - 10"); dst = new char[25]; str.getChars(3,14,dst,12); harness.check(dst[12], 'd', "getChars starting src offset 3"); harness.check(dst[22], 'n', "getChars ending dst offset 22"); } public void test_append( ) { StringBuffer str = new StringBuffer(); Object nullobj = null; harness.check(!( !str.append( nullobj ).toString().equals("null")), "test_append - 1"); harness.check(!( !str.append( new Integer(100) ).toString().equals("null100")), "test_append - 2"); StringBuffer str1 = new StringBuffer("hi"); str1 = str1.append( " there" ); str1 = str1.append( " buddy"); harness.check(!( !str1.toString().equals("hi there buddy")), "test_append - 2"); StringBuffer str2 = new StringBuffer(); str2 = str2.append("sdljfksdjfklsdjflksdjflkjsdlkfjlsdkjflksdjfklsd"); harness.check(!( !str2.toString().equals( "sdljfksdjfklsdjflksdjflkjsdlkfjlsdkjflksdjfklsd")), "test_append - 3"); char carr[] = null; StringBuffer str3 = new StringBuffer(); try { str3 = str3.append( carr ); harness.fail("test_append - 4"); } catch ( NullPointerException e ){} char carr1[] = {'h','i','t','h','e','r'}; StringBuffer str4 = new StringBuffer("!"); harness.check(!( !str4.append( carr1 ).toString().equals("!hither")), "test_append - 5"); try { str3 = str3.append( carr , 0 , 3); harness.fail("test_append - 6"); } catch ( NullPointerException e ){} str3 = new StringBuffer(); try { str3 = str3.append( carr1 , -1 , 3); harness.fail("test_append - 6"); } catch ( IndexOutOfBoundsException e ){} try { str3 = str3.append ( carr1 , 0 , -3); harness.fail("test_append - 6"); } catch ( IndexOutOfBoundsException e ){} StringBuffer str5 = new StringBuffer("!"); str5 = str5.append(carr1 , 2 , 3 ); harness.check(!( !str5.toString().equals("!the")), "test_append - 7"); str5 = new StringBuffer(); str5 = str5.append( true ); harness.check(!( !str5.toString().equals("true")), "test_append - 8"); str5 = str5.append( false ); harness.check(!( !str5.toString().equals("truefalse")), "test_append - 9"); str5 = str5.append( 20); harness.check(!( !str5.toString().equals("truefalse20")), "test_append - 10"); str5 = new StringBuffer(); str5 = str5.append( 2034L ); harness.check(!( !str5.toString().equals("2034")), "test_append - 11"); str5 = new StringBuffer(); str5 = str5.append( 34.45f ); harness.check(!( !str5.toString().equals("34.45")), "test_append - 12"); str5 = new StringBuffer(); str5 = str5.append( 34.46 ); harness.check(!( !str5.toString().equals("34.46")), "test_append - 13"); } public void test_insert() { StringBuffer buf = new StringBuffer("1234567"); Object obj = null; buf = buf.insert(5 , obj); harness.check(!( !buf.toString().equals("12345null67")), "test_insert - 1"); try { buf = buf.insert(-1 , new Object()); harness.fail("test_insert - 2"); }catch ( IndexOutOfBoundsException e ){} buf = new StringBuffer("1234567"); try { buf = buf.insert(8 , new Object() ); harness.fail("test_insert - 3"); }catch ( IndexOutOfBoundsException e ){} buf = new StringBuffer("1234567"); buf = buf.insert(4 , "inserted" ); harness.check(!( !buf.toString().equals("1234inserted567")), "test_insert - 4"); buf = new StringBuffer("1234567"); char cdata[] = null; try { buf = buf.insert(4 , cdata ); harness.fail("test_insert - 5"); }catch ( NullPointerException e ) {} cdata = new char[2]; try { buf = buf.insert(-1 , cdata ); harness.fail("test_insert - 6"); }catch ( IndexOutOfBoundsException e ){} try { buf = buf.insert(8 , cdata ); harness.fail("test_insert - 7"); }catch ( IndexOutOfBoundsException e ){} buf = new StringBuffer("1234567"); char cdata1[] = {'h','e','l','l','o'}; buf = buf.insert(4 , cdata1 ); harness.check(!( !buf.toString().equals("1234hello567")), "test_insert - 8"); buf = new StringBuffer("1234567"); buf = buf.insert(0 , true ); harness.check(!( !buf.toString().equals("true1234567")), "test_insert - 9"); buf = new StringBuffer("1234567"); buf = buf.insert(7 , false ); harness.check(!( !buf.toString().equals("1234567false")), "test_insert - 10"); buf = new StringBuffer("1234567"); buf = buf.insert(0 , 'c' ); harness.check(!( !buf.toString().equals("c1234567")), "test_insert - 11"); buf = new StringBuffer("1234567"); buf = buf.insert(7 , 'b' ); harness.check(!( !buf.toString().equals("1234567b")), "test_insert - 12"); buf = new StringBuffer("1234567"); buf = buf.insert(7 , 999 ); harness.check(!( !buf.toString().equals("1234567999")), "test_insert - 13"); buf = new StringBuffer("1234567"); buf = buf.insert(0, 99.9f ); harness.check(!( !buf.toString().equals("99.91234567")), "test_insert - 14"); buf = new StringBuffer("1234567"); buf = buf.insert(3, 34.46 ); harness.check(!( !buf.toString().equals("12334.464567")), "test_insert - 15 " + buf.toString()); buf = new StringBuffer("1234567"); buf = buf.insert(3, (long)1230 ); harness.check(!( !buf.toString().equals("12312304567")), "test_insert - 16 " + buf.toString()); } public void test_reverse() { StringBuffer buff = new StringBuffer(); harness.check(!( !buff.reverse().toString().equals("")), "test_reverse - 1"); buff = new StringBuffer("babu"); harness.check(!( !buff.reverse().toString().equals("ubab")), "test_reverse - 2"); buff = new StringBuffer("malayalam"); harness.check(!( !buff.reverse().toString().equals("malayalam")), "test_reverse - 3"); buff = new StringBuffer("cnbcbnc"); harness.check(!( !buff.reverse().toString().equals("cnbcbnc")), "test_reverse - 4"); buff = new StringBuffer("vinod"); harness.check(!( !buff.reverse().toString().equals("doniv")), "test_reverse - 5"); } public void testall() { test_Basics(); test_toString(); test_length(); test_capacity(); test_setLength(); test_charAt(); test_getChars(); test_append(); test_insert(); test_reverse(); } public void test (TestHarness the_harness) { harness = the_harness; testall (); } } mauve-20140821/gnu/testlet/java/lang/System/0000755000175000001440000000000012375316450017356 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/System/getProperty.java0000644000175000001440000000340207457353010022542 0ustar dokousers// Copyright (C) 2002 Free Software Foundation, Inc. // This file is part of Mauve. // // Mauve 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 version 2, or (at your option) // any later version. // // Mauve 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // // Tags: JDK1.2 package gnu.testlet.java.lang.System; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class getProperty implements Testlet { TestHarness harness; public void test (TestHarness harness) { this.harness = harness; getPropTest(null, "NullPointerException"); getPropTest("", "IllegalArgumentException"); getPropTest("__dummy_mauve_prop_not_set__", null); // setProperty is JDK 1.2 System.setProperty("__dummy_mauve_prop_set__", "yes"); getPropTest("__dummy_mauve_prop_set__", "yes"); } void getPropTest(String key, String expect) { String result; try { result = System.getProperty(key); } catch (NullPointerException npe) { result = "NullPointerException"; } catch (IllegalArgumentException iae) { result = "IllegalArgumentException"; } catch (Throwable t) { result = t.toString(); } harness.check(result, expect, "'"+key+"'"); } } mauve-20140821/gnu/testlet/java/lang/System/arraycopy.java0000644000175000001440000001176010025164177022234 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998, 2003 Red Hat, Inc. // Copyright (C) 2004 Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.System; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class arraycopy implements Testlet { public void fill (int[] a) { for (int i = 0; i < a.length; ++i) a[i] = i; } public void check (TestHarness harness, int[] expect, int[] result) { boolean ok = expect.length == result.length; for (int i = 0; ok && i < expect.length; ++i) if (expect[i] != result[i]) ok = false; harness.check (ok); } public Object copy (Object from, int a, Object to, int b, int c) { try { System.arraycopy (from, a, to, b, c); } catch (ArrayStoreException xa) { return "caught ArrayStoreException"; } catch (IndexOutOfBoundsException xb) { return "caught IndexOutOfBoundsException"; } catch (NullPointerException xc) { return "caught NullPointerException"; } catch (Throwable xd) { return "caught unexpected exception"; } return null; } public void test (TestHarness harness) { int[] x, y; x = new int[5]; y = new int[5]; fill (x); harness.checkPoint("Copying integer array"); harness.check (copy (x, 0, y, 0, x.length), null); int[] one = { 0, 1, 2, 3, 4 }; check (harness, y, one); harness.check (copy (x, 1, y, 0, x.length - 1), null); harness.check (copy (x, 0, y, x.length - 1, 1), null); int[] two = { 1, 2, 3, 4, 0 }; check (harness, y, two); harness.checkPoint("Incompatible arrays"); Object[] z = new Object[5]; harness.check (copy (x, 0, z, 0, x.length), "caught ArrayStoreException"); harness.checkPoint("negative length"); harness.check (copy (x, 0, y, 0, -23), "caught IndexOutOfBoundsException"); harness.checkPoint("null arrays"); harness.check (copy (null, 0, y, 0, -23), "caught NullPointerException"); harness.check (copy (x, 0, null, 0, -23), "caught NullPointerException"); harness.checkPoint("Non arrays"); String q = "metonymy"; harness.check (copy (q, 0, y, 0, 19), "caught ArrayStoreException"); harness.check (copy (x, 0, q, 0, 19), "caught ArrayStoreException"); harness.checkPoint("Incompatible arrays 2"); double[] v = new double[5]; harness.check (copy (x, 0, v, 0, 5), "caught ArrayStoreException"); harness.checkPoint("Bad offset"); harness.check (copy (x, -1, y, 0, 1), "caught IndexOutOfBoundsException"); harness.checkPoint("Incompatible arrays 3"); harness.check (copy (x, 0, z, 0, x.length), "caught ArrayStoreException"); harness.checkPoint("Bad offset 2"); harness.check (copy (x, 0, y, -1, 1), "caught IndexOutOfBoundsException"); harness.check (copy (x, 3, y, 0, 5), "caught IndexOutOfBoundsException"); harness.check (copy (x, 0, y, 3, 5), "caught IndexOutOfBoundsException"); // Regression test for missing check in libgcj. harness.check (copy (x, 4, y, 4, Integer.MAX_VALUE), "caught IndexOutOfBoundsException"); harness.checkPoint("Object casting"); Object[] w = new Object[5]; String[] ss = new String[5]; for (int i = 0; i < 5; ++i) { w[i] = i + ""; ss[i] = (i + 23) + ""; } w[3] = new Integer (23); harness.check (copy (w, 0, ss, 0, 5), "caught ArrayStoreException"); harness.check (ss[0], "0"); harness.check (ss[1], "1"); harness.check (ss[2], "2"); harness.check (ss[3], "26"); harness.check (ss[4], "27"); harness.checkPoint("Different dimensions"); harness.check (copy (new Object[1][1], 0, new Object[1], 0, 1), null); harness.check (copy (new int[1][1], 0, new Object[1], 0, 1), null); Object[] objs = new Object[1]; objs[0] = new int[1]; harness.check (copy (objs, 0, new int[1][1], 0, 1), null); harness.check (copy (new String[1][1], 0, new Object[1], 0, 1), null); harness.check (copy (new int[1][1], 0, new int[1], 0, 1), "caught ArrayStoreException"); harness.check (copy (new int[1], 0, new int[1][1], 0, 1), "caught ArrayStoreException"); } } mauve-20140821/gnu/testlet/java/lang/System/security.java0000644000175000001440000002077411232312777022101 0ustar dokousers// Copyright (C) 2006, 2007 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 package gnu.testlet.java.lang.System; import java.security.Permission; import java.util.Properties; import java.util.PropertyPermission; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.TestSecurityManager; public class security implements Testlet { public void test(TestHarness harness) { String not_a_property = "java.monkey.flump"; try { harness.checkPoint("setup"); String library_name = "blah"; String library_path = "/path/to/libnothing.so"; String a_variable = "PATH"; String not_a_variable = "PITH"; harness.check(System.getenv(a_variable) != null); harness.check(System.getenv(not_a_variable) == null); Properties properties = System.getProperties(); String a_property = "java.vm.name"; harness.check(properties.containsKey(a_property)); harness.check(!properties.containsKey(not_a_property)); //exitVM.0 or set compare style to implies Permission[] exitVM = new Permission[] { new RuntimePermission("exitVM.0")}; Permission[] loadLibrary_name = new Permission[] { new RuntimePermission("loadLibrary." + library_name)}; Permission[] loadLibrary_path = new Permission[] { new RuntimePermission("loadLibrary." + library_path)}; Permission[] readVariable = new Permission[] { new RuntimePermission("getenv." + a_variable)}; Permission[] readNonVariable = new Permission[] { new RuntimePermission("getenv." + not_a_variable)}; Permission[] readWriteAllProperties = new Permission[] { new PropertyPermission("*", "read,write")}; Permission[] readProperty = new Permission[] { new PropertyPermission(a_property, "read")}; Permission[] readNonProperty = new Permission[] { new PropertyPermission(not_a_property, "read")}; Permission[] setIO = new Permission[] { new RuntimePermission("setIO")}; Permission[] writeProperty = new Permission[] { new PropertyPermission(a_property, "write")}; Permission[] writeNonProperty = new Permission[] { new PropertyPermission(not_a_property, "write")}; Permission[] setSecurityManager = new Permission[] { new RuntimePermission("setSecurityManager")}; TestSecurityManager sm = new TestSecurityManager(harness); try { sm.install(); // throwpoint: java.lang.System-exit harness.checkPoint("exit"); try { sm.prepareHaltingChecks(exitVM); System.exit(0); harness.check(false); } catch (TestSecurityManager.SuccessException ex) { harness.check(true); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.System-runFinalizersOnExit harness.checkPoint("runFinalizersOnExit"); try { sm.prepareChecks(exitVM); System.runFinalizersOnExit(false); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.System-load harness.checkPoint("load"); try { sm.prepareHaltingChecks(loadLibrary_name); System.load(library_name); harness.check(false); } catch (TestSecurityManager.SuccessException ex) { harness.check(true); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.System-loadLibrary harness.checkPoint("loadLibrary"); try { sm.prepareHaltingChecks(loadLibrary_path); System.loadLibrary(library_path); harness.check(false); } catch (TestSecurityManager.SuccessException ex) { harness.check(true); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: TODO: java.lang.System-getenv() // throwpoint: java.lang.System-getenv(String) harness.checkPoint("getenv(String)"); try { sm.prepareChecks(readVariable); System.getenv(a_variable); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } try { sm.prepareChecks(readNonVariable); System.getenv(not_a_variable); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.System-getProperties harness.checkPoint("getProperties"); try { sm.prepareChecks(readWriteAllProperties); System.getProperties(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.System-setProperties harness.checkPoint("setProperties"); try { sm.prepareChecks(readWriteAllProperties); System.setProperties(properties); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.System-getProperty(String) harness.checkPoint("getProperty(String)"); try { sm.prepareChecks(readProperty); System.getProperty(a_property); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } try { sm.prepareChecks(readNonProperty); System.getProperty(not_a_property); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.System-getProperty(String, String) harness.checkPoint("getProperty(String, String)"); try { sm.prepareChecks(readProperty); System.getProperty(a_property, "quadrant"); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } try { sm.prepareChecks(readNonProperty); System.getProperty(not_a_property, "blade"); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.System-setIn harness.checkPoint("setIn"); try { sm.prepareChecks(setIO); System.setIn(System.in); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.System-setOut harness.checkPoint("setOut"); try { sm.prepareChecks(setIO); System.setOut(System.out); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.System-setErr harness.checkPoint("setErr"); try { sm.prepareChecks(setIO); System.setErr(System.err); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.System-setProperty harness.checkPoint("setProperty"); try { sm.prepareChecks(writeProperty); System.setProperty(a_property, properties.getProperty(a_property)); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } try { sm.prepareChecks(writeNonProperty); System.setProperty(not_a_property, "hello mum"); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: TODO: java.lang.System-clearProperty // throwpoint: java.lang.System-setSecurityManager harness.checkPoint("setSecurityManager"); try { sm.prepareChecks(setSecurityManager); System.setSecurityManager(sm); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } finally { sm.uninstall(); System.clearProperty(not_a_property); } } catch (Exception ex) { harness.debug(ex); harness.check(false, "Unexpected exception"); } } } mauve-20140821/gnu/testlet/java/lang/System/identityHashCode.java0000644000175000001440000000332407547427641023465 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2002 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.System; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class identityHashCode implements Testlet { public int hashCode() { return 42; } private int origHashCode() { return super.hashCode(); } public void test (TestHarness harness) { // Returns the same as hash code for any object that does not override it. Object o = new Object(); harness.check(System.identityHashCode(o), o.hashCode()); // Exception also does not override hashCode o = new Exception(); harness.check(System.identityHashCode(o), o.hashCode()); // When a class overrides it you can still get the original identityHashCode ihc = new identityHashCode(); harness.check(System.identityHashCode(ihc), ihc.origHashCode()); // null has identityHashCode zero harness.check(System.identityHashCode(null), 0); } } mauve-20140821/gnu/testlet/java/lang/InternalError/0000755000175000001440000000000012375316426020663 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/InternalError/constructor.java0000644000175000001440000000361612262500410024100 0ustar dokousers// Test if instances of a class java.lang.InternalError could be properly constructed // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; /** * Test if instances of a class java.lang.InternalError * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { InternalError object1 = new InternalError(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.InternalError"); InternalError object2 = new InternalError("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.InternalError: nothing happens"); InternalError object3 = new InternalError(null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.InternalError"); } } mauve-20140821/gnu/testlet/java/lang/InternalError/TryCatch.java0000644000175000001440000000324512262500407023240 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.InternalError // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; /** * Test if try-catch block is working properly for a class java.lang.InternalError */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new InternalError("InternalError"); } catch (InternalError e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/0000755000175000001440000000000012375316426022604 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/getDeclaredConstructor.java0000644000175000001440000000701412263502074030112 0ustar dokousers// Test for method java.lang.InternalError.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InternalError.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.InternalError", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.InternalError", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.InternalError", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.InternalError", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/getPackage.java0000644000175000001440000000317212265232400025470 0ustar dokousers// Test for method java.lang.InternalError.getClass().getPackage() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; /** * Test for method java.lang.InternalError.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/getDeclaredMethods.java0000644000175000001440000000612412263741704027176 0ustar dokousers// Test for method java.lang.InternalError.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InternalError.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/getInterfaces.java0000644000175000001440000000323212264751252026227 0ustar dokousers// Test for method java.lang.InternalError.getClass().getInterfaces() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.InternalError.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/getModifiers.java0000644000175000001440000000442312265232400026056 0ustar dokousers// Test for method java.lang.InternalError.getClass().getModifiers() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; import java.lang.reflect.Modifier; /** * Test for method java.lang.InternalError.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/getDeclaredFields.java0000644000175000001440000000705312263502074026776 0ustar dokousers// Test for method java.lang.InternalError.getClass().getDeclaredFields() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InternalError.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.InternalError.serialVersionUID", "serialVersionUID"); // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/getDeclaredConstructors.java0000644000175000001440000001031712263502074030275 0ustar dokousers// Test for method java.lang.InternalError.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InternalError.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.InternalError()", "java.lang.InternalError"); testedDeclaredConstructors_jdk6.put("public java.lang.InternalError(java.lang.String)", "java.lang.InternalError"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.InternalError()", "java.lang.InternalError"); testedDeclaredConstructors_jdk7.put("public java.lang.InternalError(java.lang.String)", "java.lang.InternalError"); // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/getField.java0000644000175000001440000000545712264751252025202 0ustar dokousers// Test for method java.lang.InternalError.getClass().getField() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InternalError.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/getFields.java0000644000175000001440000000561512264751252025361 0ustar dokousers// Test for method java.lang.InternalError.getClass().getFields() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InternalError.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/isPrimitive.java0000644000175000001440000000312712265715774025765 0ustar dokousers// Test for method java.lang.InternalError.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; /** * Test for method java.lang.InternalError.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/getSimpleName.java0000644000175000001440000000315112265232400026164 0ustar dokousers// Test for method java.lang.InternalError.getClass().getSimpleName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; /** * Test for method java.lang.InternalError.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "InternalError"); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/getEnclosingClass.java0000644000175000001440000000321412263741704027053 0ustar dokousers// Test for method java.lang.InternalError.getClass().getEnclosingClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; /** * Test for method java.lang.InternalError.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/isAnnotationPresent.java0000644000175000001440000000431512265474310027454 0ustar dokousers// Test for method java.lang.InternalError.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; /** * Test for method java.lang.InternalError.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/isSynthetic.java0000644000175000001440000000312712265715774025767 0ustar dokousers// Test for method java.lang.InternalError.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; /** * Test for method java.lang.InternalError.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/isAnnotation.java0000644000175000001440000000312512265474310026111 0ustar dokousers// Test for method java.lang.InternalError.getClass().isAnnotation() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; /** * Test for method java.lang.InternalError.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/isInstance.java0000644000175000001440000000316412265715773025561 0ustar dokousers// Test for method java.lang.InternalError.getClass().isInstance(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; /** * Test for method java.lang.InternalError.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new InternalError("InternalError"))); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/getDeclaredMethod.java0000644000175000001440000000606312263502074027010 0ustar dokousers// Test for method java.lang.InternalError.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InternalError.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/getDeclaredClasses.java0000644000175000001440000000327012263221405027156 0ustar dokousers// Test for method java.lang.InternalError.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; /** * Test for method java.lang.InternalError.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/getComponentType.java0000644000175000001440000000321012263221404026732 0ustar dokousers// Test for method java.lang.InternalError.getClass().getComponentType() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; /** * Test for method java.lang.InternalError.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/getMethod.java0000644000175000001440000001423312264751252025367 0ustar dokousers// Test for method java.lang.InternalError.getClass().getMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InternalError.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/isMemberClass.java0000644000175000001440000000313712265715774026213 0ustar dokousers// Test for method java.lang.InternalError.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; /** * Test for method java.lang.InternalError.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/getConstructor.java0000644000175000001440000000675412263221404026473 0ustar dokousers// Test for method java.lang.InternalError.getClass().getConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InternalError.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.InternalError", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.InternalError", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.InternalError", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.InternalError", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/getSuperclass.java0000644000175000001440000000325212265232400026260 0ustar dokousers// Test for method java.lang.InternalError.getClass().getSuperclass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; /** * Test for method java.lang.InternalError.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.VirtualMachineError"); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/isEnum.java0000644000175000001440000000307512265474310024707 0ustar dokousers// Test for method java.lang.InternalError.getClass().isEnum() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; /** * Test for method java.lang.InternalError.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/getMethods.java0000644000175000001440000001761512264751252025561 0ustar dokousers// Test for method java.lang.InternalError.getClass().getMethods() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InternalError.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/getAnnotations.java0000644000175000001440000000567012262755343026454 0ustar dokousers// Test for method java.lang.InternalError.getClass().getAnnotations() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.InternalError.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/InstanceOf.java0000644000175000001440000000366112262755342025505 0ustar dokousers// Test for instanceof operator applied to a class java.lang.InternalError // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; import java.lang.VirtualMachineError; import java.lang.Error; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.InternalError */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InternalError InternalError o = new InternalError("InternalError"); // basic check of instanceof operator harness.check(o instanceof InternalError); // check operator instanceof against all superclasses harness.check(o instanceof VirtualMachineError); harness.check(o instanceof Error); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/getDeclaringClass.java0000644000175000001440000000321412263741704027022 0ustar dokousers// Test for method java.lang.InternalError.getClass().getDeclaringClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; /** * Test for method java.lang.InternalError.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/getAnnotation.java0000644000175000001440000000477712262755342026277 0ustar dokousers// Test for method java.lang.InternalError.getClass().getAnnotation() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; /** * Test for method java.lang.InternalError.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/isAnonymousClass.java0000644000175000001440000000314512265474310026757 0ustar dokousers// Test for method java.lang.InternalError.getClass().isAnonymousClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; /** * Test for method java.lang.InternalError.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/getEnclosingMethod.java0000644000175000001440000000323412263741705027231 0ustar dokousers// Test for method java.lang.InternalError.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; /** * Test for method java.lang.InternalError.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/isInterface.java0000644000175000001440000000312712265715774025715 0ustar dokousers// Test for method java.lang.InternalError.getClass().isInterface(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; /** * Test for method java.lang.InternalError.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/getConstructors.java0000644000175000001440000000775212263221404026655 0ustar dokousers// Test for method java.lang.InternalError.getClass().getConstructors() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InternalError.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.InternalError()", "java.lang.InternalError"); testedConstructors_jdk6.put("public java.lang.InternalError(java.lang.String)", "java.lang.InternalError"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.InternalError()", "java.lang.InternalError"); testedConstructors_jdk7.put("public java.lang.InternalError(java.lang.String)", "java.lang.InternalError"); // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/isAssignableFrom.java0000644000175000001440000000317412265474310026677 0ustar dokousers// Test for method java.lang.InternalError.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; /** * Test for method java.lang.InternalError.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(InternalError.class)); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/getDeclaredAnnotations.java0000644000175000001440000000573012263221404030060 0ustar dokousers// Test for method java.lang.InternalError.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.InternalError.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/getDeclaredField.java0000644000175000001440000000557012263502074026615 0ustar dokousers// Test for method java.lang.InternalError.getClass().getDeclaredField() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InternalError.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/isLocalClass.java0000644000175000001440000000313312265715774026032 0ustar dokousers// Test for method java.lang.InternalError.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; /** * Test for method java.lang.InternalError.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/getEnclosingConstructor.java0000644000175000001440000000327612263741705030344 0ustar dokousers// Test for method java.lang.InternalError.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; /** * Test for method java.lang.InternalError.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/getCanonicalName.java0000644000175000001440000000317412262755343026644 0ustar dokousers// Test for method java.lang.InternalError.getClass().getSimpleName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; /** * Test for method java.lang.InternalError.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.InternalError"); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/getName.java0000644000175000001440000000313312265232400025012 0ustar dokousers// Test for method java.lang.InternalError.getClass().getName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; /** * Test for method java.lang.InternalError.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.InternalError"); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/getClasses.java0000644000175000001440000000323012262755343025542 0ustar dokousers// Test for method java.lang.InternalError.getClass().getClasses() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; /** * Test for method java.lang.InternalError.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/InternalError/classInfo/isArray.java0000644000175000001440000000310112265474310025047 0ustar dokousers// Test for method java.lang.InternalError.getClass().isArray() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InternalError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InternalError; /** * Test for method java.lang.InternalError.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InternalError final Object o = new InternalError("InternalError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedClassVersionError/0000755000175000001440000000000012375316426023773 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/UnsupportedClassVersionError/constructor.java0000644000175000001440000000353012055375013027214 0ustar dokousers// Test if constructor is working properly for a class java.lang.UnsupportedClassVersionError // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedClassVersionError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedClassVersionError; /** * Test if constructor is working properly for a class java.lang.UnsupportedClassVersionError */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { UnsupportedClassVersionError error1 = new UnsupportedClassVersionError(); harness.check(error1 != null); harness.check(error1.toString(), "java.lang.UnsupportedClassVersionError"); UnsupportedClassVersionError error2 = new UnsupportedClassVersionError("nothing happens"); harness.check(error2 != null); harness.check(error2.toString(), "java.lang.UnsupportedClassVersionError: nothing happens"); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedClassVersionError/TryCatch.java0000644000175000001440000000340212055375012026345 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.UnsupportedClassVersionError // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedClassVersionError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedClassVersionError; /** * Test if try-catch block is working properly for a class java.lang.UnsupportedClassVersionError */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new UnsupportedClassVersionError("UnsupportedClassVersionError"); } catch (UnsupportedClassVersionError e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/0000755000175000001440000000000012375316426025714 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/getPackage.java0000644000175000001440000000332712055375013030607 0ustar dokousers// Test for method java.lang.UnsupportedClassVersionError.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedClassVersionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedClassVersionError; /** * Test for method java.lang.UnsupportedClassVersionError.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedClassVersionError final Object o = new UnsupportedClassVersionError("UnsupportedClassVersionError"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/getDeclaredMethods.java0000644000175000001440000000626112055375013032303 0ustar dokousers// Test for method java.lang.UnsupportedClassVersionError.getClass().getDeclaredMethods() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedClassVersionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedClassVersionError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnsupportedClassVersionError.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class UnsupportedClassVersionError final Object o = new UnsupportedClassVersionError("UnsupportedClassVersionError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/getInterfaces.java0000644000175000001440000000336712055375013031343 0ustar dokousers// Test for method java.lang.UnsupportedClassVersionError.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedClassVersionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedClassVersionError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.UnsupportedClassVersionError.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedClassVersionError final Object o = new UnsupportedClassVersionError("UnsupportedClassVersionError"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/getModifiers.java0000644000175000001440000000456012055375013031175 0ustar dokousers// Test for method java.lang.UnsupportedClassVersionError.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedClassVersionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedClassVersionError; import java.lang.reflect.Modifier; /** * Test for method java.lang.UnsupportedClassVersionError.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedClassVersionError final Object o = new UnsupportedClassVersionError("UnsupportedClassVersionError"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/getDeclaredFields.java0000644000175000001440000000722712055375013032111 0ustar dokousers// Test for method java.lang.UnsupportedClassVersionError.getClass().getDeclaredFields() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedClassVersionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedClassVersionError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnsupportedClassVersionError.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.UnsupportedClassVersionError.serialVersionUID", "serialVersionUID"); // create instance of a class UnsupportedClassVersionError final Object o = new UnsupportedClassVersionError("UnsupportedClassVersionError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/getDeclaredConstructors.javamauve-20140821/gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/getDeclaredConstructors.0000644000175000001440000001064412055375013032546 0ustar dokousers// Test for method java.lang.UnsupportedClassVersionError.getClass().getDeclaredConstructors() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedClassVersionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedClassVersionError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnsupportedClassVersionError.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.UnsupportedClassVersionError()", "java.lang.UnsupportedClassVersionError"); testedDeclaredConstructors_jdk6.put("public java.lang.UnsupportedClassVersionError(java.lang.String)", "java.lang.UnsupportedClassVersionError"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.UnsupportedClassVersionError()", "java.lang.UnsupportedClassVersionError"); testedDeclaredConstructors_jdk7.put("public java.lang.UnsupportedClassVersionError(java.lang.String)", "java.lang.UnsupportedClassVersionError"); // create instance of a class UnsupportedClassVersionError final Object o = new UnsupportedClassVersionError("UnsupportedClassVersionError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/getFields.java0000644000175000001440000000575212055375013030466 0ustar dokousers// Test for method java.lang.UnsupportedClassVersionError.getClass().getFields() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedClassVersionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedClassVersionError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnsupportedClassVersionError.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class UnsupportedClassVersionError final Object o = new UnsupportedClassVersionError("UnsupportedClassVersionError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/isPrimitive.java0000644000175000001440000000326412055375013031060 0ustar dokousers// Test for method java.lang.UnsupportedClassVersionError.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedClassVersionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedClassVersionError; /** * Test for method java.lang.UnsupportedClassVersionError.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedClassVersionError final Object o = new UnsupportedClassVersionError("UnsupportedClassVersionError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/getSimpleName.java0000644000175000001440000000332512055375013031304 0ustar dokousers// Test for method java.lang.UnsupportedClassVersionError.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedClassVersionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedClassVersionError; /** * Test for method java.lang.UnsupportedClassVersionError.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedClassVersionError final Object o = new UnsupportedClassVersionError("UnsupportedClassVersionError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "UnsupportedClassVersionError"); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/isAnnotationPresent.java0000644000175000001440000000445212055375013032563 0ustar dokousers// Test for method java.lang.UnsupportedClassVersionError.getClass().isAnnotationPresent() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedClassVersionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedClassVersionError; /** * Test for method java.lang.UnsupportedClassVersionError.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedClassVersionError final Object o = new UnsupportedClassVersionError("UnsupportedClassVersionError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/isSynthetic.java0000644000175000001440000000326412055375013031062 0ustar dokousers// Test for method java.lang.UnsupportedClassVersionError.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedClassVersionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedClassVersionError; /** * Test for method java.lang.UnsupportedClassVersionError.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedClassVersionError final Object o = new UnsupportedClassVersionError("UnsupportedClassVersionError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/isAnnotation.java0000644000175000001440000000326212055375013031220 0ustar dokousers// Test for method java.lang.UnsupportedClassVersionError.getClass().isAnnotation() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedClassVersionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedClassVersionError; /** * Test for method java.lang.UnsupportedClassVersionError.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedClassVersionError final Object o = new UnsupportedClassVersionError("UnsupportedClassVersionError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/isInstance.java0000644000175000001440000000335712055375013030657 0ustar dokousers// Test for method java.lang.UnsupportedClassVersionError.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedClassVersionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedClassVersionError; /** * Test for method java.lang.UnsupportedClassVersionError.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedClassVersionError final Object o = new UnsupportedClassVersionError("UnsupportedClassVersionError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new UnsupportedClassVersionError("UnsupportedClassVersionError"))); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/isMemberClass.java0000644000175000001440000000327412055375013031306 0ustar dokousers// Test for method java.lang.UnsupportedClassVersionError.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedClassVersionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedClassVersionError; /** * Test for method java.lang.UnsupportedClassVersionError.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedClassVersionError final Object o = new UnsupportedClassVersionError("UnsupportedClassVersionError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/getSuperclass.java0000644000175000001440000000340412055375013031374 0ustar dokousers// Test for method java.lang.UnsupportedClassVersionError.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedClassVersionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedClassVersionError; /** * Test for method java.lang.UnsupportedClassVersionError.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedClassVersionError final Object o = new UnsupportedClassVersionError("UnsupportedClassVersionError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.ClassFormatError"); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/isEnum.java0000644000175000001440000000323212055375013030007 0ustar dokousers// Test for method java.lang.UnsupportedClassVersionError.getClass().isEnum() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedClassVersionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedClassVersionError; /** * Test for method java.lang.UnsupportedClassVersionError.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedClassVersionError final Object o = new UnsupportedClassVersionError("UnsupportedClassVersionError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/getMethods.java0000644000175000001440000001775212055375013030666 0ustar dokousers// Test for method java.lang.UnsupportedClassVersionError.getClass().getMethods() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedClassVersionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedClassVersionError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnsupportedClassVersionError.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class UnsupportedClassVersionError final Object o = new UnsupportedClassVersionError("UnsupportedClassVersionError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/InstanceOf.java0000644000175000001440000000416712055375013030610 0ustar dokousers// Test for instanceof operator applied to a class java.lang.UnsupportedClassVersionError // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedClassVersionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedClassVersionError; import java.lang.ClassFormatError; import java.lang.LinkageError; import java.lang.Error; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.UnsupportedClassVersionError */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedClassVersionError UnsupportedClassVersionError o = new UnsupportedClassVersionError("UnsupportedClassVersionError"); // basic check of instanceof operator harness.check(o instanceof UnsupportedClassVersionError); // check operator instanceof against all superclasses harness.check(o instanceof ClassFormatError); harness.check(o instanceof LinkageError); harness.check(o instanceof Error); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/isAnonymousClass.java0000644000175000001440000000330212055375013032057 0ustar dokousers// Test for method java.lang.UnsupportedClassVersionError.getClass().isAnonymousClass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedClassVersionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedClassVersionError; /** * Test for method java.lang.UnsupportedClassVersionError.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedClassVersionError final Object o = new UnsupportedClassVersionError("UnsupportedClassVersionError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/isInterface.java0000644000175000001440000000326412055375013031010 0ustar dokousers// Test for method java.lang.UnsupportedClassVersionError.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedClassVersionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedClassVersionError; /** * Test for method java.lang.UnsupportedClassVersionError.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedClassVersionError final Object o = new UnsupportedClassVersionError("UnsupportedClassVersionError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/getConstructors.java0000644000175000001440000001027712055375013031766 0ustar dokousers// Test for method java.lang.UnsupportedClassVersionError.getClass().getConstructors() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedClassVersionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedClassVersionError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnsupportedClassVersionError.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.UnsupportedClassVersionError()", "java.lang.UnsupportedClassVersionError"); testedConstructors_jdk6.put("public java.lang.UnsupportedClassVersionError(java.lang.String)", "java.lang.UnsupportedClassVersionError"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.UnsupportedClassVersionError()", "java.lang.UnsupportedClassVersionError"); testedConstructors_jdk7.put("public java.lang.UnsupportedClassVersionError(java.lang.String)", "java.lang.UnsupportedClassVersionError"); // create instance of a class UnsupportedClassVersionError final Object o = new UnsupportedClassVersionError("UnsupportedClassVersionError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/isAssignableFrom.java0000644000175000001440000000335012055375013032000 0ustar dokousers// Test for method java.lang.UnsupportedClassVersionError.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedClassVersionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedClassVersionError; /** * Test for method java.lang.UnsupportedClassVersionError.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedClassVersionError final Object o = new UnsupportedClassVersionError("UnsupportedClassVersionError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(UnsupportedClassVersionError.class)); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/isLocalClass.java0000644000175000001440000000327012055375013031125 0ustar dokousers// Test for method java.lang.UnsupportedClassVersionError.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedClassVersionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedClassVersionError; /** * Test for method java.lang.UnsupportedClassVersionError.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedClassVersionError final Object o = new UnsupportedClassVersionError("UnsupportedClassVersionError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/getName.java0000644000175000001440000000330712055375013030132 0ustar dokousers// Test for method java.lang.UnsupportedClassVersionError.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedClassVersionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedClassVersionError; /** * Test for method java.lang.UnsupportedClassVersionError.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedClassVersionError final Object o = new UnsupportedClassVersionError("UnsupportedClassVersionError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.UnsupportedClassVersionError"); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/isArray.java0000644000175000001440000000323612055375013030165 0ustar dokousers// Test for method java.lang.UnsupportedClassVersionError.getClass().isArray() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedClassVersionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedClassVersionError; /** * Test for method java.lang.UnsupportedClassVersionError.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedClassVersionError final Object o = new UnsupportedClassVersionError("UnsupportedClassVersionError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/0000755000175000001440000000000012375316426021733 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/InstantiationError/constructor.java0000644000175000001440000000371112241364347025162 0ustar dokousers// Test if instances of a class java.lang.InstantiationError could be properly constructed // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; /** * Test if instances of a class java.lang.InstantiationError * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { InstantiationError object1 = new InstantiationError(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.InstantiationError"); InstantiationError object2 = new InstantiationError("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.InstantiationError: nothing happens"); InstantiationError object3 = new InstantiationError(null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.InstantiationError"); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/TryCatch.java0000644000175000001440000000330212241364347024312 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.InstantiationError // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; /** * Test if try-catch block is working properly for a class java.lang.InstantiationError */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new InstantiationError("InstantiationError"); } catch (InstantiationError e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/0000755000175000001440000000000012375316426023654 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/getDeclaredConstructor.java0000644000175000001440000000707512242664372031200 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InstantiationError.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.InstantiationError", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.InstantiationError", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.InstantiationError", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.InstantiationError", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/getPackage.java0000644000175000001440000000322712244606233026547 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().getPackage() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; /** * Test for method java.lang.InstantiationError.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/getDeclaredMethods.java0000644000175000001440000000616112243075241030241 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InstantiationError.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/getInterfaces.java0000644000175000001440000000326712244606233027303 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().getInterfaces() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.InstantiationError.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/getModifiers.java0000644000175000001440000000446012244606233027135 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().getModifiers() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; import java.lang.reflect.Modifier; /** * Test for method java.lang.InstantiationError.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/getDeclaredFields.java0000644000175000001440000000711512243075241030044 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().getDeclaredFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InstantiationError.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.InstantiationError.serialVersionUID", "serialVersionUID"); // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/getDeclaredConstructors.java0000644000175000001440000001042412244606232031344 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InstantiationError.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.InstantiationError()", "java.lang.InstantiationError"); testedDeclaredConstructors_jdk6.put("public java.lang.InstantiationError(java.lang.String)", "java.lang.InstantiationError"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.InstantiationError()", "java.lang.InstantiationError"); testedDeclaredConstructors_jdk7.put("public java.lang.InstantiationError(java.lang.String)", "java.lang.InstantiationError"); // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/getField.java0000644000175000001440000000551412245064413026237 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().getField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InstantiationError.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/getFields.java0000644000175000001440000000565212245064413026425 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().getFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InstantiationError.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/isPrimitive.java0000644000175000001440000000316412243343376027025 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; /** * Test for method java.lang.InstantiationError.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/getSimpleName.java0000644000175000001440000000321312244606233027241 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; /** * Test for method java.lang.InstantiationError.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "InstantiationError"); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/getEnclosingClass.java0000644000175000001440000000325112243075241030116 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().getEnclosingClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; /** * Test for method java.lang.InstantiationError.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/isAnnotationPresent.java0000644000175000001440000000435212243610766030530 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; /** * Test for method java.lang.InstantiationError.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/isSynthetic.java0000644000175000001440000000316412243343376027027 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; /** * Test for method java.lang.InstantiationError.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/isAnnotation.java0000644000175000001440000000316212243610766027165 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().isAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; /** * Test for method java.lang.InstantiationError.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/isInstance.java0000644000175000001440000000323312243343376026616 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().isInstance(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; /** * Test for method java.lang.InstantiationError.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new InstantiationError("InstantiationError"))); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/getDeclaredMethod.java0000644000175000001440000000612012243075241030051 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InstantiationError.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/getDeclaredClasses.java0000644000175000001440000000332512242664372030242 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; /** * Test for method java.lang.InstantiationError.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/getComponentType.java0000644000175000001440000000324512242350324030013 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().getComponentType() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; /** * Test for method java.lang.InstantiationError.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/getMethod.java0000644000175000001440000001427012245064413026433 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().getMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InstantiationError.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/isMemberClass.java0000644000175000001440000000317412243343376027253 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; /** * Test for method java.lang.InstantiationError.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/getConstructor.java0000644000175000001440000000703512242664371027547 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().getConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InstantiationError.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.InstantiationError", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.InstantiationError", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.InstantiationError", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.InstantiationError", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/getSuperclass.java0000644000175000001440000000332012244606233027332 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().getSuperclass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; /** * Test for method java.lang.InstantiationError.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.IncompatibleClassChangeError"); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/isEnum.java0000644000175000001440000000313212243610767025755 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().isEnum() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; /** * Test for method java.lang.InstantiationError.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/getMethods.java0000644000175000001440000001765212245064413026625 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().getMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InstantiationError.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/getAnnotations.java0000644000175000001440000000572512242350324027511 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().getAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.InstantiationError.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/InstanceOf.java0000644000175000001440000000407312241364347026551 0ustar dokousers// Test for instanceof operator applied to a class java.lang.InstantiationError // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; import java.lang.IncompatibleClassChangeError; import java.lang.LinkageError; import java.lang.Error; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.InstantiationError */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationError InstantiationError o = new InstantiationError("InstantiationError"); // basic check of instanceof operator harness.check(o instanceof InstantiationError); // check operator instanceof against all superclasses harness.check(o instanceof IncompatibleClassChangeError); harness.check(o instanceof LinkageError); harness.check(o instanceof Error); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/getDeclaringClass.java0000644000175000001440000000325112243075241030065 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().getDeclaringClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; /** * Test for method java.lang.InstantiationError.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/getAnnotation.java0000644000175000001440000000503412242350324027317 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().getAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; /** * Test for method java.lang.InstantiationError.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/isAnonymousClass.java0000644000175000001440000000320212243610767030025 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().isAnonymousClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; /** * Test for method java.lang.InstantiationError.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/getEnclosingMethod.java0000644000175000001440000000327112245064413030274 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; /** * Test for method java.lang.InstantiationError.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/isInterface.java0000644000175000001440000000316412243343376026755 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().isInterface(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; /** * Test for method java.lang.InstantiationError.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/getConstructors.java0000644000175000001440000001005712242664371027730 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().getConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InstantiationError.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.InstantiationError()", "java.lang.InstantiationError"); testedConstructors_jdk6.put("public java.lang.InstantiationError(java.lang.String)", "java.lang.InstantiationError"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.InstantiationError()", "java.lang.InstantiationError"); testedConstructors_jdk7.put("public java.lang.InstantiationError(java.lang.String)", "java.lang.InstantiationError"); // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/isAssignableFrom.java0000644000175000001440000000323612243610767027752 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; /** * Test for method java.lang.InstantiationError.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(InstantiationError.class)); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/getDeclaredAnnotations.java0000644000175000001440000000576512242664372031154 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.InstantiationError.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/getDeclaredField.java0000644000175000001440000000562512243075241027665 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().getDeclaredField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InstantiationError.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/isLocalClass.java0000644000175000001440000000317012243343376027072 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; /** * Test for method java.lang.InstantiationError.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/getEnclosingConstructor.java0000644000175000001440000000333312245064413031400 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; /** * Test for method java.lang.InstantiationError.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/getCanonicalName.java0000644000175000001440000000323612242350324027677 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; /** * Test for method java.lang.InstantiationError.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.InstantiationError"); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/getName.java0000644000175000001440000000317512244606233026076 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().getName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; /** * Test for method java.lang.InstantiationError.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.InstantiationError"); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/getClasses.java0000644000175000001440000000326512242350324026606 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().getClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; /** * Test for method java.lang.InstantiationError.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/InstantiationError/classInfo/isArray.java0000644000175000001440000000313612243610767026133 0ustar dokousers// Test for method java.lang.InstantiationError.getClass().isArray() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InstantiationError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InstantiationError; /** * Test for method java.lang.InstantiationError.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InstantiationError final Object o = new InstantiationError("InstantiationError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/0000755000175000001440000000000012375316426020546 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/UnknownError/constructor.java0000644000175000001440000000360112366657207024003 0ustar dokousers// Test if instances of a class java.lang.UnknownError could be properly constructed // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; /** * Test if instances of a class java.lang.UnknownError * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { UnknownError object1 = new UnknownError(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.UnknownError"); UnknownError object2 = new UnknownError("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.UnknownError: nothing happens"); UnknownError object3 = new UnknownError(null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.UnknownError"); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/TryCatch.java0000644000175000001440000000323612366657207023143 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.UnknownError // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; /** * Test if try-catch block is working properly for a class java.lang.UnknownError */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new UnknownError("UnknownError"); } catch (UnknownError e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/0000755000175000001440000000000012375316426022467 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/getDeclaredConstructor.java0000644000175000001440000000700112370367233027776 0ustar dokousers// Test for method java.lang.UnknownError.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnknownError.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.UnknownError", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.UnknownError", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.UnknownError", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.UnknownError", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/getPackage.java0000644000175000001440000000316312370637124025364 0ustar dokousers// Test for method java.lang.UnknownError.getClass().getPackage() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; /** * Test for method java.lang.UnknownError.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/getDeclaredMethods.java0000644000175000001440000000611512372404305027053 0ustar dokousers// Test for method java.lang.UnknownError.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnknownError.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/getInterfaces.java0000644000175000001440000000322312370637124026111 0ustar dokousers// Test for method java.lang.UnknownError.getClass().getInterfaces() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.UnknownError.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/getModifiers.java0000644000175000001440000000441412370637124025752 0ustar dokousers// Test for method java.lang.UnknownError.getClass().getModifiers() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; import java.lang.reflect.Modifier; /** * Test for method java.lang.UnknownError.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/getDeclaredFields.java0000644000175000001440000000704312372404305026657 0ustar dokousers// Test for method java.lang.UnknownError.getClass().getDeclaredFields() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnknownError.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.UnknownError.serialVersionUID", "serialVersionUID"); // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/getDeclaredConstructors.java0000644000175000001440000001030012372404305030147 0ustar dokousers// Test for method java.lang.UnknownError.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnknownError.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.UnknownError()", "java.lang.UnknownError"); testedDeclaredConstructors_jdk6.put("public java.lang.UnknownError(java.lang.String)", "java.lang.UnknownError"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.UnknownError()", "java.lang.UnknownError"); testedDeclaredConstructors_jdk7.put("public java.lang.UnknownError(java.lang.String)", "java.lang.UnknownError"); // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/getField.java0000644000175000001440000000545012372106531025050 0ustar dokousers// Test for method java.lang.UnknownError.getClass().getField() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnknownError.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/getFields.java0000644000175000001440000000560612370637124025243 0ustar dokousers// Test for method java.lang.UnknownError.getClass().getFields() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnknownError.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/isPrimitive.java0000644000175000001440000000312012366657207025637 0ustar dokousers// Test for method java.lang.UnknownError.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; /** * Test for method java.lang.UnknownError.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/getSimpleName.java0000644000175000001440000000314112370637124026057 0ustar dokousers// Test for method java.lang.UnknownError.getClass().getSimpleName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; /** * Test for method java.lang.UnknownError.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "UnknownError"); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/getEnclosingClass.java0000644000175000001440000000320512370120722026724 0ustar dokousers// Test for method java.lang.UnknownError.getClass().getEnclosingClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; /** * Test for method java.lang.UnknownError.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/isAnnotationPresent.java0000644000175000001440000000430612367651432027344 0ustar dokousers// Test for method java.lang.UnknownError.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; /** * Test for method java.lang.UnknownError.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/isSynthetic.java0000644000175000001440000000312012366657207025641 0ustar dokousers// Test for method java.lang.UnknownError.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; /** * Test for method java.lang.UnknownError.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/isAnnotation.java0000644000175000001440000000311612370637125025776 0ustar dokousers// Test for method java.lang.UnknownError.getClass().isAnnotation() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; /** * Test for method java.lang.UnknownError.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/isInstance.java0000644000175000001440000000315312367651432025434 0ustar dokousers// Test for method java.lang.UnknownError.getClass().isInstance(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; /** * Test for method java.lang.UnknownError.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new UnknownError("UnknownError"))); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/getDeclaredMethod.java0000644000175000001440000000605412370120721026665 0ustar dokousers// Test for method java.lang.UnknownError.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnknownError.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/getDeclaredClasses.java0000644000175000001440000000326112370120721027037 0ustar dokousers// Test for method java.lang.UnknownError.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; /** * Test for method java.lang.UnknownError.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/getComponentType.java0000644000175000001440000000320112370367233026627 0ustar dokousers// Test for method java.lang.UnknownError.getClass().getComponentType() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; /** * Test for method java.lang.UnknownError.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/getMethod.java0000644000175000001440000001422412372106532025245 0ustar dokousers// Test for method java.lang.UnknownError.getClass().getMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnknownError.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/isMemberClass.java0000644000175000001440000000313012366657207026065 0ustar dokousers// Test for method java.lang.UnknownError.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; /** * Test for method java.lang.UnknownError.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/getConstructor.java0000644000175000001440000000674112370367233026364 0ustar dokousers// Test for method java.lang.UnknownError.getClass().getConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnknownError.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.UnknownError", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.UnknownError", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.UnknownError", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.UnknownError", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/getSuperclass.java0000644000175000001440000000324312370637124026154 0ustar dokousers// Test for method java.lang.UnknownError.getClass().getSuperclass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; /** * Test for method java.lang.UnknownError.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.VirtualMachineError"); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/isEnum.java0000644000175000001440000000306612367651432024577 0ustar dokousers// Test for method java.lang.UnknownError.getClass().isEnum() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; /** * Test for method java.lang.UnknownError.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/getMethods.java0000644000175000001440000001760612370637124025443 0ustar dokousers// Test for method java.lang.UnknownError.getClass().getMethods() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnknownError.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/getAnnotations.java0000644000175000001440000000566112372106531026326 0ustar dokousers// Test for method java.lang.UnknownError.getClass().getAnnotations() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.UnknownError.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/InstanceOf.java0000644000175000001440000000365012366657207025374 0ustar dokousers// Test for instanceof operator applied to a class java.lang.UnknownError // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; import java.lang.VirtualMachineError; import java.lang.Error; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.UnknownError */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnknownError UnknownError o = new UnknownError("UnknownError"); // basic check of instanceof operator harness.check(o instanceof UnknownError); // check operator instanceof against all superclasses harness.check(o instanceof VirtualMachineError); harness.check(o instanceof Error); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/getDeclaringClass.java0000644000175000001440000000320512370120722026673 0ustar dokousers// Test for method java.lang.UnknownError.getClass().getDeclaringClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; /** * Test for method java.lang.UnknownError.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/getAnnotation.java0000644000175000001440000000477012370367231026147 0ustar dokousers// Test for method java.lang.UnknownError.getClass().getAnnotation() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; /** * Test for method java.lang.UnknownError.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/isAnonymousClass.java0000644000175000001440000000313612367651432026647 0ustar dokousers// Test for method java.lang.UnknownError.getClass().isAnonymousClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; /** * Test for method java.lang.UnknownError.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/getEnclosingMethod.java0000644000175000001440000000322512372106531027105 0ustar dokousers// Test for method java.lang.UnknownError.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; /** * Test for method java.lang.UnknownError.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/isInterface.java0000644000175000001440000000312012366657207025567 0ustar dokousers// Test for method java.lang.UnknownError.getClass().isInterface(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; /** * Test for method java.lang.UnknownError.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/getConstructors.java0000644000175000001440000000773312372404305026543 0ustar dokousers// Test for method java.lang.UnknownError.getClass().getConstructors() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnknownError.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.UnknownError()", "java.lang.UnknownError"); testedConstructors_jdk6.put("public java.lang.UnknownError(java.lang.String)", "java.lang.UnknownError"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.UnknownError()", "java.lang.UnknownError"); testedConstructors_jdk7.put("public java.lang.UnknownError(java.lang.String)", "java.lang.UnknownError"); // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/isAssignableFrom.java0000644000175000001440000000316412367651432026566 0ustar dokousers// Test for method java.lang.UnknownError.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; /** * Test for method java.lang.UnknownError.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(UnknownError.class)); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/getDeclaredAnnotations.java0000644000175000001440000000572112370120721027742 0ustar dokousers// Test for method java.lang.UnknownError.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.UnknownError.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/getDeclaredField.java0000644000175000001440000000556112370120721026472 0ustar dokousers// Test for method java.lang.UnknownError.getClass().getDeclaredField() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnknownError.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/isLocalClass.java0000644000175000001440000000312412366657207025713 0ustar dokousers// Test for method java.lang.UnknownError.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; /** * Test for method java.lang.UnknownError.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/getEnclosingConstructor.java0000644000175000001440000000326712370367233030226 0ustar dokousers// Test for method java.lang.UnknownError.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; /** * Test for method java.lang.UnknownError.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/getCanonicalName.java0000644000175000001440000000316412372106531026515 0ustar dokousers// Test for method java.lang.UnknownError.getClass().getSimpleName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; /** * Test for method java.lang.UnknownError.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.UnknownError"); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/getName.java0000644000175000001440000000312312370637124024705 0ustar dokousers// Test for method java.lang.UnknownError.getClass().getName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; /** * Test for method java.lang.UnknownError.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.UnknownError"); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/getClasses.java0000644000175000001440000000322112370367232025421 0ustar dokousers// Test for method java.lang.UnknownError.getClass().getClasses() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; /** * Test for method java.lang.UnknownError.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/UnknownError/classInfo/isArray.java0000644000175000001440000000307212367651432024746 0ustar dokousers// Test for method java.lang.UnknownError.getClass().isArray() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnknownError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnknownError; /** * Test for method java.lang.UnknownError.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnknownError final Object o = new UnknownError("UnknownError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/Process/0000755000175000001440000000000012375316426017513 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Process/destroy.java0000644000175000001440000000371511044047570022046 0ustar dokousers// Tags: JDK1.0 // Depends: destroy_child // Copyright (C) 2008 Christian Thalinger // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.Process; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class destroy implements Testlet { public void test(TestHarness harness) { try { Process p = Runtime.getRuntime().exec(harness.getTestJava() + " gnu.testlet.java.lang.Process.destroy_child"); BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream())); String line = in.readLine(); // Wait until the child process is up and running. if (line.equals("UP")) { harness.check(true); // Now destroy it. p.destroy(); } else harness.check(false); // Wait until the child Process is going down. try { p.waitFor(); harness.check(true); } catch (InterruptedException e) { harness.debug(e); harness.check(false); } } catch (IOException e) { harness.debug(e); harness.check(false); } } } mauve-20140821/gnu/testlet/java/lang/Process/destroy_child.java0000644000175000001440000000236611044047570023212 0ustar dokousers// Tags: not-a-test // Copyright (C) 2008 Christian Thalinger // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.Process; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class destroy_child { public static void main(String[] args) { try { // Tell the parent process we are up and running. System.out.println("UP"); // Don't exit. while (true) { Thread.sleep(1000); } } catch (InterruptedException e) { e.printStackTrace(); } } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/0000755000175000001440000000000012375316426022261 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/InterruptedException/constructor.java0000644000175000001440000000374312250312712025502 0ustar dokousers// Test if instances of a class java.lang.InterruptedException could be properly constructed // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; /** * Test if instances of a class java.lang.InterruptedException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { InterruptedException object1 = new InterruptedException(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.InterruptedException"); InterruptedException object2 = new InterruptedException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.InterruptedException: nothing happens"); InterruptedException object3 = new InterruptedException(null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.InterruptedException"); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/TryCatch.java0000644000175000001440000000332012250312712024625 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.InterruptedException // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; /** * Test if try-catch block is working properly for a class java.lang.InterruptedException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new InterruptedException("InterruptedException"); } catch (InterruptedException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/0000755000175000001440000000000012375316426024202 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/getDeclaredConstructor.java0000644000175000001440000000713512261524014031510 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InterruptedException.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.InterruptedException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.InterruptedException", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.InterruptedException", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.InterruptedException", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/getPackage.java0000644000175000001440000000325712261236147027102 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().getPackage() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; /** * Test for method java.lang.InterruptedException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/getDeclaredMethods.java0000644000175000001440000000621112261524014030560 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InterruptedException.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/getInterfaces.java0000644000175000001440000000331712250312712027616 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().getInterfaces() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.InterruptedException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/getModifiers.java0000644000175000001440000000451012250312712027450 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().getModifiers() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; import java.lang.reflect.Modifier; /** * Test for method java.lang.InterruptedException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/getDeclaredFields.java0000644000175000001440000000744112261524014030371 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().getDeclaredFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InterruptedException.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.InterruptedException.serialVersionUID", "serialVersionUID"); // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.InterruptedException.serialVersionUID", "serialVersionUID"); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/getDeclaredConstructors.java0000644000175000001440000001047412261524014031673 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InterruptedException.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.InterruptedException()", "java.lang.InterruptedException"); testedDeclaredConstructors_jdk6.put("public java.lang.InterruptedException(java.lang.String)", "java.lang.InterruptedException"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.InterruptedException()", "java.lang.InterruptedException"); testedDeclaredConstructors_jdk7.put("public java.lang.InterruptedException(java.lang.String)", "java.lang.InterruptedException"); // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/getField.java0000644000175000001440000000554412251566371026577 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().getField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InterruptedException.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/getFields.java0000644000175000001440000000570212261524014026743 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().getFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InterruptedException.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/isPrimitive.java0000644000175000001440000000321412251307154027340 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; /** * Test for method java.lang.InterruptedException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/getSimpleName.java0000644000175000001440000000324512261236147027576 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; /** * Test for method java.lang.InterruptedException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "InterruptedException"); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/getEnclosingClass.java0000644000175000001440000000330112252027360030437 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().getEnclosingClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; /** * Test for method java.lang.InterruptedException.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/isAnnotationPresent.java0000644000175000001440000000440212255011760031042 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; /** * Test for method java.lang.InterruptedException.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/isSynthetic.java0000644000175000001440000000321412251307154027342 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; /** * Test for method java.lang.InterruptedException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/isAnnotation.java0000644000175000001440000000321212255011760027477 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().isAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; /** * Test for method java.lang.InterruptedException.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/isInstance.java0000644000175000001440000000330112251307154027131 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().isInstance(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; /** * Test for method java.lang.InterruptedException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new InterruptedException("java.lang.InterruptedException"))); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/getDeclaredMethod.java0000644000175000001440000000615012252027360030401 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InterruptedException.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/getDeclaredClasses.java0000644000175000001440000000335512252312047030561 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; /** * Test for method java.lang.InterruptedException.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/getComponentType.java0000644000175000001440000000327512252545310030346 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().getComponentType() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; /** * Test for method java.lang.InterruptedException.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/getMethod.java0000644000175000001440000001432012261524014026751 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().getMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InterruptedException.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/isMemberClass.java0000644000175000001440000000322412251307154027566 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; /** * Test for method java.lang.InterruptedException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/getConstructor.java0000644000175000001440000000707512261524014030067 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().getConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InterruptedException.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.InterruptedException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.InterruptedException", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.InterruptedException", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.InterruptedException", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/getSuperclass.java0000644000175000001440000000332512261236150027661 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().getSuperclass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; /** * Test for method java.lang.InterruptedException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.Exception"); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/isEnum.java0000644000175000001440000000316212255011760026275 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().isEnum() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; /** * Test for method java.lang.InterruptedException.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/getMethods.java0000644000175000001440000001770212251566371027156 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().getMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InterruptedException.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/getAnnotations.java0000644000175000001440000000575512252545310030044 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().getAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.InterruptedException.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/InstanceOf.java0000644000175000001440000000363512250312712027067 0ustar dokousers// Test for instanceof operator applied to a class java.lang.InterruptedException // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.InterruptedException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InterruptedException InterruptedException o = new InterruptedException("java.lang.InterruptedException"); // basic check of instanceof operator harness.check(o instanceof InterruptedException); // check operator instanceof against all superclasses harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/getDeclaringClass.java0000644000175000001440000000330112252027360030406 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().getDeclaringClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; /** * Test for method java.lang.InterruptedException.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/getAnnotation.java0000644000175000001440000000506412252545310027652 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().getAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; /** * Test for method java.lang.InterruptedException.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/isAnonymousClass.java0000644000175000001440000000323212255011760030345 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().isAnonymousClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; /** * Test for method java.lang.InterruptedException.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/getEnclosingMethod.java0000644000175000001440000000332112252312047030613 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; /** * Test for method java.lang.InterruptedException.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/isInterface.java0000644000175000001440000000321412251307154027270 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().isInterface(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; /** * Test for method java.lang.InterruptedException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/getConstructors.java0000644000175000001440000001012712251566370030254 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().getConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InterruptedException.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.InterruptedException()", "java.lang.InterruptedException"); testedConstructors_jdk6.put("public java.lang.InterruptedException(java.lang.String)", "java.lang.InterruptedException"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.InterruptedException()", "java.lang.InterruptedException"); testedConstructors_jdk7.put("public java.lang.InterruptedException(java.lang.String)", "java.lang.InterruptedException"); // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/isAssignableFrom.java0000644000175000001440000000327012251307154030266 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; /** * Test for method java.lang.InterruptedException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(InterruptedException.class)); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/getDeclaredAnnotations.java0000644000175000001440000000601512252312047031455 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.InterruptedException.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/getDeclaredField.java0000644000175000001440000000565512261524014030213 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().getDeclaredField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.InterruptedException.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/isLocalClass.java0000644000175000001440000000322012251307154027405 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; /** * Test for method java.lang.InterruptedException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/getEnclosingConstructor.java0000644000175000001440000000336312252312047031726 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; /** * Test for method java.lang.InterruptedException.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/getCanonicalName.java0000644000175000001440000000327012252545310030225 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; /** * Test for method java.lang.InterruptedException.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.InterruptedException"); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/getName.java0000644000175000001440000000322712250312712026413 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().getName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; /** * Test for method java.lang.InterruptedException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.InterruptedException"); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/getClasses.java0000644000175000001440000000331512252545310027132 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().getClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; /** * Test for method java.lang.InterruptedException.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/InterruptedException/classInfo/isArray.java0000644000175000001440000000316612255011760026453 0ustar dokousers// Test for method java.lang.InterruptedException.getClass().isArray() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.InterruptedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.InterruptedException; /** * Test for method java.lang.InterruptedException.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class InterruptedException final Object o = new InterruptedException("java.lang.InterruptedException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/String/0000755000175000001440000000000012375316450017340 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/String/to.java0000644000175000001440000000216406634200743020626 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.String; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class to implements Testlet { public void test (TestHarness harness) { String b = new String(" abc\tABC 123\t"); harness.check (b.toLowerCase(), " abc abc 123 "); harness.check (b.toUpperCase(), " ABC ABC 123 "); } } mauve-20140821/gnu/testlet/java/lang/String/equals.java0000644000175000001440000000264007521600526021474 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 2002 Free Software, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.String; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Triggers old equals bug in Classpath when two Strings are different * substrings of the same length of the same bigger String. */ public class equals implements Testlet { public void test (TestHarness harness) { String s1 = "Hello World"; String s2 = s1.substring(0,4); String s3 = s1.substring(6,10); harness.check(! s1.equals(s2)); harness.check(! s2.equals(s1)); harness.check(! s1.equals(s3)); harness.check(! s3.equals(s1)); harness.check(! s2.equals(s3)); harness.check(! s3.equals(s2)); } } mauve-20140821/gnu/testlet/java/lang/String/PR35482.java0000644000175000001440000000204611013114536021121 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 2008 Andrew John Hughes (gnu_andrew@member.fsf.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.String; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class PR35482 { public void test(TestHarness harness) { harness.check("mbeanDescriptor".toLowerCase(), "mbeandescriptor"); } } mauve-20140821/gnu/testlet/java/lang/String/substring.java0000644000175000001440000000340106634200742022216 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.String; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class substring implements Testlet { public void test (TestHarness harness) { String b = new String(" abc\tABC 123\t"); harness.check (b.substring(4), " ABC 123 "); harness.check (b.substring(4, b.length() - 5), " ABC"); boolean ok; ok = false; try { b.substring(-1); } catch (StringIndexOutOfBoundsException ex) { ok = true; } harness.check (ok); ok = true; try { b.substring(b.length()); } catch (StringIndexOutOfBoundsException ex) { ok = false; } harness.check (ok); ok = false; try { b.substring(4, -1); } catch (StringIndexOutOfBoundsException ex) { ok = true; } harness.check (ok); ok = false; try { b.substring(4, b.length() + 1); } catch (StringIndexOutOfBoundsException ex) { ok = true; } harness.check (ok); } } mauve-20140821/gnu/testlet/java/lang/String/getBytes13.java0000644000175000001440000000604110356577214022142 0ustar dokousers// Tags: JDK1.3 // Copyright (C) 2003, 2006 Free Software Foundation, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.String; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.UnsupportedEncodingException; public class getBytes13 implements Testlet { protected static final byte[] ABC1 = new byte[] {97, 98, 99}; protected static final byte[] ABC2 = new byte[] {-2, -1, 0, 97, 0, 98, 0, 99}; protected static final byte[] ABC3 = new byte[] { 0, 97, 0, 98, 0, 99}; protected static final byte[] ABC4 = new byte[] {-1, -2, 97, 0, 98, 0, 99, 0}; protected static final byte[] ABC5 = new byte[] {97, 0, 98, 0, 99, 0}; public void test (TestHarness harness) { harness.checkPoint("getBytes13"); test1Encoding (harness, "ASCII", "abc", ABC1); test1Encoding (harness, "Cp1252", "abc", ABC1); test1Encoding (harness, "ISO8859_1", "abc", ABC1); test1Encoding (harness, "UTF8", "abc", ABC1); test1Encoding (harness, "UTF-16", "abc", ABC2); test1Encoding (harness, "UnicodeBig", "abc", ABC2); test1Encoding (harness, "UnicodeBigUnmarked", "abc", ABC3); test1Encoding (harness, "UnicodeLittle", "abc", ABC4); test1Encoding (harness, "UnicodeLittleUnmarked", "abc", ABC5); } protected void test1Encoding (TestHarness h, String encoding, String s, byte[] ba) { String signature = "String.getBytes(\""+encoding+"\")"; try { byte[] theBytes = s.getBytes(encoding); boolean result = areEqual(theBytes, ba); h.check (result, signature); if (! result) { dumpArray(h, "Got : ", theBytes); dumpArray(h, "Expected: ", ba); } } catch (UnsupportedEncodingException x) { h.debug (x); h.fail (signature); } } static void dumpArray(TestHarness h, String prefix, byte[] a) { StringBuffer result = new StringBuffer(prefix); for (int i = 0; i < a.length; ++i) { if (i > 0) result.append(' '); result.append(a[i]); } h.debug(result.toString()); } static boolean areEqual (byte[] a, byte[] b) { if (a == null || b == null) return false; if (a.length != b.length) return false; for (int i = 0; i < a.length; i++) if (a[i] != b[i]) return false; return true; } } mauve-20140821/gnu/testlet/java/lang/String/new_String.java0000644000175000001440000000267606634200737022336 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.String; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class new_String implements Testlet { public void test (TestHarness harness) { char[] cstr = { 'a', 'b', 'c', '\t', 'A', 'B', 'C', ' ', '1', '2', '3' }; String a = new String(); String b = new String(" abc\tABC 123\t"); String c = new String(new StringBuffer("abc\tABC 123")); String d = new String(cstr); String e = new String(cstr, 3, 3); harness.check (a, ""); harness.check (b, " abc ABC 123 "); harness.check (c, "abc ABC 123"); harness.check (d, "abc ABC 123"); harness.check (e, " AB"); } } mauve-20140821/gnu/testlet/java/lang/String/startsWith.java0000644000175000001440000000276406634200741022364 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.String; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class startsWith implements Testlet { public void test (TestHarness harness) { char[] cstr = { 'a', 'b', 'c', '\t', 'A', 'B', 'C', ' ', '1', '2', '3' }; String b = new String(" abc\tABC 123\t"); String d = new String(cstr); harness.check (! b.endsWith("123")); harness.check (d.endsWith("123")); harness.check (! b.startsWith("abc")); harness.check (d.startsWith("abc")); harness.check (b.startsWith("abc", 1)); harness.check (! b.startsWith("abc", 2)); harness.check (! b.startsWith("abc", -1)); harness.check (! b.startsWith("abc", b.length())); } } mauve-20140821/gnu/testlet/java/lang/String/indexOf.java0000644000175000001440000000421307434156154021602 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998, 1999 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.String; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class indexOf implements Testlet { public void test (TestHarness harness) { char[] cstr = { 'a', 'b', 'c', '\t', 'A', 'B', 'C', ' ', '1', '2', '3' }; String b = new String(" abc\tABC 123\t"); String d = new String(cstr); harness.check (b.indexOf(' '), 0); harness.check (b.indexOf(' ', 1), 8); harness.check (b.indexOf(' ', 10), -1); harness.check (b.indexOf(' ', -1), 0); harness.check (b.indexOf(' ', b.length()), -1); harness.check (b.indexOf("abc"), 1); harness.check (b.indexOf("abc", 1), 1); harness.check (b.indexOf("abc", 10), -1); harness.check ("".indexOf(""), 0); harness.check (b.indexOf(""), 0); harness.check ("".indexOf(b), -1); harness.check (b.lastIndexOf(' '), 8); harness.check (b.lastIndexOf(' ', 1), 0); harness.check (b.lastIndexOf(' ', 10), 8); harness.check (b.lastIndexOf(' ', -1), -1); harness.check (b.lastIndexOf(' ', b.length()), 8); harness.check (b.lastIndexOf("abc"), 1); harness.check (b.lastIndexOf("abc", 1), 1); harness.check (b.lastIndexOf("abc", 10), 1); harness.check ("".lastIndexOf(""), 0); harness.check (b.lastIndexOf(""), b.length()); harness.check ("".lastIndexOf(b), -1); } } mauve-20140821/gnu/testlet/java/lang/String/CASE_INSENSITIVE_ORDER.java0000644000175000001440000000622307544433311023532 0ustar dokousers/* Copyright (C) 2001, 2002 Eric Blake * * This file is part of Mauve. * * Mauve 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 version 2, or (at your option) * any later version. * * Mauve 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 Public License for more details. * * You should have received a copy of the GNU General Public License * along with Mauve; see the file COPYING. If not, write to * the Free Software Foundation, 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ // Tags: JDK1.2 package gnu.testlet.java.lang.String; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Comparator; import java.util.Locale; import java.io.Serializable; /** * This class tests compliance of the CASE_INSENSITIVE_ORDER field * of String, added in JDK 1.2. * * @author Eric Blake */ public class CASE_INSENSITIVE_ORDER implements Testlet { public void test(TestHarness harness) { Comparator c = String.CASE_INSENSITIVE_ORDER; harness.check(c instanceof Serializable); harness.check(c.compare("abc", "abc"), 0); harness.check(c.compare("ABC", "ABC"), 0); harness.check(c.compare("aBc", "AbC"), 0); harness.check(c.compare("", "a") < 0); harness.check(c.compare("a", "") > 0); harness.check(c.compare("a", "b") < 0); harness.check(c.compare("a", "B") < 0); harness.check(c.compare("A", "b") < 0); harness.check(c.compare("A", "B") < 0); harness.check(c.compare("b", "a") > 0); harness.check(c.compare("b", "A") > 0); harness.check(c.compare("B", "a") > 0); harness.check(c.compare("B", "A") > 0); harness.checkPoint("unicode mappings"); // the API (as corrected in 1.4.1) specifies using // Character.toUpperCase(), and not String.toUpperCase(), so 1:m case // mappings are not performed (such as sharp-s to SS). harness.check(c.compare("\u00df", "sS") != 0); // Likewise, comparisons are locale independent, which affects things // like Turkish 'i' and 'I'. Locale l = Locale.getDefault(); Locale.setDefault(new Locale("tr", "")); harness.check(c.compare("\u0131I", "i\u0130"), 0); Locale.setDefault(l); harness.check(c.compare("\u0131I", "i\u0130"), 0); harness.checkPoint("bad input"); try { c.compare(null, ""); harness.fail("expected NullPointerException"); } catch (NullPointerException e) { harness.check(true); } try { c.compare("", null); harness.fail("expected NullPointerException"); } catch (NullPointerException e) { harness.check(true); } try { c.compare(this, ""); harness.fail("expected ClassCastException"); } catch (ClassCastException e) { harness.check(true); } try { c.compare("", this); harness.fail("expected ClassCastException"); } catch (ClassCastException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/lang/String/charAt.java0000644000175000001440000000251006634200732021377 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.String; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class charAt implements Testlet { public void test (TestHarness harness) { String b = new String(" abc\tABC 123\t"); boolean ok; ok = false; try { b.charAt(b.length()); } catch (StringIndexOutOfBoundsException ex) { ok = true; } harness.check (ok); ok = false; try { b.charAt(-1); } catch (StringIndexOutOfBoundsException ex) { ok = true; } harness.check (ok); } } mauve-20140821/gnu/testlet/java/lang/String/ConsCharset.java0000644000175000001440000000427211137436545022427 0ustar dokousers// Tags: JDK1.6 // Copyright (C) 2009 Red Hat, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.String; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.nio.charset.Charset; import java.nio.charset.UnsupportedCharsetException; public class ConsCharset implements Testlet { public void test (TestHarness h) { try { byte[] cp437Bytes = asByteArray(new int[] { 224, 226, 227, 228, 156 }); checkString(h, new String(cp437Bytes, Charset.forName("CP437")), "\u03b1\u0393\u03c0\u03a3\u00a3"); } catch (UnsupportedCharsetException e) { // Skip tests as CP437 is not required by the spec. } byte[] utf8Bytes = asByteArray(new int[] { 0xC3,0x9F,0xE2,0x85,0x93,0xE2,0x82,0xAF,0xF0,0x90,0x85,0x80 }); checkString(h, new String(utf8Bytes, Charset.forName("UTF8")), "\u00DF\u2153\u20AF\uD800\uDD40"); byte[] isoBytes = asByteArray(new int[] {0x48,0x65,0x6C,0x6C,0x6F,0x20,0x57,0x6F,0x72,0x6C,0x64,0x21}); checkString(h, new String(isoBytes, Charset.forName("ISO-8859-1")), "Hello World!"); } private void checkString(TestHarness h, String result, String expected) { for (int a = 0; a < result.length(); ++a) { h.check(result.charAt(a), expected.charAt(a)); } h.check(result, expected); } private byte[] asByteArray(int[] ints) { byte[] bytes = new byte[ints.length]; for (int a = 0; a < ints.length; ++a) bytes[a] = Integer.valueOf(ints[a]).byteValue(); return bytes; } } mauve-20140821/gnu/testlet/java/lang/String/compareTo.java0000644000175000001440000000343606634200733022137 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.String; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class compareTo implements Testlet { public void test (TestHarness harness) { char[] cstr = { 'a', 'b', 'c', '\t', 'A', 'B', 'C', ' ', '1', '2', '3' }; String a = new String(); String b = new String(" abc\tABC 123\t"); String d = new String(cstr); String e = new String(cstr, 3, 3); harness.check (d.compareTo(b.trim()), 0); harness.check (d.compareTo(a), 11); harness.check (d.compareTo(b), 65); harness.check (d.compareTo(e), 88); harness.check (d.toLowerCase().compareTo(d), 32); harness.check (d.compareTo(d.substring(0, d.length() - 2)), 2); harness.check (a.compareTo(d), -11); harness.check (b.compareTo(d), -65); harness.check (e.compareTo(d), -88); harness.check (d.compareTo(d.toLowerCase()), -32); harness.check (d.substring(0, d.length() - 2).compareTo(d), -2); harness.check (b.charAt(7), 'C'); } } mauve-20140821/gnu/testlet/java/lang/String/classInfo/0000755000175000001440000000000012375316426021264 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/String/classInfo/getPackage.java0000644000175000001440000000303711755172425024165 0ustar dokousers// Test for method java.lang.String.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.String.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.String; /** * Test for method java.lang.String.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new String("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/String/classInfo/getInterfaces.java0000644000175000001440000000343211755172425024714 0ustar dokousers// Test for method java.lang.String.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.String.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.Serializable; import java.lang.String; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.String.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new String("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); harness.check(interfaces.contains(Serializable.class)); harness.check(interfaces.contains(Comparable.class)); harness.check(interfaces.contains(CharSequence.class)); } } mauve-20140821/gnu/testlet/java/lang/String/classInfo/getModifiers.java0000644000175000001440000000427011755172425024553 0ustar dokousers// Test for method java.lang.String.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.String.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.String; import java.lang.reflect.Modifier; /** * Test for method java.lang.String.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new String("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check( Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/String/classInfo/isPrimitive.java0000644000175000001440000000277411755172425024445 0ustar dokousers// Test for method java.lang.String.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.String.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.String; /** * Test for method java.lang.String.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new String("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/String/classInfo/getSimpleName.java0000644000175000001440000000300711755172425024661 0ustar dokousers// Test for method java.lang.String.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.String.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.String; /** * Test for method java.lang.String.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new String("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "String"); } } mauve-20140821/gnu/testlet/java/lang/String/classInfo/isSynthetic.java0000644000175000001440000000277411755172425024447 0ustar dokousers// Test for method java.lang.String.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.String.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.String; /** * Test for method java.lang.String.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new String("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/String/classInfo/isInstance.java0000644000175000001440000000301211755172425024223 0ustar dokousers// Test for method java.lang.String.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.String.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.String; /** * Test for method java.lang.String.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new String("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new String("xyzzy"))); } } mauve-20140821/gnu/testlet/java/lang/String/classInfo/isMemberClass.java0000644000175000001440000000300411755172425024655 0ustar dokousers// Test for method java.lang.String.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.String.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.String; /** * Test for method java.lang.String.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new String("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/String/classInfo/getSuperclass.java0000644000175000001440000000310211755172425024747 0ustar dokousers// Test for method java.lang.String.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.String.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.String; /** * Test for method java.lang.String.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new String("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.Object"); } } mauve-20140821/gnu/testlet/java/lang/String/classInfo/InstanceOf.java0000644000175000001440000000314711755172425024165 0ustar dokousers// Test for instanceof operator applied to a class java.lang.String // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.String.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.String; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.String */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class String String o = new String("xyzzy"); // basic check of instanceof operator harness.check(o instanceof String); // check operator instanceof against all superclasses harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/String/classInfo/isInterface.java0000644000175000001440000000277411755172425024375 0ustar dokousers// Test for method java.lang.String.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.String.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.String; /** * Test for method java.lang.String.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new String("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/String/classInfo/isAssignableFrom.java0000644000175000001440000000303211755172425025355 0ustar dokousers// Test for method java.lang.String.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.String.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.String; /** * Test for method java.lang.String.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new String("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(String.class)); } } mauve-20140821/gnu/testlet/java/lang/String/classInfo/isLocalClass.java0000644000175000001440000000300011755172425024474 0ustar dokousers// Test for method java.lang.String.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.String.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.String; /** * Test for method java.lang.String.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new String("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/String/classInfo/getName.java0000644000175000001440000000277111755172425023516 0ustar dokousers// Test for method java.lang.String.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.String.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.String; /** * Test for method java.lang.String.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new String("xyzzy"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.lang.String"); } } mauve-20140821/gnu/testlet/java/lang/String/decode.java0000644000175000001440000001041410333746102021417 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.String; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.UnsupportedEncodingException; public class decode implements Testlet { public void test (TestHarness harness) { char[] cstr = { 'a', 'b', 'c', '\t', 'A', 'B', 'C', ' ', '1', '2', '3' }; byte[] bstr = new byte [cstr.length]; for (int i = 0; i < cstr.length; ++i) bstr[i] = (byte) cstr[i]; String a = new String(bstr); String a_utf8 = ""; String b = new String(bstr, 3, 3); String b_utf8 = ""; String c = ""; String d = ""; try { a_utf8 = new String(bstr, "UTF-8"); } catch (UnsupportedEncodingException ex) { } try { b_utf8 = new String(bstr, 3, 3, "UTF-8"); } catch (UnsupportedEncodingException ex) { } try { c = new String(bstr, "8859_1"); } catch (UnsupportedEncodingException ex) { } try { d = new String(bstr, 3, 3, "8859_1"); } catch (UnsupportedEncodingException ex) { } harness.check (a, "abc ABC 123"); harness.check (a_utf8, "abc ABC 123"); harness.check (b, " AB"); harness.check (b_utf8, " AB"); harness.check (c, "abc ABC 123"); harness.check (d, " AB"); boolean ok = false; try { c = new String(bstr, "foobar8859_1"); } catch (UnsupportedEncodingException ex) { ok = true; } harness.check (ok); ok = false; try { d = new String(bstr, 3, 3, "foobar8859_1"); } catch (UnsupportedEncodingException ex) { ok = true; } harness.check (ok); harness.check (String.copyValueOf(cstr), "abc ABC 123"); harness.check (String.copyValueOf(cstr, 3, 3), " AB"); byte[] leWithBOM = new byte[] {(byte)0xFF, (byte)0xFE, (byte)'a', (byte)0x00}; byte[] leWithoutBOM = new byte[] {(byte)'a', (byte)0x00}; byte[] beWithBOM = new byte[] {(byte)0xFE, (byte)0xFF, (byte)0x00, (byte)'a'}; byte[] beWithoutBOM = new byte[] {(byte)0x00, (byte)'a'}; // UTF-16: Big endian assumed without BOM harness.check(decodeTest(leWithBOM, "UTF-16", "a")); harness.check(!decodeTest(leWithoutBOM, "UTF-16", "a")); harness.check(decodeTest(beWithBOM, "UTF-16", "a")); harness.check(decodeTest(beWithoutBOM, "UTF-16", "a")); // UTF-16LE: BOM should not be used harness.check(!decodeTest(leWithBOM, "UTF-16LE", "a")); harness.check(decodeTest(leWithoutBOM, "UTF-16LE", "a")); harness.check(!decodeTest(beWithBOM, "UTF-16LE", "a")); harness.check(!decodeTest(beWithoutBOM, "UTF-16LE", "a")); // UTF-16BE: BOM should not be used harness.check(!decodeTest(leWithBOM, "UTF-16BE", "a")); harness.check(!decodeTest(leWithoutBOM, "UTF-16BE", "a")); harness.check(!decodeTest(beWithBOM, "UTF-16BE", "a")); harness.check(decodeTest(beWithoutBOM, "UTF-16BE", "a")); // UnicodeLittle: Little endian assumed without BOM harness.check(decodeTest(leWithBOM, "UnicodeLittle", "a")); harness.check(decodeTest(leWithoutBOM, "UnicodeLittle", "a")); harness.check(!decodeTest(beWithBOM, "UnicodeLittle", "a")); harness.check(!decodeTest(beWithoutBOM, "UnicodeLittle", "a")); } public boolean decodeTest (byte[] bytes, String encoding, String expected) { try { String s = new String(bytes, encoding); return s.equals(expected); } catch (UnsupportedEncodingException ex) { return false; } } } mauve-20140821/gnu/testlet/java/lang/String/getBytes14.java0000644000175000001440000000304607623676047022154 0ustar dokousers// Tags: JDK1.4 // Uses: getBytes13 // Copyright (C) 2003 Free Software Foundation, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.String; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class getBytes14 extends getBytes13 implements Testlet { public void test (TestHarness harness) { harness.checkPoint("getBytes14"); // New canonical names in 1.4 test1Encoding (harness, "US-ASCII", "abc", ABC1); test1Encoding (harness, "windows-1252", "abc", ABC1); test1Encoding (harness, "ISO-8859-1", "abc", ABC1); test1Encoding (harness, "ISO-8859-15", "abc", ABC1); test1Encoding (harness, "ISO8859_15", "abc", ABC1); test1Encoding (harness, "UTF-8", "abc", ABC1); test1Encoding (harness, "UTF-16BE", "abc", ABC3); test1Encoding (harness, "UTF-16LE", "abc", ABC5); } } mauve-20140821/gnu/testlet/java/lang/String/hash.java0000644000175000001440000000262706634200735021134 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.String; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class hash implements Testlet { public void test (TestHarness harness) { char[] cstr = { 'a', 'b', 'c', '\t', 'A', 'B', 'C', ' ', '1', '2', '3' }; String a = new String(); String b = new String(" abc\tABC 123\t"); String c = new String(new StringBuffer("abc\tABC 123")); /* These results are for JDK 1.2; the hashCode algorithm changed from JDK 1.1. */ harness.check (a.hashCode(), 0); harness.check (b.hashCode(), -524164548); harness.check (c.hashCode(), -822419571); } } mauve-20140821/gnu/testlet/java/lang/String/StringTest.java0000644000175000001440000006145210367245762022327 0ustar dokousers/* Copyright (C) 1999 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.0 package gnu.testlet.java.lang.String; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class StringTest implements Testlet { protected static TestHarness harness; public void test_Basics() { String str1 = new String(); harness.check(!( str1.length() != 0 ), "test_Basics - 1"); harness.check(!( !str1.toString().equals("")), "test_Basics - 2"); String str2 = new String("testing" ); harness.check(!( str2.length() != 7 ), "test_Basics - 3"); harness.check(!( !str2.toString().equals("testing")), "test_Basics - 4"); try { String str = null; String str3 = new String(str); harness.fail("test_Basics - 5"); } catch ( NullPointerException e ){} String str4 = new String( new StringBuffer("hi there")); harness.check(!( str4.length () != 8 ), "test_Basics - 6"); harness.check(!( !str4.toString().equals("hi there")), "test_Basics - 7"); char cdata[] = { 'h' , 'e' , 'l' , 'l' , 'o' }; String str5 = new String( cdata ); harness.check(!( str5.length () != 5 ), "test_Basics - 8"); harness.check(!( !str5.toString().equals("hello")), "test_Basics - 9"); try { String str6 = new String( cdata , 0 , 10 ); harness.fail("test_Basics - 10"); }catch ( IndexOutOfBoundsException e ) {} try { byte [] barr = null; String str7 = new String( barr , 0 , 10 ); harness.fail("test_Basics - 11"); }catch ( NullPointerException e ) {} String str8 = new String( cdata , 0 , 4 ); harness.check(!( !str8.equals("hell")), "test_Basics - 12"); try { String str10 = new String( null , 10 ); harness.fail("test_Basics - 13"); }catch ( NullPointerException e ) {} byte bdata[] = { (byte)'d',(byte)'a',(byte)'n',(byte)'c',(byte)'i',(byte)'n',(byte)'g' }; String str9 = new String(bdata , 10 ); char ch = str9.charAt(1); int i = (ch & 0xff00 ) >> 8 ; byte b = (byte)(ch & 0x00ff ); harness.check(!( i != 10 || b != 'a' ), "test_Basics - 14"); byte bnull [] = null; try { String str11 = new String( bnull , 10 , 0 , 5); harness.fail("test_Basics - 15"); }catch ( NullPointerException e ){} try { String str12 = new String( bdata , 10 , -1 , 3); harness.fail("test_Basics - 16"); }catch ( IndexOutOfBoundsException e ){} String str13 = new String( bdata , 10 , 1 , 1 ); i = (ch & 0xff00 ) >> 8 ; b = (byte)(ch & 0x00ff ); harness.check(!( i != 10 || b != 'a' ), "test_Basics - 17"); String str14 = new String( bdata); harness.check(!( !str14.equals("dancing")), "test_Basics - 18"); // EJWcr00461 byte arr[]={(byte)'a'}; String str15 = new String(arr,0x1234,0,1); if (!str15.equals("\u3461")) { harness.fail("test_Basics - 19"); } // EJWcr00462 char carr[] = {'h','e','l','l','o'}; try { String str16 = new String(carr, Integer.MAX_VALUE, 1); harness.fail("test_Basics - 20"); } catch (IndexOutOfBoundsException e) { } byte arr2[]={(byte)'a', (byte)'b', (byte)'c', (byte)'d', (byte)'e'}; try { String str17 = new String(arr2,0x1234,Integer.MAX_VALUE,1); harness.fail("test_Basics - 21"); } catch (IndexOutOfBoundsException e) { } // this used to cause the vm to core dump (cr543) String s = "\u0d3e"; } public void test_toString() { String str1 = "218943289"; harness.check(!( !str1.toString().equals("218943289")), "test_toString - 1"); harness.check(!( str1 != "218943289" ), "test_toString - 2"); harness.check(!( !str1.equals(str1.toString())), "test_toString - 3"); } public void test_equals() { String str2 = new String("Nectar"); harness.check(!( str2.equals( null )), "test_equals - 1"); harness.check(!( !str2.equals("Nectar")), "test_equals - 2"); harness.check(!( str2.equals("")), "test_equals - 3"); harness.check(!( str2.equals("nectar")), "test_equals - 4"); harness.check(!( !"".equals("")), "test_equals - 5"); } public void test_hashCode() { String str1 = "hp"; String str2 = "Hewlett Packard Company"; int hash1 = 'h' * 31 + 'p'; int acthash1 = str1.hashCode(); harness.check(!( hash1 != acthash1 ), "test_hashCode - 1"); } public void test_length() { harness.check(!( "".length() != 0 ), "test_length - 1"); harness.check(!( "pentium".length() != 7 ), "test_length - 2"); } public void test_charAt() { harness.check(!( "abcd".charAt(0) != 'a' || "abcd".charAt(1) != 'b' || "abcd".charAt(2) != 'c' || "abcd".charAt(3) != 'd' ), "test_charAt - 1"); try { char ch = "abcd".charAt(4); harness.fail("test_charAt - 2"); } catch ( IndexOutOfBoundsException e ){} try { char ch = "abcd".charAt(-1); harness.fail("test_charAt - 3"); } catch ( IndexOutOfBoundsException e ){} } public void test_getChars() { String str = "abcdefghijklmn"; try { str.getChars(0 , 3 , null , 1 ); harness.fail("test_getChars - 1"); }catch ( NullPointerException e ){} char dst[] = new char[5]; try { str.getChars(-1 , 3 , dst , 1 ); harness.fail("test_getChars - 2"); }catch ( IndexOutOfBoundsException e ){} try { str.getChars(4 , 3 , dst , 1 ); harness.fail("test_getChars - 3"); }catch ( IndexOutOfBoundsException e ){} try { str.getChars(1 , 15 , dst , 1 ); harness.fail("test_getChars - 4"); }catch ( IndexOutOfBoundsException e ){} try { str.getChars(1 , 5 , dst , -1 ); harness.fail("test_getChars - 5"); }catch ( IndexOutOfBoundsException e ){} try { str.getChars(1 , 10 , dst , 1 ); harness.fail("test_getChars - 6"); }catch ( IndexOutOfBoundsException e ){} str.getChars(0,5,dst, 0 ); harness.check(!( dst[0] != 'a' || dst[1] != 'b' || dst[2] != 'c' || dst[3] != 'd' || dst[4] != 'e' ), "test_getChars - 7"); dst[0] = dst[1] = dst[2] = dst[3] = dst[4] = ' '; str.getChars(0,0,dst, 0 ); harness.check(!( dst[0] != ' ' || dst[1] != ' ' || dst[2] != ' ' || dst[3] != ' ' || dst[4] != ' ' ), "test_getChars - 9"); dst[0] = dst[1] = dst[2] = dst[3] = dst[4] = ' '; str.getChars(0,1,dst, 0 ); harness.check(!( dst[0] != 'a' || dst[1] != ' ' || dst[2] != ' ' || dst[3] != ' ' || dst[4] != ' ' ), "test_getChars - 10"); } public void test_getBytes() { String str = "abcdefghijklmn"; try { str.getBytes(0 , 3 , null , 1 ); harness.fail("test_getBytes - 1"); }catch ( NullPointerException e ){} byte dst[] = new byte[5]; try { str.getBytes(-1 , 3 , dst , 1 ); harness.fail("test_getBytes - 2"); }catch ( IndexOutOfBoundsException e ){} try { str.getBytes(4 , 3 , dst , 1 ); harness.fail("test_getBytes - 3"); }catch ( IndexOutOfBoundsException e ){} try { str.getBytes(1 , 15 , dst , 1 ); harness.fail("test_getBytes - 4"); }catch ( IndexOutOfBoundsException e ){} try { str.getBytes(1 , 5 , dst , -1 ); harness.fail("test_getBytes - 5"); }catch ( IndexOutOfBoundsException e ){} try { str.getBytes(1 , 10 , dst , 1 ); harness.fail("test_getBytes - 6"); }catch ( IndexOutOfBoundsException e ){} str.getBytes(0,5,dst, 0 ); harness.check(!( dst[0] != 'a' || dst[1] != 'b' || dst[2] != 'c' || dst[3] != 'd' || dst[4] != 'e' ), "test_getBytes - 7"); byte [] dst1 = new byte[40]; dst1 = str.getBytes(); harness.check(!( dst1[0] != 'a' || dst1[1] != 'b' || dst1[2] != 'c' || dst1[3] != 'd' || dst1[4] != 'e' ), "test_getBytes - 8"); } public void test_toCharArray() { char[] charr = "abcde".toCharArray(); harness.check(!( charr[0] != 'a' || charr[1] != 'b' || charr[2] != 'c' || charr[3] != 'd' || charr[4] != 'e' ), "test_toCharArray - 1"); char [] charr1 = "".toCharArray(); harness.check(!( charr1.length > 0 ), "test_toCharArray - 2"); } public void test_equalsIgnoreCase() { harness.check(!( "hi".equalsIgnoreCase(null)), "test_equalsIgnoreCase - 1"); harness.check(!( !"hi".equalsIgnoreCase("HI")), "test_equalsIgnoreCase - 2"); harness.check(!( "hi".equalsIgnoreCase("pq")), "test_equalsIgnoreCase - 3"); harness.check(!( "hi".equalsIgnoreCase("HI ")), "test_equalsIgnoreCase - 4"); } public void test_compareTo() { try { int res = "abc".compareTo(null); harness.fail("test_compareTo - 1"); } catch ( NullPointerException e ){} harness.check(!( "abc".compareTo("bcdef") >= 0 ), "test_compareTo - 2"); harness.check(!( "abc".compareTo("abc") != 0 ), "test_compareTo - 3"); harness.check(!( "abc".compareTo("aabc") <= 0 ), "test_compareTo - 4"); harness.check(!( "abcd".compareTo("abc") <= 0 ), "test_compareTo - 5"); harness.check(!( "".compareTo("abc") >= 0 ), "test_compareTo - 6"); } public void test_regionMatches() { try { boolean res = "abc".regionMatches(0 , null , 0 , 2); harness.fail("test_regionMatches - 1"); } catch ( NullPointerException e ){} harness.check(!( "abcd".regionMatches(-1 , "abcd" , 0 , 2 )), "test_regionMatches - 2"); harness.check(!( "abcd".regionMatches(0 , "abcd" , - 1 , 2 )), "test_regionMatches - 3"); harness.check(!( "abcd".regionMatches(0 , "abcd" , 0 , 10 )), "test_regionMatches - 4"); harness.check(!( "abcd".regionMatches(0 , "ab" , 0 , 3 )), "test_regionMatches - 5"); harness.check(!( !"abcd".regionMatches(1 , "abc" , 1 , 2 )), "test_regionMatches - 6"); harness.check(!( !"abcd".regionMatches(1 , "abc" , 1 , 0 )), "test_regionMatches - 7"); harness.check(!( "abcd".regionMatches(1 , "ABC" , 1 , 2 )), "test_regionMatches - 8"); try { boolean res = "abc".regionMatches(true , 0 , null , 0 , 2); harness.fail("test_regionMatches - 11"); } catch ( NullPointerException e ){} harness.check(!( "abcd".regionMatches(true , -1 , "abcd" , 0 , 2 )), "test_regionMatches - 12"); harness.check(!( "abcd".regionMatches(true , 0 , "abcd" , - 1 , 2 )), "test_regionMatches - 13"); harness.check(!( "abcd".regionMatches(true , 0 , "abcd" , 0 , 10 )), "test_regionMatches - 14"); harness.check(!( "abcd".regionMatches(true , 0 , "ab" , 0 , 3 )), "test_regionMatches - 15"); harness.check(!( !"abcd".regionMatches(true , 1 , "abc" , 1 , 2 )), "test_regionMatches - 16"); harness.check(!( !"abcd".regionMatches(true , 1 , "abc" , 1 , 0 )), "test_regionMatches - 17"); harness.check(!( !"abcd".regionMatches(true , 1 , "ABC" , 1 , 2 )), "test_regionMatches - 18"); harness.check(!( "abcd".regionMatches(false , 1 , "ABC" , 1 , 2 )), "test_regionMatches - 19"); } public void test_startsWith() { harness.check(!( !"abcdef".startsWith( "abc")), "test_startsWith - 1"); try { boolean b = "abcdef".startsWith( null ); harness.fail("test_startsWith - 2"); } catch ( NullPointerException e ){} harness.check(!( "abcdef".startsWith( "ABC")), "test_startsWith - 3"); harness.check(!( !"abcdef".startsWith( "")), "test_startsWith - 4"); harness.check(!( "abc".startsWith( "abcd")), "test_startsWith - 5"); harness.check(!( !"abcdef".startsWith( "abc" , 0 )), "test_startsWith - 6"); try { boolean b = "abcdef".startsWith( null ,0); harness.fail("test_startsWith - 7"); } catch ( NullPointerException e ){} harness.check(!( "abcdef".startsWith( "ABC", 2)), "test_startsWith - 8"); harness.check(!( !"abcdef".startsWith( "", 0 )), "test_startsWith - 9"); harness.check(!( "abc".startsWith( "abcd" , 3)), "test_startsWith - 10"); harness.check(!( "abc".startsWith( "abc" , 10)), "test_startsWith - 11"); } public void test_endsWith() { harness.check(!( !"abcdef".endsWith( "def")), "test_endsWith - 1"); try { boolean b = "abcdef".endsWith( null ); harness.fail("test_endsWith - 2"); } catch ( NullPointerException e ){} harness.check(!( "abcdef".endsWith( "DEF")), "test_endsWith - 3"); harness.check(!( !"abcdef".endsWith( "")), "test_endsWith - 4"); harness.check(!( "bcde".endsWith( "abcd")), "test_endsWith - 5"); } public void test_indexOf() { harness.check(!( "a".indexOf('a') != 0 ), "test_indexOf - 1"); harness.check(!( "aabc".indexOf('c') != 3 ), "test_indexOf - 2"); harness.check(!( "a".indexOf('c') != -1 ), "test_indexOf - 3"); harness.check(!( "".indexOf('a') != -1 ), "test_indexOf - 4"); harness.check(!( "abcde".indexOf('b', 3) != -1 ), "test_indexOf - 5"); harness.check(!( "abcde".indexOf('b', 0) != 1 ), "test_indexOf - 6"); harness.check(!( "abcdee".indexOf('e', 3) != 4 ), "test_indexOf - 7"); harness.check(!( "abcdee".indexOf('e', 5) != 5 ), "test_indexOf - 8"); harness.check(!( "abcdee".indexOf('e', -5) != 4 ), "test_indexOf - 9"); harness.check(!( "abcdee".indexOf('e', 15) != -1 ), "test_indexOf - 10"); harness.check(!( "abcdee".indexOf("babu") != -1 ), "test_indexOf - 11"); try { int x = "abcdee".indexOf(null); harness.fail("test_indexOf - 12"); }catch ( NullPointerException e ){} harness.check(!( "abcdee".indexOf("") != 0 ), "test_indexOf - 13"); harness.check(!( "abcdee".indexOf("ee") != 4 ), "test_indexOf - 14"); harness.check(!( "abcbcbc".indexOf("cbc") != 2 ), "test_indexOf - 15"); harness.check(!( "abcdee".indexOf("babu", 3) != -1 ), "test_indexOf - 16"); try { int x = "abcdee".indexOf(null,0); harness.fail("test_indexOf - 17"); }catch ( NullPointerException e ){} harness.check(!( "abcdee".indexOf("", 0) != 0 ), "test_indexOf - 18"); harness.check(!( "abcdee".indexOf("ee", 4) != 4 ), "test_indexOf - 19"); harness.check(!( "abcbcbc".indexOf("cbc",4 ) != 4 ), "test_indexOf - 20"); // EJWcr00463 if ( "hello \u5236 world".indexOf('\u5236') != 6 ) { harness.fail("test_indexOf - 21"); } if ( "hello \u0645 world".indexOf('\u0645') != 6 ) { harness.fail("test_indexOf - 22"); } if ( "hello \u07ff world".indexOf('\u07ff') != 6 ) { harness.fail("test_indexOf - 23"); } } public void test_lastIndexOf() { harness.check(!( "a".lastIndexOf('a') != 0 ), "test_lastIndexOf - 1"); harness.check(!( "aabc".lastIndexOf('c') != 3 ), "test_lastIndexOf - 2"); harness.check(!( "a".lastIndexOf('c') != -1 ), "test_lastIndexOf - 3"); harness.check(!( "".lastIndexOf('a') != -1 ), "test_lastIndexOf - 4"); harness.check(!( "abcde".lastIndexOf('b', 0) != -1 ), "test_lastIndexOf - 5"); harness.check(!( "abcde".lastIndexOf('b', 4) != 1 ), "test_lastIndexOf - 6"); harness.check(!( "abcdee".lastIndexOf('e', 7) != 5 ), "test_lastIndexOf - 7"); harness.check(!( "abcdee".lastIndexOf('e', 5) != 5 ), "test_lastIndexOf - 8"); harness.check(!( "abcdee".lastIndexOf('e', -5) != -1 ), "test_lastIndexOf - 9"); harness.check(!( "abcdee".lastIndexOf('e', 15) != 5 ), "test_lastIndexOf - 10"); harness.check(!( "abcdee".lastIndexOf("babu") != -1 ), "test_lastIndexOf - 11"); try { int x = "abcdee".lastIndexOf(null); harness.fail("test_lastIndexOf - 12"); }catch ( NullPointerException e ){} harness.check(!( "abcdee".lastIndexOf("") != 6 ), "test_lastIndexOf - 13"); harness.check(!( "abcdee".lastIndexOf("ee") != 4 ), "test_lastIndexOf - 14"); harness.check(!( "abcbcbc".lastIndexOf("cbc") != 4 ), "test_lastIndexOf - 15"); harness.check(!( "abcdee".lastIndexOf("babu", 3) != -1 ), "test_lastIndexOf - 16"); try { int x = "abcdee".lastIndexOf(null,0); harness.fail("test_lastIndexOf - 17"); }catch ( NullPointerException e ){} harness.check(!( "abcdee".lastIndexOf("", 0) != 0 ), "test_lastIndexOf - 18"); harness.check(!( "abcdee".lastIndexOf("ee", 4) != 4 ), "test_lastIndexOf - 19"); harness.check(!( "abcbcbc".lastIndexOf("cbc",3 ) != 2 ), "test_lastIndexOf - 20"); } public void test_substring() { harness.check(!( !"unhappy".substring(2).equals("happy")), "test_substring - 1"); harness.check(!( !"Harbison".substring(3).equals("bison")), "test_substring - 2"); harness.check(!( !"emptiness".substring(9).equals("")), "test_substring - 3"); try { String str = "hi there".substring(-1); harness.fail("test_substring - 4"); }catch( IndexOutOfBoundsException e ){} try { String str = "hi there".substring(10); harness.fail("test_substring - 5"); }catch( IndexOutOfBoundsException e ){} harness.check(!( !"hamburger".substring(4,8).equals("urge")), "test_substring - 6"); harness.check(!( !"smiles".substring(1,5).equals("mile")), "test_substring - 7"); harness.check(!( !"emptiness".substring(2,2).equals("")), "test_substring - 8"); try { String str = "hi there".substring(-1, 3); harness.fail("test_substring - 9"); }catch( IndexOutOfBoundsException e ){} try { String str = "hi there".substring(0, 10); harness.fail("test_substring - 10"); }catch( IndexOutOfBoundsException e ){} try { String str = "hi there".substring(7, 6); harness.fail("test_substring - 11"); }catch( IndexOutOfBoundsException e ){} } public void test_concat( ) { try { String str = "help".concat(null); harness.fail("test_concat - 1"); }catch ( NullPointerException e){} harness.check(!( !"help".concat("me").equals("helpme")), "test_concat - 2"); harness.check(!( ! "to".concat("get").concat("her").equals("together")), "test_concat - 3"); harness.check(!( "hi".concat("") != "hi"), "test_concat - 4"); String str1 = "".concat("there"); harness.check(!( !str1.equals("there")), "test_concat - 5"); // EJWcr00467 String str2 = new String(); try { str2 = str2.concat("hello"); if (!str2.equals("hello")) { harness.fail("test_concat - 7"); } } catch (Exception e) { harness.fail("test_concat - 6"); } } public void test_replace() { harness.check(!( !"mesquite in your cellar".replace('e' , 'o' ).equals( "mosquito in your collar" )), "test_replace - 1"); harness.check(!( !"the war of baronets".replace('r' , 'y' ).equals( "the way of bayonets" )), "test_replace - 2"); harness.check(!( !"sparring with a purple porpoise".replace('p' , 't' ).equals( "starring with a turtle tortoise" )), "test_replace - 3"); harness.check(!( !"JonL".replace('q' , 'x' ).equals("JonL" )), "test_replace - 4"); harness.check(!( !"ppppppppppppp".replace('p' , 'p' ).equals("ppppppppppppp")), "test_replace - 5"); harness.check(!( !"ppppppppppppp".replace('p' , '1' ).equals("1111111111111")), "test_replace - 6"); harness.check(!( !"hp".replace('c' , 'd' ).equals("hp")), "test_replace - 7"); harness.check(!( !"vmhere".replace('a' , 'd' ).equals("vmhere")), "test_replace - 8"); } public void test_toLowerCase() { harness.check(!( !"".toLowerCase().equals("")), "test_toLowerCase - 1"); harness.check(!( !"French Fries".toLowerCase().equals("french fries")), "test_toLowerCase - 2"); harness.check(!( !"SMALL-VM".toLowerCase().equals("small-vm")), "test_toLowerCase - 3"); } public void test_toUpperCase() { harness.check(!( !"".toUpperCase().equals("")), "test_toUpperCase - 1"); harness.check(!( !"French Fries".toUpperCase().equals("FRENCH FRIES")), "test_toUpperCase - 2"); harness.check(!( !"SMALL-VM".toUpperCase().equals("SMALL-VM")), "test_toUpperCase - 3"); harness.check(!( !"small-jvm".toUpperCase().equals("SMALL-JVM")), "test_toUpperCase - 4"); } public void test_valueOf() { harness.check(!( !String.valueOf((Object)null).equals("null")), "test_valueOf - 1"); Object obj = new Object(); harness.check(!( !String.valueOf(obj).equals(obj.toString())), "test_valueOf - 2"); try { char [] data = null; String str = String.valueOf( data ); }catch ( NullPointerException e ){} char [] data = { 'h' , 'e' , 'l' , 'l' , 'o' }; harness.check(!( !String.valueOf( data ).equals("hello")), "test_valueOf - 3"); harness.check(!( !String.copyValueOf( data ).equals("hello")), "test_valueOf - 3a"); try { String str = String.valueOf(data , -1 , 4 ); harness.fail("test_valueOf - 4"); }catch ( IndexOutOfBoundsException e ){} try { String str = String.valueOf(data , 1 , 5 ); harness.fail("test_valueOf - 5"); }catch ( IndexOutOfBoundsException e ){} try { String str = String.valueOf(data , 1 , -5 ); harness.fail("test_valueOf - 6"); }catch ( IndexOutOfBoundsException e ){} try { String str = String.valueOf(null , 1 , 3 ); harness.fail("test_valueOf - 7"); }catch ( NullPointerException e ){} harness.check(!( !String.valueOf(data , 2 , 2 ).equals("ll")), "test_valueOf - 8"); harness.check(!( !String.copyValueOf(data , 2 , 2 ).equals("ll")), "test_valueOf - 8a"); harness.check(!( !String.valueOf(true).equals("true")), "test_valueOf - 9"); harness.check(!( !String.valueOf(false).equals("false")), "test_valueOf - 10"); harness.check(!( !String.valueOf('c').equals("c")), "test_valueOf - 11"); harness.check(!( !String.valueOf(' ').equals(" ")), "test_valueOf - 12"); harness.check(!( !String.valueOf(234).equals("234")), "test_valueOf - 13"); harness.check(!( !String.valueOf(234L).equals("234")), "test_valueOf - 14"); harness.check(!( !String.valueOf(23.45f).equals("23.45")), "test_valueOf - 15"); harness.check(!( !String.valueOf(23.4).equals("23.4")), "test_valueOf - 16"); } public void test_intern() { String hp = "hp"; String nullstr = ""; harness.check(!( "hp".intern() != hp.intern()), "test_intern - 1"); harness.check(!( "pqr".intern() == hp.intern()), "test_intern - 2"); harness.check(!( "".intern() != nullstr.intern()), "test_intern - 3"); harness.check(!( "".intern() == hp.intern()), "test_intern - 4"); hp = ""; harness.check(!( "".intern() != hp.intern()), "test_intern - 5"); StringBuffer buff= new StringBuffer(); buff.append('a'); buff.append('b'); harness.check(!( "ab".intern() != buff.toString().intern()), "test_intern - 6"); StringBuffer buff1 = new StringBuffer(); harness.check(!( "".intern() != buff1.toString().intern()), "test_intern - 7"); } public void test_trim() { String source = " laura"; String dest; dest = source.trim(); if (!dest.equals("laura")) { harness.fail("Error - test_trim - 1"); System.out.println("expected 'laura', got '" + dest + "'"); } source = " laura"; dest = source.trim(); if (!dest.equals("laura")) { harness.fail("Error - test_trim - 2"); System.out.println("expected 'laura', got '" + dest + "'"); } source = " "; dest = source.trim(); if (!dest.equals("")) { harness.fail("Error - test_trim - 3"); System.out.println("expected '', got '" + dest + "'"); } source = "laura"; dest = source.trim(); if (dest != source) { harness.fail("Error - test_trim - 4"); System.out.println("Expected strings to be equal"); } source = "l "; dest = source.trim(); if (!dest.equals("l")) { harness.fail("Error - test_trim - 5"); System.out.println("expected 'l', got '" + dest + "'"); } source = " l"; dest = source.trim(); if (!dest.equals("l")) { harness.fail("Error - test_trim - 6"); System.out.println("expected 'l', got '" + dest + "'"); } source = " l "; dest = source.trim(); if (!dest.equals("l")) { harness.fail("Error - test_trim - 7"); System.out.println("expected 'l', got '" + dest + "'"); } source = " l a u r a "; dest = source.trim(); if (!dest.equals("l a u r a")) { harness.fail("Error - test_trim - 8"); System.out.println("expected 'l a u r a', got '" + dest + "'"); } } public void testall() { test_Basics(); test_toString(); test_equals(); test_hashCode(); test_length(); test_charAt(); test_getChars(); test_getBytes(); test_toCharArray(); test_equalsIgnoreCase(); test_compareTo(); test_regionMatches(); test_startsWith(); test_endsWith(); test_indexOf(); test_lastIndexOf(); test_substring(); test_concat(); test_replace(); test_toLowerCase(); test_toUpperCase(); test_valueOf(); test_intern(); test_trim(); } public void test (TestHarness the_harness) { harness = the_harness; testall (); } } mauve-20140821/gnu/testlet/java/lang/String/replaceAll.java0000644000175000001440000000214711057034555022252 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2008 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.String; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class replaceAll implements Testlet { public void test (TestHarness harness) { /* Test for PRclasspath/36085 */ String result = "Test #".replaceAll("#","\\\\n"); harness.check(result, "Test \\n", result); } } mauve-20140821/gnu/testlet/java/lang/String/surrogate.java0000644000175000001440000000337207625727663022241 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 2003 Free Software Foundation, Inc. // Contributed by Mark Wielaard (mark@klomp.org) // Based on input from James Clark (jjc@jclark.com) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.String; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class surrogate implements Testlet { public void test (TestHarness harness) { try { byte[] cs = {(byte)0xf0, (byte)0x90, (byte)0x8c, (byte)0x80}; int ch = 0x10300; char[] v = new char[2]; v[0] = surrogate1(ch); v[1] = surrogate2(ch); String str = new String(v); byte[] bs = str.getBytes("UTF-8"); harness.check(bs.length, cs.length); for (int i = 0; i < bs.length; i++) harness.check(bs[i], cs[i]); } catch (java.io.UnsupportedEncodingException _) { harness.check(false, "UTF-8 UnsupportedEncodingException"); } } static public char surrogate1(int c) { return (char)(((c - 0x10000) >> 10) | 0xD800); } static public char surrogate2(int c) { return (char)(((c - 0x10000) & 0x3FF) | 0xDC00); } } mauve-20140821/gnu/testlet/java/lang/String/getBytes.java0000644000175000001440000000323207612354236021773 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1999 Cygnus Solutions // Copyright (C) 2002, 2003 Free Software Foundation, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.String; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.UnsupportedEncodingException; public class getBytes implements Testlet { public void test (TestHarness harness) { String s = new String ("test me"); try { byte[] b = s.getBytes("8859_1"); harness.check (b.length, s.length()); b = s.substring(0, 4).getBytes("8859_1"); harness.check (b.length, 4); b = s.substring(5, 7).getBytes("8859_1"); harness.check (b.length, 2); s = new StringBuffer("abcdefghijklmnopqrstuvwxyz") .append(Integer.toString(123456789)) .toString().substring(10,30); b = s.getBytes("8859_1"); harness.check (b.length, 20); b = s.getBytes("UTF8"); harness.check (b.length, 20); } catch (UnsupportedEncodingException _) { harness.check (false); } } } mauve-20140821/gnu/testlet/java/lang/String/split.java0000644000175000001440000000540111533516041021327 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 Mark J Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.String; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; /** * Tests for split bug based on a test submitted by Amit Jain * (amitrjain@hotmail.com) to GNU Classpath. */ public class split implements Testlet { public void test (TestHarness harness) { String fullPath = "test.txt"; String text = "A\tB\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tC" + "\n" + "A\t\tB\t\t\t\t\t\t\t\t\tC\t" + "\n"; String[] s1, s2; try { StringReader sr = new StringReader(text); BufferedReader r = new BufferedReader(sr); String row1 = r.readLine(); s1 = row1.split("\t"); String row2 = r.readLine(); s2 = row2.split("\t"); r.close(); } catch (IOException ioe) { harness.debug(ioe); harness.check(false, ioe.toString()); return; } harness.check(s1.length, 18); harness.check(s1[0], "A"); harness.check(s1[1], "B"); harness.check(s1[2], ""); harness.check(s1[3], ""); harness.check(s1[4], ""); harness.check(s1[5], ""); harness.check(s1[6], ""); harness.check(s1[7], ""); harness.check(s1[8], ""); harness.check(s1[9], ""); harness.check(s1[10], ""); harness.check(s1[11], ""); harness.check(s1[12], ""); harness.check(s1[13], ""); harness.check(s1[14], ""); harness.check(s1[15], ""); harness.check(s1[16], ""); harness.check(s1[17], "C"); // Note that trailing "empties" are discarded. harness.check(s2.length, 12); harness.check(s2[0], "A"); harness.check(s2[1], ""); harness.check(s2[2], "B"); harness.check(s2[3], ""); harness.check(s2[4], ""); harness.check(s2[5], ""); harness.check(s2[6], ""); harness.check(s2[7], ""); harness.check(s2[8], ""); harness.check(s2[9], ""); harness.check(s2[10], ""); harness.check(s2[11], "C"); String[] s3 = "hello, world".split("\uFFFF"); harness.check(s3.length, 1); harness.check(s3[0], "hello, world"); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/0000755000175000001440000000000012375316426022045 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/ArithmeticException/constructor.java0000644000175000001440000000372612075744202025277 0ustar dokousers// Test if instances of a class java.lang.ArithmeticException could be properly constructed // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; /** * Test if instances of a class java.lang.ArithmeticException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { ArithmeticException object1 = new ArithmeticException(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.ArithmeticException"); ArithmeticException object2 = new ArithmeticException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.ArithmeticException: nothing happens"); ArithmeticException object3 = new ArithmeticException(null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.ArithmeticException"); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/TryCatch.java0000644000175000001440000000331112075744202024421 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.ArithmeticException // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; /** * Test if try-catch block is working properly for a class java.lang.ArithmeticException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new ArithmeticException("ArithmeticException"); } catch (ArithmeticException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/0000755000175000001440000000000012375316426023766 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/getDeclaredConstructor.java0000644000175000001440000000712212077450334031300 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArithmeticException.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.ArithmeticException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.ArithmeticException", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.ArithmeticException", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.ArithmeticException", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/getPackage.java0000644000175000001440000000324212051137247026656 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; /** * Test for method java.lang.ArithmeticException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/getDeclaredMethods.java0000644000175000001440000000617412051137247030361 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().getDeclaredMethods() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArithmeticException.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/getInterfaces.java0000644000175000001440000000330212051137247027403 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.ArithmeticException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/getModifiers.java0000644000175000001440000000447312051137247027253 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; import java.lang.reflect.Modifier; /** * Test for method java.lang.ArithmeticException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/getDeclaredFields.java0000644000175000001440000000713112051137247030156 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().getDeclaredFields() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArithmeticException.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.ArithmeticException.serialVersionUID", "serialVersionUID"); // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/getDeclaredConstructors.java0000644000175000001440000001044712051137247031464 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().getDeclaredConstructors() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArithmeticException.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.ArithmeticException()", "java.lang.ArithmeticException"); testedDeclaredConstructors_jdk6.put("public java.lang.ArithmeticException(java.lang.String)", "java.lang.ArithmeticException"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.ArithmeticException()", "java.lang.ArithmeticException"); testedDeclaredConstructors_jdk7.put("public java.lang.ArithmeticException(java.lang.String)", "java.lang.ArithmeticException"); // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/getField.java0000644000175000001440000000553512075520111026345 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().getField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArithmeticException.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/getFields.java0000644000175000001440000000566512051137247026544 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().getFields() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArithmeticException.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/isPrimitive.java0000644000175000001440000000317712051137247027136 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; /** * Test for method java.lang.ArithmeticException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/getSimpleName.java0000644000175000001440000000322712051137247027360 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; /** * Test for method java.lang.ArithmeticException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "ArithmeticException"); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/getEnclosingClass.java0000644000175000001440000000327212075744202030236 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().getEnclosingClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; /** * Test for method java.lang.ArithmeticException.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/isAnnotationPresent.java0000644000175000001440000000436512051137247030641 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().isAnnotationPresent() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; /** * Test for method java.lang.ArithmeticException.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/isSynthetic.java0000644000175000001440000000317712051137247027140 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; /** * Test for method java.lang.ArithmeticException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/isAnnotation.java0000644000175000001440000000317512051137247027276 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().isAnnotation() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; /** * Test for method java.lang.ArithmeticException.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/isInstance.java0000644000175000001440000000326212051137247026725 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; /** * Test for method java.lang.ArithmeticException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new ArithmeticException("java.lang.ArithmeticException"))); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/getDeclaredMethod.java0000644000175000001440000000614112077450334030173 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArithmeticException.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/getDeclaredClasses.java0000644000175000001440000000334012077200641030340 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().getDeclaredClasses() // Copyright (C) 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; /** * Test for method java.lang.ArithmeticException.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/getComponentType.java0000644000175000001440000000326012077200641030124 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().getComponentType() // Copyright (C) 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; /** * Test for method java.lang.ArithmeticException.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/getMethod.java0000644000175000001440000001431112077450334026545 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().getMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArithmeticException.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/isMemberClass.java0000644000175000001440000000320712051137247027355 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; /** * Test for method java.lang.ArithmeticException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/getConstructor.java0000644000175000001440000000706212075520111027644 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().getConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArithmeticException.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.ArithmeticException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.ArithmeticException", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.ArithmeticException", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.ArithmeticException", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/getSuperclass.java0000644000175000001440000000331712051137247027452 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; /** * Test for method java.lang.ArithmeticException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.RuntimeException"); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/isEnum.java0000644000175000001440000000314512051137247026065 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().isEnum() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; /** * Test for method java.lang.ArithmeticException.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/getMethods.java0000644000175000001440000001766512051137247026744 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().getMethods() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArithmeticException.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/getAnnotations.java0000644000175000001440000000574612076213712027632 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().getAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.ArithmeticException.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/InstanceOf.java0000644000175000001440000000374712051137247026666 0ustar dokousers// Test for instanceof operator applied to a class java.lang.ArithmeticException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; import java.lang.RuntimeException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.ArithmeticException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArithmeticException ArithmeticException o = new ArithmeticException("java.lang.ArithmeticException"); // basic check of instanceof operator harness.check(o instanceof ArithmeticException); // check operator instanceof against all superclasses harness.check(o instanceof RuntimeException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/getDeclaringClass.java0000644000175000001440000000327212075520111030174 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().getDeclaringClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; /** * Test for method java.lang.ArithmeticException.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/getAnnotation.java0000644000175000001440000000505512076213712027440 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().getAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; /** * Test for method java.lang.ArithmeticException.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/isAnonymousClass.java0000644000175000001440000000321512051137247030135 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().isAnonymousClass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; /** * Test for method java.lang.ArithmeticException.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/getEnclosingMethod.java0000644000175000001440000000331212075744202030404 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; /** * Test for method java.lang.ArithmeticException.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/isInterface.java0000644000175000001440000000317712051137247027066 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; /** * Test for method java.lang.ArithmeticException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/getConstructors.java0000644000175000001440000001011012075520111030013 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().getConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArithmeticException.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.ArithmeticException()", "java.lang.ArithmeticException"); testedConstructors_jdk6.put("public java.lang.ArithmeticException(java.lang.String)", "java.lang.ArithmeticException"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.ArithmeticException()", "java.lang.ArithmeticException"); testedConstructors_jdk7.put("public java.lang.ArithmeticException(java.lang.String)", "java.lang.ArithmeticException"); // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/isAssignableFrom.java0000644000175000001440000000325212051137247030054 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; /** * Test for method java.lang.ArithmeticException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(ArithmeticException.class)); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/getDeclaredAnnotations.java0000644000175000001440000000600612077450334031250 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.ArithmeticException.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/getDeclaredField.java0000644000175000001440000000564612077450334030007 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().getDeclaredField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArithmeticException.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/isLocalClass.java0000644000175000001440000000320312051137247027174 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; /** * Test for method java.lang.ArithmeticException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/getEnclosingConstructor.java0000644000175000001440000000335412075744202031517 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; /** * Test for method java.lang.ArithmeticException.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/getCanonicalName.java0000644000175000001440000000326012076213712030012 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; /** * Test for method java.lang.ArithmeticException.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.ArithmeticException"); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/getName.java0000644000175000001440000000321112051137247026177 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; /** * Test for method java.lang.ArithmeticException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.ArithmeticException"); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/getClasses.java0000644000175000001440000000330012077200641026710 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().getClasses() // Copyright (C) 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; /** * Test for method java.lang.ArithmeticException.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/ArithmeticException/classInfo/isArray.java0000644000175000001440000000315112051137247026234 0ustar dokousers// Test for method java.lang.ArithmeticException.getClass().isArray() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArithmeticException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArithmeticException; /** * Test for method java.lang.ArithmeticException.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArithmeticException final Object o = new ArithmeticException("java.lang.ArithmeticException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/Error/0000755000175000001440000000000012375316426017166 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Error/constructor.java0000644000175000001440000000376212155301032022405 0ustar dokousers// Test if instances of a class java.lang.Error could be properly constructed // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; /** * Test if instances of a class java.lang.Error * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Error error1 = new Error(); harness.check(error1 != null); harness.check(error1.toString(), "java.lang.Error"); Error error2 = new Error("nothing happens"); harness.check(error2 != null); harness.check(error2.toString(), "java.lang.Error: nothing happens"); Error error3 = new Error(new Throwable()); harness.check(error3 != null); harness.check(error3.toString(), "java.lang.Error: java.lang.Throwable"); Error error4 = new Error("nothing happens", new Throwable()); harness.check(error4 != null); harness.check(error4.toString(), "java.lang.Error: nothing happens"); } } mauve-20140821/gnu/testlet/java/lang/Error/TryCatch.java0000644000175000001440000000314712155301032021536 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.Error // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; /** * Test if try-catch block is working properly for a class java.lang.Error */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new Error("Error"); } catch (Error e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/0000755000175000001440000000000012375316426021107 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Error/classInfo/getDeclaredConstructor.java0000644000175000001440000001004612160341667026421 0ustar dokousers// Test for method java.lang.Error.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.Error.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.Error", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.Error", new Class[] {java.lang.String.class}); constructorsThatShouldExist_jdk6.put("java.lang.Error", new Class[] {java.lang.String.class, java.lang.Throwable.class}); constructorsThatShouldExist_jdk6.put("java.lang.Error", new Class[] {java.lang.Throwable.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.Error", new Class[] {java.lang.String.class, java.lang.Throwable.class, boolean.class, boolean.class}); constructorsThatShouldExist_jdk7.put("java.lang.Error", new Class[] {java.lang.Throwable.class}); constructorsThatShouldExist_jdk7.put("java.lang.Error", new Class[] {java.lang.String.class, java.lang.Throwable.class}); constructorsThatShouldExist_jdk7.put("java.lang.Error", new Class[] {java.lang.String.class}); constructorsThatShouldExist_jdk7.put("java.lang.Error", new Class[] {}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/getPackage.java0000644000175000001440000000307412161024334023774 0ustar dokousers// Test for method java.lang.Error.getClass().getPackage() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; /** * Test for method java.lang.Error.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/getDeclaredMethods.java0000644000175000001440000000602612160050707025472 0ustar dokousers// Test for method java.lang.Error.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.Error.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/getInterfaces.java0000644000175000001440000000313412163044635024531 0ustar dokousers// Test for method java.lang.Error.getClass().getInterfaces() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.Error.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/getModifiers.java0000644000175000001440000000432512163044635024372 0ustar dokousers// Test for method java.lang.Error.getClass().getModifiers() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; import java.lang.reflect.Modifier; /** * Test for method java.lang.Error.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/getDeclaredFields.java0000644000175000001440000000706512160050707025301 0ustar dokousers// Test for method java.lang.Error.getClass().getDeclaredFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.Error.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 testedDeclaredFields_jdk6.put("static final long java.lang.Error.serialVersionUID", "serialVersionUID"); // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("static final long java.lang.Error.serialVersionUID", "serialVersionUID"); // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/getDeclaredConstructors.java0000644000175000001440000001130212160341667026600 0ustar dokousers// Test for method java.lang.Error.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.Error.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.Error()", "java.lang.Error"); testedDeclaredConstructors_jdk6.put("public java.lang.Error(java.lang.String)", "java.lang.Error"); testedDeclaredConstructors_jdk6.put("public java.lang.Error(java.lang.String,java.lang.Throwable)", "java.lang.Error"); testedDeclaredConstructors_jdk6.put("public java.lang.Error(java.lang.Throwable)", "java.lang.Error"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("protected java.lang.Error(java.lang.String,java.lang.Throwable,boolean,boolean)", "java.lang.Error"); testedDeclaredConstructors_jdk7.put("public java.lang.Error(java.lang.Throwable)", "java.lang.Error"); testedDeclaredConstructors_jdk7.put("public java.lang.Error(java.lang.String,java.lang.Throwable)", "java.lang.Error"); testedDeclaredConstructors_jdk7.put("public java.lang.Error(java.lang.String)", "java.lang.Error"); testedDeclaredConstructors_jdk7.put("public java.lang.Error()", "java.lang.Error"); // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/getField.java0000644000175000001440000000536112156335734023502 0ustar dokousers// Test for method java.lang.Error.getClass().getField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.Error.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/getFields.java0000644000175000001440000000551712156335734023670 0ustar dokousers// Test for method java.lang.Error.getClass().getFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.Error.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/isPrimitive.java0000644000175000001440000000303112155301032024232 0ustar dokousers// Test for method java.lang.Error.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; /** * Test for method java.lang.Error.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/getSimpleName.java0000644000175000001440000000304312161024334024467 0ustar dokousers// Test for method java.lang.Error.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; /** * Test for method java.lang.Error.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "Error"); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/getEnclosingClass.java0000644000175000001440000000311612160544662025357 0ustar dokousers// Test for method java.lang.Error.getClass().getEnclosingClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; /** * Test for method java.lang.Error.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/isAnnotationPresent.java0000644000175000001440000000421712156550676025771 0ustar dokousers// Test for method java.lang.Error.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; /** * Test for method java.lang.Error.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/isSynthetic.java0000644000175000001440000000303112155301032024234 0ustar dokousers// Test for method java.lang.Error.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; /** * Test for method java.lang.Error.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/isAnnotation.java0000644000175000001440000000302712156550676024426 0ustar dokousers// Test for method java.lang.Error.getClass().isAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; /** * Test for method java.lang.Error.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/isInstance.java0000644000175000001440000000304612161024335024041 0ustar dokousers// Test for method java.lang.Error.getClass().isInstance(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; /** * Test for method java.lang.Error.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new Error("Error"))); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/getDeclaredMethod.java0000644000175000001440000000576512160050707025320 0ustar dokousers// Test for method java.lang.Error.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.Error.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/getDeclaredClasses.java0000644000175000001440000000317212160341667025473 0ustar dokousers// Test for method java.lang.Error.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; /** * Test for method java.lang.Error.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/getComponentType.java0000644000175000001440000000311212155600574025247 0ustar dokousers// Test for method java.lang.Error.getClass().getComponentType() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; /** * Test for method java.lang.Error.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/getMethod.java0000644000175000001440000001413512156335734023676 0ustar dokousers// Test for method java.lang.Error.getClass().getMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.Error.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/isMemberClass.java0000644000175000001440000000304112155301032024460 0ustar dokousers// Test for method java.lang.Error.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; /** * Test for method java.lang.Error.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/getConstructor.java0000644000175000001440000000754612156550676025017 0ustar dokousers// Test for method java.lang.Error.getClass().getConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.Error.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.Error", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.Error", new Class[] {java.lang.String.class}); constructorsThatShouldExist_jdk6.put("java.lang.Error", new Class[] {java.lang.String.class, java.lang.Throwable.class}); constructorsThatShouldExist_jdk6.put("java.lang.Error", new Class[] {java.lang.Throwable.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.Error", new Class[] {java.lang.Throwable.class}); constructorsThatShouldExist_jdk7.put("java.lang.Error", new Class[] {java.lang.String.class, java.lang.Throwable.class}); constructorsThatShouldExist_jdk7.put("java.lang.Error", new Class[] {java.lang.String.class}); constructorsThatShouldExist_jdk7.put("java.lang.Error", new Class[] {}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/getSuperclass.java0000644000175000001440000000314212161024335024562 0ustar dokousers// Test for method java.lang.Error.getClass().getSuperclass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; /** * Test for method java.lang.Error.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.Throwable"); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/isEnum.java0000644000175000001440000000277712162530111023206 0ustar dokousers// Test for method java.lang.Error.getClass().isEnum() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; /** * Test for method java.lang.Error.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/getMethods.java0000644000175000001440000001751712156335734024070 0ustar dokousers// Test for method java.lang.Error.getClass().getMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.Error.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/getAnnotations.java0000644000175000001440000000557212155600574024754 0ustar dokousers// Test for method java.lang.Error.getClass().getAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.Error.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/InstanceOf.java0000644000175000001440000000330112155301032023757 0ustar dokousers// Test for instanceof operator applied to a class java.lang.Error // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.Error */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Error Error o = new Error("Error"); // basic check of instanceof operator harness.check(o instanceof Error); // check operator instanceof against all superclasses harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/getDeclaringClass.java0000644000175000001440000000311612160544662025326 0ustar dokousers// Test for method java.lang.Error.getClass().getDeclaringClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; /** * Test for method java.lang.Error.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/getAnnotation.java0000644000175000001440000000470112155600574024562 0ustar dokousers// Test for method java.lang.Error.getClass().getAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; /** * Test for method java.lang.Error.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/isAnonymousClass.java0000644000175000001440000000304712162530111025247 0ustar dokousers// Test for method java.lang.Error.getClass().isAnonymousClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; /** * Test for method java.lang.Error.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/getEnclosingMethod.java0000644000175000001440000000313612160544662025534 0ustar dokousers// Test for method java.lang.Error.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; /** * Test for method java.lang.Error.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/isInterface.java0000644000175000001440000000303112161024335024167 0ustar dokousers// Test for method java.lang.Error.getClass().isInterface(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; /** * Test for method java.lang.Error.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/getConstructors.java0000644000175000001440000001045212156550676025170 0ustar dokousers// Test for method java.lang.Error.getClass().getConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.Error.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.Error()", "java.lang.Error"); testedConstructors_jdk6.put("public java.lang.Error(java.lang.String)", "java.lang.Error"); testedConstructors_jdk6.put("public java.lang.Error(java.lang.String,java.lang.Throwable)", "java.lang.Error"); testedConstructors_jdk6.put("public java.lang.Error(java.lang.Throwable)", "java.lang.Error"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.Error(java.lang.Throwable)", "java.lang.Error"); testedConstructors_jdk7.put("public java.lang.Error(java.lang.String,java.lang.Throwable)", "java.lang.Error"); testedConstructors_jdk7.put("public java.lang.Error(java.lang.String)", "java.lang.Error"); testedConstructors_jdk7.put("public java.lang.Error()", "java.lang.Error"); // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/isAssignableFrom.java0000644000175000001440000000306612161024335025173 0ustar dokousers// Test for method java.lang.Error.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; /** * Test for method java.lang.Error.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(Error.class)); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/getDeclaredAnnotations.java0000644000175000001440000000563212160341667026376 0ustar dokousers// Test for method java.lang.Error.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.Error.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/getDeclaredField.java0000644000175000001440000000553212160050707025113 0ustar dokousers// Test for method java.lang.Error.getClass().getDeclaredField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.Error.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { "serialVersionUID", }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/isLocalClass.java0000644000175000001440000000303512155301032024306 0ustar dokousers// Test for method java.lang.Error.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; /** * Test for method java.lang.Error.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/getEnclosingConstructor.java0000644000175000001440000000320012160544662026631 0ustar dokousers// Test for method java.lang.Error.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; /** * Test for method java.lang.Error.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/getCanonicalName.java0000644000175000001440000000306612155600574025143 0ustar dokousers// Test for method java.lang.Error.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; /** * Test for method java.lang.Error.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.Error"); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/getName.java0000644000175000001440000000302512163044635023325 0ustar dokousers// Test for method java.lang.Error.getClass().getName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; /** * Test for method java.lang.Error.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.Error"); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/getClasses.java0000644000175000001440000000313212155600574024042 0ustar dokousers// Test for method java.lang.Error.getClass().getClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; /** * Test for method java.lang.Error.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/Error/classInfo/isArray.java0000644000175000001440000000300312162530111023337 0ustar dokousers// Test for method java.lang.Error.getClass().isArray() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Error.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Error; /** * Test for method java.lang.Error.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Error final Object o = new Error("Error"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/0000755000175000001440000000000012375316426022203 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/constructor.java0000644000175000001440000000375112360775005025435 0ustar dokousers// Test if instances of a class java.lang.UnsatisfiedLinkError could be properly constructed // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; /** * Test if instances of a class java.lang.UnsatisfiedLinkError * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { UnsatisfiedLinkError object1 = new UnsatisfiedLinkError(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.UnsatisfiedLinkError"); UnsatisfiedLinkError object2 = new UnsatisfiedLinkError("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.UnsatisfiedLinkError: nothing happens"); UnsatisfiedLinkError object3 = new UnsatisfiedLinkError(null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.UnsatisfiedLinkError"); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/TryCatch.java0000644000175000001440000000332612360775005024567 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.UnsatisfiedLinkError // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; /** * Test if try-catch block is working properly for a class java.lang.UnsatisfiedLinkError */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new UnsatisfiedLinkError("UnsatisfiedLinkError"); } catch (UnsatisfiedLinkError e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/0000755000175000001440000000000012375316426024124 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getDeclaredConstructor.java0000644000175000001440000000713112362210164031426 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.UnsatisfiedLinkError", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.UnsatisfiedLinkError", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.UnsatisfiedLinkError", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.UnsatisfiedLinkError", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getPackage.java0000644000175000001440000000325312361712702027015 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().getPackage() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getDeclaredMethods.java0000644000175000001440000000620512363432004030505 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getInterfaces.java0000644000175000001440000000331312363432004027536 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().getInterfaces() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getModifiers.java0000644000175000001440000000450412363432004027377 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().getModifiers() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; import java.lang.reflect.Modifier; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getDeclaredFields.java0000644000175000001440000000714312363432004030312 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().getDeclaredFields() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.UnsatisfiedLinkError.serialVersionUID", "serialVersionUID"); // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getDeclaredConstructors.java0000644000175000001440000001047012363432004031611 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.UnsatisfiedLinkError()", "java.lang.UnsatisfiedLinkError"); testedDeclaredConstructors_jdk6.put("public java.lang.UnsatisfiedLinkError(java.lang.String)", "java.lang.UnsatisfiedLinkError"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.UnsatisfiedLinkError()", "java.lang.UnsatisfiedLinkError"); testedDeclaredConstructors_jdk7.put("public java.lang.UnsatisfiedLinkError(java.lang.String)", "java.lang.UnsatisfiedLinkError"); // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getField.java0000644000175000001440000000554012363164535026515 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().getField() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getFields.java0000644000175000001440000000567612363432004026677 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().getFields() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/isPrimitive.java0000644000175000001440000000321012360775005027263 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getSimpleName.java0000644000175000001440000000324112361712702027511 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().getSimpleName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "UnsatisfiedLinkError"); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getEnclosingClass.java0000644000175000001440000000327512363164535030404 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().getEnclosingClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/isAnnotationPresent.java0000644000175000001440000000437612361712702031000 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/isSynthetic.java0000644000175000001440000000321012360775006027266 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/isAnnotation.java0000644000175000001440000000320612361712702027426 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().isAnnotation() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/isInstance.java0000644000175000001440000000326312361215237027064 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().isInstance(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new UnsatisfiedLinkError("UnsatisfiedLinkError"))); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getDeclaredMethod.java0000644000175000001440000000614412362210164030324 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getDeclaredClasses.java0000644000175000001440000000335112362210164030476 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getComponentType.java0000644000175000001440000000327112361465775030305 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().getComponentType() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getMethod.java0000644000175000001440000001431412363164535026711 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().getMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/isMemberClass.java0000644000175000001440000000322012360775005027511 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getConstructor.java0000644000175000001440000000707112362210164030005 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().getConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.UnsatisfiedLinkError", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.UnsatisfiedLinkError", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.UnsatisfiedLinkError", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.UnsatisfiedLinkError", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getSuperclass.java0000644000175000001440000000332412361712702027605 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().getSuperclass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.LinkageError"); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/isEnum.java0000644000175000001440000000315612361215237026225 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().isEnum() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getMethods.java0000644000175000001440000001767612363432004027077 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().getMethods() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getAnnotations.java0000644000175000001440000000575112361465774030002 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().getAnnotations() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/InstanceOf.java0000644000175000001440000000374212360775005027022 0ustar dokousers// Test for instanceof operator applied to a class java.lang.UnsatisfiedLinkError // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; import java.lang.LinkageError; import java.lang.Error; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.UnsatisfiedLinkError */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsatisfiedLinkError UnsatisfiedLinkError o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // basic check of instanceof operator harness.check(o instanceof UnsatisfiedLinkError); // check operator instanceof against all superclasses harness.check(o instanceof LinkageError); harness.check(o instanceof Error); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getDeclaringClass.java0000644000175000001440000000327512363164534030352 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().getDeclaringClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getAnnotation.java0000644000175000001440000000506012361465774027610 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().getAnnotation() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/isAnonymousClass.java0000644000175000001440000000322612361215237030275 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().isAnonymousClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getEnclosingMethod.java0000644000175000001440000000331512363164535030552 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/isInterface.java0000644000175000001440000000321012361215237027210 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().isInterface(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getConstructors.java0000644000175000001440000001012312361712702030164 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().getConstructors() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.UnsatisfiedLinkError()", "java.lang.UnsatisfiedLinkError"); testedConstructors_jdk6.put("public java.lang.UnsatisfiedLinkError(java.lang.String)", "java.lang.UnsatisfiedLinkError"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.UnsatisfiedLinkError()", "java.lang.UnsatisfiedLinkError"); testedConstructors_jdk7.put("public java.lang.UnsatisfiedLinkError(java.lang.String)", "java.lang.UnsatisfiedLinkError"); // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/isAssignableFrom.java0000644000175000001440000000326412361215237030215 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(UnsatisfiedLinkError.class)); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getDeclaredAnnotations.java0000644000175000001440000000601112362210164031372 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getDeclaredField.java0000644000175000001440000000565112362210164030131 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().getDeclaredField() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/isLocalClass.java0000644000175000001440000000321412360775005027337 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getEnclosingConstructor.java0000644000175000001440000000335712363164535031665 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getCanonicalName.java0000644000175000001440000000326412361465774030172 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().getSimpleName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.UnsatisfiedLinkError"); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getName.java0000644000175000001440000000322312363432004026333 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().getName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.UnsatisfiedLinkError"); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getClasses.java0000644000175000001440000000331112361465774027070 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().getClasses() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/isArray.java0000644000175000001440000000316212361215237026374 0ustar dokousers// Test for method java.lang.UnsatisfiedLinkError.getClass().isArray() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsatisfiedLinkError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsatisfiedLinkError; /** * Test for method java.lang.UnsatisfiedLinkError.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsatisfiedLinkError final Object o = new UnsatisfiedLinkError("UnsatisfiedLinkError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/0000755000175000001440000000000012375316426022367 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/ClassCircularityError/constructor.java0000644000175000001440000000376012124260354025613 0ustar dokousers// Test if instances of a class java.lang.ClassCircularityError could be properly constructed // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; /** * Test if instances of a class java.lang.ClassCircularityError * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { ClassCircularityError object1 = new ClassCircularityError(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.ClassCircularityError"); ClassCircularityError object2 = new ClassCircularityError("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.ClassCircularityError: nothing happens"); ClassCircularityError object3 = new ClassCircularityError(null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.ClassCircularityError"); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/TryCatch.java0000644000175000001440000000332712124260354024746 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.ClassCircularityError // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; /** * Test if try-catch block is working properly for a class java.lang.ClassCircularityError */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new ClassCircularityError("ClassCircularityError"); } catch (ClassCircularityError e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/0000755000175000001440000000000012375316426024310 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/getDeclaredConstructor.java0000644000175000001440000000713612127477705031636 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassCircularityError.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.ClassCircularityError", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.ClassCircularityError", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.ClassCircularityError", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.ClassCircularityError", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/getPackage.java0000644000175000001440000000325412131474613027203 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().getPackage() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; /** * Test for method java.lang.ClassCircularityError.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/getDeclaredMethods.java0000644000175000001440000000620612130742021030665 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassCircularityError.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/getInterfaces.java0000644000175000001440000000331412131214130027712 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().getInterfaces() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.ClassCircularityError.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/getModifiers.java0000644000175000001440000000450512131214130027553 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().getModifiers() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; import java.lang.reflect.Modifier; /** * Test for method java.lang.ClassCircularityError.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/getDeclaredFields.java0000644000175000001440000000714512130742021030473 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().getDeclaredFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassCircularityError.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.ClassCircularityError.serialVersionUID", "serialVersionUID"); // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/getDeclaredConstructors.java0000644000175000001440000001050112130742021031763 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassCircularityError.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.ClassCircularityError()", "java.lang.ClassCircularityError"); testedDeclaredConstructors_jdk6.put("public java.lang.ClassCircularityError(java.lang.String)", "java.lang.ClassCircularityError"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.ClassCircularityError()", "java.lang.ClassCircularityError"); testedDeclaredConstructors_jdk7.put("public java.lang.ClassCircularityError(java.lang.String)", "java.lang.ClassCircularityError"); // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/getField.java0000644000175000001440000000554112127477705026706 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().getField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassCircularityError.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/getFields.java0000644000175000001440000000567712130742021027057 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().getFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassCircularityError.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/isPrimitive.java0000644000175000001440000000321112124260354027442 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; /** * Test for method java.lang.ClassCircularityError.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/getSimpleName.java0000644000175000001440000000324312131214130027662 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; /** * Test for method java.lang.ClassCircularityError.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "ClassCircularityError"); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/getEnclosingClass.java0000644000175000001440000000327612130477570030567 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().getEnclosingClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; /** * Test for method java.lang.ClassCircularityError.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/isAnnotationPresent.java0000644000175000001440000000437712126757020031166 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; /** * Test for method java.lang.ClassCircularityError.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/isSynthetic.java0000644000175000001440000000321112124260354027444 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; /** * Test for method java.lang.ClassCircularityError.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/isAnnotation.java0000644000175000001440000000320712126757020027614 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().isAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; /** * Test for method java.lang.ClassCircularityError.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/isInstance.java0000644000175000001440000000326612131214130027235 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().isInstance(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; /** * Test for method java.lang.ClassCircularityError.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new ClassCircularityError("ClassCircularityError"))); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/getDeclaredMethod.java0000644000175000001440000000614512127234512030513 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassCircularityError.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/getDeclaredClasses.java0000644000175000001440000000335212127477705030702 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; /** * Test for method java.lang.ClassCircularityError.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/getComponentType.java0000644000175000001440000000327212127234512030451 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().getComponentType() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; /** * Test for method java.lang.ClassCircularityError.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/getMethod.java0000644000175000001440000001431512127477705027102 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().getMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassCircularityError.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/isMemberClass.java0000644000175000001440000000322112124260354027670 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; /** * Test for method java.lang.ClassCircularityError.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/getConstructor.java0000644000175000001440000000707612127234512030200 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().getConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassCircularityError.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.ClassCircularityError", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.ClassCircularityError", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.ClassCircularityError", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.ClassCircularityError", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/getSuperclass.java0000644000175000001440000000332512131214130027755 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().getSuperclass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; /** * Test for method java.lang.ClassCircularityError.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.LinkageError"); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/isEnum.java0000644000175000001440000000315712126757020026412 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().isEnum() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; /** * Test for method java.lang.ClassCircularityError.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/getMethods.java0000644000175000001440000001767712131474613027271 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().getMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassCircularityError.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/getAnnotations.java0000644000175000001440000000575212124531406030146 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().getAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.ClassCircularityError.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/InstanceOf.java0000644000175000001440000000374512124260354027203 0ustar dokousers// Test for instanceof operator applied to a class java.lang.ClassCircularityError // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; import java.lang.LinkageError; import java.lang.Error; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.ClassCircularityError */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCircularityError ClassCircularityError o = new ClassCircularityError("ClassCircularityError"); // basic check of instanceof operator harness.check(o instanceof ClassCircularityError); // check operator instanceof against all superclasses harness.check(o instanceof LinkageError); harness.check(o instanceof Error); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/getDeclaringClass.java0000644000175000001440000000327612130477570030536 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().getDeclaringClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; /** * Test for method java.lang.ClassCircularityError.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/getAnnotation.java0000644000175000001440000000506112124531406027754 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().getAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; /** * Test for method java.lang.ClassCircularityError.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/isAnonymousClass.java0000644000175000001440000000322712126757020030462 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().isAnonymousClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; /** * Test for method java.lang.ClassCircularityError.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/getEnclosingMethod.java0000644000175000001440000000331612130477570030735 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; /** * Test for method java.lang.ClassCircularityError.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/isInterface.java0000644000175000001440000000321112124260354027372 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().isInterface(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; /** * Test for method java.lang.ClassCircularityError.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/getConstructors.java0000644000175000001440000001013412130742021030341 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().getConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassCircularityError.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.ClassCircularityError()", "java.lang.ClassCircularityError"); testedConstructors_jdk6.put("public java.lang.ClassCircularityError(java.lang.String)", "java.lang.ClassCircularityError"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.ClassCircularityError()", "java.lang.ClassCircularityError"); testedConstructors_jdk7.put("public java.lang.ClassCircularityError(java.lang.String)", "java.lang.ClassCircularityError"); // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/isAssignableFrom.java0000644000175000001440000000326612131214130030365 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; /** * Test for method java.lang.ClassCircularityError.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(ClassCircularityError.class)); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/getDeclaredAnnotations.java0000644000175000001440000000601212127477705031576 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.ClassCircularityError.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/getDeclaredField.java0000644000175000001440000000565212127234512030320 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().getDeclaredField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassCircularityError.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/isLocalClass.java0000644000175000001440000000321512124260354027516 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; /** * Test for method java.lang.ClassCircularityError.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/getEnclosingConstructor.java0000644000175000001440000000336012130477570032041 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; /** * Test for method java.lang.ClassCircularityError.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/getCanonicalName.java0000644000175000001440000000326612124531406030337 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; /** * Test for method java.lang.ClassCircularityError.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.ClassCircularityError"); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/getName.java0000644000175000001440000000322512131474613026526 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().getName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; /** * Test for method java.lang.ClassCircularityError.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.ClassCircularityError"); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/getClasses.java0000644000175000001440000000331212124531406027234 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().getClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; /** * Test for method java.lang.ClassCircularityError.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/ClassCircularityError/classInfo/isArray.java0000644000175000001440000000316312126757020026561 0ustar dokousers// Test for method java.lang.ClassCircularityError.getClass().isArray() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCircularityError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCircularityError; /** * Test for method java.lang.ClassCircularityError.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCircularityError final Object o = new ClassCircularityError("ClassCircularityError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/0000755000175000001440000000000012375316426022355 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/NumberFormatException/constructor.java0000644000175000001440000000376612337324123025610 0ustar dokousers// Test if instances of a class java.lang.NumberFormatException could be properly constructed // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; /** * Test if instances of a class java.lang.NumberFormatException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { NumberFormatException object1 = new NumberFormatException(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.NumberFormatException"); NumberFormatException object2 = new NumberFormatException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.NumberFormatException: nothing happens"); NumberFormatException object3 = new NumberFormatException(null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.NumberFormatException"); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/TryCatch.java0000644000175000001440000000333512337324123024734 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.NumberFormatException // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; /** * Test if try-catch block is working properly for a class java.lang.NumberFormatException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new NumberFormatException("NumberFormatException"); } catch (NumberFormatException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/0000755000175000001440000000000012375316426024276 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/getDeclaredConstructor.java0000644000175000001440000000715612343313402031605 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NumberFormatException.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.NumberFormatException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.NumberFormatException", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.NumberFormatException", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.NumberFormatException", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/getPackage.java0000644000175000001440000000327412344021325027165 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().getPackage() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; /** * Test for method java.lang.NumberFormatException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/getDeclaredMethods.java0000644000175000001440000000775312343313403030667 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NumberFormatException.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedDeclaredMethods_jdk6.put("static java.lang.NumberFormatException java.lang.NumberFormatException.forInputString(java.lang.String)", "forInputString"); // map for methods declared in (Open)JDK7 testedDeclaredMethods_jdk7.put("static java.lang.NumberFormatException java.lang.NumberFormatException.forInputString(java.lang.String)", "forInputString"); // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); // check if all declared methods exist for (java.lang.reflect.Method declaredMethod : declaredMethods) { // method name should consists of package name + class name String methodName = declaredMethod.getName(); // modifiers + package + method name + parameter types String methodString = declaredMethod.toString().replaceAll(" native ", " "); harness.check(testedDeclaredMethods.containsKey(methodString)); harness.check(testedDeclaredMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/getInterfaces.java0000644000175000001440000000333412344021325027712 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().getInterfaces() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.NumberFormatException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/getModifiers.java0000644000175000001440000000452512344021325027553 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().getModifiers() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; import java.lang.reflect.Modifier; /** * Test for method java.lang.NumberFormatException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/getDeclaredFields.java0000644000175000001440000000732512343313402030464 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().getDeclaredFields() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NumberFormatException.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 testedDeclaredFields_jdk6.put("static final long java.lang.NumberFormatException.serialVersionUID", "serialVersionUID"); // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("static final long java.lang.NumberFormatException.serialVersionUID", "serialVersionUID"); // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/getDeclaredConstructors.java0000644000175000001440000001052112343313402031756 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NumberFormatException.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.NumberFormatException()", "java.lang.NumberFormatException"); testedDeclaredConstructors_jdk6.put("public java.lang.NumberFormatException(java.lang.String)", "java.lang.NumberFormatException"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.NumberFormatException()", "java.lang.NumberFormatException"); testedDeclaredConstructors_jdk7.put("public java.lang.NumberFormatException(java.lang.String)", "java.lang.NumberFormatException"); // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/getField.java0000644000175000001440000000556112343057460026666 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().getField() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NumberFormatException.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/getFields.java0000644000175000001440000000571712343057461027055 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().getFields() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NumberFormatException.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/isPrimitive.java0000644000175000001440000000323112337324124027434 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; /** * Test for method java.lang.NumberFormatException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/getSimpleName.java0000644000175000001440000000326312344021325027662 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().getSimpleName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; /** * Test for method java.lang.NumberFormatException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "NumberFormatException"); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/getEnclosingClass.java0000644000175000001440000000331612343561072030545 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().getEnclosingClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; /** * Test for method java.lang.NumberFormatException.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/isAnnotationPresent.java0000644000175000001440000000441712344310512031140 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; /** * Test for method java.lang.NumberFormatException.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/isSynthetic.java0000644000175000001440000000323112337324124027436 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; /** * Test for method java.lang.NumberFormatException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/isAnnotation.java0000644000175000001440000000322712344310512027575 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().isAnnotation() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; /** * Test for method java.lang.NumberFormatException.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/isInstance.java0000644000175000001440000000332012344021325027222 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().isInstance(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; /** * Test for method java.lang.NumberFormatException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new NumberFormatException("java.lang.NumberFormatException"))); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/getDeclaredMethod.java0000644000175000001440000000646712343313402030504 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NumberFormatException.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("forInputString", new Class[] {java.lang.String.class}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("forInputString", new Class[] {java.lang.String.class}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/getDeclaredClasses.java0000644000175000001440000000337212343561072030661 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; /** * Test for method java.lang.NumberFormatException.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/getComponentType.java0000644000175000001440000000331212341331154030430 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().getComponentType() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; /** * Test for method java.lang.NumberFormatException.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/getMethod.java0000644000175000001440000001433512343057461027063 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().getMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NumberFormatException.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/isMemberClass.java0000644000175000001440000000324112337324124027662 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; /** * Test for method java.lang.NumberFormatException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/getConstructor.java0000644000175000001440000000711612341331154030157 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().getConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NumberFormatException.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.NumberFormatException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.NumberFormatException", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.NumberFormatException", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.NumberFormatException", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/getSuperclass.java0000644000175000001440000000336112344021325027753 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().getSuperclass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; /** * Test for method java.lang.NumberFormatException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.IllegalArgumentException"); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/isEnum.java0000644000175000001440000000317712343057461026405 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().isEnum() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; /** * Test for method java.lang.NumberFormatException.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/getMethods.java0000644000175000001440000001771712343057461027255 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().getMethods() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NumberFormatException.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/getAnnotations.java0000644000175000001440000000577212341331153030134 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().getAnnotations() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.NumberFormatException.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/InstanceOf.java0000644000175000001440000000415612337324123027167 0ustar dokousers// Test for instanceof operator applied to a class java.lang.NumberFormatException // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; import java.lang.IllegalArgumentException; import java.lang.RuntimeException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.NumberFormatException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NumberFormatException NumberFormatException o = new NumberFormatException("java.lang.NumberFormatException"); // basic check of instanceof operator harness.check(o instanceof NumberFormatException); // check operator instanceof against all superclasses harness.check(o instanceof IllegalArgumentException); harness.check(o instanceof RuntimeException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/getDeclaringClass.java0000644000175000001440000000331612343561072030514 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().getDeclaringClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; /** * Test for method java.lang.NumberFormatException.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/getAnnotation.java0000644000175000001440000000510112341331153027733 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().getAnnotation() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; /** * Test for method java.lang.NumberFormatException.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/isAnonymousClass.java0000644000175000001440000000324712344310512030443 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().isAnonymousClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; /** * Test for method java.lang.NumberFormatException.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/getEnclosingMethod.java0000644000175000001440000000333612343561072030722 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; /** * Test for method java.lang.NumberFormatException.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/isInterface.java0000644000175000001440000000323112337324123027363 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().isInterface(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; /** * Test for method java.lang.NumberFormatException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/getConstructors.java0000644000175000001440000001015412343057460030345 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().getConstructors() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NumberFormatException.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.NumberFormatException()", "java.lang.NumberFormatException"); testedConstructors_jdk6.put("public java.lang.NumberFormatException(java.lang.String)", "java.lang.NumberFormatException"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.NumberFormatException()", "java.lang.NumberFormatException"); testedConstructors_jdk7.put("public java.lang.NumberFormatException(java.lang.String)", "java.lang.NumberFormatException"); // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/isAssignableFrom.java0000644000175000001440000000330612344021325030356 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; /** * Test for method java.lang.NumberFormatException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(NumberFormatException.class)); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/getDeclaredAnnotations.java0000644000175000001440000000603212343561072031555 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.NumberFormatException.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/getDeclaredField.java0000644000175000001440000000573212343313402030301 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().getDeclaredField() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NumberFormatException.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { "serialVersionUID", }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/isLocalClass.java0000644000175000001440000000323512337324123027507 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; /** * Test for method java.lang.NumberFormatException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/getEnclosingConstructor.java0000644000175000001440000000340012343561072032017 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; /** * Test for method java.lang.NumberFormatException.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/getCanonicalName.java0000644000175000001440000000330612341331153030316 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().getSimpleName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; /** * Test for method java.lang.NumberFormatException.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.NumberFormatException"); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/getName.java0000644000175000001440000000324512344021325026510 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().getName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; /** * Test for method java.lang.NumberFormatException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.NumberFormatException"); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/getClasses.java0000644000175000001440000000333212341331153027222 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().getClasses() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; /** * Test for method java.lang.NumberFormatException.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/NumberFormatException/classInfo/isArray.java0000644000175000001440000000320312344310512026533 0ustar dokousers// Test for method java.lang.NumberFormatException.getClass().isArray() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NumberFormatException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NumberFormatException; /** * Test for method java.lang.NumberFormatException.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NumberFormatException final Object o = new NumberFormatException("java.lang.NumberFormatException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/0000755000175000001440000000000012375316426021447 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/constructor.java0000644000175000001440000000370312320466206024672 0ustar dokousers// Test if instances of a class java.lang.NoSuchMethodError could be properly constructed // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; /** * Test if instances of a class java.lang.NoSuchMethodError * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { NoSuchMethodError object1 = new NoSuchMethodError(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.NoSuchMethodError"); NoSuchMethodError object2 = new NoSuchMethodError("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.NoSuchMethodError: nothing happens"); NoSuchMethodError object3 = new NoSuchMethodError(null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.NoSuchMethodError"); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/TryCatch.java0000644000175000001440000000330212320466206024021 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.NoSuchMethodError // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; /** * Test if try-catch block is working properly for a class java.lang.NoSuchMethodError */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new NoSuchMethodError("NoSuchMethodError"); } catch (NoSuchMethodError e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/0000755000175000001440000000000012375316426023370 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/getDeclaredConstructor.java0000644000175000001440000000707012322712347030702 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchMethodError.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.NoSuchMethodError", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.NoSuchMethodError", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.NoSuchMethodError", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.NoSuchMethodError", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/getPackage.java0000644000175000001440000000322612323462334026262 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().getPackage() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; /** * Test for method java.lang.NoSuchMethodError.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/getDeclaredMethods.java0000644000175000001440000000616012320725077027761 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchMethodError.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/getInterfaces.java0000644000175000001440000000326612320466206027015 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().getInterfaces() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.NoSuchMethodError.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/getModifiers.java0000644000175000001440000000445712320466206026656 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().getModifiers() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; import java.lang.reflect.Modifier; /** * Test for method java.lang.NoSuchMethodError.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/getDeclaredFields.java0000644000175000001440000000711312320725077027563 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().getDeclaredFields() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchMethodError.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.NoSuchMethodError.serialVersionUID", "serialVersionUID"); // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/getDeclaredConstructors.java0000644000175000001440000001041312322712347031060 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchMethodError.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.NoSuchMethodError()", "java.lang.NoSuchMethodError"); testedDeclaredConstructors_jdk6.put("public java.lang.NoSuchMethodError(java.lang.String)", "java.lang.NoSuchMethodError"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.NoSuchMethodError()", "java.lang.NoSuchMethodError"); testedDeclaredConstructors_jdk7.put("public java.lang.NoSuchMethodError(java.lang.String)", "java.lang.NoSuchMethodError"); // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/getField.java0000644000175000001440000000551312321224424025745 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().getField() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchMethodError.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/getFields.java0000644000175000001440000000565112321224424026133 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().getFields() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchMethodError.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/isPrimitive.java0000644000175000001440000000316312321727365026541 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; /** * Test for method java.lang.NoSuchMethodError.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/getSimpleName.java0000644000175000001440000000321112323462334026753 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().getSimpleName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; /** * Test for method java.lang.NoSuchMethodError.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "NoSuchMethodError"); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/getEnclosingClass.java0000644000175000001440000000325012320725100027621 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().getEnclosingClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; /** * Test for method java.lang.NoSuchMethodError.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/isAnnotationPresent.java0000644000175000001440000000435112323210115030222 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; /** * Test for method java.lang.NoSuchMethodError.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/isSynthetic.java0000644000175000001440000000316312321727365026543 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; /** * Test for method java.lang.NoSuchMethodError.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/isAnnotation.java0000644000175000001440000000316112323210115026657 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().isAnnotation() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; /** * Test for method java.lang.NoSuchMethodError.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/isInstance.java0000644000175000001440000000323012321727365026330 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().isInstance(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; /** * Test for method java.lang.NoSuchMethodError.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new NoSuchMethodError("NoSuchMethodError"))); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/getDeclaredMethod.java0000644000175000001440000000611712320725077027600 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchMethodError.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/getDeclaredClasses.java0000644000175000001440000000332412322712347027750 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; /** * Test for method java.lang.NoSuchMethodError.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/getComponentType.java0000644000175000001440000000324412321446231027527 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().getComponentType() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; /** * Test for method java.lang.NoSuchMethodError.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/getMethod.java0000644000175000001440000001426712321224424026150 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().getMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchMethodError.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/isMemberClass.java0000644000175000001440000000317312321727365026767 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; /** * Test for method java.lang.NoSuchMethodError.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/getConstructor.java0000644000175000001440000000703012321224424027243 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().getConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchMethodError.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.NoSuchMethodError", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.NoSuchMethodError", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.NoSuchMethodError", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.NoSuchMethodError", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/getSuperclass.java0000644000175000001440000000331712323462334027054 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().getSuperclass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; /** * Test for method java.lang.NoSuchMethodError.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.IncompatibleClassChangeError"); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/isEnum.java0000644000175000001440000000313112323210115025446 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().isEnum() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; /** * Test for method java.lang.NoSuchMethodError.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/getMethods.java0000644000175000001440000001765112321224424026333 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().getMethods() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchMethodError.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/getAnnotations.java0000644000175000001440000000572412321446231027225 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().getAnnotations() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.NoSuchMethodError.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/InstanceOf.java0000644000175000001440000000407012320466206026255 0ustar dokousers// Test for instanceof operator applied to a class java.lang.NoSuchMethodError // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; import java.lang.IncompatibleClassChangeError; import java.lang.LinkageError; import java.lang.Error; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.NoSuchMethodError */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodError NoSuchMethodError o = new NoSuchMethodError("NoSuchMethodError"); // basic check of instanceof operator harness.check(o instanceof NoSuchMethodError); // check operator instanceof against all superclasses harness.check(o instanceof IncompatibleClassChangeError); harness.check(o instanceof LinkageError); harness.check(o instanceof Error); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/getDeclaringClass.java0000644000175000001440000000325012320725077027605 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().getDeclaringClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; /** * Test for method java.lang.NoSuchMethodError.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/getAnnotation.java0000644000175000001440000000503312321446231027033 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().getAnnotation() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; /** * Test for method java.lang.NoSuchMethodError.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/isAnonymousClass.java0000644000175000001440000000320112323210115027516 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().isAnonymousClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; /** * Test for method java.lang.NoSuchMethodError.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/getEnclosingMethod.java0000644000175000001440000000327012322712347030011 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; /** * Test for method java.lang.NoSuchMethodError.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/isInterface.java0000644000175000001440000000316312321727365026471 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().isInterface(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; /** * Test for method java.lang.NoSuchMethodError.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/getConstructors.java0000644000175000001440000001004612321224424027427 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().getConstructors() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchMethodError.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.NoSuchMethodError()", "java.lang.NoSuchMethodError"); testedConstructors_jdk6.put("public java.lang.NoSuchMethodError(java.lang.String)", "java.lang.NoSuchMethodError"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.NoSuchMethodError()", "java.lang.NoSuchMethodError"); testedConstructors_jdk7.put("public java.lang.NoSuchMethodError(java.lang.String)", "java.lang.NoSuchMethodError"); // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/isAssignableFrom.java0000644000175000001440000000323412323462334027456 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; /** * Test for method java.lang.NoSuchMethodError.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(NoSuchMethodError.class)); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/getDeclaredAnnotations.java0000644000175000001440000000576412321446231030655 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.NoSuchMethodError.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/getDeclaredField.java0000644000175000001440000000562412320725077027405 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().getDeclaredField() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchMethodError.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/isLocalClass.java0000644000175000001440000000316712321727365026615 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; /** * Test for method java.lang.NoSuchMethodError.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/getEnclosingConstructor.java0000644000175000001440000000333212322712347031115 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; /** * Test for method java.lang.NoSuchMethodError.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/getCanonicalName.java0000644000175000001440000000323412321446231027412 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().getSimpleName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; /** * Test for method java.lang.NoSuchMethodError.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.NoSuchMethodError"); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/getName.java0000644000175000001440000000317312320466206025607 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().getName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; /** * Test for method java.lang.NoSuchMethodError.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.NoSuchMethodError"); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/getClasses.java0000644000175000001440000000326412321446231026322 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().getClasses() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; /** * Test for method java.lang.NoSuchMethodError.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/NoSuchMethodError/classInfo/isArray.java0000644000175000001440000000313512323210115025624 0ustar dokousers// Test for method java.lang.NoSuchMethodError.getClass().isArray() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchMethodError; /** * Test for method java.lang.NoSuchMethodError.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchMethodError final Object o = new NoSuchMethodError("NoSuchMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/0000755000175000001440000000000012375316426022227 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/NullPointerException/constructor.java0000644000175000001440000000375112333111552025450 0ustar dokousers// Test if instances of a class java.lang.NullPointerException could be properly constructed // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; /** * Test if instances of a class java.lang.NullPointerException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { NullPointerException object1 = new NullPointerException(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.NullPointerException"); NullPointerException object2 = new NullPointerException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.NullPointerException: nothing happens"); NullPointerException object3 = new NullPointerException(null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.NullPointerException"); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/TryCatch.java0000644000175000001440000000332612333111551024601 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.NullPointerException // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; /** * Test if try-catch block is working properly for a class java.lang.NullPointerException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new NullPointerException("NullPointerException"); } catch (NullPointerException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/0000755000175000001440000000000012375316426024150 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/getDeclaredConstructor.java0000644000175000001440000000714312333111552031454 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NullPointerException.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.NullPointerException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.NullPointerException", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.NullPointerException", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.NullPointerException", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/getPackage.java0000644000175000001440000000326512337056374027055 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().getPackage() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; /** * Test for method java.lang.NullPointerException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/getDeclaredMethods.java0000644000175000001440000000621712336332231030535 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NullPointerException.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/getInterfaces.java0000644000175000001440000000332512337056373027601 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().getInterfaces() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.NullPointerException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/getModifiers.java0000644000175000001440000000451612337056373027442 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().getModifiers() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; import java.lang.reflect.Modifier; /** * Test for method java.lang.NullPointerException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/getDeclaredFields.java0000644000175000001440000000715512333111552030340 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().getDeclaredFields() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NullPointerException.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.NullPointerException.serialVersionUID", "serialVersionUID"); // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/getDeclaredConstructors.java0000644000175000001440000001050212333111552031630 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NullPointerException.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.NullPointerException()", "java.lang.NullPointerException"); testedDeclaredConstructors_jdk6.put("public java.lang.NullPointerException(java.lang.String)", "java.lang.NullPointerException"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.NullPointerException()", "java.lang.NullPointerException"); testedDeclaredConstructors_jdk7.put("public java.lang.NullPointerException(java.lang.String)", "java.lang.NullPointerException"); // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/getField.java0000644000175000001440000000555212337055027026540 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().getField() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NullPointerException.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/getFields.java0000644000175000001440000000571012337055027026717 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().getFields() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NullPointerException.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/isPrimitive.java0000644000175000001440000000322212334352257027313 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; /** * Test for method java.lang.NullPointerException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/getSimpleName.java0000644000175000001440000000325312337056374027551 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().getSimpleName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; /** * Test for method java.lang.NullPointerException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "NullPointerException"); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/getEnclosingClass.java0000644000175000001440000000330712336332231030412 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().getEnclosingClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; /** * Test for method java.lang.NullPointerException.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/isAnnotationPresent.java0000644000175000001440000000441012334074027031012 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; /** * Test for method java.lang.NullPointerException.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/isSynthetic.java0000644000175000001440000000322212334352257027315 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; /** * Test for method java.lang.NullPointerException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/isAnnotation.java0000644000175000001440000000322012334074027027447 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().isAnnotation() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; /** * Test for method java.lang.NullPointerException.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/isInstance.java0000644000175000001440000000330712337056374027117 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().isInstance(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; /** * Test for method java.lang.NullPointerException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new NullPointerException("java.lang.NullPointerException"))); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/getDeclaredMethod.java0000644000175000001440000000615612336332231030354 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NullPointerException.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/getDeclaredClasses.java0000644000175000001440000000336312333111552030524 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; /** * Test for method java.lang.NullPointerException.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/getComponentType.java0000644000175000001440000000330312334624507030313 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().getComponentType() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; /** * Test for method java.lang.NullPointerException.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/getMethod.java0000644000175000001440000001432612337055027026734 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().getMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NullPointerException.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/isMemberClass.java0000644000175000001440000000323212334352257027541 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; /** * Test for method java.lang.NullPointerException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/getConstructor.java0000644000175000001440000000710312334624507030036 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().getConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NullPointerException.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.NullPointerException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.NullPointerException", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.NullPointerException", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.NullPointerException", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/getSuperclass.java0000644000175000001440000000334212337056374027642 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().getSuperclass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; /** * Test for method java.lang.NullPointerException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.RuntimeException"); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/isEnum.java0000644000175000001440000000317012334074030026237 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().isEnum() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; /** * Test for method java.lang.NullPointerException.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/getMethods.java0000644000175000001440000001771012337055027027117 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().getMethods() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NullPointerException.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/getAnnotations.java0000644000175000001440000000576312334624507030020 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().getAnnotations() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.NullPointerException.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/InstanceOf.java0000644000175000001440000000377412333111552027042 0ustar dokousers// Test for instanceof operator applied to a class java.lang.NullPointerException // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; import java.lang.RuntimeException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.NullPointerException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NullPointerException NullPointerException o = new NullPointerException("java.lang.NullPointerException"); // basic check of instanceof operator harness.check(o instanceof NullPointerException); // check operator instanceof against all superclasses harness.check(o instanceof RuntimeException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/getDeclaringClass.java0000644000175000001440000000330712336332231030361 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().getDeclaringClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; /** * Test for method java.lang.NullPointerException.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/getAnnotation.java0000644000175000001440000000507212334624507027626 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().getAnnotation() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; /** * Test for method java.lang.NullPointerException.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/isAnonymousClass.java0000644000175000001440000000324012334074027030315 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().isAnonymousClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; /** * Test for method java.lang.NullPointerException.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/getEnclosingMethod.java0000644000175000001440000000332712336332232030570 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; /** * Test for method java.lang.NullPointerException.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/isInterface.java0000644000175000001440000000322212334352257027243 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().isInterface(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; /** * Test for method java.lang.NullPointerException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/getConstructors.java0000644000175000001440000001013512334624507030220 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().getConstructors() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NullPointerException.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.NullPointerException()", "java.lang.NullPointerException"); testedConstructors_jdk6.put("public java.lang.NullPointerException(java.lang.String)", "java.lang.NullPointerException"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.NullPointerException()", "java.lang.NullPointerException"); testedConstructors_jdk7.put("public java.lang.NullPointerException(java.lang.String)", "java.lang.NullPointerException"); // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/isAssignableFrom.java0000644000175000001440000000327612337056374030254 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; /** * Test for method java.lang.NullPointerException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(NullPointerException.class)); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/getDeclaredAnnotations.java0000644000175000001440000000602312333111552031420 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.NullPointerException.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/getDeclaredField.java0000644000175000001440000000566312333111552030157 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().getDeclaredField() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NullPointerException.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/isLocalClass.java0000644000175000001440000000322612334352257027367 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; /** * Test for method java.lang.NullPointerException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/getEnclosingConstructor.java0000644000175000001440000000337112336332231031673 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; /** * Test for method java.lang.NullPointerException.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/getCanonicalName.java0000644000175000001440000000327612334624507030210 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().getSimpleName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; /** * Test for method java.lang.NullPointerException.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.NullPointerException"); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/getName.java0000644000175000001440000000323512337056373026376 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().getName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; /** * Test for method java.lang.NullPointerException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.NullPointerException"); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/getClasses.java0000644000175000001440000000332312334624507027106 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().getClasses() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; /** * Test for method java.lang.NullPointerException.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/NullPointerException/classInfo/isArray.java0000644000175000001440000000317412334074030026415 0ustar dokousers// Test for method java.lang.NullPointerException.getClass().isArray() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NullPointerException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NullPointerException; /** * Test for method java.lang.NullPointerException.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NullPointerException final Object o = new NullPointerException("java.lang.NullPointerException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/0000755000175000001440000000000012375316426023030 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/constructor.java0000644000175000001440000000530412207615650026255 0ustar dokousers// Test if instances of a class java.lang.IllegalArgumentException could be properly constructed // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; /** * Test if instances of a class java.lang.IllegalArgumentException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IllegalArgumentException object1 = new IllegalArgumentException(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.IllegalArgumentException"); IllegalArgumentException object2 = new IllegalArgumentException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.IllegalArgumentException: nothing happens"); IllegalArgumentException object3 = new IllegalArgumentException((String)null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.IllegalArgumentException"); IllegalArgumentException object4 = new IllegalArgumentException(new Throwable()); harness.check(object4 != null); harness.check(object4.toString(), "java.lang.IllegalArgumentException: java.lang.Throwable"); IllegalArgumentException object5 = new IllegalArgumentException((Throwable)null); harness.check(object5 != null); harness.check(object5.toString(), "java.lang.IllegalArgumentException"); IllegalArgumentException object6 = new IllegalArgumentException("nothing", new Throwable()); harness.check(object6 != null); harness.check(object6.toString(), "java.lang.IllegalArgumentException: nothing"); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/TryCatch.java0000644000175000001440000000335412207615650025414 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.IllegalArgumentException // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; /** * Test if try-catch block is working properly for a class java.lang.IllegalArgumentException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new IllegalArgumentException("IllegalArgumentException"); } catch (IllegalArgumentException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/0000755000175000001440000000000012375316426024751 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/getDeclaredConstructor.java0000644000175000001440000001025512211577604032264 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalArgumentException.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.IllegalArgumentException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.IllegalArgumentException", new Class[] {java.lang.String.class}); constructorsThatShouldExist_jdk6.put("java.lang.IllegalArgumentException", new Class[] {java.lang.String.class, java.lang.Throwable.class}); constructorsThatShouldExist_jdk6.put("java.lang.IllegalArgumentException", new Class[] {java.lang.Throwable.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.IllegalArgumentException", new Class[] {java.lang.Throwable.class}); constructorsThatShouldExist_jdk7.put("java.lang.IllegalArgumentException", new Class[] {java.lang.String.class, java.lang.Throwable.class}); constructorsThatShouldExist_jdk7.put("java.lang.IllegalArgumentException", new Class[] {java.lang.String.class}); constructorsThatShouldExist_jdk7.put("java.lang.IllegalArgumentException", new Class[] {}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/getPackage.java0000644000175000001440000000331312207615651027643 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().getPackage() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; /** * Test for method java.lang.IllegalArgumentException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/getDeclaredMethods.java0000644000175000001440000000624512211577605031347 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalArgumentException.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/getInterfaces.java0000644000175000001440000000335312207615650030376 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().getInterfaces() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.IllegalArgumentException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/getModifiers.java0000644000175000001440000000454412207615650030237 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().getModifiers() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; import java.lang.reflect.Modifier; /** * Test for method java.lang.IllegalArgumentException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/getDeclaredFields.java0000644000175000001440000000737212211577605031154 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().getDeclaredFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalArgumentException.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 testedDeclaredFields_jdk6.put("private static final long java.lang.IllegalArgumentException.serialVersionUID", "serialVersionUID"); // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.IllegalArgumentException.serialVersionUID", "serialVersionUID"); // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/getDeclaredConstructors.java0000644000175000001440000001175612211577604032456 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalArgumentException.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.IllegalArgumentException()", "java.lang.IllegalArgumentException"); testedDeclaredConstructors_jdk6.put("public java.lang.IllegalArgumentException(java.lang.String)", "java.lang.IllegalArgumentException"); testedDeclaredConstructors_jdk6.put("public java.lang.IllegalArgumentException(java.lang.String,java.lang.Throwable)", "java.lang.IllegalArgumentException"); testedDeclaredConstructors_jdk6.put("public java.lang.IllegalArgumentException(java.lang.Throwable)", "java.lang.IllegalArgumentException"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.IllegalArgumentException(java.lang.Throwable)", "java.lang.IllegalArgumentException"); testedDeclaredConstructors_jdk7.put("public java.lang.IllegalArgumentException(java.lang.String,java.lang.Throwable)", "java.lang.IllegalArgumentException"); testedDeclaredConstructors_jdk7.put("public java.lang.IllegalArgumentException(java.lang.String)", "java.lang.IllegalArgumentException"); testedDeclaredConstructors_jdk7.put("public java.lang.IllegalArgumentException()", "java.lang.IllegalArgumentException"); // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/getField.java0000644000175000001440000000560012211060270027316 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().getField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalArgumentException.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/getFields.java0000644000175000001440000000573612211060270027513 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().getFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalArgumentException.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/isPrimitive.java0000644000175000001440000000325012210063241030076 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; /** * Test for method java.lang.IllegalArgumentException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/getSimpleName.java0000644000175000001440000000330512213340621030330 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; /** * Test for method java.lang.IllegalArgumentException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "IllegalArgumentException"); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/getEnclosingClass.java0000644000175000001440000000333512212043101031200 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().getEnclosingClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; /** * Test for method java.lang.IllegalArgumentException.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/isAnnotationPresent.java0000644000175000001440000000443612212352544031621 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; /** * Test for method java.lang.IllegalArgumentException.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/isSynthetic.java0000644000175000001440000000325012210063241030100 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; /** * Test for method java.lang.IllegalArgumentException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/isAnnotation.java0000644000175000001440000000324612212352544030256 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().isAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; /** * Test for method java.lang.IllegalArgumentException.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/isInstance.java0000644000175000001440000000334512210063241027677 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().isInstance(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; /** * Test for method java.lang.IllegalArgumentException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new IllegalArgumentException("java.lang.IllegalArgumentException"))); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/getDeclaredMethod.java0000644000175000001440000000620412211577605031157 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalArgumentException.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/getDeclaredClasses.java0000644000175000001440000000341112212352544031323 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; /** * Test for method java.lang.IllegalArgumentException.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/getComponentType.java0000644000175000001440000000333112212043100031070 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().getComponentType() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; /** * Test for method java.lang.IllegalArgumentException.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/getMethod.java0000644000175000001440000001435412211060270027521 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().getMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalArgumentException.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/isMemberClass.java0000644000175000001440000000326012210063241030324 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; /** * Test for method java.lang.IllegalArgumentException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/getConstructor.java0000644000175000001440000001021512211060270030616 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().getConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalArgumentException.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.IllegalArgumentException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.IllegalArgumentException", new Class[] {java.lang.String.class}); constructorsThatShouldExist_jdk6.put("java.lang.IllegalArgumentException", new Class[] {java.lang.String.class, java.lang.Throwable.class}); constructorsThatShouldExist_jdk6.put("java.lang.IllegalArgumentException", new Class[] {java.lang.Throwable.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.IllegalArgumentException", new Class[] {java.lang.Throwable.class}); constructorsThatShouldExist_jdk7.put("java.lang.IllegalArgumentException", new Class[] {java.lang.String.class, java.lang.Throwable.class}); constructorsThatShouldExist_jdk7.put("java.lang.IllegalArgumentException", new Class[] {java.lang.String.class}); constructorsThatShouldExist_jdk7.put("java.lang.IllegalArgumentException", new Class[] {}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/getSuperclass.java0000644000175000001440000000337012213340621030424 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().getSuperclass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; /** * Test for method java.lang.IllegalArgumentException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.RuntimeException"); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/isEnum.java0000644000175000001440000000321612211315115027035 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().isEnum() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; /** * Test for method java.lang.IllegalArgumentException.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/getMethods.java0000644000175000001440000001773612211060270027713 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().getMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalArgumentException.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/getAnnotations.java0000644000175000001440000000601112211315115030566 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().getAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.IllegalArgumentException.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/InstanceOf.java0000644000175000001440000000403212207615650027637 0ustar dokousers// Test for instanceof operator applied to a class java.lang.IllegalArgumentException // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; import java.lang.RuntimeException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.IllegalArgumentException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalArgumentException IllegalArgumentException o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // basic check of instanceof operator harness.check(o instanceof IllegalArgumentException); // check operator instanceof against all superclasses harness.check(o instanceof RuntimeException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/getDeclaringClass.java0000644000175000001440000000333512212352544031165 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().getDeclaringClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; /** * Test for method java.lang.IllegalArgumentException.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/getAnnotation.java0000644000175000001440000000512012211315115030403 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().getAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; /** * Test for method java.lang.IllegalArgumentException.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/isAnonymousClass.java0000644000175000001440000000326612213603555031126 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().isAnonymousClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; /** * Test for method java.lang.IllegalArgumentException.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/getEnclosingMethod.java0000644000175000001440000000335512212043101031355 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; /** * Test for method java.lang.IllegalArgumentException.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/isInterface.java0000644000175000001440000000325012210063241030026 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().isInterface(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; /** * Test for method java.lang.IllegalArgumentException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/getConstructors.java0000644000175000001440000001135112211060270031003 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().getConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalArgumentException.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.IllegalArgumentException()", "java.lang.IllegalArgumentException"); testedConstructors_jdk6.put("public java.lang.IllegalArgumentException(java.lang.String)", "java.lang.IllegalArgumentException"); testedConstructors_jdk6.put("public java.lang.IllegalArgumentException(java.lang.String,java.lang.Throwable)", "java.lang.IllegalArgumentException"); testedConstructors_jdk6.put("public java.lang.IllegalArgumentException(java.lang.Throwable)", "java.lang.IllegalArgumentException"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.IllegalArgumentException(java.lang.Throwable)", "java.lang.IllegalArgumentException"); testedConstructors_jdk7.put("public java.lang.IllegalArgumentException(java.lang.String,java.lang.Throwable)", "java.lang.IllegalArgumentException"); testedConstructors_jdk7.put("public java.lang.IllegalArgumentException(java.lang.String)", "java.lang.IllegalArgumentException"); testedConstructors_jdk7.put("public java.lang.IllegalArgumentException()", "java.lang.IllegalArgumentException"); // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/isAssignableFrom.java0000644000175000001440000000333012213340621031024 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; /** * Test for method java.lang.IllegalArgumentException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(IllegalArgumentException.class)); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/getDeclaredAnnotations.java0000644000175000001440000000605112212352544032226 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.IllegalArgumentException.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/getDeclaredField.java0000644000175000001440000000575112211577604030767 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().getDeclaredField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalArgumentException.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { "serialVersionUID", }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/isLocalClass.java0000644000175000001440000000325412210063241030152 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; /** * Test for method java.lang.IllegalArgumentException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/getEnclosingConstructor.java0000644000175000001440000000341712212043101032461 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; /** * Test for method java.lang.IllegalArgumentException.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/getCanonicalName.java0000644000175000001440000000333012212043100030753 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; /** * Test for method java.lang.IllegalArgumentException.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.IllegalArgumentException"); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/getName.java0000644000175000001440000000326712207615650027177 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().getName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; /** * Test for method java.lang.IllegalArgumentException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.IllegalArgumentException"); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/getClasses.java0000644000175000001440000000335112211315115027672 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().getClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; /** * Test for method java.lang.IllegalArgumentException.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/IllegalArgumentException/classInfo/isArray.java0000644000175000001440000000322212211315115027204 0ustar dokousers// Test for method java.lang.IllegalArgumentException.getClass().isArray() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalArgumentException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalArgumentException; /** * Test for method java.lang.IllegalArgumentException.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalArgumentException final Object o = new IllegalArgumentException("java.lang.IllegalArgumentException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/0000755000175000001440000000000012375316426020461 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/LinkageError/constructor.java0000644000175000001440000000360112266220134023676 0ustar dokousers// Test if instances of a class java.lang.LinkageError could be properly constructed // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; /** * Test if instances of a class java.lang.LinkageError * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { LinkageError object1 = new LinkageError(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.LinkageError"); LinkageError object2 = new LinkageError("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.LinkageError: nothing happens"); LinkageError object3 = new LinkageError(null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.LinkageError"); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/TryCatch.java0000644000175000001440000000323612266220134023036 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.LinkageError // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; /** * Test if try-catch block is working properly for a class java.lang.LinkageError */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new LinkageError("LinkageError"); } catch (LinkageError e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/0000755000175000001440000000000012375316426022402 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/getDeclaredConstructor.java0000644000175000001440000000721212267737032027720 0ustar dokousers// Test for method java.lang.LinkageError.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.LinkageError.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.LinkageError", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.LinkageError", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.LinkageError", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.LinkageError", new Class[] {java.lang.String.class}); constructorsThatShouldExist_jdk7.put("java.lang.LinkageError", new Class[] {java.lang.String.class, java.lang.Throwable.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/getPackage.java0000644000175000001440000000316312271443100025264 0ustar dokousers// Test for method java.lang.LinkageError.getClass().getPackage() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; /** * Test for method java.lang.LinkageError.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/getDeclaredMethods.java0000644000175000001440000000611512270204305026761 0ustar dokousers// Test for method java.lang.LinkageError.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.LinkageError.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/getInterfaces.java0000644000175000001440000000322312270461456026026 0ustar dokousers// Test for method java.lang.LinkageError.getClass().getInterfaces() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.LinkageError.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/getModifiers.java0000644000175000001440000000441412271443100025652 0ustar dokousers// Test for method java.lang.LinkageError.getClass().getModifiers() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; import java.lang.reflect.Modifier; /** * Test for method java.lang.LinkageError.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/getDeclaredFields.java0000644000175000001440000000704312270204305026565 0ustar dokousers// Test for method java.lang.LinkageError.getClass().getDeclaredFields() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.LinkageError.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.LinkageError.serialVersionUID", "serialVersionUID"); // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/getDeclaredConstructors.java0000644000175000001440000001051612267737032030104 0ustar dokousers// Test for method java.lang.LinkageError.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.LinkageError.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.LinkageError()", "java.lang.LinkageError"); testedDeclaredConstructors_jdk6.put("public java.lang.LinkageError(java.lang.String)", "java.lang.LinkageError"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.LinkageError()", "java.lang.LinkageError"); testedDeclaredConstructors_jdk7.put("public java.lang.LinkageError(java.lang.String)", "java.lang.LinkageError"); testedDeclaredConstructors_jdk7.put("public java.lang.LinkageError(java.lang.String,java.lang.Throwable)", "java.lang.LinkageError"); // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/getField.java0000644000175000001440000000545012270461456024772 0ustar dokousers// Test for method java.lang.LinkageError.getClass().getField() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.LinkageError.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/getFields.java0000644000175000001440000000560612270461456025160 0ustar dokousers// Test for method java.lang.LinkageError.getClass().getFields() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.LinkageError.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/isPrimitive.java0000644000175000001440000000312012272164371025541 0ustar dokousers// Test for method java.lang.LinkageError.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; /** * Test for method java.lang.LinkageError.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/getSimpleName.java0000644000175000001440000000314112271443100025757 0ustar dokousers// Test for method java.lang.LinkageError.getClass().getSimpleName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; /** * Test for method java.lang.LinkageError.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "LinkageError"); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/getEnclosingClass.java0000644000175000001440000000320512270204306026637 0ustar dokousers// Test for method java.lang.LinkageError.getClass().getEnclosingClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; /** * Test for method java.lang.LinkageError.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/isAnnotationPresent.java0000644000175000001440000000430612271674755027266 0ustar dokousers// Test for method java.lang.LinkageError.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; /** * Test for method java.lang.LinkageError.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/isSynthetic.java0000644000175000001440000000312012272164372025544 0ustar dokousers// Test for method java.lang.LinkageError.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; /** * Test for method java.lang.LinkageError.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/isAnnotation.java0000644000175000001440000000311612271674755025723 0ustar dokousers// Test for method java.lang.LinkageError.getClass().isAnnotation() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; /** * Test for method java.lang.LinkageError.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/isInstance.java0000644000175000001440000000315312272164371025343 0ustar dokousers// Test for method java.lang.LinkageError.getClass().isInstance(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; /** * Test for method java.lang.LinkageError.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new LinkageError("LinkageError"))); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/getDeclaredMethod.java0000644000175000001440000000605412270204305026600 0ustar dokousers// Test for method java.lang.LinkageError.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.LinkageError.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/getDeclaredClasses.java0000644000175000001440000000326112267737032026770 0ustar dokousers// Test for method java.lang.LinkageError.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; /** * Test for method java.lang.LinkageError.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/getComponentType.java0000644000175000001440000000320112267163305026541 0ustar dokousers// Test for method java.lang.LinkageError.getClass().getComponentType() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; /** * Test for method java.lang.LinkageError.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/getMethod.java0000644000175000001440000001422412270461456025166 0ustar dokousers// Test for method java.lang.LinkageError.getClass().getMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.LinkageError.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/isMemberClass.java0000644000175000001440000000313012272164371025767 0ustar dokousers// Test for method java.lang.LinkageError.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; /** * Test for method java.lang.LinkageError.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/getConstructor.java0000644000175000001440000000715212267163305026273 0ustar dokousers// Test for method java.lang.LinkageError.getClass().getConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.LinkageError.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.LinkageError", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.LinkageError", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.LinkageError", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.LinkageError", new Class[] {java.lang.String.class}); constructorsThatShouldExist_jdk7.put("java.lang.LinkageError", new Class[] {java.lang.String.class, java.lang.Throwable.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/getSuperclass.java0000644000175000001440000000322512271443100026054 0ustar dokousers// Test for method java.lang.LinkageError.getClass().getSuperclass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; /** * Test for method java.lang.LinkageError.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.Error"); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/isEnum.java0000644000175000001440000000306612271674755024521 0ustar dokousers// Test for method java.lang.LinkageError.getClass().isEnum() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; /** * Test for method java.lang.LinkageError.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/getMethods.java0000644000175000001440000001760612271443100025343 0ustar dokousers// Test for method java.lang.LinkageError.getClass().getMethods() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.LinkageError.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/getAnnotations.java0000644000175000001440000000566112267163304026245 0ustar dokousers// Test for method java.lang.LinkageError.getClass().getAnnotations() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.LinkageError.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/InstanceOf.java0000644000175000001440000000351112267163304025271 0ustar dokousers// Test for instanceof operator applied to a class java.lang.LinkageError // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; import java.lang.Error; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.LinkageError */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class LinkageError LinkageError o = new LinkageError("LinkageError"); // basic check of instanceof operator harness.check(o instanceof LinkageError); // check operator instanceof against all superclasses harness.check(o instanceof Error); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/getDeclaringClass.java0000644000175000001440000000320512270204306026606 0ustar dokousers// Test for method java.lang.LinkageError.getClass().getDeclaringClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; /** * Test for method java.lang.LinkageError.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/getAnnotation.java0000644000175000001440000000477012267163304026062 0ustar dokousers// Test for method java.lang.LinkageError.getClass().getAnnotation() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; /** * Test for method java.lang.LinkageError.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/isAnonymousClass.java0000644000175000001440000000313612271674755026571 0ustar dokousers// Test for method java.lang.LinkageError.getClass().isAnonymousClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; /** * Test for method java.lang.LinkageError.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/getEnclosingMethod.java0000644000175000001440000000322512270461456027027 0ustar dokousers// Test for method java.lang.LinkageError.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; /** * Test for method java.lang.LinkageError.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/isInterface.java0000644000175000001440000000312012272164371025471 0ustar dokousers// Test for method java.lang.LinkageError.getClass().isInterface(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; /** * Test for method java.lang.LinkageError.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/getConstructors.java0000644000175000001440000001014112267737032026452 0ustar dokousers// Test for method java.lang.LinkageError.getClass().getConstructors() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.LinkageError.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.LinkageError()", "java.lang.LinkageError"); testedConstructors_jdk6.put("public java.lang.LinkageError(java.lang.String)", "java.lang.LinkageError"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.LinkageError()", "java.lang.LinkageError"); testedConstructors_jdk7.put("public java.lang.LinkageError(java.lang.String)", "java.lang.LinkageError"); testedConstructors_jdk7.put("public java.lang.LinkageError(java.lang.String,java.lang.Throwable)", "java.lang.LinkageError"); // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/isAssignableFrom.java0000644000175000001440000000316412271674755026510 0ustar dokousers// Test for method java.lang.LinkageError.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; /** * Test for method java.lang.LinkageError.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(LinkageError.class)); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/getDeclaredAnnotations.java0000644000175000001440000000572112267737032027673 0ustar dokousers// Test for method java.lang.LinkageError.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.LinkageError.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/getDeclaredField.java0000644000175000001440000000556112270204305026405 0ustar dokousers// Test for method java.lang.LinkageError.getClass().getDeclaredField() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.LinkageError.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/isLocalClass.java0000644000175000001440000000312412272164371025615 0ustar dokousers// Test for method java.lang.LinkageError.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; /** * Test for method java.lang.LinkageError.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/getEnclosingConstructor.java0000644000175000001440000000326712270461456030142 0ustar dokousers// Test for method java.lang.LinkageError.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; /** * Test for method java.lang.LinkageError.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/getCanonicalName.java0000644000175000001440000000316412267163305026435 0ustar dokousers// Test for method java.lang.LinkageError.getClass().getSimpleName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; /** * Test for method java.lang.LinkageError.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.LinkageError"); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/getName.java0000644000175000001440000000312312271443100024605 0ustar dokousers// Test for method java.lang.LinkageError.getClass().getName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; /** * Test for method java.lang.LinkageError.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.LinkageError"); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/getClasses.java0000644000175000001440000000322112267163305025334 0ustar dokousers// Test for method java.lang.LinkageError.getClass().getClasses() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; /** * Test for method java.lang.LinkageError.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/LinkageError/classInfo/isArray.java0000644000175000001440000000307212271674755024670 0ustar dokousers// Test for method java.lang.LinkageError.getClass().isArray() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.LinkageError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.LinkageError; /** * Test for method java.lang.LinkageError.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class LinkageError final Object o = new LinkageError("LinkageError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/0000755000175000001440000000000012375316426021325 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/ClassFormatError/constructor.java0000644000175000001440000000365712132735777024575 0ustar dokousers// Test if instances of a class java.lang.ClassFormatError could be properly constructed // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; /** * Test if instances of a class java.lang.ClassFormatError * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { ClassFormatError object1 = new ClassFormatError(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.ClassFormatError"); ClassFormatError object2 = new ClassFormatError("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.ClassFormatError: nothing happens"); ClassFormatError object3 = new ClassFormatError(null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.ClassFormatError"); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/TryCatch.java0000644000175000001440000000326412132735777023723 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.ClassFormatError // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; /** * Test if try-catch block is working properly for a class java.lang.ClassFormatError */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new ClassFormatError("ClassFormatError"); } catch (ClassFormatError e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/0000755000175000001440000000000012375316426023246 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/getDeclaredConstructor.java0000644000175000001440000000704712133451653030564 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassFormatError.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.ClassFormatError", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.ClassFormatError", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.ClassFormatError", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.ClassFormatError", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/getPackage.java0000644000175000001440000000321112136427005026130 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().getPackage() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; /** * Test for method java.lang.ClassFormatError.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/getDeclaredMethods.java0000644000175000001440000000614312135172067027637 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassFormatError.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/getInterfaces.java0000644000175000001440000000325112135172067026670 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().getInterfaces() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.ClassFormatError.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/getModifiers.java0000644000175000001440000000444212135172067026531 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().getModifiers() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; import java.lang.reflect.Modifier; /** * Test for method java.lang.ClassFormatError.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/getDeclaredFields.java0000644000175000001440000000707512137422603027443 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().getDeclaredFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassFormatError.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.ClassFormatError.serialVersionUID", "serialVersionUID"); // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/getDeclaredConstructors.java0000644000175000001440000001036612137422603030742 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassFormatError.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.ClassFormatError()", "java.lang.ClassFormatError"); testedDeclaredConstructors_jdk6.put("public java.lang.ClassFormatError(java.lang.String)", "java.lang.ClassFormatError"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.ClassFormatError()", "java.lang.ClassFormatError"); testedDeclaredConstructors_jdk7.put("public java.lang.ClassFormatError(java.lang.String)", "java.lang.ClassFormatError"); // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/getField.java0000644000175000001440000000547612134201364025633 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().getField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassFormatError.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/getFields.java0000644000175000001440000000563412135172067026022 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().getFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassFormatError.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/isPrimitive.java0000644000175000001440000000312512132735777026423 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; /** * Test for method java.lang.ClassFormatError.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/getSimpleName.java0000644000175000001440000000317312136427005026636 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; /** * Test for method java.lang.ClassFormatError.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "ClassFormatError"); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/getEnclosingClass.java0000644000175000001440000000323312134201364027504 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().getEnclosingClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; /** * Test for method java.lang.ClassFormatError.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/isAnnotationPresent.java0000644000175000001440000000433412136427005030113 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; /** * Test for method java.lang.ClassFormatError.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/isSynthetic.java0000644000175000001440000000314612132735777026430 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; /** * Test for method java.lang.ClassFormatError.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/isAnnotation.java0000644000175000001440000000314412136160031026541 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().isAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; /** * Test for method java.lang.ClassFormatError.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/isInstance.java0000644000175000001440000000321112135712351026175 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().isInstance(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; /** * Test for method java.lang.ClassFormatError.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new ClassFormatError("ClassFormatError"))); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/getDeclaredMethod.java0000644000175000001440000000610212133451653027446 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassFormatError.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/getDeclaredClasses.java0000644000175000001440000000330712136427005027624 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; /** * Test for method java.lang.ClassFormatError.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/getComponentType.java0000644000175000001440000000322712133201332027376 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().getComponentType() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; /** * Test for method java.lang.ClassFormatError.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/getMethod.java0000644000175000001440000001425212136160031026015 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().getMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassFormatError.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/isMemberClass.java0000644000175000001440000000315612132735777026654 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; /** * Test for method java.lang.ClassFormatError.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/getConstructor.java0000644000175000001440000000700712133451653027134 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().getConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassFormatError.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.ClassFormatError", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.ClassFormatError", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.ClassFormatError", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.ClassFormatError", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/getSuperclass.java0000644000175000001440000000326212135712351026727 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().getSuperclass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; /** * Test for method java.lang.ClassFormatError.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.LinkageError"); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/isEnum.java0000644000175000001440000000311412136160031025330 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().isEnum() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; /** * Test for method java.lang.ClassFormatError.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/getMethods.java0000644000175000001440000001763412135172067026222 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().getMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassFormatError.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/getAnnotations.java0000644000175000001440000000570712133201332027074 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().getAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.ClassFormatError.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/InstanceOf.java0000644000175000001440000000367012132735777026155 0ustar dokousers// Test for instanceof operator applied to a class java.lang.ClassFormatError // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; import java.lang.LinkageError; import java.lang.Error; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.ClassFormatError */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassFormatError ClassFormatError o = new ClassFormatError("ClassFormatError"); // basic check of instanceof operator harness.check(o instanceof ClassFormatError); // check operator instanceof against all superclasses harness.check(o instanceof LinkageError); harness.check(o instanceof Error); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/getDeclaringClass.java0000644000175000001440000000323312134201364027453 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().getDeclaringClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; /** * Test for method java.lang.ClassFormatError.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/getAnnotation.java0000644000175000001440000000501612133201332026702 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().getAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; /** * Test for method java.lang.ClassFormatError.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/isAnonymousClass.java0000644000175000001440000000316412136160031027407 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().isAnonymousClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; /** * Test for method java.lang.ClassFormatError.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/getEnclosingMethod.java0000644000175000001440000000325312134201364027661 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; /** * Test for method java.lang.ClassFormatError.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/isInterface.java0000644000175000001440000000312512135712351026335 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().isInterface(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; /** * Test for method java.lang.ClassFormatError.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/getConstructors.java0000644000175000001440000001002112137422603027302 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().getConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassFormatError.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.ClassFormatError()", "java.lang.ClassFormatError"); testedConstructors_jdk6.put("public java.lang.ClassFormatError(java.lang.String)", "java.lang.ClassFormatError"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.ClassFormatError()", "java.lang.ClassFormatError"); testedConstructors_jdk7.put("public java.lang.ClassFormatError(java.lang.String)", "java.lang.ClassFormatError"); // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/isAssignableFrom.java0000644000175000001440000000321612135712351027332 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; /** * Test for method java.lang.ClassFormatError.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(ClassFormatError.class)); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/getDeclaredAnnotations.java0000644000175000001440000000574712133451653030541 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.ClassFormatError.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/getDeclaredField.java0000644000175000001440000000560712133451653027262 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().getDeclaredField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassFormatError.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/isLocalClass.java0000644000175000001440000000315212135712351026455 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; /** * Test for method java.lang.ClassFormatError.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/getEnclosingConstructor.java0000644000175000001440000000331512134201364030765 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; /** * Test for method java.lang.ClassFormatError.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/getCanonicalName.java0000644000175000001440000000321612133201332027260 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; /** * Test for method java.lang.ClassFormatError.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.ClassFormatError"); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/getName.java0000644000175000001440000000315512136427005025464 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().getName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; /** * Test for method java.lang.ClassFormatError.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.ClassFormatError"); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/getClasses.java0000644000175000001440000000324712133201332026171 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().getClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; /** * Test for method java.lang.ClassFormatError.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/ClassFormatError/classInfo/isArray.java0000644000175000001440000000312012136160031025477 0ustar dokousers// Test for method java.lang.ClassFormatError.getClass().isArray() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassFormatError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassFormatError; /** * Test for method java.lang.ClassFormatError.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassFormatError final Object o = new ClassFormatError("ClassFormatError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/0000755000175000001440000000000012375316426022326 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/IllegalStateException/constructor.java0000644000175000001440000000520212217776021025551 0ustar dokousers// Test if instances of a class java.lang.IllegalStateException could be properly constructed // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; /** * Test if instances of a class java.lang.IllegalStateException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IllegalStateException object1 = new IllegalStateException(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.IllegalStateException"); IllegalStateException object2 = new IllegalStateException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.IllegalStateException: nothing happens"); IllegalStateException object3 = new IllegalStateException((String)null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.IllegalStateException"); IllegalStateException object4 = new IllegalStateException(new Throwable()); harness.check(object4 != null); harness.check(object4.toString(), "java.lang.IllegalStateException: java.lang.Throwable"); IllegalStateException object5 = new IllegalStateException((Throwable)null); harness.check(object5 != null); harness.check(object5.toString(), "java.lang.IllegalStateException"); IllegalStateException object6 = new IllegalStateException("nothing", new Throwable()); harness.check(object6 != null); harness.check(object6.toString(), "java.lang.IllegalStateException: nothing"); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/TryCatch.java0000644000175000001440000000332712217776021024713 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.IllegalStateException // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; /** * Test if try-catch block is working properly for a class java.lang.IllegalStateException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new IllegalStateException("IllegalStateException"); } catch (IllegalStateException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/0000755000175000001440000000000012375316426024247 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/getDeclaredConstructor.java0000644000175000001440000001020012222220021031524 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalStateException.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.IllegalStateException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.IllegalStateException", new Class[] {java.lang.String.class}); constructorsThatShouldExist_jdk6.put("java.lang.IllegalStateException", new Class[] {java.lang.String.class, java.lang.Throwable.class}); constructorsThatShouldExist_jdk6.put("java.lang.IllegalStateException", new Class[] {java.lang.Throwable.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.IllegalStateException", new Class[] {java.lang.Throwable.class}); constructorsThatShouldExist_jdk7.put("java.lang.IllegalStateException", new Class[] {java.lang.String.class, java.lang.Throwable.class}); constructorsThatShouldExist_jdk7.put("java.lang.IllegalStateException", new Class[] {java.lang.String.class}); constructorsThatShouldExist_jdk7.put("java.lang.IllegalStateException", new Class[] {}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/getPackage.java0000644000175000001440000000326612223221557027144 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().getPackage() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; /** * Test for method java.lang.IllegalStateException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/getDeclaredMethods.java0000644000175000001440000000622012222220021030611 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalStateException.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/getInterfaces.java0000644000175000001440000000332612217776021027675 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().getInterfaces() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.IllegalStateException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/getModifiers.java0000644000175000001440000000451712217776021027536 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().getModifiers() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; import java.lang.reflect.Modifier; /** * Test for method java.lang.IllegalStateException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/getDeclaredFields.java0000644000175000001440000000731712222220021030424 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().getDeclaredFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalStateException.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 testedDeclaredFields_jdk6.put("static final long java.lang.IllegalStateException.serialVersionUID", "serialVersionUID"); // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("static final long java.lang.IllegalStateException.serialVersionUID", "serialVersionUID"); // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/getDeclaredConstructors.java0000644000175000001440000001165112222220021031722 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalStateException.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.IllegalStateException()", "java.lang.IllegalStateException"); testedDeclaredConstructors_jdk6.put("public java.lang.IllegalStateException(java.lang.String)", "java.lang.IllegalStateException"); testedDeclaredConstructors_jdk6.put("public java.lang.IllegalStateException(java.lang.String,java.lang.Throwable)", "java.lang.IllegalStateException"); testedDeclaredConstructors_jdk6.put("public java.lang.IllegalStateException(java.lang.Throwable)", "java.lang.IllegalStateException"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.IllegalStateException(java.lang.Throwable)", "java.lang.IllegalStateException"); testedDeclaredConstructors_jdk7.put("public java.lang.IllegalStateException(java.lang.String,java.lang.Throwable)", "java.lang.IllegalStateException"); testedDeclaredConstructors_jdk7.put("public java.lang.IllegalStateException(java.lang.String)", "java.lang.IllegalStateException"); testedDeclaredConstructors_jdk7.put("public java.lang.IllegalStateException()", "java.lang.IllegalStateException"); // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/getField.java0000644000175000001440000000555312220764024026633 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().getField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalStateException.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/getFields.java0000644000175000001440000000571112220764024027012 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().getFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalStateException.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/isPrimitive.java0000644000175000001440000000322312220241345027400 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; /** * Test for method java.lang.IllegalStateException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/getSimpleName.java0000644000175000001440000000325512223221557027641 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; /** * Test for method java.lang.IllegalStateException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "IllegalStateException"); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/getEnclosingClass.java0000644000175000001440000000331012222474246030512 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().getEnclosingClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; /** * Test for method java.lang.IllegalStateException.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/isAnnotationPresent.java0000644000175000001440000000441112222746551031116 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; /** * Test for method java.lang.IllegalStateException.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/isSynthetic.java0000644000175000001440000000322312220241345027402 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; /** * Test for method java.lang.IllegalStateException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/isAnnotation.java0000644000175000001440000000322112222746551027553 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().isAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; /** * Test for method java.lang.IllegalStateException.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/isInstance.java0000644000175000001440000000331212223221557027201 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().isInstance(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; /** * Test for method java.lang.IllegalStateException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new IllegalStateException("java.lang.IllegalStateException"))); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/getDeclaredMethod.java0000644000175000001440000000615712222220021030437 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalStateException.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/getDeclaredClasses.java0000644000175000001440000000336412222474246030635 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; /** * Test for method java.lang.IllegalStateException.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/getComponentType.java0000644000175000001440000000330412221232566030406 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().getComponentType() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; /** * Test for method java.lang.IllegalStateException.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/getMethod.java0000644000175000001440000001432712220764024027027 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().getMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalStateException.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/isMemberClass.java0000644000175000001440000000323312220241345027626 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; /** * Test for method java.lang.IllegalStateException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/getConstructor.java0000644000175000001440000001014012221232566030123 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().getConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalStateException.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.IllegalStateException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.IllegalStateException", new Class[] {java.lang.String.class}); constructorsThatShouldExist_jdk6.put("java.lang.IllegalStateException", new Class[] {java.lang.String.class, java.lang.Throwable.class}); constructorsThatShouldExist_jdk6.put("java.lang.IllegalStateException", new Class[] {java.lang.Throwable.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.IllegalStateException", new Class[] {java.lang.Throwable.class}); constructorsThatShouldExist_jdk7.put("java.lang.IllegalStateException", new Class[] {java.lang.String.class, java.lang.Throwable.class}); constructorsThatShouldExist_jdk7.put("java.lang.IllegalStateException", new Class[] {java.lang.String.class}); constructorsThatShouldExist_jdk7.put("java.lang.IllegalStateException", new Class[] {}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/getSuperclass.java0000644000175000001440000000334312223221557027731 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().getSuperclass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; /** * Test for method java.lang.IllegalStateException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.RuntimeException"); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/isEnum.java0000644000175000001440000000317112222746551026351 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().isEnum() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; /** * Test for method java.lang.IllegalStateException.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/getMethods.java0000644000175000001440000001771112220764024027212 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().getMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalStateException.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/getAnnotations.java0000644000175000001440000000576412220764023030110 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().getAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.IllegalStateException.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/InstanceOf.java0000644000175000001440000000377712217776021027155 0ustar dokousers// Test for instanceof operator applied to a class java.lang.IllegalStateException // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; import java.lang.RuntimeException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.IllegalStateException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalStateException IllegalStateException o = new IllegalStateException("java.lang.IllegalStateException"); // basic check of instanceof operator harness.check(o instanceof IllegalStateException); // check operator instanceof against all superclasses harness.check(o instanceof RuntimeException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/getDeclaringClass.java0000644000175000001440000000331012222474246030461 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().getDeclaringClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; /** * Test for method java.lang.IllegalStateException.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/getAnnotation.java0000644000175000001440000000507312220764023027716 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().getAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; /** * Test for method java.lang.IllegalStateException.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/isAnonymousClass.java0000644000175000001440000000324112222746551030421 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().isAnonymousClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; /** * Test for method java.lang.IllegalStateException.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/getEnclosingMethod.java0000644000175000001440000000333012222474246030667 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; /** * Test for method java.lang.IllegalStateException.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/isInterface.java0000644000175000001440000000322312220241345027330 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().isInterface(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; /** * Test for method java.lang.IllegalStateException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/getConstructors.java0000644000175000001440000001124412221232566030314 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().getConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalStateException.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.IllegalStateException()", "java.lang.IllegalStateException"); testedConstructors_jdk6.put("public java.lang.IllegalStateException(java.lang.String)", "java.lang.IllegalStateException"); testedConstructors_jdk6.put("public java.lang.IllegalStateException(java.lang.String,java.lang.Throwable)", "java.lang.IllegalStateException"); testedConstructors_jdk6.put("public java.lang.IllegalStateException(java.lang.Throwable)", "java.lang.IllegalStateException"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.IllegalStateException(java.lang.Throwable)", "java.lang.IllegalStateException"); testedConstructors_jdk7.put("public java.lang.IllegalStateException(java.lang.String,java.lang.Throwable)", "java.lang.IllegalStateException"); testedConstructors_jdk7.put("public java.lang.IllegalStateException(java.lang.String)", "java.lang.IllegalStateException"); testedConstructors_jdk7.put("public java.lang.IllegalStateException()", "java.lang.IllegalStateException"); // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/isAssignableFrom.java0000644000175000001440000000330012223221557030326 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; /** * Test for method java.lang.IllegalStateException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(IllegalStateException.class)); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/getDeclaredAnnotations.java0000644000175000001440000000602412222474246031531 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.IllegalStateException.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/getDeclaredField.java0000644000175000001440000000572412222220021030241 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().getDeclaredField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalStateException.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { "serialVersionUID", }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/isLocalClass.java0000644000175000001440000000322712220241345027454 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; /** * Test for method java.lang.IllegalStateException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/getEnclosingConstructor.java0000644000175000001440000000337212222474246032002 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; /** * Test for method java.lang.IllegalStateException.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/getCanonicalName.java0000644000175000001440000000330012221232565030265 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; /** * Test for method java.lang.IllegalStateException.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.IllegalStateException"); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/getName.java0000644000175000001440000000323712217776021026473 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().getName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; /** * Test for method java.lang.IllegalStateException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.IllegalStateException"); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/getClasses.java0000644000175000001440000000332412221232565027200 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().getClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; /** * Test for method java.lang.IllegalStateException.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/IllegalStateException/classInfo/isArray.java0000644000175000001440000000317512222746551026527 0ustar dokousers// Test for method java.lang.IllegalStateException.getClass().isArray() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalStateException; /** * Test for method java.lang.IllegalStateException.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalStateException final Object o = new IllegalStateException("java.lang.IllegalStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/Double/0000755000175000001440000000000012375316450017304 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Double/doubleToInt.java0000644000175000001440000000465212062066274022405 0ustar dokousers// Test the conversion between double and int. // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA package gnu.testlet.java.lang.Double; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test the conversion between double and int. */ public class doubleToInt implements Testlet { /** * Entry point to this test. */ public void test(TestHarness harness) { testZero(harness); testPositiveValue(harness); testNegativeValue(harness); testNaN(harness); testPositiveInfinity(harness); testNegativeInfinity(harness); } public void testZero(TestHarness harness) { double value = 0.0D; boolean result = (int)value == 0; harness.check(result); } public void testPositiveValue(TestHarness harness) { double value = 123.456D; boolean result = (int)value == 123; harness.check(result); value = 456.789D; result = (int)value == 456; harness.check(result); } public void testNegativeValue(TestHarness harness) { double value = -123.456D; boolean result = (int)value == -123; harness.check(result); value = -456.789D; result = (int)value == -456; harness.check(result); } public void testNaN(TestHarness harness) { double value = 0.0D / 0.0D; boolean result = (int)value == 0; harness.check(result); } public void testPositiveInfinity(TestHarness harness) { double value = 100.0D / 0.0D; boolean result = (int)value == 0x7fffffff; harness.check(result); } public void testNegativeInfinity(TestHarness harness) { double value = -100.0D / 0.0D; boolean result = (int)value == 0x80000000; harness.check(result); } } mauve-20140821/gnu/testlet/java/lang/Double/parseDouble.java0000644000175000001440000001066610134050264022412 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Double; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Some checks for the parseDouble() method in the {@link Double} class. */ public class parseDouble implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testRegular(harness); testInfinities(harness); testNaN(harness); } /** * Tests some regular values. * * @param harness the test harness. */ public void testRegular(TestHarness harness) { harness.check(Double.parseDouble("1.0"), 1.0); harness.check(Double.parseDouble("+1.0"), 1.0); harness.check(Double.parseDouble("-1.0"), -1.0); harness.check(Double.parseDouble(" 1.0 "), 1.0); harness.check(Double.parseDouble(" -1.0 "), -1.0); harness.check(Double.parseDouble("2."), 2.0); harness.check(Double.parseDouble(".3"), 0.3); harness.check(Double.parseDouble("1e-9"), 1e-9); harness.check(Double.parseDouble("1e137"), 1e137); // test some bad formats try { /* double d = */ Double.parseDouble(""); harness.check(false); } catch (NumberFormatException e) { harness.check(true); } try { /* double d = */ Double.parseDouble("X"); harness.check(false); } catch (NumberFormatException e) { harness.check(true); } try { /* double d = */ Double.parseDouble("e"); harness.check(false); } catch (NumberFormatException e) { harness.check(true); } try { /* double d = */ Double.parseDouble("+ 1.0"); harness.check(false); } catch (NumberFormatException e) { harness.check(true); } try { /* double d = */ Double.parseDouble("- 1.0"); harness.check(false); } catch (NumberFormatException e) { harness.check(true); } // null argument should throw NullPointerException try { /* double d = */ Double.parseDouble(null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } } /** * Some checks for values that should parse to Double.POSITIVE_INFINITY * or Double.NEGATIVE_INFINITY. * * @param harness the test harness. */ public void testInfinities(TestHarness harness) { try { harness.check(Double.parseDouble("Infinity"), Double.POSITIVE_INFINITY); harness.check(Double.parseDouble("+Infinity"), Double.POSITIVE_INFINITY); harness.check(Double.parseDouble("-Infinity"), Double.NEGATIVE_INFINITY); harness.check(Double.parseDouble(" +Infinity "), Double.POSITIVE_INFINITY); harness.check(Double.parseDouble(" -Infinity "), Double.NEGATIVE_INFINITY); } catch (Exception e) { harness.check(false); harness.debug(e); } harness.check(Double.parseDouble("1e1000"), Double.POSITIVE_INFINITY); harness.check(Double.parseDouble("-1e1000"), Double.NEGATIVE_INFINITY); } /** * Some checks for 'NaN' values. * * @param harness the test harness. */ public void testNaN(TestHarness harness) { try { harness.check(Double.isNaN(Double.parseDouble("NaN"))); harness.check(Double.isNaN(Double.parseDouble("+NaN"))); harness.check(Double.isNaN(Double.parseDouble("-NaN"))); harness.check(Double.isNaN(Double.parseDouble(" +NaN "))); harness.check(Double.isNaN(Double.parseDouble(" -NaN "))); } catch (Exception e) { harness.check(false); harness.debug(e); } } } mauve-20140821/gnu/testlet/java/lang/Double/valueOfDouble.java0000644000175000001440000000536212016705506022705 0ustar dokousers// Test of Double method valueOf(double). // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.4 // Tags: CompileOptions: -source 1.4 -target 1.4 package gnu.testlet.java.lang.Double; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Some checks for the valueOf(double) method in the {@link Double} class. */ public class valueOfDouble implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testRegular(harness); testInfinities(harness); testNaN(harness); } /** * Tests some regular values. * * @param harness the test harness. */ public void testRegular(TestHarness harness) { harness.check(Double.valueOf(1.0), new Double(1.0)); harness.check(Double.valueOf(+1.0), new Double(1.0)); harness.check(Double.valueOf(-1.0), new Double(-1.0)); harness.check(Double.valueOf(42.), new Double(42.0)); harness.check(Double.valueOf(.42), new Double(0.42)); harness.check(Double.valueOf(Double.MIN_VALUE), new Double(Double.MIN_VALUE)); harness.check(Double.valueOf(Double.MAX_VALUE), new Double(Double.MAX_VALUE)); } /** * Some checks for values that should be read as Double.POSITIVE_INFINITY * or Double.NEGATIVE_INFINITY. * * @param harness the test harness. */ public void testInfinities(TestHarness harness) { harness.check(Double.valueOf(Double.POSITIVE_INFINITY), new Double(Double.POSITIVE_INFINITY)); harness.check(Double.valueOf(Double.NEGATIVE_INFINITY), new Double(Double.NEGATIVE_INFINITY)); } /** * Some checks for 'NaN' values. * * @param harness the test harness. */ public void testNaN(TestHarness harness) { harness.check(Double.valueOf(Double.NaN), new Double(Double.NaN)); harness.check(Double.valueOf(-Double.NaN), new Double(Double.NaN)); harness.check(Double.valueOf(+Double.NaN), new Double(Double.NaN)); } } mauve-20140821/gnu/testlet/java/lang/Double/new_Double.java0000644000175000001440000000377006634200722022234 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Double; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class new_Double implements Testlet { public void test (TestHarness harness) { // Some broken implementations convert "7.79625120912E289" to // the value 7.796251209119999E289. harness.check (new Double("7.79625120912E289").toString (), "7.79625120912E289"); // A few simple test cases. harness.check (new Double(22.0/7.0).toString (), "3.142857142857143"); harness.check (new Double(Math.PI).toString (), "3.141592653589793"); harness.check (Double.valueOf (new Double(Math.PI).toString ()), new Double(Math.PI)); harness.check (Double.valueOf (new Double(-Math.PI).toString ()), new Double(-Math.PI)); harness.check (new Double(Double.MAX_VALUE).toString (), "1.7976931348623157E308"); harness.check (new Double(-Double.MAX_VALUE).toString (), "-1.7976931348623157E308"); harness.check (new Double(Double.POSITIVE_INFINITY).toString (), "Infinity"); harness.check (new Double(-Double.POSITIVE_INFINITY).toString (), "-Infinity"); harness.check (new Double(Double.NaN).toString (), "NaN"); } } mauve-20140821/gnu/testlet/java/lang/Double/DoubleSetterTest.java0000644000175000001440000000503710367246556023425 0ustar dokousers/* Copyright (C) 1999, 2002 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.1 package gnu.testlet.java.lang.Double; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class DoubleSetterTest implements Testlet { protected static TestHarness harness; /** * Tests the conversion of behaviour of max values when converting from double into Double */ public void test_max() { // Check directly the MAX_VALUE against NaN harness.check(!Double.isNaN(Double.MAX_VALUE)); harness.check(!Double.isNaN(new Double(Double.MAX_VALUE).doubleValue())); // Check the MAX_VALUE against NaN via a direct method setter DoubleHolder doubleHolder = new DoubleHolder(); doubleHolder.setValue(Double.MAX_VALUE); harness.check(Double.MAX_VALUE, doubleHolder.getValue()); // Check the MAX_VALUE against NaN via a setter called by reflection DoubleHolder doubleHolder2 = new DoubleHolder(); try { Method setMethod = DoubleHolder.class.getDeclaredMethod("setValue", new Class[] {double.class}); setMethod.invoke(doubleHolder2, new Object[] {new Double(Double.MAX_VALUE)}); } catch (NoSuchMethodException e) { harness.fail("no method setValue"); } catch (IllegalAccessException e) { harness.fail("illegal access"); } catch (InvocationTargetException e) { harness.fail("invocation failed"); } harness.check(!Double.isNaN(doubleHolder2.getValue())); } /** * Simple holder used to test various way of setting and getting primitive double */ private static class DoubleHolder { private double value; public double getValue() { return value; } public void setValue(double value) { this.value = value; } } public void test (TestHarness the_harness) { harness = the_harness; test_max(); } } mauve-20140821/gnu/testlet/java/lang/Double/compare.java0000644000175000001440000000410510113714746021573 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.Double; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Some tests for the compare() method in the {@link Double} class. */ public class compare implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.check(Double.compare(0.0, 1.0) < 0); harness.check(Double.compare(0.0, 0.0) == 0); harness.check(Double.compare(1.0, 0.0) > 0); harness.check(Double.compare(Double.POSITIVE_INFINITY, 0.0) > 0); harness.check(Double.compare(Double.POSITIVE_INFINITY, Double.POSITIVE_INFINITY) == 0); harness.check(Double.compare(0.0f, Double.POSITIVE_INFINITY) < 0); harness.check(Double.compare(Double.NEGATIVE_INFINITY, 0.0) < 0); harness.check(Double.compare(Double.NEGATIVE_INFINITY, Double.NEGATIVE_INFINITY) == 0); harness.check(Double.compare(0.0, Double.NEGATIVE_INFINITY) > 0); harness.check(Double.compare(Double.NaN, 0.0) > 0); harness.check(Double.compare(Double.NaN, Double.NaN) == 0); harness.check(Double.compare(0.0f, Double.NaN) < 0); harness.check(Double.compare(0.0, -0.0) > 0); harness.check(Double.compare(-0.0, 0.0) < 0); } }mauve-20140821/gnu/testlet/java/lang/Double/toHexString.java0000644000175000001440000000547711632421517022436 0ustar dokousers/* toHexString.java -- test Double.toHexString Copyright (C) 2005 Red Hat, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.java.lang.Double; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * @author Tom Tromey * @author Pavel Tisnovsky (ptisnovs at redhat dot com) */ public class toHexString implements Testlet { public void test(TestHarness harness) { // special cases harness.check(Double.toHexString(Double.NaN), "NaN"); harness.check(Double.toHexString(Double.NEGATIVE_INFINITY), "-Infinity"); harness.check(Double.toHexString(Double.POSITIVE_INFINITY), "Infinity"); harness.check(Double.toHexString(0.0), "0x0.0p0"); harness.check(Double.toHexString(-0.0), "-0x0.0p0"); // normalized values harness.check(Double.toHexString(0.125), "0x1.0p-3"); harness.check(Double.toHexString(0.25), "0x1.0p-2"); harness.check(Double.toHexString(0.5), "0x1.0p-1"); harness.check(Double.toHexString(1.0), "0x1.0p0"); harness.check(Double.toHexString(2.0), "0x1.0p1"); harness.check(Double.toHexString(4.0), "0x1.0p2"); harness.check(Double.toHexString(8.0), "0x1.0p3"); harness.check(Double.toHexString(65536.0), "0x1.0p16"); // 2^10 harness.check(Double.toHexString(1024.0), "0x1.0p10"); // 2^20 harness.check(Double.toHexString(1048576.0), "0x1.0p20"); // 2^30 harness.check(Double.toHexString(1073741824.0), "0x1.0p30"); // well-known problematic case //harness.check(Double.toHexString(0.1), "0x1.999999999999ap-4"); // subnormalized values harness.check(Double.toHexString( Double.longBitsToDouble(0x0010000000000000L)), "0x1.0p-1022"); harness.check(Double.toHexString(-Double.longBitsToDouble(0x0010000000000000L)), "-0x1.0p-1022"); // max and min representable values harness.check(Double.toHexString( Double.MAX_VALUE), "0x1.fffffffffffffp1023"); harness.check(Double.toHexString(-Double.MAX_VALUE), "-0x1.fffffffffffffp1023"); harness.check(Double.toHexString( Double.MIN_VALUE), "0x0.0000000000001p-1022"); harness.check(Double.toHexString(-Double.MAX_VALUE), "-0x1.fffffffffffffp1023"); } } mauve-20140821/gnu/testlet/java/lang/Double/DoubleTest.java0000644000175000001440000004532210533116166022223 0ustar dokousers/* Copyright (C) 1999, 2002 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.0 package gnu.testlet.java.lang.Double; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class DoubleTest implements Testlet { protected static TestHarness harness; public void test_Basics() { double min1 = 5e-324; double min2 = Double.MIN_VALUE; double max1 = 1.7976931348623157e+308; double max2 = Double.MAX_VALUE; double ninf1 = -1.0/0.0; double ninf2 = Double.NEGATIVE_INFINITY; double pinf1 = 1.0/0.0; double pinf2 = Double.POSITIVE_INFINITY; Double nan1 = new Double(0.0/0.0); Double nan2 = new Double(Double.NaN); if ( min1 != min2 ) { harness.fail("test_Basics - 1a"); System.out.println("Expected: " + min1); System.out.println("Got: " + min2); } if ( max1 != max2 ) { harness.fail("test_Basics - 1b"); System.out.println("Expected: " + max1); System.out.println("Got: " + max2); } if (ninf1 != ninf2) { harness.fail("test_Basics - 1c"); System.out.println("Expected: " + ninf1); System.out.println("Got: " + ninf2); } if (pinf1 != pinf2) { harness.fail("test_Basics - 1d"); System.out.println("Expected: " + pinf1); System.out.println("Got: " + pinf2); } if (!nan2.equals(nan1) ) { harness.fail("test_Basics CYGNUS: NaN.equals - 1e"); System.out.println("Expected: " + nan1); System.out.println("Got: " + nan2); } Double i1 = new Double(100.5); harness.check(!( i1.doubleValue() != 100.5 ), "test_Basics - 2" ); try { harness.check(!( (new Double("234.34")).doubleValue() != 234.34 ), "test_Basics - 3" ); } catch ( NumberFormatException e ) { harness.fail("test_Basics - 3" ); } try { harness.check(!( (new Double("1.4e-45")).doubleValue() != 1.4e-45 ), "test_Basics - 4" ); } catch ( NumberFormatException e ) { harness.fail("test_Basics - 4" ); } try { new Double("babu"); harness.fail("test_Basics - 5" ); } catch ( NumberFormatException e ) { } harness.check(!( (new Double(3.4)).doubleValue() != 3.4 ), "test_Basics - 6" ); Double nan = new Double(Double.NaN ); harness.check(!( !nan.isNaN()), "test_Basics - 7" ); harness.check(!( (new Double(10.0f)).isNaN()), "test_Basics - 8" ); harness.check(!( !Double.isNaN( Double.NaN )), "test_Basics - 9" ); harness.check(!( !(new Double(Double.POSITIVE_INFINITY)).isInfinite()), "test_Basics - 10" ); harness.check(!( !(new Double(Double.NEGATIVE_INFINITY)).isInfinite()), "test_Basics - 11" ); harness.check(!( !( Double.isInfinite( Double.NEGATIVE_INFINITY))), "test_Basics - 12" ); harness.check(!( !( Double.isInfinite( Double.POSITIVE_INFINITY))), "test_Basics - 13" ); harness.check(!( 0.0 - 0.0 != 0.0), "test_Basics - 14" ); harness.check(!( 0.0 + 0.0 != 0.0), "test_Basics - 15" ); harness.check(!( 0.0 + -0.0 != 0.0), "test_Basics - 16" ); harness.check(!( 0.0 - -0.0 != 0.0), "test_Basics - 17" ); harness.check(!( -0.0 - 0.0 != -0.0), "test_Basics - 18" ); harness.check(!( -0.0 + 0.0 != 0.0), "test_Basics - 19" ); harness.check(!( -0.0 + -0.0 != -0.0), "test_Basics - 20" ); harness.check(!( -0.0 - -0.0 != 0.0), "test_Basics - 21" ); harness.check(!( !"0.0".equals(0.0 - 0.0 +"" )), "test_Basics - 22" ); } public void test_toString() { harness.check(!( !( new Double(123.0)).toString().equals("123.0")), "test_toString - 1" ); harness.check(!( !( new Double(-44.5343)).toString().equals("-44.5343")), "test_toString - 2" ); harness.check(!( !Double.toString( 23.04 ).equals ("23.04" )), "test_toString - 3" ); harness.check(!( !Double.toString( Double.NaN ).equals ("NaN" )), "test_toString - 4" ); harness.check(!( !Double.toString( Double.POSITIVE_INFINITY ).equals ("Infinity" )), "test_toString - 5" ); harness.check(!( !Double.toString( Double.NEGATIVE_INFINITY ).equals ("-Infinity" )), "test_toString - 6" ); harness.check(!( !Double.toString( 0.0 ).equals ("0.0" )), "test_toString - 7" ); String str; str = Double.toString( -0.0 ); harness.check(!( !str.equals ("-0.0" )), "test_toString - 8" ); str = Double.toString( -9412128.34 ); harness.check(!( !str.equals ("-9412128.34" )), "test_toString - 9" ); // The following case fails for some Sun JDKs (e.g. 1.3.1 // and 1.4.0) where toString(0.001) returns "0.0010". This // is contrary to the JDK 1.4 javadoc. This particular // case has been noted as a comment to Sun Java bug #4642835 str = Double.toString( 0.001 ); if ( !Double.toString( 0.001 ).equals ("0.001" )) { harness.fail("test_toString - 10" ); System.out.println("Expected: " + "0.001"); System.out.println("Got: " + Double.toString(0.001)); } str = Double.toString( 1e4d ); if ( !Double.toString( 1e4d ).equals ("10000.0" )) { harness.fail("test_toString - 11" ); System.out.println("Expected: " + "10000.0"); System.out.println("Got: " + Double.toString(1e4d)); } str = Double.toString(33333333.33 ); if ( !(new Double( str)).equals(new Double(33333333.33))) { harness.fail("test_toString - 12" ); System.out.println("Expected: " + (new Double(33333333.33)).toString()); System.out.println("Got: " + (new Double(str)).toString()); } str = Double.toString(-123232324253.32 ); if ( !(new Double( str)).equals(new Double(-123232324253.32))) { harness.fail("test_toString - 13" ); System.out.println("Expected: " + (new Double(-123232324253.32)).toString()); System.out.println("Got: " + (new Double(str)).toString()); } str = Double.toString(1.243E10); if ( !(new Double( str)).equals(new Double(1.243E10))) { harness.fail("test_toString - 14" ); System.out.println("Expected: " + (new Double(1.243E10)).toString()); System.out.println("Got: " + (new Double(str)).toString()); } str = Double.toString(Double.MIN_VALUE); if ( !str.equals("4.9E-324")) { harness.fail("test_toString - 15" ); harness.debug("Expected: 4.9E-324"); harness.debug("Got: " + str); } /* str = Double.toString(-23.43E33); if ( !(new Double( str)).equals(new Double(-23.43E33))) harness.fail("test_toString - 16" ); */ } public void test_equals() { Double i1 = new Double(2334.34E4); Double i2 = new Double(-2334.34E4); harness.check(!( !i1.equals( new Double(2334.34E4))), "test_equals - 1" ); harness.check(!( !i2.equals( new Double(-2334.34E4))), "test_equals - 2" ); harness.check(!( i1.equals( i2 )), "test_equals - 3" ); harness.check(!( i1.equals(null)), "test_equals - 4" ); double n1 = Double.NaN; double n2 = Double.NaN; harness.check(!( n1 == n2 ), "test_equals - 5" ); Double flt1 = new Double( Double.NaN); Double flt2 = new Double( Double.NaN); harness.check(!( !flt1.equals(flt2)), "test_equals CYGNUS: NaN.equals - 6" ); harness.check(!( 0.0 != -0.0 ), "test_equals - 7" ); Double pzero = new Double( 0.0 ); Double nzero = new Double( -0.0 ); harness.check(!( pzero.equals(nzero) ), "test_equals CYGNUS: Double.equals - 8" ); } public void test_hashCode( ) { Double flt1 = new Double(3.4028235e+38); long lng1 = Double.doubleToLongBits( 3.4028235e+38); harness.check(!( flt1.hashCode() != (int) ( lng1^(lng1>>>32)) ), "test_hashCode - 1"); Double flt2 = new Double( -2343323354.0 ); long lng2 = Double.doubleToLongBits( -2343323354.0 ); harness.check(!( flt2.hashCode() != (int) ( lng2^(lng2>>>32)) ), "test_hashCode - 2"); } public void test_intValue( ) { Double b1 = new Double(3.4e+32); Double b2 = new Double(-23.45); int i1 = b1.intValue(); int i2 = b2.intValue(); harness.check(!( i1 != (int) 3.4e+32), "test_intValue CYGNUS: Float to int conversions - 1" ); harness.check(!( i2 != (int) -23.45 ), "test_intValue - 2" ); Double b3 = new Double(3000.54); harness.check(!( b3.intValue() != 3000 ), "test_intValue - 3" ); Double b4 = new Double(32735.3249); harness.check(!( b4.intValue() != 32735 ), "test_intValue - 4" ); Double b5 = new Double(-32735.3249); harness.check(!( b5.intValue() != -32735 ), "test_intValue - 5" ); Double b6 = new Double(-32735.3249); harness.check(!( b6.intValue() != -32735 ), "test_intValue - 6" ); Double b7 = new Double(0.0); harness.check(!( b7.intValue() != 0 ), "test_intValue - 7" ); } public void test_longValue( ) { Double b1 = new Double(3.4e+32); Double b2 = new Double(-23.45); harness.check(!( b1.longValue() != (long) 3.4e+32), "test_longValue CYGNUS: Float to int conversions - 1" ); harness.check(!( b2.longValue() != (long) -23.45 ), "test_longValue - 2" ); } public void test_DoubleValue( ) { Double b1 = new Double(3276.34); Double b2 = new Double(-3276.32); harness.check(!( b1.doubleValue() != 3276.34 ), "test_DoubleValue - 1" ); harness.check(!( b2.doubleValue() != -3276.32 ), "test_DoubleValue - 2" ); } public void test_doubleValue( ) { Double b1 = new Double(0.0); Double b2 = new Double(30.0); harness.check(!( b1.doubleValue() != 0.0 ), "test_doubleValue - 1" ); harness.check(!( b2.doubleValue() != 30.0 ), "test_doubleValue - 2" ); } public void test_floatValue( ) { Double b1 = new Double(0.0); Double b2 = new Double(30.0); harness.check(!( b1.floatValue() != 0.0f ), "test_floatValue - 1" ); harness.check(!( b2.floatValue() != 30.0f ), "test_floatValue - 2" ); } public void test_valueOf( ) { try { Double.valueOf(null); harness.fail("test_valueOf - 1" ); } catch ( NumberFormatException nfe ) {harness.check(false, "test_valueOf null should throw NullPointerException");} catch ( NullPointerException e ) {harness.check(true, "test_valueOf null");} try { Double.valueOf("Kona"); harness.fail("test_valueOf - 2" ); }catch( NumberFormatException e) {} harness.check(!( Double.valueOf( "3.4e+32" ).doubleValue() != 3.4e+32 ), "test_valueOf - 3" ); harness.check(!( Double.valueOf(" -23.45 ").doubleValue() != -23.45 ), "test_valueOf - 4" ); } public void test_parseDouble( ) { try { Double.parseDouble(null); harness.fail("test_parseDouble - 1" ); } catch ( NumberFormatException nfe ) {harness.check(false, "test_parseDouble null should throw NullPointerException");} catch ( NullPointerException e ) {harness.check(true, "test_parseDouble null");} try { Double.parseDouble("Kona"); harness.fail("test_parseDouble - 2" ); }catch( NumberFormatException e) {} harness.check(!( Double.parseDouble( "3.4e+32" ) != 3.4e+32 ), "test_parseDouble - 3" ); harness.check(!( Double.parseDouble(" -23.45 ") != -23.45 ), "test_parseDouble - 4" ); } public void test_doubleToLongBits() { harness.check(!( Double.doubleToLongBits( Double.POSITIVE_INFINITY ) != 0x7ff0000000000000L ), "test_doubleToLongBits - 1" ); harness.check(!( Double.doubleToLongBits( Double.NEGATIVE_INFINITY ) != 0xfff0000000000000L ), "test_doubleToLongBits - 2" ); long nanval = Double.doubleToLongBits( Double.NaN ); harness.check(!( nanval != 0x7ff8000000000000L ), "test_doubleToLongBits CYGNUS: NaN.doubleToLongBits" ); long i1 = Double.doubleToLongBits(3.4e+32f); long i2 = Double.doubleToLongBits(-34.56f); long sign1 = i1 & 0x8000000000000000L ; long sign2 = i2 & 0x8000000000000000L ; long exp1 = i1 & 0x7ff0000000000000L ; long exp2 = i2 & 0x7ff0000000000000L ; long man1 = i1 & 0x000fffffffffffffL ; long man2 = i2 & 0x000fffffffffffffL ; harness.check(!(sign1 != 0 ), "test_doubleToLongBits - 4" ); harness.check(!( sign2 != 0x8000000000000000L ), "test_doubleToLongBits - 5" ); harness.check(!( exp1 != 5093571178556030976L ), "test_doubleToLongBits - 6" ); harness.check(!( exp2 != 4629700416936869888L ), "test_doubleToLongBits - 7" ); harness.check(!( man1 != 214848222789632L ), "test_doubleToLongBits - 8" ); harness.check(!( man2 != 360288163463168L ), "test_doubleToLongBits - 9" ); } public void test_longBitsToDouble( ) { harness.check(!( Double.longBitsToDouble( 0x7ff0000000000000L) != Double.POSITIVE_INFINITY ), "test_longBitsToDouble - 1" ); harness.check(!( Double.longBitsToDouble( 0xfff0000000000000L ) != Double.NEGATIVE_INFINITY ), "test_longBitsToDouble - 2" ); harness.check(!( !Double.isNaN(Double.longBitsToDouble( 0xfff8000000000000L ))), "test_longBitsToDouble - 3" ); harness.check(!( !Double.isNaN(Double.longBitsToDouble( 0x7ffffff000000000L ))), "test_longBitsToDouble - 4" ); harness.check(!( !Double.isNaN(Double.longBitsToDouble( 0xfff8000020000001L ))), "test_longBitsToDouble - 5" ); harness.check(!( !Double.isNaN(Double.longBitsToDouble( 0xfffffffffffffff1L ))), "test_longBitsToDouble - 6" ); double fl1 = Double.longBitsToDouble( 0x34343f33 ); if ( Double.doubleToLongBits(fl1) != 0x34343f33 ) { harness.fail("test_longBitsToDouble - 7" ); System.out.println("Expected: " + Long.toHexString(0x34343f33)); System.out.println("Got: " + Long.toHexString(Double.doubleToLongBits(fl1))); } harness.check(!( Double.doubleToLongBits( Double.longBitsToDouble(0x33439943)) != 0x33439943 ), "test_longBitsToDouble - 8"); } public void check_remainder( double val, double val1 , double ret , int errno ) { double res = val % val1; harness.check(!( res < ret - 0.001 || res > ret + 0.001 ), "test_remainder " + errno ); } public void check_remainder_NaN( double val, double val1 , int errno ) { double res = val % val1; if (!Double.isNaN(res)) { harness.fail("test_remainder " + errno); } } public void test_remainder( ) { check_remainder(15.2 , 1.0 , 0.2, 1 ); check_remainder(2345.2432 , 1.2 ,0.44319999999997 , 2 ); check_remainder(20.56 , 1.87 ,1.8600000000000 , 3 ); check_remainder(0.0 , 1.2 , 0.00000000000000 , 4 ); check_remainder(1000 , 10 , 0.00000000000000 , 5 ); check_remainder(234.332 , 134.34 , 99.992000000000 , 6 ); check_remainder(1.0 , 1.0, 0.0 , 7 ); check_remainder(45.0 , 5.0, 0.0 , 8 ); check_remainder(1.25 , 0.50 , 0.25 , 9 ); check_remainder(12345.678, 1234.5678, 1234.5678000000 , 10 ); if (!System.getProperty("os.name").equals("VxWorks")){ // bug EJWcr00686, has not been fixed yet. // Test is disabled for smallvm 2.0.1 release. check_remainder(Double.MAX_VALUE , Double.MIN_VALUE , 0.00000000000000 , 11 ); } check_remainder(0.0 , 999.99, 0.00000000000000 , 12 ); check_remainder(123.0 , 25.0 , 23.0 , 13 ); check_remainder(15.0 , 1.5 , 0.00 , 14 ); check_remainder_NaN(Double.NaN, 1.5 , 15 ); check_remainder_NaN(1.5, Double.NaN, 16 ); check_remainder_NaN(Double.NaN, 0, 17 ); check_remainder_NaN(0, Double.NaN, 18 ); check_remainder_NaN(Double.POSITIVE_INFINITY, 1.5, 19 ); check_remainder_NaN(Double.NEGATIVE_INFINITY, 1.5, 20 ); check_remainder_NaN(1.5, 0, 21 ); check_remainder_NaN(Double.POSITIVE_INFINITY, 0, 22 ); check_remainder_NaN(Double.NEGATIVE_INFINITY, 0, 23 ); // EJWcr00505 check_remainder(15.0 , Double.POSITIVE_INFINITY, 15.0 , 24 ); check_remainder(-15.0 , Double.POSITIVE_INFINITY, -15.0 , 25 ); check_remainder(0.0 , Double.POSITIVE_INFINITY, 0.0 , 26 ); check_remainder(-0.0 , Double.POSITIVE_INFINITY, -0.0 , 27 ); check_remainder(0.1 , Double.POSITIVE_INFINITY, 0.1 , 28 ); check_remainder(-0.1 , Double.POSITIVE_INFINITY, -0.1 , 29 ); check_remainder(15.0 , Double.NEGATIVE_INFINITY, 15.0 , 30 ); check_remainder(-15.0 , Double.NEGATIVE_INFINITY, -15.0 , 31 ); check_remainder(0.0 , Double.NEGATIVE_INFINITY, 0.0 , 32 ); check_remainder(-0.0 , Double.NEGATIVE_INFINITY, -0.0 , 33 ); check_remainder(0.1 , Double.NEGATIVE_INFINITY, 0.1 , 34 ); check_remainder(-0.1 , Double.NEGATIVE_INFINITY, -0.1 , 35 ); } public void test_shortbyteValue() { Double d1 = new Double( 123.35 ); Double d2 = new Double( 400.35 ); Double d3 = new Double(0.0 ); harness.check(!( d1.shortValue() != 123 ), "test_shortbyteValue - 1" ); harness.check(!( d2.shortValue() != 400 ), "test_shortbyteValue - 2" ); harness.check(!( d3.shortValue() != 0 ), "test_shortbyteValue - 3" ); harness.check(!( d1.byteValue() != 123 ), "test_shortbyteValue - 4" ); harness.check(!( d2.byteValue() != (byte) 400 ), "test_shortbyteValue - 5" ); harness.check(!( d3.byteValue() != 0 ), "test_shortbyteValue - 6" ); } public void test_neg() { double zero = 0.0; String zero1 = String.valueOf(zero); if (!zero1.equals("0.0")) { harness.fail("test_neg - 1"); } zero = -zero; String zero2 = String.valueOf(zero); if (!zero2.equals("-0.0")) { harness.fail("test_neg - 2"); System.out.println("Expected -0.0, got: " + zero2); } zero = -zero; String zero3 = String.valueOf(zero); if (!zero3.equals("0.0")) { harness.fail("test_neg - 3"); } double nonzero = -21.23; String nonzero1 = String.valueOf(nonzero); if (!nonzero1.equals("-21.23")) { harness.fail("test_neg - 4"); } nonzero = -nonzero; String nonzero2 = String.valueOf(nonzero); if (!nonzero2.equals("21.23")) { harness.fail("test_neg - 5"); } nonzero = -nonzero; String nonzero3 = String.valueOf(nonzero); if (!nonzero3.equals("-21.23")) { harness.fail("test_neg - 6"); } } public void testall() { test_Basics(); test_remainder(); test_toString(); test_equals(); test_hashCode(); test_intValue(); test_longValue(); test_DoubleValue(); test_doubleValue(); test_floatValue(); test_shortbyteValue(); test_valueOf(); test_parseDouble(); test_doubleToLongBits(); test_longBitsToDouble(); test_neg(); } public void test (TestHarness the_harness) { harness = the_harness; testall (); } } mauve-20140821/gnu/testlet/java/lang/Double/doubleToLongBits.java0000644000175000001440000000431012016705506023360 0ustar dokousers// Test of Double method doubleToLongBits(double). // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA package gnu.testlet.java.lang.Double; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test the method Double.doubleToLongBits(double); */ public class doubleToLongBits implements Testlet { /** * Entry point to this test. */ public void test(TestHarness harness) { harness.check(0x0000000000000000L, Double.doubleToLongBits(0)); harness.check(0x3ff0000000000000L, Double.doubleToLongBits(1)); harness.check(0x4000000000000000L, Double.doubleToLongBits(2)); harness.check(0x408f400000000000L, Double.doubleToLongBits(1000)); harness.check(0xbff0000000000000L, Double.doubleToLongBits(-1)); harness.check(0xc000000000000000L, Double.doubleToLongBits(-2)); harness.check(0xc08f400000000000L, Double.doubleToLongBits(-1000)); harness.check(0x7ff0000000000000L, Double.doubleToLongBits(Double.POSITIVE_INFINITY)); harness.check(0xfff0000000000000L, Double.doubleToLongBits(Double.NEGATIVE_INFINITY)); harness.check(0x7fefffffffffffffL, Double.doubleToLongBits(Double.MAX_VALUE)); harness.check(0x0000000000000001L, Double.doubleToLongBits(Double.MIN_VALUE)); harness.check(0xffefffffffffffffL, Double.doubleToLongBits(-Double.MAX_VALUE)); harness.check(0x8000000000000001L, Double.doubleToLongBits(-Double.MIN_VALUE)); harness.check(0x7ff8000000000000L, Double.doubleToLongBits(Double.NaN)); } } mauve-20140821/gnu/testlet/java/lang/Double/compareToObject.java0000644000175000001440000000513012016705506023222 0ustar dokousers// Test of Double method compareTo(Object). // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.4 // Tags: CompileOptions: -source 1.4 -target 1.4 package gnu.testlet.java.lang.Double; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test the method Double.compareTo(Object); */ public class compareToObject implements Testlet { public static final int LESS = -1; public static final int EQUAL = 0; public static final int GREATER = 1; TestHarness harness; void compare(Double i1, Object o, int expected) { // the result need not be -1, 0, 1; just <0, 0, >0 int result = i1.compareTo(o); switch (expected) { case LESS: harness.check(result < 0); break; case EQUAL: harness.check(result == 0); break; case GREATER: harness.check(result > 0); break; default: throw new Error(); } } /** * Entry point to this test. */ public void test(TestHarness harness) { this.harness = harness; Object o = new Double("0.0"); harness.check(((Comparable)new Double("0.0")).compareTo(o) == 0); boolean ok = false; try { new Double("0.0").compareTo((Double) null); } catch (NullPointerException e) { ok = true; } harness.check(ok); harness.checkPoint("negative test"); try { Double a; Byte b; a = new Double(0.1); b = new Byte((byte)1); compare(a,b,1); harness.fail("Exception should be thrown here."); } catch (ClassCastException e) { // ok - exception was thrown harness.check(true); } try { Double a; String b; a = new Double(0.1); b = "foobar"; compare(a,b,1); harness.fail("Exception should be thrown here."); } catch (ClassCastException e) { // ok - exception was thrown harness.check(true); } } } mauve-20140821/gnu/testlet/java/lang/Double/doubleToLong.java0000644000175000001440000000470712062324470022546 0ustar dokousers// Test the conversion between double and long. // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA package gnu.testlet.java.lang.Double; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test the conversion between double and long. */ public class doubleToLong implements Testlet { /** * Entry point to this test. */ public void test(TestHarness harness) { testZero(harness); testPositiveValue(harness); testNegativeValue(harness); testNaN(harness); testPositiveInfinity(harness); testNegativeInfinity(harness); } public void testZero(TestHarness harness) { double value = 0.0D; boolean result = (long)value == 0; harness.check(result); } public void testPositiveValue(TestHarness harness) { double value = 123.456D; boolean result = (long)value == 123; harness.check(result); value = 456.789D; result = (long)value == 456; harness.check(result); } public void testNegativeValue(TestHarness harness) { double value = -123.456D; boolean result = (long)value == -123; harness.check(result); value = -456.789D; result = (long)value == -456; harness.check(result); } public void testNaN(TestHarness harness) { double value = 0.0D / 0.0D; boolean result = (long)value == 0; harness.check(result); } public void testPositiveInfinity(TestHarness harness) { double value = 100.0D / 0.0D; boolean result = (long)value == 0x7fffffffffffffffL; harness.check(result); } public void testNegativeInfinity(TestHarness harness) { double value = -100.0D / 0.0D; boolean result = (long)value == 0x8000000000000000L; harness.check(result); } } mauve-20140821/gnu/testlet/java/lang/Double/compareTo.java0000644000175000001440000000643110544512702022076 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.Double; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Some tests for the compareTo() method in the {@link Float} class. */ public class compareTo implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("compareTo(Double)"); Double d1 = new Double(Double.NEGATIVE_INFINITY); Double d2 = new Double(-1.0); Double d3 = new Double(0.0); Double d4 = new Double(1.0); Double d5 = new Double(Double.POSITIVE_INFINITY); harness.check(d1.compareTo(d1) == 0); harness.check(d1.compareTo(d2) < 0); harness.check(d1.compareTo(d3) < 0); harness.check(d1.compareTo(d4) < 0); harness.check(d1.compareTo(d5) < 0); harness.check(d2.compareTo(d1) > 0); harness.check(d2.compareTo(d2) == 0); harness.check(d2.compareTo(d3) < 0); harness.check(d2.compareTo(d4) < 0); harness.check(d2.compareTo(d5) < 0); harness.check(d3.compareTo(d1) > 0); harness.check(d3.compareTo(d2) > 0); harness.check(d3.compareTo(d3) == 0); harness.check(d3.compareTo(d4) < 0); harness.check(d3.compareTo(d5) < 0); harness.check(d4.compareTo(d1) > 0); harness.check(d4.compareTo(d2) > 0); harness.check(d4.compareTo(d3) > 0); harness.check(d4.compareTo(d4) == 0); harness.check(d4.compareTo(d5) < 0); harness.check(d5.compareTo(d1) > 0); harness.check(d5.compareTo(d2) > 0); harness.check(d5.compareTo(d3) > 0); harness.check(d5.compareTo(d4) > 0); harness.check(d5.compareTo(d5) == 0); boolean pass = false; try { ((Comparable)d1).compareTo((Float) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void test2(TestHarness harness) { harness.checkPoint("compareTo(Object)"); Double d1 = new Double(Double.NEGATIVE_INFINITY); boolean pass = false; try { ((Comparable)d1).compareTo((Object) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { ((Comparable)d1).compareTo("Not a Double!"); } catch (ClassCastException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/lang/Double/classInfo/0000755000175000001440000000000012375316426021230 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Double/classInfo/getPackage.java0000644000175000001440000000303411751765133024126 0ustar dokousers// Test for method java.lang.Double.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Double.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Double; /** * Test for method java.lang.Double.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Double(42.0); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/Double/classInfo/getInterfaces.java0000644000175000001440000000317211751765133024661 0ustar dokousers// Test for method java.lang.Double.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Double.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Double; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.Double.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Double(42.0); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); harness.check(interfaces.contains(Comparable.class)); } } mauve-20140821/gnu/testlet/java/lang/Double/classInfo/getModifiers.java0000644000175000001440000000426511751765133024523 0ustar dokousers// Test for method java.lang.Double.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Double.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Double; import java.lang.reflect.Modifier; /** * Test for method java.lang.Double.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Double(42.0); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check( Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/Double/classInfo/isPrimitive.java0000644000175000001440000000277111751765133024406 0ustar dokousers// Test for method java.lang.Double.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Double.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Double; /** * Test for method java.lang.Double.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Double(42.0); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/Double/classInfo/getSimpleName.java0000644000175000001440000000300411751765133024622 0ustar dokousers// Test for method java.lang.Double.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Double.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Double; /** * Test for method java.lang.Double.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Double(42.0); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "Double"); } } mauve-20140821/gnu/testlet/java/lang/Double/classInfo/isAnnotationPresent.java0000644000175000001440000000415712026304116026073 0ustar dokousers// Test for method java.lang.Double.getClass().isAnnotationPresent() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Double.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Double; /** * Test for method java.lang.Double.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Double(42.0); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/Double/classInfo/isSynthetic.java0000644000175000001440000000277111751765133024410 0ustar dokousers// Test for method java.lang.Double.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Double.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Double; /** * Test for method java.lang.Double.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Double(42.0); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/Double/classInfo/isAnnotation.java0000644000175000001440000000276712026304116024537 0ustar dokousers// Test for method java.lang.Double.getClass().isAnnotation() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Double.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Double; /** * Test for method java.lang.Double.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Double(42.0); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/Double/classInfo/isInstance.java0000644000175000001440000000300411751765133024170 0ustar dokousers// Test for method java.lang.Double.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Double.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Double; /** * Test for method java.lang.Double.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Double(42.0); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new Double(42.0))); } } mauve-20140821/gnu/testlet/java/lang/Double/classInfo/isMemberClass.java0000644000175000001440000000300111751765133024616 0ustar dokousers// Test for method java.lang.Double.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Double.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Double; /** * Test for method java.lang.Double.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Double(42.0); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/Double/classInfo/getSuperclass.java0000644000175000001440000000307711751765133024726 0ustar dokousers// Test for method java.lang.Double.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Double.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Double; /** * Test for method java.lang.Double.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Double(42.0); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.Number"); } } mauve-20140821/gnu/testlet/java/lang/Double/classInfo/isEnum.java0000644000175000001440000000273712026304116023326 0ustar dokousers// Test for method java.lang.Double.getClass().isEnum() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Double.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Double; /** * Test for method java.lang.Double.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Double(42.0); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/Double/classInfo/InstanceOf.java0000644000175000001440000000325111751765133024125 0ustar dokousers// Test for instanceof operator applied to a class java.lang.Double // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Double.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Double; import java.lang.Number; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.Double */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Double o = new Double(42.0); // basic check of instanceof operator harness.check(o instanceof Double); // check operator instanceof against all superclasses harness.check(o instanceof Number); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/Double/classInfo/isAnonymousClass.java0000644000175000001440000000300712026304116025367 0ustar dokousers// Test for method java.lang.Double.getClass().isAnonymousClass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Double.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Double; /** * Test for method java.lang.Double.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Double(42.0); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/Double/classInfo/isInterface.java0000644000175000001440000000277111751765133024336 0ustar dokousers// Test for method java.lang.Double.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Double.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Double; /** * Test for method java.lang.Double.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Double(42.0); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/Double/classInfo/isAssignableFrom.java0000644000175000001440000000302711751765133025325 0ustar dokousers// Test for method java.lang.Double.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Double.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Double; /** * Test for method java.lang.Double.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Double(42.0); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(Double.class)); } } mauve-20140821/gnu/testlet/java/lang/Double/classInfo/isLocalClass.java0000644000175000001440000000277511751765133024462 0ustar dokousers// Test for method java.lang.Double.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Double.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Double; /** * Test for method java.lang.Double.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Double(42.0); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/Double/classInfo/getName.java0000644000175000001440000000276611751765133023466 0ustar dokousers// Test for method java.lang.Double.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Double.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Double; /** * Test for method java.lang.Double.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Double(42.0); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.lang.Double"); } } mauve-20140821/gnu/testlet/java/lang/Double/classInfo/isArray.java0000644000175000001440000000274312026304116023475 0ustar dokousers// Test for method java.lang.Double.getClass().isArray() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Double.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Double; /** * Test for method java.lang.Double.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Double(42.0); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/Double/valueOf.java0000644000175000001440000001111010134050264021527 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Double; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Some checks for the valueOf() method in the {@link Double} class. */ public class valueOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testRegular(harness); testInfinities(harness); testNaN(harness); } /** * Tests some regular values. * * @param harness the test harness. */ public void testRegular(TestHarness harness) { harness.check(Double.valueOf("1.0"), new Double(1.0)); harness.check(Double.valueOf("+1.0"), new Double(1.0)); harness.check(Double.valueOf("-1.0"), new Double(-1.0)); harness.check(Double.valueOf(" 1.0 "), new Double(1.0)); harness.check(Double.valueOf(" -1.0 "), new Double(-1.0)); harness.check(Double.valueOf("2."), new Double(2.0)); harness.check(Double.valueOf(".3"), new Double(0.3)); harness.check(Double.valueOf("1e-9"), new Double(1e-9)); harness.check(Double.valueOf("1e137"), new Double(1e137)); // test some bad formats try { /* Double d = */ Double.valueOf(""); harness.check(false); } catch (NumberFormatException e) { harness.check(true); } try { /* Double d = */ Double.valueOf("X"); harness.check(false); } catch (NumberFormatException e) { harness.check(true); } try { /* Double d = */ Double.valueOf("e"); harness.check(false); } catch (NumberFormatException e) { harness.check(true); } try { /* Double d = */ Double.valueOf("+ 1.0"); harness.check(false); } catch (NumberFormatException e) { harness.check(true); } try { /* Double d = */ Double.valueOf("- 1.0"); harness.check(false); } catch (NumberFormatException e) { harness.check(true); } // null argument should throw NullPointerException try { /* Double d = */ Double.valueOf(null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } } /** * Some checks for values that should parse to Double.POSITIVE_INFINITY * or Double.NEGATIVE_INFINITY. * * @param harness the test harness. */ public void testInfinities(TestHarness harness) { try { harness.check(Double.valueOf("Infinity"), new Double(Double.POSITIVE_INFINITY)); harness.check(Double.valueOf("+Infinity"), new Double(Double.POSITIVE_INFINITY)); harness.check(Double.valueOf("-Infinity"), new Double(Double.NEGATIVE_INFINITY)); harness.check(Double.valueOf(" +Infinity "), new Double(Double.POSITIVE_INFINITY)); harness.check(Double.valueOf(" -Infinity "), new Double(Double.NEGATIVE_INFINITY)); } catch (Exception e) { harness.check(false); harness.debug(e); } harness.check(Double.valueOf("1e1000"), new Double(Double.POSITIVE_INFINITY)); harness.check(Double.valueOf("-1e1000"), new Double(Double.NEGATIVE_INFINITY)); } /** * Some checks for 'NaN' values. * * @param harness the test harness. */ public void testNaN(TestHarness harness) { try { harness.check(Double.isNaN(Double.valueOf("NaN").doubleValue())); harness.check(Double.isNaN(Double.valueOf("+NaN").doubleValue())); harness.check(Double.isNaN(Double.valueOf("-NaN").doubleValue())); harness.check(Double.isNaN(Double.valueOf(" +NaN ").doubleValue())); harness.check(Double.isNaN(Double.valueOf(" -NaN ").doubleValue())); } catch (Exception e) { harness.check(false); harness.debug(e); } } } mauve-20140821/gnu/testlet/java/lang/Double/doubleToRawLongBits.java0000644000175000001440000000437312016705506024043 0ustar dokousers// Test of Double method doubleToRawLongBits(double). // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA package gnu.testlet.java.lang.Double; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test the method Double.doubleToRawLongBits(double); */ public class doubleToRawLongBits implements Testlet { /** * Entry point to this test. */ public void test(TestHarness harness) { harness.check(0x0000000000000000L, Double.doubleToRawLongBits(0)); harness.check(0x3ff0000000000000L, Double.doubleToRawLongBits(1)); harness.check(0x4000000000000000L, Double.doubleToRawLongBits(2)); harness.check(0x408f400000000000L, Double.doubleToRawLongBits(1000)); harness.check(0xbff0000000000000L, Double.doubleToRawLongBits(-1)); harness.check(0xc000000000000000L, Double.doubleToRawLongBits(-2)); harness.check(0xc08f400000000000L, Double.doubleToRawLongBits(-1000)); harness.check(0x7ff0000000000000L, Double.doubleToRawLongBits(Double.POSITIVE_INFINITY)); harness.check(0xfff0000000000000L, Double.doubleToRawLongBits(Double.NEGATIVE_INFINITY)); harness.check(0x7fefffffffffffffL, Double.doubleToRawLongBits(Double.MAX_VALUE)); harness.check(0x0000000000000001L, Double.doubleToRawLongBits(Double.MIN_VALUE)); harness.check(0xffefffffffffffffL, Double.doubleToRawLongBits(-Double.MAX_VALUE)); harness.check(0x8000000000000001L, Double.doubleToRawLongBits(-Double.MIN_VALUE)); harness.check(0x7ff8000000000000L, Double.doubleToRawLongBits(Double.NaN)); } } mauve-20140821/gnu/testlet/java/lang/Integer/0000755000175000001440000000000012375316450017467 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Integer/getInteger.java0000644000175000001440000001146010050431015022410 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998, 2001 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Integer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Properties; import java.util.PropertyPermission; import java.security.Permission; import java.security.SecurityPermission; public class getInteger extends SecurityManager implements Testlet { public void test (TestHarness harness) { // Augment the System properties with the following. // Overwriting is bad because println needs the // platform-dependent line.separator property. Properties p = System.getProperties(); p.put("e1", Integer.toString(Integer.MIN_VALUE)); p.put("e2", Integer.toString(Integer.MAX_VALUE)); p.put("e3", "0" + Integer.toOctalString(Integer.MIN_VALUE)); p.put("e4", "0" + Integer.toOctalString(Integer.MAX_VALUE)); p.put("e5", "0x" + Integer.toHexString(Integer.MIN_VALUE)); p.put("e6", "0x" + Integer.toHexString(Integer.MAX_VALUE)); p.put("e7", "0" + Integer.toString(Integer.MAX_VALUE, 8)); p.put("e8", "#" + Integer.toString(Integer.MAX_VALUE, 16)); p.put("e9", ""); p.put("e10", " "); p.put("e11", "foo"); p.put("e12", "-#1"); harness.check (Integer.getInteger("e1").toString(), "-2147483648"); harness.check (Integer.getInteger("e2").toString(), "2147483647"); harness.check (Integer.getInteger("e3"), null); harness.check (Integer.getInteger("e4").toString(), "2147483647"); harness.check (Integer.getInteger("e5", 12345).toString(), "12345"); harness.check (Integer.getInteger("e6", new Integer(56789)).toString(), "2147483647"); harness.check (Integer.getInteger("e7", null).toString(), "2147483647"); harness.check (Integer.getInteger("e8", 12345).toString(), "2147483647"); harness.check (Integer.getInteger("e9", new Integer(56789)).toString(), "56789"); harness.check (Integer.getInteger("e10", null), null); harness.check (Integer.getInteger("e11"), null); harness.check (Integer.getInteger("e12"), new Integer(-1)); harness.check (Integer.getInteger("junk", 12345).toString(), "12345"); harness.check (Integer.getInteger("junk", new Integer(56789)).toString(), "56789"); harness.check (Integer.getInteger("junk", null), null); harness.check (Integer.getInteger("junk"), null); try { harness.check (Integer.getInteger(null), null); } catch (NullPointerException npe) { harness.check (false); } harness.check (Integer.getInteger(""), null); boolean ok = true; SecurityManager old_security_manager = System.getSecurityManager(); try { try { System.setSecurityManager(this); } catch (Throwable e) { harness.debug(e); ok = false; // can't run this test } if (ok) { try { Integer.getInteger("secure"); ok = false; } catch (SecurityException se) { } } } finally { // undo our change System.setSecurityManager(old_security_manager); } harness.check(ok); } // Method needed for SecurityManager /** * Croak on checking a property named "secure" */ public void checkPropertyAccess(String s) { if ("secure".equals(s)) throw new SecurityException("'Croak'"); else super.checkPropertyAccess(s); } /** * Allow restoration of the existing security manager, and various other * things that happen under the hood in various VMs. (HACK!) */ public void checkPermission(Permission p) { if (new RuntimePermission("setSecurityManager").implies(p)) return; if (new SecurityPermission("getProperty.networkaddress.*").implies(p)) return; if (new PropertyPermission("sun.net.inetaddr.ttl", "read").implies(p)) return; super.checkPermission(p); } } mauve-20140821/gnu/testlet/java/lang/Integer/Tests15.java0000644000175000001440000000637411032400376021602 0ustar dokousers/* Tests15.java -- tests for 1.5 features of Integer Copyright (C) 2005, 2008 Red Hat, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.java.lang.Integer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class Tests15 implements Testlet { public void test(TestHarness harness) { harness.check(Integer.SIZE, 32); harness.check(Integer.valueOf(123456), new Integer(123456)); harness.checkPoint("bitCount"); harness.check(Integer.bitCount(0xffffffff), 32); harness.check(Integer.bitCount(0x55555555), 16); harness.check(Integer.bitCount(0), 0); harness.check(Integer.bitCount(0x5555aaaa), 16); harness.check(Integer.bitCount(0x12488421), 8); harness.checkPoint("rotateLeft"); harness.check(Integer.rotateLeft(0xffff0000, 8), 0xff0000ff); harness.check(Integer.rotateLeft(0x12345678, 64), 0x12345678); harness.checkPoint("rotateRight"); harness.check(Integer.rotateRight(0xffff0000, 8), 0x00ffff00); harness.check(Integer.rotateRight(0x12345678, 64), 0x12345678); harness.checkPoint("highestOneBit"); harness.check(Integer.highestOneBit(0x0ff000ff), 0x08000000); harness.check(Integer.highestOneBit(0xf000000f), 0x80000000); harness.check(Integer.highestOneBit(0), 0); harness.checkPoint("numberOfLeadingZeros"); harness.check(Integer.numberOfLeadingZeros(0xf0000000), 0); harness.check(Integer.numberOfLeadingZeros(0x05050505), 5); harness.check(Integer.numberOfLeadingZeros(1), 31); harness.check(Integer.numberOfLeadingZeros(0), 32); harness.checkPoint("lowestOneBit"); harness.check(Integer.lowestOneBit(0x0ff000ff), 1); harness.check(Integer.lowestOneBit(0xf000000f), 1); harness.check(Integer.lowestOneBit(0xf0000f00), 0x100); harness.check(Integer.lowestOneBit(0), 0); harness.checkPoint("numberOfTrailingZeros"); harness.check(Integer.numberOfTrailingZeros(5), 0); harness.check(Integer.numberOfTrailingZeros(0xf0), 4); harness.check(Integer.numberOfTrailingZeros(0x80000000), 31); harness.check(Integer.numberOfTrailingZeros(0), 32); harness.checkPoint("signum"); harness.check(Integer.signum(0), 0); harness.check(Integer.signum(1), 1); harness.check(Integer.signum(0x7fffffff), 1); harness.check(Integer.signum(0x80000000), -1); harness.check(Integer.signum(-1), -1); harness.checkPoint("reverseBytes"); harness.check(Integer.reverseBytes(0), 0); harness.check(Integer.reverseBytes(0x12345678), 0x78563412); harness.checkPoint("reverse"); harness.check(Integer.reverse(0), 0); harness.check(Integer.reverse(-1), -1); harness.check(Integer.reverse(0x55555555), 0xaaaaaaaa); } } mauve-20140821/gnu/testlet/java/lang/Integer/parseIntRadix.java0000644000175000001440000001166311726104645023116 0ustar dokousers// Test of Integer method parseInt(String, radix). // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.4 // Tags: CompileOptions: -source 1.4 package gnu.testlet.java.lang.Integer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test the method Integer.parseInt(String, radix); */ public class parseIntRadix implements Testlet { public void test (TestHarness harness) { int i; i = Integer.parseInt("0", 2); harness.check(i, 0); i = Integer.parseInt("0", 10); harness.check(i, 0); i = Integer.parseInt("0", 16); harness.check(i, 0); i = Integer.parseInt("0", 36); harness.check(i, 0); i = Integer.parseInt("10", 8); harness.check(i, 8); i = Integer.parseInt("10", 10); harness.check(i, 10); i = Integer.parseInt("10", 16); harness.check(i, 16); i = Integer.parseInt("z", 36); harness.check(i, 35); i = Integer.parseInt("-80", 16); harness.check(i, -128); i = Integer.parseInt("7f", 16); harness.check(i, 127); try { i = Integer.parseInt("10", Character.MIN_RADIX - 1); harness.fail("too small radix"); } catch (NumberFormatException nfe) { harness.check(true); } try { i = Integer.parseInt("10", Character.MAX_RADIX + 1); harness.fail("too small radix"); } catch (NumberFormatException nfe) { harness.check(true); } try { i = Integer.parseInt("-2147483649"); harness.fail("-2147483649 is to small for a Integer"); } catch (NumberFormatException nfe) { harness.check(true); } try { i = Integer.parseInt("2147483648"); harness.fail("2147483648 is to big for a Integer"); } catch (NumberFormatException nfe) { harness.check(true); } try { i = Integer.parseInt("abc"); harness.fail("Illegal input (abc) must throw NumberFormatException"); } catch (NumberFormatException nfe) { harness.check(true); } try { i = Integer.parseInt("-"); harness.fail("Single '-' must throw NumberFormatException"); } catch (NumberFormatException nfe) { harness.check(true); } try { i = Integer.parseInt("+"); harness.fail("Single '+' must throw NumberFormatException"); } catch (NumberFormatException nfe) { harness.check(true); } // In JDK1.7, '+' is considered a valid character. // it means that the following step should be divided // for pre JDK1.7 case and >= JDK1.7 if (conformToJDK17()) { try { i = Integer.parseInt("+10", 10); harness.check(true); harness.check(i, 10); } catch (NumberFormatException nfe) { harness.fail("'+10' string is not parsed correctly as expected in JDK1.7"); } } else { // pre JDK1.7 branch try { i = Integer.parseInt("+10", 10); harness.fail("'+10' must throw NumberFormatException"); } catch (NumberFormatException nfe) { harness.check(true); } } try { i = Integer.parseInt(null, 10); harness.fail("null input must throw NumberFormatException"); } catch (NullPointerException npe) { harness.fail("null input must throw NumberFormatException, not NullPointerException"); } catch (NumberFormatException nfe) { harness.check(true); } try { i = Integer.parseInt("", 10); harness.fail("empty input must throw NumberFormatException"); } catch (IndexOutOfBoundsException ioobe) { harness.fail("empty input must throw NumberFormatException, not IndexOutOfBoundsException"); } catch (NumberFormatException nfe) { harness.check(true); } } /** * Returns true if tested JRE conformns to JDK 1.7. * @author: Mark Wielaard */ private static boolean conformToJDK17() { String[] javaVersion = System.getProperty("java.version").split("\\."); String vendorID = System.getProperty("java.vendor"); // test of OpenJDK if ("Sun Microsystems Inc.".equals(vendorID)) { return Integer.parseInt(javaVersion[1]) >= 7; } return true; } } mauve-20140821/gnu/testlet/java/lang/Integer/new_Integer.java0000644000175000001440000002604711631147221022601 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998, 1999, 2001 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Integer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class new_Integer implements Testlet { public void test (TestHarness harness) { Integer a = new Integer(0); Integer b = new Integer(1); Integer c = new Integer(-1); Integer d = new Integer(Integer.MAX_VALUE); Integer e = new Integer(Integer.MIN_VALUE); Integer f = new Integer("0"); Integer g = new Integer("1"); Integer h = new Integer("-1"); Integer i = new Integer("2147483647"); Integer j = new Integer("-2147483648"); Integer k = new Integer("-0"); Integer l = new Integer("012345"); Integer m = new Integer("0012345"); harness.checkPoint ("toString"); harness.check (a + " " + b + " " + c + " " + d + " " + e, "0 1 -1 2147483647 -2147483648"); harness.check (f + " " + g + " " + h + " " + i + " " + j, "0 1 -1 2147483647 -2147483648"); harness.check (k + " " + l + " " + m, "0 12345 12345"); harness.check (Integer.MAX_VALUE, 2147483647); harness.check (Integer.MAX_VALUE + 1, -2147483648); harness.check (Integer.MAX_VALUE + 2, -2147483647); harness.check (Integer.MIN_VALUE, -2147483648); harness.check (Integer.MIN_VALUE - 1, 2147483647); harness.check (Integer.MIN_VALUE - 2, 2147483646); harness.check (c.toString(), "-1"); harness.check (e.toString(), "-2147483648"); harness.check (Integer.toString(-1, 2), "-1"); harness.check (Integer.toString(Integer.MIN_VALUE + 1, 2), "-1111111111111111111111111111111"); harness.check (Integer.toString(Integer.MIN_VALUE, 2), "-10000000000000000000000000000000"); harness.check (Integer.toString(Integer.MAX_VALUE, 2), "1111111111111111111111111111111"); harness.check (Integer.toString(-1, 16), "-1"); harness.check (Integer.toString(Integer.MIN_VALUE + 1, 16), "-7fffffff"); harness.check (Integer.toString(Integer.MIN_VALUE, 16), "-80000000"); harness.check (Integer.toString(Integer.MAX_VALUE, 16), "7fffffff"); harness.check (Integer.toString(-1, 36), "-1"); harness.check (Integer.toString(Integer.MIN_VALUE + 1, 36), "-zik0zj"); harness.check (Integer.toString(Integer.MIN_VALUE, 36), "-zik0zk"); harness.check (Integer.toString(Integer.MAX_VALUE, 36), "zik0zj"); harness.check (Integer.toString(12345, 1), "12345"); harness.check (Integer.toString(-12345, 1), "-12345"); harness.check (Integer.toString(12345, 37), "12345"); harness.check (Integer.toString(-12345, 37), "-12345"); harness.check (Integer.toString(12345, 0), "12345"); harness.check (Integer.toString(-12345, 0), "-12345"); harness.check (Integer.toString(12345, -1), "12345"); harness.check (Integer.toString(-12345, -1), "-12345"); harness.check (Integer.toString(12345, Character.MIN_RADIX - 1), "12345"); harness.check (Integer.toString(12345, Character.MAX_RADIX + 1), "12345"); harness.checkPoint ("exceptions"); Integer bad = null; try { bad = new Integer("2147483648"); } catch (NumberFormatException ex) { } harness.check (bad, null); bad = null; try { bad = new Integer("-2147483649"); } catch (NumberFormatException ex) { } harness.check (bad, null); bad = null; try { bad = new Integer("12345a"); } catch (NumberFormatException ex) { } harness.check (bad, null); bad = null; try { bad = new Integer("-"); } catch (NumberFormatException ex) { } harness.check (bad, null); bad = null; try { bad = new Integer("0x1e"); } catch (NumberFormatException ex) { } harness.check (bad, null); bad = null; try { bad = new Integer(null); } catch (NullPointerException npe) { harness.fail("wrong exception"); } catch (NumberFormatException ex) { } harness.check (bad, null); bad = null; try { bad = new Integer(" "); } catch (NumberFormatException ex) { } harness.check (bad, null); harness.checkPoint ("hashCode"); harness.check (a.hashCode(), 0); harness.check (b.hashCode(), 1); harness.check (c.hashCode(), -1); harness.check (d.hashCode(), 2147483647); harness.check (e.hashCode(), -2147483648); // harness.check (a.compareTo(a)); // harness.check (b.compareTo(c)); // harness.check (c.compareTo(b)); // harness.check (d.compareTo(e)); // harness.check (e.compareTo(d)); harness.checkPoint ("decode"); harness.check (Integer.decode("123456789"), new Integer (123456789)); harness.check (Integer.decode("01234567"), new Integer (342391)); harness.check (Integer.decode("0x1234FF"), new Integer (1193215)); harness.check (Integer.decode("#1234FF"), new Integer (1193215)); harness.check (Integer.decode("-123456789"), new Integer (-123456789)); harness.check (Integer.decode("-01234567"), new Integer (-01234567)); harness.check (Integer.decode("-0"), new Integer (0)); harness.check (Integer.decode("0"), new Integer (0)); harness.check (Integer.decode(Integer.toString(Integer.MIN_VALUE)), new Integer (-2147483648)); harness.check (Integer.decode("-01"), new Integer(-1)); harness.check (Integer.decode("-0x1"), new Integer(-1)); harness.check (Integer.decode("-#1"), new Integer(-1)); // \\u0660 is a Unicode digit, value 0, but does not trigger octal or hex harness.check (Integer.decode("\u06609"), new Integer(9)); harness.checkPoint ("decode exceptions"); boolean ok = false; try { Integer.decode(""); } catch (NumberFormatException ex) { ok = true; } harness.check (ok); ok = false; try { Integer.decode(" "); } catch (NumberFormatException ex) { ok = true; } harness.check (ok); ok = false; try { Integer.decode(null); } catch (NullPointerException npe) { ok = true; } catch (NumberFormatException ex) { // not ok } harness.check (ok); ok = false; try { Integer.decode("X1234"); } catch (NumberFormatException ex) { ok = true; } harness.check (ok); ok = false; try { Integer.decode("0xF0000000"); } catch (NumberFormatException ex) { ok = true; } harness.check (ok); ok = false; try { Integer.decode("0x"); } catch (NumberFormatException ex) { ok = true; } harness.check (ok); ok = false; try { Integer.decode("-"); } catch (NumberFormatException ex) { ok = true; } harness.check (ok); ok = false; try { Integer.decode("#"); } catch (NumberFormatException ex) { ok = true; } harness.check (ok); harness.checkPoint ("toBinaryString"); harness.check (Integer.toBinaryString(0), "0"); harness.check (Integer.toBinaryString(1), "1"); harness.check (Integer.toBinaryString(-1), "11111111111111111111111111111111"); harness.check (Integer.toBinaryString(Integer.MIN_VALUE), "10000000000000000000000000000000"); harness.check (Integer.toBinaryString(Integer.MAX_VALUE), "1111111111111111111111111111111"); harness.check (Integer.toBinaryString(Integer.MIN_VALUE - 1), "1111111111111111111111111111111"); harness.check (Integer.toBinaryString(Integer.MAX_VALUE + 1), "10000000000000000000000000000000"); harness.checkPoint ("toOctalString"); harness.check (Integer.toOctalString(0), "0"); harness.check (Integer.toOctalString(1), "1"); harness.check (Integer.toOctalString(-1), "37777777777"); harness.check (Integer.toOctalString(Integer.MIN_VALUE), "20000000000"); harness.check (Integer.toOctalString(Integer.MAX_VALUE), "17777777777"); harness.check (Integer.toOctalString(Integer.MIN_VALUE - 1), "17777777777"); harness.check (Integer.toOctalString(Integer.MAX_VALUE + 1), "20000000000"); harness.checkPoint ("toHexString"); harness.check (Integer.toHexString(0), "0"); harness.check (Integer.toHexString(1), "1"); harness.check (Integer.toHexString(-1), "ffffffff"); harness.check (Integer.toHexString(Integer.MIN_VALUE), "80000000"); harness.check (Integer.toHexString(Integer.MAX_VALUE), "7fffffff"); harness.check (Integer.toHexString(Integer.MIN_VALUE - 1), "7fffffff"); harness.check (Integer.toHexString(Integer.MAX_VALUE + 1), "80000000"); harness.checkPoint ("parseInt"); harness.check (Integer.parseInt("0012345", 8), 5349); harness.check (Integer.parseInt("xyz", 36), 44027); harness.check (Integer.parseInt("12345", 6), 1865); harness.check (Integer.parseInt("abcdef", 16), 11259375); harness.check (Integer.parseInt("-0012345", 8), -5349); harness.check (Integer.parseInt("-xyz", 36), -44027); harness.check (Integer.parseInt("-12345", 6), -1865); harness.check (Integer.parseInt("-abcdef", 16), -11259375); harness.check (Integer.parseInt("0", 25), 0); ok = false; try { Integer.parseInt("0", 1); } catch (NumberFormatException ex) { ok = true; } harness.check (ok); ok = false; try { Integer.parseInt("0", 37); } catch (NumberFormatException ex) { ok = true; } harness.check (ok); ok = false; try { Integer.parseInt ("-80000001", 16); } catch (NumberFormatException ex) { ok = true; } harness.check (ok); ok = false; try { // This should fail, but won't if you are using a naive // overflow detection scheme. `429496730' is chosen because // when multiplied by 10 it overflows but the result is // positive. Integer.parseInt ("4294967309", 10); } catch (NumberFormatException ex) { ok = true; } harness.check (ok); ok = false; try { Integer.parseInt ("800000001", 16); } catch (NumberFormatException ex) { ok = true; } harness.check (ok); } } mauve-20140821/gnu/testlet/java/lang/Integer/integerModulo.java0000644000175000001440000001324712064045061023146 0ustar dokousers// Test integer modulo operation. // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA package gnu.testlet.java.lang.Integer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test integer modulo operation. */ public class integerModulo implements Testlet { /** * Entry point to this test. */ public void test(TestHarness harness) { testModuloPositiveByPositiveCase1(harness); testModuloPositiveByPositiveCase2(harness); testModuloPositiveByPositiveCase3(harness); testModuloPositiveByNegativeCase1(harness); testModuloPositiveByNegativeCase2(harness); testModuloPositiveByNegativeCase3(harness); testModuloNegativeByPositiveCase1(harness); testModuloNegativeByPositiveCase2(harness); testModuloNegativeByPositiveCase3(harness); testModuloNegativeByNegativeCase1(harness); testModuloNegativeByNegativeCase2(harness); testModuloNegativeByNegativeCase3(harness); testModuloMaxValue(harness); testModuloMinValue(harness); testModuloByMaxValue(harness); testModuloByMinValue(harness); testModuloByZeroCase1(harness); testModuloByZeroCase2(harness); testModuloByZeroCase3(harness); testModuloByZeroCase4(harness); testModuloByZeroCase5(harness); } public void testModuloPositiveByPositiveCase1(TestHarness harness) { int x = 10; int y = 2; int z = x % y; harness.check(z == 0); } public void testModuloPositiveByPositiveCase2(TestHarness harness) { int x = 10; int y = 3; int z = x % y; harness.check(z == 1); } public void testModuloPositiveByPositiveCase3(TestHarness harness) { int x = 11; int y = 3; int z = x % y; harness.check(z == 2); } public void testModuloPositiveByNegativeCase1(TestHarness harness) { int x = 10; int y = -2; int z = x % y; harness.check(z == 0); } public void testModuloPositiveByNegativeCase2(TestHarness harness) { int x = 10; int y = -3; int z = x % y; harness.check(z == 1); } public void testModuloPositiveByNegativeCase3(TestHarness harness) { int x = 11; int y = -3; int z = x % y; harness.check(z == 2); } public void testModuloNegativeByPositiveCase1(TestHarness harness) { int x = -10; int y = 2; int z = x % y; harness.check(z == 0); } public void testModuloNegativeByPositiveCase2(TestHarness harness) { int x = -10; int y = 3; int z = x % y; harness.check(z == -1); } public void testModuloNegativeByPositiveCase3(TestHarness harness) { int x = -11; int y = 3; int z = x % y; harness.check(z == -2); } public void testModuloNegativeByNegativeCase1(TestHarness harness) { int x = -10; int y = -2; int z = x % y; harness.check(z == 0); } public void testModuloNegativeByNegativeCase2(TestHarness harness) { int x = -10; int y = -3; int z = x % y; harness.check(z == -1); } public void testModuloNegativeByNegativeCase3(TestHarness harness) { int x = -11; int y = -3; int z = x % y; harness.check(z == -2); } public void testModuloMaxValue(TestHarness harness) { int x = Integer.MAX_VALUE; int y = 2 << 15; int z = x % y; harness.check(z == 65535); } public void testModuloMinValue(TestHarness harness) { int x = Integer.MIN_VALUE; int y = 2 << 15; int z = x % y; harness.check(z == 0); } public void testModuloByMaxValue(TestHarness harness) { int x = Integer.MAX_VALUE; int y = Integer.MAX_VALUE; int z = x % y; harness.check(z == 0); } public void testModuloByMinValue(TestHarness harness) { int x = Integer.MIN_VALUE; int y = Integer.MIN_VALUE; int z = x % y; harness.check(z == 0); } public void testModuloByZeroCase1(TestHarness harness) { int x = 1; int y = 0; try { int z = x % y; harness.check(false); } catch(ArithmeticException e) { harness.check(true); } } public void testModuloByZeroCase2(TestHarness harness) { int x = -1; int y = 0; try { int z = x % y; harness.check(false); } catch(ArithmeticException e) { harness.check(true); } } public void testModuloByZeroCase3(TestHarness harness) { int x = Integer.MAX_VALUE; int y = 0; try { int z = x % y; harness.check(false); } catch(ArithmeticException e) { harness.check(true); } } public void testModuloByZeroCase4(TestHarness harness) { int x = Integer.MIN_VALUE; int y = 0; try { int z = x % y; harness.check(false); } catch(ArithmeticException e) { harness.check(true); } } public void testModuloByZeroCase5(TestHarness harness) { int x = 0; int y = 0; try { int z = x % y; harness.check(false); } catch(ArithmeticException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/lang/Integer/toString.java0000644000175000001440000000403211757724254022152 0ustar dokousers// Test of Integer methods toString() and toString(integer). // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.4 // Tags: CompileOptions: -source 1.4 package gnu.testlet.java.lang.Integer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test of Integer methods toString() and toString(integer). */ public class toString implements Testlet { public void test (TestHarness harness) { // test of method Integer.toString() harness.check(new Integer(0).toString(), "0"); harness.check(new Integer(-1).toString(), "-1"); harness.check(new Integer(1).toString(), "1"); harness.check(new Integer(127).toString(), "127"); harness.check(new Integer(-128).toString(), "-128"); harness.check(new Integer(Integer.MAX_VALUE).toString(), "2147483647"); harness.check(new Integer(Integer.MIN_VALUE).toString(), "-2147483648"); // test of static method Integer.toString(Integer) harness.check(Integer.toString(0), "0"); harness.check(Integer.toString(-1), "-1"); harness.check(Integer.toString(1), "1"); harness.check(Integer.toString(127), "127"); harness.check(Integer.toString(-128), "-128"); harness.check(Integer.toString(Integer.MAX_VALUE), "2147483647"); harness.check(Integer.toString(Integer.MIN_VALUE), "-2147483648"); } } mauve-20140821/gnu/testlet/java/lang/Integer/IntegerTest.java0000644000175000001440000002250010367245762022574 0ustar dokousers/* Copyright (C) 1999, 2001 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.0 package gnu.testlet.java.lang.Integer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class IntegerTest implements Testlet { protected static TestHarness harness; public void test_Basics() { harness.check(!( Integer.MIN_VALUE != 0x80000000 || Integer.MAX_VALUE != 0x7fffffff ), "test_Basics - 1" ); harness.check(Integer.TYPE == new int[0].getClass().getComponentType(), "test_Basics - 1a"); Integer i1 = new Integer(100); harness.check(!( i1.intValue() != 100 ), "test_Basics - 2" ); try { harness.check(!( (new Integer("234")).intValue() != 234 ), "test_Basics - 3" ); } catch ( NumberFormatException e ) { harness.fail("test_Basics - 3" ); } try { harness.check(!( (new Integer("-FF")).intValue() != -255 ), "test_Basics - 4" ); } catch ( NumberFormatException e ) { } try { new Integer("babu"); harness.fail("test_Basics - 5" ); } catch ( NumberFormatException e ) { } harness.check(!( Integer.decode( "123").intValue() != 123 ), "test_Basics - 6" ); harness.check(!( Integer.decode( "32767").intValue() != 32767 ), "test_Basics - 7" ); } public void test_toString() { harness.check(!( !( new Integer(123)).toString().equals("123")), "test_toString - 1" ); harness.check(!( !( new Integer(-44)).toString().equals("-44")), "test_toString - 2" ); harness.check(!( !Integer.toString( 234 ).equals ("234" )), "test_toString - 3" ); harness.check(!( !Integer.toString( -34 ).equals ("-34" )), "test_toString - 4" ); harness.check(!( !Integer.toString( -34 ).equals ("-34" )), "test_toString - 5" ); harness.check(!( !Integer.toString(99 , 1 ).equals("99")), "test_toString - 6" ); harness.check(!( !Integer.toString(99 , 37 ).equals("99")), "test_toString - 7" ); harness.check(!( !Integer.toString(15 , 2 ).equals("1111")), "test_toString - 8" ); harness.check(!( !Integer.toString(37 , 36 ).equals("11")), "test_toString - 9" ); harness.check(!( !Integer.toString(31 , 16 ).equals("1f")), "test_toString - 10" ); harness.check(!( !Integer.toString(-99 , 1 ).equals("-99")), "test_toString - 11" ); harness.check(!( !Integer.toString(-99 , 37 ).equals("-99")), "test_toString - 12" ); harness.check(!( !Integer.toString(-15 , 2 ).equals("-1111")), "test_toString - 13" ); harness.check(!( !Integer.toString(-37 , 36 ).equals("-11")), "test_toString - 14" ); harness.check(!( !Integer.toString(-31 , 16 ).equals("-1f")), "test_toString - 15" ); } public void test_equals() { Integer i1 = new Integer(23); Integer i2 = new Integer(-23); harness.check(!( !i1.equals( new Integer(23))), "test_equals - 1" ); harness.check(!( !i2.equals( new Integer(-23))), "test_equals - 2" ); harness.check(!( i1.equals( i2 )), "test_equals - 3" ); harness.check(!( i1.equals(null)), "test_equals - 4" ); } public void test_hashCode( ) { Integer b1 = new Integer(3439); Integer b2 = new Integer(-3439); harness.check(!( b1.hashCode() != 3439 || b2.hashCode() != -3439 ), "test_hashCode" ); } public void test_intValue( ) { Integer b1 = new Integer(32767); Integer b2 = new Integer(-32767); harness.check(!( b1.intValue() != 32767 ), "test_intValue - 1" ); harness.check(!( b2.intValue() != -32767 ), "test_intValue - 2" ); } public void test_longValue( ) { Integer b1 = new Integer(3767); Integer b2 = new Integer(-3767); harness.check(!( b1.longValue() != (long)3767 ), "test_longValue - 1" ); harness.check(!( b2.longValue() != -3767 ), "test_longValue - 2" ); } public void test_floatValue( ) { Integer b1 = new Integer(3276); Integer b2 = new Integer(-3276); harness.check(!( b1.floatValue() != 3276.0f ), "test_floatValue - 1" ); harness.check(!( b2.floatValue() != -3276.0f ), "test_floatValue - 2" ); } public void test_doubleValue( ) { Integer b1 = new Integer(0); Integer b2 = new Integer(30); harness.check(!( b1.doubleValue() != 0.0 ), "test_doubleValue - 1" ); harness.check(!( b2.doubleValue() != 30.0 ), "test_doubleValue - 2" ); } public void test_shortbyteValue( ) { Integer b1 = new Integer(0); Integer b2 = new Integer(300); harness.check(!( b1.byteValue() != 0 ), "test_shortbyteValue - 1" ); harness.check(!( b2.byteValue() != (byte)300 ), "test_shortbyteValue - 2" ); harness.check(!( b1.shortValue() != 0 ), "test_shortbyteValue - 3" ); harness.check(!( b2.shortValue() != (short)300 ), "test_shortbyteValue - 4" ); harness.check(!( ((Number)b1).shortValue() != 0 ), "test_shortbyteValue - 5" ); harness.check(!( ((Number)b2).byteValue() != (byte)300 ), "test_shortbyteValue - 6" ); } public void test_toHexString() { String str, str1; str = Integer.toHexString(8375); str1 = Integer.toHexString( -5361 ); harness.check( "20b7".equals(str), "test_toHexString - 1" ); harness.check( "ffffeb0f".equals(str1), "test_toHexString - 2" ); } public void test_toOctalString() { String str, str1; str = Integer.toOctalString(5847); str1= Integer.toOctalString(-9863 ); harness.check(!( !str.equals("13327")), "test_toOctalString - 1" ); harness.check(!( !str1.equals("37777754571")), "test_toOctalString - 2" ); } public void test_toBinaryString() { harness.check(!( !Integer.toBinaryString(358).equals("101100110")), "test_toBinaryString - 1" ); harness.check(!( !Integer.toBinaryString( -5478 ).equals("11111111111111111110101010011010")), "test_toBinaryString - 2" ); } public void test_parseInt() { harness.check(!( Integer.parseInt("473") != Integer.parseInt("473" , 10 )), "test_parseInt - 1" ); harness.check(!( Integer.parseInt("0" , 10 ) != 0 ), "test_parseInt - 2" ); harness.check(!( Integer.parseInt("473" , 10 ) != 473 ), "test_parseInt - 3" ); harness.check(!( Integer.parseInt("-0" , 10 ) != 0 ), "test_parseInt - 4" ); harness.check(!( Integer.parseInt("-FF" , 16 ) != -255 ), "test_parseInt - 5" ); harness.check(!( Integer.parseInt("1100110" , 2 ) != 102 ), "test_parseInt - 6" ); harness.check(!( Integer.parseInt("2147483647" , 10 ) != 2147483647 ), "test_parseInt - 7" ); harness.check(!( Integer.parseInt("-2147483647" , 10 ) != -2147483647 ), "test_parseInt - 8" ); try { Integer.parseInt("2147483648" , 10 ); harness.fail("test_parseInt - 9" ); }catch ( NumberFormatException e ){} try { Integer.parseInt("99" , 8 ); harness.fail("test_parseInt - 10" ); }catch ( NumberFormatException e ){} try { Integer.parseInt("kona" , 10 ); harness.fail("test_parseInt - 11" ); }catch ( NumberFormatException e ){} harness.check(!( Integer.parseInt("Kona" , 27 ) != 411787 ), "test_parseInt - 12" ); } public void test_valueOf( ) { harness.check(!( Integer.valueOf("21234").intValue() != Integer.parseInt("21234")), "test_valueOf - 1" ); harness.check(!( Integer.valueOf("Kona", 27).intValue() != Integer.parseInt("Kona", 27)), "test_valueOf - 2" ); } public void test_getInteger( ) { java.util.Properties prop = System.getProperties(); prop.put("integerkey1" , "2345" ); prop.put("integerkey2" , "-984" ); prop.put("integerkey3" , "-0" ); prop.put("integerkey4" , "#1f" ); prop.put("integerkey5" , "0x1f" ); prop.put("integerkey6" , "017" ); prop.put("integerkey7" , "babu" ); System.setProperties(prop); harness.check(!( Integer.getInteger("integerkey1").intValue() != 2345 || Integer.getInteger("integerkey2").intValue() != -984 || Integer.getInteger("integerkey3").intValue() != 0 ), "test_getInteger - 1" ); harness.check(!( Integer.getInteger("integerkey4", new Integer(0)).intValue() != 31 || Integer.getInteger("integerkey5",new Integer(0)).intValue() != 31 || Integer.getInteger("integerkey6",new Integer(0)).intValue() != 15 ), "test_getInteger - 2" ); harness.check(!( Integer.getInteger("integerkey7", new Integer(0)).intValue() != 0 ), "test_getInteger - 3" ); harness.check(!( Integer.getInteger("integerkey7", 0).intValue() != 0 ), "test_getInteger - 4" ); } public void testall() { test_Basics(); test_toString(); test_equals(); test_hashCode(); test_intValue(); test_longValue(); test_floatValue(); test_doubleValue(); test_shortbyteValue(); test_toHexString(); test_toOctalString(); test_toBinaryString(); test_parseInt(); test_valueOf(); test_getInteger(); } public void test (TestHarness the_harness) { harness = the_harness; testall (); } } mauve-20140821/gnu/testlet/java/lang/Integer/compareToObject.java0000644000175000001440000000767611724170542023427 0ustar dokousers// Test of Integer method compareTo(Object). // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.4 // Tags: CompileOptions: -source 1.4 package gnu.testlet.java.lang.Integer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test the method Integer.compareTo(Object); */ public class compareToObject implements Testlet { public static final int LESS = -1; public static final int EQUAL = 0; public static final int GREATER = 1; TestHarness harness; void compare(Integer i1, Object o, int expected) { // the result need not be -1, 0, 1; just <0, 0, >0 int result = i1.compareTo(o); switch (expected) { case LESS: harness.check(result < 0); break; case EQUAL: harness.check(result == 0); break; case GREATER: harness.check(result > 0); break; default: throw new Error(); } } /** * Entry point to this test. */ public void test(TestHarness harness) { this.harness = harness; Integer min = new Integer(Integer.MIN_VALUE); Integer negone = new Integer(-1); Integer zero = new Integer(0); Integer posone = new Integer(1); Integer max = new Integer(Integer.MAX_VALUE); harness.checkPoint("compareTo"); compare(min, min, EQUAL); compare(min, negone, LESS); compare(min, zero, LESS); compare(min, posone, LESS); compare(min, max, LESS); compare(negone, min, GREATER); compare(negone, negone, EQUAL); compare(negone, zero, LESS); compare(negone, posone, LESS); compare(negone, max, LESS); compare(zero, min, GREATER); compare(zero, negone, GREATER); compare(zero, zero, EQUAL); compare(zero, posone, LESS); compare(zero, max, LESS); compare(posone, min, GREATER); compare(posone, negone, GREATER); compare(posone, zero, GREATER); compare(posone, posone, EQUAL); compare(posone, max, LESS); compare(max, min, GREATER); compare(max, negone, GREATER); compare(max, zero, GREATER); compare(max, posone, GREATER); compare(max, max, EQUAL); Object o = zero; boolean ok; harness.check(((Comparable)zero).compareTo(o) == 0); ok = false; try { zero.compareTo((Integer) null); } catch (NullPointerException e) { ok = true; } harness.check(ok); ok = false; try { ((Comparable)zero).compareTo((Object) null); } catch (NullPointerException e) { ok = true; } harness.check(ok); ok = false; try { ((Comparable)zero).compareTo(new Object()); } catch (ClassCastException e) { ok = true; } harness.check(ok); harness.checkPoint("negative test"); try { Integer a; Byte b; a = new Integer(1); b = new Byte((byte)1); compare(a,b,1); harness.fail("Exception should be thrown here."); } catch (ClassCastException e) { // ok - exception was thrown harness.check(true); } try { Integer a; String b; a = new Integer(1); b = "foobar"; compare(a,b,1); harness.fail("Exception should be thrown here."); } catch (ClassCastException e) { // ok - exception was thrown harness.check(true); } } } mauve-20140821/gnu/testlet/java/lang/Integer/compareTo.java0000644000175000001440000000651510544512702022264 0ustar dokousers/* Copyright (C) 2001 Eric Blake * * This file is part of Mauve. * * Mauve 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 version 2, or (at your option) * any later version. * * Mauve 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 Public License for more details. * * You should have received a copy of the GNU General Public License * along with Mauve; see the file COPYING. If not, write to * the Free Software Foundation, 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ // Tags: JDK1.2 package gnu.testlet.java.lang.Integer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * This class tests the compareTo methods of Integer. It is separate * from other classes in the package because the methods did not exist * before JDK 1.2. */ public class compareTo implements Testlet { public static final int LESS = -1; public static final int EQUAL = 0; public static final int GREATER = 1; TestHarness harness; void compare(Integer i1, Integer i2, int expected) { // the result need not be -1, 0, 1; just <0, 0, >0 int result = i1.compareTo(i2); switch (expected) { case LESS: harness.check(result < 0); break; case EQUAL: harness.check(result == 0); break; case GREATER: harness.check(result > 0); break; default: throw new Error(); } } public void test(TestHarness harness) { this.harness = harness; Integer min = new Integer(Integer.MIN_VALUE); Integer negone = new Integer(-1); Integer zero = new Integer(0); Integer posone = new Integer(1); Integer max = new Integer(Integer.MAX_VALUE); harness.checkPoint("compareTo"); compare(min, min, EQUAL); compare(min, negone, LESS); compare(min, zero, LESS); compare(min, posone, LESS); compare(min, max, LESS); compare(negone, min, GREATER); compare(negone, negone, EQUAL); compare(negone, zero, LESS); compare(negone, posone, LESS); compare(negone, max, LESS); compare(zero, min, GREATER); compare(zero, negone, GREATER); compare(zero, zero, EQUAL); compare(zero, posone, LESS); compare(zero, max, LESS); compare(posone, min, GREATER); compare(posone, negone, GREATER); compare(posone, zero, GREATER); compare(posone, posone, EQUAL); compare(posone, max, LESS); compare(max, min, GREATER); compare(max, negone, GREATER); compare(max, zero, GREATER); compare(max, posone, GREATER); compare(max, max, EQUAL); Object o = zero; boolean ok; harness.check(((Comparable)zero).compareTo(o) == 0); ok = false; try { zero.compareTo((Integer) null); } catch (NullPointerException e) { ok = true; } harness.check(ok); ok = false; try { ((Comparable)zero).compareTo((Object) null); } catch (NullPointerException e) { ok = true; } harness.check(ok); ok = false; try { ((Comparable)zero).compareTo(new Object()); } catch (ClassCastException e) { ok = true; } harness.check(ok); } } mauve-20140821/gnu/testlet/java/lang/Integer/classInfo/0000755000175000001440000000000012375316426021413 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Integer/classInfo/getPackage.java0000644000175000001440000000303711752752574024322 0ustar dokousers// Test for method java.lang.Integer.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Integer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Integer; /** * Test for method java.lang.Integer.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Integer(42); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/Integer/classInfo/getInterfaces.java0000644000175000001440000000317511752752574025055 0ustar dokousers// Test for method java.lang.Integer.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Integer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Integer; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.Integer.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Integer(42); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); harness.check(interfaces.contains(Comparable.class)); } } mauve-20140821/gnu/testlet/java/lang/Integer/classInfo/getModifiers.java0000644000175000001440000000427011752752574024710 0ustar dokousers// Test for method java.lang.Integer.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Integer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Integer; import java.lang.reflect.Modifier; /** * Test for method java.lang.Integer.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Integer(42); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check( Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/Integer/classInfo/isPrimitive.java0000644000175000001440000000277411752752574024602 0ustar dokousers// Test for method java.lang.Integer.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Integer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Integer; /** * Test for method java.lang.Integer.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Integer(42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/Integer/classInfo/getSimpleName.java0000644000175000001440000000301011752752574025010 0ustar dokousers// Test for method java.lang.Integer.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Integer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Integer; /** * Test for method java.lang.Integer.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Integer(42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "Integer"); } } mauve-20140821/gnu/testlet/java/lang/Integer/classInfo/isAnnotationPresent.java0000644000175000001440000000416312026546135026264 0ustar dokousers// Test for method java.lang.Integer.getClass().isAnnotationPresent() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Integer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Integer; /** * Test for method java.lang.Integer.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Integer Object o = new Integer(42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/Integer/classInfo/isSynthetic.java0000644000175000001440000000277411752752574024604 0ustar dokousers// Test for method java.lang.Integer.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Integer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Integer; /** * Test for method java.lang.Integer.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Integer(42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/Integer/classInfo/isAnnotation.java0000644000175000001440000000277312026546135024730 0ustar dokousers// Test for method java.lang.Integer.getClass().isAnnotation() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Integer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Integer; /** * Test for method java.lang.Integer.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Integer Object o = new Integer(42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/Integer/classInfo/isInstance.java0000644000175000001440000000300611752752574024363 0ustar dokousers// Test for method java.lang.Integer.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Integer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Integer; /** * Test for method java.lang.Integer.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Integer(42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new Integer(42))); } } mauve-20140821/gnu/testlet/java/lang/Integer/classInfo/isMemberClass.java0000644000175000001440000000300411752752574025012 0ustar dokousers// Test for method java.lang.Integer.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Integer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Integer; /** * Test for method java.lang.Integer.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Integer(42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/Integer/classInfo/getSuperclass.java0000644000175000001440000000310211752752574025104 0ustar dokousers// Test for method java.lang.Integer.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Integer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Integer; /** * Test for method java.lang.Integer.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Integer(42); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.Number"); } } mauve-20140821/gnu/testlet/java/lang/Integer/classInfo/isEnum.java0000644000175000001440000000274312026546135023517 0ustar dokousers// Test for method java.lang.Integer.getClass().isEnum() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Integer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Integer; /** * Test for method java.lang.Integer.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Integer Object o = new Integer(42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/Integer/classInfo/InstanceOf.java0000644000175000001440000000325711752752574024324 0ustar dokousers// Test for instanceof operator applied to a class java.lang.Integer // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Integer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Integer; import java.lang.Number; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.Integer */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Integer Integer o = new Integer(42); // basic check of instanceof operator harness.check(o instanceof Integer); // check operator instanceof against all superclasses harness.check(o instanceof Number); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/Integer/classInfo/isAnonymousClass.java0000644000175000001440000000301312026546135025560 0ustar dokousers// Test for method java.lang.Integer.getClass().isAnonymousClass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Integer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Integer; /** * Test for method java.lang.Integer.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Integer Object o = new Integer(42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/Integer/classInfo/isInterface.java0000644000175000001440000000277411752752574024532 0ustar dokousers// Test for method java.lang.Integer.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Integer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Integer; /** * Test for method java.lang.Integer.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Integer(42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/Integer/classInfo/isAssignableFrom.java0000644000175000001440000000303311752752574025513 0ustar dokousers// Test for method java.lang.Integer.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Integer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Integer; /** * Test for method java.lang.Integer.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Integer(42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(Integer.class)); } } mauve-20140821/gnu/testlet/java/lang/Integer/classInfo/isLocalClass.java0000644000175000001440000000300011752752574024631 0ustar dokousers// Test for method java.lang.Integer.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Integer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Integer; /** * Test for method java.lang.Integer.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Integer(42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/Integer/classInfo/getName.java0000644000175000001440000000277211752752574023654 0ustar dokousers// Test for method java.lang.Integer.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Integer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Integer; /** * Test for method java.lang.Integer.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Integer(42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.lang.Integer"); } } mauve-20140821/gnu/testlet/java/lang/Integer/classInfo/isArray.java0000644000175000001440000000274712026546135023675 0ustar dokousers// Test for method java.lang.Integer.getClass().isArray() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Integer.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Integer; /** * Test for method java.lang.Integer.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Integer Object o = new Integer(42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/Integer/decode.java0000644000175000001440000000643510236351530021555 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Integer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Some checks for the decode() method in the {@link Integer} class. */ public class decode implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // decimal values harness.check(Integer.decode("0").equals(new Integer(0))); harness.check(Integer.decode("-1").equals(new Integer(-1))); harness.check(Integer.decode("123").equals(new Integer(123))); harness.check(Integer.decode("1234567").equals(new Integer(1234567))); harness.check(Integer.decode("2147483647").equals(new Integer(2147483647))); harness.check(Integer.decode("-2147483648").equals(new Integer(-2147483648))); // hexadecimal values harness.check(Integer.decode("0x00").equals(new Integer(0))); harness.check(Integer.decode("-0x01").equals(new Integer(-1))); harness.check(Integer.decode("0xFF").equals(new Integer(255))); harness.check(Integer.decode("0XFF").equals(new Integer(255))); harness.check(Integer.decode("0xff").equals(new Integer(255))); harness.check(Integer.decode("0XfF").equals(new Integer(255))); harness.check(Integer.decode("#ff").equals(new Integer(255))); // octal values harness.check(Integer.decode("00").equals(new Integer(0))); harness.check(Integer.decode("-070").equals(new Integer(-56))); harness.check(Integer.decode("072").equals(new Integer(58))); // try a null argument boolean pass = false; try { Integer.decode(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try a non-numeric string pass = false; try { Integer.decode("XYZ"); } catch (NumberFormatException e) { pass = true; } harness.check(pass); // try some bad formatting pass = false; try { Integer.decode("078"); } catch (NumberFormatException e) { pass = true; } harness.check(pass); pass = false; try { Integer.decode("1.0"); } catch (NumberFormatException e) { pass = true; } harness.check(pass); pass = false; try { Integer.decode(""); } catch (NumberFormatException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/lang/Integer/integerDivide.java0000644000175000001440000001326212064045061023110 0ustar dokousers// Test integer division operation. // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA package gnu.testlet.java.lang.Integer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test integer division operation. */ public class integerDivide implements Testlet { /** * Entry point to this test. */ public void test(TestHarness harness) { testDividePositiveByPositiveCase1(harness); testDividePositiveByPositiveCase2(harness); testDividePositiveByPositiveCase3(harness); testDividePositiveByNegativeCase1(harness); testDividePositiveByNegativeCase2(harness); testDividePositiveByNegativeCase3(harness); testDivideNegativeByPositiveCase1(harness); testDivideNegativeByPositiveCase2(harness); testDivideNegativeByPositiveCase3(harness); testDivideNegativeByNegativeCase1(harness); testDivideNegativeByNegativeCase2(harness); testDivideNegativeByNegativeCase3(harness); testDivideMaxValue(harness); testDivideMinValue(harness); testDivideByMaxValue(harness); testDivideByMinValue(harness); testDivideByZeroCase1(harness); testDivideByZeroCase2(harness); testDivideByZeroCase3(harness); testDivideByZeroCase4(harness); testDivideByZeroCase5(harness); } public void testDividePositiveByPositiveCase1(TestHarness harness) { int x = 10; int y = 2; int z = x / y; harness.check(z == 5); } public void testDividePositiveByPositiveCase2(TestHarness harness) { int x = 10; int y = 3; int z = x / y; harness.check(z == 3); } public void testDividePositiveByPositiveCase3(TestHarness harness) { int x = 11; int y = 3; int z = x / y; harness.check(z == 3); } public void testDividePositiveByNegativeCase1(TestHarness harness) { int x = 10; int y = -2; int z = x / y; harness.check(z == -5); } public void testDividePositiveByNegativeCase2(TestHarness harness) { int x = 10; int y = -3; int z = x / y; harness.check(z == -3); } public void testDividePositiveByNegativeCase3(TestHarness harness) { int x = 11; int y = -3; int z = x / y; harness.check(z == -3); } public void testDivideNegativeByPositiveCase1(TestHarness harness) { int x = -10; int y = 2; int z = x / y; harness.check(z == -5); } public void testDivideNegativeByPositiveCase2(TestHarness harness) { int x = -10; int y = 3; int z = x / y; harness.check(z == -3); } public void testDivideNegativeByPositiveCase3(TestHarness harness) { int x = -11; int y = 3; int z = x / y; harness.check(z == -3); } public void testDivideNegativeByNegativeCase1(TestHarness harness) { int x = -10; int y = -2; int z = x / y; harness.check(z == 5); } public void testDivideNegativeByNegativeCase2(TestHarness harness) { int x = -10; int y = -3; int z = x / y; harness.check(z == 3); } public void testDivideNegativeByNegativeCase3(TestHarness harness) { int x = -11; int y = -3; int z = x / y; harness.check(z == 3); } public void testDivideMaxValue(TestHarness harness) { int x = Integer.MAX_VALUE; int y = 2 << 15; int z = x / y; harness.check(z == 32767); } public void testDivideMinValue(TestHarness harness) { int x = Integer.MIN_VALUE; int y = 2 << 15; int z = x / y; harness.check(z == -32768); } public void testDivideByMaxValue(TestHarness harness) { int x = Integer.MAX_VALUE; int y = Integer.MAX_VALUE; int z = x / y; harness.check(z == 1); } public void testDivideByMinValue(TestHarness harness) { int x = Integer.MIN_VALUE; int y = Integer.MIN_VALUE; int z = x / y; harness.check(z == 1); } public void testDivideByZeroCase1(TestHarness harness) { int x = 1; int y = 0; try { int z = x / y; harness.check(false); } catch(ArithmeticException e) { harness.check(true); } } public void testDivideByZeroCase2(TestHarness harness) { int x = -1; int y = 0; try { int z = x / y; harness.check(false); } catch(ArithmeticException e) { harness.check(true); } } public void testDivideByZeroCase3(TestHarness harness) { int x = Integer.MAX_VALUE; int y = 0; try { int z = x / y; harness.check(false); } catch(ArithmeticException e) { harness.check(true); } } public void testDivideByZeroCase4(TestHarness harness) { int x = Integer.MIN_VALUE; int y = 0; try { int z = x / y; harness.check(false); } catch(ArithmeticException e) { harness.check(true); } } public void testDivideByZeroCase5(TestHarness harness) { int x = 0; int y = 0; try { int z = x / y; harness.check(false); } catch(ArithmeticException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/lang/Integer/parseInt.java0000644000175000001440000001045011623426735022122 0ustar dokousers/* Copyright (C) 2002 Free Software Foundation, Inc. * Written by Mark Wielaard * * This file is part of Mauve. * * Mauve 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 version 2, or (at your option) * any later version. * * Mauve 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 Public License for more details. * * You should have received a copy of the GNU General Public License * along with Mauve; see the file COPYING. If not, write to * the Free Software Foundation, 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ // Tags: JDK1.1 package gnu.testlet.java.lang.Integer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class parseInt implements Testlet { /** * Returns true if tested JRE conformns to JDK 1.7. */ private static boolean conformToJDK17() { String[] javaVersion = System.getProperty("java.version").split("\\."); String vendorID = System.getProperty("java.vendor"); // test of OpenJDK if ("Sun Microsystems Inc.".equals(vendorID)) { return Integer.parseInt(javaVersion[1]) >= 7; } return true; } public void test(TestHarness harness) { int i; i = Integer.parseInt("0"); harness.check(i, 0); i = Integer.parseInt("1"); harness.check(i, 1); i = Integer.parseInt("000"); harness.check(i, 0); i = Integer.parseInt("007"); harness.check(i, 7); i = Integer.parseInt("-0"); harness.check(i, 0); i = Integer.parseInt("-1"); harness.check(i, -1); i = Integer.parseInt("-2147483648"); harness.check(i, Integer.MIN_VALUE); i = Integer.parseInt("2147483647"); harness.check(i, Integer.MAX_VALUE); try { i = Integer.parseInt("-2147483649"); harness.fail("-2147483649 is to small for an int"); } catch (NumberFormatException nfe) { harness.check(true); } try { i = Integer.parseInt("2147483648"); harness.fail("2147483648 is to big for an int"); } catch (NumberFormatException nfe) { harness.check(true); } try { i = Integer.parseInt("abc"); harness.fail("Illegal input (abc) must throw NumberFormatException"); } catch (NumberFormatException nfe) { harness.check(true); } try { i = Integer.parseInt("-"); harness.fail("Single '-' must throw NumberFormatException"); } catch (NumberFormatException nfe) { harness.check(true); } try { i = Integer.parseInt("+"); harness.fail("Single '+' must throw NumberFormatException"); } catch (NumberFormatException nfe) { harness.check(true); } // In JDK1.7, '+' is considered a valid character. // it means that the following step should be divided // for pre JDK1.7 case and >= JDK1.7 if (conformToJDK17()) { try { i = Integer.parseInt("+10"); harness.check(true); harness.check(i, 10); } catch (NumberFormatException nfe) { harness.fail("'+10' string is not parsed correctly as expected in JDK1.7"); } } else { // pre JDK1.7 branch try { i = Integer.parseInt("+10"); harness.fail("'+10' must throw NumberFormatException"); } catch (NumberFormatException nfe) { harness.check(true); } } try { i = Integer.parseInt(null); harness.fail("null input must throw NumberFormatException"); } catch (NullPointerException npe) { harness.fail("null input must throw NumberFormatException, not NullPointerException"); } catch (NumberFormatException nfe) { harness.check(true); } try { i = Integer.parseInt(""); harness.fail("empty input must throw NumberFormatException"); } catch (IndexOutOfBoundsException ioobe) { harness.fail("empty input must throw NumberFormatException, not IndexOutOfBoundsException"); } catch (NumberFormatException nfe) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/0000755000175000001440000000000012375316426023350 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/constructor.java0000644000175000001440000000406712273673130026602 0ustar dokousers// Test if instances of a class java.lang.NegativeArraySizeException could be properly constructed // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; /** * Test if instances of a class java.lang.NegativeArraySizeException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { NegativeArraySizeException object1 = new NegativeArraySizeException(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.NegativeArraySizeException"); NegativeArraySizeException object2 = new NegativeArraySizeException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.NegativeArraySizeException: nothing happens"); NegativeArraySizeException object3 = new NegativeArraySizeException(null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.NegativeArraySizeException"); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/TryCatch.java0000644000175000001440000000340012273673130025724 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.NegativeArraySizeException // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; /** * Test if try-catch block is working properly for a class java.lang.NegativeArraySizeException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new NegativeArraySizeException("NegativeArraySizeException"); } catch (NegativeArraySizeException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/0000755000175000001440000000000012375316426025271 5ustar dokousers././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getDeclaredConstructor.javamauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getDeclaredConstructor.jav0000644000175000001440000000724512274715374032457 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NegativeArraySizeException.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.NegativeArraySizeException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.NegativeArraySizeException", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.NegativeArraySizeException", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.NegativeArraySizeException", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getPackage.java0000644000175000001440000000333712276663247030203 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().getPackage() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; /** * Test for method java.lang.NegativeArraySizeException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getDeclaredMethods.java0000644000175000001440000000627112274150747031671 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NegativeArraySizeException.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getInterfaces.java0000644000175000001440000000337712273673130030724 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().getInterfaces() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.NegativeArraySizeException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getModifiers.java0000644000175000001440000000457012273673130030556 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().getModifiers() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; import java.lang.reflect.Modifier; /** * Test for method java.lang.NegativeArraySizeException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getDeclaredFields.java0000644000175000001440000000712212274150746031467 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().getDeclaredFields() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NegativeArraySizeException.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.NegativeArraySizeException.serialVersionUID", "serialVersionUID"); // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getDeclaredConstructors.javamauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getDeclaredConstructors.ja0000644000175000001440000001063412274715375032451 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NegativeArraySizeException.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.NegativeArraySizeException()", "java.lang.NegativeArraySizeException"); testedDeclaredConstructors_jdk6.put("public java.lang.NegativeArraySizeException(java.lang.String)", "java.lang.NegativeArraySizeException"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.NegativeArraySizeException()", "java.lang.NegativeArraySizeException"); testedDeclaredConstructors_jdk7.put("public java.lang.NegativeArraySizeException(java.lang.String)", "java.lang.NegativeArraySizeException"); // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getField.java0000644000175000001440000000562412276127005027657 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().getField() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NegativeArraySizeException.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getFields.java0000644000175000001440000000576212276127005030045 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().getFields() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NegativeArraySizeException.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/isPrimitive.java0000644000175000001440000000327412276364272030450 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; /** * Test for method java.lang.NegativeArraySizeException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getSimpleName.java0000644000175000001440000000333312276663247030676 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().getSimpleName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; /** * Test for method java.lang.NegativeArraySizeException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "NegativeArraySizeException"); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getEnclosingClass.java0000644000175000001440000000336112274150747031546 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().getEnclosingClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; /** * Test for method java.lang.NegativeArraySizeException.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/isAnnotationPresent.java0000644000175000001440000000446212277100571032142 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; /** * Test for method java.lang.NegativeArraySizeException.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/isSynthetic.java0000644000175000001440000000327412276364272030452 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; /** * Test for method java.lang.NegativeArraySizeException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/isAnnotation.java0000644000175000001440000000327212277100571030577 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().isAnnotation() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; /** * Test for method java.lang.NegativeArraySizeException.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/isInstance.java0000644000175000001440000000337512276364272030246 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().isInstance(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; /** * Test for method java.lang.NegativeArraySizeException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new NegativeArraySizeException("java.lang.NegativeArraySizeException"))); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getDeclaredMethod.java0000644000175000001440000000623012274150746031500 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NegativeArraySizeException.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getDeclaredClasses.java0000644000175000001440000000343512274715374031665 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; /** * Test for method java.lang.NegativeArraySizeException.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getComponentType.java0000644000175000001440000000335512275134700031436 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().getComponentType() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; /** * Test for method java.lang.NegativeArraySizeException.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getMethod.java0000644000175000001440000001440012276127005030044 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().getMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NegativeArraySizeException.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/isMemberClass.java0000644000175000001440000000330412276364272030667 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; /** * Test for method java.lang.NegativeArraySizeException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getConstructor.java0000644000175000001440000000720512274715374031170 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().getConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NegativeArraySizeException.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.NegativeArraySizeException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.NegativeArraySizeException", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.NegativeArraySizeException", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.NegativeArraySizeException", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getSuperclass.java0000644000175000001440000000341412276663247030770 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().getSuperclass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; /** * Test for method java.lang.NegativeArraySizeException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.RuntimeException"); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/isEnum.java0000644000175000001440000000324212277100571027366 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().isEnum() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; /** * Test for method java.lang.NegativeArraySizeException.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getMethods.java0000644000175000001440000001776212276127005030245 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().getMethods() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NegativeArraySizeException.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getAnnotations.java0000644000175000001440000000603512275134700031125 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().getAnnotations() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.NegativeArraySizeException.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/InstanceOf.java0000644000175000001440000000406212273673130030162 0ustar dokousers// Test for instanceof operator applied to a class java.lang.NegativeArraySizeException // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; import java.lang.RuntimeException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.NegativeArraySizeException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NegativeArraySizeException NegativeArraySizeException o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // basic check of instanceof operator harness.check(o instanceof NegativeArraySizeException); // check operator instanceof against all superclasses harness.check(o instanceof RuntimeException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getDeclaringClass.java0000644000175000001440000000336112274150747031515 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().getDeclaringClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; /** * Test for method java.lang.NegativeArraySizeException.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getAnnotation.java0000644000175000001440000000514412275134700030742 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().getAnnotation() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; /** * Test for method java.lang.NegativeArraySizeException.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/isAnonymousClass.java0000644000175000001440000000331212277100571031436 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().isAnonymousClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; /** * Test for method java.lang.NegativeArraySizeException.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getEnclosingMethod.java0000644000175000001440000000340112276127005031705 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; /** * Test for method java.lang.NegativeArraySizeException.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/isInterface.java0000644000175000001440000000327412276364272030400 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().isInterface(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; /** * Test for method java.lang.NegativeArraySizeException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getConstructors.java0000644000175000001440000001026712274715374031355 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().getConstructors() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NegativeArraySizeException.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.NegativeArraySizeException()", "java.lang.NegativeArraySizeException"); testedConstructors_jdk6.put("public java.lang.NegativeArraySizeException(java.lang.String)", "java.lang.NegativeArraySizeException"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.NegativeArraySizeException()", "java.lang.NegativeArraySizeException"); testedConstructors_jdk7.put("public java.lang.NegativeArraySizeException(java.lang.String)", "java.lang.NegativeArraySizeException"); // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/isAssignableFrom.java0000644000175000001440000000335612276663247031401 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; /** * Test for method java.lang.NegativeArraySizeException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(NegativeArraySizeException.class)); } } ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getDeclaredAnnotations.javamauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getDeclaredAnnotations.jav0000644000175000001440000000607512274715374032427 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.NegativeArraySizeException.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getDeclaredField.java0000644000175000001440000000573512274150746031314 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().getDeclaredField() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NegativeArraySizeException.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/isLocalClass.java0000644000175000001440000000330012276364272030506 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; /** * Test for method java.lang.NegativeArraySizeException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getEnclosingConstructor.javamauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getEnclosingConstructor.ja0000644000175000001440000000344312275134700032470 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; /** * Test for method java.lang.NegativeArraySizeException.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getCanonicalName.java0000644000175000001440000000335612275134700031323 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().getSimpleName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; /** * Test for method java.lang.NegativeArraySizeException.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.NegativeArraySizeException"); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getName.java0000644000175000001440000000331512273673130027511 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().getName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; /** * Test for method java.lang.NegativeArraySizeException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.NegativeArraySizeException"); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getClasses.java0000644000175000001440000000337512275134700030231 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().getClasses() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; /** * Test for method java.lang.NegativeArraySizeException.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/NegativeArraySizeException/classInfo/isArray.java0000644000175000001440000000324612277100571027544 0ustar dokousers// Test for method java.lang.NegativeArraySizeException.getClass().isArray() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NegativeArraySizeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NegativeArraySizeException; /** * Test for method java.lang.NegativeArraySizeException.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NegativeArraySizeException final Object o = new NegativeArraySizeException("java.lang.NegativeArraySizeException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/RuntimeException/0000755000175000001440000000000012375316426021377 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/RuntimeException/constructor.java0000644000175000001440000000501612061571377024631 0ustar dokousers// Test if instances of a class java.lang.RuntimeException could be properly constructed // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.RuntimeException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.RuntimeException; /** * Test if instances of a class java.lang.RuntimeException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { RuntimeException object1 = new RuntimeException(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.RuntimeException"); RuntimeException object2 = new RuntimeException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.RuntimeException: nothing happens"); RuntimeException object3 = new RuntimeException((String)null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.RuntimeException"); RuntimeException object4 = new RuntimeException(new Throwable()); harness.check(object4 != null); harness.check(object4.toString(), "java.lang.RuntimeException: java.lang.Throwable"); RuntimeException object5 = new RuntimeException((Throwable)null); harness.check(object5 != null); harness.check(object5.toString(), "java.lang.RuntimeException"); RuntimeException object6 = new RuntimeException("nothing", new Throwable()); harness.check(object6 != null); harness.check(object6.toString(), "java.lang.RuntimeException: nothing"); } } mauve-20140821/gnu/testlet/java/lang/RuntimeException/TryCatch.java0000644000175000001440000000325612061571377023771 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.RuntimeException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.RuntimeException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.RuntimeException; /** * Test if try-catch block is working properly for a class java.lang.RuntimeException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new RuntimeException("RuntimeException"); } catch (RuntimeException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/RuntimeException/classInfo/0000755000175000001440000000000012375316426023320 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/RuntimeException/classInfo/getPackage.java0000644000175000001440000000321512061571377026217 0ustar dokousers// Test for method java.lang.RuntimeException.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.RuntimeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.RuntimeException; /** * Test for method java.lang.RuntimeException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class RuntimeException final Object o = new RuntimeException("java.lang.RuntimeException"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/RuntimeException/classInfo/getDeclaredMethods.java0000644000175000001440000000614712061571377027722 0ustar dokousers// Test for method java.lang.RuntimeException.getClass().getDeclaredMethods() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.RuntimeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.RuntimeException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.RuntimeException.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class RuntimeException final Object o = new RuntimeException("java.lang.RuntimeException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/RuntimeException/classInfo/getInterfaces.java0000644000175000001440000000325512061571377026753 0ustar dokousers// Test for method java.lang.RuntimeException.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.RuntimeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.RuntimeException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.RuntimeException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class RuntimeException final Object o = new RuntimeException("java.lang.RuntimeException"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/RuntimeException/classInfo/getModifiers.java0000644000175000001440000000444612061571377026614 0ustar dokousers// Test for method java.lang.RuntimeException.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.RuntimeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.RuntimeException; import java.lang.reflect.Modifier; /** * Test for method java.lang.RuntimeException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class RuntimeException final Object o = new RuntimeException("java.lang.RuntimeException"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/RuntimeException/classInfo/getDeclaredFields.java0000644000175000001440000000723512061571377027524 0ustar dokousers// Test for method java.lang.RuntimeException.getClass().getDeclaredFields() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.RuntimeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.RuntimeException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.RuntimeException.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 testedDeclaredFields_jdk6.put("static final long java.lang.RuntimeException.serialVersionUID", "serialVersionUID"); // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("static final long java.lang.RuntimeException.serialVersionUID", "serialVersionUID"); // create instance of a class RuntimeException final Object o = new RuntimeException("java.lang.RuntimeException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/RuntimeException/classInfo/getDeclaredConstructors.java0000644000175000001440000001173112061571377031022 0ustar dokousers// Test for method java.lang.RuntimeException.getClass().getDeclaredConstructors() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.RuntimeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.RuntimeException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.RuntimeException.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.RuntimeException()", "java.lang.RuntimeException"); testedDeclaredConstructors_jdk6.put("public java.lang.RuntimeException(java.lang.String)", "java.lang.RuntimeException"); testedDeclaredConstructors_jdk6.put("public java.lang.RuntimeException(java.lang.String,java.lang.Throwable)", "java.lang.RuntimeException"); testedDeclaredConstructors_jdk6.put("public java.lang.RuntimeException(java.lang.Throwable)", "java.lang.RuntimeException"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("protected java.lang.RuntimeException(java.lang.String,java.lang.Throwable,boolean,boolean)", "java.lang.RuntimeException"); testedDeclaredConstructors_jdk7.put("public java.lang.RuntimeException(java.lang.Throwable)", "java.lang.RuntimeException"); testedDeclaredConstructors_jdk7.put("public java.lang.RuntimeException(java.lang.String,java.lang.Throwable)", "java.lang.RuntimeException"); testedDeclaredConstructors_jdk7.put("public java.lang.RuntimeException(java.lang.String)", "java.lang.RuntimeException"); testedDeclaredConstructors_jdk7.put("public java.lang.RuntimeException()", "java.lang.RuntimeException"); // create instance of a class RuntimeException final Object o = new RuntimeException("java.lang.RuntimeException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/RuntimeException/classInfo/getFields.java0000644000175000001440000000564012061571377026076 0ustar dokousers// Test for method java.lang.RuntimeException.getClass().getFields() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.RuntimeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.RuntimeException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.RuntimeException.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class RuntimeException final Object o = new RuntimeException("java.lang.RuntimeException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/RuntimeException/classInfo/isPrimitive.java0000644000175000001440000000315212061571377026470 0ustar dokousers// Test for method java.lang.RuntimeException.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.RuntimeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.RuntimeException; /** * Test for method java.lang.RuntimeException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class RuntimeException final Object o = new RuntimeException("java.lang.RuntimeException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/RuntimeException/classInfo/getSimpleName.java0000644000175000001440000000317712061571377026725 0ustar dokousers// Test for method java.lang.RuntimeException.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.RuntimeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.RuntimeException; /** * Test for method java.lang.RuntimeException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class RuntimeException final Object o = new RuntimeException("java.lang.RuntimeException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "RuntimeException"); } } mauve-20140821/gnu/testlet/java/lang/RuntimeException/classInfo/isAnnotationPresent.java0000644000175000001440000000434012061571377030173 0ustar dokousers// Test for method java.lang.RuntimeException.getClass().isAnnotationPresent() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.RuntimeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.RuntimeException; /** * Test for method java.lang.RuntimeException.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class RuntimeException final Object o = new RuntimeException("java.lang.RuntimeException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/RuntimeException/classInfo/isSynthetic.java0000644000175000001440000000315212061571377026472 0ustar dokousers// Test for method java.lang.RuntimeException.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.RuntimeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.RuntimeException; /** * Test for method java.lang.RuntimeException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class RuntimeException final Object o = new RuntimeException("java.lang.RuntimeException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/RuntimeException/classInfo/isAnnotation.java0000644000175000001440000000315012061571377026630 0ustar dokousers// Test for method java.lang.RuntimeException.getClass().isAnnotation() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.RuntimeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.RuntimeException; /** * Test for method java.lang.RuntimeException.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class RuntimeException final Object o = new RuntimeException("java.lang.RuntimeException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/RuntimeException/classInfo/isInstance.java0000644000175000001440000000322712061571377026267 0ustar dokousers// Test for method java.lang.RuntimeException.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.RuntimeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.RuntimeException; /** * Test for method java.lang.RuntimeException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class RuntimeException final Object o = new RuntimeException("java.lang.RuntimeException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new RuntimeException("java.lang.RuntimeException"))); } } mauve-20140821/gnu/testlet/java/lang/RuntimeException/classInfo/isMemberClass.java0000644000175000001440000000316212061571377026716 0ustar dokousers// Test for method java.lang.RuntimeException.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.RuntimeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.RuntimeException; /** * Test for method java.lang.RuntimeException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class RuntimeException final Object o = new RuntimeException("java.lang.RuntimeException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/RuntimeException/classInfo/getSuperclass.java0000644000175000001440000000326312061571377027013 0ustar dokousers// Test for method java.lang.RuntimeException.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.RuntimeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.RuntimeException; /** * Test for method java.lang.RuntimeException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class RuntimeException final Object o = new RuntimeException("java.lang.RuntimeException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.Exception"); } } mauve-20140821/gnu/testlet/java/lang/RuntimeException/classInfo/isEnum.java0000644000175000001440000000312012061571377025417 0ustar dokousers// Test for method java.lang.RuntimeException.getClass().isEnum() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.RuntimeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.RuntimeException; /** * Test for method java.lang.RuntimeException.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class RuntimeException final Object o = new RuntimeException("java.lang.RuntimeException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/RuntimeException/classInfo/getMethods.java0000644000175000001440000001764012061571377026276 0ustar dokousers// Test for method java.lang.RuntimeException.getClass().getMethods() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.RuntimeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.RuntimeException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.RuntimeException.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class RuntimeException final Object o = new RuntimeException("java.lang.RuntimeException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/RuntimeException/classInfo/InstanceOf.java0000644000175000001440000000356312061571377026223 0ustar dokousers// Test for instanceof operator applied to a class java.lang.RuntimeException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.RuntimeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.RuntimeException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.RuntimeException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class RuntimeException RuntimeException o = new RuntimeException("java.lang.RuntimeException"); // basic check of instanceof operator harness.check(o instanceof RuntimeException); // check operator instanceof against all superclasses harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/RuntimeException/classInfo/isAnonymousClass.java0000644000175000001440000000317012061571377027476 0ustar dokousers// Test for method java.lang.RuntimeException.getClass().isAnonymousClass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.RuntimeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.RuntimeException; /** * Test for method java.lang.RuntimeException.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class RuntimeException final Object o = new RuntimeException("java.lang.RuntimeException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/RuntimeException/classInfo/isInterface.java0000644000175000001440000000315212061571377026420 0ustar dokousers// Test for method java.lang.RuntimeException.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.RuntimeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.RuntimeException; /** * Test for method java.lang.RuntimeException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class RuntimeException final Object o = new RuntimeException("java.lang.RuntimeException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/RuntimeException/classInfo/getConstructors.java0000644000175000001440000001105312061571377027373 0ustar dokousers// Test for method java.lang.RuntimeException.getClass().getConstructors() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.RuntimeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.RuntimeException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.RuntimeException.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.RuntimeException()", "java.lang.RuntimeException"); testedConstructors_jdk6.put("public java.lang.RuntimeException(java.lang.String)", "java.lang.RuntimeException"); testedConstructors_jdk6.put("public java.lang.RuntimeException(java.lang.String,java.lang.Throwable)", "java.lang.RuntimeException"); testedConstructors_jdk6.put("public java.lang.RuntimeException(java.lang.Throwable)", "java.lang.RuntimeException"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.RuntimeException(java.lang.Throwable)", "java.lang.RuntimeException"); testedConstructors_jdk7.put("public java.lang.RuntimeException(java.lang.String,java.lang.Throwable)", "java.lang.RuntimeException"); testedConstructors_jdk7.put("public java.lang.RuntimeException(java.lang.String)", "java.lang.RuntimeException"); testedConstructors_jdk7.put("public java.lang.RuntimeException()", "java.lang.RuntimeException"); // create instance of a class RuntimeException final Object o = new RuntimeException("java.lang.RuntimeException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/RuntimeException/classInfo/isAssignableFrom.java0000644000175000001440000000322212061571377027412 0ustar dokousers// Test for method java.lang.RuntimeException.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.RuntimeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.RuntimeException; /** * Test for method java.lang.RuntimeException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class RuntimeException final Object o = new RuntimeException("java.lang.RuntimeException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(RuntimeException.class)); } } mauve-20140821/gnu/testlet/java/lang/RuntimeException/classInfo/isLocalClass.java0000644000175000001440000000315612061571377026544 0ustar dokousers// Test for method java.lang.RuntimeException.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.RuntimeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.RuntimeException; /** * Test for method java.lang.RuntimeException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class RuntimeException final Object o = new RuntimeException("java.lang.RuntimeException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/RuntimeException/classInfo/getName.java0000644000175000001440000000316112061571377025544 0ustar dokousers// Test for method java.lang.RuntimeException.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.RuntimeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.RuntimeException; /** * Test for method java.lang.RuntimeException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class RuntimeException final Object o = new RuntimeException("java.lang.RuntimeException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.RuntimeException"); } } mauve-20140821/gnu/testlet/java/lang/RuntimeException/classInfo/isArray.java0000644000175000001440000000312412061571377025575 0ustar dokousers// Test for method java.lang.RuntimeException.getClass().isArray() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.RuntimeException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.RuntimeException; /** * Test for method java.lang.RuntimeException.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class RuntimeException final Object o = new RuntimeException("java.lang.RuntimeException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/0000755000175000001440000000000012375316426023676 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/constructor.java0000644000175000001440000000411312214020702027102 0ustar dokousers// Test if instances of a class java.lang.IllegalMonitorStateException could be properly constructed // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; /** * Test if instances of a class java.lang.IllegalMonitorStateException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IllegalMonitorStateException object1 = new IllegalMonitorStateException(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.IllegalMonitorStateException"); IllegalMonitorStateException object2 = new IllegalMonitorStateException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.IllegalMonitorStateException: nothing happens"); IllegalMonitorStateException object3 = new IllegalMonitorStateException(null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.IllegalMonitorStateException"); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/TryCatch.java0000644000175000001440000000341012214020702026235 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.IllegalMonitorStateException // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; /** * Test if try-catch block is working properly for a class java.lang.IllegalMonitorStateException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new IllegalMonitorStateException("IllegalMonitorStateException"); } catch (IllegalMonitorStateException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/0000755000175000001440000000000012375316426025617 5ustar dokousers././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getDeclaredConstructor.javamauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getDeclaredConstructor.j0000644000175000001440000000726512215532151032441 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalMonitorStateException.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.IllegalMonitorStateException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.IllegalMonitorStateException", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.IllegalMonitorStateException", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.IllegalMonitorStateException", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getPackage.java0000644000175000001440000000334712214020702030501 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().getPackage() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; /** * Test for method java.lang.IllegalMonitorStateException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getDeclaredMethods.java0000644000175000001440000000630112215532151032175 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalMonitorStateException.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getInterfaces.java0000644000175000001440000000340712214020702031226 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().getInterfaces() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.IllegalMonitorStateException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getModifiers.java0000644000175000001440000000460012214020702031060 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().getModifiers() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; import java.lang.reflect.Modifier; /** * Test for method java.lang.IllegalMonitorStateException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getDeclaredFields.java0000644000175000001440000000724712215532151032012 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().getDeclaredFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalMonitorStateException.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.IllegalMonitorStateException.serialVersionUID", "serialVersionUID"); // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getDeclaredConstructors.javamauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getDeclaredConstructors.0000644000175000001440000001066412215532151032447 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalMonitorStateException.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.IllegalMonitorStateException()", "java.lang.IllegalMonitorStateException"); testedDeclaredConstructors_jdk6.put("public java.lang.IllegalMonitorStateException(java.lang.String)", "java.lang.IllegalMonitorStateException"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.IllegalMonitorStateException()", "java.lang.IllegalMonitorStateException"); testedDeclaredConstructors_jdk7.put("public java.lang.IllegalMonitorStateException(java.lang.String)", "java.lang.IllegalMonitorStateException"); // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getField.java0000644000175000001440000000563412214307104030176 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().getField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalMonitorStateException.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getFields.java0000644000175000001440000000577212214307104030364 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().getFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalMonitorStateException.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/isPrimitive.java0000644000175000001440000000330412217013566030760 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; /** * Test for method java.lang.IllegalMonitorStateException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getSimpleName.java0000644000175000001440000000334512216272727031220 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; /** * Test for method java.lang.IllegalMonitorStateException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "IllegalMonitorStateException"); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getEnclosingClass.java0000644000175000001440000000337112216016674032071 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().getEnclosingClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; /** * Test for method java.lang.IllegalMonitorStateException.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/isAnnotationPresent.java0000644000175000001440000000447212216526733032476 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; /** * Test for method java.lang.IllegalMonitorStateException.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/isSynthetic.java0000644000175000001440000000330412217013566030762 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; /** * Test for method java.lang.IllegalMonitorStateException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/isAnnotation.java0000644000175000001440000000330212216526733031124 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().isAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; /** * Test for method java.lang.IllegalMonitorStateException.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/isInstance.java0000644000175000001440000000341112216272727030560 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().isInstance(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; /** * Test for method java.lang.IllegalMonitorStateException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"))); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getDeclaredMethod.java0000644000175000001440000000624012215532151032014 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalMonitorStateException.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getDeclaredClasses.java0000644000175000001440000000344512216016674032205 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; /** * Test for method java.lang.IllegalMonitorStateException.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getComponentType.java0000644000175000001440000000336512214550414031762 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().getComponentType() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; /** * Test for method java.lang.IllegalMonitorStateException.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getMethod.java0000644000175000001440000001441012214307104030363 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().getMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalMonitorStateException.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/isMemberClass.java0000644000175000001440000000331412217013566031206 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; /** * Test for method java.lang.IllegalMonitorStateException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getConstructor.java0000644000175000001440000000722512214307104031476 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().getConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalMonitorStateException.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.IllegalMonitorStateException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.IllegalMonitorStateException", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.IllegalMonitorStateException", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.IllegalMonitorStateException", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getSuperclass.java0000644000175000001440000000342412216272727031310 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().getSuperclass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; /** * Test for method java.lang.IllegalMonitorStateException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.RuntimeException"); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/isEnum.java0000644000175000001440000000325212216526733027722 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().isEnum() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; /** * Test for method java.lang.IllegalMonitorStateException.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getMethods.java0000644000175000001440000001777212214307104030564 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().getMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalMonitorStateException.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getAnnotations.java0000644000175000001440000000604512214550413031450 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().getAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.IllegalMonitorStateException.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/InstanceOf.java0000644000175000001440000000407612214020702030477 0ustar dokousers// Test for instanceof operator applied to a class java.lang.IllegalMonitorStateException // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; import java.lang.RuntimeException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.IllegalMonitorStateException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalMonitorStateException IllegalMonitorStateException o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // basic check of instanceof operator harness.check(o instanceof IllegalMonitorStateException); // check operator instanceof against all superclasses harness.check(o instanceof RuntimeException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getDeclaringClass.java0000644000175000001440000000337112216016674032040 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().getDeclaringClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; /** * Test for method java.lang.IllegalMonitorStateException.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getAnnotation.java0000644000175000001440000000515412214550413031265 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().getAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; /** * Test for method java.lang.IllegalMonitorStateException.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/isAnonymousClass.java0000644000175000001440000000332212216526733031772 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().isAnonymousClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; /** * Test for method java.lang.IllegalMonitorStateException.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getEnclosingMethod.java0000644000175000001440000000341112216016674032237 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; /** * Test for method java.lang.IllegalMonitorStateException.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/isInterface.java0000644000175000001440000000330412216272727030715 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().isInterface(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; /** * Test for method java.lang.IllegalMonitorStateException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getConstructors.java0000644000175000001440000001031712214307104031655 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().getConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalMonitorStateException.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.IllegalMonitorStateException()", "java.lang.IllegalMonitorStateException"); testedConstructors_jdk6.put("public java.lang.IllegalMonitorStateException(java.lang.String)", "java.lang.IllegalMonitorStateException"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.IllegalMonitorStateException()", "java.lang.IllegalMonitorStateException"); testedConstructors_jdk7.put("public java.lang.IllegalMonitorStateException(java.lang.String)", "java.lang.IllegalMonitorStateException"); // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/isAssignableFrom.java0000644000175000001440000000337012216272727031714 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; /** * Test for method java.lang.IllegalMonitorStateException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(IllegalMonitorStateException.class)); } } ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getDeclaredAnnotations.javamauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getDeclaredAnnotations.j0000644000175000001440000000610512216016674032411 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.IllegalMonitorStateException.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getDeclaredField.java0000644000175000001440000000574512215532151031630 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().getDeclaredField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalMonitorStateException.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/isLocalClass.java0000644000175000001440000000331012216272727031032 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; /** * Test for method java.lang.IllegalMonitorStateException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getEnclosingConstructor.javamauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getEnclosingConstructor.0000644000175000001440000000345312216016674032510 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; /** * Test for method java.lang.IllegalMonitorStateException.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getCanonicalName.java0000644000175000001440000000337012214550413031641 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; /** * Test for method java.lang.IllegalMonitorStateException.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.IllegalMonitorStateException"); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getName.java0000644000175000001440000000332712214020702030024 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().getName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; /** * Test for method java.lang.IllegalMonitorStateException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.IllegalMonitorStateException"); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getClasses.java0000644000175000001440000000340512214550413030545 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().getClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; /** * Test for method java.lang.IllegalMonitorStateException.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/isArray.java0000644000175000001440000000325612216526733030100 0ustar dokousers// Test for method java.lang.IllegalMonitorStateException.getClass().isArray() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalMonitorStateException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalMonitorStateException; /** * Test for method java.lang.IllegalMonitorStateException.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalMonitorStateException final Object o = new IllegalMonitorStateException("java.lang.IllegalMonitorStateException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/Exception/0000755000175000001440000000000012375316426020033 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Exception/constructor.java0000644000175000001440000000427712163250740023264 0ustar dokousers// Test if instances of a class java.lang.Exception could be properly constructed // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; /** * Test if instances of a class java.lang.Exception * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Exception object1 = new Exception(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.Exception"); Exception object2 = new Exception("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.Exception: nothing happens"); Exception object3 = new Exception((String)null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.Exception"); Exception object4 = new Exception(new Throwable()); harness.check(object4 != null); harness.check(object4.toString(), "java.lang.Exception: java.lang.Throwable"); Exception object5 = new Exception((Throwable)null); harness.check(object5 != null); harness.check(object5.toString(), "java.lang.Exception"); } } mauve-20140821/gnu/testlet/java/lang/Exception/TryCatch.java0000644000175000001440000000320312163250740022404 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.Exception // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; /** * Test if try-catch block is working properly for a class java.lang.Exception */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new Exception("Exception"); } catch (Exception e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/0000755000175000001440000000000012375316426021754 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Exception/classInfo/getDeclaredConstructor.java0000644000175000001440000001016012171457674027273 0ustar dokousers// Test for method java.lang.Exception.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.Exception.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.Exception", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.Exception", new Class[] {java.lang.String.class}); constructorsThatShouldExist_jdk6.put("java.lang.Exception", new Class[] {java.lang.String.class, java.lang.Throwable.class}); constructorsThatShouldExist_jdk6.put("java.lang.Exception", new Class[] {java.lang.Throwable.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.Exception", new Class[] {java.lang.String.class, java.lang.Throwable.class, boolean.class, boolean.class}); constructorsThatShouldExist_jdk7.put("java.lang.Exception", new Class[] {java.lang.Throwable.class}); constructorsThatShouldExist_jdk7.put("java.lang.Exception", new Class[] {java.lang.String.class, java.lang.Throwable.class}); constructorsThatShouldExist_jdk7.put("java.lang.Exception", new Class[] {java.lang.String.class}); constructorsThatShouldExist_jdk7.put("java.lang.Exception", new Class[] {}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/getPackage.java0000644000175000001440000000314212163250740024641 0ustar dokousers// Test for method java.lang.Exception.getClass().getPackage() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; /** * Test for method java.lang.Exception.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/getDeclaredMethods.java0000644000175000001440000000607412170743355026353 0ustar dokousers// Test for method java.lang.Exception.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.Exception.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/getInterfaces.java0000644000175000001440000000320212163250740025366 0ustar dokousers// Test for method java.lang.Exception.getClass().getInterfaces() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.Exception.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/getModifiers.java0000644000175000001440000000437312163250740025236 0ustar dokousers// Test for method java.lang.Exception.getClass().getModifiers() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; import java.lang.reflect.Modifier; /** * Test for method java.lang.Exception.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/getDeclaredFields.java0000644000175000001440000000714312170743355026154 0ustar dokousers// Test for method java.lang.Exception.getClass().getDeclaredFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.Exception.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 testedDeclaredFields_jdk6.put("static final long java.lang.Exception.serialVersionUID", "serialVersionUID"); // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("static final long java.lang.Exception.serialVersionUID", "serialVersionUID"); // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/getDeclaredConstructors.java0000644000175000001440000001146012171457674027462 0ustar dokousers// Test for method java.lang.Exception.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.Exception.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.Exception()", "java.lang.Exception"); testedDeclaredConstructors_jdk6.put("public java.lang.Exception(java.lang.String)", "java.lang.Exception"); testedDeclaredConstructors_jdk6.put("public java.lang.Exception(java.lang.String,java.lang.Throwable)", "java.lang.Exception"); testedDeclaredConstructors_jdk6.put("public java.lang.Exception(java.lang.Throwable)", "java.lang.Exception"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("protected java.lang.Exception(java.lang.String,java.lang.Throwable,boolean,boolean)", "java.lang.Exception"); testedDeclaredConstructors_jdk7.put("public java.lang.Exception(java.lang.Throwable)", "java.lang.Exception"); testedDeclaredConstructors_jdk7.put("public java.lang.Exception(java.lang.String,java.lang.Throwable)", "java.lang.Exception"); testedDeclaredConstructors_jdk7.put("public java.lang.Exception(java.lang.String)", "java.lang.Exception"); testedDeclaredConstructors_jdk7.put("public java.lang.Exception()", "java.lang.Exception"); // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/getField.java0000644000175000001440000000542712165254547024354 0ustar dokousers// Test for method java.lang.Exception.getClass().getField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.Exception.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/getFields.java0000644000175000001440000000556512165254547024542 0ustar dokousers// Test for method java.lang.Exception.getClass().getFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.Exception.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/isPrimitive.java0000644000175000001440000000307712171730141025116 0ustar dokousers// Test for method java.lang.Exception.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; /** * Test for method java.lang.Exception.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/getSimpleName.java0000644000175000001440000000311512163250740025340 0ustar dokousers// Test for method java.lang.Exception.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; /** * Test for method java.lang.Exception.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "Exception"); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/getEnclosingClass.java0000644000175000001440000000316412171210022026205 0ustar dokousers// Test for method java.lang.Exception.getClass().getEnclosingClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; /** * Test for method java.lang.Exception.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/isAnnotationPresent.java0000644000175000001440000000426512172206512026622 0ustar dokousers// Test for method java.lang.Exception.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; /** * Test for method java.lang.Exception.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/isSynthetic.java0000644000175000001440000000307712171730141025120 0ustar dokousers// Test for method java.lang.Exception.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; /** * Test for method java.lang.Exception.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/isAnnotation.java0000644000175000001440000000307512172206511025256 0ustar dokousers// Test for method java.lang.Exception.getClass().isAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; /** * Test for method java.lang.Exception.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/isInstance.java0000644000175000001440000000313612172206512024707 0ustar dokousers// Test for method java.lang.Exception.getClass().isInstance(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; /** * Test for method java.lang.Exception.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new Exception("java.lang.Exception"))); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/getDeclaredMethod.java0000644000175000001440000000603312170743355026163 0ustar dokousers// Test for method java.lang.Exception.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.Exception.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/getDeclaredClasses.java0000644000175000001440000000324012171457674026344 0ustar dokousers// Test for method java.lang.Exception.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; /** * Test for method java.lang.Exception.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/getComponentType.java0000644000175000001440000000316012164762737026131 0ustar dokousers// Test for method java.lang.Exception.getClass().getComponentType() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; /** * Test for method java.lang.Exception.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/getMethod.java0000644000175000001440000001420312165254547024541 0ustar dokousers// Test for method java.lang.Exception.getClass().getMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.Exception.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/isMemberClass.java0000644000175000001440000000310712171730141025335 0ustar dokousers// Test for method java.lang.Exception.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; /** * Test for method java.lang.Exception.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/getConstructor.java0000644000175000001440000000765412171210022025633 0ustar dokousers// Test for method java.lang.Exception.getClass().getConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.Exception.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.Exception", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.Exception", new Class[] {java.lang.String.class}); constructorsThatShouldExist_jdk6.put("java.lang.Exception", new Class[] {java.lang.String.class, java.lang.Throwable.class}); constructorsThatShouldExist_jdk6.put("java.lang.Exception", new Class[] {java.lang.Throwable.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.Exception", new Class[] {java.lang.Throwable.class}); constructorsThatShouldExist_jdk7.put("java.lang.Exception", new Class[] {java.lang.String.class, java.lang.Throwable.class}); constructorsThatShouldExist_jdk7.put("java.lang.Exception", new Class[] {java.lang.String.class}); constructorsThatShouldExist_jdk7.put("java.lang.Exception", new Class[] {}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/getSuperclass.java0000644000175000001440000000321012172206511025423 0ustar dokousers// Test for method java.lang.Exception.getClass().getSuperclass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; /** * Test for method java.lang.Exception.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.Throwable"); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/isEnum.java0000644000175000001440000000304512172206512024046 0ustar dokousers// Test for method java.lang.Exception.getClass().isEnum() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; /** * Test for method java.lang.Exception.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/getMethods.java0000644000175000001440000001756512165254547024742 0ustar dokousers// Test for method java.lang.Exception.getClass().getMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.Exception.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/getAnnotations.java0000644000175000001440000000564012164762737025627 0ustar dokousers// Test for method java.lang.Exception.getClass().getAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.Exception.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/InstanceOf.java0000644000175000001440000000335712163250740024647 0ustar dokousers// Test for instanceof operator applied to a class java.lang.Exception // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.Exception */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Exception Exception o = new Exception("java.lang.Exception"); // basic check of instanceof operator harness.check(o instanceof Exception); // check operator instanceof against all superclasses harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/getDeclaringClass.java0000644000175000001440000000316412170743355026177 0ustar dokousers// Test for method java.lang.Exception.getClass().getDeclaringClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; /** * Test for method java.lang.Exception.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/getAnnotation.java0000644000175000001440000000474712164762737025453 0ustar dokousers// Test for method java.lang.Exception.getClass().getAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; /** * Test for method java.lang.Exception.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/isAnonymousClass.java0000644000175000001440000000311512172206512026116 0ustar dokousers// Test for method java.lang.Exception.getClass().isAnonymousClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; /** * Test for method java.lang.Exception.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/getEnclosingMethod.java0000644000175000001440000000320412171210022026353 0ustar dokousers// Test for method java.lang.Exception.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; /** * Test for method java.lang.Exception.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/isInterface.java0000644000175000001440000000307712171730141025046 0ustar dokousers// Test for method java.lang.Exception.getClass().isInterface(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; /** * Test for method java.lang.Exception.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/getConstructors.java0000644000175000001440000001062012171210022026001 0ustar dokousers// Test for method java.lang.Exception.getClass().getConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.Exception.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.Exception()", "java.lang.Exception"); testedConstructors_jdk6.put("public java.lang.Exception(java.lang.String)", "java.lang.Exception"); testedConstructors_jdk6.put("public java.lang.Exception(java.lang.String,java.lang.Throwable)", "java.lang.Exception"); testedConstructors_jdk6.put("public java.lang.Exception(java.lang.Throwable)", "java.lang.Exception"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.Exception(java.lang.Throwable)", "java.lang.Exception"); testedConstructors_jdk7.put("public java.lang.Exception(java.lang.String,java.lang.Throwable)", "java.lang.Exception"); testedConstructors_jdk7.put("public java.lang.Exception(java.lang.String)", "java.lang.Exception"); testedConstructors_jdk7.put("public java.lang.Exception()", "java.lang.Exception"); // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/isAssignableFrom.java0000644000175000001440000000314012172206512026032 0ustar dokousers// Test for method java.lang.Exception.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; /** * Test for method java.lang.Exception.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(Exception.class)); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/getDeclaredAnnotations.java0000644000175000001440000000570012171457674027247 0ustar dokousers// Test for method java.lang.Exception.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.Exception.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/getDeclaredField.java0000644000175000001440000000560012170743355025765 0ustar dokousers// Test for method java.lang.Exception.getClass().getDeclaredField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.Exception.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { "serialVersionUID", }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/isLocalClass.java0000644000175000001440000000310312171730141025154 0ustar dokousers// Test for method java.lang.Exception.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; /** * Test for method java.lang.Exception.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/getEnclosingConstructor.java0000644000175000001440000000324612171210022027466 0ustar dokousers// Test for method java.lang.Exception.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; /** * Test for method java.lang.Exception.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/getCanonicalName.java0000644000175000001440000000314012164762737026013 0ustar dokousers// Test for method java.lang.Exception.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; /** * Test for method java.lang.Exception.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.Exception"); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/getName.java0000644000175000001440000000307712163250740024175 0ustar dokousers// Test for method java.lang.Exception.getClass().getName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; /** * Test for method java.lang.Exception.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.Exception"); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/getClasses.java0000644000175000001440000000320012164762737024715 0ustar dokousers// Test for method java.lang.Exception.getClass().getClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; /** * Test for method java.lang.Exception.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/Exception/classInfo/isArray.java0000644000175000001440000000305112172206512024215 0ustar dokousers// Test for method java.lang.Exception.getClass().isArray() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.Exception.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Exception; /** * Test for method java.lang.Exception.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Exception final Object o = new Exception("java.lang.Exception"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/management/0000755000175000001440000000000012375316426020211 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/management/OperatingSystemMXBeanTest.java0000644000175000001440000000442711015030772026076 0ustar dokousers// Tags: JDK1.5 // Uses: BadGuy // Copyright (C) 2006 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.management; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.management.ManagementFactory; import java.lang.management.OperatingSystemMXBean; /** * Gets hold of a OS management bean from the * @link{java.lang.management.ManagementFactory} and * test its security. * * @author Andrew John Hughes */ public class OperatingSystemMXBeanTest implements Testlet { private BadGuy bg = new BadGuy(); public void test(TestHarness h) { try { Exception caught = null; OperatingSystemMXBean bean = ManagementFactory.getOperatingSystemMXBean(); bg.install(); // Check getName caught = null; try { bean.getName(); } catch (Exception ex) { caught = ex; } h.check(caught instanceof SecurityException, "name"); // Check getArch caught = null; try { bean.getArch(); } catch (Exception ex) { caught = ex; } h.check(caught instanceof SecurityException, "arch"); // Check getVersion caught = null; try { bean.getVersion(); } catch (Exception ex) { caught = ex; } h.check(caught instanceof SecurityException, "version"); } finally { bg.uninstall(); } } } mauve-20140821/gnu/testlet/java/lang/management/ClassLoadingMXBeanTest.java0000644000175000001440000000345311015030772025302 0ustar dokousers// Tags: JDK1.5 // Uses: BadGuy // Copyright (C) 2006 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.management; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.management.ClassLoadingMXBean; import java.lang.management.ManagementFactory; /** * Gets hold of a class loading management bean from the * @link{java.lang.management.ManagementFactory} and * test its security. * * @author Andrew John Hughes */ public class ClassLoadingMXBeanTest implements Testlet { private BadGuy bg = new BadGuy(); public void test(TestHarness h) { try { Exception caught = null; ClassLoadingMXBean bean = ManagementFactory.getClassLoadingMXBean(); bg.install(); // Check getName caught = null; try { bean.setVerbose(true); } catch (Exception ex) { caught = ex; } h.check(caught instanceof SecurityException, "verbose"); } finally { bg.uninstall(); } } } mauve-20140821/gnu/testlet/java/lang/management/BadGuy.java0000644000175000001440000000520710447324702022225 0ustar dokousers// Tags: not-a-test // Copyright (C) 2006 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.management; import java.lang.management.ManagementPermission; import java.security.Permission; import java.security.AccessControlException; import java.util.PropertyPermission; /** * An evil {@link java.lang.SecurityManager} which disallows use * of the management beans. * * @author Andrew John Hughes */ public class BadGuy extends SecurityManager { private final Permission propertyPermission = new PropertyPermission("*", "read,write"); private final Permission monitorPermission = new ManagementPermission("monitor"); private final Permission controlPermission = new ManagementPermission("control"); private SecurityManager oldManager; /** * Checks permissions and disallows property access or management * control and monitoring. * * @param p the request permission. * @throws AccessControlException if property access, management control, * or monitoring is requested. */ public void checkPermission(Permission p) { if (propertyPermission.implies(p)) throw new AccessControlException("Property access disallowed.", p); if (controlPermission.implies(p)) throw new AccessControlException("Management control disallowed.", p); if (monitorPermission.implies(p)) throw new AccessControlException("Monitoring disallowed.", p); } /** * Installs this security manager in place of the current one. */ public void install() { SecurityManager oldsm = System.getSecurityManager(); if (oldsm == this) throw new IllegalStateException("already installed"); oldManager = oldsm; System.setSecurityManager(this); } /** * Reinstates the original security manager. */ public void uninstall() { System.setSecurityManager(oldManager); } } mauve-20140821/gnu/testlet/java/lang/management/RuntimeMXBeanTest.java0000644000175000001440000001075511015030772024365 0ustar dokousers// Tags: JDK1.5 // Uses: BadGuy // Copyright (C) 2006 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.management; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.management.ManagementFactory; import java.lang.management.RuntimeMXBean; /** * Gets hold of a runtime management bean from the * @link{java.lang.management.ManagementFactory} and * test its security. * * @author Andrew John Hughes */ public class RuntimeMXBeanTest implements Testlet { private BadGuy bg = new BadGuy(); public void test(TestHarness h) { try { Exception caught = null; RuntimeMXBean bean = ManagementFactory.getRuntimeMXBean(); bg.install(); // Check getVmName caught = null; try { bean.getVmName(); } catch (Exception ex) { caught = ex; } h.check(caught instanceof SecurityException, "vmName"); // Check getVmVendor caught = null; try { bean.getVmVendor(); } catch (Exception ex) { caught = ex; } h.check(caught instanceof SecurityException, "vmVendor"); // Check getVmVersion caught = null; try { bean.getVmVersion(); } catch (Exception ex) { caught = ex; } h.check(caught instanceof SecurityException, "vmVersion"); // Check getSpecName caught = null; try { bean.getSpecName(); } catch (Exception ex) { caught = ex; } h.check(caught instanceof SecurityException, "specName"); // Check getSpecVendor caught = null; try { bean.getSpecVendor(); } catch (Exception ex) { caught = ex; } h.check(caught instanceof SecurityException, "specVendor"); // Check getSpecVersion caught = null; try { bean.getSpecVersion(); } catch (Exception ex) { caught = ex; } h.check(caught instanceof SecurityException, "specVersion"); // Check getClassPath caught = null; try { bean.getClassPath(); } catch (Exception ex) { caught = ex; } h.check(caught instanceof SecurityException, "classPath"); // Check getLibraryPath caught = null; try { bean.getLibraryPath(); } catch (Exception ex) { caught = ex; } h.check(caught instanceof SecurityException, "libraryPath"); // Check getBootClassPath caught = null; try { bean.getBootClassPath(); } catch (Exception ex) { caught = ex; } if (bean.isBootClassPathSupported()) h.check(caught instanceof SecurityException, "bootClassPath"); else h.check(caught instanceof UnsupportedOperationException, "bootClassPath"); // Check getInputArguments caught = null; try { bean.getInputArguments(); } catch (Exception ex) { caught = ex; } h.check(caught instanceof SecurityException, "inputArguments"); // Check getSystemProperties caught = null; try { bean.getSystemProperties(); } catch (Exception ex) { caught = ex; } h.check(caught instanceof SecurityException, "systemProperties"); } finally { bg.uninstall(); } } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/0000755000175000001440000000000012375316426021252 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/constructor.java0000644000175000001440000000366512310054647024505 0ustar dokousers// Test if instances of a class java.lang.NoSuchFieldError could be properly constructed // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; /** * Test if instances of a class java.lang.NoSuchFieldError * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { NoSuchFieldError object1 = new NoSuchFieldError(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.NoSuchFieldError"); NoSuchFieldError object2 = new NoSuchFieldError("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.NoSuchFieldError: nothing happens"); NoSuchFieldError object3 = new NoSuchFieldError(null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.NoSuchFieldError"); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/TryCatch.java0000644000175000001440000000327212310054647023633 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.NoSuchFieldError // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; /** * Test if try-catch block is working properly for a class java.lang.NoSuchFieldError */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new NoSuchFieldError("NoSuchFieldError"); } catch (NoSuchFieldError e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/0000755000175000001440000000000012375316426023173 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/getDeclaredConstructor.java0000644000175000001440000000705512312264562030510 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchFieldError.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.NoSuchFieldError", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.NoSuchFieldError", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.NoSuchFieldError", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.NoSuchFieldError", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/getPackage.java0000644000175000001440000000321712310267776026076 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().getPackage() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; /** * Test for method java.lang.NoSuchFieldError.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/getDeclaredMethods.java0000644000175000001440000000615112311551562027560 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchFieldError.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/getInterfaces.java0000644000175000001440000000325712310267776026632 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().getInterfaces() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.NoSuchFieldError.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/getModifiers.java0000644000175000001440000000445012310267776026464 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().getModifiers() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; import java.lang.reflect.Modifier; /** * Test for method java.lang.NoSuchFieldError.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/getDeclaredFields.java0000644000175000001440000000710312311551562027361 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().getDeclaredFields() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchFieldError.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.NoSuchFieldError.serialVersionUID", "serialVersionUID"); // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/getDeclaredConstructors.java0000644000175000001440000001037412312264562030671 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchFieldError.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.NoSuchFieldError()", "java.lang.NoSuchFieldError"); testedDeclaredConstructors_jdk6.put("public java.lang.NoSuchFieldError(java.lang.String)", "java.lang.NoSuchFieldError"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.NoSuchFieldError()", "java.lang.NoSuchFieldError"); testedDeclaredConstructors_jdk7.put("public java.lang.NoSuchFieldError(java.lang.String)", "java.lang.NoSuchFieldError"); // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/getField.java0000644000175000001440000000550412312024037025546 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().getField() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchFieldError.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/getFields.java0000644000175000001440000000564212312024037025734 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().getFields() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchFieldError.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/isPrimitive.java0000644000175000001440000000315412310570626026336 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; /** * Test for method java.lang.NoSuchFieldError.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/getSimpleName.java0000644000175000001440000000320112310267776026566 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().getSimpleName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; /** * Test for method java.lang.NoSuchFieldError.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "NoSuchFieldError"); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/getEnclosingClass.java0000644000175000001440000000324112311551562027435 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().getEnclosingClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; /** * Test for method java.lang.NoSuchFieldError.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/isAnnotationPresent.java0000644000175000001440000000434212313014543030033 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; /** * Test for method java.lang.NoSuchFieldError.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/isSynthetic.java0000644000175000001440000000315412310570626026340 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; /** * Test for method java.lang.NoSuchFieldError.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/isAnnotation.java0000644000175000001440000000315212313014543026470 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().isAnnotation() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; /** * Test for method java.lang.NoSuchFieldError.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/isInstance.java0000644000175000001440000000321712314001234026116 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().isInstance(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; /** * Test for method java.lang.NoSuchFieldError.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new NoSuchFieldError("NoSuchFieldError"))); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/getDeclaredMethod.java0000644000175000001440000000611012311551562027370 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchFieldError.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/getDeclaredClasses.java0000644000175000001440000000331512312264562027553 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; /** * Test for method java.lang.NoSuchFieldError.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/getComponentType.java0000644000175000001440000000323512312523511027327 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().getComponentType() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; /** * Test for method java.lang.NoSuchFieldError.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/getMethod.java0000644000175000001440000001426012312024037025742 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().getMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchFieldError.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/isMemberClass.java0000644000175000001440000000316412310570626026564 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; /** * Test for method java.lang.NoSuchFieldError.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/getConstructor.java0000644000175000001440000000701512312264562027060 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().getConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchFieldError.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.NoSuchFieldError", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.NoSuchFieldError", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.NoSuchFieldError", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.NoSuchFieldError", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/getSuperclass.java0000644000175000001440000000331012314001234026634 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().getSuperclass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; /** * Test for method java.lang.NoSuchFieldError.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.IncompatibleClassChangeError"); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/isEnum.java0000644000175000001440000000312212313014543025257 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().isEnum() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; /** * Test for method java.lang.NoSuchFieldError.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/getMethods.java0000644000175000001440000001764212312024040026126 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().getMethods() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchFieldError.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/getAnnotations.java0000644000175000001440000000571512312523511027025 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().getAnnotations() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.NoSuchFieldError.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/InstanceOf.java0000644000175000001440000000405712310267776026077 0ustar dokousers// Test for instanceof operator applied to a class java.lang.NoSuchFieldError // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; import java.lang.IncompatibleClassChangeError; import java.lang.LinkageError; import java.lang.Error; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.NoSuchFieldError */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldError NoSuchFieldError o = new NoSuchFieldError("NoSuchFieldError"); // basic check of instanceof operator harness.check(o instanceof NoSuchFieldError); // check operator instanceof against all superclasses harness.check(o instanceof IncompatibleClassChangeError); harness.check(o instanceof LinkageError); harness.check(o instanceof Error); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/getDeclaringClass.java0000644000175000001440000000324112311551562027404 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().getDeclaringClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; /** * Test for method java.lang.NoSuchFieldError.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/getAnnotation.java0000644000175000001440000000502412312523511026633 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().getAnnotation() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; /** * Test for method java.lang.NoSuchFieldError.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/isAnonymousClass.java0000644000175000001440000000317212313014543027336 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().isAnonymousClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; /** * Test for method java.lang.NoSuchFieldError.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/getEnclosingMethod.java0000644000175000001440000000326112312024037027603 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; /** * Test for method java.lang.NoSuchFieldError.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/isInterface.java0000644000175000001440000000315412310570625026265 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().isInterface(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; /** * Test for method java.lang.NoSuchFieldError.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/getConstructors.java0000644000175000001440000001002712312264562027240 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().getConstructors() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchFieldError.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.NoSuchFieldError()", "java.lang.NoSuchFieldError"); testedConstructors_jdk6.put("public java.lang.NoSuchFieldError(java.lang.String)", "java.lang.NoSuchFieldError"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.NoSuchFieldError()", "java.lang.NoSuchFieldError"); testedConstructors_jdk7.put("public java.lang.NoSuchFieldError(java.lang.String)", "java.lang.NoSuchFieldError"); // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/isAssignableFrom.java0000644000175000001440000000322412314001234027244 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; /** * Test for method java.lang.NoSuchFieldError.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(NoSuchFieldError.class)); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/getDeclaredAnnotations.java0000644000175000001440000000575512312264562030465 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.NoSuchFieldError.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/getDeclaredField.java0000644000175000001440000000561512311551561027203 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().getDeclaredField() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchFieldError.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/isLocalClass.java0000644000175000001440000000316012310570626026403 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; /** * Test for method java.lang.NoSuchFieldError.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/getEnclosingConstructor.java0000644000175000001440000000332312312024037030707 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; /** * Test for method java.lang.NoSuchFieldError.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/getCanonicalName.java0000644000175000001440000000322412312523511027211 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().getSimpleName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; /** * Test for method java.lang.NoSuchFieldError.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.NoSuchFieldError"); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/getName.java0000644000175000001440000000316312310267776025423 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().getName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; /** * Test for method java.lang.NoSuchFieldError.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.NoSuchFieldError"); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/getClasses.java0000644000175000001440000000325512312523511026122 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().getClasses() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; /** * Test for method java.lang.NoSuchFieldError.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldError/classInfo/isArray.java0000644000175000001440000000312612313014543025435 0ustar dokousers// Test for method java.lang.NoSuchFieldError.getClass().isArray() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldError; /** * Test for method java.lang.NoSuchFieldError.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldError final Object o = new NoSuchFieldError("NoSuchFieldError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/Array/0000755000175000001440000000000012375316426017153 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/StrictMath/0000755000175000001440000000000012375316426020157 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/StrictMath/acos_strictfp.java0000644000175000001440000001030511640075251023654 0ustar dokousers// Tags: JDK1.3 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.StrictMath; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test for a static method StrictMath.acos() * by using strictfp modifier. */ public strictfp class acos_strictfp implements Testlet { /** * Function (=static method) checked by this test. */ private static double testedFunction(double input) { return StrictMath.acos(input); } /** * These values are used as arguments to compute acos using StrictMath. */ private static double[] inputValues = { Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, Double.MAX_VALUE, Double.MIN_VALUE, 0.0, 0.2, 0.4, 0.5, 0.6, 0.8, 1.0, 2.0, 1e10, 1e-10, -0.0, -0.2, -0.4, -0.5, -0.6, -0.8, -1.0, -2.0, -1e10, -1e-10, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { // output value input value Double.NaN, // NAN Double.NaN, // +Infinity Double.NaN, // -Infinity Double.NaN, // 1.7976931348623157E308 1.5707963267948966, // 4.9E-324 StrictMath.PI/2.0, // 0.0 1.369438406004566, // 0.2 1.1592794807274085, // 0.4 1.0471975511965979, // 0.5 0.9272952180016123, // 0.6 0.6435011087932843, // 0.8 0.0, // 1.0 Double.NaN, // 2.0 Double.NaN, // 1.0E10 1.5707963266948965, // 1.0E-10 StrictMath.PI/2.0, // -0.0 1.7721542475852274, // -0.2 1.9823131728623846, // -0.4 2.0943951023931957, // -0.5 2.214297435588181, // -0.6 2.498091544796509, // -0.8 StrictMath.PI, // -1.0 Double.NaN, // -2.0 Double.NaN, // -1.0E10 1.5707963268948966, // -1.0E-1 }; /** * These values represent various NaN */ private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; /** * Test not NaN values. */ private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = testedFunction(inputValues[i]); // exact equality seems appropriate for StrictMath harness.check(res, outputValues[i]); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); harness.check(Double.doubleToRawLongBits(testedFunction(valNaN)), bitsNaN); } } /** * Entry point to a test. */ public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { for (int i = 0; i < inputValues.length; ++i) { double input = inputValues[i]; double output = testedFunction(inputValues[i]); System.out.println(" " + Double.toString(output) + ", // " + input); } } } mauve-20140821/gnu/testlet/java/lang/StrictMath/sin_strictfp.java0000644000175000001440000001101611762142733023525 0ustar dokousers// Tags: JDK1.3 // Copyright (C) 2011 Pavel Tisnovsky // update for strictfp class Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.StrictMath; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test for a static method StrictMath.sin() */ public strictfp class sin_strictfp implements Testlet { /** * Function (=static method) checked by this test. */ private static double testedFunction(double input) { return StrictMath.sin(input); } /** * These values are used as arguments to compute sin using StrictMath. */ private static double[] inputValues = { Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, Double.MAX_VALUE, Double.MIN_VALUE, 0.0, StrictMath.PI/4, StrictMath.PI/2, StrictMath.PI, 2*StrictMath.PI, 4*StrictMath.PI, 100*StrictMath.PI, 1e10, 1e-10, -0.0, -StrictMath.PI/4, -StrictMath.PI/2, -StrictMath.PI, -2*StrictMath.PI, -4*StrictMath.PI, -100*StrictMath.PI, -1e10, -1e-10, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { // output value input value Double.NaN, // NaN Double.NaN, // Infinity Double.NaN, // -Infinity 0.004961954789184062, // Double.MAX_VALUE 4.9E-324, // Double.MIN_VALUE 0.0, // 0.0 0.7071067811865475, // StrictMath.PI/4 1.0, // StrictMath.PI/2 1.2246467991473532E-16, // StrictMath.PI -2.4492935982947064E-16,// 2*StrictMath.PI -4.898587196589413E-16, // 4*StrictMath.PI 1.964386723728472E-15, // 100*StrictMath.PI -0.4875060250875107, // 1.0E10 1.0E-10, // 1.0E-10 -0.0, // -0.0 -0.7071067811865475, // -StrictMath.PI/4 -1.0, // -StrictMath.PI/2 -1.2246467991473532E-16,// -StrictMath.PI 2.4492935982947064E-16, // -2*StrictMath.PI 4.898587196589413E-16, // -4*StrictMath.PI -1.964386723728472E-15, // -100*StrictMath.PI 0.4875060250875107, // -1.0E10 -1.0E-10, // -1.0E-10 }; /** * These values represent various NaN */ private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; /** * Test not NaN values. */ private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = testedFunction(inputValues[i]); // exact equality seems appropriate for StrictMath harness.check(res, outputValues[i]); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); harness.check(Double.doubleToRawLongBits(testedFunction(valNaN)), bitsNaN); } } /** * Entry point to a test. */ public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { for (int i = 0; i < inputValues.length; ++i) { double input = inputValues[i]; double output = testedFunction(inputValues[i]); System.out.println(" " + Double.toString(output) + ", // " + input); } } } mauve-20140821/gnu/testlet/java/lang/StrictMath/acos.java0000644000175000001440000001022311640075251021735 0ustar dokousers// Tags: JDK1.3 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.StrictMath; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test for a static method StrictMath.acos() */ public class acos implements Testlet { /** * Function (=static method) checked by this test. */ private static double testedFunction(double input) { return StrictMath.acos(input); } /** * These values are used as arguments to compute acos using StrictMath. */ private static double[] inputValues = { Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, Double.MAX_VALUE, Double.MIN_VALUE, 0.0, 0.2, 0.4, 0.5, 0.6, 0.8, 1.0, 2.0, 1e10, 1e-10, -0.0, -0.2, -0.4, -0.5, -0.6, -0.8, -1.0, -2.0, -1e10, -1e-10, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { // output value input value Double.NaN, // NAN Double.NaN, // +Infinity Double.NaN, // -Infinity Double.NaN, // 1.7976931348623157E308 1.5707963267948966, // 4.9E-324 StrictMath.PI/2.0, // 0.0 1.369438406004566, // 0.2 1.1592794807274085, // 0.4 1.0471975511965979, // 0.5 0.9272952180016123, // 0.6 0.6435011087932843, // 0.8 0.0, // 1.0 Double.NaN, // 2.0 Double.NaN, // 1.0E10 1.5707963266948965, // 1.0E-10 StrictMath.PI/2.0, // -0.0 1.7721542475852274, // -0.2 1.9823131728623846, // -0.4 2.0943951023931957, // -0.5 2.214297435588181, // -0.6 2.498091544796509, // -0.8 StrictMath.PI, // -1.0 Double.NaN, // -2.0 Double.NaN, // -1.0E10 1.5707963268948966, // -1.0E-1 }; /** * These values represent various NaN */ private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; /** * Test not NaN values. */ private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = testedFunction(inputValues[i]); // exact equality seems appropriate for StrictMath harness.check(res, outputValues[i]); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); harness.check(Double.doubleToRawLongBits(testedFunction(valNaN)), bitsNaN); } } /** * Entry point to a test. */ public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { for (int i = 0; i < inputValues.length; ++i) { double input = inputValues[i]; double output = testedFunction(inputValues[i]); System.out.println(" " + Double.toString(output) + ", // " + input); } } } mauve-20140821/gnu/testlet/java/lang/StrictMath/expm1_strictfp.java0000644000175000001440000001155611640075251023772 0ustar dokousers// Tags: JDK1.5 // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.StrictMath; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test for a static method StrictMath.expm1() * by using strictfp modifier. */ public strictfp class expm1_strictfp implements Testlet { /** * Function (=static method) checked by this test. */ private static double testedFunction(double input) { return StrictMath.expm1(input); } /** * These values are used as arguments to expm1. * The values are somewhat arbitrary, but ensure that all code paths * are tested. */ private static double[] inputValues = { 0.0, Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, 0.0000000000000000277555756156289135105, // ~ 2^-55 -0.0000000000000000277555756156289135105, // ~ -2^55 0.6 * 0.6931471805599453 + 0.05, // 0.6 * ln(2) + 0.05 -0.6 * 0.6931471805599453 - 0.05, // -0.6 * ln(2) - 0.05 0.25 * 0.6931471805599453 + 0.03, // 0.25 * ln(2) + 0.03 -0.25 * 0.6931471805599453 - 0.03, // -0.25 * ln(2) - 0.03 0.44, -0.44, 2.3 * 0.6931471805599453 + 0.05, // 2.3 * ln(2) + 0.05 -2.3 * 0.6931471805599453 - 0.05, // -2.3 * ln(2) - 0.05 7 * 0.6931471805599453 + 0.03, // 7 * ln(2) + 0.03 -9 * 0.6931471805599453 - 0.03, // -9 * ln(2) - 0.03 29 * 0.6931471805599453 + 0.03, // 29 * ln(2) + 0.03 -27 * 0.6931471805599453 - 0.03, // -27 * ln(2) - 0.03 709.782712893384, // EXP_LIMIT_H 709.782712893384 + 3.423e-5, // EXP_LIMIT_H + 3.423e-5 709.782712893384 - 3.423e-5, // EXP_LIMIT_H - 3.423e-5 -709.782712893384, // -EXP_LIMIT_H -709.782712893384 - 3.423e-5, // -EXP_LIMIT_H - 3.423e-5 -709.782712893384 + 3.423e-5 // -EXP_LIMIT_H + 3.423e-5 }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { 0.0, Double.NaN, Double.POSITIVE_INFINITY, -1.0, 2.7755575615628914E-17, -2.7755575615628914E-17, 0.5934290166706889, -0.3724226247056801, 0.22542386346433524, -0.1839558296400811, 0.5527072185113361, -0.35596357891685865, 4.177066148857307, -0.806840405116183, 130.89818034605017, -0.9981045985672881, 5.532210644181606E8, -0.9999999927696174, 1.7976931348622732E308, Double.POSITIVE_INFINITY, 1.7976316008794578E308, -1.0, -1.0, -1.0 }; /** * These values represent various NaN */ private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; /** * Test not NaN values. */ private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = testedFunction(inputValues[i]); // exact equality seems appropriate for StrictMath harness.check(res, outputValues[i]); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); harness.check(Double.doubleToRawLongBits(testedFunction(valNaN)), bitsNaN); } } /** * Entry point to a test. */ public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { for (int i = 0; i < inputValues.length; ++i) { double input = inputValues[i]; double output = testedFunction(inputValues[i]); System.out.println(" " + Double.toString(output) + ", // " + input); } } } mauve-20140821/gnu/testlet/java/lang/StrictMath/API_coverage.txt0000644000175000001440000000622111640075251023175 0ustar dokousers# Return type Method name and arguments Since Test name Test name (with strictfp modifier) 01 static double abs(double a) 1.3 02 static float abs(float a) 1.3 03 static int abs(int a) 1.3 04 static long abs(long a) 1.3 05 static double acos(double a) 1.3 acos.java acos_strictfp.java 06 static double asin(double a) 1.3 asin.java asin_strictfp.java 07 static double atan(double a) 1.3 atan.java atan_strictfp.java 08 static double atan2(double y, double x) 1.3 09 static double cbrt(double a) 1.5 cbrt.java cbrt_strictfp.java 10 static double ceil(double a) 1.3 11 static double cos(double a) 1.3 cos.java cos_strictfp.java 12 static double cosh(double x) 1.5 cosh.java 13 static double exp(double a) 1.3 14 static double expm1(double x) 1.3 exmp1.java exmp1_strictfp.java 15 static double floor(double a) 1.3 16 static double hypot(double x, double y) 1.5 17 static double IEEEremainder(double f1, double f2) 1.3 18 static double log(double a) 1.3 19 static double log10(double a) 1.5 20 static double log1p(double x) 1.3 21 static double max(double a, double b) 1.3 22 static float max(float a, float b) 1.3 23 static int max(int a, int b) 1.3 24 static long max(long a, long b) 1.3 25 static double min(double a, double b) 1.3 26 static float min(float a, float b) 1.3 27 static int min(int a, int b) 1.3 28 static long min(long a, long b) 1.3 29 static double pow(double a, double b) 1.3 30 static double random() 1.3 31 static double rint(double a) 1.3 32 static long round(double a) 1.3 33 static int round(float a) 1.3 34 static double signum(double d) 1.5 35 static float signum(float f) 1.5 36 static double sin(double a) 1.3 sin.java sin_strictfp.java 37 static double sinh(double x) 1.5 sinh.java 38 static double sqrt(double a) 1.3 39 static double tan(double a) 1.3 tan.java tan_strictfp.java 40 static double tanh(double x) 1.5 tanh.java 41 static double toDegrees(double angrad) 1.3 42 static double toRadians(double angdeg) 1.3 43 static double ulp(double d) 1.5 44 static float ulp(float f) 1.5 mauve-20140821/gnu/testlet/java/lang/StrictMath/sinh_strictfp.java0000644000175000001440000000727411762142733023710 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2006 Carsten Neumann // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.StrictMath; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public strictfp class sinh_strictfp implements Testlet { /** * These values are used as arguments to sinh. * The values are somewhat arbitrary, but ensure that all code paths * are tested. */ private static double[] inputValues = { 0.0, Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, 0.123456789, -0.123456789, 0.234242656456, -0.234242656456, 1.23456789, -1.23456789, 9.87654321, -9.87654321, 21.9999, -21.9999, 567.891234, -567.891234, 708.742342, -708.742342, 709.7827128, -709.7827128, 710.475860073943, 710.4755859375, 723.6787676346, -723.6787676346, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { 0.0, Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, 0.1237706408130359, -0.1237706408130359, 0.23639067538469039, -0.23639067538469039, 1.5729663108942873, -1.5729663108942873, 9734.154152818386, -9734.154152818386, 1.792277186385473E9, -1.792277186385473E9, 2.1428869091881118E246, -2.1428869091881118E246, 3.1758371607555525E307, -3.1758371607555525E307, 8.988464834932886E307, -8.988464834932886E307, 1.7976931348605396E308, 1.7972003892018829E308, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, }; private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = StrictMath.sinh(inputValues[i]); // exact equality seems appropriate for StrictMath harness.check(res, outputValues[i]); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); harness.check(Double.doubleToRawLongBits(StrictMath.sinh(valNaN)), bitsNaN); } } public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { double res; for (int i = 0; i < inputValues.length; ++i) { res = StrictMath.sinh(inputValues[i]); System.out.println(Double.toString(res)); } } } mauve-20140821/gnu/testlet/java/lang/StrictMath/tan.java0000644000175000001440000001074111640075251021577 0ustar dokousers// Tags: JDK1.3 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.StrictMath; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test for a static method StrictMath.tan() */ public class tan implements Testlet { /** * Function (=static method) checked by this test. */ private static double testedFunction(double input) { return StrictMath.tan(input); } /** * These values are used as arguments to compute tan using StrictMath. */ private static double[] inputValues = { Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, Double.MAX_VALUE, Double.MIN_VALUE, 0.0, StrictMath.PI/4, StrictMath.PI/2, StrictMath.PI, 2*StrictMath.PI, 4*StrictMath.PI, 100*StrictMath.PI, 1e10, 1e-10, -0.0, -StrictMath.PI/4, -StrictMath.PI/2, -StrictMath.PI, -2*StrictMath.PI, -4*StrictMath.PI, -100*StrictMath.PI, -1e10, -1e-10, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { // output value input value Double.NaN, // NaN Double.NaN, // Infinity Double.NaN, // -Infinity -0.004962015874444895, // Double.MAX_VALUE 4.9E-324, // Double.MIN_VALUE 0.0, // 0.0 0.9999999999999999, // StrictMath.PI/4 1.633123935319537E16, // StrictMath.PI/2 -1.2246467991473532E-16, // StrictMath.PI -2.4492935982947064E-16, // 2*StrictMath.PI -4.898587196589413E-16, // 4*StrictMath.PI 1.964386723728472E-15, // 100*StrictMath.PI -0.5583496378112418, // 1.0E10 1.0E-10, // 1.0E-10 -0.0, // -0.0 -0.9999999999999999, // -StrictMath.PI/4 -1.633123935319537E16, // -StrictMath.PI/2 1.2246467991473532E-16, // -StrictMath.PI 2.4492935982947064E-16, // -2*StrictMath.PI 4.898587196589413E-16, // -4*StrictMath.PI -1.964386723728472E-15, // -100*StrictMath.PI 0.5583496378112418, // -1.0E10 -1.0E-10, // -1.0E-10 }; /** * These values represent various NaN */ private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; /** * Test not NaN values. */ private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = testedFunction(inputValues[i]); // exact equality seems appropriate for StrictMath harness.check(res, outputValues[i]); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); harness.check(Double.doubleToRawLongBits(testedFunction(valNaN)), bitsNaN); } } /** * Entry point to a test. */ public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { for (int i = 0; i < inputValues.length; ++i) { double input = inputValues[i]; double output = testedFunction(inputValues[i]); System.out.println(" " + Double.toString(output) + ", // " + input); } } } mauve-20140821/gnu/testlet/java/lang/StrictMath/atan_strictfp.java0000644000175000001440000001033711640075251023657 0ustar dokousers// Tags: JDK1.3 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.StrictMath; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test for a static method StrictMath.atan() * by using strictfp modifier. */ public strictfp class atan_strictfp implements Testlet { /** * Function (=static method) checked by this test. */ private static double testedFunction(double input) { return StrictMath.atan(input); } /** * These values are used as arguments to compute atan using StrictMath. */ private static double[] inputValues = { Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, Double.MAX_VALUE, Double.MIN_VALUE, 0.0, 0.2, 0.4, 0.5, 0.6, 0.8, 1.0, 2.0, 1e10, 1e-10, -0.0, -0.2, -0.4, -0.5, -0.6, -0.8, -1.0, -2.0, -1e10, -1e-10, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { // output value input value Double.NaN, // NaN StrictMath.PI/2.0, // Infinity -StrictMath.PI/2.0, // -Infinity 1.5707963267948966, // 1.7976931348623157E308 4.9E-324, // 4.9E-324 0.0, // 0.0 0.19739555984988078, // 0.2 0.3805063771123649, // 0.4 0.4636476090008061, // 0.5 0.5404195002705842, // 0.6 0.6747409422235527, // 0.8 0.7853981633974483, // 1.0 1.1071487177940904, // 2.0 1.5707963266948965, // 1.0E10 1.0E-10, // 1.0E-10 -0.0, // -0.0 -0.19739555984988078,// -0.2 -0.3805063771123649, // -0.4 -0.4636476090008061, // -0.5 -0.5404195002705842, // -0.6 -0.6747409422235527, // -0.8 -0.7853981633974483, // -1.0 -1.1071487177940904, // -2.0 -1.5707963266948965, // -1.0E10 -1.0E-10, // -1.0E-10 }; /** * These values represent various NaN */ private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; /** * Test not NaN values. */ private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = testedFunction(inputValues[i]); // exact equality seems appropriate for StrictMath harness.check(res, outputValues[i]); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); harness.check(Double.doubleToRawLongBits(testedFunction(valNaN)), bitsNaN); } } /** * Entry point to a test. */ public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { for (int i = 0; i < inputValues.length; ++i) { double input = inputValues[i]; double output = testedFunction(inputValues[i]); System.out.println(" " + Double.toString(output) + ", // " + input); } } } mauve-20140821/gnu/testlet/java/lang/StrictMath/expm1.java0000644000175000001440000001157111640075251022051 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2006 Carsten Neumann // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.StrictMath; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test for a static method StrictMath.expm1() */ public class expm1 implements Testlet { /** * Function (=static method) checked by this test. */ private static double testedFunction(double input) { return StrictMath.expm1(input); } /** * These values are used as arguments to expm1. * The values are somewhat arbitrary, but ensure that all code paths * are tested. */ private static double[] inputValues = { 0.0, Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, 0.0000000000000000277555756156289135105, // ~ 2^-55 -0.0000000000000000277555756156289135105, // ~ -2^55 0.6 * 0.6931471805599453 + 0.05, // 0.6 * ln(2) + 0.05 -0.6 * 0.6931471805599453 - 0.05, // -0.6 * ln(2) - 0.05 0.25 * 0.6931471805599453 + 0.03, // 0.25 * ln(2) + 0.03 -0.25 * 0.6931471805599453 - 0.03, // -0.25 * ln(2) - 0.03 0.44, -0.44, 2.3 * 0.6931471805599453 + 0.05, // 2.3 * ln(2) + 0.05 -2.3 * 0.6931471805599453 - 0.05, // -2.3 * ln(2) - 0.05 7 * 0.6931471805599453 + 0.03, // 7 * ln(2) + 0.03 -9 * 0.6931471805599453 - 0.03, // -9 * ln(2) - 0.03 29 * 0.6931471805599453 + 0.03, // 29 * ln(2) + 0.03 -27 * 0.6931471805599453 - 0.03, // -27 * ln(2) - 0.03 709.782712893384, // EXP_LIMIT_H 709.782712893384 + 3.423e-5, // EXP_LIMIT_H + 3.423e-5 709.782712893384 - 3.423e-5, // EXP_LIMIT_H - 3.423e-5 -709.782712893384, // -EXP_LIMIT_H -709.782712893384 - 3.423e-5, // -EXP_LIMIT_H - 3.423e-5 -709.782712893384 + 3.423e-5 // -EXP_LIMIT_H + 3.423e-5 }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { 0.0, Double.NaN, Double.POSITIVE_INFINITY, -1.0, 2.7755575615628914E-17, -2.7755575615628914E-17, 0.5934290166706889, -0.3724226247056801, 0.22542386346433524, -0.1839558296400811, 0.5527072185113361, -0.35596357891685865, 4.177066148857307, -0.806840405116183, 130.89818034605017, -0.9981045985672881, 5.532210644181606E8, -0.9999999927696174, 1.7976931348622732E308, Double.POSITIVE_INFINITY, 1.7976316008794578E308, -1.0, -1.0, -1.0 }; /** * These values represent various NaN */ private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; /** * Test not NaN values. */ private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = testedFunction(inputValues[i]); // exact equality seems appropriate for StrictMath harness.check(res, outputValues[i]); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); harness.check(Double.doubleToRawLongBits(testedFunction(valNaN)), bitsNaN); } } /** * Entry point to a test. */ public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { for (int i = 0; i < inputValues.length; ++i) { double input = inputValues[i]; double output = testedFunction(inputValues[i]); System.out.println(" " + Double.toString(output) + ", // " + input); } } } mauve-20140821/gnu/testlet/java/lang/StrictMath/cosh.java0000644000175000001440000000723610464441063021757 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2006 Carsten Neumann // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.StrictMath; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class cosh implements Testlet { /** * These values are used as arguments to cosh. * The values are somewhat arbitrary, but ensure that all code paths * are tested. */ private static double[] inputValues = { 0.0, Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, 0.123456789, -0.123456789, 0.234242656456, -0.234242656456, 1.23456789, -1.23456789, 9.87654321, -9.87654321, 21.9999, -21.9999, 567.891234, -567.891234, 708.742342, -708.742342, 709.7827128, -709.7827128, 710.475860073943, 710.4755859375, 723.6787676346, -723.6787676346, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { 1.0, Double.NaN, Double.POSITIVE_INFINITY, Double.POSITIVE_INFINITY, 1.0076304736991977, 1.0076304736991977, 1.0275604855232756, 1.0275604855232756, 1.8639267730274125, 1.8639267730274125, 9734.154204183918, 9734.154204183918, 1.792277186385473e9, 1.792277186385473e9, 2.1428869091881118e246, 2.1428869091881118e246, 3.1758371607555525e307, 3.1758371607555525e307, 8.988464834932886e307, 8.988464834932886e307, 1.7976931348605396e308, 1.7972003892018829e308, Double.POSITIVE_INFINITY, Double.POSITIVE_INFINITY }; private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = StrictMath.cosh(inputValues[i]); // exact equality seems appropriate for StrictMath harness.check(res, outputValues[i]); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); harness.check(Double.doubleToRawLongBits(StrictMath.cosh(valNaN)), bitsNaN); } } public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { double res; for (int i = 0; i < inputValues.length; ++i) { res = StrictMath.cosh(inputValues[i]); System.out.println(Double.toString(res)); } } } mauve-20140821/gnu/testlet/java/lang/StrictMath/cbrt_strictfp.java0000644000175000001440000000663111640075251023670 0ustar dokousers// Tags: JDK1.5 // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.StrictMath; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test for a static method StrictMath.cbrt() * by using strictfp modifier. */ public strictfp class cbrt_strictfp implements Testlet { /** * These values are used as arguments to cbrt. */ private static double[] inputValues = { 0.0, Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, 123456789e-9, -123456789e-6, 123456789e+2, -123456789e+4, 987654321e-7, -987654321e-4, 987654321e+3, -987654321e+5, 1234509876e-320, // subnormal number 9756272385e-325, // subnormal number Math.PI, Math.E }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { 0.0, Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, 0.49793385921817446, -4.979338592181745, 2311.204240824796, -10727.659796410873, 4.622408495690158, -46.224084956901585, 9958.677214612972, -46224.08495690158, 2.3111680380625372e-104, 9.918088333941088e-106, 1.4645918875615231, 1.3956124250860895 }; /** * Test if input NaN is returned unchanged. */ private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; /** * Test not NaN values. */ private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = StrictMath.cbrt(inputValues[i]); // exact equality seems appropriate for StrictMath harness.check(res, outputValues[i]); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); harness.check(Double.doubleToRawLongBits(StrictMath.cbrt(valNaN)), bitsNaN); } } /** * Entry point to a test. */ public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { double res; for (int i = 0; i < inputValues.length; ++i) { res = StrictMath.cbrt(inputValues[i]); System.out.println(Double.toString(res)); } } } mauve-20140821/gnu/testlet/java/lang/StrictMath/asin.java0000644000175000001440000001025511640075251021747 0ustar dokousers// Tags: JDK1.3 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.StrictMath; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test for a static method StrictMath.asin() */ public class asin implements Testlet { /** * Function (=static method) checked by this test. */ private static double testedFunction(double input) { return StrictMath.asin(input); } /** * These values are used as arguments to compute asin using StrictMath. */ private static double[] inputValues = { Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, Double.MAX_VALUE, Double.MIN_VALUE, 0.0, 0.2, 0.4, 0.5, 0.6, 0.8, 1.0, 2.0, 1e10, 1e-10, -0.0, -0.2, -0.4, -0.5, -0.6, -0.8, -1.0, -2.0, -1e10, -1e-10, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { // output value input value Double.NaN, // NaN Double.NaN, // Infinity Double.NaN, // -Infinity Double.NaN, // 1.7976931348623157E308 4.9E-324, // 4.9E-324 0.0, // 0.0 0.2013579207903308, // 0.2 0.41151684606748806, // 0.4 0.5235987755982989, // 0.5 0.6435011087932844, // 0.6 0.9272952180016123, // 0.8 StrictMath.PI/2.0, // 1.0 Double.NaN, // 2.0 Double.NaN, // 1.0E10 1.0E-10, // 1.0E-10 -0.0, // -0.0 -0.2013579207903308, // -0.2 -0.41151684606748806,// -0.4 -0.5235987755982989, // -0.5 -0.6435011087932844, // -0.6 -0.9272952180016123, // -0.8 -StrictMath.PI/2.0, // -1.0 Double.NaN, // -2.0 Double.NaN, // -1.0E10 -1.0E-10, // -1.0E-10 }; /** * These values represent various NaN */ private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; /** * Test not NaN values. */ private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = testedFunction(inputValues[i]); // exact equality seems appropriate for StrictMath harness.check(res, outputValues[i]); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); harness.check(Double.doubleToRawLongBits(testedFunction(valNaN)), bitsNaN); } } /** * Entry point to a test. */ public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { for (int i = 0; i < inputValues.length; ++i) { double input = inputValues[i]; double output = testedFunction(inputValues[i]); System.out.println(" " + Double.toString(output) + ", // " + input); } } } mauve-20140821/gnu/testlet/java/lang/StrictMath/atan.java0000644000175000001440000001025511640075251021740 0ustar dokousers// Tags: JDK1.3 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.StrictMath; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test for a static method StrictMath.atan() */ public class atan implements Testlet { /** * Function (=static method) checked by this test. */ private static double testedFunction(double input) { return StrictMath.atan(input); } /** * These values are used as arguments to compute atan using StrictMath. */ private static double[] inputValues = { Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, Double.MAX_VALUE, Double.MIN_VALUE, 0.0, 0.2, 0.4, 0.5, 0.6, 0.8, 1.0, 2.0, 1e10, 1e-10, -0.0, -0.2, -0.4, -0.5, -0.6, -0.8, -1.0, -2.0, -1e10, -1e-10, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { // output value input value Double.NaN, // NaN StrictMath.PI/2.0, // Infinity -StrictMath.PI/2.0, // -Infinity 1.5707963267948966, // 1.7976931348623157E308 4.9E-324, // 4.9E-324 0.0, // 0.0 0.19739555984988078, // 0.2 0.3805063771123649, // 0.4 0.4636476090008061, // 0.5 0.5404195002705842, // 0.6 0.6747409422235527, // 0.8 0.7853981633974483, // 1.0 1.1071487177940904, // 2.0 1.5707963266948965, // 1.0E10 1.0E-10, // 1.0E-10 -0.0, // -0.0 -0.19739555984988078,// -0.2 -0.3805063771123649, // -0.4 -0.4636476090008061, // -0.5 -0.5404195002705842, // -0.6 -0.6747409422235527, // -0.8 -0.7853981633974483, // -1.0 -1.1071487177940904, // -2.0 -1.5707963266948965, // -1.0E10 -1.0E-10, // -1.0E-10 }; /** * These values represent various NaN */ private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; /** * Test not NaN values. */ private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = testedFunction(inputValues[i]); // exact equality seems appropriate for StrictMath harness.check(res, outputValues[i]); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); harness.check(Double.doubleToRawLongBits(testedFunction(valNaN)), bitsNaN); } } /** * Entry point to a test. */ public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { for (int i = 0; i < inputValues.length; ++i) { double input = inputValues[i]; double output = testedFunction(inputValues[i]); System.out.println(" " + Double.toString(output) + ", // " + input); } } } mauve-20140821/gnu/testlet/java/lang/StrictMath/asin_strictfp.java0000644000175000001440000001033711640075251023666 0ustar dokousers// Tags: JDK1.3 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.StrictMath; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test for a static method StrictMath.asin() * by using strictfp modifier. */ public strictfp class asin_strictfp implements Testlet { /** * Function (=static method) checked by this test. */ private static double testedFunction(double input) { return StrictMath.asin(input); } /** * These values are used as arguments to compute asin using StrictMath. */ private static double[] inputValues = { Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, Double.MAX_VALUE, Double.MIN_VALUE, 0.0, 0.2, 0.4, 0.5, 0.6, 0.8, 1.0, 2.0, 1e10, 1e-10, -0.0, -0.2, -0.4, -0.5, -0.6, -0.8, -1.0, -2.0, -1e10, -1e-10, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { // output value input value Double.NaN, // NaN Double.NaN, // Infinity Double.NaN, // -Infinity Double.NaN, // 1.7976931348623157E308 4.9E-324, // 4.9E-324 0.0, // 0.0 0.2013579207903308, // 0.2 0.41151684606748806, // 0.4 0.5235987755982989, // 0.5 0.6435011087932844, // 0.6 0.9272952180016123, // 0.8 StrictMath.PI/2.0, // 1.0 Double.NaN, // 2.0 Double.NaN, // 1.0E10 1.0E-10, // 1.0E-10 -0.0, // -0.0 -0.2013579207903308, // -0.2 -0.41151684606748806,// -0.4 -0.5235987755982989, // -0.5 -0.6435011087932844, // -0.6 -0.9272952180016123, // -0.8 -StrictMath.PI/2.0, // -1.0 Double.NaN, // -2.0 Double.NaN, // -1.0E10 -1.0E-10, // -1.0E-10 }; /** * These values represent various NaN */ private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; /** * Test not NaN values. */ private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = testedFunction(inputValues[i]); // exact equality seems appropriate for StrictMath harness.check(res, outputValues[i]); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); harness.check(Double.doubleToRawLongBits(testedFunction(valNaN)), bitsNaN); } } /** * Entry point to a test. */ public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { for (int i = 0; i < inputValues.length; ++i) { double input = inputValues[i]; double output = testedFunction(inputValues[i]); System.out.println(" " + Double.toString(output) + ", // " + input); } } } mauve-20140821/gnu/testlet/java/lang/StrictMath/cos_strictfp.java0000644000175000001440000001072211640075251023516 0ustar dokousers// Tags: JDK1.3 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.StrictMath; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test for a static method StrictMath.cos() * by using strictfp modifier. */ public strictfp class cos_strictfp implements Testlet { /** * Function (=static method) checked by this test. */ private static double testedFunction(double input) { return StrictMath.cos(input); } /** * These values are used as arguments to compute cos using StrictMath. */ private static double[] inputValues = { Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, Double.MAX_VALUE, Double.MIN_VALUE, 0.0, StrictMath.PI/4, StrictMath.PI/2, StrictMath.PI, 2*StrictMath.PI, 4*StrictMath.PI, 100*StrictMath.PI, 1e10, 1e-10, -0.0, -StrictMath.PI/4, -StrictMath.PI/2, -StrictMath.PI, -2*StrictMath.PI, -4*StrictMath.PI, -100*StrictMath.PI, -1e10, -1e-10, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { // output value input value Double.NaN, // NaN Double.NaN, // Infinity Double.NaN, // -Infinity -0.9999876894265599, // Double.MAX_VALUE 1.0, // Double.MIN_VALUE 1.0, // 0.0 0.7071067811865476, // StrictMath.PI/4 6.123233995736766E-17, // StrictMath.PI/2 -1.0, // StrictMath.PI 1.0, // 2*StrictMath.PI 1.0, // 4*StrictMath.PI 1.0, // 100*StrictMath.PI 0.873119622676856, // 1.0E10 1.0, // 1.0E-10 1.0, // -0.0 0.7071067811865476, // -StrictMath.PI/4 6.123233995736766E-17, // -StrictMath.PI/2 -1.0, // -StrictMath.PI 1.0, // -2*StrictMath.PI 1.0, // -4*StrictMath.PI 1.0, // -100*StrictMath.PI 0.873119622676856, // -1.0E10 1.0, // -1.0E-10 }; /** * These values represent various NaN */ private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; /** * Test not NaN values. */ private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = testedFunction(inputValues[i]); // exact equality seems appropriate for StrictMath harness.check(res, outputValues[i]); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); harness.check(Double.doubleToRawLongBits(testedFunction(valNaN)), bitsNaN); } } /** * Entry point to a test. */ public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { for (int i = 0; i < inputValues.length; ++i) { double input = inputValues[i]; double output = testedFunction(inputValues[i]); System.out.println(" " + Double.toString(output) + ", // " + input); } } } mauve-20140821/gnu/testlet/java/lang/StrictMath/tanh.java0000644000175000001440000000713110464441063021747 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2006 Carsten Neumann // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.StrictMath; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class tanh implements Testlet { /** * These values are used as arguments to tanh. * The values are somewhat arbitrary, but ensure that all code paths * are tested. */ private static double[] inputValues = { 0.0, Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, 2.7755575615628e-16, // ~ 2^-55 -2.7755575615628e-16, // ~ -2^-55 2.5123456789e-16, // < 2^-55 -2.5123456789e-16, // > -2^-55 0.123456789, -0.123456789, 0.987654321, -0.987654321, 1.0000000000000000123, -1.0000000000000000123, 1.123456789, -1.123456789, 21.999999999999999876, -21.999999999999999876, 22.000000000000000123, -22.000000000000000123, 25.987654321, -25.987654321, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { 0.0, Double.NaN, 1.0, -1.0, 2.7755575615627996E-16, -2.7755575615627996E-16, 2.5123456789E-16, -2.5123456789E-16, 0.12283336405919822, -0.12283336405919822, 0.7563603430619676, -0.7563603430619676, 0.7615941559557649, -0.7615941559557649, 0.8087679479619252, -0.8087679479619252, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, }; private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = StrictMath.tanh(inputValues[i]); // exact equality seems appropriate for StrictMath harness.check(res, outputValues[i]); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); harness.check(Double.doubleToRawLongBits(StrictMath.tanh(valNaN)), bitsNaN); } } public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { double res; for (int i = 0; i < inputValues.length; ++i) { res = StrictMath.tanh(inputValues[i]); System.out.println(Double.toString(res)); } } } mauve-20140821/gnu/testlet/java/lang/StrictMath/tan_strictfp.java0000644000175000001440000001102311640075251023507 0ustar dokousers// Tags: JDK1.3 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.StrictMath; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test for a static method StrictMath.tan() * by using strictfp modifier. */ public strictfp class tan_strictfp implements Testlet { /** * Function (=static method) checked by this test. */ private static double testedFunction(double input) { return StrictMath.tan(input); } /** * These values are used as arguments to compute tan using StrictMath. */ private static double[] inputValues = { Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, Double.MAX_VALUE, Double.MIN_VALUE, 0.0, StrictMath.PI/4, StrictMath.PI/2, StrictMath.PI, 2*StrictMath.PI, 4*StrictMath.PI, 100*StrictMath.PI, 1e10, 1e-10, -0.0, -StrictMath.PI/4, -StrictMath.PI/2, -StrictMath.PI, -2*StrictMath.PI, -4*StrictMath.PI, -100*StrictMath.PI, -1e10, -1e-10, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { // output value input value Double.NaN, // NaN Double.NaN, // Infinity Double.NaN, // -Infinity -0.004962015874444895, // Double.MAX_VALUE 4.9E-324, // Double.MIN_VALUE 0.0, // 0.0 0.9999999999999999, // StrictMath.PI/4 1.633123935319537E16, // StrictMath.PI/2 -1.2246467991473532E-16, // StrictMath.PI -2.4492935982947064E-16, // 2*StrictMath.PI -4.898587196589413E-16, // 4*StrictMath.PI 1.964386723728472E-15, // 100*StrictMath.PI -0.5583496378112418, // 1.0E10 1.0E-10, // 1.0E-10 -0.0, // -0.0 -0.9999999999999999, // -StrictMath.PI/4 -1.633123935319537E16, // -StrictMath.PI/2 1.2246467991473532E-16, // -StrictMath.PI 2.4492935982947064E-16, // -2*StrictMath.PI 4.898587196589413E-16, // -4*StrictMath.PI -1.964386723728472E-15, // -100*StrictMath.PI 0.5583496378112418, // -1.0E10 -1.0E-10, // -1.0E-10 }; /** * These values represent various NaN */ private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; /** * Test not NaN values. */ private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = testedFunction(inputValues[i]); // exact equality seems appropriate for StrictMath harness.check(res, outputValues[i]); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); harness.check(Double.doubleToRawLongBits(testedFunction(valNaN)), bitsNaN); } } /** * Entry point to a test. */ public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { for (int i = 0; i < inputValues.length; ++i) { double input = inputValues[i]; double output = testedFunction(inputValues[i]); System.out.println(" " + Double.toString(output) + ", // " + input); } } } mauve-20140821/gnu/testlet/java/lang/StrictMath/cbrt.java0000644000175000001440000000664411640075251021756 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2006 Carsten Neumann // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.StrictMath; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test for a static method StrictMath.cbrt() */ public class cbrt implements Testlet { /** * These values are used as arguments to cbrt. */ private static double[] inputValues = { 0.0, Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, 123456789e-9, -123456789e-6, 123456789e+2, -123456789e+4, 987654321e-7, -987654321e-4, 987654321e+3, -987654321e+5, 1234509876e-320, // subnormal number 9756272385e-325, // subnormal number Math.PI, Math.E }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { 0.0, Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, 0.49793385921817446, -4.979338592181745, 2311.204240824796, -10727.659796410873, 4.622408495690158, -46.224084956901585, 9958.677214612972, -46224.08495690158, 2.3111680380625372e-104, 9.918088333941088e-106, 1.4645918875615231, 1.3956124250860895 }; /** * Test if input NaN is returned unchanged. */ private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; /** * Test not NaN values. */ private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = StrictMath.cbrt(inputValues[i]); // exact equality seems appropriate for StrictMath harness.check(res, outputValues[i]); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); harness.check(Double.doubleToRawLongBits(StrictMath.cbrt(valNaN)), bitsNaN); } } /** * Entry point to a test. */ public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { double res; for (int i = 0; i < inputValues.length; ++i) { res = StrictMath.cbrt(inputValues[i]); System.out.println(Double.toString(res)); } } } mauve-20140821/gnu/testlet/java/lang/StrictMath/cosh_strictfp.java0000644000175000001440000000736511762142733023704 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2006 Carsten Neumann // update for strictfp class Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.StrictMath; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public strictfp class cosh_strictfp implements Testlet { /** * These values are used as arguments to cosh. * The values are somewhat arbitrary, but ensure that all code paths * are tested. */ private static double[] inputValues = { 0.0, Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, 0.123456789, -0.123456789, 0.234242656456, -0.234242656456, 1.23456789, -1.23456789, 9.87654321, -9.87654321, 21.9999, -21.9999, 567.891234, -567.891234, 708.742342, -708.742342, 709.7827128, -709.7827128, 710.475860073943, 710.4755859375, 723.6787676346, -723.6787676346, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { 1.0, Double.NaN, Double.POSITIVE_INFINITY, Double.POSITIVE_INFINITY, 1.0076304736991977, 1.0076304736991977, 1.0275604855232756, 1.0275604855232756, 1.8639267730274125, 1.8639267730274125, 9734.154204183918, 9734.154204183918, 1.792277186385473e9, 1.792277186385473e9, 2.1428869091881118e246, 2.1428869091881118e246, 3.1758371607555525e307, 3.1758371607555525e307, 8.988464834932886e307, 8.988464834932886e307, 1.7976931348605396e308, 1.7972003892018829e308, Double.POSITIVE_INFINITY, Double.POSITIVE_INFINITY }; private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = StrictMath.cosh(inputValues[i]); // exact equality seems appropriate for StrictMath harness.check(res, outputValues[i]); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); harness.check(Double.doubleToRawLongBits(StrictMath.cosh(valNaN)), bitsNaN); } } public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { double res; for (int i = 0; i < inputValues.length; ++i) { res = StrictMath.cosh(inputValues[i]); System.out.println(Double.toString(res)); } } } mauve-20140821/gnu/testlet/java/lang/StrictMath/tanh_strictfp.java0000644000175000001440000000726011762142733023674 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2006 Carsten Neumann // update for strictfp class Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.StrictMath; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public strictfp class tanh_strictfp implements Testlet { /** * These values are used as arguments to tanh. * The values are somewhat arbitrary, but ensure that all code paths * are tested. */ private static double[] inputValues = { 0.0, Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, 2.7755575615628e-16, // ~ 2^-55 -2.7755575615628e-16, // ~ -2^-55 2.5123456789e-16, // < 2^-55 -2.5123456789e-16, // > -2^-55 0.123456789, -0.123456789, 0.987654321, -0.987654321, 1.0000000000000000123, -1.0000000000000000123, 1.123456789, -1.123456789, 21.999999999999999876, -21.999999999999999876, 22.000000000000000123, -22.000000000000000123, 25.987654321, -25.987654321, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { 0.0, Double.NaN, 1.0, -1.0, 2.7755575615627996E-16, -2.7755575615627996E-16, 2.5123456789E-16, -2.5123456789E-16, 0.12283336405919822, -0.12283336405919822, 0.7563603430619676, -0.7563603430619676, 0.7615941559557649, -0.7615941559557649, 0.8087679479619252, -0.8087679479619252, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, }; private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = StrictMath.tanh(inputValues[i]); // exact equality seems appropriate for StrictMath harness.check(res, outputValues[i]); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); harness.check(Double.doubleToRawLongBits(StrictMath.tanh(valNaN)), bitsNaN); } } public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { double res; for (int i = 0; i < inputValues.length; ++i) { res = StrictMath.tanh(inputValues[i]); System.out.println(Double.toString(res)); } } } mauve-20140821/gnu/testlet/java/lang/StrictMath/cos.java0000644000175000001440000001064011640075251021577 0ustar dokousers// Tags: JDK1.3 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.StrictMath; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test for a static method StrictMath.cos() */ public class cos implements Testlet { /** * Function (=static method) checked by this test. */ private static double testedFunction(double input) { return StrictMath.cos(input); } /** * These values are used as arguments to compute cos using StrictMath. */ private static double[] inputValues = { Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, Double.MAX_VALUE, Double.MIN_VALUE, 0.0, StrictMath.PI/4, StrictMath.PI/2, StrictMath.PI, 2*StrictMath.PI, 4*StrictMath.PI, 100*StrictMath.PI, 1e10, 1e-10, -0.0, -StrictMath.PI/4, -StrictMath.PI/2, -StrictMath.PI, -2*StrictMath.PI, -4*StrictMath.PI, -100*StrictMath.PI, -1e10, -1e-10, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { // output value input value Double.NaN, // NaN Double.NaN, // Infinity Double.NaN, // -Infinity -0.9999876894265599, // Double.MAX_VALUE 1.0, // Double.MIN_VALUE 1.0, // 0.0 0.7071067811865476, // StrictMath.PI/4 6.123233995736766E-17, // StrictMath.PI/2 -1.0, // StrictMath.PI 1.0, // 2*StrictMath.PI 1.0, // 4*StrictMath.PI 1.0, // 100*StrictMath.PI 0.873119622676856, // 1.0E10 1.0, // 1.0E-10 1.0, // -0.0 0.7071067811865476, // -StrictMath.PI/4 6.123233995736766E-17, // -StrictMath.PI/2 -1.0, // -StrictMath.PI 1.0, // -2*StrictMath.PI 1.0, // -4*StrictMath.PI 1.0, // -100*StrictMath.PI 0.873119622676856, // -1.0E10 1.0, // -1.0E-10 }; /** * These values represent various NaN */ private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; /** * Test not NaN values. */ private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = testedFunction(inputValues[i]); // exact equality seems appropriate for StrictMath harness.check(res, outputValues[i]); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); harness.check(Double.doubleToRawLongBits(testedFunction(valNaN)), bitsNaN); } } /** * Entry point to a test. */ public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { for (int i = 0; i < inputValues.length; ++i) { double input = inputValues[i]; double output = testedFunction(inputValues[i]); System.out.println(" " + Double.toString(output) + ", // " + input); } } } mauve-20140821/gnu/testlet/java/lang/StrictMath/sinh.java0000644000175000001440000000725110464441063021761 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2006 Carsten Neumann // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.StrictMath; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class sinh implements Testlet { /** * These values are used as arguments to sinh. * The values are somewhat arbitrary, but ensure that all code paths * are tested. */ private static double[] inputValues = { 0.0, Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, 0.123456789, -0.123456789, 0.234242656456, -0.234242656456, 1.23456789, -1.23456789, 9.87654321, -9.87654321, 21.9999, -21.9999, 567.891234, -567.891234, 708.742342, -708.742342, 709.7827128, -709.7827128, 710.475860073943, 710.4755859375, 723.6787676346, -723.6787676346, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { 0.0, Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, 0.1237706408130359, -0.1237706408130359, 0.23639067538469039, -0.23639067538469039, 1.5729663108942873, -1.5729663108942873, 9734.154152818386, -9734.154152818386, 1.792277186385473E9, -1.792277186385473E9, 2.1428869091881118E246, -2.1428869091881118E246, 3.1758371607555525E307, -3.1758371607555525E307, 8.988464834932886E307, -8.988464834932886E307, 1.7976931348605396E308, 1.7972003892018829E308, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, }; private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = StrictMath.sinh(inputValues[i]); // exact equality seems appropriate for StrictMath harness.check(res, outputValues[i]); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); harness.check(Double.doubleToRawLongBits(StrictMath.sinh(valNaN)), bitsNaN); } } public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { double res; for (int i = 0; i < inputValues.length; ++i) { res = StrictMath.sinh(inputValues[i]); System.out.println(Double.toString(res)); } } } mauve-20140821/gnu/testlet/java/lang/StrictMath/sin.java0000644000175000001440000001067011640075251021607 0ustar dokousers// Tags: JDK1.3 // Copyright (C) 2011 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.StrictMath; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test for a static method StrictMath.sin() */ public class sin implements Testlet { /** * Function (=static method) checked by this test. */ private static double testedFunction(double input) { return StrictMath.sin(input); } /** * These values are used as arguments to compute sin using StrictMath. */ private static double[] inputValues = { Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, Double.MAX_VALUE, Double.MIN_VALUE, 0.0, StrictMath.PI/4, StrictMath.PI/2, StrictMath.PI, 2*StrictMath.PI, 4*StrictMath.PI, 100*StrictMath.PI, 1e10, 1e-10, -0.0, -StrictMath.PI/4, -StrictMath.PI/2, -StrictMath.PI, -2*StrictMath.PI, -4*StrictMath.PI, -100*StrictMath.PI, -1e10, -1e-10, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { // output value input value Double.NaN, // NaN Double.NaN, // Infinity Double.NaN, // -Infinity 0.004961954789184062, // Double.MAX_VALUE 4.9E-324, // Double.MIN_VALUE 0.0, // 0.0 0.7071067811865475, // StrictMath.PI/4 1.0, // StrictMath.PI/2 1.2246467991473532E-16, // StrictMath.PI -2.4492935982947064E-16,// 2*StrictMath.PI -4.898587196589413E-16, // 4*StrictMath.PI 1.964386723728472E-15, // 100*StrictMath.PI -0.4875060250875107, // 1.0E10 1.0E-10, // 1.0E-10 -0.0, // -0.0 -0.7071067811865475, // -StrictMath.PI/4 -1.0, // -StrictMath.PI/2 -1.2246467991473532E-16,// -StrictMath.PI 2.4492935982947064E-16, // -2*StrictMath.PI 4.898587196589413E-16, // -4*StrictMath.PI -1.964386723728472E-15, // -100*StrictMath.PI 0.4875060250875107, // -1.0E10 -1.0E-10, // -1.0E-10 }; /** * These values represent various NaN */ private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; /** * Test not NaN values. */ private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = testedFunction(inputValues[i]); // exact equality seems appropriate for StrictMath harness.check(res, outputValues[i]); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); harness.check(Double.doubleToRawLongBits(testedFunction(valNaN)), bitsNaN); } } /** * Entry point to a test. */ public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { for (int i = 0; i < inputValues.length; ++i) { double input = inputValues[i]; double output = testedFunction(inputValues[i]); System.out.println(" " + Double.toString(output) + ", // " + input); } } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/0000755000175000001440000000000012375316426024165 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/constructor.java0000644000175000001440000000547012350261052027406 0ustar dokousers// Test if instances of a class java.lang.UnsupportedOperationException could be properly constructed // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; /** * Test if instances of a class java.lang.UnsupportedOperationException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { UnsupportedOperationException object1 = new UnsupportedOperationException(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.UnsupportedOperationException"); UnsupportedOperationException object2 = new UnsupportedOperationException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.UnsupportedOperationException: nothing happens"); UnsupportedOperationException object3 = new UnsupportedOperationException((String)null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.UnsupportedOperationException"); UnsupportedOperationException object4 = new UnsupportedOperationException(new Throwable()); harness.check(object4 != null); harness.check(object4.toString(), "java.lang.UnsupportedOperationException: java.lang.Throwable"); UnsupportedOperationException object5 = new UnsupportedOperationException((Throwable)null); harness.check(object5 != null); harness.check(object5.toString(), "java.lang.UnsupportedOperationException"); UnsupportedOperationException object6 = new UnsupportedOperationException("nothing", new Throwable()); harness.check(object6 != null); harness.check(object6.toString(), "java.lang.UnsupportedOperationException: nothing"); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/TryCatch.java0000644000175000001440000000342512350261052026540 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.UnsupportedOperationException // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; /** * Test if try-catch block is working properly for a class java.lang.UnsupportedOperationException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new UnsupportedOperationException("UnsupportedOperationException"); } catch (UnsupportedOperationException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/0000755000175000001440000000000012375316426026106 5ustar dokousers././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getDeclaredConstructor.javamauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getDeclaredConstructor.0000644000175000001440000001037612354753700032564 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnsupportedOperationException.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.UnsupportedOperationException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.UnsupportedOperationException", new Class[] {java.lang.String.class}); constructorsThatShouldExist_jdk6.put("java.lang.UnsupportedOperationException", new Class[] {java.lang.String.class, java.lang.Throwable.class}); constructorsThatShouldExist_jdk6.put("java.lang.UnsupportedOperationException", new Class[] {java.lang.Throwable.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.UnsupportedOperationException", new Class[] {java.lang.Throwable.class}); constructorsThatShouldExist_jdk7.put("java.lang.UnsupportedOperationException", new Class[] {java.lang.String.class, java.lang.Throwable.class}); constructorsThatShouldExist_jdk7.put("java.lang.UnsupportedOperationException", new Class[] {java.lang.String.class}); constructorsThatShouldExist_jdk7.put("java.lang.UnsupportedOperationException", new Class[] {}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getPackage.java0000644000175000001440000000336412355201706031002 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().getPackage() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; /** * Test for method java.lang.UnsupportedOperationException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getDeclaredMethods.java0000644000175000001440000000631612350261053032472 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnsupportedOperationException.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getInterfaces.java0000644000175000001440000000342412350261053031523 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().getInterfaces() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.UnsupportedOperationException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getModifiers.java0000644000175000001440000000461512355201706031370 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().getModifiers() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; import java.lang.reflect.Modifier; /** * Test for method java.lang.UnsupportedOperationException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getDeclaredFields.java0000644000175000001440000000743512350261053032300 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().getDeclaredFields() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnsupportedOperationException.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 testedDeclaredFields_jdk6.put("static final long java.lang.UnsupportedOperationException.serialVersionUID", "serialVersionUID"); // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("static final long java.lang.UnsupportedOperationException.serialVersionUID", "serialVersionUID"); // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } ././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getDeclaredConstructors.javamauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getDeclaredConstructors0000644000175000001440000001214712350261053032656 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnsupportedOperationException.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.UnsupportedOperationException()", "java.lang.UnsupportedOperationException"); testedDeclaredConstructors_jdk6.put("public java.lang.UnsupportedOperationException(java.lang.String)", "java.lang.UnsupportedOperationException"); testedDeclaredConstructors_jdk6.put("public java.lang.UnsupportedOperationException(java.lang.String,java.lang.Throwable)", "java.lang.UnsupportedOperationException"); testedDeclaredConstructors_jdk6.put("public java.lang.UnsupportedOperationException(java.lang.Throwable)", "java.lang.UnsupportedOperationException"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.UnsupportedOperationException(java.lang.Throwable)", "java.lang.UnsupportedOperationException"); testedDeclaredConstructors_jdk7.put("public java.lang.UnsupportedOperationException(java.lang.String,java.lang.Throwable)", "java.lang.UnsupportedOperationException"); testedDeclaredConstructors_jdk7.put("public java.lang.UnsupportedOperationException(java.lang.String)", "java.lang.UnsupportedOperationException"); testedDeclaredConstructors_jdk7.put("public java.lang.UnsupportedOperationException()", "java.lang.UnsupportedOperationException"); // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getField.java0000644000175000001440000000565112350516574030502 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().getField() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnsupportedOperationException.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getFields.java0000644000175000001440000000600712350261053030646 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().getFields() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnsupportedOperationException.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/isPrimitive.java0000644000175000001440000000332112355466174031260 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; /** * Test for method java.lang.UnsupportedOperationException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getSimpleName.java0000644000175000001440000000336312355201706031500 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().getSimpleName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; /** * Test for method java.lang.UnsupportedOperationException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "UnsupportedOperationException"); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getEnclosingClass.java0000644000175000001440000000340612354472263032362 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().getEnclosingClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; /** * Test for method java.lang.UnsupportedOperationException.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/isAnnotationPresent.javamauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/isAnnotationPresent.jav0000644000175000001440000000450712355201706032615 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; /** * Test for method java.lang.UnsupportedOperationException.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/isSynthetic.java0000644000175000001440000000332112355466174031262 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; /** * Test for method java.lang.UnsupportedOperationException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/isAnnotation.java0000644000175000001440000000331712355201706031413 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().isAnnotation() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; /** * Test for method java.lang.UnsupportedOperationException.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/isInstance.java0000644000175000001440000000343012355466173031054 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().isInstance(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; /** * Test for method java.lang.UnsupportedOperationException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new UnsupportedOperationException("java.lang.UnsupportedOperationException"))); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getDeclaredMethod.java0000644000175000001440000000625512354472263032324 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnsupportedOperationException.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getDeclaredClasses.java0000644000175000001440000000346212354753700032474 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; /** * Test for method java.lang.UnsupportedOperationException.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getComponentType.java0000644000175000001440000000340212354472263032253 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().getComponentType() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; /** * Test for method java.lang.UnsupportedOperationException.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getMethod.java0000644000175000001440000001442512350516574030676 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().getMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnsupportedOperationException.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/isMemberClass.java0000644000175000001440000000333112355466174031506 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; /** * Test for method java.lang.UnsupportedOperationException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getConstructor.java0000644000175000001440000001033612354753677032013 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().getConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnsupportedOperationException.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.UnsupportedOperationException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.UnsupportedOperationException", new Class[] {java.lang.String.class}); constructorsThatShouldExist_jdk6.put("java.lang.UnsupportedOperationException", new Class[] {java.lang.String.class, java.lang.Throwable.class}); constructorsThatShouldExist_jdk6.put("java.lang.UnsupportedOperationException", new Class[] {java.lang.Throwable.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.UnsupportedOperationException", new Class[] {java.lang.Throwable.class}); constructorsThatShouldExist_jdk7.put("java.lang.UnsupportedOperationException", new Class[] {java.lang.String.class, java.lang.Throwable.class}); constructorsThatShouldExist_jdk7.put("java.lang.UnsupportedOperationException", new Class[] {java.lang.String.class}); constructorsThatShouldExist_jdk7.put("java.lang.UnsupportedOperationException", new Class[] {}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getSuperclass.java0000644000175000001440000000344112355201706031567 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().getSuperclass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; /** * Test for method java.lang.UnsupportedOperationException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.RuntimeException"); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/isEnum.java0000644000175000001440000000326712355466173030224 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().isEnum() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; /** * Test for method java.lang.UnsupportedOperationException.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getMethods.java0000644000175000001440000002000712355201706031043 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().getMethods() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnsupportedOperationException.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getAnnotations.java0000644000175000001440000000606212350516573031750 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().getAnnotations() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.UnsupportedOperationException.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/InstanceOf.java0000644000175000001440000000411512350261052030766 0ustar dokousers// Test for instanceof operator applied to a class java.lang.UnsupportedOperationException // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; import java.lang.RuntimeException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.UnsupportedOperationException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedOperationException UnsupportedOperationException o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // basic check of instanceof operator harness.check(o instanceof UnsupportedOperationException); // check operator instanceof against all superclasses harness.check(o instanceof RuntimeException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getDeclaringClass.java0000644000175000001440000000340612354472263032331 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().getDeclaringClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; /** * Test for method java.lang.UnsupportedOperationException.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getAnnotation.java0000644000175000001440000000517112350516573031565 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().getAnnotation() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; /** * Test for method java.lang.UnsupportedOperationException.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/isAnonymousClass.java0000644000175000001440000000333712355201706032261 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().isAnonymousClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; /** * Test for method java.lang.UnsupportedOperationException.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getEnclosingMethod.java0000644000175000001440000000342612354753701032536 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; /** * Test for method java.lang.UnsupportedOperationException.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/isInterface.java0000644000175000001440000000332112355466173031207 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().isInterface(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; /** * Test for method java.lang.UnsupportedOperationException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getConstructors.java0000644000175000001440000001154212350261052032147 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().getConstructors() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnsupportedOperationException.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.UnsupportedOperationException()", "java.lang.UnsupportedOperationException"); testedConstructors_jdk6.put("public java.lang.UnsupportedOperationException(java.lang.String)", "java.lang.UnsupportedOperationException"); testedConstructors_jdk6.put("public java.lang.UnsupportedOperationException(java.lang.String,java.lang.Throwable)", "java.lang.UnsupportedOperationException"); testedConstructors_jdk6.put("public java.lang.UnsupportedOperationException(java.lang.Throwable)", "java.lang.UnsupportedOperationException"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.UnsupportedOperationException(java.lang.Throwable)", "java.lang.UnsupportedOperationException"); testedConstructors_jdk7.put("public java.lang.UnsupportedOperationException(java.lang.String,java.lang.Throwable)", "java.lang.UnsupportedOperationException"); testedConstructors_jdk7.put("public java.lang.UnsupportedOperationException(java.lang.String)", "java.lang.UnsupportedOperationException"); testedConstructors_jdk7.put("public java.lang.UnsupportedOperationException()", "java.lang.UnsupportedOperationException"); // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/isAssignableFrom.java0000644000175000001440000000340612355466173032207 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; /** * Test for method java.lang.UnsupportedOperationException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(UnsupportedOperationException.class)); } } ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getDeclaredAnnotations.javamauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getDeclaredAnnotations.0000644000175000001440000000612212354753700032526 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.UnsupportedOperationException.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getDeclaredField.java0000644000175000001440000000602212354472263032117 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().getDeclaredField() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.UnsupportedOperationException.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { "serialVersionUID", }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/isLocalClass.java0000644000175000001440000000332512355466173031333 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; /** * Test for method java.lang.UnsupportedOperationException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } ././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getEnclosingConstructor.javamauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getEnclosingConstructor0000644000175000001440000000347012354753700032721 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; /** * Test for method java.lang.UnsupportedOperationException.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getCanonicalName.java0000644000175000001440000000340612350516573032142 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().getSimpleName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; /** * Test for method java.lang.UnsupportedOperationException.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.UnsupportedOperationException"); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getName.java0000644000175000001440000000334512355201706030326 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().getName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; /** * Test for method java.lang.UnsupportedOperationException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.UnsupportedOperationException"); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getClasses.java0000644000175000001440000000342212350516573031045 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().getClasses() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; /** * Test for method java.lang.UnsupportedOperationException.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/UnsupportedOperationException/classInfo/isArray.java0000644000175000001440000000327312355466173030373 0ustar dokousers// Test for method java.lang.UnsupportedOperationException.getClass().isArray() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.UnsupportedOperationException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.UnsupportedOperationException; /** * Test for method java.lang.UnsupportedOperationException.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class UnsupportedOperationException final Object o = new UnsupportedOperationException("java.lang.UnsupportedOperationException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/Cloneable/0000755000175000001440000000000012375316426017761 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Cloneable/CloneableTest.java0000644000175000001440000000436610206401716023345 0ustar dokousers/* Copyright (C) 1999 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.0 package gnu.testlet.java.lang.Cloneable; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class CloneableTest implements Testlet, Cloneable { int a = 20; char b = 'b'; Float c = new Float( 10.0f ); protected static TestHarness harness; public void test_clone() { CloneableTest tst = null; try { tst = (CloneableTest)clone(); } catch ( CloneNotSupportedException e ) { harness.fail("Error: CloneNotSupportedException should not be thrown here"); } if ( tst == null ) harness.fail("Error: Clone method on Object did not work properly"); else { if (!( tst.a == a && tst.b == b && tst.c.floatValue() == c.floatValue())) { harness.fail("Error: Clone method on Object did not clone data properly"); } } } public void test_array() { int []ia = new int[5]; int i; for (i = 0; i < ia.length; i++) { ia[i] = i; } Cloneable c; Object o = ia; if (!(ia instanceof Cloneable)) { harness.fail("Error: arrays should implement Cloneable"); } int []ib = (int[])ia.clone(); Class cla = ia.getClass(); Class clb = ib.getClass(); if (cla != clb) { harness.fail("Error: array classes should be equal"); } for (i = 0; i < ia.length; i++) { if (ib[i] != ia[i]) { harness.fail("Error: mismatch on cloned array at " + i); } } } public void testall() { test_clone(); test_array(); } public void test (TestHarness the_harness) { harness = the_harness; testall (); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/0000755000175000001440000000000012375316426023153 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/constructor.java0000644000175000001440000000404412235657605026407 0ustar dokousers// Test if instances of a class java.lang.IndexOutOfBoundsException could be properly constructed // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; /** * Test if instances of a class java.lang.IndexOutOfBoundsException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IndexOutOfBoundsException object1 = new IndexOutOfBoundsException(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.IndexOutOfBoundsException"); IndexOutOfBoundsException object2 = new IndexOutOfBoundsException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.IndexOutOfBoundsException: nothing happens"); IndexOutOfBoundsException object3 = new IndexOutOfBoundsException(null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.IndexOutOfBoundsException"); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/TryCatch.java0000644000175000001440000000336312235657605025546 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.IndexOutOfBoundsException // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; /** * Test if try-catch block is working properly for a class java.lang.IndexOutOfBoundsException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new IndexOutOfBoundsException("IndexOutOfBoundsException"); } catch (IndexOutOfBoundsException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/0000755000175000001440000000000012375316426025074 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getDeclaredConstructor.java0000644000175000001440000000722412240113410032370 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.IndexOutOfBoundsException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.IndexOutOfBoundsException", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.IndexOutOfBoundsException", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.IndexOutOfBoundsException", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getPackage.java0000644000175000001440000000332212240655257027771 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().getPackage() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getDeclaredMethods.java0000644000175000001440000000625412237123262031464 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getInterfaces.java0000644000175000001440000000336212235657606030531 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().getInterfaces() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getModifiers.java0000644000175000001440000000455312235657606030372 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().getModifiers() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; import java.lang.reflect.Modifier; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getDeclaredFields.java0000644000175000001440000000721712237123262031267 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().getDeclaredFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.IndexOutOfBoundsException.serialVersionUID", "serialVersionUID"); // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getDeclaredConstructors.javamauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getDeclaredConstructors.jav0000644000175000001440000001060712240113410032411 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.IndexOutOfBoundsException()", "java.lang.IndexOutOfBoundsException"); testedDeclaredConstructors_jdk6.put("public java.lang.IndexOutOfBoundsException(java.lang.String)", "java.lang.IndexOutOfBoundsException"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.IndexOutOfBoundsException()", "java.lang.IndexOutOfBoundsException"); testedDeclaredConstructors_jdk7.put("public java.lang.IndexOutOfBoundsException(java.lang.String)", "java.lang.IndexOutOfBoundsException"); // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getField.java0000644000175000001440000000560712236410365027463 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().getField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getFields.java0000644000175000001440000000574512236410365027651 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().getFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/isPrimitive.java0000644000175000001440000000325712236142020030231 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getSimpleName.java0000644000175000001440000000331512240655257030472 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "IndexOutOfBoundsException"); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getEnclosingClass.java0000644000175000001440000000334412237123262031341 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().getEnclosingClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/isAnnotationPresent.java0000644000175000001440000000444512240371765031753 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/isSynthetic.java0000644000175000001440000000325712236142020030233 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/isAnnotation.java0000644000175000001440000000325512241104241030370 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().isAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/isInstance.java0000644000175000001440000000335612240655257030045 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().isInstance(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"))); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getDeclaredMethod.java0000644000175000001440000000621312237123262031274 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getDeclaredClasses.java0000644000175000001440000000342012240113410031432 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getComponentType.java0000644000175000001440000000334012236650151031233 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().getComponentType() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getMethod.java0000644000175000001440000001436312236410365027657 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().getMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/isMemberClass.java0000644000175000001440000000326712236142020030457 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getConstructor.java0000644000175000001440000000716412236410365030765 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().getConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.IndexOutOfBoundsException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.IndexOutOfBoundsException", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.IndexOutOfBoundsException", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.IndexOutOfBoundsException", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getSuperclass.java0000644000175000001440000000337712240655257030574 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().getSuperclass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.RuntimeException"); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/isEnum.java0000644000175000001440000000322512240371765027177 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().isEnum() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getMethods.java0000644000175000001440000001774512236410365030051 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().getMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getAnnotations.java0000644000175000001440000000602012236650151030722 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().getAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/InstanceOf.java0000644000175000001440000000404312235657606027774 0ustar dokousers// Test for instanceof operator applied to a class java.lang.IndexOutOfBoundsException // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; import java.lang.RuntimeException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.IndexOutOfBoundsException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IndexOutOfBoundsException IndexOutOfBoundsException o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // basic check of instanceof operator harness.check(o instanceof IndexOutOfBoundsException); // check operator instanceof against all superclasses harness.check(o instanceof RuntimeException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getDeclaringClass.java0000644000175000001440000000334412237123262031310 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().getDeclaringClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getAnnotation.java0000644000175000001440000000512712236650151030546 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().getAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/isAnonymousClass.java0000644000175000001440000000327512240371765031256 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().isAnonymousClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getEnclosingMethod.java0000644000175000001440000000336412240371765031525 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/isInterface.java0000644000175000001440000000325712236142020030161 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().isInterface(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getConstructors.java0000644000175000001440000001024212236410365031137 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().getConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.IndexOutOfBoundsException()", "java.lang.IndexOutOfBoundsException"); testedConstructors_jdk6.put("public java.lang.IndexOutOfBoundsException(java.lang.String)", "java.lang.IndexOutOfBoundsException"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.IndexOutOfBoundsException()", "java.lang.IndexOutOfBoundsException"); testedConstructors_jdk7.put("public java.lang.IndexOutOfBoundsException(java.lang.String)", "java.lang.IndexOutOfBoundsException"); // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/isAssignableFrom.java0000644000175000001440000000334012240655257031166 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(IndexOutOfBoundsException.class)); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getDeclaredAnnotations.java0000644000175000001440000000606012240113407032343 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getDeclaredField.java0000644000175000001440000000572012237123262031101 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().getDeclaredField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/isLocalClass.java0000644000175000001440000000326312236142020030276 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getEnclosingConstructor.javamauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getEnclosingConstructor.jav0000644000175000001440000000342612240371764032467 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getCanonicalName.java0000644000175000001440000000334012236650151031117 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.IndexOutOfBoundsException"); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getName.java0000644000175000001440000000327712235657606027333 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().getName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.IndexOutOfBoundsException"); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getClasses.java0000644000175000001440000000336012236650151030026 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().getClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/isArray.java0000644000175000001440000000323112240371765027346 0ustar dokousers// Test for method java.lang.IndexOutOfBoundsException.getClass().isArray() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IndexOutOfBoundsException; /** * Test for method java.lang.IndexOutOfBoundsException.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IndexOutOfBoundsException final Object o = new IndexOutOfBoundsException("java.lang.IndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/0000755000175000001440000000000012375316426020353 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/VerifyError/constructor.java0000644000175000001440000000356412345302531023600 0ustar dokousers// Test if instances of a class java.lang.VerifyError could be properly constructed // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; /** * Test if instances of a class java.lang.VerifyError * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { VerifyError object1 = new VerifyError(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.VerifyError"); VerifyError object2 = new VerifyError("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.VerifyError: nothing happens"); VerifyError object3 = new VerifyError(null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.VerifyError"); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/TryCatch.java0000644000175000001440000000322712345302531022730 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.VerifyError // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; /** * Test if try-catch block is working properly for a class java.lang.VerifyError */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new VerifyError("VerifyError"); } catch (VerifyError e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/0000755000175000001440000000000012375316426022274 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/getDeclaredConstructor.java0000644000175000001440000000676612346254433027624 0ustar dokousers// Test for method java.lang.VerifyError.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.VerifyError.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.VerifyError", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.VerifyError", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.VerifyError", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.VerifyError", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/getPackage.java0000644000175000001440000000315412350004233025154 0ustar dokousers// Test for method java.lang.VerifyError.getClass().getPackage() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; /** * Test for method java.lang.VerifyError.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/getDeclaredMethods.java0000644000175000001440000000610612347552522026667 0ustar dokousers// Test for method java.lang.VerifyError.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.VerifyError.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/getInterfaces.java0000644000175000001440000000321412347552522025720 0ustar dokousers// Test for method java.lang.VerifyError.getClass().getInterfaces() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.VerifyError.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/getModifiers.java0000644000175000001440000000440512350004232025541 0ustar dokousers// Test for method java.lang.VerifyError.getClass().getModifiers() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; import java.lang.reflect.Modifier; /** * Test for method java.lang.VerifyError.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/getDeclaredFields.java0000644000175000001440000000703312347552522026472 0ustar dokousers// Test for method java.lang.VerifyError.getClass().getDeclaredFields() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.VerifyError.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.VerifyError.serialVersionUID", "serialVersionUID"); // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/getDeclaredConstructors.java0000644000175000001440000001026112347552521027770 0ustar dokousers// Test for method java.lang.VerifyError.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.VerifyError.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.VerifyError()", "java.lang.VerifyError"); testedDeclaredConstructors_jdk6.put("public java.lang.VerifyError(java.lang.String)", "java.lang.VerifyError"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.VerifyError()", "java.lang.VerifyError"); testedDeclaredConstructors_jdk7.put("public java.lang.VerifyError(java.lang.String)", "java.lang.VerifyError"); // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/getField.java0000644000175000001440000000544112346254433024663 0ustar dokousers// Test for method java.lang.VerifyError.getClass().getField() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.VerifyError.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/getFields.java0000644000175000001440000000557712347552522025061 0ustar dokousers// Test for method java.lang.VerifyError.getClass().getFields() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.VerifyError.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/isPrimitive.java0000644000175000001440000000311112345302531025424 0ustar dokousers// Test for method java.lang.VerifyError.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; /** * Test for method java.lang.VerifyError.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/getSimpleName.java0000644000175000001440000000313112350004233025646 0ustar dokousers// Test for method java.lang.VerifyError.getClass().getSimpleName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; /** * Test for method java.lang.VerifyError.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "VerifyError"); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/getEnclosingClass.java0000644000175000001440000000317612346024343026545 0ustar dokousers// Test for method java.lang.VerifyError.getClass().getEnclosingClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; /** * Test for method java.lang.VerifyError.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/isAnnotationPresent.java0000644000175000001440000000427712346537736027167 0ustar dokousers// Test for method java.lang.VerifyError.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; /** * Test for method java.lang.VerifyError.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/isSynthetic.java0000644000175000001440000000311112345302532025427 0ustar dokousers// Test for method java.lang.VerifyError.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; /** * Test for method java.lang.VerifyError.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/isAnnotation.java0000644000175000001440000000310712346537736025615 0ustar dokousers// Test for method java.lang.VerifyError.getClass().isAnnotation() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; /** * Test for method java.lang.VerifyError.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/isInstance.java0000644000175000001440000000314212345302531025224 0ustar dokousers// Test for method java.lang.VerifyError.getClass().isInstance(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; /** * Test for method java.lang.VerifyError.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new VerifyError("VerifyError"))); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/getDeclaredMethod.java0000644000175000001440000000604512346254433026505 0ustar dokousers// Test for method java.lang.VerifyError.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.VerifyError.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/getDeclaredClasses.java0000644000175000001440000000325212346254432026656 0ustar dokousers// Test for method java.lang.VerifyError.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; /** * Test for method java.lang.VerifyError.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/getComponentType.java0000644000175000001440000000317212345550617026445 0ustar dokousers// Test for method java.lang.VerifyError.getClass().getComponentType() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; /** * Test for method java.lang.VerifyError.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/getMethod.java0000644000175000001440000001421512350004232025040 0ustar dokousers// Test for method java.lang.VerifyError.getClass().getMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.VerifyError.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/isMemberClass.java0000644000175000001440000000312112345302531025652 0ustar dokousers// Test for method java.lang.VerifyError.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; /** * Test for method java.lang.VerifyError.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/getConstructor.java0000644000175000001440000000672612346254432026173 0ustar dokousers// Test for method java.lang.VerifyError.getClass().getConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.VerifyError.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.VerifyError", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.VerifyError", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.VerifyError", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.VerifyError", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/getSuperclass.java0000644000175000001440000000322512346537736025774 0ustar dokousers// Test for method java.lang.VerifyError.getClass().getSuperclass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; /** * Test for method java.lang.VerifyError.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.LinkageError"); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/isEnum.java0000644000175000001440000000305712346537736024413 0ustar dokousers// Test for method java.lang.VerifyError.getClass().isEnum() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; /** * Test for method java.lang.VerifyError.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/getMethods.java0000644000175000001440000001757712350004232025241 0ustar dokousers// Test for method java.lang.VerifyError.getClass().getMethods() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.VerifyError.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/getAnnotations.java0000644000175000001440000000565212345550616026142 0ustar dokousers// Test for method java.lang.VerifyError.getClass().getAnnotations() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.VerifyError.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/InstanceOf.java0000644000175000001440000000362112345302531025157 0ustar dokousers// Test for instanceof operator applied to a class java.lang.VerifyError // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; import java.lang.LinkageError; import java.lang.Error; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.VerifyError */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class VerifyError VerifyError o = new VerifyError("VerifyError"); // basic check of instanceof operator harness.check(o instanceof VerifyError); // check operator instanceof against all superclasses harness.check(o instanceof LinkageError); harness.check(o instanceof Error); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/getDeclaringClass.java0000644000175000001440000000317612346024342026513 0ustar dokousers// Test for method java.lang.VerifyError.getClass().getDeclaringClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; /** * Test for method java.lang.VerifyError.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/getAnnotation.java0000644000175000001440000000476112345550616025757 0ustar dokousers// Test for method java.lang.VerifyError.getClass().getAnnotation() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; /** * Test for method java.lang.VerifyError.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/isAnonymousClass.java0000644000175000001440000000312712346537736026463 0ustar dokousers// Test for method java.lang.VerifyError.getClass().isAnonymousClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; /** * Test for method java.lang.VerifyError.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/getEnclosingMethod.java0000644000175000001440000000321612346024343026713 0ustar dokousers// Test for method java.lang.VerifyError.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; /** * Test for method java.lang.VerifyError.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/isInterface.java0000644000175000001440000000311112345302531025354 0ustar dokousers// Test for method java.lang.VerifyError.getClass().isInterface(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; /** * Test for method java.lang.VerifyError.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/getConstructors.java0000644000175000001440000000771412347552521026355 0ustar dokousers// Test for method java.lang.VerifyError.getClass().getConstructors() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.VerifyError.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.VerifyError()", "java.lang.VerifyError"); testedConstructors_jdk6.put("public java.lang.VerifyError(java.lang.String)", "java.lang.VerifyError"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.VerifyError()", "java.lang.VerifyError"); testedConstructors_jdk7.put("public java.lang.VerifyError(java.lang.String)", "java.lang.VerifyError"); // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/isAssignableFrom.java0000644000175000001440000000315412346537736026401 0ustar dokousers// Test for method java.lang.VerifyError.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; /** * Test for method java.lang.VerifyError.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(VerifyError.class)); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/getDeclaredAnnotations.java0000644000175000001440000000571212346254432027561 0ustar dokousers// Test for method java.lang.VerifyError.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.VerifyError.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/getDeclaredField.java0000644000175000001440000000555212346024342026304 0ustar dokousers// Test for method java.lang.VerifyError.getClass().getDeclaredField() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.VerifyError.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/isLocalClass.java0000644000175000001440000000311512345302531025500 0ustar dokousers// Test for method java.lang.VerifyError.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; /** * Test for method java.lang.VerifyError.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/getEnclosingConstructor.java0000644000175000001440000000326012346024343030017 0ustar dokousers// Test for method java.lang.VerifyError.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; /** * Test for method java.lang.VerifyError.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/getCanonicalName.java0000644000175000001440000000315412345550616026330 0ustar dokousers// Test for method java.lang.VerifyError.getClass().getSimpleName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; /** * Test for method java.lang.VerifyError.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.VerifyError"); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/getName.java0000644000175000001440000000311312350004233024474 0ustar dokousers// Test for method java.lang.VerifyError.getClass().getName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; /** * Test for method java.lang.VerifyError.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.VerifyError"); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/getClasses.java0000644000175000001440000000321212345550616025230 0ustar dokousers// Test for method java.lang.VerifyError.getClass().getClasses() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; /** * Test for method java.lang.VerifyError.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/VerifyError/classInfo/isArray.java0000644000175000001440000000306312346537736024562 0ustar dokousers// Test for method java.lang.VerifyError.getClass().isArray() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.VerifyError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.VerifyError; /** * Test for method java.lang.VerifyError.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class VerifyError final Object o = new VerifyError("VerifyError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/Short/0000755000175000001440000000000012375316450017171 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Short/toString.java0000644000175000001440000000403011757724254021652 0ustar dokousers// Test of Short methods toString() and toString(short). // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.4 // Tags: CompileOptions: -source 1.4 package gnu.testlet.java.lang.Short; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test of Short methods toString() and toString(short). */ public class toString implements Testlet { public void test (TestHarness harness) { // test of method Short.toString() harness.check(new Short((short)0).toString(), "0"); harness.check(new Short((short)-1).toString(), "-1"); harness.check(new Short((short)1).toString(), "1"); harness.check(new Short((short)127).toString(), "127"); harness.check(new Short((short)-128).toString(), "-128"); harness.check(new Short(Short.MIN_VALUE).toString(), "-32768"); harness.check(new Short(Short.MAX_VALUE).toString(), "32767"); // test of static method Short.toString(Short) harness.check(Short.toString((short)0), "0"); harness.check(Short.toString((short)-1), "-1"); harness.check(Short.toString((short)1), "1"); harness.check(Short.toString((short)127), "127"); harness.check(Short.toString((short)-128), "-128"); harness.check(Short.toString(Short.MIN_VALUE), "-32768"); harness.check(Short.toString(Short.MAX_VALUE), "32767"); } } mauve-20140821/gnu/testlet/java/lang/Short/classInfo/0000755000175000001440000000000012375316426021115 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Short/classInfo/getPackage.java0000644000175000001440000000303411754202157024006 0ustar dokousers// Test for method java.lang.Short.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Short.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Short; /** * Test for method java.lang.Short.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Short((short)42); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/Short/classInfo/getInterfaces.java0000644000175000001440000000317211754202157024541 0ustar dokousers// Test for method java.lang.Short.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Short.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Short; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.Short.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Short((short)42); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); harness.check(interfaces.contains(Comparable.class)); } } mauve-20140821/gnu/testlet/java/lang/Short/classInfo/getModifiers.java0000644000175000001440000000426511754202157024403 0ustar dokousers// Test for method java.lang.Short.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Short.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Short; import java.lang.reflect.Modifier; /** * Test for method java.lang.Short.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Short((short)42); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check( Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/Short/classInfo/isPrimitive.java0000644000175000001440000000277111754202157024266 0ustar dokousers// Test for method java.lang.Short.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Short.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Short; /** * Test for method java.lang.Short.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Short((short)42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/Short/classInfo/getSimpleName.java0000644000175000001440000000300311754202157024501 0ustar dokousers// Test for method java.lang.Short.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Short.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Short; /** * Test for method java.lang.Short.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Short((short)42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "Short"); } } mauve-20140821/gnu/testlet/java/lang/Short/classInfo/isAnnotationPresent.java0000644000175000001440000000415612026546135025770 0ustar dokousers// Test for method java.lang.Short.getClass().isAnnotationPresent() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Short.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Short; /** * Test for method java.lang.Short.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Short Object o = new Short((short)42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/Short/classInfo/isSynthetic.java0000644000175000001440000000277111754202157024270 0ustar dokousers// Test for method java.lang.Short.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Short.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Short; /** * Test for method java.lang.Short.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Short((short)42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/Short/classInfo/isAnnotation.java0000644000175000001440000000276612026546135024434 0ustar dokousers// Test for method java.lang.Short.getClass().isAnnotation() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Short.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Short; /** * Test for method java.lang.Short.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Short Object o = new Short((short)42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/Short/classInfo/isInstance.java0000644000175000001440000000301011754202157024045 0ustar dokousers// Test for method java.lang.Short.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Short.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Short; /** * Test for method java.lang.Short.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Short((short)42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new Short((short)42))); } } mauve-20140821/gnu/testlet/java/lang/Short/classInfo/isMemberClass.java0000644000175000001440000000300111754202157024476 0ustar dokousers// Test for method java.lang.Short.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Short.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Short; /** * Test for method java.lang.Short.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Short((short)42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/Short/classInfo/getSuperclass.java0000644000175000001440000000307711754202157024606 0ustar dokousers// Test for method java.lang.Short.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Short.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Short; /** * Test for method java.lang.Short.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Short((short)42); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.Number"); } } mauve-20140821/gnu/testlet/java/lang/Short/classInfo/isEnum.java0000644000175000001440000000273612026546135023223 0ustar dokousers// Test for method java.lang.Short.getClass().isEnum() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Short.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Short; /** * Test for method java.lang.Short.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Short Object o = new Short((short)42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/Short/classInfo/InstanceOf.java0000644000175000001440000000324611754202157024011 0ustar dokousers// Test for instanceof operator applied to a class java.lang.Short // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Short.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Short; import java.lang.Number; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.Short */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Short Short o = new Short((short)42); // basic check of instanceof operator harness.check(o instanceof Short); // check operator instanceof against all superclasses harness.check(o instanceof Number); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/Short/classInfo/isAnonymousClass.java0000644000175000001440000000300612026546135025264 0ustar dokousers// Test for method java.lang.Short.getClass().isAnonymousClass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Short.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Short; /** * Test for method java.lang.Short.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Short Object o = new Short((short)42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/Short/classInfo/isInterface.java0000644000175000001440000000277111754202157024216 0ustar dokousers// Test for method java.lang.Short.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Short.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Short; /** * Test for method java.lang.Short.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Short((short)42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/Short/classInfo/isAssignableFrom.java0000644000175000001440000000302611754202157025204 0ustar dokousers// Test for method java.lang.Short.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Short.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Short; /** * Test for method java.lang.Short.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Short((short)42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(Short.class)); } } mauve-20140821/gnu/testlet/java/lang/Short/classInfo/isLocalClass.java0000644000175000001440000000277511754202157024342 0ustar dokousers// Test for method java.lang.Short.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Short.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Short; /** * Test for method java.lang.Short.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Short((short)42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/Short/classInfo/getName.java0000644000175000001440000000276511754202157023345 0ustar dokousers// Test for method java.lang.Short.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Short.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Short; /** * Test for method java.lang.Short.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Short((short)42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.lang.Short"); } } mauve-20140821/gnu/testlet/java/lang/Short/classInfo/isArray.java0000644000175000001440000000274212026546135023372 0ustar dokousers// Test for method java.lang.Short.getClass().isArray() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Short.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Short; /** * Test for method java.lang.Short.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Short Object o = new Short((short)42); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/Short/hash.java0000644000175000001440000000255506634200731020761 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Short; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class hash implements Testlet { public void test (TestHarness harness) { Short a = new Short((short) 0); Short b = new Short((short) 1); Short c = new Short((short) -1); Short d = new Short(Short.MAX_VALUE); Short e = new Short(Short.MIN_VALUE); harness.check (a.hashCode(), 0); harness.check (b.hashCode(), 1); harness.check (c.hashCode(), -1); harness.check (d.hashCode(), 32767); harness.check (e.hashCode(), -32768); } } mauve-20140821/gnu/testlet/java/lang/Short/ShortTest.java0000644000175000001440000001353610367245762022011 0ustar dokousers/* Copyright (C) 1999 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.0 package gnu.testlet.java.lang.Short; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class ShortTest implements Testlet { protected static TestHarness harness; public void test_Basics() { harness.check(!( Short.MIN_VALUE != -32768 || Short.MAX_VALUE != 32767 ), "test_Basics - 1" ); Short i1 = new Short((short)100); harness.check(!( i1.shortValue() != 100 ), "test_Basics - 2" ); try { harness.check(!( (new Short("234")).shortValue() != 234 ), "test_Basics - 3" ); } catch ( NumberFormatException e ) { harness.fail("test_Basics - 3" ); } try { harness.check(!( (new Short("-FF")).shortValue() != -255 ), "test_Basics - 4" ); } catch ( NumberFormatException e ) { } try { new Short("babu"); harness.fail("test_Basics - 5" ); } catch ( NumberFormatException e ) { } harness.check(!( Short.decode( "123").shortValue() != 123 ), "test_Basics - 6" ); harness.check(!( Short.decode( "32767").shortValue() != 32767 ), "test_Basics - 7" ); } public void test_toString() { harness.check(!( !( new Short((short)123)).toString().equals("123")), "test_toString - 1" ); harness.check(!( !( new Short((short)-44)).toString().equals("-44")), "test_toString - 2" ); harness.check(!( !Short.toString((short) 234 ).equals ("234" )), "test_toString - 3" ); harness.check(!( !Short.toString((short) -34 ).equals ("-34" )), "test_toString - 4" ); harness.check(!( !Short.toString((short) -34 ).equals ("-34" )), "test_toString - 5" ); } public void test_equals() { Short i1 = new Short((short)23); Short i2 = new Short((short)-23); harness.check(!( !i1.equals( new Short((short)23))), "test_equals - 1" ); harness.check(!( !i2.equals( new Short((short)-23))), "test_equals - 2" ); harness.check(!( i1.equals( i2 )), "test_equals - 3" ); harness.check(!( i1.equals(null)), "test_equals - 4" ); } public void test_hashCode( ) { Short b1 = new Short((short)3439); Short b2 = new Short((short)-3439); harness.check(!( b1.hashCode() != 3439 || b2.hashCode() != -3439 ), "test_hashCode" ); } public void test_intValue( ) { Short b1 = new Short((short)32767); Short b2 = new Short((short)-32767); harness.check(!( b1.intValue() != 32767 ), "test_intValue - 1" ); harness.check(!( b2.intValue() != -32767 ), "test_intValue - 2" ); } public void test_longValue( ) { Short b1 = new Short((short)3767); Short b2 = new Short((short)-3767); harness.check(!( b1.longValue() != (long)3767 ), "test_longValue - 1" ); harness.check(!( b2.longValue() != -3767 ), "test_longValue - 2" ); } public void test_floatValue( ) { Short b1 = new Short((short)3276); Short b2 = new Short((short)-3276); harness.check(!( b1.floatValue() != 3276.0f ), "test_floatValue - 1" ); harness.check(!( b2.floatValue() != -3276.0f ), "test_floatValue - 2" ); } public void test_doubleValue( ) { Short b1 = new Short((short)0); Short b2 = new Short((short)30); harness.check(!( b1.doubleValue() != 0.0 ), "test_doubleValue - 1" ); harness.check(!( b2.doubleValue() != 30.0 ), "test_doubleValue - 2" ); } public void test_shortbyteValue( ) { Short b1 = new Short((short)0); Short b2 = new Short((short)300); harness.check(!( b1.byteValue() != 0 ), "test_shortbyteValue - 1" ); harness.check(!( b2.byteValue() != (byte)300 ), "test_shortbyteValue - 2" ); harness.check(!( b1.shortValue() != 0 ), "test_shortbyteValue - 3" ); harness.check(!( b2.shortValue() != (short)300 ), "test_shortbyteValue - 4" ); harness.check(!( ((Number)b1).shortValue() != 0 ), "test_shortbyteValue - 5" ); harness.check(!( ((Number)b2).byteValue() != (byte)300 ), "test_shortbyteValue - 6" ); } public void test_parseShort() { harness.check(!( Short.parseShort("473") != Short.parseShort("473" , 10 )), "test_parseInt - 1" ); harness.check(!( Short.parseShort("0" , 10 ) != 0 ), "test_parseInt - 2" ); harness.check(!( Short.parseShort("473" , 10 ) != 473 ), "test_parseInt - 3" ); harness.check(!( Short.parseShort("-0" , 10 ) != 0 ), "test_parseInt - 4" ); harness.check(!( Short.parseShort("-FF" , 16 ) != -255 ), "test_parseInt - 5" ); harness.check(!( Short.parseShort("1100110" , 2 ) != 102 ), "test_parseInt - 6" ); try { Short.parseShort("99" , 8 ); harness.fail("test_parseInt - 10" ); }catch ( NumberFormatException e ){} try { Short.parseShort("kona" , 10 ); harness.fail("test_parseInt - 11" ); }catch ( NumberFormatException e ){} } public void test_valueOf( ) { harness.check(!( Short.valueOf("21234").intValue() != Short.parseShort("21234")), "test_valueOf - 1" ); } public void testall() { test_Basics(); test_toString(); test_equals(); test_hashCode(); test_intValue(); test_longValue(); test_floatValue(); test_doubleValue(); test_shortbyteValue(); test_parseShort(); test_valueOf(); } public void test (TestHarness the_harness) { harness = the_harness; testall (); } } mauve-20140821/gnu/testlet/java/lang/OutOfMemoryError/0000755000175000001440000000000012375316426021334 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/OutOfMemoryError/constructor.java0000644000175000001440000000331711766651753024600 0ustar dokousers// Test if constructor is working properly for a class java.lang.OutOfMemoryError // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.OutOfMemoryError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.OutOfMemoryError; /** * Test if constructor is working properly for a class java.lang.OutOfMemoryError */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { OutOfMemoryError error1 = new OutOfMemoryError(); harness.check(error1 != null); harness.check(error1.toString(), "java.lang.OutOfMemoryError"); OutOfMemoryError error2 = new OutOfMemoryError("nothing happens"); harness.check(error2 != null); harness.check(error2.toString(), "java.lang.OutOfMemoryError: nothing happens"); } } mauve-20140821/gnu/testlet/java/lang/OutOfMemoryError/TryCatch.java0000644000175000001440000000323511754430430023713 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.OutOfMemoryError // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.OutOfMemoryError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.OutOfMemoryError; /** * Test if try-catch block is working properly for a class java.lang.OutOfMemoryError */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new OutOfMemoryError("OutOfMemoryError"); } catch (OutOfMemoryError e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/OutOfMemoryError/classInfo/0000755000175000001440000000000012375316426023255 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/OutOfMemoryError/classInfo/getPackage.java0000644000175000001440000000313411761713057026153 0ustar dokousers// Test for method java.lang.OutOfMemoryError.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.OutOfMemoryError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.OutOfMemoryError; /** * Test for method java.lang.OutOfMemoryError.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new OutOfMemoryError("OutOfMemoryError"); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/OutOfMemoryError/classInfo/getInterfaces.java0000644000175000001440000000317411761713057026707 0ustar dokousers// Test for method java.lang.OutOfMemoryError.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.OutOfMemoryError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.OutOfMemoryError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.OutOfMemoryError.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new OutOfMemoryError("OutOfMemoryError"); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/OutOfMemoryError/classInfo/getModifiers.java0000644000175000001440000000436511761713057026550 0ustar dokousers// Test for method java.lang.OutOfMemoryError.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.OutOfMemoryError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.OutOfMemoryError; import java.lang.reflect.Modifier; /** * Test for method java.lang.OutOfMemoryError.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new OutOfMemoryError("OutOfMemoryError"); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/OutOfMemoryError/classInfo/isPrimitive.java0000644000175000001440000000307111761713057026424 0ustar dokousers// Test for method java.lang.OutOfMemoryError.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.OutOfMemoryError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.OutOfMemoryError; /** * Test for method java.lang.OutOfMemoryError.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new OutOfMemoryError("OutOfMemoryError"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/OutOfMemoryError/classInfo/getSimpleName.java0000644000175000001440000000311611761713057026652 0ustar dokousers// Test for method java.lang.OutOfMemoryError.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.OutOfMemoryError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.OutOfMemoryError; /** * Test for method java.lang.OutOfMemoryError.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new OutOfMemoryError("OutOfMemoryError"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "OutOfMemoryError"); } } mauve-20140821/gnu/testlet/java/lang/OutOfMemoryError/classInfo/isSynthetic.java0000644000175000001440000000307111761713057026426 0ustar dokousers// Test for method java.lang.OutOfMemoryError.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.OutOfMemoryError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.OutOfMemoryError; /** * Test for method java.lang.OutOfMemoryError.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new OutOfMemoryError("OutOfMemoryError"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/OutOfMemoryError/classInfo/isInstance.java0000644000175000001440000000313411761713057026220 0ustar dokousers// Test for method java.lang.OutOfMemoryError.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.OutOfMemoryError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.OutOfMemoryError; /** * Test for method java.lang.OutOfMemoryError.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new OutOfMemoryError("OutOfMemoryError"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new OutOfMemoryError("OutOfMemoryError"))); } } mauve-20140821/gnu/testlet/java/lang/OutOfMemoryError/classInfo/isMemberClass.java0000644000175000001440000000310111761713057026643 0ustar dokousers// Test for method java.lang.OutOfMemoryError.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.OutOfMemoryError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.OutOfMemoryError; /** * Test for method java.lang.OutOfMemoryError.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new OutOfMemoryError("OutOfMemoryError"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/OutOfMemoryError/classInfo/getSuperclass.java0000644000175000001440000000321411761713057026743 0ustar dokousers// Test for method java.lang.OutOfMemoryError.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.OutOfMemoryError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.OutOfMemoryError; /** * Test for method java.lang.OutOfMemoryError.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new OutOfMemoryError("OutOfMemoryError"); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.VirtualMachineError"); } } mauve-20140821/gnu/testlet/java/lang/OutOfMemoryError/classInfo/InstanceOf.java0000644000175000001440000000365711761713057026163 0ustar dokousers// Test for instanceof operator applied to a class java.lang.OutOfMemoryError // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.OutOfMemoryError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.OutOfMemoryError; import java.lang.VirtualMachineError; import java.lang.Error; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.OutOfMemoryError */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class OutOfMemoryError OutOfMemoryError o = new OutOfMemoryError("OutOfMemoryError"); // basic check of instanceof operator harness.check(o instanceof OutOfMemoryError); // check operator instanceof against all superclasses harness.check(o instanceof VirtualMachineError); harness.check(o instanceof Error); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/OutOfMemoryError/classInfo/isInterface.java0000644000175000001440000000307111761713057026354 0ustar dokousers// Test for method java.lang.OutOfMemoryError.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.OutOfMemoryError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.OutOfMemoryError; /** * Test for method java.lang.OutOfMemoryError.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new OutOfMemoryError("OutOfMemoryError"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/OutOfMemoryError/classInfo/isAssignableFrom.java0000644000175000001440000000314111761713057027346 0ustar dokousers// Test for method java.lang.OutOfMemoryError.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.OutOfMemoryError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.OutOfMemoryError; /** * Test for method java.lang.OutOfMemoryError.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new OutOfMemoryError("OutOfMemoryError"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(OutOfMemoryError.class)); } } mauve-20140821/gnu/testlet/java/lang/OutOfMemoryError/classInfo/isLocalClass.java0000644000175000001440000000307511761713057026500 0ustar dokousers// Test for method java.lang.OutOfMemoryError.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.OutOfMemoryError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.OutOfMemoryError; /** * Test for method java.lang.OutOfMemoryError.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new OutOfMemoryError("OutOfMemoryError"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/OutOfMemoryError/classInfo/getName.java0000644000175000001440000000310011761713057025471 0ustar dokousers// Test for method java.lang.OutOfMemoryError.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.OutOfMemoryError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.OutOfMemoryError; /** * Test for method java.lang.OutOfMemoryError.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new OutOfMemoryError("OutOfMemoryError"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.lang.OutOfMemoryError"); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/0000755000175000001440000000000012375316426022047 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/ArrayStoreException/constructor.java0000644000175000001440000000372612104427165025300 0ustar dokousers// Test if instances of a class java.lang.ArrayStoreException could be properly constructed // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; /** * Test if instances of a class java.lang.ArrayStoreException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { ArrayStoreException object1 = new ArrayStoreException(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.ArrayStoreException"); ArrayStoreException object2 = new ArrayStoreException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.ArrayStoreException: nothing happens"); ArrayStoreException object3 = new ArrayStoreException(null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.ArrayStoreException"); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/TryCatch.java0000644000175000001440000000331112104427165024422 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.ArrayStoreException // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; /** * Test if try-catch block is working properly for a class java.lang.ArrayStoreException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new ArrayStoreException("ArrayStoreException"); } catch (ArrayStoreException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/0000755000175000001440000000000012375316426023770 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/getDeclaredConstructor.java0000644000175000001440000000712212105146141031270 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArrayStoreException.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.ArrayStoreException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.ArrayStoreException", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.ArrayStoreException", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.ArrayStoreException", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/getPackage.java0000644000175000001440000000325012113071300026641 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().getPackage() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; /** * Test for method java.lang.ArrayStoreException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/getDeclaredMethods.java0000644000175000001440000000620212111355156030351 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArrayStoreException.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/getInterfaces.java0000644000175000001440000000331012113071277027403 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().getInterfaces() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.ArrayStoreException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/getModifiers.java0000644000175000001440000000450112113071300027227 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().getModifiers() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; import java.lang.reflect.Modifier; /** * Test for method java.lang.ArrayStoreException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/getDeclaredFields.java0000644000175000001440000000713712111355156030164 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().getDeclaredFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArrayStoreException.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.ArrayStoreException.serialVersionUID", "serialVersionUID"); // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/getDeclaredConstructors.java0000644000175000001440000001045512111355156031463 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArrayStoreException.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.ArrayStoreException()", "java.lang.ArrayStoreException"); testedDeclaredConstructors_jdk6.put("public java.lang.ArrayStoreException(java.lang.String)", "java.lang.ArrayStoreException"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.ArrayStoreException()", "java.lang.ArrayStoreException"); testedDeclaredConstructors_jdk7.put("public java.lang.ArrayStoreException(java.lang.String)", "java.lang.ArrayStoreException"); // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/getField.java0000644000175000001440000000553512112631075026353 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().getField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArrayStoreException.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/getFields.java0000644000175000001440000000567312113071277026544 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().getFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArrayStoreException.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/isPrimitive.java0000644000175000001440000000320512104674632027133 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; /** * Test for method java.lang.ArrayStoreException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/getSimpleName.java0000644000175000001440000000323512113071300027343 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; /** * Test for method java.lang.ArrayStoreException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "ArrayStoreException"); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/getEnclosingClass.java0000644000175000001440000000327212111632646030237 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().getEnclosingClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; /** * Test for method java.lang.ArrayStoreException.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/isAnnotationPresent.java0000644000175000001440000000437312110364141030631 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; /** * Test for method java.lang.ArrayStoreException.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/isSynthetic.java0000644000175000001440000000320512104674632027135 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; /** * Test for method java.lang.ArrayStoreException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/isAnnotation.java0000644000175000001440000000320312113071300027252 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().isAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; /** * Test for method java.lang.ArrayStoreException.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/isInstance.java0000644000175000001440000000327012104427165026726 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().isInstance(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; /** * Test for method java.lang.ArrayStoreException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new ArrayStoreException("java.lang.ArrayStoreException"))); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/getDeclaredMethod.java0000644000175000001440000000614112111104061030153 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArrayStoreException.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/getDeclaredClasses.java0000644000175000001440000000334612105146141030344 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; /** * Test for method java.lang.ArrayStoreException.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/getComponentType.java0000644000175000001440000000326612111104061030120 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().getComponentType() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; /** * Test for method java.lang.ArrayStoreException.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/getMethod.java0000644000175000001440000001431112112631075026540 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().getMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArrayStoreException.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/isMemberClass.java0000644000175000001440000000321512104674632027361 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; /** * Test for method java.lang.ArrayStoreException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/getConstructor.java0000644000175000001440000000706212111104061027637 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().getConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArrayStoreException.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.ArrayStoreException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.ArrayStoreException", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.ArrayStoreException", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.ArrayStoreException", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/getSuperclass.java0000644000175000001440000000332512113071300027435 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().getSuperclass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; /** * Test for method java.lang.ArrayStoreException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.RuntimeException"); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/isEnum.java0000644000175000001440000000315312104427165026066 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().isEnum() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; /** * Test for method java.lang.ArrayStoreException.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/getMethods.java0000644000175000001440000001767312113344665026750 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().getMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArrayStoreException.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/getAnnotations.java0000644000175000001440000000574612110632650027627 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().getAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.ArrayStoreException.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/InstanceOf.java0000644000175000001440000000375512110364141026656 0ustar dokousers// Test for instanceof operator applied to a class java.lang.ArrayStoreException // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; import java.lang.RuntimeException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.ArrayStoreException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayStoreException ArrayStoreException o = new ArrayStoreException("java.lang.ArrayStoreException"); // basic check of instanceof operator harness.check(o instanceof ArrayStoreException); // check operator instanceof against all superclasses harness.check(o instanceof RuntimeException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/getDeclaringClass.java0000644000175000001440000000327212111104061030167 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().getDeclaringClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; /** * Test for method java.lang.ArrayStoreException.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/getAnnotation.java0000644000175000001440000000505512110632650027435 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().getAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; /** * Test for method java.lang.ArrayStoreException.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/isAnonymousClass.java0000644000175000001440000000322312110364141030125 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().isAnonymousClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; /** * Test for method java.lang.ArrayStoreException.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/getEnclosingMethod.java0000644000175000001440000000331212111632646030405 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; /** * Test for method java.lang.ArrayStoreException.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/isInterface.java0000644000175000001440000000320512104427165027060 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().isInterface(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; /** * Test for method java.lang.ArrayStoreException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/getConstructors.java0000644000175000001440000001011012110364141030014 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().getConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArrayStoreException.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.ArrayStoreException()", "java.lang.ArrayStoreException"); testedConstructors_jdk6.put("public java.lang.ArrayStoreException(java.lang.String)", "java.lang.ArrayStoreException"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.ArrayStoreException()", "java.lang.ArrayStoreException"); testedConstructors_jdk7.put("public java.lang.ArrayStoreException(java.lang.String)", "java.lang.ArrayStoreException"); // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/isAssignableFrom.java0000644000175000001440000000326012110364141030044 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; /** * Test for method java.lang.ArrayStoreException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(ArrayStoreException.class)); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/getDeclaredAnnotations.java0000644000175000001440000000600612105146141031240 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.ArrayStoreException.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/getDeclaredField.java0000644000175000001440000000564612111104061027767 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().getDeclaredField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArrayStoreException.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/isLocalClass.java0000644000175000001440000000321112104427165027175 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; /** * Test for method java.lang.ArrayStoreException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/getEnclosingConstructor.java0000644000175000001440000000335412111632646031520 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; /** * Test for method java.lang.ArrayStoreException.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/getCanonicalName.java0000644000175000001440000000326012110632650030007 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; /** * Test for method java.lang.ArrayStoreException.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.ArrayStoreException"); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/getName.java0000644000175000001440000000321712111355156026205 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().getName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; /** * Test for method java.lang.ArrayStoreException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.ArrayStoreException"); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/getClasses.java0000644000175000001440000000330612110632650026715 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().getClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; /** * Test for method java.lang.ArrayStoreException.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/ArrayStoreException/classInfo/isArray.java0000644000175000001440000000315712110364141026233 0ustar dokousers// Test for method java.lang.ArrayStoreException.getClass().isArray() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayStoreException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayStoreException; /** * Test for method java.lang.ArrayStoreException.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayStoreException final Object o = new ArrayStoreException("java.lang.ArrayStoreException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/0000755000175000001440000000000012375316426022064 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/constructor.java0000644000175000001440000000375112302613027025305 0ustar dokousers// Test if instances of a class java.lang.NoClassDefFoundError could be properly constructed // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; /** * Test if instances of a class java.lang.NoClassDefFoundError * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { NoClassDefFoundError object1 = new NoClassDefFoundError(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.NoClassDefFoundError"); NoClassDefFoundError object2 = new NoClassDefFoundError("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.NoClassDefFoundError: nothing happens"); NoClassDefFoundError object3 = new NoClassDefFoundError(null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.NoClassDefFoundError"); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/TryCatch.java0000644000175000001440000000332612302613026024436 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.NoClassDefFoundError // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; /** * Test if try-catch block is working properly for a class java.lang.NoClassDefFoundError */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new NoClassDefFoundError("NoClassDefFoundError"); } catch (NoClassDefFoundError e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/0000755000175000001440000000000012375316426024005 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/getDeclaredConstructor.java0000644000175000001440000000713112303577410031314 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoClassDefFoundError.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.NoClassDefFoundError", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.NoClassDefFoundError", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.NoClassDefFoundError", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.NoClassDefFoundError", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/getPackage.java0000644000175000001440000000325312305314462026675 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().getPackage() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; /** * Test for method java.lang.NoClassDefFoundError.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/getDeclaredMethods.java0000644000175000001440000000620512304057313030367 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoClassDefFoundError.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/getInterfaces.java0000644000175000001440000000331312305066604027424 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().getInterfaces() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.NoClassDefFoundError.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/getModifiers.java0000644000175000001440000000450412305066605027266 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().getModifiers() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; import java.lang.reflect.Modifier; /** * Test for method java.lang.NoClassDefFoundError.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/getDeclaredFields.java0000644000175000001440000000714312304057312030173 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().getDeclaredFields() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoClassDefFoundError.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.NoClassDefFoundError.serialVersionUID", "serialVersionUID"); // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/getDeclaredConstructors.java0000644000175000001440000001047012303577410031477 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoClassDefFoundError.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.NoClassDefFoundError()", "java.lang.NoClassDefFoundError"); testedDeclaredConstructors_jdk6.put("public java.lang.NoClassDefFoundError(java.lang.String)", "java.lang.NoClassDefFoundError"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.NoClassDefFoundError()", "java.lang.NoClassDefFoundError"); testedDeclaredConstructors_jdk7.put("public java.lang.NoClassDefFoundError(java.lang.String)", "java.lang.NoClassDefFoundError"); // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/getField.java0000644000175000001440000000554012303341413026360 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().getField() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoClassDefFoundError.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/getFields.java0000644000175000001440000000567612303341413026555 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().getFields() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoClassDefFoundError.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/isPrimitive.java0000644000175000001440000000321012306332435027140 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; /** * Test for method java.lang.NoClassDefFoundError.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/getSimpleName.java0000644000175000001440000000324112305314462027371 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().getSimpleName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; /** * Test for method java.lang.NoClassDefFoundError.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "NoClassDefFoundError"); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/getEnclosingClass.java0000644000175000001440000000327512307311042030246 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().getEnclosingClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; /** * Test for method java.lang.NoClassDefFoundError.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/isAnnotationPresent.java0000644000175000001440000000437612305314462030660 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; /** * Test for method java.lang.NoClassDefFoundError.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/isSynthetic.java0000644000175000001440000000321012306332435027142 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; /** * Test for method java.lang.NoClassDefFoundError.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/isAnnotation.java0000644000175000001440000000320612305314462027306 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().isAnnotation() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; /** * Test for method java.lang.NoClassDefFoundError.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/isInstance.java0000644000175000001440000000326312307556101026743 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().isInstance(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; /** * Test for method java.lang.NoClassDefFoundError.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new NoClassDefFoundError("NoClassDefFoundError"))); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/getDeclaredMethod.java0000644000175000001440000000614412304057312030205 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoClassDefFoundError.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/getDeclaredClasses.java0000644000175000001440000000335112303577410030364 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; /** * Test for method java.lang.NoClassDefFoundError.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/getComponentType.java0000644000175000001440000000327112303341413030140 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().getComponentType() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; /** * Test for method java.lang.NoClassDefFoundError.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/getMethod.java0000644000175000001440000001431412305066604026564 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().getMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoClassDefFoundError.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/isMemberClass.java0000644000175000001440000000322012306332435027366 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; /** * Test for method java.lang.NoClassDefFoundError.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/getConstructor.java0000644000175000001440000000707112303341413027663 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().getConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoClassDefFoundError.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.NoClassDefFoundError", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.NoClassDefFoundError", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.NoClassDefFoundError", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.NoClassDefFoundError", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/getSuperclass.java0000644000175000001440000000332412305314462027465 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().getSuperclass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; /** * Test for method java.lang.NoClassDefFoundError.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.LinkageError"); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/isEnum.java0000644000175000001440000000315612307556101026104 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().isEnum() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; /** * Test for method java.lang.NoClassDefFoundError.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/getMethods.java0000644000175000001440000001767612305066605026766 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().getMethods() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoClassDefFoundError.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/getAnnotations.java0000644000175000001440000000575112303063406027641 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().getAnnotations() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.NoClassDefFoundError.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/InstanceOf.java0000644000175000001440000000374212303063406026673 0ustar dokousers// Test for instanceof operator applied to a class java.lang.NoClassDefFoundError // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; import java.lang.LinkageError; import java.lang.Error; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.NoClassDefFoundError */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoClassDefFoundError NoClassDefFoundError o = new NoClassDefFoundError("NoClassDefFoundError"); // basic check of instanceof operator harness.check(o instanceof NoClassDefFoundError); // check operator instanceof against all superclasses harness.check(o instanceof LinkageError); harness.check(o instanceof Error); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/getDeclaringClass.java0000644000175000001440000000327512304057313030222 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().getDeclaringClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; /** * Test for method java.lang.NoClassDefFoundError.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/getAnnotation.java0000644000175000001440000000506012303063406027447 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().getAnnotation() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; /** * Test for method java.lang.NoClassDefFoundError.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/isAnonymousClass.java0000644000175000001440000000322612307311042030145 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().isAnonymousClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; /** * Test for method java.lang.NoClassDefFoundError.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/getEnclosingMethod.java0000644000175000001440000000331512303577410030425 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; /** * Test for method java.lang.NoClassDefFoundError.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/isInterface.java0000644000175000001440000000321012306332435027070 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().isInterface(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; /** * Test for method java.lang.NoClassDefFoundError.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/getConstructors.java0000644000175000001440000001012312303341413030036 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().getConstructors() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoClassDefFoundError.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.NoClassDefFoundError()", "java.lang.NoClassDefFoundError"); testedConstructors_jdk6.put("public java.lang.NoClassDefFoundError(java.lang.String)", "java.lang.NoClassDefFoundError"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.NoClassDefFoundError()", "java.lang.NoClassDefFoundError"); testedConstructors_jdk7.put("public java.lang.NoClassDefFoundError(java.lang.String)", "java.lang.NoClassDefFoundError"); // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/isAssignableFrom.java0000644000175000001440000000326412307311043030066 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; /** * Test for method java.lang.NoClassDefFoundError.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(NoClassDefFoundError.class)); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/getDeclaredAnnotations.java0000644000175000001440000000601112303577410031260 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.NoClassDefFoundError.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/getDeclaredField.java0000644000175000001440000000565112304057312030012 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().getDeclaredField() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoClassDefFoundError.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/isLocalClass.java0000644000175000001440000000321412306332435027214 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; /** * Test for method java.lang.NoClassDefFoundError.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/getEnclosingConstructor.java0000644000175000001440000000335712307311042031527 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; /** * Test for method java.lang.NoClassDefFoundError.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/getCanonicalName.java0000644000175000001440000000326412303063406030031 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().getSimpleName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; /** * Test for method java.lang.NoClassDefFoundError.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.NoClassDefFoundError"); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/getName.java0000644000175000001440000000322312305066605026222 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().getName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; /** * Test for method java.lang.NoClassDefFoundError.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.NoClassDefFoundError"); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/getClasses.java0000644000175000001440000000331112303063406026727 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().getClasses() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; /** * Test for method java.lang.NoClassDefFoundError.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/NoClassDefFoundError/classInfo/isArray.java0000644000175000001440000000316212307311043026245 0ustar dokousers// Test for method java.lang.NoClassDefFoundError.getClass().isArray() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoClassDefFoundError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoClassDefFoundError; /** * Test for method java.lang.NoClassDefFoundError.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoClassDefFoundError final Object o = new NoClassDefFoundError("NoClassDefFoundError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/ref/0000755000175000001440000000000012375316426016651 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/ref/WeakReference/0000755000175000001440000000000012375316426021357 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/ref/WeakReference/weakref.java0000644000175000001440000000476710165063400023646 0ustar dokousers// Test of WeakReference // Copyright (C) 2001 Red Hat, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 // In this test we make some assumptions about how the GC operates // that are probably not quite sound. In particular we assume // System.gc() will collect everything. package gnu.testlet.java.lang.ref.WeakReference; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.lang.ref.*; public class weakref implements Testlet { static class Reffer extends Thread { ReferenceQueue q; TestHarness harness; WeakReference wr; Integer twt; public Reffer (ReferenceQueue q, TestHarness harness) { this.q = q; this.harness = harness; } public void run() { twt = new Integer (23); wr = new WeakReference (twt, q); System.gc (); Reference r = q.poll (); harness.check (r, null, "live reference"); harness.check (wr.get (), twt); } } public void test (TestHarness harness) { ReferenceQueue q = new ReferenceQueue (); // Create reference in a separate thread so no inadvertent references // to the contained object are left on the stack, which causes VM's that // do conservative stack GC scans to report false negatives for this test. Reffer reffer = new Reffer(q, harness); reffer.start(); try { reffer.join(); } catch (InterruptedException e) { throw new RuntimeException(e); } WeakReference wr = reffer.wr; // Weak reference "should" get cleared here reffer.twt = null; System.gc (); Reference r = null; try { r = q.remove (5 * 1000); // 5 seconds. } catch (InterruptedException _) { harness.debug (_); } harness.check (r, wr, "unreachable"); harness.check (wr.get (), null, "contents of weak reference"); } } mauve-20140821/gnu/testlet/java/lang/ref/PhantomReference/0000755000175000001440000000000012375316426022076 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/ref/PhantomReference/phantom.java0000644000175000001440000000572410165063400024401 0ustar dokousers// Test of PhantomReference // Copyright (C) 2001 Red Hat, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 // In this test we make some assumptions about how the GC operates // that are probably not quite sound. In particular we assume // System.gc() will collect everything. package gnu.testlet.java.lang.ref.PhantomReference; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.lang.ref.*; public class phantom implements Testlet { public static int final_count = 0; public static phantom nogc; public phantom () { } public void finalize () { ++final_count; } static class Reffer extends Thread { ReferenceQueue q; TestHarness harness; PhantomReference wr; phantom twt; public Reffer (ReferenceQueue q, TestHarness harness) { this.q = q; this.harness = harness; } public void run() { twt = new phantom (); wr = new PhantomReference (twt, q); // Give the runtime some hints that it should really garbage collect. System.gc (); System.runFinalization(); System.gc (); System.runFinalization(); Reference r = q.poll (); harness.check (r, null, "live reference"); harness.check (final_count, 0); } } public void test (TestHarness harness) { // Make sure 'this' is not finalized while running the test. nogc = this; ReferenceQueue q = new ReferenceQueue (); // Create reference in a separate thread so no inadvertent references // to the contained object are left on the stack, which causes VM's that // do conservative stack GC scans to report false negatives for this test. Reffer reffer = new Reffer(q, harness); reffer.start(); try { reffer.join(); } catch (InterruptedException e) { throw new RuntimeException(e); } PhantomReference wr = reffer.wr; // Phantom reference "should" get cleared here reffer.twt = null; System.gc (); System.runFinalization(); System.gc (); System.runFinalization(); Reference r = null; try { r = q.remove (5 * 1000); // 5 seconds. } catch (InterruptedException _) { harness.debug (_); } harness.check (r, wr, "unreachable"); harness.check (final_count, 1, "object finalized"); } } mauve-20140821/gnu/testlet/java/lang/ThreadDeath/0000755000175000001440000000000012375316426020252 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/ThreadDeath/TryCatch.java0000644000175000001440000000317612057615040022634 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.ThreadDeath // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ThreadDeath; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ThreadDeath; /** * Test if try-catch block is working properly for a class java.lang.ThreadDeath */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new ThreadDeath(); } catch (ThreadDeath e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/ThreadDeath/classInfo/0000755000175000001440000000000012375316426022173 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/ThreadDeath/classInfo/getPackage.java0000644000175000001440000000312312057615041025060 0ustar dokousers// Test for method java.lang.ThreadDeath.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ThreadDeath.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ThreadDeath; /** * Test for method java.lang.ThreadDeath.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ThreadDeath final Object o = new ThreadDeath(); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/ThreadDeath/classInfo/getDeclaredMethods.java0000644000175000001440000000605512057615041026563 0ustar dokousers// Test for method java.lang.ThreadDeath.getClass().getDeclaredMethods() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ThreadDeath.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ThreadDeath; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ThreadDeath.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class ThreadDeath final Object o = new ThreadDeath(); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ThreadDeath/classInfo/getInterfaces.java0000644000175000001440000000316312057615041025614 0ustar dokousers// Test for method java.lang.ThreadDeath.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ThreadDeath.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ThreadDeath; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.ThreadDeath.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ThreadDeath final Object o = new ThreadDeath(); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/ThreadDeath/classInfo/getModifiers.java0000644000175000001440000000435412057615041025455 0ustar dokousers// Test for method java.lang.ThreadDeath.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ThreadDeath.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ThreadDeath; import java.lang.reflect.Modifier; /** * Test for method java.lang.ThreadDeath.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ThreadDeath final Object o = new ThreadDeath(); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/ThreadDeath/classInfo/getDeclaredFields.java0000644000175000001440000000700212057615041026357 0ustar dokousers// Test for method java.lang.ThreadDeath.getClass().getDeclaredFields() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ThreadDeath.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ThreadDeath; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ThreadDeath.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.ThreadDeath.serialVersionUID", "serialVersionUID"); // create instance of a class ThreadDeath final Object o = new ThreadDeath(); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ThreadDeath/classInfo/getDeclaredConstructors.java0000644000175000001440000000765012057615041027672 0ustar dokousers// Test for method java.lang.ThreadDeath.getClass().getDeclaredConstructors() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ThreadDeath.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ThreadDeath; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ThreadDeath.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.ThreadDeath()", "java.lang.ThreadDeath"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.ThreadDeath()", "java.lang.ThreadDeath"); // create instance of a class ThreadDeath final Object o = new ThreadDeath(); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ThreadDeath/classInfo/getFields.java0000644000175000001440000000554612057615041024746 0ustar dokousers// Test for method java.lang.ThreadDeath.getClass().getFields() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ThreadDeath.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ThreadDeath; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ThreadDeath.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class ThreadDeath final Object o = new ThreadDeath(); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ThreadDeath/classInfo/isPrimitive.java0000644000175000001440000000306012057615041025331 0ustar dokousers// Test for method java.lang.ThreadDeath.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ThreadDeath.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ThreadDeath; /** * Test for method java.lang.ThreadDeath.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ThreadDeath final Object o = new ThreadDeath(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/ThreadDeath/classInfo/getSimpleName.java0000644000175000001440000000310012057615041025552 0ustar dokousers// Test for method java.lang.ThreadDeath.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ThreadDeath.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ThreadDeath; /** * Test for method java.lang.ThreadDeath.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ThreadDeath final Object o = new ThreadDeath(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "ThreadDeath"); } } mauve-20140821/gnu/testlet/java/lang/ThreadDeath/classInfo/isAnnotationPresent.java0000644000175000001440000000424612057615041027043 0ustar dokousers// Test for method java.lang.ThreadDeath.getClass().isAnnotationPresent() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ThreadDeath.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ThreadDeath; /** * Test for method java.lang.ThreadDeath.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ThreadDeath final Object o = new ThreadDeath(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/ThreadDeath/classInfo/isSynthetic.java0000644000175000001440000000306012057615041025333 0ustar dokousers// Test for method java.lang.ThreadDeath.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ThreadDeath.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ThreadDeath; /** * Test for method java.lang.ThreadDeath.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ThreadDeath final Object o = new ThreadDeath(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/ThreadDeath/classInfo/isAnnotation.java0000644000175000001440000000305612057615041025500 0ustar dokousers// Test for method java.lang.ThreadDeath.getClass().isAnnotation() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ThreadDeath.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ThreadDeath; /** * Test for method java.lang.ThreadDeath.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ThreadDeath final Object o = new ThreadDeath(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/ThreadDeath/classInfo/isInstance.java0000644000175000001440000000307412057615041025132 0ustar dokousers// Test for method java.lang.ThreadDeath.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ThreadDeath.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ThreadDeath; /** * Test for method java.lang.ThreadDeath.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ThreadDeath final Object o = new ThreadDeath(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new ThreadDeath())); } } mauve-20140821/gnu/testlet/java/lang/ThreadDeath/classInfo/isMemberClass.java0000644000175000001440000000307012057615041025557 0ustar dokousers// Test for method java.lang.ThreadDeath.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ThreadDeath.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ThreadDeath; /** * Test for method java.lang.ThreadDeath.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ThreadDeath final Object o = new ThreadDeath(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/ThreadDeath/classInfo/getSuperclass.java0000644000175000001440000000316512057615041025657 0ustar dokousers// Test for method java.lang.ThreadDeath.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ThreadDeath.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ThreadDeath; /** * Test for method java.lang.ThreadDeath.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ThreadDeath final Object o = new ThreadDeath(); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.Error"); } } mauve-20140821/gnu/testlet/java/lang/ThreadDeath/classInfo/isEnum.java0000644000175000001440000000302612057615041024267 0ustar dokousers// Test for method java.lang.ThreadDeath.getClass().isEnum() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ThreadDeath.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ThreadDeath; /** * Test for method java.lang.ThreadDeath.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ThreadDeath final Object o = new ThreadDeath(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/ThreadDeath/classInfo/getMethods.java0000644000175000001440000001754612057615041025146 0ustar dokousers// Test for method java.lang.ThreadDeath.getClass().getMethods() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ThreadDeath.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ThreadDeath; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ThreadDeath.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class ThreadDeath final Object o = new ThreadDeath(); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ThreadDeath/classInfo/InstanceOf.java0000644000175000001440000000344712057615041025067 0ustar dokousers// Test for instanceof operator applied to a class java.lang.ThreadDeath // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ThreadDeath.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ThreadDeath; import java.lang.Error; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.ThreadDeath */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ThreadDeath ThreadDeath o = new ThreadDeath(); // basic check of instanceof operator harness.check(o instanceof ThreadDeath); // check operator instanceof against all superclasses harness.check(o instanceof Error); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/ThreadDeath/classInfo/isAnonymousClass.java0000644000175000001440000000307612057615041026346 0ustar dokousers// Test for method java.lang.ThreadDeath.getClass().isAnonymousClass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ThreadDeath.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ThreadDeath; /** * Test for method java.lang.ThreadDeath.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ThreadDeath final Object o = new ThreadDeath(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/ThreadDeath/classInfo/isInterface.java0000644000175000001440000000306012057615041025261 0ustar dokousers// Test for method java.lang.ThreadDeath.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ThreadDeath.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ThreadDeath; /** * Test for method java.lang.ThreadDeath.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ThreadDeath final Object o = new ThreadDeath(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/ThreadDeath/classInfo/getConstructors.java0000644000175000001440000000732312057615041026243 0ustar dokousers// Test for method java.lang.ThreadDeath.getClass().getConstructors() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ThreadDeath.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ThreadDeath; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ThreadDeath.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.ThreadDeath()", "java.lang.ThreadDeath"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.ThreadDeath()", "java.lang.ThreadDeath"); // create instance of a class ThreadDeath final Object o = new ThreadDeath(); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ThreadDeath/classInfo/isAssignableFrom.java0000644000175000001440000000312312057615041026255 0ustar dokousers// Test for method java.lang.ThreadDeath.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ThreadDeath.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ThreadDeath; /** * Test for method java.lang.ThreadDeath.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ThreadDeath final Object o = new ThreadDeath(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(ThreadDeath.class)); } } mauve-20140821/gnu/testlet/java/lang/ThreadDeath/classInfo/isLocalClass.java0000644000175000001440000000306412057615041025405 0ustar dokousers// Test for method java.lang.ThreadDeath.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ThreadDeath.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ThreadDeath; /** * Test for method java.lang.ThreadDeath.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ThreadDeath final Object o = new ThreadDeath(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/ThreadDeath/classInfo/getName.java0000644000175000001440000000306212057615041024407 0ustar dokousers// Test for method java.lang.ThreadDeath.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ThreadDeath.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ThreadDeath; /** * Test for method java.lang.ThreadDeath.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ThreadDeath final Object o = new ThreadDeath(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.ThreadDeath"); } } mauve-20140821/gnu/testlet/java/lang/ThreadDeath/classInfo/isArray.java0000644000175000001440000000303212057615041024436 0ustar dokousers// Test for method java.lang.ThreadDeath.getClass().isArray() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ThreadDeath.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ThreadDeath; /** * Test for method java.lang.ThreadDeath.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ThreadDeath final Object o = new ThreadDeath(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/0000755000175000001440000000000012375316426021634 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/ClassCastException/constructor.java0000644000175000001440000000371112120324611025045 0ustar dokousers// Test if instances of a class java.lang.ClassCastException could be properly constructed // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; /** * Test if instances of a class java.lang.ClassCastException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { ClassCastException object1 = new ClassCastException(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.ClassCastException"); ClassCastException object2 = new ClassCastException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.ClassCastException: nothing happens"); ClassCastException object3 = new ClassCastException(null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.ClassCastException"); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/TryCatch.java0000644000175000001440000000330212120324610024174 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.ClassCastException // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; /** * Test if try-catch block is working properly for a class java.lang.ClassCastException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new ClassCastException("ClassCastException"); } catch (ClassCastException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/0000755000175000001440000000000012375316426023555 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/getDeclaredConstructor.java0000644000175000001440000000710712122551104031056 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassCastException.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.ClassCastException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.ClassCastException", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.ClassCastException", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.ClassCastException", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/getPackage.java0000644000175000001440000000324112122302476026441 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().getPackage() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; /** * Test for method java.lang.ClassCastException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/getDeclaredMethods.java0000644000175000001440000000617312125020241030132 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassCastException.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK7 // --- empty --- // map for methods declared in (Open)JDK6 // --- empty --- // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/getInterfaces.java0000644000175000001440000000330112126505163027170 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().getInterfaces() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.ClassCastException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/getModifiers.java0000644000175000001440000000447212126505163027040 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().getModifiers() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; import java.lang.reflect.Modifier; /** * Test for method java.lang.ClassCastException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/getDeclaredFields.java0000644000175000001440000000712712125020241027735 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().getDeclaredFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassCastException.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.ClassCastException.serialVersionUID", "serialVersionUID"); // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/getDeclaredConstructors.java0000644000175000001440000001043612125020241031234 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassCastException.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.ClassCastException()", "java.lang.ClassCastException"); testedDeclaredConstructors_jdk6.put("public java.lang.ClassCastException(java.lang.String)", "java.lang.ClassCastException"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.ClassCastException()", "java.lang.ClassCastException"); testedDeclaredConstructors_jdk7.put("public java.lang.ClassCastException(java.lang.String)", "java.lang.ClassCastException"); // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/getField.java0000644000175000001440000000552612121564457026151 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().getField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassCastException.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/getFields.java0000644000175000001440000000566412126505163026331 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().getFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassCastException.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/isPrimitive.java0000644000175000001440000000317612120324611026712 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; /** * Test for method java.lang.ClassCastException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/getSimpleName.java0000644000175000001440000000322512122302476027142 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; /** * Test for method java.lang.ClassCastException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "ClassCastException"); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/getEnclosingClass.java0000644000175000001440000000326312125252475030027 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().getEnclosingClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; /** * Test for method java.lang.ClassCastException.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/isAnnotationPresent.java0000644000175000001440000000436412123022210030406 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; /** * Test for method java.lang.ClassCastException.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/isSynthetic.java0000644000175000001440000000317612120324611026714 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; /** * Test for method java.lang.ClassCastException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/isAnnotation.java0000644000175000001440000000317412123022210027043 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().isAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; /** * Test for method java.lang.ClassCastException.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/isInstance.java0000644000175000001440000000325712122302476026515 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().isInstance(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; /** * Test for method java.lang.ClassCastException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new ClassCastException("java.lang.ClassCastException"))); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/getDeclaredMethod.java0000644000175000001440000000613212123022210027736 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassCastException.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/getDeclaredClasses.java0000644000175000001440000000333712122551104030127 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; /** * Test for method java.lang.ClassCastException.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/getComponentType.java0000644000175000001440000000325712120561557027726 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().getComponentType() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; /** * Test for method java.lang.ClassCastException.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/getMethod.java0000644000175000001440000001430212121564457026336 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().getMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassCastException.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/isMemberClass.java0000644000175000001440000000320612120324611027131 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; /** * Test for method java.lang.ClassCastException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/getConstructor.java0000644000175000001440000000704712121564457027453 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().getConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassCastException.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.ClassCastException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.ClassCastException", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.ClassCastException", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.ClassCastException", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/getSuperclass.java0000644000175000001440000000331612122302476027235 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().getSuperclass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; /** * Test for method java.lang.ClassCastException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.RuntimeException"); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/isEnum.java0000644000175000001440000000314412122551104025642 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().isEnum() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; /** * Test for method java.lang.ClassCastException.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/getMethods.java0000644000175000001440000001766412126505163026531 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().getMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassCastException.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/getAnnotations.java0000644000175000001440000000573712120561557027424 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().getAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.ClassCastException.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/InstanceOf.java0000644000175000001440000000374412120324611026440 0ustar dokousers// Test for instanceof operator applied to a class java.lang.ClassCastException // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; import java.lang.RuntimeException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.ClassCastException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCastException ClassCastException o = new ClassCastException("java.lang.ClassCastException"); // basic check of instanceof operator harness.check(o instanceof ClassCastException); // check operator instanceof against all superclasses harness.check(o instanceof RuntimeException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/getDeclaringClass.java0000644000175000001440000000326312125252475027776 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().getDeclaringClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; /** * Test for method java.lang.ClassCastException.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/getAnnotation.java0000644000175000001440000000504612120561557027232 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().getAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; /** * Test for method java.lang.ClassCastException.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/isAnonymousClass.java0000644000175000001440000000321412123022210027702 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().isAnonymousClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; /** * Test for method java.lang.ClassCastException.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/getEnclosingMethod.java0000644000175000001440000000330312125252475030175 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; /** * Test for method java.lang.ClassCastException.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/isInterface.java0000644000175000001440000000317612122302476026651 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().isInterface(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; /** * Test for method java.lang.ClassCastException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/getConstructors.java0000644000175000001440000001007112125020241027603 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().getConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassCastException.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.ClassCastException()", "java.lang.ClassCastException"); testedConstructors_jdk6.put("public java.lang.ClassCastException(java.lang.String)", "java.lang.ClassCastException"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.ClassCastException()", "java.lang.ClassCastException"); testedConstructors_jdk7.put("public java.lang.ClassCastException(java.lang.String)", "java.lang.ClassCastException"); // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/isAssignableFrom.java0000644000175000001440000000325012122302476027636 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; /** * Test for method java.lang.ClassCastException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(ClassCastException.class)); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/getDeclaredAnnotations.java0000644000175000001440000000577712122551104031041 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.ClassCastException.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/getDeclaredField.java0000644000175000001440000000563712121564457027600 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().getDeclaredField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassCastException.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/isLocalClass.java0000644000175000001440000000320212120324611026750 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; /** * Test for method java.lang.ClassCastException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/getEnclosingConstructor.java0000644000175000001440000000334512125252475031310 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; /** * Test for method java.lang.ClassCastException.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/getCanonicalName.java0000644000175000001440000000325012120561557027603 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; /** * Test for method java.lang.ClassCastException.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.ClassCastException"); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/getName.java0000644000175000001440000000320712126505164025773 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().getName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; /** * Test for method java.lang.ClassCastException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.ClassCastException"); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/getClasses.java0000644000175000001440000000327712120561557026521 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().getClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; /** * Test for method java.lang.ClassCastException.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/ClassCastException/classInfo/isArray.java0000644000175000001440000000315012123022210026001 0ustar dokousers// Test for method java.lang.ClassCastException.getClass().isArray() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassCastException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassCastException; /** * Test for method java.lang.ClassCastException.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassCastException final Object o = new ClassCastException("java.lang.ClassCastException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/0000755000175000001440000000000012375316426022476 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/getCause.java0000644000175000001440000000330211772610761025076 0ustar dokousers// Test of the method java.lang.ClassNotFoundException.getCause() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.ClassNotFoundException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; /** * Test of the method java.lang.ClassNotFoundException.getCause() */ public class getCause implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new ClassNotFoundException("ClassNotFoundException"); } catch (ClassNotFoundException e) { harness.check(e.getCause(), null); // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/constructor.java0000644000175000001440000000433612137673641025735 0ustar dokousers// Test if instances of a class java.lang.ClassNotFoundException could be properly constructed // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; /** * Test if instances of a class java.lang.ClassNotFoundException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { ClassNotFoundException object1 = new ClassNotFoundException(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.ClassNotFoundException"); ClassNotFoundException object2 = new ClassNotFoundException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.ClassNotFoundException: nothing happens"); ClassNotFoundException object3 = new ClassNotFoundException(null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.ClassNotFoundException"); ClassNotFoundException object4 = new ClassNotFoundException("nothing", new Throwable()); harness.check(object4 != null); harness.check(object4.toString(), "java.lang.ClassNotFoundException: nothing"); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/TryCatch.java0000644000175000001440000000333612137673640025067 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.ClassNotFoundException // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; /** * Test if try-catch block is working properly for a class java.lang.ClassNotFoundException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new ClassNotFoundException("ClassNotFoundException"); } catch (ClassNotFoundException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/0000755000175000001440000000000012375316426024417 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/getDeclaredConstructor.java0000644000175000001440000000763112140663761031737 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassNotFoundException.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.ClassNotFoundException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.ClassNotFoundException", new Class[] {java.lang.String.class}); constructorsThatShouldExist_jdk6.put("java.lang.ClassNotFoundException", new Class[] {java.lang.String.class, java.lang.Throwable.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.ClassNotFoundException", new Class[] {java.lang.String.class, java.lang.Throwable.class}); constructorsThatShouldExist_jdk7.put("java.lang.ClassNotFoundException", new Class[] {java.lang.String.class}); constructorsThatShouldExist_jdk7.put("java.lang.ClassNotFoundException", new Class[] {}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/getPackage.java0000644000175000001440000000327512144634473027323 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().getPackage() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; /** * Test for method java.lang.ClassNotFoundException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/getDeclaredMethods.java0000644000175000001440000001025212145112734031000 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassNotFoundException.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedDeclaredMethods_jdk6.put("public java.lang.Throwable java.lang.ClassNotFoundException.getCause()", "getCause"); testedDeclaredMethods_jdk6.put("public java.lang.Throwable java.lang.ClassNotFoundException.getException()", "getException"); // map for methods declared in (Open)JDK7 testedDeclaredMethods_jdk7.put("public java.lang.Throwable java.lang.ClassNotFoundException.getCause()", "getCause"); testedDeclaredMethods_jdk7.put("public java.lang.Throwable java.lang.ClassNotFoundException.getException()", "getException"); // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); // check if all declared methods exist for (java.lang.reflect.Method declaredMethod : declaredMethods) { // method name should consists of package name + class name String methodName = declaredMethod.getName(); // modifiers + package + method name + parameter types String methodString = declaredMethod.toString().replaceAll(" native ", " "); harness.check(testedDeclaredMethods.containsKey(methodString)); harness.check(testedDeclaredMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/getInterfaces.java0000644000175000001440000000333512144634473030050 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().getInterfaces() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.ClassNotFoundException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/getModifiers.java0000644000175000001440000000452612144634473027711 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().getModifiers() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; import java.lang.reflect.Modifier; /** * Test for method java.lang.ClassNotFoundException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/getDeclaredFields.java0000644000175000001440000000771012145112734030610 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().getDeclaredFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassNotFoundException.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 testedDeclaredFields_jdk6.put("private static final long java.lang.ClassNotFoundException.serialVersionUID", "serialVersionUID"); testedDeclaredFields_jdk6.put("private java.lang.Throwable java.lang.ClassNotFoundException.ex", "ex"); // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.ClassNotFoundException.serialVersionUID", "serialVersionUID"); testedDeclaredFields_jdk7.put("private java.lang.Throwable java.lang.ClassNotFoundException.ex", "ex"); // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/getDeclaredConstructors.java0000644000175000001440000001123612145112734032110 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassNotFoundException.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.ClassNotFoundException()", "java.lang.ClassNotFoundException"); testedDeclaredConstructors_jdk6.put("public java.lang.ClassNotFoundException(java.lang.String)", "java.lang.ClassNotFoundException"); testedDeclaredConstructors_jdk6.put("public java.lang.ClassNotFoundException(java.lang.String,java.lang.Throwable)", "java.lang.ClassNotFoundException"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.ClassNotFoundException(java.lang.String,java.lang.Throwable)", "java.lang.ClassNotFoundException"); testedDeclaredConstructors_jdk7.put("public java.lang.ClassNotFoundException(java.lang.String)", "java.lang.ClassNotFoundException"); testedDeclaredConstructors_jdk7.put("public java.lang.ClassNotFoundException()", "java.lang.ClassNotFoundException"); // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/getField.java0000644000175000001440000000556212144113243026777 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().getField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassNotFoundException.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/getFields.java0000644000175000001440000000572012145112734027163 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().getFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassNotFoundException.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/isPrimitive.java0000644000175000001440000000323212137673641027567 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; /** * Test for method java.lang.ClassNotFoundException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/getSimpleName.java0000644000175000001440000000326512144634473030021 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; /** * Test for method java.lang.ClassNotFoundException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "ClassNotFoundException"); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/getEnclosingClass.java0000644000175000001440000000331712144400654030664 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().getEnclosingClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; /** * Test for method java.lang.ClassNotFoundException.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/isAnnotationPresent.java0000644000175000001440000000442012143132312031250 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; /** * Test for method java.lang.ClassNotFoundException.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/isSynthetic.java0000644000175000001440000000323212137673641027571 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; /** * Test for method java.lang.ClassNotFoundException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/isAnnotation.java0000644000175000001440000000323012143132312027705 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().isAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; /** * Test for method java.lang.ClassNotFoundException.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/isInstance.java0000644000175000001440000000332312142647523027360 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().isInstance(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; /** * Test for method java.lang.ClassNotFoundException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new ClassNotFoundException("java.lang.ClassNotFoundException"))); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/getDeclaredMethod.java0000644000175000001440000000662212140663761030631 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassNotFoundException.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("getException", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("getException", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/getDeclaredClasses.java0000644000175000001440000000337312144113243030773 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; /** * Test for method java.lang.ClassNotFoundException.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/getComponentType.java0000644000175000001440000000331312140415444030554 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().getComponentType() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; /** * Test for method java.lang.ClassNotFoundException.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/getMethod.java0000644000175000001440000001456012140663761027205 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().getMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassNotFoundException.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("getException", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("getException", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/isMemberClass.java0000644000175000001440000000324212137673641030015 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; /** * Test for method java.lang.ClassNotFoundException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/getConstructor.java0000644000175000001440000000757112140663760030315 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().getConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassNotFoundException.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.ClassNotFoundException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.ClassNotFoundException", new Class[] {java.lang.String.class}); constructorsThatShouldExist_jdk6.put("java.lang.ClassNotFoundException", new Class[] {java.lang.String.class, java.lang.Throwable.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.ClassNotFoundException", new Class[] {java.lang.String.class, java.lang.Throwable.class}); constructorsThatShouldExist_jdk7.put("java.lang.ClassNotFoundException", new Class[] {java.lang.String.class}); constructorsThatShouldExist_jdk7.put("java.lang.ClassNotFoundException", new Class[] {}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/getSuperclass.java0000644000175000001440000000444212142647523030107 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().getSuperclass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; /** * Test for method java.lang.ClassNotFoundException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); int version = getJavaVersion(); if (version == 6) harness.check(superClass.getName(), "java.lang.Exception"); else harness.check(superClass.getName(), "java.lang.ReflectiveOperationException"); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/isEnum.java0000644000175000001440000000320012143132312026474 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().isEnum() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; /** * Test for method java.lang.ClassNotFoundException.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/getMethods.java0000644000175000001440000002033112145112734027353 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().getMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassNotFoundException.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public java.lang.Throwable java.lang.ClassNotFoundException.getCause()", "getCause"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.ClassNotFoundException.getException()", "getException"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public java.lang.Throwable java.lang.ClassNotFoundException.getCause()", "getCause"); testedMethods_jdk7.put("public java.lang.Throwable java.lang.ClassNotFoundException.getException()", "getException"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/getAnnotations.java0000644000175000001440000000577312140415444030261 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().getAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.ClassNotFoundException.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/InstanceOf.java0000644000175000001440000000365712137673641027327 0ustar dokousers// Test for instanceof operator applied to a class java.lang.ClassNotFoundException // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.ClassNotFoundException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassNotFoundException ClassNotFoundException o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // basic check of instanceof operator harness.check(o instanceof ClassNotFoundException); // check operator instanceof against all superclasses harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/getDeclaringClass.java0000644000175000001440000000331712144113243030626 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().getDeclaringClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; /** * Test for method java.lang.ClassNotFoundException.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/getAnnotation.java0000644000175000001440000000510212140415444030060 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().getAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; /** * Test for method java.lang.ClassNotFoundException.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/isAnonymousClass.java0000644000175000001440000000325012143132312030553 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().isAnonymousClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; /** * Test for method java.lang.ClassNotFoundException.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/getEnclosingMethod.java0000644000175000001440000000333712144400655031042 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; /** * Test for method java.lang.ClassNotFoundException.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/isInterface.java0000644000175000001440000000323212142647523027513 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().isInterface(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; /** * Test for method java.lang.ClassNotFoundException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/getConstructors.java0000644000175000001440000001065112145112734030464 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().getConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassNotFoundException.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.ClassNotFoundException()", "java.lang.ClassNotFoundException"); testedConstructors_jdk6.put("public java.lang.ClassNotFoundException(java.lang.String)", "java.lang.ClassNotFoundException"); testedConstructors_jdk6.put("public java.lang.ClassNotFoundException(java.lang.String,java.lang.Throwable)", "java.lang.ClassNotFoundException"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.ClassNotFoundException(java.lang.String,java.lang.Throwable)", "java.lang.ClassNotFoundException"); testedConstructors_jdk7.put("public java.lang.ClassNotFoundException(java.lang.String)", "java.lang.ClassNotFoundException"); testedConstructors_jdk7.put("public java.lang.ClassNotFoundException()", "java.lang.ClassNotFoundException"); // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/isAssignableFrom.java0000644000175000001440000000331012142647523030504 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; /** * Test for method java.lang.ClassNotFoundException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(ClassNotFoundException.class)); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/getDeclaredAnnotations.java0000644000175000001440000000603312144113243031667 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.ClassNotFoundException.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/getDeclaredField.java0000644000175000001440000000577712144113243030433 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().getDeclaredField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ClassNotFoundException.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { "serialVersionUID", "ex", }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", "ex", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/isLocalClass.java0000644000175000001440000000323612142647523027637 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; /** * Test for method java.lang.ClassNotFoundException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/getEnclosingConstructor.java0000644000175000001440000000340112144400654032136 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; /** * Test for method java.lang.ClassNotFoundException.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/getCanonicalName.java0000644000175000001440000000331012140415444030435 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; /** * Test for method java.lang.ClassNotFoundException.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.ClassNotFoundException"); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/getName.java0000644000175000001440000000324712144634473026647 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().getName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; /** * Test for method java.lang.ClassNotFoundException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.ClassNotFoundException"); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/getClasses.java0000644000175000001440000000333312140415444027347 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().getClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; /** * Test for method java.lang.ClassNotFoundException.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/classInfo/isArray.java0000644000175000001440000000320412143132312026652 0ustar dokousers// Test for method java.lang.ClassNotFoundException.getClass().isArray() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ClassNotFoundException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; /** * Test for method java.lang.ClassNotFoundException.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ClassNotFoundException final Object o = new ClassNotFoundException("java.lang.ClassNotFoundException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/ClassNotFoundException/getException.java0000644000175000001440000000332211772610761025776 0ustar dokousers// Test of the method java.lang.ClassNotFoundException.getException() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.ClassNotFoundException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ClassNotFoundException; /** * Test of the method java.lang.ClassNotFoundException.getException() */ public class getException implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new ClassNotFoundException("ClassNotFoundException"); } catch (ClassNotFoundException e) { harness.check(e.getException(), null); // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/Float/0000755000175000001440000000000012375316450017137 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Float/new_Float.java0000644000175000001440000000335106634200723021716 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Float; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class new_Float implements Testlet { public void test (TestHarness harness) { // A few simple test cases. harness.check (new Float(22.0/7.0).toString (), "3.142857"); harness.check (new Float(Math.PI).toString (), "3.1415927"); harness.check (Float.valueOf (new Float(Math.PI).toString ()), new Float(Math.PI)); harness.check (Float.valueOf (new Float(-Math.PI).toString ()), new Float(-Math.PI)); harness.check (new Float(Float.MAX_VALUE).toString (), "3.4028235E38"); harness.check (new Float(-Float.MAX_VALUE).toString (), "-3.4028235E38"); harness.check (new Float(Float.POSITIVE_INFINITY).toString (), "Infinity"); harness.check (new Float(-Float.POSITIVE_INFINITY).toString (), "-Infinity"); harness.check (new Float(Float.NaN).toString (), "NaN"); } } mauve-20140821/gnu/testlet/java/lang/Float/FloatTest.java0000644000175000001440000003431110533116166021705 0ustar dokousers/* Copyright (C) 1999, 2002 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.0 package gnu.testlet.java.lang.Float; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class FloatTest implements Testlet { protected static TestHarness harness; public void test_Basics() { Float nan1 = new Float(0.0f/0.0f); Float nan2 = new Float(Float.NaN); float min1 = 1.4e-45f; float min2 = Float.MIN_VALUE; float max1 = 3.4028235e+38f; float max2 = Float.MAX_VALUE; float ninf1 = -1.0f/0.0f; float ninf2 = Float.NEGATIVE_INFINITY; float pinf1 = 1.0f/0.0f; float pinf2 = Float.POSITIVE_INFINITY; harness.check(!( min1 != min2 || max1 != max2 || ninf1 != ninf2 || pinf1 != pinf2 || !nan2.equals(nan1) ), "test_Basics - 1" ); Float i1 = new Float(100.5f); harness.check(!( i1.floatValue() != 100.5f ), "test_Basics - 2" ); try { harness.check(!( (new Float("234.34f")).floatValue() != 234.34f ), "test_Basics - 3" ); } catch ( NumberFormatException e ) { harness.fail("test_Basics - 3" ); } if (!System.getProperty("os.name").equals("VxWorks")){ // bug EJWcr00687, has not been fixed yet. // Test is disabled for smallvm 2.0.1 release. try { harness.check(!( (new Float("1.4e-45f")).floatValue() != 1.4e-45f ), "test_Basics - 4" ); } catch ( NumberFormatException e ) { harness.fail("test_Basics - 4" ); } } try { new Float("babu"); harness.fail("test_Basics - 5" ); } catch ( NumberFormatException e ) { } harness.check(!( (new Float(3.4)).floatValue() != 3.4f ), "test_Basics - 6" ); Float nan = new Float(Float.NaN ); harness.check(!( !nan.isNaN()), "test_Basics - 7" ); harness.check(!( (new Float(10.0f)).isNaN()), "test_Basics - 8" ); harness.check(!( !Float.isNaN( Float.NaN )), "test_Basics - 9" ); harness.check(!( !(new Float(Float.POSITIVE_INFINITY)).isInfinite()), "test_Basics - 10" ); harness.check(!( !(new Float(Float.NEGATIVE_INFINITY)).isInfinite()), "test_Basics - 11" ); harness.check(!( !(Float.isInfinite( Float.POSITIVE_INFINITY))), "test_Basics - 12" ); harness.check(!( !(Float.isInfinite( Float.NEGATIVE_INFINITY))), "test_Basics - 13" ); harness.check(!( Float.isInfinite( 2.30f )), "test_Basics - 14" ); } public void test_toString() { harness.check(!( !( new Float(123.0f)).toString().equals("123.0")), "test_toString - 1" ); harness.check(!( !( new Float(-44.5343f)).toString().equals("-44.5343")), "test_toString - 2" ); harness.check(!( !Float.toString( 23.04f ).equals ("23.04" )), "test_toString - 3" ); harness.check(!( !Float.toString( Float.NaN ).equals ("NaN" )), "test_toString - 4" ); harness.check(!( !Float.toString( Float.POSITIVE_INFINITY ).equals ("Infinity" )), "test_toString - 5" ); harness.check(!( !Float.toString( Float.NEGATIVE_INFINITY ).equals ("-Infinity" )), "test_toString - 6" ); harness.check(!( !Float.toString( 0.0f ).equals ("0.0" )), "test_toString - 7" ); String str; str = Float.toString( -0.0f ); harness.check(!( !str.equals ("-0.0" )), "test_toString - 8" ); str = Float.toString( -912125.45f); if ( !str.equals ("-912125.44" )) { harness.fail("test_toString - 9" ); System.out.println("Bug EJWcr00027"); System.out.println("expected '-912125.45', got '" + str + "'"); } // The following case fails for some Sun JDKs (e.g. 1.3.1 // and 1.4.0) where toString(0.001) returns "0.0010". This // is contrary to the JDK 1.4 javadoc. This particular // case has been noted as a comment to Sun Java bug #4642835 str = Float.toString( 0.001f ); harness.check(!( !Float.toString( 0.001f ).equals ("0.001" )), "test_toString - 10" ); str = Float.toString(33333333.33f ); if ( !(new Float( str)).equals(new Float(33333333.33f))) { harness.fail("test_toString - 11" ); System.out.println("Bug EJWcr00029"); int i = Float.floatToIntBits(new Float( str).floatValue()); int j = Float.floatToIntBits(new Float(33333333.33f).floatValue()); int k = Float.floatToIntBits(33333333.33f); System.out.println("ours = " + Integer.toHexString(i)); System.out.println("javac's = " + Integer.toHexString(j)); System.out.println("plain constant = " + Integer.toHexString(k)); } str = Float.toString(-123232324253.32f ); if ( !(new Float( str)).equals(new Float(-123232324253.32f))) { harness.fail("test_toString - 12" ); System.out.println("Bug EJWcr00030"); int i = Float.floatToIntBits(new Float( str).floatValue()); int j = Float.floatToIntBits(new Float(-123232324253.32f).floatValue()); int k = Float.floatToIntBits(-123232324253.32f); System.out.println("ours = " + Integer.toHexString(i)); System.out.println("javac's = " + Integer.toHexString(j)); System.out.println("plain constant = " + Integer.toHexString(k)); } str = Float.toString(1.243E10f); harness.check(!( !(new Float( str)).equals(new Float(1.243E10f))), "test_toString - 13" ); str = Float.toString(-23.43E33f); harness.check(!( !(new Float( str)).equals(new Float(-23.43E33f))), "test_toString - 14" ); str = Float.toString(Float.MIN_VALUE); if(!str.equals("1.4E-45")) { harness.fail("test_toString - 15" ); harness.debug("Expected : 1.4E-45"); harness.debug("Got: " + str); } } public void test_equals() { Float i1 = new Float(2334.34E4); Float i2 = new Float(-2334.34E4); harness.check(!( !i1.equals( new Float(2334.34E4))), "test_equals - 1" ); harness.check(!( !i2.equals( new Float(-2334.34E4))), "test_equals - 2" ); harness.check(!( i1.equals( i2 )), "test_equals - 3" ); harness.check(!( i1.equals(null)), "test_equals - 4" ); float n1 = Float.NaN; float n2 = Float.NaN; harness.check(!( n1 == n2 ), "test_equals - 5" ); Float flt1 = new Float( Float.NaN); Float flt2 = new Float( Float.NaN); harness.check(!( !flt1.equals(flt2)), "test_equals - 6" ); harness.check(!( 0.0f != -0.0f ), "test_equals - 7" ); Float pzero = new Float( 0.0f ); Float nzero = new Float( -0.0f ); harness.check(!( pzero.equals(nzero) ), "test_equals - 8" ); } public void test_hashCode( ) { Float flt1 = new Float(3.4028235e+38f); harness.check(!( flt1.hashCode() != Float.floatToIntBits( 3.4028235e+38f )), "test_hashCode - 1"); Float flt2 = new Float( -2343323354f ); harness.check(!( flt2.hashCode() != Float.floatToIntBits( -2343323354f )), "test_hashCode - 2"); } public void test_intValue( ) { Float b1 = new Float(3.4e+32f); Float b2 = new Float(-23.45f); int i1 = b1.intValue(); int i2 = b2.intValue(); harness.check(!( i1 != (int) 3.4e+32f), "test_intValue - 1" ); harness.check(!( i2 != (int) -23.45f ), "test_intValue - 2" ); } public void test_longValue( ) { Float b1 = new Float(3.4e+15f); Float b2 = new Float(-23.45f); float b3 = 3.4e+15f; long l3 = (long)b3; harness.check(!( b1.longValue() != l3), "test_longValue - 1" ); b3 = -23.45f; l3 = (long)b3; harness.check(!( b2.longValue() != l3), "test_longValue - 2" ); } public void test_floatValue( ) { Float b1 = new Float(3276.34f); Float b2 = new Float(-3276.32); harness.check(!( b1.floatValue() != 3276.34f ), "test_floatValue - 1" ); harness.check(!( b2.floatValue() != -3276.32f ), "test_floatValue - 2" ); } public void test_doubleValue( ) { Float b1 = new Float(0.0f); Float b2 = new Float(30.0f); harness.check(!( b1.doubleValue() != 0.0 ), "test_doubleValue - 1" ); harness.check(!( b2.doubleValue() != 30.0 ), "test_doubleValue - 2" ); } public void test_valueOf( ) { try { Float.valueOf(null); harness.fail("test_valueOf - 1" ); } catch ( NumberFormatException nfe ) {harness.check(false, "test_valueOf null should throw NullPointerException");} catch ( NullPointerException e ) {harness.check(true, "test_valueOf null");} try { Float.valueOf("Kona"); harness.fail("test_valueOf - 2" ); }catch( NumberFormatException e) {harness.check(true, "test_valueOf Kona");} try { harness.check(!( Float.valueOf( "3.4e+32f" ).floatValue() != 3.4e+32f ), "test_valueOf - 3" ); }catch( NumberFormatException e) {harness.check(false, "test_valueOf 3.4e+32f");} try { harness.check(!( Float.valueOf(" -23.45f ").floatValue() != -23.45f ), "test_valueOf - 4" ); }catch( NumberFormatException e) {harness.check(false, "test_valueOf \" -23.45f \"");} } public void test_parseFloat( ) { try { Float.parseFloat(null); harness.fail("test_parseFloat - 1" ); } catch ( NumberFormatException nfe ) {harness.check(false, "test_parseFloat null should throw NullPointerException");} catch ( NullPointerException e ) {harness.check(true, "test_parseFloat null");} try { Float.parseFloat("Kona"); harness.fail("test_parseFloat - 2" ); }catch( NumberFormatException e) {harness.check(true, "test_parseFloat Kona");} try { harness.check(!( Float.parseFloat( "3.4e+32f" ) != 3.4e+32f ), "test_parseFloat - 3" ); }catch( NumberFormatException e) {harness.check(false, "test_parseFloat 3.4e+32f");} try { harness.check(!( Float.parseFloat(" -23.45f ") != -23.45f ), "test_parseFloat - 4" ); }catch( NumberFormatException e) {harness.check(false, "test_parseFloat \" -23.45f \"");} } public void test_floatToIntBits() { harness.check(!( Float.floatToIntBits( Float.POSITIVE_INFINITY ) != 0x7f800000 ), "test_floatToIntBits - 1" ); harness.check(!( Float.floatToIntBits( Float.NEGATIVE_INFINITY ) != 0xff800000 ), "test_floatToIntBits - 2" ); int nanval = Float.floatToIntBits( Float.NaN ); harness.check(!( nanval != 0x7fc00000 ), "test_floatToIntBits - 3" ); int i1 = Float.floatToIntBits(3.4e+32f); int i2 = Float.floatToIntBits(-34.56f); int sign1 = i1 & 0x80000000 ; int sign2 = i2 & 0x80000000 ; int exp1 = i1 & 0x7f800000 ; int exp2 = i2 & 0x7f800000 ; int man1 = i1 & 0x007fffff ; int man2 = i2 & 0x007fffff ; harness.check(!(sign1 != 0 ), "test_floatToIntBits - 4" ); harness.check(!( sign2 != 0x80000000 ), "test_floatToIntBits - 5" ); harness.check(!( exp1 != 1971322880 ), "test_floatToIntBits - 6" ); harness.check(!( exp2 != 1107296256 ), "test_floatToIntBits - 7" ); harness.check(!( man1 != 400186 ), "test_floatToIntBits - 8" ); harness.check(!( man2 != 671089 ), "test_floatToIntBits - 9" ); } public void test_intBitsToFloat( ) { harness.check(!( Float.intBitsToFloat( 0x7f800000 ) != Float.POSITIVE_INFINITY ), "test_intBitsToFloat - 1" ); harness.check(!( Float.intBitsToFloat( 0xff800000 ) != Float.NEGATIVE_INFINITY ), "test_intBitsToFloat - 2" ); harness.check(!( !Float.isNaN(Float.intBitsToFloat( 0x7f800002 ))), "test_intBitsToFloat - 3" ); harness.check(!( !Float.isNaN(Float.intBitsToFloat( 0x7f8ffff0 ))), "test_intBitsToFloat - 4" ); harness.check(!( !Float.isNaN(Float.intBitsToFloat( 0xff800002 ) )), "test_intBitsToFloat - 5" ); harness.check(!( !Float.isNaN(Float.intBitsToFloat( 0xfffffff1 ))), "test_intBitsToFloat - 6" ); harness.check(!( !Float.isNaN(Float.intBitsToFloat( 0xffc00000 ))), "test_intBitsToFloat - 7" ); float fl1 = Float.intBitsToFloat( 0x34343f34 ); harness.check(!( fl1 != 1.67868e-007f ), "test_intBitsToFloat - 8" ); harness.check(!( Float.floatToIntBits( Float.intBitsToFloat(0x33439943)) != 0x33439943 ), "test_intBitsToFloat - 9"); } public void test_shortbyteValue() { Float d1 = new Float( 123.35 ); Float d2 = new Float( 400.35 ); Float d3 = new Float(0.0 ); harness.check(!( d1.shortValue() != 123 ), "test_shortbyteValue - 1" ); harness.check(!( d2.shortValue() != 400 ), "test_shortbyteValue - 2" ); harness.check(!( d3.shortValue() != 0 ), "test_shortbyteValue - 3" ); harness.check(!( d1.byteValue() != 123 ), "test_shortbyteValue - 4" ); harness.check(!( d2.byteValue() != (byte) 400 ), "test_shortbyteValue - 5" ); harness.check(!( d3.byteValue() != 0 ), "test_shortbyteValue - 6" ); } public void test_neg() { float zero = 0.0f; String zero1 = String.valueOf(zero); if (!zero1.equals("0.0")) { harness.fail("test_neg - 1"); } zero = -zero; String zero2 = String.valueOf(zero); if (!zero2.equals("-0.0")) { harness.fail("test_neg - 2"); } zero = -zero; String zero3 = String.valueOf(zero); if (!zero3.equals("0.0")) { harness.fail("test_neg - 3"); } float nonzero = -12.24f; String nonzero1 = String.valueOf(nonzero); if (!nonzero1.equals("-12.24")) { harness.fail("test_neg - 4"); } nonzero = -nonzero; String nonzero2 = String.valueOf(nonzero); if (!nonzero2.equals("12.24")) { harness.fail("test_neg - 5"); } nonzero = -nonzero; String nonzero3 = String.valueOf(nonzero); if (!nonzero3.equals("-12.24")) { harness.fail("test_neg - 6"); } } public void testall() { test_Basics(); test_toString(); test_equals(); test_hashCode(); test_intValue(); test_longValue(); test_floatValue(); test_doubleValue(); test_shortbyteValue(); test_valueOf(); test_parseFloat(); test_floatToIntBits(); test_intBitsToFloat(); test_neg(); } public void test (TestHarness the_harness) { harness = the_harness; testall (); } } mauve-20140821/gnu/testlet/java/lang/Float/compare.java0000644000175000001440000000406410113714747021433 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2004 David Gilbert //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.Float; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Some tests for the compare() method in the {@link Float} class. */ public class compare implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.check(Float.compare(0.0f, 1.0f) < 0); harness.check(Float.compare(0.0f, 0.0f) == 0); harness.check(Float.compare(1.0f, 0.0f) > 0); harness.check(Float.compare(Float.POSITIVE_INFINITY, 0.0f) > 0); harness.check(Float.compare(Float.POSITIVE_INFINITY, Float.POSITIVE_INFINITY) == 0); harness.check(Float.compare(0.0f, Float.POSITIVE_INFINITY) < 0); harness.check(Float.compare(Float.NEGATIVE_INFINITY, 0.0f) < 0); harness.check(Float.compare(Float.NEGATIVE_INFINITY, Float.NEGATIVE_INFINITY) == 0); harness.check(Float.compare(0.0f, Float.NEGATIVE_INFINITY) > 0); harness.check(Float.compare(Float.NaN, 0.0f) > 0); harness.check(Float.compare(Float.NaN, Float.NaN) == 0); harness.check(Float.compare(0.0f, Float.NaN) < 0); harness.check(Float.compare(0.0f, -0.0f) > 0); harness.check(Float.compare(-0.0f, 0.0f) < 0); } }mauve-20140821/gnu/testlet/java/lang/Float/toHexString.java0000644000175000001440000000477011632421517022264 0ustar dokousers/* toHexString.java -- test Float.toHexString Copyright (C) 2005 Red Hat, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.java.lang.Float; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * @author Tom Tromey * @author Pavel Tisnovsky (ptisnovs at redhat dot com) */ public class toHexString implements Testlet { public void test(TestHarness harness) { // special cases harness.check(Float.toHexString(Float.NaN), "NaN"); harness.check(Float.toHexString(Float.POSITIVE_INFINITY), "Infinity"); harness.check(Float.toHexString(Float.NEGATIVE_INFINITY), "-Infinity"); harness.check(Float.toHexString(0.0f), "0x0.0p0"); harness.check(Float.toHexString(-0.0f), "-0x0.0p0"); // normalized values harness.check(Float.toHexString(0.125f), "0x1.0p-3"); harness.check(Float.toHexString(0.25f), "0x1.0p-2"); harness.check(Float.toHexString(0.5f), "0x1.0p-1"); harness.check(Float.toHexString(1.0f), "0x1.0p0"); harness.check(Float.toHexString(2.0f), "0x1.0p1"); harness.check(Float.toHexString(4.0f), "0x1.0p2"); harness.check(Float.toHexString(8.0f), "0x1.0p3"); harness.check(Float.toHexString(65536.0f), "0x1.0p16"); // 2^10 harness.check(Float.toHexString(1024.0f), "0x1.0p10"); // 2^20 harness.check(Float.toHexString(1048576.0f), "0x1.0p20"); // 2^30 harness.check(Float.toHexString(1073741824.0f), "0x1.0p30"); // subnormalized values harness.check(Float.toHexString( Float.intBitsToFloat(0x00800000)), "0x1.0p-126"); harness.check(Float.toHexString(-Float.intBitsToFloat(0x00800000)), "-0x1.0p-126"); // max and min representable values harness.check(Float.toHexString(Float.MAX_VALUE), "0x1.fffffep127"); harness.check(Float.toHexString(Float.MIN_VALUE), "0x0.000002p-126"); } } mauve-20140821/gnu/testlet/java/lang/Float/floatToInt.java0000644000175000001440000000464012062575642022074 0ustar dokousers// Test the conversion between float and int. // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA package gnu.testlet.java.lang.Float; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test the conversion between float and int. */ public class floatToInt implements Testlet { /** * Entry point to this test. */ public void test(TestHarness harness) { testZero(harness); testPositiveValue(harness); testNegativeValue(harness); testNaN(harness); testPositiveInfinity(harness); testNegativeInfinity(harness); } public void testZero(TestHarness harness) { float value = 0.0f; boolean result = (int)value == 0; harness.check(result); } public void testPositiveValue(TestHarness harness) { float value = 123.456f; boolean result = (int)value == 123; harness.check(result); value = 456.789f; result = (int)value == 456; harness.check(result); } public void testNegativeValue(TestHarness harness) { float value = -123.456f; boolean result = (int)value == -123; harness.check(result); value = -456.789f; result = (int)value == -456; harness.check(result); } public void testNaN(TestHarness harness) { float value = 0.0f / 0.0f; boolean result = (int)value == 0; harness.check(result); } public void testPositiveInfinity(TestHarness harness) { float value = 100.0f / 0.0f; boolean result = (int)value == 0x7fffffff; harness.check(result); } public void testNegativeInfinity(TestHarness harness) { float value = -100.0f / 0.0f; boolean result = (int)value == 0x80000000; harness.check(result); } } mauve-20140821/gnu/testlet/java/lang/Float/compareTo.java0000644000175000001440000000637310544512702021736 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.Float; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Some tests for the compareTo() method in the {@link Float} class. */ public class compareTo implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("compareTo(Float)"); Float f1 = new Float(Float.NEGATIVE_INFINITY); Float f2 = new Float(-1.0); Float f3 = new Float(0.0); Float f4 = new Float(1.0); Float f5 = new Float(Float.POSITIVE_INFINITY); harness.check(f1.compareTo(f1) == 0); harness.check(f1.compareTo(f2) < 0); harness.check(f1.compareTo(f3) < 0); harness.check(f1.compareTo(f4) < 0); harness.check(f1.compareTo(f5) < 0); harness.check(f2.compareTo(f1) > 0); harness.check(f2.compareTo(f2) == 0); harness.check(f2.compareTo(f3) < 0); harness.check(f2.compareTo(f4) < 0); harness.check(f2.compareTo(f5) < 0); harness.check(f3.compareTo(f1) > 0); harness.check(f3.compareTo(f2) > 0); harness.check(f3.compareTo(f3) == 0); harness.check(f3.compareTo(f4) < 0); harness.check(f3.compareTo(f5) < 0); harness.check(f4.compareTo(f1) > 0); harness.check(f4.compareTo(f2) > 0); harness.check(f4.compareTo(f3) > 0); harness.check(f4.compareTo(f4) == 0); harness.check(f4.compareTo(f5) < 0); harness.check(f5.compareTo(f1) > 0); harness.check(f5.compareTo(f2) > 0); harness.check(f5.compareTo(f3) > 0); harness.check(f5.compareTo(f4) > 0); harness.check(f5.compareTo(f5) == 0); boolean pass = false; try { f1.compareTo((Float) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void test2(TestHarness harness) { harness.checkPoint("compareTo(Object)"); Float f1 = new Float(Float.NEGATIVE_INFINITY); boolean pass = false; try { ((Comparable)f1).compareTo((Object) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { ((Comparable)f1).compareTo("Not a Float!"); } catch (ClassCastException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/lang/Float/floatToLong.java0000644000175000001440000000467512062575642022251 0ustar dokousers// Test the conversion between float and long. // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA package gnu.testlet.java.lang.Float; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test the conversion between float and long. */ public class floatToLong implements Testlet { /** * Entry point to this test. */ public void test(TestHarness harness) { testZero(harness); testPositiveValue(harness); testNegativeValue(harness); testNaN(harness); testPositiveInfinity(harness); testNegativeInfinity(harness); } public void testZero(TestHarness harness) { float value = 0.0f; boolean result = (long)value == 0; harness.check(result); } public void testPositiveValue(TestHarness harness) { float value = 123.456f; boolean result = (long)value == 123; harness.check(result); value = 456.789f; result = (long)value == 456; harness.check(result); } public void testNegativeValue(TestHarness harness) { float value = -123.456f; boolean result = (long)value == -123; harness.check(result); value = -456.789f; result = (long)value == -456; harness.check(result); } public void testNaN(TestHarness harness) { float value = 0.0f / 0.0f; boolean result = (long)value == 0; harness.check(result); } public void testPositiveInfinity(TestHarness harness) { float value = 100.0f / 0.0f; boolean result = (long)value == 0x7fffffffffffffffL; harness.check(result); } public void testNegativeInfinity(TestHarness harness) { float value = -100.0f / 0.0f; boolean result = (long)value == 0x8000000000000000L; harness.check(result); } } mauve-20140821/gnu/testlet/java/lang/Float/classInfo/0000755000175000001440000000000012375316426021063 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Float/classInfo/getPackage.java0000644000175000001440000000303011751765133023755 0ustar dokousers// Test for method java.lang.Float.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Float.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Float; /** * Test for method java.lang.Float.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Float(42.0f); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/Float/classInfo/getInterfaces.java0000644000175000001440000000316611751765133024517 0ustar dokousers// Test for method java.lang.Float.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Float.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Float; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.Float.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Float(42.0f); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); harness.check(interfaces.contains(Comparable.class)); } } mauve-20140821/gnu/testlet/java/lang/Float/classInfo/getModifiers.java0000644000175000001440000000426111751765133024352 0ustar dokousers// Test for method java.lang.Float.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Float.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Float; import java.lang.reflect.Modifier; /** * Test for method java.lang.Float.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Float(42.0f); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check( Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/Float/classInfo/isPrimitive.java0000644000175000001440000000276511751765133024244 0ustar dokousers// Test for method java.lang.Float.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Float.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Float; /** * Test for method java.lang.Float.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Float(42.0f); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/Float/classInfo/getSimpleName.java0000644000175000001440000000277711751765133024475 0ustar dokousers// Test for method java.lang.Float.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Float.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Float; /** * Test for method java.lang.Float.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Float(42.0f); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "Float"); } } mauve-20140821/gnu/testlet/java/lang/Float/classInfo/isAnnotationPresent.java0000644000175000001440000000415212026304116025721 0ustar dokousers// Test for method java.lang.Float.getClass().isAnnotationPresent() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Float.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Float; /** * Test for method java.lang.Float.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Float Object o = new Float(42.0f); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/Float/classInfo/isSynthetic.java0000644000175000001440000000276511751765133024246 0ustar dokousers// Test for method java.lang.Float.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Float.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Float; /** * Test for method java.lang.Float.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Float(42.0f); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/Float/classInfo/isAnnotation.java0000644000175000001440000000276212026304116024365 0ustar dokousers// Test for method java.lang.Float.getClass().isAnnotation() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Float.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Float; /** * Test for method java.lang.Float.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Float Object o = new Float(42.0f); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/Float/classInfo/isInstance.java0000644000175000001440000000300011751765133024017 0ustar dokousers// Test for method java.lang.Float.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Float.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Float; /** * Test for method java.lang.Float.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Float(42.0f); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new Float(42.0f))); } } mauve-20140821/gnu/testlet/java/lang/Float/classInfo/isMemberClass.java0000644000175000001440000000277511751765133024472 0ustar dokousers// Test for method java.lang.Float.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Float.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Float; /** * Test for method java.lang.Float.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Float(42.0f); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/Float/classInfo/getSuperclass.java0000644000175000001440000000307311751765133024555 0ustar dokousers// Test for method java.lang.Float.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Float.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Float; /** * Test for method java.lang.Float.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Float(42.0f); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.Number"); } } mauve-20140821/gnu/testlet/java/lang/Float/classInfo/isEnum.java0000644000175000001440000000273212026304116023154 0ustar dokousers// Test for method java.lang.Float.getClass().isEnum() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Float.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Float; /** * Test for method java.lang.Float.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Float Object o = new Float(42.0f); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/Float/classInfo/InstanceOf.java0000644000175000001440000000324211751765133023760 0ustar dokousers// Test for instanceof operator applied to a class java.lang.Float // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Float.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Float; import java.lang.Number; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.Float */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Float Float o = new Float(42.0f); // basic check of instanceof operator harness.check(o instanceof Float); // check operator instanceof against all superclasses harness.check(o instanceof Number); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/Float/classInfo/isAnonymousClass.java0000644000175000001440000000300212026304116025215 0ustar dokousers// Test for method java.lang.Float.getClass().isAnonymousClass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Float.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Float; /** * Test for method java.lang.Float.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Float Object o = new Float(42.0f); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/Float/classInfo/isInterface.java0000644000175000001440000000276511751765133024174 0ustar dokousers// Test for method java.lang.Float.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Float.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Float; /** * Test for method java.lang.Float.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Float(42.0f); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/Float/classInfo/isAssignableFrom.java0000644000175000001440000000302211751765133025153 0ustar dokousers// Test for method java.lang.Float.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Float.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Float; /** * Test for method java.lang.Float.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Float(42.0f); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(Float.class)); } } mauve-20140821/gnu/testlet/java/lang/Float/classInfo/isLocalClass.java0000644000175000001440000000277111751765133024311 0ustar dokousers// Test for method java.lang.Float.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Float.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Float; /** * Test for method java.lang.Float.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Float(42.0f); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/Float/classInfo/getName.java0000644000175000001440000000276111751765133023314 0ustar dokousers// Test for method java.lang.Float.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Float.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Float; /** * Test for method java.lang.Float.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Float(42.0f); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.lang.Float"); } } mauve-20140821/gnu/testlet/java/lang/Float/classInfo/isArray.java0000644000175000001440000000273612026304116023332 0ustar dokousers// Test for method java.lang.Float.getClass().isArray() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Float.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Float; /** * Test for method java.lang.Float.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Float Object o = new Float(42.0f); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/Float/parseFloat.java0000644000175000001440000001056110134050264022072 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Float; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Some checks for the parseFloat() method in the {@link Float} class. */ public class parseFloat implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testRegular(harness); testInfinities(harness); testNaN(harness); } /** * Tests some regular values. * * @param harness the test harness. */ public void testRegular(TestHarness harness) { harness.check(Float.parseFloat("1.0"), 1.0f); harness.check(Float.parseFloat("+1.0"), 1.0f); harness.check(Float.parseFloat("-1.0"), -1.0f); harness.check(Float.parseFloat(" 1.0 "), 1.0f); harness.check(Float.parseFloat(" -1.0 "), -1.0f); harness.check(Float.parseFloat("2."), 2.0f); harness.check(Float.parseFloat(".3"), 0.3f); harness.check(Float.parseFloat("1e-9"), 1e-9f); harness.check(Float.parseFloat("1e37"), 1e37f); // test some bad formats try { /* float f = */ Float.parseFloat(""); harness.check(false); } catch (NumberFormatException e) { harness.check(true); } try { /* float f = */ Float.parseFloat("X"); harness.check(false); } catch (NumberFormatException e) { harness.check(true); } try { /* float f = */ Float.parseFloat("e"); harness.check(false); } catch (NumberFormatException e) { harness.check(true); } try { /* float f = */ Float.parseFloat("+ 1.0"); harness.check(false); } catch (NumberFormatException e) { harness.check(true); } try { /* float f = */ Float.parseFloat("- 1.0"); harness.check(false); } catch (NumberFormatException e) { harness.check(true); } // null argument should throw NullPointerException try { /* float f = */ Float.parseFloat(null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } } /** * Some checks for values that should parse to Double.POSITIVE_INFINITY * or Double.NEGATIVE_INFINITY. * * @param harness the test harness. */ public void testInfinities(TestHarness harness) { try { harness.check(Float.parseFloat("Infinity"), Float.POSITIVE_INFINITY); harness.check(Float.parseFloat("+Infinity"), Float.POSITIVE_INFINITY); harness.check(Float.parseFloat("-Infinity"), Float.NEGATIVE_INFINITY); harness.check(Float.parseFloat(" +Infinity "), Float.POSITIVE_INFINITY); harness.check(Float.parseFloat(" -Infinity "), Float.NEGATIVE_INFINITY); } catch (Exception e) { harness.check(false); harness.debug(e); } harness.check(Float.parseFloat("1e1000"), Float.POSITIVE_INFINITY); harness.check(Float.parseFloat("-1e1000"), Float.NEGATIVE_INFINITY); } /** * Some checks for 'NaN' values. * * @param harness the test harness. */ public void testNaN(TestHarness harness) { try { harness.check(Float.isNaN(Float.parseFloat("NaN"))); harness.check(Float.isNaN(Float.parseFloat("+NaN"))); harness.check(Float.isNaN(Float.parseFloat("-NaN"))); harness.check(Float.isNaN(Float.parseFloat(" +NaN "))); harness.check(Float.isNaN(Float.parseFloat(" -NaN "))); } catch (Exception e) { harness.check(false); harness.debug(e); } } } mauve-20140821/gnu/testlet/java/lang/Float/valueOf.java0000644000175000001440000001101310134050264021364 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Float; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Some checks for the valueOf() method in the {@link Float} class. */ public class valueOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testRegular(harness); testInfinities(harness); testNaN(harness); } /** * Tests some regular values. * * @param harness the test harness. */ public void testRegular(TestHarness harness) { harness.check(Float.valueOf("1.0"), new Float(1.0f)); harness.check(Float.valueOf("+1.0"), new Float(1.0f)); harness.check(Float.valueOf("-1.0"), new Float(-1.0f)); harness.check(Float.valueOf(" 1.0 "), new Float(1.0f)); harness.check(Float.valueOf(" -1.0 "), new Float(-1.0f)); harness.check(Float.valueOf("2."), new Float(2.0f)); harness.check(Float.valueOf(".3"), new Float(0.3f)); harness.check(Float.valueOf("1e-9"), new Float(1e-9f)); harness.check(Float.valueOf("1e37"), new Float(1e37f)); // test some bad formats try { /* Float f = */ Float.valueOf(""); harness.check(false); } catch (NumberFormatException e) { harness.check(true); } try { /* Float f = */ Float.valueOf("X"); harness.check(false); } catch (NumberFormatException e) { harness.check(true); } try { /* Float f = */ Float.valueOf("e"); harness.check(false); } catch (NumberFormatException e) { harness.check(true); } try { /* Float f = */ Float.valueOf("+ 1.0"); harness.check(false); } catch (NumberFormatException e) { harness.check(true); } try { /* Float f = */ Float.valueOf("- 1.0"); harness.check(false); } catch (NumberFormatException e) { harness.check(true); } // null argument should throw NullPointerException try { /* Float f = */ Float.valueOf(null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } } /** * Some checks for values that should parse to Double.POSITIVE_INFINITY * or Double.NEGATIVE_INFINITY. * * @param harness the test harness. */ public void testInfinities(TestHarness harness) { try { harness.check(Float.valueOf("Infinity"), new Float(Float.POSITIVE_INFINITY)); harness.check(Float.valueOf("+Infinity"), new Float(Float.POSITIVE_INFINITY)); harness.check(Float.valueOf("-Infinity"), new Float(Float.NEGATIVE_INFINITY)); harness.check(Float.valueOf(" +Infinity "), new Float(Float.POSITIVE_INFINITY)); harness.check(Float.valueOf(" -Infinity "), new Float(Float.NEGATIVE_INFINITY)); } catch (Exception e) { harness.check(false); harness.debug(e); } harness.check(Float.valueOf("1e1000"), new Float(Float.POSITIVE_INFINITY)); harness.check(Float.valueOf("-1e1000"), new Float(Float.NEGATIVE_INFINITY)); } /** * Some checks for 'NaN' values. * * @param harness the test harness. */ public void testNaN(TestHarness harness) { try { harness.check(Float.isNaN(Float.valueOf("NaN").floatValue())); harness.check(Float.isNaN(Float.valueOf("+NaN").floatValue())); harness.check(Float.isNaN(Float.valueOf("-NaN").floatValue())); harness.check(Float.isNaN(Float.valueOf(" +NaN ").floatValue())); harness.check(Float.isNaN(Float.valueOf(" -NaN ").floatValue())); } catch (Exception e) { harness.check(false); harness.debug(e); } } } mauve-20140821/gnu/testlet/java/lang/StackOverflowError/0000755000175000001440000000000012375316426021700 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/StackOverflowError/constructor.java0000644000175000001440000000336412060367510025125 0ustar dokousers// Test if constructor is working properly for a class java.lang.StackOverflowError // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StackOverflowError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StackOverflowError; /** * Test if constructor is working properly for a class java.lang.StackOverflowError */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { StackOverflowError error1 = new StackOverflowError(); harness.check(error1 != null); harness.check(error1.toString(), "java.lang.StackOverflowError"); StackOverflowError error2 = new StackOverflowError("nothing happens"); harness.check(error2 != null); harness.check(error2.toString(), "java.lang.StackOverflowError: nothing happens"); } } mauve-20140821/gnu/testlet/java/lang/StackOverflowError/TryCatch.java0000644000175000001440000000327412060367507024267 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.StackOverflowError // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StackOverflowError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StackOverflowError; /** * Test if try-catch block is working properly for a class java.lang.StackOverflowError */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new StackOverflowError("StackOverflowError"); } catch (StackOverflowError e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/StackOverflowError/classInfo/0000755000175000001440000000000012375316426023621 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/StackOverflowError/classInfo/getPackage.java0000644000175000001440000000322112060367510026504 0ustar dokousers// Test for method java.lang.StackOverflowError.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StackOverflowError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StackOverflowError; /** * Test for method java.lang.StackOverflowError.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StackOverflowError final Object o = new StackOverflowError("StackOverflowError"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/StackOverflowError/classInfo/getDeclaredMethods.java0000644000175000001440000000615312060367510030207 0ustar dokousers// Test for method java.lang.StackOverflowError.getClass().getDeclaredMethods() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StackOverflowError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StackOverflowError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.StackOverflowError.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class StackOverflowError final Object o = new StackOverflowError("StackOverflowError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/StackOverflowError/classInfo/getInterfaces.java0000644000175000001440000000326112060367510027240 0ustar dokousers// Test for method java.lang.StackOverflowError.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StackOverflowError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StackOverflowError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.StackOverflowError.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StackOverflowError final Object o = new StackOverflowError("StackOverflowError"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/StackOverflowError/classInfo/getModifiers.java0000644000175000001440000000445212060367510027101 0ustar dokousers// Test for method java.lang.StackOverflowError.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StackOverflowError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StackOverflowError; import java.lang.reflect.Modifier; /** * Test for method java.lang.StackOverflowError.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StackOverflowError final Object o = new StackOverflowError("StackOverflowError"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/StackOverflowError/classInfo/getDeclaredFields.java0000644000175000001440000000710712060367510030012 0ustar dokousers// Test for method java.lang.StackOverflowError.getClass().getDeclaredFields() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StackOverflowError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StackOverflowError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.StackOverflowError.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.StackOverflowError.serialVersionUID", "serialVersionUID"); // create instance of a class StackOverflowError final Object o = new StackOverflowError("StackOverflowError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/StackOverflowError/classInfo/getDeclaredConstructors.java0000644000175000001440000001041612060367510031311 0ustar dokousers// Test for method java.lang.StackOverflowError.getClass().getDeclaredConstructors() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StackOverflowError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StackOverflowError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.StackOverflowError.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.StackOverflowError()", "java.lang.StackOverflowError"); testedDeclaredConstructors_jdk7.put("public java.lang.StackOverflowError(java.lang.String)", "java.lang.StackOverflowError"); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.StackOverflowError()", "java.lang.StackOverflowError"); testedDeclaredConstructors_jdk6.put("public java.lang.StackOverflowError(java.lang.String)", "java.lang.StackOverflowError"); // create instance of a class StackOverflowError final Object o = new StackOverflowError("StackOverflowError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/StackOverflowError/classInfo/getFields.java0000644000175000001440000000564412060367510026372 0ustar dokousers// Test for method java.lang.StackOverflowError.getClass().getFields() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StackOverflowError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StackOverflowError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.StackOverflowError.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class StackOverflowError final Object o = new StackOverflowError("StackOverflowError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/StackOverflowError/classInfo/isPrimitive.java0000644000175000001440000000315612060367510026764 0ustar dokousers// Test for method java.lang.StackOverflowError.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StackOverflowError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StackOverflowError; /** * Test for method java.lang.StackOverflowError.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StackOverflowError final Object o = new StackOverflowError("StackOverflowError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/StackOverflowError/classInfo/getSimpleName.java0000644000175000001440000000320512060367510027205 0ustar dokousers// Test for method java.lang.StackOverflowError.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StackOverflowError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StackOverflowError; /** * Test for method java.lang.StackOverflowError.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StackOverflowError final Object o = new StackOverflowError("StackOverflowError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "StackOverflowError"); } } mauve-20140821/gnu/testlet/java/lang/StackOverflowError/classInfo/isAnnotationPresent.java0000644000175000001440000000434412060367510030467 0ustar dokousers// Test for method java.lang.StackOverflowError.getClass().isAnnotationPresent() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StackOverflowError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StackOverflowError; /** * Test for method java.lang.StackOverflowError.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StackOverflowError final Object o = new StackOverflowError("StackOverflowError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/StackOverflowError/classInfo/isSynthetic.java0000644000175000001440000000315612060367510026766 0ustar dokousers// Test for method java.lang.StackOverflowError.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StackOverflowError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StackOverflowError; /** * Test for method java.lang.StackOverflowError.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StackOverflowError final Object o = new StackOverflowError("StackOverflowError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/StackOverflowError/classInfo/isAnnotation.java0000644000175000001440000000315412060367510027124 0ustar dokousers// Test for method java.lang.StackOverflowError.getClass().isAnnotation() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StackOverflowError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StackOverflowError; /** * Test for method java.lang.StackOverflowError.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StackOverflowError final Object o = new StackOverflowError("StackOverflowError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/StackOverflowError/classInfo/isInstance.java0000644000175000001440000000322512060367510026555 0ustar dokousers// Test for method java.lang.StackOverflowError.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StackOverflowError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StackOverflowError; /** * Test for method java.lang.StackOverflowError.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StackOverflowError final Object o = new StackOverflowError("StackOverflowError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new StackOverflowError("StackOverflowError"))); } } mauve-20140821/gnu/testlet/java/lang/StackOverflowError/classInfo/isMemberClass.java0000644000175000001440000000316612060367510027212 0ustar dokousers// Test for method java.lang.StackOverflowError.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StackOverflowError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StackOverflowError; /** * Test for method java.lang.StackOverflowError.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StackOverflowError final Object o = new StackOverflowError("StackOverflowError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/StackOverflowError/classInfo/getSuperclass.java0000644000175000001440000000330112060367510027274 0ustar dokousers// Test for method java.lang.StackOverflowError.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StackOverflowError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StackOverflowError; /** * Test for method java.lang.StackOverflowError.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StackOverflowError final Object o = new StackOverflowError("StackOverflowError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.VirtualMachineError"); } } mauve-20140821/gnu/testlet/java/lang/StackOverflowError/classInfo/isEnum.java0000644000175000001440000000312412060367510025713 0ustar dokousers// Test for method java.lang.StackOverflowError.getClass().isEnum() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StackOverflowError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StackOverflowError; /** * Test for method java.lang.StackOverflowError.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StackOverflowError final Object o = new StackOverflowError("StackOverflowError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/StackOverflowError/classInfo/getMethods.java0000644000175000001440000001764412060367510026572 0ustar dokousers// Test for method java.lang.StackOverflowError.getClass().getMethods() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StackOverflowError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StackOverflowError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.StackOverflowError.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class StackOverflowError final Object o = new StackOverflowError("StackOverflowError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/StackOverflowError/classInfo/InstanceOf.java0000644000175000001440000000372212060367510026510 0ustar dokousers// Test for instanceof operator applied to a class java.lang.StackOverflowError // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StackOverflowError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StackOverflowError; import java.lang.VirtualMachineError; import java.lang.Error; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.StackOverflowError */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StackOverflowError StackOverflowError o = new StackOverflowError("StackOverflowError"); // basic check of instanceof operator harness.check(o instanceof StackOverflowError); // check operator instanceof against all superclasses harness.check(o instanceof VirtualMachineError); harness.check(o instanceof Error); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/StackOverflowError/classInfo/isAnonymousClass.java0000644000175000001440000000317412060367510027772 0ustar dokousers// Test for method java.lang.StackOverflowError.getClass().isAnonymousClass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StackOverflowError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StackOverflowError; /** * Test for method java.lang.StackOverflowError.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StackOverflowError final Object o = new StackOverflowError("StackOverflowError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/StackOverflowError/classInfo/isInterface.java0000644000175000001440000000315612060367510026714 0ustar dokousers// Test for method java.lang.StackOverflowError.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StackOverflowError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StackOverflowError; /** * Test for method java.lang.StackOverflowError.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StackOverflowError final Object o = new StackOverflowError("StackOverflowError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/StackOverflowError/classInfo/getConstructors.java0000644000175000001440000001005112060367510027660 0ustar dokousers// Test for method java.lang.StackOverflowError.getClass().getConstructors() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StackOverflowError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StackOverflowError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.StackOverflowError.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.StackOverflowError()", "java.lang.StackOverflowError"); testedConstructors_jdk6.put("public java.lang.StackOverflowError(java.lang.String)", "java.lang.StackOverflowError"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.StackOverflowError()", "java.lang.StackOverflowError"); testedConstructors_jdk7.put("public java.lang.StackOverflowError(java.lang.String)", "java.lang.StackOverflowError"); // create instance of a class StackOverflowError final Object o = new StackOverflowError("StackOverflowError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/StackOverflowError/classInfo/isAssignableFrom.java0000644000175000001440000000323012060367510027701 0ustar dokousers// Test for method java.lang.StackOverflowError.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StackOverflowError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StackOverflowError; /** * Test for method java.lang.StackOverflowError.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StackOverflowError final Object o = new StackOverflowError("StackOverflowError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(StackOverflowError.class)); } } mauve-20140821/gnu/testlet/java/lang/StackOverflowError/classInfo/isLocalClass.java0000644000175000001440000000316212060367510027031 0ustar dokousers// Test for method java.lang.StackOverflowError.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StackOverflowError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StackOverflowError; /** * Test for method java.lang.StackOverflowError.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StackOverflowError final Object o = new StackOverflowError("StackOverflowError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/StackOverflowError/classInfo/getName.java0000644000175000001440000000316712060367510026042 0ustar dokousers// Test for method java.lang.StackOverflowError.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StackOverflowError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StackOverflowError; /** * Test for method java.lang.StackOverflowError.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StackOverflowError final Object o = new StackOverflowError("StackOverflowError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.StackOverflowError"); } } mauve-20140821/gnu/testlet/java/lang/StackOverflowError/classInfo/isArray.java0000644000175000001440000000313012060367510026062 0ustar dokousers// Test for method java.lang.StackOverflowError.getClass().isArray() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StackOverflowError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StackOverflowError; /** * Test for method java.lang.StackOverflowError.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StackOverflowError final Object o = new StackOverflowError("StackOverflowError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/Package/0000755000175000001440000000000012375316426017430 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Package/getPackage.java0000644000175000001440000000254410170061706022320 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004, 2005 Free Software Foundation, Inc. // Contributed by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Package; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class getPackage implements Testlet { public void test (TestHarness harness) { String name = "gnu.testlet.java.lang.Package"; Package p = Package.getPackage(name); if (p != null) harness.check(name, p.getName()); else harness.debug("getPackage() returned null"); p = Package.getPackage("java.lang"); harness.check(p != null, "checking package for 'java.lang'"); } } mauve-20140821/gnu/testlet/java/lang/Package/classInfo/0000755000175000001440000000000012375316426021351 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Package/classInfo/getPackage.java0000644000175000001440000000305711756710570024254 0ustar dokousers// Test for method java.lang.Package.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Package.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Package; /** * Test for method java.lang.Package.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = Package.getPackage("java.lang"); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/Package/classInfo/getInterfaces.java0000644000175000001440000000327611756710570025007 0ustar dokousers// Test for method java.lang.Package.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Package.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Package; import java.lang.reflect.AnnotatedElement; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.Package.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = Package.getPackage("java.lang"); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); harness.check(interfaces.contains(AnnotatedElement.class)); } } mauve-20140821/gnu/testlet/java/lang/Package/classInfo/getModifiers.java0000644000175000001440000000431011756710570024633 0ustar dokousers// Test for method java.lang.Package.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Package.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Package; import java.lang.reflect.Modifier; /** * Test for method java.lang.Package.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = Package.getPackage("java.lang"); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/Package/classInfo/isPrimitive.java0000644000175000001440000000301411756710570024516 0ustar dokousers// Test for method java.lang.Package.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Package.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Package; /** * Test for method java.lang.Package.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = Package.getPackage("java.lang"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/Package/classInfo/getSimpleName.java0000644000175000001440000000303011756710570024742 0ustar dokousers// Test for method java.lang.Package.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Package.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Package; /** * Test for method java.lang.Package.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = Package.getPackage("java.lang"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "Package"); } } mauve-20140821/gnu/testlet/java/lang/Package/classInfo/isSynthetic.java0000644000175000001440000000301411756710570024520 0ustar dokousers// Test for method java.lang.Package.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Package.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Package; /** * Test for method java.lang.Package.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = Package.getPackage("java.lang"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/Package/classInfo/isInstance.java0000644000175000001440000000304611756710570024317 0ustar dokousers// Test for method java.lang.Package.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Package.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Package; /** * Test for method java.lang.Package.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = Package.getPackage("java.lang"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(Package.getPackage("java.lang"))); } } mauve-20140821/gnu/testlet/java/lang/Package/classInfo/isMemberClass.java0000644000175000001440000000302411756710570024744 0ustar dokousers// Test for method java.lang.Package.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Package.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Package; /** * Test for method java.lang.Package.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = Package.getPackage("java.lang"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/Package/classInfo/getSuperclass.java0000644000175000001440000000312211756710570025036 0ustar dokousers// Test for method java.lang.Package.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Package.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Package; /** * Test for method java.lang.Package.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = Package.getPackage("java.lang"); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.Object"); } } mauve-20140821/gnu/testlet/java/lang/Package/classInfo/InstanceOf.java0000644000175000001440000000317211756710570024250 0ustar dokousers// Test for instanceof operator applied to a class java.lang.Package // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Package.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Package; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.Package */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Package Package o = Package.getPackage("java.lang"); // basic check of instanceof operator harness.check(o instanceof Package); // check operator instanceof against all superclasses harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/Package/classInfo/isInterface.java0000644000175000001440000000301411756710570024446 0ustar dokousers// Test for method java.lang.Package.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Package.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Package; /** * Test for method java.lang.Package.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = Package.getPackage("java.lang"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/Package/classInfo/isAssignableFrom.java0000644000175000001440000000305311756710570025445 0ustar dokousers// Test for method java.lang.Package.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Package.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Package; /** * Test for method java.lang.Package.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = Package.getPackage("java.lang"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(Package.class)); } } mauve-20140821/gnu/testlet/java/lang/Package/classInfo/isLocalClass.java0000644000175000001440000000302011756710570024563 0ustar dokousers// Test for method java.lang.Package.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Package.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Package; /** * Test for method java.lang.Package.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = Package.getPackage("java.lang"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/Package/classInfo/getName.java0000644000175000001440000000301211756710570023570 0ustar dokousers// Test for method java.lang.Package.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Package.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Package; /** * Test for method java.lang.Package.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = Package.getPackage("java.lang"); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.lang.Package"); } } mauve-20140821/gnu/testlet/java/lang/Enum/0000755000175000001440000000000012375316426017001 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Enum/PR33183.java0000644000175000001440000000227711054546013020565 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2008 Andrew John Hughes (gnu_andrew@member.fsf.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Enum; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class PR33183 implements Testlet { static enum E { A, B, C } public void test(TestHarness harness) { try { E e = E.valueOf("A"); harness.check(e.toString().equals("A")); } catch (Exception e) { harness.debug(e); harness.fail(e.toString()); } } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/0000755000175000001440000000000012375316426024152 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/constructor.java0000644000175000001440000000553712100447663027406 0ustar dokousers// Test if instances of a class java.lang.ArrayIndexOutOfBoundsException could be properly constructed // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; /** * Test if instances of a class java.lang.ArrayIndexOutOfBoundsException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { ArrayIndexOutOfBoundsException object1 = new ArrayIndexOutOfBoundsException(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.ArrayIndexOutOfBoundsException"); ArrayIndexOutOfBoundsException object2 = new ArrayIndexOutOfBoundsException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.ArrayIndexOutOfBoundsException: nothing happens"); ArrayIndexOutOfBoundsException object3 = new ArrayIndexOutOfBoundsException(null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.ArrayIndexOutOfBoundsException"); ArrayIndexOutOfBoundsException object4 = new ArrayIndexOutOfBoundsException(0); harness.check(object4 != null); harness.check(object4.toString(), "java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0"); ArrayIndexOutOfBoundsException object5 = new ArrayIndexOutOfBoundsException(-1); harness.check(object5 != null); harness.check(object5.toString(), "java.lang.ArrayIndexOutOfBoundsException: Array index out of range: -1"); ArrayIndexOutOfBoundsException object6 = new ArrayIndexOutOfBoundsException(Integer.MAX_VALUE); harness.check(object6 != null); harness.check(object6.toString(), "java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 2147483647"); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/TryCatch.java0000644000175000001440000000342612100447663026535 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.ArrayIndexOutOfBoundsException // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; /** * Test if try-catch block is working properly for a class java.lang.ArrayIndexOutOfBoundsException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new ArrayIndexOutOfBoundsException("ArrayIndexOutOfBoundsException"); } catch (ArrayIndexOutOfBoundsException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/0000755000175000001440000000000012375316426026073 5ustar dokousers././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getDeclaredConstructor.javamauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getDeclaredConstructor0000644000175000001440000000712412102156144032456 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.ArrayIndexOutOfBoundsException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.ArrayIndexOutOfBoundsException", new Class[] {int.class}); constructorsThatShouldExist_jdk6.put("java.lang.ArrayIndexOutOfBoundsException", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getPackage.java0000644000175000001440000000336512104155306030764 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getPackage() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getDeclaredMethods.javamauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getDeclaredMethods.jav0000644000175000001440000000631712101721036032313 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getInterfaces.java0000644000175000001440000000342512104155306031511 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getInterfaces() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getModifiers.java0000644000175000001440000000461612104155306031352 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getModifiers() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; import java.lang.reflect.Modifier; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getDeclaredFields.java0000644000175000001440000000726712101721036032264 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getDeclaredFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.ArrayIndexOutOfBoundsException.serialVersionUID", "serialVersionUID"); // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } ././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getDeclaredConstructors.javamauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getDeclaredConstructor0000644000175000001440000001136412101721036032454 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.ArrayIndexOutOfBoundsException()", "java.lang.ArrayIndexOutOfBoundsException"); testedDeclaredConstructors_jdk6.put("public java.lang.ArrayIndexOutOfBoundsException(int)", "java.lang.ArrayIndexOutOfBoundsException"); testedDeclaredConstructors_jdk6.put("public java.lang.ArrayIndexOutOfBoundsException(java.lang.String)", "java.lang.ArrayIndexOutOfBoundsException"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.ArrayIndexOutOfBoundsException()", "java.lang.ArrayIndexOutOfBoundsException"); testedDeclaredConstructors_jdk7.put("public java.lang.ArrayIndexOutOfBoundsException(int)", "java.lang.ArrayIndexOutOfBoundsException"); testedDeclaredConstructors_jdk7.put("public java.lang.ArrayIndexOutOfBoundsException(java.lang.String)", "java.lang.ArrayIndexOutOfBoundsException"); // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getField.java0000644000175000001440000000565212103761236030461 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getFields.java0000644000175000001440000000601012101721036030621 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isPrimitive.java0000644000175000001440000000332212101441536031226 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getSimpleName.java0000644000175000001440000000336512104155306031463 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "ArrayIndexOutOfBoundsException"); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getEnclosingClass.java0000644000175000001440000000340712102431373032334 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getEnclosingClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isAnnotationPresent.javamauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isAnnotationPresent.ja0000644000175000001440000000451012104155306032402 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isSynthetic.java0000644000175000001440000000332212101441536031230 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isAnnotation.java0000644000175000001440000000332012104155306031366 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().isAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isInstance.java0000644000175000001440000000343312101441536031025 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().isInstance(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"))); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getDeclaredMethod.java0000644000175000001440000000625612102431373032276 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getDeclaredClasses.javamauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getDeclaredClasses.jav0000644000175000001440000000346312102156144032307 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getComponentType.java0000644000175000001440000000340312101441536032226 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getComponentType() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getMethod.java0000644000175000001440000001116712103761236030654 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isMemberClass.java0000644000175000001440000000333212101441536031454 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getConstructor.java0000644000175000001440000000706412101721036031752 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.ArrayIndexOutOfBoundsException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.ArrayIndexOutOfBoundsException", new Class[] {int.class}); constructorsThatShouldExist_jdk6.put("java.lang.ArrayIndexOutOfBoundsException", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getSuperclass.java0000644000175000001440000000345312104155306031553 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getSuperclass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.IndexOutOfBoundsException"); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isEnum.java0000644000175000001440000000327012101721036030160 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().isEnum() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getMethods.java0000644000175000001440000002001012101721036031012 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getAnnotations.java0000644000175000001440000000606312100447663031732 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/InstanceOf.java0000644000175000001440000000427312101441536030761 0ustar dokousers// Test for instanceof operator applied to a class java.lang.ArrayIndexOutOfBoundsException // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; import java.lang.IndexOutOfBoundsException; import java.lang.RuntimeException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.ArrayIndexOutOfBoundsException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayIndexOutOfBoundsException ArrayIndexOutOfBoundsException o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // basic check of instanceof operator harness.check(o instanceof ArrayIndexOutOfBoundsException); // check operator instanceof against all superclasses harness.check(o instanceof IndexOutOfBoundsException); harness.check(o instanceof RuntimeException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getDeclaringClass.java0000644000175000001440000000340712102431373032303 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getDeclaringClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getAnnotation.java0000644000175000001440000000517212100447663031547 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isAnonymousClass.java0000644000175000001440000000334012104155306032234 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().isAnonymousClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getEnclosingMethod.javamauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getEnclosingMethod.jav0000644000175000001440000000342712103761236032355 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isInterface.java0000644000175000001440000000332212101441536031156 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().isInterface(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getConstructors.java0000644000175000001440000001077712101721036032142 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.ArrayIndexOutOfBoundsException()", "java.lang.ArrayIndexOutOfBoundsException"); testedConstructors_jdk6.put("public java.lang.ArrayIndexOutOfBoundsException(int)", "java.lang.ArrayIndexOutOfBoundsException"); testedConstructors_jdk6.put("public java.lang.ArrayIndexOutOfBoundsException(java.lang.String)", "java.lang.ArrayIndexOutOfBoundsException"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.ArrayIndexOutOfBoundsException()", "java.lang.ArrayIndexOutOfBoundsException"); testedConstructors_jdk7.put("public java.lang.ArrayIndexOutOfBoundsException(int)", "java.lang.ArrayIndexOutOfBoundsException"); testedConstructors_jdk7.put("public java.lang.ArrayIndexOutOfBoundsException(java.lang.String)", "java.lang.ArrayIndexOutOfBoundsException"); // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isAssignableFrom.java0000644000175000001440000000341012101721036032144 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(ArrayIndexOutOfBoundsException.class)); } } ././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getDeclaredAnnotations.javamauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getDeclaredAnnotations0000644000175000001440000000612312102156144032424 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getDeclaredField.java0000644000175000001440000000572312102431373032077 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getDeclaredField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isLocalClass.java0000644000175000001440000000332612101441536031302 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } ././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getEnclosingConstructor.javamauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getEnclosingConstructo0000644000175000001440000000347112102431373032513 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getCanonicalName.java0000644000175000001440000000341012100447663032116 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.ArrayIndexOutOfBoundsException"); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getName.java0000644000175000001440000000334712104155306030311 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.ArrayIndexOutOfBoundsException"); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getClasses.java0000644000175000001440000000342312101441536031021 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isArray.java0000644000175000001440000000327412104155306030342 0ustar dokousers// Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().isArray() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.ArrayIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.ArrayIndexOutOfBoundsException; /** * Test for method java.lang.ArrayIndexOutOfBoundsException.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class ArrayIndexOutOfBoundsException final Object o = new ArrayIndexOutOfBoundsException("java.lang.ArrayIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/Math/0000755000175000001440000000000012375316450016763 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Math/acos.java0000644000175000001440000001021512017643230020542 0ustar dokousers// Tags: JDK1.3 // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.Math; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test for a static method Math.acos() */ public class acos implements Testlet { /** * Function (=static method) checked by this test. */ private static double testedFunction(double input) { return Math.acos(input); } /** * These values are used as arguments to compute acos using Math. */ private static double[] inputValues = { Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, Double.MAX_VALUE, Double.MIN_VALUE, 0.0, 0.2, 0.4, 0.5, 0.6, 0.8, 1.0, 2.0, 1e10, 1e-10, -0.0, -0.2, -0.4, -0.5, -0.6, -0.8, -1.0, -2.0, -1e10, -1e-10, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { // output value input value Double.NaN, // NAN Double.NaN, // +Infinity Double.NaN, // -Infinity Double.NaN, // 1.7976931348623157E308 1.5707963267948966, // 4.9E-324 Math.PI/2.0, // 0.0 1.369438406004566, // 0.2 1.1592794807274085, // 0.4 1.0471975511965979, // 0.5 0.9272952180016123, // 0.6 0.6435011087932843, // 0.8 0.0, // 1.0 Double.NaN, // 2.0 Double.NaN, // 1.0E10 1.5707963266948965, // 1.0E-10 Math.PI/2.0, // -0.0 1.7721542475852274, // -0.2 1.9823131728623846, // -0.4 2.0943951023931957, // -0.5 2.214297435588181, // -0.6 2.498091544796509, // -0.8 Math.PI, // -1.0 Double.NaN, // -2.0 Double.NaN, // -1.0E10 1.5707963268948966, // -1.0E-1 }; /** * These values represent various NaN */ private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; /** * Test not NaN values. */ private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = testedFunction(inputValues[i]); // exact equality harness.check(Double.doubleToLongBits(res), Double.doubleToLongBits(outputValues[i])); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); // exact equality harness.check(Double.doubleToRawLongBits(testedFunction(valNaN)), bitsNaN); } } /** * Entry point to a test. */ public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { for (int i = 0; i < inputValues.length; ++i) { double input = inputValues[i]; double output = testedFunction(inputValues[i]); System.out.println(" " + Double.toString(output) + ", // " + input); } } } mauve-20140821/gnu/testlet/java/lang/Math/strictfp_modifier/0000755000175000001440000000000012375316426022502 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Math/strictfp_modifier/acos.java0000644000175000001440000001031312020131764024253 0ustar dokousers// Tags: JDK1.3 // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.Math.strictfp_modifier; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test for a static method Math.acos() * by using strictfp modifier. */ public strictfp class acos implements Testlet { /** * Function (=static method) checked by this test. */ private static double testedFunction(double input) { return Math.acos(input); } /** * These values are used as arguments to compute acos using Math. */ private static double[] inputValues = { Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, Double.MAX_VALUE, Double.MIN_VALUE, 0.0, 0.2, 0.4, 0.5, 0.6, 0.8, 1.0, 2.0, 1e10, 1e-10, -0.0, -0.2, -0.4, -0.5, -0.6, -0.8, -1.0, -2.0, -1e10, -1e-10, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { // output value input value Double.NaN, // NAN Double.NaN, // +Infinity Double.NaN, // -Infinity Double.NaN, // 1.7976931348623157E308 1.5707963267948966, // 4.9E-324 Math.PI/2.0, // 0.0 1.369438406004566, // 0.2 1.1592794807274085, // 0.4 1.0471975511965979, // 0.5 0.9272952180016123, // 0.6 0.6435011087932843, // 0.8 0.0, // 1.0 Double.NaN, // 2.0 Double.NaN, // 1.0E10 1.5707963266948965, // 1.0E-10 Math.PI/2.0, // -0.0 1.7721542475852274, // -0.2 1.9823131728623846, // -0.4 2.0943951023931957, // -0.5 2.214297435588181, // -0.6 2.498091544796509, // -0.8 Math.PI, // -1.0 Double.NaN, // -2.0 Double.NaN, // -1.0E10 1.5707963268948966, // -1.0E-1 }; /** * These values represent various NaN */ private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; /** * Test not NaN values. */ private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = testedFunction(inputValues[i]); // exact equality harness.check(Double.doubleToLongBits(res), Double.doubleToLongBits(outputValues[i])); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); // exact equality harness.check(Double.doubleToRawLongBits(testedFunction(valNaN)), bitsNaN); } } /** * Entry point to a test. */ public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { for (int i = 0; i < inputValues.length; ++i) { double input = inputValues[i]; double output = testedFunction(inputValues[i]); System.out.println(" " + Double.toString(output) + ", // " + input); } } } mauve-20140821/gnu/testlet/java/lang/Math/strictfp_modifier/tan.java0000644000175000001440000001063012020131764024112 0ustar dokousers// Tags: JDK1.3 // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.Math.strictfp_modifier; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test for a static method Math.tan() * by using strictfp modifier. */ public strictfp class tan implements Testlet { /** * Function (=static method) checked by this test. */ private static double testedFunction(double input) { return Math.tan(input); } /** * These values are used as arguments to compute tan using Math. */ private static double[] inputValues = { Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, Double.MAX_VALUE, Double.MIN_VALUE, 0.0, Math.PI/4, Math.PI/2, Math.PI, 2*Math.PI, 4*Math.PI, 100*Math.PI, 1e10, 1e-10, -0.0, -Math.PI/4, -Math.PI/2, -Math.PI, -2*Math.PI, -4*Math.PI, -100*Math.PI, -1e10, -1e-10, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { // output value input value Double.NaN, // NaN Double.NaN, // Infinity Double.NaN, // -Infinity -0.004962015874444895, // Double.MAX_VALUE 4.9E-324, // Double.MIN_VALUE 0.0, // 0.0 0.9999999999999999, // Math.PI/4 1.633123935319537E16, // Math.PI/2 -1.2246467991473532E-16, // Math.PI -2.4492935982947064E-16, // 2*Math.PI -4.898587196589413E-16, // 4*Math.PI 1.964386723728472E-15, // 100*Math.PI -0.5583496378112418, // 1.0E10 1.0E-10, // 1.0E-10 -0.0, // -0.0 -0.9999999999999999, // -Math.PI/4 -1.633123935319537E16, // -Math.PI/2 1.2246467991473532E-16, // -Math.PI 2.4492935982947064E-16, // -2*Math.PI 4.898587196589413E-16, // -4*Math.PI -1.964386723728472E-15, // -100*Math.PI 0.5583496378112418, // -1.0E10 -1.0E-10, // -1.0E-10 }; /** * These values represent various NaN */ private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; /** * Test not NaN values. */ private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = testedFunction(inputValues[i]); // exact equality harness.check(Double.doubleToLongBits(res), Double.doubleToLongBits(outputValues[i])); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); // exact equality harness.check(Double.doubleToRawLongBits(testedFunction(valNaN)), bitsNaN); } } /** * Entry point to a test. */ public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { for (int i = 0; i < inputValues.length; ++i) { double input = inputValues[i]; double output = testedFunction(inputValues[i]); System.out.println(" " + Double.toString(output) + ", // " + input); } } } mauve-20140821/gnu/testlet/java/lang/Math/strictfp_modifier/expm1.java0000644000175000001440000001172012020131764024363 0ustar dokousers// Tags: JDK1.5 // This file is part of Mauve. // update for strictfp modifier Pavel Tisnovsky // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.Math.strictfp_modifier; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test for a static method Math.expm1() * by using strictfp modifier. */ public strictfp class expm1 implements Testlet { /** * Function (=static method) checked by this test. */ private static double testedFunction(double input) { return Math.expm1(input); } /** * These values are used as arguments to expm1. * The values are somewhat arbitrary, but ensure that all code paths * are tested. */ private static double[] inputValues = { 0.0, Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, 0.0000000000000000277555756156289135105, // ~ 2^-55 -0.0000000000000000277555756156289135105, // ~ -2^55 0.6 * 0.6931471805599453 + 0.05, // 0.6 * ln(2) + 0.05 -0.6 * 0.6931471805599453 - 0.05, // -0.6 * ln(2) - 0.05 0.25 * 0.6931471805599453 + 0.03, // 0.25 * ln(2) + 0.03 -0.25 * 0.6931471805599453 - 0.03, // -0.25 * ln(2) - 0.03 0.44, -0.44, 2.3 * 0.6931471805599453 + 0.05, // 2.3 * ln(2) + 0.05 -2.3 * 0.6931471805599453 - 0.05, // -2.3 * ln(2) - 0.05 7 * 0.6931471805599453 + 0.03, // 7 * ln(2) + 0.03 -9 * 0.6931471805599453 - 0.03, // -9 * ln(2) - 0.03 29 * 0.6931471805599453 + 0.03, // 29 * ln(2) + 0.03 -27 * 0.6931471805599453 - 0.03, // -27 * ln(2) - 0.03 709.782712893384, // EXP_LIMIT_H 709.782712893384 + 3.423e-5, // EXP_LIMIT_H + 3.423e-5 709.782712893384 - 3.423e-5, // EXP_LIMIT_H - 3.423e-5 -709.782712893384, // -EXP_LIMIT_H -709.782712893384 - 3.423e-5, // -EXP_LIMIT_H - 3.423e-5 -709.782712893384 + 3.423e-5 // -EXP_LIMIT_H + 3.423e-5 }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { 0.0, Double.NaN, Double.POSITIVE_INFINITY, -1.0, 2.7755575615628914E-17, -2.7755575615628914E-17, 0.5934290166706889, -0.3724226247056801, 0.22542386346433524, -0.1839558296400811, 0.5527072185113361, -0.35596357891685865, 4.177066148857307, -0.806840405116183, 130.89818034605017, -0.9981045985672881, 5.532210644181606E8, -0.9999999927696174, 1.7976931348622732E308, Double.POSITIVE_INFINITY, 1.7976316008794578E308, -1.0, -1.0, -1.0 }; /** * These values represent various NaN */ private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; /** * Test not NaN values. */ private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = testedFunction(inputValues[i]); // exact equality harness.check(Double.doubleToLongBits(res), Double.doubleToLongBits(outputValues[i])); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); // exact equality harness.check(Double.doubleToRawLongBits(testedFunction(valNaN)), bitsNaN); } } /** * Entry point to a test. */ public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { for (int i = 0; i < inputValues.length; ++i) { double input = inputValues[i]; double output = testedFunction(inputValues[i]); System.out.println(" " + Double.toString(output) + ", // " + input); } } } mauve-20140821/gnu/testlet/java/lang/Math/strictfp_modifier/cosh.java0000644000175000001440000000741512020131764024273 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2006 Carsten Neumann // update for strictfp modifier Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.Math.strictfp_modifier; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public strictfp class cosh implements Testlet { /** * These values are used as arguments to cosh. * The values are somewhat arbitrary, but ensure that all code paths * are tested. */ private static double[] inputValues = { 0.0, Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, 0.123456789, -0.123456789, 0.234242656456, -0.234242656456, 1.23456789, -1.23456789, 9.87654321, -9.87654321, 21.9999, -21.9999, 567.891234, -567.891234, 708.742342, -708.742342, 709.7827128, -709.7827128, 710.475860073943, 710.4755859375, 723.6787676346, -723.6787676346, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { 1.0, Double.NaN, Double.POSITIVE_INFINITY, Double.POSITIVE_INFINITY, 1.0076304736991977, 1.0076304736991977, 1.0275604855232756, 1.0275604855232756, 1.8639267730274125, 1.8639267730274125, 9734.154204183918, 9734.154204183918, 1.792277186385473e9, 1.792277186385473e9, 2.1428869091881118e246, 2.1428869091881118e246, 3.1758371607555525e307, 3.1758371607555525e307, 8.988464834932886e307, 8.988464834932886e307, 1.7976931348605396e308, 1.7972003892018829e308, Double.POSITIVE_INFINITY, Double.POSITIVE_INFINITY }; private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = Math.cosh(inputValues[i]); // exact equality harness.check(Double.doubleToLongBits(res), Double.doubleToLongBits(outputValues[i])); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); // exact equality harness.check(Double.doubleToRawLongBits(Math.cosh(valNaN)), bitsNaN); } } public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { double res; for (int i = 0; i < inputValues.length; ++i) { res = Math.cosh(inputValues[i]); System.out.println(Double.toString(res)); } } } mauve-20140821/gnu/testlet/java/lang/Math/strictfp_modifier/asin.java0000644000175000001440000001035012020131764024261 0ustar dokousers// Tags: JDK1.3 // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.Math.strictfp_modifier; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test for a static method Math.asin() * by using strictfp modifier. */ public strictfp class asin implements Testlet { /** * Function (=static method) checked by this test. */ private static double testedFunction(double input) { return Math.asin(input); } /** * These values are used as arguments to compute asin using Math. */ private static double[] inputValues = { Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, Double.MAX_VALUE, Double.MIN_VALUE, 0.0, 0.2, 0.4, 0.5, 0.6, 0.8, 1.0, 2.0, 1e10, 1e-10, -0.0, -0.2, -0.4, -0.5, -0.6, -0.8, -1.0, -2.0, -1e10, -1e-10, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { // output value input value Double.NaN, // NaN Double.NaN, // Infinity Double.NaN, // -Infinity Double.NaN, // 1.7976931348623157E308 4.9E-324, // 4.9E-324 0.0, // 0.0 0.2013579207903308, // 0.2 0.41151684606748806, // 0.4 0.5235987755982989, // 0.5 0.6435011087932844, // 0.6 0.9272952180016123, // 0.8 Math.PI/2.0, // 1.0 Double.NaN, // 2.0 Double.NaN, // 1.0E10 1.0E-10, // 1.0E-10 -0.0, // -0.0 -0.2013579207903308, // -0.2 -0.41151684606748806,// -0.4 -0.5235987755982989, // -0.5 -0.6435011087932844, // -0.6 -0.9272952180016123, // -0.8 -Math.PI/2.0, // -1.0 Double.NaN, // -2.0 Double.NaN, // -1.0E10 -1.0E-10, // -1.0E-10 }; /** * These values represent various NaN */ private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; /** * Test not NaN values. */ private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = testedFunction(inputValues[i]); // exact equality harness.check(Double.doubleToLongBits(res), Double.doubleToLongBits(outputValues[i])); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); // exact equality harness.check(Double.doubleToRawLongBits(testedFunction(valNaN)), bitsNaN); } } /** * Entry point to a test. */ public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { for (int i = 0; i < inputValues.length; ++i) { double input = inputValues[i]; double output = testedFunction(inputValues[i]); System.out.println(" " + Double.toString(output) + ", // " + input); } } } mauve-20140821/gnu/testlet/java/lang/Math/strictfp_modifier/atan.java0000644000175000001440000001035012020131764024252 0ustar dokousers// Tags: JDK1.3 // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.Math.strictfp_modifier; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test for a static method Math.atan() * by using strictfp modifier. */ public strictfp class atan implements Testlet { /** * Function (=static method) checked by this test. */ private static double testedFunction(double input) { return Math.atan(input); } /** * These values are used as arguments to compute atan using Math. */ private static double[] inputValues = { Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, Double.MAX_VALUE, Double.MIN_VALUE, 0.0, 0.2, 0.4, 0.5, 0.6, 0.8, 1.0, 2.0, 1e10, 1e-10, -0.0, -0.2, -0.4, -0.5, -0.6, -0.8, -1.0, -2.0, -1e10, -1e-10, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { // output value input value Double.NaN, // NaN Math.PI/2.0, // Infinity -Math.PI/2.0, // -Infinity 1.5707963267948966, // 1.7976931348623157E308 4.9E-324, // 4.9E-324 0.0, // 0.0 0.19739555984988078, // 0.2 0.3805063771123649, // 0.4 0.4636476090008061, // 0.5 0.5404195002705842, // 0.6 0.6747409422235527, // 0.8 0.7853981633974483, // 1.0 1.1071487177940904, // 2.0 1.5707963266948965, // 1.0E10 1.0E-10, // 1.0E-10 -0.0, // -0.0 -0.19739555984988078,// -0.2 -0.3805063771123649, // -0.4 -0.4636476090008061, // -0.5 -0.5404195002705842, // -0.6 -0.6747409422235527, // -0.8 -0.7853981633974483, // -1.0 -1.1071487177940904, // -2.0 -1.5707963266948965, // -1.0E10 -1.0E-10, // -1.0E-10 }; /** * These values represent various NaN */ private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; /** * Test not NaN values. */ private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = testedFunction(inputValues[i]); // exact equality harness.check(Double.doubleToLongBits(res), Double.doubleToLongBits(outputValues[i])); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); // exact equality harness.check(Double.doubleToRawLongBits(testedFunction(valNaN)), bitsNaN); } } /** * Entry point to a test. */ public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { for (int i = 0; i < inputValues.length; ++i) { double input = inputValues[i]; double output = testedFunction(inputValues[i]); System.out.println(" " + Double.toString(output) + ", // " + input); } } } mauve-20140821/gnu/testlet/java/lang/Math/strictfp_modifier/tanh.java0000644000175000001440000000730512020131764024267 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2006 Carsten Neumann // update for strictfp class Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.Math.strictfp_modifier; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public strictfp class tanh implements Testlet { /** * These values are used as arguments to tanh. * The values are somewhat arbitrary, but ensure that all code paths * are tested. */ private static double[] inputValues = { 0.0, Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, 2.7755575615628e-16, // ~ 2^-55 -2.7755575615628e-16, // ~ -2^-55 2.5123456789e-16, // < 2^-55 -2.5123456789e-16, // > -2^-55 0.123456789, -0.123456789, 0.987654321, -0.987654321, 1.0000000000000000123, -1.0000000000000000123, 1.123456789, -1.123456789, 21.999999999999999876, -21.999999999999999876, 22.000000000000000123, -22.000000000000000123, 25.987654321, -25.987654321, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { 0.0, Double.NaN, 1.0, -1.0, 2.7755575615627996E-16, -2.7755575615627996E-16, 2.5123456789E-16, -2.5123456789E-16, 0.12283336405919822, -0.12283336405919822, 0.7563603430619676, -0.7563603430619676, 0.7615941559557649, -0.7615941559557649, 0.8087679479619252, -0.8087679479619252, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, }; private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = Math.tanh(inputValues[i]); // exact equality harness.check(Double.doubleToLongBits(res), Double.doubleToLongBits(outputValues[i])); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); // exact equality harness.check(Double.doubleToRawLongBits(Math.tanh(valNaN)), bitsNaN); } } public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { double res; for (int i = 0; i < inputValues.length; ++i) { res = Math.tanh(inputValues[i]); System.out.println(Double.toString(res)); } } } mauve-20140821/gnu/testlet/java/lang/Math/strictfp_modifier/cbrt.java0000644000175000001440000000675712020131764024301 0ustar dokousers// Tags: JDK1.5 // This file is part of Mauve. // update for strictfp modifier Pavel Tisnovsky // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.Math.strictfp_modifier; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test for a static method Math.cbrt() * by using strictfp modifier. */ public strictfp class cbrt implements Testlet { /** * These values are used as arguments to cbrt. */ private static double[] inputValues = { 0.0, Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, 123456789e-9, -123456789e-6, 123456789e+2, -123456789e+4, 987654321e-7, -987654321e-4, 987654321e+3, -987654321e+5, 1234509876e-320, // subnormal number 9756272385e-325, // subnormal number Math.PI, Math.E }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { 0.0, Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, 0.49793385921817446, -4.979338592181745, 2311.204240824796, -10727.659796410873, 4.622408495690158, -46.224084956901585, 9958.677214612972, -46224.08495690158, 2.3111680380625372e-104, 9.918088333941088e-106, 1.4645918875615231, 1.3956124250860895 }; /** * Test if input NaN is returned unchanged. */ private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; /** * Test not NaN values. */ private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = Math.cbrt(inputValues[i]); // exact equality harness.check(Double.doubleToLongBits(res), Double.doubleToLongBits(outputValues[i])); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); // exact equality harness.check(Double.doubleToRawLongBits(Math.cbrt(valNaN)), bitsNaN); } } /** * Entry point to a test. */ public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { double res; for (int i = 0; i < inputValues.length; ++i) { res = Math.cbrt(inputValues[i]); System.out.println(Double.toString(res)); } } } mauve-20140821/gnu/testlet/java/lang/Math/strictfp_modifier/cos.java0000644000175000001440000001052712020131764024121 0ustar dokousers// Tags: JDK1.3 // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.Math.strictfp_modifier; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test for a static method Math.cos() * by using strictfp modifier. */ public strictfp class cos implements Testlet { /** * Function (=static method) checked by this test. */ private static double testedFunction(double input) { return Math.cos(input); } /** * These values are used as arguments to compute cos using Math. */ private static double[] inputValues = { Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, Double.MAX_VALUE, Double.MIN_VALUE, 0.0, Math.PI/4, Math.PI/2, Math.PI, 2*Math.PI, 4*Math.PI, 100*Math.PI, 1e10, 1e-10, -0.0, -Math.PI/4, -Math.PI/2, -Math.PI, -2*Math.PI, -4*Math.PI, -100*Math.PI, -1e10, -1e-10, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { // output value input value Double.NaN, // NaN Double.NaN, // Infinity Double.NaN, // -Infinity -0.9999876894265599, // Double.MAX_VALUE 1.0, // Double.MIN_VALUE 1.0, // 0.0 0.7071067811865476, // Math.PI/4 6.123233995736766E-17, // Math.PI/2 -1.0, // Math.PI 1.0, // 2*Math.PI 1.0, // 4*Math.PI 1.0, // 100*Math.PI 0.873119622676856, // 1.0E10 1.0, // 1.0E-10 1.0, // -0.0 0.7071067811865476, // -Math.PI/4 6.123233995736766E-17, // -Math.PI/2 -1.0, // -Math.PI 1.0, // -2*Math.PI 1.0, // -4*Math.PI 1.0, // -100*Math.PI 0.873119622676856, // -1.0E10 1.0, // -1.0E-10 }; /** * These values represent various NaN */ private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; /** * Test not NaN values. */ private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = testedFunction(inputValues[i]); // exact equality harness.check(Double.doubleToLongBits(res), Double.doubleToLongBits(outputValues[i])); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); // exact equality harness.check(Double.doubleToRawLongBits(testedFunction(valNaN)), bitsNaN); } } /** * Entry point to a test. */ public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { for (int i = 0; i < inputValues.length; ++i) { double input = inputValues[i]; double output = testedFunction(inputValues[i]); System.out.println(" " + Double.toString(output) + ", // " + input); } } } mauve-20140821/gnu/testlet/java/lang/Math/strictfp_modifier/sinh.java0000644000175000001440000000743012020131764024275 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2006 Carsten Neumann // update for strictfp modifier Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.Math.strictfp_modifier; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public strictfp class sinh implements Testlet { /** * These values are used as arguments to sinh. * The values are somewhat arbitrary, but ensure that all code paths * are tested. */ private static double[] inputValues = { 0.0, Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, 0.123456789, -0.123456789, 0.234242656456, -0.234242656456, 1.23456789, -1.23456789, 9.87654321, -9.87654321, 21.9999, -21.9999, 567.891234, -567.891234, 708.742342, -708.742342, 709.7827128, -709.7827128, 710.475860073943, 710.4755859375, 723.6787676346, -723.6787676346, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { 0.0, Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, 0.1237706408130359, -0.1237706408130359, 0.23639067538469039, -0.23639067538469039, 1.5729663108942873, -1.5729663108942873, 9734.154152818386, -9734.154152818386, 1.792277186385473E9, -1.792277186385473E9, 2.1428869091881118E246, -2.1428869091881118E246, 3.1758371607555525E307, -3.1758371607555525E307, 8.988464834932886E307, -8.988464834932886E307, 1.7976931348605396E308, 1.7972003892018829E308, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, }; private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = Math.sinh(inputValues[i]); // exact equality harness.check(Double.doubleToLongBits(res), Double.doubleToLongBits(outputValues[i])); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); // exact equality harness.check(Double.doubleToRawLongBits(Math.sinh(valNaN)), bitsNaN); } } public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { double res; for (int i = 0; i < inputValues.length; ++i) { res = Math.sinh(inputValues[i]); System.out.println(Double.toString(res)); } } } mauve-20140821/gnu/testlet/java/lang/Math/strictfp_modifier/sin.java0000644000175000001440000001062312020131764024123 0ustar dokousers// Tags: JDK1.3 // Copyright (C) 2012 Pavel Tisnovsky // update for strictfp class Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.Math.strictfp_modifier; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test for a static method Math.sin() */ public strictfp class sin implements Testlet { /** * Function (=static method) checked by this test. */ private static double testedFunction(double input) { return Math.sin(input); } /** * These values are used as arguments to compute sin using Math. */ private static double[] inputValues = { Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, Double.MAX_VALUE, Double.MIN_VALUE, 0.0, Math.PI/4, Math.PI/2, Math.PI, 2*Math.PI, 4*Math.PI, 100*Math.PI, 1e10, 1e-10, -0.0, -Math.PI/4, -Math.PI/2, -Math.PI, -2*Math.PI, -4*Math.PI, -100*Math.PI, -1e10, -1e-10, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { // output value input value Double.NaN, // NaN Double.NaN, // Infinity Double.NaN, // -Infinity 0.004961954789184062, // Double.MAX_VALUE 4.9E-324, // Double.MIN_VALUE 0.0, // 0.0 0.7071067811865475, // Math.PI/4 1.0, // Math.PI/2 1.2246467991473532E-16, // Math.PI -2.4492935982947064E-16,// 2*Math.PI -4.898587196589413E-16, // 4*Math.PI 1.964386723728472E-15, // 100*Math.PI -0.4875060250875107, // 1.0E10 1.0E-10, // 1.0E-10 -0.0, // -0.0 -0.7071067811865475, // -Math.PI/4 -1.0, // -Math.PI/2 -1.2246467991473532E-16,// -Math.PI 2.4492935982947064E-16, // -2*Math.PI 4.898587196589413E-16, // -4*Math.PI -1.964386723728472E-15, // -100*Math.PI 0.4875060250875107, // -1.0E10 -1.0E-10, // -1.0E-10 }; /** * These values represent various NaN */ private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; /** * Test not NaN values. */ private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = testedFunction(inputValues[i]); // exact equality harness.check(Double.doubleToLongBits(res), Double.doubleToLongBits(outputValues[i])); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); // exact equality harness.check(Double.doubleToRawLongBits(testedFunction(valNaN)), bitsNaN); } } /** * Entry point to a test. */ public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { for (int i = 0; i < inputValues.length; ++i) { double input = inputValues[i]; double output = testedFunction(inputValues[i]); System.out.println(" " + Double.toString(output) + ", // " + input); } } } mauve-20140821/gnu/testlet/java/lang/Math/tan.java0000644000175000001440000001053512017643230020404 0ustar dokousers// Tags: JDK1.3 // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.Math; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test for a static method Math.tan() */ public class tan implements Testlet { /** * Function (=static method) checked by this test. */ private static double testedFunction(double input) { return Math.tan(input); } /** * These values are used as arguments to compute tan using Math. */ private static double[] inputValues = { Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, Double.MAX_VALUE, Double.MIN_VALUE, 0.0, Math.PI/4, Math.PI/2, Math.PI, 2*Math.PI, 4*Math.PI, 100*Math.PI, 1e10, 1e-10, -0.0, -Math.PI/4, -Math.PI/2, -Math.PI, -2*Math.PI, -4*Math.PI, -100*Math.PI, -1e10, -1e-10, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { // output value input value Double.NaN, // NaN Double.NaN, // Infinity Double.NaN, // -Infinity -0.004962015874444895, // Double.MAX_VALUE 4.9E-324, // Double.MIN_VALUE 0.0, // 0.0 0.9999999999999999, // Math.PI/4 1.633123935319537E16, // Math.PI/2 -1.2246467991473532E-16, // Math.PI -2.4492935982947064E-16, // 2*Math.PI -4.898587196589413E-16, // 4*Math.PI 1.964386723728472E-15, // 100*Math.PI -0.5583496378112418, // 1.0E10 1.0E-10, // 1.0E-10 -0.0, // -0.0 -0.9999999999999999, // -Math.PI/4 -1.633123935319537E16, // -Math.PI/2 1.2246467991473532E-16, // -Math.PI 2.4492935982947064E-16, // -2*Math.PI 4.898587196589413E-16, // -4*Math.PI -1.964386723728472E-15, // -100*Math.PI 0.5583496378112418, // -1.0E10 -1.0E-10, // -1.0E-10 }; /** * These values represent various NaN */ private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; /** * Test not NaN values. */ private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = testedFunction(inputValues[i]); // exact equality harness.check(Double.doubleToLongBits(res), Double.doubleToLongBits(outputValues[i])); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); // exact equality harness.check(Double.doubleToRawLongBits(testedFunction(valNaN)), bitsNaN); } } /** * Entry point to a test. */ public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { for (int i = 0; i < inputValues.length; ++i) { double input = inputValues[i]; double output = testedFunction(inputValues[i]); System.out.println(" " + Double.toString(output) + ", // " + input); } } } mauve-20140821/gnu/testlet/java/lang/Math/expm1.java0000644000175000001440000001161312017643230020652 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2006 Carsten Neumann // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.Math; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test for a static method Math.expm1() */ public class expm1 implements Testlet { /** * Function (=static method) checked by this test. */ private static double testedFunction(double input) { return Math.expm1(input); } /** * These values are used as arguments to expm1. * The values are somewhat arbitrary, but ensure that all code paths * are tested. */ private static double[] inputValues = { 0.0, Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, 0.0000000000000000277555756156289135105, // ~ 2^-55 -0.0000000000000000277555756156289135105, // ~ -2^55 0.6 * 0.6931471805599453 + 0.05, // 0.6 * ln(2) + 0.05 -0.6 * 0.6931471805599453 - 0.05, // -0.6 * ln(2) - 0.05 0.25 * 0.6931471805599453 + 0.03, // 0.25 * ln(2) + 0.03 -0.25 * 0.6931471805599453 - 0.03, // -0.25 * ln(2) - 0.03 0.44, -0.44, 2.3 * 0.6931471805599453 + 0.05, // 2.3 * ln(2) + 0.05 -2.3 * 0.6931471805599453 - 0.05, // -2.3 * ln(2) - 0.05 7 * 0.6931471805599453 + 0.03, // 7 * ln(2) + 0.03 -9 * 0.6931471805599453 - 0.03, // -9 * ln(2) - 0.03 29 * 0.6931471805599453 + 0.03, // 29 * ln(2) + 0.03 -27 * 0.6931471805599453 - 0.03, // -27 * ln(2) - 0.03 709.782712893384, // EXP_LIMIT_H 709.782712893384 + 3.423e-5, // EXP_LIMIT_H + 3.423e-5 709.782712893384 - 3.423e-5, // EXP_LIMIT_H - 3.423e-5 -709.782712893384, // -EXP_LIMIT_H -709.782712893384 - 3.423e-5, // -EXP_LIMIT_H - 3.423e-5 -709.782712893384 + 3.423e-5 // -EXP_LIMIT_H + 3.423e-5 }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { 0.0, Double.NaN, Double.POSITIVE_INFINITY, -1.0, 2.7755575615628914E-17, -2.7755575615628914E-17, 0.5934290166706889, -0.3724226247056801, 0.22542386346433524, -0.1839558296400811, 0.5527072185113361, -0.35596357891685865, 4.177066148857307, -0.806840405116183, 130.89818034605017, -0.9981045985672881, 5.532210644181606E8, -0.9999999927696174, 1.7976931348622732E308, Double.POSITIVE_INFINITY, 1.7976316008794578E308, -1.0, -1.0, -1.0 }; /** * These values represent various NaN */ private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; /** * Test not NaN values. */ private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = testedFunction(inputValues[i]); // exact equality harness.check(Double.doubleToLongBits(res), Double.doubleToLongBits(outputValues[i])); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); // exact equality harness.check(Double.doubleToRawLongBits(testedFunction(valNaN)), bitsNaN); } } /** * Entry point to a test. */ public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { for (int i = 0; i < inputValues.length; ++i) { double input = inputValues[i]; double output = testedFunction(inputValues[i]); System.out.println(" " + Double.toString(output) + ", // " + input); } } } mauve-20140821/gnu/testlet/java/lang/Math/rint.java0000644000175000001440000000222606662202014020574 0ustar dokousers// Tags: JDK1.0 /* Copyright (C) 1998 Cygnus Solutions This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Math; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class rint implements Testlet { public void test (TestHarness harness) { // Check for a well known rounding problem. harness.check (new Double (Math.rint (-3.5)).toString (), "-4.0"); harness.check (new Double (Math.rint (4.5)).toString (), "4.0"); } } mauve-20140821/gnu/testlet/java/lang/Math/cosh.java0000644000175000001440000000725212017643230020560 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2006 Carsten Neumann // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.Math; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class cosh implements Testlet { /** * These values are used as arguments to cosh. * The values are somewhat arbitrary, but ensure that all code paths * are tested. */ private static double[] inputValues = { 0.0, Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, 0.123456789, -0.123456789, 0.234242656456, -0.234242656456, 1.23456789, -1.23456789, 9.87654321, -9.87654321, 21.9999, -21.9999, 567.891234, -567.891234, 708.742342, -708.742342, 709.7827128, -709.7827128, 710.475860073943, 710.4755859375, 723.6787676346, -723.6787676346, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { 1.0, Double.NaN, Double.POSITIVE_INFINITY, Double.POSITIVE_INFINITY, 1.0076304736991977, 1.0076304736991977, 1.0275604855232756, 1.0275604855232756, 1.8639267730274125, 1.8639267730274125, 9734.154204183918, 9734.154204183918, 1.792277186385473e9, 1.792277186385473e9, 2.1428869091881118e246, 2.1428869091881118e246, 3.1758371607555525e307, 3.1758371607555525e307, 8.988464834932886e307, 8.988464834932886e307, 1.7976931348605396e308, 1.7972003892018829e308, Double.POSITIVE_INFINITY, Double.POSITIVE_INFINITY }; private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = Math.cosh(inputValues[i]); // exact equality harness.check(Double.doubleToLongBits(res), Double.doubleToLongBits(outputValues[i])); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); // exact equality harness.check(Double.doubleToRawLongBits(Math.cosh(valNaN)), bitsNaN); } } public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { double res; for (int i = 0; i < inputValues.length; ++i) { res = Math.cosh(inputValues[i]); System.out.println(Double.toString(res)); } } } mauve-20140821/gnu/testlet/java/lang/Math/min.java0000644000175000001440000001131210123334055020375 0ustar dokousers// Tags: JDK1.0 /* Copyright (C) 1999 Cygnus Solutions This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Math; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class min implements Testlet { public void test (TestHarness harness) { harness.checkPoint("Small doubles"); harness.check (Double.toString (Math.min (0.0, -0.0)), "-0.0"); harness.check (Double.toString (Math.min (-0.0, -0.0)), "-0.0"); harness.check (Double.toString (Math.min (-0.0, 0.0)), "-0.0"); harness.check (Double.toString (Math.min (0.0, 0.0)), "0.0"); harness.check (Double.toString (Math.min (1.0, 2.0)), "1.0"); harness.check (Double.toString (Math.min (2.0, 1.0)), "1.0"); harness.check (Double.toString (Math.min (-1.0, -2.0)), "-2.0"); harness.check (Double.toString (Math.min (-2.0, 1.0)), "-2.0"); harness.check (Double.toString (Math.min (1.0, -2.0)), "-2.0"); harness.checkPoint("Double NaNs"); harness.check (Double.isNaN(Double.NaN)); harness.check (Double.isNaN( 0.0d/0.0d )); harness.checkPoint("Double NaN comparisons"); harness.check (Double.toString (Math.min (2.0, Double.NaN)), "NaN"); harness.check (Double.toString (Math.min (Double.NaN, 2.0)), "NaN"); // System.err.println(Double.toString (Math.min (Double.NaN, 2.0))); harness.check (Math.min (Double.NaN, 2.0), Double.NaN); harness.checkPoint("Double infinities"); harness.check (Double.toString (Math.min (Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY)), "-Infinity"); harness.check (Math.min (Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY), Double.NEGATIVE_INFINITY); harness.check (Double.toString (Math.min (Double.POSITIVE_INFINITY, Double.POSITIVE_INFINITY)), "Infinity"); harness.check (Double.toString (Math.min (Double.NEGATIVE_INFINITY, 0.0)), "-Infinity"); harness.check (Double.toString (Math.min (Double.POSITIVE_INFINITY, 0.0)), "0.0"); harness.checkPoint("Double pi"); harness.check (Double.toString (Math.max (Math.PI, 0.0)), Double.toString(Math.PI)); harness.checkPoint("Small floats"); harness.check (Float.toString (Math.min (0.0f, -0.0f)), "-0.0"); harness.check (Float.toString (Math.min (-0.0f, -0.0f)), "-0.0"); harness.check (Float.toString (Math.min (-0.0f, 0.0f)), "-0.0"); harness.check (Float.toString (Math.min (0.0f, 0.0f)), "0.0"); harness.check (Float.toString (Math.min (1.0f, 2.0f)), "1.0"); harness.check (Float.toString (Math.min (2.0f, 1.0f)), "1.0"); harness.check (Float.toString (Math.min (-1.0f, -2.0f)), "-2.0"); harness.check (Math.min (-1.0f, -2.0f), -2.0); harness.check (Float.toString (Math.min (-2.0f, 1.0f)), "-2.0"); harness.check (Float.toString (Math.min (1.0f, -2.0f)), "-2.0"); harness.checkPoint("Float NaNs"); harness.check (Float.toString (Math.min (2.0f, Float.NaN)), "NaN"); harness.check (Math.min (2.0f, Float.NaN), Float.NaN); harness.check (Float.toString (Math.min (Float.NaN, 2.0f)), "NaN"); harness.check (Math.min (Float.NaN, 2.0f), Float.NaN); harness.checkPoint("Float infinities"); harness.check (Float.toString (Math.min (Float.NEGATIVE_INFINITY, Float.POSITIVE_INFINITY)), "-Infinity"); harness.check (Math.min (Float.NEGATIVE_INFINITY, Float.POSITIVE_INFINITY),Float.NEGATIVE_INFINITY); harness.check (Float.toString (Math.min (Float.POSITIVE_INFINITY, Float.POSITIVE_INFINITY)), "Infinity"); harness.check (Float.toString (Math.min (Float.NEGATIVE_INFINITY, 0.0f)), "-Infinity"); harness.check (Math.min (Float.NEGATIVE_INFINITY, 0.0f), Float.NEGATIVE_INFINITY); harness.check (Float.toString (Math.min (Float.POSITIVE_INFINITY, 0.0f)), "0.0"); harness.checkPoint("Float pi"); harness.check (Float.toString (Math.max ((float)Math.PI, 0.0f)), Float.toString((float)Math.PI)); } } mauve-20140821/gnu/testlet/java/lang/Math/asin.java0000644000175000001440000001025512017643230020553 0ustar dokousers// Tags: JDK1.3 // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.Math; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test for a static method Math.asin() */ public class asin implements Testlet { /** * Function (=static method) checked by this test. */ private static double testedFunction(double input) { return Math.asin(input); } /** * These values are used as arguments to compute asin using Math. */ private static double[] inputValues = { Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, Double.MAX_VALUE, Double.MIN_VALUE, 0.0, 0.2, 0.4, 0.5, 0.6, 0.8, 1.0, 2.0, 1e10, 1e-10, -0.0, -0.2, -0.4, -0.5, -0.6, -0.8, -1.0, -2.0, -1e10, -1e-10, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { // output value input value Double.NaN, // NaN Double.NaN, // Infinity Double.NaN, // -Infinity Double.NaN, // 1.7976931348623157E308 4.9E-324, // 4.9E-324 0.0, // 0.0 0.2013579207903308, // 0.2 0.41151684606748806, // 0.4 0.5235987755982989, // 0.5 0.6435011087932844, // 0.6 0.9272952180016123, // 0.8 Math.PI/2.0, // 1.0 Double.NaN, // 2.0 Double.NaN, // 1.0E10 1.0E-10, // 1.0E-10 -0.0, // -0.0 -0.2013579207903308, // -0.2 -0.41151684606748806,// -0.4 -0.5235987755982989, // -0.5 -0.6435011087932844, // -0.6 -0.9272952180016123, // -0.8 -Math.PI/2.0, // -1.0 Double.NaN, // -2.0 Double.NaN, // -1.0E10 -1.0E-10, // -1.0E-10 }; /** * These values represent various NaN */ private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; /** * Test not NaN values. */ private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = testedFunction(inputValues[i]); // exact equality harness.check(Double.doubleToLongBits(res), Double.doubleToLongBits(outputValues[i])); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); // exact equality harness.check(Double.doubleToRawLongBits(testedFunction(valNaN)), bitsNaN); } } /** * Entry point to a test. */ public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { for (int i = 0; i < inputValues.length; ++i) { double input = inputValues[i]; double output = testedFunction(inputValues[i]); System.out.println(" " + Double.toString(output) + ", // " + input); } } } mauve-20140821/gnu/testlet/java/lang/Math/max.java0000644000175000001440000000711610123334055020406 0ustar dokousers// Tags: JDK1.0 /* Copyright (C) 1999 Cygnus Solutions This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Math; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class max implements Testlet { public void test (TestHarness harness) { harness.check (Double.toString (Math.max (0.0, -0.0)), "0.0"); harness.check (Double.toString (Math.max (-0.0, -0.0)), "-0.0"); harness.check (Double.toString (Math.max (-0.0, 0.0)), "0.0"); harness.check (Double.toString (Math.max (0.0, 0.0)), "0.0"); harness.check (Double.toString (Math.max (1.0, 2.0)), "2.0"); harness.check (Double.toString (Math.max (2.0, 1.0)), "2.0"); harness.check (Double.toString (Math.max (-1.0, -2.0)), "-1.0"); harness.check (Double.toString (Math.max (-2.0, 1.0)), "1.0"); harness.check (Double.toString (Math.max (1.0, -2.0)), "1.0"); harness.check (Double.toString (Math.max (2.0, Double.NaN)), "NaN"); harness.check (Double.toString (Math.max (Double.NaN, 2.0)), "NaN"); harness.check (Double.toString (Math.max (Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY)), "Infinity"); harness.check (Double.toString (Math.max (Double.POSITIVE_INFINITY, Double.POSITIVE_INFINITY)), "Infinity"); harness.check (Double.toString (Math.max (Double.NEGATIVE_INFINITY, 0.0)), "0.0"); harness.check (Double.toString (Math.max (Double.POSITIVE_INFINITY, 0.0)), "Infinity"); harness.check (Double.toString (Math.max (Math.PI, 0.0)), Double.toString(Math.PI)); harness.check (Float.toString (Math.max (0.0f, -0.0f)), "0.0"); harness.check (Float.toString (Math.max (-0.0f, -0.0f)), "-0.0"); harness.check (Float.toString (Math.max (-0.0f, 0.0f)), "0.0"); harness.check (Float.toString (Math.max (0.0f, 0.0f)), "0.0"); harness.check (Float.toString (Math.max (1.0f, 2.0f)), "2.0"); harness.check (Float.toString (Math.max (2.0f, 1.0f)), "2.0"); harness.check (Float.toString (Math.max (-1.0f, -2.0f)), "-1.0"); harness.check (Float.toString (Math.max (-2.0f, 1.0f)), "1.0"); harness.check (Float.toString (Math.max (1.0f, -2.0f)), "1.0"); harness.check (Float.toString (Math.max (2.0f, Float.NaN)), "NaN"); harness.check (Float.toString (Math.max (Float.NaN, 2.0f)), "NaN"); harness.check (Float.toString (Math.max (Float.NEGATIVE_INFINITY, Float.POSITIVE_INFINITY)), "Infinity"); harness.check (Float.toString (Math.max (Float.POSITIVE_INFINITY, Float.POSITIVE_INFINITY)), "Infinity"); harness.check (Float.toString (Math.max (Float.NEGATIVE_INFINITY, 0.0f)), "0.0"); harness.check (Float.toString (Math.max (Float.POSITIVE_INFINITY, 0.0f)), "Infinity"); harness.check (Float.toString (Math.max ((float)Math.PI, 0.0f)), Float.toString((float)Math.PI)); } } mauve-20140821/gnu/testlet/java/lang/Math/ulp.java0000644000175000001440000000305610403154620020417 0ustar dokousers/* ulp.java -- Test the ulp method Copyright (C) 2006 Red Hat, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.java.lang.Math; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class ulp implements Testlet { public void test(TestHarness harness) { harness.check(Math.ulp(0.0), Double.MIN_VALUE); harness.check(Math.ulp(Double.NaN), Double.NaN); harness.check(Math.ulp(Double.MAX_VALUE), Math.pow(2.0, 971)); harness.check(Math.ulp(Double.NEGATIVE_INFINITY), Double.POSITIVE_INFINITY); harness.check(Math.ulp(Double.MIN_VALUE), Double.MIN_VALUE); harness.check(Math.ulp(0.0f), Float.MIN_VALUE); harness.check(Math.ulp(Float.NaN), Float.NaN); harness.check(Math.ulp(Float.MAX_VALUE), Math.pow(2.0, 104)); harness.check(Math.ulp(Float.NEGATIVE_INFINITY), Float.POSITIVE_INFINITY); harness.check(Math.ulp(Float.MIN_VALUE), Float.MIN_VALUE); } } mauve-20140821/gnu/testlet/java/lang/Math/atan.java0000644000175000001440000001025512017643230020544 0ustar dokousers// Tags: JDK1.3 // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.Math; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test for a static method Math.atan() */ public class atan implements Testlet { /** * Function (=static method) checked by this test. */ private static double testedFunction(double input) { return Math.atan(input); } /** * These values are used as arguments to compute atan using Math. */ private static double[] inputValues = { Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, Double.MAX_VALUE, Double.MIN_VALUE, 0.0, 0.2, 0.4, 0.5, 0.6, 0.8, 1.0, 2.0, 1e10, 1e-10, -0.0, -0.2, -0.4, -0.5, -0.6, -0.8, -1.0, -2.0, -1e10, -1e-10, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { // output value input value Double.NaN, // NaN Math.PI/2.0, // Infinity -Math.PI/2.0, // -Infinity 1.5707963267948966, // 1.7976931348623157E308 4.9E-324, // 4.9E-324 0.0, // 0.0 0.19739555984988078, // 0.2 0.3805063771123649, // 0.4 0.4636476090008061, // 0.5 0.5404195002705842, // 0.6 0.6747409422235527, // 0.8 0.7853981633974483, // 1.0 1.1071487177940904, // 2.0 1.5707963266948965, // 1.0E10 1.0E-10, // 1.0E-10 -0.0, // -0.0 -0.19739555984988078,// -0.2 -0.3805063771123649, // -0.4 -0.4636476090008061, // -0.5 -0.5404195002705842, // -0.6 -0.6747409422235527, // -0.8 -0.7853981633974483, // -1.0 -1.1071487177940904, // -2.0 -1.5707963266948965, // -1.0E10 -1.0E-10, // -1.0E-10 }; /** * These values represent various NaN */ private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; /** * Test not NaN values. */ private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = testedFunction(inputValues[i]); // exact equality harness.check(Double.doubleToLongBits(res), Double.doubleToLongBits(outputValues[i])); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); // exact equality harness.check(Double.doubleToRawLongBits(testedFunction(valNaN)), bitsNaN); } } /** * Entry point to a test. */ public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { for (int i = 0; i < inputValues.length; ++i) { double input = inputValues[i]; double output = testedFunction(inputValues[i]); System.out.println(" " + Double.toString(output) + ", // " + input); } } } mauve-20140821/gnu/testlet/java/lang/Math/tanh.java0000644000175000001440000000714512017643230020557 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2006 Carsten Neumann // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.Math; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class tanh implements Testlet { /** * These values are used as arguments to tanh. * The values are somewhat arbitrary, but ensure that all code paths * are tested. */ private static double[] inputValues = { 0.0, Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, 2.7755575615628e-16, // ~ 2^-55 -2.7755575615628e-16, // ~ -2^-55 2.5123456789e-16, // < 2^-55 -2.5123456789e-16, // > -2^-55 0.123456789, -0.123456789, 0.987654321, -0.987654321, 1.0000000000000000123, -1.0000000000000000123, 1.123456789, -1.123456789, 21.999999999999999876, -21.999999999999999876, 22.000000000000000123, -22.000000000000000123, 25.987654321, -25.987654321, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { 0.0, Double.NaN, 1.0, -1.0, 2.7755575615627996E-16, -2.7755575615627996E-16, 2.5123456789E-16, -2.5123456789E-16, 0.12283336405919822, -0.12283336405919822, 0.7563603430619676, -0.7563603430619676, 0.7615941559557649, -0.7615941559557649, 0.8087679479619252, -0.8087679479619252, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, }; private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = Math.tanh(inputValues[i]); // exact equality harness.check(Double.doubleToLongBits(res), Double.doubleToLongBits(outputValues[i])); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); // exact equality harness.check(Double.doubleToRawLongBits(Math.tanh(valNaN)), bitsNaN); } } public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { double res; for (int i = 0; i < inputValues.length; ++i) { res = Math.tanh(inputValues[i]); System.out.println(Double.toString(res)); } } } mauve-20140821/gnu/testlet/java/lang/Math/cbrt.java0000644000175000001440000000665212017643230020561 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2006 Carsten Neumann // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.Math; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test for a static method Math.cbrt() */ public class cbrt implements Testlet { /** * These values are used as arguments to cbrt. */ private static double[] inputValues = { 0.0, Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, 123456789e-9, -123456789e-6, 123456789e+2, -123456789e+4, 987654321e-7, -987654321e-4, 987654321e+3, -987654321e+5, 1234509876e-320, // subnormal number 9756272385e-325, // subnormal number Math.PI, Math.E }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { 0.0, Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, 0.49793385921817446, -4.979338592181745, 2311.204240824796, -10727.659796410873, 4.622408495690158, -46.224084956901585, 9958.677214612972, -46224.08495690158, 2.3111680380625372e-104, 9.918088333941088e-106, 1.4645918875615231, 1.3956124250860895 }; /** * Test if input NaN is returned unchanged. */ private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; /** * Test not NaN values. */ private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = Math.cbrt(inputValues[i]); // exact equality harness.check(Double.doubleToLongBits(res), Double.doubleToLongBits(outputValues[i])); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); // exact equality harness.check(Double.doubleToRawLongBits(Math.cbrt(valNaN)), bitsNaN); } } /** * Entry point to a test. */ public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { double res; for (int i = 0; i < inputValues.length; ++i) { res = Math.cbrt(inputValues[i]); System.out.println(Double.toString(res)); } } } mauve-20140821/gnu/testlet/java/lang/Math/MathTest.java0000644000175000001440000004030410367245762021366 0ustar dokousers/* Copyright (C) 1999 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.0 package gnu.testlet.java.lang.Math; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class MathTest implements Testlet { protected static TestHarness harness; public void test_Basics() { harness.check(!( Math.E != 2.7182818284590452354 ), "test_Basics - 1"); harness.check(!( Math.PI != 3.14159265358979323846 ), "test_Basics - 2"); } public void test_sincostan() { harness.check(!( !(new Double(Math.sin( Double.NaN ))).isNaN() ), "test_sincostan - 1"); harness.check(!( !(new Double(Math.sin( Double.POSITIVE_INFINITY ))).isNaN() ), "test_sincostan - 2"); harness.check(!( !(new Double(Math.sin( Double.NEGATIVE_INFINITY ))).isNaN() ), "test_sincostan - 3"); harness.check(!( Math.sin( -0.0 ) != -0.0 ), "test_sincostan - 4"); harness.check(!( Math.sin( 0.0 ) != 0.0 ), "test_sincostan - 5"); harness.check(!( !(new Double(Math.cos( Double.NaN ))).isNaN() ), "test_sincostan - 6"); harness.check(!( !(new Double(Math.cos( Double.POSITIVE_INFINITY ))).isNaN() ), "test_sincostan - 7"); harness.check(!( !(new Double(Math.cos( Double.NEGATIVE_INFINITY ))).isNaN() ), "test_sincostan - 8"); harness.check(!( !(new Double(Math.tan( Double.NaN ))).isNaN() ), "test_sincostan - 9"); harness.check(!( !(new Double(Math.tan( Double.POSITIVE_INFINITY ))).isNaN() ), "test_sincostan - 10"); harness.check(!( !(new Double(Math.tan( Double.NEGATIVE_INFINITY ))).isNaN()), "test_sincostan - 11"); harness.check(!( Math.tan( -0.0 ) != -0.0 ), "test_sincostan - 12"); harness.check(!( Math.tan( 0.0 ) != 0.0 ), "test_sincostan - 13"); harness.check(!( Math.sin( Math.PI / 2.0 + Math.PI /6.0 ) <= 0.0 ), "test_sincostan - 14"); harness.check(!( Math.cos( Math.PI / 2.0 + Math.PI /6.0 ) >= 0.0 ), "test_sincostan - 14"); harness.check(!( Math.tan( Math.PI / 2.0 + Math.PI /6.0 ) >= 0.0 ), "test_sincostan - 14"); } public void test_asinacosatan() { harness.check(!( !(new Double(Math.asin( Double.NaN ))).isNaN() ), "test_asinacosatan - 1"); harness.check(!( Math.asin( -0.0 ) != -0.0 ), "test_asinacosatan - 2"); harness.check(!( Math.asin( 0.0 ) != 0.0 ), "test_asinacosatan - 3"); harness.check(!( !(new Double(Math.asin( 10.0 ))).isNaN() ), "test_asinacosatan - 4"); harness.check(!( !(new Double(Math.acos( Double.NaN ))).isNaN() ), "test_asinacosatan - 5"); harness.check(!( !(new Double(Math.acos( 10.0 ))).isNaN() ), "test_asinacosatan - 6"); harness.check(!( !(new Double(Math.atan( Double.NaN ))).isNaN() ), "test_asinacosatan - 7"); harness.check(!( Math.atan( -0.0 ) != -0.0 ), "test_asinacosatan - 8"); harness.check(!( Math.atan( 0.0 ) != 0.0 ), "test_asinacosatan - 9"); } public void test_atan2() { harness.check(!(!(new Double( Math.atan2 (1.0 , Double.NaN ))).isNaN()), "test_atan2 - 1"); harness.check(!(!(new Double( Math.atan2 (Double.NaN,1.0 ))).isNaN()), "test_atan2 - 2"); harness.check(!(( Math.atan2(0.0, 10.0 ) != -0.0 ) || ( Math.atan2(2.0 , Double.POSITIVE_INFINITY ) != -0.0 )), "test_atan2 - 3"); harness.check(!(( Math.atan2(-0.0, 10.0 ) != -0.0 ) || ( Math.atan2(-2.0 , Double.POSITIVE_INFINITY ) != -0.0 )), "test_atan2 - 4"); harness.check(!(( Math.atan2(0.0, -10.0 ) != Math.PI) || ( Math.atan2(2.0 , Double.NEGATIVE_INFINITY ) != Math.PI )), "test_atan2 - 4"); harness.check(!(( Math.atan2(-0.0, -10.0 ) != -Math.PI) || ( Math.atan2(-2.0 , Double.NEGATIVE_INFINITY ) != -Math.PI )), "test_atan2 - 5"); harness.check(!(( Math.atan2(10.0, 0.0 ) != Math.PI/2.0) || ( Math.atan2(Double.POSITIVE_INFINITY , 3.0) != Math.PI /2.0)), "test_atan2 - 6"); harness.check(!(( Math.atan2(-10.0, 0.0 ) != -Math.PI/2.0) || ( Math.atan2(Double.NEGATIVE_INFINITY , 3.0) != -Math.PI /2.0)), "test_atan2 - 7"); harness.check(!(( Math.atan2(Double.POSITIVE_INFINITY, Double.POSITIVE_INFINITY ) != Math.PI/4.0)), "test_atan2 - 8"); harness.check(!(( Math.atan2(Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY ) != Math.PI*3.0/4.0)), "test_atan2 - 9"); harness.check(!(( Math.atan2(Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY ) != -Math.PI/4.0)), "test_atan2 - 10"); harness.check(!(( Math.atan2(Double.NEGATIVE_INFINITY, Double.NEGATIVE_INFINITY ) != -Math.PI*3.0/4.0)), "test_atan2 - 11"); } public void test_exp() { harness.check(!( !(new Double(Math.exp( Double.NaN ))).isNaN() ), "test_exp - 1"); harness.check(!( !(new Double(Math.exp( Double.POSITIVE_INFINITY))).isInfinite() ), "test_exp - 2"); harness.check(!( Math.exp( Double.NEGATIVE_INFINITY) != 0.0 ), "test_exp - 3"); } public void test_log() { harness.check(!( !(new Double(Math.log( Double.NaN ))).isNaN() ), "test_log - 1"); harness.check(!( !(new Double(Math.log( -1.0 ))).isNaN() ), "test_log - 2"); harness.check(!( !(new Double(Math.log( Double.POSITIVE_INFINITY ))).isInfinite() ), "test_log - 3"); } public void test_sqrt() { harness.check(!( !(new Double(Math.sqrt( Double.NaN ))).isNaN() || !(new Double(Math.sqrt( -10.0 ))).isNaN()), "test_sqrt - 1"); harness.check(!( !(new Double(Math.sqrt( Double.NaN ))).isNaN() || !(new Double(Math.sqrt( -10.0 ))).isNaN()), "test_sqrt - 2"); harness.check(!( !(new Double(Math.sqrt( Double.POSITIVE_INFINITY))).isInfinite()), "test_sqrt - 3"); harness.check(!( Math.sqrt( -0.0) != -0.0 || Math.sqrt( 0.0) != 0.0 ), "test_sqrt - 4"); harness.check(!( Math.sqrt( -0.0) != -0.0 || Math.sqrt( 0.0) != 0.0 ), "test_sqrt - 5"); double sq = Math.sqrt(4.0); harness.check(!(!( sq >= 1.9999 && sq <= 2.111 )), "test_sqrt - 6"); } public void test_pow() { harness.check(!( Math.pow(1.0 , 0.0 ) != 1.0 ), "test_pow - 1"); harness.check(!( Math.pow(2.0 , -0.0 ) != 1.0 ), "test_pow - 2"); harness.check(!( Math.pow(123.0 , 1.0 ) != 123.0 ), "test_pow - 3"); harness.check(!( !(new Double(Math.pow( 10.0, Double.NaN ))).isNaN()), "test_pow - 4"); harness.check(!( !(new Double(Math.pow( Double.NaN, 1.0 ))).isNaN()), "test_pow - 5"); harness.check(!( !(new Double(Math.pow( 2.0, Double.POSITIVE_INFINITY ))).isInfinite()), "test_pow - 6"); harness.check(!( !(new Double(Math.pow( 0.5, Double.NEGATIVE_INFINITY ))).isInfinite()), "test_pow - 7"); harness.check(!( Math.pow( 1.5, Double.NEGATIVE_INFINITY ) != 0.0 || Math.pow( 0.5, Double.POSITIVE_INFINITY ) != 0.0), "test_pow - 8"); harness.check(!( !(new Double(Math.pow( 1.0, Double.POSITIVE_INFINITY ))).isNaN()), "test_pow - 9"); harness.check(!( Math.pow( 0.0, 1.0) != 0.0 || Math.pow( Double.POSITIVE_INFINITY , -1.0 ) != 0.0), "test_pow - 10"); harness.check(!( !(new Double(Math.pow( 0.0, -1.0 ))).isInfinite() || !(new Double(Math.pow( Double.POSITIVE_INFINITY, 1.0 ))).isInfinite() ), "test_pow - 11"); harness.check(!( Math.pow( -0.0, 5.0) != -0.0 || Math.pow( Double.NEGATIVE_INFINITY , -7.0 ) != -0.0), "test_pow - 12"); harness.check(!( Math.pow( -2.0, 6.0) != Math.pow(2.0,6.0)), "test_pow - 13"); harness.check(!( Math.pow( -2.0, 5.0) != -Math.pow(2.0,5.0)), "test_pow - 14"); } public void test_IEEEremainder() { harness.check(!( !(new Double(Math.IEEEremainder( Double.NaN, 1.0 ))).isNaN()), "test_IEEEremainder - 1"); harness.check(!( !(new Double(Math.IEEEremainder( 1.0,Double.NaN))).isNaN()), "test_IEEEremainder - 2"); harness.check(!( !(new Double(Math.IEEEremainder( Double.POSITIVE_INFINITY , 2.0))).isNaN()), "test_IEEEremainder - 3"); harness.check(!( !(new Double(Math.IEEEremainder( 2.0,0.0))).isNaN() ), "test_IEEEremainder - 4"); harness.check(!( Math.IEEEremainder( 3.0, Double.POSITIVE_INFINITY ) != 3.0 ), "test_IEEEremainder - 5"); } public void test_ceil() { harness.check(!( Math.ceil(5.0) != 5.0 ), "test_ceil - 1"); harness.check(!( Math.ceil(0.0) != 0.0 || Math.ceil(-0.0) != -0.0 ), "test_ceil - 2"); harness.check(!( !(new Double(Math.ceil(Double.POSITIVE_INFINITY))).isInfinite() || !(new Double(Math.ceil(Double.NaN))).isNaN()), "test_ceil - 3"); harness.check(!( Math.ceil(-0.5) != -0.0 ), "test_ceil - 4"); harness.check(!( Math.ceil( 2.5 ) != 3.0 ), "test_ceil - 5"); } public void test_floor() { harness.check(!( Math.floor(5.0) != 5.0 ), "test_floor - 1"); harness.check(!( Math.floor(2.5) != 2.0 ), "test_floor - 2"); harness.check(!( !(new Double(Math.floor(Double.POSITIVE_INFINITY))).isInfinite() || !(new Double(Math.floor(Double.NaN))).isNaN()), "test_floor - 3"); harness.check(!( Math.floor(0.0) != 0.0 || Math.floor(-0.0) != -0.0 ), "test_floor - 4"); } public void test_rint() { harness.check(!( Math.rint( 2.3 ) != 2.0 ), "test_rint - 1"); harness.check(!( Math.rint( 2.7 ) != 3.0 ), "test_rint - 2"); harness.check(!(Math.rint( 2.5) != 2.0 ), "test_rint - 3"); harness.check(!( Math.rint( 2.0) != 2.0 ), "test_rint - 4"); harness.check(!( Math.rint( 2.0) != 2.0 ), "test_rint - 5"); harness.check(!( !(new Double(Math.rint(Double.POSITIVE_INFINITY))).isInfinite() || !(new Double(Math.rint(Double.NaN))).isNaN()), "test_rint - 6"); harness.check(!( Math.rint(0.0) != 0.0 || Math.rint(-0.0) != -0.0 ), "test_rint - 7"); } public void test_round() { harness.check(!( Math.round( 3.4 ) != 3 ), "test_round - 1"); harness.check(!( Math.round( 9.55 ) != 10 ), "test_round - 2"); harness.check(!( Math.round(Double.NaN) != 0 ), "test_round - 3"); float f1 = Integer.MIN_VALUE; f1 -= 5; harness.check(!( Math.round(f1) != Integer.MIN_VALUE || Math.round(Float.NEGATIVE_INFINITY) != Integer.MIN_VALUE ), "test_round - 4"); f1 = Integer.MAX_VALUE; f1 += 5; harness.check(!( Math.round(f1) != Integer.MAX_VALUE || Math.round(Float.POSITIVE_INFINITY) != Integer.MAX_VALUE ), "test_round - 5"); double d1 = Long.MIN_VALUE; d1 -= 5; harness.check(!( Math.round(d1) != Long.MIN_VALUE || Math.round(Double.NEGATIVE_INFINITY) != Long.MIN_VALUE ), "test_round - 6"); d1 = Long.MAX_VALUE; d1 += 5; harness.check(!( Math.round(d1) != Long.MAX_VALUE || Math.round(Double.POSITIVE_INFINITY) != Long.MAX_VALUE ), "test_round - 7"); harness.check(!( Math.round( 3.4f ) != 3 ), "test_round - 8"); harness.check(!( Math.round( 9.55f ) != 10 ), "test_round - 9"); harness.check(!( Math.round(Float.NaN) != 0 ), "test_round - 10"); } public void test_random() { harness.check(!( Math.random() < 0.0 || Math.random() > 1.0 ), "test_random - 1"); } public void test_abs() { harness.check(!( Math.abs( 10 ) != 10 ), "test_abs - 1"); harness.check(!( Math.abs( -23 ) != 23 ), "test_abs - 2"); harness.check(!( Math.abs( Integer.MIN_VALUE ) != Integer.MIN_VALUE ), "test_abs - 3" ); harness.check(!( Math.abs(-0) != 0 ), "test_abs - 4" ); harness.check(!( Math.abs( 1000L ) != 1000 ), "test_abs - 5"); harness.check(!( Math.abs( -2334242L ) != 2334242 ), "test_abs - 6"); harness.check(!( Math.abs( Long.MIN_VALUE ) != Long.MIN_VALUE ), "test_abs - 7" ); harness.check(!( Math.abs( 0.0f ) != 0.0f || Math.abs(-0.0f) != 0.0f ), "test_abs - 8" ); harness.check(!( !(new Float(Math.abs( Float.POSITIVE_INFINITY ))).isInfinite() ), "test_abs - 9" ); harness.check(!( !(new Float(Math.abs( Float.NaN ))).isNaN() ), "test_abs - 10" ); harness.check(!( Math.abs( 23.34f ) != 23.34f ), "test_abs - 11" ); harness.check(!( Math.abs( 0.0 ) != 0.0 || Math.abs(-0.0) != 0.0 ), "test_abs - 12" ); harness.check(!( !(new Double(Math.abs( Double.POSITIVE_INFINITY ))).isInfinite() ), "test_abs - 13" ); harness.check(!( !(new Double(Math.abs( Double.NaN ))).isNaN() ), "test_abs - 14" ); harness.check(!( Math.abs( 23.34 ) != 23.34 ), "test_abs - 15" ); } public void test_min() { harness.check(!( Math.min( 100 , 12 ) != 12 ), "test_min - 1" ); harness.check(!( Math.min( Integer.MIN_VALUE , Integer.MIN_VALUE + 1 ) != Integer.MIN_VALUE ), "test_min - 2" ); harness.check(!( Math.min( Integer.MAX_VALUE , Integer.MAX_VALUE -1 ) != Integer.MAX_VALUE -1 ), "test_min - 3" ); harness.check(!( Math.min( 10 , 10 ) != 10 ), "test_min - 4" ); harness.check(!( Math.min( 0 , -0 ) != -0 ), "test_min - 5" ); harness.check(!( Math.min( 100L , 12L ) != 12L ), "test_min - 6" ); harness.check(!( Math.min( Long.MIN_VALUE , Long.MIN_VALUE + 1 ) != Long.MIN_VALUE ), "test_min - 7" ); harness.check(!( Math.min( Long.MAX_VALUE , Long.MAX_VALUE -1 ) != Long.MAX_VALUE -1 ), "test_min - 8" ); harness.check(!( Math.min( 10L , 10L ) != 10L ), "test_min - 9" ); harness.check(!( Math.min( 0L , -0L ) != -0L ), "test_min - 10" ); harness.check(!( Math.min( 23.4f , 12.3f ) != 12.3f ), "test_min - 11" ); harness.check(!( !(new Float(Math.min( Float.NaN , 1.0f ))).isNaN() ), "test_min - 12" ); harness.check(!( Math.min( 10.0f , 10.0f ) != 10.0f ), "test_min - 13" ); harness.check(!( Math.min( 0.0f , -0.0f ) != -0.0f ), "test_min - 14" ); harness.check(!( Math.min( 23.4 , 12.3 ) != 12.3 ), "test_min - 15" ); harness.check(!( !(new Double(Math.min( Double.NaN , 1.0 ))).isNaN() ), "test_min - 16" ); harness.check(!( Math.min( 10.0 , 10.0 ) != 10.0 ), "test_min - 17" ); harness.check(!( Math.min( 0.0 , -0.0 ) != -0.0 ), "test_min - 18" ); } public void test_max() { harness.check(!( Math.max( 100 , 12 ) != 100 ), "test_max - 1" ); harness.check(!( Math.max( Integer.MAX_VALUE , Integer.MAX_VALUE - 1 ) != Integer.MAX_VALUE ), "test_max - 2" ); harness.check(!( Math.max( Integer.MIN_VALUE , Integer.MIN_VALUE + 1 ) != Integer.MIN_VALUE +1 ), "test_max - 3" ); harness.check(!( Math.max( 10 , 10 ) != 10 ), "test_max - 4" ); harness.check(!( Math.max( 0 , -0 ) != 0 ), "test_max - 5" ); harness.check(!( Math.max( 100L , 12L ) != 100L ), "test_max - 6" ); harness.check(!( Math.max( Long.MAX_VALUE , Long.MAX_VALUE - 1 ) != Long.MAX_VALUE ), "test_max - 7" ); harness.check(!( Math.max( Long.MIN_VALUE , Long.MIN_VALUE +1 ) != Long.MIN_VALUE + 1 ), "test_max - 8" ); harness.check(!( Math.max( 10L , 10L ) != 10L ), "test_max - 9" ); harness.check(!( Math.max( 0L , -0L ) != 0L ), "test_max - 10" ); harness.check(!( Math.max( 23.4f , 12.3f ) != 23.4f ), "test_max - 11" ); harness.check(!( !(new Float(Math.max( Float.NaN , 1.0f ))).isNaN() ), "test_max - 12" ); harness.check(!( Math.max( 10.0f , 10.0f ) != 10.0f ), "test_max - 13" ); harness.check(!( Math.max( 0.0f , -0.0f ) != 0.0f ), "test_max - 14" ); harness.check(!( Math.max( 23.4 , 12.3 ) != 23.4 ), "test_max - 15" ); harness.check(!( !(new Double(Math.max( Double.NaN , 1.0 ))).isNaN() ), "test_max - 16" ); harness.check(!( Math.max( 10.0 , 10.0 ) != 10.0 ), "test_max - 17" ); harness.check(!( Math.max( 0.0 , -0.0 ) != 0.0 ), "test_max - 18" ); } public void testall() { test_Basics(); test_sincostan(); test_asinacosatan(); test_atan2(); test_log(); test_exp(); test_sqrt(); test_pow(); test_IEEEremainder(); test_ceil(); test_floor(); test_rint(); test_round(); test_random(); test_abs(); test_min(); test_max(); } public void test (TestHarness the_harness) { harness = the_harness; testall (); } } mauve-20140821/gnu/testlet/java/lang/Math/cos.java0000644000175000001440000001043112017425571020407 0ustar dokousers// Tags: JDK1.0 /* Copyright (C) 1999 Cygnus Solutions Copyright (C) 2012 Pavel Tisnovsky This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Math; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class cos implements Testlet { /** * Function (=static method) checked by this test. */ private static double testedFunction(double input) { return Math.cos(input); } /** * These values are used as arguments to compute cos using Math. */ private static double[] inputValues = { Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, Double.MAX_VALUE, Double.MIN_VALUE, 0.0, Math.PI/4, Math.PI/2, Math.PI, 2*Math.PI, 4*Math.PI, 100*Math.PI, 1e10, 1e-10, -0.0, -Math.PI/4, -Math.PI/2, -Math.PI, -2*Math.PI, -4*Math.PI, -100*Math.PI, -1e10, -1e-10, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { // output value input value Double.NaN, // NaN Double.NaN, // Infinity Double.NaN, // -Infinity -0.9999876894265599, // Double.MAX_VALUE 1.0, // Double.MIN_VALUE 1.0, // 0.0 0.7071067811865476, // Math.PI/4 6.123233995736766E-17, // Math.PI/2 -1.0, // Math.PI 1.0, // 2*Math.PI 1.0, // 4*Math.PI 1.0, // 100*Math.PI 0.873119622676856, // 1.0E10 1.0, // 1.0E-10 1.0, // -0.0 0.7071067811865476, // -Math.PI/4 6.123233995736766E-17, // -Math.PI/2 -1.0, // -Math.PI 1.0, // -2*Math.PI 1.0, // -4*Math.PI 1.0, // -100*Math.PI 0.873119622676856, // -1.0E10 1.0, // -1.0E-10 }; /** * These values represent various NaN */ private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; /** * Test not NaN values. */ private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = testedFunction(inputValues[i]); // exact equality harness.check(Double.doubleToLongBits(res), Double.doubleToLongBits(outputValues[i])); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); // exact equality harness.check(Double.doubleToRawLongBits(testedFunction(valNaN)), bitsNaN); } } public void test (TestHarness harness) { harness.check (new Double (Math.cos (0)).toString (), "1.0"); harness.check (new Double (Math.cos (Math.PI)).toString (), "-1.0"); harness.check (Math.abs (Math.cos (Math.PI/2)) <= 1.1102230246251565E-16); // It's unreasonable to expect the result of this to be eactly // zero, but 2^-53, the value of the constant used here, is 1ulp // in the range of cos. testInputValues(harness); testNaN(harness); } } mauve-20140821/gnu/testlet/java/lang/Math/sinh.java0000644000175000001440000000726512017643230020571 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2006 Carsten Neumann // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.Math; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class sinh implements Testlet { /** * These values are used as arguments to sinh. * The values are somewhat arbitrary, but ensure that all code paths * are tested. */ private static double[] inputValues = { 0.0, Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, 0.123456789, -0.123456789, 0.234242656456, -0.234242656456, 1.23456789, -1.23456789, 9.87654321, -9.87654321, 21.9999, -21.9999, 567.891234, -567.891234, 708.742342, -708.742342, 709.7827128, -709.7827128, 710.475860073943, 710.4755859375, 723.6787676346, -723.6787676346, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { 0.0, Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, 0.1237706408130359, -0.1237706408130359, 0.23639067538469039, -0.23639067538469039, 1.5729663108942873, -1.5729663108942873, 9734.154152818386, -9734.154152818386, 1.792277186385473E9, -1.792277186385473E9, 2.1428869091881118E246, -2.1428869091881118E246, 3.1758371607555525E307, -3.1758371607555525E307, 8.988464834932886E307, -8.988464834932886E307, 1.7976931348605396E308, 1.7972003892018829E308, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, }; private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = Math.sinh(inputValues[i]); // exact equality harness.check(Double.doubleToLongBits(res), Double.doubleToLongBits(outputValues[i])); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); // exact equality harness.check(Double.doubleToRawLongBits(Math.sinh(valNaN)), bitsNaN); } } public void test(TestHarness harness) { testInputValues(harness); testNaN(harness); } /** * Run this on the RI to obtain the expected output values. */ public static void main(String[] argv) { double res; for (int i = 0; i < inputValues.length; ++i) { res = Math.sinh(inputValues[i]); System.out.println(Double.toString(res)); } } } mauve-20140821/gnu/testlet/java/lang/Math/sin.java0000644000175000001440000001000712017425571020413 0ustar dokousers// Tags: JDK1.0 /* Copyright (C) 2000 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Math; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test for a static method Math.sin() */ public class sin implements Testlet { /** * Function (=static method) checked by this test. */ private static double testedFunction(double input) { return Math.sin(input); } /** * These values are used as arguments to compute sin using Math. */ private static double[] inputValues = { Double.NaN, Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, Double.MAX_VALUE, Double.MIN_VALUE, 0.0, Math.PI/4, Math.PI/2, Math.PI, 2*Math.PI, 4*Math.PI, 100*Math.PI, 1e10, 1e-10, -0.0, -Math.PI/4, -Math.PI/2, -Math.PI, -2*Math.PI, -4*Math.PI, -100*Math.PI, -1e10, -1e-10, }; /** * These values are the expected results, obtained from the RI. */ private static double[] outputValues = { // output value input value Double.NaN, // NaN Double.NaN, // Infinity Double.NaN, // -Infinity 0.004961954789184062, // Double.MAX_VALUE 4.9E-324, // Double.MIN_VALUE 0.0, // 0.0 0.7071067811865475, // Math.PI/4 1.0, // Math.PI/2 1.2246467991473532E-16, // Math.PI -2.4492935982947064E-16,// 2*Math.PI -4.898587196589413E-16, // 4*Math.PI 1.964386723728472E-15, // 100*Math.PI -0.4875060250875107, // 1.0E10 1.0E-10, // 1.0E-10 -0.0, // -0.0 -0.7071067811865475, // -Math.PI/4 -1.0, // -Math.PI/2 -1.2246467991473532E-16,// -Math.PI 2.4492935982947064E-16, // -2*Math.PI 4.898587196589413E-16, // -4*Math.PI -1.964386723728472E-15, // -100*Math.PI 0.4875060250875107, // -1.0E10 -1.0E-10, // -1.0E-10 }; /** * These values represent various NaN */ private static long[] NaNValues = { 0x7fff800000000000L, 0xffff800000000000L, 0x7fff812345abcdefL, 0xffff812345abcdefL, 0x7fff000000000001L, 0xffff000000000001L, 0x7fff7654321fedcbL, 0xffff7654321fedcbL }; /** * Test not NaN values. */ private void testInputValues(TestHarness harness) { double res; for (int i = 0; i < inputValues.length; ++i) { res = testedFunction(inputValues[i]); // exact equality harness.check(Double.doubleToLongBits(res), Double.doubleToLongBits(outputValues[i])); } } /** * Test if input NaN is returned unchanged. */ private void testNaN(TestHarness harness) { long bitsNaN; double valNaN; for (int i = 0; i < NaNValues.length; ++i) { bitsNaN = NaNValues[i]; valNaN = Double.longBitsToDouble(bitsNaN); // exact equality harness.check(Double.doubleToRawLongBits(testedFunction(valNaN)), bitsNaN); } } /** * Entry point to a test. */ public void test (TestHarness harness) { harness.check (new Double (Math.sin (1e50)).toString (), "-0.4805001434937588"); testInputValues(harness); testNaN(harness); } } mauve-20140821/gnu/testlet/java/lang/Runtime/0000755000175000001440000000000012375316426017520 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Runtime/security.java0000644000175000001440000001452610562130333022225 0ustar dokousers// Copyright (C) 2006, 2007 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 package gnu.testlet.java.lang.Runtime; import java.io.File; import java.io.FilePermission; import java.security.Permission; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.TestSecurityManager; public class security implements Testlet { public void test(TestHarness harness) { try { harness.checkPoint("setup"); Runtime runtime = Runtime.getRuntime(); String sCommand = "/bin/true"; harness.check(new File(sCommand).isFile()); String[] aCommand = new String[] {sCommand}; Thread thread = new Thread(); String library_name = "blah"; String library_path = "/path/to/libnothing.so"; Permission[] executeCommand = new Permission[] { new FilePermission(sCommand, "execute")}; Permission[] modifyThreadOrGroup = new Permission[] { new RuntimePermission("modifyThread"), new RuntimePermission("modifyThreadGroup")}; Permission[] exitVM = new Permission[] { new RuntimePermission("exitVM")}; Permission[] shutdownHooks = new Permission[] { new RuntimePermission("shutdownHooks")}; Permission[] loadLibrary_name = new Permission[] { new RuntimePermission("loadLibrary." + library_name)}; Permission[] loadLibrary_path = new Permission[] { new RuntimePermission("loadLibrary." + library_path)}; TestSecurityManager sm = new TestSecurityManager(harness); try { sm.install(); // throwpoint: java.lang.Runtime-exec(String) harness.checkPoint("exec(String)"); try { sm.prepareChecks(executeCommand, modifyThreadOrGroup); runtime.exec(sCommand).waitFor(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.Runtime-exec(String, String[]) harness.checkPoint("exec(String, String[])"); try { sm.prepareChecks(executeCommand, modifyThreadOrGroup); runtime.exec(sCommand, null).waitFor(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.Runtime-exec(String, String[], File) harness.checkPoint("exec(String, String[], File)"); try { sm.prepareChecks(executeCommand, modifyThreadOrGroup); runtime.exec(sCommand, null, null).waitFor(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.Runtime-exec(String[]) harness.checkPoint("exec(String[])"); try { sm.prepareChecks(executeCommand, modifyThreadOrGroup); runtime.exec(aCommand).waitFor(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.Runtime-exec(String[], String[]) harness.checkPoint("exec(String[], String[])"); try { sm.prepareChecks(executeCommand, modifyThreadOrGroup); runtime.exec(aCommand, null).waitFor(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.Runtime-exec(String[], String[], File) harness.checkPoint("exec(String[], String[], File)"); try { sm.prepareChecks(executeCommand, modifyThreadOrGroup); runtime.exec(aCommand, null, null).waitFor(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.Runtime-exit harness.checkPoint("exit"); try { sm.prepareHaltingChecks(exitVM); runtime.exit(0); harness.check(false); } catch (TestSecurityManager.SuccessException ex) { harness.check(true); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.Runtime-runFinalizersOnExit harness.checkPoint("runFinalizersOnExit"); try { sm.prepareChecks(exitVM); Runtime.runFinalizersOnExit(false); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.Runtime-addShutdownHook harness.checkPoint("addShutdownHook"); try { sm.prepareChecks(shutdownHooks); runtime.addShutdownHook(thread); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.Runtime-removeShutdownHook harness.checkPoint("removeShutdownHook"); try { sm.prepareChecks(shutdownHooks); runtime.removeShutdownHook(thread); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.Runtime-load harness.checkPoint("load"); try { sm.prepareHaltingChecks(loadLibrary_name); runtime.load(library_name); harness.check(false); } catch (TestSecurityManager.SuccessException ex) { harness.check(true); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.Runtime-loadLibrary harness.checkPoint("loadLibrary"); try { sm.prepareHaltingChecks(loadLibrary_path); runtime.loadLibrary(library_path); harness.check(false); } catch (TestSecurityManager.SuccessException ex) { harness.check(true); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } finally { sm.uninstall(); } } catch (Exception ex) { harness.debug(ex); harness.check(false, "Unexpected exception"); } } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/0000755000175000001440000000000012375316426022117 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/constructor.java0000644000175000001440000000375112314243307025343 0ustar dokousers// Test if instances of a class java.lang.NoSuchFieldException could be properly constructed // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; /** * Test if instances of a class java.lang.NoSuchFieldException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { NoSuchFieldException object1 = new NoSuchFieldException(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.NoSuchFieldException"); NoSuchFieldException object2 = new NoSuchFieldException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.NoSuchFieldException: nothing happens"); NoSuchFieldException object3 = new NoSuchFieldException(null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.NoSuchFieldException"); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/TryCatch.java0000644000175000001440000000332612314243307024475 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.NoSuchFieldException // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; /** * Test if try-catch block is working properly for a class java.lang.NoSuchFieldException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new NoSuchFieldException("NoSuchFieldException"); } catch (NoSuchFieldException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/0000755000175000001440000000000012375316426024040 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/getDeclaredConstructor.java0000644000175000001440000000714312316504347031355 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchFieldException.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.NoSuchFieldException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.NoSuchFieldException", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.NoSuchFieldException", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.NoSuchFieldException", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/getPackage.java0000644000175000001440000000326512317211117026727 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().getPackage() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; /** * Test for method java.lang.NoSuchFieldException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/getDeclaredMethods.java0000644000175000001440000000621712315242012030417 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchFieldException.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/getInterfaces.java0000644000175000001440000000332512314243307027457 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().getInterfaces() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.NoSuchFieldException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/getModifiers.java0000644000175000001440000000451612314243307027320 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().getModifiers() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; import java.lang.reflect.Modifier; /** * Test for method java.lang.NoSuchFieldException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/getDeclaredFields.java0000644000175000001440000000715512315242012030224 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().getDeclaredFields() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchFieldException.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.NoSuchFieldException.serialVersionUID", "serialVersionUID"); // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/getDeclaredConstructors.java0000644000175000001440000001050212316504350031523 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchFieldException.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.NoSuchFieldException()", "java.lang.NoSuchFieldException"); testedDeclaredConstructors_jdk6.put("public java.lang.NoSuchFieldException(java.lang.String)", "java.lang.NoSuchFieldException"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.NoSuchFieldException()", "java.lang.NoSuchFieldException"); testedDeclaredConstructors_jdk7.put("public java.lang.NoSuchFieldException(java.lang.String)", "java.lang.NoSuchFieldException"); // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/getField.java0000644000175000001440000000555212316736342026433 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().getField() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchFieldException.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/getFields.java0000644000175000001440000000571012316736342026612 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().getFields() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchFieldException.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/isPrimitive.java0000644000175000001440000000320112317506750027200 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; /** * Test for method java.lang.NoSuchFieldException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/getSimpleName.java0000644000175000001440000000325312317211117027423 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().getSimpleName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; /** * Test for method java.lang.NoSuchFieldException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "NoSuchFieldException"); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/getEnclosingClass.java0000644000175000001440000000330712315242013030275 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().getEnclosingClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; /** * Test for method java.lang.NoSuchFieldException.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/isAnnotationPresent.java0000644000175000001440000000441012314762673030713 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; /** * Test for method java.lang.NoSuchFieldException.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/isSynthetic.java0000644000175000001440000000322212317506750027205 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; /** * Test for method java.lang.NoSuchFieldException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/isAnnotation.java0000644000175000001440000000322012314762673027350 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().isAnnotation() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; /** * Test for method java.lang.NoSuchFieldException.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/isInstance.java0000644000175000001440000000330712317211117026771 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().isInstance(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; /** * Test for method java.lang.NoSuchFieldException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new NoSuchFieldException("java.lang.NoSuchFieldException"))); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/getDeclaredMethod.java0000644000175000001440000000615612315242012030236 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchFieldException.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/getDeclaredClasses.java0000644000175000001440000000336312316504347030425 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; /** * Test for method java.lang.NoSuchFieldException.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/getComponentType.java0000644000175000001440000000330312314534706030202 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().getComponentType() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; /** * Test for method java.lang.NoSuchFieldException.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/getMethod.java0000644000175000001440000001432612316736343026630 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().getMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchFieldException.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/isMemberClass.java0000644000175000001440000000323212317506750027431 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; /** * Test for method java.lang.NoSuchFieldException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/getConstructor.java0000644000175000001440000000710312314534706027725 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().getConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchFieldException.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.NoSuchFieldException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.NoSuchFieldException", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.NoSuchFieldException", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.NoSuchFieldException", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/getSuperclass.java0000644000175000001440000000345312317211117027517 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().getSuperclass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; /** * Test for method java.lang.NoSuchFieldException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName().equals("java.lang.Exception") || superClass.getName().equals("java.lang.ReflectiveOperationException")); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/isEnum.java0000644000175000001440000000317012314762674026147 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().isEnum() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; /** * Test for method java.lang.NoSuchFieldException.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/getMethods.java0000644000175000001440000001771012316736343027013 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().getMethods() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchFieldException.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/getAnnotations.java0000644000175000001440000000576312314534706027707 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().getAnnotations() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.NoSuchFieldException.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/InstanceOf.java0000644000175000001440000000364312314243307026730 0ustar dokousers// Test for instanceof operator applied to a class java.lang.NoSuchFieldException // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.NoSuchFieldException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldException NoSuchFieldException o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // basic check of instanceof operator harness.check(o instanceof NoSuchFieldException); // check operator instanceof against all superclasses harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/getDeclaringClass.java0000644000175000001440000000330712315242013030244 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().getDeclaringClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; /** * Test for method java.lang.NoSuchFieldException.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/getAnnotation.java0000644000175000001440000000507212314534705027514 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().getAnnotation() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; /** * Test for method java.lang.NoSuchFieldException.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/isAnonymousClass.java0000644000175000001440000000324012314762673030216 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().isAnonymousClass() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; /** * Test for method java.lang.NoSuchFieldException.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/getEnclosingMethod.java0000644000175000001440000000332712316736342030470 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; /** * Test for method java.lang.NoSuchFieldException.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/isInterface.java0000644000175000001440000000322212317506750027133 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().isInterface(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; /** * Test for method java.lang.NoSuchFieldException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/getConstructors.java0000644000175000001440000001013512316504347030107 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().getConstructors() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchFieldException.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.NoSuchFieldException()", "java.lang.NoSuchFieldException"); testedConstructors_jdk6.put("public java.lang.NoSuchFieldException(java.lang.String)", "java.lang.NoSuchFieldException"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.NoSuchFieldException()", "java.lang.NoSuchFieldException"); testedConstructors_jdk7.put("public java.lang.NoSuchFieldException(java.lang.String)", "java.lang.NoSuchFieldException"); // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/isAssignableFrom.java0000644000175000001440000000327612317211117030126 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; /** * Test for method java.lang.NoSuchFieldException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(NoSuchFieldException.class)); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/getDeclaredAnnotations.java0000644000175000001440000000602312316504347031321 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.NoSuchFieldException.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/getDeclaredField.java0000644000175000001440000000566312315242012030043 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().getDeclaredField() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.NoSuchFieldException.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/isLocalClass.java0000644000175000001440000000322612317506750027257 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; /** * Test for method java.lang.NoSuchFieldException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/getEnclosingConstructor.java0000644000175000001440000000337112316736342031574 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; /** * Test for method java.lang.NoSuchFieldException.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/getCanonicalName.java0000644000175000001440000000327612314534706030077 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().getSimpleName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; /** * Test for method java.lang.NoSuchFieldException.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.NoSuchFieldException"); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/getName.java0000644000175000001440000000323512314243307026254 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().getName() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; /** * Test for method java.lang.NoSuchFieldException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.NoSuchFieldException"); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/getClasses.java0000644000175000001440000000332312314534706026775 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().getClasses() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; /** * Test for method java.lang.NoSuchFieldException.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/NoSuchFieldException/classInfo/isArray.java0000644000175000001440000000317412314762674026325 0ustar dokousers// Test for method java.lang.NoSuchFieldException.getClass().isArray() // Copyright (C) 2012, 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.NoSuchFieldException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.NoSuchFieldException; /** * Test for method java.lang.NoSuchFieldException.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class NoSuchFieldException final Object o = new NoSuchFieldException("java.lang.NoSuchFieldException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/0000755000175000001440000000000012375316426024342 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/constructor.java0000644000175000001440000000561212060072070027557 0ustar dokousers// Test if instances of a class java.lang.StringIndexOutOfBoundsException could be properly constructed // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StringIndexOutOfBoundsException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringIndexOutOfBoundsException; /** * Test if instances of a class java.lang.StringIndexOutOfBoundsException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { StringIndexOutOfBoundsException object1 = new StringIndexOutOfBoundsException(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.StringIndexOutOfBoundsException"); StringIndexOutOfBoundsException object2 = new StringIndexOutOfBoundsException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.StringIndexOutOfBoundsException: nothing happens"); StringIndexOutOfBoundsException object3 = new StringIndexOutOfBoundsException(null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.StringIndexOutOfBoundsException"); StringIndexOutOfBoundsException object4 = new StringIndexOutOfBoundsException(1); harness.check(object4 != null); harness.check(object4.toString(), "java.lang.StringIndexOutOfBoundsException: String index out of range: 1"); StringIndexOutOfBoundsException object5 = new StringIndexOutOfBoundsException(Integer.MAX_VALUE); harness.check(object5 != null); harness.check(object5.toString(), "java.lang.StringIndexOutOfBoundsException: String index out of range: 2147483647"); StringIndexOutOfBoundsException object6 = new StringIndexOutOfBoundsException(Integer.MIN_VALUE); harness.check(object6 != null); harness.check(object6.toString(), "java.lang.StringIndexOutOfBoundsException: String index out of range: -2147483648"); } } mauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/TryCatch.java0000644000175000001440000000342712060072070026715 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.StringIndexOutOfBoundsException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StringIndexOutOfBoundsException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringIndexOutOfBoundsException; /** * Test if try-catch block is working properly for a class java.lang.StringIndexOutOfBoundsException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new StringIndexOutOfBoundsException("StringIndexOutOfBoundsException"); } catch (StringIndexOutOfBoundsException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/0000755000175000001440000000000012375316426026263 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getPackage.java0000644000175000001440000000336612060072070031152 0ustar dokousers// Test for method java.lang.StringIndexOutOfBoundsException.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StringIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringIndexOutOfBoundsException; /** * Test for method java.lang.StringIndexOutOfBoundsException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StringIndexOutOfBoundsException final Object o = new StringIndexOutOfBoundsException("java.lang.StringIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getDeclaredMethods.javamauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getDeclaredMethods.ja0000644000175000001440000000632012060072070032310 0ustar dokousers// Test for method java.lang.StringIndexOutOfBoundsException.getClass().getDeclaredMethods() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StringIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringIndexOutOfBoundsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.StringIndexOutOfBoundsException.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class StringIndexOutOfBoundsException final Object o = new StringIndexOutOfBoundsException("java.lang.StringIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getInterfaces.java0000644000175000001440000000342612060072070031677 0ustar dokousers// Test for method java.lang.StringIndexOutOfBoundsException.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StringIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringIndexOutOfBoundsException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.StringIndexOutOfBoundsException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StringIndexOutOfBoundsException final Object o = new StringIndexOutOfBoundsException("java.lang.StringIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getModifiers.java0000644000175000001440000000461712060072070031540 0ustar dokousers// Test for method java.lang.StringIndexOutOfBoundsException.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StringIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringIndexOutOfBoundsException; import java.lang.reflect.Modifier; /** * Test for method java.lang.StringIndexOutOfBoundsException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StringIndexOutOfBoundsException final Object o = new StringIndexOutOfBoundsException("java.lang.StringIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getDeclaredFields.javamauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getDeclaredFields.jav0000644000175000001440000000727112060072070032307 0ustar dokousers// Test for method java.lang.StringIndexOutOfBoundsException.getClass().getDeclaredFields() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StringIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringIndexOutOfBoundsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.StringIndexOutOfBoundsException.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.StringIndexOutOfBoundsException.serialVersionUID", "serialVersionUID"); // create instance of a class StringIndexOutOfBoundsException final Object o = new StringIndexOutOfBoundsException("java.lang.StringIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } ././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getDeclaredConstructors.javamauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getDeclaredConstructo0000644000175000001440000001140112060072070032453 0ustar dokousers// Test for method java.lang.StringIndexOutOfBoundsException.getClass().getDeclaredConstructors() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StringIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringIndexOutOfBoundsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.StringIndexOutOfBoundsException.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.StringIndexOutOfBoundsException()", "java.lang.StringIndexOutOfBoundsException"); testedDeclaredConstructors_jdk6.put("public java.lang.StringIndexOutOfBoundsException(java.lang.String)", "java.lang.StringIndexOutOfBoundsException"); testedDeclaredConstructors_jdk6.put("public java.lang.StringIndexOutOfBoundsException(int)", "java.lang.StringIndexOutOfBoundsException"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.StringIndexOutOfBoundsException()", "java.lang.StringIndexOutOfBoundsException"); testedDeclaredConstructors_jdk7.put("public java.lang.StringIndexOutOfBoundsException(java.lang.String)", "java.lang.StringIndexOutOfBoundsException"); testedDeclaredConstructors_jdk7.put("public java.lang.StringIndexOutOfBoundsException(int)", "java.lang.StringIndexOutOfBoundsException"); // create instance of a class StringIndexOutOfBoundsException final Object o = new StringIndexOutOfBoundsException("java.lang.StringIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getFields.java0000644000175000001440000000601112060072070031013 0ustar dokousers// Test for method java.lang.StringIndexOutOfBoundsException.getClass().getFields() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StringIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringIndexOutOfBoundsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.StringIndexOutOfBoundsException.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class StringIndexOutOfBoundsException final Object o = new StringIndexOutOfBoundsException("java.lang.StringIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/isPrimitive.java0000644000175000001440000000332312060072070031414 0ustar dokousers// Test for method java.lang.StringIndexOutOfBoundsException.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StringIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringIndexOutOfBoundsException; /** * Test for method java.lang.StringIndexOutOfBoundsException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StringIndexOutOfBoundsException final Object o = new StringIndexOutOfBoundsException("java.lang.StringIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getSimpleName.java0000644000175000001440000000336712060072070031652 0ustar dokousers// Test for method java.lang.StringIndexOutOfBoundsException.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StringIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringIndexOutOfBoundsException; /** * Test for method java.lang.StringIndexOutOfBoundsException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StringIndexOutOfBoundsException final Object o = new StringIndexOutOfBoundsException("java.lang.StringIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "StringIndexOutOfBoundsException"); } } ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/isAnnotationPresent.javamauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/isAnnotationPresent.j0000644000175000001440000000451112060072070032427 0ustar dokousers// Test for method java.lang.StringIndexOutOfBoundsException.getClass().isAnnotationPresent() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StringIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringIndexOutOfBoundsException; /** * Test for method java.lang.StringIndexOutOfBoundsException.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StringIndexOutOfBoundsException final Object o = new StringIndexOutOfBoundsException("java.lang.StringIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/isSynthetic.java0000644000175000001440000000332312060072070031416 0ustar dokousers// Test for method java.lang.StringIndexOutOfBoundsException.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StringIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringIndexOutOfBoundsException; /** * Test for method java.lang.StringIndexOutOfBoundsException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StringIndexOutOfBoundsException final Object o = new StringIndexOutOfBoundsException("java.lang.StringIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/isAnnotation.java0000644000175000001440000000332112060072070031554 0ustar dokousers// Test for method java.lang.StringIndexOutOfBoundsException.getClass().isAnnotation() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StringIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringIndexOutOfBoundsException; /** * Test for method java.lang.StringIndexOutOfBoundsException.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StringIndexOutOfBoundsException final Object o = new StringIndexOutOfBoundsException("java.lang.StringIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/isInstance.java0000644000175000001440000000343612060072070031215 0ustar dokousers// Test for method java.lang.StringIndexOutOfBoundsException.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StringIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringIndexOutOfBoundsException; /** * Test for method java.lang.StringIndexOutOfBoundsException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StringIndexOutOfBoundsException final Object o = new StringIndexOutOfBoundsException("java.lang.StringIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new StringIndexOutOfBoundsException("java.lang.StringIndexOutOfBoundsException"))); } } mauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/isMemberClass.java0000644000175000001440000000333312060072070031642 0ustar dokousers// Test for method java.lang.StringIndexOutOfBoundsException.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StringIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringIndexOutOfBoundsException; /** * Test for method java.lang.StringIndexOutOfBoundsException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StringIndexOutOfBoundsException final Object o = new StringIndexOutOfBoundsException("java.lang.StringIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getSuperclass.java0000644000175000001440000000345412060072070031741 0ustar dokousers// Test for method java.lang.StringIndexOutOfBoundsException.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StringIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringIndexOutOfBoundsException; /** * Test for method java.lang.StringIndexOutOfBoundsException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StringIndexOutOfBoundsException final Object o = new StringIndexOutOfBoundsException("java.lang.StringIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.IndexOutOfBoundsException"); } } mauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/isEnum.java0000644000175000001440000000327112060072070030352 0ustar dokousers// Test for method java.lang.StringIndexOutOfBoundsException.getClass().isEnum() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StringIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringIndexOutOfBoundsException; /** * Test for method java.lang.StringIndexOutOfBoundsException.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StringIndexOutOfBoundsException final Object o = new StringIndexOutOfBoundsException("java.lang.StringIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getMethods.java0000644000175000001440000002001112060072070031204 0ustar dokousers// Test for method java.lang.StringIndexOutOfBoundsException.getClass().getMethods() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StringIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringIndexOutOfBoundsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.StringIndexOutOfBoundsException.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class StringIndexOutOfBoundsException final Object o = new StringIndexOutOfBoundsException("java.lang.StringIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/InstanceOf.java0000644000175000001440000000427612060072070031151 0ustar dokousers// Test for instanceof operator applied to a class java.lang.StringIndexOutOfBoundsException // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StringIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringIndexOutOfBoundsException; import java.lang.IndexOutOfBoundsException; import java.lang.RuntimeException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.StringIndexOutOfBoundsException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StringIndexOutOfBoundsException StringIndexOutOfBoundsException o = new StringIndexOutOfBoundsException("java.lang.StringIndexOutOfBoundsException"); // basic check of instanceof operator harness.check(o instanceof StringIndexOutOfBoundsException); // check operator instanceof against all superclasses harness.check(o instanceof IndexOutOfBoundsException); harness.check(o instanceof RuntimeException); harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/isAnonymousClass.java0000644000175000001440000000334112060072070032422 0ustar dokousers// Test for method java.lang.StringIndexOutOfBoundsException.getClass().isAnonymousClass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StringIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringIndexOutOfBoundsException; /** * Test for method java.lang.StringIndexOutOfBoundsException.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StringIndexOutOfBoundsException final Object o = new StringIndexOutOfBoundsException("java.lang.StringIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/isInterface.java0000644000175000001440000000332312060072070031344 0ustar dokousers// Test for method java.lang.StringIndexOutOfBoundsException.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StringIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringIndexOutOfBoundsException; /** * Test for method java.lang.StringIndexOutOfBoundsException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StringIndexOutOfBoundsException final Object o = new StringIndexOutOfBoundsException("java.lang.StringIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getConstructors.java0000644000175000001440000001101412060072070032314 0ustar dokousers// Test for method java.lang.StringIndexOutOfBoundsException.getClass().getConstructors() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StringIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringIndexOutOfBoundsException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.StringIndexOutOfBoundsException.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.StringIndexOutOfBoundsException()", "java.lang.StringIndexOutOfBoundsException"); testedConstructors_jdk6.put("public java.lang.StringIndexOutOfBoundsException(java.lang.String)", "java.lang.StringIndexOutOfBoundsException"); testedConstructors_jdk6.put("public java.lang.StringIndexOutOfBoundsException(int)", "java.lang.StringIndexOutOfBoundsException"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.StringIndexOutOfBoundsException()", "java.lang.StringIndexOutOfBoundsException"); testedConstructors_jdk7.put("public java.lang.StringIndexOutOfBoundsException(java.lang.String)", "java.lang.StringIndexOutOfBoundsException"); testedConstructors_jdk7.put("public java.lang.StringIndexOutOfBoundsException(int)", "java.lang.StringIndexOutOfBoundsException"); // create instance of a class StringIndexOutOfBoundsException final Object o = new StringIndexOutOfBoundsException("java.lang.StringIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/isAssignableFrom.java0000644000175000001440000000341212060072070032337 0ustar dokousers// Test for method java.lang.StringIndexOutOfBoundsException.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StringIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringIndexOutOfBoundsException; /** * Test for method java.lang.StringIndexOutOfBoundsException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StringIndexOutOfBoundsException final Object o = new StringIndexOutOfBoundsException("java.lang.StringIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(StringIndexOutOfBoundsException.class)); } } mauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/isLocalClass.java0000644000175000001440000000332712060072070031470 0ustar dokousers// Test for method java.lang.StringIndexOutOfBoundsException.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StringIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringIndexOutOfBoundsException; /** * Test for method java.lang.StringIndexOutOfBoundsException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StringIndexOutOfBoundsException final Object o = new StringIndexOutOfBoundsException("java.lang.StringIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getName.java0000644000175000001440000000335112060072070030471 0ustar dokousers// Test for method java.lang.StringIndexOutOfBoundsException.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StringIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringIndexOutOfBoundsException; /** * Test for method java.lang.StringIndexOutOfBoundsException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StringIndexOutOfBoundsException final Object o = new StringIndexOutOfBoundsException("java.lang.StringIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.StringIndexOutOfBoundsException"); } } mauve-20140821/gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/isArray.java0000644000175000001440000000327512060072070030530 0ustar dokousers// Test for method java.lang.StringIndexOutOfBoundsException.getClass().isArray() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.StringIndexOutOfBoundsException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.StringIndexOutOfBoundsException; /** * Test for method java.lang.StringIndexOutOfBoundsException.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class StringIndexOutOfBoundsException final Object o = new StringIndexOutOfBoundsException("java.lang.StringIndexOutOfBoundsException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/0000755000175000001440000000000012375316426022013 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/AbstractMethodError/constructor.java0000644000175000001440000000366512050667625025255 0ustar dokousers// Test if constructor is working properly for a class java.lang.AbstractMethodError // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; /** * Test if constructor is working properly for a class java.lang.AbstractMethodError */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { AbstractMethodError error1 = new AbstractMethodError(); harness.check(error1 != null); harness.check(error1.toString(), "java.lang.AbstractMethodError"); AbstractMethodError error2 = new AbstractMethodError("nothing happens"); harness.check(error2 != null); harness.check(error2.toString(), "java.lang.AbstractMethodError: nothing happens"); AbstractMethodError error3 = new AbstractMethodError(null); harness.check(error3 != null); harness.check(error3.toString(), "java.lang.AbstractMethodError"); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/TryCatch.java0000644000175000001440000000330312050667625024376 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.AbstractMethodError // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; /** * Test if try-catch block is working properly for a class java.lang.AbstractMethodError */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new AbstractMethodError("AbstractMethodError"); } catch (AbstractMethodError e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/0000755000175000001440000000000012375316426023734 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/getDeclaredConstructor.java0000644000175000001440000000711012073237750031244 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.AbstractMethodError.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.AbstractMethodError", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.AbstractMethodError", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.AbstractMethodError", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.AbstractMethodError", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/getPackage.java0000644000175000001440000000323012050667625026630 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; /** * Test for method java.lang.AbstractMethodError.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/getDeclaredMethods.java0000644000175000001440000000616212050667625030333 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().getDeclaredMethods() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.AbstractMethodError.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/getInterfaces.java0000644000175000001440000000327012050667625027364 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.AbstractMethodError.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/getModifiers.java0000644000175000001440000000446112050667625027225 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; import java.lang.reflect.Modifier; /** * Test for method java.lang.AbstractMethodError.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/getDeclaredFields.java0000644000175000001440000000711712050667625030137 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().getDeclaredFields() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.AbstractMethodError.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.AbstractMethodError.serialVersionUID", "serialVersionUID"); // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/getDeclaredConstructors.java0000644000175000001440000001043512050667625031436 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().getDeclaredConstructors() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.AbstractMethodError.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.AbstractMethodError()", "java.lang.AbstractMethodError"); testedDeclaredConstructors_jdk6.put("public java.lang.AbstractMethodError(java.lang.String)", "java.lang.AbstractMethodError"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.AbstractMethodError()", "java.lang.AbstractMethodError"); testedDeclaredConstructors_jdk7.put("public java.lang.AbstractMethodError(java.lang.String)", "java.lang.AbstractMethodError"); // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/getField.java0000644000175000001440000000552312075234062026317 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().getField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.AbstractMethodError.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/getFields.java0000644000175000001440000000565312050667625026516 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().getFields() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.AbstractMethodError.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/isPrimitive.java0000644000175000001440000000316512050667625027110 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; /** * Test for method java.lang.AbstractMethodError.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/getSimpleName.java0000644000175000001440000000321512050667625027332 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; /** * Test for method java.lang.AbstractMethodError.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "AbstractMethodError"); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/getEnclosingClass.java0000644000175000001440000000326012073767131030205 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().getEnclosingClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; /** * Test for method java.lang.AbstractMethodError.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/isAnnotationPresent.java0000644000175000001440000000435312050667625030613 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().isAnnotationPresent() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; /** * Test for method java.lang.AbstractMethodError.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/isSynthetic.java0000644000175000001440000000316512050667625027112 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; /** * Test for method java.lang.AbstractMethodError.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/isAnnotation.java0000644000175000001440000000316312050667625027250 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().isAnnotation() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; /** * Test for method java.lang.AbstractMethodError.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/isInstance.java0000644000175000001440000000323612050667625026703 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; /** * Test for method java.lang.AbstractMethodError.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new AbstractMethodError("AbstractMethodError"))); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/getDeclaredMethod.java0000644000175000001440000000612712073477455030156 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.AbstractMethodError.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/getDeclaredClasses.java0000644000175000001440000000333412073477455030330 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; /** * Test for method java.lang.AbstractMethodError.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/getComponentType.java0000644000175000001440000000325412072772161030103 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().getComponentType() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; /** * Test for method java.lang.AbstractMethodError.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/getMethod.java0000644000175000001440000001427712075234062026522 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().getMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.AbstractMethodError.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/isMemberClass.java0000644000175000001440000000317512050667625027336 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; /** * Test for method java.lang.AbstractMethodError.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/getConstructor.java0000644000175000001440000000705012073237750027623 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().getConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.AbstractMethodError.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.AbstractMethodError", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.AbstractMethodError", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.AbstractMethodError", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.AbstractMethodError", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/getSuperclass.java0000644000175000001440000000332112050667625027422 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; /** * Test for method java.lang.AbstractMethodError.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.IncompatibleClassChangeError"); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/isEnum.java0000644000175000001440000000313312050667625026037 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().isEnum() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; /** * Test for method java.lang.AbstractMethodError.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/getMethods.java0000644000175000001440000001765312050667625026716 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().getMethods() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.AbstractMethodError.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/getAnnotations.java0000644000175000001440000000573412072521057027575 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().getAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.AbstractMethodError.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/InstanceOf.java0000644000175000001440000000407612050667625026637 0ustar dokousers// Test for instanceof operator applied to a class java.lang.AbstractMethodError // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; import java.lang.IncompatibleClassChangeError; import java.lang.LinkageError; import java.lang.Error; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.AbstractMethodError */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AbstractMethodError AbstractMethodError o = new AbstractMethodError("AbstractMethodError"); // basic check of instanceof operator harness.check(o instanceof AbstractMethodError); // check operator instanceof against all superclasses harness.check(o instanceof IncompatibleClassChangeError); harness.check(o instanceof LinkageError); harness.check(o instanceof Error); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/getDeclaringClass.java0000644000175000001440000000326012075234062030146 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().getDeclaringClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; /** * Test for method java.lang.AbstractMethodError.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/getAnnotation.java0000644000175000001440000000504312072521057027403 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().getAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; /** * Test for method java.lang.AbstractMethodError.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/isAnonymousClass.java0000644000175000001440000000320312050667625030107 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().isAnonymousClass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; /** * Test for method java.lang.AbstractMethodError.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/getEnclosingMethod.java0000644000175000001440000000330012073767131030353 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; /** * Test for method java.lang.AbstractMethodError.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/isInterface.java0000644000175000001440000000316512050667625027040 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; /** * Test for method java.lang.AbstractMethodError.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/getConstructors.java0000644000175000001440000001007012050667625030005 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().getConstructors() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.AbstractMethodError.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.AbstractMethodError()", "java.lang.AbstractMethodError"); testedConstructors_jdk6.put("public java.lang.AbstractMethodError(java.lang.String)", "java.lang.AbstractMethodError"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.AbstractMethodError()", "java.lang.AbstractMethodError"); testedConstructors_jdk7.put("public java.lang.AbstractMethodError(java.lang.String)", "java.lang.AbstractMethodError"); // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/isAssignableFrom.java0000644000175000001440000000324012050667625030026 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; /** * Test for method java.lang.AbstractMethodError.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(AbstractMethodError.class)); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/getDeclaredAnnotations.java0000644000175000001440000000577412073237750031232 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.AbstractMethodError.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/getDeclaredField.java0000644000175000001440000000563412075744202027750 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().getDeclaredField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.AbstractMethodError.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/isLocalClass.java0000644000175000001440000000317112050667625027155 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; /** * Test for method java.lang.AbstractMethodError.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/getEnclosingConstructor.java0000644000175000001440000000334212073767131031466 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; /** * Test for method java.lang.AbstractMethodError.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/getCanonicalName.java0000644000175000001440000000324612072772161027770 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; /** * Test for method java.lang.AbstractMethodError.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.AbstractMethodError"); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/getName.java0000644000175000001440000000317712050667625026167 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; /** * Test for method java.lang.AbstractMethodError.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.AbstractMethodError"); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/getClasses.java0000644000175000001440000000327412072772161026676 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().getClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; /** * Test for method java.lang.AbstractMethodError.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/AbstractMethodError/classInfo/isArray.java0000644000175000001440000000313712050667625026215 0ustar dokousers// Test for method java.lang.AbstractMethodError.getClass().isArray() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AbstractMethodError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AbstractMethodError; /** * Test for method java.lang.AbstractMethodError.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AbstractMethodError final Object o = new AbstractMethodError("AbstractMethodError"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/0000755000175000001440000000000012375316426021056 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/AssertionError/constructor.java0000644000175000001440000000557012113632213024276 0ustar dokousers// Test if constructor is working properly for a class java.lang.AssertionError // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; /** * Test if constructor is working properly for a class java.lang.AssertionError */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { AssertionError error1 = new AssertionError(); harness.check(error1 != null); harness.check(error1.toString(), "java.lang.AssertionError"); AssertionError error2 = new AssertionError(true); harness.check(error2 != null); harness.check(error2.toString(), "java.lang.AssertionError: true"); AssertionError error3 = new AssertionError(false); harness.check(error3 != null); harness.check(error3.toString(), "java.lang.AssertionError: false"); AssertionError error4 = new AssertionError('*'); harness.check(error4 != null); harness.check(error4.toString(), "java.lang.AssertionError: *"); AssertionError error5 = new AssertionError(42); harness.check(error5 != null); harness.check(error5.toString(), "java.lang.AssertionError: 42"); AssertionError error6 = new AssertionError(42L); harness.check(error6 != null); harness.check(error6.toString(), "java.lang.AssertionError: 42"); AssertionError error7 = new AssertionError(42.0); harness.check(error7 != null); harness.check(error7.toString(), "java.lang.AssertionError: 42.0"); AssertionError error8 = new AssertionError(42.0f); harness.check(error8 != null); harness.check(error8.toString(), "java.lang.AssertionError: 42.0"); AssertionError error9 = new AssertionError("xyzzy"); harness.check(error9 != null); harness.check(error9.toString(), "java.lang.AssertionError: xyzzy"); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/TryCatch.java0000644000175000001440000000324612113632213023430 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.AssertionError // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; /** * Test if try-catch block is working properly for a class java.lang.AssertionError */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new AssertionError("AssertionError"); } catch (AssertionError e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/0000755000175000001440000000000012375316426022777 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/getDeclaredConstructor.java0000644000175000001440000001204612113632213030277 0ustar dokousers// Test for method java.lang.AssertionError.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.AssertionError.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.AssertionError", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.AssertionError", new Class[] {java.lang.String.class}); constructorsThatShouldExist_jdk6.put("java.lang.AssertionError", new Class[] {java.lang.Object.class}); constructorsThatShouldExist_jdk6.put("java.lang.AssertionError", new Class[] {boolean.class}); constructorsThatShouldExist_jdk6.put("java.lang.AssertionError", new Class[] {char.class}); constructorsThatShouldExist_jdk6.put("java.lang.AssertionError", new Class[] {int.class}); constructorsThatShouldExist_jdk6.put("java.lang.AssertionError", new Class[] {long.class}); constructorsThatShouldExist_jdk6.put("java.lang.AssertionError", new Class[] {float.class}); constructorsThatShouldExist_jdk6.put("java.lang.AssertionError", new Class[] {double.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.AssertionError", new Class[] {int.class}); constructorsThatShouldExist_jdk7.put("java.lang.AssertionError", new Class[] {long.class}); constructorsThatShouldExist_jdk7.put("java.lang.AssertionError", new Class[] {float.class}); constructorsThatShouldExist_jdk7.put("java.lang.AssertionError", new Class[] {double.class}); constructorsThatShouldExist_jdk7.put("java.lang.AssertionError", new Class[] {java.lang.String.class, java.lang.Throwable.class}); constructorsThatShouldExist_jdk7.put("java.lang.AssertionError", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.AssertionError", new Class[] {java.lang.String.class}); constructorsThatShouldExist_jdk7.put("java.lang.AssertionError", new Class[] {java.lang.Object.class}); constructorsThatShouldExist_jdk7.put("java.lang.AssertionError", new Class[] {boolean.class}); constructorsThatShouldExist_jdk7.put("java.lang.AssertionError", new Class[] {char.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/getPackage.java0000644000175000001440000000315312116322105025657 0ustar dokousers// Test for method java.lang.AssertionError.getClass().getPackage() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; /** * Test for method java.lang.AssertionError.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/getDeclaredMethods.java0000644000175000001440000000610512116322105027353 0ustar dokousers// Test for method java.lang.AssertionError.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.AssertionError.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/getInterfaces.java0000644000175000001440000000321312116322105026404 0ustar dokousers// Test for method java.lang.AssertionError.getClass().getInterfaces() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.AssertionError.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/getModifiers.java0000644000175000001440000000440412117562711026257 0ustar dokousers// Test for method java.lang.AssertionError.getClass().getModifiers() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; import java.lang.reflect.Modifier; /** * Test for method java.lang.AssertionError.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/getDeclaredFields.java0000644000175000001440000000703512116322105027161 0ustar dokousers// Test for method java.lang.AssertionError.getClass().getDeclaredFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.AssertionError.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.AssertionError.serialVersionUID", "serialVersionUID"); // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/getDeclaredConstructors.java0000644000175000001440000001367212116322105030467 0ustar dokousers// Test for method java.lang.AssertionError.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.AssertionError.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.AssertionError()", "java.lang.AssertionError"); testedDeclaredConstructors_jdk6.put("private java.lang.AssertionError(java.lang.String)", "java.lang.AssertionError"); testedDeclaredConstructors_jdk6.put("public java.lang.AssertionError(java.lang.Object)", "java.lang.AssertionError"); testedDeclaredConstructors_jdk6.put("public java.lang.AssertionError(boolean)", "java.lang.AssertionError"); testedDeclaredConstructors_jdk6.put("public java.lang.AssertionError(char)", "java.lang.AssertionError"); testedDeclaredConstructors_jdk6.put("public java.lang.AssertionError(int)", "java.lang.AssertionError"); testedDeclaredConstructors_jdk6.put("public java.lang.AssertionError(long)", "java.lang.AssertionError"); testedDeclaredConstructors_jdk6.put("public java.lang.AssertionError(float)", "java.lang.AssertionError"); testedDeclaredConstructors_jdk6.put("public java.lang.AssertionError(double)", "java.lang.AssertionError"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.AssertionError(int)", "java.lang.AssertionError"); testedDeclaredConstructors_jdk7.put("public java.lang.AssertionError(long)", "java.lang.AssertionError"); testedDeclaredConstructors_jdk7.put("public java.lang.AssertionError(float)", "java.lang.AssertionError"); testedDeclaredConstructors_jdk7.put("public java.lang.AssertionError(double)", "java.lang.AssertionError"); testedDeclaredConstructors_jdk7.put("public java.lang.AssertionError(java.lang.String,java.lang.Throwable)", "java.lang.AssertionError"); testedDeclaredConstructors_jdk7.put("public java.lang.AssertionError()", "java.lang.AssertionError"); testedDeclaredConstructors_jdk7.put("private java.lang.AssertionError(java.lang.String)", "java.lang.AssertionError"); testedDeclaredConstructors_jdk7.put("public java.lang.AssertionError(java.lang.Object)", "java.lang.AssertionError"); testedDeclaredConstructors_jdk7.put("public java.lang.AssertionError(boolean)", "java.lang.AssertionError"); testedDeclaredConstructors_jdk7.put("public java.lang.AssertionError(char)", "java.lang.AssertionError"); // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/getField.java0000644000175000001440000000544012116057267025366 0ustar dokousers// Test for method java.lang.AssertionError.getClass().getField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.AssertionError.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/getFields.java0000644000175000001440000000557612116322105025545 0ustar dokousers// Test for method java.lang.AssertionError.getClass().getFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.AssertionError.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/isPrimitive.java0000644000175000001440000000311012115057655026137 0ustar dokousers// Test for method java.lang.AssertionError.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; /** * Test for method java.lang.AssertionError.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/getSimpleName.java0000644000175000001440000000313312116322105026354 0ustar dokousers// Test for method java.lang.AssertionError.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; /** * Test for method java.lang.AssertionError.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "AssertionError"); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/getEnclosingClass.java0000644000175000001440000000317512115607327027252 0ustar dokousers// Test for method java.lang.AssertionError.getClass().getEnclosingClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; /** * Test for method java.lang.AssertionError.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/isAnnotationPresent.java0000644000175000001440000000427612117562711027654 0ustar dokousers// Test for method java.lang.AssertionError.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; /** * Test for method java.lang.AssertionError.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/isSynthetic.java0000644000175000001440000000311012115057655026141 0ustar dokousers// Test for method java.lang.AssertionError.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; /** * Test for method java.lang.AssertionError.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/isAnnotation.java0000644000175000001440000000310612117562711026302 0ustar dokousers// Test for method java.lang.AssertionError.getClass().isAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; /** * Test for method java.lang.AssertionError.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/isInstance.java0000644000175000001440000000312712116322105025725 0ustar dokousers// Test for method java.lang.AssertionError.getClass().isInstance(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; /** * Test for method java.lang.AssertionError.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new AssertionError())); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/getDeclaredMethod.java0000644000175000001440000000604412114070673027202 0ustar dokousers// Test for method java.lang.AssertionError.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.AssertionError.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/getDeclaredClasses.java0000644000175000001440000000325112113632213027345 0ustar dokousers// Test for method java.lang.AssertionError.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; /** * Test for method java.lang.AssertionError.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/getComponentType.java0000644000175000001440000000317112116057267027146 0ustar dokousers// Test for method java.lang.AssertionError.getClass().getComponentType() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; /** * Test for method java.lang.AssertionError.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/getMethod.java0000644000175000001440000001421412117315311025546 0ustar dokousers// Test for method java.lang.AssertionError.getClass().getMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.AssertionError.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/isMemberClass.java0000644000175000001440000000312012115057655026365 0ustar dokousers// Test for method java.lang.AssertionError.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; /** * Test for method java.lang.AssertionError.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/getConstructor.java0000644000175000001440000001144612114070673026665 0ustar dokousers// Test for method java.lang.AssertionError.getClass().getConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.AssertionError.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.AssertionError", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.AssertionError", new Class[] {java.lang.Object.class}); constructorsThatShouldExist_jdk6.put("java.lang.AssertionError", new Class[] {boolean.class}); constructorsThatShouldExist_jdk6.put("java.lang.AssertionError", new Class[] {char.class}); constructorsThatShouldExist_jdk6.put("java.lang.AssertionError", new Class[] {int.class}); constructorsThatShouldExist_jdk6.put("java.lang.AssertionError", new Class[] {long.class}); constructorsThatShouldExist_jdk6.put("java.lang.AssertionError", new Class[] {float.class}); constructorsThatShouldExist_jdk6.put("java.lang.AssertionError", new Class[] {double.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.AssertionError", new Class[] {int.class}); constructorsThatShouldExist_jdk7.put("java.lang.AssertionError", new Class[] {long.class}); constructorsThatShouldExist_jdk7.put("java.lang.AssertionError", new Class[] {float.class}); constructorsThatShouldExist_jdk7.put("java.lang.AssertionError", new Class[] {double.class}); constructorsThatShouldExist_jdk7.put("java.lang.AssertionError", new Class[] {java.lang.String.class, java.lang.Throwable.class}); constructorsThatShouldExist_jdk7.put("java.lang.AssertionError", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.AssertionError", new Class[] {java.lang.Object.class}); constructorsThatShouldExist_jdk7.put("java.lang.AssertionError", new Class[] {boolean.class}); constructorsThatShouldExist_jdk7.put("java.lang.AssertionError", new Class[] {char.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/getSuperclass.java0000644000175000001440000000321512117562711026461 0ustar dokousers// Test for method java.lang.AssertionError.getClass().getSuperclass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; /** * Test for method java.lang.AssertionError.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.Error"); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/isEnum.java0000644000175000001440000000305612120040026025060 0ustar dokousers// Test for method java.lang.AssertionError.getClass().isEnum() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; /** * Test for method java.lang.AssertionError.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/getMethods.java0000644000175000001440000001757612120040026025737 0ustar dokousers// Test for method java.lang.AssertionError.getClass().getMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.AssertionError.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/getAnnotations.java0000644000175000001440000000565112115345244026636 0ustar dokousers// Test for method java.lang.AssertionError.getClass().getAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.AssertionError.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/InstanceOf.java0000644000175000001440000000350512115057655025674 0ustar dokousers// Test for instanceof operator applied to a class java.lang.AssertionError // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; import java.lang.Error; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.AssertionError */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AssertionError AssertionError o = new AssertionError(); // basic check of instanceof operator harness.check(o instanceof AssertionError); // check operator instanceof against all superclasses harness.check(o instanceof Error); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/getDeclaringClass.java0000644000175000001440000000317512117315311027210 0ustar dokousers// Test for method java.lang.AssertionError.getClass().getDeclaringClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; /** * Test for method java.lang.AssertionError.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/getAnnotation.java0000644000175000001440000000476012115345244026453 0ustar dokousers// Test for method java.lang.AssertionError.getClass().getAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; /** * Test for method java.lang.AssertionError.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/isAnonymousClass.java0000644000175000001440000000312612117562711027150 0ustar dokousers// Test for method java.lang.AssertionError.getClass().isAnonymousClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; /** * Test for method java.lang.AssertionError.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/getEnclosingMethod.java0000644000175000001440000000321512115607327027420 0ustar dokousers// Test for method java.lang.AssertionError.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; /** * Test for method java.lang.AssertionError.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/isInterface.java0000644000175000001440000000311012115057655026067 0ustar dokousers// Test for method java.lang.AssertionError.getClass().isInterface(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; /** * Test for method java.lang.AssertionError.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/getConstructors.java0000644000175000001440000001255712115057655027062 0ustar dokousers// Test for method java.lang.AssertionError.getClass().getConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.AssertionError.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.AssertionError()", "java.lang.AssertionError"); testedConstructors_jdk6.put("public java.lang.AssertionError(java.lang.Object)", "java.lang.AssertionError"); testedConstructors_jdk6.put("public java.lang.AssertionError(boolean)", "java.lang.AssertionError"); testedConstructors_jdk6.put("public java.lang.AssertionError(char)", "java.lang.AssertionError"); testedConstructors_jdk6.put("public java.lang.AssertionError(int)", "java.lang.AssertionError"); testedConstructors_jdk6.put("public java.lang.AssertionError(long)", "java.lang.AssertionError"); testedConstructors_jdk6.put("public java.lang.AssertionError(float)", "java.lang.AssertionError"); testedConstructors_jdk6.put("public java.lang.AssertionError(double)", "java.lang.AssertionError"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.AssertionError(int)", "java.lang.AssertionError"); testedConstructors_jdk7.put("public java.lang.AssertionError(long)", "java.lang.AssertionError"); testedConstructors_jdk7.put("public java.lang.AssertionError(float)", "java.lang.AssertionError"); testedConstructors_jdk7.put("public java.lang.AssertionError(double)", "java.lang.AssertionError"); testedConstructors_jdk7.put("public java.lang.AssertionError(java.lang.String,java.lang.Throwable)", "java.lang.AssertionError"); testedConstructors_jdk7.put("public java.lang.AssertionError()", "java.lang.AssertionError"); testedConstructors_jdk7.put("public java.lang.AssertionError(java.lang.Object)", "java.lang.AssertionError"); testedConstructors_jdk7.put("public java.lang.AssertionError(boolean)", "java.lang.AssertionError"); testedConstructors_jdk7.put("public java.lang.AssertionError(char)", "java.lang.AssertionError"); // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/isAssignableFrom.java0000644000175000001440000000315612120040026027051 0ustar dokousers// Test for method java.lang.AssertionError.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; /** * Test for method java.lang.AssertionError.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(AssertionError.class)); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/getDeclaredAnnotations.java0000644000175000001440000000571112113632213030250 0ustar dokousers// Test for method java.lang.AssertionError.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.AssertionError.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/getDeclaredField.java0000644000175000001440000000555112114070673027007 0ustar dokousers// Test for method java.lang.AssertionError.getClass().getDeclaredField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.AssertionError.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/isLocalClass.java0000644000175000001440000000311412115057655026213 0ustar dokousers// Test for method java.lang.AssertionError.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; /** * Test for method java.lang.AssertionError.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/getEnclosingConstructor.java0000644000175000001440000000325712115607327030533 0ustar dokousers// Test for method java.lang.AssertionError.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; /** * Test for method java.lang.AssertionError.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/getCanonicalName.java0000644000175000001440000000315612115345244027027 0ustar dokousers// Test for method java.lang.AssertionError.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; /** * Test for method java.lang.AssertionError.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.AssertionError"); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/getName.java0000644000175000001440000000311512116322105025202 0ustar dokousers// Test for method java.lang.AssertionError.getClass().getName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; /** * Test for method java.lang.AssertionError.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.AssertionError"); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/getClasses.java0000644000175000001440000000321112116057267025732 0ustar dokousers// Test for method java.lang.AssertionError.getClass().getClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; /** * Test for method java.lang.AssertionError.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/AssertionError/classInfo/isArray.java0000644000175000001440000000306212117562711025247 0ustar dokousers// Test for method java.lang.AssertionError.getClass().isArray() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.AssertionError.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.AssertionError; /** * Test for method java.lang.AssertionError.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class AssertionError final Object o = new AssertionError(); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/Character/0000755000175000001440000000000012375316450017766 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Character/to.java0000644000175000001440000000367406634200720021256 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Character; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class to implements Testlet { public void test (TestHarness harness) { harness.check (Character.toUpperCase ('a'), 'A'); harness.check (Character.toUpperCase ('A'), 'A'); harness.check (Character.toUpperCase ('\uff5a'), '\uff3a'); harness.check (Character.toUpperCase ('7'), '7'); harness.check (Character.toUpperCase ('\u01f2'), '\u01f1'); harness.check (Character.toLowerCase ('q'), 'q'); harness.check (Character.toLowerCase ('Q'), 'q'); harness.check (Character.toLowerCase ('\u2638'), '\u2638'); harness.check (Character.toLowerCase ('\u01cb'), '\u01cc'); harness.check (Character.toLowerCase ('\u01ca'), '\u01cc'); harness.check (Character.toLowerCase ('\u00df'), '\u00df'); harness.check (Character.toLowerCase ('\u2160'), '\u2170'); harness.check (Character.toTitleCase ('a'), 'A'); harness.check (Character.toTitleCase ('\u01f3'), '\u01f2'); harness.check (Character.toTitleCase ('\u01f1'), '\u01f2'); harness.check (Character.toTitleCase ('\u01f2'), '\u01f2'); } } mauve-20140821/gnu/testlet/java/lang/Character/Blocks15.java0000644000175000001440000000521110636031070022201 0ustar dokousers// Tags: JDK1.5 /* Copyright (C) 2005 Andrew John Hughes (gnu_andrew@member.fsf.org) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Character; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class Blocks15 implements Testlet { public void test (TestHarness harness) { harness.check(Character.UnicodeBlock.forName("Greek"), Character.UnicodeBlock.GREEK); harness.check(Character.UnicodeBlock.forName("Combining Marks for Symbols"), Character.UnicodeBlock.COMBINING_MARKS_FOR_SYMBOLS); harness.check(Character.UnicodeBlock.forName("CombiningMarksforSymbols"), Character.UnicodeBlock.COMBINING_MARKS_FOR_SYMBOLS); harness.check(Character.UnicodeBlock.forName("Miscellaneous Mathematical Symbols-B"), Character.UnicodeBlock.MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B); harness.check(Character.UnicodeBlock.forName("MiscellaneousMathematicalSymbols-B"), Character.UnicodeBlock.MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B); harness.check(Character.UnicodeBlock.forName("Miscellaneous_Mathematical_Symbols_B"), Character.UnicodeBlock.MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B); try { Character.UnicodeBlock.forName(null); harness.fail("null allowed to forName()"); } catch (NullPointerException e) { harness.check(true); } try { Character.UnicodeBlock.forName("GNU Classpath Characters"); harness.fail("Allowed request for invalid character set to forName()"); } catch (IllegalArgumentException e) { harness.check(true); } harness.check(Character.UnicodeBlock.of(0x2191), Character.UnicodeBlock.ARROWS); harness.check(Character.UnicodeBlock.of(0x100000), Character.UnicodeBlock.SUPPLEMENTARY_PRIVATE_USE_AREA_B); try { Character.UnicodeBlock.of(0x200000); harness.fail("Allowed invalid codepoint to of(int)"); } catch (IllegalArgumentException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/java/lang/Character/UnicodeData.txt0000644000175000001440000161074706647416367022744 0ustar dokousers0000;;Cc;0;ON;;;;;N;NULL;;;; 0001;;Cc;0;ON;;;;;N;START OF HEADING;;;; 0002;;Cc;0;ON;;;;;N;START OF TEXT;;;; 0003;;Cc;0;ON;;;;;N;END OF TEXT;;;; 0004;;Cc;0;ON;;;;;N;END OF TRANSMISSION;;;; 0005;;Cc;0;ON;;;;;N;ENQUIRY;;;; 0006;;Cc;0;ON;;;;;N;ACKNOWLEDGE;;;; 0007;;Cc;0;ON;;;;;N;BELL;;;; 0008;;Cc;0;ON;;;;;N;BACKSPACE;;;; 0009;;Cc;0;S;;;;;N;HORIZONTAL TABULATION;;;; 000A;;Cc;0;B;;;;;N;LINE FEED;;;; 000B;;Cc;0;S;;;;;N;VERTICAL TABULATION;;;; 000C;;Cc;0;B;;;;;N;FORM FEED;;;; 000D;;Cc;0;B;;;;;N;CARRIAGE RETURN;;;; 000E;;Cc;0;ON;;;;;N;SHIFT OUT;;;; 000F;;Cc;0;ON;;;;;N;SHIFT IN;;;; 0010;;Cc;0;ON;;;;;N;DATA LINK ESCAPE;;;; 0011;;Cc;0;ON;;;;;N;DEVICE CONTROL ONE;;;; 0012;;Cc;0;ON;;;;;N;DEVICE CONTROL TWO;;;; 0013;;Cc;0;ON;;;;;N;DEVICE CONTROL THREE;;;; 0014;;Cc;0;ON;;;;;N;DEVICE CONTROL FOUR;;;; 0015;;Cc;0;ON;;;;;N;NEGATIVE ACKNOWLEDGE;;;; 0016;;Cc;0;ON;;;;;N;SYNCHRONOUS IDLE;;;; 0017;;Cc;0;ON;;;;;N;END OF TRANSMISSION BLOCK;;;; 0018;;Cc;0;ON;;;;;N;CANCEL;;;; 0019;;Cc;0;ON;;;;;N;END OF MEDIUM;;;; 001A;;Cc;0;ON;;;;;N;SUBSTITUTE;;;; 001B;;Cc;0;ON;;;;;N;ESCAPE;;;; 001C;;Cc;0;B;;;;;N;FILE SEPARATOR;;;; 001D;;Cc;0;B;;;;;N;GROUP SEPARATOR;;;; 001E;;Cc;0;B;;;;;N;RECORD SEPARATOR;;;; 001F;;Cc;0;S;;;;;N;UNIT SEPARATOR;;;; 0020;SPACE;Zs;0;WS;;;;;N;;;;; 0021;EXCLAMATION MARK;Po;0;ON;;;;;N;;;;; 0022;QUOTATION MARK;Po;0;ON;;;;;N;;;;; 0023;NUMBER SIGN;Po;0;ET;;;;;N;;;;; 0024;DOLLAR SIGN;Sc;0;ET;;;;;N;;;;; 0025;PERCENT SIGN;Po;0;ET;;;;;N;;;;; 0026;AMPERSAND;Po;0;ON;;;;;N;;;;; 0027;APOSTROPHE;Po;0;ON;;;;;N;APOSTROPHE-QUOTE;;;; 0028;LEFT PARENTHESIS;Ps;0;ON;;;;;Y;OPENING PARENTHESIS;;;; 0029;RIGHT PARENTHESIS;Pe;0;ON;;;;;Y;CLOSING PARENTHESIS;;;; 002A;ASTERISK;Po;0;ON;;;;;N;;;;; 002B;PLUS SIGN;Sm;0;ET;;;;;N;;;;; 002C;COMMA;Po;0;CS;;;;;N;;;;; 002D;HYPHEN-MINUS;Pd;0;ET;;;;;N;;;;; 002E;FULL STOP;Po;0;CS;;;;;N;PERIOD;;;; 002F;SOLIDUS;Po;0;ES;;;;;N;SLASH;;;; 0030;DIGIT ZERO;Nd;0;EN;;0;0;0;N;;;;; 0031;DIGIT ONE;Nd;0;EN;;1;1;1;N;;;;; 0032;DIGIT TWO;Nd;0;EN;;2;2;2;N;;;;; 0033;DIGIT THREE;Nd;0;EN;;3;3;3;N;;;;; 0034;DIGIT FOUR;Nd;0;EN;;4;4;4;N;;;;; 0035;DIGIT FIVE;Nd;0;EN;;5;5;5;N;;;;; 0036;DIGIT SIX;Nd;0;EN;;6;6;6;N;;;;; 0037;DIGIT SEVEN;Nd;0;EN;;7;7;7;N;;;;; 0038;DIGIT EIGHT;Nd;0;EN;;8;8;8;N;;;;; 0039;DIGIT NINE;Nd;0;EN;;9;9;9;N;;;;; 003A;COLON;Po;0;CS;;;;;N;;;;; 003B;SEMICOLON;Po;0;ON;;;;;N;;;;; 003C;LESS-THAN SIGN;Sm;0;ON;;;;;Y;;;;; 003D;EQUALS SIGN;Sm;0;ON;;;;;N;;;;; 003E;GREATER-THAN SIGN;Sm;0;ON;;;;;Y;;;;; 003F;QUESTION MARK;Po;0;ON;;;;;N;;;;; 0040;COMMERCIAL AT;Po;0;ON;;;;;N;;;;; 0041;LATIN CAPITAL LETTER A;Lu;0;L;;;;;N;;;;0061; 0042;LATIN CAPITAL LETTER B;Lu;0;L;;;;;N;;;;0062; 0043;LATIN CAPITAL LETTER C;Lu;0;L;;;;;N;;;;0063; 0044;LATIN CAPITAL LETTER D;Lu;0;L;;;;;N;;;;0064; 0045;LATIN CAPITAL LETTER E;Lu;0;L;;;;;N;;;;0065; 0046;LATIN CAPITAL LETTER F;Lu;0;L;;;;;N;;;;0066; 0047;LATIN CAPITAL LETTER G;Lu;0;L;;;;;N;;;;0067; 0048;LATIN CAPITAL LETTER H;Lu;0;L;;;;;N;;;;0068; 0049;LATIN CAPITAL LETTER I;Lu;0;L;;;;;N;;;;0069; 004A;LATIN CAPITAL LETTER J;Lu;0;L;;;;;N;;;;006A; 004B;LATIN CAPITAL LETTER K;Lu;0;L;;;;;N;;;;006B; 004C;LATIN CAPITAL LETTER L;Lu;0;L;;;;;N;;;;006C; 004D;LATIN CAPITAL LETTER M;Lu;0;L;;;;;N;;;;006D; 004E;LATIN CAPITAL LETTER N;Lu;0;L;;;;;N;;;;006E; 004F;LATIN CAPITAL LETTER O;Lu;0;L;;;;;N;;;;006F; 0050;LATIN CAPITAL LETTER P;Lu;0;L;;;;;N;;;;0070; 0051;LATIN CAPITAL LETTER Q;Lu;0;L;;;;;N;;;;0071; 0052;LATIN CAPITAL LETTER R;Lu;0;L;;;;;N;;;;0072; 0053;LATIN CAPITAL LETTER S;Lu;0;L;;;;;N;;;;0073; 0054;LATIN CAPITAL LETTER T;Lu;0;L;;;;;N;;;;0074; 0055;LATIN CAPITAL LETTER U;Lu;0;L;;;;;N;;;;0075; 0056;LATIN CAPITAL LETTER V;Lu;0;L;;;;;N;;;;0076; 0057;LATIN CAPITAL LETTER W;Lu;0;L;;;;;N;;;;0077; 0058;LATIN CAPITAL LETTER X;Lu;0;L;;;;;N;;;;0078; 0059;LATIN CAPITAL LETTER Y;Lu;0;L;;;;;N;;;;0079; 005A;LATIN CAPITAL LETTER Z;Lu;0;L;;;;;N;;;;007A; 005B;LEFT SQUARE BRACKET;Ps;0;ON;;;;;Y;OPENING SQUARE BRACKET;;;; 005C;REVERSE SOLIDUS;Po;0;ON;;;;;N;BACKSLASH;;;; 005D;RIGHT SQUARE BRACKET;Pe;0;ON;;;;;Y;CLOSING SQUARE BRACKET;;;; 005E;CIRCUMFLEX ACCENT;Sk;0;ON; 0020 0302;;;;N;SPACING CIRCUMFLEX;;;; 005F;LOW LINE;Pc;0;ON; 0020 0332;;;;N;SPACING UNDERSCORE;;;; 0060;GRAVE ACCENT;Sk;0;ON; 0020 0300;;;;N;SPACING GRAVE;;;; 0061;LATIN SMALL LETTER A;Ll;0;L;;;;;N;;;0041;;0041 0062;LATIN SMALL LETTER B;Ll;0;L;;;;;N;;;0042;;0042 0063;LATIN SMALL LETTER C;Ll;0;L;;;;;N;;;0043;;0043 0064;LATIN SMALL LETTER D;Ll;0;L;;;;;N;;;0044;;0044 0065;LATIN SMALL LETTER E;Ll;0;L;;;;;N;;;0045;;0045 0066;LATIN SMALL LETTER F;Ll;0;L;;;;;N;;;0046;;0046 0067;LATIN SMALL LETTER G;Ll;0;L;;;;;N;;;0047;;0047 0068;LATIN SMALL LETTER H;Ll;0;L;;;;;N;;;0048;;0048 0069;LATIN SMALL LETTER I;Ll;0;L;;;;;N;;;0049;;0049 006A;LATIN SMALL LETTER J;Ll;0;L;;;;;N;;;004A;;004A 006B;LATIN SMALL LETTER K;Ll;0;L;;;;;N;;;004B;;004B 006C;LATIN SMALL LETTER L;Ll;0;L;;;;;N;;;004C;;004C 006D;LATIN SMALL LETTER M;Ll;0;L;;;;;N;;;004D;;004D 006E;LATIN SMALL LETTER N;Ll;0;L;;;;;N;;;004E;;004E 006F;LATIN SMALL LETTER O;Ll;0;L;;;;;N;;;004F;;004F 0070;LATIN SMALL LETTER P;Ll;0;L;;;;;N;;;0050;;0050 0071;LATIN SMALL LETTER Q;Ll;0;L;;;;;N;;;0051;;0051 0072;LATIN SMALL LETTER R;Ll;0;L;;;;;N;;;0052;;0052 0073;LATIN SMALL LETTER S;Ll;0;L;;;;;N;;;0053;;0053 0074;LATIN SMALL LETTER T;Ll;0;L;;;;;N;;;0054;;0054 0075;LATIN SMALL LETTER U;Ll;0;L;;;;;N;;;0055;;0055 0076;LATIN SMALL LETTER V;Ll;0;L;;;;;N;;;0056;;0056 0077;LATIN SMALL LETTER W;Ll;0;L;;;;;N;;;0057;;0057 0078;LATIN SMALL LETTER X;Ll;0;L;;;;;N;;;0058;;0058 0079;LATIN SMALL LETTER Y;Ll;0;L;;;;;N;;;0059;;0059 007A;LATIN SMALL LETTER Z;Ll;0;L;;;;;N;;;005A;;005A 007B;LEFT CURLY BRACKET;Ps;0;ON;;;;;Y;OPENING CURLY BRACKET;;;; 007C;VERTICAL LINE;Sm;0;ON;;;;;N;VERTICAL BAR;;;; 007D;RIGHT CURLY BRACKET;Pe;0;ON;;;;;Y;CLOSING CURLY BRACKET;;;; 007E;TILDE;Sm;0;ON;;;;;N;;;;; 007F;;Cc;0;ON;;;;;N;DELETE;;;; 0080;;Cc;0;ON;;;;;N;;;;; 0081;;Cc;0;ON;;;;;N;;;;; 0082;;Cc;0;ON;;;;;N;;;;; 0083;;Cc;0;ON;;;;;N;;;;; 0084;;Cc;0;ON;;;;;N;;;;; 0085;;Cc;0;ON;;;;;N;;;;; 0086;;Cc;0;ON;;;;;N;;;;; 0087;;Cc;0;ON;;;;;N;;;;; 0088;;Cc;0;ON;;;;;N;;;;; 0089;;Cc;0;ON;;;;;N;;;;; 008A;;Cc;0;ON;;;;;N;;;;; 008B;;Cc;0;ON;;;;;N;;;;; 008C;;Cc;0;ON;;;;;N;;;;; 008D;;Cc;0;ON;;;;;N;;;;; 008E;;Cc;0;ON;;;;;N;;;;; 008F;;Cc;0;ON;;;;;N;;;;; 0090;;Cc;0;ON;;;;;N;;;;; 0091;;Cc;0;ON;;;;;N;;;;; 0092;;Cc;0;ON;;;;;N;;;;; 0093;;Cc;0;ON;;;;;N;;;;; 0094;;Cc;0;ON;;;;;N;;;;; 0095;;Cc;0;ON;;;;;N;;;;; 0096;;Cc;0;ON;;;;;N;;;;; 0097;;Cc;0;ON;;;;;N;;;;; 0098;;Cc;0;ON;;;;;N;;;;; 0099;;Cc;0;ON;;;;;N;;;;; 009A;;Cc;0;ON;;;;;N;;;;; 009B;;Cc;0;ON;;;;;N;;;;; 009C;;Cc;0;ON;;;;;N;;;;; 009D;;Cc;0;ON;;;;;N;;;;; 009E;;Cc;0;ON;;;;;N;;;;; 009F;;Cc;0;ON;;;;;N;;;;; 00A0;NO-BREAK SPACE;Zs;0;WS; 0020;;;;N;NON-BREAKING SPACE;;;; 00A1;INVERTED EXCLAMATION MARK;Po;0;ON;;;;;N;;;;; 00A2;CENT SIGN;Sc;0;ET;;;;;N;;;;; 00A3;POUND SIGN;Sc;0;ET;;;;;N;;;;; 00A4;CURRENCY SIGN;Sc;0;ET;;;;;N;;;;; 00A5;YEN SIGN;Sc;0;ET;;;;;N;;;;; 00A6;BROKEN BAR;So;0;ON;;;;;N;BROKEN VERTICAL BAR;;;; 00A7;SECTION SIGN;So;0;ON;;;;;N;;;;; 00A8;DIAERESIS;Sk;0;ON; 0020 0308;;;;N;SPACING DIAERESIS;;;; 00A9;COPYRIGHT SIGN;So;0;ON;;;;;N;;;;; 00AA;FEMININE ORDINAL INDICATOR;Ll;0;L; 0061;;;;N;;;;; 00AB;LEFT-POINTING DOUBLE ANGLE QUOTATION MARK;Pi;0;ON;;;;;Y;LEFT POINTING GUILLEMET;;;; 00AC;NOT SIGN;Sm;0;ON;;;;;N;;;;; 00AD;SOFT HYPHEN;Pd;0;ON;;;;;N;;;;; 00AE;REGISTERED SIGN;So;0;ON;;;;;N;REGISTERED TRADE MARK SIGN;;;; 00AF;MACRON;Sk;0;ON; 0020 0304;;;;N;SPACING MACRON;;;; 00B0;DEGREE SIGN;So;0;ET;;;;;N;;;;; 00B1;PLUS-MINUS SIGN;Sm;0;ET;;;;;N;PLUS-OR-MINUS SIGN;;;; 00B2;SUPERSCRIPT TWO;No;0;EN; 0032;2;2;2;N;SUPERSCRIPT DIGIT TWO;;;; 00B3;SUPERSCRIPT THREE;No;0;EN; 0033;3;3;3;N;SUPERSCRIPT DIGIT THREE;;;; 00B4;ACUTE ACCENT;Sk;0;ON; 0020 0301;;;;N;SPACING ACUTE;;;; 00B5;MICRO SIGN;Ll;0;L; 03BC;;;;N;;;;; 00B6;PILCROW SIGN;So;0;ON;;;;;N;PARAGRAPH SIGN;;;; 00B7;MIDDLE DOT;Po;0;ON;;;;;N;;;;; 00B8;CEDILLA;Sk;0;ON; 0020 0327;;;;N;SPACING CEDILLA;;;; 00B9;SUPERSCRIPT ONE;No;0;EN; 0031;1;1;1;N;SUPERSCRIPT DIGIT ONE;;;; 00BA;MASCULINE ORDINAL INDICATOR;Ll;0;L; 006F;;;;N;;;;; 00BB;RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK;Pf;0;ON;;;;;Y;RIGHT POINTING GUILLEMET;;;; 00BC;VULGAR FRACTION ONE QUARTER;No;0;ON; 0031 2044 0034;;;1/4;N;FRACTION ONE QUARTER;;;; 00BD;VULGAR FRACTION ONE HALF;No;0;ON; 0031 2044 0032;;;1/2;N;FRACTION ONE HALF;;;; 00BE;VULGAR FRACTION THREE QUARTERS;No;0;ON; 0033 2044 0034;;;3/4;N;FRACTION THREE QUARTERS;;;; 00BF;INVERTED QUESTION MARK;Po;0;ON;;;;;N;;;;; 00C0;LATIN CAPITAL LETTER A WITH GRAVE;Lu;0;L;0041 0300;;;;N;LATIN CAPITAL LETTER A GRAVE;;;00E0; 00C1;LATIN CAPITAL LETTER A WITH ACUTE;Lu;0;L;0041 0301;;;;N;LATIN CAPITAL LETTER A ACUTE;;;00E1; 00C2;LATIN CAPITAL LETTER A WITH CIRCUMFLEX;Lu;0;L;0041 0302;;;;N;LATIN CAPITAL LETTER A CIRCUMFLEX;;;00E2; 00C3;LATIN CAPITAL LETTER A WITH TILDE;Lu;0;L;0041 0303;;;;N;LATIN CAPITAL LETTER A TILDE;;;00E3; 00C4;LATIN CAPITAL LETTER A WITH DIAERESIS;Lu;0;L;0041 0308;;;;N;LATIN CAPITAL LETTER A DIAERESIS;;;00E4; 00C5;LATIN CAPITAL LETTER A WITH RING ABOVE;Lu;0;L;0041 030A;;;;N;LATIN CAPITAL LETTER A RING;;;00E5; 00C6;LATIN CAPITAL LETTER AE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER A E;;;00E6; 00C7;LATIN CAPITAL LETTER C WITH CEDILLA;Lu;0;L;0043 0327;;;;N;LATIN CAPITAL LETTER C CEDILLA;;;00E7; 00C8;LATIN CAPITAL LETTER E WITH GRAVE;Lu;0;L;0045 0300;;;;N;LATIN CAPITAL LETTER E GRAVE;;;00E8; 00C9;LATIN CAPITAL LETTER E WITH ACUTE;Lu;0;L;0045 0301;;;;N;LATIN CAPITAL LETTER E ACUTE;;;00E9; 00CA;LATIN CAPITAL LETTER E WITH CIRCUMFLEX;Lu;0;L;0045 0302;;;;N;LATIN CAPITAL LETTER E CIRCUMFLEX;;;00EA; 00CB;LATIN CAPITAL LETTER E WITH DIAERESIS;Lu;0;L;0045 0308;;;;N;LATIN CAPITAL LETTER E DIAERESIS;;;00EB; 00CC;LATIN CAPITAL LETTER I WITH GRAVE;Lu;0;L;0049 0300;;;;N;LATIN CAPITAL LETTER I GRAVE;;;00EC; 00CD;LATIN CAPITAL LETTER I WITH ACUTE;Lu;0;L;0049 0301;;;;N;LATIN CAPITAL LETTER I ACUTE;;;00ED; 00CE;LATIN CAPITAL LETTER I WITH CIRCUMFLEX;Lu;0;L;0049 0302;;;;N;LATIN CAPITAL LETTER I CIRCUMFLEX;;;00EE; 00CF;LATIN CAPITAL LETTER I WITH DIAERESIS;Lu;0;L;0049 0308;;;;N;LATIN CAPITAL LETTER I DIAERESIS;;;00EF; 00D0;LATIN CAPITAL LETTER ETH;Lu;0;L;;;;;N;;Icelandic;;00F0; 00D1;LATIN CAPITAL LETTER N WITH TILDE;Lu;0;L;004E 0303;;;;N;LATIN CAPITAL LETTER N TILDE;;;00F1; 00D2;LATIN CAPITAL LETTER O WITH GRAVE;Lu;0;L;004F 0300;;;;N;LATIN CAPITAL LETTER O GRAVE;;;00F2; 00D3;LATIN CAPITAL LETTER O WITH ACUTE;Lu;0;L;004F 0301;;;;N;LATIN CAPITAL LETTER O ACUTE;;;00F3; 00D4;LATIN CAPITAL LETTER O WITH CIRCUMFLEX;Lu;0;L;004F 0302;;;;N;LATIN CAPITAL LETTER O CIRCUMFLEX;;;00F4; 00D5;LATIN CAPITAL LETTER O WITH TILDE;Lu;0;L;004F 0303;;;;N;LATIN CAPITAL LETTER O TILDE;;;00F5; 00D6;LATIN CAPITAL LETTER O WITH DIAERESIS;Lu;0;L;004F 0308;;;;N;LATIN CAPITAL LETTER O DIAERESIS;;;00F6; 00D7;MULTIPLICATION SIGN;Sm;0;ON;;;;;N;;;;; 00D8;LATIN CAPITAL LETTER O WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER O SLASH;;;00F8; 00D9;LATIN CAPITAL LETTER U WITH GRAVE;Lu;0;L;0055 0300;;;;N;LATIN CAPITAL LETTER U GRAVE;;;00F9; 00DA;LATIN CAPITAL LETTER U WITH ACUTE;Lu;0;L;0055 0301;;;;N;LATIN CAPITAL LETTER U ACUTE;;;00FA; 00DB;LATIN CAPITAL LETTER U WITH CIRCUMFLEX;Lu;0;L;0055 0302;;;;N;LATIN CAPITAL LETTER U CIRCUMFLEX;;;00FB; 00DC;LATIN CAPITAL LETTER U WITH DIAERESIS;Lu;0;L;0055 0308;;;;N;LATIN CAPITAL LETTER U DIAERESIS;;;00FC; 00DD;LATIN CAPITAL LETTER Y WITH ACUTE;Lu;0;L;0059 0301;;;;N;LATIN CAPITAL LETTER Y ACUTE;;;00FD; 00DE;LATIN CAPITAL LETTER THORN;Lu;0;L;;;;;N;;Icelandic;;00FE; 00DF;LATIN SMALL LETTER SHARP S;Ll;0;L;;;;;N;;German;;; 00E0;LATIN SMALL LETTER A WITH GRAVE;Ll;0;L;0061 0300;;;;N;LATIN SMALL LETTER A GRAVE;;00C0;;00C0 00E1;LATIN SMALL LETTER A WITH ACUTE;Ll;0;L;0061 0301;;;;N;LATIN SMALL LETTER A ACUTE;;00C1;;00C1 00E2;LATIN SMALL LETTER A WITH CIRCUMFLEX;Ll;0;L;0061 0302;;;;N;LATIN SMALL LETTER A CIRCUMFLEX;;00C2;;00C2 00E3;LATIN SMALL LETTER A WITH TILDE;Ll;0;L;0061 0303;;;;N;LATIN SMALL LETTER A TILDE;;00C3;;00C3 00E4;LATIN SMALL LETTER A WITH DIAERESIS;Ll;0;L;0061 0308;;;;N;LATIN SMALL LETTER A DIAERESIS;;00C4;;00C4 00E5;LATIN SMALL LETTER A WITH RING ABOVE;Ll;0;L;0061 030A;;;;N;LATIN SMALL LETTER A RING;;00C5;;00C5 00E6;LATIN SMALL LETTER AE;Ll;0;L;;;;;N;LATIN SMALL LETTER A E;;00C6;;00C6 00E7;LATIN SMALL LETTER C WITH CEDILLA;Ll;0;L;0063 0327;;;;N;LATIN SMALL LETTER C CEDILLA;;00C7;;00C7 00E8;LATIN SMALL LETTER E WITH GRAVE;Ll;0;L;0065 0300;;;;N;LATIN SMALL LETTER E GRAVE;;00C8;;00C8 00E9;LATIN SMALL LETTER E WITH ACUTE;Ll;0;L;0065 0301;;;;N;LATIN SMALL LETTER E ACUTE;;00C9;;00C9 00EA;LATIN SMALL LETTER E WITH CIRCUMFLEX;Ll;0;L;0065 0302;;;;N;LATIN SMALL LETTER E CIRCUMFLEX;;00CA;;00CA 00EB;LATIN SMALL LETTER E WITH DIAERESIS;Ll;0;L;0065 0308;;;;N;LATIN SMALL LETTER E DIAERESIS;;00CB;;00CB 00EC;LATIN SMALL LETTER I WITH GRAVE;Ll;0;L;0069 0300;;;;N;LATIN SMALL LETTER I GRAVE;;00CC;;00CC 00ED;LATIN SMALL LETTER I WITH ACUTE;Ll;0;L;0069 0301;;;;N;LATIN SMALL LETTER I ACUTE;;00CD;;00CD 00EE;LATIN SMALL LETTER I WITH CIRCUMFLEX;Ll;0;L;0069 0302;;;;N;LATIN SMALL LETTER I CIRCUMFLEX;;00CE;;00CE 00EF;LATIN SMALL LETTER I WITH DIAERESIS;Ll;0;L;0069 0308;;;;N;LATIN SMALL LETTER I DIAERESIS;;00CF;;00CF 00F0;LATIN SMALL LETTER ETH;Ll;0;L;;;;;N;;Icelandic;00D0;;00D0 00F1;LATIN SMALL LETTER N WITH TILDE;Ll;0;L;006E 0303;;;;N;LATIN SMALL LETTER N TILDE;;00D1;;00D1 00F2;LATIN SMALL LETTER O WITH GRAVE;Ll;0;L;006F 0300;;;;N;LATIN SMALL LETTER O GRAVE;;00D2;;00D2 00F3;LATIN SMALL LETTER O WITH ACUTE;Ll;0;L;006F 0301;;;;N;LATIN SMALL LETTER O ACUTE;;00D3;;00D3 00F4;LATIN SMALL LETTER O WITH CIRCUMFLEX;Ll;0;L;006F 0302;;;;N;LATIN SMALL LETTER O CIRCUMFLEX;;00D4;;00D4 00F5;LATIN SMALL LETTER O WITH TILDE;Ll;0;L;006F 0303;;;;N;LATIN SMALL LETTER O TILDE;;00D5;;00D5 00F6;LATIN SMALL LETTER O WITH DIAERESIS;Ll;0;L;006F 0308;;;;N;LATIN SMALL LETTER O DIAERESIS;;00D6;;00D6 00F7;DIVISION SIGN;Sm;0;ON;;;;;N;;;;; 00F8;LATIN SMALL LETTER O WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER O SLASH;;00D8;;00D8 00F9;LATIN SMALL LETTER U WITH GRAVE;Ll;0;L;0075 0300;;;;N;LATIN SMALL LETTER U GRAVE;;00D9;;00D9 00FA;LATIN SMALL LETTER U WITH ACUTE;Ll;0;L;0075 0301;;;;N;LATIN SMALL LETTER U ACUTE;;00DA;;00DA 00FB;LATIN SMALL LETTER U WITH CIRCUMFLEX;Ll;0;L;0075 0302;;;;N;LATIN SMALL LETTER U CIRCUMFLEX;;00DB;;00DB 00FC;LATIN SMALL LETTER U WITH DIAERESIS;Ll;0;L;0075 0308;;;;N;LATIN SMALL LETTER U DIAERESIS;;00DC;;00DC 00FD;LATIN SMALL LETTER Y WITH ACUTE;Ll;0;L;0079 0301;;;;N;LATIN SMALL LETTER Y ACUTE;;00DD;;00DD 00FE;LATIN SMALL LETTER THORN;Ll;0;L;;;;;N;;Icelandic;00DE;;00DE 00FF;LATIN SMALL LETTER Y WITH DIAERESIS;Ll;0;L;0079 0308;;;;N;LATIN SMALL LETTER Y DIAERESIS;;0178;;0178 0100;LATIN CAPITAL LETTER A WITH MACRON;Lu;0;L;0041 0304;;;;N;LATIN CAPITAL LETTER A MACRON;;;0101; 0101;LATIN SMALL LETTER A WITH MACRON;Ll;0;L;0061 0304;;;;N;LATIN SMALL LETTER A MACRON;;0100;;0100 0102;LATIN CAPITAL LETTER A WITH BREVE;Lu;0;L;0041 0306;;;;N;LATIN CAPITAL LETTER A BREVE;;;0103; 0103;LATIN SMALL LETTER A WITH BREVE;Ll;0;L;0061 0306;;;;N;LATIN SMALL LETTER A BREVE;;0102;;0102 0104;LATIN CAPITAL LETTER A WITH OGONEK;Lu;0;L;0041 0328;;;;N;LATIN CAPITAL LETTER A OGONEK;;;0105; 0105;LATIN SMALL LETTER A WITH OGONEK;Ll;0;L;0061 0328;;;;N;LATIN SMALL LETTER A OGONEK;;0104;;0104 0106;LATIN CAPITAL LETTER C WITH ACUTE;Lu;0;L;0043 0301;;;;N;LATIN CAPITAL LETTER C ACUTE;;;0107; 0107;LATIN SMALL LETTER C WITH ACUTE;Ll;0;L;0063 0301;;;;N;LATIN SMALL LETTER C ACUTE;;0106;;0106 0108;LATIN CAPITAL LETTER C WITH CIRCUMFLEX;Lu;0;L;0043 0302;;;;N;LATIN CAPITAL LETTER C CIRCUMFLEX;;;0109; 0109;LATIN SMALL LETTER C WITH CIRCUMFLEX;Ll;0;L;0063 0302;;;;N;LATIN SMALL LETTER C CIRCUMFLEX;;0108;;0108 010A;LATIN CAPITAL LETTER C WITH DOT ABOVE;Lu;0;L;0043 0307;;;;N;LATIN CAPITAL LETTER C DOT;;;010B; 010B;LATIN SMALL LETTER C WITH DOT ABOVE;Ll;0;L;0063 0307;;;;N;LATIN SMALL LETTER C DOT;;010A;;010A 010C;LATIN CAPITAL LETTER C WITH CARON;Lu;0;L;0043 030C;;;;N;LATIN CAPITAL LETTER C HACEK;;;010D; 010D;LATIN SMALL LETTER C WITH CARON;Ll;0;L;0063 030C;;;;N;LATIN SMALL LETTER C HACEK;;010C;;010C 010E;LATIN CAPITAL LETTER D WITH CARON;Lu;0;L;0044 030C;;;;N;LATIN CAPITAL LETTER D HACEK;;;010F; 010F;LATIN SMALL LETTER D WITH CARON;Ll;0;L;0064 030C;;;;N;LATIN SMALL LETTER D HACEK;;010E;;010E 0110;LATIN CAPITAL LETTER D WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER D BAR;;;0111; 0111;LATIN SMALL LETTER D WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER D BAR;;0110;;0110 0112;LATIN CAPITAL LETTER E WITH MACRON;Lu;0;L;0045 0304;;;;N;LATIN CAPITAL LETTER E MACRON;;;0113; 0113;LATIN SMALL LETTER E WITH MACRON;Ll;0;L;0065 0304;;;;N;LATIN SMALL LETTER E MACRON;;0112;;0112 0114;LATIN CAPITAL LETTER E WITH BREVE;Lu;0;L;0045 0306;;;;N;LATIN CAPITAL LETTER E BREVE;;;0115; 0115;LATIN SMALL LETTER E WITH BREVE;Ll;0;L;0065 0306;;;;N;LATIN SMALL LETTER E BREVE;;0114;;0114 0116;LATIN CAPITAL LETTER E WITH DOT ABOVE;Lu;0;L;0045 0307;;;;N;LATIN CAPITAL LETTER E DOT;;;0117; 0117;LATIN SMALL LETTER E WITH DOT ABOVE;Ll;0;L;0065 0307;;;;N;LATIN SMALL LETTER E DOT;;0116;;0116 0118;LATIN CAPITAL LETTER E WITH OGONEK;Lu;0;L;0045 0328;;;;N;LATIN CAPITAL LETTER E OGONEK;;;0119; 0119;LATIN SMALL LETTER E WITH OGONEK;Ll;0;L;0065 0328;;;;N;LATIN SMALL LETTER E OGONEK;;0118;;0118 011A;LATIN CAPITAL LETTER E WITH CARON;Lu;0;L;0045 030C;;;;N;LATIN CAPITAL LETTER E HACEK;;;011B; 011B;LATIN SMALL LETTER E WITH CARON;Ll;0;L;0065 030C;;;;N;LATIN SMALL LETTER E HACEK;;011A;;011A 011C;LATIN CAPITAL LETTER G WITH CIRCUMFLEX;Lu;0;L;0047 0302;;;;N;LATIN CAPITAL LETTER G CIRCUMFLEX;;;011D; 011D;LATIN SMALL LETTER G WITH CIRCUMFLEX;Ll;0;L;0067 0302;;;;N;LATIN SMALL LETTER G CIRCUMFLEX;;011C;;011C 011E;LATIN CAPITAL LETTER G WITH BREVE;Lu;0;L;0047 0306;;;;N;LATIN CAPITAL LETTER G BREVE;;;011F; 011F;LATIN SMALL LETTER G WITH BREVE;Ll;0;L;0067 0306;;;;N;LATIN SMALL LETTER G BREVE;;011E;;011E 0120;LATIN CAPITAL LETTER G WITH DOT ABOVE;Lu;0;L;0047 0307;;;;N;LATIN CAPITAL LETTER G DOT;;;0121; 0121;LATIN SMALL LETTER G WITH DOT ABOVE;Ll;0;L;0067 0307;;;;N;LATIN SMALL LETTER G DOT;;0120;;0120 0122;LATIN CAPITAL LETTER G WITH CEDILLA;Lu;0;L;0047 0327;;;;N;LATIN CAPITAL LETTER G CEDILLA;;;0123; 0123;LATIN SMALL LETTER G WITH CEDILLA;Ll;0;L;0067 0327;;;;N;LATIN SMALL LETTER G CEDILLA;;0122;;0122 0124;LATIN CAPITAL LETTER H WITH CIRCUMFLEX;Lu;0;L;0048 0302;;;;N;LATIN CAPITAL LETTER H CIRCUMFLEX;;;0125; 0125;LATIN SMALL LETTER H WITH CIRCUMFLEX;Ll;0;L;0068 0302;;;;N;LATIN SMALL LETTER H CIRCUMFLEX;;0124;;0124 0126;LATIN CAPITAL LETTER H WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER H BAR;;;0127; 0127;LATIN SMALL LETTER H WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER H BAR;;0126;;0126 0128;LATIN CAPITAL LETTER I WITH TILDE;Lu;0;L;0049 0303;;;;N;LATIN CAPITAL LETTER I TILDE;;;0129; 0129;LATIN SMALL LETTER I WITH TILDE;Ll;0;L;0069 0303;;;;N;LATIN SMALL LETTER I TILDE;;0128;;0128 012A;LATIN CAPITAL LETTER I WITH MACRON;Lu;0;L;0049 0304;;;;N;LATIN CAPITAL LETTER I MACRON;;;012B; 012B;LATIN SMALL LETTER I WITH MACRON;Ll;0;L;0069 0304;;;;N;LATIN SMALL LETTER I MACRON;;012A;;012A 012C;LATIN CAPITAL LETTER I WITH BREVE;Lu;0;L;0049 0306;;;;N;LATIN CAPITAL LETTER I BREVE;;;012D; 012D;LATIN SMALL LETTER I WITH BREVE;Ll;0;L;0069 0306;;;;N;LATIN SMALL LETTER I BREVE;;012C;;012C 012E;LATIN CAPITAL LETTER I WITH OGONEK;Lu;0;L;0049 0328;;;;N;LATIN CAPITAL LETTER I OGONEK;;;012F; 012F;LATIN SMALL LETTER I WITH OGONEK;Ll;0;L;0069 0328;;;;N;LATIN SMALL LETTER I OGONEK;;012E;;012E 0130;LATIN CAPITAL LETTER I WITH DOT ABOVE;Lu;0;L;0049 0307;;;;N;LATIN CAPITAL LETTER I DOT;;;0069; 0131;LATIN SMALL LETTER DOTLESS I;Ll;0;L;;;;;N;;;0049;;0049 0132;LATIN CAPITAL LIGATURE IJ;Lu;0;L; 0049 004A;;;;N;LATIN CAPITAL LETTER I J;;;0133; 0133;LATIN SMALL LIGATURE IJ;Ll;0;L; 0069 006A;;;;N;LATIN SMALL LETTER I J;;0132;;0132 0134;LATIN CAPITAL LETTER J WITH CIRCUMFLEX;Lu;0;L;004A 0302;;;;N;LATIN CAPITAL LETTER J CIRCUMFLEX;;;0135; 0135;LATIN SMALL LETTER J WITH CIRCUMFLEX;Ll;0;L;006A 0302;;;;N;LATIN SMALL LETTER J CIRCUMFLEX;;0134;;0134 0136;LATIN CAPITAL LETTER K WITH CEDILLA;Lu;0;L;004B 0327;;;;N;LATIN CAPITAL LETTER K CEDILLA;;;0137; 0137;LATIN SMALL LETTER K WITH CEDILLA;Ll;0;L;006B 0327;;;;N;LATIN SMALL LETTER K CEDILLA;;0136;;0136 0138;LATIN SMALL LETTER KRA;Ll;0;L;;;;;N;;Greenlandic;;; 0139;LATIN CAPITAL LETTER L WITH ACUTE;Lu;0;L;004C 0301;;;;N;LATIN CAPITAL LETTER L ACUTE;;;013A; 013A;LATIN SMALL LETTER L WITH ACUTE;Ll;0;L;006C 0301;;;;N;LATIN SMALL LETTER L ACUTE;;0139;;0139 013B;LATIN CAPITAL LETTER L WITH CEDILLA;Lu;0;L;004C 0327;;;;N;LATIN CAPITAL LETTER L CEDILLA;;;013C; 013C;LATIN SMALL LETTER L WITH CEDILLA;Ll;0;L;006C 0327;;;;N;LATIN SMALL LETTER L CEDILLA;;013B;;013B 013D;LATIN CAPITAL LETTER L WITH CARON;Lu;0;L;004C 030C;;;;N;LATIN CAPITAL LETTER L HACEK;;;013E; 013E;LATIN SMALL LETTER L WITH CARON;Ll;0;L;006C 030C;;;;N;LATIN SMALL LETTER L HACEK;;013D;;013D 013F;LATIN CAPITAL LETTER L WITH MIDDLE DOT;Lu;0;L; 004C 00B7;;;;N;;;;0140; 0140;LATIN SMALL LETTER L WITH MIDDLE DOT;Ll;0;L; 006C 00B7;;;;N;;;013F;;013F 0141;LATIN CAPITAL LETTER L WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER L SLASH;;;0142; 0142;LATIN SMALL LETTER L WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER L SLASH;;0141;;0141 0143;LATIN CAPITAL LETTER N WITH ACUTE;Lu;0;L;004E 0301;;;;N;LATIN CAPITAL LETTER N ACUTE;;;0144; 0144;LATIN SMALL LETTER N WITH ACUTE;Ll;0;L;006E 0301;;;;N;LATIN SMALL LETTER N ACUTE;;0143;;0143 0145;LATIN CAPITAL LETTER N WITH CEDILLA;Lu;0;L;004E 0327;;;;N;LATIN CAPITAL LETTER N CEDILLA;;;0146; 0146;LATIN SMALL LETTER N WITH CEDILLA;Ll;0;L;006E 0327;;;;N;LATIN SMALL LETTER N CEDILLA;;0145;;0145 0147;LATIN CAPITAL LETTER N WITH CARON;Lu;0;L;004E 030C;;;;N;LATIN CAPITAL LETTER N HACEK;;;0148; 0148;LATIN SMALL LETTER N WITH CARON;Ll;0;L;006E 030C;;;;N;LATIN SMALL LETTER N HACEK;;0147;;0147 0149;LATIN SMALL LETTER N PRECEDED BY APOSTROPHE;Ll;0;L; 02BC 006E;;;;N;LATIN SMALL LETTER APOSTROPHE N;;;; 014A;LATIN CAPITAL LETTER ENG;Lu;0;L;;;;;N;;Sami;;014B; 014B;LATIN SMALL LETTER ENG;Ll;0;L;;;;;N;;Sami;014A;;014A 014C;LATIN CAPITAL LETTER O WITH MACRON;Lu;0;L;004F 0304;;;;N;LATIN CAPITAL LETTER O MACRON;;;014D; 014D;LATIN SMALL LETTER O WITH MACRON;Ll;0;L;006F 0304;;;;N;LATIN SMALL LETTER O MACRON;;014C;;014C 014E;LATIN CAPITAL LETTER O WITH BREVE;Lu;0;L;004F 0306;;;;N;LATIN CAPITAL LETTER O BREVE;;;014F; 014F;LATIN SMALL LETTER O WITH BREVE;Ll;0;L;006F 0306;;;;N;LATIN SMALL LETTER O BREVE;;014E;;014E 0150;LATIN CAPITAL LETTER O WITH DOUBLE ACUTE;Lu;0;L;004F 030B;;;;N;LATIN CAPITAL LETTER O DOUBLE ACUTE;;;0151; 0151;LATIN SMALL LETTER O WITH DOUBLE ACUTE;Ll;0;L;006F 030B;;;;N;LATIN SMALL LETTER O DOUBLE ACUTE;;0150;;0150 0152;LATIN CAPITAL LIGATURE OE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER O E;;;0153; 0153;LATIN SMALL LIGATURE OE;Ll;0;L;;;;;N;LATIN SMALL LETTER O E;;0152;;0152 0154;LATIN CAPITAL LETTER R WITH ACUTE;Lu;0;L;0052 0301;;;;N;LATIN CAPITAL LETTER R ACUTE;;;0155; 0155;LATIN SMALL LETTER R WITH ACUTE;Ll;0;L;0072 0301;;;;N;LATIN SMALL LETTER R ACUTE;;0154;;0154 0156;LATIN CAPITAL LETTER R WITH CEDILLA;Lu;0;L;0052 0327;;;;N;LATIN CAPITAL LETTER R CEDILLA;;;0157; 0157;LATIN SMALL LETTER R WITH CEDILLA;Ll;0;L;0072 0327;;;;N;LATIN SMALL LETTER R CEDILLA;;0156;;0156 0158;LATIN CAPITAL LETTER R WITH CARON;Lu;0;L;0052 030C;;;;N;LATIN CAPITAL LETTER R HACEK;;;0159; 0159;LATIN SMALL LETTER R WITH CARON;Ll;0;L;0072 030C;;;;N;LATIN SMALL LETTER R HACEK;;0158;;0158 015A;LATIN CAPITAL LETTER S WITH ACUTE;Lu;0;L;0053 0301;;;;N;LATIN CAPITAL LETTER S ACUTE;;;015B; 015B;LATIN SMALL LETTER S WITH ACUTE;Ll;0;L;0073 0301;;;;N;LATIN SMALL LETTER S ACUTE;;015A;;015A 015C;LATIN CAPITAL LETTER S WITH CIRCUMFLEX;Lu;0;L;0053 0302;;;;N;LATIN CAPITAL LETTER S CIRCUMFLEX;;;015D; 015D;LATIN SMALL LETTER S WITH CIRCUMFLEX;Ll;0;L;0073 0302;;;;N;LATIN SMALL LETTER S CIRCUMFLEX;;015C;;015C 015E;LATIN CAPITAL LETTER S WITH CEDILLA;Lu;0;L;0053 0327;;;;N;LATIN CAPITAL LETTER S CEDILLA;;;015F; 015F;LATIN SMALL LETTER S WITH CEDILLA;Ll;0;L;0073 0327;;;;N;LATIN SMALL LETTER S CEDILLA;;015E;;015E 0160;LATIN CAPITAL LETTER S WITH CARON;Lu;0;L;0053 030C;;;;N;LATIN CAPITAL LETTER S HACEK;;;0161; 0161;LATIN SMALL LETTER S WITH CARON;Ll;0;L;0073 030C;;;;N;LATIN SMALL LETTER S HACEK;;0160;;0160 0162;LATIN CAPITAL LETTER T WITH CEDILLA;Lu;0;L;0054 0327;;;;N;LATIN CAPITAL LETTER T CEDILLA;;;0163; 0163;LATIN SMALL LETTER T WITH CEDILLA;Ll;0;L;0074 0327;;;;N;LATIN SMALL LETTER T CEDILLA;;0162;;0162 0164;LATIN CAPITAL LETTER T WITH CARON;Lu;0;L;0054 030C;;;;N;LATIN CAPITAL LETTER T HACEK;;;0165; 0165;LATIN SMALL LETTER T WITH CARON;Ll;0;L;0074 030C;;;;N;LATIN SMALL LETTER T HACEK;;0164;;0164 0166;LATIN CAPITAL LETTER T WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER T BAR;;;0167; 0167;LATIN SMALL LETTER T WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER T BAR;;0166;;0166 0168;LATIN CAPITAL LETTER U WITH TILDE;Lu;0;L;0055 0303;;;;N;LATIN CAPITAL LETTER U TILDE;;;0169; 0169;LATIN SMALL LETTER U WITH TILDE;Ll;0;L;0075 0303;;;;N;LATIN SMALL LETTER U TILDE;;0168;;0168 016A;LATIN CAPITAL LETTER U WITH MACRON;Lu;0;L;0055 0304;;;;N;LATIN CAPITAL LETTER U MACRON;;;016B; 016B;LATIN SMALL LETTER U WITH MACRON;Ll;0;L;0075 0304;;;;N;LATIN SMALL LETTER U MACRON;;016A;;016A 016C;LATIN CAPITAL LETTER U WITH BREVE;Lu;0;L;0055 0306;;;;N;LATIN CAPITAL LETTER U BREVE;;;016D; 016D;LATIN SMALL LETTER U WITH BREVE;Ll;0;L;0075 0306;;;;N;LATIN SMALL LETTER U BREVE;;016C;;016C 016E;LATIN CAPITAL LETTER U WITH RING ABOVE;Lu;0;L;0055 030A;;;;N;LATIN CAPITAL LETTER U RING;;;016F; 016F;LATIN SMALL LETTER U WITH RING ABOVE;Ll;0;L;0075 030A;;;;N;LATIN SMALL LETTER U RING;;016E;;016E 0170;LATIN CAPITAL LETTER U WITH DOUBLE ACUTE;Lu;0;L;0055 030B;;;;N;LATIN CAPITAL LETTER U DOUBLE ACUTE;;;0171; 0171;LATIN SMALL LETTER U WITH DOUBLE ACUTE;Ll;0;L;0075 030B;;;;N;LATIN SMALL LETTER U DOUBLE ACUTE;;0170;;0170 0172;LATIN CAPITAL LETTER U WITH OGONEK;Lu;0;L;0055 0328;;;;N;LATIN CAPITAL LETTER U OGONEK;;;0173; 0173;LATIN SMALL LETTER U WITH OGONEK;Ll;0;L;0075 0328;;;;N;LATIN SMALL LETTER U OGONEK;;0172;;0172 0174;LATIN CAPITAL LETTER W WITH CIRCUMFLEX;Lu;0;L;0057 0302;;;;N;LATIN CAPITAL LETTER W CIRCUMFLEX;;;0175; 0175;LATIN SMALL LETTER W WITH CIRCUMFLEX;Ll;0;L;0077 0302;;;;N;LATIN SMALL LETTER W CIRCUMFLEX;;0174;;0174 0176;LATIN CAPITAL LETTER Y WITH CIRCUMFLEX;Lu;0;L;0059 0302;;;;N;LATIN CAPITAL LETTER Y CIRCUMFLEX;;;0177; 0177;LATIN SMALL LETTER Y WITH CIRCUMFLEX;Ll;0;L;0079 0302;;;;N;LATIN SMALL LETTER Y CIRCUMFLEX;;0176;;0176 0178;LATIN CAPITAL LETTER Y WITH DIAERESIS;Lu;0;L;0059 0308;;;;N;LATIN CAPITAL LETTER Y DIAERESIS;;;00FF; 0179;LATIN CAPITAL LETTER Z WITH ACUTE;Lu;0;L;005A 0301;;;;N;LATIN CAPITAL LETTER Z ACUTE;;;017A; 017A;LATIN SMALL LETTER Z WITH ACUTE;Ll;0;L;007A 0301;;;;N;LATIN SMALL LETTER Z ACUTE;;0179;;0179 017B;LATIN CAPITAL LETTER Z WITH DOT ABOVE;Lu;0;L;005A 0307;;;;N;LATIN CAPITAL LETTER Z DOT;;;017C; 017C;LATIN SMALL LETTER Z WITH DOT ABOVE;Ll;0;L;007A 0307;;;;N;LATIN SMALL LETTER Z DOT;;017B;;017B 017D;LATIN CAPITAL LETTER Z WITH CARON;Lu;0;L;005A 030C;;;;N;LATIN CAPITAL LETTER Z HACEK;;;017E; 017E;LATIN SMALL LETTER Z WITH CARON;Ll;0;L;007A 030C;;;;N;LATIN SMALL LETTER Z HACEK;;017D;;017D 017F;LATIN SMALL LETTER LONG S;Ll;0;L; 0073;;;;N;;;0053;;0053 0180;LATIN SMALL LETTER B WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER B BAR;;;; 0181;LATIN CAPITAL LETTER B WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER B HOOK;;;0253; 0182;LATIN CAPITAL LETTER B WITH TOPBAR;Lu;0;L;;;;;N;LATIN CAPITAL LETTER B TOPBAR;;;0183; 0183;LATIN SMALL LETTER B WITH TOPBAR;Ll;0;L;;;;;N;LATIN SMALL LETTER B TOPBAR;;0182;;0182 0184;LATIN CAPITAL LETTER TONE SIX;Lu;0;L;;;;;N;;;;0185; 0185;LATIN SMALL LETTER TONE SIX;Ll;0;L;;;;;N;;;0184;;0184 0186;LATIN CAPITAL LETTER OPEN O;Lu;0;L;;;;;N;;;;0254; 0187;LATIN CAPITAL LETTER C WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER C HOOK;;;0188; 0188;LATIN SMALL LETTER C WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER C HOOK;;0187;;0187 0189;LATIN CAPITAL LETTER AFRICAN D;Lu;0;L;;;;;N;;;;0256; 018A;LATIN CAPITAL LETTER D WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER D HOOK;;;0257; 018B;LATIN CAPITAL LETTER D WITH TOPBAR;Lu;0;L;;;;;N;LATIN CAPITAL LETTER D TOPBAR;;;018C; 018C;LATIN SMALL LETTER D WITH TOPBAR;Ll;0;L;;;;;N;LATIN SMALL LETTER D TOPBAR;;018B;;018B 018D;LATIN SMALL LETTER TURNED DELTA;Ll;0;L;;;;;N;;;;; 018E;LATIN CAPITAL LETTER REVERSED E;Lu;0;L;;;;;N;LATIN CAPITAL LETTER TURNED E;;;01DD; 018F;LATIN CAPITAL LETTER SCHWA;Lu;0;L;;;;;N;;;;0259; 0190;LATIN CAPITAL LETTER OPEN E;Lu;0;L;;;;;N;LATIN CAPITAL LETTER EPSILON;;;025B; 0191;LATIN CAPITAL LETTER F WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER F HOOK;;;0192; 0192;LATIN SMALL LETTER F WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER SCRIPT F;;0191;;0191 0193;LATIN CAPITAL LETTER G WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER G HOOK;;;0260; 0194;LATIN CAPITAL LETTER GAMMA;Lu;0;L;;;;;N;;;;0263; 0195;LATIN SMALL LETTER HV;Ll;0;L;;;;;N;LATIN SMALL LETTER H V;;;; 0196;LATIN CAPITAL LETTER IOTA;Lu;0;L;;;;;N;;;;0269; 0197;LATIN CAPITAL LETTER I WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER BARRED I;;;0268; 0198;LATIN CAPITAL LETTER K WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER K HOOK;;;0199; 0199;LATIN SMALL LETTER K WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER K HOOK;;0198;;0198 019A;LATIN SMALL LETTER L WITH BAR;Ll;0;L;;;;;N;LATIN SMALL LETTER BARRED L;;;; 019B;LATIN SMALL LETTER LAMBDA WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER BARRED LAMBDA;;;; 019C;LATIN CAPITAL LETTER TURNED M;Lu;0;L;;;;;N;;;;026F; 019D;LATIN CAPITAL LETTER N WITH LEFT HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER N HOOK;;;0272; 019E;LATIN SMALL LETTER N WITH LONG RIGHT LEG;Ll;0;L;;;;;N;;;;; 019F;LATIN CAPITAL LETTER O WITH MIDDLE TILDE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER BARRED O;;;0275; 01A0;LATIN CAPITAL LETTER O WITH HORN;Lu;0;L;004F 031B;;;;N;LATIN CAPITAL LETTER O HORN;;;01A1; 01A1;LATIN SMALL LETTER O WITH HORN;Ll;0;L;006F 031B;;;;N;LATIN SMALL LETTER O HORN;;01A0;;01A0 01A2;LATIN CAPITAL LETTER OI;Lu;0;L;;;;;N;LATIN CAPITAL LETTER O I;;;01A3; 01A3;LATIN SMALL LETTER OI;Ll;0;L;;;;;N;LATIN SMALL LETTER O I;;01A2;;01A2 01A4;LATIN CAPITAL LETTER P WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER P HOOK;;;01A5; 01A5;LATIN SMALL LETTER P WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER P HOOK;;01A4;;01A4 01A6;LATIN LETTER YR;Lu;0;L;;;;;N;LATIN LETTER Y R;;;0280; 01A7;LATIN CAPITAL LETTER TONE TWO;Lu;0;L;;;;;N;;;;01A8; 01A8;LATIN SMALL LETTER TONE TWO;Ll;0;L;;;;;N;;;01A7;;01A7 01A9;LATIN CAPITAL LETTER ESH;Lu;0;L;;;;;N;;;;0283; 01AA;LATIN LETTER REVERSED ESH LOOP;Lo;0;L;;;;;N;;;;; 01AB;LATIN SMALL LETTER T WITH PALATAL HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER T PALATAL HOOK;;;; 01AC;LATIN CAPITAL LETTER T WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER T HOOK;;;01AD; 01AD;LATIN SMALL LETTER T WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER T HOOK;;01AC;;01AC 01AE;LATIN CAPITAL LETTER T WITH RETROFLEX HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER T RETROFLEX HOOK;;;0288; 01AF;LATIN CAPITAL LETTER U WITH HORN;Lu;0;L;0055 031B;;;;N;LATIN CAPITAL LETTER U HORN;;;01B0; 01B0;LATIN SMALL LETTER U WITH HORN;Ll;0;L;0075 031B;;;;N;LATIN SMALL LETTER U HORN;;01AF;;01AF 01B1;LATIN CAPITAL LETTER UPSILON;Lu;0;L;;;;;N;;;;028A; 01B2;LATIN CAPITAL LETTER V WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER SCRIPT V;;;028B; 01B3;LATIN CAPITAL LETTER Y WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER Y HOOK;;;01B4; 01B4;LATIN SMALL LETTER Y WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER Y HOOK;;01B3;;01B3 01B5;LATIN CAPITAL LETTER Z WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER Z BAR;;;01B6; 01B6;LATIN SMALL LETTER Z WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER Z BAR;;01B5;;01B5 01B7;LATIN CAPITAL LETTER EZH;Lu;0;L;;;;;N;LATIN CAPITAL LETTER YOGH;;;0292; 01B8;LATIN CAPITAL LETTER EZH REVERSED;Lu;0;L;;;;;N;LATIN CAPITAL LETTER REVERSED YOGH;;;01B9; 01B9;LATIN SMALL LETTER EZH REVERSED;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED YOGH;;01B8;;01B8 01BA;LATIN SMALL LETTER EZH WITH TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER YOGH WITH TAIL;;;; 01BB;LATIN LETTER TWO WITH STROKE;Lo;0;L;;;;;N;LATIN LETTER TWO BAR;;;; 01BC;LATIN CAPITAL LETTER TONE FIVE;Lu;0;L;;;;;N;;;;01BD; 01BD;LATIN SMALL LETTER TONE FIVE;Ll;0;L;;;;;N;;;01BC;;01BC 01BE;LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE;Lo;0;L;;;;;N;LATIN LETTER INVERTED GLOTTAL STOP BAR;;;; 01BF;LATIN LETTER WYNN;Lo;0;L;;;;;N;;;;; 01C0;LATIN LETTER DENTAL CLICK;Lo;0;L;;;;;N;LATIN LETTER PIPE;;;; 01C1;LATIN LETTER LATERAL CLICK;Lo;0;L;;;;;N;LATIN LETTER DOUBLE PIPE;;;; 01C2;LATIN LETTER ALVEOLAR CLICK;Lo;0;L;;;;;N;LATIN LETTER PIPE DOUBLE BAR;;;; 01C3;LATIN LETTER RETROFLEX CLICK;Lo;0;L;;;;;N;LATIN LETTER EXCLAMATION MARK;;;; 01C4;LATIN CAPITAL LETTER DZ WITH CARON;Lu;0;L; 0044 017D;;;;N;LATIN CAPITAL LETTER D Z HACEK;;;01C6;01C5 01C5;LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON;Lt;0;L; 0044 017E;;;;N;LATIN LETTER CAPITAL D SMALL Z HACEK;;01C4;01C6; 01C6;LATIN SMALL LETTER DZ WITH CARON;Ll;0;L; 0064 017E;;;;N;LATIN SMALL LETTER D Z HACEK;;01C4;;01C5 01C7;LATIN CAPITAL LETTER LJ;Lu;0;L; 004C 004A;;;;N;LATIN CAPITAL LETTER L J;;;01C9;01C8 01C8;LATIN CAPITAL LETTER L WITH SMALL LETTER J;Lt;0;L; 004C 006A;;;;N;LATIN LETTER CAPITAL L SMALL J;;01C7;01C9; 01C9;LATIN SMALL LETTER LJ;Ll;0;L; 006C 006A;;;;N;LATIN SMALL LETTER L J;;01C7;;01C8 01CA;LATIN CAPITAL LETTER NJ;Lu;0;L; 004E 004A;;;;N;LATIN CAPITAL LETTER N J;;;01CC;01CB 01CB;LATIN CAPITAL LETTER N WITH SMALL LETTER J;Lt;0;L; 004E 006A;;;;N;LATIN LETTER CAPITAL N SMALL J;;01CA;01CC; 01CC;LATIN SMALL LETTER NJ;Ll;0;L; 006E 006A;;;;N;LATIN SMALL LETTER N J;;01CA;;01CB 01CD;LATIN CAPITAL LETTER A WITH CARON;Lu;0;L;0041 030C;;;;N;LATIN CAPITAL LETTER A HACEK;;;01CE; 01CE;LATIN SMALL LETTER A WITH CARON;Ll;0;L;0061 030C;;;;N;LATIN SMALL LETTER A HACEK;;01CD;;01CD 01CF;LATIN CAPITAL LETTER I WITH CARON;Lu;0;L;0049 030C;;;;N;LATIN CAPITAL LETTER I HACEK;;;01D0; 01D0;LATIN SMALL LETTER I WITH CARON;Ll;0;L;0069 030C;;;;N;LATIN SMALL LETTER I HACEK;;01CF;;01CF 01D1;LATIN CAPITAL LETTER O WITH CARON;Lu;0;L;004F 030C;;;;N;LATIN CAPITAL LETTER O HACEK;;;01D2; 01D2;LATIN SMALL LETTER O WITH CARON;Ll;0;L;006F 030C;;;;N;LATIN SMALL LETTER O HACEK;;01D1;;01D1 01D3;LATIN CAPITAL LETTER U WITH CARON;Lu;0;L;0055 030C;;;;N;LATIN CAPITAL LETTER U HACEK;;;01D4; 01D4;LATIN SMALL LETTER U WITH CARON;Ll;0;L;0075 030C;;;;N;LATIN SMALL LETTER U HACEK;;01D3;;01D3 01D5;LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON;Lu;0;L;00DC 0304;;;;N;LATIN CAPITAL LETTER U DIAERESIS MACRON;;;01D6; 01D6;LATIN SMALL LETTER U WITH DIAERESIS AND MACRON;Ll;0;L;00FC 0304;;;;N;LATIN SMALL LETTER U DIAERESIS MACRON;;01D5;;01D5 01D7;LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE;Lu;0;L;00DC 0301;;;;N;LATIN CAPITAL LETTER U DIAERESIS ACUTE;;;01D8; 01D8;LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE;Ll;0;L;00FC 0301;;;;N;LATIN SMALL LETTER U DIAERESIS ACUTE;;01D7;;01D7 01D9;LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON;Lu;0;L;00DC 030C;;;;N;LATIN CAPITAL LETTER U DIAERESIS HACEK;;;01DA; 01DA;LATIN SMALL LETTER U WITH DIAERESIS AND CARON;Ll;0;L;00FC 030C;;;;N;LATIN SMALL LETTER U DIAERESIS HACEK;;01D9;;01D9 01DB;LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE;Lu;0;L;00DC 0300;;;;N;LATIN CAPITAL LETTER U DIAERESIS GRAVE;;;01DC; 01DC;LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE;Ll;0;L;00FC 0300;;;;N;LATIN SMALL LETTER U DIAERESIS GRAVE;;01DB;;01DB 01DD;LATIN SMALL LETTER TURNED E;Ll;0;L;;;;;N;;;018E;;018E 01DE;LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON;Lu;0;L;00C4 0304;;;;N;LATIN CAPITAL LETTER A DIAERESIS MACRON;;;01DF; 01DF;LATIN SMALL LETTER A WITH DIAERESIS AND MACRON;Ll;0;L;00E4 0304;;;;N;LATIN SMALL LETTER A DIAERESIS MACRON;;01DE;;01DE 01E0;LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON;Lu;0;L;0041 0307 0304;;;;N;LATIN CAPITAL LETTER A DOT MACRON;;;01E1; 01E1;LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON;Ll;0;L;0061 0307 0304;;;;N;LATIN SMALL LETTER A DOT MACRON;;01E0;;01E0 01E2;LATIN CAPITAL LETTER AE WITH MACRON;Lu;0;L;00C6 0304;;;;N;LATIN CAPITAL LETTER A E MACRON;;;01E3; 01E3;LATIN SMALL LETTER AE WITH MACRON;Ll;0;L;00E6 0304;;;;N;LATIN SMALL LETTER A E MACRON;;01E2;;01E2 01E4;LATIN CAPITAL LETTER G WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER G BAR;;;01E5; 01E5;LATIN SMALL LETTER G WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER G BAR;;01E4;;01E4 01E6;LATIN CAPITAL LETTER G WITH CARON;Lu;0;L;0047 030C;;;;N;LATIN CAPITAL LETTER G HACEK;;;01E7; 01E7;LATIN SMALL LETTER G WITH CARON;Ll;0;L;0067 030C;;;;N;LATIN SMALL LETTER G HACEK;;01E6;;01E6 01E8;LATIN CAPITAL LETTER K WITH CARON;Lu;0;L;004B 030C;;;;N;LATIN CAPITAL LETTER K HACEK;;;01E9; 01E9;LATIN SMALL LETTER K WITH CARON;Ll;0;L;006B 030C;;;;N;LATIN SMALL LETTER K HACEK;;01E8;;01E8 01EA;LATIN CAPITAL LETTER O WITH OGONEK;Lu;0;L;004F 0328;;;;N;LATIN CAPITAL LETTER O OGONEK;;;01EB; 01EB;LATIN SMALL LETTER O WITH OGONEK;Ll;0;L;006F 0328;;;;N;LATIN SMALL LETTER O OGONEK;;01EA;;01EA 01EC;LATIN CAPITAL LETTER O WITH OGONEK AND MACRON;Lu;0;L;01EA 0304;;;;N;LATIN CAPITAL LETTER O OGONEK MACRON;;;01ED; 01ED;LATIN SMALL LETTER O WITH OGONEK AND MACRON;Ll;0;L;01EB 0304;;;;N;LATIN SMALL LETTER O OGONEK MACRON;;01EC;;01EC 01EE;LATIN CAPITAL LETTER EZH WITH CARON;Lu;0;L;01B7 030C;;;;N;LATIN CAPITAL LETTER YOGH HACEK;;;01EF; 01EF;LATIN SMALL LETTER EZH WITH CARON;Ll;0;L;0292 030C;;;;N;LATIN SMALL LETTER YOGH HACEK;;01EE;;01EE 01F0;LATIN SMALL LETTER J WITH CARON;Ll;0;L;006A 030C;;;;N;LATIN SMALL LETTER J HACEK;;;; 01F1;LATIN CAPITAL LETTER DZ;Lu;0;L; 0044 005A;;;;N;;;;01F3;01F2 01F2;LATIN CAPITAL LETTER D WITH SMALL LETTER Z;Lt;0;L; 0044 007A;;;;N;;;01F1;01F3; 01F3;LATIN SMALL LETTER DZ;Ll;0;L; 0064 007A;;;;N;;;01F1;;01F2 01F4;LATIN CAPITAL LETTER G WITH ACUTE;Lu;0;L;0047 0301;;;;N;;;;01F5; 01F5;LATIN SMALL LETTER G WITH ACUTE;Ll;0;L;0067 0301;;;;N;;;01F4;;01F4 01FA;LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE;Lu;0;L;00C5 0301;;;;N;;;;01FB; 01FB;LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE;Ll;0;L;00E5 0301;;;;N;;;01FA;;01FA 01FC;LATIN CAPITAL LETTER AE WITH ACUTE;Lu;0;L;00C6 0301;;;;N;;;;01FD; 01FD;LATIN SMALL LETTER AE WITH ACUTE;Ll;0;L;00E6 0301;;;;N;;;01FC;;01FC 01FE;LATIN CAPITAL LETTER O WITH STROKE AND ACUTE;Lu;0;L;00D8 0301;;;;N;;;;01FF; 01FF;LATIN SMALL LETTER O WITH STROKE AND ACUTE;Ll;0;L;00F8 0301;;;;N;;;01FE;;01FE 0200;LATIN CAPITAL LETTER A WITH DOUBLE GRAVE;Lu;0;L;0041 030F;;;;N;;;;0201; 0201;LATIN SMALL LETTER A WITH DOUBLE GRAVE;Ll;0;L;0061 030F;;;;N;;;0200;;0200 0202;LATIN CAPITAL LETTER A WITH INVERTED BREVE;Lu;0;L;0041 0311;;;;N;;;;0203; 0203;LATIN SMALL LETTER A WITH INVERTED BREVE;Ll;0;L;0061 0311;;;;N;;;0202;;0202 0204;LATIN CAPITAL LETTER E WITH DOUBLE GRAVE;Lu;0;L;0045 030F;;;;N;;;;0205; 0205;LATIN SMALL LETTER E WITH DOUBLE GRAVE;Ll;0;L;0065 030F;;;;N;;;0204;;0204 0206;LATIN CAPITAL LETTER E WITH INVERTED BREVE;Lu;0;L;0045 0311;;;;N;;;;0207; 0207;LATIN SMALL LETTER E WITH INVERTED BREVE;Ll;0;L;0065 0311;;;;N;;;0206;;0206 0208;LATIN CAPITAL LETTER I WITH DOUBLE GRAVE;Lu;0;L;0049 030F;;;;N;;;;0209; 0209;LATIN SMALL LETTER I WITH DOUBLE GRAVE;Ll;0;L;0069 030F;;;;N;;;0208;;0208 020A;LATIN CAPITAL LETTER I WITH INVERTED BREVE;Lu;0;L;0049 0311;;;;N;;;;020B; 020B;LATIN SMALL LETTER I WITH INVERTED BREVE;Ll;0;L;0069 0311;;;;N;;;020A;;020A 020C;LATIN CAPITAL LETTER O WITH DOUBLE GRAVE;Lu;0;L;004F 030F;;;;N;;;;020D; 020D;LATIN SMALL LETTER O WITH DOUBLE GRAVE;Ll;0;L;006F 030F;;;;N;;;020C;;020C 020E;LATIN CAPITAL LETTER O WITH INVERTED BREVE;Lu;0;L;004F 0311;;;;N;;;;020F; 020F;LATIN SMALL LETTER O WITH INVERTED BREVE;Ll;0;L;006F 0311;;;;N;;;020E;;020E 0210;LATIN CAPITAL LETTER R WITH DOUBLE GRAVE;Lu;0;L;0052 030F;;;;N;;;;0211; 0211;LATIN SMALL LETTER R WITH DOUBLE GRAVE;Ll;0;L;0072 030F;;;;N;;;0210;;0210 0212;LATIN CAPITAL LETTER R WITH INVERTED BREVE;Lu;0;L;0052 0311;;;;N;;;;0213; 0213;LATIN SMALL LETTER R WITH INVERTED BREVE;Ll;0;L;0072 0311;;;;N;;;0212;;0212 0214;LATIN CAPITAL LETTER U WITH DOUBLE GRAVE;Lu;0;L;0055 030F;;;;N;;;;0215; 0215;LATIN SMALL LETTER U WITH DOUBLE GRAVE;Ll;0;L;0075 030F;;;;N;;;0214;;0214 0216;LATIN CAPITAL LETTER U WITH INVERTED BREVE;Lu;0;L;0055 0311;;;;N;;;;0217; 0217;LATIN SMALL LETTER U WITH INVERTED BREVE;Ll;0;L;0075 0311;;;;N;;;0216;;0216 0250;LATIN SMALL LETTER TURNED A;Ll;0;L;;;;;N;;;;; 0251;LATIN SMALL LETTER ALPHA;Ll;0;L;;;;;N;LATIN SMALL LETTER SCRIPT A;;;; 0252;LATIN SMALL LETTER TURNED ALPHA;Ll;0;L;;;;;N;LATIN SMALL LETTER TURNED SCRIPT A;;;; 0253;LATIN SMALL LETTER B WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER B HOOK;;0181;;0181 0254;LATIN SMALL LETTER OPEN O;Ll;0;L;;;;;N;;;0186;;0186 0255;LATIN SMALL LETTER C WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER C CURL;;;; 0256;LATIN SMALL LETTER D WITH TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER D RETROFLEX HOOK;;0189;;0189 0257;LATIN SMALL LETTER D WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER D HOOK;;018A;;018A 0258;LATIN SMALL LETTER REVERSED E;Ll;0;L;;;;;N;;;;; 0259;LATIN SMALL LETTER SCHWA;Ll;0;L;;;;;N;;;018F;;018F 025A;LATIN SMALL LETTER SCHWA WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER SCHWA HOOK;;;; 025B;LATIN SMALL LETTER OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER EPSILON;;0190;;0190 025C;LATIN SMALL LETTER REVERSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED EPSILON;;;; 025D;LATIN SMALL LETTER REVERSED OPEN E WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED EPSILON HOOK;;;; 025E;LATIN SMALL LETTER CLOSED REVERSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER CLOSED REVERSED EPSILON;;;; 025F;LATIN SMALL LETTER DOTLESS J WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER DOTLESS J BAR;;;; 0260;LATIN SMALL LETTER G WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER G HOOK;;0193;;0193 0261;LATIN SMALL LETTER SCRIPT G;Ll;0;L;;;;;N;;;;; 0262;LATIN LETTER SMALL CAPITAL G;Ll;0;L;;;;;N;;;;; 0263;LATIN SMALL LETTER GAMMA;Ll;0;L;;;;;N;;;0194;;0194 0264;LATIN SMALL LETTER RAMS HORN;Ll;0;L;;;;;N;LATIN SMALL LETTER BABY GAMMA;;;; 0265;LATIN SMALL LETTER TURNED H;Ll;0;L;;;;;N;;;;; 0266;LATIN SMALL LETTER H WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER H HOOK;;;; 0267;LATIN SMALL LETTER HENG WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER HENG HOOK;;;; 0268;LATIN SMALL LETTER I WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER BARRED I;;0197;;0197 0269;LATIN SMALL LETTER IOTA;Ll;0;L;;;;;N;;;0196;;0196 026A;LATIN LETTER SMALL CAPITAL I;Ll;0;L;;;;;N;;;;; 026B;LATIN SMALL LETTER L WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;; 026C;LATIN SMALL LETTER L WITH BELT;Ll;0;L;;;;;N;LATIN SMALL LETTER L BELT;;;; 026D;LATIN SMALL LETTER L WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER L RETROFLEX HOOK;;;; 026E;LATIN SMALL LETTER LEZH;Ll;0;L;;;;;N;LATIN SMALL LETTER L YOGH;;;; 026F;LATIN SMALL LETTER TURNED M;Ll;0;L;;;;;N;;;019C;;019C 0270;LATIN SMALL LETTER TURNED M WITH LONG LEG;Ll;0;L;;;;;N;;;;; 0271;LATIN SMALL LETTER M WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER M HOOK;;;; 0272;LATIN SMALL LETTER N WITH LEFT HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER N HOOK;;019D;;019D 0273;LATIN SMALL LETTER N WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER N RETROFLEX HOOK;;;; 0274;LATIN LETTER SMALL CAPITAL N;Ll;0;L;;;;;N;;;;; 0275;LATIN SMALL LETTER BARRED O;Ll;0;L;;;;;N;;;019F;;019F 0276;LATIN LETTER SMALL CAPITAL OE;Ll;0;L;;;;;N;LATIN LETTER SMALL CAPITAL O E;;;; 0277;LATIN SMALL LETTER CLOSED OMEGA;Ll;0;L;;;;;N;;;;; 0278;LATIN SMALL LETTER PHI;Ll;0;L;;;;;N;;;;; 0279;LATIN SMALL LETTER TURNED R;Ll;0;L;;;;;N;;;;; 027A;LATIN SMALL LETTER TURNED R WITH LONG LEG;Ll;0;L;;;;;N;;;;; 027B;LATIN SMALL LETTER TURNED R WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER TURNED R HOOK;;;; 027C;LATIN SMALL LETTER R WITH LONG LEG;Ll;0;L;;;;;N;;;;; 027D;LATIN SMALL LETTER R WITH TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER R HOOK;;;; 027E;LATIN SMALL LETTER R WITH FISHHOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER FISHHOOK R;;;; 027F;LATIN SMALL LETTER REVERSED R WITH FISHHOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED FISHHOOK R;;;; 0280;LATIN LETTER SMALL CAPITAL R;Ll;0;L;;;;;N;;;01A6;;01A6 0281;LATIN LETTER SMALL CAPITAL INVERTED R;Ll;0;L;;;;;N;;;;; 0282;LATIN SMALL LETTER S WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER S HOOK;;;; 0283;LATIN SMALL LETTER ESH;Ll;0;L;;;;;N;;;01A9;;01A9 0284;LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER DOTLESS J BAR HOOK;;;; 0285;LATIN SMALL LETTER SQUAT REVERSED ESH;Ll;0;L;;;;;N;;;;; 0286;LATIN SMALL LETTER ESH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER ESH CURL;;;; 0287;LATIN SMALL LETTER TURNED T;Ll;0;L;;;;;N;;;;; 0288;LATIN SMALL LETTER T WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER T RETROFLEX HOOK;;01AE;;01AE 0289;LATIN SMALL LETTER U BAR;Ll;0;L;;;;;N;;;;; 028A;LATIN SMALL LETTER UPSILON;Ll;0;L;;;;;N;;;01B1;;01B1 028B;LATIN SMALL LETTER V WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER SCRIPT V;;01B2;;01B2 028C;LATIN SMALL LETTER TURNED V;Ll;0;L;;;;;N;;;;; 028D;LATIN SMALL LETTER TURNED W;Ll;0;L;;;;;N;;;;; 028E;LATIN SMALL LETTER TURNED Y;Ll;0;L;;;;;N;;;;; 028F;LATIN LETTER SMALL CAPITAL Y;Ll;0;L;;;;;N;;;;; 0290;LATIN SMALL LETTER Z WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER Z RETROFLEX HOOK;;;; 0291;LATIN SMALL LETTER Z WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER Z CURL;;;; 0292;LATIN SMALL LETTER EZH;Ll;0;L;;;;;N;LATIN SMALL LETTER YOGH;;01B7;;01B7 0293;LATIN SMALL LETTER EZH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER YOGH CURL;;;; 0294;LATIN LETTER GLOTTAL STOP;Ll;0;L;;;;;N;;;;; 0295;LATIN LETTER PHARYNGEAL VOICED FRICATIVE;Ll;0;L;;;;;N;LATIN LETTER REVERSED GLOTTAL STOP;;;; 0296;LATIN LETTER INVERTED GLOTTAL STOP;Ll;0;L;;;;;N;;;;; 0297;LATIN LETTER STRETCHED C;Ll;0;L;;;;;N;;;;; 0298;LATIN LETTER BILABIAL CLICK;Ll;0;L;;;;;N;LATIN LETTER BULLSEYE;;;; 0299;LATIN LETTER SMALL CAPITAL B;Ll;0;L;;;;;N;;;;; 029A;LATIN SMALL LETTER CLOSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER CLOSED EPSILON;;;; 029B;LATIN LETTER SMALL CAPITAL G WITH HOOK;Ll;0;L;;;;;N;LATIN LETTER SMALL CAPITAL G HOOK;;;; 029C;LATIN LETTER SMALL CAPITAL H;Ll;0;L;;;;;N;;;;; 029D;LATIN SMALL LETTER J WITH CROSSED-TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER CROSSED-TAIL J;;;; 029E;LATIN SMALL LETTER TURNED K;Ll;0;L;;;;;N;;;;; 029F;LATIN LETTER SMALL CAPITAL L;Ll;0;L;;;;;N;;;;; 02A0;LATIN SMALL LETTER Q WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER Q HOOK;;;; 02A1;LATIN LETTER GLOTTAL STOP WITH STROKE;Ll;0;L;;;;;N;LATIN LETTER GLOTTAL STOP BAR;;;; 02A2;LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE;Ll;0;L;;;;;N;LATIN LETTER REVERSED GLOTTAL STOP BAR;;;; 02A3;LATIN SMALL LETTER DZ DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER D Z;;;; 02A4;LATIN SMALL LETTER DEZH DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER D YOGH;;;; 02A5;LATIN SMALL LETTER DZ DIGRAPH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER D Z CURL;;;; 02A6;LATIN SMALL LETTER TS DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER T S;;;; 02A7;LATIN SMALL LETTER TESH DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER T ESH;;;; 02A8;LATIN SMALL LETTER TC DIGRAPH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER T C CURL;;;; 02B0;MODIFIER LETTER SMALL H;Lm;0;L; 0068;;;;N;;;;; 02B1;MODIFIER LETTER SMALL H WITH HOOK;Lm;0;L; 0266;;;;N;MODIFIER LETTER SMALL H HOOK;;;; 02B2;MODIFIER LETTER SMALL J;Lm;0;L; 006A;;;;N;;;;; 02B3;MODIFIER LETTER SMALL R;Lm;0;L; 0072;;;;N;;;;; 02B4;MODIFIER LETTER SMALL TURNED R;Lm;0;L; 0279;;;;N;;;;; 02B5;MODIFIER LETTER SMALL TURNED R WITH HOOK;Lm;0;L; 027B;;;;N;MODIFIER LETTER SMALL TURNED R HOOK;;;; 02B6;MODIFIER LETTER SMALL CAPITAL INVERTED R;Lm;0;L; 0281;;;;N;;;;; 02B7;MODIFIER LETTER SMALL W;Lm;0;L; 0077;;;;N;;;;; 02B8;MODIFIER LETTER SMALL Y;Lm;0;L; 0079;;;;N;;;;; 02B9;MODIFIER LETTER PRIME;Sk;0;ON;;;;;N;;;;; 02BA;MODIFIER LETTER DOUBLE PRIME;Sk;0;ON;;;;;N;;;;; 02BB;MODIFIER LETTER TURNED COMMA;Lm;0;L;;;;;N;;;;; 02BC;MODIFIER LETTER APOSTROPHE;Lm;0;L;;;;;N;;;;; 02BD;MODIFIER LETTER REVERSED COMMA;Lm;0;L;;;;;N;;;;; 02BE;MODIFIER LETTER RIGHT HALF RING;Lm;0;L;;;;;N;;;;; 02BF;MODIFIER LETTER LEFT HALF RING;Lm;0;L;;;;;N;;;;; 02C0;MODIFIER LETTER GLOTTAL STOP;Lm;0;L;;;;;N;;;;; 02C1;MODIFIER LETTER REVERSED GLOTTAL STOP;Lm;0;L;;;;;N;;;;; 02C2;MODIFIER LETTER LEFT ARROWHEAD;Sk;0;ON;;;;;N;;;;; 02C3;MODIFIER LETTER RIGHT ARROWHEAD;Sk;0;ON;;;;;N;;;;; 02C4;MODIFIER LETTER UP ARROWHEAD;Sk;0;ON;;;;;N;;;;; 02C5;MODIFIER LETTER DOWN ARROWHEAD;Sk;0;ON;;;;;N;;;;; 02C6;MODIFIER LETTER CIRCUMFLEX ACCENT;Sk;0;ON;;;;;N;MODIFIER LETTER CIRCUMFLEX;;;; 02C7;CARON;Sk;0;ON;;;;;N;MODIFIER LETTER HACEK;Mandarin Chinese third tone;;; 02C8;MODIFIER LETTER VERTICAL LINE;Sk;0;ON;;;;;N;;;;; 02C9;MODIFIER LETTER MACRON;Sk;0;ON;;;;;N;;Mandarin Chinese first tone;;; 02CA;MODIFIER LETTER ACUTE ACCENT;Sk;0;ON;;;;;N;MODIFIER LETTER ACUTE;Mandarin Chinese second tone;;; 02CB;MODIFIER LETTER GRAVE ACCENT;Sk;0;ON;;;;;N;MODIFIER LETTER GRAVE;Mandarin Chinese fourth tone;;; 02CC;MODIFIER LETTER LOW VERTICAL LINE;Sk;0;ON;;;;;N;;;;; 02CD;MODIFIER LETTER LOW MACRON;Sk;0;ON;;;;;N;;;;; 02CE;MODIFIER LETTER LOW GRAVE ACCENT;Sk;0;ON;;;;;N;MODIFIER LETTER LOW GRAVE;;;; 02CF;MODIFIER LETTER LOW ACUTE ACCENT;Sk;0;ON;;;;;N;MODIFIER LETTER LOW ACUTE;;;; 02D0;MODIFIER LETTER TRIANGULAR COLON;Lm;0;ON;;;;;N;;;;; 02D1;MODIFIER LETTER HALF TRIANGULAR COLON;Lm;0;ON;;;;;N;;;;; 02D2;MODIFIER LETTER CENTRED RIGHT HALF RING;Sk;0;ON;;;;;N;MODIFIER LETTER CENTERED RIGHT HALF RING;;;; 02D3;MODIFIER LETTER CENTRED LEFT HALF RING;Sk;0;ON;;;;;N;MODIFIER LETTER CENTERED LEFT HALF RING;;;; 02D4;MODIFIER LETTER UP TACK;Sk;0;ON;;;;;N;;;;; 02D5;MODIFIER LETTER DOWN TACK;Sk;0;ON;;;;;N;;;;; 02D6;MODIFIER LETTER PLUS SIGN;Sk;0;ON;;;;;N;;;;; 02D7;MODIFIER LETTER MINUS SIGN;Sk;0;ON;;;;;N;;;;; 02D8;BREVE;Sk;0;ON; 0020 0306;;;;N;SPACING BREVE;;;; 02D9;DOT ABOVE;Sk;0;ON; 0020 0307;;;;N;SPACING DOT ABOVE;Mandarin Chinese light tone;;; 02DA;RING ABOVE;Sk;0;ON; 0020 030A;;;;N;SPACING RING ABOVE;;;; 02DB;OGONEK;Sk;0;ON; 0020 0328;;;;N;SPACING OGONEK;;;; 02DC;SMALL TILDE;Sk;0;ON; 0020 0303;;;;N;SPACING TILDE;;;; 02DD;DOUBLE ACUTE ACCENT;Sk;0;ON; 0020 030B;;;;N;SPACING DOUBLE ACUTE;;;; 02DE;MODIFIER LETTER RHOTIC HOOK;Sk;0;ON;;;;;N;;;;; 02E0;MODIFIER LETTER SMALL GAMMA;Lm;0;L; 0263;;;;N;;;;; 02E1;MODIFIER LETTER SMALL L;Lm;0;L; 006C;;;;N;;;;; 02E2;MODIFIER LETTER SMALL S;Lm;0;L; 0073;;;;N;;;;; 02E3;MODIFIER LETTER SMALL X;Lm;0;L; 0078;;;;N;;;;; 02E4;MODIFIER LETTER SMALL REVERSED GLOTTAL STOP;Lm;0;L; 0295;;;;N;;;;; 02E5;MODIFIER LETTER EXTRA-HIGH TONE BAR;Sk;0;ON;;;;;N;;;;; 02E6;MODIFIER LETTER HIGH TONE BAR;Sk;0;ON;;;;;N;;;;; 02E7;MODIFIER LETTER MID TONE BAR;Sk;0;ON;;;;;N;;;;; 02E8;MODIFIER LETTER LOW TONE BAR;Sk;0;ON;;;;;N;;;;; 02E9;MODIFIER LETTER EXTRA-LOW TONE BAR;Sk;0;ON;;;;;N;;;;; 0300;COMBINING GRAVE ACCENT;Mn;230;ON;;;;;N;NON-SPACING GRAVE;Varia;;; 0301;COMBINING ACUTE ACCENT;Mn;230;ON;;;;;N;NON-SPACING ACUTE;Oxia;;; 0302;COMBINING CIRCUMFLEX ACCENT;Mn;230;ON;;;;;N;NON-SPACING CIRCUMFLEX;;;; 0303;COMBINING TILDE;Mn;230;ON;;;;;N;NON-SPACING TILDE;;;; 0304;COMBINING MACRON;Mn;230;ON;;;;;N;NON-SPACING MACRON;;;; 0305;COMBINING OVERLINE;Mn;230;ON;;;;;N;NON-SPACING OVERSCORE;;;; 0306;COMBINING BREVE;Mn;230;ON;;;;;N;NON-SPACING BREVE;Vrachy;;; 0307;COMBINING DOT ABOVE;Mn;230;ON;;;;;N;NON-SPACING DOT ABOVE;;;; 0308;COMBINING DIAERESIS;Mn;230;ON;;;;;N;NON-SPACING DIAERESIS;Dialytika;;; 0309;COMBINING HOOK ABOVE;Mn;230;ON;;;;;N;NON-SPACING HOOK ABOVE;;;; 030A;COMBINING RING ABOVE;Mn;230;ON;;;;;N;NON-SPACING RING ABOVE;;;; 030B;COMBINING DOUBLE ACUTE ACCENT;Mn;230;ON;;;;;N;NON-SPACING DOUBLE ACUTE;;;; 030C;COMBINING CARON;Mn;230;ON;;;;;N;NON-SPACING HACEK;;;; 030D;COMBINING VERTICAL LINE ABOVE;Mn;230;ON;;;;;N;NON-SPACING VERTICAL LINE ABOVE;Tonos;;; 030E;COMBINING DOUBLE VERTICAL LINE ABOVE;Mn;230;ON;;;;;N;NON-SPACING DOUBLE VERTICAL LINE ABOVE;;;; 030F;COMBINING DOUBLE GRAVE ACCENT;Mn;230;ON;;;;;N;NON-SPACING DOUBLE GRAVE;;;; 0310;COMBINING CANDRABINDU;Mn;230;ON;;;;;N;NON-SPACING CANDRABINDU;;;; 0311;COMBINING INVERTED BREVE;Mn;230;ON;;;;;N;NON-SPACING INVERTED BREVE;;;; 0312;COMBINING TURNED COMMA ABOVE;Mn;230;ON;;;;;N;NON-SPACING TURNED COMMA ABOVE;;;; 0313;COMBINING COMMA ABOVE;Mn;230;ON;;;;;N;NON-SPACING COMMA ABOVE;Psili;;; 0314;COMBINING REVERSED COMMA ABOVE;Mn;230;ON;;;;;N;NON-SPACING REVERSED COMMA ABOVE;Dasia;;; 0315;COMBINING COMMA ABOVE RIGHT;Mn;232;ON;;;;;N;NON-SPACING COMMA ABOVE RIGHT;;;; 0316;COMBINING GRAVE ACCENT BELOW;Mn;220;ON;;;;;N;NON-SPACING GRAVE BELOW;;;; 0317;COMBINING ACUTE ACCENT BELOW;Mn;220;ON;;;;;N;NON-SPACING ACUTE BELOW;;;; 0318;COMBINING LEFT TACK BELOW;Mn;220;ON;;;;;N;NON-SPACING LEFT TACK BELOW;;;; 0319;COMBINING RIGHT TACK BELOW;Mn;220;ON;;;;;N;NON-SPACING RIGHT TACK BELOW;;;; 031A;COMBINING LEFT ANGLE ABOVE;Mn;232;ON;;;;;N;NON-SPACING LEFT ANGLE ABOVE;;;; 031B;COMBINING HORN;Mn;216;ON;;;;;N;NON-SPACING HORN;;;; 031C;COMBINING LEFT HALF RING BELOW;Mn;220;ON;;;;;N;NON-SPACING LEFT HALF RING BELOW;;;; 031D;COMBINING UP TACK BELOW;Mn;220;ON;;;;;N;NON-SPACING UP TACK BELOW;;;; 031E;COMBINING DOWN TACK BELOW;Mn;220;ON;;;;;N;NON-SPACING DOWN TACK BELOW;;;; 031F;COMBINING PLUS SIGN BELOW;Mn;220;ON;;;;;N;NON-SPACING PLUS SIGN BELOW;;;; 0320;COMBINING MINUS SIGN BELOW;Mn;220;ON;;;;;N;NON-SPACING MINUS SIGN BELOW;;;; 0321;COMBINING PALATALIZED HOOK BELOW;Mn;202;ON;;;;;N;NON-SPACING PALATALIZED HOOK BELOW;;;; 0322;COMBINING RETROFLEX HOOK BELOW;Mn;202;ON;;;;;N;NON-SPACING RETROFLEX HOOK BELOW;;;; 0323;COMBINING DOT BELOW;Mn;220;ON;;;;;N;NON-SPACING DOT BELOW;;;; 0324;COMBINING DIAERESIS BELOW;Mn;220;ON;;;;;N;NON-SPACING DOUBLE DOT BELOW;;;; 0325;COMBINING RING BELOW;Mn;220;ON;;;;;N;NON-SPACING RING BELOW;;;; 0326;COMBINING COMMA BELOW;Mn;220;ON;;;;;N;NON-SPACING COMMA BELOW;;;; 0327;COMBINING CEDILLA;Mn;202;ON;;;;;N;NON-SPACING CEDILLA;;;; 0328;COMBINING OGONEK;Mn;202;ON;;;;;N;NON-SPACING OGONEK;;;; 0329;COMBINING VERTICAL LINE BELOW;Mn;220;ON;;;;;N;NON-SPACING VERTICAL LINE BELOW;;;; 032A;COMBINING BRIDGE BELOW;Mn;220;ON;;;;;N;NON-SPACING BRIDGE BELOW;;;; 032B;COMBINING INVERTED DOUBLE ARCH BELOW;Mn;220;ON;;;;;N;NON-SPACING INVERTED DOUBLE ARCH BELOW;;;; 032C;COMBINING CARON BELOW;Mn;220;ON;;;;;N;NON-SPACING HACEK BELOW;;;; 032D;COMBINING CIRCUMFLEX ACCENT BELOW;Mn;220;ON;;;;;N;NON-SPACING CIRCUMFLEX BELOW;;;; 032E;COMBINING BREVE BELOW;Mn;220;ON;;;;;N;NON-SPACING BREVE BELOW;;;; 032F;COMBINING INVERTED BREVE BELOW;Mn;220;ON;;;;;N;NON-SPACING INVERTED BREVE BELOW;;;; 0330;COMBINING TILDE BELOW;Mn;220;ON;;;;;N;NON-SPACING TILDE BELOW;;;; 0331;COMBINING MACRON BELOW;Mn;220;ON;;;;;N;NON-SPACING MACRON BELOW;;;; 0332;COMBINING LOW LINE;Mn;220;ON;;;;;N;NON-SPACING UNDERSCORE;;;; 0333;COMBINING DOUBLE LOW LINE;Mn;220;ON;;;;;N;NON-SPACING DOUBLE UNDERSCORE;;;; 0334;COMBINING TILDE OVERLAY;Mn;1;ON;;;;;N;NON-SPACING TILDE OVERLAY;;;; 0335;COMBINING SHORT STROKE OVERLAY;Mn;1;ON;;;;;N;NON-SPACING SHORT BAR OVERLAY;;;; 0336;COMBINING LONG STROKE OVERLAY;Mn;1;ON;;;;;N;NON-SPACING LONG BAR OVERLAY;;;; 0337;COMBINING SHORT SOLIDUS OVERLAY;Mn;1;ON;;;;;N;NON-SPACING SHORT SLASH OVERLAY;;;; 0338;COMBINING LONG SOLIDUS OVERLAY;Mn;1;ON;;;;;N;NON-SPACING LONG SLASH OVERLAY;;;; 0339;COMBINING RIGHT HALF RING BELOW;Mn;220;ON;;;;;N;NON-SPACING RIGHT HALF RING BELOW;;;; 033A;COMBINING INVERTED BRIDGE BELOW;Mn;220;ON;;;;;N;NON-SPACING INVERTED BRIDGE BELOW;;;; 033B;COMBINING SQUARE BELOW;Mn;220;ON;;;;;N;NON-SPACING SQUARE BELOW;;;; 033C;COMBINING SEAGULL BELOW;Mn;220;ON;;;;;N;NON-SPACING SEAGULL BELOW;;;; 033D;COMBINING X ABOVE;Mn;230;ON;;;;;N;NON-SPACING X ABOVE;;;; 033E;COMBINING VERTICAL TILDE;Mn;230;ON;;;;;N;NON-SPACING VERTICAL TILDE;;;; 033F;COMBINING DOUBLE OVERLINE;Mn;230;ON;;;;;N;NON-SPACING DOUBLE OVERSCORE;;;; 0340;COMBINING GRAVE TONE MARK;Mn;230;ON;0300;;;;N;NON-SPACING GRAVE TONE MARK;Vietnamese;;; 0341;COMBINING ACUTE TONE MARK;Mn;230;ON;0301;;;;N;NON-SPACING ACUTE TONE MARK;Vietnamese;;; 0342;COMBINING GREEK PERISPOMENI;Mn;230;ON;;;;;N;;;;; 0343;COMBINING GREEK KORONIS;Mn;230;ON;0313;;;;N;;;;; 0344;COMBINING GREEK DIALYTIKA TONOS;Mn;230;ON;0308 0301;;;;N;GREEK NON-SPACING DIAERESIS TONOS;;;; 0345;COMBINING GREEK YPOGEGRAMMENI;Mn;240;ON;;;;;N;GREEK NON-SPACING IOTA BELOW;;0399;; 0360;COMBINING DOUBLE TILDE;Mn;234;ON;;;;;N;;;;; 0361;COMBINING DOUBLE INVERTED BREVE;Mn;234;ON;;;;;N;;;;; 0374;GREEK NUMERAL SIGN;Po;0;L;02B9;;;;N;GREEK UPPER NUMERAL SIGN;Dexia keraia;;; 0375;GREEK LOWER NUMERAL SIGN;Po;0;L;;;;;N;;Aristeri keraia;;; 037A;GREEK YPOGEGRAMMENI;Lm;0;L; 0020 0345;;;;N;GREEK SPACING IOTA BELOW;;;; 037E;GREEK QUESTION MARK;Po;0;ON;003B;;;;N;;Erotimatiko;;; 0384;GREEK TONOS;Sk;0;ON; 0020 0301;;;;N;GREEK SPACING TONOS;;;; 0385;GREEK DIALYTIKA TONOS;Sk;0;ON;00A8 0301;;;;N;GREEK SPACING DIAERESIS TONOS;;;; 0386;GREEK CAPITAL LETTER ALPHA WITH TONOS;Lu;0;L;0391 0301;;;;N;GREEK CAPITAL LETTER ALPHA TONOS;;;03AC; 0387;GREEK ANO TELEIA;Po;0;ON;00B7;;;;N;;;;; 0388;GREEK CAPITAL LETTER EPSILON WITH TONOS;Lu;0;L;0395 0301;;;;N;GREEK CAPITAL LETTER EPSILON TONOS;;;03AD; 0389;GREEK CAPITAL LETTER ETA WITH TONOS;Lu;0;L;0397 0301;;;;N;GREEK CAPITAL LETTER ETA TONOS;;;03AE; 038A;GREEK CAPITAL LETTER IOTA WITH TONOS;Lu;0;L;0399 0301;;;;N;GREEK CAPITAL LETTER IOTA TONOS;;;03AF; 038C;GREEK CAPITAL LETTER OMICRON WITH TONOS;Lu;0;L;039F 0301;;;;N;GREEK CAPITAL LETTER OMICRON TONOS;;;03CC; 038E;GREEK CAPITAL LETTER UPSILON WITH TONOS;Lu;0;L;03A5 0301;;;;N;GREEK CAPITAL LETTER UPSILON TONOS;;;03CD; 038F;GREEK CAPITAL LETTER OMEGA WITH TONOS;Lu;0;L;03A9 0301;;;;N;GREEK CAPITAL LETTER OMEGA TONOS;;;03CE; 0390;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS;Ll;0;L;03CA 0301;;;;N;GREEK SMALL LETTER IOTA DIAERESIS TONOS;;;; 0391;GREEK CAPITAL LETTER ALPHA;Lu;0;L;;;;;N;;;;03B1; 0392;GREEK CAPITAL LETTER BETA;Lu;0;L;;;;;N;;;;03B2; 0393;GREEK CAPITAL LETTER GAMMA;Lu;0;L;;;;;N;;;;03B3; 0394;GREEK CAPITAL LETTER DELTA;Lu;0;L;;;;;N;;;;03B4; 0395;GREEK CAPITAL LETTER EPSILON;Lu;0;L;;;;;N;;;;03B5; 0396;GREEK CAPITAL LETTER ZETA;Lu;0;L;;;;;N;;;;03B6; 0397;GREEK CAPITAL LETTER ETA;Lu;0;L;;;;;N;;;;03B7; 0398;GREEK CAPITAL LETTER THETA;Lu;0;L;;;;;N;;;;03B8; 0399;GREEK CAPITAL LETTER IOTA;Lu;0;L;;;;;N;;;;03B9; 039A;GREEK CAPITAL LETTER KAPPA;Lu;0;L;;;;;N;;;;03BA; 039B;GREEK CAPITAL LETTER LAMDA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER LAMBDA;;;03BB; 039C;GREEK CAPITAL LETTER MU;Lu;0;L;;;;;N;;;;03BC; 039D;GREEK CAPITAL LETTER NU;Lu;0;L;;;;;N;;;;03BD; 039E;GREEK CAPITAL LETTER XI;Lu;0;L;;;;;N;;;;03BE; 039F;GREEK CAPITAL LETTER OMICRON;Lu;0;L;;;;;N;;;;03BF; 03A0;GREEK CAPITAL LETTER PI;Lu;0;L;;;;;N;;;;03C0; 03A1;GREEK CAPITAL LETTER RHO;Lu;0;L;;;;;N;;;;03C1; 03A3;GREEK CAPITAL LETTER SIGMA;Lu;0;L;;;;;N;;;;03C3; 03A4;GREEK CAPITAL LETTER TAU;Lu;0;L;;;;;N;;;;03C4; 03A5;GREEK CAPITAL LETTER UPSILON;Lu;0;L;;;;;N;;;;03C5; 03A6;GREEK CAPITAL LETTER PHI;Lu;0;L;;;;;N;;;;03C6; 03A7;GREEK CAPITAL LETTER CHI;Lu;0;L;;;;;N;;;;03C7; 03A8;GREEK CAPITAL LETTER PSI;Lu;0;L;;;;;N;;;;03C8; 03A9;GREEK CAPITAL LETTER OMEGA;Lu;0;L;;;;;N;;;;03C9; 03AA;GREEK CAPITAL LETTER IOTA WITH DIALYTIKA;Lu;0;L;0399 0308;;;;N;GREEK CAPITAL LETTER IOTA DIAERESIS;;;03CA; 03AB;GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA;Lu;0;L;03A5 0308;;;;N;GREEK CAPITAL LETTER UPSILON DIAERESIS;;;03CB; 03AC;GREEK SMALL LETTER ALPHA WITH TONOS;Ll;0;L;03B1 0301;;;;N;GREEK SMALL LETTER ALPHA TONOS;;0386;;0386 03AD;GREEK SMALL LETTER EPSILON WITH TONOS;Ll;0;L;03B5 0301;;;;N;GREEK SMALL LETTER EPSILON TONOS;;0388;;0388 03AE;GREEK SMALL LETTER ETA WITH TONOS;Ll;0;L;03B7 0301;;;;N;GREEK SMALL LETTER ETA TONOS;;0389;;0389 03AF;GREEK SMALL LETTER IOTA WITH TONOS;Ll;0;L;03B9 0301;;;;N;GREEK SMALL LETTER IOTA TONOS;;038A;;038A 03B0;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS;Ll;0;L;03CB 0301;;;;N;GREEK SMALL LETTER UPSILON DIAERESIS TONOS;;;; 03B1;GREEK SMALL LETTER ALPHA;Ll;0;L;;;;;N;;;0391;;0391 03B2;GREEK SMALL LETTER BETA;Ll;0;L;;;;;N;;;0392;;0392 03B3;GREEK SMALL LETTER GAMMA;Ll;0;L;;;;;N;;;0393;;0393 03B4;GREEK SMALL LETTER DELTA;Ll;0;L;;;;;N;;;0394;;0394 03B5;GREEK SMALL LETTER EPSILON;Ll;0;L;;;;;N;;;0395;;0395 03B6;GREEK SMALL LETTER ZETA;Ll;0;L;;;;;N;;;0396;;0396 03B7;GREEK SMALL LETTER ETA;Ll;0;L;;;;;N;;;0397;;0397 03B8;GREEK SMALL LETTER THETA;Ll;0;L;;;;;N;;;0398;;0398 03B9;GREEK SMALL LETTER IOTA;Ll;0;L;;;;;N;;;0399;;0399 03BA;GREEK SMALL LETTER KAPPA;Ll;0;L;;;;;N;;;039A;;039A 03BB;GREEK SMALL LETTER LAMDA;Ll;0;L;;;;;N;GREEK SMALL LETTER LAMBDA;;039B;;039B 03BC;GREEK SMALL LETTER MU;Ll;0;L;;;;;N;;;039C;;039C 03BD;GREEK SMALL LETTER NU;Ll;0;L;;;;;N;;;039D;;039D 03BE;GREEK SMALL LETTER XI;Ll;0;L;;;;;N;;;039E;;039E 03BF;GREEK SMALL LETTER OMICRON;Ll;0;L;;;;;N;;;039F;;039F 03C0;GREEK SMALL LETTER PI;Ll;0;L;;;;;N;;;03A0;;03A0 03C1;GREEK SMALL LETTER RHO;Ll;0;L;;;;;N;;;03A1;;03A1 03C2;GREEK SMALL LETTER FINAL SIGMA;Ll;0;L;;;;;N;;;03A3;;03A3 03C3;GREEK SMALL LETTER SIGMA;Ll;0;L;;;;;N;;;03A3;;03A3 03C4;GREEK SMALL LETTER TAU;Ll;0;L;;;;;N;;;03A4;;03A4 03C5;GREEK SMALL LETTER UPSILON;Ll;0;L;;;;;N;;;03A5;;03A5 03C6;GREEK SMALL LETTER PHI;Ll;0;L;;;;;N;;;03A6;;03A6 03C7;GREEK SMALL LETTER CHI;Ll;0;L;;;;;N;;;03A7;;03A7 03C8;GREEK SMALL LETTER PSI;Ll;0;L;;;;;N;;;03A8;;03A8 03C9;GREEK SMALL LETTER OMEGA;Ll;0;L;;;;;N;;;03A9;;03A9 03CA;GREEK SMALL LETTER IOTA WITH DIALYTIKA;Ll;0;L;03B9 0308;;;;N;GREEK SMALL LETTER IOTA DIAERESIS;;03AA;;03AA 03CB;GREEK SMALL LETTER UPSILON WITH DIALYTIKA;Ll;0;L;03C5 0308;;;;N;GREEK SMALL LETTER UPSILON DIAERESIS;;03AB;;03AB 03CC;GREEK SMALL LETTER OMICRON WITH TONOS;Ll;0;L;03BF 0301;;;;N;GREEK SMALL LETTER OMICRON TONOS;;038C;;038C 03CD;GREEK SMALL LETTER UPSILON WITH TONOS;Ll;0;L;03C5 0301;;;;N;GREEK SMALL LETTER UPSILON TONOS;;038E;;038E 03CE;GREEK SMALL LETTER OMEGA WITH TONOS;Ll;0;L;03C9 0301;;;;N;GREEK SMALL LETTER OMEGA TONOS;;038F;;038F 03D0;GREEK BETA SYMBOL;Ll;0;L;;;;;N;GREEK SMALL LETTER CURLED BETA;;0392;;0392 03D1;GREEK THETA SYMBOL;Ll;0;L;;;;;N;GREEK SMALL LETTER SCRIPT THETA;;0398;;0398 03D2;GREEK UPSILON WITH HOOK SYMBOL;Lu;0;L;;;;;N;GREEK CAPITAL LETTER UPSILON HOOK;;;; 03D3;GREEK UPSILON WITH ACUTE AND HOOK SYMBOL;Lu;0;L;03D2 0301;;;;N;GREEK CAPITAL LETTER UPSILON HOOK TONOS;;;; 03D4;GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL;Lu;0;L;03D2 0308;;;;N;GREEK CAPITAL LETTER UPSILON HOOK DIAERESIS;;;; 03D5;GREEK PHI SYMBOL;Ll;0;L;;;;;N;GREEK SMALL LETTER SCRIPT PHI;;03A6;;03A6 03D6;GREEK PI SYMBOL;Ll;0;L;;;;;N;GREEK SMALL LETTER OMEGA PI;;03A0;;03A0 03DA;GREEK LETTER STIGMA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER STIGMA;;;; 03DC;GREEK LETTER DIGAMMA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER DIGAMMA;;;; 03DE;GREEK LETTER KOPPA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER KOPPA;;;; 03E0;GREEK LETTER SAMPI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER SAMPI;;;; 03E2;COPTIC CAPITAL LETTER SHEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER SHEI;;;03E3; 03E3;COPTIC SMALL LETTER SHEI;Ll;0;L;;;;;N;GREEK SMALL LETTER SHEI;;03E2;;03E2 03E4;COPTIC CAPITAL LETTER FEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER FEI;;;03E5; 03E5;COPTIC SMALL LETTER FEI;Ll;0;L;;;;;N;GREEK SMALL LETTER FEI;;03E4;;03E4 03E6;COPTIC CAPITAL LETTER KHEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER KHEI;;;03E7; 03E7;COPTIC SMALL LETTER KHEI;Ll;0;L;;;;;N;GREEK SMALL LETTER KHEI;;03E6;;03E6 03E8;COPTIC CAPITAL LETTER HORI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER HORI;;;03E9; 03E9;COPTIC SMALL LETTER HORI;Ll;0;L;;;;;N;GREEK SMALL LETTER HORI;;03E8;;03E8 03EA;COPTIC CAPITAL LETTER GANGIA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER GANGIA;;;03EB; 03EB;COPTIC SMALL LETTER GANGIA;Ll;0;L;;;;;N;GREEK SMALL LETTER GANGIA;;03EA;;03EA 03EC;COPTIC CAPITAL LETTER SHIMA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER SHIMA;;;03ED; 03ED;COPTIC SMALL LETTER SHIMA;Ll;0;L;;;;;N;GREEK SMALL LETTER SHIMA;;03EC;;03EC 03EE;COPTIC CAPITAL LETTER DEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER DEI;;;03EF; 03EF;COPTIC SMALL LETTER DEI;Ll;0;L;;;;;N;GREEK SMALL LETTER DEI;;03EE;;03EE 03F0;GREEK KAPPA SYMBOL;Ll;0;L;;;;;N;GREEK SMALL LETTER SCRIPT KAPPA;;039A;;039A 03F1;GREEK RHO SYMBOL;Ll;0;L;;;;;N;GREEK SMALL LETTER TAILED RHO;;03A1;;03A1 03F2;GREEK LUNATE SIGMA SYMBOL;Ll;0;L;;;;;N;GREEK SMALL LETTER LUNATE SIGMA;;03A3;;03A3 03F3;GREEK LETTER YOT;Lo;0;L;;;;;N;;;;; 0401;CYRILLIC CAPITAL LETTER IO;Lu;0;L;0415 0308;;;;N;;;;0451; 0402;CYRILLIC CAPITAL LETTER DJE;Lu;0;L;;;;;N;;Serbocroatian;;0452; 0403;CYRILLIC CAPITAL LETTER GJE;Lu;0;L;0413 0301;;;;N;;;;0453; 0404;CYRILLIC CAPITAL LETTER UKRAINIAN IE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER E;;;0454; 0405;CYRILLIC CAPITAL LETTER DZE;Lu;0;L;;;;;N;;;;0455; 0406;CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER I;;;0456; 0407;CYRILLIC CAPITAL LETTER YI;Lu;0;L;0406 0308;;;;N;;Ukrainian;;0457; 0408;CYRILLIC CAPITAL LETTER JE;Lu;0;L;;;;;N;;;;0458; 0409;CYRILLIC CAPITAL LETTER LJE;Lu;0;L;;;;;N;;;;0459; 040A;CYRILLIC CAPITAL LETTER NJE;Lu;0;L;;;;;N;;;;045A; 040B;CYRILLIC CAPITAL LETTER TSHE;Lu;0;L;;;;;N;;Serbocroatian;;045B; 040C;CYRILLIC CAPITAL LETTER KJE;Lu;0;L;041A 0301;;;;N;;;;045C; 040E;CYRILLIC CAPITAL LETTER SHORT U;Lu;0;L;0423 0306;;;;N;;Byelorussian;;045E; 040F;CYRILLIC CAPITAL LETTER DZHE;Lu;0;L;;;;;N;;;;045F; 0410;CYRILLIC CAPITAL LETTER A;Lu;0;L;;;;;N;;;;0430; 0411;CYRILLIC CAPITAL LETTER BE;Lu;0;L;;;;;N;;;;0431; 0412;CYRILLIC CAPITAL LETTER VE;Lu;0;L;;;;;N;;;;0432; 0413;CYRILLIC CAPITAL LETTER GHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE;;;0433; 0414;CYRILLIC CAPITAL LETTER DE;Lu;0;L;;;;;N;;;;0434; 0415;CYRILLIC CAPITAL LETTER IE;Lu;0;L;;;;;N;;;;0435; 0416;CYRILLIC CAPITAL LETTER ZHE;Lu;0;L;;;;;N;;;;0436; 0417;CYRILLIC CAPITAL LETTER ZE;Lu;0;L;;;;;N;;;;0437; 0418;CYRILLIC CAPITAL LETTER I;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER II;;;0438; 0419;CYRILLIC CAPITAL LETTER SHORT I;Lu;0;L;0418 0306;;;;N;CYRILLIC CAPITAL LETTER SHORT II;;;0439; 041A;CYRILLIC CAPITAL LETTER KA;Lu;0;L;;;;;N;;;;043A; 041B;CYRILLIC CAPITAL LETTER EL;Lu;0;L;;;;;N;;;;043B; 041C;CYRILLIC CAPITAL LETTER EM;Lu;0;L;;;;;N;;;;043C; 041D;CYRILLIC CAPITAL LETTER EN;Lu;0;L;;;;;N;;;;043D; 041E;CYRILLIC CAPITAL LETTER O;Lu;0;L;;;;;N;;;;043E; 041F;CYRILLIC CAPITAL LETTER PE;Lu;0;L;;;;;N;;;;043F; 0420;CYRILLIC CAPITAL LETTER ER;Lu;0;L;;;;;N;;;;0440; 0421;CYRILLIC CAPITAL LETTER ES;Lu;0;L;;;;;N;;;;0441; 0422;CYRILLIC CAPITAL LETTER TE;Lu;0;L;;;;;N;;;;0442; 0423;CYRILLIC CAPITAL LETTER U;Lu;0;L;;;;;N;;;;0443; 0424;CYRILLIC CAPITAL LETTER EF;Lu;0;L;;;;;N;;;;0444; 0425;CYRILLIC CAPITAL LETTER HA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KHA;;;0445; 0426;CYRILLIC CAPITAL LETTER TSE;Lu;0;L;;;;;N;;;;0446; 0427;CYRILLIC CAPITAL LETTER CHE;Lu;0;L;;;;;N;;;;0447; 0428;CYRILLIC CAPITAL LETTER SHA;Lu;0;L;;;;;N;;;;0448; 0429;CYRILLIC CAPITAL LETTER SHCHA;Lu;0;L;;;;;N;;;;0449; 042A;CYRILLIC CAPITAL LETTER HARD SIGN;Lu;0;L;;;;;N;;;;044A; 042B;CYRILLIC CAPITAL LETTER YERU;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER YERI;;;044B; 042C;CYRILLIC CAPITAL LETTER SOFT SIGN;Lu;0;L;;;;;N;;;;044C; 042D;CYRILLIC CAPITAL LETTER E;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER REVERSED E;;;044D; 042E;CYRILLIC CAPITAL LETTER YU;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IU;;;044E; 042F;CYRILLIC CAPITAL LETTER YA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IA;;;044F; 0430;CYRILLIC SMALL LETTER A;Ll;0;L;;;;;N;;;0410;;0410 0431;CYRILLIC SMALL LETTER BE;Ll;0;L;;;;;N;;;0411;;0411 0432;CYRILLIC SMALL LETTER VE;Ll;0;L;;;;;N;;;0412;;0412 0433;CYRILLIC SMALL LETTER GHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE;;0413;;0413 0434;CYRILLIC SMALL LETTER DE;Ll;0;L;;;;;N;;;0414;;0414 0435;CYRILLIC SMALL LETTER IE;Ll;0;L;;;;;N;;;0415;;0415 0436;CYRILLIC SMALL LETTER ZHE;Ll;0;L;;;;;N;;;0416;;0416 0437;CYRILLIC SMALL LETTER ZE;Ll;0;L;;;;;N;;;0417;;0417 0438;CYRILLIC SMALL LETTER I;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER II;;0418;;0418 0439;CYRILLIC SMALL LETTER SHORT I;Ll;0;L;0438 0306;;;;N;CYRILLIC SMALL LETTER SHORT II;;0419;;0419 043A;CYRILLIC SMALL LETTER KA;Ll;0;L;;;;;N;;;041A;;041A 043B;CYRILLIC SMALL LETTER EL;Ll;0;L;;;;;N;;;041B;;041B 043C;CYRILLIC SMALL LETTER EM;Ll;0;L;;;;;N;;;041C;;041C 043D;CYRILLIC SMALL LETTER EN;Ll;0;L;;;;;N;;;041D;;041D 043E;CYRILLIC SMALL LETTER O;Ll;0;L;;;;;N;;;041E;;041E 043F;CYRILLIC SMALL LETTER PE;Ll;0;L;;;;;N;;;041F;;041F 0440;CYRILLIC SMALL LETTER ER;Ll;0;L;;;;;N;;;0420;;0420 0441;CYRILLIC SMALL LETTER ES;Ll;0;L;;;;;N;;;0421;;0421 0442;CYRILLIC SMALL LETTER TE;Ll;0;L;;;;;N;;;0422;;0422 0443;CYRILLIC SMALL LETTER U;Ll;0;L;;;;;N;;;0423;;0423 0444;CYRILLIC SMALL LETTER EF;Ll;0;L;;;;;N;;;0424;;0424 0445;CYRILLIC SMALL LETTER HA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KHA;;0425;;0425 0446;CYRILLIC SMALL LETTER TSE;Ll;0;L;;;;;N;;;0426;;0426 0447;CYRILLIC SMALL LETTER CHE;Ll;0;L;;;;;N;;;0427;;0427 0448;CYRILLIC SMALL LETTER SHA;Ll;0;L;;;;;N;;;0428;;0428 0449;CYRILLIC SMALL LETTER SHCHA;Ll;0;L;;;;;N;;;0429;;0429 044A;CYRILLIC SMALL LETTER HARD SIGN;Ll;0;L;;;;;N;;;042A;;042A 044B;CYRILLIC SMALL LETTER YERU;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER YERI;;042B;;042B 044C;CYRILLIC SMALL LETTER SOFT SIGN;Ll;0;L;;;;;N;;;042C;;042C 044D;CYRILLIC SMALL LETTER E;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER REVERSED E;;042D;;042D 044E;CYRILLIC SMALL LETTER YU;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IU;;042E;;042E 044F;CYRILLIC SMALL LETTER YA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IA;;042F;;042F 0451;CYRILLIC SMALL LETTER IO;Ll;0;L;0435 0308;;;;N;;;0401;;0401 0452;CYRILLIC SMALL LETTER DJE;Ll;0;L;;;;;N;;Serbocroatian;0402;;0402 0453;CYRILLIC SMALL LETTER GJE;Ll;0;L;0433 0301;;;;N;;;0403;;0403 0454;CYRILLIC SMALL LETTER UKRAINIAN IE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER E;;0404;;0404 0455;CYRILLIC SMALL LETTER DZE;Ll;0;L;;;;;N;;;0405;;0405 0456;CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER I;;0406;;0406 0457;CYRILLIC SMALL LETTER YI;Ll;0;L;0456 0308;;;;N;;Ukrainian;0407;;0407 0458;CYRILLIC SMALL LETTER JE;Ll;0;L;;;;;N;;;0408;;0408 0459;CYRILLIC SMALL LETTER LJE;Ll;0;L;;;;;N;;;0409;;0409 045A;CYRILLIC SMALL LETTER NJE;Ll;0;L;;;;;N;;;040A;;040A 045B;CYRILLIC SMALL LETTER TSHE;Ll;0;L;;;;;N;;Serbocroatian;040B;;040B 045C;CYRILLIC SMALL LETTER KJE;Ll;0;L;043A 0301;;;;N;;;040C;;040C 045E;CYRILLIC SMALL LETTER SHORT U;Ll;0;L;0443 0306;;;;N;;Byelorussian;040E;;040E 045F;CYRILLIC SMALL LETTER DZHE;Ll;0;L;;;;;N;;;040F;;040F 0460;CYRILLIC CAPITAL LETTER OMEGA;Lu;0;L;;;;;N;;;;0461; 0461;CYRILLIC SMALL LETTER OMEGA;Ll;0;L;;;;;N;;;0460;;0460 0462;CYRILLIC CAPITAL LETTER YAT;Lu;0;L;;;;;N;;;;0463; 0463;CYRILLIC SMALL LETTER YAT;Ll;0;L;;;;;N;;;0462;;0462 0464;CYRILLIC CAPITAL LETTER IOTIFIED E;Lu;0;L;;;;;N;;;;0465; 0465;CYRILLIC SMALL LETTER IOTIFIED E;Ll;0;L;;;;;N;;;0464;;0464 0466;CYRILLIC CAPITAL LETTER LITTLE YUS;Lu;0;L;;;;;N;;;;0467; 0467;CYRILLIC SMALL LETTER LITTLE YUS;Ll;0;L;;;;;N;;;0466;;0466 0468;CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS;Lu;0;L;;;;;N;;;;0469; 0469;CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS;Ll;0;L;;;;;N;;;0468;;0468 046A;CYRILLIC CAPITAL LETTER BIG YUS;Lu;0;L;;;;;N;;;;046B; 046B;CYRILLIC SMALL LETTER BIG YUS;Ll;0;L;;;;;N;;;046A;;046A 046C;CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS;Lu;0;L;;;;;N;;;;046D; 046D;CYRILLIC SMALL LETTER IOTIFIED BIG YUS;Ll;0;L;;;;;N;;;046C;;046C 046E;CYRILLIC CAPITAL LETTER KSI;Lu;0;L;;;;;N;;;;046F; 046F;CYRILLIC SMALL LETTER KSI;Ll;0;L;;;;;N;;;046E;;046E 0470;CYRILLIC CAPITAL LETTER PSI;Lu;0;L;;;;;N;;;;0471; 0471;CYRILLIC SMALL LETTER PSI;Ll;0;L;;;;;N;;;0470;;0470 0472;CYRILLIC CAPITAL LETTER FITA;Lu;0;L;;;;;N;;;;0473; 0473;CYRILLIC SMALL LETTER FITA;Ll;0;L;;;;;N;;;0472;;0472 0474;CYRILLIC CAPITAL LETTER IZHITSA;Lu;0;L;;;;;N;;;;0475; 0475;CYRILLIC SMALL LETTER IZHITSA;Ll;0;L;;;;;N;;;0474;;0474 0476;CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT;Lu;0;L;0474 030F;;;;N;CYRILLIC CAPITAL LETTER IZHITSA DOUBLE GRAVE;;;0477; 0477;CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT;Ll;0;L;0475 030F;;;;N;CYRILLIC SMALL LETTER IZHITSA DOUBLE GRAVE;;0476;;0476 0478;CYRILLIC CAPITAL LETTER UK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER UK DIGRAPH;;;0479; 0479;CYRILLIC SMALL LETTER UK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER UK DIGRAPH;;0478;;0478 047A;CYRILLIC CAPITAL LETTER ROUND OMEGA;Lu;0;L;;;;;N;;;;047B; 047B;CYRILLIC SMALL LETTER ROUND OMEGA;Ll;0;L;;;;;N;;;047A;;047A 047C;CYRILLIC CAPITAL LETTER OMEGA WITH TITLO;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER OMEGA TITLO;;;047D; 047D;CYRILLIC SMALL LETTER OMEGA WITH TITLO;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER OMEGA TITLO;;047C;;047C 047E;CYRILLIC CAPITAL LETTER OT;Lu;0;L;;;;;N;;;;047F; 047F;CYRILLIC SMALL LETTER OT;Ll;0;L;;;;;N;;;047E;;047E 0480;CYRILLIC CAPITAL LETTER KOPPA;Lu;0;L;;;;;N;;;;0481; 0481;CYRILLIC SMALL LETTER KOPPA;Ll;0;L;;;;;N;;;0480;;0480 0482;CYRILLIC THOUSANDS SIGN;So;0;L;;;;;N;;;;; 0483;COMBINING CYRILLIC TITLO;Mn;230;ON;;;;;N;CYRILLIC NON-SPACING TITLO;;;; 0484;COMBINING CYRILLIC PALATALIZATION;Mn;230;ON;;;;;N;CYRILLIC NON-SPACING PALATALIZATION;;;; 0485;COMBINING CYRILLIC DASIA PNEUMATA;Mn;230;ON;;;;;N;CYRILLIC NON-SPACING DASIA PNEUMATA;;;; 0486;COMBINING CYRILLIC PSILI PNEUMATA;Mn;230;ON;;;;;N;CYRILLIC NON-SPACING PSILI PNEUMATA;;;; 0490;CYRILLIC CAPITAL LETTER GHE WITH UPTURN;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE WITH UPTURN;;;0491; 0491;CYRILLIC SMALL LETTER GHE WITH UPTURN;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE WITH UPTURN;;0490;;0490 0492;CYRILLIC CAPITAL LETTER GHE WITH STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE BAR;;;0493; 0493;CYRILLIC SMALL LETTER GHE WITH STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE BAR;;0492;;0492 0494;CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE HOOK;;;0495; 0495;CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE HOOK;;0494;;0494 0496;CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER ZHE WITH RIGHT DESCENDER;;;0497; 0497;CYRILLIC SMALL LETTER ZHE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER ZHE WITH RIGHT DESCENDER;;0496;;0496 0498;CYRILLIC CAPITAL LETTER ZE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER ZE CEDILLA;;;0499; 0499;CYRILLIC SMALL LETTER ZE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER ZE CEDILLA;;0498;;0498 049A;CYRILLIC CAPITAL LETTER KA WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KA WITH RIGHT DESCENDER;;;049B; 049B;CYRILLIC SMALL LETTER KA WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KA WITH RIGHT DESCENDER;;049A;;049A 049C;CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KA VERTICAL BAR;;;049D; 049D;CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KA VERTICAL BAR;;049C;;049C 049E;CYRILLIC CAPITAL LETTER KA WITH STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KA BAR;;;049F; 049F;CYRILLIC SMALL LETTER KA WITH STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KA BAR;;049E;;049E 04A0;CYRILLIC CAPITAL LETTER BASHKIR KA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER REVERSED GE KA;;;04A1; 04A1;CYRILLIC SMALL LETTER BASHKIR KA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER REVERSED GE KA;;04A0;;04A0 04A2;CYRILLIC CAPITAL LETTER EN WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER EN WITH RIGHT DESCENDER;;;04A3; 04A3;CYRILLIC SMALL LETTER EN WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER EN WITH RIGHT DESCENDER;;04A2;;04A2 04A4;CYRILLIC CAPITAL LIGATURE EN GHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER EN GE;;;04A5; 04A5;CYRILLIC SMALL LIGATURE EN GHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER EN GE;;04A4;;04A4 04A6;CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER PE HOOK;Abkhasian;;04A7; 04A7;CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER PE HOOK;Abkhasian;04A6;;04A6 04A8;CYRILLIC CAPITAL LETTER ABKHASIAN HA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER O HOOK;;;04A9; 04A9;CYRILLIC SMALL LETTER ABKHASIAN HA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER O HOOK;;04A8;;04A8 04AA;CYRILLIC CAPITAL LETTER ES WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER ES CEDILLA;;;04AB; 04AB;CYRILLIC SMALL LETTER ES WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER ES CEDILLA;;04AA;;04AA 04AC;CYRILLIC CAPITAL LETTER TE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER TE WITH RIGHT DESCENDER;;;04AD; 04AD;CYRILLIC SMALL LETTER TE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER TE WITH RIGHT DESCENDER;;04AC;;04AC 04AE;CYRILLIC CAPITAL LETTER STRAIGHT U;Lu;0;L;;;;;N;;;;04AF; 04AF;CYRILLIC SMALL LETTER STRAIGHT U;Ll;0;L;;;;;N;;;04AE;;04AE 04B0;CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER STRAIGHT U BAR;;;04B1; 04B1;CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER STRAIGHT U BAR;;04B0;;04B0 04B2;CYRILLIC CAPITAL LETTER HA WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KHA WITH RIGHT DESCENDER;;;04B3; 04B3;CYRILLIC SMALL LETTER HA WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KHA WITH RIGHT DESCENDER;;04B2;;04B2 04B4;CYRILLIC CAPITAL LIGATURE TE TSE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER TE TSE;Abkhasian;;04B5; 04B5;CYRILLIC SMALL LIGATURE TE TSE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER TE TSE;Abkhasian;04B4;;04B4 04B6;CYRILLIC CAPITAL LETTER CHE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER CHE WITH RIGHT DESCENDER;;;04B7; 04B7;CYRILLIC SMALL LETTER CHE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER CHE WITH RIGHT DESCENDER;;04B6;;04B6 04B8;CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER CHE VERTICAL BAR;;;04B9; 04B9;CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER CHE VERTICAL BAR;;04B8;;04B8 04BA;CYRILLIC CAPITAL LETTER SHHA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER H;;;04BB; 04BB;CYRILLIC SMALL LETTER SHHA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER H;;04BA;;04BA 04BC;CYRILLIC CAPITAL LETTER ABKHASIAN CHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IE HOOK;;;04BD; 04BD;CYRILLIC SMALL LETTER ABKHASIAN CHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IE HOOK;;04BC;;04BC 04BE;CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IE HOOK OGONEK;;;04BF; 04BF;CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IE HOOK OGONEK;;04BE;;04BE 04C0;CYRILLIC LETTER PALOCHKA;Lo;0;L;;;;;N;CYRILLIC LETTER I;;;; 04C1;CYRILLIC CAPITAL LETTER ZHE WITH BREVE;Lu;0;L;0416 0306;;;;N;CYRILLIC CAPITAL LETTER SHORT ZHE;;;04C2; 04C2;CYRILLIC SMALL LETTER ZHE WITH BREVE;Ll;0;L;0436 0306;;;;N;CYRILLIC SMALL LETTER SHORT ZHE;;04C1;;04C1 04C3;CYRILLIC CAPITAL LETTER KA WITH HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KA HOOK;;;04C4; 04C4;CYRILLIC SMALL LETTER KA WITH HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KA HOOK;;04C3;;04C3 04C7;CYRILLIC CAPITAL LETTER EN WITH HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER EN HOOK;;;04C8; 04C8;CYRILLIC SMALL LETTER EN WITH HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER EN HOOK;;04C7;;04C7 04CB;CYRILLIC CAPITAL LETTER KHAKASSIAN CHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER CHE WITH LEFT DESCENDER;;;04CC; 04CC;CYRILLIC SMALL LETTER KHAKASSIAN CHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER CHE WITH LEFT DESCENDER;;04CB;;04CB 04D0;CYRILLIC CAPITAL LETTER A WITH BREVE;Lu;0;L;0410 0306;;;;N;;;;04D1; 04D1;CYRILLIC SMALL LETTER A WITH BREVE;Ll;0;L;0430 0306;;;;N;;;04D0;;04D0 04D2;CYRILLIC CAPITAL LETTER A WITH DIAERESIS;Lu;0;L;0410 0308;;;;N;;;;04D3; 04D3;CYRILLIC SMALL LETTER A WITH DIAERESIS;Ll;0;L;0430 0308;;;;N;;;04D2;;04D2 04D4;CYRILLIC CAPITAL LIGATURE A IE;Lu;0;L;;;;;N;;;;04D5; 04D5;CYRILLIC SMALL LIGATURE A IE;Ll;0;L;;;;;N;;;04D4;;04D4 04D6;CYRILLIC CAPITAL LETTER IE WITH BREVE;Lu;0;L;0415 0306;;;;N;;;;04D7; 04D7;CYRILLIC SMALL LETTER IE WITH BREVE;Ll;0;L;0435 0306;;;;N;;;04D6;;04D6 04D8;CYRILLIC CAPITAL LETTER SCHWA;Lu;0;L;;;;;N;;;;04D9; 04D9;CYRILLIC SMALL LETTER SCHWA;Ll;0;L;;;;;N;;;04D8;;04D8 04DA;CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS;Lu;0;L;04D8 0308;;;;N;;;;04DB; 04DB;CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS;Ll;0;L;04D9 0308;;;;N;;;04DA;;04DA 04DC;CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS;Lu;0;L;0416 0308;;;;N;;;;04DD; 04DD;CYRILLIC SMALL LETTER ZHE WITH DIAERESIS;Ll;0;L;0436 0308;;;;N;;;04DC;;04DC 04DE;CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS;Lu;0;L;0417 0308;;;;N;;;;04DF; 04DF;CYRILLIC SMALL LETTER ZE WITH DIAERESIS;Ll;0;L;0437 0308;;;;N;;;04DE;;04DE 04E0;CYRILLIC CAPITAL LETTER ABKHASIAN DZE;Lu;0;L;;;;;N;;;;04E1; 04E1;CYRILLIC SMALL LETTER ABKHASIAN DZE;Ll;0;L;;;;;N;;;04E0;;04E0 04E2;CYRILLIC CAPITAL LETTER I WITH MACRON;Lu;0;L;0418 0304;;;;N;;;;04E3; 04E3;CYRILLIC SMALL LETTER I WITH MACRON;Ll;0;L;0438 0304;;;;N;;;04E2;;04E2 04E4;CYRILLIC CAPITAL LETTER I WITH DIAERESIS;Lu;0;L;0418 0308;;;;N;;;;04E5; 04E5;CYRILLIC SMALL LETTER I WITH DIAERESIS;Ll;0;L;0438 0308;;;;N;;;04E4;;04E4 04E6;CYRILLIC CAPITAL LETTER O WITH DIAERESIS;Lu;0;L;041E 0308;;;;N;;;;04E7; 04E7;CYRILLIC SMALL LETTER O WITH DIAERESIS;Ll;0;L;043E 0308;;;;N;;;04E6;;04E6 04E8;CYRILLIC CAPITAL LETTER BARRED O;Lu;0;L;;;;;N;;;;04E9; 04E9;CYRILLIC SMALL LETTER BARRED O;Ll;0;L;;;;;N;;;04E8;;04E8 04EA;CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS;Lu;0;L;04E8 0308;;;;N;;;;04EB; 04EB;CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS;Ll;0;L;04E9 0308;;;;N;;;04EA;;04EA 04EE;CYRILLIC CAPITAL LETTER U WITH MACRON;Lu;0;L;0423 0304;;;;N;;;;04EF; 04EF;CYRILLIC SMALL LETTER U WITH MACRON;Ll;0;L;0443 0304;;;;N;;;04EE;;04EE 04F0;CYRILLIC CAPITAL LETTER U WITH DIAERESIS;Lu;0;L;0423 0308;;;;N;;;;04F1; 04F1;CYRILLIC SMALL LETTER U WITH DIAERESIS;Ll;0;L;0443 0308;;;;N;;;04F0;;04F0 04F2;CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE;Lu;0;L;0423 030B;;;;N;;;;04F3; 04F3;CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE;Ll;0;L;0443 030B;;;;N;;;04F2;;04F2 04F4;CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS;Lu;0;L;0427 0308;;;;N;;;;04F5; 04F5;CYRILLIC SMALL LETTER CHE WITH DIAERESIS;Ll;0;L;0447 0308;;;;N;;;04F4;;04F4 04F8;CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS;Lu;0;L;042B 0308;;;;N;;;;04F9; 04F9;CYRILLIC SMALL LETTER YERU WITH DIAERESIS;Ll;0;L;044B 0308;;;;N;;;04F8;;04F8 0531;ARMENIAN CAPITAL LETTER AYB;Lu;0;L;;;;;N;;;;0561; 0532;ARMENIAN CAPITAL LETTER BEN;Lu;0;L;;;;;N;;;;0562; 0533;ARMENIAN CAPITAL LETTER GIM;Lu;0;L;;;;;N;;;;0563; 0534;ARMENIAN CAPITAL LETTER DA;Lu;0;L;;;;;N;;;;0564; 0535;ARMENIAN CAPITAL LETTER ECH;Lu;0;L;;;;;N;;;;0565; 0536;ARMENIAN CAPITAL LETTER ZA;Lu;0;L;;;;;N;;;;0566; 0537;ARMENIAN CAPITAL LETTER EH;Lu;0;L;;;;;N;;;;0567; 0538;ARMENIAN CAPITAL LETTER ET;Lu;0;L;;;;;N;;;;0568; 0539;ARMENIAN CAPITAL LETTER TO;Lu;0;L;;;;;N;;;;0569; 053A;ARMENIAN CAPITAL LETTER ZHE;Lu;0;L;;;;;N;;;;056A; 053B;ARMENIAN CAPITAL LETTER INI;Lu;0;L;;;;;N;;;;056B; 053C;ARMENIAN CAPITAL LETTER LIWN;Lu;0;L;;;;;N;;;;056C; 053D;ARMENIAN CAPITAL LETTER XEH;Lu;0;L;;;;;N;;;;056D; 053E;ARMENIAN CAPITAL LETTER CA;Lu;0;L;;;;;N;;;;056E; 053F;ARMENIAN CAPITAL LETTER KEN;Lu;0;L;;;;;N;;;;056F; 0540;ARMENIAN CAPITAL LETTER HO;Lu;0;L;;;;;N;;;;0570; 0541;ARMENIAN CAPITAL LETTER JA;Lu;0;L;;;;;N;;;;0571; 0542;ARMENIAN CAPITAL LETTER GHAD;Lu;0;L;;;;;N;ARMENIAN CAPITAL LETTER LAD;;;0572; 0543;ARMENIAN CAPITAL LETTER CHEH;Lu;0;L;;;;;N;;;;0573; 0544;ARMENIAN CAPITAL LETTER MEN;Lu;0;L;;;;;N;;;;0574; 0545;ARMENIAN CAPITAL LETTER YI;Lu;0;L;;;;;N;;;;0575; 0546;ARMENIAN CAPITAL LETTER NOW;Lu;0;L;;;;;N;;;;0576; 0547;ARMENIAN CAPITAL LETTER SHA;Lu;0;L;;;;;N;;;;0577; 0548;ARMENIAN CAPITAL LETTER VO;Lu;0;L;;;;;N;;;;0578; 0549;ARMENIAN CAPITAL LETTER CHA;Lu;0;L;;;;;N;;;;0579; 054A;ARMENIAN CAPITAL LETTER PEH;Lu;0;L;;;;;N;;;;057A; 054B;ARMENIAN CAPITAL LETTER JHEH;Lu;0;L;;;;;N;;;;057B; 054C;ARMENIAN CAPITAL LETTER RA;Lu;0;L;;;;;N;;;;057C; 054D;ARMENIAN CAPITAL LETTER SEH;Lu;0;L;;;;;N;;;;057D; 054E;ARMENIAN CAPITAL LETTER VEW;Lu;0;L;;;;;N;;;;057E; 054F;ARMENIAN CAPITAL LETTER TIWN;Lu;0;L;;;;;N;;;;057F; 0550;ARMENIAN CAPITAL LETTER REH;Lu;0;L;;;;;N;;;;0580; 0551;ARMENIAN CAPITAL LETTER CO;Lu;0;L;;;;;N;;;;0581; 0552;ARMENIAN CAPITAL LETTER YIWN;Lu;0;L;;;;;N;;;;0582; 0553;ARMENIAN CAPITAL LETTER PIWR;Lu;0;L;;;;;N;;;;0583; 0554;ARMENIAN CAPITAL LETTER KEH;Lu;0;L;;;;;N;;;;0584; 0555;ARMENIAN CAPITAL LETTER OH;Lu;0;L;;;;;N;;;;0585; 0556;ARMENIAN CAPITAL LETTER FEH;Lu;0;L;;;;;N;;;;0586; 0559;ARMENIAN MODIFIER LETTER LEFT HALF RING;Lm;0;L;;;;;N;;;;; 055A;ARMENIAN APOSTROPHE;Po;0;L;;;;;N;ARMENIAN MODIFIER LETTER RIGHT HALF RING;;;; 055B;ARMENIAN EMPHASIS MARK;Po;0;L;;;;;N;;;;; 055C;ARMENIAN EXCLAMATION MARK;Po;0;L;;;;;N;;;;; 055D;ARMENIAN COMMA;Po;0;L;;;;;N;;;;; 055E;ARMENIAN QUESTION MARK;Po;0;L;;;;;N;;;;; 055F;ARMENIAN ABBREVIATION MARK;Po;0;L;;;;;N;;;;; 0561;ARMENIAN SMALL LETTER AYB;Ll;0;L;;;;;N;;;0531;;0531 0562;ARMENIAN SMALL LETTER BEN;Ll;0;L;;;;;N;;;0532;;0532 0563;ARMENIAN SMALL LETTER GIM;Ll;0;L;;;;;N;;;0533;;0533 0564;ARMENIAN SMALL LETTER DA;Ll;0;L;;;;;N;;;0534;;0534 0565;ARMENIAN SMALL LETTER ECH;Ll;0;L;;;;;N;;;0535;;0535 0566;ARMENIAN SMALL LETTER ZA;Ll;0;L;;;;;N;;;0536;;0536 0567;ARMENIAN SMALL LETTER EH;Ll;0;L;;;;;N;;;0537;;0537 0568;ARMENIAN SMALL LETTER ET;Ll;0;L;;;;;N;;;0538;;0538 0569;ARMENIAN SMALL LETTER TO;Ll;0;L;;;;;N;;;0539;;0539 056A;ARMENIAN SMALL LETTER ZHE;Ll;0;L;;;;;N;;;053A;;053A 056B;ARMENIAN SMALL LETTER INI;Ll;0;L;;;;;N;;;053B;;053B 056C;ARMENIAN SMALL LETTER LIWN;Ll;0;L;;;;;N;;;053C;;053C 056D;ARMENIAN SMALL LETTER XEH;Ll;0;L;;;;;N;;;053D;;053D 056E;ARMENIAN SMALL LETTER CA;Ll;0;L;;;;;N;;;053E;;053E 056F;ARMENIAN SMALL LETTER KEN;Ll;0;L;;;;;N;;;053F;;053F 0570;ARMENIAN SMALL LETTER HO;Ll;0;L;;;;;N;;;0540;;0540 0571;ARMENIAN SMALL LETTER JA;Ll;0;L;;;;;N;;;0541;;0541 0572;ARMENIAN SMALL LETTER GHAD;Ll;0;L;;;;;N;ARMENIAN SMALL LETTER LAD;;0542;;0542 0573;ARMENIAN SMALL LETTER CHEH;Ll;0;L;;;;;N;;;0543;;0543 0574;ARMENIAN SMALL LETTER MEN;Ll;0;L;;;;;N;;;0544;;0544 0575;ARMENIAN SMALL LETTER YI;Ll;0;L;;;;;N;;;0545;;0545 0576;ARMENIAN SMALL LETTER NOW;Ll;0;L;;;;;N;;;0546;;0546 0577;ARMENIAN SMALL LETTER SHA;Ll;0;L;;;;;N;;;0547;;0547 0578;ARMENIAN SMALL LETTER VO;Ll;0;L;;;;;N;;;0548;;0548 0579;ARMENIAN SMALL LETTER CHA;Ll;0;L;;;;;N;;;0549;;0549 057A;ARMENIAN SMALL LETTER PEH;Ll;0;L;;;;;N;;;054A;;054A 057B;ARMENIAN SMALL LETTER JHEH;Ll;0;L;;;;;N;;;054B;;054B 057C;ARMENIAN SMALL LETTER RA;Ll;0;L;;;;;N;;;054C;;054C 057D;ARMENIAN SMALL LETTER SEH;Ll;0;L;;;;;N;;;054D;;054D 057E;ARMENIAN SMALL LETTER VEW;Ll;0;L;;;;;N;;;054E;;054E 057F;ARMENIAN SMALL LETTER TIWN;Ll;0;L;;;;;N;;;054F;;054F 0580;ARMENIAN SMALL LETTER REH;Ll;0;L;;;;;N;;;0550;;0550 0581;ARMENIAN SMALL LETTER CO;Ll;0;L;;;;;N;;;0551;;0551 0582;ARMENIAN SMALL LETTER YIWN;Ll;0;L;;;;;N;;;0552;;0552 0583;ARMENIAN SMALL LETTER PIWR;Ll;0;L;;;;;N;;;0553;;0553 0584;ARMENIAN SMALL LETTER KEH;Ll;0;L;;;;;N;;;0554;;0554 0585;ARMENIAN SMALL LETTER OH;Ll;0;L;;;;;N;;;0555;;0555 0586;ARMENIAN SMALL LETTER FEH;Ll;0;L;;;;;N;;;0556;;0556 0587;ARMENIAN SMALL LIGATURE ECH YIWN;Ll;0;L; 0565 0582;;;;N;;;;; 0589;ARMENIAN FULL STOP;Po;0;L;;;;;N;ARMENIAN PERIOD;;;; 0591;HEBREW ACCENT ETNAHTA;Mn;220;ON;;;;;N;;;;; 0592;HEBREW ACCENT SEGOL;Mn;230;ON;;;;;N;;;;; 0593;HEBREW ACCENT SHALSHELET;Mn;230;ON;;;;;N;;;;; 0594;HEBREW ACCENT ZAQEF QATAN;Mn;230;ON;;;;;N;;;;; 0595;HEBREW ACCENT ZAQEF GADOL;Mn;230;ON;;;;;N;;;;; 0596;HEBREW ACCENT TIPEHA;Mn;220;ON;;;;;N;;;;; 0597;HEBREW ACCENT REVIA;Mn;230;ON;;;;;N;;;;; 0598;HEBREW ACCENT ZARQA;Mn;230;ON;;;;;N;;;;; 0599;HEBREW ACCENT PASHTA;Mn;230;ON;;;;;N;;;;; 059A;HEBREW ACCENT YETIV;Mn;222;ON;;;;;N;;;;; 059B;HEBREW ACCENT TEVIR;Mn;220;ON;;;;;N;;;;; 059C;HEBREW ACCENT GERESH;Mn;230;ON;;;;;N;;;;; 059D;HEBREW ACCENT GERESH MUQDAM;Mn;230;ON;;;;;N;;;;; 059E;HEBREW ACCENT GERSHAYIM;Mn;230;ON;;;;;N;;;;; 059F;HEBREW ACCENT QARNEY PARA;Mn;230;ON;;;;;N;;;;; 05A0;HEBREW ACCENT TELISHA GEDOLA;Mn;230;ON;;;;;N;;;;; 05A1;HEBREW ACCENT PAZER;Mn;230;ON;;;;;N;;;;; 05A3;HEBREW ACCENT MUNAH;Mn;220;ON;;;;;N;;;;; 05A4;HEBREW ACCENT MAHAPAKH;Mn;220;ON;;;;;N;;;;; 05A5;HEBREW ACCENT MERKHA;Mn;220;ON;;;;;N;;;;; 05A6;HEBREW ACCENT MERKHA KEFULA;Mn;220;ON;;;;;N;;;;; 05A7;HEBREW ACCENT DARGA;Mn;220;ON;;;;;N;;;;; 05A8;HEBREW ACCENT QADMA;Mn;230;ON;;;;;N;;;;; 05A9;HEBREW ACCENT TELISHA QETANA;Mn;230;ON;;;;;N;;;;; 05AA;HEBREW ACCENT YERAH BEN YOMO;Mn;220;ON;;;;;N;;;;; 05AB;HEBREW ACCENT OLE;Mn;230;ON;;;;;N;;;;; 05AC;HEBREW ACCENT ILUY;Mn;230;ON;;;;;N;;;;; 05AD;HEBREW ACCENT DEHI;Mn;222;ON;;;;;N;;;;; 05AE;HEBREW ACCENT ZINOR;Mn;230;ON;;;;;N;;;;; 05AF;HEBREW MARK MASORA CIRCLE;Mn;230;ON;;;;;N;;;;; 05B0;HEBREW POINT SHEVA;Mn;10;ON;;;;;N;;;;; 05B1;HEBREW POINT HATAF SEGOL;Mn;11;ON;;;;;N;;;;; 05B2;HEBREW POINT HATAF PATAH;Mn;12;ON;;;;;N;;;;; 05B3;HEBREW POINT HATAF QAMATS;Mn;13;ON;;;;;N;;;;; 05B4;HEBREW POINT HIRIQ;Mn;14;ON;;;;;N;;;;; 05B5;HEBREW POINT TSERE;Mn;15;ON;;;;;N;;;;; 05B6;HEBREW POINT SEGOL;Mn;16;ON;;;;;N;;;;; 05B7;HEBREW POINT PATAH;Mn;17;ON;;;;;N;;;;; 05B8;HEBREW POINT QAMATS;Mn;18;ON;;;;;N;;;;; 05B9;HEBREW POINT HOLAM;Mn;19;ON;;;;;N;;;;; 05BB;HEBREW POINT QUBUTS;Mn;20;ON;;;;;N;;;;; 05BC;HEBREW POINT DAGESH OR MAPIQ;Mn;21;ON;;;;;N;HEBREW POINT DAGESH;;;; 05BD;HEBREW POINT METEG;Mn;22;ON;;;;;N;;;;; 05BE;HEBREW PUNCTUATION MAQAF;Po;0;R;;;;;N;;;;; 05BF;HEBREW POINT RAFE;Mn;23;ON;;;;;N;;;;; 05C0;HEBREW PUNCTUATION PASEQ;Po;0;R;;;;;N;HEBREW POINT PASEQ;;;; 05C1;HEBREW POINT SHIN DOT;Mn;24;ON;;;;;N;;;;; 05C2;HEBREW POINT SIN DOT;Mn;25;ON;;;;;N;;;;; 05C3;HEBREW PUNCTUATION SOF PASUQ;Po;0;R;;;;;N;;;;; 05C4;HEBREW MARK UPPER DOT;Mn;230;ON;;;;;N;;;;; 05D0;HEBREW LETTER ALEF;Lo;0;R;;;;;N;;;;; 05D1;HEBREW LETTER BET;Lo;0;R;;;;;N;;;;; 05D2;HEBREW LETTER GIMEL;Lo;0;R;;;;;N;;;;; 05D3;HEBREW LETTER DALET;Lo;0;R;;;;;N;;;;; 05D4;HEBREW LETTER HE;Lo;0;R;;;;;N;;;;; 05D5;HEBREW LETTER VAV;Lo;0;R;;;;;N;;;;; 05D6;HEBREW LETTER ZAYIN;Lo;0;R;;;;;N;;;;; 05D7;HEBREW LETTER HET;Lo;0;R;;;;;N;;;;; 05D8;HEBREW LETTER TET;Lo;0;R;;;;;N;;;;; 05D9;HEBREW LETTER YOD;Lo;0;R;;;;;N;;;;; 05DA;HEBREW LETTER FINAL KAF;Lo;0;R;;;;;N;;;;; 05DB;HEBREW LETTER KAF;Lo;0;R;;;;;N;;;;; 05DC;HEBREW LETTER LAMED;Lo;0;R;;;;;N;;;;; 05DD;HEBREW LETTER FINAL MEM;Lo;0;R;;;;;N;;;;; 05DE;HEBREW LETTER MEM;Lo;0;R;;;;;N;;;;; 05DF;HEBREW LETTER FINAL NUN;Lo;0;R;;;;;N;;;;; 05E0;HEBREW LETTER NUN;Lo;0;R;;;;;N;;;;; 05E1;HEBREW LETTER SAMEKH;Lo;0;R;;;;;N;;;;; 05E2;HEBREW LETTER AYIN;Lo;0;R;;;;;N;;;;; 05E3;HEBREW LETTER FINAL PE;Lo;0;R;;;;;N;;;;; 05E4;HEBREW LETTER PE;Lo;0;R;;;;;N;;;;; 05E5;HEBREW LETTER FINAL TSADI;Lo;0;R;;;;;N;;;;; 05E6;HEBREW LETTER TSADI;Lo;0;R;;;;;N;;;;; 05E7;HEBREW LETTER QOF;Lo;0;R;;;;;N;;;;; 05E8;HEBREW LETTER RESH;Lo;0;R;;;;;N;;;;; 05E9;HEBREW LETTER SHIN;Lo;0;R;;;;;N;;;;; 05EA;HEBREW LETTER TAV;Lo;0;R;;;;;N;;;;; 05F0;HEBREW LIGATURE YIDDISH DOUBLE VAV;Lo;0;R;;;;;N;HEBREW LETTER DOUBLE VAV;;;; 05F1;HEBREW LIGATURE YIDDISH VAV YOD;Lo;0;R;;;;;N;HEBREW LETTER VAV YOD;;;; 05F2;HEBREW LIGATURE YIDDISH DOUBLE YOD;Lo;0;R;;;;;N;HEBREW LETTER DOUBLE YOD;;;; 05F3;HEBREW PUNCTUATION GERESH;Po;0;R;;;;;N;;;;; 05F4;HEBREW PUNCTUATION GERSHAYIM;Po;0;R;;;;;N;;;;; 060C;ARABIC COMMA;Po;0;CS;;;;;N;;;;; 061B;ARABIC SEMICOLON;Po;0;R;;;;;N;;;;; 061F;ARABIC QUESTION MARK;Po;0;R;;;;;N;;;;; 0621;ARABIC LETTER HAMZA;Lo;0;R;;;;;N;ARABIC LETTER HAMZAH;;;; 0622;ARABIC LETTER ALEF WITH MADDA ABOVE;Lo;0;R;;;;;N;ARABIC LETTER MADDAH ON ALEF;;;; 0623;ARABIC LETTER ALEF WITH HAMZA ABOVE;Lo;0;R;;;;;N;ARABIC LETTER HAMZAH ON ALEF;;;; 0624;ARABIC LETTER WAW WITH HAMZA ABOVE;Lo;0;R;;;;;N;ARABIC LETTER HAMZAH ON WAW;;;; 0625;ARABIC LETTER ALEF WITH HAMZA BELOW;Lo;0;R;;;;;N;ARABIC LETTER HAMZAH UNDER ALEF;;;; 0626;ARABIC LETTER YEH WITH HAMZA ABOVE;Lo;0;R;;;;;N;ARABIC LETTER HAMZAH ON YA;;;; 0627;ARABIC LETTER ALEF;Lo;0;R;;;;;N;;;;; 0628;ARABIC LETTER BEH;Lo;0;R;;;;;N;ARABIC LETTER BAA;;;; 0629;ARABIC LETTER TEH MARBUTA;Lo;0;R;;;;;N;ARABIC LETTER TAA MARBUTAH;;;; 062A;ARABIC LETTER TEH;Lo;0;R;;;;;N;ARABIC LETTER TAA;;;; 062B;ARABIC LETTER THEH;Lo;0;R;;;;;N;ARABIC LETTER THAA;;;; 062C;ARABIC LETTER JEEM;Lo;0;R;;;;;N;;;;; 062D;ARABIC LETTER HAH;Lo;0;R;;;;;N;ARABIC LETTER HAA;;;; 062E;ARABIC LETTER KHAH;Lo;0;R;;;;;N;ARABIC LETTER KHAA;;;; 062F;ARABIC LETTER DAL;Lo;0;R;;;;;N;;;;; 0630;ARABIC LETTER THAL;Lo;0;R;;;;;N;;;;; 0631;ARABIC LETTER REH;Lo;0;R;;;;;N;ARABIC LETTER RA;;;; 0632;ARABIC LETTER ZAIN;Lo;0;R;;;;;N;;;;; 0633;ARABIC LETTER SEEN;Lo;0;R;;;;;N;;;;; 0634;ARABIC LETTER SHEEN;Lo;0;R;;;;;N;;;;; 0635;ARABIC LETTER SAD;Lo;0;R;;;;;N;;;;; 0636;ARABIC LETTER DAD;Lo;0;R;;;;;N;;;;; 0637;ARABIC LETTER TAH;Lo;0;R;;;;;N;;;;; 0638;ARABIC LETTER ZAH;Lo;0;R;;;;;N;ARABIC LETTER DHAH;;;; 0639;ARABIC LETTER AIN;Lo;0;R;;;;;N;;;;; 063A;ARABIC LETTER GHAIN;Lo;0;R;;;;;N;;;;; 0640;ARABIC TATWEEL;Lm;0;R;;;;;N;;;;; 0641;ARABIC LETTER FEH;Lo;0;R;;;;;N;ARABIC LETTER FA;;;; 0642;ARABIC LETTER QAF;Lo;0;R;;;;;N;;;;; 0643;ARABIC LETTER KAF;Lo;0;R;;;;;N;ARABIC LETTER CAF;;;; 0644;ARABIC LETTER LAM;Lo;0;R;;;;;N;;;;; 0645;ARABIC LETTER MEEM;Lo;0;R;;;;;N;;;;; 0646;ARABIC LETTER NOON;Lo;0;R;;;;;N;;;;; 0647;ARABIC LETTER HEH;Lo;0;R;;;;;N;ARABIC LETTER HA;;;; 0648;ARABIC LETTER WAW;Lo;0;R;;;;;N;;;;; 0649;ARABIC LETTER ALEF MAKSURA;Lo;0;R;;;;;N;ARABIC LETTER ALEF MAQSURAH;;;; 064A;ARABIC LETTER YEH;Lo;0;R;;;;;N;ARABIC LETTER YA;;;; 064B;ARABIC FATHATAN;Mn;27;ON;;;;;N;;;;; 064C;ARABIC DAMMATAN;Mn;28;ON;;;;;N;;;;; 064D;ARABIC KASRATAN;Mn;29;ON;;;;;N;;;;; 064E;ARABIC FATHA;Mn;30;ON;;;;;N;ARABIC FATHAH;;;; 064F;ARABIC DAMMA;Mn;31;ON;;;;;N;ARABIC DAMMAH;;;; 0650;ARABIC KASRA;Mn;32;ON;;;;;N;ARABIC KASRAH;;;; 0651;ARABIC SHADDA;Mn;33;ON;;;;;N;ARABIC SHADDAH;;;; 0652;ARABIC SUKUN;Mn;34;ON;;;;;N;;;;; 0660;ARABIC-INDIC DIGIT ZERO;Nd;0;AN;;0;0;0;N;;;;; 0661;ARABIC-INDIC DIGIT ONE;Nd;0;AN;;1;1;1;N;;;;; 0662;ARABIC-INDIC DIGIT TWO;Nd;0;AN;;2;2;2;N;;;;; 0663;ARABIC-INDIC DIGIT THREE;Nd;0;AN;;3;3;3;N;;;;; 0664;ARABIC-INDIC DIGIT FOUR;Nd;0;AN;;4;4;4;N;;;;; 0665;ARABIC-INDIC DIGIT FIVE;Nd;0;AN;;5;5;5;N;;;;; 0666;ARABIC-INDIC DIGIT SIX;Nd;0;AN;;6;6;6;N;;;;; 0667;ARABIC-INDIC DIGIT SEVEN;Nd;0;AN;;7;7;7;N;;;;; 0668;ARABIC-INDIC DIGIT EIGHT;Nd;0;AN;;8;8;8;N;;;;; 0669;ARABIC-INDIC DIGIT NINE;Nd;0;AN;;9;9;9;N;;;;; 066A;ARABIC PERCENT SIGN;Po;0;ET;;;;;N;;;;; 066B;ARABIC DECIMAL SEPARATOR;Po;0;AN;;;;;N;;;;; 066C;ARABIC THOUSANDS SEPARATOR;Po;0;AN;;;;;N;;;;; 066D;ARABIC FIVE POINTED STAR;Po;0;R;;;;;N;;;;; 0670;ARABIC LETTER SUPERSCRIPT ALEF;Mn;35;ON;;;;;N;ARABIC ALEF ABOVE;;;; 0671;ARABIC LETTER ALEF WASLA;Lo;0;R;;;;;N;ARABIC LETTER HAMZAT WASL ON ALEF;;;; 0672;ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE;Lo;0;R;;;;;N;ARABIC LETTER WAVY HAMZAH ON ALEF;;;; 0673;ARABIC LETTER ALEF WITH WAVY HAMZA BELOW;Lo;0;R;;;;;N;ARABIC LETTER WAVY HAMZAH UNDER ALEF;;;; 0674;ARABIC LETTER HIGH HAMZA;Lo;0;R;;;;;N;ARABIC LETTER HIGH HAMZAH;;;; 0675;ARABIC LETTER HIGH HAMZA ALEF;Lo;0;R;;;;;N;ARABIC LETTER HIGH HAMZAH ALEF;;;; 0676;ARABIC LETTER HIGH HAMZA WAW;Lo;0;R;;;;;N;ARABIC LETTER HIGH HAMZAH WAW;;;; 0677;ARABIC LETTER U WITH HAMZA ABOVE;Lo;0;R;;;;;N;ARABIC LETTER HIGH HAMZAH WAW WITH DAMMAH;;;; 0678;ARABIC LETTER HIGH HAMZA YEH;Lo;0;R;;;;;N;ARABIC LETTER HIGH HAMZAH YA;;;; 0679;ARABIC LETTER TTEH;Lo;0;R;;;;;N;ARABIC LETTER TAA WITH SMALL TAH;;;; 067A;ARABIC LETTER TTEHEH;Lo;0;R;;;;;N;ARABIC LETTER TAA WITH TWO DOTS VERTICAL ABOVE;;;; 067B;ARABIC LETTER BEEH;Lo;0;R;;;;;N;ARABIC LETTER BAA WITH TWO DOTS VERTICAL BELOW;;;; 067C;ARABIC LETTER TEH WITH RING;Lo;0;R;;;;;N;ARABIC LETTER TAA WITH RING;;;; 067D;ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS;Lo;0;R;;;;;N;ARABIC LETTER TAA WITH THREE DOTS ABOVE DOWNWARD;;;; 067E;ARABIC LETTER PEH;Lo;0;R;;;;;N;ARABIC LETTER TAA WITH THREE DOTS BELOW;;;; 067F;ARABIC LETTER TEHEH;Lo;0;R;;;;;N;ARABIC LETTER TAA WITH FOUR DOTS ABOVE;;;; 0680;ARABIC LETTER BEHEH;Lo;0;R;;;;;N;ARABIC LETTER BAA WITH FOUR DOTS BELOW;;;; 0681;ARABIC LETTER HAH WITH HAMZA ABOVE;Lo;0;R;;;;;N;ARABIC LETTER HAMZAH ON HAA;;;; 0682;ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE;Lo;0;R;;;;;N;ARABIC LETTER HAA WITH TWO DOTS VERTICAL ABOVE;;;; 0683;ARABIC LETTER NYEH;Lo;0;R;;;;;N;ARABIC LETTER HAA WITH MIDDLE TWO DOTS;;;; 0684;ARABIC LETTER DYEH;Lo;0;R;;;;;N;ARABIC LETTER HAA WITH MIDDLE TWO DOTS VERTICAL;;;; 0685;ARABIC LETTER HAH WITH THREE DOTS ABOVE;Lo;0;R;;;;;N;ARABIC LETTER HAA WITH THREE DOTS ABOVE;;;; 0686;ARABIC LETTER TCHEH;Lo;0;R;;;;;N;ARABIC LETTER HAA WITH MIDDLE THREE DOTS DOWNWARD;;;; 0687;ARABIC LETTER TCHEHEH;Lo;0;R;;;;;N;ARABIC LETTER HAA WITH MIDDLE FOUR DOTS;;;; 0688;ARABIC LETTER DDAL;Lo;0;R;;;;;N;ARABIC LETTER DAL WITH SMALL TAH;;;; 0689;ARABIC LETTER DAL WITH RING;Lo;0;R;;;;;N;;;;; 068A;ARABIC LETTER DAL WITH DOT BELOW;Lo;0;R;;;;;N;;;;; 068B;ARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH;Lo;0;R;;;;;N;;;;; 068C;ARABIC LETTER DAHAL;Lo;0;R;;;;;N;ARABIC LETTER DAL WITH TWO DOTS ABOVE;;;; 068D;ARABIC LETTER DDAHAL;Lo;0;R;;;;;N;ARABIC LETTER DAL WITH TWO DOTS BELOW;;;; 068E;ARABIC LETTER DUL;Lo;0;R;;;;;N;ARABIC LETTER DAL WITH THREE DOTS ABOVE;;;; 068F;ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS;Lo;0;R;;;;;N;ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARD;;;; 0690;ARABIC LETTER DAL WITH FOUR DOTS ABOVE;Lo;0;R;;;;;N;;;;; 0691;ARABIC LETTER RREH;Lo;0;R;;;;;N;ARABIC LETTER RA WITH SMALL TAH;;;; 0692;ARABIC LETTER REH WITH SMALL V;Lo;0;R;;;;;N;ARABIC LETTER RA WITH SMALL V;;;; 0693;ARABIC LETTER REH WITH RING;Lo;0;R;;;;;N;ARABIC LETTER RA WITH RING;;;; 0694;ARABIC LETTER REH WITH DOT BELOW;Lo;0;R;;;;;N;ARABIC LETTER RA WITH DOT BELOW;;;; 0695;ARABIC LETTER REH WITH SMALL V BELOW;Lo;0;R;;;;;N;ARABIC LETTER RA WITH SMALL V BELOW;;;; 0696;ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE;Lo;0;R;;;;;N;ARABIC LETTER RA WITH DOT BELOW AND DOT ABOVE;;;; 0697;ARABIC LETTER REH WITH TWO DOTS ABOVE;Lo;0;R;;;;;N;ARABIC LETTER RA WITH TWO DOTS ABOVE;;;; 0698;ARABIC LETTER JEH;Lo;0;R;;;;;N;ARABIC LETTER RA WITH THREE DOTS ABOVE;;;; 0699;ARABIC LETTER REH WITH FOUR DOTS ABOVE;Lo;0;R;;;;;N;ARABIC LETTER RA WITH FOUR DOTS ABOVE;;;; 069A;ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE;Lo;0;R;;;;;N;;;;; 069B;ARABIC LETTER SEEN WITH THREE DOTS BELOW;Lo;0;R;;;;;N;;;;; 069C;ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE;Lo;0;R;;;;;N;;;;; 069D;ARABIC LETTER SAD WITH TWO DOTS BELOW;Lo;0;R;;;;;N;;;;; 069E;ARABIC LETTER SAD WITH THREE DOTS ABOVE;Lo;0;R;;;;;N;;;;; 069F;ARABIC LETTER TAH WITH THREE DOTS ABOVE;Lo;0;R;;;;;N;;;;; 06A0;ARABIC LETTER AIN WITH THREE DOTS ABOVE;Lo;0;R;;;;;N;;;;; 06A1;ARABIC LETTER DOTLESS FEH;Lo;0;R;;;;;N;ARABIC LETTER DOTLESS FA;;;; 06A2;ARABIC LETTER FEH WITH DOT MOVED BELOW;Lo;0;R;;;;;N;ARABIC LETTER FA WITH DOT MOVED BELOW;;;; 06A3;ARABIC LETTER FEH WITH DOT BELOW;Lo;0;R;;;;;N;ARABIC LETTER FA WITH DOT BELOW;;;; 06A4;ARABIC LETTER VEH;Lo;0;R;;;;;N;ARABIC LETTER FA WITH THREE DOTS ABOVE;;;; 06A5;ARABIC LETTER FEH WITH THREE DOTS BELOW;Lo;0;R;;;;;N;ARABIC LETTER FA WITH THREE DOTS BELOW;;;; 06A6;ARABIC LETTER PEHEH;Lo;0;R;;;;;N;ARABIC LETTER FA WITH FOUR DOTS ABOVE;;;; 06A7;ARABIC LETTER QAF WITH DOT ABOVE;Lo;0;R;;;;;N;;;;; 06A8;ARABIC LETTER QAF WITH THREE DOTS ABOVE;Lo;0;R;;;;;N;;;;; 06A9;ARABIC LETTER KEHEH;Lo;0;R;;;;;N;ARABIC LETTER OPEN CAF;;;; 06AA;ARABIC LETTER SWASH KAF;Lo;0;R;;;;;N;ARABIC LETTER SWASH CAF;;;; 06AB;ARABIC LETTER KAF WITH RING;Lo;0;R;;;;;N;ARABIC LETTER CAF WITH RING;;;; 06AC;ARABIC LETTER KAF WITH DOT ABOVE;Lo;0;R;;;;;N;ARABIC LETTER CAF WITH DOT ABOVE;;;; 06AD;ARABIC LETTER NG;Lo;0;R;;;;;N;ARABIC LETTER CAF WITH THREE DOTS ABOVE;;;; 06AE;ARABIC LETTER KAF WITH THREE DOTS BELOW;Lo;0;R;;;;;N;ARABIC LETTER CAF WITH THREE DOTS BELOW;;;; 06AF;ARABIC LETTER GAF;Lo;0;R;;;;;N;;;;; 06B0;ARABIC LETTER GAF WITH RING;Lo;0;R;;;;;N;;;;; 06B1;ARABIC LETTER NGOEH;Lo;0;R;;;;;N;ARABIC LETTER GAF WITH TWO DOTS ABOVE;;;; 06B2;ARABIC LETTER GAF WITH TWO DOTS BELOW;Lo;0;R;;;;;N;;;;; 06B3;ARABIC LETTER GUEH;Lo;0;R;;;;;N;ARABIC LETTER GAF WITH TWO DOTS VERTICAL BELOW;;;; 06B4;ARABIC LETTER GAF WITH THREE DOTS ABOVE;Lo;0;R;;;;;N;;;;; 06B5;ARABIC LETTER LAM WITH SMALL V;Lo;0;R;;;;;N;;;;; 06B6;ARABIC LETTER LAM WITH DOT ABOVE;Lo;0;R;;;;;N;;;;; 06B7;ARABIC LETTER LAM WITH THREE DOTS ABOVE;Lo;0;R;;;;;N;;;;; 06BA;ARABIC LETTER NOON GHUNNA;Lo;0;R;;;;;N;ARABIC LETTER DOTLESS NOON;;;; 06BB;ARABIC LETTER RNOON;Lo;0;R;;;;;N;ARABIC LETTER DOTLESS NOON WITH SMALL TAH;;;; 06BC;ARABIC LETTER NOON WITH RING;Lo;0;R;;;;;N;;;;; 06BD;ARABIC LETTER NOON WITH THREE DOTS ABOVE;Lo;0;R;;;;;N;;;;; 06BE;ARABIC LETTER HEH DOACHASHMEE;Lo;0;R;;;;;N;ARABIC LETTER KNOTTED HA;;;; 06C0;ARABIC LETTER HEH WITH YEH ABOVE;Lo;0;R;;;;;N;ARABIC LETTER HAMZAH ON HA;;;; 06C1;ARABIC LETTER HEH GOAL;Lo;0;R;;;;;N;ARABIC LETTER HA GOAL;;;; 06C2;ARABIC LETTER HEH GOAL WITH HAMZA ABOVE;Lo;0;R;;;;;N;ARABIC LETTER HAMZAH ON HA GOAL;;;; 06C3;ARABIC LETTER TEH MARBUTA GOAL;Lo;0;R;;;;;N;ARABIC LETTER TAA MARBUTAH GOAL;;;; 06C4;ARABIC LETTER WAW WITH RING;Lo;0;R;;;;;N;;;;; 06C5;ARABIC LETTER KIRGHIZ OE;Lo;0;R;;;;;N;ARABIC LETTER WAW WITH BAR;;;; 06C6;ARABIC LETTER OE;Lo;0;R;;;;;N;ARABIC LETTER WAW WITH SMALL V;;;; 06C7;ARABIC LETTER U;Lo;0;R;;;;;N;ARABIC LETTER WAW WITH DAMMAH;;;; 06C8;ARABIC LETTER YU;Lo;0;R;;;;;N;ARABIC LETTER WAW WITH ALEF ABOVE;;;; 06C9;ARABIC LETTER KIRGHIZ YU;Lo;0;R;;;;;N;ARABIC LETTER WAW WITH INVERTED SMALL V;;;; 06CA;ARABIC LETTER WAW WITH TWO DOTS ABOVE;Lo;0;R;;;;;N;;;;; 06CB;ARABIC LETTER VE;Lo;0;R;;;;;N;ARABIC LETTER WAW WITH THREE DOTS ABOVE;;;; 06CC;ARABIC LETTER FARSI YEH;Lo;0;R;;;;;N;ARABIC LETTER DOTLESS YA;;;; 06CD;ARABIC LETTER YEH WITH TAIL;Lo;0;R;;;;;N;ARABIC LETTER YA WITH TAIL;;;; 06CE;ARABIC LETTER YEH WITH SMALL V;Lo;0;R;;;;;N;ARABIC LETTER YA WITH SMALL V;;;; 06D0;ARABIC LETTER E;Lo;0;R;;;;;N;ARABIC LETTER YA WITH TWO DOTS VERTICAL BELOW;;;; 06D1;ARABIC LETTER YEH WITH THREE DOTS BELOW;Lo;0;R;;;;;N;ARABIC LETTER YA WITH THREE DOTS BELOW;;;; 06D2;ARABIC LETTER YEH BARREE;Lo;0;R;;;;;N;ARABIC LETTER YA BARREE;;;; 06D3;ARABIC LETTER YEH BARREE WITH HAMZA ABOVE;Lo;0;R;;;;;N;ARABIC LETTER HAMZAH ON YA BARREE;;;; 06D4;ARABIC FULL STOP;Po;0;R;;;;;N;ARABIC PERIOD;;;; 06D5;ARABIC LETTER AE;Lo;0;R;;;;;N;;;;; 06D6;ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA;Mn;230;ON;;;;;N;;;;; 06D7;ARABIC SMALL HIGH LIGATURE QAF WITH LAM WITH ALEF MAKSURA;Mn;230;ON;;;;;N;;;;; 06D8;ARABIC SMALL HIGH MEEM INITIAL FORM;Mn;230;ON;;;;;N;;;;; 06D9;ARABIC SMALL HIGH LAM ALEF;Mn;230;ON;;;;;N;;;;; 06DA;ARABIC SMALL HIGH JEEM;Mn;230;ON;;;;;N;;;;; 06DB;ARABIC SMALL HIGH THREE DOTS;Mn;230;ON;;;;;N;;;;; 06DC;ARABIC SMALL HIGH SEEN;Mn;230;ON;;;;;N;;;;; 06DD;ARABIC END OF AYAH;Me;0;ON;;;;;N;;;;; 06DE;ARABIC START OF RUB EL HIZB;Me;0;ON;;;;;N;;;;; 06DF;ARABIC SMALL HIGH ROUNDED ZERO;Mn;230;ON;;;;;N;;;;; 06E0;ARABIC SMALL HIGH UPRIGHT RECTANGULAR ZERO;Mn;230;ON;;;;;N;;;;; 06E1;ARABIC SMALL HIGH DOTLESS HEAD OF KHAH;Mn;230;ON;;;;;N;;;;; 06E2;ARABIC SMALL HIGH MEEM ISOLATED FORM;Mn;230;ON;;;;;N;;;;; 06E3;ARABIC SMALL LOW SEEN;Mn;220;ON;;;;;N;;;;; 06E4;ARABIC SMALL HIGH MADDA;Mn;230;ON;;;;;N;;;;; 06E5;ARABIC SMALL WAW;Lm;0;R;;;;;N;;;;; 06E6;ARABIC SMALL YEH;Lm;0;R;;;;;N;;;;; 06E7;ARABIC SMALL HIGH YEH;Mn;230;ON;;;;;N;;;;; 06E8;ARABIC SMALL HIGH NOON;Mn;230;ON;;;;;N;;;;; 06E9;ARABIC PLACE OF SAJDAH;So;0;ON;;;;;N;;;;; 06EA;ARABIC EMPTY CENTRE LOW STOP;Mn;220;ON;;;;;N;;;;; 06EB;ARABIC EMPTY CENTRE HIGH STOP;Mn;230;ON;;;;;N;;;;; 06EC;ARABIC ROUNDED HIGH STOP WITH FILLED CENTRE;Mn;230;ON;;;;;N;;;;; 06ED;ARABIC SMALL LOW MEEM;Mn;220;ON;;;;;N;;;;; 06F0;EXTENDED ARABIC-INDIC DIGIT ZERO;Nd;0;EN;;0;0;0;N;EASTERN ARABIC-INDIC DIGIT ZERO;;;; 06F1;EXTENDED ARABIC-INDIC DIGIT ONE;Nd;0;EN;;1;1;1;N;EASTERN ARABIC-INDIC DIGIT ONE;;;; 06F2;EXTENDED ARABIC-INDIC DIGIT TWO;Nd;0;EN;;2;2;2;N;EASTERN ARABIC-INDIC DIGIT TWO;;;; 06F3;EXTENDED ARABIC-INDIC DIGIT THREE;Nd;0;EN;;3;3;3;N;EASTERN ARABIC-INDIC DIGIT THREE;;;; 06F4;EXTENDED ARABIC-INDIC DIGIT FOUR;Nd;0;EN;;4;4;4;N;EASTERN ARABIC-INDIC DIGIT FOUR;;;; 06F5;EXTENDED ARABIC-INDIC DIGIT FIVE;Nd;0;EN;;5;5;5;N;EASTERN ARABIC-INDIC DIGIT FIVE;;;; 06F6;EXTENDED ARABIC-INDIC DIGIT SIX;Nd;0;EN;;6;6;6;N;EASTERN ARABIC-INDIC DIGIT SIX;;;; 06F7;EXTENDED ARABIC-INDIC DIGIT SEVEN;Nd;0;EN;;7;7;7;N;EASTERN ARABIC-INDIC DIGIT SEVEN;;;; 06F8;EXTENDED ARABIC-INDIC DIGIT EIGHT;Nd;0;EN;;8;8;8;N;EASTERN ARABIC-INDIC DIGIT EIGHT;;;; 06F9;EXTENDED ARABIC-INDIC DIGIT NINE;Nd;0;EN;;9;9;9;N;EASTERN ARABIC-INDIC DIGIT NINE;;;; 0901;DEVANAGARI SIGN CANDRABINDU;Mn;0;ON;;;;;N;;;;; 0902;DEVANAGARI SIGN ANUSVARA;Mn;0;ON;;;;;N;;;;; 0903;DEVANAGARI SIGN VISARGA;Mc;0;L;;;;;N;;;;; 0905;DEVANAGARI LETTER A;Lo;0;L;;;;;N;;;;; 0906;DEVANAGARI LETTER AA;Lo;0;L;;;;;N;;;;; 0907;DEVANAGARI LETTER I;Lo;0;L;;;;;N;;;;; 0908;DEVANAGARI LETTER II;Lo;0;L;;;;;N;;;;; 0909;DEVANAGARI LETTER U;Lo;0;L;;;;;N;;;;; 090A;DEVANAGARI LETTER UU;Lo;0;L;;;;;N;;;;; 090B;DEVANAGARI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; 090C;DEVANAGARI LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; 090D;DEVANAGARI LETTER CANDRA E;Lo;0;L;;;;;N;;;;; 090E;DEVANAGARI LETTER SHORT E;Lo;0;L;;;;;N;;;;; 090F;DEVANAGARI LETTER E;Lo;0;L;;;;;N;;;;; 0910;DEVANAGARI LETTER AI;Lo;0;L;;;;;N;;;;; 0911;DEVANAGARI LETTER CANDRA O;Lo;0;L;;;;;N;;;;; 0912;DEVANAGARI LETTER SHORT O;Lo;0;L;;;;;N;;;;; 0913;DEVANAGARI LETTER O;Lo;0;L;;;;;N;;;;; 0914;DEVANAGARI LETTER AU;Lo;0;L;;;;;N;;;;; 0915;DEVANAGARI LETTER KA;Lo;0;L;;;;;N;;;;; 0916;DEVANAGARI LETTER KHA;Lo;0;L;;;;;N;;;;; 0917;DEVANAGARI LETTER GA;Lo;0;L;;;;;N;;;;; 0918;DEVANAGARI LETTER GHA;Lo;0;L;;;;;N;;;;; 0919;DEVANAGARI LETTER NGA;Lo;0;L;;;;;N;;;;; 091A;DEVANAGARI LETTER CA;Lo;0;L;;;;;N;;;;; 091B;DEVANAGARI LETTER CHA;Lo;0;L;;;;;N;;;;; 091C;DEVANAGARI LETTER JA;Lo;0;L;;;;;N;;;;; 091D;DEVANAGARI LETTER JHA;Lo;0;L;;;;;N;;;;; 091E;DEVANAGARI LETTER NYA;Lo;0;L;;;;;N;;;;; 091F;DEVANAGARI LETTER TTA;Lo;0;L;;;;;N;;;;; 0920;DEVANAGARI LETTER TTHA;Lo;0;L;;;;;N;;;;; 0921;DEVANAGARI LETTER DDA;Lo;0;L;;;;;N;;;;; 0922;DEVANAGARI LETTER DDHA;Lo;0;L;;;;;N;;;;; 0923;DEVANAGARI LETTER NNA;Lo;0;L;;;;;N;;;;; 0924;DEVANAGARI LETTER TA;Lo;0;L;;;;;N;;;;; 0925;DEVANAGARI LETTER THA;Lo;0;L;;;;;N;;;;; 0926;DEVANAGARI LETTER DA;Lo;0;L;;;;;N;;;;; 0927;DEVANAGARI LETTER DHA;Lo;0;L;;;;;N;;;;; 0928;DEVANAGARI LETTER NA;Lo;0;L;;;;;N;;;;; 0929;DEVANAGARI LETTER NNNA;Lo;0;L;0928 093C;;;;N;;;;; 092A;DEVANAGARI LETTER PA;Lo;0;L;;;;;N;;;;; 092B;DEVANAGARI LETTER PHA;Lo;0;L;;;;;N;;;;; 092C;DEVANAGARI LETTER BA;Lo;0;L;;;;;N;;;;; 092D;DEVANAGARI LETTER BHA;Lo;0;L;;;;;N;;;;; 092E;DEVANAGARI LETTER MA;Lo;0;L;;;;;N;;;;; 092F;DEVANAGARI LETTER YA;Lo;0;L;;;;;N;;;;; 0930;DEVANAGARI LETTER RA;Lo;0;L;;;;;N;;;;; 0931;DEVANAGARI LETTER RRA;Lo;0;L;0930 093C;;;;N;;;;; 0932;DEVANAGARI LETTER LA;Lo;0;L;;;;;N;;;;; 0933;DEVANAGARI LETTER LLA;Lo;0;L;;;;;N;;;;; 0934;DEVANAGARI LETTER LLLA;Lo;0;L;0933 093C;;;;N;;;;; 0935;DEVANAGARI LETTER VA;Lo;0;L;;;;;N;;;;; 0936;DEVANAGARI LETTER SHA;Lo;0;L;;;;;N;;;;; 0937;DEVANAGARI LETTER SSA;Lo;0;L;;;;;N;;;;; 0938;DEVANAGARI LETTER SA;Lo;0;L;;;;;N;;;;; 0939;DEVANAGARI LETTER HA;Lo;0;L;;;;;N;;;;; 093C;DEVANAGARI SIGN NUKTA;Mn;7;ON;;;;;N;;;;; 093D;DEVANAGARI SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;; 093E;DEVANAGARI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; 093F;DEVANAGARI VOWEL SIGN I;Mc;0;L;;;;;N;;;;; 0940;DEVANAGARI VOWEL SIGN II;Mc;0;L;;;;;N;;;;; 0941;DEVANAGARI VOWEL SIGN U;Mn;0;ON;;;;;N;;;;; 0942;DEVANAGARI VOWEL SIGN UU;Mn;0;ON;;;;;N;;;;; 0943;DEVANAGARI VOWEL SIGN VOCALIC R;Mn;0;ON;;;;;N;;;;; 0944;DEVANAGARI VOWEL SIGN VOCALIC RR;Mn;0;ON;;;;;N;;;;; 0945;DEVANAGARI VOWEL SIGN CANDRA E;Mn;0;ON;;;;;N;;;;; 0946;DEVANAGARI VOWEL SIGN SHORT E;Mn;0;ON;;;;;N;;;;; 0947;DEVANAGARI VOWEL SIGN E;Mn;0;ON;;;;;N;;;;; 0948;DEVANAGARI VOWEL SIGN AI;Mn;0;ON;;;;;N;;;;; 0949;DEVANAGARI VOWEL SIGN CANDRA O;Mc;0;L;;;;;N;;;;; 094A;DEVANAGARI VOWEL SIGN SHORT O;Mc;0;L;;;;;N;;;;; 094B;DEVANAGARI VOWEL SIGN O;Mc;0;L;;;;;N;;;;; 094C;DEVANAGARI VOWEL SIGN AU;Mc;0;L;;;;;N;;;;; 094D;DEVANAGARI SIGN VIRAMA;Mn;9;ON;;;;;N;;;;; 0950;DEVANAGARI OM;Lo;0;L;;;;;N;;;;; 0951;DEVANAGARI STRESS SIGN UDATTA;Mn;230;ON;;;;;N;;;;; 0952;DEVANAGARI STRESS SIGN ANUDATTA;Mn;220;ON;;;;;N;;;;; 0953;DEVANAGARI GRAVE ACCENT;Mn;230;ON;;;;;N;;;;; 0954;DEVANAGARI ACUTE ACCENT;Mn;230;ON;;;;;N;;;;; 0958;DEVANAGARI LETTER QA;Lo;0;L;0915 093C;;;;N;;;;; 0959;DEVANAGARI LETTER KHHA;Lo;0;L;0916 093C;;;;N;;;;; 095A;DEVANAGARI LETTER GHHA;Lo;0;L;0917 093C;;;;N;;;;; 095B;DEVANAGARI LETTER ZA;Lo;0;L;091C 093C;;;;N;;;;; 095C;DEVANAGARI LETTER DDDHA;Lo;0;L;0921 093C;;;;N;;;;; 095D;DEVANAGARI LETTER RHA;Lo;0;L;0922 093C;;;;N;;;;; 095E;DEVANAGARI LETTER FA;Lo;0;L;092B 093C;;;;N;;;;; 095F;DEVANAGARI LETTER YYA;Lo;0;L;092F 093C;;;;N;;;;; 0960;DEVANAGARI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; 0961;DEVANAGARI LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; 0962;DEVANAGARI VOWEL SIGN VOCALIC L;Mn;0;ON;;;;;N;;;;; 0963;DEVANAGARI VOWEL SIGN VOCALIC LL;Mn;0;ON;;;;;N;;;;; 0964;DEVANAGARI DANDA;Po;0;L;;;;;N;;;;; 0965;DEVANAGARI DOUBLE DANDA;Po;0;L;;;;;N;;;;; 0966;DEVANAGARI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 0967;DEVANAGARI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0968;DEVANAGARI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0969;DEVANAGARI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 096A;DEVANAGARI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 096B;DEVANAGARI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 096C;DEVANAGARI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 096D;DEVANAGARI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 096E;DEVANAGARI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 096F;DEVANAGARI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0970;DEVANAGARI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;; 0981;BENGALI SIGN CANDRABINDU;Mn;0;ON;;;;;N;;;;; 0982;BENGALI SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; 0983;BENGALI SIGN VISARGA;Mc;0;L;;;;;N;;;;; 0985;BENGALI LETTER A;Lo;0;L;;;;;N;;;;; 0986;BENGALI LETTER AA;Lo;0;L;;;;;N;;;;; 0987;BENGALI LETTER I;Lo;0;L;;;;;N;;;;; 0988;BENGALI LETTER II;Lo;0;L;;;;;N;;;;; 0989;BENGALI LETTER U;Lo;0;L;;;;;N;;;;; 098A;BENGALI LETTER UU;Lo;0;L;;;;;N;;;;; 098B;BENGALI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; 098C;BENGALI LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; 098F;BENGALI LETTER E;Lo;0;L;;;;;N;;;;; 0990;BENGALI LETTER AI;Lo;0;L;;;;;N;;;;; 0993;BENGALI LETTER O;Lo;0;L;;;;;N;;;;; 0994;BENGALI LETTER AU;Lo;0;L;;;;;N;;;;; 0995;BENGALI LETTER KA;Lo;0;L;;;;;N;;;;; 0996;BENGALI LETTER KHA;Lo;0;L;;;;;N;;;;; 0997;BENGALI LETTER GA;Lo;0;L;;;;;N;;;;; 0998;BENGALI LETTER GHA;Lo;0;L;;;;;N;;;;; 0999;BENGALI LETTER NGA;Lo;0;L;;;;;N;;;;; 099A;BENGALI LETTER CA;Lo;0;L;;;;;N;;;;; 099B;BENGALI LETTER CHA;Lo;0;L;;;;;N;;;;; 099C;BENGALI LETTER JA;Lo;0;L;;;;;N;;;;; 099D;BENGALI LETTER JHA;Lo;0;L;;;;;N;;;;; 099E;BENGALI LETTER NYA;Lo;0;L;;;;;N;;;;; 099F;BENGALI LETTER TTA;Lo;0;L;;;;;N;;;;; 09A0;BENGALI LETTER TTHA;Lo;0;L;;;;;N;;;;; 09A1;BENGALI LETTER DDA;Lo;0;L;;;;;N;;;;; 09A2;BENGALI LETTER DDHA;Lo;0;L;;;;;N;;;;; 09A3;BENGALI LETTER NNA;Lo;0;L;;;;;N;;;;; 09A4;BENGALI LETTER TA;Lo;0;L;;;;;N;;;;; 09A5;BENGALI LETTER THA;Lo;0;L;;;;;N;;;;; 09A6;BENGALI LETTER DA;Lo;0;L;;;;;N;;;;; 09A7;BENGALI LETTER DHA;Lo;0;L;;;;;N;;;;; 09A8;BENGALI LETTER NA;Lo;0;L;;;;;N;;;;; 09AA;BENGALI LETTER PA;Lo;0;L;;;;;N;;;;; 09AB;BENGALI LETTER PHA;Lo;0;L;;;;;N;;;;; 09AC;BENGALI LETTER BA;Lo;0;L;;;;;N;;;;; 09AD;BENGALI LETTER BHA;Lo;0;L;;;;;N;;;;; 09AE;BENGALI LETTER MA;Lo;0;L;;;;;N;;;;; 09AF;BENGALI LETTER YA;Lo;0;L;;;;;N;;;;; 09B0;BENGALI LETTER RA;Lo;0;L;09AC 09BC;;;;N;;;;; 09B2;BENGALI LETTER LA;Lo;0;L;;;;;N;;;;; 09B6;BENGALI LETTER SHA;Lo;0;L;;;;;N;;;;; 09B7;BENGALI LETTER SSA;Lo;0;L;;;;;N;;;;; 09B8;BENGALI LETTER SA;Lo;0;L;;;;;N;;;;; 09B9;BENGALI LETTER HA;Lo;0;L;;;;;N;;;;; 09BC;BENGALI SIGN NUKTA;Mn;7;ON;;;;;N;;;;; 09BE;BENGALI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; 09BF;BENGALI VOWEL SIGN I;Mc;0;L;;;;;N;;;;; 09C0;BENGALI VOWEL SIGN II;Mc;0;L;;;;;N;;;;; 09C1;BENGALI VOWEL SIGN U;Mn;0;ON;;;;;N;;;;; 09C2;BENGALI VOWEL SIGN UU;Mn;0;ON;;;;;N;;;;; 09C3;BENGALI VOWEL SIGN VOCALIC R;Mn;0;ON;;;;;N;;;;; 09C4;BENGALI VOWEL SIGN VOCALIC RR;Mn;0;ON;;;;;N;;;;; 09C7;BENGALI VOWEL SIGN E;Mc;0;L;;;;;N;;;;; 09C8;BENGALI VOWEL SIGN AI;Mc;0;L;;;;;N;;;;; 09CB;BENGALI VOWEL SIGN O;Mc;0;L;09C7 09BE;;;;N;;;;; 09CC;BENGALI VOWEL SIGN AU;Mc;0;L;09C7 09D7;;;;N;;;;; 09CD;BENGALI SIGN VIRAMA;Mn;9;ON;;;;;N;;;;; 09D7;BENGALI AU LENGTH MARK;Mc;0;L;;;;;N;;;;; 09DC;BENGALI LETTER RRA;Lo;0;L;09A1 09BC;;;;N;;;;; 09DD;BENGALI LETTER RHA;Lo;0;L;09A2 09BC;;;;N;;;;; 09DF;BENGALI LETTER YYA;Lo;0;L;09AF 09BC;;;;N;;;;; 09E0;BENGALI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; 09E1;BENGALI LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; 09E2;BENGALI VOWEL SIGN VOCALIC L;Mn;0;ON;;;;;N;;;;; 09E3;BENGALI VOWEL SIGN VOCALIC LL;Mn;0;ON;;;;;N;;;;; 09E6;BENGALI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 09E7;BENGALI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 09E8;BENGALI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 09E9;BENGALI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 09EA;BENGALI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 09EB;BENGALI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 09EC;BENGALI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 09ED;BENGALI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 09EE;BENGALI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 09EF;BENGALI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 09F0;BENGALI LETTER RA WITH MIDDLE DIAGONAL;Lo;0;L;;;;;N;;Assamese;;; 09F1;BENGALI LETTER RA WITH LOWER DIAGONAL;Lo;0;L;;;;;N;BENGALI LETTER VA WITH LOWER DIAGONAL;Assamese;;; 09F2;BENGALI RUPEE MARK;Sc;0;ET;;;;;N;;;;; 09F3;BENGALI RUPEE SIGN;Sc;0;ET;;;;;N;;;;; 09F4;BENGALI CURRENCY NUMERATOR ONE;No;0;L;;;;1;N;;;;; 09F5;BENGALI CURRENCY NUMERATOR TWO;No;0;L;;;;2;N;;;;; 09F6;BENGALI CURRENCY NUMERATOR THREE;No;0;L;;;;3;N;;;;; 09F7;BENGALI CURRENCY NUMERATOR FOUR;No;0;L;;;;4;N;;;;; 09F8;BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR;No;0;L;;;;-1;N;;;;; 09F9;BENGALI CURRENCY DENOMINATOR SIXTEEN;No;0;L;;;;16;N;;;;; 09FA;BENGALI ISSHAR;So;0;L;;;;;N;;;;; 0A02;GURMUKHI SIGN BINDI;Mn;0;ON;;;;;N;;;;; 0A05;GURMUKHI LETTER A;Lo;0;L;;;;;N;;;;; 0A06;GURMUKHI LETTER AA;Lo;0;L;;;;;N;;;;; 0A07;GURMUKHI LETTER I;Lo;0;L;;;;;N;;;;; 0A08;GURMUKHI LETTER II;Lo;0;L;;;;;N;;;;; 0A09;GURMUKHI LETTER U;Lo;0;L;;;;;N;;;;; 0A0A;GURMUKHI LETTER UU;Lo;0;L;;;;;N;;;;; 0A0F;GURMUKHI LETTER EE;Lo;0;L;;;;;N;;;;; 0A10;GURMUKHI LETTER AI;Lo;0;L;;;;;N;;;;; 0A13;GURMUKHI LETTER OO;Lo;0;L;;;;;N;;;;; 0A14;GURMUKHI LETTER AU;Lo;0;L;;;;;N;;;;; 0A15;GURMUKHI LETTER KA;Lo;0;L;;;;;N;;;;; 0A16;GURMUKHI LETTER KHA;Lo;0;L;;;;;N;;;;; 0A17;GURMUKHI LETTER GA;Lo;0;L;;;;;N;;;;; 0A18;GURMUKHI LETTER GHA;Lo;0;L;;;;;N;;;;; 0A19;GURMUKHI LETTER NGA;Lo;0;L;;;;;N;;;;; 0A1A;GURMUKHI LETTER CA;Lo;0;L;;;;;N;;;;; 0A1B;GURMUKHI LETTER CHA;Lo;0;L;;;;;N;;;;; 0A1C;GURMUKHI LETTER JA;Lo;0;L;;;;;N;;;;; 0A1D;GURMUKHI LETTER JHA;Lo;0;L;;;;;N;;;;; 0A1E;GURMUKHI LETTER NYA;Lo;0;L;;;;;N;;;;; 0A1F;GURMUKHI LETTER TTA;Lo;0;L;;;;;N;;;;; 0A20;GURMUKHI LETTER TTHA;Lo;0;L;;;;;N;;;;; 0A21;GURMUKHI LETTER DDA;Lo;0;L;;;;;N;;;;; 0A22;GURMUKHI LETTER DDHA;Lo;0;L;;;;;N;;;;; 0A23;GURMUKHI LETTER NNA;Lo;0;L;;;;;N;;;;; 0A24;GURMUKHI LETTER TA;Lo;0;L;;;;;N;;;;; 0A25;GURMUKHI LETTER THA;Lo;0;L;;;;;N;;;;; 0A26;GURMUKHI LETTER DA;Lo;0;L;;;;;N;;;;; 0A27;GURMUKHI LETTER DHA;Lo;0;L;;;;;N;;;;; 0A28;GURMUKHI LETTER NA;Lo;0;L;;;;;N;;;;; 0A2A;GURMUKHI LETTER PA;Lo;0;L;;;;;N;;;;; 0A2B;GURMUKHI LETTER PHA;Lo;0;L;;;;;N;;;;; 0A2C;GURMUKHI LETTER BA;Lo;0;L;;;;;N;;;;; 0A2D;GURMUKHI LETTER BHA;Lo;0;L;;;;;N;;;;; 0A2E;GURMUKHI LETTER MA;Lo;0;L;;;;;N;;;;; 0A2F;GURMUKHI LETTER YA;Lo;0;L;;;;;N;;;;; 0A30;GURMUKHI LETTER RA;Lo;0;L;;;;;N;;;;; 0A32;GURMUKHI LETTER LA;Lo;0;L;;;;;N;;;;; 0A33;GURMUKHI LETTER LLA;Lo;0;L;;;;;N;;;;; 0A35;GURMUKHI LETTER VA;Lo;0;L;;;;;N;;;;; 0A36;GURMUKHI LETTER SHA;Lo;0;L;;;;;N;;;;; 0A38;GURMUKHI LETTER SA;Lo;0;L;;;;;N;;;;; 0A39;GURMUKHI LETTER HA;Lo;0;L;;;;;N;;;;; 0A3C;GURMUKHI SIGN NUKTA;Mn;7;ON;;;;;N;;;;; 0A3E;GURMUKHI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; 0A3F;GURMUKHI VOWEL SIGN I;Mc;0;L;;;;;N;;;;; 0A40;GURMUKHI VOWEL SIGN II;Mc;0;L;;;;;N;;;;; 0A41;GURMUKHI VOWEL SIGN U;Mn;0;ON;;;;;N;;;;; 0A42;GURMUKHI VOWEL SIGN UU;Mn;0;ON;;;;;N;;;;; 0A47;GURMUKHI VOWEL SIGN EE;Mn;0;ON;;;;;N;;;;; 0A48;GURMUKHI VOWEL SIGN AI;Mn;0;ON;;;;;N;;;;; 0A4B;GURMUKHI VOWEL SIGN OO;Mn;0;ON;;;;;N;;;;; 0A4C;GURMUKHI VOWEL SIGN AU;Mn;0;ON;;;;;N;;;;; 0A4D;GURMUKHI SIGN VIRAMA;Mn;9;ON;;;;;N;;;;; 0A59;GURMUKHI LETTER KHHA;Lo;0;L;0A16 0A3C;;;;N;;;;; 0A5A;GURMUKHI LETTER GHHA;Lo;0;L;0A17 0A3C;;;;N;;;;; 0A5B;GURMUKHI LETTER ZA;Lo;0;L;0A1C 0A3C;;;;N;;;;; 0A5C;GURMUKHI LETTER RRA;Lo;0;L;0A21 0A3C;;;;N;;;;; 0A5E;GURMUKHI LETTER FA;Lo;0;L;0A2B 0A3C;;;;N;;;;; 0A66;GURMUKHI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 0A67;GURMUKHI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0A68;GURMUKHI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0A69;GURMUKHI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 0A6A;GURMUKHI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 0A6B;GURMUKHI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 0A6C;GURMUKHI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 0A6D;GURMUKHI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 0A6E;GURMUKHI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 0A6F;GURMUKHI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0A70;GURMUKHI TIPPI;Mn;0;ON;;;;;N;;;;; 0A71;GURMUKHI ADDAK;Mn;0;ON;;;;;N;;;;; 0A72;GURMUKHI IRI;Lo;0;L;;;;;N;;;;; 0A73;GURMUKHI URA;Lo;0;L;;;;;N;;;;; 0A74;GURMUKHI EK ONKAR;Lo;0;L;;;;;N;;;;; 0A81;GUJARATI SIGN CANDRABINDU;Mn;0;ON;;;;;N;;;;; 0A82;GUJARATI SIGN ANUSVARA;Mn;0;ON;;;;;N;;;;; 0A83;GUJARATI SIGN VISARGA;Mc;0;L;;;;;N;;;;; 0A85;GUJARATI LETTER A;Lo;0;L;;;;;N;;;;; 0A86;GUJARATI LETTER AA;Lo;0;L;;;;;N;;;;; 0A87;GUJARATI LETTER I;Lo;0;L;;;;;N;;;;; 0A88;GUJARATI LETTER II;Lo;0;L;;;;;N;;;;; 0A89;GUJARATI LETTER U;Lo;0;L;;;;;N;;;;; 0A8A;GUJARATI LETTER UU;Lo;0;L;;;;;N;;;;; 0A8B;GUJARATI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; 0A8D;GUJARATI VOWEL CANDRA E;Lo;0;L;;;;;N;;;;; 0A8F;GUJARATI LETTER E;Lo;0;L;;;;;N;;;;; 0A90;GUJARATI LETTER AI;Lo;0;L;;;;;N;;;;; 0A91;GUJARATI VOWEL CANDRA O;Lo;0;L;;;;;N;;;;; 0A93;GUJARATI LETTER O;Lo;0;L;;;;;N;;;;; 0A94;GUJARATI LETTER AU;Lo;0;L;;;;;N;;;;; 0A95;GUJARATI LETTER KA;Lo;0;L;;;;;N;;;;; 0A96;GUJARATI LETTER KHA;Lo;0;L;;;;;N;;;;; 0A97;GUJARATI LETTER GA;Lo;0;L;;;;;N;;;;; 0A98;GUJARATI LETTER GHA;Lo;0;L;;;;;N;;;;; 0A99;GUJARATI LETTER NGA;Lo;0;L;;;;;N;;;;; 0A9A;GUJARATI LETTER CA;Lo;0;L;;;;;N;;;;; 0A9B;GUJARATI LETTER CHA;Lo;0;L;;;;;N;;;;; 0A9C;GUJARATI LETTER JA;Lo;0;L;;;;;N;;;;; 0A9D;GUJARATI LETTER JHA;Lo;0;L;;;;;N;;;;; 0A9E;GUJARATI LETTER NYA;Lo;0;L;;;;;N;;;;; 0A9F;GUJARATI LETTER TTA;Lo;0;L;;;;;N;;;;; 0AA0;GUJARATI LETTER TTHA;Lo;0;L;;;;;N;;;;; 0AA1;GUJARATI LETTER DDA;Lo;0;L;;;;;N;;;;; 0AA2;GUJARATI LETTER DDHA;Lo;0;L;;;;;N;;;;; 0AA3;GUJARATI LETTER NNA;Lo;0;L;;;;;N;;;;; 0AA4;GUJARATI LETTER TA;Lo;0;L;;;;;N;;;;; 0AA5;GUJARATI LETTER THA;Lo;0;L;;;;;N;;;;; 0AA6;GUJARATI LETTER DA;Lo;0;L;;;;;N;;;;; 0AA7;GUJARATI LETTER DHA;Lo;0;L;;;;;N;;;;; 0AA8;GUJARATI LETTER NA;Lo;0;L;;;;;N;;;;; 0AAA;GUJARATI LETTER PA;Lo;0;L;;;;;N;;;;; 0AAB;GUJARATI LETTER PHA;Lo;0;L;;;;;N;;;;; 0AAC;GUJARATI LETTER BA;Lo;0;L;;;;;N;;;;; 0AAD;GUJARATI LETTER BHA;Lo;0;L;;;;;N;;;;; 0AAE;GUJARATI LETTER MA;Lo;0;L;;;;;N;;;;; 0AAF;GUJARATI LETTER YA;Lo;0;L;;;;;N;;;;; 0AB0;GUJARATI LETTER RA;Lo;0;L;;;;;N;;;;; 0AB2;GUJARATI LETTER LA;Lo;0;L;;;;;N;;;;; 0AB3;GUJARATI LETTER LLA;Lo;0;L;;;;;N;;;;; 0AB5;GUJARATI LETTER VA;Lo;0;L;;;;;N;;;;; 0AB6;GUJARATI LETTER SHA;Lo;0;L;;;;;N;;;;; 0AB7;GUJARATI LETTER SSA;Lo;0;L;;;;;N;;;;; 0AB8;GUJARATI LETTER SA;Lo;0;L;;;;;N;;;;; 0AB9;GUJARATI LETTER HA;Lo;0;L;;;;;N;;;;; 0ABC;GUJARATI SIGN NUKTA;Mn;7;ON;;;;;N;;;;; 0ABD;GUJARATI SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;; 0ABE;GUJARATI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; 0ABF;GUJARATI VOWEL SIGN I;Mc;0;L;;;;;N;;;;; 0AC0;GUJARATI VOWEL SIGN II;Mc;0;L;;;;;N;;;;; 0AC1;GUJARATI VOWEL SIGN U;Mn;0;ON;;;;;N;;;;; 0AC2;GUJARATI VOWEL SIGN UU;Mn;0;ON;;;;;N;;;;; 0AC3;GUJARATI VOWEL SIGN VOCALIC R;Mn;0;ON;;;;;N;;;;; 0AC4;GUJARATI VOWEL SIGN VOCALIC RR;Mn;0;ON;;;;;N;;;;; 0AC5;GUJARATI VOWEL SIGN CANDRA E;Mn;0;ON;;;;;N;;;;; 0AC7;GUJARATI VOWEL SIGN E;Mn;0;ON;;;;;N;;;;; 0AC8;GUJARATI VOWEL SIGN AI;Mn;0;ON;;;;;N;;;;; 0AC9;GUJARATI VOWEL SIGN CANDRA O;Mc;0;L;;;;;N;;;;; 0ACB;GUJARATI VOWEL SIGN O;Mc;0;L;;;;;N;;;;; 0ACC;GUJARATI VOWEL SIGN AU;Mc;0;L;;;;;N;;;;; 0ACD;GUJARATI SIGN VIRAMA;Mn;9;ON;;;;;N;;;;; 0AD0;GUJARATI OM;Lo;0;L;;;;;N;;;;; 0AE0;GUJARATI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; 0AE6;GUJARATI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 0AE7;GUJARATI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0AE8;GUJARATI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0AE9;GUJARATI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 0AEA;GUJARATI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 0AEB;GUJARATI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 0AEC;GUJARATI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 0AED;GUJARATI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 0AEE;GUJARATI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 0AEF;GUJARATI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0B01;ORIYA SIGN CANDRABINDU;Mn;0;ON;;;;;N;;;;; 0B02;ORIYA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; 0B03;ORIYA SIGN VISARGA;Mc;0;L;;;;;N;;;;; 0B05;ORIYA LETTER A;Lo;0;L;;;;;N;;;;; 0B06;ORIYA LETTER AA;Lo;0;L;;;;;N;;;;; 0B07;ORIYA LETTER I;Lo;0;L;;;;;N;;;;; 0B08;ORIYA LETTER II;Lo;0;L;;;;;N;;;;; 0B09;ORIYA LETTER U;Lo;0;L;;;;;N;;;;; 0B0A;ORIYA LETTER UU;Lo;0;L;;;;;N;;;;; 0B0B;ORIYA LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; 0B0C;ORIYA LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; 0B0F;ORIYA LETTER E;Lo;0;L;;;;;N;;;;; 0B10;ORIYA LETTER AI;Lo;0;L;;;;;N;;;;; 0B13;ORIYA LETTER O;Lo;0;L;;;;;N;;;;; 0B14;ORIYA LETTER AU;Lo;0;L;;;;;N;;;;; 0B15;ORIYA LETTER KA;Lo;0;L;;;;;N;;;;; 0B16;ORIYA LETTER KHA;Lo;0;L;;;;;N;;;;; 0B17;ORIYA LETTER GA;Lo;0;L;;;;;N;;;;; 0B18;ORIYA LETTER GHA;Lo;0;L;;;;;N;;;;; 0B19;ORIYA LETTER NGA;Lo;0;L;;;;;N;;;;; 0B1A;ORIYA LETTER CA;Lo;0;L;;;;;N;;;;; 0B1B;ORIYA LETTER CHA;Lo;0;L;;;;;N;;;;; 0B1C;ORIYA LETTER JA;Lo;0;L;;;;;N;;;;; 0B1D;ORIYA LETTER JHA;Lo;0;L;;;;;N;;;;; 0B1E;ORIYA LETTER NYA;Lo;0;L;;;;;N;;;;; 0B1F;ORIYA LETTER TTA;Lo;0;L;;;;;N;;;;; 0B20;ORIYA LETTER TTHA;Lo;0;L;;;;;N;;;;; 0B21;ORIYA LETTER DDA;Lo;0;L;;;;;N;;;;; 0B22;ORIYA LETTER DDHA;Lo;0;L;;;;;N;;;;; 0B23;ORIYA LETTER NNA;Lo;0;L;;;;;N;;;;; 0B24;ORIYA LETTER TA;Lo;0;L;;;;;N;;;;; 0B25;ORIYA LETTER THA;Lo;0;L;;;;;N;;;;; 0B26;ORIYA LETTER DA;Lo;0;L;;;;;N;;;;; 0B27;ORIYA LETTER DHA;Lo;0;L;;;;;N;;;;; 0B28;ORIYA LETTER NA;Lo;0;L;;;;;N;;;;; 0B2A;ORIYA LETTER PA;Lo;0;L;;;;;N;;;;; 0B2B;ORIYA LETTER PHA;Lo;0;L;;;;;N;;;;; 0B2C;ORIYA LETTER BA;Lo;0;L;;;;;N;;;;; 0B2D;ORIYA LETTER BHA;Lo;0;L;;;;;N;;;;; 0B2E;ORIYA LETTER MA;Lo;0;L;;;;;N;;;;; 0B2F;ORIYA LETTER YA;Lo;0;L;;;;;N;;;;; 0B30;ORIYA LETTER RA;Lo;0;L;;;;;N;;;;; 0B32;ORIYA LETTER LA;Lo;0;L;;;;;N;;;;; 0B33;ORIYA LETTER LLA;Lo;0;L;;;;;N;;;;; 0B36;ORIYA LETTER SHA;Lo;0;L;;;;;N;;;;; 0B37;ORIYA LETTER SSA;Lo;0;L;;;;;N;;;;; 0B38;ORIYA LETTER SA;Lo;0;L;;;;;N;;;;; 0B39;ORIYA LETTER HA;Lo;0;L;;;;;N;;;;; 0B3C;ORIYA SIGN NUKTA;Mn;7;ON;;;;;N;;;;; 0B3D;ORIYA SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;; 0B3E;ORIYA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; 0B3F;ORIYA VOWEL SIGN I;Mn;0;ON;;;;;N;;;;; 0B40;ORIYA VOWEL SIGN II;Mc;0;L;;;;;N;;;;; 0B41;ORIYA VOWEL SIGN U;Mn;0;ON;;;;;N;;;;; 0B42;ORIYA VOWEL SIGN UU;Mn;0;ON;;;;;N;;;;; 0B43;ORIYA VOWEL SIGN VOCALIC R;Mn;0;ON;;;;;N;;;;; 0B47;ORIYA VOWEL SIGN E;Mc;0;L;;;;;N;;;;; 0B48;ORIYA VOWEL SIGN AI;Mc;0;L;0B47 0B56;;;;N;;;;; 0B4B;ORIYA VOWEL SIGN O;Mc;0;L;0B47 0B3E;;;;N;;;;; 0B4C;ORIYA VOWEL SIGN AU;Mc;0;L;0B47 0B57;;;;N;;;;; 0B4D;ORIYA SIGN VIRAMA;Mn;9;ON;;;;;N;;;;; 0B56;ORIYA AI LENGTH MARK;Mn;0;ON;;;;;N;;;;; 0B57;ORIYA AU LENGTH MARK;Mc;0;L;;;;;N;;;;; 0B5C;ORIYA LETTER RRA;Lo;0;L;0B21 0B3C;;;;N;;;;; 0B5D;ORIYA LETTER RHA;Lo;0;L;0B22 0B3C;;;;N;;;;; 0B5F;ORIYA LETTER YYA;Lo;0;L;0B2F 0B3C;;;;N;;;;; 0B60;ORIYA LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; 0B61;ORIYA LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; 0B66;ORIYA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 0B67;ORIYA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0B68;ORIYA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0B69;ORIYA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 0B6A;ORIYA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 0B6B;ORIYA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 0B6C;ORIYA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 0B6D;ORIYA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 0B6E;ORIYA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 0B6F;ORIYA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0B70;ORIYA ISSHAR;So;0;L;;;;;N;;;;; 0B82;TAMIL SIGN ANUSVARA;Mn;0;ON;;;;;N;;;;; 0B83;TAMIL SIGN VISARGA;Mc;0;L;;;;;N;;;;; 0B85;TAMIL LETTER A;Lo;0;L;;;;;N;;;;; 0B86;TAMIL LETTER AA;Lo;0;L;;;;;N;;;;; 0B87;TAMIL LETTER I;Lo;0;L;;;;;N;;;;; 0B88;TAMIL LETTER II;Lo;0;L;;;;;N;;;;; 0B89;TAMIL LETTER U;Lo;0;L;;;;;N;;;;; 0B8A;TAMIL LETTER UU;Lo;0;L;;;;;N;;;;; 0B8E;TAMIL LETTER E;Lo;0;L;;;;;N;;;;; 0B8F;TAMIL LETTER EE;Lo;0;L;;;;;N;;;;; 0B90;TAMIL LETTER AI;Lo;0;L;;;;;N;;;;; 0B92;TAMIL LETTER O;Lo;0;L;;;;;N;;;;; 0B93;TAMIL LETTER OO;Lo;0;L;;;;;N;;;;; 0B94;TAMIL LETTER AU;Lo;0;L;0B92 0BD7;;;;N;;;;; 0B95;TAMIL LETTER KA;Lo;0;L;;;;;N;;;;; 0B99;TAMIL LETTER NGA;Lo;0;L;;;;;N;;;;; 0B9A;TAMIL LETTER CA;Lo;0;L;;;;;N;;;;; 0B9C;TAMIL LETTER JA;Lo;0;L;;;;;N;;;;; 0B9E;TAMIL LETTER NYA;Lo;0;L;;;;;N;;;;; 0B9F;TAMIL LETTER TTA;Lo;0;L;;;;;N;;;;; 0BA3;TAMIL LETTER NNA;Lo;0;L;;;;;N;;;;; 0BA4;TAMIL LETTER TA;Lo;0;L;;;;;N;;;;; 0BA8;TAMIL LETTER NA;Lo;0;L;;;;;N;;;;; 0BA9;TAMIL LETTER NNNA;Lo;0;L;;;;;N;;;;; 0BAA;TAMIL LETTER PA;Lo;0;L;;;;;N;;;;; 0BAE;TAMIL LETTER MA;Lo;0;L;;;;;N;;;;; 0BAF;TAMIL LETTER YA;Lo;0;L;;;;;N;;;;; 0BB0;TAMIL LETTER RA;Lo;0;L;;;;;N;;;;; 0BB1;TAMIL LETTER RRA;Lo;0;L;;;;;N;;;;; 0BB2;TAMIL LETTER LA;Lo;0;L;;;;;N;;;;; 0BB3;TAMIL LETTER LLA;Lo;0;L;;;;;N;;;;; 0BB4;TAMIL LETTER LLLA;Lo;0;L;;;;;N;;;;; 0BB5;TAMIL LETTER VA;Lo;0;L;;;;;N;;;;; 0BB7;TAMIL LETTER SSA;Lo;0;L;;;;;N;;;;; 0BB8;TAMIL LETTER SA;Lo;0;L;;;;;N;;;;; 0BB9;TAMIL LETTER HA;Lo;0;L;;;;;N;;;;; 0BBE;TAMIL VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; 0BBF;TAMIL VOWEL SIGN I;Mc;0;L;;;;;N;;;;; 0BC0;TAMIL VOWEL SIGN II;Mn;0;ON;;;;;N;;;;; 0BC1;TAMIL VOWEL SIGN U;Mc;0;L;;;;;N;;;;; 0BC2;TAMIL VOWEL SIGN UU;Mc;0;L;;;;;N;;;;; 0BC6;TAMIL VOWEL SIGN E;Mc;0;L;;;;;N;;;;; 0BC7;TAMIL VOWEL SIGN EE;Mc;0;L;;;;;N;;;;; 0BC8;TAMIL VOWEL SIGN AI;Mc;0;L;;;;;N;;;;; 0BCA;TAMIL VOWEL SIGN O;Mc;0;L;0BC6 0BBE;;;;N;;;;; 0BCB;TAMIL VOWEL SIGN OO;Mc;0;L;0BC7 0BBE;;;;N;;;;; 0BCC;TAMIL VOWEL SIGN AU;Mc;0;L;0BC6 0BD7;;;;N;;;;; 0BCD;TAMIL SIGN VIRAMA;Mn;9;ON;;;;;N;;;;; 0BD7;TAMIL AU LENGTH MARK;Mc;0;L;;;;;N;;;;; 0BE7;TAMIL DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0BE8;TAMIL DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0BE9;TAMIL DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 0BEA;TAMIL DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 0BEB;TAMIL DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 0BEC;TAMIL DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 0BED;TAMIL DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 0BEE;TAMIL DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 0BEF;TAMIL DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0BF0;TAMIL NUMBER TEN;No;0;L;;;;10;N;;;;; 0BF1;TAMIL NUMBER ONE HUNDRED;No;0;L;;;;100;N;;;;; 0BF2;TAMIL NUMBER ONE THOUSAND;No;0;L;;;;1000;N;;;;; 0C01;TELUGU SIGN CANDRABINDU;Mc;0;L;;;;;N;;;;; 0C02;TELUGU SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; 0C03;TELUGU SIGN VISARGA;Mc;0;L;;;;;N;;;;; 0C05;TELUGU LETTER A;Lo;0;L;;;;;N;;;;; 0C06;TELUGU LETTER AA;Lo;0;L;;;;;N;;;;; 0C07;TELUGU LETTER I;Lo;0;L;;;;;N;;;;; 0C08;TELUGU LETTER II;Lo;0;L;;;;;N;;;;; 0C09;TELUGU LETTER U;Lo;0;L;;;;;N;;;;; 0C0A;TELUGU LETTER UU;Lo;0;L;;;;;N;;;;; 0C0B;TELUGU LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; 0C0C;TELUGU LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; 0C0E;TELUGU LETTER E;Lo;0;L;;;;;N;;;;; 0C0F;TELUGU LETTER EE;Lo;0;L;;;;;N;;;;; 0C10;TELUGU LETTER AI;Lo;0;L;;;;;N;;;;; 0C12;TELUGU LETTER O;Lo;0;L;;;;;N;;;;; 0C13;TELUGU LETTER OO;Lo;0;L;;;;;N;;;;; 0C14;TELUGU LETTER AU;Lo;0;L;;;;;N;;;;; 0C15;TELUGU LETTER KA;Lo;0;L;;;;;N;;;;; 0C16;TELUGU LETTER KHA;Lo;0;L;;;;;N;;;;; 0C17;TELUGU LETTER GA;Lo;0;L;;;;;N;;;;; 0C18;TELUGU LETTER GHA;Lo;0;L;;;;;N;;;;; 0C19;TELUGU LETTER NGA;Lo;0;L;;;;;N;;;;; 0C1A;TELUGU LETTER CA;Lo;0;L;;;;;N;;;;; 0C1B;TELUGU LETTER CHA;Lo;0;L;;;;;N;;;;; 0C1C;TELUGU LETTER JA;Lo;0;L;;;;;N;;;;; 0C1D;TELUGU LETTER JHA;Lo;0;L;;;;;N;;;;; 0C1E;TELUGU LETTER NYA;Lo;0;L;;;;;N;;;;; 0C1F;TELUGU LETTER TTA;Lo;0;L;;;;;N;;;;; 0C20;TELUGU LETTER TTHA;Lo;0;L;;;;;N;;;;; 0C21;TELUGU LETTER DDA;Lo;0;L;;;;;N;;;;; 0C22;TELUGU LETTER DDHA;Lo;0;L;;;;;N;;;;; 0C23;TELUGU LETTER NNA;Lo;0;L;;;;;N;;;;; 0C24;TELUGU LETTER TA;Lo;0;L;;;;;N;;;;; 0C25;TELUGU LETTER THA;Lo;0;L;;;;;N;;;;; 0C26;TELUGU LETTER DA;Lo;0;L;;;;;N;;;;; 0C27;TELUGU LETTER DHA;Lo;0;L;;;;;N;;;;; 0C28;TELUGU LETTER NA;Lo;0;L;;;;;N;;;;; 0C2A;TELUGU LETTER PA;Lo;0;L;;;;;N;;;;; 0C2B;TELUGU LETTER PHA;Lo;0;L;;;;;N;;;;; 0C2C;TELUGU LETTER BA;Lo;0;L;;;;;N;;;;; 0C2D;TELUGU LETTER BHA;Lo;0;L;;;;;N;;;;; 0C2E;TELUGU LETTER MA;Lo;0;L;;;;;N;;;;; 0C2F;TELUGU LETTER YA;Lo;0;L;;;;;N;;;;; 0C30;TELUGU LETTER RA;Lo;0;L;;;;;N;;;;; 0C31;TELUGU LETTER RRA;Lo;0;L;;;;;N;;;;; 0C32;TELUGU LETTER LA;Lo;0;L;;;;;N;;;;; 0C33;TELUGU LETTER LLA;Lo;0;L;;;;;N;;;;; 0C35;TELUGU LETTER VA;Lo;0;L;;;;;N;;;;; 0C36;TELUGU LETTER SHA;Lo;0;L;;;;;N;;;;; 0C37;TELUGU LETTER SSA;Lo;0;L;;;;;N;;;;; 0C38;TELUGU LETTER SA;Lo;0;L;;;;;N;;;;; 0C39;TELUGU LETTER HA;Lo;0;L;;;;;N;;;;; 0C3E;TELUGU VOWEL SIGN AA;Mn;0;ON;;;;;N;;;;; 0C3F;TELUGU VOWEL SIGN I;Mn;0;ON;;;;;N;;;;; 0C40;TELUGU VOWEL SIGN II;Mn;0;ON;;;;;N;;;;; 0C41;TELUGU VOWEL SIGN U;Mc;0;L;;;;;N;;;;; 0C42;TELUGU VOWEL SIGN UU;Mc;0;L;;;;;N;;;;; 0C43;TELUGU VOWEL SIGN VOCALIC R;Mc;0;L;;;;;N;;;;; 0C44;TELUGU VOWEL SIGN VOCALIC RR;Mc;0;L;;;;;N;;;;; 0C46;TELUGU VOWEL SIGN E;Mn;84;ON;;;;;N;;;;; 0C47;TELUGU VOWEL SIGN EE;Mn;0;ON;;;;;N;;;;; 0C48;TELUGU VOWEL SIGN AI;Mn;0;ON;0C46 0C56;;;;N;;;;; 0C4A;TELUGU VOWEL SIGN O;Mn;0;ON;;;;;N;;;;; 0C4B;TELUGU VOWEL SIGN OO;Mn;0;ON;;;;;N;;;;; 0C4C;TELUGU VOWEL SIGN AU;Mn;0;ON;;;;;N;;;;; 0C4D;TELUGU SIGN VIRAMA;Mn;9;ON;;;;;N;;;;; 0C55;TELUGU LENGTH MARK;Mn;84;ON;;;;;N;;;;; 0C56;TELUGU AI LENGTH MARK;Mn;91;ON;;;;;N;;;;; 0C60;TELUGU LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; 0C61;TELUGU LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; 0C66;TELUGU DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 0C67;TELUGU DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0C68;TELUGU DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0C69;TELUGU DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 0C6A;TELUGU DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 0C6B;TELUGU DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 0C6C;TELUGU DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 0C6D;TELUGU DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 0C6E;TELUGU DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 0C6F;TELUGU DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0C82;KANNADA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; 0C83;KANNADA SIGN VISARGA;Mc;0;L;;;;;N;;;;; 0C85;KANNADA LETTER A;Lo;0;L;;;;;N;;;;; 0C86;KANNADA LETTER AA;Lo;0;L;;;;;N;;;;; 0C87;KANNADA LETTER I;Lo;0;L;;;;;N;;;;; 0C88;KANNADA LETTER II;Lo;0;L;;;;;N;;;;; 0C89;KANNADA LETTER U;Lo;0;L;;;;;N;;;;; 0C8A;KANNADA LETTER UU;Lo;0;L;;;;;N;;;;; 0C8B;KANNADA LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; 0C8C;KANNADA LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; 0C8E;KANNADA LETTER E;Lo;0;L;;;;;N;;;;; 0C8F;KANNADA LETTER EE;Lo;0;L;;;;;N;;;;; 0C90;KANNADA LETTER AI;Lo;0;L;;;;;N;;;;; 0C92;KANNADA LETTER O;Lo;0;L;;;;;N;;;;; 0C93;KANNADA LETTER OO;Lo;0;L;;;;;N;;;;; 0C94;KANNADA LETTER AU;Lo;0;L;;;;;N;;;;; 0C95;KANNADA LETTER KA;Lo;0;L;;;;;N;;;;; 0C96;KANNADA LETTER KHA;Lo;0;L;;;;;N;;;;; 0C97;KANNADA LETTER GA;Lo;0;L;;;;;N;;;;; 0C98;KANNADA LETTER GHA;Lo;0;L;;;;;N;;;;; 0C99;KANNADA LETTER NGA;Lo;0;L;;;;;N;;;;; 0C9A;KANNADA LETTER CA;Lo;0;L;;;;;N;;;;; 0C9B;KANNADA LETTER CHA;Lo;0;L;;;;;N;;;;; 0C9C;KANNADA LETTER JA;Lo;0;L;;;;;N;;;;; 0C9D;KANNADA LETTER JHA;Lo;0;L;;;;;N;;;;; 0C9E;KANNADA LETTER NYA;Lo;0;L;;;;;N;;;;; 0C9F;KANNADA LETTER TTA;Lo;0;L;;;;;N;;;;; 0CA0;KANNADA LETTER TTHA;Lo;0;L;;;;;N;;;;; 0CA1;KANNADA LETTER DDA;Lo;0;L;;;;;N;;;;; 0CA2;KANNADA LETTER DDHA;Lo;0;L;;;;;N;;;;; 0CA3;KANNADA LETTER NNA;Lo;0;L;;;;;N;;;;; 0CA4;KANNADA LETTER TA;Lo;0;L;;;;;N;;;;; 0CA5;KANNADA LETTER THA;Lo;0;L;;;;;N;;;;; 0CA6;KANNADA LETTER DA;Lo;0;L;;;;;N;;;;; 0CA7;KANNADA LETTER DHA;Lo;0;L;;;;;N;;;;; 0CA8;KANNADA LETTER NA;Lo;0;L;;;;;N;;;;; 0CAA;KANNADA LETTER PA;Lo;0;L;;;;;N;;;;; 0CAB;KANNADA LETTER PHA;Lo;0;L;;;;;N;;;;; 0CAC;KANNADA LETTER BA;Lo;0;L;;;;;N;;;;; 0CAD;KANNADA LETTER BHA;Lo;0;L;;;;;N;;;;; 0CAE;KANNADA LETTER MA;Lo;0;L;;;;;N;;;;; 0CAF;KANNADA LETTER YA;Lo;0;L;;;;;N;;;;; 0CB0;KANNADA LETTER RA;Lo;0;L;;;;;N;;;;; 0CB1;KANNADA LETTER RRA;Lo;0;L;;;;;N;;;;; 0CB2;KANNADA LETTER LA;Lo;0;L;;;;;N;;;;; 0CB3;KANNADA LETTER LLA;Lo;0;L;;;;;N;;;;; 0CB5;KANNADA LETTER VA;Lo;0;L;;;;;N;;;;; 0CB6;KANNADA LETTER SHA;Lo;0;L;;;;;N;;;;; 0CB7;KANNADA LETTER SSA;Lo;0;L;;;;;N;;;;; 0CB8;KANNADA LETTER SA;Lo;0;L;;;;;N;;;;; 0CB9;KANNADA LETTER HA;Lo;0;L;;;;;N;;;;; 0CBE;KANNADA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; 0CBF;KANNADA VOWEL SIGN I;Mn;0;ON;;;;;N;;;;; 0CC0;KANNADA VOWEL SIGN II;Mc;0;L;0CBF 0CD5;;;;N;;;;; 0CC1;KANNADA VOWEL SIGN U;Mc;0;L;;;;;N;;;;; 0CC2;KANNADA VOWEL SIGN UU;Mc;0;L;;;;;N;;;;; 0CC3;KANNADA VOWEL SIGN VOCALIC R;Mc;0;L;;;;;N;;;;; 0CC4;KANNADA VOWEL SIGN VOCALIC RR;Mc;0;L;;;;;N;;;;; 0CC6;KANNADA VOWEL SIGN E;Mn;0;ON;;;;;N;;;;; 0CC7;KANNADA VOWEL SIGN EE;Mc;0;L;0CC6 0CD5;;;;N;;;;; 0CC8;KANNADA VOWEL SIGN AI;Mc;0;L;0CC6 0CD6;;;;N;;;;; 0CCA;KANNADA VOWEL SIGN O;Mc;0;L;0CC6 0CC2;;;;N;;;;; 0CCB;KANNADA VOWEL SIGN OO;Mc;0;L;0CCA 0CD5;;;;N;;;;; 0CCC;KANNADA VOWEL SIGN AU;Mn;0;ON;;;;;N;;;;; 0CCD;KANNADA SIGN VIRAMA;Mn;9;ON;;;;;N;;;;; 0CD5;KANNADA LENGTH MARK;Mc;0;L;;;;;N;;;;; 0CD6;KANNADA AI LENGTH MARK;Mc;0;L;;;;;N;;;;; 0CDE;KANNADA LETTER FA;Lo;0;L;;;;;N;;;;; 0CE0;KANNADA LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; 0CE1;KANNADA LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; 0CE6;KANNADA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 0CE7;KANNADA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0CE8;KANNADA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0CE9;KANNADA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 0CEA;KANNADA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 0CEB;KANNADA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 0CEC;KANNADA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 0CED;KANNADA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 0CEE;KANNADA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 0CEF;KANNADA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0D02;MALAYALAM SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; 0D03;MALAYALAM SIGN VISARGA;Mc;0;L;;;;;N;;;;; 0D05;MALAYALAM LETTER A;Lo;0;L;;;;;N;;;;; 0D06;MALAYALAM LETTER AA;Lo;0;L;;;;;N;;;;; 0D07;MALAYALAM LETTER I;Lo;0;L;;;;;N;;;;; 0D08;MALAYALAM LETTER II;Lo;0;L;;;;;N;;;;; 0D09;MALAYALAM LETTER U;Lo;0;L;;;;;N;;;;; 0D0A;MALAYALAM LETTER UU;Lo;0;L;;;;;N;;;;; 0D0B;MALAYALAM LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; 0D0C;MALAYALAM LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; 0D0E;MALAYALAM LETTER E;Lo;0;L;;;;;N;;;;; 0D0F;MALAYALAM LETTER EE;Lo;0;L;;;;;N;;;;; 0D10;MALAYALAM LETTER AI;Lo;0;L;;;;;N;;;;; 0D12;MALAYALAM LETTER O;Lo;0;L;;;;;N;;;;; 0D13;MALAYALAM LETTER OO;Lo;0;L;;;;;N;;;;; 0D14;MALAYALAM LETTER AU;Lo;0;L;;;;;N;;;;; 0D15;MALAYALAM LETTER KA;Lo;0;L;;;;;N;;;;; 0D16;MALAYALAM LETTER KHA;Lo;0;L;;;;;N;;;;; 0D17;MALAYALAM LETTER GA;Lo;0;L;;;;;N;;;;; 0D18;MALAYALAM LETTER GHA;Lo;0;L;;;;;N;;;;; 0D19;MALAYALAM LETTER NGA;Lo;0;L;;;;;N;;;;; 0D1A;MALAYALAM LETTER CA;Lo;0;L;;;;;N;;;;; 0D1B;MALAYALAM LETTER CHA;Lo;0;L;;;;;N;;;;; 0D1C;MALAYALAM LETTER JA;Lo;0;L;;;;;N;;;;; 0D1D;MALAYALAM LETTER JHA;Lo;0;L;;;;;N;;;;; 0D1E;MALAYALAM LETTER NYA;Lo;0;L;;;;;N;;;;; 0D1F;MALAYALAM LETTER TTA;Lo;0;L;;;;;N;;;;; 0D20;MALAYALAM LETTER TTHA;Lo;0;L;;;;;N;;;;; 0D21;MALAYALAM LETTER DDA;Lo;0;L;;;;;N;;;;; 0D22;MALAYALAM LETTER DDHA;Lo;0;L;;;;;N;;;;; 0D23;MALAYALAM LETTER NNA;Lo;0;L;;;;;N;;;;; 0D24;MALAYALAM LETTER TA;Lo;0;L;;;;;N;;;;; 0D25;MALAYALAM LETTER THA;Lo;0;L;;;;;N;;;;; 0D26;MALAYALAM LETTER DA;Lo;0;L;;;;;N;;;;; 0D27;MALAYALAM LETTER DHA;Lo;0;L;;;;;N;;;;; 0D28;MALAYALAM LETTER NA;Lo;0;L;;;;;N;;;;; 0D2A;MALAYALAM LETTER PA;Lo;0;L;;;;;N;;;;; 0D2B;MALAYALAM LETTER PHA;Lo;0;L;;;;;N;;;;; 0D2C;MALAYALAM LETTER BA;Lo;0;L;;;;;N;;;;; 0D2D;MALAYALAM LETTER BHA;Lo;0;L;;;;;N;;;;; 0D2E;MALAYALAM LETTER MA;Lo;0;L;;;;;N;;;;; 0D2F;MALAYALAM LETTER YA;Lo;0;L;;;;;N;;;;; 0D30;MALAYALAM LETTER RA;Lo;0;L;;;;;N;;;;; 0D31;MALAYALAM LETTER RRA;Lo;0;L;;;;;N;;;;; 0D32;MALAYALAM LETTER LA;Lo;0;L;;;;;N;;;;; 0D33;MALAYALAM LETTER LLA;Lo;0;L;;;;;N;;;;; 0D34;MALAYALAM LETTER LLLA;Lo;0;L;;;;;N;;;;; 0D35;MALAYALAM LETTER VA;Lo;0;L;;;;;N;;;;; 0D36;MALAYALAM LETTER SHA;Lo;0;L;;;;;N;;;;; 0D37;MALAYALAM LETTER SSA;Lo;0;L;;;;;N;;;;; 0D38;MALAYALAM LETTER SA;Lo;0;L;;;;;N;;;;; 0D39;MALAYALAM LETTER HA;Lo;0;L;;;;;N;;;;; 0D3E;MALAYALAM VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; 0D3F;MALAYALAM VOWEL SIGN I;Mc;0;L;;;;;N;;;;; 0D40;MALAYALAM VOWEL SIGN II;Mc;0;L;;;;;N;;;;; 0D41;MALAYALAM VOWEL SIGN U;Mn;0;ON;;;;;N;;;;; 0D42;MALAYALAM VOWEL SIGN UU;Mn;0;ON;;;;;N;;;;; 0D43;MALAYALAM VOWEL SIGN VOCALIC R;Mn;0;ON;;;;;N;;;;; 0D46;MALAYALAM VOWEL SIGN E;Mc;0;L;;;;;N;;;;; 0D47;MALAYALAM VOWEL SIGN EE;Mc;0;L;;;;;N;;;;; 0D48;MALAYALAM VOWEL SIGN AI;Mc;0;L;;;;;N;;;;; 0D4A;MALAYALAM VOWEL SIGN O;Mc;0;L;0D46 0D3E;;;;N;;;;; 0D4B;MALAYALAM VOWEL SIGN OO;Mc;0;L;0D47 0D3E;;;;N;;;;; 0D4C;MALAYALAM VOWEL SIGN AU;Mc;0;L;0D46 0D57;;;;N;;;;; 0D4D;MALAYALAM SIGN VIRAMA;Mn;9;ON;;;;;N;;;;; 0D57;MALAYALAM AU LENGTH MARK;Mc;0;L;;;;;N;;;;; 0D60;MALAYALAM LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; 0D61;MALAYALAM LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; 0D66;MALAYALAM DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 0D67;MALAYALAM DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0D68;MALAYALAM DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0D69;MALAYALAM DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 0D6A;MALAYALAM DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 0D6B;MALAYALAM DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 0D6C;MALAYALAM DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 0D6D;MALAYALAM DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 0D6E;MALAYALAM DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 0D6F;MALAYALAM DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0E01;THAI CHARACTER KO KAI;Lo;0;L;;;;;N;THAI LETTER KO KAI;;;; 0E02;THAI CHARACTER KHO KHAI;Lo;0;L;;;;;N;THAI LETTER KHO KHAI;;;; 0E03;THAI CHARACTER KHO KHUAT;Lo;0;L;;;;;N;THAI LETTER KHO KHUAT;;;; 0E04;THAI CHARACTER KHO KHWAI;Lo;0;L;;;;;N;THAI LETTER KHO KHWAI;;;; 0E05;THAI CHARACTER KHO KHON;Lo;0;L;;;;;N;THAI LETTER KHO KHON;;;; 0E06;THAI CHARACTER KHO RAKHANG;Lo;0;L;;;;;N;THAI LETTER KHO RAKHANG;;;; 0E07;THAI CHARACTER NGO NGU;Lo;0;L;;;;;N;THAI LETTER NGO NGU;;;; 0E08;THAI CHARACTER CHO CHAN;Lo;0;L;;;;;N;THAI LETTER CHO CHAN;;;; 0E09;THAI CHARACTER CHO CHING;Lo;0;L;;;;;N;THAI LETTER CHO CHING;;;; 0E0A;THAI CHARACTER CHO CHANG;Lo;0;L;;;;;N;THAI LETTER CHO CHANG;;;; 0E0B;THAI CHARACTER SO SO;Lo;0;L;;;;;N;THAI LETTER SO SO;;;; 0E0C;THAI CHARACTER CHO CHOE;Lo;0;L;;;;;N;THAI LETTER CHO CHOE;;;; 0E0D;THAI CHARACTER YO YING;Lo;0;L;;;;;N;THAI LETTER YO YING;;;; 0E0E;THAI CHARACTER DO CHADA;Lo;0;L;;;;;N;THAI LETTER DO CHADA;;;; 0E0F;THAI CHARACTER TO PATAK;Lo;0;L;;;;;N;THAI LETTER TO PATAK;;;; 0E10;THAI CHARACTER THO THAN;Lo;0;L;;;;;N;THAI LETTER THO THAN;;;; 0E11;THAI CHARACTER THO NANGMONTHO;Lo;0;L;;;;;N;THAI LETTER THO NANGMONTHO;;;; 0E12;THAI CHARACTER THO PHUTHAO;Lo;0;L;;;;;N;THAI LETTER THO PHUTHAO;;;; 0E13;THAI CHARACTER NO NEN;Lo;0;L;;;;;N;THAI LETTER NO NEN;;;; 0E14;THAI CHARACTER DO DEK;Lo;0;L;;;;;N;THAI LETTER DO DEK;;;; 0E15;THAI CHARACTER TO TAO;Lo;0;L;;;;;N;THAI LETTER TO TAO;;;; 0E16;THAI CHARACTER THO THUNG;Lo;0;L;;;;;N;THAI LETTER THO THUNG;;;; 0E17;THAI CHARACTER THO THAHAN;Lo;0;L;;;;;N;THAI LETTER THO THAHAN;;;; 0E18;THAI CHARACTER THO THONG;Lo;0;L;;;;;N;THAI LETTER THO THONG;;;; 0E19;THAI CHARACTER NO NU;Lo;0;L;;;;;N;THAI LETTER NO NU;;;; 0E1A;THAI CHARACTER BO BAIMAI;Lo;0;L;;;;;N;THAI LETTER BO BAIMAI;;;; 0E1B;THAI CHARACTER PO PLA;Lo;0;L;;;;;N;THAI LETTER PO PLA;;;; 0E1C;THAI CHARACTER PHO PHUNG;Lo;0;L;;;;;N;THAI LETTER PHO PHUNG;;;; 0E1D;THAI CHARACTER FO FA;Lo;0;L;;;;;N;THAI LETTER FO FA;;;; 0E1E;THAI CHARACTER PHO PHAN;Lo;0;L;;;;;N;THAI LETTER PHO PHAN;;;; 0E1F;THAI CHARACTER FO FAN;Lo;0;L;;;;;N;THAI LETTER FO FAN;;;; 0E20;THAI CHARACTER PHO SAMPHAO;Lo;0;L;;;;;N;THAI LETTER PHO SAMPHAO;;;; 0E21;THAI CHARACTER MO MA;Lo;0;L;;;;;N;THAI LETTER MO MA;;;; 0E22;THAI CHARACTER YO YAK;Lo;0;L;;;;;N;THAI LETTER YO YAK;;;; 0E23;THAI CHARACTER RO RUA;Lo;0;L;;;;;N;THAI LETTER RO RUA;;;; 0E24;THAI CHARACTER RU;Lo;0;L;;;;;N;THAI LETTER RU;;;; 0E25;THAI CHARACTER LO LING;Lo;0;L;;;;;N;THAI LETTER LO LING;;;; 0E26;THAI CHARACTER LU;Lo;0;L;;;;;N;THAI LETTER LU;;;; 0E27;THAI CHARACTER WO WAEN;Lo;0;L;;;;;N;THAI LETTER WO WAEN;;;; 0E28;THAI CHARACTER SO SALA;Lo;0;L;;;;;N;THAI LETTER SO SALA;;;; 0E29;THAI CHARACTER SO RUSI;Lo;0;L;;;;;N;THAI LETTER SO RUSI;;;; 0E2A;THAI CHARACTER SO SUA;Lo;0;L;;;;;N;THAI LETTER SO SUA;;;; 0E2B;THAI CHARACTER HO HIP;Lo;0;L;;;;;N;THAI LETTER HO HIP;;;; 0E2C;THAI CHARACTER LO CHULA;Lo;0;L;;;;;N;THAI LETTER LO CHULA;;;; 0E2D;THAI CHARACTER O ANG;Lo;0;L;;;;;N;THAI LETTER O ANG;;;; 0E2E;THAI CHARACTER HO NOKHUK;Lo;0;L;;;;;N;THAI LETTER HO NOK HUK;;;; 0E2F;THAI CHARACTER PAIYANNOI;Lo;0;L;;;;;N;THAI PAI YAN NOI;;;; 0E30;THAI CHARACTER SARA A;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA A;;;; 0E31;THAI CHARACTER MAI HAN-AKAT;Mn;0;ON;;;;;N;THAI VOWEL SIGN MAI HAN-AKAT;;;; 0E32;THAI CHARACTER SARA AA;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA AA;;;; 0E33;THAI CHARACTER SARA AM;Lo;0;L;0E4D 0E32;;;;N;THAI VOWEL SIGN SARA AM;;;; 0E34;THAI CHARACTER SARA I;Mn;0;ON;;;;;N;THAI VOWEL SIGN SARA I;;;; 0E35;THAI CHARACTER SARA II;Mn;0;ON;;;;;N;THAI VOWEL SIGN SARA II;;;; 0E36;THAI CHARACTER SARA UE;Mn;0;ON;;;;;N;THAI VOWEL SIGN SARA UE;;;; 0E37;THAI CHARACTER SARA UEE;Mn;0;ON;;;;;N;THAI VOWEL SIGN SARA UEE;;;; 0E38;THAI CHARACTER SARA U;Mn;103;ON;;;;;N;THAI VOWEL SIGN SARA U;;;; 0E39;THAI CHARACTER SARA UU;Mn;103;ON;;;;;N;THAI VOWEL SIGN SARA UU;;;; 0E3A;THAI CHARACTER PHINTHU;Mn;9;ON;;;;;N;THAI VOWEL SIGN PHINTHU;;;; 0E3F;THAI CURRENCY SYMBOL BAHT;Sc;0;ET;;;;;N;THAI BAHT SIGN;;;; 0E40;THAI CHARACTER SARA E;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA E;;;; 0E41;THAI CHARACTER SARA AE;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA AE;;;; 0E42;THAI CHARACTER SARA O;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA O;;;; 0E43;THAI CHARACTER SARA AI MAIMUAN;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA MAI MUAN;;;; 0E44;THAI CHARACTER SARA AI MAIMALAI;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA MAI MALAI;;;; 0E45;THAI CHARACTER LAKKHANGYAO;Lo;0;L;;;;;N;THAI LAK KHANG YAO;;;; 0E46;THAI CHARACTER MAIYAMOK;Lm;0;L;;;;;N;THAI MAI YAMOK;;;; 0E47;THAI CHARACTER MAITAIKHU;Mn;0;ON;;;;;N;THAI VOWEL SIGN MAI TAI KHU;;;; 0E48;THAI CHARACTER MAI EK;Mn;107;ON;;;;;N;THAI TONE MAI EK;;;; 0E49;THAI CHARACTER MAI THO;Mn;107;ON;;;;;N;THAI TONE MAI THO;;;; 0E4A;THAI CHARACTER MAI TRI;Mn;107;ON;;;;;N;THAI TONE MAI TRI;;;; 0E4B;THAI CHARACTER MAI CHATTAWA;Mn;107;ON;;;;;N;THAI TONE MAI CHATTAWA;;;; 0E4C;THAI CHARACTER THANTHAKHAT;Mn;0;ON;;;;;N;THAI THANTHAKHAT;;;; 0E4D;THAI CHARACTER NIKHAHIT;Mn;107;ON;;;;;N;THAI NIKKHAHIT;;;; 0E4E;THAI CHARACTER YAMAKKAN;Mn;0;ON;;;;;N;THAI YAMAKKAN;;;; 0E4F;THAI CHARACTER FONGMAN;So;0;L;;;;;N;THAI FONGMAN;;;; 0E50;THAI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 0E51;THAI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0E52;THAI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0E53;THAI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 0E54;THAI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 0E55;THAI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 0E56;THAI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 0E57;THAI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 0E58;THAI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 0E59;THAI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0E5A;THAI CHARACTER ANGKHANKHU;Po;0;L;;;;;N;THAI ANGKHANKHU;;;; 0E5B;THAI CHARACTER KHOMUT;Po;0;L;;;;;N;THAI KHOMUT;;;; 0E81;LAO LETTER KO;Lo;0;L;;;;;N;;;;; 0E82;LAO LETTER KHO SUNG;Lo;0;L;;;;;N;;;;; 0E84;LAO LETTER KHO TAM;Lo;0;L;;;;;N;;;;; 0E87;LAO LETTER NGO;Lo;0;L;;;;;N;;;;; 0E88;LAO LETTER CO;Lo;0;L;;;;;N;;;;; 0E8A;LAO LETTER SO TAM;Lo;0;L;;;;;N;;;;; 0E8D;LAO LETTER NYO;Lo;0;L;;;;;N;;;;; 0E94;LAO LETTER DO;Lo;0;L;;;;;N;;;;; 0E95;LAO LETTER TO;Lo;0;L;;;;;N;;;;; 0E96;LAO LETTER THO SUNG;Lo;0;L;;;;;N;;;;; 0E97;LAO LETTER THO TAM;Lo;0;L;;;;;N;;;;; 0E99;LAO LETTER NO;Lo;0;L;;;;;N;;;;; 0E9A;LAO LETTER BO;Lo;0;L;;;;;N;;;;; 0E9B;LAO LETTER PO;Lo;0;L;;;;;N;;;;; 0E9C;LAO LETTER PHO SUNG;Lo;0;L;;;;;N;;;;; 0E9D;LAO LETTER FO TAM;Lo;0;L;;;;;N;;;;; 0E9E;LAO LETTER PHO TAM;Lo;0;L;;;;;N;;;;; 0E9F;LAO LETTER FO SUNG;Lo;0;L;;;;;N;;;;; 0EA1;LAO LETTER MO;Lo;0;L;;;;;N;;;;; 0EA2;LAO LETTER YO;Lo;0;L;;;;;N;;;;; 0EA3;LAO LETTER LO LING;Lo;0;L;;;;;N;;;;; 0EA5;LAO LETTER LO LOOT;Lo;0;L;;;;;N;;;;; 0EA7;LAO LETTER WO;Lo;0;L;;;;;N;;;;; 0EAA;LAO LETTER SO SUNG;Lo;0;L;;;;;N;;;;; 0EAB;LAO LETTER HO SUNG;Lo;0;L;;;;;N;;;;; 0EAD;LAO LETTER O;Lo;0;L;;;;;N;;;;; 0EAE;LAO LETTER HO TAM;Lo;0;L;;;;;N;;;;; 0EAF;LAO ELLIPSIS;Lo;0;L;;;;;N;;;;; 0EB0;LAO VOWEL SIGN A;Lo;0;L;;;;;N;;;;; 0EB1;LAO VOWEL SIGN MAI KAN;Mn;0;ON;;;;;N;;;;; 0EB2;LAO VOWEL SIGN AA;Lo;0;L;;;;;N;;;;; 0EB3;LAO VOWEL SIGN AM;Lo;0;L;0ECD 0EB2;;;;N;;;;; 0EB4;LAO VOWEL SIGN I;Mn;0;ON;;;;;N;;;;; 0EB5;LAO VOWEL SIGN II;Mn;0;ON;;;;;N;;;;; 0EB6;LAO VOWEL SIGN Y;Mn;0;ON;;;;;N;;;;; 0EB7;LAO VOWEL SIGN YY;Mn;0;ON;;;;;N;;;;; 0EB8;LAO VOWEL SIGN U;Mn;118;ON;;;;;N;;;;; 0EB9;LAO VOWEL SIGN UU;Mn;118;ON;;;;;N;;;;; 0EBB;LAO VOWEL SIGN MAI KON;Mn;0;ON;;;;;N;;;;; 0EBC;LAO SEMIVOWEL SIGN LO;Mn;0;ON;;;;;N;;;;; 0EBD;LAO SEMIVOWEL SIGN NYO;Lo;0;L;;;;;N;;;;; 0EC0;LAO VOWEL SIGN E;Lo;0;L;;;;;N;;;;; 0EC1;LAO VOWEL SIGN EI;Lo;0;L;;;;;N;;;;; 0EC2;LAO VOWEL SIGN O;Lo;0;L;;;;;N;;;;; 0EC3;LAO VOWEL SIGN AY;Lo;0;L;;;;;N;;;;; 0EC4;LAO VOWEL SIGN AI;Lo;0;L;;;;;N;;;;; 0EC6;LAO KO LA;Lm;0;L;;;;;N;;;;; 0EC8;LAO TONE MAI EK;Mn;122;ON;;;;;N;;;;; 0EC9;LAO TONE MAI THO;Mn;122;ON;;;;;N;;;;; 0ECA;LAO TONE MAI TI;Mn;122;ON;;;;;N;;;;; 0ECB;LAO TONE MAI CATAWA;Mn;122;ON;;;;;N;;;;; 0ECC;LAO CANCELLATION MARK;Mn;0;ON;;;;;N;;;;; 0ECD;LAO NIGGAHITA;Mn;122;ON;;;;;N;;;;; 0ED0;LAO DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 0ED1;LAO DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0ED2;LAO DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0ED3;LAO DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 0ED4;LAO DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 0ED5;LAO DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 0ED6;LAO DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 0ED7;LAO DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 0ED8;LAO DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 0ED9;LAO DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0EDC;LAO HO NO;Lo;0;L; 0EAB 0E99;;;;N;;;;; 0EDD;LAO HO MO;Lo;0;L; 0EAB 0EA1;;;;N;;;;; 0F00;TIBETAN SYLLABLE OM;Lo;0;L;;;;;N;;;;; 0F01;TIBETAN MARK GTER YIG MGO TRUNCATED A;So;0;L;;;;;N;;ter yik go a thung;;; 0F02;TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA;So;0;L;;;;;N;;ter yik go wum nam chey ma;;; 0F03;TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA;So;0;L;;;;;N;;ter yik go wum ter tsek ma;;; 0F04;TIBETAN MARK INITIAL YIG MGO MDUN MA;Po;0;L;;;;;N;;yik go dun ma;;; 0F05;TIBETAN MARK CLOSING YIG MGO SGAB MA;Po;0;L;;;;;N;;yik go kab ma;;; 0F06;TIBETAN MARK CARET YIG MGO PHUR SHAD MA;Po;0;L;;;;;N;;yik go pur shey ma;;; 0F07;TIBETAN MARK YIG MGO TSHEG SHAD MA;Po;0;L;;;;;N;;yik go tsek shey ma;;; 0F08;TIBETAN MARK SBRUL SHAD;Po;0;L;;;;;N;;drul shey;;; 0F09;TIBETAN MARK BSKUR YIG MGO;Po;0;L;;;;;N;;kur yik go;;; 0F0A;TIBETAN MARK BKA- SHOG YIG MGO;Po;0;L;;;;;N;;ka sho yik go;;; 0F0B;TIBETAN MARK INTERSYLLABIC TSHEG;Po;0;L;;;;;N;;tsek;;; 0F0C;TIBETAN MARK DELIMITER TSHEG BSTAR;Po;0;L;;;;;N;;tsek tar;;; 0F0D;TIBETAN MARK SHAD;Po;0;L;;;;;N;;shey;;; 0F0E;TIBETAN MARK NYIS SHAD;Po;0;L;;;;;N;;nyi shey;;; 0F0F;TIBETAN MARK TSHEG SHAD;Po;0;L;;;;;N;;tsek shey;;; 0F10;TIBETAN MARK NYIS TSHEG SHAD;Po;0;L;;;;;N;;nyi tsek shey;;; 0F11;TIBETAN MARK RIN CHEN SPUNGS SHAD;Po;0;L;;;;;N;;rinchen pung shey;;; 0F12;TIBETAN MARK RGYA GRAM SHAD;Po;0;L;;;;;N;;gya tram shey;;; 0F13;TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN;So;0;L;;;;;N;;dzu ta me long chen;;; 0F14;TIBETAN MARK GTER TSHEG;So;0;L;;;;;N;;ter tsek;;; 0F15;TIBETAN LOGOTYPE SIGN CHAD RTAGS;So;0;L;;;;;N;;che ta;;; 0F16;TIBETAN LOGOTYPE SIGN LHAG RTAGS;So;0;L;;;;;N;;hlak ta;;; 0F17;TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS;So;0;L;;;;;N;;trachen char ta;;; 0F18;TIBETAN ASTROLOGICAL SIGN -KHYUD PA;Mn;220;ON;;;;;N;;kyu pa;;; 0F19;TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS;Mn;220;ON;;;;;N;;dong tsu;;; 0F1A;TIBETAN SIGN RDEL DKAR GCIG;So;0;L;;;;;N;;deka chig;;; 0F1B;TIBETAN SIGN RDEL DKAR GNYIS;So;0;L;;;;;N;;deka nyi;;; 0F1C;TIBETAN SIGN RDEL DKAR GSUM;So;0;L;;;;;N;;deka sum;;; 0F1D;TIBETAN SIGN RDEL NAG GCIG;So;0;L;;;;;N;;dena chig;;; 0F1E;TIBETAN SIGN RDEL NAG GNYIS;So;0;L;;;;;N;;dena nyi;;; 0F1F;TIBETAN SIGN RDEL DKAR RDEL NAG;So;0;L;;;;;N;;deka dena;;; 0F20;TIBETAN DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 0F21;TIBETAN DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0F22;TIBETAN DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0F23;TIBETAN DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 0F24;TIBETAN DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 0F25;TIBETAN DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 0F26;TIBETAN DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 0F27;TIBETAN DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 0F28;TIBETAN DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 0F29;TIBETAN DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0F2A;TIBETAN DIGIT HALF ONE;No;0;L;;;;;N;;;;; 0F2B;TIBETAN DIGIT HALF TWO;No;0;L;;;;;N;;;;; 0F2C;TIBETAN DIGIT HALF THREE;No;0;L;;;;;N;;;;; 0F2D;TIBETAN DIGIT HALF FOUR;No;0;L;;;;;N;;;;; 0F2E;TIBETAN DIGIT HALF FIVE;No;0;L;;;;;N;;;;; 0F2F;TIBETAN DIGIT HALF SIX;No;0;L;;;;;N;;;;; 0F30;TIBETAN DIGIT HALF SEVEN;No;0;L;;;;;N;;;;; 0F31;TIBETAN DIGIT HALF EIGHT;No;0;L;;;;;N;;;;; 0F32;TIBETAN DIGIT HALF NINE;No;0;L;;;;;N;;;;; 0F33;TIBETAN DIGIT HALF ZERO;No;0;L;;;;;N;;;;; 0F34;TIBETAN MARK BSDUS RTAGS;So;0;L;;;;;N;;du ta;;; 0F35;TIBETAN MARK NGAS BZUNG NYI ZLA;Mn;230;ON;;;;;N;;nge zung nyi da;;; 0F36;TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN;So;0;L;;;;;N;;dzu ta shi mig chen;;; 0F37;TIBETAN MARK NGAS BZUNG SGOR RTAGS;Mn;230;ON;;;;;N;;nge zung gor ta;;; 0F38;TIBETAN MARK CHE MGO;So;0;L;;;;;N;;che go;;; 0F39;TIBETAN MARK TSA -PHRU;Mn;216;ON;;;;;N;;tsa tru;;; 0F3A;TIBETAN MARK GUG RTAGS GYON;Ps;0;ON;;;;;N;;gug ta yun;;; 0F3B;TIBETAN MARK GUG RTAGS GYAS;Pe;0;ON;;;;;N;;gug ta ye;;; 0F3C;TIBETAN MARK ANG KHANG GYON;Ps;0;ON;;;;;N;;ang kang yun;;; 0F3D;TIBETAN MARK ANG KHANG GYAS;Pe;0;ON;;;;;N;;ang kang ye;;; 0F3E;TIBETAN SIGN YAR TSHES;Mc;0;ON;;;;;N;;yar tse;;; 0F3F;TIBETAN SIGN MAR TSHES;Mc;0;ON;;;;;N;;mar tse;;; 0F40;TIBETAN LETTER KA;Lo;0;L;;;;;N;;;;; 0F41;TIBETAN LETTER KHA;Lo;0;L;;;;;N;;;;; 0F42;TIBETAN LETTER GA;Lo;0;L;;;;;N;;;;; 0F43;TIBETAN LETTER GHA;Lo;0;L;0F42 0FB7;;;;N;;;;; 0F44;TIBETAN LETTER NGA;Lo;0;L;;;;;N;;;;; 0F45;TIBETAN LETTER CA;Lo;0;L;;;;;N;;;;; 0F46;TIBETAN LETTER CHA;Lo;0;L;;;;;N;;;;; 0F47;TIBETAN LETTER JA;Lo;0;L;;;;;N;;;;; 0F49;TIBETAN LETTER NYA;Lo;0;L;;;;;N;;;;; 0F4A;TIBETAN LETTER TTA;Lo;0;L;;;;;N;;;;; 0F4B;TIBETAN LETTER TTHA;Lo;0;L;;;;;N;;;;; 0F4C;TIBETAN LETTER DDA;Lo;0;L;;;;;N;;;;; 0F4D;TIBETAN LETTER DDHA;Lo;0;L;0F4C 0FB7;;;;N;;;;; 0F4E;TIBETAN LETTER NNA;Lo;0;L;;;;;N;;;;; 0F4F;TIBETAN LETTER TA;Lo;0;L;;;;;N;;;;; 0F50;TIBETAN LETTER THA;Lo;0;L;;;;;N;;;;; 0F51;TIBETAN LETTER DA;Lo;0;L;;;;;N;;;;; 0F52;TIBETAN LETTER DHA;Lo;0;L;0F51 0FB7;;;;N;;;;; 0F53;TIBETAN LETTER NA;Lo;0;L;;;;;N;;;;; 0F54;TIBETAN LETTER PA;Lo;0;L;;;;;N;;;;; 0F55;TIBETAN LETTER PHA;Lo;0;L;;;;;N;;;;; 0F56;TIBETAN LETTER BA;Lo;0;L;;;;;N;;;;; 0F57;TIBETAN LETTER BHA;Lo;0;L;0F56 0FB7;;;;N;;;;; 0F58;TIBETAN LETTER MA;Lo;0;L;;;;;N;;;;; 0F59;TIBETAN LETTER TSA;Lo;0;L;;;;;N;;;;; 0F5A;TIBETAN LETTER TSHA;Lo;0;L;;;;;N;;;;; 0F5B;TIBETAN LETTER DZA;Lo;0;L;;;;;N;;;;; 0F5C;TIBETAN LETTER DZHA;Lo;0;L;0F5B 0FB7;;;;N;;;;; 0F5D;TIBETAN LETTER WA;Lo;0;L;;;;;N;;;;; 0F5E;TIBETAN LETTER ZHA;Lo;0;L;;;;;N;;;;; 0F5F;TIBETAN LETTER ZA;Lo;0;L;;;;;N;;;;; 0F60;TIBETAN LETTER -A;Lo;0;L;;;;;N;;;;; 0F61;TIBETAN LETTER YA;Lo;0;L;;;;;N;;;;; 0F62;TIBETAN LETTER RA;Lo;0;L;;;;;N;;;;; 0F63;TIBETAN LETTER LA;Lo;0;L;;;;;N;;;;; 0F64;TIBETAN LETTER SHA;Lo;0;L;;;;;N;;;;; 0F65;TIBETAN LETTER SSA;Lo;0;L;;;;;N;;;;; 0F66;TIBETAN LETTER SA;Lo;0;L;;;;;N;;;;; 0F67;TIBETAN LETTER HA;Lo;0;L;;;;;N;;;;; 0F68;TIBETAN LETTER A;Lo;0;L;;;;;N;;;;; 0F69;TIBETAN LETTER KSSA;Lo;0;L;0F40 0FB5;;;;N;;;;; 0F71;TIBETAN VOWEL SIGN AA;Mn;0;ON;;;;;N;;;;; 0F72;TIBETAN VOWEL SIGN I;Mn;130;ON;;;;;N;;;;; 0F73;TIBETAN VOWEL SIGN II;Mn;0;ON;0F72 0F71;;;;N;;;;; 0F74;TIBETAN VOWEL SIGN U;Mn;132;ON;;;;;N;;;;; 0F75;TIBETAN VOWEL SIGN UU;Mn;0;ON;0F71 0F74;;;;N;;;;; 0F76;TIBETAN VOWEL SIGN VOCALIC R;Mn;0;ON;0FB2 0F80;;;;N;;;;; 0F77;TIBETAN VOWEL SIGN VOCALIC RR;Mn;0;ON;0F76 0F71;;;;N;;;;; 0F78;TIBETAN VOWEL SIGN VOCALIC L;Mn;0;ON;0FB3 0F80;;;;N;;;;; 0F79;TIBETAN VOWEL SIGN VOCALIC LL;Mn;0;ON;0F78 0F71;;;;N;;;;; 0F7A;TIBETAN VOWEL SIGN E;Mn;130;ON;;;;;N;;;;; 0F7B;TIBETAN VOWEL SIGN EE;Mn;130;ON;;;;;N;;;;; 0F7C;TIBETAN VOWEL SIGN O;Mn;130;ON;;;;;N;;;;; 0F7D;TIBETAN VOWEL SIGN OO;Mn;130;ON;;;;;N;;;;; 0F7E;TIBETAN SIGN RJES SU NGA RO;Mn;0;ON;;;;;N;;je su nga ro;;; 0F7F;TIBETAN SIGN RNAM BCAD;Mc;0;L;;;;;N;;nam chey;;; 0F80;TIBETAN VOWEL SIGN REVERSED I;Mn;130;ON;;;;;N;;;;; 0F81;TIBETAN VOWEL SIGN REVERSED II;Mn;0;ON;0F80 0F71;;;;N;;;;; 0F82;TIBETAN SIGN NYI ZLA NAA DA;Mn;230;ON;;;;;N;;nyi da na da;;; 0F83;TIBETAN SIGN SNA LDAN;Mn;230;ON;;;;;N;;nan de;;; 0F84;TIBETAN MARK HALANTA;Mn;9;ON;;;;;N;;;;; 0F85;TIBETAN MARK PALUTA;Po;0;L;;;;;N;;;;; 0F86;TIBETAN SIGN LCI RTAGS;Mn;230;ON;;;;;N;;ji ta;;; 0F87;TIBETAN SIGN YANG RTAGS;Mn;230;ON;;;;;N;;yang ta;;; 0F88;TIBETAN SIGN LCE TSA CAN;Lo;0;L;;;;;N;;che tsa chen;;; 0F89;TIBETAN SIGN MCHU CAN;Lo;0;L;;;;;N;;chu chen;;; 0F8A;TIBETAN SIGN GRU CAN RGYINGS;Lo;0;L;;;;;N;;tru chen ging;;; 0F8B;TIBETAN SIGN GRU MED RGYINGS;Lo;0;L;;;;;N;;tru me ging;;; 0F90;TIBETAN SUBJOINED LETTER KA;Mn;0;ON;;;;;N;;;;; 0F91;TIBETAN SUBJOINED LETTER KHA;Mn;0;ON;;;;;N;;;;; 0F92;TIBETAN SUBJOINED LETTER GA;Mn;0;ON;;;;;N;;;;; 0F93;TIBETAN SUBJOINED LETTER GHA;Mn;0;ON;0F92 0FB7;;;;N;;;;; 0F94;TIBETAN SUBJOINED LETTER NGA;Mn;0;ON;;;;;N;;;;; 0F95;TIBETAN SUBJOINED LETTER CA;Mn;0;ON;;;;;N;;;;; 0F97;TIBETAN SUBJOINED LETTER JA;Mn;0;ON;;;;;N;;;;; 0F99;TIBETAN SUBJOINED LETTER NYA;Mn;0;ON;;;;;N;;;;; 0F9A;TIBETAN SUBJOINED LETTER TTA;Mn;0;ON;;;;;N;;;;; 0F9B;TIBETAN SUBJOINED LETTER TTHA;Mn;0;ON;;;;;N;;;;; 0F9C;TIBETAN SUBJOINED LETTER DDA;Mn;0;ON;;;;;N;;;;; 0F9D;TIBETAN SUBJOINED LETTER DDHA;Mn;0;ON;0F9C 0FB7;;;;N;;;;; 0F9E;TIBETAN SUBJOINED LETTER NNA;Mn;0;ON;;;;;N;;;;; 0F9F;TIBETAN SUBJOINED LETTER TA;Mn;0;ON;;;;;N;;;;; 0FA0;TIBETAN SUBJOINED LETTER THA;Mn;0;ON;;;;;N;;;;; 0FA1;TIBETAN SUBJOINED LETTER DA;Mn;0;ON;;;;;N;;;;; 0FA2;TIBETAN SUBJOINED LETTER DHA;Mn;0;ON;0FA1 0FB7;;;;N;;;;; 0FA3;TIBETAN SUBJOINED LETTER NA;Mn;0;ON;;;;;N;;;;; 0FA4;TIBETAN SUBJOINED LETTER PA;Mn;0;ON;;;;;N;;;;; 0FA5;TIBETAN SUBJOINED LETTER PHA;Mn;0;ON;;;;;N;;;;; 0FA6;TIBETAN SUBJOINED LETTER BA;Mn;0;ON;;;;;N;;;;; 0FA7;TIBETAN SUBJOINED LETTER BHA;Mn;0;ON;0FA6 0FB7;;;;N;;;;; 0FA8;TIBETAN SUBJOINED LETTER MA;Mn;0;ON;;;;;N;;;;; 0FA9;TIBETAN SUBJOINED LETTER TSA;Mn;0;ON;;;;;N;;;;; 0FAA;TIBETAN SUBJOINED LETTER TSHA;Mn;0;ON;;;;;N;;;;; 0FAB;TIBETAN SUBJOINED LETTER DZA;Mn;0;ON;;;;;N;;;;; 0FAC;TIBETAN SUBJOINED LETTER DZHA;Mn;0;ON;0FAB 0FB7;;;;N;;;;; 0FAD;TIBETAN SUBJOINED LETTER WA;Mn;0;ON;;;;;N;;;;; 0FB1;TIBETAN SUBJOINED LETTER YA;Mn;0;ON;;;;;N;;;;; 0FB2;TIBETAN SUBJOINED LETTER RA;Mn;0;ON;;;;;N;;;;; 0FB3;TIBETAN SUBJOINED LETTER LA;Mn;0;ON;;;;;N;;;;; 0FB4;TIBETAN SUBJOINED LETTER SHA;Mn;0;ON;;;;;N;;;;; 0FB5;TIBETAN SUBJOINED LETTER SSA;Mn;0;ON;;;;;N;;;;; 0FB6;TIBETAN SUBJOINED LETTER SA;Mn;0;ON;;;;;N;;;;; 0FB7;TIBETAN SUBJOINED LETTER HA;Mn;0;ON;;;;;N;;;;; 0FB9;TIBETAN SUBJOINED LETTER KSSA;Mn;0;ON;0F90 0FB5;;;;N;;;;; 10A0;GEORGIAN CAPITAL LETTER AN;Lu;0;L;;;;;N;;Khutsuri;;10D0; 10A1;GEORGIAN CAPITAL LETTER BAN;Lu;0;L;;;;;N;;Khutsuri;;10D1; 10A2;GEORGIAN CAPITAL LETTER GAN;Lu;0;L;;;;;N;;Khutsuri;;10D2; 10A3;GEORGIAN CAPITAL LETTER DON;Lu;0;L;;;;;N;;Khutsuri;;10D3; 10A4;GEORGIAN CAPITAL LETTER EN;Lu;0;L;;;;;N;;Khutsuri;;10D4; 10A5;GEORGIAN CAPITAL LETTER VIN;Lu;0;L;;;;;N;;Khutsuri;;10D5; 10A6;GEORGIAN CAPITAL LETTER ZEN;Lu;0;L;;;;;N;;Khutsuri;;10D6; 10A7;GEORGIAN CAPITAL LETTER TAN;Lu;0;L;;;;;N;;Khutsuri;;10D7; 10A8;GEORGIAN CAPITAL LETTER IN;Lu;0;L;;;;;N;;Khutsuri;;10D8; 10A9;GEORGIAN CAPITAL LETTER KAN;Lu;0;L;;;;;N;;Khutsuri;;10D9; 10AA;GEORGIAN CAPITAL LETTER LAS;Lu;0;L;;;;;N;;Khutsuri;;10DA; 10AB;GEORGIAN CAPITAL LETTER MAN;Lu;0;L;;;;;N;;Khutsuri;;10DB; 10AC;GEORGIAN CAPITAL LETTER NAR;Lu;0;L;;;;;N;;Khutsuri;;10DC; 10AD;GEORGIAN CAPITAL LETTER ON;Lu;0;L;;;;;N;;Khutsuri;;10DD; 10AE;GEORGIAN CAPITAL LETTER PAR;Lu;0;L;;;;;N;;Khutsuri;;10DE; 10AF;GEORGIAN CAPITAL LETTER ZHAR;Lu;0;L;;;;;N;;Khutsuri;;10DF; 10B0;GEORGIAN CAPITAL LETTER RAE;Lu;0;L;;;;;N;;Khutsuri;;10E0; 10B1;GEORGIAN CAPITAL LETTER SAN;Lu;0;L;;;;;N;;Khutsuri;;10E1; 10B2;GEORGIAN CAPITAL LETTER TAR;Lu;0;L;;;;;N;;Khutsuri;;10E2; 10B3;GEORGIAN CAPITAL LETTER UN;Lu;0;L;;;;;N;;Khutsuri;;10E3; 10B4;GEORGIAN CAPITAL LETTER PHAR;Lu;0;L;;;;;N;;Khutsuri;;10E4; 10B5;GEORGIAN CAPITAL LETTER KHAR;Lu;0;L;;;;;N;;Khutsuri;;10E5; 10B6;GEORGIAN CAPITAL LETTER GHAN;Lu;0;L;;;;;N;;Khutsuri;;10E6; 10B7;GEORGIAN CAPITAL LETTER QAR;Lu;0;L;;;;;N;;Khutsuri;;10E7; 10B8;GEORGIAN CAPITAL LETTER SHIN;Lu;0;L;;;;;N;;Khutsuri;;10E8; 10B9;GEORGIAN CAPITAL LETTER CHIN;Lu;0;L;;;;;N;;Khutsuri;;10E9; 10BA;GEORGIAN CAPITAL LETTER CAN;Lu;0;L;;;;;N;;Khutsuri;;10EA; 10BB;GEORGIAN CAPITAL LETTER JIL;Lu;0;L;;;;;N;;Khutsuri;;10EB; 10BC;GEORGIAN CAPITAL LETTER CIL;Lu;0;L;;;;;N;;Khutsuri;;10EC; 10BD;GEORGIAN CAPITAL LETTER CHAR;Lu;0;L;;;;;N;;Khutsuri;;10ED; 10BE;GEORGIAN CAPITAL LETTER XAN;Lu;0;L;;;;;N;;Khutsuri;;10EE; 10BF;GEORGIAN CAPITAL LETTER JHAN;Lu;0;L;;;;;N;;Khutsuri;;10EF; 10C0;GEORGIAN CAPITAL LETTER HAE;Lu;0;L;;;;;N;;Khutsuri;;10F0; 10C1;GEORGIAN CAPITAL LETTER HE;Lu;0;L;;;;;N;;Khutsuri;;10F1; 10C2;GEORGIAN CAPITAL LETTER HIE;Lu;0;L;;;;;N;;Khutsuri;;10F2; 10C3;GEORGIAN CAPITAL LETTER WE;Lu;0;L;;;;;N;;Khutsuri;;10F3; 10C4;GEORGIAN CAPITAL LETTER HAR;Lu;0;L;;;;;N;;Khutsuri;;10F4; 10C5;GEORGIAN CAPITAL LETTER HOE;Lu;0;L;;;;;N;;Khutsuri;;10F5; 10D0;GEORGIAN LETTER AN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER AN;;;; 10D1;GEORGIAN LETTER BAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER BAN;;;; 10D2;GEORGIAN LETTER GAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER GAN;;;; 10D3;GEORGIAN LETTER DON;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER DON;;;; 10D4;GEORGIAN LETTER EN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER EN;;;; 10D5;GEORGIAN LETTER VIN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER VIN;;;; 10D6;GEORGIAN LETTER ZEN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER ZEN;;;; 10D7;GEORGIAN LETTER TAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER TAN;;;; 10D8;GEORGIAN LETTER IN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER IN;;;; 10D9;GEORGIAN LETTER KAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER KAN;;;; 10DA;GEORGIAN LETTER LAS;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER LAS;;;; 10DB;GEORGIAN LETTER MAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER MAN;;;; 10DC;GEORGIAN LETTER NAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER NAR;;;; 10DD;GEORGIAN LETTER ON;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER ON;;;; 10DE;GEORGIAN LETTER PAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER PAR;;;; 10DF;GEORGIAN LETTER ZHAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER ZHAR;;;; 10E0;GEORGIAN LETTER RAE;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER RAE;;;; 10E1;GEORGIAN LETTER SAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER SAN;;;; 10E2;GEORGIAN LETTER TAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER TAR;;;; 10E3;GEORGIAN LETTER UN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER UN;;;; 10E4;GEORGIAN LETTER PHAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER PHAR;;;; 10E5;GEORGIAN LETTER KHAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER KHAR;;;; 10E6;GEORGIAN LETTER GHAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER GHAN;;;; 10E7;GEORGIAN LETTER QAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER QAR;;;; 10E8;GEORGIAN LETTER SHIN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER SHIN;;;; 10E9;GEORGIAN LETTER CHIN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER CHIN;;;; 10EA;GEORGIAN LETTER CAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER CAN;;;; 10EB;GEORGIAN LETTER JIL;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER JIL;;;; 10EC;GEORGIAN LETTER CIL;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER CIL;;;; 10ED;GEORGIAN LETTER CHAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER CHAR;;;; 10EE;GEORGIAN LETTER XAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER XAN;;;; 10EF;GEORGIAN LETTER JHAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER JHAN;;;; 10F0;GEORGIAN LETTER HAE;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER HAE;;;; 10F1;GEORGIAN LETTER HE;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER HE;;;; 10F2;GEORGIAN LETTER HIE;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER HIE;;;; 10F3;GEORGIAN LETTER WE;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER WE;;;; 10F4;GEORGIAN LETTER HAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER HAR;;;; 10F5;GEORGIAN LETTER HOE;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER HOE;;;; 10F6;GEORGIAN LETTER FI;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER FI;;;; 10FB;GEORGIAN PARAGRAPH SEPARATOR;Po;0;L;;;;;N;;;;; 1100;HANGUL CHOSEONG KIYEOK;Lo;0;L;;;;;N;;;;; 1101;HANGUL CHOSEONG SSANGKIYEOK;Lo;0;L; 1100 1100;;;;N;;;;; 1102;HANGUL CHOSEONG NIEUN;Lo;0;L;;;;;N;;;;; 1103;HANGUL CHOSEONG TIKEUT;Lo;0;L;;;;;N;;;;; 1104;HANGUL CHOSEONG SSANGTIKEUT;Lo;0;L; 1103 1103;;;;N;;;;; 1105;HANGUL CHOSEONG RIEUL;Lo;0;L;;;;;N;;;;; 1106;HANGUL CHOSEONG MIEUM;Lo;0;L;;;;;N;;;;; 1107;HANGUL CHOSEONG PIEUP;Lo;0;L;;;;;N;;;;; 1108;HANGUL CHOSEONG SSANGPIEUP;Lo;0;L; 1107 1107;;;;N;;;;; 1109;HANGUL CHOSEONG SIOS;Lo;0;L;;;;;N;;;;; 110A;HANGUL CHOSEONG SSANGSIOS;Lo;0;L; 1109 1109;;;;N;;;;; 110B;HANGUL CHOSEONG IEUNG;Lo;0;L;;;;;N;;;;; 110C;HANGUL CHOSEONG CIEUC;Lo;0;L;;;;;N;;;;; 110D;HANGUL CHOSEONG SSANGCIEUC;Lo;0;L; 110C 110C;;;;N;;;;; 110E;HANGUL CHOSEONG CHIEUCH;Lo;0;L;;;;;N;;;;; 110F;HANGUL CHOSEONG KHIEUKH;Lo;0;L;;;;;N;;;;; 1110;HANGUL CHOSEONG THIEUTH;Lo;0;L;;;;;N;;;;; 1111;HANGUL CHOSEONG PHIEUPH;Lo;0;L;;;;;N;;;;; 1112;HANGUL CHOSEONG HIEUH;Lo;0;L;;;;;N;;;;; 1113;HANGUL CHOSEONG NIEUN-KIYEOK;Lo;0;L; 1102 1100;;;;N;;;;; 1114;HANGUL CHOSEONG SSANGNIEUN;Lo;0;L; 1102 1102;;;;N;;;;; 1115;HANGUL CHOSEONG NIEUN-TIKEUT;Lo;0;L; 1102 1103;;;;N;;;;; 1116;HANGUL CHOSEONG NIEUN-PIEUP;Lo;0;L; 1102 1107;;;;N;;;;; 1117;HANGUL CHOSEONG TIKEUT-KIYEOK;Lo;0;L; 1103 1100;;;;N;;;;; 1118;HANGUL CHOSEONG RIEUL-NIEUN;Lo;0;L; 1105 1102;;;;N;;;;; 1119;HANGUL CHOSEONG SSANGRIEUL;Lo;0;L; 1105 1105;;;;N;;;;; 111A;HANGUL CHOSEONG RIEUL-HIEUH;Lo;0;L; 1105 1112;;;;N;;;;; 111B;HANGUL CHOSEONG KAPYEOUNRIEUL;Lo;0;L; 1105 110B;;;;N;;;;; 111C;HANGUL CHOSEONG MIEUM-PIEUP;Lo;0;L; 1106 1107;;;;N;;;;; 111D;HANGUL CHOSEONG KAPYEOUNMIEUM;Lo;0;L; 1106 110B;;;;N;;;;; 111E;HANGUL CHOSEONG PIEUP-KIYEOK;Lo;0;L; 1107 1100;;;;N;;;;; 111F;HANGUL CHOSEONG PIEUP-NIEUN;Lo;0;L; 1107 1102;;;;N;;;;; 1120;HANGUL CHOSEONG PIEUP-TIKEUT;Lo;0;L; 1107 1103;;;;N;;;;; 1121;HANGUL CHOSEONG PIEUP-SIOS;Lo;0;L; 1107 1109;;;;N;;;;; 1122;HANGUL CHOSEONG PIEUP-SIOS-KIYEOK;Lo;0;L; 1107 1109 1100;;;;N;;;;; 1123;HANGUL CHOSEONG PIEUP-SIOS-TIKEUT;Lo;0;L; 1107 1109 1103;;;;N;;;;; 1124;HANGUL CHOSEONG PIEUP-SIOS-PIEUP;Lo;0;L; 1107 1109 1107;;;;N;;;;; 1125;HANGUL CHOSEONG PIEUP-SSANGSIOS;Lo;0;L; 1107 1109 1109;;;;N;;;;; 1126;HANGUL CHOSEONG PIEUP-SIOS-CIEUC;Lo;0;L; 1107 1109 110C;;;;N;;;;; 1127;HANGUL CHOSEONG PIEUP-CIEUC;Lo;0;L; 1107 110C;;;;N;;;;; 1128;HANGUL CHOSEONG PIEUP-CHIEUCH;Lo;0;L; 1107 110E;;;;N;;;;; 1129;HANGUL CHOSEONG PIEUP-THIEUTH;Lo;0;L; 1107 1110;;;;N;;;;; 112A;HANGUL CHOSEONG PIEUP-PHIEUPH;Lo;0;L; 1107 1111;;;;N;;;;; 112B;HANGUL CHOSEONG KAPYEOUNPIEUP;Lo;0;L; 1107 110B;;;;N;;;;; 112C;HANGUL CHOSEONG KAPYEOUNSSANGPIEUP;Lo;0;L; 1107 1107 110B;;;;N;;;;; 112D;HANGUL CHOSEONG SIOS-KIYEOK;Lo;0;L; 1109 1100;;;;N;;;;; 112E;HANGUL CHOSEONG SIOS-NIEUN;Lo;0;L; 1109 1102;;;;N;;;;; 112F;HANGUL CHOSEONG SIOS-TIKEUT;Lo;0;L; 1109 1103;;;;N;;;;; 1130;HANGUL CHOSEONG SIOS-RIEUL;Lo;0;L; 1109 1105;;;;N;;;;; 1131;HANGUL CHOSEONG SIOS-MIEUM;Lo;0;L; 1109 1106;;;;N;;;;; 1132;HANGUL CHOSEONG SIOS-PIEUP;Lo;0;L; 1109 1107;;;;N;;;;; 1133;HANGUL CHOSEONG SIOS-PIEUP-KIYEOK;Lo;0;L; 1109 1107 1100;;;;N;;;;; 1134;HANGUL CHOSEONG SIOS-SSANGSIOS;Lo;0;L; 1109 1109 1109;;;;N;;;;; 1135;HANGUL CHOSEONG SIOS-IEUNG;Lo;0;L; 1109 110B;;;;N;;;;; 1136;HANGUL CHOSEONG SIOS-CIEUC;Lo;0;L; 1109 110C;;;;N;;;;; 1137;HANGUL CHOSEONG SIOS-CHIEUCH;Lo;0;L; 1109 110E;;;;N;;;;; 1138;HANGUL CHOSEONG SIOS-KHIEUKH;Lo;0;L; 1109 110F;;;;N;;;;; 1139;HANGUL CHOSEONG SIOS-THIEUTH;Lo;0;L; 1109 1110;;;;N;;;;; 113A;HANGUL CHOSEONG SIOS-PHIEUPH;Lo;0;L; 1109 1111;;;;N;;;;; 113B;HANGUL CHOSEONG SIOS-HIEUH;Lo;0;L; 1109 1112;;;;N;;;;; 113C;HANGUL CHOSEONG CHITUEUMSIOS;Lo;0;L;;;;;N;;;;; 113D;HANGUL CHOSEONG CHITUEUMSSANGSIOS;Lo;0;L; 113C 113C;;;;N;;;;; 113E;HANGUL CHOSEONG CEONGCHIEUMSIOS;Lo;0;L;;;;;N;;;;; 113F;HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS;Lo;0;L; 113E 113E;;;;N;;;;; 1140;HANGUL CHOSEONG PANSIOS;Lo;0;L;;;;;N;;;;; 1141;HANGUL CHOSEONG IEUNG-KIYEOK;Lo;0;L; 110B 1100;;;;N;;;;; 1142;HANGUL CHOSEONG IEUNG-TIKEUT;Lo;0;L; 110B 1103;;;;N;;;;; 1143;HANGUL CHOSEONG IEUNG-MIEUM;Lo;0;L; 110B 1106;;;;N;;;;; 1144;HANGUL CHOSEONG IEUNG-PIEUP;Lo;0;L; 110B 1107;;;;N;;;;; 1145;HANGUL CHOSEONG IEUNG-SIOS;Lo;0;L; 110B 1109;;;;N;;;;; 1146;HANGUL CHOSEONG IEUNG-PANSIOS;Lo;0;L; 110B 1140;;;;N;;;;; 1147;HANGUL CHOSEONG SSANGIEUNG;Lo;0;L; 110B 110B;;;;N;;;;; 1148;HANGUL CHOSEONG IEUNG-CIEUC;Lo;0;L; 110B 110C;;;;N;;;;; 1149;HANGUL CHOSEONG IEUNG-CHIEUCH;Lo;0;L; 110B 110E;;;;N;;;;; 114A;HANGUL CHOSEONG IEUNG-THIEUTH;Lo;0;L; 110B 1110;;;;N;;;;; 114B;HANGUL CHOSEONG IEUNG-PHIEUPH;Lo;0;L; 110B 1111;;;;N;;;;; 114C;HANGUL CHOSEONG YESIEUNG;Lo;0;L;;;;;N;;;;; 114D;HANGUL CHOSEONG CIEUC-IEUNG;Lo;0;L; 110C 110B;;;;N;;;;; 114E;HANGUL CHOSEONG CHITUEUMCIEUC;Lo;0;L;;;;;N;;;;; 114F;HANGUL CHOSEONG CHITUEUMSSANGCIEUC;Lo;0;L; 114E 114E;;;;N;;;;; 1150;HANGUL CHOSEONG CEONGCHIEUMCIEUC;Lo;0;L;;;;;N;;;;; 1151;HANGUL CHOSEONG CEONGCHIEUMSSANGCIEUC;Lo;0;L; 1150 1150;;;;N;;;;; 1152;HANGUL CHOSEONG CHIEUCH-KHIEUKH;Lo;0;L; 110E 110F;;;;N;;;;; 1153;HANGUL CHOSEONG CHIEUCH-HIEUH;Lo;0;L; 110E 1112;;;;N;;;;; 1154;HANGUL CHOSEONG CHITUEUMCHIEUCH;Lo;0;L;;;;;N;;;;; 1155;HANGUL CHOSEONG CEONGCHIEUMCHIEUCH;Lo;0;L;;;;;N;;;;; 1156;HANGUL CHOSEONG PHIEUPH-PIEUP;Lo;0;L; 1111 1107;;;;N;;;;; 1157;HANGUL CHOSEONG KAPYEOUNPHIEUPH;Lo;0;L; 1111 110B;;;;N;;;;; 1158;HANGUL CHOSEONG SSANGHIEUH;Lo;0;L; 1112 1112;;;;N;;;;; 1159;HANGUL CHOSEONG YEORINHIEUH;Lo;0;L;;;;;N;;;;; 115F;HANGUL CHOSEONG FILLER;Lo;0;L;;;;;N;;;;; 1160;HANGUL JUNGSEONG FILLER;Lo;0;L;;;;;N;;;;; 1161;HANGUL JUNGSEONG A;Lo;0;L;;;;;N;;;;; 1162;HANGUL JUNGSEONG AE;Lo;0;L; 1161 1175;;;;N;;;;; 1163;HANGUL JUNGSEONG YA;Lo;0;L;;;;;N;;;;; 1164;HANGUL JUNGSEONG YAE;Lo;0;L; 1163 1175;;;;N;;;;; 1165;HANGUL JUNGSEONG EO;Lo;0;L;;;;;N;;;;; 1166;HANGUL JUNGSEONG E;Lo;0;L; 1165 1175;;;;N;;;;; 1167;HANGUL JUNGSEONG YEO;Lo;0;L;;;;;N;;;;; 1168;HANGUL JUNGSEONG YE;Lo;0;L; 1167 1175;;;;N;;;;; 1169;HANGUL JUNGSEONG O;Lo;0;L;;;;;N;;;;; 116A;HANGUL JUNGSEONG WA;Lo;0;L; 1169 1161;;;;N;;;;; 116B;HANGUL JUNGSEONG WAE;Lo;0;L; 1169 1161 1175;;;;N;;;;; 116C;HANGUL JUNGSEONG OE;Lo;0;L; 1169 1175;;;;N;;;;; 116D;HANGUL JUNGSEONG YO;Lo;0;L;;;;;N;;;;; 116E;HANGUL JUNGSEONG U;Lo;0;L;;;;;N;;;;; 116F;HANGUL JUNGSEONG WEO;Lo;0;L; 116E 1165;;;;N;;;;; 1170;HANGUL JUNGSEONG WE;Lo;0;L; 116E 1165 1175;;;;N;;;;; 1171;HANGUL JUNGSEONG WI;Lo;0;L; 116E 1175;;;;N;;;;; 1172;HANGUL JUNGSEONG YU;Lo;0;L;;;;;N;;;;; 1173;HANGUL JUNGSEONG EU;Lo;0;L;;;;;N;;;;; 1174;HANGUL JUNGSEONG YI;Lo;0;L; 1173 1175;;;;N;;;;; 1175;HANGUL JUNGSEONG I;Lo;0;L;;;;;N;;;;; 1176;HANGUL JUNGSEONG A-O;Lo;0;L; 1161 1169;;;;N;;;;; 1177;HANGUL JUNGSEONG A-U;Lo;0;L; 1161 116E;;;;N;;;;; 1178;HANGUL JUNGSEONG YA-O;Lo;0;L; 1163 1169;;;;N;;;;; 1179;HANGUL JUNGSEONG YA-YO;Lo;0;L; 1163 116D;;;;N;;;;; 117A;HANGUL JUNGSEONG EO-O;Lo;0;L; 1165 1169;;;;N;;;;; 117B;HANGUL JUNGSEONG EO-U;Lo;0;L; 1165 116E;;;;N;;;;; 117C;HANGUL JUNGSEONG EO-EU;Lo;0;L; 1165 1173;;;;N;;;;; 117D;HANGUL JUNGSEONG YEO-O;Lo;0;L; 1167 1169;;;;N;;;;; 117E;HANGUL JUNGSEONG YEO-U;Lo;0;L; 1167 116E;;;;N;;;;; 117F;HANGUL JUNGSEONG O-EO;Lo;0;L; 1169 1165;;;;N;;;;; 1180;HANGUL JUNGSEONG O-E;Lo;0;L; 1169 1166;;;;N;;;;; 1181;HANGUL JUNGSEONG O-YE;Lo;0;L; 1169 1168;;;;N;;;;; 1182;HANGUL JUNGSEONG O-O;Lo;0;L; 1169 1169;;;;N;;;;; 1183;HANGUL JUNGSEONG O-U;Lo;0;L; 1169 116E;;;;N;;;;; 1184;HANGUL JUNGSEONG YO-YA;Lo;0;L; 116D 1163;;;;N;;;;; 1185;HANGUL JUNGSEONG YO-YAE;Lo;0;L; 116D 1164;;;;N;;;;; 1186;HANGUL JUNGSEONG YO-YEO;Lo;0;L; 116D 1167;;;;N;;;;; 1187;HANGUL JUNGSEONG YO-O;Lo;0;L; 116D 1169;;;;N;;;;; 1188;HANGUL JUNGSEONG YO-I;Lo;0;L; 116D 1175;;;;N;;;;; 1189;HANGUL JUNGSEONG U-A;Lo;0;L; 116E 1161;;;;N;;;;; 118A;HANGUL JUNGSEONG U-AE;Lo;0;L; 116E 1162;;;;N;;;;; 118B;HANGUL JUNGSEONG U-EO-EU;Lo;0;L; 116E 1165 1173;;;;N;;;;; 118C;HANGUL JUNGSEONG U-YE;Lo;0;L; 116E 1168;;;;N;;;;; 118D;HANGUL JUNGSEONG U-U;Lo;0;L; 116E 116E;;;;N;;;;; 118E;HANGUL JUNGSEONG YU-A;Lo;0;L; 1172 1161;;;;N;;;;; 118F;HANGUL JUNGSEONG YU-EO;Lo;0;L; 1172 1165;;;;N;;;;; 1190;HANGUL JUNGSEONG YU-E;Lo;0;L; 1172 1166;;;;N;;;;; 1191;HANGUL JUNGSEONG YU-YEO;Lo;0;L; 1172 1167;;;;N;;;;; 1192;HANGUL JUNGSEONG YU-YE;Lo;0;L; 1172 1168;;;;N;;;;; 1193;HANGUL JUNGSEONG YU-U;Lo;0;L; 1172 116E;;;;N;;;;; 1194;HANGUL JUNGSEONG YU-I;Lo;0;L; 1172 1175;;;;N;;;;; 1195;HANGUL JUNGSEONG EU-U;Lo;0;L; 1173 116E;;;;N;;;;; 1196;HANGUL JUNGSEONG EU-EU;Lo;0;L; 1173 1173;;;;N;;;;; 1197;HANGUL JUNGSEONG YI-U;Lo;0;L; 1174 116E;;;;N;;;;; 1198;HANGUL JUNGSEONG I-A;Lo;0;L; 1175 1161;;;;N;;;;; 1199;HANGUL JUNGSEONG I-YA;Lo;0;L; 1175 1163;;;;N;;;;; 119A;HANGUL JUNGSEONG I-O;Lo;0;L; 1175 1169;;;;N;;;;; 119B;HANGUL JUNGSEONG I-U;Lo;0;L; 1175 116E;;;;N;;;;; 119C;HANGUL JUNGSEONG I-EU;Lo;0;L; 1175 1173;;;;N;;;;; 119D;HANGUL JUNGSEONG I-ARAEA;Lo;0;L; 1175 119E;;;;N;;;;; 119E;HANGUL JUNGSEONG ARAEA;Lo;0;L;;;;;N;;;;; 119F;HANGUL JUNGSEONG ARAEA-EO;Lo;0;L; 119E 1165;;;;N;;;;; 11A0;HANGUL JUNGSEONG ARAEA-U;Lo;0;L; 119E 116E;;;;N;;;;; 11A1;HANGUL JUNGSEONG ARAEA-I;Lo;0;L; 119E 1175;;;;N;;;;; 11A2;HANGUL JUNGSEONG SSANGARAEA;Lo;0;L; 119E 119E;;;;N;;;;; 11A8;HANGUL JONGSEONG KIYEOK;Lo;0;L;;;;;N;;;;; 11A9;HANGUL JONGSEONG SSANGKIYEOK;Lo;0;L; 11A8 11A8;;;;N;;;;; 11AA;HANGUL JONGSEONG KIYEOK-SIOS;Lo;0;L; 11A8 11BA;;;;N;;;;; 11AB;HANGUL JONGSEONG NIEUN;Lo;0;L;;;;;N;;;;; 11AC;HANGUL JONGSEONG NIEUN-CIEUC;Lo;0;L; 11AB 11BD;;;;N;;;;; 11AD;HANGUL JONGSEONG NIEUN-HIEUH;Lo;0;L; 11AB 11C2;;;;N;;;;; 11AE;HANGUL JONGSEONG TIKEUT;Lo;0;L;;;;;N;;;;; 11AF;HANGUL JONGSEONG RIEUL;Lo;0;L;;;;;N;;;;; 11B0;HANGUL JONGSEONG RIEUL-KIYEOK;Lo;0;L; 11AF 11A8;;;;N;;;;; 11B1;HANGUL JONGSEONG RIEUL-MIEUM;Lo;0;L; 11AF 11B7;;;;N;;;;; 11B2;HANGUL JONGSEONG RIEUL-PIEUP;Lo;0;L; 11AF 11B8;;;;N;;;;; 11B3;HANGUL JONGSEONG RIEUL-SIOS;Lo;0;L; 11AF 11BA;;;;N;;;;; 11B4;HANGUL JONGSEONG RIEUL-THIEUTH;Lo;0;L; 11AF 11C0;;;;N;;;;; 11B5;HANGUL JONGSEONG RIEUL-PHIEUPH;Lo;0;L; 11AF 11C1;;;;N;;;;; 11B6;HANGUL JONGSEONG RIEUL-HIEUH;Lo;0;L; 11AF 11C2;;;;N;;;;; 11B7;HANGUL JONGSEONG MIEUM;Lo;0;L;;;;;N;;;;; 11B8;HANGUL JONGSEONG PIEUP;Lo;0;L;;;;;N;;;;; 11B9;HANGUL JONGSEONG PIEUP-SIOS;Lo;0;L; 11B8 11BA;;;;N;;;;; 11BA;HANGUL JONGSEONG SIOS;Lo;0;L;;;;;N;;;;; 11BB;HANGUL JONGSEONG SSANGSIOS;Lo;0;L; 11BA 11BA;;;;N;;;;; 11BC;HANGUL JONGSEONG IEUNG;Lo;0;L;;;;;N;;;;; 11BD;HANGUL JONGSEONG CIEUC;Lo;0;L;;;;;N;;;;; 11BE;HANGUL JONGSEONG CHIEUCH;Lo;0;L;;;;;N;;;;; 11BF;HANGUL JONGSEONG KHIEUKH;Lo;0;L;;;;;N;;;;; 11C0;HANGUL JONGSEONG THIEUTH;Lo;0;L;;;;;N;;;;; 11C1;HANGUL JONGSEONG PHIEUPH;Lo;0;L;;;;;N;;;;; 11C2;HANGUL JONGSEONG HIEUH;Lo;0;L;;;;;N;;;;; 11C3;HANGUL JONGSEONG KIYEOK-RIEUL;Lo;0;L; 11A8 11AF;;;;N;;;;; 11C4;HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK;Lo;0;L; 11A8 11BA 11A8;;;;N;;;;; 11C5;HANGUL JONGSEONG NIEUN-KIYEOK;Lo;0;L; 11AB 11A8;;;;N;;;;; 11C6;HANGUL JONGSEONG NIEUN-TIKEUT;Lo;0;L; 11AB 11AE;;;;N;;;;; 11C7;HANGUL JONGSEONG NIEUN-SIOS;Lo;0;L; 11AB 11BA;;;;N;;;;; 11C8;HANGUL JONGSEONG NIEUN-PANSIOS;Lo;0;L; 11AB 11EB;;;;N;;;;; 11C9;HANGUL JONGSEONG NIEUN-THIEUTH;Lo;0;L; 11AB 11C0;;;;N;;;;; 11CA;HANGUL JONGSEONG TIKEUT-KIYEOK;Lo;0;L; 11AE 11A8;;;;N;;;;; 11CB;HANGUL JONGSEONG TIKEUT-RIEUL;Lo;0;L; 11AE 11AF;;;;N;;;;; 11CC;HANGUL JONGSEONG RIEUL-KIYEOK-SIOS;Lo;0;L; 11AF 11A8 11BA;;;;N;;;;; 11CD;HANGUL JONGSEONG RIEUL-NIEUN;Lo;0;L; 11AF 11AB;;;;N;;;;; 11CE;HANGUL JONGSEONG RIEUL-TIKEUT;Lo;0;L; 11AF 11AE;;;;N;;;;; 11CF;HANGUL JONGSEONG RIEUL-TIKEUT-HIEUH;Lo;0;L; 11AF 11AE 11C2;;;;N;;;;; 11D0;HANGUL JONGSEONG SSANGRIEUL;Lo;0;L; 11AF 11AF;;;;N;;;;; 11D1;HANGUL JONGSEONG RIEUL-MIEUM-KIYEOK;Lo;0;L; 11AF 11B7 11A8;;;;N;;;;; 11D2;HANGUL JONGSEONG RIEUL-MIEUM-SIOS;Lo;0;L; 11AF 11B7 11BA;;;;N;;;;; 11D3;HANGUL JONGSEONG RIEUL-PIEUP-SIOS;Lo;0;L; 11AF 11B8 11BA;;;;N;;;;; 11D4;HANGUL JONGSEONG RIEUL-PIEUP-HIEUH;Lo;0;L; 11AF 11B8 11C2;;;;N;;;;; 11D5;HANGUL JONGSEONG RIEUL-KAPYEOUNPIEUP;Lo;0;L; 11AF 11B8 11BC;;;;N;;;;; 11D6;HANGUL JONGSEONG RIEUL-SSANGSIOS;Lo;0;L; 11AF 11BA 11BA;;;;N;;;;; 11D7;HANGUL JONGSEONG RIEUL-PANSIOS;Lo;0;L; 11AF 11EB;;;;N;;;;; 11D8;HANGUL JONGSEONG RIEUL-KHIEUKH;Lo;0;L; 11AF 11BF;;;;N;;;;; 11D9;HANGUL JONGSEONG RIEUL-YEORINHIEUH;Lo;0;L; 11AF 11F9;;;;N;;;;; 11DA;HANGUL JONGSEONG MIEUM-KIYEOK;Lo;0;L; 11B7 11A8;;;;N;;;;; 11DB;HANGUL JONGSEONG MIEUM-RIEUL;Lo;0;L; 11B7 11AF;;;;N;;;;; 11DC;HANGUL JONGSEONG MIEUM-PIEUP;Lo;0;L; 11B7 11B8;;;;N;;;;; 11DD;HANGUL JONGSEONG MIEUM-SIOS;Lo;0;L; 11B7 11BA;;;;N;;;;; 11DE;HANGUL JONGSEONG MIEUM-SSANGSIOS;Lo;0;L; 11B7 11BA 11BA;;;;N;;;;; 11DF;HANGUL JONGSEONG MIEUM-PANSIOS;Lo;0;L; 11B7 11EB;;;;N;;;;; 11E0;HANGUL JONGSEONG MIEUM-CHIEUCH;Lo;0;L; 11B7 11BE;;;;N;;;;; 11E1;HANGUL JONGSEONG MIEUM-HIEUH;Lo;0;L; 11B7 11C2;;;;N;;;;; 11E2;HANGUL JONGSEONG KAPYEOUNMIEUM;Lo;0;L; 11B7 11BC;;;;N;;;;; 11E3;HANGUL JONGSEONG PIEUP-RIEUL;Lo;0;L; 11B8 11AF;;;;N;;;;; 11E4;HANGUL JONGSEONG PIEUP-PHIEUPH;Lo;0;L; 11B8 11C1;;;;N;;;;; 11E5;HANGUL JONGSEONG PIEUP-HIEUH;Lo;0;L; 11B8 11C2;;;;N;;;;; 11E6;HANGUL JONGSEONG KAPYEOUNPIEUP;Lo;0;L; 11B8 11BC;;;;N;;;;; 11E7;HANGUL JONGSEONG SIOS-KIYEOK;Lo;0;L; 11BA 11A8;;;;N;;;;; 11E8;HANGUL JONGSEONG SIOS-TIKEUT;Lo;0;L; 11BA 11AE;;;;N;;;;; 11E9;HANGUL JONGSEONG SIOS-RIEUL;Lo;0;L; 11BA 11AF;;;;N;;;;; 11EA;HANGUL JONGSEONG SIOS-PIEUP;Lo;0;L; 11BA 11B8;;;;N;;;;; 11EB;HANGUL JONGSEONG PANSIOS;Lo;0;L;;;;;N;;;;; 11EC;HANGUL JONGSEONG IEUNG-KIYEOK;Lo;0;L; 11BC 11A8;;;;N;;;;; 11ED;HANGUL JONGSEONG IEUNG-SSANGKIYEOK;Lo;0;L; 11BC 11A8 11A8;;;;N;;;;; 11EE;HANGUL JONGSEONG SSANGIEUNG;Lo;0;L; 11BC 11BC;;;;N;;;;; 11EF;HANGUL JONGSEONG IEUNG-KHIEUKH;Lo;0;L; 11BC 11BF;;;;N;;;;; 11F0;HANGUL JONGSEONG YESIEUNG;Lo;0;L;;;;;N;;;;; 11F1;HANGUL JONGSEONG YESIEUNG-SIOS;Lo;0;L; 11F0 11BA;;;;N;;;;; 11F2;HANGUL JONGSEONG YESIEUNG-PANSIOS;Lo;0;L; 11F0 11EB;;;;N;;;;; 11F3;HANGUL JONGSEONG PHIEUPH-PIEUP;Lo;0;L; 11C1 11B8;;;;N;;;;; 11F4;HANGUL JONGSEONG KAPYEOUNPHIEUPH;Lo;0;L; 11C1 11BC;;;;N;;;;; 11F5;HANGUL JONGSEONG HIEUH-NIEUN;Lo;0;L; 11C2 11AB;;;;N;;;;; 11F6;HANGUL JONGSEONG HIEUH-RIEUL;Lo;0;L; 11C2 11AF;;;;N;;;;; 11F7;HANGUL JONGSEONG HIEUH-MIEUM;Lo;0;L; 11C2 11B7;;;;N;;;;; 11F8;HANGUL JONGSEONG HIEUH-PIEUP;Lo;0;L; 11C2 11B8;;;;N;;;;; 11F9;HANGUL JONGSEONG YEORINHIEUH;Lo;0;L;;;;;N;;;;; 1E00;LATIN CAPITAL LETTER A WITH RING BELOW;Lu;0;L;0041 0325;;;;N;;;;1E01; 1E01;LATIN SMALL LETTER A WITH RING BELOW;Ll;0;L;0061 0325;;;;N;;;1E00;;1E00 1E02;LATIN CAPITAL LETTER B WITH DOT ABOVE;Lu;0;L;0042 0307;;;;N;;;;1E03; 1E03;LATIN SMALL LETTER B WITH DOT ABOVE;Ll;0;L;0062 0307;;;;N;;;1E02;;1E02 1E04;LATIN CAPITAL LETTER B WITH DOT BELOW;Lu;0;L;0042 0323;;;;N;;;;1E05; 1E05;LATIN SMALL LETTER B WITH DOT BELOW;Ll;0;L;0062 0323;;;;N;;;1E04;;1E04 1E06;LATIN CAPITAL LETTER B WITH LINE BELOW;Lu;0;L;0042 0331;;;;N;;;;1E07; 1E07;LATIN SMALL LETTER B WITH LINE BELOW;Ll;0;L;0062 0331;;;;N;;;1E06;;1E06 1E08;LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE;Lu;0;L;00C7 0301;;;;N;;;;1E09; 1E09;LATIN SMALL LETTER C WITH CEDILLA AND ACUTE;Ll;0;L;00E7 0301;;;;N;;;1E08;;1E08 1E0A;LATIN CAPITAL LETTER D WITH DOT ABOVE;Lu;0;L;0044 0307;;;;N;;;;1E0B; 1E0B;LATIN SMALL LETTER D WITH DOT ABOVE;Ll;0;L;0064 0307;;;;N;;;1E0A;;1E0A 1E0C;LATIN CAPITAL LETTER D WITH DOT BELOW;Lu;0;L;0044 0323;;;;N;;;;1E0D; 1E0D;LATIN SMALL LETTER D WITH DOT BELOW;Ll;0;L;0064 0323;;;;N;;;1E0C;;1E0C 1E0E;LATIN CAPITAL LETTER D WITH LINE BELOW;Lu;0;L;0044 0331;;;;N;;;;1E0F; 1E0F;LATIN SMALL LETTER D WITH LINE BELOW;Ll;0;L;0064 0331;;;;N;;;1E0E;;1E0E 1E10;LATIN CAPITAL LETTER D WITH CEDILLA;Lu;0;L;0044 0327;;;;N;;;;1E11; 1E11;LATIN SMALL LETTER D WITH CEDILLA;Ll;0;L;0064 0327;;;;N;;;1E10;;1E10 1E12;LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW;Lu;0;L;0044 032D;;;;N;;;;1E13; 1E13;LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW;Ll;0;L;0064 032D;;;;N;;;1E12;;1E12 1E14;LATIN CAPITAL LETTER E WITH MACRON AND GRAVE;Lu;0;L;0112 0300;;;;N;;;;1E15; 1E15;LATIN SMALL LETTER E WITH MACRON AND GRAVE;Ll;0;L;0113 0300;;;;N;;;1E14;;1E14 1E16;LATIN CAPITAL LETTER E WITH MACRON AND ACUTE;Lu;0;L;0112 0301;;;;N;;;;1E17; 1E17;LATIN SMALL LETTER E WITH MACRON AND ACUTE;Ll;0;L;0113 0301;;;;N;;;1E16;;1E16 1E18;LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW;Lu;0;L;0045 032D;;;;N;;;;1E19; 1E19;LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW;Ll;0;L;0065 032D;;;;N;;;1E18;;1E18 1E1A;LATIN CAPITAL LETTER E WITH TILDE BELOW;Lu;0;L;0045 0330;;;;N;;;;1E1B; 1E1B;LATIN SMALL LETTER E WITH TILDE BELOW;Ll;0;L;0065 0330;;;;N;;;1E1A;;1E1A 1E1C;LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE;Lu;0;L;0114 0327;;;;N;;;;1E1D; 1E1D;LATIN SMALL LETTER E WITH CEDILLA AND BREVE;Ll;0;L;0115 0327;;;;N;;;1E1C;;1E1C 1E1E;LATIN CAPITAL LETTER F WITH DOT ABOVE;Lu;0;L;0046 0307;;;;N;;;;1E1F; 1E1F;LATIN SMALL LETTER F WITH DOT ABOVE;Ll;0;L;0066 0307;;;;N;;;1E1E;;1E1E 1E20;LATIN CAPITAL LETTER G WITH MACRON;Lu;0;L;0047 0304;;;;N;;;;1E21; 1E21;LATIN SMALL LETTER G WITH MACRON;Ll;0;L;0067 0304;;;;N;;;1E20;;1E20 1E22;LATIN CAPITAL LETTER H WITH DOT ABOVE;Lu;0;L;0048 0307;;;;N;;;;1E23; 1E23;LATIN SMALL LETTER H WITH DOT ABOVE;Ll;0;L;0068 0307;;;;N;;;1E22;;1E22 1E24;LATIN CAPITAL LETTER H WITH DOT BELOW;Lu;0;L;0048 0323;;;;N;;;;1E25; 1E25;LATIN SMALL LETTER H WITH DOT BELOW;Ll;0;L;0068 0323;;;;N;;;1E24;;1E24 1E26;LATIN CAPITAL LETTER H WITH DIAERESIS;Lu;0;L;0048 0308;;;;N;;;;1E27; 1E27;LATIN SMALL LETTER H WITH DIAERESIS;Ll;0;L;0068 0308;;;;N;;;1E26;;1E26 1E28;LATIN CAPITAL LETTER H WITH CEDILLA;Lu;0;L;0048 0327;;;;N;;;;1E29; 1E29;LATIN SMALL LETTER H WITH CEDILLA;Ll;0;L;0068 0327;;;;N;;;1E28;;1E28 1E2A;LATIN CAPITAL LETTER H WITH BREVE BELOW;Lu;0;L;0048 032E;;;;N;;;;1E2B; 1E2B;LATIN SMALL LETTER H WITH BREVE BELOW;Ll;0;L;0068 032E;;;;N;;;1E2A;;1E2A 1E2C;LATIN CAPITAL LETTER I WITH TILDE BELOW;Lu;0;L;0049 0330;;;;N;;;;1E2D; 1E2D;LATIN SMALL LETTER I WITH TILDE BELOW;Ll;0;L;0069 0330;;;;N;;;1E2C;;1E2C 1E2E;LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE;Lu;0;L;00CF 0301;;;;N;;;;1E2F; 1E2F;LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE;Ll;0;L;00EF 0301;;;;N;;;1E2E;;1E2E 1E30;LATIN CAPITAL LETTER K WITH ACUTE;Lu;0;L;004B 0301;;;;N;;;;1E31; 1E31;LATIN SMALL LETTER K WITH ACUTE;Ll;0;L;006B 0301;;;;N;;;1E30;;1E30 1E32;LATIN CAPITAL LETTER K WITH DOT BELOW;Lu;0;L;004B 0323;;;;N;;;;1E33; 1E33;LATIN SMALL LETTER K WITH DOT BELOW;Ll;0;L;006B 0323;;;;N;;;1E32;;1E32 1E34;LATIN CAPITAL LETTER K WITH LINE BELOW;Lu;0;L;004B 0331;;;;N;;;;1E35; 1E35;LATIN SMALL LETTER K WITH LINE BELOW;Ll;0;L;006B 0331;;;;N;;;1E34;;1E34 1E36;LATIN CAPITAL LETTER L WITH DOT BELOW;Lu;0;L;004C 0323;;;;N;;;;1E37; 1E37;LATIN SMALL LETTER L WITH DOT BELOW;Ll;0;L;006C 0323;;;;N;;;1E36;;1E36 1E38;LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON;Lu;0;L;1E36 0304;;;;N;;;;1E39; 1E39;LATIN SMALL LETTER L WITH DOT BELOW AND MACRON;Ll;0;L;1E37 0304;;;;N;;;1E38;;1E38 1E3A;LATIN CAPITAL LETTER L WITH LINE BELOW;Lu;0;L;004C 0331;;;;N;;;;1E3B; 1E3B;LATIN SMALL LETTER L WITH LINE BELOW;Ll;0;L;006C 0331;;;;N;;;1E3A;;1E3A 1E3C;LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW;Lu;0;L;004C 032D;;;;N;;;;1E3D; 1E3D;LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW;Ll;0;L;006C 032D;;;;N;;;1E3C;;1E3C 1E3E;LATIN CAPITAL LETTER M WITH ACUTE;Lu;0;L;004D 0301;;;;N;;;;1E3F; 1E3F;LATIN SMALL LETTER M WITH ACUTE;Ll;0;L;006D 0301;;;;N;;;1E3E;;1E3E 1E40;LATIN CAPITAL LETTER M WITH DOT ABOVE;Lu;0;L;004D 0307;;;;N;;;;1E41; 1E41;LATIN SMALL LETTER M WITH DOT ABOVE;Ll;0;L;006D 0307;;;;N;;;1E40;;1E40 1E42;LATIN CAPITAL LETTER M WITH DOT BELOW;Lu;0;L;004D 0323;;;;N;;;;1E43; 1E43;LATIN SMALL LETTER M WITH DOT BELOW;Ll;0;L;006D 0323;;;;N;;;1E42;;1E42 1E44;LATIN CAPITAL LETTER N WITH DOT ABOVE;Lu;0;L;004E 0307;;;;N;;;;1E45; 1E45;LATIN SMALL LETTER N WITH DOT ABOVE;Ll;0;L;006E 0307;;;;N;;;1E44;;1E44 1E46;LATIN CAPITAL LETTER N WITH DOT BELOW;Lu;0;L;004E 0323;;;;N;;;;1E47; 1E47;LATIN SMALL LETTER N WITH DOT BELOW;Ll;0;L;006E 0323;;;;N;;;1E46;;1E46 1E48;LATIN CAPITAL LETTER N WITH LINE BELOW;Lu;0;L;004E 0331;;;;N;;;;1E49; 1E49;LATIN SMALL LETTER N WITH LINE BELOW;Ll;0;L;006E 0331;;;;N;;;1E48;;1E48 1E4A;LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW;Lu;0;L;004E 032D;;;;N;;;;1E4B; 1E4B;LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW;Ll;0;L;006E 032D;;;;N;;;1E4A;;1E4A 1E4C;LATIN CAPITAL LETTER O WITH TILDE AND ACUTE;Lu;0;L;00D5 0301;;;;N;;;;1E4D; 1E4D;LATIN SMALL LETTER O WITH TILDE AND ACUTE;Ll;0;L;00F5 0301;;;;N;;;1E4C;;1E4C 1E4E;LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS;Lu;0;L;00D5 0308;;;;N;;;;1E4F; 1E4F;LATIN SMALL LETTER O WITH TILDE AND DIAERESIS;Ll;0;L;00F5 0308;;;;N;;;1E4E;;1E4E 1E50;LATIN CAPITAL LETTER O WITH MACRON AND GRAVE;Lu;0;L;014C 0300;;;;N;;;;1E51; 1E51;LATIN SMALL LETTER O WITH MACRON AND GRAVE;Ll;0;L;014D 0300;;;;N;;;1E50;;1E50 1E52;LATIN CAPITAL LETTER O WITH MACRON AND ACUTE;Lu;0;L;014C 0301;;;;N;;;;1E53; 1E53;LATIN SMALL LETTER O WITH MACRON AND ACUTE;Ll;0;L;014D 0301;;;;N;;;1E52;;1E52 1E54;LATIN CAPITAL LETTER P WITH ACUTE;Lu;0;L;0050 0301;;;;N;;;;1E55; 1E55;LATIN SMALL LETTER P WITH ACUTE;Ll;0;L;0070 0301;;;;N;;;1E54;;1E54 1E56;LATIN CAPITAL LETTER P WITH DOT ABOVE;Lu;0;L;0050 0307;;;;N;;;;1E57; 1E57;LATIN SMALL LETTER P WITH DOT ABOVE;Ll;0;L;0070 0307;;;;N;;;1E56;;1E56 1E58;LATIN CAPITAL LETTER R WITH DOT ABOVE;Lu;0;L;0052 0307;;;;N;;;;1E59; 1E59;LATIN SMALL LETTER R WITH DOT ABOVE;Ll;0;L;0072 0307;;;;N;;;1E58;;1E58 1E5A;LATIN CAPITAL LETTER R WITH DOT BELOW;Lu;0;L;0052 0323;;;;N;;;;1E5B; 1E5B;LATIN SMALL LETTER R WITH DOT BELOW;Ll;0;L;0072 0323;;;;N;;;1E5A;;1E5A 1E5C;LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON;Lu;0;L;1E5A 0304;;;;N;;;;1E5D; 1E5D;LATIN SMALL LETTER R WITH DOT BELOW AND MACRON;Ll;0;L;1E5B 0304;;;;N;;;1E5C;;1E5C 1E5E;LATIN CAPITAL LETTER R WITH LINE BELOW;Lu;0;L;0052 0331;;;;N;;;;1E5F; 1E5F;LATIN SMALL LETTER R WITH LINE BELOW;Ll;0;L;0072 0331;;;;N;;;1E5E;;1E5E 1E60;LATIN CAPITAL LETTER S WITH DOT ABOVE;Lu;0;L;0053 0307;;;;N;;;;1E61; 1E61;LATIN SMALL LETTER S WITH DOT ABOVE;Ll;0;L;0073 0307;;;;N;;;1E60;;1E60 1E62;LATIN CAPITAL LETTER S WITH DOT BELOW;Lu;0;L;0053 0323;;;;N;;;;1E63; 1E63;LATIN SMALL LETTER S WITH DOT BELOW;Ll;0;L;0073 0323;;;;N;;;1E62;;1E62 1E64;LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE;Lu;0;L;015A 0307;;;;N;;;;1E65; 1E65;LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE;Ll;0;L;015B 0307;;;;N;;;1E64;;1E64 1E66;LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE;Lu;0;L;0160 0307;;;;N;;;;1E67; 1E67;LATIN SMALL LETTER S WITH CARON AND DOT ABOVE;Ll;0;L;0161 0307;;;;N;;;1E66;;1E66 1E68;LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE;Lu;0;L;1E62 0307;;;;N;;;;1E69; 1E69;LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE;Ll;0;L;1E63 0307;;;;N;;;1E68;;1E68 1E6A;LATIN CAPITAL LETTER T WITH DOT ABOVE;Lu;0;L;0054 0307;;;;N;;;;1E6B; 1E6B;LATIN SMALL LETTER T WITH DOT ABOVE;Ll;0;L;0074 0307;;;;N;;;1E6A;;1E6A 1E6C;LATIN CAPITAL LETTER T WITH DOT BELOW;Lu;0;L;0054 0323;;;;N;;;;1E6D; 1E6D;LATIN SMALL LETTER T WITH DOT BELOW;Ll;0;L;0074 0323;;;;N;;;1E6C;;1E6C 1E6E;LATIN CAPITAL LETTER T WITH LINE BELOW;Lu;0;L;0054 0331;;;;N;;;;1E6F; 1E6F;LATIN SMALL LETTER T WITH LINE BELOW;Ll;0;L;0074 0331;;;;N;;;1E6E;;1E6E 1E70;LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW;Lu;0;L;0054 032D;;;;N;;;;1E71; 1E71;LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW;Ll;0;L;0074 032D;;;;N;;;1E70;;1E70 1E72;LATIN CAPITAL LETTER U WITH DIAERESIS BELOW;Lu;0;L;0055 0324;;;;N;;;;1E73; 1E73;LATIN SMALL LETTER U WITH DIAERESIS BELOW;Ll;0;L;0075 0324;;;;N;;;1E72;;1E72 1E74;LATIN CAPITAL LETTER U WITH TILDE BELOW;Lu;0;L;0055 0330;;;;N;;;;1E75; 1E75;LATIN SMALL LETTER U WITH TILDE BELOW;Ll;0;L;0075 0330;;;;N;;;1E74;;1E74 1E76;LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW;Lu;0;L;0055 032D;;;;N;;;;1E77; 1E77;LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW;Ll;0;L;0075 032D;;;;N;;;1E76;;1E76 1E78;LATIN CAPITAL LETTER U WITH TILDE AND ACUTE;Lu;0;L;0168 0301;;;;N;;;;1E79; 1E79;LATIN SMALL LETTER U WITH TILDE AND ACUTE;Ll;0;L;0169 0301;;;;N;;;1E78;;1E78 1E7A;LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS;Lu;0;L;016A 0308;;;;N;;;;1E7B; 1E7B;LATIN SMALL LETTER U WITH MACRON AND DIAERESIS;Ll;0;L;016B 0308;;;;N;;;1E7A;;1E7A 1E7C;LATIN CAPITAL LETTER V WITH TILDE;Lu;0;L;0056 0303;;;;N;;;;1E7D; 1E7D;LATIN SMALL LETTER V WITH TILDE;Ll;0;L;0076 0303;;;;N;;;1E7C;;1E7C 1E7E;LATIN CAPITAL LETTER V WITH DOT BELOW;Lu;0;L;0056 0323;;;;N;;;;1E7F; 1E7F;LATIN SMALL LETTER V WITH DOT BELOW;Ll;0;L;0076 0323;;;;N;;;1E7E;;1E7E 1E80;LATIN CAPITAL LETTER W WITH GRAVE;Lu;0;L;0057 0300;;;;N;;;;1E81; 1E81;LATIN SMALL LETTER W WITH GRAVE;Ll;0;L;0077 0300;;;;N;;;1E80;;1E80 1E82;LATIN CAPITAL LETTER W WITH ACUTE;Lu;0;L;0057 0301;;;;N;;;;1E83; 1E83;LATIN SMALL LETTER W WITH ACUTE;Ll;0;L;0077 0301;;;;N;;;1E82;;1E82 1E84;LATIN CAPITAL LETTER W WITH DIAERESIS;Lu;0;L;0057 0308;;;;N;;;;1E85; 1E85;LATIN SMALL LETTER W WITH DIAERESIS;Ll;0;L;0077 0308;;;;N;;;1E84;;1E84 1E86;LATIN CAPITAL LETTER W WITH DOT ABOVE;Lu;0;L;0057 0307;;;;N;;;;1E87; 1E87;LATIN SMALL LETTER W WITH DOT ABOVE;Ll;0;L;0077 0307;;;;N;;;1E86;;1E86 1E88;LATIN CAPITAL LETTER W WITH DOT BELOW;Lu;0;L;0057 0323;;;;N;;;;1E89; 1E89;LATIN SMALL LETTER W WITH DOT BELOW;Ll;0;L;0077 0323;;;;N;;;1E88;;1E88 1E8A;LATIN CAPITAL LETTER X WITH DOT ABOVE;Lu;0;L;0058 0307;;;;N;;;;1E8B; 1E8B;LATIN SMALL LETTER X WITH DOT ABOVE;Ll;0;L;0078 0307;;;;N;;;1E8A;;1E8A 1E8C;LATIN CAPITAL LETTER X WITH DIAERESIS;Lu;0;L;0058 0308;;;;N;;;;1E8D; 1E8D;LATIN SMALL LETTER X WITH DIAERESIS;Ll;0;L;0078 0308;;;;N;;;1E8C;;1E8C 1E8E;LATIN CAPITAL LETTER Y WITH DOT ABOVE;Lu;0;L;0059 0307;;;;N;;;;1E8F; 1E8F;LATIN SMALL LETTER Y WITH DOT ABOVE;Ll;0;L;0079 0307;;;;N;;;1E8E;;1E8E 1E90;LATIN CAPITAL LETTER Z WITH CIRCUMFLEX;Lu;0;L;005A 0302;;;;N;;;;1E91; 1E91;LATIN SMALL LETTER Z WITH CIRCUMFLEX;Ll;0;L;007A 0302;;;;N;;;1E90;;1E90 1E92;LATIN CAPITAL LETTER Z WITH DOT BELOW;Lu;0;L;005A 0323;;;;N;;;;1E93; 1E93;LATIN SMALL LETTER Z WITH DOT BELOW;Ll;0;L;007A 0323;;;;N;;;1E92;;1E92 1E94;LATIN CAPITAL LETTER Z WITH LINE BELOW;Lu;0;L;005A 0331;;;;N;;;;1E95; 1E95;LATIN SMALL LETTER Z WITH LINE BELOW;Ll;0;L;007A 0331;;;;N;;;1E94;;1E94 1E96;LATIN SMALL LETTER H WITH LINE BELOW;Ll;0;L;0068 0331;;;;N;;;;; 1E97;LATIN SMALL LETTER T WITH DIAERESIS;Ll;0;L;0074 0308;;;;N;;;;; 1E98;LATIN SMALL LETTER W WITH RING ABOVE;Ll;0;L;0077 030A;;;;N;;;;; 1E99;LATIN SMALL LETTER Y WITH RING ABOVE;Ll;0;L;0079 030A;;;;N;;;;; 1E9A;LATIN SMALL LETTER A WITH RIGHT HALF RING;Ll;0;L; 0061 02BE;;;;N;;;;; 1E9B;LATIN SMALL LETTER LONG S WITH DOT ABOVE;Ll;0;L;017F 0307;;;;N;;;1E60;;1E60 1EA0;LATIN CAPITAL LETTER A WITH DOT BELOW;Lu;0;L;0041 0323;;;;N;;;;1EA1; 1EA1;LATIN SMALL LETTER A WITH DOT BELOW;Ll;0;L;0061 0323;;;;N;;;1EA0;;1EA0 1EA2;LATIN CAPITAL LETTER A WITH HOOK ABOVE;Lu;0;L;0041 0309;;;;N;;;;1EA3; 1EA3;LATIN SMALL LETTER A WITH HOOK ABOVE;Ll;0;L;0061 0309;;;;N;;;1EA2;;1EA2 1EA4;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE;Lu;0;L;00C2 0301;;;;N;;;;1EA5; 1EA5;LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE;Ll;0;L;00E2 0301;;;;N;;;1EA4;;1EA4 1EA6;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE;Lu;0;L;00C2 0300;;;;N;;;;1EA7; 1EA7;LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE;Ll;0;L;00E2 0300;;;;N;;;1EA6;;1EA6 1EA8;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE;Lu;0;L;00C2 0309;;;;N;;;;1EA9; 1EA9;LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE;Ll;0;L;00E2 0309;;;;N;;;1EA8;;1EA8 1EAA;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE;Lu;0;L;00C2 0303;;;;N;;;;1EAB; 1EAB;LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE;Ll;0;L;00E2 0303;;;;N;;;1EAA;;1EAA 1EAC;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW;Lu;0;L;00C2 0323;;;;N;;;;1EAD; 1EAD;LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW;Ll;0;L;00E2 0323;;;;N;;;1EAC;;1EAC 1EAE;LATIN CAPITAL LETTER A WITH BREVE AND ACUTE;Lu;0;L;0102 0301;;;;N;;;;1EAF; 1EAF;LATIN SMALL LETTER A WITH BREVE AND ACUTE;Ll;0;L;0103 0301;;;;N;;;1EAE;;1EAE 1EB0;LATIN CAPITAL LETTER A WITH BREVE AND GRAVE;Lu;0;L;0102 0300;;;;N;;;;1EB1; 1EB1;LATIN SMALL LETTER A WITH BREVE AND GRAVE;Ll;0;L;0103 0300;;;;N;;;1EB0;;1EB0 1EB2;LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE;Lu;0;L;0102 0309;;;;N;;;;1EB3; 1EB3;LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE;Ll;0;L;0103 0309;;;;N;;;1EB2;;1EB2 1EB4;LATIN CAPITAL LETTER A WITH BREVE AND TILDE;Lu;0;L;0102 0303;;;;N;;;;1EB5; 1EB5;LATIN SMALL LETTER A WITH BREVE AND TILDE;Ll;0;L;0103 0303;;;;N;;;1EB4;;1EB4 1EB6;LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW;Lu;0;L;0102 0323;;;;N;;;;1EB7; 1EB7;LATIN SMALL LETTER A WITH BREVE AND DOT BELOW;Ll;0;L;0103 0323;;;;N;;;1EB6;;1EB6 1EB8;LATIN CAPITAL LETTER E WITH DOT BELOW;Lu;0;L;0045 0323;;;;N;;;;1EB9; 1EB9;LATIN SMALL LETTER E WITH DOT BELOW;Ll;0;L;0065 0323;;;;N;;;1EB8;;1EB8 1EBA;LATIN CAPITAL LETTER E WITH HOOK ABOVE;Lu;0;L;0045 0309;;;;N;;;;1EBB; 1EBB;LATIN SMALL LETTER E WITH HOOK ABOVE;Ll;0;L;0065 0309;;;;N;;;1EBA;;1EBA 1EBC;LATIN CAPITAL LETTER E WITH TILDE;Lu;0;L;0045 0303;;;;N;;;;1EBD; 1EBD;LATIN SMALL LETTER E WITH TILDE;Ll;0;L;0065 0303;;;;N;;;1EBC;;1EBC 1EBE;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE;Lu;0;L;00CA 0301;;;;N;;;;1EBF; 1EBF;LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE;Ll;0;L;00EA 0301;;;;N;;;1EBE;;1EBE 1EC0;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE;Lu;0;L;00CA 0300;;;;N;;;;1EC1; 1EC1;LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE;Ll;0;L;00EA 0300;;;;N;;;1EC0;;1EC0 1EC2;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE;Lu;0;L;00CA 0309;;;;N;;;;1EC3; 1EC3;LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE;Ll;0;L;00EA 0309;;;;N;;;1EC2;;1EC2 1EC4;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE;Lu;0;L;00CA 0303;;;;N;;;;1EC5; 1EC5;LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE;Ll;0;L;00EA 0303;;;;N;;;1EC4;;1EC4 1EC6;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW;Lu;0;L;00CA 0323;;;;N;;;;1EC7; 1EC7;LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW;Ll;0;L;00EA 0323;;;;N;;;1EC6;;1EC6 1EC8;LATIN CAPITAL LETTER I WITH HOOK ABOVE;Lu;0;L;0049 0309;;;;N;;;;1EC9; 1EC9;LATIN SMALL LETTER I WITH HOOK ABOVE;Ll;0;L;0069 0309;;;;N;;;1EC8;;1EC8 1ECA;LATIN CAPITAL LETTER I WITH DOT BELOW;Lu;0;L;0049 0323;;;;N;;;;1ECB; 1ECB;LATIN SMALL LETTER I WITH DOT BELOW;Ll;0;L;0069 0323;;;;N;;;1ECA;;1ECA 1ECC;LATIN CAPITAL LETTER O WITH DOT BELOW;Lu;0;L;004F 0323;;;;N;;;;1ECD; 1ECD;LATIN SMALL LETTER O WITH DOT BELOW;Ll;0;L;006F 0323;;;;N;;;1ECC;;1ECC 1ECE;LATIN CAPITAL LETTER O WITH HOOK ABOVE;Lu;0;L;004F 0309;;;;N;;;;1ECF; 1ECF;LATIN SMALL LETTER O WITH HOOK ABOVE;Ll;0;L;006F 0309;;;;N;;;1ECE;;1ECE 1ED0;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE;Lu;0;L;00D4 0301;;;;N;;;;1ED1; 1ED1;LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE;Ll;0;L;00F4 0301;;;;N;;;1ED0;;1ED0 1ED2;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE;Lu;0;L;00D4 0300;;;;N;;;;1ED3; 1ED3;LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE;Ll;0;L;00F4 0300;;;;N;;;1ED2;;1ED2 1ED4;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE;Lu;0;L;00D4 0309;;;;N;;;;1ED5; 1ED5;LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE;Ll;0;L;00F4 0309;;;;N;;;1ED4;;1ED4 1ED6;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE;Lu;0;L;00D4 0303;;;;N;;;;1ED7; 1ED7;LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE;Ll;0;L;00F4 0303;;;;N;;;1ED6;;1ED6 1ED8;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW;Lu;0;L;00D4 0323;;;;N;;;;1ED9; 1ED9;LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW;Ll;0;L;00F4 0323;;;;N;;;1ED8;;1ED8 1EDA;LATIN CAPITAL LETTER O WITH HORN AND ACUTE;Lu;0;L;01A0 0301;;;;N;;;;1EDB; 1EDB;LATIN SMALL LETTER O WITH HORN AND ACUTE;Ll;0;L;01A1 0301;;;;N;;;1EDA;;1EDA 1EDC;LATIN CAPITAL LETTER O WITH HORN AND GRAVE;Lu;0;L;01A0 0300;;;;N;;;;1EDD; 1EDD;LATIN SMALL LETTER O WITH HORN AND GRAVE;Ll;0;L;01A1 0300;;;;N;;;1EDC;;1EDC 1EDE;LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE;Lu;0;L;01A0 0309;;;;N;;;;1EDF; 1EDF;LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE;Ll;0;L;01A1 0309;;;;N;;;1EDE;;1EDE 1EE0;LATIN CAPITAL LETTER O WITH HORN AND TILDE;Lu;0;L;01A0 0303;;;;N;;;;1EE1; 1EE1;LATIN SMALL LETTER O WITH HORN AND TILDE;Ll;0;L;01A1 0303;;;;N;;;1EE0;;1EE0 1EE2;LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW;Lu;0;L;01A0 0323;;;;N;;;;1EE3; 1EE3;LATIN SMALL LETTER O WITH HORN AND DOT BELOW;Ll;0;L;01A1 0323;;;;N;;;1EE2;;1EE2 1EE4;LATIN CAPITAL LETTER U WITH DOT BELOW;Lu;0;L;0055 0323;;;;N;;;;1EE5; 1EE5;LATIN SMALL LETTER U WITH DOT BELOW;Ll;0;L;0075 0323;;;;N;;;1EE4;;1EE4 1EE6;LATIN CAPITAL LETTER U WITH HOOK ABOVE;Lu;0;L;0055 0309;;;;N;;;;1EE7; 1EE7;LATIN SMALL LETTER U WITH HOOK ABOVE;Ll;0;L;0075 0309;;;;N;;;1EE6;;1EE6 1EE8;LATIN CAPITAL LETTER U WITH HORN AND ACUTE;Lu;0;L;01AF 0301;;;;N;;;;1EE9; 1EE9;LATIN SMALL LETTER U WITH HORN AND ACUTE;Ll;0;L;01B0 0301;;;;N;;;1EE8;;1EE8 1EEA;LATIN CAPITAL LETTER U WITH HORN AND GRAVE;Lu;0;L;01AF 0300;;;;N;;;;1EEB; 1EEB;LATIN SMALL LETTER U WITH HORN AND GRAVE;Ll;0;L;01B0 0300;;;;N;;;1EEA;;1EEA 1EEC;LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE;Lu;0;L;01AF 0309;;;;N;;;;1EED; 1EED;LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE;Ll;0;L;01B0 0309;;;;N;;;1EEC;;1EEC 1EEE;LATIN CAPITAL LETTER U WITH HORN AND TILDE;Lu;0;L;01AF 0303;;;;N;;;;1EEF; 1EEF;LATIN SMALL LETTER U WITH HORN AND TILDE;Ll;0;L;01B0 0303;;;;N;;;1EEE;;1EEE 1EF0;LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW;Lu;0;L;01AF 0323;;;;N;;;;1EF1; 1EF1;LATIN SMALL LETTER U WITH HORN AND DOT BELOW;Ll;0;L;01B0 0323;;;;N;;;1EF0;;1EF0 1EF2;LATIN CAPITAL LETTER Y WITH GRAVE;Lu;0;L;0059 0300;;;;N;;;;1EF3; 1EF3;LATIN SMALL LETTER Y WITH GRAVE;Ll;0;L;0079 0300;;;;N;;;1EF2;;1EF2 1EF4;LATIN CAPITAL LETTER Y WITH DOT BELOW;Lu;0;L;0059 0323;;;;N;;;;1EF5; 1EF5;LATIN SMALL LETTER Y WITH DOT BELOW;Ll;0;L;0079 0323;;;;N;;;1EF4;;1EF4 1EF6;LATIN CAPITAL LETTER Y WITH HOOK ABOVE;Lu;0;L;0059 0309;;;;N;;;;1EF7; 1EF7;LATIN SMALL LETTER Y WITH HOOK ABOVE;Ll;0;L;0079 0309;;;;N;;;1EF6;;1EF6 1EF8;LATIN CAPITAL LETTER Y WITH TILDE;Lu;0;L;0059 0303;;;;N;;;;1EF9; 1EF9;LATIN SMALL LETTER Y WITH TILDE;Ll;0;L;0079 0303;;;;N;;;1EF8;;1EF8 1F00;GREEK SMALL LETTER ALPHA WITH PSILI;Ll;0;L;03B1 0313;;;;N;;;1F08;;1F08 1F01;GREEK SMALL LETTER ALPHA WITH DASIA;Ll;0;L;03B1 0314;;;;N;;;1F09;;1F09 1F02;GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA;Ll;0;L;1F00 0300;;;;N;;;1F0A;;1F0A 1F03;GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA;Ll;0;L;1F01 0300;;;;N;;;1F0B;;1F0B 1F04;GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA;Ll;0;L;1F00 0301;;;;N;;;1F0C;;1F0C 1F05;GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA;Ll;0;L;1F01 0301;;;;N;;;1F0D;;1F0D 1F06;GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI;Ll;0;L;1F00 0342;;;;N;;;1F0E;;1F0E 1F07;GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI;Ll;0;L;1F01 0342;;;;N;;;1F0F;;1F0F 1F08;GREEK CAPITAL LETTER ALPHA WITH PSILI;Lu;0;L;0391 0313;;;;N;;;;1F00; 1F09;GREEK CAPITAL LETTER ALPHA WITH DASIA;Lu;0;L;0391 0314;;;;N;;;;1F01; 1F0A;GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA;Lu;0;L;1F08 0300;;;;N;;;;1F02; 1F0B;GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA;Lu;0;L;1F09 0300;;;;N;;;;1F03; 1F0C;GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA;Lu;0;L;1F08 0301;;;;N;;;;1F04; 1F0D;GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA;Lu;0;L;1F09 0301;;;;N;;;;1F05; 1F0E;GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI;Lu;0;L;1F08 0342;;;;N;;;;1F06; 1F0F;GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI;Lu;0;L;1F09 0342;;;;N;;;;1F07; 1F10;GREEK SMALL LETTER EPSILON WITH PSILI;Ll;0;L;03B5 0313;;;;N;;;1F18;;1F18 1F11;GREEK SMALL LETTER EPSILON WITH DASIA;Ll;0;L;03B5 0314;;;;N;;;1F19;;1F19 1F12;GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA;Ll;0;L;1F10 0300;;;;N;;;1F1A;;1F1A 1F13;GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA;Ll;0;L;1F11 0300;;;;N;;;1F1B;;1F1B 1F14;GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA;Ll;0;L;1F10 0301;;;;N;;;1F1C;;1F1C 1F15;GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA;Ll;0;L;1F11 0301;;;;N;;;1F1D;;1F1D 1F18;GREEK CAPITAL LETTER EPSILON WITH PSILI;Lu;0;L;0395 0313;;;;N;;;;1F10; 1F19;GREEK CAPITAL LETTER EPSILON WITH DASIA;Lu;0;L;0395 0314;;;;N;;;;1F11; 1F1A;GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA;Lu;0;L;1F18 0300;;;;N;;;;1F12; 1F1B;GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA;Lu;0;L;1F19 0300;;;;N;;;;1F13; 1F1C;GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA;Lu;0;L;1F18 0301;;;;N;;;;1F14; 1F1D;GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA;Lu;0;L;1F19 0301;;;;N;;;;1F15; 1F20;GREEK SMALL LETTER ETA WITH PSILI;Ll;0;L;03B7 0313;;;;N;;;1F28;;1F28 1F21;GREEK SMALL LETTER ETA WITH DASIA;Ll;0;L;03B7 0314;;;;N;;;1F29;;1F29 1F22;GREEK SMALL LETTER ETA WITH PSILI AND VARIA;Ll;0;L;1F20 0300;;;;N;;;1F2A;;1F2A 1F23;GREEK SMALL LETTER ETA WITH DASIA AND VARIA;Ll;0;L;1F21 0300;;;;N;;;1F2B;;1F2B 1F24;GREEK SMALL LETTER ETA WITH PSILI AND OXIA;Ll;0;L;1F20 0301;;;;N;;;1F2C;;1F2C 1F25;GREEK SMALL LETTER ETA WITH DASIA AND OXIA;Ll;0;L;1F21 0301;;;;N;;;1F2D;;1F2D 1F26;GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI;Ll;0;L;1F20 0342;;;;N;;;1F2E;;1F2E 1F27;GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI;Ll;0;L;1F21 0342;;;;N;;;1F2F;;1F2F 1F28;GREEK CAPITAL LETTER ETA WITH PSILI;Lu;0;L;0397 0313;;;;N;;;;1F20; 1F29;GREEK CAPITAL LETTER ETA WITH DASIA;Lu;0;L;0397 0314;;;;N;;;;1F21; 1F2A;GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA;Lu;0;L;1F28 0300;;;;N;;;;1F22; 1F2B;GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA;Lu;0;L;1F29 0300;;;;N;;;;1F23; 1F2C;GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA;Lu;0;L;1F28 0301;;;;N;;;;1F24; 1F2D;GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA;Lu;0;L;1F29 0301;;;;N;;;;1F25; 1F2E;GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI;Lu;0;L;1F28 0342;;;;N;;;;1F26; 1F2F;GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI;Lu;0;L;1F29 0342;;;;N;;;;1F27; 1F30;GREEK SMALL LETTER IOTA WITH PSILI;Ll;0;L;03B9 0313;;;;N;;;1F38;;1F38 1F31;GREEK SMALL LETTER IOTA WITH DASIA;Ll;0;L;03B9 0314;;;;N;;;1F39;;1F39 1F32;GREEK SMALL LETTER IOTA WITH PSILI AND VARIA;Ll;0;L;1F30 0300;;;;N;;;1F3A;;1F3A 1F33;GREEK SMALL LETTER IOTA WITH DASIA AND VARIA;Ll;0;L;1F31 0300;;;;N;;;1F3B;;1F3B 1F34;GREEK SMALL LETTER IOTA WITH PSILI AND OXIA;Ll;0;L;1F30 0301;;;;N;;;1F3C;;1F3C 1F35;GREEK SMALL LETTER IOTA WITH DASIA AND OXIA;Ll;0;L;1F31 0301;;;;N;;;1F3D;;1F3D 1F36;GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI;Ll;0;L;1F30 0342;;;;N;;;1F3E;;1F3E 1F37;GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI;Ll;0;L;1F31 0342;;;;N;;;1F3F;;1F3F 1F38;GREEK CAPITAL LETTER IOTA WITH PSILI;Lu;0;L;0399 0313;;;;N;;;;1F30; 1F39;GREEK CAPITAL LETTER IOTA WITH DASIA;Lu;0;L;0399 0314;;;;N;;;;1F31; 1F3A;GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA;Lu;0;L;1F38 0300;;;;N;;;;1F32; 1F3B;GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA;Lu;0;L;1F39 0300;;;;N;;;;1F33; 1F3C;GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA;Lu;0;L;1F38 0301;;;;N;;;;1F34; 1F3D;GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA;Lu;0;L;1F39 0301;;;;N;;;;1F35; 1F3E;GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI;Lu;0;L;1F38 0342;;;;N;;;;1F36; 1F3F;GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI;Lu;0;L;1F39 0342;;;;N;;;;1F37; 1F40;GREEK SMALL LETTER OMICRON WITH PSILI;Ll;0;L;03BF 0313;;;;N;;;1F48;;1F48 1F41;GREEK SMALL LETTER OMICRON WITH DASIA;Ll;0;L;03BF 0314;;;;N;;;1F49;;1F49 1F42;GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA;Ll;0;L;1F40 0300;;;;N;;;1F4A;;1F4A 1F43;GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA;Ll;0;L;1F41 0300;;;;N;;;1F4B;;1F4B 1F44;GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA;Ll;0;L;1F40 0301;;;;N;;;1F4C;;1F4C 1F45;GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA;Ll;0;L;1F41 0301;;;;N;;;1F4D;;1F4D 1F48;GREEK CAPITAL LETTER OMICRON WITH PSILI;Lu;0;L;039F 0313;;;;N;;;;1F40; 1F49;GREEK CAPITAL LETTER OMICRON WITH DASIA;Lu;0;L;039F 0314;;;;N;;;;1F41; 1F4A;GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA;Lu;0;L;1F48 0300;;;;N;;;;1F42; 1F4B;GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA;Lu;0;L;1F49 0300;;;;N;;;;1F43; 1F4C;GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA;Lu;0;L;1F48 0301;;;;N;;;;1F44; 1F4D;GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA;Lu;0;L;1F49 0301;;;;N;;;;1F45; 1F50;GREEK SMALL LETTER UPSILON WITH PSILI;Ll;0;L;03C5 0313;;;;N;;;;; 1F51;GREEK SMALL LETTER UPSILON WITH DASIA;Ll;0;L;03C5 0314;;;;N;;;1F59;;1F59 1F52;GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA;Ll;0;L;1F50 0300;;;;N;;;;; 1F53;GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA;Ll;0;L;1F51 0300;;;;N;;;1F5B;;1F5B 1F54;GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA;Ll;0;L;1F50 0301;;;;N;;;;; 1F55;GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA;Ll;0;L;1F51 0301;;;;N;;;1F5D;;1F5D 1F56;GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI;Ll;0;L;1F50 0342;;;;N;;;;; 1F57;GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI;Ll;0;L;1F51 0342;;;;N;;;1F5F;;1F5F 1F59;GREEK CAPITAL LETTER UPSILON WITH DASIA;Lu;0;L;03A5 0314;;;;N;;;;1F51; 1F5B;GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA;Lu;0;L;1F59 0300;;;;N;;;;1F53; 1F5D;GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA;Lu;0;L;1F59 0301;;;;N;;;;1F55; 1F5F;GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI;Lu;0;L;1F59 0342;;;;N;;;;1F57; 1F60;GREEK SMALL LETTER OMEGA WITH PSILI;Ll;0;L;03C9 0313;;;;N;;;1F68;;1F68 1F61;GREEK SMALL LETTER OMEGA WITH DASIA;Ll;0;L;03C9 0314;;;;N;;;1F69;;1F69 1F62;GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA;Ll;0;L;1F60 0300;;;;N;;;1F6A;;1F6A 1F63;GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA;Ll;0;L;1F61 0300;;;;N;;;1F6B;;1F6B 1F64;GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA;Ll;0;L;1F60 0301;;;;N;;;1F6C;;1F6C 1F65;GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA;Ll;0;L;1F61 0301;;;;N;;;1F6D;;1F6D 1F66;GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI;Ll;0;L;1F60 0342;;;;N;;;1F6E;;1F6E 1F67;GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI;Ll;0;L;1F61 0342;;;;N;;;1F6F;;1F6F 1F68;GREEK CAPITAL LETTER OMEGA WITH PSILI;Lu;0;L;03A9 0313;;;;N;;;;1F60; 1F69;GREEK CAPITAL LETTER OMEGA WITH DASIA;Lu;0;L;03A9 0314;;;;N;;;;1F61; 1F6A;GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA;Lu;0;L;1F68 0300;;;;N;;;;1F62; 1F6B;GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA;Lu;0;L;1F69 0300;;;;N;;;;1F63; 1F6C;GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA;Lu;0;L;1F68 0301;;;;N;;;;1F64; 1F6D;GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA;Lu;0;L;1F69 0301;;;;N;;;;1F65; 1F6E;GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI;Lu;0;L;1F68 0342;;;;N;;;;1F66; 1F6F;GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI;Lu;0;L;1F69 0342;;;;N;;;;1F67; 1F70;GREEK SMALL LETTER ALPHA WITH VARIA;Ll;0;L;03B1 0300;;;;N;;;1FBA;;1FBA 1F71;GREEK SMALL LETTER ALPHA WITH OXIA;Ll;0;L;03AC;;;;N;;;1FBB;;1FBB 1F72;GREEK SMALL LETTER EPSILON WITH VARIA;Ll;0;L;03B5 0300;;;;N;;;1FC8;;1FC8 1F73;GREEK SMALL LETTER EPSILON WITH OXIA;Ll;0;L;03AD;;;;N;;;1FC9;;1FC9 1F74;GREEK SMALL LETTER ETA WITH VARIA;Ll;0;L;03B7 0300;;;;N;;;1FCA;;1FCA 1F75;GREEK SMALL LETTER ETA WITH OXIA;Ll;0;L;03AE;;;;N;;;1FCB;;1FCB 1F76;GREEK SMALL LETTER IOTA WITH VARIA;Ll;0;L;03B9 0300;;;;N;;;1FDA;;1FDA 1F77;GREEK SMALL LETTER IOTA WITH OXIA;Ll;0;L;03AF;;;;N;;;1FDB;;1FDB 1F78;GREEK SMALL LETTER OMICRON WITH VARIA;Ll;0;L;03BF 0300;;;;N;;;1FF8;;1FF8 1F79;GREEK SMALL LETTER OMICRON WITH OXIA;Ll;0;L;03CC;;;;N;;;1FF9;;1FF9 1F7A;GREEK SMALL LETTER UPSILON WITH VARIA;Ll;0;L;03C5 0300;;;;N;;;1FEA;;1FEA 1F7B;GREEK SMALL LETTER UPSILON WITH OXIA;Ll;0;L;03CD;;;;N;;;1FEB;;1FEB 1F7C;GREEK SMALL LETTER OMEGA WITH VARIA;Ll;0;L;03C9 0300;;;;N;;;1FFA;;1FFA 1F7D;GREEK SMALL LETTER OMEGA WITH OXIA;Ll;0;L;03CE;;;;N;;;1FFB;;1FFB 1F80;GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI;Ll;0;L;1F00 0345;;;;N;;;1F88;;1F88 1F81;GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI;Ll;0;L;1F01 0345;;;;N;;;1F89;;1F89 1F82;GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F02 0345;;;;N;;;1F8A;;1F8A 1F83;GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F03 0345;;;;N;;;1F8B;;1F8B 1F84;GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F04 0345;;;;N;;;1F8C;;1F8C 1F85;GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F05 0345;;;;N;;;1F8D;;1F8D 1F86;GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F06 0345;;;;N;;;1F8E;;1F8E 1F87;GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F07 0345;;;;N;;;1F8F;;1F8F 1F88;GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI;Lu;0;L;1F08 0345;;;;N;;;;1F80; 1F89;GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI;Lu;0;L;1F09 0345;;;;N;;;;1F81; 1F8A;GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI;Lu;0;L;1F0A 0345;;;;N;;;;1F82; 1F8B;GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI;Lu;0;L;1F0B 0345;;;;N;;;;1F83; 1F8C;GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI;Lu;0;L;1F0C 0345;;;;N;;;;1F84; 1F8D;GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI;Lu;0;L;1F0D 0345;;;;N;;;;1F85; 1F8E;GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI;Lu;0;L;1F0E 0345;;;;N;;;;1F86; 1F8F;GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI;Lu;0;L;1F0F 0345;;;;N;;;;1F87; 1F90;GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI;Ll;0;L;1F20 0345;;;;N;;;1F98;;1F98 1F91;GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI;Ll;0;L;1F21 0345;;;;N;;;1F99;;1F99 1F92;GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F22 0345;;;;N;;;1F9A;;1F9A 1F93;GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F23 0345;;;;N;;;1F9B;;1F9B 1F94;GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F24 0345;;;;N;;;1F9C;;1F9C 1F95;GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F25 0345;;;;N;;;1F9D;;1F9D 1F96;GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F26 0345;;;;N;;;1F9E;;1F9E 1F97;GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F27 0345;;;;N;;;1F9F;;1F9F 1F98;GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI;Lu;0;L;1F28 0345;;;;N;;;;1F90; 1F99;GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI;Lu;0;L;1F29 0345;;;;N;;;;1F91; 1F9A;GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI;Lu;0;L;1F2A 0345;;;;N;;;;1F92; 1F9B;GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI;Lu;0;L;1F2B 0345;;;;N;;;;1F93; 1F9C;GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI;Lu;0;L;1F2C 0345;;;;N;;;;1F94; 1F9D;GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI;Lu;0;L;1F2D 0345;;;;N;;;;1F95; 1F9E;GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI;Lu;0;L;1F2E 0345;;;;N;;;;1F96; 1F9F;GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI;Lu;0;L;1F2F 0345;;;;N;;;;1F97; 1FA0;GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI;Ll;0;L;1F60 0345;;;;N;;;1FA8;;1FA8 1FA1;GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI;Ll;0;L;1F61 0345;;;;N;;;1FA9;;1FA9 1FA2;GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F62 0345;;;;N;;;1FAA;;1FAA 1FA3;GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F63 0345;;;;N;;;1FAB;;1FAB 1FA4;GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F64 0345;;;;N;;;1FAC;;1FAC 1FA5;GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F65 0345;;;;N;;;1FAD;;1FAD 1FA6;GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F66 0345;;;;N;;;1FAE;;1FAE 1FA7;GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F67 0345;;;;N;;;1FAF;;1FAF 1FA8;GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI;Lu;0;L;1F68 0345;;;;N;;;;1FA0; 1FA9;GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI;Lu;0;L;1F69 0345;;;;N;;;;1FA1; 1FAA;GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI;Lu;0;L;1F6A 0345;;;;N;;;;1FA2; 1FAB;GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI;Lu;0;L;1F6B 0345;;;;N;;;;1FA3; 1FAC;GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI;Lu;0;L;1F6C 0345;;;;N;;;;1FA4; 1FAD;GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI;Lu;0;L;1F6D 0345;;;;N;;;;1FA5; 1FAE;GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI;Lu;0;L;1F6E 0345;;;;N;;;;1FA6; 1FAF;GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI;Lu;0;L;1F6F 0345;;;;N;;;;1FA7; 1FB0;GREEK SMALL LETTER ALPHA WITH VRACHY;Ll;0;L;03B1 0306;;;;N;;;1FB8;;1FB8 1FB1;GREEK SMALL LETTER ALPHA WITH MACRON;Ll;0;L;03B1 0304;;;;N;;;1FB9;;1FB9 1FB2;GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI;Ll;0;L;1F70 0345;;;;N;;;;; 1FB3;GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI;Ll;0;L;03B1 0345;;;;N;;;1FBC;;1FBC 1FB4;GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI;Ll;0;L;03AC 0345;;;;N;;;;; 1FB6;GREEK SMALL LETTER ALPHA WITH PERISPOMENI;Ll;0;L;03B1 0342;;;;N;;;;; 1FB7;GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1FB6 0345;;;;N;;;;; 1FB8;GREEK CAPITAL LETTER ALPHA WITH VRACHY;Lu;0;L;0391 0306;;;;N;;;;1FB0; 1FB9;GREEK CAPITAL LETTER ALPHA WITH MACRON;Lu;0;L;0391 0304;;;;N;;;;1FB1; 1FBA;GREEK CAPITAL LETTER ALPHA WITH VARIA;Lu;0;L;0391 0300;;;;N;;;;1F70; 1FBB;GREEK CAPITAL LETTER ALPHA WITH OXIA;Lu;0;L;0386;;;;N;;;;1F71; 1FBC;GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI;Lu;0;L;0391 0345;;;;N;;;;1FB3; 1FBD;GREEK KORONIS;Sk;0;ON; 0020 0313;;;;N;;;;; 1FBE;GREEK PROSGEGRAMMENI;Ll;0;L;03B9;;;;N;;;0399;; 1FBF;GREEK PSILI;Sk;0;ON; 0020 0313;;;;N;;;;; 1FC0;GREEK PERISPOMENI;Sk;0;ON; 0020 0342;;;;N;;;;; 1FC1;GREEK DIALYTIKA AND PERISPOMENI;Sk;0;ON;00A8 0342;;;;N;;;;; 1FC2;GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI;Ll;0;L;1F74 0345;;;;N;;;;; 1FC3;GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI;Ll;0;L;03B7 0345;;;;N;;;1FCC;;1FCC 1FC4;GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI;Ll;0;L;03AE 0345;;;;N;;;;; 1FC6;GREEK SMALL LETTER ETA WITH PERISPOMENI;Ll;0;L;03B7 0342;;;;N;;;;; 1FC7;GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1FC6 0345;;;;N;;;;; 1FC8;GREEK CAPITAL LETTER EPSILON WITH VARIA;Lu;0;L;0395 0300;;;;N;;;;1F72; 1FC9;GREEK CAPITAL LETTER EPSILON WITH OXIA;Lu;0;L;0388;;;;N;;;;1F73; 1FCA;GREEK CAPITAL LETTER ETA WITH VARIA;Lu;0;L;0397 0300;;;;N;;;;1F74; 1FCB;GREEK CAPITAL LETTER ETA WITH OXIA;Lu;0;L;0389;;;;N;;;;1F75; 1FCC;GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI;Lu;0;L;0397 0345;;;;N;;;;1FC3; 1FCD;GREEK PSILI AND VARIA;Sk;0;ON;1FBF 0300;;;;N;;;;; 1FCE;GREEK PSILI AND OXIA;Sk;0;ON;1FBF 0301;;;;N;;;;; 1FCF;GREEK PSILI AND PERISPOMENI;Sk;0;ON;1FBF 0342;;;;N;;;;; 1FD0;GREEK SMALL LETTER IOTA WITH VRACHY;Ll;0;L;03B9 0306;;;;N;;;1FD8;;1FD8 1FD1;GREEK SMALL LETTER IOTA WITH MACRON;Ll;0;L;03B9 0304;;;;N;;;1FD9;;1FD9 1FD2;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA;Ll;0;L;03CA 0300;;;;N;;;;; 1FD3;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA;Ll;0;L;0390;;;;N;;;;; 1FD6;GREEK SMALL LETTER IOTA WITH PERISPOMENI;Ll;0;L;03B9 0342;;;;N;;;;; 1FD7;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI;Ll;0;L;03CA 0342;;;;N;;;;; 1FD8;GREEK CAPITAL LETTER IOTA WITH VRACHY;Lu;0;L;0399 0306;;;;N;;;;1FD0; 1FD9;GREEK CAPITAL LETTER IOTA WITH MACRON;Lu;0;L;0399 0304;;;;N;;;;1FD1; 1FDA;GREEK CAPITAL LETTER IOTA WITH VARIA;Lu;0;L;0399 0300;;;;N;;;;1F76; 1FDB;GREEK CAPITAL LETTER IOTA WITH OXIA;Lu;0;L;038A;;;;N;;;;1F77; 1FDD;GREEK DASIA AND VARIA;Sk;0;ON;1FFE 0300;;;;N;;;;; 1FDE;GREEK DASIA AND OXIA;Sk;0;ON;1FFE 0301;;;;N;;;;; 1FDF;GREEK DASIA AND PERISPOMENI;Sk;0;ON;1FFE 0342;;;;N;;;;; 1FE0;GREEK SMALL LETTER UPSILON WITH VRACHY;Ll;0;L;03C5 0306;;;;N;;;1FE8;;1FE8 1FE1;GREEK SMALL LETTER UPSILON WITH MACRON;Ll;0;L;03C5 0304;;;;N;;;1FE9;;1FE9 1FE2;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA;Ll;0;L;03CB 0300;;;;N;;;;; 1FE3;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA;Ll;0;L;03B0;;;;N;;;;; 1FE4;GREEK SMALL LETTER RHO WITH PSILI;Ll;0;L;03C1 0313;;;;N;;;;; 1FE5;GREEK SMALL LETTER RHO WITH DASIA;Ll;0;L;03C1 0314;;;;N;;;1FEC;;1FEC 1FE6;GREEK SMALL LETTER UPSILON WITH PERISPOMENI;Ll;0;L;03C5 0342;;;;N;;;;; 1FE7;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI;Ll;0;L;03CB 0342;;;;N;;;;; 1FE8;GREEK CAPITAL LETTER UPSILON WITH VRACHY;Lu;0;L;03A5 0306;;;;N;;;;1FE0; 1FE9;GREEK CAPITAL LETTER UPSILON WITH MACRON;Lu;0;L;03A5 0304;;;;N;;;;1FE1; 1FEA;GREEK CAPITAL LETTER UPSILON WITH VARIA;Lu;0;L;03A5 0300;;;;N;;;;1F7A; 1FEB;GREEK CAPITAL LETTER UPSILON WITH OXIA;Lu;0;L;038E;;;;N;;;;1F7B; 1FEC;GREEK CAPITAL LETTER RHO WITH DASIA;Lu;0;L;03A1 0314;;;;N;;;;1FE5; 1FED;GREEK DIALYTIKA AND VARIA;Sk;0;ON;00A8 0300;;;;N;;;;; 1FEE;GREEK DIALYTIKA AND OXIA;Sk;0;ON;0385;;;;N;;;;; 1FEF;GREEK VARIA;Sk;0;ON;0060;;;;N;;;;; 1FF2;GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI;Ll;0;L;1F7C 0345;;;;N;;;;; 1FF3;GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI;Ll;0;L;03C9 0345;;;;N;;;1FFC;;1FFC 1FF4;GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI;Ll;0;L;03CE 0345;;;;N;;;;; 1FF6;GREEK SMALL LETTER OMEGA WITH PERISPOMENI;Ll;0;L;03C9 0342;;;;N;;;;; 1FF7;GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1FF6 0345;;;;N;;;;; 1FF8;GREEK CAPITAL LETTER OMICRON WITH VARIA;Lu;0;L;039F 0300;;;;N;;;;1F78; 1FF9;GREEK CAPITAL LETTER OMICRON WITH OXIA;Lu;0;L;038C;;;;N;;;;1F79; 1FFA;GREEK CAPITAL LETTER OMEGA WITH VARIA;Lu;0;L;03A9 0300;;;;N;;;;1F7C; 1FFB;GREEK CAPITAL LETTER OMEGA WITH OXIA;Lu;0;L;038F;;;;N;;;;1F7D; 1FFC;GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI;Lu;0;L;03A9 0345;;;;N;;;;1FF3; 1FFD;GREEK OXIA;Sk;0;ON;00B4;;;;N;;;;; 1FFE;GREEK DASIA;Sk;0;ON; 0020 0314;;;;N;;;;; 2000;EN QUAD;Zs;0;WS;2002;;;;N;;;;; 2001;EM QUAD;Zs;0;WS;2003;;;;N;;;;; 2002;EN SPACE;Zs;0;WS; 0020;;;;N;;;;; 2003;EM SPACE;Zs;0;WS; 0020;;;;N;;;;; 2004;THREE-PER-EM SPACE;Zs;0;WS; 0020;;;;N;;;;; 2005;FOUR-PER-EM SPACE;Zs;0;WS; 0020;;;;N;;;;; 2006;SIX-PER-EM SPACE;Zs;0;WS; 0020;;;;N;;;;; 2007;FIGURE SPACE;Zs;0;CS; 0020;;;;N;;;;; 2008;PUNCTUATION SPACE;Zs;0;WS; 0020;;;;N;;;;; 2009;THIN SPACE;Zs;0;WS; 0020;;;;N;;;;; 200A;HAIR SPACE;Zs;0;WS; 0020;;;;N;;;;; 200B;ZERO WIDTH SPACE;Zs;0;WS;;;;;N;;;;; 200C;ZERO WIDTH NON-JOINER;Cf;0;ON;;;;;N;;;;; 200D;ZERO WIDTH JOINER;Cf;0;ON;;;;;N;;;;; 200E;LEFT-TO-RIGHT MARK;Cf;0;L;;;;;N;;;;; 200F;RIGHT-TO-LEFT MARK;Cf;0;R;;;;;N;;;;; 2010;HYPHEN;Pd;0;ON;;;;;N;;;;; 2011;NON-BREAKING HYPHEN;Pd;0;ON; 2010;;;;N;;;;; 2012;FIGURE DASH;Pd;0;ON;;;;;N;;;;; 2013;EN DASH;Pd;0;ON;;;;;N;;;;; 2014;EM DASH;Pd;0;ON;;;;;N;;;;; 2015;HORIZONTAL BAR;Pd;0;ON;;;;;N;QUOTATION DASH;;;; 2016;DOUBLE VERTICAL LINE;Po;0;ON;;;;;N;DOUBLE VERTICAL BAR;;;; 2017;DOUBLE LOW LINE;Po;0;ON; 0020 0333;;;;N;SPACING DOUBLE UNDERSCORE;;;; 2018;LEFT SINGLE QUOTATION MARK;Pi;0;ON;;;;;N;SINGLE TURNED COMMA QUOTATION MARK;;;; 2019;RIGHT SINGLE QUOTATION MARK;Pf;0;ON;;;;;N;SINGLE COMMA QUOTATION MARK;;;; 201A;SINGLE LOW-9 QUOTATION MARK;Ps;0;ON;;;;;N;LOW SINGLE COMMA QUOTATION MARK;;;; 201B;SINGLE HIGH-REVERSED-9 QUOTATION MARK;Pi;0;ON;;;;;N;SINGLE REVERSED COMMA QUOTATION MARK;;;; 201C;LEFT DOUBLE QUOTATION MARK;Pi;0;ON;;;;;N;DOUBLE TURNED COMMA QUOTATION MARK;;;; 201D;RIGHT DOUBLE QUOTATION MARK;Pf;0;ON;;;;;N;DOUBLE COMMA QUOTATION MARK;;;; 201E;DOUBLE LOW-9 QUOTATION MARK;Ps;0;ON;;;;;N;LOW DOUBLE COMMA QUOTATION MARK;;;; 201F;DOUBLE HIGH-REVERSED-9 QUOTATION MARK;Pi;0;ON;;;;;N;DOUBLE REVERSED COMMA QUOTATION MARK;;;; 2020;DAGGER;Po;0;ON;;;;;N;;;;; 2021;DOUBLE DAGGER;Po;0;ON;;;;;N;;;;; 2022;BULLET;Po;0;ON;;;;;N;;;;; 2023;TRIANGULAR BULLET;Po;0;ON;;;;;N;;;;; 2024;ONE DOT LEADER;Po;0;ON; 002E;;;;N;;;;; 2025;TWO DOT LEADER;Po;0;ON; 002E 002E;;;;N;;;;; 2026;HORIZONTAL ELLIPSIS;Po;0;ON; 002E 002E 002E;;;;N;;;;; 2027;HYPHENATION POINT;Po;0;ON;;;;;N;;;;; 2028;LINE SEPARATOR;Zl;0;B;;;;;N;;;;; 2029;PARAGRAPH SEPARATOR;Zp;0;B;;;;;N;;;;; 202A;LEFT-TO-RIGHT EMBEDDING;Cf;0;L;;;;;N;;;;; 202B;RIGHT-TO-LEFT EMBEDDING;Cf;0;R;;;;;N;;;;; 202C;POP DIRECTIONAL FORMATTING;Cf;0;ON;;;;;N;;;;; 202D;LEFT-TO-RIGHT OVERRIDE;Cf;0;L;;;;;N;;;;; 202E;RIGHT-TO-LEFT OVERRIDE;Cf;0;R;;;;;N;;;;; 2030;PER MILLE SIGN;Po;0;ET;;;;;N;;;;; 2031;PER TEN THOUSAND SIGN;Po;0;ET;;;;;N;;;;; 2032;PRIME;Po;0;ET;;;;;N;;;;; 2033;DOUBLE PRIME;Po;0;ET; 2032 2032;;;;N;;;;; 2034;TRIPLE PRIME;Po;0;ET; 2032 2032 2032;;;;N;;;;; 2035;REVERSED PRIME;Po;0;ON;;;;;N;;;;; 2036;REVERSED DOUBLE PRIME;Po;0;ON; 2035 2035;;;;N;;;;; 2037;REVERSED TRIPLE PRIME;Po;0;ON; 2035 2035 2035;;;;N;;;;; 2038;CARET;Po;0;ON;;;;;N;;;;; 2039;SINGLE LEFT-POINTING ANGLE QUOTATION MARK;Pi;0;ON;;;;;Y;LEFT POINTING SINGLE GUILLEMET;;;; 203A;SINGLE RIGHT-POINTING ANGLE QUOTATION MARK;Pf;0;ON;;;;;Y;RIGHT POINTING SINGLE GUILLEMET;;;; 203B;REFERENCE MARK;Po;0;ON;;;;;N;;;;; 203C;DOUBLE EXCLAMATION MARK;Po;0;ON; 0021 0021;;;;N;;;;; 203D;INTERROBANG;Po;0;ON;;;;;N;;;;; 203E;OVERLINE;Po;0;ON; 0020 0305;;;;N;SPACING OVERSCORE;;;; 203F;UNDERTIE;Pc;0;ON;;;;;N;;Enotikon;;; 2040;CHARACTER TIE;Pc;0;ON;;;;;N;;;;; 2041;CARET INSERTION POINT;Po;0;ON;;;;;N;;;;; 2042;ASTERISM;Po;0;ON;;;;;N;;;;; 2043;HYPHEN BULLET;Po;0;ON;;;;;N;;;;; 2044;FRACTION SLASH;Sm;0;ON;;;;;N;;;;; 2045;LEFT SQUARE BRACKET WITH QUILL;Ps;0;ON;;;;;Y;;;;; 2046;RIGHT SQUARE BRACKET WITH QUILL;Pe;0;ON;;;;;Y;;;;; 206A;INHIBIT SYMMETRIC SWAPPING;Cf;0;ON;;;;;N;;;;; 206B;ACTIVATE SYMMETRIC SWAPPING;Cf;0;ON;;;;;N;;;;; 206C;INHIBIT ARABIC FORM SHAPING;Cf;0;ON;;;;;N;;;;; 206D;ACTIVATE ARABIC FORM SHAPING;Cf;0;ON;;;;;N;;;;; 206E;NATIONAL DIGIT SHAPES;Cf;0;ON;;;;;N;;;;; 206F;NOMINAL DIGIT SHAPES;Cf;0;ON;;;;;N;;;;; 2070;SUPERSCRIPT ZERO;No;0;EN; 0030;0;0;0;N;SUPERSCRIPT DIGIT ZERO;;;; 2074;SUPERSCRIPT FOUR;No;0;EN; 0034;4;4;4;N;SUPERSCRIPT DIGIT FOUR;;;; 2075;SUPERSCRIPT FIVE;No;0;EN; 0035;5;5;5;N;SUPERSCRIPT DIGIT FIVE;;;; 2076;SUPERSCRIPT SIX;No;0;EN; 0036;6;6;6;N;SUPERSCRIPT DIGIT SIX;;;; 2077;SUPERSCRIPT SEVEN;No;0;EN; 0037;7;7;7;N;SUPERSCRIPT DIGIT SEVEN;;;; 2078;SUPERSCRIPT EIGHT;No;0;EN; 0038;8;8;8;N;SUPERSCRIPT DIGIT EIGHT;;;; 2079;SUPERSCRIPT NINE;No;0;EN; 0039;9;9;9;N;SUPERSCRIPT DIGIT NINE;;;; 207A;SUPERSCRIPT PLUS SIGN;Sm;0;ET; 002B;;;;N;;;;; 207B;SUPERSCRIPT MINUS;Sm;0;ET; 2212;;;;N;SUPERSCRIPT HYPHEN-MINUS;;;; 207C;SUPERSCRIPT EQUALS SIGN;Sm;0;ON; 003D;;;;N;;;;; 207D;SUPERSCRIPT LEFT PARENTHESIS;Ps;0;ON; 0028;;;;Y;SUPERSCRIPT OPENING PARENTHESIS;;;; 207E;SUPERSCRIPT RIGHT PARENTHESIS;Pe;0;ON; 0029;;;;Y;SUPERSCRIPT CLOSING PARENTHESIS;;;; 207F;SUPERSCRIPT LATIN SMALL LETTER N;Ll;0;L; 006E;;;;N;;;;; 2080;SUBSCRIPT ZERO;No;0;EN; 0030;0;0;0;N;SUBSCRIPT DIGIT ZERO;;;; 2081;SUBSCRIPT ONE;No;0;EN; 0031;1;1;1;N;SUBSCRIPT DIGIT ONE;;;; 2082;SUBSCRIPT TWO;No;0;EN; 0032;2;2;2;N;SUBSCRIPT DIGIT TWO;;;; 2083;SUBSCRIPT THREE;No;0;EN; 0033;3;3;3;N;SUBSCRIPT DIGIT THREE;;;; 2084;SUBSCRIPT FOUR;No;0;EN; 0034;4;4;4;N;SUBSCRIPT DIGIT FOUR;;;; 2085;SUBSCRIPT FIVE;No;0;EN; 0035;5;5;5;N;SUBSCRIPT DIGIT FIVE;;;; 2086;SUBSCRIPT SIX;No;0;EN; 0036;6;6;6;N;SUBSCRIPT DIGIT SIX;;;; 2087;SUBSCRIPT SEVEN;No;0;EN; 0037;7;7;7;N;SUBSCRIPT DIGIT SEVEN;;;; 2088;SUBSCRIPT EIGHT;No;0;EN; 0038;8;8;8;N;SUBSCRIPT DIGIT EIGHT;;;; 2089;SUBSCRIPT NINE;No;0;EN; 0039;9;9;9;N;SUBSCRIPT DIGIT NINE;;;; 208A;SUBSCRIPT PLUS SIGN;Sm;0;ET; 002B;;;;N;;;;; 208B;SUBSCRIPT MINUS;Sm;0;ET; 2212;;;;N;SUBSCRIPT HYPHEN-MINUS;;;; 208C;SUBSCRIPT EQUALS SIGN;Sm;0;ON; 003D;;;;N;;;;; 208D;SUBSCRIPT LEFT PARENTHESIS;Ps;0;ON; 0028;;;;Y;SUBSCRIPT OPENING PARENTHESIS;;;; 208E;SUBSCRIPT RIGHT PARENTHESIS;Pe;0;ON; 0029;;;;Y;SUBSCRIPT CLOSING PARENTHESIS;;;; 20A0;EURO-CURRENCY SIGN;Sc;0;ET;;;;;N;;;;; 20A1;COLON SIGN;Sc;0;ET;;;;;N;;;;; 20A2;CRUZEIRO SIGN;Sc;0;ET;;;;;N;;;;; 20A3;FRENCH FRANC SIGN;Sc;0;ET;;;;;N;;;;; 20A4;LIRA SIGN;Sc;0;ET;;;;;N;;;;; 20A5;MILL SIGN;Sc;0;ET;;;;;N;;;;; 20A6;NAIRA SIGN;Sc;0;ET;;;;;N;;;;; 20A7;PESETA SIGN;Sc;0;ET;;;;;N;;;;; 20A8;RUPEE SIGN;Sc;0;ET; 0052 0073;;;;N;;;;; 20A9;WON SIGN;Sc;0;ET;;;;;N;;;;; 20AA;NEW SHEQEL SIGN;Sc;0;ET;;;;;N;;;;; 20AB;DONG SIGN;Sc;0;ET;;;;;N;;;;; 20AC;EURO SIGN;Sc;0;ET;;;;;N;;;;; 20D0;COMBINING LEFT HARPOON ABOVE;Mn;230;ON;;;;;N;NON-SPACING LEFT HARPOON ABOVE;;;; 20D1;COMBINING RIGHT HARPOON ABOVE;Mn;230;ON;;;;;N;NON-SPACING RIGHT HARPOON ABOVE;;;; 20D2;COMBINING LONG VERTICAL LINE OVERLAY;Mn;1;ON;;;;;N;NON-SPACING LONG VERTICAL BAR OVERLAY;;;; 20D3;COMBINING SHORT VERTICAL LINE OVERLAY;Mn;1;ON;;;;;N;NON-SPACING SHORT VERTICAL BAR OVERLAY;;;; 20D4;COMBINING ANTICLOCKWISE ARROW ABOVE;Mn;230;ON;;;;;N;NON-SPACING ANTICLOCKWISE ARROW ABOVE;;;; 20D5;COMBINING CLOCKWISE ARROW ABOVE;Mn;230;ON;;;;;N;NON-SPACING CLOCKWISE ARROW ABOVE;;;; 20D6;COMBINING LEFT ARROW ABOVE;Mn;230;ON;;;;;N;NON-SPACING LEFT ARROW ABOVE;;;; 20D7;COMBINING RIGHT ARROW ABOVE;Mn;230;ON;;;;;N;NON-SPACING RIGHT ARROW ABOVE;;;; 20D8;COMBINING RING OVERLAY;Mn;1;ON;;;;;N;NON-SPACING RING OVERLAY;;;; 20D9;COMBINING CLOCKWISE RING OVERLAY;Mn;1;ON;;;;;N;NON-SPACING CLOCKWISE RING OVERLAY;;;; 20DA;COMBINING ANTICLOCKWISE RING OVERLAY;Mn;1;ON;;;;;N;NON-SPACING ANTICLOCKWISE RING OVERLAY;;;; 20DB;COMBINING THREE DOTS ABOVE;Mn;230;ON;;;;;N;NON-SPACING THREE DOTS ABOVE;;;; 20DC;COMBINING FOUR DOTS ABOVE;Mn;230;ON;;;;;N;NON-SPACING FOUR DOTS ABOVE;;;; 20DD;COMBINING ENCLOSING CIRCLE;Me;0;ON;;;;;N;ENCLOSING CIRCLE;;;; 20DE;COMBINING ENCLOSING SQUARE;Me;0;ON;;;;;N;ENCLOSING SQUARE;;;; 20DF;COMBINING ENCLOSING DIAMOND;Me;0;ON;;;;;N;ENCLOSING DIAMOND;;;; 20E0;COMBINING ENCLOSING CIRCLE BACKSLASH;Me;0;ON;;;;;N;ENCLOSING CIRCLE SLASH;;;; 20E1;COMBINING LEFT RIGHT ARROW ABOVE;Mn;1;ON;;;;;N;NON-SPACING LEFT RIGHT ARROW ABOVE;;;; 2100;ACCOUNT OF;So;0;ON; 0061 002F 0063;;;;N;;;;; 2101;ADDRESSED TO THE SUBJECT;So;0;ON; 0061 002F 0073;;;;N;;;;; 2102;DOUBLE-STRUCK CAPITAL C;Lu;0;L; 0043;;;;N;DOUBLE-STRUCK C;;;; 2103;DEGREE CELSIUS;So;0;ON; 00B0 0043;;;;N;DEGREES CENTIGRADE;;;; 2104;CENTRE LINE SYMBOL;So;0;ON;;;;;N;C L SYMBOL;;;; 2105;CARE OF;So;0;ON; 0063 002F 006F;;;;N;;;;; 2106;CADA UNA;So;0;ON; 0063 002F 0075;;;;N;;;;; 2107;EULER CONSTANT;Lu;0;L; 0190;;;;N;EULERS;;;; 2108;SCRUPLE;So;0;ON;;;;;N;;;;; 2109;DEGREE FAHRENHEIT;So;0;ON; 00B0 0046;;;;N;DEGREES FAHRENHEIT;;;; 210A;SCRIPT SMALL G;Ll;0;L; 0067;;;;N;;;;; 210B;SCRIPT CAPITAL H;Lu;0;L; 0048;;;;N;SCRIPT H;;;; 210C;BLACK-LETTER CAPITAL H;Lu;0;L; 0048;;;;N;BLACK-LETTER H;;;; 210D;DOUBLE-STRUCK CAPITAL H;Lu;0;L; 0048;;;;N;DOUBLE-STRUCK H;;;; 210E;PLANCK CONSTANT;Ll;0;L; 0068;;;;N;;;;; 210F;PLANCK CONSTANT OVER TWO PI;Ll;0;L; 0127;;;;N;PLANCK CONSTANT OVER 2 PI;;;; 2110;SCRIPT CAPITAL I;Lu;0;L; 0049;;;;N;SCRIPT I;;;; 2111;BLACK-LETTER CAPITAL I;Lu;0;L; 0049;;;;N;BLACK-LETTER I;;;; 2112;SCRIPT CAPITAL L;Lu;0;L; 004C;;;;N;SCRIPT L;;;; 2113;SCRIPT SMALL L;Ll;0;L; 006C;;;;N;;;;; 2114;L B BAR SYMBOL;So;0;ON;;;;;N;;;;; 2115;DOUBLE-STRUCK CAPITAL N;Lu;0;L; 004E;;;;N;DOUBLE-STRUCK N;;;; 2116;NUMERO SIGN;So;0;ON; 004E 006F;;;;N;NUMERO;;;; 2117;SOUND RECORDING COPYRIGHT;So;0;ON;;;;;N;;;;; 2118;SCRIPT CAPITAL P;Ll;0;L;;;;;N;SCRIPT P;;;; 2119;DOUBLE-STRUCK CAPITAL P;Lu;0;L; 0050;;;;N;DOUBLE-STRUCK P;;;; 211A;DOUBLE-STRUCK CAPITAL Q;Lu;0;L; 0051;;;;N;DOUBLE-STRUCK Q;;;; 211B;SCRIPT CAPITAL R;Lu;0;L; 0052;;;;N;SCRIPT R;;;; 211C;BLACK-LETTER CAPITAL R;Lu;0;L; 0052;;;;N;BLACK-LETTER R;;;; 211D;DOUBLE-STRUCK CAPITAL R;Lu;0;L; 0052;;;;N;DOUBLE-STRUCK R;;;; 211E;PRESCRIPTION TAKE;So;0;ON;;;;;N;;;;; 211F;RESPONSE;So;0;ON;;;;;N;;;;; 2120;SERVICE MARK;So;0;ON; 0053 004D;;;;N;;;;; 2121;TELEPHONE SIGN;So;0;ON; 0054 0045 004C;;;;N;T E L SYMBOL;;;; 2122;TRADE MARK SIGN;So;0;ON; 0054 004D;;;;N;TRADEMARK;;;; 2123;VERSICLE;So;0;ON;;;;;N;;;;; 2124;DOUBLE-STRUCK CAPITAL Z;Lu;0;L; 005A;;;;N;DOUBLE-STRUCK Z;;;; 2125;OUNCE SIGN;So;0;ON;;;;;N;OUNCE;;;; 2126;OHM SIGN;Lu;0;L;03A9;;;;N;OHM;;;; 2127;INVERTED OHM SIGN;So;0;ON;;;;;N;MHO;;;; 2128;BLACK-LETTER CAPITAL Z;Lu;0;L; 005A;;;;N;BLACK-LETTER Z;;;; 2129;TURNED GREEK SMALL LETTER IOTA;So;0;ON;;;;;N;;;;; 212A;KELVIN SIGN;Lu;0;L;004B;;;;N;DEGREES KELVIN;;;; 212B;ANGSTROM SIGN;Lu;0;L;00C5;;;;N;ANGSTROM UNIT;;;; 212C;SCRIPT CAPITAL B;Lu;0;L; 0042;;;;N;SCRIPT B;;;; 212D;BLACK-LETTER CAPITAL C;Lu;0;L; 0043;;;;N;BLACK-LETTER C;;;; 212E;ESTIMATED SYMBOL;Ll;0;L;;;;;N;;;;; 212F;SCRIPT SMALL E;Ll;0;L; 0065;;;;N;;;;; 2130;SCRIPT CAPITAL E;Lu;0;L; 0045;;;;N;SCRIPT E;;;; 2131;SCRIPT CAPITAL F;Lu;0;L; 0046;;;;N;SCRIPT F;;;; 2132;TURNED CAPITAL F;So;0;ON;;;;;N;TURNED F;;;; 2133;SCRIPT CAPITAL M;Lu;0;L; 004D;;;;N;SCRIPT M;;;; 2134;SCRIPT SMALL O;Ll;0;L; 006F;;;;N;;;;; 2135;ALEF SYMBOL;Lo;0;L; 05D0;;;;N;FIRST TRANSFINITE CARDINAL;;;; 2136;BET SYMBOL;Lo;0;L; 05D1;;;;N;SECOND TRANSFINITE CARDINAL;;;; 2137;GIMEL SYMBOL;Lo;0;L; 05D2;;;;N;THIRD TRANSFINITE CARDINAL;;;; 2138;DALET SYMBOL;Lo;0;L; 05D3;;;;N;FOURTH TRANSFINITE CARDINAL;;;; 2153;VULGAR FRACTION ONE THIRD;No;0;ON; 0031 2044 0033;;;1/3;N;FRACTION ONE THIRD;;;; 2154;VULGAR FRACTION TWO THIRDS;No;0;ON; 0032 2044 0033;;;2/3;N;FRACTION TWO THIRDS;;;; 2155;VULGAR FRACTION ONE FIFTH;No;0;ON; 0031 2044 0035;;;1/5;N;FRACTION ONE FIFTH;;;; 2156;VULGAR FRACTION TWO FIFTHS;No;0;ON; 0032 2044 0035;;;2/5;N;FRACTION TWO FIFTHS;;;; 2157;VULGAR FRACTION THREE FIFTHS;No;0;ON; 0033 2044 0035;;;3/5;N;FRACTION THREE FIFTHS;;;; 2158;VULGAR FRACTION FOUR FIFTHS;No;0;ON; 0034 2044 0035;;;4/5;N;FRACTION FOUR FIFTHS;;;; 2159;VULGAR FRACTION ONE SIXTH;No;0;ON; 0031 2044 0036;;;1/6;N;FRACTION ONE SIXTH;;;; 215A;VULGAR FRACTION FIVE SIXTHS;No;0;ON; 0035 2044 0036;;;5/6;N;FRACTION FIVE SIXTHS;;;; 215B;VULGAR FRACTION ONE EIGHTH;No;0;ON; 0031 2044 0038;;;1/8;N;FRACTION ONE EIGHTH;;;; 215C;VULGAR FRACTION THREE EIGHTHS;No;0;ON; 0033 2044 0038;;;3/8;N;FRACTION THREE EIGHTHS;;;; 215D;VULGAR FRACTION FIVE EIGHTHS;No;0;ON; 0035 2044 0038;;;5/8;N;FRACTION FIVE EIGHTHS;;;; 215E;VULGAR FRACTION SEVEN EIGHTHS;No;0;ON; 0037 2044 0038;;;7/8;N;FRACTION SEVEN EIGHTHS;;;; 215F;FRACTION NUMERATOR ONE;No;0;ON; 0031 2044;;;1;N;;;;; 2160;ROMAN NUMERAL ONE;Nl;0;L; 0049;;;1;N;;;;2170; 2161;ROMAN NUMERAL TWO;Nl;0;L; 0049 0049;;;2;N;;;;2171; 2162;ROMAN NUMERAL THREE;Nl;0;L; 0049 0049 0049;;;3;N;;;;2172; 2163;ROMAN NUMERAL FOUR;Nl;0;L; 0049 0056;;;4;N;;;;2173; 2164;ROMAN NUMERAL FIVE;Nl;0;L; 0056;;;5;N;;;;2174; 2165;ROMAN NUMERAL SIX;Nl;0;L; 0056 0049;;;6;N;;;;2175; 2166;ROMAN NUMERAL SEVEN;Nl;0;L; 0056 0049 0049;;;7;N;;;;2176; 2167;ROMAN NUMERAL EIGHT;Nl;0;L; 0056 0049 0049 0049;;;8;N;;;;2177; 2168;ROMAN NUMERAL NINE;Nl;0;L; 0049 0058;;;9;N;;;;2178; 2169;ROMAN NUMERAL TEN;Nl;0;L; 0058;;;10;N;;;;2179; 216A;ROMAN NUMERAL ELEVEN;Nl;0;L; 0058 0049;;;11;N;;;;217A; 216B;ROMAN NUMERAL TWELVE;Nl;0;L; 0058 0049 0049;;;12;N;;;;217B; 216C;ROMAN NUMERAL FIFTY;Nl;0;L; 004C;;;50;N;;;;217C; 216D;ROMAN NUMERAL ONE HUNDRED;Nl;0;L; 0043;;;100;N;;;;217D; 216E;ROMAN NUMERAL FIVE HUNDRED;Nl;0;L; 0044;;;500;N;;;;217E; 216F;ROMAN NUMERAL ONE THOUSAND;Nl;0;L; 004D;;;1000;N;;;;217F; 2170;SMALL ROMAN NUMERAL ONE;Nl;0;L; 0069;;;1;N;;;2160;;2160 2171;SMALL ROMAN NUMERAL TWO;Nl;0;L; 0069 0069;;;2;N;;;2161;;2161 2172;SMALL ROMAN NUMERAL THREE;Nl;0;L; 0069 0069 0069;;;3;N;;;2162;;2162 2173;SMALL ROMAN NUMERAL FOUR;Nl;0;L; 0069 0076;;;4;N;;;2163;;2163 2174;SMALL ROMAN NUMERAL FIVE;Nl;0;L; 0076;;;5;N;;;2164;;2164 2175;SMALL ROMAN NUMERAL SIX;Nl;0;L; 0076 0069;;;6;N;;;2165;;2165 2176;SMALL ROMAN NUMERAL SEVEN;Nl;0;L; 0076 0069 0069;;;7;N;;;2166;;2166 2177;SMALL ROMAN NUMERAL EIGHT;Nl;0;L; 0076 0069 0069 0069;;;8;N;;;2167;;2167 2178;SMALL ROMAN NUMERAL NINE;Nl;0;L; 0069 0078;;;9;N;;;2168;;2168 2179;SMALL ROMAN NUMERAL TEN;Nl;0;L; 0078;;;10;N;;;2169;;2169 217A;SMALL ROMAN NUMERAL ELEVEN;Nl;0;L; 0078 0069;;;11;N;;;216A;;216A 217B;SMALL ROMAN NUMERAL TWELVE;Nl;0;L; 0078 0069 0069;;;12;N;;;216B;;216B 217C;SMALL ROMAN NUMERAL FIFTY;Nl;0;L; 006C;;;50;N;;;216C;;216C 217D;SMALL ROMAN NUMERAL ONE HUNDRED;Nl;0;L; 0063;;;100;N;;;216D;;216D 217E;SMALL ROMAN NUMERAL FIVE HUNDRED;Nl;0;L; 0064;;;500;N;;;216E;;216E 217F;SMALL ROMAN NUMERAL ONE THOUSAND;Nl;0;L; 006D;;;1000;N;;;216F;;216F 2180;ROMAN NUMERAL ONE THOUSAND C D;Nl;0;L;;;;1000;N;;;;; 2181;ROMAN NUMERAL FIVE THOUSAND;Nl;0;L;;;;5000;N;;;;; 2182;ROMAN NUMERAL TEN THOUSAND;Nl;0;L;;;;10000;N;;;;; 2190;LEFTWARDS ARROW;Sm;0;ON;;;;;N;LEFT ARROW;;;; 2191;UPWARDS ARROW;Sm;0;ON;;;;;N;UP ARROW;;;; 2192;RIGHTWARDS ARROW;Sm;0;ON;;;;;N;RIGHT ARROW;;;; 2193;DOWNWARDS ARROW;Sm;0;ON;;;;;N;DOWN ARROW;;;; 2194;LEFT RIGHT ARROW;Sm;0;ON;;;;;N;;;;; 2195;UP DOWN ARROW;So;0;ON;;;;;N;;;;; 2196;NORTH WEST ARROW;So;0;ON;;;;;N;UPPER LEFT ARROW;;;; 2197;NORTH EAST ARROW;So;0;ON;;;;;N;UPPER RIGHT ARROW;;;; 2198;SOUTH EAST ARROW;So;0;ON;;;;;N;LOWER RIGHT ARROW;;;; 2199;SOUTH WEST ARROW;So;0;ON;;;;;N;LOWER LEFT ARROW;;;; 219A;LEFTWARDS ARROW WITH STROKE;So;0;ON;;;;;N;LEFT ARROW WITH STROKE;;;; 219B;RIGHTWARDS ARROW WITH STROKE;So;0;ON;;;;;N;RIGHT ARROW WITH STROKE;;;; 219C;LEFTWARDS WAVE ARROW;So;0;ON;;;;;N;LEFT WAVE ARROW;;;; 219D;RIGHTWARDS WAVE ARROW;So;0;ON;;;;;N;RIGHT WAVE ARROW;;;; 219E;LEFTWARDS TWO HEADED ARROW;So;0;ON;;;;;N;LEFT TWO HEADED ARROW;;;; 219F;UPWARDS TWO HEADED ARROW;So;0;ON;;;;;N;UP TWO HEADED ARROW;;;; 21A0;RIGHTWARDS TWO HEADED ARROW;So;0;ON;;;;;N;RIGHT TWO HEADED ARROW;;;; 21A1;DOWNWARDS TWO HEADED ARROW;So;0;ON;;;;;N;DOWN TWO HEADED ARROW;;;; 21A2;LEFTWARDS ARROW WITH TAIL;So;0;ON;;;;;N;LEFT ARROW WITH TAIL;;;; 21A3;RIGHTWARDS ARROW WITH TAIL;So;0;ON;;;;;N;RIGHT ARROW WITH TAIL;;;; 21A4;LEFTWARDS ARROW FROM BAR;So;0;ON;;;;;N;LEFT ARROW FROM BAR;;;; 21A5;UPWARDS ARROW FROM BAR;So;0;ON;;;;;N;UP ARROW FROM BAR;;;; 21A6;RIGHTWARDS ARROW FROM BAR;So;0;ON;;;;;N;RIGHT ARROW FROM BAR;;;; 21A7;DOWNWARDS ARROW FROM BAR;So;0;ON;;;;;N;DOWN ARROW FROM BAR;;;; 21A8;UP DOWN ARROW WITH BASE;So;0;ON;;;;;N;;;;; 21A9;LEFTWARDS ARROW WITH HOOK;So;0;ON;;;;;N;LEFT ARROW WITH HOOK;;;; 21AA;RIGHTWARDS ARROW WITH HOOK;So;0;ON;;;;;N;RIGHT ARROW WITH HOOK;;;; 21AB;LEFTWARDS ARROW WITH LOOP;So;0;ON;;;;;N;LEFT ARROW WITH LOOP;;;; 21AC;RIGHTWARDS ARROW WITH LOOP;So;0;ON;;;;;N;RIGHT ARROW WITH LOOP;;;; 21AD;LEFT RIGHT WAVE ARROW;So;0;ON;;;;;N;;;;; 21AE;LEFT RIGHT ARROW WITH STROKE;So;0;ON;;;;;N;;;;; 21AF;DOWNWARDS ZIGZAG ARROW;So;0;ON;;;;;N;DOWN ZIGZAG ARROW;;;; 21B0;UPWARDS ARROW WITH TIP LEFTWARDS;So;0;ON;;;;;N;UP ARROW WITH TIP LEFT;;;; 21B1;UPWARDS ARROW WITH TIP RIGHTWARDS;So;0;ON;;;;;N;UP ARROW WITH TIP RIGHT;;;; 21B2;DOWNWARDS ARROW WITH TIP LEFTWARDS;So;0;ON;;;;;N;DOWN ARROW WITH TIP LEFT;;;; 21B3;DOWNWARDS ARROW WITH TIP RIGHTWARDS;So;0;ON;;;;;N;DOWN ARROW WITH TIP RIGHT;;;; 21B4;RIGHTWARDS ARROW WITH CORNER DOWNWARDS;So;0;ON;;;;;N;RIGHT ARROW WITH CORNER DOWN;;;; 21B5;DOWNWARDS ARROW WITH CORNER LEFTWARDS;So;0;ON;;;;;N;DOWN ARROW WITH CORNER LEFT;;;; 21B6;ANTICLOCKWISE TOP SEMICIRCLE ARROW;So;0;ON;;;;;N;;;;; 21B7;CLOCKWISE TOP SEMICIRCLE ARROW;So;0;ON;;;;;N;;;;; 21B8;NORTH WEST ARROW TO LONG BAR;So;0;ON;;;;;N;UPPER LEFT ARROW TO LONG BAR;;;; 21B9;LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR;So;0;ON;;;;;N;LEFT ARROW TO BAR OVER RIGHT ARROW TO BAR;;;; 21BA;ANTICLOCKWISE OPEN CIRCLE ARROW;So;0;ON;;;;;N;;;;; 21BB;CLOCKWISE OPEN CIRCLE ARROW;So;0;ON;;;;;N;;;;; 21BC;LEFTWARDS HARPOON WITH BARB UPWARDS;So;0;ON;;;;;N;LEFT HARPOON WITH BARB UP;;;; 21BD;LEFTWARDS HARPOON WITH BARB DOWNWARDS;So;0;ON;;;;;N;LEFT HARPOON WITH BARB DOWN;;;; 21BE;UPWARDS HARPOON WITH BARB RIGHTWARDS;So;0;ON;;;;;N;UP HARPOON WITH BARB RIGHT;;;; 21BF;UPWARDS HARPOON WITH BARB LEFTWARDS;So;0;ON;;;;;N;UP HARPOON WITH BARB LEFT;;;; 21C0;RIGHTWARDS HARPOON WITH BARB UPWARDS;So;0;ON;;;;;N;RIGHT HARPOON WITH BARB UP;;;; 21C1;RIGHTWARDS HARPOON WITH BARB DOWNWARDS;So;0;ON;;;;;N;RIGHT HARPOON WITH BARB DOWN;;;; 21C2;DOWNWARDS HARPOON WITH BARB RIGHTWARDS;So;0;ON;;;;;N;DOWN HARPOON WITH BARB RIGHT;;;; 21C3;DOWNWARDS HARPOON WITH BARB LEFTWARDS;So;0;ON;;;;;N;DOWN HARPOON WITH BARB LEFT;;;; 21C4;RIGHTWARDS ARROW OVER LEFTWARDS ARROW;So;0;ON;;;;;N;RIGHT ARROW OVER LEFT ARROW;;;; 21C5;UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW;So;0;ON;;;;;N;UP ARROW LEFT OF DOWN ARROW;;;; 21C6;LEFTWARDS ARROW OVER RIGHTWARDS ARROW;So;0;ON;;;;;N;LEFT ARROW OVER RIGHT ARROW;;;; 21C7;LEFTWARDS PAIRED ARROWS;So;0;ON;;;;;N;LEFT PAIRED ARROWS;;;; 21C8;UPWARDS PAIRED ARROWS;So;0;ON;;;;;N;UP PAIRED ARROWS;;;; 21C9;RIGHTWARDS PAIRED ARROWS;So;0;ON;;;;;N;RIGHT PAIRED ARROWS;;;; 21CA;DOWNWARDS PAIRED ARROWS;So;0;ON;;;;;N;DOWN PAIRED ARROWS;;;; 21CB;LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON;So;0;ON;;;;;N;LEFT HARPOON OVER RIGHT HARPOON;;;; 21CC;RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON;So;0;ON;;;;;N;RIGHT HARPOON OVER LEFT HARPOON;;;; 21CD;LEFTWARDS DOUBLE ARROW WITH STROKE;So;0;ON;;;;;N;LEFT DOUBLE ARROW WITH STROKE;;;; 21CE;LEFT RIGHT DOUBLE ARROW WITH STROKE;So;0;ON;;;;;N;;;;; 21CF;RIGHTWARDS DOUBLE ARROW WITH STROKE;So;0;ON;;;;;N;RIGHT DOUBLE ARROW WITH STROKE;;;; 21D0;LEFTWARDS DOUBLE ARROW;So;0;ON;;;;;N;LEFT DOUBLE ARROW;;;; 21D1;UPWARDS DOUBLE ARROW;So;0;ON;;;;;N;UP DOUBLE ARROW;;;; 21D2;RIGHTWARDS DOUBLE ARROW;Sm;0;ON;;;;;N;RIGHT DOUBLE ARROW;;;; 21D3;DOWNWARDS DOUBLE ARROW;So;0;ON;;;;;N;DOWN DOUBLE ARROW;;;; 21D4;LEFT RIGHT DOUBLE ARROW;Sm;0;ON;;;;;N;;;;; 21D5;UP DOWN DOUBLE ARROW;So;0;ON;;;;;N;;;;; 21D6;NORTH WEST DOUBLE ARROW;So;0;ON;;;;;N;UPPER LEFT DOUBLE ARROW;;;; 21D7;NORTH EAST DOUBLE ARROW;So;0;ON;;;;;N;UPPER RIGHT DOUBLE ARROW;;;; 21D8;SOUTH EAST DOUBLE ARROW;So;0;ON;;;;;N;LOWER RIGHT DOUBLE ARROW;;;; 21D9;SOUTH WEST DOUBLE ARROW;So;0;ON;;;;;N;LOWER LEFT DOUBLE ARROW;;;; 21DA;LEFTWARDS TRIPLE ARROW;So;0;ON;;;;;N;LEFT TRIPLE ARROW;;;; 21DB;RIGHTWARDS TRIPLE ARROW;So;0;ON;;;;;N;RIGHT TRIPLE ARROW;;;; 21DC;LEFTWARDS SQUIGGLE ARROW;So;0;ON;;;;;N;LEFT SQUIGGLE ARROW;;;; 21DD;RIGHTWARDS SQUIGGLE ARROW;So;0;ON;;;;;N;RIGHT SQUIGGLE ARROW;;;; 21DE;UPWARDS ARROW WITH DOUBLE STROKE;So;0;ON;;;;;N;UP ARROW WITH DOUBLE STROKE;;;; 21DF;DOWNWARDS ARROW WITH DOUBLE STROKE;So;0;ON;;;;;N;DOWN ARROW WITH DOUBLE STROKE;;;; 21E0;LEFTWARDS DASHED ARROW;So;0;ON;;;;;N;LEFT DASHED ARROW;;;; 21E1;UPWARDS DASHED ARROW;So;0;ON;;;;;N;UP DASHED ARROW;;;; 21E2;RIGHTWARDS DASHED ARROW;So;0;ON;;;;;N;RIGHT DASHED ARROW;;;; 21E3;DOWNWARDS DASHED ARROW;So;0;ON;;;;;N;DOWN DASHED ARROW;;;; 21E4;LEFTWARDS ARROW TO BAR;So;0;ON;;;;;N;LEFT ARROW TO BAR;;;; 21E5;RIGHTWARDS ARROW TO BAR;So;0;ON;;;;;N;RIGHT ARROW TO BAR;;;; 21E6;LEFTWARDS WHITE ARROW;So;0;ON;;;;;N;WHITE LEFT ARROW;;;; 21E7;UPWARDS WHITE ARROW;So;0;ON;;;;;N;WHITE UP ARROW;;;; 21E8;RIGHTWARDS WHITE ARROW;So;0;ON;;;;;N;WHITE RIGHT ARROW;;;; 21E9;DOWNWARDS WHITE ARROW;So;0;ON;;;;;N;WHITE DOWN ARROW;;;; 21EA;UPWARDS WHITE ARROW FROM BAR;So;0;ON;;;;;N;WHITE UP ARROW FROM BAR;;;; 2200;FOR ALL;Sm;0;ON;;;;;N;;;;; 2201;COMPLEMENT;Sm;0;ON;;;;;Y;;;;; 2202;PARTIAL DIFFERENTIAL;Sm;0;ON;;;;;Y;;;;; 2203;THERE EXISTS;Sm;0;ON;;;;;Y;;;;; 2204;THERE DOES NOT EXIST;Sm;0;ON;2203 0338;;;;Y;;;;; 2205;EMPTY SET;Sm;0;ON;;;;;N;;;;; 2206;INCREMENT;Sm;0;ON;;;;;N;;;;; 2207;NABLA;Sm;0;ON;;;;;N;;;;; 2208;ELEMENT OF;Sm;0;ON;;;;;Y;;;;; 2209;NOT AN ELEMENT OF;Sm;0;ON;2208 0338;;;;Y;;;;; 220A;SMALL ELEMENT OF;Sm;0;ON;;;;;Y;;;;; 220B;CONTAINS AS MEMBER;Sm;0;ON;;;;;Y;;;;; 220C;DOES NOT CONTAIN AS MEMBER;Sm;0;ON;220B 0338;;;;Y;;;;; 220D;SMALL CONTAINS AS MEMBER;Sm;0;ON;;;;;Y;;;;; 220E;END OF PROOF;Sm;0;ON;;;;;N;;;;; 220F;N-ARY PRODUCT;Sm;0;ON;;;;;N;;;;; 2210;N-ARY COPRODUCT;Sm;0;ON;;;;;N;;;;; 2211;N-ARY SUMMATION;Sm;0;ON;;;;;Y;;;;; 2212;MINUS SIGN;Sm;0;ET;;;;;N;;;;; 2213;MINUS-OR-PLUS SIGN;Sm;0;ET;;;;;N;;;;; 2214;DOT PLUS;Sm;0;ON;;;;;N;;;;; 2215;DIVISION SLASH;Sm;0;ON;;;;;Y;;;;; 2216;SET MINUS;Sm;0;ON;;;;;Y;;;;; 2217;ASTERISK OPERATOR;Sm;0;ON;;;;;N;;;;; 2218;RING OPERATOR;Sm;0;ON;;;;;N;;;;; 2219;BULLET OPERATOR;Sm;0;ON;;;;;N;;;;; 221A;SQUARE ROOT;Sm;0;ON;;;;;Y;;;;; 221B;CUBE ROOT;Sm;0;ON;;;;;Y;;;;; 221C;FOURTH ROOT;Sm;0;ON;;;;;Y;;;;; 221D;PROPORTIONAL TO;Sm;0;ON;;;;;Y;;;;; 221E;INFINITY;Sm;0;ON;;;;;N;;;;; 221F;RIGHT ANGLE;Sm;0;ON;;;;;Y;;;;; 2220;ANGLE;Sm;0;ON;;;;;Y;;;;; 2221;MEASURED ANGLE;Sm;0;ON;;;;;Y;;;;; 2222;SPHERICAL ANGLE;Sm;0;ON;;;;;Y;;;;; 2223;DIVIDES;Sm;0;ON;;;;;N;;;;; 2224;DOES NOT DIVIDE;Sm;0;ON;2223 0338;;;;Y;;;;; 2225;PARALLEL TO;Sm;0;ON;;;;;N;;;;; 2226;NOT PARALLEL TO;Sm;0;ON;2225 0338;;;;Y;;;;; 2227;LOGICAL AND;Sm;0;ON;;;;;N;;;;; 2228;LOGICAL OR;Sm;0;ON;;;;;N;;;;; 2229;INTERSECTION;Sm;0;ON;;;;;N;;;;; 222A;UNION;Sm;0;ON;;;;;N;;;;; 222B;INTEGRAL;Sm;0;ON;;;;;Y;;;;; 222C;DOUBLE INTEGRAL;Sm;0;ON; 222B 222B;;;;Y;;;;; 222D;TRIPLE INTEGRAL;Sm;0;ON; 222B 222B 222B;;;;Y;;;;; 222E;CONTOUR INTEGRAL;Sm;0;ON;;;;;Y;;;;; 222F;SURFACE INTEGRAL;Sm;0;ON; 222E 222E;;;;Y;;;;; 2230;VOLUME INTEGRAL;Sm;0;ON; 222E 222E 222E;;;;Y;;;;; 2231;CLOCKWISE INTEGRAL;Sm;0;ON;;;;;Y;;;;; 2232;CLOCKWISE CONTOUR INTEGRAL;Sm;0;ON;;;;;Y;;;;; 2233;ANTICLOCKWISE CONTOUR INTEGRAL;Sm;0;ON;;;;;Y;;;;; 2234;THEREFORE;Sm;0;ON;;;;;N;;;;; 2235;BECAUSE;Sm;0;ON;;;;;N;;;;; 2236;RATIO;Sm;0;ON;;;;;N;;;;; 2237;PROPORTION;Sm;0;ON;;;;;N;;;;; 2238;DOT MINUS;Sm;0;ON;;;;;N;;;;; 2239;EXCESS;Sm;0;ON;;;;;Y;;;;; 223A;GEOMETRIC PROPORTION;Sm;0;ON;;;;;N;;;;; 223B;HOMOTHETIC;Sm;0;ON;;;;;Y;;;;; 223C;TILDE OPERATOR;Sm;0;ON;;;;;Y;;;;; 223D;REVERSED TILDE;Sm;0;ON;;;;;Y;;;;; 223E;INVERTED LAZY S;Sm;0;ON;;;;;Y;;;;; 223F;SINE WAVE;Sm;0;ON;;;;;Y;;;;; 2240;WREATH PRODUCT;Sm;0;ON;;;;;Y;;;;; 2241;NOT TILDE;Sm;0;ON;007E 0338;;;;Y;;;;; 2242;MINUS TILDE;Sm;0;ON;;;;;Y;;;;; 2243;ASYMPTOTICALLY EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2244;NOT ASYMPTOTICALLY EQUAL TO;Sm;0;ON;2243 0338;;;;Y;;;;; 2245;APPROXIMATELY EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2246;APPROXIMATELY BUT NOT ACTUALLY EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2247;NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO;Sm;0;ON;2245 0338;;;;Y;;;;; 2248;ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2249;NOT ALMOST EQUAL TO;Sm;0;ON;2248 0338;;;;Y;;;;; 224A;ALMOST EQUAL OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 224B;TRIPLE TILDE;Sm;0;ON;;;;;Y;;;;; 224C;ALL EQUAL TO;Sm;0;ON;;;;;Y;;;;; 224D;EQUIVALENT TO;Sm;0;ON;;;;;N;;;;; 224E;GEOMETRICALLY EQUIVALENT TO;Sm;0;ON;;;;;N;;;;; 224F;DIFFERENCE BETWEEN;Sm;0;ON;;;;;N;;;;; 2250;APPROACHES THE LIMIT;Sm;0;ON;;;;;N;;;;; 2251;GEOMETRICALLY EQUAL TO;Sm;0;ON;;;;;N;;;;; 2252;APPROXIMATELY EQUAL TO OR THE IMAGE OF;Sm;0;ON;;;;;Y;;;;; 2253;IMAGE OF OR APPROXIMATELY EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2254;COLON EQUALS;Sm;0;ON;;;;;Y;COLON EQUAL;;;; 2255;EQUALS COLON;Sm;0;ON;;;;;Y;EQUAL COLON;;;; 2256;RING IN EQUAL TO;Sm;0;ON;;;;;N;;;;; 2257;RING EQUAL TO;Sm;0;ON;;;;;N;;;;; 2258;CORRESPONDS TO;Sm;0;ON;;;;;N;;;;; 2259;ESTIMATES;Sm;0;ON;;;;;N;;;;; 225A;EQUIANGULAR TO;Sm;0;ON;;;;;N;;;;; 225B;STAR EQUALS;Sm;0;ON;;;;;N;;;;; 225C;DELTA EQUAL TO;Sm;0;ON;;;;;N;;;;; 225D;EQUAL TO BY DEFINITION;Sm;0;ON;;;;;N;;;;; 225E;MEASURED BY;Sm;0;ON;;;;;N;;;;; 225F;QUESTIONED EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2260;NOT EQUAL TO;Sm;0;ON;003D 0338;;;;Y;;;;; 2261;IDENTICAL TO;Sm;0;ON;;;;;N;;;;; 2262;NOT IDENTICAL TO;Sm;0;ON;2261 0338;;;;Y;;;;; 2263;STRICTLY EQUIVALENT TO;Sm;0;ON;;;;;N;;;;; 2264;LESS-THAN OR EQUAL TO;Sm;0;ON;;;;;Y;LESS THAN OR EQUAL TO;;;; 2265;GREATER-THAN OR EQUAL TO;Sm;0;ON;;;;;Y;GREATER THAN OR EQUAL TO;;;; 2266;LESS-THAN OVER EQUAL TO;Sm;0;ON;;;;;Y;LESS THAN OVER EQUAL TO;;;; 2267;GREATER-THAN OVER EQUAL TO;Sm;0;ON;;;;;Y;GREATER THAN OVER EQUAL TO;;;; 2268;LESS-THAN BUT NOT EQUAL TO;Sm;0;ON;;;;;Y;LESS THAN BUT NOT EQUAL TO;;;; 2269;GREATER-THAN BUT NOT EQUAL TO;Sm;0;ON;;;;;Y;GREATER THAN BUT NOT EQUAL TO;;;; 226A;MUCH LESS-THAN;Sm;0;ON;;;;;Y;MUCH LESS THAN;;;; 226B;MUCH GREATER-THAN;Sm;0;ON;;;;;Y;MUCH GREATER THAN;;;; 226C;BETWEEN;Sm;0;ON;;;;;N;;;;; 226D;NOT EQUIVALENT TO;Sm;0;ON;224D 0338;;;;N;;;;; 226E;NOT LESS-THAN;Sm;0;ON;003C 0338;;;;Y;NOT LESS THAN;;;; 226F;NOT GREATER-THAN;Sm;0;ON;003E 0338;;;;Y;NOT GREATER THAN;;;; 2270;NEITHER LESS-THAN NOR EQUAL TO;Sm;0;ON;2264 0338;;;;Y;NEITHER LESS THAN NOR EQUAL TO;;;; 2271;NEITHER GREATER-THAN NOR EQUAL TO;Sm;0;ON;2265 0338;;;;Y;NEITHER GREATER THAN NOR EQUAL TO;;;; 2272;LESS-THAN OR EQUIVALENT TO;Sm;0;ON;;;;;Y;LESS THAN OR EQUIVALENT TO;;;; 2273;GREATER-THAN OR EQUIVALENT TO;Sm;0;ON;;;;;Y;GREATER THAN OR EQUIVALENT TO;;;; 2274;NEITHER LESS-THAN NOR EQUIVALENT TO;Sm;0;ON;2272 0338;;;;Y;NEITHER LESS THAN NOR EQUIVALENT TO;;;; 2275;NEITHER GREATER-THAN NOR EQUIVALENT TO;Sm;0;ON;2273 0338;;;;Y;NEITHER GREATER THAN NOR EQUIVALENT TO;;;; 2276;LESS-THAN OR GREATER-THAN;Sm;0;ON;;;;;Y;LESS THAN OR GREATER THAN;;;; 2277;GREATER-THAN OR LESS-THAN;Sm;0;ON;;;;;Y;GREATER THAN OR LESS THAN;;;; 2278;NEITHER LESS-THAN NOR GREATER-THAN;Sm;0;ON;2276 0338;;;;Y;NEITHER LESS THAN NOR GREATER THAN;;;; 2279;NEITHER GREATER-THAN NOR LESS-THAN;Sm;0;ON;2277 0338;;;;Y;NEITHER GREATER THAN NOR LESS THAN;;;; 227A;PRECEDES;Sm;0;ON;;;;;Y;;;;; 227B;SUCCEEDS;Sm;0;ON;;;;;Y;;;;; 227C;PRECEDES OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 227D;SUCCEEDS OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 227E;PRECEDES OR EQUIVALENT TO;Sm;0;ON;;;;;Y;;;;; 227F;SUCCEEDS OR EQUIVALENT TO;Sm;0;ON;;;;;Y;;;;; 2280;DOES NOT PRECEDE;Sm;0;ON;227A 0338;;;;Y;;;;; 2281;DOES NOT SUCCEED;Sm;0;ON;227B 0338;;;;Y;;;;; 2282;SUBSET OF;Sm;0;ON;;;;;Y;;;;; 2283;SUPERSET OF;Sm;0;ON;;;;;Y;;;;; 2284;NOT A SUBSET OF;Sm;0;ON;2282 0338;;;;Y;;;;; 2285;NOT A SUPERSET OF;Sm;0;ON;2283 0338;;;;Y;;;;; 2286;SUBSET OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2287;SUPERSET OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2288;NEITHER A SUBSET OF NOR EQUAL TO;Sm;0;ON;2286 0338;;;;Y;;;;; 2289;NEITHER A SUPERSET OF NOR EQUAL TO;Sm;0;ON;2287 0338;;;;Y;;;;; 228A;SUBSET OF WITH NOT EQUAL TO;Sm;0;ON;;;;;Y;SUBSET OF OR NOT EQUAL TO;;;; 228B;SUPERSET OF WITH NOT EQUAL TO;Sm;0;ON;;;;;Y;SUPERSET OF OR NOT EQUAL TO;;;; 228C;MULTISET;Sm;0;ON;;;;;Y;;;;; 228D;MULTISET MULTIPLICATION;Sm;0;ON;;;;;N;;;;; 228E;MULTISET UNION;Sm;0;ON;;;;;N;;;;; 228F;SQUARE IMAGE OF;Sm;0;ON;;;;;Y;;;;; 2290;SQUARE ORIGINAL OF;Sm;0;ON;;;;;Y;;;;; 2291;SQUARE IMAGE OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2292;SQUARE ORIGINAL OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2293;SQUARE CAP;Sm;0;ON;;;;;N;;;;; 2294;SQUARE CUP;Sm;0;ON;;;;;N;;;;; 2295;CIRCLED PLUS;Sm;0;ON;;;;;N;;;;; 2296;CIRCLED MINUS;Sm;0;ON;;;;;N;;;;; 2297;CIRCLED TIMES;Sm;0;ON;;;;;N;;;;; 2298;CIRCLED DIVISION SLASH;Sm;0;ON;;;;;Y;;;;; 2299;CIRCLED DOT OPERATOR;Sm;0;ON;;;;;N;;;;; 229A;CIRCLED RING OPERATOR;Sm;0;ON;;;;;N;;;;; 229B;CIRCLED ASTERISK OPERATOR;Sm;0;ON;;;;;N;;;;; 229C;CIRCLED EQUALS;Sm;0;ON;;;;;N;;;;; 229D;CIRCLED DASH;Sm;0;ON;;;;;N;;;;; 229E;SQUARED PLUS;Sm;0;ON;;;;;N;;;;; 229F;SQUARED MINUS;Sm;0;ON;;;;;N;;;;; 22A0;SQUARED TIMES;Sm;0;ON;;;;;N;;;;; 22A1;SQUARED DOT OPERATOR;Sm;0;ON;;;;;N;;;;; 22A2;RIGHT TACK;Sm;0;ON;;;;;Y;;;;; 22A3;LEFT TACK;Sm;0;ON;;;;;Y;;;;; 22A4;DOWN TACK;Sm;0;ON;;;;;N;;;;; 22A5;UP TACK;Sm;0;ON;;;;;N;;;;; 22A6;ASSERTION;Sm;0;ON;;;;;Y;;;;; 22A7;MODELS;Sm;0;ON;;;;;Y;;;;; 22A8;TRUE;Sm;0;ON;;;;;Y;;;;; 22A9;FORCES;Sm;0;ON;;;;;Y;;;;; 22AA;TRIPLE VERTICAL BAR RIGHT TURNSTILE;Sm;0;ON;;;;;Y;;;;; 22AB;DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE;Sm;0;ON;;;;;Y;;;;; 22AC;DOES NOT PROVE;Sm;0;ON;22A2 0338;;;;Y;;;;; 22AD;NOT TRUE;Sm;0;ON;22A8 0338;;;;Y;;;;; 22AE;DOES NOT FORCE;Sm;0;ON;22A9 0338;;;;Y;;;;; 22AF;NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE;Sm;0;ON;22AB 0338;;;;Y;;;;; 22B0;PRECEDES UNDER RELATION;Sm;0;ON;;;;;Y;;;;; 22B1;SUCCEEDS UNDER RELATION;Sm;0;ON;;;;;Y;;;;; 22B2;NORMAL SUBGROUP OF;Sm;0;ON;;;;;Y;;;;; 22B3;CONTAINS AS NORMAL SUBGROUP;Sm;0;ON;;;;;Y;;;;; 22B4;NORMAL SUBGROUP OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 22B5;CONTAINS AS NORMAL SUBGROUP OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 22B6;ORIGINAL OF;Sm;0;ON;;;;;Y;;;;; 22B7;IMAGE OF;Sm;0;ON;;;;;Y;;;;; 22B8;MULTIMAP;Sm;0;ON;;;;;Y;;;;; 22B9;HERMITIAN CONJUGATE MATRIX;Sm;0;ON;;;;;N;;;;; 22BA;INTERCALATE;Sm;0;ON;;;;;N;;;;; 22BB;XOR;Sm;0;ON;;;;;N;;;;; 22BC;NAND;Sm;0;ON;;;;;N;;;;; 22BD;NOR;Sm;0;ON;;;;;N;;;;; 22BE;RIGHT ANGLE WITH ARC;Sm;0;ON;;;;;Y;;;;; 22BF;RIGHT TRIANGLE;Sm;0;ON;;;;;Y;;;;; 22C0;N-ARY LOGICAL AND;Sm;0;ON;;;;;N;;;;; 22C1;N-ARY LOGICAL OR;Sm;0;ON;;;;;N;;;;; 22C2;N-ARY INTERSECTION;Sm;0;ON;;;;;N;;;;; 22C3;N-ARY UNION;Sm;0;ON;;;;;N;;;;; 22C4;DIAMOND OPERATOR;Sm;0;ON;;;;;N;;;;; 22C5;DOT OPERATOR;Sm;0;ON;;;;;N;;;;; 22C6;STAR OPERATOR;Sm;0;ON;;;;;N;;;;; 22C7;DIVISION TIMES;Sm;0;ON;;;;;N;;;;; 22C8;BOWTIE;Sm;0;ON;;;;;N;;;;; 22C9;LEFT NORMAL FACTOR SEMIDIRECT PRODUCT;Sm;0;ON;;;;;Y;;;;; 22CA;RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT;Sm;0;ON;;;;;Y;;;;; 22CB;LEFT SEMIDIRECT PRODUCT;Sm;0;ON;;;;;Y;;;;; 22CC;RIGHT SEMIDIRECT PRODUCT;Sm;0;ON;;;;;Y;;;;; 22CD;REVERSED TILDE EQUALS;Sm;0;ON;;;;;Y;;;;; 22CE;CURLY LOGICAL OR;Sm;0;ON;;;;;N;;;;; 22CF;CURLY LOGICAL AND;Sm;0;ON;;;;;N;;;;; 22D0;DOUBLE SUBSET;Sm;0;ON;;;;;Y;;;;; 22D1;DOUBLE SUPERSET;Sm;0;ON;;;;;Y;;;;; 22D2;DOUBLE INTERSECTION;Sm;0;ON;;;;;N;;;;; 22D3;DOUBLE UNION;Sm;0;ON;;;;;N;;;;; 22D4;PITCHFORK;Sm;0;ON;;;;;N;;;;; 22D5;EQUAL AND PARALLEL TO;Sm;0;ON;;;;;N;;;;; 22D6;LESS-THAN WITH DOT;Sm;0;ON;;;;;Y;LESS THAN WITH DOT;;;; 22D7;GREATER-THAN WITH DOT;Sm;0;ON;;;;;Y;GREATER THAN WITH DOT;;;; 22D8;VERY MUCH LESS-THAN;Sm;0;ON;;;;;Y;VERY MUCH LESS THAN;;;; 22D9;VERY MUCH GREATER-THAN;Sm;0;ON;;;;;Y;VERY MUCH GREATER THAN;;;; 22DA;LESS-THAN EQUAL TO OR GREATER-THAN;Sm;0;ON;;;;;Y;LESS THAN EQUAL TO OR GREATER THAN;;;; 22DB;GREATER-THAN EQUAL TO OR LESS-THAN;Sm;0;ON;;;;;Y;GREATER THAN EQUAL TO OR LESS THAN;;;; 22DC;EQUAL TO OR LESS-THAN;Sm;0;ON;;;;;Y;EQUAL TO OR LESS THAN;;;; 22DD;EQUAL TO OR GREATER-THAN;Sm;0;ON;;;;;Y;EQUAL TO OR GREATER THAN;;;; 22DE;EQUAL TO OR PRECEDES;Sm;0;ON;;;;;Y;;;;; 22DF;EQUAL TO OR SUCCEEDS;Sm;0;ON;;;;;Y;;;;; 22E0;DOES NOT PRECEDE OR EQUAL;Sm;0;ON;227C 0338;;;;Y;;;;; 22E1;DOES NOT SUCCEED OR EQUAL;Sm;0;ON;227D 0338;;;;Y;;;;; 22E2;NOT SQUARE IMAGE OF OR EQUAL TO;Sm;0;ON;2291 0338;;;;Y;;;;; 22E3;NOT SQUARE ORIGINAL OF OR EQUAL TO;Sm;0;ON;2292 0338;;;;Y;;;;; 22E4;SQUARE IMAGE OF OR NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; 22E5;SQUARE ORIGINAL OF OR NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; 22E6;LESS-THAN BUT NOT EQUIVALENT TO;Sm;0;ON;;;;;Y;LESS THAN BUT NOT EQUIVALENT TO;;;; 22E7;GREATER-THAN BUT NOT EQUIVALENT TO;Sm;0;ON;;;;;Y;GREATER THAN BUT NOT EQUIVALENT TO;;;; 22E8;PRECEDES BUT NOT EQUIVALENT TO;Sm;0;ON;;;;;Y;;;;; 22E9;SUCCEEDS BUT NOT EQUIVALENT TO;Sm;0;ON;;;;;Y;;;;; 22EA;NOT NORMAL SUBGROUP OF;Sm;0;ON;22B2 0338;;;;Y;;;;; 22EB;DOES NOT CONTAIN AS NORMAL SUBGROUP;Sm;0;ON;22B3 0338;;;;Y;;;;; 22EC;NOT NORMAL SUBGROUP OF OR EQUAL TO;Sm;0;ON;22B4 0338;;;;Y;;;;; 22ED;DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL;Sm;0;ON;22B5 0338;;;;Y;;;;; 22EE;VERTICAL ELLIPSIS;Sm;0;ON;;;;;N;;;;; 22EF;MIDLINE HORIZONTAL ELLIPSIS;Sm;0;ON;;;;;N;;;;; 22F0;UP RIGHT DIAGONAL ELLIPSIS;Sm;0;ON;;;;;Y;;;;; 22F1;DOWN RIGHT DIAGONAL ELLIPSIS;Sm;0;ON;;;;;Y;;;;; 2300;DIAMETER SIGN;So;0;ON;;;;;N;;;;; 2302;HOUSE;So;0;ON;;;;;N;;;;; 2303;UP ARROWHEAD;So;0;ON;;;;;N;;;;; 2304;DOWN ARROWHEAD;So;0;ON;;;;;N;;;;; 2305;PROJECTIVE;So;0;ON;;;;;N;;;;; 2306;PERSPECTIVE;So;0;ON;;;;;N;;;;; 2307;WAVY LINE;So;0;ON;;;;;N;;;;; 2308;LEFT CEILING;Sm;0;ON;;;;;Y;;;;; 2309;RIGHT CEILING;Sm;0;ON;;;;;Y;;;;; 230A;LEFT FLOOR;Sm;0;ON;;;;;Y;;;;; 230B;RIGHT FLOOR;Sm;0;ON;;;;;Y;;;;; 230C;BOTTOM RIGHT CROP;So;0;ON;;;;;N;;;;; 230D;BOTTOM LEFT CROP;So;0;ON;;;;;N;;;;; 230E;TOP RIGHT CROP;So;0;ON;;;;;N;;;;; 230F;TOP LEFT CROP;So;0;ON;;;;;N;;;;; 2310;REVERSED NOT SIGN;So;0;ON;;;;;N;;;;; 2311;SQUARE LOZENGE;So;0;ON;;;;;N;;;;; 2312;ARC;So;0;ON;;;;;N;;;;; 2313;SEGMENT;So;0;ON;;;;;N;;;;; 2314;SECTOR;So;0;ON;;;;;N;;;;; 2315;TELEPHONE RECORDER;So;0;ON;;;;;N;;;;; 2316;POSITION INDICATOR;So;0;ON;;;;;N;;;;; 2317;VIEWDATA SQUARE;So;0;ON;;;;;N;;;;; 2318;PLACE OF INTEREST SIGN;So;0;ON;;;;;N;COMMAND KEY;;;; 2319;TURNED NOT SIGN;So;0;ON;;;;;N;;;;; 231A;WATCH;So;0;ON;;;;;N;;;;; 231B;HOURGLASS;So;0;ON;;;;;N;;;;; 231C;TOP LEFT CORNER;So;0;ON;;;;;N;;;;; 231D;TOP RIGHT CORNER;So;0;ON;;;;;N;;;;; 231E;BOTTOM LEFT CORNER;So;0;ON;;;;;N;;;;; 231F;BOTTOM RIGHT CORNER;So;0;ON;;;;;N;;;;; 2320;TOP HALF INTEGRAL;Sm;0;ON;;;;;Y;;;;; 2321;BOTTOM HALF INTEGRAL;Sm;0;ON;;;;;Y;;;;; 2322;FROWN;So;0;ON;;;;;N;;;;; 2323;SMILE;So;0;ON;;;;;N;;;;; 2324;UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS;So;0;ON;;;;;N;ENTER KEY;;;; 2325;OPTION KEY;So;0;ON;;;;;N;;;;; 2326;ERASE TO THE RIGHT;So;0;ON;;;;;N;DELETE TO THE RIGHT KEY;;;; 2327;X IN A RECTANGLE BOX;So;0;ON;;;;;N;CLEAR KEY;;;; 2328;KEYBOARD;So;0;ON;;;;;N;;;;; 2329;LEFT-POINTING ANGLE BRACKET;Ps;0;ON;3008;;;;Y;BRA;;;; 232A;RIGHT-POINTING ANGLE BRACKET;Pe;0;ON;3009;;;;Y;KET;;;; 232B;ERASE TO THE LEFT;So;0;ON;;;;;N;DELETE TO THE LEFT KEY;;;; 232C;BENZENE RING;So;0;ON;;;;;N;;;;; 232D;CYLINDRICITY;So;0;ON;;;;;N;;;;; 232E;ALL AROUND-PROFILE;So;0;ON;;;;;N;;;;; 232F;SYMMETRY;So;0;ON;;;;;N;;;;; 2330;TOTAL RUNOUT;So;0;ON;;;;;N;;;;; 2331;DIMENSION ORIGIN;So;0;ON;;;;;N;;;;; 2332;CONICAL TAPER;So;0;ON;;;;;N;;;;; 2333;SLOPE;So;0;ON;;;;;N;;;;; 2334;COUNTERBORE;So;0;ON;;;;;N;;;;; 2335;COUNTERSINK;So;0;ON;;;;;N;;;;; 2336;APL FUNCTIONAL SYMBOL I-BEAM;So;0;L;;;;;N;;;;; 2337;APL FUNCTIONAL SYMBOL SQUISH QUAD;So;0;L;;;;;N;;;;; 2338;APL FUNCTIONAL SYMBOL QUAD EQUAL;So;0;L;;;;;N;;;;; 2339;APL FUNCTIONAL SYMBOL QUAD DIVIDE;So;0;L;;;;;N;;;;; 233A;APL FUNCTIONAL SYMBOL QUAD DIAMOND;So;0;L;;;;;N;;;;; 233B;APL FUNCTIONAL SYMBOL QUAD JOT;So;0;L;;;;;N;;;;; 233C;APL FUNCTIONAL SYMBOL QUAD CIRCLE;So;0;L;;;;;N;;;;; 233D;APL FUNCTIONAL SYMBOL CIRCLE STILE;So;0;L;;;;;N;;;;; 233E;APL FUNCTIONAL SYMBOL CIRCLE JOT;So;0;L;;;;;N;;;;; 233F;APL FUNCTIONAL SYMBOL SLASH BAR;So;0;L;;;;;N;;;;; 2340;APL FUNCTIONAL SYMBOL BACKSLASH BAR;So;0;L;;;;;N;;;;; 2341;APL FUNCTIONAL SYMBOL QUAD SLASH;So;0;L;;;;;N;;;;; 2342;APL FUNCTIONAL SYMBOL QUAD BACKSLASH;So;0;L;;;;;N;;;;; 2343;APL FUNCTIONAL SYMBOL QUAD LESS-THAN;So;0;L;;;;;N;;;;; 2344;APL FUNCTIONAL SYMBOL QUAD GREATER-THAN;So;0;L;;;;;N;;;;; 2345;APL FUNCTIONAL SYMBOL LEFTWARDS VANE;So;0;L;;;;;N;;;;; 2346;APL FUNCTIONAL SYMBOL RIGHTWARDS VANE;So;0;L;;;;;N;;;;; 2347;APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW;So;0;L;;;;;N;;;;; 2348;APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW;So;0;L;;;;;N;;;;; 2349;APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH;So;0;L;;;;;N;;;;; 234A;APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR;So;0;L;;;;;N;;;;; 234B;APL FUNCTIONAL SYMBOL DELTA STILE;So;0;L;;;;;N;;;;; 234C;APL FUNCTIONAL SYMBOL QUAD DOWN CARET;So;0;L;;;;;N;;;;; 234D;APL FUNCTIONAL SYMBOL QUAD DELTA;So;0;L;;;;;N;;;;; 234E;APL FUNCTIONAL SYMBOL DOWN TACK JOT;So;0;L;;;;;N;;;;; 234F;APL FUNCTIONAL SYMBOL UPWARDS VANE;So;0;L;;;;;N;;;;; 2350;APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW;So;0;L;;;;;N;;;;; 2351;APL FUNCTIONAL SYMBOL UP TACK OVERBAR;So;0;L;;;;;N;;;;; 2352;APL FUNCTIONAL SYMBOL DEL STILE;So;0;L;;;;;N;;;;; 2353;APL FUNCTIONAL SYMBOL QUAD UP CARET;So;0;L;;;;;N;;;;; 2354;APL FUNCTIONAL SYMBOL QUAD DEL;So;0;L;;;;;N;;;;; 2355;APL FUNCTIONAL SYMBOL UP TACK JOT;So;0;L;;;;;N;;;;; 2356;APL FUNCTIONAL SYMBOL DOWNWARDS VANE;So;0;L;;;;;N;;;;; 2357;APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW;So;0;L;;;;;N;;;;; 2358;APL FUNCTIONAL SYMBOL QUOTE UNDERBAR;So;0;L;;;;;N;;;;; 2359;APL FUNCTIONAL SYMBOL DELTA UNDERBAR;So;0;L;;;;;N;;;;; 235A;APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR;So;0;L;;;;;N;;;;; 235B;APL FUNCTIONAL SYMBOL JOT UNDERBAR;So;0;L;;;;;N;;;;; 235C;APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR;So;0;L;;;;;N;;;;; 235D;APL FUNCTIONAL SYMBOL UP SHOE JOT;So;0;L;;;;;N;;;;; 235E;APL FUNCTIONAL SYMBOL QUOTE QUAD;So;0;L;;;;;N;;;;; 235F;APL FUNCTIONAL SYMBOL CIRCLE STAR;So;0;L;;;;;N;;;;; 2360;APL FUNCTIONAL SYMBOL QUAD COLON;So;0;L;;;;;N;;;;; 2361;APL FUNCTIONAL SYMBOL UP TACK DIAERESIS;So;0;L;;;;;N;;;;; 2362;APL FUNCTIONAL SYMBOL DEL DIAERESIS;So;0;L;;;;;N;;;;; 2363;APL FUNCTIONAL SYMBOL STAR DIAERESIS;So;0;L;;;;;N;;;;; 2364;APL FUNCTIONAL SYMBOL JOT DIAERESIS;So;0;L;;;;;N;;;;; 2365;APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS;So;0;L;;;;;N;;;;; 2366;APL FUNCTIONAL SYMBOL DOWN SHOE STILE;So;0;L;;;;;N;;;;; 2367;APL FUNCTIONAL SYMBOL LEFT SHOE STILE;So;0;L;;;;;N;;;;; 2368;APL FUNCTIONAL SYMBOL TILDE DIAERESIS;So;0;L;;;;;N;;;;; 2369;APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS;So;0;L;;;;;N;;;;; 236A;APL FUNCTIONAL SYMBOL COMMA BAR;So;0;L;;;;;N;;;;; 236B;APL FUNCTIONAL SYMBOL DEL TILDE;So;0;L;;;;;N;;;;; 236C;APL FUNCTIONAL SYMBOL ZILDE;So;0;L;;;;;N;;;;; 236D;APL FUNCTIONAL SYMBOL STILE TILDE;So;0;L;;;;;N;;;;; 236E;APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR;So;0;L;;;;;N;;;;; 236F;APL FUNCTIONAL SYMBOL QUAD NOT EQUAL;So;0;L;;;;;N;;;;; 2370;APL FUNCTIONAL SYMBOL QUAD QUESTION;So;0;L;;;;;N;;;;; 2371;APL FUNCTIONAL SYMBOL DOWN CARET TILDE;So;0;L;;;;;N;;;;; 2372;APL FUNCTIONAL SYMBOL UP CARET TILDE;So;0;L;;;;;N;;;;; 2373;APL FUNCTIONAL SYMBOL IOTA;So;0;L;;;;;N;;;;; 2374;APL FUNCTIONAL SYMBOL RHO;So;0;L;;;;;N;;;;; 2375;APL FUNCTIONAL SYMBOL OMEGA;So;0;L;;;;;N;;;;; 2376;APL FUNCTIONAL SYMBOL ALPHA UNDERBAR;So;0;L;;;;;N;;;;; 2377;APL FUNCTIONAL SYMBOL EPSILON UNDERBAR;So;0;L;;;;;N;;;;; 2378;APL FUNCTIONAL SYMBOL IOTA UNDERBAR;So;0;L;;;;;N;;;;; 2379;APL FUNCTIONAL SYMBOL OMEGA UNDERBAR;So;0;L;;;;;N;;;;; 237A;APL FUNCTIONAL SYMBOL ALPHA;So;0;L;;;;;N;;;;; 2400;SYMBOL FOR NULL;So;0;ON;;;;;N;GRAPHIC FOR NULL;;;; 2401;SYMBOL FOR START OF HEADING;So;0;ON;;;;;N;GRAPHIC FOR START OF HEADING;;;; 2402;SYMBOL FOR START OF TEXT;So;0;ON;;;;;N;GRAPHIC FOR START OF TEXT;;;; 2403;SYMBOL FOR END OF TEXT;So;0;ON;;;;;N;GRAPHIC FOR END OF TEXT;;;; 2404;SYMBOL FOR END OF TRANSMISSION;So;0;ON;;;;;N;GRAPHIC FOR END OF TRANSMISSION;;;; 2405;SYMBOL FOR ENQUIRY;So;0;ON;;;;;N;GRAPHIC FOR ENQUIRY;;;; 2406;SYMBOL FOR ACKNOWLEDGE;So;0;ON;;;;;N;GRAPHIC FOR ACKNOWLEDGE;;;; 2407;SYMBOL FOR BELL;So;0;ON;;;;;N;GRAPHIC FOR BELL;;;; 2408;SYMBOL FOR BACKSPACE;So;0;ON;;;;;N;GRAPHIC FOR BACKSPACE;;;; 2409;SYMBOL FOR HORIZONTAL TABULATION;So;0;ON;;;;;N;GRAPHIC FOR HORIZONTAL TABULATION;;;; 240A;SYMBOL FOR LINE FEED;So;0;ON;;;;;N;GRAPHIC FOR LINE FEED;;;; 240B;SYMBOL FOR VERTICAL TABULATION;So;0;ON;;;;;N;GRAPHIC FOR VERTICAL TABULATION;;;; 240C;SYMBOL FOR FORM FEED;So;0;ON;;;;;N;GRAPHIC FOR FORM FEED;;;; 240D;SYMBOL FOR CARRIAGE RETURN;So;0;ON;;;;;N;GRAPHIC FOR CARRIAGE RETURN;;;; 240E;SYMBOL FOR SHIFT OUT;So;0;ON;;;;;N;GRAPHIC FOR SHIFT OUT;;;; 240F;SYMBOL FOR SHIFT IN;So;0;ON;;;;;N;GRAPHIC FOR SHIFT IN;;;; 2410;SYMBOL FOR DATA LINK ESCAPE;So;0;ON;;;;;N;GRAPHIC FOR DATA LINK ESCAPE;;;; 2411;SYMBOL FOR DEVICE CONTROL ONE;So;0;ON;;;;;N;GRAPHIC FOR DEVICE CONTROL ONE;;;; 2412;SYMBOL FOR DEVICE CONTROL TWO;So;0;ON;;;;;N;GRAPHIC FOR DEVICE CONTROL TWO;;;; 2413;SYMBOL FOR DEVICE CONTROL THREE;So;0;ON;;;;;N;GRAPHIC FOR DEVICE CONTROL THREE;;;; 2414;SYMBOL FOR DEVICE CONTROL FOUR;So;0;ON;;;;;N;GRAPHIC FOR DEVICE CONTROL FOUR;;;; 2415;SYMBOL FOR NEGATIVE ACKNOWLEDGE;So;0;ON;;;;;N;GRAPHIC FOR NEGATIVE ACKNOWLEDGE;;;; 2416;SYMBOL FOR SYNCHRONOUS IDLE;So;0;ON;;;;;N;GRAPHIC FOR SYNCHRONOUS IDLE;;;; 2417;SYMBOL FOR END OF TRANSMISSION BLOCK;So;0;ON;;;;;N;GRAPHIC FOR END OF TRANSMISSION BLOCK;;;; 2418;SYMBOL FOR CANCEL;So;0;ON;;;;;N;GRAPHIC FOR CANCEL;;;; 2419;SYMBOL FOR END OF MEDIUM;So;0;ON;;;;;N;GRAPHIC FOR END OF MEDIUM;;;; 241A;SYMBOL FOR SUBSTITUTE;So;0;ON;;;;;N;GRAPHIC FOR SUBSTITUTE;;;; 241B;SYMBOL FOR ESCAPE;So;0;ON;;;;;N;GRAPHIC FOR ESCAPE;;;; 241C;SYMBOL FOR FILE SEPARATOR;So;0;ON;;;;;N;GRAPHIC FOR FILE SEPARATOR;;;; 241D;SYMBOL FOR GROUP SEPARATOR;So;0;ON;;;;;N;GRAPHIC FOR GROUP SEPARATOR;;;; 241E;SYMBOL FOR RECORD SEPARATOR;So;0;ON;;;;;N;GRAPHIC FOR RECORD SEPARATOR;;;; 241F;SYMBOL FOR UNIT SEPARATOR;So;0;ON;;;;;N;GRAPHIC FOR UNIT SEPARATOR;;;; 2420;SYMBOL FOR SPACE;So;0;ON;;;;;N;GRAPHIC FOR SPACE;;;; 2421;SYMBOL FOR DELETE;So;0;ON;;;;;N;GRAPHIC FOR DELETE;;;; 2422;BLANK SYMBOL;So;0;ON;;;;;N;BLANK;;;; 2423;OPEN BOX;So;0;ON;;;;;N;;;;; 2424;SYMBOL FOR NEWLINE;So;0;ON;;;;;N;GRAPHIC FOR NEWLINE;;;; 2440;OCR HOOK;So;0;ON;;;;;N;;;;; 2441;OCR CHAIR;So;0;ON;;;;;N;;;;; 2442;OCR FORK;So;0;ON;;;;;N;;;;; 2443;OCR INVERTED FORK;So;0;ON;;;;;N;;;;; 2444;OCR BELT BUCKLE;So;0;ON;;;;;N;;;;; 2445;OCR BOW TIE;So;0;ON;;;;;N;;;;; 2446;OCR BRANCH BANK IDENTIFICATION;So;0;ON;;;;;N;;;;; 2447;OCR AMOUNT OF CHECK;So;0;ON;;;;;N;;;;; 2448;OCR DASH;So;0;ON;;;;;N;;;;; 2449;OCR CUSTOMER ACCOUNT NUMBER;So;0;ON;;;;;N;;;;; 244A;OCR DOUBLE BACKSLASH;So;0;ON;;;;;N;;;;; 2460;CIRCLED DIGIT ONE;No;0;EN; 0031;;1;1;N;;;;; 2461;CIRCLED DIGIT TWO;No;0;EN; 0032;;2;2;N;;;;; 2462;CIRCLED DIGIT THREE;No;0;EN; 0033;;3;3;N;;;;; 2463;CIRCLED DIGIT FOUR;No;0;EN; 0034;;4;4;N;;;;; 2464;CIRCLED DIGIT FIVE;No;0;EN; 0035;;5;5;N;;;;; 2465;CIRCLED DIGIT SIX;No;0;EN; 0036;;6;6;N;;;;; 2466;CIRCLED DIGIT SEVEN;No;0;EN; 0037;;7;7;N;;;;; 2467;CIRCLED DIGIT EIGHT;No;0;EN; 0038;;8;8;N;;;;; 2468;CIRCLED DIGIT NINE;No;0;EN; 0039;;9;9;N;;;;; 2469;CIRCLED NUMBER TEN;No;0;EN; 0031 0030;;;10;N;;;;; 246A;CIRCLED NUMBER ELEVEN;No;0;EN; 0031 0031;;;11;N;;;;; 246B;CIRCLED NUMBER TWELVE;No;0;EN; 0031 0032;;;12;N;;;;; 246C;CIRCLED NUMBER THIRTEEN;No;0;EN; 0031 0033;;;13;N;;;;; 246D;CIRCLED NUMBER FOURTEEN;No;0;EN; 0031 0034;;;14;N;;;;; 246E;CIRCLED NUMBER FIFTEEN;No;0;EN; 0031 0035;;;15;N;;;;; 246F;CIRCLED NUMBER SIXTEEN;No;0;EN; 0031 0036;;;16;N;;;;; 2470;CIRCLED NUMBER SEVENTEEN;No;0;EN; 0031 0037;;;17;N;;;;; 2471;CIRCLED NUMBER EIGHTEEN;No;0;EN; 0031 0038;;;18;N;;;;; 2472;CIRCLED NUMBER NINETEEN;No;0;EN; 0031 0039;;;19;N;;;;; 2473;CIRCLED NUMBER TWENTY;No;0;EN; 0032 0030;;;20;N;;;;; 2474;PARENTHESIZED DIGIT ONE;No;0;EN; 0028 0031 0029;;1;1;N;;;;; 2475;PARENTHESIZED DIGIT TWO;No;0;EN; 0028 0032 0029;;2;2;N;;;;; 2476;PARENTHESIZED DIGIT THREE;No;0;EN; 0028 0033 0029;;3;3;N;;;;; 2477;PARENTHESIZED DIGIT FOUR;No;0;EN; 0028 0034 0029;;4;4;N;;;;; 2478;PARENTHESIZED DIGIT FIVE;No;0;EN; 0028 0035 0029;;5;5;N;;;;; 2479;PARENTHESIZED DIGIT SIX;No;0;EN; 0028 0036 0029;;6;6;N;;;;; 247A;PARENTHESIZED DIGIT SEVEN;No;0;EN; 0028 0037 0029;;7;7;N;;;;; 247B;PARENTHESIZED DIGIT EIGHT;No;0;EN; 0028 0038 0029;;8;8;N;;;;; 247C;PARENTHESIZED DIGIT NINE;No;0;EN; 0028 0039 0029;;9;9;N;;;;; 247D;PARENTHESIZED NUMBER TEN;No;0;EN; 0028 0031 0030 0029;;;10;N;;;;; 247E;PARENTHESIZED NUMBER ELEVEN;No;0;EN; 0028 0031 0031 0029;;;11;N;;;;; 247F;PARENTHESIZED NUMBER TWELVE;No;0;EN; 0028 0031 0032 0029;;;12;N;;;;; 2480;PARENTHESIZED NUMBER THIRTEEN;No;0;EN; 0028 0031 0033 0029;;;13;N;;;;; 2481;PARENTHESIZED NUMBER FOURTEEN;No;0;EN; 0028 0031 0034 0029;;;14;N;;;;; 2482;PARENTHESIZED NUMBER FIFTEEN;No;0;EN; 0028 0031 0035 0029;;;15;N;;;;; 2483;PARENTHESIZED NUMBER SIXTEEN;No;0;EN; 0028 0031 0036 0029;;;16;N;;;;; 2484;PARENTHESIZED NUMBER SEVENTEEN;No;0;EN; 0028 0031 0037 0029;;;17;N;;;;; 2485;PARENTHESIZED NUMBER EIGHTEEN;No;0;EN; 0028 0031 0038 0029;;;18;N;;;;; 2486;PARENTHESIZED NUMBER NINETEEN;No;0;EN; 0028 0031 0039 0029;;;19;N;;;;; 2487;PARENTHESIZED NUMBER TWENTY;No;0;EN; 0028 0032 0030 0029;;;20;N;;;;; 2488;DIGIT ONE FULL STOP;No;0;EN; 0031 002E;;1;1;N;DIGIT ONE PERIOD;;;; 2489;DIGIT TWO FULL STOP;No;0;EN; 0032 002E;;2;2;N;DIGIT TWO PERIOD;;;; 248A;DIGIT THREE FULL STOP;No;0;EN; 0033 002E;;3;3;N;DIGIT THREE PERIOD;;;; 248B;DIGIT FOUR FULL STOP;No;0;EN; 0034 002E;;4;4;N;DIGIT FOUR PERIOD;;;; 248C;DIGIT FIVE FULL STOP;No;0;EN; 0035 002E;;5;5;N;DIGIT FIVE PERIOD;;;; 248D;DIGIT SIX FULL STOP;No;0;EN; 0036 002E;;6;6;N;DIGIT SIX PERIOD;;;; 248E;DIGIT SEVEN FULL STOP;No;0;EN; 0037 002E;;7;7;N;DIGIT SEVEN PERIOD;;;; 248F;DIGIT EIGHT FULL STOP;No;0;EN; 0038 002E;;8;8;N;DIGIT EIGHT PERIOD;;;; 2490;DIGIT NINE FULL STOP;No;0;EN; 0039 002E;;9;9;N;DIGIT NINE PERIOD;;;; 2491;NUMBER TEN FULL STOP;No;0;EN; 0031 0030 002E;;;10;N;NUMBER TEN PERIOD;;;; 2492;NUMBER ELEVEN FULL STOP;No;0;EN; 0031 0031 002E;;;11;N;NUMBER ELEVEN PERIOD;;;; 2493;NUMBER TWELVE FULL STOP;No;0;EN; 0031 0032 002E;;;12;N;NUMBER TWELVE PERIOD;;;; 2494;NUMBER THIRTEEN FULL STOP;No;0;EN; 0031 0033 002E;;;13;N;NUMBER THIRTEEN PERIOD;;;; 2495;NUMBER FOURTEEN FULL STOP;No;0;EN; 0031 0034 002E;;;14;N;NUMBER FOURTEEN PERIOD;;;; 2496;NUMBER FIFTEEN FULL STOP;No;0;EN; 0031 0035 002E;;;15;N;NUMBER FIFTEEN PERIOD;;;; 2497;NUMBER SIXTEEN FULL STOP;No;0;EN; 0031 0036 002E;;;16;N;NUMBER SIXTEEN PERIOD;;;; 2498;NUMBER SEVENTEEN FULL STOP;No;0;EN; 0031 0037 002E;;;17;N;NUMBER SEVENTEEN PERIOD;;;; 2499;NUMBER EIGHTEEN FULL STOP;No;0;EN; 0031 0038 002E;;;18;N;NUMBER EIGHTEEN PERIOD;;;; 249A;NUMBER NINETEEN FULL STOP;No;0;EN; 0031 0039 002E;;;19;N;NUMBER NINETEEN PERIOD;;;; 249B;NUMBER TWENTY FULL STOP;No;0;EN; 0032 0030 002E;;;20;N;NUMBER TWENTY PERIOD;;;; 249C;PARENTHESIZED LATIN SMALL LETTER A;So;0;L; 0028 0061 0029;;;;N;;;;; 249D;PARENTHESIZED LATIN SMALL LETTER B;So;0;L; 0028 0062 0029;;;;N;;;;; 249E;PARENTHESIZED LATIN SMALL LETTER C;So;0;L; 0028 0063 0029;;;;N;;;;; 249F;PARENTHESIZED LATIN SMALL LETTER D;So;0;L; 0028 0064 0029;;;;N;;;;; 24A0;PARENTHESIZED LATIN SMALL LETTER E;So;0;L; 0028 0065 0029;;;;N;;;;; 24A1;PARENTHESIZED LATIN SMALL LETTER F;So;0;L; 0028 0066 0029;;;;N;;;;; 24A2;PARENTHESIZED LATIN SMALL LETTER G;So;0;L; 0028 0067 0029;;;;N;;;;; 24A3;PARENTHESIZED LATIN SMALL LETTER H;So;0;L; 0028 0068 0029;;;;N;;;;; 24A4;PARENTHESIZED LATIN SMALL LETTER I;So;0;L; 0028 0069 0029;;;;N;;;;; 24A5;PARENTHESIZED LATIN SMALL LETTER J;So;0;L; 0028 006A 0029;;;;N;;;;; 24A6;PARENTHESIZED LATIN SMALL LETTER K;So;0;L; 0028 006B 0029;;;;N;;;;; 24A7;PARENTHESIZED LATIN SMALL LETTER L;So;0;L; 0028 006C 0029;;;;N;;;;; 24A8;PARENTHESIZED LATIN SMALL LETTER M;So;0;L; 0028 006D 0029;;;;N;;;;; 24A9;PARENTHESIZED LATIN SMALL LETTER N;So;0;L; 0028 006E 0029;;;;N;;;;; 24AA;PARENTHESIZED LATIN SMALL LETTER O;So;0;L; 0028 006F 0029;;;;N;;;;; 24AB;PARENTHESIZED LATIN SMALL LETTER P;So;0;L; 0028 0070 0029;;;;N;;;;; 24AC;PARENTHESIZED LATIN SMALL LETTER Q;So;0;L; 0028 0071 0029;;;;N;;;;; 24AD;PARENTHESIZED LATIN SMALL LETTER R;So;0;L; 0028 0072 0029;;;;N;;;;; 24AE;PARENTHESIZED LATIN SMALL LETTER S;So;0;L; 0028 0073 0029;;;;N;;;;; 24AF;PARENTHESIZED LATIN SMALL LETTER T;So;0;L; 0028 0074 0029;;;;N;;;;; 24B0;PARENTHESIZED LATIN SMALL LETTER U;So;0;L; 0028 0075 0029;;;;N;;;;; 24B1;PARENTHESIZED LATIN SMALL LETTER V;So;0;L; 0028 0076 0029;;;;N;;;;; 24B2;PARENTHESIZED LATIN SMALL LETTER W;So;0;L; 0028 0077 0029;;;;N;;;;; 24B3;PARENTHESIZED LATIN SMALL LETTER X;So;0;L; 0028 0078 0029;;;;N;;;;; 24B4;PARENTHESIZED LATIN SMALL LETTER Y;So;0;L; 0028 0079 0029;;;;N;;;;; 24B5;PARENTHESIZED LATIN SMALL LETTER Z;So;0;L; 0028 007A 0029;;;;N;;;;; 24B6;CIRCLED LATIN CAPITAL LETTER A;So;0;L; 0041;;;;N;;;;24D0; 24B7;CIRCLED LATIN CAPITAL LETTER B;So;0;L; 0042;;;;N;;;;24D1; 24B8;CIRCLED LATIN CAPITAL LETTER C;So;0;L; 0043;;;;N;;;;24D2; 24B9;CIRCLED LATIN CAPITAL LETTER D;So;0;L; 0044;;;;N;;;;24D3; 24BA;CIRCLED LATIN CAPITAL LETTER E;So;0;L; 0045;;;;N;;;;24D4; 24BB;CIRCLED LATIN CAPITAL LETTER F;So;0;L; 0046;;;;N;;;;24D5; 24BC;CIRCLED LATIN CAPITAL LETTER G;So;0;L; 0047;;;;N;;;;24D6; 24BD;CIRCLED LATIN CAPITAL LETTER H;So;0;L; 0048;;;;N;;;;24D7; 24BE;CIRCLED LATIN CAPITAL LETTER I;So;0;L; 0049;;;;N;;;;24D8; 24BF;CIRCLED LATIN CAPITAL LETTER J;So;0;L; 004A;;;;N;;;;24D9; 24C0;CIRCLED LATIN CAPITAL LETTER K;So;0;L; 004B;;;;N;;;;24DA; 24C1;CIRCLED LATIN CAPITAL LETTER L;So;0;L; 004C;;;;N;;;;24DB; 24C2;CIRCLED LATIN CAPITAL LETTER M;So;0;L; 004D;;;;N;;;;24DC; 24C3;CIRCLED LATIN CAPITAL LETTER N;So;0;L; 004E;;;;N;;;;24DD; 24C4;CIRCLED LATIN CAPITAL LETTER O;So;0;L; 004F;;;;N;;;;24DE; 24C5;CIRCLED LATIN CAPITAL LETTER P;So;0;L; 0050;;;;N;;;;24DF; 24C6;CIRCLED LATIN CAPITAL LETTER Q;So;0;L; 0051;;;;N;;;;24E0; 24C7;CIRCLED LATIN CAPITAL LETTER R;So;0;L; 0052;;;;N;;;;24E1; 24C8;CIRCLED LATIN CAPITAL LETTER S;So;0;L; 0053;;;;N;;;;24E2; 24C9;CIRCLED LATIN CAPITAL LETTER T;So;0;L; 0054;;;;N;;;;24E3; 24CA;CIRCLED LATIN CAPITAL LETTER U;So;0;L; 0055;;;;N;;;;24E4; 24CB;CIRCLED LATIN CAPITAL LETTER V;So;0;L; 0056;;;;N;;;;24E5; 24CC;CIRCLED LATIN CAPITAL LETTER W;So;0;L; 0057;;;;N;;;;24E6; 24CD;CIRCLED LATIN CAPITAL LETTER X;So;0;L; 0058;;;;N;;;;24E7; 24CE;CIRCLED LATIN CAPITAL LETTER Y;So;0;L; 0059;;;;N;;;;24E8; 24CF;CIRCLED LATIN CAPITAL LETTER Z;So;0;L; 005A;;;;N;;;;24E9; 24D0;CIRCLED LATIN SMALL LETTER A;So;0;L; 0061;;;;N;;;24B6;;24B6 24D1;CIRCLED LATIN SMALL LETTER B;So;0;L; 0062;;;;N;;;24B7;;24B7 24D2;CIRCLED LATIN SMALL LETTER C;So;0;L; 0063;;;;N;;;24B8;;24B8 24D3;CIRCLED LATIN SMALL LETTER D;So;0;L; 0064;;;;N;;;24B9;;24B9 24D4;CIRCLED LATIN SMALL LETTER E;So;0;L; 0065;;;;N;;;24BA;;24BA 24D5;CIRCLED LATIN SMALL LETTER F;So;0;L; 0066;;;;N;;;24BB;;24BB 24D6;CIRCLED LATIN SMALL LETTER G;So;0;L; 0067;;;;N;;;24BC;;24BC 24D7;CIRCLED LATIN SMALL LETTER H;So;0;L; 0068;;;;N;;;24BD;;24BD 24D8;CIRCLED LATIN SMALL LETTER I;So;0;L; 0069;;;;N;;;24BE;;24BE 24D9;CIRCLED LATIN SMALL LETTER J;So;0;L; 006A;;;;N;;;24BF;;24BF 24DA;CIRCLED LATIN SMALL LETTER K;So;0;L; 006B;;;;N;;;24C0;;24C0 24DB;CIRCLED LATIN SMALL LETTER L;So;0;L; 006C;;;;N;;;24C1;;24C1 24DC;CIRCLED LATIN SMALL LETTER M;So;0;L; 006D;;;;N;;;24C2;;24C2 24DD;CIRCLED LATIN SMALL LETTER N;So;0;L; 006E;;;;N;;;24C3;;24C3 24DE;CIRCLED LATIN SMALL LETTER O;So;0;L; 006F;;;;N;;;24C4;;24C4 24DF;CIRCLED LATIN SMALL LETTER P;So;0;L; 0070;;;;N;;;24C5;;24C5 24E0;CIRCLED LATIN SMALL LETTER Q;So;0;L; 0071;;;;N;;;24C6;;24C6 24E1;CIRCLED LATIN SMALL LETTER R;So;0;L; 0072;;;;N;;;24C7;;24C7 24E2;CIRCLED LATIN SMALL LETTER S;So;0;L; 0073;;;;N;;;24C8;;24C8 24E3;CIRCLED LATIN SMALL LETTER T;So;0;L; 0074;;;;N;;;24C9;;24C9 24E4;CIRCLED LATIN SMALL LETTER U;So;0;L; 0075;;;;N;;;24CA;;24CA 24E5;CIRCLED LATIN SMALL LETTER V;So;0;L; 0076;;;;N;;;24CB;;24CB 24E6;CIRCLED LATIN SMALL LETTER W;So;0;L; 0077;;;;N;;;24CC;;24CC 24E7;CIRCLED LATIN SMALL LETTER X;So;0;L; 0078;;;;N;;;24CD;;24CD 24E8;CIRCLED LATIN SMALL LETTER Y;So;0;L; 0079;;;;N;;;24CE;;24CE 24E9;CIRCLED LATIN SMALL LETTER Z;So;0;L; 007A;;;;N;;;24CF;;24CF 24EA;CIRCLED DIGIT ZERO;No;0;EN; 0030;;0;0;N;;;;; 2500;BOX DRAWINGS LIGHT HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT HORIZONTAL;;;; 2501;BOX DRAWINGS HEAVY HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY HORIZONTAL;;;; 2502;BOX DRAWINGS LIGHT VERTICAL;So;0;ON;;;;;N;FORMS LIGHT VERTICAL;;;; 2503;BOX DRAWINGS HEAVY VERTICAL;So;0;ON;;;;;N;FORMS HEAVY VERTICAL;;;; 2504;BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT TRIPLE DASH HORIZONTAL;;;; 2505;BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY TRIPLE DASH HORIZONTAL;;;; 2506;BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL;So;0;ON;;;;;N;FORMS LIGHT TRIPLE DASH VERTICAL;;;; 2507;BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL;So;0;ON;;;;;N;FORMS HEAVY TRIPLE DASH VERTICAL;;;; 2508;BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT QUADRUPLE DASH HORIZONTAL;;;; 2509;BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY QUADRUPLE DASH HORIZONTAL;;;; 250A;BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL;So;0;ON;;;;;N;FORMS LIGHT QUADRUPLE DASH VERTICAL;;;; 250B;BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL;So;0;ON;;;;;N;FORMS HEAVY QUADRUPLE DASH VERTICAL;;;; 250C;BOX DRAWINGS LIGHT DOWN AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT DOWN AND RIGHT;;;; 250D;BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND RIGHT HEAVY;;;; 250E;BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND RIGHT LIGHT;;;; 250F;BOX DRAWINGS HEAVY DOWN AND RIGHT;So;0;ON;;;;;N;FORMS HEAVY DOWN AND RIGHT;;;; 2510;BOX DRAWINGS LIGHT DOWN AND LEFT;So;0;ON;;;;;N;FORMS LIGHT DOWN AND LEFT;;;; 2511;BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND LEFT HEAVY;;;; 2512;BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND LEFT LIGHT;;;; 2513;BOX DRAWINGS HEAVY DOWN AND LEFT;So;0;ON;;;;;N;FORMS HEAVY DOWN AND LEFT;;;; 2514;BOX DRAWINGS LIGHT UP AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT UP AND RIGHT;;;; 2515;BOX DRAWINGS UP LIGHT AND RIGHT HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND RIGHT HEAVY;;;; 2516;BOX DRAWINGS UP HEAVY AND RIGHT LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND RIGHT LIGHT;;;; 2517;BOX DRAWINGS HEAVY UP AND RIGHT;So;0;ON;;;;;N;FORMS HEAVY UP AND RIGHT;;;; 2518;BOX DRAWINGS LIGHT UP AND LEFT;So;0;ON;;;;;N;FORMS LIGHT UP AND LEFT;;;; 2519;BOX DRAWINGS UP LIGHT AND LEFT HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND LEFT HEAVY;;;; 251A;BOX DRAWINGS UP HEAVY AND LEFT LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND LEFT LIGHT;;;; 251B;BOX DRAWINGS HEAVY UP AND LEFT;So;0;ON;;;;;N;FORMS HEAVY UP AND LEFT;;;; 251C;BOX DRAWINGS LIGHT VERTICAL AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT VERTICAL AND RIGHT;;;; 251D;BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY;So;0;ON;;;;;N;FORMS VERTICAL LIGHT AND RIGHT HEAVY;;;; 251E;BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND RIGHT DOWN LIGHT;;;; 251F;BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND RIGHT UP LIGHT;;;; 2520;BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT;So;0;ON;;;;;N;FORMS VERTICAL HEAVY AND RIGHT LIGHT;;;; 2521;BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND RIGHT UP HEAVY;;;; 2522;BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND RIGHT DOWN HEAVY;;;; 2523;BOX DRAWINGS HEAVY VERTICAL AND RIGHT;So;0;ON;;;;;N;FORMS HEAVY VERTICAL AND RIGHT;;;; 2524;BOX DRAWINGS LIGHT VERTICAL AND LEFT;So;0;ON;;;;;N;FORMS LIGHT VERTICAL AND LEFT;;;; 2525;BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY;So;0;ON;;;;;N;FORMS VERTICAL LIGHT AND LEFT HEAVY;;;; 2526;BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND LEFT DOWN LIGHT;;;; 2527;BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND LEFT UP LIGHT;;;; 2528;BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT;So;0;ON;;;;;N;FORMS VERTICAL HEAVY AND LEFT LIGHT;;;; 2529;BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND LEFT UP HEAVY;;;; 252A;BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND LEFT DOWN HEAVY;;;; 252B;BOX DRAWINGS HEAVY VERTICAL AND LEFT;So;0;ON;;;;;N;FORMS HEAVY VERTICAL AND LEFT;;;; 252C;BOX DRAWINGS LIGHT DOWN AND HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT DOWN AND HORIZONTAL;;;; 252D;BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT;So;0;ON;;;;;N;FORMS LEFT HEAVY AND RIGHT DOWN LIGHT;;;; 252E;BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT;So;0;ON;;;;;N;FORMS RIGHT HEAVY AND LEFT DOWN LIGHT;;;; 252F;BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND HORIZONTAL HEAVY;;;; 2530;BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND HORIZONTAL LIGHT;;;; 2531;BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY;So;0;ON;;;;;N;FORMS RIGHT LIGHT AND LEFT DOWN HEAVY;;;; 2532;BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY;So;0;ON;;;;;N;FORMS LEFT LIGHT AND RIGHT DOWN HEAVY;;;; 2533;BOX DRAWINGS HEAVY DOWN AND HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY DOWN AND HORIZONTAL;;;; 2534;BOX DRAWINGS LIGHT UP AND HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT UP AND HORIZONTAL;;;; 2535;BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT;So;0;ON;;;;;N;FORMS LEFT HEAVY AND RIGHT UP LIGHT;;;; 2536;BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT;So;0;ON;;;;;N;FORMS RIGHT HEAVY AND LEFT UP LIGHT;;;; 2537;BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND HORIZONTAL HEAVY;;;; 2538;BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND HORIZONTAL LIGHT;;;; 2539;BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY;So;0;ON;;;;;N;FORMS RIGHT LIGHT AND LEFT UP HEAVY;;;; 253A;BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY;So;0;ON;;;;;N;FORMS LEFT LIGHT AND RIGHT UP HEAVY;;;; 253B;BOX DRAWINGS HEAVY UP AND HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY UP AND HORIZONTAL;;;; 253C;BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT VERTICAL AND HORIZONTAL;;;; 253D;BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT;So;0;ON;;;;;N;FORMS LEFT HEAVY AND RIGHT VERTICAL LIGHT;;;; 253E;BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT;So;0;ON;;;;;N;FORMS RIGHT HEAVY AND LEFT VERTICAL LIGHT;;;; 253F;BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS VERTICAL LIGHT AND HORIZONTAL HEAVY;;;; 2540;BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND DOWN HORIZONTAL LIGHT;;;; 2541;BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND UP HORIZONTAL LIGHT;;;; 2542;BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS VERTICAL HEAVY AND HORIZONTAL LIGHT;;;; 2543;BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT;So;0;ON;;;;;N;FORMS LEFT UP HEAVY AND RIGHT DOWN LIGHT;;;; 2544;BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT;So;0;ON;;;;;N;FORMS RIGHT UP HEAVY AND LEFT DOWN LIGHT;;;; 2545;BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT;So;0;ON;;;;;N;FORMS LEFT DOWN HEAVY AND RIGHT UP LIGHT;;;; 2546;BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT;So;0;ON;;;;;N;FORMS RIGHT DOWN HEAVY AND LEFT UP LIGHT;;;; 2547;BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND UP HORIZONTAL HEAVY;;;; 2548;BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND DOWN HORIZONTAL HEAVY;;;; 2549;BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY;So;0;ON;;;;;N;FORMS RIGHT LIGHT AND LEFT VERTICAL HEAVY;;;; 254A;BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY;So;0;ON;;;;;N;FORMS LEFT LIGHT AND RIGHT VERTICAL HEAVY;;;; 254B;BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY VERTICAL AND HORIZONTAL;;;; 254C;BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT DOUBLE DASH HORIZONTAL;;;; 254D;BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY DOUBLE DASH HORIZONTAL;;;; 254E;BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL;So;0;ON;;;;;N;FORMS LIGHT DOUBLE DASH VERTICAL;;;; 254F;BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL;So;0;ON;;;;;N;FORMS HEAVY DOUBLE DASH VERTICAL;;;; 2550;BOX DRAWINGS DOUBLE HORIZONTAL;So;0;ON;;;;;N;FORMS DOUBLE HORIZONTAL;;;; 2551;BOX DRAWINGS DOUBLE VERTICAL;So;0;ON;;;;;N;FORMS DOUBLE VERTICAL;;;; 2552;BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE;So;0;ON;;;;;N;FORMS DOWN SINGLE AND RIGHT DOUBLE;;;; 2553;BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE;So;0;ON;;;;;N;FORMS DOWN DOUBLE AND RIGHT SINGLE;;;; 2554;BOX DRAWINGS DOUBLE DOWN AND RIGHT;So;0;ON;;;;;N;FORMS DOUBLE DOWN AND RIGHT;;;; 2555;BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE;So;0;ON;;;;;N;FORMS DOWN SINGLE AND LEFT DOUBLE;;;; 2556;BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE;So;0;ON;;;;;N;FORMS DOWN DOUBLE AND LEFT SINGLE;;;; 2557;BOX DRAWINGS DOUBLE DOWN AND LEFT;So;0;ON;;;;;N;FORMS DOUBLE DOWN AND LEFT;;;; 2558;BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE;So;0;ON;;;;;N;FORMS UP SINGLE AND RIGHT DOUBLE;;;; 2559;BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE;So;0;ON;;;;;N;FORMS UP DOUBLE AND RIGHT SINGLE;;;; 255A;BOX DRAWINGS DOUBLE UP AND RIGHT;So;0;ON;;;;;N;FORMS DOUBLE UP AND RIGHT;;;; 255B;BOX DRAWINGS UP SINGLE AND LEFT DOUBLE;So;0;ON;;;;;N;FORMS UP SINGLE AND LEFT DOUBLE;;;; 255C;BOX DRAWINGS UP DOUBLE AND LEFT SINGLE;So;0;ON;;;;;N;FORMS UP DOUBLE AND LEFT SINGLE;;;; 255D;BOX DRAWINGS DOUBLE UP AND LEFT;So;0;ON;;;;;N;FORMS DOUBLE UP AND LEFT;;;; 255E;BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE;So;0;ON;;;;;N;FORMS VERTICAL SINGLE AND RIGHT DOUBLE;;;; 255F;BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE;So;0;ON;;;;;N;FORMS VERTICAL DOUBLE AND RIGHT SINGLE;;;; 2560;BOX DRAWINGS DOUBLE VERTICAL AND RIGHT;So;0;ON;;;;;N;FORMS DOUBLE VERTICAL AND RIGHT;;;; 2561;BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE;So;0;ON;;;;;N;FORMS VERTICAL SINGLE AND LEFT DOUBLE;;;; 2562;BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE;So;0;ON;;;;;N;FORMS VERTICAL DOUBLE AND LEFT SINGLE;;;; 2563;BOX DRAWINGS DOUBLE VERTICAL AND LEFT;So;0;ON;;;;;N;FORMS DOUBLE VERTICAL AND LEFT;;;; 2564;BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE;So;0;ON;;;;;N;FORMS DOWN SINGLE AND HORIZONTAL DOUBLE;;;; 2565;BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE;So;0;ON;;;;;N;FORMS DOWN DOUBLE AND HORIZONTAL SINGLE;;;; 2566;BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL;So;0;ON;;;;;N;FORMS DOUBLE DOWN AND HORIZONTAL;;;; 2567;BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE;So;0;ON;;;;;N;FORMS UP SINGLE AND HORIZONTAL DOUBLE;;;; 2568;BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE;So;0;ON;;;;;N;FORMS UP DOUBLE AND HORIZONTAL SINGLE;;;; 2569;BOX DRAWINGS DOUBLE UP AND HORIZONTAL;So;0;ON;;;;;N;FORMS DOUBLE UP AND HORIZONTAL;;;; 256A;BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE;So;0;ON;;;;;N;FORMS VERTICAL SINGLE AND HORIZONTAL DOUBLE;;;; 256B;BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE;So;0;ON;;;;;N;FORMS VERTICAL DOUBLE AND HORIZONTAL SINGLE;;;; 256C;BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL;So;0;ON;;;;;N;FORMS DOUBLE VERTICAL AND HORIZONTAL;;;; 256D;BOX DRAWINGS LIGHT ARC DOWN AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT ARC DOWN AND RIGHT;;;; 256E;BOX DRAWINGS LIGHT ARC DOWN AND LEFT;So;0;ON;;;;;N;FORMS LIGHT ARC DOWN AND LEFT;;;; 256F;BOX DRAWINGS LIGHT ARC UP AND LEFT;So;0;ON;;;;;N;FORMS LIGHT ARC UP AND LEFT;;;; 2570;BOX DRAWINGS LIGHT ARC UP AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT ARC UP AND RIGHT;;;; 2571;BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT;So;0;ON;;;;;N;FORMS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT;;;; 2572;BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT;So;0;ON;;;;;N;FORMS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT;;;; 2573;BOX DRAWINGS LIGHT DIAGONAL CROSS;So;0;ON;;;;;N;FORMS LIGHT DIAGONAL CROSS;;;; 2574;BOX DRAWINGS LIGHT LEFT;So;0;ON;;;;;N;FORMS LIGHT LEFT;;;; 2575;BOX DRAWINGS LIGHT UP;So;0;ON;;;;;N;FORMS LIGHT UP;;;; 2576;BOX DRAWINGS LIGHT RIGHT;So;0;ON;;;;;N;FORMS LIGHT RIGHT;;;; 2577;BOX DRAWINGS LIGHT DOWN;So;0;ON;;;;;N;FORMS LIGHT DOWN;;;; 2578;BOX DRAWINGS HEAVY LEFT;So;0;ON;;;;;N;FORMS HEAVY LEFT;;;; 2579;BOX DRAWINGS HEAVY UP;So;0;ON;;;;;N;FORMS HEAVY UP;;;; 257A;BOX DRAWINGS HEAVY RIGHT;So;0;ON;;;;;N;FORMS HEAVY RIGHT;;;; 257B;BOX DRAWINGS HEAVY DOWN;So;0;ON;;;;;N;FORMS HEAVY DOWN;;;; 257C;BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT;So;0;ON;;;;;N;FORMS LIGHT LEFT AND HEAVY RIGHT;;;; 257D;BOX DRAWINGS LIGHT UP AND HEAVY DOWN;So;0;ON;;;;;N;FORMS LIGHT UP AND HEAVY DOWN;;;; 257E;BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT;So;0;ON;;;;;N;FORMS HEAVY LEFT AND LIGHT RIGHT;;;; 257F;BOX DRAWINGS HEAVY UP AND LIGHT DOWN;So;0;ON;;;;;N;FORMS HEAVY UP AND LIGHT DOWN;;;; 2580;UPPER HALF BLOCK;So;0;ON;;;;;N;;;;; 2581;LOWER ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;; 2582;LOWER ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;; 2583;LOWER THREE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; 2584;LOWER HALF BLOCK;So;0;ON;;;;;N;;;;; 2585;LOWER FIVE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; 2586;LOWER THREE QUARTERS BLOCK;So;0;ON;;;;;N;LOWER THREE QUARTER BLOCK;;;; 2587;LOWER SEVEN EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; 2588;FULL BLOCK;So;0;ON;;;;;N;;;;; 2589;LEFT SEVEN EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; 258A;LEFT THREE QUARTERS BLOCK;So;0;ON;;;;;N;LEFT THREE QUARTER BLOCK;;;; 258B;LEFT FIVE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; 258C;LEFT HALF BLOCK;So;0;ON;;;;;N;;;;; 258D;LEFT THREE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; 258E;LEFT ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;; 258F;LEFT ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;; 2590;RIGHT HALF BLOCK;So;0;ON;;;;;N;;;;; 2591;LIGHT SHADE;So;0;ON;;;;;N;;;;; 2592;MEDIUM SHADE;So;0;ON;;;;;N;;;;; 2593;DARK SHADE;So;0;ON;;;;;N;;;;; 2594;UPPER ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;; 2595;RIGHT ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;; 25A0;BLACK SQUARE;So;0;ON;;;;;N;;;;; 25A1;WHITE SQUARE;So;0;ON;;;;;N;;;;; 25A2;WHITE SQUARE WITH ROUNDED CORNERS;So;0;ON;;;;;N;;;;; 25A3;WHITE SQUARE CONTAINING BLACK SMALL SQUARE;So;0;ON;;;;;N;;;;; 25A4;SQUARE WITH HORIZONTAL FILL;So;0;ON;;;;;N;;;;; 25A5;SQUARE WITH VERTICAL FILL;So;0;ON;;;;;N;;;;; 25A6;SQUARE WITH ORTHOGONAL CROSSHATCH FILL;So;0;ON;;;;;N;;;;; 25A7;SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL;So;0;ON;;;;;N;;;;; 25A8;SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL;So;0;ON;;;;;N;;;;; 25A9;SQUARE WITH DIAGONAL CROSSHATCH FILL;So;0;ON;;;;;N;;;;; 25AA;BLACK SMALL SQUARE;So;0;ON;;;;;N;;;;; 25AB;WHITE SMALL SQUARE;So;0;ON;;;;;N;;;;; 25AC;BLACK RECTANGLE;So;0;ON;;;;;N;;;;; 25AD;WHITE RECTANGLE;So;0;ON;;;;;N;;;;; 25AE;BLACK VERTICAL RECTANGLE;So;0;ON;;;;;N;;;;; 25AF;WHITE VERTICAL RECTANGLE;So;0;ON;;;;;N;;;;; 25B0;BLACK PARALLELOGRAM;So;0;ON;;;;;N;;;;; 25B1;WHITE PARALLELOGRAM;So;0;ON;;;;;N;;;;; 25B2;BLACK UP-POINTING TRIANGLE;So;0;ON;;;;;N;BLACK UP POINTING TRIANGLE;;;; 25B3;WHITE UP-POINTING TRIANGLE;So;0;ON;;;;;N;WHITE UP POINTING TRIANGLE;;;; 25B4;BLACK UP-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;BLACK UP POINTING SMALL TRIANGLE;;;; 25B5;WHITE UP-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;WHITE UP POINTING SMALL TRIANGLE;;;; 25B6;BLACK RIGHT-POINTING TRIANGLE;So;0;ON;;;;;N;BLACK RIGHT POINTING TRIANGLE;;;; 25B7;WHITE RIGHT-POINTING TRIANGLE;So;0;ON;;;;;N;WHITE RIGHT POINTING TRIANGLE;;;; 25B8;BLACK RIGHT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;BLACK RIGHT POINTING SMALL TRIANGLE;;;; 25B9;WHITE RIGHT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;WHITE RIGHT POINTING SMALL TRIANGLE;;;; 25BA;BLACK RIGHT-POINTING POINTER;So;0;ON;;;;;N;BLACK RIGHT POINTING POINTER;;;; 25BB;WHITE RIGHT-POINTING POINTER;So;0;ON;;;;;N;WHITE RIGHT POINTING POINTER;;;; 25BC;BLACK DOWN-POINTING TRIANGLE;So;0;ON;;;;;N;BLACK DOWN POINTING TRIANGLE;;;; 25BD;WHITE DOWN-POINTING TRIANGLE;So;0;ON;;;;;N;WHITE DOWN POINTING TRIANGLE;;;; 25BE;BLACK DOWN-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;BLACK DOWN POINTING SMALL TRIANGLE;;;; 25BF;WHITE DOWN-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;WHITE DOWN POINTING SMALL TRIANGLE;;;; 25C0;BLACK LEFT-POINTING TRIANGLE;So;0;ON;;;;;N;BLACK LEFT POINTING TRIANGLE;;;; 25C1;WHITE LEFT-POINTING TRIANGLE;So;0;ON;;;;;N;WHITE LEFT POINTING TRIANGLE;;;; 25C2;BLACK LEFT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;BLACK LEFT POINTING SMALL TRIANGLE;;;; 25C3;WHITE LEFT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;WHITE LEFT POINTING SMALL TRIANGLE;;;; 25C4;BLACK LEFT-POINTING POINTER;So;0;ON;;;;;N;BLACK LEFT POINTING POINTER;;;; 25C5;WHITE LEFT-POINTING POINTER;So;0;ON;;;;;N;WHITE LEFT POINTING POINTER;;;; 25C6;BLACK DIAMOND;So;0;ON;;;;;N;;;;; 25C7;WHITE DIAMOND;So;0;ON;;;;;N;;;;; 25C8;WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND;So;0;ON;;;;;N;;;;; 25C9;FISHEYE;So;0;ON;;;;;N;;;;; 25CA;LOZENGE;So;0;ON;;;;;N;;;;; 25CB;WHITE CIRCLE;So;0;ON;;;;;N;;;;; 25CC;DOTTED CIRCLE;So;0;ON;;;;;N;;;;; 25CD;CIRCLE WITH VERTICAL FILL;So;0;ON;;;;;N;;;;; 25CE;BULLSEYE;So;0;ON;;;;;N;;;;; 25CF;BLACK CIRCLE;So;0;ON;;;;;N;;;;; 25D0;CIRCLE WITH LEFT HALF BLACK;So;0;ON;;;;;N;;;;; 25D1;CIRCLE WITH RIGHT HALF BLACK;So;0;ON;;;;;N;;;;; 25D2;CIRCLE WITH LOWER HALF BLACK;So;0;ON;;;;;N;;;;; 25D3;CIRCLE WITH UPPER HALF BLACK;So;0;ON;;;;;N;;;;; 25D4;CIRCLE WITH UPPER RIGHT QUADRANT BLACK;So;0;ON;;;;;N;;;;; 25D5;CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK;So;0;ON;;;;;N;;;;; 25D6;LEFT HALF BLACK CIRCLE;So;0;ON;;;;;N;;;;; 25D7;RIGHT HALF BLACK CIRCLE;So;0;ON;;;;;N;;;;; 25D8;INVERSE BULLET;So;0;ON;;;;;N;;;;; 25D9;INVERSE WHITE CIRCLE;So;0;ON;;;;;N;;;;; 25DA;UPPER HALF INVERSE WHITE CIRCLE;So;0;ON;;;;;N;;;;; 25DB;LOWER HALF INVERSE WHITE CIRCLE;So;0;ON;;;;;N;;;;; 25DC;UPPER LEFT QUADRANT CIRCULAR ARC;So;0;ON;;;;;N;;;;; 25DD;UPPER RIGHT QUADRANT CIRCULAR ARC;So;0;ON;;;;;N;;;;; 25DE;LOWER RIGHT QUADRANT CIRCULAR ARC;So;0;ON;;;;;N;;;;; 25DF;LOWER LEFT QUADRANT CIRCULAR ARC;So;0;ON;;;;;N;;;;; 25E0;UPPER HALF CIRCLE;So;0;ON;;;;;N;;;;; 25E1;LOWER HALF CIRCLE;So;0;ON;;;;;N;;;;; 25E2;BLACK LOWER RIGHT TRIANGLE;So;0;ON;;;;;N;;;;; 25E3;BLACK LOWER LEFT TRIANGLE;So;0;ON;;;;;N;;;;; 25E4;BLACK UPPER LEFT TRIANGLE;So;0;ON;;;;;N;;;;; 25E5;BLACK UPPER RIGHT TRIANGLE;So;0;ON;;;;;N;;;;; 25E6;WHITE BULLET;So;0;ON;;;;;N;;;;; 25E7;SQUARE WITH LEFT HALF BLACK;So;0;ON;;;;;N;;;;; 25E8;SQUARE WITH RIGHT HALF BLACK;So;0;ON;;;;;N;;;;; 25E9;SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK;So;0;ON;;;;;N;;;;; 25EA;SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK;So;0;ON;;;;;N;;;;; 25EB;WHITE SQUARE WITH VERTICAL BISECTING LINE;So;0;ON;;;;;N;;;;; 25EC;WHITE UP-POINTING TRIANGLE WITH DOT;So;0;ON;;;;;N;WHITE UP POINTING TRIANGLE WITH DOT;;;; 25ED;UP-POINTING TRIANGLE WITH LEFT HALF BLACK;So;0;ON;;;;;N;UP POINTING TRIANGLE WITH LEFT HALF BLACK;;;; 25EE;UP-POINTING TRIANGLE WITH RIGHT HALF BLACK;So;0;ON;;;;;N;UP POINTING TRIANGLE WITH RIGHT HALF BLACK;;;; 25EF;LARGE CIRCLE;So;0;ON;;;;;N;;;;; 2600;BLACK SUN WITH RAYS;So;0;ON;;;;;N;;;;; 2601;CLOUD;So;0;ON;;;;;N;;;;; 2602;UMBRELLA;So;0;ON;;;;;N;;;;; 2603;SNOWMAN;So;0;ON;;;;;N;;;;; 2604;COMET;So;0;ON;;;;;N;;;;; 2605;BLACK STAR;So;0;ON;;;;;N;;;;; 2606;WHITE STAR;So;0;ON;;;;;N;;;;; 2607;LIGHTNING;So;0;ON;;;;;N;;;;; 2608;THUNDERSTORM;So;0;ON;;;;;N;;;;; 2609;SUN;So;0;ON;;;;;N;;;;; 260A;ASCENDING NODE;So;0;ON;;;;;N;;;;; 260B;DESCENDING NODE;So;0;ON;;;;;N;;;;; 260C;CONJUNCTION;So;0;ON;;;;;N;;;;; 260D;OPPOSITION;So;0;ON;;;;;N;;;;; 260E;BLACK TELEPHONE;So;0;ON;;;;;N;;;;; 260F;WHITE TELEPHONE;So;0;ON;;;;;N;;;;; 2610;BALLOT BOX;So;0;ON;;;;;N;;;;; 2611;BALLOT BOX WITH CHECK;So;0;ON;;;;;N;;;;; 2612;BALLOT BOX WITH X;So;0;ON;;;;;N;;;;; 2613;SALTIRE;So;0;ON;;;;;N;;;;; 261A;BLACK LEFT POINTING INDEX;So;0;ON;;;;;N;;;;; 261B;BLACK RIGHT POINTING INDEX;So;0;ON;;;;;N;;;;; 261C;WHITE LEFT POINTING INDEX;So;0;ON;;;;;N;;;;; 261D;WHITE UP POINTING INDEX;So;0;ON;;;;;N;;;;; 261E;WHITE RIGHT POINTING INDEX;So;0;ON;;;;;N;;;;; 261F;WHITE DOWN POINTING INDEX;So;0;ON;;;;;N;;;;; 2620;SKULL AND CROSSBONES;So;0;ON;;;;;N;;;;; 2621;CAUTION SIGN;So;0;ON;;;;;N;;;;; 2622;RADIOACTIVE SIGN;So;0;ON;;;;;N;;;;; 2623;BIOHAZARD SIGN;So;0;ON;;;;;N;;;;; 2624;CADUCEUS;So;0;ON;;;;;N;;;;; 2625;ANKH;So;0;ON;;;;;N;;;;; 2626;ORTHODOX CROSS;So;0;ON;;;;;N;;;;; 2627;CHI RHO;So;0;ON;;;;;N;;;;; 2628;CROSS OF LORRAINE;So;0;ON;;;;;N;;;;; 2629;CROSS OF JERUSALEM;So;0;ON;;;;;N;;;;; 262A;STAR AND CRESCENT;So;0;ON;;;;;N;;;;; 262B;FARSI SYMBOL;So;0;ON;;;;;N;SYMBOL OF IRAN;;;; 262C;ADI SHAKTI;So;0;ON;;;;;N;;;;; 262D;HAMMER AND SICKLE;So;0;ON;;;;;N;;;;; 262E;PEACE SYMBOL;So;0;ON;;;;;N;;;;; 262F;YIN YANG;So;0;ON;;;;;N;;;;; 2630;TRIGRAM FOR HEAVEN;So;0;ON;;;;;N;;;;; 2631;TRIGRAM FOR LAKE;So;0;ON;;;;;N;;;;; 2632;TRIGRAM FOR FIRE;So;0;ON;;;;;N;;;;; 2633;TRIGRAM FOR THUNDER;So;0;ON;;;;;N;;;;; 2634;TRIGRAM FOR WIND;So;0;ON;;;;;N;;;;; 2635;TRIGRAM FOR WATER;So;0;ON;;;;;N;;;;; 2636;TRIGRAM FOR MOUNTAIN;So;0;ON;;;;;N;;;;; 2637;TRIGRAM FOR EARTH;So;0;ON;;;;;N;;;;; 2638;WHEEL OF DHARMA;So;0;ON;;;;;N;;;;; 2639;WHITE FROWNING FACE;So;0;ON;;;;;N;;;;; 263A;WHITE SMILING FACE;So;0;ON;;;;;N;;;;; 263B;BLACK SMILING FACE;So;0;ON;;;;;N;;;;; 263C;WHITE SUN WITH RAYS;So;0;ON;;;;;N;;;;; 263D;FIRST QUARTER MOON;So;0;ON;;;;;N;;;;; 263E;LAST QUARTER MOON;So;0;ON;;;;;N;;;;; 263F;MERCURY;So;0;ON;;;;;N;;;;; 2640;FEMALE SIGN;So;0;ON;;;;;N;;;;; 2641;EARTH;So;0;ON;;;;;N;;;;; 2642;MALE SIGN;So;0;ON;;;;;N;;;;; 2643;JUPITER;So;0;ON;;;;;N;;;;; 2644;SATURN;So;0;ON;;;;;N;;;;; 2645;URANUS;So;0;ON;;;;;N;;;;; 2646;NEPTUNE;So;0;ON;;;;;N;;;;; 2647;PLUTO;So;0;ON;;;;;N;;;;; 2648;ARIES;So;0;ON;;;;;N;;;;; 2649;TAURUS;So;0;ON;;;;;N;;;;; 264A;GEMINI;So;0;ON;;;;;N;;;;; 264B;CANCER;So;0;ON;;;;;N;;;;; 264C;LEO;So;0;ON;;;;;N;;;;; 264D;VIRGO;So;0;ON;;;;;N;;;;; 264E;LIBRA;So;0;ON;;;;;N;;;;; 264F;SCORPIUS;So;0;ON;;;;;N;;;;; 2650;SAGITTARIUS;So;0;ON;;;;;N;;;;; 2651;CAPRICORN;So;0;ON;;;;;N;;;;; 2652;AQUARIUS;So;0;ON;;;;;N;;;;; 2653;PISCES;So;0;ON;;;;;N;;;;; 2654;WHITE CHESS KING;So;0;ON;;;;;N;;;;; 2655;WHITE CHESS QUEEN;So;0;ON;;;;;N;;;;; 2656;WHITE CHESS ROOK;So;0;ON;;;;;N;;;;; 2657;WHITE CHESS BISHOP;So;0;ON;;;;;N;;;;; 2658;WHITE CHESS KNIGHT;So;0;ON;;;;;N;;;;; 2659;WHITE CHESS PAWN;So;0;ON;;;;;N;;;;; 265A;BLACK CHESS KING;So;0;ON;;;;;N;;;;; 265B;BLACK CHESS QUEEN;So;0;ON;;;;;N;;;;; 265C;BLACK CHESS ROOK;So;0;ON;;;;;N;;;;; 265D;BLACK CHESS BISHOP;So;0;ON;;;;;N;;;;; 265E;BLACK CHESS KNIGHT;So;0;ON;;;;;N;;;;; 265F;BLACK CHESS PAWN;So;0;ON;;;;;N;;;;; 2660;BLACK SPADE SUIT;So;0;ON;;;;;N;;;;; 2661;WHITE HEART SUIT;So;0;ON;;;;;N;;;;; 2662;WHITE DIAMOND SUIT;So;0;ON;;;;;N;;;;; 2663;BLACK CLUB SUIT;So;0;ON;;;;;N;;;;; 2664;WHITE SPADE SUIT;So;0;ON;;;;;N;;;;; 2665;BLACK HEART SUIT;So;0;ON;;;;;N;;;;; 2666;BLACK DIAMOND SUIT;So;0;ON;;;;;N;;;;; 2667;WHITE CLUB SUIT;So;0;ON;;;;;N;;;;; 2668;HOT SPRINGS;So;0;ON;;;;;N;;;;; 2669;QUARTER NOTE;So;0;ON;;;;;N;;;;; 266A;EIGHTH NOTE;So;0;ON;;;;;N;;;;; 266B;BEAMED EIGHTH NOTES;So;0;ON;;;;;N;BARRED EIGHTH NOTES;;;; 266C;BEAMED SIXTEENTH NOTES;So;0;ON;;;;;N;BARRED SIXTEENTH NOTES;;;; 266D;MUSIC FLAT SIGN;So;0;ON;;;;;N;FLAT;;;; 266E;MUSIC NATURAL SIGN;So;0;ON;;;;;N;NATURAL;;;; 266F;MUSIC SHARP SIGN;So;0;ON;;;;;N;SHARP;;;; 2701;UPPER BLADE SCISSORS;So;0;ON;;;;;N;;;;; 2702;BLACK SCISSORS;So;0;ON;;;;;N;;;;; 2703;LOWER BLADE SCISSORS;So;0;ON;;;;;N;;;;; 2704;WHITE SCISSORS;So;0;ON;;;;;N;;;;; 2706;TELEPHONE LOCATION SIGN;So;0;ON;;;;;N;;;;; 2707;TAPE DRIVE;So;0;ON;;;;;N;;;;; 2708;AIRPLANE;So;0;ON;;;;;N;;;;; 2709;ENVELOPE;So;0;ON;;;;;N;;;;; 270C;VICTORY HAND;So;0;ON;;;;;N;;;;; 270D;WRITING HAND;So;0;ON;;;;;N;;;;; 270E;LOWER RIGHT PENCIL;So;0;ON;;;;;N;;;;; 270F;PENCIL;So;0;ON;;;;;N;;;;; 2710;UPPER RIGHT PENCIL;So;0;ON;;;;;N;;;;; 2711;WHITE NIB;So;0;ON;;;;;N;;;;; 2712;BLACK NIB;So;0;ON;;;;;N;;;;; 2713;CHECK MARK;So;0;ON;;;;;N;;;;; 2714;HEAVY CHECK MARK;So;0;ON;;;;;N;;;;; 2715;MULTIPLICATION X;So;0;ON;;;;;N;;;;; 2716;HEAVY MULTIPLICATION X;So;0;ON;;;;;N;;;;; 2717;BALLOT X;So;0;ON;;;;;N;;;;; 2718;HEAVY BALLOT X;So;0;ON;;;;;N;;;;; 2719;OUTLINED GREEK CROSS;So;0;ON;;;;;N;;;;; 271A;HEAVY GREEK CROSS;So;0;ON;;;;;N;;;;; 271B;OPEN CENTRE CROSS;So;0;ON;;;;;N;OPEN CENTER CROSS;;;; 271C;HEAVY OPEN CENTRE CROSS;So;0;ON;;;;;N;HEAVY OPEN CENTER CROSS;;;; 271D;LATIN CROSS;So;0;ON;;;;;N;;;;; 271E;SHADOWED WHITE LATIN CROSS;So;0;ON;;;;;N;;;;; 271F;OUTLINED LATIN CROSS;So;0;ON;;;;;N;;;;; 2720;MALTESE CROSS;So;0;ON;;;;;N;;;;; 2721;STAR OF DAVID;So;0;ON;;;;;N;;;;; 2722;FOUR TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; 2723;FOUR BALLOON-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; 2724;HEAVY FOUR BALLOON-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; 2725;FOUR CLUB-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; 2726;BLACK FOUR POINTED STAR;So;0;ON;;;;;N;;;;; 2727;WHITE FOUR POINTED STAR;So;0;ON;;;;;N;;;;; 2729;STRESS OUTLINED WHITE STAR;So;0;ON;;;;;N;;;;; 272A;CIRCLED WHITE STAR;So;0;ON;;;;;N;;;;; 272B;OPEN CENTRE BLACK STAR;So;0;ON;;;;;N;OPEN CENTER BLACK STAR;;;; 272C;BLACK CENTRE WHITE STAR;So;0;ON;;;;;N;BLACK CENTER WHITE STAR;;;; 272D;OUTLINED BLACK STAR;So;0;ON;;;;;N;;;;; 272E;HEAVY OUTLINED BLACK STAR;So;0;ON;;;;;N;;;;; 272F;PINWHEEL STAR;So;0;ON;;;;;N;;;;; 2730;SHADOWED WHITE STAR;So;0;ON;;;;;N;;;;; 2731;HEAVY ASTERISK;So;0;ON;;;;;N;;;;; 2732;OPEN CENTRE ASTERISK;So;0;ON;;;;;N;OPEN CENTER ASTERISK;;;; 2733;EIGHT SPOKED ASTERISK;So;0;ON;;;;;N;;;;; 2734;EIGHT POINTED BLACK STAR;So;0;ON;;;;;N;;;;; 2735;EIGHT POINTED PINWHEEL STAR;So;0;ON;;;;;N;;;;; 2736;SIX POINTED BLACK STAR;So;0;ON;;;;;N;;;;; 2737;EIGHT POINTED RECTILINEAR BLACK STAR;So;0;ON;;;;;N;;;;; 2738;HEAVY EIGHT POINTED RECTILINEAR BLACK STAR;So;0;ON;;;;;N;;;;; 2739;TWELVE POINTED BLACK STAR;So;0;ON;;;;;N;;;;; 273A;SIXTEEN POINTED ASTERISK;So;0;ON;;;;;N;;;;; 273B;TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; 273C;OPEN CENTRE TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;OPEN CENTER TEARDROP-SPOKED ASTERISK;;;; 273D;HEAVY TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; 273E;SIX PETALLED BLACK AND WHITE FLORETTE;So;0;ON;;;;;N;;;;; 273F;BLACK FLORETTE;So;0;ON;;;;;N;;;;; 2740;WHITE FLORETTE;So;0;ON;;;;;N;;;;; 2741;EIGHT PETALLED OUTLINED BLACK FLORETTE;So;0;ON;;;;;N;;;;; 2742;CIRCLED OPEN CENTRE EIGHT POINTED STAR;So;0;ON;;;;;N;CIRCLED OPEN CENTER EIGHT POINTED STAR;;;; 2743;HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK;So;0;ON;;;;;N;;;;; 2744;SNOWFLAKE;So;0;ON;;;;;N;;;;; 2745;TIGHT TRIFOLIATE SNOWFLAKE;So;0;ON;;;;;N;;;;; 2746;HEAVY CHEVRON SNOWFLAKE;So;0;ON;;;;;N;;;;; 2747;SPARKLE;So;0;ON;;;;;N;;;;; 2748;HEAVY SPARKLE;So;0;ON;;;;;N;;;;; 2749;BALLOON-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; 274A;EIGHT TEARDROP-SPOKED PROPELLER ASTERISK;So;0;ON;;;;;N;;;;; 274B;HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK;So;0;ON;;;;;N;;;;; 274D;SHADOWED WHITE CIRCLE;So;0;ON;;;;;N;;;;; 274F;LOWER RIGHT DROP-SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;; 2750;UPPER RIGHT DROP-SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;; 2751;LOWER RIGHT SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;; 2752;UPPER RIGHT SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;; 2756;BLACK DIAMOND MINUS WHITE X;So;0;ON;;;;;N;;;;; 2758;LIGHT VERTICAL BAR;So;0;ON;;;;;N;;;;; 2759;MEDIUM VERTICAL BAR;So;0;ON;;;;;N;;;;; 275A;HEAVY VERTICAL BAR;So;0;ON;;;;;N;;;;; 275B;HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; 275C;HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; 275D;HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; 275E;HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; 2761;CURVED STEM PARAGRAPH SIGN ORNAMENT;So;0;ON;;;;;N;;;;; 2762;HEAVY EXCLAMATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; 2763;HEAVY HEART EXCLAMATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; 2764;HEAVY BLACK HEART;So;0;ON;;;;;N;;;;; 2765;ROTATED HEAVY BLACK HEART BULLET;So;0;ON;;;;;N;;;;; 2766;FLORAL HEART;So;0;ON;;;;;N;;;;; 2767;ROTATED FLORAL HEART BULLET;So;0;ON;;;;;N;;;;; 2776;DINGBAT NEGATIVE CIRCLED DIGIT ONE;No;0;ON;;;1;1;N;INVERSE CIRCLED DIGIT ONE;;;; 2777;DINGBAT NEGATIVE CIRCLED DIGIT TWO;No;0;ON;;;2;2;N;INVERSE CIRCLED DIGIT TWO;;;; 2778;DINGBAT NEGATIVE CIRCLED DIGIT THREE;No;0;ON;;;3;3;N;INVERSE CIRCLED DIGIT THREE;;;; 2779;DINGBAT NEGATIVE CIRCLED DIGIT FOUR;No;0;ON;;;4;4;N;INVERSE CIRCLED DIGIT FOUR;;;; 277A;DINGBAT NEGATIVE CIRCLED DIGIT FIVE;No;0;ON;;;5;5;N;INVERSE CIRCLED DIGIT FIVE;;;; 277B;DINGBAT NEGATIVE CIRCLED DIGIT SIX;No;0;ON;;;6;6;N;INVERSE CIRCLED DIGIT SIX;;;; 277C;DINGBAT NEGATIVE CIRCLED DIGIT SEVEN;No;0;ON;;;7;7;N;INVERSE CIRCLED DIGIT SEVEN;;;; 277D;DINGBAT NEGATIVE CIRCLED DIGIT EIGHT;No;0;ON;;;8;8;N;INVERSE CIRCLED DIGIT EIGHT;;;; 277E;DINGBAT NEGATIVE CIRCLED DIGIT NINE;No;0;ON;;;9;9;N;INVERSE CIRCLED DIGIT NINE;;;; 277F;DINGBAT NEGATIVE CIRCLED NUMBER TEN;No;0;ON;;;;10;N;INVERSE CIRCLED NUMBER TEN;;;; 2780;DINGBAT CIRCLED SANS-SERIF DIGIT ONE;No;0;ON;;;1;1;N;CIRCLED SANS-SERIF DIGIT ONE;;;; 2781;DINGBAT CIRCLED SANS-SERIF DIGIT TWO;No;0;ON;;;2;2;N;CIRCLED SANS-SERIF DIGIT TWO;;;; 2782;DINGBAT CIRCLED SANS-SERIF DIGIT THREE;No;0;ON;;;3;3;N;CIRCLED SANS-SERIF DIGIT THREE;;;; 2783;DINGBAT CIRCLED SANS-SERIF DIGIT FOUR;No;0;ON;;;4;4;N;CIRCLED SANS-SERIF DIGIT FOUR;;;; 2784;DINGBAT CIRCLED SANS-SERIF DIGIT FIVE;No;0;ON;;;5;5;N;CIRCLED SANS-SERIF DIGIT FIVE;;;; 2785;DINGBAT CIRCLED SANS-SERIF DIGIT SIX;No;0;ON;;;6;6;N;CIRCLED SANS-SERIF DIGIT SIX;;;; 2786;DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN;No;0;ON;;;7;7;N;CIRCLED SANS-SERIF DIGIT SEVEN;;;; 2787;DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT;No;0;ON;;;8;8;N;CIRCLED SANS-SERIF DIGIT EIGHT;;;; 2788;DINGBAT CIRCLED SANS-SERIF DIGIT NINE;No;0;ON;;;9;9;N;CIRCLED SANS-SERIF DIGIT NINE;;;; 2789;DINGBAT CIRCLED SANS-SERIF NUMBER TEN;No;0;ON;;;;10;N;CIRCLED SANS-SERIF NUMBER TEN;;;; 278A;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE;No;0;ON;;;1;1;N;INVERSE CIRCLED SANS-SERIF DIGIT ONE;;;; 278B;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO;No;0;ON;;;2;2;N;INVERSE CIRCLED SANS-SERIF DIGIT TWO;;;; 278C;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE;No;0;ON;;;3;3;N;INVERSE CIRCLED SANS-SERIF DIGIT THREE;;;; 278D;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR;No;0;ON;;;4;4;N;INVERSE CIRCLED SANS-SERIF DIGIT FOUR;;;; 278E;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE;No;0;ON;;;5;5;N;INVERSE CIRCLED SANS-SERIF DIGIT FIVE;;;; 278F;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX;No;0;ON;;;6;6;N;INVERSE CIRCLED SANS-SERIF DIGIT SIX;;;; 2790;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN;No;0;ON;;;7;7;N;INVERSE CIRCLED SANS-SERIF DIGIT SEVEN;;;; 2791;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT;No;0;ON;;;8;8;N;INVERSE CIRCLED SANS-SERIF DIGIT EIGHT;;;; 2792;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE;No;0;ON;;;9;9;N;INVERSE CIRCLED SANS-SERIF DIGIT NINE;;;; 2793;DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN;No;0;ON;;;;10;N;INVERSE CIRCLED SANS-SERIF NUMBER TEN;;;; 2794;HEAVY WIDE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY WIDE-HEADED RIGHT ARROW;;;; 2798;HEAVY SOUTH EAST ARROW;So;0;ON;;;;;N;HEAVY LOWER RIGHT ARROW;;;; 2799;HEAVY RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY RIGHT ARROW;;;; 279A;HEAVY NORTH EAST ARROW;So;0;ON;;;;;N;HEAVY UPPER RIGHT ARROW;;;; 279B;DRAFTING POINT RIGHTWARDS ARROW;So;0;ON;;;;;N;DRAFTING POINT RIGHT ARROW;;;; 279C;HEAVY ROUND-TIPPED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY ROUND-TIPPED RIGHT ARROW;;;; 279D;TRIANGLE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;TRIANGLE-HEADED RIGHT ARROW;;;; 279E;HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY TRIANGLE-HEADED RIGHT ARROW;;;; 279F;DASHED TRIANGLE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;DASHED TRIANGLE-HEADED RIGHT ARROW;;;; 27A0;HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY DASHED TRIANGLE-HEADED RIGHT ARROW;;;; 27A1;BLACK RIGHTWARDS ARROW;So;0;ON;;;;;N;BLACK RIGHT ARROW;;;; 27A2;THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD;So;0;ON;;;;;N;THREE-D TOP-LIGHTED RIGHT ARROWHEAD;;;; 27A3;THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD;So;0;ON;;;;;N;THREE-D BOTTOM-LIGHTED RIGHT ARROWHEAD;;;; 27A4;BLACK RIGHTWARDS ARROWHEAD;So;0;ON;;;;;N;BLACK RIGHT ARROWHEAD;;;; 27A5;HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY BLACK CURVED DOWN AND RIGHT ARROW;;;; 27A6;HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY BLACK CURVED UP AND RIGHT ARROW;;;; 27A7;SQUAT BLACK RIGHTWARDS ARROW;So;0;ON;;;;;N;SQUAT BLACK RIGHT ARROW;;;; 27A8;HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY CONCAVE-POINTED BLACK RIGHT ARROW;;;; 27A9;RIGHT-SHADED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;RIGHT-SHADED WHITE RIGHT ARROW;;;; 27AA;LEFT-SHADED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;LEFT-SHADED WHITE RIGHT ARROW;;;; 27AB;BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;BACK-TILTED SHADOWED WHITE RIGHT ARROW;;;; 27AC;FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;FRONT-TILTED SHADOWED WHITE RIGHT ARROW;;;; 27AD;HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY LOWER RIGHT-SHADOWED WHITE RIGHT ARROW;;;; 27AE;HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY UPPER RIGHT-SHADOWED WHITE RIGHT ARROW;;;; 27AF;NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHT ARROW;;;; 27B1;NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHT ARROW;;;; 27B2;CIRCLED HEAVY WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;CIRCLED HEAVY WHITE RIGHT ARROW;;;; 27B3;WHITE-FEATHERED RIGHTWARDS ARROW;So;0;ON;;;;;N;WHITE-FEATHERED RIGHT ARROW;;;; 27B4;BLACK-FEATHERED SOUTH EAST ARROW;So;0;ON;;;;;N;BLACK-FEATHERED LOWER RIGHT ARROW;;;; 27B5;BLACK-FEATHERED RIGHTWARDS ARROW;So;0;ON;;;;;N;BLACK-FEATHERED RIGHT ARROW;;;; 27B6;BLACK-FEATHERED NORTH EAST ARROW;So;0;ON;;;;;N;BLACK-FEATHERED UPPER RIGHT ARROW;;;; 27B7;HEAVY BLACK-FEATHERED SOUTH EAST ARROW;So;0;ON;;;;;N;HEAVY BLACK-FEATHERED LOWER RIGHT ARROW;;;; 27B8;HEAVY BLACK-FEATHERED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY BLACK-FEATHERED RIGHT ARROW;;;; 27B9;HEAVY BLACK-FEATHERED NORTH EAST ARROW;So;0;ON;;;;;N;HEAVY BLACK-FEATHERED UPPER RIGHT ARROW;;;; 27BA;TEARDROP-BARBED RIGHTWARDS ARROW;So;0;ON;;;;;N;TEARDROP-BARBED RIGHT ARROW;;;; 27BB;HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY TEARDROP-SHANKED RIGHT ARROW;;;; 27BC;WEDGE-TAILED RIGHTWARDS ARROW;So;0;ON;;;;;N;WEDGE-TAILED RIGHT ARROW;;;; 27BD;HEAVY WEDGE-TAILED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY WEDGE-TAILED RIGHT ARROW;;;; 27BE;OPEN-OUTLINED RIGHTWARDS ARROW;So;0;ON;;;;;N;OPEN-OUTLINED RIGHT ARROW;;;; 3000;IDEOGRAPHIC SPACE;Zs;0;WS; 0020;;;;N;;;;; 3001;IDEOGRAPHIC COMMA;Po;0;ON;;;;;N;;;;; 3002;IDEOGRAPHIC FULL STOP;Po;0;ON;;;;;N;IDEOGRAPHIC PERIOD;;;; 3003;DITTO MARK;Po;0;ON;;;;;N;;;;; 3004;JAPANESE INDUSTRIAL STANDARD SYMBOL;So;0;ON;;;;;N;;;;; 3005;IDEOGRAPHIC ITERATION MARK;Lm;0;ON;;;;;N;;;;; 3006;IDEOGRAPHIC CLOSING MARK;Lo;0;L;;;;;N;;;;; 3007;IDEOGRAPHIC NUMBER ZERO;Nl;0;L;;;;0;N;;;;; 3008;LEFT ANGLE BRACKET;Ps;0;ON;;;;;Y;OPENING ANGLE BRACKET;;;; 3009;RIGHT ANGLE BRACKET;Pe;0;ON;;;;;Y;CLOSING ANGLE BRACKET;;;; 300A;LEFT DOUBLE ANGLE BRACKET;Ps;0;ON;;;;;Y;OPENING DOUBLE ANGLE BRACKET;;;; 300B;RIGHT DOUBLE ANGLE BRACKET;Pe;0;ON;;;;;Y;CLOSING DOUBLE ANGLE BRACKET;;;; 300C;LEFT CORNER BRACKET;Ps;0;ON;;;;;Y;OPENING CORNER BRACKET;;;; 300D;RIGHT CORNER BRACKET;Pe;0;ON;;;;;Y;CLOSING CORNER BRACKET;;;; 300E;LEFT WHITE CORNER BRACKET;Ps;0;ON;;;;;Y;OPENING WHITE CORNER BRACKET;;;; 300F;RIGHT WHITE CORNER BRACKET;Pe;0;ON;;;;;Y;CLOSING WHITE CORNER BRACKET;;;; 3010;LEFT BLACK LENTICULAR BRACKET;Ps;0;ON;;;;;Y;OPENING BLACK LENTICULAR BRACKET;;;; 3011;RIGHT BLACK LENTICULAR BRACKET;Pe;0;ON;;;;;Y;CLOSING BLACK LENTICULAR BRACKET;;;; 3012;POSTAL MARK;So;0;ON;;;;;N;;;;; 3013;GETA MARK;So;0;ON;;;;;N;;;;; 3014;LEFT TORTOISE SHELL BRACKET;Ps;0;ON;;;;;Y;OPENING TORTOISE SHELL BRACKET;;;; 3015;RIGHT TORTOISE SHELL BRACKET;Pe;0;ON;;;;;Y;CLOSING TORTOISE SHELL BRACKET;;;; 3016;LEFT WHITE LENTICULAR BRACKET;Ps;0;ON;;;;;Y;OPENING WHITE LENTICULAR BRACKET;;;; 3017;RIGHT WHITE LENTICULAR BRACKET;Pe;0;ON;;;;;Y;CLOSING WHITE LENTICULAR BRACKET;;;; 3018;LEFT WHITE TORTOISE SHELL BRACKET;Ps;0;ON;;;;;Y;OPENING WHITE TORTOISE SHELL BRACKET;;;; 3019;RIGHT WHITE TORTOISE SHELL BRACKET;Pe;0;ON;;;;;Y;CLOSING WHITE TORTOISE SHELL BRACKET;;;; 301A;LEFT WHITE SQUARE BRACKET;Ps;0;ON;;;;;Y;OPENING WHITE SQUARE BRACKET;;;; 301B;RIGHT WHITE SQUARE BRACKET;Pe;0;ON;;;;;Y;CLOSING WHITE SQUARE BRACKET;;;; 301C;WAVE DASH;Pd;0;ON;;;;;N;;;;; 301D;REVERSED DOUBLE PRIME QUOTATION MARK;Ps;0;ON;;;;;N;;;;; 301E;DOUBLE PRIME QUOTATION MARK;Pe;0;ON;;;;;N;;;;; 301F;LOW DOUBLE PRIME QUOTATION MARK;Pe;0;ON;;;;;N;;;;; 3020;POSTAL MARK FACE;So;0;ON;;;;;N;;;;; 3021;HANGZHOU NUMERAL ONE;Nl;0;L;;;;1;N;;;;; 3022;HANGZHOU NUMERAL TWO;Nl;0;L;;;;2;N;;;;; 3023;HANGZHOU NUMERAL THREE;Nl;0;L;;;;3;N;;;;; 3024;HANGZHOU NUMERAL FOUR;Nl;0;L;;;;4;N;;;;; 3025;HANGZHOU NUMERAL FIVE;Nl;0;L;;;;5;N;;;;; 3026;HANGZHOU NUMERAL SIX;Nl;0;L;;;;6;N;;;;; 3027;HANGZHOU NUMERAL SEVEN;Nl;0;L;;;;7;N;;;;; 3028;HANGZHOU NUMERAL EIGHT;Nl;0;L;;;;8;N;;;;; 3029;HANGZHOU NUMERAL NINE;Nl;0;L;;;;9;N;;;;; 302A;IDEOGRAPHIC LEVEL TONE MARK;Mn;218;ON;;;;;N;;;;; 302B;IDEOGRAPHIC RISING TONE MARK;Mn;228;ON;;;;;N;;;;; 302C;IDEOGRAPHIC DEPARTING TONE MARK;Mn;232;ON;;;;;N;;;;; 302D;IDEOGRAPHIC ENTERING TONE MARK;Mn;222;ON;;;;;N;;;;; 302E;HANGUL SINGLE DOT TONE MARK;Mn;224;ON;;;;;N;;;;; 302F;HANGUL DOUBLE DOT TONE MARK;Mn;224;ON;;;;;N;;;;; 3030;WAVY DASH;Pd;0;ON;;;;;N;;;;; 3031;VERTICAL KANA REPEAT MARK;Lm;0;ON;;;;;N;;;;; 3032;VERTICAL KANA REPEAT WITH VOICED SOUND MARK;Lm;0;ON;;;;;N;;;;; 3033;VERTICAL KANA REPEAT MARK UPPER HALF;Lm;0;ON;;;;;N;;;;; 3034;VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF;Lm;0;ON;;;;;N;;;;; 3035;VERTICAL KANA REPEAT MARK LOWER HALF;Lm;0;ON;;;;;N;;;;; 3036;CIRCLED POSTAL MARK;So;0;ON; 3012;;;;N;;;;; 3037;IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL;So;0;ON;;;;;N;;;;; 303F;IDEOGRAPHIC HALF FILL SPACE;So;0;ON;;;;;N;;;;; 3041;HIRAGANA LETTER SMALL A;Lo;0;L;;;;;N;;;;; 3042;HIRAGANA LETTER A;Lo;0;L;;;;;N;;;;; 3043;HIRAGANA LETTER SMALL I;Lo;0;L;;;;;N;;;;; 3044;HIRAGANA LETTER I;Lo;0;L;;;;;N;;;;; 3045;HIRAGANA LETTER SMALL U;Lo;0;L;;;;;N;;;;; 3046;HIRAGANA LETTER U;Lo;0;L;;;;;N;;;;; 3047;HIRAGANA LETTER SMALL E;Lo;0;L;;;;;N;;;;; 3048;HIRAGANA LETTER E;Lo;0;L;;;;;N;;;;; 3049;HIRAGANA LETTER SMALL O;Lo;0;L;;;;;N;;;;; 304A;HIRAGANA LETTER O;Lo;0;L;;;;;N;;;;; 304B;HIRAGANA LETTER KA;Lo;0;L;;;;;N;;;;; 304C;HIRAGANA LETTER GA;Lo;0;L;304B 3099;;;;N;;;;; 304D;HIRAGANA LETTER KI;Lo;0;L;;;;;N;;;;; 304E;HIRAGANA LETTER GI;Lo;0;L;304D 3099;;;;N;;;;; 304F;HIRAGANA LETTER KU;Lo;0;L;;;;;N;;;;; 3050;HIRAGANA LETTER GU;Lo;0;L;304F 3099;;;;N;;;;; 3051;HIRAGANA LETTER KE;Lo;0;L;;;;;N;;;;; 3052;HIRAGANA LETTER GE;Lo;0;L;3051 3099;;;;N;;;;; 3053;HIRAGANA LETTER KO;Lo;0;L;;;;;N;;;;; 3054;HIRAGANA LETTER GO;Lo;0;L;3053 3099;;;;N;;;;; 3055;HIRAGANA LETTER SA;Lo;0;L;;;;;N;;;;; 3056;HIRAGANA LETTER ZA;Lo;0;L;3055 3099;;;;N;;;;; 3057;HIRAGANA LETTER SI;Lo;0;L;;;;;N;;;;; 3058;HIRAGANA LETTER ZI;Lo;0;L;3057 3099;;;;N;;;;; 3059;HIRAGANA LETTER SU;Lo;0;L;;;;;N;;;;; 305A;HIRAGANA LETTER ZU;Lo;0;L;3059 3099;;;;N;;;;; 305B;HIRAGANA LETTER SE;Lo;0;L;;;;;N;;;;; 305C;HIRAGANA LETTER ZE;Lo;0;L;305B 3099;;;;N;;;;; 305D;HIRAGANA LETTER SO;Lo;0;L;;;;;N;;;;; 305E;HIRAGANA LETTER ZO;Lo;0;L;305D 3099;;;;N;;;;; 305F;HIRAGANA LETTER TA;Lo;0;L;;;;;N;;;;; 3060;HIRAGANA LETTER DA;Lo;0;L;305F 3099;;;;N;;;;; 3061;HIRAGANA LETTER TI;Lo;0;L;;;;;N;;;;; 3062;HIRAGANA LETTER DI;Lo;0;L;3061 3099;;;;N;;;;; 3063;HIRAGANA LETTER SMALL TU;Lo;0;L;;;;;N;;;;; 3064;HIRAGANA LETTER TU;Lo;0;L;;;;;N;;;;; 3065;HIRAGANA LETTER DU;Lo;0;L;3064 3099;;;;N;;;;; 3066;HIRAGANA LETTER TE;Lo;0;L;;;;;N;;;;; 3067;HIRAGANA LETTER DE;Lo;0;L;3066 3099;;;;N;;;;; 3068;HIRAGANA LETTER TO;Lo;0;L;;;;;N;;;;; 3069;HIRAGANA LETTER DO;Lo;0;L;3068 3099;;;;N;;;;; 306A;HIRAGANA LETTER NA;Lo;0;L;;;;;N;;;;; 306B;HIRAGANA LETTER NI;Lo;0;L;;;;;N;;;;; 306C;HIRAGANA LETTER NU;Lo;0;L;;;;;N;;;;; 306D;HIRAGANA LETTER NE;Lo;0;L;;;;;N;;;;; 306E;HIRAGANA LETTER NO;Lo;0;L;;;;;N;;;;; 306F;HIRAGANA LETTER HA;Lo;0;L;;;;;N;;;;; 3070;HIRAGANA LETTER BA;Lo;0;L;306F 3099;;;;N;;;;; 3071;HIRAGANA LETTER PA;Lo;0;L;306F 309A;;;;N;;;;; 3072;HIRAGANA LETTER HI;Lo;0;L;;;;;N;;;;; 3073;HIRAGANA LETTER BI;Lo;0;L;3072 3099;;;;N;;;;; 3074;HIRAGANA LETTER PI;Lo;0;L;3072 309A;;;;N;;;;; 3075;HIRAGANA LETTER HU;Lo;0;L;;;;;N;;;;; 3076;HIRAGANA LETTER BU;Lo;0;L;3075 3099;;;;N;;;;; 3077;HIRAGANA LETTER PU;Lo;0;L;3075 309A;;;;N;;;;; 3078;HIRAGANA LETTER HE;Lo;0;L;;;;;N;;;;; 3079;HIRAGANA LETTER BE;Lo;0;L;3078 3099;;;;N;;;;; 307A;HIRAGANA LETTER PE;Lo;0;L;3078 309A;;;;N;;;;; 307B;HIRAGANA LETTER HO;Lo;0;L;;;;;N;;;;; 307C;HIRAGANA LETTER BO;Lo;0;L;307B 3099;;;;N;;;;; 307D;HIRAGANA LETTER PO;Lo;0;L;307B 309A;;;;N;;;;; 307E;HIRAGANA LETTER MA;Lo;0;L;;;;;N;;;;; 307F;HIRAGANA LETTER MI;Lo;0;L;;;;;N;;;;; 3080;HIRAGANA LETTER MU;Lo;0;L;;;;;N;;;;; 3081;HIRAGANA LETTER ME;Lo;0;L;;;;;N;;;;; 3082;HIRAGANA LETTER MO;Lo;0;L;;;;;N;;;;; 3083;HIRAGANA LETTER SMALL YA;Lo;0;L;;;;;N;;;;; 3084;HIRAGANA LETTER YA;Lo;0;L;;;;;N;;;;; 3085;HIRAGANA LETTER SMALL YU;Lo;0;L;;;;;N;;;;; 3086;HIRAGANA LETTER YU;Lo;0;L;;;;;N;;;;; 3087;HIRAGANA LETTER SMALL YO;Lo;0;L;;;;;N;;;;; 3088;HIRAGANA LETTER YO;Lo;0;L;;;;;N;;;;; 3089;HIRAGANA LETTER RA;Lo;0;L;;;;;N;;;;; 308A;HIRAGANA LETTER RI;Lo;0;L;;;;;N;;;;; 308B;HIRAGANA LETTER RU;Lo;0;L;;;;;N;;;;; 308C;HIRAGANA LETTER RE;Lo;0;L;;;;;N;;;;; 308D;HIRAGANA LETTER RO;Lo;0;L;;;;;N;;;;; 308E;HIRAGANA LETTER SMALL WA;Lo;0;L;;;;;N;;;;; 308F;HIRAGANA LETTER WA;Lo;0;L;;;;;N;;;;; 3090;HIRAGANA LETTER WI;Lo;0;L;;;;;N;;;;; 3091;HIRAGANA LETTER WE;Lo;0;L;;;;;N;;;;; 3092;HIRAGANA LETTER WO;Lo;0;L;;;;;N;;;;; 3093;HIRAGANA LETTER N;Lo;0;L;;;;;N;;;;; 3094;HIRAGANA LETTER VU;Lo;0;L;3046 3099;;;;N;;;;; 3099;COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK;Mn;8;ON;;;;;N;NON-SPACING KATAKANA-HIRAGANA VOICED SOUND MARK;;;; 309A;COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK;Mn;8;ON;;;;;N;NON-SPACING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK;;;; 309B;KATAKANA-HIRAGANA VOICED SOUND MARK;Sk;0;ON; 0020 3099;;;;N;;;;; 309C;KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK;Sk;0;ON; 0020 309A;;;;N;;;;; 309D;HIRAGANA ITERATION MARK;Lm;0;L;;;;;N;;;;; 309E;HIRAGANA VOICED ITERATION MARK;Lm;0;L;309D 3099;;;;N;;;;; 30A1;KATAKANA LETTER SMALL A;Lo;0;L;;;;;N;;;;; 30A2;KATAKANA LETTER A;Lo;0;L;;;;;N;;;;; 30A3;KATAKANA LETTER SMALL I;Lo;0;L;;;;;N;;;;; 30A4;KATAKANA LETTER I;Lo;0;L;;;;;N;;;;; 30A5;KATAKANA LETTER SMALL U;Lo;0;L;;;;;N;;;;; 30A6;KATAKANA LETTER U;Lo;0;L;;;;;N;;;;; 30A7;KATAKANA LETTER SMALL E;Lo;0;L;;;;;N;;;;; 30A8;KATAKANA LETTER E;Lo;0;L;;;;;N;;;;; 30A9;KATAKANA LETTER SMALL O;Lo;0;L;;;;;N;;;;; 30AA;KATAKANA LETTER O;Lo;0;L;;;;;N;;;;; 30AB;KATAKANA LETTER KA;Lo;0;L;;;;;N;;;;; 30AC;KATAKANA LETTER GA;Lo;0;L;30AB 3099;;;;N;;;;; 30AD;KATAKANA LETTER KI;Lo;0;L;;;;;N;;;;; 30AE;KATAKANA LETTER GI;Lo;0;L;30AD 3099;;;;N;;;;; 30AF;KATAKANA LETTER KU;Lo;0;L;;;;;N;;;;; 30B0;KATAKANA LETTER GU;Lo;0;L;30AF 3099;;;;N;;;;; 30B1;KATAKANA LETTER KE;Lo;0;L;;;;;N;;;;; 30B2;KATAKANA LETTER GE;Lo;0;L;30B1 3099;;;;N;;;;; 30B3;KATAKANA LETTER KO;Lo;0;L;;;;;N;;;;; 30B4;KATAKANA LETTER GO;Lo;0;L;30B3 3099;;;;N;;;;; 30B5;KATAKANA LETTER SA;Lo;0;L;;;;;N;;;;; 30B6;KATAKANA LETTER ZA;Lo;0;L;30B5 3099;;;;N;;;;; 30B7;KATAKANA LETTER SI;Lo;0;L;;;;;N;;;;; 30B8;KATAKANA LETTER ZI;Lo;0;L;30B7 3099;;;;N;;;;; 30B9;KATAKANA LETTER SU;Lo;0;L;;;;;N;;;;; 30BA;KATAKANA LETTER ZU;Lo;0;L;30B9 3099;;;;N;;;;; 30BB;KATAKANA LETTER SE;Lo;0;L;;;;;N;;;;; 30BC;KATAKANA LETTER ZE;Lo;0;L;30BB 3099;;;;N;;;;; 30BD;KATAKANA LETTER SO;Lo;0;L;;;;;N;;;;; 30BE;KATAKANA LETTER ZO;Lo;0;L;30BD 3099;;;;N;;;;; 30BF;KATAKANA LETTER TA;Lo;0;L;;;;;N;;;;; 30C0;KATAKANA LETTER DA;Lo;0;L;30BF 3099;;;;N;;;;; 30C1;KATAKANA LETTER TI;Lo;0;L;;;;;N;;;;; 30C2;KATAKANA LETTER DI;Lo;0;L;30C1 3099;;;;N;;;;; 30C3;KATAKANA LETTER SMALL TU;Lo;0;L;;;;;N;;;;; 30C4;KATAKANA LETTER TU;Lo;0;L;;;;;N;;;;; 30C5;KATAKANA LETTER DU;Lo;0;L;30C4 3099;;;;N;;;;; 30C6;KATAKANA LETTER TE;Lo;0;L;;;;;N;;;;; 30C7;KATAKANA LETTER DE;Lo;0;L;30C6 3099;;;;N;;;;; 30C8;KATAKANA LETTER TO;Lo;0;L;;;;;N;;;;; 30C9;KATAKANA LETTER DO;Lo;0;L;30C8 3099;;;;N;;;;; 30CA;KATAKANA LETTER NA;Lo;0;L;;;;;N;;;;; 30CB;KATAKANA LETTER NI;Lo;0;L;;;;;N;;;;; 30CC;KATAKANA LETTER NU;Lo;0;L;;;;;N;;;;; 30CD;KATAKANA LETTER NE;Lo;0;L;;;;;N;;;;; 30CE;KATAKANA LETTER NO;Lo;0;L;;;;;N;;;;; 30CF;KATAKANA LETTER HA;Lo;0;L;;;;;N;;;;; 30D0;KATAKANA LETTER BA;Lo;0;L;30CF 3099;;;;N;;;;; 30D1;KATAKANA LETTER PA;Lo;0;L;30CF 309A;;;;N;;;;; 30D2;KATAKANA LETTER HI;Lo;0;L;;;;;N;;;;; 30D3;KATAKANA LETTER BI;Lo;0;L;30D2 3099;;;;N;;;;; 30D4;KATAKANA LETTER PI;Lo;0;L;30D2 309A;;;;N;;;;; 30D5;KATAKANA LETTER HU;Lo;0;L;;;;;N;;;;; 30D6;KATAKANA LETTER BU;Lo;0;L;30D5 3099;;;;N;;;;; 30D7;KATAKANA LETTER PU;Lo;0;L;30D5 309A;;;;N;;;;; 30D8;KATAKANA LETTER HE;Lo;0;L;;;;;N;;;;; 30D9;KATAKANA LETTER BE;Lo;0;L;30D8 3099;;;;N;;;;; 30DA;KATAKANA LETTER PE;Lo;0;L;30D8 309A;;;;N;;;;; 30DB;KATAKANA LETTER HO;Lo;0;L;;;;;N;;;;; 30DC;KATAKANA LETTER BO;Lo;0;L;30DB 3099;;;;N;;;;; 30DD;KATAKANA LETTER PO;Lo;0;L;30DB 309A;;;;N;;;;; 30DE;KATAKANA LETTER MA;Lo;0;L;;;;;N;;;;; 30DF;KATAKANA LETTER MI;Lo;0;L;;;;;N;;;;; 30E0;KATAKANA LETTER MU;Lo;0;L;;;;;N;;;;; 30E1;KATAKANA LETTER ME;Lo;0;L;;;;;N;;;;; 30E2;KATAKANA LETTER MO;Lo;0;L;;;;;N;;;;; 30E3;KATAKANA LETTER SMALL YA;Lo;0;L;;;;;N;;;;; 30E4;KATAKANA LETTER YA;Lo;0;L;;;;;N;;;;; 30E5;KATAKANA LETTER SMALL YU;Lo;0;L;;;;;N;;;;; 30E6;KATAKANA LETTER YU;Lo;0;L;;;;;N;;;;; 30E7;KATAKANA LETTER SMALL YO;Lo;0;L;;;;;N;;;;; 30E8;KATAKANA LETTER YO;Lo;0;L;;;;;N;;;;; 30E9;KATAKANA LETTER RA;Lo;0;L;;;;;N;;;;; 30EA;KATAKANA LETTER RI;Lo;0;L;;;;;N;;;;; 30EB;KATAKANA LETTER RU;Lo;0;L;;;;;N;;;;; 30EC;KATAKANA LETTER RE;Lo;0;L;;;;;N;;;;; 30ED;KATAKANA LETTER RO;Lo;0;L;;;;;N;;;;; 30EE;KATAKANA LETTER SMALL WA;Lo;0;L;;;;;N;;;;; 30EF;KATAKANA LETTER WA;Lo;0;L;;;;;N;;;;; 30F0;KATAKANA LETTER WI;Lo;0;L;;;;;N;;;;; 30F1;KATAKANA LETTER WE;Lo;0;L;;;;;N;;;;; 30F2;KATAKANA LETTER WO;Lo;0;L;;;;;N;;;;; 30F3;KATAKANA LETTER N;Lo;0;L;;;;;N;;;;; 30F4;KATAKANA LETTER VU;Lo;0;L;30A6 3099;;;;N;;;;; 30F5;KATAKANA LETTER SMALL KA;Lo;0;L;;;;;N;;;;; 30F6;KATAKANA LETTER SMALL KE;Lo;0;L;;;;;N;;;;; 30F7;KATAKANA LETTER VA;Lo;0;L;30EF 3099;;;;N;;;;; 30F8;KATAKANA LETTER VI;Lo;0;L;30F0 3099;;;;N;;;;; 30F9;KATAKANA LETTER VE;Lo;0;L;30F1 3099;;;;N;;;;; 30FA;KATAKANA LETTER VO;Lo;0;L;30F2 3099;;;;N;;;;; 30FB;KATAKANA MIDDLE DOT;Pc;0;L;;;;;N;;;;; 30FC;KATAKANA-HIRAGANA PROLONGED SOUND MARK;Lm;0;L;;;;;N;;;;; 30FD;KATAKANA ITERATION MARK;Lm;0;L;;;;;N;;;;; 30FE;KATAKANA VOICED ITERATION MARK;Lm;0;L;30FD 3099;;;;N;;;;; 3105;BOPOMOFO LETTER B;Lo;0;L;;;;;N;;;;; 3106;BOPOMOFO LETTER P;Lo;0;L;;;;;N;;;;; 3107;BOPOMOFO LETTER M;Lo;0;L;;;;;N;;;;; 3108;BOPOMOFO LETTER F;Lo;0;L;;;;;N;;;;; 3109;BOPOMOFO LETTER D;Lo;0;L;;;;;N;;;;; 310A;BOPOMOFO LETTER T;Lo;0;L;;;;;N;;;;; 310B;BOPOMOFO LETTER N;Lo;0;L;;;;;N;;;;; 310C;BOPOMOFO LETTER L;Lo;0;L;;;;;N;;;;; 310D;BOPOMOFO LETTER G;Lo;0;L;;;;;N;;;;; 310E;BOPOMOFO LETTER K;Lo;0;L;;;;;N;;;;; 310F;BOPOMOFO LETTER H;Lo;0;L;;;;;N;;;;; 3110;BOPOMOFO LETTER J;Lo;0;L;;;;;N;;;;; 3111;BOPOMOFO LETTER Q;Lo;0;L;;;;;N;;;;; 3112;BOPOMOFO LETTER X;Lo;0;L;;;;;N;;;;; 3113;BOPOMOFO LETTER ZH;Lo;0;L;;;;;N;;;;; 3114;BOPOMOFO LETTER CH;Lo;0;L;;;;;N;;;;; 3115;BOPOMOFO LETTER SH;Lo;0;L;;;;;N;;;;; 3116;BOPOMOFO LETTER R;Lo;0;L;;;;;N;;;;; 3117;BOPOMOFO LETTER Z;Lo;0;L;;;;;N;;;;; 3118;BOPOMOFO LETTER C;Lo;0;L;;;;;N;;;;; 3119;BOPOMOFO LETTER S;Lo;0;L;;;;;N;;;;; 311A;BOPOMOFO LETTER A;Lo;0;L;;;;;N;;;;; 311B;BOPOMOFO LETTER O;Lo;0;L;;;;;N;;;;; 311C;BOPOMOFO LETTER E;Lo;0;L;;;;;N;;;;; 311D;BOPOMOFO LETTER EH;Lo;0;L;;;;;N;;;;; 311E;BOPOMOFO LETTER AI;Lo;0;L;;;;;N;;;;; 311F;BOPOMOFO LETTER EI;Lo;0;L;;;;;N;;;;; 3120;BOPOMOFO LETTER AU;Lo;0;L;;;;;N;;;;; 3121;BOPOMOFO LETTER OU;Lo;0;L;;;;;N;;;;; 3122;BOPOMOFO LETTER AN;Lo;0;L;;;;;N;;;;; 3123;BOPOMOFO LETTER EN;Lo;0;L;;;;;N;;;;; 3124;BOPOMOFO LETTER ANG;Lo;0;L;;;;;N;;;;; 3125;BOPOMOFO LETTER ENG;Lo;0;L;;;;;N;;;;; 3126;BOPOMOFO LETTER ER;Lo;0;L;;;;;N;;;;; 3127;BOPOMOFO LETTER I;Lo;0;L;;;;;N;;;;; 3128;BOPOMOFO LETTER U;Lo;0;L;;;;;N;;;;; 3129;BOPOMOFO LETTER IU;Lo;0;L;;;;;N;;;;; 312A;BOPOMOFO LETTER V;Lo;0;L;;;;;N;;;;; 312B;BOPOMOFO LETTER NG;Lo;0;L;;;;;N;;;;; 312C;BOPOMOFO LETTER GN;Lo;0;L;;;;;N;;;;; 3131;HANGUL LETTER KIYEOK;Lo;0;L; 1100;;;;N;HANGUL LETTER GIYEOG;;;; 3132;HANGUL LETTER SSANGKIYEOK;Lo;0;L; 1101;;;;N;HANGUL LETTER SSANG GIYEOG;;;; 3133;HANGUL LETTER KIYEOK-SIOS;Lo;0;L; 11AA;;;;N;HANGUL LETTER GIYEOG SIOS;;;; 3134;HANGUL LETTER NIEUN;Lo;0;L; 1102;;;;N;;;;; 3135;HANGUL LETTER NIEUN-CIEUC;Lo;0;L; 11AC;;;;N;HANGUL LETTER NIEUN JIEUJ;;;; 3136;HANGUL LETTER NIEUN-HIEUH;Lo;0;L; 11AD;;;;N;HANGUL LETTER NIEUN HIEUH;;;; 3137;HANGUL LETTER TIKEUT;Lo;0;L; 1103;;;;N;HANGUL LETTER DIGEUD;;;; 3138;HANGUL LETTER SSANGTIKEUT;Lo;0;L; 1104;;;;N;HANGUL LETTER SSANG DIGEUD;;;; 3139;HANGUL LETTER RIEUL;Lo;0;L; 1105;;;;N;HANGUL LETTER LIEUL;;;; 313A;HANGUL LETTER RIEUL-KIYEOK;Lo;0;L; 11B0;;;;N;HANGUL LETTER LIEUL GIYEOG;;;; 313B;HANGUL LETTER RIEUL-MIEUM;Lo;0;L; 11B1;;;;N;HANGUL LETTER LIEUL MIEUM;;;; 313C;HANGUL LETTER RIEUL-PIEUP;Lo;0;L; 11B2;;;;N;HANGUL LETTER LIEUL BIEUB;;;; 313D;HANGUL LETTER RIEUL-SIOS;Lo;0;L; 11B3;;;;N;HANGUL LETTER LIEUL SIOS;;;; 313E;HANGUL LETTER RIEUL-THIEUTH;Lo;0;L; 11B4;;;;N;HANGUL LETTER LIEUL TIEUT;;;; 313F;HANGUL LETTER RIEUL-PHIEUPH;Lo;0;L; 11B5;;;;N;HANGUL LETTER LIEUL PIEUP;;;; 3140;HANGUL LETTER RIEUL-HIEUH;Lo;0;L; 111A;;;;N;HANGUL LETTER LIEUL HIEUH;;;; 3141;HANGUL LETTER MIEUM;Lo;0;L; 1106;;;;N;;;;; 3142;HANGUL LETTER PIEUP;Lo;0;L; 1107;;;;N;HANGUL LETTER BIEUB;;;; 3143;HANGUL LETTER SSANGPIEUP;Lo;0;L; 1108;;;;N;HANGUL LETTER SSANG BIEUB;;;; 3144;HANGUL LETTER PIEUP-SIOS;Lo;0;L; 1121;;;;N;HANGUL LETTER BIEUB SIOS;;;; 3145;HANGUL LETTER SIOS;Lo;0;L; 1109;;;;N;;;;; 3146;HANGUL LETTER SSANGSIOS;Lo;0;L; 110A;;;;N;HANGUL LETTER SSANG SIOS;;;; 3147;HANGUL LETTER IEUNG;Lo;0;L; 110B;;;;N;;;;; 3148;HANGUL LETTER CIEUC;Lo;0;L; 110C;;;;N;HANGUL LETTER JIEUJ;;;; 3149;HANGUL LETTER SSANGCIEUC;Lo;0;L; 110D;;;;N;HANGUL LETTER SSANG JIEUJ;;;; 314A;HANGUL LETTER CHIEUCH;Lo;0;L; 110E;;;;N;HANGUL LETTER CIEUC;;;; 314B;HANGUL LETTER KHIEUKH;Lo;0;L; 110F;;;;N;HANGUL LETTER KIYEOK;;;; 314C;HANGUL LETTER THIEUTH;Lo;0;L; 1110;;;;N;HANGUL LETTER TIEUT;;;; 314D;HANGUL LETTER PHIEUPH;Lo;0;L; 1111;;;;N;HANGUL LETTER PIEUP;;;; 314E;HANGUL LETTER HIEUH;Lo;0;L; 1112;;;;N;;;;; 314F;HANGUL LETTER A;Lo;0;L; 1161;;;;N;;;;; 3150;HANGUL LETTER AE;Lo;0;L; 1162;;;;N;;;;; 3151;HANGUL LETTER YA;Lo;0;L; 1163;;;;N;;;;; 3152;HANGUL LETTER YAE;Lo;0;L; 1164;;;;N;;;;; 3153;HANGUL LETTER EO;Lo;0;L; 1165;;;;N;;;;; 3154;HANGUL LETTER E;Lo;0;L; 1166;;;;N;;;;; 3155;HANGUL LETTER YEO;Lo;0;L; 1167;;;;N;;;;; 3156;HANGUL LETTER YE;Lo;0;L; 1168;;;;N;;;;; 3157;HANGUL LETTER O;Lo;0;L; 1169;;;;N;;;;; 3158;HANGUL LETTER WA;Lo;0;L; 116A;;;;N;;;;; 3159;HANGUL LETTER WAE;Lo;0;L; 116B;;;;N;;;;; 315A;HANGUL LETTER OE;Lo;0;L; 116C;;;;N;;;;; 315B;HANGUL LETTER YO;Lo;0;L; 116D;;;;N;;;;; 315C;HANGUL LETTER U;Lo;0;L; 116E;;;;N;;;;; 315D;HANGUL LETTER WEO;Lo;0;L; 116F;;;;N;;;;; 315E;HANGUL LETTER WE;Lo;0;L; 1170;;;;N;;;;; 315F;HANGUL LETTER WI;Lo;0;L; 1171;;;;N;;;;; 3160;HANGUL LETTER YU;Lo;0;L; 1172;;;;N;;;;; 3161;HANGUL LETTER EU;Lo;0;L; 1173;;;;N;;;;; 3162;HANGUL LETTER YI;Lo;0;L; 1174;;;;N;;;;; 3163;HANGUL LETTER I;Lo;0;L; 1175;;;;N;;;;; 3164;HANGUL FILLER;Lo;0;L; 1160;;;;N;HANGUL CAE OM;;;; 3165;HANGUL LETTER SSANGNIEUN;Lo;0;L; 1114;;;;N;HANGUL LETTER SSANG NIEUN;;;; 3166;HANGUL LETTER NIEUN-TIKEUT;Lo;0;L; 1115;;;;N;HANGUL LETTER NIEUN DIGEUD;;;; 3167;HANGUL LETTER NIEUN-SIOS;Lo;0;L; 11C7;;;;N;HANGUL LETTER NIEUN SIOS;;;; 3168;HANGUL LETTER NIEUN-PANSIOS;Lo;0;L; 11C8;;;;N;HANGUL LETTER NIEUN BAN CHI EUM;;;; 3169;HANGUL LETTER RIEUL-KIYEOK-SIOS;Lo;0;L; 11CC;;;;N;HANGUL LETTER LIEUL GIYEOG SIOS;;;; 316A;HANGUL LETTER RIEUL-TIKEUT;Lo;0;L; 11CE;;;;N;HANGUL LETTER LIEUL DIGEUD;;;; 316B;HANGUL LETTER RIEUL-PIEUP-SIOS;Lo;0;L; 11D3;;;;N;HANGUL LETTER LIEUL BIEUB SIOS;;;; 316C;HANGUL LETTER RIEUL-PANSIOS;Lo;0;L; 11D7;;;;N;HANGUL LETTER LIEUL BAN CHI EUM;;;; 316D;HANGUL LETTER RIEUL-YEORINHIEUH;Lo;0;L; 11D9;;;;N;HANGUL LETTER LIEUL YEOLIN HIEUH;;;; 316E;HANGUL LETTER MIEUM-PIEUP;Lo;0;L; 111C;;;;N;HANGUL LETTER MIEUM BIEUB;;;; 316F;HANGUL LETTER MIEUM-SIOS;Lo;0;L; 11DD;;;;N;HANGUL LETTER MIEUM SIOS;;;; 3170;HANGUL LETTER MIEUM-PANSIOS;Lo;0;L; 11DF;;;;N;HANGUL LETTER BIEUB BAN CHI EUM;;;; 3171;HANGUL LETTER KAPYEOUNMIEUM;Lo;0;L; 111D;;;;N;HANGUL LETTER MIEUM SUN GYEONG EUM;;;; 3172;HANGUL LETTER PIEUP-KIYEOK;Lo;0;L; 111E;;;;N;HANGUL LETTER BIEUB GIYEOG;;;; 3173;HANGUL LETTER PIEUP-TIKEUT;Lo;0;L; 1120;;;;N;HANGUL LETTER BIEUB DIGEUD;;;; 3174;HANGUL LETTER PIEUP-SIOS-KIYEOK;Lo;0;L; 1122;;;;N;HANGUL LETTER BIEUB SIOS GIYEOG;;;; 3175;HANGUL LETTER PIEUP-SIOS-TIKEUT;Lo;0;L; 1123;;;;N;HANGUL LETTER BIEUB SIOS DIGEUD;;;; 3176;HANGUL LETTER PIEUP-CIEUC;Lo;0;L; 1127;;;;N;HANGUL LETTER BIEUB JIEUJ;;;; 3177;HANGUL LETTER PIEUP-THIEUTH;Lo;0;L; 1129;;;;N;HANGUL LETTER BIEUB TIEUT;;;; 3178;HANGUL LETTER KAPYEOUNPIEUP;Lo;0;L; 112B;;;;N;HANGUL LETTER BIEUB SUN GYEONG EUM;;;; 3179;HANGUL LETTER KAPYEOUNSSANGPIEUP;Lo;0;L; 112C;;;;N;HANGUL LETTER SSANG BIEUB SUN GYEONG EUM;;;; 317A;HANGUL LETTER SIOS-KIYEOK;Lo;0;L; 112D;;;;N;HANGUL LETTER SIOS GIYEOG;;;; 317B;HANGUL LETTER SIOS-NIEUN;Lo;0;L; 112E;;;;N;HANGUL LETTER SIOS NIEUN;;;; 317C;HANGUL LETTER SIOS-TIKEUT;Lo;0;L; 112F;;;;N;HANGUL LETTER SIOS DIGEUD;;;; 317D;HANGUL LETTER SIOS-PIEUP;Lo;0;L; 1132;;;;N;HANGUL LETTER SIOS BIEUB;;;; 317E;HANGUL LETTER SIOS-CIEUC;Lo;0;L; 1136;;;;N;HANGUL LETTER SIOS JIEUJ;;;; 317F;HANGUL LETTER PANSIOS;Lo;0;L; 1140;;;;N;HANGUL LETTER BAN CHI EUM;;;; 3180;HANGUL LETTER SSANGIEUNG;Lo;0;L; 1147;;;;N;HANGUL LETTER SSANG IEUNG;;;; 3181;HANGUL LETTER YESIEUNG;Lo;0;L; 114C;;;;N;HANGUL LETTER NGIEUNG;;;; 3182;HANGUL LETTER YESIEUNG-SIOS;Lo;0;L; 11F1;;;;N;HANGUL LETTER NGIEUNG SIOS;;;; 3183;HANGUL LETTER YESIEUNG-PANSIOS;Lo;0;L; 11F2;;;;N;HANGUL LETTER NGIEUNG BAN CHI EUM;;;; 3184;HANGUL LETTER KAPYEOUNPHIEUPH;Lo;0;L; 1157;;;;N;HANGUL LETTER PIEUP SUN GYEONG EUM;;;; 3185;HANGUL LETTER SSANGHIEUH;Lo;0;L; 1158;;;;N;HANGUL LETTER SSANG HIEUH;;;; 3186;HANGUL LETTER YEORINHIEUH;Lo;0;L; 1159;;;;N;HANGUL LETTER YEOLIN HIEUH;;;; 3187;HANGUL LETTER YO-YA;Lo;0;L; 1184;;;;N;HANGUL LETTER YOYA;;;; 3188;HANGUL LETTER YO-YAE;Lo;0;L; 1185;;;;N;HANGUL LETTER YOYAE;;;; 3189;HANGUL LETTER YO-I;Lo;0;L; 1188;;;;N;HANGUL LETTER YOI;;;; 318A;HANGUL LETTER YU-YEO;Lo;0;L; 1191;;;;N;HANGUL LETTER YUYEO;;;; 318B;HANGUL LETTER YU-YE;Lo;0;L; 1192;;;;N;HANGUL LETTER YUYE;;;; 318C;HANGUL LETTER YU-I;Lo;0;L; 1194;;;;N;HANGUL LETTER YUI;;;; 318D;HANGUL LETTER ARAEA;Lo;0;L; 119E;;;;N;HANGUL LETTER ALAE A;;;; 318E;HANGUL LETTER ARAEAE;Lo;0;L; 11A1;;;;N;HANGUL LETTER ALAE AE;;;; 3190;IDEOGRAPHIC ANNOTATION LINKING MARK;So;0;L;;;;;N;KANBUN TATETEN;Kanbun Tateten;;; 3191;IDEOGRAPHIC ANNOTATION REVERSE MARK;So;0;L;;;;;N;KAERITEN RE;Kaeriten;;; 3192;IDEOGRAPHIC ANNOTATION ONE MARK;No;0;L; 4E00;;;;N;KAERITEN ITI;Kaeriten;;; 3193;IDEOGRAPHIC ANNOTATION TWO MARK;No;0;L; 4E8C;;;;N;KAERITEN NI;Kaeriten;;; 3194;IDEOGRAPHIC ANNOTATION THREE MARK;No;0;L; 4E09;;;;N;KAERITEN SAN;Kaeriten;;; 3195;IDEOGRAPHIC ANNOTATION FOUR MARK;No;0;L; 56DB;;;;N;KAERITEN SI;Kaeriten;;; 3196;IDEOGRAPHIC ANNOTATION TOP MARK;So;0;L; 4E0A;;;;N;KAERITEN ZYOU;Kaeriten;;; 3197;IDEOGRAPHIC ANNOTATION MIDDLE MARK;So;0;L; 4E2D;;;;N;KAERITEN TYUU;Kaeriten;;; 3198;IDEOGRAPHIC ANNOTATION BOTTOM MARK;So;0;L; 4E0B;;;;N;KAERITEN GE;Kaeriten;;; 3199;IDEOGRAPHIC ANNOTATION FIRST MARK;So;0;L; 7532;;;;N;KAERITEN KOU;Kaeriten;;; 319A;IDEOGRAPHIC ANNOTATION SECOND MARK;So;0;L; 4E59;;;;N;KAERITEN OTU;Kaeriten;;; 319B;IDEOGRAPHIC ANNOTATION THIRD MARK;So;0;L; 4E19;;;;N;KAERITEN HEI;Kaeriten;;; 319C;IDEOGRAPHIC ANNOTATION FOURTH MARK;So;0;L; 4E01;;;;N;KAERITEN TEI;Kaeriten;;; 319D;IDEOGRAPHIC ANNOTATION HEAVEN MARK;So;0;L; 5929;;;;N;KAERITEN TEN;Kaeriten;;; 319E;IDEOGRAPHIC ANNOTATION EARTH MARK;So;0;L; 5730;;;;N;KAERITEN TI;Kaeriten;;; 319F;IDEOGRAPHIC ANNOTATION MAN MARK;So;0;L; 4EBA;;;;N;KAERITEN ZIN;Kaeriten;;; 3200;PARENTHESIZED HANGUL KIYEOK;So;0;L; 0028 1100 0029;;;;N;PARENTHESIZED HANGUL GIYEOG;;;; 3201;PARENTHESIZED HANGUL NIEUN;So;0;L; 0028 1102 0029;;;;N;;;;; 3202;PARENTHESIZED HANGUL TIKEUT;So;0;L; 0028 1103 0029;;;;N;PARENTHESIZED HANGUL DIGEUD;;;; 3203;PARENTHESIZED HANGUL RIEUL;So;0;L; 0028 1105 0029;;;;N;PARENTHESIZED HANGUL LIEUL;;;; 3204;PARENTHESIZED HANGUL MIEUM;So;0;L; 0028 1106 0029;;;;N;;;;; 3205;PARENTHESIZED HANGUL PIEUP;So;0;L; 0028 1107 0029;;;;N;PARENTHESIZED HANGUL BIEUB;;;; 3206;PARENTHESIZED HANGUL SIOS;So;0;L; 0028 1109 0029;;;;N;;;;; 3207;PARENTHESIZED HANGUL IEUNG;So;0;L; 0028 110B 0029;;;;N;;;;; 3208;PARENTHESIZED HANGUL CIEUC;So;0;L; 0028 110C 0029;;;;N;PARENTHESIZED HANGUL JIEUJ;;;; 3209;PARENTHESIZED HANGUL CHIEUCH;So;0;L; 0028 110E 0029;;;;N;PARENTHESIZED HANGUL CIEUC;;;; 320A;PARENTHESIZED HANGUL KHIEUKH;So;0;L; 0028 110F 0029;;;;N;PARENTHESIZED HANGUL KIYEOK;;;; 320B;PARENTHESIZED HANGUL THIEUTH;So;0;L; 0028 1110 0029;;;;N;PARENTHESIZED HANGUL TIEUT;;;; 320C;PARENTHESIZED HANGUL PHIEUPH;So;0;L; 0028 1111 0029;;;;N;PARENTHESIZED HANGUL PIEUP;;;; 320D;PARENTHESIZED HANGUL HIEUH;So;0;L; 0028 1112 0029;;;;N;;;;; 320E;PARENTHESIZED HANGUL KIYEOK A;So;0;L; 0028 1100 1161 0029;;;;N;PARENTHESIZED HANGUL GA;;;; 320F;PARENTHESIZED HANGUL NIEUN A;So;0;L; 0028 1102 1161 0029;;;;N;PARENTHESIZED HANGUL NA;;;; 3210;PARENTHESIZED HANGUL TIKEUT A;So;0;L; 0028 1103 1161 0029;;;;N;PARENTHESIZED HANGUL DA;;;; 3211;PARENTHESIZED HANGUL RIEUL A;So;0;L; 0028 1105 1161 0029;;;;N;PARENTHESIZED HANGUL LA;;;; 3212;PARENTHESIZED HANGUL MIEUM A;So;0;L; 0028 1106 1161 0029;;;;N;PARENTHESIZED HANGUL MA;;;; 3213;PARENTHESIZED HANGUL PIEUP A;So;0;L; 0028 1107 1161 0029;;;;N;PARENTHESIZED HANGUL BA;;;; 3214;PARENTHESIZED HANGUL SIOS A;So;0;L; 0028 1109 1161 0029;;;;N;PARENTHESIZED HANGUL SA;;;; 3215;PARENTHESIZED HANGUL IEUNG A;So;0;L; 0028 110B 1161 0029;;;;N;PARENTHESIZED HANGUL A;;;; 3216;PARENTHESIZED HANGUL CIEUC A;So;0;L; 0028 110C 1161 0029;;;;N;PARENTHESIZED HANGUL JA;;;; 3217;PARENTHESIZED HANGUL CHIEUCH A;So;0;L; 0028 110E 1161 0029;;;;N;PARENTHESIZED HANGUL CA;;;; 3218;PARENTHESIZED HANGUL KHIEUKH A;So;0;L; 0028 110F 1161 0029;;;;N;PARENTHESIZED HANGUL KA;;;; 3219;PARENTHESIZED HANGUL THIEUTH A;So;0;L; 0028 1110 1161 0029;;;;N;PARENTHESIZED HANGUL TA;;;; 321A;PARENTHESIZED HANGUL PHIEUPH A;So;0;L; 0028 1111 1161 0029;;;;N;PARENTHESIZED HANGUL PA;;;; 321B;PARENTHESIZED HANGUL HIEUH A;So;0;L; 0028 1112 1161 0029;;;;N;PARENTHESIZED HANGUL HA;;;; 321C;PARENTHESIZED HANGUL CIEUC U;So;0;L; 0028 110C 116E 0029;;;;N;PARENTHESIZED HANGUL JU;;;; 3220;PARENTHESIZED IDEOGRAPH ONE;No;0;L; 0028 4E00 0029;;;;N;;;;; 3221;PARENTHESIZED IDEOGRAPH TWO;No;0;L; 0028 4E8C 0029;;;;N;;;;; 3222;PARENTHESIZED IDEOGRAPH THREE;No;0;L; 0028 4E09 0029;;;;N;;;;; 3223;PARENTHESIZED IDEOGRAPH FOUR;No;0;L; 0028 56DB 0029;;;;N;;;;; 3224;PARENTHESIZED IDEOGRAPH FIVE;No;0;L; 0028 4E94 0029;;;;N;;;;; 3225;PARENTHESIZED IDEOGRAPH SIX;No;0;L; 0028 516D 0029;;;;N;;;;; 3226;PARENTHESIZED IDEOGRAPH SEVEN;No;0;L; 0028 4E03 0029;;;;N;;;;; 3227;PARENTHESIZED IDEOGRAPH EIGHT;No;0;L; 0028 516B 0029;;;;N;;;;; 3228;PARENTHESIZED IDEOGRAPH NINE;No;0;L; 0028 4E5D 0029;;;;N;;;;; 3229;PARENTHESIZED IDEOGRAPH TEN;No;0;L; 0028 5341 0029;;;;N;;;;; 322A;PARENTHESIZED IDEOGRAPH MOON;So;0;L; 0028 6708 0029;;;;N;;;;; 322B;PARENTHESIZED IDEOGRAPH FIRE;So;0;L; 0028 706B 0029;;;;N;;;;; 322C;PARENTHESIZED IDEOGRAPH WATER;So;0;L; 0028 6C34 0029;;;;N;;;;; 322D;PARENTHESIZED IDEOGRAPH WOOD;So;0;L; 0028 6728 0029;;;;N;;;;; 322E;PARENTHESIZED IDEOGRAPH METAL;So;0;L; 0028 91D1 0029;;;;N;;;;; 322F;PARENTHESIZED IDEOGRAPH EARTH;So;0;L; 0028 571F 0029;;;;N;;;;; 3230;PARENTHESIZED IDEOGRAPH SUN;So;0;L; 0028 65E5 0029;;;;N;;;;; 3231;PARENTHESIZED IDEOGRAPH STOCK;So;0;L; 0028 682A 0029;;;;N;;;;; 3232;PARENTHESIZED IDEOGRAPH HAVE;So;0;L; 0028 6709 0029;;;;N;;;;; 3233;PARENTHESIZED IDEOGRAPH SOCIETY;So;0;L; 0028 793E 0029;;;;N;;;;; 3234;PARENTHESIZED IDEOGRAPH NAME;So;0;L; 0028 540D 0029;;;;N;;;;; 3235;PARENTHESIZED IDEOGRAPH SPECIAL;So;0;L; 0028 7279 0029;;;;N;;;;; 3236;PARENTHESIZED IDEOGRAPH FINANCIAL;So;0;L; 0028 8CA1 0029;;;;N;;;;; 3237;PARENTHESIZED IDEOGRAPH CONGRATULATION;So;0;L; 0028 795D 0029;;;;N;;;;; 3238;PARENTHESIZED IDEOGRAPH LABOR;So;0;L; 0028 52B4 0029;;;;N;;;;; 3239;PARENTHESIZED IDEOGRAPH REPRESENT;So;0;L; 0028 4EE3 0029;;;;N;;;;; 323A;PARENTHESIZED IDEOGRAPH CALL;So;0;L; 0028 547C 0029;;;;N;;;;; 323B;PARENTHESIZED IDEOGRAPH STUDY;So;0;L; 0028 5B66 0029;;;;N;;;;; 323C;PARENTHESIZED IDEOGRAPH SUPERVISE;So;0;L; 0028 76E3 0029;;;;N;;;;; 323D;PARENTHESIZED IDEOGRAPH ENTERPRISE;So;0;L; 0028 4F01 0029;;;;N;;;;; 323E;PARENTHESIZED IDEOGRAPH RESOURCE;So;0;L; 0028 8CC7 0029;;;;N;;;;; 323F;PARENTHESIZED IDEOGRAPH ALLIANCE;So;0;L; 0028 5354 0029;;;;N;;;;; 3240;PARENTHESIZED IDEOGRAPH FESTIVAL;So;0;L; 0028 796D 0029;;;;N;;;;; 3241;PARENTHESIZED IDEOGRAPH REST;So;0;L; 0028 4F11 0029;;;;N;;;;; 3242;PARENTHESIZED IDEOGRAPH SELF;So;0;L; 0028 81EA 0029;;;;N;;;;; 3243;PARENTHESIZED IDEOGRAPH REACH;So;0;L; 0028 81F3 0029;;;;N;;;;; 3260;CIRCLED HANGUL KIYEOK;So;0;L; 1100;;;;N;CIRCLED HANGUL GIYEOG;;;; 3261;CIRCLED HANGUL NIEUN;So;0;L; 1102;;;;N;;;;; 3262;CIRCLED HANGUL TIKEUT;So;0;L; 1103;;;;N;CIRCLED HANGUL DIGEUD;;;; 3263;CIRCLED HANGUL RIEUL;So;0;L; 1105;;;;N;CIRCLED HANGUL LIEUL;;;; 3264;CIRCLED HANGUL MIEUM;So;0;L; 1106;;;;N;;;;; 3265;CIRCLED HANGUL PIEUP;So;0;L; 1107;;;;N;CIRCLED HANGUL BIEUB;;;; 3266;CIRCLED HANGUL SIOS;So;0;L; 1109;;;;N;;;;; 3267;CIRCLED HANGUL IEUNG;So;0;L; 110B;;;;N;;;;; 3268;CIRCLED HANGUL CIEUC;So;0;L; 110C;;;;N;CIRCLED HANGUL JIEUJ;;;; 3269;CIRCLED HANGUL CHIEUCH;So;0;L; 110E;;;;N;CIRCLED HANGUL CIEUC;;;; 326A;CIRCLED HANGUL KHIEUKH;So;0;L; 110F;;;;N;CIRCLED HANGUL KIYEOK;;;; 326B;CIRCLED HANGUL THIEUTH;So;0;L; 1110;;;;N;CIRCLED HANGUL TIEUT;;;; 326C;CIRCLED HANGUL PHIEUPH;So;0;L; 1111;;;;N;CIRCLED HANGUL PIEUP;;;; 326D;CIRCLED HANGUL HIEUH;So;0;L; 1112;;;;N;;;;; 326E;CIRCLED HANGUL KIYEOK A;So;0;L; 1100 1161;;;;N;CIRCLED HANGUL GA;;;; 326F;CIRCLED HANGUL NIEUN A;So;0;L; 1102 1161;;;;N;CIRCLED HANGUL NA;;;; 3270;CIRCLED HANGUL TIKEUT A;So;0;L; 1103 1161;;;;N;CIRCLED HANGUL DA;;;; 3271;CIRCLED HANGUL RIEUL A;So;0;L; 1105 1161;;;;N;CIRCLED HANGUL LA;;;; 3272;CIRCLED HANGUL MIEUM A;So;0;L; 1106 1161;;;;N;CIRCLED HANGUL MA;;;; 3273;CIRCLED HANGUL PIEUP A;So;0;L; 1107 1161;;;;N;CIRCLED HANGUL BA;;;; 3274;CIRCLED HANGUL SIOS A;So;0;L; 1109 1161;;;;N;CIRCLED HANGUL SA;;;; 3275;CIRCLED HANGUL IEUNG A;So;0;L; 110B 1161;;;;N;CIRCLED HANGUL A;;;; 3276;CIRCLED HANGUL CIEUC A;So;0;L; 110C 1161;;;;N;CIRCLED HANGUL JA;;;; 3277;CIRCLED HANGUL CHIEUCH A;So;0;L; 110E 1161;;;;N;CIRCLED HANGUL CA;;;; 3278;CIRCLED HANGUL KHIEUKH A;So;0;L; 110F 1161;;;;N;CIRCLED HANGUL KA;;;; 3279;CIRCLED HANGUL THIEUTH A;So;0;L; 1110 1161;;;;N;CIRCLED HANGUL TA;;;; 327A;CIRCLED HANGUL PHIEUPH A;So;0;L; 1111 1161;;;;N;CIRCLED HANGUL PA;;;; 327B;CIRCLED HANGUL HIEUH A;So;0;L; 1112 1161;;;;N;CIRCLED HANGUL HA;;;; 327F;KOREAN STANDARD SYMBOL;So;0;L;;;;;N;;;;; 3280;CIRCLED IDEOGRAPH ONE;No;0;L; 4E00;;;1;N;;;;; 3281;CIRCLED IDEOGRAPH TWO;No;0;L; 4E8C;;;2;N;;;;; 3282;CIRCLED IDEOGRAPH THREE;No;0;L; 4E09;;;3;N;;;;; 3283;CIRCLED IDEOGRAPH FOUR;No;0;L; 56DB;;;4;N;;;;; 3284;CIRCLED IDEOGRAPH FIVE;No;0;L; 4E94;;;5;N;;;;; 3285;CIRCLED IDEOGRAPH SIX;No;0;L; 516D;;;6;N;;;;; 3286;CIRCLED IDEOGRAPH SEVEN;No;0;L; 4E03;;;7;N;;;;; 3287;CIRCLED IDEOGRAPH EIGHT;No;0;L; 516B;;;8;N;;;;; 3288;CIRCLED IDEOGRAPH NINE;No;0;L; 4E5D;;;9;N;;;;; 3289;CIRCLED IDEOGRAPH TEN;No;0;L; 5341;;;10;N;;;;; 328A;CIRCLED IDEOGRAPH MOON;So;0;L; 6708;;;;N;;;;; 328B;CIRCLED IDEOGRAPH FIRE;So;0;L; 706B;;;;N;;;;; 328C;CIRCLED IDEOGRAPH WATER;So;0;L; 6C34;;;;N;;;;; 328D;CIRCLED IDEOGRAPH WOOD;So;0;L; 6728;;;;N;;;;; 328E;CIRCLED IDEOGRAPH METAL;So;0;L; 91D1;;;;N;;;;; 328F;CIRCLED IDEOGRAPH EARTH;So;0;L; 571F;;;;N;;;;; 3290;CIRCLED IDEOGRAPH SUN;So;0;L; 65E5;;;;N;;;;; 3291;CIRCLED IDEOGRAPH STOCK;So;0;L; 682A;;;;N;;;;; 3292;CIRCLED IDEOGRAPH HAVE;So;0;L; 6709;;;;N;;;;; 3293;CIRCLED IDEOGRAPH SOCIETY;So;0;L; 793E;;;;N;;;;; 3294;CIRCLED IDEOGRAPH NAME;So;0;L; 540D;;;;N;;;;; 3295;CIRCLED IDEOGRAPH SPECIAL;So;0;L; 7279;;;;N;;;;; 3296;CIRCLED IDEOGRAPH FINANCIAL;So;0;L; 8CA1;;;;N;;;;; 3297;CIRCLED IDEOGRAPH CONGRATULATION;So;0;L; 795D;;;;N;;;;; 3298;CIRCLED IDEOGRAPH LABOR;So;0;L; 52B4;;;;N;;;;; 3299;CIRCLED IDEOGRAPH SECRET;So;0;L; 79D8;;;;N;;;;; 329A;CIRCLED IDEOGRAPH MALE;So;0;L; 7537;;;;N;;;;; 329B;CIRCLED IDEOGRAPH FEMALE;So;0;L; 5973;;;;N;;;;; 329C;CIRCLED IDEOGRAPH SUITABLE;So;0;L; 9069;;;;N;;;;; 329D;CIRCLED IDEOGRAPH EXCELLENT;So;0;L; 512A;;;;N;;;;; 329E;CIRCLED IDEOGRAPH PRINT;So;0;L; 5370;;;;N;;;;; 329F;CIRCLED IDEOGRAPH ATTENTION;So;0;L; 6CE8;;;;N;;;;; 32A0;CIRCLED IDEOGRAPH ITEM;So;0;L; 9805;;;;N;;;;; 32A1;CIRCLED IDEOGRAPH REST;So;0;L; 4F11;;;;N;;;;; 32A2;CIRCLED IDEOGRAPH COPY;So;0;L; 5199;;;;N;;;;; 32A3;CIRCLED IDEOGRAPH CORRECT;So;0;L; 6B63;;;;N;;;;; 32A4;CIRCLED IDEOGRAPH HIGH;So;0;L; 4E0A;;;;N;;;;; 32A5;CIRCLED IDEOGRAPH CENTRE;So;0;L; 4E2D;;;;N;CIRCLED IDEOGRAPH CENTER;;;; 32A6;CIRCLED IDEOGRAPH LOW;So;0;L; 4E0B;;;;N;;;;; 32A7;CIRCLED IDEOGRAPH LEFT;So;0;L; 5DE6;;;;N;;;;; 32A8;CIRCLED IDEOGRAPH RIGHT;So;0;L; 53F3;;;;N;;;;; 32A9;CIRCLED IDEOGRAPH MEDICINE;So;0;L; 533B;;;;N;;;;; 32AA;CIRCLED IDEOGRAPH RELIGION;So;0;L; 5B97;;;;N;;;;; 32AB;CIRCLED IDEOGRAPH STUDY;So;0;L; 5B66;;;;N;;;;; 32AC;CIRCLED IDEOGRAPH SUPERVISE;So;0;L; 76E3;;;;N;;;;; 32AD;CIRCLED IDEOGRAPH ENTERPRISE;So;0;L; 4F01;;;;N;;;;; 32AE;CIRCLED IDEOGRAPH RESOURCE;So;0;L; 8CC7;;;;N;;;;; 32AF;CIRCLED IDEOGRAPH ALLIANCE;So;0;L; 5354;;;;N;;;;; 32B0;CIRCLED IDEOGRAPH NIGHT;So;0;L; 591C;;;;N;;;;; 32C0;IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY;So;0;L; 0031 6708;;;;N;;;;; 32C1;IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY;So;0;L; 0032 6708;;;;N;;;;; 32C2;IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH;So;0;L; 0033 6708;;;;N;;;;; 32C3;IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL;So;0;L; 0034 6708;;;;N;;;;; 32C4;IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY;So;0;L; 0035 6708;;;;N;;;;; 32C5;IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE;So;0;L; 0036 6708;;;;N;;;;; 32C6;IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY;So;0;L; 0037 6708;;;;N;;;;; 32C7;IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST;So;0;L; 0038 6708;;;;N;;;;; 32C8;IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER;So;0;L; 0039 6708;;;;N;;;;; 32C9;IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER;So;0;L; 0031 0030 6708;;;;N;;;;; 32CA;IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER;So;0;L; 0031 0031 6708;;;;N;;;;; 32CB;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER;So;0;L; 0031 0032 6708;;;;N;;;;; 32D0;CIRCLED KATAKANA A;So;0;L; 30A2;;;;N;;;;; 32D1;CIRCLED KATAKANA I;So;0;L; 30A4;;;;N;;;;; 32D2;CIRCLED KATAKANA U;So;0;L; 30A6;;;;N;;;;; 32D3;CIRCLED KATAKANA E;So;0;L; 30A8;;;;N;;;;; 32D4;CIRCLED KATAKANA O;So;0;L; 30AA;;;;N;;;;; 32D5;CIRCLED KATAKANA KA;So;0;L; 30AB;;;;N;;;;; 32D6;CIRCLED KATAKANA KI;So;0;L; 30AD;;;;N;;;;; 32D7;CIRCLED KATAKANA KU;So;0;L; 30AF;;;;N;;;;; 32D8;CIRCLED KATAKANA KE;So;0;L; 30B1;;;;N;;;;; 32D9;CIRCLED KATAKANA KO;So;0;L; 30B3;;;;N;;;;; 32DA;CIRCLED KATAKANA SA;So;0;L; 30B5;;;;N;;;;; 32DB;CIRCLED KATAKANA SI;So;0;L; 30B7;;;;N;;;;; 32DC;CIRCLED KATAKANA SU;So;0;L; 30B9;;;;N;;;;; 32DD;CIRCLED KATAKANA SE;So;0;L; 30BB;;;;N;;;;; 32DE;CIRCLED KATAKANA SO;So;0;L; 30BD;;;;N;;;;; 32DF;CIRCLED KATAKANA TA;So;0;L; 30BF;;;;N;;;;; 32E0;CIRCLED KATAKANA TI;So;0;L; 30C1;;;;N;;;;; 32E1;CIRCLED KATAKANA TU;So;0;L; 30C4;;;;N;;;;; 32E2;CIRCLED KATAKANA TE;So;0;L; 30C6;;;;N;;;;; 32E3;CIRCLED KATAKANA TO;So;0;L; 30C8;;;;N;;;;; 32E4;CIRCLED KATAKANA NA;So;0;L; 30CA;;;;N;;;;; 32E5;CIRCLED KATAKANA NI;So;0;L; 30CB;;;;N;;;;; 32E6;CIRCLED KATAKANA NU;So;0;L; 30CC;;;;N;;;;; 32E7;CIRCLED KATAKANA NE;So;0;L; 30CD;;;;N;;;;; 32E8;CIRCLED KATAKANA NO;So;0;L; 30CE;;;;N;;;;; 32E9;CIRCLED KATAKANA HA;So;0;L; 30CF;;;;N;;;;; 32EA;CIRCLED KATAKANA HI;So;0;L; 30D2;;;;N;;;;; 32EB;CIRCLED KATAKANA HU;So;0;L; 30D5;;;;N;;;;; 32EC;CIRCLED KATAKANA HE;So;0;L; 30D8;;;;N;;;;; 32ED;CIRCLED KATAKANA HO;So;0;L; 30DB;;;;N;;;;; 32EE;CIRCLED KATAKANA MA;So;0;L; 30DE;;;;N;;;;; 32EF;CIRCLED KATAKANA MI;So;0;L; 30DF;;;;N;;;;; 32F0;CIRCLED KATAKANA MU;So;0;L; 30E0;;;;N;;;;; 32F1;CIRCLED KATAKANA ME;So;0;L; 30E1;;;;N;;;;; 32F2;CIRCLED KATAKANA MO;So;0;L; 30E2;;;;N;;;;; 32F3;CIRCLED KATAKANA YA;So;0;L; 30E4;;;;N;;;;; 32F4;CIRCLED KATAKANA YU;So;0;L; 30E6;;;;N;;;;; 32F5;CIRCLED KATAKANA YO;So;0;L; 30E8;;;;N;;;;; 32F6;CIRCLED KATAKANA RA;So;0;L; 30E9;;;;N;;;;; 32F7;CIRCLED KATAKANA RI;So;0;L; 30EA;;;;N;;;;; 32F8;CIRCLED KATAKANA RU;So;0;L; 30EB;;;;N;;;;; 32F9;CIRCLED KATAKANA RE;So;0;L; 30EC;;;;N;;;;; 32FA;CIRCLED KATAKANA RO;So;0;L; 30ED;;;;N;;;;; 32FB;CIRCLED KATAKANA WA;So;0;L; 30EF;;;;N;;;;; 32FC;CIRCLED KATAKANA WI;So;0;L; 30F0;;;;N;;;;; 32FD;CIRCLED KATAKANA WE;So;0;L; 30F1;;;;N;;;;; 32FE;CIRCLED KATAKANA WO;So;0;L; 30F2;;;;N;;;;; 3300;SQUARE APAATO;So;0;L; 30A2 30D1 30FC 30C8;;;;N;SQUARED APAATO;;;; 3301;SQUARE ARUHUA;So;0;L; 30A2 30EB 30D5 30A1;;;;N;SQUARED ARUHUA;;;; 3302;SQUARE ANPEA;So;0;L; 30A2 30F3 30DA 30A2;;;;N;SQUARED ANPEA;;;; 3303;SQUARE AARU;So;0;L; 30A2 30FC 30EB;;;;N;SQUARED AARU;;;; 3304;SQUARE ININGU;So;0;L; 30A4 30CB 30F3 30B0;;;;N;SQUARED ININGU;;;; 3305;SQUARE INTI;So;0;L; 30A4 30F3 30C1;;;;N;SQUARED INTI;;;; 3306;SQUARE UON;So;0;L; 30A6 30A9 30F3;;;;N;SQUARED UON;;;; 3307;SQUARE ESUKUUDO;So;0;L; 30A8 30B9 30AF 30FC 30C9;;;;N;SQUARED ESUKUUDO;;;; 3308;SQUARE EEKAA;So;0;L; 30A8 30FC 30AB 30FC;;;;N;SQUARED EEKAA;;;; 3309;SQUARE ONSU;So;0;L; 30AA 30F3 30B9;;;;N;SQUARED ONSU;;;; 330A;SQUARE OOMU;So;0;L; 30AA 30FC 30E0;;;;N;SQUARED OOMU;;;; 330B;SQUARE KAIRI;So;0;L; 30AB 30A4 30EA;;;;N;SQUARED KAIRI;;;; 330C;SQUARE KARATTO;So;0;L; 30AB 30E9 30C3 30C8;;;;N;SQUARED KARATTO;;;; 330D;SQUARE KARORII;So;0;L; 30AB 30ED 30EA 30FC;;;;N;SQUARED KARORII;;;; 330E;SQUARE GARON;So;0;L; 30AC 30ED 30F3;;;;N;SQUARED GARON;;;; 330F;SQUARE GANMA;So;0;L; 30AC 30F3 30DE;;;;N;SQUARED GANMA;;;; 3310;SQUARE GIGA;So;0;L; 30AE 30AC;;;;N;SQUARED GIGA;;;; 3311;SQUARE GINII;So;0;L; 30AE 30CB 30FC;;;;N;SQUARED GINII;;;; 3312;SQUARE KYURII;So;0;L; 30AD 30E5 30EA 30FC;;;;N;SQUARED KYURII;;;; 3313;SQUARE GIRUDAA;So;0;L; 30AE 30EB 30C0 30FC;;;;N;SQUARED GIRUDAA;;;; 3314;SQUARE KIRO;So;0;L; 30AD 30ED;;;;N;SQUARED KIRO;;;; 3315;SQUARE KIROGURAMU;So;0;L; 30AD 30ED 30B0 30E9 30E0;;;;N;SQUARED KIROGURAMU;;;; 3316;SQUARE KIROMEETORU;So;0;L; 30AD 30ED 30E1 30FC 30C8 30EB;;;;N;SQUARED KIROMEETORU;;;; 3317;SQUARE KIROWATTO;So;0;L; 30AD 30ED 30EF 30C3 30C8;;;;N;SQUARED KIROWATTO;;;; 3318;SQUARE GURAMU;So;0;L; 30B0 30E9 30E0;;;;N;SQUARED GURAMU;;;; 3319;SQUARE GURAMUTON;So;0;L; 30B0 30E9 30E0 30C8 30F3;;;;N;SQUARED GURAMUTON;;;; 331A;SQUARE KURUZEIRO;So;0;L; 30AF 30EB 30BC 30A4 30ED;;;;N;SQUARED KURUZEIRO;;;; 331B;SQUARE KUROONE;So;0;L; 30AF 30ED 30FC 30CD;;;;N;SQUARED KUROONE;;;; 331C;SQUARE KEESU;So;0;L; 30B1 30FC 30B9;;;;N;SQUARED KEESU;;;; 331D;SQUARE KORUNA;So;0;L; 30B3 30EB 30CA;;;;N;SQUARED KORUNA;;;; 331E;SQUARE KOOPO;So;0;L; 30B3 30FC 30DD;;;;N;SQUARED KOOPO;;;; 331F;SQUARE SAIKURU;So;0;L; 30B5 30A4 30AF 30EB;;;;N;SQUARED SAIKURU;;;; 3320;SQUARE SANTIIMU;So;0;L; 30B5 30F3 30C1 30FC 30E0;;;;N;SQUARED SANTIIMU;;;; 3321;SQUARE SIRINGU;So;0;L; 30B7 30EA 30F3 30B0;;;;N;SQUARED SIRINGU;;;; 3322;SQUARE SENTI;So;0;L; 30BB 30F3 30C1;;;;N;SQUARED SENTI;;;; 3323;SQUARE SENTO;So;0;L; 30BB 30F3 30C8;;;;N;SQUARED SENTO;;;; 3324;SQUARE DAASU;So;0;L; 30C0 30FC 30B9;;;;N;SQUARED DAASU;;;; 3325;SQUARE DESI;So;0;L; 30C7 30B7;;;;N;SQUARED DESI;;;; 3326;SQUARE DORU;So;0;L; 30C9 30EB;;;;N;SQUARED DORU;;;; 3327;SQUARE TON;So;0;L; 30C8 30F3;;;;N;SQUARED TON;;;; 3328;SQUARE NANO;So;0;L; 30CA 30CE;;;;N;SQUARED NANO;;;; 3329;SQUARE NOTTO;So;0;L; 30CE 30C3 30C8;;;;N;SQUARED NOTTO;;;; 332A;SQUARE HAITU;So;0;L; 30CF 30A4 30C4;;;;N;SQUARED HAITU;;;; 332B;SQUARE PAASENTO;So;0;L; 30D1 30FC 30BB 30F3 30C8;;;;N;SQUARED PAASENTO;;;; 332C;SQUARE PAATU;So;0;L; 30D1 30FC 30C4;;;;N;SQUARED PAATU;;;; 332D;SQUARE BAARERU;So;0;L; 30D0 30FC 30EC 30EB;;;;N;SQUARED BAARERU;;;; 332E;SQUARE PIASUTORU;So;0;L; 30D4 30A2 30B9 30C8 30EB;;;;N;SQUARED PIASUTORU;;;; 332F;SQUARE PIKURU;So;0;L; 30D4 30AF 30EB;;;;N;SQUARED PIKURU;;;; 3330;SQUARE PIKO;So;0;L; 30D4 30B3;;;;N;SQUARED PIKO;;;; 3331;SQUARE BIRU;So;0;L; 30D3 30EB;;;;N;SQUARED BIRU;;;; 3332;SQUARE HUARADDO;So;0;L; 30D5 30A1 30E9 30C3 30C9;;;;N;SQUARED HUARADDO;;;; 3333;SQUARE HUIITO;So;0;L; 30D5 30A3 30FC 30C8;;;;N;SQUARED HUIITO;;;; 3334;SQUARE BUSSYERU;So;0;L; 30D6 30C3 30B7 30A7 30EB;;;;N;SQUARED BUSSYERU;;;; 3335;SQUARE HURAN;So;0;L; 30D5 30E9 30F3;;;;N;SQUARED HURAN;;;; 3336;SQUARE HEKUTAARU;So;0;L; 30D8 30AF 30BF 30FC 30EB;;;;N;SQUARED HEKUTAARU;;;; 3337;SQUARE PESO;So;0;L; 30DA 30BD;;;;N;SQUARED PESO;;;; 3338;SQUARE PENIHI;So;0;L; 30DA 30CB 30D2;;;;N;SQUARED PENIHI;;;; 3339;SQUARE HERUTU;So;0;L; 30D8 30EB 30C4;;;;N;SQUARED HERUTU;;;; 333A;SQUARE PENSU;So;0;L; 30DA 30F3 30B9;;;;N;SQUARED PENSU;;;; 333B;SQUARE PEEZI;So;0;L; 30DA 30FC 30B8;;;;N;SQUARED PEEZI;;;; 333C;SQUARE BEETA;So;0;L; 30D9 30FC 30BF;;;;N;SQUARED BEETA;;;; 333D;SQUARE POINTO;So;0;L; 30DD 30A4 30F3 30C8;;;;N;SQUARED POINTO;;;; 333E;SQUARE BORUTO;So;0;L; 30DC 30EB 30C8;;;;N;SQUARED BORUTO;;;; 333F;SQUARE HON;So;0;L; 30DB 30F3;;;;N;SQUARED HON;;;; 3340;SQUARE PONDO;So;0;L; 30DD 30F3 30C9;;;;N;SQUARED PONDO;;;; 3341;SQUARE HOORU;So;0;L; 30DB 30FC 30EB;;;;N;SQUARED HOORU;;;; 3342;SQUARE HOON;So;0;L; 30DB 30FC 30F3;;;;N;SQUARED HOON;;;; 3343;SQUARE MAIKURO;So;0;L; 30DE 30A4 30AF 30ED;;;;N;SQUARED MAIKURO;;;; 3344;SQUARE MAIRU;So;0;L; 30DE 30A4 30EB;;;;N;SQUARED MAIRU;;;; 3345;SQUARE MAHHA;So;0;L; 30DE 30C3 30CF;;;;N;SQUARED MAHHA;;;; 3346;SQUARE MARUKU;So;0;L; 30DE 30EB 30AF;;;;N;SQUARED MARUKU;;;; 3347;SQUARE MANSYON;So;0;L; 30DE 30F3 30B7 30E7 30F3;;;;N;SQUARED MANSYON;;;; 3348;SQUARE MIKURON;So;0;L; 30DF 30AF 30ED 30F3;;;;N;SQUARED MIKURON;;;; 3349;SQUARE MIRI;So;0;L; 30DF 30EA;;;;N;SQUARED MIRI;;;; 334A;SQUARE MIRIBAARU;So;0;L; 30DF 30EA 30D0 30FC 30EB;;;;N;SQUARED MIRIBAARU;;;; 334B;SQUARE MEGA;So;0;L; 30E1 30AC;;;;N;SQUARED MEGA;;;; 334C;SQUARE MEGATON;So;0;L; 30E1 30AC 30C8 30F3;;;;N;SQUARED MEGATON;;;; 334D;SQUARE MEETORU;So;0;L; 30E1 30FC 30C8 30EB;;;;N;SQUARED MEETORU;;;; 334E;SQUARE YAADO;So;0;L; 30E4 30FC 30C9;;;;N;SQUARED YAADO;;;; 334F;SQUARE YAARU;So;0;L; 30E4 30FC 30EB;;;;N;SQUARED YAARU;;;; 3350;SQUARE YUAN;So;0;L; 30E6 30A2 30F3;;;;N;SQUARED YUAN;;;; 3351;SQUARE RITTORU;So;0;L; 30EA 30C3 30C8 30EB;;;;N;SQUARED RITTORU;;;; 3352;SQUARE RIRA;So;0;L; 30EA 30E9;;;;N;SQUARED RIRA;;;; 3353;SQUARE RUPII;So;0;L; 30EB 30D4 30FC;;;;N;SQUARED RUPII;;;; 3354;SQUARE RUUBURU;So;0;L; 30EB 30FC 30D6 30EB;;;;N;SQUARED RUUBURU;;;; 3355;SQUARE REMU;So;0;L; 30EC 30E0;;;;N;SQUARED REMU;;;; 3356;SQUARE RENTOGEN;So;0;L; 30EC 30F3 30C8 30B2 30F3;;;;N;SQUARED RENTOGEN;;;; 3357;SQUARE WATTO;So;0;L; 30EF 30C3 30C8;;;;N;SQUARED WATTO;;;; 3358;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO;So;0;L; 0030 70B9;;;;N;;;;; 3359;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE;So;0;L; 0031 70B9;;;;N;;;;; 335A;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO;So;0;L; 0032 70B9;;;;N;;;;; 335B;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE;So;0;L; 0033 70B9;;;;N;;;;; 335C;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR;So;0;L; 0034 70B9;;;;N;;;;; 335D;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE;So;0;L; 0035 70B9;;;;N;;;;; 335E;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX;So;0;L; 0036 70B9;;;;N;;;;; 335F;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN;So;0;L; 0037 70B9;;;;N;;;;; 3360;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT;So;0;L; 0038 70B9;;;;N;;;;; 3361;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE;So;0;L; 0039 70B9;;;;N;;;;; 3362;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN;So;0;L; 0031 0030 70B9;;;;N;;;;; 3363;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN;So;0;L; 0031 0031 70B9;;;;N;;;;; 3364;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE;So;0;L; 0031 0032 70B9;;;;N;;;;; 3365;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN;So;0;L; 0031 0033 70B9;;;;N;;;;; 3366;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN;So;0;L; 0031 0034 70B9;;;;N;;;;; 3367;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN;So;0;L; 0031 0035 70B9;;;;N;;;;; 3368;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN;So;0;L; 0031 0036 70B9;;;;N;;;;; 3369;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN;So;0;L; 0031 0037 70B9;;;;N;;;;; 336A;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN;So;0;L; 0031 0038 70B9;;;;N;;;;; 336B;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN;So;0;L; 0031 0039 70B9;;;;N;;;;; 336C;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY;So;0;L; 0032 0030 70B9;;;;N;;;;; 336D;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE;So;0;L; 0032 0031 70B9;;;;N;;;;; 336E;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO;So;0;L; 0032 0032 70B9;;;;N;;;;; 336F;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE;So;0;L; 0032 0033 70B9;;;;N;;;;; 3370;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR;So;0;L; 0032 0034 70B9;;;;N;;;;; 3371;SQUARE HPA;So;0;L; 0068 0050 0061;;;;N;;;;; 3372;SQUARE DA;So;0;L; 0064 0061;;;;N;;;;; 3373;SQUARE AU;So;0;L; 0041 0055;;;;N;;;;; 3374;SQUARE BAR;So;0;L; 0062 0061 0072;;;;N;;;;; 3375;SQUARE OV;So;0;L; 006F 0056;;;;N;;;;; 3376;SQUARE PC;So;0;L; 0070 0063;;;;N;;;;; 337B;SQUARE ERA NAME HEISEI;So;0;L; 5E73 6210;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME HEISEI;;;; 337C;SQUARE ERA NAME SYOUWA;So;0;L; 662D 548C;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME SYOUWA;;;; 337D;SQUARE ERA NAME TAISYOU;So;0;L; 5927 6B63;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME TAISYOU;;;; 337E;SQUARE ERA NAME MEIZI;So;0;L; 660E 6CBB;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME MEIZI;;;; 337F;SQUARE CORPORATION;So;0;L; 682A 5F0F 4F1A 793E;;;;N;SQUARED FOUR IDEOGRAPHS CORPORATION;;;; 3380;SQUARE PA AMPS;So;0;L; 0070 0041;;;;N;SQUARED PA AMPS;;;; 3381;SQUARE NA;So;0;L; 006E 0041;;;;N;SQUARED NA;;;; 3382;SQUARE MU A;So;0;L; 03BC 0041;;;;N;SQUARED MU A;;;; 3383;SQUARE MA;So;0;L; 006D 0041;;;;N;SQUARED MA;;;; 3384;SQUARE KA;So;0;L; 006B 0041;;;;N;SQUARED KA;;;; 3385;SQUARE KB;So;0;L; 004B 0042;;;;N;SQUARED KB;;;; 3386;SQUARE MB;So;0;L; 004D 0042;;;;N;SQUARED MB;;;; 3387;SQUARE GB;So;0;L; 0047 0042;;;;N;SQUARED GB;;;; 3388;SQUARE CAL;So;0;L; 0063 0061 006C;;;;N;SQUARED CAL;;;; 3389;SQUARE KCAL;So;0;L; 006B 0063 0061 006C;;;;N;SQUARED KCAL;;;; 338A;SQUARE PF;So;0;L; 0070 0046;;;;N;SQUARED PF;;;; 338B;SQUARE NF;So;0;L; 006E 0046;;;;N;SQUARED NF;;;; 338C;SQUARE MU F;So;0;L; 03BC 0046;;;;N;SQUARED MU F;;;; 338D;SQUARE MU G;So;0;L; 03BC 0067;;;;N;SQUARED MU G;;;; 338E;SQUARE MG;So;0;L; 006D 0067;;;;N;SQUARED MG;;;; 338F;SQUARE KG;So;0;L; 006B 0067;;;;N;SQUARED KG;;;; 3390;SQUARE HZ;So;0;L; 0048 007A;;;;N;SQUARED HZ;;;; 3391;SQUARE KHZ;So;0;L; 006B 0048 007A;;;;N;SQUARED KHZ;;;; 3392;SQUARE MHZ;So;0;L; 004D 0048 007A;;;;N;SQUARED MHZ;;;; 3393;SQUARE GHZ;So;0;L; 0047 0048 007A;;;;N;SQUARED GHZ;;;; 3394;SQUARE THZ;So;0;L; 0054 0048 007A;;;;N;SQUARED THZ;;;; 3395;SQUARE MU L;So;0;L; 03BC 2113;;;;N;SQUARED MU L;;;; 3396;SQUARE ML;So;0;L; 006D 2113;;;;N;SQUARED ML;;;; 3397;SQUARE DL;So;0;L; 0064 2113;;;;N;SQUARED DL;;;; 3398;SQUARE KL;So;0;L; 006B 2113;;;;N;SQUARED KL;;;; 3399;SQUARE FM;So;0;L; 0066 006D;;;;N;SQUARED FM;;;; 339A;SQUARE NM;So;0;L; 006E 006D;;;;N;SQUARED NM;;;; 339B;SQUARE MU M;So;0;L; 03BC 006D;;;;N;SQUARED MU M;;;; 339C;SQUARE MM;So;0;L; 006D 006D;;;;N;SQUARED MM;;;; 339D;SQUARE CM;So;0;L; 0063 006D;;;;N;SQUARED CM;;;; 339E;SQUARE KM;So;0;L; 006B 006D;;;;N;SQUARED KM;;;; 339F;SQUARE MM SQUARED;So;0;L; 006D 006D 00B2;;;;N;SQUARED MM SQUARED;;;; 33A0;SQUARE CM SQUARED;So;0;L; 0063 006D 00B2;;;;N;SQUARED CM SQUARED;;;; 33A1;SQUARE M SQUARED;So;0;L; 006D 00B2;;;;N;SQUARED M SQUARED;;;; 33A2;SQUARE KM SQUARED;So;0;L; 006B 006D 00B2;;;;N;SQUARED KM SQUARED;;;; 33A3;SQUARE MM CUBED;So;0;L; 006D 006D 00B3;;;;N;SQUARED MM CUBED;;;; 33A4;SQUARE CM CUBED;So;0;L; 0063 006D 00B3;;;;N;SQUARED CM CUBED;;;; 33A5;SQUARE M CUBED;So;0;L; 006D 00B3;;;;N;SQUARED M CUBED;;;; 33A6;SQUARE KM CUBED;So;0;L; 006B 006D 00B3;;;;N;SQUARED KM CUBED;;;; 33A7;SQUARE M OVER S;So;0;L; 006D 2215 0073;;;;N;SQUARED M OVER S;;;; 33A8;SQUARE M OVER S SQUARED;So;0;L; 006D 2215 0073 00B2;;;;N;SQUARED M OVER S SQUARED;;;; 33A9;SQUARE PA;So;0;L; 0050 0061;;;;N;SQUARED PA;;;; 33AA;SQUARE KPA;So;0;L; 006B 0050 0061;;;;N;SQUARED KPA;;;; 33AB;SQUARE MPA;So;0;L; 004D 0050 0061;;;;N;SQUARED MPA;;;; 33AC;SQUARE GPA;So;0;L; 0047 0050 0061;;;;N;SQUARED GPA;;;; 33AD;SQUARE RAD;So;0;L; 0072 0061 0064;;;;N;SQUARED RAD;;;; 33AE;SQUARE RAD OVER S;So;0;L; 0072 0061 0064 2215 0073;;;;N;SQUARED RAD OVER S;;;; 33AF;SQUARE RAD OVER S SQUARED;So;0;L; 0072 0061 0064 2215 0073 00B2;;;;N;SQUARED RAD OVER S SQUARED;;;; 33B0;SQUARE PS;So;0;L; 0070 0073;;;;N;SQUARED PS;;;; 33B1;SQUARE NS;So;0;L; 006E 0073;;;;N;SQUARED NS;;;; 33B2;SQUARE MU S;So;0;L; 03BC 0073;;;;N;SQUARED MU S;;;; 33B3;SQUARE MS;So;0;L; 006D 0073;;;;N;SQUARED MS;;;; 33B4;SQUARE PV;So;0;L; 0070 0056;;;;N;SQUARED PV;;;; 33B5;SQUARE NV;So;0;L; 006E 0056;;;;N;SQUARED NV;;;; 33B6;SQUARE MU V;So;0;L; 03BC 0056;;;;N;SQUARED MU V;;;; 33B7;SQUARE MV;So;0;L; 006D 0056;;;;N;SQUARED MV;;;; 33B8;SQUARE KV;So;0;L; 006B 0056;;;;N;SQUARED KV;;;; 33B9;SQUARE MV MEGA;So;0;L; 004D 0056;;;;N;SQUARED MV MEGA;;;; 33BA;SQUARE PW;So;0;L; 0070 0057;;;;N;SQUARED PW;;;; 33BB;SQUARE NW;So;0;L; 006E 0057;;;;N;SQUARED NW;;;; 33BC;SQUARE MU W;So;0;L; 03BC 0057;;;;N;SQUARED MU W;;;; 33BD;SQUARE MW;So;0;L; 006D 0057;;;;N;SQUARED MW;;;; 33BE;SQUARE KW;So;0;L; 006B 0057;;;;N;SQUARED KW;;;; 33BF;SQUARE MW MEGA;So;0;L; 004D 0057;;;;N;SQUARED MW MEGA;;;; 33C0;SQUARE K OHM;So;0;L; 006B 03A9;;;;N;SQUARED K OHM;;;; 33C1;SQUARE M OHM;So;0;L; 004D 03A9;;;;N;SQUARED M OHM;;;; 33C2;SQUARE AM;So;0;L; 0061 002E 006D 002E;;;;N;SQUARED AM;;;; 33C3;SQUARE BQ;So;0;L; 0042 0071;;;;N;SQUARED BQ;;;; 33C4;SQUARE CC;So;0;L; 0063 0063;;;;N;SQUARED CC;;;; 33C5;SQUARE CD;So;0;L; 0063 0064;;;;N;SQUARED CD;;;; 33C6;SQUARE C OVER KG;So;0;L; 0043 2215 006B 0067;;;;N;SQUARED C OVER KG;;;; 33C7;SQUARE CO;So;0;L; 0043 006F 002E;;;;N;SQUARED CO;;;; 33C8;SQUARE DB;So;0;L; 0064 0042;;;;N;SQUARED DB;;;; 33C9;SQUARE GY;So;0;L; 0047 0079;;;;N;SQUARED GY;;;; 33CA;SQUARE HA;So;0;L; 0068 0061;;;;N;SQUARED HA;;;; 33CB;SQUARE HP;So;0;L; 0048 0050;;;;N;SQUARED HP;;;; 33CC;SQUARE IN;So;0;L; 0069 006E;;;;N;SQUARED IN;;;; 33CD;SQUARE KK;So;0;L; 004B 004B;;;;N;SQUARED KK;;;; 33CE;SQUARE KM CAPITAL;So;0;L; 004B 004D;;;;N;SQUARED KM CAPITAL;;;; 33CF;SQUARE KT;So;0;L; 006B 0074;;;;N;SQUARED KT;;;; 33D0;SQUARE LM;So;0;L; 006C 006D;;;;N;SQUARED LM;;;; 33D1;SQUARE LN;So;0;L; 006C 006E;;;;N;SQUARED LN;;;; 33D2;SQUARE LOG;So;0;L; 006C 006F 0067;;;;N;SQUARED LOG;;;; 33D3;SQUARE LX;So;0;L; 006C 0078;;;;N;SQUARED LX;;;; 33D4;SQUARE MB SMALL;So;0;L; 006D 0062;;;;N;SQUARED MB SMALL;;;; 33D5;SQUARE MIL;So;0;L; 006D 0069 006C;;;;N;SQUARED MIL;;;; 33D6;SQUARE MOL;So;0;L; 006D 006F 006C;;;;N;SQUARED MOL;;;; 33D7;SQUARE PH;So;0;L; 0050 0048;;;;N;SQUARED PH;;;; 33D8;SQUARE PM;So;0;L; 0070 002E 006D 002E;;;;N;SQUARED PM;;;; 33D9;SQUARE PPM;So;0;L; 0050 0050 004D;;;;N;SQUARED PPM;;;; 33DA;SQUARE PR;So;0;L; 0050 0052;;;;N;SQUARED PR;;;; 33DB;SQUARE SR;So;0;L; 0073 0072;;;;N;SQUARED SR;;;; 33DC;SQUARE SV;So;0;L; 0053 0076;;;;N;SQUARED SV;;;; 33DD;SQUARE WB;So;0;L; 0057 0062;;;;N;SQUARED WB;;;; 33E0;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE;So;0;L; 0031 65E5;;;;N;;;;; 33E1;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO;So;0;L; 0032 65E5;;;;N;;;;; 33E2;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE;So;0;L; 0033 65E5;;;;N;;;;; 33E3;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR;So;0;L; 0034 65E5;;;;N;;;;; 33E4;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE;So;0;L; 0035 65E5;;;;N;;;;; 33E5;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX;So;0;L; 0036 65E5;;;;N;;;;; 33E6;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN;So;0;L; 0037 65E5;;;;N;;;;; 33E7;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT;So;0;L; 0038 65E5;;;;N;;;;; 33E8;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE;So;0;L; 0039 65E5;;;;N;;;;; 33E9;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN;So;0;L; 0031 0030 65E5;;;;N;;;;; 33EA;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN;So;0;L; 0031 0031 65E5;;;;N;;;;; 33EB;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE;So;0;L; 0031 0032 65E5;;;;N;;;;; 33EC;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN;So;0;L; 0031 0033 65E5;;;;N;;;;; 33ED;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN;So;0;L; 0031 0034 65E5;;;;N;;;;; 33EE;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN;So;0;L; 0031 0035 65E5;;;;N;;;;; 33EF;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN;So;0;L; 0031 0036 65E5;;;;N;;;;; 33F0;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN;So;0;L; 0031 0037 65E5;;;;N;;;;; 33F1;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN;So;0;L; 0031 0038 65E5;;;;N;;;;; 33F2;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN;So;0;L; 0031 0039 65E5;;;;N;;;;; 33F3;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY;So;0;L; 0032 0030 65E5;;;;N;;;;; 33F4;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE;So;0;L; 0032 0031 65E5;;;;N;;;;; 33F5;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO;So;0;L; 0032 0032 65E5;;;;N;;;;; 33F6;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE;So;0;L; 0032 0033 65E5;;;;N;;;;; 33F7;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR;So;0;L; 0032 0034 65E5;;;;N;;;;; 33F8;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE;So;0;L; 0032 0035 65E5;;;;N;;;;; 33F9;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX;So;0;L; 0032 0036 65E5;;;;N;;;;; 33FA;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN;So;0;L; 0032 0037 65E5;;;;N;;;;; 33FB;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT;So;0;L; 0032 0038 65E5;;;;N;;;;; 33FC;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE;So;0;L; 0032 0039 65E5;;;;N;;;;; 33FD;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY;So;0;L; 0033 0030 65E5;;;;N;;;;; 33FE;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE;So;0;L; 0033 0031 65E5;;;;N;;;;; 4E00;;Lo;0;L;;;;;N;;;;; 9FA5;;Lo;0;L;;;;;N;;;;; AC00;;Lo;0;L;;;;;N;;;;; D7A3;;Lo;0;L;;;;;N;;;;; D800;;Cs;0;L;;;;;N;;;;; DB7F;;Cs;0;L;;;;;N;;;;; DB80;;Cs;0;L;;;;;N;;;;; DBFF;;Cs;0;L;;;;;N;;;;; DC00;;Cs;0;L;;;;;N;;;;; DFFF;;Cs;0;L;;;;;N;;;;; E000;;Co;0;L;;;;;N;;;;; F8FF;;Co;0;L;;;;;N;;;;; F900;CJK COMPATIBILITY IDEOGRAPH-F900;Lo;0;L;8C48;;;;N;;;;; F901;CJK COMPATIBILITY IDEOGRAPH-F901;Lo;0;L;66F4;;;;N;;;;; F902;CJK COMPATIBILITY IDEOGRAPH-F902;Lo;0;L;8ECA;;;;N;;;;; F903;CJK COMPATIBILITY IDEOGRAPH-F903;Lo;0;L;8CC8;;;;N;;;;; F904;CJK COMPATIBILITY IDEOGRAPH-F904;Lo;0;L;6ED1;;;;N;;;;; F905;CJK COMPATIBILITY IDEOGRAPH-F905;Lo;0;L;4E32;;;;N;;;;; F906;CJK COMPATIBILITY IDEOGRAPH-F906;Lo;0;L;53E5;;;;N;;;;; F907;CJK COMPATIBILITY IDEOGRAPH-F907;Lo;0;L;9F9C;;;;N;;;;; F908;CJK COMPATIBILITY IDEOGRAPH-F908;Lo;0;L;9F9C;;;;N;;;;; F909;CJK COMPATIBILITY IDEOGRAPH-F909;Lo;0;L;5951;;;;N;;;;; F90A;CJK COMPATIBILITY IDEOGRAPH-F90A;Lo;0;L;91D1;;;;N;;;;; F90B;CJK COMPATIBILITY IDEOGRAPH-F90B;Lo;0;L;5587;;;;N;;;;; F90C;CJK COMPATIBILITY IDEOGRAPH-F90C;Lo;0;L;5948;;;;N;;;;; F90D;CJK COMPATIBILITY IDEOGRAPH-F90D;Lo;0;L;61F6;;;;N;;;;; F90E;CJK COMPATIBILITY IDEOGRAPH-F90E;Lo;0;L;7669;;;;N;;;;; F90F;CJK COMPATIBILITY IDEOGRAPH-F90F;Lo;0;L;7F85;;;;N;;;;; F910;CJK COMPATIBILITY IDEOGRAPH-F910;Lo;0;L;863F;;;;N;;;;; F911;CJK COMPATIBILITY IDEOGRAPH-F911;Lo;0;L;87BA;;;;N;;;;; F912;CJK COMPATIBILITY IDEOGRAPH-F912;Lo;0;L;88F8;;;;N;;;;; F913;CJK COMPATIBILITY IDEOGRAPH-F913;Lo;0;L;908F;;;;N;;;;; F914;CJK COMPATIBILITY IDEOGRAPH-F914;Lo;0;L;6A02;;;;N;;;;; F915;CJK COMPATIBILITY IDEOGRAPH-F915;Lo;0;L;6D1B;;;;N;;;;; F916;CJK COMPATIBILITY IDEOGRAPH-F916;Lo;0;L;70D9;;;;N;;;;; F917;CJK COMPATIBILITY IDEOGRAPH-F917;Lo;0;L;73DE;;;;N;;;;; F918;CJK COMPATIBILITY IDEOGRAPH-F918;Lo;0;L;843D;;;;N;;;;; F919;CJK COMPATIBILITY IDEOGRAPH-F919;Lo;0;L;916A;;;;N;;;;; F91A;CJK COMPATIBILITY IDEOGRAPH-F91A;Lo;0;L;99F1;;;;N;;;;; F91B;CJK COMPATIBILITY IDEOGRAPH-F91B;Lo;0;L;4E82;;;;N;;;;; F91C;CJK COMPATIBILITY IDEOGRAPH-F91C;Lo;0;L;5375;;;;N;;;;; F91D;CJK COMPATIBILITY IDEOGRAPH-F91D;Lo;0;L;6B04;;;;N;;;;; F91E;CJK COMPATIBILITY IDEOGRAPH-F91E;Lo;0;L;721B;;;;N;;;;; F91F;CJK COMPATIBILITY IDEOGRAPH-F91F;Lo;0;L;862D;;;;N;;;;; F920;CJK COMPATIBILITY IDEOGRAPH-F920;Lo;0;L;9E1E;;;;N;;;;; F921;CJK COMPATIBILITY IDEOGRAPH-F921;Lo;0;L;5D50;;;;N;;;;; F922;CJK COMPATIBILITY IDEOGRAPH-F922;Lo;0;L;6FEB;;;;N;;;;; F923;CJK COMPATIBILITY IDEOGRAPH-F923;Lo;0;L;85CD;;;;N;;;;; F924;CJK COMPATIBILITY IDEOGRAPH-F924;Lo;0;L;8964;;;;N;;;;; F925;CJK COMPATIBILITY IDEOGRAPH-F925;Lo;0;L;62C9;;;;N;;;;; F926;CJK COMPATIBILITY IDEOGRAPH-F926;Lo;0;L;81D8;;;;N;;;;; F927;CJK COMPATIBILITY IDEOGRAPH-F927;Lo;0;L;881F;;;;N;;;;; F928;CJK COMPATIBILITY IDEOGRAPH-F928;Lo;0;L;5ECA;;;;N;;;;; F929;CJK COMPATIBILITY IDEOGRAPH-F929;Lo;0;L;6717;;;;N;;;;; F92A;CJK COMPATIBILITY IDEOGRAPH-F92A;Lo;0;L;6D6A;;;;N;;;;; F92B;CJK COMPATIBILITY IDEOGRAPH-F92B;Lo;0;L;72FC;;;;N;;;;; F92C;CJK COMPATIBILITY IDEOGRAPH-F92C;Lo;0;L;90CE;;;;N;;;;; F92D;CJK COMPATIBILITY IDEOGRAPH-F92D;Lo;0;L;4F86;;;;N;;;;; F92E;CJK COMPATIBILITY IDEOGRAPH-F92E;Lo;0;L;51B7;;;;N;;;;; F92F;CJK COMPATIBILITY IDEOGRAPH-F92F;Lo;0;L;52DE;;;;N;;;;; F930;CJK COMPATIBILITY IDEOGRAPH-F930;Lo;0;L;64C4;;;;N;;;;; F931;CJK COMPATIBILITY IDEOGRAPH-F931;Lo;0;L;6AD3;;;;N;;;;; F932;CJK COMPATIBILITY IDEOGRAPH-F932;Lo;0;L;7210;;;;N;;;;; F933;CJK COMPATIBILITY IDEOGRAPH-F933;Lo;0;L;76E7;;;;N;;;;; F934;CJK COMPATIBILITY IDEOGRAPH-F934;Lo;0;L;8001;;;;N;;;;; F935;CJK COMPATIBILITY IDEOGRAPH-F935;Lo;0;L;8606;;;;N;;;;; F936;CJK COMPATIBILITY IDEOGRAPH-F936;Lo;0;L;865C;;;;N;;;;; F937;CJK COMPATIBILITY IDEOGRAPH-F937;Lo;0;L;8DEF;;;;N;;;;; F938;CJK COMPATIBILITY IDEOGRAPH-F938;Lo;0;L;9732;;;;N;;;;; F939;CJK COMPATIBILITY IDEOGRAPH-F939;Lo;0;L;9B6F;;;;N;;;;; F93A;CJK COMPATIBILITY IDEOGRAPH-F93A;Lo;0;L;9DFA;;;;N;;;;; F93B;CJK COMPATIBILITY IDEOGRAPH-F93B;Lo;0;L;788C;;;;N;;;;; F93C;CJK COMPATIBILITY IDEOGRAPH-F93C;Lo;0;L;797F;;;;N;;;;; F93D;CJK COMPATIBILITY IDEOGRAPH-F93D;Lo;0;L;7DA0;;;;N;;;;; F93E;CJK COMPATIBILITY IDEOGRAPH-F93E;Lo;0;L;83C9;;;;N;;;;; F93F;CJK COMPATIBILITY IDEOGRAPH-F93F;Lo;0;L;9304;;;;N;;;;; F940;CJK COMPATIBILITY IDEOGRAPH-F940;Lo;0;L;9E7F;;;;N;;;;; F941;CJK COMPATIBILITY IDEOGRAPH-F941;Lo;0;L;8AD6;;;;N;;;;; F942;CJK COMPATIBILITY IDEOGRAPH-F942;Lo;0;L;58DF;;;;N;;;;; F943;CJK COMPATIBILITY IDEOGRAPH-F943;Lo;0;L;5F04;;;;N;;;;; F944;CJK COMPATIBILITY IDEOGRAPH-F944;Lo;0;L;7C60;;;;N;;;;; F945;CJK COMPATIBILITY IDEOGRAPH-F945;Lo;0;L;807E;;;;N;;;;; F946;CJK COMPATIBILITY IDEOGRAPH-F946;Lo;0;L;7262;;;;N;;;;; F947;CJK COMPATIBILITY IDEOGRAPH-F947;Lo;0;L;78CA;;;;N;;;;; F948;CJK COMPATIBILITY IDEOGRAPH-F948;Lo;0;L;8CC2;;;;N;;;;; F949;CJK COMPATIBILITY IDEOGRAPH-F949;Lo;0;L;96F7;;;;N;;;;; F94A;CJK COMPATIBILITY IDEOGRAPH-F94A;Lo;0;L;58D8;;;;N;;;;; F94B;CJK COMPATIBILITY IDEOGRAPH-F94B;Lo;0;L;5C62;;;;N;;;;; F94C;CJK COMPATIBILITY IDEOGRAPH-F94C;Lo;0;L;6A13;;;;N;;;;; F94D;CJK COMPATIBILITY IDEOGRAPH-F94D;Lo;0;L;6DDA;;;;N;;;;; F94E;CJK COMPATIBILITY IDEOGRAPH-F94E;Lo;0;L;6F0F;;;;N;;;;; F94F;CJK COMPATIBILITY IDEOGRAPH-F94F;Lo;0;L;7D2F;;;;N;;;;; F950;CJK COMPATIBILITY IDEOGRAPH-F950;Lo;0;L;7E37;;;;N;;;;; F951;CJK COMPATIBILITY IDEOGRAPH-F951;Lo;0;L;96FB;;;;N;;;;; F952;CJK COMPATIBILITY IDEOGRAPH-F952;Lo;0;L;52D2;;;;N;;;;; F953;CJK COMPATIBILITY IDEOGRAPH-F953;Lo;0;L;808B;;;;N;;;;; F954;CJK COMPATIBILITY IDEOGRAPH-F954;Lo;0;L;51DC;;;;N;;;;; F955;CJK COMPATIBILITY IDEOGRAPH-F955;Lo;0;L;51CC;;;;N;;;;; F956;CJK COMPATIBILITY IDEOGRAPH-F956;Lo;0;L;7A1C;;;;N;;;;; F957;CJK COMPATIBILITY IDEOGRAPH-F957;Lo;0;L;7DBE;;;;N;;;;; F958;CJK COMPATIBILITY IDEOGRAPH-F958;Lo;0;L;83F1;;;;N;;;;; F959;CJK COMPATIBILITY IDEOGRAPH-F959;Lo;0;L;9675;;;;N;;;;; F95A;CJK COMPATIBILITY IDEOGRAPH-F95A;Lo;0;L;8B80;;;;N;;;;; F95B;CJK COMPATIBILITY IDEOGRAPH-F95B;Lo;0;L;62CF;;;;N;;;;; F95C;CJK COMPATIBILITY IDEOGRAPH-F95C;Lo;0;L;6A02;;;;N;;;;; F95D;CJK COMPATIBILITY IDEOGRAPH-F95D;Lo;0;L;8AFE;;;;N;;;;; F95E;CJK COMPATIBILITY IDEOGRAPH-F95E;Lo;0;L;4E39;;;;N;;;;; F95F;CJK COMPATIBILITY IDEOGRAPH-F95F;Lo;0;L;5BE7;;;;N;;;;; F960;CJK COMPATIBILITY IDEOGRAPH-F960;Lo;0;L;6012;;;;N;;;;; F961;CJK COMPATIBILITY IDEOGRAPH-F961;Lo;0;L;7387;;;;N;;;;; F962;CJK COMPATIBILITY IDEOGRAPH-F962;Lo;0;L;7570;;;;N;;;;; F963;CJK COMPATIBILITY IDEOGRAPH-F963;Lo;0;L;5317;;;;N;;;;; F964;CJK COMPATIBILITY IDEOGRAPH-F964;Lo;0;L;78FB;;;;N;;;;; F965;CJK COMPATIBILITY IDEOGRAPH-F965;Lo;0;L;4FBF;;;;N;;;;; F966;CJK COMPATIBILITY IDEOGRAPH-F966;Lo;0;L;5FA9;;;;N;;;;; F967;CJK COMPATIBILITY IDEOGRAPH-F967;Lo;0;L;4E0D;;;;N;;;;; F968;CJK COMPATIBILITY IDEOGRAPH-F968;Lo;0;L;6CCC;;;;N;;;;; F969;CJK COMPATIBILITY IDEOGRAPH-F969;Lo;0;L;6578;;;;N;;;;; F96A;CJK COMPATIBILITY IDEOGRAPH-F96A;Lo;0;L;7D22;;;;N;;;;; F96B;CJK COMPATIBILITY IDEOGRAPH-F96B;Lo;0;L;53C3;;;;N;;;;; F96C;CJK COMPATIBILITY IDEOGRAPH-F96C;Lo;0;L;585E;;;;N;;;;; F96D;CJK COMPATIBILITY IDEOGRAPH-F96D;Lo;0;L;7701;;;;N;;;;; F96E;CJK COMPATIBILITY IDEOGRAPH-F96E;Lo;0;L;8449;;;;N;;;;; F96F;CJK COMPATIBILITY IDEOGRAPH-F96F;Lo;0;L;8AAA;;;;N;;;;; F970;CJK COMPATIBILITY IDEOGRAPH-F970;Lo;0;L;6BBA;;;;N;;;;; F971;CJK COMPATIBILITY IDEOGRAPH-F971;Lo;0;L;8FB0;;;;N;;;;; F972;CJK COMPATIBILITY IDEOGRAPH-F972;Lo;0;L;6C88;;;;N;;;;; F973;CJK COMPATIBILITY IDEOGRAPH-F973;Lo;0;L;62FE;;;;N;;;;; F974;CJK COMPATIBILITY IDEOGRAPH-F974;Lo;0;L;82E5;;;;N;;;;; F975;CJK COMPATIBILITY IDEOGRAPH-F975;Lo;0;L;63A0;;;;N;;;;; F976;CJK COMPATIBILITY IDEOGRAPH-F976;Lo;0;L;7565;;;;N;;;;; F977;CJK COMPATIBILITY IDEOGRAPH-F977;Lo;0;L;4EAE;;;;N;;;;; F978;CJK COMPATIBILITY IDEOGRAPH-F978;Lo;0;L;5169;;;;N;;;;; F979;CJK COMPATIBILITY IDEOGRAPH-F979;Lo;0;L;51C9;;;;N;;;;; F97A;CJK COMPATIBILITY IDEOGRAPH-F97A;Lo;0;L;6881;;;;N;;;;; F97B;CJK COMPATIBILITY IDEOGRAPH-F97B;Lo;0;L;7CE7;;;;N;;;;; F97C;CJK COMPATIBILITY IDEOGRAPH-F97C;Lo;0;L;826F;;;;N;;;;; F97D;CJK COMPATIBILITY IDEOGRAPH-F97D;Lo;0;L;8AD2;;;;N;;;;; F97E;CJK COMPATIBILITY IDEOGRAPH-F97E;Lo;0;L;91CF;;;;N;;;;; F97F;CJK COMPATIBILITY IDEOGRAPH-F97F;Lo;0;L;52F5;;;;N;;;;; F980;CJK COMPATIBILITY IDEOGRAPH-F980;Lo;0;L;5442;;;;N;;;;; F981;CJK COMPATIBILITY IDEOGRAPH-F981;Lo;0;L;5973;;;;N;;;;; F982;CJK COMPATIBILITY IDEOGRAPH-F982;Lo;0;L;5EEC;;;;N;;;;; F983;CJK COMPATIBILITY IDEOGRAPH-F983;Lo;0;L;65C5;;;;N;;;;; F984;CJK COMPATIBILITY IDEOGRAPH-F984;Lo;0;L;6FFE;;;;N;;;;; F985;CJK COMPATIBILITY IDEOGRAPH-F985;Lo;0;L;792A;;;;N;;;;; F986;CJK COMPATIBILITY IDEOGRAPH-F986;Lo;0;L;95AD;;;;N;;;;; F987;CJK COMPATIBILITY IDEOGRAPH-F987;Lo;0;L;9A6A;;;;N;;;;; F988;CJK COMPATIBILITY IDEOGRAPH-F988;Lo;0;L;9E97;;;;N;;;;; F989;CJK COMPATIBILITY IDEOGRAPH-F989;Lo;0;L;9ECE;;;;N;;;;; F98A;CJK COMPATIBILITY IDEOGRAPH-F98A;Lo;0;L;529B;;;;N;;;;; F98B;CJK COMPATIBILITY IDEOGRAPH-F98B;Lo;0;L;66C6;;;;N;;;;; F98C;CJK COMPATIBILITY IDEOGRAPH-F98C;Lo;0;L;6B77;;;;N;;;;; F98D;CJK COMPATIBILITY IDEOGRAPH-F98D;Lo;0;L;8F62;;;;N;;;;; F98E;CJK COMPATIBILITY IDEOGRAPH-F98E;Lo;0;L;5E74;;;;N;;;;; F98F;CJK COMPATIBILITY IDEOGRAPH-F98F;Lo;0;L;6190;;;;N;;;;; F990;CJK COMPATIBILITY IDEOGRAPH-F990;Lo;0;L;6200;;;;N;;;;; F991;CJK COMPATIBILITY IDEOGRAPH-F991;Lo;0;L;649A;;;;N;;;;; F992;CJK COMPATIBILITY IDEOGRAPH-F992;Lo;0;L;6F23;;;;N;;;;; F993;CJK COMPATIBILITY IDEOGRAPH-F993;Lo;0;L;7149;;;;N;;;;; F994;CJK COMPATIBILITY IDEOGRAPH-F994;Lo;0;L;7489;;;;N;;;;; F995;CJK COMPATIBILITY IDEOGRAPH-F995;Lo;0;L;79CA;;;;N;;;;; F996;CJK COMPATIBILITY IDEOGRAPH-F996;Lo;0;L;7DF4;;;;N;;;;; F997;CJK COMPATIBILITY IDEOGRAPH-F997;Lo;0;L;806F;;;;N;;;;; F998;CJK COMPATIBILITY IDEOGRAPH-F998;Lo;0;L;8F26;;;;N;;;;; F999;CJK COMPATIBILITY IDEOGRAPH-F999;Lo;0;L;84EE;;;;N;;;;; F99A;CJK COMPATIBILITY IDEOGRAPH-F99A;Lo;0;L;9023;;;;N;;;;; F99B;CJK COMPATIBILITY IDEOGRAPH-F99B;Lo;0;L;934A;;;;N;;;;; F99C;CJK COMPATIBILITY IDEOGRAPH-F99C;Lo;0;L;5217;;;;N;;;;; F99D;CJK COMPATIBILITY IDEOGRAPH-F99D;Lo;0;L;52A3;;;;N;;;;; F99E;CJK COMPATIBILITY IDEOGRAPH-F99E;Lo;0;L;54BD;;;;N;;;;; F99F;CJK COMPATIBILITY IDEOGRAPH-F99F;Lo;0;L;70C8;;;;N;;;;; F9A0;CJK COMPATIBILITY IDEOGRAPH-F9A0;Lo;0;L;88C2;;;;N;;;;; F9A1;CJK COMPATIBILITY IDEOGRAPH-F9A1;Lo;0;L;8AAA;;;;N;;;;; F9A2;CJK COMPATIBILITY IDEOGRAPH-F9A2;Lo;0;L;5EC9;;;;N;;;;; F9A3;CJK COMPATIBILITY IDEOGRAPH-F9A3;Lo;0;L;5FF5;;;;N;;;;; F9A4;CJK COMPATIBILITY IDEOGRAPH-F9A4;Lo;0;L;637B;;;;N;;;;; F9A5;CJK COMPATIBILITY IDEOGRAPH-F9A5;Lo;0;L;6BAE;;;;N;;;;; F9A6;CJK COMPATIBILITY IDEOGRAPH-F9A6;Lo;0;L;7C3E;;;;N;;;;; F9A7;CJK COMPATIBILITY IDEOGRAPH-F9A7;Lo;0;L;7375;;;;N;;;;; F9A8;CJK COMPATIBILITY IDEOGRAPH-F9A8;Lo;0;L;4EE4;;;;N;;;;; F9A9;CJK COMPATIBILITY IDEOGRAPH-F9A9;Lo;0;L;56F9;;;;N;;;;; F9AA;CJK COMPATIBILITY IDEOGRAPH-F9AA;Lo;0;L;5BE7;;;;N;;;;; F9AB;CJK COMPATIBILITY IDEOGRAPH-F9AB;Lo;0;L;5DBA;;;;N;;;;; F9AC;CJK COMPATIBILITY IDEOGRAPH-F9AC;Lo;0;L;601C;;;;N;;;;; F9AD;CJK COMPATIBILITY IDEOGRAPH-F9AD;Lo;0;L;73B2;;;;N;;;;; F9AE;CJK COMPATIBILITY IDEOGRAPH-F9AE;Lo;0;L;7469;;;;N;;;;; F9AF;CJK COMPATIBILITY IDEOGRAPH-F9AF;Lo;0;L;7F9A;;;;N;;;;; F9B0;CJK COMPATIBILITY IDEOGRAPH-F9B0;Lo;0;L;8046;;;;N;;;;; F9B1;CJK COMPATIBILITY IDEOGRAPH-F9B1;Lo;0;L;9234;;;;N;;;;; F9B2;CJK COMPATIBILITY IDEOGRAPH-F9B2;Lo;0;L;96F6;;;;N;;;;; F9B3;CJK COMPATIBILITY IDEOGRAPH-F9B3;Lo;0;L;9748;;;;N;;;;; F9B4;CJK COMPATIBILITY IDEOGRAPH-F9B4;Lo;0;L;9818;;;;N;;;;; F9B5;CJK COMPATIBILITY IDEOGRAPH-F9B5;Lo;0;L;4F8B;;;;N;;;;; F9B6;CJK COMPATIBILITY IDEOGRAPH-F9B6;Lo;0;L;79AE;;;;N;;;;; F9B7;CJK COMPATIBILITY IDEOGRAPH-F9B7;Lo;0;L;91B4;;;;N;;;;; F9B8;CJK COMPATIBILITY IDEOGRAPH-F9B8;Lo;0;L;96B8;;;;N;;;;; F9B9;CJK COMPATIBILITY IDEOGRAPH-F9B9;Lo;0;L;60E1;;;;N;;;;; F9BA;CJK COMPATIBILITY IDEOGRAPH-F9BA;Lo;0;L;4E86;;;;N;;;;; F9BB;CJK COMPATIBILITY IDEOGRAPH-F9BB;Lo;0;L;50DA;;;;N;;;;; F9BC;CJK COMPATIBILITY IDEOGRAPH-F9BC;Lo;0;L;5BEE;;;;N;;;;; F9BD;CJK COMPATIBILITY IDEOGRAPH-F9BD;Lo;0;L;5C3F;;;;N;;;;; F9BE;CJK COMPATIBILITY IDEOGRAPH-F9BE;Lo;0;L;6599;;;;N;;;;; F9BF;CJK COMPATIBILITY IDEOGRAPH-F9BF;Lo;0;L;6A02;;;;N;;;;; F9C0;CJK COMPATIBILITY IDEOGRAPH-F9C0;Lo;0;L;71CE;;;;N;;;;; F9C1;CJK COMPATIBILITY IDEOGRAPH-F9C1;Lo;0;L;7642;;;;N;;;;; F9C2;CJK COMPATIBILITY IDEOGRAPH-F9C2;Lo;0;L;84FC;;;;N;;;;; F9C3;CJK COMPATIBILITY IDEOGRAPH-F9C3;Lo;0;L;907C;;;;N;;;;; F9C4;CJK COMPATIBILITY IDEOGRAPH-F9C4;Lo;0;L;9F8D;;;;N;;;;; F9C5;CJK COMPATIBILITY IDEOGRAPH-F9C5;Lo;0;L;6688;;;;N;;;;; F9C6;CJK COMPATIBILITY IDEOGRAPH-F9C6;Lo;0;L;962E;;;;N;;;;; F9C7;CJK COMPATIBILITY IDEOGRAPH-F9C7;Lo;0;L;5289;;;;N;;;;; F9C8;CJK COMPATIBILITY IDEOGRAPH-F9C8;Lo;0;L;677B;;;;N;;;;; F9C9;CJK COMPATIBILITY IDEOGRAPH-F9C9;Lo;0;L;67F3;;;;N;;;;; F9CA;CJK COMPATIBILITY IDEOGRAPH-F9CA;Lo;0;L;6D41;;;;N;;;;; F9CB;CJK COMPATIBILITY IDEOGRAPH-F9CB;Lo;0;L;6E9C;;;;N;;;;; F9CC;CJK COMPATIBILITY IDEOGRAPH-F9CC;Lo;0;L;7409;;;;N;;;;; F9CD;CJK COMPATIBILITY IDEOGRAPH-F9CD;Lo;0;L;7559;;;;N;;;;; F9CE;CJK COMPATIBILITY IDEOGRAPH-F9CE;Lo;0;L;786B;;;;N;;;;; F9CF;CJK COMPATIBILITY IDEOGRAPH-F9CF;Lo;0;L;7D10;;;;N;;;;; F9D0;CJK COMPATIBILITY IDEOGRAPH-F9D0;Lo;0;L;985E;;;;N;;;;; F9D1;CJK COMPATIBILITY IDEOGRAPH-F9D1;Lo;0;L;516D;;;;N;;;;; F9D2;CJK COMPATIBILITY IDEOGRAPH-F9D2;Lo;0;L;622E;;;;N;;;;; F9D3;CJK COMPATIBILITY IDEOGRAPH-F9D3;Lo;0;L;9678;;;;N;;;;; F9D4;CJK COMPATIBILITY IDEOGRAPH-F9D4;Lo;0;L;502B;;;;N;;;;; F9D5;CJK COMPATIBILITY IDEOGRAPH-F9D5;Lo;0;L;5D19;;;;N;;;;; F9D6;CJK COMPATIBILITY IDEOGRAPH-F9D6;Lo;0;L;6DEA;;;;N;;;;; F9D7;CJK COMPATIBILITY IDEOGRAPH-F9D7;Lo;0;L;8F2A;;;;N;;;;; F9D8;CJK COMPATIBILITY IDEOGRAPH-F9D8;Lo;0;L;5F8B;;;;N;;;;; F9D9;CJK COMPATIBILITY IDEOGRAPH-F9D9;Lo;0;L;6144;;;;N;;;;; F9DA;CJK COMPATIBILITY IDEOGRAPH-F9DA;Lo;0;L;6817;;;;N;;;;; F9DB;CJK COMPATIBILITY IDEOGRAPH-F9DB;Lo;0;L;7387;;;;N;;;;; F9DC;CJK COMPATIBILITY IDEOGRAPH-F9DC;Lo;0;L;9686;;;;N;;;;; F9DD;CJK COMPATIBILITY IDEOGRAPH-F9DD;Lo;0;L;5229;;;;N;;;;; F9DE;CJK COMPATIBILITY IDEOGRAPH-F9DE;Lo;0;L;540F;;;;N;;;;; F9DF;CJK COMPATIBILITY IDEOGRAPH-F9DF;Lo;0;L;5C65;;;;N;;;;; F9E0;CJK COMPATIBILITY IDEOGRAPH-F9E0;Lo;0;L;6613;;;;N;;;;; F9E1;CJK COMPATIBILITY IDEOGRAPH-F9E1;Lo;0;L;674E;;;;N;;;;; F9E2;CJK COMPATIBILITY IDEOGRAPH-F9E2;Lo;0;L;68A8;;;;N;;;;; F9E3;CJK COMPATIBILITY IDEOGRAPH-F9E3;Lo;0;L;6CE5;;;;N;;;;; F9E4;CJK COMPATIBILITY IDEOGRAPH-F9E4;Lo;0;L;7406;;;;N;;;;; F9E5;CJK COMPATIBILITY IDEOGRAPH-F9E5;Lo;0;L;75E2;;;;N;;;;; F9E6;CJK COMPATIBILITY IDEOGRAPH-F9E6;Lo;0;L;7F79;;;;N;;;;; F9E7;CJK COMPATIBILITY IDEOGRAPH-F9E7;Lo;0;L;88CF;;;;N;;;;; F9E8;CJK COMPATIBILITY IDEOGRAPH-F9E8;Lo;0;L;88E1;;;;N;;;;; F9E9;CJK COMPATIBILITY IDEOGRAPH-F9E9;Lo;0;L;91CC;;;;N;;;;; F9EA;CJK COMPATIBILITY IDEOGRAPH-F9EA;Lo;0;L;96E2;;;;N;;;;; F9EB;CJK COMPATIBILITY IDEOGRAPH-F9EB;Lo;0;L;533F;;;;N;;;;; F9EC;CJK COMPATIBILITY IDEOGRAPH-F9EC;Lo;0;L;6EBA;;;;N;;;;; F9ED;CJK COMPATIBILITY IDEOGRAPH-F9ED;Lo;0;L;541D;;;;N;;;;; F9EE;CJK COMPATIBILITY IDEOGRAPH-F9EE;Lo;0;L;71D0;;;;N;;;;; F9EF;CJK COMPATIBILITY IDEOGRAPH-F9EF;Lo;0;L;7498;;;;N;;;;; F9F0;CJK COMPATIBILITY IDEOGRAPH-F9F0;Lo;0;L;85FA;;;;N;;;;; F9F1;CJK COMPATIBILITY IDEOGRAPH-F9F1;Lo;0;L;96A3;;;;N;;;;; F9F2;CJK COMPATIBILITY IDEOGRAPH-F9F2;Lo;0;L;9C57;;;;N;;;;; F9F3;CJK COMPATIBILITY IDEOGRAPH-F9F3;Lo;0;L;9E9F;;;;N;;;;; F9F4;CJK COMPATIBILITY IDEOGRAPH-F9F4;Lo;0;L;6797;;;;N;;;;; F9F5;CJK COMPATIBILITY IDEOGRAPH-F9F5;Lo;0;L;6DCB;;;;N;;;;; F9F6;CJK COMPATIBILITY IDEOGRAPH-F9F6;Lo;0;L;81E8;;;;N;;;;; F9F7;CJK COMPATIBILITY IDEOGRAPH-F9F7;Lo;0;L;7ACB;;;;N;;;;; F9F8;CJK COMPATIBILITY IDEOGRAPH-F9F8;Lo;0;L;7B20;;;;N;;;;; F9F9;CJK COMPATIBILITY IDEOGRAPH-F9F9;Lo;0;L;7C92;;;;N;;;;; F9FA;CJK COMPATIBILITY IDEOGRAPH-F9FA;Lo;0;L;72C0;;;;N;;;;; F9FB;CJK COMPATIBILITY IDEOGRAPH-F9FB;Lo;0;L;7099;;;;N;;;;; F9FC;CJK COMPATIBILITY IDEOGRAPH-F9FC;Lo;0;L;8B58;;;;N;;;;; F9FD;CJK COMPATIBILITY IDEOGRAPH-F9FD;Lo;0;L;4EC0;;;;N;;;;; F9FE;CJK COMPATIBILITY IDEOGRAPH-F9FE;Lo;0;L;8336;;;;N;;;;; F9FF;CJK COMPATIBILITY IDEOGRAPH-F9FF;Lo;0;L;523A;;;;N;;;;; FA00;CJK COMPATIBILITY IDEOGRAPH-FA00;Lo;0;L;5207;;;;N;;;;; FA01;CJK COMPATIBILITY IDEOGRAPH-FA01;Lo;0;L;5EA6;;;;N;;;;; FA02;CJK COMPATIBILITY IDEOGRAPH-FA02;Lo;0;L;62D3;;;;N;;;;; FA03;CJK COMPATIBILITY IDEOGRAPH-FA03;Lo;0;L;7CD6;;;;N;;;;; FA04;CJK COMPATIBILITY IDEOGRAPH-FA04;Lo;0;L;5B85;;;;N;;;;; FA05;CJK COMPATIBILITY IDEOGRAPH-FA05;Lo;0;L;6D1E;;;;N;;;;; FA06;CJK COMPATIBILITY IDEOGRAPH-FA06;Lo;0;L;66B4;;;;N;;;;; FA07;CJK COMPATIBILITY IDEOGRAPH-FA07;Lo;0;L;8F3B;;;;N;;;;; FA08;CJK COMPATIBILITY IDEOGRAPH-FA08;Lo;0;L;884C;;;;N;;;;; FA09;CJK COMPATIBILITY IDEOGRAPH-FA09;Lo;0;L;964D;;;;N;;;;; FA0A;CJK COMPATIBILITY IDEOGRAPH-FA0A;Lo;0;L;898B;;;;N;;;;; FA0B;CJK COMPATIBILITY IDEOGRAPH-FA0B;Lo;0;L;5ED3;;;;N;;;;; FA0C;CJK COMPATIBILITY IDEOGRAPH-FA0C;Lo;0;L;5140;;;;N;;;;; FA0D;CJK COMPATIBILITY IDEOGRAPH-FA0D;Lo;0;L;55C0;;;;N;;;;; FA0E;CJK COMPATIBILITY IDEOGRAPH-FA0E;Lo;0;L;;;;;N;;;;; FA0F;CJK COMPATIBILITY IDEOGRAPH-FA0F;Lo;0;L;;;;;N;;;;; FA10;CJK COMPATIBILITY IDEOGRAPH-FA10;Lo;0;L;585A;;;;N;;;;; FA11;CJK COMPATIBILITY IDEOGRAPH-FA11;Lo;0;L;;;;;N;;;;; FA12;CJK COMPATIBILITY IDEOGRAPH-FA12;Lo;0;L;6674;;;;N;;;;; FA13;CJK COMPATIBILITY IDEOGRAPH-FA13;Lo;0;L;;;;;N;;;;; FA14;CJK COMPATIBILITY IDEOGRAPH-FA14;Lo;0;L;;;;;N;;;;; FA15;CJK COMPATIBILITY IDEOGRAPH-FA15;Lo;0;L;51DE;;;;N;;;;; FA16;CJK COMPATIBILITY IDEOGRAPH-FA16;Lo;0;L;732A;;;;N;;;;; FA17;CJK COMPATIBILITY IDEOGRAPH-FA17;Lo;0;L;76CA;;;;N;;;;; FA18;CJK COMPATIBILITY IDEOGRAPH-FA18;Lo;0;L;793C;;;;N;;;;; FA19;CJK COMPATIBILITY IDEOGRAPH-FA19;Lo;0;L;795E;;;;N;;;;; FA1A;CJK COMPATIBILITY IDEOGRAPH-FA1A;Lo;0;L;7965;;;;N;;;;; FA1B;CJK COMPATIBILITY IDEOGRAPH-FA1B;Lo;0;L;798F;;;;N;;;;; FA1C;CJK COMPATIBILITY IDEOGRAPH-FA1C;Lo;0;L;9756;;;;N;;;;; FA1D;CJK COMPATIBILITY IDEOGRAPH-FA1D;Lo;0;L;7CBE;;;;N;;;;; FA1E;CJK COMPATIBILITY IDEOGRAPH-FA1E;Lo;0;L;7FBD;;;;N;;;;; FA1F;CJK COMPATIBILITY IDEOGRAPH-FA1F;Lo;0;L;;;;;N;;;;; FA20;CJK COMPATIBILITY IDEOGRAPH-FA20;Lo;0;L;8612;;;;N;;;;; FA21;CJK COMPATIBILITY IDEOGRAPH-FA21;Lo;0;L;;;;;N;;;;; FA22;CJK COMPATIBILITY IDEOGRAPH-FA22;Lo;0;L;8AF8;;;;N;;;;; FA23;CJK COMPATIBILITY IDEOGRAPH-FA23;Lo;0;L;;;;;N;;;;; FA24;CJK COMPATIBILITY IDEOGRAPH-FA24;Lo;0;L;;;;;N;;;;; FA25;CJK COMPATIBILITY IDEOGRAPH-FA25;Lo;0;L;9038;;;;N;;;;; FA26;CJK COMPATIBILITY IDEOGRAPH-FA26;Lo;0;L;90FD;;;;N;;;;; FA27;CJK COMPATIBILITY IDEOGRAPH-FA27;Lo;0;L;;;;;N;;;;; FA28;CJK COMPATIBILITY IDEOGRAPH-FA28;Lo;0;L;;;;;N;;;;; FA29;CJK COMPATIBILITY IDEOGRAPH-FA29;Lo;0;L;;;;;N;;;;; FA2A;CJK COMPATIBILITY IDEOGRAPH-FA2A;Lo;0;L;98EF;;;;N;;;;; FA2B;CJK COMPATIBILITY IDEOGRAPH-FA2B;Lo;0;L;98FC;;;;N;;;;; FA2C;CJK COMPATIBILITY IDEOGRAPH-FA2C;Lo;0;L;9928;;;;N;;;;; FA2D;CJK COMPATIBILITY IDEOGRAPH-FA2D;Lo;0;L;9DB4;;;;N;;;;; FB00;LATIN SMALL LIGATURE FF;Ll;0;L; 0066 0066;;;;N;;;;; FB01;LATIN SMALL LIGATURE FI;Ll;0;L; 0066 0069;;;;N;;;;; FB02;LATIN SMALL LIGATURE FL;Ll;0;L; 0066 006C;;;;N;;;;; FB03;LATIN SMALL LIGATURE FFI;Ll;0;L; 0066 0066 0069;;;;N;;;;; FB04;LATIN SMALL LIGATURE FFL;Ll;0;L; 0066 0066 006C;;;;N;;;;; FB05;LATIN SMALL LIGATURE LONG S T;Ll;0;L; 017F 0074;;;;N;;;;; FB06;LATIN SMALL LIGATURE ST;Ll;0;L; 0073 0074;;;;N;;;;; FB13;ARMENIAN SMALL LIGATURE MEN NOW;Ll;0;L; 0574 0576;;;;N;;;;; FB14;ARMENIAN SMALL LIGATURE MEN ECH;Ll;0;L; 0574 0565;;;;N;;;;; FB15;ARMENIAN SMALL LIGATURE MEN INI;Ll;0;L; 0574 056B;;;;N;;;;; FB16;ARMENIAN SMALL LIGATURE VEW NOW;Ll;0;L; 057E 0576;;;;N;;;;; FB17;ARMENIAN SMALL LIGATURE MEN XEH;Ll;0;L; 0574 056D;;;;N;;;;; FB1E;HEBREW POINT JUDEO-SPANISH VARIKA;Mn;26;ON;;;;;N;HEBREW POINT VARIKA;;;; FB1F;HEBREW LIGATURE YIDDISH YOD YOD PATAH;Lo;0;R;05F2 05B7;;;;N;;;;; FB20;HEBREW LETTER ALTERNATIVE AYIN;Lo;0;R; 05E2;;;;N;;;;; FB21;HEBREW LETTER WIDE ALEF;Lo;0;R; 05D0;;;;N;;;;; FB22;HEBREW LETTER WIDE DALET;Lo;0;R; 05D3;;;;N;;;;; FB23;HEBREW LETTER WIDE HE;Lo;0;R; 05D4;;;;N;;;;; FB24;HEBREW LETTER WIDE KAF;Lo;0;R; 05DB;;;;N;;;;; FB25;HEBREW LETTER WIDE LAMED;Lo;0;R; 05DC;;;;N;;;;; FB26;HEBREW LETTER WIDE FINAL MEM;Lo;0;R; 05DD;;;;N;;;;; FB27;HEBREW LETTER WIDE RESH;Lo;0;R; 05E8;;;;N;;;;; FB28;HEBREW LETTER WIDE TAV;Lo;0;R; 05EA;;;;N;;;;; FB29;HEBREW LETTER ALTERNATIVE PLUS SIGN;Sm;0;ET; 002B;;;;N;;;;; FB2A;HEBREW LETTER SHIN WITH SHIN DOT;Lo;0;R;05E9 05C1;;;;N;;;;; FB2B;HEBREW LETTER SHIN WITH SIN DOT;Lo;0;R;05E9 05C2;;;;N;;;;; FB2C;HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT;Lo;0;R;FB49 05C1;;;;N;;;;; FB2D;HEBREW LETTER SHIN WITH DAGESH AND SIN DOT;Lo;0;R;FB49 05C2;;;;N;;;;; FB2E;HEBREW LETTER ALEF WITH PATAH;Lo;0;R;05D0 05B7;;;;N;;;;; FB2F;HEBREW LETTER ALEF WITH QAMATS;Lo;0;R;05D0 05B8;;;;N;;;;; FB30;HEBREW LETTER ALEF WITH MAPIQ;Lo;0;R;05D0 05BC;;;;N;;;;; FB31;HEBREW LETTER BET WITH DAGESH;Lo;0;R;05D1 05BC;;;;N;;;;; FB32;HEBREW LETTER GIMEL WITH DAGESH;Lo;0;R;05D2 05BC;;;;N;;;;; FB33;HEBREW LETTER DALET WITH DAGESH;Lo;0;R;05D3 05BC;;;;N;;;;; FB34;HEBREW LETTER HE WITH MAPIQ;Lo;0;R;05D4 05BC;;;;N;;;;; FB35;HEBREW LETTER VAV WITH DAGESH;Lo;0;R;05D5 05BC;;;;N;;;;; FB36;HEBREW LETTER ZAYIN WITH DAGESH;Lo;0;R;05D6 05BC;;;;N;;;;; FB38;HEBREW LETTER TET WITH DAGESH;Lo;0;R;05D8 05BC;;;;N;;;;; FB39;HEBREW LETTER YOD WITH DAGESH;Lo;0;R;05D9 05BC;;;;N;;;;; FB3A;HEBREW LETTER FINAL KAF WITH DAGESH;Lo;0;R;05DA 05BC;;;;N;;;;; FB3B;HEBREW LETTER KAF WITH DAGESH;Lo;0;R;05DB 05BC;;;;N;;;;; FB3C;HEBREW LETTER LAMED WITH DAGESH;Lo;0;R;05DC 05BC;;;;N;;;;; FB3E;HEBREW LETTER MEM WITH DAGESH;Lo;0;R;05DE 05BC;;;;N;;;;; FB40;HEBREW LETTER NUN WITH DAGESH;Lo;0;R;05E0 05BC;;;;N;;;;; FB41;HEBREW LETTER SAMEKH WITH DAGESH;Lo;0;R;05E1 05BC;;;;N;;;;; FB43;HEBREW LETTER FINAL PE WITH DAGESH;Lo;0;R;05E3 05BC;;;;N;;;;; FB44;HEBREW LETTER PE WITH DAGESH;Lo;0;R;05E4 05BC;;;;N;;;;; FB46;HEBREW LETTER TSADI WITH DAGESH;Lo;0;R;05E6 05BC;;;;N;;;;; FB47;HEBREW LETTER QOF WITH DAGESH;Lo;0;R;05E7 05BC;;;;N;;;;; FB48;HEBREW LETTER RESH WITH DAGESH;Lo;0;R;05E8 05BC;;;;N;;;;; FB49;HEBREW LETTER SHIN WITH DAGESH;Lo;0;R;05E9 05BC;;;;N;;;;; FB4A;HEBREW LETTER TAV WITH DAGESH;Lo;0;R;05EA 05BC;;;;N;;;;; FB4B;HEBREW LETTER VAV WITH HOLAM;Lo;0;R;05D5 05B9;;;;N;;;;; FB4C;HEBREW LETTER BET WITH RAFE;Lo;0;R;05D1 05BF;;;;N;;;;; FB4D;HEBREW LETTER KAF WITH RAFE;Lo;0;R;05DB 05BF;;;;N;;;;; FB4E;HEBREW LETTER PE WITH RAFE;Lo;0;R;05E4 05BF;;;;N;;;;; FB4F;HEBREW LIGATURE ALEF LAMED;Lo;0;R; 05D0 05DC;;;;N;;;;; FB50;ARABIC LETTER ALEF WASLA ISOLATED FORM;Lo;0;R; 0671;;;;N;;;;; FB51;ARABIC LETTER ALEF WASLA FINAL FORM;Lo;0;R; 0671;;;;N;;;;; FB52;ARABIC LETTER BEEH ISOLATED FORM;Lo;0;R; 067B;;;;N;;;;; FB53;ARABIC LETTER BEEH FINAL FORM;Lo;0;R; 067B;;;;N;;;;; FB54;ARABIC LETTER BEEH INITIAL FORM;Lo;0;R; 067B;;;;N;;;;; FB55;ARABIC LETTER BEEH MEDIAL FORM;Lo;0;R; 067B;;;;N;;;;; FB56;ARABIC LETTER PEH ISOLATED FORM;Lo;0;R; 067E;;;;N;;;;; FB57;ARABIC LETTER PEH FINAL FORM;Lo;0;R; 067E;;;;N;;;;; FB58;ARABIC LETTER PEH INITIAL FORM;Lo;0;R; 067E;;;;N;;;;; FB59;ARABIC LETTER PEH MEDIAL FORM;Lo;0;R; 067E;;;;N;;;;; FB5A;ARABIC LETTER BEHEH ISOLATED FORM;Lo;0;R; 0680;;;;N;;;;; FB5B;ARABIC LETTER BEHEH FINAL FORM;Lo;0;R; 0680;;;;N;;;;; FB5C;ARABIC LETTER BEHEH INITIAL FORM;Lo;0;R; 0680;;;;N;;;;; FB5D;ARABIC LETTER BEHEH MEDIAL FORM;Lo;0;R; 0680;;;;N;;;;; FB5E;ARABIC LETTER TTEHEH ISOLATED FORM;Lo;0;R; 067A;;;;N;;;;; FB5F;ARABIC LETTER TTEHEH FINAL FORM;Lo;0;R; 067A;;;;N;;;;; FB60;ARABIC LETTER TTEHEH INITIAL FORM;Lo;0;R; 067A;;;;N;;;;; FB61;ARABIC LETTER TTEHEH MEDIAL FORM;Lo;0;R; 067A;;;;N;;;;; FB62;ARABIC LETTER TEHEH ISOLATED FORM;Lo;0;R; 067F;;;;N;;;;; FB63;ARABIC LETTER TEHEH FINAL FORM;Lo;0;R; 067F;;;;N;;;;; FB64;ARABIC LETTER TEHEH INITIAL FORM;Lo;0;R; 067F;;;;N;;;;; FB65;ARABIC LETTER TEHEH MEDIAL FORM;Lo;0;R; 067F;;;;N;;;;; FB66;ARABIC LETTER TTEH ISOLATED FORM;Lo;0;R; 0679;;;;N;;;;; FB67;ARABIC LETTER TTEH FINAL FORM;Lo;0;R; 0679;;;;N;;;;; FB68;ARABIC LETTER TTEH INITIAL FORM;Lo;0;R; 0679;;;;N;;;;; FB69;ARABIC LETTER TTEH MEDIAL FORM;Lo;0;R; 0679;;;;N;;;;; FB6A;ARABIC LETTER VEH ISOLATED FORM;Lo;0;R; 06A4;;;;N;;;;; FB6B;ARABIC LETTER VEH FINAL FORM;Lo;0;R; 06A4;;;;N;;;;; FB6C;ARABIC LETTER VEH INITIAL FORM;Lo;0;R; 06A4;;;;N;;;;; FB6D;ARABIC LETTER VEH MEDIAL FORM;Lo;0;R; 06A4;;;;N;;;;; FB6E;ARABIC LETTER PEHEH ISOLATED FORM;Lo;0;R; 06A6;;;;N;;;;; FB6F;ARABIC LETTER PEHEH FINAL FORM;Lo;0;R; 06A6;;;;N;;;;; FB70;ARABIC LETTER PEHEH INITIAL FORM;Lo;0;R; 06A6;;;;N;;;;; FB71;ARABIC LETTER PEHEH MEDIAL FORM;Lo;0;R; 06A6;;;;N;;;;; FB72;ARABIC LETTER DYEH ISOLATED FORM;Lo;0;R; 0684;;;;N;;;;; FB73;ARABIC LETTER DYEH FINAL FORM;Lo;0;R; 0684;;;;N;;;;; FB74;ARABIC LETTER DYEH INITIAL FORM;Lo;0;R; 0684;;;;N;;;;; FB75;ARABIC LETTER DYEH MEDIAL FORM;Lo;0;R; 0684;;;;N;;;;; FB76;ARABIC LETTER NYEH ISOLATED FORM;Lo;0;R; 0683;;;;N;;;;; FB77;ARABIC LETTER NYEH FINAL FORM;Lo;0;R; 0683;;;;N;;;;; FB78;ARABIC LETTER NYEH INITIAL FORM;Lo;0;R; 0683;;;;N;;;;; FB79;ARABIC LETTER NYEH MEDIAL FORM;Lo;0;R; 0683;;;;N;;;;; FB7A;ARABIC LETTER TCHEH ISOLATED FORM;Lo;0;R; 0686;;;;N;;;;; FB7B;ARABIC LETTER TCHEH FINAL FORM;Lo;0;R; 0686;;;;N;;;;; FB7C;ARABIC LETTER TCHEH INITIAL FORM;Lo;0;R; 0686;;;;N;;;;; FB7D;ARABIC LETTER TCHEH MEDIAL FORM;Lo;0;R; 0686;;;;N;;;;; FB7E;ARABIC LETTER TCHEHEH ISOLATED FORM;Lo;0;R; 0687;;;;N;;;;; FB7F;ARABIC LETTER TCHEHEH FINAL FORM;Lo;0;R; 0687;;;;N;;;;; FB80;ARABIC LETTER TCHEHEH INITIAL FORM;Lo;0;R; 0687;;;;N;;;;; FB81;ARABIC LETTER TCHEHEH MEDIAL FORM;Lo;0;R; 0687;;;;N;;;;; FB82;ARABIC LETTER DDAHAL ISOLATED FORM;Lo;0;R; 068D;;;;N;;;;; FB83;ARABIC LETTER DDAHAL FINAL FORM;Lo;0;R; 068D;;;;N;;;;; FB84;ARABIC LETTER DAHAL ISOLATED FORM;Lo;0;R; 068C;;;;N;;;;; FB85;ARABIC LETTER DAHAL FINAL FORM;Lo;0;R; 068C;;;;N;;;;; FB86;ARABIC LETTER DUL ISOLATED FORM;Lo;0;R; 068E;;;;N;;;;; FB87;ARABIC LETTER DUL FINAL FORM;Lo;0;R; 068E;;;;N;;;;; FB88;ARABIC LETTER DDAL ISOLATED FORM;Lo;0;R; 0688;;;;N;;;;; FB89;ARABIC LETTER DDAL FINAL FORM;Lo;0;R; 0688;;;;N;;;;; FB8A;ARABIC LETTER JEH ISOLATED FORM;Lo;0;R; 0698;;;;N;;;;; FB8B;ARABIC LETTER JEH FINAL FORM;Lo;0;R; 0698;;;;N;;;;; FB8C;ARABIC LETTER RREH ISOLATED FORM;Lo;0;R; 0691;;;;N;;;;; FB8D;ARABIC LETTER RREH FINAL FORM;Lo;0;R; 0691;;;;N;;;;; FB8E;ARABIC LETTER KEHEH ISOLATED FORM;Lo;0;R; 06A9;;;;N;;;;; FB8F;ARABIC LETTER KEHEH FINAL FORM;Lo;0;R; 06A9;;;;N;;;;; FB90;ARABIC LETTER KEHEH INITIAL FORM;Lo;0;R; 06A9;;;;N;;;;; FB91;ARABIC LETTER KEHEH MEDIAL FORM;Lo;0;R; 06A9;;;;N;;;;; FB92;ARABIC LETTER GAF ISOLATED FORM;Lo;0;R; 06AF;;;;N;;;;; FB93;ARABIC LETTER GAF FINAL FORM;Lo;0;R; 06AF;;;;N;;;;; FB94;ARABIC LETTER GAF INITIAL FORM;Lo;0;R; 06AF;;;;N;;;;; FB95;ARABIC LETTER GAF MEDIAL FORM;Lo;0;R; 06AF;;;;N;;;;; FB96;ARABIC LETTER GUEH ISOLATED FORM;Lo;0;R; 06B3;;;;N;;;;; FB97;ARABIC LETTER GUEH FINAL FORM;Lo;0;R; 06B3;;;;N;;;;; FB98;ARABIC LETTER GUEH INITIAL FORM;Lo;0;R; 06B3;;;;N;;;;; FB99;ARABIC LETTER GUEH MEDIAL FORM;Lo;0;R; 06B3;;;;N;;;;; FB9A;ARABIC LETTER NGOEH ISOLATED FORM;Lo;0;R; 06B1;;;;N;;;;; FB9B;ARABIC LETTER NGOEH FINAL FORM;Lo;0;R; 06B1;;;;N;;;;; FB9C;ARABIC LETTER NGOEH INITIAL FORM;Lo;0;R; 06B1;;;;N;;;;; FB9D;ARABIC LETTER NGOEH MEDIAL FORM;Lo;0;R; 06B1;;;;N;;;;; FB9E;ARABIC LETTER NOON GHUNNA ISOLATED FORM;Lo;0;R; 06BA;;;;N;;;;; FB9F;ARABIC LETTER NOON GHUNNA FINAL FORM;Lo;0;R; 06BA;;;;N;;;;; FBA0;ARABIC LETTER RNOON ISOLATED FORM;Lo;0;R; 06BB;;;;N;;;;; FBA1;ARABIC LETTER RNOON FINAL FORM;Lo;0;R; 06BB;;;;N;;;;; FBA2;ARABIC LETTER RNOON INITIAL FORM;Lo;0;R; 06BB;;;;N;;;;; FBA3;ARABIC LETTER RNOON MEDIAL FORM;Lo;0;R; 06BB;;;;N;;;;; FBA4;ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM;Lo;0;R; 06C0;;;;N;;;;; FBA5;ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM;Lo;0;R; 06C0;;;;N;;;;; FBA6;ARABIC LETTER HEH GOAL ISOLATED FORM;Lo;0;R; 06C1;;;;N;;;;; FBA7;ARABIC LETTER HEH GOAL FINAL FORM;Lo;0;R; 06C1;;;;N;;;;; FBA8;ARABIC LETTER HEH GOAL INITIAL FORM;Lo;0;R; 06C1;;;;N;;;;; FBA9;ARABIC LETTER HEH GOAL MEDIAL FORM;Lo;0;R; 06C1;;;;N;;;;; FBAA;ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM;Lo;0;R; 06BE;;;;N;;;;; FBAB;ARABIC LETTER HEH DOACHASHMEE FINAL FORM;Lo;0;R; 06BE;;;;N;;;;; FBAC;ARABIC LETTER HEH DOACHASHMEE INITIAL FORM;Lo;0;R; 06BE;;;;N;;;;; FBAD;ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM;Lo;0;R; 06BE;;;;N;;;;; FBAE;ARABIC LETTER YEH BARREE ISOLATED FORM;Lo;0;R; 06D2;;;;N;;;;; FBAF;ARABIC LETTER YEH BARREE FINAL FORM;Lo;0;R; 06D2;;;;N;;;;; FBB0;ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM;Lo;0;R; 06D3;;;;N;;;;; FBB1;ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM;Lo;0;R; 06D3;;;;N;;;;; FBD3;ARABIC LETTER NG ISOLATED FORM;Lo;0;R; 06AD;;;;N;;;;; FBD4;ARABIC LETTER NG FINAL FORM;Lo;0;R; 06AD;;;;N;;;;; FBD5;ARABIC LETTER NG INITIAL FORM;Lo;0;R; 06AD;;;;N;;;;; FBD6;ARABIC LETTER NG MEDIAL FORM;Lo;0;R; 06AD;;;;N;;;;; FBD7;ARABIC LETTER U ISOLATED FORM;Lo;0;R; 06C7;;;;N;;;;; FBD8;ARABIC LETTER U FINAL FORM;Lo;0;R; 06C7;;;;N;;;;; FBD9;ARABIC LETTER OE ISOLATED FORM;Lo;0;R; 06C6;;;;N;;;;; FBDA;ARABIC LETTER OE FINAL FORM;Lo;0;R; 06C6;;;;N;;;;; FBDB;ARABIC LETTER YU ISOLATED FORM;Lo;0;R; 06C8;;;;N;;;;; FBDC;ARABIC LETTER YU FINAL FORM;Lo;0;R; 06C8;;;;N;;;;; FBDD;ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM;Lo;0;R; 0677;;;;N;;;;; FBDE;ARABIC LETTER VE ISOLATED FORM;Lo;0;R; 06CB;;;;N;;;;; FBDF;ARABIC LETTER VE FINAL FORM;Lo;0;R; 06CB;;;;N;;;;; FBE0;ARABIC LETTER KIRGHIZ OE ISOLATED FORM;Lo;0;R; 06C5;;;;N;;;;; FBE1;ARABIC LETTER KIRGHIZ OE FINAL FORM;Lo;0;R; 06C5;;;;N;;;;; FBE2;ARABIC LETTER KIRGHIZ YU ISOLATED FORM;Lo;0;R; 06C9;;;;N;;;;; FBE3;ARABIC LETTER KIRGHIZ YU FINAL FORM;Lo;0;R; 06C9;;;;N;;;;; FBE4;ARABIC LETTER E ISOLATED FORM;Lo;0;R; 06D0;;;;N;;;;; FBE5;ARABIC LETTER E FINAL FORM;Lo;0;R; 06D0;;;;N;;;;; FBE6;ARABIC LETTER E INITIAL FORM;Lo;0;R; 06D0;;;;N;;;;; FBE7;ARABIC LETTER E MEDIAL FORM;Lo;0;R; 06D0;;;;N;;;;; FBE8;ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM;Lo;0;R; 0649;;;;N;;;;; FBE9;ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM;Lo;0;R; 0649;;;;N;;;;; FBEA;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM;Lo;0;R; 0626 0627;;;;N;;;;; FBEB;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM;Lo;0;R; 0626 0627;;;;N;;;;; FBEC;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM;Lo;0;R; 0626 06D5;;;;N;;;;; FBED;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM;Lo;0;R; 0626 06D5;;;;N;;;;; FBEE;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM;Lo;0;R; 0626 0648;;;;N;;;;; FBEF;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM;Lo;0;R; 0626 0648;;;;N;;;;; FBF0;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM;Lo;0;R; 0626 06C7;;;;N;;;;; FBF1;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM;Lo;0;R; 0626 06C7;;;;N;;;;; FBF2;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM;Lo;0;R; 0626 06C6;;;;N;;;;; FBF3;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM;Lo;0;R; 0626 06C6;;;;N;;;;; FBF4;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM;Lo;0;R; 0626 06C8;;;;N;;;;; FBF5;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM;Lo;0;R; 0626 06C8;;;;N;;;;; FBF6;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM;Lo;0;R; 0626 06D0;;;;N;;;;; FBF7;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E FINAL FORM;Lo;0;R; 0626 06D0;;;;N;;;;; FBF8;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM;Lo;0;R; 0626 06D0;;;;N;;;;; FBF9;ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R; 0626 0649;;;;N;;;;; FBFA;ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 0626 0649;;;;N;;;;; FBFB;ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM;Lo;0;R; 0626 0649;;;;N;;;;; FBFC;ARABIC LETTER FARSI YEH ISOLATED FORM;Lo;0;R; 06CC;;;;N;;;;; FBFD;ARABIC LETTER FARSI YEH FINAL FORM;Lo;0;R; 06CC;;;;N;;;;; FBFE;ARABIC LETTER FARSI YEH INITIAL FORM;Lo;0;R; 06CC;;;;N;;;;; FBFF;ARABIC LETTER FARSI YEH MEDIAL FORM;Lo;0;R; 06CC;;;;N;;;;; FC00;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM;Lo;0;R; 0626 062C;;;;N;;;;; FC01;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH ISOLATED FORM;Lo;0;R; 0626 062D;;;;N;;;;; FC02;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM ISOLATED FORM;Lo;0;R; 0626 0645;;;;N;;;;; FC03;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R; 0626 0649;;;;N;;;;; FC04;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH ISOLATED FORM;Lo;0;R; 0626 064A;;;;N;;;;; FC05;ARABIC LIGATURE BEH WITH JEEM ISOLATED FORM;Lo;0;R; 0628 062C;;;;N;;;;; FC06;ARABIC LIGATURE BEH WITH HAH ISOLATED FORM;Lo;0;R; 0628 062D;;;;N;;;;; FC07;ARABIC LIGATURE BEH WITH KHAH ISOLATED FORM;Lo;0;R; 0628 062E;;;;N;;;;; FC08;ARABIC LIGATURE BEH WITH MEEM ISOLATED FORM;Lo;0;R; 0628 0645;;;;N;;;;; FC09;ARABIC LIGATURE BEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R; 0628 0649;;;;N;;;;; FC0A;ARABIC LIGATURE BEH WITH YEH ISOLATED FORM;Lo;0;R; 0628 064A;;;;N;;;;; FC0B;ARABIC LIGATURE TEH WITH JEEM ISOLATED FORM;Lo;0;R; 062A 062C;;;;N;;;;; FC0C;ARABIC LIGATURE TEH WITH HAH ISOLATED FORM;Lo;0;R; 062A 062D;;;;N;;;;; FC0D;ARABIC LIGATURE TEH WITH KHAH ISOLATED FORM;Lo;0;R; 062A 062E;;;;N;;;;; FC0E;ARABIC LIGATURE TEH WITH MEEM ISOLATED FORM;Lo;0;R; 062A 0645;;;;N;;;;; FC0F;ARABIC LIGATURE TEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R; 062A 0649;;;;N;;;;; FC10;ARABIC LIGATURE TEH WITH YEH ISOLATED FORM;Lo;0;R; 062A 064A;;;;N;;;;; FC11;ARABIC LIGATURE THEH WITH JEEM ISOLATED FORM;Lo;0;R; 062B 062C;;;;N;;;;; FC12;ARABIC LIGATURE THEH WITH MEEM ISOLATED FORM;Lo;0;R; 062B 0645;;;;N;;;;; FC13;ARABIC LIGATURE THEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R; 062B 0649;;;;N;;;;; FC14;ARABIC LIGATURE THEH WITH YEH ISOLATED FORM;Lo;0;R; 062B 064A;;;;N;;;;; FC15;ARABIC LIGATURE JEEM WITH HAH ISOLATED FORM;Lo;0;R; 062C 062D;;;;N;;;;; FC16;ARABIC LIGATURE JEEM WITH MEEM ISOLATED FORM;Lo;0;R; 062C 0645;;;;N;;;;; FC17;ARABIC LIGATURE HAH WITH JEEM ISOLATED FORM;Lo;0;R; 062D 062C;;;;N;;;;; FC18;ARABIC LIGATURE HAH WITH MEEM ISOLATED FORM;Lo;0;R; 062D 0645;;;;N;;;;; FC19;ARABIC LIGATURE KHAH WITH JEEM ISOLATED FORM;Lo;0;R; 062E 062C;;;;N;;;;; FC1A;ARABIC LIGATURE KHAH WITH HAH ISOLATED FORM;Lo;0;R; 062E 062D;;;;N;;;;; FC1B;ARABIC LIGATURE KHAH WITH MEEM ISOLATED FORM;Lo;0;R; 062E 0645;;;;N;;;;; FC1C;ARABIC LIGATURE SEEN WITH JEEM ISOLATED FORM;Lo;0;R; 0633 062C;;;;N;;;;; FC1D;ARABIC LIGATURE SEEN WITH HAH ISOLATED FORM;Lo;0;R; 0633 062D;;;;N;;;;; FC1E;ARABIC LIGATURE SEEN WITH KHAH ISOLATED FORM;Lo;0;R; 0633 062E;;;;N;;;;; FC1F;ARABIC LIGATURE SEEN WITH MEEM ISOLATED FORM;Lo;0;R; 0633 0645;;;;N;;;;; FC20;ARABIC LIGATURE SAD WITH HAH ISOLATED FORM;Lo;0;R; 0635 062D;;;;N;;;;; FC21;ARABIC LIGATURE SAD WITH MEEM ISOLATED FORM;Lo;0;R; 0635 0645;;;;N;;;;; FC22;ARABIC LIGATURE DAD WITH JEEM ISOLATED FORM;Lo;0;R; 0636 062C;;;;N;;;;; FC23;ARABIC LIGATURE DAD WITH HAH ISOLATED FORM;Lo;0;R; 0636 062D;;;;N;;;;; FC24;ARABIC LIGATURE DAD WITH KHAH ISOLATED FORM;Lo;0;R; 0636 062E;;;;N;;;;; FC25;ARABIC LIGATURE DAD WITH MEEM ISOLATED FORM;Lo;0;R; 0636 0645;;;;N;;;;; FC26;ARABIC LIGATURE TAH WITH HAH ISOLATED FORM;Lo;0;R; 0637 062D;;;;N;;;;; FC27;ARABIC LIGATURE TAH WITH MEEM ISOLATED FORM;Lo;0;R; 0637 0645;;;;N;;;;; FC28;ARABIC LIGATURE ZAH WITH MEEM ISOLATED FORM;Lo;0;R; 0638 0645;;;;N;;;;; FC29;ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM;Lo;0;R; 0639 062C;;;;N;;;;; FC2A;ARABIC LIGATURE AIN WITH MEEM ISOLATED FORM;Lo;0;R; 0639 0645;;;;N;;;;; FC2B;ARABIC LIGATURE GHAIN WITH JEEM ISOLATED FORM;Lo;0;R; 063A 062C;;;;N;;;;; FC2C;ARABIC LIGATURE GHAIN WITH MEEM ISOLATED FORM;Lo;0;R; 063A 0645;;;;N;;;;; FC2D;ARABIC LIGATURE FEH WITH JEEM ISOLATED FORM;Lo;0;R; 0641 062C;;;;N;;;;; FC2E;ARABIC LIGATURE FEH WITH HAH ISOLATED FORM;Lo;0;R; 0641 062D;;;;N;;;;; FC2F;ARABIC LIGATURE FEH WITH KHAH ISOLATED FORM;Lo;0;R; 0641 062E;;;;N;;;;; FC30;ARABIC LIGATURE FEH WITH MEEM ISOLATED FORM;Lo;0;R; 0641 0645;;;;N;;;;; FC31;ARABIC LIGATURE FEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R; 0641 0649;;;;N;;;;; FC32;ARABIC LIGATURE FEH WITH YEH ISOLATED FORM;Lo;0;R; 0641 064A;;;;N;;;;; FC33;ARABIC LIGATURE QAF WITH HAH ISOLATED FORM;Lo;0;R; 0642 062D;;;;N;;;;; FC34;ARABIC LIGATURE QAF WITH MEEM ISOLATED FORM;Lo;0;R; 0642 0645;;;;N;;;;; FC35;ARABIC LIGATURE QAF WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R; 0642 0649;;;;N;;;;; FC36;ARABIC LIGATURE QAF WITH YEH ISOLATED FORM;Lo;0;R; 0642 064A;;;;N;;;;; FC37;ARABIC LIGATURE KAF WITH ALEF ISOLATED FORM;Lo;0;R; 0643 0627;;;;N;;;;; FC38;ARABIC LIGATURE KAF WITH JEEM ISOLATED FORM;Lo;0;R; 0643 062C;;;;N;;;;; FC39;ARABIC LIGATURE KAF WITH HAH ISOLATED FORM;Lo;0;R; 0643 062D;;;;N;;;;; FC3A;ARABIC LIGATURE KAF WITH KHAH ISOLATED FORM;Lo;0;R; 0643 062E;;;;N;;;;; FC3B;ARABIC LIGATURE KAF WITH LAM ISOLATED FORM;Lo;0;R; 0643 0644;;;;N;;;;; FC3C;ARABIC LIGATURE KAF WITH MEEM ISOLATED FORM;Lo;0;R; 0643 0645;;;;N;;;;; FC3D;ARABIC LIGATURE KAF WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R; 0643 0649;;;;N;;;;; FC3E;ARABIC LIGATURE KAF WITH YEH ISOLATED FORM;Lo;0;R; 0643 064A;;;;N;;;;; FC3F;ARABIC LIGATURE LAM WITH JEEM ISOLATED FORM;Lo;0;R; 0644 062C;;;;N;;;;; FC40;ARABIC LIGATURE LAM WITH HAH ISOLATED FORM;Lo;0;R; 0644 062D;;;;N;;;;; FC41;ARABIC LIGATURE LAM WITH KHAH ISOLATED FORM;Lo;0;R; 0644 062E;;;;N;;;;; FC42;ARABIC LIGATURE LAM WITH MEEM ISOLATED FORM;Lo;0;R; 0644 0645;;;;N;;;;; FC43;ARABIC LIGATURE LAM WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R; 0644 0649;;;;N;;;;; FC44;ARABIC LIGATURE LAM WITH YEH ISOLATED FORM;Lo;0;R; 0644 064A;;;;N;;;;; FC45;ARABIC LIGATURE MEEM WITH JEEM ISOLATED FORM;Lo;0;R; 0645 062C;;;;N;;;;; FC46;ARABIC LIGATURE MEEM WITH HAH ISOLATED FORM;Lo;0;R; 0645 062D;;;;N;;;;; FC47;ARABIC LIGATURE MEEM WITH KHAH ISOLATED FORM;Lo;0;R; 0645 062E;;;;N;;;;; FC48;ARABIC LIGATURE MEEM WITH MEEM ISOLATED FORM;Lo;0;R; 0645 0645;;;;N;;;;; FC49;ARABIC LIGATURE MEEM WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R; 0645 0649;;;;N;;;;; FC4A;ARABIC LIGATURE MEEM WITH YEH ISOLATED FORM;Lo;0;R; 0645 064A;;;;N;;;;; FC4B;ARABIC LIGATURE NOON WITH JEEM ISOLATED FORM;Lo;0;R; 0646 062C;;;;N;;;;; FC4C;ARABIC LIGATURE NOON WITH HAH ISOLATED FORM;Lo;0;R; 0646 062D;;;;N;;;;; FC4D;ARABIC LIGATURE NOON WITH KHAH ISOLATED FORM;Lo;0;R; 0646 062E;;;;N;;;;; FC4E;ARABIC LIGATURE NOON WITH MEEM ISOLATED FORM;Lo;0;R; 0646 0645;;;;N;;;;; FC4F;ARABIC LIGATURE NOON WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R; 0646 0649;;;;N;;;;; FC50;ARABIC LIGATURE NOON WITH YEH ISOLATED FORM;Lo;0;R; 0646 064A;;;;N;;;;; FC51;ARABIC LIGATURE HEH WITH JEEM ISOLATED FORM;Lo;0;R; 0647 062C;;;;N;;;;; FC52;ARABIC LIGATURE HEH WITH MEEM ISOLATED FORM;Lo;0;R; 0647 0645;;;;N;;;;; FC53;ARABIC LIGATURE HEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R; 0647 0649;;;;N;;;;; FC54;ARABIC LIGATURE HEH WITH YEH ISOLATED FORM;Lo;0;R; 0647 064A;;;;N;;;;; FC55;ARABIC LIGATURE YEH WITH JEEM ISOLATED FORM;Lo;0;R; 064A 062C;;;;N;;;;; FC56;ARABIC LIGATURE YEH WITH HAH ISOLATED FORM;Lo;0;R; 064A 062D;;;;N;;;;; FC57;ARABIC LIGATURE YEH WITH KHAH ISOLATED FORM;Lo;0;R; 064A 062E;;;;N;;;;; FC58;ARABIC LIGATURE YEH WITH MEEM ISOLATED FORM;Lo;0;R; 064A 0645;;;;N;;;;; FC59;ARABIC LIGATURE YEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R; 064A 0649;;;;N;;;;; FC5A;ARABIC LIGATURE YEH WITH YEH ISOLATED FORM;Lo;0;R; 064A 064A;;;;N;;;;; FC5B;ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;R; 0630 0670;;;;N;;;;; FC5C;ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;R; 0631 0670;;;;N;;;;; FC5D;ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;R; 0649 0670;;;;N;;;;; FC5E;ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM;Lo;0;R; 0020 0651 064C;;;;N;;;;; FC5F;ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM;Lo;0;R; 0020 0651 064D;;;;N;;;;; FC60;ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM;Lo;0;R; 0020 0651 064E;;;;N;;;;; FC61;ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM;Lo;0;R; 0020 0651 064F;;;;N;;;;; FC62;ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM;Lo;0;R; 0020 0651 0650;;;;N;;;;; FC63;ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;R; 0020 0651 0670;;;;N;;;;; FC64;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM;Lo;0;R; 0626 0631;;;;N;;;;; FC65;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ZAIN FINAL FORM;Lo;0;R; 0626 0632;;;;N;;;;; FC66;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM FINAL FORM;Lo;0;R; 0626 0645;;;;N;;;;; FC67;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH NOON FINAL FORM;Lo;0;R; 0626 0646;;;;N;;;;; FC68;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 0626 0649;;;;N;;;;; FC69;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH FINAL FORM;Lo;0;R; 0626 064A;;;;N;;;;; FC6A;ARABIC LIGATURE BEH WITH REH FINAL FORM;Lo;0;R; 0628 0631;;;;N;;;;; FC6B;ARABIC LIGATURE BEH WITH ZAIN FINAL FORM;Lo;0;R; 0628 0632;;;;N;;;;; FC6C;ARABIC LIGATURE BEH WITH MEEM FINAL FORM;Lo;0;R; 0628 0645;;;;N;;;;; FC6D;ARABIC LIGATURE BEH WITH NOON FINAL FORM;Lo;0;R; 0628 0646;;;;N;;;;; FC6E;ARABIC LIGATURE BEH WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 0628 0649;;;;N;;;;; FC6F;ARABIC LIGATURE BEH WITH YEH FINAL FORM;Lo;0;R; 0628 064A;;;;N;;;;; FC70;ARABIC LIGATURE TEH WITH REH FINAL FORM;Lo;0;R; 062A 0631;;;;N;;;;; FC71;ARABIC LIGATURE TEH WITH ZAIN FINAL FORM;Lo;0;R; 062A 0632;;;;N;;;;; FC72;ARABIC LIGATURE TEH WITH MEEM FINAL FORM;Lo;0;R; 062A 0645;;;;N;;;;; FC73;ARABIC LIGATURE TEH WITH NOON FINAL FORM;Lo;0;R; 062A 0646;;;;N;;;;; FC74;ARABIC LIGATURE TEH WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 062A 0649;;;;N;;;;; FC75;ARABIC LIGATURE TEH WITH YEH FINAL FORM;Lo;0;R; 062A 064A;;;;N;;;;; FC76;ARABIC LIGATURE THEH WITH REH FINAL FORM;Lo;0;R; 062B 0631;;;;N;;;;; FC77;ARABIC LIGATURE THEH WITH ZAIN FINAL FORM;Lo;0;R; 062B 0632;;;;N;;;;; FC78;ARABIC LIGATURE THEH WITH MEEM FINAL FORM;Lo;0;R; 062B 0645;;;;N;;;;; FC79;ARABIC LIGATURE THEH WITH NOON FINAL FORM;Lo;0;R; 062B 0646;;;;N;;;;; FC7A;ARABIC LIGATURE THEH WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 062B 0649;;;;N;;;;; FC7B;ARABIC LIGATURE THEH WITH YEH FINAL FORM;Lo;0;R; 062B 064A;;;;N;;;;; FC7C;ARABIC LIGATURE FEH WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 0641 0649;;;;N;;;;; FC7D;ARABIC LIGATURE FEH WITH YEH FINAL FORM;Lo;0;R; 0641 064A;;;;N;;;;; FC7E;ARABIC LIGATURE QAF WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 0642 0649;;;;N;;;;; FC7F;ARABIC LIGATURE QAF WITH YEH FINAL FORM;Lo;0;R; 0642 064A;;;;N;;;;; FC80;ARABIC LIGATURE KAF WITH ALEF FINAL FORM;Lo;0;R; 0643 0627;;;;N;;;;; FC81;ARABIC LIGATURE KAF WITH LAM FINAL FORM;Lo;0;R; 0643 0644;;;;N;;;;; FC82;ARABIC LIGATURE KAF WITH MEEM FINAL FORM;Lo;0;R; 0643 0645;;;;N;;;;; FC83;ARABIC LIGATURE KAF WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 0643 0649;;;;N;;;;; FC84;ARABIC LIGATURE KAF WITH YEH FINAL FORM;Lo;0;R; 0643 064A;;;;N;;;;; FC85;ARABIC LIGATURE LAM WITH MEEM FINAL FORM;Lo;0;R; 0644 0645;;;;N;;;;; FC86;ARABIC LIGATURE LAM WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 0644 0649;;;;N;;;;; FC87;ARABIC LIGATURE LAM WITH YEH FINAL FORM;Lo;0;R; 0644 064A;;;;N;;;;; FC88;ARABIC LIGATURE MEEM WITH ALEF FINAL FORM;Lo;0;R; 0645 0627;;;;N;;;;; FC89;ARABIC LIGATURE MEEM WITH MEEM FINAL FORM;Lo;0;R; 0645 0645;;;;N;;;;; FC8A;ARABIC LIGATURE NOON WITH REH FINAL FORM;Lo;0;R; 0646 0631;;;;N;;;;; FC8B;ARABIC LIGATURE NOON WITH ZAIN FINAL FORM;Lo;0;R; 0646 0632;;;;N;;;;; FC8C;ARABIC LIGATURE NOON WITH MEEM FINAL FORM;Lo;0;R; 0646 0645;;;;N;;;;; FC8D;ARABIC LIGATURE NOON WITH NOON FINAL FORM;Lo;0;R; 0646 0646;;;;N;;;;; FC8E;ARABIC LIGATURE NOON WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 0646 0649;;;;N;;;;; FC8F;ARABIC LIGATURE NOON WITH YEH FINAL FORM;Lo;0;R; 0646 064A;;;;N;;;;; FC90;ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM;Lo;0;R; 0649 0670;;;;N;;;;; FC91;ARABIC LIGATURE YEH WITH REH FINAL FORM;Lo;0;R; 064A 0631;;;;N;;;;; FC92;ARABIC LIGATURE YEH WITH ZAIN FINAL FORM;Lo;0;R; 064A 0632;;;;N;;;;; FC93;ARABIC LIGATURE YEH WITH MEEM FINAL FORM;Lo;0;R; 064A 0645;;;;N;;;;; FC94;ARABIC LIGATURE YEH WITH NOON FINAL FORM;Lo;0;R; 064A 0646;;;;N;;;;; FC95;ARABIC LIGATURE YEH WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 064A 0649;;;;N;;;;; FC96;ARABIC LIGATURE YEH WITH YEH FINAL FORM;Lo;0;R; 064A 064A;;;;N;;;;; FC97;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM;Lo;0;R; 0626 062C;;;;N;;;;; FC98;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH INITIAL FORM;Lo;0;R; 0626 062D;;;;N;;;;; FC99;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH KHAH INITIAL FORM;Lo;0;R; 0626 062E;;;;N;;;;; FC9A;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM INITIAL FORM;Lo;0;R; 0626 0645;;;;N;;;;; FC9B;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH INITIAL FORM;Lo;0;R; 0626 0647;;;;N;;;;; FC9C;ARABIC LIGATURE BEH WITH JEEM INITIAL FORM;Lo;0;R; 0628 062C;;;;N;;;;; FC9D;ARABIC LIGATURE BEH WITH HAH INITIAL FORM;Lo;0;R; 0628 062D;;;;N;;;;; FC9E;ARABIC LIGATURE BEH WITH KHAH INITIAL FORM;Lo;0;R; 0628 062E;;;;N;;;;; FC9F;ARABIC LIGATURE BEH WITH MEEM INITIAL FORM;Lo;0;R; 0628 0645;;;;N;;;;; FCA0;ARABIC LIGATURE BEH WITH HEH INITIAL FORM;Lo;0;R; 0628 0647;;;;N;;;;; FCA1;ARABIC LIGATURE TEH WITH JEEM INITIAL FORM;Lo;0;R; 062A 062C;;;;N;;;;; FCA2;ARABIC LIGATURE TEH WITH HAH INITIAL FORM;Lo;0;R; 062A 062D;;;;N;;;;; FCA3;ARABIC LIGATURE TEH WITH KHAH INITIAL FORM;Lo;0;R; 062A 062E;;;;N;;;;; FCA4;ARABIC LIGATURE TEH WITH MEEM INITIAL FORM;Lo;0;R; 062A 0645;;;;N;;;;; FCA5;ARABIC LIGATURE TEH WITH HEH INITIAL FORM;Lo;0;R; 062A 0647;;;;N;;;;; FCA6;ARABIC LIGATURE THEH WITH MEEM INITIAL FORM;Lo;0;R; 062B 0645;;;;N;;;;; FCA7;ARABIC LIGATURE JEEM WITH HAH INITIAL FORM;Lo;0;R; 062C 062D;;;;N;;;;; FCA8;ARABIC LIGATURE JEEM WITH MEEM INITIAL FORM;Lo;0;R; 062C 0645;;;;N;;;;; FCA9;ARABIC LIGATURE HAH WITH JEEM INITIAL FORM;Lo;0;R; 062D 062C;;;;N;;;;; FCAA;ARABIC LIGATURE HAH WITH MEEM INITIAL FORM;Lo;0;R; 062D 0645;;;;N;;;;; FCAB;ARABIC LIGATURE KHAH WITH JEEM INITIAL FORM;Lo;0;R; 062E 062C;;;;N;;;;; FCAC;ARABIC LIGATURE KHAH WITH MEEM INITIAL FORM;Lo;0;R; 062E 0645;;;;N;;;;; FCAD;ARABIC LIGATURE SEEN WITH JEEM INITIAL FORM;Lo;0;R; 0633 062C;;;;N;;;;; FCAE;ARABIC LIGATURE SEEN WITH HAH INITIAL FORM;Lo;0;R; 0633 062D;;;;N;;;;; FCAF;ARABIC LIGATURE SEEN WITH KHAH INITIAL FORM;Lo;0;R; 0633 062E;;;;N;;;;; FCB0;ARABIC LIGATURE SEEN WITH MEEM INITIAL FORM;Lo;0;R; 0633 0645;;;;N;;;;; FCB1;ARABIC LIGATURE SAD WITH HAH INITIAL FORM;Lo;0;R; 0635 062D;;;;N;;;;; FCB2;ARABIC LIGATURE SAD WITH KHAH INITIAL FORM;Lo;0;R; 0635 062E;;;;N;;;;; FCB3;ARABIC LIGATURE SAD WITH MEEM INITIAL FORM;Lo;0;R; 0635 0645;;;;N;;;;; FCB4;ARABIC LIGATURE DAD WITH JEEM INITIAL FORM;Lo;0;R; 0636 062C;;;;N;;;;; FCB5;ARABIC LIGATURE DAD WITH HAH INITIAL FORM;Lo;0;R; 0636 062D;;;;N;;;;; FCB6;ARABIC LIGATURE DAD WITH KHAH INITIAL FORM;Lo;0;R; 0636 062E;;;;N;;;;; FCB7;ARABIC LIGATURE DAD WITH MEEM INITIAL FORM;Lo;0;R; 0636 0645;;;;N;;;;; FCB8;ARABIC LIGATURE TAH WITH HAH INITIAL FORM;Lo;0;R; 0637 062D;;;;N;;;;; FCB9;ARABIC LIGATURE ZAH WITH MEEM INITIAL FORM;Lo;0;R; 0638 0645;;;;N;;;;; FCBA;ARABIC LIGATURE AIN WITH JEEM INITIAL FORM;Lo;0;R; 0639 062C;;;;N;;;;; FCBB;ARABIC LIGATURE AIN WITH MEEM INITIAL FORM;Lo;0;R; 0639 0645;;;;N;;;;; FCBC;ARABIC LIGATURE GHAIN WITH JEEM INITIAL FORM;Lo;0;R; 063A 062C;;;;N;;;;; FCBD;ARABIC LIGATURE GHAIN WITH MEEM INITIAL FORM;Lo;0;R; 063A 0645;;;;N;;;;; FCBE;ARABIC LIGATURE FEH WITH JEEM INITIAL FORM;Lo;0;R; 0641 062C;;;;N;;;;; FCBF;ARABIC LIGATURE FEH WITH HAH INITIAL FORM;Lo;0;R; 0641 062D;;;;N;;;;; FCC0;ARABIC LIGATURE FEH WITH KHAH INITIAL FORM;Lo;0;R; 0641 062E;;;;N;;;;; FCC1;ARABIC LIGATURE FEH WITH MEEM INITIAL FORM;Lo;0;R; 0641 0645;;;;N;;;;; FCC2;ARABIC LIGATURE QAF WITH HAH INITIAL FORM;Lo;0;R; 0642 062D;;;;N;;;;; FCC3;ARABIC LIGATURE QAF WITH MEEM INITIAL FORM;Lo;0;R; 0642 0645;;;;N;;;;; FCC4;ARABIC LIGATURE KAF WITH JEEM INITIAL FORM;Lo;0;R; 0643 062C;;;;N;;;;; FCC5;ARABIC LIGATURE KAF WITH HAH INITIAL FORM;Lo;0;R; 0643 062D;;;;N;;;;; FCC6;ARABIC LIGATURE KAF WITH KHAH INITIAL FORM;Lo;0;R; 0643 062E;;;;N;;;;; FCC7;ARABIC LIGATURE KAF WITH LAM INITIAL FORM;Lo;0;R; 0643 0644;;;;N;;;;; FCC8;ARABIC LIGATURE KAF WITH MEEM INITIAL FORM;Lo;0;R; 0643 0645;;;;N;;;;; FCC9;ARABIC LIGATURE LAM WITH JEEM INITIAL FORM;Lo;0;R; 0644 062C;;;;N;;;;; FCCA;ARABIC LIGATURE LAM WITH HAH INITIAL FORM;Lo;0;R; 0644 062D;;;;N;;;;; FCCB;ARABIC LIGATURE LAM WITH KHAH INITIAL FORM;Lo;0;R; 0644 062E;;;;N;;;;; FCCC;ARABIC LIGATURE LAM WITH MEEM INITIAL FORM;Lo;0;R; 0644 0645;;;;N;;;;; FCCD;ARABIC LIGATURE LAM WITH HEH INITIAL FORM;Lo;0;R; 0644 0647;;;;N;;;;; FCCE;ARABIC LIGATURE MEEM WITH JEEM INITIAL FORM;Lo;0;R; 0645 062C;;;;N;;;;; FCCF;ARABIC LIGATURE MEEM WITH HAH INITIAL FORM;Lo;0;R; 0645 062D;;;;N;;;;; FCD0;ARABIC LIGATURE MEEM WITH KHAH INITIAL FORM;Lo;0;R; 0645 062E;;;;N;;;;; FCD1;ARABIC LIGATURE MEEM WITH MEEM INITIAL FORM;Lo;0;R; 0645 0645;;;;N;;;;; FCD2;ARABIC LIGATURE NOON WITH JEEM INITIAL FORM;Lo;0;R; 0646 062C;;;;N;;;;; FCD3;ARABIC LIGATURE NOON WITH HAH INITIAL FORM;Lo;0;R; 0646 062D;;;;N;;;;; FCD4;ARABIC LIGATURE NOON WITH KHAH INITIAL FORM;Lo;0;R; 0646 062E;;;;N;;;;; FCD5;ARABIC LIGATURE NOON WITH MEEM INITIAL FORM;Lo;0;R; 0646 0645;;;;N;;;;; FCD6;ARABIC LIGATURE NOON WITH HEH INITIAL FORM;Lo;0;R; 0646 0647;;;;N;;;;; FCD7;ARABIC LIGATURE HEH WITH JEEM INITIAL FORM;Lo;0;R; 0647 062C;;;;N;;;;; FCD8;ARABIC LIGATURE HEH WITH MEEM INITIAL FORM;Lo;0;R; 0647 0645;;;;N;;;;; FCD9;ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM;Lo;0;R; 0647 0670;;;;N;;;;; FCDA;ARABIC LIGATURE YEH WITH JEEM INITIAL FORM;Lo;0;R; 064A 062C;;;;N;;;;; FCDB;ARABIC LIGATURE YEH WITH HAH INITIAL FORM;Lo;0;R; 064A 062D;;;;N;;;;; FCDC;ARABIC LIGATURE YEH WITH KHAH INITIAL FORM;Lo;0;R; 064A 062E;;;;N;;;;; FCDD;ARABIC LIGATURE YEH WITH MEEM INITIAL FORM;Lo;0;R; 064A 0645;;;;N;;;;; FCDE;ARABIC LIGATURE YEH WITH HEH INITIAL FORM;Lo;0;R; 064A 0647;;;;N;;;;; FCDF;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM;Lo;0;R; 0626 0645;;;;N;;;;; FCE0;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH MEDIAL FORM;Lo;0;R; 0626 0647;;;;N;;;;; FCE1;ARABIC LIGATURE BEH WITH MEEM MEDIAL FORM;Lo;0;R; 0628 0645;;;;N;;;;; FCE2;ARABIC LIGATURE BEH WITH HEH MEDIAL FORM;Lo;0;R; 0628 0647;;;;N;;;;; FCE3;ARABIC LIGATURE TEH WITH MEEM MEDIAL FORM;Lo;0;R; 062A 0645;;;;N;;;;; FCE4;ARABIC LIGATURE TEH WITH HEH MEDIAL FORM;Lo;0;R; 062A 0647;;;;N;;;;; FCE5;ARABIC LIGATURE THEH WITH MEEM MEDIAL FORM;Lo;0;R; 062B 0645;;;;N;;;;; FCE6;ARABIC LIGATURE THEH WITH HEH MEDIAL FORM;Lo;0;R; 062B 0647;;;;N;;;;; FCE7;ARABIC LIGATURE SEEN WITH MEEM MEDIAL FORM;Lo;0;R; 0633 0645;;;;N;;;;; FCE8;ARABIC LIGATURE SEEN WITH HEH MEDIAL FORM;Lo;0;R; 0633 0647;;;;N;;;;; FCE9;ARABIC LIGATURE SHEEN WITH MEEM MEDIAL FORM;Lo;0;R; 0634 0645;;;;N;;;;; FCEA;ARABIC LIGATURE SHEEN WITH HEH MEDIAL FORM;Lo;0;R; 0634 0647;;;;N;;;;; FCEB;ARABIC LIGATURE KAF WITH LAM MEDIAL FORM;Lo;0;R; 0643 0644;;;;N;;;;; FCEC;ARABIC LIGATURE KAF WITH MEEM MEDIAL FORM;Lo;0;R; 0643 0645;;;;N;;;;; FCED;ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM;Lo;0;R; 0644 0645;;;;N;;;;; FCEE;ARABIC LIGATURE NOON WITH MEEM MEDIAL FORM;Lo;0;R; 0646 0645;;;;N;;;;; FCEF;ARABIC LIGATURE NOON WITH HEH MEDIAL FORM;Lo;0;R; 0646 0647;;;;N;;;;; FCF0;ARABIC LIGATURE YEH WITH MEEM MEDIAL FORM;Lo;0;R; 064A 0645;;;;N;;;;; FCF1;ARABIC LIGATURE YEH WITH HEH MEDIAL FORM;Lo;0;R; 064A 0647;;;;N;;;;; FCF2;ARABIC LIGATURE SHADDA WITH FATHA MEDIAL FORM;Lo;0;R; 0640 0651 064E;;;;N;;;;; FCF3;ARABIC LIGATURE SHADDA WITH DAMMA MEDIAL FORM;Lo;0;R; 0640 0651 064F;;;;N;;;;; FCF4;ARABIC LIGATURE SHADDA WITH KASRA MEDIAL FORM;Lo;0;R; 0640 0651 0650;;;;N;;;;; FCF5;ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R; 0637 0649;;;;N;;;;; FCF6;ARABIC LIGATURE TAH WITH YEH ISOLATED FORM;Lo;0;R; 0637 064A;;;;N;;;;; FCF7;ARABIC LIGATURE AIN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R; 0639 0649;;;;N;;;;; FCF8;ARABIC LIGATURE AIN WITH YEH ISOLATED FORM;Lo;0;R; 0639 064A;;;;N;;;;; FCF9;ARABIC LIGATURE GHAIN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R; 063A 0649;;;;N;;;;; FCFA;ARABIC LIGATURE GHAIN WITH YEH ISOLATED FORM;Lo;0;R; 063A 064A;;;;N;;;;; FCFB;ARABIC LIGATURE SEEN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R; 0633 0649;;;;N;;;;; FCFC;ARABIC LIGATURE SEEN WITH YEH ISOLATED FORM;Lo;0;R; 0633 064A;;;;N;;;;; FCFD;ARABIC LIGATURE SHEEN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R; 0634 0649;;;;N;;;;; FCFE;ARABIC LIGATURE SHEEN WITH YEH ISOLATED FORM;Lo;0;R; 0634 064A;;;;N;;;;; FCFF;ARABIC LIGATURE HAH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R; 062D 0649;;;;N;;;;; FD00;ARABIC LIGATURE HAH WITH YEH ISOLATED FORM;Lo;0;R; 062D 064A;;;;N;;;;; FD01;ARABIC LIGATURE JEEM WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R; 062C 0649;;;;N;;;;; FD02;ARABIC LIGATURE JEEM WITH YEH ISOLATED FORM;Lo;0;R; 062C 064A;;;;N;;;;; FD03;ARABIC LIGATURE KHAH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R; 062E 0649;;;;N;;;;; FD04;ARABIC LIGATURE KHAH WITH YEH ISOLATED FORM;Lo;0;R; 062E 064A;;;;N;;;;; FD05;ARABIC LIGATURE SAD WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R; 0635 0649;;;;N;;;;; FD06;ARABIC LIGATURE SAD WITH YEH ISOLATED FORM;Lo;0;R; 0635 064A;;;;N;;;;; FD07;ARABIC LIGATURE DAD WITH ALEF MAKSURA ISOLATED FORM;Lo;0;R; 0636 0649;;;;N;;;;; FD08;ARABIC LIGATURE DAD WITH YEH ISOLATED FORM;Lo;0;R; 0636 064A;;;;N;;;;; FD09;ARABIC LIGATURE SHEEN WITH JEEM ISOLATED FORM;Lo;0;R; 0634 062C;;;;N;;;;; FD0A;ARABIC LIGATURE SHEEN WITH HAH ISOLATED FORM;Lo;0;R; 0634 062D;;;;N;;;;; FD0B;ARABIC LIGATURE SHEEN WITH KHAH ISOLATED FORM;Lo;0;R; 0634 062E;;;;N;;;;; FD0C;ARABIC LIGATURE SHEEN WITH MEEM ISOLATED FORM;Lo;0;R; 0634 0645;;;;N;;;;; FD0D;ARABIC LIGATURE SHEEN WITH REH ISOLATED FORM;Lo;0;R; 0634 0631;;;;N;;;;; FD0E;ARABIC LIGATURE SEEN WITH REH ISOLATED FORM;Lo;0;R; 0633 0631;;;;N;;;;; FD0F;ARABIC LIGATURE SAD WITH REH ISOLATED FORM;Lo;0;R; 0635 0631;;;;N;;;;; FD10;ARABIC LIGATURE DAD WITH REH ISOLATED FORM;Lo;0;R; 0636 0631;;;;N;;;;; FD11;ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 0637 0649;;;;N;;;;; FD12;ARABIC LIGATURE TAH WITH YEH FINAL FORM;Lo;0;R; 0637 064A;;;;N;;;;; FD13;ARABIC LIGATURE AIN WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 0639 0649;;;;N;;;;; FD14;ARABIC LIGATURE AIN WITH YEH FINAL FORM;Lo;0;R; 0639 064A;;;;N;;;;; FD15;ARABIC LIGATURE GHAIN WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 063A 0649;;;;N;;;;; FD16;ARABIC LIGATURE GHAIN WITH YEH FINAL FORM;Lo;0;R; 063A 064A;;;;N;;;;; FD17;ARABIC LIGATURE SEEN WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 0633 0649;;;;N;;;;; FD18;ARABIC LIGATURE SEEN WITH YEH FINAL FORM;Lo;0;R; 0633 064A;;;;N;;;;; FD19;ARABIC LIGATURE SHEEN WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 0634 0649;;;;N;;;;; FD1A;ARABIC LIGATURE SHEEN WITH YEH FINAL FORM;Lo;0;R; 0634 064A;;;;N;;;;; FD1B;ARABIC LIGATURE HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 062D 0649;;;;N;;;;; FD1C;ARABIC LIGATURE HAH WITH YEH FINAL FORM;Lo;0;R; 062D 064A;;;;N;;;;; FD1D;ARABIC LIGATURE JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 062C 0649;;;;N;;;;; FD1E;ARABIC LIGATURE JEEM WITH YEH FINAL FORM;Lo;0;R; 062C 064A;;;;N;;;;; FD1F;ARABIC LIGATURE KHAH WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 062E 0649;;;;N;;;;; FD20;ARABIC LIGATURE KHAH WITH YEH FINAL FORM;Lo;0;R; 062E 064A;;;;N;;;;; FD21;ARABIC LIGATURE SAD WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 0635 0649;;;;N;;;;; FD22;ARABIC LIGATURE SAD WITH YEH FINAL FORM;Lo;0;R; 0635 064A;;;;N;;;;; FD23;ARABIC LIGATURE DAD WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 0636 0649;;;;N;;;;; FD24;ARABIC LIGATURE DAD WITH YEH FINAL FORM;Lo;0;R; 0636 064A;;;;N;;;;; FD25;ARABIC LIGATURE SHEEN WITH JEEM FINAL FORM;Lo;0;R; 0634 062C;;;;N;;;;; FD26;ARABIC LIGATURE SHEEN WITH HAH FINAL FORM;Lo;0;R; 0634 062D;;;;N;;;;; FD27;ARABIC LIGATURE SHEEN WITH KHAH FINAL FORM;Lo;0;R; 0634 062E;;;;N;;;;; FD28;ARABIC LIGATURE SHEEN WITH MEEM FINAL FORM;Lo;0;R; 0634 0645;;;;N;;;;; FD29;ARABIC LIGATURE SHEEN WITH REH FINAL FORM;Lo;0;R; 0634 0631;;;;N;;;;; FD2A;ARABIC LIGATURE SEEN WITH REH FINAL FORM;Lo;0;R; 0633 0631;;;;N;;;;; FD2B;ARABIC LIGATURE SAD WITH REH FINAL FORM;Lo;0;R; 0635 0631;;;;N;;;;; FD2C;ARABIC LIGATURE DAD WITH REH FINAL FORM;Lo;0;R; 0636 0631;;;;N;;;;; FD2D;ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM;Lo;0;R; 0634 062C;;;;N;;;;; FD2E;ARABIC LIGATURE SHEEN WITH HAH INITIAL FORM;Lo;0;R; 0634 062D;;;;N;;;;; FD2F;ARABIC LIGATURE SHEEN WITH KHAH INITIAL FORM;Lo;0;R; 0634 062E;;;;N;;;;; FD30;ARABIC LIGATURE SHEEN WITH MEEM INITIAL FORM;Lo;0;R; 0634 0645;;;;N;;;;; FD31;ARABIC LIGATURE SEEN WITH HEH INITIAL FORM;Lo;0;R; 0633 0647;;;;N;;;;; FD32;ARABIC LIGATURE SHEEN WITH HEH INITIAL FORM;Lo;0;R; 0634 0647;;;;N;;;;; FD33;ARABIC LIGATURE TAH WITH MEEM INITIAL FORM;Lo;0;R; 0637 0645;;;;N;;;;; FD34;ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM;Lo;0;R; 0633 062C;;;;N;;;;; FD35;ARABIC LIGATURE SEEN WITH HAH MEDIAL FORM;Lo;0;R; 0633 062D;;;;N;;;;; FD36;ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM;Lo;0;R; 0633 062E;;;;N;;;;; FD37;ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM;Lo;0;R; 0634 062C;;;;N;;;;; FD38;ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM;Lo;0;R; 0634 062D;;;;N;;;;; FD39;ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM;Lo;0;R; 0634 062E;;;;N;;;;; FD3A;ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM;Lo;0;R; 0637 0645;;;;N;;;;; FD3B;ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM;Lo;0;R; 0638 0645;;;;N;;;;; FD3C;ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM;Lo;0;R; 0627 064B;;;;N;;;;; FD3D;ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM;Lo;0;R; 0627 064B;;;;N;;;;; FD3E;ORNATE LEFT PARENTHESIS;Ps;0;ON;;;;;N;;;;; FD3F;ORNATE RIGHT PARENTHESIS;Pe;0;ON;;;;;N;;;;; FD50;ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM;Lo;0;R; 062A 062C 0645;;;;N;;;;; FD51;ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM;Lo;0;R; 062A 062D 062C;;;;N;;;;; FD52;ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM;Lo;0;R; 062A 062D 062C;;;;N;;;;; FD53;ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM;Lo;0;R; 062A 062D 0645;;;;N;;;;; FD54;ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM;Lo;0;R; 062A 062E 0645;;;;N;;;;; FD55;ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM;Lo;0;R; 062A 0645 062C;;;;N;;;;; FD56;ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM;Lo;0;R; 062A 0645 062D;;;;N;;;;; FD57;ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM;Lo;0;R; 062A 0645 062E;;;;N;;;;; FD58;ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM;Lo;0;R; 062C 0645 062D;;;;N;;;;; FD59;ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM;Lo;0;R; 062C 0645 062D;;;;N;;;;; FD5A;ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM;Lo;0;R; 062D 0645 064A;;;;N;;;;; FD5B;ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 062D 0645 0649;;;;N;;;;; FD5C;ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM;Lo;0;R; 0633 062D 062C;;;;N;;;;; FD5D;ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM;Lo;0;R; 0633 062C 062D;;;;N;;;;; FD5E;ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 0633 062C 0649;;;;N;;;;; FD5F;ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM;Lo;0;R; 0633 0645 062D;;;;N;;;;; FD60;ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM;Lo;0;R; 0633 0645 062D;;;;N;;;;; FD61;ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM;Lo;0;R; 0633 0645 062C;;;;N;;;;; FD62;ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM;Lo;0;R; 0633 0645 0645;;;;N;;;;; FD63;ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM;Lo;0;R; 0633 0645 0645;;;;N;;;;; FD64;ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM;Lo;0;R; 0635 062D 062D;;;;N;;;;; FD65;ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM;Lo;0;R; 0635 062D 062D;;;;N;;;;; FD66;ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM;Lo;0;R; 0635 0645 0645;;;;N;;;;; FD67;ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM;Lo;0;R; 0634 062D 0645;;;;N;;;;; FD68;ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM;Lo;0;R; 0634 062D 0645;;;;N;;;;; FD69;ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM;Lo;0;R; 0634 062C 064A;;;;N;;;;; FD6A;ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM;Lo;0;R; 0634 0645 062E;;;;N;;;;; FD6B;ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM;Lo;0;R; 0634 0645 062E;;;;N;;;;; FD6C;ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM;Lo;0;R; 0634 0645 0645;;;;N;;;;; FD6D;ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM;Lo;0;R; 0634 0645 0645;;;;N;;;;; FD6E;ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 0636 062D 0649;;;;N;;;;; FD6F;ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM;Lo;0;R; 0636 062E 0645;;;;N;;;;; FD70;ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM;Lo;0;R; 0636 062E 0645;;;;N;;;;; FD71;ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM;Lo;0;R; 0637 0645 062D;;;;N;;;;; FD72;ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM;Lo;0;R; 0637 0645 062D;;;;N;;;;; FD73;ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM;Lo;0;R; 0637 0645 0645;;;;N;;;;; FD74;ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM;Lo;0;R; 0637 0645 064A;;;;N;;;;; FD75;ARABIC LIGATURE AIN WITH JEEM WITH MEEM FINAL FORM;Lo;0;R; 0639 062C 0645;;;;N;;;;; FD76;ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM;Lo;0;R; 0639 0645 0645;;;;N;;;;; FD77;ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM;Lo;0;R; 0639 0645 0645;;;;N;;;;; FD78;ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 0639 0645 0649;;;;N;;;;; FD79;ARABIC LIGATURE GHAIN WITH MEEM WITH MEEM FINAL FORM;Lo;0;R; 063A 0645 0645;;;;N;;;;; FD7A;ARABIC LIGATURE GHAIN WITH MEEM WITH YEH FINAL FORM;Lo;0;R; 063A 0645 064A;;;;N;;;;; FD7B;ARABIC LIGATURE GHAIN WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 063A 0645 0649;;;;N;;;;; FD7C;ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM;Lo;0;R; 0641 062E 0645;;;;N;;;;; FD7D;ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM;Lo;0;R; 0641 062E 0645;;;;N;;;;; FD7E;ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM;Lo;0;R; 0642 0645 062D;;;;N;;;;; FD7F;ARABIC LIGATURE QAF WITH MEEM WITH MEEM FINAL FORM;Lo;0;R; 0642 0645 0645;;;;N;;;;; FD80;ARABIC LIGATURE LAM WITH HAH WITH MEEM FINAL FORM;Lo;0;R; 0644 062D 0645;;;;N;;;;; FD81;ARABIC LIGATURE LAM WITH HAH WITH YEH FINAL FORM;Lo;0;R; 0644 062D 064A;;;;N;;;;; FD82;ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 0644 062D 0649;;;;N;;;;; FD83;ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM;Lo;0;R; 0644 062C 062C;;;;N;;;;; FD84;ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM;Lo;0;R; 0644 062C 062C;;;;N;;;;; FD85;ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM;Lo;0;R; 0644 062E 0645;;;;N;;;;; FD86;ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM;Lo;0;R; 0644 062E 0645;;;;N;;;;; FD87;ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM;Lo;0;R; 0644 0645 062D;;;;N;;;;; FD88;ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM;Lo;0;R; 0644 0645 062D;;;;N;;;;; FD89;ARABIC LIGATURE MEEM WITH HAH WITH JEEM INITIAL FORM;Lo;0;R; 0645 062D 062C;;;;N;;;;; FD8A;ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM;Lo;0;R; 0645 062D 0645;;;;N;;;;; FD8B;ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM;Lo;0;R; 0645 062D 064A;;;;N;;;;; FD8C;ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM;Lo;0;R; 0645 062C 062D;;;;N;;;;; FD8D;ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM;Lo;0;R; 0645 062C 0645;;;;N;;;;; FD8E;ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM;Lo;0;R; 0645 062E 062C;;;;N;;;;; FD8F;ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM;Lo;0;R; 0645 062E 0645;;;;N;;;;; FD92;ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM;Lo;0;R; 0645 062C 062E;;;;N;;;;; FD93;ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM;Lo;0;R; 0647 0645 062C;;;;N;;;;; FD94;ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM;Lo;0;R; 0647 0645 0645;;;;N;;;;; FD95;ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM;Lo;0;R; 0646 062D 0645;;;;N;;;;; FD96;ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 0646 062D 0649;;;;N;;;;; FD97;ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM;Lo;0;R; 0646 062C 0645;;;;N;;;;; FD98;ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM;Lo;0;R; 0646 062C 0645;;;;N;;;;; FD99;ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 0646 062C 0649;;;;N;;;;; FD9A;ARABIC LIGATURE NOON WITH MEEM WITH YEH FINAL FORM;Lo;0;R; 0646 0645 064A;;;;N;;;;; FD9B;ARABIC LIGATURE NOON WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 0646 0645 0649;;;;N;;;;; FD9C;ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM;Lo;0;R; 064A 0645 0645;;;;N;;;;; FD9D;ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM;Lo;0;R; 064A 0645 0645;;;;N;;;;; FD9E;ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM;Lo;0;R; 0628 062E 064A;;;;N;;;;; FD9F;ARABIC LIGATURE TEH WITH JEEM WITH YEH FINAL FORM;Lo;0;R; 062A 062C 064A;;;;N;;;;; FDA0;ARABIC LIGATURE TEH WITH JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 062A 062C 0649;;;;N;;;;; FDA1;ARABIC LIGATURE TEH WITH KHAH WITH YEH FINAL FORM;Lo;0;R; 062A 062E 064A;;;;N;;;;; FDA2;ARABIC LIGATURE TEH WITH KHAH WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 062A 062E 0649;;;;N;;;;; FDA3;ARABIC LIGATURE TEH WITH MEEM WITH YEH FINAL FORM;Lo;0;R; 062A 0645 064A;;;;N;;;;; FDA4;ARABIC LIGATURE TEH WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 062A 0645 0649;;;;N;;;;; FDA5;ARABIC LIGATURE JEEM WITH MEEM WITH YEH FINAL FORM;Lo;0;R; 062C 0645 064A;;;;N;;;;; FDA6;ARABIC LIGATURE JEEM WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 062C 062D 0649;;;;N;;;;; FDA7;ARABIC LIGATURE JEEM WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 062C 0645 0649;;;;N;;;;; FDA8;ARABIC LIGATURE SEEN WITH KHAH WITH ALEF MAKSURA FINAL FORM;Lo;0;R; 0633 062E 0649;;;;N;;;;; FDA9;ARABIC LIGATURE SAD WITH HAH WITH YEH FINAL FORM;Lo;0;R; 0635 062D 064A;;;;N;;;;; FDAA;ARABIC LIGATURE SHEEN WITH HAH WITH YEH FINAL FORM;Lo;0;R; 0634 062D 064A;;;;N;;;;; FDAB;ARABIC LIGATURE DAD WITH HAH WITH YEH FINAL FORM;Lo;0;R; 0636 062D 064A;;;;N;;;;; FDAC;ARABIC LIGATURE LAM WITH JEEM WITH YEH FINAL FORM;Lo;0;R; 0644 062C 064A;;;;N;;;;; FDAD;ARABIC LIGATURE LAM WITH MEEM WITH YEH FINAL FORM;Lo;0;R; 0644 0645 064A;;;;N;;;;; FDAE;ARABIC LIGATURE YEH WITH HAH WITH YEH FINAL FORM;Lo;0;R; 064A 062D 064A;;;;N;;;;; FDAF;ARABIC LIGATURE YEH WITH JEEM WITH YEH FINAL FORM;Lo;0;R; 064A 062C 064A;;;;N;;;;; FDB0;ARABIC LIGATURE YEH WITH MEEM WITH YEH FINAL FORM;Lo;0;R; 064A 0645 064A;;;;N;;;;; FDB1;ARABIC LIGATURE MEEM WITH MEEM WITH YEH FINAL FORM;Lo;0;R; 0645 0645 064A;;;;N;;;;; FDB2;ARABIC LIGATURE QAF WITH MEEM WITH YEH FINAL FORM;Lo;0;R; 0642 0645 064A;;;;N;;;;; FDB3;ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM;Lo;0;R; 0646 062D 064A;;;;N;;;;; FDB4;ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM;Lo;0;R; 0642 0645 062D;;;;N;;;;; FDB5;ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM;Lo;0;R; 0644 062D 0645;;;;N;;;;; FDB6;ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM;Lo;0;R; 0639 0645 064A;;;;N;;;;; FDB7;ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM;Lo;0;R; 0643 0645 064A;;;;N;;;;; FDB8;ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM;Lo;0;R; 0646 062C 062D;;;;N;;;;; FDB9;ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM;Lo;0;R; 0645 062E 064A;;;;N;;;;; FDBA;ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM;Lo;0;R; 0644 062C 0645;;;;N;;;;; FDBB;ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM;Lo;0;R; 0643 0645 0645;;;;N;;;;; FDBC;ARABIC LIGATURE LAM WITH JEEM WITH MEEM FINAL FORM;Lo;0;R; 0644 062C 0645;;;;N;;;;; FDBD;ARABIC LIGATURE NOON WITH JEEM WITH HAH FINAL FORM;Lo;0;R; 0646 062C 062D;;;;N;;;;; FDBE;ARABIC LIGATURE JEEM WITH HAH WITH YEH FINAL FORM;Lo;0;R; 062C 062D 064A;;;;N;;;;; FDBF;ARABIC LIGATURE HAH WITH JEEM WITH YEH FINAL FORM;Lo;0;R; 062D 062C 064A;;;;N;;;;; FDC0;ARABIC LIGATURE MEEM WITH JEEM WITH YEH FINAL FORM;Lo;0;R; 0645 062C 064A;;;;N;;;;; FDC1;ARABIC LIGATURE FEH WITH MEEM WITH YEH FINAL FORM;Lo;0;R; 0641 0645 064A;;;;N;;;;; FDC2;ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM;Lo;0;R; 0628 062D 064A;;;;N;;;;; FDC3;ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM;Lo;0;R; 0643 0645 0645;;;;N;;;;; FDC4;ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM;Lo;0;R; 0639 062C 0645;;;;N;;;;; FDC5;ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM;Lo;0;R; 0635 0645 0645;;;;N;;;;; FDC6;ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM;Lo;0;R; 0633 062E 064A;;;;N;;;;; FDC7;ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM;Lo;0;R; 0646 062C 064A;;;;N;;;;; FDF0;ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM;Lo;0;R; 0635 0644 06D2;;;;N;;;;; FDF1;ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM;Lo;0;R; 0642 0644 06D2;;;;N;;;;; FDF2;ARABIC LIGATURE ALLAH ISOLATED FORM;Lo;0;R; 0627 0644 0644 0647;;;;N;;;;; FDF3;ARABIC LIGATURE AKBAR ISOLATED FORM;Lo;0;R; 0627 0643 0628 0631;;;;N;;;;; FDF4;ARABIC LIGATURE MOHAMMAD ISOLATED FORM;Lo;0;R; 0645 062D 0645 062F;;;;N;;;;; FDF5;ARABIC LIGATURE SALAM ISOLATED FORM;Lo;0;R; 0635 0644 0639 0645;;;;N;;;;; FDF6;ARABIC LIGATURE RASOUL ISOLATED FORM;Lo;0;R; 0631 0633 0648 0644;;;;N;;;;; FDF7;ARABIC LIGATURE ALAYHE ISOLATED FORM;Lo;0;R; 0639 0644 064A 0647;;;;N;;;;; FDF8;ARABIC LIGATURE WASALLAM ISOLATED FORM;Lo;0;R; 0648 0633 0644 0645;;;;N;;;;; FDF9;ARABIC LIGATURE SALLA ISOLATED FORM;Lo;0;R; 0635 0644 0649;;;;N;;;;; FDFA;ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM;Lo;0;R; 0635 0644 0649 0020 0627 0644 0644 0647 0020 0639 0644 064A 0647 0020 0648 0633 0644 0645;;;;N;ARABIC LETTER SALLALLAHOU ALAYHE WASALLAM;;;; FDFB;ARABIC LIGATURE JALLAJALALOUHOU;Lo;0;R; 062C 0644 0020 062C 0644 0627 0644 0647;;;;N;ARABIC LETTER JALLAJALALOUHOU;;;; FE20;COMBINING LIGATURE LEFT HALF;Mn;230;ON;;;;;N;;;;; FE21;COMBINING LIGATURE RIGHT HALF;Mn;230;ON;;;;;N;;;;; FE22;COMBINING DOUBLE TILDE LEFT HALF;Mn;230;ON;;;;;N;;;;; FE23;COMBINING DOUBLE TILDE RIGHT HALF;Mn;230;ON;;;;;N;;;;; FE30;PRESENTATION FORM FOR VERTICAL TWO DOT LEADER;Po;0;ON; 2025;;;;N;GLYPH FOR VERTICAL TWO DOT LEADER;;;; FE31;PRESENTATION FORM FOR VERTICAL EM DASH;Pd;0;ON; 2014;;;;N;GLYPH FOR VERTICAL EM DASH;;;; FE32;PRESENTATION FORM FOR VERTICAL EN DASH;Pd;0;ON; 2013;;;;N;GLYPH FOR VERTICAL EN DASH;;;; FE33;PRESENTATION FORM FOR VERTICAL LOW LINE;Pc;0;ON; 005F;;;;N;GLYPH FOR VERTICAL SPACING UNDERSCORE;;;; FE34;PRESENTATION FORM FOR VERTICAL WAVY LOW LINE;Pc;0;ON; 005F;;;;N;GLYPH FOR VERTICAL SPACING WAVY UNDERSCORE;;;; FE35;PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS;Ps;0;ON; 0028;;;;N;GLYPH FOR VERTICAL OPENING PARENTHESIS;;;; FE36;PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS;Pe;0;ON; 0029;;;;N;GLYPH FOR VERTICAL CLOSING PARENTHESIS;;;; FE37;PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET;Ps;0;ON; 007B;;;;N;GLYPH FOR VERTICAL OPENING CURLY BRACKET;;;; FE38;PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET;Pe;0;ON; 007D;;;;N;GLYPH FOR VERTICAL CLOSING CURLY BRACKET;;;; FE39;PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET;Ps;0;ON; 3014;;;;N;GLYPH FOR VERTICAL OPENING TORTOISE SHELL BRACKET;;;; FE3A;PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET;Pe;0;ON; 3015;;;;N;GLYPH FOR VERTICAL CLOSING TORTOISE SHELL BRACKET;;;; FE3B;PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET;Ps;0;ON; 3010;;;;N;GLYPH FOR VERTICAL OPENING BLACK LENTICULAR BRACKET;;;; FE3C;PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET;Pe;0;ON; 3011;;;;N;GLYPH FOR VERTICAL CLOSING BLACK LENTICULAR BRACKET;;;; FE3D;PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET;Ps;0;ON; 300A;;;;N;GLYPH FOR VERTICAL OPENING DOUBLE ANGLE BRACKET;;;; FE3E;PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET;Pe;0;ON; 300B;;;;N;GLYPH FOR VERTICAL CLOSING DOUBLE ANGLE BRACKET;;;; FE3F;PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET;Ps;0;ON; 3008;;;;N;GLYPH FOR VERTICAL OPENING ANGLE BRACKET;;;; FE40;PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET;Pe;0;ON; 3009;;;;N;GLYPH FOR VERTICAL CLOSING ANGLE BRACKET;;;; FE41;PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET;Ps;0;ON; 300C;;;;N;GLYPH FOR VERTICAL OPENING CORNER BRACKET;;;; FE42;PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET;Pe;0;ON; 300D;;;;N;GLYPH FOR VERTICAL CLOSING CORNER BRACKET;;;; FE43;PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET;Ps;0;ON; 300E;;;;N;GLYPH FOR VERTICAL OPENING WHITE CORNER BRACKET;;;; FE44;PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET;Pe;0;ON; 300F;;;;N;GLYPH FOR VERTICAL CLOSING WHITE CORNER BRACKET;;;; FE49;DASHED OVERLINE;Po;0;ON; 203E;;;;N;SPACING DASHED OVERSCORE;;;; FE4A;CENTRELINE OVERLINE;Po;0;ON; 203E;;;;N;SPACING CENTERLINE OVERSCORE;;;; FE4B;WAVY OVERLINE;Po;0;ON; 203E;;;;N;SPACING WAVY OVERSCORE;;;; FE4C;DOUBLE WAVY OVERLINE;Po;0;ON; 203E;;;;N;SPACING DOUBLE WAVY OVERSCORE;;;; FE4D;DASHED LOW LINE;Pc;0;ON; 005F;;;;N;SPACING DASHED UNDERSCORE;;;; FE4E;CENTRELINE LOW LINE;Pc;0;ON; 005F;;;;N;SPACING CENTERLINE UNDERSCORE;;;; FE4F;WAVY LOW LINE;Pc;0;ON; 005F;;;;N;SPACING WAVY UNDERSCORE;;;; FE50;SMALL COMMA;Po;0;CS; 002C;;;;N;;;;; FE51;SMALL IDEOGRAPHIC COMMA;Po;0;ON; 3001;;;;N;;;;; FE52;SMALL FULL STOP;Po;0;CS; 002E;;;;N;SMALL PERIOD;;;; FE54;SMALL SEMICOLON;Po;0;ON; 003B;;;;N;;;;; FE55;SMALL COLON;Po;0;CS; 003A;;;;N;;;;; FE56;SMALL QUESTION MARK;Po;0;ON; 003F;;;;N;;;;; FE57;SMALL EXCLAMATION MARK;Po;0;ON; 0021;;;;N;;;;; FE58;SMALL EM DASH;Pd;0;ON; 2014;;;;N;;;;; FE59;SMALL LEFT PARENTHESIS;Ps;0;ON; 0028;;;;N;SMALL OPENING PARENTHESIS;;;; FE5A;SMALL RIGHT PARENTHESIS;Pe;0;ON; 0029;;;;N;SMALL CLOSING PARENTHESIS;;;; FE5B;SMALL LEFT CURLY BRACKET;Ps;0;ON; 007B;;;;N;SMALL OPENING CURLY BRACKET;;;; FE5C;SMALL RIGHT CURLY BRACKET;Pe;0;ON; 007D;;;;N;SMALL CLOSING CURLY BRACKET;;;; FE5D;SMALL LEFT TORTOISE SHELL BRACKET;Ps;0;ON; 3014;;;;N;SMALL OPENING TORTOISE SHELL BRACKET;;;; FE5E;SMALL RIGHT TORTOISE SHELL BRACKET;Pe;0;ON; 3015;;;;N;SMALL CLOSING TORTOISE SHELL BRACKET;;;; FE5F;SMALL NUMBER SIGN;Po;0;ET; 0023;;;;N;;;;; FE60;SMALL AMPERSAND;Po;0;ON; 0026;;;;N;;;;; FE61;SMALL ASTERISK;Po;0;ON; 002A;;;;N;;;;; FE62;SMALL PLUS SIGN;Sm;0;ET; 002B;;;;N;;;;; FE63;SMALL HYPHEN-MINUS;Pd;0;ET; 002D;;;;N;;;;; FE64;SMALL LESS-THAN SIGN;Sm;0;ON; 003C;;;;N;;;;; FE65;SMALL GREATER-THAN SIGN;Sm;0;ON; 003E;;;;N;;;;; FE66;SMALL EQUALS SIGN;Sm;0;ON; 003D;;;;N;;;;; FE68;SMALL REVERSE SOLIDUS;Po;0;ON; 005C;;;;N;SMALL BACKSLASH;;;; FE69;SMALL DOLLAR SIGN;Sc;0;ET; 0024;;;;N;;;;; FE6A;SMALL PERCENT SIGN;Po;0;ET; 0025;;;;N;;;;; FE6B;SMALL COMMERCIAL AT;Po;0;ON; 0040;;;;N;;;;; FE70;ARABIC FATHATAN ISOLATED FORM;Lo;0;R; 0020 064B;;;;N;ARABIC SPACING FATHATAN;;;; FE71;ARABIC TATWEEL WITH FATHATAN ABOVE;Lo;0;R; 0640 064B;;;;N;ARABIC FATHATAN ON TATWEEL;;;; FE72;ARABIC DAMMATAN ISOLATED FORM;Lo;0;R; 0020 064C;;;;N;ARABIC SPACING DAMMATAN;;;; FE74;ARABIC KASRATAN ISOLATED FORM;Lo;0;R; 0020 064D;;;;N;ARABIC SPACING KASRATAN;;;; FE76;ARABIC FATHA ISOLATED FORM;Lo;0;R; 0020 064E;;;;N;ARABIC SPACING FATHAH;;;; FE77;ARABIC FATHA MEDIAL FORM;Lo;0;R; 0640 064E;;;;N;ARABIC FATHAH ON TATWEEL;;;; FE78;ARABIC DAMMA ISOLATED FORM;Lo;0;R; 0020 064F;;;;N;ARABIC SPACING DAMMAH;;;; FE79;ARABIC DAMMA MEDIAL FORM;Lo;0;R; 0640 064F;;;;N;ARABIC DAMMAH ON TATWEEL;;;; FE7A;ARABIC KASRA ISOLATED FORM;Lo;0;R; 0020 0650;;;;N;ARABIC SPACING KASRAH;;;; FE7B;ARABIC KASRA MEDIAL FORM;Lo;0;R; 0640 0650;;;;N;ARABIC KASRAH ON TATWEEL;;;; FE7C;ARABIC SHADDA ISOLATED FORM;Lo;0;R; 0020 0651;;;;N;ARABIC SPACING SHADDAH;;;; FE7D;ARABIC SHADDA MEDIAL FORM;Lo;0;R; 0640 0651;;;;N;ARABIC SHADDAH ON TATWEEL;;;; FE7E;ARABIC SUKUN ISOLATED FORM;Lo;0;R; 0020 0652;;;;N;ARABIC SPACING SUKUN;;;; FE7F;ARABIC SUKUN MEDIAL FORM;Lo;0;R; 0640 0652;;;;N;ARABIC SUKUN ON TATWEEL;;;; FE80;ARABIC LETTER HAMZA ISOLATED FORM;Lo;0;R; 0621;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH;;;; FE81;ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM;Lo;0;R; 0622;;;;N;GLYPH FOR ISOLATE ARABIC MADDAH ON ALEF;;;; FE82;ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM;Lo;0;R; 0622;;;;N;GLYPH FOR FINAL ARABIC MADDAH ON ALEF;;;; FE83;ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM;Lo;0;R; 0623;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON ALEF;;;; FE84;ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM;Lo;0;R; 0623;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON ALEF;;;; FE85;ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM;Lo;0;R; 0624;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON WAW;;;; FE86;ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM;Lo;0;R; 0624;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON WAW;;;; FE87;ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM;Lo;0;R; 0625;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH UNDER ALEF;;;; FE88;ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM;Lo;0;R; 0625;;;;N;GLYPH FOR FINAL ARABIC HAMZAH UNDER ALEF;;;; FE89;ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM;Lo;0;R; 0626;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON YA;;;; FE8A;ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM;Lo;0;R; 0626;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON YA;;;; FE8B;ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM;Lo;0;R; 0626;;;;N;GLYPH FOR INITIAL ARABIC HAMZAH ON YA;;;; FE8C;ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM;Lo;0;R; 0626;;;;N;GLYPH FOR MEDIAL ARABIC HAMZAH ON YA;;;; FE8D;ARABIC LETTER ALEF ISOLATED FORM;Lo;0;R; 0627;;;;N;GLYPH FOR ISOLATE ARABIC ALEF;;;; FE8E;ARABIC LETTER ALEF FINAL FORM;Lo;0;R; 0627;;;;N;GLYPH FOR FINAL ARABIC ALEF;;;; FE8F;ARABIC LETTER BEH ISOLATED FORM;Lo;0;R; 0628;;;;N;GLYPH FOR ISOLATE ARABIC BAA;;;; FE90;ARABIC LETTER BEH FINAL FORM;Lo;0;R; 0628;;;;N;GLYPH FOR FINAL ARABIC BAA;;;; FE91;ARABIC LETTER BEH INITIAL FORM;Lo;0;R; 0628;;;;N;GLYPH FOR INITIAL ARABIC BAA;;;; FE92;ARABIC LETTER BEH MEDIAL FORM;Lo;0;R; 0628;;;;N;GLYPH FOR MEDIAL ARABIC BAA;;;; FE93;ARABIC LETTER TEH MARBUTA ISOLATED FORM;Lo;0;R; 0629;;;;N;GLYPH FOR ISOLATE ARABIC TAA MARBUTAH;;;; FE94;ARABIC LETTER TEH MARBUTA FINAL FORM;Lo;0;R; 0629;;;;N;GLYPH FOR FINAL ARABIC TAA MARBUTAH;;;; FE95;ARABIC LETTER TEH ISOLATED FORM;Lo;0;R; 062A;;;;N;GLYPH FOR ISOLATE ARABIC TAA;;;; FE96;ARABIC LETTER TEH FINAL FORM;Lo;0;R; 062A;;;;N;GLYPH FOR FINAL ARABIC TAA;;;; FE97;ARABIC LETTER TEH INITIAL FORM;Lo;0;R; 062A;;;;N;GLYPH FOR INITIAL ARABIC TAA;;;; FE98;ARABIC LETTER TEH MEDIAL FORM;Lo;0;R; 062A;;;;N;GLYPH FOR MEDIAL ARABIC TAA;;;; FE99;ARABIC LETTER THEH ISOLATED FORM;Lo;0;R; 062B;;;;N;GLYPH FOR ISOLATE ARABIC THAA;;;; FE9A;ARABIC LETTER THEH FINAL FORM;Lo;0;R; 062B;;;;N;GLYPH FOR FINAL ARABIC THAA;;;; FE9B;ARABIC LETTER THEH INITIAL FORM;Lo;0;R; 062B;;;;N;GLYPH FOR INITIAL ARABIC THAA;;;; FE9C;ARABIC LETTER THEH MEDIAL FORM;Lo;0;R; 062B;;;;N;GLYPH FOR MEDIAL ARABIC THAA;;;; FE9D;ARABIC LETTER JEEM ISOLATED FORM;Lo;0;R; 062C;;;;N;GLYPH FOR ISOLATE ARABIC JEEM;;;; FE9E;ARABIC LETTER JEEM FINAL FORM;Lo;0;R; 062C;;;;N;GLYPH FOR FINAL ARABIC JEEM;;;; FE9F;ARABIC LETTER JEEM INITIAL FORM;Lo;0;R; 062C;;;;N;GLYPH FOR INITIAL ARABIC JEEM;;;; FEA0;ARABIC LETTER JEEM MEDIAL FORM;Lo;0;R; 062C;;;;N;GLYPH FOR MEDIAL ARABIC JEEM;;;; FEA1;ARABIC LETTER HAH ISOLATED FORM;Lo;0;R; 062D;;;;N;GLYPH FOR ISOLATE ARABIC HAA;;;; FEA2;ARABIC LETTER HAH FINAL FORM;Lo;0;R; 062D;;;;N;GLYPH FOR FINAL ARABIC HAA;;;; FEA3;ARABIC LETTER HAH INITIAL FORM;Lo;0;R; 062D;;;;N;GLYPH FOR INITIAL ARABIC HAA;;;; FEA4;ARABIC LETTER HAH MEDIAL FORM;Lo;0;R; 062D;;;;N;GLYPH FOR MEDIAL ARABIC HAA;;;; FEA5;ARABIC LETTER KHAH ISOLATED FORM;Lo;0;R; 062E;;;;N;GLYPH FOR ISOLATE ARABIC KHAA;;;; FEA6;ARABIC LETTER KHAH FINAL FORM;Lo;0;R; 062E;;;;N;GLYPH FOR FINAL ARABIC KHAA;;;; FEA7;ARABIC LETTER KHAH INITIAL FORM;Lo;0;R; 062E;;;;N;GLYPH FOR INITIAL ARABIC KHAA;;;; FEA8;ARABIC LETTER KHAH MEDIAL FORM;Lo;0;R; 062E;;;;N;GLYPH FOR MEDIAL ARABIC KHAA;;;; FEA9;ARABIC LETTER DAL ISOLATED FORM;Lo;0;R; 062F;;;;N;GLYPH FOR ISOLATE ARABIC DAL;;;; FEAA;ARABIC LETTER DAL FINAL FORM;Lo;0;R; 062F;;;;N;GLYPH FOR FINAL ARABIC DAL;;;; FEAB;ARABIC LETTER THAL ISOLATED FORM;Lo;0;R; 0630;;;;N;GLYPH FOR ISOLATE ARABIC THAL;;;; FEAC;ARABIC LETTER THAL FINAL FORM;Lo;0;R; 0630;;;;N;GLYPH FOR FINAL ARABIC THAL;;;; FEAD;ARABIC LETTER REH ISOLATED FORM;Lo;0;R; 0631;;;;N;GLYPH FOR ISOLATE ARABIC RA;;;; FEAE;ARABIC LETTER REH FINAL FORM;Lo;0;R; 0631;;;;N;GLYPH FOR FINAL ARABIC RA;;;; FEAF;ARABIC LETTER ZAIN ISOLATED FORM;Lo;0;R; 0632;;;;N;GLYPH FOR ISOLATE ARABIC ZAIN;;;; FEB0;ARABIC LETTER ZAIN FINAL FORM;Lo;0;R; 0632;;;;N;GLYPH FOR FINAL ARABIC ZAIN;;;; FEB1;ARABIC LETTER SEEN ISOLATED FORM;Lo;0;R; 0633;;;;N;GLYPH FOR ISOLATE ARABIC SEEN;;;; FEB2;ARABIC LETTER SEEN FINAL FORM;Lo;0;R; 0633;;;;N;GLYPH FOR FINAL ARABIC SEEN;;;; FEB3;ARABIC LETTER SEEN INITIAL FORM;Lo;0;R; 0633;;;;N;GLYPH FOR INITIAL ARABIC SEEN;;;; FEB4;ARABIC LETTER SEEN MEDIAL FORM;Lo;0;R; 0633;;;;N;GLYPH FOR MEDIAL ARABIC SEEN;;;; FEB5;ARABIC LETTER SHEEN ISOLATED FORM;Lo;0;R; 0634;;;;N;GLYPH FOR ISOLATE ARABIC SHEEN;;;; FEB6;ARABIC LETTER SHEEN FINAL FORM;Lo;0;R; 0634;;;;N;GLYPH FOR FINAL ARABIC SHEEN;;;; FEB7;ARABIC LETTER SHEEN INITIAL FORM;Lo;0;R; 0634;;;;N;GLYPH FOR INITIAL ARABIC SHEEN;;;; FEB8;ARABIC LETTER SHEEN MEDIAL FORM;Lo;0;R; 0634;;;;N;GLYPH FOR MEDIAL ARABIC SHEEN;;;; FEB9;ARABIC LETTER SAD ISOLATED FORM;Lo;0;R; 0635;;;;N;GLYPH FOR ISOLATE ARABIC SAD;;;; FEBA;ARABIC LETTER SAD FINAL FORM;Lo;0;R; 0635;;;;N;GLYPH FOR FINAL ARABIC SAD;;;; FEBB;ARABIC LETTER SAD INITIAL FORM;Lo;0;R; 0635;;;;N;GLYPH FOR INITIAL ARABIC SAD;;;; FEBC;ARABIC LETTER SAD MEDIAL FORM;Lo;0;R; 0635;;;;N;GLYPH FOR MEDIAL ARABIC SAD;;;; FEBD;ARABIC LETTER DAD ISOLATED FORM;Lo;0;R; 0636;;;;N;GLYPH FOR ISOLATE ARABIC DAD;;;; FEBE;ARABIC LETTER DAD FINAL FORM;Lo;0;R; 0636;;;;N;GLYPH FOR FINAL ARABIC DAD;;;; FEBF;ARABIC LETTER DAD INITIAL FORM;Lo;0;R; 0636;;;;N;GLYPH FOR INITIAL ARABIC DAD;;;; FEC0;ARABIC LETTER DAD MEDIAL FORM;Lo;0;R; 0636;;;;N;GLYPH FOR MEDIAL ARABIC DAD;;;; FEC1;ARABIC LETTER TAH ISOLATED FORM;Lo;0;R; 0637;;;;N;GLYPH FOR ISOLATE ARABIC TAH;;;; FEC2;ARABIC LETTER TAH FINAL FORM;Lo;0;R; 0637;;;;N;GLYPH FOR FINAL ARABIC TAH;;;; FEC3;ARABIC LETTER TAH INITIAL FORM;Lo;0;R; 0637;;;;N;GLYPH FOR INITIAL ARABIC TAH;;;; FEC4;ARABIC LETTER TAH MEDIAL FORM;Lo;0;R; 0637;;;;N;GLYPH FOR MEDIAL ARABIC TAH;;;; FEC5;ARABIC LETTER ZAH ISOLATED FORM;Lo;0;R; 0638;;;;N;GLYPH FOR ISOLATE ARABIC DHAH;;;; FEC6;ARABIC LETTER ZAH FINAL FORM;Lo;0;R; 0638;;;;N;GLYPH FOR FINAL ARABIC DHAH;;;; FEC7;ARABIC LETTER ZAH INITIAL FORM;Lo;0;R; 0638;;;;N;GLYPH FOR INITIAL ARABIC DHAH;;;; FEC8;ARABIC LETTER ZAH MEDIAL FORM;Lo;0;R; 0638;;;;N;GLYPH FOR MEDIAL ARABIC DHAH;;;; FEC9;ARABIC LETTER AIN ISOLATED FORM;Lo;0;R; 0639;;;;N;GLYPH FOR ISOLATE ARABIC AIN;;;; FECA;ARABIC LETTER AIN FINAL FORM;Lo;0;R; 0639;;;;N;GLYPH FOR FINAL ARABIC AIN;;;; FECB;ARABIC LETTER AIN INITIAL FORM;Lo;0;R; 0639;;;;N;GLYPH FOR INITIAL ARABIC AIN;;;; FECC;ARABIC LETTER AIN MEDIAL FORM;Lo;0;R; 0639;;;;N;GLYPH FOR MEDIAL ARABIC AIN;;;; FECD;ARABIC LETTER GHAIN ISOLATED FORM;Lo;0;R; 063A;;;;N;GLYPH FOR ISOLATE ARABIC GHAIN;;;; FECE;ARABIC LETTER GHAIN FINAL FORM;Lo;0;R; 063A;;;;N;GLYPH FOR FINAL ARABIC GHAIN;;;; FECF;ARABIC LETTER GHAIN INITIAL FORM;Lo;0;R; 063A;;;;N;GLYPH FOR INITIAL ARABIC GHAIN;;;; FED0;ARABIC LETTER GHAIN MEDIAL FORM;Lo;0;R; 063A;;;;N;GLYPH FOR MEDIAL ARABIC GHAIN;;;; FED1;ARABIC LETTER FEH ISOLATED FORM;Lo;0;R; 0641;;;;N;GLYPH FOR ISOLATE ARABIC FA;;;; FED2;ARABIC LETTER FEH FINAL FORM;Lo;0;R; 0641;;;;N;GLYPH FOR FINAL ARABIC FA;;;; FED3;ARABIC LETTER FEH INITIAL FORM;Lo;0;R; 0641;;;;N;GLYPH FOR INITIAL ARABIC FA;;;; FED4;ARABIC LETTER FEH MEDIAL FORM;Lo;0;R; 0641;;;;N;GLYPH FOR MEDIAL ARABIC FA;;;; FED5;ARABIC LETTER QAF ISOLATED FORM;Lo;0;R; 0642;;;;N;GLYPH FOR ISOLATE ARABIC QAF;;;; FED6;ARABIC LETTER QAF FINAL FORM;Lo;0;R; 0642;;;;N;GLYPH FOR FINAL ARABIC QAF;;;; FED7;ARABIC LETTER QAF INITIAL FORM;Lo;0;R; 0642;;;;N;GLYPH FOR INITIAL ARABIC QAF;;;; FED8;ARABIC LETTER QAF MEDIAL FORM;Lo;0;R; 0642;;;;N;GLYPH FOR MEDIAL ARABIC QAF;;;; FED9;ARABIC LETTER KAF ISOLATED FORM;Lo;0;R; 0643;;;;N;GLYPH FOR ISOLATE ARABIC CAF;;;; FEDA;ARABIC LETTER KAF FINAL FORM;Lo;0;R; 0643;;;;N;GLYPH FOR FINAL ARABIC CAF;;;; FEDB;ARABIC LETTER KAF INITIAL FORM;Lo;0;R; 0643;;;;N;GLYPH FOR INITIAL ARABIC CAF;;;; FEDC;ARABIC LETTER KAF MEDIAL FORM;Lo;0;R; 0643;;;;N;GLYPH FOR MEDIAL ARABIC CAF;;;; FEDD;ARABIC LETTER LAM ISOLATED FORM;Lo;0;R; 0644;;;;N;GLYPH FOR ISOLATE ARABIC LAM;;;; FEDE;ARABIC LETTER LAM FINAL FORM;Lo;0;R; 0644;;;;N;GLYPH FOR FINAL ARABIC LAM;;;; FEDF;ARABIC LETTER LAM INITIAL FORM;Lo;0;R; 0644;;;;N;GLYPH FOR INITIAL ARABIC LAM;;;; FEE0;ARABIC LETTER LAM MEDIAL FORM;Lo;0;R; 0644;;;;N;GLYPH FOR MEDIAL ARABIC LAM;;;; FEE1;ARABIC LETTER MEEM ISOLATED FORM;Lo;0;R; 0645;;;;N;GLYPH FOR ISOLATE ARABIC MEEM;;;; FEE2;ARABIC LETTER MEEM FINAL FORM;Lo;0;R; 0645;;;;N;GLYPH FOR FINAL ARABIC MEEM;;;; FEE3;ARABIC LETTER MEEM INITIAL FORM;Lo;0;R; 0645;;;;N;GLYPH FOR INITIAL ARABIC MEEM;;;; FEE4;ARABIC LETTER MEEM MEDIAL FORM;Lo;0;R; 0645;;;;N;GLYPH FOR MEDIAL ARABIC MEEM;;;; FEE5;ARABIC LETTER NOON ISOLATED FORM;Lo;0;R; 0646;;;;N;GLYPH FOR ISOLATE ARABIC NOON;;;; FEE6;ARABIC LETTER NOON FINAL FORM;Lo;0;R; 0646;;;;N;GLYPH FOR FINAL ARABIC NOON;;;; FEE7;ARABIC LETTER NOON INITIAL FORM;Lo;0;R; 0646;;;;N;GLYPH FOR INITIAL ARABIC NOON;;;; FEE8;ARABIC LETTER NOON MEDIAL FORM;Lo;0;R; 0646;;;;N;GLYPH FOR MEDIAL ARABIC NOON;;;; FEE9;ARABIC LETTER HEH ISOLATED FORM;Lo;0;R; 0647;;;;N;GLYPH FOR ISOLATE ARABIC HA;;;; FEEA;ARABIC LETTER HEH FINAL FORM;Lo;0;R; 0647;;;;N;GLYPH FOR FINAL ARABIC HA;;;; FEEB;ARABIC LETTER HEH INITIAL FORM;Lo;0;R; 0647;;;;N;GLYPH FOR INITIAL ARABIC HA;;;; FEEC;ARABIC LETTER HEH MEDIAL FORM;Lo;0;R; 0647;;;;N;GLYPH FOR MEDIAL ARABIC HA;;;; FEED;ARABIC LETTER WAW ISOLATED FORM;Lo;0;R; 0648;;;;N;GLYPH FOR ISOLATE ARABIC WAW;;;; FEEE;ARABIC LETTER WAW FINAL FORM;Lo;0;R; 0648;;;;N;GLYPH FOR FINAL ARABIC WAW;;;; FEEF;ARABIC LETTER ALEF MAKSURA ISOLATED FORM;Lo;0;R; 0649;;;;N;GLYPH FOR ISOLATE ARABIC ALEF MAQSURAH;;;; FEF0;ARABIC LETTER ALEF MAKSURA FINAL FORM;Lo;0;R; 0649;;;;N;GLYPH FOR FINAL ARABIC ALEF MAQSURAH;;;; FEF1;ARABIC LETTER YEH ISOLATED FORM;Lo;0;R; 064A;;;;N;GLYPH FOR ISOLATE ARABIC YA;;;; FEF2;ARABIC LETTER YEH FINAL FORM;Lo;0;R; 064A;;;;N;GLYPH FOR FINAL ARABIC YA;;;; FEF3;ARABIC LETTER YEH INITIAL FORM;Lo;0;R; 064A;;;;N;GLYPH FOR INITIAL ARABIC YA;;;; FEF4;ARABIC LETTER YEH MEDIAL FORM;Lo;0;R; 064A;;;;N;GLYPH FOR MEDIAL ARABIC YA;;;; FEF5;ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM;Lo;0;R; 0644 0622;;;;N;GLYPH FOR ISOLATE ARABIC MADDAH ON LIGATURE LAM ALEF;;;; FEF6;ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM;Lo;0;R; 0644 0622;;;;N;GLYPH FOR FINAL ARABIC MADDAH ON LIGATURE LAM ALEF;;;; FEF7;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM;Lo;0;R; 0644 0623;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON LIGATURE LAM ALEF;;;; FEF8;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM;Lo;0;R; 0644 0623;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON LIGATURE LAM ALEF;;;; FEF9;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM;Lo;0;R; 0644 0625;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH UNDER LIGATURE LAM ALEF;;;; FEFA;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM;Lo;0;R; 0644 0625;;;;N;GLYPH FOR FINAL ARABIC HAMZAH UNDER LIGATURE LAM ALEF;;;; FEFB;ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM;Lo;0;R; 0644 0627;;;;N;GLYPH FOR ISOLATE ARABIC LIGATURE LAM ALEF;;;; FEFC;ARABIC LIGATURE LAM WITH ALEF FINAL FORM;Lo;0;R; 0644 0627;;;;N;GLYPH FOR FINAL ARABIC LIGATURE LAM ALEF;;;; FEFF;ZERO WIDTH NO-BREAK SPACE;Cf;0;ON;;;;;N;BYTE ORDER MARK;;;; FF01;FULLWIDTH EXCLAMATION MARK;Po;0;ON; 0021;;;;N;;;;; FF02;FULLWIDTH QUOTATION MARK;Po;0;ON; 0022;;;;N;;;;; FF03;FULLWIDTH NUMBER SIGN;Po;0;ET; 0023;;;;N;;;;; FF04;FULLWIDTH DOLLAR SIGN;Sc;0;ET; 0024;;;;N;;;;; FF05;FULLWIDTH PERCENT SIGN;Po;0;ET; 0025;;;;N;;;;; FF06;FULLWIDTH AMPERSAND;Po;0;ON; 0026;;;;N;;;;; FF07;FULLWIDTH APOSTROPHE;Po;0;ON; 0027;;;;N;;;;; FF08;FULLWIDTH LEFT PARENTHESIS;Ps;0;ON; 0028;;;;N;FULLWIDTH OPENING PARENTHESIS;;;; FF09;FULLWIDTH RIGHT PARENTHESIS;Pe;0;ON; 0029;;;;N;FULLWIDTH CLOSING PARENTHESIS;;;; FF0A;FULLWIDTH ASTERISK;Po;0;ON; 002A;;;;N;;;;; FF0B;FULLWIDTH PLUS SIGN;Sm;0;ET; 002B;;;;N;;;;; FF0C;FULLWIDTH COMMA;Po;0;CS; 002C;;;;N;;;;; FF0D;FULLWIDTH HYPHEN-MINUS;Pd;0;ET; 002D;;;;N;;;;; FF0E;FULLWIDTH FULL STOP;Po;0;CS; 002E;;;;N;FULLWIDTH PERIOD;;;; FF0F;FULLWIDTH SOLIDUS;Po;0;ES; 002F;;;;N;FULLWIDTH SLASH;;;; FF10;FULLWIDTH DIGIT ZERO;Nd;0;EN; 0030;0;0;0;N;;;;; FF11;FULLWIDTH DIGIT ONE;Nd;0;EN; 0031;1;1;1;N;;;;; FF12;FULLWIDTH DIGIT TWO;Nd;0;EN; 0032;2;2;2;N;;;;; FF13;FULLWIDTH DIGIT THREE;Nd;0;EN; 0033;3;3;3;N;;;;; FF14;FULLWIDTH DIGIT FOUR;Nd;0;EN; 0034;4;4;4;N;;;;; FF15;FULLWIDTH DIGIT FIVE;Nd;0;EN; 0035;5;5;5;N;;;;; FF16;FULLWIDTH DIGIT SIX;Nd;0;EN; 0036;6;6;6;N;;;;; FF17;FULLWIDTH DIGIT SEVEN;Nd;0;EN; 0037;7;7;7;N;;;;; FF18;FULLWIDTH DIGIT EIGHT;Nd;0;EN; 0038;8;8;8;N;;;;; FF19;FULLWIDTH DIGIT NINE;Nd;0;EN; 0039;9;9;9;N;;;;; FF1A;FULLWIDTH COLON;Po;0;CS; 003A;;;;N;;;;; FF1B;FULLWIDTH SEMICOLON;Po;0;ON; 003B;;;;N;;;;; FF1C;FULLWIDTH LESS-THAN SIGN;Sm;0;ON; 003C;;;;N;;;;; FF1D;FULLWIDTH EQUALS SIGN;Sm;0;ON; 003D;;;;N;;;;; FF1E;FULLWIDTH GREATER-THAN SIGN;Sm;0;ON; 003E;;;;N;;;;; FF1F;FULLWIDTH QUESTION MARK;Po;0;ON; 003F;;;;N;;;;; FF20;FULLWIDTH COMMERCIAL AT;Po;0;ON; 0040;;;;N;;;;; FF21;FULLWIDTH LATIN CAPITAL LETTER A;Lu;0;L; 0041;;;;N;;;;FF41; FF22;FULLWIDTH LATIN CAPITAL LETTER B;Lu;0;L; 0042;;;;N;;;;FF42; FF23;FULLWIDTH LATIN CAPITAL LETTER C;Lu;0;L; 0043;;;;N;;;;FF43; FF24;FULLWIDTH LATIN CAPITAL LETTER D;Lu;0;L; 0044;;;;N;;;;FF44; FF25;FULLWIDTH LATIN CAPITAL LETTER E;Lu;0;L; 0045;;;;N;;;;FF45; FF26;FULLWIDTH LATIN CAPITAL LETTER F;Lu;0;L; 0046;;;;N;;;;FF46; FF27;FULLWIDTH LATIN CAPITAL LETTER G;Lu;0;L; 0047;;;;N;;;;FF47; FF28;FULLWIDTH LATIN CAPITAL LETTER H;Lu;0;L; 0048;;;;N;;;;FF48; FF29;FULLWIDTH LATIN CAPITAL LETTER I;Lu;0;L; 0049;;;;N;;;;FF49; FF2A;FULLWIDTH LATIN CAPITAL LETTER J;Lu;0;L; 004A;;;;N;;;;FF4A; FF2B;FULLWIDTH LATIN CAPITAL LETTER K;Lu;0;L; 004B;;;;N;;;;FF4B; FF2C;FULLWIDTH LATIN CAPITAL LETTER L;Lu;0;L; 004C;;;;N;;;;FF4C; FF2D;FULLWIDTH LATIN CAPITAL LETTER M;Lu;0;L; 004D;;;;N;;;;FF4D; FF2E;FULLWIDTH LATIN CAPITAL LETTER N;Lu;0;L; 004E;;;;N;;;;FF4E; FF2F;FULLWIDTH LATIN CAPITAL LETTER O;Lu;0;L; 004F;;;;N;;;;FF4F; FF30;FULLWIDTH LATIN CAPITAL LETTER P;Lu;0;L; 0050;;;;N;;;;FF50; FF31;FULLWIDTH LATIN CAPITAL LETTER Q;Lu;0;L; 0051;;;;N;;;;FF51; FF32;FULLWIDTH LATIN CAPITAL LETTER R;Lu;0;L; 0052;;;;N;;;;FF52; FF33;FULLWIDTH LATIN CAPITAL LETTER S;Lu;0;L; 0053;;;;N;;;;FF53; FF34;FULLWIDTH LATIN CAPITAL LETTER T;Lu;0;L; 0054;;;;N;;;;FF54; FF35;FULLWIDTH LATIN CAPITAL LETTER U;Lu;0;L; 0055;;;;N;;;;FF55; FF36;FULLWIDTH LATIN CAPITAL LETTER V;Lu;0;L; 0056;;;;N;;;;FF56; FF37;FULLWIDTH LATIN CAPITAL LETTER W;Lu;0;L; 0057;;;;N;;;;FF57; FF38;FULLWIDTH LATIN CAPITAL LETTER X;Lu;0;L; 0058;;;;N;;;;FF58; FF39;FULLWIDTH LATIN CAPITAL LETTER Y;Lu;0;L; 0059;;;;N;;;;FF59; FF3A;FULLWIDTH LATIN CAPITAL LETTER Z;Lu;0;L; 005A;;;;N;;;;FF5A; FF3B;FULLWIDTH LEFT SQUARE BRACKET;Ps;0;ON; 005B;;;;N;FULLWIDTH OPENING SQUARE BRACKET;;;; FF3C;FULLWIDTH REVERSE SOLIDUS;Po;0;ON; 005C;;;;N;FULLWIDTH BACKSLASH;;;; FF3D;FULLWIDTH RIGHT SQUARE BRACKET;Pe;0;ON; 005D;;;;N;FULLWIDTH CLOSING SQUARE BRACKET;;;; FF3E;FULLWIDTH CIRCUMFLEX ACCENT;Sk;0;ON; 005E;;;;N;FULLWIDTH SPACING CIRCUMFLEX;;;; FF3F;FULLWIDTH LOW LINE;Pc;0;ON; 005F;;;;N;FULLWIDTH SPACING UNDERSCORE;;;; FF40;FULLWIDTH GRAVE ACCENT;Sk;0;ON; 0060;;;;N;FULLWIDTH SPACING GRAVE;;;; FF41;FULLWIDTH LATIN SMALL LETTER A;Ll;0;L; 0061;;;;N;;;FF21;;FF21 FF42;FULLWIDTH LATIN SMALL LETTER B;Ll;0;L; 0062;;;;N;;;FF22;;FF22 FF43;FULLWIDTH LATIN SMALL LETTER C;Ll;0;L; 0063;;;;N;;;FF23;;FF23 FF44;FULLWIDTH LATIN SMALL LETTER D;Ll;0;L; 0064;;;;N;;;FF24;;FF24 FF45;FULLWIDTH LATIN SMALL LETTER E;Ll;0;L; 0065;;;;N;;;FF25;;FF25 FF46;FULLWIDTH LATIN SMALL LETTER F;Ll;0;L; 0066;;;;N;;;FF26;;FF26 FF47;FULLWIDTH LATIN SMALL LETTER G;Ll;0;L; 0067;;;;N;;;FF27;;FF27 FF48;FULLWIDTH LATIN SMALL LETTER H;Ll;0;L; 0068;;;;N;;;FF28;;FF28 FF49;FULLWIDTH LATIN SMALL LETTER I;Ll;0;L; 0069;;;;N;;;FF29;;FF29 FF4A;FULLWIDTH LATIN SMALL LETTER J;Ll;0;L; 006A;;;;N;;;FF2A;;FF2A FF4B;FULLWIDTH LATIN SMALL LETTER K;Ll;0;L; 006B;;;;N;;;FF2B;;FF2B FF4C;FULLWIDTH LATIN SMALL LETTER L;Ll;0;L; 006C;;;;N;;;FF2C;;FF2C FF4D;FULLWIDTH LATIN SMALL LETTER M;Ll;0;L; 006D;;;;N;;;FF2D;;FF2D FF4E;FULLWIDTH LATIN SMALL LETTER N;Ll;0;L; 006E;;;;N;;;FF2E;;FF2E FF4F;FULLWIDTH LATIN SMALL LETTER O;Ll;0;L; 006F;;;;N;;;FF2F;;FF2F FF50;FULLWIDTH LATIN SMALL LETTER P;Ll;0;L; 0070;;;;N;;;FF30;;FF30 FF51;FULLWIDTH LATIN SMALL LETTER Q;Ll;0;L; 0071;;;;N;;;FF31;;FF31 FF52;FULLWIDTH LATIN SMALL LETTER R;Ll;0;L; 0072;;;;N;;;FF32;;FF32 FF53;FULLWIDTH LATIN SMALL LETTER S;Ll;0;L; 0073;;;;N;;;FF33;;FF33 FF54;FULLWIDTH LATIN SMALL LETTER T;Ll;0;L; 0074;;;;N;;;FF34;;FF34 FF55;FULLWIDTH LATIN SMALL LETTER U;Ll;0;L; 0075;;;;N;;;FF35;;FF35 FF56;FULLWIDTH LATIN SMALL LETTER V;Ll;0;L; 0076;;;;N;;;FF36;;FF36 FF57;FULLWIDTH LATIN SMALL LETTER W;Ll;0;L; 0077;;;;N;;;FF37;;FF37 FF58;FULLWIDTH LATIN SMALL LETTER X;Ll;0;L; 0078;;;;N;;;FF38;;FF38 FF59;FULLWIDTH LATIN SMALL LETTER Y;Ll;0;L; 0079;;;;N;;;FF39;;FF39 FF5A;FULLWIDTH LATIN SMALL LETTER Z;Ll;0;L; 007A;;;;N;;;FF3A;;FF3A FF5B;FULLWIDTH LEFT CURLY BRACKET;Ps;0;ON; 007B;;;;N;FULLWIDTH OPENING CURLY BRACKET;;;; FF5C;FULLWIDTH VERTICAL LINE;Sm;0;ON; 007C;;;;N;FULLWIDTH VERTICAL BAR;;;; FF5D;FULLWIDTH RIGHT CURLY BRACKET;Pe;0;ON; 007D;;;;N;FULLWIDTH CLOSING CURLY BRACKET;;;; FF5E;FULLWIDTH TILDE;Sm;0;ON; 007E;;;;N;FULLWIDTH SPACING TILDE;;;; FF61;HALFWIDTH IDEOGRAPHIC FULL STOP;Po;0;ON; 3002;;;;N;HALFWIDTH IDEOGRAPHIC PERIOD;;;; FF62;HALFWIDTH LEFT CORNER BRACKET;Ps;0;ON; 300C;;;;N;HALFWIDTH OPENING CORNER BRACKET;;;; FF63;HALFWIDTH RIGHT CORNER BRACKET;Pe;0;ON; 300D;;;;N;HALFWIDTH CLOSING CORNER BRACKET;;;; FF64;HALFWIDTH IDEOGRAPHIC COMMA;Po;0;ON; 3001;;;;N;;;;; FF65;HALFWIDTH KATAKANA MIDDLE DOT;Pc;0;L; 30FB;;;;N;;;;; FF66;HALFWIDTH KATAKANA LETTER WO;Lo;0;L; 30F2;;;;N;;;;; FF67;HALFWIDTH KATAKANA LETTER SMALL A;Lo;0;L; 30A1;;;;N;;;;; FF68;HALFWIDTH KATAKANA LETTER SMALL I;Lo;0;L; 30A3;;;;N;;;;; FF69;HALFWIDTH KATAKANA LETTER SMALL U;Lo;0;L; 30A5;;;;N;;;;; FF6A;HALFWIDTH KATAKANA LETTER SMALL E;Lo;0;L; 30A7;;;;N;;;;; FF6B;HALFWIDTH KATAKANA LETTER SMALL O;Lo;0;L; 30A9;;;;N;;;;; FF6C;HALFWIDTH KATAKANA LETTER SMALL YA;Lo;0;L; 30E3;;;;N;;;;; FF6D;HALFWIDTH KATAKANA LETTER SMALL YU;Lo;0;L; 30E5;;;;N;;;;; FF6E;HALFWIDTH KATAKANA LETTER SMALL YO;Lo;0;L; 30E7;;;;N;;;;; FF6F;HALFWIDTH KATAKANA LETTER SMALL TU;Lo;0;L; 30C3;;;;N;;;;; FF70;HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK;Lm;0;L; 30FC;;;;N;;;;; FF71;HALFWIDTH KATAKANA LETTER A;Lo;0;L; 30A2;;;;N;;;;; FF72;HALFWIDTH KATAKANA LETTER I;Lo;0;L; 30A4;;;;N;;;;; FF73;HALFWIDTH KATAKANA LETTER U;Lo;0;L; 30A6;;;;N;;;;; FF74;HALFWIDTH KATAKANA LETTER E;Lo;0;L; 30A8;;;;N;;;;; FF75;HALFWIDTH KATAKANA LETTER O;Lo;0;L; 30AA;;;;N;;;;; FF76;HALFWIDTH KATAKANA LETTER KA;Lo;0;L; 30AB;;;;N;;;;; FF77;HALFWIDTH KATAKANA LETTER KI;Lo;0;L; 30AD;;;;N;;;;; FF78;HALFWIDTH KATAKANA LETTER KU;Lo;0;L; 30AF;;;;N;;;;; FF79;HALFWIDTH KATAKANA LETTER KE;Lo;0;L; 30B1;;;;N;;;;; FF7A;HALFWIDTH KATAKANA LETTER KO;Lo;0;L; 30B3;;;;N;;;;; FF7B;HALFWIDTH KATAKANA LETTER SA;Lo;0;L; 30B5;;;;N;;;;; FF7C;HALFWIDTH KATAKANA LETTER SI;Lo;0;L; 30B7;;;;N;;;;; FF7D;HALFWIDTH KATAKANA LETTER SU;Lo;0;L; 30B9;;;;N;;;;; FF7E;HALFWIDTH KATAKANA LETTER SE;Lo;0;L; 30BB;;;;N;;;;; FF7F;HALFWIDTH KATAKANA LETTER SO;Lo;0;L; 30BD;;;;N;;;;; FF80;HALFWIDTH KATAKANA LETTER TA;Lo;0;L; 30BF;;;;N;;;;; FF81;HALFWIDTH KATAKANA LETTER TI;Lo;0;L; 30C1;;;;N;;;;; FF82;HALFWIDTH KATAKANA LETTER TU;Lo;0;L; 30C4;;;;N;;;;; FF83;HALFWIDTH KATAKANA LETTER TE;Lo;0;L; 30C6;;;;N;;;;; FF84;HALFWIDTH KATAKANA LETTER TO;Lo;0;L; 30C8;;;;N;;;;; FF85;HALFWIDTH KATAKANA LETTER NA;Lo;0;L; 30CA;;;;N;;;;; FF86;HALFWIDTH KATAKANA LETTER NI;Lo;0;L; 30CB;;;;N;;;;; FF87;HALFWIDTH KATAKANA LETTER NU;Lo;0;L; 30CC;;;;N;;;;; FF88;HALFWIDTH KATAKANA LETTER NE;Lo;0;L; 30CD;;;;N;;;;; FF89;HALFWIDTH KATAKANA LETTER NO;Lo;0;L; 30CE;;;;N;;;;; FF8A;HALFWIDTH KATAKANA LETTER HA;Lo;0;L; 30CF;;;;N;;;;; FF8B;HALFWIDTH KATAKANA LETTER HI;Lo;0;L; 30D2;;;;N;;;;; FF8C;HALFWIDTH KATAKANA LETTER HU;Lo;0;L; 30D5;;;;N;;;;; FF8D;HALFWIDTH KATAKANA LETTER HE;Lo;0;L; 30D8;;;;N;;;;; FF8E;HALFWIDTH KATAKANA LETTER HO;Lo;0;L; 30DB;;;;N;;;;; FF8F;HALFWIDTH KATAKANA LETTER MA;Lo;0;L; 30DE;;;;N;;;;; FF90;HALFWIDTH KATAKANA LETTER MI;Lo;0;L; 30DF;;;;N;;;;; FF91;HALFWIDTH KATAKANA LETTER MU;Lo;0;L; 30E0;;;;N;;;;; FF92;HALFWIDTH KATAKANA LETTER ME;Lo;0;L; 30E1;;;;N;;;;; FF93;HALFWIDTH KATAKANA LETTER MO;Lo;0;L; 30E2;;;;N;;;;; FF94;HALFWIDTH KATAKANA LETTER YA;Lo;0;L; 30E4;;;;N;;;;; FF95;HALFWIDTH KATAKANA LETTER YU;Lo;0;L; 30E6;;;;N;;;;; FF96;HALFWIDTH KATAKANA LETTER YO;Lo;0;L; 30E8;;;;N;;;;; FF97;HALFWIDTH KATAKANA LETTER RA;Lo;0;L; 30E9;;;;N;;;;; FF98;HALFWIDTH KATAKANA LETTER RI;Lo;0;L; 30EA;;;;N;;;;; FF99;HALFWIDTH KATAKANA LETTER RU;Lo;0;L; 30EB;;;;N;;;;; FF9A;HALFWIDTH KATAKANA LETTER RE;Lo;0;L; 30EC;;;;N;;;;; FF9B;HALFWIDTH KATAKANA LETTER RO;Lo;0;L; 30ED;;;;N;;;;; FF9C;HALFWIDTH KATAKANA LETTER WA;Lo;0;L; 30EF;;;;N;;;;; FF9D;HALFWIDTH KATAKANA LETTER N;Lo;0;L; 30F3;;;;N;;;;; FF9E;HALFWIDTH KATAKANA VOICED SOUND MARK;Lm;0;ON; 3099;;;;N;;;;; FF9F;HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK;Lm;0;ON; 309A;;;;N;;;;; FFA0;HALFWIDTH HANGUL FILLER;Lo;0;L; 3164;;;;N;HALFWIDTH HANGUL CAE OM;;;; FFA1;HALFWIDTH HANGUL LETTER KIYEOK;Lo;0;L; 3131;;;;N;HALFWIDTH HANGUL LETTER GIYEOG;;;; FFA2;HALFWIDTH HANGUL LETTER SSANGKIYEOK;Lo;0;L; 3132;;;;N;HALFWIDTH HANGUL LETTER SSANG GIYEOG;;;; FFA3;HALFWIDTH HANGUL LETTER KIYEOK-SIOS;Lo;0;L; 3133;;;;N;HALFWIDTH HANGUL LETTER GIYEOG SIOS;;;; FFA4;HALFWIDTH HANGUL LETTER NIEUN;Lo;0;L; 3134;;;;N;;;;; FFA5;HALFWIDTH HANGUL LETTER NIEUN-CIEUC;Lo;0;L; 3135;;;;N;HALFWIDTH HANGUL LETTER NIEUN JIEUJ;;;; FFA6;HALFWIDTH HANGUL LETTER NIEUN-HIEUH;Lo;0;L; 3136;;;;N;HALFWIDTH HANGUL LETTER NIEUN HIEUH;;;; FFA7;HALFWIDTH HANGUL LETTER TIKEUT;Lo;0;L; 3137;;;;N;HALFWIDTH HANGUL LETTER DIGEUD;;;; FFA8;HALFWIDTH HANGUL LETTER SSANGTIKEUT;Lo;0;L; 3138;;;;N;HALFWIDTH HANGUL LETTER SSANG DIGEUD;;;; FFA9;HALFWIDTH HANGUL LETTER RIEUL;Lo;0;L; 3139;;;;N;HALFWIDTH HANGUL LETTER LIEUL;;;; FFAA;HALFWIDTH HANGUL LETTER RIEUL-KIYEOK;Lo;0;L; 313A;;;;N;HALFWIDTH HANGUL LETTER LIEUL GIYEOG;;;; FFAB;HALFWIDTH HANGUL LETTER RIEUL-MIEUM;Lo;0;L; 313B;;;;N;HALFWIDTH HANGUL LETTER LIEUL MIEUM;;;; FFAC;HALFWIDTH HANGUL LETTER RIEUL-PIEUP;Lo;0;L; 313C;;;;N;HALFWIDTH HANGUL LETTER LIEUL BIEUB;;;; FFAD;HALFWIDTH HANGUL LETTER RIEUL-SIOS;Lo;0;L; 313D;;;;N;HALFWIDTH HANGUL LETTER LIEUL SIOS;;;; FFAE;HALFWIDTH HANGUL LETTER RIEUL-THIEUTH;Lo;0;L; 313E;;;;N;HALFWIDTH HANGUL LETTER LIEUL TIEUT;;;; FFAF;HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH;Lo;0;L; 313F;;;;N;HALFWIDTH HANGUL LETTER LIEUL PIEUP;;;; FFB0;HALFWIDTH HANGUL LETTER RIEUL-HIEUH;Lo;0;L; 3140;;;;N;HALFWIDTH HANGUL LETTER LIEUL HIEUH;;;; FFB1;HALFWIDTH HANGUL LETTER MIEUM;Lo;0;L; 3141;;;;N;;;;; FFB2;HALFWIDTH HANGUL LETTER PIEUP;Lo;0;L; 3142;;;;N;HALFWIDTH HANGUL LETTER BIEUB;;;; FFB3;HALFWIDTH HANGUL LETTER SSANGPIEUP;Lo;0;L; 3143;;;;N;HALFWIDTH HANGUL LETTER SSANG BIEUB;;;; FFB4;HALFWIDTH HANGUL LETTER PIEUP-SIOS;Lo;0;L; 3144;;;;N;HALFWIDTH HANGUL LETTER BIEUB SIOS;;;; FFB5;HALFWIDTH HANGUL LETTER SIOS;Lo;0;L; 3145;;;;N;;;;; FFB6;HALFWIDTH HANGUL LETTER SSANGSIOS;Lo;0;L; 3146;;;;N;HALFWIDTH HANGUL LETTER SSANG SIOS;;;; FFB7;HALFWIDTH HANGUL LETTER IEUNG;Lo;0;L; 3147;;;;N;;;;; FFB8;HALFWIDTH HANGUL LETTER CIEUC;Lo;0;L; 3148;;;;N;HALFWIDTH HANGUL LETTER JIEUJ;;;; FFB9;HALFWIDTH HANGUL LETTER SSANGCIEUC;Lo;0;L; 3149;;;;N;HALFWIDTH HANGUL LETTER SSANG JIEUJ;;;; FFBA;HALFWIDTH HANGUL LETTER CHIEUCH;Lo;0;L; 314A;;;;N;HALFWIDTH HANGUL LETTER CIEUC;;;; FFBB;HALFWIDTH HANGUL LETTER KHIEUKH;Lo;0;L; 314B;;;;N;HALFWIDTH HANGUL LETTER KIYEOK;;;; FFBC;HALFWIDTH HANGUL LETTER THIEUTH;Lo;0;L; 314C;;;;N;HALFWIDTH HANGUL LETTER TIEUT;;;; FFBD;HALFWIDTH HANGUL LETTER PHIEUPH;Lo;0;L; 314D;;;;N;HALFWIDTH HANGUL LETTER PIEUP;;;; FFBE;HALFWIDTH HANGUL LETTER HIEUH;Lo;0;L; 314E;;;;N;;;;; FFC2;HALFWIDTH HANGUL LETTER A;Lo;0;L; 314F;;;;N;;;;; FFC3;HALFWIDTH HANGUL LETTER AE;Lo;0;L; 3150;;;;N;;;;; FFC4;HALFWIDTH HANGUL LETTER YA;Lo;0;L; 3151;;;;N;;;;; FFC5;HALFWIDTH HANGUL LETTER YAE;Lo;0;L; 3152;;;;N;;;;; FFC6;HALFWIDTH HANGUL LETTER EO;Lo;0;L; 3153;;;;N;;;;; FFC7;HALFWIDTH HANGUL LETTER E;Lo;0;L; 3154;;;;N;;;;; FFCA;HALFWIDTH HANGUL LETTER YEO;Lo;0;L; 3155;;;;N;;;;; FFCB;HALFWIDTH HANGUL LETTER YE;Lo;0;L; 3156;;;;N;;;;; FFCC;HALFWIDTH HANGUL LETTER O;Lo;0;L; 3157;;;;N;;;;; FFCD;HALFWIDTH HANGUL LETTER WA;Lo;0;L; 3158;;;;N;;;;; FFCE;HALFWIDTH HANGUL LETTER WAE;Lo;0;L; 3159;;;;N;;;;; FFCF;HALFWIDTH HANGUL LETTER OE;Lo;0;L; 315A;;;;N;;;;; FFD2;HALFWIDTH HANGUL LETTER YO;Lo;0;L; 315B;;;;N;;;;; FFD3;HALFWIDTH HANGUL LETTER U;Lo;0;L; 315C;;;;N;;;;; FFD4;HALFWIDTH HANGUL LETTER WEO;Lo;0;L; 315D;;;;N;;;;; FFD5;HALFWIDTH HANGUL LETTER WE;Lo;0;L; 315E;;;;N;;;;; FFD6;HALFWIDTH HANGUL LETTER WI;Lo;0;L; 315F;;;;N;;;;; FFD7;HALFWIDTH HANGUL LETTER YU;Lo;0;L; 3160;;;;N;;;;; FFDA;HALFWIDTH HANGUL LETTER EU;Lo;0;L; 3161;;;;N;;;;; FFDB;HALFWIDTH HANGUL LETTER YI;Lo;0;L; 3162;;;;N;;;;; FFDC;HALFWIDTH HANGUL LETTER I;Lo;0;L; 3163;;;;N;;;;; FFE0;FULLWIDTH CENT SIGN;Sc;0;ET; 00A2;;;;N;;;;; FFE1;FULLWIDTH POUND SIGN;Sc;0;ET; 00A3;;;;N;;;;; FFE2;FULLWIDTH NOT SIGN;Sm;0;ON; 00AC;;;;N;;;;; FFE3;FULLWIDTH MACRON;Sk;0;ON; 00AF;;;;N;FULLWIDTH SPACING MACRON;;;; FFE4;FULLWIDTH BROKEN BAR;So;0;ON; 00A6;;;;N;FULLWIDTH BROKEN VERTICAL BAR;;;; FFE5;FULLWIDTH YEN SIGN;Sc;0;ET; 00A5;;;;N;;;;; FFE6;FULLWIDTH WON SIGN;Sc;0;ET; 20A9;;;;N;;;;; FFE8;HALFWIDTH FORMS LIGHT VERTICAL;Sm;0;ON; 2502;;;;N;;;;; FFE9;HALFWIDTH LEFTWARDS ARROW;Sm;0;ON; 2190;;;;N;;;;; FFEA;HALFWIDTH UPWARDS ARROW;Sm;0;ON; 2191;;;;N;;;;; FFEB;HALFWIDTH RIGHTWARDS ARROW;Sm;0;ON; 2192;;;;N;;;;; FFEC;HALFWIDTH DOWNWARDS ARROW;Sm;0;ON; 2193;;;;N;;;;; FFED;HALFWIDTH BLACK SQUARE;So;0;ON; 25A0;;;;N;;;;; FFEE;HALFWIDTH WHITE CIRCLE;So;0;ON; 25CB;;;;N;;;;; FFFC;OBJECT REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; mauve-20140821/gnu/testlet/java/lang/Character/getType12.java0000644000175000001440000000611106634200716022412 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Character; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class getType12 implements Testlet { public static void p (TestHarness harness, char c, String expected) { String s; switch (Character.getType (c)) { case Character.SPACE_SEPARATOR: s = "space_separator"; break; case Character.LINE_SEPARATOR: s = "line_separator"; break; case Character.PARAGRAPH_SEPARATOR: s = "paragraph_separator"; break; case Character.UPPERCASE_LETTER: s = "uppercase_letter"; break; case Character.LOWERCASE_LETTER: s = "lowercase_letter"; break; case Character.TITLECASE_LETTER: s = "titlecase_letter"; break; case Character.MODIFIER_LETTER: s = "modifier_letter"; break; case Character.OTHER_LETTER: s = "other_letter"; break; case Character.DECIMAL_DIGIT_NUMBER: s = "decimal_digit_number"; break; case Character.LETTER_NUMBER: s = "letter_number"; break; case Character.OTHER_NUMBER: s = "other_number"; break; case Character.NON_SPACING_MARK: s = "non_spacing_mark"; break; case Character.ENCLOSING_MARK: s = "enclosing_mark"; break; case Character.COMBINING_SPACING_MARK: s = "combining_spacing_mark"; break; case Character.DASH_PUNCTUATION: s = "dash_punctuation"; break; case Character.START_PUNCTUATION: s = "start_punctuation"; break; case Character.END_PUNCTUATION: s = "end_punctuation"; break; case Character.CONNECTOR_PUNCTUATION: s = "connector_punctuation"; break; case Character.OTHER_PUNCTUATION: s = "other_punctuation"; break; case Character.MATH_SYMBOL: s = "math_symbol"; break; case Character.CURRENCY_SYMBOL: s = "currency_symbol"; break; case Character.MODIFIER_SYMBOL: s = "modifier_symbol"; break; case Character.OTHER_SYMBOL: s = "other_symbol"; break; case Character.CONTROL: s = "control"; break; case Character.FORMAT: s = "format"; break; case Character.UNASSIGNED: s = "unassigned"; break; case Character.PRIVATE_USE: s = "private_use"; break; case Character.SURROGATE: s = "surrogate"; break; default: s = "???"; break; } harness.check (s, expected); } public void test (TestHarness harness) { p (harness, '\u20ac', "currency_symbol"); } } mauve-20140821/gnu/testlet/java/lang/Character/forDigit.java0000644000175000001440000000251506634200713022376 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Character; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class forDigit implements Testlet { public void test (TestHarness harness) { harness.check (Character.forDigit(-1, 5), 0); harness.check (Character.forDigit(7, 5), 0); harness.check (Character.forDigit(0, 1), 0); harness.check (Character.forDigit(5, 37), 0); harness.check (Character.forDigit(8, 10), '8'); harness.check (Character.forDigit(12, 16), 'c'); harness.check (Character.forDigit(34,36), 'y'); } } mauve-20140821/gnu/testlet/java/lang/Character/classify12.java0000644000175000001440000000202510636031070022576 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Character; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class classify12 implements Testlet { public void test (TestHarness harness) { harness.check (Character.isUpperCase('\u2102')); } } mauve-20140821/gnu/testlet/java/lang/Character/classify.java0000644000175000001440000000567406634200706022457 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Character; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class classify implements Testlet { public void test (TestHarness harness) { harness.checkPoint ("isDefined"); harness.check (Character.isDefined('9')); harness.check (! Character.isDefined('\uffef')); harness.checkPoint ("isIdentifierIgnorable"); harness.check (! Character.isIdentifierIgnorable('Z')); harness.check (Character.isIdentifierIgnorable('\u202c')); harness.check (Character.isIdentifierIgnorable('\ufeff')); harness.checkPoint ("isISOControl"); harness.check (! Character.isISOControl('Q')); harness.check (Character.isISOControl('\u0081')); harness.check (Character.isISOControl('\u0009')); harness.checkPoint ("isJavaIdentifierPart"); harness.check (Character.isJavaIdentifierPart('\u0903')); harness.checkPoint ("isJavaIdentifierStart"); harness.check (Character.isJavaIdentifierStart('\u20a0')); harness.check (Character.isJavaIdentifierStart('Z')); harness.checkPoint ("isLetter"); harness.check (Character.isLetter('A')); harness.check (Character.isLetter('\u2102')); harness.check (Character.isLetter('\u01cb')); harness.check (Character.isLetter('\u02b2')); harness.check (Character.isLetter('\uffda')); harness.check (Character.isLetter('\u1fd3')); harness.checkPoint ("isLetterOrDigit"); harness.check (Character.isLetterOrDigit('7')); harness.check (! Character.isLetterOrDigit('_')); harness.checkPoint ("isLowerCase"); harness.check (Character.isLowerCase('\u03d0')); harness.check (Character.isLowerCase('z')); harness.check (! Character.isLowerCase('Q')); harness.check (! Character.isLowerCase('\u249f')); harness.checkPoint ("isUpperCase"); harness.check (Character.isUpperCase('Q')); harness.check (! Character.isUpperCase('\u01c5')); harness.checkPoint ("isWhitespace"); harness.check (Character.isWhitespace('\u0009')); harness.check (! Character.isWhitespace('\u00a0')); harness.check (Character.isWhitespace('\u2000')); } } mauve-20140821/gnu/testlet/java/lang/Character/digit.java0000644000175000001440000000342506634200711021726 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Character; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class digit implements Testlet { public void test (TestHarness harness) { harness.check (Character.digit ('9', 10), 9); harness.check (Character.digit ('9', 8), -1); harness.check (Character.digit ('A', 16), 10); harness.check (Character.digit ('a', 11), 10); harness.check (Character.digit ((char) ('Z' + 1), 36), -1); harness.check (Character.digit ('Z', 36), 35); harness.check (Character.digit ('\u0be7', 2), 1); harness.check (Character.digit ('\u0f27', 19), 7); harness.check (Character.digit ('0', 99), -1); harness.check (Character.digit ('0', -5), -1); harness.check (Character.digit ('\uffda', 10), -1); harness.check (Character.digit ('\u0000', 10), -1); harness.check (Character.digit ('A', 10), -1); harness.check (Character.digit ('y', 36), 34); harness.check (Character.digit ('\u2070', 36), -1); } } mauve-20140821/gnu/testlet/java/lang/Character/Blocks.java0000644000175000001440000000212310434122270022031 0ustar dokousers// Tags: JDK1.2 /* Copyright (C) 2005 Andrew John Hughes (gnu_andrew@member.fsf.org) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Character; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class Blocks implements Testlet { public void test (TestHarness harness) { harness.check(Character.UnicodeBlock.of('\u2191'), Character.UnicodeBlock.ARROWS); } } mauve-20140821/gnu/testlet/java/lang/Character/UnicodeData-4.0.0.txt0000644000175000001440000333120510647455335023361 0ustar dokousers0000;;Cc;0;BN;;;;;N;NULL;;;; 0001;;Cc;0;BN;;;;;N;START OF HEADING;;;; 0002;;Cc;0;BN;;;;;N;START OF TEXT;;;; 0003;;Cc;0;BN;;;;;N;END OF TEXT;;;; 0004;;Cc;0;BN;;;;;N;END OF TRANSMISSION;;;; 0005;;Cc;0;BN;;;;;N;ENQUIRY;;;; 0006;;Cc;0;BN;;;;;N;ACKNOWLEDGE;;;; 0007;;Cc;0;BN;;;;;N;BELL;;;; 0008;;Cc;0;BN;;;;;N;BACKSPACE;;;; 0009;;Cc;0;S;;;;;N;CHARACTER TABULATION;;;; 000A;;Cc;0;B;;;;;N;LINE FEED (LF);;;; 000B;;Cc;0;S;;;;;N;LINE TABULATION;;;; 000C;;Cc;0;WS;;;;;N;FORM FEED (FF);;;; 000D;;Cc;0;B;;;;;N;CARRIAGE RETURN (CR);;;; 000E;;Cc;0;BN;;;;;N;SHIFT OUT;;;; 000F;;Cc;0;BN;;;;;N;SHIFT IN;;;; 0010;;Cc;0;BN;;;;;N;DATA LINK ESCAPE;;;; 0011;;Cc;0;BN;;;;;N;DEVICE CONTROL ONE;;;; 0012;;Cc;0;BN;;;;;N;DEVICE CONTROL TWO;;;; 0013;;Cc;0;BN;;;;;N;DEVICE CONTROL THREE;;;; 0014;;Cc;0;BN;;;;;N;DEVICE CONTROL FOUR;;;; 0015;;Cc;0;BN;;;;;N;NEGATIVE ACKNOWLEDGE;;;; 0016;;Cc;0;BN;;;;;N;SYNCHRONOUS IDLE;;;; 0017;;Cc;0;BN;;;;;N;END OF TRANSMISSION BLOCK;;;; 0018;;Cc;0;BN;;;;;N;CANCEL;;;; 0019;;Cc;0;BN;;;;;N;END OF MEDIUM;;;; 001A;;Cc;0;BN;;;;;N;SUBSTITUTE;;;; 001B;;Cc;0;BN;;;;;N;ESCAPE;;;; 001C;;Cc;0;B;;;;;N;INFORMATION SEPARATOR FOUR;;;; 001D;;Cc;0;B;;;;;N;INFORMATION SEPARATOR THREE;;;; 001E;;Cc;0;B;;;;;N;INFORMATION SEPARATOR TWO;;;; 001F;;Cc;0;S;;;;;N;INFORMATION SEPARATOR ONE;;;; 0020;SPACE;Zs;0;WS;;;;;N;;;;; 0021;EXCLAMATION MARK;Po;0;ON;;;;;N;;;;; 0022;QUOTATION MARK;Po;0;ON;;;;;N;;;;; 0023;NUMBER SIGN;Po;0;ET;;;;;N;;;;; 0024;DOLLAR SIGN;Sc;0;ET;;;;;N;;;;; 0025;PERCENT SIGN;Po;0;ET;;;;;N;;;;; 0026;AMPERSAND;Po;0;ON;;;;;N;;;;; 0027;APOSTROPHE;Po;0;ON;;;;;N;APOSTROPHE-QUOTE;;;; 0028;LEFT PARENTHESIS;Ps;0;ON;;;;;Y;OPENING PARENTHESIS;;;; 0029;RIGHT PARENTHESIS;Pe;0;ON;;;;;Y;CLOSING PARENTHESIS;;;; 002A;ASTERISK;Po;0;ON;;;;;N;;;;; 002B;PLUS SIGN;Sm;0;ET;;;;;N;;;;; 002C;COMMA;Po;0;CS;;;;;N;;;;; 002D;HYPHEN-MINUS;Pd;0;ET;;;;;N;;;;; 002E;FULL STOP;Po;0;CS;;;;;N;PERIOD;;;; 002F;SOLIDUS;Po;0;ES;;;;;N;SLASH;;;; 0030;DIGIT ZERO;Nd;0;EN;;0;0;0;N;;;;; 0031;DIGIT ONE;Nd;0;EN;;1;1;1;N;;;;; 0032;DIGIT TWO;Nd;0;EN;;2;2;2;N;;;;; 0033;DIGIT THREE;Nd;0;EN;;3;3;3;N;;;;; 0034;DIGIT FOUR;Nd;0;EN;;4;4;4;N;;;;; 0035;DIGIT FIVE;Nd;0;EN;;5;5;5;N;;;;; 0036;DIGIT SIX;Nd;0;EN;;6;6;6;N;;;;; 0037;DIGIT SEVEN;Nd;0;EN;;7;7;7;N;;;;; 0038;DIGIT EIGHT;Nd;0;EN;;8;8;8;N;;;;; 0039;DIGIT NINE;Nd;0;EN;;9;9;9;N;;;;; 003A;COLON;Po;0;CS;;;;;N;;;;; 003B;SEMICOLON;Po;0;ON;;;;;N;;;;; 003C;LESS-THAN SIGN;Sm;0;ON;;;;;Y;;;;; 003D;EQUALS SIGN;Sm;0;ON;;;;;N;;;;; 003E;GREATER-THAN SIGN;Sm;0;ON;;;;;Y;;;;; 003F;QUESTION MARK;Po;0;ON;;;;;N;;;;; 0040;COMMERCIAL AT;Po;0;ON;;;;;N;;;;; 0041;LATIN CAPITAL LETTER A;Lu;0;L;;;;;N;;;;0061; 0042;LATIN CAPITAL LETTER B;Lu;0;L;;;;;N;;;;0062; 0043;LATIN CAPITAL LETTER C;Lu;0;L;;;;;N;;;;0063; 0044;LATIN CAPITAL LETTER D;Lu;0;L;;;;;N;;;;0064; 0045;LATIN CAPITAL LETTER E;Lu;0;L;;;;;N;;;;0065; 0046;LATIN CAPITAL LETTER F;Lu;0;L;;;;;N;;;;0066; 0047;LATIN CAPITAL LETTER G;Lu;0;L;;;;;N;;;;0067; 0048;LATIN CAPITAL LETTER H;Lu;0;L;;;;;N;;;;0068; 0049;LATIN CAPITAL LETTER I;Lu;0;L;;;;;N;;;;0069; 004A;LATIN CAPITAL LETTER J;Lu;0;L;;;;;N;;;;006A; 004B;LATIN CAPITAL LETTER K;Lu;0;L;;;;;N;;;;006B; 004C;LATIN CAPITAL LETTER L;Lu;0;L;;;;;N;;;;006C; 004D;LATIN CAPITAL LETTER M;Lu;0;L;;;;;N;;;;006D; 004E;LATIN CAPITAL LETTER N;Lu;0;L;;;;;N;;;;006E; 004F;LATIN CAPITAL LETTER O;Lu;0;L;;;;;N;;;;006F; 0050;LATIN CAPITAL LETTER P;Lu;0;L;;;;;N;;;;0070; 0051;LATIN CAPITAL LETTER Q;Lu;0;L;;;;;N;;;;0071; 0052;LATIN CAPITAL LETTER R;Lu;0;L;;;;;N;;;;0072; 0053;LATIN CAPITAL LETTER S;Lu;0;L;;;;;N;;;;0073; 0054;LATIN CAPITAL LETTER T;Lu;0;L;;;;;N;;;;0074; 0055;LATIN CAPITAL LETTER U;Lu;0;L;;;;;N;;;;0075; 0056;LATIN CAPITAL LETTER V;Lu;0;L;;;;;N;;;;0076; 0057;LATIN CAPITAL LETTER W;Lu;0;L;;;;;N;;;;0077; 0058;LATIN CAPITAL LETTER X;Lu;0;L;;;;;N;;;;0078; 0059;LATIN CAPITAL LETTER Y;Lu;0;L;;;;;N;;;;0079; 005A;LATIN CAPITAL LETTER Z;Lu;0;L;;;;;N;;;;007A; 005B;LEFT SQUARE BRACKET;Ps;0;ON;;;;;Y;OPENING SQUARE BRACKET;;;; 005C;REVERSE SOLIDUS;Po;0;ON;;;;;N;BACKSLASH;;;; 005D;RIGHT SQUARE BRACKET;Pe;0;ON;;;;;Y;CLOSING SQUARE BRACKET;;;; 005E;CIRCUMFLEX ACCENT;Sk;0;ON;;;;;N;SPACING CIRCUMFLEX;;;; 005F;LOW LINE;Pc;0;ON;;;;;N;SPACING UNDERSCORE;;;; 0060;GRAVE ACCENT;Sk;0;ON;;;;;N;SPACING GRAVE;;;; 0061;LATIN SMALL LETTER A;Ll;0;L;;;;;N;;;0041;;0041 0062;LATIN SMALL LETTER B;Ll;0;L;;;;;N;;;0042;;0042 0063;LATIN SMALL LETTER C;Ll;0;L;;;;;N;;;0043;;0043 0064;LATIN SMALL LETTER D;Ll;0;L;;;;;N;;;0044;;0044 0065;LATIN SMALL LETTER E;Ll;0;L;;;;;N;;;0045;;0045 0066;LATIN SMALL LETTER F;Ll;0;L;;;;;N;;;0046;;0046 0067;LATIN SMALL LETTER G;Ll;0;L;;;;;N;;;0047;;0047 0068;LATIN SMALL LETTER H;Ll;0;L;;;;;N;;;0048;;0048 0069;LATIN SMALL LETTER I;Ll;0;L;;;;;N;;;0049;;0049 006A;LATIN SMALL LETTER J;Ll;0;L;;;;;N;;;004A;;004A 006B;LATIN SMALL LETTER K;Ll;0;L;;;;;N;;;004B;;004B 006C;LATIN SMALL LETTER L;Ll;0;L;;;;;N;;;004C;;004C 006D;LATIN SMALL LETTER M;Ll;0;L;;;;;N;;;004D;;004D 006E;LATIN SMALL LETTER N;Ll;0;L;;;;;N;;;004E;;004E 006F;LATIN SMALL LETTER O;Ll;0;L;;;;;N;;;004F;;004F 0070;LATIN SMALL LETTER P;Ll;0;L;;;;;N;;;0050;;0050 0071;LATIN SMALL LETTER Q;Ll;0;L;;;;;N;;;0051;;0051 0072;LATIN SMALL LETTER R;Ll;0;L;;;;;N;;;0052;;0052 0073;LATIN SMALL LETTER S;Ll;0;L;;;;;N;;;0053;;0053 0074;LATIN SMALL LETTER T;Ll;0;L;;;;;N;;;0054;;0054 0075;LATIN SMALL LETTER U;Ll;0;L;;;;;N;;;0055;;0055 0076;LATIN SMALL LETTER V;Ll;0;L;;;;;N;;;0056;;0056 0077;LATIN SMALL LETTER W;Ll;0;L;;;;;N;;;0057;;0057 0078;LATIN SMALL LETTER X;Ll;0;L;;;;;N;;;0058;;0058 0079;LATIN SMALL LETTER Y;Ll;0;L;;;;;N;;;0059;;0059 007A;LATIN SMALL LETTER Z;Ll;0;L;;;;;N;;;005A;;005A 007B;LEFT CURLY BRACKET;Ps;0;ON;;;;;Y;OPENING CURLY BRACKET;;;; 007C;VERTICAL LINE;Sm;0;ON;;;;;N;VERTICAL BAR;;;; 007D;RIGHT CURLY BRACKET;Pe;0;ON;;;;;Y;CLOSING CURLY BRACKET;;;; 007E;TILDE;Sm;0;ON;;;;;N;;;;; 007F;;Cc;0;BN;;;;;N;DELETE;;;; 0080;;Cc;0;BN;;;;;N;;;;; 0081;;Cc;0;BN;;;;;N;;;;; 0082;;Cc;0;BN;;;;;N;BREAK PERMITTED HERE;;;; 0083;;Cc;0;BN;;;;;N;NO BREAK HERE;;;; 0084;;Cc;0;BN;;;;;N;;;;; 0085;;Cc;0;B;;;;;N;NEXT LINE (NEL);;;; 0086;;Cc;0;BN;;;;;N;START OF SELECTED AREA;;;; 0087;;Cc;0;BN;;;;;N;END OF SELECTED AREA;;;; 0088;;Cc;0;BN;;;;;N;CHARACTER TABULATION SET;;;; 0089;;Cc;0;BN;;;;;N;CHARACTER TABULATION WITH JUSTIFICATION;;;; 008A;;Cc;0;BN;;;;;N;LINE TABULATION SET;;;; 008B;;Cc;0;BN;;;;;N;PARTIAL LINE FORWARD;;;; 008C;;Cc;0;BN;;;;;N;PARTIAL LINE BACKWARD;;;; 008D;;Cc;0;BN;;;;;N;REVERSE LINE FEED;;;; 008E;;Cc;0;BN;;;;;N;SINGLE SHIFT TWO;;;; 008F;;Cc;0;BN;;;;;N;SINGLE SHIFT THREE;;;; 0090;;Cc;0;BN;;;;;N;DEVICE CONTROL STRING;;;; 0091;;Cc;0;BN;;;;;N;PRIVATE USE ONE;;;; 0092;;Cc;0;BN;;;;;N;PRIVATE USE TWO;;;; 0093;;Cc;0;BN;;;;;N;SET TRANSMIT STATE;;;; 0094;;Cc;0;BN;;;;;N;CANCEL CHARACTER;;;; 0095;;Cc;0;BN;;;;;N;MESSAGE WAITING;;;; 0096;;Cc;0;BN;;;;;N;START OF GUARDED AREA;;;; 0097;;Cc;0;BN;;;;;N;END OF GUARDED AREA;;;; 0098;;Cc;0;BN;;;;;N;START OF STRING;;;; 0099;;Cc;0;BN;;;;;N;;;;; 009A;;Cc;0;BN;;;;;N;SINGLE CHARACTER INTRODUCER;;;; 009B;;Cc;0;BN;;;;;N;CONTROL SEQUENCE INTRODUCER;;;; 009C;;Cc;0;BN;;;;;N;STRING TERMINATOR;;;; 009D;;Cc;0;BN;;;;;N;OPERATING SYSTEM COMMAND;;;; 009E;;Cc;0;BN;;;;;N;PRIVACY MESSAGE;;;; 009F;;Cc;0;BN;;;;;N;APPLICATION PROGRAM COMMAND;;;; 00A0;NO-BREAK SPACE;Zs;0;CS; 0020;;;;N;NON-BREAKING SPACE;;;; 00A1;INVERTED EXCLAMATION MARK;Po;0;ON;;;;;N;;;;; 00A2;CENT SIGN;Sc;0;ET;;;;;N;;;;; 00A3;POUND SIGN;Sc;0;ET;;;;;N;;;;; 00A4;CURRENCY SIGN;Sc;0;ET;;;;;N;;;;; 00A5;YEN SIGN;Sc;0;ET;;;;;N;;;;; 00A6;BROKEN BAR;So;0;ON;;;;;N;BROKEN VERTICAL BAR;;;; 00A7;SECTION SIGN;So;0;ON;;;;;N;;;;; 00A8;DIAERESIS;Sk;0;ON; 0020 0308;;;;N;SPACING DIAERESIS;;;; 00A9;COPYRIGHT SIGN;So;0;ON;;;;;N;;;;; 00AA;FEMININE ORDINAL INDICATOR;Ll;0;L; 0061;;;;N;;;;; 00AB;LEFT-POINTING DOUBLE ANGLE QUOTATION MARK;Pi;0;ON;;;;;Y;LEFT POINTING GUILLEMET;*;;; 00AC;NOT SIGN;Sm;0;ON;;;;;N;;;;; 00AD;SOFT HYPHEN;Cf;0;ON;;;;;N;;;;; 00AE;REGISTERED SIGN;So;0;ON;;;;;N;REGISTERED TRADE MARK SIGN;;;; 00AF;MACRON;Sk;0;ON; 0020 0304;;;;N;SPACING MACRON;;;; 00B0;DEGREE SIGN;So;0;ET;;;;;N;;;;; 00B1;PLUS-MINUS SIGN;Sm;0;ET;;;;;N;PLUS-OR-MINUS SIGN;;;; 00B2;SUPERSCRIPT TWO;No;0;EN; 0032;;2;2;N;SUPERSCRIPT DIGIT TWO;;;; 00B3;SUPERSCRIPT THREE;No;0;EN; 0033;;3;3;N;SUPERSCRIPT DIGIT THREE;;;; 00B4;ACUTE ACCENT;Sk;0;ON; 0020 0301;;;;N;SPACING ACUTE;;;; 00B5;MICRO SIGN;Ll;0;L; 03BC;;;;N;;;039C;;039C 00B6;PILCROW SIGN;So;0;ON;;;;;N;PARAGRAPH SIGN;;;; 00B7;MIDDLE DOT;Po;0;ON;;;;;N;;;;; 00B8;CEDILLA;Sk;0;ON; 0020 0327;;;;N;SPACING CEDILLA;;;; 00B9;SUPERSCRIPT ONE;No;0;EN; 0031;;1;1;N;SUPERSCRIPT DIGIT ONE;;;; 00BA;MASCULINE ORDINAL INDICATOR;Ll;0;L; 006F;;;;N;;;;; 00BB;RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK;Pf;0;ON;;;;;Y;RIGHT POINTING GUILLEMET;*;;; 00BC;VULGAR FRACTION ONE QUARTER;No;0;ON; 0031 2044 0034;;;1/4;N;FRACTION ONE QUARTER;;;; 00BD;VULGAR FRACTION ONE HALF;No;0;ON; 0031 2044 0032;;;1/2;N;FRACTION ONE HALF;;;; 00BE;VULGAR FRACTION THREE QUARTERS;No;0;ON; 0033 2044 0034;;;3/4;N;FRACTION THREE QUARTERS;;;; 00BF;INVERTED QUESTION MARK;Po;0;ON;;;;;N;;;;; 00C0;LATIN CAPITAL LETTER A WITH GRAVE;Lu;0;L;0041 0300;;;;N;LATIN CAPITAL LETTER A GRAVE;;;00E0; 00C1;LATIN CAPITAL LETTER A WITH ACUTE;Lu;0;L;0041 0301;;;;N;LATIN CAPITAL LETTER A ACUTE;;;00E1; 00C2;LATIN CAPITAL LETTER A WITH CIRCUMFLEX;Lu;0;L;0041 0302;;;;N;LATIN CAPITAL LETTER A CIRCUMFLEX;;;00E2; 00C3;LATIN CAPITAL LETTER A WITH TILDE;Lu;0;L;0041 0303;;;;N;LATIN CAPITAL LETTER A TILDE;;;00E3; 00C4;LATIN CAPITAL LETTER A WITH DIAERESIS;Lu;0;L;0041 0308;;;;N;LATIN CAPITAL LETTER A DIAERESIS;;;00E4; 00C5;LATIN CAPITAL LETTER A WITH RING ABOVE;Lu;0;L;0041 030A;;;;N;LATIN CAPITAL LETTER A RING;;;00E5; 00C6;LATIN CAPITAL LETTER AE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER A E;ash *;;00E6; 00C7;LATIN CAPITAL LETTER C WITH CEDILLA;Lu;0;L;0043 0327;;;;N;LATIN CAPITAL LETTER C CEDILLA;;;00E7; 00C8;LATIN CAPITAL LETTER E WITH GRAVE;Lu;0;L;0045 0300;;;;N;LATIN CAPITAL LETTER E GRAVE;;;00E8; 00C9;LATIN CAPITAL LETTER E WITH ACUTE;Lu;0;L;0045 0301;;;;N;LATIN CAPITAL LETTER E ACUTE;;;00E9; 00CA;LATIN CAPITAL LETTER E WITH CIRCUMFLEX;Lu;0;L;0045 0302;;;;N;LATIN CAPITAL LETTER E CIRCUMFLEX;;;00EA; 00CB;LATIN CAPITAL LETTER E WITH DIAERESIS;Lu;0;L;0045 0308;;;;N;LATIN CAPITAL LETTER E DIAERESIS;;;00EB; 00CC;LATIN CAPITAL LETTER I WITH GRAVE;Lu;0;L;0049 0300;;;;N;LATIN CAPITAL LETTER I GRAVE;;;00EC; 00CD;LATIN CAPITAL LETTER I WITH ACUTE;Lu;0;L;0049 0301;;;;N;LATIN CAPITAL LETTER I ACUTE;;;00ED; 00CE;LATIN CAPITAL LETTER I WITH CIRCUMFLEX;Lu;0;L;0049 0302;;;;N;LATIN CAPITAL LETTER I CIRCUMFLEX;;;00EE; 00CF;LATIN CAPITAL LETTER I WITH DIAERESIS;Lu;0;L;0049 0308;;;;N;LATIN CAPITAL LETTER I DIAERESIS;;;00EF; 00D0;LATIN CAPITAL LETTER ETH;Lu;0;L;;;;;N;;Icelandic;;00F0; 00D1;LATIN CAPITAL LETTER N WITH TILDE;Lu;0;L;004E 0303;;;;N;LATIN CAPITAL LETTER N TILDE;;;00F1; 00D2;LATIN CAPITAL LETTER O WITH GRAVE;Lu;0;L;004F 0300;;;;N;LATIN CAPITAL LETTER O GRAVE;;;00F2; 00D3;LATIN CAPITAL LETTER O WITH ACUTE;Lu;0;L;004F 0301;;;;N;LATIN CAPITAL LETTER O ACUTE;;;00F3; 00D4;LATIN CAPITAL LETTER O WITH CIRCUMFLEX;Lu;0;L;004F 0302;;;;N;LATIN CAPITAL LETTER O CIRCUMFLEX;;;00F4; 00D5;LATIN CAPITAL LETTER O WITH TILDE;Lu;0;L;004F 0303;;;;N;LATIN CAPITAL LETTER O TILDE;;;00F5; 00D6;LATIN CAPITAL LETTER O WITH DIAERESIS;Lu;0;L;004F 0308;;;;N;LATIN CAPITAL LETTER O DIAERESIS;;;00F6; 00D7;MULTIPLICATION SIGN;Sm;0;ON;;;;;N;;;;; 00D8;LATIN CAPITAL LETTER O WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER O SLASH;;;00F8; 00D9;LATIN CAPITAL LETTER U WITH GRAVE;Lu;0;L;0055 0300;;;;N;LATIN CAPITAL LETTER U GRAVE;;;00F9; 00DA;LATIN CAPITAL LETTER U WITH ACUTE;Lu;0;L;0055 0301;;;;N;LATIN CAPITAL LETTER U ACUTE;;;00FA; 00DB;LATIN CAPITAL LETTER U WITH CIRCUMFLEX;Lu;0;L;0055 0302;;;;N;LATIN CAPITAL LETTER U CIRCUMFLEX;;;00FB; 00DC;LATIN CAPITAL LETTER U WITH DIAERESIS;Lu;0;L;0055 0308;;;;N;LATIN CAPITAL LETTER U DIAERESIS;;;00FC; 00DD;LATIN CAPITAL LETTER Y WITH ACUTE;Lu;0;L;0059 0301;;;;N;LATIN CAPITAL LETTER Y ACUTE;;;00FD; 00DE;LATIN CAPITAL LETTER THORN;Lu;0;L;;;;;N;;Icelandic;;00FE; 00DF;LATIN SMALL LETTER SHARP S;Ll;0;L;;;;;N;;German;;; 00E0;LATIN SMALL LETTER A WITH GRAVE;Ll;0;L;0061 0300;;;;N;LATIN SMALL LETTER A GRAVE;;00C0;;00C0 00E1;LATIN SMALL LETTER A WITH ACUTE;Ll;0;L;0061 0301;;;;N;LATIN SMALL LETTER A ACUTE;;00C1;;00C1 00E2;LATIN SMALL LETTER A WITH CIRCUMFLEX;Ll;0;L;0061 0302;;;;N;LATIN SMALL LETTER A CIRCUMFLEX;;00C2;;00C2 00E3;LATIN SMALL LETTER A WITH TILDE;Ll;0;L;0061 0303;;;;N;LATIN SMALL LETTER A TILDE;;00C3;;00C3 00E4;LATIN SMALL LETTER A WITH DIAERESIS;Ll;0;L;0061 0308;;;;N;LATIN SMALL LETTER A DIAERESIS;;00C4;;00C4 00E5;LATIN SMALL LETTER A WITH RING ABOVE;Ll;0;L;0061 030A;;;;N;LATIN SMALL LETTER A RING;;00C5;;00C5 00E6;LATIN SMALL LETTER AE;Ll;0;L;;;;;N;LATIN SMALL LETTER A E;ash *;00C6;;00C6 00E7;LATIN SMALL LETTER C WITH CEDILLA;Ll;0;L;0063 0327;;;;N;LATIN SMALL LETTER C CEDILLA;;00C7;;00C7 00E8;LATIN SMALL LETTER E WITH GRAVE;Ll;0;L;0065 0300;;;;N;LATIN SMALL LETTER E GRAVE;;00C8;;00C8 00E9;LATIN SMALL LETTER E WITH ACUTE;Ll;0;L;0065 0301;;;;N;LATIN SMALL LETTER E ACUTE;;00C9;;00C9 00EA;LATIN SMALL LETTER E WITH CIRCUMFLEX;Ll;0;L;0065 0302;;;;N;LATIN SMALL LETTER E CIRCUMFLEX;;00CA;;00CA 00EB;LATIN SMALL LETTER E WITH DIAERESIS;Ll;0;L;0065 0308;;;;N;LATIN SMALL LETTER E DIAERESIS;;00CB;;00CB 00EC;LATIN SMALL LETTER I WITH GRAVE;Ll;0;L;0069 0300;;;;N;LATIN SMALL LETTER I GRAVE;;00CC;;00CC 00ED;LATIN SMALL LETTER I WITH ACUTE;Ll;0;L;0069 0301;;;;N;LATIN SMALL LETTER I ACUTE;;00CD;;00CD 00EE;LATIN SMALL LETTER I WITH CIRCUMFLEX;Ll;0;L;0069 0302;;;;N;LATIN SMALL LETTER I CIRCUMFLEX;;00CE;;00CE 00EF;LATIN SMALL LETTER I WITH DIAERESIS;Ll;0;L;0069 0308;;;;N;LATIN SMALL LETTER I DIAERESIS;;00CF;;00CF 00F0;LATIN SMALL LETTER ETH;Ll;0;L;;;;;N;;Icelandic;00D0;;00D0 00F1;LATIN SMALL LETTER N WITH TILDE;Ll;0;L;006E 0303;;;;N;LATIN SMALL LETTER N TILDE;;00D1;;00D1 00F2;LATIN SMALL LETTER O WITH GRAVE;Ll;0;L;006F 0300;;;;N;LATIN SMALL LETTER O GRAVE;;00D2;;00D2 00F3;LATIN SMALL LETTER O WITH ACUTE;Ll;0;L;006F 0301;;;;N;LATIN SMALL LETTER O ACUTE;;00D3;;00D3 00F4;LATIN SMALL LETTER O WITH CIRCUMFLEX;Ll;0;L;006F 0302;;;;N;LATIN SMALL LETTER O CIRCUMFLEX;;00D4;;00D4 00F5;LATIN SMALL LETTER O WITH TILDE;Ll;0;L;006F 0303;;;;N;LATIN SMALL LETTER O TILDE;;00D5;;00D5 00F6;LATIN SMALL LETTER O WITH DIAERESIS;Ll;0;L;006F 0308;;;;N;LATIN SMALL LETTER O DIAERESIS;;00D6;;00D6 00F7;DIVISION SIGN;Sm;0;ON;;;;;N;;;;; 00F8;LATIN SMALL LETTER O WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER O SLASH;;00D8;;00D8 00F9;LATIN SMALL LETTER U WITH GRAVE;Ll;0;L;0075 0300;;;;N;LATIN SMALL LETTER U GRAVE;;00D9;;00D9 00FA;LATIN SMALL LETTER U WITH ACUTE;Ll;0;L;0075 0301;;;;N;LATIN SMALL LETTER U ACUTE;;00DA;;00DA 00FB;LATIN SMALL LETTER U WITH CIRCUMFLEX;Ll;0;L;0075 0302;;;;N;LATIN SMALL LETTER U CIRCUMFLEX;;00DB;;00DB 00FC;LATIN SMALL LETTER U WITH DIAERESIS;Ll;0;L;0075 0308;;;;N;LATIN SMALL LETTER U DIAERESIS;;00DC;;00DC 00FD;LATIN SMALL LETTER Y WITH ACUTE;Ll;0;L;0079 0301;;;;N;LATIN SMALL LETTER Y ACUTE;;00DD;;00DD 00FE;LATIN SMALL LETTER THORN;Ll;0;L;;;;;N;;Icelandic;00DE;;00DE 00FF;LATIN SMALL LETTER Y WITH DIAERESIS;Ll;0;L;0079 0308;;;;N;LATIN SMALL LETTER Y DIAERESIS;;0178;;0178 0100;LATIN CAPITAL LETTER A WITH MACRON;Lu;0;L;0041 0304;;;;N;LATIN CAPITAL LETTER A MACRON;;;0101; 0101;LATIN SMALL LETTER A WITH MACRON;Ll;0;L;0061 0304;;;;N;LATIN SMALL LETTER A MACRON;;0100;;0100 0102;LATIN CAPITAL LETTER A WITH BREVE;Lu;0;L;0041 0306;;;;N;LATIN CAPITAL LETTER A BREVE;;;0103; 0103;LATIN SMALL LETTER A WITH BREVE;Ll;0;L;0061 0306;;;;N;LATIN SMALL LETTER A BREVE;;0102;;0102 0104;LATIN CAPITAL LETTER A WITH OGONEK;Lu;0;L;0041 0328;;;;N;LATIN CAPITAL LETTER A OGONEK;;;0105; 0105;LATIN SMALL LETTER A WITH OGONEK;Ll;0;L;0061 0328;;;;N;LATIN SMALL LETTER A OGONEK;;0104;;0104 0106;LATIN CAPITAL LETTER C WITH ACUTE;Lu;0;L;0043 0301;;;;N;LATIN CAPITAL LETTER C ACUTE;;;0107; 0107;LATIN SMALL LETTER C WITH ACUTE;Ll;0;L;0063 0301;;;;N;LATIN SMALL LETTER C ACUTE;;0106;;0106 0108;LATIN CAPITAL LETTER C WITH CIRCUMFLEX;Lu;0;L;0043 0302;;;;N;LATIN CAPITAL LETTER C CIRCUMFLEX;;;0109; 0109;LATIN SMALL LETTER C WITH CIRCUMFLEX;Ll;0;L;0063 0302;;;;N;LATIN SMALL LETTER C CIRCUMFLEX;;0108;;0108 010A;LATIN CAPITAL LETTER C WITH DOT ABOVE;Lu;0;L;0043 0307;;;;N;LATIN CAPITAL LETTER C DOT;;;010B; 010B;LATIN SMALL LETTER C WITH DOT ABOVE;Ll;0;L;0063 0307;;;;N;LATIN SMALL LETTER C DOT;;010A;;010A 010C;LATIN CAPITAL LETTER C WITH CARON;Lu;0;L;0043 030C;;;;N;LATIN CAPITAL LETTER C HACEK;;;010D; 010D;LATIN SMALL LETTER C WITH CARON;Ll;0;L;0063 030C;;;;N;LATIN SMALL LETTER C HACEK;;010C;;010C 010E;LATIN CAPITAL LETTER D WITH CARON;Lu;0;L;0044 030C;;;;N;LATIN CAPITAL LETTER D HACEK;;;010F; 010F;LATIN SMALL LETTER D WITH CARON;Ll;0;L;0064 030C;;;;N;LATIN SMALL LETTER D HACEK;;010E;;010E 0110;LATIN CAPITAL LETTER D WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER D BAR;;;0111; 0111;LATIN SMALL LETTER D WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER D BAR;;0110;;0110 0112;LATIN CAPITAL LETTER E WITH MACRON;Lu;0;L;0045 0304;;;;N;LATIN CAPITAL LETTER E MACRON;;;0113; 0113;LATIN SMALL LETTER E WITH MACRON;Ll;0;L;0065 0304;;;;N;LATIN SMALL LETTER E MACRON;;0112;;0112 0114;LATIN CAPITAL LETTER E WITH BREVE;Lu;0;L;0045 0306;;;;N;LATIN CAPITAL LETTER E BREVE;;;0115; 0115;LATIN SMALL LETTER E WITH BREVE;Ll;0;L;0065 0306;;;;N;LATIN SMALL LETTER E BREVE;;0114;;0114 0116;LATIN CAPITAL LETTER E WITH DOT ABOVE;Lu;0;L;0045 0307;;;;N;LATIN CAPITAL LETTER E DOT;;;0117; 0117;LATIN SMALL LETTER E WITH DOT ABOVE;Ll;0;L;0065 0307;;;;N;LATIN SMALL LETTER E DOT;;0116;;0116 0118;LATIN CAPITAL LETTER E WITH OGONEK;Lu;0;L;0045 0328;;;;N;LATIN CAPITAL LETTER E OGONEK;;;0119; 0119;LATIN SMALL LETTER E WITH OGONEK;Ll;0;L;0065 0328;;;;N;LATIN SMALL LETTER E OGONEK;;0118;;0118 011A;LATIN CAPITAL LETTER E WITH CARON;Lu;0;L;0045 030C;;;;N;LATIN CAPITAL LETTER E HACEK;;;011B; 011B;LATIN SMALL LETTER E WITH CARON;Ll;0;L;0065 030C;;;;N;LATIN SMALL LETTER E HACEK;;011A;;011A 011C;LATIN CAPITAL LETTER G WITH CIRCUMFLEX;Lu;0;L;0047 0302;;;;N;LATIN CAPITAL LETTER G CIRCUMFLEX;;;011D; 011D;LATIN SMALL LETTER G WITH CIRCUMFLEX;Ll;0;L;0067 0302;;;;N;LATIN SMALL LETTER G CIRCUMFLEX;;011C;;011C 011E;LATIN CAPITAL LETTER G WITH BREVE;Lu;0;L;0047 0306;;;;N;LATIN CAPITAL LETTER G BREVE;;;011F; 011F;LATIN SMALL LETTER G WITH BREVE;Ll;0;L;0067 0306;;;;N;LATIN SMALL LETTER G BREVE;;011E;;011E 0120;LATIN CAPITAL LETTER G WITH DOT ABOVE;Lu;0;L;0047 0307;;;;N;LATIN CAPITAL LETTER G DOT;;;0121; 0121;LATIN SMALL LETTER G WITH DOT ABOVE;Ll;0;L;0067 0307;;;;N;LATIN SMALL LETTER G DOT;;0120;;0120 0122;LATIN CAPITAL LETTER G WITH CEDILLA;Lu;0;L;0047 0327;;;;N;LATIN CAPITAL LETTER G CEDILLA;;;0123; 0123;LATIN SMALL LETTER G WITH CEDILLA;Ll;0;L;0067 0327;;;;N;LATIN SMALL LETTER G CEDILLA;;0122;;0122 0124;LATIN CAPITAL LETTER H WITH CIRCUMFLEX;Lu;0;L;0048 0302;;;;N;LATIN CAPITAL LETTER H CIRCUMFLEX;;;0125; 0125;LATIN SMALL LETTER H WITH CIRCUMFLEX;Ll;0;L;0068 0302;;;;N;LATIN SMALL LETTER H CIRCUMFLEX;;0124;;0124 0126;LATIN CAPITAL LETTER H WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER H BAR;;;0127; 0127;LATIN SMALL LETTER H WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER H BAR;;0126;;0126 0128;LATIN CAPITAL LETTER I WITH TILDE;Lu;0;L;0049 0303;;;;N;LATIN CAPITAL LETTER I TILDE;;;0129; 0129;LATIN SMALL LETTER I WITH TILDE;Ll;0;L;0069 0303;;;;N;LATIN SMALL LETTER I TILDE;;0128;;0128 012A;LATIN CAPITAL LETTER I WITH MACRON;Lu;0;L;0049 0304;;;;N;LATIN CAPITAL LETTER I MACRON;;;012B; 012B;LATIN SMALL LETTER I WITH MACRON;Ll;0;L;0069 0304;;;;N;LATIN SMALL LETTER I MACRON;;012A;;012A 012C;LATIN CAPITAL LETTER I WITH BREVE;Lu;0;L;0049 0306;;;;N;LATIN CAPITAL LETTER I BREVE;;;012D; 012D;LATIN SMALL LETTER I WITH BREVE;Ll;0;L;0069 0306;;;;N;LATIN SMALL LETTER I BREVE;;012C;;012C 012E;LATIN CAPITAL LETTER I WITH OGONEK;Lu;0;L;0049 0328;;;;N;LATIN CAPITAL LETTER I OGONEK;;;012F; 012F;LATIN SMALL LETTER I WITH OGONEK;Ll;0;L;0069 0328;;;;N;LATIN SMALL LETTER I OGONEK;;012E;;012E 0130;LATIN CAPITAL LETTER I WITH DOT ABOVE;Lu;0;L;0049 0307;;;;N;LATIN CAPITAL LETTER I DOT;;;0069; 0131;LATIN SMALL LETTER DOTLESS I;Ll;0;L;;;;;N;;;0049;;0049 0132;LATIN CAPITAL LIGATURE IJ;Lu;0;L; 0049 004A;;;;N;LATIN CAPITAL LETTER I J;;;0133; 0133;LATIN SMALL LIGATURE IJ;Ll;0;L; 0069 006A;;;;N;LATIN SMALL LETTER I J;;0132;;0132 0134;LATIN CAPITAL LETTER J WITH CIRCUMFLEX;Lu;0;L;004A 0302;;;;N;LATIN CAPITAL LETTER J CIRCUMFLEX;;;0135; 0135;LATIN SMALL LETTER J WITH CIRCUMFLEX;Ll;0;L;006A 0302;;;;N;LATIN SMALL LETTER J CIRCUMFLEX;;0134;;0134 0136;LATIN CAPITAL LETTER K WITH CEDILLA;Lu;0;L;004B 0327;;;;N;LATIN CAPITAL LETTER K CEDILLA;;;0137; 0137;LATIN SMALL LETTER K WITH CEDILLA;Ll;0;L;006B 0327;;;;N;LATIN SMALL LETTER K CEDILLA;;0136;;0136 0138;LATIN SMALL LETTER KRA;Ll;0;L;;;;;N;;Greenlandic;;; 0139;LATIN CAPITAL LETTER L WITH ACUTE;Lu;0;L;004C 0301;;;;N;LATIN CAPITAL LETTER L ACUTE;;;013A; 013A;LATIN SMALL LETTER L WITH ACUTE;Ll;0;L;006C 0301;;;;N;LATIN SMALL LETTER L ACUTE;;0139;;0139 013B;LATIN CAPITAL LETTER L WITH CEDILLA;Lu;0;L;004C 0327;;;;N;LATIN CAPITAL LETTER L CEDILLA;;;013C; 013C;LATIN SMALL LETTER L WITH CEDILLA;Ll;0;L;006C 0327;;;;N;LATIN SMALL LETTER L CEDILLA;;013B;;013B 013D;LATIN CAPITAL LETTER L WITH CARON;Lu;0;L;004C 030C;;;;N;LATIN CAPITAL LETTER L HACEK;;;013E; 013E;LATIN SMALL LETTER L WITH CARON;Ll;0;L;006C 030C;;;;N;LATIN SMALL LETTER L HACEK;;013D;;013D 013F;LATIN CAPITAL LETTER L WITH MIDDLE DOT;Lu;0;L; 004C 00B7;;;;N;;;;0140; 0140;LATIN SMALL LETTER L WITH MIDDLE DOT;Ll;0;L; 006C 00B7;;;;N;;;013F;;013F 0141;LATIN CAPITAL LETTER L WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER L SLASH;;;0142; 0142;LATIN SMALL LETTER L WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER L SLASH;;0141;;0141 0143;LATIN CAPITAL LETTER N WITH ACUTE;Lu;0;L;004E 0301;;;;N;LATIN CAPITAL LETTER N ACUTE;;;0144; 0144;LATIN SMALL LETTER N WITH ACUTE;Ll;0;L;006E 0301;;;;N;LATIN SMALL LETTER N ACUTE;;0143;;0143 0145;LATIN CAPITAL LETTER N WITH CEDILLA;Lu;0;L;004E 0327;;;;N;LATIN CAPITAL LETTER N CEDILLA;;;0146; 0146;LATIN SMALL LETTER N WITH CEDILLA;Ll;0;L;006E 0327;;;;N;LATIN SMALL LETTER N CEDILLA;;0145;;0145 0147;LATIN CAPITAL LETTER N WITH CARON;Lu;0;L;004E 030C;;;;N;LATIN CAPITAL LETTER N HACEK;;;0148; 0148;LATIN SMALL LETTER N WITH CARON;Ll;0;L;006E 030C;;;;N;LATIN SMALL LETTER N HACEK;;0147;;0147 0149;LATIN SMALL LETTER N PRECEDED BY APOSTROPHE;Ll;0;L; 02BC 006E;;;;N;LATIN SMALL LETTER APOSTROPHE N;;;; 014A;LATIN CAPITAL LETTER ENG;Lu;0;L;;;;;N;;Sami;;014B; 014B;LATIN SMALL LETTER ENG;Ll;0;L;;;;;N;;Sami;014A;;014A 014C;LATIN CAPITAL LETTER O WITH MACRON;Lu;0;L;004F 0304;;;;N;LATIN CAPITAL LETTER O MACRON;;;014D; 014D;LATIN SMALL LETTER O WITH MACRON;Ll;0;L;006F 0304;;;;N;LATIN SMALL LETTER O MACRON;;014C;;014C 014E;LATIN CAPITAL LETTER O WITH BREVE;Lu;0;L;004F 0306;;;;N;LATIN CAPITAL LETTER O BREVE;;;014F; 014F;LATIN SMALL LETTER O WITH BREVE;Ll;0;L;006F 0306;;;;N;LATIN SMALL LETTER O BREVE;;014E;;014E 0150;LATIN CAPITAL LETTER O WITH DOUBLE ACUTE;Lu;0;L;004F 030B;;;;N;LATIN CAPITAL LETTER O DOUBLE ACUTE;;;0151; 0151;LATIN SMALL LETTER O WITH DOUBLE ACUTE;Ll;0;L;006F 030B;;;;N;LATIN SMALL LETTER O DOUBLE ACUTE;;0150;;0150 0152;LATIN CAPITAL LIGATURE OE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER O E;;;0153; 0153;LATIN SMALL LIGATURE OE;Ll;0;L;;;;;N;LATIN SMALL LETTER O E;;0152;;0152 0154;LATIN CAPITAL LETTER R WITH ACUTE;Lu;0;L;0052 0301;;;;N;LATIN CAPITAL LETTER R ACUTE;;;0155; 0155;LATIN SMALL LETTER R WITH ACUTE;Ll;0;L;0072 0301;;;;N;LATIN SMALL LETTER R ACUTE;;0154;;0154 0156;LATIN CAPITAL LETTER R WITH CEDILLA;Lu;0;L;0052 0327;;;;N;LATIN CAPITAL LETTER R CEDILLA;;;0157; 0157;LATIN SMALL LETTER R WITH CEDILLA;Ll;0;L;0072 0327;;;;N;LATIN SMALL LETTER R CEDILLA;;0156;;0156 0158;LATIN CAPITAL LETTER R WITH CARON;Lu;0;L;0052 030C;;;;N;LATIN CAPITAL LETTER R HACEK;;;0159; 0159;LATIN SMALL LETTER R WITH CARON;Ll;0;L;0072 030C;;;;N;LATIN SMALL LETTER R HACEK;;0158;;0158 015A;LATIN CAPITAL LETTER S WITH ACUTE;Lu;0;L;0053 0301;;;;N;LATIN CAPITAL LETTER S ACUTE;;;015B; 015B;LATIN SMALL LETTER S WITH ACUTE;Ll;0;L;0073 0301;;;;N;LATIN SMALL LETTER S ACUTE;;015A;;015A 015C;LATIN CAPITAL LETTER S WITH CIRCUMFLEX;Lu;0;L;0053 0302;;;;N;LATIN CAPITAL LETTER S CIRCUMFLEX;;;015D; 015D;LATIN SMALL LETTER S WITH CIRCUMFLEX;Ll;0;L;0073 0302;;;;N;LATIN SMALL LETTER S CIRCUMFLEX;;015C;;015C 015E;LATIN CAPITAL LETTER S WITH CEDILLA;Lu;0;L;0053 0327;;;;N;LATIN CAPITAL LETTER S CEDILLA;*;;015F; 015F;LATIN SMALL LETTER S WITH CEDILLA;Ll;0;L;0073 0327;;;;N;LATIN SMALL LETTER S CEDILLA;*;015E;;015E 0160;LATIN CAPITAL LETTER S WITH CARON;Lu;0;L;0053 030C;;;;N;LATIN CAPITAL LETTER S HACEK;;;0161; 0161;LATIN SMALL LETTER S WITH CARON;Ll;0;L;0073 030C;;;;N;LATIN SMALL LETTER S HACEK;;0160;;0160 0162;LATIN CAPITAL LETTER T WITH CEDILLA;Lu;0;L;0054 0327;;;;N;LATIN CAPITAL LETTER T CEDILLA;*;;0163; 0163;LATIN SMALL LETTER T WITH CEDILLA;Ll;0;L;0074 0327;;;;N;LATIN SMALL LETTER T CEDILLA;*;0162;;0162 0164;LATIN CAPITAL LETTER T WITH CARON;Lu;0;L;0054 030C;;;;N;LATIN CAPITAL LETTER T HACEK;;;0165; 0165;LATIN SMALL LETTER T WITH CARON;Ll;0;L;0074 030C;;;;N;LATIN SMALL LETTER T HACEK;;0164;;0164 0166;LATIN CAPITAL LETTER T WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER T BAR;;;0167; 0167;LATIN SMALL LETTER T WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER T BAR;;0166;;0166 0168;LATIN CAPITAL LETTER U WITH TILDE;Lu;0;L;0055 0303;;;;N;LATIN CAPITAL LETTER U TILDE;;;0169; 0169;LATIN SMALL LETTER U WITH TILDE;Ll;0;L;0075 0303;;;;N;LATIN SMALL LETTER U TILDE;;0168;;0168 016A;LATIN CAPITAL LETTER U WITH MACRON;Lu;0;L;0055 0304;;;;N;LATIN CAPITAL LETTER U MACRON;;;016B; 016B;LATIN SMALL LETTER U WITH MACRON;Ll;0;L;0075 0304;;;;N;LATIN SMALL LETTER U MACRON;;016A;;016A 016C;LATIN CAPITAL LETTER U WITH BREVE;Lu;0;L;0055 0306;;;;N;LATIN CAPITAL LETTER U BREVE;;;016D; 016D;LATIN SMALL LETTER U WITH BREVE;Ll;0;L;0075 0306;;;;N;LATIN SMALL LETTER U BREVE;;016C;;016C 016E;LATIN CAPITAL LETTER U WITH RING ABOVE;Lu;0;L;0055 030A;;;;N;LATIN CAPITAL LETTER U RING;;;016F; 016F;LATIN SMALL LETTER U WITH RING ABOVE;Ll;0;L;0075 030A;;;;N;LATIN SMALL LETTER U RING;;016E;;016E 0170;LATIN CAPITAL LETTER U WITH DOUBLE ACUTE;Lu;0;L;0055 030B;;;;N;LATIN CAPITAL LETTER U DOUBLE ACUTE;;;0171; 0171;LATIN SMALL LETTER U WITH DOUBLE ACUTE;Ll;0;L;0075 030B;;;;N;LATIN SMALL LETTER U DOUBLE ACUTE;;0170;;0170 0172;LATIN CAPITAL LETTER U WITH OGONEK;Lu;0;L;0055 0328;;;;N;LATIN CAPITAL LETTER U OGONEK;;;0173; 0173;LATIN SMALL LETTER U WITH OGONEK;Ll;0;L;0075 0328;;;;N;LATIN SMALL LETTER U OGONEK;;0172;;0172 0174;LATIN CAPITAL LETTER W WITH CIRCUMFLEX;Lu;0;L;0057 0302;;;;N;LATIN CAPITAL LETTER W CIRCUMFLEX;;;0175; 0175;LATIN SMALL LETTER W WITH CIRCUMFLEX;Ll;0;L;0077 0302;;;;N;LATIN SMALL LETTER W CIRCUMFLEX;;0174;;0174 0176;LATIN CAPITAL LETTER Y WITH CIRCUMFLEX;Lu;0;L;0059 0302;;;;N;LATIN CAPITAL LETTER Y CIRCUMFLEX;;;0177; 0177;LATIN SMALL LETTER Y WITH CIRCUMFLEX;Ll;0;L;0079 0302;;;;N;LATIN SMALL LETTER Y CIRCUMFLEX;;0176;;0176 0178;LATIN CAPITAL LETTER Y WITH DIAERESIS;Lu;0;L;0059 0308;;;;N;LATIN CAPITAL LETTER Y DIAERESIS;;;00FF; 0179;LATIN CAPITAL LETTER Z WITH ACUTE;Lu;0;L;005A 0301;;;;N;LATIN CAPITAL LETTER Z ACUTE;;;017A; 017A;LATIN SMALL LETTER Z WITH ACUTE;Ll;0;L;007A 0301;;;;N;LATIN SMALL LETTER Z ACUTE;;0179;;0179 017B;LATIN CAPITAL LETTER Z WITH DOT ABOVE;Lu;0;L;005A 0307;;;;N;LATIN CAPITAL LETTER Z DOT;;;017C; 017C;LATIN SMALL LETTER Z WITH DOT ABOVE;Ll;0;L;007A 0307;;;;N;LATIN SMALL LETTER Z DOT;;017B;;017B 017D;LATIN CAPITAL LETTER Z WITH CARON;Lu;0;L;005A 030C;;;;N;LATIN CAPITAL LETTER Z HACEK;;;017E; 017E;LATIN SMALL LETTER Z WITH CARON;Ll;0;L;007A 030C;;;;N;LATIN SMALL LETTER Z HACEK;;017D;;017D 017F;LATIN SMALL LETTER LONG S;Ll;0;L; 0073;;;;N;;;0053;;0053 0180;LATIN SMALL LETTER B WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER B BAR;;;; 0181;LATIN CAPITAL LETTER B WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER B HOOK;;;0253; 0182;LATIN CAPITAL LETTER B WITH TOPBAR;Lu;0;L;;;;;N;LATIN CAPITAL LETTER B TOPBAR;;;0183; 0183;LATIN SMALL LETTER B WITH TOPBAR;Ll;0;L;;;;;N;LATIN SMALL LETTER B TOPBAR;;0182;;0182 0184;LATIN CAPITAL LETTER TONE SIX;Lu;0;L;;;;;N;;;;0185; 0185;LATIN SMALL LETTER TONE SIX;Ll;0;L;;;;;N;;;0184;;0184 0186;LATIN CAPITAL LETTER OPEN O;Lu;0;L;;;;;N;;;;0254; 0187;LATIN CAPITAL LETTER C WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER C HOOK;;;0188; 0188;LATIN SMALL LETTER C WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER C HOOK;;0187;;0187 0189;LATIN CAPITAL LETTER AFRICAN D;Lu;0;L;;;;;N;;*;;0256; 018A;LATIN CAPITAL LETTER D WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER D HOOK;;;0257; 018B;LATIN CAPITAL LETTER D WITH TOPBAR;Lu;0;L;;;;;N;LATIN CAPITAL LETTER D TOPBAR;;;018C; 018C;LATIN SMALL LETTER D WITH TOPBAR;Ll;0;L;;;;;N;LATIN SMALL LETTER D TOPBAR;;018B;;018B 018D;LATIN SMALL LETTER TURNED DELTA;Ll;0;L;;;;;N;;;;; 018E;LATIN CAPITAL LETTER REVERSED E;Lu;0;L;;;;;N;LATIN CAPITAL LETTER TURNED E;;;01DD; 018F;LATIN CAPITAL LETTER SCHWA;Lu;0;L;;;;;N;;;;0259; 0190;LATIN CAPITAL LETTER OPEN E;Lu;0;L;;;;;N;LATIN CAPITAL LETTER EPSILON;;;025B; 0191;LATIN CAPITAL LETTER F WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER F HOOK;;;0192; 0192;LATIN SMALL LETTER F WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER SCRIPT F;;0191;;0191 0193;LATIN CAPITAL LETTER G WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER G HOOK;;;0260; 0194;LATIN CAPITAL LETTER GAMMA;Lu;0;L;;;;;N;;;;0263; 0195;LATIN SMALL LETTER HV;Ll;0;L;;;;;N;LATIN SMALL LETTER H V;hwair;01F6;;01F6 0196;LATIN CAPITAL LETTER IOTA;Lu;0;L;;;;;N;;;;0269; 0197;LATIN CAPITAL LETTER I WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER BARRED I;;;0268; 0198;LATIN CAPITAL LETTER K WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER K HOOK;;;0199; 0199;LATIN SMALL LETTER K WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER K HOOK;;0198;;0198 019A;LATIN SMALL LETTER L WITH BAR;Ll;0;L;;;;;N;LATIN SMALL LETTER BARRED L;;;; 019B;LATIN SMALL LETTER LAMBDA WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER BARRED LAMBDA;;;; 019C;LATIN CAPITAL LETTER TURNED M;Lu;0;L;;;;;N;;;;026F; 019D;LATIN CAPITAL LETTER N WITH LEFT HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER N HOOK;;;0272; 019E;LATIN SMALL LETTER N WITH LONG RIGHT LEG;Ll;0;L;;;;;N;;;0220;;0220 019F;LATIN CAPITAL LETTER O WITH MIDDLE TILDE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER BARRED O;*;;0275; 01A0;LATIN CAPITAL LETTER O WITH HORN;Lu;0;L;004F 031B;;;;N;LATIN CAPITAL LETTER O HORN;;;01A1; 01A1;LATIN SMALL LETTER O WITH HORN;Ll;0;L;006F 031B;;;;N;LATIN SMALL LETTER O HORN;;01A0;;01A0 01A2;LATIN CAPITAL LETTER OI;Lu;0;L;;;;;N;LATIN CAPITAL LETTER O I;gha;;01A3; 01A3;LATIN SMALL LETTER OI;Ll;0;L;;;;;N;LATIN SMALL LETTER O I;gha;01A2;;01A2 01A4;LATIN CAPITAL LETTER P WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER P HOOK;;;01A5; 01A5;LATIN SMALL LETTER P WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER P HOOK;;01A4;;01A4 01A6;LATIN LETTER YR;Lu;0;L;;;;;N;LATIN LETTER Y R;*;;0280; 01A7;LATIN CAPITAL LETTER TONE TWO;Lu;0;L;;;;;N;;;;01A8; 01A8;LATIN SMALL LETTER TONE TWO;Ll;0;L;;;;;N;;;01A7;;01A7 01A9;LATIN CAPITAL LETTER ESH;Lu;0;L;;;;;N;;;;0283; 01AA;LATIN LETTER REVERSED ESH LOOP;Ll;0;L;;;;;N;;;;; 01AB;LATIN SMALL LETTER T WITH PALATAL HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER T PALATAL HOOK;;;; 01AC;LATIN CAPITAL LETTER T WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER T HOOK;;;01AD; 01AD;LATIN SMALL LETTER T WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER T HOOK;;01AC;;01AC 01AE;LATIN CAPITAL LETTER T WITH RETROFLEX HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER T RETROFLEX HOOK;;;0288; 01AF;LATIN CAPITAL LETTER U WITH HORN;Lu;0;L;0055 031B;;;;N;LATIN CAPITAL LETTER U HORN;;;01B0; 01B0;LATIN SMALL LETTER U WITH HORN;Ll;0;L;0075 031B;;;;N;LATIN SMALL LETTER U HORN;;01AF;;01AF 01B1;LATIN CAPITAL LETTER UPSILON;Lu;0;L;;;;;N;;;;028A; 01B2;LATIN CAPITAL LETTER V WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER SCRIPT V;;;028B; 01B3;LATIN CAPITAL LETTER Y WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER Y HOOK;;;01B4; 01B4;LATIN SMALL LETTER Y WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER Y HOOK;;01B3;;01B3 01B5;LATIN CAPITAL LETTER Z WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER Z BAR;;;01B6; 01B6;LATIN SMALL LETTER Z WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER Z BAR;;01B5;;01B5 01B7;LATIN CAPITAL LETTER EZH;Lu;0;L;;;;;N;LATIN CAPITAL LETTER YOGH;;;0292; 01B8;LATIN CAPITAL LETTER EZH REVERSED;Lu;0;L;;;;;N;LATIN CAPITAL LETTER REVERSED YOGH;;;01B9; 01B9;LATIN SMALL LETTER EZH REVERSED;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED YOGH;;01B8;;01B8 01BA;LATIN SMALL LETTER EZH WITH TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER YOGH WITH TAIL;;;; 01BB;LATIN LETTER TWO WITH STROKE;Lo;0;L;;;;;N;LATIN LETTER TWO BAR;;;; 01BC;LATIN CAPITAL LETTER TONE FIVE;Lu;0;L;;;;;N;;;;01BD; 01BD;LATIN SMALL LETTER TONE FIVE;Ll;0;L;;;;;N;;;01BC;;01BC 01BE;LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE;Ll;0;L;;;;;N;LATIN LETTER INVERTED GLOTTAL STOP BAR;;;; 01BF;LATIN LETTER WYNN;Ll;0;L;;;;;N;;;01F7;;01F7 01C0;LATIN LETTER DENTAL CLICK;Lo;0;L;;;;;N;LATIN LETTER PIPE;;;; 01C1;LATIN LETTER LATERAL CLICK;Lo;0;L;;;;;N;LATIN LETTER DOUBLE PIPE;;;; 01C2;LATIN LETTER ALVEOLAR CLICK;Lo;0;L;;;;;N;LATIN LETTER PIPE DOUBLE BAR;;;; 01C3;LATIN LETTER RETROFLEX CLICK;Lo;0;L;;;;;N;LATIN LETTER EXCLAMATION MARK;;;; 01C4;LATIN CAPITAL LETTER DZ WITH CARON;Lu;0;L; 0044 017D;;;;N;LATIN CAPITAL LETTER D Z HACEK;;;01C6;01C5 01C5;LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON;Lt;0;L; 0044 017E;;;;N;LATIN LETTER CAPITAL D SMALL Z HACEK;;01C4;01C6;01C5 01C6;LATIN SMALL LETTER DZ WITH CARON;Ll;0;L; 0064 017E;;;;N;LATIN SMALL LETTER D Z HACEK;;01C4;;01C5 01C7;LATIN CAPITAL LETTER LJ;Lu;0;L; 004C 004A;;;;N;LATIN CAPITAL LETTER L J;;;01C9;01C8 01C8;LATIN CAPITAL LETTER L WITH SMALL LETTER J;Lt;0;L; 004C 006A;;;;N;LATIN LETTER CAPITAL L SMALL J;;01C7;01C9;01C8 01C9;LATIN SMALL LETTER LJ;Ll;0;L; 006C 006A;;;;N;LATIN SMALL LETTER L J;;01C7;;01C8 01CA;LATIN CAPITAL LETTER NJ;Lu;0;L; 004E 004A;;;;N;LATIN CAPITAL LETTER N J;;;01CC;01CB 01CB;LATIN CAPITAL LETTER N WITH SMALL LETTER J;Lt;0;L; 004E 006A;;;;N;LATIN LETTER CAPITAL N SMALL J;;01CA;01CC;01CB 01CC;LATIN SMALL LETTER NJ;Ll;0;L; 006E 006A;;;;N;LATIN SMALL LETTER N J;;01CA;;01CB 01CD;LATIN CAPITAL LETTER A WITH CARON;Lu;0;L;0041 030C;;;;N;LATIN CAPITAL LETTER A HACEK;;;01CE; 01CE;LATIN SMALL LETTER A WITH CARON;Ll;0;L;0061 030C;;;;N;LATIN SMALL LETTER A HACEK;;01CD;;01CD 01CF;LATIN CAPITAL LETTER I WITH CARON;Lu;0;L;0049 030C;;;;N;LATIN CAPITAL LETTER I HACEK;;;01D0; 01D0;LATIN SMALL LETTER I WITH CARON;Ll;0;L;0069 030C;;;;N;LATIN SMALL LETTER I HACEK;;01CF;;01CF 01D1;LATIN CAPITAL LETTER O WITH CARON;Lu;0;L;004F 030C;;;;N;LATIN CAPITAL LETTER O HACEK;;;01D2; 01D2;LATIN SMALL LETTER O WITH CARON;Ll;0;L;006F 030C;;;;N;LATIN SMALL LETTER O HACEK;;01D1;;01D1 01D3;LATIN CAPITAL LETTER U WITH CARON;Lu;0;L;0055 030C;;;;N;LATIN CAPITAL LETTER U HACEK;;;01D4; 01D4;LATIN SMALL LETTER U WITH CARON;Ll;0;L;0075 030C;;;;N;LATIN SMALL LETTER U HACEK;;01D3;;01D3 01D5;LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON;Lu;0;L;00DC 0304;;;;N;LATIN CAPITAL LETTER U DIAERESIS MACRON;;;01D6; 01D6;LATIN SMALL LETTER U WITH DIAERESIS AND MACRON;Ll;0;L;00FC 0304;;;;N;LATIN SMALL LETTER U DIAERESIS MACRON;;01D5;;01D5 01D7;LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE;Lu;0;L;00DC 0301;;;;N;LATIN CAPITAL LETTER U DIAERESIS ACUTE;;;01D8; 01D8;LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE;Ll;0;L;00FC 0301;;;;N;LATIN SMALL LETTER U DIAERESIS ACUTE;;01D7;;01D7 01D9;LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON;Lu;0;L;00DC 030C;;;;N;LATIN CAPITAL LETTER U DIAERESIS HACEK;;;01DA; 01DA;LATIN SMALL LETTER U WITH DIAERESIS AND CARON;Ll;0;L;00FC 030C;;;;N;LATIN SMALL LETTER U DIAERESIS HACEK;;01D9;;01D9 01DB;LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE;Lu;0;L;00DC 0300;;;;N;LATIN CAPITAL LETTER U DIAERESIS GRAVE;;;01DC; 01DC;LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE;Ll;0;L;00FC 0300;;;;N;LATIN SMALL LETTER U DIAERESIS GRAVE;;01DB;;01DB 01DD;LATIN SMALL LETTER TURNED E;Ll;0;L;;;;;N;;;018E;;018E 01DE;LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON;Lu;0;L;00C4 0304;;;;N;LATIN CAPITAL LETTER A DIAERESIS MACRON;;;01DF; 01DF;LATIN SMALL LETTER A WITH DIAERESIS AND MACRON;Ll;0;L;00E4 0304;;;;N;LATIN SMALL LETTER A DIAERESIS MACRON;;01DE;;01DE 01E0;LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON;Lu;0;L;0226 0304;;;;N;LATIN CAPITAL LETTER A DOT MACRON;;;01E1; 01E1;LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON;Ll;0;L;0227 0304;;;;N;LATIN SMALL LETTER A DOT MACRON;;01E0;;01E0 01E2;LATIN CAPITAL LETTER AE WITH MACRON;Lu;0;L;00C6 0304;;;;N;LATIN CAPITAL LETTER A E MACRON;ash *;;01E3; 01E3;LATIN SMALL LETTER AE WITH MACRON;Ll;0;L;00E6 0304;;;;N;LATIN SMALL LETTER A E MACRON;ash *;01E2;;01E2 01E4;LATIN CAPITAL LETTER G WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER G BAR;;;01E5; 01E5;LATIN SMALL LETTER G WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER G BAR;;01E4;;01E4 01E6;LATIN CAPITAL LETTER G WITH CARON;Lu;0;L;0047 030C;;;;N;LATIN CAPITAL LETTER G HACEK;;;01E7; 01E7;LATIN SMALL LETTER G WITH CARON;Ll;0;L;0067 030C;;;;N;LATIN SMALL LETTER G HACEK;;01E6;;01E6 01E8;LATIN CAPITAL LETTER K WITH CARON;Lu;0;L;004B 030C;;;;N;LATIN CAPITAL LETTER K HACEK;;;01E9; 01E9;LATIN SMALL LETTER K WITH CARON;Ll;0;L;006B 030C;;;;N;LATIN SMALL LETTER K HACEK;;01E8;;01E8 01EA;LATIN CAPITAL LETTER O WITH OGONEK;Lu;0;L;004F 0328;;;;N;LATIN CAPITAL LETTER O OGONEK;;;01EB; 01EB;LATIN SMALL LETTER O WITH OGONEK;Ll;0;L;006F 0328;;;;N;LATIN SMALL LETTER O OGONEK;;01EA;;01EA 01EC;LATIN CAPITAL LETTER O WITH OGONEK AND MACRON;Lu;0;L;01EA 0304;;;;N;LATIN CAPITAL LETTER O OGONEK MACRON;;;01ED; 01ED;LATIN SMALL LETTER O WITH OGONEK AND MACRON;Ll;0;L;01EB 0304;;;;N;LATIN SMALL LETTER O OGONEK MACRON;;01EC;;01EC 01EE;LATIN CAPITAL LETTER EZH WITH CARON;Lu;0;L;01B7 030C;;;;N;LATIN CAPITAL LETTER YOGH HACEK;;;01EF; 01EF;LATIN SMALL LETTER EZH WITH CARON;Ll;0;L;0292 030C;;;;N;LATIN SMALL LETTER YOGH HACEK;;01EE;;01EE 01F0;LATIN SMALL LETTER J WITH CARON;Ll;0;L;006A 030C;;;;N;LATIN SMALL LETTER J HACEK;;;; 01F1;LATIN CAPITAL LETTER DZ;Lu;0;L; 0044 005A;;;;N;;;;01F3;01F2 01F2;LATIN CAPITAL LETTER D WITH SMALL LETTER Z;Lt;0;L; 0044 007A;;;;N;;;01F1;01F3;01F2 01F3;LATIN SMALL LETTER DZ;Ll;0;L; 0064 007A;;;;N;;;01F1;;01F2 01F4;LATIN CAPITAL LETTER G WITH ACUTE;Lu;0;L;0047 0301;;;;N;;;;01F5; 01F5;LATIN SMALL LETTER G WITH ACUTE;Ll;0;L;0067 0301;;;;N;;;01F4;;01F4 01F6;LATIN CAPITAL LETTER HWAIR;Lu;0;L;;;;;N;;;;0195; 01F7;LATIN CAPITAL LETTER WYNN;Lu;0;L;;;;;N;;;;01BF; 01F8;LATIN CAPITAL LETTER N WITH GRAVE;Lu;0;L;004E 0300;;;;N;;;;01F9; 01F9;LATIN SMALL LETTER N WITH GRAVE;Ll;0;L;006E 0300;;;;N;;;01F8;;01F8 01FA;LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE;Lu;0;L;00C5 0301;;;;N;;;;01FB; 01FB;LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE;Ll;0;L;00E5 0301;;;;N;;;01FA;;01FA 01FC;LATIN CAPITAL LETTER AE WITH ACUTE;Lu;0;L;00C6 0301;;;;N;;ash *;;01FD; 01FD;LATIN SMALL LETTER AE WITH ACUTE;Ll;0;L;00E6 0301;;;;N;;ash *;01FC;;01FC 01FE;LATIN CAPITAL LETTER O WITH STROKE AND ACUTE;Lu;0;L;00D8 0301;;;;N;;;;01FF; 01FF;LATIN SMALL LETTER O WITH STROKE AND ACUTE;Ll;0;L;00F8 0301;;;;N;;;01FE;;01FE 0200;LATIN CAPITAL LETTER A WITH DOUBLE GRAVE;Lu;0;L;0041 030F;;;;N;;;;0201; 0201;LATIN SMALL LETTER A WITH DOUBLE GRAVE;Ll;0;L;0061 030F;;;;N;;;0200;;0200 0202;LATIN CAPITAL LETTER A WITH INVERTED BREVE;Lu;0;L;0041 0311;;;;N;;;;0203; 0203;LATIN SMALL LETTER A WITH INVERTED BREVE;Ll;0;L;0061 0311;;;;N;;;0202;;0202 0204;LATIN CAPITAL LETTER E WITH DOUBLE GRAVE;Lu;0;L;0045 030F;;;;N;;;;0205; 0205;LATIN SMALL LETTER E WITH DOUBLE GRAVE;Ll;0;L;0065 030F;;;;N;;;0204;;0204 0206;LATIN CAPITAL LETTER E WITH INVERTED BREVE;Lu;0;L;0045 0311;;;;N;;;;0207; 0207;LATIN SMALL LETTER E WITH INVERTED BREVE;Ll;0;L;0065 0311;;;;N;;;0206;;0206 0208;LATIN CAPITAL LETTER I WITH DOUBLE GRAVE;Lu;0;L;0049 030F;;;;N;;;;0209; 0209;LATIN SMALL LETTER I WITH DOUBLE GRAVE;Ll;0;L;0069 030F;;;;N;;;0208;;0208 020A;LATIN CAPITAL LETTER I WITH INVERTED BREVE;Lu;0;L;0049 0311;;;;N;;;;020B; 020B;LATIN SMALL LETTER I WITH INVERTED BREVE;Ll;0;L;0069 0311;;;;N;;;020A;;020A 020C;LATIN CAPITAL LETTER O WITH DOUBLE GRAVE;Lu;0;L;004F 030F;;;;N;;;;020D; 020D;LATIN SMALL LETTER O WITH DOUBLE GRAVE;Ll;0;L;006F 030F;;;;N;;;020C;;020C 020E;LATIN CAPITAL LETTER O WITH INVERTED BREVE;Lu;0;L;004F 0311;;;;N;;;;020F; 020F;LATIN SMALL LETTER O WITH INVERTED BREVE;Ll;0;L;006F 0311;;;;N;;;020E;;020E 0210;LATIN CAPITAL LETTER R WITH DOUBLE GRAVE;Lu;0;L;0052 030F;;;;N;;;;0211; 0211;LATIN SMALL LETTER R WITH DOUBLE GRAVE;Ll;0;L;0072 030F;;;;N;;;0210;;0210 0212;LATIN CAPITAL LETTER R WITH INVERTED BREVE;Lu;0;L;0052 0311;;;;N;;;;0213; 0213;LATIN SMALL LETTER R WITH INVERTED BREVE;Ll;0;L;0072 0311;;;;N;;;0212;;0212 0214;LATIN CAPITAL LETTER U WITH DOUBLE GRAVE;Lu;0;L;0055 030F;;;;N;;;;0215; 0215;LATIN SMALL LETTER U WITH DOUBLE GRAVE;Ll;0;L;0075 030F;;;;N;;;0214;;0214 0216;LATIN CAPITAL LETTER U WITH INVERTED BREVE;Lu;0;L;0055 0311;;;;N;;;;0217; 0217;LATIN SMALL LETTER U WITH INVERTED BREVE;Ll;0;L;0075 0311;;;;N;;;0216;;0216 0218;LATIN CAPITAL LETTER S WITH COMMA BELOW;Lu;0;L;0053 0326;;;;N;;*;;0219; 0219;LATIN SMALL LETTER S WITH COMMA BELOW;Ll;0;L;0073 0326;;;;N;;*;0218;;0218 021A;LATIN CAPITAL LETTER T WITH COMMA BELOW;Lu;0;L;0054 0326;;;;N;;*;;021B; 021B;LATIN SMALL LETTER T WITH COMMA BELOW;Ll;0;L;0074 0326;;;;N;;*;021A;;021A 021C;LATIN CAPITAL LETTER YOGH;Lu;0;L;;;;;N;;;;021D; 021D;LATIN SMALL LETTER YOGH;Ll;0;L;;;;;N;;;021C;;021C 021E;LATIN CAPITAL LETTER H WITH CARON;Lu;0;L;0048 030C;;;;N;;;;021F; 021F;LATIN SMALL LETTER H WITH CARON;Ll;0;L;0068 030C;;;;N;;;021E;;021E 0220;LATIN CAPITAL LETTER N WITH LONG RIGHT LEG;Lu;0;L;;;;;N;;;;019E; 0221;LATIN SMALL LETTER D WITH CURL;Ll;0;L;;;;;N;;;;; 0222;LATIN CAPITAL LETTER OU;Lu;0;L;;;;;N;;;;0223; 0223;LATIN SMALL LETTER OU;Ll;0;L;;;;;N;;;0222;;0222 0224;LATIN CAPITAL LETTER Z WITH HOOK;Lu;0;L;;;;;N;;;;0225; 0225;LATIN SMALL LETTER Z WITH HOOK;Ll;0;L;;;;;N;;;0224;;0224 0226;LATIN CAPITAL LETTER A WITH DOT ABOVE;Lu;0;L;0041 0307;;;;N;;;;0227; 0227;LATIN SMALL LETTER A WITH DOT ABOVE;Ll;0;L;0061 0307;;;;N;;;0226;;0226 0228;LATIN CAPITAL LETTER E WITH CEDILLA;Lu;0;L;0045 0327;;;;N;;;;0229; 0229;LATIN SMALL LETTER E WITH CEDILLA;Ll;0;L;0065 0327;;;;N;;;0228;;0228 022A;LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON;Lu;0;L;00D6 0304;;;;N;;;;022B; 022B;LATIN SMALL LETTER O WITH DIAERESIS AND MACRON;Ll;0;L;00F6 0304;;;;N;;;022A;;022A 022C;LATIN CAPITAL LETTER O WITH TILDE AND MACRON;Lu;0;L;00D5 0304;;;;N;;;;022D; 022D;LATIN SMALL LETTER O WITH TILDE AND MACRON;Ll;0;L;00F5 0304;;;;N;;;022C;;022C 022E;LATIN CAPITAL LETTER O WITH DOT ABOVE;Lu;0;L;004F 0307;;;;N;;;;022F; 022F;LATIN SMALL LETTER O WITH DOT ABOVE;Ll;0;L;006F 0307;;;;N;;;022E;;022E 0230;LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON;Lu;0;L;022E 0304;;;;N;;;;0231; 0231;LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON;Ll;0;L;022F 0304;;;;N;;;0230;;0230 0232;LATIN CAPITAL LETTER Y WITH MACRON;Lu;0;L;0059 0304;;;;N;;;;0233; 0233;LATIN SMALL LETTER Y WITH MACRON;Ll;0;L;0079 0304;;;;N;;;0232;;0232 0234;LATIN SMALL LETTER L WITH CURL;Ll;0;L;;;;;N;;;;; 0235;LATIN SMALL LETTER N WITH CURL;Ll;0;L;;;;;N;;;;; 0236;LATIN SMALL LETTER T WITH CURL;Ll;0;L;;;;;N;;;;; 0250;LATIN SMALL LETTER TURNED A;Ll;0;L;;;;;N;;;;; 0251;LATIN SMALL LETTER ALPHA;Ll;0;L;;;;;N;LATIN SMALL LETTER SCRIPT A;;;; 0252;LATIN SMALL LETTER TURNED ALPHA;Ll;0;L;;;;;N;LATIN SMALL LETTER TURNED SCRIPT A;;;; 0253;LATIN SMALL LETTER B WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER B HOOK;;0181;;0181 0254;LATIN SMALL LETTER OPEN O;Ll;0;L;;;;;N;;;0186;;0186 0255;LATIN SMALL LETTER C WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER C CURL;;;; 0256;LATIN SMALL LETTER D WITH TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER D RETROFLEX HOOK;;0189;;0189 0257;LATIN SMALL LETTER D WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER D HOOK;;018A;;018A 0258;LATIN SMALL LETTER REVERSED E;Ll;0;L;;;;;N;;;;; 0259;LATIN SMALL LETTER SCHWA;Ll;0;L;;;;;N;;;018F;;018F 025A;LATIN SMALL LETTER SCHWA WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER SCHWA HOOK;;;; 025B;LATIN SMALL LETTER OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER EPSILON;;0190;;0190 025C;LATIN SMALL LETTER REVERSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED EPSILON;;;; 025D;LATIN SMALL LETTER REVERSED OPEN E WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED EPSILON HOOK;;;; 025E;LATIN SMALL LETTER CLOSED REVERSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER CLOSED REVERSED EPSILON;;;; 025F;LATIN SMALL LETTER DOTLESS J WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER DOTLESS J BAR;;;; 0260;LATIN SMALL LETTER G WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER G HOOK;;0193;;0193 0261;LATIN SMALL LETTER SCRIPT G;Ll;0;L;;;;;N;;;;; 0262;LATIN LETTER SMALL CAPITAL G;Ll;0;L;;;;;N;;;;; 0263;LATIN SMALL LETTER GAMMA;Ll;0;L;;;;;N;;;0194;;0194 0264;LATIN SMALL LETTER RAMS HORN;Ll;0;L;;;;;N;LATIN SMALL LETTER BABY GAMMA;;;; 0265;LATIN SMALL LETTER TURNED H;Ll;0;L;;;;;N;;;;; 0266;LATIN SMALL LETTER H WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER H HOOK;;;; 0267;LATIN SMALL LETTER HENG WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER HENG HOOK;;;; 0268;LATIN SMALL LETTER I WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER BARRED I;;0197;;0197 0269;LATIN SMALL LETTER IOTA;Ll;0;L;;;;;N;;;0196;;0196 026A;LATIN LETTER SMALL CAPITAL I;Ll;0;L;;;;;N;;;;; 026B;LATIN SMALL LETTER L WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;; 026C;LATIN SMALL LETTER L WITH BELT;Ll;0;L;;;;;N;LATIN SMALL LETTER L BELT;;;; 026D;LATIN SMALL LETTER L WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER L RETROFLEX HOOK;;;; 026E;LATIN SMALL LETTER LEZH;Ll;0;L;;;;;N;LATIN SMALL LETTER L YOGH;;;; 026F;LATIN SMALL LETTER TURNED M;Ll;0;L;;;;;N;;;019C;;019C 0270;LATIN SMALL LETTER TURNED M WITH LONG LEG;Ll;0;L;;;;;N;;;;; 0271;LATIN SMALL LETTER M WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER M HOOK;;;; 0272;LATIN SMALL LETTER N WITH LEFT HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER N HOOK;;019D;;019D 0273;LATIN SMALL LETTER N WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER N RETROFLEX HOOK;;;; 0274;LATIN LETTER SMALL CAPITAL N;Ll;0;L;;;;;N;;;;; 0275;LATIN SMALL LETTER BARRED O;Ll;0;L;;;;;N;;;019F;;019F 0276;LATIN LETTER SMALL CAPITAL OE;Ll;0;L;;;;;N;LATIN LETTER SMALL CAPITAL O E;;;; 0277;LATIN SMALL LETTER CLOSED OMEGA;Ll;0;L;;;;;N;;;;; 0278;LATIN SMALL LETTER PHI;Ll;0;L;;;;;N;;;;; 0279;LATIN SMALL LETTER TURNED R;Ll;0;L;;;;;N;;;;; 027A;LATIN SMALL LETTER TURNED R WITH LONG LEG;Ll;0;L;;;;;N;;;;; 027B;LATIN SMALL LETTER TURNED R WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER TURNED R HOOK;;;; 027C;LATIN SMALL LETTER R WITH LONG LEG;Ll;0;L;;;;;N;;;;; 027D;LATIN SMALL LETTER R WITH TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER R HOOK;;;; 027E;LATIN SMALL LETTER R WITH FISHHOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER FISHHOOK R;;;; 027F;LATIN SMALL LETTER REVERSED R WITH FISHHOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED FISHHOOK R;;;; 0280;LATIN LETTER SMALL CAPITAL R;Ll;0;L;;;;;N;;*;01A6;;01A6 0281;LATIN LETTER SMALL CAPITAL INVERTED R;Ll;0;L;;;;;N;;;;; 0282;LATIN SMALL LETTER S WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER S HOOK;;;; 0283;LATIN SMALL LETTER ESH;Ll;0;L;;;;;N;;;01A9;;01A9 0284;LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER DOTLESS J BAR HOOK;;;; 0285;LATIN SMALL LETTER SQUAT REVERSED ESH;Ll;0;L;;;;;N;;;;; 0286;LATIN SMALL LETTER ESH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER ESH CURL;;;; 0287;LATIN SMALL LETTER TURNED T;Ll;0;L;;;;;N;;;;; 0288;LATIN SMALL LETTER T WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER T RETROFLEX HOOK;;01AE;;01AE 0289;LATIN SMALL LETTER U BAR;Ll;0;L;;;;;N;;;;; 028A;LATIN SMALL LETTER UPSILON;Ll;0;L;;;;;N;;;01B1;;01B1 028B;LATIN SMALL LETTER V WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER SCRIPT V;;01B2;;01B2 028C;LATIN SMALL LETTER TURNED V;Ll;0;L;;;;;N;;;;; 028D;LATIN SMALL LETTER TURNED W;Ll;0;L;;;;;N;;;;; 028E;LATIN SMALL LETTER TURNED Y;Ll;0;L;;;;;N;;;;; 028F;LATIN LETTER SMALL CAPITAL Y;Ll;0;L;;;;;N;;;;; 0290;LATIN SMALL LETTER Z WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER Z RETROFLEX HOOK;;;; 0291;LATIN SMALL LETTER Z WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER Z CURL;;;; 0292;LATIN SMALL LETTER EZH;Ll;0;L;;;;;N;LATIN SMALL LETTER YOGH;;01B7;;01B7 0293;LATIN SMALL LETTER EZH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER YOGH CURL;;;; 0294;LATIN LETTER GLOTTAL STOP;Ll;0;L;;;;;N;;;;; 0295;LATIN LETTER PHARYNGEAL VOICED FRICATIVE;Ll;0;L;;;;;N;LATIN LETTER REVERSED GLOTTAL STOP;;;; 0296;LATIN LETTER INVERTED GLOTTAL STOP;Ll;0;L;;;;;N;;;;; 0297;LATIN LETTER STRETCHED C;Ll;0;L;;;;;N;;;;; 0298;LATIN LETTER BILABIAL CLICK;Ll;0;L;;;;;N;LATIN LETTER BULLSEYE;;;; 0299;LATIN LETTER SMALL CAPITAL B;Ll;0;L;;;;;N;;;;; 029A;LATIN SMALL LETTER CLOSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER CLOSED EPSILON;;;; 029B;LATIN LETTER SMALL CAPITAL G WITH HOOK;Ll;0;L;;;;;N;LATIN LETTER SMALL CAPITAL G HOOK;;;; 029C;LATIN LETTER SMALL CAPITAL H;Ll;0;L;;;;;N;;;;; 029D;LATIN SMALL LETTER J WITH CROSSED-TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER CROSSED-TAIL J;;;; 029E;LATIN SMALL LETTER TURNED K;Ll;0;L;;;;;N;;;;; 029F;LATIN LETTER SMALL CAPITAL L;Ll;0;L;;;;;N;;;;; 02A0;LATIN SMALL LETTER Q WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER Q HOOK;;;; 02A1;LATIN LETTER GLOTTAL STOP WITH STROKE;Ll;0;L;;;;;N;LATIN LETTER GLOTTAL STOP BAR;;;; 02A2;LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE;Ll;0;L;;;;;N;LATIN LETTER REVERSED GLOTTAL STOP BAR;;;; 02A3;LATIN SMALL LETTER DZ DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER D Z;;;; 02A4;LATIN SMALL LETTER DEZH DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER D YOGH;;;; 02A5;LATIN SMALL LETTER DZ DIGRAPH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER D Z CURL;;;; 02A6;LATIN SMALL LETTER TS DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER T S;;;; 02A7;LATIN SMALL LETTER TESH DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER T ESH;;;; 02A8;LATIN SMALL LETTER TC DIGRAPH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER T C CURL;;;; 02A9;LATIN SMALL LETTER FENG DIGRAPH;Ll;0;L;;;;;N;;;;; 02AA;LATIN SMALL LETTER LS DIGRAPH;Ll;0;L;;;;;N;;;;; 02AB;LATIN SMALL LETTER LZ DIGRAPH;Ll;0;L;;;;;N;;;;; 02AC;LATIN LETTER BILABIAL PERCUSSIVE;Ll;0;L;;;;;N;;;;; 02AD;LATIN LETTER BIDENTAL PERCUSSIVE;Ll;0;L;;;;;N;;;;; 02AE;LATIN SMALL LETTER TURNED H WITH FISHHOOK ;Ll;0;L;;;;;N;;;;; 02AF;LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL;Ll;0;L;;;;;N;;;;; 02B0;MODIFIER LETTER SMALL H;Lm;0;L; 0068;;;;N;;;;; 02B1;MODIFIER LETTER SMALL H WITH HOOK;Lm;0;L; 0266;;;;N;MODIFIER LETTER SMALL H HOOK;;;; 02B2;MODIFIER LETTER SMALL J;Lm;0;L; 006A;;;;N;;;;; 02B3;MODIFIER LETTER SMALL R;Lm;0;L; 0072;;;;N;;;;; 02B4;MODIFIER LETTER SMALL TURNED R;Lm;0;L; 0279;;;;N;;;;; 02B5;MODIFIER LETTER SMALL TURNED R WITH HOOK;Lm;0;L; 027B;;;;N;MODIFIER LETTER SMALL TURNED R HOOK;;;; 02B6;MODIFIER LETTER SMALL CAPITAL INVERTED R;Lm;0;L; 0281;;;;N;;;;; 02B7;MODIFIER LETTER SMALL W;Lm;0;L; 0077;;;;N;;;;; 02B8;MODIFIER LETTER SMALL Y;Lm;0;L; 0079;;;;N;;;;; 02B9;MODIFIER LETTER PRIME;Lm;0;ON;;;;;N;;;;; 02BA;MODIFIER LETTER DOUBLE PRIME;Lm;0;ON;;;;;N;;;;; 02BB;MODIFIER LETTER TURNED COMMA;Lm;0;L;;;;;N;;;;; 02BC;MODIFIER LETTER APOSTROPHE;Lm;0;L;;;;;N;;;;; 02BD;MODIFIER LETTER REVERSED COMMA;Lm;0;L;;;;;N;;;;; 02BE;MODIFIER LETTER RIGHT HALF RING;Lm;0;L;;;;;N;;;;; 02BF;MODIFIER LETTER LEFT HALF RING;Lm;0;L;;;;;N;;;;; 02C0;MODIFIER LETTER GLOTTAL STOP;Lm;0;L;;;;;N;;;;; 02C1;MODIFIER LETTER REVERSED GLOTTAL STOP;Lm;0;L;;;;;N;;;;; 02C2;MODIFIER LETTER LEFT ARROWHEAD;Sk;0;ON;;;;;N;;;;; 02C3;MODIFIER LETTER RIGHT ARROWHEAD;Sk;0;ON;;;;;N;;;;; 02C4;MODIFIER LETTER UP ARROWHEAD;Sk;0;ON;;;;;N;;;;; 02C5;MODIFIER LETTER DOWN ARROWHEAD;Sk;0;ON;;;;;N;;;;; 02C6;MODIFIER LETTER CIRCUMFLEX ACCENT;Lm;0;ON;;;;;N;MODIFIER LETTER CIRCUMFLEX;;;; 02C7;CARON;Lm;0;ON;;;;;N;MODIFIER LETTER HACEK;Mandarin Chinese third tone;;; 02C8;MODIFIER LETTER VERTICAL LINE;Lm;0;ON;;;;;N;;;;; 02C9;MODIFIER LETTER MACRON;Lm;0;ON;;;;;N;;Mandarin Chinese first tone;;; 02CA;MODIFIER LETTER ACUTE ACCENT;Lm;0;ON;;;;;N;MODIFIER LETTER ACUTE;Mandarin Chinese second tone;;; 02CB;MODIFIER LETTER GRAVE ACCENT;Lm;0;ON;;;;;N;MODIFIER LETTER GRAVE;Mandarin Chinese fourth tone;;; 02CC;MODIFIER LETTER LOW VERTICAL LINE;Lm;0;ON;;;;;N;;;;; 02CD;MODIFIER LETTER LOW MACRON;Lm;0;ON;;;;;N;;;;; 02CE;MODIFIER LETTER LOW GRAVE ACCENT;Lm;0;ON;;;;;N;MODIFIER LETTER LOW GRAVE;;;; 02CF;MODIFIER LETTER LOW ACUTE ACCENT;Lm;0;ON;;;;;N;MODIFIER LETTER LOW ACUTE;;;; 02D0;MODIFIER LETTER TRIANGULAR COLON;Lm;0;L;;;;;N;;;;; 02D1;MODIFIER LETTER HALF TRIANGULAR COLON;Lm;0;L;;;;;N;;;;; 02D2;MODIFIER LETTER CENTRED RIGHT HALF RING;Sk;0;ON;;;;;N;MODIFIER LETTER CENTERED RIGHT HALF RING;;;; 02D3;MODIFIER LETTER CENTRED LEFT HALF RING;Sk;0;ON;;;;;N;MODIFIER LETTER CENTERED LEFT HALF RING;;;; 02D4;MODIFIER LETTER UP TACK;Sk;0;ON;;;;;N;;;;; 02D5;MODIFIER LETTER DOWN TACK;Sk;0;ON;;;;;N;;;;; 02D6;MODIFIER LETTER PLUS SIGN;Sk;0;ON;;;;;N;;;;; 02D7;MODIFIER LETTER MINUS SIGN;Sk;0;ON;;;;;N;;;;; 02D8;BREVE;Sk;0;ON; 0020 0306;;;;N;SPACING BREVE;;;; 02D9;DOT ABOVE;Sk;0;ON; 0020 0307;;;;N;SPACING DOT ABOVE;Mandarin Chinese light tone;;; 02DA;RING ABOVE;Sk;0;ON; 0020 030A;;;;N;SPACING RING ABOVE;;;; 02DB;OGONEK;Sk;0;ON; 0020 0328;;;;N;SPACING OGONEK;;;; 02DC;SMALL TILDE;Sk;0;ON; 0020 0303;;;;N;SPACING TILDE;;;; 02DD;DOUBLE ACUTE ACCENT;Sk;0;ON; 0020 030B;;;;N;SPACING DOUBLE ACUTE;;;; 02DE;MODIFIER LETTER RHOTIC HOOK;Sk;0;ON;;;;;N;;;;; 02DF;MODIFIER LETTER CROSS ACCENT;Sk;0;ON;;;;;N;;;;; 02E0;MODIFIER LETTER SMALL GAMMA;Lm;0;L; 0263;;;;N;;;;; 02E1;MODIFIER LETTER SMALL L;Lm;0;L; 006C;;;;N;;;;; 02E2;MODIFIER LETTER SMALL S;Lm;0;L; 0073;;;;N;;;;; 02E3;MODIFIER LETTER SMALL X;Lm;0;L; 0078;;;;N;;;;; 02E4;MODIFIER LETTER SMALL REVERSED GLOTTAL STOP;Lm;0;L; 0295;;;;N;;;;; 02E5;MODIFIER LETTER EXTRA-HIGH TONE BAR;Sk;0;ON;;;;;N;;;;; 02E6;MODIFIER LETTER HIGH TONE BAR;Sk;0;ON;;;;;N;;;;; 02E7;MODIFIER LETTER MID TONE BAR;Sk;0;ON;;;;;N;;;;; 02E8;MODIFIER LETTER LOW TONE BAR;Sk;0;ON;;;;;N;;;;; 02E9;MODIFIER LETTER EXTRA-LOW TONE BAR;Sk;0;ON;;;;;N;;;;; 02EA;MODIFIER LETTER YIN DEPARTING TONE MARK;Sk;0;ON;;;;;N;;;;; 02EB;MODIFIER LETTER YANG DEPARTING TONE MARK;Sk;0;ON;;;;;N;;;;; 02EC;MODIFIER LETTER VOICING;Sk;0;ON;;;;;N;;;;; 02ED;MODIFIER LETTER UNASPIRATED;Sk;0;ON;;;;;N;;;;; 02EE;MODIFIER LETTER DOUBLE APOSTROPHE;Lm;0;L;;;;;N;;;;; 02EF;MODIFIER LETTER LOW DOWN ARROWHEAD;Sk;0;ON;;;;;N;;;;; 02F0;MODIFIER LETTER LOW UP ARROWHEAD;Sk;0;ON;;;;;N;;;;; 02F1;MODIFIER LETTER LOW LEFT ARROWHEAD;Sk;0;ON;;;;;N;;;;; 02F2;MODIFIER LETTER LOW RIGHT ARROWHEAD;Sk;0;ON;;;;;N;;;;; 02F3;MODIFIER LETTER LOW RING;Sk;0;ON;;;;;N;;;;; 02F4;MODIFIER LETTER MIDDLE GRAVE ACCENT;Sk;0;ON;;;;;N;;;;; 02F5;MODIFIER LETTER MIDDLE DOUBLE GRAVE ACCENT;Sk;0;ON;;;;;N;;;;; 02F6;MODIFIER LETTER MIDDLE DOUBLE ACUTE ACCENT;Sk;0;ON;;;;;N;;;;; 02F7;MODIFIER LETTER LOW TILDE;Sk;0;ON;;;;;N;;;;; 02F8;MODIFIER LETTER RAISED COLON;Sk;0;ON;;;;;N;;;;; 02F9;MODIFIER LETTER BEGIN HIGH TONE;Sk;0;ON;;;;;N;;;;; 02FA;MODIFIER LETTER END HIGH TONE;Sk;0;ON;;;;;N;;;;; 02FB;MODIFIER LETTER BEGIN LOW TONE;Sk;0;ON;;;;;N;;;;; 02FC;MODIFIER LETTER END LOW TONE;Sk;0;ON;;;;;N;;;;; 02FD;MODIFIER LETTER SHELF;Sk;0;ON;;;;;N;;;;; 02FE;MODIFIER LETTER OPEN SHELF;Sk;0;ON;;;;;N;;;;; 02FF;MODIFIER LETTER LOW LEFT ARROW;Sk;0;ON;;;;;N;;;;; 0300;COMBINING GRAVE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING GRAVE;Varia;;; 0301;COMBINING ACUTE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING ACUTE;Oxia, Tonos;;; 0302;COMBINING CIRCUMFLEX ACCENT;Mn;230;NSM;;;;;N;NON-SPACING CIRCUMFLEX;;;; 0303;COMBINING TILDE;Mn;230;NSM;;;;;N;NON-SPACING TILDE;;;; 0304;COMBINING MACRON;Mn;230;NSM;;;;;N;NON-SPACING MACRON;;;; 0305;COMBINING OVERLINE;Mn;230;NSM;;;;;N;NON-SPACING OVERSCORE;;;; 0306;COMBINING BREVE;Mn;230;NSM;;;;;N;NON-SPACING BREVE;Vrachy;;; 0307;COMBINING DOT ABOVE;Mn;230;NSM;;;;;N;NON-SPACING DOT ABOVE;;;; 0308;COMBINING DIAERESIS;Mn;230;NSM;;;;;N;NON-SPACING DIAERESIS;Dialytika;;; 0309;COMBINING HOOK ABOVE;Mn;230;NSM;;;;;N;NON-SPACING HOOK ABOVE;;;; 030A;COMBINING RING ABOVE;Mn;230;NSM;;;;;N;NON-SPACING RING ABOVE;;;; 030B;COMBINING DOUBLE ACUTE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING DOUBLE ACUTE;;;; 030C;COMBINING CARON;Mn;230;NSM;;;;;N;NON-SPACING HACEK;;;; 030D;COMBINING VERTICAL LINE ABOVE;Mn;230;NSM;;;;;N;NON-SPACING VERTICAL LINE ABOVE;;;; 030E;COMBINING DOUBLE VERTICAL LINE ABOVE;Mn;230;NSM;;;;;N;NON-SPACING DOUBLE VERTICAL LINE ABOVE;;;; 030F;COMBINING DOUBLE GRAVE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING DOUBLE GRAVE;;;; 0310;COMBINING CANDRABINDU;Mn;230;NSM;;;;;N;NON-SPACING CANDRABINDU;;;; 0311;COMBINING INVERTED BREVE;Mn;230;NSM;;;;;N;NON-SPACING INVERTED BREVE;;;; 0312;COMBINING TURNED COMMA ABOVE;Mn;230;NSM;;;;;N;NON-SPACING TURNED COMMA ABOVE;;;; 0313;COMBINING COMMA ABOVE;Mn;230;NSM;;;;;N;NON-SPACING COMMA ABOVE;Psili;;; 0314;COMBINING REVERSED COMMA ABOVE;Mn;230;NSM;;;;;N;NON-SPACING REVERSED COMMA ABOVE;Dasia;;; 0315;COMBINING COMMA ABOVE RIGHT;Mn;232;NSM;;;;;N;NON-SPACING COMMA ABOVE RIGHT;;;; 0316;COMBINING GRAVE ACCENT BELOW;Mn;220;NSM;;;;;N;NON-SPACING GRAVE BELOW;;;; 0317;COMBINING ACUTE ACCENT BELOW;Mn;220;NSM;;;;;N;NON-SPACING ACUTE BELOW;;;; 0318;COMBINING LEFT TACK BELOW;Mn;220;NSM;;;;;N;NON-SPACING LEFT TACK BELOW;;;; 0319;COMBINING RIGHT TACK BELOW;Mn;220;NSM;;;;;N;NON-SPACING RIGHT TACK BELOW;;;; 031A;COMBINING LEFT ANGLE ABOVE;Mn;232;NSM;;;;;N;NON-SPACING LEFT ANGLE ABOVE;;;; 031B;COMBINING HORN;Mn;216;NSM;;;;;N;NON-SPACING HORN;;;; 031C;COMBINING LEFT HALF RING BELOW;Mn;220;NSM;;;;;N;NON-SPACING LEFT HALF RING BELOW;;;; 031D;COMBINING UP TACK BELOW;Mn;220;NSM;;;;;N;NON-SPACING UP TACK BELOW;;;; 031E;COMBINING DOWN TACK BELOW;Mn;220;NSM;;;;;N;NON-SPACING DOWN TACK BELOW;;;; 031F;COMBINING PLUS SIGN BELOW;Mn;220;NSM;;;;;N;NON-SPACING PLUS SIGN BELOW;;;; 0320;COMBINING MINUS SIGN BELOW;Mn;220;NSM;;;;;N;NON-SPACING MINUS SIGN BELOW;;;; 0321;COMBINING PALATALIZED HOOK BELOW;Mn;202;NSM;;;;;N;NON-SPACING PALATALIZED HOOK BELOW;;;; 0322;COMBINING RETROFLEX HOOK BELOW;Mn;202;NSM;;;;;N;NON-SPACING RETROFLEX HOOK BELOW;;;; 0323;COMBINING DOT BELOW;Mn;220;NSM;;;;;N;NON-SPACING DOT BELOW;;;; 0324;COMBINING DIAERESIS BELOW;Mn;220;NSM;;;;;N;NON-SPACING DOUBLE DOT BELOW;;;; 0325;COMBINING RING BELOW;Mn;220;NSM;;;;;N;NON-SPACING RING BELOW;;;; 0326;COMBINING COMMA BELOW;Mn;220;NSM;;;;;N;NON-SPACING COMMA BELOW;;;; 0327;COMBINING CEDILLA;Mn;202;NSM;;;;;N;NON-SPACING CEDILLA;;;; 0328;COMBINING OGONEK;Mn;202;NSM;;;;;N;NON-SPACING OGONEK;;;; 0329;COMBINING VERTICAL LINE BELOW;Mn;220;NSM;;;;;N;NON-SPACING VERTICAL LINE BELOW;;;; 032A;COMBINING BRIDGE BELOW;Mn;220;NSM;;;;;N;NON-SPACING BRIDGE BELOW;;;; 032B;COMBINING INVERTED DOUBLE ARCH BELOW;Mn;220;NSM;;;;;N;NON-SPACING INVERTED DOUBLE ARCH BELOW;;;; 032C;COMBINING CARON BELOW;Mn;220;NSM;;;;;N;NON-SPACING HACEK BELOW;;;; 032D;COMBINING CIRCUMFLEX ACCENT BELOW;Mn;220;NSM;;;;;N;NON-SPACING CIRCUMFLEX BELOW;;;; 032E;COMBINING BREVE BELOW;Mn;220;NSM;;;;;N;NON-SPACING BREVE BELOW;;;; 032F;COMBINING INVERTED BREVE BELOW;Mn;220;NSM;;;;;N;NON-SPACING INVERTED BREVE BELOW;;;; 0330;COMBINING TILDE BELOW;Mn;220;NSM;;;;;N;NON-SPACING TILDE BELOW;;;; 0331;COMBINING MACRON BELOW;Mn;220;NSM;;;;;N;NON-SPACING MACRON BELOW;;;; 0332;COMBINING LOW LINE;Mn;220;NSM;;;;;N;NON-SPACING UNDERSCORE;;;; 0333;COMBINING DOUBLE LOW LINE;Mn;220;NSM;;;;;N;NON-SPACING DOUBLE UNDERSCORE;;;; 0334;COMBINING TILDE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING TILDE OVERLAY;;;; 0335;COMBINING SHORT STROKE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING SHORT BAR OVERLAY;;;; 0336;COMBINING LONG STROKE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING LONG BAR OVERLAY;;;; 0337;COMBINING SHORT SOLIDUS OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING SHORT SLASH OVERLAY;;;; 0338;COMBINING LONG SOLIDUS OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING LONG SLASH OVERLAY;;;; 0339;COMBINING RIGHT HALF RING BELOW;Mn;220;NSM;;;;;N;NON-SPACING RIGHT HALF RING BELOW;;;; 033A;COMBINING INVERTED BRIDGE BELOW;Mn;220;NSM;;;;;N;NON-SPACING INVERTED BRIDGE BELOW;;;; 033B;COMBINING SQUARE BELOW;Mn;220;NSM;;;;;N;NON-SPACING SQUARE BELOW;;;; 033C;COMBINING SEAGULL BELOW;Mn;220;NSM;;;;;N;NON-SPACING SEAGULL BELOW;;;; 033D;COMBINING X ABOVE;Mn;230;NSM;;;;;N;NON-SPACING X ABOVE;;;; 033E;COMBINING VERTICAL TILDE;Mn;230;NSM;;;;;N;NON-SPACING VERTICAL TILDE;;;; 033F;COMBINING DOUBLE OVERLINE;Mn;230;NSM;;;;;N;NON-SPACING DOUBLE OVERSCORE;;;; 0340;COMBINING GRAVE TONE MARK;Mn;230;NSM;0300;;;;N;NON-SPACING GRAVE TONE MARK;Vietnamese;;; 0341;COMBINING ACUTE TONE MARK;Mn;230;NSM;0301;;;;N;NON-SPACING ACUTE TONE MARK;Vietnamese;;; 0342;COMBINING GREEK PERISPOMENI;Mn;230;NSM;;;;;N;;;;; 0343;COMBINING GREEK KORONIS;Mn;230;NSM;0313;;;;N;;;;; 0344;COMBINING GREEK DIALYTIKA TONOS;Mn;230;NSM;0308 0301;;;;N;GREEK NON-SPACING DIAERESIS TONOS;;;; 0345;COMBINING GREEK YPOGEGRAMMENI;Mn;240;NSM;;;;;N;GREEK NON-SPACING IOTA BELOW;;0399;;0399 0346;COMBINING BRIDGE ABOVE;Mn;230;NSM;;;;;N;;;;; 0347;COMBINING EQUALS SIGN BELOW;Mn;220;NSM;;;;;N;;;;; 0348;COMBINING DOUBLE VERTICAL LINE BELOW;Mn;220;NSM;;;;;N;;;;; 0349;COMBINING LEFT ANGLE BELOW;Mn;220;NSM;;;;;N;;;;; 034A;COMBINING NOT TILDE ABOVE;Mn;230;NSM;;;;;N;;;;; 034B;COMBINING HOMOTHETIC ABOVE;Mn;230;NSM;;;;;N;;;;; 034C;COMBINING ALMOST EQUAL TO ABOVE;Mn;230;NSM;;;;;N;;;;; 034D;COMBINING LEFT RIGHT ARROW BELOW;Mn;220;NSM;;;;;N;;;;; 034E;COMBINING UPWARDS ARROW BELOW;Mn;220;NSM;;;;;N;;;;; 034F;COMBINING GRAPHEME JOINER;Mn;0;NSM;;;;;N;;;;; 0350;COMBINING RIGHT ARROWHEAD ABOVE;Mn;230;NSM;;;;;N;;;;; 0351;COMBINING LEFT HALF RING ABOVE;Mn;230;NSM;;;;;N;;;;; 0352;COMBINING FERMATA;Mn;230;NSM;;;;;N;;;;; 0353;COMBINING X BELOW;Mn;220;NSM;;;;;N;;;;; 0354;COMBINING LEFT ARROWHEAD BELOW;Mn;220;NSM;;;;;N;;;;; 0355;COMBINING RIGHT ARROWHEAD BELOW;Mn;220;NSM;;;;;N;;;;; 0356;COMBINING RIGHT ARROWHEAD AND UP ARROWHEAD BELOW;Mn;220;NSM;;;;;N;;;;; 0357;COMBINING RIGHT HALF RING ABOVE;Mn;230;NSM;;;;;N;;;;; 035D;COMBINING DOUBLE BREVE;Mn;234;NSM;;;;;N;;;;; 035E;COMBINING DOUBLE MACRON;Mn;234;NSM;;;;;N;;;;; 035F;COMBINING DOUBLE MACRON BELOW;Mn;233;NSM;;;;;N;;;;; 0360;COMBINING DOUBLE TILDE;Mn;234;NSM;;;;;N;;;;; 0361;COMBINING DOUBLE INVERTED BREVE;Mn;234;NSM;;;;;N;;;;; 0362;COMBINING DOUBLE RIGHTWARDS ARROW BELOW;Mn;233;NSM;;;;;N;;;;; 0363;COMBINING LATIN SMALL LETTER A;Mn;230;NSM;;;;;N;;;;; 0364;COMBINING LATIN SMALL LETTER E;Mn;230;NSM;;;;;N;;;;; 0365;COMBINING LATIN SMALL LETTER I;Mn;230;NSM;;;;;N;;;;; 0366;COMBINING LATIN SMALL LETTER O;Mn;230;NSM;;;;;N;;;;; 0367;COMBINING LATIN SMALL LETTER U;Mn;230;NSM;;;;;N;;;;; 0368;COMBINING LATIN SMALL LETTER C;Mn;230;NSM;;;;;N;;;;; 0369;COMBINING LATIN SMALL LETTER D;Mn;230;NSM;;;;;N;;;;; 036A;COMBINING LATIN SMALL LETTER H;Mn;230;NSM;;;;;N;;;;; 036B;COMBINING LATIN SMALL LETTER M;Mn;230;NSM;;;;;N;;;;; 036C;COMBINING LATIN SMALL LETTER R;Mn;230;NSM;;;;;N;;;;; 036D;COMBINING LATIN SMALL LETTER T;Mn;230;NSM;;;;;N;;;;; 036E;COMBINING LATIN SMALL LETTER V;Mn;230;NSM;;;;;N;;;;; 036F;COMBINING LATIN SMALL LETTER X;Mn;230;NSM;;;;;N;;;;; 0374;GREEK NUMERAL SIGN;Sk;0;ON;02B9;;;;N;GREEK UPPER NUMERAL SIGN;Dexia keraia;;; 0375;GREEK LOWER NUMERAL SIGN;Sk;0;ON;;;;;N;;Aristeri keraia;;; 037A;GREEK YPOGEGRAMMENI;Lm;0;L; 0020 0345;;;;N;GREEK SPACING IOTA BELOW;;;; 037E;GREEK QUESTION MARK;Po;0;ON;003B;;;;N;;Erotimatiko;;; 0384;GREEK TONOS;Sk;0;ON; 0020 0301;;;;N;GREEK SPACING TONOS;;;; 0385;GREEK DIALYTIKA TONOS;Sk;0;ON;00A8 0301;;;;N;GREEK SPACING DIAERESIS TONOS;;;; 0386;GREEK CAPITAL LETTER ALPHA WITH TONOS;Lu;0;L;0391 0301;;;;N;GREEK CAPITAL LETTER ALPHA TONOS;;;03AC; 0387;GREEK ANO TELEIA;Po;0;ON;00B7;;;;N;;;;; 0388;GREEK CAPITAL LETTER EPSILON WITH TONOS;Lu;0;L;0395 0301;;;;N;GREEK CAPITAL LETTER EPSILON TONOS;;;03AD; 0389;GREEK CAPITAL LETTER ETA WITH TONOS;Lu;0;L;0397 0301;;;;N;GREEK CAPITAL LETTER ETA TONOS;;;03AE; 038A;GREEK CAPITAL LETTER IOTA WITH TONOS;Lu;0;L;0399 0301;;;;N;GREEK CAPITAL LETTER IOTA TONOS;;;03AF; 038C;GREEK CAPITAL LETTER OMICRON WITH TONOS;Lu;0;L;039F 0301;;;;N;GREEK CAPITAL LETTER OMICRON TONOS;;;03CC; 038E;GREEK CAPITAL LETTER UPSILON WITH TONOS;Lu;0;L;03A5 0301;;;;N;GREEK CAPITAL LETTER UPSILON TONOS;;;03CD; 038F;GREEK CAPITAL LETTER OMEGA WITH TONOS;Lu;0;L;03A9 0301;;;;N;GREEK CAPITAL LETTER OMEGA TONOS;;;03CE; 0390;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS;Ll;0;L;03CA 0301;;;;N;GREEK SMALL LETTER IOTA DIAERESIS TONOS;;;; 0391;GREEK CAPITAL LETTER ALPHA;Lu;0;L;;;;;N;;;;03B1; 0392;GREEK CAPITAL LETTER BETA;Lu;0;L;;;;;N;;;;03B2; 0393;GREEK CAPITAL LETTER GAMMA;Lu;0;L;;;;;N;;;;03B3; 0394;GREEK CAPITAL LETTER DELTA;Lu;0;L;;;;;N;;;;03B4; 0395;GREEK CAPITAL LETTER EPSILON;Lu;0;L;;;;;N;;;;03B5; 0396;GREEK CAPITAL LETTER ZETA;Lu;0;L;;;;;N;;;;03B6; 0397;GREEK CAPITAL LETTER ETA;Lu;0;L;;;;;N;;;;03B7; 0398;GREEK CAPITAL LETTER THETA;Lu;0;L;;;;;N;;;;03B8; 0399;GREEK CAPITAL LETTER IOTA;Lu;0;L;;;;;N;;;;03B9; 039A;GREEK CAPITAL LETTER KAPPA;Lu;0;L;;;;;N;;;;03BA; 039B;GREEK CAPITAL LETTER LAMDA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER LAMBDA;;;03BB; 039C;GREEK CAPITAL LETTER MU;Lu;0;L;;;;;N;;;;03BC; 039D;GREEK CAPITAL LETTER NU;Lu;0;L;;;;;N;;;;03BD; 039E;GREEK CAPITAL LETTER XI;Lu;0;L;;;;;N;;;;03BE; 039F;GREEK CAPITAL LETTER OMICRON;Lu;0;L;;;;;N;;;;03BF; 03A0;GREEK CAPITAL LETTER PI;Lu;0;L;;;;;N;;;;03C0; 03A1;GREEK CAPITAL LETTER RHO;Lu;0;L;;;;;N;;;;03C1; 03A3;GREEK CAPITAL LETTER SIGMA;Lu;0;L;;;;;N;;;;03C3; 03A4;GREEK CAPITAL LETTER TAU;Lu;0;L;;;;;N;;;;03C4; 03A5;GREEK CAPITAL LETTER UPSILON;Lu;0;L;;;;;N;;;;03C5; 03A6;GREEK CAPITAL LETTER PHI;Lu;0;L;;;;;N;;;;03C6; 03A7;GREEK CAPITAL LETTER CHI;Lu;0;L;;;;;N;;;;03C7; 03A8;GREEK CAPITAL LETTER PSI;Lu;0;L;;;;;N;;;;03C8; 03A9;GREEK CAPITAL LETTER OMEGA;Lu;0;L;;;;;N;;;;03C9; 03AA;GREEK CAPITAL LETTER IOTA WITH DIALYTIKA;Lu;0;L;0399 0308;;;;N;GREEK CAPITAL LETTER IOTA DIAERESIS;;;03CA; 03AB;GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA;Lu;0;L;03A5 0308;;;;N;GREEK CAPITAL LETTER UPSILON DIAERESIS;;;03CB; 03AC;GREEK SMALL LETTER ALPHA WITH TONOS;Ll;0;L;03B1 0301;;;;N;GREEK SMALL LETTER ALPHA TONOS;;0386;;0386 03AD;GREEK SMALL LETTER EPSILON WITH TONOS;Ll;0;L;03B5 0301;;;;N;GREEK SMALL LETTER EPSILON TONOS;;0388;;0388 03AE;GREEK SMALL LETTER ETA WITH TONOS;Ll;0;L;03B7 0301;;;;N;GREEK SMALL LETTER ETA TONOS;;0389;;0389 03AF;GREEK SMALL LETTER IOTA WITH TONOS;Ll;0;L;03B9 0301;;;;N;GREEK SMALL LETTER IOTA TONOS;;038A;;038A 03B0;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS;Ll;0;L;03CB 0301;;;;N;GREEK SMALL LETTER UPSILON DIAERESIS TONOS;;;; 03B1;GREEK SMALL LETTER ALPHA;Ll;0;L;;;;;N;;;0391;;0391 03B2;GREEK SMALL LETTER BETA;Ll;0;L;;;;;N;;;0392;;0392 03B3;GREEK SMALL LETTER GAMMA;Ll;0;L;;;;;N;;;0393;;0393 03B4;GREEK SMALL LETTER DELTA;Ll;0;L;;;;;N;;;0394;;0394 03B5;GREEK SMALL LETTER EPSILON;Ll;0;L;;;;;N;;;0395;;0395 03B6;GREEK SMALL LETTER ZETA;Ll;0;L;;;;;N;;;0396;;0396 03B7;GREEK SMALL LETTER ETA;Ll;0;L;;;;;N;;;0397;;0397 03B8;GREEK SMALL LETTER THETA;Ll;0;L;;;;;N;;;0398;;0398 03B9;GREEK SMALL LETTER IOTA;Ll;0;L;;;;;N;;;0399;;0399 03BA;GREEK SMALL LETTER KAPPA;Ll;0;L;;;;;N;;;039A;;039A 03BB;GREEK SMALL LETTER LAMDA;Ll;0;L;;;;;N;GREEK SMALL LETTER LAMBDA;;039B;;039B 03BC;GREEK SMALL LETTER MU;Ll;0;L;;;;;N;;;039C;;039C 03BD;GREEK SMALL LETTER NU;Ll;0;L;;;;;N;;;039D;;039D 03BE;GREEK SMALL LETTER XI;Ll;0;L;;;;;N;;;039E;;039E 03BF;GREEK SMALL LETTER OMICRON;Ll;0;L;;;;;N;;;039F;;039F 03C0;GREEK SMALL LETTER PI;Ll;0;L;;;;;N;;;03A0;;03A0 03C1;GREEK SMALL LETTER RHO;Ll;0;L;;;;;N;;;03A1;;03A1 03C2;GREEK SMALL LETTER FINAL SIGMA;Ll;0;L;;;;;N;;;03A3;;03A3 03C3;GREEK SMALL LETTER SIGMA;Ll;0;L;;;;;N;;;03A3;;03A3 03C4;GREEK SMALL LETTER TAU;Ll;0;L;;;;;N;;;03A4;;03A4 03C5;GREEK SMALL LETTER UPSILON;Ll;0;L;;;;;N;;;03A5;;03A5 03C6;GREEK SMALL LETTER PHI;Ll;0;L;;;;;N;;;03A6;;03A6 03C7;GREEK SMALL LETTER CHI;Ll;0;L;;;;;N;;;03A7;;03A7 03C8;GREEK SMALL LETTER PSI;Ll;0;L;;;;;N;;;03A8;;03A8 03C9;GREEK SMALL LETTER OMEGA;Ll;0;L;;;;;N;;;03A9;;03A9 03CA;GREEK SMALL LETTER IOTA WITH DIALYTIKA;Ll;0;L;03B9 0308;;;;N;GREEK SMALL LETTER IOTA DIAERESIS;;03AA;;03AA 03CB;GREEK SMALL LETTER UPSILON WITH DIALYTIKA;Ll;0;L;03C5 0308;;;;N;GREEK SMALL LETTER UPSILON DIAERESIS;;03AB;;03AB 03CC;GREEK SMALL LETTER OMICRON WITH TONOS;Ll;0;L;03BF 0301;;;;N;GREEK SMALL LETTER OMICRON TONOS;;038C;;038C 03CD;GREEK SMALL LETTER UPSILON WITH TONOS;Ll;0;L;03C5 0301;;;;N;GREEK SMALL LETTER UPSILON TONOS;;038E;;038E 03CE;GREEK SMALL LETTER OMEGA WITH TONOS;Ll;0;L;03C9 0301;;;;N;GREEK SMALL LETTER OMEGA TONOS;;038F;;038F 03D0;GREEK BETA SYMBOL;Ll;0;L; 03B2;;;;N;GREEK SMALL LETTER CURLED BETA;;0392;;0392 03D1;GREEK THETA SYMBOL;Ll;0;L; 03B8;;;;N;GREEK SMALL LETTER SCRIPT THETA;;0398;;0398 03D2;GREEK UPSILON WITH HOOK SYMBOL;Lu;0;L; 03A5;;;;N;GREEK CAPITAL LETTER UPSILON HOOK;;;; 03D3;GREEK UPSILON WITH ACUTE AND HOOK SYMBOL;Lu;0;L;03D2 0301;;;;N;GREEK CAPITAL LETTER UPSILON HOOK TONOS;;;; 03D4;GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL;Lu;0;L;03D2 0308;;;;N;GREEK CAPITAL LETTER UPSILON HOOK DIAERESIS;;;; 03D5;GREEK PHI SYMBOL;Ll;0;L; 03C6;;;;N;GREEK SMALL LETTER SCRIPT PHI;;03A6;;03A6 03D6;GREEK PI SYMBOL;Ll;0;L; 03C0;;;;N;GREEK SMALL LETTER OMEGA PI;;03A0;;03A0 03D7;GREEK KAI SYMBOL;Ll;0;L;;;;;N;;;;; 03D8;GREEK LETTER ARCHAIC KOPPA;Lu;0;L;;;;;N;;*;;03D9; 03D9;GREEK SMALL LETTER ARCHAIC KOPPA;Ll;0;L;;;;;N;;*;03D8;;03D8 03DA;GREEK LETTER STIGMA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER STIGMA;;;03DB; 03DB;GREEK SMALL LETTER STIGMA;Ll;0;L;;;;;N;;;03DA;;03DA 03DC;GREEK LETTER DIGAMMA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER DIGAMMA;;;03DD; 03DD;GREEK SMALL LETTER DIGAMMA;Ll;0;L;;;;;N;;;03DC;;03DC 03DE;GREEK LETTER KOPPA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER KOPPA;;;03DF; 03DF;GREEK SMALL LETTER KOPPA;Ll;0;L;;;;;N;;;03DE;;03DE 03E0;GREEK LETTER SAMPI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER SAMPI;;;03E1; 03E1;GREEK SMALL LETTER SAMPI;Ll;0;L;;;;;N;;;03E0;;03E0 03E2;COPTIC CAPITAL LETTER SHEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER SHEI;;;03E3; 03E3;COPTIC SMALL LETTER SHEI;Ll;0;L;;;;;N;GREEK SMALL LETTER SHEI;;03E2;;03E2 03E4;COPTIC CAPITAL LETTER FEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER FEI;;;03E5; 03E5;COPTIC SMALL LETTER FEI;Ll;0;L;;;;;N;GREEK SMALL LETTER FEI;;03E4;;03E4 03E6;COPTIC CAPITAL LETTER KHEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER KHEI;;;03E7; 03E7;COPTIC SMALL LETTER KHEI;Ll;0;L;;;;;N;GREEK SMALL LETTER KHEI;;03E6;;03E6 03E8;COPTIC CAPITAL LETTER HORI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER HORI;;;03E9; 03E9;COPTIC SMALL LETTER HORI;Ll;0;L;;;;;N;GREEK SMALL LETTER HORI;;03E8;;03E8 03EA;COPTIC CAPITAL LETTER GANGIA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER GANGIA;;;03EB; 03EB;COPTIC SMALL LETTER GANGIA;Ll;0;L;;;;;N;GREEK SMALL LETTER GANGIA;;03EA;;03EA 03EC;COPTIC CAPITAL LETTER SHIMA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER SHIMA;;;03ED; 03ED;COPTIC SMALL LETTER SHIMA;Ll;0;L;;;;;N;GREEK SMALL LETTER SHIMA;;03EC;;03EC 03EE;COPTIC CAPITAL LETTER DEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER DEI;;;03EF; 03EF;COPTIC SMALL LETTER DEI;Ll;0;L;;;;;N;GREEK SMALL LETTER DEI;;03EE;;03EE 03F0;GREEK KAPPA SYMBOL;Ll;0;L; 03BA;;;;N;GREEK SMALL LETTER SCRIPT KAPPA;;039A;;039A 03F1;GREEK RHO SYMBOL;Ll;0;L; 03C1;;;;N;GREEK SMALL LETTER TAILED RHO;;03A1;;03A1 03F2;GREEK LUNATE SIGMA SYMBOL;Ll;0;L; 03C2;;;;N;GREEK SMALL LETTER LUNATE SIGMA;;03F9;;03F9 03F3;GREEK LETTER YOT;Ll;0;L;;;;;N;;;;; 03F4;GREEK CAPITAL THETA SYMBOL;Lu;0;L; 0398;;;;N;;;;03B8; 03F5;GREEK LUNATE EPSILON SYMBOL;Ll;0;L; 03B5;;;;N;;;0395;;0395 03F6;GREEK REVERSED LUNATE EPSILON SYMBOL;Sm;0;ON;;;;;N;;;;; 03F7;GREEK CAPITAL LETTER SHO;Lu;0;L;;;;;N;;;;03F8; 03F8;GREEK SMALL LETTER SHO;Ll;0;L;;;;;N;;;03F7;;03F7 03F9;GREEK CAPITAL LUNATE SIGMA SYMBOL;Lu;0;L; 03A3;;;;N;;;;03F2; 03FA;GREEK CAPITAL LETTER SAN;Lu;0;L;;;;;N;;;;03FB; 03FB;GREEK SMALL LETTER SAN;Ll;0;L;;;;;N;;;03FA;;03FA 0400;CYRILLIC CAPITAL LETTER IE WITH GRAVE;Lu;0;L;0415 0300;;;;N;;;;0450; 0401;CYRILLIC CAPITAL LETTER IO;Lu;0;L;0415 0308;;;;N;;;;0451; 0402;CYRILLIC CAPITAL LETTER DJE;Lu;0;L;;;;;N;;Serbocroatian;;0452; 0403;CYRILLIC CAPITAL LETTER GJE;Lu;0;L;0413 0301;;;;N;;;;0453; 0404;CYRILLIC CAPITAL LETTER UKRAINIAN IE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER E;;;0454; 0405;CYRILLIC CAPITAL LETTER DZE;Lu;0;L;;;;;N;;;;0455; 0406;CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER I;;;0456; 0407;CYRILLIC CAPITAL LETTER YI;Lu;0;L;0406 0308;;;;N;;Ukrainian;;0457; 0408;CYRILLIC CAPITAL LETTER JE;Lu;0;L;;;;;N;;;;0458; 0409;CYRILLIC CAPITAL LETTER LJE;Lu;0;L;;;;;N;;;;0459; 040A;CYRILLIC CAPITAL LETTER NJE;Lu;0;L;;;;;N;;;;045A; 040B;CYRILLIC CAPITAL LETTER TSHE;Lu;0;L;;;;;N;;Serbocroatian;;045B; 040C;CYRILLIC CAPITAL LETTER KJE;Lu;0;L;041A 0301;;;;N;;;;045C; 040D;CYRILLIC CAPITAL LETTER I WITH GRAVE;Lu;0;L;0418 0300;;;;N;;;;045D; 040E;CYRILLIC CAPITAL LETTER SHORT U;Lu;0;L;0423 0306;;;;N;;Byelorussian;;045E; 040F;CYRILLIC CAPITAL LETTER DZHE;Lu;0;L;;;;;N;;;;045F; 0410;CYRILLIC CAPITAL LETTER A;Lu;0;L;;;;;N;;;;0430; 0411;CYRILLIC CAPITAL LETTER BE;Lu;0;L;;;;;N;;;;0431; 0412;CYRILLIC CAPITAL LETTER VE;Lu;0;L;;;;;N;;;;0432; 0413;CYRILLIC CAPITAL LETTER GHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE;;;0433; 0414;CYRILLIC CAPITAL LETTER DE;Lu;0;L;;;;;N;;;;0434; 0415;CYRILLIC CAPITAL LETTER IE;Lu;0;L;;;;;N;;;;0435; 0416;CYRILLIC CAPITAL LETTER ZHE;Lu;0;L;;;;;N;;;;0436; 0417;CYRILLIC CAPITAL LETTER ZE;Lu;0;L;;;;;N;;;;0437; 0418;CYRILLIC CAPITAL LETTER I;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER II;;;0438; 0419;CYRILLIC CAPITAL LETTER SHORT I;Lu;0;L;0418 0306;;;;N;CYRILLIC CAPITAL LETTER SHORT II;;;0439; 041A;CYRILLIC CAPITAL LETTER KA;Lu;0;L;;;;;N;;;;043A; 041B;CYRILLIC CAPITAL LETTER EL;Lu;0;L;;;;;N;;;;043B; 041C;CYRILLIC CAPITAL LETTER EM;Lu;0;L;;;;;N;;;;043C; 041D;CYRILLIC CAPITAL LETTER EN;Lu;0;L;;;;;N;;;;043D; 041E;CYRILLIC CAPITAL LETTER O;Lu;0;L;;;;;N;;;;043E; 041F;CYRILLIC CAPITAL LETTER PE;Lu;0;L;;;;;N;;;;043F; 0420;CYRILLIC CAPITAL LETTER ER;Lu;0;L;;;;;N;;;;0440; 0421;CYRILLIC CAPITAL LETTER ES;Lu;0;L;;;;;N;;;;0441; 0422;CYRILLIC CAPITAL LETTER TE;Lu;0;L;;;;;N;;;;0442; 0423;CYRILLIC CAPITAL LETTER U;Lu;0;L;;;;;N;;;;0443; 0424;CYRILLIC CAPITAL LETTER EF;Lu;0;L;;;;;N;;;;0444; 0425;CYRILLIC CAPITAL LETTER HA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KHA;;;0445; 0426;CYRILLIC CAPITAL LETTER TSE;Lu;0;L;;;;;N;;;;0446; 0427;CYRILLIC CAPITAL LETTER CHE;Lu;0;L;;;;;N;;;;0447; 0428;CYRILLIC CAPITAL LETTER SHA;Lu;0;L;;;;;N;;;;0448; 0429;CYRILLIC CAPITAL LETTER SHCHA;Lu;0;L;;;;;N;;;;0449; 042A;CYRILLIC CAPITAL LETTER HARD SIGN;Lu;0;L;;;;;N;;;;044A; 042B;CYRILLIC CAPITAL LETTER YERU;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER YERI;;;044B; 042C;CYRILLIC CAPITAL LETTER SOFT SIGN;Lu;0;L;;;;;N;;;;044C; 042D;CYRILLIC CAPITAL LETTER E;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER REVERSED E;;;044D; 042E;CYRILLIC CAPITAL LETTER YU;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IU;;;044E; 042F;CYRILLIC CAPITAL LETTER YA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IA;;;044F; 0430;CYRILLIC SMALL LETTER A;Ll;0;L;;;;;N;;;0410;;0410 0431;CYRILLIC SMALL LETTER BE;Ll;0;L;;;;;N;;;0411;;0411 0432;CYRILLIC SMALL LETTER VE;Ll;0;L;;;;;N;;;0412;;0412 0433;CYRILLIC SMALL LETTER GHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE;;0413;;0413 0434;CYRILLIC SMALL LETTER DE;Ll;0;L;;;;;N;;;0414;;0414 0435;CYRILLIC SMALL LETTER IE;Ll;0;L;;;;;N;;;0415;;0415 0436;CYRILLIC SMALL LETTER ZHE;Ll;0;L;;;;;N;;;0416;;0416 0437;CYRILLIC SMALL LETTER ZE;Ll;0;L;;;;;N;;;0417;;0417 0438;CYRILLIC SMALL LETTER I;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER II;;0418;;0418 0439;CYRILLIC SMALL LETTER SHORT I;Ll;0;L;0438 0306;;;;N;CYRILLIC SMALL LETTER SHORT II;;0419;;0419 043A;CYRILLIC SMALL LETTER KA;Ll;0;L;;;;;N;;;041A;;041A 043B;CYRILLIC SMALL LETTER EL;Ll;0;L;;;;;N;;;041B;;041B 043C;CYRILLIC SMALL LETTER EM;Ll;0;L;;;;;N;;;041C;;041C 043D;CYRILLIC SMALL LETTER EN;Ll;0;L;;;;;N;;;041D;;041D 043E;CYRILLIC SMALL LETTER O;Ll;0;L;;;;;N;;;041E;;041E 043F;CYRILLIC SMALL LETTER PE;Ll;0;L;;;;;N;;;041F;;041F 0440;CYRILLIC SMALL LETTER ER;Ll;0;L;;;;;N;;;0420;;0420 0441;CYRILLIC SMALL LETTER ES;Ll;0;L;;;;;N;;;0421;;0421 0442;CYRILLIC SMALL LETTER TE;Ll;0;L;;;;;N;;;0422;;0422 0443;CYRILLIC SMALL LETTER U;Ll;0;L;;;;;N;;;0423;;0423 0444;CYRILLIC SMALL LETTER EF;Ll;0;L;;;;;N;;;0424;;0424 0445;CYRILLIC SMALL LETTER HA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KHA;;0425;;0425 0446;CYRILLIC SMALL LETTER TSE;Ll;0;L;;;;;N;;;0426;;0426 0447;CYRILLIC SMALL LETTER CHE;Ll;0;L;;;;;N;;;0427;;0427 0448;CYRILLIC SMALL LETTER SHA;Ll;0;L;;;;;N;;;0428;;0428 0449;CYRILLIC SMALL LETTER SHCHA;Ll;0;L;;;;;N;;;0429;;0429 044A;CYRILLIC SMALL LETTER HARD SIGN;Ll;0;L;;;;;N;;;042A;;042A 044B;CYRILLIC SMALL LETTER YERU;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER YERI;;042B;;042B 044C;CYRILLIC SMALL LETTER SOFT SIGN;Ll;0;L;;;;;N;;;042C;;042C 044D;CYRILLIC SMALL LETTER E;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER REVERSED E;;042D;;042D 044E;CYRILLIC SMALL LETTER YU;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IU;;042E;;042E 044F;CYRILLIC SMALL LETTER YA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IA;;042F;;042F 0450;CYRILLIC SMALL LETTER IE WITH GRAVE;Ll;0;L;0435 0300;;;;N;;;0400;;0400 0451;CYRILLIC SMALL LETTER IO;Ll;0;L;0435 0308;;;;N;;;0401;;0401 0452;CYRILLIC SMALL LETTER DJE;Ll;0;L;;;;;N;;Serbocroatian;0402;;0402 0453;CYRILLIC SMALL LETTER GJE;Ll;0;L;0433 0301;;;;N;;;0403;;0403 0454;CYRILLIC SMALL LETTER UKRAINIAN IE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER E;;0404;;0404 0455;CYRILLIC SMALL LETTER DZE;Ll;0;L;;;;;N;;;0405;;0405 0456;CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER I;;0406;;0406 0457;CYRILLIC SMALL LETTER YI;Ll;0;L;0456 0308;;;;N;;Ukrainian;0407;;0407 0458;CYRILLIC SMALL LETTER JE;Ll;0;L;;;;;N;;;0408;;0408 0459;CYRILLIC SMALL LETTER LJE;Ll;0;L;;;;;N;;;0409;;0409 045A;CYRILLIC SMALL LETTER NJE;Ll;0;L;;;;;N;;;040A;;040A 045B;CYRILLIC SMALL LETTER TSHE;Ll;0;L;;;;;N;;Serbocroatian;040B;;040B 045C;CYRILLIC SMALL LETTER KJE;Ll;0;L;043A 0301;;;;N;;;040C;;040C 045D;CYRILLIC SMALL LETTER I WITH GRAVE;Ll;0;L;0438 0300;;;;N;;;040D;;040D 045E;CYRILLIC SMALL LETTER SHORT U;Ll;0;L;0443 0306;;;;N;;Byelorussian;040E;;040E 045F;CYRILLIC SMALL LETTER DZHE;Ll;0;L;;;;;N;;;040F;;040F 0460;CYRILLIC CAPITAL LETTER OMEGA;Lu;0;L;;;;;N;;;;0461; 0461;CYRILLIC SMALL LETTER OMEGA;Ll;0;L;;;;;N;;;0460;;0460 0462;CYRILLIC CAPITAL LETTER YAT;Lu;0;L;;;;;N;;;;0463; 0463;CYRILLIC SMALL LETTER YAT;Ll;0;L;;;;;N;;;0462;;0462 0464;CYRILLIC CAPITAL LETTER IOTIFIED E;Lu;0;L;;;;;N;;;;0465; 0465;CYRILLIC SMALL LETTER IOTIFIED E;Ll;0;L;;;;;N;;;0464;;0464 0466;CYRILLIC CAPITAL LETTER LITTLE YUS;Lu;0;L;;;;;N;;;;0467; 0467;CYRILLIC SMALL LETTER LITTLE YUS;Ll;0;L;;;;;N;;;0466;;0466 0468;CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS;Lu;0;L;;;;;N;;;;0469; 0469;CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS;Ll;0;L;;;;;N;;;0468;;0468 046A;CYRILLIC CAPITAL LETTER BIG YUS;Lu;0;L;;;;;N;;;;046B; 046B;CYRILLIC SMALL LETTER BIG YUS;Ll;0;L;;;;;N;;;046A;;046A 046C;CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS;Lu;0;L;;;;;N;;;;046D; 046D;CYRILLIC SMALL LETTER IOTIFIED BIG YUS;Ll;0;L;;;;;N;;;046C;;046C 046E;CYRILLIC CAPITAL LETTER KSI;Lu;0;L;;;;;N;;;;046F; 046F;CYRILLIC SMALL LETTER KSI;Ll;0;L;;;;;N;;;046E;;046E 0470;CYRILLIC CAPITAL LETTER PSI;Lu;0;L;;;;;N;;;;0471; 0471;CYRILLIC SMALL LETTER PSI;Ll;0;L;;;;;N;;;0470;;0470 0472;CYRILLIC CAPITAL LETTER FITA;Lu;0;L;;;;;N;;;;0473; 0473;CYRILLIC SMALL LETTER FITA;Ll;0;L;;;;;N;;;0472;;0472 0474;CYRILLIC CAPITAL LETTER IZHITSA;Lu;0;L;;;;;N;;;;0475; 0475;CYRILLIC SMALL LETTER IZHITSA;Ll;0;L;;;;;N;;;0474;;0474 0476;CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT;Lu;0;L;0474 030F;;;;N;CYRILLIC CAPITAL LETTER IZHITSA DOUBLE GRAVE;;;0477; 0477;CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT;Ll;0;L;0475 030F;;;;N;CYRILLIC SMALL LETTER IZHITSA DOUBLE GRAVE;;0476;;0476 0478;CYRILLIC CAPITAL LETTER UK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER UK DIGRAPH;;;0479; 0479;CYRILLIC SMALL LETTER UK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER UK DIGRAPH;;0478;;0478 047A;CYRILLIC CAPITAL LETTER ROUND OMEGA;Lu;0;L;;;;;N;;;;047B; 047B;CYRILLIC SMALL LETTER ROUND OMEGA;Ll;0;L;;;;;N;;;047A;;047A 047C;CYRILLIC CAPITAL LETTER OMEGA WITH TITLO;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER OMEGA TITLO;;;047D; 047D;CYRILLIC SMALL LETTER OMEGA WITH TITLO;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER OMEGA TITLO;;047C;;047C 047E;CYRILLIC CAPITAL LETTER OT;Lu;0;L;;;;;N;;;;047F; 047F;CYRILLIC SMALL LETTER OT;Ll;0;L;;;;;N;;;047E;;047E 0480;CYRILLIC CAPITAL LETTER KOPPA;Lu;0;L;;;;;N;;;;0481; 0481;CYRILLIC SMALL LETTER KOPPA;Ll;0;L;;;;;N;;;0480;;0480 0482;CYRILLIC THOUSANDS SIGN;So;0;L;;;;;N;;;;; 0483;COMBINING CYRILLIC TITLO;Mn;230;NSM;;;;;N;CYRILLIC NON-SPACING TITLO;;;; 0484;COMBINING CYRILLIC PALATALIZATION;Mn;230;NSM;;;;;N;CYRILLIC NON-SPACING PALATALIZATION;;;; 0485;COMBINING CYRILLIC DASIA PNEUMATA;Mn;230;NSM;;;;;N;CYRILLIC NON-SPACING DASIA PNEUMATA;;;; 0486;COMBINING CYRILLIC PSILI PNEUMATA;Mn;230;NSM;;;;;N;CYRILLIC NON-SPACING PSILI PNEUMATA;;;; 0488;COMBINING CYRILLIC HUNDRED THOUSANDS SIGN;Me;0;NSM;;;;;N;;;;; 0489;COMBINING CYRILLIC MILLIONS SIGN;Me;0;NSM;;;;;N;;;;; 048A;CYRILLIC CAPITAL LETTER SHORT I WITH TAIL;Lu;0;L;;;;;N;;;;048B; 048B;CYRILLIC SMALL LETTER SHORT I WITH TAIL;Ll;0;L;;;;;N;;;048A;;048A 048C;CYRILLIC CAPITAL LETTER SEMISOFT SIGN;Lu;0;L;;;;;N;;;;048D; 048D;CYRILLIC SMALL LETTER SEMISOFT SIGN;Ll;0;L;;;;;N;;;048C;;048C 048E;CYRILLIC CAPITAL LETTER ER WITH TICK;Lu;0;L;;;;;N;;;;048F; 048F;CYRILLIC SMALL LETTER ER WITH TICK;Ll;0;L;;;;;N;;;048E;;048E 0490;CYRILLIC CAPITAL LETTER GHE WITH UPTURN;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE WITH UPTURN;;;0491; 0491;CYRILLIC SMALL LETTER GHE WITH UPTURN;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE WITH UPTURN;;0490;;0490 0492;CYRILLIC CAPITAL LETTER GHE WITH STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE BAR;;;0493; 0493;CYRILLIC SMALL LETTER GHE WITH STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE BAR;;0492;;0492 0494;CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE HOOK;;;0495; 0495;CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE HOOK;;0494;;0494 0496;CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER ZHE WITH RIGHT DESCENDER;;;0497; 0497;CYRILLIC SMALL LETTER ZHE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER ZHE WITH RIGHT DESCENDER;;0496;;0496 0498;CYRILLIC CAPITAL LETTER ZE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER ZE CEDILLA;;;0499; 0499;CYRILLIC SMALL LETTER ZE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER ZE CEDILLA;;0498;;0498 049A;CYRILLIC CAPITAL LETTER KA WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KA WITH RIGHT DESCENDER;;;049B; 049B;CYRILLIC SMALL LETTER KA WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KA WITH RIGHT DESCENDER;;049A;;049A 049C;CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KA VERTICAL BAR;;;049D; 049D;CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KA VERTICAL BAR;;049C;;049C 049E;CYRILLIC CAPITAL LETTER KA WITH STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KA BAR;;;049F; 049F;CYRILLIC SMALL LETTER KA WITH STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KA BAR;;049E;;049E 04A0;CYRILLIC CAPITAL LETTER BASHKIR KA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER REVERSED GE KA;;;04A1; 04A1;CYRILLIC SMALL LETTER BASHKIR KA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER REVERSED GE KA;;04A0;;04A0 04A2;CYRILLIC CAPITAL LETTER EN WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER EN WITH RIGHT DESCENDER;;;04A3; 04A3;CYRILLIC SMALL LETTER EN WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER EN WITH RIGHT DESCENDER;;04A2;;04A2 04A4;CYRILLIC CAPITAL LIGATURE EN GHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER EN GE;;;04A5; 04A5;CYRILLIC SMALL LIGATURE EN GHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER EN GE;;04A4;;04A4 04A6;CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER PE HOOK;Abkhasian;;04A7; 04A7;CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER PE HOOK;Abkhasian;04A6;;04A6 04A8;CYRILLIC CAPITAL LETTER ABKHASIAN HA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER O HOOK;;;04A9; 04A9;CYRILLIC SMALL LETTER ABKHASIAN HA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER O HOOK;;04A8;;04A8 04AA;CYRILLIC CAPITAL LETTER ES WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER ES CEDILLA;;;04AB; 04AB;CYRILLIC SMALL LETTER ES WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER ES CEDILLA;;04AA;;04AA 04AC;CYRILLIC CAPITAL LETTER TE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER TE WITH RIGHT DESCENDER;;;04AD; 04AD;CYRILLIC SMALL LETTER TE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER TE WITH RIGHT DESCENDER;;04AC;;04AC 04AE;CYRILLIC CAPITAL LETTER STRAIGHT U;Lu;0;L;;;;;N;;;;04AF; 04AF;CYRILLIC SMALL LETTER STRAIGHT U;Ll;0;L;;;;;N;;;04AE;;04AE 04B0;CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER STRAIGHT U BAR;;;04B1; 04B1;CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER STRAIGHT U BAR;;04B0;;04B0 04B2;CYRILLIC CAPITAL LETTER HA WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KHA WITH RIGHT DESCENDER;;;04B3; 04B3;CYRILLIC SMALL LETTER HA WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KHA WITH RIGHT DESCENDER;;04B2;;04B2 04B4;CYRILLIC CAPITAL LIGATURE TE TSE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER TE TSE;Abkhasian;;04B5; 04B5;CYRILLIC SMALL LIGATURE TE TSE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER TE TSE;Abkhasian;04B4;;04B4 04B6;CYRILLIC CAPITAL LETTER CHE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER CHE WITH RIGHT DESCENDER;;;04B7; 04B7;CYRILLIC SMALL LETTER CHE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER CHE WITH RIGHT DESCENDER;;04B6;;04B6 04B8;CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER CHE VERTICAL BAR;;;04B9; 04B9;CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER CHE VERTICAL BAR;;04B8;;04B8 04BA;CYRILLIC CAPITAL LETTER SHHA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER H;;;04BB; 04BB;CYRILLIC SMALL LETTER SHHA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER H;;04BA;;04BA 04BC;CYRILLIC CAPITAL LETTER ABKHASIAN CHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IE HOOK;;;04BD; 04BD;CYRILLIC SMALL LETTER ABKHASIAN CHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IE HOOK;;04BC;;04BC 04BE;CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IE HOOK OGONEK;;;04BF; 04BF;CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IE HOOK OGONEK;;04BE;;04BE 04C0;CYRILLIC LETTER PALOCHKA;Lu;0;L;;;;;N;CYRILLIC LETTER I;;;; 04C1;CYRILLIC CAPITAL LETTER ZHE WITH BREVE;Lu;0;L;0416 0306;;;;N;CYRILLIC CAPITAL LETTER SHORT ZHE;;;04C2; 04C2;CYRILLIC SMALL LETTER ZHE WITH BREVE;Ll;0;L;0436 0306;;;;N;CYRILLIC SMALL LETTER SHORT ZHE;;04C1;;04C1 04C3;CYRILLIC CAPITAL LETTER KA WITH HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KA HOOK;;;04C4; 04C4;CYRILLIC SMALL LETTER KA WITH HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KA HOOK;;04C3;;04C3 04C5;CYRILLIC CAPITAL LETTER EL WITH TAIL;Lu;0;L;;;;;N;;;;04C6; 04C6;CYRILLIC SMALL LETTER EL WITH TAIL;Ll;0;L;;;;;N;;;04C5;;04C5 04C7;CYRILLIC CAPITAL LETTER EN WITH HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER EN HOOK;;;04C8; 04C8;CYRILLIC SMALL LETTER EN WITH HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER EN HOOK;;04C7;;04C7 04C9;CYRILLIC CAPITAL LETTER EN WITH TAIL;Lu;0;L;;;;;N;;;;04CA; 04CA;CYRILLIC SMALL LETTER EN WITH TAIL;Ll;0;L;;;;;N;;;04C9;;04C9 04CB;CYRILLIC CAPITAL LETTER KHAKASSIAN CHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER CHE WITH LEFT DESCENDER;;;04CC; 04CC;CYRILLIC SMALL LETTER KHAKASSIAN CHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER CHE WITH LEFT DESCENDER;;04CB;;04CB 04CD;CYRILLIC CAPITAL LETTER EM WITH TAIL;Lu;0;L;;;;;N;;;;04CE; 04CE;CYRILLIC SMALL LETTER EM WITH TAIL;Ll;0;L;;;;;N;;;04CD;;04CD 04D0;CYRILLIC CAPITAL LETTER A WITH BREVE;Lu;0;L;0410 0306;;;;N;;;;04D1; 04D1;CYRILLIC SMALL LETTER A WITH BREVE;Ll;0;L;0430 0306;;;;N;;;04D0;;04D0 04D2;CYRILLIC CAPITAL LETTER A WITH DIAERESIS;Lu;0;L;0410 0308;;;;N;;;;04D3; 04D3;CYRILLIC SMALL LETTER A WITH DIAERESIS;Ll;0;L;0430 0308;;;;N;;;04D2;;04D2 04D4;CYRILLIC CAPITAL LIGATURE A IE;Lu;0;L;;;;;N;;;;04D5; 04D5;CYRILLIC SMALL LIGATURE A IE;Ll;0;L;;;;;N;;;04D4;;04D4 04D6;CYRILLIC CAPITAL LETTER IE WITH BREVE;Lu;0;L;0415 0306;;;;N;;;;04D7; 04D7;CYRILLIC SMALL LETTER IE WITH BREVE;Ll;0;L;0435 0306;;;;N;;;04D6;;04D6 04D8;CYRILLIC CAPITAL LETTER SCHWA;Lu;0;L;;;;;N;;;;04D9; 04D9;CYRILLIC SMALL LETTER SCHWA;Ll;0;L;;;;;N;;;04D8;;04D8 04DA;CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS;Lu;0;L;04D8 0308;;;;N;;;;04DB; 04DB;CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS;Ll;0;L;04D9 0308;;;;N;;;04DA;;04DA 04DC;CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS;Lu;0;L;0416 0308;;;;N;;;;04DD; 04DD;CYRILLIC SMALL LETTER ZHE WITH DIAERESIS;Ll;0;L;0436 0308;;;;N;;;04DC;;04DC 04DE;CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS;Lu;0;L;0417 0308;;;;N;;;;04DF; 04DF;CYRILLIC SMALL LETTER ZE WITH DIAERESIS;Ll;0;L;0437 0308;;;;N;;;04DE;;04DE 04E0;CYRILLIC CAPITAL LETTER ABKHASIAN DZE;Lu;0;L;;;;;N;;;;04E1; 04E1;CYRILLIC SMALL LETTER ABKHASIAN DZE;Ll;0;L;;;;;N;;;04E0;;04E0 04E2;CYRILLIC CAPITAL LETTER I WITH MACRON;Lu;0;L;0418 0304;;;;N;;;;04E3; 04E3;CYRILLIC SMALL LETTER I WITH MACRON;Ll;0;L;0438 0304;;;;N;;;04E2;;04E2 04E4;CYRILLIC CAPITAL LETTER I WITH DIAERESIS;Lu;0;L;0418 0308;;;;N;;;;04E5; 04E5;CYRILLIC SMALL LETTER I WITH DIAERESIS;Ll;0;L;0438 0308;;;;N;;;04E4;;04E4 04E6;CYRILLIC CAPITAL LETTER O WITH DIAERESIS;Lu;0;L;041E 0308;;;;N;;;;04E7; 04E7;CYRILLIC SMALL LETTER O WITH DIAERESIS;Ll;0;L;043E 0308;;;;N;;;04E6;;04E6 04E8;CYRILLIC CAPITAL LETTER BARRED O;Lu;0;L;;;;;N;;;;04E9; 04E9;CYRILLIC SMALL LETTER BARRED O;Ll;0;L;;;;;N;;;04E8;;04E8 04EA;CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS;Lu;0;L;04E8 0308;;;;N;;;;04EB; 04EB;CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS;Ll;0;L;04E9 0308;;;;N;;;04EA;;04EA 04EC;CYRILLIC CAPITAL LETTER E WITH DIAERESIS;Lu;0;L;042D 0308;;;;N;;;;04ED; 04ED;CYRILLIC SMALL LETTER E WITH DIAERESIS;Ll;0;L;044D 0308;;;;N;;;04EC;;04EC 04EE;CYRILLIC CAPITAL LETTER U WITH MACRON;Lu;0;L;0423 0304;;;;N;;;;04EF; 04EF;CYRILLIC SMALL LETTER U WITH MACRON;Ll;0;L;0443 0304;;;;N;;;04EE;;04EE 04F0;CYRILLIC CAPITAL LETTER U WITH DIAERESIS;Lu;0;L;0423 0308;;;;N;;;;04F1; 04F1;CYRILLIC SMALL LETTER U WITH DIAERESIS;Ll;0;L;0443 0308;;;;N;;;04F0;;04F0 04F2;CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE;Lu;0;L;0423 030B;;;;N;;;;04F3; 04F3;CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE;Ll;0;L;0443 030B;;;;N;;;04F2;;04F2 04F4;CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS;Lu;0;L;0427 0308;;;;N;;;;04F5; 04F5;CYRILLIC SMALL LETTER CHE WITH DIAERESIS;Ll;0;L;0447 0308;;;;N;;;04F4;;04F4 04F8;CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS;Lu;0;L;042B 0308;;;;N;;;;04F9; 04F9;CYRILLIC SMALL LETTER YERU WITH DIAERESIS;Ll;0;L;044B 0308;;;;N;;;04F8;;04F8 0500;CYRILLIC CAPITAL LETTER KOMI DE;Lu;0;L;;;;;N;;;;0501; 0501;CYRILLIC SMALL LETTER KOMI DE;Ll;0;L;;;;;N;;;0500;;0500 0502;CYRILLIC CAPITAL LETTER KOMI DJE;Lu;0;L;;;;;N;;;;0503; 0503;CYRILLIC SMALL LETTER KOMI DJE;Ll;0;L;;;;;N;;;0502;;0502 0504;CYRILLIC CAPITAL LETTER KOMI ZJE;Lu;0;L;;;;;N;;;;0505; 0505;CYRILLIC SMALL LETTER KOMI ZJE;Ll;0;L;;;;;N;;;0504;;0504 0506;CYRILLIC CAPITAL LETTER KOMI DZJE;Lu;0;L;;;;;N;;;;0507; 0507;CYRILLIC SMALL LETTER KOMI DZJE;Ll;0;L;;;;;N;;;0506;;0506 0508;CYRILLIC CAPITAL LETTER KOMI LJE;Lu;0;L;;;;;N;;;;0509; 0509;CYRILLIC SMALL LETTER KOMI LJE;Ll;0;L;;;;;N;;;0508;;0508 050A;CYRILLIC CAPITAL LETTER KOMI NJE;Lu;0;L;;;;;N;;;;050B; 050B;CYRILLIC SMALL LETTER KOMI NJE;Ll;0;L;;;;;N;;;050A;;050A 050C;CYRILLIC CAPITAL LETTER KOMI SJE;Lu;0;L;;;;;N;;;;050D; 050D;CYRILLIC SMALL LETTER KOMI SJE;Ll;0;L;;;;;N;;;050C;;050C 050E;CYRILLIC CAPITAL LETTER KOMI TJE;Lu;0;L;;;;;N;;;;050F; 050F;CYRILLIC SMALL LETTER KOMI TJE;Ll;0;L;;;;;N;;;050E;;050E 0531;ARMENIAN CAPITAL LETTER AYB;Lu;0;L;;;;;N;;;;0561; 0532;ARMENIAN CAPITAL LETTER BEN;Lu;0;L;;;;;N;;;;0562; 0533;ARMENIAN CAPITAL LETTER GIM;Lu;0;L;;;;;N;;;;0563; 0534;ARMENIAN CAPITAL LETTER DA;Lu;0;L;;;;;N;;;;0564; 0535;ARMENIAN CAPITAL LETTER ECH;Lu;0;L;;;;;N;;;;0565; 0536;ARMENIAN CAPITAL LETTER ZA;Lu;0;L;;;;;N;;;;0566; 0537;ARMENIAN CAPITAL LETTER EH;Lu;0;L;;;;;N;;;;0567; 0538;ARMENIAN CAPITAL LETTER ET;Lu;0;L;;;;;N;;;;0568; 0539;ARMENIAN CAPITAL LETTER TO;Lu;0;L;;;;;N;;;;0569; 053A;ARMENIAN CAPITAL LETTER ZHE;Lu;0;L;;;;;N;;;;056A; 053B;ARMENIAN CAPITAL LETTER INI;Lu;0;L;;;;;N;;;;056B; 053C;ARMENIAN CAPITAL LETTER LIWN;Lu;0;L;;;;;N;;;;056C; 053D;ARMENIAN CAPITAL LETTER XEH;Lu;0;L;;;;;N;;;;056D; 053E;ARMENIAN CAPITAL LETTER CA;Lu;0;L;;;;;N;;;;056E; 053F;ARMENIAN CAPITAL LETTER KEN;Lu;0;L;;;;;N;;;;056F; 0540;ARMENIAN CAPITAL LETTER HO;Lu;0;L;;;;;N;;;;0570; 0541;ARMENIAN CAPITAL LETTER JA;Lu;0;L;;;;;N;;;;0571; 0542;ARMENIAN CAPITAL LETTER GHAD;Lu;0;L;;;;;N;ARMENIAN CAPITAL LETTER LAD;;;0572; 0543;ARMENIAN CAPITAL LETTER CHEH;Lu;0;L;;;;;N;;;;0573; 0544;ARMENIAN CAPITAL LETTER MEN;Lu;0;L;;;;;N;;;;0574; 0545;ARMENIAN CAPITAL LETTER YI;Lu;0;L;;;;;N;;;;0575; 0546;ARMENIAN CAPITAL LETTER NOW;Lu;0;L;;;;;N;;;;0576; 0547;ARMENIAN CAPITAL LETTER SHA;Lu;0;L;;;;;N;;;;0577; 0548;ARMENIAN CAPITAL LETTER VO;Lu;0;L;;;;;N;;;;0578; 0549;ARMENIAN CAPITAL LETTER CHA;Lu;0;L;;;;;N;;;;0579; 054A;ARMENIAN CAPITAL LETTER PEH;Lu;0;L;;;;;N;;;;057A; 054B;ARMENIAN CAPITAL LETTER JHEH;Lu;0;L;;;;;N;;;;057B; 054C;ARMENIAN CAPITAL LETTER RA;Lu;0;L;;;;;N;;;;057C; 054D;ARMENIAN CAPITAL LETTER SEH;Lu;0;L;;;;;N;;;;057D; 054E;ARMENIAN CAPITAL LETTER VEW;Lu;0;L;;;;;N;;;;057E; 054F;ARMENIAN CAPITAL LETTER TIWN;Lu;0;L;;;;;N;;;;057F; 0550;ARMENIAN CAPITAL LETTER REH;Lu;0;L;;;;;N;;;;0580; 0551;ARMENIAN CAPITAL LETTER CO;Lu;0;L;;;;;N;;;;0581; 0552;ARMENIAN CAPITAL LETTER YIWN;Lu;0;L;;;;;N;;;;0582; 0553;ARMENIAN CAPITAL LETTER PIWR;Lu;0;L;;;;;N;;;;0583; 0554;ARMENIAN CAPITAL LETTER KEH;Lu;0;L;;;;;N;;;;0584; 0555;ARMENIAN CAPITAL LETTER OH;Lu;0;L;;;;;N;;;;0585; 0556;ARMENIAN CAPITAL LETTER FEH;Lu;0;L;;;;;N;;;;0586; 0559;ARMENIAN MODIFIER LETTER LEFT HALF RING;Lm;0;L;;;;;N;;;;; 055A;ARMENIAN APOSTROPHE;Po;0;L;;;;;N;ARMENIAN MODIFIER LETTER RIGHT HALF RING;;;; 055B;ARMENIAN EMPHASIS MARK;Po;0;L;;;;;N;;;;; 055C;ARMENIAN EXCLAMATION MARK;Po;0;L;;;;;N;;;;; 055D;ARMENIAN COMMA;Po;0;L;;;;;N;;;;; 055E;ARMENIAN QUESTION MARK;Po;0;L;;;;;N;;;;; 055F;ARMENIAN ABBREVIATION MARK;Po;0;L;;;;;N;;;;; 0561;ARMENIAN SMALL LETTER AYB;Ll;0;L;;;;;N;;;0531;;0531 0562;ARMENIAN SMALL LETTER BEN;Ll;0;L;;;;;N;;;0532;;0532 0563;ARMENIAN SMALL LETTER GIM;Ll;0;L;;;;;N;;;0533;;0533 0564;ARMENIAN SMALL LETTER DA;Ll;0;L;;;;;N;;;0534;;0534 0565;ARMENIAN SMALL LETTER ECH;Ll;0;L;;;;;N;;;0535;;0535 0566;ARMENIAN SMALL LETTER ZA;Ll;0;L;;;;;N;;;0536;;0536 0567;ARMENIAN SMALL LETTER EH;Ll;0;L;;;;;N;;;0537;;0537 0568;ARMENIAN SMALL LETTER ET;Ll;0;L;;;;;N;;;0538;;0538 0569;ARMENIAN SMALL LETTER TO;Ll;0;L;;;;;N;;;0539;;0539 056A;ARMENIAN SMALL LETTER ZHE;Ll;0;L;;;;;N;;;053A;;053A 056B;ARMENIAN SMALL LETTER INI;Ll;0;L;;;;;N;;;053B;;053B 056C;ARMENIAN SMALL LETTER LIWN;Ll;0;L;;;;;N;;;053C;;053C 056D;ARMENIAN SMALL LETTER XEH;Ll;0;L;;;;;N;;;053D;;053D 056E;ARMENIAN SMALL LETTER CA;Ll;0;L;;;;;N;;;053E;;053E 056F;ARMENIAN SMALL LETTER KEN;Ll;0;L;;;;;N;;;053F;;053F 0570;ARMENIAN SMALL LETTER HO;Ll;0;L;;;;;N;;;0540;;0540 0571;ARMENIAN SMALL LETTER JA;Ll;0;L;;;;;N;;;0541;;0541 0572;ARMENIAN SMALL LETTER GHAD;Ll;0;L;;;;;N;ARMENIAN SMALL LETTER LAD;;0542;;0542 0573;ARMENIAN SMALL LETTER CHEH;Ll;0;L;;;;;N;;;0543;;0543 0574;ARMENIAN SMALL LETTER MEN;Ll;0;L;;;;;N;;;0544;;0544 0575;ARMENIAN SMALL LETTER YI;Ll;0;L;;;;;N;;;0545;;0545 0576;ARMENIAN SMALL LETTER NOW;Ll;0;L;;;;;N;;;0546;;0546 0577;ARMENIAN SMALL LETTER SHA;Ll;0;L;;;;;N;;;0547;;0547 0578;ARMENIAN SMALL LETTER VO;Ll;0;L;;;;;N;;;0548;;0548 0579;ARMENIAN SMALL LETTER CHA;Ll;0;L;;;;;N;;;0549;;0549 057A;ARMENIAN SMALL LETTER PEH;Ll;0;L;;;;;N;;;054A;;054A 057B;ARMENIAN SMALL LETTER JHEH;Ll;0;L;;;;;N;;;054B;;054B 057C;ARMENIAN SMALL LETTER RA;Ll;0;L;;;;;N;;;054C;;054C 057D;ARMENIAN SMALL LETTER SEH;Ll;0;L;;;;;N;;;054D;;054D 057E;ARMENIAN SMALL LETTER VEW;Ll;0;L;;;;;N;;;054E;;054E 057F;ARMENIAN SMALL LETTER TIWN;Ll;0;L;;;;;N;;;054F;;054F 0580;ARMENIAN SMALL LETTER REH;Ll;0;L;;;;;N;;;0550;;0550 0581;ARMENIAN SMALL LETTER CO;Ll;0;L;;;;;N;;;0551;;0551 0582;ARMENIAN SMALL LETTER YIWN;Ll;0;L;;;;;N;;;0552;;0552 0583;ARMENIAN SMALL LETTER PIWR;Ll;0;L;;;;;N;;;0553;;0553 0584;ARMENIAN SMALL LETTER KEH;Ll;0;L;;;;;N;;;0554;;0554 0585;ARMENIAN SMALL LETTER OH;Ll;0;L;;;;;N;;;0555;;0555 0586;ARMENIAN SMALL LETTER FEH;Ll;0;L;;;;;N;;;0556;;0556 0587;ARMENIAN SMALL LIGATURE ECH YIWN;Ll;0;L; 0565 0582;;;;N;;;;; 0589;ARMENIAN FULL STOP;Po;0;L;;;;;N;ARMENIAN PERIOD;;;; 058A;ARMENIAN HYPHEN;Pd;0;ON;;;;;N;;;;; 0591;HEBREW ACCENT ETNAHTA;Mn;220;NSM;;;;;N;;;;; 0592;HEBREW ACCENT SEGOL;Mn;230;NSM;;;;;N;;;;; 0593;HEBREW ACCENT SHALSHELET;Mn;230;NSM;;;;;N;;;;; 0594;HEBREW ACCENT ZAQEF QATAN;Mn;230;NSM;;;;;N;;;;; 0595;HEBREW ACCENT ZAQEF GADOL;Mn;230;NSM;;;;;N;;;;; 0596;HEBREW ACCENT TIPEHA;Mn;220;NSM;;;;;N;;*;;; 0597;HEBREW ACCENT REVIA;Mn;230;NSM;;;;;N;;;;; 0598;HEBREW ACCENT ZARQA;Mn;230;NSM;;;;;N;;*;;; 0599;HEBREW ACCENT PASHTA;Mn;230;NSM;;;;;N;;;;; 059A;HEBREW ACCENT YETIV;Mn;222;NSM;;;;;N;;;;; 059B;HEBREW ACCENT TEVIR;Mn;220;NSM;;;;;N;;;;; 059C;HEBREW ACCENT GERESH;Mn;230;NSM;;;;;N;;;;; 059D;HEBREW ACCENT GERESH MUQDAM;Mn;230;NSM;;;;;N;;;;; 059E;HEBREW ACCENT GERSHAYIM;Mn;230;NSM;;;;;N;;;;; 059F;HEBREW ACCENT QARNEY PARA;Mn;230;NSM;;;;;N;;;;; 05A0;HEBREW ACCENT TELISHA GEDOLA;Mn;230;NSM;;;;;N;;;;; 05A1;HEBREW ACCENT PAZER;Mn;230;NSM;;;;;N;;;;; 05A3;HEBREW ACCENT MUNAH;Mn;220;NSM;;;;;N;;;;; 05A4;HEBREW ACCENT MAHAPAKH;Mn;220;NSM;;;;;N;;;;; 05A5;HEBREW ACCENT MERKHA;Mn;220;NSM;;;;;N;;*;;; 05A6;HEBREW ACCENT MERKHA KEFULA;Mn;220;NSM;;;;;N;;;;; 05A7;HEBREW ACCENT DARGA;Mn;220;NSM;;;;;N;;;;; 05A8;HEBREW ACCENT QADMA;Mn;230;NSM;;;;;N;;*;;; 05A9;HEBREW ACCENT TELISHA QETANA;Mn;230;NSM;;;;;N;;;;; 05AA;HEBREW ACCENT YERAH BEN YOMO;Mn;220;NSM;;;;;N;;*;;; 05AB;HEBREW ACCENT OLE;Mn;230;NSM;;;;;N;;;;; 05AC;HEBREW ACCENT ILUY;Mn;230;NSM;;;;;N;;;;; 05AD;HEBREW ACCENT DEHI;Mn;222;NSM;;;;;N;;;;; 05AE;HEBREW ACCENT ZINOR;Mn;228;NSM;;;;;N;;;;; 05AF;HEBREW MARK MASORA CIRCLE;Mn;230;NSM;;;;;N;;;;; 05B0;HEBREW POINT SHEVA;Mn;10;NSM;;;;;N;;;;; 05B1;HEBREW POINT HATAF SEGOL;Mn;11;NSM;;;;;N;;;;; 05B2;HEBREW POINT HATAF PATAH;Mn;12;NSM;;;;;N;;;;; 05B3;HEBREW POINT HATAF QAMATS;Mn;13;NSM;;;;;N;;;;; 05B4;HEBREW POINT HIRIQ;Mn;14;NSM;;;;;N;;;;; 05B5;HEBREW POINT TSERE;Mn;15;NSM;;;;;N;;;;; 05B6;HEBREW POINT SEGOL;Mn;16;NSM;;;;;N;;;;; 05B7;HEBREW POINT PATAH;Mn;17;NSM;;;;;N;;;;; 05B8;HEBREW POINT QAMATS;Mn;18;NSM;;;;;N;;;;; 05B9;HEBREW POINT HOLAM;Mn;19;NSM;;;;;N;;;;; 05BB;HEBREW POINT QUBUTS;Mn;20;NSM;;;;;N;;;;; 05BC;HEBREW POINT DAGESH OR MAPIQ;Mn;21;NSM;;;;;N;HEBREW POINT DAGESH;or shuruq;;; 05BD;HEBREW POINT METEG;Mn;22;NSM;;;;;N;;*;;; 05BE;HEBREW PUNCTUATION MAQAF;Po;0;R;;;;;N;;;;; 05BF;HEBREW POINT RAFE;Mn;23;NSM;;;;;N;;;;; 05C0;HEBREW PUNCTUATION PASEQ;Po;0;R;;;;;N;HEBREW POINT PASEQ;*;;; 05C1;HEBREW POINT SHIN DOT;Mn;24;NSM;;;;;N;;;;; 05C2;HEBREW POINT SIN DOT;Mn;25;NSM;;;;;N;;;;; 05C3;HEBREW PUNCTUATION SOF PASUQ;Po;0;R;;;;;N;;*;;; 05C4;HEBREW MARK UPPER DOT;Mn;230;NSM;;;;;N;;;;; 05D0;HEBREW LETTER ALEF;Lo;0;R;;;;;N;;;;; 05D1;HEBREW LETTER BET;Lo;0;R;;;;;N;;;;; 05D2;HEBREW LETTER GIMEL;Lo;0;R;;;;;N;;;;; 05D3;HEBREW LETTER DALET;Lo;0;R;;;;;N;;;;; 05D4;HEBREW LETTER HE;Lo;0;R;;;;;N;;;;; 05D5;HEBREW LETTER VAV;Lo;0;R;;;;;N;;;;; 05D6;HEBREW LETTER ZAYIN;Lo;0;R;;;;;N;;;;; 05D7;HEBREW LETTER HET;Lo;0;R;;;;;N;;;;; 05D8;HEBREW LETTER TET;Lo;0;R;;;;;N;;;;; 05D9;HEBREW LETTER YOD;Lo;0;R;;;;;N;;;;; 05DA;HEBREW LETTER FINAL KAF;Lo;0;R;;;;;N;;;;; 05DB;HEBREW LETTER KAF;Lo;0;R;;;;;N;;;;; 05DC;HEBREW LETTER LAMED;Lo;0;R;;;;;N;;;;; 05DD;HEBREW LETTER FINAL MEM;Lo;0;R;;;;;N;;;;; 05DE;HEBREW LETTER MEM;Lo;0;R;;;;;N;;;;; 05DF;HEBREW LETTER FINAL NUN;Lo;0;R;;;;;N;;;;; 05E0;HEBREW LETTER NUN;Lo;0;R;;;;;N;;;;; 05E1;HEBREW LETTER SAMEKH;Lo;0;R;;;;;N;;;;; 05E2;HEBREW LETTER AYIN;Lo;0;R;;;;;N;;;;; 05E3;HEBREW LETTER FINAL PE;Lo;0;R;;;;;N;;;;; 05E4;HEBREW LETTER PE;Lo;0;R;;;;;N;;;;; 05E5;HEBREW LETTER FINAL TSADI;Lo;0;R;;;;;N;;;;; 05E6;HEBREW LETTER TSADI;Lo;0;R;;;;;N;;;;; 05E7;HEBREW LETTER QOF;Lo;0;R;;;;;N;;;;; 05E8;HEBREW LETTER RESH;Lo;0;R;;;;;N;;;;; 05E9;HEBREW LETTER SHIN;Lo;0;R;;;;;N;;;;; 05EA;HEBREW LETTER TAV;Lo;0;R;;;;;N;;;;; 05F0;HEBREW LIGATURE YIDDISH DOUBLE VAV;Lo;0;R;;;;;N;HEBREW LETTER DOUBLE VAV;;;; 05F1;HEBREW LIGATURE YIDDISH VAV YOD;Lo;0;R;;;;;N;HEBREW LETTER VAV YOD;;;; 05F2;HEBREW LIGATURE YIDDISH DOUBLE YOD;Lo;0;R;;;;;N;HEBREW LETTER DOUBLE YOD;;;; 05F3;HEBREW PUNCTUATION GERESH;Po;0;R;;;;;N;;;;; 05F4;HEBREW PUNCTUATION GERSHAYIM;Po;0;R;;;;;N;;;;; 0600;ARABIC NUMBER SIGN;Cf;0;AL;;;;;N;;;;; 0601;ARABIC SIGN SANAH;Cf;0;AL;;;;;N;;;;; 0602;ARABIC FOOTNOTE MARKER;Cf;0;AL;;;;;N;;;;; 0603;ARABIC SIGN SAFHA;Cf;0;AL;;;;;N;;;;; 060C;ARABIC COMMA;Po;0;CS;;;;;N;;;;; 060D;ARABIC DATE SEPARATOR;Po;0;AL;;;;;N;;;;; 060E;ARABIC POETIC VERSE SIGN;So;0;ON;;;;;N;;;;; 060F;ARABIC SIGN MISRA;So;0;ON;;;;;N;;;;; 0610;ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM;Mn;230;NSM;;;;;N;;;;; 0611;ARABIC SIGN ALAYHE ASSALLAM;Mn;230;NSM;;;;;N;;;;; 0612;ARABIC SIGN RAHMATULLAH ALAYHE;Mn;230;NSM;;;;;N;;;;; 0613;ARABIC SIGN RADI ALLAHOU ANHU;Mn;230;NSM;;;;;N;;;;; 0614;ARABIC SIGN TAKHALLUS;Mn;230;NSM;;;;;N;;;;; 0615;ARABIC SMALL HIGH TAH ;Mn;230;NSM;;;;;N;;;;; 061B;ARABIC SEMICOLON;Po;0;AL;;;;;N;;;;; 061F;ARABIC QUESTION MARK;Po;0;AL;;;;;N;;;;; 0621;ARABIC LETTER HAMZA;Lo;0;AL;;;;;N;ARABIC LETTER HAMZAH;;;; 0622;ARABIC LETTER ALEF WITH MADDA ABOVE;Lo;0;AL;0627 0653;;;;N;ARABIC LETTER MADDAH ON ALEF;;;; 0623;ARABIC LETTER ALEF WITH HAMZA ABOVE;Lo;0;AL;0627 0654;;;;N;ARABIC LETTER HAMZAH ON ALEF;;;; 0624;ARABIC LETTER WAW WITH HAMZA ABOVE;Lo;0;AL;0648 0654;;;;N;ARABIC LETTER HAMZAH ON WAW;;;; 0625;ARABIC LETTER ALEF WITH HAMZA BELOW;Lo;0;AL;0627 0655;;;;N;ARABIC LETTER HAMZAH UNDER ALEF;;;; 0626;ARABIC LETTER YEH WITH HAMZA ABOVE;Lo;0;AL;064A 0654;;;;N;ARABIC LETTER HAMZAH ON YA;;;; 0627;ARABIC LETTER ALEF;Lo;0;AL;;;;;N;;;;; 0628;ARABIC LETTER BEH;Lo;0;AL;;;;;N;ARABIC LETTER BAA;;;; 0629;ARABIC LETTER TEH MARBUTA;Lo;0;AL;;;;;N;ARABIC LETTER TAA MARBUTAH;;;; 062A;ARABIC LETTER TEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA;;;; 062B;ARABIC LETTER THEH;Lo;0;AL;;;;;N;ARABIC LETTER THAA;;;; 062C;ARABIC LETTER JEEM;Lo;0;AL;;;;;N;;;;; 062D;ARABIC LETTER HAH;Lo;0;AL;;;;;N;ARABIC LETTER HAA;;;; 062E;ARABIC LETTER KHAH;Lo;0;AL;;;;;N;ARABIC LETTER KHAA;;;; 062F;ARABIC LETTER DAL;Lo;0;AL;;;;;N;;;;; 0630;ARABIC LETTER THAL;Lo;0;AL;;;;;N;;;;; 0631;ARABIC LETTER REH;Lo;0;AL;;;;;N;ARABIC LETTER RA;;;; 0632;ARABIC LETTER ZAIN;Lo;0;AL;;;;;N;;;;; 0633;ARABIC LETTER SEEN;Lo;0;AL;;;;;N;;;;; 0634;ARABIC LETTER SHEEN;Lo;0;AL;;;;;N;;;;; 0635;ARABIC LETTER SAD;Lo;0;AL;;;;;N;;;;; 0636;ARABIC LETTER DAD;Lo;0;AL;;;;;N;;;;; 0637;ARABIC LETTER TAH;Lo;0;AL;;;;;N;;;;; 0638;ARABIC LETTER ZAH;Lo;0;AL;;;;;N;ARABIC LETTER DHAH;;;; 0639;ARABIC LETTER AIN;Lo;0;AL;;;;;N;;;;; 063A;ARABIC LETTER GHAIN;Lo;0;AL;;;;;N;;;;; 0640;ARABIC TATWEEL;Lm;0;AL;;;;;N;;;;; 0641;ARABIC LETTER FEH;Lo;0;AL;;;;;N;ARABIC LETTER FA;;;; 0642;ARABIC LETTER QAF;Lo;0;AL;;;;;N;;;;; 0643;ARABIC LETTER KAF;Lo;0;AL;;;;;N;ARABIC LETTER CAF;;;; 0644;ARABIC LETTER LAM;Lo;0;AL;;;;;N;;;;; 0645;ARABIC LETTER MEEM;Lo;0;AL;;;;;N;;;;; 0646;ARABIC LETTER NOON;Lo;0;AL;;;;;N;;;;; 0647;ARABIC LETTER HEH;Lo;0;AL;;;;;N;ARABIC LETTER HA;;;; 0648;ARABIC LETTER WAW;Lo;0;AL;;;;;N;;;;; 0649;ARABIC LETTER ALEF MAKSURA;Lo;0;AL;;;;;N;ARABIC LETTER ALEF MAQSURAH;;;; 064A;ARABIC LETTER YEH;Lo;0;AL;;;;;N;ARABIC LETTER YA;;;; 064B;ARABIC FATHATAN;Mn;27;NSM;;;;;N;;;;; 064C;ARABIC DAMMATAN;Mn;28;NSM;;;;;N;;;;; 064D;ARABIC KASRATAN;Mn;29;NSM;;;;;N;;;;; 064E;ARABIC FATHA;Mn;30;NSM;;;;;N;ARABIC FATHAH;;;; 064F;ARABIC DAMMA;Mn;31;NSM;;;;;N;ARABIC DAMMAH;;;; 0650;ARABIC KASRA;Mn;32;NSM;;;;;N;ARABIC KASRAH;;;; 0651;ARABIC SHADDA;Mn;33;NSM;;;;;N;ARABIC SHADDAH;;;; 0652;ARABIC SUKUN;Mn;34;NSM;;;;;N;;;;; 0653;ARABIC MADDAH ABOVE;Mn;230;NSM;;;;;N;;;;; 0654;ARABIC HAMZA ABOVE;Mn;230;NSM;;;;;N;;;;; 0655;ARABIC HAMZA BELOW;Mn;220;NSM;;;;;N;;;;; 0656;ARABIC SUBSCRIPT ALEF;Mn;220;NSM;;;;;N;;;;; 0657;ARABIC INVERTED DAMMA;Mn;230;NSM;;;;;N;;;;; 0658;ARABIC MARK NOON GHUNNA;Mn;230;NSM;;;;;N;;;;; 0660;ARABIC-INDIC DIGIT ZERO;Nd;0;AN;;0;0;0;N;;;;; 0661;ARABIC-INDIC DIGIT ONE;Nd;0;AN;;1;1;1;N;;;;; 0662;ARABIC-INDIC DIGIT TWO;Nd;0;AN;;2;2;2;N;;;;; 0663;ARABIC-INDIC DIGIT THREE;Nd;0;AN;;3;3;3;N;;;;; 0664;ARABIC-INDIC DIGIT FOUR;Nd;0;AN;;4;4;4;N;;;;; 0665;ARABIC-INDIC DIGIT FIVE;Nd;0;AN;;5;5;5;N;;;;; 0666;ARABIC-INDIC DIGIT SIX;Nd;0;AN;;6;6;6;N;;;;; 0667;ARABIC-INDIC DIGIT SEVEN;Nd;0;AN;;7;7;7;N;;;;; 0668;ARABIC-INDIC DIGIT EIGHT;Nd;0;AN;;8;8;8;N;;;;; 0669;ARABIC-INDIC DIGIT NINE;Nd;0;AN;;9;9;9;N;;;;; 066A;ARABIC PERCENT SIGN;Po;0;ET;;;;;N;;;;; 066B;ARABIC DECIMAL SEPARATOR;Po;0;AN;;;;;N;;;;; 066C;ARABIC THOUSANDS SEPARATOR;Po;0;AN;;;;;N;;;;; 066D;ARABIC FIVE POINTED STAR;Po;0;AL;;;;;N;;;;; 066E;ARABIC LETTER DOTLESS BEH;Lo;0;AL;;;;;N;;;;; 066F;ARABIC LETTER DOTLESS QAF;Lo;0;AL;;;;;N;;;;; 0670;ARABIC LETTER SUPERSCRIPT ALEF;Mn;35;NSM;;;;;N;ARABIC ALEF ABOVE;;;; 0671;ARABIC LETTER ALEF WASLA;Lo;0;AL;;;;;N;ARABIC LETTER HAMZAT WASL ON ALEF;;;; 0672;ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER WAVY HAMZAH ON ALEF;;;; 0673;ARABIC LETTER ALEF WITH WAVY HAMZA BELOW;Lo;0;AL;;;;;N;ARABIC LETTER WAVY HAMZAH UNDER ALEF;;;; 0674;ARABIC LETTER HIGH HAMZA;Lo;0;AL;;;;;N;ARABIC LETTER HIGH HAMZAH;;;; 0675;ARABIC LETTER HIGH HAMZA ALEF;Lo;0;AL; 0627 0674;;;;N;ARABIC LETTER HIGH HAMZAH ALEF;;;; 0676;ARABIC LETTER HIGH HAMZA WAW;Lo;0;AL; 0648 0674;;;;N;ARABIC LETTER HIGH HAMZAH WAW;;;; 0677;ARABIC LETTER U WITH HAMZA ABOVE;Lo;0;AL; 06C7 0674;;;;N;ARABIC LETTER HIGH HAMZAH WAW WITH DAMMAH;;;; 0678;ARABIC LETTER HIGH HAMZA YEH;Lo;0;AL; 064A 0674;;;;N;ARABIC LETTER HIGH HAMZAH YA;;;; 0679;ARABIC LETTER TTEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH SMALL TAH;;;; 067A;ARABIC LETTER TTEHEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH TWO DOTS VERTICAL ABOVE;;;; 067B;ARABIC LETTER BEEH;Lo;0;AL;;;;;N;ARABIC LETTER BAA WITH TWO DOTS VERTICAL BELOW;;;; 067C;ARABIC LETTER TEH WITH RING;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH RING;;;; 067D;ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH THREE DOTS ABOVE DOWNWARD;;;; 067E;ARABIC LETTER PEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH THREE DOTS BELOW;;;; 067F;ARABIC LETTER TEHEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH FOUR DOTS ABOVE;;;; 0680;ARABIC LETTER BEHEH;Lo;0;AL;;;;;N;ARABIC LETTER BAA WITH FOUR DOTS BELOW;;;; 0681;ARABIC LETTER HAH WITH HAMZA ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER HAMZAH ON HAA;;;; 0682;ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH TWO DOTS VERTICAL ABOVE;;;; 0683;ARABIC LETTER NYEH;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH MIDDLE TWO DOTS;;;; 0684;ARABIC LETTER DYEH;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH MIDDLE TWO DOTS VERTICAL;;;; 0685;ARABIC LETTER HAH WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH THREE DOTS ABOVE;;;; 0686;ARABIC LETTER TCHEH;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH MIDDLE THREE DOTS DOWNWARD;;;; 0687;ARABIC LETTER TCHEHEH;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH MIDDLE FOUR DOTS;;;; 0688;ARABIC LETTER DDAL;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH SMALL TAH;;;; 0689;ARABIC LETTER DAL WITH RING;Lo;0;AL;;;;;N;;;;; 068A;ARABIC LETTER DAL WITH DOT BELOW;Lo;0;AL;;;;;N;;;;; 068B;ARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH;Lo;0;AL;;;;;N;;;;; 068C;ARABIC LETTER DAHAL;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH TWO DOTS ABOVE;;;; 068D;ARABIC LETTER DDAHAL;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH TWO DOTS BELOW;;;; 068E;ARABIC LETTER DUL;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH THREE DOTS ABOVE;;;; 068F;ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARD;;;; 0690;ARABIC LETTER DAL WITH FOUR DOTS ABOVE;Lo;0;AL;;;;;N;;;;; 0691;ARABIC LETTER RREH;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH SMALL TAH;;;; 0692;ARABIC LETTER REH WITH SMALL V;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH SMALL V;;;; 0693;ARABIC LETTER REH WITH RING;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH RING;;;; 0694;ARABIC LETTER REH WITH DOT BELOW;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH DOT BELOW;;;; 0695;ARABIC LETTER REH WITH SMALL V BELOW;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH SMALL V BELOW;;;; 0696;ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH DOT BELOW AND DOT ABOVE;;;; 0697;ARABIC LETTER REH WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH TWO DOTS ABOVE;;;; 0698;ARABIC LETTER JEH;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH THREE DOTS ABOVE;;;; 0699;ARABIC LETTER REH WITH FOUR DOTS ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH FOUR DOTS ABOVE;;;; 069A;ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE;Lo;0;AL;;;;;N;;;;; 069B;ARABIC LETTER SEEN WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;;;;; 069C;ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; 069D;ARABIC LETTER SAD WITH TWO DOTS BELOW;Lo;0;AL;;;;;N;;;;; 069E;ARABIC LETTER SAD WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; 069F;ARABIC LETTER TAH WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; 06A0;ARABIC LETTER AIN WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; 06A1;ARABIC LETTER DOTLESS FEH;Lo;0;AL;;;;;N;ARABIC LETTER DOTLESS FA;;;; 06A2;ARABIC LETTER FEH WITH DOT MOVED BELOW;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH DOT MOVED BELOW;;;; 06A3;ARABIC LETTER FEH WITH DOT BELOW;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH DOT BELOW;;;; 06A4;ARABIC LETTER VEH;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH THREE DOTS ABOVE;;;; 06A5;ARABIC LETTER FEH WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH THREE DOTS BELOW;;;; 06A6;ARABIC LETTER PEHEH;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH FOUR DOTS ABOVE;;;; 06A7;ARABIC LETTER QAF WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;; 06A8;ARABIC LETTER QAF WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; 06A9;ARABIC LETTER KEHEH;Lo;0;AL;;;;;N;ARABIC LETTER OPEN CAF;;;; 06AA;ARABIC LETTER SWASH KAF;Lo;0;AL;;;;;N;ARABIC LETTER SWASH CAF;;;; 06AB;ARABIC LETTER KAF WITH RING;Lo;0;AL;;;;;N;ARABIC LETTER CAF WITH RING;;;; 06AC;ARABIC LETTER KAF WITH DOT ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER CAF WITH DOT ABOVE;;;; 06AD;ARABIC LETTER NG;Lo;0;AL;;;;;N;ARABIC LETTER CAF WITH THREE DOTS ABOVE;;;; 06AE;ARABIC LETTER KAF WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;ARABIC LETTER CAF WITH THREE DOTS BELOW;;;; 06AF;ARABIC LETTER GAF;Lo;0;AL;;;;;N;;*;;; 06B0;ARABIC LETTER GAF WITH RING;Lo;0;AL;;;;;N;;;;; 06B1;ARABIC LETTER NGOEH;Lo;0;AL;;;;;N;ARABIC LETTER GAF WITH TWO DOTS ABOVE;;;; 06B2;ARABIC LETTER GAF WITH TWO DOTS BELOW;Lo;0;AL;;;;;N;;;;; 06B3;ARABIC LETTER GUEH;Lo;0;AL;;;;;N;ARABIC LETTER GAF WITH TWO DOTS VERTICAL BELOW;;;; 06B4;ARABIC LETTER GAF WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; 06B5;ARABIC LETTER LAM WITH SMALL V;Lo;0;AL;;;;;N;;;;; 06B6;ARABIC LETTER LAM WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;; 06B7;ARABIC LETTER LAM WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; 06B8;ARABIC LETTER LAM WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;;;;; 06B9;ARABIC LETTER NOON WITH DOT BELOW;Lo;0;AL;;;;;N;;;;; 06BA;ARABIC LETTER NOON GHUNNA;Lo;0;AL;;;;;N;ARABIC LETTER DOTLESS NOON;;;; 06BB;ARABIC LETTER RNOON;Lo;0;AL;;;;;N;ARABIC LETTER DOTLESS NOON WITH SMALL TAH;;;; 06BC;ARABIC LETTER NOON WITH RING;Lo;0;AL;;;;;N;;;;; 06BD;ARABIC LETTER NOON WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; 06BE;ARABIC LETTER HEH DOACHASHMEE;Lo;0;AL;;;;;N;ARABIC LETTER KNOTTED HA;;;; 06BF;ARABIC LETTER TCHEH WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;; 06C0;ARABIC LETTER HEH WITH YEH ABOVE;Lo;0;AL;06D5 0654;;;;N;ARABIC LETTER HAMZAH ON HA;;;; 06C1;ARABIC LETTER HEH GOAL;Lo;0;AL;;;;;N;ARABIC LETTER HA GOAL;;;; 06C2;ARABIC LETTER HEH GOAL WITH HAMZA ABOVE;Lo;0;AL;06C1 0654;;;;N;ARABIC LETTER HAMZAH ON HA GOAL;;;; 06C3;ARABIC LETTER TEH MARBUTA GOAL;Lo;0;AL;;;;;N;ARABIC LETTER TAA MARBUTAH GOAL;;;; 06C4;ARABIC LETTER WAW WITH RING;Lo;0;AL;;;;;N;;;;; 06C5;ARABIC LETTER KIRGHIZ OE;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH BAR;;;; 06C6;ARABIC LETTER OE;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH SMALL V;;;; 06C7;ARABIC LETTER U;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH DAMMAH;;;; 06C8;ARABIC LETTER YU;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH ALEF ABOVE;;;; 06C9;ARABIC LETTER KIRGHIZ YU;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH INVERTED SMALL V;;;; 06CA;ARABIC LETTER WAW WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;; 06CB;ARABIC LETTER VE;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH THREE DOTS ABOVE;;;; 06CC;ARABIC LETTER FARSI YEH;Lo;0;AL;;;;;N;ARABIC LETTER DOTLESS YA;;;; 06CD;ARABIC LETTER YEH WITH TAIL;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH TAIL;;;; 06CE;ARABIC LETTER YEH WITH SMALL V;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH SMALL V;;;; 06CF;ARABIC LETTER WAW WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;; 06D0;ARABIC LETTER E;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH TWO DOTS VERTICAL BELOW;*;;; 06D1;ARABIC LETTER YEH WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH THREE DOTS BELOW;;;; 06D2;ARABIC LETTER YEH BARREE;Lo;0;AL;;;;;N;ARABIC LETTER YA BARREE;;;; 06D3;ARABIC LETTER YEH BARREE WITH HAMZA ABOVE;Lo;0;AL;06D2 0654;;;;N;ARABIC LETTER HAMZAH ON YA BARREE;;;; 06D4;ARABIC FULL STOP;Po;0;AL;;;;;N;ARABIC PERIOD;;;; 06D5;ARABIC LETTER AE;Lo;0;AL;;;;;N;;;;; 06D6;ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA;Mn;230;NSM;;;;;N;;;;; 06D7;ARABIC SMALL HIGH LIGATURE QAF WITH LAM WITH ALEF MAKSURA;Mn;230;NSM;;;;;N;;;;; 06D8;ARABIC SMALL HIGH MEEM INITIAL FORM;Mn;230;NSM;;;;;N;;;;; 06D9;ARABIC SMALL HIGH LAM ALEF;Mn;230;NSM;;;;;N;;;;; 06DA;ARABIC SMALL HIGH JEEM;Mn;230;NSM;;;;;N;;;;; 06DB;ARABIC SMALL HIGH THREE DOTS;Mn;230;NSM;;;;;N;;;;; 06DC;ARABIC SMALL HIGH SEEN;Mn;230;NSM;;;;;N;;;;; 06DD;ARABIC END OF AYAH;Cf;0;AL;;;;;N;;;;; 06DE;ARABIC START OF RUB EL HIZB;Me;0;NSM;;;;;N;;;;; 06DF;ARABIC SMALL HIGH ROUNDED ZERO;Mn;230;NSM;;;;;N;;;;; 06E0;ARABIC SMALL HIGH UPRIGHT RECTANGULAR ZERO;Mn;230;NSM;;;;;N;;;;; 06E1;ARABIC SMALL HIGH DOTLESS HEAD OF KHAH;Mn;230;NSM;;;;;N;;;;; 06E2;ARABIC SMALL HIGH MEEM ISOLATED FORM;Mn;230;NSM;;;;;N;;;;; 06E3;ARABIC SMALL LOW SEEN;Mn;220;NSM;;;;;N;;;;; 06E4;ARABIC SMALL HIGH MADDA;Mn;230;NSM;;;;;N;;;;; 06E5;ARABIC SMALL WAW;Lm;0;AL;;;;;N;;;;; 06E6;ARABIC SMALL YEH;Lm;0;AL;;;;;N;;;;; 06E7;ARABIC SMALL HIGH YEH;Mn;230;NSM;;;;;N;;;;; 06E8;ARABIC SMALL HIGH NOON;Mn;230;NSM;;;;;N;;;;; 06E9;ARABIC PLACE OF SAJDAH;So;0;ON;;;;;N;;;;; 06EA;ARABIC EMPTY CENTRE LOW STOP;Mn;220;NSM;;;;;N;;;;; 06EB;ARABIC EMPTY CENTRE HIGH STOP;Mn;230;NSM;;;;;N;;;;; 06EC;ARABIC ROUNDED HIGH STOP WITH FILLED CENTRE;Mn;230;NSM;;;;;N;;;;; 06ED;ARABIC SMALL LOW MEEM;Mn;220;NSM;;;;;N;;;;; 06EE;ARABIC LETTER DAL WITH INVERTED V;Lo;0;AL;;;;;N;;;;; 06EF;ARABIC LETTER REH WITH INVERTED V;Lo;0;AL;;;;;N;;;;; 06F0;EXTENDED ARABIC-INDIC DIGIT ZERO;Nd;0;EN;;0;0;0;N;EASTERN ARABIC-INDIC DIGIT ZERO;;;; 06F1;EXTENDED ARABIC-INDIC DIGIT ONE;Nd;0;EN;;1;1;1;N;EASTERN ARABIC-INDIC DIGIT ONE;;;; 06F2;EXTENDED ARABIC-INDIC DIGIT TWO;Nd;0;EN;;2;2;2;N;EASTERN ARABIC-INDIC DIGIT TWO;;;; 06F3;EXTENDED ARABIC-INDIC DIGIT THREE;Nd;0;EN;;3;3;3;N;EASTERN ARABIC-INDIC DIGIT THREE;;;; 06F4;EXTENDED ARABIC-INDIC DIGIT FOUR;Nd;0;EN;;4;4;4;N;EASTERN ARABIC-INDIC DIGIT FOUR;;;; 06F5;EXTENDED ARABIC-INDIC DIGIT FIVE;Nd;0;EN;;5;5;5;N;EASTERN ARABIC-INDIC DIGIT FIVE;;;; 06F6;EXTENDED ARABIC-INDIC DIGIT SIX;Nd;0;EN;;6;6;6;N;EASTERN ARABIC-INDIC DIGIT SIX;;;; 06F7;EXTENDED ARABIC-INDIC DIGIT SEVEN;Nd;0;EN;;7;7;7;N;EASTERN ARABIC-INDIC DIGIT SEVEN;;;; 06F8;EXTENDED ARABIC-INDIC DIGIT EIGHT;Nd;0;EN;;8;8;8;N;EASTERN ARABIC-INDIC DIGIT EIGHT;;;; 06F9;EXTENDED ARABIC-INDIC DIGIT NINE;Nd;0;EN;;9;9;9;N;EASTERN ARABIC-INDIC DIGIT NINE;;;; 06FA;ARABIC LETTER SHEEN WITH DOT BELOW;Lo;0;AL;;;;;N;;;;; 06FB;ARABIC LETTER DAD WITH DOT BELOW;Lo;0;AL;;;;;N;;;;; 06FC;ARABIC LETTER GHAIN WITH DOT BELOW;Lo;0;AL;;;;;N;;;;; 06FD;ARABIC SIGN SINDHI AMPERSAND;So;0;AL;;;;;N;;;;; 06FE;ARABIC SIGN SINDHI POSTPOSITION MEN;So;0;AL;;;;;N;;;;; 06FF;ARABIC LETTER HEH WITH INVERTED V;Lo;0;AL;;;;;N;;;;; 0700;SYRIAC END OF PARAGRAPH;Po;0;AL;;;;;N;;;;; 0701;SYRIAC SUPRALINEAR FULL STOP;Po;0;AL;;;;;N;;;;; 0702;SYRIAC SUBLINEAR FULL STOP;Po;0;AL;;;;;N;;;;; 0703;SYRIAC SUPRALINEAR COLON;Po;0;AL;;;;;N;;;;; 0704;SYRIAC SUBLINEAR COLON;Po;0;AL;;;;;N;;;;; 0705;SYRIAC HORIZONTAL COLON;Po;0;AL;;;;;N;;;;; 0706;SYRIAC COLON SKEWED LEFT;Po;0;AL;;;;;N;;;;; 0707;SYRIAC COLON SKEWED RIGHT;Po;0;AL;;;;;N;;;;; 0708;SYRIAC SUPRALINEAR COLON SKEWED LEFT;Po;0;AL;;;;;N;;;;; 0709;SYRIAC SUBLINEAR COLON SKEWED RIGHT;Po;0;AL;;;;;N;;;;; 070A;SYRIAC CONTRACTION;Po;0;AL;;;;;N;;;;; 070B;SYRIAC HARKLEAN OBELUS;Po;0;AL;;;;;N;;;;; 070C;SYRIAC HARKLEAN METOBELUS;Po;0;AL;;;;;N;;;;; 070D;SYRIAC HARKLEAN ASTERISCUS;Po;0;AL;;;;;N;;;;; 070F;SYRIAC ABBREVIATION MARK;Cf;0;BN;;;;;N;;;;; 0710;SYRIAC LETTER ALAPH;Lo;0;AL;;;;;N;;;;; 0711;SYRIAC LETTER SUPERSCRIPT ALAPH;Mn;36;NSM;;;;;N;;;;; 0712;SYRIAC LETTER BETH;Lo;0;AL;;;;;N;;;;; 0713;SYRIAC LETTER GAMAL;Lo;0;AL;;;;;N;;;;; 0714;SYRIAC LETTER GAMAL GARSHUNI;Lo;0;AL;;;;;N;;;;; 0715;SYRIAC LETTER DALATH;Lo;0;AL;;;;;N;;;;; 0716;SYRIAC LETTER DOTLESS DALATH RISH;Lo;0;AL;;;;;N;;;;; 0717;SYRIAC LETTER HE;Lo;0;AL;;;;;N;;;;; 0718;SYRIAC LETTER WAW;Lo;0;AL;;;;;N;;;;; 0719;SYRIAC LETTER ZAIN;Lo;0;AL;;;;;N;;;;; 071A;SYRIAC LETTER HETH;Lo;0;AL;;;;;N;;;;; 071B;SYRIAC LETTER TETH;Lo;0;AL;;;;;N;;;;; 071C;SYRIAC LETTER TETH GARSHUNI;Lo;0;AL;;;;;N;;;;; 071D;SYRIAC LETTER YUDH;Lo;0;AL;;;;;N;;;;; 071E;SYRIAC LETTER YUDH HE;Lo;0;AL;;;;;N;;;;; 071F;SYRIAC LETTER KAPH;Lo;0;AL;;;;;N;;;;; 0720;SYRIAC LETTER LAMADH;Lo;0;AL;;;;;N;;;;; 0721;SYRIAC LETTER MIM;Lo;0;AL;;;;;N;;;;; 0722;SYRIAC LETTER NUN;Lo;0;AL;;;;;N;;;;; 0723;SYRIAC LETTER SEMKATH;Lo;0;AL;;;;;N;;;;; 0724;SYRIAC LETTER FINAL SEMKATH;Lo;0;AL;;;;;N;;;;; 0725;SYRIAC LETTER E;Lo;0;AL;;;;;N;;;;; 0726;SYRIAC LETTER PE;Lo;0;AL;;;;;N;;;;; 0727;SYRIAC LETTER REVERSED PE;Lo;0;AL;;;;;N;;;;; 0728;SYRIAC LETTER SADHE;Lo;0;AL;;;;;N;;;;; 0729;SYRIAC LETTER QAPH;Lo;0;AL;;;;;N;;;;; 072A;SYRIAC LETTER RISH;Lo;0;AL;;;;;N;;;;; 072B;SYRIAC LETTER SHIN;Lo;0;AL;;;;;N;;;;; 072C;SYRIAC LETTER TAW;Lo;0;AL;;;;;N;;;;; 072D;SYRIAC LETTER PERSIAN BHETH;Lo;0;AL;;;;;N;;;;; 072E;SYRIAC LETTER PERSIAN GHAMAL;Lo;0;AL;;;;;N;;;;; 072F;SYRIAC LETTER PERSIAN DHALATH;Lo;0;AL;;;;;N;;;;; 0730;SYRIAC PTHAHA ABOVE;Mn;230;NSM;;;;;N;;;;; 0731;SYRIAC PTHAHA BELOW;Mn;220;NSM;;;;;N;;;;; 0732;SYRIAC PTHAHA DOTTED;Mn;230;NSM;;;;;N;;;;; 0733;SYRIAC ZQAPHA ABOVE;Mn;230;NSM;;;;;N;;;;; 0734;SYRIAC ZQAPHA BELOW;Mn;220;NSM;;;;;N;;;;; 0735;SYRIAC ZQAPHA DOTTED;Mn;230;NSM;;;;;N;;;;; 0736;SYRIAC RBASA ABOVE;Mn;230;NSM;;;;;N;;;;; 0737;SYRIAC RBASA BELOW;Mn;220;NSM;;;;;N;;;;; 0738;SYRIAC DOTTED ZLAMA HORIZONTAL;Mn;220;NSM;;;;;N;;;;; 0739;SYRIAC DOTTED ZLAMA ANGULAR;Mn;220;NSM;;;;;N;;;;; 073A;SYRIAC HBASA ABOVE;Mn;230;NSM;;;;;N;;;;; 073B;SYRIAC HBASA BELOW;Mn;220;NSM;;;;;N;;;;; 073C;SYRIAC HBASA-ESASA DOTTED;Mn;220;NSM;;;;;N;;;;; 073D;SYRIAC ESASA ABOVE;Mn;230;NSM;;;;;N;;;;; 073E;SYRIAC ESASA BELOW;Mn;220;NSM;;;;;N;;;;; 073F;SYRIAC RWAHA;Mn;230;NSM;;;;;N;;;;; 0740;SYRIAC FEMININE DOT;Mn;230;NSM;;;;;N;;;;; 0741;SYRIAC QUSHSHAYA;Mn;230;NSM;;;;;N;;;;; 0742;SYRIAC RUKKAKHA;Mn;220;NSM;;;;;N;;;;; 0743;SYRIAC TWO VERTICAL DOTS ABOVE;Mn;230;NSM;;;;;N;;;;; 0744;SYRIAC TWO VERTICAL DOTS BELOW;Mn;220;NSM;;;;;N;;;;; 0745;SYRIAC THREE DOTS ABOVE;Mn;230;NSM;;;;;N;;;;; 0746;SYRIAC THREE DOTS BELOW;Mn;220;NSM;;;;;N;;;;; 0747;SYRIAC OBLIQUE LINE ABOVE;Mn;230;NSM;;;;;N;;;;; 0748;SYRIAC OBLIQUE LINE BELOW;Mn;220;NSM;;;;;N;;;;; 0749;SYRIAC MUSIC;Mn;230;NSM;;;;;N;;;;; 074A;SYRIAC BARREKH;Mn;230;NSM;;;;;N;;;;; 074D;SYRIAC LETTER SOGDIAN ZHAIN;Lo;0;AL;;;;;N;;;;; 074E;SYRIAC LETTER SOGDIAN KHAPH;Lo;0;AL;;;;;N;;;;; 074F;SYRIAC LETTER SOGDIAN FE;Lo;0;AL;;;;;N;;;;; 0780;THAANA LETTER HAA;Lo;0;AL;;;;;N;;;;; 0781;THAANA LETTER SHAVIYANI;Lo;0;AL;;;;;N;;;;; 0782;THAANA LETTER NOONU;Lo;0;AL;;;;;N;;;;; 0783;THAANA LETTER RAA;Lo;0;AL;;;;;N;;;;; 0784;THAANA LETTER BAA;Lo;0;AL;;;;;N;;;;; 0785;THAANA LETTER LHAVIYANI;Lo;0;AL;;;;;N;;;;; 0786;THAANA LETTER KAAFU;Lo;0;AL;;;;;N;;;;; 0787;THAANA LETTER ALIFU;Lo;0;AL;;;;;N;;;;; 0788;THAANA LETTER VAAVU;Lo;0;AL;;;;;N;;;;; 0789;THAANA LETTER MEEMU;Lo;0;AL;;;;;N;;;;; 078A;THAANA LETTER FAAFU;Lo;0;AL;;;;;N;;;;; 078B;THAANA LETTER DHAALU;Lo;0;AL;;;;;N;;;;; 078C;THAANA LETTER THAA;Lo;0;AL;;;;;N;;;;; 078D;THAANA LETTER LAAMU;Lo;0;AL;;;;;N;;;;; 078E;THAANA LETTER GAAFU;Lo;0;AL;;;;;N;;;;; 078F;THAANA LETTER GNAVIYANI;Lo;0;AL;;;;;N;;;;; 0790;THAANA LETTER SEENU;Lo;0;AL;;;;;N;;;;; 0791;THAANA LETTER DAVIYANI;Lo;0;AL;;;;;N;;;;; 0792;THAANA LETTER ZAVIYANI;Lo;0;AL;;;;;N;;;;; 0793;THAANA LETTER TAVIYANI;Lo;0;AL;;;;;N;;;;; 0794;THAANA LETTER YAA;Lo;0;AL;;;;;N;;;;; 0795;THAANA LETTER PAVIYANI;Lo;0;AL;;;;;N;;;;; 0796;THAANA LETTER JAVIYANI;Lo;0;AL;;;;;N;;;;; 0797;THAANA LETTER CHAVIYANI;Lo;0;AL;;;;;N;;;;; 0798;THAANA LETTER TTAA;Lo;0;AL;;;;;N;;;;; 0799;THAANA LETTER HHAA;Lo;0;AL;;;;;N;;;;; 079A;THAANA LETTER KHAA;Lo;0;AL;;;;;N;;;;; 079B;THAANA LETTER THAALU;Lo;0;AL;;;;;N;;;;; 079C;THAANA LETTER ZAA;Lo;0;AL;;;;;N;;;;; 079D;THAANA LETTER SHEENU;Lo;0;AL;;;;;N;;;;; 079E;THAANA LETTER SAADHU;Lo;0;AL;;;;;N;;;;; 079F;THAANA LETTER DAADHU;Lo;0;AL;;;;;N;;;;; 07A0;THAANA LETTER TO;Lo;0;AL;;;;;N;;;;; 07A1;THAANA LETTER ZO;Lo;0;AL;;;;;N;;;;; 07A2;THAANA LETTER AINU;Lo;0;AL;;;;;N;;;;; 07A3;THAANA LETTER GHAINU;Lo;0;AL;;;;;N;;;;; 07A4;THAANA LETTER QAAFU;Lo;0;AL;;;;;N;;;;; 07A5;THAANA LETTER WAAVU;Lo;0;AL;;;;;N;;;;; 07A6;THAANA ABAFILI;Mn;0;NSM;;;;;N;;;;; 07A7;THAANA AABAAFILI;Mn;0;NSM;;;;;N;;;;; 07A8;THAANA IBIFILI;Mn;0;NSM;;;;;N;;;;; 07A9;THAANA EEBEEFILI;Mn;0;NSM;;;;;N;;;;; 07AA;THAANA UBUFILI;Mn;0;NSM;;;;;N;;;;; 07AB;THAANA OOBOOFILI;Mn;0;NSM;;;;;N;;;;; 07AC;THAANA EBEFILI;Mn;0;NSM;;;;;N;;;;; 07AD;THAANA EYBEYFILI;Mn;0;NSM;;;;;N;;;;; 07AE;THAANA OBOFILI;Mn;0;NSM;;;;;N;;;;; 07AF;THAANA OABOAFILI;Mn;0;NSM;;;;;N;;;;; 07B0;THAANA SUKUN;Mn;0;NSM;;;;;N;;;;; 07B1;THAANA LETTER NAA;Lo;0;AL;;;;;N;;;;; 0901;DEVANAGARI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; 0902;DEVANAGARI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; 0903;DEVANAGARI SIGN VISARGA;Mc;0;L;;;;;N;;;;; 0904;DEVANAGARI LETTER SHORT A;Lo;0;L;;;;;N;;;;; 0905;DEVANAGARI LETTER A;Lo;0;L;;;;;N;;;;; 0906;DEVANAGARI LETTER AA;Lo;0;L;;;;;N;;;;; 0907;DEVANAGARI LETTER I;Lo;0;L;;;;;N;;;;; 0908;DEVANAGARI LETTER II;Lo;0;L;;;;;N;;;;; 0909;DEVANAGARI LETTER U;Lo;0;L;;;;;N;;;;; 090A;DEVANAGARI LETTER UU;Lo;0;L;;;;;N;;;;; 090B;DEVANAGARI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; 090C;DEVANAGARI LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; 090D;DEVANAGARI LETTER CANDRA E;Lo;0;L;;;;;N;;;;; 090E;DEVANAGARI LETTER SHORT E;Lo;0;L;;;;;N;;;;; 090F;DEVANAGARI LETTER E;Lo;0;L;;;;;N;;;;; 0910;DEVANAGARI LETTER AI;Lo;0;L;;;;;N;;;;; 0911;DEVANAGARI LETTER CANDRA O;Lo;0;L;;;;;N;;;;; 0912;DEVANAGARI LETTER SHORT O;Lo;0;L;;;;;N;;;;; 0913;DEVANAGARI LETTER O;Lo;0;L;;;;;N;;;;; 0914;DEVANAGARI LETTER AU;Lo;0;L;;;;;N;;;;; 0915;DEVANAGARI LETTER KA;Lo;0;L;;;;;N;;;;; 0916;DEVANAGARI LETTER KHA;Lo;0;L;;;;;N;;;;; 0917;DEVANAGARI LETTER GA;Lo;0;L;;;;;N;;;;; 0918;DEVANAGARI LETTER GHA;Lo;0;L;;;;;N;;;;; 0919;DEVANAGARI LETTER NGA;Lo;0;L;;;;;N;;;;; 091A;DEVANAGARI LETTER CA;Lo;0;L;;;;;N;;;;; 091B;DEVANAGARI LETTER CHA;Lo;0;L;;;;;N;;;;; 091C;DEVANAGARI LETTER JA;Lo;0;L;;;;;N;;;;; 091D;DEVANAGARI LETTER JHA;Lo;0;L;;;;;N;;;;; 091E;DEVANAGARI LETTER NYA;Lo;0;L;;;;;N;;;;; 091F;DEVANAGARI LETTER TTA;Lo;0;L;;;;;N;;;;; 0920;DEVANAGARI LETTER TTHA;Lo;0;L;;;;;N;;;;; 0921;DEVANAGARI LETTER DDA;Lo;0;L;;;;;N;;;;; 0922;DEVANAGARI LETTER DDHA;Lo;0;L;;;;;N;;;;; 0923;DEVANAGARI LETTER NNA;Lo;0;L;;;;;N;;;;; 0924;DEVANAGARI LETTER TA;Lo;0;L;;;;;N;;;;; 0925;DEVANAGARI LETTER THA;Lo;0;L;;;;;N;;;;; 0926;DEVANAGARI LETTER DA;Lo;0;L;;;;;N;;;;; 0927;DEVANAGARI LETTER DHA;Lo;0;L;;;;;N;;;;; 0928;DEVANAGARI LETTER NA;Lo;0;L;;;;;N;;;;; 0929;DEVANAGARI LETTER NNNA;Lo;0;L;0928 093C;;;;N;;;;; 092A;DEVANAGARI LETTER PA;Lo;0;L;;;;;N;;;;; 092B;DEVANAGARI LETTER PHA;Lo;0;L;;;;;N;;;;; 092C;DEVANAGARI LETTER BA;Lo;0;L;;;;;N;;;;; 092D;DEVANAGARI LETTER BHA;Lo;0;L;;;;;N;;;;; 092E;DEVANAGARI LETTER MA;Lo;0;L;;;;;N;;;;; 092F;DEVANAGARI LETTER YA;Lo;0;L;;;;;N;;;;; 0930;DEVANAGARI LETTER RA;Lo;0;L;;;;;N;;;;; 0931;DEVANAGARI LETTER RRA;Lo;0;L;0930 093C;;;;N;;;;; 0932;DEVANAGARI LETTER LA;Lo;0;L;;;;;N;;;;; 0933;DEVANAGARI LETTER LLA;Lo;0;L;;;;;N;;;;; 0934;DEVANAGARI LETTER LLLA;Lo;0;L;0933 093C;;;;N;;;;; 0935;DEVANAGARI LETTER VA;Lo;0;L;;;;;N;;;;; 0936;DEVANAGARI LETTER SHA;Lo;0;L;;;;;N;;;;; 0937;DEVANAGARI LETTER SSA;Lo;0;L;;;;;N;;;;; 0938;DEVANAGARI LETTER SA;Lo;0;L;;;;;N;;;;; 0939;DEVANAGARI LETTER HA;Lo;0;L;;;;;N;;;;; 093C;DEVANAGARI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; 093D;DEVANAGARI SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;; 093E;DEVANAGARI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; 093F;DEVANAGARI VOWEL SIGN I;Mc;0;L;;;;;N;;;;; 0940;DEVANAGARI VOWEL SIGN II;Mc;0;L;;;;;N;;;;; 0941;DEVANAGARI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; 0942;DEVANAGARI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; 0943;DEVANAGARI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; 0944;DEVANAGARI VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;; 0945;DEVANAGARI VOWEL SIGN CANDRA E;Mn;0;NSM;;;;;N;;;;; 0946;DEVANAGARI VOWEL SIGN SHORT E;Mn;0;NSM;;;;;N;;;;; 0947;DEVANAGARI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; 0948;DEVANAGARI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; 0949;DEVANAGARI VOWEL SIGN CANDRA O;Mc;0;L;;;;;N;;;;; 094A;DEVANAGARI VOWEL SIGN SHORT O;Mc;0;L;;;;;N;;;;; 094B;DEVANAGARI VOWEL SIGN O;Mc;0;L;;;;;N;;;;; 094C;DEVANAGARI VOWEL SIGN AU;Mc;0;L;;;;;N;;;;; 094D;DEVANAGARI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; 0950;DEVANAGARI OM;Lo;0;L;;;;;N;;;;; 0951;DEVANAGARI STRESS SIGN UDATTA;Mn;230;NSM;;;;;N;;;;; 0952;DEVANAGARI STRESS SIGN ANUDATTA;Mn;220;NSM;;;;;N;;;;; 0953;DEVANAGARI GRAVE ACCENT;Mn;230;NSM;;;;;N;;;;; 0954;DEVANAGARI ACUTE ACCENT;Mn;230;NSM;;;;;N;;;;; 0958;DEVANAGARI LETTER QA;Lo;0;L;0915 093C;;;;N;;;;; 0959;DEVANAGARI LETTER KHHA;Lo;0;L;0916 093C;;;;N;;;;; 095A;DEVANAGARI LETTER GHHA;Lo;0;L;0917 093C;;;;N;;;;; 095B;DEVANAGARI LETTER ZA;Lo;0;L;091C 093C;;;;N;;;;; 095C;DEVANAGARI LETTER DDDHA;Lo;0;L;0921 093C;;;;N;;;;; 095D;DEVANAGARI LETTER RHA;Lo;0;L;0922 093C;;;;N;;;;; 095E;DEVANAGARI LETTER FA;Lo;0;L;092B 093C;;;;N;;;;; 095F;DEVANAGARI LETTER YYA;Lo;0;L;092F 093C;;;;N;;;;; 0960;DEVANAGARI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; 0961;DEVANAGARI LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; 0962;DEVANAGARI VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; 0963;DEVANAGARI VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;; 0964;DEVANAGARI DANDA;Po;0;L;;;;;N;;;;; 0965;DEVANAGARI DOUBLE DANDA;Po;0;L;;;;;N;;;;; 0966;DEVANAGARI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 0967;DEVANAGARI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0968;DEVANAGARI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0969;DEVANAGARI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 096A;DEVANAGARI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 096B;DEVANAGARI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 096C;DEVANAGARI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 096D;DEVANAGARI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 096E;DEVANAGARI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 096F;DEVANAGARI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0970;DEVANAGARI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;; 0981;BENGALI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; 0982;BENGALI SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; 0983;BENGALI SIGN VISARGA;Mc;0;L;;;;;N;;;;; 0985;BENGALI LETTER A;Lo;0;L;;;;;N;;;;; 0986;BENGALI LETTER AA;Lo;0;L;;;;;N;;;;; 0987;BENGALI LETTER I;Lo;0;L;;;;;N;;;;; 0988;BENGALI LETTER II;Lo;0;L;;;;;N;;;;; 0989;BENGALI LETTER U;Lo;0;L;;;;;N;;;;; 098A;BENGALI LETTER UU;Lo;0;L;;;;;N;;;;; 098B;BENGALI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; 098C;BENGALI LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; 098F;BENGALI LETTER E;Lo;0;L;;;;;N;;;;; 0990;BENGALI LETTER AI;Lo;0;L;;;;;N;;;;; 0993;BENGALI LETTER O;Lo;0;L;;;;;N;;;;; 0994;BENGALI LETTER AU;Lo;0;L;;;;;N;;;;; 0995;BENGALI LETTER KA;Lo;0;L;;;;;N;;;;; 0996;BENGALI LETTER KHA;Lo;0;L;;;;;N;;;;; 0997;BENGALI LETTER GA;Lo;0;L;;;;;N;;;;; 0998;BENGALI LETTER GHA;Lo;0;L;;;;;N;;;;; 0999;BENGALI LETTER NGA;Lo;0;L;;;;;N;;;;; 099A;BENGALI LETTER CA;Lo;0;L;;;;;N;;;;; 099B;BENGALI LETTER CHA;Lo;0;L;;;;;N;;;;; 099C;BENGALI LETTER JA;Lo;0;L;;;;;N;;;;; 099D;BENGALI LETTER JHA;Lo;0;L;;;;;N;;;;; 099E;BENGALI LETTER NYA;Lo;0;L;;;;;N;;;;; 099F;BENGALI LETTER TTA;Lo;0;L;;;;;N;;;;; 09A0;BENGALI LETTER TTHA;Lo;0;L;;;;;N;;;;; 09A1;BENGALI LETTER DDA;Lo;0;L;;;;;N;;;;; 09A2;BENGALI LETTER DDHA;Lo;0;L;;;;;N;;;;; 09A3;BENGALI LETTER NNA;Lo;0;L;;;;;N;;;;; 09A4;BENGALI LETTER TA;Lo;0;L;;;;;N;;;;; 09A5;BENGALI LETTER THA;Lo;0;L;;;;;N;;;;; 09A6;BENGALI LETTER DA;Lo;0;L;;;;;N;;;;; 09A7;BENGALI LETTER DHA;Lo;0;L;;;;;N;;;;; 09A8;BENGALI LETTER NA;Lo;0;L;;;;;N;;;;; 09AA;BENGALI LETTER PA;Lo;0;L;;;;;N;;;;; 09AB;BENGALI LETTER PHA;Lo;0;L;;;;;N;;;;; 09AC;BENGALI LETTER BA;Lo;0;L;;;;;N;;;;; 09AD;BENGALI LETTER BHA;Lo;0;L;;;;;N;;;;; 09AE;BENGALI LETTER MA;Lo;0;L;;;;;N;;;;; 09AF;BENGALI LETTER YA;Lo;0;L;;;;;N;;;;; 09B0;BENGALI LETTER RA;Lo;0;L;;;;;N;;;;; 09B2;BENGALI LETTER LA;Lo;0;L;;;;;N;;;;; 09B6;BENGALI LETTER SHA;Lo;0;L;;;;;N;;;;; 09B7;BENGALI LETTER SSA;Lo;0;L;;;;;N;;;;; 09B8;BENGALI LETTER SA;Lo;0;L;;;;;N;;;;; 09B9;BENGALI LETTER HA;Lo;0;L;;;;;N;;;;; 09BC;BENGALI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; 09BD;BENGALI SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;; 09BE;BENGALI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; 09BF;BENGALI VOWEL SIGN I;Mc;0;L;;;;;N;;;;; 09C0;BENGALI VOWEL SIGN II;Mc;0;L;;;;;N;;;;; 09C1;BENGALI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; 09C2;BENGALI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; 09C3;BENGALI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; 09C4;BENGALI VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;; 09C7;BENGALI VOWEL SIGN E;Mc;0;L;;;;;N;;;;; 09C8;BENGALI VOWEL SIGN AI;Mc;0;L;;;;;N;;;;; 09CB;BENGALI VOWEL SIGN O;Mc;0;L;09C7 09BE;;;;N;;;;; 09CC;BENGALI VOWEL SIGN AU;Mc;0;L;09C7 09D7;;;;N;;;;; 09CD;BENGALI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; 09D7;BENGALI AU LENGTH MARK;Mc;0;L;;;;;N;;;;; 09DC;BENGALI LETTER RRA;Lo;0;L;09A1 09BC;;;;N;;;;; 09DD;BENGALI LETTER RHA;Lo;0;L;09A2 09BC;;;;N;;;;; 09DF;BENGALI LETTER YYA;Lo;0;L;09AF 09BC;;;;N;;;;; 09E0;BENGALI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; 09E1;BENGALI LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; 09E2;BENGALI VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; 09E3;BENGALI VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;; 09E6;BENGALI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 09E7;BENGALI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 09E8;BENGALI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 09E9;BENGALI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 09EA;BENGALI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 09EB;BENGALI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 09EC;BENGALI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 09ED;BENGALI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 09EE;BENGALI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 09EF;BENGALI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 09F0;BENGALI LETTER RA WITH MIDDLE DIAGONAL;Lo;0;L;;;;;N;;Assamese;;; 09F1;BENGALI LETTER RA WITH LOWER DIAGONAL;Lo;0;L;;;;;N;BENGALI LETTER VA WITH LOWER DIAGONAL;Assamese;;; 09F2;BENGALI RUPEE MARK;Sc;0;ET;;;;;N;;;;; 09F3;BENGALI RUPEE SIGN;Sc;0;ET;;;;;N;;;;; 09F4;BENGALI CURRENCY NUMERATOR ONE;No;0;L;;;;1;N;;;;; 09F5;BENGALI CURRENCY NUMERATOR TWO;No;0;L;;;;2;N;;;;; 09F6;BENGALI CURRENCY NUMERATOR THREE;No;0;L;;;;3;N;;;;; 09F7;BENGALI CURRENCY NUMERATOR FOUR;No;0;L;;;;4;N;;;;; 09F8;BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR;No;0;L;;;;;N;;;;; 09F9;BENGALI CURRENCY DENOMINATOR SIXTEEN;No;0;L;;;;16;N;;;;; 09FA;BENGALI ISSHAR;So;0;L;;;;;N;;;;; 0A01;GURMUKHI SIGN ADAK BINDI;Mn;0;NSM;;;;;N;;;;; 0A02;GURMUKHI SIGN BINDI;Mn;0;NSM;;;;;N;;;;; 0A03;GURMUKHI SIGN VISARGA;Mc;0;L;;;;;N;;;;; 0A05;GURMUKHI LETTER A;Lo;0;L;;;;;N;;;;; 0A06;GURMUKHI LETTER AA;Lo;0;L;;;;;N;;;;; 0A07;GURMUKHI LETTER I;Lo;0;L;;;;;N;;;;; 0A08;GURMUKHI LETTER II;Lo;0;L;;;;;N;;;;; 0A09;GURMUKHI LETTER U;Lo;0;L;;;;;N;;;;; 0A0A;GURMUKHI LETTER UU;Lo;0;L;;;;;N;;;;; 0A0F;GURMUKHI LETTER EE;Lo;0;L;;;;;N;;;;; 0A10;GURMUKHI LETTER AI;Lo;0;L;;;;;N;;;;; 0A13;GURMUKHI LETTER OO;Lo;0;L;;;;;N;;;;; 0A14;GURMUKHI LETTER AU;Lo;0;L;;;;;N;;;;; 0A15;GURMUKHI LETTER KA;Lo;0;L;;;;;N;;;;; 0A16;GURMUKHI LETTER KHA;Lo;0;L;;;;;N;;;;; 0A17;GURMUKHI LETTER GA;Lo;0;L;;;;;N;;;;; 0A18;GURMUKHI LETTER GHA;Lo;0;L;;;;;N;;;;; 0A19;GURMUKHI LETTER NGA;Lo;0;L;;;;;N;;;;; 0A1A;GURMUKHI LETTER CA;Lo;0;L;;;;;N;;;;; 0A1B;GURMUKHI LETTER CHA;Lo;0;L;;;;;N;;;;; 0A1C;GURMUKHI LETTER JA;Lo;0;L;;;;;N;;;;; 0A1D;GURMUKHI LETTER JHA;Lo;0;L;;;;;N;;;;; 0A1E;GURMUKHI LETTER NYA;Lo;0;L;;;;;N;;;;; 0A1F;GURMUKHI LETTER TTA;Lo;0;L;;;;;N;;;;; 0A20;GURMUKHI LETTER TTHA;Lo;0;L;;;;;N;;;;; 0A21;GURMUKHI LETTER DDA;Lo;0;L;;;;;N;;;;; 0A22;GURMUKHI LETTER DDHA;Lo;0;L;;;;;N;;;;; 0A23;GURMUKHI LETTER NNA;Lo;0;L;;;;;N;;;;; 0A24;GURMUKHI LETTER TA;Lo;0;L;;;;;N;;;;; 0A25;GURMUKHI LETTER THA;Lo;0;L;;;;;N;;;;; 0A26;GURMUKHI LETTER DA;Lo;0;L;;;;;N;;;;; 0A27;GURMUKHI LETTER DHA;Lo;0;L;;;;;N;;;;; 0A28;GURMUKHI LETTER NA;Lo;0;L;;;;;N;;;;; 0A2A;GURMUKHI LETTER PA;Lo;0;L;;;;;N;;;;; 0A2B;GURMUKHI LETTER PHA;Lo;0;L;;;;;N;;;;; 0A2C;GURMUKHI LETTER BA;Lo;0;L;;;;;N;;;;; 0A2D;GURMUKHI LETTER BHA;Lo;0;L;;;;;N;;;;; 0A2E;GURMUKHI LETTER MA;Lo;0;L;;;;;N;;;;; 0A2F;GURMUKHI LETTER YA;Lo;0;L;;;;;N;;;;; 0A30;GURMUKHI LETTER RA;Lo;0;L;;;;;N;;;;; 0A32;GURMUKHI LETTER LA;Lo;0;L;;;;;N;;;;; 0A33;GURMUKHI LETTER LLA;Lo;0;L;0A32 0A3C;;;;N;;;;; 0A35;GURMUKHI LETTER VA;Lo;0;L;;;;;N;;;;; 0A36;GURMUKHI LETTER SHA;Lo;0;L;0A38 0A3C;;;;N;;;;; 0A38;GURMUKHI LETTER SA;Lo;0;L;;;;;N;;;;; 0A39;GURMUKHI LETTER HA;Lo;0;L;;;;;N;;;;; 0A3C;GURMUKHI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; 0A3E;GURMUKHI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; 0A3F;GURMUKHI VOWEL SIGN I;Mc;0;L;;;;;N;;;;; 0A40;GURMUKHI VOWEL SIGN II;Mc;0;L;;;;;N;;;;; 0A41;GURMUKHI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; 0A42;GURMUKHI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; 0A47;GURMUKHI VOWEL SIGN EE;Mn;0;NSM;;;;;N;;;;; 0A48;GURMUKHI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; 0A4B;GURMUKHI VOWEL SIGN OO;Mn;0;NSM;;;;;N;;;;; 0A4C;GURMUKHI VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;; 0A4D;GURMUKHI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; 0A59;GURMUKHI LETTER KHHA;Lo;0;L;0A16 0A3C;;;;N;;;;; 0A5A;GURMUKHI LETTER GHHA;Lo;0;L;0A17 0A3C;;;;N;;;;; 0A5B;GURMUKHI LETTER ZA;Lo;0;L;0A1C 0A3C;;;;N;;;;; 0A5C;GURMUKHI LETTER RRA;Lo;0;L;;;;;N;;;;; 0A5E;GURMUKHI LETTER FA;Lo;0;L;0A2B 0A3C;;;;N;;;;; 0A66;GURMUKHI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 0A67;GURMUKHI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0A68;GURMUKHI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0A69;GURMUKHI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 0A6A;GURMUKHI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 0A6B;GURMUKHI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 0A6C;GURMUKHI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 0A6D;GURMUKHI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 0A6E;GURMUKHI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 0A6F;GURMUKHI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0A70;GURMUKHI TIPPI;Mn;0;NSM;;;;;N;;;;; 0A71;GURMUKHI ADDAK;Mn;0;NSM;;;;;N;;;;; 0A72;GURMUKHI IRI;Lo;0;L;;;;;N;;;;; 0A73;GURMUKHI URA;Lo;0;L;;;;;N;;;;; 0A74;GURMUKHI EK ONKAR;Lo;0;L;;;;;N;;;;; 0A81;GUJARATI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; 0A82;GUJARATI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; 0A83;GUJARATI SIGN VISARGA;Mc;0;L;;;;;N;;;;; 0A85;GUJARATI LETTER A;Lo;0;L;;;;;N;;;;; 0A86;GUJARATI LETTER AA;Lo;0;L;;;;;N;;;;; 0A87;GUJARATI LETTER I;Lo;0;L;;;;;N;;;;; 0A88;GUJARATI LETTER II;Lo;0;L;;;;;N;;;;; 0A89;GUJARATI LETTER U;Lo;0;L;;;;;N;;;;; 0A8A;GUJARATI LETTER UU;Lo;0;L;;;;;N;;;;; 0A8B;GUJARATI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; 0A8C;GUJARATI LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; 0A8D;GUJARATI VOWEL CANDRA E;Lo;0;L;;;;;N;;;;; 0A8F;GUJARATI LETTER E;Lo;0;L;;;;;N;;;;; 0A90;GUJARATI LETTER AI;Lo;0;L;;;;;N;;;;; 0A91;GUJARATI VOWEL CANDRA O;Lo;0;L;;;;;N;;;;; 0A93;GUJARATI LETTER O;Lo;0;L;;;;;N;;;;; 0A94;GUJARATI LETTER AU;Lo;0;L;;;;;N;;;;; 0A95;GUJARATI LETTER KA;Lo;0;L;;;;;N;;;;; 0A96;GUJARATI LETTER KHA;Lo;0;L;;;;;N;;;;; 0A97;GUJARATI LETTER GA;Lo;0;L;;;;;N;;;;; 0A98;GUJARATI LETTER GHA;Lo;0;L;;;;;N;;;;; 0A99;GUJARATI LETTER NGA;Lo;0;L;;;;;N;;;;; 0A9A;GUJARATI LETTER CA;Lo;0;L;;;;;N;;;;; 0A9B;GUJARATI LETTER CHA;Lo;0;L;;;;;N;;;;; 0A9C;GUJARATI LETTER JA;Lo;0;L;;;;;N;;;;; 0A9D;GUJARATI LETTER JHA;Lo;0;L;;;;;N;;;;; 0A9E;GUJARATI LETTER NYA;Lo;0;L;;;;;N;;;;; 0A9F;GUJARATI LETTER TTA;Lo;0;L;;;;;N;;;;; 0AA0;GUJARATI LETTER TTHA;Lo;0;L;;;;;N;;;;; 0AA1;GUJARATI LETTER DDA;Lo;0;L;;;;;N;;;;; 0AA2;GUJARATI LETTER DDHA;Lo;0;L;;;;;N;;;;; 0AA3;GUJARATI LETTER NNA;Lo;0;L;;;;;N;;;;; 0AA4;GUJARATI LETTER TA;Lo;0;L;;;;;N;;;;; 0AA5;GUJARATI LETTER THA;Lo;0;L;;;;;N;;;;; 0AA6;GUJARATI LETTER DA;Lo;0;L;;;;;N;;;;; 0AA7;GUJARATI LETTER DHA;Lo;0;L;;;;;N;;;;; 0AA8;GUJARATI LETTER NA;Lo;0;L;;;;;N;;;;; 0AAA;GUJARATI LETTER PA;Lo;0;L;;;;;N;;;;; 0AAB;GUJARATI LETTER PHA;Lo;0;L;;;;;N;;;;; 0AAC;GUJARATI LETTER BA;Lo;0;L;;;;;N;;;;; 0AAD;GUJARATI LETTER BHA;Lo;0;L;;;;;N;;;;; 0AAE;GUJARATI LETTER MA;Lo;0;L;;;;;N;;;;; 0AAF;GUJARATI LETTER YA;Lo;0;L;;;;;N;;;;; 0AB0;GUJARATI LETTER RA;Lo;0;L;;;;;N;;;;; 0AB2;GUJARATI LETTER LA;Lo;0;L;;;;;N;;;;; 0AB3;GUJARATI LETTER LLA;Lo;0;L;;;;;N;;;;; 0AB5;GUJARATI LETTER VA;Lo;0;L;;;;;N;;;;; 0AB6;GUJARATI LETTER SHA;Lo;0;L;;;;;N;;;;; 0AB7;GUJARATI LETTER SSA;Lo;0;L;;;;;N;;;;; 0AB8;GUJARATI LETTER SA;Lo;0;L;;;;;N;;;;; 0AB9;GUJARATI LETTER HA;Lo;0;L;;;;;N;;;;; 0ABC;GUJARATI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; 0ABD;GUJARATI SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;; 0ABE;GUJARATI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; 0ABF;GUJARATI VOWEL SIGN I;Mc;0;L;;;;;N;;;;; 0AC0;GUJARATI VOWEL SIGN II;Mc;0;L;;;;;N;;;;; 0AC1;GUJARATI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; 0AC2;GUJARATI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; 0AC3;GUJARATI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; 0AC4;GUJARATI VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;; 0AC5;GUJARATI VOWEL SIGN CANDRA E;Mn;0;NSM;;;;;N;;;;; 0AC7;GUJARATI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; 0AC8;GUJARATI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; 0AC9;GUJARATI VOWEL SIGN CANDRA O;Mc;0;L;;;;;N;;;;; 0ACB;GUJARATI VOWEL SIGN O;Mc;0;L;;;;;N;;;;; 0ACC;GUJARATI VOWEL SIGN AU;Mc;0;L;;;;;N;;;;; 0ACD;GUJARATI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; 0AD0;GUJARATI OM;Lo;0;L;;;;;N;;;;; 0AE0;GUJARATI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; 0AE1;GUJARATI LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; 0AE2;GUJARATI VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; 0AE3;GUJARATI VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;; 0AE6;GUJARATI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 0AE7;GUJARATI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0AE8;GUJARATI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0AE9;GUJARATI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 0AEA;GUJARATI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 0AEB;GUJARATI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 0AEC;GUJARATI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 0AED;GUJARATI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 0AEE;GUJARATI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 0AEF;GUJARATI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0AF1;GUJARATI RUPEE SIGN;Sc;0;ET;;;;;N;;;;; 0B01;ORIYA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; 0B02;ORIYA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; 0B03;ORIYA SIGN VISARGA;Mc;0;L;;;;;N;;;;; 0B05;ORIYA LETTER A;Lo;0;L;;;;;N;;;;; 0B06;ORIYA LETTER AA;Lo;0;L;;;;;N;;;;; 0B07;ORIYA LETTER I;Lo;0;L;;;;;N;;;;; 0B08;ORIYA LETTER II;Lo;0;L;;;;;N;;;;; 0B09;ORIYA LETTER U;Lo;0;L;;;;;N;;;;; 0B0A;ORIYA LETTER UU;Lo;0;L;;;;;N;;;;; 0B0B;ORIYA LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; 0B0C;ORIYA LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; 0B0F;ORIYA LETTER E;Lo;0;L;;;;;N;;;;; 0B10;ORIYA LETTER AI;Lo;0;L;;;;;N;;;;; 0B13;ORIYA LETTER O;Lo;0;L;;;;;N;;;;; 0B14;ORIYA LETTER AU;Lo;0;L;;;;;N;;;;; 0B15;ORIYA LETTER KA;Lo;0;L;;;;;N;;;;; 0B16;ORIYA LETTER KHA;Lo;0;L;;;;;N;;;;; 0B17;ORIYA LETTER GA;Lo;0;L;;;;;N;;;;; 0B18;ORIYA LETTER GHA;Lo;0;L;;;;;N;;;;; 0B19;ORIYA LETTER NGA;Lo;0;L;;;;;N;;;;; 0B1A;ORIYA LETTER CA;Lo;0;L;;;;;N;;;;; 0B1B;ORIYA LETTER CHA;Lo;0;L;;;;;N;;;;; 0B1C;ORIYA LETTER JA;Lo;0;L;;;;;N;;;;; 0B1D;ORIYA LETTER JHA;Lo;0;L;;;;;N;;;;; 0B1E;ORIYA LETTER NYA;Lo;0;L;;;;;N;;;;; 0B1F;ORIYA LETTER TTA;Lo;0;L;;;;;N;;;;; 0B20;ORIYA LETTER TTHA;Lo;0;L;;;;;N;;;;; 0B21;ORIYA LETTER DDA;Lo;0;L;;;;;N;;;;; 0B22;ORIYA LETTER DDHA;Lo;0;L;;;;;N;;;;; 0B23;ORIYA LETTER NNA;Lo;0;L;;;;;N;;;;; 0B24;ORIYA LETTER TA;Lo;0;L;;;;;N;;;;; 0B25;ORIYA LETTER THA;Lo;0;L;;;;;N;;;;; 0B26;ORIYA LETTER DA;Lo;0;L;;;;;N;;;;; 0B27;ORIYA LETTER DHA;Lo;0;L;;;;;N;;;;; 0B28;ORIYA LETTER NA;Lo;0;L;;;;;N;;;;; 0B2A;ORIYA LETTER PA;Lo;0;L;;;;;N;;;;; 0B2B;ORIYA LETTER PHA;Lo;0;L;;;;;N;;;;; 0B2C;ORIYA LETTER BA;Lo;0;L;;;;;N;;;;; 0B2D;ORIYA LETTER BHA;Lo;0;L;;;;;N;;;;; 0B2E;ORIYA LETTER MA;Lo;0;L;;;;;N;;;;; 0B2F;ORIYA LETTER YA;Lo;0;L;;;;;N;;;;; 0B30;ORIYA LETTER RA;Lo;0;L;;;;;N;;;;; 0B32;ORIYA LETTER LA;Lo;0;L;;;;;N;;;;; 0B33;ORIYA LETTER LLA;Lo;0;L;;;;;N;;;;; 0B35;ORIYA LETTER VA;Lo;0;L;;;;;N;;;;; 0B36;ORIYA LETTER SHA;Lo;0;L;;;;;N;;;;; 0B37;ORIYA LETTER SSA;Lo;0;L;;;;;N;;;;; 0B38;ORIYA LETTER SA;Lo;0;L;;;;;N;;;;; 0B39;ORIYA LETTER HA;Lo;0;L;;;;;N;;;;; 0B3C;ORIYA SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; 0B3D;ORIYA SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;; 0B3E;ORIYA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; 0B3F;ORIYA VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; 0B40;ORIYA VOWEL SIGN II;Mc;0;L;;;;;N;;;;; 0B41;ORIYA VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; 0B42;ORIYA VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; 0B43;ORIYA VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; 0B47;ORIYA VOWEL SIGN E;Mc;0;L;;;;;N;;;;; 0B48;ORIYA VOWEL SIGN AI;Mc;0;L;0B47 0B56;;;;N;;;;; 0B4B;ORIYA VOWEL SIGN O;Mc;0;L;0B47 0B3E;;;;N;;;;; 0B4C;ORIYA VOWEL SIGN AU;Mc;0;L;0B47 0B57;;;;N;;;;; 0B4D;ORIYA SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; 0B56;ORIYA AI LENGTH MARK;Mn;0;NSM;;;;;N;;;;; 0B57;ORIYA AU LENGTH MARK;Mc;0;L;;;;;N;;;;; 0B5C;ORIYA LETTER RRA;Lo;0;L;0B21 0B3C;;;;N;;;;; 0B5D;ORIYA LETTER RHA;Lo;0;L;0B22 0B3C;;;;N;;;;; 0B5F;ORIYA LETTER YYA;Lo;0;L;;;;;N;;;;; 0B60;ORIYA LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; 0B61;ORIYA LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; 0B66;ORIYA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 0B67;ORIYA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0B68;ORIYA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0B69;ORIYA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 0B6A;ORIYA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 0B6B;ORIYA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 0B6C;ORIYA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 0B6D;ORIYA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 0B6E;ORIYA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 0B6F;ORIYA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0B70;ORIYA ISSHAR;So;0;L;;;;;N;;;;; 0B71;ORIYA LETTER WA;Lo;0;L;;;;;N;;;;; 0B82;TAMIL SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; 0B83;TAMIL SIGN VISARGA;Lo;0;L;;;;;N;;;;; 0B85;TAMIL LETTER A;Lo;0;L;;;;;N;;;;; 0B86;TAMIL LETTER AA;Lo;0;L;;;;;N;;;;; 0B87;TAMIL LETTER I;Lo;0;L;;;;;N;;;;; 0B88;TAMIL LETTER II;Lo;0;L;;;;;N;;;;; 0B89;TAMIL LETTER U;Lo;0;L;;;;;N;;;;; 0B8A;TAMIL LETTER UU;Lo;0;L;;;;;N;;;;; 0B8E;TAMIL LETTER E;Lo;0;L;;;;;N;;;;; 0B8F;TAMIL LETTER EE;Lo;0;L;;;;;N;;;;; 0B90;TAMIL LETTER AI;Lo;0;L;;;;;N;;;;; 0B92;TAMIL LETTER O;Lo;0;L;;;;;N;;;;; 0B93;TAMIL LETTER OO;Lo;0;L;;;;;N;;;;; 0B94;TAMIL LETTER AU;Lo;0;L;0B92 0BD7;;;;N;;;;; 0B95;TAMIL LETTER KA;Lo;0;L;;;;;N;;;;; 0B99;TAMIL LETTER NGA;Lo;0;L;;;;;N;;;;; 0B9A;TAMIL LETTER CA;Lo;0;L;;;;;N;;;;; 0B9C;TAMIL LETTER JA;Lo;0;L;;;;;N;;;;; 0B9E;TAMIL LETTER NYA;Lo;0;L;;;;;N;;;;; 0B9F;TAMIL LETTER TTA;Lo;0;L;;;;;N;;;;; 0BA3;TAMIL LETTER NNA;Lo;0;L;;;;;N;;;;; 0BA4;TAMIL LETTER TA;Lo;0;L;;;;;N;;;;; 0BA8;TAMIL LETTER NA;Lo;0;L;;;;;N;;;;; 0BA9;TAMIL LETTER NNNA;Lo;0;L;;;;;N;;;;; 0BAA;TAMIL LETTER PA;Lo;0;L;;;;;N;;;;; 0BAE;TAMIL LETTER MA;Lo;0;L;;;;;N;;;;; 0BAF;TAMIL LETTER YA;Lo;0;L;;;;;N;;;;; 0BB0;TAMIL LETTER RA;Lo;0;L;;;;;N;;;;; 0BB1;TAMIL LETTER RRA;Lo;0;L;;;;;N;;;;; 0BB2;TAMIL LETTER LA;Lo;0;L;;;;;N;;;;; 0BB3;TAMIL LETTER LLA;Lo;0;L;;;;;N;;;;; 0BB4;TAMIL LETTER LLLA;Lo;0;L;;;;;N;;;;; 0BB5;TAMIL LETTER VA;Lo;0;L;;;;;N;;;;; 0BB7;TAMIL LETTER SSA;Lo;0;L;;;;;N;;;;; 0BB8;TAMIL LETTER SA;Lo;0;L;;;;;N;;;;; 0BB9;TAMIL LETTER HA;Lo;0;L;;;;;N;;;;; 0BBE;TAMIL VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; 0BBF;TAMIL VOWEL SIGN I;Mc;0;L;;;;;N;;;;; 0BC0;TAMIL VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;; 0BC1;TAMIL VOWEL SIGN U;Mc;0;L;;;;;N;;;;; 0BC2;TAMIL VOWEL SIGN UU;Mc;0;L;;;;;N;;;;; 0BC6;TAMIL VOWEL SIGN E;Mc;0;L;;;;;N;;;;; 0BC7;TAMIL VOWEL SIGN EE;Mc;0;L;;;;;N;;;;; 0BC8;TAMIL VOWEL SIGN AI;Mc;0;L;;;;;N;;;;; 0BCA;TAMIL VOWEL SIGN O;Mc;0;L;0BC6 0BBE;;;;N;;;;; 0BCB;TAMIL VOWEL SIGN OO;Mc;0;L;0BC7 0BBE;;;;N;;;;; 0BCC;TAMIL VOWEL SIGN AU;Mc;0;L;0BC6 0BD7;;;;N;;;;; 0BCD;TAMIL SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; 0BD7;TAMIL AU LENGTH MARK;Mc;0;L;;;;;N;;;;; 0BE7;TAMIL DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0BE8;TAMIL DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0BE9;TAMIL DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 0BEA;TAMIL DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 0BEB;TAMIL DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 0BEC;TAMIL DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 0BED;TAMIL DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 0BEE;TAMIL DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 0BEF;TAMIL DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0BF0;TAMIL NUMBER TEN;No;0;L;;;;10;N;;;;; 0BF1;TAMIL NUMBER ONE HUNDRED;No;0;L;;;;100;N;;;;; 0BF2;TAMIL NUMBER ONE THOUSAND;No;0;L;;;;1000;N;;;;; 0BF3;TAMIL DAY SIGN;So;0;ON;;;;;N;;Naal;;; 0BF4;TAMIL MONTH SIGN;So;0;ON;;;;;N;;Maatham;;; 0BF5;TAMIL YEAR SIGN;So;0;ON;;;;;N;;Varudam;;; 0BF6;TAMIL DEBIT SIGN;So;0;ON;;;;;N;;Patru;;; 0BF7;TAMIL CREDIT SIGN;So;0;ON;;;;;N;;Varavu;;; 0BF8;TAMIL AS ABOVE SIGN;So;0;ON;;;;;N;;Merpadi;;; 0BF9;TAMIL RUPEE SIGN;Sc;0;ET;;;;;N;;Rupai;;; 0BFA;TAMIL NUMBER SIGN;So;0;ON;;;;;N;;Enn;;; 0C01;TELUGU SIGN CANDRABINDU;Mc;0;L;;;;;N;;;;; 0C02;TELUGU SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; 0C03;TELUGU SIGN VISARGA;Mc;0;L;;;;;N;;;;; 0C05;TELUGU LETTER A;Lo;0;L;;;;;N;;;;; 0C06;TELUGU LETTER AA;Lo;0;L;;;;;N;;;;; 0C07;TELUGU LETTER I;Lo;0;L;;;;;N;;;;; 0C08;TELUGU LETTER II;Lo;0;L;;;;;N;;;;; 0C09;TELUGU LETTER U;Lo;0;L;;;;;N;;;;; 0C0A;TELUGU LETTER UU;Lo;0;L;;;;;N;;;;; 0C0B;TELUGU LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; 0C0C;TELUGU LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; 0C0E;TELUGU LETTER E;Lo;0;L;;;;;N;;;;; 0C0F;TELUGU LETTER EE;Lo;0;L;;;;;N;;;;; 0C10;TELUGU LETTER AI;Lo;0;L;;;;;N;;;;; 0C12;TELUGU LETTER O;Lo;0;L;;;;;N;;;;; 0C13;TELUGU LETTER OO;Lo;0;L;;;;;N;;;;; 0C14;TELUGU LETTER AU;Lo;0;L;;;;;N;;;;; 0C15;TELUGU LETTER KA;Lo;0;L;;;;;N;;;;; 0C16;TELUGU LETTER KHA;Lo;0;L;;;;;N;;;;; 0C17;TELUGU LETTER GA;Lo;0;L;;;;;N;;;;; 0C18;TELUGU LETTER GHA;Lo;0;L;;;;;N;;;;; 0C19;TELUGU LETTER NGA;Lo;0;L;;;;;N;;;;; 0C1A;TELUGU LETTER CA;Lo;0;L;;;;;N;;;;; 0C1B;TELUGU LETTER CHA;Lo;0;L;;;;;N;;;;; 0C1C;TELUGU LETTER JA;Lo;0;L;;;;;N;;;;; 0C1D;TELUGU LETTER JHA;Lo;0;L;;;;;N;;;;; 0C1E;TELUGU LETTER NYA;Lo;0;L;;;;;N;;;;; 0C1F;TELUGU LETTER TTA;Lo;0;L;;;;;N;;;;; 0C20;TELUGU LETTER TTHA;Lo;0;L;;;;;N;;;;; 0C21;TELUGU LETTER DDA;Lo;0;L;;;;;N;;;;; 0C22;TELUGU LETTER DDHA;Lo;0;L;;;;;N;;;;; 0C23;TELUGU LETTER NNA;Lo;0;L;;;;;N;;;;; 0C24;TELUGU LETTER TA;Lo;0;L;;;;;N;;;;; 0C25;TELUGU LETTER THA;Lo;0;L;;;;;N;;;;; 0C26;TELUGU LETTER DA;Lo;0;L;;;;;N;;;;; 0C27;TELUGU LETTER DHA;Lo;0;L;;;;;N;;;;; 0C28;TELUGU LETTER NA;Lo;0;L;;;;;N;;;;; 0C2A;TELUGU LETTER PA;Lo;0;L;;;;;N;;;;; 0C2B;TELUGU LETTER PHA;Lo;0;L;;;;;N;;;;; 0C2C;TELUGU LETTER BA;Lo;0;L;;;;;N;;;;; 0C2D;TELUGU LETTER BHA;Lo;0;L;;;;;N;;;;; 0C2E;TELUGU LETTER MA;Lo;0;L;;;;;N;;;;; 0C2F;TELUGU LETTER YA;Lo;0;L;;;;;N;;;;; 0C30;TELUGU LETTER RA;Lo;0;L;;;;;N;;;;; 0C31;TELUGU LETTER RRA;Lo;0;L;;;;;N;;;;; 0C32;TELUGU LETTER LA;Lo;0;L;;;;;N;;;;; 0C33;TELUGU LETTER LLA;Lo;0;L;;;;;N;;;;; 0C35;TELUGU LETTER VA;Lo;0;L;;;;;N;;;;; 0C36;TELUGU LETTER SHA;Lo;0;L;;;;;N;;;;; 0C37;TELUGU LETTER SSA;Lo;0;L;;;;;N;;;;; 0C38;TELUGU LETTER SA;Lo;0;L;;;;;N;;;;; 0C39;TELUGU LETTER HA;Lo;0;L;;;;;N;;;;; 0C3E;TELUGU VOWEL SIGN AA;Mn;0;NSM;;;;;N;;;;; 0C3F;TELUGU VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; 0C40;TELUGU VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;; 0C41;TELUGU VOWEL SIGN U;Mc;0;L;;;;;N;;;;; 0C42;TELUGU VOWEL SIGN UU;Mc;0;L;;;;;N;;;;; 0C43;TELUGU VOWEL SIGN VOCALIC R;Mc;0;L;;;;;N;;;;; 0C44;TELUGU VOWEL SIGN VOCALIC RR;Mc;0;L;;;;;N;;;;; 0C46;TELUGU VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; 0C47;TELUGU VOWEL SIGN EE;Mn;0;NSM;;;;;N;;;;; 0C48;TELUGU VOWEL SIGN AI;Mn;0;NSM;0C46 0C56;;;;N;;;;; 0C4A;TELUGU VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;; 0C4B;TELUGU VOWEL SIGN OO;Mn;0;NSM;;;;;N;;;;; 0C4C;TELUGU VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;; 0C4D;TELUGU SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; 0C55;TELUGU LENGTH MARK;Mn;84;NSM;;;;;N;;;;; 0C56;TELUGU AI LENGTH MARK;Mn;91;NSM;;;;;N;;;;; 0C60;TELUGU LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; 0C61;TELUGU LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; 0C66;TELUGU DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 0C67;TELUGU DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0C68;TELUGU DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0C69;TELUGU DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 0C6A;TELUGU DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 0C6B;TELUGU DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 0C6C;TELUGU DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 0C6D;TELUGU DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 0C6E;TELUGU DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 0C6F;TELUGU DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0C82;KANNADA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; 0C83;KANNADA SIGN VISARGA;Mc;0;L;;;;;N;;;;; 0C85;KANNADA LETTER A;Lo;0;L;;;;;N;;;;; 0C86;KANNADA LETTER AA;Lo;0;L;;;;;N;;;;; 0C87;KANNADA LETTER I;Lo;0;L;;;;;N;;;;; 0C88;KANNADA LETTER II;Lo;0;L;;;;;N;;;;; 0C89;KANNADA LETTER U;Lo;0;L;;;;;N;;;;; 0C8A;KANNADA LETTER UU;Lo;0;L;;;;;N;;;;; 0C8B;KANNADA LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; 0C8C;KANNADA LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; 0C8E;KANNADA LETTER E;Lo;0;L;;;;;N;;;;; 0C8F;KANNADA LETTER EE;Lo;0;L;;;;;N;;;;; 0C90;KANNADA LETTER AI;Lo;0;L;;;;;N;;;;; 0C92;KANNADA LETTER O;Lo;0;L;;;;;N;;;;; 0C93;KANNADA LETTER OO;Lo;0;L;;;;;N;;;;; 0C94;KANNADA LETTER AU;Lo;0;L;;;;;N;;;;; 0C95;KANNADA LETTER KA;Lo;0;L;;;;;N;;;;; 0C96;KANNADA LETTER KHA;Lo;0;L;;;;;N;;;;; 0C97;KANNADA LETTER GA;Lo;0;L;;;;;N;;;;; 0C98;KANNADA LETTER GHA;Lo;0;L;;;;;N;;;;; 0C99;KANNADA LETTER NGA;Lo;0;L;;;;;N;;;;; 0C9A;KANNADA LETTER CA;Lo;0;L;;;;;N;;;;; 0C9B;KANNADA LETTER CHA;Lo;0;L;;;;;N;;;;; 0C9C;KANNADA LETTER JA;Lo;0;L;;;;;N;;;;; 0C9D;KANNADA LETTER JHA;Lo;0;L;;;;;N;;;;; 0C9E;KANNADA LETTER NYA;Lo;0;L;;;;;N;;;;; 0C9F;KANNADA LETTER TTA;Lo;0;L;;;;;N;;;;; 0CA0;KANNADA LETTER TTHA;Lo;0;L;;;;;N;;;;; 0CA1;KANNADA LETTER DDA;Lo;0;L;;;;;N;;;;; 0CA2;KANNADA LETTER DDHA;Lo;0;L;;;;;N;;;;; 0CA3;KANNADA LETTER NNA;Lo;0;L;;;;;N;;;;; 0CA4;KANNADA LETTER TA;Lo;0;L;;;;;N;;;;; 0CA5;KANNADA LETTER THA;Lo;0;L;;;;;N;;;;; 0CA6;KANNADA LETTER DA;Lo;0;L;;;;;N;;;;; 0CA7;KANNADA LETTER DHA;Lo;0;L;;;;;N;;;;; 0CA8;KANNADA LETTER NA;Lo;0;L;;;;;N;;;;; 0CAA;KANNADA LETTER PA;Lo;0;L;;;;;N;;;;; 0CAB;KANNADA LETTER PHA;Lo;0;L;;;;;N;;;;; 0CAC;KANNADA LETTER BA;Lo;0;L;;;;;N;;;;; 0CAD;KANNADA LETTER BHA;Lo;0;L;;;;;N;;;;; 0CAE;KANNADA LETTER MA;Lo;0;L;;;;;N;;;;; 0CAF;KANNADA LETTER YA;Lo;0;L;;;;;N;;;;; 0CB0;KANNADA LETTER RA;Lo;0;L;;;;;N;;;;; 0CB1;KANNADA LETTER RRA;Lo;0;L;;;;;N;;;;; 0CB2;KANNADA LETTER LA;Lo;0;L;;;;;N;;;;; 0CB3;KANNADA LETTER LLA;Lo;0;L;;;;;N;;;;; 0CB5;KANNADA LETTER VA;Lo;0;L;;;;;N;;;;; 0CB6;KANNADA LETTER SHA;Lo;0;L;;;;;N;;;;; 0CB7;KANNADA LETTER SSA;Lo;0;L;;;;;N;;;;; 0CB8;KANNADA LETTER SA;Lo;0;L;;;;;N;;;;; 0CB9;KANNADA LETTER HA;Lo;0;L;;;;;N;;;;; 0CBC;KANNADA SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; 0CBD;KANNADA SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;; 0CBE;KANNADA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; 0CBF;KANNADA VOWEL SIGN I;Mn;0;L;;;;;N;;;;; 0CC0;KANNADA VOWEL SIGN II;Mc;0;L;0CBF 0CD5;;;;N;;;;; 0CC1;KANNADA VOWEL SIGN U;Mc;0;L;;;;;N;;;;; 0CC2;KANNADA VOWEL SIGN UU;Mc;0;L;;;;;N;;;;; 0CC3;KANNADA VOWEL SIGN VOCALIC R;Mc;0;L;;;;;N;;;;; 0CC4;KANNADA VOWEL SIGN VOCALIC RR;Mc;0;L;;;;;N;;;;; 0CC6;KANNADA VOWEL SIGN E;Mn;0;L;;;;;N;;;;; 0CC7;KANNADA VOWEL SIGN EE;Mc;0;L;0CC6 0CD5;;;;N;;;;; 0CC8;KANNADA VOWEL SIGN AI;Mc;0;L;0CC6 0CD6;;;;N;;;;; 0CCA;KANNADA VOWEL SIGN O;Mc;0;L;0CC6 0CC2;;;;N;;;;; 0CCB;KANNADA VOWEL SIGN OO;Mc;0;L;0CCA 0CD5;;;;N;;;;; 0CCC;KANNADA VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;; 0CCD;KANNADA SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; 0CD5;KANNADA LENGTH MARK;Mc;0;L;;;;;N;;;;; 0CD6;KANNADA AI LENGTH MARK;Mc;0;L;;;;;N;;;;; 0CDE;KANNADA LETTER FA;Lo;0;L;;;;;N;;;;; 0CE0;KANNADA LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; 0CE1;KANNADA LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; 0CE6;KANNADA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 0CE7;KANNADA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0CE8;KANNADA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0CE9;KANNADA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 0CEA;KANNADA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 0CEB;KANNADA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 0CEC;KANNADA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 0CED;KANNADA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 0CEE;KANNADA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 0CEF;KANNADA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0D02;MALAYALAM SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; 0D03;MALAYALAM SIGN VISARGA;Mc;0;L;;;;;N;;;;; 0D05;MALAYALAM LETTER A;Lo;0;L;;;;;N;;;;; 0D06;MALAYALAM LETTER AA;Lo;0;L;;;;;N;;;;; 0D07;MALAYALAM LETTER I;Lo;0;L;;;;;N;;;;; 0D08;MALAYALAM LETTER II;Lo;0;L;;;;;N;;;;; 0D09;MALAYALAM LETTER U;Lo;0;L;;;;;N;;;;; 0D0A;MALAYALAM LETTER UU;Lo;0;L;;;;;N;;;;; 0D0B;MALAYALAM LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; 0D0C;MALAYALAM LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; 0D0E;MALAYALAM LETTER E;Lo;0;L;;;;;N;;;;; 0D0F;MALAYALAM LETTER EE;Lo;0;L;;;;;N;;;;; 0D10;MALAYALAM LETTER AI;Lo;0;L;;;;;N;;;;; 0D12;MALAYALAM LETTER O;Lo;0;L;;;;;N;;;;; 0D13;MALAYALAM LETTER OO;Lo;0;L;;;;;N;;;;; 0D14;MALAYALAM LETTER AU;Lo;0;L;;;;;N;;;;; 0D15;MALAYALAM LETTER KA;Lo;0;L;;;;;N;;;;; 0D16;MALAYALAM LETTER KHA;Lo;0;L;;;;;N;;;;; 0D17;MALAYALAM LETTER GA;Lo;0;L;;;;;N;;;;; 0D18;MALAYALAM LETTER GHA;Lo;0;L;;;;;N;;;;; 0D19;MALAYALAM LETTER NGA;Lo;0;L;;;;;N;;;;; 0D1A;MALAYALAM LETTER CA;Lo;0;L;;;;;N;;;;; 0D1B;MALAYALAM LETTER CHA;Lo;0;L;;;;;N;;;;; 0D1C;MALAYALAM LETTER JA;Lo;0;L;;;;;N;;;;; 0D1D;MALAYALAM LETTER JHA;Lo;0;L;;;;;N;;;;; 0D1E;MALAYALAM LETTER NYA;Lo;0;L;;;;;N;;;;; 0D1F;MALAYALAM LETTER TTA;Lo;0;L;;;;;N;;;;; 0D20;MALAYALAM LETTER TTHA;Lo;0;L;;;;;N;;;;; 0D21;MALAYALAM LETTER DDA;Lo;0;L;;;;;N;;;;; 0D22;MALAYALAM LETTER DDHA;Lo;0;L;;;;;N;;;;; 0D23;MALAYALAM LETTER NNA;Lo;0;L;;;;;N;;;;; 0D24;MALAYALAM LETTER TA;Lo;0;L;;;;;N;;;;; 0D25;MALAYALAM LETTER THA;Lo;0;L;;;;;N;;;;; 0D26;MALAYALAM LETTER DA;Lo;0;L;;;;;N;;;;; 0D27;MALAYALAM LETTER DHA;Lo;0;L;;;;;N;;;;; 0D28;MALAYALAM LETTER NA;Lo;0;L;;;;;N;;;;; 0D2A;MALAYALAM LETTER PA;Lo;0;L;;;;;N;;;;; 0D2B;MALAYALAM LETTER PHA;Lo;0;L;;;;;N;;;;; 0D2C;MALAYALAM LETTER BA;Lo;0;L;;;;;N;;;;; 0D2D;MALAYALAM LETTER BHA;Lo;0;L;;;;;N;;;;; 0D2E;MALAYALAM LETTER MA;Lo;0;L;;;;;N;;;;; 0D2F;MALAYALAM LETTER YA;Lo;0;L;;;;;N;;;;; 0D30;MALAYALAM LETTER RA;Lo;0;L;;;;;N;;;;; 0D31;MALAYALAM LETTER RRA;Lo;0;L;;;;;N;;;;; 0D32;MALAYALAM LETTER LA;Lo;0;L;;;;;N;;;;; 0D33;MALAYALAM LETTER LLA;Lo;0;L;;;;;N;;;;; 0D34;MALAYALAM LETTER LLLA;Lo;0;L;;;;;N;;;;; 0D35;MALAYALAM LETTER VA;Lo;0;L;;;;;N;;;;; 0D36;MALAYALAM LETTER SHA;Lo;0;L;;;;;N;;;;; 0D37;MALAYALAM LETTER SSA;Lo;0;L;;;;;N;;;;; 0D38;MALAYALAM LETTER SA;Lo;0;L;;;;;N;;;;; 0D39;MALAYALAM LETTER HA;Lo;0;L;;;;;N;;;;; 0D3E;MALAYALAM VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; 0D3F;MALAYALAM VOWEL SIGN I;Mc;0;L;;;;;N;;;;; 0D40;MALAYALAM VOWEL SIGN II;Mc;0;L;;;;;N;;;;; 0D41;MALAYALAM VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; 0D42;MALAYALAM VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; 0D43;MALAYALAM VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; 0D46;MALAYALAM VOWEL SIGN E;Mc;0;L;;;;;N;;;;; 0D47;MALAYALAM VOWEL SIGN EE;Mc;0;L;;;;;N;;;;; 0D48;MALAYALAM VOWEL SIGN AI;Mc;0;L;;;;;N;;;;; 0D4A;MALAYALAM VOWEL SIGN O;Mc;0;L;0D46 0D3E;;;;N;;;;; 0D4B;MALAYALAM VOWEL SIGN OO;Mc;0;L;0D47 0D3E;;;;N;;;;; 0D4C;MALAYALAM VOWEL SIGN AU;Mc;0;L;0D46 0D57;;;;N;;;;; 0D4D;MALAYALAM SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; 0D57;MALAYALAM AU LENGTH MARK;Mc;0;L;;;;;N;;;;; 0D60;MALAYALAM LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; 0D61;MALAYALAM LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; 0D66;MALAYALAM DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 0D67;MALAYALAM DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0D68;MALAYALAM DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0D69;MALAYALAM DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 0D6A;MALAYALAM DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 0D6B;MALAYALAM DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 0D6C;MALAYALAM DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 0D6D;MALAYALAM DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 0D6E;MALAYALAM DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 0D6F;MALAYALAM DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0D82;SINHALA SIGN ANUSVARAYA;Mc;0;L;;;;;N;;;;; 0D83;SINHALA SIGN VISARGAYA;Mc;0;L;;;;;N;;;;; 0D85;SINHALA LETTER AYANNA;Lo;0;L;;;;;N;;;;; 0D86;SINHALA LETTER AAYANNA;Lo;0;L;;;;;N;;;;; 0D87;SINHALA LETTER AEYANNA;Lo;0;L;;;;;N;;;;; 0D88;SINHALA LETTER AEEYANNA;Lo;0;L;;;;;N;;;;; 0D89;SINHALA LETTER IYANNA;Lo;0;L;;;;;N;;;;; 0D8A;SINHALA LETTER IIYANNA;Lo;0;L;;;;;N;;;;; 0D8B;SINHALA LETTER UYANNA;Lo;0;L;;;;;N;;;;; 0D8C;SINHALA LETTER UUYANNA;Lo;0;L;;;;;N;;;;; 0D8D;SINHALA LETTER IRUYANNA;Lo;0;L;;;;;N;;;;; 0D8E;SINHALA LETTER IRUUYANNA;Lo;0;L;;;;;N;;;;; 0D8F;SINHALA LETTER ILUYANNA;Lo;0;L;;;;;N;;;;; 0D90;SINHALA LETTER ILUUYANNA;Lo;0;L;;;;;N;;;;; 0D91;SINHALA LETTER EYANNA;Lo;0;L;;;;;N;;;;; 0D92;SINHALA LETTER EEYANNA;Lo;0;L;;;;;N;;;;; 0D93;SINHALA LETTER AIYANNA;Lo;0;L;;;;;N;;;;; 0D94;SINHALA LETTER OYANNA;Lo;0;L;;;;;N;;;;; 0D95;SINHALA LETTER OOYANNA;Lo;0;L;;;;;N;;;;; 0D96;SINHALA LETTER AUYANNA;Lo;0;L;;;;;N;;;;; 0D9A;SINHALA LETTER ALPAPRAANA KAYANNA;Lo;0;L;;;;;N;;;;; 0D9B;SINHALA LETTER MAHAAPRAANA KAYANNA;Lo;0;L;;;;;N;;;;; 0D9C;SINHALA LETTER ALPAPRAANA GAYANNA;Lo;0;L;;;;;N;;;;; 0D9D;SINHALA LETTER MAHAAPRAANA GAYANNA;Lo;0;L;;;;;N;;;;; 0D9E;SINHALA LETTER KANTAJA NAASIKYAYA;Lo;0;L;;;;;N;;;;; 0D9F;SINHALA LETTER SANYAKA GAYANNA;Lo;0;L;;;;;N;;;;; 0DA0;SINHALA LETTER ALPAPRAANA CAYANNA;Lo;0;L;;;;;N;;;;; 0DA1;SINHALA LETTER MAHAAPRAANA CAYANNA;Lo;0;L;;;;;N;;;;; 0DA2;SINHALA LETTER ALPAPRAANA JAYANNA;Lo;0;L;;;;;N;;;;; 0DA3;SINHALA LETTER MAHAAPRAANA JAYANNA;Lo;0;L;;;;;N;;;;; 0DA4;SINHALA LETTER TAALUJA NAASIKYAYA;Lo;0;L;;;;;N;;;;; 0DA5;SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA;Lo;0;L;;;;;N;;;;; 0DA6;SINHALA LETTER SANYAKA JAYANNA;Lo;0;L;;;;;N;;;;; 0DA7;SINHALA LETTER ALPAPRAANA TTAYANNA;Lo;0;L;;;;;N;;;;; 0DA8;SINHALA LETTER MAHAAPRAANA TTAYANNA;Lo;0;L;;;;;N;;;;; 0DA9;SINHALA LETTER ALPAPRAANA DDAYANNA;Lo;0;L;;;;;N;;;;; 0DAA;SINHALA LETTER MAHAAPRAANA DDAYANNA;Lo;0;L;;;;;N;;;;; 0DAB;SINHALA LETTER MUURDHAJA NAYANNA;Lo;0;L;;;;;N;;;;; 0DAC;SINHALA LETTER SANYAKA DDAYANNA;Lo;0;L;;;;;N;;;;; 0DAD;SINHALA LETTER ALPAPRAANA TAYANNA;Lo;0;L;;;;;N;;;;; 0DAE;SINHALA LETTER MAHAAPRAANA TAYANNA;Lo;0;L;;;;;N;;;;; 0DAF;SINHALA LETTER ALPAPRAANA DAYANNA;Lo;0;L;;;;;N;;;;; 0DB0;SINHALA LETTER MAHAAPRAANA DAYANNA;Lo;0;L;;;;;N;;;;; 0DB1;SINHALA LETTER DANTAJA NAYANNA;Lo;0;L;;;;;N;;;;; 0DB3;SINHALA LETTER SANYAKA DAYANNA;Lo;0;L;;;;;N;;;;; 0DB4;SINHALA LETTER ALPAPRAANA PAYANNA;Lo;0;L;;;;;N;;;;; 0DB5;SINHALA LETTER MAHAAPRAANA PAYANNA;Lo;0;L;;;;;N;;;;; 0DB6;SINHALA LETTER ALPAPRAANA BAYANNA;Lo;0;L;;;;;N;;;;; 0DB7;SINHALA LETTER MAHAAPRAANA BAYANNA;Lo;0;L;;;;;N;;;;; 0DB8;SINHALA LETTER MAYANNA;Lo;0;L;;;;;N;;;;; 0DB9;SINHALA LETTER AMBA BAYANNA;Lo;0;L;;;;;N;;;;; 0DBA;SINHALA LETTER YAYANNA;Lo;0;L;;;;;N;;;;; 0DBB;SINHALA LETTER RAYANNA;Lo;0;L;;;;;N;;;;; 0DBD;SINHALA LETTER DANTAJA LAYANNA;Lo;0;L;;;;;N;;;;; 0DC0;SINHALA LETTER VAYANNA;Lo;0;L;;;;;N;;;;; 0DC1;SINHALA LETTER TAALUJA SAYANNA;Lo;0;L;;;;;N;;;;; 0DC2;SINHALA LETTER MUURDHAJA SAYANNA;Lo;0;L;;;;;N;;;;; 0DC3;SINHALA LETTER DANTAJA SAYANNA;Lo;0;L;;;;;N;;;;; 0DC4;SINHALA LETTER HAYANNA;Lo;0;L;;;;;N;;;;; 0DC5;SINHALA LETTER MUURDHAJA LAYANNA;Lo;0;L;;;;;N;;;;; 0DC6;SINHALA LETTER FAYANNA;Lo;0;L;;;;;N;;;;; 0DCA;SINHALA SIGN AL-LAKUNA;Mn;9;NSM;;;;;N;;;;; 0DCF;SINHALA VOWEL SIGN AELA-PILLA;Mc;0;L;;;;;N;;;;; 0DD0;SINHALA VOWEL SIGN KETTI AEDA-PILLA;Mc;0;L;;;;;N;;;;; 0DD1;SINHALA VOWEL SIGN DIGA AEDA-PILLA;Mc;0;L;;;;;N;;;;; 0DD2;SINHALA VOWEL SIGN KETTI IS-PILLA;Mn;0;NSM;;;;;N;;;;; 0DD3;SINHALA VOWEL SIGN DIGA IS-PILLA;Mn;0;NSM;;;;;N;;;;; 0DD4;SINHALA VOWEL SIGN KETTI PAA-PILLA;Mn;0;NSM;;;;;N;;;;; 0DD6;SINHALA VOWEL SIGN DIGA PAA-PILLA;Mn;0;NSM;;;;;N;;;;; 0DD8;SINHALA VOWEL SIGN GAETTA-PILLA;Mc;0;L;;;;;N;;;;; 0DD9;SINHALA VOWEL SIGN KOMBUVA;Mc;0;L;;;;;N;;;;; 0DDA;SINHALA VOWEL SIGN DIGA KOMBUVA;Mc;0;L;0DD9 0DCA;;;;N;;;;; 0DDB;SINHALA VOWEL SIGN KOMBU DEKA;Mc;0;L;;;;;N;;;;; 0DDC;SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA;Mc;0;L;0DD9 0DCF;;;;N;;;;; 0DDD;SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA;Mc;0;L;0DDC 0DCA;;;;N;;;;; 0DDE;SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA;Mc;0;L;0DD9 0DDF;;;;N;;;;; 0DDF;SINHALA VOWEL SIGN GAYANUKITTA;Mc;0;L;;;;;N;;;;; 0DF2;SINHALA VOWEL SIGN DIGA GAETTA-PILLA;Mc;0;L;;;;;N;;;;; 0DF3;SINHALA VOWEL SIGN DIGA GAYANUKITTA;Mc;0;L;;;;;N;;;;; 0DF4;SINHALA PUNCTUATION KUNDDALIYA;Po;0;L;;;;;N;;;;; 0E01;THAI CHARACTER KO KAI;Lo;0;L;;;;;N;THAI LETTER KO KAI;;;; 0E02;THAI CHARACTER KHO KHAI;Lo;0;L;;;;;N;THAI LETTER KHO KHAI;;;; 0E03;THAI CHARACTER KHO KHUAT;Lo;0;L;;;;;N;THAI LETTER KHO KHUAT;;;; 0E04;THAI CHARACTER KHO KHWAI;Lo;0;L;;;;;N;THAI LETTER KHO KHWAI;;;; 0E05;THAI CHARACTER KHO KHON;Lo;0;L;;;;;N;THAI LETTER KHO KHON;;;; 0E06;THAI CHARACTER KHO RAKHANG;Lo;0;L;;;;;N;THAI LETTER KHO RAKHANG;;;; 0E07;THAI CHARACTER NGO NGU;Lo;0;L;;;;;N;THAI LETTER NGO NGU;;;; 0E08;THAI CHARACTER CHO CHAN;Lo;0;L;;;;;N;THAI LETTER CHO CHAN;;;; 0E09;THAI CHARACTER CHO CHING;Lo;0;L;;;;;N;THAI LETTER CHO CHING;;;; 0E0A;THAI CHARACTER CHO CHANG;Lo;0;L;;;;;N;THAI LETTER CHO CHANG;;;; 0E0B;THAI CHARACTER SO SO;Lo;0;L;;;;;N;THAI LETTER SO SO;;;; 0E0C;THAI CHARACTER CHO CHOE;Lo;0;L;;;;;N;THAI LETTER CHO CHOE;;;; 0E0D;THAI CHARACTER YO YING;Lo;0;L;;;;;N;THAI LETTER YO YING;;;; 0E0E;THAI CHARACTER DO CHADA;Lo;0;L;;;;;N;THAI LETTER DO CHADA;;;; 0E0F;THAI CHARACTER TO PATAK;Lo;0;L;;;;;N;THAI LETTER TO PATAK;;;; 0E10;THAI CHARACTER THO THAN;Lo;0;L;;;;;N;THAI LETTER THO THAN;;;; 0E11;THAI CHARACTER THO NANGMONTHO;Lo;0;L;;;;;N;THAI LETTER THO NANGMONTHO;;;; 0E12;THAI CHARACTER THO PHUTHAO;Lo;0;L;;;;;N;THAI LETTER THO PHUTHAO;;;; 0E13;THAI CHARACTER NO NEN;Lo;0;L;;;;;N;THAI LETTER NO NEN;;;; 0E14;THAI CHARACTER DO DEK;Lo;0;L;;;;;N;THAI LETTER DO DEK;;;; 0E15;THAI CHARACTER TO TAO;Lo;0;L;;;;;N;THAI LETTER TO TAO;;;; 0E16;THAI CHARACTER THO THUNG;Lo;0;L;;;;;N;THAI LETTER THO THUNG;;;; 0E17;THAI CHARACTER THO THAHAN;Lo;0;L;;;;;N;THAI LETTER THO THAHAN;;;; 0E18;THAI CHARACTER THO THONG;Lo;0;L;;;;;N;THAI LETTER THO THONG;;;; 0E19;THAI CHARACTER NO NU;Lo;0;L;;;;;N;THAI LETTER NO NU;;;; 0E1A;THAI CHARACTER BO BAIMAI;Lo;0;L;;;;;N;THAI LETTER BO BAIMAI;;;; 0E1B;THAI CHARACTER PO PLA;Lo;0;L;;;;;N;THAI LETTER PO PLA;;;; 0E1C;THAI CHARACTER PHO PHUNG;Lo;0;L;;;;;N;THAI LETTER PHO PHUNG;;;; 0E1D;THAI CHARACTER FO FA;Lo;0;L;;;;;N;THAI LETTER FO FA;;;; 0E1E;THAI CHARACTER PHO PHAN;Lo;0;L;;;;;N;THAI LETTER PHO PHAN;;;; 0E1F;THAI CHARACTER FO FAN;Lo;0;L;;;;;N;THAI LETTER FO FAN;;;; 0E20;THAI CHARACTER PHO SAMPHAO;Lo;0;L;;;;;N;THAI LETTER PHO SAMPHAO;;;; 0E21;THAI CHARACTER MO MA;Lo;0;L;;;;;N;THAI LETTER MO MA;;;; 0E22;THAI CHARACTER YO YAK;Lo;0;L;;;;;N;THAI LETTER YO YAK;;;; 0E23;THAI CHARACTER RO RUA;Lo;0;L;;;;;N;THAI LETTER RO RUA;;;; 0E24;THAI CHARACTER RU;Lo;0;L;;;;;N;THAI LETTER RU;;;; 0E25;THAI CHARACTER LO LING;Lo;0;L;;;;;N;THAI LETTER LO LING;;;; 0E26;THAI CHARACTER LU;Lo;0;L;;;;;N;THAI LETTER LU;;;; 0E27;THAI CHARACTER WO WAEN;Lo;0;L;;;;;N;THAI LETTER WO WAEN;;;; 0E28;THAI CHARACTER SO SALA;Lo;0;L;;;;;N;THAI LETTER SO SALA;;;; 0E29;THAI CHARACTER SO RUSI;Lo;0;L;;;;;N;THAI LETTER SO RUSI;;;; 0E2A;THAI CHARACTER SO SUA;Lo;0;L;;;;;N;THAI LETTER SO SUA;;;; 0E2B;THAI CHARACTER HO HIP;Lo;0;L;;;;;N;THAI LETTER HO HIP;;;; 0E2C;THAI CHARACTER LO CHULA;Lo;0;L;;;;;N;THAI LETTER LO CHULA;;;; 0E2D;THAI CHARACTER O ANG;Lo;0;L;;;;;N;THAI LETTER O ANG;;;; 0E2E;THAI CHARACTER HO NOKHUK;Lo;0;L;;;;;N;THAI LETTER HO NOK HUK;;;; 0E2F;THAI CHARACTER PAIYANNOI;Lo;0;L;;;;;N;THAI PAI YAN NOI;paiyan noi;;; 0E30;THAI CHARACTER SARA A;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA A;;;; 0E31;THAI CHARACTER MAI HAN-AKAT;Mn;0;NSM;;;;;N;THAI VOWEL SIGN MAI HAN-AKAT;;;; 0E32;THAI CHARACTER SARA AA;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA AA;;;; 0E33;THAI CHARACTER SARA AM;Lo;0;L; 0E4D 0E32;;;;N;THAI VOWEL SIGN SARA AM;;;; 0E34;THAI CHARACTER SARA I;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA I;;;; 0E35;THAI CHARACTER SARA II;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA II;;;; 0E36;THAI CHARACTER SARA UE;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA UE;;;; 0E37;THAI CHARACTER SARA UEE;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA UEE;sara uue;;; 0E38;THAI CHARACTER SARA U;Mn;103;NSM;;;;;N;THAI VOWEL SIGN SARA U;;;; 0E39;THAI CHARACTER SARA UU;Mn;103;NSM;;;;;N;THAI VOWEL SIGN SARA UU;;;; 0E3A;THAI CHARACTER PHINTHU;Mn;9;NSM;;;;;N;THAI VOWEL SIGN PHINTHU;;;; 0E3F;THAI CURRENCY SYMBOL BAHT;Sc;0;ET;;;;;N;THAI BAHT SIGN;;;; 0E40;THAI CHARACTER SARA E;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA E;;;; 0E41;THAI CHARACTER SARA AE;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA AE;;;; 0E42;THAI CHARACTER SARA O;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA O;;;; 0E43;THAI CHARACTER SARA AI MAIMUAN;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA MAI MUAN;sara ai mai muan;;; 0E44;THAI CHARACTER SARA AI MAIMALAI;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA MAI MALAI;sara ai mai malai;;; 0E45;THAI CHARACTER LAKKHANGYAO;Lo;0;L;;;;;N;THAI LAK KHANG YAO;lakkhang yao;;; 0E46;THAI CHARACTER MAIYAMOK;Lm;0;L;;;;;N;THAI MAI YAMOK;mai yamok;;; 0E47;THAI CHARACTER MAITAIKHU;Mn;0;NSM;;;;;N;THAI VOWEL SIGN MAI TAI KHU;mai taikhu;;; 0E48;THAI CHARACTER MAI EK;Mn;107;NSM;;;;;N;THAI TONE MAI EK;;;; 0E49;THAI CHARACTER MAI THO;Mn;107;NSM;;;;;N;THAI TONE MAI THO;;;; 0E4A;THAI CHARACTER MAI TRI;Mn;107;NSM;;;;;N;THAI TONE MAI TRI;;;; 0E4B;THAI CHARACTER MAI CHATTAWA;Mn;107;NSM;;;;;N;THAI TONE MAI CHATTAWA;;;; 0E4C;THAI CHARACTER THANTHAKHAT;Mn;0;NSM;;;;;N;THAI THANTHAKHAT;;;; 0E4D;THAI CHARACTER NIKHAHIT;Mn;0;NSM;;;;;N;THAI NIKKHAHIT;nikkhahit;;; 0E4E;THAI CHARACTER YAMAKKAN;Mn;0;NSM;;;;;N;THAI YAMAKKAN;;;; 0E4F;THAI CHARACTER FONGMAN;Po;0;L;;;;;N;THAI FONGMAN;;;; 0E50;THAI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 0E51;THAI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0E52;THAI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0E53;THAI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 0E54;THAI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 0E55;THAI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 0E56;THAI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 0E57;THAI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 0E58;THAI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 0E59;THAI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0E5A;THAI CHARACTER ANGKHANKHU;Po;0;L;;;;;N;THAI ANGKHANKHU;;;; 0E5B;THAI CHARACTER KHOMUT;Po;0;L;;;;;N;THAI KHOMUT;;;; 0E81;LAO LETTER KO;Lo;0;L;;;;;N;;;;; 0E82;LAO LETTER KHO SUNG;Lo;0;L;;;;;N;;;;; 0E84;LAO LETTER KHO TAM;Lo;0;L;;;;;N;;;;; 0E87;LAO LETTER NGO;Lo;0;L;;;;;N;;;;; 0E88;LAO LETTER CO;Lo;0;L;;;;;N;;;;; 0E8A;LAO LETTER SO TAM;Lo;0;L;;;;;N;;;;; 0E8D;LAO LETTER NYO;Lo;0;L;;;;;N;;;;; 0E94;LAO LETTER DO;Lo;0;L;;;;;N;;;;; 0E95;LAO LETTER TO;Lo;0;L;;;;;N;;;;; 0E96;LAO LETTER THO SUNG;Lo;0;L;;;;;N;;;;; 0E97;LAO LETTER THO TAM;Lo;0;L;;;;;N;;;;; 0E99;LAO LETTER NO;Lo;0;L;;;;;N;;;;; 0E9A;LAO LETTER BO;Lo;0;L;;;;;N;;;;; 0E9B;LAO LETTER PO;Lo;0;L;;;;;N;;;;; 0E9C;LAO LETTER PHO SUNG;Lo;0;L;;;;;N;;;;; 0E9D;LAO LETTER FO TAM;Lo;0;L;;;;;N;;;;; 0E9E;LAO LETTER PHO TAM;Lo;0;L;;;;;N;;;;; 0E9F;LAO LETTER FO SUNG;Lo;0;L;;;;;N;;;;; 0EA1;LAO LETTER MO;Lo;0;L;;;;;N;;;;; 0EA2;LAO LETTER YO;Lo;0;L;;;;;N;;;;; 0EA3;LAO LETTER LO LING;Lo;0;L;;;;;N;;;;; 0EA5;LAO LETTER LO LOOT;Lo;0;L;;;;;N;;;;; 0EA7;LAO LETTER WO;Lo;0;L;;;;;N;;;;; 0EAA;LAO LETTER SO SUNG;Lo;0;L;;;;;N;;;;; 0EAB;LAO LETTER HO SUNG;Lo;0;L;;;;;N;;;;; 0EAD;LAO LETTER O;Lo;0;L;;;;;N;;;;; 0EAE;LAO LETTER HO TAM;Lo;0;L;;;;;N;;;;; 0EAF;LAO ELLIPSIS;Lo;0;L;;;;;N;;;;; 0EB0;LAO VOWEL SIGN A;Lo;0;L;;;;;N;;;;; 0EB1;LAO VOWEL SIGN MAI KAN;Mn;0;NSM;;;;;N;;;;; 0EB2;LAO VOWEL SIGN AA;Lo;0;L;;;;;N;;;;; 0EB3;LAO VOWEL SIGN AM;Lo;0;L; 0ECD 0EB2;;;;N;;;;; 0EB4;LAO VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; 0EB5;LAO VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;; 0EB6;LAO VOWEL SIGN Y;Mn;0;NSM;;;;;N;;;;; 0EB7;LAO VOWEL SIGN YY;Mn;0;NSM;;;;;N;;;;; 0EB8;LAO VOWEL SIGN U;Mn;118;NSM;;;;;N;;;;; 0EB9;LAO VOWEL SIGN UU;Mn;118;NSM;;;;;N;;;;; 0EBB;LAO VOWEL SIGN MAI KON;Mn;0;NSM;;;;;N;;;;; 0EBC;LAO SEMIVOWEL SIGN LO;Mn;0;NSM;;;;;N;;;;; 0EBD;LAO SEMIVOWEL SIGN NYO;Lo;0;L;;;;;N;;;;; 0EC0;LAO VOWEL SIGN E;Lo;0;L;;;;;N;;;;; 0EC1;LAO VOWEL SIGN EI;Lo;0;L;;;;;N;;;;; 0EC2;LAO VOWEL SIGN O;Lo;0;L;;;;;N;;;;; 0EC3;LAO VOWEL SIGN AY;Lo;0;L;;;;;N;;;;; 0EC4;LAO VOWEL SIGN AI;Lo;0;L;;;;;N;;;;; 0EC6;LAO KO LA;Lm;0;L;;;;;N;;;;; 0EC8;LAO TONE MAI EK;Mn;122;NSM;;;;;N;;;;; 0EC9;LAO TONE MAI THO;Mn;122;NSM;;;;;N;;;;; 0ECA;LAO TONE MAI TI;Mn;122;NSM;;;;;N;;;;; 0ECB;LAO TONE MAI CATAWA;Mn;122;NSM;;;;;N;;;;; 0ECC;LAO CANCELLATION MARK;Mn;0;NSM;;;;;N;;;;; 0ECD;LAO NIGGAHITA;Mn;0;NSM;;;;;N;;;;; 0ED0;LAO DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 0ED1;LAO DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0ED2;LAO DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0ED3;LAO DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 0ED4;LAO DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 0ED5;LAO DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 0ED6;LAO DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 0ED7;LAO DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 0ED8;LAO DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 0ED9;LAO DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0EDC;LAO HO NO;Lo;0;L; 0EAB 0E99;;;;N;;;;; 0EDD;LAO HO MO;Lo;0;L; 0EAB 0EA1;;;;N;;;;; 0F00;TIBETAN SYLLABLE OM;Lo;0;L;;;;;N;;;;; 0F01;TIBETAN MARK GTER YIG MGO TRUNCATED A;So;0;L;;;;;N;;ter yik go a thung;;; 0F02;TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA;So;0;L;;;;;N;;ter yik go wum nam chey ma;;; 0F03;TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA;So;0;L;;;;;N;;ter yik go wum ter tsek ma;;; 0F04;TIBETAN MARK INITIAL YIG MGO MDUN MA;Po;0;L;;;;;N;TIBETAN SINGLE ORNAMENT;yik go dun ma;;; 0F05;TIBETAN MARK CLOSING YIG MGO SGAB MA;Po;0;L;;;;;N;;yik go kab ma;;; 0F06;TIBETAN MARK CARET YIG MGO PHUR SHAD MA;Po;0;L;;;;;N;;yik go pur shey ma;;; 0F07;TIBETAN MARK YIG MGO TSHEG SHAD MA;Po;0;L;;;;;N;;yik go tsek shey ma;;; 0F08;TIBETAN MARK SBRUL SHAD;Po;0;L;;;;;N;TIBETAN RGYANSHAD;drul shey;;; 0F09;TIBETAN MARK BSKUR YIG MGO;Po;0;L;;;;;N;;kur yik go;;; 0F0A;TIBETAN MARK BKA- SHOG YIG MGO;Po;0;L;;;;;N;;ka sho yik go;;; 0F0B;TIBETAN MARK INTERSYLLABIC TSHEG;Po;0;L;;;;;N;TIBETAN TSEG;tsek;;; 0F0C;TIBETAN MARK DELIMITER TSHEG BSTAR;Po;0;L; 0F0B;;;;N;;tsek tar;;; 0F0D;TIBETAN MARK SHAD;Po;0;L;;;;;N;TIBETAN SHAD;shey;;; 0F0E;TIBETAN MARK NYIS SHAD;Po;0;L;;;;;N;TIBETAN DOUBLE SHAD;nyi shey;;; 0F0F;TIBETAN MARK TSHEG SHAD;Po;0;L;;;;;N;;tsek shey;;; 0F10;TIBETAN MARK NYIS TSHEG SHAD;Po;0;L;;;;;N;;nyi tsek shey;;; 0F11;TIBETAN MARK RIN CHEN SPUNGS SHAD;Po;0;L;;;;;N;TIBETAN RINCHANPHUNGSHAD;rinchen pung shey;;; 0F12;TIBETAN MARK RGYA GRAM SHAD;Po;0;L;;;;;N;;gya tram shey;;; 0F13;TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN;So;0;L;;;;;N;;dzu ta me long chen;;; 0F14;TIBETAN MARK GTER TSHEG;So;0;L;;;;;N;TIBETAN COMMA;ter tsek;;; 0F15;TIBETAN LOGOTYPE SIGN CHAD RTAGS;So;0;L;;;;;N;;che ta;;; 0F16;TIBETAN LOGOTYPE SIGN LHAG RTAGS;So;0;L;;;;;N;;hlak ta;;; 0F17;TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS;So;0;L;;;;;N;;trachen char ta;;; 0F18;TIBETAN ASTROLOGICAL SIGN -KHYUD PA;Mn;220;NSM;;;;;N;;kyu pa;;; 0F19;TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS;Mn;220;NSM;;;;;N;;dong tsu;;; 0F1A;TIBETAN SIGN RDEL DKAR GCIG;So;0;L;;;;;N;;deka chig;;; 0F1B;TIBETAN SIGN RDEL DKAR GNYIS;So;0;L;;;;;N;;deka nyi;;; 0F1C;TIBETAN SIGN RDEL DKAR GSUM;So;0;L;;;;;N;;deka sum;;; 0F1D;TIBETAN SIGN RDEL NAG GCIG;So;0;L;;;;;N;;dena chig;;; 0F1E;TIBETAN SIGN RDEL NAG GNYIS;So;0;L;;;;;N;;dena nyi;;; 0F1F;TIBETAN SIGN RDEL DKAR RDEL NAG;So;0;L;;;;;N;;deka dena;;; 0F20;TIBETAN DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 0F21;TIBETAN DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0F22;TIBETAN DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0F23;TIBETAN DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 0F24;TIBETAN DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 0F25;TIBETAN DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 0F26;TIBETAN DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 0F27;TIBETAN DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 0F28;TIBETAN DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 0F29;TIBETAN DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0F2A;TIBETAN DIGIT HALF ONE;No;0;L;;;;1/2;N;;;;; 0F2B;TIBETAN DIGIT HALF TWO;No;0;L;;;;3/2;N;;;;; 0F2C;TIBETAN DIGIT HALF THREE;No;0;L;;;;5/2;N;;;;; 0F2D;TIBETAN DIGIT HALF FOUR;No;0;L;;;;7/2;N;;;;; 0F2E;TIBETAN DIGIT HALF FIVE;No;0;L;;;;9/2;N;;;;; 0F2F;TIBETAN DIGIT HALF SIX;No;0;L;;;;11/2;N;;;;; 0F30;TIBETAN DIGIT HALF SEVEN;No;0;L;;;;13/2;N;;;;; 0F31;TIBETAN DIGIT HALF EIGHT;No;0;L;;;;15/2;N;;;;; 0F32;TIBETAN DIGIT HALF NINE;No;0;L;;;;17/2;N;;;;; 0F33;TIBETAN DIGIT HALF ZERO;No;0;L;;;;-1/2;N;;;;; 0F34;TIBETAN MARK BSDUS RTAGS;So;0;L;;;;;N;;du ta;;; 0F35;TIBETAN MARK NGAS BZUNG NYI ZLA;Mn;220;NSM;;;;;N;TIBETAN HONORIFIC UNDER RING;nge zung nyi da;;; 0F36;TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN;So;0;L;;;;;N;;dzu ta shi mig chen;;; 0F37;TIBETAN MARK NGAS BZUNG SGOR RTAGS;Mn;220;NSM;;;;;N;TIBETAN UNDER RING;nge zung gor ta;;; 0F38;TIBETAN MARK CHE MGO;So;0;L;;;;;N;;che go;;; 0F39;TIBETAN MARK TSA -PHRU;Mn;216;NSM;;;;;N;TIBETAN LENITION MARK;tsa tru;;; 0F3A;TIBETAN MARK GUG RTAGS GYON;Ps;0;ON;;;;;N;;gug ta yun;;; 0F3B;TIBETAN MARK GUG RTAGS GYAS;Pe;0;ON;;;;;N;;gug ta ye;;; 0F3C;TIBETAN MARK ANG KHANG GYON;Ps;0;ON;;;;;N;TIBETAN LEFT BRACE;ang kang yun;;; 0F3D;TIBETAN MARK ANG KHANG GYAS;Pe;0;ON;;;;;N;TIBETAN RIGHT BRACE;ang kang ye;;; 0F3E;TIBETAN SIGN YAR TSHES;Mc;0;L;;;;;N;;yar tse;;; 0F3F;TIBETAN SIGN MAR TSHES;Mc;0;L;;;;;N;;mar tse;;; 0F40;TIBETAN LETTER KA;Lo;0;L;;;;;N;;;;; 0F41;TIBETAN LETTER KHA;Lo;0;L;;;;;N;;;;; 0F42;TIBETAN LETTER GA;Lo;0;L;;;;;N;;;;; 0F43;TIBETAN LETTER GHA;Lo;0;L;0F42 0FB7;;;;N;;;;; 0F44;TIBETAN LETTER NGA;Lo;0;L;;;;;N;;;;; 0F45;TIBETAN LETTER CA;Lo;0;L;;;;;N;;;;; 0F46;TIBETAN LETTER CHA;Lo;0;L;;;;;N;;;;; 0F47;TIBETAN LETTER JA;Lo;0;L;;;;;N;;;;; 0F49;TIBETAN LETTER NYA;Lo;0;L;;;;;N;;;;; 0F4A;TIBETAN LETTER TTA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED TA;;;; 0F4B;TIBETAN LETTER TTHA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED THA;;;; 0F4C;TIBETAN LETTER DDA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED DA;;;; 0F4D;TIBETAN LETTER DDHA;Lo;0;L;0F4C 0FB7;;;;N;;;;; 0F4E;TIBETAN LETTER NNA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED NA;;;; 0F4F;TIBETAN LETTER TA;Lo;0;L;;;;;N;;;;; 0F50;TIBETAN LETTER THA;Lo;0;L;;;;;N;;;;; 0F51;TIBETAN LETTER DA;Lo;0;L;;;;;N;;;;; 0F52;TIBETAN LETTER DHA;Lo;0;L;0F51 0FB7;;;;N;;;;; 0F53;TIBETAN LETTER NA;Lo;0;L;;;;;N;;;;; 0F54;TIBETAN LETTER PA;Lo;0;L;;;;;N;;;;; 0F55;TIBETAN LETTER PHA;Lo;0;L;;;;;N;;;;; 0F56;TIBETAN LETTER BA;Lo;0;L;;;;;N;;;;; 0F57;TIBETAN LETTER BHA;Lo;0;L;0F56 0FB7;;;;N;;;;; 0F58;TIBETAN LETTER MA;Lo;0;L;;;;;N;;;;; 0F59;TIBETAN LETTER TSA;Lo;0;L;;;;;N;;;;; 0F5A;TIBETAN LETTER TSHA;Lo;0;L;;;;;N;;;;; 0F5B;TIBETAN LETTER DZA;Lo;0;L;;;;;N;;;;; 0F5C;TIBETAN LETTER DZHA;Lo;0;L;0F5B 0FB7;;;;N;;;;; 0F5D;TIBETAN LETTER WA;Lo;0;L;;;;;N;;;;; 0F5E;TIBETAN LETTER ZHA;Lo;0;L;;;;;N;;;;; 0F5F;TIBETAN LETTER ZA;Lo;0;L;;;;;N;;;;; 0F60;TIBETAN LETTER -A;Lo;0;L;;;;;N;TIBETAN LETTER AA;;;; 0F61;TIBETAN LETTER YA;Lo;0;L;;;;;N;;;;; 0F62;TIBETAN LETTER RA;Lo;0;L;;;;;N;;*;;; 0F63;TIBETAN LETTER LA;Lo;0;L;;;;;N;;;;; 0F64;TIBETAN LETTER SHA;Lo;0;L;;;;;N;;;;; 0F65;TIBETAN LETTER SSA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED SHA;;;; 0F66;TIBETAN LETTER SA;Lo;0;L;;;;;N;;;;; 0F67;TIBETAN LETTER HA;Lo;0;L;;;;;N;;;;; 0F68;TIBETAN LETTER A;Lo;0;L;;;;;N;;;;; 0F69;TIBETAN LETTER KSSA;Lo;0;L;0F40 0FB5;;;;N;;;;; 0F6A;TIBETAN LETTER FIXED-FORM RA;Lo;0;L;;;;;N;;*;;; 0F71;TIBETAN VOWEL SIGN AA;Mn;129;NSM;;;;;N;;;;; 0F72;TIBETAN VOWEL SIGN I;Mn;130;NSM;;;;;N;;;;; 0F73;TIBETAN VOWEL SIGN II;Mn;0;NSM;0F71 0F72;;;;N;;;;; 0F74;TIBETAN VOWEL SIGN U;Mn;132;NSM;;;;;N;;;;; 0F75;TIBETAN VOWEL SIGN UU;Mn;0;NSM;0F71 0F74;;;;N;;;;; 0F76;TIBETAN VOWEL SIGN VOCALIC R;Mn;0;NSM;0FB2 0F80;;;;N;;;;; 0F77;TIBETAN VOWEL SIGN VOCALIC RR;Mn;0;NSM; 0FB2 0F81;;;;N;;;;; 0F78;TIBETAN VOWEL SIGN VOCALIC L;Mn;0;NSM;0FB3 0F80;;;;N;;;;; 0F79;TIBETAN VOWEL SIGN VOCALIC LL;Mn;0;NSM; 0FB3 0F81;;;;N;;;;; 0F7A;TIBETAN VOWEL SIGN E;Mn;130;NSM;;;;;N;;;;; 0F7B;TIBETAN VOWEL SIGN EE;Mn;130;NSM;;;;;N;TIBETAN VOWEL SIGN AI;;;; 0F7C;TIBETAN VOWEL SIGN O;Mn;130;NSM;;;;;N;;;;; 0F7D;TIBETAN VOWEL SIGN OO;Mn;130;NSM;;;;;N;TIBETAN VOWEL SIGN AU;;;; 0F7E;TIBETAN SIGN RJES SU NGA RO;Mn;0;NSM;;;;;N;TIBETAN ANUSVARA;je su nga ro;;; 0F7F;TIBETAN SIGN RNAM BCAD;Mc;0;L;;;;;N;TIBETAN VISARGA;nam chey;;; 0F80;TIBETAN VOWEL SIGN REVERSED I;Mn;130;NSM;;;;;N;TIBETAN VOWEL SIGN SHORT I;;;; 0F81;TIBETAN VOWEL SIGN REVERSED II;Mn;0;NSM;0F71 0F80;;;;N;;;;; 0F82;TIBETAN SIGN NYI ZLA NAA DA;Mn;230;NSM;;;;;N;TIBETAN CANDRABINDU WITH ORNAMENT;nyi da na da;;; 0F83;TIBETAN SIGN SNA LDAN;Mn;230;NSM;;;;;N;TIBETAN CANDRABINDU;nan de;;; 0F84;TIBETAN MARK HALANTA;Mn;9;NSM;;;;;N;TIBETAN VIRAMA;;;; 0F85;TIBETAN MARK PALUTA;Po;0;L;;;;;N;TIBETAN CHUCHENYIGE;;;; 0F86;TIBETAN SIGN LCI RTAGS;Mn;230;NSM;;;;;N;;ji ta;;; 0F87;TIBETAN SIGN YANG RTAGS;Mn;230;NSM;;;;;N;;yang ta;;; 0F88;TIBETAN SIGN LCE TSA CAN;Lo;0;L;;;;;N;;che tsa chen;;; 0F89;TIBETAN SIGN MCHU CAN;Lo;0;L;;;;;N;;chu chen;;; 0F8A;TIBETAN SIGN GRU CAN RGYINGS;Lo;0;L;;;;;N;;tru chen ging;;; 0F8B;TIBETAN SIGN GRU MED RGYINGS;Lo;0;L;;;;;N;;tru me ging;;; 0F90;TIBETAN SUBJOINED LETTER KA;Mn;0;NSM;;;;;N;;;;; 0F91;TIBETAN SUBJOINED LETTER KHA;Mn;0;NSM;;;;;N;;;;; 0F92;TIBETAN SUBJOINED LETTER GA;Mn;0;NSM;;;;;N;;;;; 0F93;TIBETAN SUBJOINED LETTER GHA;Mn;0;NSM;0F92 0FB7;;;;N;;;;; 0F94;TIBETAN SUBJOINED LETTER NGA;Mn;0;NSM;;;;;N;;;;; 0F95;TIBETAN SUBJOINED LETTER CA;Mn;0;NSM;;;;;N;;;;; 0F96;TIBETAN SUBJOINED LETTER CHA;Mn;0;NSM;;;;;N;;;;; 0F97;TIBETAN SUBJOINED LETTER JA;Mn;0;NSM;;;;;N;;;;; 0F99;TIBETAN SUBJOINED LETTER NYA;Mn;0;NSM;;;;;N;;;;; 0F9A;TIBETAN SUBJOINED LETTER TTA;Mn;0;NSM;;;;;N;;;;; 0F9B;TIBETAN SUBJOINED LETTER TTHA;Mn;0;NSM;;;;;N;;;;; 0F9C;TIBETAN SUBJOINED LETTER DDA;Mn;0;NSM;;;;;N;;;;; 0F9D;TIBETAN SUBJOINED LETTER DDHA;Mn;0;NSM;0F9C 0FB7;;;;N;;;;; 0F9E;TIBETAN SUBJOINED LETTER NNA;Mn;0;NSM;;;;;N;;;;; 0F9F;TIBETAN SUBJOINED LETTER TA;Mn;0;NSM;;;;;N;;;;; 0FA0;TIBETAN SUBJOINED LETTER THA;Mn;0;NSM;;;;;N;;;;; 0FA1;TIBETAN SUBJOINED LETTER DA;Mn;0;NSM;;;;;N;;;;; 0FA2;TIBETAN SUBJOINED LETTER DHA;Mn;0;NSM;0FA1 0FB7;;;;N;;;;; 0FA3;TIBETAN SUBJOINED LETTER NA;Mn;0;NSM;;;;;N;;;;; 0FA4;TIBETAN SUBJOINED LETTER PA;Mn;0;NSM;;;;;N;;;;; 0FA5;TIBETAN SUBJOINED LETTER PHA;Mn;0;NSM;;;;;N;;;;; 0FA6;TIBETAN SUBJOINED LETTER BA;Mn;0;NSM;;;;;N;;;;; 0FA7;TIBETAN SUBJOINED LETTER BHA;Mn;0;NSM;0FA6 0FB7;;;;N;;;;; 0FA8;TIBETAN SUBJOINED LETTER MA;Mn;0;NSM;;;;;N;;;;; 0FA9;TIBETAN SUBJOINED LETTER TSA;Mn;0;NSM;;;;;N;;;;; 0FAA;TIBETAN SUBJOINED LETTER TSHA;Mn;0;NSM;;;;;N;;;;; 0FAB;TIBETAN SUBJOINED LETTER DZA;Mn;0;NSM;;;;;N;;;;; 0FAC;TIBETAN SUBJOINED LETTER DZHA;Mn;0;NSM;0FAB 0FB7;;;;N;;;;; 0FAD;TIBETAN SUBJOINED LETTER WA;Mn;0;NSM;;;;;N;;*;;; 0FAE;TIBETAN SUBJOINED LETTER ZHA;Mn;0;NSM;;;;;N;;;;; 0FAF;TIBETAN SUBJOINED LETTER ZA;Mn;0;NSM;;;;;N;;;;; 0FB0;TIBETAN SUBJOINED LETTER -A;Mn;0;NSM;;;;;N;;;;; 0FB1;TIBETAN SUBJOINED LETTER YA;Mn;0;NSM;;;;;N;;*;;; 0FB2;TIBETAN SUBJOINED LETTER RA;Mn;0;NSM;;;;;N;;*;;; 0FB3;TIBETAN SUBJOINED LETTER LA;Mn;0;NSM;;;;;N;;;;; 0FB4;TIBETAN SUBJOINED LETTER SHA;Mn;0;NSM;;;;;N;;;;; 0FB5;TIBETAN SUBJOINED LETTER SSA;Mn;0;NSM;;;;;N;;;;; 0FB6;TIBETAN SUBJOINED LETTER SA;Mn;0;NSM;;;;;N;;;;; 0FB7;TIBETAN SUBJOINED LETTER HA;Mn;0;NSM;;;;;N;;;;; 0FB8;TIBETAN SUBJOINED LETTER A;Mn;0;NSM;;;;;N;;;;; 0FB9;TIBETAN SUBJOINED LETTER KSSA;Mn;0;NSM;0F90 0FB5;;;;N;;;;; 0FBA;TIBETAN SUBJOINED LETTER FIXED-FORM WA;Mn;0;NSM;;;;;N;;*;;; 0FBB;TIBETAN SUBJOINED LETTER FIXED-FORM YA;Mn;0;NSM;;;;;N;;*;;; 0FBC;TIBETAN SUBJOINED LETTER FIXED-FORM RA;Mn;0;NSM;;;;;N;;*;;; 0FBE;TIBETAN KU RU KHA;So;0;L;;;;;N;;kuruka;;; 0FBF;TIBETAN KU RU KHA BZHI MIG CAN;So;0;L;;;;;N;;kuruka shi mik chen;;; 0FC0;TIBETAN CANTILLATION SIGN HEAVY BEAT;So;0;L;;;;;N;;;;; 0FC1;TIBETAN CANTILLATION SIGN LIGHT BEAT;So;0;L;;;;;N;;;;; 0FC2;TIBETAN CANTILLATION SIGN CANG TE-U;So;0;L;;;;;N;;chang tyu;;; 0FC3;TIBETAN CANTILLATION SIGN SBUB -CHAL;So;0;L;;;;;N;;bub chey;;; 0FC4;TIBETAN SYMBOL DRIL BU;So;0;L;;;;;N;;drilbu;;; 0FC5;TIBETAN SYMBOL RDO RJE;So;0;L;;;;;N;;dorje;;; 0FC6;TIBETAN SYMBOL PADMA GDAN;Mn;220;NSM;;;;;N;;pema den;;; 0FC7;TIBETAN SYMBOL RDO RJE RGYA GRAM;So;0;L;;;;;N;;dorje gya dram;;; 0FC8;TIBETAN SYMBOL PHUR PA;So;0;L;;;;;N;;phurba;;; 0FC9;TIBETAN SYMBOL NOR BU;So;0;L;;;;;N;;norbu;;; 0FCA;TIBETAN SYMBOL NOR BU NYIS -KHYIL;So;0;L;;;;;N;;norbu nyi khyi;;; 0FCB;TIBETAN SYMBOL NOR BU GSUM -KHYIL;So;0;L;;;;;N;;norbu sum khyi;;; 0FCC;TIBETAN SYMBOL NOR BU BZHI -KHYIL;So;0;L;;;;;N;;norbu shi khyi;;; 0FCF;TIBETAN SIGN RDEL NAG GSUM;So;0;L;;;;;N;;dena sum;;; 1000;MYANMAR LETTER KA;Lo;0;L;;;;;N;;;;; 1001;MYANMAR LETTER KHA;Lo;0;L;;;;;N;;;;; 1002;MYANMAR LETTER GA;Lo;0;L;;;;;N;;;;; 1003;MYANMAR LETTER GHA;Lo;0;L;;;;;N;;;;; 1004;MYANMAR LETTER NGA;Lo;0;L;;;;;N;;;;; 1005;MYANMAR LETTER CA;Lo;0;L;;;;;N;;;;; 1006;MYANMAR LETTER CHA;Lo;0;L;;;;;N;;;;; 1007;MYANMAR LETTER JA;Lo;0;L;;;;;N;;;;; 1008;MYANMAR LETTER JHA;Lo;0;L;;;;;N;;;;; 1009;MYANMAR LETTER NYA;Lo;0;L;;;;;N;;;;; 100A;MYANMAR LETTER NNYA;Lo;0;L;;;;;N;;;;; 100B;MYANMAR LETTER TTA;Lo;0;L;;;;;N;;;;; 100C;MYANMAR LETTER TTHA;Lo;0;L;;;;;N;;;;; 100D;MYANMAR LETTER DDA;Lo;0;L;;;;;N;;;;; 100E;MYANMAR LETTER DDHA;Lo;0;L;;;;;N;;;;; 100F;MYANMAR LETTER NNA;Lo;0;L;;;;;N;;;;; 1010;MYANMAR LETTER TA;Lo;0;L;;;;;N;;;;; 1011;MYANMAR LETTER THA;Lo;0;L;;;;;N;;;;; 1012;MYANMAR LETTER DA;Lo;0;L;;;;;N;;;;; 1013;MYANMAR LETTER DHA;Lo;0;L;;;;;N;;;;; 1014;MYANMAR LETTER NA;Lo;0;L;;;;;N;;;;; 1015;MYANMAR LETTER PA;Lo;0;L;;;;;N;;;;; 1016;MYANMAR LETTER PHA;Lo;0;L;;;;;N;;;;; 1017;MYANMAR LETTER BA;Lo;0;L;;;;;N;;;;; 1018;MYANMAR LETTER BHA;Lo;0;L;;;;;N;;;;; 1019;MYANMAR LETTER MA;Lo;0;L;;;;;N;;;;; 101A;MYANMAR LETTER YA;Lo;0;L;;;;;N;;;;; 101B;MYANMAR LETTER RA;Lo;0;L;;;;;N;;;;; 101C;MYANMAR LETTER LA;Lo;0;L;;;;;N;;;;; 101D;MYANMAR LETTER WA;Lo;0;L;;;;;N;;;;; 101E;MYANMAR LETTER SA;Lo;0;L;;;;;N;;;;; 101F;MYANMAR LETTER HA;Lo;0;L;;;;;N;;;;; 1020;MYANMAR LETTER LLA;Lo;0;L;;;;;N;;;;; 1021;MYANMAR LETTER A;Lo;0;L;;;;;N;;;;; 1023;MYANMAR LETTER I;Lo;0;L;;;;;N;;;;; 1024;MYANMAR LETTER II;Lo;0;L;;;;;N;;;;; 1025;MYANMAR LETTER U;Lo;0;L;;;;;N;;;;; 1026;MYANMAR LETTER UU;Lo;0;L;1025 102E;;;;N;;;;; 1027;MYANMAR LETTER E;Lo;0;L;;;;;N;;;;; 1029;MYANMAR LETTER O;Lo;0;L;;;;;N;;;;; 102A;MYANMAR LETTER AU;Lo;0;L;;;;;N;;;;; 102C;MYANMAR VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; 102D;MYANMAR VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; 102E;MYANMAR VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;; 102F;MYANMAR VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; 1030;MYANMAR VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; 1031;MYANMAR VOWEL SIGN E;Mc;0;L;;;;;N;;;;; 1032;MYANMAR VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; 1036;MYANMAR SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; 1037;MYANMAR SIGN DOT BELOW;Mn;7;NSM;;;;;N;;;;; 1038;MYANMAR SIGN VISARGA;Mc;0;L;;;;;N;;;;; 1039;MYANMAR SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; 1040;MYANMAR DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 1041;MYANMAR DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 1042;MYANMAR DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 1043;MYANMAR DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 1044;MYANMAR DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 1045;MYANMAR DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 1046;MYANMAR DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 1047;MYANMAR DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 1048;MYANMAR DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 1049;MYANMAR DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 104A;MYANMAR SIGN LITTLE SECTION;Po;0;L;;;;;N;;;;; 104B;MYANMAR SIGN SECTION;Po;0;L;;;;;N;;;;; 104C;MYANMAR SYMBOL LOCATIVE;Po;0;L;;;;;N;;;;; 104D;MYANMAR SYMBOL COMPLETED;Po;0;L;;;;;N;;;;; 104E;MYANMAR SYMBOL AFOREMENTIONED;Po;0;L;;;;;N;;;;; 104F;MYANMAR SYMBOL GENITIVE;Po;0;L;;;;;N;;;;; 1050;MYANMAR LETTER SHA;Lo;0;L;;;;;N;;;;; 1051;MYANMAR LETTER SSA;Lo;0;L;;;;;N;;;;; 1052;MYANMAR LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; 1053;MYANMAR LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; 1054;MYANMAR LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; 1055;MYANMAR LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; 1056;MYANMAR VOWEL SIGN VOCALIC R;Mc;0;L;;;;;N;;;;; 1057;MYANMAR VOWEL SIGN VOCALIC RR;Mc;0;L;;;;;N;;;;; 1058;MYANMAR VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; 1059;MYANMAR VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;; 10A0;GEORGIAN CAPITAL LETTER AN;Lu;0;L;;;;;N;;Khutsuri;;; 10A1;GEORGIAN CAPITAL LETTER BAN;Lu;0;L;;;;;N;;Khutsuri;;; 10A2;GEORGIAN CAPITAL LETTER GAN;Lu;0;L;;;;;N;;Khutsuri;;; 10A3;GEORGIAN CAPITAL LETTER DON;Lu;0;L;;;;;N;;Khutsuri;;; 10A4;GEORGIAN CAPITAL LETTER EN;Lu;0;L;;;;;N;;Khutsuri;;; 10A5;GEORGIAN CAPITAL LETTER VIN;Lu;0;L;;;;;N;;Khutsuri;;; 10A6;GEORGIAN CAPITAL LETTER ZEN;Lu;0;L;;;;;N;;Khutsuri;;; 10A7;GEORGIAN CAPITAL LETTER TAN;Lu;0;L;;;;;N;;Khutsuri;;; 10A8;GEORGIAN CAPITAL LETTER IN;Lu;0;L;;;;;N;;Khutsuri;;; 10A9;GEORGIAN CAPITAL LETTER KAN;Lu;0;L;;;;;N;;Khutsuri;;; 10AA;GEORGIAN CAPITAL LETTER LAS;Lu;0;L;;;;;N;;Khutsuri;;; 10AB;GEORGIAN CAPITAL LETTER MAN;Lu;0;L;;;;;N;;Khutsuri;;; 10AC;GEORGIAN CAPITAL LETTER NAR;Lu;0;L;;;;;N;;Khutsuri;;; 10AD;GEORGIAN CAPITAL LETTER ON;Lu;0;L;;;;;N;;Khutsuri;;; 10AE;GEORGIAN CAPITAL LETTER PAR;Lu;0;L;;;;;N;;Khutsuri;;; 10AF;GEORGIAN CAPITAL LETTER ZHAR;Lu;0;L;;;;;N;;Khutsuri;;; 10B0;GEORGIAN CAPITAL LETTER RAE;Lu;0;L;;;;;N;;Khutsuri;;; 10B1;GEORGIAN CAPITAL LETTER SAN;Lu;0;L;;;;;N;;Khutsuri;;; 10B2;GEORGIAN CAPITAL LETTER TAR;Lu;0;L;;;;;N;;Khutsuri;;; 10B3;GEORGIAN CAPITAL LETTER UN;Lu;0;L;;;;;N;;Khutsuri;;; 10B4;GEORGIAN CAPITAL LETTER PHAR;Lu;0;L;;;;;N;;Khutsuri;;; 10B5;GEORGIAN CAPITAL LETTER KHAR;Lu;0;L;;;;;N;;Khutsuri;;; 10B6;GEORGIAN CAPITAL LETTER GHAN;Lu;0;L;;;;;N;;Khutsuri;;; 10B7;GEORGIAN CAPITAL LETTER QAR;Lu;0;L;;;;;N;;Khutsuri;;; 10B8;GEORGIAN CAPITAL LETTER SHIN;Lu;0;L;;;;;N;;Khutsuri;;; 10B9;GEORGIAN CAPITAL LETTER CHIN;Lu;0;L;;;;;N;;Khutsuri;;; 10BA;GEORGIAN CAPITAL LETTER CAN;Lu;0;L;;;;;N;;Khutsuri;;; 10BB;GEORGIAN CAPITAL LETTER JIL;Lu;0;L;;;;;N;;Khutsuri;;; 10BC;GEORGIAN CAPITAL LETTER CIL;Lu;0;L;;;;;N;;Khutsuri;;; 10BD;GEORGIAN CAPITAL LETTER CHAR;Lu;0;L;;;;;N;;Khutsuri;;; 10BE;GEORGIAN CAPITAL LETTER XAN;Lu;0;L;;;;;N;;Khutsuri;;; 10BF;GEORGIAN CAPITAL LETTER JHAN;Lu;0;L;;;;;N;;Khutsuri;;; 10C0;GEORGIAN CAPITAL LETTER HAE;Lu;0;L;;;;;N;;Khutsuri;;; 10C1;GEORGIAN CAPITAL LETTER HE;Lu;0;L;;;;;N;;Khutsuri;;; 10C2;GEORGIAN CAPITAL LETTER HIE;Lu;0;L;;;;;N;;Khutsuri;;; 10C3;GEORGIAN CAPITAL LETTER WE;Lu;0;L;;;;;N;;Khutsuri;;; 10C4;GEORGIAN CAPITAL LETTER HAR;Lu;0;L;;;;;N;;Khutsuri;;; 10C5;GEORGIAN CAPITAL LETTER HOE;Lu;0;L;;;;;N;;Khutsuri;;; 10D0;GEORGIAN LETTER AN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER AN;;;; 10D1;GEORGIAN LETTER BAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER BAN;;;; 10D2;GEORGIAN LETTER GAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER GAN;;;; 10D3;GEORGIAN LETTER DON;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER DON;;;; 10D4;GEORGIAN LETTER EN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER EN;;;; 10D5;GEORGIAN LETTER VIN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER VIN;;;; 10D6;GEORGIAN LETTER ZEN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER ZEN;;;; 10D7;GEORGIAN LETTER TAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER TAN;;;; 10D8;GEORGIAN LETTER IN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER IN;;;; 10D9;GEORGIAN LETTER KAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER KAN;;;; 10DA;GEORGIAN LETTER LAS;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER LAS;;;; 10DB;GEORGIAN LETTER MAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER MAN;;;; 10DC;GEORGIAN LETTER NAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER NAR;;;; 10DD;GEORGIAN LETTER ON;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER ON;;;; 10DE;GEORGIAN LETTER PAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER PAR;;;; 10DF;GEORGIAN LETTER ZHAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER ZHAR;;;; 10E0;GEORGIAN LETTER RAE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER RAE;;;; 10E1;GEORGIAN LETTER SAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER SAN;;;; 10E2;GEORGIAN LETTER TAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER TAR;;;; 10E3;GEORGIAN LETTER UN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER UN;;;; 10E4;GEORGIAN LETTER PHAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER PHAR;;;; 10E5;GEORGIAN LETTER KHAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER KHAR;;;; 10E6;GEORGIAN LETTER GHAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER GHAN;;;; 10E7;GEORGIAN LETTER QAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER QAR;;;; 10E8;GEORGIAN LETTER SHIN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER SHIN;;;; 10E9;GEORGIAN LETTER CHIN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER CHIN;;;; 10EA;GEORGIAN LETTER CAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER CAN;;;; 10EB;GEORGIAN LETTER JIL;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER JIL;;;; 10EC;GEORGIAN LETTER CIL;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER CIL;;;; 10ED;GEORGIAN LETTER CHAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER CHAR;;;; 10EE;GEORGIAN LETTER XAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER XAN;;;; 10EF;GEORGIAN LETTER JHAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER JHAN;;;; 10F0;GEORGIAN LETTER HAE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER HAE;;;; 10F1;GEORGIAN LETTER HE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER HE;;;; 10F2;GEORGIAN LETTER HIE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER HIE;;;; 10F3;GEORGIAN LETTER WE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER WE;;;; 10F4;GEORGIAN LETTER HAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER HAR;;;; 10F5;GEORGIAN LETTER HOE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER HOE;;;; 10F6;GEORGIAN LETTER FI;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER FI;;;; 10F7;GEORGIAN LETTER YN;Lo;0;L;;;;;N;;;;; 10F8;GEORGIAN LETTER ELIFI;Lo;0;L;;;;;N;;;;; 10FB;GEORGIAN PARAGRAPH SEPARATOR;Po;0;L;;;;;N;;;;; 1100;HANGUL CHOSEONG KIYEOK;Lo;0;L;;;;;N;;g *;;; 1101;HANGUL CHOSEONG SSANGKIYEOK;Lo;0;L;;;;;N;;gg *;;; 1102;HANGUL CHOSEONG NIEUN;Lo;0;L;;;;;N;;n *;;; 1103;HANGUL CHOSEONG TIKEUT;Lo;0;L;;;;;N;;d *;;; 1104;HANGUL CHOSEONG SSANGTIKEUT;Lo;0;L;;;;;N;;dd *;;; 1105;HANGUL CHOSEONG RIEUL;Lo;0;L;;;;;N;;r *;;; 1106;HANGUL CHOSEONG MIEUM;Lo;0;L;;;;;N;;m *;;; 1107;HANGUL CHOSEONG PIEUP;Lo;0;L;;;;;N;;b *;;; 1108;HANGUL CHOSEONG SSANGPIEUP;Lo;0;L;;;;;N;;bb *;;; 1109;HANGUL CHOSEONG SIOS;Lo;0;L;;;;;N;;s *;;; 110A;HANGUL CHOSEONG SSANGSIOS;Lo;0;L;;;;;N;;ss *;;; 110B;HANGUL CHOSEONG IEUNG;Lo;0;L;;;;;N;;;;; 110C;HANGUL CHOSEONG CIEUC;Lo;0;L;;;;;N;;j *;;; 110D;HANGUL CHOSEONG SSANGCIEUC;Lo;0;L;;;;;N;;jj *;;; 110E;HANGUL CHOSEONG CHIEUCH;Lo;0;L;;;;;N;;c *;;; 110F;HANGUL CHOSEONG KHIEUKH;Lo;0;L;;;;;N;;k *;;; 1110;HANGUL CHOSEONG THIEUTH;Lo;0;L;;;;;N;;t *;;; 1111;HANGUL CHOSEONG PHIEUPH;Lo;0;L;;;;;N;;p *;;; 1112;HANGUL CHOSEONG HIEUH;Lo;0;L;;;;;N;;h *;;; 1113;HANGUL CHOSEONG NIEUN-KIYEOK;Lo;0;L;;;;;N;;;;; 1114;HANGUL CHOSEONG SSANGNIEUN;Lo;0;L;;;;;N;;;;; 1115;HANGUL CHOSEONG NIEUN-TIKEUT;Lo;0;L;;;;;N;;;;; 1116;HANGUL CHOSEONG NIEUN-PIEUP;Lo;0;L;;;;;N;;;;; 1117;HANGUL CHOSEONG TIKEUT-KIYEOK;Lo;0;L;;;;;N;;;;; 1118;HANGUL CHOSEONG RIEUL-NIEUN;Lo;0;L;;;;;N;;;;; 1119;HANGUL CHOSEONG SSANGRIEUL;Lo;0;L;;;;;N;;;;; 111A;HANGUL CHOSEONG RIEUL-HIEUH;Lo;0;L;;;;;N;;;;; 111B;HANGUL CHOSEONG KAPYEOUNRIEUL;Lo;0;L;;;;;N;;;;; 111C;HANGUL CHOSEONG MIEUM-PIEUP;Lo;0;L;;;;;N;;;;; 111D;HANGUL CHOSEONG KAPYEOUNMIEUM;Lo;0;L;;;;;N;;;;; 111E;HANGUL CHOSEONG PIEUP-KIYEOK;Lo;0;L;;;;;N;;;;; 111F;HANGUL CHOSEONG PIEUP-NIEUN;Lo;0;L;;;;;N;;;;; 1120;HANGUL CHOSEONG PIEUP-TIKEUT;Lo;0;L;;;;;N;;;;; 1121;HANGUL CHOSEONG PIEUP-SIOS;Lo;0;L;;;;;N;;;;; 1122;HANGUL CHOSEONG PIEUP-SIOS-KIYEOK;Lo;0;L;;;;;N;;;;; 1123;HANGUL CHOSEONG PIEUP-SIOS-TIKEUT;Lo;0;L;;;;;N;;;;; 1124;HANGUL CHOSEONG PIEUP-SIOS-PIEUP;Lo;0;L;;;;;N;;;;; 1125;HANGUL CHOSEONG PIEUP-SSANGSIOS;Lo;0;L;;;;;N;;;;; 1126;HANGUL CHOSEONG PIEUP-SIOS-CIEUC;Lo;0;L;;;;;N;;;;; 1127;HANGUL CHOSEONG PIEUP-CIEUC;Lo;0;L;;;;;N;;;;; 1128;HANGUL CHOSEONG PIEUP-CHIEUCH;Lo;0;L;;;;;N;;;;; 1129;HANGUL CHOSEONG PIEUP-THIEUTH;Lo;0;L;;;;;N;;;;; 112A;HANGUL CHOSEONG PIEUP-PHIEUPH;Lo;0;L;;;;;N;;;;; 112B;HANGUL CHOSEONG KAPYEOUNPIEUP;Lo;0;L;;;;;N;;;;; 112C;HANGUL CHOSEONG KAPYEOUNSSANGPIEUP;Lo;0;L;;;;;N;;;;; 112D;HANGUL CHOSEONG SIOS-KIYEOK;Lo;0;L;;;;;N;;;;; 112E;HANGUL CHOSEONG SIOS-NIEUN;Lo;0;L;;;;;N;;;;; 112F;HANGUL CHOSEONG SIOS-TIKEUT;Lo;0;L;;;;;N;;;;; 1130;HANGUL CHOSEONG SIOS-RIEUL;Lo;0;L;;;;;N;;;;; 1131;HANGUL CHOSEONG SIOS-MIEUM;Lo;0;L;;;;;N;;;;; 1132;HANGUL CHOSEONG SIOS-PIEUP;Lo;0;L;;;;;N;;;;; 1133;HANGUL CHOSEONG SIOS-PIEUP-KIYEOK;Lo;0;L;;;;;N;;;;; 1134;HANGUL CHOSEONG SIOS-SSANGSIOS;Lo;0;L;;;;;N;;;;; 1135;HANGUL CHOSEONG SIOS-IEUNG;Lo;0;L;;;;;N;;;;; 1136;HANGUL CHOSEONG SIOS-CIEUC;Lo;0;L;;;;;N;;;;; 1137;HANGUL CHOSEONG SIOS-CHIEUCH;Lo;0;L;;;;;N;;;;; 1138;HANGUL CHOSEONG SIOS-KHIEUKH;Lo;0;L;;;;;N;;;;; 1139;HANGUL CHOSEONG SIOS-THIEUTH;Lo;0;L;;;;;N;;;;; 113A;HANGUL CHOSEONG SIOS-PHIEUPH;Lo;0;L;;;;;N;;;;; 113B;HANGUL CHOSEONG SIOS-HIEUH;Lo;0;L;;;;;N;;;;; 113C;HANGUL CHOSEONG CHITUEUMSIOS;Lo;0;L;;;;;N;;;;; 113D;HANGUL CHOSEONG CHITUEUMSSANGSIOS;Lo;0;L;;;;;N;;;;; 113E;HANGUL CHOSEONG CEONGCHIEUMSIOS;Lo;0;L;;;;;N;;;;; 113F;HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS;Lo;0;L;;;;;N;;;;; 1140;HANGUL CHOSEONG PANSIOS;Lo;0;L;;;;;N;;;;; 1141;HANGUL CHOSEONG IEUNG-KIYEOK;Lo;0;L;;;;;N;;;;; 1142;HANGUL CHOSEONG IEUNG-TIKEUT;Lo;0;L;;;;;N;;;;; 1143;HANGUL CHOSEONG IEUNG-MIEUM;Lo;0;L;;;;;N;;;;; 1144;HANGUL CHOSEONG IEUNG-PIEUP;Lo;0;L;;;;;N;;;;; 1145;HANGUL CHOSEONG IEUNG-SIOS;Lo;0;L;;;;;N;;;;; 1146;HANGUL CHOSEONG IEUNG-PANSIOS;Lo;0;L;;;;;N;;;;; 1147;HANGUL CHOSEONG SSANGIEUNG;Lo;0;L;;;;;N;;;;; 1148;HANGUL CHOSEONG IEUNG-CIEUC;Lo;0;L;;;;;N;;;;; 1149;HANGUL CHOSEONG IEUNG-CHIEUCH;Lo;0;L;;;;;N;;;;; 114A;HANGUL CHOSEONG IEUNG-THIEUTH;Lo;0;L;;;;;N;;;;; 114B;HANGUL CHOSEONG IEUNG-PHIEUPH;Lo;0;L;;;;;N;;;;; 114C;HANGUL CHOSEONG YESIEUNG;Lo;0;L;;;;;N;;;;; 114D;HANGUL CHOSEONG CIEUC-IEUNG;Lo;0;L;;;;;N;;;;; 114E;HANGUL CHOSEONG CHITUEUMCIEUC;Lo;0;L;;;;;N;;;;; 114F;HANGUL CHOSEONG CHITUEUMSSANGCIEUC;Lo;0;L;;;;;N;;;;; 1150;HANGUL CHOSEONG CEONGCHIEUMCIEUC;Lo;0;L;;;;;N;;;;; 1151;HANGUL CHOSEONG CEONGCHIEUMSSANGCIEUC;Lo;0;L;;;;;N;;;;; 1152;HANGUL CHOSEONG CHIEUCH-KHIEUKH;Lo;0;L;;;;;N;;;;; 1153;HANGUL CHOSEONG CHIEUCH-HIEUH;Lo;0;L;;;;;N;;;;; 1154;HANGUL CHOSEONG CHITUEUMCHIEUCH;Lo;0;L;;;;;N;;;;; 1155;HANGUL CHOSEONG CEONGCHIEUMCHIEUCH;Lo;0;L;;;;;N;;;;; 1156;HANGUL CHOSEONG PHIEUPH-PIEUP;Lo;0;L;;;;;N;;;;; 1157;HANGUL CHOSEONG KAPYEOUNPHIEUPH;Lo;0;L;;;;;N;;;;; 1158;HANGUL CHOSEONG SSANGHIEUH;Lo;0;L;;;;;N;;;;; 1159;HANGUL CHOSEONG YEORINHIEUH;Lo;0;L;;;;;N;;;;; 115F;HANGUL CHOSEONG FILLER;Lo;0;L;;;;;N;;;;; 1160;HANGUL JUNGSEONG FILLER;Lo;0;L;;;;;N;;;;; 1161;HANGUL JUNGSEONG A;Lo;0;L;;;;;N;;;;; 1162;HANGUL JUNGSEONG AE;Lo;0;L;;;;;N;;;;; 1163;HANGUL JUNGSEONG YA;Lo;0;L;;;;;N;;;;; 1164;HANGUL JUNGSEONG YAE;Lo;0;L;;;;;N;;;;; 1165;HANGUL JUNGSEONG EO;Lo;0;L;;;;;N;;;;; 1166;HANGUL JUNGSEONG E;Lo;0;L;;;;;N;;;;; 1167;HANGUL JUNGSEONG YEO;Lo;0;L;;;;;N;;;;; 1168;HANGUL JUNGSEONG YE;Lo;0;L;;;;;N;;;;; 1169;HANGUL JUNGSEONG O;Lo;0;L;;;;;N;;;;; 116A;HANGUL JUNGSEONG WA;Lo;0;L;;;;;N;;;;; 116B;HANGUL JUNGSEONG WAE;Lo;0;L;;;;;N;;;;; 116C;HANGUL JUNGSEONG OE;Lo;0;L;;;;;N;;;;; 116D;HANGUL JUNGSEONG YO;Lo;0;L;;;;;N;;;;; 116E;HANGUL JUNGSEONG U;Lo;0;L;;;;;N;;;;; 116F;HANGUL JUNGSEONG WEO;Lo;0;L;;;;;N;;;;; 1170;HANGUL JUNGSEONG WE;Lo;0;L;;;;;N;;;;; 1171;HANGUL JUNGSEONG WI;Lo;0;L;;;;;N;;;;; 1172;HANGUL JUNGSEONG YU;Lo;0;L;;;;;N;;;;; 1173;HANGUL JUNGSEONG EU;Lo;0;L;;;;;N;;;;; 1174;HANGUL JUNGSEONG YI;Lo;0;L;;;;;N;;;;; 1175;HANGUL JUNGSEONG I;Lo;0;L;;;;;N;;;;; 1176;HANGUL JUNGSEONG A-O;Lo;0;L;;;;;N;;;;; 1177;HANGUL JUNGSEONG A-U;Lo;0;L;;;;;N;;;;; 1178;HANGUL JUNGSEONG YA-O;Lo;0;L;;;;;N;;;;; 1179;HANGUL JUNGSEONG YA-YO;Lo;0;L;;;;;N;;;;; 117A;HANGUL JUNGSEONG EO-O;Lo;0;L;;;;;N;;;;; 117B;HANGUL JUNGSEONG EO-U;Lo;0;L;;;;;N;;;;; 117C;HANGUL JUNGSEONG EO-EU;Lo;0;L;;;;;N;;;;; 117D;HANGUL JUNGSEONG YEO-O;Lo;0;L;;;;;N;;;;; 117E;HANGUL JUNGSEONG YEO-U;Lo;0;L;;;;;N;;;;; 117F;HANGUL JUNGSEONG O-EO;Lo;0;L;;;;;N;;;;; 1180;HANGUL JUNGSEONG O-E;Lo;0;L;;;;;N;;;;; 1181;HANGUL JUNGSEONG O-YE;Lo;0;L;;;;;N;;;;; 1182;HANGUL JUNGSEONG O-O;Lo;0;L;;;;;N;;;;; 1183;HANGUL JUNGSEONG O-U;Lo;0;L;;;;;N;;;;; 1184;HANGUL JUNGSEONG YO-YA;Lo;0;L;;;;;N;;;;; 1185;HANGUL JUNGSEONG YO-YAE;Lo;0;L;;;;;N;;;;; 1186;HANGUL JUNGSEONG YO-YEO;Lo;0;L;;;;;N;;;;; 1187;HANGUL JUNGSEONG YO-O;Lo;0;L;;;;;N;;;;; 1188;HANGUL JUNGSEONG YO-I;Lo;0;L;;;;;N;;;;; 1189;HANGUL JUNGSEONG U-A;Lo;0;L;;;;;N;;;;; 118A;HANGUL JUNGSEONG U-AE;Lo;0;L;;;;;N;;;;; 118B;HANGUL JUNGSEONG U-EO-EU;Lo;0;L;;;;;N;;;;; 118C;HANGUL JUNGSEONG U-YE;Lo;0;L;;;;;N;;;;; 118D;HANGUL JUNGSEONG U-U;Lo;0;L;;;;;N;;;;; 118E;HANGUL JUNGSEONG YU-A;Lo;0;L;;;;;N;;;;; 118F;HANGUL JUNGSEONG YU-EO;Lo;0;L;;;;;N;;;;; 1190;HANGUL JUNGSEONG YU-E;Lo;0;L;;;;;N;;;;; 1191;HANGUL JUNGSEONG YU-YEO;Lo;0;L;;;;;N;;;;; 1192;HANGUL JUNGSEONG YU-YE;Lo;0;L;;;;;N;;;;; 1193;HANGUL JUNGSEONG YU-U;Lo;0;L;;;;;N;;;;; 1194;HANGUL JUNGSEONG YU-I;Lo;0;L;;;;;N;;;;; 1195;HANGUL JUNGSEONG EU-U;Lo;0;L;;;;;N;;;;; 1196;HANGUL JUNGSEONG EU-EU;Lo;0;L;;;;;N;;;;; 1197;HANGUL JUNGSEONG YI-U;Lo;0;L;;;;;N;;;;; 1198;HANGUL JUNGSEONG I-A;Lo;0;L;;;;;N;;;;; 1199;HANGUL JUNGSEONG I-YA;Lo;0;L;;;;;N;;;;; 119A;HANGUL JUNGSEONG I-O;Lo;0;L;;;;;N;;;;; 119B;HANGUL JUNGSEONG I-U;Lo;0;L;;;;;N;;;;; 119C;HANGUL JUNGSEONG I-EU;Lo;0;L;;;;;N;;;;; 119D;HANGUL JUNGSEONG I-ARAEA;Lo;0;L;;;;;N;;;;; 119E;HANGUL JUNGSEONG ARAEA;Lo;0;L;;;;;N;;;;; 119F;HANGUL JUNGSEONG ARAEA-EO;Lo;0;L;;;;;N;;;;; 11A0;HANGUL JUNGSEONG ARAEA-U;Lo;0;L;;;;;N;;;;; 11A1;HANGUL JUNGSEONG ARAEA-I;Lo;0;L;;;;;N;;;;; 11A2;HANGUL JUNGSEONG SSANGARAEA;Lo;0;L;;;;;N;;;;; 11A8;HANGUL JONGSEONG KIYEOK;Lo;0;L;;;;;N;;g *;;; 11A9;HANGUL JONGSEONG SSANGKIYEOK;Lo;0;L;;;;;N;;gg *;;; 11AA;HANGUL JONGSEONG KIYEOK-SIOS;Lo;0;L;;;;;N;;gs *;;; 11AB;HANGUL JONGSEONG NIEUN;Lo;0;L;;;;;N;;n *;;; 11AC;HANGUL JONGSEONG NIEUN-CIEUC;Lo;0;L;;;;;N;;nj *;;; 11AD;HANGUL JONGSEONG NIEUN-HIEUH;Lo;0;L;;;;;N;;nh *;;; 11AE;HANGUL JONGSEONG TIKEUT;Lo;0;L;;;;;N;;d *;;; 11AF;HANGUL JONGSEONG RIEUL;Lo;0;L;;;;;N;;l *;;; 11B0;HANGUL JONGSEONG RIEUL-KIYEOK;Lo;0;L;;;;;N;;lg *;;; 11B1;HANGUL JONGSEONG RIEUL-MIEUM;Lo;0;L;;;;;N;;lm *;;; 11B2;HANGUL JONGSEONG RIEUL-PIEUP;Lo;0;L;;;;;N;;lb *;;; 11B3;HANGUL JONGSEONG RIEUL-SIOS;Lo;0;L;;;;;N;;ls *;;; 11B4;HANGUL JONGSEONG RIEUL-THIEUTH;Lo;0;L;;;;;N;;lt *;;; 11B5;HANGUL JONGSEONG RIEUL-PHIEUPH;Lo;0;L;;;;;N;;lp *;;; 11B6;HANGUL JONGSEONG RIEUL-HIEUH;Lo;0;L;;;;;N;;lh *;;; 11B7;HANGUL JONGSEONG MIEUM;Lo;0;L;;;;;N;;m *;;; 11B8;HANGUL JONGSEONG PIEUP;Lo;0;L;;;;;N;;b *;;; 11B9;HANGUL JONGSEONG PIEUP-SIOS;Lo;0;L;;;;;N;;bs *;;; 11BA;HANGUL JONGSEONG SIOS;Lo;0;L;;;;;N;;s *;;; 11BB;HANGUL JONGSEONG SSANGSIOS;Lo;0;L;;;;;N;;ss *;;; 11BC;HANGUL JONGSEONG IEUNG;Lo;0;L;;;;;N;;ng *;;; 11BD;HANGUL JONGSEONG CIEUC;Lo;0;L;;;;;N;;j *;;; 11BE;HANGUL JONGSEONG CHIEUCH;Lo;0;L;;;;;N;;c *;;; 11BF;HANGUL JONGSEONG KHIEUKH;Lo;0;L;;;;;N;;k *;;; 11C0;HANGUL JONGSEONG THIEUTH;Lo;0;L;;;;;N;;t *;;; 11C1;HANGUL JONGSEONG PHIEUPH;Lo;0;L;;;;;N;;p *;;; 11C2;HANGUL JONGSEONG HIEUH;Lo;0;L;;;;;N;;h *;;; 11C3;HANGUL JONGSEONG KIYEOK-RIEUL;Lo;0;L;;;;;N;;;;; 11C4;HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK;Lo;0;L;;;;;N;;;;; 11C5;HANGUL JONGSEONG NIEUN-KIYEOK;Lo;0;L;;;;;N;;;;; 11C6;HANGUL JONGSEONG NIEUN-TIKEUT;Lo;0;L;;;;;N;;;;; 11C7;HANGUL JONGSEONG NIEUN-SIOS;Lo;0;L;;;;;N;;;;; 11C8;HANGUL JONGSEONG NIEUN-PANSIOS;Lo;0;L;;;;;N;;;;; 11C9;HANGUL JONGSEONG NIEUN-THIEUTH;Lo;0;L;;;;;N;;;;; 11CA;HANGUL JONGSEONG TIKEUT-KIYEOK;Lo;0;L;;;;;N;;;;; 11CB;HANGUL JONGSEONG TIKEUT-RIEUL;Lo;0;L;;;;;N;;;;; 11CC;HANGUL JONGSEONG RIEUL-KIYEOK-SIOS;Lo;0;L;;;;;N;;;;; 11CD;HANGUL JONGSEONG RIEUL-NIEUN;Lo;0;L;;;;;N;;;;; 11CE;HANGUL JONGSEONG RIEUL-TIKEUT;Lo;0;L;;;;;N;;;;; 11CF;HANGUL JONGSEONG RIEUL-TIKEUT-HIEUH;Lo;0;L;;;;;N;;;;; 11D0;HANGUL JONGSEONG SSANGRIEUL;Lo;0;L;;;;;N;;;;; 11D1;HANGUL JONGSEONG RIEUL-MIEUM-KIYEOK;Lo;0;L;;;;;N;;;;; 11D2;HANGUL JONGSEONG RIEUL-MIEUM-SIOS;Lo;0;L;;;;;N;;;;; 11D3;HANGUL JONGSEONG RIEUL-PIEUP-SIOS;Lo;0;L;;;;;N;;;;; 11D4;HANGUL JONGSEONG RIEUL-PIEUP-HIEUH;Lo;0;L;;;;;N;;;;; 11D5;HANGUL JONGSEONG RIEUL-KAPYEOUNPIEUP;Lo;0;L;;;;;N;;;;; 11D6;HANGUL JONGSEONG RIEUL-SSANGSIOS;Lo;0;L;;;;;N;;;;; 11D7;HANGUL JONGSEONG RIEUL-PANSIOS;Lo;0;L;;;;;N;;;;; 11D8;HANGUL JONGSEONG RIEUL-KHIEUKH;Lo;0;L;;;;;N;;;;; 11D9;HANGUL JONGSEONG RIEUL-YEORINHIEUH;Lo;0;L;;;;;N;;;;; 11DA;HANGUL JONGSEONG MIEUM-KIYEOK;Lo;0;L;;;;;N;;;;; 11DB;HANGUL JONGSEONG MIEUM-RIEUL;Lo;0;L;;;;;N;;;;; 11DC;HANGUL JONGSEONG MIEUM-PIEUP;Lo;0;L;;;;;N;;;;; 11DD;HANGUL JONGSEONG MIEUM-SIOS;Lo;0;L;;;;;N;;;;; 11DE;HANGUL JONGSEONG MIEUM-SSANGSIOS;Lo;0;L;;;;;N;;;;; 11DF;HANGUL JONGSEONG MIEUM-PANSIOS;Lo;0;L;;;;;N;;;;; 11E0;HANGUL JONGSEONG MIEUM-CHIEUCH;Lo;0;L;;;;;N;;;;; 11E1;HANGUL JONGSEONG MIEUM-HIEUH;Lo;0;L;;;;;N;;;;; 11E2;HANGUL JONGSEONG KAPYEOUNMIEUM;Lo;0;L;;;;;N;;;;; 11E3;HANGUL JONGSEONG PIEUP-RIEUL;Lo;0;L;;;;;N;;;;; 11E4;HANGUL JONGSEONG PIEUP-PHIEUPH;Lo;0;L;;;;;N;;;;; 11E5;HANGUL JONGSEONG PIEUP-HIEUH;Lo;0;L;;;;;N;;;;; 11E6;HANGUL JONGSEONG KAPYEOUNPIEUP;Lo;0;L;;;;;N;;;;; 11E7;HANGUL JONGSEONG SIOS-KIYEOK;Lo;0;L;;;;;N;;;;; 11E8;HANGUL JONGSEONG SIOS-TIKEUT;Lo;0;L;;;;;N;;;;; 11E9;HANGUL JONGSEONG SIOS-RIEUL;Lo;0;L;;;;;N;;;;; 11EA;HANGUL JONGSEONG SIOS-PIEUP;Lo;0;L;;;;;N;;;;; 11EB;HANGUL JONGSEONG PANSIOS;Lo;0;L;;;;;N;;;;; 11EC;HANGUL JONGSEONG IEUNG-KIYEOK;Lo;0;L;;;;;N;;;;; 11ED;HANGUL JONGSEONG IEUNG-SSANGKIYEOK;Lo;0;L;;;;;N;;;;; 11EE;HANGUL JONGSEONG SSANGIEUNG;Lo;0;L;;;;;N;;;;; 11EF;HANGUL JONGSEONG IEUNG-KHIEUKH;Lo;0;L;;;;;N;;;;; 11F0;HANGUL JONGSEONG YESIEUNG;Lo;0;L;;;;;N;;;;; 11F1;HANGUL JONGSEONG YESIEUNG-SIOS;Lo;0;L;;;;;N;;;;; 11F2;HANGUL JONGSEONG YESIEUNG-PANSIOS;Lo;0;L;;;;;N;;;;; 11F3;HANGUL JONGSEONG PHIEUPH-PIEUP;Lo;0;L;;;;;N;;;;; 11F4;HANGUL JONGSEONG KAPYEOUNPHIEUPH;Lo;0;L;;;;;N;;;;; 11F5;HANGUL JONGSEONG HIEUH-NIEUN;Lo;0;L;;;;;N;;;;; 11F6;HANGUL JONGSEONG HIEUH-RIEUL;Lo;0;L;;;;;N;;;;; 11F7;HANGUL JONGSEONG HIEUH-MIEUM;Lo;0;L;;;;;N;;;;; 11F8;HANGUL JONGSEONG HIEUH-PIEUP;Lo;0;L;;;;;N;;;;; 11F9;HANGUL JONGSEONG YEORINHIEUH;Lo;0;L;;;;;N;;;;; 1200;ETHIOPIC SYLLABLE HA;Lo;0;L;;;;;N;;;;; 1201;ETHIOPIC SYLLABLE HU;Lo;0;L;;;;;N;;;;; 1202;ETHIOPIC SYLLABLE HI;Lo;0;L;;;;;N;;;;; 1203;ETHIOPIC SYLLABLE HAA;Lo;0;L;;;;;N;;;;; 1204;ETHIOPIC SYLLABLE HEE;Lo;0;L;;;;;N;;;;; 1205;ETHIOPIC SYLLABLE HE;Lo;0;L;;;;;N;;;;; 1206;ETHIOPIC SYLLABLE HO;Lo;0;L;;;;;N;;;;; 1208;ETHIOPIC SYLLABLE LA;Lo;0;L;;;;;N;;;;; 1209;ETHIOPIC SYLLABLE LU;Lo;0;L;;;;;N;;;;; 120A;ETHIOPIC SYLLABLE LI;Lo;0;L;;;;;N;;;;; 120B;ETHIOPIC SYLLABLE LAA;Lo;0;L;;;;;N;;;;; 120C;ETHIOPIC SYLLABLE LEE;Lo;0;L;;;;;N;;;;; 120D;ETHIOPIC SYLLABLE LE;Lo;0;L;;;;;N;;;;; 120E;ETHIOPIC SYLLABLE LO;Lo;0;L;;;;;N;;;;; 120F;ETHIOPIC SYLLABLE LWA;Lo;0;L;;;;;N;;;;; 1210;ETHIOPIC SYLLABLE HHA;Lo;0;L;;;;;N;;;;; 1211;ETHIOPIC SYLLABLE HHU;Lo;0;L;;;;;N;;;;; 1212;ETHIOPIC SYLLABLE HHI;Lo;0;L;;;;;N;;;;; 1213;ETHIOPIC SYLLABLE HHAA;Lo;0;L;;;;;N;;;;; 1214;ETHIOPIC SYLLABLE HHEE;Lo;0;L;;;;;N;;;;; 1215;ETHIOPIC SYLLABLE HHE;Lo;0;L;;;;;N;;;;; 1216;ETHIOPIC SYLLABLE HHO;Lo;0;L;;;;;N;;;;; 1217;ETHIOPIC SYLLABLE HHWA;Lo;0;L;;;;;N;;;;; 1218;ETHIOPIC SYLLABLE MA;Lo;0;L;;;;;N;;;;; 1219;ETHIOPIC SYLLABLE MU;Lo;0;L;;;;;N;;;;; 121A;ETHIOPIC SYLLABLE MI;Lo;0;L;;;;;N;;;;; 121B;ETHIOPIC SYLLABLE MAA;Lo;0;L;;;;;N;;;;; 121C;ETHIOPIC SYLLABLE MEE;Lo;0;L;;;;;N;;;;; 121D;ETHIOPIC SYLLABLE ME;Lo;0;L;;;;;N;;;;; 121E;ETHIOPIC SYLLABLE MO;Lo;0;L;;;;;N;;;;; 121F;ETHIOPIC SYLLABLE MWA;Lo;0;L;;;;;N;;;;; 1220;ETHIOPIC SYLLABLE SZA;Lo;0;L;;;;;N;;;;; 1221;ETHIOPIC SYLLABLE SZU;Lo;0;L;;;;;N;;;;; 1222;ETHIOPIC SYLLABLE SZI;Lo;0;L;;;;;N;;;;; 1223;ETHIOPIC SYLLABLE SZAA;Lo;0;L;;;;;N;;;;; 1224;ETHIOPIC SYLLABLE SZEE;Lo;0;L;;;;;N;;;;; 1225;ETHIOPIC SYLLABLE SZE;Lo;0;L;;;;;N;;;;; 1226;ETHIOPIC SYLLABLE SZO;Lo;0;L;;;;;N;;;;; 1227;ETHIOPIC SYLLABLE SZWA;Lo;0;L;;;;;N;;;;; 1228;ETHIOPIC SYLLABLE RA;Lo;0;L;;;;;N;;;;; 1229;ETHIOPIC SYLLABLE RU;Lo;0;L;;;;;N;;;;; 122A;ETHIOPIC SYLLABLE RI;Lo;0;L;;;;;N;;;;; 122B;ETHIOPIC SYLLABLE RAA;Lo;0;L;;;;;N;;;;; 122C;ETHIOPIC SYLLABLE REE;Lo;0;L;;;;;N;;;;; 122D;ETHIOPIC SYLLABLE RE;Lo;0;L;;;;;N;;;;; 122E;ETHIOPIC SYLLABLE RO;Lo;0;L;;;;;N;;;;; 122F;ETHIOPIC SYLLABLE RWA;Lo;0;L;;;;;N;;;;; 1230;ETHIOPIC SYLLABLE SA;Lo;0;L;;;;;N;;;;; 1231;ETHIOPIC SYLLABLE SU;Lo;0;L;;;;;N;;;;; 1232;ETHIOPIC SYLLABLE SI;Lo;0;L;;;;;N;;;;; 1233;ETHIOPIC SYLLABLE SAA;Lo;0;L;;;;;N;;;;; 1234;ETHIOPIC SYLLABLE SEE;Lo;0;L;;;;;N;;;;; 1235;ETHIOPIC SYLLABLE SE;Lo;0;L;;;;;N;;;;; 1236;ETHIOPIC SYLLABLE SO;Lo;0;L;;;;;N;;;;; 1237;ETHIOPIC SYLLABLE SWA;Lo;0;L;;;;;N;;;;; 1238;ETHIOPIC SYLLABLE SHA;Lo;0;L;;;;;N;;;;; 1239;ETHIOPIC SYLLABLE SHU;Lo;0;L;;;;;N;;;;; 123A;ETHIOPIC SYLLABLE SHI;Lo;0;L;;;;;N;;;;; 123B;ETHIOPIC SYLLABLE SHAA;Lo;0;L;;;;;N;;;;; 123C;ETHIOPIC SYLLABLE SHEE;Lo;0;L;;;;;N;;;;; 123D;ETHIOPIC SYLLABLE SHE;Lo;0;L;;;;;N;;;;; 123E;ETHIOPIC SYLLABLE SHO;Lo;0;L;;;;;N;;;;; 123F;ETHIOPIC SYLLABLE SHWA;Lo;0;L;;;;;N;;;;; 1240;ETHIOPIC SYLLABLE QA;Lo;0;L;;;;;N;;;;; 1241;ETHIOPIC SYLLABLE QU;Lo;0;L;;;;;N;;;;; 1242;ETHIOPIC SYLLABLE QI;Lo;0;L;;;;;N;;;;; 1243;ETHIOPIC SYLLABLE QAA;Lo;0;L;;;;;N;;;;; 1244;ETHIOPIC SYLLABLE QEE;Lo;0;L;;;;;N;;;;; 1245;ETHIOPIC SYLLABLE QE;Lo;0;L;;;;;N;;;;; 1246;ETHIOPIC SYLLABLE QO;Lo;0;L;;;;;N;;;;; 1248;ETHIOPIC SYLLABLE QWA;Lo;0;L;;;;;N;;;;; 124A;ETHIOPIC SYLLABLE QWI;Lo;0;L;;;;;N;;;;; 124B;ETHIOPIC SYLLABLE QWAA;Lo;0;L;;;;;N;;;;; 124C;ETHIOPIC SYLLABLE QWEE;Lo;0;L;;;;;N;;;;; 124D;ETHIOPIC SYLLABLE QWE;Lo;0;L;;;;;N;;;;; 1250;ETHIOPIC SYLLABLE QHA;Lo;0;L;;;;;N;;;;; 1251;ETHIOPIC SYLLABLE QHU;Lo;0;L;;;;;N;;;;; 1252;ETHIOPIC SYLLABLE QHI;Lo;0;L;;;;;N;;;;; 1253;ETHIOPIC SYLLABLE QHAA;Lo;0;L;;;;;N;;;;; 1254;ETHIOPIC SYLLABLE QHEE;Lo;0;L;;;;;N;;;;; 1255;ETHIOPIC SYLLABLE QHE;Lo;0;L;;;;;N;;;;; 1256;ETHIOPIC SYLLABLE QHO;Lo;0;L;;;;;N;;;;; 1258;ETHIOPIC SYLLABLE QHWA;Lo;0;L;;;;;N;;;;; 125A;ETHIOPIC SYLLABLE QHWI;Lo;0;L;;;;;N;;;;; 125B;ETHIOPIC SYLLABLE QHWAA;Lo;0;L;;;;;N;;;;; 125C;ETHIOPIC SYLLABLE QHWEE;Lo;0;L;;;;;N;;;;; 125D;ETHIOPIC SYLLABLE QHWE;Lo;0;L;;;;;N;;;;; 1260;ETHIOPIC SYLLABLE BA;Lo;0;L;;;;;N;;;;; 1261;ETHIOPIC SYLLABLE BU;Lo;0;L;;;;;N;;;;; 1262;ETHIOPIC SYLLABLE BI;Lo;0;L;;;;;N;;;;; 1263;ETHIOPIC SYLLABLE BAA;Lo;0;L;;;;;N;;;;; 1264;ETHIOPIC SYLLABLE BEE;Lo;0;L;;;;;N;;;;; 1265;ETHIOPIC SYLLABLE BE;Lo;0;L;;;;;N;;;;; 1266;ETHIOPIC SYLLABLE BO;Lo;0;L;;;;;N;;;;; 1267;ETHIOPIC SYLLABLE BWA;Lo;0;L;;;;;N;;;;; 1268;ETHIOPIC SYLLABLE VA;Lo;0;L;;;;;N;;;;; 1269;ETHIOPIC SYLLABLE VU;Lo;0;L;;;;;N;;;;; 126A;ETHIOPIC SYLLABLE VI;Lo;0;L;;;;;N;;;;; 126B;ETHIOPIC SYLLABLE VAA;Lo;0;L;;;;;N;;;;; 126C;ETHIOPIC SYLLABLE VEE;Lo;0;L;;;;;N;;;;; 126D;ETHIOPIC SYLLABLE VE;Lo;0;L;;;;;N;;;;; 126E;ETHIOPIC SYLLABLE VO;Lo;0;L;;;;;N;;;;; 126F;ETHIOPIC SYLLABLE VWA;Lo;0;L;;;;;N;;;;; 1270;ETHIOPIC SYLLABLE TA;Lo;0;L;;;;;N;;;;; 1271;ETHIOPIC SYLLABLE TU;Lo;0;L;;;;;N;;;;; 1272;ETHIOPIC SYLLABLE TI;Lo;0;L;;;;;N;;;;; 1273;ETHIOPIC SYLLABLE TAA;Lo;0;L;;;;;N;;;;; 1274;ETHIOPIC SYLLABLE TEE;Lo;0;L;;;;;N;;;;; 1275;ETHIOPIC SYLLABLE TE;Lo;0;L;;;;;N;;;;; 1276;ETHIOPIC SYLLABLE TO;Lo;0;L;;;;;N;;;;; 1277;ETHIOPIC SYLLABLE TWA;Lo;0;L;;;;;N;;;;; 1278;ETHIOPIC SYLLABLE CA;Lo;0;L;;;;;N;;;;; 1279;ETHIOPIC SYLLABLE CU;Lo;0;L;;;;;N;;;;; 127A;ETHIOPIC SYLLABLE CI;Lo;0;L;;;;;N;;;;; 127B;ETHIOPIC SYLLABLE CAA;Lo;0;L;;;;;N;;;;; 127C;ETHIOPIC SYLLABLE CEE;Lo;0;L;;;;;N;;;;; 127D;ETHIOPIC SYLLABLE CE;Lo;0;L;;;;;N;;;;; 127E;ETHIOPIC SYLLABLE CO;Lo;0;L;;;;;N;;;;; 127F;ETHIOPIC SYLLABLE CWA;Lo;0;L;;;;;N;;;;; 1280;ETHIOPIC SYLLABLE XA;Lo;0;L;;;;;N;;;;; 1281;ETHIOPIC SYLLABLE XU;Lo;0;L;;;;;N;;;;; 1282;ETHIOPIC SYLLABLE XI;Lo;0;L;;;;;N;;;;; 1283;ETHIOPIC SYLLABLE XAA;Lo;0;L;;;;;N;;;;; 1284;ETHIOPIC SYLLABLE XEE;Lo;0;L;;;;;N;;;;; 1285;ETHIOPIC SYLLABLE XE;Lo;0;L;;;;;N;;;;; 1286;ETHIOPIC SYLLABLE XO;Lo;0;L;;;;;N;;;;; 1288;ETHIOPIC SYLLABLE XWA;Lo;0;L;;;;;N;;;;; 128A;ETHIOPIC SYLLABLE XWI;Lo;0;L;;;;;N;;;;; 128B;ETHIOPIC SYLLABLE XWAA;Lo;0;L;;;;;N;;;;; 128C;ETHIOPIC SYLLABLE XWEE;Lo;0;L;;;;;N;;;;; 128D;ETHIOPIC SYLLABLE XWE;Lo;0;L;;;;;N;;;;; 1290;ETHIOPIC SYLLABLE NA;Lo;0;L;;;;;N;;;;; 1291;ETHIOPIC SYLLABLE NU;Lo;0;L;;;;;N;;;;; 1292;ETHIOPIC SYLLABLE NI;Lo;0;L;;;;;N;;;;; 1293;ETHIOPIC SYLLABLE NAA;Lo;0;L;;;;;N;;;;; 1294;ETHIOPIC SYLLABLE NEE;Lo;0;L;;;;;N;;;;; 1295;ETHIOPIC SYLLABLE NE;Lo;0;L;;;;;N;;;;; 1296;ETHIOPIC SYLLABLE NO;Lo;0;L;;;;;N;;;;; 1297;ETHIOPIC SYLLABLE NWA;Lo;0;L;;;;;N;;;;; 1298;ETHIOPIC SYLLABLE NYA;Lo;0;L;;;;;N;;;;; 1299;ETHIOPIC SYLLABLE NYU;Lo;0;L;;;;;N;;;;; 129A;ETHIOPIC SYLLABLE NYI;Lo;0;L;;;;;N;;;;; 129B;ETHIOPIC SYLLABLE NYAA;Lo;0;L;;;;;N;;;;; 129C;ETHIOPIC SYLLABLE NYEE;Lo;0;L;;;;;N;;;;; 129D;ETHIOPIC SYLLABLE NYE;Lo;0;L;;;;;N;;;;; 129E;ETHIOPIC SYLLABLE NYO;Lo;0;L;;;;;N;;;;; 129F;ETHIOPIC SYLLABLE NYWA;Lo;0;L;;;;;N;;;;; 12A0;ETHIOPIC SYLLABLE GLOTTAL A;Lo;0;L;;;;;N;;;;; 12A1;ETHIOPIC SYLLABLE GLOTTAL U;Lo;0;L;;;;;N;;;;; 12A2;ETHIOPIC SYLLABLE GLOTTAL I;Lo;0;L;;;;;N;;;;; 12A3;ETHIOPIC SYLLABLE GLOTTAL AA;Lo;0;L;;;;;N;;;;; 12A4;ETHIOPIC SYLLABLE GLOTTAL EE;Lo;0;L;;;;;N;;;;; 12A5;ETHIOPIC SYLLABLE GLOTTAL E;Lo;0;L;;;;;N;;;;; 12A6;ETHIOPIC SYLLABLE GLOTTAL O;Lo;0;L;;;;;N;;;;; 12A7;ETHIOPIC SYLLABLE GLOTTAL WA;Lo;0;L;;;;;N;;;;; 12A8;ETHIOPIC SYLLABLE KA;Lo;0;L;;;;;N;;;;; 12A9;ETHIOPIC SYLLABLE KU;Lo;0;L;;;;;N;;;;; 12AA;ETHIOPIC SYLLABLE KI;Lo;0;L;;;;;N;;;;; 12AB;ETHIOPIC SYLLABLE KAA;Lo;0;L;;;;;N;;;;; 12AC;ETHIOPIC SYLLABLE KEE;Lo;0;L;;;;;N;;;;; 12AD;ETHIOPIC SYLLABLE KE;Lo;0;L;;;;;N;;;;; 12AE;ETHIOPIC SYLLABLE KO;Lo;0;L;;;;;N;;;;; 12B0;ETHIOPIC SYLLABLE KWA;Lo;0;L;;;;;N;;;;; 12B2;ETHIOPIC SYLLABLE KWI;Lo;0;L;;;;;N;;;;; 12B3;ETHIOPIC SYLLABLE KWAA;Lo;0;L;;;;;N;;;;; 12B4;ETHIOPIC SYLLABLE KWEE;Lo;0;L;;;;;N;;;;; 12B5;ETHIOPIC SYLLABLE KWE;Lo;0;L;;;;;N;;;;; 12B8;ETHIOPIC SYLLABLE KXA;Lo;0;L;;;;;N;;;;; 12B9;ETHIOPIC SYLLABLE KXU;Lo;0;L;;;;;N;;;;; 12BA;ETHIOPIC SYLLABLE KXI;Lo;0;L;;;;;N;;;;; 12BB;ETHIOPIC SYLLABLE KXAA;Lo;0;L;;;;;N;;;;; 12BC;ETHIOPIC SYLLABLE KXEE;Lo;0;L;;;;;N;;;;; 12BD;ETHIOPIC SYLLABLE KXE;Lo;0;L;;;;;N;;;;; 12BE;ETHIOPIC SYLLABLE KXO;Lo;0;L;;;;;N;;;;; 12C0;ETHIOPIC SYLLABLE KXWA;Lo;0;L;;;;;N;;;;; 12C2;ETHIOPIC SYLLABLE KXWI;Lo;0;L;;;;;N;;;;; 12C3;ETHIOPIC SYLLABLE KXWAA;Lo;0;L;;;;;N;;;;; 12C4;ETHIOPIC SYLLABLE KXWEE;Lo;0;L;;;;;N;;;;; 12C5;ETHIOPIC SYLLABLE KXWE;Lo;0;L;;;;;N;;;;; 12C8;ETHIOPIC SYLLABLE WA;Lo;0;L;;;;;N;;;;; 12C9;ETHIOPIC SYLLABLE WU;Lo;0;L;;;;;N;;;;; 12CA;ETHIOPIC SYLLABLE WI;Lo;0;L;;;;;N;;;;; 12CB;ETHIOPIC SYLLABLE WAA;Lo;0;L;;;;;N;;;;; 12CC;ETHIOPIC SYLLABLE WEE;Lo;0;L;;;;;N;;;;; 12CD;ETHIOPIC SYLLABLE WE;Lo;0;L;;;;;N;;;;; 12CE;ETHIOPIC SYLLABLE WO;Lo;0;L;;;;;N;;;;; 12D0;ETHIOPIC SYLLABLE PHARYNGEAL A;Lo;0;L;;;;;N;;;;; 12D1;ETHIOPIC SYLLABLE PHARYNGEAL U;Lo;0;L;;;;;N;;;;; 12D2;ETHIOPIC SYLLABLE PHARYNGEAL I;Lo;0;L;;;;;N;;;;; 12D3;ETHIOPIC SYLLABLE PHARYNGEAL AA;Lo;0;L;;;;;N;;;;; 12D4;ETHIOPIC SYLLABLE PHARYNGEAL EE;Lo;0;L;;;;;N;;;;; 12D5;ETHIOPIC SYLLABLE PHARYNGEAL E;Lo;0;L;;;;;N;;;;; 12D6;ETHIOPIC SYLLABLE PHARYNGEAL O;Lo;0;L;;;;;N;;;;; 12D8;ETHIOPIC SYLLABLE ZA;Lo;0;L;;;;;N;;;;; 12D9;ETHIOPIC SYLLABLE ZU;Lo;0;L;;;;;N;;;;; 12DA;ETHIOPIC SYLLABLE ZI;Lo;0;L;;;;;N;;;;; 12DB;ETHIOPIC SYLLABLE ZAA;Lo;0;L;;;;;N;;;;; 12DC;ETHIOPIC SYLLABLE ZEE;Lo;0;L;;;;;N;;;;; 12DD;ETHIOPIC SYLLABLE ZE;Lo;0;L;;;;;N;;;;; 12DE;ETHIOPIC SYLLABLE ZO;Lo;0;L;;;;;N;;;;; 12DF;ETHIOPIC SYLLABLE ZWA;Lo;0;L;;;;;N;;;;; 12E0;ETHIOPIC SYLLABLE ZHA;Lo;0;L;;;;;N;;;;; 12E1;ETHIOPIC SYLLABLE ZHU;Lo;0;L;;;;;N;;;;; 12E2;ETHIOPIC SYLLABLE ZHI;Lo;0;L;;;;;N;;;;; 12E3;ETHIOPIC SYLLABLE ZHAA;Lo;0;L;;;;;N;;;;; 12E4;ETHIOPIC SYLLABLE ZHEE;Lo;0;L;;;;;N;;;;; 12E5;ETHIOPIC SYLLABLE ZHE;Lo;0;L;;;;;N;;;;; 12E6;ETHIOPIC SYLLABLE ZHO;Lo;0;L;;;;;N;;;;; 12E7;ETHIOPIC SYLLABLE ZHWA;Lo;0;L;;;;;N;;;;; 12E8;ETHIOPIC SYLLABLE YA;Lo;0;L;;;;;N;;;;; 12E9;ETHIOPIC SYLLABLE YU;Lo;0;L;;;;;N;;;;; 12EA;ETHIOPIC SYLLABLE YI;Lo;0;L;;;;;N;;;;; 12EB;ETHIOPIC SYLLABLE YAA;Lo;0;L;;;;;N;;;;; 12EC;ETHIOPIC SYLLABLE YEE;Lo;0;L;;;;;N;;;;; 12ED;ETHIOPIC SYLLABLE YE;Lo;0;L;;;;;N;;;;; 12EE;ETHIOPIC SYLLABLE YO;Lo;0;L;;;;;N;;;;; 12F0;ETHIOPIC SYLLABLE DA;Lo;0;L;;;;;N;;;;; 12F1;ETHIOPIC SYLLABLE DU;Lo;0;L;;;;;N;;;;; 12F2;ETHIOPIC SYLLABLE DI;Lo;0;L;;;;;N;;;;; 12F3;ETHIOPIC SYLLABLE DAA;Lo;0;L;;;;;N;;;;; 12F4;ETHIOPIC SYLLABLE DEE;Lo;0;L;;;;;N;;;;; 12F5;ETHIOPIC SYLLABLE DE;Lo;0;L;;;;;N;;;;; 12F6;ETHIOPIC SYLLABLE DO;Lo;0;L;;;;;N;;;;; 12F7;ETHIOPIC SYLLABLE DWA;Lo;0;L;;;;;N;;;;; 12F8;ETHIOPIC SYLLABLE DDA;Lo;0;L;;;;;N;;;;; 12F9;ETHIOPIC SYLLABLE DDU;Lo;0;L;;;;;N;;;;; 12FA;ETHIOPIC SYLLABLE DDI;Lo;0;L;;;;;N;;;;; 12FB;ETHIOPIC SYLLABLE DDAA;Lo;0;L;;;;;N;;;;; 12FC;ETHIOPIC SYLLABLE DDEE;Lo;0;L;;;;;N;;;;; 12FD;ETHIOPIC SYLLABLE DDE;Lo;0;L;;;;;N;;;;; 12FE;ETHIOPIC SYLLABLE DDO;Lo;0;L;;;;;N;;;;; 12FF;ETHIOPIC SYLLABLE DDWA;Lo;0;L;;;;;N;;;;; 1300;ETHIOPIC SYLLABLE JA;Lo;0;L;;;;;N;;;;; 1301;ETHIOPIC SYLLABLE JU;Lo;0;L;;;;;N;;;;; 1302;ETHIOPIC SYLLABLE JI;Lo;0;L;;;;;N;;;;; 1303;ETHIOPIC SYLLABLE JAA;Lo;0;L;;;;;N;;;;; 1304;ETHIOPIC SYLLABLE JEE;Lo;0;L;;;;;N;;;;; 1305;ETHIOPIC SYLLABLE JE;Lo;0;L;;;;;N;;;;; 1306;ETHIOPIC SYLLABLE JO;Lo;0;L;;;;;N;;;;; 1307;ETHIOPIC SYLLABLE JWA;Lo;0;L;;;;;N;;;;; 1308;ETHIOPIC SYLLABLE GA;Lo;0;L;;;;;N;;;;; 1309;ETHIOPIC SYLLABLE GU;Lo;0;L;;;;;N;;;;; 130A;ETHIOPIC SYLLABLE GI;Lo;0;L;;;;;N;;;;; 130B;ETHIOPIC SYLLABLE GAA;Lo;0;L;;;;;N;;;;; 130C;ETHIOPIC SYLLABLE GEE;Lo;0;L;;;;;N;;;;; 130D;ETHIOPIC SYLLABLE GE;Lo;0;L;;;;;N;;;;; 130E;ETHIOPIC SYLLABLE GO;Lo;0;L;;;;;N;;;;; 1310;ETHIOPIC SYLLABLE GWA;Lo;0;L;;;;;N;;;;; 1312;ETHIOPIC SYLLABLE GWI;Lo;0;L;;;;;N;;;;; 1313;ETHIOPIC SYLLABLE GWAA;Lo;0;L;;;;;N;;;;; 1314;ETHIOPIC SYLLABLE GWEE;Lo;0;L;;;;;N;;;;; 1315;ETHIOPIC SYLLABLE GWE;Lo;0;L;;;;;N;;;;; 1318;ETHIOPIC SYLLABLE GGA;Lo;0;L;;;;;N;;;;; 1319;ETHIOPIC SYLLABLE GGU;Lo;0;L;;;;;N;;;;; 131A;ETHIOPIC SYLLABLE GGI;Lo;0;L;;;;;N;;;;; 131B;ETHIOPIC SYLLABLE GGAA;Lo;0;L;;;;;N;;;;; 131C;ETHIOPIC SYLLABLE GGEE;Lo;0;L;;;;;N;;;;; 131D;ETHIOPIC SYLLABLE GGE;Lo;0;L;;;;;N;;;;; 131E;ETHIOPIC SYLLABLE GGO;Lo;0;L;;;;;N;;;;; 1320;ETHIOPIC SYLLABLE THA;Lo;0;L;;;;;N;;;;; 1321;ETHIOPIC SYLLABLE THU;Lo;0;L;;;;;N;;;;; 1322;ETHIOPIC SYLLABLE THI;Lo;0;L;;;;;N;;;;; 1323;ETHIOPIC SYLLABLE THAA;Lo;0;L;;;;;N;;;;; 1324;ETHIOPIC SYLLABLE THEE;Lo;0;L;;;;;N;;;;; 1325;ETHIOPIC SYLLABLE THE;Lo;0;L;;;;;N;;;;; 1326;ETHIOPIC SYLLABLE THO;Lo;0;L;;;;;N;;;;; 1327;ETHIOPIC SYLLABLE THWA;Lo;0;L;;;;;N;;;;; 1328;ETHIOPIC SYLLABLE CHA;Lo;0;L;;;;;N;;;;; 1329;ETHIOPIC SYLLABLE CHU;Lo;0;L;;;;;N;;;;; 132A;ETHIOPIC SYLLABLE CHI;Lo;0;L;;;;;N;;;;; 132B;ETHIOPIC SYLLABLE CHAA;Lo;0;L;;;;;N;;;;; 132C;ETHIOPIC SYLLABLE CHEE;Lo;0;L;;;;;N;;;;; 132D;ETHIOPIC SYLLABLE CHE;Lo;0;L;;;;;N;;;;; 132E;ETHIOPIC SYLLABLE CHO;Lo;0;L;;;;;N;;;;; 132F;ETHIOPIC SYLLABLE CHWA;Lo;0;L;;;;;N;;;;; 1330;ETHIOPIC SYLLABLE PHA;Lo;0;L;;;;;N;;;;; 1331;ETHIOPIC SYLLABLE PHU;Lo;0;L;;;;;N;;;;; 1332;ETHIOPIC SYLLABLE PHI;Lo;0;L;;;;;N;;;;; 1333;ETHIOPIC SYLLABLE PHAA;Lo;0;L;;;;;N;;;;; 1334;ETHIOPIC SYLLABLE PHEE;Lo;0;L;;;;;N;;;;; 1335;ETHIOPIC SYLLABLE PHE;Lo;0;L;;;;;N;;;;; 1336;ETHIOPIC SYLLABLE PHO;Lo;0;L;;;;;N;;;;; 1337;ETHIOPIC SYLLABLE PHWA;Lo;0;L;;;;;N;;;;; 1338;ETHIOPIC SYLLABLE TSA;Lo;0;L;;;;;N;;;;; 1339;ETHIOPIC SYLLABLE TSU;Lo;0;L;;;;;N;;;;; 133A;ETHIOPIC SYLLABLE TSI;Lo;0;L;;;;;N;;;;; 133B;ETHIOPIC SYLLABLE TSAA;Lo;0;L;;;;;N;;;;; 133C;ETHIOPIC SYLLABLE TSEE;Lo;0;L;;;;;N;;;;; 133D;ETHIOPIC SYLLABLE TSE;Lo;0;L;;;;;N;;;;; 133E;ETHIOPIC SYLLABLE TSO;Lo;0;L;;;;;N;;;;; 133F;ETHIOPIC SYLLABLE TSWA;Lo;0;L;;;;;N;;;;; 1340;ETHIOPIC SYLLABLE TZA;Lo;0;L;;;;;N;;;;; 1341;ETHIOPIC SYLLABLE TZU;Lo;0;L;;;;;N;;;;; 1342;ETHIOPIC SYLLABLE TZI;Lo;0;L;;;;;N;;;;; 1343;ETHIOPIC SYLLABLE TZAA;Lo;0;L;;;;;N;;;;; 1344;ETHIOPIC SYLLABLE TZEE;Lo;0;L;;;;;N;;;;; 1345;ETHIOPIC SYLLABLE TZE;Lo;0;L;;;;;N;;;;; 1346;ETHIOPIC SYLLABLE TZO;Lo;0;L;;;;;N;;;;; 1348;ETHIOPIC SYLLABLE FA;Lo;0;L;;;;;N;;;;; 1349;ETHIOPIC SYLLABLE FU;Lo;0;L;;;;;N;;;;; 134A;ETHIOPIC SYLLABLE FI;Lo;0;L;;;;;N;;;;; 134B;ETHIOPIC SYLLABLE FAA;Lo;0;L;;;;;N;;;;; 134C;ETHIOPIC SYLLABLE FEE;Lo;0;L;;;;;N;;;;; 134D;ETHIOPIC SYLLABLE FE;Lo;0;L;;;;;N;;;;; 134E;ETHIOPIC SYLLABLE FO;Lo;0;L;;;;;N;;;;; 134F;ETHIOPIC SYLLABLE FWA;Lo;0;L;;;;;N;;;;; 1350;ETHIOPIC SYLLABLE PA;Lo;0;L;;;;;N;;;;; 1351;ETHIOPIC SYLLABLE PU;Lo;0;L;;;;;N;;;;; 1352;ETHIOPIC SYLLABLE PI;Lo;0;L;;;;;N;;;;; 1353;ETHIOPIC SYLLABLE PAA;Lo;0;L;;;;;N;;;;; 1354;ETHIOPIC SYLLABLE PEE;Lo;0;L;;;;;N;;;;; 1355;ETHIOPIC SYLLABLE PE;Lo;0;L;;;;;N;;;;; 1356;ETHIOPIC SYLLABLE PO;Lo;0;L;;;;;N;;;;; 1357;ETHIOPIC SYLLABLE PWA;Lo;0;L;;;;;N;;;;; 1358;ETHIOPIC SYLLABLE RYA;Lo;0;L;;;;;N;;;;; 1359;ETHIOPIC SYLLABLE MYA;Lo;0;L;;;;;N;;;;; 135A;ETHIOPIC SYLLABLE FYA;Lo;0;L;;;;;N;;;;; 1361;ETHIOPIC WORDSPACE;Po;0;L;;;;;N;;;;; 1362;ETHIOPIC FULL STOP;Po;0;L;;;;;N;;;;; 1363;ETHIOPIC COMMA;Po;0;L;;;;;N;;;;; 1364;ETHIOPIC SEMICOLON;Po;0;L;;;;;N;;;;; 1365;ETHIOPIC COLON;Po;0;L;;;;;N;;;;; 1366;ETHIOPIC PREFACE COLON;Po;0;L;;;;;N;;;;; 1367;ETHIOPIC QUESTION MARK;Po;0;L;;;;;N;;;;; 1368;ETHIOPIC PARAGRAPH SEPARATOR;Po;0;L;;;;;N;;;;; 1369;ETHIOPIC DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 136A;ETHIOPIC DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 136B;ETHIOPIC DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 136C;ETHIOPIC DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 136D;ETHIOPIC DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 136E;ETHIOPIC DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 136F;ETHIOPIC DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 1370;ETHIOPIC DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 1371;ETHIOPIC DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 1372;ETHIOPIC NUMBER TEN;No;0;L;;;;10;N;;;;; 1373;ETHIOPIC NUMBER TWENTY;No;0;L;;;;20;N;;;;; 1374;ETHIOPIC NUMBER THIRTY;No;0;L;;;;30;N;;;;; 1375;ETHIOPIC NUMBER FORTY;No;0;L;;;;40;N;;;;; 1376;ETHIOPIC NUMBER FIFTY;No;0;L;;;;50;N;;;;; 1377;ETHIOPIC NUMBER SIXTY;No;0;L;;;;60;N;;;;; 1378;ETHIOPIC NUMBER SEVENTY;No;0;L;;;;70;N;;;;; 1379;ETHIOPIC NUMBER EIGHTY;No;0;L;;;;80;N;;;;; 137A;ETHIOPIC NUMBER NINETY;No;0;L;;;;90;N;;;;; 137B;ETHIOPIC NUMBER HUNDRED;No;0;L;;;;100;N;;;;; 137C;ETHIOPIC NUMBER TEN THOUSAND;No;0;L;;;;10000;N;;;;; 13A0;CHEROKEE LETTER A;Lo;0;L;;;;;N;;;;; 13A1;CHEROKEE LETTER E;Lo;0;L;;;;;N;;;;; 13A2;CHEROKEE LETTER I;Lo;0;L;;;;;N;;;;; 13A3;CHEROKEE LETTER O;Lo;0;L;;;;;N;;;;; 13A4;CHEROKEE LETTER U;Lo;0;L;;;;;N;;;;; 13A5;CHEROKEE LETTER V;Lo;0;L;;;;;N;;;;; 13A6;CHEROKEE LETTER GA;Lo;0;L;;;;;N;;;;; 13A7;CHEROKEE LETTER KA;Lo;0;L;;;;;N;;;;; 13A8;CHEROKEE LETTER GE;Lo;0;L;;;;;N;;;;; 13A9;CHEROKEE LETTER GI;Lo;0;L;;;;;N;;;;; 13AA;CHEROKEE LETTER GO;Lo;0;L;;;;;N;;;;; 13AB;CHEROKEE LETTER GU;Lo;0;L;;;;;N;;;;; 13AC;CHEROKEE LETTER GV;Lo;0;L;;;;;N;;;;; 13AD;CHEROKEE LETTER HA;Lo;0;L;;;;;N;;;;; 13AE;CHEROKEE LETTER HE;Lo;0;L;;;;;N;;;;; 13AF;CHEROKEE LETTER HI;Lo;0;L;;;;;N;;;;; 13B0;CHEROKEE LETTER HO;Lo;0;L;;;;;N;;;;; 13B1;CHEROKEE LETTER HU;Lo;0;L;;;;;N;;;;; 13B2;CHEROKEE LETTER HV;Lo;0;L;;;;;N;;;;; 13B3;CHEROKEE LETTER LA;Lo;0;L;;;;;N;;;;; 13B4;CHEROKEE LETTER LE;Lo;0;L;;;;;N;;;;; 13B5;CHEROKEE LETTER LI;Lo;0;L;;;;;N;;;;; 13B6;CHEROKEE LETTER LO;Lo;0;L;;;;;N;;;;; 13B7;CHEROKEE LETTER LU;Lo;0;L;;;;;N;;;;; 13B8;CHEROKEE LETTER LV;Lo;0;L;;;;;N;;;;; 13B9;CHEROKEE LETTER MA;Lo;0;L;;;;;N;;;;; 13BA;CHEROKEE LETTER ME;Lo;0;L;;;;;N;;;;; 13BB;CHEROKEE LETTER MI;Lo;0;L;;;;;N;;;;; 13BC;CHEROKEE LETTER MO;Lo;0;L;;;;;N;;;;; 13BD;CHEROKEE LETTER MU;Lo;0;L;;;;;N;;;;; 13BE;CHEROKEE LETTER NA;Lo;0;L;;;;;N;;;;; 13BF;CHEROKEE LETTER HNA;Lo;0;L;;;;;N;;;;; 13C0;CHEROKEE LETTER NAH;Lo;0;L;;;;;N;;;;; 13C1;CHEROKEE LETTER NE;Lo;0;L;;;;;N;;;;; 13C2;CHEROKEE LETTER NI;Lo;0;L;;;;;N;;;;; 13C3;CHEROKEE LETTER NO;Lo;0;L;;;;;N;;;;; 13C4;CHEROKEE LETTER NU;Lo;0;L;;;;;N;;;;; 13C5;CHEROKEE LETTER NV;Lo;0;L;;;;;N;;;;; 13C6;CHEROKEE LETTER QUA;Lo;0;L;;;;;N;;;;; 13C7;CHEROKEE LETTER QUE;Lo;0;L;;;;;N;;;;; 13C8;CHEROKEE LETTER QUI;Lo;0;L;;;;;N;;;;; 13C9;CHEROKEE LETTER QUO;Lo;0;L;;;;;N;;;;; 13CA;CHEROKEE LETTER QUU;Lo;0;L;;;;;N;;;;; 13CB;CHEROKEE LETTER QUV;Lo;0;L;;;;;N;;;;; 13CC;CHEROKEE LETTER SA;Lo;0;L;;;;;N;;;;; 13CD;CHEROKEE LETTER S;Lo;0;L;;;;;N;;;;; 13CE;CHEROKEE LETTER SE;Lo;0;L;;;;;N;;;;; 13CF;CHEROKEE LETTER SI;Lo;0;L;;;;;N;;;;; 13D0;CHEROKEE LETTER SO;Lo;0;L;;;;;N;;;;; 13D1;CHEROKEE LETTER SU;Lo;0;L;;;;;N;;;;; 13D2;CHEROKEE LETTER SV;Lo;0;L;;;;;N;;;;; 13D3;CHEROKEE LETTER DA;Lo;0;L;;;;;N;;;;; 13D4;CHEROKEE LETTER TA;Lo;0;L;;;;;N;;;;; 13D5;CHEROKEE LETTER DE;Lo;0;L;;;;;N;;;;; 13D6;CHEROKEE LETTER TE;Lo;0;L;;;;;N;;;;; 13D7;CHEROKEE LETTER DI;Lo;0;L;;;;;N;;;;; 13D8;CHEROKEE LETTER TI;Lo;0;L;;;;;N;;;;; 13D9;CHEROKEE LETTER DO;Lo;0;L;;;;;N;;;;; 13DA;CHEROKEE LETTER DU;Lo;0;L;;;;;N;;;;; 13DB;CHEROKEE LETTER DV;Lo;0;L;;;;;N;;;;; 13DC;CHEROKEE LETTER DLA;Lo;0;L;;;;;N;;;;; 13DD;CHEROKEE LETTER TLA;Lo;0;L;;;;;N;;;;; 13DE;CHEROKEE LETTER TLE;Lo;0;L;;;;;N;;;;; 13DF;CHEROKEE LETTER TLI;Lo;0;L;;;;;N;;;;; 13E0;CHEROKEE LETTER TLO;Lo;0;L;;;;;N;;;;; 13E1;CHEROKEE LETTER TLU;Lo;0;L;;;;;N;;;;; 13E2;CHEROKEE LETTER TLV;Lo;0;L;;;;;N;;;;; 13E3;CHEROKEE LETTER TSA;Lo;0;L;;;;;N;;;;; 13E4;CHEROKEE LETTER TSE;Lo;0;L;;;;;N;;;;; 13E5;CHEROKEE LETTER TSI;Lo;0;L;;;;;N;;;;; 13E6;CHEROKEE LETTER TSO;Lo;0;L;;;;;N;;;;; 13E7;CHEROKEE LETTER TSU;Lo;0;L;;;;;N;;;;; 13E8;CHEROKEE LETTER TSV;Lo;0;L;;;;;N;;;;; 13E9;CHEROKEE LETTER WA;Lo;0;L;;;;;N;;;;; 13EA;CHEROKEE LETTER WE;Lo;0;L;;;;;N;;;;; 13EB;CHEROKEE LETTER WI;Lo;0;L;;;;;N;;;;; 13EC;CHEROKEE LETTER WO;Lo;0;L;;;;;N;;;;; 13ED;CHEROKEE LETTER WU;Lo;0;L;;;;;N;;;;; 13EE;CHEROKEE LETTER WV;Lo;0;L;;;;;N;;;;; 13EF;CHEROKEE LETTER YA;Lo;0;L;;;;;N;;;;; 13F0;CHEROKEE LETTER YE;Lo;0;L;;;;;N;;;;; 13F1;CHEROKEE LETTER YI;Lo;0;L;;;;;N;;;;; 13F2;CHEROKEE LETTER YO;Lo;0;L;;;;;N;;;;; 13F3;CHEROKEE LETTER YU;Lo;0;L;;;;;N;;;;; 13F4;CHEROKEE LETTER YV;Lo;0;L;;;;;N;;;;; 1401;CANADIAN SYLLABICS E;Lo;0;L;;;;;N;;;;; 1402;CANADIAN SYLLABICS AAI;Lo;0;L;;;;;N;;;;; 1403;CANADIAN SYLLABICS I;Lo;0;L;;;;;N;;;;; 1404;CANADIAN SYLLABICS II;Lo;0;L;;;;;N;;;;; 1405;CANADIAN SYLLABICS O;Lo;0;L;;;;;N;;;;; 1406;CANADIAN SYLLABICS OO;Lo;0;L;;;;;N;;;;; 1407;CANADIAN SYLLABICS Y-CREE OO;Lo;0;L;;;;;N;;;;; 1408;CANADIAN SYLLABICS CARRIER EE;Lo;0;L;;;;;N;;;;; 1409;CANADIAN SYLLABICS CARRIER I;Lo;0;L;;;;;N;;;;; 140A;CANADIAN SYLLABICS A;Lo;0;L;;;;;N;;;;; 140B;CANADIAN SYLLABICS AA;Lo;0;L;;;;;N;;;;; 140C;CANADIAN SYLLABICS WE;Lo;0;L;;;;;N;;;;; 140D;CANADIAN SYLLABICS WEST-CREE WE;Lo;0;L;;;;;N;;;;; 140E;CANADIAN SYLLABICS WI;Lo;0;L;;;;;N;;;;; 140F;CANADIAN SYLLABICS WEST-CREE WI;Lo;0;L;;;;;N;;;;; 1410;CANADIAN SYLLABICS WII;Lo;0;L;;;;;N;;;;; 1411;CANADIAN SYLLABICS WEST-CREE WII;Lo;0;L;;;;;N;;;;; 1412;CANADIAN SYLLABICS WO;Lo;0;L;;;;;N;;;;; 1413;CANADIAN SYLLABICS WEST-CREE WO;Lo;0;L;;;;;N;;;;; 1414;CANADIAN SYLLABICS WOO;Lo;0;L;;;;;N;;;;; 1415;CANADIAN SYLLABICS WEST-CREE WOO;Lo;0;L;;;;;N;;;;; 1416;CANADIAN SYLLABICS NASKAPI WOO;Lo;0;L;;;;;N;;;;; 1417;CANADIAN SYLLABICS WA;Lo;0;L;;;;;N;;;;; 1418;CANADIAN SYLLABICS WEST-CREE WA;Lo;0;L;;;;;N;;;;; 1419;CANADIAN SYLLABICS WAA;Lo;0;L;;;;;N;;;;; 141A;CANADIAN SYLLABICS WEST-CREE WAA;Lo;0;L;;;;;N;;;;; 141B;CANADIAN SYLLABICS NASKAPI WAA;Lo;0;L;;;;;N;;;;; 141C;CANADIAN SYLLABICS AI;Lo;0;L;;;;;N;;;;; 141D;CANADIAN SYLLABICS Y-CREE W;Lo;0;L;;;;;N;;;;; 141E;CANADIAN SYLLABICS GLOTTAL STOP;Lo;0;L;;;;;N;;;;; 141F;CANADIAN SYLLABICS FINAL ACUTE;Lo;0;L;;;;;N;;;;; 1420;CANADIAN SYLLABICS FINAL GRAVE;Lo;0;L;;;;;N;;;;; 1421;CANADIAN SYLLABICS FINAL BOTTOM HALF RING;Lo;0;L;;;;;N;;;;; 1422;CANADIAN SYLLABICS FINAL TOP HALF RING;Lo;0;L;;;;;N;;;;; 1423;CANADIAN SYLLABICS FINAL RIGHT HALF RING;Lo;0;L;;;;;N;;;;; 1424;CANADIAN SYLLABICS FINAL RING;Lo;0;L;;;;;N;;;;; 1425;CANADIAN SYLLABICS FINAL DOUBLE ACUTE;Lo;0;L;;;;;N;;;;; 1426;CANADIAN SYLLABICS FINAL DOUBLE SHORT VERTICAL STROKES;Lo;0;L;;;;;N;;;;; 1427;CANADIAN SYLLABICS FINAL MIDDLE DOT;Lo;0;L;;;;;N;;;;; 1428;CANADIAN SYLLABICS FINAL SHORT HORIZONTAL STROKE;Lo;0;L;;;;;N;;;;; 1429;CANADIAN SYLLABICS FINAL PLUS;Lo;0;L;;;;;N;;;;; 142A;CANADIAN SYLLABICS FINAL DOWN TACK;Lo;0;L;;;;;N;;;;; 142B;CANADIAN SYLLABICS EN;Lo;0;L;;;;;N;;;;; 142C;CANADIAN SYLLABICS IN;Lo;0;L;;;;;N;;;;; 142D;CANADIAN SYLLABICS ON;Lo;0;L;;;;;N;;;;; 142E;CANADIAN SYLLABICS AN;Lo;0;L;;;;;N;;;;; 142F;CANADIAN SYLLABICS PE;Lo;0;L;;;;;N;;;;; 1430;CANADIAN SYLLABICS PAAI;Lo;0;L;;;;;N;;;;; 1431;CANADIAN SYLLABICS PI;Lo;0;L;;;;;N;;;;; 1432;CANADIAN SYLLABICS PII;Lo;0;L;;;;;N;;;;; 1433;CANADIAN SYLLABICS PO;Lo;0;L;;;;;N;;;;; 1434;CANADIAN SYLLABICS POO;Lo;0;L;;;;;N;;;;; 1435;CANADIAN SYLLABICS Y-CREE POO;Lo;0;L;;;;;N;;;;; 1436;CANADIAN SYLLABICS CARRIER HEE;Lo;0;L;;;;;N;;;;; 1437;CANADIAN SYLLABICS CARRIER HI;Lo;0;L;;;;;N;;;;; 1438;CANADIAN SYLLABICS PA;Lo;0;L;;;;;N;;;;; 1439;CANADIAN SYLLABICS PAA;Lo;0;L;;;;;N;;;;; 143A;CANADIAN SYLLABICS PWE;Lo;0;L;;;;;N;;;;; 143B;CANADIAN SYLLABICS WEST-CREE PWE;Lo;0;L;;;;;N;;;;; 143C;CANADIAN SYLLABICS PWI;Lo;0;L;;;;;N;;;;; 143D;CANADIAN SYLLABICS WEST-CREE PWI;Lo;0;L;;;;;N;;;;; 143E;CANADIAN SYLLABICS PWII;Lo;0;L;;;;;N;;;;; 143F;CANADIAN SYLLABICS WEST-CREE PWII;Lo;0;L;;;;;N;;;;; 1440;CANADIAN SYLLABICS PWO;Lo;0;L;;;;;N;;;;; 1441;CANADIAN SYLLABICS WEST-CREE PWO;Lo;0;L;;;;;N;;;;; 1442;CANADIAN SYLLABICS PWOO;Lo;0;L;;;;;N;;;;; 1443;CANADIAN SYLLABICS WEST-CREE PWOO;Lo;0;L;;;;;N;;;;; 1444;CANADIAN SYLLABICS PWA;Lo;0;L;;;;;N;;;;; 1445;CANADIAN SYLLABICS WEST-CREE PWA;Lo;0;L;;;;;N;;;;; 1446;CANADIAN SYLLABICS PWAA;Lo;0;L;;;;;N;;;;; 1447;CANADIAN SYLLABICS WEST-CREE PWAA;Lo;0;L;;;;;N;;;;; 1448;CANADIAN SYLLABICS Y-CREE PWAA;Lo;0;L;;;;;N;;;;; 1449;CANADIAN SYLLABICS P;Lo;0;L;;;;;N;;;;; 144A;CANADIAN SYLLABICS WEST-CREE P;Lo;0;L;;;;;N;;;;; 144B;CANADIAN SYLLABICS CARRIER H;Lo;0;L;;;;;N;;;;; 144C;CANADIAN SYLLABICS TE;Lo;0;L;;;;;N;;;;; 144D;CANADIAN SYLLABICS TAAI;Lo;0;L;;;;;N;;;;; 144E;CANADIAN SYLLABICS TI;Lo;0;L;;;;;N;;;;; 144F;CANADIAN SYLLABICS TII;Lo;0;L;;;;;N;;;;; 1450;CANADIAN SYLLABICS TO;Lo;0;L;;;;;N;;;;; 1451;CANADIAN SYLLABICS TOO;Lo;0;L;;;;;N;;;;; 1452;CANADIAN SYLLABICS Y-CREE TOO;Lo;0;L;;;;;N;;;;; 1453;CANADIAN SYLLABICS CARRIER DEE;Lo;0;L;;;;;N;;;;; 1454;CANADIAN SYLLABICS CARRIER DI;Lo;0;L;;;;;N;;;;; 1455;CANADIAN SYLLABICS TA;Lo;0;L;;;;;N;;;;; 1456;CANADIAN SYLLABICS TAA;Lo;0;L;;;;;N;;;;; 1457;CANADIAN SYLLABICS TWE;Lo;0;L;;;;;N;;;;; 1458;CANADIAN SYLLABICS WEST-CREE TWE;Lo;0;L;;;;;N;;;;; 1459;CANADIAN SYLLABICS TWI;Lo;0;L;;;;;N;;;;; 145A;CANADIAN SYLLABICS WEST-CREE TWI;Lo;0;L;;;;;N;;;;; 145B;CANADIAN SYLLABICS TWII;Lo;0;L;;;;;N;;;;; 145C;CANADIAN SYLLABICS WEST-CREE TWII;Lo;0;L;;;;;N;;;;; 145D;CANADIAN SYLLABICS TWO;Lo;0;L;;;;;N;;;;; 145E;CANADIAN SYLLABICS WEST-CREE TWO;Lo;0;L;;;;;N;;;;; 145F;CANADIAN SYLLABICS TWOO;Lo;0;L;;;;;N;;;;; 1460;CANADIAN SYLLABICS WEST-CREE TWOO;Lo;0;L;;;;;N;;;;; 1461;CANADIAN SYLLABICS TWA;Lo;0;L;;;;;N;;;;; 1462;CANADIAN SYLLABICS WEST-CREE TWA;Lo;0;L;;;;;N;;;;; 1463;CANADIAN SYLLABICS TWAA;Lo;0;L;;;;;N;;;;; 1464;CANADIAN SYLLABICS WEST-CREE TWAA;Lo;0;L;;;;;N;;;;; 1465;CANADIAN SYLLABICS NASKAPI TWAA;Lo;0;L;;;;;N;;;;; 1466;CANADIAN SYLLABICS T;Lo;0;L;;;;;N;;;;; 1467;CANADIAN SYLLABICS TTE;Lo;0;L;;;;;N;;;;; 1468;CANADIAN SYLLABICS TTI;Lo;0;L;;;;;N;;;;; 1469;CANADIAN SYLLABICS TTO;Lo;0;L;;;;;N;;;;; 146A;CANADIAN SYLLABICS TTA;Lo;0;L;;;;;N;;;;; 146B;CANADIAN SYLLABICS KE;Lo;0;L;;;;;N;;;;; 146C;CANADIAN SYLLABICS KAAI;Lo;0;L;;;;;N;;;;; 146D;CANADIAN SYLLABICS KI;Lo;0;L;;;;;N;;;;; 146E;CANADIAN SYLLABICS KII;Lo;0;L;;;;;N;;;;; 146F;CANADIAN SYLLABICS KO;Lo;0;L;;;;;N;;;;; 1470;CANADIAN SYLLABICS KOO;Lo;0;L;;;;;N;;;;; 1471;CANADIAN SYLLABICS Y-CREE KOO;Lo;0;L;;;;;N;;;;; 1472;CANADIAN SYLLABICS KA;Lo;0;L;;;;;N;;;;; 1473;CANADIAN SYLLABICS KAA;Lo;0;L;;;;;N;;;;; 1474;CANADIAN SYLLABICS KWE;Lo;0;L;;;;;N;;;;; 1475;CANADIAN SYLLABICS WEST-CREE KWE;Lo;0;L;;;;;N;;;;; 1476;CANADIAN SYLLABICS KWI;Lo;0;L;;;;;N;;;;; 1477;CANADIAN SYLLABICS WEST-CREE KWI;Lo;0;L;;;;;N;;;;; 1478;CANADIAN SYLLABICS KWII;Lo;0;L;;;;;N;;;;; 1479;CANADIAN SYLLABICS WEST-CREE KWII;Lo;0;L;;;;;N;;;;; 147A;CANADIAN SYLLABICS KWO;Lo;0;L;;;;;N;;;;; 147B;CANADIAN SYLLABICS WEST-CREE KWO;Lo;0;L;;;;;N;;;;; 147C;CANADIAN SYLLABICS KWOO;Lo;0;L;;;;;N;;;;; 147D;CANADIAN SYLLABICS WEST-CREE KWOO;Lo;0;L;;;;;N;;;;; 147E;CANADIAN SYLLABICS KWA;Lo;0;L;;;;;N;;;;; 147F;CANADIAN SYLLABICS WEST-CREE KWA;Lo;0;L;;;;;N;;;;; 1480;CANADIAN SYLLABICS KWAA;Lo;0;L;;;;;N;;;;; 1481;CANADIAN SYLLABICS WEST-CREE KWAA;Lo;0;L;;;;;N;;;;; 1482;CANADIAN SYLLABICS NASKAPI KWAA;Lo;0;L;;;;;N;;;;; 1483;CANADIAN SYLLABICS K;Lo;0;L;;;;;N;;;;; 1484;CANADIAN SYLLABICS KW;Lo;0;L;;;;;N;;;;; 1485;CANADIAN SYLLABICS SOUTH-SLAVEY KEH;Lo;0;L;;;;;N;;;;; 1486;CANADIAN SYLLABICS SOUTH-SLAVEY KIH;Lo;0;L;;;;;N;;;;; 1487;CANADIAN SYLLABICS SOUTH-SLAVEY KOH;Lo;0;L;;;;;N;;;;; 1488;CANADIAN SYLLABICS SOUTH-SLAVEY KAH;Lo;0;L;;;;;N;;;;; 1489;CANADIAN SYLLABICS CE;Lo;0;L;;;;;N;;;;; 148A;CANADIAN SYLLABICS CAAI;Lo;0;L;;;;;N;;;;; 148B;CANADIAN SYLLABICS CI;Lo;0;L;;;;;N;;;;; 148C;CANADIAN SYLLABICS CII;Lo;0;L;;;;;N;;;;; 148D;CANADIAN SYLLABICS CO;Lo;0;L;;;;;N;;;;; 148E;CANADIAN SYLLABICS COO;Lo;0;L;;;;;N;;;;; 148F;CANADIAN SYLLABICS Y-CREE COO;Lo;0;L;;;;;N;;;;; 1490;CANADIAN SYLLABICS CA;Lo;0;L;;;;;N;;;;; 1491;CANADIAN SYLLABICS CAA;Lo;0;L;;;;;N;;;;; 1492;CANADIAN SYLLABICS CWE;Lo;0;L;;;;;N;;;;; 1493;CANADIAN SYLLABICS WEST-CREE CWE;Lo;0;L;;;;;N;;;;; 1494;CANADIAN SYLLABICS CWI;Lo;0;L;;;;;N;;;;; 1495;CANADIAN SYLLABICS WEST-CREE CWI;Lo;0;L;;;;;N;;;;; 1496;CANADIAN SYLLABICS CWII;Lo;0;L;;;;;N;;;;; 1497;CANADIAN SYLLABICS WEST-CREE CWII;Lo;0;L;;;;;N;;;;; 1498;CANADIAN SYLLABICS CWO;Lo;0;L;;;;;N;;;;; 1499;CANADIAN SYLLABICS WEST-CREE CWO;Lo;0;L;;;;;N;;;;; 149A;CANADIAN SYLLABICS CWOO;Lo;0;L;;;;;N;;;;; 149B;CANADIAN SYLLABICS WEST-CREE CWOO;Lo;0;L;;;;;N;;;;; 149C;CANADIAN SYLLABICS CWA;Lo;0;L;;;;;N;;;;; 149D;CANADIAN SYLLABICS WEST-CREE CWA;Lo;0;L;;;;;N;;;;; 149E;CANADIAN SYLLABICS CWAA;Lo;0;L;;;;;N;;;;; 149F;CANADIAN SYLLABICS WEST-CREE CWAA;Lo;0;L;;;;;N;;;;; 14A0;CANADIAN SYLLABICS NASKAPI CWAA;Lo;0;L;;;;;N;;;;; 14A1;CANADIAN SYLLABICS C;Lo;0;L;;;;;N;;;;; 14A2;CANADIAN SYLLABICS SAYISI TH;Lo;0;L;;;;;N;;;;; 14A3;CANADIAN SYLLABICS ME;Lo;0;L;;;;;N;;;;; 14A4;CANADIAN SYLLABICS MAAI;Lo;0;L;;;;;N;;;;; 14A5;CANADIAN SYLLABICS MI;Lo;0;L;;;;;N;;;;; 14A6;CANADIAN SYLLABICS MII;Lo;0;L;;;;;N;;;;; 14A7;CANADIAN SYLLABICS MO;Lo;0;L;;;;;N;;;;; 14A8;CANADIAN SYLLABICS MOO;Lo;0;L;;;;;N;;;;; 14A9;CANADIAN SYLLABICS Y-CREE MOO;Lo;0;L;;;;;N;;;;; 14AA;CANADIAN SYLLABICS MA;Lo;0;L;;;;;N;;;;; 14AB;CANADIAN SYLLABICS MAA;Lo;0;L;;;;;N;;;;; 14AC;CANADIAN SYLLABICS MWE;Lo;0;L;;;;;N;;;;; 14AD;CANADIAN SYLLABICS WEST-CREE MWE;Lo;0;L;;;;;N;;;;; 14AE;CANADIAN SYLLABICS MWI;Lo;0;L;;;;;N;;;;; 14AF;CANADIAN SYLLABICS WEST-CREE MWI;Lo;0;L;;;;;N;;;;; 14B0;CANADIAN SYLLABICS MWII;Lo;0;L;;;;;N;;;;; 14B1;CANADIAN SYLLABICS WEST-CREE MWII;Lo;0;L;;;;;N;;;;; 14B2;CANADIAN SYLLABICS MWO;Lo;0;L;;;;;N;;;;; 14B3;CANADIAN SYLLABICS WEST-CREE MWO;Lo;0;L;;;;;N;;;;; 14B4;CANADIAN SYLLABICS MWOO;Lo;0;L;;;;;N;;;;; 14B5;CANADIAN SYLLABICS WEST-CREE MWOO;Lo;0;L;;;;;N;;;;; 14B6;CANADIAN SYLLABICS MWA;Lo;0;L;;;;;N;;;;; 14B7;CANADIAN SYLLABICS WEST-CREE MWA;Lo;0;L;;;;;N;;;;; 14B8;CANADIAN SYLLABICS MWAA;Lo;0;L;;;;;N;;;;; 14B9;CANADIAN SYLLABICS WEST-CREE MWAA;Lo;0;L;;;;;N;;;;; 14BA;CANADIAN SYLLABICS NASKAPI MWAA;Lo;0;L;;;;;N;;;;; 14BB;CANADIAN SYLLABICS M;Lo;0;L;;;;;N;;;;; 14BC;CANADIAN SYLLABICS WEST-CREE M;Lo;0;L;;;;;N;;;;; 14BD;CANADIAN SYLLABICS MH;Lo;0;L;;;;;N;;;;; 14BE;CANADIAN SYLLABICS ATHAPASCAN M;Lo;0;L;;;;;N;;;;; 14BF;CANADIAN SYLLABICS SAYISI M;Lo;0;L;;;;;N;;;;; 14C0;CANADIAN SYLLABICS NE;Lo;0;L;;;;;N;;;;; 14C1;CANADIAN SYLLABICS NAAI;Lo;0;L;;;;;N;;;;; 14C2;CANADIAN SYLLABICS NI;Lo;0;L;;;;;N;;;;; 14C3;CANADIAN SYLLABICS NII;Lo;0;L;;;;;N;;;;; 14C4;CANADIAN SYLLABICS NO;Lo;0;L;;;;;N;;;;; 14C5;CANADIAN SYLLABICS NOO;Lo;0;L;;;;;N;;;;; 14C6;CANADIAN SYLLABICS Y-CREE NOO;Lo;0;L;;;;;N;;;;; 14C7;CANADIAN SYLLABICS NA;Lo;0;L;;;;;N;;;;; 14C8;CANADIAN SYLLABICS NAA;Lo;0;L;;;;;N;;;;; 14C9;CANADIAN SYLLABICS NWE;Lo;0;L;;;;;N;;;;; 14CA;CANADIAN SYLLABICS WEST-CREE NWE;Lo;0;L;;;;;N;;;;; 14CB;CANADIAN SYLLABICS NWA;Lo;0;L;;;;;N;;;;; 14CC;CANADIAN SYLLABICS WEST-CREE NWA;Lo;0;L;;;;;N;;;;; 14CD;CANADIAN SYLLABICS NWAA;Lo;0;L;;;;;N;;;;; 14CE;CANADIAN SYLLABICS WEST-CREE NWAA;Lo;0;L;;;;;N;;;;; 14CF;CANADIAN SYLLABICS NASKAPI NWAA;Lo;0;L;;;;;N;;;;; 14D0;CANADIAN SYLLABICS N;Lo;0;L;;;;;N;;;;; 14D1;CANADIAN SYLLABICS CARRIER NG;Lo;0;L;;;;;N;;;;; 14D2;CANADIAN SYLLABICS NH;Lo;0;L;;;;;N;;;;; 14D3;CANADIAN SYLLABICS LE;Lo;0;L;;;;;N;;;;; 14D4;CANADIAN SYLLABICS LAAI;Lo;0;L;;;;;N;;;;; 14D5;CANADIAN SYLLABICS LI;Lo;0;L;;;;;N;;;;; 14D6;CANADIAN SYLLABICS LII;Lo;0;L;;;;;N;;;;; 14D7;CANADIAN SYLLABICS LO;Lo;0;L;;;;;N;;;;; 14D8;CANADIAN SYLLABICS LOO;Lo;0;L;;;;;N;;;;; 14D9;CANADIAN SYLLABICS Y-CREE LOO;Lo;0;L;;;;;N;;;;; 14DA;CANADIAN SYLLABICS LA;Lo;0;L;;;;;N;;;;; 14DB;CANADIAN SYLLABICS LAA;Lo;0;L;;;;;N;;;;; 14DC;CANADIAN SYLLABICS LWE;Lo;0;L;;;;;N;;;;; 14DD;CANADIAN SYLLABICS WEST-CREE LWE;Lo;0;L;;;;;N;;;;; 14DE;CANADIAN SYLLABICS LWI;Lo;0;L;;;;;N;;;;; 14DF;CANADIAN SYLLABICS WEST-CREE LWI;Lo;0;L;;;;;N;;;;; 14E0;CANADIAN SYLLABICS LWII;Lo;0;L;;;;;N;;;;; 14E1;CANADIAN SYLLABICS WEST-CREE LWII;Lo;0;L;;;;;N;;;;; 14E2;CANADIAN SYLLABICS LWO;Lo;0;L;;;;;N;;;;; 14E3;CANADIAN SYLLABICS WEST-CREE LWO;Lo;0;L;;;;;N;;;;; 14E4;CANADIAN SYLLABICS LWOO;Lo;0;L;;;;;N;;;;; 14E5;CANADIAN SYLLABICS WEST-CREE LWOO;Lo;0;L;;;;;N;;;;; 14E6;CANADIAN SYLLABICS LWA;Lo;0;L;;;;;N;;;;; 14E7;CANADIAN SYLLABICS WEST-CREE LWA;Lo;0;L;;;;;N;;;;; 14E8;CANADIAN SYLLABICS LWAA;Lo;0;L;;;;;N;;;;; 14E9;CANADIAN SYLLABICS WEST-CREE LWAA;Lo;0;L;;;;;N;;;;; 14EA;CANADIAN SYLLABICS L;Lo;0;L;;;;;N;;;;; 14EB;CANADIAN SYLLABICS WEST-CREE L;Lo;0;L;;;;;N;;;;; 14EC;CANADIAN SYLLABICS MEDIAL L;Lo;0;L;;;;;N;;;;; 14ED;CANADIAN SYLLABICS SE;Lo;0;L;;;;;N;;;;; 14EE;CANADIAN SYLLABICS SAAI;Lo;0;L;;;;;N;;;;; 14EF;CANADIAN SYLLABICS SI;Lo;0;L;;;;;N;;;;; 14F0;CANADIAN SYLLABICS SII;Lo;0;L;;;;;N;;;;; 14F1;CANADIAN SYLLABICS SO;Lo;0;L;;;;;N;;;;; 14F2;CANADIAN SYLLABICS SOO;Lo;0;L;;;;;N;;;;; 14F3;CANADIAN SYLLABICS Y-CREE SOO;Lo;0;L;;;;;N;;;;; 14F4;CANADIAN SYLLABICS SA;Lo;0;L;;;;;N;;;;; 14F5;CANADIAN SYLLABICS SAA;Lo;0;L;;;;;N;;;;; 14F6;CANADIAN SYLLABICS SWE;Lo;0;L;;;;;N;;;;; 14F7;CANADIAN SYLLABICS WEST-CREE SWE;Lo;0;L;;;;;N;;;;; 14F8;CANADIAN SYLLABICS SWI;Lo;0;L;;;;;N;;;;; 14F9;CANADIAN SYLLABICS WEST-CREE SWI;Lo;0;L;;;;;N;;;;; 14FA;CANADIAN SYLLABICS SWII;Lo;0;L;;;;;N;;;;; 14FB;CANADIAN SYLLABICS WEST-CREE SWII;Lo;0;L;;;;;N;;;;; 14FC;CANADIAN SYLLABICS SWO;Lo;0;L;;;;;N;;;;; 14FD;CANADIAN SYLLABICS WEST-CREE SWO;Lo;0;L;;;;;N;;;;; 14FE;CANADIAN SYLLABICS SWOO;Lo;0;L;;;;;N;;;;; 14FF;CANADIAN SYLLABICS WEST-CREE SWOO;Lo;0;L;;;;;N;;;;; 1500;CANADIAN SYLLABICS SWA;Lo;0;L;;;;;N;;;;; 1501;CANADIAN SYLLABICS WEST-CREE SWA;Lo;0;L;;;;;N;;;;; 1502;CANADIAN SYLLABICS SWAA;Lo;0;L;;;;;N;;;;; 1503;CANADIAN SYLLABICS WEST-CREE SWAA;Lo;0;L;;;;;N;;;;; 1504;CANADIAN SYLLABICS NASKAPI SWAA;Lo;0;L;;;;;N;;;;; 1505;CANADIAN SYLLABICS S;Lo;0;L;;;;;N;;;;; 1506;CANADIAN SYLLABICS ATHAPASCAN S;Lo;0;L;;;;;N;;;;; 1507;CANADIAN SYLLABICS SW;Lo;0;L;;;;;N;;;;; 1508;CANADIAN SYLLABICS BLACKFOOT S;Lo;0;L;;;;;N;;;;; 1509;CANADIAN SYLLABICS MOOSE-CREE SK;Lo;0;L;;;;;N;;;;; 150A;CANADIAN SYLLABICS NASKAPI SKW;Lo;0;L;;;;;N;;;;; 150B;CANADIAN SYLLABICS NASKAPI S-W;Lo;0;L;;;;;N;;;;; 150C;CANADIAN SYLLABICS NASKAPI SPWA;Lo;0;L;;;;;N;;;;; 150D;CANADIAN SYLLABICS NASKAPI STWA;Lo;0;L;;;;;N;;;;; 150E;CANADIAN SYLLABICS NASKAPI SKWA;Lo;0;L;;;;;N;;;;; 150F;CANADIAN SYLLABICS NASKAPI SCWA;Lo;0;L;;;;;N;;;;; 1510;CANADIAN SYLLABICS SHE;Lo;0;L;;;;;N;;;;; 1511;CANADIAN SYLLABICS SHI;Lo;0;L;;;;;N;;;;; 1512;CANADIAN SYLLABICS SHII;Lo;0;L;;;;;N;;;;; 1513;CANADIAN SYLLABICS SHO;Lo;0;L;;;;;N;;;;; 1514;CANADIAN SYLLABICS SHOO;Lo;0;L;;;;;N;;;;; 1515;CANADIAN SYLLABICS SHA;Lo;0;L;;;;;N;;;;; 1516;CANADIAN SYLLABICS SHAA;Lo;0;L;;;;;N;;;;; 1517;CANADIAN SYLLABICS SHWE;Lo;0;L;;;;;N;;;;; 1518;CANADIAN SYLLABICS WEST-CREE SHWE;Lo;0;L;;;;;N;;;;; 1519;CANADIAN SYLLABICS SHWI;Lo;0;L;;;;;N;;;;; 151A;CANADIAN SYLLABICS WEST-CREE SHWI;Lo;0;L;;;;;N;;;;; 151B;CANADIAN SYLLABICS SHWII;Lo;0;L;;;;;N;;;;; 151C;CANADIAN SYLLABICS WEST-CREE SHWII;Lo;0;L;;;;;N;;;;; 151D;CANADIAN SYLLABICS SHWO;Lo;0;L;;;;;N;;;;; 151E;CANADIAN SYLLABICS WEST-CREE SHWO;Lo;0;L;;;;;N;;;;; 151F;CANADIAN SYLLABICS SHWOO;Lo;0;L;;;;;N;;;;; 1520;CANADIAN SYLLABICS WEST-CREE SHWOO;Lo;0;L;;;;;N;;;;; 1521;CANADIAN SYLLABICS SHWA;Lo;0;L;;;;;N;;;;; 1522;CANADIAN SYLLABICS WEST-CREE SHWA;Lo;0;L;;;;;N;;;;; 1523;CANADIAN SYLLABICS SHWAA;Lo;0;L;;;;;N;;;;; 1524;CANADIAN SYLLABICS WEST-CREE SHWAA;Lo;0;L;;;;;N;;;;; 1525;CANADIAN SYLLABICS SH;Lo;0;L;;;;;N;;;;; 1526;CANADIAN SYLLABICS YE;Lo;0;L;;;;;N;;;;; 1527;CANADIAN SYLLABICS YAAI;Lo;0;L;;;;;N;;;;; 1528;CANADIAN SYLLABICS YI;Lo;0;L;;;;;N;;;;; 1529;CANADIAN SYLLABICS YII;Lo;0;L;;;;;N;;;;; 152A;CANADIAN SYLLABICS YO;Lo;0;L;;;;;N;;;;; 152B;CANADIAN SYLLABICS YOO;Lo;0;L;;;;;N;;;;; 152C;CANADIAN SYLLABICS Y-CREE YOO;Lo;0;L;;;;;N;;;;; 152D;CANADIAN SYLLABICS YA;Lo;0;L;;;;;N;;;;; 152E;CANADIAN SYLLABICS YAA;Lo;0;L;;;;;N;;;;; 152F;CANADIAN SYLLABICS YWE;Lo;0;L;;;;;N;;;;; 1530;CANADIAN SYLLABICS WEST-CREE YWE;Lo;0;L;;;;;N;;;;; 1531;CANADIAN SYLLABICS YWI;Lo;0;L;;;;;N;;;;; 1532;CANADIAN SYLLABICS WEST-CREE YWI;Lo;0;L;;;;;N;;;;; 1533;CANADIAN SYLLABICS YWII;Lo;0;L;;;;;N;;;;; 1534;CANADIAN SYLLABICS WEST-CREE YWII;Lo;0;L;;;;;N;;;;; 1535;CANADIAN SYLLABICS YWO;Lo;0;L;;;;;N;;;;; 1536;CANADIAN SYLLABICS WEST-CREE YWO;Lo;0;L;;;;;N;;;;; 1537;CANADIAN SYLLABICS YWOO;Lo;0;L;;;;;N;;;;; 1538;CANADIAN SYLLABICS WEST-CREE YWOO;Lo;0;L;;;;;N;;;;; 1539;CANADIAN SYLLABICS YWA;Lo;0;L;;;;;N;;;;; 153A;CANADIAN SYLLABICS WEST-CREE YWA;Lo;0;L;;;;;N;;;;; 153B;CANADIAN SYLLABICS YWAA;Lo;0;L;;;;;N;;;;; 153C;CANADIAN SYLLABICS WEST-CREE YWAA;Lo;0;L;;;;;N;;;;; 153D;CANADIAN SYLLABICS NASKAPI YWAA;Lo;0;L;;;;;N;;;;; 153E;CANADIAN SYLLABICS Y;Lo;0;L;;;;;N;;;;; 153F;CANADIAN SYLLABICS BIBLE-CREE Y;Lo;0;L;;;;;N;;;;; 1540;CANADIAN SYLLABICS WEST-CREE Y;Lo;0;L;;;;;N;;;;; 1541;CANADIAN SYLLABICS SAYISI YI;Lo;0;L;;;;;N;;;;; 1542;CANADIAN SYLLABICS RE;Lo;0;L;;;;;N;;;;; 1543;CANADIAN SYLLABICS R-CREE RE;Lo;0;L;;;;;N;;;;; 1544;CANADIAN SYLLABICS WEST-CREE LE;Lo;0;L;;;;;N;;;;; 1545;CANADIAN SYLLABICS RAAI;Lo;0;L;;;;;N;;;;; 1546;CANADIAN SYLLABICS RI;Lo;0;L;;;;;N;;;;; 1547;CANADIAN SYLLABICS RII;Lo;0;L;;;;;N;;;;; 1548;CANADIAN SYLLABICS RO;Lo;0;L;;;;;N;;;;; 1549;CANADIAN SYLLABICS ROO;Lo;0;L;;;;;N;;;;; 154A;CANADIAN SYLLABICS WEST-CREE LO;Lo;0;L;;;;;N;;;;; 154B;CANADIAN SYLLABICS RA;Lo;0;L;;;;;N;;;;; 154C;CANADIAN SYLLABICS RAA;Lo;0;L;;;;;N;;;;; 154D;CANADIAN SYLLABICS WEST-CREE LA;Lo;0;L;;;;;N;;;;; 154E;CANADIAN SYLLABICS RWAA;Lo;0;L;;;;;N;;;;; 154F;CANADIAN SYLLABICS WEST-CREE RWAA;Lo;0;L;;;;;N;;;;; 1550;CANADIAN SYLLABICS R;Lo;0;L;;;;;N;;;;; 1551;CANADIAN SYLLABICS WEST-CREE R;Lo;0;L;;;;;N;;;;; 1552;CANADIAN SYLLABICS MEDIAL R;Lo;0;L;;;;;N;;;;; 1553;CANADIAN SYLLABICS FE;Lo;0;L;;;;;N;;;;; 1554;CANADIAN SYLLABICS FAAI;Lo;0;L;;;;;N;;;;; 1555;CANADIAN SYLLABICS FI;Lo;0;L;;;;;N;;;;; 1556;CANADIAN SYLLABICS FII;Lo;0;L;;;;;N;;;;; 1557;CANADIAN SYLLABICS FO;Lo;0;L;;;;;N;;;;; 1558;CANADIAN SYLLABICS FOO;Lo;0;L;;;;;N;;;;; 1559;CANADIAN SYLLABICS FA;Lo;0;L;;;;;N;;;;; 155A;CANADIAN SYLLABICS FAA;Lo;0;L;;;;;N;;;;; 155B;CANADIAN SYLLABICS FWAA;Lo;0;L;;;;;N;;;;; 155C;CANADIAN SYLLABICS WEST-CREE FWAA;Lo;0;L;;;;;N;;;;; 155D;CANADIAN SYLLABICS F;Lo;0;L;;;;;N;;;;; 155E;CANADIAN SYLLABICS THE;Lo;0;L;;;;;N;;;;; 155F;CANADIAN SYLLABICS N-CREE THE;Lo;0;L;;;;;N;;;;; 1560;CANADIAN SYLLABICS THI;Lo;0;L;;;;;N;;;;; 1561;CANADIAN SYLLABICS N-CREE THI;Lo;0;L;;;;;N;;;;; 1562;CANADIAN SYLLABICS THII;Lo;0;L;;;;;N;;;;; 1563;CANADIAN SYLLABICS N-CREE THII;Lo;0;L;;;;;N;;;;; 1564;CANADIAN SYLLABICS THO;Lo;0;L;;;;;N;;;;; 1565;CANADIAN SYLLABICS THOO;Lo;0;L;;;;;N;;;;; 1566;CANADIAN SYLLABICS THA;Lo;0;L;;;;;N;;;;; 1567;CANADIAN SYLLABICS THAA;Lo;0;L;;;;;N;;;;; 1568;CANADIAN SYLLABICS THWAA;Lo;0;L;;;;;N;;;;; 1569;CANADIAN SYLLABICS WEST-CREE THWAA;Lo;0;L;;;;;N;;;;; 156A;CANADIAN SYLLABICS TH;Lo;0;L;;;;;N;;;;; 156B;CANADIAN SYLLABICS TTHE;Lo;0;L;;;;;N;;;;; 156C;CANADIAN SYLLABICS TTHI;Lo;0;L;;;;;N;;;;; 156D;CANADIAN SYLLABICS TTHO;Lo;0;L;;;;;N;;;;; 156E;CANADIAN SYLLABICS TTHA;Lo;0;L;;;;;N;;;;; 156F;CANADIAN SYLLABICS TTH;Lo;0;L;;;;;N;;;;; 1570;CANADIAN SYLLABICS TYE;Lo;0;L;;;;;N;;;;; 1571;CANADIAN SYLLABICS TYI;Lo;0;L;;;;;N;;;;; 1572;CANADIAN SYLLABICS TYO;Lo;0;L;;;;;N;;;;; 1573;CANADIAN SYLLABICS TYA;Lo;0;L;;;;;N;;;;; 1574;CANADIAN SYLLABICS NUNAVIK HE;Lo;0;L;;;;;N;;;;; 1575;CANADIAN SYLLABICS NUNAVIK HI;Lo;0;L;;;;;N;;;;; 1576;CANADIAN SYLLABICS NUNAVIK HII;Lo;0;L;;;;;N;;;;; 1577;CANADIAN SYLLABICS NUNAVIK HO;Lo;0;L;;;;;N;;;;; 1578;CANADIAN SYLLABICS NUNAVIK HOO;Lo;0;L;;;;;N;;;;; 1579;CANADIAN SYLLABICS NUNAVIK HA;Lo;0;L;;;;;N;;;;; 157A;CANADIAN SYLLABICS NUNAVIK HAA;Lo;0;L;;;;;N;;;;; 157B;CANADIAN SYLLABICS NUNAVIK H;Lo;0;L;;;;;N;;;;; 157C;CANADIAN SYLLABICS NUNAVUT H;Lo;0;L;;;;;N;;;;; 157D;CANADIAN SYLLABICS HK;Lo;0;L;;;;;N;;;;; 157E;CANADIAN SYLLABICS QAAI;Lo;0;L;;;;;N;;;;; 157F;CANADIAN SYLLABICS QI;Lo;0;L;;;;;N;;;;; 1580;CANADIAN SYLLABICS QII;Lo;0;L;;;;;N;;;;; 1581;CANADIAN SYLLABICS QO;Lo;0;L;;;;;N;;;;; 1582;CANADIAN SYLLABICS QOO;Lo;0;L;;;;;N;;;;; 1583;CANADIAN SYLLABICS QA;Lo;0;L;;;;;N;;;;; 1584;CANADIAN SYLLABICS QAA;Lo;0;L;;;;;N;;;;; 1585;CANADIAN SYLLABICS Q;Lo;0;L;;;;;N;;;;; 1586;CANADIAN SYLLABICS TLHE;Lo;0;L;;;;;N;;;;; 1587;CANADIAN SYLLABICS TLHI;Lo;0;L;;;;;N;;;;; 1588;CANADIAN SYLLABICS TLHO;Lo;0;L;;;;;N;;;;; 1589;CANADIAN SYLLABICS TLHA;Lo;0;L;;;;;N;;;;; 158A;CANADIAN SYLLABICS WEST-CREE RE;Lo;0;L;;;;;N;;;;; 158B;CANADIAN SYLLABICS WEST-CREE RI;Lo;0;L;;;;;N;;;;; 158C;CANADIAN SYLLABICS WEST-CREE RO;Lo;0;L;;;;;N;;;;; 158D;CANADIAN SYLLABICS WEST-CREE RA;Lo;0;L;;;;;N;;;;; 158E;CANADIAN SYLLABICS NGAAI;Lo;0;L;;;;;N;;;;; 158F;CANADIAN SYLLABICS NGI;Lo;0;L;;;;;N;;;;; 1590;CANADIAN SYLLABICS NGII;Lo;0;L;;;;;N;;;;; 1591;CANADIAN SYLLABICS NGO;Lo;0;L;;;;;N;;;;; 1592;CANADIAN SYLLABICS NGOO;Lo;0;L;;;;;N;;;;; 1593;CANADIAN SYLLABICS NGA;Lo;0;L;;;;;N;;;;; 1594;CANADIAN SYLLABICS NGAA;Lo;0;L;;;;;N;;;;; 1595;CANADIAN SYLLABICS NG;Lo;0;L;;;;;N;;;;; 1596;CANADIAN SYLLABICS NNG;Lo;0;L;;;;;N;;;;; 1597;CANADIAN SYLLABICS SAYISI SHE;Lo;0;L;;;;;N;;;;; 1598;CANADIAN SYLLABICS SAYISI SHI;Lo;0;L;;;;;N;;;;; 1599;CANADIAN SYLLABICS SAYISI SHO;Lo;0;L;;;;;N;;;;; 159A;CANADIAN SYLLABICS SAYISI SHA;Lo;0;L;;;;;N;;;;; 159B;CANADIAN SYLLABICS WOODS-CREE THE;Lo;0;L;;;;;N;;;;; 159C;CANADIAN SYLLABICS WOODS-CREE THI;Lo;0;L;;;;;N;;;;; 159D;CANADIAN SYLLABICS WOODS-CREE THO;Lo;0;L;;;;;N;;;;; 159E;CANADIAN SYLLABICS WOODS-CREE THA;Lo;0;L;;;;;N;;;;; 159F;CANADIAN SYLLABICS WOODS-CREE TH;Lo;0;L;;;;;N;;;;; 15A0;CANADIAN SYLLABICS LHI;Lo;0;L;;;;;N;;;;; 15A1;CANADIAN SYLLABICS LHII;Lo;0;L;;;;;N;;;;; 15A2;CANADIAN SYLLABICS LHO;Lo;0;L;;;;;N;;;;; 15A3;CANADIAN SYLLABICS LHOO;Lo;0;L;;;;;N;;;;; 15A4;CANADIAN SYLLABICS LHA;Lo;0;L;;;;;N;;;;; 15A5;CANADIAN SYLLABICS LHAA;Lo;0;L;;;;;N;;;;; 15A6;CANADIAN SYLLABICS LH;Lo;0;L;;;;;N;;;;; 15A7;CANADIAN SYLLABICS TH-CREE THE;Lo;0;L;;;;;N;;;;; 15A8;CANADIAN SYLLABICS TH-CREE THI;Lo;0;L;;;;;N;;;;; 15A9;CANADIAN SYLLABICS TH-CREE THII;Lo;0;L;;;;;N;;;;; 15AA;CANADIAN SYLLABICS TH-CREE THO;Lo;0;L;;;;;N;;;;; 15AB;CANADIAN SYLLABICS TH-CREE THOO;Lo;0;L;;;;;N;;;;; 15AC;CANADIAN SYLLABICS TH-CREE THA;Lo;0;L;;;;;N;;;;; 15AD;CANADIAN SYLLABICS TH-CREE THAA;Lo;0;L;;;;;N;;;;; 15AE;CANADIAN SYLLABICS TH-CREE TH;Lo;0;L;;;;;N;;;;; 15AF;CANADIAN SYLLABICS AIVILIK B;Lo;0;L;;;;;N;;;;; 15B0;CANADIAN SYLLABICS BLACKFOOT E;Lo;0;L;;;;;N;;;;; 15B1;CANADIAN SYLLABICS BLACKFOOT I;Lo;0;L;;;;;N;;;;; 15B2;CANADIAN SYLLABICS BLACKFOOT O;Lo;0;L;;;;;N;;;;; 15B3;CANADIAN SYLLABICS BLACKFOOT A;Lo;0;L;;;;;N;;;;; 15B4;CANADIAN SYLLABICS BLACKFOOT WE;Lo;0;L;;;;;N;;;;; 15B5;CANADIAN SYLLABICS BLACKFOOT WI;Lo;0;L;;;;;N;;;;; 15B6;CANADIAN SYLLABICS BLACKFOOT WO;Lo;0;L;;;;;N;;;;; 15B7;CANADIAN SYLLABICS BLACKFOOT WA;Lo;0;L;;;;;N;;;;; 15B8;CANADIAN SYLLABICS BLACKFOOT NE;Lo;0;L;;;;;N;;;;; 15B9;CANADIAN SYLLABICS BLACKFOOT NI;Lo;0;L;;;;;N;;;;; 15BA;CANADIAN SYLLABICS BLACKFOOT NO;Lo;0;L;;;;;N;;;;; 15BB;CANADIAN SYLLABICS BLACKFOOT NA;Lo;0;L;;;;;N;;;;; 15BC;CANADIAN SYLLABICS BLACKFOOT KE;Lo;0;L;;;;;N;;;;; 15BD;CANADIAN SYLLABICS BLACKFOOT KI;Lo;0;L;;;;;N;;;;; 15BE;CANADIAN SYLLABICS BLACKFOOT KO;Lo;0;L;;;;;N;;;;; 15BF;CANADIAN SYLLABICS BLACKFOOT KA;Lo;0;L;;;;;N;;;;; 15C0;CANADIAN SYLLABICS SAYISI HE;Lo;0;L;;;;;N;;;;; 15C1;CANADIAN SYLLABICS SAYISI HI;Lo;0;L;;;;;N;;;;; 15C2;CANADIAN SYLLABICS SAYISI HO;Lo;0;L;;;;;N;;;;; 15C3;CANADIAN SYLLABICS SAYISI HA;Lo;0;L;;;;;N;;;;; 15C4;CANADIAN SYLLABICS CARRIER GHU;Lo;0;L;;;;;N;;;;; 15C5;CANADIAN SYLLABICS CARRIER GHO;Lo;0;L;;;;;N;;;;; 15C6;CANADIAN SYLLABICS CARRIER GHE;Lo;0;L;;;;;N;;;;; 15C7;CANADIAN SYLLABICS CARRIER GHEE;Lo;0;L;;;;;N;;;;; 15C8;CANADIAN SYLLABICS CARRIER GHI;Lo;0;L;;;;;N;;;;; 15C9;CANADIAN SYLLABICS CARRIER GHA;Lo;0;L;;;;;N;;;;; 15CA;CANADIAN SYLLABICS CARRIER RU;Lo;0;L;;;;;N;;;;; 15CB;CANADIAN SYLLABICS CARRIER RO;Lo;0;L;;;;;N;;;;; 15CC;CANADIAN SYLLABICS CARRIER RE;Lo;0;L;;;;;N;;;;; 15CD;CANADIAN SYLLABICS CARRIER REE;Lo;0;L;;;;;N;;;;; 15CE;CANADIAN SYLLABICS CARRIER RI;Lo;0;L;;;;;N;;;;; 15CF;CANADIAN SYLLABICS CARRIER RA;Lo;0;L;;;;;N;;;;; 15D0;CANADIAN SYLLABICS CARRIER WU;Lo;0;L;;;;;N;;;;; 15D1;CANADIAN SYLLABICS CARRIER WO;Lo;0;L;;;;;N;;;;; 15D2;CANADIAN SYLLABICS CARRIER WE;Lo;0;L;;;;;N;;;;; 15D3;CANADIAN SYLLABICS CARRIER WEE;Lo;0;L;;;;;N;;;;; 15D4;CANADIAN SYLLABICS CARRIER WI;Lo;0;L;;;;;N;;;;; 15D5;CANADIAN SYLLABICS CARRIER WA;Lo;0;L;;;;;N;;;;; 15D6;CANADIAN SYLLABICS CARRIER HWU;Lo;0;L;;;;;N;;;;; 15D7;CANADIAN SYLLABICS CARRIER HWO;Lo;0;L;;;;;N;;;;; 15D8;CANADIAN SYLLABICS CARRIER HWE;Lo;0;L;;;;;N;;;;; 15D9;CANADIAN SYLLABICS CARRIER HWEE;Lo;0;L;;;;;N;;;;; 15DA;CANADIAN SYLLABICS CARRIER HWI;Lo;0;L;;;;;N;;;;; 15DB;CANADIAN SYLLABICS CARRIER HWA;Lo;0;L;;;;;N;;;;; 15DC;CANADIAN SYLLABICS CARRIER THU;Lo;0;L;;;;;N;;;;; 15DD;CANADIAN SYLLABICS CARRIER THO;Lo;0;L;;;;;N;;;;; 15DE;CANADIAN SYLLABICS CARRIER THE;Lo;0;L;;;;;N;;;;; 15DF;CANADIAN SYLLABICS CARRIER THEE;Lo;0;L;;;;;N;;;;; 15E0;CANADIAN SYLLABICS CARRIER THI;Lo;0;L;;;;;N;;;;; 15E1;CANADIAN SYLLABICS CARRIER THA;Lo;0;L;;;;;N;;;;; 15E2;CANADIAN SYLLABICS CARRIER TTU;Lo;0;L;;;;;N;;;;; 15E3;CANADIAN SYLLABICS CARRIER TTO;Lo;0;L;;;;;N;;;;; 15E4;CANADIAN SYLLABICS CARRIER TTE;Lo;0;L;;;;;N;;;;; 15E5;CANADIAN SYLLABICS CARRIER TTEE;Lo;0;L;;;;;N;;;;; 15E6;CANADIAN SYLLABICS CARRIER TTI;Lo;0;L;;;;;N;;;;; 15E7;CANADIAN SYLLABICS CARRIER TTA;Lo;0;L;;;;;N;;;;; 15E8;CANADIAN SYLLABICS CARRIER PU;Lo;0;L;;;;;N;;;;; 15E9;CANADIAN SYLLABICS CARRIER PO;Lo;0;L;;;;;N;;;;; 15EA;CANADIAN SYLLABICS CARRIER PE;Lo;0;L;;;;;N;;;;; 15EB;CANADIAN SYLLABICS CARRIER PEE;Lo;0;L;;;;;N;;;;; 15EC;CANADIAN SYLLABICS CARRIER PI;Lo;0;L;;;;;N;;;;; 15ED;CANADIAN SYLLABICS CARRIER PA;Lo;0;L;;;;;N;;;;; 15EE;CANADIAN SYLLABICS CARRIER P;Lo;0;L;;;;;N;;;;; 15EF;CANADIAN SYLLABICS CARRIER GU;Lo;0;L;;;;;N;;;;; 15F0;CANADIAN SYLLABICS CARRIER GO;Lo;0;L;;;;;N;;;;; 15F1;CANADIAN SYLLABICS CARRIER GE;Lo;0;L;;;;;N;;;;; 15F2;CANADIAN SYLLABICS CARRIER GEE;Lo;0;L;;;;;N;;;;; 15F3;CANADIAN SYLLABICS CARRIER GI;Lo;0;L;;;;;N;;;;; 15F4;CANADIAN SYLLABICS CARRIER GA;Lo;0;L;;;;;N;;;;; 15F5;CANADIAN SYLLABICS CARRIER KHU;Lo;0;L;;;;;N;;;;; 15F6;CANADIAN SYLLABICS CARRIER KHO;Lo;0;L;;;;;N;;;;; 15F7;CANADIAN SYLLABICS CARRIER KHE;Lo;0;L;;;;;N;;;;; 15F8;CANADIAN SYLLABICS CARRIER KHEE;Lo;0;L;;;;;N;;;;; 15F9;CANADIAN SYLLABICS CARRIER KHI;Lo;0;L;;;;;N;;;;; 15FA;CANADIAN SYLLABICS CARRIER KHA;Lo;0;L;;;;;N;;;;; 15FB;CANADIAN SYLLABICS CARRIER KKU;Lo;0;L;;;;;N;;;;; 15FC;CANADIAN SYLLABICS CARRIER KKO;Lo;0;L;;;;;N;;;;; 15FD;CANADIAN SYLLABICS CARRIER KKE;Lo;0;L;;;;;N;;;;; 15FE;CANADIAN SYLLABICS CARRIER KKEE;Lo;0;L;;;;;N;;;;; 15FF;CANADIAN SYLLABICS CARRIER KKI;Lo;0;L;;;;;N;;;;; 1600;CANADIAN SYLLABICS CARRIER KKA;Lo;0;L;;;;;N;;;;; 1601;CANADIAN SYLLABICS CARRIER KK;Lo;0;L;;;;;N;;;;; 1602;CANADIAN SYLLABICS CARRIER NU;Lo;0;L;;;;;N;;;;; 1603;CANADIAN SYLLABICS CARRIER NO;Lo;0;L;;;;;N;;;;; 1604;CANADIAN SYLLABICS CARRIER NE;Lo;0;L;;;;;N;;;;; 1605;CANADIAN SYLLABICS CARRIER NEE;Lo;0;L;;;;;N;;;;; 1606;CANADIAN SYLLABICS CARRIER NI;Lo;0;L;;;;;N;;;;; 1607;CANADIAN SYLLABICS CARRIER NA;Lo;0;L;;;;;N;;;;; 1608;CANADIAN SYLLABICS CARRIER MU;Lo;0;L;;;;;N;;;;; 1609;CANADIAN SYLLABICS CARRIER MO;Lo;0;L;;;;;N;;;;; 160A;CANADIAN SYLLABICS CARRIER ME;Lo;0;L;;;;;N;;;;; 160B;CANADIAN SYLLABICS CARRIER MEE;Lo;0;L;;;;;N;;;;; 160C;CANADIAN SYLLABICS CARRIER MI;Lo;0;L;;;;;N;;;;; 160D;CANADIAN SYLLABICS CARRIER MA;Lo;0;L;;;;;N;;;;; 160E;CANADIAN SYLLABICS CARRIER YU;Lo;0;L;;;;;N;;;;; 160F;CANADIAN SYLLABICS CARRIER YO;Lo;0;L;;;;;N;;;;; 1610;CANADIAN SYLLABICS CARRIER YE;Lo;0;L;;;;;N;;;;; 1611;CANADIAN SYLLABICS CARRIER YEE;Lo;0;L;;;;;N;;;;; 1612;CANADIAN SYLLABICS CARRIER YI;Lo;0;L;;;;;N;;;;; 1613;CANADIAN SYLLABICS CARRIER YA;Lo;0;L;;;;;N;;;;; 1614;CANADIAN SYLLABICS CARRIER JU;Lo;0;L;;;;;N;;;;; 1615;CANADIAN SYLLABICS SAYISI JU;Lo;0;L;;;;;N;;;;; 1616;CANADIAN SYLLABICS CARRIER JO;Lo;0;L;;;;;N;;;;; 1617;CANADIAN SYLLABICS CARRIER JE;Lo;0;L;;;;;N;;;;; 1618;CANADIAN SYLLABICS CARRIER JEE;Lo;0;L;;;;;N;;;;; 1619;CANADIAN SYLLABICS CARRIER JI;Lo;0;L;;;;;N;;;;; 161A;CANADIAN SYLLABICS SAYISI JI;Lo;0;L;;;;;N;;;;; 161B;CANADIAN SYLLABICS CARRIER JA;Lo;0;L;;;;;N;;;;; 161C;CANADIAN SYLLABICS CARRIER JJU;Lo;0;L;;;;;N;;;;; 161D;CANADIAN SYLLABICS CARRIER JJO;Lo;0;L;;;;;N;;;;; 161E;CANADIAN SYLLABICS CARRIER JJE;Lo;0;L;;;;;N;;;;; 161F;CANADIAN SYLLABICS CARRIER JJEE;Lo;0;L;;;;;N;;;;; 1620;CANADIAN SYLLABICS CARRIER JJI;Lo;0;L;;;;;N;;;;; 1621;CANADIAN SYLLABICS CARRIER JJA;Lo;0;L;;;;;N;;;;; 1622;CANADIAN SYLLABICS CARRIER LU;Lo;0;L;;;;;N;;;;; 1623;CANADIAN SYLLABICS CARRIER LO;Lo;0;L;;;;;N;;;;; 1624;CANADIAN SYLLABICS CARRIER LE;Lo;0;L;;;;;N;;;;; 1625;CANADIAN SYLLABICS CARRIER LEE;Lo;0;L;;;;;N;;;;; 1626;CANADIAN SYLLABICS CARRIER LI;Lo;0;L;;;;;N;;;;; 1627;CANADIAN SYLLABICS CARRIER LA;Lo;0;L;;;;;N;;;;; 1628;CANADIAN SYLLABICS CARRIER DLU;Lo;0;L;;;;;N;;;;; 1629;CANADIAN SYLLABICS CARRIER DLO;Lo;0;L;;;;;N;;;;; 162A;CANADIAN SYLLABICS CARRIER DLE;Lo;0;L;;;;;N;;;;; 162B;CANADIAN SYLLABICS CARRIER DLEE;Lo;0;L;;;;;N;;;;; 162C;CANADIAN SYLLABICS CARRIER DLI;Lo;0;L;;;;;N;;;;; 162D;CANADIAN SYLLABICS CARRIER DLA;Lo;0;L;;;;;N;;;;; 162E;CANADIAN SYLLABICS CARRIER LHU;Lo;0;L;;;;;N;;;;; 162F;CANADIAN SYLLABICS CARRIER LHO;Lo;0;L;;;;;N;;;;; 1630;CANADIAN SYLLABICS CARRIER LHE;Lo;0;L;;;;;N;;;;; 1631;CANADIAN SYLLABICS CARRIER LHEE;Lo;0;L;;;;;N;;;;; 1632;CANADIAN SYLLABICS CARRIER LHI;Lo;0;L;;;;;N;;;;; 1633;CANADIAN SYLLABICS CARRIER LHA;Lo;0;L;;;;;N;;;;; 1634;CANADIAN SYLLABICS CARRIER TLHU;Lo;0;L;;;;;N;;;;; 1635;CANADIAN SYLLABICS CARRIER TLHO;Lo;0;L;;;;;N;;;;; 1636;CANADIAN SYLLABICS CARRIER TLHE;Lo;0;L;;;;;N;;;;; 1637;CANADIAN SYLLABICS CARRIER TLHEE;Lo;0;L;;;;;N;;;;; 1638;CANADIAN SYLLABICS CARRIER TLHI;Lo;0;L;;;;;N;;;;; 1639;CANADIAN SYLLABICS CARRIER TLHA;Lo;0;L;;;;;N;;;;; 163A;CANADIAN SYLLABICS CARRIER TLU;Lo;0;L;;;;;N;;;;; 163B;CANADIAN SYLLABICS CARRIER TLO;Lo;0;L;;;;;N;;;;; 163C;CANADIAN SYLLABICS CARRIER TLE;Lo;0;L;;;;;N;;;;; 163D;CANADIAN SYLLABICS CARRIER TLEE;Lo;0;L;;;;;N;;;;; 163E;CANADIAN SYLLABICS CARRIER TLI;Lo;0;L;;;;;N;;;;; 163F;CANADIAN SYLLABICS CARRIER TLA;Lo;0;L;;;;;N;;;;; 1640;CANADIAN SYLLABICS CARRIER ZU;Lo;0;L;;;;;N;;;;; 1641;CANADIAN SYLLABICS CARRIER ZO;Lo;0;L;;;;;N;;;;; 1642;CANADIAN SYLLABICS CARRIER ZE;Lo;0;L;;;;;N;;;;; 1643;CANADIAN SYLLABICS CARRIER ZEE;Lo;0;L;;;;;N;;;;; 1644;CANADIAN SYLLABICS CARRIER ZI;Lo;0;L;;;;;N;;;;; 1645;CANADIAN SYLLABICS CARRIER ZA;Lo;0;L;;;;;N;;;;; 1646;CANADIAN SYLLABICS CARRIER Z;Lo;0;L;;;;;N;;;;; 1647;CANADIAN SYLLABICS CARRIER INITIAL Z;Lo;0;L;;;;;N;;;;; 1648;CANADIAN SYLLABICS CARRIER DZU;Lo;0;L;;;;;N;;;;; 1649;CANADIAN SYLLABICS CARRIER DZO;Lo;0;L;;;;;N;;;;; 164A;CANADIAN SYLLABICS CARRIER DZE;Lo;0;L;;;;;N;;;;; 164B;CANADIAN SYLLABICS CARRIER DZEE;Lo;0;L;;;;;N;;;;; 164C;CANADIAN SYLLABICS CARRIER DZI;Lo;0;L;;;;;N;;;;; 164D;CANADIAN SYLLABICS CARRIER DZA;Lo;0;L;;;;;N;;;;; 164E;CANADIAN SYLLABICS CARRIER SU;Lo;0;L;;;;;N;;;;; 164F;CANADIAN SYLLABICS CARRIER SO;Lo;0;L;;;;;N;;;;; 1650;CANADIAN SYLLABICS CARRIER SE;Lo;0;L;;;;;N;;;;; 1651;CANADIAN SYLLABICS CARRIER SEE;Lo;0;L;;;;;N;;;;; 1652;CANADIAN SYLLABICS CARRIER SI;Lo;0;L;;;;;N;;;;; 1653;CANADIAN SYLLABICS CARRIER SA;Lo;0;L;;;;;N;;;;; 1654;CANADIAN SYLLABICS CARRIER SHU;Lo;0;L;;;;;N;;;;; 1655;CANADIAN SYLLABICS CARRIER SHO;Lo;0;L;;;;;N;;;;; 1656;CANADIAN SYLLABICS CARRIER SHE;Lo;0;L;;;;;N;;;;; 1657;CANADIAN SYLLABICS CARRIER SHEE;Lo;0;L;;;;;N;;;;; 1658;CANADIAN SYLLABICS CARRIER SHI;Lo;0;L;;;;;N;;;;; 1659;CANADIAN SYLLABICS CARRIER SHA;Lo;0;L;;;;;N;;;;; 165A;CANADIAN SYLLABICS CARRIER SH;Lo;0;L;;;;;N;;;;; 165B;CANADIAN SYLLABICS CARRIER TSU;Lo;0;L;;;;;N;;;;; 165C;CANADIAN SYLLABICS CARRIER TSO;Lo;0;L;;;;;N;;;;; 165D;CANADIAN SYLLABICS CARRIER TSE;Lo;0;L;;;;;N;;;;; 165E;CANADIAN SYLLABICS CARRIER TSEE;Lo;0;L;;;;;N;;;;; 165F;CANADIAN SYLLABICS CARRIER TSI;Lo;0;L;;;;;N;;;;; 1660;CANADIAN SYLLABICS CARRIER TSA;Lo;0;L;;;;;N;;;;; 1661;CANADIAN SYLLABICS CARRIER CHU;Lo;0;L;;;;;N;;;;; 1662;CANADIAN SYLLABICS CARRIER CHO;Lo;0;L;;;;;N;;;;; 1663;CANADIAN SYLLABICS CARRIER CHE;Lo;0;L;;;;;N;;;;; 1664;CANADIAN SYLLABICS CARRIER CHEE;Lo;0;L;;;;;N;;;;; 1665;CANADIAN SYLLABICS CARRIER CHI;Lo;0;L;;;;;N;;;;; 1666;CANADIAN SYLLABICS CARRIER CHA;Lo;0;L;;;;;N;;;;; 1667;CANADIAN SYLLABICS CARRIER TTSU;Lo;0;L;;;;;N;;;;; 1668;CANADIAN SYLLABICS CARRIER TTSO;Lo;0;L;;;;;N;;;;; 1669;CANADIAN SYLLABICS CARRIER TTSE;Lo;0;L;;;;;N;;;;; 166A;CANADIAN SYLLABICS CARRIER TTSEE;Lo;0;L;;;;;N;;;;; 166B;CANADIAN SYLLABICS CARRIER TTSI;Lo;0;L;;;;;N;;;;; 166C;CANADIAN SYLLABICS CARRIER TTSA;Lo;0;L;;;;;N;;;;; 166D;CANADIAN SYLLABICS CHI SIGN;Po;0;L;;;;;N;;;;; 166E;CANADIAN SYLLABICS FULL STOP;Po;0;L;;;;;N;;;;; 166F;CANADIAN SYLLABICS QAI;Lo;0;L;;;;;N;;;;; 1670;CANADIAN SYLLABICS NGAI;Lo;0;L;;;;;N;;;;; 1671;CANADIAN SYLLABICS NNGI;Lo;0;L;;;;;N;;;;; 1672;CANADIAN SYLLABICS NNGII;Lo;0;L;;;;;N;;;;; 1673;CANADIAN SYLLABICS NNGO;Lo;0;L;;;;;N;;;;; 1674;CANADIAN SYLLABICS NNGOO;Lo;0;L;;;;;N;;;;; 1675;CANADIAN SYLLABICS NNGA;Lo;0;L;;;;;N;;;;; 1676;CANADIAN SYLLABICS NNGAA;Lo;0;L;;;;;N;;;;; 1680;OGHAM SPACE MARK;Zs;0;WS;;;;;N;;;;; 1681;OGHAM LETTER BEITH;Lo;0;L;;;;;N;;;;; 1682;OGHAM LETTER LUIS;Lo;0;L;;;;;N;;;;; 1683;OGHAM LETTER FEARN;Lo;0;L;;;;;N;;;;; 1684;OGHAM LETTER SAIL;Lo;0;L;;;;;N;;;;; 1685;OGHAM LETTER NION;Lo;0;L;;;;;N;;;;; 1686;OGHAM LETTER UATH;Lo;0;L;;;;;N;;;;; 1687;OGHAM LETTER DAIR;Lo;0;L;;;;;N;;;;; 1688;OGHAM LETTER TINNE;Lo;0;L;;;;;N;;;;; 1689;OGHAM LETTER COLL;Lo;0;L;;;;;N;;;;; 168A;OGHAM LETTER CEIRT;Lo;0;L;;;;;N;;;;; 168B;OGHAM LETTER MUIN;Lo;0;L;;;;;N;;;;; 168C;OGHAM LETTER GORT;Lo;0;L;;;;;N;;;;; 168D;OGHAM LETTER NGEADAL;Lo;0;L;;;;;N;;;;; 168E;OGHAM LETTER STRAIF;Lo;0;L;;;;;N;;;;; 168F;OGHAM LETTER RUIS;Lo;0;L;;;;;N;;;;; 1690;OGHAM LETTER AILM;Lo;0;L;;;;;N;;;;; 1691;OGHAM LETTER ONN;Lo;0;L;;;;;N;;;;; 1692;OGHAM LETTER UR;Lo;0;L;;;;;N;;;;; 1693;OGHAM LETTER EADHADH;Lo;0;L;;;;;N;;;;; 1694;OGHAM LETTER IODHADH;Lo;0;L;;;;;N;;;;; 1695;OGHAM LETTER EABHADH;Lo;0;L;;;;;N;;;;; 1696;OGHAM LETTER OR;Lo;0;L;;;;;N;;;;; 1697;OGHAM LETTER UILLEANN;Lo;0;L;;;;;N;;;;; 1698;OGHAM LETTER IFIN;Lo;0;L;;;;;N;;;;; 1699;OGHAM LETTER EAMHANCHOLL;Lo;0;L;;;;;N;;;;; 169A;OGHAM LETTER PEITH;Lo;0;L;;;;;N;;;;; 169B;OGHAM FEATHER MARK;Ps;0;ON;;;;;N;;;;; 169C;OGHAM REVERSED FEATHER MARK;Pe;0;ON;;;;;N;;;;; 16A0;RUNIC LETTER FEHU FEOH FE F;Lo;0;L;;;;;N;;;;; 16A1;RUNIC LETTER V;Lo;0;L;;;;;N;;;;; 16A2;RUNIC LETTER URUZ UR U;Lo;0;L;;;;;N;;;;; 16A3;RUNIC LETTER YR;Lo;0;L;;;;;N;;;;; 16A4;RUNIC LETTER Y;Lo;0;L;;;;;N;;;;; 16A5;RUNIC LETTER W;Lo;0;L;;;;;N;;;;; 16A6;RUNIC LETTER THURISAZ THURS THORN;Lo;0;L;;;;;N;;;;; 16A7;RUNIC LETTER ETH;Lo;0;L;;;;;N;;;;; 16A8;RUNIC LETTER ANSUZ A;Lo;0;L;;;;;N;;;;; 16A9;RUNIC LETTER OS O;Lo;0;L;;;;;N;;;;; 16AA;RUNIC LETTER AC A;Lo;0;L;;;;;N;;;;; 16AB;RUNIC LETTER AESC;Lo;0;L;;;;;N;;;;; 16AC;RUNIC LETTER LONG-BRANCH-OSS O;Lo;0;L;;;;;N;;;;; 16AD;RUNIC LETTER SHORT-TWIG-OSS O;Lo;0;L;;;;;N;;;;; 16AE;RUNIC LETTER O;Lo;0;L;;;;;N;;;;; 16AF;RUNIC LETTER OE;Lo;0;L;;;;;N;;;;; 16B0;RUNIC LETTER ON;Lo;0;L;;;;;N;;;;; 16B1;RUNIC LETTER RAIDO RAD REID R;Lo;0;L;;;;;N;;;;; 16B2;RUNIC LETTER KAUNA;Lo;0;L;;;;;N;;;;; 16B3;RUNIC LETTER CEN;Lo;0;L;;;;;N;;;;; 16B4;RUNIC LETTER KAUN K;Lo;0;L;;;;;N;;;;; 16B5;RUNIC LETTER G;Lo;0;L;;;;;N;;;;; 16B6;RUNIC LETTER ENG;Lo;0;L;;;;;N;;;;; 16B7;RUNIC LETTER GEBO GYFU G;Lo;0;L;;;;;N;;;;; 16B8;RUNIC LETTER GAR;Lo;0;L;;;;;N;;;;; 16B9;RUNIC LETTER WUNJO WYNN W;Lo;0;L;;;;;N;;;;; 16BA;RUNIC LETTER HAGLAZ H;Lo;0;L;;;;;N;;;;; 16BB;RUNIC LETTER HAEGL H;Lo;0;L;;;;;N;;;;; 16BC;RUNIC LETTER LONG-BRANCH-HAGALL H;Lo;0;L;;;;;N;;;;; 16BD;RUNIC LETTER SHORT-TWIG-HAGALL H;Lo;0;L;;;;;N;;;;; 16BE;RUNIC LETTER NAUDIZ NYD NAUD N;Lo;0;L;;;;;N;;;;; 16BF;RUNIC LETTER SHORT-TWIG-NAUD N;Lo;0;L;;;;;N;;;;; 16C0;RUNIC LETTER DOTTED-N;Lo;0;L;;;;;N;;;;; 16C1;RUNIC LETTER ISAZ IS ISS I;Lo;0;L;;;;;N;;;;; 16C2;RUNIC LETTER E;Lo;0;L;;;;;N;;;;; 16C3;RUNIC LETTER JERAN J;Lo;0;L;;;;;N;;;;; 16C4;RUNIC LETTER GER;Lo;0;L;;;;;N;;;;; 16C5;RUNIC LETTER LONG-BRANCH-AR AE;Lo;0;L;;;;;N;;;;; 16C6;RUNIC LETTER SHORT-TWIG-AR A;Lo;0;L;;;;;N;;;;; 16C7;RUNIC LETTER IWAZ EOH;Lo;0;L;;;;;N;;;;; 16C8;RUNIC LETTER PERTHO PEORTH P;Lo;0;L;;;;;N;;;;; 16C9;RUNIC LETTER ALGIZ EOLHX;Lo;0;L;;;;;N;;;;; 16CA;RUNIC LETTER SOWILO S;Lo;0;L;;;;;N;;;;; 16CB;RUNIC LETTER SIGEL LONG-BRANCH-SOL S;Lo;0;L;;;;;N;;;;; 16CC;RUNIC LETTER SHORT-TWIG-SOL S;Lo;0;L;;;;;N;;;;; 16CD;RUNIC LETTER C;Lo;0;L;;;;;N;;;;; 16CE;RUNIC LETTER Z;Lo;0;L;;;;;N;;;;; 16CF;RUNIC LETTER TIWAZ TIR TYR T;Lo;0;L;;;;;N;;;;; 16D0;RUNIC LETTER SHORT-TWIG-TYR T;Lo;0;L;;;;;N;;;;; 16D1;RUNIC LETTER D;Lo;0;L;;;;;N;;;;; 16D2;RUNIC LETTER BERKANAN BEORC BJARKAN B;Lo;0;L;;;;;N;;;;; 16D3;RUNIC LETTER SHORT-TWIG-BJARKAN B;Lo;0;L;;;;;N;;;;; 16D4;RUNIC LETTER DOTTED-P;Lo;0;L;;;;;N;;;;; 16D5;RUNIC LETTER OPEN-P;Lo;0;L;;;;;N;;;;; 16D6;RUNIC LETTER EHWAZ EH E;Lo;0;L;;;;;N;;;;; 16D7;RUNIC LETTER MANNAZ MAN M;Lo;0;L;;;;;N;;;;; 16D8;RUNIC LETTER LONG-BRANCH-MADR M;Lo;0;L;;;;;N;;;;; 16D9;RUNIC LETTER SHORT-TWIG-MADR M;Lo;0;L;;;;;N;;;;; 16DA;RUNIC LETTER LAUKAZ LAGU LOGR L;Lo;0;L;;;;;N;;;;; 16DB;RUNIC LETTER DOTTED-L;Lo;0;L;;;;;N;;;;; 16DC;RUNIC LETTER INGWAZ;Lo;0;L;;;;;N;;;;; 16DD;RUNIC LETTER ING;Lo;0;L;;;;;N;;;;; 16DE;RUNIC LETTER DAGAZ DAEG D;Lo;0;L;;;;;N;;;;; 16DF;RUNIC LETTER OTHALAN ETHEL O;Lo;0;L;;;;;N;;;;; 16E0;RUNIC LETTER EAR;Lo;0;L;;;;;N;;;;; 16E1;RUNIC LETTER IOR;Lo;0;L;;;;;N;;;;; 16E2;RUNIC LETTER CWEORTH;Lo;0;L;;;;;N;;;;; 16E3;RUNIC LETTER CALC;Lo;0;L;;;;;N;;;;; 16E4;RUNIC LETTER CEALC;Lo;0;L;;;;;N;;;;; 16E5;RUNIC LETTER STAN;Lo;0;L;;;;;N;;;;; 16E6;RUNIC LETTER LONG-BRANCH-YR;Lo;0;L;;;;;N;;;;; 16E7;RUNIC LETTER SHORT-TWIG-YR;Lo;0;L;;;;;N;;;;; 16E8;RUNIC LETTER ICELANDIC-YR;Lo;0;L;;;;;N;;;;; 16E9;RUNIC LETTER Q;Lo;0;L;;;;;N;;;;; 16EA;RUNIC LETTER X;Lo;0;L;;;;;N;;;;; 16EB;RUNIC SINGLE PUNCTUATION;Po;0;L;;;;;N;;;;; 16EC;RUNIC MULTIPLE PUNCTUATION;Po;0;L;;;;;N;;;;; 16ED;RUNIC CROSS PUNCTUATION;Po;0;L;;;;;N;;;;; 16EE;RUNIC ARLAUG SYMBOL;Nl;0;L;;;;17;N;;golden number 17;;; 16EF;RUNIC TVIMADUR SYMBOL;Nl;0;L;;;;18;N;;golden number 18;;; 16F0;RUNIC BELGTHOR SYMBOL;Nl;0;L;;;;19;N;;golden number 19;;; 1700;TAGALOG LETTER A;Lo;0;L;;;;;N;;;;; 1701;TAGALOG LETTER I;Lo;0;L;;;;;N;;;;; 1702;TAGALOG LETTER U;Lo;0;L;;;;;N;;;;; 1703;TAGALOG LETTER KA;Lo;0;L;;;;;N;;;;; 1704;TAGALOG LETTER GA;Lo;0;L;;;;;N;;;;; 1705;TAGALOG LETTER NGA;Lo;0;L;;;;;N;;;;; 1706;TAGALOG LETTER TA;Lo;0;L;;;;;N;;;;; 1707;TAGALOG LETTER DA;Lo;0;L;;;;;N;;;;; 1708;TAGALOG LETTER NA;Lo;0;L;;;;;N;;;;; 1709;TAGALOG LETTER PA;Lo;0;L;;;;;N;;;;; 170A;TAGALOG LETTER BA;Lo;0;L;;;;;N;;;;; 170B;TAGALOG LETTER MA;Lo;0;L;;;;;N;;;;; 170C;TAGALOG LETTER YA;Lo;0;L;;;;;N;;;;; 170E;TAGALOG LETTER LA;Lo;0;L;;;;;N;;;;; 170F;TAGALOG LETTER WA;Lo;0;L;;;;;N;;;;; 1710;TAGALOG LETTER SA;Lo;0;L;;;;;N;;;;; 1711;TAGALOG LETTER HA;Lo;0;L;;;;;N;;;;; 1712;TAGALOG VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; 1713;TAGALOG VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; 1714;TAGALOG SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; 1720;HANUNOO LETTER A;Lo;0;L;;;;;N;;;;; 1721;HANUNOO LETTER I;Lo;0;L;;;;;N;;;;; 1722;HANUNOO LETTER U;Lo;0;L;;;;;N;;;;; 1723;HANUNOO LETTER KA;Lo;0;L;;;;;N;;;;; 1724;HANUNOO LETTER GA;Lo;0;L;;;;;N;;;;; 1725;HANUNOO LETTER NGA;Lo;0;L;;;;;N;;;;; 1726;HANUNOO LETTER TA;Lo;0;L;;;;;N;;;;; 1727;HANUNOO LETTER DA;Lo;0;L;;;;;N;;;;; 1728;HANUNOO LETTER NA;Lo;0;L;;;;;N;;;;; 1729;HANUNOO LETTER PA;Lo;0;L;;;;;N;;;;; 172A;HANUNOO LETTER BA;Lo;0;L;;;;;N;;;;; 172B;HANUNOO LETTER MA;Lo;0;L;;;;;N;;;;; 172C;HANUNOO LETTER YA;Lo;0;L;;;;;N;;;;; 172D;HANUNOO LETTER RA;Lo;0;L;;;;;N;;;;; 172E;HANUNOO LETTER LA;Lo;0;L;;;;;N;;;;; 172F;HANUNOO LETTER WA;Lo;0;L;;;;;N;;;;; 1730;HANUNOO LETTER SA;Lo;0;L;;;;;N;;;;; 1731;HANUNOO LETTER HA;Lo;0;L;;;;;N;;;;; 1732;HANUNOO VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; 1733;HANUNOO VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; 1734;HANUNOO SIGN PAMUDPOD;Mn;9;NSM;;;;;N;;;;; 1735;PHILIPPINE SINGLE PUNCTUATION;Po;0;L;;;;;N;;;;; 1736;PHILIPPINE DOUBLE PUNCTUATION;Po;0;L;;;;;N;;;;; 1740;BUHID LETTER A;Lo;0;L;;;;;N;;;;; 1741;BUHID LETTER I;Lo;0;L;;;;;N;;;;; 1742;BUHID LETTER U;Lo;0;L;;;;;N;;;;; 1743;BUHID LETTER KA;Lo;0;L;;;;;N;;;;; 1744;BUHID LETTER GA;Lo;0;L;;;;;N;;;;; 1745;BUHID LETTER NGA;Lo;0;L;;;;;N;;;;; 1746;BUHID LETTER TA;Lo;0;L;;;;;N;;;;; 1747;BUHID LETTER DA;Lo;0;L;;;;;N;;;;; 1748;BUHID LETTER NA;Lo;0;L;;;;;N;;;;; 1749;BUHID LETTER PA;Lo;0;L;;;;;N;;;;; 174A;BUHID LETTER BA;Lo;0;L;;;;;N;;;;; 174B;BUHID LETTER MA;Lo;0;L;;;;;N;;;;; 174C;BUHID LETTER YA;Lo;0;L;;;;;N;;;;; 174D;BUHID LETTER RA;Lo;0;L;;;;;N;;;;; 174E;BUHID LETTER LA;Lo;0;L;;;;;N;;;;; 174F;BUHID LETTER WA;Lo;0;L;;;;;N;;;;; 1750;BUHID LETTER SA;Lo;0;L;;;;;N;;;;; 1751;BUHID LETTER HA;Lo;0;L;;;;;N;;;;; 1752;BUHID VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; 1753;BUHID VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; 1760;TAGBANWA LETTER A;Lo;0;L;;;;;N;;;;; 1761;TAGBANWA LETTER I;Lo;0;L;;;;;N;;;;; 1762;TAGBANWA LETTER U;Lo;0;L;;;;;N;;;;; 1763;TAGBANWA LETTER KA;Lo;0;L;;;;;N;;;;; 1764;TAGBANWA LETTER GA;Lo;0;L;;;;;N;;;;; 1765;TAGBANWA LETTER NGA;Lo;0;L;;;;;N;;;;; 1766;TAGBANWA LETTER TA;Lo;0;L;;;;;N;;;;; 1767;TAGBANWA LETTER DA;Lo;0;L;;;;;N;;;;; 1768;TAGBANWA LETTER NA;Lo;0;L;;;;;N;;;;; 1769;TAGBANWA LETTER PA;Lo;0;L;;;;;N;;;;; 176A;TAGBANWA LETTER BA;Lo;0;L;;;;;N;;;;; 176B;TAGBANWA LETTER MA;Lo;0;L;;;;;N;;;;; 176C;TAGBANWA LETTER YA;Lo;0;L;;;;;N;;;;; 176E;TAGBANWA LETTER LA;Lo;0;L;;;;;N;;;;; 176F;TAGBANWA LETTER WA;Lo;0;L;;;;;N;;;;; 1770;TAGBANWA LETTER SA;Lo;0;L;;;;;N;;;;; 1772;TAGBANWA VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; 1773;TAGBANWA VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; 1780;KHMER LETTER KA;Lo;0;L;;;;;N;;;;; 1781;KHMER LETTER KHA;Lo;0;L;;;;;N;;;;; 1782;KHMER LETTER KO;Lo;0;L;;;;;N;;;;; 1783;KHMER LETTER KHO;Lo;0;L;;;;;N;;;;; 1784;KHMER LETTER NGO;Lo;0;L;;;;;N;;;;; 1785;KHMER LETTER CA;Lo;0;L;;;;;N;;;;; 1786;KHMER LETTER CHA;Lo;0;L;;;;;N;;;;; 1787;KHMER LETTER CO;Lo;0;L;;;;;N;;;;; 1788;KHMER LETTER CHO;Lo;0;L;;;;;N;;;;; 1789;KHMER LETTER NYO;Lo;0;L;;;;;N;;;;; 178A;KHMER LETTER DA;Lo;0;L;;;;;N;;;;; 178B;KHMER LETTER TTHA;Lo;0;L;;;;;N;;;;; 178C;KHMER LETTER DO;Lo;0;L;;;;;N;;;;; 178D;KHMER LETTER TTHO;Lo;0;L;;;;;N;;;;; 178E;KHMER LETTER NNO;Lo;0;L;;;;;N;;;;; 178F;KHMER LETTER TA;Lo;0;L;;;;;N;;;;; 1790;KHMER LETTER THA;Lo;0;L;;;;;N;;;;; 1791;KHMER LETTER TO;Lo;0;L;;;;;N;;;;; 1792;KHMER LETTER THO;Lo;0;L;;;;;N;;;;; 1793;KHMER LETTER NO;Lo;0;L;;;;;N;;;;; 1794;KHMER LETTER BA;Lo;0;L;;;;;N;;;;; 1795;KHMER LETTER PHA;Lo;0;L;;;;;N;;;;; 1796;KHMER LETTER PO;Lo;0;L;;;;;N;;;;; 1797;KHMER LETTER PHO;Lo;0;L;;;;;N;;;;; 1798;KHMER LETTER MO;Lo;0;L;;;;;N;;;;; 1799;KHMER LETTER YO;Lo;0;L;;;;;N;;;;; 179A;KHMER LETTER RO;Lo;0;L;;;;;N;;;;; 179B;KHMER LETTER LO;Lo;0;L;;;;;N;;;;; 179C;KHMER LETTER VO;Lo;0;L;;;;;N;;;;; 179D;KHMER LETTER SHA;Lo;0;L;;;;;N;;;;; 179E;KHMER LETTER SSO;Lo;0;L;;;;;N;;;;; 179F;KHMER LETTER SA;Lo;0;L;;;;;N;;;;; 17A0;KHMER LETTER HA;Lo;0;L;;;;;N;;;;; 17A1;KHMER LETTER LA;Lo;0;L;;;;;N;;;;; 17A2;KHMER LETTER QA;Lo;0;L;;;;;N;;;;; 17A3;KHMER INDEPENDENT VOWEL QAQ;Lo;0;L;;;;;N;;*;;; 17A4;KHMER INDEPENDENT VOWEL QAA;Lo;0;L;;;;;N;;*;;; 17A5;KHMER INDEPENDENT VOWEL QI;Lo;0;L;;;;;N;;;;; 17A6;KHMER INDEPENDENT VOWEL QII;Lo;0;L;;;;;N;;;;; 17A7;KHMER INDEPENDENT VOWEL QU;Lo;0;L;;;;;N;;;;; 17A8;KHMER INDEPENDENT VOWEL QUK;Lo;0;L;;;;;N;;;;; 17A9;KHMER INDEPENDENT VOWEL QUU;Lo;0;L;;;;;N;;;;; 17AA;KHMER INDEPENDENT VOWEL QUUV;Lo;0;L;;;;;N;;;;; 17AB;KHMER INDEPENDENT VOWEL RY;Lo;0;L;;;;;N;;;;; 17AC;KHMER INDEPENDENT VOWEL RYY;Lo;0;L;;;;;N;;;;; 17AD;KHMER INDEPENDENT VOWEL LY;Lo;0;L;;;;;N;;;;; 17AE;KHMER INDEPENDENT VOWEL LYY;Lo;0;L;;;;;N;;;;; 17AF;KHMER INDEPENDENT VOWEL QE;Lo;0;L;;;;;N;;;;; 17B0;KHMER INDEPENDENT VOWEL QAI;Lo;0;L;;;;;N;;;;; 17B1;KHMER INDEPENDENT VOWEL QOO TYPE ONE;Lo;0;L;;;;;N;;;;; 17B2;KHMER INDEPENDENT VOWEL QOO TYPE TWO;Lo;0;L;;;;;N;;;;; 17B3;KHMER INDEPENDENT VOWEL QAU;Lo;0;L;;;;;N;;;;; 17B4;KHMER VOWEL INHERENT AQ;Cf;0;L;;;;;N;;*;;; 17B5;KHMER VOWEL INHERENT AA;Cf;0;L;;;;;N;;*;;; 17B6;KHMER VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; 17B7;KHMER VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; 17B8;KHMER VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;; 17B9;KHMER VOWEL SIGN Y;Mn;0;NSM;;;;;N;;;;; 17BA;KHMER VOWEL SIGN YY;Mn;0;NSM;;;;;N;;;;; 17BB;KHMER VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; 17BC;KHMER VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; 17BD;KHMER VOWEL SIGN UA;Mn;0;NSM;;;;;N;;;;; 17BE;KHMER VOWEL SIGN OE;Mc;0;L;;;;;N;;;;; 17BF;KHMER VOWEL SIGN YA;Mc;0;L;;;;;N;;;;; 17C0;KHMER VOWEL SIGN IE;Mc;0;L;;;;;N;;;;; 17C1;KHMER VOWEL SIGN E;Mc;0;L;;;;;N;;;;; 17C2;KHMER VOWEL SIGN AE;Mc;0;L;;;;;N;;;;; 17C3;KHMER VOWEL SIGN AI;Mc;0;L;;;;;N;;;;; 17C4;KHMER VOWEL SIGN OO;Mc;0;L;;;;;N;;;;; 17C5;KHMER VOWEL SIGN AU;Mc;0;L;;;;;N;;;;; 17C6;KHMER SIGN NIKAHIT;Mn;0;NSM;;;;;N;;;;; 17C7;KHMER SIGN REAHMUK;Mc;0;L;;;;;N;;;;; 17C8;KHMER SIGN YUUKALEAPINTU;Mc;0;L;;;;;N;;;;; 17C9;KHMER SIGN MUUSIKATOAN;Mn;0;NSM;;;;;N;;;;; 17CA;KHMER SIGN TRIISAP;Mn;0;NSM;;;;;N;;;;; 17CB;KHMER SIGN BANTOC;Mn;0;NSM;;;;;N;;;;; 17CC;KHMER SIGN ROBAT;Mn;0;NSM;;;;;N;;;;; 17CD;KHMER SIGN TOANDAKHIAT;Mn;0;NSM;;;;;N;;;;; 17CE;KHMER SIGN KAKABAT;Mn;0;NSM;;;;;N;;;;; 17CF;KHMER SIGN AHSDA;Mn;0;NSM;;;;;N;;;;; 17D0;KHMER SIGN SAMYOK SANNYA;Mn;0;NSM;;;;;N;;;;; 17D1;KHMER SIGN VIRIAM;Mn;0;NSM;;;;;N;;;;; 17D2;KHMER SIGN COENG;Mn;9;NSM;;;;;N;;;;; 17D3;KHMER SIGN BATHAMASAT;Mn;0;NSM;;;;;N;;*;;; 17D4;KHMER SIGN KHAN;Po;0;L;;;;;N;;;;; 17D5;KHMER SIGN BARIYOOSAN;Po;0;L;;;;;N;;;;; 17D6;KHMER SIGN CAMNUC PII KUUH;Po;0;L;;;;;N;;;;; 17D7;KHMER SIGN LEK TOO;Lm;0;L;;;;;N;;;;; 17D8;KHMER SIGN BEYYAL;Po;0;L;;;;;N;;*;;; 17D9;KHMER SIGN PHNAEK MUAN;Po;0;L;;;;;N;;;;; 17DA;KHMER SIGN KOOMUUT;Po;0;L;;;;;N;;;;; 17DB;KHMER CURRENCY SYMBOL RIEL;Sc;0;ET;;;;;N;;;;; 17DC;KHMER SIGN AVAKRAHASANYA;Lo;0;L;;;;;N;;;;; 17DD;KHMER SIGN ATTHACAN;Mn;230;NSM;;;;;N;;;;; 17E0;KHMER DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 17E1;KHMER DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 17E2;KHMER DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 17E3;KHMER DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 17E4;KHMER DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 17E5;KHMER DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 17E6;KHMER DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 17E7;KHMER DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 17E8;KHMER DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 17E9;KHMER DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 17F0;KHMER SYMBOL LEK ATTAK SON;No;0;ON;;;;0;N;;;;; 17F1;KHMER SYMBOL LEK ATTAK MUOY;No;0;ON;;;;1;N;;;;; 17F2;KHMER SYMBOL LEK ATTAK PII;No;0;ON;;;;2;N;;;;; 17F3;KHMER SYMBOL LEK ATTAK BEI;No;0;ON;;;;3;N;;;;; 17F4;KHMER SYMBOL LEK ATTAK BUON;No;0;ON;;;;4;N;;;;; 17F5;KHMER SYMBOL LEK ATTAK PRAM;No;0;ON;;;;5;N;;;;; 17F6;KHMER SYMBOL LEK ATTAK PRAM-MUOY;No;0;ON;;;;6;N;;;;; 17F7;KHMER SYMBOL LEK ATTAK PRAM-PII;No;0;ON;;;;7;N;;;;; 17F8;KHMER SYMBOL LEK ATTAK PRAM-BEI;No;0;ON;;;;8;N;;;;; 17F9;KHMER SYMBOL LEK ATTAK PRAM-BUON;No;0;ON;;;;9;N;;;;; 1800;MONGOLIAN BIRGA;Po;0;ON;;;;;N;;;;; 1801;MONGOLIAN ELLIPSIS;Po;0;ON;;;;;N;;;;; 1802;MONGOLIAN COMMA;Po;0;ON;;;;;N;;;;; 1803;MONGOLIAN FULL STOP;Po;0;ON;;;;;N;;;;; 1804;MONGOLIAN COLON;Po;0;ON;;;;;N;;;;; 1805;MONGOLIAN FOUR DOTS;Po;0;ON;;;;;N;;;;; 1806;MONGOLIAN TODO SOFT HYPHEN;Pd;0;ON;;;;;N;;;;; 1807;MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER;Po;0;ON;;;;;N;;;;; 1808;MONGOLIAN MANCHU COMMA;Po;0;ON;;;;;N;;;;; 1809;MONGOLIAN MANCHU FULL STOP;Po;0;ON;;;;;N;;;;; 180A;MONGOLIAN NIRUGU;Po;0;ON;;;;;N;;;;; 180B;MONGOLIAN FREE VARIATION SELECTOR ONE;Mn;0;NSM;;;;;N;;;;; 180C;MONGOLIAN FREE VARIATION SELECTOR TWO;Mn;0;NSM;;;;;N;;;;; 180D;MONGOLIAN FREE VARIATION SELECTOR THREE;Mn;0;NSM;;;;;N;;;;; 180E;MONGOLIAN VOWEL SEPARATOR;Zs;0;WS;;;;;N;;;;; 1810;MONGOLIAN DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 1811;MONGOLIAN DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 1812;MONGOLIAN DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 1813;MONGOLIAN DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 1814;MONGOLIAN DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 1815;MONGOLIAN DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 1816;MONGOLIAN DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 1817;MONGOLIAN DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 1818;MONGOLIAN DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 1819;MONGOLIAN DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 1820;MONGOLIAN LETTER A;Lo;0;L;;;;;N;;;;; 1821;MONGOLIAN LETTER E;Lo;0;L;;;;;N;;;;; 1822;MONGOLIAN LETTER I;Lo;0;L;;;;;N;;;;; 1823;MONGOLIAN LETTER O;Lo;0;L;;;;;N;;;;; 1824;MONGOLIAN LETTER U;Lo;0;L;;;;;N;;;;; 1825;MONGOLIAN LETTER OE;Lo;0;L;;;;;N;;;;; 1826;MONGOLIAN LETTER UE;Lo;0;L;;;;;N;;;;; 1827;MONGOLIAN LETTER EE;Lo;0;L;;;;;N;;;;; 1828;MONGOLIAN LETTER NA;Lo;0;L;;;;;N;;;;; 1829;MONGOLIAN LETTER ANG;Lo;0;L;;;;;N;;;;; 182A;MONGOLIAN LETTER BA;Lo;0;L;;;;;N;;;;; 182B;MONGOLIAN LETTER PA;Lo;0;L;;;;;N;;;;; 182C;MONGOLIAN LETTER QA;Lo;0;L;;;;;N;;;;; 182D;MONGOLIAN LETTER GA;Lo;0;L;;;;;N;;;;; 182E;MONGOLIAN LETTER MA;Lo;0;L;;;;;N;;;;; 182F;MONGOLIAN LETTER LA;Lo;0;L;;;;;N;;;;; 1830;MONGOLIAN LETTER SA;Lo;0;L;;;;;N;;;;; 1831;MONGOLIAN LETTER SHA;Lo;0;L;;;;;N;;;;; 1832;MONGOLIAN LETTER TA;Lo;0;L;;;;;N;;;;; 1833;MONGOLIAN LETTER DA;Lo;0;L;;;;;N;;;;; 1834;MONGOLIAN LETTER CHA;Lo;0;L;;;;;N;;;;; 1835;MONGOLIAN LETTER JA;Lo;0;L;;;;;N;;;;; 1836;MONGOLIAN LETTER YA;Lo;0;L;;;;;N;;;;; 1837;MONGOLIAN LETTER RA;Lo;0;L;;;;;N;;;;; 1838;MONGOLIAN LETTER WA;Lo;0;L;;;;;N;;;;; 1839;MONGOLIAN LETTER FA;Lo;0;L;;;;;N;;;;; 183A;MONGOLIAN LETTER KA;Lo;0;L;;;;;N;;;;; 183B;MONGOLIAN LETTER KHA;Lo;0;L;;;;;N;;;;; 183C;MONGOLIAN LETTER TSA;Lo;0;L;;;;;N;;;;; 183D;MONGOLIAN LETTER ZA;Lo;0;L;;;;;N;;;;; 183E;MONGOLIAN LETTER HAA;Lo;0;L;;;;;N;;;;; 183F;MONGOLIAN LETTER ZRA;Lo;0;L;;;;;N;;;;; 1840;MONGOLIAN LETTER LHA;Lo;0;L;;;;;N;;;;; 1841;MONGOLIAN LETTER ZHI;Lo;0;L;;;;;N;;;;; 1842;MONGOLIAN LETTER CHI;Lo;0;L;;;;;N;;;;; 1843;MONGOLIAN LETTER TODO LONG VOWEL SIGN;Lm;0;L;;;;;N;;;;; 1844;MONGOLIAN LETTER TODO E;Lo;0;L;;;;;N;;;;; 1845;MONGOLIAN LETTER TODO I;Lo;0;L;;;;;N;;;;; 1846;MONGOLIAN LETTER TODO O;Lo;0;L;;;;;N;;;;; 1847;MONGOLIAN LETTER TODO U;Lo;0;L;;;;;N;;;;; 1848;MONGOLIAN LETTER TODO OE;Lo;0;L;;;;;N;;;;; 1849;MONGOLIAN LETTER TODO UE;Lo;0;L;;;;;N;;;;; 184A;MONGOLIAN LETTER TODO ANG;Lo;0;L;;;;;N;;;;; 184B;MONGOLIAN LETTER TODO BA;Lo;0;L;;;;;N;;;;; 184C;MONGOLIAN LETTER TODO PA;Lo;0;L;;;;;N;;;;; 184D;MONGOLIAN LETTER TODO QA;Lo;0;L;;;;;N;;;;; 184E;MONGOLIAN LETTER TODO GA;Lo;0;L;;;;;N;;;;; 184F;MONGOLIAN LETTER TODO MA;Lo;0;L;;;;;N;;;;; 1850;MONGOLIAN LETTER TODO TA;Lo;0;L;;;;;N;;;;; 1851;MONGOLIAN LETTER TODO DA;Lo;0;L;;;;;N;;;;; 1852;MONGOLIAN LETTER TODO CHA;Lo;0;L;;;;;N;;;;; 1853;MONGOLIAN LETTER TODO JA;Lo;0;L;;;;;N;;;;; 1854;MONGOLIAN LETTER TODO TSA;Lo;0;L;;;;;N;;;;; 1855;MONGOLIAN LETTER TODO YA;Lo;0;L;;;;;N;;;;; 1856;MONGOLIAN LETTER TODO WA;Lo;0;L;;;;;N;;;;; 1857;MONGOLIAN LETTER TODO KA;Lo;0;L;;;;;N;;;;; 1858;MONGOLIAN LETTER TODO GAA;Lo;0;L;;;;;N;;;;; 1859;MONGOLIAN LETTER TODO HAA;Lo;0;L;;;;;N;;;;; 185A;MONGOLIAN LETTER TODO JIA;Lo;0;L;;;;;N;;;;; 185B;MONGOLIAN LETTER TODO NIA;Lo;0;L;;;;;N;;;;; 185C;MONGOLIAN LETTER TODO DZA;Lo;0;L;;;;;N;;;;; 185D;MONGOLIAN LETTER SIBE E;Lo;0;L;;;;;N;;;;; 185E;MONGOLIAN LETTER SIBE I;Lo;0;L;;;;;N;;;;; 185F;MONGOLIAN LETTER SIBE IY;Lo;0;L;;;;;N;;;;; 1860;MONGOLIAN LETTER SIBE UE;Lo;0;L;;;;;N;;;;; 1861;MONGOLIAN LETTER SIBE U;Lo;0;L;;;;;N;;;;; 1862;MONGOLIAN LETTER SIBE ANG;Lo;0;L;;;;;N;;;;; 1863;MONGOLIAN LETTER SIBE KA;Lo;0;L;;;;;N;;;;; 1864;MONGOLIAN LETTER SIBE GA;Lo;0;L;;;;;N;;;;; 1865;MONGOLIAN LETTER SIBE HA;Lo;0;L;;;;;N;;;;; 1866;MONGOLIAN LETTER SIBE PA;Lo;0;L;;;;;N;;;;; 1867;MONGOLIAN LETTER SIBE SHA;Lo;0;L;;;;;N;;;;; 1868;MONGOLIAN LETTER SIBE TA;Lo;0;L;;;;;N;;;;; 1869;MONGOLIAN LETTER SIBE DA;Lo;0;L;;;;;N;;;;; 186A;MONGOLIAN LETTER SIBE JA;Lo;0;L;;;;;N;;;;; 186B;MONGOLIAN LETTER SIBE FA;Lo;0;L;;;;;N;;;;; 186C;MONGOLIAN LETTER SIBE GAA;Lo;0;L;;;;;N;;;;; 186D;MONGOLIAN LETTER SIBE HAA;Lo;0;L;;;;;N;;;;; 186E;MONGOLIAN LETTER SIBE TSA;Lo;0;L;;;;;N;;;;; 186F;MONGOLIAN LETTER SIBE ZA;Lo;0;L;;;;;N;;;;; 1870;MONGOLIAN LETTER SIBE RAA;Lo;0;L;;;;;N;;;;; 1871;MONGOLIAN LETTER SIBE CHA;Lo;0;L;;;;;N;;;;; 1872;MONGOLIAN LETTER SIBE ZHA;Lo;0;L;;;;;N;;;;; 1873;MONGOLIAN LETTER MANCHU I;Lo;0;L;;;;;N;;;;; 1874;MONGOLIAN LETTER MANCHU KA;Lo;0;L;;;;;N;;;;; 1875;MONGOLIAN LETTER MANCHU RA;Lo;0;L;;;;;N;;;;; 1876;MONGOLIAN LETTER MANCHU FA;Lo;0;L;;;;;N;;;;; 1877;MONGOLIAN LETTER MANCHU ZHA;Lo;0;L;;;;;N;;;;; 1880;MONGOLIAN LETTER ALI GALI ANUSVARA ONE;Lo;0;L;;;;;N;;;;; 1881;MONGOLIAN LETTER ALI GALI VISARGA ONE;Lo;0;L;;;;;N;;;;; 1882;MONGOLIAN LETTER ALI GALI DAMARU;Lo;0;L;;;;;N;;;;; 1883;MONGOLIAN LETTER ALI GALI UBADAMA;Lo;0;L;;;;;N;;;;; 1884;MONGOLIAN LETTER ALI GALI INVERTED UBADAMA;Lo;0;L;;;;;N;;;;; 1885;MONGOLIAN LETTER ALI GALI BALUDA;Lo;0;L;;;;;N;;;;; 1886;MONGOLIAN LETTER ALI GALI THREE BALUDA;Lo;0;L;;;;;N;;;;; 1887;MONGOLIAN LETTER ALI GALI A;Lo;0;L;;;;;N;;;;; 1888;MONGOLIAN LETTER ALI GALI I;Lo;0;L;;;;;N;;;;; 1889;MONGOLIAN LETTER ALI GALI KA;Lo;0;L;;;;;N;;;;; 188A;MONGOLIAN LETTER ALI GALI NGA;Lo;0;L;;;;;N;;;;; 188B;MONGOLIAN LETTER ALI GALI CA;Lo;0;L;;;;;N;;;;; 188C;MONGOLIAN LETTER ALI GALI TTA;Lo;0;L;;;;;N;;;;; 188D;MONGOLIAN LETTER ALI GALI TTHA;Lo;0;L;;;;;N;;;;; 188E;MONGOLIAN LETTER ALI GALI DDA;Lo;0;L;;;;;N;;;;; 188F;MONGOLIAN LETTER ALI GALI NNA;Lo;0;L;;;;;N;;;;; 1890;MONGOLIAN LETTER ALI GALI TA;Lo;0;L;;;;;N;;;;; 1891;MONGOLIAN LETTER ALI GALI DA;Lo;0;L;;;;;N;;;;; 1892;MONGOLIAN LETTER ALI GALI PA;Lo;0;L;;;;;N;;;;; 1893;MONGOLIAN LETTER ALI GALI PHA;Lo;0;L;;;;;N;;;;; 1894;MONGOLIAN LETTER ALI GALI SSA;Lo;0;L;;;;;N;;;;; 1895;MONGOLIAN LETTER ALI GALI ZHA;Lo;0;L;;;;;N;;;;; 1896;MONGOLIAN LETTER ALI GALI ZA;Lo;0;L;;;;;N;;;;; 1897;MONGOLIAN LETTER ALI GALI AH;Lo;0;L;;;;;N;;;;; 1898;MONGOLIAN LETTER TODO ALI GALI TA;Lo;0;L;;;;;N;;;;; 1899;MONGOLIAN LETTER TODO ALI GALI ZHA;Lo;0;L;;;;;N;;;;; 189A;MONGOLIAN LETTER MANCHU ALI GALI GHA;Lo;0;L;;;;;N;;;;; 189B;MONGOLIAN LETTER MANCHU ALI GALI NGA;Lo;0;L;;;;;N;;;;; 189C;MONGOLIAN LETTER MANCHU ALI GALI CA;Lo;0;L;;;;;N;;;;; 189D;MONGOLIAN LETTER MANCHU ALI GALI JHA;Lo;0;L;;;;;N;;;;; 189E;MONGOLIAN LETTER MANCHU ALI GALI TTA;Lo;0;L;;;;;N;;;;; 189F;MONGOLIAN LETTER MANCHU ALI GALI DDHA;Lo;0;L;;;;;N;;;;; 18A0;MONGOLIAN LETTER MANCHU ALI GALI TA;Lo;0;L;;;;;N;;;;; 18A1;MONGOLIAN LETTER MANCHU ALI GALI DHA;Lo;0;L;;;;;N;;;;; 18A2;MONGOLIAN LETTER MANCHU ALI GALI SSA;Lo;0;L;;;;;N;;;;; 18A3;MONGOLIAN LETTER MANCHU ALI GALI CYA;Lo;0;L;;;;;N;;;;; 18A4;MONGOLIAN LETTER MANCHU ALI GALI ZHA;Lo;0;L;;;;;N;;;;; 18A5;MONGOLIAN LETTER MANCHU ALI GALI ZA;Lo;0;L;;;;;N;;;;; 18A6;MONGOLIAN LETTER ALI GALI HALF U;Lo;0;L;;;;;N;;;;; 18A7;MONGOLIAN LETTER ALI GALI HALF YA;Lo;0;L;;;;;N;;;;; 18A8;MONGOLIAN LETTER MANCHU ALI GALI BHA;Lo;0;L;;;;;N;;;;; 18A9;MONGOLIAN LETTER ALI GALI DAGALGA;Mn;228;NSM;;;;;N;;;;; 1900;LIMBU VOWEL-CARRIER LETTER;Lo;0;L;;;;;N;;;;; 1901;LIMBU LETTER KA;Lo;0;L;;;;;N;;;;; 1902;LIMBU LETTER KHA;Lo;0;L;;;;;N;;;;; 1903;LIMBU LETTER GA;Lo;0;L;;;;;N;;;;; 1904;LIMBU LETTER GHA;Lo;0;L;;;;;N;;;;; 1905;LIMBU LETTER NGA;Lo;0;L;;;;;N;;;;; 1906;LIMBU LETTER CA;Lo;0;L;;;;;N;;;;; 1907;LIMBU LETTER CHA;Lo;0;L;;;;;N;;;;; 1908;LIMBU LETTER JA;Lo;0;L;;;;;N;;;;; 1909;LIMBU LETTER JHA;Lo;0;L;;;;;N;;;;; 190A;LIMBU LETTER YAN;Lo;0;L;;;;;N;;;;; 190B;LIMBU LETTER TA;Lo;0;L;;;;;N;;;;; 190C;LIMBU LETTER THA;Lo;0;L;;;;;N;;;;; 190D;LIMBU LETTER DA;Lo;0;L;;;;;N;;;;; 190E;LIMBU LETTER DHA;Lo;0;L;;;;;N;;;;; 190F;LIMBU LETTER NA;Lo;0;L;;;;;N;;;;; 1910;LIMBU LETTER PA;Lo;0;L;;;;;N;;;;; 1911;LIMBU LETTER PHA;Lo;0;L;;;;;N;;;;; 1912;LIMBU LETTER BA;Lo;0;L;;;;;N;;;;; 1913;LIMBU LETTER BHA;Lo;0;L;;;;;N;;;;; 1914;LIMBU LETTER MA;Lo;0;L;;;;;N;;;;; 1915;LIMBU LETTER YA;Lo;0;L;;;;;N;;;;; 1916;LIMBU LETTER RA;Lo;0;L;;;;;N;;;;; 1917;LIMBU LETTER LA;Lo;0;L;;;;;N;;;;; 1918;LIMBU LETTER WA;Lo;0;L;;;;;N;;;;; 1919;LIMBU LETTER SHA;Lo;0;L;;;;;N;;;;; 191A;LIMBU LETTER SSA;Lo;0;L;;;;;N;;;;; 191B;LIMBU LETTER SA;Lo;0;L;;;;;N;;;;; 191C;LIMBU LETTER HA;Lo;0;L;;;;;N;;;;; 1920;LIMBU VOWEL SIGN A;Mn;0;NSM;;;;;N;;;;; 1921;LIMBU VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; 1922;LIMBU VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; 1923;LIMBU VOWEL SIGN EE;Mc;0;L;;;;;N;;;;; 1924;LIMBU VOWEL SIGN AI;Mc;0;L;;;;;N;;;;; 1925;LIMBU VOWEL SIGN OO;Mc;0;L;;;;;N;;;;; 1926;LIMBU VOWEL SIGN AU;Mc;0;L;;;;;N;;;;; 1927;LIMBU VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; 1928;LIMBU VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;; 1929;LIMBU SUBJOINED LETTER YA;Mc;0;NSM;;;;;N;;;;; 192A;LIMBU SUBJOINED LETTER RA;Mc;0;NSM;;;;;N;;;;; 192B;LIMBU SUBJOINED LETTER WA;Mc;0;NSM;;;;;N;;;;; 1930;LIMBU SMALL LETTER KA;Mc;0;L;;;;;N;;;;; 1931;LIMBU SMALL LETTER NGA;Mc;0;L;;;;;N;;;;; 1932;LIMBU SMALL LETTER ANUSVARA;Mn;0;NSM;;;;;N;;;;; 1933;LIMBU SMALL LETTER TA;Mc;0;L;;;;;N;;;;; 1934;LIMBU SMALL LETTER NA;Mc;0;L;;;;;N;;;;; 1935;LIMBU SMALL LETTER PA;Mc;0;L;;;;;N;;;;; 1936;LIMBU SMALL LETTER MA;Mc;0;L;;;;;N;;;;; 1937;LIMBU SMALL LETTER RA;Mc;0;L;;;;;N;;;;; 1938;LIMBU SMALL LETTER LA;Mc;0;L;;;;;N;;;;; 1939;LIMBU SIGN MUKPHRENG;Mn;222;NSM;;;;;N;;;;; 193A;LIMBU SIGN KEMPHRENG;Mn;230;NSM;;;;;N;;;;; 193B;LIMBU SIGN SA-I;Mn;220;NSM;;;;;N;;;;; 1940;LIMBU SIGN LOO;So;0;ON;;;;;N;;;;; 1944;LIMBU EXCLAMATION MARK;Po;0;ON;;;;;N;;;;; 1945;LIMBU QUESTION MARK;Po;0;ON;;;;;N;;;;; 1946;LIMBU DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 1947;LIMBU DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 1948;LIMBU DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 1949;LIMBU DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 194A;LIMBU DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 194B;LIMBU DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 194C;LIMBU DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 194D;LIMBU DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 194E;LIMBU DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 194F;LIMBU DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 1950;TAI LE LETTER KA;Lo;0;L;;;;;N;;;;; 1951;TAI LE LETTER XA;Lo;0;L;;;;;N;;;;; 1952;TAI LE LETTER NGA;Lo;0;L;;;;;N;;;;; 1953;TAI LE LETTER TSA;Lo;0;L;;;;;N;;;;; 1954;TAI LE LETTER SA;Lo;0;L;;;;;N;;;;; 1955;TAI LE LETTER YA;Lo;0;L;;;;;N;;;;; 1956;TAI LE LETTER TA;Lo;0;L;;;;;N;;;;; 1957;TAI LE LETTER THA;Lo;0;L;;;;;N;;;;; 1958;TAI LE LETTER LA;Lo;0;L;;;;;N;;;;; 1959;TAI LE LETTER PA;Lo;0;L;;;;;N;;;;; 195A;TAI LE LETTER PHA;Lo;0;L;;;;;N;;;;; 195B;TAI LE LETTER MA;Lo;0;L;;;;;N;;;;; 195C;TAI LE LETTER FA;Lo;0;L;;;;;N;;;;; 195D;TAI LE LETTER VA;Lo;0;L;;;;;N;;;;; 195E;TAI LE LETTER HA;Lo;0;L;;;;;N;;;;; 195F;TAI LE LETTER QA;Lo;0;L;;;;;N;;;;; 1960;TAI LE LETTER KHA;Lo;0;L;;;;;N;;;;; 1961;TAI LE LETTER TSHA;Lo;0;L;;;;;N;;;;; 1962;TAI LE LETTER NA;Lo;0;L;;;;;N;;;;; 1963;TAI LE LETTER A;Lo;0;L;;;;;N;;;;; 1964;TAI LE LETTER I;Lo;0;L;;;;;N;;;;; 1965;TAI LE LETTER EE;Lo;0;L;;;;;N;;;;; 1966;TAI LE LETTER EH;Lo;0;L;;;;;N;;;;; 1967;TAI LE LETTER U;Lo;0;L;;;;;N;;;;; 1968;TAI LE LETTER OO;Lo;0;L;;;;;N;;;;; 1969;TAI LE LETTER O;Lo;0;L;;;;;N;;;;; 196A;TAI LE LETTER UE;Lo;0;L;;;;;N;;;;; 196B;TAI LE LETTER E;Lo;0;L;;;;;N;;;;; 196C;TAI LE LETTER AUE;Lo;0;L;;;;;N;;;;; 196D;TAI LE LETTER AI;Lo;0;L;;;;;N;;;;; 1970;TAI LE LETTER TONE-2;Lo;0;L;;;;;N;;;;; 1971;TAI LE LETTER TONE-3;Lo;0;L;;;;;N;;;;; 1972;TAI LE LETTER TONE-4;Lo;0;L;;;;;N;;;;; 1973;TAI LE LETTER TONE-5;Lo;0;L;;;;;N;;;;; 1974;TAI LE LETTER TONE-6;Lo;0;L;;;;;N;;;;; 19E0;KHMER SYMBOL PATHAMASAT;So;0;ON;;;;;N;;;;; 19E1;KHMER SYMBOL MUOY KOET;So;0;ON;;;;;N;;;;; 19E2;KHMER SYMBOL PII KOET;So;0;ON;;;;;N;;;;; 19E3;KHMER SYMBOL BEI KOET;So;0;ON;;;;;N;;;;; 19E4;KHMER SYMBOL BUON KOET;So;0;ON;;;;;N;;;;; 19E5;KHMER SYMBOL PRAM KOET;So;0;ON;;;;;N;;;;; 19E6;KHMER SYMBOL PRAM-MUOY KOET;So;0;ON;;;;;N;;;;; 19E7;KHMER SYMBOL PRAM-PII KOET;So;0;ON;;;;;N;;;;; 19E8;KHMER SYMBOL PRAM-BEI KOET;So;0;ON;;;;;N;;;;; 19E9;KHMER SYMBOL PRAM-BUON KOET;So;0;ON;;;;;N;;;;; 19EA;KHMER SYMBOL DAP KOET;So;0;ON;;;;;N;;;;; 19EB;KHMER SYMBOL DAP-MUOY KOET;So;0;ON;;;;;N;;;;; 19EC;KHMER SYMBOL DAP-PII KOET;So;0;ON;;;;;N;;;;; 19ED;KHMER SYMBOL DAP-BEI KOET;So;0;ON;;;;;N;;;;; 19EE;KHMER SYMBOL DAP-BUON KOET;So;0;ON;;;;;N;;;;; 19EF;KHMER SYMBOL DAP-PRAM KOET;So;0;ON;;;;;N;;;;; 19F0;KHMER SYMBOL TUTEYASAT;So;0;ON;;;;;N;;;;; 19F1;KHMER SYMBOL MUOY ROC;So;0;ON;;;;;N;;;;; 19F2;KHMER SYMBOL PII ROC;So;0;ON;;;;;N;;;;; 19F3;KHMER SYMBOL BEI ROC;So;0;ON;;;;;N;;;;; 19F4;KHMER SYMBOL BUON ROC;So;0;ON;;;;;N;;;;; 19F5;KHMER SYMBOL PRAM ROC;So;0;ON;;;;;N;;;;; 19F6;KHMER SYMBOL PRAM-MUOY ROC;So;0;ON;;;;;N;;;;; 19F7;KHMER SYMBOL PRAM-PII ROC;So;0;ON;;;;;N;;;;; 19F8;KHMER SYMBOL PRAM-BEI ROC;So;0;ON;;;;;N;;;;; 19F9;KHMER SYMBOL PRAM-BUON ROC;So;0;ON;;;;;N;;;;; 19FA;KHMER SYMBOL DAP ROC;So;0;ON;;;;;N;;;;; 19FB;KHMER SYMBOL DAP-MUOY ROC;So;0;ON;;;;;N;;;;; 19FC;KHMER SYMBOL DAP-PII ROC;So;0;ON;;;;;N;;;;; 19FD;KHMER SYMBOL DAP-BEI ROC;So;0;ON;;;;;N;;;;; 19FE;KHMER SYMBOL DAP-BUON ROC;So;0;ON;;;;;N;;;;; 19FF;KHMER SYMBOL DAP-PRAM ROC;So;0;ON;;;;;N;;;;; 1D00;LATIN LETTER SMALL CAPITAL A;Ll;0;L;;;;;N;;;;; 1D01;LATIN LETTER SMALL CAPITAL AE;Ll;0;L;;;;;N;;;;; 1D02;LATIN SMALL LETTER TURNED AE;Ll;0;L;;;;;N;;;;; 1D03;LATIN LETTER SMALL CAPITAL BARRED B;Ll;0;L;;;;;N;;;;; 1D04;LATIN LETTER SMALL CAPITAL C;Ll;0;L;;;;;N;;;;; 1D05;LATIN LETTER SMALL CAPITAL D;Ll;0;L;;;;;N;;;;; 1D06;LATIN LETTER SMALL CAPITAL ETH;Ll;0;L;;;;;N;;;;; 1D07;LATIN LETTER SMALL CAPITAL E;Ll;0;L;;;;;N;;;;; 1D08;LATIN SMALL LETTER TURNED OPEN E;Ll;0;L;;;;;N;;;;; 1D09;LATIN SMALL LETTER TURNED I;Ll;0;L;;;;;N;;;;; 1D0A;LATIN LETTER SMALL CAPITAL J;Ll;0;L;;;;;N;;;;; 1D0B;LATIN LETTER SMALL CAPITAL K;Ll;0;L;;;;;N;;;;; 1D0C;LATIN LETTER SMALL CAPITAL L WITH STROKE;Ll;0;L;;;;;N;;;;; 1D0D;LATIN LETTER SMALL CAPITAL M;Ll;0;L;;;;;N;;;;; 1D0E;LATIN LETTER SMALL CAPITAL REVERSED N;Ll;0;L;;;;;N;;;;; 1D0F;LATIN LETTER SMALL CAPITAL O;Ll;0;L;;;;;N;;;;; 1D10;LATIN LETTER SMALL CAPITAL OPEN O;Ll;0;L;;;;;N;;;;; 1D11;LATIN SMALL LETTER SIDEWAYS O;Ll;0;L;;;;;N;;;;; 1D12;LATIN SMALL LETTER SIDEWAYS OPEN O;Ll;0;L;;;;;N;;;;; 1D13;LATIN SMALL LETTER SIDEWAYS O WITH STROKE;Ll;0;L;;;;;N;;;;; 1D14;LATIN SMALL LETTER TURNED OE;Ll;0;L;;;;;N;;;;; 1D15;LATIN LETTER SMALL CAPITAL OU;Ll;0;L;;;;;N;;;;; 1D16;LATIN SMALL LETTER TOP HALF O;Ll;0;L;;;;;N;;;;; 1D17;LATIN SMALL LETTER BOTTOM HALF O;Ll;0;L;;;;;N;;;;; 1D18;LATIN LETTER SMALL CAPITAL P;Ll;0;L;;;;;N;;;;; 1D19;LATIN LETTER SMALL CAPITAL REVERSED R;Ll;0;L;;;;;N;;;;; 1D1A;LATIN LETTER SMALL CAPITAL TURNED R;Ll;0;L;;;;;N;;;;; 1D1B;LATIN LETTER SMALL CAPITAL T;Ll;0;L;;;;;N;;;;; 1D1C;LATIN LETTER SMALL CAPITAL U;Ll;0;L;;;;;N;;;;; 1D1D;LATIN SMALL LETTER SIDEWAYS U;Ll;0;L;;;;;N;;;;; 1D1E;LATIN SMALL LETTER SIDEWAYS DIAERESIZED U;Ll;0;L;;;;;N;;;;; 1D1F;LATIN SMALL LETTER SIDEWAYS TURNED M;Ll;0;L;;;;;N;;;;; 1D20;LATIN LETTER SMALL CAPITAL V;Ll;0;L;;;;;N;;;;; 1D21;LATIN LETTER SMALL CAPITAL W;Ll;0;L;;;;;N;;;;; 1D22;LATIN LETTER SMALL CAPITAL Z;Ll;0;L;;;;;N;;;;; 1D23;LATIN LETTER SMALL CAPITAL EZH;Ll;0;L;;;;;N;;;;; 1D24;LATIN LETTER VOICED LARYNGEAL SPIRANT;Ll;0;L;;;;;N;;;;; 1D25;LATIN LETTER AIN;Ll;0;L;;;;;N;;;;; 1D26;GREEK LETTER SMALL CAPITAL GAMMA;Ll;0;L;;;;;N;;;;; 1D27;GREEK LETTER SMALL CAPITAL LAMDA;Ll;0;L;;;;;N;;;;; 1D28;GREEK LETTER SMALL CAPITAL PI;Ll;0;L;;;;;N;;;;; 1D29;GREEK LETTER SMALL CAPITAL RHO;Ll;0;L;;;;;N;;;;; 1D2A;GREEK LETTER SMALL CAPITAL PSI;Ll;0;L;;;;;N;;;;; 1D2B;CYRILLIC LETTER SMALL CAPITAL EL;Ll;0;L;;;;;N;;;;; 1D2C;MODIFIER LETTER CAPITAL A;Lm;0;L; 0041;;;;N;;;;; 1D2D;MODIFIER LETTER CAPITAL AE;Lm;0;L; 00C6;;;;N;;;;; 1D2E;MODIFIER LETTER CAPITAL B;Lm;0;L; 0042;;;;N;;;;; 1D2F;MODIFIER LETTER CAPITAL BARRED B;Lm;0;L;;;;;N;;;;; 1D30;MODIFIER LETTER CAPITAL D;Lm;0;L; 0044;;;;N;;;;; 1D31;MODIFIER LETTER CAPITAL E;Lm;0;L; 0045;;;;N;;;;; 1D32;MODIFIER LETTER CAPITAL REVERSED E;Lm;0;L; 018E;;;;N;;;;; 1D33;MODIFIER LETTER CAPITAL G;Lm;0;L; 0047;;;;N;;;;; 1D34;MODIFIER LETTER CAPITAL H;Lm;0;L; 0048;;;;N;;;;; 1D35;MODIFIER LETTER CAPITAL I;Lm;0;L; 0049;;;;N;;;;; 1D36;MODIFIER LETTER CAPITAL J;Lm;0;L; 004A;;;;N;;;;; 1D37;MODIFIER LETTER CAPITAL K;Lm;0;L; 004B;;;;N;;;;; 1D38;MODIFIER LETTER CAPITAL L;Lm;0;L; 004C;;;;N;;;;; 1D39;MODIFIER LETTER CAPITAL M;Lm;0;L; 004D;;;;N;;;;; 1D3A;MODIFIER LETTER CAPITAL N;Lm;0;L; 004E;;;;N;;;;; 1D3B;MODIFIER LETTER CAPITAL REVERSED N;Lm;0;L;;;;;N;;;;; 1D3C;MODIFIER LETTER CAPITAL O;Lm;0;L; 004F;;;;N;;;;; 1D3D;MODIFIER LETTER CAPITAL OU;Lm;0;L; 0222;;;;N;;;;; 1D3E;MODIFIER LETTER CAPITAL P;Lm;0;L; 0050;;;;N;;;;; 1D3F;MODIFIER LETTER CAPITAL R;Lm;0;L; 0052;;;;N;;;;; 1D40;MODIFIER LETTER CAPITAL T;Lm;0;L; 0054;;;;N;;;;; 1D41;MODIFIER LETTER CAPITAL U;Lm;0;L; 0055;;;;N;;;;; 1D42;MODIFIER LETTER CAPITAL W;Lm;0;L; 0057;;;;N;;;;; 1D43;MODIFIER LETTER SMALL A;Lm;0;L; 0061;;;;N;;;;; 1D44;MODIFIER LETTER SMALL TURNED A;Lm;0;L; 0250;;;;N;;;;; 1D45;MODIFIER LETTER SMALL ALPHA;Lm;0;L; 0251;;;;N;;;;; 1D46;MODIFIER LETTER SMALL TURNED AE;Lm;0;L; 1D02;;;;N;;;;; 1D47;MODIFIER LETTER SMALL B;Lm;0;L; 0062;;;;N;;;;; 1D48;MODIFIER LETTER SMALL D;Lm;0;L; 0064;;;;N;;;;; 1D49;MODIFIER LETTER SMALL E;Lm;0;L; 0065;;;;N;;;;; 1D4A;MODIFIER LETTER SMALL SCHWA;Lm;0;L; 0259;;;;N;;;;; 1D4B;MODIFIER LETTER SMALL OPEN E;Lm;0;L; 025B;;;;N;;;;; 1D4C;MODIFIER LETTER SMALL TURNED OPEN E;Lm;0;L; 025C;;;;N;;;;; 1D4D;MODIFIER LETTER SMALL G;Lm;0;L; 0067;;;;N;;;;; 1D4E;MODIFIER LETTER SMALL TURNED I;Lm;0;L;;;;;N;;;;; 1D4F;MODIFIER LETTER SMALL K;Lm;0;L; 006B;;;;N;;;;; 1D50;MODIFIER LETTER SMALL M;Lm;0;L; 006D;;;;N;;;;; 1D51;MODIFIER LETTER SMALL ENG;Lm;0;L; 014B;;;;N;;;;; 1D52;MODIFIER LETTER SMALL O;Lm;0;L; 006F;;;;N;;;;; 1D53;MODIFIER LETTER SMALL OPEN O;Lm;0;L; 0254;;;;N;;;;; 1D54;MODIFIER LETTER SMALL TOP HALF O;Lm;0;L; 1D16;;;;N;;;;; 1D55;MODIFIER LETTER SMALL BOTTOM HALF O;Lm;0;L; 1D17;;;;N;;;;; 1D56;MODIFIER LETTER SMALL P;Lm;0;L; 0070;;;;N;;;;; 1D57;MODIFIER LETTER SMALL T;Lm;0;L; 0074;;;;N;;;;; 1D58;MODIFIER LETTER SMALL U;Lm;0;L; 0075;;;;N;;;;; 1D59;MODIFIER LETTER SMALL SIDEWAYS U;Lm;0;L; 1D1D;;;;N;;;;; 1D5A;MODIFIER LETTER SMALL TURNED M;Lm;0;L; 026F;;;;N;;;;; 1D5B;MODIFIER LETTER SMALL V;Lm;0;L; 0076;;;;N;;;;; 1D5C;MODIFIER LETTER SMALL AIN;Lm;0;L; 1D25;;;;N;;;;; 1D5D;MODIFIER LETTER SMALL BETA;Lm;0;L; 03B2;;;;N;;;;; 1D5E;MODIFIER LETTER SMALL GREEK GAMMA;Lm;0;L; 03B3;;;;N;;;;; 1D5F;MODIFIER LETTER SMALL DELTA;Lm;0;L; 03B4;;;;N;;;;; 1D60;MODIFIER LETTER SMALL GREEK PHI;Lm;0;L; 03C6;;;;N;;;;; 1D61;MODIFIER LETTER SMALL CHI;Lm;0;L; 03C7;;;;N;;;;; 1D62;LATIN SUBSCRIPT SMALL LETTER I;Ll;0;L; 0069;;;;N;;;;; 1D63;LATIN SUBSCRIPT SMALL LETTER R;Ll;0;L; 0072;;;;N;;;;; 1D64;LATIN SUBSCRIPT SMALL LETTER U;Ll;0;L; 0075;;;;N;;;;; 1D65;LATIN SUBSCRIPT SMALL LETTER V;Ll;0;L; 0076;;;;N;;;;; 1D66;GREEK SUBSCRIPT SMALL LETTER BETA;Ll;0;L; 03B2;;;;N;;;;; 1D67;GREEK SUBSCRIPT SMALL LETTER GAMMA;Ll;0;L; 03B3;;;;N;;;;; 1D68;GREEK SUBSCRIPT SMALL LETTER RHO;Ll;0;L; 03C1;;;;N;;;;; 1D69;GREEK SUBSCRIPT SMALL LETTER PHI;Ll;0;L; 03C6;;;;N;;;;; 1D6A;GREEK SUBSCRIPT SMALL LETTER CHI;Ll;0;L; 03C7;;;;N;;;;; 1D6B;LATIN SMALL LETTER UE;Ll;0;L;;;;;N;;;;; 1E00;LATIN CAPITAL LETTER A WITH RING BELOW;Lu;0;L;0041 0325;;;;N;;;;1E01; 1E01;LATIN SMALL LETTER A WITH RING BELOW;Ll;0;L;0061 0325;;;;N;;;1E00;;1E00 1E02;LATIN CAPITAL LETTER B WITH DOT ABOVE;Lu;0;L;0042 0307;;;;N;;;;1E03; 1E03;LATIN SMALL LETTER B WITH DOT ABOVE;Ll;0;L;0062 0307;;;;N;;;1E02;;1E02 1E04;LATIN CAPITAL LETTER B WITH DOT BELOW;Lu;0;L;0042 0323;;;;N;;;;1E05; 1E05;LATIN SMALL LETTER B WITH DOT BELOW;Ll;0;L;0062 0323;;;;N;;;1E04;;1E04 1E06;LATIN CAPITAL LETTER B WITH LINE BELOW;Lu;0;L;0042 0331;;;;N;;;;1E07; 1E07;LATIN SMALL LETTER B WITH LINE BELOW;Ll;0;L;0062 0331;;;;N;;;1E06;;1E06 1E08;LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE;Lu;0;L;00C7 0301;;;;N;;;;1E09; 1E09;LATIN SMALL LETTER C WITH CEDILLA AND ACUTE;Ll;0;L;00E7 0301;;;;N;;;1E08;;1E08 1E0A;LATIN CAPITAL LETTER D WITH DOT ABOVE;Lu;0;L;0044 0307;;;;N;;;;1E0B; 1E0B;LATIN SMALL LETTER D WITH DOT ABOVE;Ll;0;L;0064 0307;;;;N;;;1E0A;;1E0A 1E0C;LATIN CAPITAL LETTER D WITH DOT BELOW;Lu;0;L;0044 0323;;;;N;;;;1E0D; 1E0D;LATIN SMALL LETTER D WITH DOT BELOW;Ll;0;L;0064 0323;;;;N;;;1E0C;;1E0C 1E0E;LATIN CAPITAL LETTER D WITH LINE BELOW;Lu;0;L;0044 0331;;;;N;;;;1E0F; 1E0F;LATIN SMALL LETTER D WITH LINE BELOW;Ll;0;L;0064 0331;;;;N;;;1E0E;;1E0E 1E10;LATIN CAPITAL LETTER D WITH CEDILLA;Lu;0;L;0044 0327;;;;N;;;;1E11; 1E11;LATIN SMALL LETTER D WITH CEDILLA;Ll;0;L;0064 0327;;;;N;;;1E10;;1E10 1E12;LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW;Lu;0;L;0044 032D;;;;N;;;;1E13; 1E13;LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW;Ll;0;L;0064 032D;;;;N;;;1E12;;1E12 1E14;LATIN CAPITAL LETTER E WITH MACRON AND GRAVE;Lu;0;L;0112 0300;;;;N;;;;1E15; 1E15;LATIN SMALL LETTER E WITH MACRON AND GRAVE;Ll;0;L;0113 0300;;;;N;;;1E14;;1E14 1E16;LATIN CAPITAL LETTER E WITH MACRON AND ACUTE;Lu;0;L;0112 0301;;;;N;;;;1E17; 1E17;LATIN SMALL LETTER E WITH MACRON AND ACUTE;Ll;0;L;0113 0301;;;;N;;;1E16;;1E16 1E18;LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW;Lu;0;L;0045 032D;;;;N;;;;1E19; 1E19;LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW;Ll;0;L;0065 032D;;;;N;;;1E18;;1E18 1E1A;LATIN CAPITAL LETTER E WITH TILDE BELOW;Lu;0;L;0045 0330;;;;N;;;;1E1B; 1E1B;LATIN SMALL LETTER E WITH TILDE BELOW;Ll;0;L;0065 0330;;;;N;;;1E1A;;1E1A 1E1C;LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE;Lu;0;L;0228 0306;;;;N;;;;1E1D; 1E1D;LATIN SMALL LETTER E WITH CEDILLA AND BREVE;Ll;0;L;0229 0306;;;;N;;;1E1C;;1E1C 1E1E;LATIN CAPITAL LETTER F WITH DOT ABOVE;Lu;0;L;0046 0307;;;;N;;;;1E1F; 1E1F;LATIN SMALL LETTER F WITH DOT ABOVE;Ll;0;L;0066 0307;;;;N;;;1E1E;;1E1E 1E20;LATIN CAPITAL LETTER G WITH MACRON;Lu;0;L;0047 0304;;;;N;;;;1E21; 1E21;LATIN SMALL LETTER G WITH MACRON;Ll;0;L;0067 0304;;;;N;;;1E20;;1E20 1E22;LATIN CAPITAL LETTER H WITH DOT ABOVE;Lu;0;L;0048 0307;;;;N;;;;1E23; 1E23;LATIN SMALL LETTER H WITH DOT ABOVE;Ll;0;L;0068 0307;;;;N;;;1E22;;1E22 1E24;LATIN CAPITAL LETTER H WITH DOT BELOW;Lu;0;L;0048 0323;;;;N;;;;1E25; 1E25;LATIN SMALL LETTER H WITH DOT BELOW;Ll;0;L;0068 0323;;;;N;;;1E24;;1E24 1E26;LATIN CAPITAL LETTER H WITH DIAERESIS;Lu;0;L;0048 0308;;;;N;;;;1E27; 1E27;LATIN SMALL LETTER H WITH DIAERESIS;Ll;0;L;0068 0308;;;;N;;;1E26;;1E26 1E28;LATIN CAPITAL LETTER H WITH CEDILLA;Lu;0;L;0048 0327;;;;N;;;;1E29; 1E29;LATIN SMALL LETTER H WITH CEDILLA;Ll;0;L;0068 0327;;;;N;;;1E28;;1E28 1E2A;LATIN CAPITAL LETTER H WITH BREVE BELOW;Lu;0;L;0048 032E;;;;N;;;;1E2B; 1E2B;LATIN SMALL LETTER H WITH BREVE BELOW;Ll;0;L;0068 032E;;;;N;;;1E2A;;1E2A 1E2C;LATIN CAPITAL LETTER I WITH TILDE BELOW;Lu;0;L;0049 0330;;;;N;;;;1E2D; 1E2D;LATIN SMALL LETTER I WITH TILDE BELOW;Ll;0;L;0069 0330;;;;N;;;1E2C;;1E2C 1E2E;LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE;Lu;0;L;00CF 0301;;;;N;;;;1E2F; 1E2F;LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE;Ll;0;L;00EF 0301;;;;N;;;1E2E;;1E2E 1E30;LATIN CAPITAL LETTER K WITH ACUTE;Lu;0;L;004B 0301;;;;N;;;;1E31; 1E31;LATIN SMALL LETTER K WITH ACUTE;Ll;0;L;006B 0301;;;;N;;;1E30;;1E30 1E32;LATIN CAPITAL LETTER K WITH DOT BELOW;Lu;0;L;004B 0323;;;;N;;;;1E33; 1E33;LATIN SMALL LETTER K WITH DOT BELOW;Ll;0;L;006B 0323;;;;N;;;1E32;;1E32 1E34;LATIN CAPITAL LETTER K WITH LINE BELOW;Lu;0;L;004B 0331;;;;N;;;;1E35; 1E35;LATIN SMALL LETTER K WITH LINE BELOW;Ll;0;L;006B 0331;;;;N;;;1E34;;1E34 1E36;LATIN CAPITAL LETTER L WITH DOT BELOW;Lu;0;L;004C 0323;;;;N;;;;1E37; 1E37;LATIN SMALL LETTER L WITH DOT BELOW;Ll;0;L;006C 0323;;;;N;;;1E36;;1E36 1E38;LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON;Lu;0;L;1E36 0304;;;;N;;;;1E39; 1E39;LATIN SMALL LETTER L WITH DOT BELOW AND MACRON;Ll;0;L;1E37 0304;;;;N;;;1E38;;1E38 1E3A;LATIN CAPITAL LETTER L WITH LINE BELOW;Lu;0;L;004C 0331;;;;N;;;;1E3B; 1E3B;LATIN SMALL LETTER L WITH LINE BELOW;Ll;0;L;006C 0331;;;;N;;;1E3A;;1E3A 1E3C;LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW;Lu;0;L;004C 032D;;;;N;;;;1E3D; 1E3D;LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW;Ll;0;L;006C 032D;;;;N;;;1E3C;;1E3C 1E3E;LATIN CAPITAL LETTER M WITH ACUTE;Lu;0;L;004D 0301;;;;N;;;;1E3F; 1E3F;LATIN SMALL LETTER M WITH ACUTE;Ll;0;L;006D 0301;;;;N;;;1E3E;;1E3E 1E40;LATIN CAPITAL LETTER M WITH DOT ABOVE;Lu;0;L;004D 0307;;;;N;;;;1E41; 1E41;LATIN SMALL LETTER M WITH DOT ABOVE;Ll;0;L;006D 0307;;;;N;;;1E40;;1E40 1E42;LATIN CAPITAL LETTER M WITH DOT BELOW;Lu;0;L;004D 0323;;;;N;;;;1E43; 1E43;LATIN SMALL LETTER M WITH DOT BELOW;Ll;0;L;006D 0323;;;;N;;;1E42;;1E42 1E44;LATIN CAPITAL LETTER N WITH DOT ABOVE;Lu;0;L;004E 0307;;;;N;;;;1E45; 1E45;LATIN SMALL LETTER N WITH DOT ABOVE;Ll;0;L;006E 0307;;;;N;;;1E44;;1E44 1E46;LATIN CAPITAL LETTER N WITH DOT BELOW;Lu;0;L;004E 0323;;;;N;;;;1E47; 1E47;LATIN SMALL LETTER N WITH DOT BELOW;Ll;0;L;006E 0323;;;;N;;;1E46;;1E46 1E48;LATIN CAPITAL LETTER N WITH LINE BELOW;Lu;0;L;004E 0331;;;;N;;;;1E49; 1E49;LATIN SMALL LETTER N WITH LINE BELOW;Ll;0;L;006E 0331;;;;N;;;1E48;;1E48 1E4A;LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW;Lu;0;L;004E 032D;;;;N;;;;1E4B; 1E4B;LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW;Ll;0;L;006E 032D;;;;N;;;1E4A;;1E4A 1E4C;LATIN CAPITAL LETTER O WITH TILDE AND ACUTE;Lu;0;L;00D5 0301;;;;N;;;;1E4D; 1E4D;LATIN SMALL LETTER O WITH TILDE AND ACUTE;Ll;0;L;00F5 0301;;;;N;;;1E4C;;1E4C 1E4E;LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS;Lu;0;L;00D5 0308;;;;N;;;;1E4F; 1E4F;LATIN SMALL LETTER O WITH TILDE AND DIAERESIS;Ll;0;L;00F5 0308;;;;N;;;1E4E;;1E4E 1E50;LATIN CAPITAL LETTER O WITH MACRON AND GRAVE;Lu;0;L;014C 0300;;;;N;;;;1E51; 1E51;LATIN SMALL LETTER O WITH MACRON AND GRAVE;Ll;0;L;014D 0300;;;;N;;;1E50;;1E50 1E52;LATIN CAPITAL LETTER O WITH MACRON AND ACUTE;Lu;0;L;014C 0301;;;;N;;;;1E53; 1E53;LATIN SMALL LETTER O WITH MACRON AND ACUTE;Ll;0;L;014D 0301;;;;N;;;1E52;;1E52 1E54;LATIN CAPITAL LETTER P WITH ACUTE;Lu;0;L;0050 0301;;;;N;;;;1E55; 1E55;LATIN SMALL LETTER P WITH ACUTE;Ll;0;L;0070 0301;;;;N;;;1E54;;1E54 1E56;LATIN CAPITAL LETTER P WITH DOT ABOVE;Lu;0;L;0050 0307;;;;N;;;;1E57; 1E57;LATIN SMALL LETTER P WITH DOT ABOVE;Ll;0;L;0070 0307;;;;N;;;1E56;;1E56 1E58;LATIN CAPITAL LETTER R WITH DOT ABOVE;Lu;0;L;0052 0307;;;;N;;;;1E59; 1E59;LATIN SMALL LETTER R WITH DOT ABOVE;Ll;0;L;0072 0307;;;;N;;;1E58;;1E58 1E5A;LATIN CAPITAL LETTER R WITH DOT BELOW;Lu;0;L;0052 0323;;;;N;;;;1E5B; 1E5B;LATIN SMALL LETTER R WITH DOT BELOW;Ll;0;L;0072 0323;;;;N;;;1E5A;;1E5A 1E5C;LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON;Lu;0;L;1E5A 0304;;;;N;;;;1E5D; 1E5D;LATIN SMALL LETTER R WITH DOT BELOW AND MACRON;Ll;0;L;1E5B 0304;;;;N;;;1E5C;;1E5C 1E5E;LATIN CAPITAL LETTER R WITH LINE BELOW;Lu;0;L;0052 0331;;;;N;;;;1E5F; 1E5F;LATIN SMALL LETTER R WITH LINE BELOW;Ll;0;L;0072 0331;;;;N;;;1E5E;;1E5E 1E60;LATIN CAPITAL LETTER S WITH DOT ABOVE;Lu;0;L;0053 0307;;;;N;;;;1E61; 1E61;LATIN SMALL LETTER S WITH DOT ABOVE;Ll;0;L;0073 0307;;;;N;;;1E60;;1E60 1E62;LATIN CAPITAL LETTER S WITH DOT BELOW;Lu;0;L;0053 0323;;;;N;;;;1E63; 1E63;LATIN SMALL LETTER S WITH DOT BELOW;Ll;0;L;0073 0323;;;;N;;;1E62;;1E62 1E64;LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE;Lu;0;L;015A 0307;;;;N;;;;1E65; 1E65;LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE;Ll;0;L;015B 0307;;;;N;;;1E64;;1E64 1E66;LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE;Lu;0;L;0160 0307;;;;N;;;;1E67; 1E67;LATIN SMALL LETTER S WITH CARON AND DOT ABOVE;Ll;0;L;0161 0307;;;;N;;;1E66;;1E66 1E68;LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE;Lu;0;L;1E62 0307;;;;N;;;;1E69; 1E69;LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE;Ll;0;L;1E63 0307;;;;N;;;1E68;;1E68 1E6A;LATIN CAPITAL LETTER T WITH DOT ABOVE;Lu;0;L;0054 0307;;;;N;;;;1E6B; 1E6B;LATIN SMALL LETTER T WITH DOT ABOVE;Ll;0;L;0074 0307;;;;N;;;1E6A;;1E6A 1E6C;LATIN CAPITAL LETTER T WITH DOT BELOW;Lu;0;L;0054 0323;;;;N;;;;1E6D; 1E6D;LATIN SMALL LETTER T WITH DOT BELOW;Ll;0;L;0074 0323;;;;N;;;1E6C;;1E6C 1E6E;LATIN CAPITAL LETTER T WITH LINE BELOW;Lu;0;L;0054 0331;;;;N;;;;1E6F; 1E6F;LATIN SMALL LETTER T WITH LINE BELOW;Ll;0;L;0074 0331;;;;N;;;1E6E;;1E6E 1E70;LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW;Lu;0;L;0054 032D;;;;N;;;;1E71; 1E71;LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW;Ll;0;L;0074 032D;;;;N;;;1E70;;1E70 1E72;LATIN CAPITAL LETTER U WITH DIAERESIS BELOW;Lu;0;L;0055 0324;;;;N;;;;1E73; 1E73;LATIN SMALL LETTER U WITH DIAERESIS BELOW;Ll;0;L;0075 0324;;;;N;;;1E72;;1E72 1E74;LATIN CAPITAL LETTER U WITH TILDE BELOW;Lu;0;L;0055 0330;;;;N;;;;1E75; 1E75;LATIN SMALL LETTER U WITH TILDE BELOW;Ll;0;L;0075 0330;;;;N;;;1E74;;1E74 1E76;LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW;Lu;0;L;0055 032D;;;;N;;;;1E77; 1E77;LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW;Ll;0;L;0075 032D;;;;N;;;1E76;;1E76 1E78;LATIN CAPITAL LETTER U WITH TILDE AND ACUTE;Lu;0;L;0168 0301;;;;N;;;;1E79; 1E79;LATIN SMALL LETTER U WITH TILDE AND ACUTE;Ll;0;L;0169 0301;;;;N;;;1E78;;1E78 1E7A;LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS;Lu;0;L;016A 0308;;;;N;;;;1E7B; 1E7B;LATIN SMALL LETTER U WITH MACRON AND DIAERESIS;Ll;0;L;016B 0308;;;;N;;;1E7A;;1E7A 1E7C;LATIN CAPITAL LETTER V WITH TILDE;Lu;0;L;0056 0303;;;;N;;;;1E7D; 1E7D;LATIN SMALL LETTER V WITH TILDE;Ll;0;L;0076 0303;;;;N;;;1E7C;;1E7C 1E7E;LATIN CAPITAL LETTER V WITH DOT BELOW;Lu;0;L;0056 0323;;;;N;;;;1E7F; 1E7F;LATIN SMALL LETTER V WITH DOT BELOW;Ll;0;L;0076 0323;;;;N;;;1E7E;;1E7E 1E80;LATIN CAPITAL LETTER W WITH GRAVE;Lu;0;L;0057 0300;;;;N;;;;1E81; 1E81;LATIN SMALL LETTER W WITH GRAVE;Ll;0;L;0077 0300;;;;N;;;1E80;;1E80 1E82;LATIN CAPITAL LETTER W WITH ACUTE;Lu;0;L;0057 0301;;;;N;;;;1E83; 1E83;LATIN SMALL LETTER W WITH ACUTE;Ll;0;L;0077 0301;;;;N;;;1E82;;1E82 1E84;LATIN CAPITAL LETTER W WITH DIAERESIS;Lu;0;L;0057 0308;;;;N;;;;1E85; 1E85;LATIN SMALL LETTER W WITH DIAERESIS;Ll;0;L;0077 0308;;;;N;;;1E84;;1E84 1E86;LATIN CAPITAL LETTER W WITH DOT ABOVE;Lu;0;L;0057 0307;;;;N;;;;1E87; 1E87;LATIN SMALL LETTER W WITH DOT ABOVE;Ll;0;L;0077 0307;;;;N;;;1E86;;1E86 1E88;LATIN CAPITAL LETTER W WITH DOT BELOW;Lu;0;L;0057 0323;;;;N;;;;1E89; 1E89;LATIN SMALL LETTER W WITH DOT BELOW;Ll;0;L;0077 0323;;;;N;;;1E88;;1E88 1E8A;LATIN CAPITAL LETTER X WITH DOT ABOVE;Lu;0;L;0058 0307;;;;N;;;;1E8B; 1E8B;LATIN SMALL LETTER X WITH DOT ABOVE;Ll;0;L;0078 0307;;;;N;;;1E8A;;1E8A 1E8C;LATIN CAPITAL LETTER X WITH DIAERESIS;Lu;0;L;0058 0308;;;;N;;;;1E8D; 1E8D;LATIN SMALL LETTER X WITH DIAERESIS;Ll;0;L;0078 0308;;;;N;;;1E8C;;1E8C 1E8E;LATIN CAPITAL LETTER Y WITH DOT ABOVE;Lu;0;L;0059 0307;;;;N;;;;1E8F; 1E8F;LATIN SMALL LETTER Y WITH DOT ABOVE;Ll;0;L;0079 0307;;;;N;;;1E8E;;1E8E 1E90;LATIN CAPITAL LETTER Z WITH CIRCUMFLEX;Lu;0;L;005A 0302;;;;N;;;;1E91; 1E91;LATIN SMALL LETTER Z WITH CIRCUMFLEX;Ll;0;L;007A 0302;;;;N;;;1E90;;1E90 1E92;LATIN CAPITAL LETTER Z WITH DOT BELOW;Lu;0;L;005A 0323;;;;N;;;;1E93; 1E93;LATIN SMALL LETTER Z WITH DOT BELOW;Ll;0;L;007A 0323;;;;N;;;1E92;;1E92 1E94;LATIN CAPITAL LETTER Z WITH LINE BELOW;Lu;0;L;005A 0331;;;;N;;;;1E95; 1E95;LATIN SMALL LETTER Z WITH LINE BELOW;Ll;0;L;007A 0331;;;;N;;;1E94;;1E94 1E96;LATIN SMALL LETTER H WITH LINE BELOW;Ll;0;L;0068 0331;;;;N;;;;; 1E97;LATIN SMALL LETTER T WITH DIAERESIS;Ll;0;L;0074 0308;;;;N;;;;; 1E98;LATIN SMALL LETTER W WITH RING ABOVE;Ll;0;L;0077 030A;;;;N;;;;; 1E99;LATIN SMALL LETTER Y WITH RING ABOVE;Ll;0;L;0079 030A;;;;N;;;;; 1E9A;LATIN SMALL LETTER A WITH RIGHT HALF RING;Ll;0;L; 0061 02BE;;;;N;;;;; 1E9B;LATIN SMALL LETTER LONG S WITH DOT ABOVE;Ll;0;L;017F 0307;;;;N;;;1E60;;1E60 1EA0;LATIN CAPITAL LETTER A WITH DOT BELOW;Lu;0;L;0041 0323;;;;N;;;;1EA1; 1EA1;LATIN SMALL LETTER A WITH DOT BELOW;Ll;0;L;0061 0323;;;;N;;;1EA0;;1EA0 1EA2;LATIN CAPITAL LETTER A WITH HOOK ABOVE;Lu;0;L;0041 0309;;;;N;;;;1EA3; 1EA3;LATIN SMALL LETTER A WITH HOOK ABOVE;Ll;0;L;0061 0309;;;;N;;;1EA2;;1EA2 1EA4;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE;Lu;0;L;00C2 0301;;;;N;;;;1EA5; 1EA5;LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE;Ll;0;L;00E2 0301;;;;N;;;1EA4;;1EA4 1EA6;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE;Lu;0;L;00C2 0300;;;;N;;;;1EA7; 1EA7;LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE;Ll;0;L;00E2 0300;;;;N;;;1EA6;;1EA6 1EA8;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE;Lu;0;L;00C2 0309;;;;N;;;;1EA9; 1EA9;LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE;Ll;0;L;00E2 0309;;;;N;;;1EA8;;1EA8 1EAA;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE;Lu;0;L;00C2 0303;;;;N;;;;1EAB; 1EAB;LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE;Ll;0;L;00E2 0303;;;;N;;;1EAA;;1EAA 1EAC;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW;Lu;0;L;1EA0 0302;;;;N;;;;1EAD; 1EAD;LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW;Ll;0;L;1EA1 0302;;;;N;;;1EAC;;1EAC 1EAE;LATIN CAPITAL LETTER A WITH BREVE AND ACUTE;Lu;0;L;0102 0301;;;;N;;;;1EAF; 1EAF;LATIN SMALL LETTER A WITH BREVE AND ACUTE;Ll;0;L;0103 0301;;;;N;;;1EAE;;1EAE 1EB0;LATIN CAPITAL LETTER A WITH BREVE AND GRAVE;Lu;0;L;0102 0300;;;;N;;;;1EB1; 1EB1;LATIN SMALL LETTER A WITH BREVE AND GRAVE;Ll;0;L;0103 0300;;;;N;;;1EB0;;1EB0 1EB2;LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE;Lu;0;L;0102 0309;;;;N;;;;1EB3; 1EB3;LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE;Ll;0;L;0103 0309;;;;N;;;1EB2;;1EB2 1EB4;LATIN CAPITAL LETTER A WITH BREVE AND TILDE;Lu;0;L;0102 0303;;;;N;;;;1EB5; 1EB5;LATIN SMALL LETTER A WITH BREVE AND TILDE;Ll;0;L;0103 0303;;;;N;;;1EB4;;1EB4 1EB6;LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW;Lu;0;L;1EA0 0306;;;;N;;;;1EB7; 1EB7;LATIN SMALL LETTER A WITH BREVE AND DOT BELOW;Ll;0;L;1EA1 0306;;;;N;;;1EB6;;1EB6 1EB8;LATIN CAPITAL LETTER E WITH DOT BELOW;Lu;0;L;0045 0323;;;;N;;;;1EB9; 1EB9;LATIN SMALL LETTER E WITH DOT BELOW;Ll;0;L;0065 0323;;;;N;;;1EB8;;1EB8 1EBA;LATIN CAPITAL LETTER E WITH HOOK ABOVE;Lu;0;L;0045 0309;;;;N;;;;1EBB; 1EBB;LATIN SMALL LETTER E WITH HOOK ABOVE;Ll;0;L;0065 0309;;;;N;;;1EBA;;1EBA 1EBC;LATIN CAPITAL LETTER E WITH TILDE;Lu;0;L;0045 0303;;;;N;;;;1EBD; 1EBD;LATIN SMALL LETTER E WITH TILDE;Ll;0;L;0065 0303;;;;N;;;1EBC;;1EBC 1EBE;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE;Lu;0;L;00CA 0301;;;;N;;;;1EBF; 1EBF;LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE;Ll;0;L;00EA 0301;;;;N;;;1EBE;;1EBE 1EC0;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE;Lu;0;L;00CA 0300;;;;N;;;;1EC1; 1EC1;LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE;Ll;0;L;00EA 0300;;;;N;;;1EC0;;1EC0 1EC2;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE;Lu;0;L;00CA 0309;;;;N;;;;1EC3; 1EC3;LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE;Ll;0;L;00EA 0309;;;;N;;;1EC2;;1EC2 1EC4;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE;Lu;0;L;00CA 0303;;;;N;;;;1EC5; 1EC5;LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE;Ll;0;L;00EA 0303;;;;N;;;1EC4;;1EC4 1EC6;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW;Lu;0;L;1EB8 0302;;;;N;;;;1EC7; 1EC7;LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW;Ll;0;L;1EB9 0302;;;;N;;;1EC6;;1EC6 1EC8;LATIN CAPITAL LETTER I WITH HOOK ABOVE;Lu;0;L;0049 0309;;;;N;;;;1EC9; 1EC9;LATIN SMALL LETTER I WITH HOOK ABOVE;Ll;0;L;0069 0309;;;;N;;;1EC8;;1EC8 1ECA;LATIN CAPITAL LETTER I WITH DOT BELOW;Lu;0;L;0049 0323;;;;N;;;;1ECB; 1ECB;LATIN SMALL LETTER I WITH DOT BELOW;Ll;0;L;0069 0323;;;;N;;;1ECA;;1ECA 1ECC;LATIN CAPITAL LETTER O WITH DOT BELOW;Lu;0;L;004F 0323;;;;N;;;;1ECD; 1ECD;LATIN SMALL LETTER O WITH DOT BELOW;Ll;0;L;006F 0323;;;;N;;;1ECC;;1ECC 1ECE;LATIN CAPITAL LETTER O WITH HOOK ABOVE;Lu;0;L;004F 0309;;;;N;;;;1ECF; 1ECF;LATIN SMALL LETTER O WITH HOOK ABOVE;Ll;0;L;006F 0309;;;;N;;;1ECE;;1ECE 1ED0;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE;Lu;0;L;00D4 0301;;;;N;;;;1ED1; 1ED1;LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE;Ll;0;L;00F4 0301;;;;N;;;1ED0;;1ED0 1ED2;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE;Lu;0;L;00D4 0300;;;;N;;;;1ED3; 1ED3;LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE;Ll;0;L;00F4 0300;;;;N;;;1ED2;;1ED2 1ED4;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE;Lu;0;L;00D4 0309;;;;N;;;;1ED5; 1ED5;LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE;Ll;0;L;00F4 0309;;;;N;;;1ED4;;1ED4 1ED6;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE;Lu;0;L;00D4 0303;;;;N;;;;1ED7; 1ED7;LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE;Ll;0;L;00F4 0303;;;;N;;;1ED6;;1ED6 1ED8;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW;Lu;0;L;1ECC 0302;;;;N;;;;1ED9; 1ED9;LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW;Ll;0;L;1ECD 0302;;;;N;;;1ED8;;1ED8 1EDA;LATIN CAPITAL LETTER O WITH HORN AND ACUTE;Lu;0;L;01A0 0301;;;;N;;;;1EDB; 1EDB;LATIN SMALL LETTER O WITH HORN AND ACUTE;Ll;0;L;01A1 0301;;;;N;;;1EDA;;1EDA 1EDC;LATIN CAPITAL LETTER O WITH HORN AND GRAVE;Lu;0;L;01A0 0300;;;;N;;;;1EDD; 1EDD;LATIN SMALL LETTER O WITH HORN AND GRAVE;Ll;0;L;01A1 0300;;;;N;;;1EDC;;1EDC 1EDE;LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE;Lu;0;L;01A0 0309;;;;N;;;;1EDF; 1EDF;LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE;Ll;0;L;01A1 0309;;;;N;;;1EDE;;1EDE 1EE0;LATIN CAPITAL LETTER O WITH HORN AND TILDE;Lu;0;L;01A0 0303;;;;N;;;;1EE1; 1EE1;LATIN SMALL LETTER O WITH HORN AND TILDE;Ll;0;L;01A1 0303;;;;N;;;1EE0;;1EE0 1EE2;LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW;Lu;0;L;01A0 0323;;;;N;;;;1EE3; 1EE3;LATIN SMALL LETTER O WITH HORN AND DOT BELOW;Ll;0;L;01A1 0323;;;;N;;;1EE2;;1EE2 1EE4;LATIN CAPITAL LETTER U WITH DOT BELOW;Lu;0;L;0055 0323;;;;N;;;;1EE5; 1EE5;LATIN SMALL LETTER U WITH DOT BELOW;Ll;0;L;0075 0323;;;;N;;;1EE4;;1EE4 1EE6;LATIN CAPITAL LETTER U WITH HOOK ABOVE;Lu;0;L;0055 0309;;;;N;;;;1EE7; 1EE7;LATIN SMALL LETTER U WITH HOOK ABOVE;Ll;0;L;0075 0309;;;;N;;;1EE6;;1EE6 1EE8;LATIN CAPITAL LETTER U WITH HORN AND ACUTE;Lu;0;L;01AF 0301;;;;N;;;;1EE9; 1EE9;LATIN SMALL LETTER U WITH HORN AND ACUTE;Ll;0;L;01B0 0301;;;;N;;;1EE8;;1EE8 1EEA;LATIN CAPITAL LETTER U WITH HORN AND GRAVE;Lu;0;L;01AF 0300;;;;N;;;;1EEB; 1EEB;LATIN SMALL LETTER U WITH HORN AND GRAVE;Ll;0;L;01B0 0300;;;;N;;;1EEA;;1EEA 1EEC;LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE;Lu;0;L;01AF 0309;;;;N;;;;1EED; 1EED;LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE;Ll;0;L;01B0 0309;;;;N;;;1EEC;;1EEC 1EEE;LATIN CAPITAL LETTER U WITH HORN AND TILDE;Lu;0;L;01AF 0303;;;;N;;;;1EEF; 1EEF;LATIN SMALL LETTER U WITH HORN AND TILDE;Ll;0;L;01B0 0303;;;;N;;;1EEE;;1EEE 1EF0;LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW;Lu;0;L;01AF 0323;;;;N;;;;1EF1; 1EF1;LATIN SMALL LETTER U WITH HORN AND DOT BELOW;Ll;0;L;01B0 0323;;;;N;;;1EF0;;1EF0 1EF2;LATIN CAPITAL LETTER Y WITH GRAVE;Lu;0;L;0059 0300;;;;N;;;;1EF3; 1EF3;LATIN SMALL LETTER Y WITH GRAVE;Ll;0;L;0079 0300;;;;N;;;1EF2;;1EF2 1EF4;LATIN CAPITAL LETTER Y WITH DOT BELOW;Lu;0;L;0059 0323;;;;N;;;;1EF5; 1EF5;LATIN SMALL LETTER Y WITH DOT BELOW;Ll;0;L;0079 0323;;;;N;;;1EF4;;1EF4 1EF6;LATIN CAPITAL LETTER Y WITH HOOK ABOVE;Lu;0;L;0059 0309;;;;N;;;;1EF7; 1EF7;LATIN SMALL LETTER Y WITH HOOK ABOVE;Ll;0;L;0079 0309;;;;N;;;1EF6;;1EF6 1EF8;LATIN CAPITAL LETTER Y WITH TILDE;Lu;0;L;0059 0303;;;;N;;;;1EF9; 1EF9;LATIN SMALL LETTER Y WITH TILDE;Ll;0;L;0079 0303;;;;N;;;1EF8;;1EF8 1F00;GREEK SMALL LETTER ALPHA WITH PSILI;Ll;0;L;03B1 0313;;;;N;;;1F08;;1F08 1F01;GREEK SMALL LETTER ALPHA WITH DASIA;Ll;0;L;03B1 0314;;;;N;;;1F09;;1F09 1F02;GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA;Ll;0;L;1F00 0300;;;;N;;;1F0A;;1F0A 1F03;GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA;Ll;0;L;1F01 0300;;;;N;;;1F0B;;1F0B 1F04;GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA;Ll;0;L;1F00 0301;;;;N;;;1F0C;;1F0C 1F05;GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA;Ll;0;L;1F01 0301;;;;N;;;1F0D;;1F0D 1F06;GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI;Ll;0;L;1F00 0342;;;;N;;;1F0E;;1F0E 1F07;GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI;Ll;0;L;1F01 0342;;;;N;;;1F0F;;1F0F 1F08;GREEK CAPITAL LETTER ALPHA WITH PSILI;Lu;0;L;0391 0313;;;;N;;;;1F00; 1F09;GREEK CAPITAL LETTER ALPHA WITH DASIA;Lu;0;L;0391 0314;;;;N;;;;1F01; 1F0A;GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA;Lu;0;L;1F08 0300;;;;N;;;;1F02; 1F0B;GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA;Lu;0;L;1F09 0300;;;;N;;;;1F03; 1F0C;GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA;Lu;0;L;1F08 0301;;;;N;;;;1F04; 1F0D;GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA;Lu;0;L;1F09 0301;;;;N;;;;1F05; 1F0E;GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI;Lu;0;L;1F08 0342;;;;N;;;;1F06; 1F0F;GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI;Lu;0;L;1F09 0342;;;;N;;;;1F07; 1F10;GREEK SMALL LETTER EPSILON WITH PSILI;Ll;0;L;03B5 0313;;;;N;;;1F18;;1F18 1F11;GREEK SMALL LETTER EPSILON WITH DASIA;Ll;0;L;03B5 0314;;;;N;;;1F19;;1F19 1F12;GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA;Ll;0;L;1F10 0300;;;;N;;;1F1A;;1F1A 1F13;GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA;Ll;0;L;1F11 0300;;;;N;;;1F1B;;1F1B 1F14;GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA;Ll;0;L;1F10 0301;;;;N;;;1F1C;;1F1C 1F15;GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA;Ll;0;L;1F11 0301;;;;N;;;1F1D;;1F1D 1F18;GREEK CAPITAL LETTER EPSILON WITH PSILI;Lu;0;L;0395 0313;;;;N;;;;1F10; 1F19;GREEK CAPITAL LETTER EPSILON WITH DASIA;Lu;0;L;0395 0314;;;;N;;;;1F11; 1F1A;GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA;Lu;0;L;1F18 0300;;;;N;;;;1F12; 1F1B;GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA;Lu;0;L;1F19 0300;;;;N;;;;1F13; 1F1C;GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA;Lu;0;L;1F18 0301;;;;N;;;;1F14; 1F1D;GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA;Lu;0;L;1F19 0301;;;;N;;;;1F15; 1F20;GREEK SMALL LETTER ETA WITH PSILI;Ll;0;L;03B7 0313;;;;N;;;1F28;;1F28 1F21;GREEK SMALL LETTER ETA WITH DASIA;Ll;0;L;03B7 0314;;;;N;;;1F29;;1F29 1F22;GREEK SMALL LETTER ETA WITH PSILI AND VARIA;Ll;0;L;1F20 0300;;;;N;;;1F2A;;1F2A 1F23;GREEK SMALL LETTER ETA WITH DASIA AND VARIA;Ll;0;L;1F21 0300;;;;N;;;1F2B;;1F2B 1F24;GREEK SMALL LETTER ETA WITH PSILI AND OXIA;Ll;0;L;1F20 0301;;;;N;;;1F2C;;1F2C 1F25;GREEK SMALL LETTER ETA WITH DASIA AND OXIA;Ll;0;L;1F21 0301;;;;N;;;1F2D;;1F2D 1F26;GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI;Ll;0;L;1F20 0342;;;;N;;;1F2E;;1F2E 1F27;GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI;Ll;0;L;1F21 0342;;;;N;;;1F2F;;1F2F 1F28;GREEK CAPITAL LETTER ETA WITH PSILI;Lu;0;L;0397 0313;;;;N;;;;1F20; 1F29;GREEK CAPITAL LETTER ETA WITH DASIA;Lu;0;L;0397 0314;;;;N;;;;1F21; 1F2A;GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA;Lu;0;L;1F28 0300;;;;N;;;;1F22; 1F2B;GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA;Lu;0;L;1F29 0300;;;;N;;;;1F23; 1F2C;GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA;Lu;0;L;1F28 0301;;;;N;;;;1F24; 1F2D;GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA;Lu;0;L;1F29 0301;;;;N;;;;1F25; 1F2E;GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI;Lu;0;L;1F28 0342;;;;N;;;;1F26; 1F2F;GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI;Lu;0;L;1F29 0342;;;;N;;;;1F27; 1F30;GREEK SMALL LETTER IOTA WITH PSILI;Ll;0;L;03B9 0313;;;;N;;;1F38;;1F38 1F31;GREEK SMALL LETTER IOTA WITH DASIA;Ll;0;L;03B9 0314;;;;N;;;1F39;;1F39 1F32;GREEK SMALL LETTER IOTA WITH PSILI AND VARIA;Ll;0;L;1F30 0300;;;;N;;;1F3A;;1F3A 1F33;GREEK SMALL LETTER IOTA WITH DASIA AND VARIA;Ll;0;L;1F31 0300;;;;N;;;1F3B;;1F3B 1F34;GREEK SMALL LETTER IOTA WITH PSILI AND OXIA;Ll;0;L;1F30 0301;;;;N;;;1F3C;;1F3C 1F35;GREEK SMALL LETTER IOTA WITH DASIA AND OXIA;Ll;0;L;1F31 0301;;;;N;;;1F3D;;1F3D 1F36;GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI;Ll;0;L;1F30 0342;;;;N;;;1F3E;;1F3E 1F37;GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI;Ll;0;L;1F31 0342;;;;N;;;1F3F;;1F3F 1F38;GREEK CAPITAL LETTER IOTA WITH PSILI;Lu;0;L;0399 0313;;;;N;;;;1F30; 1F39;GREEK CAPITAL LETTER IOTA WITH DASIA;Lu;0;L;0399 0314;;;;N;;;;1F31; 1F3A;GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA;Lu;0;L;1F38 0300;;;;N;;;;1F32; 1F3B;GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA;Lu;0;L;1F39 0300;;;;N;;;;1F33; 1F3C;GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA;Lu;0;L;1F38 0301;;;;N;;;;1F34; 1F3D;GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA;Lu;0;L;1F39 0301;;;;N;;;;1F35; 1F3E;GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI;Lu;0;L;1F38 0342;;;;N;;;;1F36; 1F3F;GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI;Lu;0;L;1F39 0342;;;;N;;;;1F37; 1F40;GREEK SMALL LETTER OMICRON WITH PSILI;Ll;0;L;03BF 0313;;;;N;;;1F48;;1F48 1F41;GREEK SMALL LETTER OMICRON WITH DASIA;Ll;0;L;03BF 0314;;;;N;;;1F49;;1F49 1F42;GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA;Ll;0;L;1F40 0300;;;;N;;;1F4A;;1F4A 1F43;GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA;Ll;0;L;1F41 0300;;;;N;;;1F4B;;1F4B 1F44;GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA;Ll;0;L;1F40 0301;;;;N;;;1F4C;;1F4C 1F45;GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA;Ll;0;L;1F41 0301;;;;N;;;1F4D;;1F4D 1F48;GREEK CAPITAL LETTER OMICRON WITH PSILI;Lu;0;L;039F 0313;;;;N;;;;1F40; 1F49;GREEK CAPITAL LETTER OMICRON WITH DASIA;Lu;0;L;039F 0314;;;;N;;;;1F41; 1F4A;GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA;Lu;0;L;1F48 0300;;;;N;;;;1F42; 1F4B;GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA;Lu;0;L;1F49 0300;;;;N;;;;1F43; 1F4C;GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA;Lu;0;L;1F48 0301;;;;N;;;;1F44; 1F4D;GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA;Lu;0;L;1F49 0301;;;;N;;;;1F45; 1F50;GREEK SMALL LETTER UPSILON WITH PSILI;Ll;0;L;03C5 0313;;;;N;;;;; 1F51;GREEK SMALL LETTER UPSILON WITH DASIA;Ll;0;L;03C5 0314;;;;N;;;1F59;;1F59 1F52;GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA;Ll;0;L;1F50 0300;;;;N;;;;; 1F53;GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA;Ll;0;L;1F51 0300;;;;N;;;1F5B;;1F5B 1F54;GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA;Ll;0;L;1F50 0301;;;;N;;;;; 1F55;GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA;Ll;0;L;1F51 0301;;;;N;;;1F5D;;1F5D 1F56;GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI;Ll;0;L;1F50 0342;;;;N;;;;; 1F57;GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI;Ll;0;L;1F51 0342;;;;N;;;1F5F;;1F5F 1F59;GREEK CAPITAL LETTER UPSILON WITH DASIA;Lu;0;L;03A5 0314;;;;N;;;;1F51; 1F5B;GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA;Lu;0;L;1F59 0300;;;;N;;;;1F53; 1F5D;GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA;Lu;0;L;1F59 0301;;;;N;;;;1F55; 1F5F;GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI;Lu;0;L;1F59 0342;;;;N;;;;1F57; 1F60;GREEK SMALL LETTER OMEGA WITH PSILI;Ll;0;L;03C9 0313;;;;N;;;1F68;;1F68 1F61;GREEK SMALL LETTER OMEGA WITH DASIA;Ll;0;L;03C9 0314;;;;N;;;1F69;;1F69 1F62;GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA;Ll;0;L;1F60 0300;;;;N;;;1F6A;;1F6A 1F63;GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA;Ll;0;L;1F61 0300;;;;N;;;1F6B;;1F6B 1F64;GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA;Ll;0;L;1F60 0301;;;;N;;;1F6C;;1F6C 1F65;GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA;Ll;0;L;1F61 0301;;;;N;;;1F6D;;1F6D 1F66;GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI;Ll;0;L;1F60 0342;;;;N;;;1F6E;;1F6E 1F67;GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI;Ll;0;L;1F61 0342;;;;N;;;1F6F;;1F6F 1F68;GREEK CAPITAL LETTER OMEGA WITH PSILI;Lu;0;L;03A9 0313;;;;N;;;;1F60; 1F69;GREEK CAPITAL LETTER OMEGA WITH DASIA;Lu;0;L;03A9 0314;;;;N;;;;1F61; 1F6A;GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA;Lu;0;L;1F68 0300;;;;N;;;;1F62; 1F6B;GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA;Lu;0;L;1F69 0300;;;;N;;;;1F63; 1F6C;GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA;Lu;0;L;1F68 0301;;;;N;;;;1F64; 1F6D;GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA;Lu;0;L;1F69 0301;;;;N;;;;1F65; 1F6E;GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI;Lu;0;L;1F68 0342;;;;N;;;;1F66; 1F6F;GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI;Lu;0;L;1F69 0342;;;;N;;;;1F67; 1F70;GREEK SMALL LETTER ALPHA WITH VARIA;Ll;0;L;03B1 0300;;;;N;;;1FBA;;1FBA 1F71;GREEK SMALL LETTER ALPHA WITH OXIA;Ll;0;L;03AC;;;;N;;;1FBB;;1FBB 1F72;GREEK SMALL LETTER EPSILON WITH VARIA;Ll;0;L;03B5 0300;;;;N;;;1FC8;;1FC8 1F73;GREEK SMALL LETTER EPSILON WITH OXIA;Ll;0;L;03AD;;;;N;;;1FC9;;1FC9 1F74;GREEK SMALL LETTER ETA WITH VARIA;Ll;0;L;03B7 0300;;;;N;;;1FCA;;1FCA 1F75;GREEK SMALL LETTER ETA WITH OXIA;Ll;0;L;03AE;;;;N;;;1FCB;;1FCB 1F76;GREEK SMALL LETTER IOTA WITH VARIA;Ll;0;L;03B9 0300;;;;N;;;1FDA;;1FDA 1F77;GREEK SMALL LETTER IOTA WITH OXIA;Ll;0;L;03AF;;;;N;;;1FDB;;1FDB 1F78;GREEK SMALL LETTER OMICRON WITH VARIA;Ll;0;L;03BF 0300;;;;N;;;1FF8;;1FF8 1F79;GREEK SMALL LETTER OMICRON WITH OXIA;Ll;0;L;03CC;;;;N;;;1FF9;;1FF9 1F7A;GREEK SMALL LETTER UPSILON WITH VARIA;Ll;0;L;03C5 0300;;;;N;;;1FEA;;1FEA 1F7B;GREEK SMALL LETTER UPSILON WITH OXIA;Ll;0;L;03CD;;;;N;;;1FEB;;1FEB 1F7C;GREEK SMALL LETTER OMEGA WITH VARIA;Ll;0;L;03C9 0300;;;;N;;;1FFA;;1FFA 1F7D;GREEK SMALL LETTER OMEGA WITH OXIA;Ll;0;L;03CE;;;;N;;;1FFB;;1FFB 1F80;GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI;Ll;0;L;1F00 0345;;;;N;;;1F88;;1F88 1F81;GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI;Ll;0;L;1F01 0345;;;;N;;;1F89;;1F89 1F82;GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F02 0345;;;;N;;;1F8A;;1F8A 1F83;GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F03 0345;;;;N;;;1F8B;;1F8B 1F84;GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F04 0345;;;;N;;;1F8C;;1F8C 1F85;GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F05 0345;;;;N;;;1F8D;;1F8D 1F86;GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F06 0345;;;;N;;;1F8E;;1F8E 1F87;GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F07 0345;;;;N;;;1F8F;;1F8F 1F88;GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI;Lt;0;L;1F08 0345;;;;N;;;;1F80; 1F89;GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI;Lt;0;L;1F09 0345;;;;N;;;;1F81; 1F8A;GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F0A 0345;;;;N;;;;1F82; 1F8B;GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F0B 0345;;;;N;;;;1F83; 1F8C;GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F0C 0345;;;;N;;;;1F84; 1F8D;GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F0D 0345;;;;N;;;;1F85; 1F8E;GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F0E 0345;;;;N;;;;1F86; 1F8F;GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F0F 0345;;;;N;;;;1F87; 1F90;GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI;Ll;0;L;1F20 0345;;;;N;;;1F98;;1F98 1F91;GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI;Ll;0;L;1F21 0345;;;;N;;;1F99;;1F99 1F92;GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F22 0345;;;;N;;;1F9A;;1F9A 1F93;GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F23 0345;;;;N;;;1F9B;;1F9B 1F94;GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F24 0345;;;;N;;;1F9C;;1F9C 1F95;GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F25 0345;;;;N;;;1F9D;;1F9D 1F96;GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F26 0345;;;;N;;;1F9E;;1F9E 1F97;GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F27 0345;;;;N;;;1F9F;;1F9F 1F98;GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI;Lt;0;L;1F28 0345;;;;N;;;;1F90; 1F99;GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI;Lt;0;L;1F29 0345;;;;N;;;;1F91; 1F9A;GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F2A 0345;;;;N;;;;1F92; 1F9B;GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F2B 0345;;;;N;;;;1F93; 1F9C;GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F2C 0345;;;;N;;;;1F94; 1F9D;GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F2D 0345;;;;N;;;;1F95; 1F9E;GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F2E 0345;;;;N;;;;1F96; 1F9F;GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F2F 0345;;;;N;;;;1F97; 1FA0;GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI;Ll;0;L;1F60 0345;;;;N;;;1FA8;;1FA8 1FA1;GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI;Ll;0;L;1F61 0345;;;;N;;;1FA9;;1FA9 1FA2;GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F62 0345;;;;N;;;1FAA;;1FAA 1FA3;GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F63 0345;;;;N;;;1FAB;;1FAB 1FA4;GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F64 0345;;;;N;;;1FAC;;1FAC 1FA5;GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F65 0345;;;;N;;;1FAD;;1FAD 1FA6;GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F66 0345;;;;N;;;1FAE;;1FAE 1FA7;GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F67 0345;;;;N;;;1FAF;;1FAF 1FA8;GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI;Lt;0;L;1F68 0345;;;;N;;;;1FA0; 1FA9;GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI;Lt;0;L;1F69 0345;;;;N;;;;1FA1; 1FAA;GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F6A 0345;;;;N;;;;1FA2; 1FAB;GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F6B 0345;;;;N;;;;1FA3; 1FAC;GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F6C 0345;;;;N;;;;1FA4; 1FAD;GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F6D 0345;;;;N;;;;1FA5; 1FAE;GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F6E 0345;;;;N;;;;1FA6; 1FAF;GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F6F 0345;;;;N;;;;1FA7; 1FB0;GREEK SMALL LETTER ALPHA WITH VRACHY;Ll;0;L;03B1 0306;;;;N;;;1FB8;;1FB8 1FB1;GREEK SMALL LETTER ALPHA WITH MACRON;Ll;0;L;03B1 0304;;;;N;;;1FB9;;1FB9 1FB2;GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI;Ll;0;L;1F70 0345;;;;N;;;;; 1FB3;GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI;Ll;0;L;03B1 0345;;;;N;;;1FBC;;1FBC 1FB4;GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI;Ll;0;L;03AC 0345;;;;N;;;;; 1FB6;GREEK SMALL LETTER ALPHA WITH PERISPOMENI;Ll;0;L;03B1 0342;;;;N;;;;; 1FB7;GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1FB6 0345;;;;N;;;;; 1FB8;GREEK CAPITAL LETTER ALPHA WITH VRACHY;Lu;0;L;0391 0306;;;;N;;;;1FB0; 1FB9;GREEK CAPITAL LETTER ALPHA WITH MACRON;Lu;0;L;0391 0304;;;;N;;;;1FB1; 1FBA;GREEK CAPITAL LETTER ALPHA WITH VARIA;Lu;0;L;0391 0300;;;;N;;;;1F70; 1FBB;GREEK CAPITAL LETTER ALPHA WITH OXIA;Lu;0;L;0386;;;;N;;;;1F71; 1FBC;GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI;Lt;0;L;0391 0345;;;;N;;;;1FB3; 1FBD;GREEK KORONIS;Sk;0;ON; 0020 0313;;;;N;;;;; 1FBE;GREEK PROSGEGRAMMENI;Ll;0;L;03B9;;;;N;;;0399;;0399 1FBF;GREEK PSILI;Sk;0;ON; 0020 0313;;;;N;;;;; 1FC0;GREEK PERISPOMENI;Sk;0;ON; 0020 0342;;;;N;;;;; 1FC1;GREEK DIALYTIKA AND PERISPOMENI;Sk;0;ON;00A8 0342;;;;N;;;;; 1FC2;GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI;Ll;0;L;1F74 0345;;;;N;;;;; 1FC3;GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI;Ll;0;L;03B7 0345;;;;N;;;1FCC;;1FCC 1FC4;GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI;Ll;0;L;03AE 0345;;;;N;;;;; 1FC6;GREEK SMALL LETTER ETA WITH PERISPOMENI;Ll;0;L;03B7 0342;;;;N;;;;; 1FC7;GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1FC6 0345;;;;N;;;;; 1FC8;GREEK CAPITAL LETTER EPSILON WITH VARIA;Lu;0;L;0395 0300;;;;N;;;;1F72; 1FC9;GREEK CAPITAL LETTER EPSILON WITH OXIA;Lu;0;L;0388;;;;N;;;;1F73; 1FCA;GREEK CAPITAL LETTER ETA WITH VARIA;Lu;0;L;0397 0300;;;;N;;;;1F74; 1FCB;GREEK CAPITAL LETTER ETA WITH OXIA;Lu;0;L;0389;;;;N;;;;1F75; 1FCC;GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI;Lt;0;L;0397 0345;;;;N;;;;1FC3; 1FCD;GREEK PSILI AND VARIA;Sk;0;ON;1FBF 0300;;;;N;;;;; 1FCE;GREEK PSILI AND OXIA;Sk;0;ON;1FBF 0301;;;;N;;;;; 1FCF;GREEK PSILI AND PERISPOMENI;Sk;0;ON;1FBF 0342;;;;N;;;;; 1FD0;GREEK SMALL LETTER IOTA WITH VRACHY;Ll;0;L;03B9 0306;;;;N;;;1FD8;;1FD8 1FD1;GREEK SMALL LETTER IOTA WITH MACRON;Ll;0;L;03B9 0304;;;;N;;;1FD9;;1FD9 1FD2;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA;Ll;0;L;03CA 0300;;;;N;;;;; 1FD3;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA;Ll;0;L;0390;;;;N;;;;; 1FD6;GREEK SMALL LETTER IOTA WITH PERISPOMENI;Ll;0;L;03B9 0342;;;;N;;;;; 1FD7;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI;Ll;0;L;03CA 0342;;;;N;;;;; 1FD8;GREEK CAPITAL LETTER IOTA WITH VRACHY;Lu;0;L;0399 0306;;;;N;;;;1FD0; 1FD9;GREEK CAPITAL LETTER IOTA WITH MACRON;Lu;0;L;0399 0304;;;;N;;;;1FD1; 1FDA;GREEK CAPITAL LETTER IOTA WITH VARIA;Lu;0;L;0399 0300;;;;N;;;;1F76; 1FDB;GREEK CAPITAL LETTER IOTA WITH OXIA;Lu;0;L;038A;;;;N;;;;1F77; 1FDD;GREEK DASIA AND VARIA;Sk;0;ON;1FFE 0300;;;;N;;;;; 1FDE;GREEK DASIA AND OXIA;Sk;0;ON;1FFE 0301;;;;N;;;;; 1FDF;GREEK DASIA AND PERISPOMENI;Sk;0;ON;1FFE 0342;;;;N;;;;; 1FE0;GREEK SMALL LETTER UPSILON WITH VRACHY;Ll;0;L;03C5 0306;;;;N;;;1FE8;;1FE8 1FE1;GREEK SMALL LETTER UPSILON WITH MACRON;Ll;0;L;03C5 0304;;;;N;;;1FE9;;1FE9 1FE2;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA;Ll;0;L;03CB 0300;;;;N;;;;; 1FE3;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA;Ll;0;L;03B0;;;;N;;;;; 1FE4;GREEK SMALL LETTER RHO WITH PSILI;Ll;0;L;03C1 0313;;;;N;;;;; 1FE5;GREEK SMALL LETTER RHO WITH DASIA;Ll;0;L;03C1 0314;;;;N;;;1FEC;;1FEC 1FE6;GREEK SMALL LETTER UPSILON WITH PERISPOMENI;Ll;0;L;03C5 0342;;;;N;;;;; 1FE7;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI;Ll;0;L;03CB 0342;;;;N;;;;; 1FE8;GREEK CAPITAL LETTER UPSILON WITH VRACHY;Lu;0;L;03A5 0306;;;;N;;;;1FE0; 1FE9;GREEK CAPITAL LETTER UPSILON WITH MACRON;Lu;0;L;03A5 0304;;;;N;;;;1FE1; 1FEA;GREEK CAPITAL LETTER UPSILON WITH VARIA;Lu;0;L;03A5 0300;;;;N;;;;1F7A; 1FEB;GREEK CAPITAL LETTER UPSILON WITH OXIA;Lu;0;L;038E;;;;N;;;;1F7B; 1FEC;GREEK CAPITAL LETTER RHO WITH DASIA;Lu;0;L;03A1 0314;;;;N;;;;1FE5; 1FED;GREEK DIALYTIKA AND VARIA;Sk;0;ON;00A8 0300;;;;N;;;;; 1FEE;GREEK DIALYTIKA AND OXIA;Sk;0;ON;0385;;;;N;;;;; 1FEF;GREEK VARIA;Sk;0;ON;0060;;;;N;;;;; 1FF2;GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI;Ll;0;L;1F7C 0345;;;;N;;;;; 1FF3;GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI;Ll;0;L;03C9 0345;;;;N;;;1FFC;;1FFC 1FF4;GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI;Ll;0;L;03CE 0345;;;;N;;;;; 1FF6;GREEK SMALL LETTER OMEGA WITH PERISPOMENI;Ll;0;L;03C9 0342;;;;N;;;;; 1FF7;GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1FF6 0345;;;;N;;;;; 1FF8;GREEK CAPITAL LETTER OMICRON WITH VARIA;Lu;0;L;039F 0300;;;;N;;;;1F78; 1FF9;GREEK CAPITAL LETTER OMICRON WITH OXIA;Lu;0;L;038C;;;;N;;;;1F79; 1FFA;GREEK CAPITAL LETTER OMEGA WITH VARIA;Lu;0;L;03A9 0300;;;;N;;;;1F7C; 1FFB;GREEK CAPITAL LETTER OMEGA WITH OXIA;Lu;0;L;038F;;;;N;;;;1F7D; 1FFC;GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI;Lt;0;L;03A9 0345;;;;N;;;;1FF3; 1FFD;GREEK OXIA;Sk;0;ON;00B4;;;;N;;;;; 1FFE;GREEK DASIA;Sk;0;ON; 0020 0314;;;;N;;;;; 2000;EN QUAD;Zs;0;WS;2002;;;;N;;;;; 2001;EM QUAD;Zs;0;WS;2003;;;;N;;;;; 2002;EN SPACE;Zs;0;WS; 0020;;;;N;;;;; 2003;EM SPACE;Zs;0;WS; 0020;;;;N;;;;; 2004;THREE-PER-EM SPACE;Zs;0;WS; 0020;;;;N;;;;; 2005;FOUR-PER-EM SPACE;Zs;0;WS; 0020;;;;N;;;;; 2006;SIX-PER-EM SPACE;Zs;0;WS; 0020;;;;N;;;;; 2007;FIGURE SPACE;Zs;0;WS; 0020;;;;N;;;;; 2008;PUNCTUATION SPACE;Zs;0;WS; 0020;;;;N;;;;; 2009;THIN SPACE;Zs;0;WS; 0020;;;;N;;;;; 200A;HAIR SPACE;Zs;0;WS; 0020;;;;N;;;;; 200B;ZERO WIDTH SPACE;Zs;0;BN;;;;;N;;;;; 200C;ZERO WIDTH NON-JOINER;Cf;0;BN;;;;;N;;;;; 200D;ZERO WIDTH JOINER;Cf;0;BN;;;;;N;;;;; 200E;LEFT-TO-RIGHT MARK;Cf;0;L;;;;;N;;;;; 200F;RIGHT-TO-LEFT MARK;Cf;0;R;;;;;N;;;;; 2010;HYPHEN;Pd;0;ON;;;;;N;;;;; 2011;NON-BREAKING HYPHEN;Pd;0;ON; 2010;;;;N;;;;; 2012;FIGURE DASH;Pd;0;ON;;;;;N;;;;; 2013;EN DASH;Pd;0;ON;;;;;N;;;;; 2014;EM DASH;Pd;0;ON;;;;;N;;;;; 2015;HORIZONTAL BAR;Pd;0;ON;;;;;N;QUOTATION DASH;;;; 2016;DOUBLE VERTICAL LINE;Po;0;ON;;;;;N;DOUBLE VERTICAL BAR;;;; 2017;DOUBLE LOW LINE;Po;0;ON; 0020 0333;;;;N;SPACING DOUBLE UNDERSCORE;;;; 2018;LEFT SINGLE QUOTATION MARK;Pi;0;ON;;;;;N;SINGLE TURNED COMMA QUOTATION MARK;;;; 2019;RIGHT SINGLE QUOTATION MARK;Pf;0;ON;;;;;N;SINGLE COMMA QUOTATION MARK;;;; 201A;SINGLE LOW-9 QUOTATION MARK;Ps;0;ON;;;;;N;LOW SINGLE COMMA QUOTATION MARK;;;; 201B;SINGLE HIGH-REVERSED-9 QUOTATION MARK;Pi;0;ON;;;;;N;SINGLE REVERSED COMMA QUOTATION MARK;;;; 201C;LEFT DOUBLE QUOTATION MARK;Pi;0;ON;;;;;N;DOUBLE TURNED COMMA QUOTATION MARK;;;; 201D;RIGHT DOUBLE QUOTATION MARK;Pf;0;ON;;;;;N;DOUBLE COMMA QUOTATION MARK;;;; 201E;DOUBLE LOW-9 QUOTATION MARK;Ps;0;ON;;;;;N;LOW DOUBLE COMMA QUOTATION MARK;;;; 201F;DOUBLE HIGH-REVERSED-9 QUOTATION MARK;Pi;0;ON;;;;;N;DOUBLE REVERSED COMMA QUOTATION MARK;;;; 2020;DAGGER;Po;0;ON;;;;;N;;;;; 2021;DOUBLE DAGGER;Po;0;ON;;;;;N;;;;; 2022;BULLET;Po;0;ON;;;;;N;;;;; 2023;TRIANGULAR BULLET;Po;0;ON;;;;;N;;;;; 2024;ONE DOT LEADER;Po;0;ON; 002E;;;;N;;;;; 2025;TWO DOT LEADER;Po;0;ON; 002E 002E;;;;N;;;;; 2026;HORIZONTAL ELLIPSIS;Po;0;ON; 002E 002E 002E;;;;N;;;;; 2027;HYPHENATION POINT;Po;0;ON;;;;;N;;;;; 2028;LINE SEPARATOR;Zl;0;WS;;;;;N;;;;; 2029;PARAGRAPH SEPARATOR;Zp;0;B;;;;;N;;;;; 202A;LEFT-TO-RIGHT EMBEDDING;Cf;0;LRE;;;;;N;;;;; 202B;RIGHT-TO-LEFT EMBEDDING;Cf;0;RLE;;;;;N;;;;; 202C;POP DIRECTIONAL FORMATTING;Cf;0;PDF;;;;;N;;;;; 202D;LEFT-TO-RIGHT OVERRIDE;Cf;0;LRO;;;;;N;;;;; 202E;RIGHT-TO-LEFT OVERRIDE;Cf;0;RLO;;;;;N;;;;; 202F;NARROW NO-BREAK SPACE;Zs;0;WS; 0020;;;;N;;;;; 2030;PER MILLE SIGN;Po;0;ET;;;;;N;;;;; 2031;PER TEN THOUSAND SIGN;Po;0;ET;;;;;N;;;;; 2032;PRIME;Po;0;ET;;;;;N;;;;; 2033;DOUBLE PRIME;Po;0;ET; 2032 2032;;;;N;;;;; 2034;TRIPLE PRIME;Po;0;ET; 2032 2032 2032;;;;N;;;;; 2035;REVERSED PRIME;Po;0;ON;;;;;N;;;;; 2036;REVERSED DOUBLE PRIME;Po;0;ON; 2035 2035;;;;N;;;;; 2037;REVERSED TRIPLE PRIME;Po;0;ON; 2035 2035 2035;;;;N;;;;; 2038;CARET;Po;0;ON;;;;;N;;;;; 2039;SINGLE LEFT-POINTING ANGLE QUOTATION MARK;Pi;0;ON;;;;;Y;LEFT POINTING SINGLE GUILLEMET;;;; 203A;SINGLE RIGHT-POINTING ANGLE QUOTATION MARK;Pf;0;ON;;;;;Y;RIGHT POINTING SINGLE GUILLEMET;;;; 203B;REFERENCE MARK;Po;0;ON;;;;;N;;;;; 203C;DOUBLE EXCLAMATION MARK;Po;0;ON; 0021 0021;;;;N;;;;; 203D;INTERROBANG;Po;0;ON;;;;;N;;;;; 203E;OVERLINE;Po;0;ON; 0020 0305;;;;N;SPACING OVERSCORE;;;; 203F;UNDERTIE;Pc;0;ON;;;;;N;;Enotikon;;; 2040;CHARACTER TIE;Pc;0;ON;;;;;N;;;;; 2041;CARET INSERTION POINT;Po;0;ON;;;;;N;;;;; 2042;ASTERISM;Po;0;ON;;;;;N;;;;; 2043;HYPHEN BULLET;Po;0;ON;;;;;N;;;;; 2044;FRACTION SLASH;Sm;0;ON;;;;;N;;;;; 2045;LEFT SQUARE BRACKET WITH QUILL;Ps;0;ON;;;;;Y;;;;; 2046;RIGHT SQUARE BRACKET WITH QUILL;Pe;0;ON;;;;;Y;;;;; 2047;DOUBLE QUESTION MARK;Po;0;ON; 003F 003F;;;;N;;;;; 2048;QUESTION EXCLAMATION MARK;Po;0;ON; 003F 0021;;;;N;;;;; 2049;EXCLAMATION QUESTION MARK;Po;0;ON; 0021 003F;;;;N;;;;; 204A;TIRONIAN SIGN ET;Po;0;ON;;;;;N;;;;; 204B;REVERSED PILCROW SIGN;Po;0;ON;;;;;N;;;;; 204C;BLACK LEFTWARDS BULLET;Po;0;ON;;;;;N;;;;; 204D;BLACK RIGHTWARDS BULLET;Po;0;ON;;;;;N;;;;; 204E;LOW ASTERISK;Po;0;ON;;;;;N;;;;; 204F;REVERSED SEMICOLON;Po;0;ON;;;;;N;;;;; 2050;CLOSE UP;Po;0;ON;;;;;N;;;;; 2051;TWO ASTERISKS ALIGNED VERTICALLY;Po;0;ON;;;;;N;;;;; 2052;COMMERCIAL MINUS SIGN;Sm;0;ON;;;;;N;;;;; 2053;SWUNG DASH;Po;0;ON;;;;;N;;;;; 2054;INVERTED UNDERTIE;Pc;0;ON;;;;;N;;;;; 2057;QUADRUPLE PRIME;Po;0;ON; 2032 2032 2032 2032;;;;N;;;;; 205F;MEDIUM MATHEMATICAL SPACE;Zs;0;WS; 0020;;;;N;;;;; 2060;WORD JOINER;Cf;0;BN;;;;;N;;;;; 2061;FUNCTION APPLICATION;Cf;0;BN;;;;;N;;;;; 2062;INVISIBLE TIMES;Cf;0;BN;;;;;N;;;;; 2063;INVISIBLE SEPARATOR;Cf;0;BN;;;;;N;;;;; 206A;INHIBIT SYMMETRIC SWAPPING;Cf;0;BN;;;;;N;;;;; 206B;ACTIVATE SYMMETRIC SWAPPING;Cf;0;BN;;;;;N;;;;; 206C;INHIBIT ARABIC FORM SHAPING;Cf;0;BN;;;;;N;;;;; 206D;ACTIVATE ARABIC FORM SHAPING;Cf;0;BN;;;;;N;;;;; 206E;NATIONAL DIGIT SHAPES;Cf;0;BN;;;;;N;;;;; 206F;NOMINAL DIGIT SHAPES;Cf;0;BN;;;;;N;;;;; 2070;SUPERSCRIPT ZERO;No;0;EN; 0030;;0;0;N;SUPERSCRIPT DIGIT ZERO;;;; 2071;SUPERSCRIPT LATIN SMALL LETTER I;Ll;0;L; 0069;;;;N;;;;; 2074;SUPERSCRIPT FOUR;No;0;EN; 0034;;4;4;N;SUPERSCRIPT DIGIT FOUR;;;; 2075;SUPERSCRIPT FIVE;No;0;EN; 0035;;5;5;N;SUPERSCRIPT DIGIT FIVE;;;; 2076;SUPERSCRIPT SIX;No;0;EN; 0036;;6;6;N;SUPERSCRIPT DIGIT SIX;;;; 2077;SUPERSCRIPT SEVEN;No;0;EN; 0037;;7;7;N;SUPERSCRIPT DIGIT SEVEN;;;; 2078;SUPERSCRIPT EIGHT;No;0;EN; 0038;;8;8;N;SUPERSCRIPT DIGIT EIGHT;;;; 2079;SUPERSCRIPT NINE;No;0;EN; 0039;;9;9;N;SUPERSCRIPT DIGIT NINE;;;; 207A;SUPERSCRIPT PLUS SIGN;Sm;0;ET; 002B;;;;N;;;;; 207B;SUPERSCRIPT MINUS;Sm;0;ET; 2212;;;;N;SUPERSCRIPT HYPHEN-MINUS;;;; 207C;SUPERSCRIPT EQUALS SIGN;Sm;0;ON; 003D;;;;N;;;;; 207D;SUPERSCRIPT LEFT PARENTHESIS;Ps;0;ON; 0028;;;;Y;SUPERSCRIPT OPENING PARENTHESIS;;;; 207E;SUPERSCRIPT RIGHT PARENTHESIS;Pe;0;ON; 0029;;;;Y;SUPERSCRIPT CLOSING PARENTHESIS;;;; 207F;SUPERSCRIPT LATIN SMALL LETTER N;Ll;0;L; 006E;;;;N;;;;; 2080;SUBSCRIPT ZERO;No;0;EN; 0030;;0;0;N;SUBSCRIPT DIGIT ZERO;;;; 2081;SUBSCRIPT ONE;No;0;EN; 0031;;1;1;N;SUBSCRIPT DIGIT ONE;;;; 2082;SUBSCRIPT TWO;No;0;EN; 0032;;2;2;N;SUBSCRIPT DIGIT TWO;;;; 2083;SUBSCRIPT THREE;No;0;EN; 0033;;3;3;N;SUBSCRIPT DIGIT THREE;;;; 2084;SUBSCRIPT FOUR;No;0;EN; 0034;;4;4;N;SUBSCRIPT DIGIT FOUR;;;; 2085;SUBSCRIPT FIVE;No;0;EN; 0035;;5;5;N;SUBSCRIPT DIGIT FIVE;;;; 2086;SUBSCRIPT SIX;No;0;EN; 0036;;6;6;N;SUBSCRIPT DIGIT SIX;;;; 2087;SUBSCRIPT SEVEN;No;0;EN; 0037;;7;7;N;SUBSCRIPT DIGIT SEVEN;;;; 2088;SUBSCRIPT EIGHT;No;0;EN; 0038;;8;8;N;SUBSCRIPT DIGIT EIGHT;;;; 2089;SUBSCRIPT NINE;No;0;EN; 0039;;9;9;N;SUBSCRIPT DIGIT NINE;;;; 208A;SUBSCRIPT PLUS SIGN;Sm;0;ET; 002B;;;;N;;;;; 208B;SUBSCRIPT MINUS;Sm;0;ET; 2212;;;;N;SUBSCRIPT HYPHEN-MINUS;;;; 208C;SUBSCRIPT EQUALS SIGN;Sm;0;ON; 003D;;;;N;;;;; 208D;SUBSCRIPT LEFT PARENTHESIS;Ps;0;ON; 0028;;;;Y;SUBSCRIPT OPENING PARENTHESIS;;;; 208E;SUBSCRIPT RIGHT PARENTHESIS;Pe;0;ON; 0029;;;;Y;SUBSCRIPT CLOSING PARENTHESIS;;;; 20A0;EURO-CURRENCY SIGN;Sc;0;ET;;;;;N;;;;; 20A1;COLON SIGN;Sc;0;ET;;;;;N;;;;; 20A2;CRUZEIRO SIGN;Sc;0;ET;;;;;N;;;;; 20A3;FRENCH FRANC SIGN;Sc;0;ET;;;;;N;;;;; 20A4;LIRA SIGN;Sc;0;ET;;;;;N;;;;; 20A5;MILL SIGN;Sc;0;ET;;;;;N;;;;; 20A6;NAIRA SIGN;Sc;0;ET;;;;;N;;;;; 20A7;PESETA SIGN;Sc;0;ET;;;;;N;;;;; 20A8;RUPEE SIGN;Sc;0;ET; 0052 0073;;;;N;;;;; 20A9;WON SIGN;Sc;0;ET;;;;;N;;;;; 20AA;NEW SHEQEL SIGN;Sc;0;ET;;;;;N;;;;; 20AB;DONG SIGN;Sc;0;ET;;;;;N;;;;; 20AC;EURO SIGN;Sc;0;ET;;;;;N;;;;; 20AD;KIP SIGN;Sc;0;ET;;;;;N;;;;; 20AE;TUGRIK SIGN;Sc;0;ET;;;;;N;;;;; 20AF;DRACHMA SIGN;Sc;0;ET;;;;;N;;;;; 20B0;GERMAN PENNY SIGN;Sc;0;ET;;;;;N;;;;; 20B1;PESO SIGN;Sc;0;ET;;;;;N;;;;; 20D0;COMBINING LEFT HARPOON ABOVE;Mn;230;NSM;;;;;N;NON-SPACING LEFT HARPOON ABOVE;;;; 20D1;COMBINING RIGHT HARPOON ABOVE;Mn;230;NSM;;;;;N;NON-SPACING RIGHT HARPOON ABOVE;;;; 20D2;COMBINING LONG VERTICAL LINE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING LONG VERTICAL BAR OVERLAY;;;; 20D3;COMBINING SHORT VERTICAL LINE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING SHORT VERTICAL BAR OVERLAY;;;; 20D4;COMBINING ANTICLOCKWISE ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING ANTICLOCKWISE ARROW ABOVE;;;; 20D5;COMBINING CLOCKWISE ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING CLOCKWISE ARROW ABOVE;;;; 20D6;COMBINING LEFT ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING LEFT ARROW ABOVE;;;; 20D7;COMBINING RIGHT ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING RIGHT ARROW ABOVE;;;; 20D8;COMBINING RING OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING RING OVERLAY;;;; 20D9;COMBINING CLOCKWISE RING OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING CLOCKWISE RING OVERLAY;;;; 20DA;COMBINING ANTICLOCKWISE RING OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING ANTICLOCKWISE RING OVERLAY;;;; 20DB;COMBINING THREE DOTS ABOVE;Mn;230;NSM;;;;;N;NON-SPACING THREE DOTS ABOVE;;;; 20DC;COMBINING FOUR DOTS ABOVE;Mn;230;NSM;;;;;N;NON-SPACING FOUR DOTS ABOVE;;;; 20DD;COMBINING ENCLOSING CIRCLE;Me;0;NSM;;;;;N;ENCLOSING CIRCLE;;;; 20DE;COMBINING ENCLOSING SQUARE;Me;0;NSM;;;;;N;ENCLOSING SQUARE;;;; 20DF;COMBINING ENCLOSING DIAMOND;Me;0;NSM;;;;;N;ENCLOSING DIAMOND;;;; 20E0;COMBINING ENCLOSING CIRCLE BACKSLASH;Me;0;NSM;;;;;N;ENCLOSING CIRCLE SLASH;;;; 20E1;COMBINING LEFT RIGHT ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING LEFT RIGHT ARROW ABOVE;;;; 20E2;COMBINING ENCLOSING SCREEN;Me;0;NSM;;;;;N;;;;; 20E3;COMBINING ENCLOSING KEYCAP;Me;0;NSM;;;;;N;;;;; 20E4;COMBINING ENCLOSING UPWARD POINTING TRIANGLE;Me;0;NSM;;;;;N;;;;; 20E5;COMBINING REVERSE SOLIDUS OVERLAY;Mn;1;NSM;;;;;N;;;;; 20E6;COMBINING DOUBLE VERTICAL STROKE OVERLAY;Mn;1;NSM;;;;;N;;;;; 20E7;COMBINING ANNUITY SYMBOL;Mn;230;NSM;;;;;N;;;;; 20E8;COMBINING TRIPLE UNDERDOT;Mn;220;NSM;;;;;N;;;;; 20E9;COMBINING WIDE BRIDGE ABOVE;Mn;230;NSM;;;;;N;;;;; 20EA;COMBINING LEFTWARDS ARROW OVERLAY;Mn;1;NSM;;;;;N;;;;; 2100;ACCOUNT OF;So;0;ON; 0061 002F 0063;;;;N;;;;; 2101;ADDRESSED TO THE SUBJECT;So;0;ON; 0061 002F 0073;;;;N;;;;; 2102;DOUBLE-STRUCK CAPITAL C;Lu;0;L; 0043;;;;N;DOUBLE-STRUCK C;;;; 2103;DEGREE CELSIUS;So;0;ON; 00B0 0043;;;;N;DEGREES CENTIGRADE;;;; 2104;CENTRE LINE SYMBOL;So;0;ON;;;;;N;C L SYMBOL;;;; 2105;CARE OF;So;0;ON; 0063 002F 006F;;;;N;;;;; 2106;CADA UNA;So;0;ON; 0063 002F 0075;;;;N;;;;; 2107;EULER CONSTANT;Lu;0;L; 0190;;;;N;EULERS;;;; 2108;SCRUPLE;So;0;ON;;;;;N;;;;; 2109;DEGREE FAHRENHEIT;So;0;ON; 00B0 0046;;;;N;DEGREES FAHRENHEIT;;;; 210A;SCRIPT SMALL G;Ll;0;L; 0067;;;;N;;;;; 210B;SCRIPT CAPITAL H;Lu;0;L; 0048;;;;N;SCRIPT H;;;; 210C;BLACK-LETTER CAPITAL H;Lu;0;L; 0048;;;;N;BLACK-LETTER H;;;; 210D;DOUBLE-STRUCK CAPITAL H;Lu;0;L; 0048;;;;N;DOUBLE-STRUCK H;;;; 210E;PLANCK CONSTANT;Ll;0;L; 0068;;;;N;;;;; 210F;PLANCK CONSTANT OVER TWO PI;Ll;0;L; 0127;;;;N;PLANCK CONSTANT OVER 2 PI;;;; 2110;SCRIPT CAPITAL I;Lu;0;L; 0049;;;;N;SCRIPT I;;;; 2111;BLACK-LETTER CAPITAL I;Lu;0;L; 0049;;;;N;BLACK-LETTER I;;;; 2112;SCRIPT CAPITAL L;Lu;0;L; 004C;;;;N;SCRIPT L;;;; 2113;SCRIPT SMALL L;Ll;0;L; 006C;;;;N;;;;; 2114;L B BAR SYMBOL;So;0;ON;;;;;N;;;;; 2115;DOUBLE-STRUCK CAPITAL N;Lu;0;L; 004E;;;;N;DOUBLE-STRUCK N;;;; 2116;NUMERO SIGN;So;0;ON; 004E 006F;;;;N;NUMERO;;;; 2117;SOUND RECORDING COPYRIGHT;So;0;ON;;;;;N;;;;; 2118;SCRIPT CAPITAL P;So;0;ON;;;;;N;SCRIPT P;;;; 2119;DOUBLE-STRUCK CAPITAL P;Lu;0;L; 0050;;;;N;DOUBLE-STRUCK P;;;; 211A;DOUBLE-STRUCK CAPITAL Q;Lu;0;L; 0051;;;;N;DOUBLE-STRUCK Q;;;; 211B;SCRIPT CAPITAL R;Lu;0;L; 0052;;;;N;SCRIPT R;;;; 211C;BLACK-LETTER CAPITAL R;Lu;0;L; 0052;;;;N;BLACK-LETTER R;;;; 211D;DOUBLE-STRUCK CAPITAL R;Lu;0;L; 0052;;;;N;DOUBLE-STRUCK R;;;; 211E;PRESCRIPTION TAKE;So;0;ON;;;;;N;;;;; 211F;RESPONSE;So;0;ON;;;;;N;;;;; 2120;SERVICE MARK;So;0;ON; 0053 004D;;;;N;;;;; 2121;TELEPHONE SIGN;So;0;ON; 0054 0045 004C;;;;N;T E L SYMBOL;;;; 2122;TRADE MARK SIGN;So;0;ON; 0054 004D;;;;N;TRADEMARK;;;; 2123;VERSICLE;So;0;ON;;;;;N;;;;; 2124;DOUBLE-STRUCK CAPITAL Z;Lu;0;L; 005A;;;;N;DOUBLE-STRUCK Z;;;; 2125;OUNCE SIGN;So;0;ON;;;;;N;OUNCE;;;; 2126;OHM SIGN;Lu;0;L;03A9;;;;N;OHM;;;03C9; 2127;INVERTED OHM SIGN;So;0;ON;;;;;N;MHO;;;; 2128;BLACK-LETTER CAPITAL Z;Lu;0;L; 005A;;;;N;BLACK-LETTER Z;;;; 2129;TURNED GREEK SMALL LETTER IOTA;So;0;ON;;;;;N;;;;; 212A;KELVIN SIGN;Lu;0;L;004B;;;;N;DEGREES KELVIN;;;006B; 212B;ANGSTROM SIGN;Lu;0;L;00C5;;;;N;ANGSTROM UNIT;;;00E5; 212C;SCRIPT CAPITAL B;Lu;0;L; 0042;;;;N;SCRIPT B;;;; 212D;BLACK-LETTER CAPITAL C;Lu;0;L; 0043;;;;N;BLACK-LETTER C;;;; 212E;ESTIMATED SYMBOL;So;0;ET;;;;;N;;;;; 212F;SCRIPT SMALL E;Ll;0;L; 0065;;;;N;;;;; 2130;SCRIPT CAPITAL E;Lu;0;L; 0045;;;;N;SCRIPT E;;;; 2131;SCRIPT CAPITAL F;Lu;0;L; 0046;;;;N;SCRIPT F;;;; 2132;TURNED CAPITAL F;So;0;ON;;;;;N;TURNED F;;;; 2133;SCRIPT CAPITAL M;Lu;0;L; 004D;;;;N;SCRIPT M;;;; 2134;SCRIPT SMALL O;Ll;0;L; 006F;;;;N;;;;; 2135;ALEF SYMBOL;Lo;0;L; 05D0;;;;N;FIRST TRANSFINITE CARDINAL;;;; 2136;BET SYMBOL;Lo;0;L; 05D1;;;;N;SECOND TRANSFINITE CARDINAL;;;; 2137;GIMEL SYMBOL;Lo;0;L; 05D2;;;;N;THIRD TRANSFINITE CARDINAL;;;; 2138;DALET SYMBOL;Lo;0;L; 05D3;;;;N;FOURTH TRANSFINITE CARDINAL;;;; 2139;INFORMATION SOURCE;Ll;0;L; 0069;;;;N;;;;; 213A;ROTATED CAPITAL Q;So;0;ON;;;;;N;;;;; 213B;FACSIMILE SIGN;So;0;ON; 0046 0041 0058;;;;N;;;;; 213D;DOUBLE-STRUCK SMALL GAMMA;Ll;0;L; 03B3;;;;N;;;;; 213E;DOUBLE-STRUCK CAPITAL GAMMA;Lu;0;L; 0393;;;;N;;;;; 213F;DOUBLE-STRUCK CAPITAL PI;Lu;0;L; 03A0;;;;N;;;;; 2140;DOUBLE-STRUCK N-ARY SUMMATION;Sm;0;ON; 2211;;;;Y;;;;; 2141;TURNED SANS-SERIF CAPITAL G;Sm;0;ON;;;;;N;;;;; 2142;TURNED SANS-SERIF CAPITAL L;Sm;0;ON;;;;;N;;;;; 2143;REVERSED SANS-SERIF CAPITAL L;Sm;0;ON;;;;;N;;;;; 2144;TURNED SANS-SERIF CAPITAL Y;Sm;0;ON;;;;;N;;;;; 2145;DOUBLE-STRUCK ITALIC CAPITAL D;Lu;0;L; 0044;;;;N;;;;; 2146;DOUBLE-STRUCK ITALIC SMALL D;Ll;0;L; 0064;;;;N;;;;; 2147;DOUBLE-STRUCK ITALIC SMALL E;Ll;0;L; 0065;;;;N;;;;; 2148;DOUBLE-STRUCK ITALIC SMALL I;Ll;0;L; 0069;;;;N;;;;; 2149;DOUBLE-STRUCK ITALIC SMALL J;Ll;0;L; 006A;;;;N;;;;; 214A;PROPERTY LINE;So;0;ON;;;;;N;;;;; 214B;TURNED AMPERSAND;Sm;0;ON;;;;;N;;;;; 2153;VULGAR FRACTION ONE THIRD;No;0;ON; 0031 2044 0033;;;1/3;N;FRACTION ONE THIRD;;;; 2154;VULGAR FRACTION TWO THIRDS;No;0;ON; 0032 2044 0033;;;2/3;N;FRACTION TWO THIRDS;;;; 2155;VULGAR FRACTION ONE FIFTH;No;0;ON; 0031 2044 0035;;;1/5;N;FRACTION ONE FIFTH;;;; 2156;VULGAR FRACTION TWO FIFTHS;No;0;ON; 0032 2044 0035;;;2/5;N;FRACTION TWO FIFTHS;;;; 2157;VULGAR FRACTION THREE FIFTHS;No;0;ON; 0033 2044 0035;;;3/5;N;FRACTION THREE FIFTHS;;;; 2158;VULGAR FRACTION FOUR FIFTHS;No;0;ON; 0034 2044 0035;;;4/5;N;FRACTION FOUR FIFTHS;;;; 2159;VULGAR FRACTION ONE SIXTH;No;0;ON; 0031 2044 0036;;;1/6;N;FRACTION ONE SIXTH;;;; 215A;VULGAR FRACTION FIVE SIXTHS;No;0;ON; 0035 2044 0036;;;5/6;N;FRACTION FIVE SIXTHS;;;; 215B;VULGAR FRACTION ONE EIGHTH;No;0;ON; 0031 2044 0038;;;1/8;N;FRACTION ONE EIGHTH;;;; 215C;VULGAR FRACTION THREE EIGHTHS;No;0;ON; 0033 2044 0038;;;3/8;N;FRACTION THREE EIGHTHS;;;; 215D;VULGAR FRACTION FIVE EIGHTHS;No;0;ON; 0035 2044 0038;;;5/8;N;FRACTION FIVE EIGHTHS;;;; 215E;VULGAR FRACTION SEVEN EIGHTHS;No;0;ON; 0037 2044 0038;;;7/8;N;FRACTION SEVEN EIGHTHS;;;; 215F;FRACTION NUMERATOR ONE;No;0;ON; 0031 2044;;;1;N;;;;; 2160;ROMAN NUMERAL ONE;Nl;0;L; 0049;;;1;N;;;;2170; 2161;ROMAN NUMERAL TWO;Nl;0;L; 0049 0049;;;2;N;;;;2171; 2162;ROMAN NUMERAL THREE;Nl;0;L; 0049 0049 0049;;;3;N;;;;2172; 2163;ROMAN NUMERAL FOUR;Nl;0;L; 0049 0056;;;4;N;;;;2173; 2164;ROMAN NUMERAL FIVE;Nl;0;L; 0056;;;5;N;;;;2174; 2165;ROMAN NUMERAL SIX;Nl;0;L; 0056 0049;;;6;N;;;;2175; 2166;ROMAN NUMERAL SEVEN;Nl;0;L; 0056 0049 0049;;;7;N;;;;2176; 2167;ROMAN NUMERAL EIGHT;Nl;0;L; 0056 0049 0049 0049;;;8;N;;;;2177; 2168;ROMAN NUMERAL NINE;Nl;0;L; 0049 0058;;;9;N;;;;2178; 2169;ROMAN NUMERAL TEN;Nl;0;L; 0058;;;10;N;;;;2179; 216A;ROMAN NUMERAL ELEVEN;Nl;0;L; 0058 0049;;;11;N;;;;217A; 216B;ROMAN NUMERAL TWELVE;Nl;0;L; 0058 0049 0049;;;12;N;;;;217B; 216C;ROMAN NUMERAL FIFTY;Nl;0;L; 004C;;;50;N;;;;217C; 216D;ROMAN NUMERAL ONE HUNDRED;Nl;0;L; 0043;;;100;N;;;;217D; 216E;ROMAN NUMERAL FIVE HUNDRED;Nl;0;L; 0044;;;500;N;;;;217E; 216F;ROMAN NUMERAL ONE THOUSAND;Nl;0;L; 004D;;;1000;N;;;;217F; 2170;SMALL ROMAN NUMERAL ONE;Nl;0;L; 0069;;;1;N;;;2160;;2160 2171;SMALL ROMAN NUMERAL TWO;Nl;0;L; 0069 0069;;;2;N;;;2161;;2161 2172;SMALL ROMAN NUMERAL THREE;Nl;0;L; 0069 0069 0069;;;3;N;;;2162;;2162 2173;SMALL ROMAN NUMERAL FOUR;Nl;0;L; 0069 0076;;;4;N;;;2163;;2163 2174;SMALL ROMAN NUMERAL FIVE;Nl;0;L; 0076;;;5;N;;;2164;;2164 2175;SMALL ROMAN NUMERAL SIX;Nl;0;L; 0076 0069;;;6;N;;;2165;;2165 2176;SMALL ROMAN NUMERAL SEVEN;Nl;0;L; 0076 0069 0069;;;7;N;;;2166;;2166 2177;SMALL ROMAN NUMERAL EIGHT;Nl;0;L; 0076 0069 0069 0069;;;8;N;;;2167;;2167 2178;SMALL ROMAN NUMERAL NINE;Nl;0;L; 0069 0078;;;9;N;;;2168;;2168 2179;SMALL ROMAN NUMERAL TEN;Nl;0;L; 0078;;;10;N;;;2169;;2169 217A;SMALL ROMAN NUMERAL ELEVEN;Nl;0;L; 0078 0069;;;11;N;;;216A;;216A 217B;SMALL ROMAN NUMERAL TWELVE;Nl;0;L; 0078 0069 0069;;;12;N;;;216B;;216B 217C;SMALL ROMAN NUMERAL FIFTY;Nl;0;L; 006C;;;50;N;;;216C;;216C 217D;SMALL ROMAN NUMERAL ONE HUNDRED;Nl;0;L; 0063;;;100;N;;;216D;;216D 217E;SMALL ROMAN NUMERAL FIVE HUNDRED;Nl;0;L; 0064;;;500;N;;;216E;;216E 217F;SMALL ROMAN NUMERAL ONE THOUSAND;Nl;0;L; 006D;;;1000;N;;;216F;;216F 2180;ROMAN NUMERAL ONE THOUSAND C D;Nl;0;L;;;;1000;N;;;;; 2181;ROMAN NUMERAL FIVE THOUSAND;Nl;0;L;;;;5000;N;;;;; 2182;ROMAN NUMERAL TEN THOUSAND;Nl;0;L;;;;10000;N;;;;; 2183;ROMAN NUMERAL REVERSED ONE HUNDRED;Nl;0;L;;;;;N;;;;; 2190;LEFTWARDS ARROW;Sm;0;ON;;;;;N;LEFT ARROW;;;; 2191;UPWARDS ARROW;Sm;0;ON;;;;;N;UP ARROW;;;; 2192;RIGHTWARDS ARROW;Sm;0;ON;;;;;N;RIGHT ARROW;;;; 2193;DOWNWARDS ARROW;Sm;0;ON;;;;;N;DOWN ARROW;;;; 2194;LEFT RIGHT ARROW;Sm;0;ON;;;;;N;;;;; 2195;UP DOWN ARROW;So;0;ON;;;;;N;;;;; 2196;NORTH WEST ARROW;So;0;ON;;;;;N;UPPER LEFT ARROW;;;; 2197;NORTH EAST ARROW;So;0;ON;;;;;N;UPPER RIGHT ARROW;;;; 2198;SOUTH EAST ARROW;So;0;ON;;;;;N;LOWER RIGHT ARROW;;;; 2199;SOUTH WEST ARROW;So;0;ON;;;;;N;LOWER LEFT ARROW;;;; 219A;LEFTWARDS ARROW WITH STROKE;Sm;0;ON;2190 0338;;;;N;LEFT ARROW WITH STROKE;;;; 219B;RIGHTWARDS ARROW WITH STROKE;Sm;0;ON;2192 0338;;;;N;RIGHT ARROW WITH STROKE;;;; 219C;LEFTWARDS WAVE ARROW;So;0;ON;;;;;N;LEFT WAVE ARROW;;;; 219D;RIGHTWARDS WAVE ARROW;So;0;ON;;;;;N;RIGHT WAVE ARROW;;;; 219E;LEFTWARDS TWO HEADED ARROW;So;0;ON;;;;;N;LEFT TWO HEADED ARROW;;;; 219F;UPWARDS TWO HEADED ARROW;So;0;ON;;;;;N;UP TWO HEADED ARROW;;;; 21A0;RIGHTWARDS TWO HEADED ARROW;Sm;0;ON;;;;;N;RIGHT TWO HEADED ARROW;;;; 21A1;DOWNWARDS TWO HEADED ARROW;So;0;ON;;;;;N;DOWN TWO HEADED ARROW;;;; 21A2;LEFTWARDS ARROW WITH TAIL;So;0;ON;;;;;N;LEFT ARROW WITH TAIL;;;; 21A3;RIGHTWARDS ARROW WITH TAIL;Sm;0;ON;;;;;N;RIGHT ARROW WITH TAIL;;;; 21A4;LEFTWARDS ARROW FROM BAR;So;0;ON;;;;;N;LEFT ARROW FROM BAR;;;; 21A5;UPWARDS ARROW FROM BAR;So;0;ON;;;;;N;UP ARROW FROM BAR;;;; 21A6;RIGHTWARDS ARROW FROM BAR;Sm;0;ON;;;;;N;RIGHT ARROW FROM BAR;;;; 21A7;DOWNWARDS ARROW FROM BAR;So;0;ON;;;;;N;DOWN ARROW FROM BAR;;;; 21A8;UP DOWN ARROW WITH BASE;So;0;ON;;;;;N;;;;; 21A9;LEFTWARDS ARROW WITH HOOK;So;0;ON;;;;;N;LEFT ARROW WITH HOOK;;;; 21AA;RIGHTWARDS ARROW WITH HOOK;So;0;ON;;;;;N;RIGHT ARROW WITH HOOK;;;; 21AB;LEFTWARDS ARROW WITH LOOP;So;0;ON;;;;;N;LEFT ARROW WITH LOOP;;;; 21AC;RIGHTWARDS ARROW WITH LOOP;So;0;ON;;;;;N;RIGHT ARROW WITH LOOP;;;; 21AD;LEFT RIGHT WAVE ARROW;So;0;ON;;;;;N;;;;; 21AE;LEFT RIGHT ARROW WITH STROKE;Sm;0;ON;2194 0338;;;;N;;;;; 21AF;DOWNWARDS ZIGZAG ARROW;So;0;ON;;;;;N;DOWN ZIGZAG ARROW;;;; 21B0;UPWARDS ARROW WITH TIP LEFTWARDS;So;0;ON;;;;;N;UP ARROW WITH TIP LEFT;;;; 21B1;UPWARDS ARROW WITH TIP RIGHTWARDS;So;0;ON;;;;;N;UP ARROW WITH TIP RIGHT;;;; 21B2;DOWNWARDS ARROW WITH TIP LEFTWARDS;So;0;ON;;;;;N;DOWN ARROW WITH TIP LEFT;;;; 21B3;DOWNWARDS ARROW WITH TIP RIGHTWARDS;So;0;ON;;;;;N;DOWN ARROW WITH TIP RIGHT;;;; 21B4;RIGHTWARDS ARROW WITH CORNER DOWNWARDS;So;0;ON;;;;;N;RIGHT ARROW WITH CORNER DOWN;;;; 21B5;DOWNWARDS ARROW WITH CORNER LEFTWARDS;So;0;ON;;;;;N;DOWN ARROW WITH CORNER LEFT;;;; 21B6;ANTICLOCKWISE TOP SEMICIRCLE ARROW;So;0;ON;;;;;N;;;;; 21B7;CLOCKWISE TOP SEMICIRCLE ARROW;So;0;ON;;;;;N;;;;; 21B8;NORTH WEST ARROW TO LONG BAR;So;0;ON;;;;;N;UPPER LEFT ARROW TO LONG BAR;;;; 21B9;LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR;So;0;ON;;;;;N;LEFT ARROW TO BAR OVER RIGHT ARROW TO BAR;;;; 21BA;ANTICLOCKWISE OPEN CIRCLE ARROW;So;0;ON;;;;;N;;;;; 21BB;CLOCKWISE OPEN CIRCLE ARROW;So;0;ON;;;;;N;;;;; 21BC;LEFTWARDS HARPOON WITH BARB UPWARDS;So;0;ON;;;;;N;LEFT HARPOON WITH BARB UP;;;; 21BD;LEFTWARDS HARPOON WITH BARB DOWNWARDS;So;0;ON;;;;;N;LEFT HARPOON WITH BARB DOWN;;;; 21BE;UPWARDS HARPOON WITH BARB RIGHTWARDS;So;0;ON;;;;;N;UP HARPOON WITH BARB RIGHT;;;; 21BF;UPWARDS HARPOON WITH BARB LEFTWARDS;So;0;ON;;;;;N;UP HARPOON WITH BARB LEFT;;;; 21C0;RIGHTWARDS HARPOON WITH BARB UPWARDS;So;0;ON;;;;;N;RIGHT HARPOON WITH BARB UP;;;; 21C1;RIGHTWARDS HARPOON WITH BARB DOWNWARDS;So;0;ON;;;;;N;RIGHT HARPOON WITH BARB DOWN;;;; 21C2;DOWNWARDS HARPOON WITH BARB RIGHTWARDS;So;0;ON;;;;;N;DOWN HARPOON WITH BARB RIGHT;;;; 21C3;DOWNWARDS HARPOON WITH BARB LEFTWARDS;So;0;ON;;;;;N;DOWN HARPOON WITH BARB LEFT;;;; 21C4;RIGHTWARDS ARROW OVER LEFTWARDS ARROW;So;0;ON;;;;;N;RIGHT ARROW OVER LEFT ARROW;;;; 21C5;UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW;So;0;ON;;;;;N;UP ARROW LEFT OF DOWN ARROW;;;; 21C6;LEFTWARDS ARROW OVER RIGHTWARDS ARROW;So;0;ON;;;;;N;LEFT ARROW OVER RIGHT ARROW;;;; 21C7;LEFTWARDS PAIRED ARROWS;So;0;ON;;;;;N;LEFT PAIRED ARROWS;;;; 21C8;UPWARDS PAIRED ARROWS;So;0;ON;;;;;N;UP PAIRED ARROWS;;;; 21C9;RIGHTWARDS PAIRED ARROWS;So;0;ON;;;;;N;RIGHT PAIRED ARROWS;;;; 21CA;DOWNWARDS PAIRED ARROWS;So;0;ON;;;;;N;DOWN PAIRED ARROWS;;;; 21CB;LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON;So;0;ON;;;;;N;LEFT HARPOON OVER RIGHT HARPOON;;;; 21CC;RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON;So;0;ON;;;;;N;RIGHT HARPOON OVER LEFT HARPOON;;;; 21CD;LEFTWARDS DOUBLE ARROW WITH STROKE;So;0;ON;21D0 0338;;;;N;LEFT DOUBLE ARROW WITH STROKE;;;; 21CE;LEFT RIGHT DOUBLE ARROW WITH STROKE;Sm;0;ON;21D4 0338;;;;N;;;;; 21CF;RIGHTWARDS DOUBLE ARROW WITH STROKE;Sm;0;ON;21D2 0338;;;;N;RIGHT DOUBLE ARROW WITH STROKE;;;; 21D0;LEFTWARDS DOUBLE ARROW;So;0;ON;;;;;N;LEFT DOUBLE ARROW;;;; 21D1;UPWARDS DOUBLE ARROW;So;0;ON;;;;;N;UP DOUBLE ARROW;;;; 21D2;RIGHTWARDS DOUBLE ARROW;Sm;0;ON;;;;;N;RIGHT DOUBLE ARROW;;;; 21D3;DOWNWARDS DOUBLE ARROW;So;0;ON;;;;;N;DOWN DOUBLE ARROW;;;; 21D4;LEFT RIGHT DOUBLE ARROW;Sm;0;ON;;;;;N;;;;; 21D5;UP DOWN DOUBLE ARROW;So;0;ON;;;;;N;;;;; 21D6;NORTH WEST DOUBLE ARROW;So;0;ON;;;;;N;UPPER LEFT DOUBLE ARROW;;;; 21D7;NORTH EAST DOUBLE ARROW;So;0;ON;;;;;N;UPPER RIGHT DOUBLE ARROW;;;; 21D8;SOUTH EAST DOUBLE ARROW;So;0;ON;;;;;N;LOWER RIGHT DOUBLE ARROW;;;; 21D9;SOUTH WEST DOUBLE ARROW;So;0;ON;;;;;N;LOWER LEFT DOUBLE ARROW;;;; 21DA;LEFTWARDS TRIPLE ARROW;So;0;ON;;;;;N;LEFT TRIPLE ARROW;;;; 21DB;RIGHTWARDS TRIPLE ARROW;So;0;ON;;;;;N;RIGHT TRIPLE ARROW;;;; 21DC;LEFTWARDS SQUIGGLE ARROW;So;0;ON;;;;;N;LEFT SQUIGGLE ARROW;;;; 21DD;RIGHTWARDS SQUIGGLE ARROW;So;0;ON;;;;;N;RIGHT SQUIGGLE ARROW;;;; 21DE;UPWARDS ARROW WITH DOUBLE STROKE;So;0;ON;;;;;N;UP ARROW WITH DOUBLE STROKE;;;; 21DF;DOWNWARDS ARROW WITH DOUBLE STROKE;So;0;ON;;;;;N;DOWN ARROW WITH DOUBLE STROKE;;;; 21E0;LEFTWARDS DASHED ARROW;So;0;ON;;;;;N;LEFT DASHED ARROW;;;; 21E1;UPWARDS DASHED ARROW;So;0;ON;;;;;N;UP DASHED ARROW;;;; 21E2;RIGHTWARDS DASHED ARROW;So;0;ON;;;;;N;RIGHT DASHED ARROW;;;; 21E3;DOWNWARDS DASHED ARROW;So;0;ON;;;;;N;DOWN DASHED ARROW;;;; 21E4;LEFTWARDS ARROW TO BAR;So;0;ON;;;;;N;LEFT ARROW TO BAR;;;; 21E5;RIGHTWARDS ARROW TO BAR;So;0;ON;;;;;N;RIGHT ARROW TO BAR;;;; 21E6;LEFTWARDS WHITE ARROW;So;0;ON;;;;;N;WHITE LEFT ARROW;;;; 21E7;UPWARDS WHITE ARROW;So;0;ON;;;;;N;WHITE UP ARROW;;;; 21E8;RIGHTWARDS WHITE ARROW;So;0;ON;;;;;N;WHITE RIGHT ARROW;;;; 21E9;DOWNWARDS WHITE ARROW;So;0;ON;;;;;N;WHITE DOWN ARROW;;;; 21EA;UPWARDS WHITE ARROW FROM BAR;So;0;ON;;;;;N;WHITE UP ARROW FROM BAR;;;; 21EB;UPWARDS WHITE ARROW ON PEDESTAL;So;0;ON;;;;;N;;;;; 21EC;UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR;So;0;ON;;;;;N;;;;; 21ED;UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR;So;0;ON;;;;;N;;;;; 21EE;UPWARDS WHITE DOUBLE ARROW;So;0;ON;;;;;N;;;;; 21EF;UPWARDS WHITE DOUBLE ARROW ON PEDESTAL;So;0;ON;;;;;N;;;;; 21F0;RIGHTWARDS WHITE ARROW FROM WALL;So;0;ON;;;;;N;;;;; 21F1;NORTH WEST ARROW TO CORNER;So;0;ON;;;;;N;;;;; 21F2;SOUTH EAST ARROW TO CORNER;So;0;ON;;;;;N;;;;; 21F3;UP DOWN WHITE ARROW;So;0;ON;;;;;N;;;;; 21F4;RIGHT ARROW WITH SMALL CIRCLE;Sm;0;ON;;;;;N;;;;; 21F5;DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW;Sm;0;ON;;;;;N;;;;; 21F6;THREE RIGHTWARDS ARROWS;Sm;0;ON;;;;;N;;;;; 21F7;LEFTWARDS ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; 21F8;RIGHTWARDS ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; 21F9;LEFT RIGHT ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; 21FA;LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; 21FB;RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; 21FC;LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; 21FD;LEFTWARDS OPEN-HEADED ARROW;Sm;0;ON;;;;;N;;;;; 21FE;RIGHTWARDS OPEN-HEADED ARROW;Sm;0;ON;;;;;N;;;;; 21FF;LEFT RIGHT OPEN-HEADED ARROW;Sm;0;ON;;;;;N;;;;; 2200;FOR ALL;Sm;0;ON;;;;;N;;;;; 2201;COMPLEMENT;Sm;0;ON;;;;;Y;;;;; 2202;PARTIAL DIFFERENTIAL;Sm;0;ON;;;;;Y;;;;; 2203;THERE EXISTS;Sm;0;ON;;;;;Y;;;;; 2204;THERE DOES NOT EXIST;Sm;0;ON;2203 0338;;;;Y;;;;; 2205;EMPTY SET;Sm;0;ON;;;;;N;;;;; 2206;INCREMENT;Sm;0;ON;;;;;N;;;;; 2207;NABLA;Sm;0;ON;;;;;N;;;;; 2208;ELEMENT OF;Sm;0;ON;;;;;Y;;;;; 2209;NOT AN ELEMENT OF;Sm;0;ON;2208 0338;;;;Y;;;;; 220A;SMALL ELEMENT OF;Sm;0;ON;;;;;Y;;;;; 220B;CONTAINS AS MEMBER;Sm;0;ON;;;;;Y;;;;; 220C;DOES NOT CONTAIN AS MEMBER;Sm;0;ON;220B 0338;;;;Y;;;;; 220D;SMALL CONTAINS AS MEMBER;Sm;0;ON;;;;;Y;;;;; 220E;END OF PROOF;Sm;0;ON;;;;;N;;;;; 220F;N-ARY PRODUCT;Sm;0;ON;;;;;N;;;;; 2210;N-ARY COPRODUCT;Sm;0;ON;;;;;N;;;;; 2211;N-ARY SUMMATION;Sm;0;ON;;;;;Y;;;;; 2212;MINUS SIGN;Sm;0;ET;;;;;N;;;;; 2213;MINUS-OR-PLUS SIGN;Sm;0;ET;;;;;N;;;;; 2214;DOT PLUS;Sm;0;ON;;;;;N;;;;; 2215;DIVISION SLASH;Sm;0;ON;;;;;Y;;;;; 2216;SET MINUS;Sm;0;ON;;;;;Y;;;;; 2217;ASTERISK OPERATOR;Sm;0;ON;;;;;N;;;;; 2218;RING OPERATOR;Sm;0;ON;;;;;N;;;;; 2219;BULLET OPERATOR;Sm;0;ON;;;;;N;;;;; 221A;SQUARE ROOT;Sm;0;ON;;;;;Y;;;;; 221B;CUBE ROOT;Sm;0;ON;;;;;Y;;;;; 221C;FOURTH ROOT;Sm;0;ON;;;;;Y;;;;; 221D;PROPORTIONAL TO;Sm;0;ON;;;;;Y;;;;; 221E;INFINITY;Sm;0;ON;;;;;N;;;;; 221F;RIGHT ANGLE;Sm;0;ON;;;;;Y;;;;; 2220;ANGLE;Sm;0;ON;;;;;Y;;;;; 2221;MEASURED ANGLE;Sm;0;ON;;;;;Y;;;;; 2222;SPHERICAL ANGLE;Sm;0;ON;;;;;Y;;;;; 2223;DIVIDES;Sm;0;ON;;;;;N;;;;; 2224;DOES NOT DIVIDE;Sm;0;ON;2223 0338;;;;Y;;;;; 2225;PARALLEL TO;Sm;0;ON;;;;;N;;;;; 2226;NOT PARALLEL TO;Sm;0;ON;2225 0338;;;;Y;;;;; 2227;LOGICAL AND;Sm;0;ON;;;;;N;;;;; 2228;LOGICAL OR;Sm;0;ON;;;;;N;;;;; 2229;INTERSECTION;Sm;0;ON;;;;;N;;;;; 222A;UNION;Sm;0;ON;;;;;N;;;;; 222B;INTEGRAL;Sm;0;ON;;;;;Y;;;;; 222C;DOUBLE INTEGRAL;Sm;0;ON; 222B 222B;;;;Y;;;;; 222D;TRIPLE INTEGRAL;Sm;0;ON; 222B 222B 222B;;;;Y;;;;; 222E;CONTOUR INTEGRAL;Sm;0;ON;;;;;Y;;;;; 222F;SURFACE INTEGRAL;Sm;0;ON; 222E 222E;;;;Y;;;;; 2230;VOLUME INTEGRAL;Sm;0;ON; 222E 222E 222E;;;;Y;;;;; 2231;CLOCKWISE INTEGRAL;Sm;0;ON;;;;;Y;;;;; 2232;CLOCKWISE CONTOUR INTEGRAL;Sm;0;ON;;;;;Y;;;;; 2233;ANTICLOCKWISE CONTOUR INTEGRAL;Sm;0;ON;;;;;Y;;;;; 2234;THEREFORE;Sm;0;ON;;;;;N;;;;; 2235;BECAUSE;Sm;0;ON;;;;;N;;;;; 2236;RATIO;Sm;0;ON;;;;;N;;;;; 2237;PROPORTION;Sm;0;ON;;;;;N;;;;; 2238;DOT MINUS;Sm;0;ON;;;;;N;;;;; 2239;EXCESS;Sm;0;ON;;;;;Y;;;;; 223A;GEOMETRIC PROPORTION;Sm;0;ON;;;;;N;;;;; 223B;HOMOTHETIC;Sm;0;ON;;;;;Y;;;;; 223C;TILDE OPERATOR;Sm;0;ON;;;;;Y;;;;; 223D;REVERSED TILDE;Sm;0;ON;;;;;Y;;lazy S;;; 223E;INVERTED LAZY S;Sm;0;ON;;;;;Y;;;;; 223F;SINE WAVE;Sm;0;ON;;;;;Y;;;;; 2240;WREATH PRODUCT;Sm;0;ON;;;;;Y;;;;; 2241;NOT TILDE;Sm;0;ON;223C 0338;;;;Y;;;;; 2242;MINUS TILDE;Sm;0;ON;;;;;Y;;;;; 2243;ASYMPTOTICALLY EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2244;NOT ASYMPTOTICALLY EQUAL TO;Sm;0;ON;2243 0338;;;;Y;;;;; 2245;APPROXIMATELY EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2246;APPROXIMATELY BUT NOT ACTUALLY EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2247;NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO;Sm;0;ON;2245 0338;;;;Y;;;;; 2248;ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2249;NOT ALMOST EQUAL TO;Sm;0;ON;2248 0338;;;;Y;;;;; 224A;ALMOST EQUAL OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 224B;TRIPLE TILDE;Sm;0;ON;;;;;Y;;;;; 224C;ALL EQUAL TO;Sm;0;ON;;;;;Y;;;;; 224D;EQUIVALENT TO;Sm;0;ON;;;;;N;;;;; 224E;GEOMETRICALLY EQUIVALENT TO;Sm;0;ON;;;;;N;;;;; 224F;DIFFERENCE BETWEEN;Sm;0;ON;;;;;N;;;;; 2250;APPROACHES THE LIMIT;Sm;0;ON;;;;;N;;;;; 2251;GEOMETRICALLY EQUAL TO;Sm;0;ON;;;;;N;;;;; 2252;APPROXIMATELY EQUAL TO OR THE IMAGE OF;Sm;0;ON;;;;;Y;;;;; 2253;IMAGE OF OR APPROXIMATELY EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2254;COLON EQUALS;Sm;0;ON;;;;;Y;COLON EQUAL;;;; 2255;EQUALS COLON;Sm;0;ON;;;;;Y;EQUAL COLON;;;; 2256;RING IN EQUAL TO;Sm;0;ON;;;;;N;;;;; 2257;RING EQUAL TO;Sm;0;ON;;;;;N;;;;; 2258;CORRESPONDS TO;Sm;0;ON;;;;;N;;;;; 2259;ESTIMATES;Sm;0;ON;;;;;N;;;;; 225A;EQUIANGULAR TO;Sm;0;ON;;;;;N;;;;; 225B;STAR EQUALS;Sm;0;ON;;;;;N;;;;; 225C;DELTA EQUAL TO;Sm;0;ON;;;;;N;;;;; 225D;EQUAL TO BY DEFINITION;Sm;0;ON;;;;;N;;;;; 225E;MEASURED BY;Sm;0;ON;;;;;N;;;;; 225F;QUESTIONED EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2260;NOT EQUAL TO;Sm;0;ON;003D 0338;;;;Y;;;;; 2261;IDENTICAL TO;Sm;0;ON;;;;;N;;;;; 2262;NOT IDENTICAL TO;Sm;0;ON;2261 0338;;;;Y;;;;; 2263;STRICTLY EQUIVALENT TO;Sm;0;ON;;;;;N;;;;; 2264;LESS-THAN OR EQUAL TO;Sm;0;ON;;;;;Y;LESS THAN OR EQUAL TO;;;; 2265;GREATER-THAN OR EQUAL TO;Sm;0;ON;;;;;Y;GREATER THAN OR EQUAL TO;;;; 2266;LESS-THAN OVER EQUAL TO;Sm;0;ON;;;;;Y;LESS THAN OVER EQUAL TO;;;; 2267;GREATER-THAN OVER EQUAL TO;Sm;0;ON;;;;;Y;GREATER THAN OVER EQUAL TO;;;; 2268;LESS-THAN BUT NOT EQUAL TO;Sm;0;ON;;;;;Y;LESS THAN BUT NOT EQUAL TO;;;; 2269;GREATER-THAN BUT NOT EQUAL TO;Sm;0;ON;;;;;Y;GREATER THAN BUT NOT EQUAL TO;;;; 226A;MUCH LESS-THAN;Sm;0;ON;;;;;Y;MUCH LESS THAN;;;; 226B;MUCH GREATER-THAN;Sm;0;ON;;;;;Y;MUCH GREATER THAN;;;; 226C;BETWEEN;Sm;0;ON;;;;;N;;;;; 226D;NOT EQUIVALENT TO;Sm;0;ON;224D 0338;;;;N;;;;; 226E;NOT LESS-THAN;Sm;0;ON;003C 0338;;;;Y;NOT LESS THAN;;;; 226F;NOT GREATER-THAN;Sm;0;ON;003E 0338;;;;Y;NOT GREATER THAN;;;; 2270;NEITHER LESS-THAN NOR EQUAL TO;Sm;0;ON;2264 0338;;;;Y;NEITHER LESS THAN NOR EQUAL TO;;;; 2271;NEITHER GREATER-THAN NOR EQUAL TO;Sm;0;ON;2265 0338;;;;Y;NEITHER GREATER THAN NOR EQUAL TO;;;; 2272;LESS-THAN OR EQUIVALENT TO;Sm;0;ON;;;;;Y;LESS THAN OR EQUIVALENT TO;;;; 2273;GREATER-THAN OR EQUIVALENT TO;Sm;0;ON;;;;;Y;GREATER THAN OR EQUIVALENT TO;;;; 2274;NEITHER LESS-THAN NOR EQUIVALENT TO;Sm;0;ON;2272 0338;;;;Y;NEITHER LESS THAN NOR EQUIVALENT TO;;;; 2275;NEITHER GREATER-THAN NOR EQUIVALENT TO;Sm;0;ON;2273 0338;;;;Y;NEITHER GREATER THAN NOR EQUIVALENT TO;;;; 2276;LESS-THAN OR GREATER-THAN;Sm;0;ON;;;;;Y;LESS THAN OR GREATER THAN;;;; 2277;GREATER-THAN OR LESS-THAN;Sm;0;ON;;;;;Y;GREATER THAN OR LESS THAN;;;; 2278;NEITHER LESS-THAN NOR GREATER-THAN;Sm;0;ON;2276 0338;;;;Y;NEITHER LESS THAN NOR GREATER THAN;;;; 2279;NEITHER GREATER-THAN NOR LESS-THAN;Sm;0;ON;2277 0338;;;;Y;NEITHER GREATER THAN NOR LESS THAN;;;; 227A;PRECEDES;Sm;0;ON;;;;;Y;;;;; 227B;SUCCEEDS;Sm;0;ON;;;;;Y;;;;; 227C;PRECEDES OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 227D;SUCCEEDS OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 227E;PRECEDES OR EQUIVALENT TO;Sm;0;ON;;;;;Y;;;;; 227F;SUCCEEDS OR EQUIVALENT TO;Sm;0;ON;;;;;Y;;;;; 2280;DOES NOT PRECEDE;Sm;0;ON;227A 0338;;;;Y;;;;; 2281;DOES NOT SUCCEED;Sm;0;ON;227B 0338;;;;Y;;;;; 2282;SUBSET OF;Sm;0;ON;;;;;Y;;;;; 2283;SUPERSET OF;Sm;0;ON;;;;;Y;;;;; 2284;NOT A SUBSET OF;Sm;0;ON;2282 0338;;;;Y;;;;; 2285;NOT A SUPERSET OF;Sm;0;ON;2283 0338;;;;Y;;;;; 2286;SUBSET OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2287;SUPERSET OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2288;NEITHER A SUBSET OF NOR EQUAL TO;Sm;0;ON;2286 0338;;;;Y;;;;; 2289;NEITHER A SUPERSET OF NOR EQUAL TO;Sm;0;ON;2287 0338;;;;Y;;;;; 228A;SUBSET OF WITH NOT EQUAL TO;Sm;0;ON;;;;;Y;SUBSET OF OR NOT EQUAL TO;;;; 228B;SUPERSET OF WITH NOT EQUAL TO;Sm;0;ON;;;;;Y;SUPERSET OF OR NOT EQUAL TO;;;; 228C;MULTISET;Sm;0;ON;;;;;Y;;;;; 228D;MULTISET MULTIPLICATION;Sm;0;ON;;;;;N;;;;; 228E;MULTISET UNION;Sm;0;ON;;;;;N;;;;; 228F;SQUARE IMAGE OF;Sm;0;ON;;;;;Y;;;;; 2290;SQUARE ORIGINAL OF;Sm;0;ON;;;;;Y;;;;; 2291;SQUARE IMAGE OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2292;SQUARE ORIGINAL OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2293;SQUARE CAP;Sm;0;ON;;;;;N;;;;; 2294;SQUARE CUP;Sm;0;ON;;;;;N;;;;; 2295;CIRCLED PLUS;Sm;0;ON;;;;;N;;;;; 2296;CIRCLED MINUS;Sm;0;ON;;;;;N;;;;; 2297;CIRCLED TIMES;Sm;0;ON;;;;;N;;;;; 2298;CIRCLED DIVISION SLASH;Sm;0;ON;;;;;Y;;;;; 2299;CIRCLED DOT OPERATOR;Sm;0;ON;;;;;N;;;;; 229A;CIRCLED RING OPERATOR;Sm;0;ON;;;;;N;;;;; 229B;CIRCLED ASTERISK OPERATOR;Sm;0;ON;;;;;N;;;;; 229C;CIRCLED EQUALS;Sm;0;ON;;;;;N;;;;; 229D;CIRCLED DASH;Sm;0;ON;;;;;N;;;;; 229E;SQUARED PLUS;Sm;0;ON;;;;;N;;;;; 229F;SQUARED MINUS;Sm;0;ON;;;;;N;;;;; 22A0;SQUARED TIMES;Sm;0;ON;;;;;N;;;;; 22A1;SQUARED DOT OPERATOR;Sm;0;ON;;;;;N;;;;; 22A2;RIGHT TACK;Sm;0;ON;;;;;Y;;;;; 22A3;LEFT TACK;Sm;0;ON;;;;;Y;;;;; 22A4;DOWN TACK;Sm;0;ON;;;;;N;;;;; 22A5;UP TACK;Sm;0;ON;;;;;N;;;;; 22A6;ASSERTION;Sm;0;ON;;;;;Y;;;;; 22A7;MODELS;Sm;0;ON;;;;;Y;;;;; 22A8;TRUE;Sm;0;ON;;;;;Y;;;;; 22A9;FORCES;Sm;0;ON;;;;;Y;;;;; 22AA;TRIPLE VERTICAL BAR RIGHT TURNSTILE;Sm;0;ON;;;;;Y;;;;; 22AB;DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE;Sm;0;ON;;;;;Y;;;;; 22AC;DOES NOT PROVE;Sm;0;ON;22A2 0338;;;;Y;;;;; 22AD;NOT TRUE;Sm;0;ON;22A8 0338;;;;Y;;;;; 22AE;DOES NOT FORCE;Sm;0;ON;22A9 0338;;;;Y;;;;; 22AF;NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE;Sm;0;ON;22AB 0338;;;;Y;;;;; 22B0;PRECEDES UNDER RELATION;Sm;0;ON;;;;;Y;;;;; 22B1;SUCCEEDS UNDER RELATION;Sm;0;ON;;;;;Y;;;;; 22B2;NORMAL SUBGROUP OF;Sm;0;ON;;;;;Y;;;;; 22B3;CONTAINS AS NORMAL SUBGROUP;Sm;0;ON;;;;;Y;;;;; 22B4;NORMAL SUBGROUP OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 22B5;CONTAINS AS NORMAL SUBGROUP OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 22B6;ORIGINAL OF;Sm;0;ON;;;;;Y;;;;; 22B7;IMAGE OF;Sm;0;ON;;;;;Y;;;;; 22B8;MULTIMAP;Sm;0;ON;;;;;Y;;;;; 22B9;HERMITIAN CONJUGATE MATRIX;Sm;0;ON;;;;;N;;;;; 22BA;INTERCALATE;Sm;0;ON;;;;;N;;;;; 22BB;XOR;Sm;0;ON;;;;;N;;;;; 22BC;NAND;Sm;0;ON;;;;;N;;;;; 22BD;NOR;Sm;0;ON;;;;;N;;;;; 22BE;RIGHT ANGLE WITH ARC;Sm;0;ON;;;;;Y;;;;; 22BF;RIGHT TRIANGLE;Sm;0;ON;;;;;Y;;;;; 22C0;N-ARY LOGICAL AND;Sm;0;ON;;;;;N;;;;; 22C1;N-ARY LOGICAL OR;Sm;0;ON;;;;;N;;;;; 22C2;N-ARY INTERSECTION;Sm;0;ON;;;;;N;;;;; 22C3;N-ARY UNION;Sm;0;ON;;;;;N;;;;; 22C4;DIAMOND OPERATOR;Sm;0;ON;;;;;N;;;;; 22C5;DOT OPERATOR;Sm;0;ON;;;;;N;;;;; 22C6;STAR OPERATOR;Sm;0;ON;;;;;N;;;;; 22C7;DIVISION TIMES;Sm;0;ON;;;;;N;;;;; 22C8;BOWTIE;Sm;0;ON;;;;;N;;;;; 22C9;LEFT NORMAL FACTOR SEMIDIRECT PRODUCT;Sm;0;ON;;;;;Y;;;;; 22CA;RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT;Sm;0;ON;;;;;Y;;;;; 22CB;LEFT SEMIDIRECT PRODUCT;Sm;0;ON;;;;;Y;;;;; 22CC;RIGHT SEMIDIRECT PRODUCT;Sm;0;ON;;;;;Y;;;;; 22CD;REVERSED TILDE EQUALS;Sm;0;ON;;;;;Y;;;;; 22CE;CURLY LOGICAL OR;Sm;0;ON;;;;;N;;;;; 22CF;CURLY LOGICAL AND;Sm;0;ON;;;;;N;;;;; 22D0;DOUBLE SUBSET;Sm;0;ON;;;;;Y;;;;; 22D1;DOUBLE SUPERSET;Sm;0;ON;;;;;Y;;;;; 22D2;DOUBLE INTERSECTION;Sm;0;ON;;;;;N;;;;; 22D3;DOUBLE UNION;Sm;0;ON;;;;;N;;;;; 22D4;PITCHFORK;Sm;0;ON;;;;;N;;;;; 22D5;EQUAL AND PARALLEL TO;Sm;0;ON;;;;;N;;;;; 22D6;LESS-THAN WITH DOT;Sm;0;ON;;;;;Y;LESS THAN WITH DOT;;;; 22D7;GREATER-THAN WITH DOT;Sm;0;ON;;;;;Y;GREATER THAN WITH DOT;;;; 22D8;VERY MUCH LESS-THAN;Sm;0;ON;;;;;Y;VERY MUCH LESS THAN;;;; 22D9;VERY MUCH GREATER-THAN;Sm;0;ON;;;;;Y;VERY MUCH GREATER THAN;;;; 22DA;LESS-THAN EQUAL TO OR GREATER-THAN;Sm;0;ON;;;;;Y;LESS THAN EQUAL TO OR GREATER THAN;;;; 22DB;GREATER-THAN EQUAL TO OR LESS-THAN;Sm;0;ON;;;;;Y;GREATER THAN EQUAL TO OR LESS THAN;;;; 22DC;EQUAL TO OR LESS-THAN;Sm;0;ON;;;;;Y;EQUAL TO OR LESS THAN;;;; 22DD;EQUAL TO OR GREATER-THAN;Sm;0;ON;;;;;Y;EQUAL TO OR GREATER THAN;;;; 22DE;EQUAL TO OR PRECEDES;Sm;0;ON;;;;;Y;;;;; 22DF;EQUAL TO OR SUCCEEDS;Sm;0;ON;;;;;Y;;;;; 22E0;DOES NOT PRECEDE OR EQUAL;Sm;0;ON;227C 0338;;;;Y;;;;; 22E1;DOES NOT SUCCEED OR EQUAL;Sm;0;ON;227D 0338;;;;Y;;;;; 22E2;NOT SQUARE IMAGE OF OR EQUAL TO;Sm;0;ON;2291 0338;;;;Y;;;;; 22E3;NOT SQUARE ORIGINAL OF OR EQUAL TO;Sm;0;ON;2292 0338;;;;Y;;;;; 22E4;SQUARE IMAGE OF OR NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; 22E5;SQUARE ORIGINAL OF OR NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; 22E6;LESS-THAN BUT NOT EQUIVALENT TO;Sm;0;ON;;;;;Y;LESS THAN BUT NOT EQUIVALENT TO;;;; 22E7;GREATER-THAN BUT NOT EQUIVALENT TO;Sm;0;ON;;;;;Y;GREATER THAN BUT NOT EQUIVALENT TO;;;; 22E8;PRECEDES BUT NOT EQUIVALENT TO;Sm;0;ON;;;;;Y;;;;; 22E9;SUCCEEDS BUT NOT EQUIVALENT TO;Sm;0;ON;;;;;Y;;;;; 22EA;NOT NORMAL SUBGROUP OF;Sm;0;ON;22B2 0338;;;;Y;;;;; 22EB;DOES NOT CONTAIN AS NORMAL SUBGROUP;Sm;0;ON;22B3 0338;;;;Y;;;;; 22EC;NOT NORMAL SUBGROUP OF OR EQUAL TO;Sm;0;ON;22B4 0338;;;;Y;;;;; 22ED;DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL;Sm;0;ON;22B5 0338;;;;Y;;;;; 22EE;VERTICAL ELLIPSIS;Sm;0;ON;;;;;N;;;;; 22EF;MIDLINE HORIZONTAL ELLIPSIS;Sm;0;ON;;;;;N;;;;; 22F0;UP RIGHT DIAGONAL ELLIPSIS;Sm;0;ON;;;;;Y;;;;; 22F1;DOWN RIGHT DIAGONAL ELLIPSIS;Sm;0;ON;;;;;Y;;;;; 22F2;ELEMENT OF WITH LONG HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;; 22F3;ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;; 22F4;SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;; 22F5;ELEMENT OF WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;; 22F6;ELEMENT OF WITH OVERBAR;Sm;0;ON;;;;;Y;;;;; 22F7;SMALL ELEMENT OF WITH OVERBAR;Sm;0;ON;;;;;Y;;;;; 22F8;ELEMENT OF WITH UNDERBAR;Sm;0;ON;;;;;Y;;;;; 22F9;ELEMENT OF WITH TWO HORIZONTAL STROKES;Sm;0;ON;;;;;Y;;;;; 22FA;CONTAINS WITH LONG HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;; 22FB;CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;; 22FC;SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;; 22FD;CONTAINS WITH OVERBAR;Sm;0;ON;;;;;Y;;;;; 22FE;SMALL CONTAINS WITH OVERBAR;Sm;0;ON;;;;;Y;;;;; 22FF;Z NOTATION BAG MEMBERSHIP;Sm;0;ON;;;;;Y;;;;; 2300;DIAMETER SIGN;So;0;ON;;;;;N;;;;; 2301;ELECTRIC ARROW;So;0;ON;;;;;N;;;;; 2302;HOUSE;So;0;ON;;;;;N;;;;; 2303;UP ARROWHEAD;So;0;ON;;;;;N;;;;; 2304;DOWN ARROWHEAD;So;0;ON;;;;;N;;;;; 2305;PROJECTIVE;So;0;ON;;;;;N;;;;; 2306;PERSPECTIVE;So;0;ON;;;;;N;;;;; 2307;WAVY LINE;So;0;ON;;;;;N;;;;; 2308;LEFT CEILING;Sm;0;ON;;;;;Y;;;;; 2309;RIGHT CEILING;Sm;0;ON;;;;;Y;;;;; 230A;LEFT FLOOR;Sm;0;ON;;;;;Y;;;;; 230B;RIGHT FLOOR;Sm;0;ON;;;;;Y;;;;; 230C;BOTTOM RIGHT CROP;So;0;ON;;;;;N;;;;; 230D;BOTTOM LEFT CROP;So;0;ON;;;;;N;;;;; 230E;TOP RIGHT CROP;So;0;ON;;;;;N;;;;; 230F;TOP LEFT CROP;So;0;ON;;;;;N;;;;; 2310;REVERSED NOT SIGN;So;0;ON;;;;;N;;;;; 2311;SQUARE LOZENGE;So;0;ON;;;;;N;;;;; 2312;ARC;So;0;ON;;;;;N;;;;; 2313;SEGMENT;So;0;ON;;;;;N;;;;; 2314;SECTOR;So;0;ON;;;;;N;;;;; 2315;TELEPHONE RECORDER;So;0;ON;;;;;N;;;;; 2316;POSITION INDICATOR;So;0;ON;;;;;N;;;;; 2317;VIEWDATA SQUARE;So;0;ON;;;;;N;;;;; 2318;PLACE OF INTEREST SIGN;So;0;ON;;;;;N;COMMAND KEY;;;; 2319;TURNED NOT SIGN;So;0;ON;;;;;N;;;;; 231A;WATCH;So;0;ON;;;;;N;;;;; 231B;HOURGLASS;So;0;ON;;;;;N;;;;; 231C;TOP LEFT CORNER;So;0;ON;;;;;N;;;;; 231D;TOP RIGHT CORNER;So;0;ON;;;;;N;;;;; 231E;BOTTOM LEFT CORNER;So;0;ON;;;;;N;;;;; 231F;BOTTOM RIGHT CORNER;So;0;ON;;;;;N;;;;; 2320;TOP HALF INTEGRAL;Sm;0;ON;;;;;Y;;;;; 2321;BOTTOM HALF INTEGRAL;Sm;0;ON;;;;;Y;;;;; 2322;FROWN;So;0;ON;;;;;N;;;;; 2323;SMILE;So;0;ON;;;;;N;;;;; 2324;UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS;So;0;ON;;;;;N;ENTER KEY;;;; 2325;OPTION KEY;So;0;ON;;;;;N;;;;; 2326;ERASE TO THE RIGHT;So;0;ON;;;;;N;DELETE TO THE RIGHT KEY;;;; 2327;X IN A RECTANGLE BOX;So;0;ON;;;;;N;CLEAR KEY;;;; 2328;KEYBOARD;So;0;ON;;;;;N;;;;; 2329;LEFT-POINTING ANGLE BRACKET;Ps;0;ON;3008;;;;Y;BRA;;;; 232A;RIGHT-POINTING ANGLE BRACKET;Pe;0;ON;3009;;;;Y;KET;;;; 232B;ERASE TO THE LEFT;So;0;ON;;;;;N;DELETE TO THE LEFT KEY;;;; 232C;BENZENE RING;So;0;ON;;;;;N;;;;; 232D;CYLINDRICITY;So;0;ON;;;;;N;;;;; 232E;ALL AROUND-PROFILE;So;0;ON;;;;;N;;;;; 232F;SYMMETRY;So;0;ON;;;;;N;;;;; 2330;TOTAL RUNOUT;So;0;ON;;;;;N;;;;; 2331;DIMENSION ORIGIN;So;0;ON;;;;;N;;;;; 2332;CONICAL TAPER;So;0;ON;;;;;N;;;;; 2333;SLOPE;So;0;ON;;;;;N;;;;; 2334;COUNTERBORE;So;0;ON;;;;;N;;;;; 2335;COUNTERSINK;So;0;ON;;;;;N;;;;; 2336;APL FUNCTIONAL SYMBOL I-BEAM;So;0;L;;;;;N;;;;; 2337;APL FUNCTIONAL SYMBOL SQUISH QUAD;So;0;L;;;;;N;;;;; 2338;APL FUNCTIONAL SYMBOL QUAD EQUAL;So;0;L;;;;;N;;;;; 2339;APL FUNCTIONAL SYMBOL QUAD DIVIDE;So;0;L;;;;;N;;;;; 233A;APL FUNCTIONAL SYMBOL QUAD DIAMOND;So;0;L;;;;;N;;;;; 233B;APL FUNCTIONAL SYMBOL QUAD JOT;So;0;L;;;;;N;;;;; 233C;APL FUNCTIONAL SYMBOL QUAD CIRCLE;So;0;L;;;;;N;;;;; 233D;APL FUNCTIONAL SYMBOL CIRCLE STILE;So;0;L;;;;;N;;;;; 233E;APL FUNCTIONAL SYMBOL CIRCLE JOT;So;0;L;;;;;N;;;;; 233F;APL FUNCTIONAL SYMBOL SLASH BAR;So;0;L;;;;;N;;;;; 2340;APL FUNCTIONAL SYMBOL BACKSLASH BAR;So;0;L;;;;;N;;;;; 2341;APL FUNCTIONAL SYMBOL QUAD SLASH;So;0;L;;;;;N;;;;; 2342;APL FUNCTIONAL SYMBOL QUAD BACKSLASH;So;0;L;;;;;N;;;;; 2343;APL FUNCTIONAL SYMBOL QUAD LESS-THAN;So;0;L;;;;;N;;;;; 2344;APL FUNCTIONAL SYMBOL QUAD GREATER-THAN;So;0;L;;;;;N;;;;; 2345;APL FUNCTIONAL SYMBOL LEFTWARDS VANE;So;0;L;;;;;N;;;;; 2346;APL FUNCTIONAL SYMBOL RIGHTWARDS VANE;So;0;L;;;;;N;;;;; 2347;APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW;So;0;L;;;;;N;;;;; 2348;APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW;So;0;L;;;;;N;;;;; 2349;APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH;So;0;L;;;;;N;;;;; 234A;APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR;So;0;L;;;;;N;;*;;; 234B;APL FUNCTIONAL SYMBOL DELTA STILE;So;0;L;;;;;N;;;;; 234C;APL FUNCTIONAL SYMBOL QUAD DOWN CARET;So;0;L;;;;;N;;;;; 234D;APL FUNCTIONAL SYMBOL QUAD DELTA;So;0;L;;;;;N;;;;; 234E;APL FUNCTIONAL SYMBOL DOWN TACK JOT;So;0;L;;;;;N;;*;;; 234F;APL FUNCTIONAL SYMBOL UPWARDS VANE;So;0;L;;;;;N;;;;; 2350;APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW;So;0;L;;;;;N;;;;; 2351;APL FUNCTIONAL SYMBOL UP TACK OVERBAR;So;0;L;;;;;N;;*;;; 2352;APL FUNCTIONAL SYMBOL DEL STILE;So;0;L;;;;;N;;;;; 2353;APL FUNCTIONAL SYMBOL QUAD UP CARET;So;0;L;;;;;N;;;;; 2354;APL FUNCTIONAL SYMBOL QUAD DEL;So;0;L;;;;;N;;;;; 2355;APL FUNCTIONAL SYMBOL UP TACK JOT;So;0;L;;;;;N;;*;;; 2356;APL FUNCTIONAL SYMBOL DOWNWARDS VANE;So;0;L;;;;;N;;;;; 2357;APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW;So;0;L;;;;;N;;;;; 2358;APL FUNCTIONAL SYMBOL QUOTE UNDERBAR;So;0;L;;;;;N;;;;; 2359;APL FUNCTIONAL SYMBOL DELTA UNDERBAR;So;0;L;;;;;N;;;;; 235A;APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR;So;0;L;;;;;N;;;;; 235B;APL FUNCTIONAL SYMBOL JOT UNDERBAR;So;0;L;;;;;N;;;;; 235C;APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR;So;0;L;;;;;N;;;;; 235D;APL FUNCTIONAL SYMBOL UP SHOE JOT;So;0;L;;;;;N;;;;; 235E;APL FUNCTIONAL SYMBOL QUOTE QUAD;So;0;L;;;;;N;;;;; 235F;APL FUNCTIONAL SYMBOL CIRCLE STAR;So;0;L;;;;;N;;;;; 2360;APL FUNCTIONAL SYMBOL QUAD COLON;So;0;L;;;;;N;;;;; 2361;APL FUNCTIONAL SYMBOL UP TACK DIAERESIS;So;0;L;;;;;N;;*;;; 2362;APL FUNCTIONAL SYMBOL DEL DIAERESIS;So;0;L;;;;;N;;;;; 2363;APL FUNCTIONAL SYMBOL STAR DIAERESIS;So;0;L;;;;;N;;;;; 2364;APL FUNCTIONAL SYMBOL JOT DIAERESIS;So;0;L;;;;;N;;;;; 2365;APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS;So;0;L;;;;;N;;;;; 2366;APL FUNCTIONAL SYMBOL DOWN SHOE STILE;So;0;L;;;;;N;;;;; 2367;APL FUNCTIONAL SYMBOL LEFT SHOE STILE;So;0;L;;;;;N;;;;; 2368;APL FUNCTIONAL SYMBOL TILDE DIAERESIS;So;0;L;;;;;N;;;;; 2369;APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS;So;0;L;;;;;N;;;;; 236A;APL FUNCTIONAL SYMBOL COMMA BAR;So;0;L;;;;;N;;;;; 236B;APL FUNCTIONAL SYMBOL DEL TILDE;So;0;L;;;;;N;;;;; 236C;APL FUNCTIONAL SYMBOL ZILDE;So;0;L;;;;;N;;;;; 236D;APL FUNCTIONAL SYMBOL STILE TILDE;So;0;L;;;;;N;;;;; 236E;APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR;So;0;L;;;;;N;;;;; 236F;APL FUNCTIONAL SYMBOL QUAD NOT EQUAL;So;0;L;;;;;N;;;;; 2370;APL FUNCTIONAL SYMBOL QUAD QUESTION;So;0;L;;;;;N;;;;; 2371;APL FUNCTIONAL SYMBOL DOWN CARET TILDE;So;0;L;;;;;N;;;;; 2372;APL FUNCTIONAL SYMBOL UP CARET TILDE;So;0;L;;;;;N;;;;; 2373;APL FUNCTIONAL SYMBOL IOTA;So;0;L;;;;;N;;;;; 2374;APL FUNCTIONAL SYMBOL RHO;So;0;L;;;;;N;;;;; 2375;APL FUNCTIONAL SYMBOL OMEGA;So;0;L;;;;;N;;;;; 2376;APL FUNCTIONAL SYMBOL ALPHA UNDERBAR;So;0;L;;;;;N;;;;; 2377;APL FUNCTIONAL SYMBOL EPSILON UNDERBAR;So;0;L;;;;;N;;;;; 2378;APL FUNCTIONAL SYMBOL IOTA UNDERBAR;So;0;L;;;;;N;;;;; 2379;APL FUNCTIONAL SYMBOL OMEGA UNDERBAR;So;0;L;;;;;N;;;;; 237A;APL FUNCTIONAL SYMBOL ALPHA;So;0;L;;;;;N;;;;; 237B;NOT CHECK MARK;So;0;ON;;;;;N;;;;; 237C;RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW;Sm;0;ON;;;;;N;;;;; 237D;SHOULDERED OPEN BOX;So;0;ON;;;;;N;;;;; 237E;BELL SYMBOL;So;0;ON;;;;;N;;;;; 237F;VERTICAL LINE WITH MIDDLE DOT;So;0;ON;;;;;N;;;;; 2380;INSERTION SYMBOL;So;0;ON;;;;;N;;;;; 2381;CONTINUOUS UNDERLINE SYMBOL;So;0;ON;;;;;N;;;;; 2382;DISCONTINUOUS UNDERLINE SYMBOL;So;0;ON;;;;;N;;;;; 2383;EMPHASIS SYMBOL;So;0;ON;;;;;N;;;;; 2384;COMPOSITION SYMBOL;So;0;ON;;;;;N;;;;; 2385;WHITE SQUARE WITH CENTRE VERTICAL LINE;So;0;ON;;;;;N;;;;; 2386;ENTER SYMBOL;So;0;ON;;;;;N;;;;; 2387;ALTERNATIVE KEY SYMBOL;So;0;ON;;;;;N;;;;; 2388;HELM SYMBOL;So;0;ON;;;;;N;;;;; 2389;CIRCLED HORIZONTAL BAR WITH NOTCH;So;0;ON;;;;;N;;pause;;; 238A;CIRCLED TRIANGLE DOWN;So;0;ON;;;;;N;;break;;; 238B;BROKEN CIRCLE WITH NORTHWEST ARROW;So;0;ON;;;;;N;;escape;;; 238C;UNDO SYMBOL;So;0;ON;;;;;N;;;;; 238D;MONOSTABLE SYMBOL;So;0;ON;;;;;N;;;;; 238E;HYSTERESIS SYMBOL;So;0;ON;;;;;N;;;;; 238F;OPEN-CIRCUIT-OUTPUT H-TYPE SYMBOL;So;0;ON;;;;;N;;;;; 2390;OPEN-CIRCUIT-OUTPUT L-TYPE SYMBOL;So;0;ON;;;;;N;;;;; 2391;PASSIVE-PULL-DOWN-OUTPUT SYMBOL;So;0;ON;;;;;N;;;;; 2392;PASSIVE-PULL-UP-OUTPUT SYMBOL;So;0;ON;;;;;N;;;;; 2393;DIRECT CURRENT SYMBOL FORM TWO;So;0;ON;;;;;N;;;;; 2394;SOFTWARE-FUNCTION SYMBOL;So;0;ON;;;;;N;;;;; 2395;APL FUNCTIONAL SYMBOL QUAD;So;0;L;;;;;N;;;;; 2396;DECIMAL SEPARATOR KEY SYMBOL;So;0;ON;;;;;N;;;;; 2397;PREVIOUS PAGE;So;0;ON;;;;;N;;;;; 2398;NEXT PAGE;So;0;ON;;;;;N;;;;; 2399;PRINT SCREEN SYMBOL;So;0;ON;;;;;N;;;;; 239A;CLEAR SCREEN SYMBOL;So;0;ON;;;;;N;;;;; 239B;LEFT PARENTHESIS UPPER HOOK;Sm;0;ON;;;;;N;;;;; 239C;LEFT PARENTHESIS EXTENSION;Sm;0;ON;;;;;N;;;;; 239D;LEFT PARENTHESIS LOWER HOOK;Sm;0;ON;;;;;N;;;;; 239E;RIGHT PARENTHESIS UPPER HOOK;Sm;0;ON;;;;;N;;;;; 239F;RIGHT PARENTHESIS EXTENSION;Sm;0;ON;;;;;N;;;;; 23A0;RIGHT PARENTHESIS LOWER HOOK;Sm;0;ON;;;;;N;;;;; 23A1;LEFT SQUARE BRACKET UPPER CORNER;Sm;0;ON;;;;;N;;;;; 23A2;LEFT SQUARE BRACKET EXTENSION;Sm;0;ON;;;;;N;;;;; 23A3;LEFT SQUARE BRACKET LOWER CORNER;Sm;0;ON;;;;;N;;;;; 23A4;RIGHT SQUARE BRACKET UPPER CORNER;Sm;0;ON;;;;;N;;;;; 23A5;RIGHT SQUARE BRACKET EXTENSION;Sm;0;ON;;;;;N;;;;; 23A6;RIGHT SQUARE BRACKET LOWER CORNER;Sm;0;ON;;;;;N;;;;; 23A7;LEFT CURLY BRACKET UPPER HOOK;Sm;0;ON;;;;;N;;;;; 23A8;LEFT CURLY BRACKET MIDDLE PIECE;Sm;0;ON;;;;;N;;;;; 23A9;LEFT CURLY BRACKET LOWER HOOK;Sm;0;ON;;;;;N;;;;; 23AA;CURLY BRACKET EXTENSION;Sm;0;ON;;;;;N;;;;; 23AB;RIGHT CURLY BRACKET UPPER HOOK;Sm;0;ON;;;;;N;;;;; 23AC;RIGHT CURLY BRACKET MIDDLE PIECE;Sm;0;ON;;;;;N;;;;; 23AD;RIGHT CURLY BRACKET LOWER HOOK;Sm;0;ON;;;;;N;;;;; 23AE;INTEGRAL EXTENSION;Sm;0;ON;;;;;N;;;;; 23AF;HORIZONTAL LINE EXTENSION;Sm;0;ON;;;;;N;;;;; 23B0;UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION;Sm;0;ON;;;;;N;;;;; 23B1;UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION;Sm;0;ON;;;;;N;;;;; 23B2;SUMMATION TOP;Sm;0;ON;;;;;N;;;;; 23B3;SUMMATION BOTTOM;Sm;0;ON;;;;;N;;;;; 23B4;TOP SQUARE BRACKET;Ps;0;ON;;;;;N;;;;; 23B5;BOTTOM SQUARE BRACKET;Pe;0;ON;;;;;N;;;;; 23B6;BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET;Po;0;ON;;;;;N;;;;; 23B7;RADICAL SYMBOL BOTTOM;So;0;ON;;;;;N;;;;; 23B8;LEFT VERTICAL BOX LINE;So;0;ON;;;;;N;;;;; 23B9;RIGHT VERTICAL BOX LINE;So;0;ON;;;;;N;;;;; 23BA;HORIZONTAL SCAN LINE-1;So;0;ON;;;;;N;;;;; 23BB;HORIZONTAL SCAN LINE-3;So;0;ON;;;;;N;;;;; 23BC;HORIZONTAL SCAN LINE-7;So;0;ON;;;;;N;;;;; 23BD;HORIZONTAL SCAN LINE-9;So;0;ON;;;;;N;;;;; 23BE;DENTISTRY SYMBOL LIGHT VERTICAL AND TOP RIGHT;So;0;ON;;;;;N;;;;; 23BF;DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM RIGHT;So;0;ON;;;;;N;;;;; 23C0;DENTISTRY SYMBOL LIGHT VERTICAL WITH CIRCLE;So;0;ON;;;;;N;;;;; 23C1;DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH CIRCLE;So;0;ON;;;;;N;;;;; 23C2;DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH CIRCLE;So;0;ON;;;;;N;;;;; 23C3;DENTISTRY SYMBOL LIGHT VERTICAL WITH TRIANGLE;So;0;ON;;;;;N;;;;; 23C4;DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH TRIANGLE;So;0;ON;;;;;N;;;;; 23C5;DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH TRIANGLE;So;0;ON;;;;;N;;;;; 23C6;DENTISTRY SYMBOL LIGHT VERTICAL AND WAVE;So;0;ON;;;;;N;;;;; 23C7;DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH WAVE;So;0;ON;;;;;N;;;;; 23C8;DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH WAVE;So;0;ON;;;;;N;;;;; 23C9;DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL;So;0;ON;;;;;N;;;;; 23CA;DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL;So;0;ON;;;;;N;;;;; 23CB;DENTISTRY SYMBOL LIGHT VERTICAL AND TOP LEFT;So;0;ON;;;;;N;;;;; 23CC;DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM LEFT;So;0;ON;;;;;N;;;;; 23CD;SQUARE FOOT;So;0;ON;;;;;N;;;;; 23CE;RETURN SYMBOL;So;0;ON;;;;;N;;;;; 23CF;EJECT SYMBOL;So;0;ON;;;;;N;;;;; 23D0;VERTICAL LINE EXTENSION;So;0;ON;;;;;N;;;;; 2400;SYMBOL FOR NULL;So;0;ON;;;;;N;GRAPHIC FOR NULL;;;; 2401;SYMBOL FOR START OF HEADING;So;0;ON;;;;;N;GRAPHIC FOR START OF HEADING;;;; 2402;SYMBOL FOR START OF TEXT;So;0;ON;;;;;N;GRAPHIC FOR START OF TEXT;;;; 2403;SYMBOL FOR END OF TEXT;So;0;ON;;;;;N;GRAPHIC FOR END OF TEXT;;;; 2404;SYMBOL FOR END OF TRANSMISSION;So;0;ON;;;;;N;GRAPHIC FOR END OF TRANSMISSION;;;; 2405;SYMBOL FOR ENQUIRY;So;0;ON;;;;;N;GRAPHIC FOR ENQUIRY;;;; 2406;SYMBOL FOR ACKNOWLEDGE;So;0;ON;;;;;N;GRAPHIC FOR ACKNOWLEDGE;;;; 2407;SYMBOL FOR BELL;So;0;ON;;;;;N;GRAPHIC FOR BELL;;;; 2408;SYMBOL FOR BACKSPACE;So;0;ON;;;;;N;GRAPHIC FOR BACKSPACE;;;; 2409;SYMBOL FOR HORIZONTAL TABULATION;So;0;ON;;;;;N;GRAPHIC FOR HORIZONTAL TABULATION;;;; 240A;SYMBOL FOR LINE FEED;So;0;ON;;;;;N;GRAPHIC FOR LINE FEED;;;; 240B;SYMBOL FOR VERTICAL TABULATION;So;0;ON;;;;;N;GRAPHIC FOR VERTICAL TABULATION;;;; 240C;SYMBOL FOR FORM FEED;So;0;ON;;;;;N;GRAPHIC FOR FORM FEED;;;; 240D;SYMBOL FOR CARRIAGE RETURN;So;0;ON;;;;;N;GRAPHIC FOR CARRIAGE RETURN;;;; 240E;SYMBOL FOR SHIFT OUT;So;0;ON;;;;;N;GRAPHIC FOR SHIFT OUT;;;; 240F;SYMBOL FOR SHIFT IN;So;0;ON;;;;;N;GRAPHIC FOR SHIFT IN;;;; 2410;SYMBOL FOR DATA LINK ESCAPE;So;0;ON;;;;;N;GRAPHIC FOR DATA LINK ESCAPE;;;; 2411;SYMBOL FOR DEVICE CONTROL ONE;So;0;ON;;;;;N;GRAPHIC FOR DEVICE CONTROL ONE;;;; 2412;SYMBOL FOR DEVICE CONTROL TWO;So;0;ON;;;;;N;GRAPHIC FOR DEVICE CONTROL TWO;;;; 2413;SYMBOL FOR DEVICE CONTROL THREE;So;0;ON;;;;;N;GRAPHIC FOR DEVICE CONTROL THREE;;;; 2414;SYMBOL FOR DEVICE CONTROL FOUR;So;0;ON;;;;;N;GRAPHIC FOR DEVICE CONTROL FOUR;;;; 2415;SYMBOL FOR NEGATIVE ACKNOWLEDGE;So;0;ON;;;;;N;GRAPHIC FOR NEGATIVE ACKNOWLEDGE;;;; 2416;SYMBOL FOR SYNCHRONOUS IDLE;So;0;ON;;;;;N;GRAPHIC FOR SYNCHRONOUS IDLE;;;; 2417;SYMBOL FOR END OF TRANSMISSION BLOCK;So;0;ON;;;;;N;GRAPHIC FOR END OF TRANSMISSION BLOCK;;;; 2418;SYMBOL FOR CANCEL;So;0;ON;;;;;N;GRAPHIC FOR CANCEL;;;; 2419;SYMBOL FOR END OF MEDIUM;So;0;ON;;;;;N;GRAPHIC FOR END OF MEDIUM;;;; 241A;SYMBOL FOR SUBSTITUTE;So;0;ON;;;;;N;GRAPHIC FOR SUBSTITUTE;;;; 241B;SYMBOL FOR ESCAPE;So;0;ON;;;;;N;GRAPHIC FOR ESCAPE;;;; 241C;SYMBOL FOR FILE SEPARATOR;So;0;ON;;;;;N;GRAPHIC FOR FILE SEPARATOR;;;; 241D;SYMBOL FOR GROUP SEPARATOR;So;0;ON;;;;;N;GRAPHIC FOR GROUP SEPARATOR;;;; 241E;SYMBOL FOR RECORD SEPARATOR;So;0;ON;;;;;N;GRAPHIC FOR RECORD SEPARATOR;;;; 241F;SYMBOL FOR UNIT SEPARATOR;So;0;ON;;;;;N;GRAPHIC FOR UNIT SEPARATOR;;;; 2420;SYMBOL FOR SPACE;So;0;ON;;;;;N;GRAPHIC FOR SPACE;;;; 2421;SYMBOL FOR DELETE;So;0;ON;;;;;N;GRAPHIC FOR DELETE;;;; 2422;BLANK SYMBOL;So;0;ON;;;;;N;BLANK;;;; 2423;OPEN BOX;So;0;ON;;;;;N;;;;; 2424;SYMBOL FOR NEWLINE;So;0;ON;;;;;N;GRAPHIC FOR NEWLINE;;;; 2425;SYMBOL FOR DELETE FORM TWO;So;0;ON;;;;;N;;;;; 2426;SYMBOL FOR SUBSTITUTE FORM TWO;So;0;ON;;;;;N;;;;; 2440;OCR HOOK;So;0;ON;;;;;N;;;;; 2441;OCR CHAIR;So;0;ON;;;;;N;;;;; 2442;OCR FORK;So;0;ON;;;;;N;;;;; 2443;OCR INVERTED FORK;So;0;ON;;;;;N;;;;; 2444;OCR BELT BUCKLE;So;0;ON;;;;;N;;;;; 2445;OCR BOW TIE;So;0;ON;;;;;N;;;;; 2446;OCR BRANCH BANK IDENTIFICATION;So;0;ON;;;;;N;;;;; 2447;OCR AMOUNT OF CHECK;So;0;ON;;;;;N;;;;; 2448;OCR DASH;So;0;ON;;;;;N;;;;; 2449;OCR CUSTOMER ACCOUNT NUMBER;So;0;ON;;;;;N;;;;; 244A;OCR DOUBLE BACKSLASH;So;0;ON;;;;;N;;;;; 2460;CIRCLED DIGIT ONE;No;0;EN; 0031;;1;1;N;;;;; 2461;CIRCLED DIGIT TWO;No;0;EN; 0032;;2;2;N;;;;; 2462;CIRCLED DIGIT THREE;No;0;EN; 0033;;3;3;N;;;;; 2463;CIRCLED DIGIT FOUR;No;0;EN; 0034;;4;4;N;;;;; 2464;CIRCLED DIGIT FIVE;No;0;EN; 0035;;5;5;N;;;;; 2465;CIRCLED DIGIT SIX;No;0;EN; 0036;;6;6;N;;;;; 2466;CIRCLED DIGIT SEVEN;No;0;EN; 0037;;7;7;N;;;;; 2467;CIRCLED DIGIT EIGHT;No;0;EN; 0038;;8;8;N;;;;; 2468;CIRCLED DIGIT NINE;No;0;EN; 0039;;9;9;N;;;;; 2469;CIRCLED NUMBER TEN;No;0;EN; 0031 0030;;;10;N;;;;; 246A;CIRCLED NUMBER ELEVEN;No;0;EN; 0031 0031;;;11;N;;;;; 246B;CIRCLED NUMBER TWELVE;No;0;EN; 0031 0032;;;12;N;;;;; 246C;CIRCLED NUMBER THIRTEEN;No;0;EN; 0031 0033;;;13;N;;;;; 246D;CIRCLED NUMBER FOURTEEN;No;0;EN; 0031 0034;;;14;N;;;;; 246E;CIRCLED NUMBER FIFTEEN;No;0;EN; 0031 0035;;;15;N;;;;; 246F;CIRCLED NUMBER SIXTEEN;No;0;EN; 0031 0036;;;16;N;;;;; 2470;CIRCLED NUMBER SEVENTEEN;No;0;EN; 0031 0037;;;17;N;;;;; 2471;CIRCLED NUMBER EIGHTEEN;No;0;EN; 0031 0038;;;18;N;;;;; 2472;CIRCLED NUMBER NINETEEN;No;0;EN; 0031 0039;;;19;N;;;;; 2473;CIRCLED NUMBER TWENTY;No;0;EN; 0032 0030;;;20;N;;;;; 2474;PARENTHESIZED DIGIT ONE;No;0;EN; 0028 0031 0029;;1;1;N;;;;; 2475;PARENTHESIZED DIGIT TWO;No;0;EN; 0028 0032 0029;;2;2;N;;;;; 2476;PARENTHESIZED DIGIT THREE;No;0;EN; 0028 0033 0029;;3;3;N;;;;; 2477;PARENTHESIZED DIGIT FOUR;No;0;EN; 0028 0034 0029;;4;4;N;;;;; 2478;PARENTHESIZED DIGIT FIVE;No;0;EN; 0028 0035 0029;;5;5;N;;;;; 2479;PARENTHESIZED DIGIT SIX;No;0;EN; 0028 0036 0029;;6;6;N;;;;; 247A;PARENTHESIZED DIGIT SEVEN;No;0;EN; 0028 0037 0029;;7;7;N;;;;; 247B;PARENTHESIZED DIGIT EIGHT;No;0;EN; 0028 0038 0029;;8;8;N;;;;; 247C;PARENTHESIZED DIGIT NINE;No;0;EN; 0028 0039 0029;;9;9;N;;;;; 247D;PARENTHESIZED NUMBER TEN;No;0;EN; 0028 0031 0030 0029;;;10;N;;;;; 247E;PARENTHESIZED NUMBER ELEVEN;No;0;EN; 0028 0031 0031 0029;;;11;N;;;;; 247F;PARENTHESIZED NUMBER TWELVE;No;0;EN; 0028 0031 0032 0029;;;12;N;;;;; 2480;PARENTHESIZED NUMBER THIRTEEN;No;0;EN; 0028 0031 0033 0029;;;13;N;;;;; 2481;PARENTHESIZED NUMBER FOURTEEN;No;0;EN; 0028 0031 0034 0029;;;14;N;;;;; 2482;PARENTHESIZED NUMBER FIFTEEN;No;0;EN; 0028 0031 0035 0029;;;15;N;;;;; 2483;PARENTHESIZED NUMBER SIXTEEN;No;0;EN; 0028 0031 0036 0029;;;16;N;;;;; 2484;PARENTHESIZED NUMBER SEVENTEEN;No;0;EN; 0028 0031 0037 0029;;;17;N;;;;; 2485;PARENTHESIZED NUMBER EIGHTEEN;No;0;EN; 0028 0031 0038 0029;;;18;N;;;;; 2486;PARENTHESIZED NUMBER NINETEEN;No;0;EN; 0028 0031 0039 0029;;;19;N;;;;; 2487;PARENTHESIZED NUMBER TWENTY;No;0;EN; 0028 0032 0030 0029;;;20;N;;;;; 2488;DIGIT ONE FULL STOP;No;0;EN; 0031 002E;;1;1;N;DIGIT ONE PERIOD;;;; 2489;DIGIT TWO FULL STOP;No;0;EN; 0032 002E;;2;2;N;DIGIT TWO PERIOD;;;; 248A;DIGIT THREE FULL STOP;No;0;EN; 0033 002E;;3;3;N;DIGIT THREE PERIOD;;;; 248B;DIGIT FOUR FULL STOP;No;0;EN; 0034 002E;;4;4;N;DIGIT FOUR PERIOD;;;; 248C;DIGIT FIVE FULL STOP;No;0;EN; 0035 002E;;5;5;N;DIGIT FIVE PERIOD;;;; 248D;DIGIT SIX FULL STOP;No;0;EN; 0036 002E;;6;6;N;DIGIT SIX PERIOD;;;; 248E;DIGIT SEVEN FULL STOP;No;0;EN; 0037 002E;;7;7;N;DIGIT SEVEN PERIOD;;;; 248F;DIGIT EIGHT FULL STOP;No;0;EN; 0038 002E;;8;8;N;DIGIT EIGHT PERIOD;;;; 2490;DIGIT NINE FULL STOP;No;0;EN; 0039 002E;;9;9;N;DIGIT NINE PERIOD;;;; 2491;NUMBER TEN FULL STOP;No;0;EN; 0031 0030 002E;;;10;N;NUMBER TEN PERIOD;;;; 2492;NUMBER ELEVEN FULL STOP;No;0;EN; 0031 0031 002E;;;11;N;NUMBER ELEVEN PERIOD;;;; 2493;NUMBER TWELVE FULL STOP;No;0;EN; 0031 0032 002E;;;12;N;NUMBER TWELVE PERIOD;;;; 2494;NUMBER THIRTEEN FULL STOP;No;0;EN; 0031 0033 002E;;;13;N;NUMBER THIRTEEN PERIOD;;;; 2495;NUMBER FOURTEEN FULL STOP;No;0;EN; 0031 0034 002E;;;14;N;NUMBER FOURTEEN PERIOD;;;; 2496;NUMBER FIFTEEN FULL STOP;No;0;EN; 0031 0035 002E;;;15;N;NUMBER FIFTEEN PERIOD;;;; 2497;NUMBER SIXTEEN FULL STOP;No;0;EN; 0031 0036 002E;;;16;N;NUMBER SIXTEEN PERIOD;;;; 2498;NUMBER SEVENTEEN FULL STOP;No;0;EN; 0031 0037 002E;;;17;N;NUMBER SEVENTEEN PERIOD;;;; 2499;NUMBER EIGHTEEN FULL STOP;No;0;EN; 0031 0038 002E;;;18;N;NUMBER EIGHTEEN PERIOD;;;; 249A;NUMBER NINETEEN FULL STOP;No;0;EN; 0031 0039 002E;;;19;N;NUMBER NINETEEN PERIOD;;;; 249B;NUMBER TWENTY FULL STOP;No;0;EN; 0032 0030 002E;;;20;N;NUMBER TWENTY PERIOD;;;; 249C;PARENTHESIZED LATIN SMALL LETTER A;So;0;L; 0028 0061 0029;;;;N;;;;; 249D;PARENTHESIZED LATIN SMALL LETTER B;So;0;L; 0028 0062 0029;;;;N;;;;; 249E;PARENTHESIZED LATIN SMALL LETTER C;So;0;L; 0028 0063 0029;;;;N;;;;; 249F;PARENTHESIZED LATIN SMALL LETTER D;So;0;L; 0028 0064 0029;;;;N;;;;; 24A0;PARENTHESIZED LATIN SMALL LETTER E;So;0;L; 0028 0065 0029;;;;N;;;;; 24A1;PARENTHESIZED LATIN SMALL LETTER F;So;0;L; 0028 0066 0029;;;;N;;;;; 24A2;PARENTHESIZED LATIN SMALL LETTER G;So;0;L; 0028 0067 0029;;;;N;;;;; 24A3;PARENTHESIZED LATIN SMALL LETTER H;So;0;L; 0028 0068 0029;;;;N;;;;; 24A4;PARENTHESIZED LATIN SMALL LETTER I;So;0;L; 0028 0069 0029;;;;N;;;;; 24A5;PARENTHESIZED LATIN SMALL LETTER J;So;0;L; 0028 006A 0029;;;;N;;;;; 24A6;PARENTHESIZED LATIN SMALL LETTER K;So;0;L; 0028 006B 0029;;;;N;;;;; 24A7;PARENTHESIZED LATIN SMALL LETTER L;So;0;L; 0028 006C 0029;;;;N;;;;; 24A8;PARENTHESIZED LATIN SMALL LETTER M;So;0;L; 0028 006D 0029;;;;N;;;;; 24A9;PARENTHESIZED LATIN SMALL LETTER N;So;0;L; 0028 006E 0029;;;;N;;;;; 24AA;PARENTHESIZED LATIN SMALL LETTER O;So;0;L; 0028 006F 0029;;;;N;;;;; 24AB;PARENTHESIZED LATIN SMALL LETTER P;So;0;L; 0028 0070 0029;;;;N;;;;; 24AC;PARENTHESIZED LATIN SMALL LETTER Q;So;0;L; 0028 0071 0029;;;;N;;;;; 24AD;PARENTHESIZED LATIN SMALL LETTER R;So;0;L; 0028 0072 0029;;;;N;;;;; 24AE;PARENTHESIZED LATIN SMALL LETTER S;So;0;L; 0028 0073 0029;;;;N;;;;; 24AF;PARENTHESIZED LATIN SMALL LETTER T;So;0;L; 0028 0074 0029;;;;N;;;;; 24B0;PARENTHESIZED LATIN SMALL LETTER U;So;0;L; 0028 0075 0029;;;;N;;;;; 24B1;PARENTHESIZED LATIN SMALL LETTER V;So;0;L; 0028 0076 0029;;;;N;;;;; 24B2;PARENTHESIZED LATIN SMALL LETTER W;So;0;L; 0028 0077 0029;;;;N;;;;; 24B3;PARENTHESIZED LATIN SMALL LETTER X;So;0;L; 0028 0078 0029;;;;N;;;;; 24B4;PARENTHESIZED LATIN SMALL LETTER Y;So;0;L; 0028 0079 0029;;;;N;;;;; 24B5;PARENTHESIZED LATIN SMALL LETTER Z;So;0;L; 0028 007A 0029;;;;N;;;;; 24B6;CIRCLED LATIN CAPITAL LETTER A;So;0;L; 0041;;;;N;;;;24D0; 24B7;CIRCLED LATIN CAPITAL LETTER B;So;0;L; 0042;;;;N;;;;24D1; 24B8;CIRCLED LATIN CAPITAL LETTER C;So;0;L; 0043;;;;N;;;;24D2; 24B9;CIRCLED LATIN CAPITAL LETTER D;So;0;L; 0044;;;;N;;;;24D3; 24BA;CIRCLED LATIN CAPITAL LETTER E;So;0;L; 0045;;;;N;;;;24D4; 24BB;CIRCLED LATIN CAPITAL LETTER F;So;0;L; 0046;;;;N;;;;24D5; 24BC;CIRCLED LATIN CAPITAL LETTER G;So;0;L; 0047;;;;N;;;;24D6; 24BD;CIRCLED LATIN CAPITAL LETTER H;So;0;L; 0048;;;;N;;;;24D7; 24BE;CIRCLED LATIN CAPITAL LETTER I;So;0;L; 0049;;;;N;;;;24D8; 24BF;CIRCLED LATIN CAPITAL LETTER J;So;0;L; 004A;;;;N;;;;24D9; 24C0;CIRCLED LATIN CAPITAL LETTER K;So;0;L; 004B;;;;N;;;;24DA; 24C1;CIRCLED LATIN CAPITAL LETTER L;So;0;L; 004C;;;;N;;;;24DB; 24C2;CIRCLED LATIN CAPITAL LETTER M;So;0;L; 004D;;;;N;;;;24DC; 24C3;CIRCLED LATIN CAPITAL LETTER N;So;0;L; 004E;;;;N;;;;24DD; 24C4;CIRCLED LATIN CAPITAL LETTER O;So;0;L; 004F;;;;N;;;;24DE; 24C5;CIRCLED LATIN CAPITAL LETTER P;So;0;L; 0050;;;;N;;;;24DF; 24C6;CIRCLED LATIN CAPITAL LETTER Q;So;0;L; 0051;;;;N;;;;24E0; 24C7;CIRCLED LATIN CAPITAL LETTER R;So;0;L; 0052;;;;N;;;;24E1; 24C8;CIRCLED LATIN CAPITAL LETTER S;So;0;L; 0053;;;;N;;;;24E2; 24C9;CIRCLED LATIN CAPITAL LETTER T;So;0;L; 0054;;;;N;;;;24E3; 24CA;CIRCLED LATIN CAPITAL LETTER U;So;0;L; 0055;;;;N;;;;24E4; 24CB;CIRCLED LATIN CAPITAL LETTER V;So;0;L; 0056;;;;N;;;;24E5; 24CC;CIRCLED LATIN CAPITAL LETTER W;So;0;L; 0057;;;;N;;;;24E6; 24CD;CIRCLED LATIN CAPITAL LETTER X;So;0;L; 0058;;;;N;;;;24E7; 24CE;CIRCLED LATIN CAPITAL LETTER Y;So;0;L; 0059;;;;N;;;;24E8; 24CF;CIRCLED LATIN CAPITAL LETTER Z;So;0;L; 005A;;;;N;;;;24E9; 24D0;CIRCLED LATIN SMALL LETTER A;So;0;L; 0061;;;;N;;;24B6;;24B6 24D1;CIRCLED LATIN SMALL LETTER B;So;0;L; 0062;;;;N;;;24B7;;24B7 24D2;CIRCLED LATIN SMALL LETTER C;So;0;L; 0063;;;;N;;;24B8;;24B8 24D3;CIRCLED LATIN SMALL LETTER D;So;0;L; 0064;;;;N;;;24B9;;24B9 24D4;CIRCLED LATIN SMALL LETTER E;So;0;L; 0065;;;;N;;;24BA;;24BA 24D5;CIRCLED LATIN SMALL LETTER F;So;0;L; 0066;;;;N;;;24BB;;24BB 24D6;CIRCLED LATIN SMALL LETTER G;So;0;L; 0067;;;;N;;;24BC;;24BC 24D7;CIRCLED LATIN SMALL LETTER H;So;0;L; 0068;;;;N;;;24BD;;24BD 24D8;CIRCLED LATIN SMALL LETTER I;So;0;L; 0069;;;;N;;;24BE;;24BE 24D9;CIRCLED LATIN SMALL LETTER J;So;0;L; 006A;;;;N;;;24BF;;24BF 24DA;CIRCLED LATIN SMALL LETTER K;So;0;L; 006B;;;;N;;;24C0;;24C0 24DB;CIRCLED LATIN SMALL LETTER L;So;0;L; 006C;;;;N;;;24C1;;24C1 24DC;CIRCLED LATIN SMALL LETTER M;So;0;L; 006D;;;;N;;;24C2;;24C2 24DD;CIRCLED LATIN SMALL LETTER N;So;0;L; 006E;;;;N;;;24C3;;24C3 24DE;CIRCLED LATIN SMALL LETTER O;So;0;L; 006F;;;;N;;;24C4;;24C4 24DF;CIRCLED LATIN SMALL LETTER P;So;0;L; 0070;;;;N;;;24C5;;24C5 24E0;CIRCLED LATIN SMALL LETTER Q;So;0;L; 0071;;;;N;;;24C6;;24C6 24E1;CIRCLED LATIN SMALL LETTER R;So;0;L; 0072;;;;N;;;24C7;;24C7 24E2;CIRCLED LATIN SMALL LETTER S;So;0;L; 0073;;;;N;;;24C8;;24C8 24E3;CIRCLED LATIN SMALL LETTER T;So;0;L; 0074;;;;N;;;24C9;;24C9 24E4;CIRCLED LATIN SMALL LETTER U;So;0;L; 0075;;;;N;;;24CA;;24CA 24E5;CIRCLED LATIN SMALL LETTER V;So;0;L; 0076;;;;N;;;24CB;;24CB 24E6;CIRCLED LATIN SMALL LETTER W;So;0;L; 0077;;;;N;;;24CC;;24CC 24E7;CIRCLED LATIN SMALL LETTER X;So;0;L; 0078;;;;N;;;24CD;;24CD 24E8;CIRCLED LATIN SMALL LETTER Y;So;0;L; 0079;;;;N;;;24CE;;24CE 24E9;CIRCLED LATIN SMALL LETTER Z;So;0;L; 007A;;;;N;;;24CF;;24CF 24EA;CIRCLED DIGIT ZERO;No;0;EN; 0030;;0;0;N;;;;; 24EB;NEGATIVE CIRCLED NUMBER ELEVEN;No;0;ON;;;;11;N;;;;; 24EC;NEGATIVE CIRCLED NUMBER TWELVE;No;0;ON;;;;12;N;;;;; 24ED;NEGATIVE CIRCLED NUMBER THIRTEEN;No;0;ON;;;;13;N;;;;; 24EE;NEGATIVE CIRCLED NUMBER FOURTEEN;No;0;ON;;;;14;N;;;;; 24EF;NEGATIVE CIRCLED NUMBER FIFTEEN;No;0;ON;;;;15;N;;;;; 24F0;NEGATIVE CIRCLED NUMBER SIXTEEN;No;0;ON;;;;16;N;;;;; 24F1;NEGATIVE CIRCLED NUMBER SEVENTEEN;No;0;ON;;;;17;N;;;;; 24F2;NEGATIVE CIRCLED NUMBER EIGHTEEN;No;0;ON;;;;18;N;;;;; 24F3;NEGATIVE CIRCLED NUMBER NINETEEN;No;0;ON;;;;19;N;;;;; 24F4;NEGATIVE CIRCLED NUMBER TWENTY;No;0;ON;;;;20;N;;;;; 24F5;DOUBLE CIRCLED DIGIT ONE;No;0;ON;;;1;1;N;;;;; 24F6;DOUBLE CIRCLED DIGIT TWO;No;0;ON;;;2;2;N;;;;; 24F7;DOUBLE CIRCLED DIGIT THREE;No;0;ON;;;3;3;N;;;;; 24F8;DOUBLE CIRCLED DIGIT FOUR;No;0;ON;;;4;4;N;;;;; 24F9;DOUBLE CIRCLED DIGIT FIVE;No;0;ON;;;5;5;N;;;;; 24FA;DOUBLE CIRCLED DIGIT SIX;No;0;ON;;;6;6;N;;;;; 24FB;DOUBLE CIRCLED DIGIT SEVEN;No;0;ON;;;7;7;N;;;;; 24FC;DOUBLE CIRCLED DIGIT EIGHT;No;0;ON;;;8;8;N;;;;; 24FD;DOUBLE CIRCLED DIGIT NINE;No;0;ON;;;9;9;N;;;;; 24FE;DOUBLE CIRCLED NUMBER TEN;No;0;ON;;;;10;N;;;;; 24FF;NEGATIVE CIRCLED DIGIT ZERO;No;0;ON;;;0;0;N;;;;; 2500;BOX DRAWINGS LIGHT HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT HORIZONTAL;;;; 2501;BOX DRAWINGS HEAVY HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY HORIZONTAL;;;; 2502;BOX DRAWINGS LIGHT VERTICAL;So;0;ON;;;;;N;FORMS LIGHT VERTICAL;;;; 2503;BOX DRAWINGS HEAVY VERTICAL;So;0;ON;;;;;N;FORMS HEAVY VERTICAL;;;; 2504;BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT TRIPLE DASH HORIZONTAL;;;; 2505;BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY TRIPLE DASH HORIZONTAL;;;; 2506;BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL;So;0;ON;;;;;N;FORMS LIGHT TRIPLE DASH VERTICAL;;;; 2507;BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL;So;0;ON;;;;;N;FORMS HEAVY TRIPLE DASH VERTICAL;;;; 2508;BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT QUADRUPLE DASH HORIZONTAL;;;; 2509;BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY QUADRUPLE DASH HORIZONTAL;;;; 250A;BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL;So;0;ON;;;;;N;FORMS LIGHT QUADRUPLE DASH VERTICAL;;;; 250B;BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL;So;0;ON;;;;;N;FORMS HEAVY QUADRUPLE DASH VERTICAL;;;; 250C;BOX DRAWINGS LIGHT DOWN AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT DOWN AND RIGHT;;;; 250D;BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND RIGHT HEAVY;;;; 250E;BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND RIGHT LIGHT;;;; 250F;BOX DRAWINGS HEAVY DOWN AND RIGHT;So;0;ON;;;;;N;FORMS HEAVY DOWN AND RIGHT;;;; 2510;BOX DRAWINGS LIGHT DOWN AND LEFT;So;0;ON;;;;;N;FORMS LIGHT DOWN AND LEFT;;;; 2511;BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND LEFT HEAVY;;;; 2512;BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND LEFT LIGHT;;;; 2513;BOX DRAWINGS HEAVY DOWN AND LEFT;So;0;ON;;;;;N;FORMS HEAVY DOWN AND LEFT;;;; 2514;BOX DRAWINGS LIGHT UP AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT UP AND RIGHT;;;; 2515;BOX DRAWINGS UP LIGHT AND RIGHT HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND RIGHT HEAVY;;;; 2516;BOX DRAWINGS UP HEAVY AND RIGHT LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND RIGHT LIGHT;;;; 2517;BOX DRAWINGS HEAVY UP AND RIGHT;So;0;ON;;;;;N;FORMS HEAVY UP AND RIGHT;;;; 2518;BOX DRAWINGS LIGHT UP AND LEFT;So;0;ON;;;;;N;FORMS LIGHT UP AND LEFT;;;; 2519;BOX DRAWINGS UP LIGHT AND LEFT HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND LEFT HEAVY;;;; 251A;BOX DRAWINGS UP HEAVY AND LEFT LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND LEFT LIGHT;;;; 251B;BOX DRAWINGS HEAVY UP AND LEFT;So;0;ON;;;;;N;FORMS HEAVY UP AND LEFT;;;; 251C;BOX DRAWINGS LIGHT VERTICAL AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT VERTICAL AND RIGHT;;;; 251D;BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY;So;0;ON;;;;;N;FORMS VERTICAL LIGHT AND RIGHT HEAVY;;;; 251E;BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND RIGHT DOWN LIGHT;;;; 251F;BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND RIGHT UP LIGHT;;;; 2520;BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT;So;0;ON;;;;;N;FORMS VERTICAL HEAVY AND RIGHT LIGHT;;;; 2521;BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND RIGHT UP HEAVY;;;; 2522;BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND RIGHT DOWN HEAVY;;;; 2523;BOX DRAWINGS HEAVY VERTICAL AND RIGHT;So;0;ON;;;;;N;FORMS HEAVY VERTICAL AND RIGHT;;;; 2524;BOX DRAWINGS LIGHT VERTICAL AND LEFT;So;0;ON;;;;;N;FORMS LIGHT VERTICAL AND LEFT;;;; 2525;BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY;So;0;ON;;;;;N;FORMS VERTICAL LIGHT AND LEFT HEAVY;;;; 2526;BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND LEFT DOWN LIGHT;;;; 2527;BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND LEFT UP LIGHT;;;; 2528;BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT;So;0;ON;;;;;N;FORMS VERTICAL HEAVY AND LEFT LIGHT;;;; 2529;BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND LEFT UP HEAVY;;;; 252A;BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND LEFT DOWN HEAVY;;;; 252B;BOX DRAWINGS HEAVY VERTICAL AND LEFT;So;0;ON;;;;;N;FORMS HEAVY VERTICAL AND LEFT;;;; 252C;BOX DRAWINGS LIGHT DOWN AND HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT DOWN AND HORIZONTAL;;;; 252D;BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT;So;0;ON;;;;;N;FORMS LEFT HEAVY AND RIGHT DOWN LIGHT;;;; 252E;BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT;So;0;ON;;;;;N;FORMS RIGHT HEAVY AND LEFT DOWN LIGHT;;;; 252F;BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND HORIZONTAL HEAVY;;;; 2530;BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND HORIZONTAL LIGHT;;;; 2531;BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY;So;0;ON;;;;;N;FORMS RIGHT LIGHT AND LEFT DOWN HEAVY;;;; 2532;BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY;So;0;ON;;;;;N;FORMS LEFT LIGHT AND RIGHT DOWN HEAVY;;;; 2533;BOX DRAWINGS HEAVY DOWN AND HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY DOWN AND HORIZONTAL;;;; 2534;BOX DRAWINGS LIGHT UP AND HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT UP AND HORIZONTAL;;;; 2535;BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT;So;0;ON;;;;;N;FORMS LEFT HEAVY AND RIGHT UP LIGHT;;;; 2536;BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT;So;0;ON;;;;;N;FORMS RIGHT HEAVY AND LEFT UP LIGHT;;;; 2537;BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND HORIZONTAL HEAVY;;;; 2538;BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND HORIZONTAL LIGHT;;;; 2539;BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY;So;0;ON;;;;;N;FORMS RIGHT LIGHT AND LEFT UP HEAVY;;;; 253A;BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY;So;0;ON;;;;;N;FORMS LEFT LIGHT AND RIGHT UP HEAVY;;;; 253B;BOX DRAWINGS HEAVY UP AND HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY UP AND HORIZONTAL;;;; 253C;BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT VERTICAL AND HORIZONTAL;;;; 253D;BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT;So;0;ON;;;;;N;FORMS LEFT HEAVY AND RIGHT VERTICAL LIGHT;;;; 253E;BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT;So;0;ON;;;;;N;FORMS RIGHT HEAVY AND LEFT VERTICAL LIGHT;;;; 253F;BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS VERTICAL LIGHT AND HORIZONTAL HEAVY;;;; 2540;BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND DOWN HORIZONTAL LIGHT;;;; 2541;BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND UP HORIZONTAL LIGHT;;;; 2542;BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS VERTICAL HEAVY AND HORIZONTAL LIGHT;;;; 2543;BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT;So;0;ON;;;;;N;FORMS LEFT UP HEAVY AND RIGHT DOWN LIGHT;;;; 2544;BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT;So;0;ON;;;;;N;FORMS RIGHT UP HEAVY AND LEFT DOWN LIGHT;;;; 2545;BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT;So;0;ON;;;;;N;FORMS LEFT DOWN HEAVY AND RIGHT UP LIGHT;;;; 2546;BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT;So;0;ON;;;;;N;FORMS RIGHT DOWN HEAVY AND LEFT UP LIGHT;;;; 2547;BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND UP HORIZONTAL HEAVY;;;; 2548;BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND DOWN HORIZONTAL HEAVY;;;; 2549;BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY;So;0;ON;;;;;N;FORMS RIGHT LIGHT AND LEFT VERTICAL HEAVY;;;; 254A;BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY;So;0;ON;;;;;N;FORMS LEFT LIGHT AND RIGHT VERTICAL HEAVY;;;; 254B;BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY VERTICAL AND HORIZONTAL;;;; 254C;BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT DOUBLE DASH HORIZONTAL;;;; 254D;BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY DOUBLE DASH HORIZONTAL;;;; 254E;BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL;So;0;ON;;;;;N;FORMS LIGHT DOUBLE DASH VERTICAL;;;; 254F;BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL;So;0;ON;;;;;N;FORMS HEAVY DOUBLE DASH VERTICAL;;;; 2550;BOX DRAWINGS DOUBLE HORIZONTAL;So;0;ON;;;;;N;FORMS DOUBLE HORIZONTAL;;;; 2551;BOX DRAWINGS DOUBLE VERTICAL;So;0;ON;;;;;N;FORMS DOUBLE VERTICAL;;;; 2552;BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE;So;0;ON;;;;;N;FORMS DOWN SINGLE AND RIGHT DOUBLE;;;; 2553;BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE;So;0;ON;;;;;N;FORMS DOWN DOUBLE AND RIGHT SINGLE;;;; 2554;BOX DRAWINGS DOUBLE DOWN AND RIGHT;So;0;ON;;;;;N;FORMS DOUBLE DOWN AND RIGHT;;;; 2555;BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE;So;0;ON;;;;;N;FORMS DOWN SINGLE AND LEFT DOUBLE;;;; 2556;BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE;So;0;ON;;;;;N;FORMS DOWN DOUBLE AND LEFT SINGLE;;;; 2557;BOX DRAWINGS DOUBLE DOWN AND LEFT;So;0;ON;;;;;N;FORMS DOUBLE DOWN AND LEFT;;;; 2558;BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE;So;0;ON;;;;;N;FORMS UP SINGLE AND RIGHT DOUBLE;;;; 2559;BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE;So;0;ON;;;;;N;FORMS UP DOUBLE AND RIGHT SINGLE;;;; 255A;BOX DRAWINGS DOUBLE UP AND RIGHT;So;0;ON;;;;;N;FORMS DOUBLE UP AND RIGHT;;;; 255B;BOX DRAWINGS UP SINGLE AND LEFT DOUBLE;So;0;ON;;;;;N;FORMS UP SINGLE AND LEFT DOUBLE;;;; 255C;BOX DRAWINGS UP DOUBLE AND LEFT SINGLE;So;0;ON;;;;;N;FORMS UP DOUBLE AND LEFT SINGLE;;;; 255D;BOX DRAWINGS DOUBLE UP AND LEFT;So;0;ON;;;;;N;FORMS DOUBLE UP AND LEFT;;;; 255E;BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE;So;0;ON;;;;;N;FORMS VERTICAL SINGLE AND RIGHT DOUBLE;;;; 255F;BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE;So;0;ON;;;;;N;FORMS VERTICAL DOUBLE AND RIGHT SINGLE;;;; 2560;BOX DRAWINGS DOUBLE VERTICAL AND RIGHT;So;0;ON;;;;;N;FORMS DOUBLE VERTICAL AND RIGHT;;;; 2561;BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE;So;0;ON;;;;;N;FORMS VERTICAL SINGLE AND LEFT DOUBLE;;;; 2562;BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE;So;0;ON;;;;;N;FORMS VERTICAL DOUBLE AND LEFT SINGLE;;;; 2563;BOX DRAWINGS DOUBLE VERTICAL AND LEFT;So;0;ON;;;;;N;FORMS DOUBLE VERTICAL AND LEFT;;;; 2564;BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE;So;0;ON;;;;;N;FORMS DOWN SINGLE AND HORIZONTAL DOUBLE;;;; 2565;BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE;So;0;ON;;;;;N;FORMS DOWN DOUBLE AND HORIZONTAL SINGLE;;;; 2566;BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL;So;0;ON;;;;;N;FORMS DOUBLE DOWN AND HORIZONTAL;;;; 2567;BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE;So;0;ON;;;;;N;FORMS UP SINGLE AND HORIZONTAL DOUBLE;;;; 2568;BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE;So;0;ON;;;;;N;FORMS UP DOUBLE AND HORIZONTAL SINGLE;;;; 2569;BOX DRAWINGS DOUBLE UP AND HORIZONTAL;So;0;ON;;;;;N;FORMS DOUBLE UP AND HORIZONTAL;;;; 256A;BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE;So;0;ON;;;;;N;FORMS VERTICAL SINGLE AND HORIZONTAL DOUBLE;;;; 256B;BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE;So;0;ON;;;;;N;FORMS VERTICAL DOUBLE AND HORIZONTAL SINGLE;;;; 256C;BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL;So;0;ON;;;;;N;FORMS DOUBLE VERTICAL AND HORIZONTAL;;;; 256D;BOX DRAWINGS LIGHT ARC DOWN AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT ARC DOWN AND RIGHT;;;; 256E;BOX DRAWINGS LIGHT ARC DOWN AND LEFT;So;0;ON;;;;;N;FORMS LIGHT ARC DOWN AND LEFT;;;; 256F;BOX DRAWINGS LIGHT ARC UP AND LEFT;So;0;ON;;;;;N;FORMS LIGHT ARC UP AND LEFT;;;; 2570;BOX DRAWINGS LIGHT ARC UP AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT ARC UP AND RIGHT;;;; 2571;BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT;So;0;ON;;;;;N;FORMS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT;;;; 2572;BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT;So;0;ON;;;;;N;FORMS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT;;;; 2573;BOX DRAWINGS LIGHT DIAGONAL CROSS;So;0;ON;;;;;N;FORMS LIGHT DIAGONAL CROSS;;;; 2574;BOX DRAWINGS LIGHT LEFT;So;0;ON;;;;;N;FORMS LIGHT LEFT;;;; 2575;BOX DRAWINGS LIGHT UP;So;0;ON;;;;;N;FORMS LIGHT UP;;;; 2576;BOX DRAWINGS LIGHT RIGHT;So;0;ON;;;;;N;FORMS LIGHT RIGHT;;;; 2577;BOX DRAWINGS LIGHT DOWN;So;0;ON;;;;;N;FORMS LIGHT DOWN;;;; 2578;BOX DRAWINGS HEAVY LEFT;So;0;ON;;;;;N;FORMS HEAVY LEFT;;;; 2579;BOX DRAWINGS HEAVY UP;So;0;ON;;;;;N;FORMS HEAVY UP;;;; 257A;BOX DRAWINGS HEAVY RIGHT;So;0;ON;;;;;N;FORMS HEAVY RIGHT;;;; 257B;BOX DRAWINGS HEAVY DOWN;So;0;ON;;;;;N;FORMS HEAVY DOWN;;;; 257C;BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT;So;0;ON;;;;;N;FORMS LIGHT LEFT AND HEAVY RIGHT;;;; 257D;BOX DRAWINGS LIGHT UP AND HEAVY DOWN;So;0;ON;;;;;N;FORMS LIGHT UP AND HEAVY DOWN;;;; 257E;BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT;So;0;ON;;;;;N;FORMS HEAVY LEFT AND LIGHT RIGHT;;;; 257F;BOX DRAWINGS HEAVY UP AND LIGHT DOWN;So;0;ON;;;;;N;FORMS HEAVY UP AND LIGHT DOWN;;;; 2580;UPPER HALF BLOCK;So;0;ON;;;;;N;;;;; 2581;LOWER ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;; 2582;LOWER ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;; 2583;LOWER THREE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; 2584;LOWER HALF BLOCK;So;0;ON;;;;;N;;;;; 2585;LOWER FIVE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; 2586;LOWER THREE QUARTERS BLOCK;So;0;ON;;;;;N;LOWER THREE QUARTER BLOCK;;;; 2587;LOWER SEVEN EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; 2588;FULL BLOCK;So;0;ON;;;;;N;;;;; 2589;LEFT SEVEN EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; 258A;LEFT THREE QUARTERS BLOCK;So;0;ON;;;;;N;LEFT THREE QUARTER BLOCK;;;; 258B;LEFT FIVE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; 258C;LEFT HALF BLOCK;So;0;ON;;;;;N;;;;; 258D;LEFT THREE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; 258E;LEFT ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;; 258F;LEFT ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;; 2590;RIGHT HALF BLOCK;So;0;ON;;;;;N;;;;; 2591;LIGHT SHADE;So;0;ON;;;;;N;;;;; 2592;MEDIUM SHADE;So;0;ON;;;;;N;;;;; 2593;DARK SHADE;So;0;ON;;;;;N;;;;; 2594;UPPER ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;; 2595;RIGHT ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;; 2596;QUADRANT LOWER LEFT;So;0;ON;;;;;N;;;;; 2597;QUADRANT LOWER RIGHT;So;0;ON;;;;;N;;;;; 2598;QUADRANT UPPER LEFT;So;0;ON;;;;;N;;;;; 2599;QUADRANT UPPER LEFT AND LOWER LEFT AND LOWER RIGHT;So;0;ON;;;;;N;;;;; 259A;QUADRANT UPPER LEFT AND LOWER RIGHT;So;0;ON;;;;;N;;;;; 259B;QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER LEFT;So;0;ON;;;;;N;;;;; 259C;QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER RIGHT;So;0;ON;;;;;N;;;;; 259D;QUADRANT UPPER RIGHT;So;0;ON;;;;;N;;;;; 259E;QUADRANT UPPER RIGHT AND LOWER LEFT;So;0;ON;;;;;N;;;;; 259F;QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT;So;0;ON;;;;;N;;;;; 25A0;BLACK SQUARE;So;0;ON;;;;;N;;;;; 25A1;WHITE SQUARE;So;0;ON;;;;;N;;;;; 25A2;WHITE SQUARE WITH ROUNDED CORNERS;So;0;ON;;;;;N;;;;; 25A3;WHITE SQUARE CONTAINING BLACK SMALL SQUARE;So;0;ON;;;;;N;;;;; 25A4;SQUARE WITH HORIZONTAL FILL;So;0;ON;;;;;N;;;;; 25A5;SQUARE WITH VERTICAL FILL;So;0;ON;;;;;N;;;;; 25A6;SQUARE WITH ORTHOGONAL CROSSHATCH FILL;So;0;ON;;;;;N;;;;; 25A7;SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL;So;0;ON;;;;;N;;;;; 25A8;SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL;So;0;ON;;;;;N;;;;; 25A9;SQUARE WITH DIAGONAL CROSSHATCH FILL;So;0;ON;;;;;N;;;;; 25AA;BLACK SMALL SQUARE;So;0;ON;;;;;N;;;;; 25AB;WHITE SMALL SQUARE;So;0;ON;;;;;N;;;;; 25AC;BLACK RECTANGLE;So;0;ON;;;;;N;;;;; 25AD;WHITE RECTANGLE;So;0;ON;;;;;N;;;;; 25AE;BLACK VERTICAL RECTANGLE;So;0;ON;;;;;N;;;;; 25AF;WHITE VERTICAL RECTANGLE;So;0;ON;;;;;N;;;;; 25B0;BLACK PARALLELOGRAM;So;0;ON;;;;;N;;;;; 25B1;WHITE PARALLELOGRAM;So;0;ON;;;;;N;;;;; 25B2;BLACK UP-POINTING TRIANGLE;So;0;ON;;;;;N;BLACK UP POINTING TRIANGLE;;;; 25B3;WHITE UP-POINTING TRIANGLE;So;0;ON;;;;;N;WHITE UP POINTING TRIANGLE;;;; 25B4;BLACK UP-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;BLACK UP POINTING SMALL TRIANGLE;;;; 25B5;WHITE UP-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;WHITE UP POINTING SMALL TRIANGLE;;;; 25B6;BLACK RIGHT-POINTING TRIANGLE;So;0;ON;;;;;N;BLACK RIGHT POINTING TRIANGLE;;;; 25B7;WHITE RIGHT-POINTING TRIANGLE;Sm;0;ON;;;;;N;WHITE RIGHT POINTING TRIANGLE;;;; 25B8;BLACK RIGHT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;BLACK RIGHT POINTING SMALL TRIANGLE;;;; 25B9;WHITE RIGHT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;WHITE RIGHT POINTING SMALL TRIANGLE;;;; 25BA;BLACK RIGHT-POINTING POINTER;So;0;ON;;;;;N;BLACK RIGHT POINTING POINTER;;;; 25BB;WHITE RIGHT-POINTING POINTER;So;0;ON;;;;;N;WHITE RIGHT POINTING POINTER;;;; 25BC;BLACK DOWN-POINTING TRIANGLE;So;0;ON;;;;;N;BLACK DOWN POINTING TRIANGLE;;;; 25BD;WHITE DOWN-POINTING TRIANGLE;So;0;ON;;;;;N;WHITE DOWN POINTING TRIANGLE;;;; 25BE;BLACK DOWN-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;BLACK DOWN POINTING SMALL TRIANGLE;;;; 25BF;WHITE DOWN-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;WHITE DOWN POINTING SMALL TRIANGLE;;;; 25C0;BLACK LEFT-POINTING TRIANGLE;So;0;ON;;;;;N;BLACK LEFT POINTING TRIANGLE;;;; 25C1;WHITE LEFT-POINTING TRIANGLE;Sm;0;ON;;;;;N;WHITE LEFT POINTING TRIANGLE;;;; 25C2;BLACK LEFT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;BLACK LEFT POINTING SMALL TRIANGLE;;;; 25C3;WHITE LEFT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;WHITE LEFT POINTING SMALL TRIANGLE;;;; 25C4;BLACK LEFT-POINTING POINTER;So;0;ON;;;;;N;BLACK LEFT POINTING POINTER;;;; 25C5;WHITE LEFT-POINTING POINTER;So;0;ON;;;;;N;WHITE LEFT POINTING POINTER;;;; 25C6;BLACK DIAMOND;So;0;ON;;;;;N;;;;; 25C7;WHITE DIAMOND;So;0;ON;;;;;N;;;;; 25C8;WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND;So;0;ON;;;;;N;;;;; 25C9;FISHEYE;So;0;ON;;;;;N;;;;; 25CA;LOZENGE;So;0;ON;;;;;N;;;;; 25CB;WHITE CIRCLE;So;0;ON;;;;;N;;;;; 25CC;DOTTED CIRCLE;So;0;ON;;;;;N;;;;; 25CD;CIRCLE WITH VERTICAL FILL;So;0;ON;;;;;N;;;;; 25CE;BULLSEYE;So;0;ON;;;;;N;;;;; 25CF;BLACK CIRCLE;So;0;ON;;;;;N;;;;; 25D0;CIRCLE WITH LEFT HALF BLACK;So;0;ON;;;;;N;;;;; 25D1;CIRCLE WITH RIGHT HALF BLACK;So;0;ON;;;;;N;;;;; 25D2;CIRCLE WITH LOWER HALF BLACK;So;0;ON;;;;;N;;;;; 25D3;CIRCLE WITH UPPER HALF BLACK;So;0;ON;;;;;N;;;;; 25D4;CIRCLE WITH UPPER RIGHT QUADRANT BLACK;So;0;ON;;;;;N;;;;; 25D5;CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK;So;0;ON;;;;;N;;;;; 25D6;LEFT HALF BLACK CIRCLE;So;0;ON;;;;;N;;;;; 25D7;RIGHT HALF BLACK CIRCLE;So;0;ON;;;;;N;;;;; 25D8;INVERSE BULLET;So;0;ON;;;;;N;;;;; 25D9;INVERSE WHITE CIRCLE;So;0;ON;;;;;N;;;;; 25DA;UPPER HALF INVERSE WHITE CIRCLE;So;0;ON;;;;;N;;;;; 25DB;LOWER HALF INVERSE WHITE CIRCLE;So;0;ON;;;;;N;;;;; 25DC;UPPER LEFT QUADRANT CIRCULAR ARC;So;0;ON;;;;;N;;;;; 25DD;UPPER RIGHT QUADRANT CIRCULAR ARC;So;0;ON;;;;;N;;;;; 25DE;LOWER RIGHT QUADRANT CIRCULAR ARC;So;0;ON;;;;;N;;;;; 25DF;LOWER LEFT QUADRANT CIRCULAR ARC;So;0;ON;;;;;N;;;;; 25E0;UPPER HALF CIRCLE;So;0;ON;;;;;N;;;;; 25E1;LOWER HALF CIRCLE;So;0;ON;;;;;N;;;;; 25E2;BLACK LOWER RIGHT TRIANGLE;So;0;ON;;;;;N;;;;; 25E3;BLACK LOWER LEFT TRIANGLE;So;0;ON;;;;;N;;;;; 25E4;BLACK UPPER LEFT TRIANGLE;So;0;ON;;;;;N;;;;; 25E5;BLACK UPPER RIGHT TRIANGLE;So;0;ON;;;;;N;;;;; 25E6;WHITE BULLET;So;0;ON;;;;;N;;;;; 25E7;SQUARE WITH LEFT HALF BLACK;So;0;ON;;;;;N;;;;; 25E8;SQUARE WITH RIGHT HALF BLACK;So;0;ON;;;;;N;;;;; 25E9;SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK;So;0;ON;;;;;N;;;;; 25EA;SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK;So;0;ON;;;;;N;;;;; 25EB;WHITE SQUARE WITH VERTICAL BISECTING LINE;So;0;ON;;;;;N;;;;; 25EC;WHITE UP-POINTING TRIANGLE WITH DOT;So;0;ON;;;;;N;WHITE UP POINTING TRIANGLE WITH DOT;;;; 25ED;UP-POINTING TRIANGLE WITH LEFT HALF BLACK;So;0;ON;;;;;N;UP POINTING TRIANGLE WITH LEFT HALF BLACK;;;; 25EE;UP-POINTING TRIANGLE WITH RIGHT HALF BLACK;So;0;ON;;;;;N;UP POINTING TRIANGLE WITH RIGHT HALF BLACK;;;; 25EF;LARGE CIRCLE;So;0;ON;;;;;N;;;;; 25F0;WHITE SQUARE WITH UPPER LEFT QUADRANT;So;0;ON;;;;;N;;;;; 25F1;WHITE SQUARE WITH LOWER LEFT QUADRANT;So;0;ON;;;;;N;;;;; 25F2;WHITE SQUARE WITH LOWER RIGHT QUADRANT;So;0;ON;;;;;N;;;;; 25F3;WHITE SQUARE WITH UPPER RIGHT QUADRANT;So;0;ON;;;;;N;;;;; 25F4;WHITE CIRCLE WITH UPPER LEFT QUADRANT;So;0;ON;;;;;N;;;;; 25F5;WHITE CIRCLE WITH LOWER LEFT QUADRANT;So;0;ON;;;;;N;;;;; 25F6;WHITE CIRCLE WITH LOWER RIGHT QUADRANT;So;0;ON;;;;;N;;;;; 25F7;WHITE CIRCLE WITH UPPER RIGHT QUADRANT;So;0;ON;;;;;N;;;;; 25F8;UPPER LEFT TRIANGLE;Sm;0;ON;;;;;N;;;;; 25F9;UPPER RIGHT TRIANGLE;Sm;0;ON;;;;;N;;;;; 25FA;LOWER LEFT TRIANGLE;Sm;0;ON;;;;;N;;;;; 25FB;WHITE MEDIUM SQUARE;Sm;0;ON;;;;;N;;;;; 25FC;BLACK MEDIUM SQUARE;Sm;0;ON;;;;;N;;;;; 25FD;WHITE MEDIUM SMALL SQUARE;Sm;0;ON;;;;;N;;;;; 25FE;BLACK MEDIUM SMALL SQUARE;Sm;0;ON;;;;;N;;;;; 25FF;LOWER RIGHT TRIANGLE;Sm;0;ON;;;;;N;;;;; 2600;BLACK SUN WITH RAYS;So;0;ON;;;;;N;;;;; 2601;CLOUD;So;0;ON;;;;;N;;;;; 2602;UMBRELLA;So;0;ON;;;;;N;;;;; 2603;SNOWMAN;So;0;ON;;;;;N;;;;; 2604;COMET;So;0;ON;;;;;N;;;;; 2605;BLACK STAR;So;0;ON;;;;;N;;;;; 2606;WHITE STAR;So;0;ON;;;;;N;;;;; 2607;LIGHTNING;So;0;ON;;;;;N;;;;; 2608;THUNDERSTORM;So;0;ON;;;;;N;;;;; 2609;SUN;So;0;ON;;;;;N;;;;; 260A;ASCENDING NODE;So;0;ON;;;;;N;;;;; 260B;DESCENDING NODE;So;0;ON;;;;;N;;;;; 260C;CONJUNCTION;So;0;ON;;;;;N;;;;; 260D;OPPOSITION;So;0;ON;;;;;N;;;;; 260E;BLACK TELEPHONE;So;0;ON;;;;;N;;;;; 260F;WHITE TELEPHONE;So;0;ON;;;;;N;;;;; 2610;BALLOT BOX;So;0;ON;;;;;N;;;;; 2611;BALLOT BOX WITH CHECK;So;0;ON;;;;;N;;;;; 2612;BALLOT BOX WITH X;So;0;ON;;;;;N;;;;; 2613;SALTIRE;So;0;ON;;;;;N;;;;; 2614;UMBRELLA WITH RAIN DROPS;So;0;ON;;;;;N;;;;; 2615;HOT BEVERAGE;So;0;ON;;;;;N;;;;; 2616;WHITE SHOGI PIECE;So;0;ON;;;;;N;;;;; 2617;BLACK SHOGI PIECE;So;0;ON;;;;;N;;;;; 2619;REVERSED ROTATED FLORAL HEART BULLET;So;0;ON;;;;;N;;;;; 261A;BLACK LEFT POINTING INDEX;So;0;ON;;;;;N;;;;; 261B;BLACK RIGHT POINTING INDEX;So;0;ON;;;;;N;;;;; 261C;WHITE LEFT POINTING INDEX;So;0;ON;;;;;N;;;;; 261D;WHITE UP POINTING INDEX;So;0;ON;;;;;N;;;;; 261E;WHITE RIGHT POINTING INDEX;So;0;ON;;;;;N;;;;; 261F;WHITE DOWN POINTING INDEX;So;0;ON;;;;;N;;;;; 2620;SKULL AND CROSSBONES;So;0;ON;;;;;N;;;;; 2621;CAUTION SIGN;So;0;ON;;;;;N;;;;; 2622;RADIOACTIVE SIGN;So;0;ON;;;;;N;;;;; 2623;BIOHAZARD SIGN;So;0;ON;;;;;N;;;;; 2624;CADUCEUS;So;0;ON;;;;;N;;;;; 2625;ANKH;So;0;ON;;;;;N;;;;; 2626;ORTHODOX CROSS;So;0;ON;;;;;N;;;;; 2627;CHI RHO;So;0;ON;;;;;N;;;;; 2628;CROSS OF LORRAINE;So;0;ON;;;;;N;;;;; 2629;CROSS OF JERUSALEM;So;0;ON;;;;;N;;;;; 262A;STAR AND CRESCENT;So;0;ON;;;;;N;;;;; 262B;FARSI SYMBOL;So;0;ON;;;;;N;SYMBOL OF IRAN;;;; 262C;ADI SHAKTI;So;0;ON;;;;;N;;;;; 262D;HAMMER AND SICKLE;So;0;ON;;;;;N;;;;; 262E;PEACE SYMBOL;So;0;ON;;;;;N;;;;; 262F;YIN YANG;So;0;ON;;;;;N;;;;; 2630;TRIGRAM FOR HEAVEN;So;0;ON;;;;;N;;;;; 2631;TRIGRAM FOR LAKE;So;0;ON;;;;;N;;;;; 2632;TRIGRAM FOR FIRE;So;0;ON;;;;;N;;;;; 2633;TRIGRAM FOR THUNDER;So;0;ON;;;;;N;;;;; 2634;TRIGRAM FOR WIND;So;0;ON;;;;;N;;;;; 2635;TRIGRAM FOR WATER;So;0;ON;;;;;N;;;;; 2636;TRIGRAM FOR MOUNTAIN;So;0;ON;;;;;N;;;;; 2637;TRIGRAM FOR EARTH;So;0;ON;;;;;N;;;;; 2638;WHEEL OF DHARMA;So;0;ON;;;;;N;;;;; 2639;WHITE FROWNING FACE;So;0;ON;;;;;N;;;;; 263A;WHITE SMILING FACE;So;0;ON;;;;;N;;;;; 263B;BLACK SMILING FACE;So;0;ON;;;;;N;;;;; 263C;WHITE SUN WITH RAYS;So;0;ON;;;;;N;;;;; 263D;FIRST QUARTER MOON;So;0;ON;;;;;N;;;;; 263E;LAST QUARTER MOON;So;0;ON;;;;;N;;;;; 263F;MERCURY;So;0;ON;;;;;N;;;;; 2640;FEMALE SIGN;So;0;ON;;;;;N;;;;; 2641;EARTH;So;0;ON;;;;;N;;;;; 2642;MALE SIGN;So;0;ON;;;;;N;;;;; 2643;JUPITER;So;0;ON;;;;;N;;;;; 2644;SATURN;So;0;ON;;;;;N;;;;; 2645;URANUS;So;0;ON;;;;;N;;;;; 2646;NEPTUNE;So;0;ON;;;;;N;;;;; 2647;PLUTO;So;0;ON;;;;;N;;;;; 2648;ARIES;So;0;ON;;;;;N;;;;; 2649;TAURUS;So;0;ON;;;;;N;;;;; 264A;GEMINI;So;0;ON;;;;;N;;;;; 264B;CANCER;So;0;ON;;;;;N;;;;; 264C;LEO;So;0;ON;;;;;N;;;;; 264D;VIRGO;So;0;ON;;;;;N;;;;; 264E;LIBRA;So;0;ON;;;;;N;;;;; 264F;SCORPIUS;So;0;ON;;;;;N;;;;; 2650;SAGITTARIUS;So;0;ON;;;;;N;;;;; 2651;CAPRICORN;So;0;ON;;;;;N;;;;; 2652;AQUARIUS;So;0;ON;;;;;N;;;;; 2653;PISCES;So;0;ON;;;;;N;;;;; 2654;WHITE CHESS KING;So;0;ON;;;;;N;;;;; 2655;WHITE CHESS QUEEN;So;0;ON;;;;;N;;;;; 2656;WHITE CHESS ROOK;So;0;ON;;;;;N;;;;; 2657;WHITE CHESS BISHOP;So;0;ON;;;;;N;;;;; 2658;WHITE CHESS KNIGHT;So;0;ON;;;;;N;;;;; 2659;WHITE CHESS PAWN;So;0;ON;;;;;N;;;;; 265A;BLACK CHESS KING;So;0;ON;;;;;N;;;;; 265B;BLACK CHESS QUEEN;So;0;ON;;;;;N;;;;; 265C;BLACK CHESS ROOK;So;0;ON;;;;;N;;;;; 265D;BLACK CHESS BISHOP;So;0;ON;;;;;N;;;;; 265E;BLACK CHESS KNIGHT;So;0;ON;;;;;N;;;;; 265F;BLACK CHESS PAWN;So;0;ON;;;;;N;;;;; 2660;BLACK SPADE SUIT;So;0;ON;;;;;N;;;;; 2661;WHITE HEART SUIT;So;0;ON;;;;;N;;;;; 2662;WHITE DIAMOND SUIT;So;0;ON;;;;;N;;;;; 2663;BLACK CLUB SUIT;So;0;ON;;;;;N;;;;; 2664;WHITE SPADE SUIT;So;0;ON;;;;;N;;;;; 2665;BLACK HEART SUIT;So;0;ON;;;;;N;;;;; 2666;BLACK DIAMOND SUIT;So;0;ON;;;;;N;;;;; 2667;WHITE CLUB SUIT;So;0;ON;;;;;N;;;;; 2668;HOT SPRINGS;So;0;ON;;;;;N;;;;; 2669;QUARTER NOTE;So;0;ON;;;;;N;;;;; 266A;EIGHTH NOTE;So;0;ON;;;;;N;;;;; 266B;BEAMED EIGHTH NOTES;So;0;ON;;;;;N;BARRED EIGHTH NOTES;;;; 266C;BEAMED SIXTEENTH NOTES;So;0;ON;;;;;N;BARRED SIXTEENTH NOTES;;;; 266D;MUSIC FLAT SIGN;So;0;ON;;;;;N;FLAT;;;; 266E;MUSIC NATURAL SIGN;So;0;ON;;;;;N;NATURAL;;;; 266F;MUSIC SHARP SIGN;Sm;0;ON;;;;;N;SHARP;;;; 2670;WEST SYRIAC CROSS;So;0;ON;;;;;N;;;;; 2671;EAST SYRIAC CROSS;So;0;ON;;;;;N;;;;; 2672;UNIVERSAL RECYCLING SYMBOL;So;0;ON;;;;;N;;;;; 2673;RECYCLING SYMBOL FOR TYPE-1 PLASTICS;So;0;ON;;;;;N;;pete;;; 2674;RECYCLING SYMBOL FOR TYPE-2 PLASTICS;So;0;ON;;;;;N;;hdpe;;; 2675;RECYCLING SYMBOL FOR TYPE-3 PLASTICS;So;0;ON;;;;;N;;pvc;;; 2676;RECYCLING SYMBOL FOR TYPE-4 PLASTICS;So;0;ON;;;;;N;;ldpe;;; 2677;RECYCLING SYMBOL FOR TYPE-5 PLASTICS;So;0;ON;;;;;N;;pp;;; 2678;RECYCLING SYMBOL FOR TYPE-6 PLASTICS;So;0;ON;;;;;N;;ps;;; 2679;RECYCLING SYMBOL FOR TYPE-7 PLASTICS;So;0;ON;;;;;N;;other;;; 267A;RECYCLING SYMBOL FOR GENERIC MATERIALS;So;0;ON;;;;;N;;;;; 267B;BLACK UNIVERSAL RECYCLING SYMBOL;So;0;ON;;;;;N;;;;; 267C;RECYCLED PAPER SYMBOL;So;0;ON;;;;;N;;;;; 267D;PARTIALLY-RECYCLED PAPER SYMBOL;So;0;ON;;;;;N;;;;; 2680;DIE FACE-1;So;0;ON;;;;;N;;;;; 2681;DIE FACE-2;So;0;ON;;;;;N;;;;; 2682;DIE FACE-3;So;0;ON;;;;;N;;;;; 2683;DIE FACE-4;So;0;ON;;;;;N;;;;; 2684;DIE FACE-5;So;0;ON;;;;;N;;;;; 2685;DIE FACE-6;So;0;ON;;;;;N;;;;; 2686;WHITE CIRCLE WITH DOT RIGHT;So;0;ON;;;;;N;;;;; 2687;WHITE CIRCLE WITH TWO DOTS;So;0;ON;;;;;N;;;;; 2688;BLACK CIRCLE WITH WHITE DOT RIGHT;So;0;ON;;;;;N;;;;; 2689;BLACK CIRCLE WITH TWO WHITE DOTS;So;0;ON;;;;;N;;;;; 268A;MONOGRAM FOR YANG;So;0;ON;;;;;N;;;;; 268B;MONOGRAM FOR YIN;So;0;ON;;;;;N;;;;; 268C;DIGRAM FOR GREATER YANG;So;0;ON;;;;;N;;;;; 268D;DIGRAM FOR LESSER YIN;So;0;ON;;;;;N;;;;; 268E;DIGRAM FOR LESSER YANG;So;0;ON;;;;;N;;;;; 268F;DIGRAM FOR GREATER YIN;So;0;ON;;;;;N;;;;; 2690;WHITE FLAG;So;0;ON;;;;;N;;;;; 2691;BLACK FLAG;So;0;ON;;;;;N;;;;; 26A0;WARNING SIGN;So;0;ON;;;;;N;;;;; 26A1;HIGH VOLTAGE SIGN;So;0;ON;;;;;N;;;;; 2701;UPPER BLADE SCISSORS;So;0;ON;;;;;N;;;;; 2702;BLACK SCISSORS;So;0;ON;;;;;N;;;;; 2703;LOWER BLADE SCISSORS;So;0;ON;;;;;N;;;;; 2704;WHITE SCISSORS;So;0;ON;;;;;N;;;;; 2706;TELEPHONE LOCATION SIGN;So;0;ON;;;;;N;;;;; 2707;TAPE DRIVE;So;0;ON;;;;;N;;;;; 2708;AIRPLANE;So;0;ON;;;;;N;;;;; 2709;ENVELOPE;So;0;ON;;;;;N;;;;; 270C;VICTORY HAND;So;0;ON;;;;;N;;;;; 270D;WRITING HAND;So;0;ON;;;;;N;;;;; 270E;LOWER RIGHT PENCIL;So;0;ON;;;;;N;;;;; 270F;PENCIL;So;0;ON;;;;;N;;;;; 2710;UPPER RIGHT PENCIL;So;0;ON;;;;;N;;;;; 2711;WHITE NIB;So;0;ON;;;;;N;;;;; 2712;BLACK NIB;So;0;ON;;;;;N;;;;; 2713;CHECK MARK;So;0;ON;;;;;N;;;;; 2714;HEAVY CHECK MARK;So;0;ON;;;;;N;;;;; 2715;MULTIPLICATION X;So;0;ON;;;;;N;;;;; 2716;HEAVY MULTIPLICATION X;So;0;ON;;;;;N;;;;; 2717;BALLOT X;So;0;ON;;;;;N;;;;; 2718;HEAVY BALLOT X;So;0;ON;;;;;N;;;;; 2719;OUTLINED GREEK CROSS;So;0;ON;;;;;N;;;;; 271A;HEAVY GREEK CROSS;So;0;ON;;;;;N;;;;; 271B;OPEN CENTRE CROSS;So;0;ON;;;;;N;OPEN CENTER CROSS;;;; 271C;HEAVY OPEN CENTRE CROSS;So;0;ON;;;;;N;HEAVY OPEN CENTER CROSS;;;; 271D;LATIN CROSS;So;0;ON;;;;;N;;;;; 271E;SHADOWED WHITE LATIN CROSS;So;0;ON;;;;;N;;;;; 271F;OUTLINED LATIN CROSS;So;0;ON;;;;;N;;;;; 2720;MALTESE CROSS;So;0;ON;;;;;N;;;;; 2721;STAR OF DAVID;So;0;ON;;;;;N;;;;; 2722;FOUR TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; 2723;FOUR BALLOON-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; 2724;HEAVY FOUR BALLOON-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; 2725;FOUR CLUB-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; 2726;BLACK FOUR POINTED STAR;So;0;ON;;;;;N;;;;; 2727;WHITE FOUR POINTED STAR;So;0;ON;;;;;N;;;;; 2729;STRESS OUTLINED WHITE STAR;So;0;ON;;;;;N;;;;; 272A;CIRCLED WHITE STAR;So;0;ON;;;;;N;;;;; 272B;OPEN CENTRE BLACK STAR;So;0;ON;;;;;N;OPEN CENTER BLACK STAR;;;; 272C;BLACK CENTRE WHITE STAR;So;0;ON;;;;;N;BLACK CENTER WHITE STAR;;;; 272D;OUTLINED BLACK STAR;So;0;ON;;;;;N;;;;; 272E;HEAVY OUTLINED BLACK STAR;So;0;ON;;;;;N;;;;; 272F;PINWHEEL STAR;So;0;ON;;;;;N;;;;; 2730;SHADOWED WHITE STAR;So;0;ON;;;;;N;;;;; 2731;HEAVY ASTERISK;So;0;ON;;;;;N;;;;; 2732;OPEN CENTRE ASTERISK;So;0;ON;;;;;N;OPEN CENTER ASTERISK;;;; 2733;EIGHT SPOKED ASTERISK;So;0;ON;;;;;N;;;;; 2734;EIGHT POINTED BLACK STAR;So;0;ON;;;;;N;;;;; 2735;EIGHT POINTED PINWHEEL STAR;So;0;ON;;;;;N;;;;; 2736;SIX POINTED BLACK STAR;So;0;ON;;;;;N;;;;; 2737;EIGHT POINTED RECTILINEAR BLACK STAR;So;0;ON;;;;;N;;;;; 2738;HEAVY EIGHT POINTED RECTILINEAR BLACK STAR;So;0;ON;;;;;N;;;;; 2739;TWELVE POINTED BLACK STAR;So;0;ON;;;;;N;;;;; 273A;SIXTEEN POINTED ASTERISK;So;0;ON;;;;;N;;;;; 273B;TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; 273C;OPEN CENTRE TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;OPEN CENTER TEARDROP-SPOKED ASTERISK;;;; 273D;HEAVY TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; 273E;SIX PETALLED BLACK AND WHITE FLORETTE;So;0;ON;;;;;N;;;;; 273F;BLACK FLORETTE;So;0;ON;;;;;N;;;;; 2740;WHITE FLORETTE;So;0;ON;;;;;N;;;;; 2741;EIGHT PETALLED OUTLINED BLACK FLORETTE;So;0;ON;;;;;N;;;;; 2742;CIRCLED OPEN CENTRE EIGHT POINTED STAR;So;0;ON;;;;;N;CIRCLED OPEN CENTER EIGHT POINTED STAR;;;; 2743;HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK;So;0;ON;;;;;N;;;;; 2744;SNOWFLAKE;So;0;ON;;;;;N;;;;; 2745;TIGHT TRIFOLIATE SNOWFLAKE;So;0;ON;;;;;N;;;;; 2746;HEAVY CHEVRON SNOWFLAKE;So;0;ON;;;;;N;;;;; 2747;SPARKLE;So;0;ON;;;;;N;;;;; 2748;HEAVY SPARKLE;So;0;ON;;;;;N;;;;; 2749;BALLOON-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; 274A;EIGHT TEARDROP-SPOKED PROPELLER ASTERISK;So;0;ON;;;;;N;;;;; 274B;HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK;So;0;ON;;;;;N;;;;; 274D;SHADOWED WHITE CIRCLE;So;0;ON;;;;;N;;;;; 274F;LOWER RIGHT DROP-SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;; 2750;UPPER RIGHT DROP-SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;; 2751;LOWER RIGHT SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;; 2752;UPPER RIGHT SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;; 2756;BLACK DIAMOND MINUS WHITE X;So;0;ON;;;;;N;;;;; 2758;LIGHT VERTICAL BAR;So;0;ON;;;;;N;;;;; 2759;MEDIUM VERTICAL BAR;So;0;ON;;;;;N;;;;; 275A;HEAVY VERTICAL BAR;So;0;ON;;;;;N;;;;; 275B;HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; 275C;HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; 275D;HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; 275E;HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; 2761;CURVED STEM PARAGRAPH SIGN ORNAMENT;So;0;ON;;;;;N;;;;; 2762;HEAVY EXCLAMATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; 2763;HEAVY HEART EXCLAMATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; 2764;HEAVY BLACK HEART;So;0;ON;;;;;N;;;;; 2765;ROTATED HEAVY BLACK HEART BULLET;So;0;ON;;;;;N;;;;; 2766;FLORAL HEART;So;0;ON;;;;;N;;;;; 2767;ROTATED FLORAL HEART BULLET;So;0;ON;;;;;N;;;;; 2768;MEDIUM LEFT PARENTHESIS ORNAMENT;Ps;0;ON;;;;;Y;;;;; 2769;MEDIUM RIGHT PARENTHESIS ORNAMENT;Pe;0;ON;;;;;Y;;;;; 276A;MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT;Ps;0;ON;;;;;Y;;;;; 276B;MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT;Pe;0;ON;;;;;Y;;;;; 276C;MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT;Ps;0;ON;;;;;Y;;;;; 276D;MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT;Pe;0;ON;;;;;Y;;;;; 276E;HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT;Ps;0;ON;;;;;Y;;;;; 276F;HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT;Pe;0;ON;;;;;Y;;;;; 2770;HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT;Ps;0;ON;;;;;Y;;;;; 2771;HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT;Pe;0;ON;;;;;Y;;;;; 2772;LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT;Ps;0;ON;;;;;Y;;;;; 2773;LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT;Pe;0;ON;;;;;Y;;;;; 2774;MEDIUM LEFT CURLY BRACKET ORNAMENT;Ps;0;ON;;;;;Y;;;;; 2775;MEDIUM RIGHT CURLY BRACKET ORNAMENT;Pe;0;ON;;;;;Y;;;;; 2776;DINGBAT NEGATIVE CIRCLED DIGIT ONE;No;0;ON;;;1;1;N;INVERSE CIRCLED DIGIT ONE;;;; 2777;DINGBAT NEGATIVE CIRCLED DIGIT TWO;No;0;ON;;;2;2;N;INVERSE CIRCLED DIGIT TWO;;;; 2778;DINGBAT NEGATIVE CIRCLED DIGIT THREE;No;0;ON;;;3;3;N;INVERSE CIRCLED DIGIT THREE;;;; 2779;DINGBAT NEGATIVE CIRCLED DIGIT FOUR;No;0;ON;;;4;4;N;INVERSE CIRCLED DIGIT FOUR;;;; 277A;DINGBAT NEGATIVE CIRCLED DIGIT FIVE;No;0;ON;;;5;5;N;INVERSE CIRCLED DIGIT FIVE;;;; 277B;DINGBAT NEGATIVE CIRCLED DIGIT SIX;No;0;ON;;;6;6;N;INVERSE CIRCLED DIGIT SIX;;;; 277C;DINGBAT NEGATIVE CIRCLED DIGIT SEVEN;No;0;ON;;;7;7;N;INVERSE CIRCLED DIGIT SEVEN;;;; 277D;DINGBAT NEGATIVE CIRCLED DIGIT EIGHT;No;0;ON;;;8;8;N;INVERSE CIRCLED DIGIT EIGHT;;;; 277E;DINGBAT NEGATIVE CIRCLED DIGIT NINE;No;0;ON;;;9;9;N;INVERSE CIRCLED DIGIT NINE;;;; 277F;DINGBAT NEGATIVE CIRCLED NUMBER TEN;No;0;ON;;;;10;N;INVERSE CIRCLED NUMBER TEN;;;; 2780;DINGBAT CIRCLED SANS-SERIF DIGIT ONE;No;0;ON;;;1;1;N;CIRCLED SANS-SERIF DIGIT ONE;;;; 2781;DINGBAT CIRCLED SANS-SERIF DIGIT TWO;No;0;ON;;;2;2;N;CIRCLED SANS-SERIF DIGIT TWO;;;; 2782;DINGBAT CIRCLED SANS-SERIF DIGIT THREE;No;0;ON;;;3;3;N;CIRCLED SANS-SERIF DIGIT THREE;;;; 2783;DINGBAT CIRCLED SANS-SERIF DIGIT FOUR;No;0;ON;;;4;4;N;CIRCLED SANS-SERIF DIGIT FOUR;;;; 2784;DINGBAT CIRCLED SANS-SERIF DIGIT FIVE;No;0;ON;;;5;5;N;CIRCLED SANS-SERIF DIGIT FIVE;;;; 2785;DINGBAT CIRCLED SANS-SERIF DIGIT SIX;No;0;ON;;;6;6;N;CIRCLED SANS-SERIF DIGIT SIX;;;; 2786;DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN;No;0;ON;;;7;7;N;CIRCLED SANS-SERIF DIGIT SEVEN;;;; 2787;DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT;No;0;ON;;;8;8;N;CIRCLED SANS-SERIF DIGIT EIGHT;;;; 2788;DINGBAT CIRCLED SANS-SERIF DIGIT NINE;No;0;ON;;;9;9;N;CIRCLED SANS-SERIF DIGIT NINE;;;; 2789;DINGBAT CIRCLED SANS-SERIF NUMBER TEN;No;0;ON;;;;10;N;CIRCLED SANS-SERIF NUMBER TEN;;;; 278A;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE;No;0;ON;;;1;1;N;INVERSE CIRCLED SANS-SERIF DIGIT ONE;;;; 278B;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO;No;0;ON;;;2;2;N;INVERSE CIRCLED SANS-SERIF DIGIT TWO;;;; 278C;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE;No;0;ON;;;3;3;N;INVERSE CIRCLED SANS-SERIF DIGIT THREE;;;; 278D;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR;No;0;ON;;;4;4;N;INVERSE CIRCLED SANS-SERIF DIGIT FOUR;;;; 278E;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE;No;0;ON;;;5;5;N;INVERSE CIRCLED SANS-SERIF DIGIT FIVE;;;; 278F;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX;No;0;ON;;;6;6;N;INVERSE CIRCLED SANS-SERIF DIGIT SIX;;;; 2790;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN;No;0;ON;;;7;7;N;INVERSE CIRCLED SANS-SERIF DIGIT SEVEN;;;; 2791;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT;No;0;ON;;;8;8;N;INVERSE CIRCLED SANS-SERIF DIGIT EIGHT;;;; 2792;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE;No;0;ON;;;9;9;N;INVERSE CIRCLED SANS-SERIF DIGIT NINE;;;; 2793;DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN;No;0;ON;;;;10;N;INVERSE CIRCLED SANS-SERIF NUMBER TEN;;;; 2794;HEAVY WIDE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY WIDE-HEADED RIGHT ARROW;;;; 2798;HEAVY SOUTH EAST ARROW;So;0;ON;;;;;N;HEAVY LOWER RIGHT ARROW;;;; 2799;HEAVY RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY RIGHT ARROW;;;; 279A;HEAVY NORTH EAST ARROW;So;0;ON;;;;;N;HEAVY UPPER RIGHT ARROW;;;; 279B;DRAFTING POINT RIGHTWARDS ARROW;So;0;ON;;;;;N;DRAFTING POINT RIGHT ARROW;;;; 279C;HEAVY ROUND-TIPPED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY ROUND-TIPPED RIGHT ARROW;;;; 279D;TRIANGLE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;TRIANGLE-HEADED RIGHT ARROW;;;; 279E;HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY TRIANGLE-HEADED RIGHT ARROW;;;; 279F;DASHED TRIANGLE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;DASHED TRIANGLE-HEADED RIGHT ARROW;;;; 27A0;HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY DASHED TRIANGLE-HEADED RIGHT ARROW;;;; 27A1;BLACK RIGHTWARDS ARROW;So;0;ON;;;;;N;BLACK RIGHT ARROW;;;; 27A2;THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD;So;0;ON;;;;;N;THREE-D TOP-LIGHTED RIGHT ARROWHEAD;;;; 27A3;THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD;So;0;ON;;;;;N;THREE-D BOTTOM-LIGHTED RIGHT ARROWHEAD;;;; 27A4;BLACK RIGHTWARDS ARROWHEAD;So;0;ON;;;;;N;BLACK RIGHT ARROWHEAD;;;; 27A5;HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY BLACK CURVED DOWN AND RIGHT ARROW;;;; 27A6;HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY BLACK CURVED UP AND RIGHT ARROW;;;; 27A7;SQUAT BLACK RIGHTWARDS ARROW;So;0;ON;;;;;N;SQUAT BLACK RIGHT ARROW;;;; 27A8;HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY CONCAVE-POINTED BLACK RIGHT ARROW;;;; 27A9;RIGHT-SHADED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;RIGHT-SHADED WHITE RIGHT ARROW;;;; 27AA;LEFT-SHADED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;LEFT-SHADED WHITE RIGHT ARROW;;;; 27AB;BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;BACK-TILTED SHADOWED WHITE RIGHT ARROW;;;; 27AC;FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;FRONT-TILTED SHADOWED WHITE RIGHT ARROW;;;; 27AD;HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY LOWER RIGHT-SHADOWED WHITE RIGHT ARROW;;;; 27AE;HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY UPPER RIGHT-SHADOWED WHITE RIGHT ARROW;;;; 27AF;NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHT ARROW;;;; 27B1;NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHT ARROW;;;; 27B2;CIRCLED HEAVY WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;CIRCLED HEAVY WHITE RIGHT ARROW;;;; 27B3;WHITE-FEATHERED RIGHTWARDS ARROW;So;0;ON;;;;;N;WHITE-FEATHERED RIGHT ARROW;;;; 27B4;BLACK-FEATHERED SOUTH EAST ARROW;So;0;ON;;;;;N;BLACK-FEATHERED LOWER RIGHT ARROW;;;; 27B5;BLACK-FEATHERED RIGHTWARDS ARROW;So;0;ON;;;;;N;BLACK-FEATHERED RIGHT ARROW;;;; 27B6;BLACK-FEATHERED NORTH EAST ARROW;So;0;ON;;;;;N;BLACK-FEATHERED UPPER RIGHT ARROW;;;; 27B7;HEAVY BLACK-FEATHERED SOUTH EAST ARROW;So;0;ON;;;;;N;HEAVY BLACK-FEATHERED LOWER RIGHT ARROW;;;; 27B8;HEAVY BLACK-FEATHERED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY BLACK-FEATHERED RIGHT ARROW;;;; 27B9;HEAVY BLACK-FEATHERED NORTH EAST ARROW;So;0;ON;;;;;N;HEAVY BLACK-FEATHERED UPPER RIGHT ARROW;;;; 27BA;TEARDROP-BARBED RIGHTWARDS ARROW;So;0;ON;;;;;N;TEARDROP-BARBED RIGHT ARROW;;;; 27BB;HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY TEARDROP-SHANKED RIGHT ARROW;;;; 27BC;WEDGE-TAILED RIGHTWARDS ARROW;So;0;ON;;;;;N;WEDGE-TAILED RIGHT ARROW;;;; 27BD;HEAVY WEDGE-TAILED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY WEDGE-TAILED RIGHT ARROW;;;; 27BE;OPEN-OUTLINED RIGHTWARDS ARROW;So;0;ON;;;;;N;OPEN-OUTLINED RIGHT ARROW;;;; 27D0;WHITE DIAMOND WITH CENTRED DOT;Sm;0;ON;;;;;N;;;;; 27D1;AND WITH DOT;Sm;0;ON;;;;;N;;;;; 27D2;ELEMENT OF OPENING UPWARDS;Sm;0;ON;;;;;N;;;;; 27D3;LOWER RIGHT CORNER WITH DOT;Sm;0;ON;;;;;Y;;;;; 27D4;UPPER LEFT CORNER WITH DOT;Sm;0;ON;;;;;Y;;;;; 27D5;LEFT OUTER JOIN;Sm;0;ON;;;;;Y;;;;; 27D6;RIGHT OUTER JOIN;Sm;0;ON;;;;;Y;;;;; 27D7;FULL OUTER JOIN;Sm;0;ON;;;;;N;;;;; 27D8;LARGE UP TACK;Sm;0;ON;;;;;N;;;;; 27D9;LARGE DOWN TACK;Sm;0;ON;;;;;N;;;;; 27DA;LEFT AND RIGHT DOUBLE TURNSTILE;Sm;0;ON;;;;;N;;;;; 27DB;LEFT AND RIGHT TACK;Sm;0;ON;;;;;N;;;;; 27DC;LEFT MULTIMAP;Sm;0;ON;;;;;Y;;;;; 27DD;LONG RIGHT TACK;Sm;0;ON;;;;;Y;;;;; 27DE;LONG LEFT TACK;Sm;0;ON;;;;;Y;;;;; 27DF;UP TACK WITH CIRCLE ABOVE;Sm;0;ON;;;;;N;;;;; 27E0;LOZENGE DIVIDED BY HORIZONTAL RULE;Sm;0;ON;;;;;N;;;;; 27E1;WHITE CONCAVE-SIDED DIAMOND;Sm;0;ON;;;;;N;;;;; 27E2;WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK;Sm;0;ON;;;;;Y;;;;; 27E3;WHITE CONCAVE-SIDED DIAMOND WITH RIGHTWARDS TICK;Sm;0;ON;;;;;Y;;;;; 27E4;WHITE SQUARE WITH LEFTWARDS TICK;Sm;0;ON;;;;;Y;;;;; 27E5;WHITE SQUARE WITH RIGHTWARDS TICK;Sm;0;ON;;;;;Y;;;;; 27E6;MATHEMATICAL LEFT WHITE SQUARE BRACKET;Ps;0;ON;;;;;Y;;;;; 27E7;MATHEMATICAL RIGHT WHITE SQUARE BRACKET;Pe;0;ON;;;;;Y;;;;; 27E8;MATHEMATICAL LEFT ANGLE BRACKET;Ps;0;ON;;;;;Y;;;;; 27E9;MATHEMATICAL RIGHT ANGLE BRACKET;Pe;0;ON;;;;;Y;;;;; 27EA;MATHEMATICAL LEFT DOUBLE ANGLE BRACKET;Ps;0;ON;;;;;Y;;;;; 27EB;MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET;Pe;0;ON;;;;;Y;;;;; 27F0;UPWARDS QUADRUPLE ARROW;Sm;0;ON;;;;;N;;;;; 27F1;DOWNWARDS QUADRUPLE ARROW;Sm;0;ON;;;;;N;;;;; 27F2;ANTICLOCKWISE GAPPED CIRCLE ARROW;Sm;0;ON;;;;;N;;;;; 27F3;CLOCKWISE GAPPED CIRCLE ARROW;Sm;0;ON;;;;;N;;;;; 27F4;RIGHT ARROW WITH CIRCLED PLUS;Sm;0;ON;;;;;N;;;;; 27F5;LONG LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;; 27F6;LONG RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;; 27F7;LONG LEFT RIGHT ARROW;Sm;0;ON;;;;;N;;;;; 27F8;LONG LEFTWARDS DOUBLE ARROW;Sm;0;ON;;;;;N;;;;; 27F9;LONG RIGHTWARDS DOUBLE ARROW;Sm;0;ON;;;;;N;;;;; 27FA;LONG LEFT RIGHT DOUBLE ARROW;Sm;0;ON;;;;;N;;;;; 27FB;LONG LEFTWARDS ARROW FROM BAR;Sm;0;ON;;;;;N;;;;; 27FC;LONG RIGHTWARDS ARROW FROM BAR;Sm;0;ON;;;;;N;;;;; 27FD;LONG LEFTWARDS DOUBLE ARROW FROM BAR;Sm;0;ON;;;;;N;;;;; 27FE;LONG RIGHTWARDS DOUBLE ARROW FROM BAR;Sm;0;ON;;;;;N;;;;; 27FF;LONG RIGHTWARDS SQUIGGLE ARROW;Sm;0;ON;;;;;N;;;;; 2800;BRAILLE PATTERN BLANK;So;0;ON;;;;;N;;;;; 2801;BRAILLE PATTERN DOTS-1;So;0;ON;;;;;N;;;;; 2802;BRAILLE PATTERN DOTS-2;So;0;ON;;;;;N;;;;; 2803;BRAILLE PATTERN DOTS-12;So;0;ON;;;;;N;;;;; 2804;BRAILLE PATTERN DOTS-3;So;0;ON;;;;;N;;;;; 2805;BRAILLE PATTERN DOTS-13;So;0;ON;;;;;N;;;;; 2806;BRAILLE PATTERN DOTS-23;So;0;ON;;;;;N;;;;; 2807;BRAILLE PATTERN DOTS-123;So;0;ON;;;;;N;;;;; 2808;BRAILLE PATTERN DOTS-4;So;0;ON;;;;;N;;;;; 2809;BRAILLE PATTERN DOTS-14;So;0;ON;;;;;N;;;;; 280A;BRAILLE PATTERN DOTS-24;So;0;ON;;;;;N;;;;; 280B;BRAILLE PATTERN DOTS-124;So;0;ON;;;;;N;;;;; 280C;BRAILLE PATTERN DOTS-34;So;0;ON;;;;;N;;;;; 280D;BRAILLE PATTERN DOTS-134;So;0;ON;;;;;N;;;;; 280E;BRAILLE PATTERN DOTS-234;So;0;ON;;;;;N;;;;; 280F;BRAILLE PATTERN DOTS-1234;So;0;ON;;;;;N;;;;; 2810;BRAILLE PATTERN DOTS-5;So;0;ON;;;;;N;;;;; 2811;BRAILLE PATTERN DOTS-15;So;0;ON;;;;;N;;;;; 2812;BRAILLE PATTERN DOTS-25;So;0;ON;;;;;N;;;;; 2813;BRAILLE PATTERN DOTS-125;So;0;ON;;;;;N;;;;; 2814;BRAILLE PATTERN DOTS-35;So;0;ON;;;;;N;;;;; 2815;BRAILLE PATTERN DOTS-135;So;0;ON;;;;;N;;;;; 2816;BRAILLE PATTERN DOTS-235;So;0;ON;;;;;N;;;;; 2817;BRAILLE PATTERN DOTS-1235;So;0;ON;;;;;N;;;;; 2818;BRAILLE PATTERN DOTS-45;So;0;ON;;;;;N;;;;; 2819;BRAILLE PATTERN DOTS-145;So;0;ON;;;;;N;;;;; 281A;BRAILLE PATTERN DOTS-245;So;0;ON;;;;;N;;;;; 281B;BRAILLE PATTERN DOTS-1245;So;0;ON;;;;;N;;;;; 281C;BRAILLE PATTERN DOTS-345;So;0;ON;;;;;N;;;;; 281D;BRAILLE PATTERN DOTS-1345;So;0;ON;;;;;N;;;;; 281E;BRAILLE PATTERN DOTS-2345;So;0;ON;;;;;N;;;;; 281F;BRAILLE PATTERN DOTS-12345;So;0;ON;;;;;N;;;;; 2820;BRAILLE PATTERN DOTS-6;So;0;ON;;;;;N;;;;; 2821;BRAILLE PATTERN DOTS-16;So;0;ON;;;;;N;;;;; 2822;BRAILLE PATTERN DOTS-26;So;0;ON;;;;;N;;;;; 2823;BRAILLE PATTERN DOTS-126;So;0;ON;;;;;N;;;;; 2824;BRAILLE PATTERN DOTS-36;So;0;ON;;;;;N;;;;; 2825;BRAILLE PATTERN DOTS-136;So;0;ON;;;;;N;;;;; 2826;BRAILLE PATTERN DOTS-236;So;0;ON;;;;;N;;;;; 2827;BRAILLE PATTERN DOTS-1236;So;0;ON;;;;;N;;;;; 2828;BRAILLE PATTERN DOTS-46;So;0;ON;;;;;N;;;;; 2829;BRAILLE PATTERN DOTS-146;So;0;ON;;;;;N;;;;; 282A;BRAILLE PATTERN DOTS-246;So;0;ON;;;;;N;;;;; 282B;BRAILLE PATTERN DOTS-1246;So;0;ON;;;;;N;;;;; 282C;BRAILLE PATTERN DOTS-346;So;0;ON;;;;;N;;;;; 282D;BRAILLE PATTERN DOTS-1346;So;0;ON;;;;;N;;;;; 282E;BRAILLE PATTERN DOTS-2346;So;0;ON;;;;;N;;;;; 282F;BRAILLE PATTERN DOTS-12346;So;0;ON;;;;;N;;;;; 2830;BRAILLE PATTERN DOTS-56;So;0;ON;;;;;N;;;;; 2831;BRAILLE PATTERN DOTS-156;So;0;ON;;;;;N;;;;; 2832;BRAILLE PATTERN DOTS-256;So;0;ON;;;;;N;;;;; 2833;BRAILLE PATTERN DOTS-1256;So;0;ON;;;;;N;;;;; 2834;BRAILLE PATTERN DOTS-356;So;0;ON;;;;;N;;;;; 2835;BRAILLE PATTERN DOTS-1356;So;0;ON;;;;;N;;;;; 2836;BRAILLE PATTERN DOTS-2356;So;0;ON;;;;;N;;;;; 2837;BRAILLE PATTERN DOTS-12356;So;0;ON;;;;;N;;;;; 2838;BRAILLE PATTERN DOTS-456;So;0;ON;;;;;N;;;;; 2839;BRAILLE PATTERN DOTS-1456;So;0;ON;;;;;N;;;;; 283A;BRAILLE PATTERN DOTS-2456;So;0;ON;;;;;N;;;;; 283B;BRAILLE PATTERN DOTS-12456;So;0;ON;;;;;N;;;;; 283C;BRAILLE PATTERN DOTS-3456;So;0;ON;;;;;N;;;;; 283D;BRAILLE PATTERN DOTS-13456;So;0;ON;;;;;N;;;;; 283E;BRAILLE PATTERN DOTS-23456;So;0;ON;;;;;N;;;;; 283F;BRAILLE PATTERN DOTS-123456;So;0;ON;;;;;N;;;;; 2840;BRAILLE PATTERN DOTS-7;So;0;ON;;;;;N;;;;; 2841;BRAILLE PATTERN DOTS-17;So;0;ON;;;;;N;;;;; 2842;BRAILLE PATTERN DOTS-27;So;0;ON;;;;;N;;;;; 2843;BRAILLE PATTERN DOTS-127;So;0;ON;;;;;N;;;;; 2844;BRAILLE PATTERN DOTS-37;So;0;ON;;;;;N;;;;; 2845;BRAILLE PATTERN DOTS-137;So;0;ON;;;;;N;;;;; 2846;BRAILLE PATTERN DOTS-237;So;0;ON;;;;;N;;;;; 2847;BRAILLE PATTERN DOTS-1237;So;0;ON;;;;;N;;;;; 2848;BRAILLE PATTERN DOTS-47;So;0;ON;;;;;N;;;;; 2849;BRAILLE PATTERN DOTS-147;So;0;ON;;;;;N;;;;; 284A;BRAILLE PATTERN DOTS-247;So;0;ON;;;;;N;;;;; 284B;BRAILLE PATTERN DOTS-1247;So;0;ON;;;;;N;;;;; 284C;BRAILLE PATTERN DOTS-347;So;0;ON;;;;;N;;;;; 284D;BRAILLE PATTERN DOTS-1347;So;0;ON;;;;;N;;;;; 284E;BRAILLE PATTERN DOTS-2347;So;0;ON;;;;;N;;;;; 284F;BRAILLE PATTERN DOTS-12347;So;0;ON;;;;;N;;;;; 2850;BRAILLE PATTERN DOTS-57;So;0;ON;;;;;N;;;;; 2851;BRAILLE PATTERN DOTS-157;So;0;ON;;;;;N;;;;; 2852;BRAILLE PATTERN DOTS-257;So;0;ON;;;;;N;;;;; 2853;BRAILLE PATTERN DOTS-1257;So;0;ON;;;;;N;;;;; 2854;BRAILLE PATTERN DOTS-357;So;0;ON;;;;;N;;;;; 2855;BRAILLE PATTERN DOTS-1357;So;0;ON;;;;;N;;;;; 2856;BRAILLE PATTERN DOTS-2357;So;0;ON;;;;;N;;;;; 2857;BRAILLE PATTERN DOTS-12357;So;0;ON;;;;;N;;;;; 2858;BRAILLE PATTERN DOTS-457;So;0;ON;;;;;N;;;;; 2859;BRAILLE PATTERN DOTS-1457;So;0;ON;;;;;N;;;;; 285A;BRAILLE PATTERN DOTS-2457;So;0;ON;;;;;N;;;;; 285B;BRAILLE PATTERN DOTS-12457;So;0;ON;;;;;N;;;;; 285C;BRAILLE PATTERN DOTS-3457;So;0;ON;;;;;N;;;;; 285D;BRAILLE PATTERN DOTS-13457;So;0;ON;;;;;N;;;;; 285E;BRAILLE PATTERN DOTS-23457;So;0;ON;;;;;N;;;;; 285F;BRAILLE PATTERN DOTS-123457;So;0;ON;;;;;N;;;;; 2860;BRAILLE PATTERN DOTS-67;So;0;ON;;;;;N;;;;; 2861;BRAILLE PATTERN DOTS-167;So;0;ON;;;;;N;;;;; 2862;BRAILLE PATTERN DOTS-267;So;0;ON;;;;;N;;;;; 2863;BRAILLE PATTERN DOTS-1267;So;0;ON;;;;;N;;;;; 2864;BRAILLE PATTERN DOTS-367;So;0;ON;;;;;N;;;;; 2865;BRAILLE PATTERN DOTS-1367;So;0;ON;;;;;N;;;;; 2866;BRAILLE PATTERN DOTS-2367;So;0;ON;;;;;N;;;;; 2867;BRAILLE PATTERN DOTS-12367;So;0;ON;;;;;N;;;;; 2868;BRAILLE PATTERN DOTS-467;So;0;ON;;;;;N;;;;; 2869;BRAILLE PATTERN DOTS-1467;So;0;ON;;;;;N;;;;; 286A;BRAILLE PATTERN DOTS-2467;So;0;ON;;;;;N;;;;; 286B;BRAILLE PATTERN DOTS-12467;So;0;ON;;;;;N;;;;; 286C;BRAILLE PATTERN DOTS-3467;So;0;ON;;;;;N;;;;; 286D;BRAILLE PATTERN DOTS-13467;So;0;ON;;;;;N;;;;; 286E;BRAILLE PATTERN DOTS-23467;So;0;ON;;;;;N;;;;; 286F;BRAILLE PATTERN DOTS-123467;So;0;ON;;;;;N;;;;; 2870;BRAILLE PATTERN DOTS-567;So;0;ON;;;;;N;;;;; 2871;BRAILLE PATTERN DOTS-1567;So;0;ON;;;;;N;;;;; 2872;BRAILLE PATTERN DOTS-2567;So;0;ON;;;;;N;;;;; 2873;BRAILLE PATTERN DOTS-12567;So;0;ON;;;;;N;;;;; 2874;BRAILLE PATTERN DOTS-3567;So;0;ON;;;;;N;;;;; 2875;BRAILLE PATTERN DOTS-13567;So;0;ON;;;;;N;;;;; 2876;BRAILLE PATTERN DOTS-23567;So;0;ON;;;;;N;;;;; 2877;BRAILLE PATTERN DOTS-123567;So;0;ON;;;;;N;;;;; 2878;BRAILLE PATTERN DOTS-4567;So;0;ON;;;;;N;;;;; 2879;BRAILLE PATTERN DOTS-14567;So;0;ON;;;;;N;;;;; 287A;BRAILLE PATTERN DOTS-24567;So;0;ON;;;;;N;;;;; 287B;BRAILLE PATTERN DOTS-124567;So;0;ON;;;;;N;;;;; 287C;BRAILLE PATTERN DOTS-34567;So;0;ON;;;;;N;;;;; 287D;BRAILLE PATTERN DOTS-134567;So;0;ON;;;;;N;;;;; 287E;BRAILLE PATTERN DOTS-234567;So;0;ON;;;;;N;;;;; 287F;BRAILLE PATTERN DOTS-1234567;So;0;ON;;;;;N;;;;; 2880;BRAILLE PATTERN DOTS-8;So;0;ON;;;;;N;;;;; 2881;BRAILLE PATTERN DOTS-18;So;0;ON;;;;;N;;;;; 2882;BRAILLE PATTERN DOTS-28;So;0;ON;;;;;N;;;;; 2883;BRAILLE PATTERN DOTS-128;So;0;ON;;;;;N;;;;; 2884;BRAILLE PATTERN DOTS-38;So;0;ON;;;;;N;;;;; 2885;BRAILLE PATTERN DOTS-138;So;0;ON;;;;;N;;;;; 2886;BRAILLE PATTERN DOTS-238;So;0;ON;;;;;N;;;;; 2887;BRAILLE PATTERN DOTS-1238;So;0;ON;;;;;N;;;;; 2888;BRAILLE PATTERN DOTS-48;So;0;ON;;;;;N;;;;; 2889;BRAILLE PATTERN DOTS-148;So;0;ON;;;;;N;;;;; 288A;BRAILLE PATTERN DOTS-248;So;0;ON;;;;;N;;;;; 288B;BRAILLE PATTERN DOTS-1248;So;0;ON;;;;;N;;;;; 288C;BRAILLE PATTERN DOTS-348;So;0;ON;;;;;N;;;;; 288D;BRAILLE PATTERN DOTS-1348;So;0;ON;;;;;N;;;;; 288E;BRAILLE PATTERN DOTS-2348;So;0;ON;;;;;N;;;;; 288F;BRAILLE PATTERN DOTS-12348;So;0;ON;;;;;N;;;;; 2890;BRAILLE PATTERN DOTS-58;So;0;ON;;;;;N;;;;; 2891;BRAILLE PATTERN DOTS-158;So;0;ON;;;;;N;;;;; 2892;BRAILLE PATTERN DOTS-258;So;0;ON;;;;;N;;;;; 2893;BRAILLE PATTERN DOTS-1258;So;0;ON;;;;;N;;;;; 2894;BRAILLE PATTERN DOTS-358;So;0;ON;;;;;N;;;;; 2895;BRAILLE PATTERN DOTS-1358;So;0;ON;;;;;N;;;;; 2896;BRAILLE PATTERN DOTS-2358;So;0;ON;;;;;N;;;;; 2897;BRAILLE PATTERN DOTS-12358;So;0;ON;;;;;N;;;;; 2898;BRAILLE PATTERN DOTS-458;So;0;ON;;;;;N;;;;; 2899;BRAILLE PATTERN DOTS-1458;So;0;ON;;;;;N;;;;; 289A;BRAILLE PATTERN DOTS-2458;So;0;ON;;;;;N;;;;; 289B;BRAILLE PATTERN DOTS-12458;So;0;ON;;;;;N;;;;; 289C;BRAILLE PATTERN DOTS-3458;So;0;ON;;;;;N;;;;; 289D;BRAILLE PATTERN DOTS-13458;So;0;ON;;;;;N;;;;; 289E;BRAILLE PATTERN DOTS-23458;So;0;ON;;;;;N;;;;; 289F;BRAILLE PATTERN DOTS-123458;So;0;ON;;;;;N;;;;; 28A0;BRAILLE PATTERN DOTS-68;So;0;ON;;;;;N;;;;; 28A1;BRAILLE PATTERN DOTS-168;So;0;ON;;;;;N;;;;; 28A2;BRAILLE PATTERN DOTS-268;So;0;ON;;;;;N;;;;; 28A3;BRAILLE PATTERN DOTS-1268;So;0;ON;;;;;N;;;;; 28A4;BRAILLE PATTERN DOTS-368;So;0;ON;;;;;N;;;;; 28A5;BRAILLE PATTERN DOTS-1368;So;0;ON;;;;;N;;;;; 28A6;BRAILLE PATTERN DOTS-2368;So;0;ON;;;;;N;;;;; 28A7;BRAILLE PATTERN DOTS-12368;So;0;ON;;;;;N;;;;; 28A8;BRAILLE PATTERN DOTS-468;So;0;ON;;;;;N;;;;; 28A9;BRAILLE PATTERN DOTS-1468;So;0;ON;;;;;N;;;;; 28AA;BRAILLE PATTERN DOTS-2468;So;0;ON;;;;;N;;;;; 28AB;BRAILLE PATTERN DOTS-12468;So;0;ON;;;;;N;;;;; 28AC;BRAILLE PATTERN DOTS-3468;So;0;ON;;;;;N;;;;; 28AD;BRAILLE PATTERN DOTS-13468;So;0;ON;;;;;N;;;;; 28AE;BRAILLE PATTERN DOTS-23468;So;0;ON;;;;;N;;;;; 28AF;BRAILLE PATTERN DOTS-123468;So;0;ON;;;;;N;;;;; 28B0;BRAILLE PATTERN DOTS-568;So;0;ON;;;;;N;;;;; 28B1;BRAILLE PATTERN DOTS-1568;So;0;ON;;;;;N;;;;; 28B2;BRAILLE PATTERN DOTS-2568;So;0;ON;;;;;N;;;;; 28B3;BRAILLE PATTERN DOTS-12568;So;0;ON;;;;;N;;;;; 28B4;BRAILLE PATTERN DOTS-3568;So;0;ON;;;;;N;;;;; 28B5;BRAILLE PATTERN DOTS-13568;So;0;ON;;;;;N;;;;; 28B6;BRAILLE PATTERN DOTS-23568;So;0;ON;;;;;N;;;;; 28B7;BRAILLE PATTERN DOTS-123568;So;0;ON;;;;;N;;;;; 28B8;BRAILLE PATTERN DOTS-4568;So;0;ON;;;;;N;;;;; 28B9;BRAILLE PATTERN DOTS-14568;So;0;ON;;;;;N;;;;; 28BA;BRAILLE PATTERN DOTS-24568;So;0;ON;;;;;N;;;;; 28BB;BRAILLE PATTERN DOTS-124568;So;0;ON;;;;;N;;;;; 28BC;BRAILLE PATTERN DOTS-34568;So;0;ON;;;;;N;;;;; 28BD;BRAILLE PATTERN DOTS-134568;So;0;ON;;;;;N;;;;; 28BE;BRAILLE PATTERN DOTS-234568;So;0;ON;;;;;N;;;;; 28BF;BRAILLE PATTERN DOTS-1234568;So;0;ON;;;;;N;;;;; 28C0;BRAILLE PATTERN DOTS-78;So;0;ON;;;;;N;;;;; 28C1;BRAILLE PATTERN DOTS-178;So;0;ON;;;;;N;;;;; 28C2;BRAILLE PATTERN DOTS-278;So;0;ON;;;;;N;;;;; 28C3;BRAILLE PATTERN DOTS-1278;So;0;ON;;;;;N;;;;; 28C4;BRAILLE PATTERN DOTS-378;So;0;ON;;;;;N;;;;; 28C5;BRAILLE PATTERN DOTS-1378;So;0;ON;;;;;N;;;;; 28C6;BRAILLE PATTERN DOTS-2378;So;0;ON;;;;;N;;;;; 28C7;BRAILLE PATTERN DOTS-12378;So;0;ON;;;;;N;;;;; 28C8;BRAILLE PATTERN DOTS-478;So;0;ON;;;;;N;;;;; 28C9;BRAILLE PATTERN DOTS-1478;So;0;ON;;;;;N;;;;; 28CA;BRAILLE PATTERN DOTS-2478;So;0;ON;;;;;N;;;;; 28CB;BRAILLE PATTERN DOTS-12478;So;0;ON;;;;;N;;;;; 28CC;BRAILLE PATTERN DOTS-3478;So;0;ON;;;;;N;;;;; 28CD;BRAILLE PATTERN DOTS-13478;So;0;ON;;;;;N;;;;; 28CE;BRAILLE PATTERN DOTS-23478;So;0;ON;;;;;N;;;;; 28CF;BRAILLE PATTERN DOTS-123478;So;0;ON;;;;;N;;;;; 28D0;BRAILLE PATTERN DOTS-578;So;0;ON;;;;;N;;;;; 28D1;BRAILLE PATTERN DOTS-1578;So;0;ON;;;;;N;;;;; 28D2;BRAILLE PATTERN DOTS-2578;So;0;ON;;;;;N;;;;; 28D3;BRAILLE PATTERN DOTS-12578;So;0;ON;;;;;N;;;;; 28D4;BRAILLE PATTERN DOTS-3578;So;0;ON;;;;;N;;;;; 28D5;BRAILLE PATTERN DOTS-13578;So;0;ON;;;;;N;;;;; 28D6;BRAILLE PATTERN DOTS-23578;So;0;ON;;;;;N;;;;; 28D7;BRAILLE PATTERN DOTS-123578;So;0;ON;;;;;N;;;;; 28D8;BRAILLE PATTERN DOTS-4578;So;0;ON;;;;;N;;;;; 28D9;BRAILLE PATTERN DOTS-14578;So;0;ON;;;;;N;;;;; 28DA;BRAILLE PATTERN DOTS-24578;So;0;ON;;;;;N;;;;; 28DB;BRAILLE PATTERN DOTS-124578;So;0;ON;;;;;N;;;;; 28DC;BRAILLE PATTERN DOTS-34578;So;0;ON;;;;;N;;;;; 28DD;BRAILLE PATTERN DOTS-134578;So;0;ON;;;;;N;;;;; 28DE;BRAILLE PATTERN DOTS-234578;So;0;ON;;;;;N;;;;; 28DF;BRAILLE PATTERN DOTS-1234578;So;0;ON;;;;;N;;;;; 28E0;BRAILLE PATTERN DOTS-678;So;0;ON;;;;;N;;;;; 28E1;BRAILLE PATTERN DOTS-1678;So;0;ON;;;;;N;;;;; 28E2;BRAILLE PATTERN DOTS-2678;So;0;ON;;;;;N;;;;; 28E3;BRAILLE PATTERN DOTS-12678;So;0;ON;;;;;N;;;;; 28E4;BRAILLE PATTERN DOTS-3678;So;0;ON;;;;;N;;;;; 28E5;BRAILLE PATTERN DOTS-13678;So;0;ON;;;;;N;;;;; 28E6;BRAILLE PATTERN DOTS-23678;So;0;ON;;;;;N;;;;; 28E7;BRAILLE PATTERN DOTS-123678;So;0;ON;;;;;N;;;;; 28E8;BRAILLE PATTERN DOTS-4678;So;0;ON;;;;;N;;;;; 28E9;BRAILLE PATTERN DOTS-14678;So;0;ON;;;;;N;;;;; 28EA;BRAILLE PATTERN DOTS-24678;So;0;ON;;;;;N;;;;; 28EB;BRAILLE PATTERN DOTS-124678;So;0;ON;;;;;N;;;;; 28EC;BRAILLE PATTERN DOTS-34678;So;0;ON;;;;;N;;;;; 28ED;BRAILLE PATTERN DOTS-134678;So;0;ON;;;;;N;;;;; 28EE;BRAILLE PATTERN DOTS-234678;So;0;ON;;;;;N;;;;; 28EF;BRAILLE PATTERN DOTS-1234678;So;0;ON;;;;;N;;;;; 28F0;BRAILLE PATTERN DOTS-5678;So;0;ON;;;;;N;;;;; 28F1;BRAILLE PATTERN DOTS-15678;So;0;ON;;;;;N;;;;; 28F2;BRAILLE PATTERN DOTS-25678;So;0;ON;;;;;N;;;;; 28F3;BRAILLE PATTERN DOTS-125678;So;0;ON;;;;;N;;;;; 28F4;BRAILLE PATTERN DOTS-35678;So;0;ON;;;;;N;;;;; 28F5;BRAILLE PATTERN DOTS-135678;So;0;ON;;;;;N;;;;; 28F6;BRAILLE PATTERN DOTS-235678;So;0;ON;;;;;N;;;;; 28F7;BRAILLE PATTERN DOTS-1235678;So;0;ON;;;;;N;;;;; 28F8;BRAILLE PATTERN DOTS-45678;So;0;ON;;;;;N;;;;; 28F9;BRAILLE PATTERN DOTS-145678;So;0;ON;;;;;N;;;;; 28FA;BRAILLE PATTERN DOTS-245678;So;0;ON;;;;;N;;;;; 28FB;BRAILLE PATTERN DOTS-1245678;So;0;ON;;;;;N;;;;; 28FC;BRAILLE PATTERN DOTS-345678;So;0;ON;;;;;N;;;;; 28FD;BRAILLE PATTERN DOTS-1345678;So;0;ON;;;;;N;;;;; 28FE;BRAILLE PATTERN DOTS-2345678;So;0;ON;;;;;N;;;;; 28FF;BRAILLE PATTERN DOTS-12345678;So;0;ON;;;;;N;;;;; 2900;RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; 2901;RIGHTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; 2902;LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; 2903;RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; 2904;LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; 2905;RIGHTWARDS TWO-HEADED ARROW FROM BAR;Sm;0;ON;;;;;N;;;;; 2906;LEFTWARDS DOUBLE ARROW FROM BAR;Sm;0;ON;;;;;N;;;;; 2907;RIGHTWARDS DOUBLE ARROW FROM BAR;Sm;0;ON;;;;;N;;;;; 2908;DOWNWARDS ARROW WITH HORIZONTAL STROKE;Sm;0;ON;;;;;N;;;;; 2909;UPWARDS ARROW WITH HORIZONTAL STROKE;Sm;0;ON;;;;;N;;;;; 290A;UPWARDS TRIPLE ARROW;Sm;0;ON;;;;;N;;;;; 290B;DOWNWARDS TRIPLE ARROW;Sm;0;ON;;;;;N;;;;; 290C;LEFTWARDS DOUBLE DASH ARROW;Sm;0;ON;;;;;N;;;;; 290D;RIGHTWARDS DOUBLE DASH ARROW;Sm;0;ON;;;;;N;;;;; 290E;LEFTWARDS TRIPLE DASH ARROW;Sm;0;ON;;;;;N;;;;; 290F;RIGHTWARDS TRIPLE DASH ARROW;Sm;0;ON;;;;;N;;;;; 2910;RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW;Sm;0;ON;;;;;N;;;;; 2911;RIGHTWARDS ARROW WITH DOTTED STEM;Sm;0;ON;;;;;N;;;;; 2912;UPWARDS ARROW TO BAR;Sm;0;ON;;;;;N;;;;; 2913;DOWNWARDS ARROW TO BAR;Sm;0;ON;;;;;N;;;;; 2914;RIGHTWARDS ARROW WITH TAIL WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; 2915;RIGHTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; 2916;RIGHTWARDS TWO-HEADED ARROW WITH TAIL;Sm;0;ON;;;;;N;;;;; 2917;RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; 2918;RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; 2919;LEFTWARDS ARROW-TAIL;Sm;0;ON;;;;;N;;;;; 291A;RIGHTWARDS ARROW-TAIL;Sm;0;ON;;;;;N;;;;; 291B;LEFTWARDS DOUBLE ARROW-TAIL;Sm;0;ON;;;;;N;;;;; 291C;RIGHTWARDS DOUBLE ARROW-TAIL;Sm;0;ON;;;;;N;;;;; 291D;LEFTWARDS ARROW TO BLACK DIAMOND;Sm;0;ON;;;;;N;;;;; 291E;RIGHTWARDS ARROW TO BLACK DIAMOND;Sm;0;ON;;;;;N;;;;; 291F;LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND;Sm;0;ON;;;;;N;;;;; 2920;RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND;Sm;0;ON;;;;;N;;;;; 2921;NORTH WEST AND SOUTH EAST ARROW;Sm;0;ON;;;;;N;;;;; 2922;NORTH EAST AND SOUTH WEST ARROW;Sm;0;ON;;;;;N;;;;; 2923;NORTH WEST ARROW WITH HOOK;Sm;0;ON;;;;;N;;;;; 2924;NORTH EAST ARROW WITH HOOK;Sm;0;ON;;;;;N;;;;; 2925;SOUTH EAST ARROW WITH HOOK;Sm;0;ON;;;;;N;;;;; 2926;SOUTH WEST ARROW WITH HOOK;Sm;0;ON;;;;;N;;;;; 2927;NORTH WEST ARROW AND NORTH EAST ARROW;Sm;0;ON;;;;;N;;;;; 2928;NORTH EAST ARROW AND SOUTH EAST ARROW;Sm;0;ON;;;;;N;;;;; 2929;SOUTH EAST ARROW AND SOUTH WEST ARROW;Sm;0;ON;;;;;N;;;;; 292A;SOUTH WEST ARROW AND NORTH WEST ARROW;Sm;0;ON;;;;;N;;;;; 292B;RISING DIAGONAL CROSSING FALLING DIAGONAL;Sm;0;ON;;;;;N;;;;; 292C;FALLING DIAGONAL CROSSING RISING DIAGONAL;Sm;0;ON;;;;;N;;;;; 292D;SOUTH EAST ARROW CROSSING NORTH EAST ARROW;Sm;0;ON;;;;;N;;;;; 292E;NORTH EAST ARROW CROSSING SOUTH EAST ARROW;Sm;0;ON;;;;;N;;;;; 292F;FALLING DIAGONAL CROSSING NORTH EAST ARROW;Sm;0;ON;;;;;N;;;;; 2930;RISING DIAGONAL CROSSING SOUTH EAST ARROW;Sm;0;ON;;;;;N;;;;; 2931;NORTH EAST ARROW CROSSING NORTH WEST ARROW;Sm;0;ON;;;;;N;;;;; 2932;NORTH WEST ARROW CROSSING NORTH EAST ARROW;Sm;0;ON;;;;;N;;;;; 2933;WAVE ARROW POINTING DIRECTLY RIGHT;Sm;0;ON;;;;;N;;;;; 2934;ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS;Sm;0;ON;;;;;N;;;;; 2935;ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS;Sm;0;ON;;;;;N;;;;; 2936;ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS;Sm;0;ON;;;;;N;;;;; 2937;ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS;Sm;0;ON;;;;;N;;;;; 2938;RIGHT-SIDE ARC CLOCKWISE ARROW;Sm;0;ON;;;;;N;;;;; 2939;LEFT-SIDE ARC ANTICLOCKWISE ARROW;Sm;0;ON;;;;;N;;;;; 293A;TOP ARC ANTICLOCKWISE ARROW;Sm;0;ON;;;;;N;;;;; 293B;BOTTOM ARC ANTICLOCKWISE ARROW;Sm;0;ON;;;;;N;;;;; 293C;TOP ARC CLOCKWISE ARROW WITH MINUS;Sm;0;ON;;;;;N;;;;; 293D;TOP ARC ANTICLOCKWISE ARROW WITH PLUS;Sm;0;ON;;;;;N;;;;; 293E;LOWER RIGHT SEMICIRCULAR CLOCKWISE ARROW;Sm;0;ON;;;;;N;;;;; 293F;LOWER LEFT SEMICIRCULAR ANTICLOCKWISE ARROW;Sm;0;ON;;;;;N;;;;; 2940;ANTICLOCKWISE CLOSED CIRCLE ARROW;Sm;0;ON;;;;;N;;;;; 2941;CLOCKWISE CLOSED CIRCLE ARROW;Sm;0;ON;;;;;N;;;;; 2942;RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;; 2943;LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;; 2944;SHORT RIGHTWARDS ARROW ABOVE LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;; 2945;RIGHTWARDS ARROW WITH PLUS BELOW;Sm;0;ON;;;;;N;;;;; 2946;LEFTWARDS ARROW WITH PLUS BELOW;Sm;0;ON;;;;;N;;;;; 2947;RIGHTWARDS ARROW THROUGH X;Sm;0;ON;;;;;N;;;;; 2948;LEFT RIGHT ARROW THROUGH SMALL CIRCLE;Sm;0;ON;;;;;N;;;;; 2949;UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE;Sm;0;ON;;;;;N;;;;; 294A;LEFT BARB UP RIGHT BARB DOWN HARPOON;Sm;0;ON;;;;;N;;;;; 294B;LEFT BARB DOWN RIGHT BARB UP HARPOON;Sm;0;ON;;;;;N;;;;; 294C;UP BARB RIGHT DOWN BARB LEFT HARPOON;Sm;0;ON;;;;;N;;;;; 294D;UP BARB LEFT DOWN BARB RIGHT HARPOON;Sm;0;ON;;;;;N;;;;; 294E;LEFT BARB UP RIGHT BARB UP HARPOON;Sm;0;ON;;;;;N;;;;; 294F;UP BARB RIGHT DOWN BARB RIGHT HARPOON;Sm;0;ON;;;;;N;;;;; 2950;LEFT BARB DOWN RIGHT BARB DOWN HARPOON;Sm;0;ON;;;;;N;;;;; 2951;UP BARB LEFT DOWN BARB LEFT HARPOON;Sm;0;ON;;;;;N;;;;; 2952;LEFTWARDS HARPOON WITH BARB UP TO BAR;Sm;0;ON;;;;;N;;;;; 2953;RIGHTWARDS HARPOON WITH BARB UP TO BAR;Sm;0;ON;;;;;N;;;;; 2954;UPWARDS HARPOON WITH BARB RIGHT TO BAR;Sm;0;ON;;;;;N;;;;; 2955;DOWNWARDS HARPOON WITH BARB RIGHT TO BAR;Sm;0;ON;;;;;N;;;;; 2956;LEFTWARDS HARPOON WITH BARB DOWN TO BAR;Sm;0;ON;;;;;N;;;;; 2957;RIGHTWARDS HARPOON WITH BARB DOWN TO BAR;Sm;0;ON;;;;;N;;;;; 2958;UPWARDS HARPOON WITH BARB LEFT TO BAR;Sm;0;ON;;;;;N;;;;; 2959;DOWNWARDS HARPOON WITH BARB LEFT TO BAR;Sm;0;ON;;;;;N;;;;; 295A;LEFTWARDS HARPOON WITH BARB UP FROM BAR;Sm;0;ON;;;;;N;;;;; 295B;RIGHTWARDS HARPOON WITH BARB UP FROM BAR;Sm;0;ON;;;;;N;;;;; 295C;UPWARDS HARPOON WITH BARB RIGHT FROM BAR;Sm;0;ON;;;;;N;;;;; 295D;DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR;Sm;0;ON;;;;;N;;;;; 295E;LEFTWARDS HARPOON WITH BARB DOWN FROM BAR;Sm;0;ON;;;;;N;;;;; 295F;RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR;Sm;0;ON;;;;;N;;;;; 2960;UPWARDS HARPOON WITH BARB LEFT FROM BAR;Sm;0;ON;;;;;N;;;;; 2961;DOWNWARDS HARPOON WITH BARB LEFT FROM BAR;Sm;0;ON;;;;;N;;;;; 2962;LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN;Sm;0;ON;;;;;N;;;;; 2963;UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT;Sm;0;ON;;;;;N;;;;; 2964;RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN;Sm;0;ON;;;;;N;;;;; 2965;DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT;Sm;0;ON;;;;;N;;;;; 2966;LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP;Sm;0;ON;;;;;N;;;;; 2967;LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN;Sm;0;ON;;;;;N;;;;; 2968;RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP;Sm;0;ON;;;;;N;;;;; 2969;RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN;Sm;0;ON;;;;;N;;;;; 296A;LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH;Sm;0;ON;;;;;N;;;;; 296B;LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH;Sm;0;ON;;;;;N;;;;; 296C;RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH;Sm;0;ON;;;;;N;;;;; 296D;RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH;Sm;0;ON;;;;;N;;;;; 296E;UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT;Sm;0;ON;;;;;N;;;;; 296F;DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT;Sm;0;ON;;;;;N;;;;; 2970;RIGHT DOUBLE ARROW WITH ROUNDED HEAD;Sm;0;ON;;;;;N;;;;; 2971;EQUALS SIGN ABOVE RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;; 2972;TILDE OPERATOR ABOVE RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;; 2973;LEFTWARDS ARROW ABOVE TILDE OPERATOR;Sm;0;ON;;;;;N;;;;; 2974;RIGHTWARDS ARROW ABOVE TILDE OPERATOR;Sm;0;ON;;;;;N;;;;; 2975;RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO;Sm;0;ON;;;;;N;;;;; 2976;LESS-THAN ABOVE LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;; 2977;LEFTWARDS ARROW THROUGH LESS-THAN;Sm;0;ON;;;;;N;;;;; 2978;GREATER-THAN ABOVE RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;; 2979;SUBSET ABOVE RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;; 297A;LEFTWARDS ARROW THROUGH SUBSET;Sm;0;ON;;;;;N;;;;; 297B;SUPERSET ABOVE LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;; 297C;LEFT FISH TAIL;Sm;0;ON;;;;;N;;;;; 297D;RIGHT FISH TAIL;Sm;0;ON;;;;;N;;;;; 297E;UP FISH TAIL;Sm;0;ON;;;;;N;;;;; 297F;DOWN FISH TAIL;Sm;0;ON;;;;;N;;;;; 2980;TRIPLE VERTICAL BAR DELIMITER;Sm;0;ON;;;;;N;;;;; 2981;Z NOTATION SPOT;Sm;0;ON;;;;;N;;;;; 2982;Z NOTATION TYPE COLON;Sm;0;ON;;;;;N;;;;; 2983;LEFT WHITE CURLY BRACKET;Ps;0;ON;;;;;Y;;;;; 2984;RIGHT WHITE CURLY BRACKET;Pe;0;ON;;;;;Y;;;;; 2985;LEFT WHITE PARENTHESIS;Ps;0;ON;;;;;Y;;;;; 2986;RIGHT WHITE PARENTHESIS;Pe;0;ON;;;;;Y;;;;; 2987;Z NOTATION LEFT IMAGE BRACKET;Ps;0;ON;;;;;Y;;;;; 2988;Z NOTATION RIGHT IMAGE BRACKET;Pe;0;ON;;;;;Y;;;;; 2989;Z NOTATION LEFT BINDING BRACKET;Ps;0;ON;;;;;Y;;;;; 298A;Z NOTATION RIGHT BINDING BRACKET;Pe;0;ON;;;;;Y;;;;; 298B;LEFT SQUARE BRACKET WITH UNDERBAR;Ps;0;ON;;;;;Y;;;;; 298C;RIGHT SQUARE BRACKET WITH UNDERBAR;Pe;0;ON;;;;;Y;;;;; 298D;LEFT SQUARE BRACKET WITH TICK IN TOP CORNER;Ps;0;ON;;;;;Y;;;;; 298E;RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER;Pe;0;ON;;;;;Y;;;;; 298F;LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER;Ps;0;ON;;;;;Y;;;;; 2990;RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER;Pe;0;ON;;;;;Y;;;;; 2991;LEFT ANGLE BRACKET WITH DOT;Ps;0;ON;;;;;Y;;;;; 2992;RIGHT ANGLE BRACKET WITH DOT;Pe;0;ON;;;;;Y;;;;; 2993;LEFT ARC LESS-THAN BRACKET;Ps;0;ON;;;;;Y;;;;; 2994;RIGHT ARC GREATER-THAN BRACKET;Pe;0;ON;;;;;Y;;;;; 2995;DOUBLE LEFT ARC GREATER-THAN BRACKET;Ps;0;ON;;;;;Y;;;;; 2996;DOUBLE RIGHT ARC LESS-THAN BRACKET;Pe;0;ON;;;;;Y;;;;; 2997;LEFT BLACK TORTOISE SHELL BRACKET;Ps;0;ON;;;;;Y;;;;; 2998;RIGHT BLACK TORTOISE SHELL BRACKET;Pe;0;ON;;;;;Y;;;;; 2999;DOTTED FENCE;Sm;0;ON;;;;;N;;;;; 299A;VERTICAL ZIGZAG LINE;Sm;0;ON;;;;;N;;;;; 299B;MEASURED ANGLE OPENING LEFT;Sm;0;ON;;;;;Y;;;;; 299C;RIGHT ANGLE VARIANT WITH SQUARE;Sm;0;ON;;;;;Y;;;;; 299D;MEASURED RIGHT ANGLE WITH DOT;Sm;0;ON;;;;;Y;;;;; 299E;ANGLE WITH S INSIDE;Sm;0;ON;;;;;Y;;;;; 299F;ACUTE ANGLE;Sm;0;ON;;;;;Y;;;;; 29A0;SPHERICAL ANGLE OPENING LEFT;Sm;0;ON;;;;;Y;;;;; 29A1;SPHERICAL ANGLE OPENING UP;Sm;0;ON;;;;;Y;;;;; 29A2;TURNED ANGLE;Sm;0;ON;;;;;Y;;;;; 29A3;REVERSED ANGLE;Sm;0;ON;;;;;Y;;;;; 29A4;ANGLE WITH UNDERBAR;Sm;0;ON;;;;;Y;;;;; 29A5;REVERSED ANGLE WITH UNDERBAR;Sm;0;ON;;;;;Y;;;;; 29A6;OBLIQUE ANGLE OPENING UP;Sm;0;ON;;;;;Y;;;;; 29A7;OBLIQUE ANGLE OPENING DOWN;Sm;0;ON;;;;;Y;;;;; 29A8;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT;Sm;0;ON;;;;;Y;;;;; 29A9;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT;Sm;0;ON;;;;;Y;;;;; 29AA;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT;Sm;0;ON;;;;;Y;;;;; 29AB;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT;Sm;0;ON;;;;;Y;;;;; 29AC;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP;Sm;0;ON;;;;;Y;;;;; 29AD;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP;Sm;0;ON;;;;;Y;;;;; 29AE;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN;Sm;0;ON;;;;;Y;;;;; 29AF;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN;Sm;0;ON;;;;;Y;;;;; 29B0;REVERSED EMPTY SET;Sm;0;ON;;;;;N;;;;; 29B1;EMPTY SET WITH OVERBAR;Sm;0;ON;;;;;N;;;;; 29B2;EMPTY SET WITH SMALL CIRCLE ABOVE;Sm;0;ON;;;;;N;;;;; 29B3;EMPTY SET WITH RIGHT ARROW ABOVE;Sm;0;ON;;;;;N;;;;; 29B4;EMPTY SET WITH LEFT ARROW ABOVE;Sm;0;ON;;;;;N;;;;; 29B5;CIRCLE WITH HORIZONTAL BAR;Sm;0;ON;;;;;N;;;;; 29B6;CIRCLED VERTICAL BAR;Sm;0;ON;;;;;N;;;;; 29B7;CIRCLED PARALLEL;Sm;0;ON;;;;;N;;;;; 29B8;CIRCLED REVERSE SOLIDUS;Sm;0;ON;;;;;Y;;;;; 29B9;CIRCLED PERPENDICULAR;Sm;0;ON;;;;;N;;;;; 29BA;CIRCLE DIVIDED BY HORIZONTAL BAR AND TOP HALF DIVIDED BY VERTICAL BAR;Sm;0;ON;;;;;N;;;;; 29BB;CIRCLE WITH SUPERIMPOSED X;Sm;0;ON;;;;;N;;;;; 29BC;CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN;Sm;0;ON;;;;;N;;;;; 29BD;UP ARROW THROUGH CIRCLE;Sm;0;ON;;;;;N;;;;; 29BE;CIRCLED WHITE BULLET;Sm;0;ON;;;;;N;;;;; 29BF;CIRCLED BULLET;Sm;0;ON;;;;;N;;;;; 29C0;CIRCLED LESS-THAN;Sm;0;ON;;;;;Y;;;;; 29C1;CIRCLED GREATER-THAN;Sm;0;ON;;;;;Y;;;;; 29C2;CIRCLE WITH SMALL CIRCLE TO THE RIGHT;Sm;0;ON;;;;;Y;;;;; 29C3;CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT;Sm;0;ON;;;;;Y;;;;; 29C4;SQUARED RISING DIAGONAL SLASH;Sm;0;ON;;;;;Y;;;;; 29C5;SQUARED FALLING DIAGONAL SLASH;Sm;0;ON;;;;;Y;;;;; 29C6;SQUARED ASTERISK;Sm;0;ON;;;;;N;;;;; 29C7;SQUARED SMALL CIRCLE;Sm;0;ON;;;;;N;;;;; 29C8;SQUARED SQUARE;Sm;0;ON;;;;;N;;;;; 29C9;TWO JOINED SQUARES;Sm;0;ON;;;;;Y;;;;; 29CA;TRIANGLE WITH DOT ABOVE;Sm;0;ON;;;;;N;;;;; 29CB;TRIANGLE WITH UNDERBAR;Sm;0;ON;;;;;N;;;;; 29CC;S IN TRIANGLE;Sm;0;ON;;;;;N;;;;; 29CD;TRIANGLE WITH SERIFS AT BOTTOM;Sm;0;ON;;;;;N;;;;; 29CE;RIGHT TRIANGLE ABOVE LEFT TRIANGLE;Sm;0;ON;;;;;Y;;;;; 29CF;LEFT TRIANGLE BESIDE VERTICAL BAR;Sm;0;ON;;;;;Y;;;;; 29D0;VERTICAL BAR BESIDE RIGHT TRIANGLE;Sm;0;ON;;;;;Y;;;;; 29D1;BOWTIE WITH LEFT HALF BLACK;Sm;0;ON;;;;;Y;;;;; 29D2;BOWTIE WITH RIGHT HALF BLACK;Sm;0;ON;;;;;Y;;;;; 29D3;BLACK BOWTIE;Sm;0;ON;;;;;N;;;;; 29D4;TIMES WITH LEFT HALF BLACK;Sm;0;ON;;;;;Y;;;;; 29D5;TIMES WITH RIGHT HALF BLACK;Sm;0;ON;;;;;Y;;;;; 29D6;WHITE HOURGLASS;Sm;0;ON;;;;;N;;;;; 29D7;BLACK HOURGLASS;Sm;0;ON;;;;;N;;;;; 29D8;LEFT WIGGLY FENCE;Ps;0;ON;;;;;Y;;;;; 29D9;RIGHT WIGGLY FENCE;Pe;0;ON;;;;;Y;;;;; 29DA;LEFT DOUBLE WIGGLY FENCE;Ps;0;ON;;;;;Y;;;;; 29DB;RIGHT DOUBLE WIGGLY FENCE;Pe;0;ON;;;;;Y;;;;; 29DC;INCOMPLETE INFINITY;Sm;0;ON;;;;;Y;;;;; 29DD;TIE OVER INFINITY;Sm;0;ON;;;;;N;;;;; 29DE;INFINITY NEGATED WITH VERTICAL BAR;Sm;0;ON;;;;;N;;;;; 29DF;DOUBLE-ENDED MULTIMAP;Sm;0;ON;;;;;N;;;;; 29E0;SQUARE WITH CONTOURED OUTLINE;Sm;0;ON;;;;;N;;;;; 29E1;INCREASES AS;Sm;0;ON;;;;;Y;;;;; 29E2;SHUFFLE PRODUCT;Sm;0;ON;;;;;N;;;;; 29E3;EQUALS SIGN AND SLANTED PARALLEL;Sm;0;ON;;;;;Y;;;;; 29E4;EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE;Sm;0;ON;;;;;Y;;;;; 29E5;IDENTICAL TO AND SLANTED PARALLEL;Sm;0;ON;;;;;Y;;;;; 29E6;GLEICH STARK;Sm;0;ON;;;;;N;;;;; 29E7;THERMODYNAMIC;Sm;0;ON;;;;;N;;;;; 29E8;DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK;Sm;0;ON;;;;;Y;;;;; 29E9;DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK;Sm;0;ON;;;;;Y;;;;; 29EA;BLACK DIAMOND WITH DOWN ARROW;Sm;0;ON;;;;;N;;;;; 29EB;BLACK LOZENGE;Sm;0;ON;;;;;N;;;;; 29EC;WHITE CIRCLE WITH DOWN ARROW;Sm;0;ON;;;;;N;;;;; 29ED;BLACK CIRCLE WITH DOWN ARROW;Sm;0;ON;;;;;N;;;;; 29EE;ERROR-BARRED WHITE SQUARE;Sm;0;ON;;;;;N;;;;; 29EF;ERROR-BARRED BLACK SQUARE;Sm;0;ON;;;;;N;;;;; 29F0;ERROR-BARRED WHITE DIAMOND;Sm;0;ON;;;;;N;;;;; 29F1;ERROR-BARRED BLACK DIAMOND;Sm;0;ON;;;;;N;;;;; 29F2;ERROR-BARRED WHITE CIRCLE;Sm;0;ON;;;;;N;;;;; 29F3;ERROR-BARRED BLACK CIRCLE;Sm;0;ON;;;;;N;;;;; 29F4;RULE-DELAYED;Sm;0;ON;;;;;Y;;;;; 29F5;REVERSE SOLIDUS OPERATOR;Sm;0;ON;;;;;Y;;;;; 29F6;SOLIDUS WITH OVERBAR;Sm;0;ON;;;;;Y;;;;; 29F7;REVERSE SOLIDUS WITH HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;; 29F8;BIG SOLIDUS;Sm;0;ON;;;;;Y;;;;; 29F9;BIG REVERSE SOLIDUS;Sm;0;ON;;;;;Y;;;;; 29FA;DOUBLE PLUS;Sm;0;ON;;;;;N;;;;; 29FB;TRIPLE PLUS;Sm;0;ON;;;;;N;;;;; 29FC;LEFT-POINTING CURVED ANGLE BRACKET;Ps;0;ON;;;;;Y;;;;; 29FD;RIGHT-POINTING CURVED ANGLE BRACKET;Pe;0;ON;;;;;Y;;;;; 29FE;TINY;Sm;0;ON;;;;;N;;;;; 29FF;MINY;Sm;0;ON;;;;;N;;;;; 2A00;N-ARY CIRCLED DOT OPERATOR;Sm;0;ON;;;;;N;;;;; 2A01;N-ARY CIRCLED PLUS OPERATOR;Sm;0;ON;;;;;N;;;;; 2A02;N-ARY CIRCLED TIMES OPERATOR;Sm;0;ON;;;;;N;;;;; 2A03;N-ARY UNION OPERATOR WITH DOT;Sm;0;ON;;;;;N;;;;; 2A04;N-ARY UNION OPERATOR WITH PLUS;Sm;0;ON;;;;;N;;;;; 2A05;N-ARY SQUARE INTERSECTION OPERATOR;Sm;0;ON;;;;;N;;;;; 2A06;N-ARY SQUARE UNION OPERATOR;Sm;0;ON;;;;;N;;;;; 2A07;TWO LOGICAL AND OPERATOR;Sm;0;ON;;;;;N;;;;; 2A08;TWO LOGICAL OR OPERATOR;Sm;0;ON;;;;;N;;;;; 2A09;N-ARY TIMES OPERATOR;Sm;0;ON;;;;;N;;;;; 2A0A;MODULO TWO SUM;Sm;0;ON;;;;;Y;;;;; 2A0B;SUMMATION WITH INTEGRAL;Sm;0;ON;;;;;Y;;;;; 2A0C;QUADRUPLE INTEGRAL OPERATOR;Sm;0;ON; 222B 222B 222B 222B;;;;Y;;;;; 2A0D;FINITE PART INTEGRAL;Sm;0;ON;;;;;Y;;;;; 2A0E;INTEGRAL WITH DOUBLE STROKE;Sm;0;ON;;;;;Y;;;;; 2A0F;INTEGRAL AVERAGE WITH SLASH;Sm;0;ON;;;;;Y;;;;; 2A10;CIRCULATION FUNCTION;Sm;0;ON;;;;;Y;;;;; 2A11;ANTICLOCKWISE INTEGRATION;Sm;0;ON;;;;;Y;;;;; 2A12;LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE;Sm;0;ON;;;;;Y;;;;; 2A13;LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE;Sm;0;ON;;;;;Y;;;;; 2A14;LINE INTEGRATION NOT INCLUDING THE POLE;Sm;0;ON;;;;;Y;;;;; 2A15;INTEGRAL AROUND A POINT OPERATOR;Sm;0;ON;;;;;Y;;;;; 2A16;QUATERNION INTEGRAL OPERATOR;Sm;0;ON;;;;;Y;;;;; 2A17;INTEGRAL WITH LEFTWARDS ARROW WITH HOOK;Sm;0;ON;;;;;Y;;;;; 2A18;INTEGRAL WITH TIMES SIGN;Sm;0;ON;;;;;Y;;;;; 2A19;INTEGRAL WITH INTERSECTION;Sm;0;ON;;;;;Y;;;;; 2A1A;INTEGRAL WITH UNION;Sm;0;ON;;;;;Y;;;;; 2A1B;INTEGRAL WITH OVERBAR;Sm;0;ON;;;;;Y;;;;; 2A1C;INTEGRAL WITH UNDERBAR;Sm;0;ON;;;;;Y;;;;; 2A1D;JOIN;Sm;0;ON;;;;;N;;;;; 2A1E;LARGE LEFT TRIANGLE OPERATOR;Sm;0;ON;;;;;Y;;;;; 2A1F;Z NOTATION SCHEMA COMPOSITION;Sm;0;ON;;;;;Y;;;;; 2A20;Z NOTATION SCHEMA PIPING;Sm;0;ON;;;;;Y;;;;; 2A21;Z NOTATION SCHEMA PROJECTION;Sm;0;ON;;;;;Y;;;;; 2A22;PLUS SIGN WITH SMALL CIRCLE ABOVE;Sm;0;ON;;;;;N;;;;; 2A23;PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE;Sm;0;ON;;;;;N;;;;; 2A24;PLUS SIGN WITH TILDE ABOVE;Sm;0;ON;;;;;Y;;;;; 2A25;PLUS SIGN WITH DOT BELOW;Sm;0;ON;;;;;N;;;;; 2A26;PLUS SIGN WITH TILDE BELOW;Sm;0;ON;;;;;Y;;;;; 2A27;PLUS SIGN WITH SUBSCRIPT TWO;Sm;0;ON;;;;;N;;;;; 2A28;PLUS SIGN WITH BLACK TRIANGLE;Sm;0;ON;;;;;N;;;;; 2A29;MINUS SIGN WITH COMMA ABOVE;Sm;0;ON;;;;;Y;;;;; 2A2A;MINUS SIGN WITH DOT BELOW;Sm;0;ON;;;;;N;;;;; 2A2B;MINUS SIGN WITH FALLING DOTS;Sm;0;ON;;;;;Y;;;;; 2A2C;MINUS SIGN WITH RISING DOTS;Sm;0;ON;;;;;Y;;;;; 2A2D;PLUS SIGN IN LEFT HALF CIRCLE;Sm;0;ON;;;;;Y;;;;; 2A2E;PLUS SIGN IN RIGHT HALF CIRCLE;Sm;0;ON;;;;;Y;;;;; 2A2F;VECTOR OR CROSS PRODUCT;Sm;0;ON;;;;;N;;;;; 2A30;MULTIPLICATION SIGN WITH DOT ABOVE;Sm;0;ON;;;;;N;;;;; 2A31;MULTIPLICATION SIGN WITH UNDERBAR;Sm;0;ON;;;;;N;;;;; 2A32;SEMIDIRECT PRODUCT WITH BOTTOM CLOSED;Sm;0;ON;;;;;N;;;;; 2A33;SMASH PRODUCT;Sm;0;ON;;;;;N;;;;; 2A34;MULTIPLICATION SIGN IN LEFT HALF CIRCLE;Sm;0;ON;;;;;Y;;;;; 2A35;MULTIPLICATION SIGN IN RIGHT HALF CIRCLE;Sm;0;ON;;;;;Y;;;;; 2A36;CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT;Sm;0;ON;;;;;N;;;;; 2A37;MULTIPLICATION SIGN IN DOUBLE CIRCLE;Sm;0;ON;;;;;N;;;;; 2A38;CIRCLED DIVISION SIGN;Sm;0;ON;;;;;N;;;;; 2A39;PLUS SIGN IN TRIANGLE;Sm;0;ON;;;;;N;;;;; 2A3A;MINUS SIGN IN TRIANGLE;Sm;0;ON;;;;;N;;;;; 2A3B;MULTIPLICATION SIGN IN TRIANGLE;Sm;0;ON;;;;;N;;;;; 2A3C;INTERIOR PRODUCT;Sm;0;ON;;;;;Y;;;;; 2A3D;RIGHTHAND INTERIOR PRODUCT;Sm;0;ON;;;;;Y;;;;; 2A3E;Z NOTATION RELATIONAL COMPOSITION;Sm;0;ON;;;;;Y;;;;; 2A3F;AMALGAMATION OR COPRODUCT;Sm;0;ON;;;;;N;;;;; 2A40;INTERSECTION WITH DOT;Sm;0;ON;;;;;N;;;;; 2A41;UNION WITH MINUS SIGN;Sm;0;ON;;;;;N;;;;; 2A42;UNION WITH OVERBAR;Sm;0;ON;;;;;N;;;;; 2A43;INTERSECTION WITH OVERBAR;Sm;0;ON;;;;;N;;;;; 2A44;INTERSECTION WITH LOGICAL AND;Sm;0;ON;;;;;N;;;;; 2A45;UNION WITH LOGICAL OR;Sm;0;ON;;;;;N;;;;; 2A46;UNION ABOVE INTERSECTION;Sm;0;ON;;;;;N;;;;; 2A47;INTERSECTION ABOVE UNION;Sm;0;ON;;;;;N;;;;; 2A48;UNION ABOVE BAR ABOVE INTERSECTION;Sm;0;ON;;;;;N;;;;; 2A49;INTERSECTION ABOVE BAR ABOVE UNION;Sm;0;ON;;;;;N;;;;; 2A4A;UNION BESIDE AND JOINED WITH UNION;Sm;0;ON;;;;;N;;;;; 2A4B;INTERSECTION BESIDE AND JOINED WITH INTERSECTION;Sm;0;ON;;;;;N;;;;; 2A4C;CLOSED UNION WITH SERIFS;Sm;0;ON;;;;;N;;;;; 2A4D;CLOSED INTERSECTION WITH SERIFS;Sm;0;ON;;;;;N;;;;; 2A4E;DOUBLE SQUARE INTERSECTION;Sm;0;ON;;;;;N;;;;; 2A4F;DOUBLE SQUARE UNION;Sm;0;ON;;;;;N;;;;; 2A50;CLOSED UNION WITH SERIFS AND SMASH PRODUCT;Sm;0;ON;;;;;N;;;;; 2A51;LOGICAL AND WITH DOT ABOVE;Sm;0;ON;;;;;N;;;;; 2A52;LOGICAL OR WITH DOT ABOVE;Sm;0;ON;;;;;N;;;;; 2A53;DOUBLE LOGICAL AND;Sm;0;ON;;;;;N;;;;; 2A54;DOUBLE LOGICAL OR;Sm;0;ON;;;;;N;;;;; 2A55;TWO INTERSECTING LOGICAL AND;Sm;0;ON;;;;;N;;;;; 2A56;TWO INTERSECTING LOGICAL OR;Sm;0;ON;;;;;N;;;;; 2A57;SLOPING LARGE OR;Sm;0;ON;;;;;Y;;;;; 2A58;SLOPING LARGE AND;Sm;0;ON;;;;;Y;;;;; 2A59;LOGICAL OR OVERLAPPING LOGICAL AND;Sm;0;ON;;;;;N;;;;; 2A5A;LOGICAL AND WITH MIDDLE STEM;Sm;0;ON;;;;;N;;;;; 2A5B;LOGICAL OR WITH MIDDLE STEM;Sm;0;ON;;;;;N;;;;; 2A5C;LOGICAL AND WITH HORIZONTAL DASH;Sm;0;ON;;;;;N;;;;; 2A5D;LOGICAL OR WITH HORIZONTAL DASH;Sm;0;ON;;;;;N;;;;; 2A5E;LOGICAL AND WITH DOUBLE OVERBAR;Sm;0;ON;;;;;N;;;;; 2A5F;LOGICAL AND WITH UNDERBAR;Sm;0;ON;;;;;N;;;;; 2A60;LOGICAL AND WITH DOUBLE UNDERBAR;Sm;0;ON;;;;;N;;;;; 2A61;SMALL VEE WITH UNDERBAR;Sm;0;ON;;;;;N;;;;; 2A62;LOGICAL OR WITH DOUBLE OVERBAR;Sm;0;ON;;;;;N;;;;; 2A63;LOGICAL OR WITH DOUBLE UNDERBAR;Sm;0;ON;;;;;N;;;;; 2A64;Z NOTATION DOMAIN ANTIRESTRICTION;Sm;0;ON;;;;;Y;;;;; 2A65;Z NOTATION RANGE ANTIRESTRICTION;Sm;0;ON;;;;;Y;;;;; 2A66;EQUALS SIGN WITH DOT BELOW;Sm;0;ON;;;;;N;;;;; 2A67;IDENTICAL WITH DOT ABOVE;Sm;0;ON;;;;;N;;;;; 2A68;TRIPLE HORIZONTAL BAR WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; 2A69;TRIPLE HORIZONTAL BAR WITH TRIPLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; 2A6A;TILDE OPERATOR WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;; 2A6B;TILDE OPERATOR WITH RISING DOTS;Sm;0;ON;;;;;Y;;;;; 2A6C;SIMILAR MINUS SIMILAR;Sm;0;ON;;;;;Y;;;;; 2A6D;CONGRUENT WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;; 2A6E;EQUALS WITH ASTERISK;Sm;0;ON;;;;;N;;;;; 2A6F;ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT;Sm;0;ON;;;;;Y;;;;; 2A70;APPROXIMATELY EQUAL OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2A71;EQUALS SIGN ABOVE PLUS SIGN;Sm;0;ON;;;;;N;;;;; 2A72;PLUS SIGN ABOVE EQUALS SIGN;Sm;0;ON;;;;;N;;;;; 2A73;EQUALS SIGN ABOVE TILDE OPERATOR;Sm;0;ON;;;;;Y;;;;; 2A74;DOUBLE COLON EQUAL;Sm;0;ON; 003A 003A 003D;;;;Y;;;;; 2A75;TWO CONSECUTIVE EQUALS SIGNS;Sm;0;ON; 003D 003D;;;;N;;;;; 2A76;THREE CONSECUTIVE EQUALS SIGNS;Sm;0;ON; 003D 003D 003D;;;;N;;;;; 2A77;EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW;Sm;0;ON;;;;;N;;;;; 2A78;EQUIVALENT WITH FOUR DOTS ABOVE;Sm;0;ON;;;;;N;;;;; 2A79;LESS-THAN WITH CIRCLE INSIDE;Sm;0;ON;;;;;Y;;;;; 2A7A;GREATER-THAN WITH CIRCLE INSIDE;Sm;0;ON;;;;;Y;;;;; 2A7B;LESS-THAN WITH QUESTION MARK ABOVE;Sm;0;ON;;;;;Y;;;;; 2A7C;GREATER-THAN WITH QUESTION MARK ABOVE;Sm;0;ON;;;;;Y;;;;; 2A7D;LESS-THAN OR SLANTED EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2A7E;GREATER-THAN OR SLANTED EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2A7F;LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE;Sm;0;ON;;;;;Y;;;;; 2A80;GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE;Sm;0;ON;;;;;Y;;;;; 2A81;LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;; 2A82;GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;; 2A83;LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT;Sm;0;ON;;;;;Y;;;;; 2A84;GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT;Sm;0;ON;;;;;Y;;;;; 2A85;LESS-THAN OR APPROXIMATE;Sm;0;ON;;;;;Y;;;;; 2A86;GREATER-THAN OR APPROXIMATE;Sm;0;ON;;;;;Y;;;;; 2A87;LESS-THAN AND SINGLE-LINE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2A88;GREATER-THAN AND SINGLE-LINE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2A89;LESS-THAN AND NOT APPROXIMATE;Sm;0;ON;;;;;Y;;;;; 2A8A;GREATER-THAN AND NOT APPROXIMATE;Sm;0;ON;;;;;Y;;;;; 2A8B;LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN;Sm;0;ON;;;;;Y;;;;; 2A8C;GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN;Sm;0;ON;;;;;Y;;;;; 2A8D;LESS-THAN ABOVE SIMILAR OR EQUAL;Sm;0;ON;;;;;Y;;;;; 2A8E;GREATER-THAN ABOVE SIMILAR OR EQUAL;Sm;0;ON;;;;;Y;;;;; 2A8F;LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN;Sm;0;ON;;;;;Y;;;;; 2A90;GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN;Sm;0;ON;;;;;Y;;;;; 2A91;LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL;Sm;0;ON;;;;;Y;;;;; 2A92;GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL;Sm;0;ON;;;;;Y;;;;; 2A93;LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL;Sm;0;ON;;;;;Y;;;;; 2A94;GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL;Sm;0;ON;;;;;Y;;;;; 2A95;SLANTED EQUAL TO OR LESS-THAN;Sm;0;ON;;;;;Y;;;;; 2A96;SLANTED EQUAL TO OR GREATER-THAN;Sm;0;ON;;;;;Y;;;;; 2A97;SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE;Sm;0;ON;;;;;Y;;;;; 2A98;SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE;Sm;0;ON;;;;;Y;;;;; 2A99;DOUBLE-LINE EQUAL TO OR LESS-THAN;Sm;0;ON;;;;;Y;;;;; 2A9A;DOUBLE-LINE EQUAL TO OR GREATER-THAN;Sm;0;ON;;;;;Y;;;;; 2A9B;DOUBLE-LINE SLANTED EQUAL TO OR LESS-THAN;Sm;0;ON;;;;;Y;;;;; 2A9C;DOUBLE-LINE SLANTED EQUAL TO OR GREATER-THAN;Sm;0;ON;;;;;Y;;;;; 2A9D;SIMILAR OR LESS-THAN;Sm;0;ON;;;;;Y;;;;; 2A9E;SIMILAR OR GREATER-THAN;Sm;0;ON;;;;;Y;;;;; 2A9F;SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;; 2AA0;SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;; 2AA1;DOUBLE NESTED LESS-THAN;Sm;0;ON;;;;;Y;;;;; 2AA2;DOUBLE NESTED GREATER-THAN;Sm;0;ON;;;;;Y;;;;; 2AA3;DOUBLE NESTED LESS-THAN WITH UNDERBAR;Sm;0;ON;;;;;Y;;;;; 2AA4;GREATER-THAN OVERLAPPING LESS-THAN;Sm;0;ON;;;;;N;;;;; 2AA5;GREATER-THAN BESIDE LESS-THAN;Sm;0;ON;;;;;N;;;;; 2AA6;LESS-THAN CLOSED BY CURVE;Sm;0;ON;;;;;Y;;;;; 2AA7;GREATER-THAN CLOSED BY CURVE;Sm;0;ON;;;;;Y;;;;; 2AA8;LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL;Sm;0;ON;;;;;Y;;;;; 2AA9;GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL;Sm;0;ON;;;;;Y;;;;; 2AAA;SMALLER THAN;Sm;0;ON;;;;;Y;;;;; 2AAB;LARGER THAN;Sm;0;ON;;;;;Y;;;;; 2AAC;SMALLER THAN OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2AAD;LARGER THAN OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2AAE;EQUALS SIGN WITH BUMPY ABOVE;Sm;0;ON;;;;;N;;;;; 2AAF;PRECEDES ABOVE SINGLE-LINE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;; 2AB0;SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;; 2AB1;PRECEDES ABOVE SINGLE-LINE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2AB2;SUCCEEDS ABOVE SINGLE-LINE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2AB3;PRECEDES ABOVE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;; 2AB4;SUCCEEDS ABOVE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;; 2AB5;PRECEDES ABOVE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2AB6;SUCCEEDS ABOVE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2AB7;PRECEDES ABOVE ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2AB8;SUCCEEDS ABOVE ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2AB9;PRECEDES ABOVE NOT ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2ABA;SUCCEEDS ABOVE NOT ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2ABB;DOUBLE PRECEDES;Sm;0;ON;;;;;Y;;;;; 2ABC;DOUBLE SUCCEEDS;Sm;0;ON;;;;;Y;;;;; 2ABD;SUBSET WITH DOT;Sm;0;ON;;;;;Y;;;;; 2ABE;SUPERSET WITH DOT;Sm;0;ON;;;;;Y;;;;; 2ABF;SUBSET WITH PLUS SIGN BELOW;Sm;0;ON;;;;;Y;;;;; 2AC0;SUPERSET WITH PLUS SIGN BELOW;Sm;0;ON;;;;;Y;;;;; 2AC1;SUBSET WITH MULTIPLICATION SIGN BELOW;Sm;0;ON;;;;;Y;;;;; 2AC2;SUPERSET WITH MULTIPLICATION SIGN BELOW;Sm;0;ON;;;;;Y;;;;; 2AC3;SUBSET OF OR EQUAL TO WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;; 2AC4;SUPERSET OF OR EQUAL TO WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;; 2AC5;SUBSET OF ABOVE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;; 2AC6;SUPERSET OF ABOVE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;; 2AC7;SUBSET OF ABOVE TILDE OPERATOR;Sm;0;ON;;;;;Y;;;;; 2AC8;SUPERSET OF ABOVE TILDE OPERATOR;Sm;0;ON;;;;;Y;;;;; 2AC9;SUBSET OF ABOVE ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2ACA;SUPERSET OF ABOVE ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2ACB;SUBSET OF ABOVE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2ACC;SUPERSET OF ABOVE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2ACD;SQUARE LEFT OPEN BOX OPERATOR;Sm;0;ON;;;;;Y;;;;; 2ACE;SQUARE RIGHT OPEN BOX OPERATOR;Sm;0;ON;;;;;Y;;;;; 2ACF;CLOSED SUBSET;Sm;0;ON;;;;;Y;;;;; 2AD0;CLOSED SUPERSET;Sm;0;ON;;;;;Y;;;;; 2AD1;CLOSED SUBSET OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2AD2;CLOSED SUPERSET OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2AD3;SUBSET ABOVE SUPERSET;Sm;0;ON;;;;;Y;;;;; 2AD4;SUPERSET ABOVE SUBSET;Sm;0;ON;;;;;Y;;;;; 2AD5;SUBSET ABOVE SUBSET;Sm;0;ON;;;;;Y;;;;; 2AD6;SUPERSET ABOVE SUPERSET;Sm;0;ON;;;;;Y;;;;; 2AD7;SUPERSET BESIDE SUBSET;Sm;0;ON;;;;;N;;;;; 2AD8;SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET;Sm;0;ON;;;;;N;;;;; 2AD9;ELEMENT OF OPENING DOWNWARDS;Sm;0;ON;;;;;N;;;;; 2ADA;PITCHFORK WITH TEE TOP;Sm;0;ON;;;;;N;;;;; 2ADB;TRANSVERSAL INTERSECTION;Sm;0;ON;;;;;N;;;;; 2ADC;FORKING;Sm;0;ON;2ADD 0338;;;;Y;;not independent;;; 2ADD;NONFORKING;Sm;0;ON;;;;;N;;independent;;; 2ADE;SHORT LEFT TACK;Sm;0;ON;;;;;Y;;;;; 2ADF;SHORT DOWN TACK;Sm;0;ON;;;;;N;;;;; 2AE0;SHORT UP TACK;Sm;0;ON;;;;;N;;;;; 2AE1;PERPENDICULAR WITH S;Sm;0;ON;;;;;N;;;;; 2AE2;VERTICAL BAR TRIPLE RIGHT TURNSTILE;Sm;0;ON;;;;;Y;;;;; 2AE3;DOUBLE VERTICAL BAR LEFT TURNSTILE;Sm;0;ON;;;;;Y;;;;; 2AE4;VERTICAL BAR DOUBLE LEFT TURNSTILE;Sm;0;ON;;;;;Y;;;;; 2AE5;DOUBLE VERTICAL BAR DOUBLE LEFT TURNSTILE;Sm;0;ON;;;;;Y;;;;; 2AE6;LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL;Sm;0;ON;;;;;Y;;;;; 2AE7;SHORT DOWN TACK WITH OVERBAR;Sm;0;ON;;;;;N;;;;; 2AE8;SHORT UP TACK WITH UNDERBAR;Sm;0;ON;;;;;N;;;;; 2AE9;SHORT UP TACK ABOVE SHORT DOWN TACK;Sm;0;ON;;;;;N;;;;; 2AEA;DOUBLE DOWN TACK;Sm;0;ON;;;;;N;;;;; 2AEB;DOUBLE UP TACK;Sm;0;ON;;;;;N;;;;; 2AEC;DOUBLE STROKE NOT SIGN;Sm;0;ON;;;;;Y;;;;; 2AED;REVERSED DOUBLE STROKE NOT SIGN;Sm;0;ON;;;;;Y;;;;; 2AEE;DOES NOT DIVIDE WITH REVERSED NEGATION SLASH;Sm;0;ON;;;;;Y;;;;; 2AEF;VERTICAL LINE WITH CIRCLE ABOVE;Sm;0;ON;;;;;N;;;;; 2AF0;VERTICAL LINE WITH CIRCLE BELOW;Sm;0;ON;;;;;N;;;;; 2AF1;DOWN TACK WITH CIRCLE BELOW;Sm;0;ON;;;;;N;;;;; 2AF2;PARALLEL WITH HORIZONTAL STROKE;Sm;0;ON;;;;;N;;;;; 2AF3;PARALLEL WITH TILDE OPERATOR;Sm;0;ON;;;;;Y;;;;; 2AF4;TRIPLE VERTICAL BAR BINARY RELATION;Sm;0;ON;;;;;N;;;;; 2AF5;TRIPLE VERTICAL BAR WITH HORIZONTAL STROKE;Sm;0;ON;;;;;N;;;;; 2AF6;TRIPLE COLON OPERATOR;Sm;0;ON;;;;;N;;;;; 2AF7;TRIPLE NESTED LESS-THAN;Sm;0;ON;;;;;Y;;;;; 2AF8;TRIPLE NESTED GREATER-THAN;Sm;0;ON;;;;;Y;;;;; 2AF9;DOUBLE-LINE SLANTED LESS-THAN OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2AFA;DOUBLE-LINE SLANTED GREATER-THAN OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2AFB;TRIPLE SOLIDUS BINARY RELATION;Sm;0;ON;;;;;Y;;;;; 2AFC;LARGE TRIPLE VERTICAL BAR OPERATOR;Sm;0;ON;;;;;N;;;;; 2AFD;DOUBLE SOLIDUS OPERATOR;Sm;0;ON;;;;;Y;;;;; 2AFE;WHITE VERTICAL BAR;Sm;0;ON;;;;;N;;;;; 2AFF;N-ARY WHITE VERTICAL BAR;Sm;0;ON;;;;;N;;;;; 2B00;NORTH EAST WHITE ARROW;So;0;ON;;;;;N;;;;; 2B01;NORTH WEST WHITE ARROW;So;0;ON;;;;;N;;;;; 2B02;SOUTH EAST WHITE ARROW;So;0;ON;;;;;N;;;;; 2B03;SOUTH WEST WHITE ARROW;So;0;ON;;;;;N;;;;; 2B04;LEFT RIGHT WHITE ARROW;So;0;ON;;;;;N;;;;; 2B05;LEFTWARDS BLACK ARROW;So;0;ON;;;;;N;;;;; 2B06;UPWARDS BLACK ARROW;So;0;ON;;;;;N;;;;; 2B07;DOWNWARDS BLACK ARROW;So;0;ON;;;;;N;;;;; 2B08;NORTH EAST BLACK ARROW;So;0;ON;;;;;N;;;;; 2B09;NORTH WEST BLACK ARROW;So;0;ON;;;;;N;;;;; 2B0A;SOUTH EAST BLACK ARROW;So;0;ON;;;;;N;;;;; 2B0B;SOUTH WEST BLACK ARROW;So;0;ON;;;;;N;;;;; 2B0C;LEFT RIGHT BLACK ARROW;So;0;ON;;;;;N;;;;; 2B0D;UP DOWN BLACK ARROW;So;0;ON;;;;;N;;;;; 2E80;CJK RADICAL REPEAT;So;0;ON;;;;;N;;;;; 2E81;CJK RADICAL CLIFF;So;0;ON;;;;;N;;;;; 2E82;CJK RADICAL SECOND ONE;So;0;ON;;;;;N;;;;; 2E83;CJK RADICAL SECOND TWO;So;0;ON;;;;;N;;;;; 2E84;CJK RADICAL SECOND THREE;So;0;ON;;;;;N;;;;; 2E85;CJK RADICAL PERSON;So;0;ON;;;;;N;;;;; 2E86;CJK RADICAL BOX;So;0;ON;;;;;N;;;;; 2E87;CJK RADICAL TABLE;So;0;ON;;;;;N;;;;; 2E88;CJK RADICAL KNIFE ONE;So;0;ON;;;;;N;;;;; 2E89;CJK RADICAL KNIFE TWO;So;0;ON;;;;;N;;;;; 2E8A;CJK RADICAL DIVINATION;So;0;ON;;;;;N;;;;; 2E8B;CJK RADICAL SEAL;So;0;ON;;;;;N;;;;; 2E8C;CJK RADICAL SMALL ONE;So;0;ON;;;;;N;;;;; 2E8D;CJK RADICAL SMALL TWO;So;0;ON;;;;;N;;;;; 2E8E;CJK RADICAL LAME ONE;So;0;ON;;;;;N;;;;; 2E8F;CJK RADICAL LAME TWO;So;0;ON;;;;;N;;;;; 2E90;CJK RADICAL LAME THREE;So;0;ON;;;;;N;;;;; 2E91;CJK RADICAL LAME FOUR;So;0;ON;;;;;N;;;;; 2E92;CJK RADICAL SNAKE;So;0;ON;;;;;N;;;;; 2E93;CJK RADICAL THREAD;So;0;ON;;;;;N;;;;; 2E94;CJK RADICAL SNOUT ONE;So;0;ON;;;;;N;;;;; 2E95;CJK RADICAL SNOUT TWO;So;0;ON;;;;;N;;;;; 2E96;CJK RADICAL HEART ONE;So;0;ON;;;;;N;;;;; 2E97;CJK RADICAL HEART TWO;So;0;ON;;;;;N;;;;; 2E98;CJK RADICAL HAND;So;0;ON;;;;;N;;;;; 2E99;CJK RADICAL RAP;So;0;ON;;;;;N;;;;; 2E9B;CJK RADICAL CHOKE;So;0;ON;;;;;N;;;;; 2E9C;CJK RADICAL SUN;So;0;ON;;;;;N;;;;; 2E9D;CJK RADICAL MOON;So;0;ON;;;;;N;;;;; 2E9E;CJK RADICAL DEATH;So;0;ON;;;;;N;;;;; 2E9F;CJK RADICAL MOTHER;So;0;ON; 6BCD;;;;N;;;;; 2EA0;CJK RADICAL CIVILIAN;So;0;ON;;;;;N;;;;; 2EA1;CJK RADICAL WATER ONE;So;0;ON;;;;;N;;;;; 2EA2;CJK RADICAL WATER TWO;So;0;ON;;;;;N;;;;; 2EA3;CJK RADICAL FIRE;So;0;ON;;;;;N;;;;; 2EA4;CJK RADICAL PAW ONE;So;0;ON;;;;;N;;;;; 2EA5;CJK RADICAL PAW TWO;So;0;ON;;;;;N;;;;; 2EA6;CJK RADICAL SIMPLIFIED HALF TREE TRUNK;So;0;ON;;;;;N;;;;; 2EA7;CJK RADICAL COW;So;0;ON;;;;;N;;;;; 2EA8;CJK RADICAL DOG;So;0;ON;;;;;N;;;;; 2EA9;CJK RADICAL JADE;So;0;ON;;;;;N;;;;; 2EAA;CJK RADICAL BOLT OF CLOTH;So;0;ON;;;;;N;;;;; 2EAB;CJK RADICAL EYE;So;0;ON;;;;;N;;;;; 2EAC;CJK RADICAL SPIRIT ONE;So;0;ON;;;;;N;;;;; 2EAD;CJK RADICAL SPIRIT TWO;So;0;ON;;;;;N;;;;; 2EAE;CJK RADICAL BAMBOO;So;0;ON;;;;;N;;;;; 2EAF;CJK RADICAL SILK;So;0;ON;;;;;N;;;;; 2EB0;CJK RADICAL C-SIMPLIFIED SILK;So;0;ON;;;;;N;;;;; 2EB1;CJK RADICAL NET ONE;So;0;ON;;;;;N;;;;; 2EB2;CJK RADICAL NET TWO;So;0;ON;;;;;N;;;;; 2EB3;CJK RADICAL NET THREE;So;0;ON;;;;;N;;;;; 2EB4;CJK RADICAL NET FOUR;So;0;ON;;;;;N;;;;; 2EB5;CJK RADICAL MESH;So;0;ON;;;;;N;;;;; 2EB6;CJK RADICAL SHEEP;So;0;ON;;;;;N;;;;; 2EB7;CJK RADICAL RAM;So;0;ON;;;;;N;;;;; 2EB8;CJK RADICAL EWE;So;0;ON;;;;;N;;;;; 2EB9;CJK RADICAL OLD;So;0;ON;;;;;N;;;;; 2EBA;CJK RADICAL BRUSH ONE;So;0;ON;;;;;N;;;;; 2EBB;CJK RADICAL BRUSH TWO;So;0;ON;;;;;N;;;;; 2EBC;CJK RADICAL MEAT;So;0;ON;;;;;N;;;;; 2EBD;CJK RADICAL MORTAR;So;0;ON;;;;;N;;;;; 2EBE;CJK RADICAL GRASS ONE;So;0;ON;;;;;N;;;;; 2EBF;CJK RADICAL GRASS TWO;So;0;ON;;;;;N;;;;; 2EC0;CJK RADICAL GRASS THREE;So;0;ON;;;;;N;;;;; 2EC1;CJK RADICAL TIGER;So;0;ON;;;;;N;;;;; 2EC2;CJK RADICAL CLOTHES;So;0;ON;;;;;N;;;;; 2EC3;CJK RADICAL WEST ONE;So;0;ON;;;;;N;;;;; 2EC4;CJK RADICAL WEST TWO;So;0;ON;;;;;N;;;;; 2EC5;CJK RADICAL C-SIMPLIFIED SEE;So;0;ON;;;;;N;;;;; 2EC6;CJK RADICAL SIMPLIFIED HORN;So;0;ON;;;;;N;;;;; 2EC7;CJK RADICAL HORN;So;0;ON;;;;;N;;;;; 2EC8;CJK RADICAL C-SIMPLIFIED SPEECH;So;0;ON;;;;;N;;;;; 2EC9;CJK RADICAL C-SIMPLIFIED SHELL;So;0;ON;;;;;N;;;;; 2ECA;CJK RADICAL FOOT;So;0;ON;;;;;N;;;;; 2ECB;CJK RADICAL C-SIMPLIFIED CART;So;0;ON;;;;;N;;;;; 2ECC;CJK RADICAL SIMPLIFIED WALK;So;0;ON;;;;;N;;;;; 2ECD;CJK RADICAL WALK ONE;So;0;ON;;;;;N;;;;; 2ECE;CJK RADICAL WALK TWO;So;0;ON;;;;;N;;;;; 2ECF;CJK RADICAL CITY;So;0;ON;;;;;N;;;;; 2ED0;CJK RADICAL C-SIMPLIFIED GOLD;So;0;ON;;;;;N;;;;; 2ED1;CJK RADICAL LONG ONE;So;0;ON;;;;;N;;;;; 2ED2;CJK RADICAL LONG TWO;So;0;ON;;;;;N;;;;; 2ED3;CJK RADICAL C-SIMPLIFIED LONG;So;0;ON;;;;;N;;;;; 2ED4;CJK RADICAL C-SIMPLIFIED GATE;So;0;ON;;;;;N;;;;; 2ED5;CJK RADICAL MOUND ONE;So;0;ON;;;;;N;;;;; 2ED6;CJK RADICAL MOUND TWO;So;0;ON;;;;;N;;;;; 2ED7;CJK RADICAL RAIN;So;0;ON;;;;;N;;;;; 2ED8;CJK RADICAL BLUE;So;0;ON;;;;;N;;;;; 2ED9;CJK RADICAL C-SIMPLIFIED TANNED LEATHER;So;0;ON;;;;;N;;;;; 2EDA;CJK RADICAL C-SIMPLIFIED LEAF;So;0;ON;;;;;N;;;;; 2EDB;CJK RADICAL C-SIMPLIFIED WIND;So;0;ON;;;;;N;;;;; 2EDC;CJK RADICAL C-SIMPLIFIED FLY;So;0;ON;;;;;N;;;;; 2EDD;CJK RADICAL EAT ONE;So;0;ON;;;;;N;;;;; 2EDE;CJK RADICAL EAT TWO;So;0;ON;;;;;N;;;;; 2EDF;CJK RADICAL EAT THREE;So;0;ON;;;;;N;;;;; 2EE0;CJK RADICAL C-SIMPLIFIED EAT;So;0;ON;;;;;N;;;;; 2EE1;CJK RADICAL HEAD;So;0;ON;;;;;N;;;;; 2EE2;CJK RADICAL C-SIMPLIFIED HORSE;So;0;ON;;;;;N;;;;; 2EE3;CJK RADICAL BONE;So;0;ON;;;;;N;;;;; 2EE4;CJK RADICAL GHOST;So;0;ON;;;;;N;;;;; 2EE5;CJK RADICAL C-SIMPLIFIED FISH;So;0;ON;;;;;N;;;;; 2EE6;CJK RADICAL C-SIMPLIFIED BIRD;So;0;ON;;;;;N;;;;; 2EE7;CJK RADICAL C-SIMPLIFIED SALT;So;0;ON;;;;;N;;;;; 2EE8;CJK RADICAL SIMPLIFIED WHEAT;So;0;ON;;;;;N;;;;; 2EE9;CJK RADICAL SIMPLIFIED YELLOW;So;0;ON;;;;;N;;;;; 2EEA;CJK RADICAL C-SIMPLIFIED FROG;So;0;ON;;;;;N;;;;; 2EEB;CJK RADICAL J-SIMPLIFIED EVEN;So;0;ON;;;;;N;;;;; 2EEC;CJK RADICAL C-SIMPLIFIED EVEN;So;0;ON;;;;;N;;;;; 2EED;CJK RADICAL J-SIMPLIFIED TOOTH;So;0;ON;;;;;N;;;;; 2EEE;CJK RADICAL C-SIMPLIFIED TOOTH;So;0;ON;;;;;N;;;;; 2EEF;CJK RADICAL J-SIMPLIFIED DRAGON;So;0;ON;;;;;N;;;;; 2EF0;CJK RADICAL C-SIMPLIFIED DRAGON;So;0;ON;;;;;N;;;;; 2EF1;CJK RADICAL TURTLE;So;0;ON;;;;;N;;;;; 2EF2;CJK RADICAL J-SIMPLIFIED TURTLE;So;0;ON;;;;;N;;;;; 2EF3;CJK RADICAL C-SIMPLIFIED TURTLE;So;0;ON; 9F9F;;;;N;;;;; 2F00;KANGXI RADICAL ONE;So;0;ON; 4E00;;;;N;;;;; 2F01;KANGXI RADICAL LINE;So;0;ON; 4E28;;;;N;;;;; 2F02;KANGXI RADICAL DOT;So;0;ON; 4E36;;;;N;;;;; 2F03;KANGXI RADICAL SLASH;So;0;ON; 4E3F;;;;N;;;;; 2F04;KANGXI RADICAL SECOND;So;0;ON; 4E59;;;;N;;;;; 2F05;KANGXI RADICAL HOOK;So;0;ON; 4E85;;;;N;;;;; 2F06;KANGXI RADICAL TWO;So;0;ON; 4E8C;;;;N;;;;; 2F07;KANGXI RADICAL LID;So;0;ON; 4EA0;;;;N;;;;; 2F08;KANGXI RADICAL MAN;So;0;ON; 4EBA;;;;N;;;;; 2F09;KANGXI RADICAL LEGS;So;0;ON; 513F;;;;N;;;;; 2F0A;KANGXI RADICAL ENTER;So;0;ON; 5165;;;;N;;;;; 2F0B;KANGXI RADICAL EIGHT;So;0;ON; 516B;;;;N;;;;; 2F0C;KANGXI RADICAL DOWN BOX;So;0;ON; 5182;;;;N;;;;; 2F0D;KANGXI RADICAL COVER;So;0;ON; 5196;;;;N;;;;; 2F0E;KANGXI RADICAL ICE;So;0;ON; 51AB;;;;N;;;;; 2F0F;KANGXI RADICAL TABLE;So;0;ON; 51E0;;;;N;;;;; 2F10;KANGXI RADICAL OPEN BOX;So;0;ON; 51F5;;;;N;;;;; 2F11;KANGXI RADICAL KNIFE;So;0;ON; 5200;;;;N;;;;; 2F12;KANGXI RADICAL POWER;So;0;ON; 529B;;;;N;;;;; 2F13;KANGXI RADICAL WRAP;So;0;ON; 52F9;;;;N;;;;; 2F14;KANGXI RADICAL SPOON;So;0;ON; 5315;;;;N;;;;; 2F15;KANGXI RADICAL RIGHT OPEN BOX;So;0;ON; 531A;;;;N;;;;; 2F16;KANGXI RADICAL HIDING ENCLOSURE;So;0;ON; 5338;;;;N;;;;; 2F17;KANGXI RADICAL TEN;So;0;ON; 5341;;;;N;;;;; 2F18;KANGXI RADICAL DIVINATION;So;0;ON; 535C;;;;N;;;;; 2F19;KANGXI RADICAL SEAL;So;0;ON; 5369;;;;N;;;;; 2F1A;KANGXI RADICAL CLIFF;So;0;ON; 5382;;;;N;;;;; 2F1B;KANGXI RADICAL PRIVATE;So;0;ON; 53B6;;;;N;;;;; 2F1C;KANGXI RADICAL AGAIN;So;0;ON; 53C8;;;;N;;;;; 2F1D;KANGXI RADICAL MOUTH;So;0;ON; 53E3;;;;N;;;;; 2F1E;KANGXI RADICAL ENCLOSURE;So;0;ON; 56D7;;;;N;;;;; 2F1F;KANGXI RADICAL EARTH;So;0;ON; 571F;;;;N;;;;; 2F20;KANGXI RADICAL SCHOLAR;So;0;ON; 58EB;;;;N;;;;; 2F21;KANGXI RADICAL GO;So;0;ON; 5902;;;;N;;;;; 2F22;KANGXI RADICAL GO SLOWLY;So;0;ON; 590A;;;;N;;;;; 2F23;KANGXI RADICAL EVENING;So;0;ON; 5915;;;;N;;;;; 2F24;KANGXI RADICAL BIG;So;0;ON; 5927;;;;N;;;;; 2F25;KANGXI RADICAL WOMAN;So;0;ON; 5973;;;;N;;;;; 2F26;KANGXI RADICAL CHILD;So;0;ON; 5B50;;;;N;;;;; 2F27;KANGXI RADICAL ROOF;So;0;ON; 5B80;;;;N;;;;; 2F28;KANGXI RADICAL INCH;So;0;ON; 5BF8;;;;N;;;;; 2F29;KANGXI RADICAL SMALL;So;0;ON; 5C0F;;;;N;;;;; 2F2A;KANGXI RADICAL LAME;So;0;ON; 5C22;;;;N;;;;; 2F2B;KANGXI RADICAL CORPSE;So;0;ON; 5C38;;;;N;;;;; 2F2C;KANGXI RADICAL SPROUT;So;0;ON; 5C6E;;;;N;;;;; 2F2D;KANGXI RADICAL MOUNTAIN;So;0;ON; 5C71;;;;N;;;;; 2F2E;KANGXI RADICAL RIVER;So;0;ON; 5DDB;;;;N;;;;; 2F2F;KANGXI RADICAL WORK;So;0;ON; 5DE5;;;;N;;;;; 2F30;KANGXI RADICAL ONESELF;So;0;ON; 5DF1;;;;N;;;;; 2F31;KANGXI RADICAL TURBAN;So;0;ON; 5DFE;;;;N;;;;; 2F32;KANGXI RADICAL DRY;So;0;ON; 5E72;;;;N;;;;; 2F33;KANGXI RADICAL SHORT THREAD;So;0;ON; 5E7A;;;;N;;;;; 2F34;KANGXI RADICAL DOTTED CLIFF;So;0;ON; 5E7F;;;;N;;;;; 2F35;KANGXI RADICAL LONG STRIDE;So;0;ON; 5EF4;;;;N;;;;; 2F36;KANGXI RADICAL TWO HANDS;So;0;ON; 5EFE;;;;N;;;;; 2F37;KANGXI RADICAL SHOOT;So;0;ON; 5F0B;;;;N;;;;; 2F38;KANGXI RADICAL BOW;So;0;ON; 5F13;;;;N;;;;; 2F39;KANGXI RADICAL SNOUT;So;0;ON; 5F50;;;;N;;;;; 2F3A;KANGXI RADICAL BRISTLE;So;0;ON; 5F61;;;;N;;;;; 2F3B;KANGXI RADICAL STEP;So;0;ON; 5F73;;;;N;;;;; 2F3C;KANGXI RADICAL HEART;So;0;ON; 5FC3;;;;N;;;;; 2F3D;KANGXI RADICAL HALBERD;So;0;ON; 6208;;;;N;;;;; 2F3E;KANGXI RADICAL DOOR;So;0;ON; 6236;;;;N;;;;; 2F3F;KANGXI RADICAL HAND;So;0;ON; 624B;;;;N;;;;; 2F40;KANGXI RADICAL BRANCH;So;0;ON; 652F;;;;N;;;;; 2F41;KANGXI RADICAL RAP;So;0;ON; 6534;;;;N;;;;; 2F42;KANGXI RADICAL SCRIPT;So;0;ON; 6587;;;;N;;;;; 2F43;KANGXI RADICAL DIPPER;So;0;ON; 6597;;;;N;;;;; 2F44;KANGXI RADICAL AXE;So;0;ON; 65A4;;;;N;;;;; 2F45;KANGXI RADICAL SQUARE;So;0;ON; 65B9;;;;N;;;;; 2F46;KANGXI RADICAL NOT;So;0;ON; 65E0;;;;N;;;;; 2F47;KANGXI RADICAL SUN;So;0;ON; 65E5;;;;N;;;;; 2F48;KANGXI RADICAL SAY;So;0;ON; 66F0;;;;N;;;;; 2F49;KANGXI RADICAL MOON;So;0;ON; 6708;;;;N;;;;; 2F4A;KANGXI RADICAL TREE;So;0;ON; 6728;;;;N;;;;; 2F4B;KANGXI RADICAL LACK;So;0;ON; 6B20;;;;N;;;;; 2F4C;KANGXI RADICAL STOP;So;0;ON; 6B62;;;;N;;;;; 2F4D;KANGXI RADICAL DEATH;So;0;ON; 6B79;;;;N;;;;; 2F4E;KANGXI RADICAL WEAPON;So;0;ON; 6BB3;;;;N;;;;; 2F4F;KANGXI RADICAL DO NOT;So;0;ON; 6BCB;;;;N;;;;; 2F50;KANGXI RADICAL COMPARE;So;0;ON; 6BD4;;;;N;;;;; 2F51;KANGXI RADICAL FUR;So;0;ON; 6BDB;;;;N;;;;; 2F52;KANGXI RADICAL CLAN;So;0;ON; 6C0F;;;;N;;;;; 2F53;KANGXI RADICAL STEAM;So;0;ON; 6C14;;;;N;;;;; 2F54;KANGXI RADICAL WATER;So;0;ON; 6C34;;;;N;;;;; 2F55;KANGXI RADICAL FIRE;So;0;ON; 706B;;;;N;;;;; 2F56;KANGXI RADICAL CLAW;So;0;ON; 722A;;;;N;;;;; 2F57;KANGXI RADICAL FATHER;So;0;ON; 7236;;;;N;;;;; 2F58;KANGXI RADICAL DOUBLE X;So;0;ON; 723B;;;;N;;;;; 2F59;KANGXI RADICAL HALF TREE TRUNK;So;0;ON; 723F;;;;N;;;;; 2F5A;KANGXI RADICAL SLICE;So;0;ON; 7247;;;;N;;;;; 2F5B;KANGXI RADICAL FANG;So;0;ON; 7259;;;;N;;;;; 2F5C;KANGXI RADICAL COW;So;0;ON; 725B;;;;N;;;;; 2F5D;KANGXI RADICAL DOG;So;0;ON; 72AC;;;;N;;;;; 2F5E;KANGXI RADICAL PROFOUND;So;0;ON; 7384;;;;N;;;;; 2F5F;KANGXI RADICAL JADE;So;0;ON; 7389;;;;N;;;;; 2F60;KANGXI RADICAL MELON;So;0;ON; 74DC;;;;N;;;;; 2F61;KANGXI RADICAL TILE;So;0;ON; 74E6;;;;N;;;;; 2F62;KANGXI RADICAL SWEET;So;0;ON; 7518;;;;N;;;;; 2F63;KANGXI RADICAL LIFE;So;0;ON; 751F;;;;N;;;;; 2F64;KANGXI RADICAL USE;So;0;ON; 7528;;;;N;;;;; 2F65;KANGXI RADICAL FIELD;So;0;ON; 7530;;;;N;;;;; 2F66;KANGXI RADICAL BOLT OF CLOTH;So;0;ON; 758B;;;;N;;;;; 2F67;KANGXI RADICAL SICKNESS;So;0;ON; 7592;;;;N;;;;; 2F68;KANGXI RADICAL DOTTED TENT;So;0;ON; 7676;;;;N;;;;; 2F69;KANGXI RADICAL WHITE;So;0;ON; 767D;;;;N;;;;; 2F6A;KANGXI RADICAL SKIN;So;0;ON; 76AE;;;;N;;;;; 2F6B;KANGXI RADICAL DISH;So;0;ON; 76BF;;;;N;;;;; 2F6C;KANGXI RADICAL EYE;So;0;ON; 76EE;;;;N;;;;; 2F6D;KANGXI RADICAL SPEAR;So;0;ON; 77DB;;;;N;;;;; 2F6E;KANGXI RADICAL ARROW;So;0;ON; 77E2;;;;N;;;;; 2F6F;KANGXI RADICAL STONE;So;0;ON; 77F3;;;;N;;;;; 2F70;KANGXI RADICAL SPIRIT;So;0;ON; 793A;;;;N;;;;; 2F71;KANGXI RADICAL TRACK;So;0;ON; 79B8;;;;N;;;;; 2F72;KANGXI RADICAL GRAIN;So;0;ON; 79BE;;;;N;;;;; 2F73;KANGXI RADICAL CAVE;So;0;ON; 7A74;;;;N;;;;; 2F74;KANGXI RADICAL STAND;So;0;ON; 7ACB;;;;N;;;;; 2F75;KANGXI RADICAL BAMBOO;So;0;ON; 7AF9;;;;N;;;;; 2F76;KANGXI RADICAL RICE;So;0;ON; 7C73;;;;N;;;;; 2F77;KANGXI RADICAL SILK;So;0;ON; 7CF8;;;;N;;;;; 2F78;KANGXI RADICAL JAR;So;0;ON; 7F36;;;;N;;;;; 2F79;KANGXI RADICAL NET;So;0;ON; 7F51;;;;N;;;;; 2F7A;KANGXI RADICAL SHEEP;So;0;ON; 7F8A;;;;N;;;;; 2F7B;KANGXI RADICAL FEATHER;So;0;ON; 7FBD;;;;N;;;;; 2F7C;KANGXI RADICAL OLD;So;0;ON; 8001;;;;N;;;;; 2F7D;KANGXI RADICAL AND;So;0;ON; 800C;;;;N;;;;; 2F7E;KANGXI RADICAL PLOW;So;0;ON; 8012;;;;N;;;;; 2F7F;KANGXI RADICAL EAR;So;0;ON; 8033;;;;N;;;;; 2F80;KANGXI RADICAL BRUSH;So;0;ON; 807F;;;;N;;;;; 2F81;KANGXI RADICAL MEAT;So;0;ON; 8089;;;;N;;;;; 2F82;KANGXI RADICAL MINISTER;So;0;ON; 81E3;;;;N;;;;; 2F83;KANGXI RADICAL SELF;So;0;ON; 81EA;;;;N;;;;; 2F84;KANGXI RADICAL ARRIVE;So;0;ON; 81F3;;;;N;;;;; 2F85;KANGXI RADICAL MORTAR;So;0;ON; 81FC;;;;N;;;;; 2F86;KANGXI RADICAL TONGUE;So;0;ON; 820C;;;;N;;;;; 2F87;KANGXI RADICAL OPPOSE;So;0;ON; 821B;;;;N;;;;; 2F88;KANGXI RADICAL BOAT;So;0;ON; 821F;;;;N;;;;; 2F89;KANGXI RADICAL STOPPING;So;0;ON; 826E;;;;N;;;;; 2F8A;KANGXI RADICAL COLOR;So;0;ON; 8272;;;;N;;;;; 2F8B;KANGXI RADICAL GRASS;So;0;ON; 8278;;;;N;;;;; 2F8C;KANGXI RADICAL TIGER;So;0;ON; 864D;;;;N;;;;; 2F8D;KANGXI RADICAL INSECT;So;0;ON; 866B;;;;N;;;;; 2F8E;KANGXI RADICAL BLOOD;So;0;ON; 8840;;;;N;;;;; 2F8F;KANGXI RADICAL WALK ENCLOSURE;So;0;ON; 884C;;;;N;;;;; 2F90;KANGXI RADICAL CLOTHES;So;0;ON; 8863;;;;N;;;;; 2F91;KANGXI RADICAL WEST;So;0;ON; 897E;;;;N;;;;; 2F92;KANGXI RADICAL SEE;So;0;ON; 898B;;;;N;;;;; 2F93;KANGXI RADICAL HORN;So;0;ON; 89D2;;;;N;;;;; 2F94;KANGXI RADICAL SPEECH;So;0;ON; 8A00;;;;N;;;;; 2F95;KANGXI RADICAL VALLEY;So;0;ON; 8C37;;;;N;;;;; 2F96;KANGXI RADICAL BEAN;So;0;ON; 8C46;;;;N;;;;; 2F97;KANGXI RADICAL PIG;So;0;ON; 8C55;;;;N;;;;; 2F98;KANGXI RADICAL BADGER;So;0;ON; 8C78;;;;N;;;;; 2F99;KANGXI RADICAL SHELL;So;0;ON; 8C9D;;;;N;;;;; 2F9A;KANGXI RADICAL RED;So;0;ON; 8D64;;;;N;;;;; 2F9B;KANGXI RADICAL RUN;So;0;ON; 8D70;;;;N;;;;; 2F9C;KANGXI RADICAL FOOT;So;0;ON; 8DB3;;;;N;;;;; 2F9D;KANGXI RADICAL BODY;So;0;ON; 8EAB;;;;N;;;;; 2F9E;KANGXI RADICAL CART;So;0;ON; 8ECA;;;;N;;;;; 2F9F;KANGXI RADICAL BITTER;So;0;ON; 8F9B;;;;N;;;;; 2FA0;KANGXI RADICAL MORNING;So;0;ON; 8FB0;;;;N;;;;; 2FA1;KANGXI RADICAL WALK;So;0;ON; 8FB5;;;;N;;;;; 2FA2;KANGXI RADICAL CITY;So;0;ON; 9091;;;;N;;;;; 2FA3;KANGXI RADICAL WINE;So;0;ON; 9149;;;;N;;;;; 2FA4;KANGXI RADICAL DISTINGUISH;So;0;ON; 91C6;;;;N;;;;; 2FA5;KANGXI RADICAL VILLAGE;So;0;ON; 91CC;;;;N;;;;; 2FA6;KANGXI RADICAL GOLD;So;0;ON; 91D1;;;;N;;;;; 2FA7;KANGXI RADICAL LONG;So;0;ON; 9577;;;;N;;;;; 2FA8;KANGXI RADICAL GATE;So;0;ON; 9580;;;;N;;;;; 2FA9;KANGXI RADICAL MOUND;So;0;ON; 961C;;;;N;;;;; 2FAA;KANGXI RADICAL SLAVE;So;0;ON; 96B6;;;;N;;;;; 2FAB;KANGXI RADICAL SHORT TAILED BIRD;So;0;ON; 96B9;;;;N;;;;; 2FAC;KANGXI RADICAL RAIN;So;0;ON; 96E8;;;;N;;;;; 2FAD;KANGXI RADICAL BLUE;So;0;ON; 9751;;;;N;;;;; 2FAE;KANGXI RADICAL WRONG;So;0;ON; 975E;;;;N;;;;; 2FAF;KANGXI RADICAL FACE;So;0;ON; 9762;;;;N;;;;; 2FB0;KANGXI RADICAL LEATHER;So;0;ON; 9769;;;;N;;;;; 2FB1;KANGXI RADICAL TANNED LEATHER;So;0;ON; 97CB;;;;N;;;;; 2FB2;KANGXI RADICAL LEEK;So;0;ON; 97ED;;;;N;;;;; 2FB3;KANGXI RADICAL SOUND;So;0;ON; 97F3;;;;N;;;;; 2FB4;KANGXI RADICAL LEAF;So;0;ON; 9801;;;;N;;;;; 2FB5;KANGXI RADICAL WIND;So;0;ON; 98A8;;;;N;;;;; 2FB6;KANGXI RADICAL FLY;So;0;ON; 98DB;;;;N;;;;; 2FB7;KANGXI RADICAL EAT;So;0;ON; 98DF;;;;N;;;;; 2FB8;KANGXI RADICAL HEAD;So;0;ON; 9996;;;;N;;;;; 2FB9;KANGXI RADICAL FRAGRANT;So;0;ON; 9999;;;;N;;;;; 2FBA;KANGXI RADICAL HORSE;So;0;ON; 99AC;;;;N;;;;; 2FBB;KANGXI RADICAL BONE;So;0;ON; 9AA8;;;;N;;;;; 2FBC;KANGXI RADICAL TALL;So;0;ON; 9AD8;;;;N;;;;; 2FBD;KANGXI RADICAL HAIR;So;0;ON; 9ADF;;;;N;;;;; 2FBE;KANGXI RADICAL FIGHT;So;0;ON; 9B25;;;;N;;;;; 2FBF;KANGXI RADICAL SACRIFICIAL WINE;So;0;ON; 9B2F;;;;N;;;;; 2FC0;KANGXI RADICAL CAULDRON;So;0;ON; 9B32;;;;N;;;;; 2FC1;KANGXI RADICAL GHOST;So;0;ON; 9B3C;;;;N;;;;; 2FC2;KANGXI RADICAL FISH;So;0;ON; 9B5A;;;;N;;;;; 2FC3;KANGXI RADICAL BIRD;So;0;ON; 9CE5;;;;N;;;;; 2FC4;KANGXI RADICAL SALT;So;0;ON; 9E75;;;;N;;;;; 2FC5;KANGXI RADICAL DEER;So;0;ON; 9E7F;;;;N;;;;; 2FC6;KANGXI RADICAL WHEAT;So;0;ON; 9EA5;;;;N;;;;; 2FC7;KANGXI RADICAL HEMP;So;0;ON; 9EBB;;;;N;;;;; 2FC8;KANGXI RADICAL YELLOW;So;0;ON; 9EC3;;;;N;;;;; 2FC9;KANGXI RADICAL MILLET;So;0;ON; 9ECD;;;;N;;;;; 2FCA;KANGXI RADICAL BLACK;So;0;ON; 9ED1;;;;N;;;;; 2FCB;KANGXI RADICAL EMBROIDERY;So;0;ON; 9EF9;;;;N;;;;; 2FCC;KANGXI RADICAL FROG;So;0;ON; 9EFD;;;;N;;;;; 2FCD;KANGXI RADICAL TRIPOD;So;0;ON; 9F0E;;;;N;;;;; 2FCE;KANGXI RADICAL DRUM;So;0;ON; 9F13;;;;N;;;;; 2FCF;KANGXI RADICAL RAT;So;0;ON; 9F20;;;;N;;;;; 2FD0;KANGXI RADICAL NOSE;So;0;ON; 9F3B;;;;N;;;;; 2FD1;KANGXI RADICAL EVEN;So;0;ON; 9F4A;;;;N;;;;; 2FD2;KANGXI RADICAL TOOTH;So;0;ON; 9F52;;;;N;;;;; 2FD3;KANGXI RADICAL DRAGON;So;0;ON; 9F8D;;;;N;;;;; 2FD4;KANGXI RADICAL TURTLE;So;0;ON; 9F9C;;;;N;;;;; 2FD5;KANGXI RADICAL FLUTE;So;0;ON; 9FA0;;;;N;;;;; 2FF0;IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT;So;0;ON;;;;;N;;;;; 2FF1;IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO BELOW;So;0;ON;;;;;N;;;;; 2FF2;IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO MIDDLE AND RIGHT;So;0;ON;;;;;N;;;;; 2FF3;IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO MIDDLE AND BELOW;So;0;ON;;;;;N;;;;; 2FF4;IDEOGRAPHIC DESCRIPTION CHARACTER FULL SURROUND;So;0;ON;;;;;N;;;;; 2FF5;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM ABOVE;So;0;ON;;;;;N;;;;; 2FF6;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM BELOW;So;0;ON;;;;;N;;;;; 2FF7;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LEFT;So;0;ON;;;;;N;;;;; 2FF8;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER LEFT;So;0;ON;;;;;N;;;;; 2FF9;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER RIGHT;So;0;ON;;;;;N;;;;; 2FFA;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER LEFT;So;0;ON;;;;;N;;;;; 2FFB;IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID;So;0;ON;;;;;N;;;;; 3000;IDEOGRAPHIC SPACE;Zs;0;WS; 0020;;;;N;;;;; 3001;IDEOGRAPHIC COMMA;Po;0;ON;;;;;N;;;;; 3002;IDEOGRAPHIC FULL STOP;Po;0;ON;;;;;N;IDEOGRAPHIC PERIOD;;;; 3003;DITTO MARK;Po;0;ON;;;;;N;;;;; 3004;JAPANESE INDUSTRIAL STANDARD SYMBOL;So;0;ON;;;;;N;;;;; 3005;IDEOGRAPHIC ITERATION MARK;Lm;0;L;;;;;N;;;;; 3006;IDEOGRAPHIC CLOSING MARK;Lo;0;L;;;;;N;;;;; 3007;IDEOGRAPHIC NUMBER ZERO;Nl;0;L;;;;0;N;;;;; 3008;LEFT ANGLE BRACKET;Ps;0;ON;;;;;Y;OPENING ANGLE BRACKET;;;; 3009;RIGHT ANGLE BRACKET;Pe;0;ON;;;;;Y;CLOSING ANGLE BRACKET;;;; 300A;LEFT DOUBLE ANGLE BRACKET;Ps;0;ON;;;;;Y;OPENING DOUBLE ANGLE BRACKET;;;; 300B;RIGHT DOUBLE ANGLE BRACKET;Pe;0;ON;;;;;Y;CLOSING DOUBLE ANGLE BRACKET;;;; 300C;LEFT CORNER BRACKET;Ps;0;ON;;;;;Y;OPENING CORNER BRACKET;;;; 300D;RIGHT CORNER BRACKET;Pe;0;ON;;;;;Y;CLOSING CORNER BRACKET;;;; 300E;LEFT WHITE CORNER BRACKET;Ps;0;ON;;;;;Y;OPENING WHITE CORNER BRACKET;;;; 300F;RIGHT WHITE CORNER BRACKET;Pe;0;ON;;;;;Y;CLOSING WHITE CORNER BRACKET;;;; 3010;LEFT BLACK LENTICULAR BRACKET;Ps;0;ON;;;;;Y;OPENING BLACK LENTICULAR BRACKET;;;; 3011;RIGHT BLACK LENTICULAR BRACKET;Pe;0;ON;;;;;Y;CLOSING BLACK LENTICULAR BRACKET;;;; 3012;POSTAL MARK;So;0;ON;;;;;N;;;;; 3013;GETA MARK;So;0;ON;;;;;N;;;;; 3014;LEFT TORTOISE SHELL BRACKET;Ps;0;ON;;;;;Y;OPENING TORTOISE SHELL BRACKET;;;; 3015;RIGHT TORTOISE SHELL BRACKET;Pe;0;ON;;;;;Y;CLOSING TORTOISE SHELL BRACKET;;;; 3016;LEFT WHITE LENTICULAR BRACKET;Ps;0;ON;;;;;Y;OPENING WHITE LENTICULAR BRACKET;;;; 3017;RIGHT WHITE LENTICULAR BRACKET;Pe;0;ON;;;;;Y;CLOSING WHITE LENTICULAR BRACKET;;;; 3018;LEFT WHITE TORTOISE SHELL BRACKET;Ps;0;ON;;;;;Y;OPENING WHITE TORTOISE SHELL BRACKET;;;; 3019;RIGHT WHITE TORTOISE SHELL BRACKET;Pe;0;ON;;;;;Y;CLOSING WHITE TORTOISE SHELL BRACKET;;;; 301A;LEFT WHITE SQUARE BRACKET;Ps;0;ON;;;;;Y;OPENING WHITE SQUARE BRACKET;;;; 301B;RIGHT WHITE SQUARE BRACKET;Pe;0;ON;;;;;Y;CLOSING WHITE SQUARE BRACKET;;;; 301C;WAVE DASH;Pd;0;ON;;;;;N;;;;; 301D;REVERSED DOUBLE PRIME QUOTATION MARK;Ps;0;ON;;;;;N;;;;; 301E;DOUBLE PRIME QUOTATION MARK;Pe;0;ON;;;;;N;;;;; 301F;LOW DOUBLE PRIME QUOTATION MARK;Pe;0;ON;;;;;N;;;;; 3020;POSTAL MARK FACE;So;0;ON;;;;;N;;;;; 3021;HANGZHOU NUMERAL ONE;Nl;0;L;;;;1;N;;;;; 3022;HANGZHOU NUMERAL TWO;Nl;0;L;;;;2;N;;;;; 3023;HANGZHOU NUMERAL THREE;Nl;0;L;;;;3;N;;;;; 3024;HANGZHOU NUMERAL FOUR;Nl;0;L;;;;4;N;;;;; 3025;HANGZHOU NUMERAL FIVE;Nl;0;L;;;;5;N;;;;; 3026;HANGZHOU NUMERAL SIX;Nl;0;L;;;;6;N;;;;; 3027;HANGZHOU NUMERAL SEVEN;Nl;0;L;;;;7;N;;;;; 3028;HANGZHOU NUMERAL EIGHT;Nl;0;L;;;;8;N;;;;; 3029;HANGZHOU NUMERAL NINE;Nl;0;L;;;;9;N;;;;; 302A;IDEOGRAPHIC LEVEL TONE MARK;Mn;218;NSM;;;;;N;;;;; 302B;IDEOGRAPHIC RISING TONE MARK;Mn;228;NSM;;;;;N;;;;; 302C;IDEOGRAPHIC DEPARTING TONE MARK;Mn;232;NSM;;;;;N;;;;; 302D;IDEOGRAPHIC ENTERING TONE MARK;Mn;222;NSM;;;;;N;;;;; 302E;HANGUL SINGLE DOT TONE MARK;Mn;224;NSM;;;;;N;;;;; 302F;HANGUL DOUBLE DOT TONE MARK;Mn;224;NSM;;;;;N;;;;; 3030;WAVY DASH;Pd;0;ON;;;;;N;;;;; 3031;VERTICAL KANA REPEAT MARK;Lm;0;L;;;;;N;;;;; 3032;VERTICAL KANA REPEAT WITH VOICED SOUND MARK;Lm;0;L;;;;;N;;;;; 3033;VERTICAL KANA REPEAT MARK UPPER HALF;Lm;0;L;;;;;N;;;;; 3034;VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF;Lm;0;L;;;;;N;;;;; 3035;VERTICAL KANA REPEAT MARK LOWER HALF;Lm;0;L;;;;;N;;;;; 3036;CIRCLED POSTAL MARK;So;0;ON; 3012;;;;N;;;;; 3037;IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL;So;0;ON;;;;;N;;;;; 3038;HANGZHOU NUMERAL TEN;Nl;0;L; 5341;;;10;N;;;;; 3039;HANGZHOU NUMERAL TWENTY;Nl;0;L; 5344;;;20;N;;;;; 303A;HANGZHOU NUMERAL THIRTY;Nl;0;L; 5345;;;30;N;;;;; 303B;VERTICAL IDEOGRAPHIC ITERATION MARK;Lm;0;L;;;;;N;;;;; 303C;MASU MARK;Lo;0;L;;;;;N;;;;; 303D;PART ALTERNATION MARK;Po;0;ON;;;;;N;;;;; 303E;IDEOGRAPHIC VARIATION INDICATOR;So;0;ON;;;;;N;;;;; 303F;IDEOGRAPHIC HALF FILL SPACE;So;0;ON;;;;;N;;;;; 3041;HIRAGANA LETTER SMALL A;Lo;0;L;;;;;N;;;;; 3042;HIRAGANA LETTER A;Lo;0;L;;;;;N;;;;; 3043;HIRAGANA LETTER SMALL I;Lo;0;L;;;;;N;;;;; 3044;HIRAGANA LETTER I;Lo;0;L;;;;;N;;;;; 3045;HIRAGANA LETTER SMALL U;Lo;0;L;;;;;N;;;;; 3046;HIRAGANA LETTER U;Lo;0;L;;;;;N;;;;; 3047;HIRAGANA LETTER SMALL E;Lo;0;L;;;;;N;;;;; 3048;HIRAGANA LETTER E;Lo;0;L;;;;;N;;;;; 3049;HIRAGANA LETTER SMALL O;Lo;0;L;;;;;N;;;;; 304A;HIRAGANA LETTER O;Lo;0;L;;;;;N;;;;; 304B;HIRAGANA LETTER KA;Lo;0;L;;;;;N;;;;; 304C;HIRAGANA LETTER GA;Lo;0;L;304B 3099;;;;N;;;;; 304D;HIRAGANA LETTER KI;Lo;0;L;;;;;N;;;;; 304E;HIRAGANA LETTER GI;Lo;0;L;304D 3099;;;;N;;;;; 304F;HIRAGANA LETTER KU;Lo;0;L;;;;;N;;;;; 3050;HIRAGANA LETTER GU;Lo;0;L;304F 3099;;;;N;;;;; 3051;HIRAGANA LETTER KE;Lo;0;L;;;;;N;;;;; 3052;HIRAGANA LETTER GE;Lo;0;L;3051 3099;;;;N;;;;; 3053;HIRAGANA LETTER KO;Lo;0;L;;;;;N;;;;; 3054;HIRAGANA LETTER GO;Lo;0;L;3053 3099;;;;N;;;;; 3055;HIRAGANA LETTER SA;Lo;0;L;;;;;N;;;;; 3056;HIRAGANA LETTER ZA;Lo;0;L;3055 3099;;;;N;;;;; 3057;HIRAGANA LETTER SI;Lo;0;L;;;;;N;;;;; 3058;HIRAGANA LETTER ZI;Lo;0;L;3057 3099;;;;N;;;;; 3059;HIRAGANA LETTER SU;Lo;0;L;;;;;N;;;;; 305A;HIRAGANA LETTER ZU;Lo;0;L;3059 3099;;;;N;;;;; 305B;HIRAGANA LETTER SE;Lo;0;L;;;;;N;;;;; 305C;HIRAGANA LETTER ZE;Lo;0;L;305B 3099;;;;N;;;;; 305D;HIRAGANA LETTER SO;Lo;0;L;;;;;N;;;;; 305E;HIRAGANA LETTER ZO;Lo;0;L;305D 3099;;;;N;;;;; 305F;HIRAGANA LETTER TA;Lo;0;L;;;;;N;;;;; 3060;HIRAGANA LETTER DA;Lo;0;L;305F 3099;;;;N;;;;; 3061;HIRAGANA LETTER TI;Lo;0;L;;;;;N;;;;; 3062;HIRAGANA LETTER DI;Lo;0;L;3061 3099;;;;N;;;;; 3063;HIRAGANA LETTER SMALL TU;Lo;0;L;;;;;N;;;;; 3064;HIRAGANA LETTER TU;Lo;0;L;;;;;N;;;;; 3065;HIRAGANA LETTER DU;Lo;0;L;3064 3099;;;;N;;;;; 3066;HIRAGANA LETTER TE;Lo;0;L;;;;;N;;;;; 3067;HIRAGANA LETTER DE;Lo;0;L;3066 3099;;;;N;;;;; 3068;HIRAGANA LETTER TO;Lo;0;L;;;;;N;;;;; 3069;HIRAGANA LETTER DO;Lo;0;L;3068 3099;;;;N;;;;; 306A;HIRAGANA LETTER NA;Lo;0;L;;;;;N;;;;; 306B;HIRAGANA LETTER NI;Lo;0;L;;;;;N;;;;; 306C;HIRAGANA LETTER NU;Lo;0;L;;;;;N;;;;; 306D;HIRAGANA LETTER NE;Lo;0;L;;;;;N;;;;; 306E;HIRAGANA LETTER NO;Lo;0;L;;;;;N;;;;; 306F;HIRAGANA LETTER HA;Lo;0;L;;;;;N;;;;; 3070;HIRAGANA LETTER BA;Lo;0;L;306F 3099;;;;N;;;;; 3071;HIRAGANA LETTER PA;Lo;0;L;306F 309A;;;;N;;;;; 3072;HIRAGANA LETTER HI;Lo;0;L;;;;;N;;;;; 3073;HIRAGANA LETTER BI;Lo;0;L;3072 3099;;;;N;;;;; 3074;HIRAGANA LETTER PI;Lo;0;L;3072 309A;;;;N;;;;; 3075;HIRAGANA LETTER HU;Lo;0;L;;;;;N;;;;; 3076;HIRAGANA LETTER BU;Lo;0;L;3075 3099;;;;N;;;;; 3077;HIRAGANA LETTER PU;Lo;0;L;3075 309A;;;;N;;;;; 3078;HIRAGANA LETTER HE;Lo;0;L;;;;;N;;;;; 3079;HIRAGANA LETTER BE;Lo;0;L;3078 3099;;;;N;;;;; 307A;HIRAGANA LETTER PE;Lo;0;L;3078 309A;;;;N;;;;; 307B;HIRAGANA LETTER HO;Lo;0;L;;;;;N;;;;; 307C;HIRAGANA LETTER BO;Lo;0;L;307B 3099;;;;N;;;;; 307D;HIRAGANA LETTER PO;Lo;0;L;307B 309A;;;;N;;;;; 307E;HIRAGANA LETTER MA;Lo;0;L;;;;;N;;;;; 307F;HIRAGANA LETTER MI;Lo;0;L;;;;;N;;;;; 3080;HIRAGANA LETTER MU;Lo;0;L;;;;;N;;;;; 3081;HIRAGANA LETTER ME;Lo;0;L;;;;;N;;;;; 3082;HIRAGANA LETTER MO;Lo;0;L;;;;;N;;;;; 3083;HIRAGANA LETTER SMALL YA;Lo;0;L;;;;;N;;;;; 3084;HIRAGANA LETTER YA;Lo;0;L;;;;;N;;;;; 3085;HIRAGANA LETTER SMALL YU;Lo;0;L;;;;;N;;;;; 3086;HIRAGANA LETTER YU;Lo;0;L;;;;;N;;;;; 3087;HIRAGANA LETTER SMALL YO;Lo;0;L;;;;;N;;;;; 3088;HIRAGANA LETTER YO;Lo;0;L;;;;;N;;;;; 3089;HIRAGANA LETTER RA;Lo;0;L;;;;;N;;;;; 308A;HIRAGANA LETTER RI;Lo;0;L;;;;;N;;;;; 308B;HIRAGANA LETTER RU;Lo;0;L;;;;;N;;;;; 308C;HIRAGANA LETTER RE;Lo;0;L;;;;;N;;;;; 308D;HIRAGANA LETTER RO;Lo;0;L;;;;;N;;;;; 308E;HIRAGANA LETTER SMALL WA;Lo;0;L;;;;;N;;;;; 308F;HIRAGANA LETTER WA;Lo;0;L;;;;;N;;;;; 3090;HIRAGANA LETTER WI;Lo;0;L;;;;;N;;;;; 3091;HIRAGANA LETTER WE;Lo;0;L;;;;;N;;;;; 3092;HIRAGANA LETTER WO;Lo;0;L;;;;;N;;;;; 3093;HIRAGANA LETTER N;Lo;0;L;;;;;N;;;;; 3094;HIRAGANA LETTER VU;Lo;0;L;3046 3099;;;;N;;;;; 3095;HIRAGANA LETTER SMALL KA;Lo;0;L;;;;;N;;;;; 3096;HIRAGANA LETTER SMALL KE;Lo;0;L;;;;;N;;;;; 3099;COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK;Mn;8;NSM;;;;;N;NON-SPACING KATAKANA-HIRAGANA VOICED SOUND MARK;;;; 309A;COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK;Mn;8;NSM;;;;;N;NON-SPACING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK;;;; 309B;KATAKANA-HIRAGANA VOICED SOUND MARK;Sk;0;ON; 0020 3099;;;;N;;;;; 309C;KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK;Sk;0;ON; 0020 309A;;;;N;;;;; 309D;HIRAGANA ITERATION MARK;Lm;0;L;;;;;N;;;;; 309E;HIRAGANA VOICED ITERATION MARK;Lm;0;L;309D 3099;;;;N;;;;; 309F;HIRAGANA DIGRAPH YORI;Lo;0;L; 3088 308A;;;;N;;;;; 30A0;KATAKANA-HIRAGANA DOUBLE HYPHEN;Pd;0;ON;;;;;N;;;;; 30A1;KATAKANA LETTER SMALL A;Lo;0;L;;;;;N;;;;; 30A2;KATAKANA LETTER A;Lo;0;L;;;;;N;;;;; 30A3;KATAKANA LETTER SMALL I;Lo;0;L;;;;;N;;;;; 30A4;KATAKANA LETTER I;Lo;0;L;;;;;N;;;;; 30A5;KATAKANA LETTER SMALL U;Lo;0;L;;;;;N;;;;; 30A6;KATAKANA LETTER U;Lo;0;L;;;;;N;;;;; 30A7;KATAKANA LETTER SMALL E;Lo;0;L;;;;;N;;;;; 30A8;KATAKANA LETTER E;Lo;0;L;;;;;N;;;;; 30A9;KATAKANA LETTER SMALL O;Lo;0;L;;;;;N;;;;; 30AA;KATAKANA LETTER O;Lo;0;L;;;;;N;;;;; 30AB;KATAKANA LETTER KA;Lo;0;L;;;;;N;;;;; 30AC;KATAKANA LETTER GA;Lo;0;L;30AB 3099;;;;N;;;;; 30AD;KATAKANA LETTER KI;Lo;0;L;;;;;N;;;;; 30AE;KATAKANA LETTER GI;Lo;0;L;30AD 3099;;;;N;;;;; 30AF;KATAKANA LETTER KU;Lo;0;L;;;;;N;;;;; 30B0;KATAKANA LETTER GU;Lo;0;L;30AF 3099;;;;N;;;;; 30B1;KATAKANA LETTER KE;Lo;0;L;;;;;N;;;;; 30B2;KATAKANA LETTER GE;Lo;0;L;30B1 3099;;;;N;;;;; 30B3;KATAKANA LETTER KO;Lo;0;L;;;;;N;;;;; 30B4;KATAKANA LETTER GO;Lo;0;L;30B3 3099;;;;N;;;;; 30B5;KATAKANA LETTER SA;Lo;0;L;;;;;N;;;;; 30B6;KATAKANA LETTER ZA;Lo;0;L;30B5 3099;;;;N;;;;; 30B7;KATAKANA LETTER SI;Lo;0;L;;;;;N;;;;; 30B8;KATAKANA LETTER ZI;Lo;0;L;30B7 3099;;;;N;;;;; 30B9;KATAKANA LETTER SU;Lo;0;L;;;;;N;;;;; 30BA;KATAKANA LETTER ZU;Lo;0;L;30B9 3099;;;;N;;;;; 30BB;KATAKANA LETTER SE;Lo;0;L;;;;;N;;;;; 30BC;KATAKANA LETTER ZE;Lo;0;L;30BB 3099;;;;N;;;;; 30BD;KATAKANA LETTER SO;Lo;0;L;;;;;N;;;;; 30BE;KATAKANA LETTER ZO;Lo;0;L;30BD 3099;;;;N;;;;; 30BF;KATAKANA LETTER TA;Lo;0;L;;;;;N;;;;; 30C0;KATAKANA LETTER DA;Lo;0;L;30BF 3099;;;;N;;;;; 30C1;KATAKANA LETTER TI;Lo;0;L;;;;;N;;;;; 30C2;KATAKANA LETTER DI;Lo;0;L;30C1 3099;;;;N;;;;; 30C3;KATAKANA LETTER SMALL TU;Lo;0;L;;;;;N;;;;; 30C4;KATAKANA LETTER TU;Lo;0;L;;;;;N;;;;; 30C5;KATAKANA LETTER DU;Lo;0;L;30C4 3099;;;;N;;;;; 30C6;KATAKANA LETTER TE;Lo;0;L;;;;;N;;;;; 30C7;KATAKANA LETTER DE;Lo;0;L;30C6 3099;;;;N;;;;; 30C8;KATAKANA LETTER TO;Lo;0;L;;;;;N;;;;; 30C9;KATAKANA LETTER DO;Lo;0;L;30C8 3099;;;;N;;;;; 30CA;KATAKANA LETTER NA;Lo;0;L;;;;;N;;;;; 30CB;KATAKANA LETTER NI;Lo;0;L;;;;;N;;;;; 30CC;KATAKANA LETTER NU;Lo;0;L;;;;;N;;;;; 30CD;KATAKANA LETTER NE;Lo;0;L;;;;;N;;;;; 30CE;KATAKANA LETTER NO;Lo;0;L;;;;;N;;;;; 30CF;KATAKANA LETTER HA;Lo;0;L;;;;;N;;;;; 30D0;KATAKANA LETTER BA;Lo;0;L;30CF 3099;;;;N;;;;; 30D1;KATAKANA LETTER PA;Lo;0;L;30CF 309A;;;;N;;;;; 30D2;KATAKANA LETTER HI;Lo;0;L;;;;;N;;;;; 30D3;KATAKANA LETTER BI;Lo;0;L;30D2 3099;;;;N;;;;; 30D4;KATAKANA LETTER PI;Lo;0;L;30D2 309A;;;;N;;;;; 30D5;KATAKANA LETTER HU;Lo;0;L;;;;;N;;;;; 30D6;KATAKANA LETTER BU;Lo;0;L;30D5 3099;;;;N;;;;; 30D7;KATAKANA LETTER PU;Lo;0;L;30D5 309A;;;;N;;;;; 30D8;KATAKANA LETTER HE;Lo;0;L;;;;;N;;;;; 30D9;KATAKANA LETTER BE;Lo;0;L;30D8 3099;;;;N;;;;; 30DA;KATAKANA LETTER PE;Lo;0;L;30D8 309A;;;;N;;;;; 30DB;KATAKANA LETTER HO;Lo;0;L;;;;;N;;;;; 30DC;KATAKANA LETTER BO;Lo;0;L;30DB 3099;;;;N;;;;; 30DD;KATAKANA LETTER PO;Lo;0;L;30DB 309A;;;;N;;;;; 30DE;KATAKANA LETTER MA;Lo;0;L;;;;;N;;;;; 30DF;KATAKANA LETTER MI;Lo;0;L;;;;;N;;;;; 30E0;KATAKANA LETTER MU;Lo;0;L;;;;;N;;;;; 30E1;KATAKANA LETTER ME;Lo;0;L;;;;;N;;;;; 30E2;KATAKANA LETTER MO;Lo;0;L;;;;;N;;;;; 30E3;KATAKANA LETTER SMALL YA;Lo;0;L;;;;;N;;;;; 30E4;KATAKANA LETTER YA;Lo;0;L;;;;;N;;;;; 30E5;KATAKANA LETTER SMALL YU;Lo;0;L;;;;;N;;;;; 30E6;KATAKANA LETTER YU;Lo;0;L;;;;;N;;;;; 30E7;KATAKANA LETTER SMALL YO;Lo;0;L;;;;;N;;;;; 30E8;KATAKANA LETTER YO;Lo;0;L;;;;;N;;;;; 30E9;KATAKANA LETTER RA;Lo;0;L;;;;;N;;;;; 30EA;KATAKANA LETTER RI;Lo;0;L;;;;;N;;;;; 30EB;KATAKANA LETTER RU;Lo;0;L;;;;;N;;;;; 30EC;KATAKANA LETTER RE;Lo;0;L;;;;;N;;;;; 30ED;KATAKANA LETTER RO;Lo;0;L;;;;;N;;;;; 30EE;KATAKANA LETTER SMALL WA;Lo;0;L;;;;;N;;;;; 30EF;KATAKANA LETTER WA;Lo;0;L;;;;;N;;;;; 30F0;KATAKANA LETTER WI;Lo;0;L;;;;;N;;;;; 30F1;KATAKANA LETTER WE;Lo;0;L;;;;;N;;;;; 30F2;KATAKANA LETTER WO;Lo;0;L;;;;;N;;;;; 30F3;KATAKANA LETTER N;Lo;0;L;;;;;N;;;;; 30F4;KATAKANA LETTER VU;Lo;0;L;30A6 3099;;;;N;;;;; 30F5;KATAKANA LETTER SMALL KA;Lo;0;L;;;;;N;;;;; 30F6;KATAKANA LETTER SMALL KE;Lo;0;L;;;;;N;;;;; 30F7;KATAKANA LETTER VA;Lo;0;L;30EF 3099;;;;N;;;;; 30F8;KATAKANA LETTER VI;Lo;0;L;30F0 3099;;;;N;;;;; 30F9;KATAKANA LETTER VE;Lo;0;L;30F1 3099;;;;N;;;;; 30FA;KATAKANA LETTER VO;Lo;0;L;30F2 3099;;;;N;;;;; 30FB;KATAKANA MIDDLE DOT;Pc;0;ON;;;;;N;;;;; 30FC;KATAKANA-HIRAGANA PROLONGED SOUND MARK;Lm;0;L;;;;;N;;;;; 30FD;KATAKANA ITERATION MARK;Lm;0;L;;;;;N;;;;; 30FE;KATAKANA VOICED ITERATION MARK;Lm;0;L;30FD 3099;;;;N;;;;; 30FF;KATAKANA DIGRAPH KOTO;Lo;0;L; 30B3 30C8;;;;N;;;;; 3105;BOPOMOFO LETTER B;Lo;0;L;;;;;N;;;;; 3106;BOPOMOFO LETTER P;Lo;0;L;;;;;N;;;;; 3107;BOPOMOFO LETTER M;Lo;0;L;;;;;N;;;;; 3108;BOPOMOFO LETTER F;Lo;0;L;;;;;N;;;;; 3109;BOPOMOFO LETTER D;Lo;0;L;;;;;N;;;;; 310A;BOPOMOFO LETTER T;Lo;0;L;;;;;N;;;;; 310B;BOPOMOFO LETTER N;Lo;0;L;;;;;N;;;;; 310C;BOPOMOFO LETTER L;Lo;0;L;;;;;N;;;;; 310D;BOPOMOFO LETTER G;Lo;0;L;;;;;N;;;;; 310E;BOPOMOFO LETTER K;Lo;0;L;;;;;N;;;;; 310F;BOPOMOFO LETTER H;Lo;0;L;;;;;N;;;;; 3110;BOPOMOFO LETTER J;Lo;0;L;;;;;N;;;;; 3111;BOPOMOFO LETTER Q;Lo;0;L;;;;;N;;;;; 3112;BOPOMOFO LETTER X;Lo;0;L;;;;;N;;;;; 3113;BOPOMOFO LETTER ZH;Lo;0;L;;;;;N;;;;; 3114;BOPOMOFO LETTER CH;Lo;0;L;;;;;N;;;;; 3115;BOPOMOFO LETTER SH;Lo;0;L;;;;;N;;;;; 3116;BOPOMOFO LETTER R;Lo;0;L;;;;;N;;;;; 3117;BOPOMOFO LETTER Z;Lo;0;L;;;;;N;;;;; 3118;BOPOMOFO LETTER C;Lo;0;L;;;;;N;;;;; 3119;BOPOMOFO LETTER S;Lo;0;L;;;;;N;;;;; 311A;BOPOMOFO LETTER A;Lo;0;L;;;;;N;;;;; 311B;BOPOMOFO LETTER O;Lo;0;L;;;;;N;;;;; 311C;BOPOMOFO LETTER E;Lo;0;L;;;;;N;;;;; 311D;BOPOMOFO LETTER EH;Lo;0;L;;;;;N;;;;; 311E;BOPOMOFO LETTER AI;Lo;0;L;;;;;N;;;;; 311F;BOPOMOFO LETTER EI;Lo;0;L;;;;;N;;;;; 3120;BOPOMOFO LETTER AU;Lo;0;L;;;;;N;;;;; 3121;BOPOMOFO LETTER OU;Lo;0;L;;;;;N;;;;; 3122;BOPOMOFO LETTER AN;Lo;0;L;;;;;N;;;;; 3123;BOPOMOFO LETTER EN;Lo;0;L;;;;;N;;;;; 3124;BOPOMOFO LETTER ANG;Lo;0;L;;;;;N;;;;; 3125;BOPOMOFO LETTER ENG;Lo;0;L;;;;;N;;;;; 3126;BOPOMOFO LETTER ER;Lo;0;L;;;;;N;;;;; 3127;BOPOMOFO LETTER I;Lo;0;L;;;;;N;;;;; 3128;BOPOMOFO LETTER U;Lo;0;L;;;;;N;;;;; 3129;BOPOMOFO LETTER IU;Lo;0;L;;;;;N;;;;; 312A;BOPOMOFO LETTER V;Lo;0;L;;;;;N;;;;; 312B;BOPOMOFO LETTER NG;Lo;0;L;;;;;N;;;;; 312C;BOPOMOFO LETTER GN;Lo;0;L;;;;;N;;;;; 3131;HANGUL LETTER KIYEOK;Lo;0;L; 1100;;;;N;HANGUL LETTER GIYEOG;;;; 3132;HANGUL LETTER SSANGKIYEOK;Lo;0;L; 1101;;;;N;HANGUL LETTER SSANG GIYEOG;;;; 3133;HANGUL LETTER KIYEOK-SIOS;Lo;0;L; 11AA;;;;N;HANGUL LETTER GIYEOG SIOS;;;; 3134;HANGUL LETTER NIEUN;Lo;0;L; 1102;;;;N;;;;; 3135;HANGUL LETTER NIEUN-CIEUC;Lo;0;L; 11AC;;;;N;HANGUL LETTER NIEUN JIEUJ;;;; 3136;HANGUL LETTER NIEUN-HIEUH;Lo;0;L; 11AD;;;;N;HANGUL LETTER NIEUN HIEUH;;;; 3137;HANGUL LETTER TIKEUT;Lo;0;L; 1103;;;;N;HANGUL LETTER DIGEUD;;;; 3138;HANGUL LETTER SSANGTIKEUT;Lo;0;L; 1104;;;;N;HANGUL LETTER SSANG DIGEUD;;;; 3139;HANGUL LETTER RIEUL;Lo;0;L; 1105;;;;N;HANGUL LETTER LIEUL;;;; 313A;HANGUL LETTER RIEUL-KIYEOK;Lo;0;L; 11B0;;;;N;HANGUL LETTER LIEUL GIYEOG;;;; 313B;HANGUL LETTER RIEUL-MIEUM;Lo;0;L; 11B1;;;;N;HANGUL LETTER LIEUL MIEUM;;;; 313C;HANGUL LETTER RIEUL-PIEUP;Lo;0;L; 11B2;;;;N;HANGUL LETTER LIEUL BIEUB;;;; 313D;HANGUL LETTER RIEUL-SIOS;Lo;0;L; 11B3;;;;N;HANGUL LETTER LIEUL SIOS;;;; 313E;HANGUL LETTER RIEUL-THIEUTH;Lo;0;L; 11B4;;;;N;HANGUL LETTER LIEUL TIEUT;;;; 313F;HANGUL LETTER RIEUL-PHIEUPH;Lo;0;L; 11B5;;;;N;HANGUL LETTER LIEUL PIEUP;;;; 3140;HANGUL LETTER RIEUL-HIEUH;Lo;0;L; 111A;;;;N;HANGUL LETTER LIEUL HIEUH;;;; 3141;HANGUL LETTER MIEUM;Lo;0;L; 1106;;;;N;;;;; 3142;HANGUL LETTER PIEUP;Lo;0;L; 1107;;;;N;HANGUL LETTER BIEUB;;;; 3143;HANGUL LETTER SSANGPIEUP;Lo;0;L; 1108;;;;N;HANGUL LETTER SSANG BIEUB;;;; 3144;HANGUL LETTER PIEUP-SIOS;Lo;0;L; 1121;;;;N;HANGUL LETTER BIEUB SIOS;;;; 3145;HANGUL LETTER SIOS;Lo;0;L; 1109;;;;N;;;;; 3146;HANGUL LETTER SSANGSIOS;Lo;0;L; 110A;;;;N;HANGUL LETTER SSANG SIOS;;;; 3147;HANGUL LETTER IEUNG;Lo;0;L; 110B;;;;N;;;;; 3148;HANGUL LETTER CIEUC;Lo;0;L; 110C;;;;N;HANGUL LETTER JIEUJ;;;; 3149;HANGUL LETTER SSANGCIEUC;Lo;0;L; 110D;;;;N;HANGUL LETTER SSANG JIEUJ;;;; 314A;HANGUL LETTER CHIEUCH;Lo;0;L; 110E;;;;N;HANGUL LETTER CIEUC;;;; 314B;HANGUL LETTER KHIEUKH;Lo;0;L; 110F;;;;N;HANGUL LETTER KIYEOK;;;; 314C;HANGUL LETTER THIEUTH;Lo;0;L; 1110;;;;N;HANGUL LETTER TIEUT;;;; 314D;HANGUL LETTER PHIEUPH;Lo;0;L; 1111;;;;N;HANGUL LETTER PIEUP;;;; 314E;HANGUL LETTER HIEUH;Lo;0;L; 1112;;;;N;;;;; 314F;HANGUL LETTER A;Lo;0;L; 1161;;;;N;;;;; 3150;HANGUL LETTER AE;Lo;0;L; 1162;;;;N;;;;; 3151;HANGUL LETTER YA;Lo;0;L; 1163;;;;N;;;;; 3152;HANGUL LETTER YAE;Lo;0;L; 1164;;;;N;;;;; 3153;HANGUL LETTER EO;Lo;0;L; 1165;;;;N;;;;; 3154;HANGUL LETTER E;Lo;0;L; 1166;;;;N;;;;; 3155;HANGUL LETTER YEO;Lo;0;L; 1167;;;;N;;;;; 3156;HANGUL LETTER YE;Lo;0;L; 1168;;;;N;;;;; 3157;HANGUL LETTER O;Lo;0;L; 1169;;;;N;;;;; 3158;HANGUL LETTER WA;Lo;0;L; 116A;;;;N;;;;; 3159;HANGUL LETTER WAE;Lo;0;L; 116B;;;;N;;;;; 315A;HANGUL LETTER OE;Lo;0;L; 116C;;;;N;;;;; 315B;HANGUL LETTER YO;Lo;0;L; 116D;;;;N;;;;; 315C;HANGUL LETTER U;Lo;0;L; 116E;;;;N;;;;; 315D;HANGUL LETTER WEO;Lo;0;L; 116F;;;;N;;;;; 315E;HANGUL LETTER WE;Lo;0;L; 1170;;;;N;;;;; 315F;HANGUL LETTER WI;Lo;0;L; 1171;;;;N;;;;; 3160;HANGUL LETTER YU;Lo;0;L; 1172;;;;N;;;;; 3161;HANGUL LETTER EU;Lo;0;L; 1173;;;;N;;;;; 3162;HANGUL LETTER YI;Lo;0;L; 1174;;;;N;;;;; 3163;HANGUL LETTER I;Lo;0;L; 1175;;;;N;;;;; 3164;HANGUL FILLER;Lo;0;L; 1160;;;;N;HANGUL CAE OM;;;; 3165;HANGUL LETTER SSANGNIEUN;Lo;0;L; 1114;;;;N;HANGUL LETTER SSANG NIEUN;;;; 3166;HANGUL LETTER NIEUN-TIKEUT;Lo;0;L; 1115;;;;N;HANGUL LETTER NIEUN DIGEUD;;;; 3167;HANGUL LETTER NIEUN-SIOS;Lo;0;L; 11C7;;;;N;HANGUL LETTER NIEUN SIOS;;;; 3168;HANGUL LETTER NIEUN-PANSIOS;Lo;0;L; 11C8;;;;N;HANGUL LETTER NIEUN BAN CHI EUM;;;; 3169;HANGUL LETTER RIEUL-KIYEOK-SIOS;Lo;0;L; 11CC;;;;N;HANGUL LETTER LIEUL GIYEOG SIOS;;;; 316A;HANGUL LETTER RIEUL-TIKEUT;Lo;0;L; 11CE;;;;N;HANGUL LETTER LIEUL DIGEUD;;;; 316B;HANGUL LETTER RIEUL-PIEUP-SIOS;Lo;0;L; 11D3;;;;N;HANGUL LETTER LIEUL BIEUB SIOS;;;; 316C;HANGUL LETTER RIEUL-PANSIOS;Lo;0;L; 11D7;;;;N;HANGUL LETTER LIEUL BAN CHI EUM;;;; 316D;HANGUL LETTER RIEUL-YEORINHIEUH;Lo;0;L; 11D9;;;;N;HANGUL LETTER LIEUL YEOLIN HIEUH;;;; 316E;HANGUL LETTER MIEUM-PIEUP;Lo;0;L; 111C;;;;N;HANGUL LETTER MIEUM BIEUB;;;; 316F;HANGUL LETTER MIEUM-SIOS;Lo;0;L; 11DD;;;;N;HANGUL LETTER MIEUM SIOS;;;; 3170;HANGUL LETTER MIEUM-PANSIOS;Lo;0;L; 11DF;;;;N;HANGUL LETTER BIEUB BAN CHI EUM;;;; 3171;HANGUL LETTER KAPYEOUNMIEUM;Lo;0;L; 111D;;;;N;HANGUL LETTER MIEUM SUN GYEONG EUM;;;; 3172;HANGUL LETTER PIEUP-KIYEOK;Lo;0;L; 111E;;;;N;HANGUL LETTER BIEUB GIYEOG;;;; 3173;HANGUL LETTER PIEUP-TIKEUT;Lo;0;L; 1120;;;;N;HANGUL LETTER BIEUB DIGEUD;;;; 3174;HANGUL LETTER PIEUP-SIOS-KIYEOK;Lo;0;L; 1122;;;;N;HANGUL LETTER BIEUB SIOS GIYEOG;;;; 3175;HANGUL LETTER PIEUP-SIOS-TIKEUT;Lo;0;L; 1123;;;;N;HANGUL LETTER BIEUB SIOS DIGEUD;;;; 3176;HANGUL LETTER PIEUP-CIEUC;Lo;0;L; 1127;;;;N;HANGUL LETTER BIEUB JIEUJ;;;; 3177;HANGUL LETTER PIEUP-THIEUTH;Lo;0;L; 1129;;;;N;HANGUL LETTER BIEUB TIEUT;;;; 3178;HANGUL LETTER KAPYEOUNPIEUP;Lo;0;L; 112B;;;;N;HANGUL LETTER BIEUB SUN GYEONG EUM;;;; 3179;HANGUL LETTER KAPYEOUNSSANGPIEUP;Lo;0;L; 112C;;;;N;HANGUL LETTER SSANG BIEUB SUN GYEONG EUM;;;; 317A;HANGUL LETTER SIOS-KIYEOK;Lo;0;L; 112D;;;;N;HANGUL LETTER SIOS GIYEOG;;;; 317B;HANGUL LETTER SIOS-NIEUN;Lo;0;L; 112E;;;;N;HANGUL LETTER SIOS NIEUN;;;; 317C;HANGUL LETTER SIOS-TIKEUT;Lo;0;L; 112F;;;;N;HANGUL LETTER SIOS DIGEUD;;;; 317D;HANGUL LETTER SIOS-PIEUP;Lo;0;L; 1132;;;;N;HANGUL LETTER SIOS BIEUB;;;; 317E;HANGUL LETTER SIOS-CIEUC;Lo;0;L; 1136;;;;N;HANGUL LETTER SIOS JIEUJ;;;; 317F;HANGUL LETTER PANSIOS;Lo;0;L; 1140;;;;N;HANGUL LETTER BAN CHI EUM;;;; 3180;HANGUL LETTER SSANGIEUNG;Lo;0;L; 1147;;;;N;HANGUL LETTER SSANG IEUNG;;;; 3181;HANGUL LETTER YESIEUNG;Lo;0;L; 114C;;;;N;HANGUL LETTER NGIEUNG;;;; 3182;HANGUL LETTER YESIEUNG-SIOS;Lo;0;L; 11F1;;;;N;HANGUL LETTER NGIEUNG SIOS;;;; 3183;HANGUL LETTER YESIEUNG-PANSIOS;Lo;0;L; 11F2;;;;N;HANGUL LETTER NGIEUNG BAN CHI EUM;;;; 3184;HANGUL LETTER KAPYEOUNPHIEUPH;Lo;0;L; 1157;;;;N;HANGUL LETTER PIEUP SUN GYEONG EUM;;;; 3185;HANGUL LETTER SSANGHIEUH;Lo;0;L; 1158;;;;N;HANGUL LETTER SSANG HIEUH;;;; 3186;HANGUL LETTER YEORINHIEUH;Lo;0;L; 1159;;;;N;HANGUL LETTER YEOLIN HIEUH;;;; 3187;HANGUL LETTER YO-YA;Lo;0;L; 1184;;;;N;HANGUL LETTER YOYA;;;; 3188;HANGUL LETTER YO-YAE;Lo;0;L; 1185;;;;N;HANGUL LETTER YOYAE;;;; 3189;HANGUL LETTER YO-I;Lo;0;L; 1188;;;;N;HANGUL LETTER YOI;;;; 318A;HANGUL LETTER YU-YEO;Lo;0;L; 1191;;;;N;HANGUL LETTER YUYEO;;;; 318B;HANGUL LETTER YU-YE;Lo;0;L; 1192;;;;N;HANGUL LETTER YUYE;;;; 318C;HANGUL LETTER YU-I;Lo;0;L; 1194;;;;N;HANGUL LETTER YUI;;;; 318D;HANGUL LETTER ARAEA;Lo;0;L; 119E;;;;N;HANGUL LETTER ALAE A;;;; 318E;HANGUL LETTER ARAEAE;Lo;0;L; 11A1;;;;N;HANGUL LETTER ALAE AE;;;; 3190;IDEOGRAPHIC ANNOTATION LINKING MARK;So;0;L;;;;;N;KANBUN TATETEN;Kanbun Tateten;;; 3191;IDEOGRAPHIC ANNOTATION REVERSE MARK;So;0;L;;;;;N;KAERITEN RE;Kaeriten;;; 3192;IDEOGRAPHIC ANNOTATION ONE MARK;No;0;L; 4E00;;;1;N;KAERITEN ITI;Kaeriten;;; 3193;IDEOGRAPHIC ANNOTATION TWO MARK;No;0;L; 4E8C;;;2;N;KAERITEN NI;Kaeriten;;; 3194;IDEOGRAPHIC ANNOTATION THREE MARK;No;0;L; 4E09;;;3;N;KAERITEN SAN;Kaeriten;;; 3195;IDEOGRAPHIC ANNOTATION FOUR MARK;No;0;L; 56DB;;;4;N;KAERITEN SI;Kaeriten;;; 3196;IDEOGRAPHIC ANNOTATION TOP MARK;So;0;L; 4E0A;;;;N;KAERITEN ZYOU;Kaeriten;;; 3197;IDEOGRAPHIC ANNOTATION MIDDLE MARK;So;0;L; 4E2D;;;;N;KAERITEN TYUU;Kaeriten;;; 3198;IDEOGRAPHIC ANNOTATION BOTTOM MARK;So;0;L; 4E0B;;;;N;KAERITEN GE;Kaeriten;;; 3199;IDEOGRAPHIC ANNOTATION FIRST MARK;So;0;L; 7532;;;;N;KAERITEN KOU;Kaeriten;;; 319A;IDEOGRAPHIC ANNOTATION SECOND MARK;So;0;L; 4E59;;;;N;KAERITEN OTU;Kaeriten;;; 319B;IDEOGRAPHIC ANNOTATION THIRD MARK;So;0;L; 4E19;;;;N;KAERITEN HEI;Kaeriten;;; 319C;IDEOGRAPHIC ANNOTATION FOURTH MARK;So;0;L; 4E01;;;;N;KAERITEN TEI;Kaeriten;;; 319D;IDEOGRAPHIC ANNOTATION HEAVEN MARK;So;0;L; 5929;;;;N;KAERITEN TEN;Kaeriten;;; 319E;IDEOGRAPHIC ANNOTATION EARTH MARK;So;0;L; 5730;;;;N;KAERITEN TI;Kaeriten;;; 319F;IDEOGRAPHIC ANNOTATION MAN MARK;So;0;L; 4EBA;;;;N;KAERITEN ZIN;Kaeriten;;; 31A0;BOPOMOFO LETTER BU;Lo;0;L;;;;;N;;;;; 31A1;BOPOMOFO LETTER ZI;Lo;0;L;;;;;N;;;;; 31A2;BOPOMOFO LETTER JI;Lo;0;L;;;;;N;;;;; 31A3;BOPOMOFO LETTER GU;Lo;0;L;;;;;N;;;;; 31A4;BOPOMOFO LETTER EE;Lo;0;L;;;;;N;;;;; 31A5;BOPOMOFO LETTER ENN;Lo;0;L;;;;;N;;;;; 31A6;BOPOMOFO LETTER OO;Lo;0;L;;;;;N;;;;; 31A7;BOPOMOFO LETTER ONN;Lo;0;L;;;;;N;;;;; 31A8;BOPOMOFO LETTER IR;Lo;0;L;;;;;N;;;;; 31A9;BOPOMOFO LETTER ANN;Lo;0;L;;;;;N;;;;; 31AA;BOPOMOFO LETTER INN;Lo;0;L;;;;;N;;;;; 31AB;BOPOMOFO LETTER UNN;Lo;0;L;;;;;N;;;;; 31AC;BOPOMOFO LETTER IM;Lo;0;L;;;;;N;;;;; 31AD;BOPOMOFO LETTER NGG;Lo;0;L;;;;;N;;;;; 31AE;BOPOMOFO LETTER AINN;Lo;0;L;;;;;N;;;;; 31AF;BOPOMOFO LETTER AUNN;Lo;0;L;;;;;N;;;;; 31B0;BOPOMOFO LETTER AM;Lo;0;L;;;;;N;;;;; 31B1;BOPOMOFO LETTER OM;Lo;0;L;;;;;N;;;;; 31B2;BOPOMOFO LETTER ONG;Lo;0;L;;;;;N;;;;; 31B3;BOPOMOFO LETTER INNN;Lo;0;L;;;;;N;;;;; 31B4;BOPOMOFO FINAL LETTER P;Lo;0;L;;;;;N;;;;; 31B5;BOPOMOFO FINAL LETTER T;Lo;0;L;;;;;N;;;;; 31B6;BOPOMOFO FINAL LETTER K;Lo;0;L;;;;;N;;;;; 31B7;BOPOMOFO FINAL LETTER H;Lo;0;L;;;;;N;;;;; 31F0;KATAKANA LETTER SMALL KU;Lo;0;L;;;;;N;;;;; 31F1;KATAKANA LETTER SMALL SI;Lo;0;L;;;;;N;;;;; 31F2;KATAKANA LETTER SMALL SU;Lo;0;L;;;;;N;;;;; 31F3;KATAKANA LETTER SMALL TO;Lo;0;L;;;;;N;;;;; 31F4;KATAKANA LETTER SMALL NU;Lo;0;L;;;;;N;;;;; 31F5;KATAKANA LETTER SMALL HA;Lo;0;L;;;;;N;;;;; 31F6;KATAKANA LETTER SMALL HI;Lo;0;L;;;;;N;;;;; 31F7;KATAKANA LETTER SMALL HU;Lo;0;L;;;;;N;;;;; 31F8;KATAKANA LETTER SMALL HE;Lo;0;L;;;;;N;;;;; 31F9;KATAKANA LETTER SMALL HO;Lo;0;L;;;;;N;;;;; 31FA;KATAKANA LETTER SMALL MU;Lo;0;L;;;;;N;;;;; 31FB;KATAKANA LETTER SMALL RA;Lo;0;L;;;;;N;;;;; 31FC;KATAKANA LETTER SMALL RI;Lo;0;L;;;;;N;;;;; 31FD;KATAKANA LETTER SMALL RU;Lo;0;L;;;;;N;;;;; 31FE;KATAKANA LETTER SMALL RE;Lo;0;L;;;;;N;;;;; 31FF;KATAKANA LETTER SMALL RO;Lo;0;L;;;;;N;;;;; 3200;PARENTHESIZED HANGUL KIYEOK;So;0;L; 0028 1100 0029;;;;N;PARENTHESIZED HANGUL GIYEOG;;;; 3201;PARENTHESIZED HANGUL NIEUN;So;0;L; 0028 1102 0029;;;;N;;;;; 3202;PARENTHESIZED HANGUL TIKEUT;So;0;L; 0028 1103 0029;;;;N;PARENTHESIZED HANGUL DIGEUD;;;; 3203;PARENTHESIZED HANGUL RIEUL;So;0;L; 0028 1105 0029;;;;N;PARENTHESIZED HANGUL LIEUL;;;; 3204;PARENTHESIZED HANGUL MIEUM;So;0;L; 0028 1106 0029;;;;N;;;;; 3205;PARENTHESIZED HANGUL PIEUP;So;0;L; 0028 1107 0029;;;;N;PARENTHESIZED HANGUL BIEUB;;;; 3206;PARENTHESIZED HANGUL SIOS;So;0;L; 0028 1109 0029;;;;N;;;;; 3207;PARENTHESIZED HANGUL IEUNG;So;0;L; 0028 110B 0029;;;;N;;;;; 3208;PARENTHESIZED HANGUL CIEUC;So;0;L; 0028 110C 0029;;;;N;PARENTHESIZED HANGUL JIEUJ;;;; 3209;PARENTHESIZED HANGUL CHIEUCH;So;0;L; 0028 110E 0029;;;;N;PARENTHESIZED HANGUL CIEUC;;;; 320A;PARENTHESIZED HANGUL KHIEUKH;So;0;L; 0028 110F 0029;;;;N;PARENTHESIZED HANGUL KIYEOK;;;; 320B;PARENTHESIZED HANGUL THIEUTH;So;0;L; 0028 1110 0029;;;;N;PARENTHESIZED HANGUL TIEUT;;;; 320C;PARENTHESIZED HANGUL PHIEUPH;So;0;L; 0028 1111 0029;;;;N;PARENTHESIZED HANGUL PIEUP;;;; 320D;PARENTHESIZED HANGUL HIEUH;So;0;L; 0028 1112 0029;;;;N;;;;; 320E;PARENTHESIZED HANGUL KIYEOK A;So;0;L; 0028 1100 1161 0029;;;;N;PARENTHESIZED HANGUL GA;;;; 320F;PARENTHESIZED HANGUL NIEUN A;So;0;L; 0028 1102 1161 0029;;;;N;PARENTHESIZED HANGUL NA;;;; 3210;PARENTHESIZED HANGUL TIKEUT A;So;0;L; 0028 1103 1161 0029;;;;N;PARENTHESIZED HANGUL DA;;;; 3211;PARENTHESIZED HANGUL RIEUL A;So;0;L; 0028 1105 1161 0029;;;;N;PARENTHESIZED HANGUL LA;;;; 3212;PARENTHESIZED HANGUL MIEUM A;So;0;L; 0028 1106 1161 0029;;;;N;PARENTHESIZED HANGUL MA;;;; 3213;PARENTHESIZED HANGUL PIEUP A;So;0;L; 0028 1107 1161 0029;;;;N;PARENTHESIZED HANGUL BA;;;; 3214;PARENTHESIZED HANGUL SIOS A;So;0;L; 0028 1109 1161 0029;;;;N;PARENTHESIZED HANGUL SA;;;; 3215;PARENTHESIZED HANGUL IEUNG A;So;0;L; 0028 110B 1161 0029;;;;N;PARENTHESIZED HANGUL A;;;; 3216;PARENTHESIZED HANGUL CIEUC A;So;0;L; 0028 110C 1161 0029;;;;N;PARENTHESIZED HANGUL JA;;;; 3217;PARENTHESIZED HANGUL CHIEUCH A;So;0;L; 0028 110E 1161 0029;;;;N;PARENTHESIZED HANGUL CA;;;; 3218;PARENTHESIZED HANGUL KHIEUKH A;So;0;L; 0028 110F 1161 0029;;;;N;PARENTHESIZED HANGUL KA;;;; 3219;PARENTHESIZED HANGUL THIEUTH A;So;0;L; 0028 1110 1161 0029;;;;N;PARENTHESIZED HANGUL TA;;;; 321A;PARENTHESIZED HANGUL PHIEUPH A;So;0;L; 0028 1111 1161 0029;;;;N;PARENTHESIZED HANGUL PA;;;; 321B;PARENTHESIZED HANGUL HIEUH A;So;0;L; 0028 1112 1161 0029;;;;N;PARENTHESIZED HANGUL HA;;;; 321C;PARENTHESIZED HANGUL CIEUC U;So;0;L; 0028 110C 116E 0029;;;;N;PARENTHESIZED HANGUL JU;;;; 321D;PARENTHESIZED KOREAN CHARACTER OJEON;So;0;ON; 0028 110B 1169 110C 1165 11AB 0029;;;;N;;;;; 321E;PARENTHESIZED KOREAN CHARACTER O HU;So;0;ON; 0028 110B 1169 1112 116E 0029;;;;N;;;;; 3220;PARENTHESIZED IDEOGRAPH ONE;No;0;L; 0028 4E00 0029;;;1;N;;;;; 3221;PARENTHESIZED IDEOGRAPH TWO;No;0;L; 0028 4E8C 0029;;;2;N;;;;; 3222;PARENTHESIZED IDEOGRAPH THREE;No;0;L; 0028 4E09 0029;;;3;N;;;;; 3223;PARENTHESIZED IDEOGRAPH FOUR;No;0;L; 0028 56DB 0029;;;4;N;;;;; 3224;PARENTHESIZED IDEOGRAPH FIVE;No;0;L; 0028 4E94 0029;;;5;N;;;;; 3225;PARENTHESIZED IDEOGRAPH SIX;No;0;L; 0028 516D 0029;;;6;N;;;;; 3226;PARENTHESIZED IDEOGRAPH SEVEN;No;0;L; 0028 4E03 0029;;;7;N;;;;; 3227;PARENTHESIZED IDEOGRAPH EIGHT;No;0;L; 0028 516B 0029;;;8;N;;;;; 3228;PARENTHESIZED IDEOGRAPH NINE;No;0;L; 0028 4E5D 0029;;;9;N;;;;; 3229;PARENTHESIZED IDEOGRAPH TEN;No;0;L; 0028 5341 0029;;;10;N;;;;; 322A;PARENTHESIZED IDEOGRAPH MOON;So;0;L; 0028 6708 0029;;;;N;;;;; 322B;PARENTHESIZED IDEOGRAPH FIRE;So;0;L; 0028 706B 0029;;;;N;;;;; 322C;PARENTHESIZED IDEOGRAPH WATER;So;0;L; 0028 6C34 0029;;;;N;;;;; 322D;PARENTHESIZED IDEOGRAPH WOOD;So;0;L; 0028 6728 0029;;;;N;;;;; 322E;PARENTHESIZED IDEOGRAPH METAL;So;0;L; 0028 91D1 0029;;;;N;;;;; 322F;PARENTHESIZED IDEOGRAPH EARTH;So;0;L; 0028 571F 0029;;;;N;;;;; 3230;PARENTHESIZED IDEOGRAPH SUN;So;0;L; 0028 65E5 0029;;;;N;;;;; 3231;PARENTHESIZED IDEOGRAPH STOCK;So;0;L; 0028 682A 0029;;;;N;;;;; 3232;PARENTHESIZED IDEOGRAPH HAVE;So;0;L; 0028 6709 0029;;;;N;;;;; 3233;PARENTHESIZED IDEOGRAPH SOCIETY;So;0;L; 0028 793E 0029;;;;N;;;;; 3234;PARENTHESIZED IDEOGRAPH NAME;So;0;L; 0028 540D 0029;;;;N;;;;; 3235;PARENTHESIZED IDEOGRAPH SPECIAL;So;0;L; 0028 7279 0029;;;;N;;;;; 3236;PARENTHESIZED IDEOGRAPH FINANCIAL;So;0;L; 0028 8CA1 0029;;;;N;;;;; 3237;PARENTHESIZED IDEOGRAPH CONGRATULATION;So;0;L; 0028 795D 0029;;;;N;;;;; 3238;PARENTHESIZED IDEOGRAPH LABOR;So;0;L; 0028 52B4 0029;;;;N;;;;; 3239;PARENTHESIZED IDEOGRAPH REPRESENT;So;0;L; 0028 4EE3 0029;;;;N;;;;; 323A;PARENTHESIZED IDEOGRAPH CALL;So;0;L; 0028 547C 0029;;;;N;;;;; 323B;PARENTHESIZED IDEOGRAPH STUDY;So;0;L; 0028 5B66 0029;;;;N;;;;; 323C;PARENTHESIZED IDEOGRAPH SUPERVISE;So;0;L; 0028 76E3 0029;;;;N;;;;; 323D;PARENTHESIZED IDEOGRAPH ENTERPRISE;So;0;L; 0028 4F01 0029;;;;N;;;;; 323E;PARENTHESIZED IDEOGRAPH RESOURCE;So;0;L; 0028 8CC7 0029;;;;N;;;;; 323F;PARENTHESIZED IDEOGRAPH ALLIANCE;So;0;L; 0028 5354 0029;;;;N;;;;; 3240;PARENTHESIZED IDEOGRAPH FESTIVAL;So;0;L; 0028 796D 0029;;;;N;;;;; 3241;PARENTHESIZED IDEOGRAPH REST;So;0;L; 0028 4F11 0029;;;;N;;;;; 3242;PARENTHESIZED IDEOGRAPH SELF;So;0;L; 0028 81EA 0029;;;;N;;;;; 3243;PARENTHESIZED IDEOGRAPH REACH;So;0;L; 0028 81F3 0029;;;;N;;;;; 3250;PARTNERSHIP SIGN;So;0;ON; 0050 0054 0045;;;;N;;;;; 3251;CIRCLED NUMBER TWENTY ONE;No;0;ON; 0032 0031;;;21;N;;;;; 3252;CIRCLED NUMBER TWENTY TWO;No;0;ON; 0032 0032;;;22;N;;;;; 3253;CIRCLED NUMBER TWENTY THREE;No;0;ON; 0032 0033;;;23;N;;;;; 3254;CIRCLED NUMBER TWENTY FOUR;No;0;ON; 0032 0034;;;24;N;;;;; 3255;CIRCLED NUMBER TWENTY FIVE;No;0;ON; 0032 0035;;;25;N;;;;; 3256;CIRCLED NUMBER TWENTY SIX;No;0;ON; 0032 0036;;;26;N;;;;; 3257;CIRCLED NUMBER TWENTY SEVEN;No;0;ON; 0032 0037;;;27;N;;;;; 3258;CIRCLED NUMBER TWENTY EIGHT;No;0;ON; 0032 0038;;;28;N;;;;; 3259;CIRCLED NUMBER TWENTY NINE;No;0;ON; 0032 0039;;;29;N;;;;; 325A;CIRCLED NUMBER THIRTY;No;0;ON; 0033 0030;;;30;N;;;;; 325B;CIRCLED NUMBER THIRTY ONE;No;0;ON; 0033 0031;;;31;N;;;;; 325C;CIRCLED NUMBER THIRTY TWO;No;0;ON; 0033 0032;;;32;N;;;;; 325D;CIRCLED NUMBER THIRTY THREE;No;0;ON; 0033 0033;;;33;N;;;;; 325E;CIRCLED NUMBER THIRTY FOUR;No;0;ON; 0033 0034;;;34;N;;;;; 325F;CIRCLED NUMBER THIRTY FIVE;No;0;ON; 0033 0035;;;35;N;;;;; 3260;CIRCLED HANGUL KIYEOK;So;0;L; 1100;;;;N;CIRCLED HANGUL GIYEOG;;;; 3261;CIRCLED HANGUL NIEUN;So;0;L; 1102;;;;N;;;;; 3262;CIRCLED HANGUL TIKEUT;So;0;L; 1103;;;;N;CIRCLED HANGUL DIGEUD;;;; 3263;CIRCLED HANGUL RIEUL;So;0;L; 1105;;;;N;CIRCLED HANGUL LIEUL;;;; 3264;CIRCLED HANGUL MIEUM;So;0;L; 1106;;;;N;;;;; 3265;CIRCLED HANGUL PIEUP;So;0;L; 1107;;;;N;CIRCLED HANGUL BIEUB;;;; 3266;CIRCLED HANGUL SIOS;So;0;L; 1109;;;;N;;;;; 3267;CIRCLED HANGUL IEUNG;So;0;L; 110B;;;;N;;;;; 3268;CIRCLED HANGUL CIEUC;So;0;L; 110C;;;;N;CIRCLED HANGUL JIEUJ;;;; 3269;CIRCLED HANGUL CHIEUCH;So;0;L; 110E;;;;N;CIRCLED HANGUL CIEUC;;;; 326A;CIRCLED HANGUL KHIEUKH;So;0;L; 110F;;;;N;CIRCLED HANGUL KIYEOK;;;; 326B;CIRCLED HANGUL THIEUTH;So;0;L; 1110;;;;N;CIRCLED HANGUL TIEUT;;;; 326C;CIRCLED HANGUL PHIEUPH;So;0;L; 1111;;;;N;CIRCLED HANGUL PIEUP;;;; 326D;CIRCLED HANGUL HIEUH;So;0;L; 1112;;;;N;;;;; 326E;CIRCLED HANGUL KIYEOK A;So;0;L; 1100 1161;;;;N;CIRCLED HANGUL GA;;;; 326F;CIRCLED HANGUL NIEUN A;So;0;L; 1102 1161;;;;N;CIRCLED HANGUL NA;;;; 3270;CIRCLED HANGUL TIKEUT A;So;0;L; 1103 1161;;;;N;CIRCLED HANGUL DA;;;; 3271;CIRCLED HANGUL RIEUL A;So;0;L; 1105 1161;;;;N;CIRCLED HANGUL LA;;;; 3272;CIRCLED HANGUL MIEUM A;So;0;L; 1106 1161;;;;N;CIRCLED HANGUL MA;;;; 3273;CIRCLED HANGUL PIEUP A;So;0;L; 1107 1161;;;;N;CIRCLED HANGUL BA;;;; 3274;CIRCLED HANGUL SIOS A;So;0;L; 1109 1161;;;;N;CIRCLED HANGUL SA;;;; 3275;CIRCLED HANGUL IEUNG A;So;0;L; 110B 1161;;;;N;CIRCLED HANGUL A;;;; 3276;CIRCLED HANGUL CIEUC A;So;0;L; 110C 1161;;;;N;CIRCLED HANGUL JA;;;; 3277;CIRCLED HANGUL CHIEUCH A;So;0;L; 110E 1161;;;;N;CIRCLED HANGUL CA;;;; 3278;CIRCLED HANGUL KHIEUKH A;So;0;L; 110F 1161;;;;N;CIRCLED HANGUL KA;;;; 3279;CIRCLED HANGUL THIEUTH A;So;0;L; 1110 1161;;;;N;CIRCLED HANGUL TA;;;; 327A;CIRCLED HANGUL PHIEUPH A;So;0;L; 1111 1161;;;;N;CIRCLED HANGUL PA;;;; 327B;CIRCLED HANGUL HIEUH A;So;0;L; 1112 1161;;;;N;CIRCLED HANGUL HA;;;; 327C;CIRCLED KOREAN CHARACTER CHAMKO;So;0;ON; 110E 1161 11B7 1100 1169;;;;N;;;;; 327D;CIRCLED KOREAN CHARACTER JUEUI;So;0;ON; 110C 116E 110B 1174;;;;N;;;;; 327F;KOREAN STANDARD SYMBOL;So;0;L;;;;;N;;;;; 3280;CIRCLED IDEOGRAPH ONE;No;0;L; 4E00;;;1;N;;;;; 3281;CIRCLED IDEOGRAPH TWO;No;0;L; 4E8C;;;2;N;;;;; 3282;CIRCLED IDEOGRAPH THREE;No;0;L; 4E09;;;3;N;;;;; 3283;CIRCLED IDEOGRAPH FOUR;No;0;L; 56DB;;;4;N;;;;; 3284;CIRCLED IDEOGRAPH FIVE;No;0;L; 4E94;;;5;N;;;;; 3285;CIRCLED IDEOGRAPH SIX;No;0;L; 516D;;;6;N;;;;; 3286;CIRCLED IDEOGRAPH SEVEN;No;0;L; 4E03;;;7;N;;;;; 3287;CIRCLED IDEOGRAPH EIGHT;No;0;L; 516B;;;8;N;;;;; 3288;CIRCLED IDEOGRAPH NINE;No;0;L; 4E5D;;;9;N;;;;; 3289;CIRCLED IDEOGRAPH TEN;No;0;L; 5341;;;10;N;;;;; 328A;CIRCLED IDEOGRAPH MOON;So;0;L; 6708;;;;N;;;;; 328B;CIRCLED IDEOGRAPH FIRE;So;0;L; 706B;;;;N;;;;; 328C;CIRCLED IDEOGRAPH WATER;So;0;L; 6C34;;;;N;;;;; 328D;CIRCLED IDEOGRAPH WOOD;So;0;L; 6728;;;;N;;;;; 328E;CIRCLED IDEOGRAPH METAL;So;0;L; 91D1;;;;N;;;;; 328F;CIRCLED IDEOGRAPH EARTH;So;0;L; 571F;;;;N;;;;; 3290;CIRCLED IDEOGRAPH SUN;So;0;L; 65E5;;;;N;;;;; 3291;CIRCLED IDEOGRAPH STOCK;So;0;L; 682A;;;;N;;;;; 3292;CIRCLED IDEOGRAPH HAVE;So;0;L; 6709;;;;N;;;;; 3293;CIRCLED IDEOGRAPH SOCIETY;So;0;L; 793E;;;;N;;;;; 3294;CIRCLED IDEOGRAPH NAME;So;0;L; 540D;;;;N;;;;; 3295;CIRCLED IDEOGRAPH SPECIAL;So;0;L; 7279;;;;N;;;;; 3296;CIRCLED IDEOGRAPH FINANCIAL;So;0;L; 8CA1;;;;N;;;;; 3297;CIRCLED IDEOGRAPH CONGRATULATION;So;0;L; 795D;;;;N;;;;; 3298;CIRCLED IDEOGRAPH LABOR;So;0;L; 52B4;;;;N;;;;; 3299;CIRCLED IDEOGRAPH SECRET;So;0;L; 79D8;;;;N;;;;; 329A;CIRCLED IDEOGRAPH MALE;So;0;L; 7537;;;;N;;;;; 329B;CIRCLED IDEOGRAPH FEMALE;So;0;L; 5973;;;;N;;;;; 329C;CIRCLED IDEOGRAPH SUITABLE;So;0;L; 9069;;;;N;;;;; 329D;CIRCLED IDEOGRAPH EXCELLENT;So;0;L; 512A;;;;N;;;;; 329E;CIRCLED IDEOGRAPH PRINT;So;0;L; 5370;;;;N;;;;; 329F;CIRCLED IDEOGRAPH ATTENTION;So;0;L; 6CE8;;;;N;;;;; 32A0;CIRCLED IDEOGRAPH ITEM;So;0;L; 9805;;;;N;;;;; 32A1;CIRCLED IDEOGRAPH REST;So;0;L; 4F11;;;;N;;;;; 32A2;CIRCLED IDEOGRAPH COPY;So;0;L; 5199;;;;N;;;;; 32A3;CIRCLED IDEOGRAPH CORRECT;So;0;L; 6B63;;;;N;;;;; 32A4;CIRCLED IDEOGRAPH HIGH;So;0;L; 4E0A;;;;N;;;;; 32A5;CIRCLED IDEOGRAPH CENTRE;So;0;L; 4E2D;;;;N;CIRCLED IDEOGRAPH CENTER;;;; 32A6;CIRCLED IDEOGRAPH LOW;So;0;L; 4E0B;;;;N;;;;; 32A7;CIRCLED IDEOGRAPH LEFT;So;0;L; 5DE6;;;;N;;;;; 32A8;CIRCLED IDEOGRAPH RIGHT;So;0;L; 53F3;;;;N;;;;; 32A9;CIRCLED IDEOGRAPH MEDICINE;So;0;L; 533B;;;;N;;;;; 32AA;CIRCLED IDEOGRAPH RELIGION;So;0;L; 5B97;;;;N;;;;; 32AB;CIRCLED IDEOGRAPH STUDY;So;0;L; 5B66;;;;N;;;;; 32AC;CIRCLED IDEOGRAPH SUPERVISE;So;0;L; 76E3;;;;N;;;;; 32AD;CIRCLED IDEOGRAPH ENTERPRISE;So;0;L; 4F01;;;;N;;;;; 32AE;CIRCLED IDEOGRAPH RESOURCE;So;0;L; 8CC7;;;;N;;;;; 32AF;CIRCLED IDEOGRAPH ALLIANCE;So;0;L; 5354;;;;N;;;;; 32B0;CIRCLED IDEOGRAPH NIGHT;So;0;L; 591C;;;;N;;;;; 32B1;CIRCLED NUMBER THIRTY SIX;No;0;ON; 0033 0036;;;36;N;;;;; 32B2;CIRCLED NUMBER THIRTY SEVEN;No;0;ON; 0033 0037;;;37;N;;;;; 32B3;CIRCLED NUMBER THIRTY EIGHT;No;0;ON; 0033 0038;;;38;N;;;;; 32B4;CIRCLED NUMBER THIRTY NINE;No;0;ON; 0033 0039;;;39;N;;;;; 32B5;CIRCLED NUMBER FORTY;No;0;ON; 0034 0030;;;40;N;;;;; 32B6;CIRCLED NUMBER FORTY ONE;No;0;ON; 0034 0031;;;41;N;;;;; 32B7;CIRCLED NUMBER FORTY TWO;No;0;ON; 0034 0032;;;42;N;;;;; 32B8;CIRCLED NUMBER FORTY THREE;No;0;ON; 0034 0033;;;43;N;;;;; 32B9;CIRCLED NUMBER FORTY FOUR;No;0;ON; 0034 0034;;;44;N;;;;; 32BA;CIRCLED NUMBER FORTY FIVE;No;0;ON; 0034 0035;;;45;N;;;;; 32BB;CIRCLED NUMBER FORTY SIX;No;0;ON; 0034 0036;;;46;N;;;;; 32BC;CIRCLED NUMBER FORTY SEVEN;No;0;ON; 0034 0037;;;47;N;;;;; 32BD;CIRCLED NUMBER FORTY EIGHT;No;0;ON; 0034 0038;;;48;N;;;;; 32BE;CIRCLED NUMBER FORTY NINE;No;0;ON; 0034 0039;;;49;N;;;;; 32BF;CIRCLED NUMBER FIFTY;No;0;ON; 0035 0030;;;50;N;;;;; 32C0;IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY;So;0;L; 0031 6708;;;;N;;;;; 32C1;IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY;So;0;L; 0032 6708;;;;N;;;;; 32C2;IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH;So;0;L; 0033 6708;;;;N;;;;; 32C3;IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL;So;0;L; 0034 6708;;;;N;;;;; 32C4;IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY;So;0;L; 0035 6708;;;;N;;;;; 32C5;IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE;So;0;L; 0036 6708;;;;N;;;;; 32C6;IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY;So;0;L; 0037 6708;;;;N;;;;; 32C7;IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST;So;0;L; 0038 6708;;;;N;;;;; 32C8;IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER;So;0;L; 0039 6708;;;;N;;;;; 32C9;IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER;So;0;L; 0031 0030 6708;;;;N;;;;; 32CA;IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER;So;0;L; 0031 0031 6708;;;;N;;;;; 32CB;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER;So;0;L; 0031 0032 6708;;;;N;;;;; 32CC;SQUARE HG;So;0;ON; 0048 0067;;;;N;;;;; 32CD;SQUARE ERG;So;0;ON; 0065 0072 0067;;;;N;;;;; 32CE;SQUARE EV;So;0;ON; 0065 0056;;;;N;;;;; 32CF;LIMITED LIABILITY SIGN;So;0;ON; 004C 0054 0044;;;;N;;;;; 32D0;CIRCLED KATAKANA A;So;0;L; 30A2;;;;N;;;;; 32D1;CIRCLED KATAKANA I;So;0;L; 30A4;;;;N;;;;; 32D2;CIRCLED KATAKANA U;So;0;L; 30A6;;;;N;;;;; 32D3;CIRCLED KATAKANA E;So;0;L; 30A8;;;;N;;;;; 32D4;CIRCLED KATAKANA O;So;0;L; 30AA;;;;N;;;;; 32D5;CIRCLED KATAKANA KA;So;0;L; 30AB;;;;N;;;;; 32D6;CIRCLED KATAKANA KI;So;0;L; 30AD;;;;N;;;;; 32D7;CIRCLED KATAKANA KU;So;0;L; 30AF;;;;N;;;;; 32D8;CIRCLED KATAKANA KE;So;0;L; 30B1;;;;N;;;;; 32D9;CIRCLED KATAKANA KO;So;0;L; 30B3;;;;N;;;;; 32DA;CIRCLED KATAKANA SA;So;0;L; 30B5;;;;N;;;;; 32DB;CIRCLED KATAKANA SI;So;0;L; 30B7;;;;N;;;;; 32DC;CIRCLED KATAKANA SU;So;0;L; 30B9;;;;N;;;;; 32DD;CIRCLED KATAKANA SE;So;0;L; 30BB;;;;N;;;;; 32DE;CIRCLED KATAKANA SO;So;0;L; 30BD;;;;N;;;;; 32DF;CIRCLED KATAKANA TA;So;0;L; 30BF;;;;N;;;;; 32E0;CIRCLED KATAKANA TI;So;0;L; 30C1;;;;N;;;;; 32E1;CIRCLED KATAKANA TU;So;0;L; 30C4;;;;N;;;;; 32E2;CIRCLED KATAKANA TE;So;0;L; 30C6;;;;N;;;;; 32E3;CIRCLED KATAKANA TO;So;0;L; 30C8;;;;N;;;;; 32E4;CIRCLED KATAKANA NA;So;0;L; 30CA;;;;N;;;;; 32E5;CIRCLED KATAKANA NI;So;0;L; 30CB;;;;N;;;;; 32E6;CIRCLED KATAKANA NU;So;0;L; 30CC;;;;N;;;;; 32E7;CIRCLED KATAKANA NE;So;0;L; 30CD;;;;N;;;;; 32E8;CIRCLED KATAKANA NO;So;0;L; 30CE;;;;N;;;;; 32E9;CIRCLED KATAKANA HA;So;0;L; 30CF;;;;N;;;;; 32EA;CIRCLED KATAKANA HI;So;0;L; 30D2;;;;N;;;;; 32EB;CIRCLED KATAKANA HU;So;0;L; 30D5;;;;N;;;;; 32EC;CIRCLED KATAKANA HE;So;0;L; 30D8;;;;N;;;;; 32ED;CIRCLED KATAKANA HO;So;0;L; 30DB;;;;N;;;;; 32EE;CIRCLED KATAKANA MA;So;0;L; 30DE;;;;N;;;;; 32EF;CIRCLED KATAKANA MI;So;0;L; 30DF;;;;N;;;;; 32F0;CIRCLED KATAKANA MU;So;0;L; 30E0;;;;N;;;;; 32F1;CIRCLED KATAKANA ME;So;0;L; 30E1;;;;N;;;;; 32F2;CIRCLED KATAKANA MO;So;0;L; 30E2;;;;N;;;;; 32F3;CIRCLED KATAKANA YA;So;0;L; 30E4;;;;N;;;;; 32F4;CIRCLED KATAKANA YU;So;0;L; 30E6;;;;N;;;;; 32F5;CIRCLED KATAKANA YO;So;0;L; 30E8;;;;N;;;;; 32F6;CIRCLED KATAKANA RA;So;0;L; 30E9;;;;N;;;;; 32F7;CIRCLED KATAKANA RI;So;0;L; 30EA;;;;N;;;;; 32F8;CIRCLED KATAKANA RU;So;0;L; 30EB;;;;N;;;;; 32F9;CIRCLED KATAKANA RE;So;0;L; 30EC;;;;N;;;;; 32FA;CIRCLED KATAKANA RO;So;0;L; 30ED;;;;N;;;;; 32FB;CIRCLED KATAKANA WA;So;0;L; 30EF;;;;N;;;;; 32FC;CIRCLED KATAKANA WI;So;0;L; 30F0;;;;N;;;;; 32FD;CIRCLED KATAKANA WE;So;0;L; 30F1;;;;N;;;;; 32FE;CIRCLED KATAKANA WO;So;0;L; 30F2;;;;N;;;;; 3300;SQUARE APAATO;So;0;L; 30A2 30D1 30FC 30C8;;;;N;SQUARED APAATO;;;; 3301;SQUARE ARUHUA;So;0;L; 30A2 30EB 30D5 30A1;;;;N;SQUARED ARUHUA;;;; 3302;SQUARE ANPEA;So;0;L; 30A2 30F3 30DA 30A2;;;;N;SQUARED ANPEA;;;; 3303;SQUARE AARU;So;0;L; 30A2 30FC 30EB;;;;N;SQUARED AARU;;;; 3304;SQUARE ININGU;So;0;L; 30A4 30CB 30F3 30B0;;;;N;SQUARED ININGU;;;; 3305;SQUARE INTI;So;0;L; 30A4 30F3 30C1;;;;N;SQUARED INTI;;;; 3306;SQUARE UON;So;0;L; 30A6 30A9 30F3;;;;N;SQUARED UON;;;; 3307;SQUARE ESUKUUDO;So;0;L; 30A8 30B9 30AF 30FC 30C9;;;;N;SQUARED ESUKUUDO;;;; 3308;SQUARE EEKAA;So;0;L; 30A8 30FC 30AB 30FC;;;;N;SQUARED EEKAA;;;; 3309;SQUARE ONSU;So;0;L; 30AA 30F3 30B9;;;;N;SQUARED ONSU;;;; 330A;SQUARE OOMU;So;0;L; 30AA 30FC 30E0;;;;N;SQUARED OOMU;;;; 330B;SQUARE KAIRI;So;0;L; 30AB 30A4 30EA;;;;N;SQUARED KAIRI;;;; 330C;SQUARE KARATTO;So;0;L; 30AB 30E9 30C3 30C8;;;;N;SQUARED KARATTO;;;; 330D;SQUARE KARORII;So;0;L; 30AB 30ED 30EA 30FC;;;;N;SQUARED KARORII;;;; 330E;SQUARE GARON;So;0;L; 30AC 30ED 30F3;;;;N;SQUARED GARON;;;; 330F;SQUARE GANMA;So;0;L; 30AC 30F3 30DE;;;;N;SQUARED GANMA;;;; 3310;SQUARE GIGA;So;0;L; 30AE 30AC;;;;N;SQUARED GIGA;;;; 3311;SQUARE GINII;So;0;L; 30AE 30CB 30FC;;;;N;SQUARED GINII;;;; 3312;SQUARE KYURII;So;0;L; 30AD 30E5 30EA 30FC;;;;N;SQUARED KYURII;;;; 3313;SQUARE GIRUDAA;So;0;L; 30AE 30EB 30C0 30FC;;;;N;SQUARED GIRUDAA;;;; 3314;SQUARE KIRO;So;0;L; 30AD 30ED;;;;N;SQUARED KIRO;;;; 3315;SQUARE KIROGURAMU;So;0;L; 30AD 30ED 30B0 30E9 30E0;;;;N;SQUARED KIROGURAMU;;;; 3316;SQUARE KIROMEETORU;So;0;L; 30AD 30ED 30E1 30FC 30C8 30EB;;;;N;SQUARED KIROMEETORU;;;; 3317;SQUARE KIROWATTO;So;0;L; 30AD 30ED 30EF 30C3 30C8;;;;N;SQUARED KIROWATTO;;;; 3318;SQUARE GURAMU;So;0;L; 30B0 30E9 30E0;;;;N;SQUARED GURAMU;;;; 3319;SQUARE GURAMUTON;So;0;L; 30B0 30E9 30E0 30C8 30F3;;;;N;SQUARED GURAMUTON;;;; 331A;SQUARE KURUZEIRO;So;0;L; 30AF 30EB 30BC 30A4 30ED;;;;N;SQUARED KURUZEIRO;;;; 331B;SQUARE KUROONE;So;0;L; 30AF 30ED 30FC 30CD;;;;N;SQUARED KUROONE;;;; 331C;SQUARE KEESU;So;0;L; 30B1 30FC 30B9;;;;N;SQUARED KEESU;;;; 331D;SQUARE KORUNA;So;0;L; 30B3 30EB 30CA;;;;N;SQUARED KORUNA;;;; 331E;SQUARE KOOPO;So;0;L; 30B3 30FC 30DD;;;;N;SQUARED KOOPO;;;; 331F;SQUARE SAIKURU;So;0;L; 30B5 30A4 30AF 30EB;;;;N;SQUARED SAIKURU;;;; 3320;SQUARE SANTIIMU;So;0;L; 30B5 30F3 30C1 30FC 30E0;;;;N;SQUARED SANTIIMU;;;; 3321;SQUARE SIRINGU;So;0;L; 30B7 30EA 30F3 30B0;;;;N;SQUARED SIRINGU;;;; 3322;SQUARE SENTI;So;0;L; 30BB 30F3 30C1;;;;N;SQUARED SENTI;;;; 3323;SQUARE SENTO;So;0;L; 30BB 30F3 30C8;;;;N;SQUARED SENTO;;;; 3324;SQUARE DAASU;So;0;L; 30C0 30FC 30B9;;;;N;SQUARED DAASU;;;; 3325;SQUARE DESI;So;0;L; 30C7 30B7;;;;N;SQUARED DESI;;;; 3326;SQUARE DORU;So;0;L; 30C9 30EB;;;;N;SQUARED DORU;;;; 3327;SQUARE TON;So;0;L; 30C8 30F3;;;;N;SQUARED TON;;;; 3328;SQUARE NANO;So;0;L; 30CA 30CE;;;;N;SQUARED NANO;;;; 3329;SQUARE NOTTO;So;0;L; 30CE 30C3 30C8;;;;N;SQUARED NOTTO;;;; 332A;SQUARE HAITU;So;0;L; 30CF 30A4 30C4;;;;N;SQUARED HAITU;;;; 332B;SQUARE PAASENTO;So;0;L; 30D1 30FC 30BB 30F3 30C8;;;;N;SQUARED PAASENTO;;;; 332C;SQUARE PAATU;So;0;L; 30D1 30FC 30C4;;;;N;SQUARED PAATU;;;; 332D;SQUARE BAARERU;So;0;L; 30D0 30FC 30EC 30EB;;;;N;SQUARED BAARERU;;;; 332E;SQUARE PIASUTORU;So;0;L; 30D4 30A2 30B9 30C8 30EB;;;;N;SQUARED PIASUTORU;;;; 332F;SQUARE PIKURU;So;0;L; 30D4 30AF 30EB;;;;N;SQUARED PIKURU;;;; 3330;SQUARE PIKO;So;0;L; 30D4 30B3;;;;N;SQUARED PIKO;;;; 3331;SQUARE BIRU;So;0;L; 30D3 30EB;;;;N;SQUARED BIRU;;;; 3332;SQUARE HUARADDO;So;0;L; 30D5 30A1 30E9 30C3 30C9;;;;N;SQUARED HUARADDO;;;; 3333;SQUARE HUIITO;So;0;L; 30D5 30A3 30FC 30C8;;;;N;SQUARED HUIITO;;;; 3334;SQUARE BUSSYERU;So;0;L; 30D6 30C3 30B7 30A7 30EB;;;;N;SQUARED BUSSYERU;;;; 3335;SQUARE HURAN;So;0;L; 30D5 30E9 30F3;;;;N;SQUARED HURAN;;;; 3336;SQUARE HEKUTAARU;So;0;L; 30D8 30AF 30BF 30FC 30EB;;;;N;SQUARED HEKUTAARU;;;; 3337;SQUARE PESO;So;0;L; 30DA 30BD;;;;N;SQUARED PESO;;;; 3338;SQUARE PENIHI;So;0;L; 30DA 30CB 30D2;;;;N;SQUARED PENIHI;;;; 3339;SQUARE HERUTU;So;0;L; 30D8 30EB 30C4;;;;N;SQUARED HERUTU;;;; 333A;SQUARE PENSU;So;0;L; 30DA 30F3 30B9;;;;N;SQUARED PENSU;;;; 333B;SQUARE PEEZI;So;0;L; 30DA 30FC 30B8;;;;N;SQUARED PEEZI;;;; 333C;SQUARE BEETA;So;0;L; 30D9 30FC 30BF;;;;N;SQUARED BEETA;;;; 333D;SQUARE POINTO;So;0;L; 30DD 30A4 30F3 30C8;;;;N;SQUARED POINTO;;;; 333E;SQUARE BORUTO;So;0;L; 30DC 30EB 30C8;;;;N;SQUARED BORUTO;;;; 333F;SQUARE HON;So;0;L; 30DB 30F3;;;;N;SQUARED HON;;;; 3340;SQUARE PONDO;So;0;L; 30DD 30F3 30C9;;;;N;SQUARED PONDO;;;; 3341;SQUARE HOORU;So;0;L; 30DB 30FC 30EB;;;;N;SQUARED HOORU;;;; 3342;SQUARE HOON;So;0;L; 30DB 30FC 30F3;;;;N;SQUARED HOON;;;; 3343;SQUARE MAIKURO;So;0;L; 30DE 30A4 30AF 30ED;;;;N;SQUARED MAIKURO;;;; 3344;SQUARE MAIRU;So;0;L; 30DE 30A4 30EB;;;;N;SQUARED MAIRU;;;; 3345;SQUARE MAHHA;So;0;L; 30DE 30C3 30CF;;;;N;SQUARED MAHHA;;;; 3346;SQUARE MARUKU;So;0;L; 30DE 30EB 30AF;;;;N;SQUARED MARUKU;;;; 3347;SQUARE MANSYON;So;0;L; 30DE 30F3 30B7 30E7 30F3;;;;N;SQUARED MANSYON;;;; 3348;SQUARE MIKURON;So;0;L; 30DF 30AF 30ED 30F3;;;;N;SQUARED MIKURON;;;; 3349;SQUARE MIRI;So;0;L; 30DF 30EA;;;;N;SQUARED MIRI;;;; 334A;SQUARE MIRIBAARU;So;0;L; 30DF 30EA 30D0 30FC 30EB;;;;N;SQUARED MIRIBAARU;;;; 334B;SQUARE MEGA;So;0;L; 30E1 30AC;;;;N;SQUARED MEGA;;;; 334C;SQUARE MEGATON;So;0;L; 30E1 30AC 30C8 30F3;;;;N;SQUARED MEGATON;;;; 334D;SQUARE MEETORU;So;0;L; 30E1 30FC 30C8 30EB;;;;N;SQUARED MEETORU;;;; 334E;SQUARE YAADO;So;0;L; 30E4 30FC 30C9;;;;N;SQUARED YAADO;;;; 334F;SQUARE YAARU;So;0;L; 30E4 30FC 30EB;;;;N;SQUARED YAARU;;;; 3350;SQUARE YUAN;So;0;L; 30E6 30A2 30F3;;;;N;SQUARED YUAN;;;; 3351;SQUARE RITTORU;So;0;L; 30EA 30C3 30C8 30EB;;;;N;SQUARED RITTORU;;;; 3352;SQUARE RIRA;So;0;L; 30EA 30E9;;;;N;SQUARED RIRA;;;; 3353;SQUARE RUPII;So;0;L; 30EB 30D4 30FC;;;;N;SQUARED RUPII;;;; 3354;SQUARE RUUBURU;So;0;L; 30EB 30FC 30D6 30EB;;;;N;SQUARED RUUBURU;;;; 3355;SQUARE REMU;So;0;L; 30EC 30E0;;;;N;SQUARED REMU;;;; 3356;SQUARE RENTOGEN;So;0;L; 30EC 30F3 30C8 30B2 30F3;;;;N;SQUARED RENTOGEN;;;; 3357;SQUARE WATTO;So;0;L; 30EF 30C3 30C8;;;;N;SQUARED WATTO;;;; 3358;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO;So;0;L; 0030 70B9;;;;N;;;;; 3359;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE;So;0;L; 0031 70B9;;;;N;;;;; 335A;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO;So;0;L; 0032 70B9;;;;N;;;;; 335B;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE;So;0;L; 0033 70B9;;;;N;;;;; 335C;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR;So;0;L; 0034 70B9;;;;N;;;;; 335D;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE;So;0;L; 0035 70B9;;;;N;;;;; 335E;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX;So;0;L; 0036 70B9;;;;N;;;;; 335F;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN;So;0;L; 0037 70B9;;;;N;;;;; 3360;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT;So;0;L; 0038 70B9;;;;N;;;;; 3361;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE;So;0;L; 0039 70B9;;;;N;;;;; 3362;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN;So;0;L; 0031 0030 70B9;;;;N;;;;; 3363;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN;So;0;L; 0031 0031 70B9;;;;N;;;;; 3364;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE;So;0;L; 0031 0032 70B9;;;;N;;;;; 3365;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN;So;0;L; 0031 0033 70B9;;;;N;;;;; 3366;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN;So;0;L; 0031 0034 70B9;;;;N;;;;; 3367;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN;So;0;L; 0031 0035 70B9;;;;N;;;;; 3368;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN;So;0;L; 0031 0036 70B9;;;;N;;;;; 3369;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN;So;0;L; 0031 0037 70B9;;;;N;;;;; 336A;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN;So;0;L; 0031 0038 70B9;;;;N;;;;; 336B;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN;So;0;L; 0031 0039 70B9;;;;N;;;;; 336C;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY;So;0;L; 0032 0030 70B9;;;;N;;;;; 336D;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE;So;0;L; 0032 0031 70B9;;;;N;;;;; 336E;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO;So;0;L; 0032 0032 70B9;;;;N;;;;; 336F;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE;So;0;L; 0032 0033 70B9;;;;N;;;;; 3370;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR;So;0;L; 0032 0034 70B9;;;;N;;;;; 3371;SQUARE HPA;So;0;L; 0068 0050 0061;;;;N;;;;; 3372;SQUARE DA;So;0;L; 0064 0061;;;;N;;;;; 3373;SQUARE AU;So;0;L; 0041 0055;;;;N;;;;; 3374;SQUARE BAR;So;0;L; 0062 0061 0072;;;;N;;;;; 3375;SQUARE OV;So;0;L; 006F 0056;;;;N;;;;; 3376;SQUARE PC;So;0;L; 0070 0063;;;;N;;;;; 3377;SQUARE DM;So;0;ON; 0064 006D;;;;N;;;;; 3378;SQUARE DM SQUARED;So;0;ON; 0064 006D 00B2;;;;N;;;;; 3379;SQUARE DM CUBED;So;0;ON; 0064 006D 00B3;;;;N;;;;; 337A;SQUARE IU;So;0;ON; 0049 0055;;;;N;;;;; 337B;SQUARE ERA NAME HEISEI;So;0;L; 5E73 6210;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME HEISEI;;;; 337C;SQUARE ERA NAME SYOUWA;So;0;L; 662D 548C;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME SYOUWA;;;; 337D;SQUARE ERA NAME TAISYOU;So;0;L; 5927 6B63;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME TAISYOU;;;; 337E;SQUARE ERA NAME MEIZI;So;0;L; 660E 6CBB;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME MEIZI;;;; 337F;SQUARE CORPORATION;So;0;L; 682A 5F0F 4F1A 793E;;;;N;SQUARED FOUR IDEOGRAPHS CORPORATION;;;; 3380;SQUARE PA AMPS;So;0;L; 0070 0041;;;;N;SQUARED PA AMPS;;;; 3381;SQUARE NA;So;0;L; 006E 0041;;;;N;SQUARED NA;;;; 3382;SQUARE MU A;So;0;L; 03BC 0041;;;;N;SQUARED MU A;;;; 3383;SQUARE MA;So;0;L; 006D 0041;;;;N;SQUARED MA;;;; 3384;SQUARE KA;So;0;L; 006B 0041;;;;N;SQUARED KA;;;; 3385;SQUARE KB;So;0;L; 004B 0042;;;;N;SQUARED KB;;;; 3386;SQUARE MB;So;0;L; 004D 0042;;;;N;SQUARED MB;;;; 3387;SQUARE GB;So;0;L; 0047 0042;;;;N;SQUARED GB;;;; 3388;SQUARE CAL;So;0;L; 0063 0061 006C;;;;N;SQUARED CAL;;;; 3389;SQUARE KCAL;So;0;L; 006B 0063 0061 006C;;;;N;SQUARED KCAL;;;; 338A;SQUARE PF;So;0;L; 0070 0046;;;;N;SQUARED PF;;;; 338B;SQUARE NF;So;0;L; 006E 0046;;;;N;SQUARED NF;;;; 338C;SQUARE MU F;So;0;L; 03BC 0046;;;;N;SQUARED MU F;;;; 338D;SQUARE MU G;So;0;L; 03BC 0067;;;;N;SQUARED MU G;;;; 338E;SQUARE MG;So;0;L; 006D 0067;;;;N;SQUARED MG;;;; 338F;SQUARE KG;So;0;L; 006B 0067;;;;N;SQUARED KG;;;; 3390;SQUARE HZ;So;0;L; 0048 007A;;;;N;SQUARED HZ;;;; 3391;SQUARE KHZ;So;0;L; 006B 0048 007A;;;;N;SQUARED KHZ;;;; 3392;SQUARE MHZ;So;0;L; 004D 0048 007A;;;;N;SQUARED MHZ;;;; 3393;SQUARE GHZ;So;0;L; 0047 0048 007A;;;;N;SQUARED GHZ;;;; 3394;SQUARE THZ;So;0;L; 0054 0048 007A;;;;N;SQUARED THZ;;;; 3395;SQUARE MU L;So;0;L; 03BC 2113;;;;N;SQUARED MU L;;;; 3396;SQUARE ML;So;0;L; 006D 2113;;;;N;SQUARED ML;;;; 3397;SQUARE DL;So;0;L; 0064 2113;;;;N;SQUARED DL;;;; 3398;SQUARE KL;So;0;L; 006B 2113;;;;N;SQUARED KL;;;; 3399;SQUARE FM;So;0;L; 0066 006D;;;;N;SQUARED FM;;;; 339A;SQUARE NM;So;0;L; 006E 006D;;;;N;SQUARED NM;;;; 339B;SQUARE MU M;So;0;L; 03BC 006D;;;;N;SQUARED MU M;;;; 339C;SQUARE MM;So;0;L; 006D 006D;;;;N;SQUARED MM;;;; 339D;SQUARE CM;So;0;L; 0063 006D;;;;N;SQUARED CM;;;; 339E;SQUARE KM;So;0;L; 006B 006D;;;;N;SQUARED KM;;;; 339F;SQUARE MM SQUARED;So;0;L; 006D 006D 00B2;;;;N;SQUARED MM SQUARED;;;; 33A0;SQUARE CM SQUARED;So;0;L; 0063 006D 00B2;;;;N;SQUARED CM SQUARED;;;; 33A1;SQUARE M SQUARED;So;0;L; 006D 00B2;;;;N;SQUARED M SQUARED;;;; 33A2;SQUARE KM SQUARED;So;0;L; 006B 006D 00B2;;;;N;SQUARED KM SQUARED;;;; 33A3;SQUARE MM CUBED;So;0;L; 006D 006D 00B3;;;;N;SQUARED MM CUBED;;;; 33A4;SQUARE CM CUBED;So;0;L; 0063 006D 00B3;;;;N;SQUARED CM CUBED;;;; 33A5;SQUARE M CUBED;So;0;L; 006D 00B3;;;;N;SQUARED M CUBED;;;; 33A6;SQUARE KM CUBED;So;0;L; 006B 006D 00B3;;;;N;SQUARED KM CUBED;;;; 33A7;SQUARE M OVER S;So;0;L; 006D 2215 0073;;;;N;SQUARED M OVER S;;;; 33A8;SQUARE M OVER S SQUARED;So;0;L; 006D 2215 0073 00B2;;;;N;SQUARED M OVER S SQUARED;;;; 33A9;SQUARE PA;So;0;L; 0050 0061;;;;N;SQUARED PA;;;; 33AA;SQUARE KPA;So;0;L; 006B 0050 0061;;;;N;SQUARED KPA;;;; 33AB;SQUARE MPA;So;0;L; 004D 0050 0061;;;;N;SQUARED MPA;;;; 33AC;SQUARE GPA;So;0;L; 0047 0050 0061;;;;N;SQUARED GPA;;;; 33AD;SQUARE RAD;So;0;L; 0072 0061 0064;;;;N;SQUARED RAD;;;; 33AE;SQUARE RAD OVER S;So;0;L; 0072 0061 0064 2215 0073;;;;N;SQUARED RAD OVER S;;;; 33AF;SQUARE RAD OVER S SQUARED;So;0;L; 0072 0061 0064 2215 0073 00B2;;;;N;SQUARED RAD OVER S SQUARED;;;; 33B0;SQUARE PS;So;0;L; 0070 0073;;;;N;SQUARED PS;;;; 33B1;SQUARE NS;So;0;L; 006E 0073;;;;N;SQUARED NS;;;; 33B2;SQUARE MU S;So;0;L; 03BC 0073;;;;N;SQUARED MU S;;;; 33B3;SQUARE MS;So;0;L; 006D 0073;;;;N;SQUARED MS;;;; 33B4;SQUARE PV;So;0;L; 0070 0056;;;;N;SQUARED PV;;;; 33B5;SQUARE NV;So;0;L; 006E 0056;;;;N;SQUARED NV;;;; 33B6;SQUARE MU V;So;0;L; 03BC 0056;;;;N;SQUARED MU V;;;; 33B7;SQUARE MV;So;0;L; 006D 0056;;;;N;SQUARED MV;;;; 33B8;SQUARE KV;So;0;L; 006B 0056;;;;N;SQUARED KV;;;; 33B9;SQUARE MV MEGA;So;0;L; 004D 0056;;;;N;SQUARED MV MEGA;;;; 33BA;SQUARE PW;So;0;L; 0070 0057;;;;N;SQUARED PW;;;; 33BB;SQUARE NW;So;0;L; 006E 0057;;;;N;SQUARED NW;;;; 33BC;SQUARE MU W;So;0;L; 03BC 0057;;;;N;SQUARED MU W;;;; 33BD;SQUARE MW;So;0;L; 006D 0057;;;;N;SQUARED MW;;;; 33BE;SQUARE KW;So;0;L; 006B 0057;;;;N;SQUARED KW;;;; 33BF;SQUARE MW MEGA;So;0;L; 004D 0057;;;;N;SQUARED MW MEGA;;;; 33C0;SQUARE K OHM;So;0;L; 006B 03A9;;;;N;SQUARED K OHM;;;; 33C1;SQUARE M OHM;So;0;L; 004D 03A9;;;;N;SQUARED M OHM;;;; 33C2;SQUARE AM;So;0;L; 0061 002E 006D 002E;;;;N;SQUARED AM;;;; 33C3;SQUARE BQ;So;0;L; 0042 0071;;;;N;SQUARED BQ;;;; 33C4;SQUARE CC;So;0;L; 0063 0063;;;;N;SQUARED CC;;;; 33C5;SQUARE CD;So;0;L; 0063 0064;;;;N;SQUARED CD;;;; 33C6;SQUARE C OVER KG;So;0;L; 0043 2215 006B 0067;;;;N;SQUARED C OVER KG;;;; 33C7;SQUARE CO;So;0;L; 0043 006F 002E;;;;N;SQUARED CO;;;; 33C8;SQUARE DB;So;0;L; 0064 0042;;;;N;SQUARED DB;;;; 33C9;SQUARE GY;So;0;L; 0047 0079;;;;N;SQUARED GY;;;; 33CA;SQUARE HA;So;0;L; 0068 0061;;;;N;SQUARED HA;;;; 33CB;SQUARE HP;So;0;L; 0048 0050;;;;N;SQUARED HP;;;; 33CC;SQUARE IN;So;0;L; 0069 006E;;;;N;SQUARED IN;;;; 33CD;SQUARE KK;So;0;L; 004B 004B;;;;N;SQUARED KK;;;; 33CE;SQUARE KM CAPITAL;So;0;L; 004B 004D;;;;N;SQUARED KM CAPITAL;;;; 33CF;SQUARE KT;So;0;L; 006B 0074;;;;N;SQUARED KT;;;; 33D0;SQUARE LM;So;0;L; 006C 006D;;;;N;SQUARED LM;;;; 33D1;SQUARE LN;So;0;L; 006C 006E;;;;N;SQUARED LN;;;; 33D2;SQUARE LOG;So;0;L; 006C 006F 0067;;;;N;SQUARED LOG;;;; 33D3;SQUARE LX;So;0;L; 006C 0078;;;;N;SQUARED LX;;;; 33D4;SQUARE MB SMALL;So;0;L; 006D 0062;;;;N;SQUARED MB SMALL;;;; 33D5;SQUARE MIL;So;0;L; 006D 0069 006C;;;;N;SQUARED MIL;;;; 33D6;SQUARE MOL;So;0;L; 006D 006F 006C;;;;N;SQUARED MOL;;;; 33D7;SQUARE PH;So;0;L; 0050 0048;;;;N;SQUARED PH;;;; 33D8;SQUARE PM;So;0;L; 0070 002E 006D 002E;;;;N;SQUARED PM;;;; 33D9;SQUARE PPM;So;0;L; 0050 0050 004D;;;;N;SQUARED PPM;;;; 33DA;SQUARE PR;So;0;L; 0050 0052;;;;N;SQUARED PR;;;; 33DB;SQUARE SR;So;0;L; 0073 0072;;;;N;SQUARED SR;;;; 33DC;SQUARE SV;So;0;L; 0053 0076;;;;N;SQUARED SV;;;; 33DD;SQUARE WB;So;0;L; 0057 0062;;;;N;SQUARED WB;;;; 33DE;SQUARE V OVER M;So;0;ON; 0056 2215 006D;;;;N;;;;; 33DF;SQUARE A OVER M;So;0;ON; 0041 2215 006D;;;;N;;;;; 33E0;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE;So;0;L; 0031 65E5;;;;N;;;;; 33E1;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO;So;0;L; 0032 65E5;;;;N;;;;; 33E2;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE;So;0;L; 0033 65E5;;;;N;;;;; 33E3;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR;So;0;L; 0034 65E5;;;;N;;;;; 33E4;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE;So;0;L; 0035 65E5;;;;N;;;;; 33E5;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX;So;0;L; 0036 65E5;;;;N;;;;; 33E6;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN;So;0;L; 0037 65E5;;;;N;;;;; 33E7;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT;So;0;L; 0038 65E5;;;;N;;;;; 33E8;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE;So;0;L; 0039 65E5;;;;N;;;;; 33E9;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN;So;0;L; 0031 0030 65E5;;;;N;;;;; 33EA;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN;So;0;L; 0031 0031 65E5;;;;N;;;;; 33EB;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE;So;0;L; 0031 0032 65E5;;;;N;;;;; 33EC;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN;So;0;L; 0031 0033 65E5;;;;N;;;;; 33ED;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN;So;0;L; 0031 0034 65E5;;;;N;;;;; 33EE;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN;So;0;L; 0031 0035 65E5;;;;N;;;;; 33EF;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN;So;0;L; 0031 0036 65E5;;;;N;;;;; 33F0;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN;So;0;L; 0031 0037 65E5;;;;N;;;;; 33F1;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN;So;0;L; 0031 0038 65E5;;;;N;;;;; 33F2;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN;So;0;L; 0031 0039 65E5;;;;N;;;;; 33F3;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY;So;0;L; 0032 0030 65E5;;;;N;;;;; 33F4;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE;So;0;L; 0032 0031 65E5;;;;N;;;;; 33F5;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO;So;0;L; 0032 0032 65E5;;;;N;;;;; 33F6;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE;So;0;L; 0032 0033 65E5;;;;N;;;;; 33F7;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR;So;0;L; 0032 0034 65E5;;;;N;;;;; 33F8;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE;So;0;L; 0032 0035 65E5;;;;N;;;;; 33F9;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX;So;0;L; 0032 0036 65E5;;;;N;;;;; 33FA;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN;So;0;L; 0032 0037 65E5;;;;N;;;;; 33FB;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT;So;0;L; 0032 0038 65E5;;;;N;;;;; 33FC;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE;So;0;L; 0032 0039 65E5;;;;N;;;;; 33FD;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY;So;0;L; 0033 0030 65E5;;;;N;;;;; 33FE;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE;So;0;L; 0033 0031 65E5;;;;N;;;;; 33FF;SQUARE GAL;So;0;ON; 0067 0061 006C;;;;N;;;;; 3400;;Lo;0;L;;;;;N;;;;; 4DB5;;Lo;0;L;;;;;N;;;;; 4DC0;HEXAGRAM FOR THE CREATIVE HEAVEN;So;0;ON;;;;;N;;;;; 4DC1;HEXAGRAM FOR THE RECEPTIVE EARTH;So;0;ON;;;;;N;;;;; 4DC2;HEXAGRAM FOR DIFFICULTY AT THE BEGINNING;So;0;ON;;;;;N;;;;; 4DC3;HEXAGRAM FOR YOUTHFUL FOLLY;So;0;ON;;;;;N;;;;; 4DC4;HEXAGRAM FOR WAITING;So;0;ON;;;;;N;;;;; 4DC5;HEXAGRAM FOR CONFLICT;So;0;ON;;;;;N;;;;; 4DC6;HEXAGRAM FOR THE ARMY;So;0;ON;;;;;N;;;;; 4DC7;HEXAGRAM FOR HOLDING TOGETHER;So;0;ON;;;;;N;;;;; 4DC8;HEXAGRAM FOR SMALL TAMING;So;0;ON;;;;;N;;;;; 4DC9;HEXAGRAM FOR TREADING;So;0;ON;;;;;N;;;;; 4DCA;HEXAGRAM FOR PEACE;So;0;ON;;;;;N;;;;; 4DCB;HEXAGRAM FOR STANDSTILL;So;0;ON;;;;;N;;;;; 4DCC;HEXAGRAM FOR FELLOWSHIP;So;0;ON;;;;;N;;;;; 4DCD;HEXAGRAM FOR GREAT POSSESSION;So;0;ON;;;;;N;;;;; 4DCE;HEXAGRAM FOR MODESTY;So;0;ON;;;;;N;;;;; 4DCF;HEXAGRAM FOR ENTHUSIASM;So;0;ON;;;;;N;;;;; 4DD0;HEXAGRAM FOR FOLLOWING;So;0;ON;;;;;N;;;;; 4DD1;HEXAGRAM FOR WORK ON THE DECAYED;So;0;ON;;;;;N;;;;; 4DD2;HEXAGRAM FOR APPROACH;So;0;ON;;;;;N;;;;; 4DD3;HEXAGRAM FOR CONTEMPLATION;So;0;ON;;;;;N;;;;; 4DD4;HEXAGRAM FOR BITING THROUGH;So;0;ON;;;;;N;;;;; 4DD5;HEXAGRAM FOR GRACE;So;0;ON;;;;;N;;;;; 4DD6;HEXAGRAM FOR SPLITTING APART;So;0;ON;;;;;N;;;;; 4DD7;HEXAGRAM FOR RETURN;So;0;ON;;;;;N;;;;; 4DD8;HEXAGRAM FOR INNOCENCE;So;0;ON;;;;;N;;;;; 4DD9;HEXAGRAM FOR GREAT TAMING;So;0;ON;;;;;N;;;;; 4DDA;HEXAGRAM FOR MOUTH CORNERS;So;0;ON;;;;;N;;;;; 4DDB;HEXAGRAM FOR GREAT PREPONDERANCE;So;0;ON;;;;;N;;;;; 4DDC;HEXAGRAM FOR THE ABYSMAL WATER;So;0;ON;;;;;N;;;;; 4DDD;HEXAGRAM FOR THE CLINGING FIRE;So;0;ON;;;;;N;;;;; 4DDE;HEXAGRAM FOR INFLUENCE;So;0;ON;;;;;N;;;;; 4DDF;HEXAGRAM FOR DURATION;So;0;ON;;;;;N;;;;; 4DE0;HEXAGRAM FOR RETREAT;So;0;ON;;;;;N;;;;; 4DE1;HEXAGRAM FOR GREAT POWER;So;0;ON;;;;;N;;;;; 4DE2;HEXAGRAM FOR PROGRESS;So;0;ON;;;;;N;;;;; 4DE3;HEXAGRAM FOR DARKENING OF THE LIGHT;So;0;ON;;;;;N;;;;; 4DE4;HEXAGRAM FOR THE FAMILY;So;0;ON;;;;;N;;;;; 4DE5;HEXAGRAM FOR OPPOSITION;So;0;ON;;;;;N;;;;; 4DE6;HEXAGRAM FOR OBSTRUCTION;So;0;ON;;;;;N;;;;; 4DE7;HEXAGRAM FOR DELIVERANCE;So;0;ON;;;;;N;;;;; 4DE8;HEXAGRAM FOR DECREASE;So;0;ON;;;;;N;;;;; 4DE9;HEXAGRAM FOR INCREASE;So;0;ON;;;;;N;;;;; 4DEA;HEXAGRAM FOR BREAKTHROUGH;So;0;ON;;;;;N;;;;; 4DEB;HEXAGRAM FOR COMING TO MEET;So;0;ON;;;;;N;;;;; 4DEC;HEXAGRAM FOR GATHERING TOGETHER;So;0;ON;;;;;N;;;;; 4DED;HEXAGRAM FOR PUSHING UPWARD;So;0;ON;;;;;N;;;;; 4DEE;HEXAGRAM FOR OPPRESSION;So;0;ON;;;;;N;;;;; 4DEF;HEXAGRAM FOR THE WELL;So;0;ON;;;;;N;;;;; 4DF0;HEXAGRAM FOR REVOLUTION;So;0;ON;;;;;N;;;;; 4DF1;HEXAGRAM FOR THE CAULDRON;So;0;ON;;;;;N;;;;; 4DF2;HEXAGRAM FOR THE AROUSING THUNDER;So;0;ON;;;;;N;;;;; 4DF3;HEXAGRAM FOR THE KEEPING STILL MOUNTAIN;So;0;ON;;;;;N;;;;; 4DF4;HEXAGRAM FOR DEVELOPMENT;So;0;ON;;;;;N;;;;; 4DF5;HEXAGRAM FOR THE MARRYING MAIDEN;So;0;ON;;;;;N;;;;; 4DF6;HEXAGRAM FOR ABUNDANCE;So;0;ON;;;;;N;;;;; 4DF7;HEXAGRAM FOR THE WANDERER;So;0;ON;;;;;N;;;;; 4DF8;HEXAGRAM FOR THE GENTLE WIND;So;0;ON;;;;;N;;;;; 4DF9;HEXAGRAM FOR THE JOYOUS LAKE;So;0;ON;;;;;N;;;;; 4DFA;HEXAGRAM FOR DISPERSION;So;0;ON;;;;;N;;;;; 4DFB;HEXAGRAM FOR LIMITATION;So;0;ON;;;;;N;;;;; 4DFC;HEXAGRAM FOR INNER TRUTH;So;0;ON;;;;;N;;;;; 4DFD;HEXAGRAM FOR SMALL PREPONDERANCE;So;0;ON;;;;;N;;;;; 4DFE;HEXAGRAM FOR AFTER COMPLETION;So;0;ON;;;;;N;;;;; 4DFF;HEXAGRAM FOR BEFORE COMPLETION;So;0;ON;;;;;N;;;;; 4E00;;Lo;0;L;;;;;N;;;;; 9FA5;;Lo;0;L;;;;;N;;;;; A000;YI SYLLABLE IT;Lo;0;L;;;;;N;;;;; A001;YI SYLLABLE IX;Lo;0;L;;;;;N;;;;; A002;YI SYLLABLE I;Lo;0;L;;;;;N;;;;; A003;YI SYLLABLE IP;Lo;0;L;;;;;N;;;;; A004;YI SYLLABLE IET;Lo;0;L;;;;;N;;;;; A005;YI SYLLABLE IEX;Lo;0;L;;;;;N;;;;; A006;YI SYLLABLE IE;Lo;0;L;;;;;N;;;;; A007;YI SYLLABLE IEP;Lo;0;L;;;;;N;;;;; A008;YI SYLLABLE AT;Lo;0;L;;;;;N;;;;; A009;YI SYLLABLE AX;Lo;0;L;;;;;N;;;;; A00A;YI SYLLABLE A;Lo;0;L;;;;;N;;;;; A00B;YI SYLLABLE AP;Lo;0;L;;;;;N;;;;; A00C;YI SYLLABLE UOX;Lo;0;L;;;;;N;;;;; A00D;YI SYLLABLE UO;Lo;0;L;;;;;N;;;;; A00E;YI SYLLABLE UOP;Lo;0;L;;;;;N;;;;; A00F;YI SYLLABLE OT;Lo;0;L;;;;;N;;;;; A010;YI SYLLABLE OX;Lo;0;L;;;;;N;;;;; A011;YI SYLLABLE O;Lo;0;L;;;;;N;;;;; A012;YI SYLLABLE OP;Lo;0;L;;;;;N;;;;; A013;YI SYLLABLE EX;Lo;0;L;;;;;N;;;;; A014;YI SYLLABLE E;Lo;0;L;;;;;N;;;;; A015;YI SYLLABLE WU;Lo;0;L;;;;;N;;;;; A016;YI SYLLABLE BIT;Lo;0;L;;;;;N;;;;; A017;YI SYLLABLE BIX;Lo;0;L;;;;;N;;;;; A018;YI SYLLABLE BI;Lo;0;L;;;;;N;;;;; A019;YI SYLLABLE BIP;Lo;0;L;;;;;N;;;;; A01A;YI SYLLABLE BIET;Lo;0;L;;;;;N;;;;; A01B;YI SYLLABLE BIEX;Lo;0;L;;;;;N;;;;; A01C;YI SYLLABLE BIE;Lo;0;L;;;;;N;;;;; A01D;YI SYLLABLE BIEP;Lo;0;L;;;;;N;;;;; A01E;YI SYLLABLE BAT;Lo;0;L;;;;;N;;;;; A01F;YI SYLLABLE BAX;Lo;0;L;;;;;N;;;;; A020;YI SYLLABLE BA;Lo;0;L;;;;;N;;;;; A021;YI SYLLABLE BAP;Lo;0;L;;;;;N;;;;; A022;YI SYLLABLE BUOX;Lo;0;L;;;;;N;;;;; A023;YI SYLLABLE BUO;Lo;0;L;;;;;N;;;;; A024;YI SYLLABLE BUOP;Lo;0;L;;;;;N;;;;; A025;YI SYLLABLE BOT;Lo;0;L;;;;;N;;;;; A026;YI SYLLABLE BOX;Lo;0;L;;;;;N;;;;; A027;YI SYLLABLE BO;Lo;0;L;;;;;N;;;;; A028;YI SYLLABLE BOP;Lo;0;L;;;;;N;;;;; A029;YI SYLLABLE BEX;Lo;0;L;;;;;N;;;;; A02A;YI SYLLABLE BE;Lo;0;L;;;;;N;;;;; A02B;YI SYLLABLE BEP;Lo;0;L;;;;;N;;;;; A02C;YI SYLLABLE BUT;Lo;0;L;;;;;N;;;;; A02D;YI SYLLABLE BUX;Lo;0;L;;;;;N;;;;; A02E;YI SYLLABLE BU;Lo;0;L;;;;;N;;;;; A02F;YI SYLLABLE BUP;Lo;0;L;;;;;N;;;;; A030;YI SYLLABLE BURX;Lo;0;L;;;;;N;;;;; A031;YI SYLLABLE BUR;Lo;0;L;;;;;N;;;;; A032;YI SYLLABLE BYT;Lo;0;L;;;;;N;;;;; A033;YI SYLLABLE BYX;Lo;0;L;;;;;N;;;;; A034;YI SYLLABLE BY;Lo;0;L;;;;;N;;;;; A035;YI SYLLABLE BYP;Lo;0;L;;;;;N;;;;; A036;YI SYLLABLE BYRX;Lo;0;L;;;;;N;;;;; A037;YI SYLLABLE BYR;Lo;0;L;;;;;N;;;;; A038;YI SYLLABLE PIT;Lo;0;L;;;;;N;;;;; A039;YI SYLLABLE PIX;Lo;0;L;;;;;N;;;;; A03A;YI SYLLABLE PI;Lo;0;L;;;;;N;;;;; A03B;YI SYLLABLE PIP;Lo;0;L;;;;;N;;;;; A03C;YI SYLLABLE PIEX;Lo;0;L;;;;;N;;;;; A03D;YI SYLLABLE PIE;Lo;0;L;;;;;N;;;;; A03E;YI SYLLABLE PIEP;Lo;0;L;;;;;N;;;;; A03F;YI SYLLABLE PAT;Lo;0;L;;;;;N;;;;; A040;YI SYLLABLE PAX;Lo;0;L;;;;;N;;;;; A041;YI SYLLABLE PA;Lo;0;L;;;;;N;;;;; A042;YI SYLLABLE PAP;Lo;0;L;;;;;N;;;;; A043;YI SYLLABLE PUOX;Lo;0;L;;;;;N;;;;; A044;YI SYLLABLE PUO;Lo;0;L;;;;;N;;;;; A045;YI SYLLABLE PUOP;Lo;0;L;;;;;N;;;;; A046;YI SYLLABLE POT;Lo;0;L;;;;;N;;;;; A047;YI SYLLABLE POX;Lo;0;L;;;;;N;;;;; A048;YI SYLLABLE PO;Lo;0;L;;;;;N;;;;; A049;YI SYLLABLE POP;Lo;0;L;;;;;N;;;;; A04A;YI SYLLABLE PUT;Lo;0;L;;;;;N;;;;; A04B;YI SYLLABLE PUX;Lo;0;L;;;;;N;;;;; A04C;YI SYLLABLE PU;Lo;0;L;;;;;N;;;;; A04D;YI SYLLABLE PUP;Lo;0;L;;;;;N;;;;; A04E;YI SYLLABLE PURX;Lo;0;L;;;;;N;;;;; A04F;YI SYLLABLE PUR;Lo;0;L;;;;;N;;;;; A050;YI SYLLABLE PYT;Lo;0;L;;;;;N;;;;; A051;YI SYLLABLE PYX;Lo;0;L;;;;;N;;;;; A052;YI SYLLABLE PY;Lo;0;L;;;;;N;;;;; A053;YI SYLLABLE PYP;Lo;0;L;;;;;N;;;;; A054;YI SYLLABLE PYRX;Lo;0;L;;;;;N;;;;; A055;YI SYLLABLE PYR;Lo;0;L;;;;;N;;;;; A056;YI SYLLABLE BBIT;Lo;0;L;;;;;N;;;;; A057;YI SYLLABLE BBIX;Lo;0;L;;;;;N;;;;; A058;YI SYLLABLE BBI;Lo;0;L;;;;;N;;;;; A059;YI SYLLABLE BBIP;Lo;0;L;;;;;N;;;;; A05A;YI SYLLABLE BBIET;Lo;0;L;;;;;N;;;;; A05B;YI SYLLABLE BBIEX;Lo;0;L;;;;;N;;;;; A05C;YI SYLLABLE BBIE;Lo;0;L;;;;;N;;;;; A05D;YI SYLLABLE BBIEP;Lo;0;L;;;;;N;;;;; A05E;YI SYLLABLE BBAT;Lo;0;L;;;;;N;;;;; A05F;YI SYLLABLE BBAX;Lo;0;L;;;;;N;;;;; A060;YI SYLLABLE BBA;Lo;0;L;;;;;N;;;;; A061;YI SYLLABLE BBAP;Lo;0;L;;;;;N;;;;; A062;YI SYLLABLE BBUOX;Lo;0;L;;;;;N;;;;; A063;YI SYLLABLE BBUO;Lo;0;L;;;;;N;;;;; A064;YI SYLLABLE BBUOP;Lo;0;L;;;;;N;;;;; A065;YI SYLLABLE BBOT;Lo;0;L;;;;;N;;;;; A066;YI SYLLABLE BBOX;Lo;0;L;;;;;N;;;;; A067;YI SYLLABLE BBO;Lo;0;L;;;;;N;;;;; A068;YI SYLLABLE BBOP;Lo;0;L;;;;;N;;;;; A069;YI SYLLABLE BBEX;Lo;0;L;;;;;N;;;;; A06A;YI SYLLABLE BBE;Lo;0;L;;;;;N;;;;; A06B;YI SYLLABLE BBEP;Lo;0;L;;;;;N;;;;; A06C;YI SYLLABLE BBUT;Lo;0;L;;;;;N;;;;; A06D;YI SYLLABLE BBUX;Lo;0;L;;;;;N;;;;; A06E;YI SYLLABLE BBU;Lo;0;L;;;;;N;;;;; A06F;YI SYLLABLE BBUP;Lo;0;L;;;;;N;;;;; A070;YI SYLLABLE BBURX;Lo;0;L;;;;;N;;;;; A071;YI SYLLABLE BBUR;Lo;0;L;;;;;N;;;;; A072;YI SYLLABLE BBYT;Lo;0;L;;;;;N;;;;; A073;YI SYLLABLE BBYX;Lo;0;L;;;;;N;;;;; A074;YI SYLLABLE BBY;Lo;0;L;;;;;N;;;;; A075;YI SYLLABLE BBYP;Lo;0;L;;;;;N;;;;; A076;YI SYLLABLE NBIT;Lo;0;L;;;;;N;;;;; A077;YI SYLLABLE NBIX;Lo;0;L;;;;;N;;;;; A078;YI SYLLABLE NBI;Lo;0;L;;;;;N;;;;; A079;YI SYLLABLE NBIP;Lo;0;L;;;;;N;;;;; A07A;YI SYLLABLE NBIEX;Lo;0;L;;;;;N;;;;; A07B;YI SYLLABLE NBIE;Lo;0;L;;;;;N;;;;; A07C;YI SYLLABLE NBIEP;Lo;0;L;;;;;N;;;;; A07D;YI SYLLABLE NBAT;Lo;0;L;;;;;N;;;;; A07E;YI SYLLABLE NBAX;Lo;0;L;;;;;N;;;;; A07F;YI SYLLABLE NBA;Lo;0;L;;;;;N;;;;; A080;YI SYLLABLE NBAP;Lo;0;L;;;;;N;;;;; A081;YI SYLLABLE NBOT;Lo;0;L;;;;;N;;;;; A082;YI SYLLABLE NBOX;Lo;0;L;;;;;N;;;;; A083;YI SYLLABLE NBO;Lo;0;L;;;;;N;;;;; A084;YI SYLLABLE NBOP;Lo;0;L;;;;;N;;;;; A085;YI SYLLABLE NBUT;Lo;0;L;;;;;N;;;;; A086;YI SYLLABLE NBUX;Lo;0;L;;;;;N;;;;; A087;YI SYLLABLE NBU;Lo;0;L;;;;;N;;;;; A088;YI SYLLABLE NBUP;Lo;0;L;;;;;N;;;;; A089;YI SYLLABLE NBURX;Lo;0;L;;;;;N;;;;; A08A;YI SYLLABLE NBUR;Lo;0;L;;;;;N;;;;; A08B;YI SYLLABLE NBYT;Lo;0;L;;;;;N;;;;; A08C;YI SYLLABLE NBYX;Lo;0;L;;;;;N;;;;; A08D;YI SYLLABLE NBY;Lo;0;L;;;;;N;;;;; A08E;YI SYLLABLE NBYP;Lo;0;L;;;;;N;;;;; A08F;YI SYLLABLE NBYRX;Lo;0;L;;;;;N;;;;; A090;YI SYLLABLE NBYR;Lo;0;L;;;;;N;;;;; A091;YI SYLLABLE HMIT;Lo;0;L;;;;;N;;;;; A092;YI SYLLABLE HMIX;Lo;0;L;;;;;N;;;;; A093;YI SYLLABLE HMI;Lo;0;L;;;;;N;;;;; A094;YI SYLLABLE HMIP;Lo;0;L;;;;;N;;;;; A095;YI SYLLABLE HMIEX;Lo;0;L;;;;;N;;;;; A096;YI SYLLABLE HMIE;Lo;0;L;;;;;N;;;;; A097;YI SYLLABLE HMIEP;Lo;0;L;;;;;N;;;;; A098;YI SYLLABLE HMAT;Lo;0;L;;;;;N;;;;; A099;YI SYLLABLE HMAX;Lo;0;L;;;;;N;;;;; A09A;YI SYLLABLE HMA;Lo;0;L;;;;;N;;;;; A09B;YI SYLLABLE HMAP;Lo;0;L;;;;;N;;;;; A09C;YI SYLLABLE HMUOX;Lo;0;L;;;;;N;;;;; A09D;YI SYLLABLE HMUO;Lo;0;L;;;;;N;;;;; A09E;YI SYLLABLE HMUOP;Lo;0;L;;;;;N;;;;; A09F;YI SYLLABLE HMOT;Lo;0;L;;;;;N;;;;; A0A0;YI SYLLABLE HMOX;Lo;0;L;;;;;N;;;;; A0A1;YI SYLLABLE HMO;Lo;0;L;;;;;N;;;;; A0A2;YI SYLLABLE HMOP;Lo;0;L;;;;;N;;;;; A0A3;YI SYLLABLE HMUT;Lo;0;L;;;;;N;;;;; A0A4;YI SYLLABLE HMUX;Lo;0;L;;;;;N;;;;; A0A5;YI SYLLABLE HMU;Lo;0;L;;;;;N;;;;; A0A6;YI SYLLABLE HMUP;Lo;0;L;;;;;N;;;;; A0A7;YI SYLLABLE HMURX;Lo;0;L;;;;;N;;;;; A0A8;YI SYLLABLE HMUR;Lo;0;L;;;;;N;;;;; A0A9;YI SYLLABLE HMYX;Lo;0;L;;;;;N;;;;; A0AA;YI SYLLABLE HMY;Lo;0;L;;;;;N;;;;; A0AB;YI SYLLABLE HMYP;Lo;0;L;;;;;N;;;;; A0AC;YI SYLLABLE HMYRX;Lo;0;L;;;;;N;;;;; A0AD;YI SYLLABLE HMYR;Lo;0;L;;;;;N;;;;; A0AE;YI SYLLABLE MIT;Lo;0;L;;;;;N;;;;; A0AF;YI SYLLABLE MIX;Lo;0;L;;;;;N;;;;; A0B0;YI SYLLABLE MI;Lo;0;L;;;;;N;;;;; A0B1;YI SYLLABLE MIP;Lo;0;L;;;;;N;;;;; A0B2;YI SYLLABLE MIEX;Lo;0;L;;;;;N;;;;; A0B3;YI SYLLABLE MIE;Lo;0;L;;;;;N;;;;; A0B4;YI SYLLABLE MIEP;Lo;0;L;;;;;N;;;;; A0B5;YI SYLLABLE MAT;Lo;0;L;;;;;N;;;;; A0B6;YI SYLLABLE MAX;Lo;0;L;;;;;N;;;;; A0B7;YI SYLLABLE MA;Lo;0;L;;;;;N;;;;; A0B8;YI SYLLABLE MAP;Lo;0;L;;;;;N;;;;; A0B9;YI SYLLABLE MUOT;Lo;0;L;;;;;N;;;;; A0BA;YI SYLLABLE MUOX;Lo;0;L;;;;;N;;;;; A0BB;YI SYLLABLE MUO;Lo;0;L;;;;;N;;;;; A0BC;YI SYLLABLE MUOP;Lo;0;L;;;;;N;;;;; A0BD;YI SYLLABLE MOT;Lo;0;L;;;;;N;;;;; A0BE;YI SYLLABLE MOX;Lo;0;L;;;;;N;;;;; A0BF;YI SYLLABLE MO;Lo;0;L;;;;;N;;;;; A0C0;YI SYLLABLE MOP;Lo;0;L;;;;;N;;;;; A0C1;YI SYLLABLE MEX;Lo;0;L;;;;;N;;;;; A0C2;YI SYLLABLE ME;Lo;0;L;;;;;N;;;;; A0C3;YI SYLLABLE MUT;Lo;0;L;;;;;N;;;;; A0C4;YI SYLLABLE MUX;Lo;0;L;;;;;N;;;;; A0C5;YI SYLLABLE MU;Lo;0;L;;;;;N;;;;; A0C6;YI SYLLABLE MUP;Lo;0;L;;;;;N;;;;; A0C7;YI SYLLABLE MURX;Lo;0;L;;;;;N;;;;; A0C8;YI SYLLABLE MUR;Lo;0;L;;;;;N;;;;; A0C9;YI SYLLABLE MYT;Lo;0;L;;;;;N;;;;; A0CA;YI SYLLABLE MYX;Lo;0;L;;;;;N;;;;; A0CB;YI SYLLABLE MY;Lo;0;L;;;;;N;;;;; A0CC;YI SYLLABLE MYP;Lo;0;L;;;;;N;;;;; A0CD;YI SYLLABLE FIT;Lo;0;L;;;;;N;;;;; A0CE;YI SYLLABLE FIX;Lo;0;L;;;;;N;;;;; A0CF;YI SYLLABLE FI;Lo;0;L;;;;;N;;;;; A0D0;YI SYLLABLE FIP;Lo;0;L;;;;;N;;;;; A0D1;YI SYLLABLE FAT;Lo;0;L;;;;;N;;;;; A0D2;YI SYLLABLE FAX;Lo;0;L;;;;;N;;;;; A0D3;YI SYLLABLE FA;Lo;0;L;;;;;N;;;;; A0D4;YI SYLLABLE FAP;Lo;0;L;;;;;N;;;;; A0D5;YI SYLLABLE FOX;Lo;0;L;;;;;N;;;;; A0D6;YI SYLLABLE FO;Lo;0;L;;;;;N;;;;; A0D7;YI SYLLABLE FOP;Lo;0;L;;;;;N;;;;; A0D8;YI SYLLABLE FUT;Lo;0;L;;;;;N;;;;; A0D9;YI SYLLABLE FUX;Lo;0;L;;;;;N;;;;; A0DA;YI SYLLABLE FU;Lo;0;L;;;;;N;;;;; A0DB;YI SYLLABLE FUP;Lo;0;L;;;;;N;;;;; A0DC;YI SYLLABLE FURX;Lo;0;L;;;;;N;;;;; A0DD;YI SYLLABLE FUR;Lo;0;L;;;;;N;;;;; A0DE;YI SYLLABLE FYT;Lo;0;L;;;;;N;;;;; A0DF;YI SYLLABLE FYX;Lo;0;L;;;;;N;;;;; A0E0;YI SYLLABLE FY;Lo;0;L;;;;;N;;;;; A0E1;YI SYLLABLE FYP;Lo;0;L;;;;;N;;;;; A0E2;YI SYLLABLE VIT;Lo;0;L;;;;;N;;;;; A0E3;YI SYLLABLE VIX;Lo;0;L;;;;;N;;;;; A0E4;YI SYLLABLE VI;Lo;0;L;;;;;N;;;;; A0E5;YI SYLLABLE VIP;Lo;0;L;;;;;N;;;;; A0E6;YI SYLLABLE VIET;Lo;0;L;;;;;N;;;;; A0E7;YI SYLLABLE VIEX;Lo;0;L;;;;;N;;;;; A0E8;YI SYLLABLE VIE;Lo;0;L;;;;;N;;;;; A0E9;YI SYLLABLE VIEP;Lo;0;L;;;;;N;;;;; A0EA;YI SYLLABLE VAT;Lo;0;L;;;;;N;;;;; A0EB;YI SYLLABLE VAX;Lo;0;L;;;;;N;;;;; A0EC;YI SYLLABLE VA;Lo;0;L;;;;;N;;;;; A0ED;YI SYLLABLE VAP;Lo;0;L;;;;;N;;;;; A0EE;YI SYLLABLE VOT;Lo;0;L;;;;;N;;;;; A0EF;YI SYLLABLE VOX;Lo;0;L;;;;;N;;;;; A0F0;YI SYLLABLE VO;Lo;0;L;;;;;N;;;;; A0F1;YI SYLLABLE VOP;Lo;0;L;;;;;N;;;;; A0F2;YI SYLLABLE VEX;Lo;0;L;;;;;N;;;;; A0F3;YI SYLLABLE VEP;Lo;0;L;;;;;N;;;;; A0F4;YI SYLLABLE VUT;Lo;0;L;;;;;N;;;;; A0F5;YI SYLLABLE VUX;Lo;0;L;;;;;N;;;;; A0F6;YI SYLLABLE VU;Lo;0;L;;;;;N;;;;; A0F7;YI SYLLABLE VUP;Lo;0;L;;;;;N;;;;; A0F8;YI SYLLABLE VURX;Lo;0;L;;;;;N;;;;; A0F9;YI SYLLABLE VUR;Lo;0;L;;;;;N;;;;; A0FA;YI SYLLABLE VYT;Lo;0;L;;;;;N;;;;; A0FB;YI SYLLABLE VYX;Lo;0;L;;;;;N;;;;; A0FC;YI SYLLABLE VY;Lo;0;L;;;;;N;;;;; A0FD;YI SYLLABLE VYP;Lo;0;L;;;;;N;;;;; A0FE;YI SYLLABLE VYRX;Lo;0;L;;;;;N;;;;; A0FF;YI SYLLABLE VYR;Lo;0;L;;;;;N;;;;; A100;YI SYLLABLE DIT;Lo;0;L;;;;;N;;;;; A101;YI SYLLABLE DIX;Lo;0;L;;;;;N;;;;; A102;YI SYLLABLE DI;Lo;0;L;;;;;N;;;;; A103;YI SYLLABLE DIP;Lo;0;L;;;;;N;;;;; A104;YI SYLLABLE DIEX;Lo;0;L;;;;;N;;;;; A105;YI SYLLABLE DIE;Lo;0;L;;;;;N;;;;; A106;YI SYLLABLE DIEP;Lo;0;L;;;;;N;;;;; A107;YI SYLLABLE DAT;Lo;0;L;;;;;N;;;;; A108;YI SYLLABLE DAX;Lo;0;L;;;;;N;;;;; A109;YI SYLLABLE DA;Lo;0;L;;;;;N;;;;; A10A;YI SYLLABLE DAP;Lo;0;L;;;;;N;;;;; A10B;YI SYLLABLE DUOX;Lo;0;L;;;;;N;;;;; A10C;YI SYLLABLE DUO;Lo;0;L;;;;;N;;;;; A10D;YI SYLLABLE DOT;Lo;0;L;;;;;N;;;;; A10E;YI SYLLABLE DOX;Lo;0;L;;;;;N;;;;; A10F;YI SYLLABLE DO;Lo;0;L;;;;;N;;;;; A110;YI SYLLABLE DOP;Lo;0;L;;;;;N;;;;; A111;YI SYLLABLE DEX;Lo;0;L;;;;;N;;;;; A112;YI SYLLABLE DE;Lo;0;L;;;;;N;;;;; A113;YI SYLLABLE DEP;Lo;0;L;;;;;N;;;;; A114;YI SYLLABLE DUT;Lo;0;L;;;;;N;;;;; A115;YI SYLLABLE DUX;Lo;0;L;;;;;N;;;;; A116;YI SYLLABLE DU;Lo;0;L;;;;;N;;;;; A117;YI SYLLABLE DUP;Lo;0;L;;;;;N;;;;; A118;YI SYLLABLE DURX;Lo;0;L;;;;;N;;;;; A119;YI SYLLABLE DUR;Lo;0;L;;;;;N;;;;; A11A;YI SYLLABLE TIT;Lo;0;L;;;;;N;;;;; A11B;YI SYLLABLE TIX;Lo;0;L;;;;;N;;;;; A11C;YI SYLLABLE TI;Lo;0;L;;;;;N;;;;; A11D;YI SYLLABLE TIP;Lo;0;L;;;;;N;;;;; A11E;YI SYLLABLE TIEX;Lo;0;L;;;;;N;;;;; A11F;YI SYLLABLE TIE;Lo;0;L;;;;;N;;;;; A120;YI SYLLABLE TIEP;Lo;0;L;;;;;N;;;;; A121;YI SYLLABLE TAT;Lo;0;L;;;;;N;;;;; A122;YI SYLLABLE TAX;Lo;0;L;;;;;N;;;;; A123;YI SYLLABLE TA;Lo;0;L;;;;;N;;;;; A124;YI SYLLABLE TAP;Lo;0;L;;;;;N;;;;; A125;YI SYLLABLE TUOT;Lo;0;L;;;;;N;;;;; A126;YI SYLLABLE TUOX;Lo;0;L;;;;;N;;;;; A127;YI SYLLABLE TUO;Lo;0;L;;;;;N;;;;; A128;YI SYLLABLE TUOP;Lo;0;L;;;;;N;;;;; A129;YI SYLLABLE TOT;Lo;0;L;;;;;N;;;;; A12A;YI SYLLABLE TOX;Lo;0;L;;;;;N;;;;; A12B;YI SYLLABLE TO;Lo;0;L;;;;;N;;;;; A12C;YI SYLLABLE TOP;Lo;0;L;;;;;N;;;;; A12D;YI SYLLABLE TEX;Lo;0;L;;;;;N;;;;; A12E;YI SYLLABLE TE;Lo;0;L;;;;;N;;;;; A12F;YI SYLLABLE TEP;Lo;0;L;;;;;N;;;;; A130;YI SYLLABLE TUT;Lo;0;L;;;;;N;;;;; A131;YI SYLLABLE TUX;Lo;0;L;;;;;N;;;;; A132;YI SYLLABLE TU;Lo;0;L;;;;;N;;;;; A133;YI SYLLABLE TUP;Lo;0;L;;;;;N;;;;; A134;YI SYLLABLE TURX;Lo;0;L;;;;;N;;;;; A135;YI SYLLABLE TUR;Lo;0;L;;;;;N;;;;; A136;YI SYLLABLE DDIT;Lo;0;L;;;;;N;;;;; A137;YI SYLLABLE DDIX;Lo;0;L;;;;;N;;;;; A138;YI SYLLABLE DDI;Lo;0;L;;;;;N;;;;; A139;YI SYLLABLE DDIP;Lo;0;L;;;;;N;;;;; A13A;YI SYLLABLE DDIEX;Lo;0;L;;;;;N;;;;; A13B;YI SYLLABLE DDIE;Lo;0;L;;;;;N;;;;; A13C;YI SYLLABLE DDIEP;Lo;0;L;;;;;N;;;;; A13D;YI SYLLABLE DDAT;Lo;0;L;;;;;N;;;;; A13E;YI SYLLABLE DDAX;Lo;0;L;;;;;N;;;;; A13F;YI SYLLABLE DDA;Lo;0;L;;;;;N;;;;; A140;YI SYLLABLE DDAP;Lo;0;L;;;;;N;;;;; A141;YI SYLLABLE DDUOX;Lo;0;L;;;;;N;;;;; A142;YI SYLLABLE DDUO;Lo;0;L;;;;;N;;;;; A143;YI SYLLABLE DDUOP;Lo;0;L;;;;;N;;;;; A144;YI SYLLABLE DDOT;Lo;0;L;;;;;N;;;;; A145;YI SYLLABLE DDOX;Lo;0;L;;;;;N;;;;; A146;YI SYLLABLE DDO;Lo;0;L;;;;;N;;;;; A147;YI SYLLABLE DDOP;Lo;0;L;;;;;N;;;;; A148;YI SYLLABLE DDEX;Lo;0;L;;;;;N;;;;; A149;YI SYLLABLE DDE;Lo;0;L;;;;;N;;;;; A14A;YI SYLLABLE DDEP;Lo;0;L;;;;;N;;;;; A14B;YI SYLLABLE DDUT;Lo;0;L;;;;;N;;;;; A14C;YI SYLLABLE DDUX;Lo;0;L;;;;;N;;;;; A14D;YI SYLLABLE DDU;Lo;0;L;;;;;N;;;;; A14E;YI SYLLABLE DDUP;Lo;0;L;;;;;N;;;;; A14F;YI SYLLABLE DDURX;Lo;0;L;;;;;N;;;;; A150;YI SYLLABLE DDUR;Lo;0;L;;;;;N;;;;; A151;YI SYLLABLE NDIT;Lo;0;L;;;;;N;;;;; A152;YI SYLLABLE NDIX;Lo;0;L;;;;;N;;;;; A153;YI SYLLABLE NDI;Lo;0;L;;;;;N;;;;; A154;YI SYLLABLE NDIP;Lo;0;L;;;;;N;;;;; A155;YI SYLLABLE NDIEX;Lo;0;L;;;;;N;;;;; A156;YI SYLLABLE NDIE;Lo;0;L;;;;;N;;;;; A157;YI SYLLABLE NDAT;Lo;0;L;;;;;N;;;;; A158;YI SYLLABLE NDAX;Lo;0;L;;;;;N;;;;; A159;YI SYLLABLE NDA;Lo;0;L;;;;;N;;;;; A15A;YI SYLLABLE NDAP;Lo;0;L;;;;;N;;;;; A15B;YI SYLLABLE NDOT;Lo;0;L;;;;;N;;;;; A15C;YI SYLLABLE NDOX;Lo;0;L;;;;;N;;;;; A15D;YI SYLLABLE NDO;Lo;0;L;;;;;N;;;;; A15E;YI SYLLABLE NDOP;Lo;0;L;;;;;N;;;;; A15F;YI SYLLABLE NDEX;Lo;0;L;;;;;N;;;;; A160;YI SYLLABLE NDE;Lo;0;L;;;;;N;;;;; A161;YI SYLLABLE NDEP;Lo;0;L;;;;;N;;;;; A162;YI SYLLABLE NDUT;Lo;0;L;;;;;N;;;;; A163;YI SYLLABLE NDUX;Lo;0;L;;;;;N;;;;; A164;YI SYLLABLE NDU;Lo;0;L;;;;;N;;;;; A165;YI SYLLABLE NDUP;Lo;0;L;;;;;N;;;;; A166;YI SYLLABLE NDURX;Lo;0;L;;;;;N;;;;; A167;YI SYLLABLE NDUR;Lo;0;L;;;;;N;;;;; A168;YI SYLLABLE HNIT;Lo;0;L;;;;;N;;;;; A169;YI SYLLABLE HNIX;Lo;0;L;;;;;N;;;;; A16A;YI SYLLABLE HNI;Lo;0;L;;;;;N;;;;; A16B;YI SYLLABLE HNIP;Lo;0;L;;;;;N;;;;; A16C;YI SYLLABLE HNIET;Lo;0;L;;;;;N;;;;; A16D;YI SYLLABLE HNIEX;Lo;0;L;;;;;N;;;;; A16E;YI SYLLABLE HNIE;Lo;0;L;;;;;N;;;;; A16F;YI SYLLABLE HNIEP;Lo;0;L;;;;;N;;;;; A170;YI SYLLABLE HNAT;Lo;0;L;;;;;N;;;;; A171;YI SYLLABLE HNAX;Lo;0;L;;;;;N;;;;; A172;YI SYLLABLE HNA;Lo;0;L;;;;;N;;;;; A173;YI SYLLABLE HNAP;Lo;0;L;;;;;N;;;;; A174;YI SYLLABLE HNUOX;Lo;0;L;;;;;N;;;;; A175;YI SYLLABLE HNUO;Lo;0;L;;;;;N;;;;; A176;YI SYLLABLE HNOT;Lo;0;L;;;;;N;;;;; A177;YI SYLLABLE HNOX;Lo;0;L;;;;;N;;;;; A178;YI SYLLABLE HNOP;Lo;0;L;;;;;N;;;;; A179;YI SYLLABLE HNEX;Lo;0;L;;;;;N;;;;; A17A;YI SYLLABLE HNE;Lo;0;L;;;;;N;;;;; A17B;YI SYLLABLE HNEP;Lo;0;L;;;;;N;;;;; A17C;YI SYLLABLE HNUT;Lo;0;L;;;;;N;;;;; A17D;YI SYLLABLE NIT;Lo;0;L;;;;;N;;;;; A17E;YI SYLLABLE NIX;Lo;0;L;;;;;N;;;;; A17F;YI SYLLABLE NI;Lo;0;L;;;;;N;;;;; A180;YI SYLLABLE NIP;Lo;0;L;;;;;N;;;;; A181;YI SYLLABLE NIEX;Lo;0;L;;;;;N;;;;; A182;YI SYLLABLE NIE;Lo;0;L;;;;;N;;;;; A183;YI SYLLABLE NIEP;Lo;0;L;;;;;N;;;;; A184;YI SYLLABLE NAX;Lo;0;L;;;;;N;;;;; A185;YI SYLLABLE NA;Lo;0;L;;;;;N;;;;; A186;YI SYLLABLE NAP;Lo;0;L;;;;;N;;;;; A187;YI SYLLABLE NUOX;Lo;0;L;;;;;N;;;;; A188;YI SYLLABLE NUO;Lo;0;L;;;;;N;;;;; A189;YI SYLLABLE NUOP;Lo;0;L;;;;;N;;;;; A18A;YI SYLLABLE NOT;Lo;0;L;;;;;N;;;;; A18B;YI SYLLABLE NOX;Lo;0;L;;;;;N;;;;; A18C;YI SYLLABLE NO;Lo;0;L;;;;;N;;;;; A18D;YI SYLLABLE NOP;Lo;0;L;;;;;N;;;;; A18E;YI SYLLABLE NEX;Lo;0;L;;;;;N;;;;; A18F;YI SYLLABLE NE;Lo;0;L;;;;;N;;;;; A190;YI SYLLABLE NEP;Lo;0;L;;;;;N;;;;; A191;YI SYLLABLE NUT;Lo;0;L;;;;;N;;;;; A192;YI SYLLABLE NUX;Lo;0;L;;;;;N;;;;; A193;YI SYLLABLE NU;Lo;0;L;;;;;N;;;;; A194;YI SYLLABLE NUP;Lo;0;L;;;;;N;;;;; A195;YI SYLLABLE NURX;Lo;0;L;;;;;N;;;;; A196;YI SYLLABLE NUR;Lo;0;L;;;;;N;;;;; A197;YI SYLLABLE HLIT;Lo;0;L;;;;;N;;;;; A198;YI SYLLABLE HLIX;Lo;0;L;;;;;N;;;;; A199;YI SYLLABLE HLI;Lo;0;L;;;;;N;;;;; A19A;YI SYLLABLE HLIP;Lo;0;L;;;;;N;;;;; A19B;YI SYLLABLE HLIEX;Lo;0;L;;;;;N;;;;; A19C;YI SYLLABLE HLIE;Lo;0;L;;;;;N;;;;; A19D;YI SYLLABLE HLIEP;Lo;0;L;;;;;N;;;;; A19E;YI SYLLABLE HLAT;Lo;0;L;;;;;N;;;;; A19F;YI SYLLABLE HLAX;Lo;0;L;;;;;N;;;;; A1A0;YI SYLLABLE HLA;Lo;0;L;;;;;N;;;;; A1A1;YI SYLLABLE HLAP;Lo;0;L;;;;;N;;;;; A1A2;YI SYLLABLE HLUOX;Lo;0;L;;;;;N;;;;; A1A3;YI SYLLABLE HLUO;Lo;0;L;;;;;N;;;;; A1A4;YI SYLLABLE HLUOP;Lo;0;L;;;;;N;;;;; A1A5;YI SYLLABLE HLOX;Lo;0;L;;;;;N;;;;; A1A6;YI SYLLABLE HLO;Lo;0;L;;;;;N;;;;; A1A7;YI SYLLABLE HLOP;Lo;0;L;;;;;N;;;;; A1A8;YI SYLLABLE HLEX;Lo;0;L;;;;;N;;;;; A1A9;YI SYLLABLE HLE;Lo;0;L;;;;;N;;;;; A1AA;YI SYLLABLE HLEP;Lo;0;L;;;;;N;;;;; A1AB;YI SYLLABLE HLUT;Lo;0;L;;;;;N;;;;; A1AC;YI SYLLABLE HLUX;Lo;0;L;;;;;N;;;;; A1AD;YI SYLLABLE HLU;Lo;0;L;;;;;N;;;;; A1AE;YI SYLLABLE HLUP;Lo;0;L;;;;;N;;;;; A1AF;YI SYLLABLE HLURX;Lo;0;L;;;;;N;;;;; A1B0;YI SYLLABLE HLUR;Lo;0;L;;;;;N;;;;; A1B1;YI SYLLABLE HLYT;Lo;0;L;;;;;N;;;;; A1B2;YI SYLLABLE HLYX;Lo;0;L;;;;;N;;;;; A1B3;YI SYLLABLE HLY;Lo;0;L;;;;;N;;;;; A1B4;YI SYLLABLE HLYP;Lo;0;L;;;;;N;;;;; A1B5;YI SYLLABLE HLYRX;Lo;0;L;;;;;N;;;;; A1B6;YI SYLLABLE HLYR;Lo;0;L;;;;;N;;;;; A1B7;YI SYLLABLE LIT;Lo;0;L;;;;;N;;;;; A1B8;YI SYLLABLE LIX;Lo;0;L;;;;;N;;;;; A1B9;YI SYLLABLE LI;Lo;0;L;;;;;N;;;;; A1BA;YI SYLLABLE LIP;Lo;0;L;;;;;N;;;;; A1BB;YI SYLLABLE LIET;Lo;0;L;;;;;N;;;;; A1BC;YI SYLLABLE LIEX;Lo;0;L;;;;;N;;;;; A1BD;YI SYLLABLE LIE;Lo;0;L;;;;;N;;;;; A1BE;YI SYLLABLE LIEP;Lo;0;L;;;;;N;;;;; A1BF;YI SYLLABLE LAT;Lo;0;L;;;;;N;;;;; A1C0;YI SYLLABLE LAX;Lo;0;L;;;;;N;;;;; A1C1;YI SYLLABLE LA;Lo;0;L;;;;;N;;;;; A1C2;YI SYLLABLE LAP;Lo;0;L;;;;;N;;;;; A1C3;YI SYLLABLE LUOT;Lo;0;L;;;;;N;;;;; A1C4;YI SYLLABLE LUOX;Lo;0;L;;;;;N;;;;; A1C5;YI SYLLABLE LUO;Lo;0;L;;;;;N;;;;; A1C6;YI SYLLABLE LUOP;Lo;0;L;;;;;N;;;;; A1C7;YI SYLLABLE LOT;Lo;0;L;;;;;N;;;;; A1C8;YI SYLLABLE LOX;Lo;0;L;;;;;N;;;;; A1C9;YI SYLLABLE LO;Lo;0;L;;;;;N;;;;; A1CA;YI SYLLABLE LOP;Lo;0;L;;;;;N;;;;; A1CB;YI SYLLABLE LEX;Lo;0;L;;;;;N;;;;; A1CC;YI SYLLABLE LE;Lo;0;L;;;;;N;;;;; A1CD;YI SYLLABLE LEP;Lo;0;L;;;;;N;;;;; A1CE;YI SYLLABLE LUT;Lo;0;L;;;;;N;;;;; A1CF;YI SYLLABLE LUX;Lo;0;L;;;;;N;;;;; A1D0;YI SYLLABLE LU;Lo;0;L;;;;;N;;;;; A1D1;YI SYLLABLE LUP;Lo;0;L;;;;;N;;;;; A1D2;YI SYLLABLE LURX;Lo;0;L;;;;;N;;;;; A1D3;YI SYLLABLE LUR;Lo;0;L;;;;;N;;;;; A1D4;YI SYLLABLE LYT;Lo;0;L;;;;;N;;;;; A1D5;YI SYLLABLE LYX;Lo;0;L;;;;;N;;;;; A1D6;YI SYLLABLE LY;Lo;0;L;;;;;N;;;;; A1D7;YI SYLLABLE LYP;Lo;0;L;;;;;N;;;;; A1D8;YI SYLLABLE LYRX;Lo;0;L;;;;;N;;;;; A1D9;YI SYLLABLE LYR;Lo;0;L;;;;;N;;;;; A1DA;YI SYLLABLE GIT;Lo;0;L;;;;;N;;;;; A1DB;YI SYLLABLE GIX;Lo;0;L;;;;;N;;;;; A1DC;YI SYLLABLE GI;Lo;0;L;;;;;N;;;;; A1DD;YI SYLLABLE GIP;Lo;0;L;;;;;N;;;;; A1DE;YI SYLLABLE GIET;Lo;0;L;;;;;N;;;;; A1DF;YI SYLLABLE GIEX;Lo;0;L;;;;;N;;;;; A1E0;YI SYLLABLE GIE;Lo;0;L;;;;;N;;;;; A1E1;YI SYLLABLE GIEP;Lo;0;L;;;;;N;;;;; A1E2;YI SYLLABLE GAT;Lo;0;L;;;;;N;;;;; A1E3;YI SYLLABLE GAX;Lo;0;L;;;;;N;;;;; A1E4;YI SYLLABLE GA;Lo;0;L;;;;;N;;;;; A1E5;YI SYLLABLE GAP;Lo;0;L;;;;;N;;;;; A1E6;YI SYLLABLE GUOT;Lo;0;L;;;;;N;;;;; A1E7;YI SYLLABLE GUOX;Lo;0;L;;;;;N;;;;; A1E8;YI SYLLABLE GUO;Lo;0;L;;;;;N;;;;; A1E9;YI SYLLABLE GUOP;Lo;0;L;;;;;N;;;;; A1EA;YI SYLLABLE GOT;Lo;0;L;;;;;N;;;;; A1EB;YI SYLLABLE GOX;Lo;0;L;;;;;N;;;;; A1EC;YI SYLLABLE GO;Lo;0;L;;;;;N;;;;; A1ED;YI SYLLABLE GOP;Lo;0;L;;;;;N;;;;; A1EE;YI SYLLABLE GET;Lo;0;L;;;;;N;;;;; A1EF;YI SYLLABLE GEX;Lo;0;L;;;;;N;;;;; A1F0;YI SYLLABLE GE;Lo;0;L;;;;;N;;;;; A1F1;YI SYLLABLE GEP;Lo;0;L;;;;;N;;;;; A1F2;YI SYLLABLE GUT;Lo;0;L;;;;;N;;;;; A1F3;YI SYLLABLE GUX;Lo;0;L;;;;;N;;;;; A1F4;YI SYLLABLE GU;Lo;0;L;;;;;N;;;;; A1F5;YI SYLLABLE GUP;Lo;0;L;;;;;N;;;;; A1F6;YI SYLLABLE GURX;Lo;0;L;;;;;N;;;;; A1F7;YI SYLLABLE GUR;Lo;0;L;;;;;N;;;;; A1F8;YI SYLLABLE KIT;Lo;0;L;;;;;N;;;;; A1F9;YI SYLLABLE KIX;Lo;0;L;;;;;N;;;;; A1FA;YI SYLLABLE KI;Lo;0;L;;;;;N;;;;; A1FB;YI SYLLABLE KIP;Lo;0;L;;;;;N;;;;; A1FC;YI SYLLABLE KIEX;Lo;0;L;;;;;N;;;;; A1FD;YI SYLLABLE KIE;Lo;0;L;;;;;N;;;;; A1FE;YI SYLLABLE KIEP;Lo;0;L;;;;;N;;;;; A1FF;YI SYLLABLE KAT;Lo;0;L;;;;;N;;;;; A200;YI SYLLABLE KAX;Lo;0;L;;;;;N;;;;; A201;YI SYLLABLE KA;Lo;0;L;;;;;N;;;;; A202;YI SYLLABLE KAP;Lo;0;L;;;;;N;;;;; A203;YI SYLLABLE KUOX;Lo;0;L;;;;;N;;;;; A204;YI SYLLABLE KUO;Lo;0;L;;;;;N;;;;; A205;YI SYLLABLE KUOP;Lo;0;L;;;;;N;;;;; A206;YI SYLLABLE KOT;Lo;0;L;;;;;N;;;;; A207;YI SYLLABLE KOX;Lo;0;L;;;;;N;;;;; A208;YI SYLLABLE KO;Lo;0;L;;;;;N;;;;; A209;YI SYLLABLE KOP;Lo;0;L;;;;;N;;;;; A20A;YI SYLLABLE KET;Lo;0;L;;;;;N;;;;; A20B;YI SYLLABLE KEX;Lo;0;L;;;;;N;;;;; A20C;YI SYLLABLE KE;Lo;0;L;;;;;N;;;;; A20D;YI SYLLABLE KEP;Lo;0;L;;;;;N;;;;; A20E;YI SYLLABLE KUT;Lo;0;L;;;;;N;;;;; A20F;YI SYLLABLE KUX;Lo;0;L;;;;;N;;;;; A210;YI SYLLABLE KU;Lo;0;L;;;;;N;;;;; A211;YI SYLLABLE KUP;Lo;0;L;;;;;N;;;;; A212;YI SYLLABLE KURX;Lo;0;L;;;;;N;;;;; A213;YI SYLLABLE KUR;Lo;0;L;;;;;N;;;;; A214;YI SYLLABLE GGIT;Lo;0;L;;;;;N;;;;; A215;YI SYLLABLE GGIX;Lo;0;L;;;;;N;;;;; A216;YI SYLLABLE GGI;Lo;0;L;;;;;N;;;;; A217;YI SYLLABLE GGIEX;Lo;0;L;;;;;N;;;;; A218;YI SYLLABLE GGIE;Lo;0;L;;;;;N;;;;; A219;YI SYLLABLE GGIEP;Lo;0;L;;;;;N;;;;; A21A;YI SYLLABLE GGAT;Lo;0;L;;;;;N;;;;; A21B;YI SYLLABLE GGAX;Lo;0;L;;;;;N;;;;; A21C;YI SYLLABLE GGA;Lo;0;L;;;;;N;;;;; A21D;YI SYLLABLE GGAP;Lo;0;L;;;;;N;;;;; A21E;YI SYLLABLE GGUOT;Lo;0;L;;;;;N;;;;; A21F;YI SYLLABLE GGUOX;Lo;0;L;;;;;N;;;;; A220;YI SYLLABLE GGUO;Lo;0;L;;;;;N;;;;; A221;YI SYLLABLE GGUOP;Lo;0;L;;;;;N;;;;; A222;YI SYLLABLE GGOT;Lo;0;L;;;;;N;;;;; A223;YI SYLLABLE GGOX;Lo;0;L;;;;;N;;;;; A224;YI SYLLABLE GGO;Lo;0;L;;;;;N;;;;; A225;YI SYLLABLE GGOP;Lo;0;L;;;;;N;;;;; A226;YI SYLLABLE GGET;Lo;0;L;;;;;N;;;;; A227;YI SYLLABLE GGEX;Lo;0;L;;;;;N;;;;; A228;YI SYLLABLE GGE;Lo;0;L;;;;;N;;;;; A229;YI SYLLABLE GGEP;Lo;0;L;;;;;N;;;;; A22A;YI SYLLABLE GGUT;Lo;0;L;;;;;N;;;;; A22B;YI SYLLABLE GGUX;Lo;0;L;;;;;N;;;;; A22C;YI SYLLABLE GGU;Lo;0;L;;;;;N;;;;; A22D;YI SYLLABLE GGUP;Lo;0;L;;;;;N;;;;; A22E;YI SYLLABLE GGURX;Lo;0;L;;;;;N;;;;; A22F;YI SYLLABLE GGUR;Lo;0;L;;;;;N;;;;; A230;YI SYLLABLE MGIEX;Lo;0;L;;;;;N;;;;; A231;YI SYLLABLE MGIE;Lo;0;L;;;;;N;;;;; A232;YI SYLLABLE MGAT;Lo;0;L;;;;;N;;;;; A233;YI SYLLABLE MGAX;Lo;0;L;;;;;N;;;;; A234;YI SYLLABLE MGA;Lo;0;L;;;;;N;;;;; A235;YI SYLLABLE MGAP;Lo;0;L;;;;;N;;;;; A236;YI SYLLABLE MGUOX;Lo;0;L;;;;;N;;;;; A237;YI SYLLABLE MGUO;Lo;0;L;;;;;N;;;;; A238;YI SYLLABLE MGUOP;Lo;0;L;;;;;N;;;;; A239;YI SYLLABLE MGOT;Lo;0;L;;;;;N;;;;; A23A;YI SYLLABLE MGOX;Lo;0;L;;;;;N;;;;; A23B;YI SYLLABLE MGO;Lo;0;L;;;;;N;;;;; A23C;YI SYLLABLE MGOP;Lo;0;L;;;;;N;;;;; A23D;YI SYLLABLE MGEX;Lo;0;L;;;;;N;;;;; A23E;YI SYLLABLE MGE;Lo;0;L;;;;;N;;;;; A23F;YI SYLLABLE MGEP;Lo;0;L;;;;;N;;;;; A240;YI SYLLABLE MGUT;Lo;0;L;;;;;N;;;;; A241;YI SYLLABLE MGUX;Lo;0;L;;;;;N;;;;; A242;YI SYLLABLE MGU;Lo;0;L;;;;;N;;;;; A243;YI SYLLABLE MGUP;Lo;0;L;;;;;N;;;;; A244;YI SYLLABLE MGURX;Lo;0;L;;;;;N;;;;; A245;YI SYLLABLE MGUR;Lo;0;L;;;;;N;;;;; A246;YI SYLLABLE HXIT;Lo;0;L;;;;;N;;;;; A247;YI SYLLABLE HXIX;Lo;0;L;;;;;N;;;;; A248;YI SYLLABLE HXI;Lo;0;L;;;;;N;;;;; A249;YI SYLLABLE HXIP;Lo;0;L;;;;;N;;;;; A24A;YI SYLLABLE HXIET;Lo;0;L;;;;;N;;;;; A24B;YI SYLLABLE HXIEX;Lo;0;L;;;;;N;;;;; A24C;YI SYLLABLE HXIE;Lo;0;L;;;;;N;;;;; A24D;YI SYLLABLE HXIEP;Lo;0;L;;;;;N;;;;; A24E;YI SYLLABLE HXAT;Lo;0;L;;;;;N;;;;; A24F;YI SYLLABLE HXAX;Lo;0;L;;;;;N;;;;; A250;YI SYLLABLE HXA;Lo;0;L;;;;;N;;;;; A251;YI SYLLABLE HXAP;Lo;0;L;;;;;N;;;;; A252;YI SYLLABLE HXUOT;Lo;0;L;;;;;N;;;;; A253;YI SYLLABLE HXUOX;Lo;0;L;;;;;N;;;;; A254;YI SYLLABLE HXUO;Lo;0;L;;;;;N;;;;; A255;YI SYLLABLE HXUOP;Lo;0;L;;;;;N;;;;; A256;YI SYLLABLE HXOT;Lo;0;L;;;;;N;;;;; A257;YI SYLLABLE HXOX;Lo;0;L;;;;;N;;;;; A258;YI SYLLABLE HXO;Lo;0;L;;;;;N;;;;; A259;YI SYLLABLE HXOP;Lo;0;L;;;;;N;;;;; A25A;YI SYLLABLE HXEX;Lo;0;L;;;;;N;;;;; A25B;YI SYLLABLE HXE;Lo;0;L;;;;;N;;;;; A25C;YI SYLLABLE HXEP;Lo;0;L;;;;;N;;;;; A25D;YI SYLLABLE NGIEX;Lo;0;L;;;;;N;;;;; A25E;YI SYLLABLE NGIE;Lo;0;L;;;;;N;;;;; A25F;YI SYLLABLE NGIEP;Lo;0;L;;;;;N;;;;; A260;YI SYLLABLE NGAT;Lo;0;L;;;;;N;;;;; A261;YI SYLLABLE NGAX;Lo;0;L;;;;;N;;;;; A262;YI SYLLABLE NGA;Lo;0;L;;;;;N;;;;; A263;YI SYLLABLE NGAP;Lo;0;L;;;;;N;;;;; A264;YI SYLLABLE NGUOT;Lo;0;L;;;;;N;;;;; A265;YI SYLLABLE NGUOX;Lo;0;L;;;;;N;;;;; A266;YI SYLLABLE NGUO;Lo;0;L;;;;;N;;;;; A267;YI SYLLABLE NGOT;Lo;0;L;;;;;N;;;;; A268;YI SYLLABLE NGOX;Lo;0;L;;;;;N;;;;; A269;YI SYLLABLE NGO;Lo;0;L;;;;;N;;;;; A26A;YI SYLLABLE NGOP;Lo;0;L;;;;;N;;;;; A26B;YI SYLLABLE NGEX;Lo;0;L;;;;;N;;;;; A26C;YI SYLLABLE NGE;Lo;0;L;;;;;N;;;;; A26D;YI SYLLABLE NGEP;Lo;0;L;;;;;N;;;;; A26E;YI SYLLABLE HIT;Lo;0;L;;;;;N;;;;; A26F;YI SYLLABLE HIEX;Lo;0;L;;;;;N;;;;; A270;YI SYLLABLE HIE;Lo;0;L;;;;;N;;;;; A271;YI SYLLABLE HAT;Lo;0;L;;;;;N;;;;; A272;YI SYLLABLE HAX;Lo;0;L;;;;;N;;;;; A273;YI SYLLABLE HA;Lo;0;L;;;;;N;;;;; A274;YI SYLLABLE HAP;Lo;0;L;;;;;N;;;;; A275;YI SYLLABLE HUOT;Lo;0;L;;;;;N;;;;; A276;YI SYLLABLE HUOX;Lo;0;L;;;;;N;;;;; A277;YI SYLLABLE HUO;Lo;0;L;;;;;N;;;;; A278;YI SYLLABLE HUOP;Lo;0;L;;;;;N;;;;; A279;YI SYLLABLE HOT;Lo;0;L;;;;;N;;;;; A27A;YI SYLLABLE HOX;Lo;0;L;;;;;N;;;;; A27B;YI SYLLABLE HO;Lo;0;L;;;;;N;;;;; A27C;YI SYLLABLE HOP;Lo;0;L;;;;;N;;;;; A27D;YI SYLLABLE HEX;Lo;0;L;;;;;N;;;;; A27E;YI SYLLABLE HE;Lo;0;L;;;;;N;;;;; A27F;YI SYLLABLE HEP;Lo;0;L;;;;;N;;;;; A280;YI SYLLABLE WAT;Lo;0;L;;;;;N;;;;; A281;YI SYLLABLE WAX;Lo;0;L;;;;;N;;;;; A282;YI SYLLABLE WA;Lo;0;L;;;;;N;;;;; A283;YI SYLLABLE WAP;Lo;0;L;;;;;N;;;;; A284;YI SYLLABLE WUOX;Lo;0;L;;;;;N;;;;; A285;YI SYLLABLE WUO;Lo;0;L;;;;;N;;;;; A286;YI SYLLABLE WUOP;Lo;0;L;;;;;N;;;;; A287;YI SYLLABLE WOX;Lo;0;L;;;;;N;;;;; A288;YI SYLLABLE WO;Lo;0;L;;;;;N;;;;; A289;YI SYLLABLE WOP;Lo;0;L;;;;;N;;;;; A28A;YI SYLLABLE WEX;Lo;0;L;;;;;N;;;;; A28B;YI SYLLABLE WE;Lo;0;L;;;;;N;;;;; A28C;YI SYLLABLE WEP;Lo;0;L;;;;;N;;;;; A28D;YI SYLLABLE ZIT;Lo;0;L;;;;;N;;;;; A28E;YI SYLLABLE ZIX;Lo;0;L;;;;;N;;;;; A28F;YI SYLLABLE ZI;Lo;0;L;;;;;N;;;;; A290;YI SYLLABLE ZIP;Lo;0;L;;;;;N;;;;; A291;YI SYLLABLE ZIEX;Lo;0;L;;;;;N;;;;; A292;YI SYLLABLE ZIE;Lo;0;L;;;;;N;;;;; A293;YI SYLLABLE ZIEP;Lo;0;L;;;;;N;;;;; A294;YI SYLLABLE ZAT;Lo;0;L;;;;;N;;;;; A295;YI SYLLABLE ZAX;Lo;0;L;;;;;N;;;;; A296;YI SYLLABLE ZA;Lo;0;L;;;;;N;;;;; A297;YI SYLLABLE ZAP;Lo;0;L;;;;;N;;;;; A298;YI SYLLABLE ZUOX;Lo;0;L;;;;;N;;;;; A299;YI SYLLABLE ZUO;Lo;0;L;;;;;N;;;;; A29A;YI SYLLABLE ZUOP;Lo;0;L;;;;;N;;;;; A29B;YI SYLLABLE ZOT;Lo;0;L;;;;;N;;;;; A29C;YI SYLLABLE ZOX;Lo;0;L;;;;;N;;;;; A29D;YI SYLLABLE ZO;Lo;0;L;;;;;N;;;;; A29E;YI SYLLABLE ZOP;Lo;0;L;;;;;N;;;;; A29F;YI SYLLABLE ZEX;Lo;0;L;;;;;N;;;;; A2A0;YI SYLLABLE ZE;Lo;0;L;;;;;N;;;;; A2A1;YI SYLLABLE ZEP;Lo;0;L;;;;;N;;;;; A2A2;YI SYLLABLE ZUT;Lo;0;L;;;;;N;;;;; A2A3;YI SYLLABLE ZUX;Lo;0;L;;;;;N;;;;; A2A4;YI SYLLABLE ZU;Lo;0;L;;;;;N;;;;; A2A5;YI SYLLABLE ZUP;Lo;0;L;;;;;N;;;;; A2A6;YI SYLLABLE ZURX;Lo;0;L;;;;;N;;;;; A2A7;YI SYLLABLE ZUR;Lo;0;L;;;;;N;;;;; A2A8;YI SYLLABLE ZYT;Lo;0;L;;;;;N;;;;; A2A9;YI SYLLABLE ZYX;Lo;0;L;;;;;N;;;;; A2AA;YI SYLLABLE ZY;Lo;0;L;;;;;N;;;;; A2AB;YI SYLLABLE ZYP;Lo;0;L;;;;;N;;;;; A2AC;YI SYLLABLE ZYRX;Lo;0;L;;;;;N;;;;; A2AD;YI SYLLABLE ZYR;Lo;0;L;;;;;N;;;;; A2AE;YI SYLLABLE CIT;Lo;0;L;;;;;N;;;;; A2AF;YI SYLLABLE CIX;Lo;0;L;;;;;N;;;;; A2B0;YI SYLLABLE CI;Lo;0;L;;;;;N;;;;; A2B1;YI SYLLABLE CIP;Lo;0;L;;;;;N;;;;; A2B2;YI SYLLABLE CIET;Lo;0;L;;;;;N;;;;; A2B3;YI SYLLABLE CIEX;Lo;0;L;;;;;N;;;;; A2B4;YI SYLLABLE CIE;Lo;0;L;;;;;N;;;;; A2B5;YI SYLLABLE CIEP;Lo;0;L;;;;;N;;;;; A2B6;YI SYLLABLE CAT;Lo;0;L;;;;;N;;;;; A2B7;YI SYLLABLE CAX;Lo;0;L;;;;;N;;;;; A2B8;YI SYLLABLE CA;Lo;0;L;;;;;N;;;;; A2B9;YI SYLLABLE CAP;Lo;0;L;;;;;N;;;;; A2BA;YI SYLLABLE CUOX;Lo;0;L;;;;;N;;;;; A2BB;YI SYLLABLE CUO;Lo;0;L;;;;;N;;;;; A2BC;YI SYLLABLE CUOP;Lo;0;L;;;;;N;;;;; A2BD;YI SYLLABLE COT;Lo;0;L;;;;;N;;;;; A2BE;YI SYLLABLE COX;Lo;0;L;;;;;N;;;;; A2BF;YI SYLLABLE CO;Lo;0;L;;;;;N;;;;; A2C0;YI SYLLABLE COP;Lo;0;L;;;;;N;;;;; A2C1;YI SYLLABLE CEX;Lo;0;L;;;;;N;;;;; A2C2;YI SYLLABLE CE;Lo;0;L;;;;;N;;;;; A2C3;YI SYLLABLE CEP;Lo;0;L;;;;;N;;;;; A2C4;YI SYLLABLE CUT;Lo;0;L;;;;;N;;;;; A2C5;YI SYLLABLE CUX;Lo;0;L;;;;;N;;;;; A2C6;YI SYLLABLE CU;Lo;0;L;;;;;N;;;;; A2C7;YI SYLLABLE CUP;Lo;0;L;;;;;N;;;;; A2C8;YI SYLLABLE CURX;Lo;0;L;;;;;N;;;;; A2C9;YI SYLLABLE CUR;Lo;0;L;;;;;N;;;;; A2CA;YI SYLLABLE CYT;Lo;0;L;;;;;N;;;;; A2CB;YI SYLLABLE CYX;Lo;0;L;;;;;N;;;;; A2CC;YI SYLLABLE CY;Lo;0;L;;;;;N;;;;; A2CD;YI SYLLABLE CYP;Lo;0;L;;;;;N;;;;; A2CE;YI SYLLABLE CYRX;Lo;0;L;;;;;N;;;;; A2CF;YI SYLLABLE CYR;Lo;0;L;;;;;N;;;;; A2D0;YI SYLLABLE ZZIT;Lo;0;L;;;;;N;;;;; A2D1;YI SYLLABLE ZZIX;Lo;0;L;;;;;N;;;;; A2D2;YI SYLLABLE ZZI;Lo;0;L;;;;;N;;;;; A2D3;YI SYLLABLE ZZIP;Lo;0;L;;;;;N;;;;; A2D4;YI SYLLABLE ZZIET;Lo;0;L;;;;;N;;;;; A2D5;YI SYLLABLE ZZIEX;Lo;0;L;;;;;N;;;;; A2D6;YI SYLLABLE ZZIE;Lo;0;L;;;;;N;;;;; A2D7;YI SYLLABLE ZZIEP;Lo;0;L;;;;;N;;;;; A2D8;YI SYLLABLE ZZAT;Lo;0;L;;;;;N;;;;; A2D9;YI SYLLABLE ZZAX;Lo;0;L;;;;;N;;;;; A2DA;YI SYLLABLE ZZA;Lo;0;L;;;;;N;;;;; A2DB;YI SYLLABLE ZZAP;Lo;0;L;;;;;N;;;;; A2DC;YI SYLLABLE ZZOX;Lo;0;L;;;;;N;;;;; A2DD;YI SYLLABLE ZZO;Lo;0;L;;;;;N;;;;; A2DE;YI SYLLABLE ZZOP;Lo;0;L;;;;;N;;;;; A2DF;YI SYLLABLE ZZEX;Lo;0;L;;;;;N;;;;; A2E0;YI SYLLABLE ZZE;Lo;0;L;;;;;N;;;;; A2E1;YI SYLLABLE ZZEP;Lo;0;L;;;;;N;;;;; A2E2;YI SYLLABLE ZZUX;Lo;0;L;;;;;N;;;;; A2E3;YI SYLLABLE ZZU;Lo;0;L;;;;;N;;;;; A2E4;YI SYLLABLE ZZUP;Lo;0;L;;;;;N;;;;; A2E5;YI SYLLABLE ZZURX;Lo;0;L;;;;;N;;;;; A2E6;YI SYLLABLE ZZUR;Lo;0;L;;;;;N;;;;; A2E7;YI SYLLABLE ZZYT;Lo;0;L;;;;;N;;;;; A2E8;YI SYLLABLE ZZYX;Lo;0;L;;;;;N;;;;; A2E9;YI SYLLABLE ZZY;Lo;0;L;;;;;N;;;;; A2EA;YI SYLLABLE ZZYP;Lo;0;L;;;;;N;;;;; A2EB;YI SYLLABLE ZZYRX;Lo;0;L;;;;;N;;;;; A2EC;YI SYLLABLE ZZYR;Lo;0;L;;;;;N;;;;; A2ED;YI SYLLABLE NZIT;Lo;0;L;;;;;N;;;;; A2EE;YI SYLLABLE NZIX;Lo;0;L;;;;;N;;;;; A2EF;YI SYLLABLE NZI;Lo;0;L;;;;;N;;;;; A2F0;YI SYLLABLE NZIP;Lo;0;L;;;;;N;;;;; A2F1;YI SYLLABLE NZIEX;Lo;0;L;;;;;N;;;;; A2F2;YI SYLLABLE NZIE;Lo;0;L;;;;;N;;;;; A2F3;YI SYLLABLE NZIEP;Lo;0;L;;;;;N;;;;; A2F4;YI SYLLABLE NZAT;Lo;0;L;;;;;N;;;;; A2F5;YI SYLLABLE NZAX;Lo;0;L;;;;;N;;;;; A2F6;YI SYLLABLE NZA;Lo;0;L;;;;;N;;;;; A2F7;YI SYLLABLE NZAP;Lo;0;L;;;;;N;;;;; A2F8;YI SYLLABLE NZUOX;Lo;0;L;;;;;N;;;;; A2F9;YI SYLLABLE NZUO;Lo;0;L;;;;;N;;;;; A2FA;YI SYLLABLE NZOX;Lo;0;L;;;;;N;;;;; A2FB;YI SYLLABLE NZOP;Lo;0;L;;;;;N;;;;; A2FC;YI SYLLABLE NZEX;Lo;0;L;;;;;N;;;;; A2FD;YI SYLLABLE NZE;Lo;0;L;;;;;N;;;;; A2FE;YI SYLLABLE NZUX;Lo;0;L;;;;;N;;;;; A2FF;YI SYLLABLE NZU;Lo;0;L;;;;;N;;;;; A300;YI SYLLABLE NZUP;Lo;0;L;;;;;N;;;;; A301;YI SYLLABLE NZURX;Lo;0;L;;;;;N;;;;; A302;YI SYLLABLE NZUR;Lo;0;L;;;;;N;;;;; A303;YI SYLLABLE NZYT;Lo;0;L;;;;;N;;;;; A304;YI SYLLABLE NZYX;Lo;0;L;;;;;N;;;;; A305;YI SYLLABLE NZY;Lo;0;L;;;;;N;;;;; A306;YI SYLLABLE NZYP;Lo;0;L;;;;;N;;;;; A307;YI SYLLABLE NZYRX;Lo;0;L;;;;;N;;;;; A308;YI SYLLABLE NZYR;Lo;0;L;;;;;N;;;;; A309;YI SYLLABLE SIT;Lo;0;L;;;;;N;;;;; A30A;YI SYLLABLE SIX;Lo;0;L;;;;;N;;;;; A30B;YI SYLLABLE SI;Lo;0;L;;;;;N;;;;; A30C;YI SYLLABLE SIP;Lo;0;L;;;;;N;;;;; A30D;YI SYLLABLE SIEX;Lo;0;L;;;;;N;;;;; A30E;YI SYLLABLE SIE;Lo;0;L;;;;;N;;;;; A30F;YI SYLLABLE SIEP;Lo;0;L;;;;;N;;;;; A310;YI SYLLABLE SAT;Lo;0;L;;;;;N;;;;; A311;YI SYLLABLE SAX;Lo;0;L;;;;;N;;;;; A312;YI SYLLABLE SA;Lo;0;L;;;;;N;;;;; A313;YI SYLLABLE SAP;Lo;0;L;;;;;N;;;;; A314;YI SYLLABLE SUOX;Lo;0;L;;;;;N;;;;; A315;YI SYLLABLE SUO;Lo;0;L;;;;;N;;;;; A316;YI SYLLABLE SUOP;Lo;0;L;;;;;N;;;;; A317;YI SYLLABLE SOT;Lo;0;L;;;;;N;;;;; A318;YI SYLLABLE SOX;Lo;0;L;;;;;N;;;;; A319;YI SYLLABLE SO;Lo;0;L;;;;;N;;;;; A31A;YI SYLLABLE SOP;Lo;0;L;;;;;N;;;;; A31B;YI SYLLABLE SEX;Lo;0;L;;;;;N;;;;; A31C;YI SYLLABLE SE;Lo;0;L;;;;;N;;;;; A31D;YI SYLLABLE SEP;Lo;0;L;;;;;N;;;;; A31E;YI SYLLABLE SUT;Lo;0;L;;;;;N;;;;; A31F;YI SYLLABLE SUX;Lo;0;L;;;;;N;;;;; A320;YI SYLLABLE SU;Lo;0;L;;;;;N;;;;; A321;YI SYLLABLE SUP;Lo;0;L;;;;;N;;;;; A322;YI SYLLABLE SURX;Lo;0;L;;;;;N;;;;; A323;YI SYLLABLE SUR;Lo;0;L;;;;;N;;;;; A324;YI SYLLABLE SYT;Lo;0;L;;;;;N;;;;; A325;YI SYLLABLE SYX;Lo;0;L;;;;;N;;;;; A326;YI SYLLABLE SY;Lo;0;L;;;;;N;;;;; A327;YI SYLLABLE SYP;Lo;0;L;;;;;N;;;;; A328;YI SYLLABLE SYRX;Lo;0;L;;;;;N;;;;; A329;YI SYLLABLE SYR;Lo;0;L;;;;;N;;;;; A32A;YI SYLLABLE SSIT;Lo;0;L;;;;;N;;;;; A32B;YI SYLLABLE SSIX;Lo;0;L;;;;;N;;;;; A32C;YI SYLLABLE SSI;Lo;0;L;;;;;N;;;;; A32D;YI SYLLABLE SSIP;Lo;0;L;;;;;N;;;;; A32E;YI SYLLABLE SSIEX;Lo;0;L;;;;;N;;;;; A32F;YI SYLLABLE SSIE;Lo;0;L;;;;;N;;;;; A330;YI SYLLABLE SSIEP;Lo;0;L;;;;;N;;;;; A331;YI SYLLABLE SSAT;Lo;0;L;;;;;N;;;;; A332;YI SYLLABLE SSAX;Lo;0;L;;;;;N;;;;; A333;YI SYLLABLE SSA;Lo;0;L;;;;;N;;;;; A334;YI SYLLABLE SSAP;Lo;0;L;;;;;N;;;;; A335;YI SYLLABLE SSOT;Lo;0;L;;;;;N;;;;; A336;YI SYLLABLE SSOX;Lo;0;L;;;;;N;;;;; A337;YI SYLLABLE SSO;Lo;0;L;;;;;N;;;;; A338;YI SYLLABLE SSOP;Lo;0;L;;;;;N;;;;; A339;YI SYLLABLE SSEX;Lo;0;L;;;;;N;;;;; A33A;YI SYLLABLE SSE;Lo;0;L;;;;;N;;;;; A33B;YI SYLLABLE SSEP;Lo;0;L;;;;;N;;;;; A33C;YI SYLLABLE SSUT;Lo;0;L;;;;;N;;;;; A33D;YI SYLLABLE SSUX;Lo;0;L;;;;;N;;;;; A33E;YI SYLLABLE SSU;Lo;0;L;;;;;N;;;;; A33F;YI SYLLABLE SSUP;Lo;0;L;;;;;N;;;;; A340;YI SYLLABLE SSYT;Lo;0;L;;;;;N;;;;; A341;YI SYLLABLE SSYX;Lo;0;L;;;;;N;;;;; A342;YI SYLLABLE SSY;Lo;0;L;;;;;N;;;;; A343;YI SYLLABLE SSYP;Lo;0;L;;;;;N;;;;; A344;YI SYLLABLE SSYRX;Lo;0;L;;;;;N;;;;; A345;YI SYLLABLE SSYR;Lo;0;L;;;;;N;;;;; A346;YI SYLLABLE ZHAT;Lo;0;L;;;;;N;;;;; A347;YI SYLLABLE ZHAX;Lo;0;L;;;;;N;;;;; A348;YI SYLLABLE ZHA;Lo;0;L;;;;;N;;;;; A349;YI SYLLABLE ZHAP;Lo;0;L;;;;;N;;;;; A34A;YI SYLLABLE ZHUOX;Lo;0;L;;;;;N;;;;; A34B;YI SYLLABLE ZHUO;Lo;0;L;;;;;N;;;;; A34C;YI SYLLABLE ZHUOP;Lo;0;L;;;;;N;;;;; A34D;YI SYLLABLE ZHOT;Lo;0;L;;;;;N;;;;; A34E;YI SYLLABLE ZHOX;Lo;0;L;;;;;N;;;;; A34F;YI SYLLABLE ZHO;Lo;0;L;;;;;N;;;;; A350;YI SYLLABLE ZHOP;Lo;0;L;;;;;N;;;;; A351;YI SYLLABLE ZHET;Lo;0;L;;;;;N;;;;; A352;YI SYLLABLE ZHEX;Lo;0;L;;;;;N;;;;; A353;YI SYLLABLE ZHE;Lo;0;L;;;;;N;;;;; A354;YI SYLLABLE ZHEP;Lo;0;L;;;;;N;;;;; A355;YI SYLLABLE ZHUT;Lo;0;L;;;;;N;;;;; A356;YI SYLLABLE ZHUX;Lo;0;L;;;;;N;;;;; A357;YI SYLLABLE ZHU;Lo;0;L;;;;;N;;;;; A358;YI SYLLABLE ZHUP;Lo;0;L;;;;;N;;;;; A359;YI SYLLABLE ZHURX;Lo;0;L;;;;;N;;;;; A35A;YI SYLLABLE ZHUR;Lo;0;L;;;;;N;;;;; A35B;YI SYLLABLE ZHYT;Lo;0;L;;;;;N;;;;; A35C;YI SYLLABLE ZHYX;Lo;0;L;;;;;N;;;;; A35D;YI SYLLABLE ZHY;Lo;0;L;;;;;N;;;;; A35E;YI SYLLABLE ZHYP;Lo;0;L;;;;;N;;;;; A35F;YI SYLLABLE ZHYRX;Lo;0;L;;;;;N;;;;; A360;YI SYLLABLE ZHYR;Lo;0;L;;;;;N;;;;; A361;YI SYLLABLE CHAT;Lo;0;L;;;;;N;;;;; A362;YI SYLLABLE CHAX;Lo;0;L;;;;;N;;;;; A363;YI SYLLABLE CHA;Lo;0;L;;;;;N;;;;; A364;YI SYLLABLE CHAP;Lo;0;L;;;;;N;;;;; A365;YI SYLLABLE CHUOT;Lo;0;L;;;;;N;;;;; A366;YI SYLLABLE CHUOX;Lo;0;L;;;;;N;;;;; A367;YI SYLLABLE CHUO;Lo;0;L;;;;;N;;;;; A368;YI SYLLABLE CHUOP;Lo;0;L;;;;;N;;;;; A369;YI SYLLABLE CHOT;Lo;0;L;;;;;N;;;;; A36A;YI SYLLABLE CHOX;Lo;0;L;;;;;N;;;;; A36B;YI SYLLABLE CHO;Lo;0;L;;;;;N;;;;; A36C;YI SYLLABLE CHOP;Lo;0;L;;;;;N;;;;; A36D;YI SYLLABLE CHET;Lo;0;L;;;;;N;;;;; A36E;YI SYLLABLE CHEX;Lo;0;L;;;;;N;;;;; A36F;YI SYLLABLE CHE;Lo;0;L;;;;;N;;;;; A370;YI SYLLABLE CHEP;Lo;0;L;;;;;N;;;;; A371;YI SYLLABLE CHUX;Lo;0;L;;;;;N;;;;; A372;YI SYLLABLE CHU;Lo;0;L;;;;;N;;;;; A373;YI SYLLABLE CHUP;Lo;0;L;;;;;N;;;;; A374;YI SYLLABLE CHURX;Lo;0;L;;;;;N;;;;; A375;YI SYLLABLE CHUR;Lo;0;L;;;;;N;;;;; A376;YI SYLLABLE CHYT;Lo;0;L;;;;;N;;;;; A377;YI SYLLABLE CHYX;Lo;0;L;;;;;N;;;;; A378;YI SYLLABLE CHY;Lo;0;L;;;;;N;;;;; A379;YI SYLLABLE CHYP;Lo;0;L;;;;;N;;;;; A37A;YI SYLLABLE CHYRX;Lo;0;L;;;;;N;;;;; A37B;YI SYLLABLE CHYR;Lo;0;L;;;;;N;;;;; A37C;YI SYLLABLE RRAX;Lo;0;L;;;;;N;;;;; A37D;YI SYLLABLE RRA;Lo;0;L;;;;;N;;;;; A37E;YI SYLLABLE RRUOX;Lo;0;L;;;;;N;;;;; A37F;YI SYLLABLE RRUO;Lo;0;L;;;;;N;;;;; A380;YI SYLLABLE RROT;Lo;0;L;;;;;N;;;;; A381;YI SYLLABLE RROX;Lo;0;L;;;;;N;;;;; A382;YI SYLLABLE RRO;Lo;0;L;;;;;N;;;;; A383;YI SYLLABLE RROP;Lo;0;L;;;;;N;;;;; A384;YI SYLLABLE RRET;Lo;0;L;;;;;N;;;;; A385;YI SYLLABLE RREX;Lo;0;L;;;;;N;;;;; A386;YI SYLLABLE RRE;Lo;0;L;;;;;N;;;;; A387;YI SYLLABLE RREP;Lo;0;L;;;;;N;;;;; A388;YI SYLLABLE RRUT;Lo;0;L;;;;;N;;;;; A389;YI SYLLABLE RRUX;Lo;0;L;;;;;N;;;;; A38A;YI SYLLABLE RRU;Lo;0;L;;;;;N;;;;; A38B;YI SYLLABLE RRUP;Lo;0;L;;;;;N;;;;; A38C;YI SYLLABLE RRURX;Lo;0;L;;;;;N;;;;; A38D;YI SYLLABLE RRUR;Lo;0;L;;;;;N;;;;; A38E;YI SYLLABLE RRYT;Lo;0;L;;;;;N;;;;; A38F;YI SYLLABLE RRYX;Lo;0;L;;;;;N;;;;; A390;YI SYLLABLE RRY;Lo;0;L;;;;;N;;;;; A391;YI SYLLABLE RRYP;Lo;0;L;;;;;N;;;;; A392;YI SYLLABLE RRYRX;Lo;0;L;;;;;N;;;;; A393;YI SYLLABLE RRYR;Lo;0;L;;;;;N;;;;; A394;YI SYLLABLE NRAT;Lo;0;L;;;;;N;;;;; A395;YI SYLLABLE NRAX;Lo;0;L;;;;;N;;;;; A396;YI SYLLABLE NRA;Lo;0;L;;;;;N;;;;; A397;YI SYLLABLE NRAP;Lo;0;L;;;;;N;;;;; A398;YI SYLLABLE NROX;Lo;0;L;;;;;N;;;;; A399;YI SYLLABLE NRO;Lo;0;L;;;;;N;;;;; A39A;YI SYLLABLE NROP;Lo;0;L;;;;;N;;;;; A39B;YI SYLLABLE NRET;Lo;0;L;;;;;N;;;;; A39C;YI SYLLABLE NREX;Lo;0;L;;;;;N;;;;; A39D;YI SYLLABLE NRE;Lo;0;L;;;;;N;;;;; A39E;YI SYLLABLE NREP;Lo;0;L;;;;;N;;;;; A39F;YI SYLLABLE NRUT;Lo;0;L;;;;;N;;;;; A3A0;YI SYLLABLE NRUX;Lo;0;L;;;;;N;;;;; A3A1;YI SYLLABLE NRU;Lo;0;L;;;;;N;;;;; A3A2;YI SYLLABLE NRUP;Lo;0;L;;;;;N;;;;; A3A3;YI SYLLABLE NRURX;Lo;0;L;;;;;N;;;;; A3A4;YI SYLLABLE NRUR;Lo;0;L;;;;;N;;;;; A3A5;YI SYLLABLE NRYT;Lo;0;L;;;;;N;;;;; A3A6;YI SYLLABLE NRYX;Lo;0;L;;;;;N;;;;; A3A7;YI SYLLABLE NRY;Lo;0;L;;;;;N;;;;; A3A8;YI SYLLABLE NRYP;Lo;0;L;;;;;N;;;;; A3A9;YI SYLLABLE NRYRX;Lo;0;L;;;;;N;;;;; A3AA;YI SYLLABLE NRYR;Lo;0;L;;;;;N;;;;; A3AB;YI SYLLABLE SHAT;Lo;0;L;;;;;N;;;;; A3AC;YI SYLLABLE SHAX;Lo;0;L;;;;;N;;;;; A3AD;YI SYLLABLE SHA;Lo;0;L;;;;;N;;;;; A3AE;YI SYLLABLE SHAP;Lo;0;L;;;;;N;;;;; A3AF;YI SYLLABLE SHUOX;Lo;0;L;;;;;N;;;;; A3B0;YI SYLLABLE SHUO;Lo;0;L;;;;;N;;;;; A3B1;YI SYLLABLE SHUOP;Lo;0;L;;;;;N;;;;; A3B2;YI SYLLABLE SHOT;Lo;0;L;;;;;N;;;;; A3B3;YI SYLLABLE SHOX;Lo;0;L;;;;;N;;;;; A3B4;YI SYLLABLE SHO;Lo;0;L;;;;;N;;;;; A3B5;YI SYLLABLE SHOP;Lo;0;L;;;;;N;;;;; A3B6;YI SYLLABLE SHET;Lo;0;L;;;;;N;;;;; A3B7;YI SYLLABLE SHEX;Lo;0;L;;;;;N;;;;; A3B8;YI SYLLABLE SHE;Lo;0;L;;;;;N;;;;; A3B9;YI SYLLABLE SHEP;Lo;0;L;;;;;N;;;;; A3BA;YI SYLLABLE SHUT;Lo;0;L;;;;;N;;;;; A3BB;YI SYLLABLE SHUX;Lo;0;L;;;;;N;;;;; A3BC;YI SYLLABLE SHU;Lo;0;L;;;;;N;;;;; A3BD;YI SYLLABLE SHUP;Lo;0;L;;;;;N;;;;; A3BE;YI SYLLABLE SHURX;Lo;0;L;;;;;N;;;;; A3BF;YI SYLLABLE SHUR;Lo;0;L;;;;;N;;;;; A3C0;YI SYLLABLE SHYT;Lo;0;L;;;;;N;;;;; A3C1;YI SYLLABLE SHYX;Lo;0;L;;;;;N;;;;; A3C2;YI SYLLABLE SHY;Lo;0;L;;;;;N;;;;; A3C3;YI SYLLABLE SHYP;Lo;0;L;;;;;N;;;;; A3C4;YI SYLLABLE SHYRX;Lo;0;L;;;;;N;;;;; A3C5;YI SYLLABLE SHYR;Lo;0;L;;;;;N;;;;; A3C6;YI SYLLABLE RAT;Lo;0;L;;;;;N;;;;; A3C7;YI SYLLABLE RAX;Lo;0;L;;;;;N;;;;; A3C8;YI SYLLABLE RA;Lo;0;L;;;;;N;;;;; A3C9;YI SYLLABLE RAP;Lo;0;L;;;;;N;;;;; A3CA;YI SYLLABLE RUOX;Lo;0;L;;;;;N;;;;; A3CB;YI SYLLABLE RUO;Lo;0;L;;;;;N;;;;; A3CC;YI SYLLABLE RUOP;Lo;0;L;;;;;N;;;;; A3CD;YI SYLLABLE ROT;Lo;0;L;;;;;N;;;;; A3CE;YI SYLLABLE ROX;Lo;0;L;;;;;N;;;;; A3CF;YI SYLLABLE RO;Lo;0;L;;;;;N;;;;; A3D0;YI SYLLABLE ROP;Lo;0;L;;;;;N;;;;; A3D1;YI SYLLABLE REX;Lo;0;L;;;;;N;;;;; A3D2;YI SYLLABLE RE;Lo;0;L;;;;;N;;;;; A3D3;YI SYLLABLE REP;Lo;0;L;;;;;N;;;;; A3D4;YI SYLLABLE RUT;Lo;0;L;;;;;N;;;;; A3D5;YI SYLLABLE RUX;Lo;0;L;;;;;N;;;;; A3D6;YI SYLLABLE RU;Lo;0;L;;;;;N;;;;; A3D7;YI SYLLABLE RUP;Lo;0;L;;;;;N;;;;; A3D8;YI SYLLABLE RURX;Lo;0;L;;;;;N;;;;; A3D9;YI SYLLABLE RUR;Lo;0;L;;;;;N;;;;; A3DA;YI SYLLABLE RYT;Lo;0;L;;;;;N;;;;; A3DB;YI SYLLABLE RYX;Lo;0;L;;;;;N;;;;; A3DC;YI SYLLABLE RY;Lo;0;L;;;;;N;;;;; A3DD;YI SYLLABLE RYP;Lo;0;L;;;;;N;;;;; A3DE;YI SYLLABLE RYRX;Lo;0;L;;;;;N;;;;; A3DF;YI SYLLABLE RYR;Lo;0;L;;;;;N;;;;; A3E0;YI SYLLABLE JIT;Lo;0;L;;;;;N;;;;; A3E1;YI SYLLABLE JIX;Lo;0;L;;;;;N;;;;; A3E2;YI SYLLABLE JI;Lo;0;L;;;;;N;;;;; A3E3;YI SYLLABLE JIP;Lo;0;L;;;;;N;;;;; A3E4;YI SYLLABLE JIET;Lo;0;L;;;;;N;;;;; A3E5;YI SYLLABLE JIEX;Lo;0;L;;;;;N;;;;; A3E6;YI SYLLABLE JIE;Lo;0;L;;;;;N;;;;; A3E7;YI SYLLABLE JIEP;Lo;0;L;;;;;N;;;;; A3E8;YI SYLLABLE JUOT;Lo;0;L;;;;;N;;;;; A3E9;YI SYLLABLE JUOX;Lo;0;L;;;;;N;;;;; A3EA;YI SYLLABLE JUO;Lo;0;L;;;;;N;;;;; A3EB;YI SYLLABLE JUOP;Lo;0;L;;;;;N;;;;; A3EC;YI SYLLABLE JOT;Lo;0;L;;;;;N;;;;; A3ED;YI SYLLABLE JOX;Lo;0;L;;;;;N;;;;; A3EE;YI SYLLABLE JO;Lo;0;L;;;;;N;;;;; A3EF;YI SYLLABLE JOP;Lo;0;L;;;;;N;;;;; A3F0;YI SYLLABLE JUT;Lo;0;L;;;;;N;;;;; A3F1;YI SYLLABLE JUX;Lo;0;L;;;;;N;;;;; A3F2;YI SYLLABLE JU;Lo;0;L;;;;;N;;;;; A3F3;YI SYLLABLE JUP;Lo;0;L;;;;;N;;;;; A3F4;YI SYLLABLE JURX;Lo;0;L;;;;;N;;;;; A3F5;YI SYLLABLE JUR;Lo;0;L;;;;;N;;;;; A3F6;YI SYLLABLE JYT;Lo;0;L;;;;;N;;;;; A3F7;YI SYLLABLE JYX;Lo;0;L;;;;;N;;;;; A3F8;YI SYLLABLE JY;Lo;0;L;;;;;N;;;;; A3F9;YI SYLLABLE JYP;Lo;0;L;;;;;N;;;;; A3FA;YI SYLLABLE JYRX;Lo;0;L;;;;;N;;;;; A3FB;YI SYLLABLE JYR;Lo;0;L;;;;;N;;;;; A3FC;YI SYLLABLE QIT;Lo;0;L;;;;;N;;;;; A3FD;YI SYLLABLE QIX;Lo;0;L;;;;;N;;;;; A3FE;YI SYLLABLE QI;Lo;0;L;;;;;N;;;;; A3FF;YI SYLLABLE QIP;Lo;0;L;;;;;N;;;;; A400;YI SYLLABLE QIET;Lo;0;L;;;;;N;;;;; A401;YI SYLLABLE QIEX;Lo;0;L;;;;;N;;;;; A402;YI SYLLABLE QIE;Lo;0;L;;;;;N;;;;; A403;YI SYLLABLE QIEP;Lo;0;L;;;;;N;;;;; A404;YI SYLLABLE QUOT;Lo;0;L;;;;;N;;;;; A405;YI SYLLABLE QUOX;Lo;0;L;;;;;N;;;;; A406;YI SYLLABLE QUO;Lo;0;L;;;;;N;;;;; A407;YI SYLLABLE QUOP;Lo;0;L;;;;;N;;;;; A408;YI SYLLABLE QOT;Lo;0;L;;;;;N;;;;; A409;YI SYLLABLE QOX;Lo;0;L;;;;;N;;;;; A40A;YI SYLLABLE QO;Lo;0;L;;;;;N;;;;; A40B;YI SYLLABLE QOP;Lo;0;L;;;;;N;;;;; A40C;YI SYLLABLE QUT;Lo;0;L;;;;;N;;;;; A40D;YI SYLLABLE QUX;Lo;0;L;;;;;N;;;;; A40E;YI SYLLABLE QU;Lo;0;L;;;;;N;;;;; A40F;YI SYLLABLE QUP;Lo;0;L;;;;;N;;;;; A410;YI SYLLABLE QURX;Lo;0;L;;;;;N;;;;; A411;YI SYLLABLE QUR;Lo;0;L;;;;;N;;;;; A412;YI SYLLABLE QYT;Lo;0;L;;;;;N;;;;; A413;YI SYLLABLE QYX;Lo;0;L;;;;;N;;;;; A414;YI SYLLABLE QY;Lo;0;L;;;;;N;;;;; A415;YI SYLLABLE QYP;Lo;0;L;;;;;N;;;;; A416;YI SYLLABLE QYRX;Lo;0;L;;;;;N;;;;; A417;YI SYLLABLE QYR;Lo;0;L;;;;;N;;;;; A418;YI SYLLABLE JJIT;Lo;0;L;;;;;N;;;;; A419;YI SYLLABLE JJIX;Lo;0;L;;;;;N;;;;; A41A;YI SYLLABLE JJI;Lo;0;L;;;;;N;;;;; A41B;YI SYLLABLE JJIP;Lo;0;L;;;;;N;;;;; A41C;YI SYLLABLE JJIET;Lo;0;L;;;;;N;;;;; A41D;YI SYLLABLE JJIEX;Lo;0;L;;;;;N;;;;; A41E;YI SYLLABLE JJIE;Lo;0;L;;;;;N;;;;; A41F;YI SYLLABLE JJIEP;Lo;0;L;;;;;N;;;;; A420;YI SYLLABLE JJUOX;Lo;0;L;;;;;N;;;;; A421;YI SYLLABLE JJUO;Lo;0;L;;;;;N;;;;; A422;YI SYLLABLE JJUOP;Lo;0;L;;;;;N;;;;; A423;YI SYLLABLE JJOT;Lo;0;L;;;;;N;;;;; A424;YI SYLLABLE JJOX;Lo;0;L;;;;;N;;;;; A425;YI SYLLABLE JJO;Lo;0;L;;;;;N;;;;; A426;YI SYLLABLE JJOP;Lo;0;L;;;;;N;;;;; A427;YI SYLLABLE JJUT;Lo;0;L;;;;;N;;;;; A428;YI SYLLABLE JJUX;Lo;0;L;;;;;N;;;;; A429;YI SYLLABLE JJU;Lo;0;L;;;;;N;;;;; A42A;YI SYLLABLE JJUP;Lo;0;L;;;;;N;;;;; A42B;YI SYLLABLE JJURX;Lo;0;L;;;;;N;;;;; A42C;YI SYLLABLE JJUR;Lo;0;L;;;;;N;;;;; A42D;YI SYLLABLE JJYT;Lo;0;L;;;;;N;;;;; A42E;YI SYLLABLE JJYX;Lo;0;L;;;;;N;;;;; A42F;YI SYLLABLE JJY;Lo;0;L;;;;;N;;;;; A430;YI SYLLABLE JJYP;Lo;0;L;;;;;N;;;;; A431;YI SYLLABLE NJIT;Lo;0;L;;;;;N;;;;; A432;YI SYLLABLE NJIX;Lo;0;L;;;;;N;;;;; A433;YI SYLLABLE NJI;Lo;0;L;;;;;N;;;;; A434;YI SYLLABLE NJIP;Lo;0;L;;;;;N;;;;; A435;YI SYLLABLE NJIET;Lo;0;L;;;;;N;;;;; A436;YI SYLLABLE NJIEX;Lo;0;L;;;;;N;;;;; A437;YI SYLLABLE NJIE;Lo;0;L;;;;;N;;;;; A438;YI SYLLABLE NJIEP;Lo;0;L;;;;;N;;;;; A439;YI SYLLABLE NJUOX;Lo;0;L;;;;;N;;;;; A43A;YI SYLLABLE NJUO;Lo;0;L;;;;;N;;;;; A43B;YI SYLLABLE NJOT;Lo;0;L;;;;;N;;;;; A43C;YI SYLLABLE NJOX;Lo;0;L;;;;;N;;;;; A43D;YI SYLLABLE NJO;Lo;0;L;;;;;N;;;;; A43E;YI SYLLABLE NJOP;Lo;0;L;;;;;N;;;;; A43F;YI SYLLABLE NJUX;Lo;0;L;;;;;N;;;;; A440;YI SYLLABLE NJU;Lo;0;L;;;;;N;;;;; A441;YI SYLLABLE NJUP;Lo;0;L;;;;;N;;;;; A442;YI SYLLABLE NJURX;Lo;0;L;;;;;N;;;;; A443;YI SYLLABLE NJUR;Lo;0;L;;;;;N;;;;; A444;YI SYLLABLE NJYT;Lo;0;L;;;;;N;;;;; A445;YI SYLLABLE NJYX;Lo;0;L;;;;;N;;;;; A446;YI SYLLABLE NJY;Lo;0;L;;;;;N;;;;; A447;YI SYLLABLE NJYP;Lo;0;L;;;;;N;;;;; A448;YI SYLLABLE NJYRX;Lo;0;L;;;;;N;;;;; A449;YI SYLLABLE NJYR;Lo;0;L;;;;;N;;;;; A44A;YI SYLLABLE NYIT;Lo;0;L;;;;;N;;;;; A44B;YI SYLLABLE NYIX;Lo;0;L;;;;;N;;;;; A44C;YI SYLLABLE NYI;Lo;0;L;;;;;N;;;;; A44D;YI SYLLABLE NYIP;Lo;0;L;;;;;N;;;;; A44E;YI SYLLABLE NYIET;Lo;0;L;;;;;N;;;;; A44F;YI SYLLABLE NYIEX;Lo;0;L;;;;;N;;;;; A450;YI SYLLABLE NYIE;Lo;0;L;;;;;N;;;;; A451;YI SYLLABLE NYIEP;Lo;0;L;;;;;N;;;;; A452;YI SYLLABLE NYUOX;Lo;0;L;;;;;N;;;;; A453;YI SYLLABLE NYUO;Lo;0;L;;;;;N;;;;; A454;YI SYLLABLE NYUOP;Lo;0;L;;;;;N;;;;; A455;YI SYLLABLE NYOT;Lo;0;L;;;;;N;;;;; A456;YI SYLLABLE NYOX;Lo;0;L;;;;;N;;;;; A457;YI SYLLABLE NYO;Lo;0;L;;;;;N;;;;; A458;YI SYLLABLE NYOP;Lo;0;L;;;;;N;;;;; A459;YI SYLLABLE NYUT;Lo;0;L;;;;;N;;;;; A45A;YI SYLLABLE NYUX;Lo;0;L;;;;;N;;;;; A45B;YI SYLLABLE NYU;Lo;0;L;;;;;N;;;;; A45C;YI SYLLABLE NYUP;Lo;0;L;;;;;N;;;;; A45D;YI SYLLABLE XIT;Lo;0;L;;;;;N;;;;; A45E;YI SYLLABLE XIX;Lo;0;L;;;;;N;;;;; A45F;YI SYLLABLE XI;Lo;0;L;;;;;N;;;;; A460;YI SYLLABLE XIP;Lo;0;L;;;;;N;;;;; A461;YI SYLLABLE XIET;Lo;0;L;;;;;N;;;;; A462;YI SYLLABLE XIEX;Lo;0;L;;;;;N;;;;; A463;YI SYLLABLE XIE;Lo;0;L;;;;;N;;;;; A464;YI SYLLABLE XIEP;Lo;0;L;;;;;N;;;;; A465;YI SYLLABLE XUOX;Lo;0;L;;;;;N;;;;; A466;YI SYLLABLE XUO;Lo;0;L;;;;;N;;;;; A467;YI SYLLABLE XOT;Lo;0;L;;;;;N;;;;; A468;YI SYLLABLE XOX;Lo;0;L;;;;;N;;;;; A469;YI SYLLABLE XO;Lo;0;L;;;;;N;;;;; A46A;YI SYLLABLE XOP;Lo;0;L;;;;;N;;;;; A46B;YI SYLLABLE XYT;Lo;0;L;;;;;N;;;;; A46C;YI SYLLABLE XYX;Lo;0;L;;;;;N;;;;; A46D;YI SYLLABLE XY;Lo;0;L;;;;;N;;;;; A46E;YI SYLLABLE XYP;Lo;0;L;;;;;N;;;;; A46F;YI SYLLABLE XYRX;Lo;0;L;;;;;N;;;;; A470;YI SYLLABLE XYR;Lo;0;L;;;;;N;;;;; A471;YI SYLLABLE YIT;Lo;0;L;;;;;N;;;;; A472;YI SYLLABLE YIX;Lo;0;L;;;;;N;;;;; A473;YI SYLLABLE YI;Lo;0;L;;;;;N;;;;; A474;YI SYLLABLE YIP;Lo;0;L;;;;;N;;;;; A475;YI SYLLABLE YIET;Lo;0;L;;;;;N;;;;; A476;YI SYLLABLE YIEX;Lo;0;L;;;;;N;;;;; A477;YI SYLLABLE YIE;Lo;0;L;;;;;N;;;;; A478;YI SYLLABLE YIEP;Lo;0;L;;;;;N;;;;; A479;YI SYLLABLE YUOT;Lo;0;L;;;;;N;;;;; A47A;YI SYLLABLE YUOX;Lo;0;L;;;;;N;;;;; A47B;YI SYLLABLE YUO;Lo;0;L;;;;;N;;;;; A47C;YI SYLLABLE YUOP;Lo;0;L;;;;;N;;;;; A47D;YI SYLLABLE YOT;Lo;0;L;;;;;N;;;;; A47E;YI SYLLABLE YOX;Lo;0;L;;;;;N;;;;; A47F;YI SYLLABLE YO;Lo;0;L;;;;;N;;;;; A480;YI SYLLABLE YOP;Lo;0;L;;;;;N;;;;; A481;YI SYLLABLE YUT;Lo;0;L;;;;;N;;;;; A482;YI SYLLABLE YUX;Lo;0;L;;;;;N;;;;; A483;YI SYLLABLE YU;Lo;0;L;;;;;N;;;;; A484;YI SYLLABLE YUP;Lo;0;L;;;;;N;;;;; A485;YI SYLLABLE YURX;Lo;0;L;;;;;N;;;;; A486;YI SYLLABLE YUR;Lo;0;L;;;;;N;;;;; A487;YI SYLLABLE YYT;Lo;0;L;;;;;N;;;;; A488;YI SYLLABLE YYX;Lo;0;L;;;;;N;;;;; A489;YI SYLLABLE YY;Lo;0;L;;;;;N;;;;; A48A;YI SYLLABLE YYP;Lo;0;L;;;;;N;;;;; A48B;YI SYLLABLE YYRX;Lo;0;L;;;;;N;;;;; A48C;YI SYLLABLE YYR;Lo;0;L;;;;;N;;;;; A490;YI RADICAL QOT;So;0;ON;;;;;N;;;;; A491;YI RADICAL LI;So;0;ON;;;;;N;;;;; A492;YI RADICAL KIT;So;0;ON;;;;;N;;;;; A493;YI RADICAL NYIP;So;0;ON;;;;;N;;;;; A494;YI RADICAL CYP;So;0;ON;;;;;N;;;;; A495;YI RADICAL SSI;So;0;ON;;;;;N;;;;; A496;YI RADICAL GGOP;So;0;ON;;;;;N;;;;; A497;YI RADICAL GEP;So;0;ON;;;;;N;;;;; A498;YI RADICAL MI;So;0;ON;;;;;N;;;;; A499;YI RADICAL HXIT;So;0;ON;;;;;N;;;;; A49A;YI RADICAL LYR;So;0;ON;;;;;N;;;;; A49B;YI RADICAL BBUT;So;0;ON;;;;;N;;;;; A49C;YI RADICAL MOP;So;0;ON;;;;;N;;;;; A49D;YI RADICAL YO;So;0;ON;;;;;N;;;;; A49E;YI RADICAL PUT;So;0;ON;;;;;N;;;;; A49F;YI RADICAL HXUO;So;0;ON;;;;;N;;;;; A4A0;YI RADICAL TAT;So;0;ON;;;;;N;;;;; A4A1;YI RADICAL GA;So;0;ON;;;;;N;;;;; A4A2;YI RADICAL ZUP;So;0;ON;;;;;N;;;;; A4A3;YI RADICAL CYT;So;0;ON;;;;;N;;;;; A4A4;YI RADICAL DDUR;So;0;ON;;;;;N;;;;; A4A5;YI RADICAL BUR;So;0;ON;;;;;N;;;;; A4A6;YI RADICAL GGUO;So;0;ON;;;;;N;;;;; A4A7;YI RADICAL NYOP;So;0;ON;;;;;N;;;;; A4A8;YI RADICAL TU;So;0;ON;;;;;N;;;;; A4A9;YI RADICAL OP;So;0;ON;;;;;N;;;;; A4AA;YI RADICAL JJUT;So;0;ON;;;;;N;;;;; A4AB;YI RADICAL ZOT;So;0;ON;;;;;N;;;;; A4AC;YI RADICAL PYT;So;0;ON;;;;;N;;;;; A4AD;YI RADICAL HMO;So;0;ON;;;;;N;;;;; A4AE;YI RADICAL YIT;So;0;ON;;;;;N;;;;; A4AF;YI RADICAL VUR;So;0;ON;;;;;N;;;;; A4B0;YI RADICAL SHY;So;0;ON;;;;;N;;;;; A4B1;YI RADICAL VEP;So;0;ON;;;;;N;;;;; A4B2;YI RADICAL ZA;So;0;ON;;;;;N;;;;; A4B3;YI RADICAL JO;So;0;ON;;;;;N;;;;; A4B4;YI RADICAL NZUP;So;0;ON;;;;;N;;;;; A4B5;YI RADICAL JJY;So;0;ON;;;;;N;;;;; A4B6;YI RADICAL GOT;So;0;ON;;;;;N;;;;; A4B7;YI RADICAL JJIE;So;0;ON;;;;;N;;;;; A4B8;YI RADICAL WO;So;0;ON;;;;;N;;;;; A4B9;YI RADICAL DU;So;0;ON;;;;;N;;;;; A4BA;YI RADICAL SHUR;So;0;ON;;;;;N;;;;; A4BB;YI RADICAL LIE;So;0;ON;;;;;N;;;;; A4BC;YI RADICAL CY;So;0;ON;;;;;N;;;;; A4BD;YI RADICAL CUOP;So;0;ON;;;;;N;;;;; A4BE;YI RADICAL CIP;So;0;ON;;;;;N;;;;; A4BF;YI RADICAL HXOP;So;0;ON;;;;;N;;;;; A4C0;YI RADICAL SHAT;So;0;ON;;;;;N;;;;; A4C1;YI RADICAL ZUR;So;0;ON;;;;;N;;;;; A4C2;YI RADICAL SHOP;So;0;ON;;;;;N;;;;; A4C3;YI RADICAL CHE;So;0;ON;;;;;N;;;;; A4C4;YI RADICAL ZZIET;So;0;ON;;;;;N;;;;; A4C5;YI RADICAL NBIE;So;0;ON;;;;;N;;;;; A4C6;YI RADICAL KE;So;0;ON;;;;;N;;;;; AC00;;Lo;0;L;;;;;N;;;;; D7A3;;Lo;0;L;;;;;N;;;;; D800;;Cs;0;L;;;;;N;;;;; DB7F;;Cs;0;L;;;;;N;;;;; DB80;;Cs;0;L;;;;;N;;;;; DBFF;;Cs;0;L;;;;;N;;;;; DC00;;Cs;0;L;;;;;N;;;;; DFFF;;Cs;0;L;;;;;N;;;;; E000;;Co;0;L;;;;;N;;;;; F8FF;;Co;0;L;;;;;N;;;;; F900;CJK COMPATIBILITY IDEOGRAPH-F900;Lo;0;L;8C48;;;;N;;;;; F901;CJK COMPATIBILITY IDEOGRAPH-F901;Lo;0;L;66F4;;;;N;;;;; F902;CJK COMPATIBILITY IDEOGRAPH-F902;Lo;0;L;8ECA;;;;N;;;;; F903;CJK COMPATIBILITY IDEOGRAPH-F903;Lo;0;L;8CC8;;;;N;;;;; F904;CJK COMPATIBILITY IDEOGRAPH-F904;Lo;0;L;6ED1;;;;N;;;;; F905;CJK COMPATIBILITY IDEOGRAPH-F905;Lo;0;L;4E32;;;;N;;;;; F906;CJK COMPATIBILITY IDEOGRAPH-F906;Lo;0;L;53E5;;;;N;;;;; F907;CJK COMPATIBILITY IDEOGRAPH-F907;Lo;0;L;9F9C;;;;N;;;;; F908;CJK COMPATIBILITY IDEOGRAPH-F908;Lo;0;L;9F9C;;;;N;;;;; F909;CJK COMPATIBILITY IDEOGRAPH-F909;Lo;0;L;5951;;;;N;;;;; F90A;CJK COMPATIBILITY IDEOGRAPH-F90A;Lo;0;L;91D1;;;;N;;;;; F90B;CJK COMPATIBILITY IDEOGRAPH-F90B;Lo;0;L;5587;;;;N;;;;; F90C;CJK COMPATIBILITY IDEOGRAPH-F90C;Lo;0;L;5948;;;;N;;;;; F90D;CJK COMPATIBILITY IDEOGRAPH-F90D;Lo;0;L;61F6;;;;N;;;;; F90E;CJK COMPATIBILITY IDEOGRAPH-F90E;Lo;0;L;7669;;;;N;;;;; F90F;CJK COMPATIBILITY IDEOGRAPH-F90F;Lo;0;L;7F85;;;;N;;;;; F910;CJK COMPATIBILITY IDEOGRAPH-F910;Lo;0;L;863F;;;;N;;;;; F911;CJK COMPATIBILITY IDEOGRAPH-F911;Lo;0;L;87BA;;;;N;;;;; F912;CJK COMPATIBILITY IDEOGRAPH-F912;Lo;0;L;88F8;;;;N;;;;; F913;CJK COMPATIBILITY IDEOGRAPH-F913;Lo;0;L;908F;;;;N;;;;; F914;CJK COMPATIBILITY IDEOGRAPH-F914;Lo;0;L;6A02;;;;N;;;;; F915;CJK COMPATIBILITY IDEOGRAPH-F915;Lo;0;L;6D1B;;;;N;;;;; F916;CJK COMPATIBILITY IDEOGRAPH-F916;Lo;0;L;70D9;;;;N;;;;; F917;CJK COMPATIBILITY IDEOGRAPH-F917;Lo;0;L;73DE;;;;N;;;;; F918;CJK COMPATIBILITY IDEOGRAPH-F918;Lo;0;L;843D;;;;N;;;;; F919;CJK COMPATIBILITY IDEOGRAPH-F919;Lo;0;L;916A;;;;N;;;;; F91A;CJK COMPATIBILITY IDEOGRAPH-F91A;Lo;0;L;99F1;;;;N;;;;; F91B;CJK COMPATIBILITY IDEOGRAPH-F91B;Lo;0;L;4E82;;;;N;;;;; F91C;CJK COMPATIBILITY IDEOGRAPH-F91C;Lo;0;L;5375;;;;N;;;;; F91D;CJK COMPATIBILITY IDEOGRAPH-F91D;Lo;0;L;6B04;;;;N;;;;; F91E;CJK COMPATIBILITY IDEOGRAPH-F91E;Lo;0;L;721B;;;;N;;;;; F91F;CJK COMPATIBILITY IDEOGRAPH-F91F;Lo;0;L;862D;;;;N;;;;; F920;CJK COMPATIBILITY IDEOGRAPH-F920;Lo;0;L;9E1E;;;;N;;;;; F921;CJK COMPATIBILITY IDEOGRAPH-F921;Lo;0;L;5D50;;;;N;;;;; F922;CJK COMPATIBILITY IDEOGRAPH-F922;Lo;0;L;6FEB;;;;N;;;;; F923;CJK COMPATIBILITY IDEOGRAPH-F923;Lo;0;L;85CD;;;;N;;;;; F924;CJK COMPATIBILITY IDEOGRAPH-F924;Lo;0;L;8964;;;;N;;;;; F925;CJK COMPATIBILITY IDEOGRAPH-F925;Lo;0;L;62C9;;;;N;;;;; F926;CJK COMPATIBILITY IDEOGRAPH-F926;Lo;0;L;81D8;;;;N;;;;; F927;CJK COMPATIBILITY IDEOGRAPH-F927;Lo;0;L;881F;;;;N;;;;; F928;CJK COMPATIBILITY IDEOGRAPH-F928;Lo;0;L;5ECA;;;;N;;;;; F929;CJK COMPATIBILITY IDEOGRAPH-F929;Lo;0;L;6717;;;;N;;;;; F92A;CJK COMPATIBILITY IDEOGRAPH-F92A;Lo;0;L;6D6A;;;;N;;;;; F92B;CJK COMPATIBILITY IDEOGRAPH-F92B;Lo;0;L;72FC;;;;N;;;;; F92C;CJK COMPATIBILITY IDEOGRAPH-F92C;Lo;0;L;90CE;;;;N;;;;; F92D;CJK COMPATIBILITY IDEOGRAPH-F92D;Lo;0;L;4F86;;;;N;;;;; F92E;CJK COMPATIBILITY IDEOGRAPH-F92E;Lo;0;L;51B7;;;;N;;;;; F92F;CJK COMPATIBILITY IDEOGRAPH-F92F;Lo;0;L;52DE;;;;N;;;;; F930;CJK COMPATIBILITY IDEOGRAPH-F930;Lo;0;L;64C4;;;;N;;;;; F931;CJK COMPATIBILITY IDEOGRAPH-F931;Lo;0;L;6AD3;;;;N;;;;; F932;CJK COMPATIBILITY IDEOGRAPH-F932;Lo;0;L;7210;;;;N;;;;; F933;CJK COMPATIBILITY IDEOGRAPH-F933;Lo;0;L;76E7;;;;N;;;;; F934;CJK COMPATIBILITY IDEOGRAPH-F934;Lo;0;L;8001;;;;N;;;;; F935;CJK COMPATIBILITY IDEOGRAPH-F935;Lo;0;L;8606;;;;N;;;;; F936;CJK COMPATIBILITY IDEOGRAPH-F936;Lo;0;L;865C;;;;N;;;;; F937;CJK COMPATIBILITY IDEOGRAPH-F937;Lo;0;L;8DEF;;;;N;;;;; F938;CJK COMPATIBILITY IDEOGRAPH-F938;Lo;0;L;9732;;;;N;;;;; F939;CJK COMPATIBILITY IDEOGRAPH-F939;Lo;0;L;9B6F;;;;N;;;;; F93A;CJK COMPATIBILITY IDEOGRAPH-F93A;Lo;0;L;9DFA;;;;N;;;;; F93B;CJK COMPATIBILITY IDEOGRAPH-F93B;Lo;0;L;788C;;;;N;;;;; F93C;CJK COMPATIBILITY IDEOGRAPH-F93C;Lo;0;L;797F;;;;N;;;;; F93D;CJK COMPATIBILITY IDEOGRAPH-F93D;Lo;0;L;7DA0;;;;N;;;;; F93E;CJK COMPATIBILITY IDEOGRAPH-F93E;Lo;0;L;83C9;;;;N;;;;; F93F;CJK COMPATIBILITY IDEOGRAPH-F93F;Lo;0;L;9304;;;;N;;;;; F940;CJK COMPATIBILITY IDEOGRAPH-F940;Lo;0;L;9E7F;;;;N;;;;; F941;CJK COMPATIBILITY IDEOGRAPH-F941;Lo;0;L;8AD6;;;;N;;;;; F942;CJK COMPATIBILITY IDEOGRAPH-F942;Lo;0;L;58DF;;;;N;;;;; F943;CJK COMPATIBILITY IDEOGRAPH-F943;Lo;0;L;5F04;;;;N;;;;; F944;CJK COMPATIBILITY IDEOGRAPH-F944;Lo;0;L;7C60;;;;N;;;;; F945;CJK COMPATIBILITY IDEOGRAPH-F945;Lo;0;L;807E;;;;N;;;;; F946;CJK COMPATIBILITY IDEOGRAPH-F946;Lo;0;L;7262;;;;N;;;;; F947;CJK COMPATIBILITY IDEOGRAPH-F947;Lo;0;L;78CA;;;;N;;;;; F948;CJK COMPATIBILITY IDEOGRAPH-F948;Lo;0;L;8CC2;;;;N;;;;; F949;CJK COMPATIBILITY IDEOGRAPH-F949;Lo;0;L;96F7;;;;N;;;;; F94A;CJK COMPATIBILITY IDEOGRAPH-F94A;Lo;0;L;58D8;;;;N;;;;; F94B;CJK COMPATIBILITY IDEOGRAPH-F94B;Lo;0;L;5C62;;;;N;;;;; F94C;CJK COMPATIBILITY IDEOGRAPH-F94C;Lo;0;L;6A13;;;;N;;;;; F94D;CJK COMPATIBILITY IDEOGRAPH-F94D;Lo;0;L;6DDA;;;;N;;;;; F94E;CJK COMPATIBILITY IDEOGRAPH-F94E;Lo;0;L;6F0F;;;;N;;;;; F94F;CJK COMPATIBILITY IDEOGRAPH-F94F;Lo;0;L;7D2F;;;;N;;;;; F950;CJK COMPATIBILITY IDEOGRAPH-F950;Lo;0;L;7E37;;;;N;;;;; F951;CJK COMPATIBILITY IDEOGRAPH-F951;Lo;0;L;964B;;;;N;;;;; F952;CJK COMPATIBILITY IDEOGRAPH-F952;Lo;0;L;52D2;;;;N;;;;; F953;CJK COMPATIBILITY IDEOGRAPH-F953;Lo;0;L;808B;;;;N;;;;; F954;CJK COMPATIBILITY IDEOGRAPH-F954;Lo;0;L;51DC;;;;N;;;;; F955;CJK COMPATIBILITY IDEOGRAPH-F955;Lo;0;L;51CC;;;;N;;;;; F956;CJK COMPATIBILITY IDEOGRAPH-F956;Lo;0;L;7A1C;;;;N;;;;; F957;CJK COMPATIBILITY IDEOGRAPH-F957;Lo;0;L;7DBE;;;;N;;;;; F958;CJK COMPATIBILITY IDEOGRAPH-F958;Lo;0;L;83F1;;;;N;;;;; F959;CJK COMPATIBILITY IDEOGRAPH-F959;Lo;0;L;9675;;;;N;;;;; F95A;CJK COMPATIBILITY IDEOGRAPH-F95A;Lo;0;L;8B80;;;;N;;;;; F95B;CJK COMPATIBILITY IDEOGRAPH-F95B;Lo;0;L;62CF;;;;N;;;;; F95C;CJK COMPATIBILITY IDEOGRAPH-F95C;Lo;0;L;6A02;;;;N;;;;; F95D;CJK COMPATIBILITY IDEOGRAPH-F95D;Lo;0;L;8AFE;;;;N;;;;; F95E;CJK COMPATIBILITY IDEOGRAPH-F95E;Lo;0;L;4E39;;;;N;;;;; F95F;CJK COMPATIBILITY IDEOGRAPH-F95F;Lo;0;L;5BE7;;;;N;;;;; F960;CJK COMPATIBILITY IDEOGRAPH-F960;Lo;0;L;6012;;;;N;;;;; F961;CJK COMPATIBILITY IDEOGRAPH-F961;Lo;0;L;7387;;;;N;;;;; F962;CJK COMPATIBILITY IDEOGRAPH-F962;Lo;0;L;7570;;;;N;;;;; F963;CJK COMPATIBILITY IDEOGRAPH-F963;Lo;0;L;5317;;;;N;;;;; F964;CJK COMPATIBILITY IDEOGRAPH-F964;Lo;0;L;78FB;;;;N;;;;; F965;CJK COMPATIBILITY IDEOGRAPH-F965;Lo;0;L;4FBF;;;;N;;;;; F966;CJK COMPATIBILITY IDEOGRAPH-F966;Lo;0;L;5FA9;;;;N;;;;; F967;CJK COMPATIBILITY IDEOGRAPH-F967;Lo;0;L;4E0D;;;;N;;;;; F968;CJK COMPATIBILITY IDEOGRAPH-F968;Lo;0;L;6CCC;;;;N;;;;; F969;CJK COMPATIBILITY IDEOGRAPH-F969;Lo;0;L;6578;;;;N;;;;; F96A;CJK COMPATIBILITY IDEOGRAPH-F96A;Lo;0;L;7D22;;;;N;;;;; F96B;CJK COMPATIBILITY IDEOGRAPH-F96B;Lo;0;L;53C3;;;;N;;;;; F96C;CJK COMPATIBILITY IDEOGRAPH-F96C;Lo;0;L;585E;;;;N;;;;; F96D;CJK COMPATIBILITY IDEOGRAPH-F96D;Lo;0;L;7701;;;;N;;;;; F96E;CJK COMPATIBILITY IDEOGRAPH-F96E;Lo;0;L;8449;;;;N;;;;; F96F;CJK COMPATIBILITY IDEOGRAPH-F96F;Lo;0;L;8AAA;;;;N;;;;; F970;CJK COMPATIBILITY IDEOGRAPH-F970;Lo;0;L;6BBA;;;;N;;;;; F971;CJK COMPATIBILITY IDEOGRAPH-F971;Lo;0;L;8FB0;;;;N;;;;; F972;CJK COMPATIBILITY IDEOGRAPH-F972;Lo;0;L;6C88;;;;N;;;;; F973;CJK COMPATIBILITY IDEOGRAPH-F973;Lo;0;L;62FE;;;;N;;;;; F974;CJK COMPATIBILITY IDEOGRAPH-F974;Lo;0;L;82E5;;;;N;;;;; F975;CJK COMPATIBILITY IDEOGRAPH-F975;Lo;0;L;63A0;;;;N;;;;; F976;CJK COMPATIBILITY IDEOGRAPH-F976;Lo;0;L;7565;;;;N;;;;; F977;CJK COMPATIBILITY IDEOGRAPH-F977;Lo;0;L;4EAE;;;;N;;;;; F978;CJK COMPATIBILITY IDEOGRAPH-F978;Lo;0;L;5169;;;;N;;;;; F979;CJK COMPATIBILITY IDEOGRAPH-F979;Lo;0;L;51C9;;;;N;;;;; F97A;CJK COMPATIBILITY IDEOGRAPH-F97A;Lo;0;L;6881;;;;N;;;;; F97B;CJK COMPATIBILITY IDEOGRAPH-F97B;Lo;0;L;7CE7;;;;N;;;;; F97C;CJK COMPATIBILITY IDEOGRAPH-F97C;Lo;0;L;826F;;;;N;;;;; F97D;CJK COMPATIBILITY IDEOGRAPH-F97D;Lo;0;L;8AD2;;;;N;;;;; F97E;CJK COMPATIBILITY IDEOGRAPH-F97E;Lo;0;L;91CF;;;;N;;;;; F97F;CJK COMPATIBILITY IDEOGRAPH-F97F;Lo;0;L;52F5;;;;N;;;;; F980;CJK COMPATIBILITY IDEOGRAPH-F980;Lo;0;L;5442;;;;N;;;;; F981;CJK COMPATIBILITY IDEOGRAPH-F981;Lo;0;L;5973;;;;N;;;;; F982;CJK COMPATIBILITY IDEOGRAPH-F982;Lo;0;L;5EEC;;;;N;;;;; F983;CJK COMPATIBILITY IDEOGRAPH-F983;Lo;0;L;65C5;;;;N;;;;; F984;CJK COMPATIBILITY IDEOGRAPH-F984;Lo;0;L;6FFE;;;;N;;;;; F985;CJK COMPATIBILITY IDEOGRAPH-F985;Lo;0;L;792A;;;;N;;;;; F986;CJK COMPATIBILITY IDEOGRAPH-F986;Lo;0;L;95AD;;;;N;;;;; F987;CJK COMPATIBILITY IDEOGRAPH-F987;Lo;0;L;9A6A;;;;N;;;;; F988;CJK COMPATIBILITY IDEOGRAPH-F988;Lo;0;L;9E97;;;;N;;;;; F989;CJK COMPATIBILITY IDEOGRAPH-F989;Lo;0;L;9ECE;;;;N;;;;; F98A;CJK COMPATIBILITY IDEOGRAPH-F98A;Lo;0;L;529B;;;;N;;;;; F98B;CJK COMPATIBILITY IDEOGRAPH-F98B;Lo;0;L;66C6;;;;N;;;;; F98C;CJK COMPATIBILITY IDEOGRAPH-F98C;Lo;0;L;6B77;;;;N;;;;; F98D;CJK COMPATIBILITY IDEOGRAPH-F98D;Lo;0;L;8F62;;;;N;;;;; F98E;CJK COMPATIBILITY IDEOGRAPH-F98E;Lo;0;L;5E74;;;;N;;;;; F98F;CJK COMPATIBILITY IDEOGRAPH-F98F;Lo;0;L;6190;;;;N;;;;; F990;CJK COMPATIBILITY IDEOGRAPH-F990;Lo;0;L;6200;;;;N;;;;; F991;CJK COMPATIBILITY IDEOGRAPH-F991;Lo;0;L;649A;;;;N;;;;; F992;CJK COMPATIBILITY IDEOGRAPH-F992;Lo;0;L;6F23;;;;N;;;;; F993;CJK COMPATIBILITY IDEOGRAPH-F993;Lo;0;L;7149;;;;N;;;;; F994;CJK COMPATIBILITY IDEOGRAPH-F994;Lo;0;L;7489;;;;N;;;;; F995;CJK COMPATIBILITY IDEOGRAPH-F995;Lo;0;L;79CA;;;;N;;;;; F996;CJK COMPATIBILITY IDEOGRAPH-F996;Lo;0;L;7DF4;;;;N;;;;; F997;CJK COMPATIBILITY IDEOGRAPH-F997;Lo;0;L;806F;;;;N;;;;; F998;CJK COMPATIBILITY IDEOGRAPH-F998;Lo;0;L;8F26;;;;N;;;;; F999;CJK COMPATIBILITY IDEOGRAPH-F999;Lo;0;L;84EE;;;;N;;;;; F99A;CJK COMPATIBILITY IDEOGRAPH-F99A;Lo;0;L;9023;;;;N;;;;; F99B;CJK COMPATIBILITY IDEOGRAPH-F99B;Lo;0;L;934A;;;;N;;;;; F99C;CJK COMPATIBILITY IDEOGRAPH-F99C;Lo;0;L;5217;;;;N;;;;; F99D;CJK COMPATIBILITY IDEOGRAPH-F99D;Lo;0;L;52A3;;;;N;;;;; F99E;CJK COMPATIBILITY IDEOGRAPH-F99E;Lo;0;L;54BD;;;;N;;;;; F99F;CJK COMPATIBILITY IDEOGRAPH-F99F;Lo;0;L;70C8;;;;N;;;;; F9A0;CJK COMPATIBILITY IDEOGRAPH-F9A0;Lo;0;L;88C2;;;;N;;;;; F9A1;CJK COMPATIBILITY IDEOGRAPH-F9A1;Lo;0;L;8AAA;;;;N;;;;; F9A2;CJK COMPATIBILITY IDEOGRAPH-F9A2;Lo;0;L;5EC9;;;;N;;;;; F9A3;CJK COMPATIBILITY IDEOGRAPH-F9A3;Lo;0;L;5FF5;;;;N;;;;; F9A4;CJK COMPATIBILITY IDEOGRAPH-F9A4;Lo;0;L;637B;;;;N;;;;; F9A5;CJK COMPATIBILITY IDEOGRAPH-F9A5;Lo;0;L;6BAE;;;;N;;;;; F9A6;CJK COMPATIBILITY IDEOGRAPH-F9A6;Lo;0;L;7C3E;;;;N;;;;; F9A7;CJK COMPATIBILITY IDEOGRAPH-F9A7;Lo;0;L;7375;;;;N;;;;; F9A8;CJK COMPATIBILITY IDEOGRAPH-F9A8;Lo;0;L;4EE4;;;;N;;;;; F9A9;CJK COMPATIBILITY IDEOGRAPH-F9A9;Lo;0;L;56F9;;;;N;;;;; F9AA;CJK COMPATIBILITY IDEOGRAPH-F9AA;Lo;0;L;5BE7;;;;N;;;;; F9AB;CJK COMPATIBILITY IDEOGRAPH-F9AB;Lo;0;L;5DBA;;;;N;;;;; F9AC;CJK COMPATIBILITY IDEOGRAPH-F9AC;Lo;0;L;601C;;;;N;;;;; F9AD;CJK COMPATIBILITY IDEOGRAPH-F9AD;Lo;0;L;73B2;;;;N;;;;; F9AE;CJK COMPATIBILITY IDEOGRAPH-F9AE;Lo;0;L;7469;;;;N;;;;; F9AF;CJK COMPATIBILITY IDEOGRAPH-F9AF;Lo;0;L;7F9A;;;;N;;;;; F9B0;CJK COMPATIBILITY IDEOGRAPH-F9B0;Lo;0;L;8046;;;;N;;;;; F9B1;CJK COMPATIBILITY IDEOGRAPH-F9B1;Lo;0;L;9234;;;;N;;;;; F9B2;CJK COMPATIBILITY IDEOGRAPH-F9B2;Lo;0;L;96F6;;;;N;;;;; F9B3;CJK COMPATIBILITY IDEOGRAPH-F9B3;Lo;0;L;9748;;;;N;;;;; F9B4;CJK COMPATIBILITY IDEOGRAPH-F9B4;Lo;0;L;9818;;;;N;;;;; F9B5;CJK COMPATIBILITY IDEOGRAPH-F9B5;Lo;0;L;4F8B;;;;N;;;;; F9B6;CJK COMPATIBILITY IDEOGRAPH-F9B6;Lo;0;L;79AE;;;;N;;;;; F9B7;CJK COMPATIBILITY IDEOGRAPH-F9B7;Lo;0;L;91B4;;;;N;;;;; F9B8;CJK COMPATIBILITY IDEOGRAPH-F9B8;Lo;0;L;96B8;;;;N;;;;; F9B9;CJK COMPATIBILITY IDEOGRAPH-F9B9;Lo;0;L;60E1;;;;N;;;;; F9BA;CJK COMPATIBILITY IDEOGRAPH-F9BA;Lo;0;L;4E86;;;;N;;;;; F9BB;CJK COMPATIBILITY IDEOGRAPH-F9BB;Lo;0;L;50DA;;;;N;;;;; F9BC;CJK COMPATIBILITY IDEOGRAPH-F9BC;Lo;0;L;5BEE;;;;N;;;;; F9BD;CJK COMPATIBILITY IDEOGRAPH-F9BD;Lo;0;L;5C3F;;;;N;;;;; F9BE;CJK COMPATIBILITY IDEOGRAPH-F9BE;Lo;0;L;6599;;;;N;;;;; F9BF;CJK COMPATIBILITY IDEOGRAPH-F9BF;Lo;0;L;6A02;;;;N;;;;; F9C0;CJK COMPATIBILITY IDEOGRAPH-F9C0;Lo;0;L;71CE;;;;N;;;;; F9C1;CJK COMPATIBILITY IDEOGRAPH-F9C1;Lo;0;L;7642;;;;N;;;;; F9C2;CJK COMPATIBILITY IDEOGRAPH-F9C2;Lo;0;L;84FC;;;;N;;;;; F9C3;CJK COMPATIBILITY IDEOGRAPH-F9C3;Lo;0;L;907C;;;;N;;;;; F9C4;CJK COMPATIBILITY IDEOGRAPH-F9C4;Lo;0;L;9F8D;;;;N;;;;; F9C5;CJK COMPATIBILITY IDEOGRAPH-F9C5;Lo;0;L;6688;;;;N;;;;; F9C6;CJK COMPATIBILITY IDEOGRAPH-F9C6;Lo;0;L;962E;;;;N;;;;; F9C7;CJK COMPATIBILITY IDEOGRAPH-F9C7;Lo;0;L;5289;;;;N;;;;; F9C8;CJK COMPATIBILITY IDEOGRAPH-F9C8;Lo;0;L;677B;;;;N;;;;; F9C9;CJK COMPATIBILITY IDEOGRAPH-F9C9;Lo;0;L;67F3;;;;N;;;;; F9CA;CJK COMPATIBILITY IDEOGRAPH-F9CA;Lo;0;L;6D41;;;;N;;;;; F9CB;CJK COMPATIBILITY IDEOGRAPH-F9CB;Lo;0;L;6E9C;;;;N;;;;; F9CC;CJK COMPATIBILITY IDEOGRAPH-F9CC;Lo;0;L;7409;;;;N;;;;; F9CD;CJK COMPATIBILITY IDEOGRAPH-F9CD;Lo;0;L;7559;;;;N;;;;; F9CE;CJK COMPATIBILITY IDEOGRAPH-F9CE;Lo;0;L;786B;;;;N;;;;; F9CF;CJK COMPATIBILITY IDEOGRAPH-F9CF;Lo;0;L;7D10;;;;N;;;;; F9D0;CJK COMPATIBILITY IDEOGRAPH-F9D0;Lo;0;L;985E;;;;N;;;;; F9D1;CJK COMPATIBILITY IDEOGRAPH-F9D1;Lo;0;L;516D;;;;N;;;;; F9D2;CJK COMPATIBILITY IDEOGRAPH-F9D2;Lo;0;L;622E;;;;N;;;;; F9D3;CJK COMPATIBILITY IDEOGRAPH-F9D3;Lo;0;L;9678;;;;N;;;;; F9D4;CJK COMPATIBILITY IDEOGRAPH-F9D4;Lo;0;L;502B;;;;N;;;;; F9D5;CJK COMPATIBILITY IDEOGRAPH-F9D5;Lo;0;L;5D19;;;;N;;;;; F9D6;CJK COMPATIBILITY IDEOGRAPH-F9D6;Lo;0;L;6DEA;;;;N;;;;; F9D7;CJK COMPATIBILITY IDEOGRAPH-F9D7;Lo;0;L;8F2A;;;;N;;;;; F9D8;CJK COMPATIBILITY IDEOGRAPH-F9D8;Lo;0;L;5F8B;;;;N;;;;; F9D9;CJK COMPATIBILITY IDEOGRAPH-F9D9;Lo;0;L;6144;;;;N;;;;; F9DA;CJK COMPATIBILITY IDEOGRAPH-F9DA;Lo;0;L;6817;;;;N;;;;; F9DB;CJK COMPATIBILITY IDEOGRAPH-F9DB;Lo;0;L;7387;;;;N;;;;; F9DC;CJK COMPATIBILITY IDEOGRAPH-F9DC;Lo;0;L;9686;;;;N;;;;; F9DD;CJK COMPATIBILITY IDEOGRAPH-F9DD;Lo;0;L;5229;;;;N;;;;; F9DE;CJK COMPATIBILITY IDEOGRAPH-F9DE;Lo;0;L;540F;;;;N;;;;; F9DF;CJK COMPATIBILITY IDEOGRAPH-F9DF;Lo;0;L;5C65;;;;N;;;;; F9E0;CJK COMPATIBILITY IDEOGRAPH-F9E0;Lo;0;L;6613;;;;N;;;;; F9E1;CJK COMPATIBILITY IDEOGRAPH-F9E1;Lo;0;L;674E;;;;N;;;;; F9E2;CJK COMPATIBILITY IDEOGRAPH-F9E2;Lo;0;L;68A8;;;;N;;;;; F9E3;CJK COMPATIBILITY IDEOGRAPH-F9E3;Lo;0;L;6CE5;;;;N;;;;; F9E4;CJK COMPATIBILITY IDEOGRAPH-F9E4;Lo;0;L;7406;;;;N;;;;; F9E5;CJK COMPATIBILITY IDEOGRAPH-F9E5;Lo;0;L;75E2;;;;N;;;;; F9E6;CJK COMPATIBILITY IDEOGRAPH-F9E6;Lo;0;L;7F79;;;;N;;;;; F9E7;CJK COMPATIBILITY IDEOGRAPH-F9E7;Lo;0;L;88CF;;;;N;;;;; F9E8;CJK COMPATIBILITY IDEOGRAPH-F9E8;Lo;0;L;88E1;;;;N;;;;; F9E9;CJK COMPATIBILITY IDEOGRAPH-F9E9;Lo;0;L;91CC;;;;N;;;;; F9EA;CJK COMPATIBILITY IDEOGRAPH-F9EA;Lo;0;L;96E2;;;;N;;;;; F9EB;CJK COMPATIBILITY IDEOGRAPH-F9EB;Lo;0;L;533F;;;;N;;;;; F9EC;CJK COMPATIBILITY IDEOGRAPH-F9EC;Lo;0;L;6EBA;;;;N;;;;; F9ED;CJK COMPATIBILITY IDEOGRAPH-F9ED;Lo;0;L;541D;;;;N;;;;; F9EE;CJK COMPATIBILITY IDEOGRAPH-F9EE;Lo;0;L;71D0;;;;N;;;;; F9EF;CJK COMPATIBILITY IDEOGRAPH-F9EF;Lo;0;L;7498;;;;N;;;;; F9F0;CJK COMPATIBILITY IDEOGRAPH-F9F0;Lo;0;L;85FA;;;;N;;;;; F9F1;CJK COMPATIBILITY IDEOGRAPH-F9F1;Lo;0;L;96A3;;;;N;;;;; F9F2;CJK COMPATIBILITY IDEOGRAPH-F9F2;Lo;0;L;9C57;;;;N;;;;; F9F3;CJK COMPATIBILITY IDEOGRAPH-F9F3;Lo;0;L;9E9F;;;;N;;;;; F9F4;CJK COMPATIBILITY IDEOGRAPH-F9F4;Lo;0;L;6797;;;;N;;;;; F9F5;CJK COMPATIBILITY IDEOGRAPH-F9F5;Lo;0;L;6DCB;;;;N;;;;; F9F6;CJK COMPATIBILITY IDEOGRAPH-F9F6;Lo;0;L;81E8;;;;N;;;;; F9F7;CJK COMPATIBILITY IDEOGRAPH-F9F7;Lo;0;L;7ACB;;;;N;;;;; F9F8;CJK COMPATIBILITY IDEOGRAPH-F9F8;Lo;0;L;7B20;;;;N;;;;; F9F9;CJK COMPATIBILITY IDEOGRAPH-F9F9;Lo;0;L;7C92;;;;N;;;;; F9FA;CJK COMPATIBILITY IDEOGRAPH-F9FA;Lo;0;L;72C0;;;;N;;;;; F9FB;CJK COMPATIBILITY IDEOGRAPH-F9FB;Lo;0;L;7099;;;;N;;;;; F9FC;CJK COMPATIBILITY IDEOGRAPH-F9FC;Lo;0;L;8B58;;;;N;;;;; F9FD;CJK COMPATIBILITY IDEOGRAPH-F9FD;Lo;0;L;4EC0;;;;N;;;;; F9FE;CJK COMPATIBILITY IDEOGRAPH-F9FE;Lo;0;L;8336;;;;N;;;;; F9FF;CJK COMPATIBILITY IDEOGRAPH-F9FF;Lo;0;L;523A;;;;N;;;;; FA00;CJK COMPATIBILITY IDEOGRAPH-FA00;Lo;0;L;5207;;;;N;;;;; FA01;CJK COMPATIBILITY IDEOGRAPH-FA01;Lo;0;L;5EA6;;;;N;;;;; FA02;CJK COMPATIBILITY IDEOGRAPH-FA02;Lo;0;L;62D3;;;;N;;;;; FA03;CJK COMPATIBILITY IDEOGRAPH-FA03;Lo;0;L;7CD6;;;;N;;;;; FA04;CJK COMPATIBILITY IDEOGRAPH-FA04;Lo;0;L;5B85;;;;N;;;;; FA05;CJK COMPATIBILITY IDEOGRAPH-FA05;Lo;0;L;6D1E;;;;N;;;;; FA06;CJK COMPATIBILITY IDEOGRAPH-FA06;Lo;0;L;66B4;;;;N;;;;; FA07;CJK COMPATIBILITY IDEOGRAPH-FA07;Lo;0;L;8F3B;;;;N;;;;; FA08;CJK COMPATIBILITY IDEOGRAPH-FA08;Lo;0;L;884C;;;;N;;;;; FA09;CJK COMPATIBILITY IDEOGRAPH-FA09;Lo;0;L;964D;;;;N;;;;; FA0A;CJK COMPATIBILITY IDEOGRAPH-FA0A;Lo;0;L;898B;;;;N;;;;; FA0B;CJK COMPATIBILITY IDEOGRAPH-FA0B;Lo;0;L;5ED3;;;;N;;;;; FA0C;CJK COMPATIBILITY IDEOGRAPH-FA0C;Lo;0;L;5140;;;;N;;;;; FA0D;CJK COMPATIBILITY IDEOGRAPH-FA0D;Lo;0;L;55C0;;;;N;;;;; FA0E;CJK COMPATIBILITY IDEOGRAPH-FA0E;Lo;0;L;;;;;N;;;;; FA0F;CJK COMPATIBILITY IDEOGRAPH-FA0F;Lo;0;L;;;;;N;;;;; FA10;CJK COMPATIBILITY IDEOGRAPH-FA10;Lo;0;L;585A;;;;N;;;;; FA11;CJK COMPATIBILITY IDEOGRAPH-FA11;Lo;0;L;;;;;N;;;;; FA12;CJK COMPATIBILITY IDEOGRAPH-FA12;Lo;0;L;6674;;;;N;;;;; FA13;CJK COMPATIBILITY IDEOGRAPH-FA13;Lo;0;L;;;;;N;;;;; FA14;CJK COMPATIBILITY IDEOGRAPH-FA14;Lo;0;L;;;;;N;;;;; FA15;CJK COMPATIBILITY IDEOGRAPH-FA15;Lo;0;L;51DE;;;;N;;;;; FA16;CJK COMPATIBILITY IDEOGRAPH-FA16;Lo;0;L;732A;;;;N;;;;; FA17;CJK COMPATIBILITY IDEOGRAPH-FA17;Lo;0;L;76CA;;;;N;;;;; FA18;CJK COMPATIBILITY IDEOGRAPH-FA18;Lo;0;L;793C;;;;N;;;;; FA19;CJK COMPATIBILITY IDEOGRAPH-FA19;Lo;0;L;795E;;;;N;;;;; FA1A;CJK COMPATIBILITY IDEOGRAPH-FA1A;Lo;0;L;7965;;;;N;;;;; FA1B;CJK COMPATIBILITY IDEOGRAPH-FA1B;Lo;0;L;798F;;;;N;;;;; FA1C;CJK COMPATIBILITY IDEOGRAPH-FA1C;Lo;0;L;9756;;;;N;;;;; FA1D;CJK COMPATIBILITY IDEOGRAPH-FA1D;Lo;0;L;7CBE;;;;N;;;;; FA1E;CJK COMPATIBILITY IDEOGRAPH-FA1E;Lo;0;L;7FBD;;;;N;;;;; FA1F;CJK COMPATIBILITY IDEOGRAPH-FA1F;Lo;0;L;;;;;N;;*;;; FA20;CJK COMPATIBILITY IDEOGRAPH-FA20;Lo;0;L;8612;;;;N;;;;; FA21;CJK COMPATIBILITY IDEOGRAPH-FA21;Lo;0;L;;;;;N;;;;; FA22;CJK COMPATIBILITY IDEOGRAPH-FA22;Lo;0;L;8AF8;;;;N;;;;; FA23;CJK COMPATIBILITY IDEOGRAPH-FA23;Lo;0;L;;;;;N;;*;;; FA24;CJK COMPATIBILITY IDEOGRAPH-FA24;Lo;0;L;;;;;N;;;;; FA25;CJK COMPATIBILITY IDEOGRAPH-FA25;Lo;0;L;9038;;;;N;;;;; FA26;CJK COMPATIBILITY IDEOGRAPH-FA26;Lo;0;L;90FD;;;;N;;;;; FA27;CJK COMPATIBILITY IDEOGRAPH-FA27;Lo;0;L;;;;;N;;;;; FA28;CJK COMPATIBILITY IDEOGRAPH-FA28;Lo;0;L;;;;;N;;;;; FA29;CJK COMPATIBILITY IDEOGRAPH-FA29;Lo;0;L;;;;;N;;;;; FA2A;CJK COMPATIBILITY IDEOGRAPH-FA2A;Lo;0;L;98EF;;;;N;;;;; FA2B;CJK COMPATIBILITY IDEOGRAPH-FA2B;Lo;0;L;98FC;;;;N;;;;; FA2C;CJK COMPATIBILITY IDEOGRAPH-FA2C;Lo;0;L;9928;;;;N;;;;; FA2D;CJK COMPATIBILITY IDEOGRAPH-FA2D;Lo;0;L;9DB4;;;;N;;;;; FA30;CJK COMPATIBILITY IDEOGRAPH-FA30;Lo;0;L;4FAE;;;;N;;;;; FA31;CJK COMPATIBILITY IDEOGRAPH-FA31;Lo;0;L;50E7;;;;N;;;;; FA32;CJK COMPATIBILITY IDEOGRAPH-FA32;Lo;0;L;514D;;;;N;;;;; FA33;CJK COMPATIBILITY IDEOGRAPH-FA33;Lo;0;L;52C9;;;;N;;;;; FA34;CJK COMPATIBILITY IDEOGRAPH-FA34;Lo;0;L;52E4;;;;N;;;;; FA35;CJK COMPATIBILITY IDEOGRAPH-FA35;Lo;0;L;5351;;;;N;;;;; FA36;CJK COMPATIBILITY IDEOGRAPH-FA36;Lo;0;L;559D;;;;N;;;;; FA37;CJK COMPATIBILITY IDEOGRAPH-FA37;Lo;0;L;5606;;;;N;;;;; FA38;CJK COMPATIBILITY IDEOGRAPH-FA38;Lo;0;L;5668;;;;N;;;;; FA39;CJK COMPATIBILITY IDEOGRAPH-FA39;Lo;0;L;5840;;;;N;;;;; FA3A;CJK COMPATIBILITY IDEOGRAPH-FA3A;Lo;0;L;58A8;;;;N;;;;; FA3B;CJK COMPATIBILITY IDEOGRAPH-FA3B;Lo;0;L;5C64;;;;N;;;;; FA3C;CJK COMPATIBILITY IDEOGRAPH-FA3C;Lo;0;L;5C6E;;;;N;;;;; FA3D;CJK COMPATIBILITY IDEOGRAPH-FA3D;Lo;0;L;6094;;;;N;;;;; FA3E;CJK COMPATIBILITY IDEOGRAPH-FA3E;Lo;0;L;6168;;;;N;;;;; FA3F;CJK COMPATIBILITY IDEOGRAPH-FA3F;Lo;0;L;618E;;;;N;;;;; FA40;CJK COMPATIBILITY IDEOGRAPH-FA40;Lo;0;L;61F2;;;;N;;;;; FA41;CJK COMPATIBILITY IDEOGRAPH-FA41;Lo;0;L;654F;;;;N;;;;; FA42;CJK COMPATIBILITY IDEOGRAPH-FA42;Lo;0;L;65E2;;;;N;;;;; FA43;CJK COMPATIBILITY IDEOGRAPH-FA43;Lo;0;L;6691;;;;N;;;;; FA44;CJK COMPATIBILITY IDEOGRAPH-FA44;Lo;0;L;6885;;;;N;;;;; FA45;CJK COMPATIBILITY IDEOGRAPH-FA45;Lo;0;L;6D77;;;;N;;;;; FA46;CJK COMPATIBILITY IDEOGRAPH-FA46;Lo;0;L;6E1A;;;;N;;;;; FA47;CJK COMPATIBILITY IDEOGRAPH-FA47;Lo;0;L;6F22;;;;N;;;;; FA48;CJK COMPATIBILITY IDEOGRAPH-FA48;Lo;0;L;716E;;;;N;;;;; FA49;CJK COMPATIBILITY IDEOGRAPH-FA49;Lo;0;L;722B;;;;N;;;;; FA4A;CJK COMPATIBILITY IDEOGRAPH-FA4A;Lo;0;L;7422;;;;N;;;;; FA4B;CJK COMPATIBILITY IDEOGRAPH-FA4B;Lo;0;L;7891;;;;N;;;;; FA4C;CJK COMPATIBILITY IDEOGRAPH-FA4C;Lo;0;L;793E;;;;N;;;;; FA4D;CJK COMPATIBILITY IDEOGRAPH-FA4D;Lo;0;L;7949;;;;N;;;;; FA4E;CJK COMPATIBILITY IDEOGRAPH-FA4E;Lo;0;L;7948;;;;N;;;;; FA4F;CJK COMPATIBILITY IDEOGRAPH-FA4F;Lo;0;L;7950;;;;N;;;;; FA50;CJK COMPATIBILITY IDEOGRAPH-FA50;Lo;0;L;7956;;;;N;;;;; FA51;CJK COMPATIBILITY IDEOGRAPH-FA51;Lo;0;L;795D;;;;N;;;;; FA52;CJK COMPATIBILITY IDEOGRAPH-FA52;Lo;0;L;798D;;;;N;;;;; FA53;CJK COMPATIBILITY IDEOGRAPH-FA53;Lo;0;L;798E;;;;N;;;;; FA54;CJK COMPATIBILITY IDEOGRAPH-FA54;Lo;0;L;7A40;;;;N;;;;; FA55;CJK COMPATIBILITY IDEOGRAPH-FA55;Lo;0;L;7A81;;;;N;;;;; FA56;CJK COMPATIBILITY IDEOGRAPH-FA56;Lo;0;L;7BC0;;;;N;;;;; FA57;CJK COMPATIBILITY IDEOGRAPH-FA57;Lo;0;L;7DF4;;;;N;;;;; FA58;CJK COMPATIBILITY IDEOGRAPH-FA58;Lo;0;L;7E09;;;;N;;;;; FA59;CJK COMPATIBILITY IDEOGRAPH-FA59;Lo;0;L;7E41;;;;N;;;;; FA5A;CJK COMPATIBILITY IDEOGRAPH-FA5A;Lo;0;L;7F72;;;;N;;;;; FA5B;CJK COMPATIBILITY IDEOGRAPH-FA5B;Lo;0;L;8005;;;;N;;;;; FA5C;CJK COMPATIBILITY IDEOGRAPH-FA5C;Lo;0;L;81ED;;;;N;;;;; FA5D;CJK COMPATIBILITY IDEOGRAPH-FA5D;Lo;0;L;8279;;;;N;;;;; FA5E;CJK COMPATIBILITY IDEOGRAPH-FA5E;Lo;0;L;8279;;;;N;;;;; FA5F;CJK COMPATIBILITY IDEOGRAPH-FA5F;Lo;0;L;8457;;;;N;;;;; FA60;CJK COMPATIBILITY IDEOGRAPH-FA60;Lo;0;L;8910;;;;N;;;;; FA61;CJK COMPATIBILITY IDEOGRAPH-FA61;Lo;0;L;8996;;;;N;;;;; FA62;CJK COMPATIBILITY IDEOGRAPH-FA62;Lo;0;L;8B01;;;;N;;;;; FA63;CJK COMPATIBILITY IDEOGRAPH-FA63;Lo;0;L;8B39;;;;N;;;;; FA64;CJK COMPATIBILITY IDEOGRAPH-FA64;Lo;0;L;8CD3;;;;N;;;;; FA65;CJK COMPATIBILITY IDEOGRAPH-FA65;Lo;0;L;8D08;;;;N;;;;; FA66;CJK COMPATIBILITY IDEOGRAPH-FA66;Lo;0;L;8FB6;;;;N;;;;; FA67;CJK COMPATIBILITY IDEOGRAPH-FA67;Lo;0;L;9038;;;;N;;;;; FA68;CJK COMPATIBILITY IDEOGRAPH-FA68;Lo;0;L;96E3;;;;N;;;;; FA69;CJK COMPATIBILITY IDEOGRAPH-FA69;Lo;0;L;97FF;;;;N;;;;; FA6A;CJK COMPATIBILITY IDEOGRAPH-FA6A;Lo;0;L;983B;;;;N;;;;; FB00;LATIN SMALL LIGATURE FF;Ll;0;L; 0066 0066;;;;N;;;;; FB01;LATIN SMALL LIGATURE FI;Ll;0;L; 0066 0069;;;;N;;;;; FB02;LATIN SMALL LIGATURE FL;Ll;0;L; 0066 006C;;;;N;;;;; FB03;LATIN SMALL LIGATURE FFI;Ll;0;L; 0066 0066 0069;;;;N;;;;; FB04;LATIN SMALL LIGATURE FFL;Ll;0;L; 0066 0066 006C;;;;N;;;;; FB05;LATIN SMALL LIGATURE LONG S T;Ll;0;L; 017F 0074;;;;N;;;;; FB06;LATIN SMALL LIGATURE ST;Ll;0;L; 0073 0074;;;;N;;;;; FB13;ARMENIAN SMALL LIGATURE MEN NOW;Ll;0;L; 0574 0576;;;;N;;;;; FB14;ARMENIAN SMALL LIGATURE MEN ECH;Ll;0;L; 0574 0565;;;;N;;;;; FB15;ARMENIAN SMALL LIGATURE MEN INI;Ll;0;L; 0574 056B;;;;N;;;;; FB16;ARMENIAN SMALL LIGATURE VEW NOW;Ll;0;L; 057E 0576;;;;N;;;;; FB17;ARMENIAN SMALL LIGATURE MEN XEH;Ll;0;L; 0574 056D;;;;N;;;;; FB1D;HEBREW LETTER YOD WITH HIRIQ;Lo;0;R;05D9 05B4;;;;N;;;;; FB1E;HEBREW POINT JUDEO-SPANISH VARIKA;Mn;26;NSM;;;;;N;HEBREW POINT VARIKA;;;; FB1F;HEBREW LIGATURE YIDDISH YOD YOD PATAH;Lo;0;R;05F2 05B7;;;;N;;;;; FB20;HEBREW LETTER ALTERNATIVE AYIN;Lo;0;R; 05E2;;;;N;;;;; FB21;HEBREW LETTER WIDE ALEF;Lo;0;R; 05D0;;;;N;;;;; FB22;HEBREW LETTER WIDE DALET;Lo;0;R; 05D3;;;;N;;;;; FB23;HEBREW LETTER WIDE HE;Lo;0;R; 05D4;;;;N;;;;; FB24;HEBREW LETTER WIDE KAF;Lo;0;R; 05DB;;;;N;;;;; FB25;HEBREW LETTER WIDE LAMED;Lo;0;R; 05DC;;;;N;;;;; FB26;HEBREW LETTER WIDE FINAL MEM;Lo;0;R; 05DD;;;;N;;;;; FB27;HEBREW LETTER WIDE RESH;Lo;0;R; 05E8;;;;N;;;;; FB28;HEBREW LETTER WIDE TAV;Lo;0;R; 05EA;;;;N;;;;; FB29;HEBREW LETTER ALTERNATIVE PLUS SIGN;Sm;0;ET; 002B;;;;N;;;;; FB2A;HEBREW LETTER SHIN WITH SHIN DOT;Lo;0;R;05E9 05C1;;;;N;;;;; FB2B;HEBREW LETTER SHIN WITH SIN DOT;Lo;0;R;05E9 05C2;;;;N;;;;; FB2C;HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT;Lo;0;R;FB49 05C1;;;;N;;;;; FB2D;HEBREW LETTER SHIN WITH DAGESH AND SIN DOT;Lo;0;R;FB49 05C2;;;;N;;;;; FB2E;HEBREW LETTER ALEF WITH PATAH;Lo;0;R;05D0 05B7;;;;N;;;;; FB2F;HEBREW LETTER ALEF WITH QAMATS;Lo;0;R;05D0 05B8;;;;N;;;;; FB30;HEBREW LETTER ALEF WITH MAPIQ;Lo;0;R;05D0 05BC;;;;N;;;;; FB31;HEBREW LETTER BET WITH DAGESH;Lo;0;R;05D1 05BC;;;;N;;;;; FB32;HEBREW LETTER GIMEL WITH DAGESH;Lo;0;R;05D2 05BC;;;;N;;;;; FB33;HEBREW LETTER DALET WITH DAGESH;Lo;0;R;05D3 05BC;;;;N;;;;; FB34;HEBREW LETTER HE WITH MAPIQ;Lo;0;R;05D4 05BC;;;;N;;;;; FB35;HEBREW LETTER VAV WITH DAGESH;Lo;0;R;05D5 05BC;;;;N;;;;; FB36;HEBREW LETTER ZAYIN WITH DAGESH;Lo;0;R;05D6 05BC;;;;N;;;;; FB38;HEBREW LETTER TET WITH DAGESH;Lo;0;R;05D8 05BC;;;;N;;;;; FB39;HEBREW LETTER YOD WITH DAGESH;Lo;0;R;05D9 05BC;;;;N;;;;; FB3A;HEBREW LETTER FINAL KAF WITH DAGESH;Lo;0;R;05DA 05BC;;;;N;;;;; FB3B;HEBREW LETTER KAF WITH DAGESH;Lo;0;R;05DB 05BC;;;;N;;;;; FB3C;HEBREW LETTER LAMED WITH DAGESH;Lo;0;R;05DC 05BC;;;;N;;;;; FB3E;HEBREW LETTER MEM WITH DAGESH;Lo;0;R;05DE 05BC;;;;N;;;;; FB40;HEBREW LETTER NUN WITH DAGESH;Lo;0;R;05E0 05BC;;;;N;;;;; FB41;HEBREW LETTER SAMEKH WITH DAGESH;Lo;0;R;05E1 05BC;;;;N;;;;; FB43;HEBREW LETTER FINAL PE WITH DAGESH;Lo;0;R;05E3 05BC;;;;N;;;;; FB44;HEBREW LETTER PE WITH DAGESH;Lo;0;R;05E4 05BC;;;;N;;;;; FB46;HEBREW LETTER TSADI WITH DAGESH;Lo;0;R;05E6 05BC;;;;N;;;;; FB47;HEBREW LETTER QOF WITH DAGESH;Lo;0;R;05E7 05BC;;;;N;;;;; FB48;HEBREW LETTER RESH WITH DAGESH;Lo;0;R;05E8 05BC;;;;N;;;;; FB49;HEBREW LETTER SHIN WITH DAGESH;Lo;0;R;05E9 05BC;;;;N;;;;; FB4A;HEBREW LETTER TAV WITH DAGESH;Lo;0;R;05EA 05BC;;;;N;;;;; FB4B;HEBREW LETTER VAV WITH HOLAM;Lo;0;R;05D5 05B9;;;;N;;;;; FB4C;HEBREW LETTER BET WITH RAFE;Lo;0;R;05D1 05BF;;;;N;;;;; FB4D;HEBREW LETTER KAF WITH RAFE;Lo;0;R;05DB 05BF;;;;N;;;;; FB4E;HEBREW LETTER PE WITH RAFE;Lo;0;R;05E4 05BF;;;;N;;;;; FB4F;HEBREW LIGATURE ALEF LAMED;Lo;0;R; 05D0 05DC;;;;N;;;;; FB50;ARABIC LETTER ALEF WASLA ISOLATED FORM;Lo;0;AL; 0671;;;;N;;;;; FB51;ARABIC LETTER ALEF WASLA FINAL FORM;Lo;0;AL; 0671;;;;N;;;;; FB52;ARABIC LETTER BEEH ISOLATED FORM;Lo;0;AL; 067B;;;;N;;;;; FB53;ARABIC LETTER BEEH FINAL FORM;Lo;0;AL; 067B;;;;N;;;;; FB54;ARABIC LETTER BEEH INITIAL FORM;Lo;0;AL; 067B;;;;N;;;;; FB55;ARABIC LETTER BEEH MEDIAL FORM;Lo;0;AL; 067B;;;;N;;;;; FB56;ARABIC LETTER PEH ISOLATED FORM;Lo;0;AL; 067E;;;;N;;;;; FB57;ARABIC LETTER PEH FINAL FORM;Lo;0;AL; 067E;;;;N;;;;; FB58;ARABIC LETTER PEH INITIAL FORM;Lo;0;AL; 067E;;;;N;;;;; FB59;ARABIC LETTER PEH MEDIAL FORM;Lo;0;AL; 067E;;;;N;;;;; FB5A;ARABIC LETTER BEHEH ISOLATED FORM;Lo;0;AL; 0680;;;;N;;;;; FB5B;ARABIC LETTER BEHEH FINAL FORM;Lo;0;AL; 0680;;;;N;;;;; FB5C;ARABIC LETTER BEHEH INITIAL FORM;Lo;0;AL; 0680;;;;N;;;;; FB5D;ARABIC LETTER BEHEH MEDIAL FORM;Lo;0;AL; 0680;;;;N;;;;; FB5E;ARABIC LETTER TTEHEH ISOLATED FORM;Lo;0;AL; 067A;;;;N;;;;; FB5F;ARABIC LETTER TTEHEH FINAL FORM;Lo;0;AL; 067A;;;;N;;;;; FB60;ARABIC LETTER TTEHEH INITIAL FORM;Lo;0;AL; 067A;;;;N;;;;; FB61;ARABIC LETTER TTEHEH MEDIAL FORM;Lo;0;AL; 067A;;;;N;;;;; FB62;ARABIC LETTER TEHEH ISOLATED FORM;Lo;0;AL; 067F;;;;N;;;;; FB63;ARABIC LETTER TEHEH FINAL FORM;Lo;0;AL; 067F;;;;N;;;;; FB64;ARABIC LETTER TEHEH INITIAL FORM;Lo;0;AL; 067F;;;;N;;;;; FB65;ARABIC LETTER TEHEH MEDIAL FORM;Lo;0;AL; 067F;;;;N;;;;; FB66;ARABIC LETTER TTEH ISOLATED FORM;Lo;0;AL; 0679;;;;N;;;;; FB67;ARABIC LETTER TTEH FINAL FORM;Lo;0;AL; 0679;;;;N;;;;; FB68;ARABIC LETTER TTEH INITIAL FORM;Lo;0;AL; 0679;;;;N;;;;; FB69;ARABIC LETTER TTEH MEDIAL FORM;Lo;0;AL; 0679;;;;N;;;;; FB6A;ARABIC LETTER VEH ISOLATED FORM;Lo;0;AL; 06A4;;;;N;;;;; FB6B;ARABIC LETTER VEH FINAL FORM;Lo;0;AL; 06A4;;;;N;;;;; FB6C;ARABIC LETTER VEH INITIAL FORM;Lo;0;AL; 06A4;;;;N;;;;; FB6D;ARABIC LETTER VEH MEDIAL FORM;Lo;0;AL; 06A4;;;;N;;;;; FB6E;ARABIC LETTER PEHEH ISOLATED FORM;Lo;0;AL; 06A6;;;;N;;;;; FB6F;ARABIC LETTER PEHEH FINAL FORM;Lo;0;AL; 06A6;;;;N;;;;; FB70;ARABIC LETTER PEHEH INITIAL FORM;Lo;0;AL; 06A6;;;;N;;;;; FB71;ARABIC LETTER PEHEH MEDIAL FORM;Lo;0;AL; 06A6;;;;N;;;;; FB72;ARABIC LETTER DYEH ISOLATED FORM;Lo;0;AL; 0684;;;;N;;;;; FB73;ARABIC LETTER DYEH FINAL FORM;Lo;0;AL; 0684;;;;N;;;;; FB74;ARABIC LETTER DYEH INITIAL FORM;Lo;0;AL; 0684;;;;N;;;;; FB75;ARABIC LETTER DYEH MEDIAL FORM;Lo;0;AL; 0684;;;;N;;;;; FB76;ARABIC LETTER NYEH ISOLATED FORM;Lo;0;AL; 0683;;;;N;;;;; FB77;ARABIC LETTER NYEH FINAL FORM;Lo;0;AL; 0683;;;;N;;;;; FB78;ARABIC LETTER NYEH INITIAL FORM;Lo;0;AL; 0683;;;;N;;;;; FB79;ARABIC LETTER NYEH MEDIAL FORM;Lo;0;AL; 0683;;;;N;;;;; FB7A;ARABIC LETTER TCHEH ISOLATED FORM;Lo;0;AL; 0686;;;;N;;;;; FB7B;ARABIC LETTER TCHEH FINAL FORM;Lo;0;AL; 0686;;;;N;;;;; FB7C;ARABIC LETTER TCHEH INITIAL FORM;Lo;0;AL; 0686;;;;N;;;;; FB7D;ARABIC LETTER TCHEH MEDIAL FORM;Lo;0;AL; 0686;;;;N;;;;; FB7E;ARABIC LETTER TCHEHEH ISOLATED FORM;Lo;0;AL; 0687;;;;N;;;;; FB7F;ARABIC LETTER TCHEHEH FINAL FORM;Lo;0;AL; 0687;;;;N;;;;; FB80;ARABIC LETTER TCHEHEH INITIAL FORM;Lo;0;AL; 0687;;;;N;;;;; FB81;ARABIC LETTER TCHEHEH MEDIAL FORM;Lo;0;AL; 0687;;;;N;;;;; FB82;ARABIC LETTER DDAHAL ISOLATED FORM;Lo;0;AL; 068D;;;;N;;;;; FB83;ARABIC LETTER DDAHAL FINAL FORM;Lo;0;AL; 068D;;;;N;;;;; FB84;ARABIC LETTER DAHAL ISOLATED FORM;Lo;0;AL; 068C;;;;N;;;;; FB85;ARABIC LETTER DAHAL FINAL FORM;Lo;0;AL; 068C;;;;N;;;;; FB86;ARABIC LETTER DUL ISOLATED FORM;Lo;0;AL; 068E;;;;N;;;;; FB87;ARABIC LETTER DUL FINAL FORM;Lo;0;AL; 068E;;;;N;;;;; FB88;ARABIC LETTER DDAL ISOLATED FORM;Lo;0;AL; 0688;;;;N;;;;; FB89;ARABIC LETTER DDAL FINAL FORM;Lo;0;AL; 0688;;;;N;;;;; FB8A;ARABIC LETTER JEH ISOLATED FORM;Lo;0;AL; 0698;;;;N;;;;; FB8B;ARABIC LETTER JEH FINAL FORM;Lo;0;AL; 0698;;;;N;;;;; FB8C;ARABIC LETTER RREH ISOLATED FORM;Lo;0;AL; 0691;;;;N;;;;; FB8D;ARABIC LETTER RREH FINAL FORM;Lo;0;AL; 0691;;;;N;;;;; FB8E;ARABIC LETTER KEHEH ISOLATED FORM;Lo;0;AL; 06A9;;;;N;;;;; FB8F;ARABIC LETTER KEHEH FINAL FORM;Lo;0;AL; 06A9;;;;N;;;;; FB90;ARABIC LETTER KEHEH INITIAL FORM;Lo;0;AL; 06A9;;;;N;;;;; FB91;ARABIC LETTER KEHEH MEDIAL FORM;Lo;0;AL; 06A9;;;;N;;;;; FB92;ARABIC LETTER GAF ISOLATED FORM;Lo;0;AL; 06AF;;;;N;;;;; FB93;ARABIC LETTER GAF FINAL FORM;Lo;0;AL; 06AF;;;;N;;;;; FB94;ARABIC LETTER GAF INITIAL FORM;Lo;0;AL; 06AF;;;;N;;;;; FB95;ARABIC LETTER GAF MEDIAL FORM;Lo;0;AL; 06AF;;;;N;;;;; FB96;ARABIC LETTER GUEH ISOLATED FORM;Lo;0;AL; 06B3;;;;N;;;;; FB97;ARABIC LETTER GUEH FINAL FORM;Lo;0;AL; 06B3;;;;N;;;;; FB98;ARABIC LETTER GUEH INITIAL FORM;Lo;0;AL; 06B3;;;;N;;;;; FB99;ARABIC LETTER GUEH MEDIAL FORM;Lo;0;AL; 06B3;;;;N;;;;; FB9A;ARABIC LETTER NGOEH ISOLATED FORM;Lo;0;AL; 06B1;;;;N;;;;; FB9B;ARABIC LETTER NGOEH FINAL FORM;Lo;0;AL; 06B1;;;;N;;;;; FB9C;ARABIC LETTER NGOEH INITIAL FORM;Lo;0;AL; 06B1;;;;N;;;;; FB9D;ARABIC LETTER NGOEH MEDIAL FORM;Lo;0;AL; 06B1;;;;N;;;;; FB9E;ARABIC LETTER NOON GHUNNA ISOLATED FORM;Lo;0;AL; 06BA;;;;N;;;;; FB9F;ARABIC LETTER NOON GHUNNA FINAL FORM;Lo;0;AL; 06BA;;;;N;;;;; FBA0;ARABIC LETTER RNOON ISOLATED FORM;Lo;0;AL; 06BB;;;;N;;;;; FBA1;ARABIC LETTER RNOON FINAL FORM;Lo;0;AL; 06BB;;;;N;;;;; FBA2;ARABIC LETTER RNOON INITIAL FORM;Lo;0;AL; 06BB;;;;N;;;;; FBA3;ARABIC LETTER RNOON MEDIAL FORM;Lo;0;AL; 06BB;;;;N;;;;; FBA4;ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM;Lo;0;AL; 06C0;;;;N;;;;; FBA5;ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM;Lo;0;AL; 06C0;;;;N;;;;; FBA6;ARABIC LETTER HEH GOAL ISOLATED FORM;Lo;0;AL; 06C1;;;;N;;;;; FBA7;ARABIC LETTER HEH GOAL FINAL FORM;Lo;0;AL; 06C1;;;;N;;;;; FBA8;ARABIC LETTER HEH GOAL INITIAL FORM;Lo;0;AL; 06C1;;;;N;;;;; FBA9;ARABIC LETTER HEH GOAL MEDIAL FORM;Lo;0;AL; 06C1;;;;N;;;;; FBAA;ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM;Lo;0;AL; 06BE;;;;N;;;;; FBAB;ARABIC LETTER HEH DOACHASHMEE FINAL FORM;Lo;0;AL; 06BE;;;;N;;;;; FBAC;ARABIC LETTER HEH DOACHASHMEE INITIAL FORM;Lo;0;AL; 06BE;;;;N;;;;; FBAD;ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM;Lo;0;AL; 06BE;;;;N;;;;; FBAE;ARABIC LETTER YEH BARREE ISOLATED FORM;Lo;0;AL; 06D2;;;;N;;;;; FBAF;ARABIC LETTER YEH BARREE FINAL FORM;Lo;0;AL; 06D2;;;;N;;;;; FBB0;ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL; 06D3;;;;N;;;;; FBB1;ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM;Lo;0;AL; 06D3;;;;N;;;;; FBD3;ARABIC LETTER NG ISOLATED FORM;Lo;0;AL; 06AD;;;;N;;;;; FBD4;ARABIC LETTER NG FINAL FORM;Lo;0;AL; 06AD;;;;N;;;;; FBD5;ARABIC LETTER NG INITIAL FORM;Lo;0;AL; 06AD;;;;N;;;;; FBD6;ARABIC LETTER NG MEDIAL FORM;Lo;0;AL; 06AD;;;;N;;;;; FBD7;ARABIC LETTER U ISOLATED FORM;Lo;0;AL; 06C7;;;;N;;;;; FBD8;ARABIC LETTER U FINAL FORM;Lo;0;AL; 06C7;;;;N;;;;; FBD9;ARABIC LETTER OE ISOLATED FORM;Lo;0;AL; 06C6;;;;N;;;;; FBDA;ARABIC LETTER OE FINAL FORM;Lo;0;AL; 06C6;;;;N;;;;; FBDB;ARABIC LETTER YU ISOLATED FORM;Lo;0;AL; 06C8;;;;N;;;;; FBDC;ARABIC LETTER YU FINAL FORM;Lo;0;AL; 06C8;;;;N;;;;; FBDD;ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL; 0677;;;;N;;;;; FBDE;ARABIC LETTER VE ISOLATED FORM;Lo;0;AL; 06CB;;;;N;;;;; FBDF;ARABIC LETTER VE FINAL FORM;Lo;0;AL; 06CB;;;;N;;;;; FBE0;ARABIC LETTER KIRGHIZ OE ISOLATED FORM;Lo;0;AL; 06C5;;;;N;;;;; FBE1;ARABIC LETTER KIRGHIZ OE FINAL FORM;Lo;0;AL; 06C5;;;;N;;;;; FBE2;ARABIC LETTER KIRGHIZ YU ISOLATED FORM;Lo;0;AL; 06C9;;;;N;;;;; FBE3;ARABIC LETTER KIRGHIZ YU FINAL FORM;Lo;0;AL; 06C9;;;;N;;;;; FBE4;ARABIC LETTER E ISOLATED FORM;Lo;0;AL; 06D0;;;;N;;;;; FBE5;ARABIC LETTER E FINAL FORM;Lo;0;AL; 06D0;;;;N;;;;; FBE6;ARABIC LETTER E INITIAL FORM;Lo;0;AL; 06D0;;;;N;;;;; FBE7;ARABIC LETTER E MEDIAL FORM;Lo;0;AL; 06D0;;;;N;;;;; FBE8;ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM;Lo;0;AL; 0649;;;;N;;;;; FBE9;ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM;Lo;0;AL; 0649;;;;N;;;;; FBEA;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM;Lo;0;AL; 0626 0627;;;;N;;;;; FBEB;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM;Lo;0;AL; 0626 0627;;;;N;;;;; FBEC;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM;Lo;0;AL; 0626 06D5;;;;N;;;;; FBED;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM;Lo;0;AL; 0626 06D5;;;;N;;;;; FBEE;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM;Lo;0;AL; 0626 0648;;;;N;;;;; FBEF;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM;Lo;0;AL; 0626 0648;;;;N;;;;; FBF0;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM;Lo;0;AL; 0626 06C7;;;;N;;;;; FBF1;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM;Lo;0;AL; 0626 06C7;;;;N;;;;; FBF2;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM;Lo;0;AL; 0626 06C6;;;;N;;;;; FBF3;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM;Lo;0;AL; 0626 06C6;;;;N;;;;; FBF4;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM;Lo;0;AL; 0626 06C8;;;;N;;;;; FBF5;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM;Lo;0;AL; 0626 06C8;;;;N;;;;; FBF6;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM;Lo;0;AL; 0626 06D0;;;;N;;;;; FBF7;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E FINAL FORM;Lo;0;AL; 0626 06D0;;;;N;;;;; FBF8;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM;Lo;0;AL; 0626 06D0;;;;N;;;;; FBF9;ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0626 0649;;;;N;;;;; FBFA;ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0626 0649;;;;N;;;;; FBFB;ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM;Lo;0;AL; 0626 0649;;;;N;;;;; FBFC;ARABIC LETTER FARSI YEH ISOLATED FORM;Lo;0;AL; 06CC;;;;N;;;;; FBFD;ARABIC LETTER FARSI YEH FINAL FORM;Lo;0;AL; 06CC;;;;N;;;;; FBFE;ARABIC LETTER FARSI YEH INITIAL FORM;Lo;0;AL; 06CC;;;;N;;;;; FBFF;ARABIC LETTER FARSI YEH MEDIAL FORM;Lo;0;AL; 06CC;;;;N;;;;; FC00;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM;Lo;0;AL; 0626 062C;;;;N;;;;; FC01;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH ISOLATED FORM;Lo;0;AL; 0626 062D;;;;N;;;;; FC02;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM ISOLATED FORM;Lo;0;AL; 0626 0645;;;;N;;;;; FC03;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0626 0649;;;;N;;;;; FC04;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH ISOLATED FORM;Lo;0;AL; 0626 064A;;;;N;;;;; FC05;ARABIC LIGATURE BEH WITH JEEM ISOLATED FORM;Lo;0;AL; 0628 062C;;;;N;;;;; FC06;ARABIC LIGATURE BEH WITH HAH ISOLATED FORM;Lo;0;AL; 0628 062D;;;;N;;;;; FC07;ARABIC LIGATURE BEH WITH KHAH ISOLATED FORM;Lo;0;AL; 0628 062E;;;;N;;;;; FC08;ARABIC LIGATURE BEH WITH MEEM ISOLATED FORM;Lo;0;AL; 0628 0645;;;;N;;;;; FC09;ARABIC LIGATURE BEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0628 0649;;;;N;;;;; FC0A;ARABIC LIGATURE BEH WITH YEH ISOLATED FORM;Lo;0;AL; 0628 064A;;;;N;;;;; FC0B;ARABIC LIGATURE TEH WITH JEEM ISOLATED FORM;Lo;0;AL; 062A 062C;;;;N;;;;; FC0C;ARABIC LIGATURE TEH WITH HAH ISOLATED FORM;Lo;0;AL; 062A 062D;;;;N;;;;; FC0D;ARABIC LIGATURE TEH WITH KHAH ISOLATED FORM;Lo;0;AL; 062A 062E;;;;N;;;;; FC0E;ARABIC LIGATURE TEH WITH MEEM ISOLATED FORM;Lo;0;AL; 062A 0645;;;;N;;;;; FC0F;ARABIC LIGATURE TEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 062A 0649;;;;N;;;;; FC10;ARABIC LIGATURE TEH WITH YEH ISOLATED FORM;Lo;0;AL; 062A 064A;;;;N;;;;; FC11;ARABIC LIGATURE THEH WITH JEEM ISOLATED FORM;Lo;0;AL; 062B 062C;;;;N;;;;; FC12;ARABIC LIGATURE THEH WITH MEEM ISOLATED FORM;Lo;0;AL; 062B 0645;;;;N;;;;; FC13;ARABIC LIGATURE THEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 062B 0649;;;;N;;;;; FC14;ARABIC LIGATURE THEH WITH YEH ISOLATED FORM;Lo;0;AL; 062B 064A;;;;N;;;;; FC15;ARABIC LIGATURE JEEM WITH HAH ISOLATED FORM;Lo;0;AL; 062C 062D;;;;N;;;;; FC16;ARABIC LIGATURE JEEM WITH MEEM ISOLATED FORM;Lo;0;AL; 062C 0645;;;;N;;;;; FC17;ARABIC LIGATURE HAH WITH JEEM ISOLATED FORM;Lo;0;AL; 062D 062C;;;;N;;;;; FC18;ARABIC LIGATURE HAH WITH MEEM ISOLATED FORM;Lo;0;AL; 062D 0645;;;;N;;;;; FC19;ARABIC LIGATURE KHAH WITH JEEM ISOLATED FORM;Lo;0;AL; 062E 062C;;;;N;;;;; FC1A;ARABIC LIGATURE KHAH WITH HAH ISOLATED FORM;Lo;0;AL; 062E 062D;;;;N;;;;; FC1B;ARABIC LIGATURE KHAH WITH MEEM ISOLATED FORM;Lo;0;AL; 062E 0645;;;;N;;;;; FC1C;ARABIC LIGATURE SEEN WITH JEEM ISOLATED FORM;Lo;0;AL; 0633 062C;;;;N;;;;; FC1D;ARABIC LIGATURE SEEN WITH HAH ISOLATED FORM;Lo;0;AL; 0633 062D;;;;N;;;;; FC1E;ARABIC LIGATURE SEEN WITH KHAH ISOLATED FORM;Lo;0;AL; 0633 062E;;;;N;;;;; FC1F;ARABIC LIGATURE SEEN WITH MEEM ISOLATED FORM;Lo;0;AL; 0633 0645;;;;N;;;;; FC20;ARABIC LIGATURE SAD WITH HAH ISOLATED FORM;Lo;0;AL; 0635 062D;;;;N;;;;; FC21;ARABIC LIGATURE SAD WITH MEEM ISOLATED FORM;Lo;0;AL; 0635 0645;;;;N;;;;; FC22;ARABIC LIGATURE DAD WITH JEEM ISOLATED FORM;Lo;0;AL; 0636 062C;;;;N;;;;; FC23;ARABIC LIGATURE DAD WITH HAH ISOLATED FORM;Lo;0;AL; 0636 062D;;;;N;;;;; FC24;ARABIC LIGATURE DAD WITH KHAH ISOLATED FORM;Lo;0;AL; 0636 062E;;;;N;;;;; FC25;ARABIC LIGATURE DAD WITH MEEM ISOLATED FORM;Lo;0;AL; 0636 0645;;;;N;;;;; FC26;ARABIC LIGATURE TAH WITH HAH ISOLATED FORM;Lo;0;AL; 0637 062D;;;;N;;;;; FC27;ARABIC LIGATURE TAH WITH MEEM ISOLATED FORM;Lo;0;AL; 0637 0645;;;;N;;;;; FC28;ARABIC LIGATURE ZAH WITH MEEM ISOLATED FORM;Lo;0;AL; 0638 0645;;;;N;;;;; FC29;ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM;Lo;0;AL; 0639 062C;;;;N;;;;; FC2A;ARABIC LIGATURE AIN WITH MEEM ISOLATED FORM;Lo;0;AL; 0639 0645;;;;N;;;;; FC2B;ARABIC LIGATURE GHAIN WITH JEEM ISOLATED FORM;Lo;0;AL; 063A 062C;;;;N;;;;; FC2C;ARABIC LIGATURE GHAIN WITH MEEM ISOLATED FORM;Lo;0;AL; 063A 0645;;;;N;;;;; FC2D;ARABIC LIGATURE FEH WITH JEEM ISOLATED FORM;Lo;0;AL; 0641 062C;;;;N;;;;; FC2E;ARABIC LIGATURE FEH WITH HAH ISOLATED FORM;Lo;0;AL; 0641 062D;;;;N;;;;; FC2F;ARABIC LIGATURE FEH WITH KHAH ISOLATED FORM;Lo;0;AL; 0641 062E;;;;N;;;;; FC30;ARABIC LIGATURE FEH WITH MEEM ISOLATED FORM;Lo;0;AL; 0641 0645;;;;N;;;;; FC31;ARABIC LIGATURE FEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0641 0649;;;;N;;;;; FC32;ARABIC LIGATURE FEH WITH YEH ISOLATED FORM;Lo;0;AL; 0641 064A;;;;N;;;;; FC33;ARABIC LIGATURE QAF WITH HAH ISOLATED FORM;Lo;0;AL; 0642 062D;;;;N;;;;; FC34;ARABIC LIGATURE QAF WITH MEEM ISOLATED FORM;Lo;0;AL; 0642 0645;;;;N;;;;; FC35;ARABIC LIGATURE QAF WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0642 0649;;;;N;;;;; FC36;ARABIC LIGATURE QAF WITH YEH ISOLATED FORM;Lo;0;AL; 0642 064A;;;;N;;;;; FC37;ARABIC LIGATURE KAF WITH ALEF ISOLATED FORM;Lo;0;AL; 0643 0627;;;;N;;;;; FC38;ARABIC LIGATURE KAF WITH JEEM ISOLATED FORM;Lo;0;AL; 0643 062C;;;;N;;;;; FC39;ARABIC LIGATURE KAF WITH HAH ISOLATED FORM;Lo;0;AL; 0643 062D;;;;N;;;;; FC3A;ARABIC LIGATURE KAF WITH KHAH ISOLATED FORM;Lo;0;AL; 0643 062E;;;;N;;;;; FC3B;ARABIC LIGATURE KAF WITH LAM ISOLATED FORM;Lo;0;AL; 0643 0644;;;;N;;;;; FC3C;ARABIC LIGATURE KAF WITH MEEM ISOLATED FORM;Lo;0;AL; 0643 0645;;;;N;;;;; FC3D;ARABIC LIGATURE KAF WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0643 0649;;;;N;;;;; FC3E;ARABIC LIGATURE KAF WITH YEH ISOLATED FORM;Lo;0;AL; 0643 064A;;;;N;;;;; FC3F;ARABIC LIGATURE LAM WITH JEEM ISOLATED FORM;Lo;0;AL; 0644 062C;;;;N;;;;; FC40;ARABIC LIGATURE LAM WITH HAH ISOLATED FORM;Lo;0;AL; 0644 062D;;;;N;;;;; FC41;ARABIC LIGATURE LAM WITH KHAH ISOLATED FORM;Lo;0;AL; 0644 062E;;;;N;;;;; FC42;ARABIC LIGATURE LAM WITH MEEM ISOLATED FORM;Lo;0;AL; 0644 0645;;;;N;;;;; FC43;ARABIC LIGATURE LAM WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0644 0649;;;;N;;;;; FC44;ARABIC LIGATURE LAM WITH YEH ISOLATED FORM;Lo;0;AL; 0644 064A;;;;N;;;;; FC45;ARABIC LIGATURE MEEM WITH JEEM ISOLATED FORM;Lo;0;AL; 0645 062C;;;;N;;;;; FC46;ARABIC LIGATURE MEEM WITH HAH ISOLATED FORM;Lo;0;AL; 0645 062D;;;;N;;;;; FC47;ARABIC LIGATURE MEEM WITH KHAH ISOLATED FORM;Lo;0;AL; 0645 062E;;;;N;;;;; FC48;ARABIC LIGATURE MEEM WITH MEEM ISOLATED FORM;Lo;0;AL; 0645 0645;;;;N;;;;; FC49;ARABIC LIGATURE MEEM WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0645 0649;;;;N;;;;; FC4A;ARABIC LIGATURE MEEM WITH YEH ISOLATED FORM;Lo;0;AL; 0645 064A;;;;N;;;;; FC4B;ARABIC LIGATURE NOON WITH JEEM ISOLATED FORM;Lo;0;AL; 0646 062C;;;;N;;;;; FC4C;ARABIC LIGATURE NOON WITH HAH ISOLATED FORM;Lo;0;AL; 0646 062D;;;;N;;;;; FC4D;ARABIC LIGATURE NOON WITH KHAH ISOLATED FORM;Lo;0;AL; 0646 062E;;;;N;;;;; FC4E;ARABIC LIGATURE NOON WITH MEEM ISOLATED FORM;Lo;0;AL; 0646 0645;;;;N;;;;; FC4F;ARABIC LIGATURE NOON WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0646 0649;;;;N;;;;; FC50;ARABIC LIGATURE NOON WITH YEH ISOLATED FORM;Lo;0;AL; 0646 064A;;;;N;;;;; FC51;ARABIC LIGATURE HEH WITH JEEM ISOLATED FORM;Lo;0;AL; 0647 062C;;;;N;;;;; FC52;ARABIC LIGATURE HEH WITH MEEM ISOLATED FORM;Lo;0;AL; 0647 0645;;;;N;;;;; FC53;ARABIC LIGATURE HEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0647 0649;;;;N;;;;; FC54;ARABIC LIGATURE HEH WITH YEH ISOLATED FORM;Lo;0;AL; 0647 064A;;;;N;;;;; FC55;ARABIC LIGATURE YEH WITH JEEM ISOLATED FORM;Lo;0;AL; 064A 062C;;;;N;;;;; FC56;ARABIC LIGATURE YEH WITH HAH ISOLATED FORM;Lo;0;AL; 064A 062D;;;;N;;;;; FC57;ARABIC LIGATURE YEH WITH KHAH ISOLATED FORM;Lo;0;AL; 064A 062E;;;;N;;;;; FC58;ARABIC LIGATURE YEH WITH MEEM ISOLATED FORM;Lo;0;AL; 064A 0645;;;;N;;;;; FC59;ARABIC LIGATURE YEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 064A 0649;;;;N;;;;; FC5A;ARABIC LIGATURE YEH WITH YEH ISOLATED FORM;Lo;0;AL; 064A 064A;;;;N;;;;; FC5B;ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;AL; 0630 0670;;;;N;;;;; FC5C;ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;AL; 0631 0670;;;;N;;;;; FC5D;ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;AL; 0649 0670;;;;N;;;;; FC5E;ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM;Lo;0;AL; 0020 064C 0651;;;;N;;;;; FC5F;ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM;Lo;0;AL; 0020 064D 0651;;;;N;;;;; FC60;ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM;Lo;0;AL; 0020 064E 0651;;;;N;;;;; FC61;ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM;Lo;0;AL; 0020 064F 0651;;;;N;;;;; FC62;ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM;Lo;0;AL; 0020 0650 0651;;;;N;;;;; FC63;ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;AL; 0020 0651 0670;;;;N;;;;; FC64;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM;Lo;0;AL; 0626 0631;;;;N;;;;; FC65;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ZAIN FINAL FORM;Lo;0;AL; 0626 0632;;;;N;;;;; FC66;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM FINAL FORM;Lo;0;AL; 0626 0645;;;;N;;;;; FC67;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH NOON FINAL FORM;Lo;0;AL; 0626 0646;;;;N;;;;; FC68;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0626 0649;;;;N;;;;; FC69;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH FINAL FORM;Lo;0;AL; 0626 064A;;;;N;;;;; FC6A;ARABIC LIGATURE BEH WITH REH FINAL FORM;Lo;0;AL; 0628 0631;;;;N;;;;; FC6B;ARABIC LIGATURE BEH WITH ZAIN FINAL FORM;Lo;0;AL; 0628 0632;;;;N;;;;; FC6C;ARABIC LIGATURE BEH WITH MEEM FINAL FORM;Lo;0;AL; 0628 0645;;;;N;;;;; FC6D;ARABIC LIGATURE BEH WITH NOON FINAL FORM;Lo;0;AL; 0628 0646;;;;N;;;;; FC6E;ARABIC LIGATURE BEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0628 0649;;;;N;;;;; FC6F;ARABIC LIGATURE BEH WITH YEH FINAL FORM;Lo;0;AL; 0628 064A;;;;N;;;;; FC70;ARABIC LIGATURE TEH WITH REH FINAL FORM;Lo;0;AL; 062A 0631;;;;N;;;;; FC71;ARABIC LIGATURE TEH WITH ZAIN FINAL FORM;Lo;0;AL; 062A 0632;;;;N;;;;; FC72;ARABIC LIGATURE TEH WITH MEEM FINAL FORM;Lo;0;AL; 062A 0645;;;;N;;;;; FC73;ARABIC LIGATURE TEH WITH NOON FINAL FORM;Lo;0;AL; 062A 0646;;;;N;;;;; FC74;ARABIC LIGATURE TEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062A 0649;;;;N;;;;; FC75;ARABIC LIGATURE TEH WITH YEH FINAL FORM;Lo;0;AL; 062A 064A;;;;N;;;;; FC76;ARABIC LIGATURE THEH WITH REH FINAL FORM;Lo;0;AL; 062B 0631;;;;N;;;;; FC77;ARABIC LIGATURE THEH WITH ZAIN FINAL FORM;Lo;0;AL; 062B 0632;;;;N;;;;; FC78;ARABIC LIGATURE THEH WITH MEEM FINAL FORM;Lo;0;AL; 062B 0645;;;;N;;;;; FC79;ARABIC LIGATURE THEH WITH NOON FINAL FORM;Lo;0;AL; 062B 0646;;;;N;;;;; FC7A;ARABIC LIGATURE THEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062B 0649;;;;N;;;;; FC7B;ARABIC LIGATURE THEH WITH YEH FINAL FORM;Lo;0;AL; 062B 064A;;;;N;;;;; FC7C;ARABIC LIGATURE FEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0641 0649;;;;N;;;;; FC7D;ARABIC LIGATURE FEH WITH YEH FINAL FORM;Lo;0;AL; 0641 064A;;;;N;;;;; FC7E;ARABIC LIGATURE QAF WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0642 0649;;;;N;;;;; FC7F;ARABIC LIGATURE QAF WITH YEH FINAL FORM;Lo;0;AL; 0642 064A;;;;N;;;;; FC80;ARABIC LIGATURE KAF WITH ALEF FINAL FORM;Lo;0;AL; 0643 0627;;;;N;;;;; FC81;ARABIC LIGATURE KAF WITH LAM FINAL FORM;Lo;0;AL; 0643 0644;;;;N;;;;; FC82;ARABIC LIGATURE KAF WITH MEEM FINAL FORM;Lo;0;AL; 0643 0645;;;;N;;;;; FC83;ARABIC LIGATURE KAF WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0643 0649;;;;N;;;;; FC84;ARABIC LIGATURE KAF WITH YEH FINAL FORM;Lo;0;AL; 0643 064A;;;;N;;;;; FC85;ARABIC LIGATURE LAM WITH MEEM FINAL FORM;Lo;0;AL; 0644 0645;;;;N;;;;; FC86;ARABIC LIGATURE LAM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0644 0649;;;;N;;;;; FC87;ARABIC LIGATURE LAM WITH YEH FINAL FORM;Lo;0;AL; 0644 064A;;;;N;;;;; FC88;ARABIC LIGATURE MEEM WITH ALEF FINAL FORM;Lo;0;AL; 0645 0627;;;;N;;;;; FC89;ARABIC LIGATURE MEEM WITH MEEM FINAL FORM;Lo;0;AL; 0645 0645;;;;N;;;;; FC8A;ARABIC LIGATURE NOON WITH REH FINAL FORM;Lo;0;AL; 0646 0631;;;;N;;;;; FC8B;ARABIC LIGATURE NOON WITH ZAIN FINAL FORM;Lo;0;AL; 0646 0632;;;;N;;;;; FC8C;ARABIC LIGATURE NOON WITH MEEM FINAL FORM;Lo;0;AL; 0646 0645;;;;N;;;;; FC8D;ARABIC LIGATURE NOON WITH NOON FINAL FORM;Lo;0;AL; 0646 0646;;;;N;;;;; FC8E;ARABIC LIGATURE NOON WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0646 0649;;;;N;;;;; FC8F;ARABIC LIGATURE NOON WITH YEH FINAL FORM;Lo;0;AL; 0646 064A;;;;N;;;;; FC90;ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM;Lo;0;AL; 0649 0670;;;;N;;;;; FC91;ARABIC LIGATURE YEH WITH REH FINAL FORM;Lo;0;AL; 064A 0631;;;;N;;;;; FC92;ARABIC LIGATURE YEH WITH ZAIN FINAL FORM;Lo;0;AL; 064A 0632;;;;N;;;;; FC93;ARABIC LIGATURE YEH WITH MEEM FINAL FORM;Lo;0;AL; 064A 0645;;;;N;;;;; FC94;ARABIC LIGATURE YEH WITH NOON FINAL FORM;Lo;0;AL; 064A 0646;;;;N;;;;; FC95;ARABIC LIGATURE YEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 064A 0649;;;;N;;;;; FC96;ARABIC LIGATURE YEH WITH YEH FINAL FORM;Lo;0;AL; 064A 064A;;;;N;;;;; FC97;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM;Lo;0;AL; 0626 062C;;;;N;;;;; FC98;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH INITIAL FORM;Lo;0;AL; 0626 062D;;;;N;;;;; FC99;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH KHAH INITIAL FORM;Lo;0;AL; 0626 062E;;;;N;;;;; FC9A;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM INITIAL FORM;Lo;0;AL; 0626 0645;;;;N;;;;; FC9B;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH INITIAL FORM;Lo;0;AL; 0626 0647;;;;N;;;;; FC9C;ARABIC LIGATURE BEH WITH JEEM INITIAL FORM;Lo;0;AL; 0628 062C;;;;N;;;;; FC9D;ARABIC LIGATURE BEH WITH HAH INITIAL FORM;Lo;0;AL; 0628 062D;;;;N;;;;; FC9E;ARABIC LIGATURE BEH WITH KHAH INITIAL FORM;Lo;0;AL; 0628 062E;;;;N;;;;; FC9F;ARABIC LIGATURE BEH WITH MEEM INITIAL FORM;Lo;0;AL; 0628 0645;;;;N;;;;; FCA0;ARABIC LIGATURE BEH WITH HEH INITIAL FORM;Lo;0;AL; 0628 0647;;;;N;;;;; FCA1;ARABIC LIGATURE TEH WITH JEEM INITIAL FORM;Lo;0;AL; 062A 062C;;;;N;;;;; FCA2;ARABIC LIGATURE TEH WITH HAH INITIAL FORM;Lo;0;AL; 062A 062D;;;;N;;;;; FCA3;ARABIC LIGATURE TEH WITH KHAH INITIAL FORM;Lo;0;AL; 062A 062E;;;;N;;;;; FCA4;ARABIC LIGATURE TEH WITH MEEM INITIAL FORM;Lo;0;AL; 062A 0645;;;;N;;;;; FCA5;ARABIC LIGATURE TEH WITH HEH INITIAL FORM;Lo;0;AL; 062A 0647;;;;N;;;;; FCA6;ARABIC LIGATURE THEH WITH MEEM INITIAL FORM;Lo;0;AL; 062B 0645;;;;N;;;;; FCA7;ARABIC LIGATURE JEEM WITH HAH INITIAL FORM;Lo;0;AL; 062C 062D;;;;N;;;;; FCA8;ARABIC LIGATURE JEEM WITH MEEM INITIAL FORM;Lo;0;AL; 062C 0645;;;;N;;;;; FCA9;ARABIC LIGATURE HAH WITH JEEM INITIAL FORM;Lo;0;AL; 062D 062C;;;;N;;;;; FCAA;ARABIC LIGATURE HAH WITH MEEM INITIAL FORM;Lo;0;AL; 062D 0645;;;;N;;;;; FCAB;ARABIC LIGATURE KHAH WITH JEEM INITIAL FORM;Lo;0;AL; 062E 062C;;;;N;;;;; FCAC;ARABIC LIGATURE KHAH WITH MEEM INITIAL FORM;Lo;0;AL; 062E 0645;;;;N;;;;; FCAD;ARABIC LIGATURE SEEN WITH JEEM INITIAL FORM;Lo;0;AL; 0633 062C;;;;N;;;;; FCAE;ARABIC LIGATURE SEEN WITH HAH INITIAL FORM;Lo;0;AL; 0633 062D;;;;N;;;;; FCAF;ARABIC LIGATURE SEEN WITH KHAH INITIAL FORM;Lo;0;AL; 0633 062E;;;;N;;;;; FCB0;ARABIC LIGATURE SEEN WITH MEEM INITIAL FORM;Lo;0;AL; 0633 0645;;;;N;;;;; FCB1;ARABIC LIGATURE SAD WITH HAH INITIAL FORM;Lo;0;AL; 0635 062D;;;;N;;;;; FCB2;ARABIC LIGATURE SAD WITH KHAH INITIAL FORM;Lo;0;AL; 0635 062E;;;;N;;;;; FCB3;ARABIC LIGATURE SAD WITH MEEM INITIAL FORM;Lo;0;AL; 0635 0645;;;;N;;;;; FCB4;ARABIC LIGATURE DAD WITH JEEM INITIAL FORM;Lo;0;AL; 0636 062C;;;;N;;;;; FCB5;ARABIC LIGATURE DAD WITH HAH INITIAL FORM;Lo;0;AL; 0636 062D;;;;N;;;;; FCB6;ARABIC LIGATURE DAD WITH KHAH INITIAL FORM;Lo;0;AL; 0636 062E;;;;N;;;;; FCB7;ARABIC LIGATURE DAD WITH MEEM INITIAL FORM;Lo;0;AL; 0636 0645;;;;N;;;;; FCB8;ARABIC LIGATURE TAH WITH HAH INITIAL FORM;Lo;0;AL; 0637 062D;;;;N;;;;; FCB9;ARABIC LIGATURE ZAH WITH MEEM INITIAL FORM;Lo;0;AL; 0638 0645;;;;N;;;;; FCBA;ARABIC LIGATURE AIN WITH JEEM INITIAL FORM;Lo;0;AL; 0639 062C;;;;N;;;;; FCBB;ARABIC LIGATURE AIN WITH MEEM INITIAL FORM;Lo;0;AL; 0639 0645;;;;N;;;;; FCBC;ARABIC LIGATURE GHAIN WITH JEEM INITIAL FORM;Lo;0;AL; 063A 062C;;;;N;;;;; FCBD;ARABIC LIGATURE GHAIN WITH MEEM INITIAL FORM;Lo;0;AL; 063A 0645;;;;N;;;;; FCBE;ARABIC LIGATURE FEH WITH JEEM INITIAL FORM;Lo;0;AL; 0641 062C;;;;N;;;;; FCBF;ARABIC LIGATURE FEH WITH HAH INITIAL FORM;Lo;0;AL; 0641 062D;;;;N;;;;; FCC0;ARABIC LIGATURE FEH WITH KHAH INITIAL FORM;Lo;0;AL; 0641 062E;;;;N;;;;; FCC1;ARABIC LIGATURE FEH WITH MEEM INITIAL FORM;Lo;0;AL; 0641 0645;;;;N;;;;; FCC2;ARABIC LIGATURE QAF WITH HAH INITIAL FORM;Lo;0;AL; 0642 062D;;;;N;;;;; FCC3;ARABIC LIGATURE QAF WITH MEEM INITIAL FORM;Lo;0;AL; 0642 0645;;;;N;;;;; FCC4;ARABIC LIGATURE KAF WITH JEEM INITIAL FORM;Lo;0;AL; 0643 062C;;;;N;;;;; FCC5;ARABIC LIGATURE KAF WITH HAH INITIAL FORM;Lo;0;AL; 0643 062D;;;;N;;;;; FCC6;ARABIC LIGATURE KAF WITH KHAH INITIAL FORM;Lo;0;AL; 0643 062E;;;;N;;;;; FCC7;ARABIC LIGATURE KAF WITH LAM INITIAL FORM;Lo;0;AL; 0643 0644;;;;N;;;;; FCC8;ARABIC LIGATURE KAF WITH MEEM INITIAL FORM;Lo;0;AL; 0643 0645;;;;N;;;;; FCC9;ARABIC LIGATURE LAM WITH JEEM INITIAL FORM;Lo;0;AL; 0644 062C;;;;N;;;;; FCCA;ARABIC LIGATURE LAM WITH HAH INITIAL FORM;Lo;0;AL; 0644 062D;;;;N;;;;; FCCB;ARABIC LIGATURE LAM WITH KHAH INITIAL FORM;Lo;0;AL; 0644 062E;;;;N;;;;; FCCC;ARABIC LIGATURE LAM WITH MEEM INITIAL FORM;Lo;0;AL; 0644 0645;;;;N;;;;; FCCD;ARABIC LIGATURE LAM WITH HEH INITIAL FORM;Lo;0;AL; 0644 0647;;;;N;;;;; FCCE;ARABIC LIGATURE MEEM WITH JEEM INITIAL FORM;Lo;0;AL; 0645 062C;;;;N;;;;; FCCF;ARABIC LIGATURE MEEM WITH HAH INITIAL FORM;Lo;0;AL; 0645 062D;;;;N;;;;; FCD0;ARABIC LIGATURE MEEM WITH KHAH INITIAL FORM;Lo;0;AL; 0645 062E;;;;N;;;;; FCD1;ARABIC LIGATURE MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0645 0645;;;;N;;;;; FCD2;ARABIC LIGATURE NOON WITH JEEM INITIAL FORM;Lo;0;AL; 0646 062C;;;;N;;;;; FCD3;ARABIC LIGATURE NOON WITH HAH INITIAL FORM;Lo;0;AL; 0646 062D;;;;N;;;;; FCD4;ARABIC LIGATURE NOON WITH KHAH INITIAL FORM;Lo;0;AL; 0646 062E;;;;N;;;;; FCD5;ARABIC LIGATURE NOON WITH MEEM INITIAL FORM;Lo;0;AL; 0646 0645;;;;N;;;;; FCD6;ARABIC LIGATURE NOON WITH HEH INITIAL FORM;Lo;0;AL; 0646 0647;;;;N;;;;; FCD7;ARABIC LIGATURE HEH WITH JEEM INITIAL FORM;Lo;0;AL; 0647 062C;;;;N;;;;; FCD8;ARABIC LIGATURE HEH WITH MEEM INITIAL FORM;Lo;0;AL; 0647 0645;;;;N;;;;; FCD9;ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM;Lo;0;AL; 0647 0670;;;;N;;;;; FCDA;ARABIC LIGATURE YEH WITH JEEM INITIAL FORM;Lo;0;AL; 064A 062C;;;;N;;;;; FCDB;ARABIC LIGATURE YEH WITH HAH INITIAL FORM;Lo;0;AL; 064A 062D;;;;N;;;;; FCDC;ARABIC LIGATURE YEH WITH KHAH INITIAL FORM;Lo;0;AL; 064A 062E;;;;N;;;;; FCDD;ARABIC LIGATURE YEH WITH MEEM INITIAL FORM;Lo;0;AL; 064A 0645;;;;N;;;;; FCDE;ARABIC LIGATURE YEH WITH HEH INITIAL FORM;Lo;0;AL; 064A 0647;;;;N;;;;; FCDF;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM;Lo;0;AL; 0626 0645;;;;N;;;;; FCE0;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH MEDIAL FORM;Lo;0;AL; 0626 0647;;;;N;;;;; FCE1;ARABIC LIGATURE BEH WITH MEEM MEDIAL FORM;Lo;0;AL; 0628 0645;;;;N;;;;; FCE2;ARABIC LIGATURE BEH WITH HEH MEDIAL FORM;Lo;0;AL; 0628 0647;;;;N;;;;; FCE3;ARABIC LIGATURE TEH WITH MEEM MEDIAL FORM;Lo;0;AL; 062A 0645;;;;N;;;;; FCE4;ARABIC LIGATURE TEH WITH HEH MEDIAL FORM;Lo;0;AL; 062A 0647;;;;N;;;;; FCE5;ARABIC LIGATURE THEH WITH MEEM MEDIAL FORM;Lo;0;AL; 062B 0645;;;;N;;;;; FCE6;ARABIC LIGATURE THEH WITH HEH MEDIAL FORM;Lo;0;AL; 062B 0647;;;;N;;;;; FCE7;ARABIC LIGATURE SEEN WITH MEEM MEDIAL FORM;Lo;0;AL; 0633 0645;;;;N;;;;; FCE8;ARABIC LIGATURE SEEN WITH HEH MEDIAL FORM;Lo;0;AL; 0633 0647;;;;N;;;;; FCE9;ARABIC LIGATURE SHEEN WITH MEEM MEDIAL FORM;Lo;0;AL; 0634 0645;;;;N;;;;; FCEA;ARABIC LIGATURE SHEEN WITH HEH MEDIAL FORM;Lo;0;AL; 0634 0647;;;;N;;;;; FCEB;ARABIC LIGATURE KAF WITH LAM MEDIAL FORM;Lo;0;AL; 0643 0644;;;;N;;;;; FCEC;ARABIC LIGATURE KAF WITH MEEM MEDIAL FORM;Lo;0;AL; 0643 0645;;;;N;;;;; FCED;ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM;Lo;0;AL; 0644 0645;;;;N;;;;; FCEE;ARABIC LIGATURE NOON WITH MEEM MEDIAL FORM;Lo;0;AL; 0646 0645;;;;N;;;;; FCEF;ARABIC LIGATURE NOON WITH HEH MEDIAL FORM;Lo;0;AL; 0646 0647;;;;N;;;;; FCF0;ARABIC LIGATURE YEH WITH MEEM MEDIAL FORM;Lo;0;AL; 064A 0645;;;;N;;;;; FCF1;ARABIC LIGATURE YEH WITH HEH MEDIAL FORM;Lo;0;AL; 064A 0647;;;;N;;;;; FCF2;ARABIC LIGATURE SHADDA WITH FATHA MEDIAL FORM;Lo;0;AL; 0640 064E 0651;;;;N;;;;; FCF3;ARABIC LIGATURE SHADDA WITH DAMMA MEDIAL FORM;Lo;0;AL; 0640 064F 0651;;;;N;;;;; FCF4;ARABIC LIGATURE SHADDA WITH KASRA MEDIAL FORM;Lo;0;AL; 0640 0650 0651;;;;N;;;;; FCF5;ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0637 0649;;;;N;;;;; FCF6;ARABIC LIGATURE TAH WITH YEH ISOLATED FORM;Lo;0;AL; 0637 064A;;;;N;;;;; FCF7;ARABIC LIGATURE AIN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0639 0649;;;;N;;;;; FCF8;ARABIC LIGATURE AIN WITH YEH ISOLATED FORM;Lo;0;AL; 0639 064A;;;;N;;;;; FCF9;ARABIC LIGATURE GHAIN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 063A 0649;;;;N;;;;; FCFA;ARABIC LIGATURE GHAIN WITH YEH ISOLATED FORM;Lo;0;AL; 063A 064A;;;;N;;;;; FCFB;ARABIC LIGATURE SEEN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0633 0649;;;;N;;;;; FCFC;ARABIC LIGATURE SEEN WITH YEH ISOLATED FORM;Lo;0;AL; 0633 064A;;;;N;;;;; FCFD;ARABIC LIGATURE SHEEN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0634 0649;;;;N;;;;; FCFE;ARABIC LIGATURE SHEEN WITH YEH ISOLATED FORM;Lo;0;AL; 0634 064A;;;;N;;;;; FCFF;ARABIC LIGATURE HAH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 062D 0649;;;;N;;;;; FD00;ARABIC LIGATURE HAH WITH YEH ISOLATED FORM;Lo;0;AL; 062D 064A;;;;N;;;;; FD01;ARABIC LIGATURE JEEM WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 062C 0649;;;;N;;;;; FD02;ARABIC LIGATURE JEEM WITH YEH ISOLATED FORM;Lo;0;AL; 062C 064A;;;;N;;;;; FD03;ARABIC LIGATURE KHAH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 062E 0649;;;;N;;;;; FD04;ARABIC LIGATURE KHAH WITH YEH ISOLATED FORM;Lo;0;AL; 062E 064A;;;;N;;;;; FD05;ARABIC LIGATURE SAD WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0635 0649;;;;N;;;;; FD06;ARABIC LIGATURE SAD WITH YEH ISOLATED FORM;Lo;0;AL; 0635 064A;;;;N;;;;; FD07;ARABIC LIGATURE DAD WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0636 0649;;;;N;;;;; FD08;ARABIC LIGATURE DAD WITH YEH ISOLATED FORM;Lo;0;AL; 0636 064A;;;;N;;;;; FD09;ARABIC LIGATURE SHEEN WITH JEEM ISOLATED FORM;Lo;0;AL; 0634 062C;;;;N;;;;; FD0A;ARABIC LIGATURE SHEEN WITH HAH ISOLATED FORM;Lo;0;AL; 0634 062D;;;;N;;;;; FD0B;ARABIC LIGATURE SHEEN WITH KHAH ISOLATED FORM;Lo;0;AL; 0634 062E;;;;N;;;;; FD0C;ARABIC LIGATURE SHEEN WITH MEEM ISOLATED FORM;Lo;0;AL; 0634 0645;;;;N;;;;; FD0D;ARABIC LIGATURE SHEEN WITH REH ISOLATED FORM;Lo;0;AL; 0634 0631;;;;N;;;;; FD0E;ARABIC LIGATURE SEEN WITH REH ISOLATED FORM;Lo;0;AL; 0633 0631;;;;N;;;;; FD0F;ARABIC LIGATURE SAD WITH REH ISOLATED FORM;Lo;0;AL; 0635 0631;;;;N;;;;; FD10;ARABIC LIGATURE DAD WITH REH ISOLATED FORM;Lo;0;AL; 0636 0631;;;;N;;;;; FD11;ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0637 0649;;;;N;;;;; FD12;ARABIC LIGATURE TAH WITH YEH FINAL FORM;Lo;0;AL; 0637 064A;;;;N;;;;; FD13;ARABIC LIGATURE AIN WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0639 0649;;;;N;;;;; FD14;ARABIC LIGATURE AIN WITH YEH FINAL FORM;Lo;0;AL; 0639 064A;;;;N;;;;; FD15;ARABIC LIGATURE GHAIN WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 063A 0649;;;;N;;;;; FD16;ARABIC LIGATURE GHAIN WITH YEH FINAL FORM;Lo;0;AL; 063A 064A;;;;N;;;;; FD17;ARABIC LIGATURE SEEN WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0633 0649;;;;N;;;;; FD18;ARABIC LIGATURE SEEN WITH YEH FINAL FORM;Lo;0;AL; 0633 064A;;;;N;;;;; FD19;ARABIC LIGATURE SHEEN WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0634 0649;;;;N;;;;; FD1A;ARABIC LIGATURE SHEEN WITH YEH FINAL FORM;Lo;0;AL; 0634 064A;;;;N;;;;; FD1B;ARABIC LIGATURE HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062D 0649;;;;N;;;;; FD1C;ARABIC LIGATURE HAH WITH YEH FINAL FORM;Lo;0;AL; 062D 064A;;;;N;;;;; FD1D;ARABIC LIGATURE JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062C 0649;;;;N;;;;; FD1E;ARABIC LIGATURE JEEM WITH YEH FINAL FORM;Lo;0;AL; 062C 064A;;;;N;;;;; FD1F;ARABIC LIGATURE KHAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062E 0649;;;;N;;;;; FD20;ARABIC LIGATURE KHAH WITH YEH FINAL FORM;Lo;0;AL; 062E 064A;;;;N;;;;; FD21;ARABIC LIGATURE SAD WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0635 0649;;;;N;;;;; FD22;ARABIC LIGATURE SAD WITH YEH FINAL FORM;Lo;0;AL; 0635 064A;;;;N;;;;; FD23;ARABIC LIGATURE DAD WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0636 0649;;;;N;;;;; FD24;ARABIC LIGATURE DAD WITH YEH FINAL FORM;Lo;0;AL; 0636 064A;;;;N;;;;; FD25;ARABIC LIGATURE SHEEN WITH JEEM FINAL FORM;Lo;0;AL; 0634 062C;;;;N;;;;; FD26;ARABIC LIGATURE SHEEN WITH HAH FINAL FORM;Lo;0;AL; 0634 062D;;;;N;;;;; FD27;ARABIC LIGATURE SHEEN WITH KHAH FINAL FORM;Lo;0;AL; 0634 062E;;;;N;;;;; FD28;ARABIC LIGATURE SHEEN WITH MEEM FINAL FORM;Lo;0;AL; 0634 0645;;;;N;;;;; FD29;ARABIC LIGATURE SHEEN WITH REH FINAL FORM;Lo;0;AL; 0634 0631;;;;N;;;;; FD2A;ARABIC LIGATURE SEEN WITH REH FINAL FORM;Lo;0;AL; 0633 0631;;;;N;;;;; FD2B;ARABIC LIGATURE SAD WITH REH FINAL FORM;Lo;0;AL; 0635 0631;;;;N;;;;; FD2C;ARABIC LIGATURE DAD WITH REH FINAL FORM;Lo;0;AL; 0636 0631;;;;N;;;;; FD2D;ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM;Lo;0;AL; 0634 062C;;;;N;;;;; FD2E;ARABIC LIGATURE SHEEN WITH HAH INITIAL FORM;Lo;0;AL; 0634 062D;;;;N;;;;; FD2F;ARABIC LIGATURE SHEEN WITH KHAH INITIAL FORM;Lo;0;AL; 0634 062E;;;;N;;;;; FD30;ARABIC LIGATURE SHEEN WITH MEEM INITIAL FORM;Lo;0;AL; 0634 0645;;;;N;;;;; FD31;ARABIC LIGATURE SEEN WITH HEH INITIAL FORM;Lo;0;AL; 0633 0647;;;;N;;;;; FD32;ARABIC LIGATURE SHEEN WITH HEH INITIAL FORM;Lo;0;AL; 0634 0647;;;;N;;;;; FD33;ARABIC LIGATURE TAH WITH MEEM INITIAL FORM;Lo;0;AL; 0637 0645;;;;N;;;;; FD34;ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM;Lo;0;AL; 0633 062C;;;;N;;;;; FD35;ARABIC LIGATURE SEEN WITH HAH MEDIAL FORM;Lo;0;AL; 0633 062D;;;;N;;;;; FD36;ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM;Lo;0;AL; 0633 062E;;;;N;;;;; FD37;ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM;Lo;0;AL; 0634 062C;;;;N;;;;; FD38;ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM;Lo;0;AL; 0634 062D;;;;N;;;;; FD39;ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM;Lo;0;AL; 0634 062E;;;;N;;;;; FD3A;ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM;Lo;0;AL; 0637 0645;;;;N;;;;; FD3B;ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM;Lo;0;AL; 0638 0645;;;;N;;;;; FD3C;ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM;Lo;0;AL; 0627 064B;;;;N;;;;; FD3D;ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM;Lo;0;AL; 0627 064B;;;;N;;;;; FD3E;ORNATE LEFT PARENTHESIS;Ps;0;ON;;;;;N;;;;; FD3F;ORNATE RIGHT PARENTHESIS;Pe;0;ON;;;;;N;;;;; FD50;ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL; 062A 062C 0645;;;;N;;;;; FD51;ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM;Lo;0;AL; 062A 062D 062C;;;;N;;;;; FD52;ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM;Lo;0;AL; 062A 062D 062C;;;;N;;;;; FD53;ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL; 062A 062D 0645;;;;N;;;;; FD54;ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL; 062A 062E 0645;;;;N;;;;; FD55;ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM;Lo;0;AL; 062A 0645 062C;;;;N;;;;; FD56;ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL; 062A 0645 062D;;;;N;;;;; FD57;ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM;Lo;0;AL; 062A 0645 062E;;;;N;;;;; FD58;ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM;Lo;0;AL; 062C 0645 062D;;;;N;;;;; FD59;ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL; 062C 0645 062D;;;;N;;;;; FD5A;ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 062D 0645 064A;;;;N;;;;; FD5B;ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062D 0645 0649;;;;N;;;;; FD5C;ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM;Lo;0;AL; 0633 062D 062C;;;;N;;;;; FD5D;ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM;Lo;0;AL; 0633 062C 062D;;;;N;;;;; FD5E;ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0633 062C 0649;;;;N;;;;; FD5F;ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM;Lo;0;AL; 0633 0645 062D;;;;N;;;;; FD60;ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL; 0633 0645 062D;;;;N;;;;; FD61;ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM;Lo;0;AL; 0633 0645 062C;;;;N;;;;; FD62;ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL; 0633 0645 0645;;;;N;;;;; FD63;ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0633 0645 0645;;;;N;;;;; FD64;ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM;Lo;0;AL; 0635 062D 062D;;;;N;;;;; FD65;ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM;Lo;0;AL; 0635 062D 062D;;;;N;;;;; FD66;ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL; 0635 0645 0645;;;;N;;;;; FD67;ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM;Lo;0;AL; 0634 062D 0645;;;;N;;;;; FD68;ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL; 0634 062D 0645;;;;N;;;;; FD69;ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM;Lo;0;AL; 0634 062C 064A;;;;N;;;;; FD6A;ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM;Lo;0;AL; 0634 0645 062E;;;;N;;;;; FD6B;ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM;Lo;0;AL; 0634 0645 062E;;;;N;;;;; FD6C;ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL; 0634 0645 0645;;;;N;;;;; FD6D;ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0634 0645 0645;;;;N;;;;; FD6E;ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0636 062D 0649;;;;N;;;;; FD6F;ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM;Lo;0;AL; 0636 062E 0645;;;;N;;;;; FD70;ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL; 0636 062E 0645;;;;N;;;;; FD71;ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM;Lo;0;AL; 0637 0645 062D;;;;N;;;;; FD72;ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL; 0637 0645 062D;;;;N;;;;; FD73;ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0637 0645 0645;;;;N;;;;; FD74;ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 0637 0645 064A;;;;N;;;;; FD75;ARABIC LIGATURE AIN WITH JEEM WITH MEEM FINAL FORM;Lo;0;AL; 0639 062C 0645;;;;N;;;;; FD76;ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL; 0639 0645 0645;;;;N;;;;; FD77;ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0639 0645 0645;;;;N;;;;; FD78;ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0639 0645 0649;;;;N;;;;; FD79;ARABIC LIGATURE GHAIN WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL; 063A 0645 0645;;;;N;;;;; FD7A;ARABIC LIGATURE GHAIN WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 063A 0645 064A;;;;N;;;;; FD7B;ARABIC LIGATURE GHAIN WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 063A 0645 0649;;;;N;;;;; FD7C;ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM;Lo;0;AL; 0641 062E 0645;;;;N;;;;; FD7D;ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL; 0641 062E 0645;;;;N;;;;; FD7E;ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM;Lo;0;AL; 0642 0645 062D;;;;N;;;;; FD7F;ARABIC LIGATURE QAF WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL; 0642 0645 0645;;;;N;;;;; FD80;ARABIC LIGATURE LAM WITH HAH WITH MEEM FINAL FORM;Lo;0;AL; 0644 062D 0645;;;;N;;;;; FD81;ARABIC LIGATURE LAM WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 0644 062D 064A;;;;N;;;;; FD82;ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0644 062D 0649;;;;N;;;;; FD83;ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM;Lo;0;AL; 0644 062C 062C;;;;N;;;;; FD84;ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM;Lo;0;AL; 0644 062C 062C;;;;N;;;;; FD85;ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM;Lo;0;AL; 0644 062E 0645;;;;N;;;;; FD86;ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL; 0644 062E 0645;;;;N;;;;; FD87;ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM;Lo;0;AL; 0644 0645 062D;;;;N;;;;; FD88;ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL; 0644 0645 062D;;;;N;;;;; FD89;ARABIC LIGATURE MEEM WITH HAH WITH JEEM INITIAL FORM;Lo;0;AL; 0645 062D 062C;;;;N;;;;; FD8A;ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL; 0645 062D 0645;;;;N;;;;; FD8B;ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 0645 062D 064A;;;;N;;;;; FD8C;ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM;Lo;0;AL; 0645 062C 062D;;;;N;;;;; FD8D;ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0645 062C 0645;;;;N;;;;; FD8E;ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM;Lo;0;AL; 0645 062E 062C;;;;N;;;;; FD8F;ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL; 0645 062E 0645;;;;N;;;;; FD92;ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM;Lo;0;AL; 0645 062C 062E;;;;N;;;;; FD93;ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM;Lo;0;AL; 0647 0645 062C;;;;N;;;;; FD94;ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0647 0645 0645;;;;N;;;;; FD95;ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL; 0646 062D 0645;;;;N;;;;; FD96;ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0646 062D 0649;;;;N;;;;; FD97;ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM;Lo;0;AL; 0646 062C 0645;;;;N;;;;; FD98;ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0646 062C 0645;;;;N;;;;; FD99;ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0646 062C 0649;;;;N;;;;; FD9A;ARABIC LIGATURE NOON WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 0646 0645 064A;;;;N;;;;; FD9B;ARABIC LIGATURE NOON WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0646 0645 0649;;;;N;;;;; FD9C;ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL; 064A 0645 0645;;;;N;;;;; FD9D;ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 064A 0645 0645;;;;N;;;;; FD9E;ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM;Lo;0;AL; 0628 062E 064A;;;;N;;;;; FD9F;ARABIC LIGATURE TEH WITH JEEM WITH YEH FINAL FORM;Lo;0;AL; 062A 062C 064A;;;;N;;;;; FDA0;ARABIC LIGATURE TEH WITH JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062A 062C 0649;;;;N;;;;; FDA1;ARABIC LIGATURE TEH WITH KHAH WITH YEH FINAL FORM;Lo;0;AL; 062A 062E 064A;;;;N;;;;; FDA2;ARABIC LIGATURE TEH WITH KHAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062A 062E 0649;;;;N;;;;; FDA3;ARABIC LIGATURE TEH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 062A 0645 064A;;;;N;;;;; FDA4;ARABIC LIGATURE TEH WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062A 0645 0649;;;;N;;;;; FDA5;ARABIC LIGATURE JEEM WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 062C 0645 064A;;;;N;;;;; FDA6;ARABIC LIGATURE JEEM WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062C 062D 0649;;;;N;;;;; FDA7;ARABIC LIGATURE JEEM WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062C 0645 0649;;;;N;;;;; FDA8;ARABIC LIGATURE SEEN WITH KHAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0633 062E 0649;;;;N;;;;; FDA9;ARABIC LIGATURE SAD WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 0635 062D 064A;;;;N;;;;; FDAA;ARABIC LIGATURE SHEEN WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 0634 062D 064A;;;;N;;;;; FDAB;ARABIC LIGATURE DAD WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 0636 062D 064A;;;;N;;;;; FDAC;ARABIC LIGATURE LAM WITH JEEM WITH YEH FINAL FORM;Lo;0;AL; 0644 062C 064A;;;;N;;;;; FDAD;ARABIC LIGATURE LAM WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 0644 0645 064A;;;;N;;;;; FDAE;ARABIC LIGATURE YEH WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 064A 062D 064A;;;;N;;;;; FDAF;ARABIC LIGATURE YEH WITH JEEM WITH YEH FINAL FORM;Lo;0;AL; 064A 062C 064A;;;;N;;;;; FDB0;ARABIC LIGATURE YEH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 064A 0645 064A;;;;N;;;;; FDB1;ARABIC LIGATURE MEEM WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 0645 0645 064A;;;;N;;;;; FDB2;ARABIC LIGATURE QAF WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 0642 0645 064A;;;;N;;;;; FDB3;ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 0646 062D 064A;;;;N;;;;; FDB4;ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL; 0642 0645 062D;;;;N;;;;; FDB5;ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL; 0644 062D 0645;;;;N;;;;; FDB6;ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 0639 0645 064A;;;;N;;;;; FDB7;ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 0643 0645 064A;;;;N;;;;; FDB8;ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM;Lo;0;AL; 0646 062C 062D;;;;N;;;;; FDB9;ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM;Lo;0;AL; 0645 062E 064A;;;;N;;;;; FDBA;ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0644 062C 0645;;;;N;;;;; FDBB;ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL; 0643 0645 0645;;;;N;;;;; FDBC;ARABIC LIGATURE LAM WITH JEEM WITH MEEM FINAL FORM;Lo;0;AL; 0644 062C 0645;;;;N;;;;; FDBD;ARABIC LIGATURE NOON WITH JEEM WITH HAH FINAL FORM;Lo;0;AL; 0646 062C 062D;;;;N;;;;; FDBE;ARABIC LIGATURE JEEM WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 062C 062D 064A;;;;N;;;;; FDBF;ARABIC LIGATURE HAH WITH JEEM WITH YEH FINAL FORM;Lo;0;AL; 062D 062C 064A;;;;N;;;;; FDC0;ARABIC LIGATURE MEEM WITH JEEM WITH YEH FINAL FORM;Lo;0;AL; 0645 062C 064A;;;;N;;;;; FDC1;ARABIC LIGATURE FEH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 0641 0645 064A;;;;N;;;;; FDC2;ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 0628 062D 064A;;;;N;;;;; FDC3;ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0643 0645 0645;;;;N;;;;; FDC4;ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0639 062C 0645;;;;N;;;;; FDC5;ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0635 0645 0645;;;;N;;;;; FDC6;ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM;Lo;0;AL; 0633 062E 064A;;;;N;;;;; FDC7;ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM;Lo;0;AL; 0646 062C 064A;;;;N;;;;; FDF0;ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM;Lo;0;AL; 0635 0644 06D2;;;;N;;;;; FDF1;ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM;Lo;0;AL; 0642 0644 06D2;;;;N;;;;; FDF2;ARABIC LIGATURE ALLAH ISOLATED FORM;Lo;0;AL; 0627 0644 0644 0647;;;;N;;;;; FDF3;ARABIC LIGATURE AKBAR ISOLATED FORM;Lo;0;AL; 0627 0643 0628 0631;;;;N;;;;; FDF4;ARABIC LIGATURE MOHAMMAD ISOLATED FORM;Lo;0;AL; 0645 062D 0645 062F;;;;N;;;;; FDF5;ARABIC LIGATURE SALAM ISOLATED FORM;Lo;0;AL; 0635 0644 0639 0645;;;;N;;;;; FDF6;ARABIC LIGATURE RASOUL ISOLATED FORM;Lo;0;AL; 0631 0633 0648 0644;;;;N;;;;; FDF7;ARABIC LIGATURE ALAYHE ISOLATED FORM;Lo;0;AL; 0639 0644 064A 0647;;;;N;;;;; FDF8;ARABIC LIGATURE WASALLAM ISOLATED FORM;Lo;0;AL; 0648 0633 0644 0645;;;;N;;;;; FDF9;ARABIC LIGATURE SALLA ISOLATED FORM;Lo;0;AL; 0635 0644 0649;;;;N;;;;; FDFA;ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM;Lo;0;AL; 0635 0644 0649 0020 0627 0644 0644 0647 0020 0639 0644 064A 0647 0020 0648 0633 0644 0645;;;;N;ARABIC LETTER SALLALLAHOU ALAYHE WASALLAM;;;; FDFB;ARABIC LIGATURE JALLAJALALOUHOU;Lo;0;AL; 062C 0644 0020 062C 0644 0627 0644 0647;;;;N;ARABIC LETTER JALLAJALALOUHOU;;;; FDFC;RIAL SIGN;Sc;0;AL; 0631 06CC 0627 0644;;;;N;;;;; FDFD;ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM;So;0;ON;;;;;N;;;;; FE00;VARIATION SELECTOR-1;Mn;0;NSM;;;;;N;;;;; FE01;VARIATION SELECTOR-2;Mn;0;NSM;;;;;N;;;;; FE02;VARIATION SELECTOR-3;Mn;0;NSM;;;;;N;;;;; FE03;VARIATION SELECTOR-4;Mn;0;NSM;;;;;N;;;;; FE04;VARIATION SELECTOR-5;Mn;0;NSM;;;;;N;;;;; FE05;VARIATION SELECTOR-6;Mn;0;NSM;;;;;N;;;;; FE06;VARIATION SELECTOR-7;Mn;0;NSM;;;;;N;;;;; FE07;VARIATION SELECTOR-8;Mn;0;NSM;;;;;N;;;;; FE08;VARIATION SELECTOR-9;Mn;0;NSM;;;;;N;;;;; FE09;VARIATION SELECTOR-10;Mn;0;NSM;;;;;N;;;;; FE0A;VARIATION SELECTOR-11;Mn;0;NSM;;;;;N;;;;; FE0B;VARIATION SELECTOR-12;Mn;0;NSM;;;;;N;;;;; FE0C;VARIATION SELECTOR-13;Mn;0;NSM;;;;;N;;;;; FE0D;VARIATION SELECTOR-14;Mn;0;NSM;;;;;N;;;;; FE0E;VARIATION SELECTOR-15;Mn;0;NSM;;;;;N;;;;; FE0F;VARIATION SELECTOR-16;Mn;0;NSM;;;;;N;;;;; FE20;COMBINING LIGATURE LEFT HALF;Mn;230;NSM;;;;;N;;;;; FE21;COMBINING LIGATURE RIGHT HALF;Mn;230;NSM;;;;;N;;;;; FE22;COMBINING DOUBLE TILDE LEFT HALF;Mn;230;NSM;;;;;N;;;;; FE23;COMBINING DOUBLE TILDE RIGHT HALF;Mn;230;NSM;;;;;N;;;;; FE30;PRESENTATION FORM FOR VERTICAL TWO DOT LEADER;Po;0;ON; 2025;;;;N;GLYPH FOR VERTICAL TWO DOT LEADER;;;; FE31;PRESENTATION FORM FOR VERTICAL EM DASH;Pd;0;ON; 2014;;;;N;GLYPH FOR VERTICAL EM DASH;;;; FE32;PRESENTATION FORM FOR VERTICAL EN DASH;Pd;0;ON; 2013;;;;N;GLYPH FOR VERTICAL EN DASH;;;; FE33;PRESENTATION FORM FOR VERTICAL LOW LINE;Pc;0;ON; 005F;;;;N;GLYPH FOR VERTICAL SPACING UNDERSCORE;;;; FE34;PRESENTATION FORM FOR VERTICAL WAVY LOW LINE;Pc;0;ON; 005F;;;;N;GLYPH FOR VERTICAL SPACING WAVY UNDERSCORE;;;; FE35;PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS;Ps;0;ON; 0028;;;;N;GLYPH FOR VERTICAL OPENING PARENTHESIS;;;; FE36;PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS;Pe;0;ON; 0029;;;;N;GLYPH FOR VERTICAL CLOSING PARENTHESIS;;;; FE37;PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET;Ps;0;ON; 007B;;;;N;GLYPH FOR VERTICAL OPENING CURLY BRACKET;;;; FE38;PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET;Pe;0;ON; 007D;;;;N;GLYPH FOR VERTICAL CLOSING CURLY BRACKET;;;; FE39;PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET;Ps;0;ON; 3014;;;;N;GLYPH FOR VERTICAL OPENING TORTOISE SHELL BRACKET;;;; FE3A;PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET;Pe;0;ON; 3015;;;;N;GLYPH FOR VERTICAL CLOSING TORTOISE SHELL BRACKET;;;; FE3B;PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET;Ps;0;ON; 3010;;;;N;GLYPH FOR VERTICAL OPENING BLACK LENTICULAR BRACKET;;;; FE3C;PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET;Pe;0;ON; 3011;;;;N;GLYPH FOR VERTICAL CLOSING BLACK LENTICULAR BRACKET;;;; FE3D;PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET;Ps;0;ON; 300A;;;;N;GLYPH FOR VERTICAL OPENING DOUBLE ANGLE BRACKET;;;; FE3E;PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET;Pe;0;ON; 300B;;;;N;GLYPH FOR VERTICAL CLOSING DOUBLE ANGLE BRACKET;;;; FE3F;PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET;Ps;0;ON; 3008;;;;N;GLYPH FOR VERTICAL OPENING ANGLE BRACKET;;;; FE40;PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET;Pe;0;ON; 3009;;;;N;GLYPH FOR VERTICAL CLOSING ANGLE BRACKET;;;; FE41;PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET;Ps;0;ON; 300C;;;;N;GLYPH FOR VERTICAL OPENING CORNER BRACKET;;;; FE42;PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET;Pe;0;ON; 300D;;;;N;GLYPH FOR VERTICAL CLOSING CORNER BRACKET;;;; FE43;PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET;Ps;0;ON; 300E;;;;N;GLYPH FOR VERTICAL OPENING WHITE CORNER BRACKET;;;; FE44;PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET;Pe;0;ON; 300F;;;;N;GLYPH FOR VERTICAL CLOSING WHITE CORNER BRACKET;;;; FE45;SESAME DOT;Po;0;ON;;;;;N;;;;; FE46;WHITE SESAME DOT;Po;0;ON;;;;;N;;;;; FE47;PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET;Ps;0;ON; 005B;;;;N;;;;; FE48;PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET;Pe;0;ON; 005D;;;;N;;;;; FE49;DASHED OVERLINE;Po;0;ON; 203E;;;;N;SPACING DASHED OVERSCORE;;;; FE4A;CENTRELINE OVERLINE;Po;0;ON; 203E;;;;N;SPACING CENTERLINE OVERSCORE;;;; FE4B;WAVY OVERLINE;Po;0;ON; 203E;;;;N;SPACING WAVY OVERSCORE;;;; FE4C;DOUBLE WAVY OVERLINE;Po;0;ON; 203E;;;;N;SPACING DOUBLE WAVY OVERSCORE;;;; FE4D;DASHED LOW LINE;Pc;0;ON; 005F;;;;N;SPACING DASHED UNDERSCORE;;;; FE4E;CENTRELINE LOW LINE;Pc;0;ON; 005F;;;;N;SPACING CENTERLINE UNDERSCORE;;;; FE4F;WAVY LOW LINE;Pc;0;ON; 005F;;;;N;SPACING WAVY UNDERSCORE;;;; FE50;SMALL COMMA;Po;0;CS; 002C;;;;N;;;;; FE51;SMALL IDEOGRAPHIC COMMA;Po;0;ON; 3001;;;;N;;;;; FE52;SMALL FULL STOP;Po;0;CS; 002E;;;;N;SMALL PERIOD;;;; FE54;SMALL SEMICOLON;Po;0;ON; 003B;;;;N;;;;; FE55;SMALL COLON;Po;0;CS; 003A;;;;N;;;;; FE56;SMALL QUESTION MARK;Po;0;ON; 003F;;;;N;;;;; FE57;SMALL EXCLAMATION MARK;Po;0;ON; 0021;;;;N;;;;; FE58;SMALL EM DASH;Pd;0;ON; 2014;;;;N;;;;; FE59;SMALL LEFT PARENTHESIS;Ps;0;ON; 0028;;;;N;SMALL OPENING PARENTHESIS;;;; FE5A;SMALL RIGHT PARENTHESIS;Pe;0;ON; 0029;;;;N;SMALL CLOSING PARENTHESIS;;;; FE5B;SMALL LEFT CURLY BRACKET;Ps;0;ON; 007B;;;;N;SMALL OPENING CURLY BRACKET;;;; FE5C;SMALL RIGHT CURLY BRACKET;Pe;0;ON; 007D;;;;N;SMALL CLOSING CURLY BRACKET;;;; FE5D;SMALL LEFT TORTOISE SHELL BRACKET;Ps;0;ON; 3014;;;;N;SMALL OPENING TORTOISE SHELL BRACKET;;;; FE5E;SMALL RIGHT TORTOISE SHELL BRACKET;Pe;0;ON; 3015;;;;N;SMALL CLOSING TORTOISE SHELL BRACKET;;;; FE5F;SMALL NUMBER SIGN;Po;0;ET; 0023;;;;N;;;;; FE60;SMALL AMPERSAND;Po;0;ON; 0026;;;;N;;;;; FE61;SMALL ASTERISK;Po;0;ON; 002A;;;;N;;;;; FE62;SMALL PLUS SIGN;Sm;0;ET; 002B;;;;N;;;;; FE63;SMALL HYPHEN-MINUS;Pd;0;ET; 002D;;;;N;;;;; FE64;SMALL LESS-THAN SIGN;Sm;0;ON; 003C;;;;N;;;;; FE65;SMALL GREATER-THAN SIGN;Sm;0;ON; 003E;;;;N;;;;; FE66;SMALL EQUALS SIGN;Sm;0;ON; 003D;;;;N;;;;; FE68;SMALL REVERSE SOLIDUS;Po;0;ON; 005C;;;;N;SMALL BACKSLASH;;;; FE69;SMALL DOLLAR SIGN;Sc;0;ET; 0024;;;;N;;;;; FE6A;SMALL PERCENT SIGN;Po;0;ET; 0025;;;;N;;;;; FE6B;SMALL COMMERCIAL AT;Po;0;ON; 0040;;;;N;;;;; FE70;ARABIC FATHATAN ISOLATED FORM;Lo;0;AL; 0020 064B;;;;N;ARABIC SPACING FATHATAN;;;; FE71;ARABIC TATWEEL WITH FATHATAN ABOVE;Lo;0;AL; 0640 064B;;;;N;ARABIC FATHATAN ON TATWEEL;;;; FE72;ARABIC DAMMATAN ISOLATED FORM;Lo;0;AL; 0020 064C;;;;N;ARABIC SPACING DAMMATAN;;;; FE73;ARABIC TAIL FRAGMENT;Lo;0;AL;;;;;N;;;;; FE74;ARABIC KASRATAN ISOLATED FORM;Lo;0;AL; 0020 064D;;;;N;ARABIC SPACING KASRATAN;;;; FE76;ARABIC FATHA ISOLATED FORM;Lo;0;AL; 0020 064E;;;;N;ARABIC SPACING FATHAH;;;; FE77;ARABIC FATHA MEDIAL FORM;Lo;0;AL; 0640 064E;;;;N;ARABIC FATHAH ON TATWEEL;;;; FE78;ARABIC DAMMA ISOLATED FORM;Lo;0;AL; 0020 064F;;;;N;ARABIC SPACING DAMMAH;;;; FE79;ARABIC DAMMA MEDIAL FORM;Lo;0;AL; 0640 064F;;;;N;ARABIC DAMMAH ON TATWEEL;;;; FE7A;ARABIC KASRA ISOLATED FORM;Lo;0;AL; 0020 0650;;;;N;ARABIC SPACING KASRAH;;;; FE7B;ARABIC KASRA MEDIAL FORM;Lo;0;AL; 0640 0650;;;;N;ARABIC KASRAH ON TATWEEL;;;; FE7C;ARABIC SHADDA ISOLATED FORM;Lo;0;AL; 0020 0651;;;;N;ARABIC SPACING SHADDAH;;;; FE7D;ARABIC SHADDA MEDIAL FORM;Lo;0;AL; 0640 0651;;;;N;ARABIC SHADDAH ON TATWEEL;;;; FE7E;ARABIC SUKUN ISOLATED FORM;Lo;0;AL; 0020 0652;;;;N;ARABIC SPACING SUKUN;;;; FE7F;ARABIC SUKUN MEDIAL FORM;Lo;0;AL; 0640 0652;;;;N;ARABIC SUKUN ON TATWEEL;;;; FE80;ARABIC LETTER HAMZA ISOLATED FORM;Lo;0;AL; 0621;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH;;;; FE81;ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM;Lo;0;AL; 0622;;;;N;GLYPH FOR ISOLATE ARABIC MADDAH ON ALEF;;;; FE82;ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM;Lo;0;AL; 0622;;;;N;GLYPH FOR FINAL ARABIC MADDAH ON ALEF;;;; FE83;ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL; 0623;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON ALEF;;;; FE84;ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM;Lo;0;AL; 0623;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON ALEF;;;; FE85;ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL; 0624;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON WAW;;;; FE86;ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM;Lo;0;AL; 0624;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON WAW;;;; FE87;ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM;Lo;0;AL; 0625;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH UNDER ALEF;;;; FE88;ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM;Lo;0;AL; 0625;;;;N;GLYPH FOR FINAL ARABIC HAMZAH UNDER ALEF;;;; FE89;ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL; 0626;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON YA;;;; FE8A;ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM;Lo;0;AL; 0626;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON YA;;;; FE8B;ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM;Lo;0;AL; 0626;;;;N;GLYPH FOR INITIAL ARABIC HAMZAH ON YA;;;; FE8C;ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM;Lo;0;AL; 0626;;;;N;GLYPH FOR MEDIAL ARABIC HAMZAH ON YA;;;; FE8D;ARABIC LETTER ALEF ISOLATED FORM;Lo;0;AL; 0627;;;;N;GLYPH FOR ISOLATE ARABIC ALEF;;;; FE8E;ARABIC LETTER ALEF FINAL FORM;Lo;0;AL; 0627;;;;N;GLYPH FOR FINAL ARABIC ALEF;;;; FE8F;ARABIC LETTER BEH ISOLATED FORM;Lo;0;AL; 0628;;;;N;GLYPH FOR ISOLATE ARABIC BAA;;;; FE90;ARABIC LETTER BEH FINAL FORM;Lo;0;AL; 0628;;;;N;GLYPH FOR FINAL ARABIC BAA;;;; FE91;ARABIC LETTER BEH INITIAL FORM;Lo;0;AL; 0628;;;;N;GLYPH FOR INITIAL ARABIC BAA;;;; FE92;ARABIC LETTER BEH MEDIAL FORM;Lo;0;AL; 0628;;;;N;GLYPH FOR MEDIAL ARABIC BAA;;;; FE93;ARABIC LETTER TEH MARBUTA ISOLATED FORM;Lo;0;AL; 0629;;;;N;GLYPH FOR ISOLATE ARABIC TAA MARBUTAH;;;; FE94;ARABIC LETTER TEH MARBUTA FINAL FORM;Lo;0;AL; 0629;;;;N;GLYPH FOR FINAL ARABIC TAA MARBUTAH;;;; FE95;ARABIC LETTER TEH ISOLATED FORM;Lo;0;AL; 062A;;;;N;GLYPH FOR ISOLATE ARABIC TAA;;;; FE96;ARABIC LETTER TEH FINAL FORM;Lo;0;AL; 062A;;;;N;GLYPH FOR FINAL ARABIC TAA;;;; FE97;ARABIC LETTER TEH INITIAL FORM;Lo;0;AL; 062A;;;;N;GLYPH FOR INITIAL ARABIC TAA;;;; FE98;ARABIC LETTER TEH MEDIAL FORM;Lo;0;AL; 062A;;;;N;GLYPH FOR MEDIAL ARABIC TAA;;;; FE99;ARABIC LETTER THEH ISOLATED FORM;Lo;0;AL; 062B;;;;N;GLYPH FOR ISOLATE ARABIC THAA;;;; FE9A;ARABIC LETTER THEH FINAL FORM;Lo;0;AL; 062B;;;;N;GLYPH FOR FINAL ARABIC THAA;;;; FE9B;ARABIC LETTER THEH INITIAL FORM;Lo;0;AL; 062B;;;;N;GLYPH FOR INITIAL ARABIC THAA;;;; FE9C;ARABIC LETTER THEH MEDIAL FORM;Lo;0;AL; 062B;;;;N;GLYPH FOR MEDIAL ARABIC THAA;;;; FE9D;ARABIC LETTER JEEM ISOLATED FORM;Lo;0;AL; 062C;;;;N;GLYPH FOR ISOLATE ARABIC JEEM;;;; FE9E;ARABIC LETTER JEEM FINAL FORM;Lo;0;AL; 062C;;;;N;GLYPH FOR FINAL ARABIC JEEM;;;; FE9F;ARABIC LETTER JEEM INITIAL FORM;Lo;0;AL; 062C;;;;N;GLYPH FOR INITIAL ARABIC JEEM;;;; FEA0;ARABIC LETTER JEEM MEDIAL FORM;Lo;0;AL; 062C;;;;N;GLYPH FOR MEDIAL ARABIC JEEM;;;; FEA1;ARABIC LETTER HAH ISOLATED FORM;Lo;0;AL; 062D;;;;N;GLYPH FOR ISOLATE ARABIC HAA;;;; FEA2;ARABIC LETTER HAH FINAL FORM;Lo;0;AL; 062D;;;;N;GLYPH FOR FINAL ARABIC HAA;;;; FEA3;ARABIC LETTER HAH INITIAL FORM;Lo;0;AL; 062D;;;;N;GLYPH FOR INITIAL ARABIC HAA;;;; FEA4;ARABIC LETTER HAH MEDIAL FORM;Lo;0;AL; 062D;;;;N;GLYPH FOR MEDIAL ARABIC HAA;;;; FEA5;ARABIC LETTER KHAH ISOLATED FORM;Lo;0;AL; 062E;;;;N;GLYPH FOR ISOLATE ARABIC KHAA;;;; FEA6;ARABIC LETTER KHAH FINAL FORM;Lo;0;AL; 062E;;;;N;GLYPH FOR FINAL ARABIC KHAA;;;; FEA7;ARABIC LETTER KHAH INITIAL FORM;Lo;0;AL; 062E;;;;N;GLYPH FOR INITIAL ARABIC KHAA;;;; FEA8;ARABIC LETTER KHAH MEDIAL FORM;Lo;0;AL; 062E;;;;N;GLYPH FOR MEDIAL ARABIC KHAA;;;; FEA9;ARABIC LETTER DAL ISOLATED FORM;Lo;0;AL; 062F;;;;N;GLYPH FOR ISOLATE ARABIC DAL;;;; FEAA;ARABIC LETTER DAL FINAL FORM;Lo;0;AL; 062F;;;;N;GLYPH FOR FINAL ARABIC DAL;;;; FEAB;ARABIC LETTER THAL ISOLATED FORM;Lo;0;AL; 0630;;;;N;GLYPH FOR ISOLATE ARABIC THAL;;;; FEAC;ARABIC LETTER THAL FINAL FORM;Lo;0;AL; 0630;;;;N;GLYPH FOR FINAL ARABIC THAL;;;; FEAD;ARABIC LETTER REH ISOLATED FORM;Lo;0;AL; 0631;;;;N;GLYPH FOR ISOLATE ARABIC RA;;;; FEAE;ARABIC LETTER REH FINAL FORM;Lo;0;AL; 0631;;;;N;GLYPH FOR FINAL ARABIC RA;;;; FEAF;ARABIC LETTER ZAIN ISOLATED FORM;Lo;0;AL; 0632;;;;N;GLYPH FOR ISOLATE ARABIC ZAIN;;;; FEB0;ARABIC LETTER ZAIN FINAL FORM;Lo;0;AL; 0632;;;;N;GLYPH FOR FINAL ARABIC ZAIN;;;; FEB1;ARABIC LETTER SEEN ISOLATED FORM;Lo;0;AL; 0633;;;;N;GLYPH FOR ISOLATE ARABIC SEEN;;;; FEB2;ARABIC LETTER SEEN FINAL FORM;Lo;0;AL; 0633;;;;N;GLYPH FOR FINAL ARABIC SEEN;;;; FEB3;ARABIC LETTER SEEN INITIAL FORM;Lo;0;AL; 0633;;;;N;GLYPH FOR INITIAL ARABIC SEEN;;;; FEB4;ARABIC LETTER SEEN MEDIAL FORM;Lo;0;AL; 0633;;;;N;GLYPH FOR MEDIAL ARABIC SEEN;;;; FEB5;ARABIC LETTER SHEEN ISOLATED FORM;Lo;0;AL; 0634;;;;N;GLYPH FOR ISOLATE ARABIC SHEEN;;;; FEB6;ARABIC LETTER SHEEN FINAL FORM;Lo;0;AL; 0634;;;;N;GLYPH FOR FINAL ARABIC SHEEN;;;; FEB7;ARABIC LETTER SHEEN INITIAL FORM;Lo;0;AL; 0634;;;;N;GLYPH FOR INITIAL ARABIC SHEEN;;;; FEB8;ARABIC LETTER SHEEN MEDIAL FORM;Lo;0;AL; 0634;;;;N;GLYPH FOR MEDIAL ARABIC SHEEN;;;; FEB9;ARABIC LETTER SAD ISOLATED FORM;Lo;0;AL; 0635;;;;N;GLYPH FOR ISOLATE ARABIC SAD;;;; FEBA;ARABIC LETTER SAD FINAL FORM;Lo;0;AL; 0635;;;;N;GLYPH FOR FINAL ARABIC SAD;;;; FEBB;ARABIC LETTER SAD INITIAL FORM;Lo;0;AL; 0635;;;;N;GLYPH FOR INITIAL ARABIC SAD;;;; FEBC;ARABIC LETTER SAD MEDIAL FORM;Lo;0;AL; 0635;;;;N;GLYPH FOR MEDIAL ARABIC SAD;;;; FEBD;ARABIC LETTER DAD ISOLATED FORM;Lo;0;AL; 0636;;;;N;GLYPH FOR ISOLATE ARABIC DAD;;;; FEBE;ARABIC LETTER DAD FINAL FORM;Lo;0;AL; 0636;;;;N;GLYPH FOR FINAL ARABIC DAD;;;; FEBF;ARABIC LETTER DAD INITIAL FORM;Lo;0;AL; 0636;;;;N;GLYPH FOR INITIAL ARABIC DAD;;;; FEC0;ARABIC LETTER DAD MEDIAL FORM;Lo;0;AL; 0636;;;;N;GLYPH FOR MEDIAL ARABIC DAD;;;; FEC1;ARABIC LETTER TAH ISOLATED FORM;Lo;0;AL; 0637;;;;N;GLYPH FOR ISOLATE ARABIC TAH;;;; FEC2;ARABIC LETTER TAH FINAL FORM;Lo;0;AL; 0637;;;;N;GLYPH FOR FINAL ARABIC TAH;;;; FEC3;ARABIC LETTER TAH INITIAL FORM;Lo;0;AL; 0637;;;;N;GLYPH FOR INITIAL ARABIC TAH;;;; FEC4;ARABIC LETTER TAH MEDIAL FORM;Lo;0;AL; 0637;;;;N;GLYPH FOR MEDIAL ARABIC TAH;;;; FEC5;ARABIC LETTER ZAH ISOLATED FORM;Lo;0;AL; 0638;;;;N;GLYPH FOR ISOLATE ARABIC DHAH;;;; FEC6;ARABIC LETTER ZAH FINAL FORM;Lo;0;AL; 0638;;;;N;GLYPH FOR FINAL ARABIC DHAH;;;; FEC7;ARABIC LETTER ZAH INITIAL FORM;Lo;0;AL; 0638;;;;N;GLYPH FOR INITIAL ARABIC DHAH;;;; FEC8;ARABIC LETTER ZAH MEDIAL FORM;Lo;0;AL; 0638;;;;N;GLYPH FOR MEDIAL ARABIC DHAH;;;; FEC9;ARABIC LETTER AIN ISOLATED FORM;Lo;0;AL; 0639;;;;N;GLYPH FOR ISOLATE ARABIC AIN;;;; FECA;ARABIC LETTER AIN FINAL FORM;Lo;0;AL; 0639;;;;N;GLYPH FOR FINAL ARABIC AIN;;;; FECB;ARABIC LETTER AIN INITIAL FORM;Lo;0;AL; 0639;;;;N;GLYPH FOR INITIAL ARABIC AIN;;;; FECC;ARABIC LETTER AIN MEDIAL FORM;Lo;0;AL; 0639;;;;N;GLYPH FOR MEDIAL ARABIC AIN;;;; FECD;ARABIC LETTER GHAIN ISOLATED FORM;Lo;0;AL; 063A;;;;N;GLYPH FOR ISOLATE ARABIC GHAIN;;;; FECE;ARABIC LETTER GHAIN FINAL FORM;Lo;0;AL; 063A;;;;N;GLYPH FOR FINAL ARABIC GHAIN;;;; FECF;ARABIC LETTER GHAIN INITIAL FORM;Lo;0;AL; 063A;;;;N;GLYPH FOR INITIAL ARABIC GHAIN;;;; FED0;ARABIC LETTER GHAIN MEDIAL FORM;Lo;0;AL; 063A;;;;N;GLYPH FOR MEDIAL ARABIC GHAIN;;;; FED1;ARABIC LETTER FEH ISOLATED FORM;Lo;0;AL; 0641;;;;N;GLYPH FOR ISOLATE ARABIC FA;;;; FED2;ARABIC LETTER FEH FINAL FORM;Lo;0;AL; 0641;;;;N;GLYPH FOR FINAL ARABIC FA;;;; FED3;ARABIC LETTER FEH INITIAL FORM;Lo;0;AL; 0641;;;;N;GLYPH FOR INITIAL ARABIC FA;;;; FED4;ARABIC LETTER FEH MEDIAL FORM;Lo;0;AL; 0641;;;;N;GLYPH FOR MEDIAL ARABIC FA;;;; FED5;ARABIC LETTER QAF ISOLATED FORM;Lo;0;AL; 0642;;;;N;GLYPH FOR ISOLATE ARABIC QAF;;;; FED6;ARABIC LETTER QAF FINAL FORM;Lo;0;AL; 0642;;;;N;GLYPH FOR FINAL ARABIC QAF;;;; FED7;ARABIC LETTER QAF INITIAL FORM;Lo;0;AL; 0642;;;;N;GLYPH FOR INITIAL ARABIC QAF;;;; FED8;ARABIC LETTER QAF MEDIAL FORM;Lo;0;AL; 0642;;;;N;GLYPH FOR MEDIAL ARABIC QAF;;;; FED9;ARABIC LETTER KAF ISOLATED FORM;Lo;0;AL; 0643;;;;N;GLYPH FOR ISOLATE ARABIC CAF;;;; FEDA;ARABIC LETTER KAF FINAL FORM;Lo;0;AL; 0643;;;;N;GLYPH FOR FINAL ARABIC CAF;;;; FEDB;ARABIC LETTER KAF INITIAL FORM;Lo;0;AL; 0643;;;;N;GLYPH FOR INITIAL ARABIC CAF;;;; FEDC;ARABIC LETTER KAF MEDIAL FORM;Lo;0;AL; 0643;;;;N;GLYPH FOR MEDIAL ARABIC CAF;;;; FEDD;ARABIC LETTER LAM ISOLATED FORM;Lo;0;AL; 0644;;;;N;GLYPH FOR ISOLATE ARABIC LAM;;;; FEDE;ARABIC LETTER LAM FINAL FORM;Lo;0;AL; 0644;;;;N;GLYPH FOR FINAL ARABIC LAM;;;; FEDF;ARABIC LETTER LAM INITIAL FORM;Lo;0;AL; 0644;;;;N;GLYPH FOR INITIAL ARABIC LAM;;;; FEE0;ARABIC LETTER LAM MEDIAL FORM;Lo;0;AL; 0644;;;;N;GLYPH FOR MEDIAL ARABIC LAM;;;; FEE1;ARABIC LETTER MEEM ISOLATED FORM;Lo;0;AL; 0645;;;;N;GLYPH FOR ISOLATE ARABIC MEEM;;;; FEE2;ARABIC LETTER MEEM FINAL FORM;Lo;0;AL; 0645;;;;N;GLYPH FOR FINAL ARABIC MEEM;;;; FEE3;ARABIC LETTER MEEM INITIAL FORM;Lo;0;AL; 0645;;;;N;GLYPH FOR INITIAL ARABIC MEEM;;;; FEE4;ARABIC LETTER MEEM MEDIAL FORM;Lo;0;AL; 0645;;;;N;GLYPH FOR MEDIAL ARABIC MEEM;;;; FEE5;ARABIC LETTER NOON ISOLATED FORM;Lo;0;AL; 0646;;;;N;GLYPH FOR ISOLATE ARABIC NOON;;;; FEE6;ARABIC LETTER NOON FINAL FORM;Lo;0;AL; 0646;;;;N;GLYPH FOR FINAL ARABIC NOON;;;; FEE7;ARABIC LETTER NOON INITIAL FORM;Lo;0;AL; 0646;;;;N;GLYPH FOR INITIAL ARABIC NOON;;;; FEE8;ARABIC LETTER NOON MEDIAL FORM;Lo;0;AL; 0646;;;;N;GLYPH FOR MEDIAL ARABIC NOON;;;; FEE9;ARABIC LETTER HEH ISOLATED FORM;Lo;0;AL; 0647;;;;N;GLYPH FOR ISOLATE ARABIC HA;;;; FEEA;ARABIC LETTER HEH FINAL FORM;Lo;0;AL; 0647;;;;N;GLYPH FOR FINAL ARABIC HA;;;; FEEB;ARABIC LETTER HEH INITIAL FORM;Lo;0;AL; 0647;;;;N;GLYPH FOR INITIAL ARABIC HA;;;; FEEC;ARABIC LETTER HEH MEDIAL FORM;Lo;0;AL; 0647;;;;N;GLYPH FOR MEDIAL ARABIC HA;;;; FEED;ARABIC LETTER WAW ISOLATED FORM;Lo;0;AL; 0648;;;;N;GLYPH FOR ISOLATE ARABIC WAW;;;; FEEE;ARABIC LETTER WAW FINAL FORM;Lo;0;AL; 0648;;;;N;GLYPH FOR FINAL ARABIC WAW;;;; FEEF;ARABIC LETTER ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0649;;;;N;GLYPH FOR ISOLATE ARABIC ALEF MAQSURAH;;;; FEF0;ARABIC LETTER ALEF MAKSURA FINAL FORM;Lo;0;AL; 0649;;;;N;GLYPH FOR FINAL ARABIC ALEF MAQSURAH;;;; FEF1;ARABIC LETTER YEH ISOLATED FORM;Lo;0;AL; 064A;;;;N;GLYPH FOR ISOLATE ARABIC YA;;;; FEF2;ARABIC LETTER YEH FINAL FORM;Lo;0;AL; 064A;;;;N;GLYPH FOR FINAL ARABIC YA;;;; FEF3;ARABIC LETTER YEH INITIAL FORM;Lo;0;AL; 064A;;;;N;GLYPH FOR INITIAL ARABIC YA;;;; FEF4;ARABIC LETTER YEH MEDIAL FORM;Lo;0;AL; 064A;;;;N;GLYPH FOR MEDIAL ARABIC YA;;;; FEF5;ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM;Lo;0;AL; 0644 0622;;;;N;GLYPH FOR ISOLATE ARABIC MADDAH ON LIGATURE LAM ALEF;;;; FEF6;ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM;Lo;0;AL; 0644 0622;;;;N;GLYPH FOR FINAL ARABIC MADDAH ON LIGATURE LAM ALEF;;;; FEF7;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL; 0644 0623;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON LIGATURE LAM ALEF;;;; FEF8;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM;Lo;0;AL; 0644 0623;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON LIGATURE LAM ALEF;;;; FEF9;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM;Lo;0;AL; 0644 0625;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH UNDER LIGATURE LAM ALEF;;;; FEFA;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM;Lo;0;AL; 0644 0625;;;;N;GLYPH FOR FINAL ARABIC HAMZAH UNDER LIGATURE LAM ALEF;;;; FEFB;ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM;Lo;0;AL; 0644 0627;;;;N;GLYPH FOR ISOLATE ARABIC LIGATURE LAM ALEF;;;; FEFC;ARABIC LIGATURE LAM WITH ALEF FINAL FORM;Lo;0;AL; 0644 0627;;;;N;GLYPH FOR FINAL ARABIC LIGATURE LAM ALEF;;;; FEFF;ZERO WIDTH NO-BREAK SPACE;Cf;0;BN;;;;;N;BYTE ORDER MARK;;;; FF01;FULLWIDTH EXCLAMATION MARK;Po;0;ON; 0021;;;;N;;;;; FF02;FULLWIDTH QUOTATION MARK;Po;0;ON; 0022;;;;N;;;;; FF03;FULLWIDTH NUMBER SIGN;Po;0;ET; 0023;;;;N;;;;; FF04;FULLWIDTH DOLLAR SIGN;Sc;0;ET; 0024;;;;N;;;;; FF05;FULLWIDTH PERCENT SIGN;Po;0;ET; 0025;;;;N;;;;; FF06;FULLWIDTH AMPERSAND;Po;0;ON; 0026;;;;N;;;;; FF07;FULLWIDTH APOSTROPHE;Po;0;ON; 0027;;;;N;;;;; FF08;FULLWIDTH LEFT PARENTHESIS;Ps;0;ON; 0028;;;;Y;FULLWIDTH OPENING PARENTHESIS;;;; FF09;FULLWIDTH RIGHT PARENTHESIS;Pe;0;ON; 0029;;;;Y;FULLWIDTH CLOSING PARENTHESIS;;;; FF0A;FULLWIDTH ASTERISK;Po;0;ON; 002A;;;;N;;;;; FF0B;FULLWIDTH PLUS SIGN;Sm;0;ET; 002B;;;;N;;;;; FF0C;FULLWIDTH COMMA;Po;0;CS; 002C;;;;N;;;;; FF0D;FULLWIDTH HYPHEN-MINUS;Pd;0;ET; 002D;;;;N;;;;; FF0E;FULLWIDTH FULL STOP;Po;0;CS; 002E;;;;N;FULLWIDTH PERIOD;;;; FF0F;FULLWIDTH SOLIDUS;Po;0;ES; 002F;;;;N;FULLWIDTH SLASH;;;; FF10;FULLWIDTH DIGIT ZERO;Nd;0;EN; 0030;0;0;0;N;;;;; FF11;FULLWIDTH DIGIT ONE;Nd;0;EN; 0031;1;1;1;N;;;;; FF12;FULLWIDTH DIGIT TWO;Nd;0;EN; 0032;2;2;2;N;;;;; FF13;FULLWIDTH DIGIT THREE;Nd;0;EN; 0033;3;3;3;N;;;;; FF14;FULLWIDTH DIGIT FOUR;Nd;0;EN; 0034;4;4;4;N;;;;; FF15;FULLWIDTH DIGIT FIVE;Nd;0;EN; 0035;5;5;5;N;;;;; FF16;FULLWIDTH DIGIT SIX;Nd;0;EN; 0036;6;6;6;N;;;;; FF17;FULLWIDTH DIGIT SEVEN;Nd;0;EN; 0037;7;7;7;N;;;;; FF18;FULLWIDTH DIGIT EIGHT;Nd;0;EN; 0038;8;8;8;N;;;;; FF19;FULLWIDTH DIGIT NINE;Nd;0;EN; 0039;9;9;9;N;;;;; FF1A;FULLWIDTH COLON;Po;0;CS; 003A;;;;N;;;;; FF1B;FULLWIDTH SEMICOLON;Po;0;ON; 003B;;;;N;;;;; FF1C;FULLWIDTH LESS-THAN SIGN;Sm;0;ON; 003C;;;;Y;;;;; FF1D;FULLWIDTH EQUALS SIGN;Sm;0;ON; 003D;;;;N;;;;; FF1E;FULLWIDTH GREATER-THAN SIGN;Sm;0;ON; 003E;;;;Y;;;;; FF1F;FULLWIDTH QUESTION MARK;Po;0;ON; 003F;;;;N;;;;; FF20;FULLWIDTH COMMERCIAL AT;Po;0;ON; 0040;;;;N;;;;; FF21;FULLWIDTH LATIN CAPITAL LETTER A;Lu;0;L; 0041;;;;N;;;;FF41; FF22;FULLWIDTH LATIN CAPITAL LETTER B;Lu;0;L; 0042;;;;N;;;;FF42; FF23;FULLWIDTH LATIN CAPITAL LETTER C;Lu;0;L; 0043;;;;N;;;;FF43; FF24;FULLWIDTH LATIN CAPITAL LETTER D;Lu;0;L; 0044;;;;N;;;;FF44; FF25;FULLWIDTH LATIN CAPITAL LETTER E;Lu;0;L; 0045;;;;N;;;;FF45; FF26;FULLWIDTH LATIN CAPITAL LETTER F;Lu;0;L; 0046;;;;N;;;;FF46; FF27;FULLWIDTH LATIN CAPITAL LETTER G;Lu;0;L; 0047;;;;N;;;;FF47; FF28;FULLWIDTH LATIN CAPITAL LETTER H;Lu;0;L; 0048;;;;N;;;;FF48; FF29;FULLWIDTH LATIN CAPITAL LETTER I;Lu;0;L; 0049;;;;N;;;;FF49; FF2A;FULLWIDTH LATIN CAPITAL LETTER J;Lu;0;L; 004A;;;;N;;;;FF4A; FF2B;FULLWIDTH LATIN CAPITAL LETTER K;Lu;0;L; 004B;;;;N;;;;FF4B; FF2C;FULLWIDTH LATIN CAPITAL LETTER L;Lu;0;L; 004C;;;;N;;;;FF4C; FF2D;FULLWIDTH LATIN CAPITAL LETTER M;Lu;0;L; 004D;;;;N;;;;FF4D; FF2E;FULLWIDTH LATIN CAPITAL LETTER N;Lu;0;L; 004E;;;;N;;;;FF4E; FF2F;FULLWIDTH LATIN CAPITAL LETTER O;Lu;0;L; 004F;;;;N;;;;FF4F; FF30;FULLWIDTH LATIN CAPITAL LETTER P;Lu;0;L; 0050;;;;N;;;;FF50; FF31;FULLWIDTH LATIN CAPITAL LETTER Q;Lu;0;L; 0051;;;;N;;;;FF51; FF32;FULLWIDTH LATIN CAPITAL LETTER R;Lu;0;L; 0052;;;;N;;;;FF52; FF33;FULLWIDTH LATIN CAPITAL LETTER S;Lu;0;L; 0053;;;;N;;;;FF53; FF34;FULLWIDTH LATIN CAPITAL LETTER T;Lu;0;L; 0054;;;;N;;;;FF54; FF35;FULLWIDTH LATIN CAPITAL LETTER U;Lu;0;L; 0055;;;;N;;;;FF55; FF36;FULLWIDTH LATIN CAPITAL LETTER V;Lu;0;L; 0056;;;;N;;;;FF56; FF37;FULLWIDTH LATIN CAPITAL LETTER W;Lu;0;L; 0057;;;;N;;;;FF57; FF38;FULLWIDTH LATIN CAPITAL LETTER X;Lu;0;L; 0058;;;;N;;;;FF58; FF39;FULLWIDTH LATIN CAPITAL LETTER Y;Lu;0;L; 0059;;;;N;;;;FF59; FF3A;FULLWIDTH LATIN CAPITAL LETTER Z;Lu;0;L; 005A;;;;N;;;;FF5A; FF3B;FULLWIDTH LEFT SQUARE BRACKET;Ps;0;ON; 005B;;;;Y;FULLWIDTH OPENING SQUARE BRACKET;;;; FF3C;FULLWIDTH REVERSE SOLIDUS;Po;0;ON; 005C;;;;N;FULLWIDTH BACKSLASH;;;; FF3D;FULLWIDTH RIGHT SQUARE BRACKET;Pe;0;ON; 005D;;;;Y;FULLWIDTH CLOSING SQUARE BRACKET;;;; FF3E;FULLWIDTH CIRCUMFLEX ACCENT;Sk;0;ON; 005E;;;;N;FULLWIDTH SPACING CIRCUMFLEX;;;; FF3F;FULLWIDTH LOW LINE;Pc;0;ON; 005F;;;;N;FULLWIDTH SPACING UNDERSCORE;;;; FF40;FULLWIDTH GRAVE ACCENT;Sk;0;ON; 0060;;;;N;FULLWIDTH SPACING GRAVE;;;; FF41;FULLWIDTH LATIN SMALL LETTER A;Ll;0;L; 0061;;;;N;;;FF21;;FF21 FF42;FULLWIDTH LATIN SMALL LETTER B;Ll;0;L; 0062;;;;N;;;FF22;;FF22 FF43;FULLWIDTH LATIN SMALL LETTER C;Ll;0;L; 0063;;;;N;;;FF23;;FF23 FF44;FULLWIDTH LATIN SMALL LETTER D;Ll;0;L; 0064;;;;N;;;FF24;;FF24 FF45;FULLWIDTH LATIN SMALL LETTER E;Ll;0;L; 0065;;;;N;;;FF25;;FF25 FF46;FULLWIDTH LATIN SMALL LETTER F;Ll;0;L; 0066;;;;N;;;FF26;;FF26 FF47;FULLWIDTH LATIN SMALL LETTER G;Ll;0;L; 0067;;;;N;;;FF27;;FF27 FF48;FULLWIDTH LATIN SMALL LETTER H;Ll;0;L; 0068;;;;N;;;FF28;;FF28 FF49;FULLWIDTH LATIN SMALL LETTER I;Ll;0;L; 0069;;;;N;;;FF29;;FF29 FF4A;FULLWIDTH LATIN SMALL LETTER J;Ll;0;L; 006A;;;;N;;;FF2A;;FF2A FF4B;FULLWIDTH LATIN SMALL LETTER K;Ll;0;L; 006B;;;;N;;;FF2B;;FF2B FF4C;FULLWIDTH LATIN SMALL LETTER L;Ll;0;L; 006C;;;;N;;;FF2C;;FF2C FF4D;FULLWIDTH LATIN SMALL LETTER M;Ll;0;L; 006D;;;;N;;;FF2D;;FF2D FF4E;FULLWIDTH LATIN SMALL LETTER N;Ll;0;L; 006E;;;;N;;;FF2E;;FF2E FF4F;FULLWIDTH LATIN SMALL LETTER O;Ll;0;L; 006F;;;;N;;;FF2F;;FF2F FF50;FULLWIDTH LATIN SMALL LETTER P;Ll;0;L; 0070;;;;N;;;FF30;;FF30 FF51;FULLWIDTH LATIN SMALL LETTER Q;Ll;0;L; 0071;;;;N;;;FF31;;FF31 FF52;FULLWIDTH LATIN SMALL LETTER R;Ll;0;L; 0072;;;;N;;;FF32;;FF32 FF53;FULLWIDTH LATIN SMALL LETTER S;Ll;0;L; 0073;;;;N;;;FF33;;FF33 FF54;FULLWIDTH LATIN SMALL LETTER T;Ll;0;L; 0074;;;;N;;;FF34;;FF34 FF55;FULLWIDTH LATIN SMALL LETTER U;Ll;0;L; 0075;;;;N;;;FF35;;FF35 FF56;FULLWIDTH LATIN SMALL LETTER V;Ll;0;L; 0076;;;;N;;;FF36;;FF36 FF57;FULLWIDTH LATIN SMALL LETTER W;Ll;0;L; 0077;;;;N;;;FF37;;FF37 FF58;FULLWIDTH LATIN SMALL LETTER X;Ll;0;L; 0078;;;;N;;;FF38;;FF38 FF59;FULLWIDTH LATIN SMALL LETTER Y;Ll;0;L; 0079;;;;N;;;FF39;;FF39 FF5A;FULLWIDTH LATIN SMALL LETTER Z;Ll;0;L; 007A;;;;N;;;FF3A;;FF3A FF5B;FULLWIDTH LEFT CURLY BRACKET;Ps;0;ON; 007B;;;;Y;FULLWIDTH OPENING CURLY BRACKET;;;; FF5C;FULLWIDTH VERTICAL LINE;Sm;0;ON; 007C;;;;N;FULLWIDTH VERTICAL BAR;;;; FF5D;FULLWIDTH RIGHT CURLY BRACKET;Pe;0;ON; 007D;;;;Y;FULLWIDTH CLOSING CURLY BRACKET;;;; FF5E;FULLWIDTH TILDE;Sm;0;ON; 007E;;;;N;FULLWIDTH SPACING TILDE;;;; FF5F;FULLWIDTH LEFT WHITE PARENTHESIS;Ps;0;ON; 2985;;;;Y;;*;;; FF60;FULLWIDTH RIGHT WHITE PARENTHESIS;Pe;0;ON; 2986;;;;Y;;*;;; FF61;HALFWIDTH IDEOGRAPHIC FULL STOP;Po;0;ON; 3002;;;;N;HALFWIDTH IDEOGRAPHIC PERIOD;;;; FF62;HALFWIDTH LEFT CORNER BRACKET;Ps;0;ON; 300C;;;;Y;HALFWIDTH OPENING CORNER BRACKET;;;; FF63;HALFWIDTH RIGHT CORNER BRACKET;Pe;0;ON; 300D;;;;Y;HALFWIDTH CLOSING CORNER BRACKET;;;; FF64;HALFWIDTH IDEOGRAPHIC COMMA;Po;0;ON; 3001;;;;N;;;;; FF65;HALFWIDTH KATAKANA MIDDLE DOT;Pc;0;ON; 30FB;;;;N;;;;; FF66;HALFWIDTH KATAKANA LETTER WO;Lo;0;L; 30F2;;;;N;;;;; FF67;HALFWIDTH KATAKANA LETTER SMALL A;Lo;0;L; 30A1;;;;N;;;;; FF68;HALFWIDTH KATAKANA LETTER SMALL I;Lo;0;L; 30A3;;;;N;;;;; FF69;HALFWIDTH KATAKANA LETTER SMALL U;Lo;0;L; 30A5;;;;N;;;;; FF6A;HALFWIDTH KATAKANA LETTER SMALL E;Lo;0;L; 30A7;;;;N;;;;; FF6B;HALFWIDTH KATAKANA LETTER SMALL O;Lo;0;L; 30A9;;;;N;;;;; FF6C;HALFWIDTH KATAKANA LETTER SMALL YA;Lo;0;L; 30E3;;;;N;;;;; FF6D;HALFWIDTH KATAKANA LETTER SMALL YU;Lo;0;L; 30E5;;;;N;;;;; FF6E;HALFWIDTH KATAKANA LETTER SMALL YO;Lo;0;L; 30E7;;;;N;;;;; FF6F;HALFWIDTH KATAKANA LETTER SMALL TU;Lo;0;L; 30C3;;;;N;;;;; FF70;HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK;Lm;0;L; 30FC;;;;N;;;;; FF71;HALFWIDTH KATAKANA LETTER A;Lo;0;L; 30A2;;;;N;;;;; FF72;HALFWIDTH KATAKANA LETTER I;Lo;0;L; 30A4;;;;N;;;;; FF73;HALFWIDTH KATAKANA LETTER U;Lo;0;L; 30A6;;;;N;;;;; FF74;HALFWIDTH KATAKANA LETTER E;Lo;0;L; 30A8;;;;N;;;;; FF75;HALFWIDTH KATAKANA LETTER O;Lo;0;L; 30AA;;;;N;;;;; FF76;HALFWIDTH KATAKANA LETTER KA;Lo;0;L; 30AB;;;;N;;;;; FF77;HALFWIDTH KATAKANA LETTER KI;Lo;0;L; 30AD;;;;N;;;;; FF78;HALFWIDTH KATAKANA LETTER KU;Lo;0;L; 30AF;;;;N;;;;; FF79;HALFWIDTH KATAKANA LETTER KE;Lo;0;L; 30B1;;;;N;;;;; FF7A;HALFWIDTH KATAKANA LETTER KO;Lo;0;L; 30B3;;;;N;;;;; FF7B;HALFWIDTH KATAKANA LETTER SA;Lo;0;L; 30B5;;;;N;;;;; FF7C;HALFWIDTH KATAKANA LETTER SI;Lo;0;L; 30B7;;;;N;;;;; FF7D;HALFWIDTH KATAKANA LETTER SU;Lo;0;L; 30B9;;;;N;;;;; FF7E;HALFWIDTH KATAKANA LETTER SE;Lo;0;L; 30BB;;;;N;;;;; FF7F;HALFWIDTH KATAKANA LETTER SO;Lo;0;L; 30BD;;;;N;;;;; FF80;HALFWIDTH KATAKANA LETTER TA;Lo;0;L; 30BF;;;;N;;;;; FF81;HALFWIDTH KATAKANA LETTER TI;Lo;0;L; 30C1;;;;N;;;;; FF82;HALFWIDTH KATAKANA LETTER TU;Lo;0;L; 30C4;;;;N;;;;; FF83;HALFWIDTH KATAKANA LETTER TE;Lo;0;L; 30C6;;;;N;;;;; FF84;HALFWIDTH KATAKANA LETTER TO;Lo;0;L; 30C8;;;;N;;;;; FF85;HALFWIDTH KATAKANA LETTER NA;Lo;0;L; 30CA;;;;N;;;;; FF86;HALFWIDTH KATAKANA LETTER NI;Lo;0;L; 30CB;;;;N;;;;; FF87;HALFWIDTH KATAKANA LETTER NU;Lo;0;L; 30CC;;;;N;;;;; FF88;HALFWIDTH KATAKANA LETTER NE;Lo;0;L; 30CD;;;;N;;;;; FF89;HALFWIDTH KATAKANA LETTER NO;Lo;0;L; 30CE;;;;N;;;;; FF8A;HALFWIDTH KATAKANA LETTER HA;Lo;0;L; 30CF;;;;N;;;;; FF8B;HALFWIDTH KATAKANA LETTER HI;Lo;0;L; 30D2;;;;N;;;;; FF8C;HALFWIDTH KATAKANA LETTER HU;Lo;0;L; 30D5;;;;N;;;;; FF8D;HALFWIDTH KATAKANA LETTER HE;Lo;0;L; 30D8;;;;N;;;;; FF8E;HALFWIDTH KATAKANA LETTER HO;Lo;0;L; 30DB;;;;N;;;;; FF8F;HALFWIDTH KATAKANA LETTER MA;Lo;0;L; 30DE;;;;N;;;;; FF90;HALFWIDTH KATAKANA LETTER MI;Lo;0;L; 30DF;;;;N;;;;; FF91;HALFWIDTH KATAKANA LETTER MU;Lo;0;L; 30E0;;;;N;;;;; FF92;HALFWIDTH KATAKANA LETTER ME;Lo;0;L; 30E1;;;;N;;;;; FF93;HALFWIDTH KATAKANA LETTER MO;Lo;0;L; 30E2;;;;N;;;;; FF94;HALFWIDTH KATAKANA LETTER YA;Lo;0;L; 30E4;;;;N;;;;; FF95;HALFWIDTH KATAKANA LETTER YU;Lo;0;L; 30E6;;;;N;;;;; FF96;HALFWIDTH KATAKANA LETTER YO;Lo;0;L; 30E8;;;;N;;;;; FF97;HALFWIDTH KATAKANA LETTER RA;Lo;0;L; 30E9;;;;N;;;;; FF98;HALFWIDTH KATAKANA LETTER RI;Lo;0;L; 30EA;;;;N;;;;; FF99;HALFWIDTH KATAKANA LETTER RU;Lo;0;L; 30EB;;;;N;;;;; FF9A;HALFWIDTH KATAKANA LETTER RE;Lo;0;L; 30EC;;;;N;;;;; FF9B;HALFWIDTH KATAKANA LETTER RO;Lo;0;L; 30ED;;;;N;;;;; FF9C;HALFWIDTH KATAKANA LETTER WA;Lo;0;L; 30EF;;;;N;;;;; FF9D;HALFWIDTH KATAKANA LETTER N;Lo;0;L; 30F3;;;;N;;;;; FF9E;HALFWIDTH KATAKANA VOICED SOUND MARK;Lm;0;L; 3099;;;;N;;halfwidth katakana-hiragana voiced sound mark;;; FF9F;HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK;Lm;0;L; 309A;;;;N;;halfwidth katakana-hiragana semi-voiced sound mark;;; FFA0;HALFWIDTH HANGUL FILLER;Lo;0;L; 3164;;;;N;HALFWIDTH HANGUL CAE OM;;;; FFA1;HALFWIDTH HANGUL LETTER KIYEOK;Lo;0;L; 3131;;;;N;HALFWIDTH HANGUL LETTER GIYEOG;;;; FFA2;HALFWIDTH HANGUL LETTER SSANGKIYEOK;Lo;0;L; 3132;;;;N;HALFWIDTH HANGUL LETTER SSANG GIYEOG;;;; FFA3;HALFWIDTH HANGUL LETTER KIYEOK-SIOS;Lo;0;L; 3133;;;;N;HALFWIDTH HANGUL LETTER GIYEOG SIOS;;;; FFA4;HALFWIDTH HANGUL LETTER NIEUN;Lo;0;L; 3134;;;;N;;;;; FFA5;HALFWIDTH HANGUL LETTER NIEUN-CIEUC;Lo;0;L; 3135;;;;N;HALFWIDTH HANGUL LETTER NIEUN JIEUJ;;;; FFA6;HALFWIDTH HANGUL LETTER NIEUN-HIEUH;Lo;0;L; 3136;;;;N;HALFWIDTH HANGUL LETTER NIEUN HIEUH;;;; FFA7;HALFWIDTH HANGUL LETTER TIKEUT;Lo;0;L; 3137;;;;N;HALFWIDTH HANGUL LETTER DIGEUD;;;; FFA8;HALFWIDTH HANGUL LETTER SSANGTIKEUT;Lo;0;L; 3138;;;;N;HALFWIDTH HANGUL LETTER SSANG DIGEUD;;;; FFA9;HALFWIDTH HANGUL LETTER RIEUL;Lo;0;L; 3139;;;;N;HALFWIDTH HANGUL LETTER LIEUL;;;; FFAA;HALFWIDTH HANGUL LETTER RIEUL-KIYEOK;Lo;0;L; 313A;;;;N;HALFWIDTH HANGUL LETTER LIEUL GIYEOG;;;; FFAB;HALFWIDTH HANGUL LETTER RIEUL-MIEUM;Lo;0;L; 313B;;;;N;HALFWIDTH HANGUL LETTER LIEUL MIEUM;;;; FFAC;HALFWIDTH HANGUL LETTER RIEUL-PIEUP;Lo;0;L; 313C;;;;N;HALFWIDTH HANGUL LETTER LIEUL BIEUB;;;; FFAD;HALFWIDTH HANGUL LETTER RIEUL-SIOS;Lo;0;L; 313D;;;;N;HALFWIDTH HANGUL LETTER LIEUL SIOS;;;; FFAE;HALFWIDTH HANGUL LETTER RIEUL-THIEUTH;Lo;0;L; 313E;;;;N;HALFWIDTH HANGUL LETTER LIEUL TIEUT;;;; FFAF;HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH;Lo;0;L; 313F;;;;N;HALFWIDTH HANGUL LETTER LIEUL PIEUP;;;; FFB0;HALFWIDTH HANGUL LETTER RIEUL-HIEUH;Lo;0;L; 3140;;;;N;HALFWIDTH HANGUL LETTER LIEUL HIEUH;;;; FFB1;HALFWIDTH HANGUL LETTER MIEUM;Lo;0;L; 3141;;;;N;;;;; FFB2;HALFWIDTH HANGUL LETTER PIEUP;Lo;0;L; 3142;;;;N;HALFWIDTH HANGUL LETTER BIEUB;;;; FFB3;HALFWIDTH HANGUL LETTER SSANGPIEUP;Lo;0;L; 3143;;;;N;HALFWIDTH HANGUL LETTER SSANG BIEUB;;;; FFB4;HALFWIDTH HANGUL LETTER PIEUP-SIOS;Lo;0;L; 3144;;;;N;HALFWIDTH HANGUL LETTER BIEUB SIOS;;;; FFB5;HALFWIDTH HANGUL LETTER SIOS;Lo;0;L; 3145;;;;N;;;;; FFB6;HALFWIDTH HANGUL LETTER SSANGSIOS;Lo;0;L; 3146;;;;N;HALFWIDTH HANGUL LETTER SSANG SIOS;;;; FFB7;HALFWIDTH HANGUL LETTER IEUNG;Lo;0;L; 3147;;;;N;;;;; FFB8;HALFWIDTH HANGUL LETTER CIEUC;Lo;0;L; 3148;;;;N;HALFWIDTH HANGUL LETTER JIEUJ;;;; FFB9;HALFWIDTH HANGUL LETTER SSANGCIEUC;Lo;0;L; 3149;;;;N;HALFWIDTH HANGUL LETTER SSANG JIEUJ;;;; FFBA;HALFWIDTH HANGUL LETTER CHIEUCH;Lo;0;L; 314A;;;;N;HALFWIDTH HANGUL LETTER CIEUC;;;; FFBB;HALFWIDTH HANGUL LETTER KHIEUKH;Lo;0;L; 314B;;;;N;HALFWIDTH HANGUL LETTER KIYEOK;;;; FFBC;HALFWIDTH HANGUL LETTER THIEUTH;Lo;0;L; 314C;;;;N;HALFWIDTH HANGUL LETTER TIEUT;;;; FFBD;HALFWIDTH HANGUL LETTER PHIEUPH;Lo;0;L; 314D;;;;N;HALFWIDTH HANGUL LETTER PIEUP;;;; FFBE;HALFWIDTH HANGUL LETTER HIEUH;Lo;0;L; 314E;;;;N;;;;; FFC2;HALFWIDTH HANGUL LETTER A;Lo;0;L; 314F;;;;N;;;;; FFC3;HALFWIDTH HANGUL LETTER AE;Lo;0;L; 3150;;;;N;;;;; FFC4;HALFWIDTH HANGUL LETTER YA;Lo;0;L; 3151;;;;N;;;;; FFC5;HALFWIDTH HANGUL LETTER YAE;Lo;0;L; 3152;;;;N;;;;; FFC6;HALFWIDTH HANGUL LETTER EO;Lo;0;L; 3153;;;;N;;;;; FFC7;HALFWIDTH HANGUL LETTER E;Lo;0;L; 3154;;;;N;;;;; FFCA;HALFWIDTH HANGUL LETTER YEO;Lo;0;L; 3155;;;;N;;;;; FFCB;HALFWIDTH HANGUL LETTER YE;Lo;0;L; 3156;;;;N;;;;; FFCC;HALFWIDTH HANGUL LETTER O;Lo;0;L; 3157;;;;N;;;;; FFCD;HALFWIDTH HANGUL LETTER WA;Lo;0;L; 3158;;;;N;;;;; FFCE;HALFWIDTH HANGUL LETTER WAE;Lo;0;L; 3159;;;;N;;;;; FFCF;HALFWIDTH HANGUL LETTER OE;Lo;0;L; 315A;;;;N;;;;; FFD2;HALFWIDTH HANGUL LETTER YO;Lo;0;L; 315B;;;;N;;;;; FFD3;HALFWIDTH HANGUL LETTER U;Lo;0;L; 315C;;;;N;;;;; FFD4;HALFWIDTH HANGUL LETTER WEO;Lo;0;L; 315D;;;;N;;;;; FFD5;HALFWIDTH HANGUL LETTER WE;Lo;0;L; 315E;;;;N;;;;; FFD6;HALFWIDTH HANGUL LETTER WI;Lo;0;L; 315F;;;;N;;;;; FFD7;HALFWIDTH HANGUL LETTER YU;Lo;0;L; 3160;;;;N;;;;; FFDA;HALFWIDTH HANGUL LETTER EU;Lo;0;L; 3161;;;;N;;;;; FFDB;HALFWIDTH HANGUL LETTER YI;Lo;0;L; 3162;;;;N;;;;; FFDC;HALFWIDTH HANGUL LETTER I;Lo;0;L; 3163;;;;N;;;;; FFE0;FULLWIDTH CENT SIGN;Sc;0;ET; 00A2;;;;N;;;;; FFE1;FULLWIDTH POUND SIGN;Sc;0;ET; 00A3;;;;N;;;;; FFE2;FULLWIDTH NOT SIGN;Sm;0;ON; 00AC;;;;N;;;;; FFE3;FULLWIDTH MACRON;Sk;0;ON; 00AF;;;;N;FULLWIDTH SPACING MACRON;*;;; FFE4;FULLWIDTH BROKEN BAR;So;0;ON; 00A6;;;;N;FULLWIDTH BROKEN VERTICAL BAR;;;; FFE5;FULLWIDTH YEN SIGN;Sc;0;ET; 00A5;;;;N;;;;; FFE6;FULLWIDTH WON SIGN;Sc;0;ET; 20A9;;;;N;;;;; FFE8;HALFWIDTH FORMS LIGHT VERTICAL;So;0;ON; 2502;;;;N;;;;; FFE9;HALFWIDTH LEFTWARDS ARROW;Sm;0;ON; 2190;;;;N;;;;; FFEA;HALFWIDTH UPWARDS ARROW;Sm;0;ON; 2191;;;;N;;;;; FFEB;HALFWIDTH RIGHTWARDS ARROW;Sm;0;ON; 2192;;;;N;;;;; FFEC;HALFWIDTH DOWNWARDS ARROW;Sm;0;ON; 2193;;;;N;;;;; FFED;HALFWIDTH BLACK SQUARE;So;0;ON; 25A0;;;;N;;;;; FFEE;HALFWIDTH WHITE CIRCLE;So;0;ON; 25CB;;;;N;;;;; FFF9;INTERLINEAR ANNOTATION ANCHOR;Cf;0;BN;;;;;N;;;;; FFFA;INTERLINEAR ANNOTATION SEPARATOR;Cf;0;BN;;;;;N;;;;; FFFB;INTERLINEAR ANNOTATION TERMINATOR;Cf;0;BN;;;;;N;;;;; FFFC;OBJECT REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; 10000;LINEAR B SYLLABLE B008 A;Lo;0;L;;;;;N;;;;; 10001;LINEAR B SYLLABLE B038 E;Lo;0;L;;;;;N;;;;; 10002;LINEAR B SYLLABLE B028 I;Lo;0;L;;;;;N;;;;; 10003;LINEAR B SYLLABLE B061 O;Lo;0;L;;;;;N;;;;; 10004;LINEAR B SYLLABLE B010 U;Lo;0;L;;;;;N;;;;; 10005;LINEAR B SYLLABLE B001 DA;Lo;0;L;;;;;N;;;;; 10006;LINEAR B SYLLABLE B045 DE;Lo;0;L;;;;;N;;;;; 10007;LINEAR B SYLLABLE B007 DI;Lo;0;L;;;;;N;;;;; 10008;LINEAR B SYLLABLE B014 DO;Lo;0;L;;;;;N;;;;; 10009;LINEAR B SYLLABLE B051 DU;Lo;0;L;;;;;N;;;;; 1000A;LINEAR B SYLLABLE B057 JA;Lo;0;L;;;;;N;;;;; 1000B;LINEAR B SYLLABLE B046 JE;Lo;0;L;;;;;N;;;;; 1000D;LINEAR B SYLLABLE B036 JO;Lo;0;L;;;;;N;;;;; 1000E;LINEAR B SYLLABLE B065 JU;Lo;0;L;;;;;N;;;;; 1000F;LINEAR B SYLLABLE B077 KA;Lo;0;L;;;;;N;;;;; 10010;LINEAR B SYLLABLE B044 KE;Lo;0;L;;;;;N;;;;; 10011;LINEAR B SYLLABLE B067 KI;Lo;0;L;;;;;N;;;;; 10012;LINEAR B SYLLABLE B070 KO;Lo;0;L;;;;;N;;;;; 10013;LINEAR B SYLLABLE B081 KU;Lo;0;L;;;;;N;;;;; 10014;LINEAR B SYLLABLE B080 MA;Lo;0;L;;;;;N;;;;; 10015;LINEAR B SYLLABLE B013 ME;Lo;0;L;;;;;N;;;;; 10016;LINEAR B SYLLABLE B073 MI;Lo;0;L;;;;;N;;;;; 10017;LINEAR B SYLLABLE B015 MO;Lo;0;L;;;;;N;;;;; 10018;LINEAR B SYLLABLE B023 MU;Lo;0;L;;;;;N;;;;; 10019;LINEAR B SYLLABLE B006 NA;Lo;0;L;;;;;N;;;;; 1001A;LINEAR B SYLLABLE B024 NE;Lo;0;L;;;;;N;;;;; 1001B;LINEAR B SYLLABLE B030 NI;Lo;0;L;;;;;N;;;;; 1001C;LINEAR B SYLLABLE B052 NO;Lo;0;L;;;;;N;;;;; 1001D;LINEAR B SYLLABLE B055 NU;Lo;0;L;;;;;N;;;;; 1001E;LINEAR B SYLLABLE B003 PA;Lo;0;L;;;;;N;;;;; 1001F;LINEAR B SYLLABLE B072 PE;Lo;0;L;;;;;N;;;;; 10020;LINEAR B SYLLABLE B039 PI;Lo;0;L;;;;;N;;;;; 10021;LINEAR B SYLLABLE B011 PO;Lo;0;L;;;;;N;;;;; 10022;LINEAR B SYLLABLE B050 PU;Lo;0;L;;;;;N;;;;; 10023;LINEAR B SYLLABLE B016 QA;Lo;0;L;;;;;N;;;;; 10024;LINEAR B SYLLABLE B078 QE;Lo;0;L;;;;;N;;;;; 10025;LINEAR B SYLLABLE B021 QI;Lo;0;L;;;;;N;;;;; 10026;LINEAR B SYLLABLE B032 QO;Lo;0;L;;;;;N;;;;; 10028;LINEAR B SYLLABLE B060 RA;Lo;0;L;;;;;N;;;;; 10029;LINEAR B SYLLABLE B027 RE;Lo;0;L;;;;;N;;;;; 1002A;LINEAR B SYLLABLE B053 RI;Lo;0;L;;;;;N;;;;; 1002B;LINEAR B SYLLABLE B002 RO;Lo;0;L;;;;;N;;;;; 1002C;LINEAR B SYLLABLE B026 RU;Lo;0;L;;;;;N;;;;; 1002D;LINEAR B SYLLABLE B031 SA;Lo;0;L;;;;;N;;;;; 1002E;LINEAR B SYLLABLE B009 SE;Lo;0;L;;;;;N;;;;; 1002F;LINEAR B SYLLABLE B041 SI;Lo;0;L;;;;;N;;;;; 10030;LINEAR B SYLLABLE B012 SO;Lo;0;L;;;;;N;;;;; 10031;LINEAR B SYLLABLE B058 SU;Lo;0;L;;;;;N;;;;; 10032;LINEAR B SYLLABLE B059 TA;Lo;0;L;;;;;N;;;;; 10033;LINEAR B SYLLABLE B004 TE;Lo;0;L;;;;;N;;;;; 10034;LINEAR B SYLLABLE B037 TI;Lo;0;L;;;;;N;;;;; 10035;LINEAR B SYLLABLE B005 TO;Lo;0;L;;;;;N;;;;; 10036;LINEAR B SYLLABLE B069 TU;Lo;0;L;;;;;N;;;;; 10037;LINEAR B SYLLABLE B054 WA;Lo;0;L;;;;;N;;;;; 10038;LINEAR B SYLLABLE B075 WE;Lo;0;L;;;;;N;;;;; 10039;LINEAR B SYLLABLE B040 WI;Lo;0;L;;;;;N;;;;; 1003A;LINEAR B SYLLABLE B042 WO;Lo;0;L;;;;;N;;;;; 1003C;LINEAR B SYLLABLE B017 ZA;Lo;0;L;;;;;N;;;;; 1003D;LINEAR B SYLLABLE B074 ZE;Lo;0;L;;;;;N;;;;; 1003F;LINEAR B SYLLABLE B020 ZO;Lo;0;L;;;;;N;;;;; 10040;LINEAR B SYLLABLE B025 A2;Lo;0;L;;;;;N;;;;; 10041;LINEAR B SYLLABLE B043 A3;Lo;0;L;;;;;N;;;;; 10042;LINEAR B SYLLABLE B085 AU;Lo;0;L;;;;;N;;;;; 10043;LINEAR B SYLLABLE B071 DWE;Lo;0;L;;;;;N;;;;; 10044;LINEAR B SYLLABLE B090 DWO;Lo;0;L;;;;;N;;;;; 10045;LINEAR B SYLLABLE B048 NWA;Lo;0;L;;;;;N;;;;; 10046;LINEAR B SYLLABLE B029 PU2;Lo;0;L;;;;;N;;;;; 10047;LINEAR B SYLLABLE B062 PTE;Lo;0;L;;;;;N;;;;; 10048;LINEAR B SYLLABLE B076 RA2;Lo;0;L;;;;;N;;;;; 10049;LINEAR B SYLLABLE B033 RA3;Lo;0;L;;;;;N;;;;; 1004A;LINEAR B SYLLABLE B068 RO2;Lo;0;L;;;;;N;;;;; 1004B;LINEAR B SYLLABLE B066 TA2;Lo;0;L;;;;;N;;;;; 1004C;LINEAR B SYLLABLE B087 TWE;Lo;0;L;;;;;N;;;;; 1004D;LINEAR B SYLLABLE B091 TWO;Lo;0;L;;;;;N;;;;; 10050;LINEAR B SYMBOL B018;Lo;0;L;;;;;N;;;;; 10051;LINEAR B SYMBOL B019;Lo;0;L;;;;;N;;;;; 10052;LINEAR B SYMBOL B022;Lo;0;L;;;;;N;;;;; 10053;LINEAR B SYMBOL B034;Lo;0;L;;;;;N;;;;; 10054;LINEAR B SYMBOL B047;Lo;0;L;;;;;N;;;;; 10055;LINEAR B SYMBOL B049;Lo;0;L;;;;;N;;;;; 10056;LINEAR B SYMBOL B056;Lo;0;L;;;;;N;;;;; 10057;LINEAR B SYMBOL B063;Lo;0;L;;;;;N;;;;; 10058;LINEAR B SYMBOL B064;Lo;0;L;;;;;N;;;;; 10059;LINEAR B SYMBOL B079;Lo;0;L;;;;;N;;;;; 1005A;LINEAR B SYMBOL B082;Lo;0;L;;;;;N;;;;; 1005B;LINEAR B SYMBOL B083;Lo;0;L;;;;;N;;;;; 1005C;LINEAR B SYMBOL B086;Lo;0;L;;;;;N;;;;; 1005D;LINEAR B SYMBOL B089;Lo;0;L;;;;;N;;;;; 10080;LINEAR B IDEOGRAM B100 MAN;Lo;0;L;;;;;N;;;;; 10081;LINEAR B IDEOGRAM B102 WOMAN;Lo;0;L;;;;;N;;;;; 10082;LINEAR B IDEOGRAM B104 DEER;Lo;0;L;;;;;N;;;;; 10083;LINEAR B IDEOGRAM B105 EQUID;Lo;0;L;;;;;N;;;;; 10084;LINEAR B IDEOGRAM B105F MARE;Lo;0;L;;;;;N;;;;; 10085;LINEAR B IDEOGRAM B105M STALLION;Lo;0;L;;;;;N;;;;; 10086;LINEAR B IDEOGRAM B106F EWE;Lo;0;L;;;;;N;;;;; 10087;LINEAR B IDEOGRAM B106M RAM;Lo;0;L;;;;;N;;;;; 10088;LINEAR B IDEOGRAM B107F SHE-GOAT;Lo;0;L;;;;;N;;;;; 10089;LINEAR B IDEOGRAM B107M HE-GOAT;Lo;0;L;;;;;N;;;;; 1008A;LINEAR B IDEOGRAM B108F SOW;Lo;0;L;;;;;N;;;;; 1008B;LINEAR B IDEOGRAM B108M BOAR;Lo;0;L;;;;;N;;;;; 1008C;LINEAR B IDEOGRAM B109F COW;Lo;0;L;;;;;N;;;;; 1008D;LINEAR B IDEOGRAM B109M BULL;Lo;0;L;;;;;N;;;;; 1008E;LINEAR B IDEOGRAM B120 WHEAT;Lo;0;L;;;;;N;;;;; 1008F;LINEAR B IDEOGRAM B121 BARLEY;Lo;0;L;;;;;N;;;;; 10090;LINEAR B IDEOGRAM B122 OLIVE;Lo;0;L;;;;;N;;;;; 10091;LINEAR B IDEOGRAM B123 SPICE;Lo;0;L;;;;;N;;;;; 10092;LINEAR B IDEOGRAM B125 CYPERUS;Lo;0;L;;;;;N;;;;; 10093;LINEAR B MONOGRAM B127 KAPO;Lo;0;L;;;;;N;;;;; 10094;LINEAR B MONOGRAM B128 KANAKO;Lo;0;L;;;;;N;;;;; 10095;LINEAR B IDEOGRAM B130 OIL;Lo;0;L;;;;;N;;;;; 10096;LINEAR B IDEOGRAM B131 WINE;Lo;0;L;;;;;N;;;;; 10097;LINEAR B IDEOGRAM B132;Lo;0;L;;;;;N;;;;; 10098;LINEAR B MONOGRAM B133 AREPA;Lo;0;L;;;;;N;;;;; 10099;LINEAR B MONOGRAM B135 MERI;Lo;0;L;;;;;N;;;;; 1009A;LINEAR B IDEOGRAM B140 BRONZE;Lo;0;L;;;;;N;;;;; 1009B;LINEAR B IDEOGRAM B141 GOLD;Lo;0;L;;;;;N;;;;; 1009C;LINEAR B IDEOGRAM B142;Lo;0;L;;;;;N;;;;; 1009D;LINEAR B IDEOGRAM B145 WOOL;Lo;0;L;;;;;N;;;;; 1009E;LINEAR B IDEOGRAM B146;Lo;0;L;;;;;N;;;;; 1009F;LINEAR B IDEOGRAM B150;Lo;0;L;;;;;N;;;;; 100A0;LINEAR B IDEOGRAM B151 HORN;Lo;0;L;;;;;N;;;;; 100A1;LINEAR B IDEOGRAM B152;Lo;0;L;;;;;N;;;;; 100A2;LINEAR B IDEOGRAM B153;Lo;0;L;;;;;N;;;;; 100A3;LINEAR B IDEOGRAM B154;Lo;0;L;;;;;N;;;;; 100A4;LINEAR B MONOGRAM B156 TURO2;Lo;0;L;;;;;N;;;;; 100A5;LINEAR B IDEOGRAM B157;Lo;0;L;;;;;N;;;;; 100A6;LINEAR B IDEOGRAM B158;Lo;0;L;;;;;N;;;;; 100A7;LINEAR B IDEOGRAM B159 CLOTH;Lo;0;L;;;;;N;;;;; 100A8;LINEAR B IDEOGRAM B160;Lo;0;L;;;;;N;;;;; 100A9;LINEAR B IDEOGRAM B161;Lo;0;L;;;;;N;;;;; 100AA;LINEAR B IDEOGRAM B162 GARMENT;Lo;0;L;;;;;N;;;;; 100AB;LINEAR B IDEOGRAM B163 ARMOUR;Lo;0;L;;;;;N;;;;; 100AC;LINEAR B IDEOGRAM B164;Lo;0;L;;;;;N;;;;; 100AD;LINEAR B IDEOGRAM B165;Lo;0;L;;;;;N;;;;; 100AE;LINEAR B IDEOGRAM B166;Lo;0;L;;;;;N;;;;; 100AF;LINEAR B IDEOGRAM B167;Lo;0;L;;;;;N;;;;; 100B0;LINEAR B IDEOGRAM B168;Lo;0;L;;;;;N;;;;; 100B1;LINEAR B IDEOGRAM B169;Lo;0;L;;;;;N;;;;; 100B2;LINEAR B IDEOGRAM B170;Lo;0;L;;;;;N;;;;; 100B3;LINEAR B IDEOGRAM B171;Lo;0;L;;;;;N;;;;; 100B4;LINEAR B IDEOGRAM B172;Lo;0;L;;;;;N;;;;; 100B5;LINEAR B IDEOGRAM B173 MONTH;Lo;0;L;;;;;N;;;;; 100B6;LINEAR B IDEOGRAM B174;Lo;0;L;;;;;N;;;;; 100B7;LINEAR B IDEOGRAM B176 TREE;Lo;0;L;;;;;N;;;;; 100B8;LINEAR B IDEOGRAM B177;Lo;0;L;;;;;N;;;;; 100B9;LINEAR B IDEOGRAM B178;Lo;0;L;;;;;N;;;;; 100BA;LINEAR B IDEOGRAM B179;Lo;0;L;;;;;N;;;;; 100BB;LINEAR B IDEOGRAM B180;Lo;0;L;;;;;N;;;;; 100BC;LINEAR B IDEOGRAM B181;Lo;0;L;;;;;N;;;;; 100BD;LINEAR B IDEOGRAM B182;Lo;0;L;;;;;N;;;;; 100BE;LINEAR B IDEOGRAM B183;Lo;0;L;;;;;N;;;;; 100BF;LINEAR B IDEOGRAM B184;Lo;0;L;;;;;N;;;;; 100C0;LINEAR B IDEOGRAM B185;Lo;0;L;;;;;N;;;;; 100C1;LINEAR B IDEOGRAM B189;Lo;0;L;;;;;N;;;;; 100C2;LINEAR B IDEOGRAM B190;Lo;0;L;;;;;N;;;;; 100C3;LINEAR B IDEOGRAM B191 HELMET;Lo;0;L;;;;;N;;;;; 100C4;LINEAR B IDEOGRAM B220 FOOTSTOOL;Lo;0;L;;;;;N;;;;; 100C5;LINEAR B IDEOGRAM B225 BATHTUB;Lo;0;L;;;;;N;;;;; 100C6;LINEAR B IDEOGRAM B230 SPEAR;Lo;0;L;;;;;N;;;;; 100C7;LINEAR B IDEOGRAM B231 ARROW;Lo;0;L;;;;;N;;;;; 100C8;LINEAR B IDEOGRAM B232;Lo;0;L;;;;;N;;;;; 100C9;LINEAR B IDEOGRAM B233 SWORD;Lo;0;L;;;;;N;;pug;;; 100CA;LINEAR B IDEOGRAM B234;Lo;0;L;;;;;N;;;;; 100CB;LINEAR B IDEOGRAM B236;Lo;0;L;;;;;N;;gup;;; 100CC;LINEAR B IDEOGRAM B240 WHEELED CHARIOT;Lo;0;L;;;;;N;;;;; 100CD;LINEAR B IDEOGRAM B241 CHARIOT;Lo;0;L;;;;;N;;;;; 100CE;LINEAR B IDEOGRAM B242 CHARIOT FRAME;Lo;0;L;;;;;N;;;;; 100CF;LINEAR B IDEOGRAM B243 WHEEL;Lo;0;L;;;;;N;;;;; 100D0;LINEAR B IDEOGRAM B245;Lo;0;L;;;;;N;;;;; 100D1;LINEAR B IDEOGRAM B246;Lo;0;L;;;;;N;;;;; 100D2;LINEAR B MONOGRAM B247 DIPTE;Lo;0;L;;;;;N;;;;; 100D3;LINEAR B IDEOGRAM B248;Lo;0;L;;;;;N;;;;; 100D4;LINEAR B IDEOGRAM B249;Lo;0;L;;;;;N;;;;; 100D5;LINEAR B IDEOGRAM B251;Lo;0;L;;;;;N;;;;; 100D6;LINEAR B IDEOGRAM B252;Lo;0;L;;;;;N;;;;; 100D7;LINEAR B IDEOGRAM B253;Lo;0;L;;;;;N;;;;; 100D8;LINEAR B IDEOGRAM B254 DART;Lo;0;L;;;;;N;;;;; 100D9;LINEAR B IDEOGRAM B255;Lo;0;L;;;;;N;;;;; 100DA;LINEAR B IDEOGRAM B256;Lo;0;L;;;;;N;;;;; 100DB;LINEAR B IDEOGRAM B257;Lo;0;L;;;;;N;;;;; 100DC;LINEAR B IDEOGRAM B258;Lo;0;L;;;;;N;;;;; 100DD;LINEAR B IDEOGRAM B259;Lo;0;L;;;;;N;;;;; 100DE;LINEAR B IDEOGRAM VESSEL B155;Lo;0;L;;;;;N;;;;; 100DF;LINEAR B IDEOGRAM VESSEL B200;Lo;0;L;;;;;N;;;;; 100E0;LINEAR B IDEOGRAM VESSEL B201;Lo;0;L;;;;;N;;;;; 100E1;LINEAR B IDEOGRAM VESSEL B202;Lo;0;L;;;;;N;;;;; 100E2;LINEAR B IDEOGRAM VESSEL B203;Lo;0;L;;;;;N;;;;; 100E3;LINEAR B IDEOGRAM VESSEL B204;Lo;0;L;;;;;N;;;;; 100E4;LINEAR B IDEOGRAM VESSEL B205;Lo;0;L;;;;;N;;;;; 100E5;LINEAR B IDEOGRAM VESSEL B206;Lo;0;L;;;;;N;;;;; 100E6;LINEAR B IDEOGRAM VESSEL B207;Lo;0;L;;;;;N;;;;; 100E7;LINEAR B IDEOGRAM VESSEL B208;Lo;0;L;;;;;N;;;;; 100E8;LINEAR B IDEOGRAM VESSEL B209;Lo;0;L;;;;;N;;;;; 100E9;LINEAR B IDEOGRAM VESSEL B210;Lo;0;L;;;;;N;;;;; 100EA;LINEAR B IDEOGRAM VESSEL B211;Lo;0;L;;;;;N;;;;; 100EB;LINEAR B IDEOGRAM VESSEL B212;Lo;0;L;;;;;N;;;;; 100EC;LINEAR B IDEOGRAM VESSEL B213;Lo;0;L;;;;;N;;;;; 100ED;LINEAR B IDEOGRAM VESSEL B214;Lo;0;L;;;;;N;;;;; 100EE;LINEAR B IDEOGRAM VESSEL B215;Lo;0;L;;;;;N;;;;; 100EF;LINEAR B IDEOGRAM VESSEL B216;Lo;0;L;;;;;N;;;;; 100F0;LINEAR B IDEOGRAM VESSEL B217;Lo;0;L;;;;;N;;;;; 100F1;LINEAR B IDEOGRAM VESSEL B218;Lo;0;L;;;;;N;;;;; 100F2;LINEAR B IDEOGRAM VESSEL B219;Lo;0;L;;;;;N;;;;; 100F3;LINEAR B IDEOGRAM VESSEL B221;Lo;0;L;;;;;N;;;;; 100F4;LINEAR B IDEOGRAM VESSEL B222;Lo;0;L;;;;;N;;;;; 100F5;LINEAR B IDEOGRAM VESSEL B226;Lo;0;L;;;;;N;;;;; 100F6;LINEAR B IDEOGRAM VESSEL B227;Lo;0;L;;;;;N;;;;; 100F7;LINEAR B IDEOGRAM VESSEL B228;Lo;0;L;;;;;N;;;;; 100F8;LINEAR B IDEOGRAM VESSEL B229;Lo;0;L;;;;;N;;;;; 100F9;LINEAR B IDEOGRAM VESSEL B250;Lo;0;L;;;;;N;;;;; 100FA;LINEAR B IDEOGRAM VESSEL B305;Lo;0;L;;;;;N;;;;; 10100;AEGEAN WORD SEPARATOR LINE;Po;0;L;;;;;N;;;;; 10101;AEGEAN WORD SEPARATOR DOT;Po;0;ON;;;;;N;;;;; 10102;AEGEAN CHECK MARK;So;0;L;;;;;N;;;;; 10107;AEGEAN NUMBER ONE;No;0;L;;;;1;N;;;;; 10108;AEGEAN NUMBER TWO;No;0;L;;;;2;N;;;;; 10109;AEGEAN NUMBER THREE;No;0;L;;;;3;N;;;;; 1010A;AEGEAN NUMBER FOUR;No;0;L;;;;4;N;;;;; 1010B;AEGEAN NUMBER FIVE;No;0;L;;;;5;N;;;;; 1010C;AEGEAN NUMBER SIX;No;0;L;;;;6;N;;;;; 1010D;AEGEAN NUMBER SEVEN;No;0;L;;;;7;N;;;;; 1010E;AEGEAN NUMBER EIGHT;No;0;L;;;;8;N;;;;; 1010F;AEGEAN NUMBER NINE;No;0;L;;;;9;N;;;;; 10110;AEGEAN NUMBER TEN;No;0;L;;;;10;N;;;;; 10111;AEGEAN NUMBER TWENTY;No;0;L;;;;20;N;;;;; 10112;AEGEAN NUMBER THIRTY;No;0;L;;;;30;N;;;;; 10113;AEGEAN NUMBER FORTY;No;0;L;;;;40;N;;;;; 10114;AEGEAN NUMBER FIFTY;No;0;L;;;;50;N;;;;; 10115;AEGEAN NUMBER SIXTY;No;0;L;;;;60;N;;;;; 10116;AEGEAN NUMBER SEVENTY;No;0;L;;;;70;N;;;;; 10117;AEGEAN NUMBER EIGHTY;No;0;L;;;;80;N;;;;; 10118;AEGEAN NUMBER NINETY;No;0;L;;;;90;N;;;;; 10119;AEGEAN NUMBER ONE HUNDRED;No;0;L;;;;100;N;;;;; 1011A;AEGEAN NUMBER TWO HUNDRED;No;0;L;;;;200;N;;;;; 1011B;AEGEAN NUMBER THREE HUNDRED;No;0;L;;;;300;N;;;;; 1011C;AEGEAN NUMBER FOUR HUNDRED;No;0;L;;;;400;N;;;;; 1011D;AEGEAN NUMBER FIVE HUNDRED;No;0;L;;;;500;N;;;;; 1011E;AEGEAN NUMBER SIX HUNDRED;No;0;L;;;;600;N;;;;; 1011F;AEGEAN NUMBER SEVEN HUNDRED;No;0;L;;;;700;N;;;;; 10120;AEGEAN NUMBER EIGHT HUNDRED;No;0;L;;;;800;N;;;;; 10121;AEGEAN NUMBER NINE HUNDRED;No;0;L;;;;900;N;;;;; 10122;AEGEAN NUMBER ONE THOUSAND;No;0;L;;;;1000;N;;;;; 10123;AEGEAN NUMBER TWO THOUSAND;No;0;L;;;;2000;N;;;;; 10124;AEGEAN NUMBER THREE THOUSAND;No;0;L;;;;3000;N;;;;; 10125;AEGEAN NUMBER FOUR THOUSAND;No;0;L;;;;4000;N;;;;; 10126;AEGEAN NUMBER FIVE THOUSAND;No;0;L;;;;5000;N;;;;; 10127;AEGEAN NUMBER SIX THOUSAND;No;0;L;;;;6000;N;;;;; 10128;AEGEAN NUMBER SEVEN THOUSAND;No;0;L;;;;7000;N;;;;; 10129;AEGEAN NUMBER EIGHT THOUSAND;No;0;L;;;;8000;N;;;;; 1012A;AEGEAN NUMBER NINE THOUSAND;No;0;L;;;;9000;N;;;;; 1012B;AEGEAN NUMBER TEN THOUSAND;No;0;L;;;;10000;N;;;;; 1012C;AEGEAN NUMBER TWENTY THOUSAND;No;0;L;;;;20000;N;;;;; 1012D;AEGEAN NUMBER THIRTY THOUSAND;No;0;L;;;;30000;N;;;;; 1012E;AEGEAN NUMBER FORTY THOUSAND;No;0;L;;;;40000;N;;;;; 1012F;AEGEAN NUMBER FIFTY THOUSAND;No;0;L;;;;50000;N;;;;; 10130;AEGEAN NUMBER SIXTY THOUSAND;No;0;L;;;;60000;N;;;;; 10131;AEGEAN NUMBER SEVENTY THOUSAND;No;0;L;;;;70000;N;;;;; 10132;AEGEAN NUMBER EIGHTY THOUSAND;No;0;L;;;;80000;N;;;;; 10133;AEGEAN NUMBER NINETY THOUSAND;No;0;L;;;;90000;N;;;;; 10137;AEGEAN WEIGHT BASE UNIT;So;0;L;;;;;N;;;;; 10138;AEGEAN WEIGHT FIRST SUBUNIT;So;0;L;;;;;N;;;;; 10139;AEGEAN WEIGHT SECOND SUBUNIT;So;0;L;;;;;N;;;;; 1013A;AEGEAN WEIGHT THIRD SUBUNIT;So;0;L;;;;;N;;;;; 1013B;AEGEAN WEIGHT FOURTH SUBUNIT;So;0;L;;;;;N;;;;; 1013C;AEGEAN DRY MEASURE FIRST SUBUNIT;So;0;L;;;;;N;;;;; 1013D;AEGEAN LIQUID MEASURE FIRST SUBUNIT;So;0;L;;;;;N;;;;; 1013E;AEGEAN MEASURE SECOND SUBUNIT;So;0;L;;;;;N;;;;; 1013F;AEGEAN MEASURE THIRD SUBUNIT;So;0;L;;;;;N;;;;; 10300;OLD ITALIC LETTER A;Lo;0;L;;;;;N;;;;; 10301;OLD ITALIC LETTER BE;Lo;0;L;;;;;N;;;;; 10302;OLD ITALIC LETTER KE;Lo;0;L;;;;;N;;;;; 10303;OLD ITALIC LETTER DE;Lo;0;L;;;;;N;;;;; 10304;OLD ITALIC LETTER E;Lo;0;L;;;;;N;;;;; 10305;OLD ITALIC LETTER VE;Lo;0;L;;;;;N;;;;; 10306;OLD ITALIC LETTER ZE;Lo;0;L;;;;;N;;;;; 10307;OLD ITALIC LETTER HE;Lo;0;L;;;;;N;;;;; 10308;OLD ITALIC LETTER THE;Lo;0;L;;;;;N;;;;; 10309;OLD ITALIC LETTER I;Lo;0;L;;;;;N;;;;; 1030A;OLD ITALIC LETTER KA;Lo;0;L;;;;;N;;;;; 1030B;OLD ITALIC LETTER EL;Lo;0;L;;;;;N;;;;; 1030C;OLD ITALIC LETTER EM;Lo;0;L;;;;;N;;;;; 1030D;OLD ITALIC LETTER EN;Lo;0;L;;;;;N;;;;; 1030E;OLD ITALIC LETTER ESH;Lo;0;L;;;;;N;;;;; 1030F;OLD ITALIC LETTER O;Lo;0;L;;;;;N;;Faliscan;;; 10310;OLD ITALIC LETTER PE;Lo;0;L;;;;;N;;;;; 10311;OLD ITALIC LETTER SHE;Lo;0;L;;;;;N;;;;; 10312;OLD ITALIC LETTER KU;Lo;0;L;;;;;N;;;;; 10313;OLD ITALIC LETTER ER;Lo;0;L;;;;;N;;;;; 10314;OLD ITALIC LETTER ES;Lo;0;L;;;;;N;;;;; 10315;OLD ITALIC LETTER TE;Lo;0;L;;;;;N;;;;; 10316;OLD ITALIC LETTER U;Lo;0;L;;;;;N;;;;; 10317;OLD ITALIC LETTER EKS;Lo;0;L;;;;;N;;Faliscan;;; 10318;OLD ITALIC LETTER PHE;Lo;0;L;;;;;N;;;;; 10319;OLD ITALIC LETTER KHE;Lo;0;L;;;;;N;;;;; 1031A;OLD ITALIC LETTER EF;Lo;0;L;;;;;N;;;;; 1031B;OLD ITALIC LETTER ERS;Lo;0;L;;;;;N;;Umbrian;;; 1031C;OLD ITALIC LETTER CHE;Lo;0;L;;;;;N;;Umbrian;;; 1031D;OLD ITALIC LETTER II;Lo;0;L;;;;;N;;Oscan;;; 1031E;OLD ITALIC LETTER UU;Lo;0;L;;;;;N;;Oscan;;; 10320;OLD ITALIC NUMERAL ONE;No;0;L;;;;1;N;;;;; 10321;OLD ITALIC NUMERAL FIVE;No;0;L;;;;5;N;;;;; 10322;OLD ITALIC NUMERAL TEN;No;0;L;;;;10;N;;;;; 10323;OLD ITALIC NUMERAL FIFTY;No;0;L;;;;50;N;;;;; 10330;GOTHIC LETTER AHSA;Lo;0;L;;;;;N;;;;; 10331;GOTHIC LETTER BAIRKAN;Lo;0;L;;;;;N;;;;; 10332;GOTHIC LETTER GIBA;Lo;0;L;;;;;N;;;;; 10333;GOTHIC LETTER DAGS;Lo;0;L;;;;;N;;;;; 10334;GOTHIC LETTER AIHVUS;Lo;0;L;;;;;N;;;;; 10335;GOTHIC LETTER QAIRTHRA;Lo;0;L;;;;;N;;;;; 10336;GOTHIC LETTER IUJA;Lo;0;L;;;;;N;;;;; 10337;GOTHIC LETTER HAGL;Lo;0;L;;;;;N;;;;; 10338;GOTHIC LETTER THIUTH;Lo;0;L;;;;;N;;;;; 10339;GOTHIC LETTER EIS;Lo;0;L;;;;;N;;;;; 1033A;GOTHIC LETTER KUSMA;Lo;0;L;;;;;N;;;;; 1033B;GOTHIC LETTER LAGUS;Lo;0;L;;;;;N;;;;; 1033C;GOTHIC LETTER MANNA;Lo;0;L;;;;;N;;;;; 1033D;GOTHIC LETTER NAUTHS;Lo;0;L;;;;;N;;;;; 1033E;GOTHIC LETTER JER;Lo;0;L;;;;;N;;;;; 1033F;GOTHIC LETTER URUS;Lo;0;L;;;;;N;;;;; 10340;GOTHIC LETTER PAIRTHRA;Lo;0;L;;;;;N;;;;; 10341;GOTHIC LETTER NINETY;Lo;0;L;;;;;N;;;;; 10342;GOTHIC LETTER RAIDA;Lo;0;L;;;;;N;;;;; 10343;GOTHIC LETTER SAUIL;Lo;0;L;;;;;N;;;;; 10344;GOTHIC LETTER TEIWS;Lo;0;L;;;;;N;;;;; 10345;GOTHIC LETTER WINJA;Lo;0;L;;;;;N;;;;; 10346;GOTHIC LETTER FAIHU;Lo;0;L;;;;;N;;;;; 10347;GOTHIC LETTER IGGWS;Lo;0;L;;;;;N;;;;; 10348;GOTHIC LETTER HWAIR;Lo;0;L;;;;;N;;;;; 10349;GOTHIC LETTER OTHAL;Lo;0;L;;;;;N;;;;; 1034A;GOTHIC LETTER NINE HUNDRED;Nl;0;L;;;;;N;;;;; 10380;UGARITIC LETTER ALPA;Lo;0;L;;;;;N;;;;; 10381;UGARITIC LETTER BETA;Lo;0;L;;;;;N;;;;; 10382;UGARITIC LETTER GAMLA;Lo;0;L;;;;;N;;;;; 10383;UGARITIC LETTER KHA;Lo;0;L;;;;;N;;;;; 10384;UGARITIC LETTER DELTA;Lo;0;L;;;;;N;;;;; 10385;UGARITIC LETTER HO;Lo;0;L;;;;;N;;;;; 10386;UGARITIC LETTER WO;Lo;0;L;;;;;N;;;;; 10387;UGARITIC LETTER ZETA;Lo;0;L;;;;;N;;;;; 10388;UGARITIC LETTER HOTA;Lo;0;L;;;;;N;;;;; 10389;UGARITIC LETTER TET;Lo;0;L;;;;;N;;;;; 1038A;UGARITIC LETTER YOD;Lo;0;L;;;;;N;;;;; 1038B;UGARITIC LETTER KAF;Lo;0;L;;;;;N;;;;; 1038C;UGARITIC LETTER SHIN;Lo;0;L;;;;;N;;;;; 1038D;UGARITIC LETTER LAMDA;Lo;0;L;;;;;N;;;;; 1038E;UGARITIC LETTER MEM;Lo;0;L;;;;;N;;;;; 1038F;UGARITIC LETTER DHAL;Lo;0;L;;;;;N;;;;; 10390;UGARITIC LETTER NUN;Lo;0;L;;;;;N;;;;; 10391;UGARITIC LETTER ZU;Lo;0;L;;;;;N;;;;; 10392;UGARITIC LETTER SAMKA;Lo;0;L;;;;;N;;;;; 10393;UGARITIC LETTER AIN;Lo;0;L;;;;;N;;;;; 10394;UGARITIC LETTER PU;Lo;0;L;;;;;N;;;;; 10395;UGARITIC LETTER SADE;Lo;0;L;;;;;N;;;;; 10396;UGARITIC LETTER QOPA;Lo;0;L;;;;;N;;;;; 10397;UGARITIC LETTER RASHA;Lo;0;L;;;;;N;;;;; 10398;UGARITIC LETTER THANNA;Lo;0;L;;;;;N;;;;; 10399;UGARITIC LETTER GHAIN;Lo;0;L;;;;;N;;;;; 1039A;UGARITIC LETTER TO;Lo;0;L;;;;;N;;;;; 1039B;UGARITIC LETTER I;Lo;0;L;;;;;N;;;;; 1039C;UGARITIC LETTER U;Lo;0;L;;;;;N;;;;; 1039D;UGARITIC LETTER SSU;Lo;0;L;;;;;N;;;;; 1039F;UGARITIC WORD DIVIDER;Po;0;L;;;;;N;;;;; 10400;DESERET CAPITAL LETTER LONG I;Lu;0;L;;;;;N;;;;10428; 10401;DESERET CAPITAL LETTER LONG E;Lu;0;L;;;;;N;;;;10429; 10402;DESERET CAPITAL LETTER LONG A;Lu;0;L;;;;;N;;;;1042A; 10403;DESERET CAPITAL LETTER LONG AH;Lu;0;L;;;;;N;;;;1042B; 10404;DESERET CAPITAL LETTER LONG O;Lu;0;L;;;;;N;;;;1042C; 10405;DESERET CAPITAL LETTER LONG OO;Lu;0;L;;;;;N;;;;1042D; 10406;DESERET CAPITAL LETTER SHORT I;Lu;0;L;;;;;N;;;;1042E; 10407;DESERET CAPITAL LETTER SHORT E;Lu;0;L;;;;;N;;;;1042F; 10408;DESERET CAPITAL LETTER SHORT A;Lu;0;L;;;;;N;;;;10430; 10409;DESERET CAPITAL LETTER SHORT AH;Lu;0;L;;;;;N;;;;10431; 1040A;DESERET CAPITAL LETTER SHORT O;Lu;0;L;;;;;N;;;;10432; 1040B;DESERET CAPITAL LETTER SHORT OO;Lu;0;L;;;;;N;;;;10433; 1040C;DESERET CAPITAL LETTER AY;Lu;0;L;;;;;N;;;;10434; 1040D;DESERET CAPITAL LETTER OW;Lu;0;L;;;;;N;;;;10435; 1040E;DESERET CAPITAL LETTER WU;Lu;0;L;;;;;N;;;;10436; 1040F;DESERET CAPITAL LETTER YEE;Lu;0;L;;;;;N;;;;10437; 10410;DESERET CAPITAL LETTER H;Lu;0;L;;;;;N;;;;10438; 10411;DESERET CAPITAL LETTER PEE;Lu;0;L;;;;;N;;;;10439; 10412;DESERET CAPITAL LETTER BEE;Lu;0;L;;;;;N;;;;1043A; 10413;DESERET CAPITAL LETTER TEE;Lu;0;L;;;;;N;;;;1043B; 10414;DESERET CAPITAL LETTER DEE;Lu;0;L;;;;;N;;;;1043C; 10415;DESERET CAPITAL LETTER CHEE;Lu;0;L;;;;;N;;;;1043D; 10416;DESERET CAPITAL LETTER JEE;Lu;0;L;;;;;N;;;;1043E; 10417;DESERET CAPITAL LETTER KAY;Lu;0;L;;;;;N;;;;1043F; 10418;DESERET CAPITAL LETTER GAY;Lu;0;L;;;;;N;;;;10440; 10419;DESERET CAPITAL LETTER EF;Lu;0;L;;;;;N;;;;10441; 1041A;DESERET CAPITAL LETTER VEE;Lu;0;L;;;;;N;;;;10442; 1041B;DESERET CAPITAL LETTER ETH;Lu;0;L;;;;;N;;;;10443; 1041C;DESERET CAPITAL LETTER THEE;Lu;0;L;;;;;N;;;;10444; 1041D;DESERET CAPITAL LETTER ES;Lu;0;L;;;;;N;;;;10445; 1041E;DESERET CAPITAL LETTER ZEE;Lu;0;L;;;;;N;;;;10446; 1041F;DESERET CAPITAL LETTER ESH;Lu;0;L;;;;;N;;;;10447; 10420;DESERET CAPITAL LETTER ZHEE;Lu;0;L;;;;;N;;;;10448; 10421;DESERET CAPITAL LETTER ER;Lu;0;L;;;;;N;;;;10449; 10422;DESERET CAPITAL LETTER EL;Lu;0;L;;;;;N;;;;1044A; 10423;DESERET CAPITAL LETTER EM;Lu;0;L;;;;;N;;;;1044B; 10424;DESERET CAPITAL LETTER EN;Lu;0;L;;;;;N;;;;1044C; 10425;DESERET CAPITAL LETTER ENG;Lu;0;L;;;;;N;;;;1044D; 10426;DESERET CAPITAL LETTER OI;Lu;0;L;;;;;N;;;;1044E; 10427;DESERET CAPITAL LETTER EW;Lu;0;L;;;;;N;;;;1044F; 10428;DESERET SMALL LETTER LONG I;Ll;0;L;;;;;N;;;10400;;10400 10429;DESERET SMALL LETTER LONG E;Ll;0;L;;;;;N;;;10401;;10401 1042A;DESERET SMALL LETTER LONG A;Ll;0;L;;;;;N;;;10402;;10402 1042B;DESERET SMALL LETTER LONG AH;Ll;0;L;;;;;N;;;10403;;10403 1042C;DESERET SMALL LETTER LONG O;Ll;0;L;;;;;N;;;10404;;10404 1042D;DESERET SMALL LETTER LONG OO;Ll;0;L;;;;;N;;;10405;;10405 1042E;DESERET SMALL LETTER SHORT I;Ll;0;L;;;;;N;;;10406;;10406 1042F;DESERET SMALL LETTER SHORT E;Ll;0;L;;;;;N;;;10407;;10407 10430;DESERET SMALL LETTER SHORT A;Ll;0;L;;;;;N;;;10408;;10408 10431;DESERET SMALL LETTER SHORT AH;Ll;0;L;;;;;N;;;10409;;10409 10432;DESERET SMALL LETTER SHORT O;Ll;0;L;;;;;N;;;1040A;;1040A 10433;DESERET SMALL LETTER SHORT OO;Ll;0;L;;;;;N;;;1040B;;1040B 10434;DESERET SMALL LETTER AY;Ll;0;L;;;;;N;;;1040C;;1040C 10435;DESERET SMALL LETTER OW;Ll;0;L;;;;;N;;;1040D;;1040D 10436;DESERET SMALL LETTER WU;Ll;0;L;;;;;N;;;1040E;;1040E 10437;DESERET SMALL LETTER YEE;Ll;0;L;;;;;N;;;1040F;;1040F 10438;DESERET SMALL LETTER H;Ll;0;L;;;;;N;;;10410;;10410 10439;DESERET SMALL LETTER PEE;Ll;0;L;;;;;N;;;10411;;10411 1043A;DESERET SMALL LETTER BEE;Ll;0;L;;;;;N;;;10412;;10412 1043B;DESERET SMALL LETTER TEE;Ll;0;L;;;;;N;;;10413;;10413 1043C;DESERET SMALL LETTER DEE;Ll;0;L;;;;;N;;;10414;;10414 1043D;DESERET SMALL LETTER CHEE;Ll;0;L;;;;;N;;;10415;;10415 1043E;DESERET SMALL LETTER JEE;Ll;0;L;;;;;N;;;10416;;10416 1043F;DESERET SMALL LETTER KAY;Ll;0;L;;;;;N;;;10417;;10417 10440;DESERET SMALL LETTER GAY;Ll;0;L;;;;;N;;;10418;;10418 10441;DESERET SMALL LETTER EF;Ll;0;L;;;;;N;;;10419;;10419 10442;DESERET SMALL LETTER VEE;Ll;0;L;;;;;N;;;1041A;;1041A 10443;DESERET SMALL LETTER ETH;Ll;0;L;;;;;N;;;1041B;;1041B 10444;DESERET SMALL LETTER THEE;Ll;0;L;;;;;N;;;1041C;;1041C 10445;DESERET SMALL LETTER ES;Ll;0;L;;;;;N;;;1041D;;1041D 10446;DESERET SMALL LETTER ZEE;Ll;0;L;;;;;N;;;1041E;;1041E 10447;DESERET SMALL LETTER ESH;Ll;0;L;;;;;N;;;1041F;;1041F 10448;DESERET SMALL LETTER ZHEE;Ll;0;L;;;;;N;;;10420;;10420 10449;DESERET SMALL LETTER ER;Ll;0;L;;;;;N;;;10421;;10421 1044A;DESERET SMALL LETTER EL;Ll;0;L;;;;;N;;;10422;;10422 1044B;DESERET SMALL LETTER EM;Ll;0;L;;;;;N;;;10423;;10423 1044C;DESERET SMALL LETTER EN;Ll;0;L;;;;;N;;;10424;;10424 1044D;DESERET SMALL LETTER ENG;Ll;0;L;;;;;N;;;10425;;10425 1044E;DESERET SMALL LETTER OI;Ll;0;L;;;;;N;;;10426;;10426 1044F;DESERET SMALL LETTER EW;Ll;0;L;;;;;N;;;10427;;10427 10450;SHAVIAN LETTER PEEP;Lo;0;L;;;;;N;;;;; 10451;SHAVIAN LETTER TOT;Lo;0;L;;;;;N;;;;; 10452;SHAVIAN LETTER KICK;Lo;0;L;;;;;N;;;;; 10453;SHAVIAN LETTER FEE;Lo;0;L;;;;;N;;;;; 10454;SHAVIAN LETTER THIGH;Lo;0;L;;;;;N;;;;; 10455;SHAVIAN LETTER SO;Lo;0;L;;;;;N;;;;; 10456;SHAVIAN LETTER SURE;Lo;0;L;;;;;N;;;;; 10457;SHAVIAN LETTER CHURCH;Lo;0;L;;;;;N;;;;; 10458;SHAVIAN LETTER YEA;Lo;0;L;;;;;N;;;;; 10459;SHAVIAN LETTER HUNG;Lo;0;L;;;;;N;;;;; 1045A;SHAVIAN LETTER BIB;Lo;0;L;;;;;N;;;;; 1045B;SHAVIAN LETTER DEAD;Lo;0;L;;;;;N;;;;; 1045C;SHAVIAN LETTER GAG;Lo;0;L;;;;;N;;;;; 1045D;SHAVIAN LETTER VOW;Lo;0;L;;;;;N;;;;; 1045E;SHAVIAN LETTER THEY;Lo;0;L;;;;;N;;;;; 1045F;SHAVIAN LETTER ZOO;Lo;0;L;;;;;N;;;;; 10460;SHAVIAN LETTER MEASURE;Lo;0;L;;;;;N;;;;; 10461;SHAVIAN LETTER JUDGE;Lo;0;L;;;;;N;;;;; 10462;SHAVIAN LETTER WOE;Lo;0;L;;;;;N;;;;; 10463;SHAVIAN LETTER HA-HA;Lo;0;L;;;;;N;;;;; 10464;SHAVIAN LETTER LOLL;Lo;0;L;;;;;N;;;;; 10465;SHAVIAN LETTER MIME;Lo;0;L;;;;;N;;;;; 10466;SHAVIAN LETTER IF;Lo;0;L;;;;;N;;;;; 10467;SHAVIAN LETTER EGG;Lo;0;L;;;;;N;;;;; 10468;SHAVIAN LETTER ASH;Lo;0;L;;;;;N;;;;; 10469;SHAVIAN LETTER ADO;Lo;0;L;;;;;N;;;;; 1046A;SHAVIAN LETTER ON;Lo;0;L;;;;;N;;;;; 1046B;SHAVIAN LETTER WOOL;Lo;0;L;;;;;N;;;;; 1046C;SHAVIAN LETTER OUT;Lo;0;L;;;;;N;;;;; 1046D;SHAVIAN LETTER AH;Lo;0;L;;;;;N;;;;; 1046E;SHAVIAN LETTER ROAR;Lo;0;L;;;;;N;;;;; 1046F;SHAVIAN LETTER NUN;Lo;0;L;;;;;N;;;;; 10470;SHAVIAN LETTER EAT;Lo;0;L;;;;;N;;;;; 10471;SHAVIAN LETTER AGE;Lo;0;L;;;;;N;;;;; 10472;SHAVIAN LETTER ICE;Lo;0;L;;;;;N;;;;; 10473;SHAVIAN LETTER UP;Lo;0;L;;;;;N;;;;; 10474;SHAVIAN LETTER OAK;Lo;0;L;;;;;N;;;;; 10475;SHAVIAN LETTER OOZE;Lo;0;L;;;;;N;;;;; 10476;SHAVIAN LETTER OIL;Lo;0;L;;;;;N;;;;; 10477;SHAVIAN LETTER AWE;Lo;0;L;;;;;N;;;;; 10478;SHAVIAN LETTER ARE;Lo;0;L;;;;;N;;;;; 10479;SHAVIAN LETTER OR;Lo;0;L;;;;;N;;;;; 1047A;SHAVIAN LETTER AIR;Lo;0;L;;;;;N;;;;; 1047B;SHAVIAN LETTER ERR;Lo;0;L;;;;;N;;;;; 1047C;SHAVIAN LETTER ARRAY;Lo;0;L;;;;;N;;;;; 1047D;SHAVIAN LETTER EAR;Lo;0;L;;;;;N;;;;; 1047E;SHAVIAN LETTER IAN;Lo;0;L;;;;;N;;;;; 1047F;SHAVIAN LETTER YEW;Lo;0;L;;;;;N;;;;; 10480;OSMANYA LETTER ALEF;Lo;0;L;;;;;N;;;;; 10481;OSMANYA LETTER BA;Lo;0;L;;;;;N;;;;; 10482;OSMANYA LETTER TA;Lo;0;L;;;;;N;;;;; 10483;OSMANYA LETTER JA;Lo;0;L;;;;;N;;;;; 10484;OSMANYA LETTER XA;Lo;0;L;;;;;N;;;;; 10485;OSMANYA LETTER KHA;Lo;0;L;;;;;N;;;;; 10486;OSMANYA LETTER DEEL;Lo;0;L;;;;;N;;;;; 10487;OSMANYA LETTER RA;Lo;0;L;;;;;N;;;;; 10488;OSMANYA LETTER SA;Lo;0;L;;;;;N;;;;; 10489;OSMANYA LETTER SHIIN;Lo;0;L;;;;;N;;;;; 1048A;OSMANYA LETTER DHA;Lo;0;L;;;;;N;;;;; 1048B;OSMANYA LETTER CAYN;Lo;0;L;;;;;N;;;;; 1048C;OSMANYA LETTER GA;Lo;0;L;;;;;N;;;;; 1048D;OSMANYA LETTER FA;Lo;0;L;;;;;N;;;;; 1048E;OSMANYA LETTER QAAF;Lo;0;L;;;;;N;;;;; 1048F;OSMANYA LETTER KAAF;Lo;0;L;;;;;N;;;;; 10490;OSMANYA LETTER LAAN;Lo;0;L;;;;;N;;;;; 10491;OSMANYA LETTER MIIN;Lo;0;L;;;;;N;;;;; 10492;OSMANYA LETTER NUUN;Lo;0;L;;;;;N;;;;; 10493;OSMANYA LETTER WAW;Lo;0;L;;;;;N;;;;; 10494;OSMANYA LETTER HA;Lo;0;L;;;;;N;;;;; 10495;OSMANYA LETTER YA;Lo;0;L;;;;;N;;;;; 10496;OSMANYA LETTER A;Lo;0;L;;;;;N;;;;; 10497;OSMANYA LETTER E;Lo;0;L;;;;;N;;;;; 10498;OSMANYA LETTER I;Lo;0;L;;;;;N;;;;; 10499;OSMANYA LETTER O;Lo;0;L;;;;;N;;;;; 1049A;OSMANYA LETTER U;Lo;0;L;;;;;N;;;;; 1049B;OSMANYA LETTER AA;Lo;0;L;;;;;N;;;;; 1049C;OSMANYA LETTER EE;Lo;0;L;;;;;N;;;;; 1049D;OSMANYA LETTER OO;Lo;0;L;;;;;N;;;;; 104A0;OSMANYA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 104A1;OSMANYA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 104A2;OSMANYA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 104A3;OSMANYA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 104A4;OSMANYA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 104A5;OSMANYA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 104A6;OSMANYA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 104A7;OSMANYA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 104A8;OSMANYA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 104A9;OSMANYA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 10800;CYPRIOT SYLLABLE A;Lo;0;R;;;;;N;;;;; 10801;CYPRIOT SYLLABLE E;Lo;0;R;;;;;N;;;;; 10802;CYPRIOT SYLLABLE I;Lo;0;R;;;;;N;;;;; 10803;CYPRIOT SYLLABLE O;Lo;0;R;;;;;N;;;;; 10804;CYPRIOT SYLLABLE U;Lo;0;R;;;;;N;;;;; 10805;CYPRIOT SYLLABLE JA;Lo;0;R;;;;;N;;;;; 10808;CYPRIOT SYLLABLE JO;Lo;0;R;;;;;N;;;;; 1080A;CYPRIOT SYLLABLE KA;Lo;0;R;;;;;N;;;;; 1080B;CYPRIOT SYLLABLE KE;Lo;0;R;;;;;N;;;;; 1080C;CYPRIOT SYLLABLE KI;Lo;0;R;;;;;N;;;;; 1080D;CYPRIOT SYLLABLE KO;Lo;0;R;;;;;N;;;;; 1080E;CYPRIOT SYLLABLE KU;Lo;0;R;;;;;N;;;;; 1080F;CYPRIOT SYLLABLE LA;Lo;0;R;;;;;N;;;;; 10810;CYPRIOT SYLLABLE LE;Lo;0;R;;;;;N;;;;; 10811;CYPRIOT SYLLABLE LI;Lo;0;R;;;;;N;;;;; 10812;CYPRIOT SYLLABLE LO;Lo;0;R;;;;;N;;;;; 10813;CYPRIOT SYLLABLE LU;Lo;0;R;;;;;N;;;;; 10814;CYPRIOT SYLLABLE MA;Lo;0;R;;;;;N;;;;; 10815;CYPRIOT SYLLABLE ME;Lo;0;R;;;;;N;;;;; 10816;CYPRIOT SYLLABLE MI;Lo;0;R;;;;;N;;;;; 10817;CYPRIOT SYLLABLE MO;Lo;0;R;;;;;N;;;;; 10818;CYPRIOT SYLLABLE MU;Lo;0;R;;;;;N;;;;; 10819;CYPRIOT SYLLABLE NA;Lo;0;R;;;;;N;;;;; 1081A;CYPRIOT SYLLABLE NE;Lo;0;R;;;;;N;;;;; 1081B;CYPRIOT SYLLABLE NI;Lo;0;R;;;;;N;;;;; 1081C;CYPRIOT SYLLABLE NO;Lo;0;R;;;;;N;;;;; 1081D;CYPRIOT SYLLABLE NU;Lo;0;R;;;;;N;;;;; 1081E;CYPRIOT SYLLABLE PA;Lo;0;R;;;;;N;;;;; 1081F;CYPRIOT SYLLABLE PE;Lo;0;R;;;;;N;;;;; 10820;CYPRIOT SYLLABLE PI;Lo;0;R;;;;;N;;;;; 10821;CYPRIOT SYLLABLE PO;Lo;0;R;;;;;N;;;;; 10822;CYPRIOT SYLLABLE PU;Lo;0;R;;;;;N;;;;; 10823;CYPRIOT SYLLABLE RA;Lo;0;R;;;;;N;;;;; 10824;CYPRIOT SYLLABLE RE;Lo;0;R;;;;;N;;;;; 10825;CYPRIOT SYLLABLE RI;Lo;0;R;;;;;N;;;;; 10826;CYPRIOT SYLLABLE RO;Lo;0;R;;;;;N;;;;; 10827;CYPRIOT SYLLABLE RU;Lo;0;R;;;;;N;;;;; 10828;CYPRIOT SYLLABLE SA;Lo;0;R;;;;;N;;;;; 10829;CYPRIOT SYLLABLE SE;Lo;0;R;;;;;N;;;;; 1082A;CYPRIOT SYLLABLE SI;Lo;0;R;;;;;N;;;;; 1082B;CYPRIOT SYLLABLE SO;Lo;0;R;;;;;N;;;;; 1082C;CYPRIOT SYLLABLE SU;Lo;0;R;;;;;N;;;;; 1082D;CYPRIOT SYLLABLE TA;Lo;0;R;;;;;N;;;;; 1082E;CYPRIOT SYLLABLE TE;Lo;0;R;;;;;N;;;;; 1082F;CYPRIOT SYLLABLE TI;Lo;0;R;;;;;N;;;;; 10830;CYPRIOT SYLLABLE TO;Lo;0;R;;;;;N;;;;; 10831;CYPRIOT SYLLABLE TU;Lo;0;R;;;;;N;;;;; 10832;CYPRIOT SYLLABLE WA;Lo;0;R;;;;;N;;;;; 10833;CYPRIOT SYLLABLE WE;Lo;0;R;;;;;N;;;;; 10834;CYPRIOT SYLLABLE WI;Lo;0;R;;;;;N;;;;; 10835;CYPRIOT SYLLABLE WO;Lo;0;R;;;;;N;;;;; 10837;CYPRIOT SYLLABLE XA;Lo;0;R;;;;;N;;;;; 10838;CYPRIOT SYLLABLE XE;Lo;0;R;;;;;N;;;;; 1083C;CYPRIOT SYLLABLE ZA;Lo;0;R;;;;;N;;;;; 1083F;CYPRIOT SYLLABLE ZO;Lo;0;R;;;;;N;;;;; 1D000;BYZANTINE MUSICAL SYMBOL PSILI;So;0;L;;;;;N;;;;; 1D001;BYZANTINE MUSICAL SYMBOL DASEIA;So;0;L;;;;;N;;;;; 1D002;BYZANTINE MUSICAL SYMBOL PERISPOMENI;So;0;L;;;;;N;;;;; 1D003;BYZANTINE MUSICAL SYMBOL OXEIA EKFONITIKON;So;0;L;;;;;N;;;;; 1D004;BYZANTINE MUSICAL SYMBOL OXEIA DIPLI;So;0;L;;;;;N;;;;; 1D005;BYZANTINE MUSICAL SYMBOL VAREIA EKFONITIKON;So;0;L;;;;;N;;;;; 1D006;BYZANTINE MUSICAL SYMBOL VAREIA DIPLI;So;0;L;;;;;N;;;;; 1D007;BYZANTINE MUSICAL SYMBOL KATHISTI;So;0;L;;;;;N;;;;; 1D008;BYZANTINE MUSICAL SYMBOL SYRMATIKI;So;0;L;;;;;N;;;;; 1D009;BYZANTINE MUSICAL SYMBOL PARAKLITIKI;So;0;L;;;;;N;;;;; 1D00A;BYZANTINE MUSICAL SYMBOL YPOKRISIS;So;0;L;;;;;N;;;;; 1D00B;BYZANTINE MUSICAL SYMBOL YPOKRISIS DIPLI;So;0;L;;;;;N;;;;; 1D00C;BYZANTINE MUSICAL SYMBOL KREMASTI;So;0;L;;;;;N;;;;; 1D00D;BYZANTINE MUSICAL SYMBOL APESO EKFONITIKON;So;0;L;;;;;N;;;;; 1D00E;BYZANTINE MUSICAL SYMBOL EXO EKFONITIKON;So;0;L;;;;;N;;;;; 1D00F;BYZANTINE MUSICAL SYMBOL TELEIA;So;0;L;;;;;N;;;;; 1D010;BYZANTINE MUSICAL SYMBOL KENTIMATA;So;0;L;;;;;N;;;;; 1D011;BYZANTINE MUSICAL SYMBOL APOSTROFOS;So;0;L;;;;;N;;;;; 1D012;BYZANTINE MUSICAL SYMBOL APOSTROFOS DIPLI;So;0;L;;;;;N;;;;; 1D013;BYZANTINE MUSICAL SYMBOL SYNEVMA;So;0;L;;;;;N;;;;; 1D014;BYZANTINE MUSICAL SYMBOL THITA;So;0;L;;;;;N;;;;; 1D015;BYZANTINE MUSICAL SYMBOL OLIGON ARCHAION;So;0;L;;;;;N;;;;; 1D016;BYZANTINE MUSICAL SYMBOL GORGON ARCHAION;So;0;L;;;;;N;;;;; 1D017;BYZANTINE MUSICAL SYMBOL PSILON;So;0;L;;;;;N;;;;; 1D018;BYZANTINE MUSICAL SYMBOL CHAMILON;So;0;L;;;;;N;;;;; 1D019;BYZANTINE MUSICAL SYMBOL VATHY;So;0;L;;;;;N;;;;; 1D01A;BYZANTINE MUSICAL SYMBOL ISON ARCHAION;So;0;L;;;;;N;;;;; 1D01B;BYZANTINE MUSICAL SYMBOL KENTIMA ARCHAION;So;0;L;;;;;N;;;;; 1D01C;BYZANTINE MUSICAL SYMBOL KENTIMATA ARCHAION;So;0;L;;;;;N;;;;; 1D01D;BYZANTINE MUSICAL SYMBOL SAXIMATA;So;0;L;;;;;N;;;;; 1D01E;BYZANTINE MUSICAL SYMBOL PARICHON;So;0;L;;;;;N;;;;; 1D01F;BYZANTINE MUSICAL SYMBOL STAVROS APODEXIA;So;0;L;;;;;N;;;;; 1D020;BYZANTINE MUSICAL SYMBOL OXEIAI ARCHAION;So;0;L;;;;;N;;;;; 1D021;BYZANTINE MUSICAL SYMBOL VAREIAI ARCHAION;So;0;L;;;;;N;;;;; 1D022;BYZANTINE MUSICAL SYMBOL APODERMA ARCHAION;So;0;L;;;;;N;;;;; 1D023;BYZANTINE MUSICAL SYMBOL APOTHEMA;So;0;L;;;;;N;;;;; 1D024;BYZANTINE MUSICAL SYMBOL KLASMA;So;0;L;;;;;N;;;;; 1D025;BYZANTINE MUSICAL SYMBOL REVMA;So;0;L;;;;;N;;;;; 1D026;BYZANTINE MUSICAL SYMBOL PIASMA ARCHAION;So;0;L;;;;;N;;;;; 1D027;BYZANTINE MUSICAL SYMBOL TINAGMA;So;0;L;;;;;N;;;;; 1D028;BYZANTINE MUSICAL SYMBOL ANATRICHISMA;So;0;L;;;;;N;;;;; 1D029;BYZANTINE MUSICAL SYMBOL SEISMA;So;0;L;;;;;N;;;;; 1D02A;BYZANTINE MUSICAL SYMBOL SYNAGMA ARCHAION;So;0;L;;;;;N;;;;; 1D02B;BYZANTINE MUSICAL SYMBOL SYNAGMA META STAVROU;So;0;L;;;;;N;;;;; 1D02C;BYZANTINE MUSICAL SYMBOL OYRANISMA ARCHAION;So;0;L;;;;;N;;;;; 1D02D;BYZANTINE MUSICAL SYMBOL THEMA;So;0;L;;;;;N;;;;; 1D02E;BYZANTINE MUSICAL SYMBOL LEMOI;So;0;L;;;;;N;;;;; 1D02F;BYZANTINE MUSICAL SYMBOL DYO;So;0;L;;;;;N;;;;; 1D030;BYZANTINE MUSICAL SYMBOL TRIA;So;0;L;;;;;N;;;;; 1D031;BYZANTINE MUSICAL SYMBOL TESSERA;So;0;L;;;;;N;;;;; 1D032;BYZANTINE MUSICAL SYMBOL KRATIMATA;So;0;L;;;;;N;;;;; 1D033;BYZANTINE MUSICAL SYMBOL APESO EXO NEO;So;0;L;;;;;N;;;;; 1D034;BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION;So;0;L;;;;;N;;;;; 1D035;BYZANTINE MUSICAL SYMBOL IMIFTHORA;So;0;L;;;;;N;;;;; 1D036;BYZANTINE MUSICAL SYMBOL TROMIKON ARCHAION;So;0;L;;;;;N;;;;; 1D037;BYZANTINE MUSICAL SYMBOL KATAVA TROMIKON;So;0;L;;;;;N;;;;; 1D038;BYZANTINE MUSICAL SYMBOL PELASTON;So;0;L;;;;;N;;;;; 1D039;BYZANTINE MUSICAL SYMBOL PSIFISTON;So;0;L;;;;;N;;;;; 1D03A;BYZANTINE MUSICAL SYMBOL KONTEVMA;So;0;L;;;;;N;;;;; 1D03B;BYZANTINE MUSICAL SYMBOL CHOREVMA ARCHAION;So;0;L;;;;;N;;;;; 1D03C;BYZANTINE MUSICAL SYMBOL RAPISMA;So;0;L;;;;;N;;;;; 1D03D;BYZANTINE MUSICAL SYMBOL PARAKALESMA ARCHAION;So;0;L;;;;;N;;;;; 1D03E;BYZANTINE MUSICAL SYMBOL PARAKLITIKI ARCHAION;So;0;L;;;;;N;;;;; 1D03F;BYZANTINE MUSICAL SYMBOL ICHADIN;So;0;L;;;;;N;;;;; 1D040;BYZANTINE MUSICAL SYMBOL NANA;So;0;L;;;;;N;;;;; 1D041;BYZANTINE MUSICAL SYMBOL PETASMA;So;0;L;;;;;N;;;;; 1D042;BYZANTINE MUSICAL SYMBOL KONTEVMA ALLO;So;0;L;;;;;N;;;;; 1D043;BYZANTINE MUSICAL SYMBOL TROMIKON ALLO;So;0;L;;;;;N;;;;; 1D044;BYZANTINE MUSICAL SYMBOL STRAGGISMATA;So;0;L;;;;;N;;;;; 1D045;BYZANTINE MUSICAL SYMBOL GRONTHISMATA;So;0;L;;;;;N;;;;; 1D046;BYZANTINE MUSICAL SYMBOL ISON NEO;So;0;L;;;;;N;;;;; 1D047;BYZANTINE MUSICAL SYMBOL OLIGON NEO;So;0;L;;;;;N;;;;; 1D048;BYZANTINE MUSICAL SYMBOL OXEIA NEO;So;0;L;;;;;N;;;;; 1D049;BYZANTINE MUSICAL SYMBOL PETASTI;So;0;L;;;;;N;;;;; 1D04A;BYZANTINE MUSICAL SYMBOL KOUFISMA;So;0;L;;;;;N;;;;; 1D04B;BYZANTINE MUSICAL SYMBOL PETASTOKOUFISMA;So;0;L;;;;;N;;;;; 1D04C;BYZANTINE MUSICAL SYMBOL KRATIMOKOUFISMA;So;0;L;;;;;N;;;;; 1D04D;BYZANTINE MUSICAL SYMBOL PELASTON NEO;So;0;L;;;;;N;;;;; 1D04E;BYZANTINE MUSICAL SYMBOL KENTIMATA NEO ANO;So;0;L;;;;;N;;;;; 1D04F;BYZANTINE MUSICAL SYMBOL KENTIMA NEO ANO;So;0;L;;;;;N;;;;; 1D050;BYZANTINE MUSICAL SYMBOL YPSILI;So;0;L;;;;;N;;;;; 1D051;BYZANTINE MUSICAL SYMBOL APOSTROFOS NEO;So;0;L;;;;;N;;;;; 1D052;BYZANTINE MUSICAL SYMBOL APOSTROFOI SYNDESMOS NEO;So;0;L;;;;;N;;;;; 1D053;BYZANTINE MUSICAL SYMBOL YPORROI;So;0;L;;;;;N;;;;; 1D054;BYZANTINE MUSICAL SYMBOL KRATIMOYPORROON;So;0;L;;;;;N;;;;; 1D055;BYZANTINE MUSICAL SYMBOL ELAFRON;So;0;L;;;;;N;;;;; 1D056;BYZANTINE MUSICAL SYMBOL CHAMILI;So;0;L;;;;;N;;;;; 1D057;BYZANTINE MUSICAL SYMBOL MIKRON ISON;So;0;L;;;;;N;;;;; 1D058;BYZANTINE MUSICAL SYMBOL VAREIA NEO;So;0;L;;;;;N;;;;; 1D059;BYZANTINE MUSICAL SYMBOL PIASMA NEO;So;0;L;;;;;N;;;;; 1D05A;BYZANTINE MUSICAL SYMBOL PSIFISTON NEO;So;0;L;;;;;N;;;;; 1D05B;BYZANTINE MUSICAL SYMBOL OMALON;So;0;L;;;;;N;;;;; 1D05C;BYZANTINE MUSICAL SYMBOL ANTIKENOMA;So;0;L;;;;;N;;;;; 1D05D;BYZANTINE MUSICAL SYMBOL LYGISMA;So;0;L;;;;;N;;;;; 1D05E;BYZANTINE MUSICAL SYMBOL PARAKLITIKI NEO;So;0;L;;;;;N;;;;; 1D05F;BYZANTINE MUSICAL SYMBOL PARAKALESMA NEO;So;0;L;;;;;N;;;;; 1D060;BYZANTINE MUSICAL SYMBOL ETERON PARAKALESMA;So;0;L;;;;;N;;;;; 1D061;BYZANTINE MUSICAL SYMBOL KYLISMA;So;0;L;;;;;N;;;;; 1D062;BYZANTINE MUSICAL SYMBOL ANTIKENOKYLISMA;So;0;L;;;;;N;;;;; 1D063;BYZANTINE MUSICAL SYMBOL TROMIKON NEO;So;0;L;;;;;N;;;;; 1D064;BYZANTINE MUSICAL SYMBOL EKSTREPTON;So;0;L;;;;;N;;;;; 1D065;BYZANTINE MUSICAL SYMBOL SYNAGMA NEO;So;0;L;;;;;N;;;;; 1D066;BYZANTINE MUSICAL SYMBOL SYRMA;So;0;L;;;;;N;;;;; 1D067;BYZANTINE MUSICAL SYMBOL CHOREVMA NEO;So;0;L;;;;;N;;;;; 1D068;BYZANTINE MUSICAL SYMBOL EPEGERMA;So;0;L;;;;;N;;;;; 1D069;BYZANTINE MUSICAL SYMBOL SEISMA NEO;So;0;L;;;;;N;;;;; 1D06A;BYZANTINE MUSICAL SYMBOL XIRON KLASMA;So;0;L;;;;;N;;;;; 1D06B;BYZANTINE MUSICAL SYMBOL TROMIKOPSIFISTON;So;0;L;;;;;N;;;;; 1D06C;BYZANTINE MUSICAL SYMBOL PSIFISTOLYGISMA;So;0;L;;;;;N;;;;; 1D06D;BYZANTINE MUSICAL SYMBOL TROMIKOLYGISMA;So;0;L;;;;;N;;;;; 1D06E;BYZANTINE MUSICAL SYMBOL TROMIKOPARAKALESMA;So;0;L;;;;;N;;;;; 1D06F;BYZANTINE MUSICAL SYMBOL PSIFISTOPARAKALESMA;So;0;L;;;;;N;;;;; 1D070;BYZANTINE MUSICAL SYMBOL TROMIKOSYNAGMA;So;0;L;;;;;N;;;;; 1D071;BYZANTINE MUSICAL SYMBOL PSIFISTOSYNAGMA;So;0;L;;;;;N;;;;; 1D072;BYZANTINE MUSICAL SYMBOL GORGOSYNTHETON;So;0;L;;;;;N;;;;; 1D073;BYZANTINE MUSICAL SYMBOL ARGOSYNTHETON;So;0;L;;;;;N;;;;; 1D074;BYZANTINE MUSICAL SYMBOL ETERON ARGOSYNTHETON;So;0;L;;;;;N;;;;; 1D075;BYZANTINE MUSICAL SYMBOL OYRANISMA NEO;So;0;L;;;;;N;;;;; 1D076;BYZANTINE MUSICAL SYMBOL THEMATISMOS ESO;So;0;L;;;;;N;;;;; 1D077;BYZANTINE MUSICAL SYMBOL THEMATISMOS EXO;So;0;L;;;;;N;;;;; 1D078;BYZANTINE MUSICAL SYMBOL THEMA APLOUN;So;0;L;;;;;N;;;;; 1D079;BYZANTINE MUSICAL SYMBOL THES KAI APOTHES;So;0;L;;;;;N;;;;; 1D07A;BYZANTINE MUSICAL SYMBOL KATAVASMA;So;0;L;;;;;N;;;;; 1D07B;BYZANTINE MUSICAL SYMBOL ENDOFONON;So;0;L;;;;;N;;;;; 1D07C;BYZANTINE MUSICAL SYMBOL YFEN KATO;So;0;L;;;;;N;;;;; 1D07D;BYZANTINE MUSICAL SYMBOL YFEN ANO;So;0;L;;;;;N;;;;; 1D07E;BYZANTINE MUSICAL SYMBOL STAVROS;So;0;L;;;;;N;;;;; 1D07F;BYZANTINE MUSICAL SYMBOL KLASMA ANO;So;0;L;;;;;N;;;;; 1D080;BYZANTINE MUSICAL SYMBOL DIPLI ARCHAION;So;0;L;;;;;N;;;;; 1D081;BYZANTINE MUSICAL SYMBOL KRATIMA ARCHAION;So;0;L;;;;;N;;;;; 1D082;BYZANTINE MUSICAL SYMBOL KRATIMA ALLO;So;0;L;;;;;N;;;;; 1D083;BYZANTINE MUSICAL SYMBOL KRATIMA NEO;So;0;L;;;;;N;;;;; 1D084;BYZANTINE MUSICAL SYMBOL APODERMA NEO;So;0;L;;;;;N;;;;; 1D085;BYZANTINE MUSICAL SYMBOL APLI;So;0;L;;;;;N;;;;; 1D086;BYZANTINE MUSICAL SYMBOL DIPLI;So;0;L;;;;;N;;;;; 1D087;BYZANTINE MUSICAL SYMBOL TRIPLI;So;0;L;;;;;N;;;;; 1D088;BYZANTINE MUSICAL SYMBOL TETRAPLI;So;0;L;;;;;N;;;;; 1D089;BYZANTINE MUSICAL SYMBOL KORONIS;So;0;L;;;;;N;;;;; 1D08A;BYZANTINE MUSICAL SYMBOL LEIMMA ENOS CHRONOU;So;0;L;;;;;N;;;;; 1D08B;BYZANTINE MUSICAL SYMBOL LEIMMA DYO CHRONON;So;0;L;;;;;N;;;;; 1D08C;BYZANTINE MUSICAL SYMBOL LEIMMA TRION CHRONON;So;0;L;;;;;N;;;;; 1D08D;BYZANTINE MUSICAL SYMBOL LEIMMA TESSARON CHRONON;So;0;L;;;;;N;;;;; 1D08E;BYZANTINE MUSICAL SYMBOL LEIMMA IMISEOS CHRONOU;So;0;L;;;;;N;;;;; 1D08F;BYZANTINE MUSICAL SYMBOL GORGON NEO ANO;So;0;L;;;;;N;;;;; 1D090;BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON ARISTERA;So;0;L;;;;;N;;;;; 1D091;BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON DEXIA;So;0;L;;;;;N;;;;; 1D092;BYZANTINE MUSICAL SYMBOL DIGORGON;So;0;L;;;;;N;;;;; 1D093;BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA KATO;So;0;L;;;;;N;;;;; 1D094;BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA ANO;So;0;L;;;;;N;;;;; 1D095;BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON DEXIA;So;0;L;;;;;N;;;;; 1D096;BYZANTINE MUSICAL SYMBOL TRIGORGON;So;0;L;;;;;N;;;;; 1D097;BYZANTINE MUSICAL SYMBOL ARGON;So;0;L;;;;;N;;;;; 1D098;BYZANTINE MUSICAL SYMBOL IMIDIARGON;So;0;L;;;;;N;;;;; 1D099;BYZANTINE MUSICAL SYMBOL DIARGON;So;0;L;;;;;N;;;;; 1D09A;BYZANTINE MUSICAL SYMBOL AGOGI POLI ARGI;So;0;L;;;;;N;;;;; 1D09B;BYZANTINE MUSICAL SYMBOL AGOGI ARGOTERI;So;0;L;;;;;N;;;;; 1D09C;BYZANTINE MUSICAL SYMBOL AGOGI ARGI;So;0;L;;;;;N;;;;; 1D09D;BYZANTINE MUSICAL SYMBOL AGOGI METRIA;So;0;L;;;;;N;;;;; 1D09E;BYZANTINE MUSICAL SYMBOL AGOGI MESI;So;0;L;;;;;N;;;;; 1D09F;BYZANTINE MUSICAL SYMBOL AGOGI GORGI;So;0;L;;;;;N;;;;; 1D0A0;BYZANTINE MUSICAL SYMBOL AGOGI GORGOTERI;So;0;L;;;;;N;;;;; 1D0A1;BYZANTINE MUSICAL SYMBOL AGOGI POLI GORGI;So;0;L;;;;;N;;;;; 1D0A2;BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOS ICHOS;So;0;L;;;;;N;;;;; 1D0A3;BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI PROTOS ICHOS;So;0;L;;;;;N;;;;; 1D0A4;BYZANTINE MUSICAL SYMBOL MARTYRIA DEYTEROS ICHOS;So;0;L;;;;;N;;;;; 1D0A5;BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI DEYTEROS ICHOS;So;0;L;;;;;N;;;;; 1D0A6;BYZANTINE MUSICAL SYMBOL MARTYRIA TRITOS ICHOS;So;0;L;;;;;N;;;;; 1D0A7;BYZANTINE MUSICAL SYMBOL MARTYRIA TRIFONIAS;So;0;L;;;;;N;;;;; 1D0A8;BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS ICHOS;So;0;L;;;;;N;;;;; 1D0A9;BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS LEGETOS ICHOS;So;0;L;;;;;N;;;;; 1D0AA;BYZANTINE MUSICAL SYMBOL MARTYRIA LEGETOS ICHOS;So;0;L;;;;;N;;;;; 1D0AB;BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS ICHOS;So;0;L;;;;;N;;;;; 1D0AC;BYZANTINE MUSICAL SYMBOL ISAKIA TELOUS ICHIMATOS;So;0;L;;;;;N;;;;; 1D0AD;BYZANTINE MUSICAL SYMBOL APOSTROFOI TELOUS ICHIMATOS;So;0;L;;;;;N;;;;; 1D0AE;BYZANTINE MUSICAL SYMBOL FANEROSIS TETRAFONIAS;So;0;L;;;;;N;;;;; 1D0AF;BYZANTINE MUSICAL SYMBOL FANEROSIS MONOFONIAS;So;0;L;;;;;N;;;;; 1D0B0;BYZANTINE MUSICAL SYMBOL FANEROSIS DIFONIAS;So;0;L;;;;;N;;;;; 1D0B1;BYZANTINE MUSICAL SYMBOL MARTYRIA VARYS ICHOS;So;0;L;;;;;N;;;;; 1D0B2;BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOVARYS ICHOS;So;0;L;;;;;N;;;;; 1D0B3;BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS TETARTOS ICHOS;So;0;L;;;;;N;;;;; 1D0B4;BYZANTINE MUSICAL SYMBOL GORTHMIKON N APLOUN;So;0;L;;;;;N;;;;; 1D0B5;BYZANTINE MUSICAL SYMBOL GORTHMIKON N DIPLOUN;So;0;L;;;;;N;;;;; 1D0B6;BYZANTINE MUSICAL SYMBOL ENARXIS KAI FTHORA VOU;So;0;L;;;;;N;;;;; 1D0B7;BYZANTINE MUSICAL SYMBOL IMIFONON;So;0;L;;;;;N;;;;; 1D0B8;BYZANTINE MUSICAL SYMBOL IMIFTHORON;So;0;L;;;;;N;;;;; 1D0B9;BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION DEYTEROU ICHOU;So;0;L;;;;;N;;;;; 1D0BA;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI PA;So;0;L;;;;;N;;;;; 1D0BB;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NANA;So;0;L;;;;;N;;;;; 1D0BC;BYZANTINE MUSICAL SYMBOL FTHORA NAOS ICHOS;So;0;L;;;;;N;;;;; 1D0BD;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI DI;So;0;L;;;;;N;;;;; 1D0BE;BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON DIATONON DI;So;0;L;;;;;N;;;;; 1D0BF;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI KE;So;0;L;;;;;N;;;;; 1D0C0;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI ZO;So;0;L;;;;;N;;;;; 1D0C1;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI KATO;So;0;L;;;;;N;;;;; 1D0C2;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI ANO;So;0;L;;;;;N;;;;; 1D0C3;BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA DIFONIAS;So;0;L;;;;;N;;;;; 1D0C4;BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA MONOFONIAS;So;0;L;;;;;N;;;;; 1D0C5;BYZANTINE MUSICAL SYMBOL FHTORA SKLIRON CHROMA VASIS;So;0;L;;;;;N;;;;; 1D0C6;BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA SYNAFI;So;0;L;;;;;N;;;;; 1D0C7;BYZANTINE MUSICAL SYMBOL FTHORA NENANO;So;0;L;;;;;N;;;;; 1D0C8;BYZANTINE MUSICAL SYMBOL CHROA ZYGOS;So;0;L;;;;;N;;;;; 1D0C9;BYZANTINE MUSICAL SYMBOL CHROA KLITON;So;0;L;;;;;N;;;;; 1D0CA;BYZANTINE MUSICAL SYMBOL CHROA SPATHI;So;0;L;;;;;N;;;;; 1D0CB;BYZANTINE MUSICAL SYMBOL FTHORA I YFESIS TETARTIMORION;So;0;L;;;;;N;;;;; 1D0CC;BYZANTINE MUSICAL SYMBOL FTHORA ENARMONIOS ANTIFONIA;So;0;L;;;;;N;;;;; 1D0CD;BYZANTINE MUSICAL SYMBOL YFESIS TRITIMORION;So;0;L;;;;;N;;;;; 1D0CE;BYZANTINE MUSICAL SYMBOL DIESIS TRITIMORION;So;0;L;;;;;N;;;;; 1D0CF;BYZANTINE MUSICAL SYMBOL DIESIS TETARTIMORION;So;0;L;;;;;N;;;;; 1D0D0;BYZANTINE MUSICAL SYMBOL DIESIS APLI DYO DODEKATA;So;0;L;;;;;N;;;;; 1D0D1;BYZANTINE MUSICAL SYMBOL DIESIS MONOGRAMMOS TESSERA DODEKATA;So;0;L;;;;;N;;;;; 1D0D2;BYZANTINE MUSICAL SYMBOL DIESIS DIGRAMMOS EX DODEKATA;So;0;L;;;;;N;;;;; 1D0D3;BYZANTINE MUSICAL SYMBOL DIESIS TRIGRAMMOS OKTO DODEKATA;So;0;L;;;;;N;;;;; 1D0D4;BYZANTINE MUSICAL SYMBOL YFESIS APLI DYO DODEKATA;So;0;L;;;;;N;;;;; 1D0D5;BYZANTINE MUSICAL SYMBOL YFESIS MONOGRAMMOS TESSERA DODEKATA;So;0;L;;;;;N;;;;; 1D0D6;BYZANTINE MUSICAL SYMBOL YFESIS DIGRAMMOS EX DODEKATA;So;0;L;;;;;N;;;;; 1D0D7;BYZANTINE MUSICAL SYMBOL YFESIS TRIGRAMMOS OKTO DODEKATA;So;0;L;;;;;N;;;;; 1D0D8;BYZANTINE MUSICAL SYMBOL GENIKI DIESIS;So;0;L;;;;;N;;;;; 1D0D9;BYZANTINE MUSICAL SYMBOL GENIKI YFESIS;So;0;L;;;;;N;;;;; 1D0DA;BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MIKRI;So;0;L;;;;;N;;;;; 1D0DB;BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MEGALI;So;0;L;;;;;N;;;;; 1D0DC;BYZANTINE MUSICAL SYMBOL DIASTOLI DIPLI;So;0;L;;;;;N;;;;; 1D0DD;BYZANTINE MUSICAL SYMBOL DIASTOLI THESEOS;So;0;L;;;;;N;;;;; 1D0DE;BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS;So;0;L;;;;;N;;;;; 1D0DF;BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS DISIMOU;So;0;L;;;;;N;;;;; 1D0E0;BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TRISIMOU;So;0;L;;;;;N;;;;; 1D0E1;BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TETRASIMOU;So;0;L;;;;;N;;;;; 1D0E2;BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS;So;0;L;;;;;N;;;;; 1D0E3;BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS DISIMOU;So;0;L;;;;;N;;;;; 1D0E4;BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TRISIMOU;So;0;L;;;;;N;;;;; 1D0E5;BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TETRASIMOU;So;0;L;;;;;N;;;;; 1D0E6;BYZANTINE MUSICAL SYMBOL DIGRAMMA GG;So;0;L;;;;;N;;;;; 1D0E7;BYZANTINE MUSICAL SYMBOL DIFTOGGOS OU;So;0;L;;;;;N;;;;; 1D0E8;BYZANTINE MUSICAL SYMBOL STIGMA;So;0;L;;;;;N;;;;; 1D0E9;BYZANTINE MUSICAL SYMBOL ARKTIKO PA;So;0;L;;;;;N;;;;; 1D0EA;BYZANTINE MUSICAL SYMBOL ARKTIKO VOU;So;0;L;;;;;N;;;;; 1D0EB;BYZANTINE MUSICAL SYMBOL ARKTIKO GA;So;0;L;;;;;N;;;;; 1D0EC;BYZANTINE MUSICAL SYMBOL ARKTIKO DI;So;0;L;;;;;N;;;;; 1D0ED;BYZANTINE MUSICAL SYMBOL ARKTIKO KE;So;0;L;;;;;N;;;;; 1D0EE;BYZANTINE MUSICAL SYMBOL ARKTIKO ZO;So;0;L;;;;;N;;;;; 1D0EF;BYZANTINE MUSICAL SYMBOL ARKTIKO NI;So;0;L;;;;;N;;;;; 1D0F0;BYZANTINE MUSICAL SYMBOL KENTIMATA NEO MESO;So;0;L;;;;;N;;;;; 1D0F1;BYZANTINE MUSICAL SYMBOL KENTIMA NEO MESO;So;0;L;;;;;N;;;;; 1D0F2;BYZANTINE MUSICAL SYMBOL KENTIMATA NEO KATO;So;0;L;;;;;N;;;;; 1D0F3;BYZANTINE MUSICAL SYMBOL KENTIMA NEO KATO;So;0;L;;;;;N;;;;; 1D0F4;BYZANTINE MUSICAL SYMBOL KLASMA KATO;So;0;L;;;;;N;;;;; 1D0F5;BYZANTINE MUSICAL SYMBOL GORGON NEO KATO;So;0;L;;;;;N;;;;; 1D100;MUSICAL SYMBOL SINGLE BARLINE;So;0;L;;;;;N;;;;; 1D101;MUSICAL SYMBOL DOUBLE BARLINE;So;0;L;;;;;N;;;;; 1D102;MUSICAL SYMBOL FINAL BARLINE;So;0;L;;;;;N;;;;; 1D103;MUSICAL SYMBOL REVERSE FINAL BARLINE;So;0;L;;;;;N;;;;; 1D104;MUSICAL SYMBOL DASHED BARLINE;So;0;L;;;;;N;;;;; 1D105;MUSICAL SYMBOL SHORT BARLINE;So;0;L;;;;;N;;;;; 1D106;MUSICAL SYMBOL LEFT REPEAT SIGN;So;0;L;;;;;N;;;;; 1D107;MUSICAL SYMBOL RIGHT REPEAT SIGN;So;0;L;;;;;N;;;;; 1D108;MUSICAL SYMBOL REPEAT DOTS;So;0;L;;;;;N;;;;; 1D109;MUSICAL SYMBOL DAL SEGNO;So;0;L;;;;;N;;;;; 1D10A;MUSICAL SYMBOL DA CAPO;So;0;L;;;;;N;;;;; 1D10B;MUSICAL SYMBOL SEGNO;So;0;L;;;;;N;;;;; 1D10C;MUSICAL SYMBOL CODA;So;0;L;;;;;N;;;;; 1D10D;MUSICAL SYMBOL REPEATED FIGURE-1;So;0;L;;;;;N;;;;; 1D10E;MUSICAL SYMBOL REPEATED FIGURE-2;So;0;L;;;;;N;;;;; 1D10F;MUSICAL SYMBOL REPEATED FIGURE-3;So;0;L;;;;;N;;;;; 1D110;MUSICAL SYMBOL FERMATA;So;0;L;;;;;N;;;;; 1D111;MUSICAL SYMBOL FERMATA BELOW;So;0;L;;;;;N;;;;; 1D112;MUSICAL SYMBOL BREATH MARK;So;0;L;;;;;N;;;;; 1D113;MUSICAL SYMBOL CAESURA;So;0;L;;;;;N;;;;; 1D114;MUSICAL SYMBOL BRACE;So;0;L;;;;;N;;;;; 1D115;MUSICAL SYMBOL BRACKET;So;0;L;;;;;N;;;;; 1D116;MUSICAL SYMBOL ONE-LINE STAFF;So;0;L;;;;;N;;;;; 1D117;MUSICAL SYMBOL TWO-LINE STAFF;So;0;L;;;;;N;;;;; 1D118;MUSICAL SYMBOL THREE-LINE STAFF;So;0;L;;;;;N;;;;; 1D119;MUSICAL SYMBOL FOUR-LINE STAFF;So;0;L;;;;;N;;;;; 1D11A;MUSICAL SYMBOL FIVE-LINE STAFF;So;0;L;;;;;N;;;;; 1D11B;MUSICAL SYMBOL SIX-LINE STAFF;So;0;L;;;;;N;;;;; 1D11C;MUSICAL SYMBOL SIX-STRING FRETBOARD;So;0;L;;;;;N;;;;; 1D11D;MUSICAL SYMBOL FOUR-STRING FRETBOARD;So;0;L;;;;;N;;;;; 1D11E;MUSICAL SYMBOL G CLEF;So;0;L;;;;;N;;;;; 1D11F;MUSICAL SYMBOL G CLEF OTTAVA ALTA;So;0;L;;;;;N;;;;; 1D120;MUSICAL SYMBOL G CLEF OTTAVA BASSA;So;0;L;;;;;N;;;;; 1D121;MUSICAL SYMBOL C CLEF;So;0;L;;;;;N;;;;; 1D122;MUSICAL SYMBOL F CLEF;So;0;L;;;;;N;;;;; 1D123;MUSICAL SYMBOL F CLEF OTTAVA ALTA;So;0;L;;;;;N;;;;; 1D124;MUSICAL SYMBOL F CLEF OTTAVA BASSA;So;0;L;;;;;N;;;;; 1D125;MUSICAL SYMBOL DRUM CLEF-1;So;0;L;;;;;N;;;;; 1D126;MUSICAL SYMBOL DRUM CLEF-2;So;0;L;;;;;N;;;;; 1D12A;MUSICAL SYMBOL DOUBLE SHARP;So;0;L;;;;;N;;;;; 1D12B;MUSICAL SYMBOL DOUBLE FLAT;So;0;L;;;;;N;;;;; 1D12C;MUSICAL SYMBOL FLAT UP;So;0;L;;;;;N;;;;; 1D12D;MUSICAL SYMBOL FLAT DOWN;So;0;L;;;;;N;;;;; 1D12E;MUSICAL SYMBOL NATURAL UP;So;0;L;;;;;N;;;;; 1D12F;MUSICAL SYMBOL NATURAL DOWN;So;0;L;;;;;N;;;;; 1D130;MUSICAL SYMBOL SHARP UP;So;0;L;;;;;N;;;;; 1D131;MUSICAL SYMBOL SHARP DOWN;So;0;L;;;;;N;;;;; 1D132;MUSICAL SYMBOL QUARTER TONE SHARP;So;0;L;;;;;N;;;;; 1D133;MUSICAL SYMBOL QUARTER TONE FLAT;So;0;L;;;;;N;;;;; 1D134;MUSICAL SYMBOL COMMON TIME;So;0;L;;;;;N;;;;; 1D135;MUSICAL SYMBOL CUT TIME;So;0;L;;;;;N;;;;; 1D136;MUSICAL SYMBOL OTTAVA ALTA;So;0;L;;;;;N;;;;; 1D137;MUSICAL SYMBOL OTTAVA BASSA;So;0;L;;;;;N;;;;; 1D138;MUSICAL SYMBOL QUINDICESIMA ALTA;So;0;L;;;;;N;;;;; 1D139;MUSICAL SYMBOL QUINDICESIMA BASSA;So;0;L;;;;;N;;;;; 1D13A;MUSICAL SYMBOL MULTI REST;So;0;L;;;;;N;;;;; 1D13B;MUSICAL SYMBOL WHOLE REST;So;0;L;;;;;N;;;;; 1D13C;MUSICAL SYMBOL HALF REST;So;0;L;;;;;N;;;;; 1D13D;MUSICAL SYMBOL QUARTER REST;So;0;L;;;;;N;;;;; 1D13E;MUSICAL SYMBOL EIGHTH REST;So;0;L;;;;;N;;;;; 1D13F;MUSICAL SYMBOL SIXTEENTH REST;So;0;L;;;;;N;;;;; 1D140;MUSICAL SYMBOL THIRTY-SECOND REST;So;0;L;;;;;N;;;;; 1D141;MUSICAL SYMBOL SIXTY-FOURTH REST;So;0;L;;;;;N;;;;; 1D142;MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH REST;So;0;L;;;;;N;;;;; 1D143;MUSICAL SYMBOL X NOTEHEAD;So;0;L;;;;;N;;;;; 1D144;MUSICAL SYMBOL PLUS NOTEHEAD;So;0;L;;;;;N;;;;; 1D145;MUSICAL SYMBOL CIRCLE X NOTEHEAD;So;0;L;;;;;N;;;;; 1D146;MUSICAL SYMBOL SQUARE NOTEHEAD WHITE;So;0;L;;;;;N;;;;; 1D147;MUSICAL SYMBOL SQUARE NOTEHEAD BLACK;So;0;L;;;;;N;;;;; 1D148;MUSICAL SYMBOL TRIANGLE NOTEHEAD UP WHITE;So;0;L;;;;;N;;;;; 1D149;MUSICAL SYMBOL TRIANGLE NOTEHEAD UP BLACK;So;0;L;;;;;N;;;;; 1D14A;MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT WHITE;So;0;L;;;;;N;;;;; 1D14B;MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT BLACK;So;0;L;;;;;N;;;;; 1D14C;MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT WHITE;So;0;L;;;;;N;;;;; 1D14D;MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT BLACK;So;0;L;;;;;N;;;;; 1D14E;MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN WHITE;So;0;L;;;;;N;;;;; 1D14F;MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN BLACK;So;0;L;;;;;N;;;;; 1D150;MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT WHITE;So;0;L;;;;;N;;;;; 1D151;MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT BLACK;So;0;L;;;;;N;;;;; 1D152;MUSICAL SYMBOL MOON NOTEHEAD WHITE;So;0;L;;;;;N;;;;; 1D153;MUSICAL SYMBOL MOON NOTEHEAD BLACK;So;0;L;;;;;N;;;;; 1D154;MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN WHITE;So;0;L;;;;;N;;;;; 1D155;MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN BLACK;So;0;L;;;;;N;;;;; 1D156;MUSICAL SYMBOL PARENTHESIS NOTEHEAD;So;0;L;;;;;N;;;;; 1D157;MUSICAL SYMBOL VOID NOTEHEAD;So;0;L;;;;;N;;;;; 1D158;MUSICAL SYMBOL NOTEHEAD BLACK;So;0;L;;;;;N;;;;; 1D159;MUSICAL SYMBOL NULL NOTEHEAD;So;0;L;;;;;N;;;;; 1D15A;MUSICAL SYMBOL CLUSTER NOTEHEAD WHITE;So;0;L;;;;;N;;;;; 1D15B;MUSICAL SYMBOL CLUSTER NOTEHEAD BLACK;So;0;L;;;;;N;;;;; 1D15C;MUSICAL SYMBOL BREVE;So;0;L;;;;;N;;;;; 1D15D;MUSICAL SYMBOL WHOLE NOTE;So;0;L;;;;;N;;;;; 1D15E;MUSICAL SYMBOL HALF NOTE;So;0;L;1D157 1D165;;;;N;;;;; 1D15F;MUSICAL SYMBOL QUARTER NOTE;So;0;L;1D158 1D165;;;;N;;;;; 1D160;MUSICAL SYMBOL EIGHTH NOTE;So;0;L;1D15F 1D16E;;;;N;;;;; 1D161;MUSICAL SYMBOL SIXTEENTH NOTE;So;0;L;1D15F 1D16F;;;;N;;;;; 1D162;MUSICAL SYMBOL THIRTY-SECOND NOTE;So;0;L;1D15F 1D170;;;;N;;;;; 1D163;MUSICAL SYMBOL SIXTY-FOURTH NOTE;So;0;L;1D15F 1D171;;;;N;;;;; 1D164;MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE;So;0;L;1D15F 1D172;;;;N;;;;; 1D165;MUSICAL SYMBOL COMBINING STEM;Mc;216;L;;;;;N;;;;; 1D166;MUSICAL SYMBOL COMBINING SPRECHGESANG STEM;Mc;216;L;;;;;N;;;;; 1D167;MUSICAL SYMBOL COMBINING TREMOLO-1;Mn;1;NSM;;;;;N;;;;; 1D168;MUSICAL SYMBOL COMBINING TREMOLO-2;Mn;1;NSM;;;;;N;;;;; 1D169;MUSICAL SYMBOL COMBINING TREMOLO-3;Mn;1;NSM;;;;;N;;;;; 1D16A;MUSICAL SYMBOL FINGERED TREMOLO-1;So;0;L;;;;;N;;;;; 1D16B;MUSICAL SYMBOL FINGERED TREMOLO-2;So;0;L;;;;;N;;;;; 1D16C;MUSICAL SYMBOL FINGERED TREMOLO-3;So;0;L;;;;;N;;;;; 1D16D;MUSICAL SYMBOL COMBINING AUGMENTATION DOT;Mc;226;L;;;;;N;;;;; 1D16E;MUSICAL SYMBOL COMBINING FLAG-1;Mc;216;L;;;;;N;;;;; 1D16F;MUSICAL SYMBOL COMBINING FLAG-2;Mc;216;L;;;;;N;;;;; 1D170;MUSICAL SYMBOL COMBINING FLAG-3;Mc;216;L;;;;;N;;;;; 1D171;MUSICAL SYMBOL COMBINING FLAG-4;Mc;216;L;;;;;N;;;;; 1D172;MUSICAL SYMBOL COMBINING FLAG-5;Mc;216;L;;;;;N;;;;; 1D173;MUSICAL SYMBOL BEGIN BEAM;Cf;0;BN;;;;;N;;;;; 1D174;MUSICAL SYMBOL END BEAM;Cf;0;BN;;;;;N;;;;; 1D175;MUSICAL SYMBOL BEGIN TIE;Cf;0;BN;;;;;N;;;;; 1D176;MUSICAL SYMBOL END TIE;Cf;0;BN;;;;;N;;;;; 1D177;MUSICAL SYMBOL BEGIN SLUR;Cf;0;BN;;;;;N;;;;; 1D178;MUSICAL SYMBOL END SLUR;Cf;0;BN;;;;;N;;;;; 1D179;MUSICAL SYMBOL BEGIN PHRASE;Cf;0;BN;;;;;N;;;;; 1D17A;MUSICAL SYMBOL END PHRASE;Cf;0;BN;;;;;N;;;;; 1D17B;MUSICAL SYMBOL COMBINING ACCENT;Mn;220;NSM;;;;;N;;;;; 1D17C;MUSICAL SYMBOL COMBINING STACCATO;Mn;220;NSM;;;;;N;;;;; 1D17D;MUSICAL SYMBOL COMBINING TENUTO;Mn;220;NSM;;;;;N;;;;; 1D17E;MUSICAL SYMBOL COMBINING STACCATISSIMO;Mn;220;NSM;;;;;N;;;;; 1D17F;MUSICAL SYMBOL COMBINING MARCATO;Mn;220;NSM;;;;;N;;;;; 1D180;MUSICAL SYMBOL COMBINING MARCATO-STACCATO;Mn;220;NSM;;;;;N;;;;; 1D181;MUSICAL SYMBOL COMBINING ACCENT-STACCATO;Mn;220;NSM;;;;;N;;;;; 1D182;MUSICAL SYMBOL COMBINING LOURE;Mn;220;NSM;;;;;N;;;;; 1D183;MUSICAL SYMBOL ARPEGGIATO UP;So;0;L;;;;;N;;;;; 1D184;MUSICAL SYMBOL ARPEGGIATO DOWN;So;0;L;;;;;N;;;;; 1D185;MUSICAL SYMBOL COMBINING DOIT;Mn;230;NSM;;;;;N;;;;; 1D186;MUSICAL SYMBOL COMBINING RIP;Mn;230;NSM;;;;;N;;;;; 1D187;MUSICAL SYMBOL COMBINING FLIP;Mn;230;NSM;;;;;N;;;;; 1D188;MUSICAL SYMBOL COMBINING SMEAR;Mn;230;NSM;;;;;N;;;;; 1D189;MUSICAL SYMBOL COMBINING BEND;Mn;230;NSM;;;;;N;;;;; 1D18A;MUSICAL SYMBOL COMBINING DOUBLE TONGUE;Mn;220;NSM;;;;;N;;;;; 1D18B;MUSICAL SYMBOL COMBINING TRIPLE TONGUE;Mn;220;NSM;;;;;N;;;;; 1D18C;MUSICAL SYMBOL RINFORZANDO;So;0;L;;;;;N;;;;; 1D18D;MUSICAL SYMBOL SUBITO;So;0;L;;;;;N;;;;; 1D18E;MUSICAL SYMBOL Z;So;0;L;;;;;N;;;;; 1D18F;MUSICAL SYMBOL PIANO;So;0;L;;;;;N;;;;; 1D190;MUSICAL SYMBOL MEZZO;So;0;L;;;;;N;;;;; 1D191;MUSICAL SYMBOL FORTE;So;0;L;;;;;N;;;;; 1D192;MUSICAL SYMBOL CRESCENDO;So;0;L;;;;;N;;;;; 1D193;MUSICAL SYMBOL DECRESCENDO;So;0;L;;;;;N;;;;; 1D194;MUSICAL SYMBOL GRACE NOTE SLASH;So;0;L;;;;;N;;;;; 1D195;MUSICAL SYMBOL GRACE NOTE NO SLASH;So;0;L;;;;;N;;;;; 1D196;MUSICAL SYMBOL TR;So;0;L;;;;;N;;;;; 1D197;MUSICAL SYMBOL TURN;So;0;L;;;;;N;;;;; 1D198;MUSICAL SYMBOL INVERTED TURN;So;0;L;;;;;N;;;;; 1D199;MUSICAL SYMBOL TURN SLASH;So;0;L;;;;;N;;;;; 1D19A;MUSICAL SYMBOL TURN UP;So;0;L;;;;;N;;;;; 1D19B;MUSICAL SYMBOL ORNAMENT STROKE-1;So;0;L;;;;;N;;;;; 1D19C;MUSICAL SYMBOL ORNAMENT STROKE-2;So;0;L;;;;;N;;;;; 1D19D;MUSICAL SYMBOL ORNAMENT STROKE-3;So;0;L;;;;;N;;;;; 1D19E;MUSICAL SYMBOL ORNAMENT STROKE-4;So;0;L;;;;;N;;;;; 1D19F;MUSICAL SYMBOL ORNAMENT STROKE-5;So;0;L;;;;;N;;;;; 1D1A0;MUSICAL SYMBOL ORNAMENT STROKE-6;So;0;L;;;;;N;;;;; 1D1A1;MUSICAL SYMBOL ORNAMENT STROKE-7;So;0;L;;;;;N;;;;; 1D1A2;MUSICAL SYMBOL ORNAMENT STROKE-8;So;0;L;;;;;N;;;;; 1D1A3;MUSICAL SYMBOL ORNAMENT STROKE-9;So;0;L;;;;;N;;;;; 1D1A4;MUSICAL SYMBOL ORNAMENT STROKE-10;So;0;L;;;;;N;;;;; 1D1A5;MUSICAL SYMBOL ORNAMENT STROKE-11;So;0;L;;;;;N;;;;; 1D1A6;MUSICAL SYMBOL HAUPTSTIMME;So;0;L;;;;;N;;;;; 1D1A7;MUSICAL SYMBOL NEBENSTIMME;So;0;L;;;;;N;;;;; 1D1A8;MUSICAL SYMBOL END OF STIMME;So;0;L;;;;;N;;;;; 1D1A9;MUSICAL SYMBOL DEGREE SLASH;So;0;L;;;;;N;;;;; 1D1AA;MUSICAL SYMBOL COMBINING DOWN BOW;Mn;230;NSM;;;;;N;;;;; 1D1AB;MUSICAL SYMBOL COMBINING UP BOW;Mn;230;NSM;;;;;N;;;;; 1D1AC;MUSICAL SYMBOL COMBINING HARMONIC;Mn;230;NSM;;;;;N;;;;; 1D1AD;MUSICAL SYMBOL COMBINING SNAP PIZZICATO;Mn;230;NSM;;;;;N;;;;; 1D1AE;MUSICAL SYMBOL PEDAL MARK;So;0;L;;;;;N;;;;; 1D1AF;MUSICAL SYMBOL PEDAL UP MARK;So;0;L;;;;;N;;;;; 1D1B0;MUSICAL SYMBOL HALF PEDAL MARK;So;0;L;;;;;N;;;;; 1D1B1;MUSICAL SYMBOL GLISSANDO UP;So;0;L;;;;;N;;;;; 1D1B2;MUSICAL SYMBOL GLISSANDO DOWN;So;0;L;;;;;N;;;;; 1D1B3;MUSICAL SYMBOL WITH FINGERNAILS;So;0;L;;;;;N;;;;; 1D1B4;MUSICAL SYMBOL DAMP;So;0;L;;;;;N;;;;; 1D1B5;MUSICAL SYMBOL DAMP ALL;So;0;L;;;;;N;;;;; 1D1B6;MUSICAL SYMBOL MAXIMA;So;0;L;;;;;N;;;;; 1D1B7;MUSICAL SYMBOL LONGA;So;0;L;;;;;N;;;;; 1D1B8;MUSICAL SYMBOL BREVIS;So;0;L;;;;;N;;;;; 1D1B9;MUSICAL SYMBOL SEMIBREVIS WHITE;So;0;L;;;;;N;;;;; 1D1BA;MUSICAL SYMBOL SEMIBREVIS BLACK;So;0;L;;;;;N;;;;; 1D1BB;MUSICAL SYMBOL MINIMA;So;0;L;1D1B9 1D165;;;;N;;;;; 1D1BC;MUSICAL SYMBOL MINIMA BLACK;So;0;L;1D1BA 1D165;;;;N;;;;; 1D1BD;MUSICAL SYMBOL SEMIMINIMA WHITE;So;0;L;1D1BB 1D16E;;;;N;;;;; 1D1BE;MUSICAL SYMBOL SEMIMINIMA BLACK;So;0;L;1D1BC 1D16E;;;;N;;;;; 1D1BF;MUSICAL SYMBOL FUSA WHITE;So;0;L;1D1BB 1D16F;;;;N;;;;; 1D1C0;MUSICAL SYMBOL FUSA BLACK;So;0;L;1D1BC 1D16F;;;;N;;;;; 1D1C1;MUSICAL SYMBOL LONGA PERFECTA REST;So;0;L;;;;;N;;;;; 1D1C2;MUSICAL SYMBOL LONGA IMPERFECTA REST;So;0;L;;;;;N;;;;; 1D1C3;MUSICAL SYMBOL BREVIS REST;So;0;L;;;;;N;;;;; 1D1C4;MUSICAL SYMBOL SEMIBREVIS REST;So;0;L;;;;;N;;;;; 1D1C5;MUSICAL SYMBOL MINIMA REST;So;0;L;;;;;N;;;;; 1D1C6;MUSICAL SYMBOL SEMIMINIMA REST;So;0;L;;;;;N;;;;; 1D1C7;MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA;So;0;L;;;;;N;;;;; 1D1C8;MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE IMPERFECTA;So;0;L;;;;;N;;;;; 1D1C9;MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA DIMINUTION-1;So;0;L;;;;;N;;;;; 1D1CA;MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE PERFECTA;So;0;L;;;;;N;;;;; 1D1CB;MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA;So;0;L;;;;;N;;;;; 1D1CC;MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-1;So;0;L;;;;;N;;;;; 1D1CD;MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-2;So;0;L;;;;;N;;;;; 1D1CE;MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-3;So;0;L;;;;;N;;;;; 1D1CF;MUSICAL SYMBOL CROIX;So;0;L;;;;;N;;;;; 1D1D0;MUSICAL SYMBOL GREGORIAN C CLEF;So;0;L;;;;;N;;;;; 1D1D1;MUSICAL SYMBOL GREGORIAN F CLEF;So;0;L;;;;;N;;;;; 1D1D2;MUSICAL SYMBOL SQUARE B;So;0;L;;;;;N;;;;; 1D1D3;MUSICAL SYMBOL VIRGA;So;0;L;;;;;N;;;;; 1D1D4;MUSICAL SYMBOL PODATUS;So;0;L;;;;;N;;;;; 1D1D5;MUSICAL SYMBOL CLIVIS;So;0;L;;;;;N;;;;; 1D1D6;MUSICAL SYMBOL SCANDICUS;So;0;L;;;;;N;;;;; 1D1D7;MUSICAL SYMBOL CLIMACUS;So;0;L;;;;;N;;;;; 1D1D8;MUSICAL SYMBOL TORCULUS;So;0;L;;;;;N;;;;; 1D1D9;MUSICAL SYMBOL PORRECTUS;So;0;L;;;;;N;;;;; 1D1DA;MUSICAL SYMBOL PORRECTUS FLEXUS;So;0;L;;;;;N;;;;; 1D1DB;MUSICAL SYMBOL SCANDICUS FLEXUS;So;0;L;;;;;N;;;;; 1D1DC;MUSICAL SYMBOL TORCULUS RESUPINUS;So;0;L;;;;;N;;;;; 1D1DD;MUSICAL SYMBOL PES SUBPUNCTIS;So;0;L;;;;;N;;;;; 1D300;MONOGRAM FOR EARTH;So;0;ON;;;;;N;;;;; 1D301;DIGRAM FOR HEAVENLY EARTH;So;0;ON;;;;;N;;;;; 1D302;DIGRAM FOR HUMAN EARTH;So;0;ON;;;;;N;;;;; 1D303;DIGRAM FOR EARTHLY HEAVEN;So;0;ON;;;;;N;;;;; 1D304;DIGRAM FOR EARTHLY HUMAN;So;0;ON;;;;;N;;;;; 1D305;DIGRAM FOR EARTH;So;0;ON;;;;;N;;;;; 1D306;TETRAGRAM FOR CENTRE;So;0;ON;;;;;N;;;;; 1D307;TETRAGRAM FOR FULL CIRCLE;So;0;ON;;;;;N;;;;; 1D308;TETRAGRAM FOR MIRED;So;0;ON;;;;;N;;;;; 1D309;TETRAGRAM FOR BARRIER;So;0;ON;;;;;N;;;;; 1D30A;TETRAGRAM FOR KEEPING SMALL;So;0;ON;;;;;N;;;;; 1D30B;TETRAGRAM FOR CONTRARIETY;So;0;ON;;;;;N;;;;; 1D30C;TETRAGRAM FOR ASCENT;So;0;ON;;;;;N;;;;; 1D30D;TETRAGRAM FOR OPPOSITION;So;0;ON;;;;;N;;;;; 1D30E;TETRAGRAM FOR BRANCHING OUT;So;0;ON;;;;;N;;;;; 1D30F;TETRAGRAM FOR DEFECTIVENESS OR DISTORTION;So;0;ON;;;;;N;;;;; 1D310;TETRAGRAM FOR DIVERGENCE;So;0;ON;;;;;N;;;;; 1D311;TETRAGRAM FOR YOUTHFULNESS;So;0;ON;;;;;N;;;;; 1D312;TETRAGRAM FOR INCREASE;So;0;ON;;;;;N;;;;; 1D313;TETRAGRAM FOR PENETRATION;So;0;ON;;;;;N;;;;; 1D314;TETRAGRAM FOR REACH;So;0;ON;;;;;N;;;;; 1D315;TETRAGRAM FOR CONTACT;So;0;ON;;;;;N;;;;; 1D316;TETRAGRAM FOR HOLDING BACK;So;0;ON;;;;;N;;;;; 1D317;TETRAGRAM FOR WAITING;So;0;ON;;;;;N;;;;; 1D318;TETRAGRAM FOR FOLLOWING;So;0;ON;;;;;N;;;;; 1D319;TETRAGRAM FOR ADVANCE;So;0;ON;;;;;N;;;;; 1D31A;TETRAGRAM FOR RELEASE;So;0;ON;;;;;N;;;;; 1D31B;TETRAGRAM FOR RESISTANCE;So;0;ON;;;;;N;;;;; 1D31C;TETRAGRAM FOR EASE;So;0;ON;;;;;N;;;;; 1D31D;TETRAGRAM FOR JOY;So;0;ON;;;;;N;;;;; 1D31E;TETRAGRAM FOR CONTENTION;So;0;ON;;;;;N;;;;; 1D31F;TETRAGRAM FOR ENDEAVOUR;So;0;ON;;;;;N;;;;; 1D320;TETRAGRAM FOR DUTIES;So;0;ON;;;;;N;;;;; 1D321;TETRAGRAM FOR CHANGE;So;0;ON;;;;;N;;;;; 1D322;TETRAGRAM FOR DECISIVENESS;So;0;ON;;;;;N;;;;; 1D323;TETRAGRAM FOR BOLD RESOLUTION;So;0;ON;;;;;N;;;;; 1D324;TETRAGRAM FOR PACKING;So;0;ON;;;;;N;;;;; 1D325;TETRAGRAM FOR LEGION;So;0;ON;;;;;N;;;;; 1D326;TETRAGRAM FOR CLOSENESS;So;0;ON;;;;;N;;;;; 1D327;TETRAGRAM FOR KINSHIP;So;0;ON;;;;;N;;;;; 1D328;TETRAGRAM FOR GATHERING;So;0;ON;;;;;N;;;;; 1D329;TETRAGRAM FOR STRENGTH;So;0;ON;;;;;N;;;;; 1D32A;TETRAGRAM FOR PURITY;So;0;ON;;;;;N;;;;; 1D32B;TETRAGRAM FOR FULLNESS;So;0;ON;;;;;N;;;;; 1D32C;TETRAGRAM FOR RESIDENCE;So;0;ON;;;;;N;;;;; 1D32D;TETRAGRAM FOR LAW OR MODEL;So;0;ON;;;;;N;;;;; 1D32E;TETRAGRAM FOR RESPONSE;So;0;ON;;;;;N;;;;; 1D32F;TETRAGRAM FOR GOING TO MEET;So;0;ON;;;;;N;;;;; 1D330;TETRAGRAM FOR ENCOUNTERS;So;0;ON;;;;;N;;;;; 1D331;TETRAGRAM FOR STOVE;So;0;ON;;;;;N;;;;; 1D332;TETRAGRAM FOR GREATNESS;So;0;ON;;;;;N;;;;; 1D333;TETRAGRAM FOR ENLARGEMENT;So;0;ON;;;;;N;;;;; 1D334;TETRAGRAM FOR PATTERN;So;0;ON;;;;;N;;;;; 1D335;TETRAGRAM FOR RITUAL;So;0;ON;;;;;N;;;;; 1D336;TETRAGRAM FOR FLIGHT;So;0;ON;;;;;N;;;;; 1D337;TETRAGRAM FOR VASTNESS OR WASTING;So;0;ON;;;;;N;;;;; 1D338;TETRAGRAM FOR CONSTANCY;So;0;ON;;;;;N;;;;; 1D339;TETRAGRAM FOR MEASURE;So;0;ON;;;;;N;;;;; 1D33A;TETRAGRAM FOR ETERNITY;So;0;ON;;;;;N;;;;; 1D33B;TETRAGRAM FOR UNITY;So;0;ON;;;;;N;;;;; 1D33C;TETRAGRAM FOR DIMINISHMENT;So;0;ON;;;;;N;;;;; 1D33D;TETRAGRAM FOR CLOSED MOUTH;So;0;ON;;;;;N;;;;; 1D33E;TETRAGRAM FOR GUARDEDNESS;So;0;ON;;;;;N;;;;; 1D33F;TETRAGRAM FOR GATHERING IN;So;0;ON;;;;;N;;;;; 1D340;TETRAGRAM FOR MASSING;So;0;ON;;;;;N;;;;; 1D341;TETRAGRAM FOR ACCUMULATION;So;0;ON;;;;;N;;;;; 1D342;TETRAGRAM FOR EMBELLISHMENT;So;0;ON;;;;;N;;;;; 1D343;TETRAGRAM FOR DOUBT;So;0;ON;;;;;N;;;;; 1D344;TETRAGRAM FOR WATCH;So;0;ON;;;;;N;;;;; 1D345;TETRAGRAM FOR SINKING;So;0;ON;;;;;N;;;;; 1D346;TETRAGRAM FOR INNER;So;0;ON;;;;;N;;;;; 1D347;TETRAGRAM FOR DEPARTURE;So;0;ON;;;;;N;;;;; 1D348;TETRAGRAM FOR DARKENING;So;0;ON;;;;;N;;;;; 1D349;TETRAGRAM FOR DIMMING;So;0;ON;;;;;N;;;;; 1D34A;TETRAGRAM FOR EXHAUSTION;So;0;ON;;;;;N;;;;; 1D34B;TETRAGRAM FOR SEVERANCE;So;0;ON;;;;;N;;;;; 1D34C;TETRAGRAM FOR STOPPAGE;So;0;ON;;;;;N;;;;; 1D34D;TETRAGRAM FOR HARDNESS;So;0;ON;;;;;N;;;;; 1D34E;TETRAGRAM FOR COMPLETION;So;0;ON;;;;;N;;;;; 1D34F;TETRAGRAM FOR CLOSURE;So;0;ON;;;;;N;;;;; 1D350;TETRAGRAM FOR FAILURE;So;0;ON;;;;;N;;;;; 1D351;TETRAGRAM FOR AGGRAVATION;So;0;ON;;;;;N;;;;; 1D352;TETRAGRAM FOR COMPLIANCE;So;0;ON;;;;;N;;;;; 1D353;TETRAGRAM FOR ON THE VERGE;So;0;ON;;;;;N;;;;; 1D354;TETRAGRAM FOR DIFFICULTIES;So;0;ON;;;;;N;;;;; 1D355;TETRAGRAM FOR LABOURING;So;0;ON;;;;;N;;;;; 1D356;TETRAGRAM FOR FOSTERING;So;0;ON;;;;;N;;;;; 1D400;MATHEMATICAL BOLD CAPITAL A;Lu;0;L; 0041;;;;N;;;;; 1D401;MATHEMATICAL BOLD CAPITAL B;Lu;0;L; 0042;;;;N;;;;; 1D402;MATHEMATICAL BOLD CAPITAL C;Lu;0;L; 0043;;;;N;;;;; 1D403;MATHEMATICAL BOLD CAPITAL D;Lu;0;L; 0044;;;;N;;;;; 1D404;MATHEMATICAL BOLD CAPITAL E;Lu;0;L; 0045;;;;N;;;;; 1D405;MATHEMATICAL BOLD CAPITAL F;Lu;0;L; 0046;;;;N;;;;; 1D406;MATHEMATICAL BOLD CAPITAL G;Lu;0;L; 0047;;;;N;;;;; 1D407;MATHEMATICAL BOLD CAPITAL H;Lu;0;L; 0048;;;;N;;;;; 1D408;MATHEMATICAL BOLD CAPITAL I;Lu;0;L; 0049;;;;N;;;;; 1D409;MATHEMATICAL BOLD CAPITAL J;Lu;0;L; 004A;;;;N;;;;; 1D40A;MATHEMATICAL BOLD CAPITAL K;Lu;0;L; 004B;;;;N;;;;; 1D40B;MATHEMATICAL BOLD CAPITAL L;Lu;0;L; 004C;;;;N;;;;; 1D40C;MATHEMATICAL BOLD CAPITAL M;Lu;0;L; 004D;;;;N;;;;; 1D40D;MATHEMATICAL BOLD CAPITAL N;Lu;0;L; 004E;;;;N;;;;; 1D40E;MATHEMATICAL BOLD CAPITAL O;Lu;0;L; 004F;;;;N;;;;; 1D40F;MATHEMATICAL BOLD CAPITAL P;Lu;0;L; 0050;;;;N;;;;; 1D410;MATHEMATICAL BOLD CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; 1D411;MATHEMATICAL BOLD CAPITAL R;Lu;0;L; 0052;;;;N;;;;; 1D412;MATHEMATICAL BOLD CAPITAL S;Lu;0;L; 0053;;;;N;;;;; 1D413;MATHEMATICAL BOLD CAPITAL T;Lu;0;L; 0054;;;;N;;;;; 1D414;MATHEMATICAL BOLD CAPITAL U;Lu;0;L; 0055;;;;N;;;;; 1D415;MATHEMATICAL BOLD CAPITAL V;Lu;0;L; 0056;;;;N;;;;; 1D416;MATHEMATICAL BOLD CAPITAL W;Lu;0;L; 0057;;;;N;;;;; 1D417;MATHEMATICAL BOLD CAPITAL X;Lu;0;L; 0058;;;;N;;;;; 1D418;MATHEMATICAL BOLD CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; 1D419;MATHEMATICAL BOLD CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; 1D41A;MATHEMATICAL BOLD SMALL A;Ll;0;L; 0061;;;;N;;;;; 1D41B;MATHEMATICAL BOLD SMALL B;Ll;0;L; 0062;;;;N;;;;; 1D41C;MATHEMATICAL BOLD SMALL C;Ll;0;L; 0063;;;;N;;;;; 1D41D;MATHEMATICAL BOLD SMALL D;Ll;0;L; 0064;;;;N;;;;; 1D41E;MATHEMATICAL BOLD SMALL E;Ll;0;L; 0065;;;;N;;;;; 1D41F;MATHEMATICAL BOLD SMALL F;Ll;0;L; 0066;;;;N;;;;; 1D420;MATHEMATICAL BOLD SMALL G;Ll;0;L; 0067;;;;N;;;;; 1D421;MATHEMATICAL BOLD SMALL H;Ll;0;L; 0068;;;;N;;;;; 1D422;MATHEMATICAL BOLD SMALL I;Ll;0;L; 0069;;;;N;;;;; 1D423;MATHEMATICAL BOLD SMALL J;Ll;0;L; 006A;;;;N;;;;; 1D424;MATHEMATICAL BOLD SMALL K;Ll;0;L; 006B;;;;N;;;;; 1D425;MATHEMATICAL BOLD SMALL L;Ll;0;L; 006C;;;;N;;;;; 1D426;MATHEMATICAL BOLD SMALL M;Ll;0;L; 006D;;;;N;;;;; 1D427;MATHEMATICAL BOLD SMALL N;Ll;0;L; 006E;;;;N;;;;; 1D428;MATHEMATICAL BOLD SMALL O;Ll;0;L; 006F;;;;N;;;;; 1D429;MATHEMATICAL BOLD SMALL P;Ll;0;L; 0070;;;;N;;;;; 1D42A;MATHEMATICAL BOLD SMALL Q;Ll;0;L; 0071;;;;N;;;;; 1D42B;MATHEMATICAL BOLD SMALL R;Ll;0;L; 0072;;;;N;;;;; 1D42C;MATHEMATICAL BOLD SMALL S;Ll;0;L; 0073;;;;N;;;;; 1D42D;MATHEMATICAL BOLD SMALL T;Ll;0;L; 0074;;;;N;;;;; 1D42E;MATHEMATICAL BOLD SMALL U;Ll;0;L; 0075;;;;N;;;;; 1D42F;MATHEMATICAL BOLD SMALL V;Ll;0;L; 0076;;;;N;;;;; 1D430;MATHEMATICAL BOLD SMALL W;Ll;0;L; 0077;;;;N;;;;; 1D431;MATHEMATICAL BOLD SMALL X;Ll;0;L; 0078;;;;N;;;;; 1D432;MATHEMATICAL BOLD SMALL Y;Ll;0;L; 0079;;;;N;;;;; 1D433;MATHEMATICAL BOLD SMALL Z;Ll;0;L; 007A;;;;N;;;;; 1D434;MATHEMATICAL ITALIC CAPITAL A;Lu;0;L; 0041;;;;N;;;;; 1D435;MATHEMATICAL ITALIC CAPITAL B;Lu;0;L; 0042;;;;N;;;;; 1D436;MATHEMATICAL ITALIC CAPITAL C;Lu;0;L; 0043;;;;N;;;;; 1D437;MATHEMATICAL ITALIC CAPITAL D;Lu;0;L; 0044;;;;N;;;;; 1D438;MATHEMATICAL ITALIC CAPITAL E;Lu;0;L; 0045;;;;N;;;;; 1D439;MATHEMATICAL ITALIC CAPITAL F;Lu;0;L; 0046;;;;N;;;;; 1D43A;MATHEMATICAL ITALIC CAPITAL G;Lu;0;L; 0047;;;;N;;;;; 1D43B;MATHEMATICAL ITALIC CAPITAL H;Lu;0;L; 0048;;;;N;;;;; 1D43C;MATHEMATICAL ITALIC CAPITAL I;Lu;0;L; 0049;;;;N;;;;; 1D43D;MATHEMATICAL ITALIC CAPITAL J;Lu;0;L; 004A;;;;N;;;;; 1D43E;MATHEMATICAL ITALIC CAPITAL K;Lu;0;L; 004B;;;;N;;;;; 1D43F;MATHEMATICAL ITALIC CAPITAL L;Lu;0;L; 004C;;;;N;;;;; 1D440;MATHEMATICAL ITALIC CAPITAL M;Lu;0;L; 004D;;;;N;;;;; 1D441;MATHEMATICAL ITALIC CAPITAL N;Lu;0;L; 004E;;;;N;;;;; 1D442;MATHEMATICAL ITALIC CAPITAL O;Lu;0;L; 004F;;;;N;;;;; 1D443;MATHEMATICAL ITALIC CAPITAL P;Lu;0;L; 0050;;;;N;;;;; 1D444;MATHEMATICAL ITALIC CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; 1D445;MATHEMATICAL ITALIC CAPITAL R;Lu;0;L; 0052;;;;N;;;;; 1D446;MATHEMATICAL ITALIC CAPITAL S;Lu;0;L; 0053;;;;N;;;;; 1D447;MATHEMATICAL ITALIC CAPITAL T;Lu;0;L; 0054;;;;N;;;;; 1D448;MATHEMATICAL ITALIC CAPITAL U;Lu;0;L; 0055;;;;N;;;;; 1D449;MATHEMATICAL ITALIC CAPITAL V;Lu;0;L; 0056;;;;N;;;;; 1D44A;MATHEMATICAL ITALIC CAPITAL W;Lu;0;L; 0057;;;;N;;;;; 1D44B;MATHEMATICAL ITALIC CAPITAL X;Lu;0;L; 0058;;;;N;;;;; 1D44C;MATHEMATICAL ITALIC CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; 1D44D;MATHEMATICAL ITALIC CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; 1D44E;MATHEMATICAL ITALIC SMALL A;Ll;0;L; 0061;;;;N;;;;; 1D44F;MATHEMATICAL ITALIC SMALL B;Ll;0;L; 0062;;;;N;;;;; 1D450;MATHEMATICAL ITALIC SMALL C;Ll;0;L; 0063;;;;N;;;;; 1D451;MATHEMATICAL ITALIC SMALL D;Ll;0;L; 0064;;;;N;;;;; 1D452;MATHEMATICAL ITALIC SMALL E;Ll;0;L; 0065;;;;N;;;;; 1D453;MATHEMATICAL ITALIC SMALL F;Ll;0;L; 0066;;;;N;;;;; 1D454;MATHEMATICAL ITALIC SMALL G;Ll;0;L; 0067;;;;N;;;;; 1D456;MATHEMATICAL ITALIC SMALL I;Ll;0;L; 0069;;;;N;;;;; 1D457;MATHEMATICAL ITALIC SMALL J;Ll;0;L; 006A;;;;N;;;;; 1D458;MATHEMATICAL ITALIC SMALL K;Ll;0;L; 006B;;;;N;;;;; 1D459;MATHEMATICAL ITALIC SMALL L;Ll;0;L; 006C;;;;N;;;;; 1D45A;MATHEMATICAL ITALIC SMALL M;Ll;0;L; 006D;;;;N;;;;; 1D45B;MATHEMATICAL ITALIC SMALL N;Ll;0;L; 006E;;;;N;;;;; 1D45C;MATHEMATICAL ITALIC SMALL O;Ll;0;L; 006F;;;;N;;;;; 1D45D;MATHEMATICAL ITALIC SMALL P;Ll;0;L; 0070;;;;N;;;;; 1D45E;MATHEMATICAL ITALIC SMALL Q;Ll;0;L; 0071;;;;N;;;;; 1D45F;MATHEMATICAL ITALIC SMALL R;Ll;0;L; 0072;;;;N;;;;; 1D460;MATHEMATICAL ITALIC SMALL S;Ll;0;L; 0073;;;;N;;;;; 1D461;MATHEMATICAL ITALIC SMALL T;Ll;0;L; 0074;;;;N;;;;; 1D462;MATHEMATICAL ITALIC SMALL U;Ll;0;L; 0075;;;;N;;;;; 1D463;MATHEMATICAL ITALIC SMALL V;Ll;0;L; 0076;;;;N;;;;; 1D464;MATHEMATICAL ITALIC SMALL W;Ll;0;L; 0077;;;;N;;;;; 1D465;MATHEMATICAL ITALIC SMALL X;Ll;0;L; 0078;;;;N;;;;; 1D466;MATHEMATICAL ITALIC SMALL Y;Ll;0;L; 0079;;;;N;;;;; 1D467;MATHEMATICAL ITALIC SMALL Z;Ll;0;L; 007A;;;;N;;;;; 1D468;MATHEMATICAL BOLD ITALIC CAPITAL A;Lu;0;L; 0041;;;;N;;;;; 1D469;MATHEMATICAL BOLD ITALIC CAPITAL B;Lu;0;L; 0042;;;;N;;;;; 1D46A;MATHEMATICAL BOLD ITALIC CAPITAL C;Lu;0;L; 0043;;;;N;;;;; 1D46B;MATHEMATICAL BOLD ITALIC CAPITAL D;Lu;0;L; 0044;;;;N;;;;; 1D46C;MATHEMATICAL BOLD ITALIC CAPITAL E;Lu;0;L; 0045;;;;N;;;;; 1D46D;MATHEMATICAL BOLD ITALIC CAPITAL F;Lu;0;L; 0046;;;;N;;;;; 1D46E;MATHEMATICAL BOLD ITALIC CAPITAL G;Lu;0;L; 0047;;;;N;;;;; 1D46F;MATHEMATICAL BOLD ITALIC CAPITAL H;Lu;0;L; 0048;;;;N;;;;; 1D470;MATHEMATICAL BOLD ITALIC CAPITAL I;Lu;0;L; 0049;;;;N;;;;; 1D471;MATHEMATICAL BOLD ITALIC CAPITAL J;Lu;0;L; 004A;;;;N;;;;; 1D472;MATHEMATICAL BOLD ITALIC CAPITAL K;Lu;0;L; 004B;;;;N;;;;; 1D473;MATHEMATICAL BOLD ITALIC CAPITAL L;Lu;0;L; 004C;;;;N;;;;; 1D474;MATHEMATICAL BOLD ITALIC CAPITAL M;Lu;0;L; 004D;;;;N;;;;; 1D475;MATHEMATICAL BOLD ITALIC CAPITAL N;Lu;0;L; 004E;;;;N;;;;; 1D476;MATHEMATICAL BOLD ITALIC CAPITAL O;Lu;0;L; 004F;;;;N;;;;; 1D477;MATHEMATICAL BOLD ITALIC CAPITAL P;Lu;0;L; 0050;;;;N;;;;; 1D478;MATHEMATICAL BOLD ITALIC CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; 1D479;MATHEMATICAL BOLD ITALIC CAPITAL R;Lu;0;L; 0052;;;;N;;;;; 1D47A;MATHEMATICAL BOLD ITALIC CAPITAL S;Lu;0;L; 0053;;;;N;;;;; 1D47B;MATHEMATICAL BOLD ITALIC CAPITAL T;Lu;0;L; 0054;;;;N;;;;; 1D47C;MATHEMATICAL BOLD ITALIC CAPITAL U;Lu;0;L; 0055;;;;N;;;;; 1D47D;MATHEMATICAL BOLD ITALIC CAPITAL V;Lu;0;L; 0056;;;;N;;;;; 1D47E;MATHEMATICAL BOLD ITALIC CAPITAL W;Lu;0;L; 0057;;;;N;;;;; 1D47F;MATHEMATICAL BOLD ITALIC CAPITAL X;Lu;0;L; 0058;;;;N;;;;; 1D480;MATHEMATICAL BOLD ITALIC CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; 1D481;MATHEMATICAL BOLD ITALIC CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; 1D482;MATHEMATICAL BOLD ITALIC SMALL A;Ll;0;L; 0061;;;;N;;;;; 1D483;MATHEMATICAL BOLD ITALIC SMALL B;Ll;0;L; 0062;;;;N;;;;; 1D484;MATHEMATICAL BOLD ITALIC SMALL C;Ll;0;L; 0063;;;;N;;;;; 1D485;MATHEMATICAL BOLD ITALIC SMALL D;Ll;0;L; 0064;;;;N;;;;; 1D486;MATHEMATICAL BOLD ITALIC SMALL E;Ll;0;L; 0065;;;;N;;;;; 1D487;MATHEMATICAL BOLD ITALIC SMALL F;Ll;0;L; 0066;;;;N;;;;; 1D488;MATHEMATICAL BOLD ITALIC SMALL G;Ll;0;L; 0067;;;;N;;;;; 1D489;MATHEMATICAL BOLD ITALIC SMALL H;Ll;0;L; 0068;;;;N;;;;; 1D48A;MATHEMATICAL BOLD ITALIC SMALL I;Ll;0;L; 0069;;;;N;;;;; 1D48B;MATHEMATICAL BOLD ITALIC SMALL J;Ll;0;L; 006A;;;;N;;;;; 1D48C;MATHEMATICAL BOLD ITALIC SMALL K;Ll;0;L; 006B;;;;N;;;;; 1D48D;MATHEMATICAL BOLD ITALIC SMALL L;Ll;0;L; 006C;;;;N;;;;; 1D48E;MATHEMATICAL BOLD ITALIC SMALL M;Ll;0;L; 006D;;;;N;;;;; 1D48F;MATHEMATICAL BOLD ITALIC SMALL N;Ll;0;L; 006E;;;;N;;;;; 1D490;MATHEMATICAL BOLD ITALIC SMALL O;Ll;0;L; 006F;;;;N;;;;; 1D491;MATHEMATICAL BOLD ITALIC SMALL P;Ll;0;L; 0070;;;;N;;;;; 1D492;MATHEMATICAL BOLD ITALIC SMALL Q;Ll;0;L; 0071;;;;N;;;;; 1D493;MATHEMATICAL BOLD ITALIC SMALL R;Ll;0;L; 0072;;;;N;;;;; 1D494;MATHEMATICAL BOLD ITALIC SMALL S;Ll;0;L; 0073;;;;N;;;;; 1D495;MATHEMATICAL BOLD ITALIC SMALL T;Ll;0;L; 0074;;;;N;;;;; 1D496;MATHEMATICAL BOLD ITALIC SMALL U;Ll;0;L; 0075;;;;N;;;;; 1D497;MATHEMATICAL BOLD ITALIC SMALL V;Ll;0;L; 0076;;;;N;;;;; 1D498;MATHEMATICAL BOLD ITALIC SMALL W;Ll;0;L; 0077;;;;N;;;;; 1D499;MATHEMATICAL BOLD ITALIC SMALL X;Ll;0;L; 0078;;;;N;;;;; 1D49A;MATHEMATICAL BOLD ITALIC SMALL Y;Ll;0;L; 0079;;;;N;;;;; 1D49B;MATHEMATICAL BOLD ITALIC SMALL Z;Ll;0;L; 007A;;;;N;;;;; 1D49C;MATHEMATICAL SCRIPT CAPITAL A;Lu;0;L; 0041;;;;N;;;;; 1D49E;MATHEMATICAL SCRIPT CAPITAL C;Lu;0;L; 0043;;;;N;;;;; 1D49F;MATHEMATICAL SCRIPT CAPITAL D;Lu;0;L; 0044;;;;N;;;;; 1D4A2;MATHEMATICAL SCRIPT CAPITAL G;Lu;0;L; 0047;;;;N;;;;; 1D4A5;MATHEMATICAL SCRIPT CAPITAL J;Lu;0;L; 004A;;;;N;;;;; 1D4A6;MATHEMATICAL SCRIPT CAPITAL K;Lu;0;L; 004B;;;;N;;;;; 1D4A9;MATHEMATICAL SCRIPT CAPITAL N;Lu;0;L; 004E;;;;N;;;;; 1D4AA;MATHEMATICAL SCRIPT CAPITAL O;Lu;0;L; 004F;;;;N;;;;; 1D4AB;MATHEMATICAL SCRIPT CAPITAL P;Lu;0;L; 0050;;;;N;;;;; 1D4AC;MATHEMATICAL SCRIPT CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; 1D4AE;MATHEMATICAL SCRIPT CAPITAL S;Lu;0;L; 0053;;;;N;;;;; 1D4AF;MATHEMATICAL SCRIPT CAPITAL T;Lu;0;L; 0054;;;;N;;;;; 1D4B0;MATHEMATICAL SCRIPT CAPITAL U;Lu;0;L; 0055;;;;N;;;;; 1D4B1;MATHEMATICAL SCRIPT CAPITAL V;Lu;0;L; 0056;;;;N;;;;; 1D4B2;MATHEMATICAL SCRIPT CAPITAL W;Lu;0;L; 0057;;;;N;;;;; 1D4B3;MATHEMATICAL SCRIPT CAPITAL X;Lu;0;L; 0058;;;;N;;;;; 1D4B4;MATHEMATICAL SCRIPT CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; 1D4B5;MATHEMATICAL SCRIPT CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; 1D4B6;MATHEMATICAL SCRIPT SMALL A;Ll;0;L; 0061;;;;N;;;;; 1D4B7;MATHEMATICAL SCRIPT SMALL B;Ll;0;L; 0062;;;;N;;;;; 1D4B8;MATHEMATICAL SCRIPT SMALL C;Ll;0;L; 0063;;;;N;;;;; 1D4B9;MATHEMATICAL SCRIPT SMALL D;Ll;0;L; 0064;;;;N;;;;; 1D4BB;MATHEMATICAL SCRIPT SMALL F;Ll;0;L; 0066;;;;N;;;;; 1D4BD;MATHEMATICAL SCRIPT SMALL H;Ll;0;L; 0068;;;;N;;;;; 1D4BE;MATHEMATICAL SCRIPT SMALL I;Ll;0;L; 0069;;;;N;;;;; 1D4BF;MATHEMATICAL SCRIPT SMALL J;Ll;0;L; 006A;;;;N;;;;; 1D4C0;MATHEMATICAL SCRIPT SMALL K;Ll;0;L; 006B;;;;N;;;;; 1D4C1;MATHEMATICAL SCRIPT SMALL L;Ll;0;L; 006C;;;;N;;;;; 1D4C2;MATHEMATICAL SCRIPT SMALL M;Ll;0;L; 006D;;;;N;;;;; 1D4C3;MATHEMATICAL SCRIPT SMALL N;Ll;0;L; 006E;;;;N;;;;; 1D4C5;MATHEMATICAL SCRIPT SMALL P;Ll;0;L; 0070;;;;N;;;;; 1D4C6;MATHEMATICAL SCRIPT SMALL Q;Ll;0;L; 0071;;;;N;;;;; 1D4C7;MATHEMATICAL SCRIPT SMALL R;Ll;0;L; 0072;;;;N;;;;; 1D4C8;MATHEMATICAL SCRIPT SMALL S;Ll;0;L; 0073;;;;N;;;;; 1D4C9;MATHEMATICAL SCRIPT SMALL T;Ll;0;L; 0074;;;;N;;;;; 1D4CA;MATHEMATICAL SCRIPT SMALL U;Ll;0;L; 0075;;;;N;;;;; 1D4CB;MATHEMATICAL SCRIPT SMALL V;Ll;0;L; 0076;;;;N;;;;; 1D4CC;MATHEMATICAL SCRIPT SMALL W;Ll;0;L; 0077;;;;N;;;;; 1D4CD;MATHEMATICAL SCRIPT SMALL X;Ll;0;L; 0078;;;;N;;;;; 1D4CE;MATHEMATICAL SCRIPT SMALL Y;Ll;0;L; 0079;;;;N;;;;; 1D4CF;MATHEMATICAL SCRIPT SMALL Z;Ll;0;L; 007A;;;;N;;;;; 1D4D0;MATHEMATICAL BOLD SCRIPT CAPITAL A;Lu;0;L; 0041;;;;N;;;;; 1D4D1;MATHEMATICAL BOLD SCRIPT CAPITAL B;Lu;0;L; 0042;;;;N;;;;; 1D4D2;MATHEMATICAL BOLD SCRIPT CAPITAL C;Lu;0;L; 0043;;;;N;;;;; 1D4D3;MATHEMATICAL BOLD SCRIPT CAPITAL D;Lu;0;L; 0044;;;;N;;;;; 1D4D4;MATHEMATICAL BOLD SCRIPT CAPITAL E;Lu;0;L; 0045;;;;N;;;;; 1D4D5;MATHEMATICAL BOLD SCRIPT CAPITAL F;Lu;0;L; 0046;;;;N;;;;; 1D4D6;MATHEMATICAL BOLD SCRIPT CAPITAL G;Lu;0;L; 0047;;;;N;;;;; 1D4D7;MATHEMATICAL BOLD SCRIPT CAPITAL H;Lu;0;L; 0048;;;;N;;;;; 1D4D8;MATHEMATICAL BOLD SCRIPT CAPITAL I;Lu;0;L; 0049;;;;N;;;;; 1D4D9;MATHEMATICAL BOLD SCRIPT CAPITAL J;Lu;0;L; 004A;;;;N;;;;; 1D4DA;MATHEMATICAL BOLD SCRIPT CAPITAL K;Lu;0;L; 004B;;;;N;;;;; 1D4DB;MATHEMATICAL BOLD SCRIPT CAPITAL L;Lu;0;L; 004C;;;;N;;;;; 1D4DC;MATHEMATICAL BOLD SCRIPT CAPITAL M;Lu;0;L; 004D;;;;N;;;;; 1D4DD;MATHEMATICAL BOLD SCRIPT CAPITAL N;Lu;0;L; 004E;;;;N;;;;; 1D4DE;MATHEMATICAL BOLD SCRIPT CAPITAL O;Lu;0;L; 004F;;;;N;;;;; 1D4DF;MATHEMATICAL BOLD SCRIPT CAPITAL P;Lu;0;L; 0050;;;;N;;;;; 1D4E0;MATHEMATICAL BOLD SCRIPT CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; 1D4E1;MATHEMATICAL BOLD SCRIPT CAPITAL R;Lu;0;L; 0052;;;;N;;;;; 1D4E2;MATHEMATICAL BOLD SCRIPT CAPITAL S;Lu;0;L; 0053;;;;N;;;;; 1D4E3;MATHEMATICAL BOLD SCRIPT CAPITAL T;Lu;0;L; 0054;;;;N;;;;; 1D4E4;MATHEMATICAL BOLD SCRIPT CAPITAL U;Lu;0;L; 0055;;;;N;;;;; 1D4E5;MATHEMATICAL BOLD SCRIPT CAPITAL V;Lu;0;L; 0056;;;;N;;;;; 1D4E6;MATHEMATICAL BOLD SCRIPT CAPITAL W;Lu;0;L; 0057;;;;N;;;;; 1D4E7;MATHEMATICAL BOLD SCRIPT CAPITAL X;Lu;0;L; 0058;;;;N;;;;; 1D4E8;MATHEMATICAL BOLD SCRIPT CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; 1D4E9;MATHEMATICAL BOLD SCRIPT CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; 1D4EA;MATHEMATICAL BOLD SCRIPT SMALL A;Ll;0;L; 0061;;;;N;;;;; 1D4EB;MATHEMATICAL BOLD SCRIPT SMALL B;Ll;0;L; 0062;;;;N;;;;; 1D4EC;MATHEMATICAL BOLD SCRIPT SMALL C;Ll;0;L; 0063;;;;N;;;;; 1D4ED;MATHEMATICAL BOLD SCRIPT SMALL D;Ll;0;L; 0064;;;;N;;;;; 1D4EE;MATHEMATICAL BOLD SCRIPT SMALL E;Ll;0;L; 0065;;;;N;;;;; 1D4EF;MATHEMATICAL BOLD SCRIPT SMALL F;Ll;0;L; 0066;;;;N;;;;; 1D4F0;MATHEMATICAL BOLD SCRIPT SMALL G;Ll;0;L; 0067;;;;N;;;;; 1D4F1;MATHEMATICAL BOLD SCRIPT SMALL H;Ll;0;L; 0068;;;;N;;;;; 1D4F2;MATHEMATICAL BOLD SCRIPT SMALL I;Ll;0;L; 0069;;;;N;;;;; 1D4F3;MATHEMATICAL BOLD SCRIPT SMALL J;Ll;0;L; 006A;;;;N;;;;; 1D4F4;MATHEMATICAL BOLD SCRIPT SMALL K;Ll;0;L; 006B;;;;N;;;;; 1D4F5;MATHEMATICAL BOLD SCRIPT SMALL L;Ll;0;L; 006C;;;;N;;;;; 1D4F6;MATHEMATICAL BOLD SCRIPT SMALL M;Ll;0;L; 006D;;;;N;;;;; 1D4F7;MATHEMATICAL BOLD SCRIPT SMALL N;Ll;0;L; 006E;;;;N;;;;; 1D4F8;MATHEMATICAL BOLD SCRIPT SMALL O;Ll;0;L; 006F;;;;N;;;;; 1D4F9;MATHEMATICAL BOLD SCRIPT SMALL P;Ll;0;L; 0070;;;;N;;;;; 1D4FA;MATHEMATICAL BOLD SCRIPT SMALL Q;Ll;0;L; 0071;;;;N;;;;; 1D4FB;MATHEMATICAL BOLD SCRIPT SMALL R;Ll;0;L; 0072;;;;N;;;;; 1D4FC;MATHEMATICAL BOLD SCRIPT SMALL S;Ll;0;L; 0073;;;;N;;;;; 1D4FD;MATHEMATICAL BOLD SCRIPT SMALL T;Ll;0;L; 0074;;;;N;;;;; 1D4FE;MATHEMATICAL BOLD SCRIPT SMALL U;Ll;0;L; 0075;;;;N;;;;; 1D4FF;MATHEMATICAL BOLD SCRIPT SMALL V;Ll;0;L; 0076;;;;N;;;;; 1D500;MATHEMATICAL BOLD SCRIPT SMALL W;Ll;0;L; 0077;;;;N;;;;; 1D501;MATHEMATICAL BOLD SCRIPT SMALL X;Ll;0;L; 0078;;;;N;;;;; 1D502;MATHEMATICAL BOLD SCRIPT SMALL Y;Ll;0;L; 0079;;;;N;;;;; 1D503;MATHEMATICAL BOLD SCRIPT SMALL Z;Ll;0;L; 007A;;;;N;;;;; 1D504;MATHEMATICAL FRAKTUR CAPITAL A;Lu;0;L; 0041;;;;N;;;;; 1D505;MATHEMATICAL FRAKTUR CAPITAL B;Lu;0;L; 0042;;;;N;;;;; 1D507;MATHEMATICAL FRAKTUR CAPITAL D;Lu;0;L; 0044;;;;N;;;;; 1D508;MATHEMATICAL FRAKTUR CAPITAL E;Lu;0;L; 0045;;;;N;;;;; 1D509;MATHEMATICAL FRAKTUR CAPITAL F;Lu;0;L; 0046;;;;N;;;;; 1D50A;MATHEMATICAL FRAKTUR CAPITAL G;Lu;0;L; 0047;;;;N;;;;; 1D50D;MATHEMATICAL FRAKTUR CAPITAL J;Lu;0;L; 004A;;;;N;;;;; 1D50E;MATHEMATICAL FRAKTUR CAPITAL K;Lu;0;L; 004B;;;;N;;;;; 1D50F;MATHEMATICAL FRAKTUR CAPITAL L;Lu;0;L; 004C;;;;N;;;;; 1D510;MATHEMATICAL FRAKTUR CAPITAL M;Lu;0;L; 004D;;;;N;;;;; 1D511;MATHEMATICAL FRAKTUR CAPITAL N;Lu;0;L; 004E;;;;N;;;;; 1D512;MATHEMATICAL FRAKTUR CAPITAL O;Lu;0;L; 004F;;;;N;;;;; 1D513;MATHEMATICAL FRAKTUR CAPITAL P;Lu;0;L; 0050;;;;N;;;;; 1D514;MATHEMATICAL FRAKTUR CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; 1D516;MATHEMATICAL FRAKTUR CAPITAL S;Lu;0;L; 0053;;;;N;;;;; 1D517;MATHEMATICAL FRAKTUR CAPITAL T;Lu;0;L; 0054;;;;N;;;;; 1D518;MATHEMATICAL FRAKTUR CAPITAL U;Lu;0;L; 0055;;;;N;;;;; 1D519;MATHEMATICAL FRAKTUR CAPITAL V;Lu;0;L; 0056;;;;N;;;;; 1D51A;MATHEMATICAL FRAKTUR CAPITAL W;Lu;0;L; 0057;;;;N;;;;; 1D51B;MATHEMATICAL FRAKTUR CAPITAL X;Lu;0;L; 0058;;;;N;;;;; 1D51C;MATHEMATICAL FRAKTUR CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; 1D51E;MATHEMATICAL FRAKTUR SMALL A;Ll;0;L; 0061;;;;N;;;;; 1D51F;MATHEMATICAL FRAKTUR SMALL B;Ll;0;L; 0062;;;;N;;;;; 1D520;MATHEMATICAL FRAKTUR SMALL C;Ll;0;L; 0063;;;;N;;;;; 1D521;MATHEMATICAL FRAKTUR SMALL D;Ll;0;L; 0064;;;;N;;;;; 1D522;MATHEMATICAL FRAKTUR SMALL E;Ll;0;L; 0065;;;;N;;;;; 1D523;MATHEMATICAL FRAKTUR SMALL F;Ll;0;L; 0066;;;;N;;;;; 1D524;MATHEMATICAL FRAKTUR SMALL G;Ll;0;L; 0067;;;;N;;;;; 1D525;MATHEMATICAL FRAKTUR SMALL H;Ll;0;L; 0068;;;;N;;;;; 1D526;MATHEMATICAL FRAKTUR SMALL I;Ll;0;L; 0069;;;;N;;;;; 1D527;MATHEMATICAL FRAKTUR SMALL J;Ll;0;L; 006A;;;;N;;;;; 1D528;MATHEMATICAL FRAKTUR SMALL K;Ll;0;L; 006B;;;;N;;;;; 1D529;MATHEMATICAL FRAKTUR SMALL L;Ll;0;L; 006C;;;;N;;;;; 1D52A;MATHEMATICAL FRAKTUR SMALL M;Ll;0;L; 006D;;;;N;;;;; 1D52B;MATHEMATICAL FRAKTUR SMALL N;Ll;0;L; 006E;;;;N;;;;; 1D52C;MATHEMATICAL FRAKTUR SMALL O;Ll;0;L; 006F;;;;N;;;;; 1D52D;MATHEMATICAL FRAKTUR SMALL P;Ll;0;L; 0070;;;;N;;;;; 1D52E;MATHEMATICAL FRAKTUR SMALL Q;Ll;0;L; 0071;;;;N;;;;; 1D52F;MATHEMATICAL FRAKTUR SMALL R;Ll;0;L; 0072;;;;N;;;;; 1D530;MATHEMATICAL FRAKTUR SMALL S;Ll;0;L; 0073;;;;N;;;;; 1D531;MATHEMATICAL FRAKTUR SMALL T;Ll;0;L; 0074;;;;N;;;;; 1D532;MATHEMATICAL FRAKTUR SMALL U;Ll;0;L; 0075;;;;N;;;;; 1D533;MATHEMATICAL FRAKTUR SMALL V;Ll;0;L; 0076;;;;N;;;;; 1D534;MATHEMATICAL FRAKTUR SMALL W;Ll;0;L; 0077;;;;N;;;;; 1D535;MATHEMATICAL FRAKTUR SMALL X;Ll;0;L; 0078;;;;N;;;;; 1D536;MATHEMATICAL FRAKTUR SMALL Y;Ll;0;L; 0079;;;;N;;;;; 1D537;MATHEMATICAL FRAKTUR SMALL Z;Ll;0;L; 007A;;;;N;;;;; 1D538;MATHEMATICAL DOUBLE-STRUCK CAPITAL A;Lu;0;L; 0041;;;;N;;;;; 1D539;MATHEMATICAL DOUBLE-STRUCK CAPITAL B;Lu;0;L; 0042;;;;N;;;;; 1D53B;MATHEMATICAL DOUBLE-STRUCK CAPITAL D;Lu;0;L; 0044;;;;N;;;;; 1D53C;MATHEMATICAL DOUBLE-STRUCK CAPITAL E;Lu;0;L; 0045;;;;N;;;;; 1D53D;MATHEMATICAL DOUBLE-STRUCK CAPITAL F;Lu;0;L; 0046;;;;N;;;;; 1D53E;MATHEMATICAL DOUBLE-STRUCK CAPITAL G;Lu;0;L; 0047;;;;N;;;;; 1D540;MATHEMATICAL DOUBLE-STRUCK CAPITAL I;Lu;0;L; 0049;;;;N;;;;; 1D541;MATHEMATICAL DOUBLE-STRUCK CAPITAL J;Lu;0;L; 004A;;;;N;;;;; 1D542;MATHEMATICAL DOUBLE-STRUCK CAPITAL K;Lu;0;L; 004B;;;;N;;;;; 1D543;MATHEMATICAL DOUBLE-STRUCK CAPITAL L;Lu;0;L; 004C;;;;N;;;;; 1D544;MATHEMATICAL DOUBLE-STRUCK CAPITAL M;Lu;0;L; 004D;;;;N;;;;; 1D546;MATHEMATICAL DOUBLE-STRUCK CAPITAL O;Lu;0;L; 004F;;;;N;;;;; 1D54A;MATHEMATICAL DOUBLE-STRUCK CAPITAL S;Lu;0;L; 0053;;;;N;;;;; 1D54B;MATHEMATICAL DOUBLE-STRUCK CAPITAL T;Lu;0;L; 0054;;;;N;;;;; 1D54C;MATHEMATICAL DOUBLE-STRUCK CAPITAL U;Lu;0;L; 0055;;;;N;;;;; 1D54D;MATHEMATICAL DOUBLE-STRUCK CAPITAL V;Lu;0;L; 0056;;;;N;;;;; 1D54E;MATHEMATICAL DOUBLE-STRUCK CAPITAL W;Lu;0;L; 0057;;;;N;;;;; 1D54F;MATHEMATICAL DOUBLE-STRUCK CAPITAL X;Lu;0;L; 0058;;;;N;;;;; 1D550;MATHEMATICAL DOUBLE-STRUCK CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; 1D552;MATHEMATICAL DOUBLE-STRUCK SMALL A;Ll;0;L; 0061;;;;N;;;;; 1D553;MATHEMATICAL DOUBLE-STRUCK SMALL B;Ll;0;L; 0062;;;;N;;;;; 1D554;MATHEMATICAL DOUBLE-STRUCK SMALL C;Ll;0;L; 0063;;;;N;;;;; 1D555;MATHEMATICAL DOUBLE-STRUCK SMALL D;Ll;0;L; 0064;;;;N;;;;; 1D556;MATHEMATICAL DOUBLE-STRUCK SMALL E;Ll;0;L; 0065;;;;N;;;;; 1D557;MATHEMATICAL DOUBLE-STRUCK SMALL F;Ll;0;L; 0066;;;;N;;;;; 1D558;MATHEMATICAL DOUBLE-STRUCK SMALL G;Ll;0;L; 0067;;;;N;;;;; 1D559;MATHEMATICAL DOUBLE-STRUCK SMALL H;Ll;0;L; 0068;;;;N;;;;; 1D55A;MATHEMATICAL DOUBLE-STRUCK SMALL I;Ll;0;L; 0069;;;;N;;;;; 1D55B;MATHEMATICAL DOUBLE-STRUCK SMALL J;Ll;0;L; 006A;;;;N;;;;; 1D55C;MATHEMATICAL DOUBLE-STRUCK SMALL K;Ll;0;L; 006B;;;;N;;;;; 1D55D;MATHEMATICAL DOUBLE-STRUCK SMALL L;Ll;0;L; 006C;;;;N;;;;; 1D55E;MATHEMATICAL DOUBLE-STRUCK SMALL M;Ll;0;L; 006D;;;;N;;;;; 1D55F;MATHEMATICAL DOUBLE-STRUCK SMALL N;Ll;0;L; 006E;;;;N;;;;; 1D560;MATHEMATICAL DOUBLE-STRUCK SMALL O;Ll;0;L; 006F;;;;N;;;;; 1D561;MATHEMATICAL DOUBLE-STRUCK SMALL P;Ll;0;L; 0070;;;;N;;;;; 1D562;MATHEMATICAL DOUBLE-STRUCK SMALL Q;Ll;0;L; 0071;;;;N;;;;; 1D563;MATHEMATICAL DOUBLE-STRUCK SMALL R;Ll;0;L; 0072;;;;N;;;;; 1D564;MATHEMATICAL DOUBLE-STRUCK SMALL S;Ll;0;L; 0073;;;;N;;;;; 1D565;MATHEMATICAL DOUBLE-STRUCK SMALL T;Ll;0;L; 0074;;;;N;;;;; 1D566;MATHEMATICAL DOUBLE-STRUCK SMALL U;Ll;0;L; 0075;;;;N;;;;; 1D567;MATHEMATICAL DOUBLE-STRUCK SMALL V;Ll;0;L; 0076;;;;N;;;;; 1D568;MATHEMATICAL DOUBLE-STRUCK SMALL W;Ll;0;L; 0077;;;;N;;;;; 1D569;MATHEMATICAL DOUBLE-STRUCK SMALL X;Ll;0;L; 0078;;;;N;;;;; 1D56A;MATHEMATICAL DOUBLE-STRUCK SMALL Y;Ll;0;L; 0079;;;;N;;;;; 1D56B;MATHEMATICAL DOUBLE-STRUCK SMALL Z;Ll;0;L; 007A;;;;N;;;;; 1D56C;MATHEMATICAL BOLD FRAKTUR CAPITAL A;Lu;0;L; 0041;;;;N;;;;; 1D56D;MATHEMATICAL BOLD FRAKTUR CAPITAL B;Lu;0;L; 0042;;;;N;;;;; 1D56E;MATHEMATICAL BOLD FRAKTUR CAPITAL C;Lu;0;L; 0043;;;;N;;;;; 1D56F;MATHEMATICAL BOLD FRAKTUR CAPITAL D;Lu;0;L; 0044;;;;N;;;;; 1D570;MATHEMATICAL BOLD FRAKTUR CAPITAL E;Lu;0;L; 0045;;;;N;;;;; 1D571;MATHEMATICAL BOLD FRAKTUR CAPITAL F;Lu;0;L; 0046;;;;N;;;;; 1D572;MATHEMATICAL BOLD FRAKTUR CAPITAL G;Lu;0;L; 0047;;;;N;;;;; 1D573;MATHEMATICAL BOLD FRAKTUR CAPITAL H;Lu;0;L; 0048;;;;N;;;;; 1D574;MATHEMATICAL BOLD FRAKTUR CAPITAL I;Lu;0;L; 0049;;;;N;;;;; 1D575;MATHEMATICAL BOLD FRAKTUR CAPITAL J;Lu;0;L; 004A;;;;N;;;;; 1D576;MATHEMATICAL BOLD FRAKTUR CAPITAL K;Lu;0;L; 004B;;;;N;;;;; 1D577;MATHEMATICAL BOLD FRAKTUR CAPITAL L;Lu;0;L; 004C;;;;N;;;;; 1D578;MATHEMATICAL BOLD FRAKTUR CAPITAL M;Lu;0;L; 004D;;;;N;;;;; 1D579;MATHEMATICAL BOLD FRAKTUR CAPITAL N;Lu;0;L; 004E;;;;N;;;;; 1D57A;MATHEMATICAL BOLD FRAKTUR CAPITAL O;Lu;0;L; 004F;;;;N;;;;; 1D57B;MATHEMATICAL BOLD FRAKTUR CAPITAL P;Lu;0;L; 0050;;;;N;;;;; 1D57C;MATHEMATICAL BOLD FRAKTUR CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; 1D57D;MATHEMATICAL BOLD FRAKTUR CAPITAL R;Lu;0;L; 0052;;;;N;;;;; 1D57E;MATHEMATICAL BOLD FRAKTUR CAPITAL S;Lu;0;L; 0053;;;;N;;;;; 1D57F;MATHEMATICAL BOLD FRAKTUR CAPITAL T;Lu;0;L; 0054;;;;N;;;;; 1D580;MATHEMATICAL BOLD FRAKTUR CAPITAL U;Lu;0;L; 0055;;;;N;;;;; 1D581;MATHEMATICAL BOLD FRAKTUR CAPITAL V;Lu;0;L; 0056;;;;N;;;;; 1D582;MATHEMATICAL BOLD FRAKTUR CAPITAL W;Lu;0;L; 0057;;;;N;;;;; 1D583;MATHEMATICAL BOLD FRAKTUR CAPITAL X;Lu;0;L; 0058;;;;N;;;;; 1D584;MATHEMATICAL BOLD FRAKTUR CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; 1D585;MATHEMATICAL BOLD FRAKTUR CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; 1D586;MATHEMATICAL BOLD FRAKTUR SMALL A;Ll;0;L; 0061;;;;N;;;;; 1D587;MATHEMATICAL BOLD FRAKTUR SMALL B;Ll;0;L; 0062;;;;N;;;;; 1D588;MATHEMATICAL BOLD FRAKTUR SMALL C;Ll;0;L; 0063;;;;N;;;;; 1D589;MATHEMATICAL BOLD FRAKTUR SMALL D;Ll;0;L; 0064;;;;N;;;;; 1D58A;MATHEMATICAL BOLD FRAKTUR SMALL E;Ll;0;L; 0065;;;;N;;;;; 1D58B;MATHEMATICAL BOLD FRAKTUR SMALL F;Ll;0;L; 0066;;;;N;;;;; 1D58C;MATHEMATICAL BOLD FRAKTUR SMALL G;Ll;0;L; 0067;;;;N;;;;; 1D58D;MATHEMATICAL BOLD FRAKTUR SMALL H;Ll;0;L; 0068;;;;N;;;;; 1D58E;MATHEMATICAL BOLD FRAKTUR SMALL I;Ll;0;L; 0069;;;;N;;;;; 1D58F;MATHEMATICAL BOLD FRAKTUR SMALL J;Ll;0;L; 006A;;;;N;;;;; 1D590;MATHEMATICAL BOLD FRAKTUR SMALL K;Ll;0;L; 006B;;;;N;;;;; 1D591;MATHEMATICAL BOLD FRAKTUR SMALL L;Ll;0;L; 006C;;;;N;;;;; 1D592;MATHEMATICAL BOLD FRAKTUR SMALL M;Ll;0;L; 006D;;;;N;;;;; 1D593;MATHEMATICAL BOLD FRAKTUR SMALL N;Ll;0;L; 006E;;;;N;;;;; 1D594;MATHEMATICAL BOLD FRAKTUR SMALL O;Ll;0;L; 006F;;;;N;;;;; 1D595;MATHEMATICAL BOLD FRAKTUR SMALL P;Ll;0;L; 0070;;;;N;;;;; 1D596;MATHEMATICAL BOLD FRAKTUR SMALL Q;Ll;0;L; 0071;;;;N;;;;; 1D597;MATHEMATICAL BOLD FRAKTUR SMALL R;Ll;0;L; 0072;;;;N;;;;; 1D598;MATHEMATICAL BOLD FRAKTUR SMALL S;Ll;0;L; 0073;;;;N;;;;; 1D599;MATHEMATICAL BOLD FRAKTUR SMALL T;Ll;0;L; 0074;;;;N;;;;; 1D59A;MATHEMATICAL BOLD FRAKTUR SMALL U;Ll;0;L; 0075;;;;N;;;;; 1D59B;MATHEMATICAL BOLD FRAKTUR SMALL V;Ll;0;L; 0076;;;;N;;;;; 1D59C;MATHEMATICAL BOLD FRAKTUR SMALL W;Ll;0;L; 0077;;;;N;;;;; 1D59D;MATHEMATICAL BOLD FRAKTUR SMALL X;Ll;0;L; 0078;;;;N;;;;; 1D59E;MATHEMATICAL BOLD FRAKTUR SMALL Y;Ll;0;L; 0079;;;;N;;;;; 1D59F;MATHEMATICAL BOLD FRAKTUR SMALL Z;Ll;0;L; 007A;;;;N;;;;; 1D5A0;MATHEMATICAL SANS-SERIF CAPITAL A;Lu;0;L; 0041;;;;N;;;;; 1D5A1;MATHEMATICAL SANS-SERIF CAPITAL B;Lu;0;L; 0042;;;;N;;;;; 1D5A2;MATHEMATICAL SANS-SERIF CAPITAL C;Lu;0;L; 0043;;;;N;;;;; 1D5A3;MATHEMATICAL SANS-SERIF CAPITAL D;Lu;0;L; 0044;;;;N;;;;; 1D5A4;MATHEMATICAL SANS-SERIF CAPITAL E;Lu;0;L; 0045;;;;N;;;;; 1D5A5;MATHEMATICAL SANS-SERIF CAPITAL F;Lu;0;L; 0046;;;;N;;;;; 1D5A6;MATHEMATICAL SANS-SERIF CAPITAL G;Lu;0;L; 0047;;;;N;;;;; 1D5A7;MATHEMATICAL SANS-SERIF CAPITAL H;Lu;0;L; 0048;;;;N;;;;; 1D5A8;MATHEMATICAL SANS-SERIF CAPITAL I;Lu;0;L; 0049;;;;N;;;;; 1D5A9;MATHEMATICAL SANS-SERIF CAPITAL J;Lu;0;L; 004A;;;;N;;;;; 1D5AA;MATHEMATICAL SANS-SERIF CAPITAL K;Lu;0;L; 004B;;;;N;;;;; 1D5AB;MATHEMATICAL SANS-SERIF CAPITAL L;Lu;0;L; 004C;;;;N;;;;; 1D5AC;MATHEMATICAL SANS-SERIF CAPITAL M;Lu;0;L; 004D;;;;N;;;;; 1D5AD;MATHEMATICAL SANS-SERIF CAPITAL N;Lu;0;L; 004E;;;;N;;;;; 1D5AE;MATHEMATICAL SANS-SERIF CAPITAL O;Lu;0;L; 004F;;;;N;;;;; 1D5AF;MATHEMATICAL SANS-SERIF CAPITAL P;Lu;0;L; 0050;;;;N;;;;; 1D5B0;MATHEMATICAL SANS-SERIF CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; 1D5B1;MATHEMATICAL SANS-SERIF CAPITAL R;Lu;0;L; 0052;;;;N;;;;; 1D5B2;MATHEMATICAL SANS-SERIF CAPITAL S;Lu;0;L; 0053;;;;N;;;;; 1D5B3;MATHEMATICAL SANS-SERIF CAPITAL T;Lu;0;L; 0054;;;;N;;;;; 1D5B4;MATHEMATICAL SANS-SERIF CAPITAL U;Lu;0;L; 0055;;;;N;;;;; 1D5B5;MATHEMATICAL SANS-SERIF CAPITAL V;Lu;0;L; 0056;;;;N;;;;; 1D5B6;MATHEMATICAL SANS-SERIF CAPITAL W;Lu;0;L; 0057;;;;N;;;;; 1D5B7;MATHEMATICAL SANS-SERIF CAPITAL X;Lu;0;L; 0058;;;;N;;;;; 1D5B8;MATHEMATICAL SANS-SERIF CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; 1D5B9;MATHEMATICAL SANS-SERIF CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; 1D5BA;MATHEMATICAL SANS-SERIF SMALL A;Ll;0;L; 0061;;;;N;;;;; 1D5BB;MATHEMATICAL SANS-SERIF SMALL B;Ll;0;L; 0062;;;;N;;;;; 1D5BC;MATHEMATICAL SANS-SERIF SMALL C;Ll;0;L; 0063;;;;N;;;;; 1D5BD;MATHEMATICAL SANS-SERIF SMALL D;Ll;0;L; 0064;;;;N;;;;; 1D5BE;MATHEMATICAL SANS-SERIF SMALL E;Ll;0;L; 0065;;;;N;;;;; 1D5BF;MATHEMATICAL SANS-SERIF SMALL F;Ll;0;L; 0066;;;;N;;;;; 1D5C0;MATHEMATICAL SANS-SERIF SMALL G;Ll;0;L; 0067;;;;N;;;;; 1D5C1;MATHEMATICAL SANS-SERIF SMALL H;Ll;0;L; 0068;;;;N;;;;; 1D5C2;MATHEMATICAL SANS-SERIF SMALL I;Ll;0;L; 0069;;;;N;;;;; 1D5C3;MATHEMATICAL SANS-SERIF SMALL J;Ll;0;L; 006A;;;;N;;;;; 1D5C4;MATHEMATICAL SANS-SERIF SMALL K;Ll;0;L; 006B;;;;N;;;;; 1D5C5;MATHEMATICAL SANS-SERIF SMALL L;Ll;0;L; 006C;;;;N;;;;; 1D5C6;MATHEMATICAL SANS-SERIF SMALL M;Ll;0;L; 006D;;;;N;;;;; 1D5C7;MATHEMATICAL SANS-SERIF SMALL N;Ll;0;L; 006E;;;;N;;;;; 1D5C8;MATHEMATICAL SANS-SERIF SMALL O;Ll;0;L; 006F;;;;N;;;;; 1D5C9;MATHEMATICAL SANS-SERIF SMALL P;Ll;0;L; 0070;;;;N;;;;; 1D5CA;MATHEMATICAL SANS-SERIF SMALL Q;Ll;0;L; 0071;;;;N;;;;; 1D5CB;MATHEMATICAL SANS-SERIF SMALL R;Ll;0;L; 0072;;;;N;;;;; 1D5CC;MATHEMATICAL SANS-SERIF SMALL S;Ll;0;L; 0073;;;;N;;;;; 1D5CD;MATHEMATICAL SANS-SERIF SMALL T;Ll;0;L; 0074;;;;N;;;;; 1D5CE;MATHEMATICAL SANS-SERIF SMALL U;Ll;0;L; 0075;;;;N;;;;; 1D5CF;MATHEMATICAL SANS-SERIF SMALL V;Ll;0;L; 0076;;;;N;;;;; 1D5D0;MATHEMATICAL SANS-SERIF SMALL W;Ll;0;L; 0077;;;;N;;;;; 1D5D1;MATHEMATICAL SANS-SERIF SMALL X;Ll;0;L; 0078;;;;N;;;;; 1D5D2;MATHEMATICAL SANS-SERIF SMALL Y;Ll;0;L; 0079;;;;N;;;;; 1D5D3;MATHEMATICAL SANS-SERIF SMALL Z;Ll;0;L; 007A;;;;N;;;;; 1D5D4;MATHEMATICAL SANS-SERIF BOLD CAPITAL A;Lu;0;L; 0041;;;;N;;;;; 1D5D5;MATHEMATICAL SANS-SERIF BOLD CAPITAL B;Lu;0;L; 0042;;;;N;;;;; 1D5D6;MATHEMATICAL SANS-SERIF BOLD CAPITAL C;Lu;0;L; 0043;;;;N;;;;; 1D5D7;MATHEMATICAL SANS-SERIF BOLD CAPITAL D;Lu;0;L; 0044;;;;N;;;;; 1D5D8;MATHEMATICAL SANS-SERIF BOLD CAPITAL E;Lu;0;L; 0045;;;;N;;;;; 1D5D9;MATHEMATICAL SANS-SERIF BOLD CAPITAL F;Lu;0;L; 0046;;;;N;;;;; 1D5DA;MATHEMATICAL SANS-SERIF BOLD CAPITAL G;Lu;0;L; 0047;;;;N;;;;; 1D5DB;MATHEMATICAL SANS-SERIF BOLD CAPITAL H;Lu;0;L; 0048;;;;N;;;;; 1D5DC;MATHEMATICAL SANS-SERIF BOLD CAPITAL I;Lu;0;L; 0049;;;;N;;;;; 1D5DD;MATHEMATICAL SANS-SERIF BOLD CAPITAL J;Lu;0;L; 004A;;;;N;;;;; 1D5DE;MATHEMATICAL SANS-SERIF BOLD CAPITAL K;Lu;0;L; 004B;;;;N;;;;; 1D5DF;MATHEMATICAL SANS-SERIF BOLD CAPITAL L;Lu;0;L; 004C;;;;N;;;;; 1D5E0;MATHEMATICAL SANS-SERIF BOLD CAPITAL M;Lu;0;L; 004D;;;;N;;;;; 1D5E1;MATHEMATICAL SANS-SERIF BOLD CAPITAL N;Lu;0;L; 004E;;;;N;;;;; 1D5E2;MATHEMATICAL SANS-SERIF BOLD CAPITAL O;Lu;0;L; 004F;;;;N;;;;; 1D5E3;MATHEMATICAL SANS-SERIF BOLD CAPITAL P;Lu;0;L; 0050;;;;N;;;;; 1D5E4;MATHEMATICAL SANS-SERIF BOLD CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; 1D5E5;MATHEMATICAL SANS-SERIF BOLD CAPITAL R;Lu;0;L; 0052;;;;N;;;;; 1D5E6;MATHEMATICAL SANS-SERIF BOLD CAPITAL S;Lu;0;L; 0053;;;;N;;;;; 1D5E7;MATHEMATICAL SANS-SERIF BOLD CAPITAL T;Lu;0;L; 0054;;;;N;;;;; 1D5E8;MATHEMATICAL SANS-SERIF BOLD CAPITAL U;Lu;0;L; 0055;;;;N;;;;; 1D5E9;MATHEMATICAL SANS-SERIF BOLD CAPITAL V;Lu;0;L; 0056;;;;N;;;;; 1D5EA;MATHEMATICAL SANS-SERIF BOLD CAPITAL W;Lu;0;L; 0057;;;;N;;;;; 1D5EB;MATHEMATICAL SANS-SERIF BOLD CAPITAL X;Lu;0;L; 0058;;;;N;;;;; 1D5EC;MATHEMATICAL SANS-SERIF BOLD CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; 1D5ED;MATHEMATICAL SANS-SERIF BOLD CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; 1D5EE;MATHEMATICAL SANS-SERIF BOLD SMALL A;Ll;0;L; 0061;;;;N;;;;; 1D5EF;MATHEMATICAL SANS-SERIF BOLD SMALL B;Ll;0;L; 0062;;;;N;;;;; 1D5F0;MATHEMATICAL SANS-SERIF BOLD SMALL C;Ll;0;L; 0063;;;;N;;;;; 1D5F1;MATHEMATICAL SANS-SERIF BOLD SMALL D;Ll;0;L; 0064;;;;N;;;;; 1D5F2;MATHEMATICAL SANS-SERIF BOLD SMALL E;Ll;0;L; 0065;;;;N;;;;; 1D5F3;MATHEMATICAL SANS-SERIF BOLD SMALL F;Ll;0;L; 0066;;;;N;;;;; 1D5F4;MATHEMATICAL SANS-SERIF BOLD SMALL G;Ll;0;L; 0067;;;;N;;;;; 1D5F5;MATHEMATICAL SANS-SERIF BOLD SMALL H;Ll;0;L; 0068;;;;N;;;;; 1D5F6;MATHEMATICAL SANS-SERIF BOLD SMALL I;Ll;0;L; 0069;;;;N;;;;; 1D5F7;MATHEMATICAL SANS-SERIF BOLD SMALL J;Ll;0;L; 006A;;;;N;;;;; 1D5F8;MATHEMATICAL SANS-SERIF BOLD SMALL K;Ll;0;L; 006B;;;;N;;;;; 1D5F9;MATHEMATICAL SANS-SERIF BOLD SMALL L;Ll;0;L; 006C;;;;N;;;;; 1D5FA;MATHEMATICAL SANS-SERIF BOLD SMALL M;Ll;0;L; 006D;;;;N;;;;; 1D5FB;MATHEMATICAL SANS-SERIF BOLD SMALL N;Ll;0;L; 006E;;;;N;;;;; 1D5FC;MATHEMATICAL SANS-SERIF BOLD SMALL O;Ll;0;L; 006F;;;;N;;;;; 1D5FD;MATHEMATICAL SANS-SERIF BOLD SMALL P;Ll;0;L; 0070;;;;N;;;;; 1D5FE;MATHEMATICAL SANS-SERIF BOLD SMALL Q;Ll;0;L; 0071;;;;N;;;;; 1D5FF;MATHEMATICAL SANS-SERIF BOLD SMALL R;Ll;0;L; 0072;;;;N;;;;; 1D600;MATHEMATICAL SANS-SERIF BOLD SMALL S;Ll;0;L; 0073;;;;N;;;;; 1D601;MATHEMATICAL SANS-SERIF BOLD SMALL T;Ll;0;L; 0074;;;;N;;;;; 1D602;MATHEMATICAL SANS-SERIF BOLD SMALL U;Ll;0;L; 0075;;;;N;;;;; 1D603;MATHEMATICAL SANS-SERIF BOLD SMALL V;Ll;0;L; 0076;;;;N;;;;; 1D604;MATHEMATICAL SANS-SERIF BOLD SMALL W;Ll;0;L; 0077;;;;N;;;;; 1D605;MATHEMATICAL SANS-SERIF BOLD SMALL X;Ll;0;L; 0078;;;;N;;;;; 1D606;MATHEMATICAL SANS-SERIF BOLD SMALL Y;Ll;0;L; 0079;;;;N;;;;; 1D607;MATHEMATICAL SANS-SERIF BOLD SMALL Z;Ll;0;L; 007A;;;;N;;;;; 1D608;MATHEMATICAL SANS-SERIF ITALIC CAPITAL A;Lu;0;L; 0041;;;;N;;;;; 1D609;MATHEMATICAL SANS-SERIF ITALIC CAPITAL B;Lu;0;L; 0042;;;;N;;;;; 1D60A;MATHEMATICAL SANS-SERIF ITALIC CAPITAL C;Lu;0;L; 0043;;;;N;;;;; 1D60B;MATHEMATICAL SANS-SERIF ITALIC CAPITAL D;Lu;0;L; 0044;;;;N;;;;; 1D60C;MATHEMATICAL SANS-SERIF ITALIC CAPITAL E;Lu;0;L; 0045;;;;N;;;;; 1D60D;MATHEMATICAL SANS-SERIF ITALIC CAPITAL F;Lu;0;L; 0046;;;;N;;;;; 1D60E;MATHEMATICAL SANS-SERIF ITALIC CAPITAL G;Lu;0;L; 0047;;;;N;;;;; 1D60F;MATHEMATICAL SANS-SERIF ITALIC CAPITAL H;Lu;0;L; 0048;;;;N;;;;; 1D610;MATHEMATICAL SANS-SERIF ITALIC CAPITAL I;Lu;0;L; 0049;;;;N;;;;; 1D611;MATHEMATICAL SANS-SERIF ITALIC CAPITAL J;Lu;0;L; 004A;;;;N;;;;; 1D612;MATHEMATICAL SANS-SERIF ITALIC CAPITAL K;Lu;0;L; 004B;;;;N;;;;; 1D613;MATHEMATICAL SANS-SERIF ITALIC CAPITAL L;Lu;0;L; 004C;;;;N;;;;; 1D614;MATHEMATICAL SANS-SERIF ITALIC CAPITAL M;Lu;0;L; 004D;;;;N;;;;; 1D615;MATHEMATICAL SANS-SERIF ITALIC CAPITAL N;Lu;0;L; 004E;;;;N;;;;; 1D616;MATHEMATICAL SANS-SERIF ITALIC CAPITAL O;Lu;0;L; 004F;;;;N;;;;; 1D617;MATHEMATICAL SANS-SERIF ITALIC CAPITAL P;Lu;0;L; 0050;;;;N;;;;; 1D618;MATHEMATICAL SANS-SERIF ITALIC CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; 1D619;MATHEMATICAL SANS-SERIF ITALIC CAPITAL R;Lu;0;L; 0052;;;;N;;;;; 1D61A;MATHEMATICAL SANS-SERIF ITALIC CAPITAL S;Lu;0;L; 0053;;;;N;;;;; 1D61B;MATHEMATICAL SANS-SERIF ITALIC CAPITAL T;Lu;0;L; 0054;;;;N;;;;; 1D61C;MATHEMATICAL SANS-SERIF ITALIC CAPITAL U;Lu;0;L; 0055;;;;N;;;;; 1D61D;MATHEMATICAL SANS-SERIF ITALIC CAPITAL V;Lu;0;L; 0056;;;;N;;;;; 1D61E;MATHEMATICAL SANS-SERIF ITALIC CAPITAL W;Lu;0;L; 0057;;;;N;;;;; 1D61F;MATHEMATICAL SANS-SERIF ITALIC CAPITAL X;Lu;0;L; 0058;;;;N;;;;; 1D620;MATHEMATICAL SANS-SERIF ITALIC CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; 1D621;MATHEMATICAL SANS-SERIF ITALIC CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; 1D622;MATHEMATICAL SANS-SERIF ITALIC SMALL A;Ll;0;L; 0061;;;;N;;;;; 1D623;MATHEMATICAL SANS-SERIF ITALIC SMALL B;Ll;0;L; 0062;;;;N;;;;; 1D624;MATHEMATICAL SANS-SERIF ITALIC SMALL C;Ll;0;L; 0063;;;;N;;;;; 1D625;MATHEMATICAL SANS-SERIF ITALIC SMALL D;Ll;0;L; 0064;;;;N;;;;; 1D626;MATHEMATICAL SANS-SERIF ITALIC SMALL E;Ll;0;L; 0065;;;;N;;;;; 1D627;MATHEMATICAL SANS-SERIF ITALIC SMALL F;Ll;0;L; 0066;;;;N;;;;; 1D628;MATHEMATICAL SANS-SERIF ITALIC SMALL G;Ll;0;L; 0067;;;;N;;;;; 1D629;MATHEMATICAL SANS-SERIF ITALIC SMALL H;Ll;0;L; 0068;;;;N;;;;; 1D62A;MATHEMATICAL SANS-SERIF ITALIC SMALL I;Ll;0;L; 0069;;;;N;;;;; 1D62B;MATHEMATICAL SANS-SERIF ITALIC SMALL J;Ll;0;L; 006A;;;;N;;;;; 1D62C;MATHEMATICAL SANS-SERIF ITALIC SMALL K;Ll;0;L; 006B;;;;N;;;;; 1D62D;MATHEMATICAL SANS-SERIF ITALIC SMALL L;Ll;0;L; 006C;;;;N;;;;; 1D62E;MATHEMATICAL SANS-SERIF ITALIC SMALL M;Ll;0;L; 006D;;;;N;;;;; 1D62F;MATHEMATICAL SANS-SERIF ITALIC SMALL N;Ll;0;L; 006E;;;;N;;;;; 1D630;MATHEMATICAL SANS-SERIF ITALIC SMALL O;Ll;0;L; 006F;;;;N;;;;; 1D631;MATHEMATICAL SANS-SERIF ITALIC SMALL P;Ll;0;L; 0070;;;;N;;;;; 1D632;MATHEMATICAL SANS-SERIF ITALIC SMALL Q;Ll;0;L; 0071;;;;N;;;;; 1D633;MATHEMATICAL SANS-SERIF ITALIC SMALL R;Ll;0;L; 0072;;;;N;;;;; 1D634;MATHEMATICAL SANS-SERIF ITALIC SMALL S;Ll;0;L; 0073;;;;N;;;;; 1D635;MATHEMATICAL SANS-SERIF ITALIC SMALL T;Ll;0;L; 0074;;;;N;;;;; 1D636;MATHEMATICAL SANS-SERIF ITALIC SMALL U;Ll;0;L; 0075;;;;N;;;;; 1D637;MATHEMATICAL SANS-SERIF ITALIC SMALL V;Ll;0;L; 0076;;;;N;;;;; 1D638;MATHEMATICAL SANS-SERIF ITALIC SMALL W;Ll;0;L; 0077;;;;N;;;;; 1D639;MATHEMATICAL SANS-SERIF ITALIC SMALL X;Ll;0;L; 0078;;;;N;;;;; 1D63A;MATHEMATICAL SANS-SERIF ITALIC SMALL Y;Ll;0;L; 0079;;;;N;;;;; 1D63B;MATHEMATICAL SANS-SERIF ITALIC SMALL Z;Ll;0;L; 007A;;;;N;;;;; 1D63C;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL A;Lu;0;L; 0041;;;;N;;;;; 1D63D;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL B;Lu;0;L; 0042;;;;N;;;;; 1D63E;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL C;Lu;0;L; 0043;;;;N;;;;; 1D63F;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL D;Lu;0;L; 0044;;;;N;;;;; 1D640;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL E;Lu;0;L; 0045;;;;N;;;;; 1D641;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL F;Lu;0;L; 0046;;;;N;;;;; 1D642;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL G;Lu;0;L; 0047;;;;N;;;;; 1D643;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL H;Lu;0;L; 0048;;;;N;;;;; 1D644;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL I;Lu;0;L; 0049;;;;N;;;;; 1D645;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL J;Lu;0;L; 004A;;;;N;;;;; 1D646;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL K;Lu;0;L; 004B;;;;N;;;;; 1D647;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL L;Lu;0;L; 004C;;;;N;;;;; 1D648;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL M;Lu;0;L; 004D;;;;N;;;;; 1D649;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL N;Lu;0;L; 004E;;;;N;;;;; 1D64A;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL O;Lu;0;L; 004F;;;;N;;;;; 1D64B;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL P;Lu;0;L; 0050;;;;N;;;;; 1D64C;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; 1D64D;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL R;Lu;0;L; 0052;;;;N;;;;; 1D64E;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL S;Lu;0;L; 0053;;;;N;;;;; 1D64F;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL T;Lu;0;L; 0054;;;;N;;;;; 1D650;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL U;Lu;0;L; 0055;;;;N;;;;; 1D651;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL V;Lu;0;L; 0056;;;;N;;;;; 1D652;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL W;Lu;0;L; 0057;;;;N;;;;; 1D653;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL X;Lu;0;L; 0058;;;;N;;;;; 1D654;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; 1D655;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; 1D656;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A;Ll;0;L; 0061;;;;N;;;;; 1D657;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL B;Ll;0;L; 0062;;;;N;;;;; 1D658;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL C;Ll;0;L; 0063;;;;N;;;;; 1D659;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D;Ll;0;L; 0064;;;;N;;;;; 1D65A;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL E;Ll;0;L; 0065;;;;N;;;;; 1D65B;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL F;Ll;0;L; 0066;;;;N;;;;; 1D65C;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL G;Ll;0;L; 0067;;;;N;;;;; 1D65D;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL H;Ll;0;L; 0068;;;;N;;;;; 1D65E;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I;Ll;0;L; 0069;;;;N;;;;; 1D65F;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J;Ll;0;L; 006A;;;;N;;;;; 1D660;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL K;Ll;0;L; 006B;;;;N;;;;; 1D661;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL L;Ll;0;L; 006C;;;;N;;;;; 1D662;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL M;Ll;0;L; 006D;;;;N;;;;; 1D663;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL N;Ll;0;L; 006E;;;;N;;;;; 1D664;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL O;Ll;0;L; 006F;;;;N;;;;; 1D665;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL P;Ll;0;L; 0070;;;;N;;;;; 1D666;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Q;Ll;0;L; 0071;;;;N;;;;; 1D667;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL R;Ll;0;L; 0072;;;;N;;;;; 1D668;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL S;Ll;0;L; 0073;;;;N;;;;; 1D669;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL T;Ll;0;L; 0074;;;;N;;;;; 1D66A;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL U;Ll;0;L; 0075;;;;N;;;;; 1D66B;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL V;Ll;0;L; 0076;;;;N;;;;; 1D66C;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL W;Ll;0;L; 0077;;;;N;;;;; 1D66D;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL X;Ll;0;L; 0078;;;;N;;;;; 1D66E;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Y;Ll;0;L; 0079;;;;N;;;;; 1D66F;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z;Ll;0;L; 007A;;;;N;;;;; 1D670;MATHEMATICAL MONOSPACE CAPITAL A;Lu;0;L; 0041;;;;N;;;;; 1D671;MATHEMATICAL MONOSPACE CAPITAL B;Lu;0;L; 0042;;;;N;;;;; 1D672;MATHEMATICAL MONOSPACE CAPITAL C;Lu;0;L; 0043;;;;N;;;;; 1D673;MATHEMATICAL MONOSPACE CAPITAL D;Lu;0;L; 0044;;;;N;;;;; 1D674;MATHEMATICAL MONOSPACE CAPITAL E;Lu;0;L; 0045;;;;N;;;;; 1D675;MATHEMATICAL MONOSPACE CAPITAL F;Lu;0;L; 0046;;;;N;;;;; 1D676;MATHEMATICAL MONOSPACE CAPITAL G;Lu;0;L; 0047;;;;N;;;;; 1D677;MATHEMATICAL MONOSPACE CAPITAL H;Lu;0;L; 0048;;;;N;;;;; 1D678;MATHEMATICAL MONOSPACE CAPITAL I;Lu;0;L; 0049;;;;N;;;;; 1D679;MATHEMATICAL MONOSPACE CAPITAL J;Lu;0;L; 004A;;;;N;;;;; 1D67A;MATHEMATICAL MONOSPACE CAPITAL K;Lu;0;L; 004B;;;;N;;;;; 1D67B;MATHEMATICAL MONOSPACE CAPITAL L;Lu;0;L; 004C;;;;N;;;;; 1D67C;MATHEMATICAL MONOSPACE CAPITAL M;Lu;0;L; 004D;;;;N;;;;; 1D67D;MATHEMATICAL MONOSPACE CAPITAL N;Lu;0;L; 004E;;;;N;;;;; 1D67E;MATHEMATICAL MONOSPACE CAPITAL O;Lu;0;L; 004F;;;;N;;;;; 1D67F;MATHEMATICAL MONOSPACE CAPITAL P;Lu;0;L; 0050;;;;N;;;;; 1D680;MATHEMATICAL MONOSPACE CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; 1D681;MATHEMATICAL MONOSPACE CAPITAL R;Lu;0;L; 0052;;;;N;;;;; 1D682;MATHEMATICAL MONOSPACE CAPITAL S;Lu;0;L; 0053;;;;N;;;;; 1D683;MATHEMATICAL MONOSPACE CAPITAL T;Lu;0;L; 0054;;;;N;;;;; 1D684;MATHEMATICAL MONOSPACE CAPITAL U;Lu;0;L; 0055;;;;N;;;;; 1D685;MATHEMATICAL MONOSPACE CAPITAL V;Lu;0;L; 0056;;;;N;;;;; 1D686;MATHEMATICAL MONOSPACE CAPITAL W;Lu;0;L; 0057;;;;N;;;;; 1D687;MATHEMATICAL MONOSPACE CAPITAL X;Lu;0;L; 0058;;;;N;;;;; 1D688;MATHEMATICAL MONOSPACE CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; 1D689;MATHEMATICAL MONOSPACE CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; 1D68A;MATHEMATICAL MONOSPACE SMALL A;Ll;0;L; 0061;;;;N;;;;; 1D68B;MATHEMATICAL MONOSPACE SMALL B;Ll;0;L; 0062;;;;N;;;;; 1D68C;MATHEMATICAL MONOSPACE SMALL C;Ll;0;L; 0063;;;;N;;;;; 1D68D;MATHEMATICAL MONOSPACE SMALL D;Ll;0;L; 0064;;;;N;;;;; 1D68E;MATHEMATICAL MONOSPACE SMALL E;Ll;0;L; 0065;;;;N;;;;; 1D68F;MATHEMATICAL MONOSPACE SMALL F;Ll;0;L; 0066;;;;N;;;;; 1D690;MATHEMATICAL MONOSPACE SMALL G;Ll;0;L; 0067;;;;N;;;;; 1D691;MATHEMATICAL MONOSPACE SMALL H;Ll;0;L; 0068;;;;N;;;;; 1D692;MATHEMATICAL MONOSPACE SMALL I;Ll;0;L; 0069;;;;N;;;;; 1D693;MATHEMATICAL MONOSPACE SMALL J;Ll;0;L; 006A;;;;N;;;;; 1D694;MATHEMATICAL MONOSPACE SMALL K;Ll;0;L; 006B;;;;N;;;;; 1D695;MATHEMATICAL MONOSPACE SMALL L;Ll;0;L; 006C;;;;N;;;;; 1D696;MATHEMATICAL MONOSPACE SMALL M;Ll;0;L; 006D;;;;N;;;;; 1D697;MATHEMATICAL MONOSPACE SMALL N;Ll;0;L; 006E;;;;N;;;;; 1D698;MATHEMATICAL MONOSPACE SMALL O;Ll;0;L; 006F;;;;N;;;;; 1D699;MATHEMATICAL MONOSPACE SMALL P;Ll;0;L; 0070;;;;N;;;;; 1D69A;MATHEMATICAL MONOSPACE SMALL Q;Ll;0;L; 0071;;;;N;;;;; 1D69B;MATHEMATICAL MONOSPACE SMALL R;Ll;0;L; 0072;;;;N;;;;; 1D69C;MATHEMATICAL MONOSPACE SMALL S;Ll;0;L; 0073;;;;N;;;;; 1D69D;MATHEMATICAL MONOSPACE SMALL T;Ll;0;L; 0074;;;;N;;;;; 1D69E;MATHEMATICAL MONOSPACE SMALL U;Ll;0;L; 0075;;;;N;;;;; 1D69F;MATHEMATICAL MONOSPACE SMALL V;Ll;0;L; 0076;;;;N;;;;; 1D6A0;MATHEMATICAL MONOSPACE SMALL W;Ll;0;L; 0077;;;;N;;;;; 1D6A1;MATHEMATICAL MONOSPACE SMALL X;Ll;0;L; 0078;;;;N;;;;; 1D6A2;MATHEMATICAL MONOSPACE SMALL Y;Ll;0;L; 0079;;;;N;;;;; 1D6A3;MATHEMATICAL MONOSPACE SMALL Z;Ll;0;L; 007A;;;;N;;;;; 1D6A8;MATHEMATICAL BOLD CAPITAL ALPHA;Lu;0;L; 0391;;;;N;;;;; 1D6A9;MATHEMATICAL BOLD CAPITAL BETA;Lu;0;L; 0392;;;;N;;;;; 1D6AA;MATHEMATICAL BOLD CAPITAL GAMMA;Lu;0;L; 0393;;;;N;;;;; 1D6AB;MATHEMATICAL BOLD CAPITAL DELTA;Lu;0;L; 0394;;;;N;;;;; 1D6AC;MATHEMATICAL BOLD CAPITAL EPSILON;Lu;0;L; 0395;;;;N;;;;; 1D6AD;MATHEMATICAL BOLD CAPITAL ZETA;Lu;0;L; 0396;;;;N;;;;; 1D6AE;MATHEMATICAL BOLD CAPITAL ETA;Lu;0;L; 0397;;;;N;;;;; 1D6AF;MATHEMATICAL BOLD CAPITAL THETA;Lu;0;L; 0398;;;;N;;;;; 1D6B0;MATHEMATICAL BOLD CAPITAL IOTA;Lu;0;L; 0399;;;;N;;;;; 1D6B1;MATHEMATICAL BOLD CAPITAL KAPPA;Lu;0;L; 039A;;;;N;;;;; 1D6B2;MATHEMATICAL BOLD CAPITAL LAMDA;Lu;0;L; 039B;;;;N;;;;; 1D6B3;MATHEMATICAL BOLD CAPITAL MU;Lu;0;L; 039C;;;;N;;;;; 1D6B4;MATHEMATICAL BOLD CAPITAL NU;Lu;0;L; 039D;;;;N;;;;; 1D6B5;MATHEMATICAL BOLD CAPITAL XI;Lu;0;L; 039E;;;;N;;;;; 1D6B6;MATHEMATICAL BOLD CAPITAL OMICRON;Lu;0;L; 039F;;;;N;;;;; 1D6B7;MATHEMATICAL BOLD CAPITAL PI;Lu;0;L; 03A0;;;;N;;;;; 1D6B8;MATHEMATICAL BOLD CAPITAL RHO;Lu;0;L; 03A1;;;;N;;;;; 1D6B9;MATHEMATICAL BOLD CAPITAL THETA SYMBOL;Lu;0;L; 03F4;;;;N;;;;; 1D6BA;MATHEMATICAL BOLD CAPITAL SIGMA;Lu;0;L; 03A3;;;;N;;;;; 1D6BB;MATHEMATICAL BOLD CAPITAL TAU;Lu;0;L; 03A4;;;;N;;;;; 1D6BC;MATHEMATICAL BOLD CAPITAL UPSILON;Lu;0;L; 03A5;;;;N;;;;; 1D6BD;MATHEMATICAL BOLD CAPITAL PHI;Lu;0;L; 03A6;;;;N;;;;; 1D6BE;MATHEMATICAL BOLD CAPITAL CHI;Lu;0;L; 03A7;;;;N;;;;; 1D6BF;MATHEMATICAL BOLD CAPITAL PSI;Lu;0;L; 03A8;;;;N;;;;; 1D6C0;MATHEMATICAL BOLD CAPITAL OMEGA;Lu;0;L; 03A9;;;;N;;;;; 1D6C1;MATHEMATICAL BOLD NABLA;Sm;0;L; 2207;;;;N;;;;; 1D6C2;MATHEMATICAL BOLD SMALL ALPHA;Ll;0;L; 03B1;;;;N;;;;; 1D6C3;MATHEMATICAL BOLD SMALL BETA;Ll;0;L; 03B2;;;;N;;;;; 1D6C4;MATHEMATICAL BOLD SMALL GAMMA;Ll;0;L; 03B3;;;;N;;;;; 1D6C5;MATHEMATICAL BOLD SMALL DELTA;Ll;0;L; 03B4;;;;N;;;;; 1D6C6;MATHEMATICAL BOLD SMALL EPSILON;Ll;0;L; 03B5;;;;N;;;;; 1D6C7;MATHEMATICAL BOLD SMALL ZETA;Ll;0;L; 03B6;;;;N;;;;; 1D6C8;MATHEMATICAL BOLD SMALL ETA;Ll;0;L; 03B7;;;;N;;;;; 1D6C9;MATHEMATICAL BOLD SMALL THETA;Ll;0;L; 03B8;;;;N;;;;; 1D6CA;MATHEMATICAL BOLD SMALL IOTA;Ll;0;L; 03B9;;;;N;;;;; 1D6CB;MATHEMATICAL BOLD SMALL KAPPA;Ll;0;L; 03BA;;;;N;;;;; 1D6CC;MATHEMATICAL BOLD SMALL LAMDA;Ll;0;L; 03BB;;;;N;;;;; 1D6CD;MATHEMATICAL BOLD SMALL MU;Ll;0;L; 03BC;;;;N;;;;; 1D6CE;MATHEMATICAL BOLD SMALL NU;Ll;0;L; 03BD;;;;N;;;;; 1D6CF;MATHEMATICAL BOLD SMALL XI;Ll;0;L; 03BE;;;;N;;;;; 1D6D0;MATHEMATICAL BOLD SMALL OMICRON;Ll;0;L; 03BF;;;;N;;;;; 1D6D1;MATHEMATICAL BOLD SMALL PI;Ll;0;L; 03C0;;;;N;;;;; 1D6D2;MATHEMATICAL BOLD SMALL RHO;Ll;0;L; 03C1;;;;N;;;;; 1D6D3;MATHEMATICAL BOLD SMALL FINAL SIGMA;Ll;0;L; 03C2;;;;N;;;;; 1D6D4;MATHEMATICAL BOLD SMALL SIGMA;Ll;0;L; 03C3;;;;N;;;;; 1D6D5;MATHEMATICAL BOLD SMALL TAU;Ll;0;L; 03C4;;;;N;;;;; 1D6D6;MATHEMATICAL BOLD SMALL UPSILON;Ll;0;L; 03C5;;;;N;;;;; 1D6D7;MATHEMATICAL BOLD SMALL PHI;Ll;0;L; 03C6;;;;N;;;;; 1D6D8;MATHEMATICAL BOLD SMALL CHI;Ll;0;L; 03C7;;;;N;;;;; 1D6D9;MATHEMATICAL BOLD SMALL PSI;Ll;0;L; 03C8;;;;N;;;;; 1D6DA;MATHEMATICAL BOLD SMALL OMEGA;Ll;0;L; 03C9;;;;N;;;;; 1D6DB;MATHEMATICAL BOLD PARTIAL DIFFERENTIAL;Sm;0;L; 2202;;;;N;;;;; 1D6DC;MATHEMATICAL BOLD EPSILON SYMBOL;Ll;0;L; 03F5;;;;N;;;;; 1D6DD;MATHEMATICAL BOLD THETA SYMBOL;Ll;0;L; 03D1;;;;N;;;;; 1D6DE;MATHEMATICAL BOLD KAPPA SYMBOL;Ll;0;L; 03F0;;;;N;;;;; 1D6DF;MATHEMATICAL BOLD PHI SYMBOL;Ll;0;L; 03D5;;;;N;;;;; 1D6E0;MATHEMATICAL BOLD RHO SYMBOL;Ll;0;L; 03F1;;;;N;;;;; 1D6E1;MATHEMATICAL BOLD PI SYMBOL;Ll;0;L; 03D6;;;;N;;;;; 1D6E2;MATHEMATICAL ITALIC CAPITAL ALPHA;Lu;0;L; 0391;;;;N;;;;; 1D6E3;MATHEMATICAL ITALIC CAPITAL BETA;Lu;0;L; 0392;;;;N;;;;; 1D6E4;MATHEMATICAL ITALIC CAPITAL GAMMA;Lu;0;L; 0393;;;;N;;;;; 1D6E5;MATHEMATICAL ITALIC CAPITAL DELTA;Lu;0;L; 0394;;;;N;;;;; 1D6E6;MATHEMATICAL ITALIC CAPITAL EPSILON;Lu;0;L; 0395;;;;N;;;;; 1D6E7;MATHEMATICAL ITALIC CAPITAL ZETA;Lu;0;L; 0396;;;;N;;;;; 1D6E8;MATHEMATICAL ITALIC CAPITAL ETA;Lu;0;L; 0397;;;;N;;;;; 1D6E9;MATHEMATICAL ITALIC CAPITAL THETA;Lu;0;L; 0398;;;;N;;;;; 1D6EA;MATHEMATICAL ITALIC CAPITAL IOTA;Lu;0;L; 0399;;;;N;;;;; 1D6EB;MATHEMATICAL ITALIC CAPITAL KAPPA;Lu;0;L; 039A;;;;N;;;;; 1D6EC;MATHEMATICAL ITALIC CAPITAL LAMDA;Lu;0;L; 039B;;;;N;;;;; 1D6ED;MATHEMATICAL ITALIC CAPITAL MU;Lu;0;L; 039C;;;;N;;;;; 1D6EE;MATHEMATICAL ITALIC CAPITAL NU;Lu;0;L; 039D;;;;N;;;;; 1D6EF;MATHEMATICAL ITALIC CAPITAL XI;Lu;0;L; 039E;;;;N;;;;; 1D6F0;MATHEMATICAL ITALIC CAPITAL OMICRON;Lu;0;L; 039F;;;;N;;;;; 1D6F1;MATHEMATICAL ITALIC CAPITAL PI;Lu;0;L; 03A0;;;;N;;;;; 1D6F2;MATHEMATICAL ITALIC CAPITAL RHO;Lu;0;L; 03A1;;;;N;;;;; 1D6F3;MATHEMATICAL ITALIC CAPITAL THETA SYMBOL;Lu;0;L; 03F4;;;;N;;;;; 1D6F4;MATHEMATICAL ITALIC CAPITAL SIGMA;Lu;0;L; 03A3;;;;N;;;;; 1D6F5;MATHEMATICAL ITALIC CAPITAL TAU;Lu;0;L; 03A4;;;;N;;;;; 1D6F6;MATHEMATICAL ITALIC CAPITAL UPSILON;Lu;0;L; 03A5;;;;N;;;;; 1D6F7;MATHEMATICAL ITALIC CAPITAL PHI;Lu;0;L; 03A6;;;;N;;;;; 1D6F8;MATHEMATICAL ITALIC CAPITAL CHI;Lu;0;L; 03A7;;;;N;;;;; 1D6F9;MATHEMATICAL ITALIC CAPITAL PSI;Lu;0;L; 03A8;;;;N;;;;; 1D6FA;MATHEMATICAL ITALIC CAPITAL OMEGA;Lu;0;L; 03A9;;;;N;;;;; 1D6FB;MATHEMATICAL ITALIC NABLA;Sm;0;L; 2207;;;;N;;;;; 1D6FC;MATHEMATICAL ITALIC SMALL ALPHA;Ll;0;L; 03B1;;;;N;;;;; 1D6FD;MATHEMATICAL ITALIC SMALL BETA;Ll;0;L; 03B2;;;;N;;;;; 1D6FE;MATHEMATICAL ITALIC SMALL GAMMA;Ll;0;L; 03B3;;;;N;;;;; 1D6FF;MATHEMATICAL ITALIC SMALL DELTA;Ll;0;L; 03B4;;;;N;;;;; 1D700;MATHEMATICAL ITALIC SMALL EPSILON;Ll;0;L; 03B5;;;;N;;;;; 1D701;MATHEMATICAL ITALIC SMALL ZETA;Ll;0;L; 03B6;;;;N;;;;; 1D702;MATHEMATICAL ITALIC SMALL ETA;Ll;0;L; 03B7;;;;N;;;;; 1D703;MATHEMATICAL ITALIC SMALL THETA;Ll;0;L; 03B8;;;;N;;;;; 1D704;MATHEMATICAL ITALIC SMALL IOTA;Ll;0;L; 03B9;;;;N;;;;; 1D705;MATHEMATICAL ITALIC SMALL KAPPA;Ll;0;L; 03BA;;;;N;;;;; 1D706;MATHEMATICAL ITALIC SMALL LAMDA;Ll;0;L; 03BB;;;;N;;;;; 1D707;MATHEMATICAL ITALIC SMALL MU;Ll;0;L; 03BC;;;;N;;;;; 1D708;MATHEMATICAL ITALIC SMALL NU;Ll;0;L; 03BD;;;;N;;;;; 1D709;MATHEMATICAL ITALIC SMALL XI;Ll;0;L; 03BE;;;;N;;;;; 1D70A;MATHEMATICAL ITALIC SMALL OMICRON;Ll;0;L; 03BF;;;;N;;;;; 1D70B;MATHEMATICAL ITALIC SMALL PI;Ll;0;L; 03C0;;;;N;;;;; 1D70C;MATHEMATICAL ITALIC SMALL RHO;Ll;0;L; 03C1;;;;N;;;;; 1D70D;MATHEMATICAL ITALIC SMALL FINAL SIGMA;Ll;0;L; 03C2;;;;N;;;;; 1D70E;MATHEMATICAL ITALIC SMALL SIGMA;Ll;0;L; 03C3;;;;N;;;;; 1D70F;MATHEMATICAL ITALIC SMALL TAU;Ll;0;L; 03C4;;;;N;;;;; 1D710;MATHEMATICAL ITALIC SMALL UPSILON;Ll;0;L; 03C5;;;;N;;;;; 1D711;MATHEMATICAL ITALIC SMALL PHI;Ll;0;L; 03C6;;;;N;;;;; 1D712;MATHEMATICAL ITALIC SMALL CHI;Ll;0;L; 03C7;;;;N;;;;; 1D713;MATHEMATICAL ITALIC SMALL PSI;Ll;0;L; 03C8;;;;N;;;;; 1D714;MATHEMATICAL ITALIC SMALL OMEGA;Ll;0;L; 03C9;;;;N;;;;; 1D715;MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL;Sm;0;L; 2202;;;;N;;;;; 1D716;MATHEMATICAL ITALIC EPSILON SYMBOL;Ll;0;L; 03F5;;;;N;;;;; 1D717;MATHEMATICAL ITALIC THETA SYMBOL;Ll;0;L; 03D1;;;;N;;;;; 1D718;MATHEMATICAL ITALIC KAPPA SYMBOL;Ll;0;L; 03F0;;;;N;;;;; 1D719;MATHEMATICAL ITALIC PHI SYMBOL;Ll;0;L; 03D5;;;;N;;;;; 1D71A;MATHEMATICAL ITALIC RHO SYMBOL;Ll;0;L; 03F1;;;;N;;;;; 1D71B;MATHEMATICAL ITALIC PI SYMBOL;Ll;0;L; 03D6;;;;N;;;;; 1D71C;MATHEMATICAL BOLD ITALIC CAPITAL ALPHA;Lu;0;L; 0391;;;;N;;;;; 1D71D;MATHEMATICAL BOLD ITALIC CAPITAL BETA;Lu;0;L; 0392;;;;N;;;;; 1D71E;MATHEMATICAL BOLD ITALIC CAPITAL GAMMA;Lu;0;L; 0393;;;;N;;;;; 1D71F;MATHEMATICAL BOLD ITALIC CAPITAL DELTA;Lu;0;L; 0394;;;;N;;;;; 1D720;MATHEMATICAL BOLD ITALIC CAPITAL EPSILON;Lu;0;L; 0395;;;;N;;;;; 1D721;MATHEMATICAL BOLD ITALIC CAPITAL ZETA;Lu;0;L; 0396;;;;N;;;;; 1D722;MATHEMATICAL BOLD ITALIC CAPITAL ETA;Lu;0;L; 0397;;;;N;;;;; 1D723;MATHEMATICAL BOLD ITALIC CAPITAL THETA;Lu;0;L; 0398;;;;N;;;;; 1D724;MATHEMATICAL BOLD ITALIC CAPITAL IOTA;Lu;0;L; 0399;;;;N;;;;; 1D725;MATHEMATICAL BOLD ITALIC CAPITAL KAPPA;Lu;0;L; 039A;;;;N;;;;; 1D726;MATHEMATICAL BOLD ITALIC CAPITAL LAMDA;Lu;0;L; 039B;;;;N;;;;; 1D727;MATHEMATICAL BOLD ITALIC CAPITAL MU;Lu;0;L; 039C;;;;N;;;;; 1D728;MATHEMATICAL BOLD ITALIC CAPITAL NU;Lu;0;L; 039D;;;;N;;;;; 1D729;MATHEMATICAL BOLD ITALIC CAPITAL XI;Lu;0;L; 039E;;;;N;;;;; 1D72A;MATHEMATICAL BOLD ITALIC CAPITAL OMICRON;Lu;0;L; 039F;;;;N;;;;; 1D72B;MATHEMATICAL BOLD ITALIC CAPITAL PI;Lu;0;L; 03A0;;;;N;;;;; 1D72C;MATHEMATICAL BOLD ITALIC CAPITAL RHO;Lu;0;L; 03A1;;;;N;;;;; 1D72D;MATHEMATICAL BOLD ITALIC CAPITAL THETA SYMBOL;Lu;0;L; 03F4;;;;N;;;;; 1D72E;MATHEMATICAL BOLD ITALIC CAPITAL SIGMA;Lu;0;L; 03A3;;;;N;;;;; 1D72F;MATHEMATICAL BOLD ITALIC CAPITAL TAU;Lu;0;L; 03A4;;;;N;;;;; 1D730;MATHEMATICAL BOLD ITALIC CAPITAL UPSILON;Lu;0;L; 03A5;;;;N;;;;; 1D731;MATHEMATICAL BOLD ITALIC CAPITAL PHI;Lu;0;L; 03A6;;;;N;;;;; 1D732;MATHEMATICAL BOLD ITALIC CAPITAL CHI;Lu;0;L; 03A7;;;;N;;;;; 1D733;MATHEMATICAL BOLD ITALIC CAPITAL PSI;Lu;0;L; 03A8;;;;N;;;;; 1D734;MATHEMATICAL BOLD ITALIC CAPITAL OMEGA;Lu;0;L; 03A9;;;;N;;;;; 1D735;MATHEMATICAL BOLD ITALIC NABLA;Sm;0;L; 2207;;;;N;;;;; 1D736;MATHEMATICAL BOLD ITALIC SMALL ALPHA;Ll;0;L; 03B1;;;;N;;;;; 1D737;MATHEMATICAL BOLD ITALIC SMALL BETA;Ll;0;L; 03B2;;;;N;;;;; 1D738;MATHEMATICAL BOLD ITALIC SMALL GAMMA;Ll;0;L; 03B3;;;;N;;;;; 1D739;MATHEMATICAL BOLD ITALIC SMALL DELTA;Ll;0;L; 03B4;;;;N;;;;; 1D73A;MATHEMATICAL BOLD ITALIC SMALL EPSILON;Ll;0;L; 03B5;;;;N;;;;; 1D73B;MATHEMATICAL BOLD ITALIC SMALL ZETA;Ll;0;L; 03B6;;;;N;;;;; 1D73C;MATHEMATICAL BOLD ITALIC SMALL ETA;Ll;0;L; 03B7;;;;N;;;;; 1D73D;MATHEMATICAL BOLD ITALIC SMALL THETA;Ll;0;L; 03B8;;;;N;;;;; 1D73E;MATHEMATICAL BOLD ITALIC SMALL IOTA;Ll;0;L; 03B9;;;;N;;;;; 1D73F;MATHEMATICAL BOLD ITALIC SMALL KAPPA;Ll;0;L; 03BA;;;;N;;;;; 1D740;MATHEMATICAL BOLD ITALIC SMALL LAMDA;Ll;0;L; 03BB;;;;N;;;;; 1D741;MATHEMATICAL BOLD ITALIC SMALL MU;Ll;0;L; 03BC;;;;N;;;;; 1D742;MATHEMATICAL BOLD ITALIC SMALL NU;Ll;0;L; 03BD;;;;N;;;;; 1D743;MATHEMATICAL BOLD ITALIC SMALL XI;Ll;0;L; 03BE;;;;N;;;;; 1D744;MATHEMATICAL BOLD ITALIC SMALL OMICRON;Ll;0;L; 03BF;;;;N;;;;; 1D745;MATHEMATICAL BOLD ITALIC SMALL PI;Ll;0;L; 03C0;;;;N;;;;; 1D746;MATHEMATICAL BOLD ITALIC SMALL RHO;Ll;0;L; 03C1;;;;N;;;;; 1D747;MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA;Ll;0;L; 03C2;;;;N;;;;; 1D748;MATHEMATICAL BOLD ITALIC SMALL SIGMA;Ll;0;L; 03C3;;;;N;;;;; 1D749;MATHEMATICAL BOLD ITALIC SMALL TAU;Ll;0;L; 03C4;;;;N;;;;; 1D74A;MATHEMATICAL BOLD ITALIC SMALL UPSILON;Ll;0;L; 03C5;;;;N;;;;; 1D74B;MATHEMATICAL BOLD ITALIC SMALL PHI;Ll;0;L; 03C6;;;;N;;;;; 1D74C;MATHEMATICAL BOLD ITALIC SMALL CHI;Ll;0;L; 03C7;;;;N;;;;; 1D74D;MATHEMATICAL BOLD ITALIC SMALL PSI;Ll;0;L; 03C8;;;;N;;;;; 1D74E;MATHEMATICAL BOLD ITALIC SMALL OMEGA;Ll;0;L; 03C9;;;;N;;;;; 1D74F;MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL;Sm;0;L; 2202;;;;N;;;;; 1D750;MATHEMATICAL BOLD ITALIC EPSILON SYMBOL;Ll;0;L; 03F5;;;;N;;;;; 1D751;MATHEMATICAL BOLD ITALIC THETA SYMBOL;Ll;0;L; 03D1;;;;N;;;;; 1D752;MATHEMATICAL BOLD ITALIC KAPPA SYMBOL;Ll;0;L; 03F0;;;;N;;;;; 1D753;MATHEMATICAL BOLD ITALIC PHI SYMBOL;Ll;0;L; 03D5;;;;N;;;;; 1D754;MATHEMATICAL BOLD ITALIC RHO SYMBOL;Ll;0;L; 03F1;;;;N;;;;; 1D755;MATHEMATICAL BOLD ITALIC PI SYMBOL;Ll;0;L; 03D6;;;;N;;;;; 1D756;MATHEMATICAL SANS-SERIF BOLD CAPITAL ALPHA;Lu;0;L; 0391;;;;N;;;;; 1D757;MATHEMATICAL SANS-SERIF BOLD CAPITAL BETA;Lu;0;L; 0392;;;;N;;;;; 1D758;MATHEMATICAL SANS-SERIF BOLD CAPITAL GAMMA;Lu;0;L; 0393;;;;N;;;;; 1D759;MATHEMATICAL SANS-SERIF BOLD CAPITAL DELTA;Lu;0;L; 0394;;;;N;;;;; 1D75A;MATHEMATICAL SANS-SERIF BOLD CAPITAL EPSILON;Lu;0;L; 0395;;;;N;;;;; 1D75B;MATHEMATICAL SANS-SERIF BOLD CAPITAL ZETA;Lu;0;L; 0396;;;;N;;;;; 1D75C;MATHEMATICAL SANS-SERIF BOLD CAPITAL ETA;Lu;0;L; 0397;;;;N;;;;; 1D75D;MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA;Lu;0;L; 0398;;;;N;;;;; 1D75E;MATHEMATICAL SANS-SERIF BOLD CAPITAL IOTA;Lu;0;L; 0399;;;;N;;;;; 1D75F;MATHEMATICAL SANS-SERIF BOLD CAPITAL KAPPA;Lu;0;L; 039A;;;;N;;;;; 1D760;MATHEMATICAL SANS-SERIF BOLD CAPITAL LAMDA;Lu;0;L; 039B;;;;N;;;;; 1D761;MATHEMATICAL SANS-SERIF BOLD CAPITAL MU;Lu;0;L; 039C;;;;N;;;;; 1D762;MATHEMATICAL SANS-SERIF BOLD CAPITAL NU;Lu;0;L; 039D;;;;N;;;;; 1D763;MATHEMATICAL SANS-SERIF BOLD CAPITAL XI;Lu;0;L; 039E;;;;N;;;;; 1D764;MATHEMATICAL SANS-SERIF BOLD CAPITAL OMICRON;Lu;0;L; 039F;;;;N;;;;; 1D765;MATHEMATICAL SANS-SERIF BOLD CAPITAL PI;Lu;0;L; 03A0;;;;N;;;;; 1D766;MATHEMATICAL SANS-SERIF BOLD CAPITAL RHO;Lu;0;L; 03A1;;;;N;;;;; 1D767;MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA SYMBOL;Lu;0;L; 03F4;;;;N;;;;; 1D768;MATHEMATICAL SANS-SERIF BOLD CAPITAL SIGMA;Lu;0;L; 03A3;;;;N;;;;; 1D769;MATHEMATICAL SANS-SERIF BOLD CAPITAL TAU;Lu;0;L; 03A4;;;;N;;;;; 1D76A;MATHEMATICAL SANS-SERIF BOLD CAPITAL UPSILON;Lu;0;L; 03A5;;;;N;;;;; 1D76B;MATHEMATICAL SANS-SERIF BOLD CAPITAL PHI;Lu;0;L; 03A6;;;;N;;;;; 1D76C;MATHEMATICAL SANS-SERIF BOLD CAPITAL CHI;Lu;0;L; 03A7;;;;N;;;;; 1D76D;MATHEMATICAL SANS-SERIF BOLD CAPITAL PSI;Lu;0;L; 03A8;;;;N;;;;; 1D76E;MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA;Lu;0;L; 03A9;;;;N;;;;; 1D76F;MATHEMATICAL SANS-SERIF BOLD NABLA;Sm;0;L; 2207;;;;N;;;;; 1D770;MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA;Ll;0;L; 03B1;;;;N;;;;; 1D771;MATHEMATICAL SANS-SERIF BOLD SMALL BETA;Ll;0;L; 03B2;;;;N;;;;; 1D772;MATHEMATICAL SANS-SERIF BOLD SMALL GAMMA;Ll;0;L; 03B3;;;;N;;;;; 1D773;MATHEMATICAL SANS-SERIF BOLD SMALL DELTA;Ll;0;L; 03B4;;;;N;;;;; 1D774;MATHEMATICAL SANS-SERIF BOLD SMALL EPSILON;Ll;0;L; 03B5;;;;N;;;;; 1D775;MATHEMATICAL SANS-SERIF BOLD SMALL ZETA;Ll;0;L; 03B6;;;;N;;;;; 1D776;MATHEMATICAL SANS-SERIF BOLD SMALL ETA;Ll;0;L; 03B7;;;;N;;;;; 1D777;MATHEMATICAL SANS-SERIF BOLD SMALL THETA;Ll;0;L; 03B8;;;;N;;;;; 1D778;MATHEMATICAL SANS-SERIF BOLD SMALL IOTA;Ll;0;L; 03B9;;;;N;;;;; 1D779;MATHEMATICAL SANS-SERIF BOLD SMALL KAPPA;Ll;0;L; 03BA;;;;N;;;;; 1D77A;MATHEMATICAL SANS-SERIF BOLD SMALL LAMDA;Ll;0;L; 03BB;;;;N;;;;; 1D77B;MATHEMATICAL SANS-SERIF BOLD SMALL MU;Ll;0;L; 03BC;;;;N;;;;; 1D77C;MATHEMATICAL SANS-SERIF BOLD SMALL NU;Ll;0;L; 03BD;;;;N;;;;; 1D77D;MATHEMATICAL SANS-SERIF BOLD SMALL XI;Ll;0;L; 03BE;;;;N;;;;; 1D77E;MATHEMATICAL SANS-SERIF BOLD SMALL OMICRON;Ll;0;L; 03BF;;;;N;;;;; 1D77F;MATHEMATICAL SANS-SERIF BOLD SMALL PI;Ll;0;L; 03C0;;;;N;;;;; 1D780;MATHEMATICAL SANS-SERIF BOLD SMALL RHO;Ll;0;L; 03C1;;;;N;;;;; 1D781;MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA;Ll;0;L; 03C2;;;;N;;;;; 1D782;MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA;Ll;0;L; 03C3;;;;N;;;;; 1D783;MATHEMATICAL SANS-SERIF BOLD SMALL TAU;Ll;0;L; 03C4;;;;N;;;;; 1D784;MATHEMATICAL SANS-SERIF BOLD SMALL UPSILON;Ll;0;L; 03C5;;;;N;;;;; 1D785;MATHEMATICAL SANS-SERIF BOLD SMALL PHI;Ll;0;L; 03C6;;;;N;;;;; 1D786;MATHEMATICAL SANS-SERIF BOLD SMALL CHI;Ll;0;L; 03C7;;;;N;;;;; 1D787;MATHEMATICAL SANS-SERIF BOLD SMALL PSI;Ll;0;L; 03C8;;;;N;;;;; 1D788;MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA;Ll;0;L; 03C9;;;;N;;;;; 1D789;MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL;Sm;0;L; 2202;;;;N;;;;; 1D78A;MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL;Ll;0;L; 03F5;;;;N;;;;; 1D78B;MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL;Ll;0;L; 03D1;;;;N;;;;; 1D78C;MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL;Ll;0;L; 03F0;;;;N;;;;; 1D78D;MATHEMATICAL SANS-SERIF BOLD PHI SYMBOL;Ll;0;L; 03D5;;;;N;;;;; 1D78E;MATHEMATICAL SANS-SERIF BOLD RHO SYMBOL;Ll;0;L; 03F1;;;;N;;;;; 1D78F;MATHEMATICAL SANS-SERIF BOLD PI SYMBOL;Ll;0;L; 03D6;;;;N;;;;; 1D790;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA;Lu;0;L; 0391;;;;N;;;;; 1D791;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL BETA;Lu;0;L; 0392;;;;N;;;;; 1D792;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL GAMMA;Lu;0;L; 0393;;;;N;;;;; 1D793;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL DELTA;Lu;0;L; 0394;;;;N;;;;; 1D794;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL EPSILON;Lu;0;L; 0395;;;;N;;;;; 1D795;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ZETA;Lu;0;L; 0396;;;;N;;;;; 1D796;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ETA;Lu;0;L; 0397;;;;N;;;;; 1D797;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA;Lu;0;L; 0398;;;;N;;;;; 1D798;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL IOTA;Lu;0;L; 0399;;;;N;;;;; 1D799;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL KAPPA;Lu;0;L; 039A;;;;N;;;;; 1D79A;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL LAMDA;Lu;0;L; 039B;;;;N;;;;; 1D79B;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL MU;Lu;0;L; 039C;;;;N;;;;; 1D79C;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL NU;Lu;0;L; 039D;;;;N;;;;; 1D79D;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL XI;Lu;0;L; 039E;;;;N;;;;; 1D79E;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMICRON;Lu;0;L; 039F;;;;N;;;;; 1D79F;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PI;Lu;0;L; 03A0;;;;N;;;;; 1D7A0;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL RHO;Lu;0;L; 03A1;;;;N;;;;; 1D7A1;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA SYMBOL;Lu;0;L; 03F4;;;;N;;;;; 1D7A2;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL SIGMA;Lu;0;L; 03A3;;;;N;;;;; 1D7A3;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL TAU;Lu;0;L; 03A4;;;;N;;;;; 1D7A4;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL UPSILON;Lu;0;L; 03A5;;;;N;;;;; 1D7A5;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PHI;Lu;0;L; 03A6;;;;N;;;;; 1D7A6;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL CHI;Lu;0;L; 03A7;;;;N;;;;; 1D7A7;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PSI;Lu;0;L; 03A8;;;;N;;;;; 1D7A8;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA;Lu;0;L; 03A9;;;;N;;;;; 1D7A9;MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA;Sm;0;L; 2207;;;;N;;;;; 1D7AA;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA;Ll;0;L; 03B1;;;;N;;;;; 1D7AB;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL BETA;Ll;0;L; 03B2;;;;N;;;;; 1D7AC;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL GAMMA;Ll;0;L; 03B3;;;;N;;;;; 1D7AD;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL DELTA;Ll;0;L; 03B4;;;;N;;;;; 1D7AE;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL EPSILON;Ll;0;L; 03B5;;;;N;;;;; 1D7AF;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ZETA;Ll;0;L; 03B6;;;;N;;;;; 1D7B0;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ETA;Ll;0;L; 03B7;;;;N;;;;; 1D7B1;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL THETA;Ll;0;L; 03B8;;;;N;;;;; 1D7B2;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL IOTA;Ll;0;L; 03B9;;;;N;;;;; 1D7B3;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL KAPPA;Ll;0;L; 03BA;;;;N;;;;; 1D7B4;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL LAMDA;Ll;0;L; 03BB;;;;N;;;;; 1D7B5;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL MU;Ll;0;L; 03BC;;;;N;;;;; 1D7B6;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL NU;Ll;0;L; 03BD;;;;N;;;;; 1D7B7;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL XI;Ll;0;L; 03BE;;;;N;;;;; 1D7B8;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMICRON;Ll;0;L; 03BF;;;;N;;;;; 1D7B9;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PI;Ll;0;L; 03C0;;;;N;;;;; 1D7BA;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL RHO;Ll;0;L; 03C1;;;;N;;;;; 1D7BB;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA;Ll;0;L; 03C2;;;;N;;;;; 1D7BC;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA;Ll;0;L; 03C3;;;;N;;;;; 1D7BD;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL TAU;Ll;0;L; 03C4;;;;N;;;;; 1D7BE;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL UPSILON;Ll;0;L; 03C5;;;;N;;;;; 1D7BF;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PHI;Ll;0;L; 03C6;;;;N;;;;; 1D7C0;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL CHI;Ll;0;L; 03C7;;;;N;;;;; 1D7C1;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PSI;Ll;0;L; 03C8;;;;N;;;;; 1D7C2;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA;Ll;0;L; 03C9;;;;N;;;;; 1D7C3;MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL;Sm;0;L; 2202;;;;N;;;;; 1D7C4;MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL;Ll;0;L; 03F5;;;;N;;;;; 1D7C5;MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL;Ll;0;L; 03D1;;;;N;;;;; 1D7C6;MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL;Ll;0;L; 03F0;;;;N;;;;; 1D7C7;MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL;Ll;0;L; 03D5;;;;N;;;;; 1D7C8;MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL;Ll;0;L; 03F1;;;;N;;;;; 1D7C9;MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL;Ll;0;L; 03D6;;;;N;;;;; 1D7CE;MATHEMATICAL BOLD DIGIT ZERO;Nd;0;EN; 0030;0;0;0;N;;;;; 1D7CF;MATHEMATICAL BOLD DIGIT ONE;Nd;0;EN; 0031;1;1;1;N;;;;; 1D7D0;MATHEMATICAL BOLD DIGIT TWO;Nd;0;EN; 0032;2;2;2;N;;;;; 1D7D1;MATHEMATICAL BOLD DIGIT THREE;Nd;0;EN; 0033;3;3;3;N;;;;; 1D7D2;MATHEMATICAL BOLD DIGIT FOUR;Nd;0;EN; 0034;4;4;4;N;;;;; 1D7D3;MATHEMATICAL BOLD DIGIT FIVE;Nd;0;EN; 0035;5;5;5;N;;;;; 1D7D4;MATHEMATICAL BOLD DIGIT SIX;Nd;0;EN; 0036;6;6;6;N;;;;; 1D7D5;MATHEMATICAL BOLD DIGIT SEVEN;Nd;0;EN; 0037;7;7;7;N;;;;; 1D7D6;MATHEMATICAL BOLD DIGIT EIGHT;Nd;0;EN; 0038;8;8;8;N;;;;; 1D7D7;MATHEMATICAL BOLD DIGIT NINE;Nd;0;EN; 0039;9;9;9;N;;;;; 1D7D8;MATHEMATICAL DOUBLE-STRUCK DIGIT ZERO;Nd;0;EN; 0030;0;0;0;N;;;;; 1D7D9;MATHEMATICAL DOUBLE-STRUCK DIGIT ONE;Nd;0;EN; 0031;1;1;1;N;;;;; 1D7DA;MATHEMATICAL DOUBLE-STRUCK DIGIT TWO;Nd;0;EN; 0032;2;2;2;N;;;;; 1D7DB;MATHEMATICAL DOUBLE-STRUCK DIGIT THREE;Nd;0;EN; 0033;3;3;3;N;;;;; 1D7DC;MATHEMATICAL DOUBLE-STRUCK DIGIT FOUR;Nd;0;EN; 0034;4;4;4;N;;;;; 1D7DD;MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE;Nd;0;EN; 0035;5;5;5;N;;;;; 1D7DE;MATHEMATICAL DOUBLE-STRUCK DIGIT SIX;Nd;0;EN; 0036;6;6;6;N;;;;; 1D7DF;MATHEMATICAL DOUBLE-STRUCK DIGIT SEVEN;Nd;0;EN; 0037;7;7;7;N;;;;; 1D7E0;MATHEMATICAL DOUBLE-STRUCK DIGIT EIGHT;Nd;0;EN; 0038;8;8;8;N;;;;; 1D7E1;MATHEMATICAL DOUBLE-STRUCK DIGIT NINE;Nd;0;EN; 0039;9;9;9;N;;;;; 1D7E2;MATHEMATICAL SANS-SERIF DIGIT ZERO;Nd;0;EN; 0030;0;0;0;N;;;;; 1D7E3;MATHEMATICAL SANS-SERIF DIGIT ONE;Nd;0;EN; 0031;1;1;1;N;;;;; 1D7E4;MATHEMATICAL SANS-SERIF DIGIT TWO;Nd;0;EN; 0032;2;2;2;N;;;;; 1D7E5;MATHEMATICAL SANS-SERIF DIGIT THREE;Nd;0;EN; 0033;3;3;3;N;;;;; 1D7E6;MATHEMATICAL SANS-SERIF DIGIT FOUR;Nd;0;EN; 0034;4;4;4;N;;;;; 1D7E7;MATHEMATICAL SANS-SERIF DIGIT FIVE;Nd;0;EN; 0035;5;5;5;N;;;;; 1D7E8;MATHEMATICAL SANS-SERIF DIGIT SIX;Nd;0;EN; 0036;6;6;6;N;;;;; 1D7E9;MATHEMATICAL SANS-SERIF DIGIT SEVEN;Nd;0;EN; 0037;7;7;7;N;;;;; 1D7EA;MATHEMATICAL SANS-SERIF DIGIT EIGHT;Nd;0;EN; 0038;8;8;8;N;;;;; 1D7EB;MATHEMATICAL SANS-SERIF DIGIT NINE;Nd;0;EN; 0039;9;9;9;N;;;;; 1D7EC;MATHEMATICAL SANS-SERIF BOLD DIGIT ZERO;Nd;0;EN; 0030;0;0;0;N;;;;; 1D7ED;MATHEMATICAL SANS-SERIF BOLD DIGIT ONE;Nd;0;EN; 0031;1;1;1;N;;;;; 1D7EE;MATHEMATICAL SANS-SERIF BOLD DIGIT TWO;Nd;0;EN; 0032;2;2;2;N;;;;; 1D7EF;MATHEMATICAL SANS-SERIF BOLD DIGIT THREE;Nd;0;EN; 0033;3;3;3;N;;;;; 1D7F0;MATHEMATICAL SANS-SERIF BOLD DIGIT FOUR;Nd;0;EN; 0034;4;4;4;N;;;;; 1D7F1;MATHEMATICAL SANS-SERIF BOLD DIGIT FIVE;Nd;0;EN; 0035;5;5;5;N;;;;; 1D7F2;MATHEMATICAL SANS-SERIF BOLD DIGIT SIX;Nd;0;EN; 0036;6;6;6;N;;;;; 1D7F3;MATHEMATICAL SANS-SERIF BOLD DIGIT SEVEN;Nd;0;EN; 0037;7;7;7;N;;;;; 1D7F4;MATHEMATICAL SANS-SERIF BOLD DIGIT EIGHT;Nd;0;EN; 0038;8;8;8;N;;;;; 1D7F5;MATHEMATICAL SANS-SERIF BOLD DIGIT NINE;Nd;0;EN; 0039;9;9;9;N;;;;; 1D7F6;MATHEMATICAL MONOSPACE DIGIT ZERO;Nd;0;EN; 0030;0;0;0;N;;;;; 1D7F7;MATHEMATICAL MONOSPACE DIGIT ONE;Nd;0;EN; 0031;1;1;1;N;;;;; 1D7F8;MATHEMATICAL MONOSPACE DIGIT TWO;Nd;0;EN; 0032;2;2;2;N;;;;; 1D7F9;MATHEMATICAL MONOSPACE DIGIT THREE;Nd;0;EN; 0033;3;3;3;N;;;;; 1D7FA;MATHEMATICAL MONOSPACE DIGIT FOUR;Nd;0;EN; 0034;4;4;4;N;;;;; 1D7FB;MATHEMATICAL MONOSPACE DIGIT FIVE;Nd;0;EN; 0035;5;5;5;N;;;;; 1D7FC;MATHEMATICAL MONOSPACE DIGIT SIX;Nd;0;EN; 0036;6;6;6;N;;;;; 1D7FD;MATHEMATICAL MONOSPACE DIGIT SEVEN;Nd;0;EN; 0037;7;7;7;N;;;;; 1D7FE;MATHEMATICAL MONOSPACE DIGIT EIGHT;Nd;0;EN; 0038;8;8;8;N;;;;; 1D7FF;MATHEMATICAL MONOSPACE DIGIT NINE;Nd;0;EN; 0039;9;9;9;N;;;;; 20000;;Lo;0;L;;;;;N;;;;; 2A6D6;;Lo;0;L;;;;;N;;;;; 2F800;CJK COMPATIBILITY IDEOGRAPH-2F800;Lo;0;L;4E3D;;;;N;;;;; 2F801;CJK COMPATIBILITY IDEOGRAPH-2F801;Lo;0;L;4E38;;;;N;;;;; 2F802;CJK COMPATIBILITY IDEOGRAPH-2F802;Lo;0;L;4E41;;;;N;;;;; 2F803;CJK COMPATIBILITY IDEOGRAPH-2F803;Lo;0;L;20122;;;;N;;;;; 2F804;CJK COMPATIBILITY IDEOGRAPH-2F804;Lo;0;L;4F60;;;;N;;;;; 2F805;CJK COMPATIBILITY IDEOGRAPH-2F805;Lo;0;L;4FAE;;;;N;;;;; 2F806;CJK COMPATIBILITY IDEOGRAPH-2F806;Lo;0;L;4FBB;;;;N;;;;; 2F807;CJK COMPATIBILITY IDEOGRAPH-2F807;Lo;0;L;5002;;;;N;;;;; 2F808;CJK COMPATIBILITY IDEOGRAPH-2F808;Lo;0;L;507A;;;;N;;;;; 2F809;CJK COMPATIBILITY IDEOGRAPH-2F809;Lo;0;L;5099;;;;N;;;;; 2F80A;CJK COMPATIBILITY IDEOGRAPH-2F80A;Lo;0;L;50E7;;;;N;;;;; 2F80B;CJK COMPATIBILITY IDEOGRAPH-2F80B;Lo;0;L;50CF;;;;N;;;;; 2F80C;CJK COMPATIBILITY IDEOGRAPH-2F80C;Lo;0;L;349E;;;;N;;;;; 2F80D;CJK COMPATIBILITY IDEOGRAPH-2F80D;Lo;0;L;2063A;;;;N;;;;; 2F80E;CJK COMPATIBILITY IDEOGRAPH-2F80E;Lo;0;L;514D;;;;N;;;;; 2F80F;CJK COMPATIBILITY IDEOGRAPH-2F80F;Lo;0;L;5154;;;;N;;;;; 2F810;CJK COMPATIBILITY IDEOGRAPH-2F810;Lo;0;L;5164;;;;N;;;;; 2F811;CJK COMPATIBILITY IDEOGRAPH-2F811;Lo;0;L;5177;;;;N;;;;; 2F812;CJK COMPATIBILITY IDEOGRAPH-2F812;Lo;0;L;2051C;;;;N;;;;; 2F813;CJK COMPATIBILITY IDEOGRAPH-2F813;Lo;0;L;34B9;;;;N;;;;; 2F814;CJK COMPATIBILITY IDEOGRAPH-2F814;Lo;0;L;5167;;;;N;;;;; 2F815;CJK COMPATIBILITY IDEOGRAPH-2F815;Lo;0;L;518D;;;;N;;;;; 2F816;CJK COMPATIBILITY IDEOGRAPH-2F816;Lo;0;L;2054B;;;;N;;;;; 2F817;CJK COMPATIBILITY IDEOGRAPH-2F817;Lo;0;L;5197;;;;N;;;;; 2F818;CJK COMPATIBILITY IDEOGRAPH-2F818;Lo;0;L;51A4;;;;N;;;;; 2F819;CJK COMPATIBILITY IDEOGRAPH-2F819;Lo;0;L;4ECC;;;;N;;;;; 2F81A;CJK COMPATIBILITY IDEOGRAPH-2F81A;Lo;0;L;51AC;;;;N;;;;; 2F81B;CJK COMPATIBILITY IDEOGRAPH-2F81B;Lo;0;L;51B5;;;;N;;;;; 2F81C;CJK COMPATIBILITY IDEOGRAPH-2F81C;Lo;0;L;291DF;;;;N;;;;; 2F81D;CJK COMPATIBILITY IDEOGRAPH-2F81D;Lo;0;L;51F5;;;;N;;;;; 2F81E;CJK COMPATIBILITY IDEOGRAPH-2F81E;Lo;0;L;5203;;;;N;;;;; 2F81F;CJK COMPATIBILITY IDEOGRAPH-2F81F;Lo;0;L;34DF;;;;N;;;;; 2F820;CJK COMPATIBILITY IDEOGRAPH-2F820;Lo;0;L;523B;;;;N;;;;; 2F821;CJK COMPATIBILITY IDEOGRAPH-2F821;Lo;0;L;5246;;;;N;;;;; 2F822;CJK COMPATIBILITY IDEOGRAPH-2F822;Lo;0;L;5272;;;;N;;;;; 2F823;CJK COMPATIBILITY IDEOGRAPH-2F823;Lo;0;L;5277;;;;N;;;;; 2F824;CJK COMPATIBILITY IDEOGRAPH-2F824;Lo;0;L;3515;;;;N;;;;; 2F825;CJK COMPATIBILITY IDEOGRAPH-2F825;Lo;0;L;52C7;;;;N;;;;; 2F826;CJK COMPATIBILITY IDEOGRAPH-2F826;Lo;0;L;52C9;;;;N;;;;; 2F827;CJK COMPATIBILITY IDEOGRAPH-2F827;Lo;0;L;52E4;;;;N;;;;; 2F828;CJK COMPATIBILITY IDEOGRAPH-2F828;Lo;0;L;52FA;;;;N;;;;; 2F829;CJK COMPATIBILITY IDEOGRAPH-2F829;Lo;0;L;5305;;;;N;;;;; 2F82A;CJK COMPATIBILITY IDEOGRAPH-2F82A;Lo;0;L;5306;;;;N;;;;; 2F82B;CJK COMPATIBILITY IDEOGRAPH-2F82B;Lo;0;L;5317;;;;N;;;;; 2F82C;CJK COMPATIBILITY IDEOGRAPH-2F82C;Lo;0;L;5349;;;;N;;;;; 2F82D;CJK COMPATIBILITY IDEOGRAPH-2F82D;Lo;0;L;5351;;;;N;;;;; 2F82E;CJK COMPATIBILITY IDEOGRAPH-2F82E;Lo;0;L;535A;;;;N;;;;; 2F82F;CJK COMPATIBILITY IDEOGRAPH-2F82F;Lo;0;L;5373;;;;N;;;;; 2F830;CJK COMPATIBILITY IDEOGRAPH-2F830;Lo;0;L;537D;;;;N;;;;; 2F831;CJK COMPATIBILITY IDEOGRAPH-2F831;Lo;0;L;537F;;;;N;;;;; 2F832;CJK COMPATIBILITY IDEOGRAPH-2F832;Lo;0;L;537F;;;;N;;;;; 2F833;CJK COMPATIBILITY IDEOGRAPH-2F833;Lo;0;L;537F;;;;N;;;;; 2F834;CJK COMPATIBILITY IDEOGRAPH-2F834;Lo;0;L;20A2C;;;;N;;;;; 2F835;CJK COMPATIBILITY IDEOGRAPH-2F835;Lo;0;L;7070;;;;N;;;;; 2F836;CJK COMPATIBILITY IDEOGRAPH-2F836;Lo;0;L;53CA;;;;N;;;;; 2F837;CJK COMPATIBILITY IDEOGRAPH-2F837;Lo;0;L;53DF;;;;N;;;;; 2F838;CJK COMPATIBILITY IDEOGRAPH-2F838;Lo;0;L;20B63;;;;N;;;;; 2F839;CJK COMPATIBILITY IDEOGRAPH-2F839;Lo;0;L;53EB;;;;N;;;;; 2F83A;CJK COMPATIBILITY IDEOGRAPH-2F83A;Lo;0;L;53F1;;;;N;;;;; 2F83B;CJK COMPATIBILITY IDEOGRAPH-2F83B;Lo;0;L;5406;;;;N;;;;; 2F83C;CJK COMPATIBILITY IDEOGRAPH-2F83C;Lo;0;L;549E;;;;N;;;;; 2F83D;CJK COMPATIBILITY IDEOGRAPH-2F83D;Lo;0;L;5438;;;;N;;;;; 2F83E;CJK COMPATIBILITY IDEOGRAPH-2F83E;Lo;0;L;5448;;;;N;;;;; 2F83F;CJK COMPATIBILITY IDEOGRAPH-2F83F;Lo;0;L;5468;;;;N;;;;; 2F840;CJK COMPATIBILITY IDEOGRAPH-2F840;Lo;0;L;54A2;;;;N;;;;; 2F841;CJK COMPATIBILITY IDEOGRAPH-2F841;Lo;0;L;54F6;;;;N;;;;; 2F842;CJK COMPATIBILITY IDEOGRAPH-2F842;Lo;0;L;5510;;;;N;;;;; 2F843;CJK COMPATIBILITY IDEOGRAPH-2F843;Lo;0;L;5553;;;;N;;;;; 2F844;CJK COMPATIBILITY IDEOGRAPH-2F844;Lo;0;L;5563;;;;N;;;;; 2F845;CJK COMPATIBILITY IDEOGRAPH-2F845;Lo;0;L;5584;;;;N;;;;; 2F846;CJK COMPATIBILITY IDEOGRAPH-2F846;Lo;0;L;5584;;;;N;;;;; 2F847;CJK COMPATIBILITY IDEOGRAPH-2F847;Lo;0;L;5599;;;;N;;;;; 2F848;CJK COMPATIBILITY IDEOGRAPH-2F848;Lo;0;L;55AB;;;;N;;;;; 2F849;CJK COMPATIBILITY IDEOGRAPH-2F849;Lo;0;L;55B3;;;;N;;;;; 2F84A;CJK COMPATIBILITY IDEOGRAPH-2F84A;Lo;0;L;55C2;;;;N;;;;; 2F84B;CJK COMPATIBILITY IDEOGRAPH-2F84B;Lo;0;L;5716;;;;N;;;;; 2F84C;CJK COMPATIBILITY IDEOGRAPH-2F84C;Lo;0;L;5606;;;;N;;;;; 2F84D;CJK COMPATIBILITY IDEOGRAPH-2F84D;Lo;0;L;5717;;;;N;;;;; 2F84E;CJK COMPATIBILITY IDEOGRAPH-2F84E;Lo;0;L;5651;;;;N;;;;; 2F84F;CJK COMPATIBILITY IDEOGRAPH-2F84F;Lo;0;L;5674;;;;N;;;;; 2F850;CJK COMPATIBILITY IDEOGRAPH-2F850;Lo;0;L;5207;;;;N;;;;; 2F851;CJK COMPATIBILITY IDEOGRAPH-2F851;Lo;0;L;58EE;;;;N;;;;; 2F852;CJK COMPATIBILITY IDEOGRAPH-2F852;Lo;0;L;57CE;;;;N;;;;; 2F853;CJK COMPATIBILITY IDEOGRAPH-2F853;Lo;0;L;57F4;;;;N;;;;; 2F854;CJK COMPATIBILITY IDEOGRAPH-2F854;Lo;0;L;580D;;;;N;;;;; 2F855;CJK COMPATIBILITY IDEOGRAPH-2F855;Lo;0;L;578B;;;;N;;;;; 2F856;CJK COMPATIBILITY IDEOGRAPH-2F856;Lo;0;L;5832;;;;N;;;;; 2F857;CJK COMPATIBILITY IDEOGRAPH-2F857;Lo;0;L;5831;;;;N;;;;; 2F858;CJK COMPATIBILITY IDEOGRAPH-2F858;Lo;0;L;58AC;;;;N;;;;; 2F859;CJK COMPATIBILITY IDEOGRAPH-2F859;Lo;0;L;214E4;;;;N;;;;; 2F85A;CJK COMPATIBILITY IDEOGRAPH-2F85A;Lo;0;L;58F2;;;;N;;;;; 2F85B;CJK COMPATIBILITY IDEOGRAPH-2F85B;Lo;0;L;58F7;;;;N;;;;; 2F85C;CJK COMPATIBILITY IDEOGRAPH-2F85C;Lo;0;L;5906;;;;N;;;;; 2F85D;CJK COMPATIBILITY IDEOGRAPH-2F85D;Lo;0;L;591A;;;;N;;;;; 2F85E;CJK COMPATIBILITY IDEOGRAPH-2F85E;Lo;0;L;5922;;;;N;;;;; 2F85F;CJK COMPATIBILITY IDEOGRAPH-2F85F;Lo;0;L;5962;;;;N;;;;; 2F860;CJK COMPATIBILITY IDEOGRAPH-2F860;Lo;0;L;216A8;;;;N;;;;; 2F861;CJK COMPATIBILITY IDEOGRAPH-2F861;Lo;0;L;216EA;;;;N;;;;; 2F862;CJK COMPATIBILITY IDEOGRAPH-2F862;Lo;0;L;59EC;;;;N;;;;; 2F863;CJK COMPATIBILITY IDEOGRAPH-2F863;Lo;0;L;5A1B;;;;N;;;;; 2F864;CJK COMPATIBILITY IDEOGRAPH-2F864;Lo;0;L;5A27;;;;N;;;;; 2F865;CJK COMPATIBILITY IDEOGRAPH-2F865;Lo;0;L;59D8;;;;N;;;;; 2F866;CJK COMPATIBILITY IDEOGRAPH-2F866;Lo;0;L;5A66;;;;N;;;;; 2F867;CJK COMPATIBILITY IDEOGRAPH-2F867;Lo;0;L;36EE;;;;N;;;;; 2F868;CJK COMPATIBILITY IDEOGRAPH-2F868;Lo;0;L;36FC;;;;N;;;;; 2F869;CJK COMPATIBILITY IDEOGRAPH-2F869;Lo;0;L;5B08;;;;N;;;;; 2F86A;CJK COMPATIBILITY IDEOGRAPH-2F86A;Lo;0;L;5B3E;;;;N;;;;; 2F86B;CJK COMPATIBILITY IDEOGRAPH-2F86B;Lo;0;L;5B3E;;;;N;;;;; 2F86C;CJK COMPATIBILITY IDEOGRAPH-2F86C;Lo;0;L;219C8;;;;N;;;;; 2F86D;CJK COMPATIBILITY IDEOGRAPH-2F86D;Lo;0;L;5BC3;;;;N;;;;; 2F86E;CJK COMPATIBILITY IDEOGRAPH-2F86E;Lo;0;L;5BD8;;;;N;;;;; 2F86F;CJK COMPATIBILITY IDEOGRAPH-2F86F;Lo;0;L;5BE7;;;;N;;;;; 2F870;CJK COMPATIBILITY IDEOGRAPH-2F870;Lo;0;L;5BF3;;;;N;;;;; 2F871;CJK COMPATIBILITY IDEOGRAPH-2F871;Lo;0;L;21B18;;;;N;;;;; 2F872;CJK COMPATIBILITY IDEOGRAPH-2F872;Lo;0;L;5BFF;;;;N;;;;; 2F873;CJK COMPATIBILITY IDEOGRAPH-2F873;Lo;0;L;5C06;;;;N;;;;; 2F874;CJK COMPATIBILITY IDEOGRAPH-2F874;Lo;0;L;5F53;;;;N;;;;; 2F875;CJK COMPATIBILITY IDEOGRAPH-2F875;Lo;0;L;5C22;;;;N;;;;; 2F876;CJK COMPATIBILITY IDEOGRAPH-2F876;Lo;0;L;3781;;;;N;;;;; 2F877;CJK COMPATIBILITY IDEOGRAPH-2F877;Lo;0;L;5C60;;;;N;;;;; 2F878;CJK COMPATIBILITY IDEOGRAPH-2F878;Lo;0;L;5C6E;;;;N;;;;; 2F879;CJK COMPATIBILITY IDEOGRAPH-2F879;Lo;0;L;5CC0;;;;N;;;;; 2F87A;CJK COMPATIBILITY IDEOGRAPH-2F87A;Lo;0;L;5C8D;;;;N;;;;; 2F87B;CJK COMPATIBILITY IDEOGRAPH-2F87B;Lo;0;L;21DE4;;;;N;;;;; 2F87C;CJK COMPATIBILITY IDEOGRAPH-2F87C;Lo;0;L;5D43;;;;N;;;;; 2F87D;CJK COMPATIBILITY IDEOGRAPH-2F87D;Lo;0;L;21DE6;;;;N;;;;; 2F87E;CJK COMPATIBILITY IDEOGRAPH-2F87E;Lo;0;L;5D6E;;;;N;;;;; 2F87F;CJK COMPATIBILITY IDEOGRAPH-2F87F;Lo;0;L;5D6B;;;;N;;;;; 2F880;CJK COMPATIBILITY IDEOGRAPH-2F880;Lo;0;L;5D7C;;;;N;;;;; 2F881;CJK COMPATIBILITY IDEOGRAPH-2F881;Lo;0;L;5DE1;;;;N;;;;; 2F882;CJK COMPATIBILITY IDEOGRAPH-2F882;Lo;0;L;5DE2;;;;N;;;;; 2F883;CJK COMPATIBILITY IDEOGRAPH-2F883;Lo;0;L;382F;;;;N;;;;; 2F884;CJK COMPATIBILITY IDEOGRAPH-2F884;Lo;0;L;5DFD;;;;N;;;;; 2F885;CJK COMPATIBILITY IDEOGRAPH-2F885;Lo;0;L;5E28;;;;N;;;;; 2F886;CJK COMPATIBILITY IDEOGRAPH-2F886;Lo;0;L;5E3D;;;;N;;;;; 2F887;CJK COMPATIBILITY IDEOGRAPH-2F887;Lo;0;L;5E69;;;;N;;;;; 2F888;CJK COMPATIBILITY IDEOGRAPH-2F888;Lo;0;L;3862;;;;N;;;;; 2F889;CJK COMPATIBILITY IDEOGRAPH-2F889;Lo;0;L;22183;;;;N;;;;; 2F88A;CJK COMPATIBILITY IDEOGRAPH-2F88A;Lo;0;L;387C;;;;N;;;;; 2F88B;CJK COMPATIBILITY IDEOGRAPH-2F88B;Lo;0;L;5EB0;;;;N;;;;; 2F88C;CJK COMPATIBILITY IDEOGRAPH-2F88C;Lo;0;L;5EB3;;;;N;;;;; 2F88D;CJK COMPATIBILITY IDEOGRAPH-2F88D;Lo;0;L;5EB6;;;;N;;;;; 2F88E;CJK COMPATIBILITY IDEOGRAPH-2F88E;Lo;0;L;5ECA;;;;N;;;;; 2F88F;CJK COMPATIBILITY IDEOGRAPH-2F88F;Lo;0;L;2A392;;;;N;;;;; 2F890;CJK COMPATIBILITY IDEOGRAPH-2F890;Lo;0;L;5EFE;;;;N;;;;; 2F891;CJK COMPATIBILITY IDEOGRAPH-2F891;Lo;0;L;22331;;;;N;;;;; 2F892;CJK COMPATIBILITY IDEOGRAPH-2F892;Lo;0;L;22331;;;;N;;;;; 2F893;CJK COMPATIBILITY IDEOGRAPH-2F893;Lo;0;L;8201;;;;N;;;;; 2F894;CJK COMPATIBILITY IDEOGRAPH-2F894;Lo;0;L;5F22;;;;N;;;;; 2F895;CJK COMPATIBILITY IDEOGRAPH-2F895;Lo;0;L;5F22;;;;N;;;;; 2F896;CJK COMPATIBILITY IDEOGRAPH-2F896;Lo;0;L;38C7;;;;N;;;;; 2F897;CJK COMPATIBILITY IDEOGRAPH-2F897;Lo;0;L;232B8;;;;N;;;;; 2F898;CJK COMPATIBILITY IDEOGRAPH-2F898;Lo;0;L;261DA;;;;N;;;;; 2F899;CJK COMPATIBILITY IDEOGRAPH-2F899;Lo;0;L;5F62;;;;N;;;;; 2F89A;CJK COMPATIBILITY IDEOGRAPH-2F89A;Lo;0;L;5F6B;;;;N;;;;; 2F89B;CJK COMPATIBILITY IDEOGRAPH-2F89B;Lo;0;L;38E3;;;;N;;;;; 2F89C;CJK COMPATIBILITY IDEOGRAPH-2F89C;Lo;0;L;5F9A;;;;N;;;;; 2F89D;CJK COMPATIBILITY IDEOGRAPH-2F89D;Lo;0;L;5FCD;;;;N;;;;; 2F89E;CJK COMPATIBILITY IDEOGRAPH-2F89E;Lo;0;L;5FD7;;;;N;;;;; 2F89F;CJK COMPATIBILITY IDEOGRAPH-2F89F;Lo;0;L;5FF9;;;;N;;;;; 2F8A0;CJK COMPATIBILITY IDEOGRAPH-2F8A0;Lo;0;L;6081;;;;N;;;;; 2F8A1;CJK COMPATIBILITY IDEOGRAPH-2F8A1;Lo;0;L;393A;;;;N;;;;; 2F8A2;CJK COMPATIBILITY IDEOGRAPH-2F8A2;Lo;0;L;391C;;;;N;;;;; 2F8A3;CJK COMPATIBILITY IDEOGRAPH-2F8A3;Lo;0;L;6094;;;;N;;;;; 2F8A4;CJK COMPATIBILITY IDEOGRAPH-2F8A4;Lo;0;L;226D4;;;;N;;;;; 2F8A5;CJK COMPATIBILITY IDEOGRAPH-2F8A5;Lo;0;L;60C7;;;;N;;;;; 2F8A6;CJK COMPATIBILITY IDEOGRAPH-2F8A6;Lo;0;L;6148;;;;N;;;;; 2F8A7;CJK COMPATIBILITY IDEOGRAPH-2F8A7;Lo;0;L;614C;;;;N;;;;; 2F8A8;CJK COMPATIBILITY IDEOGRAPH-2F8A8;Lo;0;L;614E;;;;N;;;;; 2F8A9;CJK COMPATIBILITY IDEOGRAPH-2F8A9;Lo;0;L;614C;;;;N;;;;; 2F8AA;CJK COMPATIBILITY IDEOGRAPH-2F8AA;Lo;0;L;617A;;;;N;;;;; 2F8AB;CJK COMPATIBILITY IDEOGRAPH-2F8AB;Lo;0;L;618E;;;;N;;;;; 2F8AC;CJK COMPATIBILITY IDEOGRAPH-2F8AC;Lo;0;L;61B2;;;;N;;;;; 2F8AD;CJK COMPATIBILITY IDEOGRAPH-2F8AD;Lo;0;L;61A4;;;;N;;;;; 2F8AE;CJK COMPATIBILITY IDEOGRAPH-2F8AE;Lo;0;L;61AF;;;;N;;;;; 2F8AF;CJK COMPATIBILITY IDEOGRAPH-2F8AF;Lo;0;L;61DE;;;;N;;;;; 2F8B0;CJK COMPATIBILITY IDEOGRAPH-2F8B0;Lo;0;L;61F2;;;;N;;;;; 2F8B1;CJK COMPATIBILITY IDEOGRAPH-2F8B1;Lo;0;L;61F6;;;;N;;;;; 2F8B2;CJK COMPATIBILITY IDEOGRAPH-2F8B2;Lo;0;L;6210;;;;N;;;;; 2F8B3;CJK COMPATIBILITY IDEOGRAPH-2F8B3;Lo;0;L;621B;;;;N;;;;; 2F8B4;CJK COMPATIBILITY IDEOGRAPH-2F8B4;Lo;0;L;625D;;;;N;;;;; 2F8B5;CJK COMPATIBILITY IDEOGRAPH-2F8B5;Lo;0;L;62B1;;;;N;;;;; 2F8B6;CJK COMPATIBILITY IDEOGRAPH-2F8B6;Lo;0;L;62D4;;;;N;;;;; 2F8B7;CJK COMPATIBILITY IDEOGRAPH-2F8B7;Lo;0;L;6350;;;;N;;;;; 2F8B8;CJK COMPATIBILITY IDEOGRAPH-2F8B8;Lo;0;L;22B0C;;;;N;;;;; 2F8B9;CJK COMPATIBILITY IDEOGRAPH-2F8B9;Lo;0;L;633D;;;;N;;;;; 2F8BA;CJK COMPATIBILITY IDEOGRAPH-2F8BA;Lo;0;L;62FC;;;;N;;;;; 2F8BB;CJK COMPATIBILITY IDEOGRAPH-2F8BB;Lo;0;L;6368;;;;N;;;;; 2F8BC;CJK COMPATIBILITY IDEOGRAPH-2F8BC;Lo;0;L;6383;;;;N;;;;; 2F8BD;CJK COMPATIBILITY IDEOGRAPH-2F8BD;Lo;0;L;63E4;;;;N;;;;; 2F8BE;CJK COMPATIBILITY IDEOGRAPH-2F8BE;Lo;0;L;22BF1;;;;N;;;;; 2F8BF;CJK COMPATIBILITY IDEOGRAPH-2F8BF;Lo;0;L;6422;;;;N;;;;; 2F8C0;CJK COMPATIBILITY IDEOGRAPH-2F8C0;Lo;0;L;63C5;;;;N;;;;; 2F8C1;CJK COMPATIBILITY IDEOGRAPH-2F8C1;Lo;0;L;63A9;;;;N;;;;; 2F8C2;CJK COMPATIBILITY IDEOGRAPH-2F8C2;Lo;0;L;3A2E;;;;N;;;;; 2F8C3;CJK COMPATIBILITY IDEOGRAPH-2F8C3;Lo;0;L;6469;;;;N;;;;; 2F8C4;CJK COMPATIBILITY IDEOGRAPH-2F8C4;Lo;0;L;647E;;;;N;;;;; 2F8C5;CJK COMPATIBILITY IDEOGRAPH-2F8C5;Lo;0;L;649D;;;;N;;;;; 2F8C6;CJK COMPATIBILITY IDEOGRAPH-2F8C6;Lo;0;L;6477;;;;N;;;;; 2F8C7;CJK COMPATIBILITY IDEOGRAPH-2F8C7;Lo;0;L;3A6C;;;;N;;;;; 2F8C8;CJK COMPATIBILITY IDEOGRAPH-2F8C8;Lo;0;L;654F;;;;N;;;;; 2F8C9;CJK COMPATIBILITY IDEOGRAPH-2F8C9;Lo;0;L;656C;;;;N;;;;; 2F8CA;CJK COMPATIBILITY IDEOGRAPH-2F8CA;Lo;0;L;2300A;;;;N;;;;; 2F8CB;CJK COMPATIBILITY IDEOGRAPH-2F8CB;Lo;0;L;65E3;;;;N;;;;; 2F8CC;CJK COMPATIBILITY IDEOGRAPH-2F8CC;Lo;0;L;66F8;;;;N;;;;; 2F8CD;CJK COMPATIBILITY IDEOGRAPH-2F8CD;Lo;0;L;6649;;;;N;;;;; 2F8CE;CJK COMPATIBILITY IDEOGRAPH-2F8CE;Lo;0;L;3B19;;;;N;;;;; 2F8CF;CJK COMPATIBILITY IDEOGRAPH-2F8CF;Lo;0;L;6691;;;;N;;;;; 2F8D0;CJK COMPATIBILITY IDEOGRAPH-2F8D0;Lo;0;L;3B08;;;;N;;;;; 2F8D1;CJK COMPATIBILITY IDEOGRAPH-2F8D1;Lo;0;L;3AE4;;;;N;;;;; 2F8D2;CJK COMPATIBILITY IDEOGRAPH-2F8D2;Lo;0;L;5192;;;;N;;;;; 2F8D3;CJK COMPATIBILITY IDEOGRAPH-2F8D3;Lo;0;L;5195;;;;N;;;;; 2F8D4;CJK COMPATIBILITY IDEOGRAPH-2F8D4;Lo;0;L;6700;;;;N;;;;; 2F8D5;CJK COMPATIBILITY IDEOGRAPH-2F8D5;Lo;0;L;669C;;;;N;;;;; 2F8D6;CJK COMPATIBILITY IDEOGRAPH-2F8D6;Lo;0;L;80AD;;;;N;;;;; 2F8D7;CJK COMPATIBILITY IDEOGRAPH-2F8D7;Lo;0;L;43D9;;;;N;;;;; 2F8D8;CJK COMPATIBILITY IDEOGRAPH-2F8D8;Lo;0;L;6717;;;;N;;;;; 2F8D9;CJK COMPATIBILITY IDEOGRAPH-2F8D9;Lo;0;L;671B;;;;N;;;;; 2F8DA;CJK COMPATIBILITY IDEOGRAPH-2F8DA;Lo;0;L;6721;;;;N;;;;; 2F8DB;CJK COMPATIBILITY IDEOGRAPH-2F8DB;Lo;0;L;675E;;;;N;;;;; 2F8DC;CJK COMPATIBILITY IDEOGRAPH-2F8DC;Lo;0;L;6753;;;;N;;;;; 2F8DD;CJK COMPATIBILITY IDEOGRAPH-2F8DD;Lo;0;L;233C3;;;;N;;;;; 2F8DE;CJK COMPATIBILITY IDEOGRAPH-2F8DE;Lo;0;L;3B49;;;;N;;;;; 2F8DF;CJK COMPATIBILITY IDEOGRAPH-2F8DF;Lo;0;L;67FA;;;;N;;;;; 2F8E0;CJK COMPATIBILITY IDEOGRAPH-2F8E0;Lo;0;L;6785;;;;N;;;;; 2F8E1;CJK COMPATIBILITY IDEOGRAPH-2F8E1;Lo;0;L;6852;;;;N;;;;; 2F8E2;CJK COMPATIBILITY IDEOGRAPH-2F8E2;Lo;0;L;6885;;;;N;;;;; 2F8E3;CJK COMPATIBILITY IDEOGRAPH-2F8E3;Lo;0;L;2346D;;;;N;;;;; 2F8E4;CJK COMPATIBILITY IDEOGRAPH-2F8E4;Lo;0;L;688E;;;;N;;;;; 2F8E5;CJK COMPATIBILITY IDEOGRAPH-2F8E5;Lo;0;L;681F;;;;N;;;;; 2F8E6;CJK COMPATIBILITY IDEOGRAPH-2F8E6;Lo;0;L;6914;;;;N;;;;; 2F8E7;CJK COMPATIBILITY IDEOGRAPH-2F8E7;Lo;0;L;3B9D;;;;N;;;;; 2F8E8;CJK COMPATIBILITY IDEOGRAPH-2F8E8;Lo;0;L;6942;;;;N;;;;; 2F8E9;CJK COMPATIBILITY IDEOGRAPH-2F8E9;Lo;0;L;69A3;;;;N;;;;; 2F8EA;CJK COMPATIBILITY IDEOGRAPH-2F8EA;Lo;0;L;69EA;;;;N;;;;; 2F8EB;CJK COMPATIBILITY IDEOGRAPH-2F8EB;Lo;0;L;6AA8;;;;N;;;;; 2F8EC;CJK COMPATIBILITY IDEOGRAPH-2F8EC;Lo;0;L;236A3;;;;N;;;;; 2F8ED;CJK COMPATIBILITY IDEOGRAPH-2F8ED;Lo;0;L;6ADB;;;;N;;;;; 2F8EE;CJK COMPATIBILITY IDEOGRAPH-2F8EE;Lo;0;L;3C18;;;;N;;;;; 2F8EF;CJK COMPATIBILITY IDEOGRAPH-2F8EF;Lo;0;L;6B21;;;;N;;;;; 2F8F0;CJK COMPATIBILITY IDEOGRAPH-2F8F0;Lo;0;L;238A7;;;;N;;;;; 2F8F1;CJK COMPATIBILITY IDEOGRAPH-2F8F1;Lo;0;L;6B54;;;;N;;;;; 2F8F2;CJK COMPATIBILITY IDEOGRAPH-2F8F2;Lo;0;L;3C4E;;;;N;;;;; 2F8F3;CJK COMPATIBILITY IDEOGRAPH-2F8F3;Lo;0;L;6B72;;;;N;;;;; 2F8F4;CJK COMPATIBILITY IDEOGRAPH-2F8F4;Lo;0;L;6B9F;;;;N;;;;; 2F8F5;CJK COMPATIBILITY IDEOGRAPH-2F8F5;Lo;0;L;6BBA;;;;N;;;;; 2F8F6;CJK COMPATIBILITY IDEOGRAPH-2F8F6;Lo;0;L;6BBB;;;;N;;;;; 2F8F7;CJK COMPATIBILITY IDEOGRAPH-2F8F7;Lo;0;L;23A8D;;;;N;;;;; 2F8F8;CJK COMPATIBILITY IDEOGRAPH-2F8F8;Lo;0;L;21D0B;;;;N;;;;; 2F8F9;CJK COMPATIBILITY IDEOGRAPH-2F8F9;Lo;0;L;23AFA;;;;N;;;;; 2F8FA;CJK COMPATIBILITY IDEOGRAPH-2F8FA;Lo;0;L;6C4E;;;;N;;;;; 2F8FB;CJK COMPATIBILITY IDEOGRAPH-2F8FB;Lo;0;L;23CBC;;;;N;;;;; 2F8FC;CJK COMPATIBILITY IDEOGRAPH-2F8FC;Lo;0;L;6CBF;;;;N;;;;; 2F8FD;CJK COMPATIBILITY IDEOGRAPH-2F8FD;Lo;0;L;6CCD;;;;N;;;;; 2F8FE;CJK COMPATIBILITY IDEOGRAPH-2F8FE;Lo;0;L;6C67;;;;N;;;;; 2F8FF;CJK COMPATIBILITY IDEOGRAPH-2F8FF;Lo;0;L;6D16;;;;N;;;;; 2F900;CJK COMPATIBILITY IDEOGRAPH-2F900;Lo;0;L;6D3E;;;;N;;;;; 2F901;CJK COMPATIBILITY IDEOGRAPH-2F901;Lo;0;L;6D77;;;;N;;;;; 2F902;CJK COMPATIBILITY IDEOGRAPH-2F902;Lo;0;L;6D41;;;;N;;;;; 2F903;CJK COMPATIBILITY IDEOGRAPH-2F903;Lo;0;L;6D69;;;;N;;;;; 2F904;CJK COMPATIBILITY IDEOGRAPH-2F904;Lo;0;L;6D78;;;;N;;;;; 2F905;CJK COMPATIBILITY IDEOGRAPH-2F905;Lo;0;L;6D85;;;;N;;;;; 2F906;CJK COMPATIBILITY IDEOGRAPH-2F906;Lo;0;L;23D1E;;;;N;;;;; 2F907;CJK COMPATIBILITY IDEOGRAPH-2F907;Lo;0;L;6D34;;;;N;;;;; 2F908;CJK COMPATIBILITY IDEOGRAPH-2F908;Lo;0;L;6E2F;;;;N;;;;; 2F909;CJK COMPATIBILITY IDEOGRAPH-2F909;Lo;0;L;6E6E;;;;N;;;;; 2F90A;CJK COMPATIBILITY IDEOGRAPH-2F90A;Lo;0;L;3D33;;;;N;;;;; 2F90B;CJK COMPATIBILITY IDEOGRAPH-2F90B;Lo;0;L;6ECB;;;;N;;;;; 2F90C;CJK COMPATIBILITY IDEOGRAPH-2F90C;Lo;0;L;6EC7;;;;N;;;;; 2F90D;CJK COMPATIBILITY IDEOGRAPH-2F90D;Lo;0;L;23ED1;;;;N;;;;; 2F90E;CJK COMPATIBILITY IDEOGRAPH-2F90E;Lo;0;L;6DF9;;;;N;;;;; 2F90F;CJK COMPATIBILITY IDEOGRAPH-2F90F;Lo;0;L;6F6E;;;;N;;;;; 2F910;CJK COMPATIBILITY IDEOGRAPH-2F910;Lo;0;L;23F5E;;;;N;;;;; 2F911;CJK COMPATIBILITY IDEOGRAPH-2F911;Lo;0;L;23F8E;;;;N;;;;; 2F912;CJK COMPATIBILITY IDEOGRAPH-2F912;Lo;0;L;6FC6;;;;N;;;;; 2F913;CJK COMPATIBILITY IDEOGRAPH-2F913;Lo;0;L;7039;;;;N;;;;; 2F914;CJK COMPATIBILITY IDEOGRAPH-2F914;Lo;0;L;701E;;;;N;;;;; 2F915;CJK COMPATIBILITY IDEOGRAPH-2F915;Lo;0;L;701B;;;;N;;;;; 2F916;CJK COMPATIBILITY IDEOGRAPH-2F916;Lo;0;L;3D96;;;;N;;;;; 2F917;CJK COMPATIBILITY IDEOGRAPH-2F917;Lo;0;L;704A;;;;N;;;;; 2F918;CJK COMPATIBILITY IDEOGRAPH-2F918;Lo;0;L;707D;;;;N;;;;; 2F919;CJK COMPATIBILITY IDEOGRAPH-2F919;Lo;0;L;7077;;;;N;;;;; 2F91A;CJK COMPATIBILITY IDEOGRAPH-2F91A;Lo;0;L;70AD;;;;N;;;;; 2F91B;CJK COMPATIBILITY IDEOGRAPH-2F91B;Lo;0;L;20525;;;;N;;;;; 2F91C;CJK COMPATIBILITY IDEOGRAPH-2F91C;Lo;0;L;7145;;;;N;;;;; 2F91D;CJK COMPATIBILITY IDEOGRAPH-2F91D;Lo;0;L;24263;;;;N;;;;; 2F91E;CJK COMPATIBILITY IDEOGRAPH-2F91E;Lo;0;L;719C;;;;N;;;;; 2F91F;CJK COMPATIBILITY IDEOGRAPH-2F91F;Lo;0;L;243AB;;;;N;;;;; 2F920;CJK COMPATIBILITY IDEOGRAPH-2F920;Lo;0;L;7228;;;;N;;;;; 2F921;CJK COMPATIBILITY IDEOGRAPH-2F921;Lo;0;L;7235;;;;N;;;;; 2F922;CJK COMPATIBILITY IDEOGRAPH-2F922;Lo;0;L;7250;;;;N;;;;; 2F923;CJK COMPATIBILITY IDEOGRAPH-2F923;Lo;0;L;24608;;;;N;;;;; 2F924;CJK COMPATIBILITY IDEOGRAPH-2F924;Lo;0;L;7280;;;;N;;;;; 2F925;CJK COMPATIBILITY IDEOGRAPH-2F925;Lo;0;L;7295;;;;N;;;;; 2F926;CJK COMPATIBILITY IDEOGRAPH-2F926;Lo;0;L;24735;;;;N;;;;; 2F927;CJK COMPATIBILITY IDEOGRAPH-2F927;Lo;0;L;24814;;;;N;;;;; 2F928;CJK COMPATIBILITY IDEOGRAPH-2F928;Lo;0;L;737A;;;;N;;;;; 2F929;CJK COMPATIBILITY IDEOGRAPH-2F929;Lo;0;L;738B;;;;N;;;;; 2F92A;CJK COMPATIBILITY IDEOGRAPH-2F92A;Lo;0;L;3EAC;;;;N;;;;; 2F92B;CJK COMPATIBILITY IDEOGRAPH-2F92B;Lo;0;L;73A5;;;;N;;;;; 2F92C;CJK COMPATIBILITY IDEOGRAPH-2F92C;Lo;0;L;3EB8;;;;N;;;;; 2F92D;CJK COMPATIBILITY IDEOGRAPH-2F92D;Lo;0;L;3EB8;;;;N;;;;; 2F92E;CJK COMPATIBILITY IDEOGRAPH-2F92E;Lo;0;L;7447;;;;N;;;;; 2F92F;CJK COMPATIBILITY IDEOGRAPH-2F92F;Lo;0;L;745C;;;;N;;;;; 2F930;CJK COMPATIBILITY IDEOGRAPH-2F930;Lo;0;L;7471;;;;N;;;;; 2F931;CJK COMPATIBILITY IDEOGRAPH-2F931;Lo;0;L;7485;;;;N;;;;; 2F932;CJK COMPATIBILITY IDEOGRAPH-2F932;Lo;0;L;74CA;;;;N;;;;; 2F933;CJK COMPATIBILITY IDEOGRAPH-2F933;Lo;0;L;3F1B;;;;N;;;;; 2F934;CJK COMPATIBILITY IDEOGRAPH-2F934;Lo;0;L;7524;;;;N;;;;; 2F935;CJK COMPATIBILITY IDEOGRAPH-2F935;Lo;0;L;24C36;;;;N;;;;; 2F936;CJK COMPATIBILITY IDEOGRAPH-2F936;Lo;0;L;753E;;;;N;;;;; 2F937;CJK COMPATIBILITY IDEOGRAPH-2F937;Lo;0;L;24C92;;;;N;;;;; 2F938;CJK COMPATIBILITY IDEOGRAPH-2F938;Lo;0;L;7570;;;;N;;;;; 2F939;CJK COMPATIBILITY IDEOGRAPH-2F939;Lo;0;L;2219F;;;;N;;;;; 2F93A;CJK COMPATIBILITY IDEOGRAPH-2F93A;Lo;0;L;7610;;;;N;;;;; 2F93B;CJK COMPATIBILITY IDEOGRAPH-2F93B;Lo;0;L;24FA1;;;;N;;;;; 2F93C;CJK COMPATIBILITY IDEOGRAPH-2F93C;Lo;0;L;24FB8;;;;N;;;;; 2F93D;CJK COMPATIBILITY IDEOGRAPH-2F93D;Lo;0;L;25044;;;;N;;;;; 2F93E;CJK COMPATIBILITY IDEOGRAPH-2F93E;Lo;0;L;3FFC;;;;N;;;;; 2F93F;CJK COMPATIBILITY IDEOGRAPH-2F93F;Lo;0;L;4008;;;;N;;;;; 2F940;CJK COMPATIBILITY IDEOGRAPH-2F940;Lo;0;L;76F4;;;;N;;;;; 2F941;CJK COMPATIBILITY IDEOGRAPH-2F941;Lo;0;L;250F3;;;;N;;;;; 2F942;CJK COMPATIBILITY IDEOGRAPH-2F942;Lo;0;L;250F2;;;;N;;;;; 2F943;CJK COMPATIBILITY IDEOGRAPH-2F943;Lo;0;L;25119;;;;N;;;;; 2F944;CJK COMPATIBILITY IDEOGRAPH-2F944;Lo;0;L;25133;;;;N;;;;; 2F945;CJK COMPATIBILITY IDEOGRAPH-2F945;Lo;0;L;771E;;;;N;;;;; 2F946;CJK COMPATIBILITY IDEOGRAPH-2F946;Lo;0;L;771F;;;;N;;;;; 2F947;CJK COMPATIBILITY IDEOGRAPH-2F947;Lo;0;L;771F;;;;N;;;;; 2F948;CJK COMPATIBILITY IDEOGRAPH-2F948;Lo;0;L;774A;;;;N;;;;; 2F949;CJK COMPATIBILITY IDEOGRAPH-2F949;Lo;0;L;4039;;;;N;;;;; 2F94A;CJK COMPATIBILITY IDEOGRAPH-2F94A;Lo;0;L;778B;;;;N;;;;; 2F94B;CJK COMPATIBILITY IDEOGRAPH-2F94B;Lo;0;L;4046;;;;N;;;;; 2F94C;CJK COMPATIBILITY IDEOGRAPH-2F94C;Lo;0;L;4096;;;;N;;;;; 2F94D;CJK COMPATIBILITY IDEOGRAPH-2F94D;Lo;0;L;2541D;;;;N;;;;; 2F94E;CJK COMPATIBILITY IDEOGRAPH-2F94E;Lo;0;L;784E;;;;N;;;;; 2F94F;CJK COMPATIBILITY IDEOGRAPH-2F94F;Lo;0;L;788C;;;;N;;;;; 2F950;CJK COMPATIBILITY IDEOGRAPH-2F950;Lo;0;L;78CC;;;;N;;;;; 2F951;CJK COMPATIBILITY IDEOGRAPH-2F951;Lo;0;L;40E3;;;;N;;;;; 2F952;CJK COMPATIBILITY IDEOGRAPH-2F952;Lo;0;L;25626;;;;N;;;;; 2F953;CJK COMPATIBILITY IDEOGRAPH-2F953;Lo;0;L;7956;;;;N;;;;; 2F954;CJK COMPATIBILITY IDEOGRAPH-2F954;Lo;0;L;2569A;;;;N;;;;; 2F955;CJK COMPATIBILITY IDEOGRAPH-2F955;Lo;0;L;256C5;;;;N;;;;; 2F956;CJK COMPATIBILITY IDEOGRAPH-2F956;Lo;0;L;798F;;;;N;;;;; 2F957;CJK COMPATIBILITY IDEOGRAPH-2F957;Lo;0;L;79EB;;;;N;;;;; 2F958;CJK COMPATIBILITY IDEOGRAPH-2F958;Lo;0;L;412F;;;;N;;;;; 2F959;CJK COMPATIBILITY IDEOGRAPH-2F959;Lo;0;L;7A40;;;;N;;;;; 2F95A;CJK COMPATIBILITY IDEOGRAPH-2F95A;Lo;0;L;7A4A;;;;N;;;;; 2F95B;CJK COMPATIBILITY IDEOGRAPH-2F95B;Lo;0;L;7A4F;;;;N;;;;; 2F95C;CJK COMPATIBILITY IDEOGRAPH-2F95C;Lo;0;L;2597C;;;;N;;;;; 2F95D;CJK COMPATIBILITY IDEOGRAPH-2F95D;Lo;0;L;25AA7;;;;N;;;;; 2F95E;CJK COMPATIBILITY IDEOGRAPH-2F95E;Lo;0;L;25AA7;;;;N;;;;; 2F95F;CJK COMPATIBILITY IDEOGRAPH-2F95F;Lo;0;L;7AEE;;;;N;;;;; 2F960;CJK COMPATIBILITY IDEOGRAPH-2F960;Lo;0;L;4202;;;;N;;;;; 2F961;CJK COMPATIBILITY IDEOGRAPH-2F961;Lo;0;L;25BAB;;;;N;;;;; 2F962;CJK COMPATIBILITY IDEOGRAPH-2F962;Lo;0;L;7BC6;;;;N;;;;; 2F963;CJK COMPATIBILITY IDEOGRAPH-2F963;Lo;0;L;7BC9;;;;N;;;;; 2F964;CJK COMPATIBILITY IDEOGRAPH-2F964;Lo;0;L;4227;;;;N;;;;; 2F965;CJK COMPATIBILITY IDEOGRAPH-2F965;Lo;0;L;25C80;;;;N;;;;; 2F966;CJK COMPATIBILITY IDEOGRAPH-2F966;Lo;0;L;7CD2;;;;N;;;;; 2F967;CJK COMPATIBILITY IDEOGRAPH-2F967;Lo;0;L;42A0;;;;N;;;;; 2F968;CJK COMPATIBILITY IDEOGRAPH-2F968;Lo;0;L;7CE8;;;;N;;;;; 2F969;CJK COMPATIBILITY IDEOGRAPH-2F969;Lo;0;L;7CE3;;;;N;;;;; 2F96A;CJK COMPATIBILITY IDEOGRAPH-2F96A;Lo;0;L;7D00;;;;N;;;;; 2F96B;CJK COMPATIBILITY IDEOGRAPH-2F96B;Lo;0;L;25F86;;;;N;;;;; 2F96C;CJK COMPATIBILITY IDEOGRAPH-2F96C;Lo;0;L;7D63;;;;N;;;;; 2F96D;CJK COMPATIBILITY IDEOGRAPH-2F96D;Lo;0;L;4301;;;;N;;;;; 2F96E;CJK COMPATIBILITY IDEOGRAPH-2F96E;Lo;0;L;7DC7;;;;N;;;;; 2F96F;CJK COMPATIBILITY IDEOGRAPH-2F96F;Lo;0;L;7E02;;;;N;;;;; 2F970;CJK COMPATIBILITY IDEOGRAPH-2F970;Lo;0;L;7E45;;;;N;;;;; 2F971;CJK COMPATIBILITY IDEOGRAPH-2F971;Lo;0;L;4334;;;;N;;;;; 2F972;CJK COMPATIBILITY IDEOGRAPH-2F972;Lo;0;L;26228;;;;N;;;;; 2F973;CJK COMPATIBILITY IDEOGRAPH-2F973;Lo;0;L;26247;;;;N;;;;; 2F974;CJK COMPATIBILITY IDEOGRAPH-2F974;Lo;0;L;4359;;;;N;;;;; 2F975;CJK COMPATIBILITY IDEOGRAPH-2F975;Lo;0;L;262D9;;;;N;;;;; 2F976;CJK COMPATIBILITY IDEOGRAPH-2F976;Lo;0;L;7F7A;;;;N;;;;; 2F977;CJK COMPATIBILITY IDEOGRAPH-2F977;Lo;0;L;2633E;;;;N;;;;; 2F978;CJK COMPATIBILITY IDEOGRAPH-2F978;Lo;0;L;7F95;;;;N;;;;; 2F979;CJK COMPATIBILITY IDEOGRAPH-2F979;Lo;0;L;7FFA;;;;N;;;;; 2F97A;CJK COMPATIBILITY IDEOGRAPH-2F97A;Lo;0;L;8005;;;;N;;;;; 2F97B;CJK COMPATIBILITY IDEOGRAPH-2F97B;Lo;0;L;264DA;;;;N;;;;; 2F97C;CJK COMPATIBILITY IDEOGRAPH-2F97C;Lo;0;L;26523;;;;N;;;;; 2F97D;CJK COMPATIBILITY IDEOGRAPH-2F97D;Lo;0;L;8060;;;;N;;;;; 2F97E;CJK COMPATIBILITY IDEOGRAPH-2F97E;Lo;0;L;265A8;;;;N;;;;; 2F97F;CJK COMPATIBILITY IDEOGRAPH-2F97F;Lo;0;L;8070;;;;N;;;;; 2F980;CJK COMPATIBILITY IDEOGRAPH-2F980;Lo;0;L;2335F;;;;N;;;;; 2F981;CJK COMPATIBILITY IDEOGRAPH-2F981;Lo;0;L;43D5;;;;N;;;;; 2F982;CJK COMPATIBILITY IDEOGRAPH-2F982;Lo;0;L;80B2;;;;N;;;;; 2F983;CJK COMPATIBILITY IDEOGRAPH-2F983;Lo;0;L;8103;;;;N;;;;; 2F984;CJK COMPATIBILITY IDEOGRAPH-2F984;Lo;0;L;440B;;;;N;;;;; 2F985;CJK COMPATIBILITY IDEOGRAPH-2F985;Lo;0;L;813E;;;;N;;;;; 2F986;CJK COMPATIBILITY IDEOGRAPH-2F986;Lo;0;L;5AB5;;;;N;;;;; 2F987;CJK COMPATIBILITY IDEOGRAPH-2F987;Lo;0;L;267A7;;;;N;;;;; 2F988;CJK COMPATIBILITY IDEOGRAPH-2F988;Lo;0;L;267B5;;;;N;;;;; 2F989;CJK COMPATIBILITY IDEOGRAPH-2F989;Lo;0;L;23393;;;;N;;;;; 2F98A;CJK COMPATIBILITY IDEOGRAPH-2F98A;Lo;0;L;2339C;;;;N;;;;; 2F98B;CJK COMPATIBILITY IDEOGRAPH-2F98B;Lo;0;L;8201;;;;N;;;;; 2F98C;CJK COMPATIBILITY IDEOGRAPH-2F98C;Lo;0;L;8204;;;;N;;;;; 2F98D;CJK COMPATIBILITY IDEOGRAPH-2F98D;Lo;0;L;8F9E;;;;N;;;;; 2F98E;CJK COMPATIBILITY IDEOGRAPH-2F98E;Lo;0;L;446B;;;;N;;;;; 2F98F;CJK COMPATIBILITY IDEOGRAPH-2F98F;Lo;0;L;8291;;;;N;;;;; 2F990;CJK COMPATIBILITY IDEOGRAPH-2F990;Lo;0;L;828B;;;;N;;;;; 2F991;CJK COMPATIBILITY IDEOGRAPH-2F991;Lo;0;L;829D;;;;N;;;;; 2F992;CJK COMPATIBILITY IDEOGRAPH-2F992;Lo;0;L;52B3;;;;N;;;;; 2F993;CJK COMPATIBILITY IDEOGRAPH-2F993;Lo;0;L;82B1;;;;N;;;;; 2F994;CJK COMPATIBILITY IDEOGRAPH-2F994;Lo;0;L;82B3;;;;N;;;;; 2F995;CJK COMPATIBILITY IDEOGRAPH-2F995;Lo;0;L;82BD;;;;N;;;;; 2F996;CJK COMPATIBILITY IDEOGRAPH-2F996;Lo;0;L;82E6;;;;N;;;;; 2F997;CJK COMPATIBILITY IDEOGRAPH-2F997;Lo;0;L;26B3C;;;;N;;;;; 2F998;CJK COMPATIBILITY IDEOGRAPH-2F998;Lo;0;L;82E5;;;;N;;;;; 2F999;CJK COMPATIBILITY IDEOGRAPH-2F999;Lo;0;L;831D;;;;N;;;;; 2F99A;CJK COMPATIBILITY IDEOGRAPH-2F99A;Lo;0;L;8363;;;;N;;;;; 2F99B;CJK COMPATIBILITY IDEOGRAPH-2F99B;Lo;0;L;83AD;;;;N;;;;; 2F99C;CJK COMPATIBILITY IDEOGRAPH-2F99C;Lo;0;L;8323;;;;N;;;;; 2F99D;CJK COMPATIBILITY IDEOGRAPH-2F99D;Lo;0;L;83BD;;;;N;;;;; 2F99E;CJK COMPATIBILITY IDEOGRAPH-2F99E;Lo;0;L;83E7;;;;N;;;;; 2F99F;CJK COMPATIBILITY IDEOGRAPH-2F99F;Lo;0;L;8457;;;;N;;;;; 2F9A0;CJK COMPATIBILITY IDEOGRAPH-2F9A0;Lo;0;L;8353;;;;N;;;;; 2F9A1;CJK COMPATIBILITY IDEOGRAPH-2F9A1;Lo;0;L;83CA;;;;N;;;;; 2F9A2;CJK COMPATIBILITY IDEOGRAPH-2F9A2;Lo;0;L;83CC;;;;N;;;;; 2F9A3;CJK COMPATIBILITY IDEOGRAPH-2F9A3;Lo;0;L;83DC;;;;N;;;;; 2F9A4;CJK COMPATIBILITY IDEOGRAPH-2F9A4;Lo;0;L;26C36;;;;N;;;;; 2F9A5;CJK COMPATIBILITY IDEOGRAPH-2F9A5;Lo;0;L;26D6B;;;;N;;;;; 2F9A6;CJK COMPATIBILITY IDEOGRAPH-2F9A6;Lo;0;L;26CD5;;;;N;;;;; 2F9A7;CJK COMPATIBILITY IDEOGRAPH-2F9A7;Lo;0;L;452B;;;;N;;;;; 2F9A8;CJK COMPATIBILITY IDEOGRAPH-2F9A8;Lo;0;L;84F1;;;;N;;;;; 2F9A9;CJK COMPATIBILITY IDEOGRAPH-2F9A9;Lo;0;L;84F3;;;;N;;;;; 2F9AA;CJK COMPATIBILITY IDEOGRAPH-2F9AA;Lo;0;L;8516;;;;N;;;;; 2F9AB;CJK COMPATIBILITY IDEOGRAPH-2F9AB;Lo;0;L;273CA;;;;N;;;;; 2F9AC;CJK COMPATIBILITY IDEOGRAPH-2F9AC;Lo;0;L;8564;;;;N;;;;; 2F9AD;CJK COMPATIBILITY IDEOGRAPH-2F9AD;Lo;0;L;26F2C;;;;N;;;;; 2F9AE;CJK COMPATIBILITY IDEOGRAPH-2F9AE;Lo;0;L;455D;;;;N;;;;; 2F9AF;CJK COMPATIBILITY IDEOGRAPH-2F9AF;Lo;0;L;4561;;;;N;;;;; 2F9B0;CJK COMPATIBILITY IDEOGRAPH-2F9B0;Lo;0;L;26FB1;;;;N;;;;; 2F9B1;CJK COMPATIBILITY IDEOGRAPH-2F9B1;Lo;0;L;270D2;;;;N;;;;; 2F9B2;CJK COMPATIBILITY IDEOGRAPH-2F9B2;Lo;0;L;456B;;;;N;;;;; 2F9B3;CJK COMPATIBILITY IDEOGRAPH-2F9B3;Lo;0;L;8650;;;;N;;;;; 2F9B4;CJK COMPATIBILITY IDEOGRAPH-2F9B4;Lo;0;L;865C;;;;N;;;;; 2F9B5;CJK COMPATIBILITY IDEOGRAPH-2F9B5;Lo;0;L;8667;;;;N;;;;; 2F9B6;CJK COMPATIBILITY IDEOGRAPH-2F9B6;Lo;0;L;8669;;;;N;;;;; 2F9B7;CJK COMPATIBILITY IDEOGRAPH-2F9B7;Lo;0;L;86A9;;;;N;;;;; 2F9B8;CJK COMPATIBILITY IDEOGRAPH-2F9B8;Lo;0;L;8688;;;;N;;;;; 2F9B9;CJK COMPATIBILITY IDEOGRAPH-2F9B9;Lo;0;L;870E;;;;N;;;;; 2F9BA;CJK COMPATIBILITY IDEOGRAPH-2F9BA;Lo;0;L;86E2;;;;N;;;;; 2F9BB;CJK COMPATIBILITY IDEOGRAPH-2F9BB;Lo;0;L;8779;;;;N;;;;; 2F9BC;CJK COMPATIBILITY IDEOGRAPH-2F9BC;Lo;0;L;8728;;;;N;;;;; 2F9BD;CJK COMPATIBILITY IDEOGRAPH-2F9BD;Lo;0;L;876B;;;;N;;;;; 2F9BE;CJK COMPATIBILITY IDEOGRAPH-2F9BE;Lo;0;L;8786;;;;N;;;;; 2F9BF;CJK COMPATIBILITY IDEOGRAPH-2F9BF;Lo;0;L;45D7;;;;N;;;;; 2F9C0;CJK COMPATIBILITY IDEOGRAPH-2F9C0;Lo;0;L;87E1;;;;N;;;;; 2F9C1;CJK COMPATIBILITY IDEOGRAPH-2F9C1;Lo;0;L;8801;;;;N;;;;; 2F9C2;CJK COMPATIBILITY IDEOGRAPH-2F9C2;Lo;0;L;45F9;;;;N;;;;; 2F9C3;CJK COMPATIBILITY IDEOGRAPH-2F9C3;Lo;0;L;8860;;;;N;;;;; 2F9C4;CJK COMPATIBILITY IDEOGRAPH-2F9C4;Lo;0;L;8863;;;;N;;;;; 2F9C5;CJK COMPATIBILITY IDEOGRAPH-2F9C5;Lo;0;L;27667;;;;N;;;;; 2F9C6;CJK COMPATIBILITY IDEOGRAPH-2F9C6;Lo;0;L;88D7;;;;N;;;;; 2F9C7;CJK COMPATIBILITY IDEOGRAPH-2F9C7;Lo;0;L;88DE;;;;N;;;;; 2F9C8;CJK COMPATIBILITY IDEOGRAPH-2F9C8;Lo;0;L;4635;;;;N;;;;; 2F9C9;CJK COMPATIBILITY IDEOGRAPH-2F9C9;Lo;0;L;88FA;;;;N;;;;; 2F9CA;CJK COMPATIBILITY IDEOGRAPH-2F9CA;Lo;0;L;34BB;;;;N;;;;; 2F9CB;CJK COMPATIBILITY IDEOGRAPH-2F9CB;Lo;0;L;278AE;;;;N;;;;; 2F9CC;CJK COMPATIBILITY IDEOGRAPH-2F9CC;Lo;0;L;27966;;;;N;;;;; 2F9CD;CJK COMPATIBILITY IDEOGRAPH-2F9CD;Lo;0;L;46BE;;;;N;;;;; 2F9CE;CJK COMPATIBILITY IDEOGRAPH-2F9CE;Lo;0;L;46C7;;;;N;;;;; 2F9CF;CJK COMPATIBILITY IDEOGRAPH-2F9CF;Lo;0;L;8AA0;;;;N;;;;; 2F9D0;CJK COMPATIBILITY IDEOGRAPH-2F9D0;Lo;0;L;8AED;;;;N;;;;; 2F9D1;CJK COMPATIBILITY IDEOGRAPH-2F9D1;Lo;0;L;8B8A;;;;N;;;;; 2F9D2;CJK COMPATIBILITY IDEOGRAPH-2F9D2;Lo;0;L;8C55;;;;N;;;;; 2F9D3;CJK COMPATIBILITY IDEOGRAPH-2F9D3;Lo;0;L;27CA8;;;;N;;;;; 2F9D4;CJK COMPATIBILITY IDEOGRAPH-2F9D4;Lo;0;L;8CAB;;;;N;;;;; 2F9D5;CJK COMPATIBILITY IDEOGRAPH-2F9D5;Lo;0;L;8CC1;;;;N;;;;; 2F9D6;CJK COMPATIBILITY IDEOGRAPH-2F9D6;Lo;0;L;8D1B;;;;N;;;;; 2F9D7;CJK COMPATIBILITY IDEOGRAPH-2F9D7;Lo;0;L;8D77;;;;N;;;;; 2F9D8;CJK COMPATIBILITY IDEOGRAPH-2F9D8;Lo;0;L;27F2F;;;;N;;;;; 2F9D9;CJK COMPATIBILITY IDEOGRAPH-2F9D9;Lo;0;L;20804;;;;N;;;;; 2F9DA;CJK COMPATIBILITY IDEOGRAPH-2F9DA;Lo;0;L;8DCB;;;;N;;;;; 2F9DB;CJK COMPATIBILITY IDEOGRAPH-2F9DB;Lo;0;L;8DBC;;;;N;;;;; 2F9DC;CJK COMPATIBILITY IDEOGRAPH-2F9DC;Lo;0;L;8DF0;;;;N;;;;; 2F9DD;CJK COMPATIBILITY IDEOGRAPH-2F9DD;Lo;0;L;208DE;;;;N;;;;; 2F9DE;CJK COMPATIBILITY IDEOGRAPH-2F9DE;Lo;0;L;8ED4;;;;N;;;;; 2F9DF;CJK COMPATIBILITY IDEOGRAPH-2F9DF;Lo;0;L;8F38;;;;N;;;;; 2F9E0;CJK COMPATIBILITY IDEOGRAPH-2F9E0;Lo;0;L;285D2;;;;N;;;;; 2F9E1;CJK COMPATIBILITY IDEOGRAPH-2F9E1;Lo;0;L;285ED;;;;N;;;;; 2F9E2;CJK COMPATIBILITY IDEOGRAPH-2F9E2;Lo;0;L;9094;;;;N;;;;; 2F9E3;CJK COMPATIBILITY IDEOGRAPH-2F9E3;Lo;0;L;90F1;;;;N;;;;; 2F9E4;CJK COMPATIBILITY IDEOGRAPH-2F9E4;Lo;0;L;9111;;;;N;;;;; 2F9E5;CJK COMPATIBILITY IDEOGRAPH-2F9E5;Lo;0;L;2872E;;;;N;;;;; 2F9E6;CJK COMPATIBILITY IDEOGRAPH-2F9E6;Lo;0;L;911B;;;;N;;;;; 2F9E7;CJK COMPATIBILITY IDEOGRAPH-2F9E7;Lo;0;L;9238;;;;N;;;;; 2F9E8;CJK COMPATIBILITY IDEOGRAPH-2F9E8;Lo;0;L;92D7;;;;N;;;;; 2F9E9;CJK COMPATIBILITY IDEOGRAPH-2F9E9;Lo;0;L;92D8;;;;N;;;;; 2F9EA;CJK COMPATIBILITY IDEOGRAPH-2F9EA;Lo;0;L;927C;;;;N;;;;; 2F9EB;CJK COMPATIBILITY IDEOGRAPH-2F9EB;Lo;0;L;93F9;;;;N;;;;; 2F9EC;CJK COMPATIBILITY IDEOGRAPH-2F9EC;Lo;0;L;9415;;;;N;;;;; 2F9ED;CJK COMPATIBILITY IDEOGRAPH-2F9ED;Lo;0;L;28BFA;;;;N;;;;; 2F9EE;CJK COMPATIBILITY IDEOGRAPH-2F9EE;Lo;0;L;958B;;;;N;;;;; 2F9EF;CJK COMPATIBILITY IDEOGRAPH-2F9EF;Lo;0;L;4995;;;;N;;;;; 2F9F0;CJK COMPATIBILITY IDEOGRAPH-2F9F0;Lo;0;L;95B7;;;;N;;;;; 2F9F1;CJK COMPATIBILITY IDEOGRAPH-2F9F1;Lo;0;L;28D77;;;;N;;;;; 2F9F2;CJK COMPATIBILITY IDEOGRAPH-2F9F2;Lo;0;L;49E6;;;;N;;;;; 2F9F3;CJK COMPATIBILITY IDEOGRAPH-2F9F3;Lo;0;L;96C3;;;;N;;;;; 2F9F4;CJK COMPATIBILITY IDEOGRAPH-2F9F4;Lo;0;L;5DB2;;;;N;;;;; 2F9F5;CJK COMPATIBILITY IDEOGRAPH-2F9F5;Lo;0;L;9723;;;;N;;;;; 2F9F6;CJK COMPATIBILITY IDEOGRAPH-2F9F6;Lo;0;L;29145;;;;N;;;;; 2F9F7;CJK COMPATIBILITY IDEOGRAPH-2F9F7;Lo;0;L;2921A;;;;N;;;;; 2F9F8;CJK COMPATIBILITY IDEOGRAPH-2F9F8;Lo;0;L;4A6E;;;;N;;;;; 2F9F9;CJK COMPATIBILITY IDEOGRAPH-2F9F9;Lo;0;L;4A76;;;;N;;;;; 2F9FA;CJK COMPATIBILITY IDEOGRAPH-2F9FA;Lo;0;L;97E0;;;;N;;;;; 2F9FB;CJK COMPATIBILITY IDEOGRAPH-2F9FB;Lo;0;L;2940A;;;;N;;;;; 2F9FC;CJK COMPATIBILITY IDEOGRAPH-2F9FC;Lo;0;L;4AB2;;;;N;;;;; 2F9FD;CJK COMPATIBILITY IDEOGRAPH-2F9FD;Lo;0;L;29496;;;;N;;;;; 2F9FE;CJK COMPATIBILITY IDEOGRAPH-2F9FE;Lo;0;L;980B;;;;N;;;;; 2F9FF;CJK COMPATIBILITY IDEOGRAPH-2F9FF;Lo;0;L;980B;;;;N;;;;; 2FA00;CJK COMPATIBILITY IDEOGRAPH-2FA00;Lo;0;L;9829;;;;N;;;;; 2FA01;CJK COMPATIBILITY IDEOGRAPH-2FA01;Lo;0;L;295B6;;;;N;;;;; 2FA02;CJK COMPATIBILITY IDEOGRAPH-2FA02;Lo;0;L;98E2;;;;N;;;;; 2FA03;CJK COMPATIBILITY IDEOGRAPH-2FA03;Lo;0;L;4B33;;;;N;;;;; 2FA04;CJK COMPATIBILITY IDEOGRAPH-2FA04;Lo;0;L;9929;;;;N;;;;; 2FA05;CJK COMPATIBILITY IDEOGRAPH-2FA05;Lo;0;L;99A7;;;;N;;;;; 2FA06;CJK COMPATIBILITY IDEOGRAPH-2FA06;Lo;0;L;99C2;;;;N;;;;; 2FA07;CJK COMPATIBILITY IDEOGRAPH-2FA07;Lo;0;L;99FE;;;;N;;;;; 2FA08;CJK COMPATIBILITY IDEOGRAPH-2FA08;Lo;0;L;4BCE;;;;N;;;;; 2FA09;CJK COMPATIBILITY IDEOGRAPH-2FA09;Lo;0;L;29B30;;;;N;;;;; 2FA0A;CJK COMPATIBILITY IDEOGRAPH-2FA0A;Lo;0;L;9B12;;;;N;;;;; 2FA0B;CJK COMPATIBILITY IDEOGRAPH-2FA0B;Lo;0;L;9C40;;;;N;;;;; 2FA0C;CJK COMPATIBILITY IDEOGRAPH-2FA0C;Lo;0;L;9CFD;;;;N;;;;; 2FA0D;CJK COMPATIBILITY IDEOGRAPH-2FA0D;Lo;0;L;4CCE;;;;N;;;;; 2FA0E;CJK COMPATIBILITY IDEOGRAPH-2FA0E;Lo;0;L;4CED;;;;N;;;;; 2FA0F;CJK COMPATIBILITY IDEOGRAPH-2FA0F;Lo;0;L;9D67;;;;N;;;;; 2FA10;CJK COMPATIBILITY IDEOGRAPH-2FA10;Lo;0;L;2A0CE;;;;N;;;;; 2FA11;CJK COMPATIBILITY IDEOGRAPH-2FA11;Lo;0;L;4CF8;;;;N;;;;; 2FA12;CJK COMPATIBILITY IDEOGRAPH-2FA12;Lo;0;L;2A105;;;;N;;;;; 2FA13;CJK COMPATIBILITY IDEOGRAPH-2FA13;Lo;0;L;2A20E;;;;N;;;;; 2FA14;CJK COMPATIBILITY IDEOGRAPH-2FA14;Lo;0;L;2A291;;;;N;;;;; 2FA15;CJK COMPATIBILITY IDEOGRAPH-2FA15;Lo;0;L;9EBB;;;;N;;;;; 2FA16;CJK COMPATIBILITY IDEOGRAPH-2FA16;Lo;0;L;4D56;;;;N;;;;; 2FA17;CJK COMPATIBILITY IDEOGRAPH-2FA17;Lo;0;L;9EF9;;;;N;;;;; 2FA18;CJK COMPATIBILITY IDEOGRAPH-2FA18;Lo;0;L;9EFE;;;;N;;;;; 2FA19;CJK COMPATIBILITY IDEOGRAPH-2FA19;Lo;0;L;9F05;;;;N;;;;; 2FA1A;CJK COMPATIBILITY IDEOGRAPH-2FA1A;Lo;0;L;9F0F;;;;N;;;;; 2FA1B;CJK COMPATIBILITY IDEOGRAPH-2FA1B;Lo;0;L;9F16;;;;N;;;;; 2FA1C;CJK COMPATIBILITY IDEOGRAPH-2FA1C;Lo;0;L;9F3B;;;;N;;;;; 2FA1D;CJK COMPATIBILITY IDEOGRAPH-2FA1D;Lo;0;L;2A600;;;;N;;;;; E0001;LANGUAGE TAG;Cf;0;BN;;;;;N;;;;; E0020;TAG SPACE;Cf;0;BN;;;;;N;;;;; E0021;TAG EXCLAMATION MARK;Cf;0;BN;;;;;N;;;;; E0022;TAG QUOTATION MARK;Cf;0;BN;;;;;N;;;;; E0023;TAG NUMBER SIGN;Cf;0;BN;;;;;N;;;;; E0024;TAG DOLLAR SIGN;Cf;0;BN;;;;;N;;;;; E0025;TAG PERCENT SIGN;Cf;0;BN;;;;;N;;;;; E0026;TAG AMPERSAND;Cf;0;BN;;;;;N;;;;; E0027;TAG APOSTROPHE;Cf;0;BN;;;;;N;;;;; E0028;TAG LEFT PARENTHESIS;Cf;0;BN;;;;;N;;;;; E0029;TAG RIGHT PARENTHESIS;Cf;0;BN;;;;;N;;;;; E002A;TAG ASTERISK;Cf;0;BN;;;;;N;;;;; E002B;TAG PLUS SIGN;Cf;0;BN;;;;;N;;;;; E002C;TAG COMMA;Cf;0;BN;;;;;N;;;;; E002D;TAG HYPHEN-MINUS;Cf;0;BN;;;;;N;;;;; E002E;TAG FULL STOP;Cf;0;BN;;;;;N;;;;; E002F;TAG SOLIDUS;Cf;0;BN;;;;;N;;;;; E0030;TAG DIGIT ZERO;Cf;0;BN;;;;;N;;;;; E0031;TAG DIGIT ONE;Cf;0;BN;;;;;N;;;;; E0032;TAG DIGIT TWO;Cf;0;BN;;;;;N;;;;; E0033;TAG DIGIT THREE;Cf;0;BN;;;;;N;;;;; E0034;TAG DIGIT FOUR;Cf;0;BN;;;;;N;;;;; E0035;TAG DIGIT FIVE;Cf;0;BN;;;;;N;;;;; E0036;TAG DIGIT SIX;Cf;0;BN;;;;;N;;;;; E0037;TAG DIGIT SEVEN;Cf;0;BN;;;;;N;;;;; E0038;TAG DIGIT EIGHT;Cf;0;BN;;;;;N;;;;; E0039;TAG DIGIT NINE;Cf;0;BN;;;;;N;;;;; E003A;TAG COLON;Cf;0;BN;;;;;N;;;;; E003B;TAG SEMICOLON;Cf;0;BN;;;;;N;;;;; E003C;TAG LESS-THAN SIGN;Cf;0;BN;;;;;N;;;;; E003D;TAG EQUALS SIGN;Cf;0;BN;;;;;N;;;;; E003E;TAG GREATER-THAN SIGN;Cf;0;BN;;;;;N;;;;; E003F;TAG QUESTION MARK;Cf;0;BN;;;;;N;;;;; E0040;TAG COMMERCIAL AT;Cf;0;BN;;;;;N;;;;; E0041;TAG LATIN CAPITAL LETTER A;Cf;0;BN;;;;;N;;;;; E0042;TAG LATIN CAPITAL LETTER B;Cf;0;BN;;;;;N;;;;; E0043;TAG LATIN CAPITAL LETTER C;Cf;0;BN;;;;;N;;;;; E0044;TAG LATIN CAPITAL LETTER D;Cf;0;BN;;;;;N;;;;; E0045;TAG LATIN CAPITAL LETTER E;Cf;0;BN;;;;;N;;;;; E0046;TAG LATIN CAPITAL LETTER F;Cf;0;BN;;;;;N;;;;; E0047;TAG LATIN CAPITAL LETTER G;Cf;0;BN;;;;;N;;;;; E0048;TAG LATIN CAPITAL LETTER H;Cf;0;BN;;;;;N;;;;; E0049;TAG LATIN CAPITAL LETTER I;Cf;0;BN;;;;;N;;;;; E004A;TAG LATIN CAPITAL LETTER J;Cf;0;BN;;;;;N;;;;; E004B;TAG LATIN CAPITAL LETTER K;Cf;0;BN;;;;;N;;;;; E004C;TAG LATIN CAPITAL LETTER L;Cf;0;BN;;;;;N;;;;; E004D;TAG LATIN CAPITAL LETTER M;Cf;0;BN;;;;;N;;;;; E004E;TAG LATIN CAPITAL LETTER N;Cf;0;BN;;;;;N;;;;; E004F;TAG LATIN CAPITAL LETTER O;Cf;0;BN;;;;;N;;;;; E0050;TAG LATIN CAPITAL LETTER P;Cf;0;BN;;;;;N;;;;; E0051;TAG LATIN CAPITAL LETTER Q;Cf;0;BN;;;;;N;;;;; E0052;TAG LATIN CAPITAL LETTER R;Cf;0;BN;;;;;N;;;;; E0053;TAG LATIN CAPITAL LETTER S;Cf;0;BN;;;;;N;;;;; E0054;TAG LATIN CAPITAL LETTER T;Cf;0;BN;;;;;N;;;;; E0055;TAG LATIN CAPITAL LETTER U;Cf;0;BN;;;;;N;;;;; E0056;TAG LATIN CAPITAL LETTER V;Cf;0;BN;;;;;N;;;;; E0057;TAG LATIN CAPITAL LETTER W;Cf;0;BN;;;;;N;;;;; E0058;TAG LATIN CAPITAL LETTER X;Cf;0;BN;;;;;N;;;;; E0059;TAG LATIN CAPITAL LETTER Y;Cf;0;BN;;;;;N;;;;; E005A;TAG LATIN CAPITAL LETTER Z;Cf;0;BN;;;;;N;;;;; E005B;TAG LEFT SQUARE BRACKET;Cf;0;BN;;;;;N;;;;; E005C;TAG REVERSE SOLIDUS;Cf;0;BN;;;;;N;;;;; E005D;TAG RIGHT SQUARE BRACKET;Cf;0;BN;;;;;N;;;;; E005E;TAG CIRCUMFLEX ACCENT;Cf;0;BN;;;;;N;;;;; E005F;TAG LOW LINE;Cf;0;BN;;;;;N;;;;; E0060;TAG GRAVE ACCENT;Cf;0;BN;;;;;N;;;;; E0061;TAG LATIN SMALL LETTER A;Cf;0;BN;;;;;N;;;;; E0062;TAG LATIN SMALL LETTER B;Cf;0;BN;;;;;N;;;;; E0063;TAG LATIN SMALL LETTER C;Cf;0;BN;;;;;N;;;;; E0064;TAG LATIN SMALL LETTER D;Cf;0;BN;;;;;N;;;;; E0065;TAG LATIN SMALL LETTER E;Cf;0;BN;;;;;N;;;;; E0066;TAG LATIN SMALL LETTER F;Cf;0;BN;;;;;N;;;;; E0067;TAG LATIN SMALL LETTER G;Cf;0;BN;;;;;N;;;;; E0068;TAG LATIN SMALL LETTER H;Cf;0;BN;;;;;N;;;;; E0069;TAG LATIN SMALL LETTER I;Cf;0;BN;;;;;N;;;;; E006A;TAG LATIN SMALL LETTER J;Cf;0;BN;;;;;N;;;;; E006B;TAG LATIN SMALL LETTER K;Cf;0;BN;;;;;N;;;;; E006C;TAG LATIN SMALL LETTER L;Cf;0;BN;;;;;N;;;;; E006D;TAG LATIN SMALL LETTER M;Cf;0;BN;;;;;N;;;;; E006E;TAG LATIN SMALL LETTER N;Cf;0;BN;;;;;N;;;;; E006F;TAG LATIN SMALL LETTER O;Cf;0;BN;;;;;N;;;;; E0070;TAG LATIN SMALL LETTER P;Cf;0;BN;;;;;N;;;;; E0071;TAG LATIN SMALL LETTER Q;Cf;0;BN;;;;;N;;;;; E0072;TAG LATIN SMALL LETTER R;Cf;0;BN;;;;;N;;;;; E0073;TAG LATIN SMALL LETTER S;Cf;0;BN;;;;;N;;;;; E0074;TAG LATIN SMALL LETTER T;Cf;0;BN;;;;;N;;;;; E0075;TAG LATIN SMALL LETTER U;Cf;0;BN;;;;;N;;;;; E0076;TAG LATIN SMALL LETTER V;Cf;0;BN;;;;;N;;;;; E0077;TAG LATIN SMALL LETTER W;Cf;0;BN;;;;;N;;;;; E0078;TAG LATIN SMALL LETTER X;Cf;0;BN;;;;;N;;;;; E0079;TAG LATIN SMALL LETTER Y;Cf;0;BN;;;;;N;;;;; E007A;TAG LATIN SMALL LETTER Z;Cf;0;BN;;;;;N;;;;; E007B;TAG LEFT CURLY BRACKET;Cf;0;BN;;;;;N;;;;; E007C;TAG VERTICAL LINE;Cf;0;BN;;;;;N;;;;; E007D;TAG RIGHT CURLY BRACKET;Cf;0;BN;;;;;N;;;;; E007E;TAG TILDE;Cf;0;BN;;;;;N;;;;; E007F;CANCEL TAG;Cf;0;BN;;;;;N;;;;; E0100;VARIATION SELECTOR-17;Mn;0;NSM;;;;;N;;;;; E0101;VARIATION SELECTOR-18;Mn;0;NSM;;;;;N;;;;; E0102;VARIATION SELECTOR-19;Mn;0;NSM;;;;;N;;;;; E0103;VARIATION SELECTOR-20;Mn;0;NSM;;;;;N;;;;; E0104;VARIATION SELECTOR-21;Mn;0;NSM;;;;;N;;;;; E0105;VARIATION SELECTOR-22;Mn;0;NSM;;;;;N;;;;; E0106;VARIATION SELECTOR-23;Mn;0;NSM;;;;;N;;;;; E0107;VARIATION SELECTOR-24;Mn;0;NSM;;;;;N;;;;; E0108;VARIATION SELECTOR-25;Mn;0;NSM;;;;;N;;;;; E0109;VARIATION SELECTOR-26;Mn;0;NSM;;;;;N;;;;; E010A;VARIATION SELECTOR-27;Mn;0;NSM;;;;;N;;;;; E010B;VARIATION SELECTOR-28;Mn;0;NSM;;;;;N;;;;; E010C;VARIATION SELECTOR-29;Mn;0;NSM;;;;;N;;;;; E010D;VARIATION SELECTOR-30;Mn;0;NSM;;;;;N;;;;; E010E;VARIATION SELECTOR-31;Mn;0;NSM;;;;;N;;;;; E010F;VARIATION SELECTOR-32;Mn;0;NSM;;;;;N;;;;; E0110;VARIATION SELECTOR-33;Mn;0;NSM;;;;;N;;;;; E0111;VARIATION SELECTOR-34;Mn;0;NSM;;;;;N;;;;; E0112;VARIATION SELECTOR-35;Mn;0;NSM;;;;;N;;;;; E0113;VARIATION SELECTOR-36;Mn;0;NSM;;;;;N;;;;; E0114;VARIATION SELECTOR-37;Mn;0;NSM;;;;;N;;;;; E0115;VARIATION SELECTOR-38;Mn;0;NSM;;;;;N;;;;; E0116;VARIATION SELECTOR-39;Mn;0;NSM;;;;;N;;;;; E0117;VARIATION SELECTOR-40;Mn;0;NSM;;;;;N;;;;; E0118;VARIATION SELECTOR-41;Mn;0;NSM;;;;;N;;;;; E0119;VARIATION SELECTOR-42;Mn;0;NSM;;;;;N;;;;; E011A;VARIATION SELECTOR-43;Mn;0;NSM;;;;;N;;;;; E011B;VARIATION SELECTOR-44;Mn;0;NSM;;;;;N;;;;; E011C;VARIATION SELECTOR-45;Mn;0;NSM;;;;;N;;;;; E011D;VARIATION SELECTOR-46;Mn;0;NSM;;;;;N;;;;; E011E;VARIATION SELECTOR-47;Mn;0;NSM;;;;;N;;;;; E011F;VARIATION SELECTOR-48;Mn;0;NSM;;;;;N;;;;; E0120;VARIATION SELECTOR-49;Mn;0;NSM;;;;;N;;;;; E0121;VARIATION SELECTOR-50;Mn;0;NSM;;;;;N;;;;; E0122;VARIATION SELECTOR-51;Mn;0;NSM;;;;;N;;;;; E0123;VARIATION SELECTOR-52;Mn;0;NSM;;;;;N;;;;; E0124;VARIATION SELECTOR-53;Mn;0;NSM;;;;;N;;;;; E0125;VARIATION SELECTOR-54;Mn;0;NSM;;;;;N;;;;; E0126;VARIATION SELECTOR-55;Mn;0;NSM;;;;;N;;;;; E0127;VARIATION SELECTOR-56;Mn;0;NSM;;;;;N;;;;; E0128;VARIATION SELECTOR-57;Mn;0;NSM;;;;;N;;;;; E0129;VARIATION SELECTOR-58;Mn;0;NSM;;;;;N;;;;; E012A;VARIATION SELECTOR-59;Mn;0;NSM;;;;;N;;;;; E012B;VARIATION SELECTOR-60;Mn;0;NSM;;;;;N;;;;; E012C;VARIATION SELECTOR-61;Mn;0;NSM;;;;;N;;;;; E012D;VARIATION SELECTOR-62;Mn;0;NSM;;;;;N;;;;; E012E;VARIATION SELECTOR-63;Mn;0;NSM;;;;;N;;;;; E012F;VARIATION SELECTOR-64;Mn;0;NSM;;;;;N;;;;; E0130;VARIATION SELECTOR-65;Mn;0;NSM;;;;;N;;;;; E0131;VARIATION SELECTOR-66;Mn;0;NSM;;;;;N;;;;; E0132;VARIATION SELECTOR-67;Mn;0;NSM;;;;;N;;;;; E0133;VARIATION SELECTOR-68;Mn;0;NSM;;;;;N;;;;; E0134;VARIATION SELECTOR-69;Mn;0;NSM;;;;;N;;;;; E0135;VARIATION SELECTOR-70;Mn;0;NSM;;;;;N;;;;; E0136;VARIATION SELECTOR-71;Mn;0;NSM;;;;;N;;;;; E0137;VARIATION SELECTOR-72;Mn;0;NSM;;;;;N;;;;; E0138;VARIATION SELECTOR-73;Mn;0;NSM;;;;;N;;;;; E0139;VARIATION SELECTOR-74;Mn;0;NSM;;;;;N;;;;; E013A;VARIATION SELECTOR-75;Mn;0;NSM;;;;;N;;;;; E013B;VARIATION SELECTOR-76;Mn;0;NSM;;;;;N;;;;; E013C;VARIATION SELECTOR-77;Mn;0;NSM;;;;;N;;;;; E013D;VARIATION SELECTOR-78;Mn;0;NSM;;;;;N;;;;; E013E;VARIATION SELECTOR-79;Mn;0;NSM;;;;;N;;;;; E013F;VARIATION SELECTOR-80;Mn;0;NSM;;;;;N;;;;; E0140;VARIATION SELECTOR-81;Mn;0;NSM;;;;;N;;;;; E0141;VARIATION SELECTOR-82;Mn;0;NSM;;;;;N;;;;; E0142;VARIATION SELECTOR-83;Mn;0;NSM;;;;;N;;;;; E0143;VARIATION SELECTOR-84;Mn;0;NSM;;;;;N;;;;; E0144;VARIATION SELECTOR-85;Mn;0;NSM;;;;;N;;;;; E0145;VARIATION SELECTOR-86;Mn;0;NSM;;;;;N;;;;; E0146;VARIATION SELECTOR-87;Mn;0;NSM;;;;;N;;;;; E0147;VARIATION SELECTOR-88;Mn;0;NSM;;;;;N;;;;; E0148;VARIATION SELECTOR-89;Mn;0;NSM;;;;;N;;;;; E0149;VARIATION SELECTOR-90;Mn;0;NSM;;;;;N;;;;; E014A;VARIATION SELECTOR-91;Mn;0;NSM;;;;;N;;;;; E014B;VARIATION SELECTOR-92;Mn;0;NSM;;;;;N;;;;; E014C;VARIATION SELECTOR-93;Mn;0;NSM;;;;;N;;;;; E014D;VARIATION SELECTOR-94;Mn;0;NSM;;;;;N;;;;; E014E;VARIATION SELECTOR-95;Mn;0;NSM;;;;;N;;;;; E014F;VARIATION SELECTOR-96;Mn;0;NSM;;;;;N;;;;; E0150;VARIATION SELECTOR-97;Mn;0;NSM;;;;;N;;;;; E0151;VARIATION SELECTOR-98;Mn;0;NSM;;;;;N;;;;; E0152;VARIATION SELECTOR-99;Mn;0;NSM;;;;;N;;;;; E0153;VARIATION SELECTOR-100;Mn;0;NSM;;;;;N;;;;; E0154;VARIATION SELECTOR-101;Mn;0;NSM;;;;;N;;;;; E0155;VARIATION SELECTOR-102;Mn;0;NSM;;;;;N;;;;; E0156;VARIATION SELECTOR-103;Mn;0;NSM;;;;;N;;;;; E0157;VARIATION SELECTOR-104;Mn;0;NSM;;;;;N;;;;; E0158;VARIATION SELECTOR-105;Mn;0;NSM;;;;;N;;;;; E0159;VARIATION SELECTOR-106;Mn;0;NSM;;;;;N;;;;; E015A;VARIATION SELECTOR-107;Mn;0;NSM;;;;;N;;;;; E015B;VARIATION SELECTOR-108;Mn;0;NSM;;;;;N;;;;; E015C;VARIATION SELECTOR-109;Mn;0;NSM;;;;;N;;;;; E015D;VARIATION SELECTOR-110;Mn;0;NSM;;;;;N;;;;; E015E;VARIATION SELECTOR-111;Mn;0;NSM;;;;;N;;;;; E015F;VARIATION SELECTOR-112;Mn;0;NSM;;;;;N;;;;; E0160;VARIATION SELECTOR-113;Mn;0;NSM;;;;;N;;;;; E0161;VARIATION SELECTOR-114;Mn;0;NSM;;;;;N;;;;; E0162;VARIATION SELECTOR-115;Mn;0;NSM;;;;;N;;;;; E0163;VARIATION SELECTOR-116;Mn;0;NSM;;;;;N;;;;; E0164;VARIATION SELECTOR-117;Mn;0;NSM;;;;;N;;;;; E0165;VARIATION SELECTOR-118;Mn;0;NSM;;;;;N;;;;; E0166;VARIATION SELECTOR-119;Mn;0;NSM;;;;;N;;;;; E0167;VARIATION SELECTOR-120;Mn;0;NSM;;;;;N;;;;; E0168;VARIATION SELECTOR-121;Mn;0;NSM;;;;;N;;;;; E0169;VARIATION SELECTOR-122;Mn;0;NSM;;;;;N;;;;; E016A;VARIATION SELECTOR-123;Mn;0;NSM;;;;;N;;;;; E016B;VARIATION SELECTOR-124;Mn;0;NSM;;;;;N;;;;; E016C;VARIATION SELECTOR-125;Mn;0;NSM;;;;;N;;;;; E016D;VARIATION SELECTOR-126;Mn;0;NSM;;;;;N;;;;; E016E;VARIATION SELECTOR-127;Mn;0;NSM;;;;;N;;;;; E016F;VARIATION SELECTOR-128;Mn;0;NSM;;;;;N;;;;; E0170;VARIATION SELECTOR-129;Mn;0;NSM;;;;;N;;;;; E0171;VARIATION SELECTOR-130;Mn;0;NSM;;;;;N;;;;; E0172;VARIATION SELECTOR-131;Mn;0;NSM;;;;;N;;;;; E0173;VARIATION SELECTOR-132;Mn;0;NSM;;;;;N;;;;; E0174;VARIATION SELECTOR-133;Mn;0;NSM;;;;;N;;;;; E0175;VARIATION SELECTOR-134;Mn;0;NSM;;;;;N;;;;; E0176;VARIATION SELECTOR-135;Mn;0;NSM;;;;;N;;;;; E0177;VARIATION SELECTOR-136;Mn;0;NSM;;;;;N;;;;; E0178;VARIATION SELECTOR-137;Mn;0;NSM;;;;;N;;;;; E0179;VARIATION SELECTOR-138;Mn;0;NSM;;;;;N;;;;; E017A;VARIATION SELECTOR-139;Mn;0;NSM;;;;;N;;;;; E017B;VARIATION SELECTOR-140;Mn;0;NSM;;;;;N;;;;; E017C;VARIATION SELECTOR-141;Mn;0;NSM;;;;;N;;;;; E017D;VARIATION SELECTOR-142;Mn;0;NSM;;;;;N;;;;; E017E;VARIATION SELECTOR-143;Mn;0;NSM;;;;;N;;;;; E017F;VARIATION SELECTOR-144;Mn;0;NSM;;;;;N;;;;; E0180;VARIATION SELECTOR-145;Mn;0;NSM;;;;;N;;;;; E0181;VARIATION SELECTOR-146;Mn;0;NSM;;;;;N;;;;; E0182;VARIATION SELECTOR-147;Mn;0;NSM;;;;;N;;;;; E0183;VARIATION SELECTOR-148;Mn;0;NSM;;;;;N;;;;; E0184;VARIATION SELECTOR-149;Mn;0;NSM;;;;;N;;;;; E0185;VARIATION SELECTOR-150;Mn;0;NSM;;;;;N;;;;; E0186;VARIATION SELECTOR-151;Mn;0;NSM;;;;;N;;;;; E0187;VARIATION SELECTOR-152;Mn;0;NSM;;;;;N;;;;; E0188;VARIATION SELECTOR-153;Mn;0;NSM;;;;;N;;;;; E0189;VARIATION SELECTOR-154;Mn;0;NSM;;;;;N;;;;; E018A;VARIATION SELECTOR-155;Mn;0;NSM;;;;;N;;;;; E018B;VARIATION SELECTOR-156;Mn;0;NSM;;;;;N;;;;; E018C;VARIATION SELECTOR-157;Mn;0;NSM;;;;;N;;;;; E018D;VARIATION SELECTOR-158;Mn;0;NSM;;;;;N;;;;; E018E;VARIATION SELECTOR-159;Mn;0;NSM;;;;;N;;;;; E018F;VARIATION SELECTOR-160;Mn;0;NSM;;;;;N;;;;; E0190;VARIATION SELECTOR-161;Mn;0;NSM;;;;;N;;;;; E0191;VARIATION SELECTOR-162;Mn;0;NSM;;;;;N;;;;; E0192;VARIATION SELECTOR-163;Mn;0;NSM;;;;;N;;;;; E0193;VARIATION SELECTOR-164;Mn;0;NSM;;;;;N;;;;; E0194;VARIATION SELECTOR-165;Mn;0;NSM;;;;;N;;;;; E0195;VARIATION SELECTOR-166;Mn;0;NSM;;;;;N;;;;; E0196;VARIATION SELECTOR-167;Mn;0;NSM;;;;;N;;;;; E0197;VARIATION SELECTOR-168;Mn;0;NSM;;;;;N;;;;; E0198;VARIATION SELECTOR-169;Mn;0;NSM;;;;;N;;;;; E0199;VARIATION SELECTOR-170;Mn;0;NSM;;;;;N;;;;; E019A;VARIATION SELECTOR-171;Mn;0;NSM;;;;;N;;;;; E019B;VARIATION SELECTOR-172;Mn;0;NSM;;;;;N;;;;; E019C;VARIATION SELECTOR-173;Mn;0;NSM;;;;;N;;;;; E019D;VARIATION SELECTOR-174;Mn;0;NSM;;;;;N;;;;; E019E;VARIATION SELECTOR-175;Mn;0;NSM;;;;;N;;;;; E019F;VARIATION SELECTOR-176;Mn;0;NSM;;;;;N;;;;; E01A0;VARIATION SELECTOR-177;Mn;0;NSM;;;;;N;;;;; E01A1;VARIATION SELECTOR-178;Mn;0;NSM;;;;;N;;;;; E01A2;VARIATION SELECTOR-179;Mn;0;NSM;;;;;N;;;;; E01A3;VARIATION SELECTOR-180;Mn;0;NSM;;;;;N;;;;; E01A4;VARIATION SELECTOR-181;Mn;0;NSM;;;;;N;;;;; E01A5;VARIATION SELECTOR-182;Mn;0;NSM;;;;;N;;;;; E01A6;VARIATION SELECTOR-183;Mn;0;NSM;;;;;N;;;;; E01A7;VARIATION SELECTOR-184;Mn;0;NSM;;;;;N;;;;; E01A8;VARIATION SELECTOR-185;Mn;0;NSM;;;;;N;;;;; E01A9;VARIATION SELECTOR-186;Mn;0;NSM;;;;;N;;;;; E01AA;VARIATION SELECTOR-187;Mn;0;NSM;;;;;N;;;;; E01AB;VARIATION SELECTOR-188;Mn;0;NSM;;;;;N;;;;; E01AC;VARIATION SELECTOR-189;Mn;0;NSM;;;;;N;;;;; E01AD;VARIATION SELECTOR-190;Mn;0;NSM;;;;;N;;;;; E01AE;VARIATION SELECTOR-191;Mn;0;NSM;;;;;N;;;;; E01AF;VARIATION SELECTOR-192;Mn;0;NSM;;;;;N;;;;; E01B0;VARIATION SELECTOR-193;Mn;0;NSM;;;;;N;;;;; E01B1;VARIATION SELECTOR-194;Mn;0;NSM;;;;;N;;;;; E01B2;VARIATION SELECTOR-195;Mn;0;NSM;;;;;N;;;;; E01B3;VARIATION SELECTOR-196;Mn;0;NSM;;;;;N;;;;; E01B4;VARIATION SELECTOR-197;Mn;0;NSM;;;;;N;;;;; E01B5;VARIATION SELECTOR-198;Mn;0;NSM;;;;;N;;;;; E01B6;VARIATION SELECTOR-199;Mn;0;NSM;;;;;N;;;;; E01B7;VARIATION SELECTOR-200;Mn;0;NSM;;;;;N;;;;; E01B8;VARIATION SELECTOR-201;Mn;0;NSM;;;;;N;;;;; E01B9;VARIATION SELECTOR-202;Mn;0;NSM;;;;;N;;;;; E01BA;VARIATION SELECTOR-203;Mn;0;NSM;;;;;N;;;;; E01BB;VARIATION SELECTOR-204;Mn;0;NSM;;;;;N;;;;; E01BC;VARIATION SELECTOR-205;Mn;0;NSM;;;;;N;;;;; E01BD;VARIATION SELECTOR-206;Mn;0;NSM;;;;;N;;;;; E01BE;VARIATION SELECTOR-207;Mn;0;NSM;;;;;N;;;;; E01BF;VARIATION SELECTOR-208;Mn;0;NSM;;;;;N;;;;; E01C0;VARIATION SELECTOR-209;Mn;0;NSM;;;;;N;;;;; E01C1;VARIATION SELECTOR-210;Mn;0;NSM;;;;;N;;;;; E01C2;VARIATION SELECTOR-211;Mn;0;NSM;;;;;N;;;;; E01C3;VARIATION SELECTOR-212;Mn;0;NSM;;;;;N;;;;; E01C4;VARIATION SELECTOR-213;Mn;0;NSM;;;;;N;;;;; E01C5;VARIATION SELECTOR-214;Mn;0;NSM;;;;;N;;;;; E01C6;VARIATION SELECTOR-215;Mn;0;NSM;;;;;N;;;;; E01C7;VARIATION SELECTOR-216;Mn;0;NSM;;;;;N;;;;; E01C8;VARIATION SELECTOR-217;Mn;0;NSM;;;;;N;;;;; E01C9;VARIATION SELECTOR-218;Mn;0;NSM;;;;;N;;;;; E01CA;VARIATION SELECTOR-219;Mn;0;NSM;;;;;N;;;;; E01CB;VARIATION SELECTOR-220;Mn;0;NSM;;;;;N;;;;; E01CC;VARIATION SELECTOR-221;Mn;0;NSM;;;;;N;;;;; E01CD;VARIATION SELECTOR-222;Mn;0;NSM;;;;;N;;;;; E01CE;VARIATION SELECTOR-223;Mn;0;NSM;;;;;N;;;;; E01CF;VARIATION SELECTOR-224;Mn;0;NSM;;;;;N;;;;; E01D0;VARIATION SELECTOR-225;Mn;0;NSM;;;;;N;;;;; E01D1;VARIATION SELECTOR-226;Mn;0;NSM;;;;;N;;;;; E01D2;VARIATION SELECTOR-227;Mn;0;NSM;;;;;N;;;;; E01D3;VARIATION SELECTOR-228;Mn;0;NSM;;;;;N;;;;; E01D4;VARIATION SELECTOR-229;Mn;0;NSM;;;;;N;;;;; E01D5;VARIATION SELECTOR-230;Mn;0;NSM;;;;;N;;;;; E01D6;VARIATION SELECTOR-231;Mn;0;NSM;;;;;N;;;;; E01D7;VARIATION SELECTOR-232;Mn;0;NSM;;;;;N;;;;; E01D8;VARIATION SELECTOR-233;Mn;0;NSM;;;;;N;;;;; E01D9;VARIATION SELECTOR-234;Mn;0;NSM;;;;;N;;;;; E01DA;VARIATION SELECTOR-235;Mn;0;NSM;;;;;N;;;;; E01DB;VARIATION SELECTOR-236;Mn;0;NSM;;;;;N;;;;; E01DC;VARIATION SELECTOR-237;Mn;0;NSM;;;;;N;;;;; E01DD;VARIATION SELECTOR-238;Mn;0;NSM;;;;;N;;;;; E01DE;VARIATION SELECTOR-239;Mn;0;NSM;;;;;N;;;;; E01DF;VARIATION SELECTOR-240;Mn;0;NSM;;;;;N;;;;; E01E0;VARIATION SELECTOR-241;Mn;0;NSM;;;;;N;;;;; E01E1;VARIATION SELECTOR-242;Mn;0;NSM;;;;;N;;;;; E01E2;VARIATION SELECTOR-243;Mn;0;NSM;;;;;N;;;;; E01E3;VARIATION SELECTOR-244;Mn;0;NSM;;;;;N;;;;; E01E4;VARIATION SELECTOR-245;Mn;0;NSM;;;;;N;;;;; E01E5;VARIATION SELECTOR-246;Mn;0;NSM;;;;;N;;;;; E01E6;VARIATION SELECTOR-247;Mn;0;NSM;;;;;N;;;;; E01E7;VARIATION SELECTOR-248;Mn;0;NSM;;;;;N;;;;; E01E8;VARIATION SELECTOR-249;Mn;0;NSM;;;;;N;;;;; E01E9;VARIATION SELECTOR-250;Mn;0;NSM;;;;;N;;;;; E01EA;VARIATION SELECTOR-251;Mn;0;NSM;;;;;N;;;;; E01EB;VARIATION SELECTOR-252;Mn;0;NSM;;;;;N;;;;; E01EC;VARIATION SELECTOR-253;Mn;0;NSM;;;;;N;;;;; E01ED;VARIATION SELECTOR-254;Mn;0;NSM;;;;;N;;;;; E01EE;VARIATION SELECTOR-255;Mn;0;NSM;;;;;N;;;;; E01EF;VARIATION SELECTOR-256;Mn;0;NSM;;;;;N;;;;; F0000;;Co;0;L;;;;;N;;;;; FFFFD;;Co;0;L;;;;;N;;;;; 100000;;Co;0;L;;;;;N;;;;; 10FFFD;;Co;0;L;;;;;N;;;;; mauve-20140821/gnu/testlet/java/lang/Character/equals_Character.java0000644000175000001440000000251206634200712024071 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Character; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class equals_Character implements Testlet { public void test (TestHarness harness) { Character a = new Character ('\uffda'); Character b = new Character ('Z'); Character c = new Character ('\uffda'); Boolean d = new Boolean ("true"); harness.check (! a.equals(null)); harness.check (! a.equals(b)); harness.check (a.equals(c)); harness.check (a.equals(a)); harness.check (! b.equals(d)); } } mauve-20140821/gnu/testlet/java/lang/Character/UnicodeData-3.0.0.txt0000644000175000001440000233221310035274120023335 0ustar dokousers0000;;Cc;0;BN;;;;;N;NULL;;;; 0001;;Cc;0;BN;;;;;N;START OF HEADING;;;; 0002;;Cc;0;BN;;;;;N;START OF TEXT;;;; 0003;;Cc;0;BN;;;;;N;END OF TEXT;;;; 0004;;Cc;0;BN;;;;;N;END OF TRANSMISSION;;;; 0005;;Cc;0;BN;;;;;N;ENQUIRY;;;; 0006;;Cc;0;BN;;;;;N;ACKNOWLEDGE;;;; 0007;;Cc;0;BN;;;;;N;BELL;;;; 0008;;Cc;0;BN;;;;;N;BACKSPACE;;;; 0009;;Cc;0;S;;;;;N;HORIZONTAL TABULATION;;;; 000A;;Cc;0;B;;;;;N;LINE FEED;;;; 000B;;Cc;0;S;;;;;N;VERTICAL TABULATION;;;; 000C;;Cc;0;WS;;;;;N;FORM FEED;;;; 000D;;Cc;0;B;;;;;N;CARRIAGE RETURN;;;; 000E;;Cc;0;BN;;;;;N;SHIFT OUT;;;; 000F;;Cc;0;BN;;;;;N;SHIFT IN;;;; 0010;;Cc;0;BN;;;;;N;DATA LINK ESCAPE;;;; 0011;;Cc;0;BN;;;;;N;DEVICE CONTROL ONE;;;; 0012;;Cc;0;BN;;;;;N;DEVICE CONTROL TWO;;;; 0013;;Cc;0;BN;;;;;N;DEVICE CONTROL THREE;;;; 0014;;Cc;0;BN;;;;;N;DEVICE CONTROL FOUR;;;; 0015;;Cc;0;BN;;;;;N;NEGATIVE ACKNOWLEDGE;;;; 0016;;Cc;0;BN;;;;;N;SYNCHRONOUS IDLE;;;; 0017;;Cc;0;BN;;;;;N;END OF TRANSMISSION BLOCK;;;; 0018;;Cc;0;BN;;;;;N;CANCEL;;;; 0019;;Cc;0;BN;;;;;N;END OF MEDIUM;;;; 001A;;Cc;0;BN;;;;;N;SUBSTITUTE;;;; 001B;;Cc;0;BN;;;;;N;ESCAPE;;;; 001C;;Cc;0;B;;;;;N;FILE SEPARATOR;;;; 001D;;Cc;0;B;;;;;N;GROUP SEPARATOR;;;; 001E;;Cc;0;B;;;;;N;RECORD SEPARATOR;;;; 001F;;Cc;0;S;;;;;N;UNIT SEPARATOR;;;; 0020;SPACE;Zs;0;WS;;;;;N;;;;; 0021;EXCLAMATION MARK;Po;0;ON;;;;;N;;;;; 0022;QUOTATION MARK;Po;0;ON;;;;;N;;;;; 0023;NUMBER SIGN;Po;0;ET;;;;;N;;;;; 0024;DOLLAR SIGN;Sc;0;ET;;;;;N;;;;; 0025;PERCENT SIGN;Po;0;ET;;;;;N;;;;; 0026;AMPERSAND;Po;0;ON;;;;;N;;;;; 0027;APOSTROPHE;Po;0;ON;;;;;N;APOSTROPHE-QUOTE;;;; 0028;LEFT PARENTHESIS;Ps;0;ON;;;;;Y;OPENING PARENTHESIS;;;; 0029;RIGHT PARENTHESIS;Pe;0;ON;;;;;Y;CLOSING PARENTHESIS;;;; 002A;ASTERISK;Po;0;ON;;;;;N;;;;; 002B;PLUS SIGN;Sm;0;ET;;;;;N;;;;; 002C;COMMA;Po;0;CS;;;;;N;;;;; 002D;HYPHEN-MINUS;Pd;0;ET;;;;;N;;;;; 002E;FULL STOP;Po;0;CS;;;;;N;PERIOD;;;; 002F;SOLIDUS;Po;0;ES;;;;;N;SLASH;;;; 0030;DIGIT ZERO;Nd;0;EN;;0;0;0;N;;;;; 0031;DIGIT ONE;Nd;0;EN;;1;1;1;N;;;;; 0032;DIGIT TWO;Nd;0;EN;;2;2;2;N;;;;; 0033;DIGIT THREE;Nd;0;EN;;3;3;3;N;;;;; 0034;DIGIT FOUR;Nd;0;EN;;4;4;4;N;;;;; 0035;DIGIT FIVE;Nd;0;EN;;5;5;5;N;;;;; 0036;DIGIT SIX;Nd;0;EN;;6;6;6;N;;;;; 0037;DIGIT SEVEN;Nd;0;EN;;7;7;7;N;;;;; 0038;DIGIT EIGHT;Nd;0;EN;;8;8;8;N;;;;; 0039;DIGIT NINE;Nd;0;EN;;9;9;9;N;;;;; 003A;COLON;Po;0;CS;;;;;N;;;;; 003B;SEMICOLON;Po;0;ON;;;;;N;;;;; 003C;LESS-THAN SIGN;Sm;0;ON;;;;;Y;;;;; 003D;EQUALS SIGN;Sm;0;ON;;;;;N;;;;; 003E;GREATER-THAN SIGN;Sm;0;ON;;;;;Y;;;;; 003F;QUESTION MARK;Po;0;ON;;;;;N;;;;; 0040;COMMERCIAL AT;Po;0;ON;;;;;N;;;;; 0041;LATIN CAPITAL LETTER A;Lu;0;L;;;;;N;;;;0061; 0042;LATIN CAPITAL LETTER B;Lu;0;L;;;;;N;;;;0062; 0043;LATIN CAPITAL LETTER C;Lu;0;L;;;;;N;;;;0063; 0044;LATIN CAPITAL LETTER D;Lu;0;L;;;;;N;;;;0064; 0045;LATIN CAPITAL LETTER E;Lu;0;L;;;;;N;;;;0065; 0046;LATIN CAPITAL LETTER F;Lu;0;L;;;;;N;;;;0066; 0047;LATIN CAPITAL LETTER G;Lu;0;L;;;;;N;;;;0067; 0048;LATIN CAPITAL LETTER H;Lu;0;L;;;;;N;;;;0068; 0049;LATIN CAPITAL LETTER I;Lu;0;L;;;;;N;;;;0069; 004A;LATIN CAPITAL LETTER J;Lu;0;L;;;;;N;;;;006A; 004B;LATIN CAPITAL LETTER K;Lu;0;L;;;;;N;;;;006B; 004C;LATIN CAPITAL LETTER L;Lu;0;L;;;;;N;;;;006C; 004D;LATIN CAPITAL LETTER M;Lu;0;L;;;;;N;;;;006D; 004E;LATIN CAPITAL LETTER N;Lu;0;L;;;;;N;;;;006E; 004F;LATIN CAPITAL LETTER O;Lu;0;L;;;;;N;;;;006F; 0050;LATIN CAPITAL LETTER P;Lu;0;L;;;;;N;;;;0070; 0051;LATIN CAPITAL LETTER Q;Lu;0;L;;;;;N;;;;0071; 0052;LATIN CAPITAL LETTER R;Lu;0;L;;;;;N;;;;0072; 0053;LATIN CAPITAL LETTER S;Lu;0;L;;;;;N;;;;0073; 0054;LATIN CAPITAL LETTER T;Lu;0;L;;;;;N;;;;0074; 0055;LATIN CAPITAL LETTER U;Lu;0;L;;;;;N;;;;0075; 0056;LATIN CAPITAL LETTER V;Lu;0;L;;;;;N;;;;0076; 0057;LATIN CAPITAL LETTER W;Lu;0;L;;;;;N;;;;0077; 0058;LATIN CAPITAL LETTER X;Lu;0;L;;;;;N;;;;0078; 0059;LATIN CAPITAL LETTER Y;Lu;0;L;;;;;N;;;;0079; 005A;LATIN CAPITAL LETTER Z;Lu;0;L;;;;;N;;;;007A; 005B;LEFT SQUARE BRACKET;Ps;0;ON;;;;;Y;OPENING SQUARE BRACKET;;;; 005C;REVERSE SOLIDUS;Po;0;ON;;;;;N;BACKSLASH;;;; 005D;RIGHT SQUARE BRACKET;Pe;0;ON;;;;;Y;CLOSING SQUARE BRACKET;;;; 005E;CIRCUMFLEX ACCENT;Sk;0;ON;;;;;N;SPACING CIRCUMFLEX;;;; 005F;LOW LINE;Pc;0;ON;;;;;N;SPACING UNDERSCORE;;;; 0060;GRAVE ACCENT;Sk;0;ON;;;;;N;SPACING GRAVE;;;; 0061;LATIN SMALL LETTER A;Ll;0;L;;;;;N;;;0041;;0041 0062;LATIN SMALL LETTER B;Ll;0;L;;;;;N;;;0042;;0042 0063;LATIN SMALL LETTER C;Ll;0;L;;;;;N;;;0043;;0043 0064;LATIN SMALL LETTER D;Ll;0;L;;;;;N;;;0044;;0044 0065;LATIN SMALL LETTER E;Ll;0;L;;;;;N;;;0045;;0045 0066;LATIN SMALL LETTER F;Ll;0;L;;;;;N;;;0046;;0046 0067;LATIN SMALL LETTER G;Ll;0;L;;;;;N;;;0047;;0047 0068;LATIN SMALL LETTER H;Ll;0;L;;;;;N;;;0048;;0048 0069;LATIN SMALL LETTER I;Ll;0;L;;;;;N;;;0049;;0049 006A;LATIN SMALL LETTER J;Ll;0;L;;;;;N;;;004A;;004A 006B;LATIN SMALL LETTER K;Ll;0;L;;;;;N;;;004B;;004B 006C;LATIN SMALL LETTER L;Ll;0;L;;;;;N;;;004C;;004C 006D;LATIN SMALL LETTER M;Ll;0;L;;;;;N;;;004D;;004D 006E;LATIN SMALL LETTER N;Ll;0;L;;;;;N;;;004E;;004E 006F;LATIN SMALL LETTER O;Ll;0;L;;;;;N;;;004F;;004F 0070;LATIN SMALL LETTER P;Ll;0;L;;;;;N;;;0050;;0050 0071;LATIN SMALL LETTER Q;Ll;0;L;;;;;N;;;0051;;0051 0072;LATIN SMALL LETTER R;Ll;0;L;;;;;N;;;0052;;0052 0073;LATIN SMALL LETTER S;Ll;0;L;;;;;N;;;0053;;0053 0074;LATIN SMALL LETTER T;Ll;0;L;;;;;N;;;0054;;0054 0075;LATIN SMALL LETTER U;Ll;0;L;;;;;N;;;0055;;0055 0076;LATIN SMALL LETTER V;Ll;0;L;;;;;N;;;0056;;0056 0077;LATIN SMALL LETTER W;Ll;0;L;;;;;N;;;0057;;0057 0078;LATIN SMALL LETTER X;Ll;0;L;;;;;N;;;0058;;0058 0079;LATIN SMALL LETTER Y;Ll;0;L;;;;;N;;;0059;;0059 007A;LATIN SMALL LETTER Z;Ll;0;L;;;;;N;;;005A;;005A 007B;LEFT CURLY BRACKET;Ps;0;ON;;;;;Y;OPENING CURLY BRACKET;;;; 007C;VERTICAL LINE;Sm;0;ON;;;;;N;VERTICAL BAR;;;; 007D;RIGHT CURLY BRACKET;Pe;0;ON;;;;;Y;CLOSING CURLY BRACKET;;;; 007E;TILDE;Sm;0;ON;;;;;N;;;;; 007F;;Cc;0;BN;;;;;N;DELETE;;;; 0080;;Cc;0;BN;;;;;N;;;;; 0081;;Cc;0;BN;;;;;N;;;;; 0082;;Cc;0;BN;;;;;N;BREAK PERMITTED HERE;;;; 0083;;Cc;0;BN;;;;;N;NO BREAK HERE;;;; 0084;;Cc;0;BN;;;;;N;INDEX;;;; 0085;;Cc;0;B;;;;;N;NEXT LINE;;;; 0086;;Cc;0;BN;;;;;N;START OF SELECTED AREA;;;; 0087;;Cc;0;BN;;;;;N;END OF SELECTED AREA;;;; 0088;;Cc;0;BN;;;;;N;CHARACTER TABULATION SET;;;; 0089;;Cc;0;BN;;;;;N;CHARACTER TABULATION WITH JUSTIFICATION;;;; 008A;;Cc;0;BN;;;;;N;LINE TABULATION SET;;;; 008B;;Cc;0;BN;;;;;N;PARTIAL LINE DOWN;;;; 008C;;Cc;0;BN;;;;;N;PARTIAL LINE UP;;;; 008D;;Cc;0;BN;;;;;N;REVERSE LINE FEED;;;; 008E;;Cc;0;BN;;;;;N;SINGLE SHIFT TWO;;;; 008F;;Cc;0;BN;;;;;N;SINGLE SHIFT THREE;;;; 0090;;Cc;0;BN;;;;;N;DEVICE CONTROL STRING;;;; 0091;;Cc;0;BN;;;;;N;PRIVATE USE ONE;;;; 0092;;Cc;0;BN;;;;;N;PRIVATE USE TWO;;;; 0093;;Cc;0;BN;;;;;N;SET TRANSMIT STATE;;;; 0094;;Cc;0;BN;;;;;N;CANCEL CHARACTER;;;; 0095;;Cc;0;BN;;;;;N;MESSAGE WAITING;;;; 0096;;Cc;0;BN;;;;;N;START OF GUARDED AREA;;;; 0097;;Cc;0;BN;;;;;N;END OF GUARDED AREA;;;; 0098;;Cc;0;BN;;;;;N;START OF STRING;;;; 0099;;Cc;0;BN;;;;;N;;;;; 009A;;Cc;0;BN;;;;;N;SINGLE CHARACTER INTRODUCER;;;; 009B;;Cc;0;BN;;;;;N;CONTROL SEQUENCE INTRODUCER;;;; 009C;;Cc;0;BN;;;;;N;STRING TERMINATOR;;;; 009D;;Cc;0;BN;;;;;N;OPERATING SYSTEM COMMAND;;;; 009E;;Cc;0;BN;;;;;N;PRIVACY MESSAGE;;;; 009F;;Cc;0;BN;;;;;N;APPLICATION PROGRAM COMMAND;;;; 00A0;NO-BREAK SPACE;Zs;0;CS; 0020;;;;N;NON-BREAKING SPACE;;;; 00A1;INVERTED EXCLAMATION MARK;Po;0;ON;;;;;N;;;;; 00A2;CENT SIGN;Sc;0;ET;;;;;N;;;;; 00A3;POUND SIGN;Sc;0;ET;;;;;N;;;;; 00A4;CURRENCY SIGN;Sc;0;ET;;;;;N;;;;; 00A5;YEN SIGN;Sc;0;ET;;;;;N;;;;; 00A6;BROKEN BAR;So;0;ON;;;;;N;BROKEN VERTICAL BAR;;;; 00A7;SECTION SIGN;So;0;ON;;;;;N;;;;; 00A8;DIAERESIS;Sk;0;ON; 0020 0308;;;;N;SPACING DIAERESIS;;;; 00A9;COPYRIGHT SIGN;So;0;ON;;;;;N;;;;; 00AA;FEMININE ORDINAL INDICATOR;Ll;0;L; 0061;;;;N;;;;; 00AB;LEFT-POINTING DOUBLE ANGLE QUOTATION MARK;Pi;0;ON;;;;;Y;LEFT POINTING GUILLEMET;*;;; 00AC;NOT SIGN;Sm;0;ON;;;;;N;;;;; 00AD;SOFT HYPHEN;Pd;0;ON;;;;;N;;;;; 00AE;REGISTERED SIGN;So;0;ON;;;;;N;REGISTERED TRADE MARK SIGN;;;; 00AF;MACRON;Sk;0;ON; 0020 0304;;;;N;SPACING MACRON;;;; 00B0;DEGREE SIGN;So;0;ET;;;;;N;;;;; 00B1;PLUS-MINUS SIGN;Sm;0;ET;;;;;N;PLUS-OR-MINUS SIGN;;;; 00B2;SUPERSCRIPT TWO;No;0;EN; 0032;2;2;2;N;SUPERSCRIPT DIGIT TWO;;;; 00B3;SUPERSCRIPT THREE;No;0;EN; 0033;3;3;3;N;SUPERSCRIPT DIGIT THREE;;;; 00B4;ACUTE ACCENT;Sk;0;ON; 0020 0301;;;;N;SPACING ACUTE;;;; 00B5;MICRO SIGN;Ll;0;L; 03BC;;;;N;;;039C;;039C 00B6;PILCROW SIGN;So;0;ON;;;;;N;PARAGRAPH SIGN;;;; 00B7;MIDDLE DOT;Po;0;ON;;;;;N;;;;; 00B8;CEDILLA;Sk;0;ON; 0020 0327;;;;N;SPACING CEDILLA;;;; 00B9;SUPERSCRIPT ONE;No;0;EN; 0031;1;1;1;N;SUPERSCRIPT DIGIT ONE;;;; 00BA;MASCULINE ORDINAL INDICATOR;Ll;0;L; 006F;;;;N;;;;; 00BB;RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK;Pf;0;ON;;;;;Y;RIGHT POINTING GUILLEMET;*;;; 00BC;VULGAR FRACTION ONE QUARTER;No;0;ON; 0031 2044 0034;;;1/4;N;FRACTION ONE QUARTER;;;; 00BD;VULGAR FRACTION ONE HALF;No;0;ON; 0031 2044 0032;;;1/2;N;FRACTION ONE HALF;;;; 00BE;VULGAR FRACTION THREE QUARTERS;No;0;ON; 0033 2044 0034;;;3/4;N;FRACTION THREE QUARTERS;;;; 00BF;INVERTED QUESTION MARK;Po;0;ON;;;;;N;;;;; 00C0;LATIN CAPITAL LETTER A WITH GRAVE;Lu;0;L;0041 0300;;;;N;LATIN CAPITAL LETTER A GRAVE;;;00E0; 00C1;LATIN CAPITAL LETTER A WITH ACUTE;Lu;0;L;0041 0301;;;;N;LATIN CAPITAL LETTER A ACUTE;;;00E1; 00C2;LATIN CAPITAL LETTER A WITH CIRCUMFLEX;Lu;0;L;0041 0302;;;;N;LATIN CAPITAL LETTER A CIRCUMFLEX;;;00E2; 00C3;LATIN CAPITAL LETTER A WITH TILDE;Lu;0;L;0041 0303;;;;N;LATIN CAPITAL LETTER A TILDE;;;00E3; 00C4;LATIN CAPITAL LETTER A WITH DIAERESIS;Lu;0;L;0041 0308;;;;N;LATIN CAPITAL LETTER A DIAERESIS;;;00E4; 00C5;LATIN CAPITAL LETTER A WITH RING ABOVE;Lu;0;L;0041 030A;;;;N;LATIN CAPITAL LETTER A RING;;;00E5; 00C6;LATIN CAPITAL LETTER AE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER A E;ash *;;00E6; 00C7;LATIN CAPITAL LETTER C WITH CEDILLA;Lu;0;L;0043 0327;;;;N;LATIN CAPITAL LETTER C CEDILLA;;;00E7; 00C8;LATIN CAPITAL LETTER E WITH GRAVE;Lu;0;L;0045 0300;;;;N;LATIN CAPITAL LETTER E GRAVE;;;00E8; 00C9;LATIN CAPITAL LETTER E WITH ACUTE;Lu;0;L;0045 0301;;;;N;LATIN CAPITAL LETTER E ACUTE;;;00E9; 00CA;LATIN CAPITAL LETTER E WITH CIRCUMFLEX;Lu;0;L;0045 0302;;;;N;LATIN CAPITAL LETTER E CIRCUMFLEX;;;00EA; 00CB;LATIN CAPITAL LETTER E WITH DIAERESIS;Lu;0;L;0045 0308;;;;N;LATIN CAPITAL LETTER E DIAERESIS;;;00EB; 00CC;LATIN CAPITAL LETTER I WITH GRAVE;Lu;0;L;0049 0300;;;;N;LATIN CAPITAL LETTER I GRAVE;;;00EC; 00CD;LATIN CAPITAL LETTER I WITH ACUTE;Lu;0;L;0049 0301;;;;N;LATIN CAPITAL LETTER I ACUTE;;;00ED; 00CE;LATIN CAPITAL LETTER I WITH CIRCUMFLEX;Lu;0;L;0049 0302;;;;N;LATIN CAPITAL LETTER I CIRCUMFLEX;;;00EE; 00CF;LATIN CAPITAL LETTER I WITH DIAERESIS;Lu;0;L;0049 0308;;;;N;LATIN CAPITAL LETTER I DIAERESIS;;;00EF; 00D0;LATIN CAPITAL LETTER ETH;Lu;0;L;;;;;N;;Icelandic;;00F0; 00D1;LATIN CAPITAL LETTER N WITH TILDE;Lu;0;L;004E 0303;;;;N;LATIN CAPITAL LETTER N TILDE;;;00F1; 00D2;LATIN CAPITAL LETTER O WITH GRAVE;Lu;0;L;004F 0300;;;;N;LATIN CAPITAL LETTER O GRAVE;;;00F2; 00D3;LATIN CAPITAL LETTER O WITH ACUTE;Lu;0;L;004F 0301;;;;N;LATIN CAPITAL LETTER O ACUTE;;;00F3; 00D4;LATIN CAPITAL LETTER O WITH CIRCUMFLEX;Lu;0;L;004F 0302;;;;N;LATIN CAPITAL LETTER O CIRCUMFLEX;;;00F4; 00D5;LATIN CAPITAL LETTER O WITH TILDE;Lu;0;L;004F 0303;;;;N;LATIN CAPITAL LETTER O TILDE;;;00F5; 00D6;LATIN CAPITAL LETTER O WITH DIAERESIS;Lu;0;L;004F 0308;;;;N;LATIN CAPITAL LETTER O DIAERESIS;;;00F6; 00D7;MULTIPLICATION SIGN;Sm;0;ON;;;;;N;;;;; 00D8;LATIN CAPITAL LETTER O WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER O SLASH;;;00F8; 00D9;LATIN CAPITAL LETTER U WITH GRAVE;Lu;0;L;0055 0300;;;;N;LATIN CAPITAL LETTER U GRAVE;;;00F9; 00DA;LATIN CAPITAL LETTER U WITH ACUTE;Lu;0;L;0055 0301;;;;N;LATIN CAPITAL LETTER U ACUTE;;;00FA; 00DB;LATIN CAPITAL LETTER U WITH CIRCUMFLEX;Lu;0;L;0055 0302;;;;N;LATIN CAPITAL LETTER U CIRCUMFLEX;;;00FB; 00DC;LATIN CAPITAL LETTER U WITH DIAERESIS;Lu;0;L;0055 0308;;;;N;LATIN CAPITAL LETTER U DIAERESIS;;;00FC; 00DD;LATIN CAPITAL LETTER Y WITH ACUTE;Lu;0;L;0059 0301;;;;N;LATIN CAPITAL LETTER Y ACUTE;;;00FD; 00DE;LATIN CAPITAL LETTER THORN;Lu;0;L;;;;;N;;Icelandic;;00FE; 00DF;LATIN SMALL LETTER SHARP S;Ll;0;L;;;;;N;;German;;; 00E0;LATIN SMALL LETTER A WITH GRAVE;Ll;0;L;0061 0300;;;;N;LATIN SMALL LETTER A GRAVE;;00C0;;00C0 00E1;LATIN SMALL LETTER A WITH ACUTE;Ll;0;L;0061 0301;;;;N;LATIN SMALL LETTER A ACUTE;;00C1;;00C1 00E2;LATIN SMALL LETTER A WITH CIRCUMFLEX;Ll;0;L;0061 0302;;;;N;LATIN SMALL LETTER A CIRCUMFLEX;;00C2;;00C2 00E3;LATIN SMALL LETTER A WITH TILDE;Ll;0;L;0061 0303;;;;N;LATIN SMALL LETTER A TILDE;;00C3;;00C3 00E4;LATIN SMALL LETTER A WITH DIAERESIS;Ll;0;L;0061 0308;;;;N;LATIN SMALL LETTER A DIAERESIS;;00C4;;00C4 00E5;LATIN SMALL LETTER A WITH RING ABOVE;Ll;0;L;0061 030A;;;;N;LATIN SMALL LETTER A RING;;00C5;;00C5 00E6;LATIN SMALL LETTER AE;Ll;0;L;;;;;N;LATIN SMALL LETTER A E;ash *;00C6;;00C6 00E7;LATIN SMALL LETTER C WITH CEDILLA;Ll;0;L;0063 0327;;;;N;LATIN SMALL LETTER C CEDILLA;;00C7;;00C7 00E8;LATIN SMALL LETTER E WITH GRAVE;Ll;0;L;0065 0300;;;;N;LATIN SMALL LETTER E GRAVE;;00C8;;00C8 00E9;LATIN SMALL LETTER E WITH ACUTE;Ll;0;L;0065 0301;;;;N;LATIN SMALL LETTER E ACUTE;;00C9;;00C9 00EA;LATIN SMALL LETTER E WITH CIRCUMFLEX;Ll;0;L;0065 0302;;;;N;LATIN SMALL LETTER E CIRCUMFLEX;;00CA;;00CA 00EB;LATIN SMALL LETTER E WITH DIAERESIS;Ll;0;L;0065 0308;;;;N;LATIN SMALL LETTER E DIAERESIS;;00CB;;00CB 00EC;LATIN SMALL LETTER I WITH GRAVE;Ll;0;L;0069 0300;;;;N;LATIN SMALL LETTER I GRAVE;;00CC;;00CC 00ED;LATIN SMALL LETTER I WITH ACUTE;Ll;0;L;0069 0301;;;;N;LATIN SMALL LETTER I ACUTE;;00CD;;00CD 00EE;LATIN SMALL LETTER I WITH CIRCUMFLEX;Ll;0;L;0069 0302;;;;N;LATIN SMALL LETTER I CIRCUMFLEX;;00CE;;00CE 00EF;LATIN SMALL LETTER I WITH DIAERESIS;Ll;0;L;0069 0308;;;;N;LATIN SMALL LETTER I DIAERESIS;;00CF;;00CF 00F0;LATIN SMALL LETTER ETH;Ll;0;L;;;;;N;;Icelandic;00D0;;00D0 00F1;LATIN SMALL LETTER N WITH TILDE;Ll;0;L;006E 0303;;;;N;LATIN SMALL LETTER N TILDE;;00D1;;00D1 00F2;LATIN SMALL LETTER O WITH GRAVE;Ll;0;L;006F 0300;;;;N;LATIN SMALL LETTER O GRAVE;;00D2;;00D2 00F3;LATIN SMALL LETTER O WITH ACUTE;Ll;0;L;006F 0301;;;;N;LATIN SMALL LETTER O ACUTE;;00D3;;00D3 00F4;LATIN SMALL LETTER O WITH CIRCUMFLEX;Ll;0;L;006F 0302;;;;N;LATIN SMALL LETTER O CIRCUMFLEX;;00D4;;00D4 00F5;LATIN SMALL LETTER O WITH TILDE;Ll;0;L;006F 0303;;;;N;LATIN SMALL LETTER O TILDE;;00D5;;00D5 00F6;LATIN SMALL LETTER O WITH DIAERESIS;Ll;0;L;006F 0308;;;;N;LATIN SMALL LETTER O DIAERESIS;;00D6;;00D6 00F7;DIVISION SIGN;Sm;0;ON;;;;;N;;;;; 00F8;LATIN SMALL LETTER O WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER O SLASH;;00D8;;00D8 00F9;LATIN SMALL LETTER U WITH GRAVE;Ll;0;L;0075 0300;;;;N;LATIN SMALL LETTER U GRAVE;;00D9;;00D9 00FA;LATIN SMALL LETTER U WITH ACUTE;Ll;0;L;0075 0301;;;;N;LATIN SMALL LETTER U ACUTE;;00DA;;00DA 00FB;LATIN SMALL LETTER U WITH CIRCUMFLEX;Ll;0;L;0075 0302;;;;N;LATIN SMALL LETTER U CIRCUMFLEX;;00DB;;00DB 00FC;LATIN SMALL LETTER U WITH DIAERESIS;Ll;0;L;0075 0308;;;;N;LATIN SMALL LETTER U DIAERESIS;;00DC;;00DC 00FD;LATIN SMALL LETTER Y WITH ACUTE;Ll;0;L;0079 0301;;;;N;LATIN SMALL LETTER Y ACUTE;;00DD;;00DD 00FE;LATIN SMALL LETTER THORN;Ll;0;L;;;;;N;;Icelandic;00DE;;00DE 00FF;LATIN SMALL LETTER Y WITH DIAERESIS;Ll;0;L;0079 0308;;;;N;LATIN SMALL LETTER Y DIAERESIS;;0178;;0178 0100;LATIN CAPITAL LETTER A WITH MACRON;Lu;0;L;0041 0304;;;;N;LATIN CAPITAL LETTER A MACRON;;;0101; 0101;LATIN SMALL LETTER A WITH MACRON;Ll;0;L;0061 0304;;;;N;LATIN SMALL LETTER A MACRON;;0100;;0100 0102;LATIN CAPITAL LETTER A WITH BREVE;Lu;0;L;0041 0306;;;;N;LATIN CAPITAL LETTER A BREVE;;;0103; 0103;LATIN SMALL LETTER A WITH BREVE;Ll;0;L;0061 0306;;;;N;LATIN SMALL LETTER A BREVE;;0102;;0102 0104;LATIN CAPITAL LETTER A WITH OGONEK;Lu;0;L;0041 0328;;;;N;LATIN CAPITAL LETTER A OGONEK;;;0105; 0105;LATIN SMALL LETTER A WITH OGONEK;Ll;0;L;0061 0328;;;;N;LATIN SMALL LETTER A OGONEK;;0104;;0104 0106;LATIN CAPITAL LETTER C WITH ACUTE;Lu;0;L;0043 0301;;;;N;LATIN CAPITAL LETTER C ACUTE;;;0107; 0107;LATIN SMALL LETTER C WITH ACUTE;Ll;0;L;0063 0301;;;;N;LATIN SMALL LETTER C ACUTE;;0106;;0106 0108;LATIN CAPITAL LETTER C WITH CIRCUMFLEX;Lu;0;L;0043 0302;;;;N;LATIN CAPITAL LETTER C CIRCUMFLEX;;;0109; 0109;LATIN SMALL LETTER C WITH CIRCUMFLEX;Ll;0;L;0063 0302;;;;N;LATIN SMALL LETTER C CIRCUMFLEX;;0108;;0108 010A;LATIN CAPITAL LETTER C WITH DOT ABOVE;Lu;0;L;0043 0307;;;;N;LATIN CAPITAL LETTER C DOT;;;010B; 010B;LATIN SMALL LETTER C WITH DOT ABOVE;Ll;0;L;0063 0307;;;;N;LATIN SMALL LETTER C DOT;;010A;;010A 010C;LATIN CAPITAL LETTER C WITH CARON;Lu;0;L;0043 030C;;;;N;LATIN CAPITAL LETTER C HACEK;;;010D; 010D;LATIN SMALL LETTER C WITH CARON;Ll;0;L;0063 030C;;;;N;LATIN SMALL LETTER C HACEK;;010C;;010C 010E;LATIN CAPITAL LETTER D WITH CARON;Lu;0;L;0044 030C;;;;N;LATIN CAPITAL LETTER D HACEK;;;010F; 010F;LATIN SMALL LETTER D WITH CARON;Ll;0;L;0064 030C;;;;N;LATIN SMALL LETTER D HACEK;;010E;;010E 0110;LATIN CAPITAL LETTER D WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER D BAR;;;0111; 0111;LATIN SMALL LETTER D WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER D BAR;;0110;;0110 0112;LATIN CAPITAL LETTER E WITH MACRON;Lu;0;L;0045 0304;;;;N;LATIN CAPITAL LETTER E MACRON;;;0113; 0113;LATIN SMALL LETTER E WITH MACRON;Ll;0;L;0065 0304;;;;N;LATIN SMALL LETTER E MACRON;;0112;;0112 0114;LATIN CAPITAL LETTER E WITH BREVE;Lu;0;L;0045 0306;;;;N;LATIN CAPITAL LETTER E BREVE;;;0115; 0115;LATIN SMALL LETTER E WITH BREVE;Ll;0;L;0065 0306;;;;N;LATIN SMALL LETTER E BREVE;;0114;;0114 0116;LATIN CAPITAL LETTER E WITH DOT ABOVE;Lu;0;L;0045 0307;;;;N;LATIN CAPITAL LETTER E DOT;;;0117; 0117;LATIN SMALL LETTER E WITH DOT ABOVE;Ll;0;L;0065 0307;;;;N;LATIN SMALL LETTER E DOT;;0116;;0116 0118;LATIN CAPITAL LETTER E WITH OGONEK;Lu;0;L;0045 0328;;;;N;LATIN CAPITAL LETTER E OGONEK;;;0119; 0119;LATIN SMALL LETTER E WITH OGONEK;Ll;0;L;0065 0328;;;;N;LATIN SMALL LETTER E OGONEK;;0118;;0118 011A;LATIN CAPITAL LETTER E WITH CARON;Lu;0;L;0045 030C;;;;N;LATIN CAPITAL LETTER E HACEK;;;011B; 011B;LATIN SMALL LETTER E WITH CARON;Ll;0;L;0065 030C;;;;N;LATIN SMALL LETTER E HACEK;;011A;;011A 011C;LATIN CAPITAL LETTER G WITH CIRCUMFLEX;Lu;0;L;0047 0302;;;;N;LATIN CAPITAL LETTER G CIRCUMFLEX;;;011D; 011D;LATIN SMALL LETTER G WITH CIRCUMFLEX;Ll;0;L;0067 0302;;;;N;LATIN SMALL LETTER G CIRCUMFLEX;;011C;;011C 011E;LATIN CAPITAL LETTER G WITH BREVE;Lu;0;L;0047 0306;;;;N;LATIN CAPITAL LETTER G BREVE;;;011F; 011F;LATIN SMALL LETTER G WITH BREVE;Ll;0;L;0067 0306;;;;N;LATIN SMALL LETTER G BREVE;;011E;;011E 0120;LATIN CAPITAL LETTER G WITH DOT ABOVE;Lu;0;L;0047 0307;;;;N;LATIN CAPITAL LETTER G DOT;;;0121; 0121;LATIN SMALL LETTER G WITH DOT ABOVE;Ll;0;L;0067 0307;;;;N;LATIN SMALL LETTER G DOT;;0120;;0120 0122;LATIN CAPITAL LETTER G WITH CEDILLA;Lu;0;L;0047 0327;;;;N;LATIN CAPITAL LETTER G CEDILLA;;;0123; 0123;LATIN SMALL LETTER G WITH CEDILLA;Ll;0;L;0067 0327;;;;N;LATIN SMALL LETTER G CEDILLA;;0122;;0122 0124;LATIN CAPITAL LETTER H WITH CIRCUMFLEX;Lu;0;L;0048 0302;;;;N;LATIN CAPITAL LETTER H CIRCUMFLEX;;;0125; 0125;LATIN SMALL LETTER H WITH CIRCUMFLEX;Ll;0;L;0068 0302;;;;N;LATIN SMALL LETTER H CIRCUMFLEX;;0124;;0124 0126;LATIN CAPITAL LETTER H WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER H BAR;;;0127; 0127;LATIN SMALL LETTER H WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER H BAR;;0126;;0126 0128;LATIN CAPITAL LETTER I WITH TILDE;Lu;0;L;0049 0303;;;;N;LATIN CAPITAL LETTER I TILDE;;;0129; 0129;LATIN SMALL LETTER I WITH TILDE;Ll;0;L;0069 0303;;;;N;LATIN SMALL LETTER I TILDE;;0128;;0128 012A;LATIN CAPITAL LETTER I WITH MACRON;Lu;0;L;0049 0304;;;;N;LATIN CAPITAL LETTER I MACRON;;;012B; 012B;LATIN SMALL LETTER I WITH MACRON;Ll;0;L;0069 0304;;;;N;LATIN SMALL LETTER I MACRON;;012A;;012A 012C;LATIN CAPITAL LETTER I WITH BREVE;Lu;0;L;0049 0306;;;;N;LATIN CAPITAL LETTER I BREVE;;;012D; 012D;LATIN SMALL LETTER I WITH BREVE;Ll;0;L;0069 0306;;;;N;LATIN SMALL LETTER I BREVE;;012C;;012C 012E;LATIN CAPITAL LETTER I WITH OGONEK;Lu;0;L;0049 0328;;;;N;LATIN CAPITAL LETTER I OGONEK;;;012F; 012F;LATIN SMALL LETTER I WITH OGONEK;Ll;0;L;0069 0328;;;;N;LATIN SMALL LETTER I OGONEK;;012E;;012E 0130;LATIN CAPITAL LETTER I WITH DOT ABOVE;Lu;0;L;0049 0307;;;;N;LATIN CAPITAL LETTER I DOT;;;0069; 0131;LATIN SMALL LETTER DOTLESS I;Ll;0;L;;;;;N;;;0049;;0049 0132;LATIN CAPITAL LIGATURE IJ;Lu;0;L; 0049 004A;;;;N;LATIN CAPITAL LETTER I J;;;0133; 0133;LATIN SMALL LIGATURE IJ;Ll;0;L; 0069 006A;;;;N;LATIN SMALL LETTER I J;;0132;;0132 0134;LATIN CAPITAL LETTER J WITH CIRCUMFLEX;Lu;0;L;004A 0302;;;;N;LATIN CAPITAL LETTER J CIRCUMFLEX;;;0135; 0135;LATIN SMALL LETTER J WITH CIRCUMFLEX;Ll;0;L;006A 0302;;;;N;LATIN SMALL LETTER J CIRCUMFLEX;;0134;;0134 0136;LATIN CAPITAL LETTER K WITH CEDILLA;Lu;0;L;004B 0327;;;;N;LATIN CAPITAL LETTER K CEDILLA;;;0137; 0137;LATIN SMALL LETTER K WITH CEDILLA;Ll;0;L;006B 0327;;;;N;LATIN SMALL LETTER K CEDILLA;;0136;;0136 0138;LATIN SMALL LETTER KRA;Ll;0;L;;;;;N;;Greenlandic;;; 0139;LATIN CAPITAL LETTER L WITH ACUTE;Lu;0;L;004C 0301;;;;N;LATIN CAPITAL LETTER L ACUTE;;;013A; 013A;LATIN SMALL LETTER L WITH ACUTE;Ll;0;L;006C 0301;;;;N;LATIN SMALL LETTER L ACUTE;;0139;;0139 013B;LATIN CAPITAL LETTER L WITH CEDILLA;Lu;0;L;004C 0327;;;;N;LATIN CAPITAL LETTER L CEDILLA;;;013C; 013C;LATIN SMALL LETTER L WITH CEDILLA;Ll;0;L;006C 0327;;;;N;LATIN SMALL LETTER L CEDILLA;;013B;;013B 013D;LATIN CAPITAL LETTER L WITH CARON;Lu;0;L;004C 030C;;;;N;LATIN CAPITAL LETTER L HACEK;;;013E; 013E;LATIN SMALL LETTER L WITH CARON;Ll;0;L;006C 030C;;;;N;LATIN SMALL LETTER L HACEK;;013D;;013D 013F;LATIN CAPITAL LETTER L WITH MIDDLE DOT;Lu;0;L; 004C 00B7;;;;N;;;;0140; 0140;LATIN SMALL LETTER L WITH MIDDLE DOT;Ll;0;L; 006C 00B7;;;;N;;;013F;;013F 0141;LATIN CAPITAL LETTER L WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER L SLASH;;;0142; 0142;LATIN SMALL LETTER L WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER L SLASH;;0141;;0141 0143;LATIN CAPITAL LETTER N WITH ACUTE;Lu;0;L;004E 0301;;;;N;LATIN CAPITAL LETTER N ACUTE;;;0144; 0144;LATIN SMALL LETTER N WITH ACUTE;Ll;0;L;006E 0301;;;;N;LATIN SMALL LETTER N ACUTE;;0143;;0143 0145;LATIN CAPITAL LETTER N WITH CEDILLA;Lu;0;L;004E 0327;;;;N;LATIN CAPITAL LETTER N CEDILLA;;;0146; 0146;LATIN SMALL LETTER N WITH CEDILLA;Ll;0;L;006E 0327;;;;N;LATIN SMALL LETTER N CEDILLA;;0145;;0145 0147;LATIN CAPITAL LETTER N WITH CARON;Lu;0;L;004E 030C;;;;N;LATIN CAPITAL LETTER N HACEK;;;0148; 0148;LATIN SMALL LETTER N WITH CARON;Ll;0;L;006E 030C;;;;N;LATIN SMALL LETTER N HACEK;;0147;;0147 0149;LATIN SMALL LETTER N PRECEDED BY APOSTROPHE;Ll;0;L; 02BC 006E;;;;N;LATIN SMALL LETTER APOSTROPHE N;;;; 014A;LATIN CAPITAL LETTER ENG;Lu;0;L;;;;;N;;Sami;;014B; 014B;LATIN SMALL LETTER ENG;Ll;0;L;;;;;N;;Sami;014A;;014A 014C;LATIN CAPITAL LETTER O WITH MACRON;Lu;0;L;004F 0304;;;;N;LATIN CAPITAL LETTER O MACRON;;;014D; 014D;LATIN SMALL LETTER O WITH MACRON;Ll;0;L;006F 0304;;;;N;LATIN SMALL LETTER O MACRON;;014C;;014C 014E;LATIN CAPITAL LETTER O WITH BREVE;Lu;0;L;004F 0306;;;;N;LATIN CAPITAL LETTER O BREVE;;;014F; 014F;LATIN SMALL LETTER O WITH BREVE;Ll;0;L;006F 0306;;;;N;LATIN SMALL LETTER O BREVE;;014E;;014E 0150;LATIN CAPITAL LETTER O WITH DOUBLE ACUTE;Lu;0;L;004F 030B;;;;N;LATIN CAPITAL LETTER O DOUBLE ACUTE;;;0151; 0151;LATIN SMALL LETTER O WITH DOUBLE ACUTE;Ll;0;L;006F 030B;;;;N;LATIN SMALL LETTER O DOUBLE ACUTE;;0150;;0150 0152;LATIN CAPITAL LIGATURE OE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER O E;;;0153; 0153;LATIN SMALL LIGATURE OE;Ll;0;L;;;;;N;LATIN SMALL LETTER O E;;0152;;0152 0154;LATIN CAPITAL LETTER R WITH ACUTE;Lu;0;L;0052 0301;;;;N;LATIN CAPITAL LETTER R ACUTE;;;0155; 0155;LATIN SMALL LETTER R WITH ACUTE;Ll;0;L;0072 0301;;;;N;LATIN SMALL LETTER R ACUTE;;0154;;0154 0156;LATIN CAPITAL LETTER R WITH CEDILLA;Lu;0;L;0052 0327;;;;N;LATIN CAPITAL LETTER R CEDILLA;;;0157; 0157;LATIN SMALL LETTER R WITH CEDILLA;Ll;0;L;0072 0327;;;;N;LATIN SMALL LETTER R CEDILLA;;0156;;0156 0158;LATIN CAPITAL LETTER R WITH CARON;Lu;0;L;0052 030C;;;;N;LATIN CAPITAL LETTER R HACEK;;;0159; 0159;LATIN SMALL LETTER R WITH CARON;Ll;0;L;0072 030C;;;;N;LATIN SMALL LETTER R HACEK;;0158;;0158 015A;LATIN CAPITAL LETTER S WITH ACUTE;Lu;0;L;0053 0301;;;;N;LATIN CAPITAL LETTER S ACUTE;;;015B; 015B;LATIN SMALL LETTER S WITH ACUTE;Ll;0;L;0073 0301;;;;N;LATIN SMALL LETTER S ACUTE;;015A;;015A 015C;LATIN CAPITAL LETTER S WITH CIRCUMFLEX;Lu;0;L;0053 0302;;;;N;LATIN CAPITAL LETTER S CIRCUMFLEX;;;015D; 015D;LATIN SMALL LETTER S WITH CIRCUMFLEX;Ll;0;L;0073 0302;;;;N;LATIN SMALL LETTER S CIRCUMFLEX;;015C;;015C 015E;LATIN CAPITAL LETTER S WITH CEDILLA;Lu;0;L;0053 0327;;;;N;LATIN CAPITAL LETTER S CEDILLA;*;;015F; 015F;LATIN SMALL LETTER S WITH CEDILLA;Ll;0;L;0073 0327;;;;N;LATIN SMALL LETTER S CEDILLA;*;015E;;015E 0160;LATIN CAPITAL LETTER S WITH CARON;Lu;0;L;0053 030C;;;;N;LATIN CAPITAL LETTER S HACEK;;;0161; 0161;LATIN SMALL LETTER S WITH CARON;Ll;0;L;0073 030C;;;;N;LATIN SMALL LETTER S HACEK;;0160;;0160 0162;LATIN CAPITAL LETTER T WITH CEDILLA;Lu;0;L;0054 0327;;;;N;LATIN CAPITAL LETTER T CEDILLA;*;;0163; 0163;LATIN SMALL LETTER T WITH CEDILLA;Ll;0;L;0074 0327;;;;N;LATIN SMALL LETTER T CEDILLA;*;0162;;0162 0164;LATIN CAPITAL LETTER T WITH CARON;Lu;0;L;0054 030C;;;;N;LATIN CAPITAL LETTER T HACEK;;;0165; 0165;LATIN SMALL LETTER T WITH CARON;Ll;0;L;0074 030C;;;;N;LATIN SMALL LETTER T HACEK;;0164;;0164 0166;LATIN CAPITAL LETTER T WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER T BAR;;;0167; 0167;LATIN SMALL LETTER T WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER T BAR;;0166;;0166 0168;LATIN CAPITAL LETTER U WITH TILDE;Lu;0;L;0055 0303;;;;N;LATIN CAPITAL LETTER U TILDE;;;0169; 0169;LATIN SMALL LETTER U WITH TILDE;Ll;0;L;0075 0303;;;;N;LATIN SMALL LETTER U TILDE;;0168;;0168 016A;LATIN CAPITAL LETTER U WITH MACRON;Lu;0;L;0055 0304;;;;N;LATIN CAPITAL LETTER U MACRON;;;016B; 016B;LATIN SMALL LETTER U WITH MACRON;Ll;0;L;0075 0304;;;;N;LATIN SMALL LETTER U MACRON;;016A;;016A 016C;LATIN CAPITAL LETTER U WITH BREVE;Lu;0;L;0055 0306;;;;N;LATIN CAPITAL LETTER U BREVE;;;016D; 016D;LATIN SMALL LETTER U WITH BREVE;Ll;0;L;0075 0306;;;;N;LATIN SMALL LETTER U BREVE;;016C;;016C 016E;LATIN CAPITAL LETTER U WITH RING ABOVE;Lu;0;L;0055 030A;;;;N;LATIN CAPITAL LETTER U RING;;;016F; 016F;LATIN SMALL LETTER U WITH RING ABOVE;Ll;0;L;0075 030A;;;;N;LATIN SMALL LETTER U RING;;016E;;016E 0170;LATIN CAPITAL LETTER U WITH DOUBLE ACUTE;Lu;0;L;0055 030B;;;;N;LATIN CAPITAL LETTER U DOUBLE ACUTE;;;0171; 0171;LATIN SMALL LETTER U WITH DOUBLE ACUTE;Ll;0;L;0075 030B;;;;N;LATIN SMALL LETTER U DOUBLE ACUTE;;0170;;0170 0172;LATIN CAPITAL LETTER U WITH OGONEK;Lu;0;L;0055 0328;;;;N;LATIN CAPITAL LETTER U OGONEK;;;0173; 0173;LATIN SMALL LETTER U WITH OGONEK;Ll;0;L;0075 0328;;;;N;LATIN SMALL LETTER U OGONEK;;0172;;0172 0174;LATIN CAPITAL LETTER W WITH CIRCUMFLEX;Lu;0;L;0057 0302;;;;N;LATIN CAPITAL LETTER W CIRCUMFLEX;;;0175; 0175;LATIN SMALL LETTER W WITH CIRCUMFLEX;Ll;0;L;0077 0302;;;;N;LATIN SMALL LETTER W CIRCUMFLEX;;0174;;0174 0176;LATIN CAPITAL LETTER Y WITH CIRCUMFLEX;Lu;0;L;0059 0302;;;;N;LATIN CAPITAL LETTER Y CIRCUMFLEX;;;0177; 0177;LATIN SMALL LETTER Y WITH CIRCUMFLEX;Ll;0;L;0079 0302;;;;N;LATIN SMALL LETTER Y CIRCUMFLEX;;0176;;0176 0178;LATIN CAPITAL LETTER Y WITH DIAERESIS;Lu;0;L;0059 0308;;;;N;LATIN CAPITAL LETTER Y DIAERESIS;;;00FF; 0179;LATIN CAPITAL LETTER Z WITH ACUTE;Lu;0;L;005A 0301;;;;N;LATIN CAPITAL LETTER Z ACUTE;;;017A; 017A;LATIN SMALL LETTER Z WITH ACUTE;Ll;0;L;007A 0301;;;;N;LATIN SMALL LETTER Z ACUTE;;0179;;0179 017B;LATIN CAPITAL LETTER Z WITH DOT ABOVE;Lu;0;L;005A 0307;;;;N;LATIN CAPITAL LETTER Z DOT;;;017C; 017C;LATIN SMALL LETTER Z WITH DOT ABOVE;Ll;0;L;007A 0307;;;;N;LATIN SMALL LETTER Z DOT;;017B;;017B 017D;LATIN CAPITAL LETTER Z WITH CARON;Lu;0;L;005A 030C;;;;N;LATIN CAPITAL LETTER Z HACEK;;;017E; 017E;LATIN SMALL LETTER Z WITH CARON;Ll;0;L;007A 030C;;;;N;LATIN SMALL LETTER Z HACEK;;017D;;017D 017F;LATIN SMALL LETTER LONG S;Ll;0;L; 0073;;;;N;;;0053;;0053 0180;LATIN SMALL LETTER B WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER B BAR;;;; 0181;LATIN CAPITAL LETTER B WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER B HOOK;;;0253; 0182;LATIN CAPITAL LETTER B WITH TOPBAR;Lu;0;L;;;;;N;LATIN CAPITAL LETTER B TOPBAR;;;0183; 0183;LATIN SMALL LETTER B WITH TOPBAR;Ll;0;L;;;;;N;LATIN SMALL LETTER B TOPBAR;;0182;;0182 0184;LATIN CAPITAL LETTER TONE SIX;Lu;0;L;;;;;N;;;;0185; 0185;LATIN SMALL LETTER TONE SIX;Ll;0;L;;;;;N;;;0184;;0184 0186;LATIN CAPITAL LETTER OPEN O;Lu;0;L;;;;;N;;;;0254; 0187;LATIN CAPITAL LETTER C WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER C HOOK;;;0188; 0188;LATIN SMALL LETTER C WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER C HOOK;;0187;;0187 0189;LATIN CAPITAL LETTER AFRICAN D;Lu;0;L;;;;;N;;*;;0256; 018A;LATIN CAPITAL LETTER D WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER D HOOK;;;0257; 018B;LATIN CAPITAL LETTER D WITH TOPBAR;Lu;0;L;;;;;N;LATIN CAPITAL LETTER D TOPBAR;;;018C; 018C;LATIN SMALL LETTER D WITH TOPBAR;Ll;0;L;;;;;N;LATIN SMALL LETTER D TOPBAR;;018B;;018B 018D;LATIN SMALL LETTER TURNED DELTA;Ll;0;L;;;;;N;;;;; 018E;LATIN CAPITAL LETTER REVERSED E;Lu;0;L;;;;;N;LATIN CAPITAL LETTER TURNED E;;;01DD; 018F;LATIN CAPITAL LETTER SCHWA;Lu;0;L;;;;;N;;;;0259; 0190;LATIN CAPITAL LETTER OPEN E;Lu;0;L;;;;;N;LATIN CAPITAL LETTER EPSILON;;;025B; 0191;LATIN CAPITAL LETTER F WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER F HOOK;;;0192; 0192;LATIN SMALL LETTER F WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER SCRIPT F;;0191;;0191 0193;LATIN CAPITAL LETTER G WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER G HOOK;;;0260; 0194;LATIN CAPITAL LETTER GAMMA;Lu;0;L;;;;;N;;;;0263; 0195;LATIN SMALL LETTER HV;Ll;0;L;;;;;N;LATIN SMALL LETTER H V;hwair;01F6;;01F6 0196;LATIN CAPITAL LETTER IOTA;Lu;0;L;;;;;N;;;;0269; 0197;LATIN CAPITAL LETTER I WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER BARRED I;;;0268; 0198;LATIN CAPITAL LETTER K WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER K HOOK;;;0199; 0199;LATIN SMALL LETTER K WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER K HOOK;;0198;;0198 019A;LATIN SMALL LETTER L WITH BAR;Ll;0;L;;;;;N;LATIN SMALL LETTER BARRED L;;;; 019B;LATIN SMALL LETTER LAMBDA WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER BARRED LAMBDA;;;; 019C;LATIN CAPITAL LETTER TURNED M;Lu;0;L;;;;;N;;;;026F; 019D;LATIN CAPITAL LETTER N WITH LEFT HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER N HOOK;;;0272; 019E;LATIN SMALL LETTER N WITH LONG RIGHT LEG;Ll;0;L;;;;;N;;;;; 019F;LATIN CAPITAL LETTER O WITH MIDDLE TILDE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER BARRED O;*;;0275; 01A0;LATIN CAPITAL LETTER O WITH HORN;Lu;0;L;004F 031B;;;;N;LATIN CAPITAL LETTER O HORN;;;01A1; 01A1;LATIN SMALL LETTER O WITH HORN;Ll;0;L;006F 031B;;;;N;LATIN SMALL LETTER O HORN;;01A0;;01A0 01A2;LATIN CAPITAL LETTER OI;Lu;0;L;;;;;N;LATIN CAPITAL LETTER O I;gha;;01A3; 01A3;LATIN SMALL LETTER OI;Ll;0;L;;;;;N;LATIN SMALL LETTER O I;gha;01A2;;01A2 01A4;LATIN CAPITAL LETTER P WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER P HOOK;;;01A5; 01A5;LATIN SMALL LETTER P WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER P HOOK;;01A4;;01A4 01A6;LATIN LETTER YR;Lu;0;L;;;;;N;LATIN LETTER Y R;;;0280; 01A7;LATIN CAPITAL LETTER TONE TWO;Lu;0;L;;;;;N;;;;01A8; 01A8;LATIN SMALL LETTER TONE TWO;Ll;0;L;;;;;N;;;01A7;;01A7 01A9;LATIN CAPITAL LETTER ESH;Lu;0;L;;;;;N;;;;0283; 01AA;LATIN LETTER REVERSED ESH LOOP;Ll;0;L;;;;;N;;;;; 01AB;LATIN SMALL LETTER T WITH PALATAL HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER T PALATAL HOOK;;;; 01AC;LATIN CAPITAL LETTER T WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER T HOOK;;;01AD; 01AD;LATIN SMALL LETTER T WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER T HOOK;;01AC;;01AC 01AE;LATIN CAPITAL LETTER T WITH RETROFLEX HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER T RETROFLEX HOOK;;;0288; 01AF;LATIN CAPITAL LETTER U WITH HORN;Lu;0;L;0055 031B;;;;N;LATIN CAPITAL LETTER U HORN;;;01B0; 01B0;LATIN SMALL LETTER U WITH HORN;Ll;0;L;0075 031B;;;;N;LATIN SMALL LETTER U HORN;;01AF;;01AF 01B1;LATIN CAPITAL LETTER UPSILON;Lu;0;L;;;;;N;;;;028A; 01B2;LATIN CAPITAL LETTER V WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER SCRIPT V;;;028B; 01B3;LATIN CAPITAL LETTER Y WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER Y HOOK;;;01B4; 01B4;LATIN SMALL LETTER Y WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER Y HOOK;;01B3;;01B3 01B5;LATIN CAPITAL LETTER Z WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER Z BAR;;;01B6; 01B6;LATIN SMALL LETTER Z WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER Z BAR;;01B5;;01B5 01B7;LATIN CAPITAL LETTER EZH;Lu;0;L;;;;;N;LATIN CAPITAL LETTER YOGH;;;0292; 01B8;LATIN CAPITAL LETTER EZH REVERSED;Lu;0;L;;;;;N;LATIN CAPITAL LETTER REVERSED YOGH;;;01B9; 01B9;LATIN SMALL LETTER EZH REVERSED;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED YOGH;;01B8;;01B8 01BA;LATIN SMALL LETTER EZH WITH TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER YOGH WITH TAIL;;;; 01BB;LATIN LETTER TWO WITH STROKE;Lo;0;L;;;;;N;LATIN LETTER TWO BAR;;;; 01BC;LATIN CAPITAL LETTER TONE FIVE;Lu;0;L;;;;;N;;;;01BD; 01BD;LATIN SMALL LETTER TONE FIVE;Ll;0;L;;;;;N;;;01BC;;01BC 01BE;LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE;Ll;0;L;;;;;N;LATIN LETTER INVERTED GLOTTAL STOP BAR;;;; 01BF;LATIN LETTER WYNN;Ll;0;L;;;;;N;;;01F7;;01F7 01C0;LATIN LETTER DENTAL CLICK;Lo;0;L;;;;;N;LATIN LETTER PIPE;;;; 01C1;LATIN LETTER LATERAL CLICK;Lo;0;L;;;;;N;LATIN LETTER DOUBLE PIPE;;;; 01C2;LATIN LETTER ALVEOLAR CLICK;Lo;0;L;;;;;N;LATIN LETTER PIPE DOUBLE BAR;;;; 01C3;LATIN LETTER RETROFLEX CLICK;Lo;0;L;;;;;N;LATIN LETTER EXCLAMATION MARK;;;; 01C4;LATIN CAPITAL LETTER DZ WITH CARON;Lu;0;L; 0044 017D;;;;N;LATIN CAPITAL LETTER D Z HACEK;;;01C6;01C5 01C5;LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON;Lt;0;L; 0044 017E;;;;N;LATIN LETTER CAPITAL D SMALL Z HACEK;;01C4;01C6; 01C6;LATIN SMALL LETTER DZ WITH CARON;Ll;0;L; 0064 017E;;;;N;LATIN SMALL LETTER D Z HACEK;;01C4;;01C5 01C7;LATIN CAPITAL LETTER LJ;Lu;0;L; 004C 004A;;;;N;LATIN CAPITAL LETTER L J;;;01C9;01C8 01C8;LATIN CAPITAL LETTER L WITH SMALL LETTER J;Lt;0;L; 004C 006A;;;;N;LATIN LETTER CAPITAL L SMALL J;;01C7;01C9; 01C9;LATIN SMALL LETTER LJ;Ll;0;L; 006C 006A;;;;N;LATIN SMALL LETTER L J;;01C7;;01C8 01CA;LATIN CAPITAL LETTER NJ;Lu;0;L; 004E 004A;;;;N;LATIN CAPITAL LETTER N J;;;01CC;01CB 01CB;LATIN CAPITAL LETTER N WITH SMALL LETTER J;Lt;0;L; 004E 006A;;;;N;LATIN LETTER CAPITAL N SMALL J;;01CA;01CC; 01CC;LATIN SMALL LETTER NJ;Ll;0;L; 006E 006A;;;;N;LATIN SMALL LETTER N J;;01CA;;01CB 01CD;LATIN CAPITAL LETTER A WITH CARON;Lu;0;L;0041 030C;;;;N;LATIN CAPITAL LETTER A HACEK;;;01CE; 01CE;LATIN SMALL LETTER A WITH CARON;Ll;0;L;0061 030C;;;;N;LATIN SMALL LETTER A HACEK;;01CD;;01CD 01CF;LATIN CAPITAL LETTER I WITH CARON;Lu;0;L;0049 030C;;;;N;LATIN CAPITAL LETTER I HACEK;;;01D0; 01D0;LATIN SMALL LETTER I WITH CARON;Ll;0;L;0069 030C;;;;N;LATIN SMALL LETTER I HACEK;;01CF;;01CF 01D1;LATIN CAPITAL LETTER O WITH CARON;Lu;0;L;004F 030C;;;;N;LATIN CAPITAL LETTER O HACEK;;;01D2; 01D2;LATIN SMALL LETTER O WITH CARON;Ll;0;L;006F 030C;;;;N;LATIN SMALL LETTER O HACEK;;01D1;;01D1 01D3;LATIN CAPITAL LETTER U WITH CARON;Lu;0;L;0055 030C;;;;N;LATIN CAPITAL LETTER U HACEK;;;01D4; 01D4;LATIN SMALL LETTER U WITH CARON;Ll;0;L;0075 030C;;;;N;LATIN SMALL LETTER U HACEK;;01D3;;01D3 01D5;LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON;Lu;0;L;00DC 0304;;;;N;LATIN CAPITAL LETTER U DIAERESIS MACRON;;;01D6; 01D6;LATIN SMALL LETTER U WITH DIAERESIS AND MACRON;Ll;0;L;00FC 0304;;;;N;LATIN SMALL LETTER U DIAERESIS MACRON;;01D5;;01D5 01D7;LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE;Lu;0;L;00DC 0301;;;;N;LATIN CAPITAL LETTER U DIAERESIS ACUTE;;;01D8; 01D8;LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE;Ll;0;L;00FC 0301;;;;N;LATIN SMALL LETTER U DIAERESIS ACUTE;;01D7;;01D7 01D9;LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON;Lu;0;L;00DC 030C;;;;N;LATIN CAPITAL LETTER U DIAERESIS HACEK;;;01DA; 01DA;LATIN SMALL LETTER U WITH DIAERESIS AND CARON;Ll;0;L;00FC 030C;;;;N;LATIN SMALL LETTER U DIAERESIS HACEK;;01D9;;01D9 01DB;LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE;Lu;0;L;00DC 0300;;;;N;LATIN CAPITAL LETTER U DIAERESIS GRAVE;;;01DC; 01DC;LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE;Ll;0;L;00FC 0300;;;;N;LATIN SMALL LETTER U DIAERESIS GRAVE;;01DB;;01DB 01DD;LATIN SMALL LETTER TURNED E;Ll;0;L;;;;;N;;;018E;;018E 01DE;LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON;Lu;0;L;00C4 0304;;;;N;LATIN CAPITAL LETTER A DIAERESIS MACRON;;;01DF; 01DF;LATIN SMALL LETTER A WITH DIAERESIS AND MACRON;Ll;0;L;00E4 0304;;;;N;LATIN SMALL LETTER A DIAERESIS MACRON;;01DE;;01DE 01E0;LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON;Lu;0;L;0226 0304;;;;N;LATIN CAPITAL LETTER A DOT MACRON;;;01E1; 01E1;LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON;Ll;0;L;0227 0304;;;;N;LATIN SMALL LETTER A DOT MACRON;;01E0;;01E0 01E2;LATIN CAPITAL LETTER AE WITH MACRON;Lu;0;L;00C6 0304;;;;N;LATIN CAPITAL LETTER A E MACRON;ash *;;01E3; 01E3;LATIN SMALL LETTER AE WITH MACRON;Ll;0;L;00E6 0304;;;;N;LATIN SMALL LETTER A E MACRON;ash *;01E2;;01E2 01E4;LATIN CAPITAL LETTER G WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER G BAR;;;01E5; 01E5;LATIN SMALL LETTER G WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER G BAR;;01E4;;01E4 01E6;LATIN CAPITAL LETTER G WITH CARON;Lu;0;L;0047 030C;;;;N;LATIN CAPITAL LETTER G HACEK;;;01E7; 01E7;LATIN SMALL LETTER G WITH CARON;Ll;0;L;0067 030C;;;;N;LATIN SMALL LETTER G HACEK;;01E6;;01E6 01E8;LATIN CAPITAL LETTER K WITH CARON;Lu;0;L;004B 030C;;;;N;LATIN CAPITAL LETTER K HACEK;;;01E9; 01E9;LATIN SMALL LETTER K WITH CARON;Ll;0;L;006B 030C;;;;N;LATIN SMALL LETTER K HACEK;;01E8;;01E8 01EA;LATIN CAPITAL LETTER O WITH OGONEK;Lu;0;L;004F 0328;;;;N;LATIN CAPITAL LETTER O OGONEK;;;01EB; 01EB;LATIN SMALL LETTER O WITH OGONEK;Ll;0;L;006F 0328;;;;N;LATIN SMALL LETTER O OGONEK;;01EA;;01EA 01EC;LATIN CAPITAL LETTER O WITH OGONEK AND MACRON;Lu;0;L;01EA 0304;;;;N;LATIN CAPITAL LETTER O OGONEK MACRON;;;01ED; 01ED;LATIN SMALL LETTER O WITH OGONEK AND MACRON;Ll;0;L;01EB 0304;;;;N;LATIN SMALL LETTER O OGONEK MACRON;;01EC;;01EC 01EE;LATIN CAPITAL LETTER EZH WITH CARON;Lu;0;L;01B7 030C;;;;N;LATIN CAPITAL LETTER YOGH HACEK;;;01EF; 01EF;LATIN SMALL LETTER EZH WITH CARON;Ll;0;L;0292 030C;;;;N;LATIN SMALL LETTER YOGH HACEK;;01EE;;01EE 01F0;LATIN SMALL LETTER J WITH CARON;Ll;0;L;006A 030C;;;;N;LATIN SMALL LETTER J HACEK;;;; 01F1;LATIN CAPITAL LETTER DZ;Lu;0;L; 0044 005A;;;;N;;;;01F3;01F2 01F2;LATIN CAPITAL LETTER D WITH SMALL LETTER Z;Lt;0;L; 0044 007A;;;;N;;;01F1;01F3; 01F3;LATIN SMALL LETTER DZ;Ll;0;L; 0064 007A;;;;N;;;01F1;;01F2 01F4;LATIN CAPITAL LETTER G WITH ACUTE;Lu;0;L;0047 0301;;;;N;;;;01F5; 01F5;LATIN SMALL LETTER G WITH ACUTE;Ll;0;L;0067 0301;;;;N;;;01F4;;01F4 01F6;LATIN CAPITAL LETTER HWAIR;Lu;0;L;;;;;N;;;;0195; 01F7;LATIN CAPITAL LETTER WYNN;Lu;0;L;;;;;N;;;;01BF; 01F8;LATIN CAPITAL LETTER N WITH GRAVE;Lu;0;L;004E 0300;;;;N;;;;01F9; 01F9;LATIN SMALL LETTER N WITH GRAVE;Ll;0;L;006E 0300;;;;N;;;01F8;;01F8 01FA;LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE;Lu;0;L;00C5 0301;;;;N;;;;01FB; 01FB;LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE;Ll;0;L;00E5 0301;;;;N;;;01FA;;01FA 01FC;LATIN CAPITAL LETTER AE WITH ACUTE;Lu;0;L;00C6 0301;;;;N;;ash *;;01FD; 01FD;LATIN SMALL LETTER AE WITH ACUTE;Ll;0;L;00E6 0301;;;;N;;ash *;01FC;;01FC 01FE;LATIN CAPITAL LETTER O WITH STROKE AND ACUTE;Lu;0;L;00D8 0301;;;;N;;;;01FF; 01FF;LATIN SMALL LETTER O WITH STROKE AND ACUTE;Ll;0;L;00F8 0301;;;;N;;;01FE;;01FE 0200;LATIN CAPITAL LETTER A WITH DOUBLE GRAVE;Lu;0;L;0041 030F;;;;N;;;;0201; 0201;LATIN SMALL LETTER A WITH DOUBLE GRAVE;Ll;0;L;0061 030F;;;;N;;;0200;;0200 0202;LATIN CAPITAL LETTER A WITH INVERTED BREVE;Lu;0;L;0041 0311;;;;N;;;;0203; 0203;LATIN SMALL LETTER A WITH INVERTED BREVE;Ll;0;L;0061 0311;;;;N;;;0202;;0202 0204;LATIN CAPITAL LETTER E WITH DOUBLE GRAVE;Lu;0;L;0045 030F;;;;N;;;;0205; 0205;LATIN SMALL LETTER E WITH DOUBLE GRAVE;Ll;0;L;0065 030F;;;;N;;;0204;;0204 0206;LATIN CAPITAL LETTER E WITH INVERTED BREVE;Lu;0;L;0045 0311;;;;N;;;;0207; 0207;LATIN SMALL LETTER E WITH INVERTED BREVE;Ll;0;L;0065 0311;;;;N;;;0206;;0206 0208;LATIN CAPITAL LETTER I WITH DOUBLE GRAVE;Lu;0;L;0049 030F;;;;N;;;;0209; 0209;LATIN SMALL LETTER I WITH DOUBLE GRAVE;Ll;0;L;0069 030F;;;;N;;;0208;;0208 020A;LATIN CAPITAL LETTER I WITH INVERTED BREVE;Lu;0;L;0049 0311;;;;N;;;;020B; 020B;LATIN SMALL LETTER I WITH INVERTED BREVE;Ll;0;L;0069 0311;;;;N;;;020A;;020A 020C;LATIN CAPITAL LETTER O WITH DOUBLE GRAVE;Lu;0;L;004F 030F;;;;N;;;;020D; 020D;LATIN SMALL LETTER O WITH DOUBLE GRAVE;Ll;0;L;006F 030F;;;;N;;;020C;;020C 020E;LATIN CAPITAL LETTER O WITH INVERTED BREVE;Lu;0;L;004F 0311;;;;N;;;;020F; 020F;LATIN SMALL LETTER O WITH INVERTED BREVE;Ll;0;L;006F 0311;;;;N;;;020E;;020E 0210;LATIN CAPITAL LETTER R WITH DOUBLE GRAVE;Lu;0;L;0052 030F;;;;N;;;;0211; 0211;LATIN SMALL LETTER R WITH DOUBLE GRAVE;Ll;0;L;0072 030F;;;;N;;;0210;;0210 0212;LATIN CAPITAL LETTER R WITH INVERTED BREVE;Lu;0;L;0052 0311;;;;N;;;;0213; 0213;LATIN SMALL LETTER R WITH INVERTED BREVE;Ll;0;L;0072 0311;;;;N;;;0212;;0212 0214;LATIN CAPITAL LETTER U WITH DOUBLE GRAVE;Lu;0;L;0055 030F;;;;N;;;;0215; 0215;LATIN SMALL LETTER U WITH DOUBLE GRAVE;Ll;0;L;0075 030F;;;;N;;;0214;;0214 0216;LATIN CAPITAL LETTER U WITH INVERTED BREVE;Lu;0;L;0055 0311;;;;N;;;;0217; 0217;LATIN SMALL LETTER U WITH INVERTED BREVE;Ll;0;L;0075 0311;;;;N;;;0216;;0216 0218;LATIN CAPITAL LETTER S WITH COMMA BELOW;Lu;0;L;0053 0326;;;;N;;*;;0219; 0219;LATIN SMALL LETTER S WITH COMMA BELOW;Ll;0;L;0073 0326;;;;N;;*;0218;;0218 021A;LATIN CAPITAL LETTER T WITH COMMA BELOW;Lu;0;L;0054 0326;;;;N;;*;;021B; 021B;LATIN SMALL LETTER T WITH COMMA BELOW;Ll;0;L;0074 0326;;;;N;;*;021A;;021A 021C;LATIN CAPITAL LETTER YOGH;Lu;0;L;;;;;N;;;;021D; 021D;LATIN SMALL LETTER YOGH;Ll;0;L;;;;;N;;;021C;;021C 021E;LATIN CAPITAL LETTER H WITH CARON;Lu;0;L;0048 030C;;;;N;;;;021F; 021F;LATIN SMALL LETTER H WITH CARON;Ll;0;L;0068 030C;;;;N;;;021E;;021E 0222;LATIN CAPITAL LETTER OU;Lu;0;L;;;;;N;;;;0223; 0223;LATIN SMALL LETTER OU;Ll;0;L;;;;;N;;;0222;;0222 0224;LATIN CAPITAL LETTER Z WITH HOOK;Lu;0;L;;;;;N;;;;0225; 0225;LATIN SMALL LETTER Z WITH HOOK;Ll;0;L;;;;;N;;;0224;;0224 0226;LATIN CAPITAL LETTER A WITH DOT ABOVE;Lu;0;L;0041 0307;;;;N;;;;0227; 0227;LATIN SMALL LETTER A WITH DOT ABOVE;Ll;0;L;0061 0307;;;;N;;;0226;;0226 0228;LATIN CAPITAL LETTER E WITH CEDILLA;Lu;0;L;0045 0327;;;;N;;;;0229; 0229;LATIN SMALL LETTER E WITH CEDILLA;Ll;0;L;0065 0327;;;;N;;;0228;;0228 022A;LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON;Lu;0;L;00D6 0304;;;;N;;;;022B; 022B;LATIN SMALL LETTER O WITH DIAERESIS AND MACRON;Ll;0;L;00F6 0304;;;;N;;;022A;;022A 022C;LATIN CAPITAL LETTER O WITH TILDE AND MACRON;Lu;0;L;00D5 0304;;;;N;;;;022D; 022D;LATIN SMALL LETTER O WITH TILDE AND MACRON;Ll;0;L;00F5 0304;;;;N;;;022C;;022C 022E;LATIN CAPITAL LETTER O WITH DOT ABOVE;Lu;0;L;004F 0307;;;;N;;;;022F; 022F;LATIN SMALL LETTER O WITH DOT ABOVE;Ll;0;L;006F 0307;;;;N;;;022E;;022E 0230;LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON;Lu;0;L;022E 0304;;;;N;;;;0231; 0231;LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON;Ll;0;L;022F 0304;;;;N;;;0230;;0230 0232;LATIN CAPITAL LETTER Y WITH MACRON;Lu;0;L;0059 0304;;;;N;;;;0233; 0233;LATIN SMALL LETTER Y WITH MACRON;Ll;0;L;0079 0304;;;;N;;;0232;;0232 0250;LATIN SMALL LETTER TURNED A;Ll;0;L;;;;;N;;;;; 0251;LATIN SMALL LETTER ALPHA;Ll;0;L;;;;;N;LATIN SMALL LETTER SCRIPT A;;;; 0252;LATIN SMALL LETTER TURNED ALPHA;Ll;0;L;;;;;N;LATIN SMALL LETTER TURNED SCRIPT A;;;; 0253;LATIN SMALL LETTER B WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER B HOOK;;0181;;0181 0254;LATIN SMALL LETTER OPEN O;Ll;0;L;;;;;N;;;0186;;0186 0255;LATIN SMALL LETTER C WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER C CURL;;;; 0256;LATIN SMALL LETTER D WITH TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER D RETROFLEX HOOK;;0189;;0189 0257;LATIN SMALL LETTER D WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER D HOOK;;018A;;018A 0258;LATIN SMALL LETTER REVERSED E;Ll;0;L;;;;;N;;;;; 0259;LATIN SMALL LETTER SCHWA;Ll;0;L;;;;;N;;;018F;;018F 025A;LATIN SMALL LETTER SCHWA WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER SCHWA HOOK;;;; 025B;LATIN SMALL LETTER OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER EPSILON;;0190;;0190 025C;LATIN SMALL LETTER REVERSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED EPSILON;;;; 025D;LATIN SMALL LETTER REVERSED OPEN E WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED EPSILON HOOK;;;; 025E;LATIN SMALL LETTER CLOSED REVERSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER CLOSED REVERSED EPSILON;;;; 025F;LATIN SMALL LETTER DOTLESS J WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER DOTLESS J BAR;;;; 0260;LATIN SMALL LETTER G WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER G HOOK;;0193;;0193 0261;LATIN SMALL LETTER SCRIPT G;Ll;0;L;;;;;N;;;;; 0262;LATIN LETTER SMALL CAPITAL G;Ll;0;L;;;;;N;;;;; 0263;LATIN SMALL LETTER GAMMA;Ll;0;L;;;;;N;;;0194;;0194 0264;LATIN SMALL LETTER RAMS HORN;Ll;0;L;;;;;N;LATIN SMALL LETTER BABY GAMMA;;;; 0265;LATIN SMALL LETTER TURNED H;Ll;0;L;;;;;N;;;;; 0266;LATIN SMALL LETTER H WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER H HOOK;;;; 0267;LATIN SMALL LETTER HENG WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER HENG HOOK;;;; 0268;LATIN SMALL LETTER I WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER BARRED I;;0197;;0197 0269;LATIN SMALL LETTER IOTA;Ll;0;L;;;;;N;;;0196;;0196 026A;LATIN LETTER SMALL CAPITAL I;Ll;0;L;;;;;N;;;;; 026B;LATIN SMALL LETTER L WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;; 026C;LATIN SMALL LETTER L WITH BELT;Ll;0;L;;;;;N;LATIN SMALL LETTER L BELT;;;; 026D;LATIN SMALL LETTER L WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER L RETROFLEX HOOK;;;; 026E;LATIN SMALL LETTER LEZH;Ll;0;L;;;;;N;LATIN SMALL LETTER L YOGH;;;; 026F;LATIN SMALL LETTER TURNED M;Ll;0;L;;;;;N;;;019C;;019C 0270;LATIN SMALL LETTER TURNED M WITH LONG LEG;Ll;0;L;;;;;N;;;;; 0271;LATIN SMALL LETTER M WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER M HOOK;;;; 0272;LATIN SMALL LETTER N WITH LEFT HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER N HOOK;;019D;;019D 0273;LATIN SMALL LETTER N WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER N RETROFLEX HOOK;;;; 0274;LATIN LETTER SMALL CAPITAL N;Ll;0;L;;;;;N;;;;; 0275;LATIN SMALL LETTER BARRED O;Ll;0;L;;;;;N;;;019F;;019F 0276;LATIN LETTER SMALL CAPITAL OE;Ll;0;L;;;;;N;LATIN LETTER SMALL CAPITAL O E;;;; 0277;LATIN SMALL LETTER CLOSED OMEGA;Ll;0;L;;;;;N;;;;; 0278;LATIN SMALL LETTER PHI;Ll;0;L;;;;;N;;;;; 0279;LATIN SMALL LETTER TURNED R;Ll;0;L;;;;;N;;;;; 027A;LATIN SMALL LETTER TURNED R WITH LONG LEG;Ll;0;L;;;;;N;;;;; 027B;LATIN SMALL LETTER TURNED R WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER TURNED R HOOK;;;; 027C;LATIN SMALL LETTER R WITH LONG LEG;Ll;0;L;;;;;N;;;;; 027D;LATIN SMALL LETTER R WITH TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER R HOOK;;;; 027E;LATIN SMALL LETTER R WITH FISHHOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER FISHHOOK R;;;; 027F;LATIN SMALL LETTER REVERSED R WITH FISHHOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED FISHHOOK R;;;; 0280;LATIN LETTER SMALL CAPITAL R;Ll;0;L;;;;;N;;;01A6;;01A6 0281;LATIN LETTER SMALL CAPITAL INVERTED R;Ll;0;L;;;;;N;;;;; 0282;LATIN SMALL LETTER S WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER S HOOK;;;; 0283;LATIN SMALL LETTER ESH;Ll;0;L;;;;;N;;;01A9;;01A9 0284;LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER DOTLESS J BAR HOOK;;;; 0285;LATIN SMALL LETTER SQUAT REVERSED ESH;Ll;0;L;;;;;N;;;;; 0286;LATIN SMALL LETTER ESH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER ESH CURL;;;; 0287;LATIN SMALL LETTER TURNED T;Ll;0;L;;;;;N;;;;; 0288;LATIN SMALL LETTER T WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER T RETROFLEX HOOK;;01AE;;01AE 0289;LATIN SMALL LETTER U BAR;Ll;0;L;;;;;N;;;;; 028A;LATIN SMALL LETTER UPSILON;Ll;0;L;;;;;N;;;01B1;;01B1 028B;LATIN SMALL LETTER V WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER SCRIPT V;;01B2;;01B2 028C;LATIN SMALL LETTER TURNED V;Ll;0;L;;;;;N;;;;; 028D;LATIN SMALL LETTER TURNED W;Ll;0;L;;;;;N;;;;; 028E;LATIN SMALL LETTER TURNED Y;Ll;0;L;;;;;N;;;;; 028F;LATIN LETTER SMALL CAPITAL Y;Ll;0;L;;;;;N;;;;; 0290;LATIN SMALL LETTER Z WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER Z RETROFLEX HOOK;;;; 0291;LATIN SMALL LETTER Z WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER Z CURL;;;; 0292;LATIN SMALL LETTER EZH;Ll;0;L;;;;;N;LATIN SMALL LETTER YOGH;;01B7;;01B7 0293;LATIN SMALL LETTER EZH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER YOGH CURL;;;; 0294;LATIN LETTER GLOTTAL STOP;Ll;0;L;;;;;N;;;;; 0295;LATIN LETTER PHARYNGEAL VOICED FRICATIVE;Ll;0;L;;;;;N;LATIN LETTER REVERSED GLOTTAL STOP;;;; 0296;LATIN LETTER INVERTED GLOTTAL STOP;Ll;0;L;;;;;N;;;;; 0297;LATIN LETTER STRETCHED C;Ll;0;L;;;;;N;;;;; 0298;LATIN LETTER BILABIAL CLICK;Ll;0;L;;;;;N;LATIN LETTER BULLSEYE;;;; 0299;LATIN LETTER SMALL CAPITAL B;Ll;0;L;;;;;N;;;;; 029A;LATIN SMALL LETTER CLOSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER CLOSED EPSILON;;;; 029B;LATIN LETTER SMALL CAPITAL G WITH HOOK;Ll;0;L;;;;;N;LATIN LETTER SMALL CAPITAL G HOOK;;;; 029C;LATIN LETTER SMALL CAPITAL H;Ll;0;L;;;;;N;;;;; 029D;LATIN SMALL LETTER J WITH CROSSED-TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER CROSSED-TAIL J;;;; 029E;LATIN SMALL LETTER TURNED K;Ll;0;L;;;;;N;;;;; 029F;LATIN LETTER SMALL CAPITAL L;Ll;0;L;;;;;N;;;;; 02A0;LATIN SMALL LETTER Q WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER Q HOOK;;;; 02A1;LATIN LETTER GLOTTAL STOP WITH STROKE;Ll;0;L;;;;;N;LATIN LETTER GLOTTAL STOP BAR;;;; 02A2;LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE;Ll;0;L;;;;;N;LATIN LETTER REVERSED GLOTTAL STOP BAR;;;; 02A3;LATIN SMALL LETTER DZ DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER D Z;;;; 02A4;LATIN SMALL LETTER DEZH DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER D YOGH;;;; 02A5;LATIN SMALL LETTER DZ DIGRAPH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER D Z CURL;;;; 02A6;LATIN SMALL LETTER TS DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER T S;;;; 02A7;LATIN SMALL LETTER TESH DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER T ESH;;;; 02A8;LATIN SMALL LETTER TC DIGRAPH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER T C CURL;;;; 02A9;LATIN SMALL LETTER FENG DIGRAPH;Ll;0;L;;;;;N;;;;; 02AA;LATIN SMALL LETTER LS DIGRAPH;Ll;0;L;;;;;N;;;;; 02AB;LATIN SMALL LETTER LZ DIGRAPH;Ll;0;L;;;;;N;;;;; 02AC;LATIN LETTER BILABIAL PERCUSSIVE;Ll;0;L;;;;;N;;;;; 02AD;LATIN LETTER BIDENTAL PERCUSSIVE;Ll;0;L;;;;;N;;;;; 02B0;MODIFIER LETTER SMALL H;Lm;0;L; 0068;;;;N;;;;; 02B1;MODIFIER LETTER SMALL H WITH HOOK;Lm;0;L; 0266;;;;N;MODIFIER LETTER SMALL H HOOK;;;; 02B2;MODIFIER LETTER SMALL J;Lm;0;L; 006A;;;;N;;;;; 02B3;MODIFIER LETTER SMALL R;Lm;0;L; 0072;;;;N;;;;; 02B4;MODIFIER LETTER SMALL TURNED R;Lm;0;L; 0279;;;;N;;;;; 02B5;MODIFIER LETTER SMALL TURNED R WITH HOOK;Lm;0;L; 027B;;;;N;MODIFIER LETTER SMALL TURNED R HOOK;;;; 02B6;MODIFIER LETTER SMALL CAPITAL INVERTED R;Lm;0;L; 0281;;;;N;;;;; 02B7;MODIFIER LETTER SMALL W;Lm;0;L; 0077;;;;N;;;;; 02B8;MODIFIER LETTER SMALL Y;Lm;0;L; 0079;;;;N;;;;; 02B9;MODIFIER LETTER PRIME;Sk;0;ON;;;;;N;;;;; 02BA;MODIFIER LETTER DOUBLE PRIME;Sk;0;ON;;;;;N;;;;; 02BB;MODIFIER LETTER TURNED COMMA;Lm;0;L;;;;;N;;;;; 02BC;MODIFIER LETTER APOSTROPHE;Lm;0;L;;;;;N;;;;; 02BD;MODIFIER LETTER REVERSED COMMA;Lm;0;L;;;;;N;;;;; 02BE;MODIFIER LETTER RIGHT HALF RING;Lm;0;L;;;;;N;;;;; 02BF;MODIFIER LETTER LEFT HALF RING;Lm;0;L;;;;;N;;;;; 02C0;MODIFIER LETTER GLOTTAL STOP;Lm;0;L;;;;;N;;;;; 02C1;MODIFIER LETTER REVERSED GLOTTAL STOP;Lm;0;L;;;;;N;;;;; 02C2;MODIFIER LETTER LEFT ARROWHEAD;Sk;0;ON;;;;;N;;;;; 02C3;MODIFIER LETTER RIGHT ARROWHEAD;Sk;0;ON;;;;;N;;;;; 02C4;MODIFIER LETTER UP ARROWHEAD;Sk;0;ON;;;;;N;;;;; 02C5;MODIFIER LETTER DOWN ARROWHEAD;Sk;0;ON;;;;;N;;;;; 02C6;MODIFIER LETTER CIRCUMFLEX ACCENT;Sk;0;ON;;;;;N;MODIFIER LETTER CIRCUMFLEX;;;; 02C7;CARON;Sk;0;ON;;;;;N;MODIFIER LETTER HACEK;Mandarin Chinese third tone;;; 02C8;MODIFIER LETTER VERTICAL LINE;Sk;0;ON;;;;;N;;;;; 02C9;MODIFIER LETTER MACRON;Sk;0;ON;;;;;N;;Mandarin Chinese first tone;;; 02CA;MODIFIER LETTER ACUTE ACCENT;Sk;0;ON;;;;;N;MODIFIER LETTER ACUTE;Mandarin Chinese second tone;;; 02CB;MODIFIER LETTER GRAVE ACCENT;Sk;0;ON;;;;;N;MODIFIER LETTER GRAVE;Mandarin Chinese fourth tone;;; 02CC;MODIFIER LETTER LOW VERTICAL LINE;Sk;0;ON;;;;;N;;;;; 02CD;MODIFIER LETTER LOW MACRON;Sk;0;ON;;;;;N;;;;; 02CE;MODIFIER LETTER LOW GRAVE ACCENT;Sk;0;ON;;;;;N;MODIFIER LETTER LOW GRAVE;;;; 02CF;MODIFIER LETTER LOW ACUTE ACCENT;Sk;0;ON;;;;;N;MODIFIER LETTER LOW ACUTE;;;; 02D0;MODIFIER LETTER TRIANGULAR COLON;Lm;0;L;;;;;N;;;;; 02D1;MODIFIER LETTER HALF TRIANGULAR COLON;Lm;0;L;;;;;N;;;;; 02D2;MODIFIER LETTER CENTRED RIGHT HALF RING;Sk;0;ON;;;;;N;MODIFIER LETTER CENTERED RIGHT HALF RING;;;; 02D3;MODIFIER LETTER CENTRED LEFT HALF RING;Sk;0;ON;;;;;N;MODIFIER LETTER CENTERED LEFT HALF RING;;;; 02D4;MODIFIER LETTER UP TACK;Sk;0;ON;;;;;N;;;;; 02D5;MODIFIER LETTER DOWN TACK;Sk;0;ON;;;;;N;;;;; 02D6;MODIFIER LETTER PLUS SIGN;Sk;0;ON;;;;;N;;;;; 02D7;MODIFIER LETTER MINUS SIGN;Sk;0;ON;;;;;N;;;;; 02D8;BREVE;Sk;0;ON; 0020 0306;;;;N;SPACING BREVE;;;; 02D9;DOT ABOVE;Sk;0;ON; 0020 0307;;;;N;SPACING DOT ABOVE;Mandarin Chinese light tone;;; 02DA;RING ABOVE;Sk;0;ON; 0020 030A;;;;N;SPACING RING ABOVE;;;; 02DB;OGONEK;Sk;0;ON; 0020 0328;;;;N;SPACING OGONEK;;;; 02DC;SMALL TILDE;Sk;0;ON; 0020 0303;;;;N;SPACING TILDE;;;; 02DD;DOUBLE ACUTE ACCENT;Sk;0;ON; 0020 030B;;;;N;SPACING DOUBLE ACUTE;;;; 02DE;MODIFIER LETTER RHOTIC HOOK;Sk;0;ON;;;;;N;;;;; 02DF;MODIFIER LETTER CROSS ACCENT;Sk;0;ON;;;;;N;;;;; 02E0;MODIFIER LETTER SMALL GAMMA;Lm;0;L; 0263;;;;N;;;;; 02E1;MODIFIER LETTER SMALL L;Lm;0;L; 006C;;;;N;;;;; 02E2;MODIFIER LETTER SMALL S;Lm;0;L; 0073;;;;N;;;;; 02E3;MODIFIER LETTER SMALL X;Lm;0;L; 0078;;;;N;;;;; 02E4;MODIFIER LETTER SMALL REVERSED GLOTTAL STOP;Lm;0;L; 0295;;;;N;;;;; 02E5;MODIFIER LETTER EXTRA-HIGH TONE BAR;Sk;0;ON;;;;;N;;;;; 02E6;MODIFIER LETTER HIGH TONE BAR;Sk;0;ON;;;;;N;;;;; 02E7;MODIFIER LETTER MID TONE BAR;Sk;0;ON;;;;;N;;;;; 02E8;MODIFIER LETTER LOW TONE BAR;Sk;0;ON;;;;;N;;;;; 02E9;MODIFIER LETTER EXTRA-LOW TONE BAR;Sk;0;ON;;;;;N;;;;; 02EA;MODIFIER LETTER YIN DEPARTING TONE MARK;Sk;0;ON;;;;;N;;;;; 02EB;MODIFIER LETTER YANG DEPARTING TONE MARK;Sk;0;ON;;;;;N;;;;; 02EC;MODIFIER LETTER VOICING;Sk;0;ON;;;;;N;;;;; 02ED;MODIFIER LETTER UNASPIRATED;Sk;0;ON;;;;;N;;;;; 02EE;MODIFIER LETTER DOUBLE APOSTROPHE;Lm;0;L;;;;;N;;;;; 0300;COMBINING GRAVE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING GRAVE;Varia;;; 0301;COMBINING ACUTE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING ACUTE;Oxia;;; 0302;COMBINING CIRCUMFLEX ACCENT;Mn;230;NSM;;;;;N;NON-SPACING CIRCUMFLEX;;;; 0303;COMBINING TILDE;Mn;230;NSM;;;;;N;NON-SPACING TILDE;;;; 0304;COMBINING MACRON;Mn;230;NSM;;;;;N;NON-SPACING MACRON;;;; 0305;COMBINING OVERLINE;Mn;230;NSM;;;;;N;NON-SPACING OVERSCORE;;;; 0306;COMBINING BREVE;Mn;230;NSM;;;;;N;NON-SPACING BREVE;Vrachy;;; 0307;COMBINING DOT ABOVE;Mn;230;NSM;;;;;N;NON-SPACING DOT ABOVE;;;; 0308;COMBINING DIAERESIS;Mn;230;NSM;;;;;N;NON-SPACING DIAERESIS;Dialytika;;; 0309;COMBINING HOOK ABOVE;Mn;230;NSM;;;;;N;NON-SPACING HOOK ABOVE;;;; 030A;COMBINING RING ABOVE;Mn;230;NSM;;;;;N;NON-SPACING RING ABOVE;;;; 030B;COMBINING DOUBLE ACUTE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING DOUBLE ACUTE;;;; 030C;COMBINING CARON;Mn;230;NSM;;;;;N;NON-SPACING HACEK;;;; 030D;COMBINING VERTICAL LINE ABOVE;Mn;230;NSM;;;;;N;NON-SPACING VERTICAL LINE ABOVE;Tonos;;; 030E;COMBINING DOUBLE VERTICAL LINE ABOVE;Mn;230;NSM;;;;;N;NON-SPACING DOUBLE VERTICAL LINE ABOVE;;;; 030F;COMBINING DOUBLE GRAVE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING DOUBLE GRAVE;;;; 0310;COMBINING CANDRABINDU;Mn;230;NSM;;;;;N;NON-SPACING CANDRABINDU;;;; 0311;COMBINING INVERTED BREVE;Mn;230;NSM;;;;;N;NON-SPACING INVERTED BREVE;;;; 0312;COMBINING TURNED COMMA ABOVE;Mn;230;NSM;;;;;N;NON-SPACING TURNED COMMA ABOVE;;;; 0313;COMBINING COMMA ABOVE;Mn;230;NSM;;;;;N;NON-SPACING COMMA ABOVE;Psili;;; 0314;COMBINING REVERSED COMMA ABOVE;Mn;230;NSM;;;;;N;NON-SPACING REVERSED COMMA ABOVE;Dasia;;; 0315;COMBINING COMMA ABOVE RIGHT;Mn;232;NSM;;;;;N;NON-SPACING COMMA ABOVE RIGHT;;;; 0316;COMBINING GRAVE ACCENT BELOW;Mn;220;NSM;;;;;N;NON-SPACING GRAVE BELOW;;;; 0317;COMBINING ACUTE ACCENT BELOW;Mn;220;NSM;;;;;N;NON-SPACING ACUTE BELOW;;;; 0318;COMBINING LEFT TACK BELOW;Mn;220;NSM;;;;;N;NON-SPACING LEFT TACK BELOW;;;; 0319;COMBINING RIGHT TACK BELOW;Mn;220;NSM;;;;;N;NON-SPACING RIGHT TACK BELOW;;;; 031A;COMBINING LEFT ANGLE ABOVE;Mn;232;NSM;;;;;N;NON-SPACING LEFT ANGLE ABOVE;;;; 031B;COMBINING HORN;Mn;216;NSM;;;;;N;NON-SPACING HORN;;;; 031C;COMBINING LEFT HALF RING BELOW;Mn;220;NSM;;;;;N;NON-SPACING LEFT HALF RING BELOW;;;; 031D;COMBINING UP TACK BELOW;Mn;220;NSM;;;;;N;NON-SPACING UP TACK BELOW;;;; 031E;COMBINING DOWN TACK BELOW;Mn;220;NSM;;;;;N;NON-SPACING DOWN TACK BELOW;;;; 031F;COMBINING PLUS SIGN BELOW;Mn;220;NSM;;;;;N;NON-SPACING PLUS SIGN BELOW;;;; 0320;COMBINING MINUS SIGN BELOW;Mn;220;NSM;;;;;N;NON-SPACING MINUS SIGN BELOW;;;; 0321;COMBINING PALATALIZED HOOK BELOW;Mn;202;NSM;;;;;N;NON-SPACING PALATALIZED HOOK BELOW;;;; 0322;COMBINING RETROFLEX HOOK BELOW;Mn;202;NSM;;;;;N;NON-SPACING RETROFLEX HOOK BELOW;;;; 0323;COMBINING DOT BELOW;Mn;220;NSM;;;;;N;NON-SPACING DOT BELOW;;;; 0324;COMBINING DIAERESIS BELOW;Mn;220;NSM;;;;;N;NON-SPACING DOUBLE DOT BELOW;;;; 0325;COMBINING RING BELOW;Mn;220;NSM;;;;;N;NON-SPACING RING BELOW;;;; 0326;COMBINING COMMA BELOW;Mn;220;NSM;;;;;N;NON-SPACING COMMA BELOW;;;; 0327;COMBINING CEDILLA;Mn;202;NSM;;;;;N;NON-SPACING CEDILLA;;;; 0328;COMBINING OGONEK;Mn;202;NSM;;;;;N;NON-SPACING OGONEK;;;; 0329;COMBINING VERTICAL LINE BELOW;Mn;220;NSM;;;;;N;NON-SPACING VERTICAL LINE BELOW;;;; 032A;COMBINING BRIDGE BELOW;Mn;220;NSM;;;;;N;NON-SPACING BRIDGE BELOW;;;; 032B;COMBINING INVERTED DOUBLE ARCH BELOW;Mn;220;NSM;;;;;N;NON-SPACING INVERTED DOUBLE ARCH BELOW;;;; 032C;COMBINING CARON BELOW;Mn;220;NSM;;;;;N;NON-SPACING HACEK BELOW;;;; 032D;COMBINING CIRCUMFLEX ACCENT BELOW;Mn;220;NSM;;;;;N;NON-SPACING CIRCUMFLEX BELOW;;;; 032E;COMBINING BREVE BELOW;Mn;220;NSM;;;;;N;NON-SPACING BREVE BELOW;;;; 032F;COMBINING INVERTED BREVE BELOW;Mn;220;NSM;;;;;N;NON-SPACING INVERTED BREVE BELOW;;;; 0330;COMBINING TILDE BELOW;Mn;220;NSM;;;;;N;NON-SPACING TILDE BELOW;;;; 0331;COMBINING MACRON BELOW;Mn;220;NSM;;;;;N;NON-SPACING MACRON BELOW;;;; 0332;COMBINING LOW LINE;Mn;220;NSM;;;;;N;NON-SPACING UNDERSCORE;;;; 0333;COMBINING DOUBLE LOW LINE;Mn;220;NSM;;;;;N;NON-SPACING DOUBLE UNDERSCORE;;;; 0334;COMBINING TILDE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING TILDE OVERLAY;;;; 0335;COMBINING SHORT STROKE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING SHORT BAR OVERLAY;;;; 0336;COMBINING LONG STROKE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING LONG BAR OVERLAY;;;; 0337;COMBINING SHORT SOLIDUS OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING SHORT SLASH OVERLAY;;;; 0338;COMBINING LONG SOLIDUS OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING LONG SLASH OVERLAY;;;; 0339;COMBINING RIGHT HALF RING BELOW;Mn;220;NSM;;;;;N;NON-SPACING RIGHT HALF RING BELOW;;;; 033A;COMBINING INVERTED BRIDGE BELOW;Mn;220;NSM;;;;;N;NON-SPACING INVERTED BRIDGE BELOW;;;; 033B;COMBINING SQUARE BELOW;Mn;220;NSM;;;;;N;NON-SPACING SQUARE BELOW;;;; 033C;COMBINING SEAGULL BELOW;Mn;220;NSM;;;;;N;NON-SPACING SEAGULL BELOW;;;; 033D;COMBINING X ABOVE;Mn;230;NSM;;;;;N;NON-SPACING X ABOVE;;;; 033E;COMBINING VERTICAL TILDE;Mn;230;NSM;;;;;N;NON-SPACING VERTICAL TILDE;;;; 033F;COMBINING DOUBLE OVERLINE;Mn;230;NSM;;;;;N;NON-SPACING DOUBLE OVERSCORE;;;; 0340;COMBINING GRAVE TONE MARK;Mn;230;NSM;0300;;;;N;NON-SPACING GRAVE TONE MARK;Vietnamese;;; 0341;COMBINING ACUTE TONE MARK;Mn;230;NSM;0301;;;;N;NON-SPACING ACUTE TONE MARK;Vietnamese;;; 0342;COMBINING GREEK PERISPOMENI;Mn;230;NSM;;;;;N;;;;; 0343;COMBINING GREEK KORONIS;Mn;230;NSM;0313;;;;N;;;;; 0344;COMBINING GREEK DIALYTIKA TONOS;Mn;230;NSM;0308 0301;;;;N;GREEK NON-SPACING DIAERESIS TONOS;;;; 0345;COMBINING GREEK YPOGEGRAMMENI;Mn;240;NSM;;;;;N;GREEK NON-SPACING IOTA BELOW;;0399;;0399 0346;COMBINING BRIDGE ABOVE;Mn;230;NSM;;;;;N;;;;; 0347;COMBINING EQUALS SIGN BELOW;Mn;220;NSM;;;;;N;;;;; 0348;COMBINING DOUBLE VERTICAL LINE BELOW;Mn;220;NSM;;;;;N;;;;; 0349;COMBINING LEFT ANGLE BELOW;Mn;220;NSM;;;;;N;;;;; 034A;COMBINING NOT TILDE ABOVE;Mn;230;NSM;;;;;N;;;;; 034B;COMBINING HOMOTHETIC ABOVE;Mn;230;NSM;;;;;N;;;;; 034C;COMBINING ALMOST EQUAL TO ABOVE;Mn;230;NSM;;;;;N;;;;; 034D;COMBINING LEFT RIGHT ARROW BELOW;Mn;220;NSM;;;;;N;;;;; 034E;COMBINING UPWARDS ARROW BELOW;Mn;220;NSM;;;;;N;;;;; 0360;COMBINING DOUBLE TILDE;Mn;234;NSM;;;;;N;;;;; 0361;COMBINING DOUBLE INVERTED BREVE;Mn;234;NSM;;;;;N;;;;; 0362;COMBINING DOUBLE RIGHTWARDS ARROW BELOW;Mn;233;NSM;;;;;N;;;;; 0374;GREEK NUMERAL SIGN;Sk;0;ON;02B9;;;;N;GREEK UPPER NUMERAL SIGN;Dexia keraia;;; 0375;GREEK LOWER NUMERAL SIGN;Sk;0;ON;;;;;N;;Aristeri keraia;;; 037A;GREEK YPOGEGRAMMENI;Lm;0;L; 0020 0345;;;;N;GREEK SPACING IOTA BELOW;;;; 037E;GREEK QUESTION MARK;Po;0;ON;003B;;;;N;;Erotimatiko;;; 0384;GREEK TONOS;Sk;0;ON; 0020 0301;;;;N;GREEK SPACING TONOS;;;; 0385;GREEK DIALYTIKA TONOS;Sk;0;ON;00A8 0301;;;;N;GREEK SPACING DIAERESIS TONOS;;;; 0386;GREEK CAPITAL LETTER ALPHA WITH TONOS;Lu;0;L;0391 0301;;;;N;GREEK CAPITAL LETTER ALPHA TONOS;;;03AC; 0387;GREEK ANO TELEIA;Po;0;ON;00B7;;;;N;;;;; 0388;GREEK CAPITAL LETTER EPSILON WITH TONOS;Lu;0;L;0395 0301;;;;N;GREEK CAPITAL LETTER EPSILON TONOS;;;03AD; 0389;GREEK CAPITAL LETTER ETA WITH TONOS;Lu;0;L;0397 0301;;;;N;GREEK CAPITAL LETTER ETA TONOS;;;03AE; 038A;GREEK CAPITAL LETTER IOTA WITH TONOS;Lu;0;L;0399 0301;;;;N;GREEK CAPITAL LETTER IOTA TONOS;;;03AF; 038C;GREEK CAPITAL LETTER OMICRON WITH TONOS;Lu;0;L;039F 0301;;;;N;GREEK CAPITAL LETTER OMICRON TONOS;;;03CC; 038E;GREEK CAPITAL LETTER UPSILON WITH TONOS;Lu;0;L;03A5 0301;;;;N;GREEK CAPITAL LETTER UPSILON TONOS;;;03CD; 038F;GREEK CAPITAL LETTER OMEGA WITH TONOS;Lu;0;L;03A9 0301;;;;N;GREEK CAPITAL LETTER OMEGA TONOS;;;03CE; 0390;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS;Ll;0;L;03CA 0301;;;;N;GREEK SMALL LETTER IOTA DIAERESIS TONOS;;;; 0391;GREEK CAPITAL LETTER ALPHA;Lu;0;L;;;;;N;;;;03B1; 0392;GREEK CAPITAL LETTER BETA;Lu;0;L;;;;;N;;;;03B2; 0393;GREEK CAPITAL LETTER GAMMA;Lu;0;L;;;;;N;;;;03B3; 0394;GREEK CAPITAL LETTER DELTA;Lu;0;L;;;;;N;;;;03B4; 0395;GREEK CAPITAL LETTER EPSILON;Lu;0;L;;;;;N;;;;03B5; 0396;GREEK CAPITAL LETTER ZETA;Lu;0;L;;;;;N;;;;03B6; 0397;GREEK CAPITAL LETTER ETA;Lu;0;L;;;;;N;;;;03B7; 0398;GREEK CAPITAL LETTER THETA;Lu;0;L;;;;;N;;;;03B8; 0399;GREEK CAPITAL LETTER IOTA;Lu;0;L;;;;;N;;;;03B9; 039A;GREEK CAPITAL LETTER KAPPA;Lu;0;L;;;;;N;;;;03BA; 039B;GREEK CAPITAL LETTER LAMDA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER LAMBDA;;;03BB; 039C;GREEK CAPITAL LETTER MU;Lu;0;L;;;;;N;;;;03BC; 039D;GREEK CAPITAL LETTER NU;Lu;0;L;;;;;N;;;;03BD; 039E;GREEK CAPITAL LETTER XI;Lu;0;L;;;;;N;;;;03BE; 039F;GREEK CAPITAL LETTER OMICRON;Lu;0;L;;;;;N;;;;03BF; 03A0;GREEK CAPITAL LETTER PI;Lu;0;L;;;;;N;;;;03C0; 03A1;GREEK CAPITAL LETTER RHO;Lu;0;L;;;;;N;;;;03C1; 03A3;GREEK CAPITAL LETTER SIGMA;Lu;0;L;;;;;N;;;;03C3; 03A4;GREEK CAPITAL LETTER TAU;Lu;0;L;;;;;N;;;;03C4; 03A5;GREEK CAPITAL LETTER UPSILON;Lu;0;L;;;;;N;;;;03C5; 03A6;GREEK CAPITAL LETTER PHI;Lu;0;L;;;;;N;;;;03C6; 03A7;GREEK CAPITAL LETTER CHI;Lu;0;L;;;;;N;;;;03C7; 03A8;GREEK CAPITAL LETTER PSI;Lu;0;L;;;;;N;;;;03C8; 03A9;GREEK CAPITAL LETTER OMEGA;Lu;0;L;;;;;N;;;;03C9; 03AA;GREEK CAPITAL LETTER IOTA WITH DIALYTIKA;Lu;0;L;0399 0308;;;;N;GREEK CAPITAL LETTER IOTA DIAERESIS;;;03CA; 03AB;GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA;Lu;0;L;03A5 0308;;;;N;GREEK CAPITAL LETTER UPSILON DIAERESIS;;;03CB; 03AC;GREEK SMALL LETTER ALPHA WITH TONOS;Ll;0;L;03B1 0301;;;;N;GREEK SMALL LETTER ALPHA TONOS;;0386;;0386 03AD;GREEK SMALL LETTER EPSILON WITH TONOS;Ll;0;L;03B5 0301;;;;N;GREEK SMALL LETTER EPSILON TONOS;;0388;;0388 03AE;GREEK SMALL LETTER ETA WITH TONOS;Ll;0;L;03B7 0301;;;;N;GREEK SMALL LETTER ETA TONOS;;0389;;0389 03AF;GREEK SMALL LETTER IOTA WITH TONOS;Ll;0;L;03B9 0301;;;;N;GREEK SMALL LETTER IOTA TONOS;;038A;;038A 03B0;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS;Ll;0;L;03CB 0301;;;;N;GREEK SMALL LETTER UPSILON DIAERESIS TONOS;;;; 03B1;GREEK SMALL LETTER ALPHA;Ll;0;L;;;;;N;;;0391;;0391 03B2;GREEK SMALL LETTER BETA;Ll;0;L;;;;;N;;;0392;;0392 03B3;GREEK SMALL LETTER GAMMA;Ll;0;L;;;;;N;;;0393;;0393 03B4;GREEK SMALL LETTER DELTA;Ll;0;L;;;;;N;;;0394;;0394 03B5;GREEK SMALL LETTER EPSILON;Ll;0;L;;;;;N;;;0395;;0395 03B6;GREEK SMALL LETTER ZETA;Ll;0;L;;;;;N;;;0396;;0396 03B7;GREEK SMALL LETTER ETA;Ll;0;L;;;;;N;;;0397;;0397 03B8;GREEK SMALL LETTER THETA;Ll;0;L;;;;;N;;;0398;;0398 03B9;GREEK SMALL LETTER IOTA;Ll;0;L;;;;;N;;;0399;;0399 03BA;GREEK SMALL LETTER KAPPA;Ll;0;L;;;;;N;;;039A;;039A 03BB;GREEK SMALL LETTER LAMDA;Ll;0;L;;;;;N;GREEK SMALL LETTER LAMBDA;;039B;;039B 03BC;GREEK SMALL LETTER MU;Ll;0;L;;;;;N;;;039C;;039C 03BD;GREEK SMALL LETTER NU;Ll;0;L;;;;;N;;;039D;;039D 03BE;GREEK SMALL LETTER XI;Ll;0;L;;;;;N;;;039E;;039E 03BF;GREEK SMALL LETTER OMICRON;Ll;0;L;;;;;N;;;039F;;039F 03C0;GREEK SMALL LETTER PI;Ll;0;L;;;;;N;;;03A0;;03A0 03C1;GREEK SMALL LETTER RHO;Ll;0;L;;;;;N;;;03A1;;03A1 03C2;GREEK SMALL LETTER FINAL SIGMA;Ll;0;L;;;;;N;;;03A3;;03A3 03C3;GREEK SMALL LETTER SIGMA;Ll;0;L;;;;;N;;;03A3;;03A3 03C4;GREEK SMALL LETTER TAU;Ll;0;L;;;;;N;;;03A4;;03A4 03C5;GREEK SMALL LETTER UPSILON;Ll;0;L;;;;;N;;;03A5;;03A5 03C6;GREEK SMALL LETTER PHI;Ll;0;L;;;;;N;;;03A6;;03A6 03C7;GREEK SMALL LETTER CHI;Ll;0;L;;;;;N;;;03A7;;03A7 03C8;GREEK SMALL LETTER PSI;Ll;0;L;;;;;N;;;03A8;;03A8 03C9;GREEK SMALL LETTER OMEGA;Ll;0;L;;;;;N;;;03A9;;03A9 03CA;GREEK SMALL LETTER IOTA WITH DIALYTIKA;Ll;0;L;03B9 0308;;;;N;GREEK SMALL LETTER IOTA DIAERESIS;;03AA;;03AA 03CB;GREEK SMALL LETTER UPSILON WITH DIALYTIKA;Ll;0;L;03C5 0308;;;;N;GREEK SMALL LETTER UPSILON DIAERESIS;;03AB;;03AB 03CC;GREEK SMALL LETTER OMICRON WITH TONOS;Ll;0;L;03BF 0301;;;;N;GREEK SMALL LETTER OMICRON TONOS;;038C;;038C 03CD;GREEK SMALL LETTER UPSILON WITH TONOS;Ll;0;L;03C5 0301;;;;N;GREEK SMALL LETTER UPSILON TONOS;;038E;;038E 03CE;GREEK SMALL LETTER OMEGA WITH TONOS;Ll;0;L;03C9 0301;;;;N;GREEK SMALL LETTER OMEGA TONOS;;038F;;038F 03D0;GREEK BETA SYMBOL;Ll;0;L; 03B2;;;;N;GREEK SMALL LETTER CURLED BETA;;0392;;0392 03D1;GREEK THETA SYMBOL;Ll;0;L; 03B8;;;;N;GREEK SMALL LETTER SCRIPT THETA;;0398;;0398 03D2;GREEK UPSILON WITH HOOK SYMBOL;Lu;0;L; 03A5;;;;N;GREEK CAPITAL LETTER UPSILON HOOK;;;; 03D3;GREEK UPSILON WITH ACUTE AND HOOK SYMBOL;Lu;0;L;03D2 0301;;;;N;GREEK CAPITAL LETTER UPSILON HOOK TONOS;;;; 03D4;GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL;Lu;0;L;03D2 0308;;;;N;GREEK CAPITAL LETTER UPSILON HOOK DIAERESIS;;;; 03D5;GREEK PHI SYMBOL;Ll;0;L; 03C6;;;;N;GREEK SMALL LETTER SCRIPT PHI;;03A6;;03A6 03D6;GREEK PI SYMBOL;Ll;0;L; 03C0;;;;N;GREEK SMALL LETTER OMEGA PI;;03A0;;03A0 03D7;GREEK KAI SYMBOL;Ll;0;L;;;;;N;;;;; 03DA;GREEK LETTER STIGMA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER STIGMA;;;03DB; 03DB;GREEK SMALL LETTER STIGMA;Ll;0;L;;;;;N;;;03DA;;03DA 03DC;GREEK LETTER DIGAMMA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER DIGAMMA;;;03DD; 03DD;GREEK SMALL LETTER DIGAMMA;Ll;0;L;;;;;N;;;03DC;;03DC 03DE;GREEK LETTER KOPPA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER KOPPA;;;03DF; 03DF;GREEK SMALL LETTER KOPPA;Ll;0;L;;;;;N;;;03DE;;03DE 03E0;GREEK LETTER SAMPI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER SAMPI;;;03E1; 03E1;GREEK SMALL LETTER SAMPI;Ll;0;L;;;;;N;;;03E0;;03E0 03E2;COPTIC CAPITAL LETTER SHEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER SHEI;;;03E3; 03E3;COPTIC SMALL LETTER SHEI;Ll;0;L;;;;;N;GREEK SMALL LETTER SHEI;;03E2;;03E2 03E4;COPTIC CAPITAL LETTER FEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER FEI;;;03E5; 03E5;COPTIC SMALL LETTER FEI;Ll;0;L;;;;;N;GREEK SMALL LETTER FEI;;03E4;;03E4 03E6;COPTIC CAPITAL LETTER KHEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER KHEI;;;03E7; 03E7;COPTIC SMALL LETTER KHEI;Ll;0;L;;;;;N;GREEK SMALL LETTER KHEI;;03E6;;03E6 03E8;COPTIC CAPITAL LETTER HORI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER HORI;;;03E9; 03E9;COPTIC SMALL LETTER HORI;Ll;0;L;;;;;N;GREEK SMALL LETTER HORI;;03E8;;03E8 03EA;COPTIC CAPITAL LETTER GANGIA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER GANGIA;;;03EB; 03EB;COPTIC SMALL LETTER GANGIA;Ll;0;L;;;;;N;GREEK SMALL LETTER GANGIA;;03EA;;03EA 03EC;COPTIC CAPITAL LETTER SHIMA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER SHIMA;;;03ED; 03ED;COPTIC SMALL LETTER SHIMA;Ll;0;L;;;;;N;GREEK SMALL LETTER SHIMA;;03EC;;03EC 03EE;COPTIC CAPITAL LETTER DEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER DEI;;;03EF; 03EF;COPTIC SMALL LETTER DEI;Ll;0;L;;;;;N;GREEK SMALL LETTER DEI;;03EE;;03EE 03F0;GREEK KAPPA SYMBOL;Ll;0;L; 03BA;;;;N;GREEK SMALL LETTER SCRIPT KAPPA;;039A;;039A 03F1;GREEK RHO SYMBOL;Ll;0;L; 03C1;;;;N;GREEK SMALL LETTER TAILED RHO;;03A1;;03A1 03F2;GREEK LUNATE SIGMA SYMBOL;Ll;0;L; 03C2;;;;N;GREEK SMALL LETTER LUNATE SIGMA;;03A3;;03A3 03F3;GREEK LETTER YOT;Ll;0;L;;;;;N;;;;; 0400;CYRILLIC CAPITAL LETTER IE WITH GRAVE;Lu;0;L;0415 0300;;;;N;;;;0450; 0401;CYRILLIC CAPITAL LETTER IO;Lu;0;L;0415 0308;;;;N;;;;0451; 0402;CYRILLIC CAPITAL LETTER DJE;Lu;0;L;;;;;N;;Serbocroatian;;0452; 0403;CYRILLIC CAPITAL LETTER GJE;Lu;0;L;0413 0301;;;;N;;;;0453; 0404;CYRILLIC CAPITAL LETTER UKRAINIAN IE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER E;;;0454; 0405;CYRILLIC CAPITAL LETTER DZE;Lu;0;L;;;;;N;;;;0455; 0406;CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER I;;;0456; 0407;CYRILLIC CAPITAL LETTER YI;Lu;0;L;0406 0308;;;;N;;Ukrainian;;0457; 0408;CYRILLIC CAPITAL LETTER JE;Lu;0;L;;;;;N;;;;0458; 0409;CYRILLIC CAPITAL LETTER LJE;Lu;0;L;;;;;N;;;;0459; 040A;CYRILLIC CAPITAL LETTER NJE;Lu;0;L;;;;;N;;;;045A; 040B;CYRILLIC CAPITAL LETTER TSHE;Lu;0;L;;;;;N;;Serbocroatian;;045B; 040C;CYRILLIC CAPITAL LETTER KJE;Lu;0;L;041A 0301;;;;N;;;;045C; 040D;CYRILLIC CAPITAL LETTER I WITH GRAVE;Lu;0;L;0418 0300;;;;N;;;;045D; 040E;CYRILLIC CAPITAL LETTER SHORT U;Lu;0;L;0423 0306;;;;N;;Byelorussian;;045E; 040F;CYRILLIC CAPITAL LETTER DZHE;Lu;0;L;;;;;N;;;;045F; 0410;CYRILLIC CAPITAL LETTER A;Lu;0;L;;;;;N;;;;0430; 0411;CYRILLIC CAPITAL LETTER BE;Lu;0;L;;;;;N;;;;0431; 0412;CYRILLIC CAPITAL LETTER VE;Lu;0;L;;;;;N;;;;0432; 0413;CYRILLIC CAPITAL LETTER GHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE;;;0433; 0414;CYRILLIC CAPITAL LETTER DE;Lu;0;L;;;;;N;;;;0434; 0415;CYRILLIC CAPITAL LETTER IE;Lu;0;L;;;;;N;;;;0435; 0416;CYRILLIC CAPITAL LETTER ZHE;Lu;0;L;;;;;N;;;;0436; 0417;CYRILLIC CAPITAL LETTER ZE;Lu;0;L;;;;;N;;;;0437; 0418;CYRILLIC CAPITAL LETTER I;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER II;;;0438; 0419;CYRILLIC CAPITAL LETTER SHORT I;Lu;0;L;0418 0306;;;;N;CYRILLIC CAPITAL LETTER SHORT II;;;0439; 041A;CYRILLIC CAPITAL LETTER KA;Lu;0;L;;;;;N;;;;043A; 041B;CYRILLIC CAPITAL LETTER EL;Lu;0;L;;;;;N;;;;043B; 041C;CYRILLIC CAPITAL LETTER EM;Lu;0;L;;;;;N;;;;043C; 041D;CYRILLIC CAPITAL LETTER EN;Lu;0;L;;;;;N;;;;043D; 041E;CYRILLIC CAPITAL LETTER O;Lu;0;L;;;;;N;;;;043E; 041F;CYRILLIC CAPITAL LETTER PE;Lu;0;L;;;;;N;;;;043F; 0420;CYRILLIC CAPITAL LETTER ER;Lu;0;L;;;;;N;;;;0440; 0421;CYRILLIC CAPITAL LETTER ES;Lu;0;L;;;;;N;;;;0441; 0422;CYRILLIC CAPITAL LETTER TE;Lu;0;L;;;;;N;;;;0442; 0423;CYRILLIC CAPITAL LETTER U;Lu;0;L;;;;;N;;;;0443; 0424;CYRILLIC CAPITAL LETTER EF;Lu;0;L;;;;;N;;;;0444; 0425;CYRILLIC CAPITAL LETTER HA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KHA;;;0445; 0426;CYRILLIC CAPITAL LETTER TSE;Lu;0;L;;;;;N;;;;0446; 0427;CYRILLIC CAPITAL LETTER CHE;Lu;0;L;;;;;N;;;;0447; 0428;CYRILLIC CAPITAL LETTER SHA;Lu;0;L;;;;;N;;;;0448; 0429;CYRILLIC CAPITAL LETTER SHCHA;Lu;0;L;;;;;N;;;;0449; 042A;CYRILLIC CAPITAL LETTER HARD SIGN;Lu;0;L;;;;;N;;;;044A; 042B;CYRILLIC CAPITAL LETTER YERU;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER YERI;;;044B; 042C;CYRILLIC CAPITAL LETTER SOFT SIGN;Lu;0;L;;;;;N;;;;044C; 042D;CYRILLIC CAPITAL LETTER E;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER REVERSED E;;;044D; 042E;CYRILLIC CAPITAL LETTER YU;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IU;;;044E; 042F;CYRILLIC CAPITAL LETTER YA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IA;;;044F; 0430;CYRILLIC SMALL LETTER A;Ll;0;L;;;;;N;;;0410;;0410 0431;CYRILLIC SMALL LETTER BE;Ll;0;L;;;;;N;;;0411;;0411 0432;CYRILLIC SMALL LETTER VE;Ll;0;L;;;;;N;;;0412;;0412 0433;CYRILLIC SMALL LETTER GHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE;;0413;;0413 0434;CYRILLIC SMALL LETTER DE;Ll;0;L;;;;;N;;;0414;;0414 0435;CYRILLIC SMALL LETTER IE;Ll;0;L;;;;;N;;;0415;;0415 0436;CYRILLIC SMALL LETTER ZHE;Ll;0;L;;;;;N;;;0416;;0416 0437;CYRILLIC SMALL LETTER ZE;Ll;0;L;;;;;N;;;0417;;0417 0438;CYRILLIC SMALL LETTER I;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER II;;0418;;0418 0439;CYRILLIC SMALL LETTER SHORT I;Ll;0;L;0438 0306;;;;N;CYRILLIC SMALL LETTER SHORT II;;0419;;0419 043A;CYRILLIC SMALL LETTER KA;Ll;0;L;;;;;N;;;041A;;041A 043B;CYRILLIC SMALL LETTER EL;Ll;0;L;;;;;N;;;041B;;041B 043C;CYRILLIC SMALL LETTER EM;Ll;0;L;;;;;N;;;041C;;041C 043D;CYRILLIC SMALL LETTER EN;Ll;0;L;;;;;N;;;041D;;041D 043E;CYRILLIC SMALL LETTER O;Ll;0;L;;;;;N;;;041E;;041E 043F;CYRILLIC SMALL LETTER PE;Ll;0;L;;;;;N;;;041F;;041F 0440;CYRILLIC SMALL LETTER ER;Ll;0;L;;;;;N;;;0420;;0420 0441;CYRILLIC SMALL LETTER ES;Ll;0;L;;;;;N;;;0421;;0421 0442;CYRILLIC SMALL LETTER TE;Ll;0;L;;;;;N;;;0422;;0422 0443;CYRILLIC SMALL LETTER U;Ll;0;L;;;;;N;;;0423;;0423 0444;CYRILLIC SMALL LETTER EF;Ll;0;L;;;;;N;;;0424;;0424 0445;CYRILLIC SMALL LETTER HA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KHA;;0425;;0425 0446;CYRILLIC SMALL LETTER TSE;Ll;0;L;;;;;N;;;0426;;0426 0447;CYRILLIC SMALL LETTER CHE;Ll;0;L;;;;;N;;;0427;;0427 0448;CYRILLIC SMALL LETTER SHA;Ll;0;L;;;;;N;;;0428;;0428 0449;CYRILLIC SMALL LETTER SHCHA;Ll;0;L;;;;;N;;;0429;;0429 044A;CYRILLIC SMALL LETTER HARD SIGN;Ll;0;L;;;;;N;;;042A;;042A 044B;CYRILLIC SMALL LETTER YERU;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER YERI;;042B;;042B 044C;CYRILLIC SMALL LETTER SOFT SIGN;Ll;0;L;;;;;N;;;042C;;042C 044D;CYRILLIC SMALL LETTER E;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER REVERSED E;;042D;;042D 044E;CYRILLIC SMALL LETTER YU;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IU;;042E;;042E 044F;CYRILLIC SMALL LETTER YA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IA;;042F;;042F 0450;CYRILLIC SMALL LETTER IE WITH GRAVE;Ll;0;L;0435 0300;;;;N;;;0400;;0400 0451;CYRILLIC SMALL LETTER IO;Ll;0;L;0435 0308;;;;N;;;0401;;0401 0452;CYRILLIC SMALL LETTER DJE;Ll;0;L;;;;;N;;Serbocroatian;0402;;0402 0453;CYRILLIC SMALL LETTER GJE;Ll;0;L;0433 0301;;;;N;;;0403;;0403 0454;CYRILLIC SMALL LETTER UKRAINIAN IE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER E;;0404;;0404 0455;CYRILLIC SMALL LETTER DZE;Ll;0;L;;;;;N;;;0405;;0405 0456;CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER I;;0406;;0406 0457;CYRILLIC SMALL LETTER YI;Ll;0;L;0456 0308;;;;N;;Ukrainian;0407;;0407 0458;CYRILLIC SMALL LETTER JE;Ll;0;L;;;;;N;;;0408;;0408 0459;CYRILLIC SMALL LETTER LJE;Ll;0;L;;;;;N;;;0409;;0409 045A;CYRILLIC SMALL LETTER NJE;Ll;0;L;;;;;N;;;040A;;040A 045B;CYRILLIC SMALL LETTER TSHE;Ll;0;L;;;;;N;;Serbocroatian;040B;;040B 045C;CYRILLIC SMALL LETTER KJE;Ll;0;L;043A 0301;;;;N;;;040C;;040C 045D;CYRILLIC SMALL LETTER I WITH GRAVE;Ll;0;L;0438 0300;;;;N;;;040D;;040D 045E;CYRILLIC SMALL LETTER SHORT U;Ll;0;L;0443 0306;;;;N;;Byelorussian;040E;;040E 045F;CYRILLIC SMALL LETTER DZHE;Ll;0;L;;;;;N;;;040F;;040F 0460;CYRILLIC CAPITAL LETTER OMEGA;Lu;0;L;;;;;N;;;;0461; 0461;CYRILLIC SMALL LETTER OMEGA;Ll;0;L;;;;;N;;;0460;;0460 0462;CYRILLIC CAPITAL LETTER YAT;Lu;0;L;;;;;N;;;;0463; 0463;CYRILLIC SMALL LETTER YAT;Ll;0;L;;;;;N;;;0462;;0462 0464;CYRILLIC CAPITAL LETTER IOTIFIED E;Lu;0;L;;;;;N;;;;0465; 0465;CYRILLIC SMALL LETTER IOTIFIED E;Ll;0;L;;;;;N;;;0464;;0464 0466;CYRILLIC CAPITAL LETTER LITTLE YUS;Lu;0;L;;;;;N;;;;0467; 0467;CYRILLIC SMALL LETTER LITTLE YUS;Ll;0;L;;;;;N;;;0466;;0466 0468;CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS;Lu;0;L;;;;;N;;;;0469; 0469;CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS;Ll;0;L;;;;;N;;;0468;;0468 046A;CYRILLIC CAPITAL LETTER BIG YUS;Lu;0;L;;;;;N;;;;046B; 046B;CYRILLIC SMALL LETTER BIG YUS;Ll;0;L;;;;;N;;;046A;;046A 046C;CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS;Lu;0;L;;;;;N;;;;046D; 046D;CYRILLIC SMALL LETTER IOTIFIED BIG YUS;Ll;0;L;;;;;N;;;046C;;046C 046E;CYRILLIC CAPITAL LETTER KSI;Lu;0;L;;;;;N;;;;046F; 046F;CYRILLIC SMALL LETTER KSI;Ll;0;L;;;;;N;;;046E;;046E 0470;CYRILLIC CAPITAL LETTER PSI;Lu;0;L;;;;;N;;;;0471; 0471;CYRILLIC SMALL LETTER PSI;Ll;0;L;;;;;N;;;0470;;0470 0472;CYRILLIC CAPITAL LETTER FITA;Lu;0;L;;;;;N;;;;0473; 0473;CYRILLIC SMALL LETTER FITA;Ll;0;L;;;;;N;;;0472;;0472 0474;CYRILLIC CAPITAL LETTER IZHITSA;Lu;0;L;;;;;N;;;;0475; 0475;CYRILLIC SMALL LETTER IZHITSA;Ll;0;L;;;;;N;;;0474;;0474 0476;CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT;Lu;0;L;0474 030F;;;;N;CYRILLIC CAPITAL LETTER IZHITSA DOUBLE GRAVE;;;0477; 0477;CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT;Ll;0;L;0475 030F;;;;N;CYRILLIC SMALL LETTER IZHITSA DOUBLE GRAVE;;0476;;0476 0478;CYRILLIC CAPITAL LETTER UK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER UK DIGRAPH;;;0479; 0479;CYRILLIC SMALL LETTER UK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER UK DIGRAPH;;0478;;0478 047A;CYRILLIC CAPITAL LETTER ROUND OMEGA;Lu;0;L;;;;;N;;;;047B; 047B;CYRILLIC SMALL LETTER ROUND OMEGA;Ll;0;L;;;;;N;;;047A;;047A 047C;CYRILLIC CAPITAL LETTER OMEGA WITH TITLO;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER OMEGA TITLO;;;047D; 047D;CYRILLIC SMALL LETTER OMEGA WITH TITLO;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER OMEGA TITLO;;047C;;047C 047E;CYRILLIC CAPITAL LETTER OT;Lu;0;L;;;;;N;;;;047F; 047F;CYRILLIC SMALL LETTER OT;Ll;0;L;;;;;N;;;047E;;047E 0480;CYRILLIC CAPITAL LETTER KOPPA;Lu;0;L;;;;;N;;;;0481; 0481;CYRILLIC SMALL LETTER KOPPA;Ll;0;L;;;;;N;;;0480;;0480 0482;CYRILLIC THOUSANDS SIGN;So;0;L;;;;;N;;;;; 0483;COMBINING CYRILLIC TITLO;Mn;230;NSM;;;;;N;CYRILLIC NON-SPACING TITLO;;;; 0484;COMBINING CYRILLIC PALATALIZATION;Mn;230;NSM;;;;;N;CYRILLIC NON-SPACING PALATALIZATION;;;; 0485;COMBINING CYRILLIC DASIA PNEUMATA;Mn;230;NSM;;;;;N;CYRILLIC NON-SPACING DASIA PNEUMATA;;;; 0486;COMBINING CYRILLIC PSILI PNEUMATA;Mn;230;NSM;;;;;N;CYRILLIC NON-SPACING PSILI PNEUMATA;;;; 0488;COMBINING CYRILLIC HUNDRED THOUSANDS SIGN;Me;0;NSM;;;;;N;;;;; 0489;COMBINING CYRILLIC MILLIONS SIGN;Me;0;NSM;;;;;N;;;;; 048C;CYRILLIC CAPITAL LETTER SEMISOFT SIGN;Lu;0;L;;;;;N;;;;048D; 048D;CYRILLIC SMALL LETTER SEMISOFT SIGN;Ll;0;L;;;;;N;;;048C;;048C 048E;CYRILLIC CAPITAL LETTER ER WITH TICK;Lu;0;L;;;;;N;;;;048F; 048F;CYRILLIC SMALL LETTER ER WITH TICK;Ll;0;L;;;;;N;;;048E;;048E 0490;CYRILLIC CAPITAL LETTER GHE WITH UPTURN;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE WITH UPTURN;;;0491; 0491;CYRILLIC SMALL LETTER GHE WITH UPTURN;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE WITH UPTURN;;0490;;0490 0492;CYRILLIC CAPITAL LETTER GHE WITH STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE BAR;;;0493; 0493;CYRILLIC SMALL LETTER GHE WITH STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE BAR;;0492;;0492 0494;CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE HOOK;;;0495; 0495;CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE HOOK;;0494;;0494 0496;CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER ZHE WITH RIGHT DESCENDER;;;0497; 0497;CYRILLIC SMALL LETTER ZHE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER ZHE WITH RIGHT DESCENDER;;0496;;0496 0498;CYRILLIC CAPITAL LETTER ZE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER ZE CEDILLA;;;0499; 0499;CYRILLIC SMALL LETTER ZE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER ZE CEDILLA;;0498;;0498 049A;CYRILLIC CAPITAL LETTER KA WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KA WITH RIGHT DESCENDER;;;049B; 049B;CYRILLIC SMALL LETTER KA WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KA WITH RIGHT DESCENDER;;049A;;049A 049C;CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KA VERTICAL BAR;;;049D; 049D;CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KA VERTICAL BAR;;049C;;049C 049E;CYRILLIC CAPITAL LETTER KA WITH STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KA BAR;;;049F; 049F;CYRILLIC SMALL LETTER KA WITH STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KA BAR;;049E;;049E 04A0;CYRILLIC CAPITAL LETTER BASHKIR KA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER REVERSED GE KA;;;04A1; 04A1;CYRILLIC SMALL LETTER BASHKIR KA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER REVERSED GE KA;;04A0;;04A0 04A2;CYRILLIC CAPITAL LETTER EN WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER EN WITH RIGHT DESCENDER;;;04A3; 04A3;CYRILLIC SMALL LETTER EN WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER EN WITH RIGHT DESCENDER;;04A2;;04A2 04A4;CYRILLIC CAPITAL LIGATURE EN GHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER EN GE;;;04A5; 04A5;CYRILLIC SMALL LIGATURE EN GHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER EN GE;;04A4;;04A4 04A6;CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER PE HOOK;Abkhasian;;04A7; 04A7;CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER PE HOOK;Abkhasian;04A6;;04A6 04A8;CYRILLIC CAPITAL LETTER ABKHASIAN HA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER O HOOK;;;04A9; 04A9;CYRILLIC SMALL LETTER ABKHASIAN HA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER O HOOK;;04A8;;04A8 04AA;CYRILLIC CAPITAL LETTER ES WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER ES CEDILLA;;;04AB; 04AB;CYRILLIC SMALL LETTER ES WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER ES CEDILLA;;04AA;;04AA 04AC;CYRILLIC CAPITAL LETTER TE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER TE WITH RIGHT DESCENDER;;;04AD; 04AD;CYRILLIC SMALL LETTER TE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER TE WITH RIGHT DESCENDER;;04AC;;04AC 04AE;CYRILLIC CAPITAL LETTER STRAIGHT U;Lu;0;L;;;;;N;;;;04AF; 04AF;CYRILLIC SMALL LETTER STRAIGHT U;Ll;0;L;;;;;N;;;04AE;;04AE 04B0;CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER STRAIGHT U BAR;;;04B1; 04B1;CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER STRAIGHT U BAR;;04B0;;04B0 04B2;CYRILLIC CAPITAL LETTER HA WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KHA WITH RIGHT DESCENDER;;;04B3; 04B3;CYRILLIC SMALL LETTER HA WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KHA WITH RIGHT DESCENDER;;04B2;;04B2 04B4;CYRILLIC CAPITAL LIGATURE TE TSE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER TE TSE;Abkhasian;;04B5; 04B5;CYRILLIC SMALL LIGATURE TE TSE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER TE TSE;Abkhasian;04B4;;04B4 04B6;CYRILLIC CAPITAL LETTER CHE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER CHE WITH RIGHT DESCENDER;;;04B7; 04B7;CYRILLIC SMALL LETTER CHE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER CHE WITH RIGHT DESCENDER;;04B6;;04B6 04B8;CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER CHE VERTICAL BAR;;;04B9; 04B9;CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER CHE VERTICAL BAR;;04B8;;04B8 04BA;CYRILLIC CAPITAL LETTER SHHA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER H;;;04BB; 04BB;CYRILLIC SMALL LETTER SHHA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER H;;04BA;;04BA 04BC;CYRILLIC CAPITAL LETTER ABKHASIAN CHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IE HOOK;;;04BD; 04BD;CYRILLIC SMALL LETTER ABKHASIAN CHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IE HOOK;;04BC;;04BC 04BE;CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IE HOOK OGONEK;;;04BF; 04BF;CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IE HOOK OGONEK;;04BE;;04BE 04C0;CYRILLIC LETTER PALOCHKA;Lu;0;L;;;;;N;CYRILLIC LETTER I;;;; 04C1;CYRILLIC CAPITAL LETTER ZHE WITH BREVE;Lu;0;L;0416 0306;;;;N;CYRILLIC CAPITAL LETTER SHORT ZHE;;;04C2; 04C2;CYRILLIC SMALL LETTER ZHE WITH BREVE;Ll;0;L;0436 0306;;;;N;CYRILLIC SMALL LETTER SHORT ZHE;;04C1;;04C1 04C3;CYRILLIC CAPITAL LETTER KA WITH HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KA HOOK;;;04C4; 04C4;CYRILLIC SMALL LETTER KA WITH HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KA HOOK;;04C3;;04C3 04C7;CYRILLIC CAPITAL LETTER EN WITH HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER EN HOOK;;;04C8; 04C8;CYRILLIC SMALL LETTER EN WITH HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER EN HOOK;;04C7;;04C7 04CB;CYRILLIC CAPITAL LETTER KHAKASSIAN CHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER CHE WITH LEFT DESCENDER;;;04CC; 04CC;CYRILLIC SMALL LETTER KHAKASSIAN CHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER CHE WITH LEFT DESCENDER;;04CB;;04CB 04D0;CYRILLIC CAPITAL LETTER A WITH BREVE;Lu;0;L;0410 0306;;;;N;;;;04D1; 04D1;CYRILLIC SMALL LETTER A WITH BREVE;Ll;0;L;0430 0306;;;;N;;;04D0;;04D0 04D2;CYRILLIC CAPITAL LETTER A WITH DIAERESIS;Lu;0;L;0410 0308;;;;N;;;;04D3; 04D3;CYRILLIC SMALL LETTER A WITH DIAERESIS;Ll;0;L;0430 0308;;;;N;;;04D2;;04D2 04D4;CYRILLIC CAPITAL LIGATURE A IE;Lu;0;L;;;;;N;;;;04D5; 04D5;CYRILLIC SMALL LIGATURE A IE;Ll;0;L;;;;;N;;;04D4;;04D4 04D6;CYRILLIC CAPITAL LETTER IE WITH BREVE;Lu;0;L;0415 0306;;;;N;;;;04D7; 04D7;CYRILLIC SMALL LETTER IE WITH BREVE;Ll;0;L;0435 0306;;;;N;;;04D6;;04D6 04D8;CYRILLIC CAPITAL LETTER SCHWA;Lu;0;L;;;;;N;;;;04D9; 04D9;CYRILLIC SMALL LETTER SCHWA;Ll;0;L;;;;;N;;;04D8;;04D8 04DA;CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS;Lu;0;L;04D8 0308;;;;N;;;;04DB; 04DB;CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS;Ll;0;L;04D9 0308;;;;N;;;04DA;;04DA 04DC;CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS;Lu;0;L;0416 0308;;;;N;;;;04DD; 04DD;CYRILLIC SMALL LETTER ZHE WITH DIAERESIS;Ll;0;L;0436 0308;;;;N;;;04DC;;04DC 04DE;CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS;Lu;0;L;0417 0308;;;;N;;;;04DF; 04DF;CYRILLIC SMALL LETTER ZE WITH DIAERESIS;Ll;0;L;0437 0308;;;;N;;;04DE;;04DE 04E0;CYRILLIC CAPITAL LETTER ABKHASIAN DZE;Lu;0;L;;;;;N;;;;04E1; 04E1;CYRILLIC SMALL LETTER ABKHASIAN DZE;Ll;0;L;;;;;N;;;04E0;;04E0 04E2;CYRILLIC CAPITAL LETTER I WITH MACRON;Lu;0;L;0418 0304;;;;N;;;;04E3; 04E3;CYRILLIC SMALL LETTER I WITH MACRON;Ll;0;L;0438 0304;;;;N;;;04E2;;04E2 04E4;CYRILLIC CAPITAL LETTER I WITH DIAERESIS;Lu;0;L;0418 0308;;;;N;;;;04E5; 04E5;CYRILLIC SMALL LETTER I WITH DIAERESIS;Ll;0;L;0438 0308;;;;N;;;04E4;;04E4 04E6;CYRILLIC CAPITAL LETTER O WITH DIAERESIS;Lu;0;L;041E 0308;;;;N;;;;04E7; 04E7;CYRILLIC SMALL LETTER O WITH DIAERESIS;Ll;0;L;043E 0308;;;;N;;;04E6;;04E6 04E8;CYRILLIC CAPITAL LETTER BARRED O;Lu;0;L;;;;;N;;;;04E9; 04E9;CYRILLIC SMALL LETTER BARRED O;Ll;0;L;;;;;N;;;04E8;;04E8 04EA;CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS;Lu;0;L;04E8 0308;;;;N;;;;04EB; 04EB;CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS;Ll;0;L;04E9 0308;;;;N;;;04EA;;04EA 04EC;CYRILLIC CAPITAL LETTER E WITH DIAERESIS;Lu;0;L;042D 0308;;;;N;;;;04ED; 04ED;CYRILLIC SMALL LETTER E WITH DIAERESIS;Ll;0;L;044D 0308;;;;N;;;04EC;;04EC 04EE;CYRILLIC CAPITAL LETTER U WITH MACRON;Lu;0;L;0423 0304;;;;N;;;;04EF; 04EF;CYRILLIC SMALL LETTER U WITH MACRON;Ll;0;L;0443 0304;;;;N;;;04EE;;04EE 04F0;CYRILLIC CAPITAL LETTER U WITH DIAERESIS;Lu;0;L;0423 0308;;;;N;;;;04F1; 04F1;CYRILLIC SMALL LETTER U WITH DIAERESIS;Ll;0;L;0443 0308;;;;N;;;04F0;;04F0 04F2;CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE;Lu;0;L;0423 030B;;;;N;;;;04F3; 04F3;CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE;Ll;0;L;0443 030B;;;;N;;;04F2;;04F2 04F4;CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS;Lu;0;L;0427 0308;;;;N;;;;04F5; 04F5;CYRILLIC SMALL LETTER CHE WITH DIAERESIS;Ll;0;L;0447 0308;;;;N;;;04F4;;04F4 04F8;CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS;Lu;0;L;042B 0308;;;;N;;;;04F9; 04F9;CYRILLIC SMALL LETTER YERU WITH DIAERESIS;Ll;0;L;044B 0308;;;;N;;;04F8;;04F8 0531;ARMENIAN CAPITAL LETTER AYB;Lu;0;L;;;;;N;;;;0561; 0532;ARMENIAN CAPITAL LETTER BEN;Lu;0;L;;;;;N;;;;0562; 0533;ARMENIAN CAPITAL LETTER GIM;Lu;0;L;;;;;N;;;;0563; 0534;ARMENIAN CAPITAL LETTER DA;Lu;0;L;;;;;N;;;;0564; 0535;ARMENIAN CAPITAL LETTER ECH;Lu;0;L;;;;;N;;;;0565; 0536;ARMENIAN CAPITAL LETTER ZA;Lu;0;L;;;;;N;;;;0566; 0537;ARMENIAN CAPITAL LETTER EH;Lu;0;L;;;;;N;;;;0567; 0538;ARMENIAN CAPITAL LETTER ET;Lu;0;L;;;;;N;;;;0568; 0539;ARMENIAN CAPITAL LETTER TO;Lu;0;L;;;;;N;;;;0569; 053A;ARMENIAN CAPITAL LETTER ZHE;Lu;0;L;;;;;N;;;;056A; 053B;ARMENIAN CAPITAL LETTER INI;Lu;0;L;;;;;N;;;;056B; 053C;ARMENIAN CAPITAL LETTER LIWN;Lu;0;L;;;;;N;;;;056C; 053D;ARMENIAN CAPITAL LETTER XEH;Lu;0;L;;;;;N;;;;056D; 053E;ARMENIAN CAPITAL LETTER CA;Lu;0;L;;;;;N;;;;056E; 053F;ARMENIAN CAPITAL LETTER KEN;Lu;0;L;;;;;N;;;;056F; 0540;ARMENIAN CAPITAL LETTER HO;Lu;0;L;;;;;N;;;;0570; 0541;ARMENIAN CAPITAL LETTER JA;Lu;0;L;;;;;N;;;;0571; 0542;ARMENIAN CAPITAL LETTER GHAD;Lu;0;L;;;;;N;ARMENIAN CAPITAL LETTER LAD;;;0572; 0543;ARMENIAN CAPITAL LETTER CHEH;Lu;0;L;;;;;N;;;;0573; 0544;ARMENIAN CAPITAL LETTER MEN;Lu;0;L;;;;;N;;;;0574; 0545;ARMENIAN CAPITAL LETTER YI;Lu;0;L;;;;;N;;;;0575; 0546;ARMENIAN CAPITAL LETTER NOW;Lu;0;L;;;;;N;;;;0576; 0547;ARMENIAN CAPITAL LETTER SHA;Lu;0;L;;;;;N;;;;0577; 0548;ARMENIAN CAPITAL LETTER VO;Lu;0;L;;;;;N;;;;0578; 0549;ARMENIAN CAPITAL LETTER CHA;Lu;0;L;;;;;N;;;;0579; 054A;ARMENIAN CAPITAL LETTER PEH;Lu;0;L;;;;;N;;;;057A; 054B;ARMENIAN CAPITAL LETTER JHEH;Lu;0;L;;;;;N;;;;057B; 054C;ARMENIAN CAPITAL LETTER RA;Lu;0;L;;;;;N;;;;057C; 054D;ARMENIAN CAPITAL LETTER SEH;Lu;0;L;;;;;N;;;;057D; 054E;ARMENIAN CAPITAL LETTER VEW;Lu;0;L;;;;;N;;;;057E; 054F;ARMENIAN CAPITAL LETTER TIWN;Lu;0;L;;;;;N;;;;057F; 0550;ARMENIAN CAPITAL LETTER REH;Lu;0;L;;;;;N;;;;0580; 0551;ARMENIAN CAPITAL LETTER CO;Lu;0;L;;;;;N;;;;0581; 0552;ARMENIAN CAPITAL LETTER YIWN;Lu;0;L;;;;;N;;;;0582; 0553;ARMENIAN CAPITAL LETTER PIWR;Lu;0;L;;;;;N;;;;0583; 0554;ARMENIAN CAPITAL LETTER KEH;Lu;0;L;;;;;N;;;;0584; 0555;ARMENIAN CAPITAL LETTER OH;Lu;0;L;;;;;N;;;;0585; 0556;ARMENIAN CAPITAL LETTER FEH;Lu;0;L;;;;;N;;;;0586; 0559;ARMENIAN MODIFIER LETTER LEFT HALF RING;Lm;0;L;;;;;N;;;;; 055A;ARMENIAN APOSTROPHE;Po;0;L;;;;;N;ARMENIAN MODIFIER LETTER RIGHT HALF RING;;;; 055B;ARMENIAN EMPHASIS MARK;Po;0;L;;;;;N;;;;; 055C;ARMENIAN EXCLAMATION MARK;Po;0;L;;;;;N;;;;; 055D;ARMENIAN COMMA;Po;0;L;;;;;N;;;;; 055E;ARMENIAN QUESTION MARK;Po;0;L;;;;;N;;;;; 055F;ARMENIAN ABBREVIATION MARK;Po;0;L;;;;;N;;;;; 0561;ARMENIAN SMALL LETTER AYB;Ll;0;L;;;;;N;;;0531;;0531 0562;ARMENIAN SMALL LETTER BEN;Ll;0;L;;;;;N;;;0532;;0532 0563;ARMENIAN SMALL LETTER GIM;Ll;0;L;;;;;N;;;0533;;0533 0564;ARMENIAN SMALL LETTER DA;Ll;0;L;;;;;N;;;0534;;0534 0565;ARMENIAN SMALL LETTER ECH;Ll;0;L;;;;;N;;;0535;;0535 0566;ARMENIAN SMALL LETTER ZA;Ll;0;L;;;;;N;;;0536;;0536 0567;ARMENIAN SMALL LETTER EH;Ll;0;L;;;;;N;;;0537;;0537 0568;ARMENIAN SMALL LETTER ET;Ll;0;L;;;;;N;;;0538;;0538 0569;ARMENIAN SMALL LETTER TO;Ll;0;L;;;;;N;;;0539;;0539 056A;ARMENIAN SMALL LETTER ZHE;Ll;0;L;;;;;N;;;053A;;053A 056B;ARMENIAN SMALL LETTER INI;Ll;0;L;;;;;N;;;053B;;053B 056C;ARMENIAN SMALL LETTER LIWN;Ll;0;L;;;;;N;;;053C;;053C 056D;ARMENIAN SMALL LETTER XEH;Ll;0;L;;;;;N;;;053D;;053D 056E;ARMENIAN SMALL LETTER CA;Ll;0;L;;;;;N;;;053E;;053E 056F;ARMENIAN SMALL LETTER KEN;Ll;0;L;;;;;N;;;053F;;053F 0570;ARMENIAN SMALL LETTER HO;Ll;0;L;;;;;N;;;0540;;0540 0571;ARMENIAN SMALL LETTER JA;Ll;0;L;;;;;N;;;0541;;0541 0572;ARMENIAN SMALL LETTER GHAD;Ll;0;L;;;;;N;ARMENIAN SMALL LETTER LAD;;0542;;0542 0573;ARMENIAN SMALL LETTER CHEH;Ll;0;L;;;;;N;;;0543;;0543 0574;ARMENIAN SMALL LETTER MEN;Ll;0;L;;;;;N;;;0544;;0544 0575;ARMENIAN SMALL LETTER YI;Ll;0;L;;;;;N;;;0545;;0545 0576;ARMENIAN SMALL LETTER NOW;Ll;0;L;;;;;N;;;0546;;0546 0577;ARMENIAN SMALL LETTER SHA;Ll;0;L;;;;;N;;;0547;;0547 0578;ARMENIAN SMALL LETTER VO;Ll;0;L;;;;;N;;;0548;;0548 0579;ARMENIAN SMALL LETTER CHA;Ll;0;L;;;;;N;;;0549;;0549 057A;ARMENIAN SMALL LETTER PEH;Ll;0;L;;;;;N;;;054A;;054A 057B;ARMENIAN SMALL LETTER JHEH;Ll;0;L;;;;;N;;;054B;;054B 057C;ARMENIAN SMALL LETTER RA;Ll;0;L;;;;;N;;;054C;;054C 057D;ARMENIAN SMALL LETTER SEH;Ll;0;L;;;;;N;;;054D;;054D 057E;ARMENIAN SMALL LETTER VEW;Ll;0;L;;;;;N;;;054E;;054E 057F;ARMENIAN SMALL LETTER TIWN;Ll;0;L;;;;;N;;;054F;;054F 0580;ARMENIAN SMALL LETTER REH;Ll;0;L;;;;;N;;;0550;;0550 0581;ARMENIAN SMALL LETTER CO;Ll;0;L;;;;;N;;;0551;;0551 0582;ARMENIAN SMALL LETTER YIWN;Ll;0;L;;;;;N;;;0552;;0552 0583;ARMENIAN SMALL LETTER PIWR;Ll;0;L;;;;;N;;;0553;;0553 0584;ARMENIAN SMALL LETTER KEH;Ll;0;L;;;;;N;;;0554;;0554 0585;ARMENIAN SMALL LETTER OH;Ll;0;L;;;;;N;;;0555;;0555 0586;ARMENIAN SMALL LETTER FEH;Ll;0;L;;;;;N;;;0556;;0556 0587;ARMENIAN SMALL LIGATURE ECH YIWN;Ll;0;L; 0565 0582;;;;N;;;;; 0589;ARMENIAN FULL STOP;Po;0;L;;;;;N;ARMENIAN PERIOD;;;; 058A;ARMENIAN HYPHEN;Pd;0;ON;;;;;N;;;;; 0591;HEBREW ACCENT ETNAHTA;Mn;220;NSM;;;;;N;;;;; 0592;HEBREW ACCENT SEGOL;Mn;230;NSM;;;;;N;;;;; 0593;HEBREW ACCENT SHALSHELET;Mn;230;NSM;;;;;N;;;;; 0594;HEBREW ACCENT ZAQEF QATAN;Mn;230;NSM;;;;;N;;;;; 0595;HEBREW ACCENT ZAQEF GADOL;Mn;230;NSM;;;;;N;;;;; 0596;HEBREW ACCENT TIPEHA;Mn;220;NSM;;;;;N;;*;;; 0597;HEBREW ACCENT REVIA;Mn;230;NSM;;;;;N;;;;; 0598;HEBREW ACCENT ZARQA;Mn;230;NSM;;;;;N;;*;;; 0599;HEBREW ACCENT PASHTA;Mn;230;NSM;;;;;N;;;;; 059A;HEBREW ACCENT YETIV;Mn;222;NSM;;;;;N;;;;; 059B;HEBREW ACCENT TEVIR;Mn;220;NSM;;;;;N;;;;; 059C;HEBREW ACCENT GERESH;Mn;230;NSM;;;;;N;;;;; 059D;HEBREW ACCENT GERESH MUQDAM;Mn;230;NSM;;;;;N;;;;; 059E;HEBREW ACCENT GERSHAYIM;Mn;230;NSM;;;;;N;;;;; 059F;HEBREW ACCENT QARNEY PARA;Mn;230;NSM;;;;;N;;;;; 05A0;HEBREW ACCENT TELISHA GEDOLA;Mn;230;NSM;;;;;N;;;;; 05A1;HEBREW ACCENT PAZER;Mn;230;NSM;;;;;N;;;;; 05A3;HEBREW ACCENT MUNAH;Mn;220;NSM;;;;;N;;;;; 05A4;HEBREW ACCENT MAHAPAKH;Mn;220;NSM;;;;;N;;;;; 05A5;HEBREW ACCENT MERKHA;Mn;220;NSM;;;;;N;;*;;; 05A6;HEBREW ACCENT MERKHA KEFULA;Mn;220;NSM;;;;;N;;;;; 05A7;HEBREW ACCENT DARGA;Mn;220;NSM;;;;;N;;;;; 05A8;HEBREW ACCENT QADMA;Mn;230;NSM;;;;;N;;*;;; 05A9;HEBREW ACCENT TELISHA QETANA;Mn;230;NSM;;;;;N;;;;; 05AA;HEBREW ACCENT YERAH BEN YOMO;Mn;220;NSM;;;;;N;;*;;; 05AB;HEBREW ACCENT OLE;Mn;230;NSM;;;;;N;;;;; 05AC;HEBREW ACCENT ILUY;Mn;230;NSM;;;;;N;;;;; 05AD;HEBREW ACCENT DEHI;Mn;222;NSM;;;;;N;;;;; 05AE;HEBREW ACCENT ZINOR;Mn;228;NSM;;;;;N;;;;; 05AF;HEBREW MARK MASORA CIRCLE;Mn;230;NSM;;;;;N;;;;; 05B0;HEBREW POINT SHEVA;Mn;10;NSM;;;;;N;;;;; 05B1;HEBREW POINT HATAF SEGOL;Mn;11;NSM;;;;;N;;;;; 05B2;HEBREW POINT HATAF PATAH;Mn;12;NSM;;;;;N;;;;; 05B3;HEBREW POINT HATAF QAMATS;Mn;13;NSM;;;;;N;;;;; 05B4;HEBREW POINT HIRIQ;Mn;14;NSM;;;;;N;;;;; 05B5;HEBREW POINT TSERE;Mn;15;NSM;;;;;N;;;;; 05B6;HEBREW POINT SEGOL;Mn;16;NSM;;;;;N;;;;; 05B7;HEBREW POINT PATAH;Mn;17;NSM;;;;;N;;;;; 05B8;HEBREW POINT QAMATS;Mn;18;NSM;;;;;N;;;;; 05B9;HEBREW POINT HOLAM;Mn;19;NSM;;;;;N;;;;; 05BB;HEBREW POINT QUBUTS;Mn;20;NSM;;;;;N;;;;; 05BC;HEBREW POINT DAGESH OR MAPIQ;Mn;21;NSM;;;;;N;HEBREW POINT DAGESH;or shuruq;;; 05BD;HEBREW POINT METEG;Mn;22;NSM;;;;;N;;*;;; 05BE;HEBREW PUNCTUATION MAQAF;Po;0;R;;;;;N;;;;; 05BF;HEBREW POINT RAFE;Mn;23;NSM;;;;;N;;;;; 05C0;HEBREW PUNCTUATION PASEQ;Po;0;R;;;;;N;HEBREW POINT PASEQ;*;;; 05C1;HEBREW POINT SHIN DOT;Mn;24;NSM;;;;;N;;;;; 05C2;HEBREW POINT SIN DOT;Mn;25;NSM;;;;;N;;;;; 05C3;HEBREW PUNCTUATION SOF PASUQ;Po;0;R;;;;;N;;*;;; 05C4;HEBREW MARK UPPER DOT;Mn;230;NSM;;;;;N;;;;; 05D0;HEBREW LETTER ALEF;Lo;0;R;;;;;N;;;;; 05D1;HEBREW LETTER BET;Lo;0;R;;;;;N;;;;; 05D2;HEBREW LETTER GIMEL;Lo;0;R;;;;;N;;;;; 05D3;HEBREW LETTER DALET;Lo;0;R;;;;;N;;;;; 05D4;HEBREW LETTER HE;Lo;0;R;;;;;N;;;;; 05D5;HEBREW LETTER VAV;Lo;0;R;;;;;N;;;;; 05D6;HEBREW LETTER ZAYIN;Lo;0;R;;;;;N;;;;; 05D7;HEBREW LETTER HET;Lo;0;R;;;;;N;;;;; 05D8;HEBREW LETTER TET;Lo;0;R;;;;;N;;;;; 05D9;HEBREW LETTER YOD;Lo;0;R;;;;;N;;;;; 05DA;HEBREW LETTER FINAL KAF;Lo;0;R;;;;;N;;;;; 05DB;HEBREW LETTER KAF;Lo;0;R;;;;;N;;;;; 05DC;HEBREW LETTER LAMED;Lo;0;R;;;;;N;;;;; 05DD;HEBREW LETTER FINAL MEM;Lo;0;R;;;;;N;;;;; 05DE;HEBREW LETTER MEM;Lo;0;R;;;;;N;;;;; 05DF;HEBREW LETTER FINAL NUN;Lo;0;R;;;;;N;;;;; 05E0;HEBREW LETTER NUN;Lo;0;R;;;;;N;;;;; 05E1;HEBREW LETTER SAMEKH;Lo;0;R;;;;;N;;;;; 05E2;HEBREW LETTER AYIN;Lo;0;R;;;;;N;;;;; 05E3;HEBREW LETTER FINAL PE;Lo;0;R;;;;;N;;;;; 05E4;HEBREW LETTER PE;Lo;0;R;;;;;N;;;;; 05E5;HEBREW LETTER FINAL TSADI;Lo;0;R;;;;;N;;;;; 05E6;HEBREW LETTER TSADI;Lo;0;R;;;;;N;;;;; 05E7;HEBREW LETTER QOF;Lo;0;R;;;;;N;;;;; 05E8;HEBREW LETTER RESH;Lo;0;R;;;;;N;;;;; 05E9;HEBREW LETTER SHIN;Lo;0;R;;;;;N;;;;; 05EA;HEBREW LETTER TAV;Lo;0;R;;;;;N;;;;; 05F0;HEBREW LIGATURE YIDDISH DOUBLE VAV;Lo;0;R;;;;;N;HEBREW LETTER DOUBLE VAV;;;; 05F1;HEBREW LIGATURE YIDDISH VAV YOD;Lo;0;R;;;;;N;HEBREW LETTER VAV YOD;;;; 05F2;HEBREW LIGATURE YIDDISH DOUBLE YOD;Lo;0;R;;;;;N;HEBREW LETTER DOUBLE YOD;;;; 05F3;HEBREW PUNCTUATION GERESH;Po;0;R;;;;;N;;;;; 05F4;HEBREW PUNCTUATION GERSHAYIM;Po;0;R;;;;;N;;;;; 060C;ARABIC COMMA;Po;0;CS;;;;;N;;;;; 061B;ARABIC SEMICOLON;Po;0;AL;;;;;N;;;;; 061F;ARABIC QUESTION MARK;Po;0;AL;;;;;N;;;;; 0621;ARABIC LETTER HAMZA;Lo;0;AL;;;;;N;ARABIC LETTER HAMZAH;;;; 0622;ARABIC LETTER ALEF WITH MADDA ABOVE;Lo;0;AL;0627 0653;;;;N;ARABIC LETTER MADDAH ON ALEF;;;; 0623;ARABIC LETTER ALEF WITH HAMZA ABOVE;Lo;0;AL;0627 0654;;;;N;ARABIC LETTER HAMZAH ON ALEF;;;; 0624;ARABIC LETTER WAW WITH HAMZA ABOVE;Lo;0;AL;0648 0654;;;;N;ARABIC LETTER HAMZAH ON WAW;;;; 0625;ARABIC LETTER ALEF WITH HAMZA BELOW;Lo;0;AL;0627 0655;;;;N;ARABIC LETTER HAMZAH UNDER ALEF;;;; 0626;ARABIC LETTER YEH WITH HAMZA ABOVE;Lo;0;AL;064A 0654;;;;N;ARABIC LETTER HAMZAH ON YA;;;; 0627;ARABIC LETTER ALEF;Lo;0;AL;;;;;N;;;;; 0628;ARABIC LETTER BEH;Lo;0;AL;;;;;N;ARABIC LETTER BAA;;;; 0629;ARABIC LETTER TEH MARBUTA;Lo;0;AL;;;;;N;ARABIC LETTER TAA MARBUTAH;;;; 062A;ARABIC LETTER TEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA;;;; 062B;ARABIC LETTER THEH;Lo;0;AL;;;;;N;ARABIC LETTER THAA;;;; 062C;ARABIC LETTER JEEM;Lo;0;AL;;;;;N;;;;; 062D;ARABIC LETTER HAH;Lo;0;AL;;;;;N;ARABIC LETTER HAA;;;; 062E;ARABIC LETTER KHAH;Lo;0;AL;;;;;N;ARABIC LETTER KHAA;;;; 062F;ARABIC LETTER DAL;Lo;0;AL;;;;;N;;;;; 0630;ARABIC LETTER THAL;Lo;0;AL;;;;;N;;;;; 0631;ARABIC LETTER REH;Lo;0;AL;;;;;N;ARABIC LETTER RA;;;; 0632;ARABIC LETTER ZAIN;Lo;0;AL;;;;;N;;;;; 0633;ARABIC LETTER SEEN;Lo;0;AL;;;;;N;;;;; 0634;ARABIC LETTER SHEEN;Lo;0;AL;;;;;N;;;;; 0635;ARABIC LETTER SAD;Lo;0;AL;;;;;N;;;;; 0636;ARABIC LETTER DAD;Lo;0;AL;;;;;N;;;;; 0637;ARABIC LETTER TAH;Lo;0;AL;;;;;N;;;;; 0638;ARABIC LETTER ZAH;Lo;0;AL;;;;;N;ARABIC LETTER DHAH;;;; 0639;ARABIC LETTER AIN;Lo;0;AL;;;;;N;;;;; 063A;ARABIC LETTER GHAIN;Lo;0;AL;;;;;N;;;;; 0640;ARABIC TATWEEL;Lm;0;AL;;;;;N;;;;; 0641;ARABIC LETTER FEH;Lo;0;AL;;;;;N;ARABIC LETTER FA;;;; 0642;ARABIC LETTER QAF;Lo;0;AL;;;;;N;;;;; 0643;ARABIC LETTER KAF;Lo;0;AL;;;;;N;ARABIC LETTER CAF;;;; 0644;ARABIC LETTER LAM;Lo;0;AL;;;;;N;;;;; 0645;ARABIC LETTER MEEM;Lo;0;AL;;;;;N;;;;; 0646;ARABIC LETTER NOON;Lo;0;AL;;;;;N;;;;; 0647;ARABIC LETTER HEH;Lo;0;AL;;;;;N;ARABIC LETTER HA;;;; 0648;ARABIC LETTER WAW;Lo;0;AL;;;;;N;;;;; 0649;ARABIC LETTER ALEF MAKSURA;Lo;0;AL;;;;;N;ARABIC LETTER ALEF MAQSURAH;;;; 064A;ARABIC LETTER YEH;Lo;0;AL;;;;;N;ARABIC LETTER YA;;;; 064B;ARABIC FATHATAN;Mn;27;NSM;;;;;N;;;;; 064C;ARABIC DAMMATAN;Mn;28;NSM;;;;;N;;;;; 064D;ARABIC KASRATAN;Mn;29;NSM;;;;;N;;;;; 064E;ARABIC FATHA;Mn;30;NSM;;;;;N;ARABIC FATHAH;;;; 064F;ARABIC DAMMA;Mn;31;NSM;;;;;N;ARABIC DAMMAH;;;; 0650;ARABIC KASRA;Mn;32;NSM;;;;;N;ARABIC KASRAH;;;; 0651;ARABIC SHADDA;Mn;33;NSM;;;;;N;ARABIC SHADDAH;;;; 0652;ARABIC SUKUN;Mn;34;NSM;;;;;N;;;;; 0653;ARABIC MADDAH ABOVE;Mn;230;NSM;;;;;N;;;;; 0654;ARABIC HAMZA ABOVE;Mn;230;NSM;;;;;N;;;;; 0655;ARABIC HAMZA BELOW;Mn;220;NSM;;;;;N;;;;; 0660;ARABIC-INDIC DIGIT ZERO;Nd;0;AN;;0;0;0;N;;;;; 0661;ARABIC-INDIC DIGIT ONE;Nd;0;AN;;1;1;1;N;;;;; 0662;ARABIC-INDIC DIGIT TWO;Nd;0;AN;;2;2;2;N;;;;; 0663;ARABIC-INDIC DIGIT THREE;Nd;0;AN;;3;3;3;N;;;;; 0664;ARABIC-INDIC DIGIT FOUR;Nd;0;AN;;4;4;4;N;;;;; 0665;ARABIC-INDIC DIGIT FIVE;Nd;0;AN;;5;5;5;N;;;;; 0666;ARABIC-INDIC DIGIT SIX;Nd;0;AN;;6;6;6;N;;;;; 0667;ARABIC-INDIC DIGIT SEVEN;Nd;0;AN;;7;7;7;N;;;;; 0668;ARABIC-INDIC DIGIT EIGHT;Nd;0;AN;;8;8;8;N;;;;; 0669;ARABIC-INDIC DIGIT NINE;Nd;0;AN;;9;9;9;N;;;;; 066A;ARABIC PERCENT SIGN;Po;0;ET;;;;;N;;;;; 066B;ARABIC DECIMAL SEPARATOR;Po;0;AN;;;;;N;;;;; 066C;ARABIC THOUSANDS SEPARATOR;Po;0;AN;;;;;N;;;;; 066D;ARABIC FIVE POINTED STAR;Po;0;AL;;;;;N;;;;; 0670;ARABIC LETTER SUPERSCRIPT ALEF;Mn;35;NSM;;;;;N;ARABIC ALEF ABOVE;;;; 0671;ARABIC LETTER ALEF WASLA;Lo;0;AL;;;;;N;ARABIC LETTER HAMZAT WASL ON ALEF;;;; 0672;ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER WAVY HAMZAH ON ALEF;;;; 0673;ARABIC LETTER ALEF WITH WAVY HAMZA BELOW;Lo;0;AL;;;;;N;ARABIC LETTER WAVY HAMZAH UNDER ALEF;;;; 0674;ARABIC LETTER HIGH HAMZA;Lo;0;AL;;;;;N;ARABIC LETTER HIGH HAMZAH;;;; 0675;ARABIC LETTER HIGH HAMZA ALEF;Lo;0;AL; 0627 0674;;;;N;ARABIC LETTER HIGH HAMZAH ALEF;;;; 0676;ARABIC LETTER HIGH HAMZA WAW;Lo;0;AL; 0648 0674;;;;N;ARABIC LETTER HIGH HAMZAH WAW;;;; 0677;ARABIC LETTER U WITH HAMZA ABOVE;Lo;0;AL; 06C7 0674;;;;N;ARABIC LETTER HIGH HAMZAH WAW WITH DAMMAH;;;; 0678;ARABIC LETTER HIGH HAMZA YEH;Lo;0;AL; 064A 0674;;;;N;ARABIC LETTER HIGH HAMZAH YA;;;; 0679;ARABIC LETTER TTEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH SMALL TAH;;;; 067A;ARABIC LETTER TTEHEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH TWO DOTS VERTICAL ABOVE;;;; 067B;ARABIC LETTER BEEH;Lo;0;AL;;;;;N;ARABIC LETTER BAA WITH TWO DOTS VERTICAL BELOW;;;; 067C;ARABIC LETTER TEH WITH RING;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH RING;;;; 067D;ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH THREE DOTS ABOVE DOWNWARD;;;; 067E;ARABIC LETTER PEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH THREE DOTS BELOW;;;; 067F;ARABIC LETTER TEHEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH FOUR DOTS ABOVE;;;; 0680;ARABIC LETTER BEHEH;Lo;0;AL;;;;;N;ARABIC LETTER BAA WITH FOUR DOTS BELOW;;;; 0681;ARABIC LETTER HAH WITH HAMZA ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER HAMZAH ON HAA;;;; 0682;ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH TWO DOTS VERTICAL ABOVE;;;; 0683;ARABIC LETTER NYEH;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH MIDDLE TWO DOTS;;;; 0684;ARABIC LETTER DYEH;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH MIDDLE TWO DOTS VERTICAL;;;; 0685;ARABIC LETTER HAH WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH THREE DOTS ABOVE;;;; 0686;ARABIC LETTER TCHEH;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH MIDDLE THREE DOTS DOWNWARD;;;; 0687;ARABIC LETTER TCHEHEH;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH MIDDLE FOUR DOTS;;;; 0688;ARABIC LETTER DDAL;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH SMALL TAH;;;; 0689;ARABIC LETTER DAL WITH RING;Lo;0;AL;;;;;N;;;;; 068A;ARABIC LETTER DAL WITH DOT BELOW;Lo;0;AL;;;;;N;;;;; 068B;ARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH;Lo;0;AL;;;;;N;;;;; 068C;ARABIC LETTER DAHAL;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH TWO DOTS ABOVE;;;; 068D;ARABIC LETTER DDAHAL;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH TWO DOTS BELOW;;;; 068E;ARABIC LETTER DUL;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH THREE DOTS ABOVE;;;; 068F;ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARD;;;; 0690;ARABIC LETTER DAL WITH FOUR DOTS ABOVE;Lo;0;AL;;;;;N;;;;; 0691;ARABIC LETTER RREH;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH SMALL TAH;;;; 0692;ARABIC LETTER REH WITH SMALL V;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH SMALL V;;;; 0693;ARABIC LETTER REH WITH RING;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH RING;;;; 0694;ARABIC LETTER REH WITH DOT BELOW;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH DOT BELOW;;;; 0695;ARABIC LETTER REH WITH SMALL V BELOW;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH SMALL V BELOW;;;; 0696;ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH DOT BELOW AND DOT ABOVE;;;; 0697;ARABIC LETTER REH WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH TWO DOTS ABOVE;;;; 0698;ARABIC LETTER JEH;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH THREE DOTS ABOVE;;;; 0699;ARABIC LETTER REH WITH FOUR DOTS ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH FOUR DOTS ABOVE;;;; 069A;ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE;Lo;0;AL;;;;;N;;;;; 069B;ARABIC LETTER SEEN WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;;;;; 069C;ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; 069D;ARABIC LETTER SAD WITH TWO DOTS BELOW;Lo;0;AL;;;;;N;;;;; 069E;ARABIC LETTER SAD WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; 069F;ARABIC LETTER TAH WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; 06A0;ARABIC LETTER AIN WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; 06A1;ARABIC LETTER DOTLESS FEH;Lo;0;AL;;;;;N;ARABIC LETTER DOTLESS FA;;;; 06A2;ARABIC LETTER FEH WITH DOT MOVED BELOW;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH DOT MOVED BELOW;;;; 06A3;ARABIC LETTER FEH WITH DOT BELOW;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH DOT BELOW;;;; 06A4;ARABIC LETTER VEH;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH THREE DOTS ABOVE;;;; 06A5;ARABIC LETTER FEH WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH THREE DOTS BELOW;;;; 06A6;ARABIC LETTER PEHEH;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH FOUR DOTS ABOVE;;;; 06A7;ARABIC LETTER QAF WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;; 06A8;ARABIC LETTER QAF WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; 06A9;ARABIC LETTER KEHEH;Lo;0;AL;;;;;N;ARABIC LETTER OPEN CAF;;;; 06AA;ARABIC LETTER SWASH KAF;Lo;0;AL;;;;;N;ARABIC LETTER SWASH CAF;;;; 06AB;ARABIC LETTER KAF WITH RING;Lo;0;AL;;;;;N;ARABIC LETTER CAF WITH RING;;;; 06AC;ARABIC LETTER KAF WITH DOT ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER CAF WITH DOT ABOVE;;;; 06AD;ARABIC LETTER NG;Lo;0;AL;;;;;N;ARABIC LETTER CAF WITH THREE DOTS ABOVE;;;; 06AE;ARABIC LETTER KAF WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;ARABIC LETTER CAF WITH THREE DOTS BELOW;;;; 06AF;ARABIC LETTER GAF;Lo;0;AL;;;;;N;;*;;; 06B0;ARABIC LETTER GAF WITH RING;Lo;0;AL;;;;;N;;;;; 06B1;ARABIC LETTER NGOEH;Lo;0;AL;;;;;N;ARABIC LETTER GAF WITH TWO DOTS ABOVE;;;; 06B2;ARABIC LETTER GAF WITH TWO DOTS BELOW;Lo;0;AL;;;;;N;;;;; 06B3;ARABIC LETTER GUEH;Lo;0;AL;;;;;N;ARABIC LETTER GAF WITH TWO DOTS VERTICAL BELOW;;;; 06B4;ARABIC LETTER GAF WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; 06B5;ARABIC LETTER LAM WITH SMALL V;Lo;0;AL;;;;;N;;;;; 06B6;ARABIC LETTER LAM WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;; 06B7;ARABIC LETTER LAM WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; 06B8;ARABIC LETTER LAM WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;;;;; 06B9;ARABIC LETTER NOON WITH DOT BELOW;Lo;0;AL;;;;;N;;;;; 06BA;ARABIC LETTER NOON GHUNNA;Lo;0;AL;;;;;N;ARABIC LETTER DOTLESS NOON;;;; 06BB;ARABIC LETTER RNOON;Lo;0;AL;;;;;N;ARABIC LETTER DOTLESS NOON WITH SMALL TAH;;;; 06BC;ARABIC LETTER NOON WITH RING;Lo;0;AL;;;;;N;;;;; 06BD;ARABIC LETTER NOON WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; 06BE;ARABIC LETTER HEH DOACHASHMEE;Lo;0;AL;;;;;N;ARABIC LETTER KNOTTED HA;;;; 06BF;ARABIC LETTER TCHEH WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;; 06C0;ARABIC LETTER HEH WITH YEH ABOVE;Lo;0;AL;06D5 0654;;;;N;ARABIC LETTER HAMZAH ON HA;;;; 06C1;ARABIC LETTER HEH GOAL;Lo;0;AL;;;;;N;ARABIC LETTER HA GOAL;;;; 06C2;ARABIC LETTER HEH GOAL WITH HAMZA ABOVE;Lo;0;AL;06C1 0654;;;;N;ARABIC LETTER HAMZAH ON HA GOAL;;;; 06C3;ARABIC LETTER TEH MARBUTA GOAL;Lo;0;AL;;;;;N;ARABIC LETTER TAA MARBUTAH GOAL;;;; 06C4;ARABIC LETTER WAW WITH RING;Lo;0;AL;;;;;N;;;;; 06C5;ARABIC LETTER KIRGHIZ OE;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH BAR;;;; 06C6;ARABIC LETTER OE;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH SMALL V;;;; 06C7;ARABIC LETTER U;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH DAMMAH;;;; 06C8;ARABIC LETTER YU;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH ALEF ABOVE;;;; 06C9;ARABIC LETTER KIRGHIZ YU;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH INVERTED SMALL V;;;; 06CA;ARABIC LETTER WAW WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;; 06CB;ARABIC LETTER VE;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH THREE DOTS ABOVE;;;; 06CC;ARABIC LETTER FARSI YEH;Lo;0;AL;;;;;N;ARABIC LETTER DOTLESS YA;;;; 06CD;ARABIC LETTER YEH WITH TAIL;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH TAIL;;;; 06CE;ARABIC LETTER YEH WITH SMALL V;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH SMALL V;;;; 06CF;ARABIC LETTER WAW WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;; 06D0;ARABIC LETTER E;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH TWO DOTS VERTICAL BELOW;*;;; 06D1;ARABIC LETTER YEH WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH THREE DOTS BELOW;;;; 06D2;ARABIC LETTER YEH BARREE;Lo;0;AL;;;;;N;ARABIC LETTER YA BARREE;;;; 06D3;ARABIC LETTER YEH BARREE WITH HAMZA ABOVE;Lo;0;AL;06D2 0654;;;;N;ARABIC LETTER HAMZAH ON YA BARREE;;;; 06D4;ARABIC FULL STOP;Po;0;AL;;;;;N;ARABIC PERIOD;;;; 06D5;ARABIC LETTER AE;Lo;0;AL;;;;;N;;;;; 06D6;ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA;Mn;230;NSM;;;;;N;;;;; 06D7;ARABIC SMALL HIGH LIGATURE QAF WITH LAM WITH ALEF MAKSURA;Mn;230;NSM;;;;;N;;;;; 06D8;ARABIC SMALL HIGH MEEM INITIAL FORM;Mn;230;NSM;;;;;N;;;;; 06D9;ARABIC SMALL HIGH LAM ALEF;Mn;230;NSM;;;;;N;;;;; 06DA;ARABIC SMALL HIGH JEEM;Mn;230;NSM;;;;;N;;;;; 06DB;ARABIC SMALL HIGH THREE DOTS;Mn;230;NSM;;;;;N;;;;; 06DC;ARABIC SMALL HIGH SEEN;Mn;230;NSM;;;;;N;;;;; 06DD;ARABIC END OF AYAH;Me;0;NSM;;;;;N;;;;; 06DE;ARABIC START OF RUB EL HIZB;Me;0;NSM;;;;;N;;;;; 06DF;ARABIC SMALL HIGH ROUNDED ZERO;Mn;230;NSM;;;;;N;;;;; 06E0;ARABIC SMALL HIGH UPRIGHT RECTANGULAR ZERO;Mn;230;NSM;;;;;N;;;;; 06E1;ARABIC SMALL HIGH DOTLESS HEAD OF KHAH;Mn;230;NSM;;;;;N;;;;; 06E2;ARABIC SMALL HIGH MEEM ISOLATED FORM;Mn;230;NSM;;;;;N;;;;; 06E3;ARABIC SMALL LOW SEEN;Mn;220;NSM;;;;;N;;;;; 06E4;ARABIC SMALL HIGH MADDA;Mn;230;NSM;;;;;N;;;;; 06E5;ARABIC SMALL WAW;Lm;0;AL;;;;;N;;;;; 06E6;ARABIC SMALL YEH;Lm;0;AL;;;;;N;;;;; 06E7;ARABIC SMALL HIGH YEH;Mn;230;NSM;;;;;N;;;;; 06E8;ARABIC SMALL HIGH NOON;Mn;230;NSM;;;;;N;;;;; 06E9;ARABIC PLACE OF SAJDAH;So;0;ON;;;;;N;;;;; 06EA;ARABIC EMPTY CENTRE LOW STOP;Mn;220;NSM;;;;;N;;;;; 06EB;ARABIC EMPTY CENTRE HIGH STOP;Mn;230;NSM;;;;;N;;;;; 06EC;ARABIC ROUNDED HIGH STOP WITH FILLED CENTRE;Mn;230;NSM;;;;;N;;;;; 06ED;ARABIC SMALL LOW MEEM;Mn;220;NSM;;;;;N;;;;; 06F0;EXTENDED ARABIC-INDIC DIGIT ZERO;Nd;0;EN;;0;0;0;N;EASTERN ARABIC-INDIC DIGIT ZERO;;;; 06F1;EXTENDED ARABIC-INDIC DIGIT ONE;Nd;0;EN;;1;1;1;N;EASTERN ARABIC-INDIC DIGIT ONE;;;; 06F2;EXTENDED ARABIC-INDIC DIGIT TWO;Nd;0;EN;;2;2;2;N;EASTERN ARABIC-INDIC DIGIT TWO;;;; 06F3;EXTENDED ARABIC-INDIC DIGIT THREE;Nd;0;EN;;3;3;3;N;EASTERN ARABIC-INDIC DIGIT THREE;;;; 06F4;EXTENDED ARABIC-INDIC DIGIT FOUR;Nd;0;EN;;4;4;4;N;EASTERN ARABIC-INDIC DIGIT FOUR;;;; 06F5;EXTENDED ARABIC-INDIC DIGIT FIVE;Nd;0;EN;;5;5;5;N;EASTERN ARABIC-INDIC DIGIT FIVE;;;; 06F6;EXTENDED ARABIC-INDIC DIGIT SIX;Nd;0;EN;;6;6;6;N;EASTERN ARABIC-INDIC DIGIT SIX;;;; 06F7;EXTENDED ARABIC-INDIC DIGIT SEVEN;Nd;0;EN;;7;7;7;N;EASTERN ARABIC-INDIC DIGIT SEVEN;;;; 06F8;EXTENDED ARABIC-INDIC DIGIT EIGHT;Nd;0;EN;;8;8;8;N;EASTERN ARABIC-INDIC DIGIT EIGHT;;;; 06F9;EXTENDED ARABIC-INDIC DIGIT NINE;Nd;0;EN;;9;9;9;N;EASTERN ARABIC-INDIC DIGIT NINE;;;; 06FA;ARABIC LETTER SHEEN WITH DOT BELOW;Lo;0;AL;;;;;N;;;;; 06FB;ARABIC LETTER DAD WITH DOT BELOW;Lo;0;AL;;;;;N;;;;; 06FC;ARABIC LETTER GHAIN WITH DOT BELOW;Lo;0;AL;;;;;N;;;;; 06FD;ARABIC SIGN SINDHI AMPERSAND;So;0;AL;;;;;N;;;;; 06FE;ARABIC SIGN SINDHI POSTPOSITION MEN;So;0;AL;;;;;N;;;;; 0700;SYRIAC END OF PARAGRAPH;Po;0;AL;;;;;N;;;;; 0701;SYRIAC SUPRALINEAR FULL STOP;Po;0;AL;;;;;N;;;;; 0702;SYRIAC SUBLINEAR FULL STOP;Po;0;AL;;;;;N;;;;; 0703;SYRIAC SUPRALINEAR COLON;Po;0;AL;;;;;N;;;;; 0704;SYRIAC SUBLINEAR COLON;Po;0;AL;;;;;N;;;;; 0705;SYRIAC HORIZONTAL COLON;Po;0;AL;;;;;N;;;;; 0706;SYRIAC COLON SKEWED LEFT;Po;0;AL;;;;;N;;;;; 0707;SYRIAC COLON SKEWED RIGHT;Po;0;AL;;;;;N;;;;; 0708;SYRIAC SUPRALINEAR COLON SKEWED LEFT;Po;0;AL;;;;;N;;;;; 0709;SYRIAC SUBLINEAR COLON SKEWED RIGHT;Po;0;AL;;;;;N;;;;; 070A;SYRIAC CONTRACTION;Po;0;AL;;;;;N;;;;; 070B;SYRIAC HARKLEAN OBELUS;Po;0;AL;;;;;N;;;;; 070C;SYRIAC HARKLEAN METOBELUS;Po;0;AL;;;;;N;;;;; 070D;SYRIAC HARKLEAN ASTERISCUS;Po;0;AL;;;;;N;;;;; 070F;SYRIAC ABBREVIATION MARK;Cf;0;BN;;;;;N;;;;; 0710;SYRIAC LETTER ALAPH;Lo;0;AL;;;;;N;;;;; 0711;SYRIAC LETTER SUPERSCRIPT ALAPH;Mn;36;NSM;;;;;N;;;;; 0712;SYRIAC LETTER BETH;Lo;0;AL;;;;;N;;;;; 0713;SYRIAC LETTER GAMAL;Lo;0;AL;;;;;N;;;;; 0714;SYRIAC LETTER GAMAL GARSHUNI;Lo;0;AL;;;;;N;;;;; 0715;SYRIAC LETTER DALATH;Lo;0;AL;;;;;N;;;;; 0716;SYRIAC LETTER DOTLESS DALATH RISH;Lo;0;AL;;;;;N;;;;; 0717;SYRIAC LETTER HE;Lo;0;AL;;;;;N;;;;; 0718;SYRIAC LETTER WAW;Lo;0;AL;;;;;N;;;;; 0719;SYRIAC LETTER ZAIN;Lo;0;AL;;;;;N;;;;; 071A;SYRIAC LETTER HETH;Lo;0;AL;;;;;N;;;;; 071B;SYRIAC LETTER TETH;Lo;0;AL;;;;;N;;;;; 071C;SYRIAC LETTER TETH GARSHUNI;Lo;0;AL;;;;;N;;;;; 071D;SYRIAC LETTER YUDH;Lo;0;AL;;;;;N;;;;; 071E;SYRIAC LETTER YUDH HE;Lo;0;AL;;;;;N;;;;; 071F;SYRIAC LETTER KAPH;Lo;0;AL;;;;;N;;;;; 0720;SYRIAC LETTER LAMADH;Lo;0;AL;;;;;N;;;;; 0721;SYRIAC LETTER MIM;Lo;0;AL;;;;;N;;;;; 0722;SYRIAC LETTER NUN;Lo;0;AL;;;;;N;;;;; 0723;SYRIAC LETTER SEMKATH;Lo;0;AL;;;;;N;;;;; 0724;SYRIAC LETTER FINAL SEMKATH;Lo;0;AL;;;;;N;;;;; 0725;SYRIAC LETTER E;Lo;0;AL;;;;;N;;;;; 0726;SYRIAC LETTER PE;Lo;0;AL;;;;;N;;;;; 0727;SYRIAC LETTER REVERSED PE;Lo;0;AL;;;;;N;;;;; 0728;SYRIAC LETTER SADHE;Lo;0;AL;;;;;N;;;;; 0729;SYRIAC LETTER QAPH;Lo;0;AL;;;;;N;;;;; 072A;SYRIAC LETTER RISH;Lo;0;AL;;;;;N;;;;; 072B;SYRIAC LETTER SHIN;Lo;0;AL;;;;;N;;;;; 072C;SYRIAC LETTER TAW;Lo;0;AL;;;;;N;;;;; 0730;SYRIAC PTHAHA ABOVE;Mn;230;NSM;;;;;N;;;;; 0731;SYRIAC PTHAHA BELOW;Mn;220;NSM;;;;;N;;;;; 0732;SYRIAC PTHAHA DOTTED;Mn;230;NSM;;;;;N;;;;; 0733;SYRIAC ZQAPHA ABOVE;Mn;230;NSM;;;;;N;;;;; 0734;SYRIAC ZQAPHA BELOW;Mn;220;NSM;;;;;N;;;;; 0735;SYRIAC ZQAPHA DOTTED;Mn;230;NSM;;;;;N;;;;; 0736;SYRIAC RBASA ABOVE;Mn;230;NSM;;;;;N;;;;; 0737;SYRIAC RBASA BELOW;Mn;220;NSM;;;;;N;;;;; 0738;SYRIAC DOTTED ZLAMA HORIZONTAL;Mn;220;NSM;;;;;N;;;;; 0739;SYRIAC DOTTED ZLAMA ANGULAR;Mn;220;NSM;;;;;N;;;;; 073A;SYRIAC HBASA ABOVE;Mn;230;NSM;;;;;N;;;;; 073B;SYRIAC HBASA BELOW;Mn;220;NSM;;;;;N;;;;; 073C;SYRIAC HBASA-ESASA DOTTED;Mn;220;NSM;;;;;N;;;;; 073D;SYRIAC ESASA ABOVE;Mn;230;NSM;;;;;N;;;;; 073E;SYRIAC ESASA BELOW;Mn;220;NSM;;;;;N;;;;; 073F;SYRIAC RWAHA;Mn;230;NSM;;;;;N;;;;; 0740;SYRIAC FEMININE DOT;Mn;230;NSM;;;;;N;;;;; 0741;SYRIAC QUSHSHAYA;Mn;230;NSM;;;;;N;;;;; 0742;SYRIAC RUKKAKHA;Mn;220;NSM;;;;;N;;;;; 0743;SYRIAC TWO VERTICAL DOTS ABOVE;Mn;230;NSM;;;;;N;;;;; 0744;SYRIAC TWO VERTICAL DOTS BELOW;Mn;220;NSM;;;;;N;;;;; 0745;SYRIAC THREE DOTS ABOVE;Mn;230;NSM;;;;;N;;;;; 0746;SYRIAC THREE DOTS BELOW;Mn;220;NSM;;;;;N;;;;; 0747;SYRIAC OBLIQUE LINE ABOVE;Mn;230;NSM;;;;;N;;;;; 0748;SYRIAC OBLIQUE LINE BELOW;Mn;220;NSM;;;;;N;;;;; 0749;SYRIAC MUSIC;Mn;230;NSM;;;;;N;;;;; 074A;SYRIAC BARREKH;Mn;230;NSM;;;;;N;;;;; 0780;THAANA LETTER HAA;Lo;0;AL;;;;;N;;;;; 0781;THAANA LETTER SHAVIYANI;Lo;0;AL;;;;;N;;;;; 0782;THAANA LETTER NOONU;Lo;0;AL;;;;;N;;;;; 0783;THAANA LETTER RAA;Lo;0;AL;;;;;N;;;;; 0784;THAANA LETTER BAA;Lo;0;AL;;;;;N;;;;; 0785;THAANA LETTER LHAVIYANI;Lo;0;AL;;;;;N;;;;; 0786;THAANA LETTER KAAFU;Lo;0;AL;;;;;N;;;;; 0787;THAANA LETTER ALIFU;Lo;0;AL;;;;;N;;;;; 0788;THAANA LETTER VAAVU;Lo;0;AL;;;;;N;;;;; 0789;THAANA LETTER MEEMU;Lo;0;AL;;;;;N;;;;; 078A;THAANA LETTER FAAFU;Lo;0;AL;;;;;N;;;;; 078B;THAANA LETTER DHAALU;Lo;0;AL;;;;;N;;;;; 078C;THAANA LETTER THAA;Lo;0;AL;;;;;N;;;;; 078D;THAANA LETTER LAAMU;Lo;0;AL;;;;;N;;;;; 078E;THAANA LETTER GAAFU;Lo;0;AL;;;;;N;;;;; 078F;THAANA LETTER GNAVIYANI;Lo;0;AL;;;;;N;;;;; 0790;THAANA LETTER SEENU;Lo;0;AL;;;;;N;;;;; 0791;THAANA LETTER DAVIYANI;Lo;0;AL;;;;;N;;;;; 0792;THAANA LETTER ZAVIYANI;Lo;0;AL;;;;;N;;;;; 0793;THAANA LETTER TAVIYANI;Lo;0;AL;;;;;N;;;;; 0794;THAANA LETTER YAA;Lo;0;AL;;;;;N;;;;; 0795;THAANA LETTER PAVIYANI;Lo;0;AL;;;;;N;;;;; 0796;THAANA LETTER JAVIYANI;Lo;0;AL;;;;;N;;;;; 0797;THAANA LETTER CHAVIYANI;Lo;0;AL;;;;;N;;;;; 0798;THAANA LETTER TTAA;Lo;0;AL;;;;;N;;;;; 0799;THAANA LETTER HHAA;Lo;0;AL;;;;;N;;;;; 079A;THAANA LETTER KHAA;Lo;0;AL;;;;;N;;;;; 079B;THAANA LETTER THAALU;Lo;0;AL;;;;;N;;;;; 079C;THAANA LETTER ZAA;Lo;0;AL;;;;;N;;;;; 079D;THAANA LETTER SHEENU;Lo;0;AL;;;;;N;;;;; 079E;THAANA LETTER SAADHU;Lo;0;AL;;;;;N;;;;; 079F;THAANA LETTER DAADHU;Lo;0;AL;;;;;N;;;;; 07A0;THAANA LETTER TO;Lo;0;AL;;;;;N;;;;; 07A1;THAANA LETTER ZO;Lo;0;AL;;;;;N;;;;; 07A2;THAANA LETTER AINU;Lo;0;AL;;;;;N;;;;; 07A3;THAANA LETTER GHAINU;Lo;0;AL;;;;;N;;;;; 07A4;THAANA LETTER QAAFU;Lo;0;AL;;;;;N;;;;; 07A5;THAANA LETTER WAAVU;Lo;0;AL;;;;;N;;;;; 07A6;THAANA ABAFILI;Mn;0;NSM;;;;;N;;;;; 07A7;THAANA AABAAFILI;Mn;0;NSM;;;;;N;;;;; 07A8;THAANA IBIFILI;Mn;0;NSM;;;;;N;;;;; 07A9;THAANA EEBEEFILI;Mn;0;NSM;;;;;N;;;;; 07AA;THAANA UBUFILI;Mn;0;NSM;;;;;N;;;;; 07AB;THAANA OOBOOFILI;Mn;0;NSM;;;;;N;;;;; 07AC;THAANA EBEFILI;Mn;0;NSM;;;;;N;;;;; 07AD;THAANA EYBEYFILI;Mn;0;NSM;;;;;N;;;;; 07AE;THAANA OBOFILI;Mn;0;NSM;;;;;N;;;;; 07AF;THAANA OABOAFILI;Mn;0;NSM;;;;;N;;;;; 07B0;THAANA SUKUN;Mn;0;NSM;;;;;N;;;;; 0901;DEVANAGARI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; 0902;DEVANAGARI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; 0903;DEVANAGARI SIGN VISARGA;Mc;0;L;;;;;N;;;;; 0905;DEVANAGARI LETTER A;Lo;0;L;;;;;N;;;;; 0906;DEVANAGARI LETTER AA;Lo;0;L;;;;;N;;;;; 0907;DEVANAGARI LETTER I;Lo;0;L;;;;;N;;;;; 0908;DEVANAGARI LETTER II;Lo;0;L;;;;;N;;;;; 0909;DEVANAGARI LETTER U;Lo;0;L;;;;;N;;;;; 090A;DEVANAGARI LETTER UU;Lo;0;L;;;;;N;;;;; 090B;DEVANAGARI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; 090C;DEVANAGARI LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; 090D;DEVANAGARI LETTER CANDRA E;Lo;0;L;;;;;N;;;;; 090E;DEVANAGARI LETTER SHORT E;Lo;0;L;;;;;N;;;;; 090F;DEVANAGARI LETTER E;Lo;0;L;;;;;N;;;;; 0910;DEVANAGARI LETTER AI;Lo;0;L;;;;;N;;;;; 0911;DEVANAGARI LETTER CANDRA O;Lo;0;L;;;;;N;;;;; 0912;DEVANAGARI LETTER SHORT O;Lo;0;L;;;;;N;;;;; 0913;DEVANAGARI LETTER O;Lo;0;L;;;;;N;;;;; 0914;DEVANAGARI LETTER AU;Lo;0;L;;;;;N;;;;; 0915;DEVANAGARI LETTER KA;Lo;0;L;;;;;N;;;;; 0916;DEVANAGARI LETTER KHA;Lo;0;L;;;;;N;;;;; 0917;DEVANAGARI LETTER GA;Lo;0;L;;;;;N;;;;; 0918;DEVANAGARI LETTER GHA;Lo;0;L;;;;;N;;;;; 0919;DEVANAGARI LETTER NGA;Lo;0;L;;;;;N;;;;; 091A;DEVANAGARI LETTER CA;Lo;0;L;;;;;N;;;;; 091B;DEVANAGARI LETTER CHA;Lo;0;L;;;;;N;;;;; 091C;DEVANAGARI LETTER JA;Lo;0;L;;;;;N;;;;; 091D;DEVANAGARI LETTER JHA;Lo;0;L;;;;;N;;;;; 091E;DEVANAGARI LETTER NYA;Lo;0;L;;;;;N;;;;; 091F;DEVANAGARI LETTER TTA;Lo;0;L;;;;;N;;;;; 0920;DEVANAGARI LETTER TTHA;Lo;0;L;;;;;N;;;;; 0921;DEVANAGARI LETTER DDA;Lo;0;L;;;;;N;;;;; 0922;DEVANAGARI LETTER DDHA;Lo;0;L;;;;;N;;;;; 0923;DEVANAGARI LETTER NNA;Lo;0;L;;;;;N;;;;; 0924;DEVANAGARI LETTER TA;Lo;0;L;;;;;N;;;;; 0925;DEVANAGARI LETTER THA;Lo;0;L;;;;;N;;;;; 0926;DEVANAGARI LETTER DA;Lo;0;L;;;;;N;;;;; 0927;DEVANAGARI LETTER DHA;Lo;0;L;;;;;N;;;;; 0928;DEVANAGARI LETTER NA;Lo;0;L;;;;;N;;;;; 0929;DEVANAGARI LETTER NNNA;Lo;0;L;0928 093C;;;;N;;;;; 092A;DEVANAGARI LETTER PA;Lo;0;L;;;;;N;;;;; 092B;DEVANAGARI LETTER PHA;Lo;0;L;;;;;N;;;;; 092C;DEVANAGARI LETTER BA;Lo;0;L;;;;;N;;;;; 092D;DEVANAGARI LETTER BHA;Lo;0;L;;;;;N;;;;; 092E;DEVANAGARI LETTER MA;Lo;0;L;;;;;N;;;;; 092F;DEVANAGARI LETTER YA;Lo;0;L;;;;;N;;;;; 0930;DEVANAGARI LETTER RA;Lo;0;L;;;;;N;;;;; 0931;DEVANAGARI LETTER RRA;Lo;0;L;0930 093C;;;;N;;;;; 0932;DEVANAGARI LETTER LA;Lo;0;L;;;;;N;;;;; 0933;DEVANAGARI LETTER LLA;Lo;0;L;;;;;N;;;;; 0934;DEVANAGARI LETTER LLLA;Lo;0;L;0933 093C;;;;N;;;;; 0935;DEVANAGARI LETTER VA;Lo;0;L;;;;;N;;;;; 0936;DEVANAGARI LETTER SHA;Lo;0;L;;;;;N;;;;; 0937;DEVANAGARI LETTER SSA;Lo;0;L;;;;;N;;;;; 0938;DEVANAGARI LETTER SA;Lo;0;L;;;;;N;;;;; 0939;DEVANAGARI LETTER HA;Lo;0;L;;;;;N;;;;; 093C;DEVANAGARI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; 093D;DEVANAGARI SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;; 093E;DEVANAGARI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; 093F;DEVANAGARI VOWEL SIGN I;Mc;0;L;;;;;N;;;;; 0940;DEVANAGARI VOWEL SIGN II;Mc;0;L;;;;;N;;;;; 0941;DEVANAGARI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; 0942;DEVANAGARI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; 0943;DEVANAGARI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; 0944;DEVANAGARI VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;; 0945;DEVANAGARI VOWEL SIGN CANDRA E;Mn;0;NSM;;;;;N;;;;; 0946;DEVANAGARI VOWEL SIGN SHORT E;Mn;0;NSM;;;;;N;;;;; 0947;DEVANAGARI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; 0948;DEVANAGARI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; 0949;DEVANAGARI VOWEL SIGN CANDRA O;Mc;0;L;;;;;N;;;;; 094A;DEVANAGARI VOWEL SIGN SHORT O;Mc;0;L;;;;;N;;;;; 094B;DEVANAGARI VOWEL SIGN O;Mc;0;L;;;;;N;;;;; 094C;DEVANAGARI VOWEL SIGN AU;Mc;0;L;;;;;N;;;;; 094D;DEVANAGARI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; 0950;DEVANAGARI OM;Lo;0;L;;;;;N;;;;; 0951;DEVANAGARI STRESS SIGN UDATTA;Mn;230;NSM;;;;;N;;;;; 0952;DEVANAGARI STRESS SIGN ANUDATTA;Mn;220;NSM;;;;;N;;;;; 0953;DEVANAGARI GRAVE ACCENT;Mn;230;NSM;;;;;N;;;;; 0954;DEVANAGARI ACUTE ACCENT;Mn;230;NSM;;;;;N;;;;; 0958;DEVANAGARI LETTER QA;Lo;0;L;0915 093C;;;;N;;;;; 0959;DEVANAGARI LETTER KHHA;Lo;0;L;0916 093C;;;;N;;;;; 095A;DEVANAGARI LETTER GHHA;Lo;0;L;0917 093C;;;;N;;;;; 095B;DEVANAGARI LETTER ZA;Lo;0;L;091C 093C;;;;N;;;;; 095C;DEVANAGARI LETTER DDDHA;Lo;0;L;0921 093C;;;;N;;;;; 095D;DEVANAGARI LETTER RHA;Lo;0;L;0922 093C;;;;N;;;;; 095E;DEVANAGARI LETTER FA;Lo;0;L;092B 093C;;;;N;;;;; 095F;DEVANAGARI LETTER YYA;Lo;0;L;092F 093C;;;;N;;;;; 0960;DEVANAGARI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; 0961;DEVANAGARI LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; 0962;DEVANAGARI VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; 0963;DEVANAGARI VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;; 0964;DEVANAGARI DANDA;Po;0;L;;;;;N;;;;; 0965;DEVANAGARI DOUBLE DANDA;Po;0;L;;;;;N;;;;; 0966;DEVANAGARI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 0967;DEVANAGARI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0968;DEVANAGARI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0969;DEVANAGARI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 096A;DEVANAGARI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 096B;DEVANAGARI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 096C;DEVANAGARI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 096D;DEVANAGARI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 096E;DEVANAGARI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 096F;DEVANAGARI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0970;DEVANAGARI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;; 0981;BENGALI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; 0982;BENGALI SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; 0983;BENGALI SIGN VISARGA;Mc;0;L;;;;;N;;;;; 0985;BENGALI LETTER A;Lo;0;L;;;;;N;;;;; 0986;BENGALI LETTER AA;Lo;0;L;;;;;N;;;;; 0987;BENGALI LETTER I;Lo;0;L;;;;;N;;;;; 0988;BENGALI LETTER II;Lo;0;L;;;;;N;;;;; 0989;BENGALI LETTER U;Lo;0;L;;;;;N;;;;; 098A;BENGALI LETTER UU;Lo;0;L;;;;;N;;;;; 098B;BENGALI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; 098C;BENGALI LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; 098F;BENGALI LETTER E;Lo;0;L;;;;;N;;;;; 0990;BENGALI LETTER AI;Lo;0;L;;;;;N;;;;; 0993;BENGALI LETTER O;Lo;0;L;;;;;N;;;;; 0994;BENGALI LETTER AU;Lo;0;L;;;;;N;;;;; 0995;BENGALI LETTER KA;Lo;0;L;;;;;N;;;;; 0996;BENGALI LETTER KHA;Lo;0;L;;;;;N;;;;; 0997;BENGALI LETTER GA;Lo;0;L;;;;;N;;;;; 0998;BENGALI LETTER GHA;Lo;0;L;;;;;N;;;;; 0999;BENGALI LETTER NGA;Lo;0;L;;;;;N;;;;; 099A;BENGALI LETTER CA;Lo;0;L;;;;;N;;;;; 099B;BENGALI LETTER CHA;Lo;0;L;;;;;N;;;;; 099C;BENGALI LETTER JA;Lo;0;L;;;;;N;;;;; 099D;BENGALI LETTER JHA;Lo;0;L;;;;;N;;;;; 099E;BENGALI LETTER NYA;Lo;0;L;;;;;N;;;;; 099F;BENGALI LETTER TTA;Lo;0;L;;;;;N;;;;; 09A0;BENGALI LETTER TTHA;Lo;0;L;;;;;N;;;;; 09A1;BENGALI LETTER DDA;Lo;0;L;;;;;N;;;;; 09A2;BENGALI LETTER DDHA;Lo;0;L;;;;;N;;;;; 09A3;BENGALI LETTER NNA;Lo;0;L;;;;;N;;;;; 09A4;BENGALI LETTER TA;Lo;0;L;;;;;N;;;;; 09A5;BENGALI LETTER THA;Lo;0;L;;;;;N;;;;; 09A6;BENGALI LETTER DA;Lo;0;L;;;;;N;;;;; 09A7;BENGALI LETTER DHA;Lo;0;L;;;;;N;;;;; 09A8;BENGALI LETTER NA;Lo;0;L;;;;;N;;;;; 09AA;BENGALI LETTER PA;Lo;0;L;;;;;N;;;;; 09AB;BENGALI LETTER PHA;Lo;0;L;;;;;N;;;;; 09AC;BENGALI LETTER BA;Lo;0;L;;;;;N;;;;; 09AD;BENGALI LETTER BHA;Lo;0;L;;;;;N;;;;; 09AE;BENGALI LETTER MA;Lo;0;L;;;;;N;;;;; 09AF;BENGALI LETTER YA;Lo;0;L;;;;;N;;;;; 09B0;BENGALI LETTER RA;Lo;0;L;;;;;N;;;;; 09B2;BENGALI LETTER LA;Lo;0;L;;;;;N;;;;; 09B6;BENGALI LETTER SHA;Lo;0;L;;;;;N;;;;; 09B7;BENGALI LETTER SSA;Lo;0;L;;;;;N;;;;; 09B8;BENGALI LETTER SA;Lo;0;L;;;;;N;;;;; 09B9;BENGALI LETTER HA;Lo;0;L;;;;;N;;;;; 09BC;BENGALI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; 09BE;BENGALI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; 09BF;BENGALI VOWEL SIGN I;Mc;0;L;;;;;N;;;;; 09C0;BENGALI VOWEL SIGN II;Mc;0;L;;;;;N;;;;; 09C1;BENGALI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; 09C2;BENGALI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; 09C3;BENGALI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; 09C4;BENGALI VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;; 09C7;BENGALI VOWEL SIGN E;Mc;0;L;;;;;N;;;;; 09C8;BENGALI VOWEL SIGN AI;Mc;0;L;;;;;N;;;;; 09CB;BENGALI VOWEL SIGN O;Mc;0;L;09C7 09BE;;;;N;;;;; 09CC;BENGALI VOWEL SIGN AU;Mc;0;L;09C7 09D7;;;;N;;;;; 09CD;BENGALI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; 09D7;BENGALI AU LENGTH MARK;Mc;0;L;;;;;N;;;;; 09DC;BENGALI LETTER RRA;Lo;0;L;09A1 09BC;;;;N;;;;; 09DD;BENGALI LETTER RHA;Lo;0;L;09A2 09BC;;;;N;;;;; 09DF;BENGALI LETTER YYA;Lo;0;L;09AF 09BC;;;;N;;;;; 09E0;BENGALI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; 09E1;BENGALI LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; 09E2;BENGALI VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; 09E3;BENGALI VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;; 09E6;BENGALI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 09E7;BENGALI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 09E8;BENGALI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 09E9;BENGALI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 09EA;BENGALI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 09EB;BENGALI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 09EC;BENGALI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 09ED;BENGALI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 09EE;BENGALI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 09EF;BENGALI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 09F0;BENGALI LETTER RA WITH MIDDLE DIAGONAL;Lo;0;L;;;;;N;;Assamese;;; 09F1;BENGALI LETTER RA WITH LOWER DIAGONAL;Lo;0;L;;;;;N;BENGALI LETTER VA WITH LOWER DIAGONAL;Assamese;;; 09F2;BENGALI RUPEE MARK;Sc;0;ET;;;;;N;;;;; 09F3;BENGALI RUPEE SIGN;Sc;0;ET;;;;;N;;;;; 09F4;BENGALI CURRENCY NUMERATOR ONE;No;0;L;;;;1;N;;;;; 09F5;BENGALI CURRENCY NUMERATOR TWO;No;0;L;;;;2;N;;;;; 09F6;BENGALI CURRENCY NUMERATOR THREE;No;0;L;;;;3;N;;;;; 09F7;BENGALI CURRENCY NUMERATOR FOUR;No;0;L;;;;4;N;;;;; 09F8;BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR;No;0;L;;;;;N;;;;; 09F9;BENGALI CURRENCY DENOMINATOR SIXTEEN;No;0;L;;;;16;N;;;;; 09FA;BENGALI ISSHAR;So;0;L;;;;;N;;;;; 0A02;GURMUKHI SIGN BINDI;Mn;0;NSM;;;;;N;;;;; 0A05;GURMUKHI LETTER A;Lo;0;L;;;;;N;;;;; 0A06;GURMUKHI LETTER AA;Lo;0;L;;;;;N;;;;; 0A07;GURMUKHI LETTER I;Lo;0;L;;;;;N;;;;; 0A08;GURMUKHI LETTER II;Lo;0;L;;;;;N;;;;; 0A09;GURMUKHI LETTER U;Lo;0;L;;;;;N;;;;; 0A0A;GURMUKHI LETTER UU;Lo;0;L;;;;;N;;;;; 0A0F;GURMUKHI LETTER EE;Lo;0;L;;;;;N;;;;; 0A10;GURMUKHI LETTER AI;Lo;0;L;;;;;N;;;;; 0A13;GURMUKHI LETTER OO;Lo;0;L;;;;;N;;;;; 0A14;GURMUKHI LETTER AU;Lo;0;L;;;;;N;;;;; 0A15;GURMUKHI LETTER KA;Lo;0;L;;;;;N;;;;; 0A16;GURMUKHI LETTER KHA;Lo;0;L;;;;;N;;;;; 0A17;GURMUKHI LETTER GA;Lo;0;L;;;;;N;;;;; 0A18;GURMUKHI LETTER GHA;Lo;0;L;;;;;N;;;;; 0A19;GURMUKHI LETTER NGA;Lo;0;L;;;;;N;;;;; 0A1A;GURMUKHI LETTER CA;Lo;0;L;;;;;N;;;;; 0A1B;GURMUKHI LETTER CHA;Lo;0;L;;;;;N;;;;; 0A1C;GURMUKHI LETTER JA;Lo;0;L;;;;;N;;;;; 0A1D;GURMUKHI LETTER JHA;Lo;0;L;;;;;N;;;;; 0A1E;GURMUKHI LETTER NYA;Lo;0;L;;;;;N;;;;; 0A1F;GURMUKHI LETTER TTA;Lo;0;L;;;;;N;;;;; 0A20;GURMUKHI LETTER TTHA;Lo;0;L;;;;;N;;;;; 0A21;GURMUKHI LETTER DDA;Lo;0;L;;;;;N;;;;; 0A22;GURMUKHI LETTER DDHA;Lo;0;L;;;;;N;;;;; 0A23;GURMUKHI LETTER NNA;Lo;0;L;;;;;N;;;;; 0A24;GURMUKHI LETTER TA;Lo;0;L;;;;;N;;;;; 0A25;GURMUKHI LETTER THA;Lo;0;L;;;;;N;;;;; 0A26;GURMUKHI LETTER DA;Lo;0;L;;;;;N;;;;; 0A27;GURMUKHI LETTER DHA;Lo;0;L;;;;;N;;;;; 0A28;GURMUKHI LETTER NA;Lo;0;L;;;;;N;;;;; 0A2A;GURMUKHI LETTER PA;Lo;0;L;;;;;N;;;;; 0A2B;GURMUKHI LETTER PHA;Lo;0;L;;;;;N;;;;; 0A2C;GURMUKHI LETTER BA;Lo;0;L;;;;;N;;;;; 0A2D;GURMUKHI LETTER BHA;Lo;0;L;;;;;N;;;;; 0A2E;GURMUKHI LETTER MA;Lo;0;L;;;;;N;;;;; 0A2F;GURMUKHI LETTER YA;Lo;0;L;;;;;N;;;;; 0A30;GURMUKHI LETTER RA;Lo;0;L;;;;;N;;;;; 0A32;GURMUKHI LETTER LA;Lo;0;L;;;;;N;;;;; 0A33;GURMUKHI LETTER LLA;Lo;0;L;0A32 0A3C;;;;N;;;;; 0A35;GURMUKHI LETTER VA;Lo;0;L;;;;;N;;;;; 0A36;GURMUKHI LETTER SHA;Lo;0;L;0A38 0A3C;;;;N;;;;; 0A38;GURMUKHI LETTER SA;Lo;0;L;;;;;N;;;;; 0A39;GURMUKHI LETTER HA;Lo;0;L;;;;;N;;;;; 0A3C;GURMUKHI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; 0A3E;GURMUKHI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; 0A3F;GURMUKHI VOWEL SIGN I;Mc;0;L;;;;;N;;;;; 0A40;GURMUKHI VOWEL SIGN II;Mc;0;L;;;;;N;;;;; 0A41;GURMUKHI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; 0A42;GURMUKHI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; 0A47;GURMUKHI VOWEL SIGN EE;Mn;0;NSM;;;;;N;;;;; 0A48;GURMUKHI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; 0A4B;GURMUKHI VOWEL SIGN OO;Mn;0;NSM;;;;;N;;;;; 0A4C;GURMUKHI VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;; 0A4D;GURMUKHI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; 0A59;GURMUKHI LETTER KHHA;Lo;0;L;0A16 0A3C;;;;N;;;;; 0A5A;GURMUKHI LETTER GHHA;Lo;0;L;0A17 0A3C;;;;N;;;;; 0A5B;GURMUKHI LETTER ZA;Lo;0;L;0A1C 0A3C;;;;N;;;;; 0A5C;GURMUKHI LETTER RRA;Lo;0;L;;;;;N;;;;; 0A5E;GURMUKHI LETTER FA;Lo;0;L;0A2B 0A3C;;;;N;;;;; 0A66;GURMUKHI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 0A67;GURMUKHI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0A68;GURMUKHI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0A69;GURMUKHI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 0A6A;GURMUKHI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 0A6B;GURMUKHI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 0A6C;GURMUKHI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 0A6D;GURMUKHI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 0A6E;GURMUKHI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 0A6F;GURMUKHI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0A70;GURMUKHI TIPPI;Mn;0;NSM;;;;;N;;;;; 0A71;GURMUKHI ADDAK;Mn;0;NSM;;;;;N;;;;; 0A72;GURMUKHI IRI;Lo;0;L;;;;;N;;;;; 0A73;GURMUKHI URA;Lo;0;L;;;;;N;;;;; 0A74;GURMUKHI EK ONKAR;Lo;0;L;;;;;N;;;;; 0A81;GUJARATI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; 0A82;GUJARATI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; 0A83;GUJARATI SIGN VISARGA;Mc;0;L;;;;;N;;;;; 0A85;GUJARATI LETTER A;Lo;0;L;;;;;N;;;;; 0A86;GUJARATI LETTER AA;Lo;0;L;;;;;N;;;;; 0A87;GUJARATI LETTER I;Lo;0;L;;;;;N;;;;; 0A88;GUJARATI LETTER II;Lo;0;L;;;;;N;;;;; 0A89;GUJARATI LETTER U;Lo;0;L;;;;;N;;;;; 0A8A;GUJARATI LETTER UU;Lo;0;L;;;;;N;;;;; 0A8B;GUJARATI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; 0A8D;GUJARATI VOWEL CANDRA E;Lo;0;L;;;;;N;;;;; 0A8F;GUJARATI LETTER E;Lo;0;L;;;;;N;;;;; 0A90;GUJARATI LETTER AI;Lo;0;L;;;;;N;;;;; 0A91;GUJARATI VOWEL CANDRA O;Lo;0;L;;;;;N;;;;; 0A93;GUJARATI LETTER O;Lo;0;L;;;;;N;;;;; 0A94;GUJARATI LETTER AU;Lo;0;L;;;;;N;;;;; 0A95;GUJARATI LETTER KA;Lo;0;L;;;;;N;;;;; 0A96;GUJARATI LETTER KHA;Lo;0;L;;;;;N;;;;; 0A97;GUJARATI LETTER GA;Lo;0;L;;;;;N;;;;; 0A98;GUJARATI LETTER GHA;Lo;0;L;;;;;N;;;;; 0A99;GUJARATI LETTER NGA;Lo;0;L;;;;;N;;;;; 0A9A;GUJARATI LETTER CA;Lo;0;L;;;;;N;;;;; 0A9B;GUJARATI LETTER CHA;Lo;0;L;;;;;N;;;;; 0A9C;GUJARATI LETTER JA;Lo;0;L;;;;;N;;;;; 0A9D;GUJARATI LETTER JHA;Lo;0;L;;;;;N;;;;; 0A9E;GUJARATI LETTER NYA;Lo;0;L;;;;;N;;;;; 0A9F;GUJARATI LETTER TTA;Lo;0;L;;;;;N;;;;; 0AA0;GUJARATI LETTER TTHA;Lo;0;L;;;;;N;;;;; 0AA1;GUJARATI LETTER DDA;Lo;0;L;;;;;N;;;;; 0AA2;GUJARATI LETTER DDHA;Lo;0;L;;;;;N;;;;; 0AA3;GUJARATI LETTER NNA;Lo;0;L;;;;;N;;;;; 0AA4;GUJARATI LETTER TA;Lo;0;L;;;;;N;;;;; 0AA5;GUJARATI LETTER THA;Lo;0;L;;;;;N;;;;; 0AA6;GUJARATI LETTER DA;Lo;0;L;;;;;N;;;;; 0AA7;GUJARATI LETTER DHA;Lo;0;L;;;;;N;;;;; 0AA8;GUJARATI LETTER NA;Lo;0;L;;;;;N;;;;; 0AAA;GUJARATI LETTER PA;Lo;0;L;;;;;N;;;;; 0AAB;GUJARATI LETTER PHA;Lo;0;L;;;;;N;;;;; 0AAC;GUJARATI LETTER BA;Lo;0;L;;;;;N;;;;; 0AAD;GUJARATI LETTER BHA;Lo;0;L;;;;;N;;;;; 0AAE;GUJARATI LETTER MA;Lo;0;L;;;;;N;;;;; 0AAF;GUJARATI LETTER YA;Lo;0;L;;;;;N;;;;; 0AB0;GUJARATI LETTER RA;Lo;0;L;;;;;N;;;;; 0AB2;GUJARATI LETTER LA;Lo;0;L;;;;;N;;;;; 0AB3;GUJARATI LETTER LLA;Lo;0;L;;;;;N;;;;; 0AB5;GUJARATI LETTER VA;Lo;0;L;;;;;N;;;;; 0AB6;GUJARATI LETTER SHA;Lo;0;L;;;;;N;;;;; 0AB7;GUJARATI LETTER SSA;Lo;0;L;;;;;N;;;;; 0AB8;GUJARATI LETTER SA;Lo;0;L;;;;;N;;;;; 0AB9;GUJARATI LETTER HA;Lo;0;L;;;;;N;;;;; 0ABC;GUJARATI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; 0ABD;GUJARATI SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;; 0ABE;GUJARATI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; 0ABF;GUJARATI VOWEL SIGN I;Mc;0;L;;;;;N;;;;; 0AC0;GUJARATI VOWEL SIGN II;Mc;0;L;;;;;N;;;;; 0AC1;GUJARATI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; 0AC2;GUJARATI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; 0AC3;GUJARATI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; 0AC4;GUJARATI VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;; 0AC5;GUJARATI VOWEL SIGN CANDRA E;Mn;0;NSM;;;;;N;;;;; 0AC7;GUJARATI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; 0AC8;GUJARATI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; 0AC9;GUJARATI VOWEL SIGN CANDRA O;Mc;0;L;;;;;N;;;;; 0ACB;GUJARATI VOWEL SIGN O;Mc;0;L;;;;;N;;;;; 0ACC;GUJARATI VOWEL SIGN AU;Mc;0;L;;;;;N;;;;; 0ACD;GUJARATI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; 0AD0;GUJARATI OM;Lo;0;L;;;;;N;;;;; 0AE0;GUJARATI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; 0AE6;GUJARATI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 0AE7;GUJARATI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0AE8;GUJARATI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0AE9;GUJARATI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 0AEA;GUJARATI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 0AEB;GUJARATI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 0AEC;GUJARATI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 0AED;GUJARATI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 0AEE;GUJARATI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 0AEF;GUJARATI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0B01;ORIYA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; 0B02;ORIYA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; 0B03;ORIYA SIGN VISARGA;Mc;0;L;;;;;N;;;;; 0B05;ORIYA LETTER A;Lo;0;L;;;;;N;;;;; 0B06;ORIYA LETTER AA;Lo;0;L;;;;;N;;;;; 0B07;ORIYA LETTER I;Lo;0;L;;;;;N;;;;; 0B08;ORIYA LETTER II;Lo;0;L;;;;;N;;;;; 0B09;ORIYA LETTER U;Lo;0;L;;;;;N;;;;; 0B0A;ORIYA LETTER UU;Lo;0;L;;;;;N;;;;; 0B0B;ORIYA LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; 0B0C;ORIYA LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; 0B0F;ORIYA LETTER E;Lo;0;L;;;;;N;;;;; 0B10;ORIYA LETTER AI;Lo;0;L;;;;;N;;;;; 0B13;ORIYA LETTER O;Lo;0;L;;;;;N;;;;; 0B14;ORIYA LETTER AU;Lo;0;L;;;;;N;;;;; 0B15;ORIYA LETTER KA;Lo;0;L;;;;;N;;;;; 0B16;ORIYA LETTER KHA;Lo;0;L;;;;;N;;;;; 0B17;ORIYA LETTER GA;Lo;0;L;;;;;N;;;;; 0B18;ORIYA LETTER GHA;Lo;0;L;;;;;N;;;;; 0B19;ORIYA LETTER NGA;Lo;0;L;;;;;N;;;;; 0B1A;ORIYA LETTER CA;Lo;0;L;;;;;N;;;;; 0B1B;ORIYA LETTER CHA;Lo;0;L;;;;;N;;;;; 0B1C;ORIYA LETTER JA;Lo;0;L;;;;;N;;;;; 0B1D;ORIYA LETTER JHA;Lo;0;L;;;;;N;;;;; 0B1E;ORIYA LETTER NYA;Lo;0;L;;;;;N;;;;; 0B1F;ORIYA LETTER TTA;Lo;0;L;;;;;N;;;;; 0B20;ORIYA LETTER TTHA;Lo;0;L;;;;;N;;;;; 0B21;ORIYA LETTER DDA;Lo;0;L;;;;;N;;;;; 0B22;ORIYA LETTER DDHA;Lo;0;L;;;;;N;;;;; 0B23;ORIYA LETTER NNA;Lo;0;L;;;;;N;;;;; 0B24;ORIYA LETTER TA;Lo;0;L;;;;;N;;;;; 0B25;ORIYA LETTER THA;Lo;0;L;;;;;N;;;;; 0B26;ORIYA LETTER DA;Lo;0;L;;;;;N;;;;; 0B27;ORIYA LETTER DHA;Lo;0;L;;;;;N;;;;; 0B28;ORIYA LETTER NA;Lo;0;L;;;;;N;;;;; 0B2A;ORIYA LETTER PA;Lo;0;L;;;;;N;;;;; 0B2B;ORIYA LETTER PHA;Lo;0;L;;;;;N;;;;; 0B2C;ORIYA LETTER BA;Lo;0;L;;;;;N;;;;; 0B2D;ORIYA LETTER BHA;Lo;0;L;;;;;N;;;;; 0B2E;ORIYA LETTER MA;Lo;0;L;;;;;N;;;;; 0B2F;ORIYA LETTER YA;Lo;0;L;;;;;N;;;;; 0B30;ORIYA LETTER RA;Lo;0;L;;;;;N;;;;; 0B32;ORIYA LETTER LA;Lo;0;L;;;;;N;;;;; 0B33;ORIYA LETTER LLA;Lo;0;L;;;;;N;;;;; 0B36;ORIYA LETTER SHA;Lo;0;L;;;;;N;;;;; 0B37;ORIYA LETTER SSA;Lo;0;L;;;;;N;;;;; 0B38;ORIYA LETTER SA;Lo;0;L;;;;;N;;;;; 0B39;ORIYA LETTER HA;Lo;0;L;;;;;N;;;;; 0B3C;ORIYA SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; 0B3D;ORIYA SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;; 0B3E;ORIYA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; 0B3F;ORIYA VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; 0B40;ORIYA VOWEL SIGN II;Mc;0;L;;;;;N;;;;; 0B41;ORIYA VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; 0B42;ORIYA VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; 0B43;ORIYA VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; 0B47;ORIYA VOWEL SIGN E;Mc;0;L;;;;;N;;;;; 0B48;ORIYA VOWEL SIGN AI;Mc;0;L;0B47 0B56;;;;N;;;;; 0B4B;ORIYA VOWEL SIGN O;Mc;0;L;0B47 0B3E;;;;N;;;;; 0B4C;ORIYA VOWEL SIGN AU;Mc;0;L;0B47 0B57;;;;N;;;;; 0B4D;ORIYA SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; 0B56;ORIYA AI LENGTH MARK;Mn;0;NSM;;;;;N;;;;; 0B57;ORIYA AU LENGTH MARK;Mc;0;L;;;;;N;;;;; 0B5C;ORIYA LETTER RRA;Lo;0;L;0B21 0B3C;;;;N;;;;; 0B5D;ORIYA LETTER RHA;Lo;0;L;0B22 0B3C;;;;N;;;;; 0B5F;ORIYA LETTER YYA;Lo;0;L;;;;;N;;;;; 0B60;ORIYA LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; 0B61;ORIYA LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; 0B66;ORIYA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 0B67;ORIYA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0B68;ORIYA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0B69;ORIYA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 0B6A;ORIYA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 0B6B;ORIYA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 0B6C;ORIYA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 0B6D;ORIYA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 0B6E;ORIYA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 0B6F;ORIYA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0B70;ORIYA ISSHAR;So;0;L;;;;;N;;;;; 0B82;TAMIL SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; 0B83;TAMIL SIGN VISARGA;Mc;0;L;;;;;N;;;;; 0B85;TAMIL LETTER A;Lo;0;L;;;;;N;;;;; 0B86;TAMIL LETTER AA;Lo;0;L;;;;;N;;;;; 0B87;TAMIL LETTER I;Lo;0;L;;;;;N;;;;; 0B88;TAMIL LETTER II;Lo;0;L;;;;;N;;;;; 0B89;TAMIL LETTER U;Lo;0;L;;;;;N;;;;; 0B8A;TAMIL LETTER UU;Lo;0;L;;;;;N;;;;; 0B8E;TAMIL LETTER E;Lo;0;L;;;;;N;;;;; 0B8F;TAMIL LETTER EE;Lo;0;L;;;;;N;;;;; 0B90;TAMIL LETTER AI;Lo;0;L;;;;;N;;;;; 0B92;TAMIL LETTER O;Lo;0;L;;;;;N;;;;; 0B93;TAMIL LETTER OO;Lo;0;L;;;;;N;;;;; 0B94;TAMIL LETTER AU;Lo;0;L;0B92 0BD7;;;;N;;;;; 0B95;TAMIL LETTER KA;Lo;0;L;;;;;N;;;;; 0B99;TAMIL LETTER NGA;Lo;0;L;;;;;N;;;;; 0B9A;TAMIL LETTER CA;Lo;0;L;;;;;N;;;;; 0B9C;TAMIL LETTER JA;Lo;0;L;;;;;N;;;;; 0B9E;TAMIL LETTER NYA;Lo;0;L;;;;;N;;;;; 0B9F;TAMIL LETTER TTA;Lo;0;L;;;;;N;;;;; 0BA3;TAMIL LETTER NNA;Lo;0;L;;;;;N;;;;; 0BA4;TAMIL LETTER TA;Lo;0;L;;;;;N;;;;; 0BA8;TAMIL LETTER NA;Lo;0;L;;;;;N;;;;; 0BA9;TAMIL LETTER NNNA;Lo;0;L;;;;;N;;;;; 0BAA;TAMIL LETTER PA;Lo;0;L;;;;;N;;;;; 0BAE;TAMIL LETTER MA;Lo;0;L;;;;;N;;;;; 0BAF;TAMIL LETTER YA;Lo;0;L;;;;;N;;;;; 0BB0;TAMIL LETTER RA;Lo;0;L;;;;;N;;;;; 0BB1;TAMIL LETTER RRA;Lo;0;L;;;;;N;;;;; 0BB2;TAMIL LETTER LA;Lo;0;L;;;;;N;;;;; 0BB3;TAMIL LETTER LLA;Lo;0;L;;;;;N;;;;; 0BB4;TAMIL LETTER LLLA;Lo;0;L;;;;;N;;;;; 0BB5;TAMIL LETTER VA;Lo;0;L;;;;;N;;;;; 0BB7;TAMIL LETTER SSA;Lo;0;L;;;;;N;;;;; 0BB8;TAMIL LETTER SA;Lo;0;L;;;;;N;;;;; 0BB9;TAMIL LETTER HA;Lo;0;L;;;;;N;;;;; 0BBE;TAMIL VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; 0BBF;TAMIL VOWEL SIGN I;Mc;0;L;;;;;N;;;;; 0BC0;TAMIL VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;; 0BC1;TAMIL VOWEL SIGN U;Mc;0;L;;;;;N;;;;; 0BC2;TAMIL VOWEL SIGN UU;Mc;0;L;;;;;N;;;;; 0BC6;TAMIL VOWEL SIGN E;Mc;0;L;;;;;N;;;;; 0BC7;TAMIL VOWEL SIGN EE;Mc;0;L;;;;;N;;;;; 0BC8;TAMIL VOWEL SIGN AI;Mc;0;L;;;;;N;;;;; 0BCA;TAMIL VOWEL SIGN O;Mc;0;L;0BC6 0BBE;;;;N;;;;; 0BCB;TAMIL VOWEL SIGN OO;Mc;0;L;0BC7 0BBE;;;;N;;;;; 0BCC;TAMIL VOWEL SIGN AU;Mc;0;L;0BC6 0BD7;;;;N;;;;; 0BCD;TAMIL SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; 0BD7;TAMIL AU LENGTH MARK;Mc;0;L;;;;;N;;;;; 0BE7;TAMIL DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0BE8;TAMIL DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0BE9;TAMIL DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 0BEA;TAMIL DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 0BEB;TAMIL DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 0BEC;TAMIL DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 0BED;TAMIL DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 0BEE;TAMIL DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 0BEF;TAMIL DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0BF0;TAMIL NUMBER TEN;No;0;L;;;;10;N;;;;; 0BF1;TAMIL NUMBER ONE HUNDRED;No;0;L;;;;100;N;;;;; 0BF2;TAMIL NUMBER ONE THOUSAND;No;0;L;;;;1000;N;;;;; 0C01;TELUGU SIGN CANDRABINDU;Mc;0;L;;;;;N;;;;; 0C02;TELUGU SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; 0C03;TELUGU SIGN VISARGA;Mc;0;L;;;;;N;;;;; 0C05;TELUGU LETTER A;Lo;0;L;;;;;N;;;;; 0C06;TELUGU LETTER AA;Lo;0;L;;;;;N;;;;; 0C07;TELUGU LETTER I;Lo;0;L;;;;;N;;;;; 0C08;TELUGU LETTER II;Lo;0;L;;;;;N;;;;; 0C09;TELUGU LETTER U;Lo;0;L;;;;;N;;;;; 0C0A;TELUGU LETTER UU;Lo;0;L;;;;;N;;;;; 0C0B;TELUGU LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; 0C0C;TELUGU LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; 0C0E;TELUGU LETTER E;Lo;0;L;;;;;N;;;;; 0C0F;TELUGU LETTER EE;Lo;0;L;;;;;N;;;;; 0C10;TELUGU LETTER AI;Lo;0;L;;;;;N;;;;; 0C12;TELUGU LETTER O;Lo;0;L;;;;;N;;;;; 0C13;TELUGU LETTER OO;Lo;0;L;;;;;N;;;;; 0C14;TELUGU LETTER AU;Lo;0;L;;;;;N;;;;; 0C15;TELUGU LETTER KA;Lo;0;L;;;;;N;;;;; 0C16;TELUGU LETTER KHA;Lo;0;L;;;;;N;;;;; 0C17;TELUGU LETTER GA;Lo;0;L;;;;;N;;;;; 0C18;TELUGU LETTER GHA;Lo;0;L;;;;;N;;;;; 0C19;TELUGU LETTER NGA;Lo;0;L;;;;;N;;;;; 0C1A;TELUGU LETTER CA;Lo;0;L;;;;;N;;;;; 0C1B;TELUGU LETTER CHA;Lo;0;L;;;;;N;;;;; 0C1C;TELUGU LETTER JA;Lo;0;L;;;;;N;;;;; 0C1D;TELUGU LETTER JHA;Lo;0;L;;;;;N;;;;; 0C1E;TELUGU LETTER NYA;Lo;0;L;;;;;N;;;;; 0C1F;TELUGU LETTER TTA;Lo;0;L;;;;;N;;;;; 0C20;TELUGU LETTER TTHA;Lo;0;L;;;;;N;;;;; 0C21;TELUGU LETTER DDA;Lo;0;L;;;;;N;;;;; 0C22;TELUGU LETTER DDHA;Lo;0;L;;;;;N;;;;; 0C23;TELUGU LETTER NNA;Lo;0;L;;;;;N;;;;; 0C24;TELUGU LETTER TA;Lo;0;L;;;;;N;;;;; 0C25;TELUGU LETTER THA;Lo;0;L;;;;;N;;;;; 0C26;TELUGU LETTER DA;Lo;0;L;;;;;N;;;;; 0C27;TELUGU LETTER DHA;Lo;0;L;;;;;N;;;;; 0C28;TELUGU LETTER NA;Lo;0;L;;;;;N;;;;; 0C2A;TELUGU LETTER PA;Lo;0;L;;;;;N;;;;; 0C2B;TELUGU LETTER PHA;Lo;0;L;;;;;N;;;;; 0C2C;TELUGU LETTER BA;Lo;0;L;;;;;N;;;;; 0C2D;TELUGU LETTER BHA;Lo;0;L;;;;;N;;;;; 0C2E;TELUGU LETTER MA;Lo;0;L;;;;;N;;;;; 0C2F;TELUGU LETTER YA;Lo;0;L;;;;;N;;;;; 0C30;TELUGU LETTER RA;Lo;0;L;;;;;N;;;;; 0C31;TELUGU LETTER RRA;Lo;0;L;;;;;N;;;;; 0C32;TELUGU LETTER LA;Lo;0;L;;;;;N;;;;; 0C33;TELUGU LETTER LLA;Lo;0;L;;;;;N;;;;; 0C35;TELUGU LETTER VA;Lo;0;L;;;;;N;;;;; 0C36;TELUGU LETTER SHA;Lo;0;L;;;;;N;;;;; 0C37;TELUGU LETTER SSA;Lo;0;L;;;;;N;;;;; 0C38;TELUGU LETTER SA;Lo;0;L;;;;;N;;;;; 0C39;TELUGU LETTER HA;Lo;0;L;;;;;N;;;;; 0C3E;TELUGU VOWEL SIGN AA;Mn;0;NSM;;;;;N;;;;; 0C3F;TELUGU VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; 0C40;TELUGU VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;; 0C41;TELUGU VOWEL SIGN U;Mc;0;L;;;;;N;;;;; 0C42;TELUGU VOWEL SIGN UU;Mc;0;L;;;;;N;;;;; 0C43;TELUGU VOWEL SIGN VOCALIC R;Mc;0;L;;;;;N;;;;; 0C44;TELUGU VOWEL SIGN VOCALIC RR;Mc;0;L;;;;;N;;;;; 0C46;TELUGU VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; 0C47;TELUGU VOWEL SIGN EE;Mn;0;NSM;;;;;N;;;;; 0C48;TELUGU VOWEL SIGN AI;Mn;0;NSM;0C46 0C56;;;;N;;;;; 0C4A;TELUGU VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;; 0C4B;TELUGU VOWEL SIGN OO;Mn;0;NSM;;;;;N;;;;; 0C4C;TELUGU VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;; 0C4D;TELUGU SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; 0C55;TELUGU LENGTH MARK;Mn;84;NSM;;;;;N;;;;; 0C56;TELUGU AI LENGTH MARK;Mn;91;NSM;;;;;N;;;;; 0C60;TELUGU LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; 0C61;TELUGU LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; 0C66;TELUGU DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 0C67;TELUGU DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0C68;TELUGU DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0C69;TELUGU DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 0C6A;TELUGU DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 0C6B;TELUGU DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 0C6C;TELUGU DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 0C6D;TELUGU DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 0C6E;TELUGU DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 0C6F;TELUGU DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0C82;KANNADA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; 0C83;KANNADA SIGN VISARGA;Mc;0;L;;;;;N;;;;; 0C85;KANNADA LETTER A;Lo;0;L;;;;;N;;;;; 0C86;KANNADA LETTER AA;Lo;0;L;;;;;N;;;;; 0C87;KANNADA LETTER I;Lo;0;L;;;;;N;;;;; 0C88;KANNADA LETTER II;Lo;0;L;;;;;N;;;;; 0C89;KANNADA LETTER U;Lo;0;L;;;;;N;;;;; 0C8A;KANNADA LETTER UU;Lo;0;L;;;;;N;;;;; 0C8B;KANNADA LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; 0C8C;KANNADA LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; 0C8E;KANNADA LETTER E;Lo;0;L;;;;;N;;;;; 0C8F;KANNADA LETTER EE;Lo;0;L;;;;;N;;;;; 0C90;KANNADA LETTER AI;Lo;0;L;;;;;N;;;;; 0C92;KANNADA LETTER O;Lo;0;L;;;;;N;;;;; 0C93;KANNADA LETTER OO;Lo;0;L;;;;;N;;;;; 0C94;KANNADA LETTER AU;Lo;0;L;;;;;N;;;;; 0C95;KANNADA LETTER KA;Lo;0;L;;;;;N;;;;; 0C96;KANNADA LETTER KHA;Lo;0;L;;;;;N;;;;; 0C97;KANNADA LETTER GA;Lo;0;L;;;;;N;;;;; 0C98;KANNADA LETTER GHA;Lo;0;L;;;;;N;;;;; 0C99;KANNADA LETTER NGA;Lo;0;L;;;;;N;;;;; 0C9A;KANNADA LETTER CA;Lo;0;L;;;;;N;;;;; 0C9B;KANNADA LETTER CHA;Lo;0;L;;;;;N;;;;; 0C9C;KANNADA LETTER JA;Lo;0;L;;;;;N;;;;; 0C9D;KANNADA LETTER JHA;Lo;0;L;;;;;N;;;;; 0C9E;KANNADA LETTER NYA;Lo;0;L;;;;;N;;;;; 0C9F;KANNADA LETTER TTA;Lo;0;L;;;;;N;;;;; 0CA0;KANNADA LETTER TTHA;Lo;0;L;;;;;N;;;;; 0CA1;KANNADA LETTER DDA;Lo;0;L;;;;;N;;;;; 0CA2;KANNADA LETTER DDHA;Lo;0;L;;;;;N;;;;; 0CA3;KANNADA LETTER NNA;Lo;0;L;;;;;N;;;;; 0CA4;KANNADA LETTER TA;Lo;0;L;;;;;N;;;;; 0CA5;KANNADA LETTER THA;Lo;0;L;;;;;N;;;;; 0CA6;KANNADA LETTER DA;Lo;0;L;;;;;N;;;;; 0CA7;KANNADA LETTER DHA;Lo;0;L;;;;;N;;;;; 0CA8;KANNADA LETTER NA;Lo;0;L;;;;;N;;;;; 0CAA;KANNADA LETTER PA;Lo;0;L;;;;;N;;;;; 0CAB;KANNADA LETTER PHA;Lo;0;L;;;;;N;;;;; 0CAC;KANNADA LETTER BA;Lo;0;L;;;;;N;;;;; 0CAD;KANNADA LETTER BHA;Lo;0;L;;;;;N;;;;; 0CAE;KANNADA LETTER MA;Lo;0;L;;;;;N;;;;; 0CAF;KANNADA LETTER YA;Lo;0;L;;;;;N;;;;; 0CB0;KANNADA LETTER RA;Lo;0;L;;;;;N;;;;; 0CB1;KANNADA LETTER RRA;Lo;0;L;;;;;N;;;;; 0CB2;KANNADA LETTER LA;Lo;0;L;;;;;N;;;;; 0CB3;KANNADA LETTER LLA;Lo;0;L;;;;;N;;;;; 0CB5;KANNADA LETTER VA;Lo;0;L;;;;;N;;;;; 0CB6;KANNADA LETTER SHA;Lo;0;L;;;;;N;;;;; 0CB7;KANNADA LETTER SSA;Lo;0;L;;;;;N;;;;; 0CB8;KANNADA LETTER SA;Lo;0;L;;;;;N;;;;; 0CB9;KANNADA LETTER HA;Lo;0;L;;;;;N;;;;; 0CBE;KANNADA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; 0CBF;KANNADA VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; 0CC0;KANNADA VOWEL SIGN II;Mc;0;L;0CBF 0CD5;;;;N;;;;; 0CC1;KANNADA VOWEL SIGN U;Mc;0;L;;;;;N;;;;; 0CC2;KANNADA VOWEL SIGN UU;Mc;0;L;;;;;N;;;;; 0CC3;KANNADA VOWEL SIGN VOCALIC R;Mc;0;L;;;;;N;;;;; 0CC4;KANNADA VOWEL SIGN VOCALIC RR;Mc;0;L;;;;;N;;;;; 0CC6;KANNADA VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; 0CC7;KANNADA VOWEL SIGN EE;Mc;0;L;0CC6 0CD5;;;;N;;;;; 0CC8;KANNADA VOWEL SIGN AI;Mc;0;L;0CC6 0CD6;;;;N;;;;; 0CCA;KANNADA VOWEL SIGN O;Mc;0;L;0CC6 0CC2;;;;N;;;;; 0CCB;KANNADA VOWEL SIGN OO;Mc;0;L;0CCA 0CD5;;;;N;;;;; 0CCC;KANNADA VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;; 0CCD;KANNADA SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; 0CD5;KANNADA LENGTH MARK;Mc;0;L;;;;;N;;;;; 0CD6;KANNADA AI LENGTH MARK;Mc;0;L;;;;;N;;;;; 0CDE;KANNADA LETTER FA;Lo;0;L;;;;;N;;;;; 0CE0;KANNADA LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; 0CE1;KANNADA LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; 0CE6;KANNADA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 0CE7;KANNADA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0CE8;KANNADA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0CE9;KANNADA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 0CEA;KANNADA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 0CEB;KANNADA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 0CEC;KANNADA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 0CED;KANNADA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 0CEE;KANNADA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 0CEF;KANNADA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0D02;MALAYALAM SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; 0D03;MALAYALAM SIGN VISARGA;Mc;0;L;;;;;N;;;;; 0D05;MALAYALAM LETTER A;Lo;0;L;;;;;N;;;;; 0D06;MALAYALAM LETTER AA;Lo;0;L;;;;;N;;;;; 0D07;MALAYALAM LETTER I;Lo;0;L;;;;;N;;;;; 0D08;MALAYALAM LETTER II;Lo;0;L;;;;;N;;;;; 0D09;MALAYALAM LETTER U;Lo;0;L;;;;;N;;;;; 0D0A;MALAYALAM LETTER UU;Lo;0;L;;;;;N;;;;; 0D0B;MALAYALAM LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; 0D0C;MALAYALAM LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; 0D0E;MALAYALAM LETTER E;Lo;0;L;;;;;N;;;;; 0D0F;MALAYALAM LETTER EE;Lo;0;L;;;;;N;;;;; 0D10;MALAYALAM LETTER AI;Lo;0;L;;;;;N;;;;; 0D12;MALAYALAM LETTER O;Lo;0;L;;;;;N;;;;; 0D13;MALAYALAM LETTER OO;Lo;0;L;;;;;N;;;;; 0D14;MALAYALAM LETTER AU;Lo;0;L;;;;;N;;;;; 0D15;MALAYALAM LETTER KA;Lo;0;L;;;;;N;;;;; 0D16;MALAYALAM LETTER KHA;Lo;0;L;;;;;N;;;;; 0D17;MALAYALAM LETTER GA;Lo;0;L;;;;;N;;;;; 0D18;MALAYALAM LETTER GHA;Lo;0;L;;;;;N;;;;; 0D19;MALAYALAM LETTER NGA;Lo;0;L;;;;;N;;;;; 0D1A;MALAYALAM LETTER CA;Lo;0;L;;;;;N;;;;; 0D1B;MALAYALAM LETTER CHA;Lo;0;L;;;;;N;;;;; 0D1C;MALAYALAM LETTER JA;Lo;0;L;;;;;N;;;;; 0D1D;MALAYALAM LETTER JHA;Lo;0;L;;;;;N;;;;; 0D1E;MALAYALAM LETTER NYA;Lo;0;L;;;;;N;;;;; 0D1F;MALAYALAM LETTER TTA;Lo;0;L;;;;;N;;;;; 0D20;MALAYALAM LETTER TTHA;Lo;0;L;;;;;N;;;;; 0D21;MALAYALAM LETTER DDA;Lo;0;L;;;;;N;;;;; 0D22;MALAYALAM LETTER DDHA;Lo;0;L;;;;;N;;;;; 0D23;MALAYALAM LETTER NNA;Lo;0;L;;;;;N;;;;; 0D24;MALAYALAM LETTER TA;Lo;0;L;;;;;N;;;;; 0D25;MALAYALAM LETTER THA;Lo;0;L;;;;;N;;;;; 0D26;MALAYALAM LETTER DA;Lo;0;L;;;;;N;;;;; 0D27;MALAYALAM LETTER DHA;Lo;0;L;;;;;N;;;;; 0D28;MALAYALAM LETTER NA;Lo;0;L;;;;;N;;;;; 0D2A;MALAYALAM LETTER PA;Lo;0;L;;;;;N;;;;; 0D2B;MALAYALAM LETTER PHA;Lo;0;L;;;;;N;;;;; 0D2C;MALAYALAM LETTER BA;Lo;0;L;;;;;N;;;;; 0D2D;MALAYALAM LETTER BHA;Lo;0;L;;;;;N;;;;; 0D2E;MALAYALAM LETTER MA;Lo;0;L;;;;;N;;;;; 0D2F;MALAYALAM LETTER YA;Lo;0;L;;;;;N;;;;; 0D30;MALAYALAM LETTER RA;Lo;0;L;;;;;N;;;;; 0D31;MALAYALAM LETTER RRA;Lo;0;L;;;;;N;;;;; 0D32;MALAYALAM LETTER LA;Lo;0;L;;;;;N;;;;; 0D33;MALAYALAM LETTER LLA;Lo;0;L;;;;;N;;;;; 0D34;MALAYALAM LETTER LLLA;Lo;0;L;;;;;N;;;;; 0D35;MALAYALAM LETTER VA;Lo;0;L;;;;;N;;;;; 0D36;MALAYALAM LETTER SHA;Lo;0;L;;;;;N;;;;; 0D37;MALAYALAM LETTER SSA;Lo;0;L;;;;;N;;;;; 0D38;MALAYALAM LETTER SA;Lo;0;L;;;;;N;;;;; 0D39;MALAYALAM LETTER HA;Lo;0;L;;;;;N;;;;; 0D3E;MALAYALAM VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; 0D3F;MALAYALAM VOWEL SIGN I;Mc;0;L;;;;;N;;;;; 0D40;MALAYALAM VOWEL SIGN II;Mc;0;L;;;;;N;;;;; 0D41;MALAYALAM VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; 0D42;MALAYALAM VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; 0D43;MALAYALAM VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; 0D46;MALAYALAM VOWEL SIGN E;Mc;0;L;;;;;N;;;;; 0D47;MALAYALAM VOWEL SIGN EE;Mc;0;L;;;;;N;;;;; 0D48;MALAYALAM VOWEL SIGN AI;Mc;0;L;;;;;N;;;;; 0D4A;MALAYALAM VOWEL SIGN O;Mc;0;L;0D46 0D3E;;;;N;;;;; 0D4B;MALAYALAM VOWEL SIGN OO;Mc;0;L;0D47 0D3E;;;;N;;;;; 0D4C;MALAYALAM VOWEL SIGN AU;Mc;0;L;0D46 0D57;;;;N;;;;; 0D4D;MALAYALAM SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; 0D57;MALAYALAM AU LENGTH MARK;Mc;0;L;;;;;N;;;;; 0D60;MALAYALAM LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; 0D61;MALAYALAM LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; 0D66;MALAYALAM DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 0D67;MALAYALAM DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0D68;MALAYALAM DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0D69;MALAYALAM DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 0D6A;MALAYALAM DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 0D6B;MALAYALAM DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 0D6C;MALAYALAM DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 0D6D;MALAYALAM DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 0D6E;MALAYALAM DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 0D6F;MALAYALAM DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0D82;SINHALA SIGN ANUSVARAYA;Mc;0;L;;;;;N;;;;; 0D83;SINHALA SIGN VISARGAYA;Mc;0;L;;;;;N;;;;; 0D85;SINHALA LETTER AYANNA;Lo;0;L;;;;;N;;;;; 0D86;SINHALA LETTER AAYANNA;Lo;0;L;;;;;N;;;;; 0D87;SINHALA LETTER AEYANNA;Lo;0;L;;;;;N;;;;; 0D88;SINHALA LETTER AEEYANNA;Lo;0;L;;;;;N;;;;; 0D89;SINHALA LETTER IYANNA;Lo;0;L;;;;;N;;;;; 0D8A;SINHALA LETTER IIYANNA;Lo;0;L;;;;;N;;;;; 0D8B;SINHALA LETTER UYANNA;Lo;0;L;;;;;N;;;;; 0D8C;SINHALA LETTER UUYANNA;Lo;0;L;;;;;N;;;;; 0D8D;SINHALA LETTER IRUYANNA;Lo;0;L;;;;;N;;;;; 0D8E;SINHALA LETTER IRUUYANNA;Lo;0;L;;;;;N;;;;; 0D8F;SINHALA LETTER ILUYANNA;Lo;0;L;;;;;N;;;;; 0D90;SINHALA LETTER ILUUYANNA;Lo;0;L;;;;;N;;;;; 0D91;SINHALA LETTER EYANNA;Lo;0;L;;;;;N;;;;; 0D92;SINHALA LETTER EEYANNA;Lo;0;L;;;;;N;;;;; 0D93;SINHALA LETTER AIYANNA;Lo;0;L;;;;;N;;;;; 0D94;SINHALA LETTER OYANNA;Lo;0;L;;;;;N;;;;; 0D95;SINHALA LETTER OOYANNA;Lo;0;L;;;;;N;;;;; 0D96;SINHALA LETTER AUYANNA;Lo;0;L;;;;;N;;;;; 0D9A;SINHALA LETTER ALPAPRAANA KAYANNA;Lo;0;L;;;;;N;;;;; 0D9B;SINHALA LETTER MAHAAPRAANA KAYANNA;Lo;0;L;;;;;N;;;;; 0D9C;SINHALA LETTER ALPAPRAANA GAYANNA;Lo;0;L;;;;;N;;;;; 0D9D;SINHALA LETTER MAHAAPRAANA GAYANNA;Lo;0;L;;;;;N;;;;; 0D9E;SINHALA LETTER KANTAJA NAASIKYAYA;Lo;0;L;;;;;N;;;;; 0D9F;SINHALA LETTER SANYAKA GAYANNA;Lo;0;L;;;;;N;;;;; 0DA0;SINHALA LETTER ALPAPRAANA CAYANNA;Lo;0;L;;;;;N;;;;; 0DA1;SINHALA LETTER MAHAAPRAANA CAYANNA;Lo;0;L;;;;;N;;;;; 0DA2;SINHALA LETTER ALPAPRAANA JAYANNA;Lo;0;L;;;;;N;;;;; 0DA3;SINHALA LETTER MAHAAPRAANA JAYANNA;Lo;0;L;;;;;N;;;;; 0DA4;SINHALA LETTER TAALUJA NAASIKYAYA;Lo;0;L;;;;;N;;;;; 0DA5;SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA;Lo;0;L;;;;;N;;;;; 0DA6;SINHALA LETTER SANYAKA JAYANNA;Lo;0;L;;;;;N;;;;; 0DA7;SINHALA LETTER ALPAPRAANA TTAYANNA;Lo;0;L;;;;;N;;;;; 0DA8;SINHALA LETTER MAHAAPRAANA TTAYANNA;Lo;0;L;;;;;N;;;;; 0DA9;SINHALA LETTER ALPAPRAANA DDAYANNA;Lo;0;L;;;;;N;;;;; 0DAA;SINHALA LETTER MAHAAPRAANA DDAYANNA;Lo;0;L;;;;;N;;;;; 0DAB;SINHALA LETTER MUURDHAJA NAYANNA;Lo;0;L;;;;;N;;;;; 0DAC;SINHALA LETTER SANYAKA DDAYANNA;Lo;0;L;;;;;N;;;;; 0DAD;SINHALA LETTER ALPAPRAANA TAYANNA;Lo;0;L;;;;;N;;;;; 0DAE;SINHALA LETTER MAHAAPRAANA TAYANNA;Lo;0;L;;;;;N;;;;; 0DAF;SINHALA LETTER ALPAPRAANA DAYANNA;Lo;0;L;;;;;N;;;;; 0DB0;SINHALA LETTER MAHAAPRAANA DAYANNA;Lo;0;L;;;;;N;;;;; 0DB1;SINHALA LETTER DANTAJA NAYANNA;Lo;0;L;;;;;N;;;;; 0DB3;SINHALA LETTER SANYAKA DAYANNA;Lo;0;L;;;;;N;;;;; 0DB4;SINHALA LETTER ALPAPRAANA PAYANNA;Lo;0;L;;;;;N;;;;; 0DB5;SINHALA LETTER MAHAAPRAANA PAYANNA;Lo;0;L;;;;;N;;;;; 0DB6;SINHALA LETTER ALPAPRAANA BAYANNA;Lo;0;L;;;;;N;;;;; 0DB7;SINHALA LETTER MAHAAPRAANA BAYANNA;Lo;0;L;;;;;N;;;;; 0DB8;SINHALA LETTER MAYANNA;Lo;0;L;;;;;N;;;;; 0DB9;SINHALA LETTER AMBA BAYANNA;Lo;0;L;;;;;N;;;;; 0DBA;SINHALA LETTER YAYANNA;Lo;0;L;;;;;N;;;;; 0DBB;SINHALA LETTER RAYANNA;Lo;0;L;;;;;N;;;;; 0DBD;SINHALA LETTER DANTAJA LAYANNA;Lo;0;L;;;;;N;;;;; 0DC0;SINHALA LETTER VAYANNA;Lo;0;L;;;;;N;;;;; 0DC1;SINHALA LETTER TAALUJA SAYANNA;Lo;0;L;;;;;N;;;;; 0DC2;SINHALA LETTER MUURDHAJA SAYANNA;Lo;0;L;;;;;N;;;;; 0DC3;SINHALA LETTER DANTAJA SAYANNA;Lo;0;L;;;;;N;;;;; 0DC4;SINHALA LETTER HAYANNA;Lo;0;L;;;;;N;;;;; 0DC5;SINHALA LETTER MUURDHAJA LAYANNA;Lo;0;L;;;;;N;;;;; 0DC6;SINHALA LETTER FAYANNA;Lo;0;L;;;;;N;;;;; 0DCA;SINHALA SIGN AL-LAKUNA;Mn;9;NSM;;;;;N;;;;; 0DCF;SINHALA VOWEL SIGN AELA-PILLA;Mc;0;L;;;;;N;;;;; 0DD0;SINHALA VOWEL SIGN KETTI AEDA-PILLA;Mc;0;L;;;;;N;;;;; 0DD1;SINHALA VOWEL SIGN DIGA AEDA-PILLA;Mc;0;L;;;;;N;;;;; 0DD2;SINHALA VOWEL SIGN KETTI IS-PILLA;Mn;0;NSM;;;;;N;;;;; 0DD3;SINHALA VOWEL SIGN DIGA IS-PILLA;Mn;0;NSM;;;;;N;;;;; 0DD4;SINHALA VOWEL SIGN KETTI PAA-PILLA;Mn;0;NSM;;;;;N;;;;; 0DD6;SINHALA VOWEL SIGN DIGA PAA-PILLA;Mn;0;NSM;;;;;N;;;;; 0DD8;SINHALA VOWEL SIGN GAETTA-PILLA;Mc;0;L;;;;;N;;;;; 0DD9;SINHALA VOWEL SIGN KOMBUVA;Mc;0;L;;;;;N;;;;; 0DDA;SINHALA VOWEL SIGN DIGA KOMBUVA;Mc;0;L;0DD9 0DCA;;;;N;;;;; 0DDB;SINHALA VOWEL SIGN KOMBU DEKA;Mc;0;L;;;;;N;;;;; 0DDC;SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA;Mc;0;L;0DD9 0DCF;;;;N;;;;; 0DDD;SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA;Mc;0;L;0DDC 0DCA;;;;N;;;;; 0DDE;SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA;Mc;0;L;0DD9 0DDF;;;;N;;;;; 0DDF;SINHALA VOWEL SIGN GAYANUKITTA;Mc;0;L;;;;;N;;;;; 0DF2;SINHALA VOWEL SIGN DIGA GAETTA-PILLA;Mc;0;L;;;;;N;;;;; 0DF3;SINHALA VOWEL SIGN DIGA GAYANUKITTA;Mc;0;L;;;;;N;;;;; 0DF4;SINHALA PUNCTUATION KUNDDALIYA;Po;0;L;;;;;N;;;;; 0E01;THAI CHARACTER KO KAI;Lo;0;L;;;;;N;THAI LETTER KO KAI;;;; 0E02;THAI CHARACTER KHO KHAI;Lo;0;L;;;;;N;THAI LETTER KHO KHAI;;;; 0E03;THAI CHARACTER KHO KHUAT;Lo;0;L;;;;;N;THAI LETTER KHO KHUAT;;;; 0E04;THAI CHARACTER KHO KHWAI;Lo;0;L;;;;;N;THAI LETTER KHO KHWAI;;;; 0E05;THAI CHARACTER KHO KHON;Lo;0;L;;;;;N;THAI LETTER KHO KHON;;;; 0E06;THAI CHARACTER KHO RAKHANG;Lo;0;L;;;;;N;THAI LETTER KHO RAKHANG;;;; 0E07;THAI CHARACTER NGO NGU;Lo;0;L;;;;;N;THAI LETTER NGO NGU;;;; 0E08;THAI CHARACTER CHO CHAN;Lo;0;L;;;;;N;THAI LETTER CHO CHAN;;;; 0E09;THAI CHARACTER CHO CHING;Lo;0;L;;;;;N;THAI LETTER CHO CHING;;;; 0E0A;THAI CHARACTER CHO CHANG;Lo;0;L;;;;;N;THAI LETTER CHO CHANG;;;; 0E0B;THAI CHARACTER SO SO;Lo;0;L;;;;;N;THAI LETTER SO SO;;;; 0E0C;THAI CHARACTER CHO CHOE;Lo;0;L;;;;;N;THAI LETTER CHO CHOE;;;; 0E0D;THAI CHARACTER YO YING;Lo;0;L;;;;;N;THAI LETTER YO YING;;;; 0E0E;THAI CHARACTER DO CHADA;Lo;0;L;;;;;N;THAI LETTER DO CHADA;;;; 0E0F;THAI CHARACTER TO PATAK;Lo;0;L;;;;;N;THAI LETTER TO PATAK;;;; 0E10;THAI CHARACTER THO THAN;Lo;0;L;;;;;N;THAI LETTER THO THAN;;;; 0E11;THAI CHARACTER THO NANGMONTHO;Lo;0;L;;;;;N;THAI LETTER THO NANGMONTHO;;;; 0E12;THAI CHARACTER THO PHUTHAO;Lo;0;L;;;;;N;THAI LETTER THO PHUTHAO;;;; 0E13;THAI CHARACTER NO NEN;Lo;0;L;;;;;N;THAI LETTER NO NEN;;;; 0E14;THAI CHARACTER DO DEK;Lo;0;L;;;;;N;THAI LETTER DO DEK;;;; 0E15;THAI CHARACTER TO TAO;Lo;0;L;;;;;N;THAI LETTER TO TAO;;;; 0E16;THAI CHARACTER THO THUNG;Lo;0;L;;;;;N;THAI LETTER THO THUNG;;;; 0E17;THAI CHARACTER THO THAHAN;Lo;0;L;;;;;N;THAI LETTER THO THAHAN;;;; 0E18;THAI CHARACTER THO THONG;Lo;0;L;;;;;N;THAI LETTER THO THONG;;;; 0E19;THAI CHARACTER NO NU;Lo;0;L;;;;;N;THAI LETTER NO NU;;;; 0E1A;THAI CHARACTER BO BAIMAI;Lo;0;L;;;;;N;THAI LETTER BO BAIMAI;;;; 0E1B;THAI CHARACTER PO PLA;Lo;0;L;;;;;N;THAI LETTER PO PLA;;;; 0E1C;THAI CHARACTER PHO PHUNG;Lo;0;L;;;;;N;THAI LETTER PHO PHUNG;;;; 0E1D;THAI CHARACTER FO FA;Lo;0;L;;;;;N;THAI LETTER FO FA;;;; 0E1E;THAI CHARACTER PHO PHAN;Lo;0;L;;;;;N;THAI LETTER PHO PHAN;;;; 0E1F;THAI CHARACTER FO FAN;Lo;0;L;;;;;N;THAI LETTER FO FAN;;;; 0E20;THAI CHARACTER PHO SAMPHAO;Lo;0;L;;;;;N;THAI LETTER PHO SAMPHAO;;;; 0E21;THAI CHARACTER MO MA;Lo;0;L;;;;;N;THAI LETTER MO MA;;;; 0E22;THAI CHARACTER YO YAK;Lo;0;L;;;;;N;THAI LETTER YO YAK;;;; 0E23;THAI CHARACTER RO RUA;Lo;0;L;;;;;N;THAI LETTER RO RUA;;;; 0E24;THAI CHARACTER RU;Lo;0;L;;;;;N;THAI LETTER RU;;;; 0E25;THAI CHARACTER LO LING;Lo;0;L;;;;;N;THAI LETTER LO LING;;;; 0E26;THAI CHARACTER LU;Lo;0;L;;;;;N;THAI LETTER LU;;;; 0E27;THAI CHARACTER WO WAEN;Lo;0;L;;;;;N;THAI LETTER WO WAEN;;;; 0E28;THAI CHARACTER SO SALA;Lo;0;L;;;;;N;THAI LETTER SO SALA;;;; 0E29;THAI CHARACTER SO RUSI;Lo;0;L;;;;;N;THAI LETTER SO RUSI;;;; 0E2A;THAI CHARACTER SO SUA;Lo;0;L;;;;;N;THAI LETTER SO SUA;;;; 0E2B;THAI CHARACTER HO HIP;Lo;0;L;;;;;N;THAI LETTER HO HIP;;;; 0E2C;THAI CHARACTER LO CHULA;Lo;0;L;;;;;N;THAI LETTER LO CHULA;;;; 0E2D;THAI CHARACTER O ANG;Lo;0;L;;;;;N;THAI LETTER O ANG;;;; 0E2E;THAI CHARACTER HO NOKHUK;Lo;0;L;;;;;N;THAI LETTER HO NOK HUK;;;; 0E2F;THAI CHARACTER PAIYANNOI;Lo;0;L;;;;;N;THAI PAI YAN NOI;paiyan noi;;; 0E30;THAI CHARACTER SARA A;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA A;;;; 0E31;THAI CHARACTER MAI HAN-AKAT;Mn;0;NSM;;;;;N;THAI VOWEL SIGN MAI HAN-AKAT;;;; 0E32;THAI CHARACTER SARA AA;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA AA;;;; 0E33;THAI CHARACTER SARA AM;Lo;0;L; 0E4D 0E32;;;;N;THAI VOWEL SIGN SARA AM;;;; 0E34;THAI CHARACTER SARA I;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA I;;;; 0E35;THAI CHARACTER SARA II;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA II;;;; 0E36;THAI CHARACTER SARA UE;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA UE;;;; 0E37;THAI CHARACTER SARA UEE;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA UEE;sara uue;;; 0E38;THAI CHARACTER SARA U;Mn;103;NSM;;;;;N;THAI VOWEL SIGN SARA U;;;; 0E39;THAI CHARACTER SARA UU;Mn;103;NSM;;;;;N;THAI VOWEL SIGN SARA UU;;;; 0E3A;THAI CHARACTER PHINTHU;Mn;9;NSM;;;;;N;THAI VOWEL SIGN PHINTHU;;;; 0E3F;THAI CURRENCY SYMBOL BAHT;Sc;0;ET;;;;;N;THAI BAHT SIGN;;;; 0E40;THAI CHARACTER SARA E;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA E;;;; 0E41;THAI CHARACTER SARA AE;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA AE;;;; 0E42;THAI CHARACTER SARA O;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA O;;;; 0E43;THAI CHARACTER SARA AI MAIMUAN;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA MAI MUAN;sara ai mai muan;;; 0E44;THAI CHARACTER SARA AI MAIMALAI;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA MAI MALAI;sara ai mai malai;;; 0E45;THAI CHARACTER LAKKHANGYAO;Lo;0;L;;;;;N;THAI LAK KHANG YAO;lakkhang yao;;; 0E46;THAI CHARACTER MAIYAMOK;Lm;0;L;;;;;N;THAI MAI YAMOK;mai yamok;;; 0E47;THAI CHARACTER MAITAIKHU;Mn;0;NSM;;;;;N;THAI VOWEL SIGN MAI TAI KHU;mai taikhu;;; 0E48;THAI CHARACTER MAI EK;Mn;107;NSM;;;;;N;THAI TONE MAI EK;;;; 0E49;THAI CHARACTER MAI THO;Mn;107;NSM;;;;;N;THAI TONE MAI THO;;;; 0E4A;THAI CHARACTER MAI TRI;Mn;107;NSM;;;;;N;THAI TONE MAI TRI;;;; 0E4B;THAI CHARACTER MAI CHATTAWA;Mn;107;NSM;;;;;N;THAI TONE MAI CHATTAWA;;;; 0E4C;THAI CHARACTER THANTHAKHAT;Mn;0;NSM;;;;;N;THAI THANTHAKHAT;;;; 0E4D;THAI CHARACTER NIKHAHIT;Mn;0;NSM;;;;;N;THAI NIKKHAHIT;nikkhahit;;; 0E4E;THAI CHARACTER YAMAKKAN;Mn;0;NSM;;;;;N;THAI YAMAKKAN;;;; 0E4F;THAI CHARACTER FONGMAN;Po;0;L;;;;;N;THAI FONGMAN;;;; 0E50;THAI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 0E51;THAI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0E52;THAI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0E53;THAI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 0E54;THAI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 0E55;THAI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 0E56;THAI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 0E57;THAI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 0E58;THAI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 0E59;THAI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0E5A;THAI CHARACTER ANGKHANKHU;Po;0;L;;;;;N;THAI ANGKHANKHU;;;; 0E5B;THAI CHARACTER KHOMUT;Po;0;L;;;;;N;THAI KHOMUT;;;; 0E81;LAO LETTER KO;Lo;0;L;;;;;N;;;;; 0E82;LAO LETTER KHO SUNG;Lo;0;L;;;;;N;;;;; 0E84;LAO LETTER KHO TAM;Lo;0;L;;;;;N;;;;; 0E87;LAO LETTER NGO;Lo;0;L;;;;;N;;;;; 0E88;LAO LETTER CO;Lo;0;L;;;;;N;;;;; 0E8A;LAO LETTER SO TAM;Lo;0;L;;;;;N;;;;; 0E8D;LAO LETTER NYO;Lo;0;L;;;;;N;;;;; 0E94;LAO LETTER DO;Lo;0;L;;;;;N;;;;; 0E95;LAO LETTER TO;Lo;0;L;;;;;N;;;;; 0E96;LAO LETTER THO SUNG;Lo;0;L;;;;;N;;;;; 0E97;LAO LETTER THO TAM;Lo;0;L;;;;;N;;;;; 0E99;LAO LETTER NO;Lo;0;L;;;;;N;;;;; 0E9A;LAO LETTER BO;Lo;0;L;;;;;N;;;;; 0E9B;LAO LETTER PO;Lo;0;L;;;;;N;;;;; 0E9C;LAO LETTER PHO SUNG;Lo;0;L;;;;;N;;;;; 0E9D;LAO LETTER FO TAM;Lo;0;L;;;;;N;;;;; 0E9E;LAO LETTER PHO TAM;Lo;0;L;;;;;N;;;;; 0E9F;LAO LETTER FO SUNG;Lo;0;L;;;;;N;;;;; 0EA1;LAO LETTER MO;Lo;0;L;;;;;N;;;;; 0EA2;LAO LETTER YO;Lo;0;L;;;;;N;;;;; 0EA3;LAO LETTER LO LING;Lo;0;L;;;;;N;;;;; 0EA5;LAO LETTER LO LOOT;Lo;0;L;;;;;N;;;;; 0EA7;LAO LETTER WO;Lo;0;L;;;;;N;;;;; 0EAA;LAO LETTER SO SUNG;Lo;0;L;;;;;N;;;;; 0EAB;LAO LETTER HO SUNG;Lo;0;L;;;;;N;;;;; 0EAD;LAO LETTER O;Lo;0;L;;;;;N;;;;; 0EAE;LAO LETTER HO TAM;Lo;0;L;;;;;N;;;;; 0EAF;LAO ELLIPSIS;Lo;0;L;;;;;N;;;;; 0EB0;LAO VOWEL SIGN A;Lo;0;L;;;;;N;;;;; 0EB1;LAO VOWEL SIGN MAI KAN;Mn;0;NSM;;;;;N;;;;; 0EB2;LAO VOWEL SIGN AA;Lo;0;L;;;;;N;;;;; 0EB3;LAO VOWEL SIGN AM;Lo;0;L; 0ECD 0EB2;;;;N;;;;; 0EB4;LAO VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; 0EB5;LAO VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;; 0EB6;LAO VOWEL SIGN Y;Mn;0;NSM;;;;;N;;;;; 0EB7;LAO VOWEL SIGN YY;Mn;0;NSM;;;;;N;;;;; 0EB8;LAO VOWEL SIGN U;Mn;118;NSM;;;;;N;;;;; 0EB9;LAO VOWEL SIGN UU;Mn;118;NSM;;;;;N;;;;; 0EBB;LAO VOWEL SIGN MAI KON;Mn;0;NSM;;;;;N;;;;; 0EBC;LAO SEMIVOWEL SIGN LO;Mn;0;NSM;;;;;N;;;;; 0EBD;LAO SEMIVOWEL SIGN NYO;Lo;0;L;;;;;N;;;;; 0EC0;LAO VOWEL SIGN E;Lo;0;L;;;;;N;;;;; 0EC1;LAO VOWEL SIGN EI;Lo;0;L;;;;;N;;;;; 0EC2;LAO VOWEL SIGN O;Lo;0;L;;;;;N;;;;; 0EC3;LAO VOWEL SIGN AY;Lo;0;L;;;;;N;;;;; 0EC4;LAO VOWEL SIGN AI;Lo;0;L;;;;;N;;;;; 0EC6;LAO KO LA;Lm;0;L;;;;;N;;;;; 0EC8;LAO TONE MAI EK;Mn;122;NSM;;;;;N;;;;; 0EC9;LAO TONE MAI THO;Mn;122;NSM;;;;;N;;;;; 0ECA;LAO TONE MAI TI;Mn;122;NSM;;;;;N;;;;; 0ECB;LAO TONE MAI CATAWA;Mn;122;NSM;;;;;N;;;;; 0ECC;LAO CANCELLATION MARK;Mn;0;NSM;;;;;N;;;;; 0ECD;LAO NIGGAHITA;Mn;0;NSM;;;;;N;;;;; 0ED0;LAO DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 0ED1;LAO DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0ED2;LAO DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0ED3;LAO DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 0ED4;LAO DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 0ED5;LAO DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 0ED6;LAO DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 0ED7;LAO DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 0ED8;LAO DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 0ED9;LAO DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0EDC;LAO HO NO;Lo;0;L; 0EAB 0E99;;;;N;;;;; 0EDD;LAO HO MO;Lo;0;L; 0EAB 0EA1;;;;N;;;;; 0F00;TIBETAN SYLLABLE OM;Lo;0;L;;;;;N;;;;; 0F01;TIBETAN MARK GTER YIG MGO TRUNCATED A;So;0;L;;;;;N;;ter yik go a thung;;; 0F02;TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA;So;0;L;;;;;N;;ter yik go wum nam chey ma;;; 0F03;TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA;So;0;L;;;;;N;;ter yik go wum ter tsek ma;;; 0F04;TIBETAN MARK INITIAL YIG MGO MDUN MA;Po;0;L;;;;;N;TIBETAN SINGLE ORNAMENT;yik go dun ma;;; 0F05;TIBETAN MARK CLOSING YIG MGO SGAB MA;Po;0;L;;;;;N;;yik go kab ma;;; 0F06;TIBETAN MARK CARET YIG MGO PHUR SHAD MA;Po;0;L;;;;;N;;yik go pur shey ma;;; 0F07;TIBETAN MARK YIG MGO TSHEG SHAD MA;Po;0;L;;;;;N;;yik go tsek shey ma;;; 0F08;TIBETAN MARK SBRUL SHAD;Po;0;L;;;;;N;TIBETAN RGYANSHAD;drul shey;;; 0F09;TIBETAN MARK BSKUR YIG MGO;Po;0;L;;;;;N;;kur yik go;;; 0F0A;TIBETAN MARK BKA- SHOG YIG MGO;Po;0;L;;;;;N;;ka sho yik go;;; 0F0B;TIBETAN MARK INTERSYLLABIC TSHEG;Po;0;L;;;;;N;TIBETAN TSEG;tsek;;; 0F0C;TIBETAN MARK DELIMITER TSHEG BSTAR;Po;0;L; 0F0B;;;;N;;tsek tar;;; 0F0D;TIBETAN MARK SHAD;Po;0;L;;;;;N;TIBETAN SHAD;shey;;; 0F0E;TIBETAN MARK NYIS SHAD;Po;0;L;;;;;N;TIBETAN DOUBLE SHAD;nyi shey;;; 0F0F;TIBETAN MARK TSHEG SHAD;Po;0;L;;;;;N;;tsek shey;;; 0F10;TIBETAN MARK NYIS TSHEG SHAD;Po;0;L;;;;;N;;nyi tsek shey;;; 0F11;TIBETAN MARK RIN CHEN SPUNGS SHAD;Po;0;L;;;;;N;TIBETAN RINCHANPHUNGSHAD;rinchen pung shey;;; 0F12;TIBETAN MARK RGYA GRAM SHAD;Po;0;L;;;;;N;;gya tram shey;;; 0F13;TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN;So;0;L;;;;;N;;dzu ta me long chen;;; 0F14;TIBETAN MARK GTER TSHEG;So;0;L;;;;;N;TIBETAN COMMA;ter tsek;;; 0F15;TIBETAN LOGOTYPE SIGN CHAD RTAGS;So;0;L;;;;;N;;che ta;;; 0F16;TIBETAN LOGOTYPE SIGN LHAG RTAGS;So;0;L;;;;;N;;hlak ta;;; 0F17;TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS;So;0;L;;;;;N;;trachen char ta;;; 0F18;TIBETAN ASTROLOGICAL SIGN -KHYUD PA;Mn;220;NSM;;;;;N;;kyu pa;;; 0F19;TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS;Mn;220;NSM;;;;;N;;dong tsu;;; 0F1A;TIBETAN SIGN RDEL DKAR GCIG;So;0;L;;;;;N;;deka chig;;; 0F1B;TIBETAN SIGN RDEL DKAR GNYIS;So;0;L;;;;;N;;deka nyi;;; 0F1C;TIBETAN SIGN RDEL DKAR GSUM;So;0;L;;;;;N;;deka sum;;; 0F1D;TIBETAN SIGN RDEL NAG GCIG;So;0;L;;;;;N;;dena chig;;; 0F1E;TIBETAN SIGN RDEL NAG GNYIS;So;0;L;;;;;N;;dena nyi;;; 0F1F;TIBETAN SIGN RDEL DKAR RDEL NAG;So;0;L;;;;;N;;deka dena;;; 0F20;TIBETAN DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 0F21;TIBETAN DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 0F22;TIBETAN DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 0F23;TIBETAN DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 0F24;TIBETAN DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 0F25;TIBETAN DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 0F26;TIBETAN DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 0F27;TIBETAN DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 0F28;TIBETAN DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 0F29;TIBETAN DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0F2A;TIBETAN DIGIT HALF ONE;No;0;L;;;;;N;;;;; 0F2B;TIBETAN DIGIT HALF TWO;No;0;L;;;;;N;;;;; 0F2C;TIBETAN DIGIT HALF THREE;No;0;L;;;;;N;;;;; 0F2D;TIBETAN DIGIT HALF FOUR;No;0;L;;;;;N;;;;; 0F2E;TIBETAN DIGIT HALF FIVE;No;0;L;;;;;N;;;;; 0F2F;TIBETAN DIGIT HALF SIX;No;0;L;;;;;N;;;;; 0F30;TIBETAN DIGIT HALF SEVEN;No;0;L;;;;;N;;;;; 0F31;TIBETAN DIGIT HALF EIGHT;No;0;L;;;;;N;;;;; 0F32;TIBETAN DIGIT HALF NINE;No;0;L;;;;;N;;;;; 0F33;TIBETAN DIGIT HALF ZERO;No;0;L;;;;;N;;;;; 0F34;TIBETAN MARK BSDUS RTAGS;So;0;L;;;;;N;;du ta;;; 0F35;TIBETAN MARK NGAS BZUNG NYI ZLA;Mn;220;NSM;;;;;N;TIBETAN HONORIFIC UNDER RING;nge zung nyi da;;; 0F36;TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN;So;0;L;;;;;N;;dzu ta shi mig chen;;; 0F37;TIBETAN MARK NGAS BZUNG SGOR RTAGS;Mn;220;NSM;;;;;N;TIBETAN UNDER RING;nge zung gor ta;;; 0F38;TIBETAN MARK CHE MGO;So;0;L;;;;;N;;che go;;; 0F39;TIBETAN MARK TSA -PHRU;Mn;216;NSM;;;;;N;TIBETAN LENITION MARK;tsa tru;;; 0F3A;TIBETAN MARK GUG RTAGS GYON;Ps;0;ON;;;;;N;;gug ta yun;;; 0F3B;TIBETAN MARK GUG RTAGS GYAS;Pe;0;ON;;;;;N;;gug ta ye;;; 0F3C;TIBETAN MARK ANG KHANG GYON;Ps;0;ON;;;;;N;TIBETAN LEFT BRACE;ang kang yun;;; 0F3D;TIBETAN MARK ANG KHANG GYAS;Pe;0;ON;;;;;N;TIBETAN RIGHT BRACE;ang kang ye;;; 0F3E;TIBETAN SIGN YAR TSHES;Mc;0;L;;;;;N;;yar tse;;; 0F3F;TIBETAN SIGN MAR TSHES;Mc;0;L;;;;;N;;mar tse;;; 0F40;TIBETAN LETTER KA;Lo;0;L;;;;;N;;;;; 0F41;TIBETAN LETTER KHA;Lo;0;L;;;;;N;;;;; 0F42;TIBETAN LETTER GA;Lo;0;L;;;;;N;;;;; 0F43;TIBETAN LETTER GHA;Lo;0;L;0F42 0FB7;;;;N;;;;; 0F44;TIBETAN LETTER NGA;Lo;0;L;;;;;N;;;;; 0F45;TIBETAN LETTER CA;Lo;0;L;;;;;N;;;;; 0F46;TIBETAN LETTER CHA;Lo;0;L;;;;;N;;;;; 0F47;TIBETAN LETTER JA;Lo;0;L;;;;;N;;;;; 0F49;TIBETAN LETTER NYA;Lo;0;L;;;;;N;;;;; 0F4A;TIBETAN LETTER TTA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED TA;;;; 0F4B;TIBETAN LETTER TTHA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED THA;;;; 0F4C;TIBETAN LETTER DDA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED DA;;;; 0F4D;TIBETAN LETTER DDHA;Lo;0;L;0F4C 0FB7;;;;N;;;;; 0F4E;TIBETAN LETTER NNA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED NA;;;; 0F4F;TIBETAN LETTER TA;Lo;0;L;;;;;N;;;;; 0F50;TIBETAN LETTER THA;Lo;0;L;;;;;N;;;;; 0F51;TIBETAN LETTER DA;Lo;0;L;;;;;N;;;;; 0F52;TIBETAN LETTER DHA;Lo;0;L;0F51 0FB7;;;;N;;;;; 0F53;TIBETAN LETTER NA;Lo;0;L;;;;;N;;;;; 0F54;TIBETAN LETTER PA;Lo;0;L;;;;;N;;;;; 0F55;TIBETAN LETTER PHA;Lo;0;L;;;;;N;;;;; 0F56;TIBETAN LETTER BA;Lo;0;L;;;;;N;;;;; 0F57;TIBETAN LETTER BHA;Lo;0;L;0F56 0FB7;;;;N;;;;; 0F58;TIBETAN LETTER MA;Lo;0;L;;;;;N;;;;; 0F59;TIBETAN LETTER TSA;Lo;0;L;;;;;N;;;;; 0F5A;TIBETAN LETTER TSHA;Lo;0;L;;;;;N;;;;; 0F5B;TIBETAN LETTER DZA;Lo;0;L;;;;;N;;;;; 0F5C;TIBETAN LETTER DZHA;Lo;0;L;0F5B 0FB7;;;;N;;;;; 0F5D;TIBETAN LETTER WA;Lo;0;L;;;;;N;;;;; 0F5E;TIBETAN LETTER ZHA;Lo;0;L;;;;;N;;;;; 0F5F;TIBETAN LETTER ZA;Lo;0;L;;;;;N;;;;; 0F60;TIBETAN LETTER -A;Lo;0;L;;;;;N;TIBETAN LETTER AA;;;; 0F61;TIBETAN LETTER YA;Lo;0;L;;;;;N;;;;; 0F62;TIBETAN LETTER RA;Lo;0;L;;;;;N;;*;;; 0F63;TIBETAN LETTER LA;Lo;0;L;;;;;N;;;;; 0F64;TIBETAN LETTER SHA;Lo;0;L;;;;;N;;;;; 0F65;TIBETAN LETTER SSA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED SHA;;;; 0F66;TIBETAN LETTER SA;Lo;0;L;;;;;N;;;;; 0F67;TIBETAN LETTER HA;Lo;0;L;;;;;N;;;;; 0F68;TIBETAN LETTER A;Lo;0;L;;;;;N;;;;; 0F69;TIBETAN LETTER KSSA;Lo;0;L;0F40 0FB5;;;;N;;;;; 0F6A;TIBETAN LETTER FIXED-FORM RA;Lo;0;L;;;;;N;;*;;; 0F71;TIBETAN VOWEL SIGN AA;Mn;129;NSM;;;;;N;;;;; 0F72;TIBETAN VOWEL SIGN I;Mn;130;NSM;;;;;N;;;;; 0F73;TIBETAN VOWEL SIGN II;Mn;0;NSM;0F71 0F72;;;;N;;;;; 0F74;TIBETAN VOWEL SIGN U;Mn;132;NSM;;;;;N;;;;; 0F75;TIBETAN VOWEL SIGN UU;Mn;0;NSM;0F71 0F74;;;;N;;;;; 0F76;TIBETAN VOWEL SIGN VOCALIC R;Mn;0;NSM;0FB2 0F80;;;;N;;;;; 0F77;TIBETAN VOWEL SIGN VOCALIC RR;Mn;0;NSM; 0FB2 0F81;;;;N;;;;; 0F78;TIBETAN VOWEL SIGN VOCALIC L;Mn;0;NSM;0FB3 0F80;;;;N;;;;; 0F79;TIBETAN VOWEL SIGN VOCALIC LL;Mn;0;NSM; 0FB3 0F81;;;;N;;;;; 0F7A;TIBETAN VOWEL SIGN E;Mn;130;NSM;;;;;N;;;;; 0F7B;TIBETAN VOWEL SIGN EE;Mn;130;NSM;;;;;N;TIBETAN VOWEL SIGN AI;;;; 0F7C;TIBETAN VOWEL SIGN O;Mn;130;NSM;;;;;N;;;;; 0F7D;TIBETAN VOWEL SIGN OO;Mn;130;NSM;;;;;N;TIBETAN VOWEL SIGN AU;;;; 0F7E;TIBETAN SIGN RJES SU NGA RO;Mn;0;NSM;;;;;N;TIBETAN ANUSVARA;je su nga ro;;; 0F7F;TIBETAN SIGN RNAM BCAD;Mc;0;L;;;;;N;TIBETAN VISARGA;nam chey;;; 0F80;TIBETAN VOWEL SIGN REVERSED I;Mn;130;NSM;;;;;N;TIBETAN VOWEL SIGN SHORT I;;;; 0F81;TIBETAN VOWEL SIGN REVERSED II;Mn;0;NSM;0F71 0F80;;;;N;;;;; 0F82;TIBETAN SIGN NYI ZLA NAA DA;Mn;230;NSM;;;;;N;TIBETAN CANDRABINDU WITH ORNAMENT;nyi da na da;;; 0F83;TIBETAN SIGN SNA LDAN;Mn;230;NSM;;;;;N;TIBETAN CANDRABINDU;nan de;;; 0F84;TIBETAN MARK HALANTA;Mn;9;NSM;;;;;N;TIBETAN VIRAMA;;;; 0F85;TIBETAN MARK PALUTA;Po;0;L;;;;;N;TIBETAN CHUCHENYIGE;;;; 0F86;TIBETAN SIGN LCI RTAGS;Mn;230;NSM;;;;;N;;ji ta;;; 0F87;TIBETAN SIGN YANG RTAGS;Mn;230;NSM;;;;;N;;yang ta;;; 0F88;TIBETAN SIGN LCE TSA CAN;Lo;0;L;;;;;N;;che tsa chen;;; 0F89;TIBETAN SIGN MCHU CAN;Lo;0;L;;;;;N;;chu chen;;; 0F8A;TIBETAN SIGN GRU CAN RGYINGS;Lo;0;L;;;;;N;;tru chen ging;;; 0F8B;TIBETAN SIGN GRU MED RGYINGS;Lo;0;L;;;;;N;;tru me ging;;; 0F90;TIBETAN SUBJOINED LETTER KA;Mn;0;NSM;;;;;N;;;;; 0F91;TIBETAN SUBJOINED LETTER KHA;Mn;0;NSM;;;;;N;;;;; 0F92;TIBETAN SUBJOINED LETTER GA;Mn;0;NSM;;;;;N;;;;; 0F93;TIBETAN SUBJOINED LETTER GHA;Mn;0;NSM;0F92 0FB7;;;;N;;;;; 0F94;TIBETAN SUBJOINED LETTER NGA;Mn;0;NSM;;;;;N;;;;; 0F95;TIBETAN SUBJOINED LETTER CA;Mn;0;NSM;;;;;N;;;;; 0F96;TIBETAN SUBJOINED LETTER CHA;Mn;0;NSM;;;;;N;;;;; 0F97;TIBETAN SUBJOINED LETTER JA;Mn;0;NSM;;;;;N;;;;; 0F99;TIBETAN SUBJOINED LETTER NYA;Mn;0;NSM;;;;;N;;;;; 0F9A;TIBETAN SUBJOINED LETTER TTA;Mn;0;NSM;;;;;N;;;;; 0F9B;TIBETAN SUBJOINED LETTER TTHA;Mn;0;NSM;;;;;N;;;;; 0F9C;TIBETAN SUBJOINED LETTER DDA;Mn;0;NSM;;;;;N;;;;; 0F9D;TIBETAN SUBJOINED LETTER DDHA;Mn;0;NSM;0F9C 0FB7;;;;N;;;;; 0F9E;TIBETAN SUBJOINED LETTER NNA;Mn;0;NSM;;;;;N;;;;; 0F9F;TIBETAN SUBJOINED LETTER TA;Mn;0;NSM;;;;;N;;;;; 0FA0;TIBETAN SUBJOINED LETTER THA;Mn;0;NSM;;;;;N;;;;; 0FA1;TIBETAN SUBJOINED LETTER DA;Mn;0;NSM;;;;;N;;;;; 0FA2;TIBETAN SUBJOINED LETTER DHA;Mn;0;NSM;0FA1 0FB7;;;;N;;;;; 0FA3;TIBETAN SUBJOINED LETTER NA;Mn;0;NSM;;;;;N;;;;; 0FA4;TIBETAN SUBJOINED LETTER PA;Mn;0;NSM;;;;;N;;;;; 0FA5;TIBETAN SUBJOINED LETTER PHA;Mn;0;NSM;;;;;N;;;;; 0FA6;TIBETAN SUBJOINED LETTER BA;Mn;0;NSM;;;;;N;;;;; 0FA7;TIBETAN SUBJOINED LETTER BHA;Mn;0;NSM;0FA6 0FB7;;;;N;;;;; 0FA8;TIBETAN SUBJOINED LETTER MA;Mn;0;NSM;;;;;N;;;;; 0FA9;TIBETAN SUBJOINED LETTER TSA;Mn;0;NSM;;;;;N;;;;; 0FAA;TIBETAN SUBJOINED LETTER TSHA;Mn;0;NSM;;;;;N;;;;; 0FAB;TIBETAN SUBJOINED LETTER DZA;Mn;0;NSM;;;;;N;;;;; 0FAC;TIBETAN SUBJOINED LETTER DZHA;Mn;0;NSM;0FAB 0FB7;;;;N;;;;; 0FAD;TIBETAN SUBJOINED LETTER WA;Mn;0;NSM;;;;;N;;*;;; 0FAE;TIBETAN SUBJOINED LETTER ZHA;Mn;0;NSM;;;;;N;;;;; 0FAF;TIBETAN SUBJOINED LETTER ZA;Mn;0;NSM;;;;;N;;;;; 0FB0;TIBETAN SUBJOINED LETTER -A;Mn;0;NSM;;;;;N;;;;; 0FB1;TIBETAN SUBJOINED LETTER YA;Mn;0;NSM;;;;;N;;*;;; 0FB2;TIBETAN SUBJOINED LETTER RA;Mn;0;NSM;;;;;N;;*;;; 0FB3;TIBETAN SUBJOINED LETTER LA;Mn;0;NSM;;;;;N;;;;; 0FB4;TIBETAN SUBJOINED LETTER SHA;Mn;0;NSM;;;;;N;;;;; 0FB5;TIBETAN SUBJOINED LETTER SSA;Mn;0;NSM;;;;;N;;;;; 0FB6;TIBETAN SUBJOINED LETTER SA;Mn;0;NSM;;;;;N;;;;; 0FB7;TIBETAN SUBJOINED LETTER HA;Mn;0;NSM;;;;;N;;;;; 0FB8;TIBETAN SUBJOINED LETTER A;Mn;0;NSM;;;;;N;;;;; 0FB9;TIBETAN SUBJOINED LETTER KSSA;Mn;0;NSM;0F90 0FB5;;;;N;;;;; 0FBA;TIBETAN SUBJOINED LETTER FIXED-FORM WA;Mn;0;NSM;;;;;N;;*;;; 0FBB;TIBETAN SUBJOINED LETTER FIXED-FORM YA;Mn;0;NSM;;;;;N;;*;;; 0FBC;TIBETAN SUBJOINED LETTER FIXED-FORM RA;Mn;0;NSM;;;;;N;;*;;; 0FBE;TIBETAN KU RU KHA;So;0;L;;;;;N;;kuruka;;; 0FBF;TIBETAN KU RU KHA BZHI MIG CAN;So;0;L;;;;;N;;kuruka shi mik chen;;; 0FC0;TIBETAN CANTILLATION SIGN HEAVY BEAT;So;0;L;;;;;N;;;;; 0FC1;TIBETAN CANTILLATION SIGN LIGHT BEAT;So;0;L;;;;;N;;;;; 0FC2;TIBETAN CANTILLATION SIGN CANG TE-U;So;0;L;;;;;N;;chang tyu;;; 0FC3;TIBETAN CANTILLATION SIGN SBUB -CHAL;So;0;L;;;;;N;;bub chey;;; 0FC4;TIBETAN SYMBOL DRIL BU;So;0;L;;;;;N;;drilbu;;; 0FC5;TIBETAN SYMBOL RDO RJE;So;0;L;;;;;N;;dorje;;; 0FC6;TIBETAN SYMBOL PADMA GDAN;Mn;220;NSM;;;;;N;;pema den;;; 0FC7;TIBETAN SYMBOL RDO RJE RGYA GRAM;So;0;L;;;;;N;;dorje gya dram;;; 0FC8;TIBETAN SYMBOL PHUR PA;So;0;L;;;;;N;;phurba;;; 0FC9;TIBETAN SYMBOL NOR BU;So;0;L;;;;;N;;norbu;;; 0FCA;TIBETAN SYMBOL NOR BU NYIS -KHYIL;So;0;L;;;;;N;;norbu nyi khyi;;; 0FCB;TIBETAN SYMBOL NOR BU GSUM -KHYIL;So;0;L;;;;;N;;norbu sum khyi;;; 0FCC;TIBETAN SYMBOL NOR BU BZHI -KHYIL;So;0;L;;;;;N;;norbu shi khyi;;; 0FCF;TIBETAN SIGN RDEL NAG GSUM;So;0;L;;;;;N;;;;; 1000;MYANMAR LETTER KA;Lo;0;L;;;;;N;;;;; 1001;MYANMAR LETTER KHA;Lo;0;L;;;;;N;;;;; 1002;MYANMAR LETTER GA;Lo;0;L;;;;;N;;;;; 1003;MYANMAR LETTER GHA;Lo;0;L;;;;;N;;;;; 1004;MYANMAR LETTER NGA;Lo;0;L;;;;;N;;;;; 1005;MYANMAR LETTER CA;Lo;0;L;;;;;N;;;;; 1006;MYANMAR LETTER CHA;Lo;0;L;;;;;N;;;;; 1007;MYANMAR LETTER JA;Lo;0;L;;;;;N;;;;; 1008;MYANMAR LETTER JHA;Lo;0;L;;;;;N;;;;; 1009;MYANMAR LETTER NYA;Lo;0;L;;;;;N;;;;; 100A;MYANMAR LETTER NNYA;Lo;0;L;;;;;N;;;;; 100B;MYANMAR LETTER TTA;Lo;0;L;;;;;N;;;;; 100C;MYANMAR LETTER TTHA;Lo;0;L;;;;;N;;;;; 100D;MYANMAR LETTER DDA;Lo;0;L;;;;;N;;;;; 100E;MYANMAR LETTER DDHA;Lo;0;L;;;;;N;;;;; 100F;MYANMAR LETTER NNA;Lo;0;L;;;;;N;;;;; 1010;MYANMAR LETTER TA;Lo;0;L;;;;;N;;;;; 1011;MYANMAR LETTER THA;Lo;0;L;;;;;N;;;;; 1012;MYANMAR LETTER DA;Lo;0;L;;;;;N;;;;; 1013;MYANMAR LETTER DHA;Lo;0;L;;;;;N;;;;; 1014;MYANMAR LETTER NA;Lo;0;L;;;;;N;;;;; 1015;MYANMAR LETTER PA;Lo;0;L;;;;;N;;;;; 1016;MYANMAR LETTER PHA;Lo;0;L;;;;;N;;;;; 1017;MYANMAR LETTER BA;Lo;0;L;;;;;N;;;;; 1018;MYANMAR LETTER BHA;Lo;0;L;;;;;N;;;;; 1019;MYANMAR LETTER MA;Lo;0;L;;;;;N;;;;; 101A;MYANMAR LETTER YA;Lo;0;L;;;;;N;;;;; 101B;MYANMAR LETTER RA;Lo;0;L;;;;;N;;;;; 101C;MYANMAR LETTER LA;Lo;0;L;;;;;N;;;;; 101D;MYANMAR LETTER WA;Lo;0;L;;;;;N;;;;; 101E;MYANMAR LETTER SA;Lo;0;L;;;;;N;;;;; 101F;MYANMAR LETTER HA;Lo;0;L;;;;;N;;;;; 1020;MYANMAR LETTER LLA;Lo;0;L;;;;;N;;;;; 1021;MYANMAR LETTER A;Lo;0;L;;;;;N;;;;; 1023;MYANMAR LETTER I;Lo;0;L;;;;;N;;;;; 1024;MYANMAR LETTER II;Lo;0;L;;;;;N;;;;; 1025;MYANMAR LETTER U;Lo;0;L;;;;;N;;;;; 1026;MYANMAR LETTER UU;Lo;0;L;1025 102E;;;;N;;;;; 1027;MYANMAR LETTER E;Lo;0;L;;;;;N;;;;; 1029;MYANMAR LETTER O;Lo;0;L;;;;;N;;;;; 102A;MYANMAR LETTER AU;Lo;0;L;;;;;N;;;;; 102C;MYANMAR VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; 102D;MYANMAR VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; 102E;MYANMAR VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;; 102F;MYANMAR VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; 1030;MYANMAR VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; 1031;MYANMAR VOWEL SIGN E;Mc;0;L;;;;;N;;;;; 1032;MYANMAR VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; 1036;MYANMAR SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; 1037;MYANMAR SIGN DOT BELOW;Mn;7;NSM;;;;;N;;;;; 1038;MYANMAR SIGN VISARGA;Mc;0;L;;;;;N;;;;; 1039;MYANMAR SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; 1040;MYANMAR DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 1041;MYANMAR DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 1042;MYANMAR DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 1043;MYANMAR DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 1044;MYANMAR DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 1045;MYANMAR DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 1046;MYANMAR DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 1047;MYANMAR DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 1048;MYANMAR DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 1049;MYANMAR DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 104A;MYANMAR SIGN LITTLE SECTION;Po;0;L;;;;;N;;;;; 104B;MYANMAR SIGN SECTION;Po;0;L;;;;;N;;;;; 104C;MYANMAR SYMBOL LOCATIVE;Po;0;L;;;;;N;;;;; 104D;MYANMAR SYMBOL COMPLETED;Po;0;L;;;;;N;;;;; 104E;MYANMAR SYMBOL AFOREMENTIONED;Po;0;L;;;;;N;;;;; 104F;MYANMAR SYMBOL GENITIVE;Po;0;L;;;;;N;;;;; 1050;MYANMAR LETTER SHA;Lo;0;L;;;;;N;;;;; 1051;MYANMAR LETTER SSA;Lo;0;L;;;;;N;;;;; 1052;MYANMAR LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; 1053;MYANMAR LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; 1054;MYANMAR LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; 1055;MYANMAR LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; 1056;MYANMAR VOWEL SIGN VOCALIC R;Mc;0;L;;;;;N;;;;; 1057;MYANMAR VOWEL SIGN VOCALIC RR;Mc;0;L;;;;;N;;;;; 1058;MYANMAR VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; 1059;MYANMAR VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;; 10A0;GEORGIAN CAPITAL LETTER AN;Lu;0;L;;;;;N;;Khutsuri;;; 10A1;GEORGIAN CAPITAL LETTER BAN;Lu;0;L;;;;;N;;Khutsuri;;; 10A2;GEORGIAN CAPITAL LETTER GAN;Lu;0;L;;;;;N;;Khutsuri;;; 10A3;GEORGIAN CAPITAL LETTER DON;Lu;0;L;;;;;N;;Khutsuri;;; 10A4;GEORGIAN CAPITAL LETTER EN;Lu;0;L;;;;;N;;Khutsuri;;; 10A5;GEORGIAN CAPITAL LETTER VIN;Lu;0;L;;;;;N;;Khutsuri;;; 10A6;GEORGIAN CAPITAL LETTER ZEN;Lu;0;L;;;;;N;;Khutsuri;;; 10A7;GEORGIAN CAPITAL LETTER TAN;Lu;0;L;;;;;N;;Khutsuri;;; 10A8;GEORGIAN CAPITAL LETTER IN;Lu;0;L;;;;;N;;Khutsuri;;; 10A9;GEORGIAN CAPITAL LETTER KAN;Lu;0;L;;;;;N;;Khutsuri;;; 10AA;GEORGIAN CAPITAL LETTER LAS;Lu;0;L;;;;;N;;Khutsuri;;; 10AB;GEORGIAN CAPITAL LETTER MAN;Lu;0;L;;;;;N;;Khutsuri;;; 10AC;GEORGIAN CAPITAL LETTER NAR;Lu;0;L;;;;;N;;Khutsuri;;; 10AD;GEORGIAN CAPITAL LETTER ON;Lu;0;L;;;;;N;;Khutsuri;;; 10AE;GEORGIAN CAPITAL LETTER PAR;Lu;0;L;;;;;N;;Khutsuri;;; 10AF;GEORGIAN CAPITAL LETTER ZHAR;Lu;0;L;;;;;N;;Khutsuri;;; 10B0;GEORGIAN CAPITAL LETTER RAE;Lu;0;L;;;;;N;;Khutsuri;;; 10B1;GEORGIAN CAPITAL LETTER SAN;Lu;0;L;;;;;N;;Khutsuri;;; 10B2;GEORGIAN CAPITAL LETTER TAR;Lu;0;L;;;;;N;;Khutsuri;;; 10B3;GEORGIAN CAPITAL LETTER UN;Lu;0;L;;;;;N;;Khutsuri;;; 10B4;GEORGIAN CAPITAL LETTER PHAR;Lu;0;L;;;;;N;;Khutsuri;;; 10B5;GEORGIAN CAPITAL LETTER KHAR;Lu;0;L;;;;;N;;Khutsuri;;; 10B6;GEORGIAN CAPITAL LETTER GHAN;Lu;0;L;;;;;N;;Khutsuri;;; 10B7;GEORGIAN CAPITAL LETTER QAR;Lu;0;L;;;;;N;;Khutsuri;;; 10B8;GEORGIAN CAPITAL LETTER SHIN;Lu;0;L;;;;;N;;Khutsuri;;; 10B9;GEORGIAN CAPITAL LETTER CHIN;Lu;0;L;;;;;N;;Khutsuri;;; 10BA;GEORGIAN CAPITAL LETTER CAN;Lu;0;L;;;;;N;;Khutsuri;;; 10BB;GEORGIAN CAPITAL LETTER JIL;Lu;0;L;;;;;N;;Khutsuri;;; 10BC;GEORGIAN CAPITAL LETTER CIL;Lu;0;L;;;;;N;;Khutsuri;;; 10BD;GEORGIAN CAPITAL LETTER CHAR;Lu;0;L;;;;;N;;Khutsuri;;; 10BE;GEORGIAN CAPITAL LETTER XAN;Lu;0;L;;;;;N;;Khutsuri;;; 10BF;GEORGIAN CAPITAL LETTER JHAN;Lu;0;L;;;;;N;;Khutsuri;;; 10C0;GEORGIAN CAPITAL LETTER HAE;Lu;0;L;;;;;N;;Khutsuri;;; 10C1;GEORGIAN CAPITAL LETTER HE;Lu;0;L;;;;;N;;Khutsuri;;; 10C2;GEORGIAN CAPITAL LETTER HIE;Lu;0;L;;;;;N;;Khutsuri;;; 10C3;GEORGIAN CAPITAL LETTER WE;Lu;0;L;;;;;N;;Khutsuri;;; 10C4;GEORGIAN CAPITAL LETTER HAR;Lu;0;L;;;;;N;;Khutsuri;;; 10C5;GEORGIAN CAPITAL LETTER HOE;Lu;0;L;;;;;N;;Khutsuri;;; 10D0;GEORGIAN LETTER AN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER AN;;;; 10D1;GEORGIAN LETTER BAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER BAN;;;; 10D2;GEORGIAN LETTER GAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER GAN;;;; 10D3;GEORGIAN LETTER DON;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER DON;;;; 10D4;GEORGIAN LETTER EN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER EN;;;; 10D5;GEORGIAN LETTER VIN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER VIN;;;; 10D6;GEORGIAN LETTER ZEN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER ZEN;;;; 10D7;GEORGIAN LETTER TAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER TAN;;;; 10D8;GEORGIAN LETTER IN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER IN;;;; 10D9;GEORGIAN LETTER KAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER KAN;;;; 10DA;GEORGIAN LETTER LAS;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER LAS;;;; 10DB;GEORGIAN LETTER MAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER MAN;;;; 10DC;GEORGIAN LETTER NAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER NAR;;;; 10DD;GEORGIAN LETTER ON;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER ON;;;; 10DE;GEORGIAN LETTER PAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER PAR;;;; 10DF;GEORGIAN LETTER ZHAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER ZHAR;;;; 10E0;GEORGIAN LETTER RAE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER RAE;;;; 10E1;GEORGIAN LETTER SAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER SAN;;;; 10E2;GEORGIAN LETTER TAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER TAR;;;; 10E3;GEORGIAN LETTER UN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER UN;;;; 10E4;GEORGIAN LETTER PHAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER PHAR;;;; 10E5;GEORGIAN LETTER KHAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER KHAR;;;; 10E6;GEORGIAN LETTER GHAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER GHAN;;;; 10E7;GEORGIAN LETTER QAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER QAR;;;; 10E8;GEORGIAN LETTER SHIN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER SHIN;;;; 10E9;GEORGIAN LETTER CHIN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER CHIN;;;; 10EA;GEORGIAN LETTER CAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER CAN;;;; 10EB;GEORGIAN LETTER JIL;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER JIL;;;; 10EC;GEORGIAN LETTER CIL;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER CIL;;;; 10ED;GEORGIAN LETTER CHAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER CHAR;;;; 10EE;GEORGIAN LETTER XAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER XAN;;;; 10EF;GEORGIAN LETTER JHAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER JHAN;;;; 10F0;GEORGIAN LETTER HAE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER HAE;;;; 10F1;GEORGIAN LETTER HE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER HE;;;; 10F2;GEORGIAN LETTER HIE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER HIE;;;; 10F3;GEORGIAN LETTER WE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER WE;;;; 10F4;GEORGIAN LETTER HAR;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER HAR;;;; 10F5;GEORGIAN LETTER HOE;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER HOE;;;; 10F6;GEORGIAN LETTER FI;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER FI;;;; 10FB;GEORGIAN PARAGRAPH SEPARATOR;Po;0;L;;;;;N;;;;; 1100;HANGUL CHOSEONG KIYEOK;Lo;0;L;;;;;N;;g *;;; 1101;HANGUL CHOSEONG SSANGKIYEOK;Lo;0;L;;;;;N;;gg *;;; 1102;HANGUL CHOSEONG NIEUN;Lo;0;L;;;;;N;;n *;;; 1103;HANGUL CHOSEONG TIKEUT;Lo;0;L;;;;;N;;d *;;; 1104;HANGUL CHOSEONG SSANGTIKEUT;Lo;0;L;;;;;N;;dd *;;; 1105;HANGUL CHOSEONG RIEUL;Lo;0;L;;;;;N;;r *;;; 1106;HANGUL CHOSEONG MIEUM;Lo;0;L;;;;;N;;m *;;; 1107;HANGUL CHOSEONG PIEUP;Lo;0;L;;;;;N;;b *;;; 1108;HANGUL CHOSEONG SSANGPIEUP;Lo;0;L;;;;;N;;bb *;;; 1109;HANGUL CHOSEONG SIOS;Lo;0;L;;;;;N;;s *;;; 110A;HANGUL CHOSEONG SSANGSIOS;Lo;0;L;;;;;N;;ss *;;; 110B;HANGUL CHOSEONG IEUNG;Lo;0;L;;;;;N;;;;; 110C;HANGUL CHOSEONG CIEUC;Lo;0;L;;;;;N;;j *;;; 110D;HANGUL CHOSEONG SSANGCIEUC;Lo;0;L;;;;;N;;jj *;;; 110E;HANGUL CHOSEONG CHIEUCH;Lo;0;L;;;;;N;;c *;;; 110F;HANGUL CHOSEONG KHIEUKH;Lo;0;L;;;;;N;;k *;;; 1110;HANGUL CHOSEONG THIEUTH;Lo;0;L;;;;;N;;t *;;; 1111;HANGUL CHOSEONG PHIEUPH;Lo;0;L;;;;;N;;p *;;; 1112;HANGUL CHOSEONG HIEUH;Lo;0;L;;;;;N;;h *;;; 1113;HANGUL CHOSEONG NIEUN-KIYEOK;Lo;0;L;;;;;N;;;;; 1114;HANGUL CHOSEONG SSANGNIEUN;Lo;0;L;;;;;N;;;;; 1115;HANGUL CHOSEONG NIEUN-TIKEUT;Lo;0;L;;;;;N;;;;; 1116;HANGUL CHOSEONG NIEUN-PIEUP;Lo;0;L;;;;;N;;;;; 1117;HANGUL CHOSEONG TIKEUT-KIYEOK;Lo;0;L;;;;;N;;;;; 1118;HANGUL CHOSEONG RIEUL-NIEUN;Lo;0;L;;;;;N;;;;; 1119;HANGUL CHOSEONG SSANGRIEUL;Lo;0;L;;;;;N;;;;; 111A;HANGUL CHOSEONG RIEUL-HIEUH;Lo;0;L;;;;;N;;;;; 111B;HANGUL CHOSEONG KAPYEOUNRIEUL;Lo;0;L;;;;;N;;;;; 111C;HANGUL CHOSEONG MIEUM-PIEUP;Lo;0;L;;;;;N;;;;; 111D;HANGUL CHOSEONG KAPYEOUNMIEUM;Lo;0;L;;;;;N;;;;; 111E;HANGUL CHOSEONG PIEUP-KIYEOK;Lo;0;L;;;;;N;;;;; 111F;HANGUL CHOSEONG PIEUP-NIEUN;Lo;0;L;;;;;N;;;;; 1120;HANGUL CHOSEONG PIEUP-TIKEUT;Lo;0;L;;;;;N;;;;; 1121;HANGUL CHOSEONG PIEUP-SIOS;Lo;0;L;;;;;N;;;;; 1122;HANGUL CHOSEONG PIEUP-SIOS-KIYEOK;Lo;0;L;;;;;N;;;;; 1123;HANGUL CHOSEONG PIEUP-SIOS-TIKEUT;Lo;0;L;;;;;N;;;;; 1124;HANGUL CHOSEONG PIEUP-SIOS-PIEUP;Lo;0;L;;;;;N;;;;; 1125;HANGUL CHOSEONG PIEUP-SSANGSIOS;Lo;0;L;;;;;N;;;;; 1126;HANGUL CHOSEONG PIEUP-SIOS-CIEUC;Lo;0;L;;;;;N;;;;; 1127;HANGUL CHOSEONG PIEUP-CIEUC;Lo;0;L;;;;;N;;;;; 1128;HANGUL CHOSEONG PIEUP-CHIEUCH;Lo;0;L;;;;;N;;;;; 1129;HANGUL CHOSEONG PIEUP-THIEUTH;Lo;0;L;;;;;N;;;;; 112A;HANGUL CHOSEONG PIEUP-PHIEUPH;Lo;0;L;;;;;N;;;;; 112B;HANGUL CHOSEONG KAPYEOUNPIEUP;Lo;0;L;;;;;N;;;;; 112C;HANGUL CHOSEONG KAPYEOUNSSANGPIEUP;Lo;0;L;;;;;N;;;;; 112D;HANGUL CHOSEONG SIOS-KIYEOK;Lo;0;L;;;;;N;;;;; 112E;HANGUL CHOSEONG SIOS-NIEUN;Lo;0;L;;;;;N;;;;; 112F;HANGUL CHOSEONG SIOS-TIKEUT;Lo;0;L;;;;;N;;;;; 1130;HANGUL CHOSEONG SIOS-RIEUL;Lo;0;L;;;;;N;;;;; 1131;HANGUL CHOSEONG SIOS-MIEUM;Lo;0;L;;;;;N;;;;; 1132;HANGUL CHOSEONG SIOS-PIEUP;Lo;0;L;;;;;N;;;;; 1133;HANGUL CHOSEONG SIOS-PIEUP-KIYEOK;Lo;0;L;;;;;N;;;;; 1134;HANGUL CHOSEONG SIOS-SSANGSIOS;Lo;0;L;;;;;N;;;;; 1135;HANGUL CHOSEONG SIOS-IEUNG;Lo;0;L;;;;;N;;;;; 1136;HANGUL CHOSEONG SIOS-CIEUC;Lo;0;L;;;;;N;;;;; 1137;HANGUL CHOSEONG SIOS-CHIEUCH;Lo;0;L;;;;;N;;;;; 1138;HANGUL CHOSEONG SIOS-KHIEUKH;Lo;0;L;;;;;N;;;;; 1139;HANGUL CHOSEONG SIOS-THIEUTH;Lo;0;L;;;;;N;;;;; 113A;HANGUL CHOSEONG SIOS-PHIEUPH;Lo;0;L;;;;;N;;;;; 113B;HANGUL CHOSEONG SIOS-HIEUH;Lo;0;L;;;;;N;;;;; 113C;HANGUL CHOSEONG CHITUEUMSIOS;Lo;0;L;;;;;N;;;;; 113D;HANGUL CHOSEONG CHITUEUMSSANGSIOS;Lo;0;L;;;;;N;;;;; 113E;HANGUL CHOSEONG CEONGCHIEUMSIOS;Lo;0;L;;;;;N;;;;; 113F;HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS;Lo;0;L;;;;;N;;;;; 1140;HANGUL CHOSEONG PANSIOS;Lo;0;L;;;;;N;;;;; 1141;HANGUL CHOSEONG IEUNG-KIYEOK;Lo;0;L;;;;;N;;;;; 1142;HANGUL CHOSEONG IEUNG-TIKEUT;Lo;0;L;;;;;N;;;;; 1143;HANGUL CHOSEONG IEUNG-MIEUM;Lo;0;L;;;;;N;;;;; 1144;HANGUL CHOSEONG IEUNG-PIEUP;Lo;0;L;;;;;N;;;;; 1145;HANGUL CHOSEONG IEUNG-SIOS;Lo;0;L;;;;;N;;;;; 1146;HANGUL CHOSEONG IEUNG-PANSIOS;Lo;0;L;;;;;N;;;;; 1147;HANGUL CHOSEONG SSANGIEUNG;Lo;0;L;;;;;N;;;;; 1148;HANGUL CHOSEONG IEUNG-CIEUC;Lo;0;L;;;;;N;;;;; 1149;HANGUL CHOSEONG IEUNG-CHIEUCH;Lo;0;L;;;;;N;;;;; 114A;HANGUL CHOSEONG IEUNG-THIEUTH;Lo;0;L;;;;;N;;;;; 114B;HANGUL CHOSEONG IEUNG-PHIEUPH;Lo;0;L;;;;;N;;;;; 114C;HANGUL CHOSEONG YESIEUNG;Lo;0;L;;;;;N;;;;; 114D;HANGUL CHOSEONG CIEUC-IEUNG;Lo;0;L;;;;;N;;;;; 114E;HANGUL CHOSEONG CHITUEUMCIEUC;Lo;0;L;;;;;N;;;;; 114F;HANGUL CHOSEONG CHITUEUMSSANGCIEUC;Lo;0;L;;;;;N;;;;; 1150;HANGUL CHOSEONG CEONGCHIEUMCIEUC;Lo;0;L;;;;;N;;;;; 1151;HANGUL CHOSEONG CEONGCHIEUMSSANGCIEUC;Lo;0;L;;;;;N;;;;; 1152;HANGUL CHOSEONG CHIEUCH-KHIEUKH;Lo;0;L;;;;;N;;;;; 1153;HANGUL CHOSEONG CHIEUCH-HIEUH;Lo;0;L;;;;;N;;;;; 1154;HANGUL CHOSEONG CHITUEUMCHIEUCH;Lo;0;L;;;;;N;;;;; 1155;HANGUL CHOSEONG CEONGCHIEUMCHIEUCH;Lo;0;L;;;;;N;;;;; 1156;HANGUL CHOSEONG PHIEUPH-PIEUP;Lo;0;L;;;;;N;;;;; 1157;HANGUL CHOSEONG KAPYEOUNPHIEUPH;Lo;0;L;;;;;N;;;;; 1158;HANGUL CHOSEONG SSANGHIEUH;Lo;0;L;;;;;N;;;;; 1159;HANGUL CHOSEONG YEORINHIEUH;Lo;0;L;;;;;N;;;;; 115F;HANGUL CHOSEONG FILLER;Lo;0;L;;;;;N;;;;; 1160;HANGUL JUNGSEONG FILLER;Lo;0;L;;;;;N;;;;; 1161;HANGUL JUNGSEONG A;Lo;0;L;;;;;N;;;;; 1162;HANGUL JUNGSEONG AE;Lo;0;L;;;;;N;;;;; 1163;HANGUL JUNGSEONG YA;Lo;0;L;;;;;N;;;;; 1164;HANGUL JUNGSEONG YAE;Lo;0;L;;;;;N;;;;; 1165;HANGUL JUNGSEONG EO;Lo;0;L;;;;;N;;;;; 1166;HANGUL JUNGSEONG E;Lo;0;L;;;;;N;;;;; 1167;HANGUL JUNGSEONG YEO;Lo;0;L;;;;;N;;;;; 1168;HANGUL JUNGSEONG YE;Lo;0;L;;;;;N;;;;; 1169;HANGUL JUNGSEONG O;Lo;0;L;;;;;N;;;;; 116A;HANGUL JUNGSEONG WA;Lo;0;L;;;;;N;;;;; 116B;HANGUL JUNGSEONG WAE;Lo;0;L;;;;;N;;;;; 116C;HANGUL JUNGSEONG OE;Lo;0;L;;;;;N;;;;; 116D;HANGUL JUNGSEONG YO;Lo;0;L;;;;;N;;;;; 116E;HANGUL JUNGSEONG U;Lo;0;L;;;;;N;;;;; 116F;HANGUL JUNGSEONG WEO;Lo;0;L;;;;;N;;;;; 1170;HANGUL JUNGSEONG WE;Lo;0;L;;;;;N;;;;; 1171;HANGUL JUNGSEONG WI;Lo;0;L;;;;;N;;;;; 1172;HANGUL JUNGSEONG YU;Lo;0;L;;;;;N;;;;; 1173;HANGUL JUNGSEONG EU;Lo;0;L;;;;;N;;;;; 1174;HANGUL JUNGSEONG YI;Lo;0;L;;;;;N;;;;; 1175;HANGUL JUNGSEONG I;Lo;0;L;;;;;N;;;;; 1176;HANGUL JUNGSEONG A-O;Lo;0;L;;;;;N;;;;; 1177;HANGUL JUNGSEONG A-U;Lo;0;L;;;;;N;;;;; 1178;HANGUL JUNGSEONG YA-O;Lo;0;L;;;;;N;;;;; 1179;HANGUL JUNGSEONG YA-YO;Lo;0;L;;;;;N;;;;; 117A;HANGUL JUNGSEONG EO-O;Lo;0;L;;;;;N;;;;; 117B;HANGUL JUNGSEONG EO-U;Lo;0;L;;;;;N;;;;; 117C;HANGUL JUNGSEONG EO-EU;Lo;0;L;;;;;N;;;;; 117D;HANGUL JUNGSEONG YEO-O;Lo;0;L;;;;;N;;;;; 117E;HANGUL JUNGSEONG YEO-U;Lo;0;L;;;;;N;;;;; 117F;HANGUL JUNGSEONG O-EO;Lo;0;L;;;;;N;;;;; 1180;HANGUL JUNGSEONG O-E;Lo;0;L;;;;;N;;;;; 1181;HANGUL JUNGSEONG O-YE;Lo;0;L;;;;;N;;;;; 1182;HANGUL JUNGSEONG O-O;Lo;0;L;;;;;N;;;;; 1183;HANGUL JUNGSEONG O-U;Lo;0;L;;;;;N;;;;; 1184;HANGUL JUNGSEONG YO-YA;Lo;0;L;;;;;N;;;;; 1185;HANGUL JUNGSEONG YO-YAE;Lo;0;L;;;;;N;;;;; 1186;HANGUL JUNGSEONG YO-YEO;Lo;0;L;;;;;N;;;;; 1187;HANGUL JUNGSEONG YO-O;Lo;0;L;;;;;N;;;;; 1188;HANGUL JUNGSEONG YO-I;Lo;0;L;;;;;N;;;;; 1189;HANGUL JUNGSEONG U-A;Lo;0;L;;;;;N;;;;; 118A;HANGUL JUNGSEONG U-AE;Lo;0;L;;;;;N;;;;; 118B;HANGUL JUNGSEONG U-EO-EU;Lo;0;L;;;;;N;;;;; 118C;HANGUL JUNGSEONG U-YE;Lo;0;L;;;;;N;;;;; 118D;HANGUL JUNGSEONG U-U;Lo;0;L;;;;;N;;;;; 118E;HANGUL JUNGSEONG YU-A;Lo;0;L;;;;;N;;;;; 118F;HANGUL JUNGSEONG YU-EO;Lo;0;L;;;;;N;;;;; 1190;HANGUL JUNGSEONG YU-E;Lo;0;L;;;;;N;;;;; 1191;HANGUL JUNGSEONG YU-YEO;Lo;0;L;;;;;N;;;;; 1192;HANGUL JUNGSEONG YU-YE;Lo;0;L;;;;;N;;;;; 1193;HANGUL JUNGSEONG YU-U;Lo;0;L;;;;;N;;;;; 1194;HANGUL JUNGSEONG YU-I;Lo;0;L;;;;;N;;;;; 1195;HANGUL JUNGSEONG EU-U;Lo;0;L;;;;;N;;;;; 1196;HANGUL JUNGSEONG EU-EU;Lo;0;L;;;;;N;;;;; 1197;HANGUL JUNGSEONG YI-U;Lo;0;L;;;;;N;;;;; 1198;HANGUL JUNGSEONG I-A;Lo;0;L;;;;;N;;;;; 1199;HANGUL JUNGSEONG I-YA;Lo;0;L;;;;;N;;;;; 119A;HANGUL JUNGSEONG I-O;Lo;0;L;;;;;N;;;;; 119B;HANGUL JUNGSEONG I-U;Lo;0;L;;;;;N;;;;; 119C;HANGUL JUNGSEONG I-EU;Lo;0;L;;;;;N;;;;; 119D;HANGUL JUNGSEONG I-ARAEA;Lo;0;L;;;;;N;;;;; 119E;HANGUL JUNGSEONG ARAEA;Lo;0;L;;;;;N;;;;; 119F;HANGUL JUNGSEONG ARAEA-EO;Lo;0;L;;;;;N;;;;; 11A0;HANGUL JUNGSEONG ARAEA-U;Lo;0;L;;;;;N;;;;; 11A1;HANGUL JUNGSEONG ARAEA-I;Lo;0;L;;;;;N;;;;; 11A2;HANGUL JUNGSEONG SSANGARAEA;Lo;0;L;;;;;N;;;;; 11A8;HANGUL JONGSEONG KIYEOK;Lo;0;L;;;;;N;;g *;;; 11A9;HANGUL JONGSEONG SSANGKIYEOK;Lo;0;L;;;;;N;;gg *;;; 11AA;HANGUL JONGSEONG KIYEOK-SIOS;Lo;0;L;;;;;N;;gs *;;; 11AB;HANGUL JONGSEONG NIEUN;Lo;0;L;;;;;N;;n *;;; 11AC;HANGUL JONGSEONG NIEUN-CIEUC;Lo;0;L;;;;;N;;nj *;;; 11AD;HANGUL JONGSEONG NIEUN-HIEUH;Lo;0;L;;;;;N;;nh *;;; 11AE;HANGUL JONGSEONG TIKEUT;Lo;0;L;;;;;N;;d *;;; 11AF;HANGUL JONGSEONG RIEUL;Lo;0;L;;;;;N;;l *;;; 11B0;HANGUL JONGSEONG RIEUL-KIYEOK;Lo;0;L;;;;;N;;lg *;;; 11B1;HANGUL JONGSEONG RIEUL-MIEUM;Lo;0;L;;;;;N;;lm *;;; 11B2;HANGUL JONGSEONG RIEUL-PIEUP;Lo;0;L;;;;;N;;lb *;;; 11B3;HANGUL JONGSEONG RIEUL-SIOS;Lo;0;L;;;;;N;;ls *;;; 11B4;HANGUL JONGSEONG RIEUL-THIEUTH;Lo;0;L;;;;;N;;lt *;;; 11B5;HANGUL JONGSEONG RIEUL-PHIEUPH;Lo;0;L;;;;;N;;lp *;;; 11B6;HANGUL JONGSEONG RIEUL-HIEUH;Lo;0;L;;;;;N;;lh *;;; 11B7;HANGUL JONGSEONG MIEUM;Lo;0;L;;;;;N;;m *;;; 11B8;HANGUL JONGSEONG PIEUP;Lo;0;L;;;;;N;;b *;;; 11B9;HANGUL JONGSEONG PIEUP-SIOS;Lo;0;L;;;;;N;;bs *;;; 11BA;HANGUL JONGSEONG SIOS;Lo;0;L;;;;;N;;s *;;; 11BB;HANGUL JONGSEONG SSANGSIOS;Lo;0;L;;;;;N;;ss *;;; 11BC;HANGUL JONGSEONG IEUNG;Lo;0;L;;;;;N;;ng *;;; 11BD;HANGUL JONGSEONG CIEUC;Lo;0;L;;;;;N;;j *;;; 11BE;HANGUL JONGSEONG CHIEUCH;Lo;0;L;;;;;N;;c *;;; 11BF;HANGUL JONGSEONG KHIEUKH;Lo;0;L;;;;;N;;k *;;; 11C0;HANGUL JONGSEONG THIEUTH;Lo;0;L;;;;;N;;t *;;; 11C1;HANGUL JONGSEONG PHIEUPH;Lo;0;L;;;;;N;;p *;;; 11C2;HANGUL JONGSEONG HIEUH;Lo;0;L;;;;;N;;h *;;; 11C3;HANGUL JONGSEONG KIYEOK-RIEUL;Lo;0;L;;;;;N;;;;; 11C4;HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK;Lo;0;L;;;;;N;;;;; 11C5;HANGUL JONGSEONG NIEUN-KIYEOK;Lo;0;L;;;;;N;;;;; 11C6;HANGUL JONGSEONG NIEUN-TIKEUT;Lo;0;L;;;;;N;;;;; 11C7;HANGUL JONGSEONG NIEUN-SIOS;Lo;0;L;;;;;N;;;;; 11C8;HANGUL JONGSEONG NIEUN-PANSIOS;Lo;0;L;;;;;N;;;;; 11C9;HANGUL JONGSEONG NIEUN-THIEUTH;Lo;0;L;;;;;N;;;;; 11CA;HANGUL JONGSEONG TIKEUT-KIYEOK;Lo;0;L;;;;;N;;;;; 11CB;HANGUL JONGSEONG TIKEUT-RIEUL;Lo;0;L;;;;;N;;;;; 11CC;HANGUL JONGSEONG RIEUL-KIYEOK-SIOS;Lo;0;L;;;;;N;;;;; 11CD;HANGUL JONGSEONG RIEUL-NIEUN;Lo;0;L;;;;;N;;;;; 11CE;HANGUL JONGSEONG RIEUL-TIKEUT;Lo;0;L;;;;;N;;;;; 11CF;HANGUL JONGSEONG RIEUL-TIKEUT-HIEUH;Lo;0;L;;;;;N;;;;; 11D0;HANGUL JONGSEONG SSANGRIEUL;Lo;0;L;;;;;N;;;;; 11D1;HANGUL JONGSEONG RIEUL-MIEUM-KIYEOK;Lo;0;L;;;;;N;;;;; 11D2;HANGUL JONGSEONG RIEUL-MIEUM-SIOS;Lo;0;L;;;;;N;;;;; 11D3;HANGUL JONGSEONG RIEUL-PIEUP-SIOS;Lo;0;L;;;;;N;;;;; 11D4;HANGUL JONGSEONG RIEUL-PIEUP-HIEUH;Lo;0;L;;;;;N;;;;; 11D5;HANGUL JONGSEONG RIEUL-KAPYEOUNPIEUP;Lo;0;L;;;;;N;;;;; 11D6;HANGUL JONGSEONG RIEUL-SSANGSIOS;Lo;0;L;;;;;N;;;;; 11D7;HANGUL JONGSEONG RIEUL-PANSIOS;Lo;0;L;;;;;N;;;;; 11D8;HANGUL JONGSEONG RIEUL-KHIEUKH;Lo;0;L;;;;;N;;;;; 11D9;HANGUL JONGSEONG RIEUL-YEORINHIEUH;Lo;0;L;;;;;N;;;;; 11DA;HANGUL JONGSEONG MIEUM-KIYEOK;Lo;0;L;;;;;N;;;;; 11DB;HANGUL JONGSEONG MIEUM-RIEUL;Lo;0;L;;;;;N;;;;; 11DC;HANGUL JONGSEONG MIEUM-PIEUP;Lo;0;L;;;;;N;;;;; 11DD;HANGUL JONGSEONG MIEUM-SIOS;Lo;0;L;;;;;N;;;;; 11DE;HANGUL JONGSEONG MIEUM-SSANGSIOS;Lo;0;L;;;;;N;;;;; 11DF;HANGUL JONGSEONG MIEUM-PANSIOS;Lo;0;L;;;;;N;;;;; 11E0;HANGUL JONGSEONG MIEUM-CHIEUCH;Lo;0;L;;;;;N;;;;; 11E1;HANGUL JONGSEONG MIEUM-HIEUH;Lo;0;L;;;;;N;;;;; 11E2;HANGUL JONGSEONG KAPYEOUNMIEUM;Lo;0;L;;;;;N;;;;; 11E3;HANGUL JONGSEONG PIEUP-RIEUL;Lo;0;L;;;;;N;;;;; 11E4;HANGUL JONGSEONG PIEUP-PHIEUPH;Lo;0;L;;;;;N;;;;; 11E5;HANGUL JONGSEONG PIEUP-HIEUH;Lo;0;L;;;;;N;;;;; 11E6;HANGUL JONGSEONG KAPYEOUNPIEUP;Lo;0;L;;;;;N;;;;; 11E7;HANGUL JONGSEONG SIOS-KIYEOK;Lo;0;L;;;;;N;;;;; 11E8;HANGUL JONGSEONG SIOS-TIKEUT;Lo;0;L;;;;;N;;;;; 11E9;HANGUL JONGSEONG SIOS-RIEUL;Lo;0;L;;;;;N;;;;; 11EA;HANGUL JONGSEONG SIOS-PIEUP;Lo;0;L;;;;;N;;;;; 11EB;HANGUL JONGSEONG PANSIOS;Lo;0;L;;;;;N;;;;; 11EC;HANGUL JONGSEONG IEUNG-KIYEOK;Lo;0;L;;;;;N;;;;; 11ED;HANGUL JONGSEONG IEUNG-SSANGKIYEOK;Lo;0;L;;;;;N;;;;; 11EE;HANGUL JONGSEONG SSANGIEUNG;Lo;0;L;;;;;N;;;;; 11EF;HANGUL JONGSEONG IEUNG-KHIEUKH;Lo;0;L;;;;;N;;;;; 11F0;HANGUL JONGSEONG YESIEUNG;Lo;0;L;;;;;N;;;;; 11F1;HANGUL JONGSEONG YESIEUNG-SIOS;Lo;0;L;;;;;N;;;;; 11F2;HANGUL JONGSEONG YESIEUNG-PANSIOS;Lo;0;L;;;;;N;;;;; 11F3;HANGUL JONGSEONG PHIEUPH-PIEUP;Lo;0;L;;;;;N;;;;; 11F4;HANGUL JONGSEONG KAPYEOUNPHIEUPH;Lo;0;L;;;;;N;;;;; 11F5;HANGUL JONGSEONG HIEUH-NIEUN;Lo;0;L;;;;;N;;;;; 11F6;HANGUL JONGSEONG HIEUH-RIEUL;Lo;0;L;;;;;N;;;;; 11F7;HANGUL JONGSEONG HIEUH-MIEUM;Lo;0;L;;;;;N;;;;; 11F8;HANGUL JONGSEONG HIEUH-PIEUP;Lo;0;L;;;;;N;;;;; 11F9;HANGUL JONGSEONG YEORINHIEUH;Lo;0;L;;;;;N;;;;; 1200;ETHIOPIC SYLLABLE HA;Lo;0;L;;;;;N;;;;; 1201;ETHIOPIC SYLLABLE HU;Lo;0;L;;;;;N;;;;; 1202;ETHIOPIC SYLLABLE HI;Lo;0;L;;;;;N;;;;; 1203;ETHIOPIC SYLLABLE HAA;Lo;0;L;;;;;N;;;;; 1204;ETHIOPIC SYLLABLE HEE;Lo;0;L;;;;;N;;;;; 1205;ETHIOPIC SYLLABLE HE;Lo;0;L;;;;;N;;;;; 1206;ETHIOPIC SYLLABLE HO;Lo;0;L;;;;;N;;;;; 1208;ETHIOPIC SYLLABLE LA;Lo;0;L;;;;;N;;;;; 1209;ETHIOPIC SYLLABLE LU;Lo;0;L;;;;;N;;;;; 120A;ETHIOPIC SYLLABLE LI;Lo;0;L;;;;;N;;;;; 120B;ETHIOPIC SYLLABLE LAA;Lo;0;L;;;;;N;;;;; 120C;ETHIOPIC SYLLABLE LEE;Lo;0;L;;;;;N;;;;; 120D;ETHIOPIC SYLLABLE LE;Lo;0;L;;;;;N;;;;; 120E;ETHIOPIC SYLLABLE LO;Lo;0;L;;;;;N;;;;; 120F;ETHIOPIC SYLLABLE LWA;Lo;0;L;;;;;N;;;;; 1210;ETHIOPIC SYLLABLE HHA;Lo;0;L;;;;;N;;;;; 1211;ETHIOPIC SYLLABLE HHU;Lo;0;L;;;;;N;;;;; 1212;ETHIOPIC SYLLABLE HHI;Lo;0;L;;;;;N;;;;; 1213;ETHIOPIC SYLLABLE HHAA;Lo;0;L;;;;;N;;;;; 1214;ETHIOPIC SYLLABLE HHEE;Lo;0;L;;;;;N;;;;; 1215;ETHIOPIC SYLLABLE HHE;Lo;0;L;;;;;N;;;;; 1216;ETHIOPIC SYLLABLE HHO;Lo;0;L;;;;;N;;;;; 1217;ETHIOPIC SYLLABLE HHWA;Lo;0;L;;;;;N;;;;; 1218;ETHIOPIC SYLLABLE MA;Lo;0;L;;;;;N;;;;; 1219;ETHIOPIC SYLLABLE MU;Lo;0;L;;;;;N;;;;; 121A;ETHIOPIC SYLLABLE MI;Lo;0;L;;;;;N;;;;; 121B;ETHIOPIC SYLLABLE MAA;Lo;0;L;;;;;N;;;;; 121C;ETHIOPIC SYLLABLE MEE;Lo;0;L;;;;;N;;;;; 121D;ETHIOPIC SYLLABLE ME;Lo;0;L;;;;;N;;;;; 121E;ETHIOPIC SYLLABLE MO;Lo;0;L;;;;;N;;;;; 121F;ETHIOPIC SYLLABLE MWA;Lo;0;L;;;;;N;;;;; 1220;ETHIOPIC SYLLABLE SZA;Lo;0;L;;;;;N;;;;; 1221;ETHIOPIC SYLLABLE SZU;Lo;0;L;;;;;N;;;;; 1222;ETHIOPIC SYLLABLE SZI;Lo;0;L;;;;;N;;;;; 1223;ETHIOPIC SYLLABLE SZAA;Lo;0;L;;;;;N;;;;; 1224;ETHIOPIC SYLLABLE SZEE;Lo;0;L;;;;;N;;;;; 1225;ETHIOPIC SYLLABLE SZE;Lo;0;L;;;;;N;;;;; 1226;ETHIOPIC SYLLABLE SZO;Lo;0;L;;;;;N;;;;; 1227;ETHIOPIC SYLLABLE SZWA;Lo;0;L;;;;;N;;;;; 1228;ETHIOPIC SYLLABLE RA;Lo;0;L;;;;;N;;;;; 1229;ETHIOPIC SYLLABLE RU;Lo;0;L;;;;;N;;;;; 122A;ETHIOPIC SYLLABLE RI;Lo;0;L;;;;;N;;;;; 122B;ETHIOPIC SYLLABLE RAA;Lo;0;L;;;;;N;;;;; 122C;ETHIOPIC SYLLABLE REE;Lo;0;L;;;;;N;;;;; 122D;ETHIOPIC SYLLABLE RE;Lo;0;L;;;;;N;;;;; 122E;ETHIOPIC SYLLABLE RO;Lo;0;L;;;;;N;;;;; 122F;ETHIOPIC SYLLABLE RWA;Lo;0;L;;;;;N;;;;; 1230;ETHIOPIC SYLLABLE SA;Lo;0;L;;;;;N;;;;; 1231;ETHIOPIC SYLLABLE SU;Lo;0;L;;;;;N;;;;; 1232;ETHIOPIC SYLLABLE SI;Lo;0;L;;;;;N;;;;; 1233;ETHIOPIC SYLLABLE SAA;Lo;0;L;;;;;N;;;;; 1234;ETHIOPIC SYLLABLE SEE;Lo;0;L;;;;;N;;;;; 1235;ETHIOPIC SYLLABLE SE;Lo;0;L;;;;;N;;;;; 1236;ETHIOPIC SYLLABLE SO;Lo;0;L;;;;;N;;;;; 1237;ETHIOPIC SYLLABLE SWA;Lo;0;L;;;;;N;;;;; 1238;ETHIOPIC SYLLABLE SHA;Lo;0;L;;;;;N;;;;; 1239;ETHIOPIC SYLLABLE SHU;Lo;0;L;;;;;N;;;;; 123A;ETHIOPIC SYLLABLE SHI;Lo;0;L;;;;;N;;;;; 123B;ETHIOPIC SYLLABLE SHAA;Lo;0;L;;;;;N;;;;; 123C;ETHIOPIC SYLLABLE SHEE;Lo;0;L;;;;;N;;;;; 123D;ETHIOPIC SYLLABLE SHE;Lo;0;L;;;;;N;;;;; 123E;ETHIOPIC SYLLABLE SHO;Lo;0;L;;;;;N;;;;; 123F;ETHIOPIC SYLLABLE SHWA;Lo;0;L;;;;;N;;;;; 1240;ETHIOPIC SYLLABLE QA;Lo;0;L;;;;;N;;;;; 1241;ETHIOPIC SYLLABLE QU;Lo;0;L;;;;;N;;;;; 1242;ETHIOPIC SYLLABLE QI;Lo;0;L;;;;;N;;;;; 1243;ETHIOPIC SYLLABLE QAA;Lo;0;L;;;;;N;;;;; 1244;ETHIOPIC SYLLABLE QEE;Lo;0;L;;;;;N;;;;; 1245;ETHIOPIC SYLLABLE QE;Lo;0;L;;;;;N;;;;; 1246;ETHIOPIC SYLLABLE QO;Lo;0;L;;;;;N;;;;; 1248;ETHIOPIC SYLLABLE QWA;Lo;0;L;;;;;N;;;;; 124A;ETHIOPIC SYLLABLE QWI;Lo;0;L;;;;;N;;;;; 124B;ETHIOPIC SYLLABLE QWAA;Lo;0;L;;;;;N;;;;; 124C;ETHIOPIC SYLLABLE QWEE;Lo;0;L;;;;;N;;;;; 124D;ETHIOPIC SYLLABLE QWE;Lo;0;L;;;;;N;;;;; 1250;ETHIOPIC SYLLABLE QHA;Lo;0;L;;;;;N;;;;; 1251;ETHIOPIC SYLLABLE QHU;Lo;0;L;;;;;N;;;;; 1252;ETHIOPIC SYLLABLE QHI;Lo;0;L;;;;;N;;;;; 1253;ETHIOPIC SYLLABLE QHAA;Lo;0;L;;;;;N;;;;; 1254;ETHIOPIC SYLLABLE QHEE;Lo;0;L;;;;;N;;;;; 1255;ETHIOPIC SYLLABLE QHE;Lo;0;L;;;;;N;;;;; 1256;ETHIOPIC SYLLABLE QHO;Lo;0;L;;;;;N;;;;; 1258;ETHIOPIC SYLLABLE QHWA;Lo;0;L;;;;;N;;;;; 125A;ETHIOPIC SYLLABLE QHWI;Lo;0;L;;;;;N;;;;; 125B;ETHIOPIC SYLLABLE QHWAA;Lo;0;L;;;;;N;;;;; 125C;ETHIOPIC SYLLABLE QHWEE;Lo;0;L;;;;;N;;;;; 125D;ETHIOPIC SYLLABLE QHWE;Lo;0;L;;;;;N;;;;; 1260;ETHIOPIC SYLLABLE BA;Lo;0;L;;;;;N;;;;; 1261;ETHIOPIC SYLLABLE BU;Lo;0;L;;;;;N;;;;; 1262;ETHIOPIC SYLLABLE BI;Lo;0;L;;;;;N;;;;; 1263;ETHIOPIC SYLLABLE BAA;Lo;0;L;;;;;N;;;;; 1264;ETHIOPIC SYLLABLE BEE;Lo;0;L;;;;;N;;;;; 1265;ETHIOPIC SYLLABLE BE;Lo;0;L;;;;;N;;;;; 1266;ETHIOPIC SYLLABLE BO;Lo;0;L;;;;;N;;;;; 1267;ETHIOPIC SYLLABLE BWA;Lo;0;L;;;;;N;;;;; 1268;ETHIOPIC SYLLABLE VA;Lo;0;L;;;;;N;;;;; 1269;ETHIOPIC SYLLABLE VU;Lo;0;L;;;;;N;;;;; 126A;ETHIOPIC SYLLABLE VI;Lo;0;L;;;;;N;;;;; 126B;ETHIOPIC SYLLABLE VAA;Lo;0;L;;;;;N;;;;; 126C;ETHIOPIC SYLLABLE VEE;Lo;0;L;;;;;N;;;;; 126D;ETHIOPIC SYLLABLE VE;Lo;0;L;;;;;N;;;;; 126E;ETHIOPIC SYLLABLE VO;Lo;0;L;;;;;N;;;;; 126F;ETHIOPIC SYLLABLE VWA;Lo;0;L;;;;;N;;;;; 1270;ETHIOPIC SYLLABLE TA;Lo;0;L;;;;;N;;;;; 1271;ETHIOPIC SYLLABLE TU;Lo;0;L;;;;;N;;;;; 1272;ETHIOPIC SYLLABLE TI;Lo;0;L;;;;;N;;;;; 1273;ETHIOPIC SYLLABLE TAA;Lo;0;L;;;;;N;;;;; 1274;ETHIOPIC SYLLABLE TEE;Lo;0;L;;;;;N;;;;; 1275;ETHIOPIC SYLLABLE TE;Lo;0;L;;;;;N;;;;; 1276;ETHIOPIC SYLLABLE TO;Lo;0;L;;;;;N;;;;; 1277;ETHIOPIC SYLLABLE TWA;Lo;0;L;;;;;N;;;;; 1278;ETHIOPIC SYLLABLE CA;Lo;0;L;;;;;N;;;;; 1279;ETHIOPIC SYLLABLE CU;Lo;0;L;;;;;N;;;;; 127A;ETHIOPIC SYLLABLE CI;Lo;0;L;;;;;N;;;;; 127B;ETHIOPIC SYLLABLE CAA;Lo;0;L;;;;;N;;;;; 127C;ETHIOPIC SYLLABLE CEE;Lo;0;L;;;;;N;;;;; 127D;ETHIOPIC SYLLABLE CE;Lo;0;L;;;;;N;;;;; 127E;ETHIOPIC SYLLABLE CO;Lo;0;L;;;;;N;;;;; 127F;ETHIOPIC SYLLABLE CWA;Lo;0;L;;;;;N;;;;; 1280;ETHIOPIC SYLLABLE XA;Lo;0;L;;;;;N;;;;; 1281;ETHIOPIC SYLLABLE XU;Lo;0;L;;;;;N;;;;; 1282;ETHIOPIC SYLLABLE XI;Lo;0;L;;;;;N;;;;; 1283;ETHIOPIC SYLLABLE XAA;Lo;0;L;;;;;N;;;;; 1284;ETHIOPIC SYLLABLE XEE;Lo;0;L;;;;;N;;;;; 1285;ETHIOPIC SYLLABLE XE;Lo;0;L;;;;;N;;;;; 1286;ETHIOPIC SYLLABLE XO;Lo;0;L;;;;;N;;;;; 1288;ETHIOPIC SYLLABLE XWA;Lo;0;L;;;;;N;;;;; 128A;ETHIOPIC SYLLABLE XWI;Lo;0;L;;;;;N;;;;; 128B;ETHIOPIC SYLLABLE XWAA;Lo;0;L;;;;;N;;;;; 128C;ETHIOPIC SYLLABLE XWEE;Lo;0;L;;;;;N;;;;; 128D;ETHIOPIC SYLLABLE XWE;Lo;0;L;;;;;N;;;;; 1290;ETHIOPIC SYLLABLE NA;Lo;0;L;;;;;N;;;;; 1291;ETHIOPIC SYLLABLE NU;Lo;0;L;;;;;N;;;;; 1292;ETHIOPIC SYLLABLE NI;Lo;0;L;;;;;N;;;;; 1293;ETHIOPIC SYLLABLE NAA;Lo;0;L;;;;;N;;;;; 1294;ETHIOPIC SYLLABLE NEE;Lo;0;L;;;;;N;;;;; 1295;ETHIOPIC SYLLABLE NE;Lo;0;L;;;;;N;;;;; 1296;ETHIOPIC SYLLABLE NO;Lo;0;L;;;;;N;;;;; 1297;ETHIOPIC SYLLABLE NWA;Lo;0;L;;;;;N;;;;; 1298;ETHIOPIC SYLLABLE NYA;Lo;0;L;;;;;N;;;;; 1299;ETHIOPIC SYLLABLE NYU;Lo;0;L;;;;;N;;;;; 129A;ETHIOPIC SYLLABLE NYI;Lo;0;L;;;;;N;;;;; 129B;ETHIOPIC SYLLABLE NYAA;Lo;0;L;;;;;N;;;;; 129C;ETHIOPIC SYLLABLE NYEE;Lo;0;L;;;;;N;;;;; 129D;ETHIOPIC SYLLABLE NYE;Lo;0;L;;;;;N;;;;; 129E;ETHIOPIC SYLLABLE NYO;Lo;0;L;;;;;N;;;;; 129F;ETHIOPIC SYLLABLE NYWA;Lo;0;L;;;;;N;;;;; 12A0;ETHIOPIC SYLLABLE GLOTTAL A;Lo;0;L;;;;;N;;;;; 12A1;ETHIOPIC SYLLABLE GLOTTAL U;Lo;0;L;;;;;N;;;;; 12A2;ETHIOPIC SYLLABLE GLOTTAL I;Lo;0;L;;;;;N;;;;; 12A3;ETHIOPIC SYLLABLE GLOTTAL AA;Lo;0;L;;;;;N;;;;; 12A4;ETHIOPIC SYLLABLE GLOTTAL EE;Lo;0;L;;;;;N;;;;; 12A5;ETHIOPIC SYLLABLE GLOTTAL E;Lo;0;L;;;;;N;;;;; 12A6;ETHIOPIC SYLLABLE GLOTTAL O;Lo;0;L;;;;;N;;;;; 12A7;ETHIOPIC SYLLABLE GLOTTAL WA;Lo;0;L;;;;;N;;;;; 12A8;ETHIOPIC SYLLABLE KA;Lo;0;L;;;;;N;;;;; 12A9;ETHIOPIC SYLLABLE KU;Lo;0;L;;;;;N;;;;; 12AA;ETHIOPIC SYLLABLE KI;Lo;0;L;;;;;N;;;;; 12AB;ETHIOPIC SYLLABLE KAA;Lo;0;L;;;;;N;;;;; 12AC;ETHIOPIC SYLLABLE KEE;Lo;0;L;;;;;N;;;;; 12AD;ETHIOPIC SYLLABLE KE;Lo;0;L;;;;;N;;;;; 12AE;ETHIOPIC SYLLABLE KO;Lo;0;L;;;;;N;;;;; 12B0;ETHIOPIC SYLLABLE KWA;Lo;0;L;;;;;N;;;;; 12B2;ETHIOPIC SYLLABLE KWI;Lo;0;L;;;;;N;;;;; 12B3;ETHIOPIC SYLLABLE KWAA;Lo;0;L;;;;;N;;;;; 12B4;ETHIOPIC SYLLABLE KWEE;Lo;0;L;;;;;N;;;;; 12B5;ETHIOPIC SYLLABLE KWE;Lo;0;L;;;;;N;;;;; 12B8;ETHIOPIC SYLLABLE KXA;Lo;0;L;;;;;N;;;;; 12B9;ETHIOPIC SYLLABLE KXU;Lo;0;L;;;;;N;;;;; 12BA;ETHIOPIC SYLLABLE KXI;Lo;0;L;;;;;N;;;;; 12BB;ETHIOPIC SYLLABLE KXAA;Lo;0;L;;;;;N;;;;; 12BC;ETHIOPIC SYLLABLE KXEE;Lo;0;L;;;;;N;;;;; 12BD;ETHIOPIC SYLLABLE KXE;Lo;0;L;;;;;N;;;;; 12BE;ETHIOPIC SYLLABLE KXO;Lo;0;L;;;;;N;;;;; 12C0;ETHIOPIC SYLLABLE KXWA;Lo;0;L;;;;;N;;;;; 12C2;ETHIOPIC SYLLABLE KXWI;Lo;0;L;;;;;N;;;;; 12C3;ETHIOPIC SYLLABLE KXWAA;Lo;0;L;;;;;N;;;;; 12C4;ETHIOPIC SYLLABLE KXWEE;Lo;0;L;;;;;N;;;;; 12C5;ETHIOPIC SYLLABLE KXWE;Lo;0;L;;;;;N;;;;; 12C8;ETHIOPIC SYLLABLE WA;Lo;0;L;;;;;N;;;;; 12C9;ETHIOPIC SYLLABLE WU;Lo;0;L;;;;;N;;;;; 12CA;ETHIOPIC SYLLABLE WI;Lo;0;L;;;;;N;;;;; 12CB;ETHIOPIC SYLLABLE WAA;Lo;0;L;;;;;N;;;;; 12CC;ETHIOPIC SYLLABLE WEE;Lo;0;L;;;;;N;;;;; 12CD;ETHIOPIC SYLLABLE WE;Lo;0;L;;;;;N;;;;; 12CE;ETHIOPIC SYLLABLE WO;Lo;0;L;;;;;N;;;;; 12D0;ETHIOPIC SYLLABLE PHARYNGEAL A;Lo;0;L;;;;;N;;;;; 12D1;ETHIOPIC SYLLABLE PHARYNGEAL U;Lo;0;L;;;;;N;;;;; 12D2;ETHIOPIC SYLLABLE PHARYNGEAL I;Lo;0;L;;;;;N;;;;; 12D3;ETHIOPIC SYLLABLE PHARYNGEAL AA;Lo;0;L;;;;;N;;;;; 12D4;ETHIOPIC SYLLABLE PHARYNGEAL EE;Lo;0;L;;;;;N;;;;; 12D5;ETHIOPIC SYLLABLE PHARYNGEAL E;Lo;0;L;;;;;N;;;;; 12D6;ETHIOPIC SYLLABLE PHARYNGEAL O;Lo;0;L;;;;;N;;;;; 12D8;ETHIOPIC SYLLABLE ZA;Lo;0;L;;;;;N;;;;; 12D9;ETHIOPIC SYLLABLE ZU;Lo;0;L;;;;;N;;;;; 12DA;ETHIOPIC SYLLABLE ZI;Lo;0;L;;;;;N;;;;; 12DB;ETHIOPIC SYLLABLE ZAA;Lo;0;L;;;;;N;;;;; 12DC;ETHIOPIC SYLLABLE ZEE;Lo;0;L;;;;;N;;;;; 12DD;ETHIOPIC SYLLABLE ZE;Lo;0;L;;;;;N;;;;; 12DE;ETHIOPIC SYLLABLE ZO;Lo;0;L;;;;;N;;;;; 12DF;ETHIOPIC SYLLABLE ZWA;Lo;0;L;;;;;N;;;;; 12E0;ETHIOPIC SYLLABLE ZHA;Lo;0;L;;;;;N;;;;; 12E1;ETHIOPIC SYLLABLE ZHU;Lo;0;L;;;;;N;;;;; 12E2;ETHIOPIC SYLLABLE ZHI;Lo;0;L;;;;;N;;;;; 12E3;ETHIOPIC SYLLABLE ZHAA;Lo;0;L;;;;;N;;;;; 12E4;ETHIOPIC SYLLABLE ZHEE;Lo;0;L;;;;;N;;;;; 12E5;ETHIOPIC SYLLABLE ZHE;Lo;0;L;;;;;N;;;;; 12E6;ETHIOPIC SYLLABLE ZHO;Lo;0;L;;;;;N;;;;; 12E7;ETHIOPIC SYLLABLE ZHWA;Lo;0;L;;;;;N;;;;; 12E8;ETHIOPIC SYLLABLE YA;Lo;0;L;;;;;N;;;;; 12E9;ETHIOPIC SYLLABLE YU;Lo;0;L;;;;;N;;;;; 12EA;ETHIOPIC SYLLABLE YI;Lo;0;L;;;;;N;;;;; 12EB;ETHIOPIC SYLLABLE YAA;Lo;0;L;;;;;N;;;;; 12EC;ETHIOPIC SYLLABLE YEE;Lo;0;L;;;;;N;;;;; 12ED;ETHIOPIC SYLLABLE YE;Lo;0;L;;;;;N;;;;; 12EE;ETHIOPIC SYLLABLE YO;Lo;0;L;;;;;N;;;;; 12F0;ETHIOPIC SYLLABLE DA;Lo;0;L;;;;;N;;;;; 12F1;ETHIOPIC SYLLABLE DU;Lo;0;L;;;;;N;;;;; 12F2;ETHIOPIC SYLLABLE DI;Lo;0;L;;;;;N;;;;; 12F3;ETHIOPIC SYLLABLE DAA;Lo;0;L;;;;;N;;;;; 12F4;ETHIOPIC SYLLABLE DEE;Lo;0;L;;;;;N;;;;; 12F5;ETHIOPIC SYLLABLE DE;Lo;0;L;;;;;N;;;;; 12F6;ETHIOPIC SYLLABLE DO;Lo;0;L;;;;;N;;;;; 12F7;ETHIOPIC SYLLABLE DWA;Lo;0;L;;;;;N;;;;; 12F8;ETHIOPIC SYLLABLE DDA;Lo;0;L;;;;;N;;;;; 12F9;ETHIOPIC SYLLABLE DDU;Lo;0;L;;;;;N;;;;; 12FA;ETHIOPIC SYLLABLE DDI;Lo;0;L;;;;;N;;;;; 12FB;ETHIOPIC SYLLABLE DDAA;Lo;0;L;;;;;N;;;;; 12FC;ETHIOPIC SYLLABLE DDEE;Lo;0;L;;;;;N;;;;; 12FD;ETHIOPIC SYLLABLE DDE;Lo;0;L;;;;;N;;;;; 12FE;ETHIOPIC SYLLABLE DDO;Lo;0;L;;;;;N;;;;; 12FF;ETHIOPIC SYLLABLE DDWA;Lo;0;L;;;;;N;;;;; 1300;ETHIOPIC SYLLABLE JA;Lo;0;L;;;;;N;;;;; 1301;ETHIOPIC SYLLABLE JU;Lo;0;L;;;;;N;;;;; 1302;ETHIOPIC SYLLABLE JI;Lo;0;L;;;;;N;;;;; 1303;ETHIOPIC SYLLABLE JAA;Lo;0;L;;;;;N;;;;; 1304;ETHIOPIC SYLLABLE JEE;Lo;0;L;;;;;N;;;;; 1305;ETHIOPIC SYLLABLE JE;Lo;0;L;;;;;N;;;;; 1306;ETHIOPIC SYLLABLE JO;Lo;0;L;;;;;N;;;;; 1307;ETHIOPIC SYLLABLE JWA;Lo;0;L;;;;;N;;;;; 1308;ETHIOPIC SYLLABLE GA;Lo;0;L;;;;;N;;;;; 1309;ETHIOPIC SYLLABLE GU;Lo;0;L;;;;;N;;;;; 130A;ETHIOPIC SYLLABLE GI;Lo;0;L;;;;;N;;;;; 130B;ETHIOPIC SYLLABLE GAA;Lo;0;L;;;;;N;;;;; 130C;ETHIOPIC SYLLABLE GEE;Lo;0;L;;;;;N;;;;; 130D;ETHIOPIC SYLLABLE GE;Lo;0;L;;;;;N;;;;; 130E;ETHIOPIC SYLLABLE GO;Lo;0;L;;;;;N;;;;; 1310;ETHIOPIC SYLLABLE GWA;Lo;0;L;;;;;N;;;;; 1312;ETHIOPIC SYLLABLE GWI;Lo;0;L;;;;;N;;;;; 1313;ETHIOPIC SYLLABLE GWAA;Lo;0;L;;;;;N;;;;; 1314;ETHIOPIC SYLLABLE GWEE;Lo;0;L;;;;;N;;;;; 1315;ETHIOPIC SYLLABLE GWE;Lo;0;L;;;;;N;;;;; 1318;ETHIOPIC SYLLABLE GGA;Lo;0;L;;;;;N;;;;; 1319;ETHIOPIC SYLLABLE GGU;Lo;0;L;;;;;N;;;;; 131A;ETHIOPIC SYLLABLE GGI;Lo;0;L;;;;;N;;;;; 131B;ETHIOPIC SYLLABLE GGAA;Lo;0;L;;;;;N;;;;; 131C;ETHIOPIC SYLLABLE GGEE;Lo;0;L;;;;;N;;;;; 131D;ETHIOPIC SYLLABLE GGE;Lo;0;L;;;;;N;;;;; 131E;ETHIOPIC SYLLABLE GGO;Lo;0;L;;;;;N;;;;; 1320;ETHIOPIC SYLLABLE THA;Lo;0;L;;;;;N;;;;; 1321;ETHIOPIC SYLLABLE THU;Lo;0;L;;;;;N;;;;; 1322;ETHIOPIC SYLLABLE THI;Lo;0;L;;;;;N;;;;; 1323;ETHIOPIC SYLLABLE THAA;Lo;0;L;;;;;N;;;;; 1324;ETHIOPIC SYLLABLE THEE;Lo;0;L;;;;;N;;;;; 1325;ETHIOPIC SYLLABLE THE;Lo;0;L;;;;;N;;;;; 1326;ETHIOPIC SYLLABLE THO;Lo;0;L;;;;;N;;;;; 1327;ETHIOPIC SYLLABLE THWA;Lo;0;L;;;;;N;;;;; 1328;ETHIOPIC SYLLABLE CHA;Lo;0;L;;;;;N;;;;; 1329;ETHIOPIC SYLLABLE CHU;Lo;0;L;;;;;N;;;;; 132A;ETHIOPIC SYLLABLE CHI;Lo;0;L;;;;;N;;;;; 132B;ETHIOPIC SYLLABLE CHAA;Lo;0;L;;;;;N;;;;; 132C;ETHIOPIC SYLLABLE CHEE;Lo;0;L;;;;;N;;;;; 132D;ETHIOPIC SYLLABLE CHE;Lo;0;L;;;;;N;;;;; 132E;ETHIOPIC SYLLABLE CHO;Lo;0;L;;;;;N;;;;; 132F;ETHIOPIC SYLLABLE CHWA;Lo;0;L;;;;;N;;;;; 1330;ETHIOPIC SYLLABLE PHA;Lo;0;L;;;;;N;;;;; 1331;ETHIOPIC SYLLABLE PHU;Lo;0;L;;;;;N;;;;; 1332;ETHIOPIC SYLLABLE PHI;Lo;0;L;;;;;N;;;;; 1333;ETHIOPIC SYLLABLE PHAA;Lo;0;L;;;;;N;;;;; 1334;ETHIOPIC SYLLABLE PHEE;Lo;0;L;;;;;N;;;;; 1335;ETHIOPIC SYLLABLE PHE;Lo;0;L;;;;;N;;;;; 1336;ETHIOPIC SYLLABLE PHO;Lo;0;L;;;;;N;;;;; 1337;ETHIOPIC SYLLABLE PHWA;Lo;0;L;;;;;N;;;;; 1338;ETHIOPIC SYLLABLE TSA;Lo;0;L;;;;;N;;;;; 1339;ETHIOPIC SYLLABLE TSU;Lo;0;L;;;;;N;;;;; 133A;ETHIOPIC SYLLABLE TSI;Lo;0;L;;;;;N;;;;; 133B;ETHIOPIC SYLLABLE TSAA;Lo;0;L;;;;;N;;;;; 133C;ETHIOPIC SYLLABLE TSEE;Lo;0;L;;;;;N;;;;; 133D;ETHIOPIC SYLLABLE TSE;Lo;0;L;;;;;N;;;;; 133E;ETHIOPIC SYLLABLE TSO;Lo;0;L;;;;;N;;;;; 133F;ETHIOPIC SYLLABLE TSWA;Lo;0;L;;;;;N;;;;; 1340;ETHIOPIC SYLLABLE TZA;Lo;0;L;;;;;N;;;;; 1341;ETHIOPIC SYLLABLE TZU;Lo;0;L;;;;;N;;;;; 1342;ETHIOPIC SYLLABLE TZI;Lo;0;L;;;;;N;;;;; 1343;ETHIOPIC SYLLABLE TZAA;Lo;0;L;;;;;N;;;;; 1344;ETHIOPIC SYLLABLE TZEE;Lo;0;L;;;;;N;;;;; 1345;ETHIOPIC SYLLABLE TZE;Lo;0;L;;;;;N;;;;; 1346;ETHIOPIC SYLLABLE TZO;Lo;0;L;;;;;N;;;;; 1348;ETHIOPIC SYLLABLE FA;Lo;0;L;;;;;N;;;;; 1349;ETHIOPIC SYLLABLE FU;Lo;0;L;;;;;N;;;;; 134A;ETHIOPIC SYLLABLE FI;Lo;0;L;;;;;N;;;;; 134B;ETHIOPIC SYLLABLE FAA;Lo;0;L;;;;;N;;;;; 134C;ETHIOPIC SYLLABLE FEE;Lo;0;L;;;;;N;;;;; 134D;ETHIOPIC SYLLABLE FE;Lo;0;L;;;;;N;;;;; 134E;ETHIOPIC SYLLABLE FO;Lo;0;L;;;;;N;;;;; 134F;ETHIOPIC SYLLABLE FWA;Lo;0;L;;;;;N;;;;; 1350;ETHIOPIC SYLLABLE PA;Lo;0;L;;;;;N;;;;; 1351;ETHIOPIC SYLLABLE PU;Lo;0;L;;;;;N;;;;; 1352;ETHIOPIC SYLLABLE PI;Lo;0;L;;;;;N;;;;; 1353;ETHIOPIC SYLLABLE PAA;Lo;0;L;;;;;N;;;;; 1354;ETHIOPIC SYLLABLE PEE;Lo;0;L;;;;;N;;;;; 1355;ETHIOPIC SYLLABLE PE;Lo;0;L;;;;;N;;;;; 1356;ETHIOPIC SYLLABLE PO;Lo;0;L;;;;;N;;;;; 1357;ETHIOPIC SYLLABLE PWA;Lo;0;L;;;;;N;;;;; 1358;ETHIOPIC SYLLABLE RYA;Lo;0;L;;;;;N;;;;; 1359;ETHIOPIC SYLLABLE MYA;Lo;0;L;;;;;N;;;;; 135A;ETHIOPIC SYLLABLE FYA;Lo;0;L;;;;;N;;;;; 1361;ETHIOPIC WORDSPACE;Po;0;L;;;;;N;;;;; 1362;ETHIOPIC FULL STOP;Po;0;L;;;;;N;;;;; 1363;ETHIOPIC COMMA;Po;0;L;;;;;N;;;;; 1364;ETHIOPIC SEMICOLON;Po;0;L;;;;;N;;;;; 1365;ETHIOPIC COLON;Po;0;L;;;;;N;;;;; 1366;ETHIOPIC PREFACE COLON;Po;0;L;;;;;N;;;;; 1367;ETHIOPIC QUESTION MARK;Po;0;L;;;;;N;;;;; 1368;ETHIOPIC PARAGRAPH SEPARATOR;Po;0;L;;;;;N;;;;; 1369;ETHIOPIC DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 136A;ETHIOPIC DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 136B;ETHIOPIC DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 136C;ETHIOPIC DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 136D;ETHIOPIC DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 136E;ETHIOPIC DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 136F;ETHIOPIC DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 1370;ETHIOPIC DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 1371;ETHIOPIC DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 1372;ETHIOPIC NUMBER TEN;No;0;L;;;;10;N;;;;; 1373;ETHIOPIC NUMBER TWENTY;No;0;L;;;;20;N;;;;; 1374;ETHIOPIC NUMBER THIRTY;No;0;L;;;;30;N;;;;; 1375;ETHIOPIC NUMBER FORTY;No;0;L;;;;40;N;;;;; 1376;ETHIOPIC NUMBER FIFTY;No;0;L;;;;50;N;;;;; 1377;ETHIOPIC NUMBER SIXTY;No;0;L;;;;60;N;;;;; 1378;ETHIOPIC NUMBER SEVENTY;No;0;L;;;;70;N;;;;; 1379;ETHIOPIC NUMBER EIGHTY;No;0;L;;;;80;N;;;;; 137A;ETHIOPIC NUMBER NINETY;No;0;L;;;;90;N;;;;; 137B;ETHIOPIC NUMBER HUNDRED;No;0;L;;;;100;N;;;;; 137C;ETHIOPIC NUMBER TEN THOUSAND;No;0;L;;;;10000;N;;;;; 13A0;CHEROKEE LETTER A;Lo;0;L;;;;;N;;;;; 13A1;CHEROKEE LETTER E;Lo;0;L;;;;;N;;;;; 13A2;CHEROKEE LETTER I;Lo;0;L;;;;;N;;;;; 13A3;CHEROKEE LETTER O;Lo;0;L;;;;;N;;;;; 13A4;CHEROKEE LETTER U;Lo;0;L;;;;;N;;;;; 13A5;CHEROKEE LETTER V;Lo;0;L;;;;;N;;;;; 13A6;CHEROKEE LETTER GA;Lo;0;L;;;;;N;;;;; 13A7;CHEROKEE LETTER KA;Lo;0;L;;;;;N;;;;; 13A8;CHEROKEE LETTER GE;Lo;0;L;;;;;N;;;;; 13A9;CHEROKEE LETTER GI;Lo;0;L;;;;;N;;;;; 13AA;CHEROKEE LETTER GO;Lo;0;L;;;;;N;;;;; 13AB;CHEROKEE LETTER GU;Lo;0;L;;;;;N;;;;; 13AC;CHEROKEE LETTER GV;Lo;0;L;;;;;N;;;;; 13AD;CHEROKEE LETTER HA;Lo;0;L;;;;;N;;;;; 13AE;CHEROKEE LETTER HE;Lo;0;L;;;;;N;;;;; 13AF;CHEROKEE LETTER HI;Lo;0;L;;;;;N;;;;; 13B0;CHEROKEE LETTER HO;Lo;0;L;;;;;N;;;;; 13B1;CHEROKEE LETTER HU;Lo;0;L;;;;;N;;;;; 13B2;CHEROKEE LETTER HV;Lo;0;L;;;;;N;;;;; 13B3;CHEROKEE LETTER LA;Lo;0;L;;;;;N;;;;; 13B4;CHEROKEE LETTER LE;Lo;0;L;;;;;N;;;;; 13B5;CHEROKEE LETTER LI;Lo;0;L;;;;;N;;;;; 13B6;CHEROKEE LETTER LO;Lo;0;L;;;;;N;;;;; 13B7;CHEROKEE LETTER LU;Lo;0;L;;;;;N;;;;; 13B8;CHEROKEE LETTER LV;Lo;0;L;;;;;N;;;;; 13B9;CHEROKEE LETTER MA;Lo;0;L;;;;;N;;;;; 13BA;CHEROKEE LETTER ME;Lo;0;L;;;;;N;;;;; 13BB;CHEROKEE LETTER MI;Lo;0;L;;;;;N;;;;; 13BC;CHEROKEE LETTER MO;Lo;0;L;;;;;N;;;;; 13BD;CHEROKEE LETTER MU;Lo;0;L;;;;;N;;;;; 13BE;CHEROKEE LETTER NA;Lo;0;L;;;;;N;;;;; 13BF;CHEROKEE LETTER HNA;Lo;0;L;;;;;N;;;;; 13C0;CHEROKEE LETTER NAH;Lo;0;L;;;;;N;;;;; 13C1;CHEROKEE LETTER NE;Lo;0;L;;;;;N;;;;; 13C2;CHEROKEE LETTER NI;Lo;0;L;;;;;N;;;;; 13C3;CHEROKEE LETTER NO;Lo;0;L;;;;;N;;;;; 13C4;CHEROKEE LETTER NU;Lo;0;L;;;;;N;;;;; 13C5;CHEROKEE LETTER NV;Lo;0;L;;;;;N;;;;; 13C6;CHEROKEE LETTER QUA;Lo;0;L;;;;;N;;;;; 13C7;CHEROKEE LETTER QUE;Lo;0;L;;;;;N;;;;; 13C8;CHEROKEE LETTER QUI;Lo;0;L;;;;;N;;;;; 13C9;CHEROKEE LETTER QUO;Lo;0;L;;;;;N;;;;; 13CA;CHEROKEE LETTER QUU;Lo;0;L;;;;;N;;;;; 13CB;CHEROKEE LETTER QUV;Lo;0;L;;;;;N;;;;; 13CC;CHEROKEE LETTER SA;Lo;0;L;;;;;N;;;;; 13CD;CHEROKEE LETTER S;Lo;0;L;;;;;N;;;;; 13CE;CHEROKEE LETTER SE;Lo;0;L;;;;;N;;;;; 13CF;CHEROKEE LETTER SI;Lo;0;L;;;;;N;;;;; 13D0;CHEROKEE LETTER SO;Lo;0;L;;;;;N;;;;; 13D1;CHEROKEE LETTER SU;Lo;0;L;;;;;N;;;;; 13D2;CHEROKEE LETTER SV;Lo;0;L;;;;;N;;;;; 13D3;CHEROKEE LETTER DA;Lo;0;L;;;;;N;;;;; 13D4;CHEROKEE LETTER TA;Lo;0;L;;;;;N;;;;; 13D5;CHEROKEE LETTER DE;Lo;0;L;;;;;N;;;;; 13D6;CHEROKEE LETTER TE;Lo;0;L;;;;;N;;;;; 13D7;CHEROKEE LETTER DI;Lo;0;L;;;;;N;;;;; 13D8;CHEROKEE LETTER TI;Lo;0;L;;;;;N;;;;; 13D9;CHEROKEE LETTER DO;Lo;0;L;;;;;N;;;;; 13DA;CHEROKEE LETTER DU;Lo;0;L;;;;;N;;;;; 13DB;CHEROKEE LETTER DV;Lo;0;L;;;;;N;;;;; 13DC;CHEROKEE LETTER DLA;Lo;0;L;;;;;N;;;;; 13DD;CHEROKEE LETTER TLA;Lo;0;L;;;;;N;;;;; 13DE;CHEROKEE LETTER TLE;Lo;0;L;;;;;N;;;;; 13DF;CHEROKEE LETTER TLI;Lo;0;L;;;;;N;;;;; 13E0;CHEROKEE LETTER TLO;Lo;0;L;;;;;N;;;;; 13E1;CHEROKEE LETTER TLU;Lo;0;L;;;;;N;;;;; 13E2;CHEROKEE LETTER TLV;Lo;0;L;;;;;N;;;;; 13E3;CHEROKEE LETTER TSA;Lo;0;L;;;;;N;;;;; 13E4;CHEROKEE LETTER TSE;Lo;0;L;;;;;N;;;;; 13E5;CHEROKEE LETTER TSI;Lo;0;L;;;;;N;;;;; 13E6;CHEROKEE LETTER TSO;Lo;0;L;;;;;N;;;;; 13E7;CHEROKEE LETTER TSU;Lo;0;L;;;;;N;;;;; 13E8;CHEROKEE LETTER TSV;Lo;0;L;;;;;N;;;;; 13E9;CHEROKEE LETTER WA;Lo;0;L;;;;;N;;;;; 13EA;CHEROKEE LETTER WE;Lo;0;L;;;;;N;;;;; 13EB;CHEROKEE LETTER WI;Lo;0;L;;;;;N;;;;; 13EC;CHEROKEE LETTER WO;Lo;0;L;;;;;N;;;;; 13ED;CHEROKEE LETTER WU;Lo;0;L;;;;;N;;;;; 13EE;CHEROKEE LETTER WV;Lo;0;L;;;;;N;;;;; 13EF;CHEROKEE LETTER YA;Lo;0;L;;;;;N;;;;; 13F0;CHEROKEE LETTER YE;Lo;0;L;;;;;N;;;;; 13F1;CHEROKEE LETTER YI;Lo;0;L;;;;;N;;;;; 13F2;CHEROKEE LETTER YO;Lo;0;L;;;;;N;;;;; 13F3;CHEROKEE LETTER YU;Lo;0;L;;;;;N;;;;; 13F4;CHEROKEE LETTER YV;Lo;0;L;;;;;N;;;;; 1401;CANADIAN SYLLABICS E;Lo;0;L;;;;;N;;;;; 1402;CANADIAN SYLLABICS AAI;Lo;0;L;;;;;N;;;;; 1403;CANADIAN SYLLABICS I;Lo;0;L;;;;;N;;;;; 1404;CANADIAN SYLLABICS II;Lo;0;L;;;;;N;;;;; 1405;CANADIAN SYLLABICS O;Lo;0;L;;;;;N;;;;; 1406;CANADIAN SYLLABICS OO;Lo;0;L;;;;;N;;;;; 1407;CANADIAN SYLLABICS Y-CREE OO;Lo;0;L;;;;;N;;;;; 1408;CANADIAN SYLLABICS CARRIER EE;Lo;0;L;;;;;N;;;;; 1409;CANADIAN SYLLABICS CARRIER I;Lo;0;L;;;;;N;;;;; 140A;CANADIAN SYLLABICS A;Lo;0;L;;;;;N;;;;; 140B;CANADIAN SYLLABICS AA;Lo;0;L;;;;;N;;;;; 140C;CANADIAN SYLLABICS WE;Lo;0;L;;;;;N;;;;; 140D;CANADIAN SYLLABICS WEST-CREE WE;Lo;0;L;;;;;N;;;;; 140E;CANADIAN SYLLABICS WI;Lo;0;L;;;;;N;;;;; 140F;CANADIAN SYLLABICS WEST-CREE WI;Lo;0;L;;;;;N;;;;; 1410;CANADIAN SYLLABICS WII;Lo;0;L;;;;;N;;;;; 1411;CANADIAN SYLLABICS WEST-CREE WII;Lo;0;L;;;;;N;;;;; 1412;CANADIAN SYLLABICS WO;Lo;0;L;;;;;N;;;;; 1413;CANADIAN SYLLABICS WEST-CREE WO;Lo;0;L;;;;;N;;;;; 1414;CANADIAN SYLLABICS WOO;Lo;0;L;;;;;N;;;;; 1415;CANADIAN SYLLABICS WEST-CREE WOO;Lo;0;L;;;;;N;;;;; 1416;CANADIAN SYLLABICS NASKAPI WOO;Lo;0;L;;;;;N;;;;; 1417;CANADIAN SYLLABICS WA;Lo;0;L;;;;;N;;;;; 1418;CANADIAN SYLLABICS WEST-CREE WA;Lo;0;L;;;;;N;;;;; 1419;CANADIAN SYLLABICS WAA;Lo;0;L;;;;;N;;;;; 141A;CANADIAN SYLLABICS WEST-CREE WAA;Lo;0;L;;;;;N;;;;; 141B;CANADIAN SYLLABICS NASKAPI WAA;Lo;0;L;;;;;N;;;;; 141C;CANADIAN SYLLABICS AI;Lo;0;L;;;;;N;;;;; 141D;CANADIAN SYLLABICS Y-CREE W;Lo;0;L;;;;;N;;;;; 141E;CANADIAN SYLLABICS GLOTTAL STOP;Lo;0;L;;;;;N;;;;; 141F;CANADIAN SYLLABICS FINAL ACUTE;Lo;0;L;;;;;N;;;;; 1420;CANADIAN SYLLABICS FINAL GRAVE;Lo;0;L;;;;;N;;;;; 1421;CANADIAN SYLLABICS FINAL BOTTOM HALF RING;Lo;0;L;;;;;N;;;;; 1422;CANADIAN SYLLABICS FINAL TOP HALF RING;Lo;0;L;;;;;N;;;;; 1423;CANADIAN SYLLABICS FINAL RIGHT HALF RING;Lo;0;L;;;;;N;;;;; 1424;CANADIAN SYLLABICS FINAL RING;Lo;0;L;;;;;N;;;;; 1425;CANADIAN SYLLABICS FINAL DOUBLE ACUTE;Lo;0;L;;;;;N;;;;; 1426;CANADIAN SYLLABICS FINAL DOUBLE SHORT VERTICAL STROKES;Lo;0;L;;;;;N;;;;; 1427;CANADIAN SYLLABICS FINAL MIDDLE DOT;Lo;0;L;;;;;N;;;;; 1428;CANADIAN SYLLABICS FINAL SHORT HORIZONTAL STROKE;Lo;0;L;;;;;N;;;;; 1429;CANADIAN SYLLABICS FINAL PLUS;Lo;0;L;;;;;N;;;;; 142A;CANADIAN SYLLABICS FINAL DOWN TACK;Lo;0;L;;;;;N;;;;; 142B;CANADIAN SYLLABICS EN;Lo;0;L;;;;;N;;;;; 142C;CANADIAN SYLLABICS IN;Lo;0;L;;;;;N;;;;; 142D;CANADIAN SYLLABICS ON;Lo;0;L;;;;;N;;;;; 142E;CANADIAN SYLLABICS AN;Lo;0;L;;;;;N;;;;; 142F;CANADIAN SYLLABICS PE;Lo;0;L;;;;;N;;;;; 1430;CANADIAN SYLLABICS PAAI;Lo;0;L;;;;;N;;;;; 1431;CANADIAN SYLLABICS PI;Lo;0;L;;;;;N;;;;; 1432;CANADIAN SYLLABICS PII;Lo;0;L;;;;;N;;;;; 1433;CANADIAN SYLLABICS PO;Lo;0;L;;;;;N;;;;; 1434;CANADIAN SYLLABICS POO;Lo;0;L;;;;;N;;;;; 1435;CANADIAN SYLLABICS Y-CREE POO;Lo;0;L;;;;;N;;;;; 1436;CANADIAN SYLLABICS CARRIER HEE;Lo;0;L;;;;;N;;;;; 1437;CANADIAN SYLLABICS CARRIER HI;Lo;0;L;;;;;N;;;;; 1438;CANADIAN SYLLABICS PA;Lo;0;L;;;;;N;;;;; 1439;CANADIAN SYLLABICS PAA;Lo;0;L;;;;;N;;;;; 143A;CANADIAN SYLLABICS PWE;Lo;0;L;;;;;N;;;;; 143B;CANADIAN SYLLABICS WEST-CREE PWE;Lo;0;L;;;;;N;;;;; 143C;CANADIAN SYLLABICS PWI;Lo;0;L;;;;;N;;;;; 143D;CANADIAN SYLLABICS WEST-CREE PWI;Lo;0;L;;;;;N;;;;; 143E;CANADIAN SYLLABICS PWII;Lo;0;L;;;;;N;;;;; 143F;CANADIAN SYLLABICS WEST-CREE PWII;Lo;0;L;;;;;N;;;;; 1440;CANADIAN SYLLABICS PWO;Lo;0;L;;;;;N;;;;; 1441;CANADIAN SYLLABICS WEST-CREE PWO;Lo;0;L;;;;;N;;;;; 1442;CANADIAN SYLLABICS PWOO;Lo;0;L;;;;;N;;;;; 1443;CANADIAN SYLLABICS WEST-CREE PWOO;Lo;0;L;;;;;N;;;;; 1444;CANADIAN SYLLABICS PWA;Lo;0;L;;;;;N;;;;; 1445;CANADIAN SYLLABICS WEST-CREE PWA;Lo;0;L;;;;;N;;;;; 1446;CANADIAN SYLLABICS PWAA;Lo;0;L;;;;;N;;;;; 1447;CANADIAN SYLLABICS WEST-CREE PWAA;Lo;0;L;;;;;N;;;;; 1448;CANADIAN SYLLABICS Y-CREE PWAA;Lo;0;L;;;;;N;;;;; 1449;CANADIAN SYLLABICS P;Lo;0;L;;;;;N;;;;; 144A;CANADIAN SYLLABICS WEST-CREE P;Lo;0;L;;;;;N;;;;; 144B;CANADIAN SYLLABICS CARRIER H;Lo;0;L;;;;;N;;;;; 144C;CANADIAN SYLLABICS TE;Lo;0;L;;;;;N;;;;; 144D;CANADIAN SYLLABICS TAAI;Lo;0;L;;;;;N;;;;; 144E;CANADIAN SYLLABICS TI;Lo;0;L;;;;;N;;;;; 144F;CANADIAN SYLLABICS TII;Lo;0;L;;;;;N;;;;; 1450;CANADIAN SYLLABICS TO;Lo;0;L;;;;;N;;;;; 1451;CANADIAN SYLLABICS TOO;Lo;0;L;;;;;N;;;;; 1452;CANADIAN SYLLABICS Y-CREE TOO;Lo;0;L;;;;;N;;;;; 1453;CANADIAN SYLLABICS CARRIER DEE;Lo;0;L;;;;;N;;;;; 1454;CANADIAN SYLLABICS CARRIER DI;Lo;0;L;;;;;N;;;;; 1455;CANADIAN SYLLABICS TA;Lo;0;L;;;;;N;;;;; 1456;CANADIAN SYLLABICS TAA;Lo;0;L;;;;;N;;;;; 1457;CANADIAN SYLLABICS TWE;Lo;0;L;;;;;N;;;;; 1458;CANADIAN SYLLABICS WEST-CREE TWE;Lo;0;L;;;;;N;;;;; 1459;CANADIAN SYLLABICS TWI;Lo;0;L;;;;;N;;;;; 145A;CANADIAN SYLLABICS WEST-CREE TWI;Lo;0;L;;;;;N;;;;; 145B;CANADIAN SYLLABICS TWII;Lo;0;L;;;;;N;;;;; 145C;CANADIAN SYLLABICS WEST-CREE TWII;Lo;0;L;;;;;N;;;;; 145D;CANADIAN SYLLABICS TWO;Lo;0;L;;;;;N;;;;; 145E;CANADIAN SYLLABICS WEST-CREE TWO;Lo;0;L;;;;;N;;;;; 145F;CANADIAN SYLLABICS TWOO;Lo;0;L;;;;;N;;;;; 1460;CANADIAN SYLLABICS WEST-CREE TWOO;Lo;0;L;;;;;N;;;;; 1461;CANADIAN SYLLABICS TWA;Lo;0;L;;;;;N;;;;; 1462;CANADIAN SYLLABICS WEST-CREE TWA;Lo;0;L;;;;;N;;;;; 1463;CANADIAN SYLLABICS TWAA;Lo;0;L;;;;;N;;;;; 1464;CANADIAN SYLLABICS WEST-CREE TWAA;Lo;0;L;;;;;N;;;;; 1465;CANADIAN SYLLABICS NASKAPI TWAA;Lo;0;L;;;;;N;;;;; 1466;CANADIAN SYLLABICS T;Lo;0;L;;;;;N;;;;; 1467;CANADIAN SYLLABICS TTE;Lo;0;L;;;;;N;;;;; 1468;CANADIAN SYLLABICS TTI;Lo;0;L;;;;;N;;;;; 1469;CANADIAN SYLLABICS TTO;Lo;0;L;;;;;N;;;;; 146A;CANADIAN SYLLABICS TTA;Lo;0;L;;;;;N;;;;; 146B;CANADIAN SYLLABICS KE;Lo;0;L;;;;;N;;;;; 146C;CANADIAN SYLLABICS KAAI;Lo;0;L;;;;;N;;;;; 146D;CANADIAN SYLLABICS KI;Lo;0;L;;;;;N;;;;; 146E;CANADIAN SYLLABICS KII;Lo;0;L;;;;;N;;;;; 146F;CANADIAN SYLLABICS KO;Lo;0;L;;;;;N;;;;; 1470;CANADIAN SYLLABICS KOO;Lo;0;L;;;;;N;;;;; 1471;CANADIAN SYLLABICS Y-CREE KOO;Lo;0;L;;;;;N;;;;; 1472;CANADIAN SYLLABICS KA;Lo;0;L;;;;;N;;;;; 1473;CANADIAN SYLLABICS KAA;Lo;0;L;;;;;N;;;;; 1474;CANADIAN SYLLABICS KWE;Lo;0;L;;;;;N;;;;; 1475;CANADIAN SYLLABICS WEST-CREE KWE;Lo;0;L;;;;;N;;;;; 1476;CANADIAN SYLLABICS KWI;Lo;0;L;;;;;N;;;;; 1477;CANADIAN SYLLABICS WEST-CREE KWI;Lo;0;L;;;;;N;;;;; 1478;CANADIAN SYLLABICS KWII;Lo;0;L;;;;;N;;;;; 1479;CANADIAN SYLLABICS WEST-CREE KWII;Lo;0;L;;;;;N;;;;; 147A;CANADIAN SYLLABICS KWO;Lo;0;L;;;;;N;;;;; 147B;CANADIAN SYLLABICS WEST-CREE KWO;Lo;0;L;;;;;N;;;;; 147C;CANADIAN SYLLABICS KWOO;Lo;0;L;;;;;N;;;;; 147D;CANADIAN SYLLABICS WEST-CREE KWOO;Lo;0;L;;;;;N;;;;; 147E;CANADIAN SYLLABICS KWA;Lo;0;L;;;;;N;;;;; 147F;CANADIAN SYLLABICS WEST-CREE KWA;Lo;0;L;;;;;N;;;;; 1480;CANADIAN SYLLABICS KWAA;Lo;0;L;;;;;N;;;;; 1481;CANADIAN SYLLABICS WEST-CREE KWAA;Lo;0;L;;;;;N;;;;; 1482;CANADIAN SYLLABICS NASKAPI KWAA;Lo;0;L;;;;;N;;;;; 1483;CANADIAN SYLLABICS K;Lo;0;L;;;;;N;;;;; 1484;CANADIAN SYLLABICS KW;Lo;0;L;;;;;N;;;;; 1485;CANADIAN SYLLABICS SOUTH-SLAVEY KEH;Lo;0;L;;;;;N;;;;; 1486;CANADIAN SYLLABICS SOUTH-SLAVEY KIH;Lo;0;L;;;;;N;;;;; 1487;CANADIAN SYLLABICS SOUTH-SLAVEY KOH;Lo;0;L;;;;;N;;;;; 1488;CANADIAN SYLLABICS SOUTH-SLAVEY KAH;Lo;0;L;;;;;N;;;;; 1489;CANADIAN SYLLABICS CE;Lo;0;L;;;;;N;;;;; 148A;CANADIAN SYLLABICS CAAI;Lo;0;L;;;;;N;;;;; 148B;CANADIAN SYLLABICS CI;Lo;0;L;;;;;N;;;;; 148C;CANADIAN SYLLABICS CII;Lo;0;L;;;;;N;;;;; 148D;CANADIAN SYLLABICS CO;Lo;0;L;;;;;N;;;;; 148E;CANADIAN SYLLABICS COO;Lo;0;L;;;;;N;;;;; 148F;CANADIAN SYLLABICS Y-CREE COO;Lo;0;L;;;;;N;;;;; 1490;CANADIAN SYLLABICS CA;Lo;0;L;;;;;N;;;;; 1491;CANADIAN SYLLABICS CAA;Lo;0;L;;;;;N;;;;; 1492;CANADIAN SYLLABICS CWE;Lo;0;L;;;;;N;;;;; 1493;CANADIAN SYLLABICS WEST-CREE CWE;Lo;0;L;;;;;N;;;;; 1494;CANADIAN SYLLABICS CWI;Lo;0;L;;;;;N;;;;; 1495;CANADIAN SYLLABICS WEST-CREE CWI;Lo;0;L;;;;;N;;;;; 1496;CANADIAN SYLLABICS CWII;Lo;0;L;;;;;N;;;;; 1497;CANADIAN SYLLABICS WEST-CREE CWII;Lo;0;L;;;;;N;;;;; 1498;CANADIAN SYLLABICS CWO;Lo;0;L;;;;;N;;;;; 1499;CANADIAN SYLLABICS WEST-CREE CWO;Lo;0;L;;;;;N;;;;; 149A;CANADIAN SYLLABICS CWOO;Lo;0;L;;;;;N;;;;; 149B;CANADIAN SYLLABICS WEST-CREE CWOO;Lo;0;L;;;;;N;;;;; 149C;CANADIAN SYLLABICS CWA;Lo;0;L;;;;;N;;;;; 149D;CANADIAN SYLLABICS WEST-CREE CWA;Lo;0;L;;;;;N;;;;; 149E;CANADIAN SYLLABICS CWAA;Lo;0;L;;;;;N;;;;; 149F;CANADIAN SYLLABICS WEST-CREE CWAA;Lo;0;L;;;;;N;;;;; 14A0;CANADIAN SYLLABICS NASKAPI CWAA;Lo;0;L;;;;;N;;;;; 14A1;CANADIAN SYLLABICS C;Lo;0;L;;;;;N;;;;; 14A2;CANADIAN SYLLABICS SAYISI TH;Lo;0;L;;;;;N;;;;; 14A3;CANADIAN SYLLABICS ME;Lo;0;L;;;;;N;;;;; 14A4;CANADIAN SYLLABICS MAAI;Lo;0;L;;;;;N;;;;; 14A5;CANADIAN SYLLABICS MI;Lo;0;L;;;;;N;;;;; 14A6;CANADIAN SYLLABICS MII;Lo;0;L;;;;;N;;;;; 14A7;CANADIAN SYLLABICS MO;Lo;0;L;;;;;N;;;;; 14A8;CANADIAN SYLLABICS MOO;Lo;0;L;;;;;N;;;;; 14A9;CANADIAN SYLLABICS Y-CREE MOO;Lo;0;L;;;;;N;;;;; 14AA;CANADIAN SYLLABICS MA;Lo;0;L;;;;;N;;;;; 14AB;CANADIAN SYLLABICS MAA;Lo;0;L;;;;;N;;;;; 14AC;CANADIAN SYLLABICS MWE;Lo;0;L;;;;;N;;;;; 14AD;CANADIAN SYLLABICS WEST-CREE MWE;Lo;0;L;;;;;N;;;;; 14AE;CANADIAN SYLLABICS MWI;Lo;0;L;;;;;N;;;;; 14AF;CANADIAN SYLLABICS WEST-CREE MWI;Lo;0;L;;;;;N;;;;; 14B0;CANADIAN SYLLABICS MWII;Lo;0;L;;;;;N;;;;; 14B1;CANADIAN SYLLABICS WEST-CREE MWII;Lo;0;L;;;;;N;;;;; 14B2;CANADIAN SYLLABICS MWO;Lo;0;L;;;;;N;;;;; 14B3;CANADIAN SYLLABICS WEST-CREE MWO;Lo;0;L;;;;;N;;;;; 14B4;CANADIAN SYLLABICS MWOO;Lo;0;L;;;;;N;;;;; 14B5;CANADIAN SYLLABICS WEST-CREE MWOO;Lo;0;L;;;;;N;;;;; 14B6;CANADIAN SYLLABICS MWA;Lo;0;L;;;;;N;;;;; 14B7;CANADIAN SYLLABICS WEST-CREE MWA;Lo;0;L;;;;;N;;;;; 14B8;CANADIAN SYLLABICS MWAA;Lo;0;L;;;;;N;;;;; 14B9;CANADIAN SYLLABICS WEST-CREE MWAA;Lo;0;L;;;;;N;;;;; 14BA;CANADIAN SYLLABICS NASKAPI MWAA;Lo;0;L;;;;;N;;;;; 14BB;CANADIAN SYLLABICS M;Lo;0;L;;;;;N;;;;; 14BC;CANADIAN SYLLABICS WEST-CREE M;Lo;0;L;;;;;N;;;;; 14BD;CANADIAN SYLLABICS MH;Lo;0;L;;;;;N;;;;; 14BE;CANADIAN SYLLABICS ATHAPASCAN M;Lo;0;L;;;;;N;;;;; 14BF;CANADIAN SYLLABICS SAYISI M;Lo;0;L;;;;;N;;;;; 14C0;CANADIAN SYLLABICS NE;Lo;0;L;;;;;N;;;;; 14C1;CANADIAN SYLLABICS NAAI;Lo;0;L;;;;;N;;;;; 14C2;CANADIAN SYLLABICS NI;Lo;0;L;;;;;N;;;;; 14C3;CANADIAN SYLLABICS NII;Lo;0;L;;;;;N;;;;; 14C4;CANADIAN SYLLABICS NO;Lo;0;L;;;;;N;;;;; 14C5;CANADIAN SYLLABICS NOO;Lo;0;L;;;;;N;;;;; 14C6;CANADIAN SYLLABICS Y-CREE NOO;Lo;0;L;;;;;N;;;;; 14C7;CANADIAN SYLLABICS NA;Lo;0;L;;;;;N;;;;; 14C8;CANADIAN SYLLABICS NAA;Lo;0;L;;;;;N;;;;; 14C9;CANADIAN SYLLABICS NWE;Lo;0;L;;;;;N;;;;; 14CA;CANADIAN SYLLABICS WEST-CREE NWE;Lo;0;L;;;;;N;;;;; 14CB;CANADIAN SYLLABICS NWA;Lo;0;L;;;;;N;;;;; 14CC;CANADIAN SYLLABICS WEST-CREE NWA;Lo;0;L;;;;;N;;;;; 14CD;CANADIAN SYLLABICS NWAA;Lo;0;L;;;;;N;;;;; 14CE;CANADIAN SYLLABICS WEST-CREE NWAA;Lo;0;L;;;;;N;;;;; 14CF;CANADIAN SYLLABICS NASKAPI NWAA;Lo;0;L;;;;;N;;;;; 14D0;CANADIAN SYLLABICS N;Lo;0;L;;;;;N;;;;; 14D1;CANADIAN SYLLABICS CARRIER NG;Lo;0;L;;;;;N;;;;; 14D2;CANADIAN SYLLABICS NH;Lo;0;L;;;;;N;;;;; 14D3;CANADIAN SYLLABICS LE;Lo;0;L;;;;;N;;;;; 14D4;CANADIAN SYLLABICS LAAI;Lo;0;L;;;;;N;;;;; 14D5;CANADIAN SYLLABICS LI;Lo;0;L;;;;;N;;;;; 14D6;CANADIAN SYLLABICS LII;Lo;0;L;;;;;N;;;;; 14D7;CANADIAN SYLLABICS LO;Lo;0;L;;;;;N;;;;; 14D8;CANADIAN SYLLABICS LOO;Lo;0;L;;;;;N;;;;; 14D9;CANADIAN SYLLABICS Y-CREE LOO;Lo;0;L;;;;;N;;;;; 14DA;CANADIAN SYLLABICS LA;Lo;0;L;;;;;N;;;;; 14DB;CANADIAN SYLLABICS LAA;Lo;0;L;;;;;N;;;;; 14DC;CANADIAN SYLLABICS LWE;Lo;0;L;;;;;N;;;;; 14DD;CANADIAN SYLLABICS WEST-CREE LWE;Lo;0;L;;;;;N;;;;; 14DE;CANADIAN SYLLABICS LWI;Lo;0;L;;;;;N;;;;; 14DF;CANADIAN SYLLABICS WEST-CREE LWI;Lo;0;L;;;;;N;;;;; 14E0;CANADIAN SYLLABICS LWII;Lo;0;L;;;;;N;;;;; 14E1;CANADIAN SYLLABICS WEST-CREE LWII;Lo;0;L;;;;;N;;;;; 14E2;CANADIAN SYLLABICS LWO;Lo;0;L;;;;;N;;;;; 14E3;CANADIAN SYLLABICS WEST-CREE LWO;Lo;0;L;;;;;N;;;;; 14E4;CANADIAN SYLLABICS LWOO;Lo;0;L;;;;;N;;;;; 14E5;CANADIAN SYLLABICS WEST-CREE LWOO;Lo;0;L;;;;;N;;;;; 14E6;CANADIAN SYLLABICS LWA;Lo;0;L;;;;;N;;;;; 14E7;CANADIAN SYLLABICS WEST-CREE LWA;Lo;0;L;;;;;N;;;;; 14E8;CANADIAN SYLLABICS LWAA;Lo;0;L;;;;;N;;;;; 14E9;CANADIAN SYLLABICS WEST-CREE LWAA;Lo;0;L;;;;;N;;;;; 14EA;CANADIAN SYLLABICS L;Lo;0;L;;;;;N;;;;; 14EB;CANADIAN SYLLABICS WEST-CREE L;Lo;0;L;;;;;N;;;;; 14EC;CANADIAN SYLLABICS MEDIAL L;Lo;0;L;;;;;N;;;;; 14ED;CANADIAN SYLLABICS SE;Lo;0;L;;;;;N;;;;; 14EE;CANADIAN SYLLABICS SAAI;Lo;0;L;;;;;N;;;;; 14EF;CANADIAN SYLLABICS SI;Lo;0;L;;;;;N;;;;; 14F0;CANADIAN SYLLABICS SII;Lo;0;L;;;;;N;;;;; 14F1;CANADIAN SYLLABICS SO;Lo;0;L;;;;;N;;;;; 14F2;CANADIAN SYLLABICS SOO;Lo;0;L;;;;;N;;;;; 14F3;CANADIAN SYLLABICS Y-CREE SOO;Lo;0;L;;;;;N;;;;; 14F4;CANADIAN SYLLABICS SA;Lo;0;L;;;;;N;;;;; 14F5;CANADIAN SYLLABICS SAA;Lo;0;L;;;;;N;;;;; 14F6;CANADIAN SYLLABICS SWE;Lo;0;L;;;;;N;;;;; 14F7;CANADIAN SYLLABICS WEST-CREE SWE;Lo;0;L;;;;;N;;;;; 14F8;CANADIAN SYLLABICS SWI;Lo;0;L;;;;;N;;;;; 14F9;CANADIAN SYLLABICS WEST-CREE SWI;Lo;0;L;;;;;N;;;;; 14FA;CANADIAN SYLLABICS SWII;Lo;0;L;;;;;N;;;;; 14FB;CANADIAN SYLLABICS WEST-CREE SWII;Lo;0;L;;;;;N;;;;; 14FC;CANADIAN SYLLABICS SWO;Lo;0;L;;;;;N;;;;; 14FD;CANADIAN SYLLABICS WEST-CREE SWO;Lo;0;L;;;;;N;;;;; 14FE;CANADIAN SYLLABICS SWOO;Lo;0;L;;;;;N;;;;; 14FF;CANADIAN SYLLABICS WEST-CREE SWOO;Lo;0;L;;;;;N;;;;; 1500;CANADIAN SYLLABICS SWA;Lo;0;L;;;;;N;;;;; 1501;CANADIAN SYLLABICS WEST-CREE SWA;Lo;0;L;;;;;N;;;;; 1502;CANADIAN SYLLABICS SWAA;Lo;0;L;;;;;N;;;;; 1503;CANADIAN SYLLABICS WEST-CREE SWAA;Lo;0;L;;;;;N;;;;; 1504;CANADIAN SYLLABICS NASKAPI SWAA;Lo;0;L;;;;;N;;;;; 1505;CANADIAN SYLLABICS S;Lo;0;L;;;;;N;;;;; 1506;CANADIAN SYLLABICS ATHAPASCAN S;Lo;0;L;;;;;N;;;;; 1507;CANADIAN SYLLABICS SW;Lo;0;L;;;;;N;;;;; 1508;CANADIAN SYLLABICS BLACKFOOT S;Lo;0;L;;;;;N;;;;; 1509;CANADIAN SYLLABICS MOOSE-CREE SK;Lo;0;L;;;;;N;;;;; 150A;CANADIAN SYLLABICS NASKAPI SKW;Lo;0;L;;;;;N;;;;; 150B;CANADIAN SYLLABICS NASKAPI S-W;Lo;0;L;;;;;N;;;;; 150C;CANADIAN SYLLABICS NASKAPI SPWA;Lo;0;L;;;;;N;;;;; 150D;CANADIAN SYLLABICS NASKAPI STWA;Lo;0;L;;;;;N;;;;; 150E;CANADIAN SYLLABICS NASKAPI SKWA;Lo;0;L;;;;;N;;;;; 150F;CANADIAN SYLLABICS NASKAPI SCWA;Lo;0;L;;;;;N;;;;; 1510;CANADIAN SYLLABICS SHE;Lo;0;L;;;;;N;;;;; 1511;CANADIAN SYLLABICS SHI;Lo;0;L;;;;;N;;;;; 1512;CANADIAN SYLLABICS SHII;Lo;0;L;;;;;N;;;;; 1513;CANADIAN SYLLABICS SHO;Lo;0;L;;;;;N;;;;; 1514;CANADIAN SYLLABICS SHOO;Lo;0;L;;;;;N;;;;; 1515;CANADIAN SYLLABICS SHA;Lo;0;L;;;;;N;;;;; 1516;CANADIAN SYLLABICS SHAA;Lo;0;L;;;;;N;;;;; 1517;CANADIAN SYLLABICS SHWE;Lo;0;L;;;;;N;;;;; 1518;CANADIAN SYLLABICS WEST-CREE SHWE;Lo;0;L;;;;;N;;;;; 1519;CANADIAN SYLLABICS SHWI;Lo;0;L;;;;;N;;;;; 151A;CANADIAN SYLLABICS WEST-CREE SHWI;Lo;0;L;;;;;N;;;;; 151B;CANADIAN SYLLABICS SHWII;Lo;0;L;;;;;N;;;;; 151C;CANADIAN SYLLABICS WEST-CREE SHWII;Lo;0;L;;;;;N;;;;; 151D;CANADIAN SYLLABICS SHWO;Lo;0;L;;;;;N;;;;; 151E;CANADIAN SYLLABICS WEST-CREE SHWO;Lo;0;L;;;;;N;;;;; 151F;CANADIAN SYLLABICS SHWOO;Lo;0;L;;;;;N;;;;; 1520;CANADIAN SYLLABICS WEST-CREE SHWOO;Lo;0;L;;;;;N;;;;; 1521;CANADIAN SYLLABICS SHWA;Lo;0;L;;;;;N;;;;; 1522;CANADIAN SYLLABICS WEST-CREE SHWA;Lo;0;L;;;;;N;;;;; 1523;CANADIAN SYLLABICS SHWAA;Lo;0;L;;;;;N;;;;; 1524;CANADIAN SYLLABICS WEST-CREE SHWAA;Lo;0;L;;;;;N;;;;; 1525;CANADIAN SYLLABICS SH;Lo;0;L;;;;;N;;;;; 1526;CANADIAN SYLLABICS YE;Lo;0;L;;;;;N;;;;; 1527;CANADIAN SYLLABICS YAAI;Lo;0;L;;;;;N;;;;; 1528;CANADIAN SYLLABICS YI;Lo;0;L;;;;;N;;;;; 1529;CANADIAN SYLLABICS YII;Lo;0;L;;;;;N;;;;; 152A;CANADIAN SYLLABICS YO;Lo;0;L;;;;;N;;;;; 152B;CANADIAN SYLLABICS YOO;Lo;0;L;;;;;N;;;;; 152C;CANADIAN SYLLABICS Y-CREE YOO;Lo;0;L;;;;;N;;;;; 152D;CANADIAN SYLLABICS YA;Lo;0;L;;;;;N;;;;; 152E;CANADIAN SYLLABICS YAA;Lo;0;L;;;;;N;;;;; 152F;CANADIAN SYLLABICS YWE;Lo;0;L;;;;;N;;;;; 1530;CANADIAN SYLLABICS WEST-CREE YWE;Lo;0;L;;;;;N;;;;; 1531;CANADIAN SYLLABICS YWI;Lo;0;L;;;;;N;;;;; 1532;CANADIAN SYLLABICS WEST-CREE YWI;Lo;0;L;;;;;N;;;;; 1533;CANADIAN SYLLABICS YWII;Lo;0;L;;;;;N;;;;; 1534;CANADIAN SYLLABICS WEST-CREE YWII;Lo;0;L;;;;;N;;;;; 1535;CANADIAN SYLLABICS YWO;Lo;0;L;;;;;N;;;;; 1536;CANADIAN SYLLABICS WEST-CREE YWO;Lo;0;L;;;;;N;;;;; 1537;CANADIAN SYLLABICS YWOO;Lo;0;L;;;;;N;;;;; 1538;CANADIAN SYLLABICS WEST-CREE YWOO;Lo;0;L;;;;;N;;;;; 1539;CANADIAN SYLLABICS YWA;Lo;0;L;;;;;N;;;;; 153A;CANADIAN SYLLABICS WEST-CREE YWA;Lo;0;L;;;;;N;;;;; 153B;CANADIAN SYLLABICS YWAA;Lo;0;L;;;;;N;;;;; 153C;CANADIAN SYLLABICS WEST-CREE YWAA;Lo;0;L;;;;;N;;;;; 153D;CANADIAN SYLLABICS NASKAPI YWAA;Lo;0;L;;;;;N;;;;; 153E;CANADIAN SYLLABICS Y;Lo;0;L;;;;;N;;;;; 153F;CANADIAN SYLLABICS BIBLE-CREE Y;Lo;0;L;;;;;N;;;;; 1540;CANADIAN SYLLABICS WEST-CREE Y;Lo;0;L;;;;;N;;;;; 1541;CANADIAN SYLLABICS SAYISI YI;Lo;0;L;;;;;N;;;;; 1542;CANADIAN SYLLABICS RE;Lo;0;L;;;;;N;;;;; 1543;CANADIAN SYLLABICS R-CREE RE;Lo;0;L;;;;;N;;;;; 1544;CANADIAN SYLLABICS WEST-CREE LE;Lo;0;L;;;;;N;;;;; 1545;CANADIAN SYLLABICS RAAI;Lo;0;L;;;;;N;;;;; 1546;CANADIAN SYLLABICS RI;Lo;0;L;;;;;N;;;;; 1547;CANADIAN SYLLABICS RII;Lo;0;L;;;;;N;;;;; 1548;CANADIAN SYLLABICS RO;Lo;0;L;;;;;N;;;;; 1549;CANADIAN SYLLABICS ROO;Lo;0;L;;;;;N;;;;; 154A;CANADIAN SYLLABICS WEST-CREE LO;Lo;0;L;;;;;N;;;;; 154B;CANADIAN SYLLABICS RA;Lo;0;L;;;;;N;;;;; 154C;CANADIAN SYLLABICS RAA;Lo;0;L;;;;;N;;;;; 154D;CANADIAN SYLLABICS WEST-CREE LA;Lo;0;L;;;;;N;;;;; 154E;CANADIAN SYLLABICS RWAA;Lo;0;L;;;;;N;;;;; 154F;CANADIAN SYLLABICS WEST-CREE RWAA;Lo;0;L;;;;;N;;;;; 1550;CANADIAN SYLLABICS R;Lo;0;L;;;;;N;;;;; 1551;CANADIAN SYLLABICS WEST-CREE R;Lo;0;L;;;;;N;;;;; 1552;CANADIAN SYLLABICS MEDIAL R;Lo;0;L;;;;;N;;;;; 1553;CANADIAN SYLLABICS FE;Lo;0;L;;;;;N;;;;; 1554;CANADIAN SYLLABICS FAAI;Lo;0;L;;;;;N;;;;; 1555;CANADIAN SYLLABICS FI;Lo;0;L;;;;;N;;;;; 1556;CANADIAN SYLLABICS FII;Lo;0;L;;;;;N;;;;; 1557;CANADIAN SYLLABICS FO;Lo;0;L;;;;;N;;;;; 1558;CANADIAN SYLLABICS FOO;Lo;0;L;;;;;N;;;;; 1559;CANADIAN SYLLABICS FA;Lo;0;L;;;;;N;;;;; 155A;CANADIAN SYLLABICS FAA;Lo;0;L;;;;;N;;;;; 155B;CANADIAN SYLLABICS FWAA;Lo;0;L;;;;;N;;;;; 155C;CANADIAN SYLLABICS WEST-CREE FWAA;Lo;0;L;;;;;N;;;;; 155D;CANADIAN SYLLABICS F;Lo;0;L;;;;;N;;;;; 155E;CANADIAN SYLLABICS THE;Lo;0;L;;;;;N;;;;; 155F;CANADIAN SYLLABICS N-CREE THE;Lo;0;L;;;;;N;;;;; 1560;CANADIAN SYLLABICS THI;Lo;0;L;;;;;N;;;;; 1561;CANADIAN SYLLABICS N-CREE THI;Lo;0;L;;;;;N;;;;; 1562;CANADIAN SYLLABICS THII;Lo;0;L;;;;;N;;;;; 1563;CANADIAN SYLLABICS N-CREE THII;Lo;0;L;;;;;N;;;;; 1564;CANADIAN SYLLABICS THO;Lo;0;L;;;;;N;;;;; 1565;CANADIAN SYLLABICS THOO;Lo;0;L;;;;;N;;;;; 1566;CANADIAN SYLLABICS THA;Lo;0;L;;;;;N;;;;; 1567;CANADIAN SYLLABICS THAA;Lo;0;L;;;;;N;;;;; 1568;CANADIAN SYLLABICS THWAA;Lo;0;L;;;;;N;;;;; 1569;CANADIAN SYLLABICS WEST-CREE THWAA;Lo;0;L;;;;;N;;;;; 156A;CANADIAN SYLLABICS TH;Lo;0;L;;;;;N;;;;; 156B;CANADIAN SYLLABICS TTHE;Lo;0;L;;;;;N;;;;; 156C;CANADIAN SYLLABICS TTHI;Lo;0;L;;;;;N;;;;; 156D;CANADIAN SYLLABICS TTHO;Lo;0;L;;;;;N;;;;; 156E;CANADIAN SYLLABICS TTHA;Lo;0;L;;;;;N;;;;; 156F;CANADIAN SYLLABICS TTH;Lo;0;L;;;;;N;;;;; 1570;CANADIAN SYLLABICS TYE;Lo;0;L;;;;;N;;;;; 1571;CANADIAN SYLLABICS TYI;Lo;0;L;;;;;N;;;;; 1572;CANADIAN SYLLABICS TYO;Lo;0;L;;;;;N;;;;; 1573;CANADIAN SYLLABICS TYA;Lo;0;L;;;;;N;;;;; 1574;CANADIAN SYLLABICS NUNAVIK HE;Lo;0;L;;;;;N;;;;; 1575;CANADIAN SYLLABICS NUNAVIK HI;Lo;0;L;;;;;N;;;;; 1576;CANADIAN SYLLABICS NUNAVIK HII;Lo;0;L;;;;;N;;;;; 1577;CANADIAN SYLLABICS NUNAVIK HO;Lo;0;L;;;;;N;;;;; 1578;CANADIAN SYLLABICS NUNAVIK HOO;Lo;0;L;;;;;N;;;;; 1579;CANADIAN SYLLABICS NUNAVIK HA;Lo;0;L;;;;;N;;;;; 157A;CANADIAN SYLLABICS NUNAVIK HAA;Lo;0;L;;;;;N;;;;; 157B;CANADIAN SYLLABICS NUNAVIK H;Lo;0;L;;;;;N;;;;; 157C;CANADIAN SYLLABICS NUNAVUT H;Lo;0;L;;;;;N;;;;; 157D;CANADIAN SYLLABICS HK;Lo;0;L;;;;;N;;;;; 157E;CANADIAN SYLLABICS QAAI;Lo;0;L;;;;;N;;;;; 157F;CANADIAN SYLLABICS QI;Lo;0;L;;;;;N;;;;; 1580;CANADIAN SYLLABICS QII;Lo;0;L;;;;;N;;;;; 1581;CANADIAN SYLLABICS QO;Lo;0;L;;;;;N;;;;; 1582;CANADIAN SYLLABICS QOO;Lo;0;L;;;;;N;;;;; 1583;CANADIAN SYLLABICS QA;Lo;0;L;;;;;N;;;;; 1584;CANADIAN SYLLABICS QAA;Lo;0;L;;;;;N;;;;; 1585;CANADIAN SYLLABICS Q;Lo;0;L;;;;;N;;;;; 1586;CANADIAN SYLLABICS TLHE;Lo;0;L;;;;;N;;;;; 1587;CANADIAN SYLLABICS TLHI;Lo;0;L;;;;;N;;;;; 1588;CANADIAN SYLLABICS TLHO;Lo;0;L;;;;;N;;;;; 1589;CANADIAN SYLLABICS TLHA;Lo;0;L;;;;;N;;;;; 158A;CANADIAN SYLLABICS WEST-CREE RE;Lo;0;L;;;;;N;;;;; 158B;CANADIAN SYLLABICS WEST-CREE RI;Lo;0;L;;;;;N;;;;; 158C;CANADIAN SYLLABICS WEST-CREE RO;Lo;0;L;;;;;N;;;;; 158D;CANADIAN SYLLABICS WEST-CREE RA;Lo;0;L;;;;;N;;;;; 158E;CANADIAN SYLLABICS NGAAI;Lo;0;L;;;;;N;;;;; 158F;CANADIAN SYLLABICS NGI;Lo;0;L;;;;;N;;;;; 1590;CANADIAN SYLLABICS NGII;Lo;0;L;;;;;N;;;;; 1591;CANADIAN SYLLABICS NGO;Lo;0;L;;;;;N;;;;; 1592;CANADIAN SYLLABICS NGOO;Lo;0;L;;;;;N;;;;; 1593;CANADIAN SYLLABICS NGA;Lo;0;L;;;;;N;;;;; 1594;CANADIAN SYLLABICS NGAA;Lo;0;L;;;;;N;;;;; 1595;CANADIAN SYLLABICS NG;Lo;0;L;;;;;N;;;;; 1596;CANADIAN SYLLABICS NNG;Lo;0;L;;;;;N;;;;; 1597;CANADIAN SYLLABICS SAYISI SHE;Lo;0;L;;;;;N;;;;; 1598;CANADIAN SYLLABICS SAYISI SHI;Lo;0;L;;;;;N;;;;; 1599;CANADIAN SYLLABICS SAYISI SHO;Lo;0;L;;;;;N;;;;; 159A;CANADIAN SYLLABICS SAYISI SHA;Lo;0;L;;;;;N;;;;; 159B;CANADIAN SYLLABICS WOODS-CREE THE;Lo;0;L;;;;;N;;;;; 159C;CANADIAN SYLLABICS WOODS-CREE THI;Lo;0;L;;;;;N;;;;; 159D;CANADIAN SYLLABICS WOODS-CREE THO;Lo;0;L;;;;;N;;;;; 159E;CANADIAN SYLLABICS WOODS-CREE THA;Lo;0;L;;;;;N;;;;; 159F;CANADIAN SYLLABICS WOODS-CREE TH;Lo;0;L;;;;;N;;;;; 15A0;CANADIAN SYLLABICS LHI;Lo;0;L;;;;;N;;;;; 15A1;CANADIAN SYLLABICS LHII;Lo;0;L;;;;;N;;;;; 15A2;CANADIAN SYLLABICS LHO;Lo;0;L;;;;;N;;;;; 15A3;CANADIAN SYLLABICS LHOO;Lo;0;L;;;;;N;;;;; 15A4;CANADIAN SYLLABICS LHA;Lo;0;L;;;;;N;;;;; 15A5;CANADIAN SYLLABICS LHAA;Lo;0;L;;;;;N;;;;; 15A6;CANADIAN SYLLABICS LH;Lo;0;L;;;;;N;;;;; 15A7;CANADIAN SYLLABICS TH-CREE THE;Lo;0;L;;;;;N;;;;; 15A8;CANADIAN SYLLABICS TH-CREE THI;Lo;0;L;;;;;N;;;;; 15A9;CANADIAN SYLLABICS TH-CREE THII;Lo;0;L;;;;;N;;;;; 15AA;CANADIAN SYLLABICS TH-CREE THO;Lo;0;L;;;;;N;;;;; 15AB;CANADIAN SYLLABICS TH-CREE THOO;Lo;0;L;;;;;N;;;;; 15AC;CANADIAN SYLLABICS TH-CREE THA;Lo;0;L;;;;;N;;;;; 15AD;CANADIAN SYLLABICS TH-CREE THAA;Lo;0;L;;;;;N;;;;; 15AE;CANADIAN SYLLABICS TH-CREE TH;Lo;0;L;;;;;N;;;;; 15AF;CANADIAN SYLLABICS AIVILIK B;Lo;0;L;;;;;N;;;;; 15B0;CANADIAN SYLLABICS BLACKFOOT E;Lo;0;L;;;;;N;;;;; 15B1;CANADIAN SYLLABICS BLACKFOOT I;Lo;0;L;;;;;N;;;;; 15B2;CANADIAN SYLLABICS BLACKFOOT O;Lo;0;L;;;;;N;;;;; 15B3;CANADIAN SYLLABICS BLACKFOOT A;Lo;0;L;;;;;N;;;;; 15B4;CANADIAN SYLLABICS BLACKFOOT WE;Lo;0;L;;;;;N;;;;; 15B5;CANADIAN SYLLABICS BLACKFOOT WI;Lo;0;L;;;;;N;;;;; 15B6;CANADIAN SYLLABICS BLACKFOOT WO;Lo;0;L;;;;;N;;;;; 15B7;CANADIAN SYLLABICS BLACKFOOT WA;Lo;0;L;;;;;N;;;;; 15B8;CANADIAN SYLLABICS BLACKFOOT NE;Lo;0;L;;;;;N;;;;; 15B9;CANADIAN SYLLABICS BLACKFOOT NI;Lo;0;L;;;;;N;;;;; 15BA;CANADIAN SYLLABICS BLACKFOOT NO;Lo;0;L;;;;;N;;;;; 15BB;CANADIAN SYLLABICS BLACKFOOT NA;Lo;0;L;;;;;N;;;;; 15BC;CANADIAN SYLLABICS BLACKFOOT KE;Lo;0;L;;;;;N;;;;; 15BD;CANADIAN SYLLABICS BLACKFOOT KI;Lo;0;L;;;;;N;;;;; 15BE;CANADIAN SYLLABICS BLACKFOOT KO;Lo;0;L;;;;;N;;;;; 15BF;CANADIAN SYLLABICS BLACKFOOT KA;Lo;0;L;;;;;N;;;;; 15C0;CANADIAN SYLLABICS SAYISI HE;Lo;0;L;;;;;N;;;;; 15C1;CANADIAN SYLLABICS SAYISI HI;Lo;0;L;;;;;N;;;;; 15C2;CANADIAN SYLLABICS SAYISI HO;Lo;0;L;;;;;N;;;;; 15C3;CANADIAN SYLLABICS SAYISI HA;Lo;0;L;;;;;N;;;;; 15C4;CANADIAN SYLLABICS CARRIER GHU;Lo;0;L;;;;;N;;;;; 15C5;CANADIAN SYLLABICS CARRIER GHO;Lo;0;L;;;;;N;;;;; 15C6;CANADIAN SYLLABICS CARRIER GHE;Lo;0;L;;;;;N;;;;; 15C7;CANADIAN SYLLABICS CARRIER GHEE;Lo;0;L;;;;;N;;;;; 15C8;CANADIAN SYLLABICS CARRIER GHI;Lo;0;L;;;;;N;;;;; 15C9;CANADIAN SYLLABICS CARRIER GHA;Lo;0;L;;;;;N;;;;; 15CA;CANADIAN SYLLABICS CARRIER RU;Lo;0;L;;;;;N;;;;; 15CB;CANADIAN SYLLABICS CARRIER RO;Lo;0;L;;;;;N;;;;; 15CC;CANADIAN SYLLABICS CARRIER RE;Lo;0;L;;;;;N;;;;; 15CD;CANADIAN SYLLABICS CARRIER REE;Lo;0;L;;;;;N;;;;; 15CE;CANADIAN SYLLABICS CARRIER RI;Lo;0;L;;;;;N;;;;; 15CF;CANADIAN SYLLABICS CARRIER RA;Lo;0;L;;;;;N;;;;; 15D0;CANADIAN SYLLABICS CARRIER WU;Lo;0;L;;;;;N;;;;; 15D1;CANADIAN SYLLABICS CARRIER WO;Lo;0;L;;;;;N;;;;; 15D2;CANADIAN SYLLABICS CARRIER WE;Lo;0;L;;;;;N;;;;; 15D3;CANADIAN SYLLABICS CARRIER WEE;Lo;0;L;;;;;N;;;;; 15D4;CANADIAN SYLLABICS CARRIER WI;Lo;0;L;;;;;N;;;;; 15D5;CANADIAN SYLLABICS CARRIER WA;Lo;0;L;;;;;N;;;;; 15D6;CANADIAN SYLLABICS CARRIER HWU;Lo;0;L;;;;;N;;;;; 15D7;CANADIAN SYLLABICS CARRIER HWO;Lo;0;L;;;;;N;;;;; 15D8;CANADIAN SYLLABICS CARRIER HWE;Lo;0;L;;;;;N;;;;; 15D9;CANADIAN SYLLABICS CARRIER HWEE;Lo;0;L;;;;;N;;;;; 15DA;CANADIAN SYLLABICS CARRIER HWI;Lo;0;L;;;;;N;;;;; 15DB;CANADIAN SYLLABICS CARRIER HWA;Lo;0;L;;;;;N;;;;; 15DC;CANADIAN SYLLABICS CARRIER THU;Lo;0;L;;;;;N;;;;; 15DD;CANADIAN SYLLABICS CARRIER THO;Lo;0;L;;;;;N;;;;; 15DE;CANADIAN SYLLABICS CARRIER THE;Lo;0;L;;;;;N;;;;; 15DF;CANADIAN SYLLABICS CARRIER THEE;Lo;0;L;;;;;N;;;;; 15E0;CANADIAN SYLLABICS CARRIER THI;Lo;0;L;;;;;N;;;;; 15E1;CANADIAN SYLLABICS CARRIER THA;Lo;0;L;;;;;N;;;;; 15E2;CANADIAN SYLLABICS CARRIER TTU;Lo;0;L;;;;;N;;;;; 15E3;CANADIAN SYLLABICS CARRIER TTO;Lo;0;L;;;;;N;;;;; 15E4;CANADIAN SYLLABICS CARRIER TTE;Lo;0;L;;;;;N;;;;; 15E5;CANADIAN SYLLABICS CARRIER TTEE;Lo;0;L;;;;;N;;;;; 15E6;CANADIAN SYLLABICS CARRIER TTI;Lo;0;L;;;;;N;;;;; 15E7;CANADIAN SYLLABICS CARRIER TTA;Lo;0;L;;;;;N;;;;; 15E8;CANADIAN SYLLABICS CARRIER PU;Lo;0;L;;;;;N;;;;; 15E9;CANADIAN SYLLABICS CARRIER PO;Lo;0;L;;;;;N;;;;; 15EA;CANADIAN SYLLABICS CARRIER PE;Lo;0;L;;;;;N;;;;; 15EB;CANADIAN SYLLABICS CARRIER PEE;Lo;0;L;;;;;N;;;;; 15EC;CANADIAN SYLLABICS CARRIER PI;Lo;0;L;;;;;N;;;;; 15ED;CANADIAN SYLLABICS CARRIER PA;Lo;0;L;;;;;N;;;;; 15EE;CANADIAN SYLLABICS CARRIER P;Lo;0;L;;;;;N;;;;; 15EF;CANADIAN SYLLABICS CARRIER GU;Lo;0;L;;;;;N;;;;; 15F0;CANADIAN SYLLABICS CARRIER GO;Lo;0;L;;;;;N;;;;; 15F1;CANADIAN SYLLABICS CARRIER GE;Lo;0;L;;;;;N;;;;; 15F2;CANADIAN SYLLABICS CARRIER GEE;Lo;0;L;;;;;N;;;;; 15F3;CANADIAN SYLLABICS CARRIER GI;Lo;0;L;;;;;N;;;;; 15F4;CANADIAN SYLLABICS CARRIER GA;Lo;0;L;;;;;N;;;;; 15F5;CANADIAN SYLLABICS CARRIER KHU;Lo;0;L;;;;;N;;;;; 15F6;CANADIAN SYLLABICS CARRIER KHO;Lo;0;L;;;;;N;;;;; 15F7;CANADIAN SYLLABICS CARRIER KHE;Lo;0;L;;;;;N;;;;; 15F8;CANADIAN SYLLABICS CARRIER KHEE;Lo;0;L;;;;;N;;;;; 15F9;CANADIAN SYLLABICS CARRIER KHI;Lo;0;L;;;;;N;;;;; 15FA;CANADIAN SYLLABICS CARRIER KHA;Lo;0;L;;;;;N;;;;; 15FB;CANADIAN SYLLABICS CARRIER KKU;Lo;0;L;;;;;N;;;;; 15FC;CANADIAN SYLLABICS CARRIER KKO;Lo;0;L;;;;;N;;;;; 15FD;CANADIAN SYLLABICS CARRIER KKE;Lo;0;L;;;;;N;;;;; 15FE;CANADIAN SYLLABICS CARRIER KKEE;Lo;0;L;;;;;N;;;;; 15FF;CANADIAN SYLLABICS CARRIER KKI;Lo;0;L;;;;;N;;;;; 1600;CANADIAN SYLLABICS CARRIER KKA;Lo;0;L;;;;;N;;;;; 1601;CANADIAN SYLLABICS CARRIER KK;Lo;0;L;;;;;N;;;;; 1602;CANADIAN SYLLABICS CARRIER NU;Lo;0;L;;;;;N;;;;; 1603;CANADIAN SYLLABICS CARRIER NO;Lo;0;L;;;;;N;;;;; 1604;CANADIAN SYLLABICS CARRIER NE;Lo;0;L;;;;;N;;;;; 1605;CANADIAN SYLLABICS CARRIER NEE;Lo;0;L;;;;;N;;;;; 1606;CANADIAN SYLLABICS CARRIER NI;Lo;0;L;;;;;N;;;;; 1607;CANADIAN SYLLABICS CARRIER NA;Lo;0;L;;;;;N;;;;; 1608;CANADIAN SYLLABICS CARRIER MU;Lo;0;L;;;;;N;;;;; 1609;CANADIAN SYLLABICS CARRIER MO;Lo;0;L;;;;;N;;;;; 160A;CANADIAN SYLLABICS CARRIER ME;Lo;0;L;;;;;N;;;;; 160B;CANADIAN SYLLABICS CARRIER MEE;Lo;0;L;;;;;N;;;;; 160C;CANADIAN SYLLABICS CARRIER MI;Lo;0;L;;;;;N;;;;; 160D;CANADIAN SYLLABICS CARRIER MA;Lo;0;L;;;;;N;;;;; 160E;CANADIAN SYLLABICS CARRIER YU;Lo;0;L;;;;;N;;;;; 160F;CANADIAN SYLLABICS CARRIER YO;Lo;0;L;;;;;N;;;;; 1610;CANADIAN SYLLABICS CARRIER YE;Lo;0;L;;;;;N;;;;; 1611;CANADIAN SYLLABICS CARRIER YEE;Lo;0;L;;;;;N;;;;; 1612;CANADIAN SYLLABICS CARRIER YI;Lo;0;L;;;;;N;;;;; 1613;CANADIAN SYLLABICS CARRIER YA;Lo;0;L;;;;;N;;;;; 1614;CANADIAN SYLLABICS CARRIER JU;Lo;0;L;;;;;N;;;;; 1615;CANADIAN SYLLABICS SAYISI JU;Lo;0;L;;;;;N;;;;; 1616;CANADIAN SYLLABICS CARRIER JO;Lo;0;L;;;;;N;;;;; 1617;CANADIAN SYLLABICS CARRIER JE;Lo;0;L;;;;;N;;;;; 1618;CANADIAN SYLLABICS CARRIER JEE;Lo;0;L;;;;;N;;;;; 1619;CANADIAN SYLLABICS CARRIER JI;Lo;0;L;;;;;N;;;;; 161A;CANADIAN SYLLABICS SAYISI JI;Lo;0;L;;;;;N;;;;; 161B;CANADIAN SYLLABICS CARRIER JA;Lo;0;L;;;;;N;;;;; 161C;CANADIAN SYLLABICS CARRIER JJU;Lo;0;L;;;;;N;;;;; 161D;CANADIAN SYLLABICS CARRIER JJO;Lo;0;L;;;;;N;;;;; 161E;CANADIAN SYLLABICS CARRIER JJE;Lo;0;L;;;;;N;;;;; 161F;CANADIAN SYLLABICS CARRIER JJEE;Lo;0;L;;;;;N;;;;; 1620;CANADIAN SYLLABICS CARRIER JJI;Lo;0;L;;;;;N;;;;; 1621;CANADIAN SYLLABICS CARRIER JJA;Lo;0;L;;;;;N;;;;; 1622;CANADIAN SYLLABICS CARRIER LU;Lo;0;L;;;;;N;;;;; 1623;CANADIAN SYLLABICS CARRIER LO;Lo;0;L;;;;;N;;;;; 1624;CANADIAN SYLLABICS CARRIER LE;Lo;0;L;;;;;N;;;;; 1625;CANADIAN SYLLABICS CARRIER LEE;Lo;0;L;;;;;N;;;;; 1626;CANADIAN SYLLABICS CARRIER LI;Lo;0;L;;;;;N;;;;; 1627;CANADIAN SYLLABICS CARRIER LA;Lo;0;L;;;;;N;;;;; 1628;CANADIAN SYLLABICS CARRIER DLU;Lo;0;L;;;;;N;;;;; 1629;CANADIAN SYLLABICS CARRIER DLO;Lo;0;L;;;;;N;;;;; 162A;CANADIAN SYLLABICS CARRIER DLE;Lo;0;L;;;;;N;;;;; 162B;CANADIAN SYLLABICS CARRIER DLEE;Lo;0;L;;;;;N;;;;; 162C;CANADIAN SYLLABICS CARRIER DLI;Lo;0;L;;;;;N;;;;; 162D;CANADIAN SYLLABICS CARRIER DLA;Lo;0;L;;;;;N;;;;; 162E;CANADIAN SYLLABICS CARRIER LHU;Lo;0;L;;;;;N;;;;; 162F;CANADIAN SYLLABICS CARRIER LHO;Lo;0;L;;;;;N;;;;; 1630;CANADIAN SYLLABICS CARRIER LHE;Lo;0;L;;;;;N;;;;; 1631;CANADIAN SYLLABICS CARRIER LHEE;Lo;0;L;;;;;N;;;;; 1632;CANADIAN SYLLABICS CARRIER LHI;Lo;0;L;;;;;N;;;;; 1633;CANADIAN SYLLABICS CARRIER LHA;Lo;0;L;;;;;N;;;;; 1634;CANADIAN SYLLABICS CARRIER TLHU;Lo;0;L;;;;;N;;;;; 1635;CANADIAN SYLLABICS CARRIER TLHO;Lo;0;L;;;;;N;;;;; 1636;CANADIAN SYLLABICS CARRIER TLHE;Lo;0;L;;;;;N;;;;; 1637;CANADIAN SYLLABICS CARRIER TLHEE;Lo;0;L;;;;;N;;;;; 1638;CANADIAN SYLLABICS CARRIER TLHI;Lo;0;L;;;;;N;;;;; 1639;CANADIAN SYLLABICS CARRIER TLHA;Lo;0;L;;;;;N;;;;; 163A;CANADIAN SYLLABICS CARRIER TLU;Lo;0;L;;;;;N;;;;; 163B;CANADIAN SYLLABICS CARRIER TLO;Lo;0;L;;;;;N;;;;; 163C;CANADIAN SYLLABICS CARRIER TLE;Lo;0;L;;;;;N;;;;; 163D;CANADIAN SYLLABICS CARRIER TLEE;Lo;0;L;;;;;N;;;;; 163E;CANADIAN SYLLABICS CARRIER TLI;Lo;0;L;;;;;N;;;;; 163F;CANADIAN SYLLABICS CARRIER TLA;Lo;0;L;;;;;N;;;;; 1640;CANADIAN SYLLABICS CARRIER ZU;Lo;0;L;;;;;N;;;;; 1641;CANADIAN SYLLABICS CARRIER ZO;Lo;0;L;;;;;N;;;;; 1642;CANADIAN SYLLABICS CARRIER ZE;Lo;0;L;;;;;N;;;;; 1643;CANADIAN SYLLABICS CARRIER ZEE;Lo;0;L;;;;;N;;;;; 1644;CANADIAN SYLLABICS CARRIER ZI;Lo;0;L;;;;;N;;;;; 1645;CANADIAN SYLLABICS CARRIER ZA;Lo;0;L;;;;;N;;;;; 1646;CANADIAN SYLLABICS CARRIER Z;Lo;0;L;;;;;N;;;;; 1647;CANADIAN SYLLABICS CARRIER INITIAL Z;Lo;0;L;;;;;N;;;;; 1648;CANADIAN SYLLABICS CARRIER DZU;Lo;0;L;;;;;N;;;;; 1649;CANADIAN SYLLABICS CARRIER DZO;Lo;0;L;;;;;N;;;;; 164A;CANADIAN SYLLABICS CARRIER DZE;Lo;0;L;;;;;N;;;;; 164B;CANADIAN SYLLABICS CARRIER DZEE;Lo;0;L;;;;;N;;;;; 164C;CANADIAN SYLLABICS CARRIER DZI;Lo;0;L;;;;;N;;;;; 164D;CANADIAN SYLLABICS CARRIER DZA;Lo;0;L;;;;;N;;;;; 164E;CANADIAN SYLLABICS CARRIER SU;Lo;0;L;;;;;N;;;;; 164F;CANADIAN SYLLABICS CARRIER SO;Lo;0;L;;;;;N;;;;; 1650;CANADIAN SYLLABICS CARRIER SE;Lo;0;L;;;;;N;;;;; 1651;CANADIAN SYLLABICS CARRIER SEE;Lo;0;L;;;;;N;;;;; 1652;CANADIAN SYLLABICS CARRIER SI;Lo;0;L;;;;;N;;;;; 1653;CANADIAN SYLLABICS CARRIER SA;Lo;0;L;;;;;N;;;;; 1654;CANADIAN SYLLABICS CARRIER SHU;Lo;0;L;;;;;N;;;;; 1655;CANADIAN SYLLABICS CARRIER SHO;Lo;0;L;;;;;N;;;;; 1656;CANADIAN SYLLABICS CARRIER SHE;Lo;0;L;;;;;N;;;;; 1657;CANADIAN SYLLABICS CARRIER SHEE;Lo;0;L;;;;;N;;;;; 1658;CANADIAN SYLLABICS CARRIER SHI;Lo;0;L;;;;;N;;;;; 1659;CANADIAN SYLLABICS CARRIER SHA;Lo;0;L;;;;;N;;;;; 165A;CANADIAN SYLLABICS CARRIER SH;Lo;0;L;;;;;N;;;;; 165B;CANADIAN SYLLABICS CARRIER TSU;Lo;0;L;;;;;N;;;;; 165C;CANADIAN SYLLABICS CARRIER TSO;Lo;0;L;;;;;N;;;;; 165D;CANADIAN SYLLABICS CARRIER TSE;Lo;0;L;;;;;N;;;;; 165E;CANADIAN SYLLABICS CARRIER TSEE;Lo;0;L;;;;;N;;;;; 165F;CANADIAN SYLLABICS CARRIER TSI;Lo;0;L;;;;;N;;;;; 1660;CANADIAN SYLLABICS CARRIER TSA;Lo;0;L;;;;;N;;;;; 1661;CANADIAN SYLLABICS CARRIER CHU;Lo;0;L;;;;;N;;;;; 1662;CANADIAN SYLLABICS CARRIER CHO;Lo;0;L;;;;;N;;;;; 1663;CANADIAN SYLLABICS CARRIER CHE;Lo;0;L;;;;;N;;;;; 1664;CANADIAN SYLLABICS CARRIER CHEE;Lo;0;L;;;;;N;;;;; 1665;CANADIAN SYLLABICS CARRIER CHI;Lo;0;L;;;;;N;;;;; 1666;CANADIAN SYLLABICS CARRIER CHA;Lo;0;L;;;;;N;;;;; 1667;CANADIAN SYLLABICS CARRIER TTSU;Lo;0;L;;;;;N;;;;; 1668;CANADIAN SYLLABICS CARRIER TTSO;Lo;0;L;;;;;N;;;;; 1669;CANADIAN SYLLABICS CARRIER TTSE;Lo;0;L;;;;;N;;;;; 166A;CANADIAN SYLLABICS CARRIER TTSEE;Lo;0;L;;;;;N;;;;; 166B;CANADIAN SYLLABICS CARRIER TTSI;Lo;0;L;;;;;N;;;;; 166C;CANADIAN SYLLABICS CARRIER TTSA;Lo;0;L;;;;;N;;;;; 166D;CANADIAN SYLLABICS CHI SIGN;Po;0;L;;;;;N;;;;; 166E;CANADIAN SYLLABICS FULL STOP;Po;0;L;;;;;N;;;;; 166F;CANADIAN SYLLABICS QAI;Lo;0;L;;;;;N;;;;; 1670;CANADIAN SYLLABICS NGAI;Lo;0;L;;;;;N;;;;; 1671;CANADIAN SYLLABICS NNGI;Lo;0;L;;;;;N;;;;; 1672;CANADIAN SYLLABICS NNGII;Lo;0;L;;;;;N;;;;; 1673;CANADIAN SYLLABICS NNGO;Lo;0;L;;;;;N;;;;; 1674;CANADIAN SYLLABICS NNGOO;Lo;0;L;;;;;N;;;;; 1675;CANADIAN SYLLABICS NNGA;Lo;0;L;;;;;N;;;;; 1676;CANADIAN SYLLABICS NNGAA;Lo;0;L;;;;;N;;;;; 1680;OGHAM SPACE MARK;Zs;0;WS;;;;;N;;;;; 1681;OGHAM LETTER BEITH;Lo;0;L;;;;;N;;;;; 1682;OGHAM LETTER LUIS;Lo;0;L;;;;;N;;;;; 1683;OGHAM LETTER FEARN;Lo;0;L;;;;;N;;;;; 1684;OGHAM LETTER SAIL;Lo;0;L;;;;;N;;;;; 1685;OGHAM LETTER NION;Lo;0;L;;;;;N;;;;; 1686;OGHAM LETTER UATH;Lo;0;L;;;;;N;;;;; 1687;OGHAM LETTER DAIR;Lo;0;L;;;;;N;;;;; 1688;OGHAM LETTER TINNE;Lo;0;L;;;;;N;;;;; 1689;OGHAM LETTER COLL;Lo;0;L;;;;;N;;;;; 168A;OGHAM LETTER CEIRT;Lo;0;L;;;;;N;;;;; 168B;OGHAM LETTER MUIN;Lo;0;L;;;;;N;;;;; 168C;OGHAM LETTER GORT;Lo;0;L;;;;;N;;;;; 168D;OGHAM LETTER NGEADAL;Lo;0;L;;;;;N;;;;; 168E;OGHAM LETTER STRAIF;Lo;0;L;;;;;N;;;;; 168F;OGHAM LETTER RUIS;Lo;0;L;;;;;N;;;;; 1690;OGHAM LETTER AILM;Lo;0;L;;;;;N;;;;; 1691;OGHAM LETTER ONN;Lo;0;L;;;;;N;;;;; 1692;OGHAM LETTER UR;Lo;0;L;;;;;N;;;;; 1693;OGHAM LETTER EADHADH;Lo;0;L;;;;;N;;;;; 1694;OGHAM LETTER IODHADH;Lo;0;L;;;;;N;;;;; 1695;OGHAM LETTER EABHADH;Lo;0;L;;;;;N;;;;; 1696;OGHAM LETTER OR;Lo;0;L;;;;;N;;;;; 1697;OGHAM LETTER UILLEANN;Lo;0;L;;;;;N;;;;; 1698;OGHAM LETTER IFIN;Lo;0;L;;;;;N;;;;; 1699;OGHAM LETTER EAMHANCHOLL;Lo;0;L;;;;;N;;;;; 169A;OGHAM LETTER PEITH;Lo;0;L;;;;;N;;;;; 169B;OGHAM FEATHER MARK;Ps;0;ON;;;;;N;;;;; 169C;OGHAM REVERSED FEATHER MARK;Pe;0;ON;;;;;N;;;;; 16A0;RUNIC LETTER FEHU FEOH FE F;Lo;0;L;;;;;N;;;;; 16A1;RUNIC LETTER V;Lo;0;L;;;;;N;;;;; 16A2;RUNIC LETTER URUZ UR U;Lo;0;L;;;;;N;;;;; 16A3;RUNIC LETTER YR;Lo;0;L;;;;;N;;;;; 16A4;RUNIC LETTER Y;Lo;0;L;;;;;N;;;;; 16A5;RUNIC LETTER W;Lo;0;L;;;;;N;;;;; 16A6;RUNIC LETTER THURISAZ THURS THORN;Lo;0;L;;;;;N;;;;; 16A7;RUNIC LETTER ETH;Lo;0;L;;;;;N;;;;; 16A8;RUNIC LETTER ANSUZ A;Lo;0;L;;;;;N;;;;; 16A9;RUNIC LETTER OS O;Lo;0;L;;;;;N;;;;; 16AA;RUNIC LETTER AC A;Lo;0;L;;;;;N;;;;; 16AB;RUNIC LETTER AESC;Lo;0;L;;;;;N;;;;; 16AC;RUNIC LETTER LONG-BRANCH-OSS O;Lo;0;L;;;;;N;;;;; 16AD;RUNIC LETTER SHORT-TWIG-OSS O;Lo;0;L;;;;;N;;;;; 16AE;RUNIC LETTER O;Lo;0;L;;;;;N;;;;; 16AF;RUNIC LETTER OE;Lo;0;L;;;;;N;;;;; 16B0;RUNIC LETTER ON;Lo;0;L;;;;;N;;;;; 16B1;RUNIC LETTER RAIDO RAD REID R;Lo;0;L;;;;;N;;;;; 16B2;RUNIC LETTER KAUNA;Lo;0;L;;;;;N;;;;; 16B3;RUNIC LETTER CEN;Lo;0;L;;;;;N;;;;; 16B4;RUNIC LETTER KAUN K;Lo;0;L;;;;;N;;;;; 16B5;RUNIC LETTER G;Lo;0;L;;;;;N;;;;; 16B6;RUNIC LETTER ENG;Lo;0;L;;;;;N;;;;; 16B7;RUNIC LETTER GEBO GYFU G;Lo;0;L;;;;;N;;;;; 16B8;RUNIC LETTER GAR;Lo;0;L;;;;;N;;;;; 16B9;RUNIC LETTER WUNJO WYNN W;Lo;0;L;;;;;N;;;;; 16BA;RUNIC LETTER HAGLAZ H;Lo;0;L;;;;;N;;;;; 16BB;RUNIC LETTER HAEGL H;Lo;0;L;;;;;N;;;;; 16BC;RUNIC LETTER LONG-BRANCH-HAGALL H;Lo;0;L;;;;;N;;;;; 16BD;RUNIC LETTER SHORT-TWIG-HAGALL H;Lo;0;L;;;;;N;;;;; 16BE;RUNIC LETTER NAUDIZ NYD NAUD N;Lo;0;L;;;;;N;;;;; 16BF;RUNIC LETTER SHORT-TWIG-NAUD N;Lo;0;L;;;;;N;;;;; 16C0;RUNIC LETTER DOTTED-N;Lo;0;L;;;;;N;;;;; 16C1;RUNIC LETTER ISAZ IS ISS I;Lo;0;L;;;;;N;;;;; 16C2;RUNIC LETTER E;Lo;0;L;;;;;N;;;;; 16C3;RUNIC LETTER JERAN J;Lo;0;L;;;;;N;;;;; 16C4;RUNIC LETTER GER;Lo;0;L;;;;;N;;;;; 16C5;RUNIC LETTER LONG-BRANCH-AR AE;Lo;0;L;;;;;N;;;;; 16C6;RUNIC LETTER SHORT-TWIG-AR A;Lo;0;L;;;;;N;;;;; 16C7;RUNIC LETTER IWAZ EOH;Lo;0;L;;;;;N;;;;; 16C8;RUNIC LETTER PERTHO PEORTH P;Lo;0;L;;;;;N;;;;; 16C9;RUNIC LETTER ALGIZ EOLHX;Lo;0;L;;;;;N;;;;; 16CA;RUNIC LETTER SOWILO S;Lo;0;L;;;;;N;;;;; 16CB;RUNIC LETTER SIGEL LONG-BRANCH-SOL S;Lo;0;L;;;;;N;;;;; 16CC;RUNIC LETTER SHORT-TWIG-SOL S;Lo;0;L;;;;;N;;;;; 16CD;RUNIC LETTER C;Lo;0;L;;;;;N;;;;; 16CE;RUNIC LETTER Z;Lo;0;L;;;;;N;;;;; 16CF;RUNIC LETTER TIWAZ TIR TYR T;Lo;0;L;;;;;N;;;;; 16D0;RUNIC LETTER SHORT-TWIG-TYR T;Lo;0;L;;;;;N;;;;; 16D1;RUNIC LETTER D;Lo;0;L;;;;;N;;;;; 16D2;RUNIC LETTER BERKANAN BEORC BJARKAN B;Lo;0;L;;;;;N;;;;; 16D3;RUNIC LETTER SHORT-TWIG-BJARKAN B;Lo;0;L;;;;;N;;;;; 16D4;RUNIC LETTER DOTTED-P;Lo;0;L;;;;;N;;;;; 16D5;RUNIC LETTER OPEN-P;Lo;0;L;;;;;N;;;;; 16D6;RUNIC LETTER EHWAZ EH E;Lo;0;L;;;;;N;;;;; 16D7;RUNIC LETTER MANNAZ MAN M;Lo;0;L;;;;;N;;;;; 16D8;RUNIC LETTER LONG-BRANCH-MADR M;Lo;0;L;;;;;N;;;;; 16D9;RUNIC LETTER SHORT-TWIG-MADR M;Lo;0;L;;;;;N;;;;; 16DA;RUNIC LETTER LAUKAZ LAGU LOGR L;Lo;0;L;;;;;N;;;;; 16DB;RUNIC LETTER DOTTED-L;Lo;0;L;;;;;N;;;;; 16DC;RUNIC LETTER INGWAZ;Lo;0;L;;;;;N;;;;; 16DD;RUNIC LETTER ING;Lo;0;L;;;;;N;;;;; 16DE;RUNIC LETTER DAGAZ DAEG D;Lo;0;L;;;;;N;;;;; 16DF;RUNIC LETTER OTHALAN ETHEL O;Lo;0;L;;;;;N;;;;; 16E0;RUNIC LETTER EAR;Lo;0;L;;;;;N;;;;; 16E1;RUNIC LETTER IOR;Lo;0;L;;;;;N;;;;; 16E2;RUNIC LETTER CWEORTH;Lo;0;L;;;;;N;;;;; 16E3;RUNIC LETTER CALC;Lo;0;L;;;;;N;;;;; 16E4;RUNIC LETTER CEALC;Lo;0;L;;;;;N;;;;; 16E5;RUNIC LETTER STAN;Lo;0;L;;;;;N;;;;; 16E6;RUNIC LETTER LONG-BRANCH-YR;Lo;0;L;;;;;N;;;;; 16E7;RUNIC LETTER SHORT-TWIG-YR;Lo;0;L;;;;;N;;;;; 16E8;RUNIC LETTER ICELANDIC-YR;Lo;0;L;;;;;N;;;;; 16E9;RUNIC LETTER Q;Lo;0;L;;;;;N;;;;; 16EA;RUNIC LETTER X;Lo;0;L;;;;;N;;;;; 16EB;RUNIC SINGLE PUNCTUATION;Po;0;L;;;;;N;;;;; 16EC;RUNIC MULTIPLE PUNCTUATION;Po;0;L;;;;;N;;;;; 16ED;RUNIC CROSS PUNCTUATION;Po;0;L;;;;;N;;;;; 16EE;RUNIC ARLAUG SYMBOL;No;0;L;;;;17;N;;golden number 17;;; 16EF;RUNIC TVIMADUR SYMBOL;No;0;L;;;;18;N;;golden number 18;;; 16F0;RUNIC BELGTHOR SYMBOL;No;0;L;;;;19;N;;golden number 19;;; 1780;KHMER LETTER KA;Lo;0;L;;;;;N;;;;; 1781;KHMER LETTER KHA;Lo;0;L;;;;;N;;;;; 1782;KHMER LETTER KO;Lo;0;L;;;;;N;;;;; 1783;KHMER LETTER KHO;Lo;0;L;;;;;N;;;;; 1784;KHMER LETTER NGO;Lo;0;L;;;;;N;;;;; 1785;KHMER LETTER CA;Lo;0;L;;;;;N;;;;; 1786;KHMER LETTER CHA;Lo;0;L;;;;;N;;;;; 1787;KHMER LETTER CO;Lo;0;L;;;;;N;;;;; 1788;KHMER LETTER CHO;Lo;0;L;;;;;N;;;;; 1789;KHMER LETTER NYO;Lo;0;L;;;;;N;;;;; 178A;KHMER LETTER DA;Lo;0;L;;;;;N;;;;; 178B;KHMER LETTER TTHA;Lo;0;L;;;;;N;;;;; 178C;KHMER LETTER DO;Lo;0;L;;;;;N;;;;; 178D;KHMER LETTER TTHO;Lo;0;L;;;;;N;;;;; 178E;KHMER LETTER NNO;Lo;0;L;;;;;N;;;;; 178F;KHMER LETTER TA;Lo;0;L;;;;;N;;;;; 1790;KHMER LETTER THA;Lo;0;L;;;;;N;;;;; 1791;KHMER LETTER TO;Lo;0;L;;;;;N;;;;; 1792;KHMER LETTER THO;Lo;0;L;;;;;N;;;;; 1793;KHMER LETTER NO;Lo;0;L;;;;;N;;;;; 1794;KHMER LETTER BA;Lo;0;L;;;;;N;;;;; 1795;KHMER LETTER PHA;Lo;0;L;;;;;N;;;;; 1796;KHMER LETTER PO;Lo;0;L;;;;;N;;;;; 1797;KHMER LETTER PHO;Lo;0;L;;;;;N;;;;; 1798;KHMER LETTER MO;Lo;0;L;;;;;N;;;;; 1799;KHMER LETTER YO;Lo;0;L;;;;;N;;;;; 179A;KHMER LETTER RO;Lo;0;L;;;;;N;;;;; 179B;KHMER LETTER LO;Lo;0;L;;;;;N;;;;; 179C;KHMER LETTER VO;Lo;0;L;;;;;N;;;;; 179D;KHMER LETTER SHA;Lo;0;L;;;;;N;;;;; 179E;KHMER LETTER SSO;Lo;0;L;;;;;N;;;;; 179F;KHMER LETTER SA;Lo;0;L;;;;;N;;;;; 17A0;KHMER LETTER HA;Lo;0;L;;;;;N;;;;; 17A1;KHMER LETTER LA;Lo;0;L;;;;;N;;;;; 17A2;KHMER LETTER QA;Lo;0;L;;;;;N;;;;; 17A3;KHMER INDEPENDENT VOWEL QAQ;Lo;0;L;;;;;N;;;;; 17A4;KHMER INDEPENDENT VOWEL QAA;Lo;0;L;;;;;N;;;;; 17A5;KHMER INDEPENDENT VOWEL QI;Lo;0;L;;;;;N;;;;; 17A6;KHMER INDEPENDENT VOWEL QII;Lo;0;L;;;;;N;;;;; 17A7;KHMER INDEPENDENT VOWEL QU;Lo;0;L;;;;;N;;;;; 17A8;KHMER INDEPENDENT VOWEL QUK;Lo;0;L;;;;;N;;;;; 17A9;KHMER INDEPENDENT VOWEL QUU;Lo;0;L;;;;;N;;;;; 17AA;KHMER INDEPENDENT VOWEL QUUV;Lo;0;L;;;;;N;;;;; 17AB;KHMER INDEPENDENT VOWEL RY;Lo;0;L;;;;;N;;;;; 17AC;KHMER INDEPENDENT VOWEL RYY;Lo;0;L;;;;;N;;;;; 17AD;KHMER INDEPENDENT VOWEL LY;Lo;0;L;;;;;N;;;;; 17AE;KHMER INDEPENDENT VOWEL LYY;Lo;0;L;;;;;N;;;;; 17AF;KHMER INDEPENDENT VOWEL QE;Lo;0;L;;;;;N;;;;; 17B0;KHMER INDEPENDENT VOWEL QAI;Lo;0;L;;;;;N;;;;; 17B1;KHMER INDEPENDENT VOWEL QOO TYPE ONE;Lo;0;L;;;;;N;;;;; 17B2;KHMER INDEPENDENT VOWEL QOO TYPE TWO;Lo;0;L;;;;;N;;;;; 17B3;KHMER INDEPENDENT VOWEL QAU;Lo;0;L;;;;;N;;;;; 17B4;KHMER VOWEL INHERENT AQ;Mc;0;L;;;;;N;;;;; 17B5;KHMER VOWEL INHERENT AA;Mc;0;L;;;;;N;;;;; 17B6;KHMER VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; 17B7;KHMER VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; 17B8;KHMER VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;; 17B9;KHMER VOWEL SIGN Y;Mn;0;NSM;;;;;N;;;;; 17BA;KHMER VOWEL SIGN YY;Mn;0;NSM;;;;;N;;;;; 17BB;KHMER VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; 17BC;KHMER VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; 17BD;KHMER VOWEL SIGN UA;Mn;0;NSM;;;;;N;;;;; 17BE;KHMER VOWEL SIGN OE;Mc;0;L;;;;;N;;;;; 17BF;KHMER VOWEL SIGN YA;Mc;0;L;;;;;N;;;;; 17C0;KHMER VOWEL SIGN IE;Mc;0;L;;;;;N;;;;; 17C1;KHMER VOWEL SIGN E;Mc;0;L;;;;;N;;;;; 17C2;KHMER VOWEL SIGN AE;Mc;0;L;;;;;N;;;;; 17C3;KHMER VOWEL SIGN AI;Mc;0;L;;;;;N;;;;; 17C4;KHMER VOWEL SIGN OO;Mc;0;L;;;;;N;;;;; 17C5;KHMER VOWEL SIGN AU;Mc;0;L;;;;;N;;;;; 17C6;KHMER SIGN NIKAHIT;Mn;0;NSM;;;;;N;;;;; 17C7;KHMER SIGN REAHMUK;Mc;0;L;;;;;N;;;;; 17C8;KHMER SIGN YUUKALEAPINTU;Mc;0;L;;;;;N;;;;; 17C9;KHMER SIGN MUUSIKATOAN;Mn;0;NSM;;;;;N;;;;; 17CA;KHMER SIGN TRIISAP;Mn;0;NSM;;;;;N;;;;; 17CB;KHMER SIGN BANTOC;Mn;0;NSM;;;;;N;;;;; 17CC;KHMER SIGN ROBAT;Mn;0;NSM;;;;;N;;;;; 17CD;KHMER SIGN TOANDAKHIAT;Mn;0;NSM;;;;;N;;;;; 17CE;KHMER SIGN KAKABAT;Mn;0;NSM;;;;;N;;;;; 17CF;KHMER SIGN AHSDA;Mn;0;NSM;;;;;N;;;;; 17D0;KHMER SIGN SAMYOK SANNYA;Mn;0;NSM;;;;;N;;;;; 17D1;KHMER SIGN VIRIAM;Mn;0;NSM;;;;;N;;;;; 17D2;KHMER SIGN COENG;Mn;9;NSM;;;;;N;;;;; 17D3;KHMER SIGN BATHAMASAT;Mn;0;NSM;;;;;N;;;;; 17D4;KHMER SIGN KHAN;Po;0;L;;;;;N;;;;; 17D5;KHMER SIGN BARIYOOSAN;Po;0;L;;;;;N;;;;; 17D6;KHMER SIGN CAMNUC PII KUUH;Po;0;L;;;;;N;;;;; 17D7;KHMER SIGN LEK TOO;Po;0;L;;;;;N;;;;; 17D8;KHMER SIGN BEYYAL;Po;0;L;;;;;N;;;;; 17D9;KHMER SIGN PHNAEK MUAN;Po;0;L;;;;;N;;;;; 17DA;KHMER SIGN KOOMUUT;Po;0;L;;;;;N;;;;; 17DB;KHMER CURRENCY SYMBOL RIEL;Sc;0;ET;;;;;N;;;;; 17DC;KHMER SIGN AVAKRAHASANYA;Po;0;L;;;;;N;;;;; 17E0;KHMER DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 17E1;KHMER DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 17E2;KHMER DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 17E3;KHMER DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 17E4;KHMER DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 17E5;KHMER DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 17E6;KHMER DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 17E7;KHMER DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 17E8;KHMER DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 17E9;KHMER DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 1800;MONGOLIAN BIRGA;Po;0;ON;;;;;N;;;;; 1801;MONGOLIAN ELLIPSIS;Po;0;ON;;;;;N;;;;; 1802;MONGOLIAN COMMA;Po;0;ON;;;;;N;;;;; 1803;MONGOLIAN FULL STOP;Po;0;ON;;;;;N;;;;; 1804;MONGOLIAN COLON;Po;0;ON;;;;;N;;;;; 1805;MONGOLIAN FOUR DOTS;Po;0;ON;;;;;N;;;;; 1806;MONGOLIAN TODO SOFT HYPHEN;Pd;0;ON;;;;;N;;;;; 1807;MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER;Po;0;ON;;;;;N;;;;; 1808;MONGOLIAN MANCHU COMMA;Po;0;ON;;;;;N;;;;; 1809;MONGOLIAN MANCHU FULL STOP;Po;0;ON;;;;;N;;;;; 180A;MONGOLIAN NIRUGU;Po;0;ON;;;;;N;;;;; 180B;MONGOLIAN FREE VARIATION SELECTOR ONE;Cf;0;BN;;;;;N;;;;; 180C;MONGOLIAN FREE VARIATION SELECTOR TWO;Cf;0;BN;;;;;N;;;;; 180D;MONGOLIAN FREE VARIATION SELECTOR THREE;Cf;0;BN;;;;;N;;;;; 180E;MONGOLIAN VOWEL SEPARATOR;Cf;0;BN;;;;;N;;;;; 1810;MONGOLIAN DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 1811;MONGOLIAN DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 1812;MONGOLIAN DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; 1813;MONGOLIAN DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; 1814;MONGOLIAN DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; 1815;MONGOLIAN DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; 1816;MONGOLIAN DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; 1817;MONGOLIAN DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 1818;MONGOLIAN DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 1819;MONGOLIAN DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 1820;MONGOLIAN LETTER A;Lo;0;L;;;;;N;;;;; 1821;MONGOLIAN LETTER E;Lo;0;L;;;;;N;;;;; 1822;MONGOLIAN LETTER I;Lo;0;L;;;;;N;;;;; 1823;MONGOLIAN LETTER O;Lo;0;L;;;;;N;;;;; 1824;MONGOLIAN LETTER U;Lo;0;L;;;;;N;;;;; 1825;MONGOLIAN LETTER OE;Lo;0;L;;;;;N;;;;; 1826;MONGOLIAN LETTER UE;Lo;0;L;;;;;N;;;;; 1827;MONGOLIAN LETTER EE;Lo;0;L;;;;;N;;;;; 1828;MONGOLIAN LETTER NA;Lo;0;L;;;;;N;;;;; 1829;MONGOLIAN LETTER ANG;Lo;0;L;;;;;N;;;;; 182A;MONGOLIAN LETTER BA;Lo;0;L;;;;;N;;;;; 182B;MONGOLIAN LETTER PA;Lo;0;L;;;;;N;;;;; 182C;MONGOLIAN LETTER QA;Lo;0;L;;;;;N;;;;; 182D;MONGOLIAN LETTER GA;Lo;0;L;;;;;N;;;;; 182E;MONGOLIAN LETTER MA;Lo;0;L;;;;;N;;;;; 182F;MONGOLIAN LETTER LA;Lo;0;L;;;;;N;;;;; 1830;MONGOLIAN LETTER SA;Lo;0;L;;;;;N;;;;; 1831;MONGOLIAN LETTER SHA;Lo;0;L;;;;;N;;;;; 1832;MONGOLIAN LETTER TA;Lo;0;L;;;;;N;;;;; 1833;MONGOLIAN LETTER DA;Lo;0;L;;;;;N;;;;; 1834;MONGOLIAN LETTER CHA;Lo;0;L;;;;;N;;;;; 1835;MONGOLIAN LETTER JA;Lo;0;L;;;;;N;;;;; 1836;MONGOLIAN LETTER YA;Lo;0;L;;;;;N;;;;; 1837;MONGOLIAN LETTER RA;Lo;0;L;;;;;N;;;;; 1838;MONGOLIAN LETTER WA;Lo;0;L;;;;;N;;;;; 1839;MONGOLIAN LETTER FA;Lo;0;L;;;;;N;;;;; 183A;MONGOLIAN LETTER KA;Lo;0;L;;;;;N;;;;; 183B;MONGOLIAN LETTER KHA;Lo;0;L;;;;;N;;;;; 183C;MONGOLIAN LETTER TSA;Lo;0;L;;;;;N;;;;; 183D;MONGOLIAN LETTER ZA;Lo;0;L;;;;;N;;;;; 183E;MONGOLIAN LETTER HAA;Lo;0;L;;;;;N;;;;; 183F;MONGOLIAN LETTER ZRA;Lo;0;L;;;;;N;;;;; 1840;MONGOLIAN LETTER LHA;Lo;0;L;;;;;N;;;;; 1841;MONGOLIAN LETTER ZHI;Lo;0;L;;;;;N;;;;; 1842;MONGOLIAN LETTER CHI;Lo;0;L;;;;;N;;;;; 1843;MONGOLIAN LETTER TODO LONG VOWEL SIGN;Lm;0;L;;;;;N;;;;; 1844;MONGOLIAN LETTER TODO E;Lo;0;L;;;;;N;;;;; 1845;MONGOLIAN LETTER TODO I;Lo;0;L;;;;;N;;;;; 1846;MONGOLIAN LETTER TODO O;Lo;0;L;;;;;N;;;;; 1847;MONGOLIAN LETTER TODO U;Lo;0;L;;;;;N;;;;; 1848;MONGOLIAN LETTER TODO OE;Lo;0;L;;;;;N;;;;; 1849;MONGOLIAN LETTER TODO UE;Lo;0;L;;;;;N;;;;; 184A;MONGOLIAN LETTER TODO ANG;Lo;0;L;;;;;N;;;;; 184B;MONGOLIAN LETTER TODO BA;Lo;0;L;;;;;N;;;;; 184C;MONGOLIAN LETTER TODO PA;Lo;0;L;;;;;N;;;;; 184D;MONGOLIAN LETTER TODO QA;Lo;0;L;;;;;N;;;;; 184E;MONGOLIAN LETTER TODO GA;Lo;0;L;;;;;N;;;;; 184F;MONGOLIAN LETTER TODO MA;Lo;0;L;;;;;N;;;;; 1850;MONGOLIAN LETTER TODO TA;Lo;0;L;;;;;N;;;;; 1851;MONGOLIAN LETTER TODO DA;Lo;0;L;;;;;N;;;;; 1852;MONGOLIAN LETTER TODO CHA;Lo;0;L;;;;;N;;;;; 1853;MONGOLIAN LETTER TODO JA;Lo;0;L;;;;;N;;;;; 1854;MONGOLIAN LETTER TODO TSA;Lo;0;L;;;;;N;;;;; 1855;MONGOLIAN LETTER TODO YA;Lo;0;L;;;;;N;;;;; 1856;MONGOLIAN LETTER TODO WA;Lo;0;L;;;;;N;;;;; 1857;MONGOLIAN LETTER TODO KA;Lo;0;L;;;;;N;;;;; 1858;MONGOLIAN LETTER TODO GAA;Lo;0;L;;;;;N;;;;; 1859;MONGOLIAN LETTER TODO HAA;Lo;0;L;;;;;N;;;;; 185A;MONGOLIAN LETTER TODO JIA;Lo;0;L;;;;;N;;;;; 185B;MONGOLIAN LETTER TODO NIA;Lo;0;L;;;;;N;;;;; 185C;MONGOLIAN LETTER TODO DZA;Lo;0;L;;;;;N;;;;; 185D;MONGOLIAN LETTER SIBE E;Lo;0;L;;;;;N;;;;; 185E;MONGOLIAN LETTER SIBE I;Lo;0;L;;;;;N;;;;; 185F;MONGOLIAN LETTER SIBE IY;Lo;0;L;;;;;N;;;;; 1860;MONGOLIAN LETTER SIBE UE;Lo;0;L;;;;;N;;;;; 1861;MONGOLIAN LETTER SIBE U;Lo;0;L;;;;;N;;;;; 1862;MONGOLIAN LETTER SIBE ANG;Lo;0;L;;;;;N;;;;; 1863;MONGOLIAN LETTER SIBE KA;Lo;0;L;;;;;N;;;;; 1864;MONGOLIAN LETTER SIBE GA;Lo;0;L;;;;;N;;;;; 1865;MONGOLIAN LETTER SIBE HA;Lo;0;L;;;;;N;;;;; 1866;MONGOLIAN LETTER SIBE PA;Lo;0;L;;;;;N;;;;; 1867;MONGOLIAN LETTER SIBE SHA;Lo;0;L;;;;;N;;;;; 1868;MONGOLIAN LETTER SIBE TA;Lo;0;L;;;;;N;;;;; 1869;MONGOLIAN LETTER SIBE DA;Lo;0;L;;;;;N;;;;; 186A;MONGOLIAN LETTER SIBE JA;Lo;0;L;;;;;N;;;;; 186B;MONGOLIAN LETTER SIBE FA;Lo;0;L;;;;;N;;;;; 186C;MONGOLIAN LETTER SIBE GAA;Lo;0;L;;;;;N;;;;; 186D;MONGOLIAN LETTER SIBE HAA;Lo;0;L;;;;;N;;;;; 186E;MONGOLIAN LETTER SIBE TSA;Lo;0;L;;;;;N;;;;; 186F;MONGOLIAN LETTER SIBE ZA;Lo;0;L;;;;;N;;;;; 1870;MONGOLIAN LETTER SIBE RAA;Lo;0;L;;;;;N;;;;; 1871;MONGOLIAN LETTER SIBE CHA;Lo;0;L;;;;;N;;;;; 1872;MONGOLIAN LETTER SIBE ZHA;Lo;0;L;;;;;N;;;;; 1873;MONGOLIAN LETTER MANCHU I;Lo;0;L;;;;;N;;;;; 1874;MONGOLIAN LETTER MANCHU KA;Lo;0;L;;;;;N;;;;; 1875;MONGOLIAN LETTER MANCHU RA;Lo;0;L;;;;;N;;;;; 1876;MONGOLIAN LETTER MANCHU FA;Lo;0;L;;;;;N;;;;; 1877;MONGOLIAN LETTER MANCHU ZHA;Lo;0;L;;;;;N;;;;; 1880;MONGOLIAN LETTER ALI GALI ANUSVARA ONE;Lo;0;L;;;;;N;;;;; 1881;MONGOLIAN LETTER ALI GALI VISARGA ONE;Lo;0;L;;;;;N;;;;; 1882;MONGOLIAN LETTER ALI GALI DAMARU;Lo;0;L;;;;;N;;;;; 1883;MONGOLIAN LETTER ALI GALI UBADAMA;Lo;0;L;;;;;N;;;;; 1884;MONGOLIAN LETTER ALI GALI INVERTED UBADAMA;Lo;0;L;;;;;N;;;;; 1885;MONGOLIAN LETTER ALI GALI BALUDA;Lo;0;L;;;;;N;;;;; 1886;MONGOLIAN LETTER ALI GALI THREE BALUDA;Lo;0;L;;;;;N;;;;; 1887;MONGOLIAN LETTER ALI GALI A;Lo;0;L;;;;;N;;;;; 1888;MONGOLIAN LETTER ALI GALI I;Lo;0;L;;;;;N;;;;; 1889;MONGOLIAN LETTER ALI GALI KA;Lo;0;L;;;;;N;;;;; 188A;MONGOLIAN LETTER ALI GALI NGA;Lo;0;L;;;;;N;;;;; 188B;MONGOLIAN LETTER ALI GALI CA;Lo;0;L;;;;;N;;;;; 188C;MONGOLIAN LETTER ALI GALI TTA;Lo;0;L;;;;;N;;;;; 188D;MONGOLIAN LETTER ALI GALI TTHA;Lo;0;L;;;;;N;;;;; 188E;MONGOLIAN LETTER ALI GALI DDA;Lo;0;L;;;;;N;;;;; 188F;MONGOLIAN LETTER ALI GALI NNA;Lo;0;L;;;;;N;;;;; 1890;MONGOLIAN LETTER ALI GALI TA;Lo;0;L;;;;;N;;;;; 1891;MONGOLIAN LETTER ALI GALI DA;Lo;0;L;;;;;N;;;;; 1892;MONGOLIAN LETTER ALI GALI PA;Lo;0;L;;;;;N;;;;; 1893;MONGOLIAN LETTER ALI GALI PHA;Lo;0;L;;;;;N;;;;; 1894;MONGOLIAN LETTER ALI GALI SSA;Lo;0;L;;;;;N;;;;; 1895;MONGOLIAN LETTER ALI GALI ZHA;Lo;0;L;;;;;N;;;;; 1896;MONGOLIAN LETTER ALI GALI ZA;Lo;0;L;;;;;N;;;;; 1897;MONGOLIAN LETTER ALI GALI AH;Lo;0;L;;;;;N;;;;; 1898;MONGOLIAN LETTER TODO ALI GALI TA;Lo;0;L;;;;;N;;;;; 1899;MONGOLIAN LETTER TODO ALI GALI ZHA;Lo;0;L;;;;;N;;;;; 189A;MONGOLIAN LETTER MANCHU ALI GALI GHA;Lo;0;L;;;;;N;;;;; 189B;MONGOLIAN LETTER MANCHU ALI GALI NGA;Lo;0;L;;;;;N;;;;; 189C;MONGOLIAN LETTER MANCHU ALI GALI CA;Lo;0;L;;;;;N;;;;; 189D;MONGOLIAN LETTER MANCHU ALI GALI JHA;Lo;0;L;;;;;N;;;;; 189E;MONGOLIAN LETTER MANCHU ALI GALI TTA;Lo;0;L;;;;;N;;;;; 189F;MONGOLIAN LETTER MANCHU ALI GALI DDHA;Lo;0;L;;;;;N;;;;; 18A0;MONGOLIAN LETTER MANCHU ALI GALI TA;Lo;0;L;;;;;N;;;;; 18A1;MONGOLIAN LETTER MANCHU ALI GALI DHA;Lo;0;L;;;;;N;;;;; 18A2;MONGOLIAN LETTER MANCHU ALI GALI SSA;Lo;0;L;;;;;N;;;;; 18A3;MONGOLIAN LETTER MANCHU ALI GALI CYA;Lo;0;L;;;;;N;;;;; 18A4;MONGOLIAN LETTER MANCHU ALI GALI ZHA;Lo;0;L;;;;;N;;;;; 18A5;MONGOLIAN LETTER MANCHU ALI GALI ZA;Lo;0;L;;;;;N;;;;; 18A6;MONGOLIAN LETTER ALI GALI HALF U;Lo;0;L;;;;;N;;;;; 18A7;MONGOLIAN LETTER ALI GALI HALF YA;Lo;0;L;;;;;N;;;;; 18A8;MONGOLIAN LETTER MANCHU ALI GALI BHA;Lo;0;L;;;;;N;;;;; 18A9;MONGOLIAN LETTER ALI GALI DAGALGA;Mn;228;NSM;;;;;N;;;;; 1E00;LATIN CAPITAL LETTER A WITH RING BELOW;Lu;0;L;0041 0325;;;;N;;;;1E01; 1E01;LATIN SMALL LETTER A WITH RING BELOW;Ll;0;L;0061 0325;;;;N;;;1E00;;1E00 1E02;LATIN CAPITAL LETTER B WITH DOT ABOVE;Lu;0;L;0042 0307;;;;N;;;;1E03; 1E03;LATIN SMALL LETTER B WITH DOT ABOVE;Ll;0;L;0062 0307;;;;N;;;1E02;;1E02 1E04;LATIN CAPITAL LETTER B WITH DOT BELOW;Lu;0;L;0042 0323;;;;N;;;;1E05; 1E05;LATIN SMALL LETTER B WITH DOT BELOW;Ll;0;L;0062 0323;;;;N;;;1E04;;1E04 1E06;LATIN CAPITAL LETTER B WITH LINE BELOW;Lu;0;L;0042 0331;;;;N;;;;1E07; 1E07;LATIN SMALL LETTER B WITH LINE BELOW;Ll;0;L;0062 0331;;;;N;;;1E06;;1E06 1E08;LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE;Lu;0;L;00C7 0301;;;;N;;;;1E09; 1E09;LATIN SMALL LETTER C WITH CEDILLA AND ACUTE;Ll;0;L;00E7 0301;;;;N;;;1E08;;1E08 1E0A;LATIN CAPITAL LETTER D WITH DOT ABOVE;Lu;0;L;0044 0307;;;;N;;;;1E0B; 1E0B;LATIN SMALL LETTER D WITH DOT ABOVE;Ll;0;L;0064 0307;;;;N;;;1E0A;;1E0A 1E0C;LATIN CAPITAL LETTER D WITH DOT BELOW;Lu;0;L;0044 0323;;;;N;;;;1E0D; 1E0D;LATIN SMALL LETTER D WITH DOT BELOW;Ll;0;L;0064 0323;;;;N;;;1E0C;;1E0C 1E0E;LATIN CAPITAL LETTER D WITH LINE BELOW;Lu;0;L;0044 0331;;;;N;;;;1E0F; 1E0F;LATIN SMALL LETTER D WITH LINE BELOW;Ll;0;L;0064 0331;;;;N;;;1E0E;;1E0E 1E10;LATIN CAPITAL LETTER D WITH CEDILLA;Lu;0;L;0044 0327;;;;N;;;;1E11; 1E11;LATIN SMALL LETTER D WITH CEDILLA;Ll;0;L;0064 0327;;;;N;;;1E10;;1E10 1E12;LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW;Lu;0;L;0044 032D;;;;N;;;;1E13; 1E13;LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW;Ll;0;L;0064 032D;;;;N;;;1E12;;1E12 1E14;LATIN CAPITAL LETTER E WITH MACRON AND GRAVE;Lu;0;L;0112 0300;;;;N;;;;1E15; 1E15;LATIN SMALL LETTER E WITH MACRON AND GRAVE;Ll;0;L;0113 0300;;;;N;;;1E14;;1E14 1E16;LATIN CAPITAL LETTER E WITH MACRON AND ACUTE;Lu;0;L;0112 0301;;;;N;;;;1E17; 1E17;LATIN SMALL LETTER E WITH MACRON AND ACUTE;Ll;0;L;0113 0301;;;;N;;;1E16;;1E16 1E18;LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW;Lu;0;L;0045 032D;;;;N;;;;1E19; 1E19;LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW;Ll;0;L;0065 032D;;;;N;;;1E18;;1E18 1E1A;LATIN CAPITAL LETTER E WITH TILDE BELOW;Lu;0;L;0045 0330;;;;N;;;;1E1B; 1E1B;LATIN SMALL LETTER E WITH TILDE BELOW;Ll;0;L;0065 0330;;;;N;;;1E1A;;1E1A 1E1C;LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE;Lu;0;L;0228 0306;;;;N;;;;1E1D; 1E1D;LATIN SMALL LETTER E WITH CEDILLA AND BREVE;Ll;0;L;0229 0306;;;;N;;;1E1C;;1E1C 1E1E;LATIN CAPITAL LETTER F WITH DOT ABOVE;Lu;0;L;0046 0307;;;;N;;;;1E1F; 1E1F;LATIN SMALL LETTER F WITH DOT ABOVE;Ll;0;L;0066 0307;;;;N;;;1E1E;;1E1E 1E20;LATIN CAPITAL LETTER G WITH MACRON;Lu;0;L;0047 0304;;;;N;;;;1E21; 1E21;LATIN SMALL LETTER G WITH MACRON;Ll;0;L;0067 0304;;;;N;;;1E20;;1E20 1E22;LATIN CAPITAL LETTER H WITH DOT ABOVE;Lu;0;L;0048 0307;;;;N;;;;1E23; 1E23;LATIN SMALL LETTER H WITH DOT ABOVE;Ll;0;L;0068 0307;;;;N;;;1E22;;1E22 1E24;LATIN CAPITAL LETTER H WITH DOT BELOW;Lu;0;L;0048 0323;;;;N;;;;1E25; 1E25;LATIN SMALL LETTER H WITH DOT BELOW;Ll;0;L;0068 0323;;;;N;;;1E24;;1E24 1E26;LATIN CAPITAL LETTER H WITH DIAERESIS;Lu;0;L;0048 0308;;;;N;;;;1E27; 1E27;LATIN SMALL LETTER H WITH DIAERESIS;Ll;0;L;0068 0308;;;;N;;;1E26;;1E26 1E28;LATIN CAPITAL LETTER H WITH CEDILLA;Lu;0;L;0048 0327;;;;N;;;;1E29; 1E29;LATIN SMALL LETTER H WITH CEDILLA;Ll;0;L;0068 0327;;;;N;;;1E28;;1E28 1E2A;LATIN CAPITAL LETTER H WITH BREVE BELOW;Lu;0;L;0048 032E;;;;N;;;;1E2B; 1E2B;LATIN SMALL LETTER H WITH BREVE BELOW;Ll;0;L;0068 032E;;;;N;;;1E2A;;1E2A 1E2C;LATIN CAPITAL LETTER I WITH TILDE BELOW;Lu;0;L;0049 0330;;;;N;;;;1E2D; 1E2D;LATIN SMALL LETTER I WITH TILDE BELOW;Ll;0;L;0069 0330;;;;N;;;1E2C;;1E2C 1E2E;LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE;Lu;0;L;00CF 0301;;;;N;;;;1E2F; 1E2F;LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE;Ll;0;L;00EF 0301;;;;N;;;1E2E;;1E2E 1E30;LATIN CAPITAL LETTER K WITH ACUTE;Lu;0;L;004B 0301;;;;N;;;;1E31; 1E31;LATIN SMALL LETTER K WITH ACUTE;Ll;0;L;006B 0301;;;;N;;;1E30;;1E30 1E32;LATIN CAPITAL LETTER K WITH DOT BELOW;Lu;0;L;004B 0323;;;;N;;;;1E33; 1E33;LATIN SMALL LETTER K WITH DOT BELOW;Ll;0;L;006B 0323;;;;N;;;1E32;;1E32 1E34;LATIN CAPITAL LETTER K WITH LINE BELOW;Lu;0;L;004B 0331;;;;N;;;;1E35; 1E35;LATIN SMALL LETTER K WITH LINE BELOW;Ll;0;L;006B 0331;;;;N;;;1E34;;1E34 1E36;LATIN CAPITAL LETTER L WITH DOT BELOW;Lu;0;L;004C 0323;;;;N;;;;1E37; 1E37;LATIN SMALL LETTER L WITH DOT BELOW;Ll;0;L;006C 0323;;;;N;;;1E36;;1E36 1E38;LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON;Lu;0;L;1E36 0304;;;;N;;;;1E39; 1E39;LATIN SMALL LETTER L WITH DOT BELOW AND MACRON;Ll;0;L;1E37 0304;;;;N;;;1E38;;1E38 1E3A;LATIN CAPITAL LETTER L WITH LINE BELOW;Lu;0;L;004C 0331;;;;N;;;;1E3B; 1E3B;LATIN SMALL LETTER L WITH LINE BELOW;Ll;0;L;006C 0331;;;;N;;;1E3A;;1E3A 1E3C;LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW;Lu;0;L;004C 032D;;;;N;;;;1E3D; 1E3D;LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW;Ll;0;L;006C 032D;;;;N;;;1E3C;;1E3C 1E3E;LATIN CAPITAL LETTER M WITH ACUTE;Lu;0;L;004D 0301;;;;N;;;;1E3F; 1E3F;LATIN SMALL LETTER M WITH ACUTE;Ll;0;L;006D 0301;;;;N;;;1E3E;;1E3E 1E40;LATIN CAPITAL LETTER M WITH DOT ABOVE;Lu;0;L;004D 0307;;;;N;;;;1E41; 1E41;LATIN SMALL LETTER M WITH DOT ABOVE;Ll;0;L;006D 0307;;;;N;;;1E40;;1E40 1E42;LATIN CAPITAL LETTER M WITH DOT BELOW;Lu;0;L;004D 0323;;;;N;;;;1E43; 1E43;LATIN SMALL LETTER M WITH DOT BELOW;Ll;0;L;006D 0323;;;;N;;;1E42;;1E42 1E44;LATIN CAPITAL LETTER N WITH DOT ABOVE;Lu;0;L;004E 0307;;;;N;;;;1E45; 1E45;LATIN SMALL LETTER N WITH DOT ABOVE;Ll;0;L;006E 0307;;;;N;;;1E44;;1E44 1E46;LATIN CAPITAL LETTER N WITH DOT BELOW;Lu;0;L;004E 0323;;;;N;;;;1E47; 1E47;LATIN SMALL LETTER N WITH DOT BELOW;Ll;0;L;006E 0323;;;;N;;;1E46;;1E46 1E48;LATIN CAPITAL LETTER N WITH LINE BELOW;Lu;0;L;004E 0331;;;;N;;;;1E49; 1E49;LATIN SMALL LETTER N WITH LINE BELOW;Ll;0;L;006E 0331;;;;N;;;1E48;;1E48 1E4A;LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW;Lu;0;L;004E 032D;;;;N;;;;1E4B; 1E4B;LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW;Ll;0;L;006E 032D;;;;N;;;1E4A;;1E4A 1E4C;LATIN CAPITAL LETTER O WITH TILDE AND ACUTE;Lu;0;L;00D5 0301;;;;N;;;;1E4D; 1E4D;LATIN SMALL LETTER O WITH TILDE AND ACUTE;Ll;0;L;00F5 0301;;;;N;;;1E4C;;1E4C 1E4E;LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS;Lu;0;L;00D5 0308;;;;N;;;;1E4F; 1E4F;LATIN SMALL LETTER O WITH TILDE AND DIAERESIS;Ll;0;L;00F5 0308;;;;N;;;1E4E;;1E4E 1E50;LATIN CAPITAL LETTER O WITH MACRON AND GRAVE;Lu;0;L;014C 0300;;;;N;;;;1E51; 1E51;LATIN SMALL LETTER O WITH MACRON AND GRAVE;Ll;0;L;014D 0300;;;;N;;;1E50;;1E50 1E52;LATIN CAPITAL LETTER O WITH MACRON AND ACUTE;Lu;0;L;014C 0301;;;;N;;;;1E53; 1E53;LATIN SMALL LETTER O WITH MACRON AND ACUTE;Ll;0;L;014D 0301;;;;N;;;1E52;;1E52 1E54;LATIN CAPITAL LETTER P WITH ACUTE;Lu;0;L;0050 0301;;;;N;;;;1E55; 1E55;LATIN SMALL LETTER P WITH ACUTE;Ll;0;L;0070 0301;;;;N;;;1E54;;1E54 1E56;LATIN CAPITAL LETTER P WITH DOT ABOVE;Lu;0;L;0050 0307;;;;N;;;;1E57; 1E57;LATIN SMALL LETTER P WITH DOT ABOVE;Ll;0;L;0070 0307;;;;N;;;1E56;;1E56 1E58;LATIN CAPITAL LETTER R WITH DOT ABOVE;Lu;0;L;0052 0307;;;;N;;;;1E59; 1E59;LATIN SMALL LETTER R WITH DOT ABOVE;Ll;0;L;0072 0307;;;;N;;;1E58;;1E58 1E5A;LATIN CAPITAL LETTER R WITH DOT BELOW;Lu;0;L;0052 0323;;;;N;;;;1E5B; 1E5B;LATIN SMALL LETTER R WITH DOT BELOW;Ll;0;L;0072 0323;;;;N;;;1E5A;;1E5A 1E5C;LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON;Lu;0;L;1E5A 0304;;;;N;;;;1E5D; 1E5D;LATIN SMALL LETTER R WITH DOT BELOW AND MACRON;Ll;0;L;1E5B 0304;;;;N;;;1E5C;;1E5C 1E5E;LATIN CAPITAL LETTER R WITH LINE BELOW;Lu;0;L;0052 0331;;;;N;;;;1E5F; 1E5F;LATIN SMALL LETTER R WITH LINE BELOW;Ll;0;L;0072 0331;;;;N;;;1E5E;;1E5E 1E60;LATIN CAPITAL LETTER S WITH DOT ABOVE;Lu;0;L;0053 0307;;;;N;;;;1E61; 1E61;LATIN SMALL LETTER S WITH DOT ABOVE;Ll;0;L;0073 0307;;;;N;;;1E60;;1E60 1E62;LATIN CAPITAL LETTER S WITH DOT BELOW;Lu;0;L;0053 0323;;;;N;;;;1E63; 1E63;LATIN SMALL LETTER S WITH DOT BELOW;Ll;0;L;0073 0323;;;;N;;;1E62;;1E62 1E64;LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE;Lu;0;L;015A 0307;;;;N;;;;1E65; 1E65;LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE;Ll;0;L;015B 0307;;;;N;;;1E64;;1E64 1E66;LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE;Lu;0;L;0160 0307;;;;N;;;;1E67; 1E67;LATIN SMALL LETTER S WITH CARON AND DOT ABOVE;Ll;0;L;0161 0307;;;;N;;;1E66;;1E66 1E68;LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE;Lu;0;L;1E62 0307;;;;N;;;;1E69; 1E69;LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE;Ll;0;L;1E63 0307;;;;N;;;1E68;;1E68 1E6A;LATIN CAPITAL LETTER T WITH DOT ABOVE;Lu;0;L;0054 0307;;;;N;;;;1E6B; 1E6B;LATIN SMALL LETTER T WITH DOT ABOVE;Ll;0;L;0074 0307;;;;N;;;1E6A;;1E6A 1E6C;LATIN CAPITAL LETTER T WITH DOT BELOW;Lu;0;L;0054 0323;;;;N;;;;1E6D; 1E6D;LATIN SMALL LETTER T WITH DOT BELOW;Ll;0;L;0074 0323;;;;N;;;1E6C;;1E6C 1E6E;LATIN CAPITAL LETTER T WITH LINE BELOW;Lu;0;L;0054 0331;;;;N;;;;1E6F; 1E6F;LATIN SMALL LETTER T WITH LINE BELOW;Ll;0;L;0074 0331;;;;N;;;1E6E;;1E6E 1E70;LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW;Lu;0;L;0054 032D;;;;N;;;;1E71; 1E71;LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW;Ll;0;L;0074 032D;;;;N;;;1E70;;1E70 1E72;LATIN CAPITAL LETTER U WITH DIAERESIS BELOW;Lu;0;L;0055 0324;;;;N;;;;1E73; 1E73;LATIN SMALL LETTER U WITH DIAERESIS BELOW;Ll;0;L;0075 0324;;;;N;;;1E72;;1E72 1E74;LATIN CAPITAL LETTER U WITH TILDE BELOW;Lu;0;L;0055 0330;;;;N;;;;1E75; 1E75;LATIN SMALL LETTER U WITH TILDE BELOW;Ll;0;L;0075 0330;;;;N;;;1E74;;1E74 1E76;LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW;Lu;0;L;0055 032D;;;;N;;;;1E77; 1E77;LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW;Ll;0;L;0075 032D;;;;N;;;1E76;;1E76 1E78;LATIN CAPITAL LETTER U WITH TILDE AND ACUTE;Lu;0;L;0168 0301;;;;N;;;;1E79; 1E79;LATIN SMALL LETTER U WITH TILDE AND ACUTE;Ll;0;L;0169 0301;;;;N;;;1E78;;1E78 1E7A;LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS;Lu;0;L;016A 0308;;;;N;;;;1E7B; 1E7B;LATIN SMALL LETTER U WITH MACRON AND DIAERESIS;Ll;0;L;016B 0308;;;;N;;;1E7A;;1E7A 1E7C;LATIN CAPITAL LETTER V WITH TILDE;Lu;0;L;0056 0303;;;;N;;;;1E7D; 1E7D;LATIN SMALL LETTER V WITH TILDE;Ll;0;L;0076 0303;;;;N;;;1E7C;;1E7C 1E7E;LATIN CAPITAL LETTER V WITH DOT BELOW;Lu;0;L;0056 0323;;;;N;;;;1E7F; 1E7F;LATIN SMALL LETTER V WITH DOT BELOW;Ll;0;L;0076 0323;;;;N;;;1E7E;;1E7E 1E80;LATIN CAPITAL LETTER W WITH GRAVE;Lu;0;L;0057 0300;;;;N;;;;1E81; 1E81;LATIN SMALL LETTER W WITH GRAVE;Ll;0;L;0077 0300;;;;N;;;1E80;;1E80 1E82;LATIN CAPITAL LETTER W WITH ACUTE;Lu;0;L;0057 0301;;;;N;;;;1E83; 1E83;LATIN SMALL LETTER W WITH ACUTE;Ll;0;L;0077 0301;;;;N;;;1E82;;1E82 1E84;LATIN CAPITAL LETTER W WITH DIAERESIS;Lu;0;L;0057 0308;;;;N;;;;1E85; 1E85;LATIN SMALL LETTER W WITH DIAERESIS;Ll;0;L;0077 0308;;;;N;;;1E84;;1E84 1E86;LATIN CAPITAL LETTER W WITH DOT ABOVE;Lu;0;L;0057 0307;;;;N;;;;1E87; 1E87;LATIN SMALL LETTER W WITH DOT ABOVE;Ll;0;L;0077 0307;;;;N;;;1E86;;1E86 1E88;LATIN CAPITAL LETTER W WITH DOT BELOW;Lu;0;L;0057 0323;;;;N;;;;1E89; 1E89;LATIN SMALL LETTER W WITH DOT BELOW;Ll;0;L;0077 0323;;;;N;;;1E88;;1E88 1E8A;LATIN CAPITAL LETTER X WITH DOT ABOVE;Lu;0;L;0058 0307;;;;N;;;;1E8B; 1E8B;LATIN SMALL LETTER X WITH DOT ABOVE;Ll;0;L;0078 0307;;;;N;;;1E8A;;1E8A 1E8C;LATIN CAPITAL LETTER X WITH DIAERESIS;Lu;0;L;0058 0308;;;;N;;;;1E8D; 1E8D;LATIN SMALL LETTER X WITH DIAERESIS;Ll;0;L;0078 0308;;;;N;;;1E8C;;1E8C 1E8E;LATIN CAPITAL LETTER Y WITH DOT ABOVE;Lu;0;L;0059 0307;;;;N;;;;1E8F; 1E8F;LATIN SMALL LETTER Y WITH DOT ABOVE;Ll;0;L;0079 0307;;;;N;;;1E8E;;1E8E 1E90;LATIN CAPITAL LETTER Z WITH CIRCUMFLEX;Lu;0;L;005A 0302;;;;N;;;;1E91; 1E91;LATIN SMALL LETTER Z WITH CIRCUMFLEX;Ll;0;L;007A 0302;;;;N;;;1E90;;1E90 1E92;LATIN CAPITAL LETTER Z WITH DOT BELOW;Lu;0;L;005A 0323;;;;N;;;;1E93; 1E93;LATIN SMALL LETTER Z WITH DOT BELOW;Ll;0;L;007A 0323;;;;N;;;1E92;;1E92 1E94;LATIN CAPITAL LETTER Z WITH LINE BELOW;Lu;0;L;005A 0331;;;;N;;;;1E95; 1E95;LATIN SMALL LETTER Z WITH LINE BELOW;Ll;0;L;007A 0331;;;;N;;;1E94;;1E94 1E96;LATIN SMALL LETTER H WITH LINE BELOW;Ll;0;L;0068 0331;;;;N;;;;; 1E97;LATIN SMALL LETTER T WITH DIAERESIS;Ll;0;L;0074 0308;;;;N;;;;; 1E98;LATIN SMALL LETTER W WITH RING ABOVE;Ll;0;L;0077 030A;;;;N;;;;; 1E99;LATIN SMALL LETTER Y WITH RING ABOVE;Ll;0;L;0079 030A;;;;N;;;;; 1E9A;LATIN SMALL LETTER A WITH RIGHT HALF RING;Ll;0;L; 0061 02BE;;;;N;;;;; 1E9B;LATIN SMALL LETTER LONG S WITH DOT ABOVE;Ll;0;L;017F 0307;;;;N;;;1E60;;1E60 1EA0;LATIN CAPITAL LETTER A WITH DOT BELOW;Lu;0;L;0041 0323;;;;N;;;;1EA1; 1EA1;LATIN SMALL LETTER A WITH DOT BELOW;Ll;0;L;0061 0323;;;;N;;;1EA0;;1EA0 1EA2;LATIN CAPITAL LETTER A WITH HOOK ABOVE;Lu;0;L;0041 0309;;;;N;;;;1EA3; 1EA3;LATIN SMALL LETTER A WITH HOOK ABOVE;Ll;0;L;0061 0309;;;;N;;;1EA2;;1EA2 1EA4;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE;Lu;0;L;00C2 0301;;;;N;;;;1EA5; 1EA5;LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE;Ll;0;L;00E2 0301;;;;N;;;1EA4;;1EA4 1EA6;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE;Lu;0;L;00C2 0300;;;;N;;;;1EA7; 1EA7;LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE;Ll;0;L;00E2 0300;;;;N;;;1EA6;;1EA6 1EA8;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE;Lu;0;L;00C2 0309;;;;N;;;;1EA9; 1EA9;LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE;Ll;0;L;00E2 0309;;;;N;;;1EA8;;1EA8 1EAA;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE;Lu;0;L;00C2 0303;;;;N;;;;1EAB; 1EAB;LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE;Ll;0;L;00E2 0303;;;;N;;;1EAA;;1EAA 1EAC;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW;Lu;0;L;1EA0 0302;;;;N;;;;1EAD; 1EAD;LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW;Ll;0;L;1EA1 0302;;;;N;;;1EAC;;1EAC 1EAE;LATIN CAPITAL LETTER A WITH BREVE AND ACUTE;Lu;0;L;0102 0301;;;;N;;;;1EAF; 1EAF;LATIN SMALL LETTER A WITH BREVE AND ACUTE;Ll;0;L;0103 0301;;;;N;;;1EAE;;1EAE 1EB0;LATIN CAPITAL LETTER A WITH BREVE AND GRAVE;Lu;0;L;0102 0300;;;;N;;;;1EB1; 1EB1;LATIN SMALL LETTER A WITH BREVE AND GRAVE;Ll;0;L;0103 0300;;;;N;;;1EB0;;1EB0 1EB2;LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE;Lu;0;L;0102 0309;;;;N;;;;1EB3; 1EB3;LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE;Ll;0;L;0103 0309;;;;N;;;1EB2;;1EB2 1EB4;LATIN CAPITAL LETTER A WITH BREVE AND TILDE;Lu;0;L;0102 0303;;;;N;;;;1EB5; 1EB5;LATIN SMALL LETTER A WITH BREVE AND TILDE;Ll;0;L;0103 0303;;;;N;;;1EB4;;1EB4 1EB6;LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW;Lu;0;L;1EA0 0306;;;;N;;;;1EB7; 1EB7;LATIN SMALL LETTER A WITH BREVE AND DOT BELOW;Ll;0;L;1EA1 0306;;;;N;;;1EB6;;1EB6 1EB8;LATIN CAPITAL LETTER E WITH DOT BELOW;Lu;0;L;0045 0323;;;;N;;;;1EB9; 1EB9;LATIN SMALL LETTER E WITH DOT BELOW;Ll;0;L;0065 0323;;;;N;;;1EB8;;1EB8 1EBA;LATIN CAPITAL LETTER E WITH HOOK ABOVE;Lu;0;L;0045 0309;;;;N;;;;1EBB; 1EBB;LATIN SMALL LETTER E WITH HOOK ABOVE;Ll;0;L;0065 0309;;;;N;;;1EBA;;1EBA 1EBC;LATIN CAPITAL LETTER E WITH TILDE;Lu;0;L;0045 0303;;;;N;;;;1EBD; 1EBD;LATIN SMALL LETTER E WITH TILDE;Ll;0;L;0065 0303;;;;N;;;1EBC;;1EBC 1EBE;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE;Lu;0;L;00CA 0301;;;;N;;;;1EBF; 1EBF;LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE;Ll;0;L;00EA 0301;;;;N;;;1EBE;;1EBE 1EC0;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE;Lu;0;L;00CA 0300;;;;N;;;;1EC1; 1EC1;LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE;Ll;0;L;00EA 0300;;;;N;;;1EC0;;1EC0 1EC2;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE;Lu;0;L;00CA 0309;;;;N;;;;1EC3; 1EC3;LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE;Ll;0;L;00EA 0309;;;;N;;;1EC2;;1EC2 1EC4;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE;Lu;0;L;00CA 0303;;;;N;;;;1EC5; 1EC5;LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE;Ll;0;L;00EA 0303;;;;N;;;1EC4;;1EC4 1EC6;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW;Lu;0;L;1EB8 0302;;;;N;;;;1EC7; 1EC7;LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW;Ll;0;L;1EB9 0302;;;;N;;;1EC6;;1EC6 1EC8;LATIN CAPITAL LETTER I WITH HOOK ABOVE;Lu;0;L;0049 0309;;;;N;;;;1EC9; 1EC9;LATIN SMALL LETTER I WITH HOOK ABOVE;Ll;0;L;0069 0309;;;;N;;;1EC8;;1EC8 1ECA;LATIN CAPITAL LETTER I WITH DOT BELOW;Lu;0;L;0049 0323;;;;N;;;;1ECB; 1ECB;LATIN SMALL LETTER I WITH DOT BELOW;Ll;0;L;0069 0323;;;;N;;;1ECA;;1ECA 1ECC;LATIN CAPITAL LETTER O WITH DOT BELOW;Lu;0;L;004F 0323;;;;N;;;;1ECD; 1ECD;LATIN SMALL LETTER O WITH DOT BELOW;Ll;0;L;006F 0323;;;;N;;;1ECC;;1ECC 1ECE;LATIN CAPITAL LETTER O WITH HOOK ABOVE;Lu;0;L;004F 0309;;;;N;;;;1ECF; 1ECF;LATIN SMALL LETTER O WITH HOOK ABOVE;Ll;0;L;006F 0309;;;;N;;;1ECE;;1ECE 1ED0;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE;Lu;0;L;00D4 0301;;;;N;;;;1ED1; 1ED1;LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE;Ll;0;L;00F4 0301;;;;N;;;1ED0;;1ED0 1ED2;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE;Lu;0;L;00D4 0300;;;;N;;;;1ED3; 1ED3;LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE;Ll;0;L;00F4 0300;;;;N;;;1ED2;;1ED2 1ED4;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE;Lu;0;L;00D4 0309;;;;N;;;;1ED5; 1ED5;LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE;Ll;0;L;00F4 0309;;;;N;;;1ED4;;1ED4 1ED6;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE;Lu;0;L;00D4 0303;;;;N;;;;1ED7; 1ED7;LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE;Ll;0;L;00F4 0303;;;;N;;;1ED6;;1ED6 1ED8;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW;Lu;0;L;1ECC 0302;;;;N;;;;1ED9; 1ED9;LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW;Ll;0;L;1ECD 0302;;;;N;;;1ED8;;1ED8 1EDA;LATIN CAPITAL LETTER O WITH HORN AND ACUTE;Lu;0;L;01A0 0301;;;;N;;;;1EDB; 1EDB;LATIN SMALL LETTER O WITH HORN AND ACUTE;Ll;0;L;01A1 0301;;;;N;;;1EDA;;1EDA 1EDC;LATIN CAPITAL LETTER O WITH HORN AND GRAVE;Lu;0;L;01A0 0300;;;;N;;;;1EDD; 1EDD;LATIN SMALL LETTER O WITH HORN AND GRAVE;Ll;0;L;01A1 0300;;;;N;;;1EDC;;1EDC 1EDE;LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE;Lu;0;L;01A0 0309;;;;N;;;;1EDF; 1EDF;LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE;Ll;0;L;01A1 0309;;;;N;;;1EDE;;1EDE 1EE0;LATIN CAPITAL LETTER O WITH HORN AND TILDE;Lu;0;L;01A0 0303;;;;N;;;;1EE1; 1EE1;LATIN SMALL LETTER O WITH HORN AND TILDE;Ll;0;L;01A1 0303;;;;N;;;1EE0;;1EE0 1EE2;LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW;Lu;0;L;01A0 0323;;;;N;;;;1EE3; 1EE3;LATIN SMALL LETTER O WITH HORN AND DOT BELOW;Ll;0;L;01A1 0323;;;;N;;;1EE2;;1EE2 1EE4;LATIN CAPITAL LETTER U WITH DOT BELOW;Lu;0;L;0055 0323;;;;N;;;;1EE5; 1EE5;LATIN SMALL LETTER U WITH DOT BELOW;Ll;0;L;0075 0323;;;;N;;;1EE4;;1EE4 1EE6;LATIN CAPITAL LETTER U WITH HOOK ABOVE;Lu;0;L;0055 0309;;;;N;;;;1EE7; 1EE7;LATIN SMALL LETTER U WITH HOOK ABOVE;Ll;0;L;0075 0309;;;;N;;;1EE6;;1EE6 1EE8;LATIN CAPITAL LETTER U WITH HORN AND ACUTE;Lu;0;L;01AF 0301;;;;N;;;;1EE9; 1EE9;LATIN SMALL LETTER U WITH HORN AND ACUTE;Ll;0;L;01B0 0301;;;;N;;;1EE8;;1EE8 1EEA;LATIN CAPITAL LETTER U WITH HORN AND GRAVE;Lu;0;L;01AF 0300;;;;N;;;;1EEB; 1EEB;LATIN SMALL LETTER U WITH HORN AND GRAVE;Ll;0;L;01B0 0300;;;;N;;;1EEA;;1EEA 1EEC;LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE;Lu;0;L;01AF 0309;;;;N;;;;1EED; 1EED;LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE;Ll;0;L;01B0 0309;;;;N;;;1EEC;;1EEC 1EEE;LATIN CAPITAL LETTER U WITH HORN AND TILDE;Lu;0;L;01AF 0303;;;;N;;;;1EEF; 1EEF;LATIN SMALL LETTER U WITH HORN AND TILDE;Ll;0;L;01B0 0303;;;;N;;;1EEE;;1EEE 1EF0;LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW;Lu;0;L;01AF 0323;;;;N;;;;1EF1; 1EF1;LATIN SMALL LETTER U WITH HORN AND DOT BELOW;Ll;0;L;01B0 0323;;;;N;;;1EF0;;1EF0 1EF2;LATIN CAPITAL LETTER Y WITH GRAVE;Lu;0;L;0059 0300;;;;N;;;;1EF3; 1EF3;LATIN SMALL LETTER Y WITH GRAVE;Ll;0;L;0079 0300;;;;N;;;1EF2;;1EF2 1EF4;LATIN CAPITAL LETTER Y WITH DOT BELOW;Lu;0;L;0059 0323;;;;N;;;;1EF5; 1EF5;LATIN SMALL LETTER Y WITH DOT BELOW;Ll;0;L;0079 0323;;;;N;;;1EF4;;1EF4 1EF6;LATIN CAPITAL LETTER Y WITH HOOK ABOVE;Lu;0;L;0059 0309;;;;N;;;;1EF7; 1EF7;LATIN SMALL LETTER Y WITH HOOK ABOVE;Ll;0;L;0079 0309;;;;N;;;1EF6;;1EF6 1EF8;LATIN CAPITAL LETTER Y WITH TILDE;Lu;0;L;0059 0303;;;;N;;;;1EF9; 1EF9;LATIN SMALL LETTER Y WITH TILDE;Ll;0;L;0079 0303;;;;N;;;1EF8;;1EF8 1F00;GREEK SMALL LETTER ALPHA WITH PSILI;Ll;0;L;03B1 0313;;;;N;;;1F08;;1F08 1F01;GREEK SMALL LETTER ALPHA WITH DASIA;Ll;0;L;03B1 0314;;;;N;;;1F09;;1F09 1F02;GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA;Ll;0;L;1F00 0300;;;;N;;;1F0A;;1F0A 1F03;GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA;Ll;0;L;1F01 0300;;;;N;;;1F0B;;1F0B 1F04;GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA;Ll;0;L;1F00 0301;;;;N;;;1F0C;;1F0C 1F05;GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA;Ll;0;L;1F01 0301;;;;N;;;1F0D;;1F0D 1F06;GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI;Ll;0;L;1F00 0342;;;;N;;;1F0E;;1F0E 1F07;GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI;Ll;0;L;1F01 0342;;;;N;;;1F0F;;1F0F 1F08;GREEK CAPITAL LETTER ALPHA WITH PSILI;Lu;0;L;0391 0313;;;;N;;;;1F00; 1F09;GREEK CAPITAL LETTER ALPHA WITH DASIA;Lu;0;L;0391 0314;;;;N;;;;1F01; 1F0A;GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA;Lu;0;L;1F08 0300;;;;N;;;;1F02; 1F0B;GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA;Lu;0;L;1F09 0300;;;;N;;;;1F03; 1F0C;GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA;Lu;0;L;1F08 0301;;;;N;;;;1F04; 1F0D;GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA;Lu;0;L;1F09 0301;;;;N;;;;1F05; 1F0E;GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI;Lu;0;L;1F08 0342;;;;N;;;;1F06; 1F0F;GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI;Lu;0;L;1F09 0342;;;;N;;;;1F07; 1F10;GREEK SMALL LETTER EPSILON WITH PSILI;Ll;0;L;03B5 0313;;;;N;;;1F18;;1F18 1F11;GREEK SMALL LETTER EPSILON WITH DASIA;Ll;0;L;03B5 0314;;;;N;;;1F19;;1F19 1F12;GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA;Ll;0;L;1F10 0300;;;;N;;;1F1A;;1F1A 1F13;GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA;Ll;0;L;1F11 0300;;;;N;;;1F1B;;1F1B 1F14;GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA;Ll;0;L;1F10 0301;;;;N;;;1F1C;;1F1C 1F15;GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA;Ll;0;L;1F11 0301;;;;N;;;1F1D;;1F1D 1F18;GREEK CAPITAL LETTER EPSILON WITH PSILI;Lu;0;L;0395 0313;;;;N;;;;1F10; 1F19;GREEK CAPITAL LETTER EPSILON WITH DASIA;Lu;0;L;0395 0314;;;;N;;;;1F11; 1F1A;GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA;Lu;0;L;1F18 0300;;;;N;;;;1F12; 1F1B;GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA;Lu;0;L;1F19 0300;;;;N;;;;1F13; 1F1C;GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA;Lu;0;L;1F18 0301;;;;N;;;;1F14; 1F1D;GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA;Lu;0;L;1F19 0301;;;;N;;;;1F15; 1F20;GREEK SMALL LETTER ETA WITH PSILI;Ll;0;L;03B7 0313;;;;N;;;1F28;;1F28 1F21;GREEK SMALL LETTER ETA WITH DASIA;Ll;0;L;03B7 0314;;;;N;;;1F29;;1F29 1F22;GREEK SMALL LETTER ETA WITH PSILI AND VARIA;Ll;0;L;1F20 0300;;;;N;;;1F2A;;1F2A 1F23;GREEK SMALL LETTER ETA WITH DASIA AND VARIA;Ll;0;L;1F21 0300;;;;N;;;1F2B;;1F2B 1F24;GREEK SMALL LETTER ETA WITH PSILI AND OXIA;Ll;0;L;1F20 0301;;;;N;;;1F2C;;1F2C 1F25;GREEK SMALL LETTER ETA WITH DASIA AND OXIA;Ll;0;L;1F21 0301;;;;N;;;1F2D;;1F2D 1F26;GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI;Ll;0;L;1F20 0342;;;;N;;;1F2E;;1F2E 1F27;GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI;Ll;0;L;1F21 0342;;;;N;;;1F2F;;1F2F 1F28;GREEK CAPITAL LETTER ETA WITH PSILI;Lu;0;L;0397 0313;;;;N;;;;1F20; 1F29;GREEK CAPITAL LETTER ETA WITH DASIA;Lu;0;L;0397 0314;;;;N;;;;1F21; 1F2A;GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA;Lu;0;L;1F28 0300;;;;N;;;;1F22; 1F2B;GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA;Lu;0;L;1F29 0300;;;;N;;;;1F23; 1F2C;GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA;Lu;0;L;1F28 0301;;;;N;;;;1F24; 1F2D;GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA;Lu;0;L;1F29 0301;;;;N;;;;1F25; 1F2E;GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI;Lu;0;L;1F28 0342;;;;N;;;;1F26; 1F2F;GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI;Lu;0;L;1F29 0342;;;;N;;;;1F27; 1F30;GREEK SMALL LETTER IOTA WITH PSILI;Ll;0;L;03B9 0313;;;;N;;;1F38;;1F38 1F31;GREEK SMALL LETTER IOTA WITH DASIA;Ll;0;L;03B9 0314;;;;N;;;1F39;;1F39 1F32;GREEK SMALL LETTER IOTA WITH PSILI AND VARIA;Ll;0;L;1F30 0300;;;;N;;;1F3A;;1F3A 1F33;GREEK SMALL LETTER IOTA WITH DASIA AND VARIA;Ll;0;L;1F31 0300;;;;N;;;1F3B;;1F3B 1F34;GREEK SMALL LETTER IOTA WITH PSILI AND OXIA;Ll;0;L;1F30 0301;;;;N;;;1F3C;;1F3C 1F35;GREEK SMALL LETTER IOTA WITH DASIA AND OXIA;Ll;0;L;1F31 0301;;;;N;;;1F3D;;1F3D 1F36;GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI;Ll;0;L;1F30 0342;;;;N;;;1F3E;;1F3E 1F37;GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI;Ll;0;L;1F31 0342;;;;N;;;1F3F;;1F3F 1F38;GREEK CAPITAL LETTER IOTA WITH PSILI;Lu;0;L;0399 0313;;;;N;;;;1F30; 1F39;GREEK CAPITAL LETTER IOTA WITH DASIA;Lu;0;L;0399 0314;;;;N;;;;1F31; 1F3A;GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA;Lu;0;L;1F38 0300;;;;N;;;;1F32; 1F3B;GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA;Lu;0;L;1F39 0300;;;;N;;;;1F33; 1F3C;GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA;Lu;0;L;1F38 0301;;;;N;;;;1F34; 1F3D;GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA;Lu;0;L;1F39 0301;;;;N;;;;1F35; 1F3E;GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI;Lu;0;L;1F38 0342;;;;N;;;;1F36; 1F3F;GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI;Lu;0;L;1F39 0342;;;;N;;;;1F37; 1F40;GREEK SMALL LETTER OMICRON WITH PSILI;Ll;0;L;03BF 0313;;;;N;;;1F48;;1F48 1F41;GREEK SMALL LETTER OMICRON WITH DASIA;Ll;0;L;03BF 0314;;;;N;;;1F49;;1F49 1F42;GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA;Ll;0;L;1F40 0300;;;;N;;;1F4A;;1F4A 1F43;GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA;Ll;0;L;1F41 0300;;;;N;;;1F4B;;1F4B 1F44;GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA;Ll;0;L;1F40 0301;;;;N;;;1F4C;;1F4C 1F45;GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA;Ll;0;L;1F41 0301;;;;N;;;1F4D;;1F4D 1F48;GREEK CAPITAL LETTER OMICRON WITH PSILI;Lu;0;L;039F 0313;;;;N;;;;1F40; 1F49;GREEK CAPITAL LETTER OMICRON WITH DASIA;Lu;0;L;039F 0314;;;;N;;;;1F41; 1F4A;GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA;Lu;0;L;1F48 0300;;;;N;;;;1F42; 1F4B;GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA;Lu;0;L;1F49 0300;;;;N;;;;1F43; 1F4C;GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA;Lu;0;L;1F48 0301;;;;N;;;;1F44; 1F4D;GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA;Lu;0;L;1F49 0301;;;;N;;;;1F45; 1F50;GREEK SMALL LETTER UPSILON WITH PSILI;Ll;0;L;03C5 0313;;;;N;;;;; 1F51;GREEK SMALL LETTER UPSILON WITH DASIA;Ll;0;L;03C5 0314;;;;N;;;1F59;;1F59 1F52;GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA;Ll;0;L;1F50 0300;;;;N;;;;; 1F53;GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA;Ll;0;L;1F51 0300;;;;N;;;1F5B;;1F5B 1F54;GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA;Ll;0;L;1F50 0301;;;;N;;;;; 1F55;GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA;Ll;0;L;1F51 0301;;;;N;;;1F5D;;1F5D 1F56;GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI;Ll;0;L;1F50 0342;;;;N;;;;; 1F57;GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI;Ll;0;L;1F51 0342;;;;N;;;1F5F;;1F5F 1F59;GREEK CAPITAL LETTER UPSILON WITH DASIA;Lu;0;L;03A5 0314;;;;N;;;;1F51; 1F5B;GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA;Lu;0;L;1F59 0300;;;;N;;;;1F53; 1F5D;GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA;Lu;0;L;1F59 0301;;;;N;;;;1F55; 1F5F;GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI;Lu;0;L;1F59 0342;;;;N;;;;1F57; 1F60;GREEK SMALL LETTER OMEGA WITH PSILI;Ll;0;L;03C9 0313;;;;N;;;1F68;;1F68 1F61;GREEK SMALL LETTER OMEGA WITH DASIA;Ll;0;L;03C9 0314;;;;N;;;1F69;;1F69 1F62;GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA;Ll;0;L;1F60 0300;;;;N;;;1F6A;;1F6A 1F63;GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA;Ll;0;L;1F61 0300;;;;N;;;1F6B;;1F6B 1F64;GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA;Ll;0;L;1F60 0301;;;;N;;;1F6C;;1F6C 1F65;GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA;Ll;0;L;1F61 0301;;;;N;;;1F6D;;1F6D 1F66;GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI;Ll;0;L;1F60 0342;;;;N;;;1F6E;;1F6E 1F67;GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI;Ll;0;L;1F61 0342;;;;N;;;1F6F;;1F6F 1F68;GREEK CAPITAL LETTER OMEGA WITH PSILI;Lu;0;L;03A9 0313;;;;N;;;;1F60; 1F69;GREEK CAPITAL LETTER OMEGA WITH DASIA;Lu;0;L;03A9 0314;;;;N;;;;1F61; 1F6A;GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA;Lu;0;L;1F68 0300;;;;N;;;;1F62; 1F6B;GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA;Lu;0;L;1F69 0300;;;;N;;;;1F63; 1F6C;GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA;Lu;0;L;1F68 0301;;;;N;;;;1F64; 1F6D;GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA;Lu;0;L;1F69 0301;;;;N;;;;1F65; 1F6E;GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI;Lu;0;L;1F68 0342;;;;N;;;;1F66; 1F6F;GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI;Lu;0;L;1F69 0342;;;;N;;;;1F67; 1F70;GREEK SMALL LETTER ALPHA WITH VARIA;Ll;0;L;03B1 0300;;;;N;;;1FBA;;1FBA 1F71;GREEK SMALL LETTER ALPHA WITH OXIA;Ll;0;L;03AC;;;;N;;;1FBB;;1FBB 1F72;GREEK SMALL LETTER EPSILON WITH VARIA;Ll;0;L;03B5 0300;;;;N;;;1FC8;;1FC8 1F73;GREEK SMALL LETTER EPSILON WITH OXIA;Ll;0;L;03AD;;;;N;;;1FC9;;1FC9 1F74;GREEK SMALL LETTER ETA WITH VARIA;Ll;0;L;03B7 0300;;;;N;;;1FCA;;1FCA 1F75;GREEK SMALL LETTER ETA WITH OXIA;Ll;0;L;03AE;;;;N;;;1FCB;;1FCB 1F76;GREEK SMALL LETTER IOTA WITH VARIA;Ll;0;L;03B9 0300;;;;N;;;1FDA;;1FDA 1F77;GREEK SMALL LETTER IOTA WITH OXIA;Ll;0;L;03AF;;;;N;;;1FDB;;1FDB 1F78;GREEK SMALL LETTER OMICRON WITH VARIA;Ll;0;L;03BF 0300;;;;N;;;1FF8;;1FF8 1F79;GREEK SMALL LETTER OMICRON WITH OXIA;Ll;0;L;03CC;;;;N;;;1FF9;;1FF9 1F7A;GREEK SMALL LETTER UPSILON WITH VARIA;Ll;0;L;03C5 0300;;;;N;;;1FEA;;1FEA 1F7B;GREEK SMALL LETTER UPSILON WITH OXIA;Ll;0;L;03CD;;;;N;;;1FEB;;1FEB 1F7C;GREEK SMALL LETTER OMEGA WITH VARIA;Ll;0;L;03C9 0300;;;;N;;;1FFA;;1FFA 1F7D;GREEK SMALL LETTER OMEGA WITH OXIA;Ll;0;L;03CE;;;;N;;;1FFB;;1FFB 1F80;GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI;Ll;0;L;1F00 0345;;;;N;;;1F88;;1F88 1F81;GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI;Ll;0;L;1F01 0345;;;;N;;;1F89;;1F89 1F82;GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F02 0345;;;;N;;;1F8A;;1F8A 1F83;GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F03 0345;;;;N;;;1F8B;;1F8B 1F84;GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F04 0345;;;;N;;;1F8C;;1F8C 1F85;GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F05 0345;;;;N;;;1F8D;;1F8D 1F86;GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F06 0345;;;;N;;;1F8E;;1F8E 1F87;GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F07 0345;;;;N;;;1F8F;;1F8F 1F88;GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI;Lt;0;L;1F08 0345;;;;N;;;;1F80; 1F89;GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI;Lt;0;L;1F09 0345;;;;N;;;;1F81; 1F8A;GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F0A 0345;;;;N;;;;1F82; 1F8B;GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F0B 0345;;;;N;;;;1F83; 1F8C;GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F0C 0345;;;;N;;;;1F84; 1F8D;GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F0D 0345;;;;N;;;;1F85; 1F8E;GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F0E 0345;;;;N;;;;1F86; 1F8F;GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F0F 0345;;;;N;;;;1F87; 1F90;GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI;Ll;0;L;1F20 0345;;;;N;;;1F98;;1F98 1F91;GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI;Ll;0;L;1F21 0345;;;;N;;;1F99;;1F99 1F92;GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F22 0345;;;;N;;;1F9A;;1F9A 1F93;GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F23 0345;;;;N;;;1F9B;;1F9B 1F94;GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F24 0345;;;;N;;;1F9C;;1F9C 1F95;GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F25 0345;;;;N;;;1F9D;;1F9D 1F96;GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F26 0345;;;;N;;;1F9E;;1F9E 1F97;GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F27 0345;;;;N;;;1F9F;;1F9F 1F98;GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI;Lt;0;L;1F28 0345;;;;N;;;;1F90; 1F99;GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI;Lt;0;L;1F29 0345;;;;N;;;;1F91; 1F9A;GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F2A 0345;;;;N;;;;1F92; 1F9B;GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F2B 0345;;;;N;;;;1F93; 1F9C;GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F2C 0345;;;;N;;;;1F94; 1F9D;GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F2D 0345;;;;N;;;;1F95; 1F9E;GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F2E 0345;;;;N;;;;1F96; 1F9F;GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F2F 0345;;;;N;;;;1F97; 1FA0;GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI;Ll;0;L;1F60 0345;;;;N;;;1FA8;;1FA8 1FA1;GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI;Ll;0;L;1F61 0345;;;;N;;;1FA9;;1FA9 1FA2;GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F62 0345;;;;N;;;1FAA;;1FAA 1FA3;GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F63 0345;;;;N;;;1FAB;;1FAB 1FA4;GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F64 0345;;;;N;;;1FAC;;1FAC 1FA5;GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F65 0345;;;;N;;;1FAD;;1FAD 1FA6;GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F66 0345;;;;N;;;1FAE;;1FAE 1FA7;GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F67 0345;;;;N;;;1FAF;;1FAF 1FA8;GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI;Lt;0;L;1F68 0345;;;;N;;;;1FA0; 1FA9;GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI;Lt;0;L;1F69 0345;;;;N;;;;1FA1; 1FAA;GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F6A 0345;;;;N;;;;1FA2; 1FAB;GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F6B 0345;;;;N;;;;1FA3; 1FAC;GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F6C 0345;;;;N;;;;1FA4; 1FAD;GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F6D 0345;;;;N;;;;1FA5; 1FAE;GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F6E 0345;;;;N;;;;1FA6; 1FAF;GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F6F 0345;;;;N;;;;1FA7; 1FB0;GREEK SMALL LETTER ALPHA WITH VRACHY;Ll;0;L;03B1 0306;;;;N;;;1FB8;;1FB8 1FB1;GREEK SMALL LETTER ALPHA WITH MACRON;Ll;0;L;03B1 0304;;;;N;;;1FB9;;1FB9 1FB2;GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI;Ll;0;L;1F70 0345;;;;N;;;;; 1FB3;GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI;Ll;0;L;03B1 0345;;;;N;;;1FBC;;1FBC 1FB4;GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI;Ll;0;L;03AC 0345;;;;N;;;;; 1FB6;GREEK SMALL LETTER ALPHA WITH PERISPOMENI;Ll;0;L;03B1 0342;;;;N;;;;; 1FB7;GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1FB6 0345;;;;N;;;;; 1FB8;GREEK CAPITAL LETTER ALPHA WITH VRACHY;Lu;0;L;0391 0306;;;;N;;;;1FB0; 1FB9;GREEK CAPITAL LETTER ALPHA WITH MACRON;Lu;0;L;0391 0304;;;;N;;;;1FB1; 1FBA;GREEK CAPITAL LETTER ALPHA WITH VARIA;Lu;0;L;0391 0300;;;;N;;;;1F70; 1FBB;GREEK CAPITAL LETTER ALPHA WITH OXIA;Lu;0;L;0386;;;;N;;;;1F71; 1FBC;GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI;Lt;0;L;0391 0345;;;;N;;;;1FB3; 1FBD;GREEK KORONIS;Sk;0;ON; 0020 0313;;;;N;;;;; 1FBE;GREEK PROSGEGRAMMENI;Ll;0;L;03B9;;;;N;;;0399;;0399 1FBF;GREEK PSILI;Sk;0;ON; 0020 0313;;;;N;;;;; 1FC0;GREEK PERISPOMENI;Sk;0;ON; 0020 0342;;;;N;;;;; 1FC1;GREEK DIALYTIKA AND PERISPOMENI;Sk;0;ON;00A8 0342;;;;N;;;;; 1FC2;GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI;Ll;0;L;1F74 0345;;;;N;;;;; 1FC3;GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI;Ll;0;L;03B7 0345;;;;N;;;1FCC;;1FCC 1FC4;GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI;Ll;0;L;03AE 0345;;;;N;;;;; 1FC6;GREEK SMALL LETTER ETA WITH PERISPOMENI;Ll;0;L;03B7 0342;;;;N;;;;; 1FC7;GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1FC6 0345;;;;N;;;;; 1FC8;GREEK CAPITAL LETTER EPSILON WITH VARIA;Lu;0;L;0395 0300;;;;N;;;;1F72; 1FC9;GREEK CAPITAL LETTER EPSILON WITH OXIA;Lu;0;L;0388;;;;N;;;;1F73; 1FCA;GREEK CAPITAL LETTER ETA WITH VARIA;Lu;0;L;0397 0300;;;;N;;;;1F74; 1FCB;GREEK CAPITAL LETTER ETA WITH OXIA;Lu;0;L;0389;;;;N;;;;1F75; 1FCC;GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI;Lt;0;L;0397 0345;;;;N;;;;1FC3; 1FCD;GREEK PSILI AND VARIA;Sk;0;ON;1FBF 0300;;;;N;;;;; 1FCE;GREEK PSILI AND OXIA;Sk;0;ON;1FBF 0301;;;;N;;;;; 1FCF;GREEK PSILI AND PERISPOMENI;Sk;0;ON;1FBF 0342;;;;N;;;;; 1FD0;GREEK SMALL LETTER IOTA WITH VRACHY;Ll;0;L;03B9 0306;;;;N;;;1FD8;;1FD8 1FD1;GREEK SMALL LETTER IOTA WITH MACRON;Ll;0;L;03B9 0304;;;;N;;;1FD9;;1FD9 1FD2;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA;Ll;0;L;03CA 0300;;;;N;;;;; 1FD3;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA;Ll;0;L;0390;;;;N;;;;; 1FD6;GREEK SMALL LETTER IOTA WITH PERISPOMENI;Ll;0;L;03B9 0342;;;;N;;;;; 1FD7;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI;Ll;0;L;03CA 0342;;;;N;;;;; 1FD8;GREEK CAPITAL LETTER IOTA WITH VRACHY;Lu;0;L;0399 0306;;;;N;;;;1FD0; 1FD9;GREEK CAPITAL LETTER IOTA WITH MACRON;Lu;0;L;0399 0304;;;;N;;;;1FD1; 1FDA;GREEK CAPITAL LETTER IOTA WITH VARIA;Lu;0;L;0399 0300;;;;N;;;;1F76; 1FDB;GREEK CAPITAL LETTER IOTA WITH OXIA;Lu;0;L;038A;;;;N;;;;1F77; 1FDD;GREEK DASIA AND VARIA;Sk;0;ON;1FFE 0300;;;;N;;;;; 1FDE;GREEK DASIA AND OXIA;Sk;0;ON;1FFE 0301;;;;N;;;;; 1FDF;GREEK DASIA AND PERISPOMENI;Sk;0;ON;1FFE 0342;;;;N;;;;; 1FE0;GREEK SMALL LETTER UPSILON WITH VRACHY;Ll;0;L;03C5 0306;;;;N;;;1FE8;;1FE8 1FE1;GREEK SMALL LETTER UPSILON WITH MACRON;Ll;0;L;03C5 0304;;;;N;;;1FE9;;1FE9 1FE2;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA;Ll;0;L;03CB 0300;;;;N;;;;; 1FE3;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA;Ll;0;L;03B0;;;;N;;;;; 1FE4;GREEK SMALL LETTER RHO WITH PSILI;Ll;0;L;03C1 0313;;;;N;;;;; 1FE5;GREEK SMALL LETTER RHO WITH DASIA;Ll;0;L;03C1 0314;;;;N;;;1FEC;;1FEC 1FE6;GREEK SMALL LETTER UPSILON WITH PERISPOMENI;Ll;0;L;03C5 0342;;;;N;;;;; 1FE7;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI;Ll;0;L;03CB 0342;;;;N;;;;; 1FE8;GREEK CAPITAL LETTER UPSILON WITH VRACHY;Lu;0;L;03A5 0306;;;;N;;;;1FE0; 1FE9;GREEK CAPITAL LETTER UPSILON WITH MACRON;Lu;0;L;03A5 0304;;;;N;;;;1FE1; 1FEA;GREEK CAPITAL LETTER UPSILON WITH VARIA;Lu;0;L;03A5 0300;;;;N;;;;1F7A; 1FEB;GREEK CAPITAL LETTER UPSILON WITH OXIA;Lu;0;L;038E;;;;N;;;;1F7B; 1FEC;GREEK CAPITAL LETTER RHO WITH DASIA;Lu;0;L;03A1 0314;;;;N;;;;1FE5; 1FED;GREEK DIALYTIKA AND VARIA;Sk;0;ON;00A8 0300;;;;N;;;;; 1FEE;GREEK DIALYTIKA AND OXIA;Sk;0;ON;0385;;;;N;;;;; 1FEF;GREEK VARIA;Sk;0;ON;0060;;;;N;;;;; 1FF2;GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI;Ll;0;L;1F7C 0345;;;;N;;;;; 1FF3;GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI;Ll;0;L;03C9 0345;;;;N;;;1FFC;;1FFC 1FF4;GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI;Ll;0;L;03CE 0345;;;;N;;;;; 1FF6;GREEK SMALL LETTER OMEGA WITH PERISPOMENI;Ll;0;L;03C9 0342;;;;N;;;;; 1FF7;GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1FF6 0345;;;;N;;;;; 1FF8;GREEK CAPITAL LETTER OMICRON WITH VARIA;Lu;0;L;039F 0300;;;;N;;;;1F78; 1FF9;GREEK CAPITAL LETTER OMICRON WITH OXIA;Lu;0;L;038C;;;;N;;;;1F79; 1FFA;GREEK CAPITAL LETTER OMEGA WITH VARIA;Lu;0;L;03A9 0300;;;;N;;;;1F7C; 1FFB;GREEK CAPITAL LETTER OMEGA WITH OXIA;Lu;0;L;038F;;;;N;;;;1F7D; 1FFC;GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI;Lt;0;L;03A9 0345;;;;N;;;;1FF3; 1FFD;GREEK OXIA;Sk;0;ON;00B4;;;;N;;;;; 1FFE;GREEK DASIA;Sk;0;ON; 0020 0314;;;;N;;;;; 2000;EN QUAD;Zs;0;WS;2002;;;;N;;;;; 2001;EM QUAD;Zs;0;WS;2003;;;;N;;;;; 2002;EN SPACE;Zs;0;WS; 0020;;;;N;;;;; 2003;EM SPACE;Zs;0;WS; 0020;;;;N;;;;; 2004;THREE-PER-EM SPACE;Zs;0;WS; 0020;;;;N;;;;; 2005;FOUR-PER-EM SPACE;Zs;0;WS; 0020;;;;N;;;;; 2006;SIX-PER-EM SPACE;Zs;0;WS; 0020;;;;N;;;;; 2007;FIGURE SPACE;Zs;0;WS; 0020;;;;N;;;;; 2008;PUNCTUATION SPACE;Zs;0;WS; 0020;;;;N;;;;; 2009;THIN SPACE;Zs;0;WS; 0020;;;;N;;;;; 200A;HAIR SPACE;Zs;0;WS; 0020;;;;N;;;;; 200B;ZERO WIDTH SPACE;Zs;0;BN;;;;;N;;;;; 200C;ZERO WIDTH NON-JOINER;Cf;0;BN;;;;;N;;;;; 200D;ZERO WIDTH JOINER;Cf;0;BN;;;;;N;;;;; 200E;LEFT-TO-RIGHT MARK;Cf;0;L;;;;;N;;;;; 200F;RIGHT-TO-LEFT MARK;Cf;0;R;;;;;N;;;;; 2010;HYPHEN;Pd;0;ON;;;;;N;;;;; 2011;NON-BREAKING HYPHEN;Pd;0;ON; 2010;;;;N;;;;; 2012;FIGURE DASH;Pd;0;ON;;;;;N;;;;; 2013;EN DASH;Pd;0;ON;;;;;N;;;;; 2014;EM DASH;Pd;0;ON;;;;;N;;;;; 2015;HORIZONTAL BAR;Pd;0;ON;;;;;N;QUOTATION DASH;;;; 2016;DOUBLE VERTICAL LINE;Po;0;ON;;;;;N;DOUBLE VERTICAL BAR;;;; 2017;DOUBLE LOW LINE;Po;0;ON; 0020 0333;;;;N;SPACING DOUBLE UNDERSCORE;;;; 2018;LEFT SINGLE QUOTATION MARK;Pi;0;ON;;;;;N;SINGLE TURNED COMMA QUOTATION MARK;;;; 2019;RIGHT SINGLE QUOTATION MARK;Pf;0;ON;;;;;N;SINGLE COMMA QUOTATION MARK;;;; 201A;SINGLE LOW-9 QUOTATION MARK;Ps;0;ON;;;;;N;LOW SINGLE COMMA QUOTATION MARK;;;; 201B;SINGLE HIGH-REVERSED-9 QUOTATION MARK;Pi;0;ON;;;;;N;SINGLE REVERSED COMMA QUOTATION MARK;;;; 201C;LEFT DOUBLE QUOTATION MARK;Pi;0;ON;;;;;N;DOUBLE TURNED COMMA QUOTATION MARK;;;; 201D;RIGHT DOUBLE QUOTATION MARK;Pf;0;ON;;;;;N;DOUBLE COMMA QUOTATION MARK;;;; 201E;DOUBLE LOW-9 QUOTATION MARK;Ps;0;ON;;;;;N;LOW DOUBLE COMMA QUOTATION MARK;;;; 201F;DOUBLE HIGH-REVERSED-9 QUOTATION MARK;Pi;0;ON;;;;;N;DOUBLE REVERSED COMMA QUOTATION MARK;;;; 2020;DAGGER;Po;0;ON;;;;;N;;;;; 2021;DOUBLE DAGGER;Po;0;ON;;;;;N;;;;; 2022;BULLET;Po;0;ON;;;;;N;;;;; 2023;TRIANGULAR BULLET;Po;0;ON;;;;;N;;;;; 2024;ONE DOT LEADER;Po;0;ON; 002E;;;;N;;;;; 2025;TWO DOT LEADER;Po;0;ON; 002E 002E;;;;N;;;;; 2026;HORIZONTAL ELLIPSIS;Po;0;ON; 002E 002E 002E;;;;N;;;;; 2027;HYPHENATION POINT;Po;0;ON;;;;;N;;;;; 2028;LINE SEPARATOR;Zl;0;WS;;;;;N;;;;; 2029;PARAGRAPH SEPARATOR;Zp;0;B;;;;;N;;;;; 202A;LEFT-TO-RIGHT EMBEDDING;Cf;0;LRE;;;;;N;;;;; 202B;RIGHT-TO-LEFT EMBEDDING;Cf;0;RLE;;;;;N;;;;; 202C;POP DIRECTIONAL FORMATTING;Cf;0;PDF;;;;;N;;;;; 202D;LEFT-TO-RIGHT OVERRIDE;Cf;0;LRO;;;;;N;;;;; 202E;RIGHT-TO-LEFT OVERRIDE;Cf;0;RLO;;;;;N;;;;; 202F;NARROW NO-BREAK SPACE;Zs;0;WS; 0020;;;;N;;;;; 2030;PER MILLE SIGN;Po;0;ET;;;;;N;;;;; 2031;PER TEN THOUSAND SIGN;Po;0;ET;;;;;N;;;;; 2032;PRIME;Po;0;ET;;;;;N;;;;; 2033;DOUBLE PRIME;Po;0;ET; 2032 2032;;;;N;;;;; 2034;TRIPLE PRIME;Po;0;ET; 2032 2032 2032;;;;N;;;;; 2035;REVERSED PRIME;Po;0;ON;;;;;N;;;;; 2036;REVERSED DOUBLE PRIME;Po;0;ON; 2035 2035;;;;N;;;;; 2037;REVERSED TRIPLE PRIME;Po;0;ON; 2035 2035 2035;;;;N;;;;; 2038;CARET;Po;0;ON;;;;;N;;;;; 2039;SINGLE LEFT-POINTING ANGLE QUOTATION MARK;Pi;0;ON;;;;;Y;LEFT POINTING SINGLE GUILLEMET;;;; 203A;SINGLE RIGHT-POINTING ANGLE QUOTATION MARK;Pf;0;ON;;;;;Y;RIGHT POINTING SINGLE GUILLEMET;;;; 203B;REFERENCE MARK;Po;0;ON;;;;;N;;;;; 203C;DOUBLE EXCLAMATION MARK;Po;0;ON; 0021 0021;;;;N;;;;; 203D;INTERROBANG;Po;0;ON;;;;;N;;;;; 203E;OVERLINE;Po;0;ON; 0020 0305;;;;N;SPACING OVERSCORE;;;; 203F;UNDERTIE;Pc;0;ON;;;;;N;;Enotikon;;; 2040;CHARACTER TIE;Pc;0;ON;;;;;N;;;;; 2041;CARET INSERTION POINT;Po;0;ON;;;;;N;;;;; 2042;ASTERISM;Po;0;ON;;;;;N;;;;; 2043;HYPHEN BULLET;Po;0;ON;;;;;N;;;;; 2044;FRACTION SLASH;Sm;0;ON;;;;;N;;;;; 2045;LEFT SQUARE BRACKET WITH QUILL;Ps;0;ON;;;;;Y;;;;; 2046;RIGHT SQUARE BRACKET WITH QUILL;Pe;0;ON;;;;;Y;;;;; 2048;QUESTION EXCLAMATION MARK;Po;0;ON; 003F 0021;;;;N;;;;; 2049;EXCLAMATION QUESTION MARK;Po;0;ON; 0021 003F;;;;N;;;;; 204A;TIRONIAN SIGN ET;Po;0;ON;;;;;N;;;;; 204B;REVERSED PILCROW SIGN;Po;0;ON;;;;;N;;;;; 204C;BLACK LEFTWARDS BULLET;Po;0;ON;;;;;N;;;;; 204D;BLACK RIGHTWARDS BULLET;Po;0;ON;;;;;N;;;;; 206A;INHIBIT SYMMETRIC SWAPPING;Cf;0;BN;;;;;N;;;;; 206B;ACTIVATE SYMMETRIC SWAPPING;Cf;0;BN;;;;;N;;;;; 206C;INHIBIT ARABIC FORM SHAPING;Cf;0;BN;;;;;N;;;;; 206D;ACTIVATE ARABIC FORM SHAPING;Cf;0;BN;;;;;N;;;;; 206E;NATIONAL DIGIT SHAPES;Cf;0;BN;;;;;N;;;;; 206F;NOMINAL DIGIT SHAPES;Cf;0;BN;;;;;N;;;;; 2070;SUPERSCRIPT ZERO;No;0;EN; 0030;0;0;0;N;SUPERSCRIPT DIGIT ZERO;;;; 2074;SUPERSCRIPT FOUR;No;0;EN; 0034;4;4;4;N;SUPERSCRIPT DIGIT FOUR;;;; 2075;SUPERSCRIPT FIVE;No;0;EN; 0035;5;5;5;N;SUPERSCRIPT DIGIT FIVE;;;; 2076;SUPERSCRIPT SIX;No;0;EN; 0036;6;6;6;N;SUPERSCRIPT DIGIT SIX;;;; 2077;SUPERSCRIPT SEVEN;No;0;EN; 0037;7;7;7;N;SUPERSCRIPT DIGIT SEVEN;;;; 2078;SUPERSCRIPT EIGHT;No;0;EN; 0038;8;8;8;N;SUPERSCRIPT DIGIT EIGHT;;;; 2079;SUPERSCRIPT NINE;No;0;EN; 0039;9;9;9;N;SUPERSCRIPT DIGIT NINE;;;; 207A;SUPERSCRIPT PLUS SIGN;Sm;0;ET; 002B;;;;N;;;;; 207B;SUPERSCRIPT MINUS;Sm;0;ET; 2212;;;;N;SUPERSCRIPT HYPHEN-MINUS;;;; 207C;SUPERSCRIPT EQUALS SIGN;Sm;0;ON; 003D;;;;N;;;;; 207D;SUPERSCRIPT LEFT PARENTHESIS;Ps;0;ON; 0028;;;;Y;SUPERSCRIPT OPENING PARENTHESIS;;;; 207E;SUPERSCRIPT RIGHT PARENTHESIS;Pe;0;ON; 0029;;;;Y;SUPERSCRIPT CLOSING PARENTHESIS;;;; 207F;SUPERSCRIPT LATIN SMALL LETTER N;Ll;0;L; 006E;;;;N;;;;; 2080;SUBSCRIPT ZERO;No;0;EN; 0030;0;0;0;N;SUBSCRIPT DIGIT ZERO;;;; 2081;SUBSCRIPT ONE;No;0;EN; 0031;1;1;1;N;SUBSCRIPT DIGIT ONE;;;; 2082;SUBSCRIPT TWO;No;0;EN; 0032;2;2;2;N;SUBSCRIPT DIGIT TWO;;;; 2083;SUBSCRIPT THREE;No;0;EN; 0033;3;3;3;N;SUBSCRIPT DIGIT THREE;;;; 2084;SUBSCRIPT FOUR;No;0;EN; 0034;4;4;4;N;SUBSCRIPT DIGIT FOUR;;;; 2085;SUBSCRIPT FIVE;No;0;EN; 0035;5;5;5;N;SUBSCRIPT DIGIT FIVE;;;; 2086;SUBSCRIPT SIX;No;0;EN; 0036;6;6;6;N;SUBSCRIPT DIGIT SIX;;;; 2087;SUBSCRIPT SEVEN;No;0;EN; 0037;7;7;7;N;SUBSCRIPT DIGIT SEVEN;;;; 2088;SUBSCRIPT EIGHT;No;0;EN; 0038;8;8;8;N;SUBSCRIPT DIGIT EIGHT;;;; 2089;SUBSCRIPT NINE;No;0;EN; 0039;9;9;9;N;SUBSCRIPT DIGIT NINE;;;; 208A;SUBSCRIPT PLUS SIGN;Sm;0;ET; 002B;;;;N;;;;; 208B;SUBSCRIPT MINUS;Sm;0;ET; 2212;;;;N;SUBSCRIPT HYPHEN-MINUS;;;; 208C;SUBSCRIPT EQUALS SIGN;Sm;0;ON; 003D;;;;N;;;;; 208D;SUBSCRIPT LEFT PARENTHESIS;Ps;0;ON; 0028;;;;Y;SUBSCRIPT OPENING PARENTHESIS;;;; 208E;SUBSCRIPT RIGHT PARENTHESIS;Pe;0;ON; 0029;;;;Y;SUBSCRIPT CLOSING PARENTHESIS;;;; 20A0;EURO-CURRENCY SIGN;Sc;0;ET;;;;;N;;;;; 20A1;COLON SIGN;Sc;0;ET;;;;;N;;;;; 20A2;CRUZEIRO SIGN;Sc;0;ET;;;;;N;;;;; 20A3;FRENCH FRANC SIGN;Sc;0;ET;;;;;N;;;;; 20A4;LIRA SIGN;Sc;0;ET;;;;;N;;;;; 20A5;MILL SIGN;Sc;0;ET;;;;;N;;;;; 20A6;NAIRA SIGN;Sc;0;ET;;;;;N;;;;; 20A7;PESETA SIGN;Sc;0;ET;;;;;N;;;;; 20A8;RUPEE SIGN;Sc;0;ET; 0052 0073;;;;N;;;;; 20A9;WON SIGN;Sc;0;ET;;;;;N;;;;; 20AA;NEW SHEQEL SIGN;Sc;0;ET;;;;;N;;;;; 20AB;DONG SIGN;Sc;0;ET;;;;;N;;;;; 20AC;EURO SIGN;Sc;0;ET;;;;;N;;;;; 20AD;KIP SIGN;Sc;0;ET;;;;;N;;;;; 20AE;TUGRIK SIGN;Sc;0;ET;;;;;N;;;;; 20AF;DRACHMA SIGN;Sc;0;ET;;;;;N;;;;; 20D0;COMBINING LEFT HARPOON ABOVE;Mn;230;NSM;;;;;N;NON-SPACING LEFT HARPOON ABOVE;;;; 20D1;COMBINING RIGHT HARPOON ABOVE;Mn;230;NSM;;;;;N;NON-SPACING RIGHT HARPOON ABOVE;;;; 20D2;COMBINING LONG VERTICAL LINE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING LONG VERTICAL BAR OVERLAY;;;; 20D3;COMBINING SHORT VERTICAL LINE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING SHORT VERTICAL BAR OVERLAY;;;; 20D4;COMBINING ANTICLOCKWISE ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING ANTICLOCKWISE ARROW ABOVE;;;; 20D5;COMBINING CLOCKWISE ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING CLOCKWISE ARROW ABOVE;;;; 20D6;COMBINING LEFT ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING LEFT ARROW ABOVE;;;; 20D7;COMBINING RIGHT ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING RIGHT ARROW ABOVE;;;; 20D8;COMBINING RING OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING RING OVERLAY;;;; 20D9;COMBINING CLOCKWISE RING OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING CLOCKWISE RING OVERLAY;;;; 20DA;COMBINING ANTICLOCKWISE RING OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING ANTICLOCKWISE RING OVERLAY;;;; 20DB;COMBINING THREE DOTS ABOVE;Mn;230;NSM;;;;;N;NON-SPACING THREE DOTS ABOVE;;;; 20DC;COMBINING FOUR DOTS ABOVE;Mn;230;NSM;;;;;N;NON-SPACING FOUR DOTS ABOVE;;;; 20DD;COMBINING ENCLOSING CIRCLE;Me;0;NSM;;;;;N;ENCLOSING CIRCLE;;;; 20DE;COMBINING ENCLOSING SQUARE;Me;0;NSM;;;;;N;ENCLOSING SQUARE;;;; 20DF;COMBINING ENCLOSING DIAMOND;Me;0;NSM;;;;;N;ENCLOSING DIAMOND;;;; 20E0;COMBINING ENCLOSING CIRCLE BACKSLASH;Me;0;NSM;;;;;N;ENCLOSING CIRCLE SLASH;;;; 20E1;COMBINING LEFT RIGHT ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING LEFT RIGHT ARROW ABOVE;;;; 20E2;COMBINING ENCLOSING SCREEN;Me;0;NSM;;;;;N;;;;; 20E3;COMBINING ENCLOSING KEYCAP;Me;0;NSM;;;;;N;;;;; 2100;ACCOUNT OF;So;0;ON; 0061 002F 0063;;;;N;;;;; 2101;ADDRESSED TO THE SUBJECT;So;0;ON; 0061 002F 0073;;;;N;;;;; 2102;DOUBLE-STRUCK CAPITAL C;Lu;0;L; 0043;;;;N;DOUBLE-STRUCK C;;;; 2103;DEGREE CELSIUS;So;0;ON; 00B0 0043;;;;N;DEGREES CENTIGRADE;;;; 2104;CENTRE LINE SYMBOL;So;0;ON;;;;;N;C L SYMBOL;;;; 2105;CARE OF;So;0;ON; 0063 002F 006F;;;;N;;;;; 2106;CADA UNA;So;0;ON; 0063 002F 0075;;;;N;;;;; 2107;EULER CONSTANT;Lu;0;L; 0190;;;;N;EULERS;;;; 2108;SCRUPLE;So;0;ON;;;;;N;;;;; 2109;DEGREE FAHRENHEIT;So;0;ON; 00B0 0046;;;;N;DEGREES FAHRENHEIT;;;; 210A;SCRIPT SMALL G;Ll;0;L; 0067;;;;N;;;;; 210B;SCRIPT CAPITAL H;Lu;0;L; 0048;;;;N;SCRIPT H;;;; 210C;BLACK-LETTER CAPITAL H;Lu;0;L; 0048;;;;N;BLACK-LETTER H;;;; 210D;DOUBLE-STRUCK CAPITAL H;Lu;0;L; 0048;;;;N;DOUBLE-STRUCK H;;;; 210E;PLANCK CONSTANT;Ll;0;L; 0068;;;;N;;;;; 210F;PLANCK CONSTANT OVER TWO PI;Ll;0;L; 0127;;;;N;PLANCK CONSTANT OVER 2 PI;;;; 2110;SCRIPT CAPITAL I;Lu;0;L; 0049;;;;N;SCRIPT I;;;; 2111;BLACK-LETTER CAPITAL I;Lu;0;L; 0049;;;;N;BLACK-LETTER I;;;; 2112;SCRIPT CAPITAL L;Lu;0;L; 004C;;;;N;SCRIPT L;;;; 2113;SCRIPT SMALL L;Ll;0;L; 006C;;;;N;;;;; 2114;L B BAR SYMBOL;So;0;ON;;;;;N;;;;; 2115;DOUBLE-STRUCK CAPITAL N;Lu;0;L; 004E;;;;N;DOUBLE-STRUCK N;;;; 2116;NUMERO SIGN;So;0;ON; 004E 006F;;;;N;NUMERO;;;; 2117;SOUND RECORDING COPYRIGHT;So;0;ON;;;;;N;;;;; 2118;SCRIPT CAPITAL P;So;0;ON;;;;;N;SCRIPT P;;;; 2119;DOUBLE-STRUCK CAPITAL P;Lu;0;L; 0050;;;;N;DOUBLE-STRUCK P;;;; 211A;DOUBLE-STRUCK CAPITAL Q;Lu;0;L; 0051;;;;N;DOUBLE-STRUCK Q;;;; 211B;SCRIPT CAPITAL R;Lu;0;L; 0052;;;;N;SCRIPT R;;;; 211C;BLACK-LETTER CAPITAL R;Lu;0;L; 0052;;;;N;BLACK-LETTER R;;;; 211D;DOUBLE-STRUCK CAPITAL R;Lu;0;L; 0052;;;;N;DOUBLE-STRUCK R;;;; 211E;PRESCRIPTION TAKE;So;0;ON;;;;;N;;;;; 211F;RESPONSE;So;0;ON;;;;;N;;;;; 2120;SERVICE MARK;So;0;ON; 0053 004D;;;;N;;;;; 2121;TELEPHONE SIGN;So;0;ON; 0054 0045 004C;;;;N;T E L SYMBOL;;;; 2122;TRADE MARK SIGN;So;0;ON; 0054 004D;;;;N;TRADEMARK;;;; 2123;VERSICLE;So;0;ON;;;;;N;;;;; 2124;DOUBLE-STRUCK CAPITAL Z;Lu;0;L; 005A;;;;N;DOUBLE-STRUCK Z;;;; 2125;OUNCE SIGN;So;0;ON;;;;;N;OUNCE;;;; 2126;OHM SIGN;Lu;0;L;03A9;;;;N;OHM;;;03C9; 2127;INVERTED OHM SIGN;So;0;ON;;;;;N;MHO;;;; 2128;BLACK-LETTER CAPITAL Z;Lu;0;L; 005A;;;;N;BLACK-LETTER Z;;;; 2129;TURNED GREEK SMALL LETTER IOTA;So;0;ON;;;;;N;;;;; 212A;KELVIN SIGN;Lu;0;L;004B;;;;N;DEGREES KELVIN;;;006B; 212B;ANGSTROM SIGN;Lu;0;L;00C5;;;;N;ANGSTROM UNIT;;;00E5; 212C;SCRIPT CAPITAL B;Lu;0;L; 0042;;;;N;SCRIPT B;;;; 212D;BLACK-LETTER CAPITAL C;Lu;0;L; 0043;;;;N;BLACK-LETTER C;;;; 212E;ESTIMATED SYMBOL;So;0;ET;;;;;N;;;;; 212F;SCRIPT SMALL E;Ll;0;L; 0065;;;;N;;;;; 2130;SCRIPT CAPITAL E;Lu;0;L; 0045;;;;N;SCRIPT E;;;; 2131;SCRIPT CAPITAL F;Lu;0;L; 0046;;;;N;SCRIPT F;;;; 2132;TURNED CAPITAL F;So;0;ON;;;;;N;TURNED F;;;; 2133;SCRIPT CAPITAL M;Lu;0;L; 004D;;;;N;SCRIPT M;;;; 2134;SCRIPT SMALL O;Ll;0;L; 006F;;;;N;;;;; 2135;ALEF SYMBOL;Lo;0;L; 05D0;;;;N;FIRST TRANSFINITE CARDINAL;;;; 2136;BET SYMBOL;Lo;0;L; 05D1;;;;N;SECOND TRANSFINITE CARDINAL;;;; 2137;GIMEL SYMBOL;Lo;0;L; 05D2;;;;N;THIRD TRANSFINITE CARDINAL;;;; 2138;DALET SYMBOL;Lo;0;L; 05D3;;;;N;FOURTH TRANSFINITE CARDINAL;;;; 2139;INFORMATION SOURCE;Ll;0;L; 0069;;;;N;;;;; 213A;ROTATED CAPITAL Q;So;0;ON;;;;;N;;;;; 2153;VULGAR FRACTION ONE THIRD;No;0;ON; 0031 2044 0033;;;1/3;N;FRACTION ONE THIRD;;;; 2154;VULGAR FRACTION TWO THIRDS;No;0;ON; 0032 2044 0033;;;2/3;N;FRACTION TWO THIRDS;;;; 2155;VULGAR FRACTION ONE FIFTH;No;0;ON; 0031 2044 0035;;;1/5;N;FRACTION ONE FIFTH;;;; 2156;VULGAR FRACTION TWO FIFTHS;No;0;ON; 0032 2044 0035;;;2/5;N;FRACTION TWO FIFTHS;;;; 2157;VULGAR FRACTION THREE FIFTHS;No;0;ON; 0033 2044 0035;;;3/5;N;FRACTION THREE FIFTHS;;;; 2158;VULGAR FRACTION FOUR FIFTHS;No;0;ON; 0034 2044 0035;;;4/5;N;FRACTION FOUR FIFTHS;;;; 2159;VULGAR FRACTION ONE SIXTH;No;0;ON; 0031 2044 0036;;;1/6;N;FRACTION ONE SIXTH;;;; 215A;VULGAR FRACTION FIVE SIXTHS;No;0;ON; 0035 2044 0036;;;5/6;N;FRACTION FIVE SIXTHS;;;; 215B;VULGAR FRACTION ONE EIGHTH;No;0;ON; 0031 2044 0038;;;1/8;N;FRACTION ONE EIGHTH;;;; 215C;VULGAR FRACTION THREE EIGHTHS;No;0;ON; 0033 2044 0038;;;3/8;N;FRACTION THREE EIGHTHS;;;; 215D;VULGAR FRACTION FIVE EIGHTHS;No;0;ON; 0035 2044 0038;;;5/8;N;FRACTION FIVE EIGHTHS;;;; 215E;VULGAR FRACTION SEVEN EIGHTHS;No;0;ON; 0037 2044 0038;;;7/8;N;FRACTION SEVEN EIGHTHS;;;; 215F;FRACTION NUMERATOR ONE;No;0;ON; 0031 2044;;;1;N;;;;; 2160;ROMAN NUMERAL ONE;Nl;0;L; 0049;;;1;N;;;;2170; 2161;ROMAN NUMERAL TWO;Nl;0;L; 0049 0049;;;2;N;;;;2171; 2162;ROMAN NUMERAL THREE;Nl;0;L; 0049 0049 0049;;;3;N;;;;2172; 2163;ROMAN NUMERAL FOUR;Nl;0;L; 0049 0056;;;4;N;;;;2173; 2164;ROMAN NUMERAL FIVE;Nl;0;L; 0056;;;5;N;;;;2174; 2165;ROMAN NUMERAL SIX;Nl;0;L; 0056 0049;;;6;N;;;;2175; 2166;ROMAN NUMERAL SEVEN;Nl;0;L; 0056 0049 0049;;;7;N;;;;2176; 2167;ROMAN NUMERAL EIGHT;Nl;0;L; 0056 0049 0049 0049;;;8;N;;;;2177; 2168;ROMAN NUMERAL NINE;Nl;0;L; 0049 0058;;;9;N;;;;2178; 2169;ROMAN NUMERAL TEN;Nl;0;L; 0058;;;10;N;;;;2179; 216A;ROMAN NUMERAL ELEVEN;Nl;0;L; 0058 0049;;;11;N;;;;217A; 216B;ROMAN NUMERAL TWELVE;Nl;0;L; 0058 0049 0049;;;12;N;;;;217B; 216C;ROMAN NUMERAL FIFTY;Nl;0;L; 004C;;;50;N;;;;217C; 216D;ROMAN NUMERAL ONE HUNDRED;Nl;0;L; 0043;;;100;N;;;;217D; 216E;ROMAN NUMERAL FIVE HUNDRED;Nl;0;L; 0044;;;500;N;;;;217E; 216F;ROMAN NUMERAL ONE THOUSAND;Nl;0;L; 004D;;;1000;N;;;;217F; 2170;SMALL ROMAN NUMERAL ONE;Nl;0;L; 0069;;;1;N;;;2160;;2160 2171;SMALL ROMAN NUMERAL TWO;Nl;0;L; 0069 0069;;;2;N;;;2161;;2161 2172;SMALL ROMAN NUMERAL THREE;Nl;0;L; 0069 0069 0069;;;3;N;;;2162;;2162 2173;SMALL ROMAN NUMERAL FOUR;Nl;0;L; 0069 0076;;;4;N;;;2163;;2163 2174;SMALL ROMAN NUMERAL FIVE;Nl;0;L; 0076;;;5;N;;;2164;;2164 2175;SMALL ROMAN NUMERAL SIX;Nl;0;L; 0076 0069;;;6;N;;;2165;;2165 2176;SMALL ROMAN NUMERAL SEVEN;Nl;0;L; 0076 0069 0069;;;7;N;;;2166;;2166 2177;SMALL ROMAN NUMERAL EIGHT;Nl;0;L; 0076 0069 0069 0069;;;8;N;;;2167;;2167 2178;SMALL ROMAN NUMERAL NINE;Nl;0;L; 0069 0078;;;9;N;;;2168;;2168 2179;SMALL ROMAN NUMERAL TEN;Nl;0;L; 0078;;;10;N;;;2169;;2169 217A;SMALL ROMAN NUMERAL ELEVEN;Nl;0;L; 0078 0069;;;11;N;;;216A;;216A 217B;SMALL ROMAN NUMERAL TWELVE;Nl;0;L; 0078 0069 0069;;;12;N;;;216B;;216B 217C;SMALL ROMAN NUMERAL FIFTY;Nl;0;L; 006C;;;50;N;;;216C;;216C 217D;SMALL ROMAN NUMERAL ONE HUNDRED;Nl;0;L; 0063;;;100;N;;;216D;;216D 217E;SMALL ROMAN NUMERAL FIVE HUNDRED;Nl;0;L; 0064;;;500;N;;;216E;;216E 217F;SMALL ROMAN NUMERAL ONE THOUSAND;Nl;0;L; 006D;;;1000;N;;;216F;;216F 2180;ROMAN NUMERAL ONE THOUSAND C D;Nl;0;L;;;;1000;N;;;;; 2181;ROMAN NUMERAL FIVE THOUSAND;Nl;0;L;;;;5000;N;;;;; 2182;ROMAN NUMERAL TEN THOUSAND;Nl;0;L;;;;10000;N;;;;; 2183;ROMAN NUMERAL REVERSED ONE HUNDRED;Nl;0;L;;;;;N;;;;; 2190;LEFTWARDS ARROW;Sm;0;ON;;;;;N;LEFT ARROW;;;; 2191;UPWARDS ARROW;Sm;0;ON;;;;;N;UP ARROW;;;; 2192;RIGHTWARDS ARROW;Sm;0;ON;;;;;N;RIGHT ARROW;;;; 2193;DOWNWARDS ARROW;Sm;0;ON;;;;;N;DOWN ARROW;;;; 2194;LEFT RIGHT ARROW;Sm;0;ON;;;;;N;;;;; 2195;UP DOWN ARROW;So;0;ON;;;;;N;;;;; 2196;NORTH WEST ARROW;So;0;ON;;;;;N;UPPER LEFT ARROW;;;; 2197;NORTH EAST ARROW;So;0;ON;;;;;N;UPPER RIGHT ARROW;;;; 2198;SOUTH EAST ARROW;So;0;ON;;;;;N;LOWER RIGHT ARROW;;;; 2199;SOUTH WEST ARROW;So;0;ON;;;;;N;LOWER LEFT ARROW;;;; 219A;LEFTWARDS ARROW WITH STROKE;Sm;0;ON;2190 0338;;;;N;LEFT ARROW WITH STROKE;;;; 219B;RIGHTWARDS ARROW WITH STROKE;Sm;0;ON;2192 0338;;;;N;RIGHT ARROW WITH STROKE;;;; 219C;LEFTWARDS WAVE ARROW;So;0;ON;;;;;N;LEFT WAVE ARROW;;;; 219D;RIGHTWARDS WAVE ARROW;So;0;ON;;;;;N;RIGHT WAVE ARROW;;;; 219E;LEFTWARDS TWO HEADED ARROW;So;0;ON;;;;;N;LEFT TWO HEADED ARROW;;;; 219F;UPWARDS TWO HEADED ARROW;So;0;ON;;;;;N;UP TWO HEADED ARROW;;;; 21A0;RIGHTWARDS TWO HEADED ARROW;Sm;0;ON;;;;;N;RIGHT TWO HEADED ARROW;;;; 21A1;DOWNWARDS TWO HEADED ARROW;So;0;ON;;;;;N;DOWN TWO HEADED ARROW;;;; 21A2;LEFTWARDS ARROW WITH TAIL;So;0;ON;;;;;N;LEFT ARROW WITH TAIL;;;; 21A3;RIGHTWARDS ARROW WITH TAIL;Sm;0;ON;;;;;N;RIGHT ARROW WITH TAIL;;;; 21A4;LEFTWARDS ARROW FROM BAR;So;0;ON;;;;;N;LEFT ARROW FROM BAR;;;; 21A5;UPWARDS ARROW FROM BAR;So;0;ON;;;;;N;UP ARROW FROM BAR;;;; 21A6;RIGHTWARDS ARROW FROM BAR;Sm;0;ON;;;;;N;RIGHT ARROW FROM BAR;;;; 21A7;DOWNWARDS ARROW FROM BAR;So;0;ON;;;;;N;DOWN ARROW FROM BAR;;;; 21A8;UP DOWN ARROW WITH BASE;So;0;ON;;;;;N;;;;; 21A9;LEFTWARDS ARROW WITH HOOK;So;0;ON;;;;;N;LEFT ARROW WITH HOOK;;;; 21AA;RIGHTWARDS ARROW WITH HOOK;So;0;ON;;;;;N;RIGHT ARROW WITH HOOK;;;; 21AB;LEFTWARDS ARROW WITH LOOP;So;0;ON;;;;;N;LEFT ARROW WITH LOOP;;;; 21AC;RIGHTWARDS ARROW WITH LOOP;So;0;ON;;;;;N;RIGHT ARROW WITH LOOP;;;; 21AD;LEFT RIGHT WAVE ARROW;So;0;ON;;;;;N;;;;; 21AE;LEFT RIGHT ARROW WITH STROKE;Sm;0;ON;2194 0338;;;;N;;;;; 21AF;DOWNWARDS ZIGZAG ARROW;So;0;ON;;;;;N;DOWN ZIGZAG ARROW;;;; 21B0;UPWARDS ARROW WITH TIP LEFTWARDS;So;0;ON;;;;;N;UP ARROW WITH TIP LEFT;;;; 21B1;UPWARDS ARROW WITH TIP RIGHTWARDS;So;0;ON;;;;;N;UP ARROW WITH TIP RIGHT;;;; 21B2;DOWNWARDS ARROW WITH TIP LEFTWARDS;So;0;ON;;;;;N;DOWN ARROW WITH TIP LEFT;;;; 21B3;DOWNWARDS ARROW WITH TIP RIGHTWARDS;So;0;ON;;;;;N;DOWN ARROW WITH TIP RIGHT;;;; 21B4;RIGHTWARDS ARROW WITH CORNER DOWNWARDS;So;0;ON;;;;;N;RIGHT ARROW WITH CORNER DOWN;;;; 21B5;DOWNWARDS ARROW WITH CORNER LEFTWARDS;So;0;ON;;;;;N;DOWN ARROW WITH CORNER LEFT;;;; 21B6;ANTICLOCKWISE TOP SEMICIRCLE ARROW;So;0;ON;;;;;N;;;;; 21B7;CLOCKWISE TOP SEMICIRCLE ARROW;So;0;ON;;;;;N;;;;; 21B8;NORTH WEST ARROW TO LONG BAR;So;0;ON;;;;;N;UPPER LEFT ARROW TO LONG BAR;;;; 21B9;LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR;So;0;ON;;;;;N;LEFT ARROW TO BAR OVER RIGHT ARROW TO BAR;;;; 21BA;ANTICLOCKWISE OPEN CIRCLE ARROW;So;0;ON;;;;;N;;;;; 21BB;CLOCKWISE OPEN CIRCLE ARROW;So;0;ON;;;;;N;;;;; 21BC;LEFTWARDS HARPOON WITH BARB UPWARDS;So;0;ON;;;;;N;LEFT HARPOON WITH BARB UP;;;; 21BD;LEFTWARDS HARPOON WITH BARB DOWNWARDS;So;0;ON;;;;;N;LEFT HARPOON WITH BARB DOWN;;;; 21BE;UPWARDS HARPOON WITH BARB RIGHTWARDS;So;0;ON;;;;;N;UP HARPOON WITH BARB RIGHT;;;; 21BF;UPWARDS HARPOON WITH BARB LEFTWARDS;So;0;ON;;;;;N;UP HARPOON WITH BARB LEFT;;;; 21C0;RIGHTWARDS HARPOON WITH BARB UPWARDS;So;0;ON;;;;;N;RIGHT HARPOON WITH BARB UP;;;; 21C1;RIGHTWARDS HARPOON WITH BARB DOWNWARDS;So;0;ON;;;;;N;RIGHT HARPOON WITH BARB DOWN;;;; 21C2;DOWNWARDS HARPOON WITH BARB RIGHTWARDS;So;0;ON;;;;;N;DOWN HARPOON WITH BARB RIGHT;;;; 21C3;DOWNWARDS HARPOON WITH BARB LEFTWARDS;So;0;ON;;;;;N;DOWN HARPOON WITH BARB LEFT;;;; 21C4;RIGHTWARDS ARROW OVER LEFTWARDS ARROW;So;0;ON;;;;;N;RIGHT ARROW OVER LEFT ARROW;;;; 21C5;UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW;So;0;ON;;;;;N;UP ARROW LEFT OF DOWN ARROW;;;; 21C6;LEFTWARDS ARROW OVER RIGHTWARDS ARROW;So;0;ON;;;;;N;LEFT ARROW OVER RIGHT ARROW;;;; 21C7;LEFTWARDS PAIRED ARROWS;So;0;ON;;;;;N;LEFT PAIRED ARROWS;;;; 21C8;UPWARDS PAIRED ARROWS;So;0;ON;;;;;N;UP PAIRED ARROWS;;;; 21C9;RIGHTWARDS PAIRED ARROWS;So;0;ON;;;;;N;RIGHT PAIRED ARROWS;;;; 21CA;DOWNWARDS PAIRED ARROWS;So;0;ON;;;;;N;DOWN PAIRED ARROWS;;;; 21CB;LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON;So;0;ON;;;;;N;LEFT HARPOON OVER RIGHT HARPOON;;;; 21CC;RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON;So;0;ON;;;;;N;RIGHT HARPOON OVER LEFT HARPOON;;;; 21CD;LEFTWARDS DOUBLE ARROW WITH STROKE;So;0;ON;21D0 0338;;;;N;LEFT DOUBLE ARROW WITH STROKE;;;; 21CE;LEFT RIGHT DOUBLE ARROW WITH STROKE;Sm;0;ON;21D4 0338;;;;N;;;;; 21CF;RIGHTWARDS DOUBLE ARROW WITH STROKE;Sm;0;ON;21D2 0338;;;;N;RIGHT DOUBLE ARROW WITH STROKE;;;; 21D0;LEFTWARDS DOUBLE ARROW;So;0;ON;;;;;N;LEFT DOUBLE ARROW;;;; 21D1;UPWARDS DOUBLE ARROW;So;0;ON;;;;;N;UP DOUBLE ARROW;;;; 21D2;RIGHTWARDS DOUBLE ARROW;Sm;0;ON;;;;;N;RIGHT DOUBLE ARROW;;;; 21D3;DOWNWARDS DOUBLE ARROW;So;0;ON;;;;;N;DOWN DOUBLE ARROW;;;; 21D4;LEFT RIGHT DOUBLE ARROW;Sm;0;ON;;;;;N;;;;; 21D5;UP DOWN DOUBLE ARROW;So;0;ON;;;;;N;;;;; 21D6;NORTH WEST DOUBLE ARROW;So;0;ON;;;;;N;UPPER LEFT DOUBLE ARROW;;;; 21D7;NORTH EAST DOUBLE ARROW;So;0;ON;;;;;N;UPPER RIGHT DOUBLE ARROW;;;; 21D8;SOUTH EAST DOUBLE ARROW;So;0;ON;;;;;N;LOWER RIGHT DOUBLE ARROW;;;; 21D9;SOUTH WEST DOUBLE ARROW;So;0;ON;;;;;N;LOWER LEFT DOUBLE ARROW;;;; 21DA;LEFTWARDS TRIPLE ARROW;So;0;ON;;;;;N;LEFT TRIPLE ARROW;;;; 21DB;RIGHTWARDS TRIPLE ARROW;So;0;ON;;;;;N;RIGHT TRIPLE ARROW;;;; 21DC;LEFTWARDS SQUIGGLE ARROW;So;0;ON;;;;;N;LEFT SQUIGGLE ARROW;;;; 21DD;RIGHTWARDS SQUIGGLE ARROW;So;0;ON;;;;;N;RIGHT SQUIGGLE ARROW;;;; 21DE;UPWARDS ARROW WITH DOUBLE STROKE;So;0;ON;;;;;N;UP ARROW WITH DOUBLE STROKE;;;; 21DF;DOWNWARDS ARROW WITH DOUBLE STROKE;So;0;ON;;;;;N;DOWN ARROW WITH DOUBLE STROKE;;;; 21E0;LEFTWARDS DASHED ARROW;So;0;ON;;;;;N;LEFT DASHED ARROW;;;; 21E1;UPWARDS DASHED ARROW;So;0;ON;;;;;N;UP DASHED ARROW;;;; 21E2;RIGHTWARDS DASHED ARROW;So;0;ON;;;;;N;RIGHT DASHED ARROW;;;; 21E3;DOWNWARDS DASHED ARROW;So;0;ON;;;;;N;DOWN DASHED ARROW;;;; 21E4;LEFTWARDS ARROW TO BAR;So;0;ON;;;;;N;LEFT ARROW TO BAR;;;; 21E5;RIGHTWARDS ARROW TO BAR;So;0;ON;;;;;N;RIGHT ARROW TO BAR;;;; 21E6;LEFTWARDS WHITE ARROW;So;0;ON;;;;;N;WHITE LEFT ARROW;;;; 21E7;UPWARDS WHITE ARROW;So;0;ON;;;;;N;WHITE UP ARROW;;;; 21E8;RIGHTWARDS WHITE ARROW;So;0;ON;;;;;N;WHITE RIGHT ARROW;;;; 21E9;DOWNWARDS WHITE ARROW;So;0;ON;;;;;N;WHITE DOWN ARROW;;;; 21EA;UPWARDS WHITE ARROW FROM BAR;So;0;ON;;;;;N;WHITE UP ARROW FROM BAR;;;; 21EB;UPWARDS WHITE ARROW ON PEDESTAL;So;0;ON;;;;;N;;;;; 21EC;UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR;So;0;ON;;;;;N;;;;; 21ED;UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR;So;0;ON;;;;;N;;;;; 21EE;UPWARDS WHITE DOUBLE ARROW;So;0;ON;;;;;N;;;;; 21EF;UPWARDS WHITE DOUBLE ARROW ON PEDESTAL;So;0;ON;;;;;N;;;;; 21F0;RIGHTWARDS WHITE ARROW FROM WALL;So;0;ON;;;;;N;;;;; 21F1;NORTH WEST ARROW TO CORNER;So;0;ON;;;;;N;;;;; 21F2;SOUTH EAST ARROW TO CORNER;So;0;ON;;;;;N;;;;; 21F3;UP DOWN WHITE ARROW;So;0;ON;;;;;N;;;;; 2200;FOR ALL;Sm;0;ON;;;;;N;;;;; 2201;COMPLEMENT;Sm;0;ON;;;;;Y;;;;; 2202;PARTIAL DIFFERENTIAL;Sm;0;ON;;;;;Y;;;;; 2203;THERE EXISTS;Sm;0;ON;;;;;Y;;;;; 2204;THERE DOES NOT EXIST;Sm;0;ON;2203 0338;;;;Y;;;;; 2205;EMPTY SET;Sm;0;ON;;;;;N;;;;; 2206;INCREMENT;Sm;0;ON;;;;;N;;;;; 2207;NABLA;Sm;0;ON;;;;;N;;;;; 2208;ELEMENT OF;Sm;0;ON;;;;;Y;;;;; 2209;NOT AN ELEMENT OF;Sm;0;ON;2208 0338;;;;Y;;;;; 220A;SMALL ELEMENT OF;Sm;0;ON;;;;;Y;;;;; 220B;CONTAINS AS MEMBER;Sm;0;ON;;;;;Y;;;;; 220C;DOES NOT CONTAIN AS MEMBER;Sm;0;ON;220B 0338;;;;Y;;;;; 220D;SMALL CONTAINS AS MEMBER;Sm;0;ON;;;;;Y;;;;; 220E;END OF PROOF;Sm;0;ON;;;;;N;;;;; 220F;N-ARY PRODUCT;Sm;0;ON;;;;;N;;;;; 2210;N-ARY COPRODUCT;Sm;0;ON;;;;;N;;;;; 2211;N-ARY SUMMATION;Sm;0;ON;;;;;Y;;;;; 2212;MINUS SIGN;Sm;0;ET;;;;;N;;;;; 2213;MINUS-OR-PLUS SIGN;Sm;0;ET;;;;;N;;;;; 2214;DOT PLUS;Sm;0;ON;;;;;N;;;;; 2215;DIVISION SLASH;Sm;0;ON;;;;;Y;;;;; 2216;SET MINUS;Sm;0;ON;;;;;Y;;;;; 2217;ASTERISK OPERATOR;Sm;0;ON;;;;;N;;;;; 2218;RING OPERATOR;Sm;0;ON;;;;;N;;;;; 2219;BULLET OPERATOR;Sm;0;ON;;;;;N;;;;; 221A;SQUARE ROOT;Sm;0;ON;;;;;Y;;;;; 221B;CUBE ROOT;Sm;0;ON;;;;;Y;;;;; 221C;FOURTH ROOT;Sm;0;ON;;;;;Y;;;;; 221D;PROPORTIONAL TO;Sm;0;ON;;;;;Y;;;;; 221E;INFINITY;Sm;0;ON;;;;;N;;;;; 221F;RIGHT ANGLE;Sm;0;ON;;;;;Y;;;;; 2220;ANGLE;Sm;0;ON;;;;;Y;;;;; 2221;MEASURED ANGLE;Sm;0;ON;;;;;Y;;;;; 2222;SPHERICAL ANGLE;Sm;0;ON;;;;;Y;;;;; 2223;DIVIDES;Sm;0;ON;;;;;N;;;;; 2224;DOES NOT DIVIDE;Sm;0;ON;2223 0338;;;;Y;;;;; 2225;PARALLEL TO;Sm;0;ON;;;;;N;;;;; 2226;NOT PARALLEL TO;Sm;0;ON;2225 0338;;;;Y;;;;; 2227;LOGICAL AND;Sm;0;ON;;;;;N;;;;; 2228;LOGICAL OR;Sm;0;ON;;;;;N;;;;; 2229;INTERSECTION;Sm;0;ON;;;;;N;;;;; 222A;UNION;Sm;0;ON;;;;;N;;;;; 222B;INTEGRAL;Sm;0;ON;;;;;Y;;;;; 222C;DOUBLE INTEGRAL;Sm;0;ON; 222B 222B;;;;Y;;;;; 222D;TRIPLE INTEGRAL;Sm;0;ON; 222B 222B 222B;;;;Y;;;;; 222E;CONTOUR INTEGRAL;Sm;0;ON;;;;;Y;;;;; 222F;SURFACE INTEGRAL;Sm;0;ON; 222E 222E;;;;Y;;;;; 2230;VOLUME INTEGRAL;Sm;0;ON; 222E 222E 222E;;;;Y;;;;; 2231;CLOCKWISE INTEGRAL;Sm;0;ON;;;;;Y;;;;; 2232;CLOCKWISE CONTOUR INTEGRAL;Sm;0;ON;;;;;Y;;;;; 2233;ANTICLOCKWISE CONTOUR INTEGRAL;Sm;0;ON;;;;;Y;;;;; 2234;THEREFORE;Sm;0;ON;;;;;N;;;;; 2235;BECAUSE;Sm;0;ON;;;;;N;;;;; 2236;RATIO;Sm;0;ON;;;;;N;;;;; 2237;PROPORTION;Sm;0;ON;;;;;N;;;;; 2238;DOT MINUS;Sm;0;ON;;;;;N;;;;; 2239;EXCESS;Sm;0;ON;;;;;Y;;;;; 223A;GEOMETRIC PROPORTION;Sm;0;ON;;;;;N;;;;; 223B;HOMOTHETIC;Sm;0;ON;;;;;Y;;;;; 223C;TILDE OPERATOR;Sm;0;ON;;;;;Y;;;;; 223D;REVERSED TILDE;Sm;0;ON;;;;;Y;;lazy S;;; 223E;INVERTED LAZY S;Sm;0;ON;;;;;Y;;;;; 223F;SINE WAVE;Sm;0;ON;;;;;Y;;;;; 2240;WREATH PRODUCT;Sm;0;ON;;;;;Y;;;;; 2241;NOT TILDE;Sm;0;ON;223C 0338;;;;Y;;;;; 2242;MINUS TILDE;Sm;0;ON;;;;;Y;;;;; 2243;ASYMPTOTICALLY EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2244;NOT ASYMPTOTICALLY EQUAL TO;Sm;0;ON;2243 0338;;;;Y;;;;; 2245;APPROXIMATELY EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2246;APPROXIMATELY BUT NOT ACTUALLY EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2247;NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO;Sm;0;ON;2245 0338;;;;Y;;;;; 2248;ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2249;NOT ALMOST EQUAL TO;Sm;0;ON;2248 0338;;;;Y;;;;; 224A;ALMOST EQUAL OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 224B;TRIPLE TILDE;Sm;0;ON;;;;;Y;;;;; 224C;ALL EQUAL TO;Sm;0;ON;;;;;Y;;;;; 224D;EQUIVALENT TO;Sm;0;ON;;;;;N;;;;; 224E;GEOMETRICALLY EQUIVALENT TO;Sm;0;ON;;;;;N;;;;; 224F;DIFFERENCE BETWEEN;Sm;0;ON;;;;;N;;;;; 2250;APPROACHES THE LIMIT;Sm;0;ON;;;;;N;;;;; 2251;GEOMETRICALLY EQUAL TO;Sm;0;ON;;;;;N;;;;; 2252;APPROXIMATELY EQUAL TO OR THE IMAGE OF;Sm;0;ON;;;;;Y;;;;; 2253;IMAGE OF OR APPROXIMATELY EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2254;COLON EQUALS;Sm;0;ON;;;;;Y;COLON EQUAL;;;; 2255;EQUALS COLON;Sm;0;ON;;;;;Y;EQUAL COLON;;;; 2256;RING IN EQUAL TO;Sm;0;ON;;;;;N;;;;; 2257;RING EQUAL TO;Sm;0;ON;;;;;N;;;;; 2258;CORRESPONDS TO;Sm;0;ON;;;;;N;;;;; 2259;ESTIMATES;Sm;0;ON;;;;;N;;;;; 225A;EQUIANGULAR TO;Sm;0;ON;;;;;N;;;;; 225B;STAR EQUALS;Sm;0;ON;;;;;N;;;;; 225C;DELTA EQUAL TO;Sm;0;ON;;;;;N;;;;; 225D;EQUAL TO BY DEFINITION;Sm;0;ON;;;;;N;;;;; 225E;MEASURED BY;Sm;0;ON;;;;;N;;;;; 225F;QUESTIONED EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2260;NOT EQUAL TO;Sm;0;ON;003D 0338;;;;Y;;;;; 2261;IDENTICAL TO;Sm;0;ON;;;;;N;;;;; 2262;NOT IDENTICAL TO;Sm;0;ON;2261 0338;;;;Y;;;;; 2263;STRICTLY EQUIVALENT TO;Sm;0;ON;;;;;N;;;;; 2264;LESS-THAN OR EQUAL TO;Sm;0;ON;;;;;Y;LESS THAN OR EQUAL TO;;;; 2265;GREATER-THAN OR EQUAL TO;Sm;0;ON;;;;;Y;GREATER THAN OR EQUAL TO;;;; 2266;LESS-THAN OVER EQUAL TO;Sm;0;ON;;;;;Y;LESS THAN OVER EQUAL TO;;;; 2267;GREATER-THAN OVER EQUAL TO;Sm;0;ON;;;;;Y;GREATER THAN OVER EQUAL TO;;;; 2268;LESS-THAN BUT NOT EQUAL TO;Sm;0;ON;;;;;Y;LESS THAN BUT NOT EQUAL TO;;;; 2269;GREATER-THAN BUT NOT EQUAL TO;Sm;0;ON;;;;;Y;GREATER THAN BUT NOT EQUAL TO;;;; 226A;MUCH LESS-THAN;Sm;0;ON;;;;;Y;MUCH LESS THAN;;;; 226B;MUCH GREATER-THAN;Sm;0;ON;;;;;Y;MUCH GREATER THAN;;;; 226C;BETWEEN;Sm;0;ON;;;;;N;;;;; 226D;NOT EQUIVALENT TO;Sm;0;ON;224D 0338;;;;N;;;;; 226E;NOT LESS-THAN;Sm;0;ON;003C 0338;;;;Y;NOT LESS THAN;;;; 226F;NOT GREATER-THAN;Sm;0;ON;003E 0338;;;;Y;NOT GREATER THAN;;;; 2270;NEITHER LESS-THAN NOR EQUAL TO;Sm;0;ON;2264 0338;;;;Y;NEITHER LESS THAN NOR EQUAL TO;;;; 2271;NEITHER GREATER-THAN NOR EQUAL TO;Sm;0;ON;2265 0338;;;;Y;NEITHER GREATER THAN NOR EQUAL TO;;;; 2272;LESS-THAN OR EQUIVALENT TO;Sm;0;ON;;;;;Y;LESS THAN OR EQUIVALENT TO;;;; 2273;GREATER-THAN OR EQUIVALENT TO;Sm;0;ON;;;;;Y;GREATER THAN OR EQUIVALENT TO;;;; 2274;NEITHER LESS-THAN NOR EQUIVALENT TO;Sm;0;ON;2272 0338;;;;Y;NEITHER LESS THAN NOR EQUIVALENT TO;;;; 2275;NEITHER GREATER-THAN NOR EQUIVALENT TO;Sm;0;ON;2273 0338;;;;Y;NEITHER GREATER THAN NOR EQUIVALENT TO;;;; 2276;LESS-THAN OR GREATER-THAN;Sm;0;ON;;;;;Y;LESS THAN OR GREATER THAN;;;; 2277;GREATER-THAN OR LESS-THAN;Sm;0;ON;;;;;Y;GREATER THAN OR LESS THAN;;;; 2278;NEITHER LESS-THAN NOR GREATER-THAN;Sm;0;ON;2276 0338;;;;Y;NEITHER LESS THAN NOR GREATER THAN;;;; 2279;NEITHER GREATER-THAN NOR LESS-THAN;Sm;0;ON;2277 0338;;;;Y;NEITHER GREATER THAN NOR LESS THAN;;;; 227A;PRECEDES;Sm;0;ON;;;;;Y;;;;; 227B;SUCCEEDS;Sm;0;ON;;;;;Y;;;;; 227C;PRECEDES OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 227D;SUCCEEDS OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 227E;PRECEDES OR EQUIVALENT TO;Sm;0;ON;;;;;Y;;;;; 227F;SUCCEEDS OR EQUIVALENT TO;Sm;0;ON;;;;;Y;;;;; 2280;DOES NOT PRECEDE;Sm;0;ON;227A 0338;;;;Y;;;;; 2281;DOES NOT SUCCEED;Sm;0;ON;227B 0338;;;;Y;;;;; 2282;SUBSET OF;Sm;0;ON;;;;;Y;;;;; 2283;SUPERSET OF;Sm;0;ON;;;;;Y;;;;; 2284;NOT A SUBSET OF;Sm;0;ON;2282 0338;;;;Y;;;;; 2285;NOT A SUPERSET OF;Sm;0;ON;2283 0338;;;;Y;;;;; 2286;SUBSET OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2287;SUPERSET OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2288;NEITHER A SUBSET OF NOR EQUAL TO;Sm;0;ON;2286 0338;;;;Y;;;;; 2289;NEITHER A SUPERSET OF NOR EQUAL TO;Sm;0;ON;2287 0338;;;;Y;;;;; 228A;SUBSET OF WITH NOT EQUAL TO;Sm;0;ON;;;;;Y;SUBSET OF OR NOT EQUAL TO;;;; 228B;SUPERSET OF WITH NOT EQUAL TO;Sm;0;ON;;;;;Y;SUPERSET OF OR NOT EQUAL TO;;;; 228C;MULTISET;Sm;0;ON;;;;;Y;;;;; 228D;MULTISET MULTIPLICATION;Sm;0;ON;;;;;N;;;;; 228E;MULTISET UNION;Sm;0;ON;;;;;N;;;;; 228F;SQUARE IMAGE OF;Sm;0;ON;;;;;Y;;;;; 2290;SQUARE ORIGINAL OF;Sm;0;ON;;;;;Y;;;;; 2291;SQUARE IMAGE OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2292;SQUARE ORIGINAL OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 2293;SQUARE CAP;Sm;0;ON;;;;;N;;;;; 2294;SQUARE CUP;Sm;0;ON;;;;;N;;;;; 2295;CIRCLED PLUS;Sm;0;ON;;;;;N;;;;; 2296;CIRCLED MINUS;Sm;0;ON;;;;;N;;;;; 2297;CIRCLED TIMES;Sm;0;ON;;;;;N;;;;; 2298;CIRCLED DIVISION SLASH;Sm;0;ON;;;;;Y;;;;; 2299;CIRCLED DOT OPERATOR;Sm;0;ON;;;;;N;;;;; 229A;CIRCLED RING OPERATOR;Sm;0;ON;;;;;N;;;;; 229B;CIRCLED ASTERISK OPERATOR;Sm;0;ON;;;;;N;;;;; 229C;CIRCLED EQUALS;Sm;0;ON;;;;;N;;;;; 229D;CIRCLED DASH;Sm;0;ON;;;;;N;;;;; 229E;SQUARED PLUS;Sm;0;ON;;;;;N;;;;; 229F;SQUARED MINUS;Sm;0;ON;;;;;N;;;;; 22A0;SQUARED TIMES;Sm;0;ON;;;;;N;;;;; 22A1;SQUARED DOT OPERATOR;Sm;0;ON;;;;;N;;;;; 22A2;RIGHT TACK;Sm;0;ON;;;;;Y;;;;; 22A3;LEFT TACK;Sm;0;ON;;;;;Y;;;;; 22A4;DOWN TACK;Sm;0;ON;;;;;N;;;;; 22A5;UP TACK;Sm;0;ON;;;;;N;;;;; 22A6;ASSERTION;Sm;0;ON;;;;;Y;;;;; 22A7;MODELS;Sm;0;ON;;;;;Y;;;;; 22A8;TRUE;Sm;0;ON;;;;;Y;;;;; 22A9;FORCES;Sm;0;ON;;;;;Y;;;;; 22AA;TRIPLE VERTICAL BAR RIGHT TURNSTILE;Sm;0;ON;;;;;Y;;;;; 22AB;DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE;Sm;0;ON;;;;;Y;;;;; 22AC;DOES NOT PROVE;Sm;0;ON;22A2 0338;;;;Y;;;;; 22AD;NOT TRUE;Sm;0;ON;22A8 0338;;;;Y;;;;; 22AE;DOES NOT FORCE;Sm;0;ON;22A9 0338;;;;Y;;;;; 22AF;NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE;Sm;0;ON;22AB 0338;;;;Y;;;;; 22B0;PRECEDES UNDER RELATION;Sm;0;ON;;;;;Y;;;;; 22B1;SUCCEEDS UNDER RELATION;Sm;0;ON;;;;;Y;;;;; 22B2;NORMAL SUBGROUP OF;Sm;0;ON;;;;;Y;;;;; 22B3;CONTAINS AS NORMAL SUBGROUP;Sm;0;ON;;;;;Y;;;;; 22B4;NORMAL SUBGROUP OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 22B5;CONTAINS AS NORMAL SUBGROUP OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; 22B6;ORIGINAL OF;Sm;0;ON;;;;;Y;;;;; 22B7;IMAGE OF;Sm;0;ON;;;;;Y;;;;; 22B8;MULTIMAP;Sm;0;ON;;;;;Y;;;;; 22B9;HERMITIAN CONJUGATE MATRIX;Sm;0;ON;;;;;N;;;;; 22BA;INTERCALATE;Sm;0;ON;;;;;N;;;;; 22BB;XOR;Sm;0;ON;;;;;N;;;;; 22BC;NAND;Sm;0;ON;;;;;N;;;;; 22BD;NOR;Sm;0;ON;;;;;N;;;;; 22BE;RIGHT ANGLE WITH ARC;Sm;0;ON;;;;;Y;;;;; 22BF;RIGHT TRIANGLE;Sm;0;ON;;;;;Y;;;;; 22C0;N-ARY LOGICAL AND;Sm;0;ON;;;;;N;;;;; 22C1;N-ARY LOGICAL OR;Sm;0;ON;;;;;N;;;;; 22C2;N-ARY INTERSECTION;Sm;0;ON;;;;;N;;;;; 22C3;N-ARY UNION;Sm;0;ON;;;;;N;;;;; 22C4;DIAMOND OPERATOR;Sm;0;ON;;;;;N;;;;; 22C5;DOT OPERATOR;Sm;0;ON;;;;;N;;;;; 22C6;STAR OPERATOR;Sm;0;ON;;;;;N;;;;; 22C7;DIVISION TIMES;Sm;0;ON;;;;;N;;;;; 22C8;BOWTIE;Sm;0;ON;;;;;N;;;;; 22C9;LEFT NORMAL FACTOR SEMIDIRECT PRODUCT;Sm;0;ON;;;;;Y;;;;; 22CA;RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT;Sm;0;ON;;;;;Y;;;;; 22CB;LEFT SEMIDIRECT PRODUCT;Sm;0;ON;;;;;Y;;;;; 22CC;RIGHT SEMIDIRECT PRODUCT;Sm;0;ON;;;;;Y;;;;; 22CD;REVERSED TILDE EQUALS;Sm;0;ON;;;;;Y;;;;; 22CE;CURLY LOGICAL OR;Sm;0;ON;;;;;N;;;;; 22CF;CURLY LOGICAL AND;Sm;0;ON;;;;;N;;;;; 22D0;DOUBLE SUBSET;Sm;0;ON;;;;;Y;;;;; 22D1;DOUBLE SUPERSET;Sm;0;ON;;;;;Y;;;;; 22D2;DOUBLE INTERSECTION;Sm;0;ON;;;;;N;;;;; 22D3;DOUBLE UNION;Sm;0;ON;;;;;N;;;;; 22D4;PITCHFORK;Sm;0;ON;;;;;N;;;;; 22D5;EQUAL AND PARALLEL TO;Sm;0;ON;;;;;N;;;;; 22D6;LESS-THAN WITH DOT;Sm;0;ON;;;;;Y;LESS THAN WITH DOT;;;; 22D7;GREATER-THAN WITH DOT;Sm;0;ON;;;;;Y;GREATER THAN WITH DOT;;;; 22D8;VERY MUCH LESS-THAN;Sm;0;ON;;;;;Y;VERY MUCH LESS THAN;;;; 22D9;VERY MUCH GREATER-THAN;Sm;0;ON;;;;;Y;VERY MUCH GREATER THAN;;;; 22DA;LESS-THAN EQUAL TO OR GREATER-THAN;Sm;0;ON;;;;;Y;LESS THAN EQUAL TO OR GREATER THAN;;;; 22DB;GREATER-THAN EQUAL TO OR LESS-THAN;Sm;0;ON;;;;;Y;GREATER THAN EQUAL TO OR LESS THAN;;;; 22DC;EQUAL TO OR LESS-THAN;Sm;0;ON;;;;;Y;EQUAL TO OR LESS THAN;;;; 22DD;EQUAL TO OR GREATER-THAN;Sm;0;ON;;;;;Y;EQUAL TO OR GREATER THAN;;;; 22DE;EQUAL TO OR PRECEDES;Sm;0;ON;;;;;Y;;;;; 22DF;EQUAL TO OR SUCCEEDS;Sm;0;ON;;;;;Y;;;;; 22E0;DOES NOT PRECEDE OR EQUAL;Sm;0;ON;227C 0338;;;;Y;;;;; 22E1;DOES NOT SUCCEED OR EQUAL;Sm;0;ON;227D 0338;;;;Y;;;;; 22E2;NOT SQUARE IMAGE OF OR EQUAL TO;Sm;0;ON;2291 0338;;;;Y;;;;; 22E3;NOT SQUARE ORIGINAL OF OR EQUAL TO;Sm;0;ON;2292 0338;;;;Y;;;;; 22E4;SQUARE IMAGE OF OR NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; 22E5;SQUARE ORIGINAL OF OR NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; 22E6;LESS-THAN BUT NOT EQUIVALENT TO;Sm;0;ON;;;;;Y;LESS THAN BUT NOT EQUIVALENT TO;;;; 22E7;GREATER-THAN BUT NOT EQUIVALENT TO;Sm;0;ON;;;;;Y;GREATER THAN BUT NOT EQUIVALENT TO;;;; 22E8;PRECEDES BUT NOT EQUIVALENT TO;Sm;0;ON;;;;;Y;;;;; 22E9;SUCCEEDS BUT NOT EQUIVALENT TO;Sm;0;ON;;;;;Y;;;;; 22EA;NOT NORMAL SUBGROUP OF;Sm;0;ON;22B2 0338;;;;Y;;;;; 22EB;DOES NOT CONTAIN AS NORMAL SUBGROUP;Sm;0;ON;22B3 0338;;;;Y;;;;; 22EC;NOT NORMAL SUBGROUP OF OR EQUAL TO;Sm;0;ON;22B4 0338;;;;Y;;;;; 22ED;DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL;Sm;0;ON;22B5 0338;;;;Y;;;;; 22EE;VERTICAL ELLIPSIS;Sm;0;ON;;;;;N;;;;; 22EF;MIDLINE HORIZONTAL ELLIPSIS;Sm;0;ON;;;;;N;;;;; 22F0;UP RIGHT DIAGONAL ELLIPSIS;Sm;0;ON;;;;;Y;;;;; 22F1;DOWN RIGHT DIAGONAL ELLIPSIS;Sm;0;ON;;;;;Y;;;;; 2300;DIAMETER SIGN;So;0;ON;;;;;N;;;;; 2301;ELECTRIC ARROW;So;0;ON;;;;;N;;;;; 2302;HOUSE;So;0;ON;;;;;N;;;;; 2303;UP ARROWHEAD;So;0;ON;;;;;N;;;;; 2304;DOWN ARROWHEAD;So;0;ON;;;;;N;;;;; 2305;PROJECTIVE;So;0;ON;;;;;N;;;;; 2306;PERSPECTIVE;So;0;ON;;;;;N;;;;; 2307;WAVY LINE;So;0;ON;;;;;N;;;;; 2308;LEFT CEILING;Sm;0;ON;;;;;Y;;;;; 2309;RIGHT CEILING;Sm;0;ON;;;;;Y;;;;; 230A;LEFT FLOOR;Sm;0;ON;;;;;Y;;;;; 230B;RIGHT FLOOR;Sm;0;ON;;;;;Y;;;;; 230C;BOTTOM RIGHT CROP;So;0;ON;;;;;N;;;;; 230D;BOTTOM LEFT CROP;So;0;ON;;;;;N;;;;; 230E;TOP RIGHT CROP;So;0;ON;;;;;N;;;;; 230F;TOP LEFT CROP;So;0;ON;;;;;N;;;;; 2310;REVERSED NOT SIGN;So;0;ON;;;;;N;;;;; 2311;SQUARE LOZENGE;So;0;ON;;;;;N;;;;; 2312;ARC;So;0;ON;;;;;N;;;;; 2313;SEGMENT;So;0;ON;;;;;N;;;;; 2314;SECTOR;So;0;ON;;;;;N;;;;; 2315;TELEPHONE RECORDER;So;0;ON;;;;;N;;;;; 2316;POSITION INDICATOR;So;0;ON;;;;;N;;;;; 2317;VIEWDATA SQUARE;So;0;ON;;;;;N;;;;; 2318;PLACE OF INTEREST SIGN;So;0;ON;;;;;N;COMMAND KEY;;;; 2319;TURNED NOT SIGN;So;0;ON;;;;;N;;;;; 231A;WATCH;So;0;ON;;;;;N;;;;; 231B;HOURGLASS;So;0;ON;;;;;N;;;;; 231C;TOP LEFT CORNER;So;0;ON;;;;;N;;;;; 231D;TOP RIGHT CORNER;So;0;ON;;;;;N;;;;; 231E;BOTTOM LEFT CORNER;So;0;ON;;;;;N;;;;; 231F;BOTTOM RIGHT CORNER;So;0;ON;;;;;N;;;;; 2320;TOP HALF INTEGRAL;Sm;0;ON;;;;;Y;;;;; 2321;BOTTOM HALF INTEGRAL;Sm;0;ON;;;;;Y;;;;; 2322;FROWN;So;0;ON;;;;;N;;;;; 2323;SMILE;So;0;ON;;;;;N;;;;; 2324;UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS;So;0;ON;;;;;N;ENTER KEY;;;; 2325;OPTION KEY;So;0;ON;;;;;N;;;;; 2326;ERASE TO THE RIGHT;So;0;ON;;;;;N;DELETE TO THE RIGHT KEY;;;; 2327;X IN A RECTANGLE BOX;So;0;ON;;;;;N;CLEAR KEY;;;; 2328;KEYBOARD;So;0;ON;;;;;N;;;;; 2329;LEFT-POINTING ANGLE BRACKET;Ps;0;ON;3008;;;;Y;BRA;;;; 232A;RIGHT-POINTING ANGLE BRACKET;Pe;0;ON;3009;;;;Y;KET;;;; 232B;ERASE TO THE LEFT;So;0;ON;;;;;N;DELETE TO THE LEFT KEY;;;; 232C;BENZENE RING;So;0;ON;;;;;N;;;;; 232D;CYLINDRICITY;So;0;ON;;;;;N;;;;; 232E;ALL AROUND-PROFILE;So;0;ON;;;;;N;;;;; 232F;SYMMETRY;So;0;ON;;;;;N;;;;; 2330;TOTAL RUNOUT;So;0;ON;;;;;N;;;;; 2331;DIMENSION ORIGIN;So;0;ON;;;;;N;;;;; 2332;CONICAL TAPER;So;0;ON;;;;;N;;;;; 2333;SLOPE;So;0;ON;;;;;N;;;;; 2334;COUNTERBORE;So;0;ON;;;;;N;;;;; 2335;COUNTERSINK;So;0;ON;;;;;N;;;;; 2336;APL FUNCTIONAL SYMBOL I-BEAM;So;0;L;;;;;N;;;;; 2337;APL FUNCTIONAL SYMBOL SQUISH QUAD;So;0;L;;;;;N;;;;; 2338;APL FUNCTIONAL SYMBOL QUAD EQUAL;So;0;L;;;;;N;;;;; 2339;APL FUNCTIONAL SYMBOL QUAD DIVIDE;So;0;L;;;;;N;;;;; 233A;APL FUNCTIONAL SYMBOL QUAD DIAMOND;So;0;L;;;;;N;;;;; 233B;APL FUNCTIONAL SYMBOL QUAD JOT;So;0;L;;;;;N;;;;; 233C;APL FUNCTIONAL SYMBOL QUAD CIRCLE;So;0;L;;;;;N;;;;; 233D;APL FUNCTIONAL SYMBOL CIRCLE STILE;So;0;L;;;;;N;;;;; 233E;APL FUNCTIONAL SYMBOL CIRCLE JOT;So;0;L;;;;;N;;;;; 233F;APL FUNCTIONAL SYMBOL SLASH BAR;So;0;L;;;;;N;;;;; 2340;APL FUNCTIONAL SYMBOL BACKSLASH BAR;So;0;L;;;;;N;;;;; 2341;APL FUNCTIONAL SYMBOL QUAD SLASH;So;0;L;;;;;N;;;;; 2342;APL FUNCTIONAL SYMBOL QUAD BACKSLASH;So;0;L;;;;;N;;;;; 2343;APL FUNCTIONAL SYMBOL QUAD LESS-THAN;So;0;L;;;;;N;;;;; 2344;APL FUNCTIONAL SYMBOL QUAD GREATER-THAN;So;0;L;;;;;N;;;;; 2345;APL FUNCTIONAL SYMBOL LEFTWARDS VANE;So;0;L;;;;;N;;;;; 2346;APL FUNCTIONAL SYMBOL RIGHTWARDS VANE;So;0;L;;;;;N;;;;; 2347;APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW;So;0;L;;;;;N;;;;; 2348;APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW;So;0;L;;;;;N;;;;; 2349;APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH;So;0;L;;;;;N;;;;; 234A;APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR;So;0;L;;;;;N;;*;;; 234B;APL FUNCTIONAL SYMBOL DELTA STILE;So;0;L;;;;;N;;;;; 234C;APL FUNCTIONAL SYMBOL QUAD DOWN CARET;So;0;L;;;;;N;;;;; 234D;APL FUNCTIONAL SYMBOL QUAD DELTA;So;0;L;;;;;N;;;;; 234E;APL FUNCTIONAL SYMBOL DOWN TACK JOT;So;0;L;;;;;N;;*;;; 234F;APL FUNCTIONAL SYMBOL UPWARDS VANE;So;0;L;;;;;N;;;;; 2350;APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW;So;0;L;;;;;N;;;;; 2351;APL FUNCTIONAL SYMBOL UP TACK OVERBAR;So;0;L;;;;;N;;*;;; 2352;APL FUNCTIONAL SYMBOL DEL STILE;So;0;L;;;;;N;;;;; 2353;APL FUNCTIONAL SYMBOL QUAD UP CARET;So;0;L;;;;;N;;;;; 2354;APL FUNCTIONAL SYMBOL QUAD DEL;So;0;L;;;;;N;;;;; 2355;APL FUNCTIONAL SYMBOL UP TACK JOT;So;0;L;;;;;N;;*;;; 2356;APL FUNCTIONAL SYMBOL DOWNWARDS VANE;So;0;L;;;;;N;;;;; 2357;APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW;So;0;L;;;;;N;;;;; 2358;APL FUNCTIONAL SYMBOL QUOTE UNDERBAR;So;0;L;;;;;N;;;;; 2359;APL FUNCTIONAL SYMBOL DELTA UNDERBAR;So;0;L;;;;;N;;;;; 235A;APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR;So;0;L;;;;;N;;;;; 235B;APL FUNCTIONAL SYMBOL JOT UNDERBAR;So;0;L;;;;;N;;;;; 235C;APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR;So;0;L;;;;;N;;;;; 235D;APL FUNCTIONAL SYMBOL UP SHOE JOT;So;0;L;;;;;N;;;;; 235E;APL FUNCTIONAL SYMBOL QUOTE QUAD;So;0;L;;;;;N;;;;; 235F;APL FUNCTIONAL SYMBOL CIRCLE STAR;So;0;L;;;;;N;;;;; 2360;APL FUNCTIONAL SYMBOL QUAD COLON;So;0;L;;;;;N;;;;; 2361;APL FUNCTIONAL SYMBOL UP TACK DIAERESIS;So;0;L;;;;;N;;*;;; 2362;APL FUNCTIONAL SYMBOL DEL DIAERESIS;So;0;L;;;;;N;;;;; 2363;APL FUNCTIONAL SYMBOL STAR DIAERESIS;So;0;L;;;;;N;;;;; 2364;APL FUNCTIONAL SYMBOL JOT DIAERESIS;So;0;L;;;;;N;;;;; 2365;APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS;So;0;L;;;;;N;;;;; 2366;APL FUNCTIONAL SYMBOL DOWN SHOE STILE;So;0;L;;;;;N;;;;; 2367;APL FUNCTIONAL SYMBOL LEFT SHOE STILE;So;0;L;;;;;N;;;;; 2368;APL FUNCTIONAL SYMBOL TILDE DIAERESIS;So;0;L;;;;;N;;;;; 2369;APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS;So;0;L;;;;;N;;;;; 236A;APL FUNCTIONAL SYMBOL COMMA BAR;So;0;L;;;;;N;;;;; 236B;APL FUNCTIONAL SYMBOL DEL TILDE;So;0;L;;;;;N;;;;; 236C;APL FUNCTIONAL SYMBOL ZILDE;So;0;L;;;;;N;;;;; 236D;APL FUNCTIONAL SYMBOL STILE TILDE;So;0;L;;;;;N;;;;; 236E;APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR;So;0;L;;;;;N;;;;; 236F;APL FUNCTIONAL SYMBOL QUAD NOT EQUAL;So;0;L;;;;;N;;;;; 2370;APL FUNCTIONAL SYMBOL QUAD QUESTION;So;0;L;;;;;N;;;;; 2371;APL FUNCTIONAL SYMBOL DOWN CARET TILDE;So;0;L;;;;;N;;;;; 2372;APL FUNCTIONAL SYMBOL UP CARET TILDE;So;0;L;;;;;N;;;;; 2373;APL FUNCTIONAL SYMBOL IOTA;So;0;L;;;;;N;;;;; 2374;APL FUNCTIONAL SYMBOL RHO;So;0;L;;;;;N;;;;; 2375;APL FUNCTIONAL SYMBOL OMEGA;So;0;L;;;;;N;;;;; 2376;APL FUNCTIONAL SYMBOL ALPHA UNDERBAR;So;0;L;;;;;N;;;;; 2377;APL FUNCTIONAL SYMBOL EPSILON UNDERBAR;So;0;L;;;;;N;;;;; 2378;APL FUNCTIONAL SYMBOL IOTA UNDERBAR;So;0;L;;;;;N;;;;; 2379;APL FUNCTIONAL SYMBOL OMEGA UNDERBAR;So;0;L;;;;;N;;;;; 237A;APL FUNCTIONAL SYMBOL ALPHA;So;0;L;;;;;N;;;;; 237B;NOT CHECK MARK;So;0;ON;;;;;N;;;;; 237D;SHOULDERED OPEN BOX;So;0;ON;;;;;N;;;;; 237E;BELL SYMBOL;So;0;ON;;;;;N;;;;; 237F;VERTICAL LINE WITH MIDDLE DOT;So;0;ON;;;;;N;;;;; 2380;INSERTION SYMBOL;So;0;ON;;;;;N;;;;; 2381;CONTINUOUS UNDERLINE SYMBOL;So;0;ON;;;;;N;;;;; 2382;DISCONTINUOUS UNDERLINE SYMBOL;So;0;ON;;;;;N;;;;; 2383;EMPHASIS SYMBOL;So;0;ON;;;;;N;;;;; 2384;COMPOSITION SYMBOL;So;0;ON;;;;;N;;;;; 2385;WHITE SQUARE WITH CENTRE VERTICAL LINE;So;0;ON;;;;;N;;;;; 2386;ENTER SYMBOL;So;0;ON;;;;;N;;;;; 2387;ALTERNATIVE KEY SYMBOL;So;0;ON;;;;;N;;;;; 2388;HELM SYMBOL;So;0;ON;;;;;N;;;;; 2389;CIRCLED HORIZONTAL BAR WITH NOTCH;So;0;ON;;;;;N;;pause;;; 238A;CIRCLED TRIANGLE DOWN;So;0;ON;;;;;N;;break;;; 238B;BROKEN CIRCLE WITH NORTHWEST ARROW;So;0;ON;;;;;N;;escape;;; 238C;UNDO SYMBOL;So;0;ON;;;;;N;;;;; 238D;MONOSTABLE SYMBOL;So;0;ON;;;;;N;;;;; 238E;HYSTERESIS SYMBOL;So;0;ON;;;;;N;;;;; 238F;OPEN-CIRCUIT-OUTPUT H-TYPE SYMBOL;So;0;ON;;;;;N;;;;; 2390;OPEN-CIRCUIT-OUTPUT L-TYPE SYMBOL;So;0;ON;;;;;N;;;;; 2391;PASSIVE-PULL-DOWN-OUTPUT SYMBOL;So;0;ON;;;;;N;;;;; 2392;PASSIVE-PULL-UP-OUTPUT SYMBOL;So;0;ON;;;;;N;;;;; 2393;DIRECT CURRENT SYMBOL FORM TWO;So;0;ON;;;;;N;;;;; 2394;SOFTWARE-FUNCTION SYMBOL;So;0;ON;;;;;N;;;;; 2395;APL FUNCTIONAL SYMBOL QUAD;So;0;L;;;;;N;;;;; 2396;DECIMAL SEPARATOR KEY SYMBOL;So;0;ON;;;;;N;;;;; 2397;PREVIOUS PAGE;So;0;ON;;;;;N;;;;; 2398;NEXT PAGE;So;0;ON;;;;;N;;;;; 2399;PRINT SCREEN SYMBOL;So;0;ON;;;;;N;;;;; 239A;CLEAR SCREEN SYMBOL;So;0;ON;;;;;N;;;;; 2400;SYMBOL FOR NULL;So;0;ON;;;;;N;GRAPHIC FOR NULL;;;; 2401;SYMBOL FOR START OF HEADING;So;0;ON;;;;;N;GRAPHIC FOR START OF HEADING;;;; 2402;SYMBOL FOR START OF TEXT;So;0;ON;;;;;N;GRAPHIC FOR START OF TEXT;;;; 2403;SYMBOL FOR END OF TEXT;So;0;ON;;;;;N;GRAPHIC FOR END OF TEXT;;;; 2404;SYMBOL FOR END OF TRANSMISSION;So;0;ON;;;;;N;GRAPHIC FOR END OF TRANSMISSION;;;; 2405;SYMBOL FOR ENQUIRY;So;0;ON;;;;;N;GRAPHIC FOR ENQUIRY;;;; 2406;SYMBOL FOR ACKNOWLEDGE;So;0;ON;;;;;N;GRAPHIC FOR ACKNOWLEDGE;;;; 2407;SYMBOL FOR BELL;So;0;ON;;;;;N;GRAPHIC FOR BELL;;;; 2408;SYMBOL FOR BACKSPACE;So;0;ON;;;;;N;GRAPHIC FOR BACKSPACE;;;; 2409;SYMBOL FOR HORIZONTAL TABULATION;So;0;ON;;;;;N;GRAPHIC FOR HORIZONTAL TABULATION;;;; 240A;SYMBOL FOR LINE FEED;So;0;ON;;;;;N;GRAPHIC FOR LINE FEED;;;; 240B;SYMBOL FOR VERTICAL TABULATION;So;0;ON;;;;;N;GRAPHIC FOR VERTICAL TABULATION;;;; 240C;SYMBOL FOR FORM FEED;So;0;ON;;;;;N;GRAPHIC FOR FORM FEED;;;; 240D;SYMBOL FOR CARRIAGE RETURN;So;0;ON;;;;;N;GRAPHIC FOR CARRIAGE RETURN;;;; 240E;SYMBOL FOR SHIFT OUT;So;0;ON;;;;;N;GRAPHIC FOR SHIFT OUT;;;; 240F;SYMBOL FOR SHIFT IN;So;0;ON;;;;;N;GRAPHIC FOR SHIFT IN;;;; 2410;SYMBOL FOR DATA LINK ESCAPE;So;0;ON;;;;;N;GRAPHIC FOR DATA LINK ESCAPE;;;; 2411;SYMBOL FOR DEVICE CONTROL ONE;So;0;ON;;;;;N;GRAPHIC FOR DEVICE CONTROL ONE;;;; 2412;SYMBOL FOR DEVICE CONTROL TWO;So;0;ON;;;;;N;GRAPHIC FOR DEVICE CONTROL TWO;;;; 2413;SYMBOL FOR DEVICE CONTROL THREE;So;0;ON;;;;;N;GRAPHIC FOR DEVICE CONTROL THREE;;;; 2414;SYMBOL FOR DEVICE CONTROL FOUR;So;0;ON;;;;;N;GRAPHIC FOR DEVICE CONTROL FOUR;;;; 2415;SYMBOL FOR NEGATIVE ACKNOWLEDGE;So;0;ON;;;;;N;GRAPHIC FOR NEGATIVE ACKNOWLEDGE;;;; 2416;SYMBOL FOR SYNCHRONOUS IDLE;So;0;ON;;;;;N;GRAPHIC FOR SYNCHRONOUS IDLE;;;; 2417;SYMBOL FOR END OF TRANSMISSION BLOCK;So;0;ON;;;;;N;GRAPHIC FOR END OF TRANSMISSION BLOCK;;;; 2418;SYMBOL FOR CANCEL;So;0;ON;;;;;N;GRAPHIC FOR CANCEL;;;; 2419;SYMBOL FOR END OF MEDIUM;So;0;ON;;;;;N;GRAPHIC FOR END OF MEDIUM;;;; 241A;SYMBOL FOR SUBSTITUTE;So;0;ON;;;;;N;GRAPHIC FOR SUBSTITUTE;;;; 241B;SYMBOL FOR ESCAPE;So;0;ON;;;;;N;GRAPHIC FOR ESCAPE;;;; 241C;SYMBOL FOR FILE SEPARATOR;So;0;ON;;;;;N;GRAPHIC FOR FILE SEPARATOR;;;; 241D;SYMBOL FOR GROUP SEPARATOR;So;0;ON;;;;;N;GRAPHIC FOR GROUP SEPARATOR;;;; 241E;SYMBOL FOR RECORD SEPARATOR;So;0;ON;;;;;N;GRAPHIC FOR RECORD SEPARATOR;;;; 241F;SYMBOL FOR UNIT SEPARATOR;So;0;ON;;;;;N;GRAPHIC FOR UNIT SEPARATOR;;;; 2420;SYMBOL FOR SPACE;So;0;ON;;;;;N;GRAPHIC FOR SPACE;;;; 2421;SYMBOL FOR DELETE;So;0;ON;;;;;N;GRAPHIC FOR DELETE;;;; 2422;BLANK SYMBOL;So;0;ON;;;;;N;BLANK;;;; 2423;OPEN BOX;So;0;ON;;;;;N;;;;; 2424;SYMBOL FOR NEWLINE;So;0;ON;;;;;N;GRAPHIC FOR NEWLINE;;;; 2425;SYMBOL FOR DELETE FORM TWO;So;0;ON;;;;;N;;;;; 2426;SYMBOL FOR SUBSTITUTE FORM TWO;So;0;ON;;;;;N;;;;; 2440;OCR HOOK;So;0;ON;;;;;N;;;;; 2441;OCR CHAIR;So;0;ON;;;;;N;;;;; 2442;OCR FORK;So;0;ON;;;;;N;;;;; 2443;OCR INVERTED FORK;So;0;ON;;;;;N;;;;; 2444;OCR BELT BUCKLE;So;0;ON;;;;;N;;;;; 2445;OCR BOW TIE;So;0;ON;;;;;N;;;;; 2446;OCR BRANCH BANK IDENTIFICATION;So;0;ON;;;;;N;;;;; 2447;OCR AMOUNT OF CHECK;So;0;ON;;;;;N;;;;; 2448;OCR DASH;So;0;ON;;;;;N;;;;; 2449;OCR CUSTOMER ACCOUNT NUMBER;So;0;ON;;;;;N;;;;; 244A;OCR DOUBLE BACKSLASH;So;0;ON;;;;;N;;;;; 2460;CIRCLED DIGIT ONE;No;0;EN; 0031;;1;1;N;;;;; 2461;CIRCLED DIGIT TWO;No;0;EN; 0032;;2;2;N;;;;; 2462;CIRCLED DIGIT THREE;No;0;EN; 0033;;3;3;N;;;;; 2463;CIRCLED DIGIT FOUR;No;0;EN; 0034;;4;4;N;;;;; 2464;CIRCLED DIGIT FIVE;No;0;EN; 0035;;5;5;N;;;;; 2465;CIRCLED DIGIT SIX;No;0;EN; 0036;;6;6;N;;;;; 2466;CIRCLED DIGIT SEVEN;No;0;EN; 0037;;7;7;N;;;;; 2467;CIRCLED DIGIT EIGHT;No;0;EN; 0038;;8;8;N;;;;; 2468;CIRCLED DIGIT NINE;No;0;EN; 0039;;9;9;N;;;;; 2469;CIRCLED NUMBER TEN;No;0;EN; 0031 0030;;;10;N;;;;; 246A;CIRCLED NUMBER ELEVEN;No;0;EN; 0031 0031;;;11;N;;;;; 246B;CIRCLED NUMBER TWELVE;No;0;EN; 0031 0032;;;12;N;;;;; 246C;CIRCLED NUMBER THIRTEEN;No;0;EN; 0031 0033;;;13;N;;;;; 246D;CIRCLED NUMBER FOURTEEN;No;0;EN; 0031 0034;;;14;N;;;;; 246E;CIRCLED NUMBER FIFTEEN;No;0;EN; 0031 0035;;;15;N;;;;; 246F;CIRCLED NUMBER SIXTEEN;No;0;EN; 0031 0036;;;16;N;;;;; 2470;CIRCLED NUMBER SEVENTEEN;No;0;EN; 0031 0037;;;17;N;;;;; 2471;CIRCLED NUMBER EIGHTEEN;No;0;EN; 0031 0038;;;18;N;;;;; 2472;CIRCLED NUMBER NINETEEN;No;0;EN; 0031 0039;;;19;N;;;;; 2473;CIRCLED NUMBER TWENTY;No;0;EN; 0032 0030;;;20;N;;;;; 2474;PARENTHESIZED DIGIT ONE;No;0;EN; 0028 0031 0029;;1;1;N;;;;; 2475;PARENTHESIZED DIGIT TWO;No;0;EN; 0028 0032 0029;;2;2;N;;;;; 2476;PARENTHESIZED DIGIT THREE;No;0;EN; 0028 0033 0029;;3;3;N;;;;; 2477;PARENTHESIZED DIGIT FOUR;No;0;EN; 0028 0034 0029;;4;4;N;;;;; 2478;PARENTHESIZED DIGIT FIVE;No;0;EN; 0028 0035 0029;;5;5;N;;;;; 2479;PARENTHESIZED DIGIT SIX;No;0;EN; 0028 0036 0029;;6;6;N;;;;; 247A;PARENTHESIZED DIGIT SEVEN;No;0;EN; 0028 0037 0029;;7;7;N;;;;; 247B;PARENTHESIZED DIGIT EIGHT;No;0;EN; 0028 0038 0029;;8;8;N;;;;; 247C;PARENTHESIZED DIGIT NINE;No;0;EN; 0028 0039 0029;;9;9;N;;;;; 247D;PARENTHESIZED NUMBER TEN;No;0;EN; 0028 0031 0030 0029;;;10;N;;;;; 247E;PARENTHESIZED NUMBER ELEVEN;No;0;EN; 0028 0031 0031 0029;;;11;N;;;;; 247F;PARENTHESIZED NUMBER TWELVE;No;0;EN; 0028 0031 0032 0029;;;12;N;;;;; 2480;PARENTHESIZED NUMBER THIRTEEN;No;0;EN; 0028 0031 0033 0029;;;13;N;;;;; 2481;PARENTHESIZED NUMBER FOURTEEN;No;0;EN; 0028 0031 0034 0029;;;14;N;;;;; 2482;PARENTHESIZED NUMBER FIFTEEN;No;0;EN; 0028 0031 0035 0029;;;15;N;;;;; 2483;PARENTHESIZED NUMBER SIXTEEN;No;0;EN; 0028 0031 0036 0029;;;16;N;;;;; 2484;PARENTHESIZED NUMBER SEVENTEEN;No;0;EN; 0028 0031 0037 0029;;;17;N;;;;; 2485;PARENTHESIZED NUMBER EIGHTEEN;No;0;EN; 0028 0031 0038 0029;;;18;N;;;;; 2486;PARENTHESIZED NUMBER NINETEEN;No;0;EN; 0028 0031 0039 0029;;;19;N;;;;; 2487;PARENTHESIZED NUMBER TWENTY;No;0;EN; 0028 0032 0030 0029;;;20;N;;;;; 2488;DIGIT ONE FULL STOP;No;0;EN; 0031 002E;;1;1;N;DIGIT ONE PERIOD;;;; 2489;DIGIT TWO FULL STOP;No;0;EN; 0032 002E;;2;2;N;DIGIT TWO PERIOD;;;; 248A;DIGIT THREE FULL STOP;No;0;EN; 0033 002E;;3;3;N;DIGIT THREE PERIOD;;;; 248B;DIGIT FOUR FULL STOP;No;0;EN; 0034 002E;;4;4;N;DIGIT FOUR PERIOD;;;; 248C;DIGIT FIVE FULL STOP;No;0;EN; 0035 002E;;5;5;N;DIGIT FIVE PERIOD;;;; 248D;DIGIT SIX FULL STOP;No;0;EN; 0036 002E;;6;6;N;DIGIT SIX PERIOD;;;; 248E;DIGIT SEVEN FULL STOP;No;0;EN; 0037 002E;;7;7;N;DIGIT SEVEN PERIOD;;;; 248F;DIGIT EIGHT FULL STOP;No;0;EN; 0038 002E;;8;8;N;DIGIT EIGHT PERIOD;;;; 2490;DIGIT NINE FULL STOP;No;0;EN; 0039 002E;;9;9;N;DIGIT NINE PERIOD;;;; 2491;NUMBER TEN FULL STOP;No;0;EN; 0031 0030 002E;;;10;N;NUMBER TEN PERIOD;;;; 2492;NUMBER ELEVEN FULL STOP;No;0;EN; 0031 0031 002E;;;11;N;NUMBER ELEVEN PERIOD;;;; 2493;NUMBER TWELVE FULL STOP;No;0;EN; 0031 0032 002E;;;12;N;NUMBER TWELVE PERIOD;;;; 2494;NUMBER THIRTEEN FULL STOP;No;0;EN; 0031 0033 002E;;;13;N;NUMBER THIRTEEN PERIOD;;;; 2495;NUMBER FOURTEEN FULL STOP;No;0;EN; 0031 0034 002E;;;14;N;NUMBER FOURTEEN PERIOD;;;; 2496;NUMBER FIFTEEN FULL STOP;No;0;EN; 0031 0035 002E;;;15;N;NUMBER FIFTEEN PERIOD;;;; 2497;NUMBER SIXTEEN FULL STOP;No;0;EN; 0031 0036 002E;;;16;N;NUMBER SIXTEEN PERIOD;;;; 2498;NUMBER SEVENTEEN FULL STOP;No;0;EN; 0031 0037 002E;;;17;N;NUMBER SEVENTEEN PERIOD;;;; 2499;NUMBER EIGHTEEN FULL STOP;No;0;EN; 0031 0038 002E;;;18;N;NUMBER EIGHTEEN PERIOD;;;; 249A;NUMBER NINETEEN FULL STOP;No;0;EN; 0031 0039 002E;;;19;N;NUMBER NINETEEN PERIOD;;;; 249B;NUMBER TWENTY FULL STOP;No;0;EN; 0032 0030 002E;;;20;N;NUMBER TWENTY PERIOD;;;; 249C;PARENTHESIZED LATIN SMALL LETTER A;So;0;L; 0028 0061 0029;;;;N;;;;; 249D;PARENTHESIZED LATIN SMALL LETTER B;So;0;L; 0028 0062 0029;;;;N;;;;; 249E;PARENTHESIZED LATIN SMALL LETTER C;So;0;L; 0028 0063 0029;;;;N;;;;; 249F;PARENTHESIZED LATIN SMALL LETTER D;So;0;L; 0028 0064 0029;;;;N;;;;; 24A0;PARENTHESIZED LATIN SMALL LETTER E;So;0;L; 0028 0065 0029;;;;N;;;;; 24A1;PARENTHESIZED LATIN SMALL LETTER F;So;0;L; 0028 0066 0029;;;;N;;;;; 24A2;PARENTHESIZED LATIN SMALL LETTER G;So;0;L; 0028 0067 0029;;;;N;;;;; 24A3;PARENTHESIZED LATIN SMALL LETTER H;So;0;L; 0028 0068 0029;;;;N;;;;; 24A4;PARENTHESIZED LATIN SMALL LETTER I;So;0;L; 0028 0069 0029;;;;N;;;;; 24A5;PARENTHESIZED LATIN SMALL LETTER J;So;0;L; 0028 006A 0029;;;;N;;;;; 24A6;PARENTHESIZED LATIN SMALL LETTER K;So;0;L; 0028 006B 0029;;;;N;;;;; 24A7;PARENTHESIZED LATIN SMALL LETTER L;So;0;L; 0028 006C 0029;;;;N;;;;; 24A8;PARENTHESIZED LATIN SMALL LETTER M;So;0;L; 0028 006D 0029;;;;N;;;;; 24A9;PARENTHESIZED LATIN SMALL LETTER N;So;0;L; 0028 006E 0029;;;;N;;;;; 24AA;PARENTHESIZED LATIN SMALL LETTER O;So;0;L; 0028 006F 0029;;;;N;;;;; 24AB;PARENTHESIZED LATIN SMALL LETTER P;So;0;L; 0028 0070 0029;;;;N;;;;; 24AC;PARENTHESIZED LATIN SMALL LETTER Q;So;0;L; 0028 0071 0029;;;;N;;;;; 24AD;PARENTHESIZED LATIN SMALL LETTER R;So;0;L; 0028 0072 0029;;;;N;;;;; 24AE;PARENTHESIZED LATIN SMALL LETTER S;So;0;L; 0028 0073 0029;;;;N;;;;; 24AF;PARENTHESIZED LATIN SMALL LETTER T;So;0;L; 0028 0074 0029;;;;N;;;;; 24B0;PARENTHESIZED LATIN SMALL LETTER U;So;0;L; 0028 0075 0029;;;;N;;;;; 24B1;PARENTHESIZED LATIN SMALL LETTER V;So;0;L; 0028 0076 0029;;;;N;;;;; 24B2;PARENTHESIZED LATIN SMALL LETTER W;So;0;L; 0028 0077 0029;;;;N;;;;; 24B3;PARENTHESIZED LATIN SMALL LETTER X;So;0;L; 0028 0078 0029;;;;N;;;;; 24B4;PARENTHESIZED LATIN SMALL LETTER Y;So;0;L; 0028 0079 0029;;;;N;;;;; 24B5;PARENTHESIZED LATIN SMALL LETTER Z;So;0;L; 0028 007A 0029;;;;N;;;;; 24B6;CIRCLED LATIN CAPITAL LETTER A;So;0;L; 0041;;;;N;;;;24D0; 24B7;CIRCLED LATIN CAPITAL LETTER B;So;0;L; 0042;;;;N;;;;24D1; 24B8;CIRCLED LATIN CAPITAL LETTER C;So;0;L; 0043;;;;N;;;;24D2; 24B9;CIRCLED LATIN CAPITAL LETTER D;So;0;L; 0044;;;;N;;;;24D3; 24BA;CIRCLED LATIN CAPITAL LETTER E;So;0;L; 0045;;;;N;;;;24D4; 24BB;CIRCLED LATIN CAPITAL LETTER F;So;0;L; 0046;;;;N;;;;24D5; 24BC;CIRCLED LATIN CAPITAL LETTER G;So;0;L; 0047;;;;N;;;;24D6; 24BD;CIRCLED LATIN CAPITAL LETTER H;So;0;L; 0048;;;;N;;;;24D7; 24BE;CIRCLED LATIN CAPITAL LETTER I;So;0;L; 0049;;;;N;;;;24D8; 24BF;CIRCLED LATIN CAPITAL LETTER J;So;0;L; 004A;;;;N;;;;24D9; 24C0;CIRCLED LATIN CAPITAL LETTER K;So;0;L; 004B;;;;N;;;;24DA; 24C1;CIRCLED LATIN CAPITAL LETTER L;So;0;L; 004C;;;;N;;;;24DB; 24C2;CIRCLED LATIN CAPITAL LETTER M;So;0;L; 004D;;;;N;;;;24DC; 24C3;CIRCLED LATIN CAPITAL LETTER N;So;0;L; 004E;;;;N;;;;24DD; 24C4;CIRCLED LATIN CAPITAL LETTER O;So;0;L; 004F;;;;N;;;;24DE; 24C5;CIRCLED LATIN CAPITAL LETTER P;So;0;L; 0050;;;;N;;;;24DF; 24C6;CIRCLED LATIN CAPITAL LETTER Q;So;0;L; 0051;;;;N;;;;24E0; 24C7;CIRCLED LATIN CAPITAL LETTER R;So;0;L; 0052;;;;N;;;;24E1; 24C8;CIRCLED LATIN CAPITAL LETTER S;So;0;L; 0053;;;;N;;;;24E2; 24C9;CIRCLED LATIN CAPITAL LETTER T;So;0;L; 0054;;;;N;;;;24E3; 24CA;CIRCLED LATIN CAPITAL LETTER U;So;0;L; 0055;;;;N;;;;24E4; 24CB;CIRCLED LATIN CAPITAL LETTER V;So;0;L; 0056;;;;N;;;;24E5; 24CC;CIRCLED LATIN CAPITAL LETTER W;So;0;L; 0057;;;;N;;;;24E6; 24CD;CIRCLED LATIN CAPITAL LETTER X;So;0;L; 0058;;;;N;;;;24E7; 24CE;CIRCLED LATIN CAPITAL LETTER Y;So;0;L; 0059;;;;N;;;;24E8; 24CF;CIRCLED LATIN CAPITAL LETTER Z;So;0;L; 005A;;;;N;;;;24E9; 24D0;CIRCLED LATIN SMALL LETTER A;So;0;L; 0061;;;;N;;;24B6;;24B6 24D1;CIRCLED LATIN SMALL LETTER B;So;0;L; 0062;;;;N;;;24B7;;24B7 24D2;CIRCLED LATIN SMALL LETTER C;So;0;L; 0063;;;;N;;;24B8;;24B8 24D3;CIRCLED LATIN SMALL LETTER D;So;0;L; 0064;;;;N;;;24B9;;24B9 24D4;CIRCLED LATIN SMALL LETTER E;So;0;L; 0065;;;;N;;;24BA;;24BA 24D5;CIRCLED LATIN SMALL LETTER F;So;0;L; 0066;;;;N;;;24BB;;24BB 24D6;CIRCLED LATIN SMALL LETTER G;So;0;L; 0067;;;;N;;;24BC;;24BC 24D7;CIRCLED LATIN SMALL LETTER H;So;0;L; 0068;;;;N;;;24BD;;24BD 24D8;CIRCLED LATIN SMALL LETTER I;So;0;L; 0069;;;;N;;;24BE;;24BE 24D9;CIRCLED LATIN SMALL LETTER J;So;0;L; 006A;;;;N;;;24BF;;24BF 24DA;CIRCLED LATIN SMALL LETTER K;So;0;L; 006B;;;;N;;;24C0;;24C0 24DB;CIRCLED LATIN SMALL LETTER L;So;0;L; 006C;;;;N;;;24C1;;24C1 24DC;CIRCLED LATIN SMALL LETTER M;So;0;L; 006D;;;;N;;;24C2;;24C2 24DD;CIRCLED LATIN SMALL LETTER N;So;0;L; 006E;;;;N;;;24C3;;24C3 24DE;CIRCLED LATIN SMALL LETTER O;So;0;L; 006F;;;;N;;;24C4;;24C4 24DF;CIRCLED LATIN SMALL LETTER P;So;0;L; 0070;;;;N;;;24C5;;24C5 24E0;CIRCLED LATIN SMALL LETTER Q;So;0;L; 0071;;;;N;;;24C6;;24C6 24E1;CIRCLED LATIN SMALL LETTER R;So;0;L; 0072;;;;N;;;24C7;;24C7 24E2;CIRCLED LATIN SMALL LETTER S;So;0;L; 0073;;;;N;;;24C8;;24C8 24E3;CIRCLED LATIN SMALL LETTER T;So;0;L; 0074;;;;N;;;24C9;;24C9 24E4;CIRCLED LATIN SMALL LETTER U;So;0;L; 0075;;;;N;;;24CA;;24CA 24E5;CIRCLED LATIN SMALL LETTER V;So;0;L; 0076;;;;N;;;24CB;;24CB 24E6;CIRCLED LATIN SMALL LETTER W;So;0;L; 0077;;;;N;;;24CC;;24CC 24E7;CIRCLED LATIN SMALL LETTER X;So;0;L; 0078;;;;N;;;24CD;;24CD 24E8;CIRCLED LATIN SMALL LETTER Y;So;0;L; 0079;;;;N;;;24CE;;24CE 24E9;CIRCLED LATIN SMALL LETTER Z;So;0;L; 007A;;;;N;;;24CF;;24CF 24EA;CIRCLED DIGIT ZERO;No;0;EN; 0030;;0;0;N;;;;; 2500;BOX DRAWINGS LIGHT HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT HORIZONTAL;;;; 2501;BOX DRAWINGS HEAVY HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY HORIZONTAL;;;; 2502;BOX DRAWINGS LIGHT VERTICAL;So;0;ON;;;;;N;FORMS LIGHT VERTICAL;;;; 2503;BOX DRAWINGS HEAVY VERTICAL;So;0;ON;;;;;N;FORMS HEAVY VERTICAL;;;; 2504;BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT TRIPLE DASH HORIZONTAL;;;; 2505;BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY TRIPLE DASH HORIZONTAL;;;; 2506;BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL;So;0;ON;;;;;N;FORMS LIGHT TRIPLE DASH VERTICAL;;;; 2507;BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL;So;0;ON;;;;;N;FORMS HEAVY TRIPLE DASH VERTICAL;;;; 2508;BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT QUADRUPLE DASH HORIZONTAL;;;; 2509;BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY QUADRUPLE DASH HORIZONTAL;;;; 250A;BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL;So;0;ON;;;;;N;FORMS LIGHT QUADRUPLE DASH VERTICAL;;;; 250B;BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL;So;0;ON;;;;;N;FORMS HEAVY QUADRUPLE DASH VERTICAL;;;; 250C;BOX DRAWINGS LIGHT DOWN AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT DOWN AND RIGHT;;;; 250D;BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND RIGHT HEAVY;;;; 250E;BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND RIGHT LIGHT;;;; 250F;BOX DRAWINGS HEAVY DOWN AND RIGHT;So;0;ON;;;;;N;FORMS HEAVY DOWN AND RIGHT;;;; 2510;BOX DRAWINGS LIGHT DOWN AND LEFT;So;0;ON;;;;;N;FORMS LIGHT DOWN AND LEFT;;;; 2511;BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND LEFT HEAVY;;;; 2512;BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND LEFT LIGHT;;;; 2513;BOX DRAWINGS HEAVY DOWN AND LEFT;So;0;ON;;;;;N;FORMS HEAVY DOWN AND LEFT;;;; 2514;BOX DRAWINGS LIGHT UP AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT UP AND RIGHT;;;; 2515;BOX DRAWINGS UP LIGHT AND RIGHT HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND RIGHT HEAVY;;;; 2516;BOX DRAWINGS UP HEAVY AND RIGHT LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND RIGHT LIGHT;;;; 2517;BOX DRAWINGS HEAVY UP AND RIGHT;So;0;ON;;;;;N;FORMS HEAVY UP AND RIGHT;;;; 2518;BOX DRAWINGS LIGHT UP AND LEFT;So;0;ON;;;;;N;FORMS LIGHT UP AND LEFT;;;; 2519;BOX DRAWINGS UP LIGHT AND LEFT HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND LEFT HEAVY;;;; 251A;BOX DRAWINGS UP HEAVY AND LEFT LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND LEFT LIGHT;;;; 251B;BOX DRAWINGS HEAVY UP AND LEFT;So;0;ON;;;;;N;FORMS HEAVY UP AND LEFT;;;; 251C;BOX DRAWINGS LIGHT VERTICAL AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT VERTICAL AND RIGHT;;;; 251D;BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY;So;0;ON;;;;;N;FORMS VERTICAL LIGHT AND RIGHT HEAVY;;;; 251E;BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND RIGHT DOWN LIGHT;;;; 251F;BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND RIGHT UP LIGHT;;;; 2520;BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT;So;0;ON;;;;;N;FORMS VERTICAL HEAVY AND RIGHT LIGHT;;;; 2521;BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND RIGHT UP HEAVY;;;; 2522;BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND RIGHT DOWN HEAVY;;;; 2523;BOX DRAWINGS HEAVY VERTICAL AND RIGHT;So;0;ON;;;;;N;FORMS HEAVY VERTICAL AND RIGHT;;;; 2524;BOX DRAWINGS LIGHT VERTICAL AND LEFT;So;0;ON;;;;;N;FORMS LIGHT VERTICAL AND LEFT;;;; 2525;BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY;So;0;ON;;;;;N;FORMS VERTICAL LIGHT AND LEFT HEAVY;;;; 2526;BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND LEFT DOWN LIGHT;;;; 2527;BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND LEFT UP LIGHT;;;; 2528;BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT;So;0;ON;;;;;N;FORMS VERTICAL HEAVY AND LEFT LIGHT;;;; 2529;BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND LEFT UP HEAVY;;;; 252A;BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND LEFT DOWN HEAVY;;;; 252B;BOX DRAWINGS HEAVY VERTICAL AND LEFT;So;0;ON;;;;;N;FORMS HEAVY VERTICAL AND LEFT;;;; 252C;BOX DRAWINGS LIGHT DOWN AND HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT DOWN AND HORIZONTAL;;;; 252D;BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT;So;0;ON;;;;;N;FORMS LEFT HEAVY AND RIGHT DOWN LIGHT;;;; 252E;BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT;So;0;ON;;;;;N;FORMS RIGHT HEAVY AND LEFT DOWN LIGHT;;;; 252F;BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND HORIZONTAL HEAVY;;;; 2530;BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND HORIZONTAL LIGHT;;;; 2531;BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY;So;0;ON;;;;;N;FORMS RIGHT LIGHT AND LEFT DOWN HEAVY;;;; 2532;BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY;So;0;ON;;;;;N;FORMS LEFT LIGHT AND RIGHT DOWN HEAVY;;;; 2533;BOX DRAWINGS HEAVY DOWN AND HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY DOWN AND HORIZONTAL;;;; 2534;BOX DRAWINGS LIGHT UP AND HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT UP AND HORIZONTAL;;;; 2535;BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT;So;0;ON;;;;;N;FORMS LEFT HEAVY AND RIGHT UP LIGHT;;;; 2536;BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT;So;0;ON;;;;;N;FORMS RIGHT HEAVY AND LEFT UP LIGHT;;;; 2537;BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND HORIZONTAL HEAVY;;;; 2538;BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND HORIZONTAL LIGHT;;;; 2539;BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY;So;0;ON;;;;;N;FORMS RIGHT LIGHT AND LEFT UP HEAVY;;;; 253A;BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY;So;0;ON;;;;;N;FORMS LEFT LIGHT AND RIGHT UP HEAVY;;;; 253B;BOX DRAWINGS HEAVY UP AND HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY UP AND HORIZONTAL;;;; 253C;BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT VERTICAL AND HORIZONTAL;;;; 253D;BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT;So;0;ON;;;;;N;FORMS LEFT HEAVY AND RIGHT VERTICAL LIGHT;;;; 253E;BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT;So;0;ON;;;;;N;FORMS RIGHT HEAVY AND LEFT VERTICAL LIGHT;;;; 253F;BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS VERTICAL LIGHT AND HORIZONTAL HEAVY;;;; 2540;BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND DOWN HORIZONTAL LIGHT;;;; 2541;BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND UP HORIZONTAL LIGHT;;;; 2542;BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS VERTICAL HEAVY AND HORIZONTAL LIGHT;;;; 2543;BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT;So;0;ON;;;;;N;FORMS LEFT UP HEAVY AND RIGHT DOWN LIGHT;;;; 2544;BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT;So;0;ON;;;;;N;FORMS RIGHT UP HEAVY AND LEFT DOWN LIGHT;;;; 2545;BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT;So;0;ON;;;;;N;FORMS LEFT DOWN HEAVY AND RIGHT UP LIGHT;;;; 2546;BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT;So;0;ON;;;;;N;FORMS RIGHT DOWN HEAVY AND LEFT UP LIGHT;;;; 2547;BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND UP HORIZONTAL HEAVY;;;; 2548;BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND DOWN HORIZONTAL HEAVY;;;; 2549;BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY;So;0;ON;;;;;N;FORMS RIGHT LIGHT AND LEFT VERTICAL HEAVY;;;; 254A;BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY;So;0;ON;;;;;N;FORMS LEFT LIGHT AND RIGHT VERTICAL HEAVY;;;; 254B;BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY VERTICAL AND HORIZONTAL;;;; 254C;BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT DOUBLE DASH HORIZONTAL;;;; 254D;BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY DOUBLE DASH HORIZONTAL;;;; 254E;BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL;So;0;ON;;;;;N;FORMS LIGHT DOUBLE DASH VERTICAL;;;; 254F;BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL;So;0;ON;;;;;N;FORMS HEAVY DOUBLE DASH VERTICAL;;;; 2550;BOX DRAWINGS DOUBLE HORIZONTAL;So;0;ON;;;;;N;FORMS DOUBLE HORIZONTAL;;;; 2551;BOX DRAWINGS DOUBLE VERTICAL;So;0;ON;;;;;N;FORMS DOUBLE VERTICAL;;;; 2552;BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE;So;0;ON;;;;;N;FORMS DOWN SINGLE AND RIGHT DOUBLE;;;; 2553;BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE;So;0;ON;;;;;N;FORMS DOWN DOUBLE AND RIGHT SINGLE;;;; 2554;BOX DRAWINGS DOUBLE DOWN AND RIGHT;So;0;ON;;;;;N;FORMS DOUBLE DOWN AND RIGHT;;;; 2555;BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE;So;0;ON;;;;;N;FORMS DOWN SINGLE AND LEFT DOUBLE;;;; 2556;BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE;So;0;ON;;;;;N;FORMS DOWN DOUBLE AND LEFT SINGLE;;;; 2557;BOX DRAWINGS DOUBLE DOWN AND LEFT;So;0;ON;;;;;N;FORMS DOUBLE DOWN AND LEFT;;;; 2558;BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE;So;0;ON;;;;;N;FORMS UP SINGLE AND RIGHT DOUBLE;;;; 2559;BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE;So;0;ON;;;;;N;FORMS UP DOUBLE AND RIGHT SINGLE;;;; 255A;BOX DRAWINGS DOUBLE UP AND RIGHT;So;0;ON;;;;;N;FORMS DOUBLE UP AND RIGHT;;;; 255B;BOX DRAWINGS UP SINGLE AND LEFT DOUBLE;So;0;ON;;;;;N;FORMS UP SINGLE AND LEFT DOUBLE;;;; 255C;BOX DRAWINGS UP DOUBLE AND LEFT SINGLE;So;0;ON;;;;;N;FORMS UP DOUBLE AND LEFT SINGLE;;;; 255D;BOX DRAWINGS DOUBLE UP AND LEFT;So;0;ON;;;;;N;FORMS DOUBLE UP AND LEFT;;;; 255E;BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE;So;0;ON;;;;;N;FORMS VERTICAL SINGLE AND RIGHT DOUBLE;;;; 255F;BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE;So;0;ON;;;;;N;FORMS VERTICAL DOUBLE AND RIGHT SINGLE;;;; 2560;BOX DRAWINGS DOUBLE VERTICAL AND RIGHT;So;0;ON;;;;;N;FORMS DOUBLE VERTICAL AND RIGHT;;;; 2561;BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE;So;0;ON;;;;;N;FORMS VERTICAL SINGLE AND LEFT DOUBLE;;;; 2562;BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE;So;0;ON;;;;;N;FORMS VERTICAL DOUBLE AND LEFT SINGLE;;;; 2563;BOX DRAWINGS DOUBLE VERTICAL AND LEFT;So;0;ON;;;;;N;FORMS DOUBLE VERTICAL AND LEFT;;;; 2564;BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE;So;0;ON;;;;;N;FORMS DOWN SINGLE AND HORIZONTAL DOUBLE;;;; 2565;BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE;So;0;ON;;;;;N;FORMS DOWN DOUBLE AND HORIZONTAL SINGLE;;;; 2566;BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL;So;0;ON;;;;;N;FORMS DOUBLE DOWN AND HORIZONTAL;;;; 2567;BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE;So;0;ON;;;;;N;FORMS UP SINGLE AND HORIZONTAL DOUBLE;;;; 2568;BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE;So;0;ON;;;;;N;FORMS UP DOUBLE AND HORIZONTAL SINGLE;;;; 2569;BOX DRAWINGS DOUBLE UP AND HORIZONTAL;So;0;ON;;;;;N;FORMS DOUBLE UP AND HORIZONTAL;;;; 256A;BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE;So;0;ON;;;;;N;FORMS VERTICAL SINGLE AND HORIZONTAL DOUBLE;;;; 256B;BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE;So;0;ON;;;;;N;FORMS VERTICAL DOUBLE AND HORIZONTAL SINGLE;;;; 256C;BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL;So;0;ON;;;;;N;FORMS DOUBLE VERTICAL AND HORIZONTAL;;;; 256D;BOX DRAWINGS LIGHT ARC DOWN AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT ARC DOWN AND RIGHT;;;; 256E;BOX DRAWINGS LIGHT ARC DOWN AND LEFT;So;0;ON;;;;;N;FORMS LIGHT ARC DOWN AND LEFT;;;; 256F;BOX DRAWINGS LIGHT ARC UP AND LEFT;So;0;ON;;;;;N;FORMS LIGHT ARC UP AND LEFT;;;; 2570;BOX DRAWINGS LIGHT ARC UP AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT ARC UP AND RIGHT;;;; 2571;BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT;So;0;ON;;;;;N;FORMS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT;;;; 2572;BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT;So;0;ON;;;;;N;FORMS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT;;;; 2573;BOX DRAWINGS LIGHT DIAGONAL CROSS;So;0;ON;;;;;N;FORMS LIGHT DIAGONAL CROSS;;;; 2574;BOX DRAWINGS LIGHT LEFT;So;0;ON;;;;;N;FORMS LIGHT LEFT;;;; 2575;BOX DRAWINGS LIGHT UP;So;0;ON;;;;;N;FORMS LIGHT UP;;;; 2576;BOX DRAWINGS LIGHT RIGHT;So;0;ON;;;;;N;FORMS LIGHT RIGHT;;;; 2577;BOX DRAWINGS LIGHT DOWN;So;0;ON;;;;;N;FORMS LIGHT DOWN;;;; 2578;BOX DRAWINGS HEAVY LEFT;So;0;ON;;;;;N;FORMS HEAVY LEFT;;;; 2579;BOX DRAWINGS HEAVY UP;So;0;ON;;;;;N;FORMS HEAVY UP;;;; 257A;BOX DRAWINGS HEAVY RIGHT;So;0;ON;;;;;N;FORMS HEAVY RIGHT;;;; 257B;BOX DRAWINGS HEAVY DOWN;So;0;ON;;;;;N;FORMS HEAVY DOWN;;;; 257C;BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT;So;0;ON;;;;;N;FORMS LIGHT LEFT AND HEAVY RIGHT;;;; 257D;BOX DRAWINGS LIGHT UP AND HEAVY DOWN;So;0;ON;;;;;N;FORMS LIGHT UP AND HEAVY DOWN;;;; 257E;BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT;So;0;ON;;;;;N;FORMS HEAVY LEFT AND LIGHT RIGHT;;;; 257F;BOX DRAWINGS HEAVY UP AND LIGHT DOWN;So;0;ON;;;;;N;FORMS HEAVY UP AND LIGHT DOWN;;;; 2580;UPPER HALF BLOCK;So;0;ON;;;;;N;;;;; 2581;LOWER ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;; 2582;LOWER ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;; 2583;LOWER THREE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; 2584;LOWER HALF BLOCK;So;0;ON;;;;;N;;;;; 2585;LOWER FIVE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; 2586;LOWER THREE QUARTERS BLOCK;So;0;ON;;;;;N;LOWER THREE QUARTER BLOCK;;;; 2587;LOWER SEVEN EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; 2588;FULL BLOCK;So;0;ON;;;;;N;;;;; 2589;LEFT SEVEN EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; 258A;LEFT THREE QUARTERS BLOCK;So;0;ON;;;;;N;LEFT THREE QUARTER BLOCK;;;; 258B;LEFT FIVE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; 258C;LEFT HALF BLOCK;So;0;ON;;;;;N;;;;; 258D;LEFT THREE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; 258E;LEFT ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;; 258F;LEFT ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;; 2590;RIGHT HALF BLOCK;So;0;ON;;;;;N;;;;; 2591;LIGHT SHADE;So;0;ON;;;;;N;;;;; 2592;MEDIUM SHADE;So;0;ON;;;;;N;;;;; 2593;DARK SHADE;So;0;ON;;;;;N;;;;; 2594;UPPER ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;; 2595;RIGHT ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;; 25A0;BLACK SQUARE;So;0;ON;;;;;N;;;;; 25A1;WHITE SQUARE;So;0;ON;;;;;N;;;;; 25A2;WHITE SQUARE WITH ROUNDED CORNERS;So;0;ON;;;;;N;;;;; 25A3;WHITE SQUARE CONTAINING BLACK SMALL SQUARE;So;0;ON;;;;;N;;;;; 25A4;SQUARE WITH HORIZONTAL FILL;So;0;ON;;;;;N;;;;; 25A5;SQUARE WITH VERTICAL FILL;So;0;ON;;;;;N;;;;; 25A6;SQUARE WITH ORTHOGONAL CROSSHATCH FILL;So;0;ON;;;;;N;;;;; 25A7;SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL;So;0;ON;;;;;N;;;;; 25A8;SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL;So;0;ON;;;;;N;;;;; 25A9;SQUARE WITH DIAGONAL CROSSHATCH FILL;So;0;ON;;;;;N;;;;; 25AA;BLACK SMALL SQUARE;So;0;ON;;;;;N;;;;; 25AB;WHITE SMALL SQUARE;So;0;ON;;;;;N;;;;; 25AC;BLACK RECTANGLE;So;0;ON;;;;;N;;;;; 25AD;WHITE RECTANGLE;So;0;ON;;;;;N;;;;; 25AE;BLACK VERTICAL RECTANGLE;So;0;ON;;;;;N;;;;; 25AF;WHITE VERTICAL RECTANGLE;So;0;ON;;;;;N;;;;; 25B0;BLACK PARALLELOGRAM;So;0;ON;;;;;N;;;;; 25B1;WHITE PARALLELOGRAM;So;0;ON;;;;;N;;;;; 25B2;BLACK UP-POINTING TRIANGLE;So;0;ON;;;;;N;BLACK UP POINTING TRIANGLE;;;; 25B3;WHITE UP-POINTING TRIANGLE;So;0;ON;;;;;N;WHITE UP POINTING TRIANGLE;;;; 25B4;BLACK UP-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;BLACK UP POINTING SMALL TRIANGLE;;;; 25B5;WHITE UP-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;WHITE UP POINTING SMALL TRIANGLE;;;; 25B6;BLACK RIGHT-POINTING TRIANGLE;So;0;ON;;;;;N;BLACK RIGHT POINTING TRIANGLE;;;; 25B7;WHITE RIGHT-POINTING TRIANGLE;Sm;0;ON;;;;;N;WHITE RIGHT POINTING TRIANGLE;;;; 25B8;BLACK RIGHT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;BLACK RIGHT POINTING SMALL TRIANGLE;;;; 25B9;WHITE RIGHT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;WHITE RIGHT POINTING SMALL TRIANGLE;;;; 25BA;BLACK RIGHT-POINTING POINTER;So;0;ON;;;;;N;BLACK RIGHT POINTING POINTER;;;; 25BB;WHITE RIGHT-POINTING POINTER;So;0;ON;;;;;N;WHITE RIGHT POINTING POINTER;;;; 25BC;BLACK DOWN-POINTING TRIANGLE;So;0;ON;;;;;N;BLACK DOWN POINTING TRIANGLE;;;; 25BD;WHITE DOWN-POINTING TRIANGLE;So;0;ON;;;;;N;WHITE DOWN POINTING TRIANGLE;;;; 25BE;BLACK DOWN-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;BLACK DOWN POINTING SMALL TRIANGLE;;;; 25BF;WHITE DOWN-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;WHITE DOWN POINTING SMALL TRIANGLE;;;; 25C0;BLACK LEFT-POINTING TRIANGLE;So;0;ON;;;;;N;BLACK LEFT POINTING TRIANGLE;;;; 25C1;WHITE LEFT-POINTING TRIANGLE;Sm;0;ON;;;;;N;WHITE LEFT POINTING TRIANGLE;;;; 25C2;BLACK LEFT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;BLACK LEFT POINTING SMALL TRIANGLE;;;; 25C3;WHITE LEFT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;WHITE LEFT POINTING SMALL TRIANGLE;;;; 25C4;BLACK LEFT-POINTING POINTER;So;0;ON;;;;;N;BLACK LEFT POINTING POINTER;;;; 25C5;WHITE LEFT-POINTING POINTER;So;0;ON;;;;;N;WHITE LEFT POINTING POINTER;;;; 25C6;BLACK DIAMOND;So;0;ON;;;;;N;;;;; 25C7;WHITE DIAMOND;So;0;ON;;;;;N;;;;; 25C8;WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND;So;0;ON;;;;;N;;;;; 25C9;FISHEYE;So;0;ON;;;;;N;;;;; 25CA;LOZENGE;So;0;ON;;;;;N;;;;; 25CB;WHITE CIRCLE;So;0;ON;;;;;N;;;;; 25CC;DOTTED CIRCLE;So;0;ON;;;;;N;;;;; 25CD;CIRCLE WITH VERTICAL FILL;So;0;ON;;;;;N;;;;; 25CE;BULLSEYE;So;0;ON;;;;;N;;;;; 25CF;BLACK CIRCLE;So;0;ON;;;;;N;;;;; 25D0;CIRCLE WITH LEFT HALF BLACK;So;0;ON;;;;;N;;;;; 25D1;CIRCLE WITH RIGHT HALF BLACK;So;0;ON;;;;;N;;;;; 25D2;CIRCLE WITH LOWER HALF BLACK;So;0;ON;;;;;N;;;;; 25D3;CIRCLE WITH UPPER HALF BLACK;So;0;ON;;;;;N;;;;; 25D4;CIRCLE WITH UPPER RIGHT QUADRANT BLACK;So;0;ON;;;;;N;;;;; 25D5;CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK;So;0;ON;;;;;N;;;;; 25D6;LEFT HALF BLACK CIRCLE;So;0;ON;;;;;N;;;;; 25D7;RIGHT HALF BLACK CIRCLE;So;0;ON;;;;;N;;;;; 25D8;INVERSE BULLET;So;0;ON;;;;;N;;;;; 25D9;INVERSE WHITE CIRCLE;So;0;ON;;;;;N;;;;; 25DA;UPPER HALF INVERSE WHITE CIRCLE;So;0;ON;;;;;N;;;;; 25DB;LOWER HALF INVERSE WHITE CIRCLE;So;0;ON;;;;;N;;;;; 25DC;UPPER LEFT QUADRANT CIRCULAR ARC;So;0;ON;;;;;N;;;;; 25DD;UPPER RIGHT QUADRANT CIRCULAR ARC;So;0;ON;;;;;N;;;;; 25DE;LOWER RIGHT QUADRANT CIRCULAR ARC;So;0;ON;;;;;N;;;;; 25DF;LOWER LEFT QUADRANT CIRCULAR ARC;So;0;ON;;;;;N;;;;; 25E0;UPPER HALF CIRCLE;So;0;ON;;;;;N;;;;; 25E1;LOWER HALF CIRCLE;So;0;ON;;;;;N;;;;; 25E2;BLACK LOWER RIGHT TRIANGLE;So;0;ON;;;;;N;;;;; 25E3;BLACK LOWER LEFT TRIANGLE;So;0;ON;;;;;N;;;;; 25E4;BLACK UPPER LEFT TRIANGLE;So;0;ON;;;;;N;;;;; 25E5;BLACK UPPER RIGHT TRIANGLE;So;0;ON;;;;;N;;;;; 25E6;WHITE BULLET;So;0;ON;;;;;N;;;;; 25E7;SQUARE WITH LEFT HALF BLACK;So;0;ON;;;;;N;;;;; 25E8;SQUARE WITH RIGHT HALF BLACK;So;0;ON;;;;;N;;;;; 25E9;SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK;So;0;ON;;;;;N;;;;; 25EA;SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK;So;0;ON;;;;;N;;;;; 25EB;WHITE SQUARE WITH VERTICAL BISECTING LINE;So;0;ON;;;;;N;;;;; 25EC;WHITE UP-POINTING TRIANGLE WITH DOT;So;0;ON;;;;;N;WHITE UP POINTING TRIANGLE WITH DOT;;;; 25ED;UP-POINTING TRIANGLE WITH LEFT HALF BLACK;So;0;ON;;;;;N;UP POINTING TRIANGLE WITH LEFT HALF BLACK;;;; 25EE;UP-POINTING TRIANGLE WITH RIGHT HALF BLACK;So;0;ON;;;;;N;UP POINTING TRIANGLE WITH RIGHT HALF BLACK;;;; 25EF;LARGE CIRCLE;So;0;ON;;;;;N;;;;; 25F0;WHITE SQUARE WITH UPPER LEFT QUADRANT;So;0;ON;;;;;N;;;;; 25F1;WHITE SQUARE WITH LOWER LEFT QUADRANT;So;0;ON;;;;;N;;;;; 25F2;WHITE SQUARE WITH LOWER RIGHT QUADRANT;So;0;ON;;;;;N;;;;; 25F3;WHITE SQUARE WITH UPPER RIGHT QUADRANT;So;0;ON;;;;;N;;;;; 25F4;WHITE CIRCLE WITH UPPER LEFT QUADRANT;So;0;ON;;;;;N;;;;; 25F5;WHITE CIRCLE WITH LOWER LEFT QUADRANT;So;0;ON;;;;;N;;;;; 25F6;WHITE CIRCLE WITH LOWER RIGHT QUADRANT;So;0;ON;;;;;N;;;;; 25F7;WHITE CIRCLE WITH UPPER RIGHT QUADRANT;So;0;ON;;;;;N;;;;; 2600;BLACK SUN WITH RAYS;So;0;ON;;;;;N;;;;; 2601;CLOUD;So;0;ON;;;;;N;;;;; 2602;UMBRELLA;So;0;ON;;;;;N;;;;; 2603;SNOWMAN;So;0;ON;;;;;N;;;;; 2604;COMET;So;0;ON;;;;;N;;;;; 2605;BLACK STAR;So;0;ON;;;;;N;;;;; 2606;WHITE STAR;So;0;ON;;;;;N;;;;; 2607;LIGHTNING;So;0;ON;;;;;N;;;;; 2608;THUNDERSTORM;So;0;ON;;;;;N;;;;; 2609;SUN;So;0;ON;;;;;N;;;;; 260A;ASCENDING NODE;So;0;ON;;;;;N;;;;; 260B;DESCENDING NODE;So;0;ON;;;;;N;;;;; 260C;CONJUNCTION;So;0;ON;;;;;N;;;;; 260D;OPPOSITION;So;0;ON;;;;;N;;;;; 260E;BLACK TELEPHONE;So;0;ON;;;;;N;;;;; 260F;WHITE TELEPHONE;So;0;ON;;;;;N;;;;; 2610;BALLOT BOX;So;0;ON;;;;;N;;;;; 2611;BALLOT BOX WITH CHECK;So;0;ON;;;;;N;;;;; 2612;BALLOT BOX WITH X;So;0;ON;;;;;N;;;;; 2613;SALTIRE;So;0;ON;;;;;N;;;;; 2619;REVERSED ROTATED FLORAL HEART BULLET;So;0;ON;;;;;N;;;;; 261A;BLACK LEFT POINTING INDEX;So;0;ON;;;;;N;;;;; 261B;BLACK RIGHT POINTING INDEX;So;0;ON;;;;;N;;;;; 261C;WHITE LEFT POINTING INDEX;So;0;ON;;;;;N;;;;; 261D;WHITE UP POINTING INDEX;So;0;ON;;;;;N;;;;; 261E;WHITE RIGHT POINTING INDEX;So;0;ON;;;;;N;;;;; 261F;WHITE DOWN POINTING INDEX;So;0;ON;;;;;N;;;;; 2620;SKULL AND CROSSBONES;So;0;ON;;;;;N;;;;; 2621;CAUTION SIGN;So;0;ON;;;;;N;;;;; 2622;RADIOACTIVE SIGN;So;0;ON;;;;;N;;;;; 2623;BIOHAZARD SIGN;So;0;ON;;;;;N;;;;; 2624;CADUCEUS;So;0;ON;;;;;N;;;;; 2625;ANKH;So;0;ON;;;;;N;;;;; 2626;ORTHODOX CROSS;So;0;ON;;;;;N;;;;; 2627;CHI RHO;So;0;ON;;;;;N;;;;; 2628;CROSS OF LORRAINE;So;0;ON;;;;;N;;;;; 2629;CROSS OF JERUSALEM;So;0;ON;;;;;N;;;;; 262A;STAR AND CRESCENT;So;0;ON;;;;;N;;;;; 262B;FARSI SYMBOL;So;0;ON;;;;;N;SYMBOL OF IRAN;;;; 262C;ADI SHAKTI;So;0;ON;;;;;N;;;;; 262D;HAMMER AND SICKLE;So;0;ON;;;;;N;;;;; 262E;PEACE SYMBOL;So;0;ON;;;;;N;;;;; 262F;YIN YANG;So;0;ON;;;;;N;;;;; 2630;TRIGRAM FOR HEAVEN;So;0;ON;;;;;N;;;;; 2631;TRIGRAM FOR LAKE;So;0;ON;;;;;N;;;;; 2632;TRIGRAM FOR FIRE;So;0;ON;;;;;N;;;;; 2633;TRIGRAM FOR THUNDER;So;0;ON;;;;;N;;;;; 2634;TRIGRAM FOR WIND;So;0;ON;;;;;N;;;;; 2635;TRIGRAM FOR WATER;So;0;ON;;;;;N;;;;; 2636;TRIGRAM FOR MOUNTAIN;So;0;ON;;;;;N;;;;; 2637;TRIGRAM FOR EARTH;So;0;ON;;;;;N;;;;; 2638;WHEEL OF DHARMA;So;0;ON;;;;;N;;;;; 2639;WHITE FROWNING FACE;So;0;ON;;;;;N;;;;; 263A;WHITE SMILING FACE;So;0;ON;;;;;N;;;;; 263B;BLACK SMILING FACE;So;0;ON;;;;;N;;;;; 263C;WHITE SUN WITH RAYS;So;0;ON;;;;;N;;;;; 263D;FIRST QUARTER MOON;So;0;ON;;;;;N;;;;; 263E;LAST QUARTER MOON;So;0;ON;;;;;N;;;;; 263F;MERCURY;So;0;ON;;;;;N;;;;; 2640;FEMALE SIGN;So;0;ON;;;;;N;;;;; 2641;EARTH;So;0;ON;;;;;N;;;;; 2642;MALE SIGN;So;0;ON;;;;;N;;;;; 2643;JUPITER;So;0;ON;;;;;N;;;;; 2644;SATURN;So;0;ON;;;;;N;;;;; 2645;URANUS;So;0;ON;;;;;N;;;;; 2646;NEPTUNE;So;0;ON;;;;;N;;;;; 2647;PLUTO;So;0;ON;;;;;N;;;;; 2648;ARIES;So;0;ON;;;;;N;;;;; 2649;TAURUS;So;0;ON;;;;;N;;;;; 264A;GEMINI;So;0;ON;;;;;N;;;;; 264B;CANCER;So;0;ON;;;;;N;;;;; 264C;LEO;So;0;ON;;;;;N;;;;; 264D;VIRGO;So;0;ON;;;;;N;;;;; 264E;LIBRA;So;0;ON;;;;;N;;;;; 264F;SCORPIUS;So;0;ON;;;;;N;;;;; 2650;SAGITTARIUS;So;0;ON;;;;;N;;;;; 2651;CAPRICORN;So;0;ON;;;;;N;;;;; 2652;AQUARIUS;So;0;ON;;;;;N;;;;; 2653;PISCES;So;0;ON;;;;;N;;;;; 2654;WHITE CHESS KING;So;0;ON;;;;;N;;;;; 2655;WHITE CHESS QUEEN;So;0;ON;;;;;N;;;;; 2656;WHITE CHESS ROOK;So;0;ON;;;;;N;;;;; 2657;WHITE CHESS BISHOP;So;0;ON;;;;;N;;;;; 2658;WHITE CHESS KNIGHT;So;0;ON;;;;;N;;;;; 2659;WHITE CHESS PAWN;So;0;ON;;;;;N;;;;; 265A;BLACK CHESS KING;So;0;ON;;;;;N;;;;; 265B;BLACK CHESS QUEEN;So;0;ON;;;;;N;;;;; 265C;BLACK CHESS ROOK;So;0;ON;;;;;N;;;;; 265D;BLACK CHESS BISHOP;So;0;ON;;;;;N;;;;; 265E;BLACK CHESS KNIGHT;So;0;ON;;;;;N;;;;; 265F;BLACK CHESS PAWN;So;0;ON;;;;;N;;;;; 2660;BLACK SPADE SUIT;So;0;ON;;;;;N;;;;; 2661;WHITE HEART SUIT;So;0;ON;;;;;N;;;;; 2662;WHITE DIAMOND SUIT;So;0;ON;;;;;N;;;;; 2663;BLACK CLUB SUIT;So;0;ON;;;;;N;;;;; 2664;WHITE SPADE SUIT;So;0;ON;;;;;N;;;;; 2665;BLACK HEART SUIT;So;0;ON;;;;;N;;;;; 2666;BLACK DIAMOND SUIT;So;0;ON;;;;;N;;;;; 2667;WHITE CLUB SUIT;So;0;ON;;;;;N;;;;; 2668;HOT SPRINGS;So;0;ON;;;;;N;;;;; 2669;QUARTER NOTE;So;0;ON;;;;;N;;;;; 266A;EIGHTH NOTE;So;0;ON;;;;;N;;;;; 266B;BEAMED EIGHTH NOTES;So;0;ON;;;;;N;BARRED EIGHTH NOTES;;;; 266C;BEAMED SIXTEENTH NOTES;So;0;ON;;;;;N;BARRED SIXTEENTH NOTES;;;; 266D;MUSIC FLAT SIGN;So;0;ON;;;;;N;FLAT;;;; 266E;MUSIC NATURAL SIGN;So;0;ON;;;;;N;NATURAL;;;; 266F;MUSIC SHARP SIGN;Sm;0;ON;;;;;N;SHARP;;;; 2670;WEST SYRIAC CROSS;So;0;ON;;;;;N;;;;; 2671;EAST SYRIAC CROSS;So;0;ON;;;;;N;;;;; 2701;UPPER BLADE SCISSORS;So;0;ON;;;;;N;;;;; 2702;BLACK SCISSORS;So;0;ON;;;;;N;;;;; 2703;LOWER BLADE SCISSORS;So;0;ON;;;;;N;;;;; 2704;WHITE SCISSORS;So;0;ON;;;;;N;;;;; 2706;TELEPHONE LOCATION SIGN;So;0;ON;;;;;N;;;;; 2707;TAPE DRIVE;So;0;ON;;;;;N;;;;; 2708;AIRPLANE;So;0;ON;;;;;N;;;;; 2709;ENVELOPE;So;0;ON;;;;;N;;;;; 270C;VICTORY HAND;So;0;ON;;;;;N;;;;; 270D;WRITING HAND;So;0;ON;;;;;N;;;;; 270E;LOWER RIGHT PENCIL;So;0;ON;;;;;N;;;;; 270F;PENCIL;So;0;ON;;;;;N;;;;; 2710;UPPER RIGHT PENCIL;So;0;ON;;;;;N;;;;; 2711;WHITE NIB;So;0;ON;;;;;N;;;;; 2712;BLACK NIB;So;0;ON;;;;;N;;;;; 2713;CHECK MARK;So;0;ON;;;;;N;;;;; 2714;HEAVY CHECK MARK;So;0;ON;;;;;N;;;;; 2715;MULTIPLICATION X;So;0;ON;;;;;N;;;;; 2716;HEAVY MULTIPLICATION X;So;0;ON;;;;;N;;;;; 2717;BALLOT X;So;0;ON;;;;;N;;;;; 2718;HEAVY BALLOT X;So;0;ON;;;;;N;;;;; 2719;OUTLINED GREEK CROSS;So;0;ON;;;;;N;;;;; 271A;HEAVY GREEK CROSS;So;0;ON;;;;;N;;;;; 271B;OPEN CENTRE CROSS;So;0;ON;;;;;N;OPEN CENTER CROSS;;;; 271C;HEAVY OPEN CENTRE CROSS;So;0;ON;;;;;N;HEAVY OPEN CENTER CROSS;;;; 271D;LATIN CROSS;So;0;ON;;;;;N;;;;; 271E;SHADOWED WHITE LATIN CROSS;So;0;ON;;;;;N;;;;; 271F;OUTLINED LATIN CROSS;So;0;ON;;;;;N;;;;; 2720;MALTESE CROSS;So;0;ON;;;;;N;;;;; 2721;STAR OF DAVID;So;0;ON;;;;;N;;;;; 2722;FOUR TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; 2723;FOUR BALLOON-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; 2724;HEAVY FOUR BALLOON-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; 2725;FOUR CLUB-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; 2726;BLACK FOUR POINTED STAR;So;0;ON;;;;;N;;;;; 2727;WHITE FOUR POINTED STAR;So;0;ON;;;;;N;;;;; 2729;STRESS OUTLINED WHITE STAR;So;0;ON;;;;;N;;;;; 272A;CIRCLED WHITE STAR;So;0;ON;;;;;N;;;;; 272B;OPEN CENTRE BLACK STAR;So;0;ON;;;;;N;OPEN CENTER BLACK STAR;;;; 272C;BLACK CENTRE WHITE STAR;So;0;ON;;;;;N;BLACK CENTER WHITE STAR;;;; 272D;OUTLINED BLACK STAR;So;0;ON;;;;;N;;;;; 272E;HEAVY OUTLINED BLACK STAR;So;0;ON;;;;;N;;;;; 272F;PINWHEEL STAR;So;0;ON;;;;;N;;;;; 2730;SHADOWED WHITE STAR;So;0;ON;;;;;N;;;;; 2731;HEAVY ASTERISK;So;0;ON;;;;;N;;;;; 2732;OPEN CENTRE ASTERISK;So;0;ON;;;;;N;OPEN CENTER ASTERISK;;;; 2733;EIGHT SPOKED ASTERISK;So;0;ON;;;;;N;;;;; 2734;EIGHT POINTED BLACK STAR;So;0;ON;;;;;N;;;;; 2735;EIGHT POINTED PINWHEEL STAR;So;0;ON;;;;;N;;;;; 2736;SIX POINTED BLACK STAR;So;0;ON;;;;;N;;;;; 2737;EIGHT POINTED RECTILINEAR BLACK STAR;So;0;ON;;;;;N;;;;; 2738;HEAVY EIGHT POINTED RECTILINEAR BLACK STAR;So;0;ON;;;;;N;;;;; 2739;TWELVE POINTED BLACK STAR;So;0;ON;;;;;N;;;;; 273A;SIXTEEN POINTED ASTERISK;So;0;ON;;;;;N;;;;; 273B;TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; 273C;OPEN CENTRE TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;OPEN CENTER TEARDROP-SPOKED ASTERISK;;;; 273D;HEAVY TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; 273E;SIX PETALLED BLACK AND WHITE FLORETTE;So;0;ON;;;;;N;;;;; 273F;BLACK FLORETTE;So;0;ON;;;;;N;;;;; 2740;WHITE FLORETTE;So;0;ON;;;;;N;;;;; 2741;EIGHT PETALLED OUTLINED BLACK FLORETTE;So;0;ON;;;;;N;;;;; 2742;CIRCLED OPEN CENTRE EIGHT POINTED STAR;So;0;ON;;;;;N;CIRCLED OPEN CENTER EIGHT POINTED STAR;;;; 2743;HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK;So;0;ON;;;;;N;;;;; 2744;SNOWFLAKE;So;0;ON;;;;;N;;;;; 2745;TIGHT TRIFOLIATE SNOWFLAKE;So;0;ON;;;;;N;;;;; 2746;HEAVY CHEVRON SNOWFLAKE;So;0;ON;;;;;N;;;;; 2747;SPARKLE;So;0;ON;;;;;N;;;;; 2748;HEAVY SPARKLE;So;0;ON;;;;;N;;;;; 2749;BALLOON-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; 274A;EIGHT TEARDROP-SPOKED PROPELLER ASTERISK;So;0;ON;;;;;N;;;;; 274B;HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK;So;0;ON;;;;;N;;;;; 274D;SHADOWED WHITE CIRCLE;So;0;ON;;;;;N;;;;; 274F;LOWER RIGHT DROP-SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;; 2750;UPPER RIGHT DROP-SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;; 2751;LOWER RIGHT SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;; 2752;UPPER RIGHT SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;; 2756;BLACK DIAMOND MINUS WHITE X;So;0;ON;;;;;N;;;;; 2758;LIGHT VERTICAL BAR;So;0;ON;;;;;N;;;;; 2759;MEDIUM VERTICAL BAR;So;0;ON;;;;;N;;;;; 275A;HEAVY VERTICAL BAR;So;0;ON;;;;;N;;;;; 275B;HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; 275C;HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; 275D;HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; 275E;HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; 2761;CURVED STEM PARAGRAPH SIGN ORNAMENT;So;0;ON;;;;;N;;;;; 2762;HEAVY EXCLAMATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; 2763;HEAVY HEART EXCLAMATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; 2764;HEAVY BLACK HEART;So;0;ON;;;;;N;;;;; 2765;ROTATED HEAVY BLACK HEART BULLET;So;0;ON;;;;;N;;;;; 2766;FLORAL HEART;So;0;ON;;;;;N;;;;; 2767;ROTATED FLORAL HEART BULLET;So;0;ON;;;;;N;;;;; 2776;DINGBAT NEGATIVE CIRCLED DIGIT ONE;No;0;ON;;;1;1;N;INVERSE CIRCLED DIGIT ONE;;;; 2777;DINGBAT NEGATIVE CIRCLED DIGIT TWO;No;0;ON;;;2;2;N;INVERSE CIRCLED DIGIT TWO;;;; 2778;DINGBAT NEGATIVE CIRCLED DIGIT THREE;No;0;ON;;;3;3;N;INVERSE CIRCLED DIGIT THREE;;;; 2779;DINGBAT NEGATIVE CIRCLED DIGIT FOUR;No;0;ON;;;4;4;N;INVERSE CIRCLED DIGIT FOUR;;;; 277A;DINGBAT NEGATIVE CIRCLED DIGIT FIVE;No;0;ON;;;5;5;N;INVERSE CIRCLED DIGIT FIVE;;;; 277B;DINGBAT NEGATIVE CIRCLED DIGIT SIX;No;0;ON;;;6;6;N;INVERSE CIRCLED DIGIT SIX;;;; 277C;DINGBAT NEGATIVE CIRCLED DIGIT SEVEN;No;0;ON;;;7;7;N;INVERSE CIRCLED DIGIT SEVEN;;;; 277D;DINGBAT NEGATIVE CIRCLED DIGIT EIGHT;No;0;ON;;;8;8;N;INVERSE CIRCLED DIGIT EIGHT;;;; 277E;DINGBAT NEGATIVE CIRCLED DIGIT NINE;No;0;ON;;;9;9;N;INVERSE CIRCLED DIGIT NINE;;;; 277F;DINGBAT NEGATIVE CIRCLED NUMBER TEN;No;0;ON;;;;10;N;INVERSE CIRCLED NUMBER TEN;;;; 2780;DINGBAT CIRCLED SANS-SERIF DIGIT ONE;No;0;ON;;;1;1;N;CIRCLED SANS-SERIF DIGIT ONE;;;; 2781;DINGBAT CIRCLED SANS-SERIF DIGIT TWO;No;0;ON;;;2;2;N;CIRCLED SANS-SERIF DIGIT TWO;;;; 2782;DINGBAT CIRCLED SANS-SERIF DIGIT THREE;No;0;ON;;;3;3;N;CIRCLED SANS-SERIF DIGIT THREE;;;; 2783;DINGBAT CIRCLED SANS-SERIF DIGIT FOUR;No;0;ON;;;4;4;N;CIRCLED SANS-SERIF DIGIT FOUR;;;; 2784;DINGBAT CIRCLED SANS-SERIF DIGIT FIVE;No;0;ON;;;5;5;N;CIRCLED SANS-SERIF DIGIT FIVE;;;; 2785;DINGBAT CIRCLED SANS-SERIF DIGIT SIX;No;0;ON;;;6;6;N;CIRCLED SANS-SERIF DIGIT SIX;;;; 2786;DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN;No;0;ON;;;7;7;N;CIRCLED SANS-SERIF DIGIT SEVEN;;;; 2787;DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT;No;0;ON;;;8;8;N;CIRCLED SANS-SERIF DIGIT EIGHT;;;; 2788;DINGBAT CIRCLED SANS-SERIF DIGIT NINE;No;0;ON;;;9;9;N;CIRCLED SANS-SERIF DIGIT NINE;;;; 2789;DINGBAT CIRCLED SANS-SERIF NUMBER TEN;No;0;ON;;;;10;N;CIRCLED SANS-SERIF NUMBER TEN;;;; 278A;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE;No;0;ON;;;1;1;N;INVERSE CIRCLED SANS-SERIF DIGIT ONE;;;; 278B;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO;No;0;ON;;;2;2;N;INVERSE CIRCLED SANS-SERIF DIGIT TWO;;;; 278C;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE;No;0;ON;;;3;3;N;INVERSE CIRCLED SANS-SERIF DIGIT THREE;;;; 278D;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR;No;0;ON;;;4;4;N;INVERSE CIRCLED SANS-SERIF DIGIT FOUR;;;; 278E;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE;No;0;ON;;;5;5;N;INVERSE CIRCLED SANS-SERIF DIGIT FIVE;;;; 278F;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX;No;0;ON;;;6;6;N;INVERSE CIRCLED SANS-SERIF DIGIT SIX;;;; 2790;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN;No;0;ON;;;7;7;N;INVERSE CIRCLED SANS-SERIF DIGIT SEVEN;;;; 2791;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT;No;0;ON;;;8;8;N;INVERSE CIRCLED SANS-SERIF DIGIT EIGHT;;;; 2792;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE;No;0;ON;;;9;9;N;INVERSE CIRCLED SANS-SERIF DIGIT NINE;;;; 2793;DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN;No;0;ON;;;;10;N;INVERSE CIRCLED SANS-SERIF NUMBER TEN;;;; 2794;HEAVY WIDE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY WIDE-HEADED RIGHT ARROW;;;; 2798;HEAVY SOUTH EAST ARROW;So;0;ON;;;;;N;HEAVY LOWER RIGHT ARROW;;;; 2799;HEAVY RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY RIGHT ARROW;;;; 279A;HEAVY NORTH EAST ARROW;So;0;ON;;;;;N;HEAVY UPPER RIGHT ARROW;;;; 279B;DRAFTING POINT RIGHTWARDS ARROW;So;0;ON;;;;;N;DRAFTING POINT RIGHT ARROW;;;; 279C;HEAVY ROUND-TIPPED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY ROUND-TIPPED RIGHT ARROW;;;; 279D;TRIANGLE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;TRIANGLE-HEADED RIGHT ARROW;;;; 279E;HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY TRIANGLE-HEADED RIGHT ARROW;;;; 279F;DASHED TRIANGLE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;DASHED TRIANGLE-HEADED RIGHT ARROW;;;; 27A0;HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY DASHED TRIANGLE-HEADED RIGHT ARROW;;;; 27A1;BLACK RIGHTWARDS ARROW;So;0;ON;;;;;N;BLACK RIGHT ARROW;;;; 27A2;THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD;So;0;ON;;;;;N;THREE-D TOP-LIGHTED RIGHT ARROWHEAD;;;; 27A3;THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD;So;0;ON;;;;;N;THREE-D BOTTOM-LIGHTED RIGHT ARROWHEAD;;;; 27A4;BLACK RIGHTWARDS ARROWHEAD;So;0;ON;;;;;N;BLACK RIGHT ARROWHEAD;;;; 27A5;HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY BLACK CURVED DOWN AND RIGHT ARROW;;;; 27A6;HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY BLACK CURVED UP AND RIGHT ARROW;;;; 27A7;SQUAT BLACK RIGHTWARDS ARROW;So;0;ON;;;;;N;SQUAT BLACK RIGHT ARROW;;;; 27A8;HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY CONCAVE-POINTED BLACK RIGHT ARROW;;;; 27A9;RIGHT-SHADED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;RIGHT-SHADED WHITE RIGHT ARROW;;;; 27AA;LEFT-SHADED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;LEFT-SHADED WHITE RIGHT ARROW;;;; 27AB;BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;BACK-TILTED SHADOWED WHITE RIGHT ARROW;;;; 27AC;FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;FRONT-TILTED SHADOWED WHITE RIGHT ARROW;;;; 27AD;HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY LOWER RIGHT-SHADOWED WHITE RIGHT ARROW;;;; 27AE;HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY UPPER RIGHT-SHADOWED WHITE RIGHT ARROW;;;; 27AF;NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHT ARROW;;;; 27B1;NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHT ARROW;;;; 27B2;CIRCLED HEAVY WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;CIRCLED HEAVY WHITE RIGHT ARROW;;;; 27B3;WHITE-FEATHERED RIGHTWARDS ARROW;So;0;ON;;;;;N;WHITE-FEATHERED RIGHT ARROW;;;; 27B4;BLACK-FEATHERED SOUTH EAST ARROW;So;0;ON;;;;;N;BLACK-FEATHERED LOWER RIGHT ARROW;;;; 27B5;BLACK-FEATHERED RIGHTWARDS ARROW;So;0;ON;;;;;N;BLACK-FEATHERED RIGHT ARROW;;;; 27B6;BLACK-FEATHERED NORTH EAST ARROW;So;0;ON;;;;;N;BLACK-FEATHERED UPPER RIGHT ARROW;;;; 27B7;HEAVY BLACK-FEATHERED SOUTH EAST ARROW;So;0;ON;;;;;N;HEAVY BLACK-FEATHERED LOWER RIGHT ARROW;;;; 27B8;HEAVY BLACK-FEATHERED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY BLACK-FEATHERED RIGHT ARROW;;;; 27B9;HEAVY BLACK-FEATHERED NORTH EAST ARROW;So;0;ON;;;;;N;HEAVY BLACK-FEATHERED UPPER RIGHT ARROW;;;; 27BA;TEARDROP-BARBED RIGHTWARDS ARROW;So;0;ON;;;;;N;TEARDROP-BARBED RIGHT ARROW;;;; 27BB;HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY TEARDROP-SHANKED RIGHT ARROW;;;; 27BC;WEDGE-TAILED RIGHTWARDS ARROW;So;0;ON;;;;;N;WEDGE-TAILED RIGHT ARROW;;;; 27BD;HEAVY WEDGE-TAILED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY WEDGE-TAILED RIGHT ARROW;;;; 27BE;OPEN-OUTLINED RIGHTWARDS ARROW;So;0;ON;;;;;N;OPEN-OUTLINED RIGHT ARROW;;;; 2800;BRAILLE PATTERN BLANK;So;0;ON;;;;;N;;;;; 2801;BRAILLE PATTERN DOTS-1;So;0;ON;;;;;N;;;;; 2802;BRAILLE PATTERN DOTS-2;So;0;ON;;;;;N;;;;; 2803;BRAILLE PATTERN DOTS-12;So;0;ON;;;;;N;;;;; 2804;BRAILLE PATTERN DOTS-3;So;0;ON;;;;;N;;;;; 2805;BRAILLE PATTERN DOTS-13;So;0;ON;;;;;N;;;;; 2806;BRAILLE PATTERN DOTS-23;So;0;ON;;;;;N;;;;; 2807;BRAILLE PATTERN DOTS-123;So;0;ON;;;;;N;;;;; 2808;BRAILLE PATTERN DOTS-4;So;0;ON;;;;;N;;;;; 2809;BRAILLE PATTERN DOTS-14;So;0;ON;;;;;N;;;;; 280A;BRAILLE PATTERN DOTS-24;So;0;ON;;;;;N;;;;; 280B;BRAILLE PATTERN DOTS-124;So;0;ON;;;;;N;;;;; 280C;BRAILLE PATTERN DOTS-34;So;0;ON;;;;;N;;;;; 280D;BRAILLE PATTERN DOTS-134;So;0;ON;;;;;N;;;;; 280E;BRAILLE PATTERN DOTS-234;So;0;ON;;;;;N;;;;; 280F;BRAILLE PATTERN DOTS-1234;So;0;ON;;;;;N;;;;; 2810;BRAILLE PATTERN DOTS-5;So;0;ON;;;;;N;;;;; 2811;BRAILLE PATTERN DOTS-15;So;0;ON;;;;;N;;;;; 2812;BRAILLE PATTERN DOTS-25;So;0;ON;;;;;N;;;;; 2813;BRAILLE PATTERN DOTS-125;So;0;ON;;;;;N;;;;; 2814;BRAILLE PATTERN DOTS-35;So;0;ON;;;;;N;;;;; 2815;BRAILLE PATTERN DOTS-135;So;0;ON;;;;;N;;;;; 2816;BRAILLE PATTERN DOTS-235;So;0;ON;;;;;N;;;;; 2817;BRAILLE PATTERN DOTS-1235;So;0;ON;;;;;N;;;;; 2818;BRAILLE PATTERN DOTS-45;So;0;ON;;;;;N;;;;; 2819;BRAILLE PATTERN DOTS-145;So;0;ON;;;;;N;;;;; 281A;BRAILLE PATTERN DOTS-245;So;0;ON;;;;;N;;;;; 281B;BRAILLE PATTERN DOTS-1245;So;0;ON;;;;;N;;;;; 281C;BRAILLE PATTERN DOTS-345;So;0;ON;;;;;N;;;;; 281D;BRAILLE PATTERN DOTS-1345;So;0;ON;;;;;N;;;;; 281E;BRAILLE PATTERN DOTS-2345;So;0;ON;;;;;N;;;;; 281F;BRAILLE PATTERN DOTS-12345;So;0;ON;;;;;N;;;;; 2820;BRAILLE PATTERN DOTS-6;So;0;ON;;;;;N;;;;; 2821;BRAILLE PATTERN DOTS-16;So;0;ON;;;;;N;;;;; 2822;BRAILLE PATTERN DOTS-26;So;0;ON;;;;;N;;;;; 2823;BRAILLE PATTERN DOTS-126;So;0;ON;;;;;N;;;;; 2824;BRAILLE PATTERN DOTS-36;So;0;ON;;;;;N;;;;; 2825;BRAILLE PATTERN DOTS-136;So;0;ON;;;;;N;;;;; 2826;BRAILLE PATTERN DOTS-236;So;0;ON;;;;;N;;;;; 2827;BRAILLE PATTERN DOTS-1236;So;0;ON;;;;;N;;;;; 2828;BRAILLE PATTERN DOTS-46;So;0;ON;;;;;N;;;;; 2829;BRAILLE PATTERN DOTS-146;So;0;ON;;;;;N;;;;; 282A;BRAILLE PATTERN DOTS-246;So;0;ON;;;;;N;;;;; 282B;BRAILLE PATTERN DOTS-1246;So;0;ON;;;;;N;;;;; 282C;BRAILLE PATTERN DOTS-346;So;0;ON;;;;;N;;;;; 282D;BRAILLE PATTERN DOTS-1346;So;0;ON;;;;;N;;;;; 282E;BRAILLE PATTERN DOTS-2346;So;0;ON;;;;;N;;;;; 282F;BRAILLE PATTERN DOTS-12346;So;0;ON;;;;;N;;;;; 2830;BRAILLE PATTERN DOTS-56;So;0;ON;;;;;N;;;;; 2831;BRAILLE PATTERN DOTS-156;So;0;ON;;;;;N;;;;; 2832;BRAILLE PATTERN DOTS-256;So;0;ON;;;;;N;;;;; 2833;BRAILLE PATTERN DOTS-1256;So;0;ON;;;;;N;;;;; 2834;BRAILLE PATTERN DOTS-356;So;0;ON;;;;;N;;;;; 2835;BRAILLE PATTERN DOTS-1356;So;0;ON;;;;;N;;;;; 2836;BRAILLE PATTERN DOTS-2356;So;0;ON;;;;;N;;;;; 2837;BRAILLE PATTERN DOTS-12356;So;0;ON;;;;;N;;;;; 2838;BRAILLE PATTERN DOTS-456;So;0;ON;;;;;N;;;;; 2839;BRAILLE PATTERN DOTS-1456;So;0;ON;;;;;N;;;;; 283A;BRAILLE PATTERN DOTS-2456;So;0;ON;;;;;N;;;;; 283B;BRAILLE PATTERN DOTS-12456;So;0;ON;;;;;N;;;;; 283C;BRAILLE PATTERN DOTS-3456;So;0;ON;;;;;N;;;;; 283D;BRAILLE PATTERN DOTS-13456;So;0;ON;;;;;N;;;;; 283E;BRAILLE PATTERN DOTS-23456;So;0;ON;;;;;N;;;;; 283F;BRAILLE PATTERN DOTS-123456;So;0;ON;;;;;N;;;;; 2840;BRAILLE PATTERN DOTS-7;So;0;ON;;;;;N;;;;; 2841;BRAILLE PATTERN DOTS-17;So;0;ON;;;;;N;;;;; 2842;BRAILLE PATTERN DOTS-27;So;0;ON;;;;;N;;;;; 2843;BRAILLE PATTERN DOTS-127;So;0;ON;;;;;N;;;;; 2844;BRAILLE PATTERN DOTS-37;So;0;ON;;;;;N;;;;; 2845;BRAILLE PATTERN DOTS-137;So;0;ON;;;;;N;;;;; 2846;BRAILLE PATTERN DOTS-237;So;0;ON;;;;;N;;;;; 2847;BRAILLE PATTERN DOTS-1237;So;0;ON;;;;;N;;;;; 2848;BRAILLE PATTERN DOTS-47;So;0;ON;;;;;N;;;;; 2849;BRAILLE PATTERN DOTS-147;So;0;ON;;;;;N;;;;; 284A;BRAILLE PATTERN DOTS-247;So;0;ON;;;;;N;;;;; 284B;BRAILLE PATTERN DOTS-1247;So;0;ON;;;;;N;;;;; 284C;BRAILLE PATTERN DOTS-347;So;0;ON;;;;;N;;;;; 284D;BRAILLE PATTERN DOTS-1347;So;0;ON;;;;;N;;;;; 284E;BRAILLE PATTERN DOTS-2347;So;0;ON;;;;;N;;;;; 284F;BRAILLE PATTERN DOTS-12347;So;0;ON;;;;;N;;;;; 2850;BRAILLE PATTERN DOTS-57;So;0;ON;;;;;N;;;;; 2851;BRAILLE PATTERN DOTS-157;So;0;ON;;;;;N;;;;; 2852;BRAILLE PATTERN DOTS-257;So;0;ON;;;;;N;;;;; 2853;BRAILLE PATTERN DOTS-1257;So;0;ON;;;;;N;;;;; 2854;BRAILLE PATTERN DOTS-357;So;0;ON;;;;;N;;;;; 2855;BRAILLE PATTERN DOTS-1357;So;0;ON;;;;;N;;;;; 2856;BRAILLE PATTERN DOTS-2357;So;0;ON;;;;;N;;;;; 2857;BRAILLE PATTERN DOTS-12357;So;0;ON;;;;;N;;;;; 2858;BRAILLE PATTERN DOTS-457;So;0;ON;;;;;N;;;;; 2859;BRAILLE PATTERN DOTS-1457;So;0;ON;;;;;N;;;;; 285A;BRAILLE PATTERN DOTS-2457;So;0;ON;;;;;N;;;;; 285B;BRAILLE PATTERN DOTS-12457;So;0;ON;;;;;N;;;;; 285C;BRAILLE PATTERN DOTS-3457;So;0;ON;;;;;N;;;;; 285D;BRAILLE PATTERN DOTS-13457;So;0;ON;;;;;N;;;;; 285E;BRAILLE PATTERN DOTS-23457;So;0;ON;;;;;N;;;;; 285F;BRAILLE PATTERN DOTS-123457;So;0;ON;;;;;N;;;;; 2860;BRAILLE PATTERN DOTS-67;So;0;ON;;;;;N;;;;; 2861;BRAILLE PATTERN DOTS-167;So;0;ON;;;;;N;;;;; 2862;BRAILLE PATTERN DOTS-267;So;0;ON;;;;;N;;;;; 2863;BRAILLE PATTERN DOTS-1267;So;0;ON;;;;;N;;;;; 2864;BRAILLE PATTERN DOTS-367;So;0;ON;;;;;N;;;;; 2865;BRAILLE PATTERN DOTS-1367;So;0;ON;;;;;N;;;;; 2866;BRAILLE PATTERN DOTS-2367;So;0;ON;;;;;N;;;;; 2867;BRAILLE PATTERN DOTS-12367;So;0;ON;;;;;N;;;;; 2868;BRAILLE PATTERN DOTS-467;So;0;ON;;;;;N;;;;; 2869;BRAILLE PATTERN DOTS-1467;So;0;ON;;;;;N;;;;; 286A;BRAILLE PATTERN DOTS-2467;So;0;ON;;;;;N;;;;; 286B;BRAILLE PATTERN DOTS-12467;So;0;ON;;;;;N;;;;; 286C;BRAILLE PATTERN DOTS-3467;So;0;ON;;;;;N;;;;; 286D;BRAILLE PATTERN DOTS-13467;So;0;ON;;;;;N;;;;; 286E;BRAILLE PATTERN DOTS-23467;So;0;ON;;;;;N;;;;; 286F;BRAILLE PATTERN DOTS-123467;So;0;ON;;;;;N;;;;; 2870;BRAILLE PATTERN DOTS-567;So;0;ON;;;;;N;;;;; 2871;BRAILLE PATTERN DOTS-1567;So;0;ON;;;;;N;;;;; 2872;BRAILLE PATTERN DOTS-2567;So;0;ON;;;;;N;;;;; 2873;BRAILLE PATTERN DOTS-12567;So;0;ON;;;;;N;;;;; 2874;BRAILLE PATTERN DOTS-3567;So;0;ON;;;;;N;;;;; 2875;BRAILLE PATTERN DOTS-13567;So;0;ON;;;;;N;;;;; 2876;BRAILLE PATTERN DOTS-23567;So;0;ON;;;;;N;;;;; 2877;BRAILLE PATTERN DOTS-123567;So;0;ON;;;;;N;;;;; 2878;BRAILLE PATTERN DOTS-4567;So;0;ON;;;;;N;;;;; 2879;BRAILLE PATTERN DOTS-14567;So;0;ON;;;;;N;;;;; 287A;BRAILLE PATTERN DOTS-24567;So;0;ON;;;;;N;;;;; 287B;BRAILLE PATTERN DOTS-124567;So;0;ON;;;;;N;;;;; 287C;BRAILLE PATTERN DOTS-34567;So;0;ON;;;;;N;;;;; 287D;BRAILLE PATTERN DOTS-134567;So;0;ON;;;;;N;;;;; 287E;BRAILLE PATTERN DOTS-234567;So;0;ON;;;;;N;;;;; 287F;BRAILLE PATTERN DOTS-1234567;So;0;ON;;;;;N;;;;; 2880;BRAILLE PATTERN DOTS-8;So;0;ON;;;;;N;;;;; 2881;BRAILLE PATTERN DOTS-18;So;0;ON;;;;;N;;;;; 2882;BRAILLE PATTERN DOTS-28;So;0;ON;;;;;N;;;;; 2883;BRAILLE PATTERN DOTS-128;So;0;ON;;;;;N;;;;; 2884;BRAILLE PATTERN DOTS-38;So;0;ON;;;;;N;;;;; 2885;BRAILLE PATTERN DOTS-138;So;0;ON;;;;;N;;;;; 2886;BRAILLE PATTERN DOTS-238;So;0;ON;;;;;N;;;;; 2887;BRAILLE PATTERN DOTS-1238;So;0;ON;;;;;N;;;;; 2888;BRAILLE PATTERN DOTS-48;So;0;ON;;;;;N;;;;; 2889;BRAILLE PATTERN DOTS-148;So;0;ON;;;;;N;;;;; 288A;BRAILLE PATTERN DOTS-248;So;0;ON;;;;;N;;;;; 288B;BRAILLE PATTERN DOTS-1248;So;0;ON;;;;;N;;;;; 288C;BRAILLE PATTERN DOTS-348;So;0;ON;;;;;N;;;;; 288D;BRAILLE PATTERN DOTS-1348;So;0;ON;;;;;N;;;;; 288E;BRAILLE PATTERN DOTS-2348;So;0;ON;;;;;N;;;;; 288F;BRAILLE PATTERN DOTS-12348;So;0;ON;;;;;N;;;;; 2890;BRAILLE PATTERN DOTS-58;So;0;ON;;;;;N;;;;; 2891;BRAILLE PATTERN DOTS-158;So;0;ON;;;;;N;;;;; 2892;BRAILLE PATTERN DOTS-258;So;0;ON;;;;;N;;;;; 2893;BRAILLE PATTERN DOTS-1258;So;0;ON;;;;;N;;;;; 2894;BRAILLE PATTERN DOTS-358;So;0;ON;;;;;N;;;;; 2895;BRAILLE PATTERN DOTS-1358;So;0;ON;;;;;N;;;;; 2896;BRAILLE PATTERN DOTS-2358;So;0;ON;;;;;N;;;;; 2897;BRAILLE PATTERN DOTS-12358;So;0;ON;;;;;N;;;;; 2898;BRAILLE PATTERN DOTS-458;So;0;ON;;;;;N;;;;; 2899;BRAILLE PATTERN DOTS-1458;So;0;ON;;;;;N;;;;; 289A;BRAILLE PATTERN DOTS-2458;So;0;ON;;;;;N;;;;; 289B;BRAILLE PATTERN DOTS-12458;So;0;ON;;;;;N;;;;; 289C;BRAILLE PATTERN DOTS-3458;So;0;ON;;;;;N;;;;; 289D;BRAILLE PATTERN DOTS-13458;So;0;ON;;;;;N;;;;; 289E;BRAILLE PATTERN DOTS-23458;So;0;ON;;;;;N;;;;; 289F;BRAILLE PATTERN DOTS-123458;So;0;ON;;;;;N;;;;; 28A0;BRAILLE PATTERN DOTS-68;So;0;ON;;;;;N;;;;; 28A1;BRAILLE PATTERN DOTS-168;So;0;ON;;;;;N;;;;; 28A2;BRAILLE PATTERN DOTS-268;So;0;ON;;;;;N;;;;; 28A3;BRAILLE PATTERN DOTS-1268;So;0;ON;;;;;N;;;;; 28A4;BRAILLE PATTERN DOTS-368;So;0;ON;;;;;N;;;;; 28A5;BRAILLE PATTERN DOTS-1368;So;0;ON;;;;;N;;;;; 28A6;BRAILLE PATTERN DOTS-2368;So;0;ON;;;;;N;;;;; 28A7;BRAILLE PATTERN DOTS-12368;So;0;ON;;;;;N;;;;; 28A8;BRAILLE PATTERN DOTS-468;So;0;ON;;;;;N;;;;; 28A9;BRAILLE PATTERN DOTS-1468;So;0;ON;;;;;N;;;;; 28AA;BRAILLE PATTERN DOTS-2468;So;0;ON;;;;;N;;;;; 28AB;BRAILLE PATTERN DOTS-12468;So;0;ON;;;;;N;;;;; 28AC;BRAILLE PATTERN DOTS-3468;So;0;ON;;;;;N;;;;; 28AD;BRAILLE PATTERN DOTS-13468;So;0;ON;;;;;N;;;;; 28AE;BRAILLE PATTERN DOTS-23468;So;0;ON;;;;;N;;;;; 28AF;BRAILLE PATTERN DOTS-123468;So;0;ON;;;;;N;;;;; 28B0;BRAILLE PATTERN DOTS-568;So;0;ON;;;;;N;;;;; 28B1;BRAILLE PATTERN DOTS-1568;So;0;ON;;;;;N;;;;; 28B2;BRAILLE PATTERN DOTS-2568;So;0;ON;;;;;N;;;;; 28B3;BRAILLE PATTERN DOTS-12568;So;0;ON;;;;;N;;;;; 28B4;BRAILLE PATTERN DOTS-3568;So;0;ON;;;;;N;;;;; 28B5;BRAILLE PATTERN DOTS-13568;So;0;ON;;;;;N;;;;; 28B6;BRAILLE PATTERN DOTS-23568;So;0;ON;;;;;N;;;;; 28B7;BRAILLE PATTERN DOTS-123568;So;0;ON;;;;;N;;;;; 28B8;BRAILLE PATTERN DOTS-4568;So;0;ON;;;;;N;;;;; 28B9;BRAILLE PATTERN DOTS-14568;So;0;ON;;;;;N;;;;; 28BA;BRAILLE PATTERN DOTS-24568;So;0;ON;;;;;N;;;;; 28BB;BRAILLE PATTERN DOTS-124568;So;0;ON;;;;;N;;;;; 28BC;BRAILLE PATTERN DOTS-34568;So;0;ON;;;;;N;;;;; 28BD;BRAILLE PATTERN DOTS-134568;So;0;ON;;;;;N;;;;; 28BE;BRAILLE PATTERN DOTS-234568;So;0;ON;;;;;N;;;;; 28BF;BRAILLE PATTERN DOTS-1234568;So;0;ON;;;;;N;;;;; 28C0;BRAILLE PATTERN DOTS-78;So;0;ON;;;;;N;;;;; 28C1;BRAILLE PATTERN DOTS-178;So;0;ON;;;;;N;;;;; 28C2;BRAILLE PATTERN DOTS-278;So;0;ON;;;;;N;;;;; 28C3;BRAILLE PATTERN DOTS-1278;So;0;ON;;;;;N;;;;; 28C4;BRAILLE PATTERN DOTS-378;So;0;ON;;;;;N;;;;; 28C5;BRAILLE PATTERN DOTS-1378;So;0;ON;;;;;N;;;;; 28C6;BRAILLE PATTERN DOTS-2378;So;0;ON;;;;;N;;;;; 28C7;BRAILLE PATTERN DOTS-12378;So;0;ON;;;;;N;;;;; 28C8;BRAILLE PATTERN DOTS-478;So;0;ON;;;;;N;;;;; 28C9;BRAILLE PATTERN DOTS-1478;So;0;ON;;;;;N;;;;; 28CA;BRAILLE PATTERN DOTS-2478;So;0;ON;;;;;N;;;;; 28CB;BRAILLE PATTERN DOTS-12478;So;0;ON;;;;;N;;;;; 28CC;BRAILLE PATTERN DOTS-3478;So;0;ON;;;;;N;;;;; 28CD;BRAILLE PATTERN DOTS-13478;So;0;ON;;;;;N;;;;; 28CE;BRAILLE PATTERN DOTS-23478;So;0;ON;;;;;N;;;;; 28CF;BRAILLE PATTERN DOTS-123478;So;0;ON;;;;;N;;;;; 28D0;BRAILLE PATTERN DOTS-578;So;0;ON;;;;;N;;;;; 28D1;BRAILLE PATTERN DOTS-1578;So;0;ON;;;;;N;;;;; 28D2;BRAILLE PATTERN DOTS-2578;So;0;ON;;;;;N;;;;; 28D3;BRAILLE PATTERN DOTS-12578;So;0;ON;;;;;N;;;;; 28D4;BRAILLE PATTERN DOTS-3578;So;0;ON;;;;;N;;;;; 28D5;BRAILLE PATTERN DOTS-13578;So;0;ON;;;;;N;;;;; 28D6;BRAILLE PATTERN DOTS-23578;So;0;ON;;;;;N;;;;; 28D7;BRAILLE PATTERN DOTS-123578;So;0;ON;;;;;N;;;;; 28D8;BRAILLE PATTERN DOTS-4578;So;0;ON;;;;;N;;;;; 28D9;BRAILLE PATTERN DOTS-14578;So;0;ON;;;;;N;;;;; 28DA;BRAILLE PATTERN DOTS-24578;So;0;ON;;;;;N;;;;; 28DB;BRAILLE PATTERN DOTS-124578;So;0;ON;;;;;N;;;;; 28DC;BRAILLE PATTERN DOTS-34578;So;0;ON;;;;;N;;;;; 28DD;BRAILLE PATTERN DOTS-134578;So;0;ON;;;;;N;;;;; 28DE;BRAILLE PATTERN DOTS-234578;So;0;ON;;;;;N;;;;; 28DF;BRAILLE PATTERN DOTS-1234578;So;0;ON;;;;;N;;;;; 28E0;BRAILLE PATTERN DOTS-678;So;0;ON;;;;;N;;;;; 28E1;BRAILLE PATTERN DOTS-1678;So;0;ON;;;;;N;;;;; 28E2;BRAILLE PATTERN DOTS-2678;So;0;ON;;;;;N;;;;; 28E3;BRAILLE PATTERN DOTS-12678;So;0;ON;;;;;N;;;;; 28E4;BRAILLE PATTERN DOTS-3678;So;0;ON;;;;;N;;;;; 28E5;BRAILLE PATTERN DOTS-13678;So;0;ON;;;;;N;;;;; 28E6;BRAILLE PATTERN DOTS-23678;So;0;ON;;;;;N;;;;; 28E7;BRAILLE PATTERN DOTS-123678;So;0;ON;;;;;N;;;;; 28E8;BRAILLE PATTERN DOTS-4678;So;0;ON;;;;;N;;;;; 28E9;BRAILLE PATTERN DOTS-14678;So;0;ON;;;;;N;;;;; 28EA;BRAILLE PATTERN DOTS-24678;So;0;ON;;;;;N;;;;; 28EB;BRAILLE PATTERN DOTS-124678;So;0;ON;;;;;N;;;;; 28EC;BRAILLE PATTERN DOTS-34678;So;0;ON;;;;;N;;;;; 28ED;BRAILLE PATTERN DOTS-134678;So;0;ON;;;;;N;;;;; 28EE;BRAILLE PATTERN DOTS-234678;So;0;ON;;;;;N;;;;; 28EF;BRAILLE PATTERN DOTS-1234678;So;0;ON;;;;;N;;;;; 28F0;BRAILLE PATTERN DOTS-5678;So;0;ON;;;;;N;;;;; 28F1;BRAILLE PATTERN DOTS-15678;So;0;ON;;;;;N;;;;; 28F2;BRAILLE PATTERN DOTS-25678;So;0;ON;;;;;N;;;;; 28F3;BRAILLE PATTERN DOTS-125678;So;0;ON;;;;;N;;;;; 28F4;BRAILLE PATTERN DOTS-35678;So;0;ON;;;;;N;;;;; 28F5;BRAILLE PATTERN DOTS-135678;So;0;ON;;;;;N;;;;; 28F6;BRAILLE PATTERN DOTS-235678;So;0;ON;;;;;N;;;;; 28F7;BRAILLE PATTERN DOTS-1235678;So;0;ON;;;;;N;;;;; 28F8;BRAILLE PATTERN DOTS-45678;So;0;ON;;;;;N;;;;; 28F9;BRAILLE PATTERN DOTS-145678;So;0;ON;;;;;N;;;;; 28FA;BRAILLE PATTERN DOTS-245678;So;0;ON;;;;;N;;;;; 28FB;BRAILLE PATTERN DOTS-1245678;So;0;ON;;;;;N;;;;; 28FC;BRAILLE PATTERN DOTS-345678;So;0;ON;;;;;N;;;;; 28FD;BRAILLE PATTERN DOTS-1345678;So;0;ON;;;;;N;;;;; 28FE;BRAILLE PATTERN DOTS-2345678;So;0;ON;;;;;N;;;;; 28FF;BRAILLE PATTERN DOTS-12345678;So;0;ON;;;;;N;;;;; 2E80;CJK RADICAL REPEAT;So;0;ON;;;;;N;;;;; 2E81;CJK RADICAL CLIFF;So;0;ON;;;;;N;;;;; 2E82;CJK RADICAL SECOND ONE;So;0;ON;;;;;N;;;;; 2E83;CJK RADICAL SECOND TWO;So;0;ON;;;;;N;;;;; 2E84;CJK RADICAL SECOND THREE;So;0;ON;;;;;N;;;;; 2E85;CJK RADICAL PERSON;So;0;ON;;;;;N;;;;; 2E86;CJK RADICAL BOX;So;0;ON;;;;;N;;;;; 2E87;CJK RADICAL TABLE;So;0;ON;;;;;N;;;;; 2E88;CJK RADICAL KNIFE ONE;So;0;ON;;;;;N;;;;; 2E89;CJK RADICAL KNIFE TWO;So;0;ON;;;;;N;;;;; 2E8A;CJK RADICAL DIVINATION;So;0;ON;;;;;N;;;;; 2E8B;CJK RADICAL SEAL;So;0;ON;;;;;N;;;;; 2E8C;CJK RADICAL SMALL ONE;So;0;ON;;;;;N;;;;; 2E8D;CJK RADICAL SMALL TWO;So;0;ON;;;;;N;;;;; 2E8E;CJK RADICAL LAME ONE;So;0;ON;;;;;N;;;;; 2E8F;CJK RADICAL LAME TWO;So;0;ON;;;;;N;;;;; 2E90;CJK RADICAL LAME THREE;So;0;ON;;;;;N;;;;; 2E91;CJK RADICAL LAME FOUR;So;0;ON;;;;;N;;;;; 2E92;CJK RADICAL SNAKE;So;0;ON;;;;;N;;;;; 2E93;CJK RADICAL THREAD;So;0;ON;;;;;N;;;;; 2E94;CJK RADICAL SNOUT ONE;So;0;ON;;;;;N;;;;; 2E95;CJK RADICAL SNOUT TWO;So;0;ON;;;;;N;;;;; 2E96;CJK RADICAL HEART ONE;So;0;ON;;;;;N;;;;; 2E97;CJK RADICAL HEART TWO;So;0;ON;;;;;N;;;;; 2E98;CJK RADICAL HAND;So;0;ON;;;;;N;;;;; 2E99;CJK RADICAL RAP;So;0;ON;;;;;N;;;;; 2E9B;CJK RADICAL CHOKE;So;0;ON;;;;;N;;;;; 2E9C;CJK RADICAL SUN;So;0;ON;;;;;N;;;;; 2E9D;CJK RADICAL MOON;So;0;ON;;;;;N;;;;; 2E9E;CJK RADICAL DEATH;So;0;ON;;;;;N;;;;; 2E9F;CJK RADICAL MOTHER;So;0;ON; 6BCD;;;;N;;;;; 2EA0;CJK RADICAL CIVILIAN;So;0;ON;;;;;N;;;;; 2EA1;CJK RADICAL WATER ONE;So;0;ON;;;;;N;;;;; 2EA2;CJK RADICAL WATER TWO;So;0;ON;;;;;N;;;;; 2EA3;CJK RADICAL FIRE;So;0;ON;;;;;N;;;;; 2EA4;CJK RADICAL PAW ONE;So;0;ON;;;;;N;;;;; 2EA5;CJK RADICAL PAW TWO;So;0;ON;;;;;N;;;;; 2EA6;CJK RADICAL SIMPLIFIED HALF TREE TRUNK;So;0;ON;;;;;N;;;;; 2EA7;CJK RADICAL COW;So;0;ON;;;;;N;;;;; 2EA8;CJK RADICAL DOG;So;0;ON;;;;;N;;;;; 2EA9;CJK RADICAL JADE;So;0;ON;;;;;N;;;;; 2EAA;CJK RADICAL BOLT OF CLOTH;So;0;ON;;;;;N;;;;; 2EAB;CJK RADICAL EYE;So;0;ON;;;;;N;;;;; 2EAC;CJK RADICAL SPIRIT ONE;So;0;ON;;;;;N;;;;; 2EAD;CJK RADICAL SPIRIT TWO;So;0;ON;;;;;N;;;;; 2EAE;CJK RADICAL BAMBOO;So;0;ON;;;;;N;;;;; 2EAF;CJK RADICAL SILK;So;0;ON;;;;;N;;;;; 2EB0;CJK RADICAL C-SIMPLIFIED SILK;So;0;ON;;;;;N;;;;; 2EB1;CJK RADICAL NET ONE;So;0;ON;;;;;N;;;;; 2EB2;CJK RADICAL NET TWO;So;0;ON;;;;;N;;;;; 2EB3;CJK RADICAL NET THREE;So;0;ON;;;;;N;;;;; 2EB4;CJK RADICAL NET FOUR;So;0;ON;;;;;N;;;;; 2EB5;CJK RADICAL MESH;So;0;ON;;;;;N;;;;; 2EB6;CJK RADICAL SHEEP;So;0;ON;;;;;N;;;;; 2EB7;CJK RADICAL RAM;So;0;ON;;;;;N;;;;; 2EB8;CJK RADICAL EWE;So;0;ON;;;;;N;;;;; 2EB9;CJK RADICAL OLD;So;0;ON;;;;;N;;;;; 2EBA;CJK RADICAL BRUSH ONE;So;0;ON;;;;;N;;;;; 2EBB;CJK RADICAL BRUSH TWO;So;0;ON;;;;;N;;;;; 2EBC;CJK RADICAL MEAT;So;0;ON;;;;;N;;;;; 2EBD;CJK RADICAL MORTAR;So;0;ON;;;;;N;;;;; 2EBE;CJK RADICAL GRASS ONE;So;0;ON;;;;;N;;;;; 2EBF;CJK RADICAL GRASS TWO;So;0;ON;;;;;N;;;;; 2EC0;CJK RADICAL GRASS THREE;So;0;ON;;;;;N;;;;; 2EC1;CJK RADICAL TIGER;So;0;ON;;;;;N;;;;; 2EC2;CJK RADICAL CLOTHES;So;0;ON;;;;;N;;;;; 2EC3;CJK RADICAL WEST ONE;So;0;ON;;;;;N;;;;; 2EC4;CJK RADICAL WEST TWO;So;0;ON;;;;;N;;;;; 2EC5;CJK RADICAL C-SIMPLIFIED SEE;So;0;ON;;;;;N;;;;; 2EC6;CJK RADICAL SIMPLIFIED HORN;So;0;ON;;;;;N;;;;; 2EC7;CJK RADICAL HORN;So;0;ON;;;;;N;;;;; 2EC8;CJK RADICAL C-SIMPLIFIED SPEECH;So;0;ON;;;;;N;;;;; 2EC9;CJK RADICAL C-SIMPLIFIED SHELL;So;0;ON;;;;;N;;;;; 2ECA;CJK RADICAL FOOT;So;0;ON;;;;;N;;;;; 2ECB;CJK RADICAL C-SIMPLIFIED CART;So;0;ON;;;;;N;;;;; 2ECC;CJK RADICAL SIMPLIFIED WALK;So;0;ON;;;;;N;;;;; 2ECD;CJK RADICAL WALK ONE;So;0;ON;;;;;N;;;;; 2ECE;CJK RADICAL WALK TWO;So;0;ON;;;;;N;;;;; 2ECF;CJK RADICAL CITY;So;0;ON;;;;;N;;;;; 2ED0;CJK RADICAL C-SIMPLIFIED GOLD;So;0;ON;;;;;N;;;;; 2ED1;CJK RADICAL LONG ONE;So;0;ON;;;;;N;;;;; 2ED2;CJK RADICAL LONG TWO;So;0;ON;;;;;N;;;;; 2ED3;CJK RADICAL C-SIMPLIFIED LONG;So;0;ON;;;;;N;;;;; 2ED4;CJK RADICAL C-SIMPLIFIED GATE;So;0;ON;;;;;N;;;;; 2ED5;CJK RADICAL MOUND ONE;So;0;ON;;;;;N;;;;; 2ED6;CJK RADICAL MOUND TWO;So;0;ON;;;;;N;;;;; 2ED7;CJK RADICAL RAIN;So;0;ON;;;;;N;;;;; 2ED8;CJK RADICAL BLUE;So;0;ON;;;;;N;;;;; 2ED9;CJK RADICAL C-SIMPLIFIED TANNED LEATHER;So;0;ON;;;;;N;;;;; 2EDA;CJK RADICAL C-SIMPLIFIED LEAF;So;0;ON;;;;;N;;;;; 2EDB;CJK RADICAL C-SIMPLIFIED WIND;So;0;ON;;;;;N;;;;; 2EDC;CJK RADICAL C-SIMPLIFIED FLY;So;0;ON;;;;;N;;;;; 2EDD;CJK RADICAL EAT ONE;So;0;ON;;;;;N;;;;; 2EDE;CJK RADICAL EAT TWO;So;0;ON;;;;;N;;;;; 2EDF;CJK RADICAL EAT THREE;So;0;ON;;;;;N;;;;; 2EE0;CJK RADICAL C-SIMPLIFIED EAT;So;0;ON;;;;;N;;;;; 2EE1;CJK RADICAL HEAD;So;0;ON;;;;;N;;;;; 2EE2;CJK RADICAL C-SIMPLIFIED HORSE;So;0;ON;;;;;N;;;;; 2EE3;CJK RADICAL BONE;So;0;ON;;;;;N;;;;; 2EE4;CJK RADICAL GHOST;So;0;ON;;;;;N;;;;; 2EE5;CJK RADICAL C-SIMPLIFIED FISH;So;0;ON;;;;;N;;;;; 2EE6;CJK RADICAL C-SIMPLIFIED BIRD;So;0;ON;;;;;N;;;;; 2EE7;CJK RADICAL C-SIMPLIFIED SALT;So;0;ON;;;;;N;;;;; 2EE8;CJK RADICAL SIMPLIFIED WHEAT;So;0;ON;;;;;N;;;;; 2EE9;CJK RADICAL SIMPLIFIED YELLOW;So;0;ON;;;;;N;;;;; 2EEA;CJK RADICAL C-SIMPLIFIED FROG;So;0;ON;;;;;N;;;;; 2EEB;CJK RADICAL J-SIMPLIFIED EVEN;So;0;ON;;;;;N;;;;; 2EEC;CJK RADICAL C-SIMPLIFIED EVEN;So;0;ON;;;;;N;;;;; 2EED;CJK RADICAL J-SIMPLIFIED TOOTH;So;0;ON;;;;;N;;;;; 2EEE;CJK RADICAL C-SIMPLIFIED TOOTH;So;0;ON;;;;;N;;;;; 2EEF;CJK RADICAL J-SIMPLIFIED DRAGON;So;0;ON;;;;;N;;;;; 2EF0;CJK RADICAL C-SIMPLIFIED DRAGON;So;0;ON;;;;;N;;;;; 2EF1;CJK RADICAL TURTLE;So;0;ON;;;;;N;;;;; 2EF2;CJK RADICAL J-SIMPLIFIED TURTLE;So;0;ON;;;;;N;;;;; 2EF3;CJK RADICAL C-SIMPLIFIED TURTLE;So;0;ON; 9F9F;;;;N;;;;; 2F00;KANGXI RADICAL ONE;So;0;ON; 4E00;;;;N;;;;; 2F01;KANGXI RADICAL LINE;So;0;ON; 4E28;;;;N;;;;; 2F02;KANGXI RADICAL DOT;So;0;ON; 4E36;;;;N;;;;; 2F03;KANGXI RADICAL SLASH;So;0;ON; 4E3F;;;;N;;;;; 2F04;KANGXI RADICAL SECOND;So;0;ON; 4E59;;;;N;;;;; 2F05;KANGXI RADICAL HOOK;So;0;ON; 4E85;;;;N;;;;; 2F06;KANGXI RADICAL TWO;So;0;ON; 4E8C;;;;N;;;;; 2F07;KANGXI RADICAL LID;So;0;ON; 4EA0;;;;N;;;;; 2F08;KANGXI RADICAL MAN;So;0;ON; 4EBA;;;;N;;;;; 2F09;KANGXI RADICAL LEGS;So;0;ON; 513F;;;;N;;;;; 2F0A;KANGXI RADICAL ENTER;So;0;ON; 5165;;;;N;;;;; 2F0B;KANGXI RADICAL EIGHT;So;0;ON; 516B;;;;N;;;;; 2F0C;KANGXI RADICAL DOWN BOX;So;0;ON; 5182;;;;N;;;;; 2F0D;KANGXI RADICAL COVER;So;0;ON; 5196;;;;N;;;;; 2F0E;KANGXI RADICAL ICE;So;0;ON; 51AB;;;;N;;;;; 2F0F;KANGXI RADICAL TABLE;So;0;ON; 51E0;;;;N;;;;; 2F10;KANGXI RADICAL OPEN BOX;So;0;ON; 51F5;;;;N;;;;; 2F11;KANGXI RADICAL KNIFE;So;0;ON; 5200;;;;N;;;;; 2F12;KANGXI RADICAL POWER;So;0;ON; 529B;;;;N;;;;; 2F13;KANGXI RADICAL WRAP;So;0;ON; 52F9;;;;N;;;;; 2F14;KANGXI RADICAL SPOON;So;0;ON; 5315;;;;N;;;;; 2F15;KANGXI RADICAL RIGHT OPEN BOX;So;0;ON; 531A;;;;N;;;;; 2F16;KANGXI RADICAL HIDING ENCLOSURE;So;0;ON; 5338;;;;N;;;;; 2F17;KANGXI RADICAL TEN;So;0;ON; 5341;;;;N;;;;; 2F18;KANGXI RADICAL DIVINATION;So;0;ON; 535C;;;;N;;;;; 2F19;KANGXI RADICAL SEAL;So;0;ON; 5369;;;;N;;;;; 2F1A;KANGXI RADICAL CLIFF;So;0;ON; 5382;;;;N;;;;; 2F1B;KANGXI RADICAL PRIVATE;So;0;ON; 53B6;;;;N;;;;; 2F1C;KANGXI RADICAL AGAIN;So;0;ON; 53C8;;;;N;;;;; 2F1D;KANGXI RADICAL MOUTH;So;0;ON; 53E3;;;;N;;;;; 2F1E;KANGXI RADICAL ENCLOSURE;So;0;ON; 56D7;;;;N;;;;; 2F1F;KANGXI RADICAL EARTH;So;0;ON; 571F;;;;N;;;;; 2F20;KANGXI RADICAL SCHOLAR;So;0;ON; 58EB;;;;N;;;;; 2F21;KANGXI RADICAL GO;So;0;ON; 5902;;;;N;;;;; 2F22;KANGXI RADICAL GO SLOWLY;So;0;ON; 590A;;;;N;;;;; 2F23;KANGXI RADICAL EVENING;So;0;ON; 5915;;;;N;;;;; 2F24;KANGXI RADICAL BIG;So;0;ON; 5927;;;;N;;;;; 2F25;KANGXI RADICAL WOMAN;So;0;ON; 5973;;;;N;;;;; 2F26;KANGXI RADICAL CHILD;So;0;ON; 5B50;;;;N;;;;; 2F27;KANGXI RADICAL ROOF;So;0;ON; 5B80;;;;N;;;;; 2F28;KANGXI RADICAL INCH;So;0;ON; 5BF8;;;;N;;;;; 2F29;KANGXI RADICAL SMALL;So;0;ON; 5C0F;;;;N;;;;; 2F2A;KANGXI RADICAL LAME;So;0;ON; 5C22;;;;N;;;;; 2F2B;KANGXI RADICAL CORPSE;So;0;ON; 5C38;;;;N;;;;; 2F2C;KANGXI RADICAL SPROUT;So;0;ON; 5C6E;;;;N;;;;; 2F2D;KANGXI RADICAL MOUNTAIN;So;0;ON; 5C71;;;;N;;;;; 2F2E;KANGXI RADICAL RIVER;So;0;ON; 5DDB;;;;N;;;;; 2F2F;KANGXI RADICAL WORK;So;0;ON; 5DE5;;;;N;;;;; 2F30;KANGXI RADICAL ONESELF;So;0;ON; 5DF1;;;;N;;;;; 2F31;KANGXI RADICAL TURBAN;So;0;ON; 5DFE;;;;N;;;;; 2F32;KANGXI RADICAL DRY;So;0;ON; 5E72;;;;N;;;;; 2F33;KANGXI RADICAL SHORT THREAD;So;0;ON; 5E7A;;;;N;;;;; 2F34;KANGXI RADICAL DOTTED CLIFF;So;0;ON; 5E7F;;;;N;;;;; 2F35;KANGXI RADICAL LONG STRIDE;So;0;ON; 5EF4;;;;N;;;;; 2F36;KANGXI RADICAL TWO HANDS;So;0;ON; 5EFE;;;;N;;;;; 2F37;KANGXI RADICAL SHOOT;So;0;ON; 5F0B;;;;N;;;;; 2F38;KANGXI RADICAL BOW;So;0;ON; 5F13;;;;N;;;;; 2F39;KANGXI RADICAL SNOUT;So;0;ON; 5F50;;;;N;;;;; 2F3A;KANGXI RADICAL BRISTLE;So;0;ON; 5F61;;;;N;;;;; 2F3B;KANGXI RADICAL STEP;So;0;ON; 5F73;;;;N;;;;; 2F3C;KANGXI RADICAL HEART;So;0;ON; 5FC3;;;;N;;;;; 2F3D;KANGXI RADICAL HALBERD;So;0;ON; 6208;;;;N;;;;; 2F3E;KANGXI RADICAL DOOR;So;0;ON; 6236;;;;N;;;;; 2F3F;KANGXI RADICAL HAND;So;0;ON; 624B;;;;N;;;;; 2F40;KANGXI RADICAL BRANCH;So;0;ON; 652F;;;;N;;;;; 2F41;KANGXI RADICAL RAP;So;0;ON; 6534;;;;N;;;;; 2F42;KANGXI RADICAL SCRIPT;So;0;ON; 6587;;;;N;;;;; 2F43;KANGXI RADICAL DIPPER;So;0;ON; 6597;;;;N;;;;; 2F44;KANGXI RADICAL AXE;So;0;ON; 65A4;;;;N;;;;; 2F45;KANGXI RADICAL SQUARE;So;0;ON; 65B9;;;;N;;;;; 2F46;KANGXI RADICAL NOT;So;0;ON; 65E0;;;;N;;;;; 2F47;KANGXI RADICAL SUN;So;0;ON; 65E5;;;;N;;;;; 2F48;KANGXI RADICAL SAY;So;0;ON; 66F0;;;;N;;;;; 2F49;KANGXI RADICAL MOON;So;0;ON; 6708;;;;N;;;;; 2F4A;KANGXI RADICAL TREE;So;0;ON; 6728;;;;N;;;;; 2F4B;KANGXI RADICAL LACK;So;0;ON; 6B20;;;;N;;;;; 2F4C;KANGXI RADICAL STOP;So;0;ON; 6B62;;;;N;;;;; 2F4D;KANGXI RADICAL DEATH;So;0;ON; 6B79;;;;N;;;;; 2F4E;KANGXI RADICAL WEAPON;So;0;ON; 6BB3;;;;N;;;;; 2F4F;KANGXI RADICAL DO NOT;So;0;ON; 6BCB;;;;N;;;;; 2F50;KANGXI RADICAL COMPARE;So;0;ON; 6BD4;;;;N;;;;; 2F51;KANGXI RADICAL FUR;So;0;ON; 6BDB;;;;N;;;;; 2F52;KANGXI RADICAL CLAN;So;0;ON; 6C0F;;;;N;;;;; 2F53;KANGXI RADICAL STEAM;So;0;ON; 6C14;;;;N;;;;; 2F54;KANGXI RADICAL WATER;So;0;ON; 6C34;;;;N;;;;; 2F55;KANGXI RADICAL FIRE;So;0;ON; 706B;;;;N;;;;; 2F56;KANGXI RADICAL CLAW;So;0;ON; 722A;;;;N;;;;; 2F57;KANGXI RADICAL FATHER;So;0;ON; 7236;;;;N;;;;; 2F58;KANGXI RADICAL DOUBLE X;So;0;ON; 723B;;;;N;;;;; 2F59;KANGXI RADICAL HALF TREE TRUNK;So;0;ON; 723F;;;;N;;;;; 2F5A;KANGXI RADICAL SLICE;So;0;ON; 7247;;;;N;;;;; 2F5B;KANGXI RADICAL FANG;So;0;ON; 7259;;;;N;;;;; 2F5C;KANGXI RADICAL COW;So;0;ON; 725B;;;;N;;;;; 2F5D;KANGXI RADICAL DOG;So;0;ON; 72AC;;;;N;;;;; 2F5E;KANGXI RADICAL PROFOUND;So;0;ON; 7384;;;;N;;;;; 2F5F;KANGXI RADICAL JADE;So;0;ON; 7389;;;;N;;;;; 2F60;KANGXI RADICAL MELON;So;0;ON; 74DC;;;;N;;;;; 2F61;KANGXI RADICAL TILE;So;0;ON; 74E6;;;;N;;;;; 2F62;KANGXI RADICAL SWEET;So;0;ON; 7518;;;;N;;;;; 2F63;KANGXI RADICAL LIFE;So;0;ON; 751F;;;;N;;;;; 2F64;KANGXI RADICAL USE;So;0;ON; 7528;;;;N;;;;; 2F65;KANGXI RADICAL FIELD;So;0;ON; 7530;;;;N;;;;; 2F66;KANGXI RADICAL BOLT OF CLOTH;So;0;ON; 758B;;;;N;;;;; 2F67;KANGXI RADICAL SICKNESS;So;0;ON; 7592;;;;N;;;;; 2F68;KANGXI RADICAL DOTTED TENT;So;0;ON; 7676;;;;N;;;;; 2F69;KANGXI RADICAL WHITE;So;0;ON; 767D;;;;N;;;;; 2F6A;KANGXI RADICAL SKIN;So;0;ON; 76AE;;;;N;;;;; 2F6B;KANGXI RADICAL DISH;So;0;ON; 76BF;;;;N;;;;; 2F6C;KANGXI RADICAL EYE;So;0;ON; 76EE;;;;N;;;;; 2F6D;KANGXI RADICAL SPEAR;So;0;ON; 77DB;;;;N;;;;; 2F6E;KANGXI RADICAL ARROW;So;0;ON; 77E2;;;;N;;;;; 2F6F;KANGXI RADICAL STONE;So;0;ON; 77F3;;;;N;;;;; 2F70;KANGXI RADICAL SPIRIT;So;0;ON; 793A;;;;N;;;;; 2F71;KANGXI RADICAL TRACK;So;0;ON; 79B8;;;;N;;;;; 2F72;KANGXI RADICAL GRAIN;So;0;ON; 79BE;;;;N;;;;; 2F73;KANGXI RADICAL CAVE;So;0;ON; 7A74;;;;N;;;;; 2F74;KANGXI RADICAL STAND;So;0;ON; 7ACB;;;;N;;;;; 2F75;KANGXI RADICAL BAMBOO;So;0;ON; 7AF9;;;;N;;;;; 2F76;KANGXI RADICAL RICE;So;0;ON; 7C73;;;;N;;;;; 2F77;KANGXI RADICAL SILK;So;0;ON; 7CF8;;;;N;;;;; 2F78;KANGXI RADICAL JAR;So;0;ON; 7F36;;;;N;;;;; 2F79;KANGXI RADICAL NET;So;0;ON; 7F51;;;;N;;;;; 2F7A;KANGXI RADICAL SHEEP;So;0;ON; 7F8A;;;;N;;;;; 2F7B;KANGXI RADICAL FEATHER;So;0;ON; 7FBD;;;;N;;;;; 2F7C;KANGXI RADICAL OLD;So;0;ON; 8001;;;;N;;;;; 2F7D;KANGXI RADICAL AND;So;0;ON; 800C;;;;N;;;;; 2F7E;KANGXI RADICAL PLOW;So;0;ON; 8012;;;;N;;;;; 2F7F;KANGXI RADICAL EAR;So;0;ON; 8033;;;;N;;;;; 2F80;KANGXI RADICAL BRUSH;So;0;ON; 807F;;;;N;;;;; 2F81;KANGXI RADICAL MEAT;So;0;ON; 8089;;;;N;;;;; 2F82;KANGXI RADICAL MINISTER;So;0;ON; 81E3;;;;N;;;;; 2F83;KANGXI RADICAL SELF;So;0;ON; 81EA;;;;N;;;;; 2F84;KANGXI RADICAL ARRIVE;So;0;ON; 81F3;;;;N;;;;; 2F85;KANGXI RADICAL MORTAR;So;0;ON; 81FC;;;;N;;;;; 2F86;KANGXI RADICAL TONGUE;So;0;ON; 820C;;;;N;;;;; 2F87;KANGXI RADICAL OPPOSE;So;0;ON; 821B;;;;N;;;;; 2F88;KANGXI RADICAL BOAT;So;0;ON; 821F;;;;N;;;;; 2F89;KANGXI RADICAL STOPPING;So;0;ON; 826E;;;;N;;;;; 2F8A;KANGXI RADICAL COLOR;So;0;ON; 8272;;;;N;;;;; 2F8B;KANGXI RADICAL GRASS;So;0;ON; 8278;;;;N;;;;; 2F8C;KANGXI RADICAL TIGER;So;0;ON; 864D;;;;N;;;;; 2F8D;KANGXI RADICAL INSECT;So;0;ON; 866B;;;;N;;;;; 2F8E;KANGXI RADICAL BLOOD;So;0;ON; 8840;;;;N;;;;; 2F8F;KANGXI RADICAL WALK ENCLOSURE;So;0;ON; 884C;;;;N;;;;; 2F90;KANGXI RADICAL CLOTHES;So;0;ON; 8863;;;;N;;;;; 2F91;KANGXI RADICAL WEST;So;0;ON; 897E;;;;N;;;;; 2F92;KANGXI RADICAL SEE;So;0;ON; 898B;;;;N;;;;; 2F93;KANGXI RADICAL HORN;So;0;ON; 89D2;;;;N;;;;; 2F94;KANGXI RADICAL SPEECH;So;0;ON; 8A00;;;;N;;;;; 2F95;KANGXI RADICAL VALLEY;So;0;ON; 8C37;;;;N;;;;; 2F96;KANGXI RADICAL BEAN;So;0;ON; 8C46;;;;N;;;;; 2F97;KANGXI RADICAL PIG;So;0;ON; 8C55;;;;N;;;;; 2F98;KANGXI RADICAL BADGER;So;0;ON; 8C78;;;;N;;;;; 2F99;KANGXI RADICAL SHELL;So;0;ON; 8C9D;;;;N;;;;; 2F9A;KANGXI RADICAL RED;So;0;ON; 8D64;;;;N;;;;; 2F9B;KANGXI RADICAL RUN;So;0;ON; 8D70;;;;N;;;;; 2F9C;KANGXI RADICAL FOOT;So;0;ON; 8DB3;;;;N;;;;; 2F9D;KANGXI RADICAL BODY;So;0;ON; 8EAB;;;;N;;;;; 2F9E;KANGXI RADICAL CART;So;0;ON; 8ECA;;;;N;;;;; 2F9F;KANGXI RADICAL BITTER;So;0;ON; 8F9B;;;;N;;;;; 2FA0;KANGXI RADICAL MORNING;So;0;ON; 8FB0;;;;N;;;;; 2FA1;KANGXI RADICAL WALK;So;0;ON; 8FB5;;;;N;;;;; 2FA2;KANGXI RADICAL CITY;So;0;ON; 9091;;;;N;;;;; 2FA3;KANGXI RADICAL WINE;So;0;ON; 9149;;;;N;;;;; 2FA4;KANGXI RADICAL DISTINGUISH;So;0;ON; 91C6;;;;N;;;;; 2FA5;KANGXI RADICAL VILLAGE;So;0;ON; 91CC;;;;N;;;;; 2FA6;KANGXI RADICAL GOLD;So;0;ON; 91D1;;;;N;;;;; 2FA7;KANGXI RADICAL LONG;So;0;ON; 9577;;;;N;;;;; 2FA8;KANGXI RADICAL GATE;So;0;ON; 9580;;;;N;;;;; 2FA9;KANGXI RADICAL MOUND;So;0;ON; 961C;;;;N;;;;; 2FAA;KANGXI RADICAL SLAVE;So;0;ON; 96B6;;;;N;;;;; 2FAB;KANGXI RADICAL SHORT TAILED BIRD;So;0;ON; 96B9;;;;N;;;;; 2FAC;KANGXI RADICAL RAIN;So;0;ON; 96E8;;;;N;;;;; 2FAD;KANGXI RADICAL BLUE;So;0;ON; 9751;;;;N;;;;; 2FAE;KANGXI RADICAL WRONG;So;0;ON; 975E;;;;N;;;;; 2FAF;KANGXI RADICAL FACE;So;0;ON; 9762;;;;N;;;;; 2FB0;KANGXI RADICAL LEATHER;So;0;ON; 9769;;;;N;;;;; 2FB1;KANGXI RADICAL TANNED LEATHER;So;0;ON; 97CB;;;;N;;;;; 2FB2;KANGXI RADICAL LEEK;So;0;ON; 97ED;;;;N;;;;; 2FB3;KANGXI RADICAL SOUND;So;0;ON; 97F3;;;;N;;;;; 2FB4;KANGXI RADICAL LEAF;So;0;ON; 9801;;;;N;;;;; 2FB5;KANGXI RADICAL WIND;So;0;ON; 98A8;;;;N;;;;; 2FB6;KANGXI RADICAL FLY;So;0;ON; 98DB;;;;N;;;;; 2FB7;KANGXI RADICAL EAT;So;0;ON; 98DF;;;;N;;;;; 2FB8;KANGXI RADICAL HEAD;So;0;ON; 9996;;;;N;;;;; 2FB9;KANGXI RADICAL FRAGRANT;So;0;ON; 9999;;;;N;;;;; 2FBA;KANGXI RADICAL HORSE;So;0;ON; 99AC;;;;N;;;;; 2FBB;KANGXI RADICAL BONE;So;0;ON; 9AA8;;;;N;;;;; 2FBC;KANGXI RADICAL TALL;So;0;ON; 9AD8;;;;N;;;;; 2FBD;KANGXI RADICAL HAIR;So;0;ON; 9ADF;;;;N;;;;; 2FBE;KANGXI RADICAL FIGHT;So;0;ON; 9B25;;;;N;;;;; 2FBF;KANGXI RADICAL SACRIFICIAL WINE;So;0;ON; 9B2F;;;;N;;;;; 2FC0;KANGXI RADICAL CAULDRON;So;0;ON; 9B32;;;;N;;;;; 2FC1;KANGXI RADICAL GHOST;So;0;ON; 9B3C;;;;N;;;;; 2FC2;KANGXI RADICAL FISH;So;0;ON; 9B5A;;;;N;;;;; 2FC3;KANGXI RADICAL BIRD;So;0;ON; 9CE5;;;;N;;;;; 2FC4;KANGXI RADICAL SALT;So;0;ON; 9E75;;;;N;;;;; 2FC5;KANGXI RADICAL DEER;So;0;ON; 9E7F;;;;N;;;;; 2FC6;KANGXI RADICAL WHEAT;So;0;ON; 9EA5;;;;N;;;;; 2FC7;KANGXI RADICAL HEMP;So;0;ON; 9EBB;;;;N;;;;; 2FC8;KANGXI RADICAL YELLOW;So;0;ON; 9EC3;;;;N;;;;; 2FC9;KANGXI RADICAL MILLET;So;0;ON; 9ECD;;;;N;;;;; 2FCA;KANGXI RADICAL BLACK;So;0;ON; 9ED1;;;;N;;;;; 2FCB;KANGXI RADICAL EMBROIDERY;So;0;ON; 9EF9;;;;N;;;;; 2FCC;KANGXI RADICAL FROG;So;0;ON; 9EFD;;;;N;;;;; 2FCD;KANGXI RADICAL TRIPOD;So;0;ON; 9F0E;;;;N;;;;; 2FCE;KANGXI RADICAL DRUM;So;0;ON; 9F13;;;;N;;;;; 2FCF;KANGXI RADICAL RAT;So;0;ON; 9F20;;;;N;;;;; 2FD0;KANGXI RADICAL NOSE;So;0;ON; 9F3B;;;;N;;;;; 2FD1;KANGXI RADICAL EVEN;So;0;ON; 9F4A;;;;N;;;;; 2FD2;KANGXI RADICAL TOOTH;So;0;ON; 9F52;;;;N;;;;; 2FD3;KANGXI RADICAL DRAGON;So;0;ON; 9F8D;;;;N;;;;; 2FD4;KANGXI RADICAL TURTLE;So;0;ON; 9F9C;;;;N;;;;; 2FD5;KANGXI RADICAL FLUTE;So;0;ON; 9FA0;;;;N;;;;; 2FF0;IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT;So;0;ON;;;;;N;;;;; 2FF1;IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO BELOW;So;0;ON;;;;;N;;;;; 2FF2;IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO MIDDLE AND RIGHT;So;0;ON;;;;;N;;;;; 2FF3;IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO MIDDLE AND BELOW;So;0;ON;;;;;N;;;;; 2FF4;IDEOGRAPHIC DESCRIPTION CHARACTER FULL SURROUND;So;0;ON;;;;;N;;;;; 2FF5;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM ABOVE;So;0;ON;;;;;N;;;;; 2FF6;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM BELOW;So;0;ON;;;;;N;;;;; 2FF7;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LEFT;So;0;ON;;;;;N;;;;; 2FF8;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER LEFT;So;0;ON;;;;;N;;;;; 2FF9;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER RIGHT;So;0;ON;;;;;N;;;;; 2FFA;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER LEFT;So;0;ON;;;;;N;;;;; 2FFB;IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID;So;0;ON;;;;;N;;;;; 3000;IDEOGRAPHIC SPACE;Zs;0;WS; 0020;;;;N;;;;; 3001;IDEOGRAPHIC COMMA;Po;0;ON;;;;;N;;;;; 3002;IDEOGRAPHIC FULL STOP;Po;0;ON;;;;;N;IDEOGRAPHIC PERIOD;;;; 3003;DITTO MARK;Po;0;ON;;;;;N;;;;; 3004;JAPANESE INDUSTRIAL STANDARD SYMBOL;So;0;ON;;;;;N;;;;; 3005;IDEOGRAPHIC ITERATION MARK;Lm;0;L;;;;;N;;;;; 3006;IDEOGRAPHIC CLOSING MARK;Lo;0;L;;;;;N;;;;; 3007;IDEOGRAPHIC NUMBER ZERO;Nl;0;L;;;;0;N;;;;; 3008;LEFT ANGLE BRACKET;Ps;0;ON;;;;;Y;OPENING ANGLE BRACKET;;;; 3009;RIGHT ANGLE BRACKET;Pe;0;ON;;;;;Y;CLOSING ANGLE BRACKET;;;; 300A;LEFT DOUBLE ANGLE BRACKET;Ps;0;ON;;;;;Y;OPENING DOUBLE ANGLE BRACKET;;;; 300B;RIGHT DOUBLE ANGLE BRACKET;Pe;0;ON;;;;;Y;CLOSING DOUBLE ANGLE BRACKET;;;; 300C;LEFT CORNER BRACKET;Ps;0;ON;;;;;Y;OPENING CORNER BRACKET;;;; 300D;RIGHT CORNER BRACKET;Pe;0;ON;;;;;Y;CLOSING CORNER BRACKET;;;; 300E;LEFT WHITE CORNER BRACKET;Ps;0;ON;;;;;Y;OPENING WHITE CORNER BRACKET;;;; 300F;RIGHT WHITE CORNER BRACKET;Pe;0;ON;;;;;Y;CLOSING WHITE CORNER BRACKET;;;; 3010;LEFT BLACK LENTICULAR BRACKET;Ps;0;ON;;;;;Y;OPENING BLACK LENTICULAR BRACKET;;;; 3011;RIGHT BLACK LENTICULAR BRACKET;Pe;0;ON;;;;;Y;CLOSING BLACK LENTICULAR BRACKET;;;; 3012;POSTAL MARK;So;0;ON;;;;;N;;;;; 3013;GETA MARK;So;0;ON;;;;;N;;;;; 3014;LEFT TORTOISE SHELL BRACKET;Ps;0;ON;;;;;Y;OPENING TORTOISE SHELL BRACKET;;;; 3015;RIGHT TORTOISE SHELL BRACKET;Pe;0;ON;;;;;Y;CLOSING TORTOISE SHELL BRACKET;;;; 3016;LEFT WHITE LENTICULAR BRACKET;Ps;0;ON;;;;;Y;OPENING WHITE LENTICULAR BRACKET;;;; 3017;RIGHT WHITE LENTICULAR BRACKET;Pe;0;ON;;;;;Y;CLOSING WHITE LENTICULAR BRACKET;;;; 3018;LEFT WHITE TORTOISE SHELL BRACKET;Ps;0;ON;;;;;Y;OPENING WHITE TORTOISE SHELL BRACKET;;;; 3019;RIGHT WHITE TORTOISE SHELL BRACKET;Pe;0;ON;;;;;Y;CLOSING WHITE TORTOISE SHELL BRACKET;;;; 301A;LEFT WHITE SQUARE BRACKET;Ps;0;ON;;;;;Y;OPENING WHITE SQUARE BRACKET;;;; 301B;RIGHT WHITE SQUARE BRACKET;Pe;0;ON;;;;;Y;CLOSING WHITE SQUARE BRACKET;;;; 301C;WAVE DASH;Pd;0;ON;;;;;N;;;;; 301D;REVERSED DOUBLE PRIME QUOTATION MARK;Ps;0;ON;;;;;N;;;;; 301E;DOUBLE PRIME QUOTATION MARK;Pe;0;ON;;;;;N;;;;; 301F;LOW DOUBLE PRIME QUOTATION MARK;Pe;0;ON;;;;;N;;;;; 3020;POSTAL MARK FACE;So;0;ON;;;;;N;;;;; 3021;HANGZHOU NUMERAL ONE;Nl;0;L;;;;1;N;;;;; 3022;HANGZHOU NUMERAL TWO;Nl;0;L;;;;2;N;;;;; 3023;HANGZHOU NUMERAL THREE;Nl;0;L;;;;3;N;;;;; 3024;HANGZHOU NUMERAL FOUR;Nl;0;L;;;;4;N;;;;; 3025;HANGZHOU NUMERAL FIVE;Nl;0;L;;;;5;N;;;;; 3026;HANGZHOU NUMERAL SIX;Nl;0;L;;;;6;N;;;;; 3027;HANGZHOU NUMERAL SEVEN;Nl;0;L;;;;7;N;;;;; 3028;HANGZHOU NUMERAL EIGHT;Nl;0;L;;;;8;N;;;;; 3029;HANGZHOU NUMERAL NINE;Nl;0;L;;;;9;N;;;;; 302A;IDEOGRAPHIC LEVEL TONE MARK;Mn;218;NSM;;;;;N;;;;; 302B;IDEOGRAPHIC RISING TONE MARK;Mn;228;NSM;;;;;N;;;;; 302C;IDEOGRAPHIC DEPARTING TONE MARK;Mn;232;NSM;;;;;N;;;;; 302D;IDEOGRAPHIC ENTERING TONE MARK;Mn;222;NSM;;;;;N;;;;; 302E;HANGUL SINGLE DOT TONE MARK;Mn;224;NSM;;;;;N;;;;; 302F;HANGUL DOUBLE DOT TONE MARK;Mn;224;NSM;;;;;N;;;;; 3030;WAVY DASH;Pd;0;ON;;;;;N;;;;; 3031;VERTICAL KANA REPEAT MARK;Lm;0;L;;;;;N;;;;; 3032;VERTICAL KANA REPEAT WITH VOICED SOUND MARK;Lm;0;L;;;;;N;;;;; 3033;VERTICAL KANA REPEAT MARK UPPER HALF;Lm;0;L;;;;;N;;;;; 3034;VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF;Lm;0;L;;;;;N;;;;; 3035;VERTICAL KANA REPEAT MARK LOWER HALF;Lm;0;L;;;;;N;;;;; 3036;CIRCLED POSTAL MARK;So;0;ON; 3012;;;;N;;;;; 3037;IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL;So;0;ON;;;;;N;;;;; 3038;HANGZHOU NUMERAL TEN;Nl;0;L; 5341;;;10;N;;;;; 3039;HANGZHOU NUMERAL TWENTY;Nl;0;L; 5344;;;20;N;;;;; 303A;HANGZHOU NUMERAL THIRTY;Nl;0;L; 5345;;;30;N;;;;; 303E;IDEOGRAPHIC VARIATION INDICATOR;So;0;ON;;;;;N;;;;; 303F;IDEOGRAPHIC HALF FILL SPACE;So;0;ON;;;;;N;;;;; 3041;HIRAGANA LETTER SMALL A;Lo;0;L;;;;;N;;;;; 3042;HIRAGANA LETTER A;Lo;0;L;;;;;N;;;;; 3043;HIRAGANA LETTER SMALL I;Lo;0;L;;;;;N;;;;; 3044;HIRAGANA LETTER I;Lo;0;L;;;;;N;;;;; 3045;HIRAGANA LETTER SMALL U;Lo;0;L;;;;;N;;;;; 3046;HIRAGANA LETTER U;Lo;0;L;;;;;N;;;;; 3047;HIRAGANA LETTER SMALL E;Lo;0;L;;;;;N;;;;; 3048;HIRAGANA LETTER E;Lo;0;L;;;;;N;;;;; 3049;HIRAGANA LETTER SMALL O;Lo;0;L;;;;;N;;;;; 304A;HIRAGANA LETTER O;Lo;0;L;;;;;N;;;;; 304B;HIRAGANA LETTER KA;Lo;0;L;;;;;N;;;;; 304C;HIRAGANA LETTER GA;Lo;0;L;304B 3099;;;;N;;;;; 304D;HIRAGANA LETTER KI;Lo;0;L;;;;;N;;;;; 304E;HIRAGANA LETTER GI;Lo;0;L;304D 3099;;;;N;;;;; 304F;HIRAGANA LETTER KU;Lo;0;L;;;;;N;;;;; 3050;HIRAGANA LETTER GU;Lo;0;L;304F 3099;;;;N;;;;; 3051;HIRAGANA LETTER KE;Lo;0;L;;;;;N;;;;; 3052;HIRAGANA LETTER GE;Lo;0;L;3051 3099;;;;N;;;;; 3053;HIRAGANA LETTER KO;Lo;0;L;;;;;N;;;;; 3054;HIRAGANA LETTER GO;Lo;0;L;3053 3099;;;;N;;;;; 3055;HIRAGANA LETTER SA;Lo;0;L;;;;;N;;;;; 3056;HIRAGANA LETTER ZA;Lo;0;L;3055 3099;;;;N;;;;; 3057;HIRAGANA LETTER SI;Lo;0;L;;;;;N;;;;; 3058;HIRAGANA LETTER ZI;Lo;0;L;3057 3099;;;;N;;;;; 3059;HIRAGANA LETTER SU;Lo;0;L;;;;;N;;;;; 305A;HIRAGANA LETTER ZU;Lo;0;L;3059 3099;;;;N;;;;; 305B;HIRAGANA LETTER SE;Lo;0;L;;;;;N;;;;; 305C;HIRAGANA LETTER ZE;Lo;0;L;305B 3099;;;;N;;;;; 305D;HIRAGANA LETTER SO;Lo;0;L;;;;;N;;;;; 305E;HIRAGANA LETTER ZO;Lo;0;L;305D 3099;;;;N;;;;; 305F;HIRAGANA LETTER TA;Lo;0;L;;;;;N;;;;; 3060;HIRAGANA LETTER DA;Lo;0;L;305F 3099;;;;N;;;;; 3061;HIRAGANA LETTER TI;Lo;0;L;;;;;N;;;;; 3062;HIRAGANA LETTER DI;Lo;0;L;3061 3099;;;;N;;;;; 3063;HIRAGANA LETTER SMALL TU;Lo;0;L;;;;;N;;;;; 3064;HIRAGANA LETTER TU;Lo;0;L;;;;;N;;;;; 3065;HIRAGANA LETTER DU;Lo;0;L;3064 3099;;;;N;;;;; 3066;HIRAGANA LETTER TE;Lo;0;L;;;;;N;;;;; 3067;HIRAGANA LETTER DE;Lo;0;L;3066 3099;;;;N;;;;; 3068;HIRAGANA LETTER TO;Lo;0;L;;;;;N;;;;; 3069;HIRAGANA LETTER DO;Lo;0;L;3068 3099;;;;N;;;;; 306A;HIRAGANA LETTER NA;Lo;0;L;;;;;N;;;;; 306B;HIRAGANA LETTER NI;Lo;0;L;;;;;N;;;;; 306C;HIRAGANA LETTER NU;Lo;0;L;;;;;N;;;;; 306D;HIRAGANA LETTER NE;Lo;0;L;;;;;N;;;;; 306E;HIRAGANA LETTER NO;Lo;0;L;;;;;N;;;;; 306F;HIRAGANA LETTER HA;Lo;0;L;;;;;N;;;;; 3070;HIRAGANA LETTER BA;Lo;0;L;306F 3099;;;;N;;;;; 3071;HIRAGANA LETTER PA;Lo;0;L;306F 309A;;;;N;;;;; 3072;HIRAGANA LETTER HI;Lo;0;L;;;;;N;;;;; 3073;HIRAGANA LETTER BI;Lo;0;L;3072 3099;;;;N;;;;; 3074;HIRAGANA LETTER PI;Lo;0;L;3072 309A;;;;N;;;;; 3075;HIRAGANA LETTER HU;Lo;0;L;;;;;N;;;;; 3076;HIRAGANA LETTER BU;Lo;0;L;3075 3099;;;;N;;;;; 3077;HIRAGANA LETTER PU;Lo;0;L;3075 309A;;;;N;;;;; 3078;HIRAGANA LETTER HE;Lo;0;L;;;;;N;;;;; 3079;HIRAGANA LETTER BE;Lo;0;L;3078 3099;;;;N;;;;; 307A;HIRAGANA LETTER PE;Lo;0;L;3078 309A;;;;N;;;;; 307B;HIRAGANA LETTER HO;Lo;0;L;;;;;N;;;;; 307C;HIRAGANA LETTER BO;Lo;0;L;307B 3099;;;;N;;;;; 307D;HIRAGANA LETTER PO;Lo;0;L;307B 309A;;;;N;;;;; 307E;HIRAGANA LETTER MA;Lo;0;L;;;;;N;;;;; 307F;HIRAGANA LETTER MI;Lo;0;L;;;;;N;;;;; 3080;HIRAGANA LETTER MU;Lo;0;L;;;;;N;;;;; 3081;HIRAGANA LETTER ME;Lo;0;L;;;;;N;;;;; 3082;HIRAGANA LETTER MO;Lo;0;L;;;;;N;;;;; 3083;HIRAGANA LETTER SMALL YA;Lo;0;L;;;;;N;;;;; 3084;HIRAGANA LETTER YA;Lo;0;L;;;;;N;;;;; 3085;HIRAGANA LETTER SMALL YU;Lo;0;L;;;;;N;;;;; 3086;HIRAGANA LETTER YU;Lo;0;L;;;;;N;;;;; 3087;HIRAGANA LETTER SMALL YO;Lo;0;L;;;;;N;;;;; 3088;HIRAGANA LETTER YO;Lo;0;L;;;;;N;;;;; 3089;HIRAGANA LETTER RA;Lo;0;L;;;;;N;;;;; 308A;HIRAGANA LETTER RI;Lo;0;L;;;;;N;;;;; 308B;HIRAGANA LETTER RU;Lo;0;L;;;;;N;;;;; 308C;HIRAGANA LETTER RE;Lo;0;L;;;;;N;;;;; 308D;HIRAGANA LETTER RO;Lo;0;L;;;;;N;;;;; 308E;HIRAGANA LETTER SMALL WA;Lo;0;L;;;;;N;;;;; 308F;HIRAGANA LETTER WA;Lo;0;L;;;;;N;;;;; 3090;HIRAGANA LETTER WI;Lo;0;L;;;;;N;;;;; 3091;HIRAGANA LETTER WE;Lo;0;L;;;;;N;;;;; 3092;HIRAGANA LETTER WO;Lo;0;L;;;;;N;;;;; 3093;HIRAGANA LETTER N;Lo;0;L;;;;;N;;;;; 3094;HIRAGANA LETTER VU;Lo;0;L;3046 3099;;;;N;;;;; 3099;COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK;Mn;8;NSM;;;;;N;NON-SPACING KATAKANA-HIRAGANA VOICED SOUND MARK;;;; 309A;COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK;Mn;8;NSM;;;;;N;NON-SPACING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK;;;; 309B;KATAKANA-HIRAGANA VOICED SOUND MARK;Sk;0;ON; 0020 3099;;;;N;;;;; 309C;KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK;Sk;0;ON; 0020 309A;;;;N;;;;; 309D;HIRAGANA ITERATION MARK;Lm;0;L;;;;;N;;;;; 309E;HIRAGANA VOICED ITERATION MARK;Lm;0;L;309D 3099;;;;N;;;;; 30A1;KATAKANA LETTER SMALL A;Lo;0;L;;;;;N;;;;; 30A2;KATAKANA LETTER A;Lo;0;L;;;;;N;;;;; 30A3;KATAKANA LETTER SMALL I;Lo;0;L;;;;;N;;;;; 30A4;KATAKANA LETTER I;Lo;0;L;;;;;N;;;;; 30A5;KATAKANA LETTER SMALL U;Lo;0;L;;;;;N;;;;; 30A6;KATAKANA LETTER U;Lo;0;L;;;;;N;;;;; 30A7;KATAKANA LETTER SMALL E;Lo;0;L;;;;;N;;;;; 30A8;KATAKANA LETTER E;Lo;0;L;;;;;N;;;;; 30A9;KATAKANA LETTER SMALL O;Lo;0;L;;;;;N;;;;; 30AA;KATAKANA LETTER O;Lo;0;L;;;;;N;;;;; 30AB;KATAKANA LETTER KA;Lo;0;L;;;;;N;;;;; 30AC;KATAKANA LETTER GA;Lo;0;L;30AB 3099;;;;N;;;;; 30AD;KATAKANA LETTER KI;Lo;0;L;;;;;N;;;;; 30AE;KATAKANA LETTER GI;Lo;0;L;30AD 3099;;;;N;;;;; 30AF;KATAKANA LETTER KU;Lo;0;L;;;;;N;;;;; 30B0;KATAKANA LETTER GU;Lo;0;L;30AF 3099;;;;N;;;;; 30B1;KATAKANA LETTER KE;Lo;0;L;;;;;N;;;;; 30B2;KATAKANA LETTER GE;Lo;0;L;30B1 3099;;;;N;;;;; 30B3;KATAKANA LETTER KO;Lo;0;L;;;;;N;;;;; 30B4;KATAKANA LETTER GO;Lo;0;L;30B3 3099;;;;N;;;;; 30B5;KATAKANA LETTER SA;Lo;0;L;;;;;N;;;;; 30B6;KATAKANA LETTER ZA;Lo;0;L;30B5 3099;;;;N;;;;; 30B7;KATAKANA LETTER SI;Lo;0;L;;;;;N;;;;; 30B8;KATAKANA LETTER ZI;Lo;0;L;30B7 3099;;;;N;;;;; 30B9;KATAKANA LETTER SU;Lo;0;L;;;;;N;;;;; 30BA;KATAKANA LETTER ZU;Lo;0;L;30B9 3099;;;;N;;;;; 30BB;KATAKANA LETTER SE;Lo;0;L;;;;;N;;;;; 30BC;KATAKANA LETTER ZE;Lo;0;L;30BB 3099;;;;N;;;;; 30BD;KATAKANA LETTER SO;Lo;0;L;;;;;N;;;;; 30BE;KATAKANA LETTER ZO;Lo;0;L;30BD 3099;;;;N;;;;; 30BF;KATAKANA LETTER TA;Lo;0;L;;;;;N;;;;; 30C0;KATAKANA LETTER DA;Lo;0;L;30BF 3099;;;;N;;;;; 30C1;KATAKANA LETTER TI;Lo;0;L;;;;;N;;;;; 30C2;KATAKANA LETTER DI;Lo;0;L;30C1 3099;;;;N;;;;; 30C3;KATAKANA LETTER SMALL TU;Lo;0;L;;;;;N;;;;; 30C4;KATAKANA LETTER TU;Lo;0;L;;;;;N;;;;; 30C5;KATAKANA LETTER DU;Lo;0;L;30C4 3099;;;;N;;;;; 30C6;KATAKANA LETTER TE;Lo;0;L;;;;;N;;;;; 30C7;KATAKANA LETTER DE;Lo;0;L;30C6 3099;;;;N;;;;; 30C8;KATAKANA LETTER TO;Lo;0;L;;;;;N;;;;; 30C9;KATAKANA LETTER DO;Lo;0;L;30C8 3099;;;;N;;;;; 30CA;KATAKANA LETTER NA;Lo;0;L;;;;;N;;;;; 30CB;KATAKANA LETTER NI;Lo;0;L;;;;;N;;;;; 30CC;KATAKANA LETTER NU;Lo;0;L;;;;;N;;;;; 30CD;KATAKANA LETTER NE;Lo;0;L;;;;;N;;;;; 30CE;KATAKANA LETTER NO;Lo;0;L;;;;;N;;;;; 30CF;KATAKANA LETTER HA;Lo;0;L;;;;;N;;;;; 30D0;KATAKANA LETTER BA;Lo;0;L;30CF 3099;;;;N;;;;; 30D1;KATAKANA LETTER PA;Lo;0;L;30CF 309A;;;;N;;;;; 30D2;KATAKANA LETTER HI;Lo;0;L;;;;;N;;;;; 30D3;KATAKANA LETTER BI;Lo;0;L;30D2 3099;;;;N;;;;; 30D4;KATAKANA LETTER PI;Lo;0;L;30D2 309A;;;;N;;;;; 30D5;KATAKANA LETTER HU;Lo;0;L;;;;;N;;;;; 30D6;KATAKANA LETTER BU;Lo;0;L;30D5 3099;;;;N;;;;; 30D7;KATAKANA LETTER PU;Lo;0;L;30D5 309A;;;;N;;;;; 30D8;KATAKANA LETTER HE;Lo;0;L;;;;;N;;;;; 30D9;KATAKANA LETTER BE;Lo;0;L;30D8 3099;;;;N;;;;; 30DA;KATAKANA LETTER PE;Lo;0;L;30D8 309A;;;;N;;;;; 30DB;KATAKANA LETTER HO;Lo;0;L;;;;;N;;;;; 30DC;KATAKANA LETTER BO;Lo;0;L;30DB 3099;;;;N;;;;; 30DD;KATAKANA LETTER PO;Lo;0;L;30DB 309A;;;;N;;;;; 30DE;KATAKANA LETTER MA;Lo;0;L;;;;;N;;;;; 30DF;KATAKANA LETTER MI;Lo;0;L;;;;;N;;;;; 30E0;KATAKANA LETTER MU;Lo;0;L;;;;;N;;;;; 30E1;KATAKANA LETTER ME;Lo;0;L;;;;;N;;;;; 30E2;KATAKANA LETTER MO;Lo;0;L;;;;;N;;;;; 30E3;KATAKANA LETTER SMALL YA;Lo;0;L;;;;;N;;;;; 30E4;KATAKANA LETTER YA;Lo;0;L;;;;;N;;;;; 30E5;KATAKANA LETTER SMALL YU;Lo;0;L;;;;;N;;;;; 30E6;KATAKANA LETTER YU;Lo;0;L;;;;;N;;;;; 30E7;KATAKANA LETTER SMALL YO;Lo;0;L;;;;;N;;;;; 30E8;KATAKANA LETTER YO;Lo;0;L;;;;;N;;;;; 30E9;KATAKANA LETTER RA;Lo;0;L;;;;;N;;;;; 30EA;KATAKANA LETTER RI;Lo;0;L;;;;;N;;;;; 30EB;KATAKANA LETTER RU;Lo;0;L;;;;;N;;;;; 30EC;KATAKANA LETTER RE;Lo;0;L;;;;;N;;;;; 30ED;KATAKANA LETTER RO;Lo;0;L;;;;;N;;;;; 30EE;KATAKANA LETTER SMALL WA;Lo;0;L;;;;;N;;;;; 30EF;KATAKANA LETTER WA;Lo;0;L;;;;;N;;;;; 30F0;KATAKANA LETTER WI;Lo;0;L;;;;;N;;;;; 30F1;KATAKANA LETTER WE;Lo;0;L;;;;;N;;;;; 30F2;KATAKANA LETTER WO;Lo;0;L;;;;;N;;;;; 30F3;KATAKANA LETTER N;Lo;0;L;;;;;N;;;;; 30F4;KATAKANA LETTER VU;Lo;0;L;30A6 3099;;;;N;;;;; 30F5;KATAKANA LETTER SMALL KA;Lo;0;L;;;;;N;;;;; 30F6;KATAKANA LETTER SMALL KE;Lo;0;L;;;;;N;;;;; 30F7;KATAKANA LETTER VA;Lo;0;L;30EF 3099;;;;N;;;;; 30F8;KATAKANA LETTER VI;Lo;0;L;30F0 3099;;;;N;;;;; 30F9;KATAKANA LETTER VE;Lo;0;L;30F1 3099;;;;N;;;;; 30FA;KATAKANA LETTER VO;Lo;0;L;30F2 3099;;;;N;;;;; 30FB;KATAKANA MIDDLE DOT;Pc;0;ON;;;;;N;;;;; 30FC;KATAKANA-HIRAGANA PROLONGED SOUND MARK;Lm;0;L;;;;;N;;;;; 30FD;KATAKANA ITERATION MARK;Lm;0;L;;;;;N;;;;; 30FE;KATAKANA VOICED ITERATION MARK;Lm;0;L;30FD 3099;;;;N;;;;; 3105;BOPOMOFO LETTER B;Lo;0;L;;;;;N;;;;; 3106;BOPOMOFO LETTER P;Lo;0;L;;;;;N;;;;; 3107;BOPOMOFO LETTER M;Lo;0;L;;;;;N;;;;; 3108;BOPOMOFO LETTER F;Lo;0;L;;;;;N;;;;; 3109;BOPOMOFO LETTER D;Lo;0;L;;;;;N;;;;; 310A;BOPOMOFO LETTER T;Lo;0;L;;;;;N;;;;; 310B;BOPOMOFO LETTER N;Lo;0;L;;;;;N;;;;; 310C;BOPOMOFO LETTER L;Lo;0;L;;;;;N;;;;; 310D;BOPOMOFO LETTER G;Lo;0;L;;;;;N;;;;; 310E;BOPOMOFO LETTER K;Lo;0;L;;;;;N;;;;; 310F;BOPOMOFO LETTER H;Lo;0;L;;;;;N;;;;; 3110;BOPOMOFO LETTER J;Lo;0;L;;;;;N;;;;; 3111;BOPOMOFO LETTER Q;Lo;0;L;;;;;N;;;;; 3112;BOPOMOFO LETTER X;Lo;0;L;;;;;N;;;;; 3113;BOPOMOFO LETTER ZH;Lo;0;L;;;;;N;;;;; 3114;BOPOMOFO LETTER CH;Lo;0;L;;;;;N;;;;; 3115;BOPOMOFO LETTER SH;Lo;0;L;;;;;N;;;;; 3116;BOPOMOFO LETTER R;Lo;0;L;;;;;N;;;;; 3117;BOPOMOFO LETTER Z;Lo;0;L;;;;;N;;;;; 3118;BOPOMOFO LETTER C;Lo;0;L;;;;;N;;;;; 3119;BOPOMOFO LETTER S;Lo;0;L;;;;;N;;;;; 311A;BOPOMOFO LETTER A;Lo;0;L;;;;;N;;;;; 311B;BOPOMOFO LETTER O;Lo;0;L;;;;;N;;;;; 311C;BOPOMOFO LETTER E;Lo;0;L;;;;;N;;;;; 311D;BOPOMOFO LETTER EH;Lo;0;L;;;;;N;;;;; 311E;BOPOMOFO LETTER AI;Lo;0;L;;;;;N;;;;; 311F;BOPOMOFO LETTER EI;Lo;0;L;;;;;N;;;;; 3120;BOPOMOFO LETTER AU;Lo;0;L;;;;;N;;;;; 3121;BOPOMOFO LETTER OU;Lo;0;L;;;;;N;;;;; 3122;BOPOMOFO LETTER AN;Lo;0;L;;;;;N;;;;; 3123;BOPOMOFO LETTER EN;Lo;0;L;;;;;N;;;;; 3124;BOPOMOFO LETTER ANG;Lo;0;L;;;;;N;;;;; 3125;BOPOMOFO LETTER ENG;Lo;0;L;;;;;N;;;;; 3126;BOPOMOFO LETTER ER;Lo;0;L;;;;;N;;;;; 3127;BOPOMOFO LETTER I;Lo;0;L;;;;;N;;;;; 3128;BOPOMOFO LETTER U;Lo;0;L;;;;;N;;;;; 3129;BOPOMOFO LETTER IU;Lo;0;L;;;;;N;;;;; 312A;BOPOMOFO LETTER V;Lo;0;L;;;;;N;;;;; 312B;BOPOMOFO LETTER NG;Lo;0;L;;;;;N;;;;; 312C;BOPOMOFO LETTER GN;Lo;0;L;;;;;N;;;;; 3131;HANGUL LETTER KIYEOK;Lo;0;L; 1100;;;;N;HANGUL LETTER GIYEOG;;;; 3132;HANGUL LETTER SSANGKIYEOK;Lo;0;L; 1101;;;;N;HANGUL LETTER SSANG GIYEOG;;;; 3133;HANGUL LETTER KIYEOK-SIOS;Lo;0;L; 11AA;;;;N;HANGUL LETTER GIYEOG SIOS;;;; 3134;HANGUL LETTER NIEUN;Lo;0;L; 1102;;;;N;;;;; 3135;HANGUL LETTER NIEUN-CIEUC;Lo;0;L; 11AC;;;;N;HANGUL LETTER NIEUN JIEUJ;;;; 3136;HANGUL LETTER NIEUN-HIEUH;Lo;0;L; 11AD;;;;N;HANGUL LETTER NIEUN HIEUH;;;; 3137;HANGUL LETTER TIKEUT;Lo;0;L; 1103;;;;N;HANGUL LETTER DIGEUD;;;; 3138;HANGUL LETTER SSANGTIKEUT;Lo;0;L; 1104;;;;N;HANGUL LETTER SSANG DIGEUD;;;; 3139;HANGUL LETTER RIEUL;Lo;0;L; 1105;;;;N;HANGUL LETTER LIEUL;;;; 313A;HANGUL LETTER RIEUL-KIYEOK;Lo;0;L; 11B0;;;;N;HANGUL LETTER LIEUL GIYEOG;;;; 313B;HANGUL LETTER RIEUL-MIEUM;Lo;0;L; 11B1;;;;N;HANGUL LETTER LIEUL MIEUM;;;; 313C;HANGUL LETTER RIEUL-PIEUP;Lo;0;L; 11B2;;;;N;HANGUL LETTER LIEUL BIEUB;;;; 313D;HANGUL LETTER RIEUL-SIOS;Lo;0;L; 11B3;;;;N;HANGUL LETTER LIEUL SIOS;;;; 313E;HANGUL LETTER RIEUL-THIEUTH;Lo;0;L; 11B4;;;;N;HANGUL LETTER LIEUL TIEUT;;;; 313F;HANGUL LETTER RIEUL-PHIEUPH;Lo;0;L; 11B5;;;;N;HANGUL LETTER LIEUL PIEUP;;;; 3140;HANGUL LETTER RIEUL-HIEUH;Lo;0;L; 111A;;;;N;HANGUL LETTER LIEUL HIEUH;;;; 3141;HANGUL LETTER MIEUM;Lo;0;L; 1106;;;;N;;;;; 3142;HANGUL LETTER PIEUP;Lo;0;L; 1107;;;;N;HANGUL LETTER BIEUB;;;; 3143;HANGUL LETTER SSANGPIEUP;Lo;0;L; 1108;;;;N;HANGUL LETTER SSANG BIEUB;;;; 3144;HANGUL LETTER PIEUP-SIOS;Lo;0;L; 1121;;;;N;HANGUL LETTER BIEUB SIOS;;;; 3145;HANGUL LETTER SIOS;Lo;0;L; 1109;;;;N;;;;; 3146;HANGUL LETTER SSANGSIOS;Lo;0;L; 110A;;;;N;HANGUL LETTER SSANG SIOS;;;; 3147;HANGUL LETTER IEUNG;Lo;0;L; 110B;;;;N;;;;; 3148;HANGUL LETTER CIEUC;Lo;0;L; 110C;;;;N;HANGUL LETTER JIEUJ;;;; 3149;HANGUL LETTER SSANGCIEUC;Lo;0;L; 110D;;;;N;HANGUL LETTER SSANG JIEUJ;;;; 314A;HANGUL LETTER CHIEUCH;Lo;0;L; 110E;;;;N;HANGUL LETTER CIEUC;;;; 314B;HANGUL LETTER KHIEUKH;Lo;0;L; 110F;;;;N;HANGUL LETTER KIYEOK;;;; 314C;HANGUL LETTER THIEUTH;Lo;0;L; 1110;;;;N;HANGUL LETTER TIEUT;;;; 314D;HANGUL LETTER PHIEUPH;Lo;0;L; 1111;;;;N;HANGUL LETTER PIEUP;;;; 314E;HANGUL LETTER HIEUH;Lo;0;L; 1112;;;;N;;;;; 314F;HANGUL LETTER A;Lo;0;L; 1161;;;;N;;;;; 3150;HANGUL LETTER AE;Lo;0;L; 1162;;;;N;;;;; 3151;HANGUL LETTER YA;Lo;0;L; 1163;;;;N;;;;; 3152;HANGUL LETTER YAE;Lo;0;L; 1164;;;;N;;;;; 3153;HANGUL LETTER EO;Lo;0;L; 1165;;;;N;;;;; 3154;HANGUL LETTER E;Lo;0;L; 1166;;;;N;;;;; 3155;HANGUL LETTER YEO;Lo;0;L; 1167;;;;N;;;;; 3156;HANGUL LETTER YE;Lo;0;L; 1168;;;;N;;;;; 3157;HANGUL LETTER O;Lo;0;L; 1169;;;;N;;;;; 3158;HANGUL LETTER WA;Lo;0;L; 116A;;;;N;;;;; 3159;HANGUL LETTER WAE;Lo;0;L; 116B;;;;N;;;;; 315A;HANGUL LETTER OE;Lo;0;L; 116C;;;;N;;;;; 315B;HANGUL LETTER YO;Lo;0;L; 116D;;;;N;;;;; 315C;HANGUL LETTER U;Lo;0;L; 116E;;;;N;;;;; 315D;HANGUL LETTER WEO;Lo;0;L; 116F;;;;N;;;;; 315E;HANGUL LETTER WE;Lo;0;L; 1170;;;;N;;;;; 315F;HANGUL LETTER WI;Lo;0;L; 1171;;;;N;;;;; 3160;HANGUL LETTER YU;Lo;0;L; 1172;;;;N;;;;; 3161;HANGUL LETTER EU;Lo;0;L; 1173;;;;N;;;;; 3162;HANGUL LETTER YI;Lo;0;L; 1174;;;;N;;;;; 3163;HANGUL LETTER I;Lo;0;L; 1175;;;;N;;;;; 3164;HANGUL FILLER;Lo;0;L; 1160;;;;N;HANGUL CAE OM;;;; 3165;HANGUL LETTER SSANGNIEUN;Lo;0;L; 1114;;;;N;HANGUL LETTER SSANG NIEUN;;;; 3166;HANGUL LETTER NIEUN-TIKEUT;Lo;0;L; 1115;;;;N;HANGUL LETTER NIEUN DIGEUD;;;; 3167;HANGUL LETTER NIEUN-SIOS;Lo;0;L; 11C7;;;;N;HANGUL LETTER NIEUN SIOS;;;; 3168;HANGUL LETTER NIEUN-PANSIOS;Lo;0;L; 11C8;;;;N;HANGUL LETTER NIEUN BAN CHI EUM;;;; 3169;HANGUL LETTER RIEUL-KIYEOK-SIOS;Lo;0;L; 11CC;;;;N;HANGUL LETTER LIEUL GIYEOG SIOS;;;; 316A;HANGUL LETTER RIEUL-TIKEUT;Lo;0;L; 11CE;;;;N;HANGUL LETTER LIEUL DIGEUD;;;; 316B;HANGUL LETTER RIEUL-PIEUP-SIOS;Lo;0;L; 11D3;;;;N;HANGUL LETTER LIEUL BIEUB SIOS;;;; 316C;HANGUL LETTER RIEUL-PANSIOS;Lo;0;L; 11D7;;;;N;HANGUL LETTER LIEUL BAN CHI EUM;;;; 316D;HANGUL LETTER RIEUL-YEORINHIEUH;Lo;0;L; 11D9;;;;N;HANGUL LETTER LIEUL YEOLIN HIEUH;;;; 316E;HANGUL LETTER MIEUM-PIEUP;Lo;0;L; 111C;;;;N;HANGUL LETTER MIEUM BIEUB;;;; 316F;HANGUL LETTER MIEUM-SIOS;Lo;0;L; 11DD;;;;N;HANGUL LETTER MIEUM SIOS;;;; 3170;HANGUL LETTER MIEUM-PANSIOS;Lo;0;L; 11DF;;;;N;HANGUL LETTER BIEUB BAN CHI EUM;;;; 3171;HANGUL LETTER KAPYEOUNMIEUM;Lo;0;L; 111D;;;;N;HANGUL LETTER MIEUM SUN GYEONG EUM;;;; 3172;HANGUL LETTER PIEUP-KIYEOK;Lo;0;L; 111E;;;;N;HANGUL LETTER BIEUB GIYEOG;;;; 3173;HANGUL LETTER PIEUP-TIKEUT;Lo;0;L; 1120;;;;N;HANGUL LETTER BIEUB DIGEUD;;;; 3174;HANGUL LETTER PIEUP-SIOS-KIYEOK;Lo;0;L; 1122;;;;N;HANGUL LETTER BIEUB SIOS GIYEOG;;;; 3175;HANGUL LETTER PIEUP-SIOS-TIKEUT;Lo;0;L; 1123;;;;N;HANGUL LETTER BIEUB SIOS DIGEUD;;;; 3176;HANGUL LETTER PIEUP-CIEUC;Lo;0;L; 1127;;;;N;HANGUL LETTER BIEUB JIEUJ;;;; 3177;HANGUL LETTER PIEUP-THIEUTH;Lo;0;L; 1129;;;;N;HANGUL LETTER BIEUB TIEUT;;;; 3178;HANGUL LETTER KAPYEOUNPIEUP;Lo;0;L; 112B;;;;N;HANGUL LETTER BIEUB SUN GYEONG EUM;;;; 3179;HANGUL LETTER KAPYEOUNSSANGPIEUP;Lo;0;L; 112C;;;;N;HANGUL LETTER SSANG BIEUB SUN GYEONG EUM;;;; 317A;HANGUL LETTER SIOS-KIYEOK;Lo;0;L; 112D;;;;N;HANGUL LETTER SIOS GIYEOG;;;; 317B;HANGUL LETTER SIOS-NIEUN;Lo;0;L; 112E;;;;N;HANGUL LETTER SIOS NIEUN;;;; 317C;HANGUL LETTER SIOS-TIKEUT;Lo;0;L; 112F;;;;N;HANGUL LETTER SIOS DIGEUD;;;; 317D;HANGUL LETTER SIOS-PIEUP;Lo;0;L; 1132;;;;N;HANGUL LETTER SIOS BIEUB;;;; 317E;HANGUL LETTER SIOS-CIEUC;Lo;0;L; 1136;;;;N;HANGUL LETTER SIOS JIEUJ;;;; 317F;HANGUL LETTER PANSIOS;Lo;0;L; 1140;;;;N;HANGUL LETTER BAN CHI EUM;;;; 3180;HANGUL LETTER SSANGIEUNG;Lo;0;L; 1147;;;;N;HANGUL LETTER SSANG IEUNG;;;; 3181;HANGUL LETTER YESIEUNG;Lo;0;L; 114C;;;;N;HANGUL LETTER NGIEUNG;;;; 3182;HANGUL LETTER YESIEUNG-SIOS;Lo;0;L; 11F1;;;;N;HANGUL LETTER NGIEUNG SIOS;;;; 3183;HANGUL LETTER YESIEUNG-PANSIOS;Lo;0;L; 11F2;;;;N;HANGUL LETTER NGIEUNG BAN CHI EUM;;;; 3184;HANGUL LETTER KAPYEOUNPHIEUPH;Lo;0;L; 1157;;;;N;HANGUL LETTER PIEUP SUN GYEONG EUM;;;; 3185;HANGUL LETTER SSANGHIEUH;Lo;0;L; 1158;;;;N;HANGUL LETTER SSANG HIEUH;;;; 3186;HANGUL LETTER YEORINHIEUH;Lo;0;L; 1159;;;;N;HANGUL LETTER YEOLIN HIEUH;;;; 3187;HANGUL LETTER YO-YA;Lo;0;L; 1184;;;;N;HANGUL LETTER YOYA;;;; 3188;HANGUL LETTER YO-YAE;Lo;0;L; 1185;;;;N;HANGUL LETTER YOYAE;;;; 3189;HANGUL LETTER YO-I;Lo;0;L; 1188;;;;N;HANGUL LETTER YOI;;;; 318A;HANGUL LETTER YU-YEO;Lo;0;L; 1191;;;;N;HANGUL LETTER YUYEO;;;; 318B;HANGUL LETTER YU-YE;Lo;0;L; 1192;;;;N;HANGUL LETTER YUYE;;;; 318C;HANGUL LETTER YU-I;Lo;0;L; 1194;;;;N;HANGUL LETTER YUI;;;; 318D;HANGUL LETTER ARAEA;Lo;0;L; 119E;;;;N;HANGUL LETTER ALAE A;;;; 318E;HANGUL LETTER ARAEAE;Lo;0;L; 11A1;;;;N;HANGUL LETTER ALAE AE;;;; 3190;IDEOGRAPHIC ANNOTATION LINKING MARK;So;0;L;;;;;N;KANBUN TATETEN;Kanbun Tateten;;; 3191;IDEOGRAPHIC ANNOTATION REVERSE MARK;So;0;L;;;;;N;KAERITEN RE;Kaeriten;;; 3192;IDEOGRAPHIC ANNOTATION ONE MARK;No;0;L; 4E00;;;;N;KAERITEN ITI;Kaeriten;;; 3193;IDEOGRAPHIC ANNOTATION TWO MARK;No;0;L; 4E8C;;;;N;KAERITEN NI;Kaeriten;;; 3194;IDEOGRAPHIC ANNOTATION THREE MARK;No;0;L; 4E09;;;;N;KAERITEN SAN;Kaeriten;;; 3195;IDEOGRAPHIC ANNOTATION FOUR MARK;No;0;L; 56DB;;;;N;KAERITEN SI;Kaeriten;;; 3196;IDEOGRAPHIC ANNOTATION TOP MARK;So;0;L; 4E0A;;;;N;KAERITEN ZYOU;Kaeriten;;; 3197;IDEOGRAPHIC ANNOTATION MIDDLE MARK;So;0;L; 4E2D;;;;N;KAERITEN TYUU;Kaeriten;;; 3198;IDEOGRAPHIC ANNOTATION BOTTOM MARK;So;0;L; 4E0B;;;;N;KAERITEN GE;Kaeriten;;; 3199;IDEOGRAPHIC ANNOTATION FIRST MARK;So;0;L; 7532;;;;N;KAERITEN KOU;Kaeriten;;; 319A;IDEOGRAPHIC ANNOTATION SECOND MARK;So;0;L; 4E59;;;;N;KAERITEN OTU;Kaeriten;;; 319B;IDEOGRAPHIC ANNOTATION THIRD MARK;So;0;L; 4E19;;;;N;KAERITEN HEI;Kaeriten;;; 319C;IDEOGRAPHIC ANNOTATION FOURTH MARK;So;0;L; 4E01;;;;N;KAERITEN TEI;Kaeriten;;; 319D;IDEOGRAPHIC ANNOTATION HEAVEN MARK;So;0;L; 5929;;;;N;KAERITEN TEN;Kaeriten;;; 319E;IDEOGRAPHIC ANNOTATION EARTH MARK;So;0;L; 5730;;;;N;KAERITEN TI;Kaeriten;;; 319F;IDEOGRAPHIC ANNOTATION MAN MARK;So;0;L; 4EBA;;;;N;KAERITEN ZIN;Kaeriten;;; 31A0;BOPOMOFO LETTER BU;Lo;0;L;;;;;N;;;;; 31A1;BOPOMOFO LETTER ZI;Lo;0;L;;;;;N;;;;; 31A2;BOPOMOFO LETTER JI;Lo;0;L;;;;;N;;;;; 31A3;BOPOMOFO LETTER GU;Lo;0;L;;;;;N;;;;; 31A4;BOPOMOFO LETTER EE;Lo;0;L;;;;;N;;;;; 31A5;BOPOMOFO LETTER ENN;Lo;0;L;;;;;N;;;;; 31A6;BOPOMOFO LETTER OO;Lo;0;L;;;;;N;;;;; 31A7;BOPOMOFO LETTER ONN;Lo;0;L;;;;;N;;;;; 31A8;BOPOMOFO LETTER IR;Lo;0;L;;;;;N;;;;; 31A9;BOPOMOFO LETTER ANN;Lo;0;L;;;;;N;;;;; 31AA;BOPOMOFO LETTER INN;Lo;0;L;;;;;N;;;;; 31AB;BOPOMOFO LETTER UNN;Lo;0;L;;;;;N;;;;; 31AC;BOPOMOFO LETTER IM;Lo;0;L;;;;;N;;;;; 31AD;BOPOMOFO LETTER NGG;Lo;0;L;;;;;N;;;;; 31AE;BOPOMOFO LETTER AINN;Lo;0;L;;;;;N;;;;; 31AF;BOPOMOFO LETTER AUNN;Lo;0;L;;;;;N;;;;; 31B0;BOPOMOFO LETTER AM;Lo;0;L;;;;;N;;;;; 31B1;BOPOMOFO LETTER OM;Lo;0;L;;;;;N;;;;; 31B2;BOPOMOFO LETTER ONG;Lo;0;L;;;;;N;;;;; 31B3;BOPOMOFO LETTER INNN;Lo;0;L;;;;;N;;;;; 31B4;BOPOMOFO FINAL LETTER P;Lo;0;L;;;;;N;;;;; 31B5;BOPOMOFO FINAL LETTER T;Lo;0;L;;;;;N;;;;; 31B6;BOPOMOFO FINAL LETTER K;Lo;0;L;;;;;N;;;;; 31B7;BOPOMOFO FINAL LETTER H;Lo;0;L;;;;;N;;;;; 3200;PARENTHESIZED HANGUL KIYEOK;So;0;L; 0028 1100 0029;;;;N;PARENTHESIZED HANGUL GIYEOG;;;; 3201;PARENTHESIZED HANGUL NIEUN;So;0;L; 0028 1102 0029;;;;N;;;;; 3202;PARENTHESIZED HANGUL TIKEUT;So;0;L; 0028 1103 0029;;;;N;PARENTHESIZED HANGUL DIGEUD;;;; 3203;PARENTHESIZED HANGUL RIEUL;So;0;L; 0028 1105 0029;;;;N;PARENTHESIZED HANGUL LIEUL;;;; 3204;PARENTHESIZED HANGUL MIEUM;So;0;L; 0028 1106 0029;;;;N;;;;; 3205;PARENTHESIZED HANGUL PIEUP;So;0;L; 0028 1107 0029;;;;N;PARENTHESIZED HANGUL BIEUB;;;; 3206;PARENTHESIZED HANGUL SIOS;So;0;L; 0028 1109 0029;;;;N;;;;; 3207;PARENTHESIZED HANGUL IEUNG;So;0;L; 0028 110B 0029;;;;N;;;;; 3208;PARENTHESIZED HANGUL CIEUC;So;0;L; 0028 110C 0029;;;;N;PARENTHESIZED HANGUL JIEUJ;;;; 3209;PARENTHESIZED HANGUL CHIEUCH;So;0;L; 0028 110E 0029;;;;N;PARENTHESIZED HANGUL CIEUC;;;; 320A;PARENTHESIZED HANGUL KHIEUKH;So;0;L; 0028 110F 0029;;;;N;PARENTHESIZED HANGUL KIYEOK;;;; 320B;PARENTHESIZED HANGUL THIEUTH;So;0;L; 0028 1110 0029;;;;N;PARENTHESIZED HANGUL TIEUT;;;; 320C;PARENTHESIZED HANGUL PHIEUPH;So;0;L; 0028 1111 0029;;;;N;PARENTHESIZED HANGUL PIEUP;;;; 320D;PARENTHESIZED HANGUL HIEUH;So;0;L; 0028 1112 0029;;;;N;;;;; 320E;PARENTHESIZED HANGUL KIYEOK A;So;0;L; 0028 1100 1161 0029;;;;N;PARENTHESIZED HANGUL GA;;;; 320F;PARENTHESIZED HANGUL NIEUN A;So;0;L; 0028 1102 1161 0029;;;;N;PARENTHESIZED HANGUL NA;;;; 3210;PARENTHESIZED HANGUL TIKEUT A;So;0;L; 0028 1103 1161 0029;;;;N;PARENTHESIZED HANGUL DA;;;; 3211;PARENTHESIZED HANGUL RIEUL A;So;0;L; 0028 1105 1161 0029;;;;N;PARENTHESIZED HANGUL LA;;;; 3212;PARENTHESIZED HANGUL MIEUM A;So;0;L; 0028 1106 1161 0029;;;;N;PARENTHESIZED HANGUL MA;;;; 3213;PARENTHESIZED HANGUL PIEUP A;So;0;L; 0028 1107 1161 0029;;;;N;PARENTHESIZED HANGUL BA;;;; 3214;PARENTHESIZED HANGUL SIOS A;So;0;L; 0028 1109 1161 0029;;;;N;PARENTHESIZED HANGUL SA;;;; 3215;PARENTHESIZED HANGUL IEUNG A;So;0;L; 0028 110B 1161 0029;;;;N;PARENTHESIZED HANGUL A;;;; 3216;PARENTHESIZED HANGUL CIEUC A;So;0;L; 0028 110C 1161 0029;;;;N;PARENTHESIZED HANGUL JA;;;; 3217;PARENTHESIZED HANGUL CHIEUCH A;So;0;L; 0028 110E 1161 0029;;;;N;PARENTHESIZED HANGUL CA;;;; 3218;PARENTHESIZED HANGUL KHIEUKH A;So;0;L; 0028 110F 1161 0029;;;;N;PARENTHESIZED HANGUL KA;;;; 3219;PARENTHESIZED HANGUL THIEUTH A;So;0;L; 0028 1110 1161 0029;;;;N;PARENTHESIZED HANGUL TA;;;; 321A;PARENTHESIZED HANGUL PHIEUPH A;So;0;L; 0028 1111 1161 0029;;;;N;PARENTHESIZED HANGUL PA;;;; 321B;PARENTHESIZED HANGUL HIEUH A;So;0;L; 0028 1112 1161 0029;;;;N;PARENTHESIZED HANGUL HA;;;; 321C;PARENTHESIZED HANGUL CIEUC U;So;0;L; 0028 110C 116E 0029;;;;N;PARENTHESIZED HANGUL JU;;;; 3220;PARENTHESIZED IDEOGRAPH ONE;No;0;L; 0028 4E00 0029;;;;N;;;;; 3221;PARENTHESIZED IDEOGRAPH TWO;No;0;L; 0028 4E8C 0029;;;;N;;;;; 3222;PARENTHESIZED IDEOGRAPH THREE;No;0;L; 0028 4E09 0029;;;;N;;;;; 3223;PARENTHESIZED IDEOGRAPH FOUR;No;0;L; 0028 56DB 0029;;;;N;;;;; 3224;PARENTHESIZED IDEOGRAPH FIVE;No;0;L; 0028 4E94 0029;;;;N;;;;; 3225;PARENTHESIZED IDEOGRAPH SIX;No;0;L; 0028 516D 0029;;;;N;;;;; 3226;PARENTHESIZED IDEOGRAPH SEVEN;No;0;L; 0028 4E03 0029;;;;N;;;;; 3227;PARENTHESIZED IDEOGRAPH EIGHT;No;0;L; 0028 516B 0029;;;;N;;;;; 3228;PARENTHESIZED IDEOGRAPH NINE;No;0;L; 0028 4E5D 0029;;;;N;;;;; 3229;PARENTHESIZED IDEOGRAPH TEN;No;0;L; 0028 5341 0029;;;;N;;;;; 322A;PARENTHESIZED IDEOGRAPH MOON;So;0;L; 0028 6708 0029;;;;N;;;;; 322B;PARENTHESIZED IDEOGRAPH FIRE;So;0;L; 0028 706B 0029;;;;N;;;;; 322C;PARENTHESIZED IDEOGRAPH WATER;So;0;L; 0028 6C34 0029;;;;N;;;;; 322D;PARENTHESIZED IDEOGRAPH WOOD;So;0;L; 0028 6728 0029;;;;N;;;;; 322E;PARENTHESIZED IDEOGRAPH METAL;So;0;L; 0028 91D1 0029;;;;N;;;;; 322F;PARENTHESIZED IDEOGRAPH EARTH;So;0;L; 0028 571F 0029;;;;N;;;;; 3230;PARENTHESIZED IDEOGRAPH SUN;So;0;L; 0028 65E5 0029;;;;N;;;;; 3231;PARENTHESIZED IDEOGRAPH STOCK;So;0;L; 0028 682A 0029;;;;N;;;;; 3232;PARENTHESIZED IDEOGRAPH HAVE;So;0;L; 0028 6709 0029;;;;N;;;;; 3233;PARENTHESIZED IDEOGRAPH SOCIETY;So;0;L; 0028 793E 0029;;;;N;;;;; 3234;PARENTHESIZED IDEOGRAPH NAME;So;0;L; 0028 540D 0029;;;;N;;;;; 3235;PARENTHESIZED IDEOGRAPH SPECIAL;So;0;L; 0028 7279 0029;;;;N;;;;; 3236;PARENTHESIZED IDEOGRAPH FINANCIAL;So;0;L; 0028 8CA1 0029;;;;N;;;;; 3237;PARENTHESIZED IDEOGRAPH CONGRATULATION;So;0;L; 0028 795D 0029;;;;N;;;;; 3238;PARENTHESIZED IDEOGRAPH LABOR;So;0;L; 0028 52B4 0029;;;;N;;;;; 3239;PARENTHESIZED IDEOGRAPH REPRESENT;So;0;L; 0028 4EE3 0029;;;;N;;;;; 323A;PARENTHESIZED IDEOGRAPH CALL;So;0;L; 0028 547C 0029;;;;N;;;;; 323B;PARENTHESIZED IDEOGRAPH STUDY;So;0;L; 0028 5B66 0029;;;;N;;;;; 323C;PARENTHESIZED IDEOGRAPH SUPERVISE;So;0;L; 0028 76E3 0029;;;;N;;;;; 323D;PARENTHESIZED IDEOGRAPH ENTERPRISE;So;0;L; 0028 4F01 0029;;;;N;;;;; 323E;PARENTHESIZED IDEOGRAPH RESOURCE;So;0;L; 0028 8CC7 0029;;;;N;;;;; 323F;PARENTHESIZED IDEOGRAPH ALLIANCE;So;0;L; 0028 5354 0029;;;;N;;;;; 3240;PARENTHESIZED IDEOGRAPH FESTIVAL;So;0;L; 0028 796D 0029;;;;N;;;;; 3241;PARENTHESIZED IDEOGRAPH REST;So;0;L; 0028 4F11 0029;;;;N;;;;; 3242;PARENTHESIZED IDEOGRAPH SELF;So;0;L; 0028 81EA 0029;;;;N;;;;; 3243;PARENTHESIZED IDEOGRAPH REACH;So;0;L; 0028 81F3 0029;;;;N;;;;; 3260;CIRCLED HANGUL KIYEOK;So;0;L; 1100;;;;N;CIRCLED HANGUL GIYEOG;;;; 3261;CIRCLED HANGUL NIEUN;So;0;L; 1102;;;;N;;;;; 3262;CIRCLED HANGUL TIKEUT;So;0;L; 1103;;;;N;CIRCLED HANGUL DIGEUD;;;; 3263;CIRCLED HANGUL RIEUL;So;0;L; 1105;;;;N;CIRCLED HANGUL LIEUL;;;; 3264;CIRCLED HANGUL MIEUM;So;0;L; 1106;;;;N;;;;; 3265;CIRCLED HANGUL PIEUP;So;0;L; 1107;;;;N;CIRCLED HANGUL BIEUB;;;; 3266;CIRCLED HANGUL SIOS;So;0;L; 1109;;;;N;;;;; 3267;CIRCLED HANGUL IEUNG;So;0;L; 110B;;;;N;;;;; 3268;CIRCLED HANGUL CIEUC;So;0;L; 110C;;;;N;CIRCLED HANGUL JIEUJ;;;; 3269;CIRCLED HANGUL CHIEUCH;So;0;L; 110E;;;;N;CIRCLED HANGUL CIEUC;;;; 326A;CIRCLED HANGUL KHIEUKH;So;0;L; 110F;;;;N;CIRCLED HANGUL KIYEOK;;;; 326B;CIRCLED HANGUL THIEUTH;So;0;L; 1110;;;;N;CIRCLED HANGUL TIEUT;;;; 326C;CIRCLED HANGUL PHIEUPH;So;0;L; 1111;;;;N;CIRCLED HANGUL PIEUP;;;; 326D;CIRCLED HANGUL HIEUH;So;0;L; 1112;;;;N;;;;; 326E;CIRCLED HANGUL KIYEOK A;So;0;L; 1100 1161;;;;N;CIRCLED HANGUL GA;;;; 326F;CIRCLED HANGUL NIEUN A;So;0;L; 1102 1161;;;;N;CIRCLED HANGUL NA;;;; 3270;CIRCLED HANGUL TIKEUT A;So;0;L; 1103 1161;;;;N;CIRCLED HANGUL DA;;;; 3271;CIRCLED HANGUL RIEUL A;So;0;L; 1105 1161;;;;N;CIRCLED HANGUL LA;;;; 3272;CIRCLED HANGUL MIEUM A;So;0;L; 1106 1161;;;;N;CIRCLED HANGUL MA;;;; 3273;CIRCLED HANGUL PIEUP A;So;0;L; 1107 1161;;;;N;CIRCLED HANGUL BA;;;; 3274;CIRCLED HANGUL SIOS A;So;0;L; 1109 1161;;;;N;CIRCLED HANGUL SA;;;; 3275;CIRCLED HANGUL IEUNG A;So;0;L; 110B 1161;;;;N;CIRCLED HANGUL A;;;; 3276;CIRCLED HANGUL CIEUC A;So;0;L; 110C 1161;;;;N;CIRCLED HANGUL JA;;;; 3277;CIRCLED HANGUL CHIEUCH A;So;0;L; 110E 1161;;;;N;CIRCLED HANGUL CA;;;; 3278;CIRCLED HANGUL KHIEUKH A;So;0;L; 110F 1161;;;;N;CIRCLED HANGUL KA;;;; 3279;CIRCLED HANGUL THIEUTH A;So;0;L; 1110 1161;;;;N;CIRCLED HANGUL TA;;;; 327A;CIRCLED HANGUL PHIEUPH A;So;0;L; 1111 1161;;;;N;CIRCLED HANGUL PA;;;; 327B;CIRCLED HANGUL HIEUH A;So;0;L; 1112 1161;;;;N;CIRCLED HANGUL HA;;;; 327F;KOREAN STANDARD SYMBOL;So;0;L;;;;;N;;;;; 3280;CIRCLED IDEOGRAPH ONE;No;0;L; 4E00;;;1;N;;;;; 3281;CIRCLED IDEOGRAPH TWO;No;0;L; 4E8C;;;2;N;;;;; 3282;CIRCLED IDEOGRAPH THREE;No;0;L; 4E09;;;3;N;;;;; 3283;CIRCLED IDEOGRAPH FOUR;No;0;L; 56DB;;;4;N;;;;; 3284;CIRCLED IDEOGRAPH FIVE;No;0;L; 4E94;;;5;N;;;;; 3285;CIRCLED IDEOGRAPH SIX;No;0;L; 516D;;;6;N;;;;; 3286;CIRCLED IDEOGRAPH SEVEN;No;0;L; 4E03;;;7;N;;;;; 3287;CIRCLED IDEOGRAPH EIGHT;No;0;L; 516B;;;8;N;;;;; 3288;CIRCLED IDEOGRAPH NINE;No;0;L; 4E5D;;;9;N;;;;; 3289;CIRCLED IDEOGRAPH TEN;No;0;L; 5341;;;10;N;;;;; 328A;CIRCLED IDEOGRAPH MOON;So;0;L; 6708;;;;N;;;;; 328B;CIRCLED IDEOGRAPH FIRE;So;0;L; 706B;;;;N;;;;; 328C;CIRCLED IDEOGRAPH WATER;So;0;L; 6C34;;;;N;;;;; 328D;CIRCLED IDEOGRAPH WOOD;So;0;L; 6728;;;;N;;;;; 328E;CIRCLED IDEOGRAPH METAL;So;0;L; 91D1;;;;N;;;;; 328F;CIRCLED IDEOGRAPH EARTH;So;0;L; 571F;;;;N;;;;; 3290;CIRCLED IDEOGRAPH SUN;So;0;L; 65E5;;;;N;;;;; 3291;CIRCLED IDEOGRAPH STOCK;So;0;L; 682A;;;;N;;;;; 3292;CIRCLED IDEOGRAPH HAVE;So;0;L; 6709;;;;N;;;;; 3293;CIRCLED IDEOGRAPH SOCIETY;So;0;L; 793E;;;;N;;;;; 3294;CIRCLED IDEOGRAPH NAME;So;0;L; 540D;;;;N;;;;; 3295;CIRCLED IDEOGRAPH SPECIAL;So;0;L; 7279;;;;N;;;;; 3296;CIRCLED IDEOGRAPH FINANCIAL;So;0;L; 8CA1;;;;N;;;;; 3297;CIRCLED IDEOGRAPH CONGRATULATION;So;0;L; 795D;;;;N;;;;; 3298;CIRCLED IDEOGRAPH LABOR;So;0;L; 52B4;;;;N;;;;; 3299;CIRCLED IDEOGRAPH SECRET;So;0;L; 79D8;;;;N;;;;; 329A;CIRCLED IDEOGRAPH MALE;So;0;L; 7537;;;;N;;;;; 329B;CIRCLED IDEOGRAPH FEMALE;So;0;L; 5973;;;;N;;;;; 329C;CIRCLED IDEOGRAPH SUITABLE;So;0;L; 9069;;;;N;;;;; 329D;CIRCLED IDEOGRAPH EXCELLENT;So;0;L; 512A;;;;N;;;;; 329E;CIRCLED IDEOGRAPH PRINT;So;0;L; 5370;;;;N;;;;; 329F;CIRCLED IDEOGRAPH ATTENTION;So;0;L; 6CE8;;;;N;;;;; 32A0;CIRCLED IDEOGRAPH ITEM;So;0;L; 9805;;;;N;;;;; 32A1;CIRCLED IDEOGRAPH REST;So;0;L; 4F11;;;;N;;;;; 32A2;CIRCLED IDEOGRAPH COPY;So;0;L; 5199;;;;N;;;;; 32A3;CIRCLED IDEOGRAPH CORRECT;So;0;L; 6B63;;;;N;;;;; 32A4;CIRCLED IDEOGRAPH HIGH;So;0;L; 4E0A;;;;N;;;;; 32A5;CIRCLED IDEOGRAPH CENTRE;So;0;L; 4E2D;;;;N;CIRCLED IDEOGRAPH CENTER;;;; 32A6;CIRCLED IDEOGRAPH LOW;So;0;L; 4E0B;;;;N;;;;; 32A7;CIRCLED IDEOGRAPH LEFT;So;0;L; 5DE6;;;;N;;;;; 32A8;CIRCLED IDEOGRAPH RIGHT;So;0;L; 53F3;;;;N;;;;; 32A9;CIRCLED IDEOGRAPH MEDICINE;So;0;L; 533B;;;;N;;;;; 32AA;CIRCLED IDEOGRAPH RELIGION;So;0;L; 5B97;;;;N;;;;; 32AB;CIRCLED IDEOGRAPH STUDY;So;0;L; 5B66;;;;N;;;;; 32AC;CIRCLED IDEOGRAPH SUPERVISE;So;0;L; 76E3;;;;N;;;;; 32AD;CIRCLED IDEOGRAPH ENTERPRISE;So;0;L; 4F01;;;;N;;;;; 32AE;CIRCLED IDEOGRAPH RESOURCE;So;0;L; 8CC7;;;;N;;;;; 32AF;CIRCLED IDEOGRAPH ALLIANCE;So;0;L; 5354;;;;N;;;;; 32B0;CIRCLED IDEOGRAPH NIGHT;So;0;L; 591C;;;;N;;;;; 32C0;IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY;So;0;L; 0031 6708;;;;N;;;;; 32C1;IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY;So;0;L; 0032 6708;;;;N;;;;; 32C2;IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH;So;0;L; 0033 6708;;;;N;;;;; 32C3;IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL;So;0;L; 0034 6708;;;;N;;;;; 32C4;IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY;So;0;L; 0035 6708;;;;N;;;;; 32C5;IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE;So;0;L; 0036 6708;;;;N;;;;; 32C6;IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY;So;0;L; 0037 6708;;;;N;;;;; 32C7;IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST;So;0;L; 0038 6708;;;;N;;;;; 32C8;IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER;So;0;L; 0039 6708;;;;N;;;;; 32C9;IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER;So;0;L; 0031 0030 6708;;;;N;;;;; 32CA;IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER;So;0;L; 0031 0031 6708;;;;N;;;;; 32CB;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER;So;0;L; 0031 0032 6708;;;;N;;;;; 32D0;CIRCLED KATAKANA A;So;0;L; 30A2;;;;N;;;;; 32D1;CIRCLED KATAKANA I;So;0;L; 30A4;;;;N;;;;; 32D2;CIRCLED KATAKANA U;So;0;L; 30A6;;;;N;;;;; 32D3;CIRCLED KATAKANA E;So;0;L; 30A8;;;;N;;;;; 32D4;CIRCLED KATAKANA O;So;0;L; 30AA;;;;N;;;;; 32D5;CIRCLED KATAKANA KA;So;0;L; 30AB;;;;N;;;;; 32D6;CIRCLED KATAKANA KI;So;0;L; 30AD;;;;N;;;;; 32D7;CIRCLED KATAKANA KU;So;0;L; 30AF;;;;N;;;;; 32D8;CIRCLED KATAKANA KE;So;0;L; 30B1;;;;N;;;;; 32D9;CIRCLED KATAKANA KO;So;0;L; 30B3;;;;N;;;;; 32DA;CIRCLED KATAKANA SA;So;0;L; 30B5;;;;N;;;;; 32DB;CIRCLED KATAKANA SI;So;0;L; 30B7;;;;N;;;;; 32DC;CIRCLED KATAKANA SU;So;0;L; 30B9;;;;N;;;;; 32DD;CIRCLED KATAKANA SE;So;0;L; 30BB;;;;N;;;;; 32DE;CIRCLED KATAKANA SO;So;0;L; 30BD;;;;N;;;;; 32DF;CIRCLED KATAKANA TA;So;0;L; 30BF;;;;N;;;;; 32E0;CIRCLED KATAKANA TI;So;0;L; 30C1;;;;N;;;;; 32E1;CIRCLED KATAKANA TU;So;0;L; 30C4;;;;N;;;;; 32E2;CIRCLED KATAKANA TE;So;0;L; 30C6;;;;N;;;;; 32E3;CIRCLED KATAKANA TO;So;0;L; 30C8;;;;N;;;;; 32E4;CIRCLED KATAKANA NA;So;0;L; 30CA;;;;N;;;;; 32E5;CIRCLED KATAKANA NI;So;0;L; 30CB;;;;N;;;;; 32E6;CIRCLED KATAKANA NU;So;0;L; 30CC;;;;N;;;;; 32E7;CIRCLED KATAKANA NE;So;0;L; 30CD;;;;N;;;;; 32E8;CIRCLED KATAKANA NO;So;0;L; 30CE;;;;N;;;;; 32E9;CIRCLED KATAKANA HA;So;0;L; 30CF;;;;N;;;;; 32EA;CIRCLED KATAKANA HI;So;0;L; 30D2;;;;N;;;;; 32EB;CIRCLED KATAKANA HU;So;0;L; 30D5;;;;N;;;;; 32EC;CIRCLED KATAKANA HE;So;0;L; 30D8;;;;N;;;;; 32ED;CIRCLED KATAKANA HO;So;0;L; 30DB;;;;N;;;;; 32EE;CIRCLED KATAKANA MA;So;0;L; 30DE;;;;N;;;;; 32EF;CIRCLED KATAKANA MI;So;0;L; 30DF;;;;N;;;;; 32F0;CIRCLED KATAKANA MU;So;0;L; 30E0;;;;N;;;;; 32F1;CIRCLED KATAKANA ME;So;0;L; 30E1;;;;N;;;;; 32F2;CIRCLED KATAKANA MO;So;0;L; 30E2;;;;N;;;;; 32F3;CIRCLED KATAKANA YA;So;0;L; 30E4;;;;N;;;;; 32F4;CIRCLED KATAKANA YU;So;0;L; 30E6;;;;N;;;;; 32F5;CIRCLED KATAKANA YO;So;0;L; 30E8;;;;N;;;;; 32F6;CIRCLED KATAKANA RA;So;0;L; 30E9;;;;N;;;;; 32F7;CIRCLED KATAKANA RI;So;0;L; 30EA;;;;N;;;;; 32F8;CIRCLED KATAKANA RU;So;0;L; 30EB;;;;N;;;;; 32F9;CIRCLED KATAKANA RE;So;0;L; 30EC;;;;N;;;;; 32FA;CIRCLED KATAKANA RO;So;0;L; 30ED;;;;N;;;;; 32FB;CIRCLED KATAKANA WA;So;0;L; 30EF;;;;N;;;;; 32FC;CIRCLED KATAKANA WI;So;0;L; 30F0;;;;N;;;;; 32FD;CIRCLED KATAKANA WE;So;0;L; 30F1;;;;N;;;;; 32FE;CIRCLED KATAKANA WO;So;0;L; 30F2;;;;N;;;;; 3300;SQUARE APAATO;So;0;L; 30A2 30D1 30FC 30C8;;;;N;SQUARED APAATO;;;; 3301;SQUARE ARUHUA;So;0;L; 30A2 30EB 30D5 30A1;;;;N;SQUARED ARUHUA;;;; 3302;SQUARE ANPEA;So;0;L; 30A2 30F3 30DA 30A2;;;;N;SQUARED ANPEA;;;; 3303;SQUARE AARU;So;0;L; 30A2 30FC 30EB;;;;N;SQUARED AARU;;;; 3304;SQUARE ININGU;So;0;L; 30A4 30CB 30F3 30B0;;;;N;SQUARED ININGU;;;; 3305;SQUARE INTI;So;0;L; 30A4 30F3 30C1;;;;N;SQUARED INTI;;;; 3306;SQUARE UON;So;0;L; 30A6 30A9 30F3;;;;N;SQUARED UON;;;; 3307;SQUARE ESUKUUDO;So;0;L; 30A8 30B9 30AF 30FC 30C9;;;;N;SQUARED ESUKUUDO;;;; 3308;SQUARE EEKAA;So;0;L; 30A8 30FC 30AB 30FC;;;;N;SQUARED EEKAA;;;; 3309;SQUARE ONSU;So;0;L; 30AA 30F3 30B9;;;;N;SQUARED ONSU;;;; 330A;SQUARE OOMU;So;0;L; 30AA 30FC 30E0;;;;N;SQUARED OOMU;;;; 330B;SQUARE KAIRI;So;0;L; 30AB 30A4 30EA;;;;N;SQUARED KAIRI;;;; 330C;SQUARE KARATTO;So;0;L; 30AB 30E9 30C3 30C8;;;;N;SQUARED KARATTO;;;; 330D;SQUARE KARORII;So;0;L; 30AB 30ED 30EA 30FC;;;;N;SQUARED KARORII;;;; 330E;SQUARE GARON;So;0;L; 30AC 30ED 30F3;;;;N;SQUARED GARON;;;; 330F;SQUARE GANMA;So;0;L; 30AC 30F3 30DE;;;;N;SQUARED GANMA;;;; 3310;SQUARE GIGA;So;0;L; 30AE 30AC;;;;N;SQUARED GIGA;;;; 3311;SQUARE GINII;So;0;L; 30AE 30CB 30FC;;;;N;SQUARED GINII;;;; 3312;SQUARE KYURII;So;0;L; 30AD 30E5 30EA 30FC;;;;N;SQUARED KYURII;;;; 3313;SQUARE GIRUDAA;So;0;L; 30AE 30EB 30C0 30FC;;;;N;SQUARED GIRUDAA;;;; 3314;SQUARE KIRO;So;0;L; 30AD 30ED;;;;N;SQUARED KIRO;;;; 3315;SQUARE KIROGURAMU;So;0;L; 30AD 30ED 30B0 30E9 30E0;;;;N;SQUARED KIROGURAMU;;;; 3316;SQUARE KIROMEETORU;So;0;L; 30AD 30ED 30E1 30FC 30C8 30EB;;;;N;SQUARED KIROMEETORU;;;; 3317;SQUARE KIROWATTO;So;0;L; 30AD 30ED 30EF 30C3 30C8;;;;N;SQUARED KIROWATTO;;;; 3318;SQUARE GURAMU;So;0;L; 30B0 30E9 30E0;;;;N;SQUARED GURAMU;;;; 3319;SQUARE GURAMUTON;So;0;L; 30B0 30E9 30E0 30C8 30F3;;;;N;SQUARED GURAMUTON;;;; 331A;SQUARE KURUZEIRO;So;0;L; 30AF 30EB 30BC 30A4 30ED;;;;N;SQUARED KURUZEIRO;;;; 331B;SQUARE KUROONE;So;0;L; 30AF 30ED 30FC 30CD;;;;N;SQUARED KUROONE;;;; 331C;SQUARE KEESU;So;0;L; 30B1 30FC 30B9;;;;N;SQUARED KEESU;;;; 331D;SQUARE KORUNA;So;0;L; 30B3 30EB 30CA;;;;N;SQUARED KORUNA;;;; 331E;SQUARE KOOPO;So;0;L; 30B3 30FC 30DD;;;;N;SQUARED KOOPO;;;; 331F;SQUARE SAIKURU;So;0;L; 30B5 30A4 30AF 30EB;;;;N;SQUARED SAIKURU;;;; 3320;SQUARE SANTIIMU;So;0;L; 30B5 30F3 30C1 30FC 30E0;;;;N;SQUARED SANTIIMU;;;; 3321;SQUARE SIRINGU;So;0;L; 30B7 30EA 30F3 30B0;;;;N;SQUARED SIRINGU;;;; 3322;SQUARE SENTI;So;0;L; 30BB 30F3 30C1;;;;N;SQUARED SENTI;;;; 3323;SQUARE SENTO;So;0;L; 30BB 30F3 30C8;;;;N;SQUARED SENTO;;;; 3324;SQUARE DAASU;So;0;L; 30C0 30FC 30B9;;;;N;SQUARED DAASU;;;; 3325;SQUARE DESI;So;0;L; 30C7 30B7;;;;N;SQUARED DESI;;;; 3326;SQUARE DORU;So;0;L; 30C9 30EB;;;;N;SQUARED DORU;;;; 3327;SQUARE TON;So;0;L; 30C8 30F3;;;;N;SQUARED TON;;;; 3328;SQUARE NANO;So;0;L; 30CA 30CE;;;;N;SQUARED NANO;;;; 3329;SQUARE NOTTO;So;0;L; 30CE 30C3 30C8;;;;N;SQUARED NOTTO;;;; 332A;SQUARE HAITU;So;0;L; 30CF 30A4 30C4;;;;N;SQUARED HAITU;;;; 332B;SQUARE PAASENTO;So;0;L; 30D1 30FC 30BB 30F3 30C8;;;;N;SQUARED PAASENTO;;;; 332C;SQUARE PAATU;So;0;L; 30D1 30FC 30C4;;;;N;SQUARED PAATU;;;; 332D;SQUARE BAARERU;So;0;L; 30D0 30FC 30EC 30EB;;;;N;SQUARED BAARERU;;;; 332E;SQUARE PIASUTORU;So;0;L; 30D4 30A2 30B9 30C8 30EB;;;;N;SQUARED PIASUTORU;;;; 332F;SQUARE PIKURU;So;0;L; 30D4 30AF 30EB;;;;N;SQUARED PIKURU;;;; 3330;SQUARE PIKO;So;0;L; 30D4 30B3;;;;N;SQUARED PIKO;;;; 3331;SQUARE BIRU;So;0;L; 30D3 30EB;;;;N;SQUARED BIRU;;;; 3332;SQUARE HUARADDO;So;0;L; 30D5 30A1 30E9 30C3 30C9;;;;N;SQUARED HUARADDO;;;; 3333;SQUARE HUIITO;So;0;L; 30D5 30A3 30FC 30C8;;;;N;SQUARED HUIITO;;;; 3334;SQUARE BUSSYERU;So;0;L; 30D6 30C3 30B7 30A7 30EB;;;;N;SQUARED BUSSYERU;;;; 3335;SQUARE HURAN;So;0;L; 30D5 30E9 30F3;;;;N;SQUARED HURAN;;;; 3336;SQUARE HEKUTAARU;So;0;L; 30D8 30AF 30BF 30FC 30EB;;;;N;SQUARED HEKUTAARU;;;; 3337;SQUARE PESO;So;0;L; 30DA 30BD;;;;N;SQUARED PESO;;;; 3338;SQUARE PENIHI;So;0;L; 30DA 30CB 30D2;;;;N;SQUARED PENIHI;;;; 3339;SQUARE HERUTU;So;0;L; 30D8 30EB 30C4;;;;N;SQUARED HERUTU;;;; 333A;SQUARE PENSU;So;0;L; 30DA 30F3 30B9;;;;N;SQUARED PENSU;;;; 333B;SQUARE PEEZI;So;0;L; 30DA 30FC 30B8;;;;N;SQUARED PEEZI;;;; 333C;SQUARE BEETA;So;0;L; 30D9 30FC 30BF;;;;N;SQUARED BEETA;;;; 333D;SQUARE POINTO;So;0;L; 30DD 30A4 30F3 30C8;;;;N;SQUARED POINTO;;;; 333E;SQUARE BORUTO;So;0;L; 30DC 30EB 30C8;;;;N;SQUARED BORUTO;;;; 333F;SQUARE HON;So;0;L; 30DB 30F3;;;;N;SQUARED HON;;;; 3340;SQUARE PONDO;So;0;L; 30DD 30F3 30C9;;;;N;SQUARED PONDO;;;; 3341;SQUARE HOORU;So;0;L; 30DB 30FC 30EB;;;;N;SQUARED HOORU;;;; 3342;SQUARE HOON;So;0;L; 30DB 30FC 30F3;;;;N;SQUARED HOON;;;; 3343;SQUARE MAIKURO;So;0;L; 30DE 30A4 30AF 30ED;;;;N;SQUARED MAIKURO;;;; 3344;SQUARE MAIRU;So;0;L; 30DE 30A4 30EB;;;;N;SQUARED MAIRU;;;; 3345;SQUARE MAHHA;So;0;L; 30DE 30C3 30CF;;;;N;SQUARED MAHHA;;;; 3346;SQUARE MARUKU;So;0;L; 30DE 30EB 30AF;;;;N;SQUARED MARUKU;;;; 3347;SQUARE MANSYON;So;0;L; 30DE 30F3 30B7 30E7 30F3;;;;N;SQUARED MANSYON;;;; 3348;SQUARE MIKURON;So;0;L; 30DF 30AF 30ED 30F3;;;;N;SQUARED MIKURON;;;; 3349;SQUARE MIRI;So;0;L; 30DF 30EA;;;;N;SQUARED MIRI;;;; 334A;SQUARE MIRIBAARU;So;0;L; 30DF 30EA 30D0 30FC 30EB;;;;N;SQUARED MIRIBAARU;;;; 334B;SQUARE MEGA;So;0;L; 30E1 30AC;;;;N;SQUARED MEGA;;;; 334C;SQUARE MEGATON;So;0;L; 30E1 30AC 30C8 30F3;;;;N;SQUARED MEGATON;;;; 334D;SQUARE MEETORU;So;0;L; 30E1 30FC 30C8 30EB;;;;N;SQUARED MEETORU;;;; 334E;SQUARE YAADO;So;0;L; 30E4 30FC 30C9;;;;N;SQUARED YAADO;;;; 334F;SQUARE YAARU;So;0;L; 30E4 30FC 30EB;;;;N;SQUARED YAARU;;;; 3350;SQUARE YUAN;So;0;L; 30E6 30A2 30F3;;;;N;SQUARED YUAN;;;; 3351;SQUARE RITTORU;So;0;L; 30EA 30C3 30C8 30EB;;;;N;SQUARED RITTORU;;;; 3352;SQUARE RIRA;So;0;L; 30EA 30E9;;;;N;SQUARED RIRA;;;; 3353;SQUARE RUPII;So;0;L; 30EB 30D4 30FC;;;;N;SQUARED RUPII;;;; 3354;SQUARE RUUBURU;So;0;L; 30EB 30FC 30D6 30EB;;;;N;SQUARED RUUBURU;;;; 3355;SQUARE REMU;So;0;L; 30EC 30E0;;;;N;SQUARED REMU;;;; 3356;SQUARE RENTOGEN;So;0;L; 30EC 30F3 30C8 30B2 30F3;;;;N;SQUARED RENTOGEN;;;; 3357;SQUARE WATTO;So;0;L; 30EF 30C3 30C8;;;;N;SQUARED WATTO;;;; 3358;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO;So;0;L; 0030 70B9;;;;N;;;;; 3359;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE;So;0;L; 0031 70B9;;;;N;;;;; 335A;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO;So;0;L; 0032 70B9;;;;N;;;;; 335B;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE;So;0;L; 0033 70B9;;;;N;;;;; 335C;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR;So;0;L; 0034 70B9;;;;N;;;;; 335D;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE;So;0;L; 0035 70B9;;;;N;;;;; 335E;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX;So;0;L; 0036 70B9;;;;N;;;;; 335F;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN;So;0;L; 0037 70B9;;;;N;;;;; 3360;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT;So;0;L; 0038 70B9;;;;N;;;;; 3361;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE;So;0;L; 0039 70B9;;;;N;;;;; 3362;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN;So;0;L; 0031 0030 70B9;;;;N;;;;; 3363;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN;So;0;L; 0031 0031 70B9;;;;N;;;;; 3364;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE;So;0;L; 0031 0032 70B9;;;;N;;;;; 3365;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN;So;0;L; 0031 0033 70B9;;;;N;;;;; 3366;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN;So;0;L; 0031 0034 70B9;;;;N;;;;; 3367;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN;So;0;L; 0031 0035 70B9;;;;N;;;;; 3368;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN;So;0;L; 0031 0036 70B9;;;;N;;;;; 3369;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN;So;0;L; 0031 0037 70B9;;;;N;;;;; 336A;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN;So;0;L; 0031 0038 70B9;;;;N;;;;; 336B;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN;So;0;L; 0031 0039 70B9;;;;N;;;;; 336C;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY;So;0;L; 0032 0030 70B9;;;;N;;;;; 336D;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE;So;0;L; 0032 0031 70B9;;;;N;;;;; 336E;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO;So;0;L; 0032 0032 70B9;;;;N;;;;; 336F;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE;So;0;L; 0032 0033 70B9;;;;N;;;;; 3370;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR;So;0;L; 0032 0034 70B9;;;;N;;;;; 3371;SQUARE HPA;So;0;L; 0068 0050 0061;;;;N;;;;; 3372;SQUARE DA;So;0;L; 0064 0061;;;;N;;;;; 3373;SQUARE AU;So;0;L; 0041 0055;;;;N;;;;; 3374;SQUARE BAR;So;0;L; 0062 0061 0072;;;;N;;;;; 3375;SQUARE OV;So;0;L; 006F 0056;;;;N;;;;; 3376;SQUARE PC;So;0;L; 0070 0063;;;;N;;;;; 337B;SQUARE ERA NAME HEISEI;So;0;L; 5E73 6210;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME HEISEI;;;; 337C;SQUARE ERA NAME SYOUWA;So;0;L; 662D 548C;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME SYOUWA;;;; 337D;SQUARE ERA NAME TAISYOU;So;0;L; 5927 6B63;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME TAISYOU;;;; 337E;SQUARE ERA NAME MEIZI;So;0;L; 660E 6CBB;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME MEIZI;;;; 337F;SQUARE CORPORATION;So;0;L; 682A 5F0F 4F1A 793E;;;;N;SQUARED FOUR IDEOGRAPHS CORPORATION;;;; 3380;SQUARE PA AMPS;So;0;L; 0070 0041;;;;N;SQUARED PA AMPS;;;; 3381;SQUARE NA;So;0;L; 006E 0041;;;;N;SQUARED NA;;;; 3382;SQUARE MU A;So;0;L; 03BC 0041;;;;N;SQUARED MU A;;;; 3383;SQUARE MA;So;0;L; 006D 0041;;;;N;SQUARED MA;;;; 3384;SQUARE KA;So;0;L; 006B 0041;;;;N;SQUARED KA;;;; 3385;SQUARE KB;So;0;L; 004B 0042;;;;N;SQUARED KB;;;; 3386;SQUARE MB;So;0;L; 004D 0042;;;;N;SQUARED MB;;;; 3387;SQUARE GB;So;0;L; 0047 0042;;;;N;SQUARED GB;;;; 3388;SQUARE CAL;So;0;L; 0063 0061 006C;;;;N;SQUARED CAL;;;; 3389;SQUARE KCAL;So;0;L; 006B 0063 0061 006C;;;;N;SQUARED KCAL;;;; 338A;SQUARE PF;So;0;L; 0070 0046;;;;N;SQUARED PF;;;; 338B;SQUARE NF;So;0;L; 006E 0046;;;;N;SQUARED NF;;;; 338C;SQUARE MU F;So;0;L; 03BC 0046;;;;N;SQUARED MU F;;;; 338D;SQUARE MU G;So;0;L; 03BC 0067;;;;N;SQUARED MU G;;;; 338E;SQUARE MG;So;0;L; 006D 0067;;;;N;SQUARED MG;;;; 338F;SQUARE KG;So;0;L; 006B 0067;;;;N;SQUARED KG;;;; 3390;SQUARE HZ;So;0;L; 0048 007A;;;;N;SQUARED HZ;;;; 3391;SQUARE KHZ;So;0;L; 006B 0048 007A;;;;N;SQUARED KHZ;;;; 3392;SQUARE MHZ;So;0;L; 004D 0048 007A;;;;N;SQUARED MHZ;;;; 3393;SQUARE GHZ;So;0;L; 0047 0048 007A;;;;N;SQUARED GHZ;;;; 3394;SQUARE THZ;So;0;L; 0054 0048 007A;;;;N;SQUARED THZ;;;; 3395;SQUARE MU L;So;0;L; 03BC 2113;;;;N;SQUARED MU L;;;; 3396;SQUARE ML;So;0;L; 006D 2113;;;;N;SQUARED ML;;;; 3397;SQUARE DL;So;0;L; 0064 2113;;;;N;SQUARED DL;;;; 3398;SQUARE KL;So;0;L; 006B 2113;;;;N;SQUARED KL;;;; 3399;SQUARE FM;So;0;L; 0066 006D;;;;N;SQUARED FM;;;; 339A;SQUARE NM;So;0;L; 006E 006D;;;;N;SQUARED NM;;;; 339B;SQUARE MU M;So;0;L; 03BC 006D;;;;N;SQUARED MU M;;;; 339C;SQUARE MM;So;0;L; 006D 006D;;;;N;SQUARED MM;;;; 339D;SQUARE CM;So;0;L; 0063 006D;;;;N;SQUARED CM;;;; 339E;SQUARE KM;So;0;L; 006B 006D;;;;N;SQUARED KM;;;; 339F;SQUARE MM SQUARED;So;0;L; 006D 006D 00B2;;;;N;SQUARED MM SQUARED;;;; 33A0;SQUARE CM SQUARED;So;0;L; 0063 006D 00B2;;;;N;SQUARED CM SQUARED;;;; 33A1;SQUARE M SQUARED;So;0;L; 006D 00B2;;;;N;SQUARED M SQUARED;;;; 33A2;SQUARE KM SQUARED;So;0;L; 006B 006D 00B2;;;;N;SQUARED KM SQUARED;;;; 33A3;SQUARE MM CUBED;So;0;L; 006D 006D 00B3;;;;N;SQUARED MM CUBED;;;; 33A4;SQUARE CM CUBED;So;0;L; 0063 006D 00B3;;;;N;SQUARED CM CUBED;;;; 33A5;SQUARE M CUBED;So;0;L; 006D 00B3;;;;N;SQUARED M CUBED;;;; 33A6;SQUARE KM CUBED;So;0;L; 006B 006D 00B3;;;;N;SQUARED KM CUBED;;;; 33A7;SQUARE M OVER S;So;0;L; 006D 2215 0073;;;;N;SQUARED M OVER S;;;; 33A8;SQUARE M OVER S SQUARED;So;0;L; 006D 2215 0073 00B2;;;;N;SQUARED M OVER S SQUARED;;;; 33A9;SQUARE PA;So;0;L; 0050 0061;;;;N;SQUARED PA;;;; 33AA;SQUARE KPA;So;0;L; 006B 0050 0061;;;;N;SQUARED KPA;;;; 33AB;SQUARE MPA;So;0;L; 004D 0050 0061;;;;N;SQUARED MPA;;;; 33AC;SQUARE GPA;So;0;L; 0047 0050 0061;;;;N;SQUARED GPA;;;; 33AD;SQUARE RAD;So;0;L; 0072 0061 0064;;;;N;SQUARED RAD;;;; 33AE;SQUARE RAD OVER S;So;0;L; 0072 0061 0064 2215 0073;;;;N;SQUARED RAD OVER S;;;; 33AF;SQUARE RAD OVER S SQUARED;So;0;L; 0072 0061 0064 2215 0073 00B2;;;;N;SQUARED RAD OVER S SQUARED;;;; 33B0;SQUARE PS;So;0;L; 0070 0073;;;;N;SQUARED PS;;;; 33B1;SQUARE NS;So;0;L; 006E 0073;;;;N;SQUARED NS;;;; 33B2;SQUARE MU S;So;0;L; 03BC 0073;;;;N;SQUARED MU S;;;; 33B3;SQUARE MS;So;0;L; 006D 0073;;;;N;SQUARED MS;;;; 33B4;SQUARE PV;So;0;L; 0070 0056;;;;N;SQUARED PV;;;; 33B5;SQUARE NV;So;0;L; 006E 0056;;;;N;SQUARED NV;;;; 33B6;SQUARE MU V;So;0;L; 03BC 0056;;;;N;SQUARED MU V;;;; 33B7;SQUARE MV;So;0;L; 006D 0056;;;;N;SQUARED MV;;;; 33B8;SQUARE KV;So;0;L; 006B 0056;;;;N;SQUARED KV;;;; 33B9;SQUARE MV MEGA;So;0;L; 004D 0056;;;;N;SQUARED MV MEGA;;;; 33BA;SQUARE PW;So;0;L; 0070 0057;;;;N;SQUARED PW;;;; 33BB;SQUARE NW;So;0;L; 006E 0057;;;;N;SQUARED NW;;;; 33BC;SQUARE MU W;So;0;L; 03BC 0057;;;;N;SQUARED MU W;;;; 33BD;SQUARE MW;So;0;L; 006D 0057;;;;N;SQUARED MW;;;; 33BE;SQUARE KW;So;0;L; 006B 0057;;;;N;SQUARED KW;;;; 33BF;SQUARE MW MEGA;So;0;L; 004D 0057;;;;N;SQUARED MW MEGA;;;; 33C0;SQUARE K OHM;So;0;L; 006B 03A9;;;;N;SQUARED K OHM;;;; 33C1;SQUARE M OHM;So;0;L; 004D 03A9;;;;N;SQUARED M OHM;;;; 33C2;SQUARE AM;So;0;L; 0061 002E 006D 002E;;;;N;SQUARED AM;;;; 33C3;SQUARE BQ;So;0;L; 0042 0071;;;;N;SQUARED BQ;;;; 33C4;SQUARE CC;So;0;L; 0063 0063;;;;N;SQUARED CC;;;; 33C5;SQUARE CD;So;0;L; 0063 0064;;;;N;SQUARED CD;;;; 33C6;SQUARE C OVER KG;So;0;L; 0043 2215 006B 0067;;;;N;SQUARED C OVER KG;;;; 33C7;SQUARE CO;So;0;L; 0043 006F 002E;;;;N;SQUARED CO;;;; 33C8;SQUARE DB;So;0;L; 0064 0042;;;;N;SQUARED DB;;;; 33C9;SQUARE GY;So;0;L; 0047 0079;;;;N;SQUARED GY;;;; 33CA;SQUARE HA;So;0;L; 0068 0061;;;;N;SQUARED HA;;;; 33CB;SQUARE HP;So;0;L; 0048 0050;;;;N;SQUARED HP;;;; 33CC;SQUARE IN;So;0;L; 0069 006E;;;;N;SQUARED IN;;;; 33CD;SQUARE KK;So;0;L; 004B 004B;;;;N;SQUARED KK;;;; 33CE;SQUARE KM CAPITAL;So;0;L; 004B 004D;;;;N;SQUARED KM CAPITAL;;;; 33CF;SQUARE KT;So;0;L; 006B 0074;;;;N;SQUARED KT;;;; 33D0;SQUARE LM;So;0;L; 006C 006D;;;;N;SQUARED LM;;;; 33D1;SQUARE LN;So;0;L; 006C 006E;;;;N;SQUARED LN;;;; 33D2;SQUARE LOG;So;0;L; 006C 006F 0067;;;;N;SQUARED LOG;;;; 33D3;SQUARE LX;So;0;L; 006C 0078;;;;N;SQUARED LX;;;; 33D4;SQUARE MB SMALL;So;0;L; 006D 0062;;;;N;SQUARED MB SMALL;;;; 33D5;SQUARE MIL;So;0;L; 006D 0069 006C;;;;N;SQUARED MIL;;;; 33D6;SQUARE MOL;So;0;L; 006D 006F 006C;;;;N;SQUARED MOL;;;; 33D7;SQUARE PH;So;0;L; 0050 0048;;;;N;SQUARED PH;;;; 33D8;SQUARE PM;So;0;L; 0070 002E 006D 002E;;;;N;SQUARED PM;;;; 33D9;SQUARE PPM;So;0;L; 0050 0050 004D;;;;N;SQUARED PPM;;;; 33DA;SQUARE PR;So;0;L; 0050 0052;;;;N;SQUARED PR;;;; 33DB;SQUARE SR;So;0;L; 0073 0072;;;;N;SQUARED SR;;;; 33DC;SQUARE SV;So;0;L; 0053 0076;;;;N;SQUARED SV;;;; 33DD;SQUARE WB;So;0;L; 0057 0062;;;;N;SQUARED WB;;;; 33E0;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE;So;0;L; 0031 65E5;;;;N;;;;; 33E1;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO;So;0;L; 0032 65E5;;;;N;;;;; 33E2;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE;So;0;L; 0033 65E5;;;;N;;;;; 33E3;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR;So;0;L; 0034 65E5;;;;N;;;;; 33E4;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE;So;0;L; 0035 65E5;;;;N;;;;; 33E5;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX;So;0;L; 0036 65E5;;;;N;;;;; 33E6;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN;So;0;L; 0037 65E5;;;;N;;;;; 33E7;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT;So;0;L; 0038 65E5;;;;N;;;;; 33E8;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE;So;0;L; 0039 65E5;;;;N;;;;; 33E9;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN;So;0;L; 0031 0030 65E5;;;;N;;;;; 33EA;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN;So;0;L; 0031 0031 65E5;;;;N;;;;; 33EB;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE;So;0;L; 0031 0032 65E5;;;;N;;;;; 33EC;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN;So;0;L; 0031 0033 65E5;;;;N;;;;; 33ED;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN;So;0;L; 0031 0034 65E5;;;;N;;;;; 33EE;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN;So;0;L; 0031 0035 65E5;;;;N;;;;; 33EF;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN;So;0;L; 0031 0036 65E5;;;;N;;;;; 33F0;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN;So;0;L; 0031 0037 65E5;;;;N;;;;; 33F1;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN;So;0;L; 0031 0038 65E5;;;;N;;;;; 33F2;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN;So;0;L; 0031 0039 65E5;;;;N;;;;; 33F3;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY;So;0;L; 0032 0030 65E5;;;;N;;;;; 33F4;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE;So;0;L; 0032 0031 65E5;;;;N;;;;; 33F5;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO;So;0;L; 0032 0032 65E5;;;;N;;;;; 33F6;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE;So;0;L; 0032 0033 65E5;;;;N;;;;; 33F7;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR;So;0;L; 0032 0034 65E5;;;;N;;;;; 33F8;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE;So;0;L; 0032 0035 65E5;;;;N;;;;; 33F9;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX;So;0;L; 0032 0036 65E5;;;;N;;;;; 33FA;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN;So;0;L; 0032 0037 65E5;;;;N;;;;; 33FB;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT;So;0;L; 0032 0038 65E5;;;;N;;;;; 33FC;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE;So;0;L; 0032 0039 65E5;;;;N;;;;; 33FD;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY;So;0;L; 0033 0030 65E5;;;;N;;;;; 33FE;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE;So;0;L; 0033 0031 65E5;;;;N;;;;; 3400;;Lo;0;L;;;;;N;;;;; 4DB5;;Lo;0;L;;;;;N;;;;; 4E00;;Lo;0;L;;;;;N;;;;; 9FA5;;Lo;0;L;;;;;N;;;;; A000;YI SYLLABLE IT;Lo;0;L;;;;;N;;;;; A001;YI SYLLABLE IX;Lo;0;L;;;;;N;;;;; A002;YI SYLLABLE I;Lo;0;L;;;;;N;;;;; A003;YI SYLLABLE IP;Lo;0;L;;;;;N;;;;; A004;YI SYLLABLE IET;Lo;0;L;;;;;N;;;;; A005;YI SYLLABLE IEX;Lo;0;L;;;;;N;;;;; A006;YI SYLLABLE IE;Lo;0;L;;;;;N;;;;; A007;YI SYLLABLE IEP;Lo;0;L;;;;;N;;;;; A008;YI SYLLABLE AT;Lo;0;L;;;;;N;;;;; A009;YI SYLLABLE AX;Lo;0;L;;;;;N;;;;; A00A;YI SYLLABLE A;Lo;0;L;;;;;N;;;;; A00B;YI SYLLABLE AP;Lo;0;L;;;;;N;;;;; A00C;YI SYLLABLE UOX;Lo;0;L;;;;;N;;;;; A00D;YI SYLLABLE UO;Lo;0;L;;;;;N;;;;; A00E;YI SYLLABLE UOP;Lo;0;L;;;;;N;;;;; A00F;YI SYLLABLE OT;Lo;0;L;;;;;N;;;;; A010;YI SYLLABLE OX;Lo;0;L;;;;;N;;;;; A011;YI SYLLABLE O;Lo;0;L;;;;;N;;;;; A012;YI SYLLABLE OP;Lo;0;L;;;;;N;;;;; A013;YI SYLLABLE EX;Lo;0;L;;;;;N;;;;; A014;YI SYLLABLE E;Lo;0;L;;;;;N;;;;; A015;YI SYLLABLE WU;Lo;0;L;;;;;N;;;;; A016;YI SYLLABLE BIT;Lo;0;L;;;;;N;;;;; A017;YI SYLLABLE BIX;Lo;0;L;;;;;N;;;;; A018;YI SYLLABLE BI;Lo;0;L;;;;;N;;;;; A019;YI SYLLABLE BIP;Lo;0;L;;;;;N;;;;; A01A;YI SYLLABLE BIET;Lo;0;L;;;;;N;;;;; A01B;YI SYLLABLE BIEX;Lo;0;L;;;;;N;;;;; A01C;YI SYLLABLE BIE;Lo;0;L;;;;;N;;;;; A01D;YI SYLLABLE BIEP;Lo;0;L;;;;;N;;;;; A01E;YI SYLLABLE BAT;Lo;0;L;;;;;N;;;;; A01F;YI SYLLABLE BAX;Lo;0;L;;;;;N;;;;; A020;YI SYLLABLE BA;Lo;0;L;;;;;N;;;;; A021;YI SYLLABLE BAP;Lo;0;L;;;;;N;;;;; A022;YI SYLLABLE BUOX;Lo;0;L;;;;;N;;;;; A023;YI SYLLABLE BUO;Lo;0;L;;;;;N;;;;; A024;YI SYLLABLE BUOP;Lo;0;L;;;;;N;;;;; A025;YI SYLLABLE BOT;Lo;0;L;;;;;N;;;;; A026;YI SYLLABLE BOX;Lo;0;L;;;;;N;;;;; A027;YI SYLLABLE BO;Lo;0;L;;;;;N;;;;; A028;YI SYLLABLE BOP;Lo;0;L;;;;;N;;;;; A029;YI SYLLABLE BEX;Lo;0;L;;;;;N;;;;; A02A;YI SYLLABLE BE;Lo;0;L;;;;;N;;;;; A02B;YI SYLLABLE BEP;Lo;0;L;;;;;N;;;;; A02C;YI SYLLABLE BUT;Lo;0;L;;;;;N;;;;; A02D;YI SYLLABLE BUX;Lo;0;L;;;;;N;;;;; A02E;YI SYLLABLE BU;Lo;0;L;;;;;N;;;;; A02F;YI SYLLABLE BUP;Lo;0;L;;;;;N;;;;; A030;YI SYLLABLE BURX;Lo;0;L;;;;;N;;;;; A031;YI SYLLABLE BUR;Lo;0;L;;;;;N;;;;; A032;YI SYLLABLE BYT;Lo;0;L;;;;;N;;;;; A033;YI SYLLABLE BYX;Lo;0;L;;;;;N;;;;; A034;YI SYLLABLE BY;Lo;0;L;;;;;N;;;;; A035;YI SYLLABLE BYP;Lo;0;L;;;;;N;;;;; A036;YI SYLLABLE BYRX;Lo;0;L;;;;;N;;;;; A037;YI SYLLABLE BYR;Lo;0;L;;;;;N;;;;; A038;YI SYLLABLE PIT;Lo;0;L;;;;;N;;;;; A039;YI SYLLABLE PIX;Lo;0;L;;;;;N;;;;; A03A;YI SYLLABLE PI;Lo;0;L;;;;;N;;;;; A03B;YI SYLLABLE PIP;Lo;0;L;;;;;N;;;;; A03C;YI SYLLABLE PIEX;Lo;0;L;;;;;N;;;;; A03D;YI SYLLABLE PIE;Lo;0;L;;;;;N;;;;; A03E;YI SYLLABLE PIEP;Lo;0;L;;;;;N;;;;; A03F;YI SYLLABLE PAT;Lo;0;L;;;;;N;;;;; A040;YI SYLLABLE PAX;Lo;0;L;;;;;N;;;;; A041;YI SYLLABLE PA;Lo;0;L;;;;;N;;;;; A042;YI SYLLABLE PAP;Lo;0;L;;;;;N;;;;; A043;YI SYLLABLE PUOX;Lo;0;L;;;;;N;;;;; A044;YI SYLLABLE PUO;Lo;0;L;;;;;N;;;;; A045;YI SYLLABLE PUOP;Lo;0;L;;;;;N;;;;; A046;YI SYLLABLE POT;Lo;0;L;;;;;N;;;;; A047;YI SYLLABLE POX;Lo;0;L;;;;;N;;;;; A048;YI SYLLABLE PO;Lo;0;L;;;;;N;;;;; A049;YI SYLLABLE POP;Lo;0;L;;;;;N;;;;; A04A;YI SYLLABLE PUT;Lo;0;L;;;;;N;;;;; A04B;YI SYLLABLE PUX;Lo;0;L;;;;;N;;;;; A04C;YI SYLLABLE PU;Lo;0;L;;;;;N;;;;; A04D;YI SYLLABLE PUP;Lo;0;L;;;;;N;;;;; A04E;YI SYLLABLE PURX;Lo;0;L;;;;;N;;;;; A04F;YI SYLLABLE PUR;Lo;0;L;;;;;N;;;;; A050;YI SYLLABLE PYT;Lo;0;L;;;;;N;;;;; A051;YI SYLLABLE PYX;Lo;0;L;;;;;N;;;;; A052;YI SYLLABLE PY;Lo;0;L;;;;;N;;;;; A053;YI SYLLABLE PYP;Lo;0;L;;;;;N;;;;; A054;YI SYLLABLE PYRX;Lo;0;L;;;;;N;;;;; A055;YI SYLLABLE PYR;Lo;0;L;;;;;N;;;;; A056;YI SYLLABLE BBIT;Lo;0;L;;;;;N;;;;; A057;YI SYLLABLE BBIX;Lo;0;L;;;;;N;;;;; A058;YI SYLLABLE BBI;Lo;0;L;;;;;N;;;;; A059;YI SYLLABLE BBIP;Lo;0;L;;;;;N;;;;; A05A;YI SYLLABLE BBIET;Lo;0;L;;;;;N;;;;; A05B;YI SYLLABLE BBIEX;Lo;0;L;;;;;N;;;;; A05C;YI SYLLABLE BBIE;Lo;0;L;;;;;N;;;;; A05D;YI SYLLABLE BBIEP;Lo;0;L;;;;;N;;;;; A05E;YI SYLLABLE BBAT;Lo;0;L;;;;;N;;;;; A05F;YI SYLLABLE BBAX;Lo;0;L;;;;;N;;;;; A060;YI SYLLABLE BBA;Lo;0;L;;;;;N;;;;; A061;YI SYLLABLE BBAP;Lo;0;L;;;;;N;;;;; A062;YI SYLLABLE BBUOX;Lo;0;L;;;;;N;;;;; A063;YI SYLLABLE BBUO;Lo;0;L;;;;;N;;;;; A064;YI SYLLABLE BBUOP;Lo;0;L;;;;;N;;;;; A065;YI SYLLABLE BBOT;Lo;0;L;;;;;N;;;;; A066;YI SYLLABLE BBOX;Lo;0;L;;;;;N;;;;; A067;YI SYLLABLE BBO;Lo;0;L;;;;;N;;;;; A068;YI SYLLABLE BBOP;Lo;0;L;;;;;N;;;;; A069;YI SYLLABLE BBEX;Lo;0;L;;;;;N;;;;; A06A;YI SYLLABLE BBE;Lo;0;L;;;;;N;;;;; A06B;YI SYLLABLE BBEP;Lo;0;L;;;;;N;;;;; A06C;YI SYLLABLE BBUT;Lo;0;L;;;;;N;;;;; A06D;YI SYLLABLE BBUX;Lo;0;L;;;;;N;;;;; A06E;YI SYLLABLE BBU;Lo;0;L;;;;;N;;;;; A06F;YI SYLLABLE BBUP;Lo;0;L;;;;;N;;;;; A070;YI SYLLABLE BBURX;Lo;0;L;;;;;N;;;;; A071;YI SYLLABLE BBUR;Lo;0;L;;;;;N;;;;; A072;YI SYLLABLE BBYT;Lo;0;L;;;;;N;;;;; A073;YI SYLLABLE BBYX;Lo;0;L;;;;;N;;;;; A074;YI SYLLABLE BBY;Lo;0;L;;;;;N;;;;; A075;YI SYLLABLE BBYP;Lo;0;L;;;;;N;;;;; A076;YI SYLLABLE NBIT;Lo;0;L;;;;;N;;;;; A077;YI SYLLABLE NBIX;Lo;0;L;;;;;N;;;;; A078;YI SYLLABLE NBI;Lo;0;L;;;;;N;;;;; A079;YI SYLLABLE NBIP;Lo;0;L;;;;;N;;;;; A07A;YI SYLLABLE NBIEX;Lo;0;L;;;;;N;;;;; A07B;YI SYLLABLE NBIE;Lo;0;L;;;;;N;;;;; A07C;YI SYLLABLE NBIEP;Lo;0;L;;;;;N;;;;; A07D;YI SYLLABLE NBAT;Lo;0;L;;;;;N;;;;; A07E;YI SYLLABLE NBAX;Lo;0;L;;;;;N;;;;; A07F;YI SYLLABLE NBA;Lo;0;L;;;;;N;;;;; A080;YI SYLLABLE NBAP;Lo;0;L;;;;;N;;;;; A081;YI SYLLABLE NBOT;Lo;0;L;;;;;N;;;;; A082;YI SYLLABLE NBOX;Lo;0;L;;;;;N;;;;; A083;YI SYLLABLE NBO;Lo;0;L;;;;;N;;;;; A084;YI SYLLABLE NBOP;Lo;0;L;;;;;N;;;;; A085;YI SYLLABLE NBUT;Lo;0;L;;;;;N;;;;; A086;YI SYLLABLE NBUX;Lo;0;L;;;;;N;;;;; A087;YI SYLLABLE NBU;Lo;0;L;;;;;N;;;;; A088;YI SYLLABLE NBUP;Lo;0;L;;;;;N;;;;; A089;YI SYLLABLE NBURX;Lo;0;L;;;;;N;;;;; A08A;YI SYLLABLE NBUR;Lo;0;L;;;;;N;;;;; A08B;YI SYLLABLE NBYT;Lo;0;L;;;;;N;;;;; A08C;YI SYLLABLE NBYX;Lo;0;L;;;;;N;;;;; A08D;YI SYLLABLE NBY;Lo;0;L;;;;;N;;;;; A08E;YI SYLLABLE NBYP;Lo;0;L;;;;;N;;;;; A08F;YI SYLLABLE NBYRX;Lo;0;L;;;;;N;;;;; A090;YI SYLLABLE NBYR;Lo;0;L;;;;;N;;;;; A091;YI SYLLABLE HMIT;Lo;0;L;;;;;N;;;;; A092;YI SYLLABLE HMIX;Lo;0;L;;;;;N;;;;; A093;YI SYLLABLE HMI;Lo;0;L;;;;;N;;;;; A094;YI SYLLABLE HMIP;Lo;0;L;;;;;N;;;;; A095;YI SYLLABLE HMIEX;Lo;0;L;;;;;N;;;;; A096;YI SYLLABLE HMIE;Lo;0;L;;;;;N;;;;; A097;YI SYLLABLE HMIEP;Lo;0;L;;;;;N;;;;; A098;YI SYLLABLE HMAT;Lo;0;L;;;;;N;;;;; A099;YI SYLLABLE HMAX;Lo;0;L;;;;;N;;;;; A09A;YI SYLLABLE HMA;Lo;0;L;;;;;N;;;;; A09B;YI SYLLABLE HMAP;Lo;0;L;;;;;N;;;;; A09C;YI SYLLABLE HMUOX;Lo;0;L;;;;;N;;;;; A09D;YI SYLLABLE HMUO;Lo;0;L;;;;;N;;;;; A09E;YI SYLLABLE HMUOP;Lo;0;L;;;;;N;;;;; A09F;YI SYLLABLE HMOT;Lo;0;L;;;;;N;;;;; A0A0;YI SYLLABLE HMOX;Lo;0;L;;;;;N;;;;; A0A1;YI SYLLABLE HMO;Lo;0;L;;;;;N;;;;; A0A2;YI SYLLABLE HMOP;Lo;0;L;;;;;N;;;;; A0A3;YI SYLLABLE HMUT;Lo;0;L;;;;;N;;;;; A0A4;YI SYLLABLE HMUX;Lo;0;L;;;;;N;;;;; A0A5;YI SYLLABLE HMU;Lo;0;L;;;;;N;;;;; A0A6;YI SYLLABLE HMUP;Lo;0;L;;;;;N;;;;; A0A7;YI SYLLABLE HMURX;Lo;0;L;;;;;N;;;;; A0A8;YI SYLLABLE HMUR;Lo;0;L;;;;;N;;;;; A0A9;YI SYLLABLE HMYX;Lo;0;L;;;;;N;;;;; A0AA;YI SYLLABLE HMY;Lo;0;L;;;;;N;;;;; A0AB;YI SYLLABLE HMYP;Lo;0;L;;;;;N;;;;; A0AC;YI SYLLABLE HMYRX;Lo;0;L;;;;;N;;;;; A0AD;YI SYLLABLE HMYR;Lo;0;L;;;;;N;;;;; A0AE;YI SYLLABLE MIT;Lo;0;L;;;;;N;;;;; A0AF;YI SYLLABLE MIX;Lo;0;L;;;;;N;;;;; A0B0;YI SYLLABLE MI;Lo;0;L;;;;;N;;;;; A0B1;YI SYLLABLE MIP;Lo;0;L;;;;;N;;;;; A0B2;YI SYLLABLE MIEX;Lo;0;L;;;;;N;;;;; A0B3;YI SYLLABLE MIE;Lo;0;L;;;;;N;;;;; A0B4;YI SYLLABLE MIEP;Lo;0;L;;;;;N;;;;; A0B5;YI SYLLABLE MAT;Lo;0;L;;;;;N;;;;; A0B6;YI SYLLABLE MAX;Lo;0;L;;;;;N;;;;; A0B7;YI SYLLABLE MA;Lo;0;L;;;;;N;;;;; A0B8;YI SYLLABLE MAP;Lo;0;L;;;;;N;;;;; A0B9;YI SYLLABLE MUOT;Lo;0;L;;;;;N;;;;; A0BA;YI SYLLABLE MUOX;Lo;0;L;;;;;N;;;;; A0BB;YI SYLLABLE MUO;Lo;0;L;;;;;N;;;;; A0BC;YI SYLLABLE MUOP;Lo;0;L;;;;;N;;;;; A0BD;YI SYLLABLE MOT;Lo;0;L;;;;;N;;;;; A0BE;YI SYLLABLE MOX;Lo;0;L;;;;;N;;;;; A0BF;YI SYLLABLE MO;Lo;0;L;;;;;N;;;;; A0C0;YI SYLLABLE MOP;Lo;0;L;;;;;N;;;;; A0C1;YI SYLLABLE MEX;Lo;0;L;;;;;N;;;;; A0C2;YI SYLLABLE ME;Lo;0;L;;;;;N;;;;; A0C3;YI SYLLABLE MUT;Lo;0;L;;;;;N;;;;; A0C4;YI SYLLABLE MUX;Lo;0;L;;;;;N;;;;; A0C5;YI SYLLABLE MU;Lo;0;L;;;;;N;;;;; A0C6;YI SYLLABLE MUP;Lo;0;L;;;;;N;;;;; A0C7;YI SYLLABLE MURX;Lo;0;L;;;;;N;;;;; A0C8;YI SYLLABLE MUR;Lo;0;L;;;;;N;;;;; A0C9;YI SYLLABLE MYT;Lo;0;L;;;;;N;;;;; A0CA;YI SYLLABLE MYX;Lo;0;L;;;;;N;;;;; A0CB;YI SYLLABLE MY;Lo;0;L;;;;;N;;;;; A0CC;YI SYLLABLE MYP;Lo;0;L;;;;;N;;;;; A0CD;YI SYLLABLE FIT;Lo;0;L;;;;;N;;;;; A0CE;YI SYLLABLE FIX;Lo;0;L;;;;;N;;;;; A0CF;YI SYLLABLE FI;Lo;0;L;;;;;N;;;;; A0D0;YI SYLLABLE FIP;Lo;0;L;;;;;N;;;;; A0D1;YI SYLLABLE FAT;Lo;0;L;;;;;N;;;;; A0D2;YI SYLLABLE FAX;Lo;0;L;;;;;N;;;;; A0D3;YI SYLLABLE FA;Lo;0;L;;;;;N;;;;; A0D4;YI SYLLABLE FAP;Lo;0;L;;;;;N;;;;; A0D5;YI SYLLABLE FOX;Lo;0;L;;;;;N;;;;; A0D6;YI SYLLABLE FO;Lo;0;L;;;;;N;;;;; A0D7;YI SYLLABLE FOP;Lo;0;L;;;;;N;;;;; A0D8;YI SYLLABLE FUT;Lo;0;L;;;;;N;;;;; A0D9;YI SYLLABLE FUX;Lo;0;L;;;;;N;;;;; A0DA;YI SYLLABLE FU;Lo;0;L;;;;;N;;;;; A0DB;YI SYLLABLE FUP;Lo;0;L;;;;;N;;;;; A0DC;YI SYLLABLE FURX;Lo;0;L;;;;;N;;;;; A0DD;YI SYLLABLE FUR;Lo;0;L;;;;;N;;;;; A0DE;YI SYLLABLE FYT;Lo;0;L;;;;;N;;;;; A0DF;YI SYLLABLE FYX;Lo;0;L;;;;;N;;;;; A0E0;YI SYLLABLE FY;Lo;0;L;;;;;N;;;;; A0E1;YI SYLLABLE FYP;Lo;0;L;;;;;N;;;;; A0E2;YI SYLLABLE VIT;Lo;0;L;;;;;N;;;;; A0E3;YI SYLLABLE VIX;Lo;0;L;;;;;N;;;;; A0E4;YI SYLLABLE VI;Lo;0;L;;;;;N;;;;; A0E5;YI SYLLABLE VIP;Lo;0;L;;;;;N;;;;; A0E6;YI SYLLABLE VIET;Lo;0;L;;;;;N;;;;; A0E7;YI SYLLABLE VIEX;Lo;0;L;;;;;N;;;;; A0E8;YI SYLLABLE VIE;Lo;0;L;;;;;N;;;;; A0E9;YI SYLLABLE VIEP;Lo;0;L;;;;;N;;;;; A0EA;YI SYLLABLE VAT;Lo;0;L;;;;;N;;;;; A0EB;YI SYLLABLE VAX;Lo;0;L;;;;;N;;;;; A0EC;YI SYLLABLE VA;Lo;0;L;;;;;N;;;;; A0ED;YI SYLLABLE VAP;Lo;0;L;;;;;N;;;;; A0EE;YI SYLLABLE VOT;Lo;0;L;;;;;N;;;;; A0EF;YI SYLLABLE VOX;Lo;0;L;;;;;N;;;;; A0F0;YI SYLLABLE VO;Lo;0;L;;;;;N;;;;; A0F1;YI SYLLABLE VOP;Lo;0;L;;;;;N;;;;; A0F2;YI SYLLABLE VEX;Lo;0;L;;;;;N;;;;; A0F3;YI SYLLABLE VEP;Lo;0;L;;;;;N;;;;; A0F4;YI SYLLABLE VUT;Lo;0;L;;;;;N;;;;; A0F5;YI SYLLABLE VUX;Lo;0;L;;;;;N;;;;; A0F6;YI SYLLABLE VU;Lo;0;L;;;;;N;;;;; A0F7;YI SYLLABLE VUP;Lo;0;L;;;;;N;;;;; A0F8;YI SYLLABLE VURX;Lo;0;L;;;;;N;;;;; A0F9;YI SYLLABLE VUR;Lo;0;L;;;;;N;;;;; A0FA;YI SYLLABLE VYT;Lo;0;L;;;;;N;;;;; A0FB;YI SYLLABLE VYX;Lo;0;L;;;;;N;;;;; A0FC;YI SYLLABLE VY;Lo;0;L;;;;;N;;;;; A0FD;YI SYLLABLE VYP;Lo;0;L;;;;;N;;;;; A0FE;YI SYLLABLE VYRX;Lo;0;L;;;;;N;;;;; A0FF;YI SYLLABLE VYR;Lo;0;L;;;;;N;;;;; A100;YI SYLLABLE DIT;Lo;0;L;;;;;N;;;;; A101;YI SYLLABLE DIX;Lo;0;L;;;;;N;;;;; A102;YI SYLLABLE DI;Lo;0;L;;;;;N;;;;; A103;YI SYLLABLE DIP;Lo;0;L;;;;;N;;;;; A104;YI SYLLABLE DIEX;Lo;0;L;;;;;N;;;;; A105;YI SYLLABLE DIE;Lo;0;L;;;;;N;;;;; A106;YI SYLLABLE DIEP;Lo;0;L;;;;;N;;;;; A107;YI SYLLABLE DAT;Lo;0;L;;;;;N;;;;; A108;YI SYLLABLE DAX;Lo;0;L;;;;;N;;;;; A109;YI SYLLABLE DA;Lo;0;L;;;;;N;;;;; A10A;YI SYLLABLE DAP;Lo;0;L;;;;;N;;;;; A10B;YI SYLLABLE DUOX;Lo;0;L;;;;;N;;;;; A10C;YI SYLLABLE DUO;Lo;0;L;;;;;N;;;;; A10D;YI SYLLABLE DOT;Lo;0;L;;;;;N;;;;; A10E;YI SYLLABLE DOX;Lo;0;L;;;;;N;;;;; A10F;YI SYLLABLE DO;Lo;0;L;;;;;N;;;;; A110;YI SYLLABLE DOP;Lo;0;L;;;;;N;;;;; A111;YI SYLLABLE DEX;Lo;0;L;;;;;N;;;;; A112;YI SYLLABLE DE;Lo;0;L;;;;;N;;;;; A113;YI SYLLABLE DEP;Lo;0;L;;;;;N;;;;; A114;YI SYLLABLE DUT;Lo;0;L;;;;;N;;;;; A115;YI SYLLABLE DUX;Lo;0;L;;;;;N;;;;; A116;YI SYLLABLE DU;Lo;0;L;;;;;N;;;;; A117;YI SYLLABLE DUP;Lo;0;L;;;;;N;;;;; A118;YI SYLLABLE DURX;Lo;0;L;;;;;N;;;;; A119;YI SYLLABLE DUR;Lo;0;L;;;;;N;;;;; A11A;YI SYLLABLE TIT;Lo;0;L;;;;;N;;;;; A11B;YI SYLLABLE TIX;Lo;0;L;;;;;N;;;;; A11C;YI SYLLABLE TI;Lo;0;L;;;;;N;;;;; A11D;YI SYLLABLE TIP;Lo;0;L;;;;;N;;;;; A11E;YI SYLLABLE TIEX;Lo;0;L;;;;;N;;;;; A11F;YI SYLLABLE TIE;Lo;0;L;;;;;N;;;;; A120;YI SYLLABLE TIEP;Lo;0;L;;;;;N;;;;; A121;YI SYLLABLE TAT;Lo;0;L;;;;;N;;;;; A122;YI SYLLABLE TAX;Lo;0;L;;;;;N;;;;; A123;YI SYLLABLE TA;Lo;0;L;;;;;N;;;;; A124;YI SYLLABLE TAP;Lo;0;L;;;;;N;;;;; A125;YI SYLLABLE TUOT;Lo;0;L;;;;;N;;;;; A126;YI SYLLABLE TUOX;Lo;0;L;;;;;N;;;;; A127;YI SYLLABLE TUO;Lo;0;L;;;;;N;;;;; A128;YI SYLLABLE TUOP;Lo;0;L;;;;;N;;;;; A129;YI SYLLABLE TOT;Lo;0;L;;;;;N;;;;; A12A;YI SYLLABLE TOX;Lo;0;L;;;;;N;;;;; A12B;YI SYLLABLE TO;Lo;0;L;;;;;N;;;;; A12C;YI SYLLABLE TOP;Lo;0;L;;;;;N;;;;; A12D;YI SYLLABLE TEX;Lo;0;L;;;;;N;;;;; A12E;YI SYLLABLE TE;Lo;0;L;;;;;N;;;;; A12F;YI SYLLABLE TEP;Lo;0;L;;;;;N;;;;; A130;YI SYLLABLE TUT;Lo;0;L;;;;;N;;;;; A131;YI SYLLABLE TUX;Lo;0;L;;;;;N;;;;; A132;YI SYLLABLE TU;Lo;0;L;;;;;N;;;;; A133;YI SYLLABLE TUP;Lo;0;L;;;;;N;;;;; A134;YI SYLLABLE TURX;Lo;0;L;;;;;N;;;;; A135;YI SYLLABLE TUR;Lo;0;L;;;;;N;;;;; A136;YI SYLLABLE DDIT;Lo;0;L;;;;;N;;;;; A137;YI SYLLABLE DDIX;Lo;0;L;;;;;N;;;;; A138;YI SYLLABLE DDI;Lo;0;L;;;;;N;;;;; A139;YI SYLLABLE DDIP;Lo;0;L;;;;;N;;;;; A13A;YI SYLLABLE DDIEX;Lo;0;L;;;;;N;;;;; A13B;YI SYLLABLE DDIE;Lo;0;L;;;;;N;;;;; A13C;YI SYLLABLE DDIEP;Lo;0;L;;;;;N;;;;; A13D;YI SYLLABLE DDAT;Lo;0;L;;;;;N;;;;; A13E;YI SYLLABLE DDAX;Lo;0;L;;;;;N;;;;; A13F;YI SYLLABLE DDA;Lo;0;L;;;;;N;;;;; A140;YI SYLLABLE DDAP;Lo;0;L;;;;;N;;;;; A141;YI SYLLABLE DDUOX;Lo;0;L;;;;;N;;;;; A142;YI SYLLABLE DDUO;Lo;0;L;;;;;N;;;;; A143;YI SYLLABLE DDUOP;Lo;0;L;;;;;N;;;;; A144;YI SYLLABLE DDOT;Lo;0;L;;;;;N;;;;; A145;YI SYLLABLE DDOX;Lo;0;L;;;;;N;;;;; A146;YI SYLLABLE DDO;Lo;0;L;;;;;N;;;;; A147;YI SYLLABLE DDOP;Lo;0;L;;;;;N;;;;; A148;YI SYLLABLE DDEX;Lo;0;L;;;;;N;;;;; A149;YI SYLLABLE DDE;Lo;0;L;;;;;N;;;;; A14A;YI SYLLABLE DDEP;Lo;0;L;;;;;N;;;;; A14B;YI SYLLABLE DDUT;Lo;0;L;;;;;N;;;;; A14C;YI SYLLABLE DDUX;Lo;0;L;;;;;N;;;;; A14D;YI SYLLABLE DDU;Lo;0;L;;;;;N;;;;; A14E;YI SYLLABLE DDUP;Lo;0;L;;;;;N;;;;; A14F;YI SYLLABLE DDURX;Lo;0;L;;;;;N;;;;; A150;YI SYLLABLE DDUR;Lo;0;L;;;;;N;;;;; A151;YI SYLLABLE NDIT;Lo;0;L;;;;;N;;;;; A152;YI SYLLABLE NDIX;Lo;0;L;;;;;N;;;;; A153;YI SYLLABLE NDI;Lo;0;L;;;;;N;;;;; A154;YI SYLLABLE NDIP;Lo;0;L;;;;;N;;;;; A155;YI SYLLABLE NDIEX;Lo;0;L;;;;;N;;;;; A156;YI SYLLABLE NDIE;Lo;0;L;;;;;N;;;;; A157;YI SYLLABLE NDAT;Lo;0;L;;;;;N;;;;; A158;YI SYLLABLE NDAX;Lo;0;L;;;;;N;;;;; A159;YI SYLLABLE NDA;Lo;0;L;;;;;N;;;;; A15A;YI SYLLABLE NDAP;Lo;0;L;;;;;N;;;;; A15B;YI SYLLABLE NDOT;Lo;0;L;;;;;N;;;;; A15C;YI SYLLABLE NDOX;Lo;0;L;;;;;N;;;;; A15D;YI SYLLABLE NDO;Lo;0;L;;;;;N;;;;; A15E;YI SYLLABLE NDOP;Lo;0;L;;;;;N;;;;; A15F;YI SYLLABLE NDEX;Lo;0;L;;;;;N;;;;; A160;YI SYLLABLE NDE;Lo;0;L;;;;;N;;;;; A161;YI SYLLABLE NDEP;Lo;0;L;;;;;N;;;;; A162;YI SYLLABLE NDUT;Lo;0;L;;;;;N;;;;; A163;YI SYLLABLE NDUX;Lo;0;L;;;;;N;;;;; A164;YI SYLLABLE NDU;Lo;0;L;;;;;N;;;;; A165;YI SYLLABLE NDUP;Lo;0;L;;;;;N;;;;; A166;YI SYLLABLE NDURX;Lo;0;L;;;;;N;;;;; A167;YI SYLLABLE NDUR;Lo;0;L;;;;;N;;;;; A168;YI SYLLABLE HNIT;Lo;0;L;;;;;N;;;;; A169;YI SYLLABLE HNIX;Lo;0;L;;;;;N;;;;; A16A;YI SYLLABLE HNI;Lo;0;L;;;;;N;;;;; A16B;YI SYLLABLE HNIP;Lo;0;L;;;;;N;;;;; A16C;YI SYLLABLE HNIET;Lo;0;L;;;;;N;;;;; A16D;YI SYLLABLE HNIEX;Lo;0;L;;;;;N;;;;; A16E;YI SYLLABLE HNIE;Lo;0;L;;;;;N;;;;; A16F;YI SYLLABLE HNIEP;Lo;0;L;;;;;N;;;;; A170;YI SYLLABLE HNAT;Lo;0;L;;;;;N;;;;; A171;YI SYLLABLE HNAX;Lo;0;L;;;;;N;;;;; A172;YI SYLLABLE HNA;Lo;0;L;;;;;N;;;;; A173;YI SYLLABLE HNAP;Lo;0;L;;;;;N;;;;; A174;YI SYLLABLE HNUOX;Lo;0;L;;;;;N;;;;; A175;YI SYLLABLE HNUO;Lo;0;L;;;;;N;;;;; A176;YI SYLLABLE HNOT;Lo;0;L;;;;;N;;;;; A177;YI SYLLABLE HNOX;Lo;0;L;;;;;N;;;;; A178;YI SYLLABLE HNOP;Lo;0;L;;;;;N;;;;; A179;YI SYLLABLE HNEX;Lo;0;L;;;;;N;;;;; A17A;YI SYLLABLE HNE;Lo;0;L;;;;;N;;;;; A17B;YI SYLLABLE HNEP;Lo;0;L;;;;;N;;;;; A17C;YI SYLLABLE HNUT;Lo;0;L;;;;;N;;;;; A17D;YI SYLLABLE NIT;Lo;0;L;;;;;N;;;;; A17E;YI SYLLABLE NIX;Lo;0;L;;;;;N;;;;; A17F;YI SYLLABLE NI;Lo;0;L;;;;;N;;;;; A180;YI SYLLABLE NIP;Lo;0;L;;;;;N;;;;; A181;YI SYLLABLE NIEX;Lo;0;L;;;;;N;;;;; A182;YI SYLLABLE NIE;Lo;0;L;;;;;N;;;;; A183;YI SYLLABLE NIEP;Lo;0;L;;;;;N;;;;; A184;YI SYLLABLE NAX;Lo;0;L;;;;;N;;;;; A185;YI SYLLABLE NA;Lo;0;L;;;;;N;;;;; A186;YI SYLLABLE NAP;Lo;0;L;;;;;N;;;;; A187;YI SYLLABLE NUOX;Lo;0;L;;;;;N;;;;; A188;YI SYLLABLE NUO;Lo;0;L;;;;;N;;;;; A189;YI SYLLABLE NUOP;Lo;0;L;;;;;N;;;;; A18A;YI SYLLABLE NOT;Lo;0;L;;;;;N;;;;; A18B;YI SYLLABLE NOX;Lo;0;L;;;;;N;;;;; A18C;YI SYLLABLE NO;Lo;0;L;;;;;N;;;;; A18D;YI SYLLABLE NOP;Lo;0;L;;;;;N;;;;; A18E;YI SYLLABLE NEX;Lo;0;L;;;;;N;;;;; A18F;YI SYLLABLE NE;Lo;0;L;;;;;N;;;;; A190;YI SYLLABLE NEP;Lo;0;L;;;;;N;;;;; A191;YI SYLLABLE NUT;Lo;0;L;;;;;N;;;;; A192;YI SYLLABLE NUX;Lo;0;L;;;;;N;;;;; A193;YI SYLLABLE NU;Lo;0;L;;;;;N;;;;; A194;YI SYLLABLE NUP;Lo;0;L;;;;;N;;;;; A195;YI SYLLABLE NURX;Lo;0;L;;;;;N;;;;; A196;YI SYLLABLE NUR;Lo;0;L;;;;;N;;;;; A197;YI SYLLABLE HLIT;Lo;0;L;;;;;N;;;;; A198;YI SYLLABLE HLIX;Lo;0;L;;;;;N;;;;; A199;YI SYLLABLE HLI;Lo;0;L;;;;;N;;;;; A19A;YI SYLLABLE HLIP;Lo;0;L;;;;;N;;;;; A19B;YI SYLLABLE HLIEX;Lo;0;L;;;;;N;;;;; A19C;YI SYLLABLE HLIE;Lo;0;L;;;;;N;;;;; A19D;YI SYLLABLE HLIEP;Lo;0;L;;;;;N;;;;; A19E;YI SYLLABLE HLAT;Lo;0;L;;;;;N;;;;; A19F;YI SYLLABLE HLAX;Lo;0;L;;;;;N;;;;; A1A0;YI SYLLABLE HLA;Lo;0;L;;;;;N;;;;; A1A1;YI SYLLABLE HLAP;Lo;0;L;;;;;N;;;;; A1A2;YI SYLLABLE HLUOX;Lo;0;L;;;;;N;;;;; A1A3;YI SYLLABLE HLUO;Lo;0;L;;;;;N;;;;; A1A4;YI SYLLABLE HLUOP;Lo;0;L;;;;;N;;;;; A1A5;YI SYLLABLE HLOX;Lo;0;L;;;;;N;;;;; A1A6;YI SYLLABLE HLO;Lo;0;L;;;;;N;;;;; A1A7;YI SYLLABLE HLOP;Lo;0;L;;;;;N;;;;; A1A8;YI SYLLABLE HLEX;Lo;0;L;;;;;N;;;;; A1A9;YI SYLLABLE HLE;Lo;0;L;;;;;N;;;;; A1AA;YI SYLLABLE HLEP;Lo;0;L;;;;;N;;;;; A1AB;YI SYLLABLE HLUT;Lo;0;L;;;;;N;;;;; A1AC;YI SYLLABLE HLUX;Lo;0;L;;;;;N;;;;; A1AD;YI SYLLABLE HLU;Lo;0;L;;;;;N;;;;; A1AE;YI SYLLABLE HLUP;Lo;0;L;;;;;N;;;;; A1AF;YI SYLLABLE HLURX;Lo;0;L;;;;;N;;;;; A1B0;YI SYLLABLE HLUR;Lo;0;L;;;;;N;;;;; A1B1;YI SYLLABLE HLYT;Lo;0;L;;;;;N;;;;; A1B2;YI SYLLABLE HLYX;Lo;0;L;;;;;N;;;;; A1B3;YI SYLLABLE HLY;Lo;0;L;;;;;N;;;;; A1B4;YI SYLLABLE HLYP;Lo;0;L;;;;;N;;;;; A1B5;YI SYLLABLE HLYRX;Lo;0;L;;;;;N;;;;; A1B6;YI SYLLABLE HLYR;Lo;0;L;;;;;N;;;;; A1B7;YI SYLLABLE LIT;Lo;0;L;;;;;N;;;;; A1B8;YI SYLLABLE LIX;Lo;0;L;;;;;N;;;;; A1B9;YI SYLLABLE LI;Lo;0;L;;;;;N;;;;; A1BA;YI SYLLABLE LIP;Lo;0;L;;;;;N;;;;; A1BB;YI SYLLABLE LIET;Lo;0;L;;;;;N;;;;; A1BC;YI SYLLABLE LIEX;Lo;0;L;;;;;N;;;;; A1BD;YI SYLLABLE LIE;Lo;0;L;;;;;N;;;;; A1BE;YI SYLLABLE LIEP;Lo;0;L;;;;;N;;;;; A1BF;YI SYLLABLE LAT;Lo;0;L;;;;;N;;;;; A1C0;YI SYLLABLE LAX;Lo;0;L;;;;;N;;;;; A1C1;YI SYLLABLE LA;Lo;0;L;;;;;N;;;;; A1C2;YI SYLLABLE LAP;Lo;0;L;;;;;N;;;;; A1C3;YI SYLLABLE LUOT;Lo;0;L;;;;;N;;;;; A1C4;YI SYLLABLE LUOX;Lo;0;L;;;;;N;;;;; A1C5;YI SYLLABLE LUO;Lo;0;L;;;;;N;;;;; A1C6;YI SYLLABLE LUOP;Lo;0;L;;;;;N;;;;; A1C7;YI SYLLABLE LOT;Lo;0;L;;;;;N;;;;; A1C8;YI SYLLABLE LOX;Lo;0;L;;;;;N;;;;; A1C9;YI SYLLABLE LO;Lo;0;L;;;;;N;;;;; A1CA;YI SYLLABLE LOP;Lo;0;L;;;;;N;;;;; A1CB;YI SYLLABLE LEX;Lo;0;L;;;;;N;;;;; A1CC;YI SYLLABLE LE;Lo;0;L;;;;;N;;;;; A1CD;YI SYLLABLE LEP;Lo;0;L;;;;;N;;;;; A1CE;YI SYLLABLE LUT;Lo;0;L;;;;;N;;;;; A1CF;YI SYLLABLE LUX;Lo;0;L;;;;;N;;;;; A1D0;YI SYLLABLE LU;Lo;0;L;;;;;N;;;;; A1D1;YI SYLLABLE LUP;Lo;0;L;;;;;N;;;;; A1D2;YI SYLLABLE LURX;Lo;0;L;;;;;N;;;;; A1D3;YI SYLLABLE LUR;Lo;0;L;;;;;N;;;;; A1D4;YI SYLLABLE LYT;Lo;0;L;;;;;N;;;;; A1D5;YI SYLLABLE LYX;Lo;0;L;;;;;N;;;;; A1D6;YI SYLLABLE LY;Lo;0;L;;;;;N;;;;; A1D7;YI SYLLABLE LYP;Lo;0;L;;;;;N;;;;; A1D8;YI SYLLABLE LYRX;Lo;0;L;;;;;N;;;;; A1D9;YI SYLLABLE LYR;Lo;0;L;;;;;N;;;;; A1DA;YI SYLLABLE GIT;Lo;0;L;;;;;N;;;;; A1DB;YI SYLLABLE GIX;Lo;0;L;;;;;N;;;;; A1DC;YI SYLLABLE GI;Lo;0;L;;;;;N;;;;; A1DD;YI SYLLABLE GIP;Lo;0;L;;;;;N;;;;; A1DE;YI SYLLABLE GIET;Lo;0;L;;;;;N;;;;; A1DF;YI SYLLABLE GIEX;Lo;0;L;;;;;N;;;;; A1E0;YI SYLLABLE GIE;Lo;0;L;;;;;N;;;;; A1E1;YI SYLLABLE GIEP;Lo;0;L;;;;;N;;;;; A1E2;YI SYLLABLE GAT;Lo;0;L;;;;;N;;;;; A1E3;YI SYLLABLE GAX;Lo;0;L;;;;;N;;;;; A1E4;YI SYLLABLE GA;Lo;0;L;;;;;N;;;;; A1E5;YI SYLLABLE GAP;Lo;0;L;;;;;N;;;;; A1E6;YI SYLLABLE GUOT;Lo;0;L;;;;;N;;;;; A1E7;YI SYLLABLE GUOX;Lo;0;L;;;;;N;;;;; A1E8;YI SYLLABLE GUO;Lo;0;L;;;;;N;;;;; A1E9;YI SYLLABLE GUOP;Lo;0;L;;;;;N;;;;; A1EA;YI SYLLABLE GOT;Lo;0;L;;;;;N;;;;; A1EB;YI SYLLABLE GOX;Lo;0;L;;;;;N;;;;; A1EC;YI SYLLABLE GO;Lo;0;L;;;;;N;;;;; A1ED;YI SYLLABLE GOP;Lo;0;L;;;;;N;;;;; A1EE;YI SYLLABLE GET;Lo;0;L;;;;;N;;;;; A1EF;YI SYLLABLE GEX;Lo;0;L;;;;;N;;;;; A1F0;YI SYLLABLE GE;Lo;0;L;;;;;N;;;;; A1F1;YI SYLLABLE GEP;Lo;0;L;;;;;N;;;;; A1F2;YI SYLLABLE GUT;Lo;0;L;;;;;N;;;;; A1F3;YI SYLLABLE GUX;Lo;0;L;;;;;N;;;;; A1F4;YI SYLLABLE GU;Lo;0;L;;;;;N;;;;; A1F5;YI SYLLABLE GUP;Lo;0;L;;;;;N;;;;; A1F6;YI SYLLABLE GURX;Lo;0;L;;;;;N;;;;; A1F7;YI SYLLABLE GUR;Lo;0;L;;;;;N;;;;; A1F8;YI SYLLABLE KIT;Lo;0;L;;;;;N;;;;; A1F9;YI SYLLABLE KIX;Lo;0;L;;;;;N;;;;; A1FA;YI SYLLABLE KI;Lo;0;L;;;;;N;;;;; A1FB;YI SYLLABLE KIP;Lo;0;L;;;;;N;;;;; A1FC;YI SYLLABLE KIEX;Lo;0;L;;;;;N;;;;; A1FD;YI SYLLABLE KIE;Lo;0;L;;;;;N;;;;; A1FE;YI SYLLABLE KIEP;Lo;0;L;;;;;N;;;;; A1FF;YI SYLLABLE KAT;Lo;0;L;;;;;N;;;;; A200;YI SYLLABLE KAX;Lo;0;L;;;;;N;;;;; A201;YI SYLLABLE KA;Lo;0;L;;;;;N;;;;; A202;YI SYLLABLE KAP;Lo;0;L;;;;;N;;;;; A203;YI SYLLABLE KUOX;Lo;0;L;;;;;N;;;;; A204;YI SYLLABLE KUO;Lo;0;L;;;;;N;;;;; A205;YI SYLLABLE KUOP;Lo;0;L;;;;;N;;;;; A206;YI SYLLABLE KOT;Lo;0;L;;;;;N;;;;; A207;YI SYLLABLE KOX;Lo;0;L;;;;;N;;;;; A208;YI SYLLABLE KO;Lo;0;L;;;;;N;;;;; A209;YI SYLLABLE KOP;Lo;0;L;;;;;N;;;;; A20A;YI SYLLABLE KET;Lo;0;L;;;;;N;;;;; A20B;YI SYLLABLE KEX;Lo;0;L;;;;;N;;;;; A20C;YI SYLLABLE KE;Lo;0;L;;;;;N;;;;; A20D;YI SYLLABLE KEP;Lo;0;L;;;;;N;;;;; A20E;YI SYLLABLE KUT;Lo;0;L;;;;;N;;;;; A20F;YI SYLLABLE KUX;Lo;0;L;;;;;N;;;;; A210;YI SYLLABLE KU;Lo;0;L;;;;;N;;;;; A211;YI SYLLABLE KUP;Lo;0;L;;;;;N;;;;; A212;YI SYLLABLE KURX;Lo;0;L;;;;;N;;;;; A213;YI SYLLABLE KUR;Lo;0;L;;;;;N;;;;; A214;YI SYLLABLE GGIT;Lo;0;L;;;;;N;;;;; A215;YI SYLLABLE GGIX;Lo;0;L;;;;;N;;;;; A216;YI SYLLABLE GGI;Lo;0;L;;;;;N;;;;; A217;YI SYLLABLE GGIEX;Lo;0;L;;;;;N;;;;; A218;YI SYLLABLE GGIE;Lo;0;L;;;;;N;;;;; A219;YI SYLLABLE GGIEP;Lo;0;L;;;;;N;;;;; A21A;YI SYLLABLE GGAT;Lo;0;L;;;;;N;;;;; A21B;YI SYLLABLE GGAX;Lo;0;L;;;;;N;;;;; A21C;YI SYLLABLE GGA;Lo;0;L;;;;;N;;;;; A21D;YI SYLLABLE GGAP;Lo;0;L;;;;;N;;;;; A21E;YI SYLLABLE GGUOT;Lo;0;L;;;;;N;;;;; A21F;YI SYLLABLE GGUOX;Lo;0;L;;;;;N;;;;; A220;YI SYLLABLE GGUO;Lo;0;L;;;;;N;;;;; A221;YI SYLLABLE GGUOP;Lo;0;L;;;;;N;;;;; A222;YI SYLLABLE GGOT;Lo;0;L;;;;;N;;;;; A223;YI SYLLABLE GGOX;Lo;0;L;;;;;N;;;;; A224;YI SYLLABLE GGO;Lo;0;L;;;;;N;;;;; A225;YI SYLLABLE GGOP;Lo;0;L;;;;;N;;;;; A226;YI SYLLABLE GGET;Lo;0;L;;;;;N;;;;; A227;YI SYLLABLE GGEX;Lo;0;L;;;;;N;;;;; A228;YI SYLLABLE GGE;Lo;0;L;;;;;N;;;;; A229;YI SYLLABLE GGEP;Lo;0;L;;;;;N;;;;; A22A;YI SYLLABLE GGUT;Lo;0;L;;;;;N;;;;; A22B;YI SYLLABLE GGUX;Lo;0;L;;;;;N;;;;; A22C;YI SYLLABLE GGU;Lo;0;L;;;;;N;;;;; A22D;YI SYLLABLE GGUP;Lo;0;L;;;;;N;;;;; A22E;YI SYLLABLE GGURX;Lo;0;L;;;;;N;;;;; A22F;YI SYLLABLE GGUR;Lo;0;L;;;;;N;;;;; A230;YI SYLLABLE MGIEX;Lo;0;L;;;;;N;;;;; A231;YI SYLLABLE MGIE;Lo;0;L;;;;;N;;;;; A232;YI SYLLABLE MGAT;Lo;0;L;;;;;N;;;;; A233;YI SYLLABLE MGAX;Lo;0;L;;;;;N;;;;; A234;YI SYLLABLE MGA;Lo;0;L;;;;;N;;;;; A235;YI SYLLABLE MGAP;Lo;0;L;;;;;N;;;;; A236;YI SYLLABLE MGUOX;Lo;0;L;;;;;N;;;;; A237;YI SYLLABLE MGUO;Lo;0;L;;;;;N;;;;; A238;YI SYLLABLE MGUOP;Lo;0;L;;;;;N;;;;; A239;YI SYLLABLE MGOT;Lo;0;L;;;;;N;;;;; A23A;YI SYLLABLE MGOX;Lo;0;L;;;;;N;;;;; A23B;YI SYLLABLE MGO;Lo;0;L;;;;;N;;;;; A23C;YI SYLLABLE MGOP;Lo;0;L;;;;;N;;;;; A23D;YI SYLLABLE MGEX;Lo;0;L;;;;;N;;;;; A23E;YI SYLLABLE MGE;Lo;0;L;;;;;N;;;;; A23F;YI SYLLABLE MGEP;Lo;0;L;;;;;N;;;;; A240;YI SYLLABLE MGUT;Lo;0;L;;;;;N;;;;; A241;YI SYLLABLE MGUX;Lo;0;L;;;;;N;;;;; A242;YI SYLLABLE MGU;Lo;0;L;;;;;N;;;;; A243;YI SYLLABLE MGUP;Lo;0;L;;;;;N;;;;; A244;YI SYLLABLE MGURX;Lo;0;L;;;;;N;;;;; A245;YI SYLLABLE MGUR;Lo;0;L;;;;;N;;;;; A246;YI SYLLABLE HXIT;Lo;0;L;;;;;N;;;;; A247;YI SYLLABLE HXIX;Lo;0;L;;;;;N;;;;; A248;YI SYLLABLE HXI;Lo;0;L;;;;;N;;;;; A249;YI SYLLABLE HXIP;Lo;0;L;;;;;N;;;;; A24A;YI SYLLABLE HXIET;Lo;0;L;;;;;N;;;;; A24B;YI SYLLABLE HXIEX;Lo;0;L;;;;;N;;;;; A24C;YI SYLLABLE HXIE;Lo;0;L;;;;;N;;;;; A24D;YI SYLLABLE HXIEP;Lo;0;L;;;;;N;;;;; A24E;YI SYLLABLE HXAT;Lo;0;L;;;;;N;;;;; A24F;YI SYLLABLE HXAX;Lo;0;L;;;;;N;;;;; A250;YI SYLLABLE HXA;Lo;0;L;;;;;N;;;;; A251;YI SYLLABLE HXAP;Lo;0;L;;;;;N;;;;; A252;YI SYLLABLE HXUOT;Lo;0;L;;;;;N;;;;; A253;YI SYLLABLE HXUOX;Lo;0;L;;;;;N;;;;; A254;YI SYLLABLE HXUO;Lo;0;L;;;;;N;;;;; A255;YI SYLLABLE HXUOP;Lo;0;L;;;;;N;;;;; A256;YI SYLLABLE HXOT;Lo;0;L;;;;;N;;;;; A257;YI SYLLABLE HXOX;Lo;0;L;;;;;N;;;;; A258;YI SYLLABLE HXO;Lo;0;L;;;;;N;;;;; A259;YI SYLLABLE HXOP;Lo;0;L;;;;;N;;;;; A25A;YI SYLLABLE HXEX;Lo;0;L;;;;;N;;;;; A25B;YI SYLLABLE HXE;Lo;0;L;;;;;N;;;;; A25C;YI SYLLABLE HXEP;Lo;0;L;;;;;N;;;;; A25D;YI SYLLABLE NGIEX;Lo;0;L;;;;;N;;;;; A25E;YI SYLLABLE NGIE;Lo;0;L;;;;;N;;;;; A25F;YI SYLLABLE NGIEP;Lo;0;L;;;;;N;;;;; A260;YI SYLLABLE NGAT;Lo;0;L;;;;;N;;;;; A261;YI SYLLABLE NGAX;Lo;0;L;;;;;N;;;;; A262;YI SYLLABLE NGA;Lo;0;L;;;;;N;;;;; A263;YI SYLLABLE NGAP;Lo;0;L;;;;;N;;;;; A264;YI SYLLABLE NGUOT;Lo;0;L;;;;;N;;;;; A265;YI SYLLABLE NGUOX;Lo;0;L;;;;;N;;;;; A266;YI SYLLABLE NGUO;Lo;0;L;;;;;N;;;;; A267;YI SYLLABLE NGOT;Lo;0;L;;;;;N;;;;; A268;YI SYLLABLE NGOX;Lo;0;L;;;;;N;;;;; A269;YI SYLLABLE NGO;Lo;0;L;;;;;N;;;;; A26A;YI SYLLABLE NGOP;Lo;0;L;;;;;N;;;;; A26B;YI SYLLABLE NGEX;Lo;0;L;;;;;N;;;;; A26C;YI SYLLABLE NGE;Lo;0;L;;;;;N;;;;; A26D;YI SYLLABLE NGEP;Lo;0;L;;;;;N;;;;; A26E;YI SYLLABLE HIT;Lo;0;L;;;;;N;;;;; A26F;YI SYLLABLE HIEX;Lo;0;L;;;;;N;;;;; A270;YI SYLLABLE HIE;Lo;0;L;;;;;N;;;;; A271;YI SYLLABLE HAT;Lo;0;L;;;;;N;;;;; A272;YI SYLLABLE HAX;Lo;0;L;;;;;N;;;;; A273;YI SYLLABLE HA;Lo;0;L;;;;;N;;;;; A274;YI SYLLABLE HAP;Lo;0;L;;;;;N;;;;; A275;YI SYLLABLE HUOT;Lo;0;L;;;;;N;;;;; A276;YI SYLLABLE HUOX;Lo;0;L;;;;;N;;;;; A277;YI SYLLABLE HUO;Lo;0;L;;;;;N;;;;; A278;YI SYLLABLE HUOP;Lo;0;L;;;;;N;;;;; A279;YI SYLLABLE HOT;Lo;0;L;;;;;N;;;;; A27A;YI SYLLABLE HOX;Lo;0;L;;;;;N;;;;; A27B;YI SYLLABLE HO;Lo;0;L;;;;;N;;;;; A27C;YI SYLLABLE HOP;Lo;0;L;;;;;N;;;;; A27D;YI SYLLABLE HEX;Lo;0;L;;;;;N;;;;; A27E;YI SYLLABLE HE;Lo;0;L;;;;;N;;;;; A27F;YI SYLLABLE HEP;Lo;0;L;;;;;N;;;;; A280;YI SYLLABLE WAT;Lo;0;L;;;;;N;;;;; A281;YI SYLLABLE WAX;Lo;0;L;;;;;N;;;;; A282;YI SYLLABLE WA;Lo;0;L;;;;;N;;;;; A283;YI SYLLABLE WAP;Lo;0;L;;;;;N;;;;; A284;YI SYLLABLE WUOX;Lo;0;L;;;;;N;;;;; A285;YI SYLLABLE WUO;Lo;0;L;;;;;N;;;;; A286;YI SYLLABLE WUOP;Lo;0;L;;;;;N;;;;; A287;YI SYLLABLE WOX;Lo;0;L;;;;;N;;;;; A288;YI SYLLABLE WO;Lo;0;L;;;;;N;;;;; A289;YI SYLLABLE WOP;Lo;0;L;;;;;N;;;;; A28A;YI SYLLABLE WEX;Lo;0;L;;;;;N;;;;; A28B;YI SYLLABLE WE;Lo;0;L;;;;;N;;;;; A28C;YI SYLLABLE WEP;Lo;0;L;;;;;N;;;;; A28D;YI SYLLABLE ZIT;Lo;0;L;;;;;N;;;;; A28E;YI SYLLABLE ZIX;Lo;0;L;;;;;N;;;;; A28F;YI SYLLABLE ZI;Lo;0;L;;;;;N;;;;; A290;YI SYLLABLE ZIP;Lo;0;L;;;;;N;;;;; A291;YI SYLLABLE ZIEX;Lo;0;L;;;;;N;;;;; A292;YI SYLLABLE ZIE;Lo;0;L;;;;;N;;;;; A293;YI SYLLABLE ZIEP;Lo;0;L;;;;;N;;;;; A294;YI SYLLABLE ZAT;Lo;0;L;;;;;N;;;;; A295;YI SYLLABLE ZAX;Lo;0;L;;;;;N;;;;; A296;YI SYLLABLE ZA;Lo;0;L;;;;;N;;;;; A297;YI SYLLABLE ZAP;Lo;0;L;;;;;N;;;;; A298;YI SYLLABLE ZUOX;Lo;0;L;;;;;N;;;;; A299;YI SYLLABLE ZUO;Lo;0;L;;;;;N;;;;; A29A;YI SYLLABLE ZUOP;Lo;0;L;;;;;N;;;;; A29B;YI SYLLABLE ZOT;Lo;0;L;;;;;N;;;;; A29C;YI SYLLABLE ZOX;Lo;0;L;;;;;N;;;;; A29D;YI SYLLABLE ZO;Lo;0;L;;;;;N;;;;; A29E;YI SYLLABLE ZOP;Lo;0;L;;;;;N;;;;; A29F;YI SYLLABLE ZEX;Lo;0;L;;;;;N;;;;; A2A0;YI SYLLABLE ZE;Lo;0;L;;;;;N;;;;; A2A1;YI SYLLABLE ZEP;Lo;0;L;;;;;N;;;;; A2A2;YI SYLLABLE ZUT;Lo;0;L;;;;;N;;;;; A2A3;YI SYLLABLE ZUX;Lo;0;L;;;;;N;;;;; A2A4;YI SYLLABLE ZU;Lo;0;L;;;;;N;;;;; A2A5;YI SYLLABLE ZUP;Lo;0;L;;;;;N;;;;; A2A6;YI SYLLABLE ZURX;Lo;0;L;;;;;N;;;;; A2A7;YI SYLLABLE ZUR;Lo;0;L;;;;;N;;;;; A2A8;YI SYLLABLE ZYT;Lo;0;L;;;;;N;;;;; A2A9;YI SYLLABLE ZYX;Lo;0;L;;;;;N;;;;; A2AA;YI SYLLABLE ZY;Lo;0;L;;;;;N;;;;; A2AB;YI SYLLABLE ZYP;Lo;0;L;;;;;N;;;;; A2AC;YI SYLLABLE ZYRX;Lo;0;L;;;;;N;;;;; A2AD;YI SYLLABLE ZYR;Lo;0;L;;;;;N;;;;; A2AE;YI SYLLABLE CIT;Lo;0;L;;;;;N;;;;; A2AF;YI SYLLABLE CIX;Lo;0;L;;;;;N;;;;; A2B0;YI SYLLABLE CI;Lo;0;L;;;;;N;;;;; A2B1;YI SYLLABLE CIP;Lo;0;L;;;;;N;;;;; A2B2;YI SYLLABLE CIET;Lo;0;L;;;;;N;;;;; A2B3;YI SYLLABLE CIEX;Lo;0;L;;;;;N;;;;; A2B4;YI SYLLABLE CIE;Lo;0;L;;;;;N;;;;; A2B5;YI SYLLABLE CIEP;Lo;0;L;;;;;N;;;;; A2B6;YI SYLLABLE CAT;Lo;0;L;;;;;N;;;;; A2B7;YI SYLLABLE CAX;Lo;0;L;;;;;N;;;;; A2B8;YI SYLLABLE CA;Lo;0;L;;;;;N;;;;; A2B9;YI SYLLABLE CAP;Lo;0;L;;;;;N;;;;; A2BA;YI SYLLABLE CUOX;Lo;0;L;;;;;N;;;;; A2BB;YI SYLLABLE CUO;Lo;0;L;;;;;N;;;;; A2BC;YI SYLLABLE CUOP;Lo;0;L;;;;;N;;;;; A2BD;YI SYLLABLE COT;Lo;0;L;;;;;N;;;;; A2BE;YI SYLLABLE COX;Lo;0;L;;;;;N;;;;; A2BF;YI SYLLABLE CO;Lo;0;L;;;;;N;;;;; A2C0;YI SYLLABLE COP;Lo;0;L;;;;;N;;;;; A2C1;YI SYLLABLE CEX;Lo;0;L;;;;;N;;;;; A2C2;YI SYLLABLE CE;Lo;0;L;;;;;N;;;;; A2C3;YI SYLLABLE CEP;Lo;0;L;;;;;N;;;;; A2C4;YI SYLLABLE CUT;Lo;0;L;;;;;N;;;;; A2C5;YI SYLLABLE CUX;Lo;0;L;;;;;N;;;;; A2C6;YI SYLLABLE CU;Lo;0;L;;;;;N;;;;; A2C7;YI SYLLABLE CUP;Lo;0;L;;;;;N;;;;; A2C8;YI SYLLABLE CURX;Lo;0;L;;;;;N;;;;; A2C9;YI SYLLABLE CUR;Lo;0;L;;;;;N;;;;; A2CA;YI SYLLABLE CYT;Lo;0;L;;;;;N;;;;; A2CB;YI SYLLABLE CYX;Lo;0;L;;;;;N;;;;; A2CC;YI SYLLABLE CY;Lo;0;L;;;;;N;;;;; A2CD;YI SYLLABLE CYP;Lo;0;L;;;;;N;;;;; A2CE;YI SYLLABLE CYRX;Lo;0;L;;;;;N;;;;; A2CF;YI SYLLABLE CYR;Lo;0;L;;;;;N;;;;; A2D0;YI SYLLABLE ZZIT;Lo;0;L;;;;;N;;;;; A2D1;YI SYLLABLE ZZIX;Lo;0;L;;;;;N;;;;; A2D2;YI SYLLABLE ZZI;Lo;0;L;;;;;N;;;;; A2D3;YI SYLLABLE ZZIP;Lo;0;L;;;;;N;;;;; A2D4;YI SYLLABLE ZZIET;Lo;0;L;;;;;N;;;;; A2D5;YI SYLLABLE ZZIEX;Lo;0;L;;;;;N;;;;; A2D6;YI SYLLABLE ZZIE;Lo;0;L;;;;;N;;;;; A2D7;YI SYLLABLE ZZIEP;Lo;0;L;;;;;N;;;;; A2D8;YI SYLLABLE ZZAT;Lo;0;L;;;;;N;;;;; A2D9;YI SYLLABLE ZZAX;Lo;0;L;;;;;N;;;;; A2DA;YI SYLLABLE ZZA;Lo;0;L;;;;;N;;;;; A2DB;YI SYLLABLE ZZAP;Lo;0;L;;;;;N;;;;; A2DC;YI SYLLABLE ZZOX;Lo;0;L;;;;;N;;;;; A2DD;YI SYLLABLE ZZO;Lo;0;L;;;;;N;;;;; A2DE;YI SYLLABLE ZZOP;Lo;0;L;;;;;N;;;;; A2DF;YI SYLLABLE ZZEX;Lo;0;L;;;;;N;;;;; A2E0;YI SYLLABLE ZZE;Lo;0;L;;;;;N;;;;; A2E1;YI SYLLABLE ZZEP;Lo;0;L;;;;;N;;;;; A2E2;YI SYLLABLE ZZUX;Lo;0;L;;;;;N;;;;; A2E3;YI SYLLABLE ZZU;Lo;0;L;;;;;N;;;;; A2E4;YI SYLLABLE ZZUP;Lo;0;L;;;;;N;;;;; A2E5;YI SYLLABLE ZZURX;Lo;0;L;;;;;N;;;;; A2E6;YI SYLLABLE ZZUR;Lo;0;L;;;;;N;;;;; A2E7;YI SYLLABLE ZZYT;Lo;0;L;;;;;N;;;;; A2E8;YI SYLLABLE ZZYX;Lo;0;L;;;;;N;;;;; A2E9;YI SYLLABLE ZZY;Lo;0;L;;;;;N;;;;; A2EA;YI SYLLABLE ZZYP;Lo;0;L;;;;;N;;;;; A2EB;YI SYLLABLE ZZYRX;Lo;0;L;;;;;N;;;;; A2EC;YI SYLLABLE ZZYR;Lo;0;L;;;;;N;;;;; A2ED;YI SYLLABLE NZIT;Lo;0;L;;;;;N;;;;; A2EE;YI SYLLABLE NZIX;Lo;0;L;;;;;N;;;;; A2EF;YI SYLLABLE NZI;Lo;0;L;;;;;N;;;;; A2F0;YI SYLLABLE NZIP;Lo;0;L;;;;;N;;;;; A2F1;YI SYLLABLE NZIEX;Lo;0;L;;;;;N;;;;; A2F2;YI SYLLABLE NZIE;Lo;0;L;;;;;N;;;;; A2F3;YI SYLLABLE NZIEP;Lo;0;L;;;;;N;;;;; A2F4;YI SYLLABLE NZAT;Lo;0;L;;;;;N;;;;; A2F5;YI SYLLABLE NZAX;Lo;0;L;;;;;N;;;;; A2F6;YI SYLLABLE NZA;Lo;0;L;;;;;N;;;;; A2F7;YI SYLLABLE NZAP;Lo;0;L;;;;;N;;;;; A2F8;YI SYLLABLE NZUOX;Lo;0;L;;;;;N;;;;; A2F9;YI SYLLABLE NZUO;Lo;0;L;;;;;N;;;;; A2FA;YI SYLLABLE NZOX;Lo;0;L;;;;;N;;;;; A2FB;YI SYLLABLE NZOP;Lo;0;L;;;;;N;;;;; A2FC;YI SYLLABLE NZEX;Lo;0;L;;;;;N;;;;; A2FD;YI SYLLABLE NZE;Lo;0;L;;;;;N;;;;; A2FE;YI SYLLABLE NZUX;Lo;0;L;;;;;N;;;;; A2FF;YI SYLLABLE NZU;Lo;0;L;;;;;N;;;;; A300;YI SYLLABLE NZUP;Lo;0;L;;;;;N;;;;; A301;YI SYLLABLE NZURX;Lo;0;L;;;;;N;;;;; A302;YI SYLLABLE NZUR;Lo;0;L;;;;;N;;;;; A303;YI SYLLABLE NZYT;Lo;0;L;;;;;N;;;;; A304;YI SYLLABLE NZYX;Lo;0;L;;;;;N;;;;; A305;YI SYLLABLE NZY;Lo;0;L;;;;;N;;;;; A306;YI SYLLABLE NZYP;Lo;0;L;;;;;N;;;;; A307;YI SYLLABLE NZYRX;Lo;0;L;;;;;N;;;;; A308;YI SYLLABLE NZYR;Lo;0;L;;;;;N;;;;; A309;YI SYLLABLE SIT;Lo;0;L;;;;;N;;;;; A30A;YI SYLLABLE SIX;Lo;0;L;;;;;N;;;;; A30B;YI SYLLABLE SI;Lo;0;L;;;;;N;;;;; A30C;YI SYLLABLE SIP;Lo;0;L;;;;;N;;;;; A30D;YI SYLLABLE SIEX;Lo;0;L;;;;;N;;;;; A30E;YI SYLLABLE SIE;Lo;0;L;;;;;N;;;;; A30F;YI SYLLABLE SIEP;Lo;0;L;;;;;N;;;;; A310;YI SYLLABLE SAT;Lo;0;L;;;;;N;;;;; A311;YI SYLLABLE SAX;Lo;0;L;;;;;N;;;;; A312;YI SYLLABLE SA;Lo;0;L;;;;;N;;;;; A313;YI SYLLABLE SAP;Lo;0;L;;;;;N;;;;; A314;YI SYLLABLE SUOX;Lo;0;L;;;;;N;;;;; A315;YI SYLLABLE SUO;Lo;0;L;;;;;N;;;;; A316;YI SYLLABLE SUOP;Lo;0;L;;;;;N;;;;; A317;YI SYLLABLE SOT;Lo;0;L;;;;;N;;;;; A318;YI SYLLABLE SOX;Lo;0;L;;;;;N;;;;; A319;YI SYLLABLE SO;Lo;0;L;;;;;N;;;;; A31A;YI SYLLABLE SOP;Lo;0;L;;;;;N;;;;; A31B;YI SYLLABLE SEX;Lo;0;L;;;;;N;;;;; A31C;YI SYLLABLE SE;Lo;0;L;;;;;N;;;;; A31D;YI SYLLABLE SEP;Lo;0;L;;;;;N;;;;; A31E;YI SYLLABLE SUT;Lo;0;L;;;;;N;;;;; A31F;YI SYLLABLE SUX;Lo;0;L;;;;;N;;;;; A320;YI SYLLABLE SU;Lo;0;L;;;;;N;;;;; A321;YI SYLLABLE SUP;Lo;0;L;;;;;N;;;;; A322;YI SYLLABLE SURX;Lo;0;L;;;;;N;;;;; A323;YI SYLLABLE SUR;Lo;0;L;;;;;N;;;;; A324;YI SYLLABLE SYT;Lo;0;L;;;;;N;;;;; A325;YI SYLLABLE SYX;Lo;0;L;;;;;N;;;;; A326;YI SYLLABLE SY;Lo;0;L;;;;;N;;;;; A327;YI SYLLABLE SYP;Lo;0;L;;;;;N;;;;; A328;YI SYLLABLE SYRX;Lo;0;L;;;;;N;;;;; A329;YI SYLLABLE SYR;Lo;0;L;;;;;N;;;;; A32A;YI SYLLABLE SSIT;Lo;0;L;;;;;N;;;;; A32B;YI SYLLABLE SSIX;Lo;0;L;;;;;N;;;;; A32C;YI SYLLABLE SSI;Lo;0;L;;;;;N;;;;; A32D;YI SYLLABLE SSIP;Lo;0;L;;;;;N;;;;; A32E;YI SYLLABLE SSIEX;Lo;0;L;;;;;N;;;;; A32F;YI SYLLABLE SSIE;Lo;0;L;;;;;N;;;;; A330;YI SYLLABLE SSIEP;Lo;0;L;;;;;N;;;;; A331;YI SYLLABLE SSAT;Lo;0;L;;;;;N;;;;; A332;YI SYLLABLE SSAX;Lo;0;L;;;;;N;;;;; A333;YI SYLLABLE SSA;Lo;0;L;;;;;N;;;;; A334;YI SYLLABLE SSAP;Lo;0;L;;;;;N;;;;; A335;YI SYLLABLE SSOT;Lo;0;L;;;;;N;;;;; A336;YI SYLLABLE SSOX;Lo;0;L;;;;;N;;;;; A337;YI SYLLABLE SSO;Lo;0;L;;;;;N;;;;; A338;YI SYLLABLE SSOP;Lo;0;L;;;;;N;;;;; A339;YI SYLLABLE SSEX;Lo;0;L;;;;;N;;;;; A33A;YI SYLLABLE SSE;Lo;0;L;;;;;N;;;;; A33B;YI SYLLABLE SSEP;Lo;0;L;;;;;N;;;;; A33C;YI SYLLABLE SSUT;Lo;0;L;;;;;N;;;;; A33D;YI SYLLABLE SSUX;Lo;0;L;;;;;N;;;;; A33E;YI SYLLABLE SSU;Lo;0;L;;;;;N;;;;; A33F;YI SYLLABLE SSUP;Lo;0;L;;;;;N;;;;; A340;YI SYLLABLE SSYT;Lo;0;L;;;;;N;;;;; A341;YI SYLLABLE SSYX;Lo;0;L;;;;;N;;;;; A342;YI SYLLABLE SSY;Lo;0;L;;;;;N;;;;; A343;YI SYLLABLE SSYP;Lo;0;L;;;;;N;;;;; A344;YI SYLLABLE SSYRX;Lo;0;L;;;;;N;;;;; A345;YI SYLLABLE SSYR;Lo;0;L;;;;;N;;;;; A346;YI SYLLABLE ZHAT;Lo;0;L;;;;;N;;;;; A347;YI SYLLABLE ZHAX;Lo;0;L;;;;;N;;;;; A348;YI SYLLABLE ZHA;Lo;0;L;;;;;N;;;;; A349;YI SYLLABLE ZHAP;Lo;0;L;;;;;N;;;;; A34A;YI SYLLABLE ZHUOX;Lo;0;L;;;;;N;;;;; A34B;YI SYLLABLE ZHUO;Lo;0;L;;;;;N;;;;; A34C;YI SYLLABLE ZHUOP;Lo;0;L;;;;;N;;;;; A34D;YI SYLLABLE ZHOT;Lo;0;L;;;;;N;;;;; A34E;YI SYLLABLE ZHOX;Lo;0;L;;;;;N;;;;; A34F;YI SYLLABLE ZHO;Lo;0;L;;;;;N;;;;; A350;YI SYLLABLE ZHOP;Lo;0;L;;;;;N;;;;; A351;YI SYLLABLE ZHET;Lo;0;L;;;;;N;;;;; A352;YI SYLLABLE ZHEX;Lo;0;L;;;;;N;;;;; A353;YI SYLLABLE ZHE;Lo;0;L;;;;;N;;;;; A354;YI SYLLABLE ZHEP;Lo;0;L;;;;;N;;;;; A355;YI SYLLABLE ZHUT;Lo;0;L;;;;;N;;;;; A356;YI SYLLABLE ZHUX;Lo;0;L;;;;;N;;;;; A357;YI SYLLABLE ZHU;Lo;0;L;;;;;N;;;;; A358;YI SYLLABLE ZHUP;Lo;0;L;;;;;N;;;;; A359;YI SYLLABLE ZHURX;Lo;0;L;;;;;N;;;;; A35A;YI SYLLABLE ZHUR;Lo;0;L;;;;;N;;;;; A35B;YI SYLLABLE ZHYT;Lo;0;L;;;;;N;;;;; A35C;YI SYLLABLE ZHYX;Lo;0;L;;;;;N;;;;; A35D;YI SYLLABLE ZHY;Lo;0;L;;;;;N;;;;; A35E;YI SYLLABLE ZHYP;Lo;0;L;;;;;N;;;;; A35F;YI SYLLABLE ZHYRX;Lo;0;L;;;;;N;;;;; A360;YI SYLLABLE ZHYR;Lo;0;L;;;;;N;;;;; A361;YI SYLLABLE CHAT;Lo;0;L;;;;;N;;;;; A362;YI SYLLABLE CHAX;Lo;0;L;;;;;N;;;;; A363;YI SYLLABLE CHA;Lo;0;L;;;;;N;;;;; A364;YI SYLLABLE CHAP;Lo;0;L;;;;;N;;;;; A365;YI SYLLABLE CHUOT;Lo;0;L;;;;;N;;;;; A366;YI SYLLABLE CHUOX;Lo;0;L;;;;;N;;;;; A367;YI SYLLABLE CHUO;Lo;0;L;;;;;N;;;;; A368;YI SYLLABLE CHUOP;Lo;0;L;;;;;N;;;;; A369;YI SYLLABLE CHOT;Lo;0;L;;;;;N;;;;; A36A;YI SYLLABLE CHOX;Lo;0;L;;;;;N;;;;; A36B;YI SYLLABLE CHO;Lo;0;L;;;;;N;;;;; A36C;YI SYLLABLE CHOP;Lo;0;L;;;;;N;;;;; A36D;YI SYLLABLE CHET;Lo;0;L;;;;;N;;;;; A36E;YI SYLLABLE CHEX;Lo;0;L;;;;;N;;;;; A36F;YI SYLLABLE CHE;Lo;0;L;;;;;N;;;;; A370;YI SYLLABLE CHEP;Lo;0;L;;;;;N;;;;; A371;YI SYLLABLE CHUX;Lo;0;L;;;;;N;;;;; A372;YI SYLLABLE CHU;Lo;0;L;;;;;N;;;;; A373;YI SYLLABLE CHUP;Lo;0;L;;;;;N;;;;; A374;YI SYLLABLE CHURX;Lo;0;L;;;;;N;;;;; A375;YI SYLLABLE CHUR;Lo;0;L;;;;;N;;;;; A376;YI SYLLABLE CHYT;Lo;0;L;;;;;N;;;;; A377;YI SYLLABLE CHYX;Lo;0;L;;;;;N;;;;; A378;YI SYLLABLE CHY;Lo;0;L;;;;;N;;;;; A379;YI SYLLABLE CHYP;Lo;0;L;;;;;N;;;;; A37A;YI SYLLABLE CHYRX;Lo;0;L;;;;;N;;;;; A37B;YI SYLLABLE CHYR;Lo;0;L;;;;;N;;;;; A37C;YI SYLLABLE RRAX;Lo;0;L;;;;;N;;;;; A37D;YI SYLLABLE RRA;Lo;0;L;;;;;N;;;;; A37E;YI SYLLABLE RRUOX;Lo;0;L;;;;;N;;;;; A37F;YI SYLLABLE RRUO;Lo;0;L;;;;;N;;;;; A380;YI SYLLABLE RROT;Lo;0;L;;;;;N;;;;; A381;YI SYLLABLE RROX;Lo;0;L;;;;;N;;;;; A382;YI SYLLABLE RRO;Lo;0;L;;;;;N;;;;; A383;YI SYLLABLE RROP;Lo;0;L;;;;;N;;;;; A384;YI SYLLABLE RRET;Lo;0;L;;;;;N;;;;; A385;YI SYLLABLE RREX;Lo;0;L;;;;;N;;;;; A386;YI SYLLABLE RRE;Lo;0;L;;;;;N;;;;; A387;YI SYLLABLE RREP;Lo;0;L;;;;;N;;;;; A388;YI SYLLABLE RRUT;Lo;0;L;;;;;N;;;;; A389;YI SYLLABLE RRUX;Lo;0;L;;;;;N;;;;; A38A;YI SYLLABLE RRU;Lo;0;L;;;;;N;;;;; A38B;YI SYLLABLE RRUP;Lo;0;L;;;;;N;;;;; A38C;YI SYLLABLE RRURX;Lo;0;L;;;;;N;;;;; A38D;YI SYLLABLE RRUR;Lo;0;L;;;;;N;;;;; A38E;YI SYLLABLE RRYT;Lo;0;L;;;;;N;;;;; A38F;YI SYLLABLE RRYX;Lo;0;L;;;;;N;;;;; A390;YI SYLLABLE RRY;Lo;0;L;;;;;N;;;;; A391;YI SYLLABLE RRYP;Lo;0;L;;;;;N;;;;; A392;YI SYLLABLE RRYRX;Lo;0;L;;;;;N;;;;; A393;YI SYLLABLE RRYR;Lo;0;L;;;;;N;;;;; A394;YI SYLLABLE NRAT;Lo;0;L;;;;;N;;;;; A395;YI SYLLABLE NRAX;Lo;0;L;;;;;N;;;;; A396;YI SYLLABLE NRA;Lo;0;L;;;;;N;;;;; A397;YI SYLLABLE NRAP;Lo;0;L;;;;;N;;;;; A398;YI SYLLABLE NROX;Lo;0;L;;;;;N;;;;; A399;YI SYLLABLE NRO;Lo;0;L;;;;;N;;;;; A39A;YI SYLLABLE NROP;Lo;0;L;;;;;N;;;;; A39B;YI SYLLABLE NRET;Lo;0;L;;;;;N;;;;; A39C;YI SYLLABLE NREX;Lo;0;L;;;;;N;;;;; A39D;YI SYLLABLE NRE;Lo;0;L;;;;;N;;;;; A39E;YI SYLLABLE NREP;Lo;0;L;;;;;N;;;;; A39F;YI SYLLABLE NRUT;Lo;0;L;;;;;N;;;;; A3A0;YI SYLLABLE NRUX;Lo;0;L;;;;;N;;;;; A3A1;YI SYLLABLE NRU;Lo;0;L;;;;;N;;;;; A3A2;YI SYLLABLE NRUP;Lo;0;L;;;;;N;;;;; A3A3;YI SYLLABLE NRURX;Lo;0;L;;;;;N;;;;; A3A4;YI SYLLABLE NRUR;Lo;0;L;;;;;N;;;;; A3A5;YI SYLLABLE NRYT;Lo;0;L;;;;;N;;;;; A3A6;YI SYLLABLE NRYX;Lo;0;L;;;;;N;;;;; A3A7;YI SYLLABLE NRY;Lo;0;L;;;;;N;;;;; A3A8;YI SYLLABLE NRYP;Lo;0;L;;;;;N;;;;; A3A9;YI SYLLABLE NRYRX;Lo;0;L;;;;;N;;;;; A3AA;YI SYLLABLE NRYR;Lo;0;L;;;;;N;;;;; A3AB;YI SYLLABLE SHAT;Lo;0;L;;;;;N;;;;; A3AC;YI SYLLABLE SHAX;Lo;0;L;;;;;N;;;;; A3AD;YI SYLLABLE SHA;Lo;0;L;;;;;N;;;;; A3AE;YI SYLLABLE SHAP;Lo;0;L;;;;;N;;;;; A3AF;YI SYLLABLE SHUOX;Lo;0;L;;;;;N;;;;; A3B0;YI SYLLABLE SHUO;Lo;0;L;;;;;N;;;;; A3B1;YI SYLLABLE SHUOP;Lo;0;L;;;;;N;;;;; A3B2;YI SYLLABLE SHOT;Lo;0;L;;;;;N;;;;; A3B3;YI SYLLABLE SHOX;Lo;0;L;;;;;N;;;;; A3B4;YI SYLLABLE SHO;Lo;0;L;;;;;N;;;;; A3B5;YI SYLLABLE SHOP;Lo;0;L;;;;;N;;;;; A3B6;YI SYLLABLE SHET;Lo;0;L;;;;;N;;;;; A3B7;YI SYLLABLE SHEX;Lo;0;L;;;;;N;;;;; A3B8;YI SYLLABLE SHE;Lo;0;L;;;;;N;;;;; A3B9;YI SYLLABLE SHEP;Lo;0;L;;;;;N;;;;; A3BA;YI SYLLABLE SHUT;Lo;0;L;;;;;N;;;;; A3BB;YI SYLLABLE SHUX;Lo;0;L;;;;;N;;;;; A3BC;YI SYLLABLE SHU;Lo;0;L;;;;;N;;;;; A3BD;YI SYLLABLE SHUP;Lo;0;L;;;;;N;;;;; A3BE;YI SYLLABLE SHURX;Lo;0;L;;;;;N;;;;; A3BF;YI SYLLABLE SHUR;Lo;0;L;;;;;N;;;;; A3C0;YI SYLLABLE SHYT;Lo;0;L;;;;;N;;;;; A3C1;YI SYLLABLE SHYX;Lo;0;L;;;;;N;;;;; A3C2;YI SYLLABLE SHY;Lo;0;L;;;;;N;;;;; A3C3;YI SYLLABLE SHYP;Lo;0;L;;;;;N;;;;; A3C4;YI SYLLABLE SHYRX;Lo;0;L;;;;;N;;;;; A3C5;YI SYLLABLE SHYR;Lo;0;L;;;;;N;;;;; A3C6;YI SYLLABLE RAT;Lo;0;L;;;;;N;;;;; A3C7;YI SYLLABLE RAX;Lo;0;L;;;;;N;;;;; A3C8;YI SYLLABLE RA;Lo;0;L;;;;;N;;;;; A3C9;YI SYLLABLE RAP;Lo;0;L;;;;;N;;;;; A3CA;YI SYLLABLE RUOX;Lo;0;L;;;;;N;;;;; A3CB;YI SYLLABLE RUO;Lo;0;L;;;;;N;;;;; A3CC;YI SYLLABLE RUOP;Lo;0;L;;;;;N;;;;; A3CD;YI SYLLABLE ROT;Lo;0;L;;;;;N;;;;; A3CE;YI SYLLABLE ROX;Lo;0;L;;;;;N;;;;; A3CF;YI SYLLABLE RO;Lo;0;L;;;;;N;;;;; A3D0;YI SYLLABLE ROP;Lo;0;L;;;;;N;;;;; A3D1;YI SYLLABLE REX;Lo;0;L;;;;;N;;;;; A3D2;YI SYLLABLE RE;Lo;0;L;;;;;N;;;;; A3D3;YI SYLLABLE REP;Lo;0;L;;;;;N;;;;; A3D4;YI SYLLABLE RUT;Lo;0;L;;;;;N;;;;; A3D5;YI SYLLABLE RUX;Lo;0;L;;;;;N;;;;; A3D6;YI SYLLABLE RU;Lo;0;L;;;;;N;;;;; A3D7;YI SYLLABLE RUP;Lo;0;L;;;;;N;;;;; A3D8;YI SYLLABLE RURX;Lo;0;L;;;;;N;;;;; A3D9;YI SYLLABLE RUR;Lo;0;L;;;;;N;;;;; A3DA;YI SYLLABLE RYT;Lo;0;L;;;;;N;;;;; A3DB;YI SYLLABLE RYX;Lo;0;L;;;;;N;;;;; A3DC;YI SYLLABLE RY;Lo;0;L;;;;;N;;;;; A3DD;YI SYLLABLE RYP;Lo;0;L;;;;;N;;;;; A3DE;YI SYLLABLE RYRX;Lo;0;L;;;;;N;;;;; A3DF;YI SYLLABLE RYR;Lo;0;L;;;;;N;;;;; A3E0;YI SYLLABLE JIT;Lo;0;L;;;;;N;;;;; A3E1;YI SYLLABLE JIX;Lo;0;L;;;;;N;;;;; A3E2;YI SYLLABLE JI;Lo;0;L;;;;;N;;;;; A3E3;YI SYLLABLE JIP;Lo;0;L;;;;;N;;;;; A3E4;YI SYLLABLE JIET;Lo;0;L;;;;;N;;;;; A3E5;YI SYLLABLE JIEX;Lo;0;L;;;;;N;;;;; A3E6;YI SYLLABLE JIE;Lo;0;L;;;;;N;;;;; A3E7;YI SYLLABLE JIEP;Lo;0;L;;;;;N;;;;; A3E8;YI SYLLABLE JUOT;Lo;0;L;;;;;N;;;;; A3E9;YI SYLLABLE JUOX;Lo;0;L;;;;;N;;;;; A3EA;YI SYLLABLE JUO;Lo;0;L;;;;;N;;;;; A3EB;YI SYLLABLE JUOP;Lo;0;L;;;;;N;;;;; A3EC;YI SYLLABLE JOT;Lo;0;L;;;;;N;;;;; A3ED;YI SYLLABLE JOX;Lo;0;L;;;;;N;;;;; A3EE;YI SYLLABLE JO;Lo;0;L;;;;;N;;;;; A3EF;YI SYLLABLE JOP;Lo;0;L;;;;;N;;;;; A3F0;YI SYLLABLE JUT;Lo;0;L;;;;;N;;;;; A3F1;YI SYLLABLE JUX;Lo;0;L;;;;;N;;;;; A3F2;YI SYLLABLE JU;Lo;0;L;;;;;N;;;;; A3F3;YI SYLLABLE JUP;Lo;0;L;;;;;N;;;;; A3F4;YI SYLLABLE JURX;Lo;0;L;;;;;N;;;;; A3F5;YI SYLLABLE JUR;Lo;0;L;;;;;N;;;;; A3F6;YI SYLLABLE JYT;Lo;0;L;;;;;N;;;;; A3F7;YI SYLLABLE JYX;Lo;0;L;;;;;N;;;;; A3F8;YI SYLLABLE JY;Lo;0;L;;;;;N;;;;; A3F9;YI SYLLABLE JYP;Lo;0;L;;;;;N;;;;; A3FA;YI SYLLABLE JYRX;Lo;0;L;;;;;N;;;;; A3FB;YI SYLLABLE JYR;Lo;0;L;;;;;N;;;;; A3FC;YI SYLLABLE QIT;Lo;0;L;;;;;N;;;;; A3FD;YI SYLLABLE QIX;Lo;0;L;;;;;N;;;;; A3FE;YI SYLLABLE QI;Lo;0;L;;;;;N;;;;; A3FF;YI SYLLABLE QIP;Lo;0;L;;;;;N;;;;; A400;YI SYLLABLE QIET;Lo;0;L;;;;;N;;;;; A401;YI SYLLABLE QIEX;Lo;0;L;;;;;N;;;;; A402;YI SYLLABLE QIE;Lo;0;L;;;;;N;;;;; A403;YI SYLLABLE QIEP;Lo;0;L;;;;;N;;;;; A404;YI SYLLABLE QUOT;Lo;0;L;;;;;N;;;;; A405;YI SYLLABLE QUOX;Lo;0;L;;;;;N;;;;; A406;YI SYLLABLE QUO;Lo;0;L;;;;;N;;;;; A407;YI SYLLABLE QUOP;Lo;0;L;;;;;N;;;;; A408;YI SYLLABLE QOT;Lo;0;L;;;;;N;;;;; A409;YI SYLLABLE QOX;Lo;0;L;;;;;N;;;;; A40A;YI SYLLABLE QO;Lo;0;L;;;;;N;;;;; A40B;YI SYLLABLE QOP;Lo;0;L;;;;;N;;;;; A40C;YI SYLLABLE QUT;Lo;0;L;;;;;N;;;;; A40D;YI SYLLABLE QUX;Lo;0;L;;;;;N;;;;; A40E;YI SYLLABLE QU;Lo;0;L;;;;;N;;;;; A40F;YI SYLLABLE QUP;Lo;0;L;;;;;N;;;;; A410;YI SYLLABLE QURX;Lo;0;L;;;;;N;;;;; A411;YI SYLLABLE QUR;Lo;0;L;;;;;N;;;;; A412;YI SYLLABLE QYT;Lo;0;L;;;;;N;;;;; A413;YI SYLLABLE QYX;Lo;0;L;;;;;N;;;;; A414;YI SYLLABLE QY;Lo;0;L;;;;;N;;;;; A415;YI SYLLABLE QYP;Lo;0;L;;;;;N;;;;; A416;YI SYLLABLE QYRX;Lo;0;L;;;;;N;;;;; A417;YI SYLLABLE QYR;Lo;0;L;;;;;N;;;;; A418;YI SYLLABLE JJIT;Lo;0;L;;;;;N;;;;; A419;YI SYLLABLE JJIX;Lo;0;L;;;;;N;;;;; A41A;YI SYLLABLE JJI;Lo;0;L;;;;;N;;;;; A41B;YI SYLLABLE JJIP;Lo;0;L;;;;;N;;;;; A41C;YI SYLLABLE JJIET;Lo;0;L;;;;;N;;;;; A41D;YI SYLLABLE JJIEX;Lo;0;L;;;;;N;;;;; A41E;YI SYLLABLE JJIE;Lo;0;L;;;;;N;;;;; A41F;YI SYLLABLE JJIEP;Lo;0;L;;;;;N;;;;; A420;YI SYLLABLE JJUOX;Lo;0;L;;;;;N;;;;; A421;YI SYLLABLE JJUO;Lo;0;L;;;;;N;;;;; A422;YI SYLLABLE JJUOP;Lo;0;L;;;;;N;;;;; A423;YI SYLLABLE JJOT;Lo;0;L;;;;;N;;;;; A424;YI SYLLABLE JJOX;Lo;0;L;;;;;N;;;;; A425;YI SYLLABLE JJO;Lo;0;L;;;;;N;;;;; A426;YI SYLLABLE JJOP;Lo;0;L;;;;;N;;;;; A427;YI SYLLABLE JJUT;Lo;0;L;;;;;N;;;;; A428;YI SYLLABLE JJUX;Lo;0;L;;;;;N;;;;; A429;YI SYLLABLE JJU;Lo;0;L;;;;;N;;;;; A42A;YI SYLLABLE JJUP;Lo;0;L;;;;;N;;;;; A42B;YI SYLLABLE JJURX;Lo;0;L;;;;;N;;;;; A42C;YI SYLLABLE JJUR;Lo;0;L;;;;;N;;;;; A42D;YI SYLLABLE JJYT;Lo;0;L;;;;;N;;;;; A42E;YI SYLLABLE JJYX;Lo;0;L;;;;;N;;;;; A42F;YI SYLLABLE JJY;Lo;0;L;;;;;N;;;;; A430;YI SYLLABLE JJYP;Lo;0;L;;;;;N;;;;; A431;YI SYLLABLE NJIT;Lo;0;L;;;;;N;;;;; A432;YI SYLLABLE NJIX;Lo;0;L;;;;;N;;;;; A433;YI SYLLABLE NJI;Lo;0;L;;;;;N;;;;; A434;YI SYLLABLE NJIP;Lo;0;L;;;;;N;;;;; A435;YI SYLLABLE NJIET;Lo;0;L;;;;;N;;;;; A436;YI SYLLABLE NJIEX;Lo;0;L;;;;;N;;;;; A437;YI SYLLABLE NJIE;Lo;0;L;;;;;N;;;;; A438;YI SYLLABLE NJIEP;Lo;0;L;;;;;N;;;;; A439;YI SYLLABLE NJUOX;Lo;0;L;;;;;N;;;;; A43A;YI SYLLABLE NJUO;Lo;0;L;;;;;N;;;;; A43B;YI SYLLABLE NJOT;Lo;0;L;;;;;N;;;;; A43C;YI SYLLABLE NJOX;Lo;0;L;;;;;N;;;;; A43D;YI SYLLABLE NJO;Lo;0;L;;;;;N;;;;; A43E;YI SYLLABLE NJOP;Lo;0;L;;;;;N;;;;; A43F;YI SYLLABLE NJUX;Lo;0;L;;;;;N;;;;; A440;YI SYLLABLE NJU;Lo;0;L;;;;;N;;;;; A441;YI SYLLABLE NJUP;Lo;0;L;;;;;N;;;;; A442;YI SYLLABLE NJURX;Lo;0;L;;;;;N;;;;; A443;YI SYLLABLE NJUR;Lo;0;L;;;;;N;;;;; A444;YI SYLLABLE NJYT;Lo;0;L;;;;;N;;;;; A445;YI SYLLABLE NJYX;Lo;0;L;;;;;N;;;;; A446;YI SYLLABLE NJY;Lo;0;L;;;;;N;;;;; A447;YI SYLLABLE NJYP;Lo;0;L;;;;;N;;;;; A448;YI SYLLABLE NJYRX;Lo;0;L;;;;;N;;;;; A449;YI SYLLABLE NJYR;Lo;0;L;;;;;N;;;;; A44A;YI SYLLABLE NYIT;Lo;0;L;;;;;N;;;;; A44B;YI SYLLABLE NYIX;Lo;0;L;;;;;N;;;;; A44C;YI SYLLABLE NYI;Lo;0;L;;;;;N;;;;; A44D;YI SYLLABLE NYIP;Lo;0;L;;;;;N;;;;; A44E;YI SYLLABLE NYIET;Lo;0;L;;;;;N;;;;; A44F;YI SYLLABLE NYIEX;Lo;0;L;;;;;N;;;;; A450;YI SYLLABLE NYIE;Lo;0;L;;;;;N;;;;; A451;YI SYLLABLE NYIEP;Lo;0;L;;;;;N;;;;; A452;YI SYLLABLE NYUOX;Lo;0;L;;;;;N;;;;; A453;YI SYLLABLE NYUO;Lo;0;L;;;;;N;;;;; A454;YI SYLLABLE NYUOP;Lo;0;L;;;;;N;;;;; A455;YI SYLLABLE NYOT;Lo;0;L;;;;;N;;;;; A456;YI SYLLABLE NYOX;Lo;0;L;;;;;N;;;;; A457;YI SYLLABLE NYO;Lo;0;L;;;;;N;;;;; A458;YI SYLLABLE NYOP;Lo;0;L;;;;;N;;;;; A459;YI SYLLABLE NYUT;Lo;0;L;;;;;N;;;;; A45A;YI SYLLABLE NYUX;Lo;0;L;;;;;N;;;;; A45B;YI SYLLABLE NYU;Lo;0;L;;;;;N;;;;; A45C;YI SYLLABLE NYUP;Lo;0;L;;;;;N;;;;; A45D;YI SYLLABLE XIT;Lo;0;L;;;;;N;;;;; A45E;YI SYLLABLE XIX;Lo;0;L;;;;;N;;;;; A45F;YI SYLLABLE XI;Lo;0;L;;;;;N;;;;; A460;YI SYLLABLE XIP;Lo;0;L;;;;;N;;;;; A461;YI SYLLABLE XIET;Lo;0;L;;;;;N;;;;; A462;YI SYLLABLE XIEX;Lo;0;L;;;;;N;;;;; A463;YI SYLLABLE XIE;Lo;0;L;;;;;N;;;;; A464;YI SYLLABLE XIEP;Lo;0;L;;;;;N;;;;; A465;YI SYLLABLE XUOX;Lo;0;L;;;;;N;;;;; A466;YI SYLLABLE XUO;Lo;0;L;;;;;N;;;;; A467;YI SYLLABLE XOT;Lo;0;L;;;;;N;;;;; A468;YI SYLLABLE XOX;Lo;0;L;;;;;N;;;;; A469;YI SYLLABLE XO;Lo;0;L;;;;;N;;;;; A46A;YI SYLLABLE XOP;Lo;0;L;;;;;N;;;;; A46B;YI SYLLABLE XYT;Lo;0;L;;;;;N;;;;; A46C;YI SYLLABLE XYX;Lo;0;L;;;;;N;;;;; A46D;YI SYLLABLE XY;Lo;0;L;;;;;N;;;;; A46E;YI SYLLABLE XYP;Lo;0;L;;;;;N;;;;; A46F;YI SYLLABLE XYRX;Lo;0;L;;;;;N;;;;; A470;YI SYLLABLE XYR;Lo;0;L;;;;;N;;;;; A471;YI SYLLABLE YIT;Lo;0;L;;;;;N;;;;; A472;YI SYLLABLE YIX;Lo;0;L;;;;;N;;;;; A473;YI SYLLABLE YI;Lo;0;L;;;;;N;;;;; A474;YI SYLLABLE YIP;Lo;0;L;;;;;N;;;;; A475;YI SYLLABLE YIET;Lo;0;L;;;;;N;;;;; A476;YI SYLLABLE YIEX;Lo;0;L;;;;;N;;;;; A477;YI SYLLABLE YIE;Lo;0;L;;;;;N;;;;; A478;YI SYLLABLE YIEP;Lo;0;L;;;;;N;;;;; A479;YI SYLLABLE YUOT;Lo;0;L;;;;;N;;;;; A47A;YI SYLLABLE YUOX;Lo;0;L;;;;;N;;;;; A47B;YI SYLLABLE YUO;Lo;0;L;;;;;N;;;;; A47C;YI SYLLABLE YUOP;Lo;0;L;;;;;N;;;;; A47D;YI SYLLABLE YOT;Lo;0;L;;;;;N;;;;; A47E;YI SYLLABLE YOX;Lo;0;L;;;;;N;;;;; A47F;YI SYLLABLE YO;Lo;0;L;;;;;N;;;;; A480;YI SYLLABLE YOP;Lo;0;L;;;;;N;;;;; A481;YI SYLLABLE YUT;Lo;0;L;;;;;N;;;;; A482;YI SYLLABLE YUX;Lo;0;L;;;;;N;;;;; A483;YI SYLLABLE YU;Lo;0;L;;;;;N;;;;; A484;YI SYLLABLE YUP;Lo;0;L;;;;;N;;;;; A485;YI SYLLABLE YURX;Lo;0;L;;;;;N;;;;; A486;YI SYLLABLE YUR;Lo;0;L;;;;;N;;;;; A487;YI SYLLABLE YYT;Lo;0;L;;;;;N;;;;; A488;YI SYLLABLE YYX;Lo;0;L;;;;;N;;;;; A489;YI SYLLABLE YY;Lo;0;L;;;;;N;;;;; A48A;YI SYLLABLE YYP;Lo;0;L;;;;;N;;;;; A48B;YI SYLLABLE YYRX;Lo;0;L;;;;;N;;;;; A48C;YI SYLLABLE YYR;Lo;0;L;;;;;N;;;;; A490;YI RADICAL QOT;So;0;ON;;;;;N;;;;; A491;YI RADICAL LI;So;0;ON;;;;;N;;;;; A492;YI RADICAL KIT;So;0;ON;;;;;N;;;;; A493;YI RADICAL NYIP;So;0;ON;;;;;N;;;;; A494;YI RADICAL CYP;So;0;ON;;;;;N;;;;; A495;YI RADICAL SSI;So;0;ON;;;;;N;;;;; A496;YI RADICAL GGOP;So;0;ON;;;;;N;;;;; A497;YI RADICAL GEP;So;0;ON;;;;;N;;;;; A498;YI RADICAL MI;So;0;ON;;;;;N;;;;; A499;YI RADICAL HXIT;So;0;ON;;;;;N;;;;; A49A;YI RADICAL LYR;So;0;ON;;;;;N;;;;; A49B;YI RADICAL BBUT;So;0;ON;;;;;N;;;;; A49C;YI RADICAL MOP;So;0;ON;;;;;N;;;;; A49D;YI RADICAL YO;So;0;ON;;;;;N;;;;; A49E;YI RADICAL PUT;So;0;ON;;;;;N;;;;; A49F;YI RADICAL HXUO;So;0;ON;;;;;N;;;;; A4A0;YI RADICAL TAT;So;0;ON;;;;;N;;;;; A4A1;YI RADICAL GA;So;0;ON;;;;;N;;;;; A4A4;YI RADICAL DDUR;So;0;ON;;;;;N;;;;; A4A5;YI RADICAL BUR;So;0;ON;;;;;N;;;;; A4A6;YI RADICAL GGUO;So;0;ON;;;;;N;;;;; A4A7;YI RADICAL NYOP;So;0;ON;;;;;N;;;;; A4A8;YI RADICAL TU;So;0;ON;;;;;N;;;;; A4A9;YI RADICAL OP;So;0;ON;;;;;N;;;;; A4AA;YI RADICAL JJUT;So;0;ON;;;;;N;;;;; A4AB;YI RADICAL ZOT;So;0;ON;;;;;N;;;;; A4AC;YI RADICAL PYT;So;0;ON;;;;;N;;;;; A4AD;YI RADICAL HMO;So;0;ON;;;;;N;;;;; A4AE;YI RADICAL YIT;So;0;ON;;;;;N;;;;; A4AF;YI RADICAL VUR;So;0;ON;;;;;N;;;;; A4B0;YI RADICAL SHY;So;0;ON;;;;;N;;;;; A4B1;YI RADICAL VEP;So;0;ON;;;;;N;;;;; A4B2;YI RADICAL ZA;So;0;ON;;;;;N;;;;; A4B3;YI RADICAL JO;So;0;ON;;;;;N;;;;; A4B5;YI RADICAL JJY;So;0;ON;;;;;N;;;;; A4B6;YI RADICAL GOT;So;0;ON;;;;;N;;;;; A4B7;YI RADICAL JJIE;So;0;ON;;;;;N;;;;; A4B8;YI RADICAL WO;So;0;ON;;;;;N;;;;; A4B9;YI RADICAL DU;So;0;ON;;;;;N;;;;; A4BA;YI RADICAL SHUR;So;0;ON;;;;;N;;;;; A4BB;YI RADICAL LIE;So;0;ON;;;;;N;;;;; A4BC;YI RADICAL CY;So;0;ON;;;;;N;;;;; A4BD;YI RADICAL CUOP;So;0;ON;;;;;N;;;;; A4BE;YI RADICAL CIP;So;0;ON;;;;;N;;;;; A4BF;YI RADICAL HXOP;So;0;ON;;;;;N;;;;; A4C0;YI RADICAL SHAT;So;0;ON;;;;;N;;;;; A4C2;YI RADICAL SHOP;So;0;ON;;;;;N;;;;; A4C3;YI RADICAL CHE;So;0;ON;;;;;N;;;;; A4C4;YI RADICAL ZZIET;So;0;ON;;;;;N;;;;; A4C6;YI RADICAL KE;So;0;ON;;;;;N;;;;; AC00;;Lo;0;L;;;;;N;;;;; D7A3;;Lo;0;L;;;;;N;;;;; D800;;Cs;0;L;;;;;N;;;;; DB7F;;Cs;0;L;;;;;N;;;;; DB80;;Cs;0;L;;;;;N;;;;; DBFF;;Cs;0;L;;;;;N;;;;; DC00;;Cs;0;L;;;;;N;;;;; DFFF;;Cs;0;L;;;;;N;;;;; E000;;Co;0;L;;;;;N;;;;; F8FF;;Co;0;L;;;;;N;;;;; F900;CJK COMPATIBILITY IDEOGRAPH-F900;Lo;0;L;8C48;;;;N;;;;; F901;CJK COMPATIBILITY IDEOGRAPH-F901;Lo;0;L;66F4;;;;N;;;;; F902;CJK COMPATIBILITY IDEOGRAPH-F902;Lo;0;L;8ECA;;;;N;;;;; F903;CJK COMPATIBILITY IDEOGRAPH-F903;Lo;0;L;8CC8;;;;N;;;;; F904;CJK COMPATIBILITY IDEOGRAPH-F904;Lo;0;L;6ED1;;;;N;;;;; F905;CJK COMPATIBILITY IDEOGRAPH-F905;Lo;0;L;4E32;;;;N;;;;; F906;CJK COMPATIBILITY IDEOGRAPH-F906;Lo;0;L;53E5;;;;N;;;;; F907;CJK COMPATIBILITY IDEOGRAPH-F907;Lo;0;L;9F9C;;;;N;;;;; F908;CJK COMPATIBILITY IDEOGRAPH-F908;Lo;0;L;9F9C;;;;N;;;;; F909;CJK COMPATIBILITY IDEOGRAPH-F909;Lo;0;L;5951;;;;N;;;;; F90A;CJK COMPATIBILITY IDEOGRAPH-F90A;Lo;0;L;91D1;;;;N;;;;; F90B;CJK COMPATIBILITY IDEOGRAPH-F90B;Lo;0;L;5587;;;;N;;;;; F90C;CJK COMPATIBILITY IDEOGRAPH-F90C;Lo;0;L;5948;;;;N;;;;; F90D;CJK COMPATIBILITY IDEOGRAPH-F90D;Lo;0;L;61F6;;;;N;;;;; F90E;CJK COMPATIBILITY IDEOGRAPH-F90E;Lo;0;L;7669;;;;N;;;;; F90F;CJK COMPATIBILITY IDEOGRAPH-F90F;Lo;0;L;7F85;;;;N;;;;; F910;CJK COMPATIBILITY IDEOGRAPH-F910;Lo;0;L;863F;;;;N;;;;; F911;CJK COMPATIBILITY IDEOGRAPH-F911;Lo;0;L;87BA;;;;N;;;;; F912;CJK COMPATIBILITY IDEOGRAPH-F912;Lo;0;L;88F8;;;;N;;;;; F913;CJK COMPATIBILITY IDEOGRAPH-F913;Lo;0;L;908F;;;;N;;;;; F914;CJK COMPATIBILITY IDEOGRAPH-F914;Lo;0;L;6A02;;;;N;;;;; F915;CJK COMPATIBILITY IDEOGRAPH-F915;Lo;0;L;6D1B;;;;N;;;;; F916;CJK COMPATIBILITY IDEOGRAPH-F916;Lo;0;L;70D9;;;;N;;;;; F917;CJK COMPATIBILITY IDEOGRAPH-F917;Lo;0;L;73DE;;;;N;;;;; F918;CJK COMPATIBILITY IDEOGRAPH-F918;Lo;0;L;843D;;;;N;;;;; F919;CJK COMPATIBILITY IDEOGRAPH-F919;Lo;0;L;916A;;;;N;;;;; F91A;CJK COMPATIBILITY IDEOGRAPH-F91A;Lo;0;L;99F1;;;;N;;;;; F91B;CJK COMPATIBILITY IDEOGRAPH-F91B;Lo;0;L;4E82;;;;N;;;;; F91C;CJK COMPATIBILITY IDEOGRAPH-F91C;Lo;0;L;5375;;;;N;;;;; F91D;CJK COMPATIBILITY IDEOGRAPH-F91D;Lo;0;L;6B04;;;;N;;;;; F91E;CJK COMPATIBILITY IDEOGRAPH-F91E;Lo;0;L;721B;;;;N;;;;; F91F;CJK COMPATIBILITY IDEOGRAPH-F91F;Lo;0;L;862D;;;;N;;;;; F920;CJK COMPATIBILITY IDEOGRAPH-F920;Lo;0;L;9E1E;;;;N;;;;; F921;CJK COMPATIBILITY IDEOGRAPH-F921;Lo;0;L;5D50;;;;N;;;;; F922;CJK COMPATIBILITY IDEOGRAPH-F922;Lo;0;L;6FEB;;;;N;;;;; F923;CJK COMPATIBILITY IDEOGRAPH-F923;Lo;0;L;85CD;;;;N;;;;; F924;CJK COMPATIBILITY IDEOGRAPH-F924;Lo;0;L;8964;;;;N;;;;; F925;CJK COMPATIBILITY IDEOGRAPH-F925;Lo;0;L;62C9;;;;N;;;;; F926;CJK COMPATIBILITY IDEOGRAPH-F926;Lo;0;L;81D8;;;;N;;;;; F927;CJK COMPATIBILITY IDEOGRAPH-F927;Lo;0;L;881F;;;;N;;;;; F928;CJK COMPATIBILITY IDEOGRAPH-F928;Lo;0;L;5ECA;;;;N;;;;; F929;CJK COMPATIBILITY IDEOGRAPH-F929;Lo;0;L;6717;;;;N;;;;; F92A;CJK COMPATIBILITY IDEOGRAPH-F92A;Lo;0;L;6D6A;;;;N;;;;; F92B;CJK COMPATIBILITY IDEOGRAPH-F92B;Lo;0;L;72FC;;;;N;;;;; F92C;CJK COMPATIBILITY IDEOGRAPH-F92C;Lo;0;L;90CE;;;;N;;;;; F92D;CJK COMPATIBILITY IDEOGRAPH-F92D;Lo;0;L;4F86;;;;N;;;;; F92E;CJK COMPATIBILITY IDEOGRAPH-F92E;Lo;0;L;51B7;;;;N;;;;; F92F;CJK COMPATIBILITY IDEOGRAPH-F92F;Lo;0;L;52DE;;;;N;;;;; F930;CJK COMPATIBILITY IDEOGRAPH-F930;Lo;0;L;64C4;;;;N;;;;; F931;CJK COMPATIBILITY IDEOGRAPH-F931;Lo;0;L;6AD3;;;;N;;;;; F932;CJK COMPATIBILITY IDEOGRAPH-F932;Lo;0;L;7210;;;;N;;;;; F933;CJK COMPATIBILITY IDEOGRAPH-F933;Lo;0;L;76E7;;;;N;;;;; F934;CJK COMPATIBILITY IDEOGRAPH-F934;Lo;0;L;8001;;;;N;;;;; F935;CJK COMPATIBILITY IDEOGRAPH-F935;Lo;0;L;8606;;;;N;;;;; F936;CJK COMPATIBILITY IDEOGRAPH-F936;Lo;0;L;865C;;;;N;;;;; F937;CJK COMPATIBILITY IDEOGRAPH-F937;Lo;0;L;8DEF;;;;N;;;;; F938;CJK COMPATIBILITY IDEOGRAPH-F938;Lo;0;L;9732;;;;N;;;;; F939;CJK COMPATIBILITY IDEOGRAPH-F939;Lo;0;L;9B6F;;;;N;;;;; F93A;CJK COMPATIBILITY IDEOGRAPH-F93A;Lo;0;L;9DFA;;;;N;;;;; F93B;CJK COMPATIBILITY IDEOGRAPH-F93B;Lo;0;L;788C;;;;N;;;;; F93C;CJK COMPATIBILITY IDEOGRAPH-F93C;Lo;0;L;797F;;;;N;;;;; F93D;CJK COMPATIBILITY IDEOGRAPH-F93D;Lo;0;L;7DA0;;;;N;;;;; F93E;CJK COMPATIBILITY IDEOGRAPH-F93E;Lo;0;L;83C9;;;;N;;;;; F93F;CJK COMPATIBILITY IDEOGRAPH-F93F;Lo;0;L;9304;;;;N;;;;; F940;CJK COMPATIBILITY IDEOGRAPH-F940;Lo;0;L;9E7F;;;;N;;;;; F941;CJK COMPATIBILITY IDEOGRAPH-F941;Lo;0;L;8AD6;;;;N;;;;; F942;CJK COMPATIBILITY IDEOGRAPH-F942;Lo;0;L;58DF;;;;N;;;;; F943;CJK COMPATIBILITY IDEOGRAPH-F943;Lo;0;L;5F04;;;;N;;;;; F944;CJK COMPATIBILITY IDEOGRAPH-F944;Lo;0;L;7C60;;;;N;;;;; F945;CJK COMPATIBILITY IDEOGRAPH-F945;Lo;0;L;807E;;;;N;;;;; F946;CJK COMPATIBILITY IDEOGRAPH-F946;Lo;0;L;7262;;;;N;;;;; F947;CJK COMPATIBILITY IDEOGRAPH-F947;Lo;0;L;78CA;;;;N;;;;; F948;CJK COMPATIBILITY IDEOGRAPH-F948;Lo;0;L;8CC2;;;;N;;;;; F949;CJK COMPATIBILITY IDEOGRAPH-F949;Lo;0;L;96F7;;;;N;;;;; F94A;CJK COMPATIBILITY IDEOGRAPH-F94A;Lo;0;L;58D8;;;;N;;;;; F94B;CJK COMPATIBILITY IDEOGRAPH-F94B;Lo;0;L;5C62;;;;N;;;;; F94C;CJK COMPATIBILITY IDEOGRAPH-F94C;Lo;0;L;6A13;;;;N;;;;; F94D;CJK COMPATIBILITY IDEOGRAPH-F94D;Lo;0;L;6DDA;;;;N;;;;; F94E;CJK COMPATIBILITY IDEOGRAPH-F94E;Lo;0;L;6F0F;;;;N;;;;; F94F;CJK COMPATIBILITY IDEOGRAPH-F94F;Lo;0;L;7D2F;;;;N;;;;; F950;CJK COMPATIBILITY IDEOGRAPH-F950;Lo;0;L;7E37;;;;N;;;;; F951;CJK COMPATIBILITY IDEOGRAPH-F951;Lo;0;L;96FB;;;;N;;;;; F952;CJK COMPATIBILITY IDEOGRAPH-F952;Lo;0;L;52D2;;;;N;;;;; F953;CJK COMPATIBILITY IDEOGRAPH-F953;Lo;0;L;808B;;;;N;;;;; F954;CJK COMPATIBILITY IDEOGRAPH-F954;Lo;0;L;51DC;;;;N;;;;; F955;CJK COMPATIBILITY IDEOGRAPH-F955;Lo;0;L;51CC;;;;N;;;;; F956;CJK COMPATIBILITY IDEOGRAPH-F956;Lo;0;L;7A1C;;;;N;;;;; F957;CJK COMPATIBILITY IDEOGRAPH-F957;Lo;0;L;7DBE;;;;N;;;;; F958;CJK COMPATIBILITY IDEOGRAPH-F958;Lo;0;L;83F1;;;;N;;;;; F959;CJK COMPATIBILITY IDEOGRAPH-F959;Lo;0;L;9675;;;;N;;;;; F95A;CJK COMPATIBILITY IDEOGRAPH-F95A;Lo;0;L;8B80;;;;N;;;;; F95B;CJK COMPATIBILITY IDEOGRAPH-F95B;Lo;0;L;62CF;;;;N;;;;; F95C;CJK COMPATIBILITY IDEOGRAPH-F95C;Lo;0;L;6A02;;;;N;;;;; F95D;CJK COMPATIBILITY IDEOGRAPH-F95D;Lo;0;L;8AFE;;;;N;;;;; F95E;CJK COMPATIBILITY IDEOGRAPH-F95E;Lo;0;L;4E39;;;;N;;;;; F95F;CJK COMPATIBILITY IDEOGRAPH-F95F;Lo;0;L;5BE7;;;;N;;;;; F960;CJK COMPATIBILITY IDEOGRAPH-F960;Lo;0;L;6012;;;;N;;;;; F961;CJK COMPATIBILITY IDEOGRAPH-F961;Lo;0;L;7387;;;;N;;;;; F962;CJK COMPATIBILITY IDEOGRAPH-F962;Lo;0;L;7570;;;;N;;;;; F963;CJK COMPATIBILITY IDEOGRAPH-F963;Lo;0;L;5317;;;;N;;;;; F964;CJK COMPATIBILITY IDEOGRAPH-F964;Lo;0;L;78FB;;;;N;;;;; F965;CJK COMPATIBILITY IDEOGRAPH-F965;Lo;0;L;4FBF;;;;N;;;;; F966;CJK COMPATIBILITY IDEOGRAPH-F966;Lo;0;L;5FA9;;;;N;;;;; F967;CJK COMPATIBILITY IDEOGRAPH-F967;Lo;0;L;4E0D;;;;N;;;;; F968;CJK COMPATIBILITY IDEOGRAPH-F968;Lo;0;L;6CCC;;;;N;;;;; F969;CJK COMPATIBILITY IDEOGRAPH-F969;Lo;0;L;6578;;;;N;;;;; F96A;CJK COMPATIBILITY IDEOGRAPH-F96A;Lo;0;L;7D22;;;;N;;;;; F96B;CJK COMPATIBILITY IDEOGRAPH-F96B;Lo;0;L;53C3;;;;N;;;;; F96C;CJK COMPATIBILITY IDEOGRAPH-F96C;Lo;0;L;585E;;;;N;;;;; F96D;CJK COMPATIBILITY IDEOGRAPH-F96D;Lo;0;L;7701;;;;N;;;;; F96E;CJK COMPATIBILITY IDEOGRAPH-F96E;Lo;0;L;8449;;;;N;;;;; F96F;CJK COMPATIBILITY IDEOGRAPH-F96F;Lo;0;L;8AAA;;;;N;;;;; F970;CJK COMPATIBILITY IDEOGRAPH-F970;Lo;0;L;6BBA;;;;N;;;;; F971;CJK COMPATIBILITY IDEOGRAPH-F971;Lo;0;L;8FB0;;;;N;;;;; F972;CJK COMPATIBILITY IDEOGRAPH-F972;Lo;0;L;6C88;;;;N;;;;; F973;CJK COMPATIBILITY IDEOGRAPH-F973;Lo;0;L;62FE;;;;N;;;;; F974;CJK COMPATIBILITY IDEOGRAPH-F974;Lo;0;L;82E5;;;;N;;;;; F975;CJK COMPATIBILITY IDEOGRAPH-F975;Lo;0;L;63A0;;;;N;;;;; F976;CJK COMPATIBILITY IDEOGRAPH-F976;Lo;0;L;7565;;;;N;;;;; F977;CJK COMPATIBILITY IDEOGRAPH-F977;Lo;0;L;4EAE;;;;N;;;;; F978;CJK COMPATIBILITY IDEOGRAPH-F978;Lo;0;L;5169;;;;N;;;;; F979;CJK COMPATIBILITY IDEOGRAPH-F979;Lo;0;L;51C9;;;;N;;;;; F97A;CJK COMPATIBILITY IDEOGRAPH-F97A;Lo;0;L;6881;;;;N;;;;; F97B;CJK COMPATIBILITY IDEOGRAPH-F97B;Lo;0;L;7CE7;;;;N;;;;; F97C;CJK COMPATIBILITY IDEOGRAPH-F97C;Lo;0;L;826F;;;;N;;;;; F97D;CJK COMPATIBILITY IDEOGRAPH-F97D;Lo;0;L;8AD2;;;;N;;;;; F97E;CJK COMPATIBILITY IDEOGRAPH-F97E;Lo;0;L;91CF;;;;N;;;;; F97F;CJK COMPATIBILITY IDEOGRAPH-F97F;Lo;0;L;52F5;;;;N;;;;; F980;CJK COMPATIBILITY IDEOGRAPH-F980;Lo;0;L;5442;;;;N;;;;; F981;CJK COMPATIBILITY IDEOGRAPH-F981;Lo;0;L;5973;;;;N;;;;; F982;CJK COMPATIBILITY IDEOGRAPH-F982;Lo;0;L;5EEC;;;;N;;;;; F983;CJK COMPATIBILITY IDEOGRAPH-F983;Lo;0;L;65C5;;;;N;;;;; F984;CJK COMPATIBILITY IDEOGRAPH-F984;Lo;0;L;6FFE;;;;N;;;;; F985;CJK COMPATIBILITY IDEOGRAPH-F985;Lo;0;L;792A;;;;N;;;;; F986;CJK COMPATIBILITY IDEOGRAPH-F986;Lo;0;L;95AD;;;;N;;;;; F987;CJK COMPATIBILITY IDEOGRAPH-F987;Lo;0;L;9A6A;;;;N;;;;; F988;CJK COMPATIBILITY IDEOGRAPH-F988;Lo;0;L;9E97;;;;N;;;;; F989;CJK COMPATIBILITY IDEOGRAPH-F989;Lo;0;L;9ECE;;;;N;;;;; F98A;CJK COMPATIBILITY IDEOGRAPH-F98A;Lo;0;L;529B;;;;N;;;;; F98B;CJK COMPATIBILITY IDEOGRAPH-F98B;Lo;0;L;66C6;;;;N;;;;; F98C;CJK COMPATIBILITY IDEOGRAPH-F98C;Lo;0;L;6B77;;;;N;;;;; F98D;CJK COMPATIBILITY IDEOGRAPH-F98D;Lo;0;L;8F62;;;;N;;;;; F98E;CJK COMPATIBILITY IDEOGRAPH-F98E;Lo;0;L;5E74;;;;N;;;;; F98F;CJK COMPATIBILITY IDEOGRAPH-F98F;Lo;0;L;6190;;;;N;;;;; F990;CJK COMPATIBILITY IDEOGRAPH-F990;Lo;0;L;6200;;;;N;;;;; F991;CJK COMPATIBILITY IDEOGRAPH-F991;Lo;0;L;649A;;;;N;;;;; F992;CJK COMPATIBILITY IDEOGRAPH-F992;Lo;0;L;6F23;;;;N;;;;; F993;CJK COMPATIBILITY IDEOGRAPH-F993;Lo;0;L;7149;;;;N;;;;; F994;CJK COMPATIBILITY IDEOGRAPH-F994;Lo;0;L;7489;;;;N;;;;; F995;CJK COMPATIBILITY IDEOGRAPH-F995;Lo;0;L;79CA;;;;N;;;;; F996;CJK COMPATIBILITY IDEOGRAPH-F996;Lo;0;L;7DF4;;;;N;;;;; F997;CJK COMPATIBILITY IDEOGRAPH-F997;Lo;0;L;806F;;;;N;;;;; F998;CJK COMPATIBILITY IDEOGRAPH-F998;Lo;0;L;8F26;;;;N;;;;; F999;CJK COMPATIBILITY IDEOGRAPH-F999;Lo;0;L;84EE;;;;N;;;;; F99A;CJK COMPATIBILITY IDEOGRAPH-F99A;Lo;0;L;9023;;;;N;;;;; F99B;CJK COMPATIBILITY IDEOGRAPH-F99B;Lo;0;L;934A;;;;N;;;;; F99C;CJK COMPATIBILITY IDEOGRAPH-F99C;Lo;0;L;5217;;;;N;;;;; F99D;CJK COMPATIBILITY IDEOGRAPH-F99D;Lo;0;L;52A3;;;;N;;;;; F99E;CJK COMPATIBILITY IDEOGRAPH-F99E;Lo;0;L;54BD;;;;N;;;;; F99F;CJK COMPATIBILITY IDEOGRAPH-F99F;Lo;0;L;70C8;;;;N;;;;; F9A0;CJK COMPATIBILITY IDEOGRAPH-F9A0;Lo;0;L;88C2;;;;N;;;;; F9A1;CJK COMPATIBILITY IDEOGRAPH-F9A1;Lo;0;L;8AAA;;;;N;;;;; F9A2;CJK COMPATIBILITY IDEOGRAPH-F9A2;Lo;0;L;5EC9;;;;N;;;;; F9A3;CJK COMPATIBILITY IDEOGRAPH-F9A3;Lo;0;L;5FF5;;;;N;;;;; F9A4;CJK COMPATIBILITY IDEOGRAPH-F9A4;Lo;0;L;637B;;;;N;;;;; F9A5;CJK COMPATIBILITY IDEOGRAPH-F9A5;Lo;0;L;6BAE;;;;N;;;;; F9A6;CJK COMPATIBILITY IDEOGRAPH-F9A6;Lo;0;L;7C3E;;;;N;;;;; F9A7;CJK COMPATIBILITY IDEOGRAPH-F9A7;Lo;0;L;7375;;;;N;;;;; F9A8;CJK COMPATIBILITY IDEOGRAPH-F9A8;Lo;0;L;4EE4;;;;N;;;;; F9A9;CJK COMPATIBILITY IDEOGRAPH-F9A9;Lo;0;L;56F9;;;;N;;;;; F9AA;CJK COMPATIBILITY IDEOGRAPH-F9AA;Lo;0;L;5BE7;;;;N;;;;; F9AB;CJK COMPATIBILITY IDEOGRAPH-F9AB;Lo;0;L;5DBA;;;;N;;;;; F9AC;CJK COMPATIBILITY IDEOGRAPH-F9AC;Lo;0;L;601C;;;;N;;;;; F9AD;CJK COMPATIBILITY IDEOGRAPH-F9AD;Lo;0;L;73B2;;;;N;;;;; F9AE;CJK COMPATIBILITY IDEOGRAPH-F9AE;Lo;0;L;7469;;;;N;;;;; F9AF;CJK COMPATIBILITY IDEOGRAPH-F9AF;Lo;0;L;7F9A;;;;N;;;;; F9B0;CJK COMPATIBILITY IDEOGRAPH-F9B0;Lo;0;L;8046;;;;N;;;;; F9B1;CJK COMPATIBILITY IDEOGRAPH-F9B1;Lo;0;L;9234;;;;N;;;;; F9B2;CJK COMPATIBILITY IDEOGRAPH-F9B2;Lo;0;L;96F6;;;;N;;;;; F9B3;CJK COMPATIBILITY IDEOGRAPH-F9B3;Lo;0;L;9748;;;;N;;;;; F9B4;CJK COMPATIBILITY IDEOGRAPH-F9B4;Lo;0;L;9818;;;;N;;;;; F9B5;CJK COMPATIBILITY IDEOGRAPH-F9B5;Lo;0;L;4F8B;;;;N;;;;; F9B6;CJK COMPATIBILITY IDEOGRAPH-F9B6;Lo;0;L;79AE;;;;N;;;;; F9B7;CJK COMPATIBILITY IDEOGRAPH-F9B7;Lo;0;L;91B4;;;;N;;;;; F9B8;CJK COMPATIBILITY IDEOGRAPH-F9B8;Lo;0;L;96B8;;;;N;;;;; F9B9;CJK COMPATIBILITY IDEOGRAPH-F9B9;Lo;0;L;60E1;;;;N;;;;; F9BA;CJK COMPATIBILITY IDEOGRAPH-F9BA;Lo;0;L;4E86;;;;N;;;;; F9BB;CJK COMPATIBILITY IDEOGRAPH-F9BB;Lo;0;L;50DA;;;;N;;;;; F9BC;CJK COMPATIBILITY IDEOGRAPH-F9BC;Lo;0;L;5BEE;;;;N;;;;; F9BD;CJK COMPATIBILITY IDEOGRAPH-F9BD;Lo;0;L;5C3F;;;;N;;;;; F9BE;CJK COMPATIBILITY IDEOGRAPH-F9BE;Lo;0;L;6599;;;;N;;;;; F9BF;CJK COMPATIBILITY IDEOGRAPH-F9BF;Lo;0;L;6A02;;;;N;;;;; F9C0;CJK COMPATIBILITY IDEOGRAPH-F9C0;Lo;0;L;71CE;;;;N;;;;; F9C1;CJK COMPATIBILITY IDEOGRAPH-F9C1;Lo;0;L;7642;;;;N;;;;; F9C2;CJK COMPATIBILITY IDEOGRAPH-F9C2;Lo;0;L;84FC;;;;N;;;;; F9C3;CJK COMPATIBILITY IDEOGRAPH-F9C3;Lo;0;L;907C;;;;N;;;;; F9C4;CJK COMPATIBILITY IDEOGRAPH-F9C4;Lo;0;L;9F8D;;;;N;;;;; F9C5;CJK COMPATIBILITY IDEOGRAPH-F9C5;Lo;0;L;6688;;;;N;;;;; F9C6;CJK COMPATIBILITY IDEOGRAPH-F9C6;Lo;0;L;962E;;;;N;;;;; F9C7;CJK COMPATIBILITY IDEOGRAPH-F9C7;Lo;0;L;5289;;;;N;;;;; F9C8;CJK COMPATIBILITY IDEOGRAPH-F9C8;Lo;0;L;677B;;;;N;;;;; F9C9;CJK COMPATIBILITY IDEOGRAPH-F9C9;Lo;0;L;67F3;;;;N;;;;; F9CA;CJK COMPATIBILITY IDEOGRAPH-F9CA;Lo;0;L;6D41;;;;N;;;;; F9CB;CJK COMPATIBILITY IDEOGRAPH-F9CB;Lo;0;L;6E9C;;;;N;;;;; F9CC;CJK COMPATIBILITY IDEOGRAPH-F9CC;Lo;0;L;7409;;;;N;;;;; F9CD;CJK COMPATIBILITY IDEOGRAPH-F9CD;Lo;0;L;7559;;;;N;;;;; F9CE;CJK COMPATIBILITY IDEOGRAPH-F9CE;Lo;0;L;786B;;;;N;;;;; F9CF;CJK COMPATIBILITY IDEOGRAPH-F9CF;Lo;0;L;7D10;;;;N;;;;; F9D0;CJK COMPATIBILITY IDEOGRAPH-F9D0;Lo;0;L;985E;;;;N;;;;; F9D1;CJK COMPATIBILITY IDEOGRAPH-F9D1;Lo;0;L;516D;;;;N;;;;; F9D2;CJK COMPATIBILITY IDEOGRAPH-F9D2;Lo;0;L;622E;;;;N;;;;; F9D3;CJK COMPATIBILITY IDEOGRAPH-F9D3;Lo;0;L;9678;;;;N;;;;; F9D4;CJK COMPATIBILITY IDEOGRAPH-F9D4;Lo;0;L;502B;;;;N;;;;; F9D5;CJK COMPATIBILITY IDEOGRAPH-F9D5;Lo;0;L;5D19;;;;N;;;;; F9D6;CJK COMPATIBILITY IDEOGRAPH-F9D6;Lo;0;L;6DEA;;;;N;;;;; F9D7;CJK COMPATIBILITY IDEOGRAPH-F9D7;Lo;0;L;8F2A;;;;N;;;;; F9D8;CJK COMPATIBILITY IDEOGRAPH-F9D8;Lo;0;L;5F8B;;;;N;;;;; F9D9;CJK COMPATIBILITY IDEOGRAPH-F9D9;Lo;0;L;6144;;;;N;;;;; F9DA;CJK COMPATIBILITY IDEOGRAPH-F9DA;Lo;0;L;6817;;;;N;;;;; F9DB;CJK COMPATIBILITY IDEOGRAPH-F9DB;Lo;0;L;7387;;;;N;;;;; F9DC;CJK COMPATIBILITY IDEOGRAPH-F9DC;Lo;0;L;9686;;;;N;;;;; F9DD;CJK COMPATIBILITY IDEOGRAPH-F9DD;Lo;0;L;5229;;;;N;;;;; F9DE;CJK COMPATIBILITY IDEOGRAPH-F9DE;Lo;0;L;540F;;;;N;;;;; F9DF;CJK COMPATIBILITY IDEOGRAPH-F9DF;Lo;0;L;5C65;;;;N;;;;; F9E0;CJK COMPATIBILITY IDEOGRAPH-F9E0;Lo;0;L;6613;;;;N;;;;; F9E1;CJK COMPATIBILITY IDEOGRAPH-F9E1;Lo;0;L;674E;;;;N;;;;; F9E2;CJK COMPATIBILITY IDEOGRAPH-F9E2;Lo;0;L;68A8;;;;N;;;;; F9E3;CJK COMPATIBILITY IDEOGRAPH-F9E3;Lo;0;L;6CE5;;;;N;;;;; F9E4;CJK COMPATIBILITY IDEOGRAPH-F9E4;Lo;0;L;7406;;;;N;;;;; F9E5;CJK COMPATIBILITY IDEOGRAPH-F9E5;Lo;0;L;75E2;;;;N;;;;; F9E6;CJK COMPATIBILITY IDEOGRAPH-F9E6;Lo;0;L;7F79;;;;N;;;;; F9E7;CJK COMPATIBILITY IDEOGRAPH-F9E7;Lo;0;L;88CF;;;;N;;;;; F9E8;CJK COMPATIBILITY IDEOGRAPH-F9E8;Lo;0;L;88E1;;;;N;;;;; F9E9;CJK COMPATIBILITY IDEOGRAPH-F9E9;Lo;0;L;91CC;;;;N;;;;; F9EA;CJK COMPATIBILITY IDEOGRAPH-F9EA;Lo;0;L;96E2;;;;N;;;;; F9EB;CJK COMPATIBILITY IDEOGRAPH-F9EB;Lo;0;L;533F;;;;N;;;;; F9EC;CJK COMPATIBILITY IDEOGRAPH-F9EC;Lo;0;L;6EBA;;;;N;;;;; F9ED;CJK COMPATIBILITY IDEOGRAPH-F9ED;Lo;0;L;541D;;;;N;;;;; F9EE;CJK COMPATIBILITY IDEOGRAPH-F9EE;Lo;0;L;71D0;;;;N;;;;; F9EF;CJK COMPATIBILITY IDEOGRAPH-F9EF;Lo;0;L;7498;;;;N;;;;; F9F0;CJK COMPATIBILITY IDEOGRAPH-F9F0;Lo;0;L;85FA;;;;N;;;;; F9F1;CJK COMPATIBILITY IDEOGRAPH-F9F1;Lo;0;L;96A3;;;;N;;;;; F9F2;CJK COMPATIBILITY IDEOGRAPH-F9F2;Lo;0;L;9C57;;;;N;;;;; F9F3;CJK COMPATIBILITY IDEOGRAPH-F9F3;Lo;0;L;9E9F;;;;N;;;;; F9F4;CJK COMPATIBILITY IDEOGRAPH-F9F4;Lo;0;L;6797;;;;N;;;;; F9F5;CJK COMPATIBILITY IDEOGRAPH-F9F5;Lo;0;L;6DCB;;;;N;;;;; F9F6;CJK COMPATIBILITY IDEOGRAPH-F9F6;Lo;0;L;81E8;;;;N;;;;; F9F7;CJK COMPATIBILITY IDEOGRAPH-F9F7;Lo;0;L;7ACB;;;;N;;;;; F9F8;CJK COMPATIBILITY IDEOGRAPH-F9F8;Lo;0;L;7B20;;;;N;;;;; F9F9;CJK COMPATIBILITY IDEOGRAPH-F9F9;Lo;0;L;7C92;;;;N;;;;; F9FA;CJK COMPATIBILITY IDEOGRAPH-F9FA;Lo;0;L;72C0;;;;N;;;;; F9FB;CJK COMPATIBILITY IDEOGRAPH-F9FB;Lo;0;L;7099;;;;N;;;;; F9FC;CJK COMPATIBILITY IDEOGRAPH-F9FC;Lo;0;L;8B58;;;;N;;;;; F9FD;CJK COMPATIBILITY IDEOGRAPH-F9FD;Lo;0;L;4EC0;;;;N;;;;; F9FE;CJK COMPATIBILITY IDEOGRAPH-F9FE;Lo;0;L;8336;;;;N;;;;; F9FF;CJK COMPATIBILITY IDEOGRAPH-F9FF;Lo;0;L;523A;;;;N;;;;; FA00;CJK COMPATIBILITY IDEOGRAPH-FA00;Lo;0;L;5207;;;;N;;;;; FA01;CJK COMPATIBILITY IDEOGRAPH-FA01;Lo;0;L;5EA6;;;;N;;;;; FA02;CJK COMPATIBILITY IDEOGRAPH-FA02;Lo;0;L;62D3;;;;N;;;;; FA03;CJK COMPATIBILITY IDEOGRAPH-FA03;Lo;0;L;7CD6;;;;N;;;;; FA04;CJK COMPATIBILITY IDEOGRAPH-FA04;Lo;0;L;5B85;;;;N;;;;; FA05;CJK COMPATIBILITY IDEOGRAPH-FA05;Lo;0;L;6D1E;;;;N;;;;; FA06;CJK COMPATIBILITY IDEOGRAPH-FA06;Lo;0;L;66B4;;;;N;;;;; FA07;CJK COMPATIBILITY IDEOGRAPH-FA07;Lo;0;L;8F3B;;;;N;;;;; FA08;CJK COMPATIBILITY IDEOGRAPH-FA08;Lo;0;L;884C;;;;N;;;;; FA09;CJK COMPATIBILITY IDEOGRAPH-FA09;Lo;0;L;964D;;;;N;;;;; FA0A;CJK COMPATIBILITY IDEOGRAPH-FA0A;Lo;0;L;898B;;;;N;;;;; FA0B;CJK COMPATIBILITY IDEOGRAPH-FA0B;Lo;0;L;5ED3;;;;N;;;;; FA0C;CJK COMPATIBILITY IDEOGRAPH-FA0C;Lo;0;L;5140;;;;N;;;;; FA0D;CJK COMPATIBILITY IDEOGRAPH-FA0D;Lo;0;L;55C0;;;;N;;;;; FA0E;CJK COMPATIBILITY IDEOGRAPH-FA0E;Lo;0;L;;;;;N;;;;; FA0F;CJK COMPATIBILITY IDEOGRAPH-FA0F;Lo;0;L;;;;;N;;;;; FA10;CJK COMPATIBILITY IDEOGRAPH-FA10;Lo;0;L;585A;;;;N;;;;; FA11;CJK COMPATIBILITY IDEOGRAPH-FA11;Lo;0;L;;;;;N;;;;; FA12;CJK COMPATIBILITY IDEOGRAPH-FA12;Lo;0;L;6674;;;;N;;;;; FA13;CJK COMPATIBILITY IDEOGRAPH-FA13;Lo;0;L;;;;;N;;;;; FA14;CJK COMPATIBILITY IDEOGRAPH-FA14;Lo;0;L;;;;;N;;;;; FA15;CJK COMPATIBILITY IDEOGRAPH-FA15;Lo;0;L;51DE;;;;N;;;;; FA16;CJK COMPATIBILITY IDEOGRAPH-FA16;Lo;0;L;732A;;;;N;;;;; FA17;CJK COMPATIBILITY IDEOGRAPH-FA17;Lo;0;L;76CA;;;;N;;;;; FA18;CJK COMPATIBILITY IDEOGRAPH-FA18;Lo;0;L;793C;;;;N;;;;; FA19;CJK COMPATIBILITY IDEOGRAPH-FA19;Lo;0;L;795E;;;;N;;;;; FA1A;CJK COMPATIBILITY IDEOGRAPH-FA1A;Lo;0;L;7965;;;;N;;;;; FA1B;CJK COMPATIBILITY IDEOGRAPH-FA1B;Lo;0;L;798F;;;;N;;;;; FA1C;CJK COMPATIBILITY IDEOGRAPH-FA1C;Lo;0;L;9756;;;;N;;;;; FA1D;CJK COMPATIBILITY IDEOGRAPH-FA1D;Lo;0;L;7CBE;;;;N;;;;; FA1E;CJK COMPATIBILITY IDEOGRAPH-FA1E;Lo;0;L;7FBD;;;;N;;;;; FA1F;CJK COMPATIBILITY IDEOGRAPH-FA1F;Lo;0;L;;;;;N;;*;;; FA20;CJK COMPATIBILITY IDEOGRAPH-FA20;Lo;0;L;8612;;;;N;;;;; FA21;CJK COMPATIBILITY IDEOGRAPH-FA21;Lo;0;L;;;;;N;;;;; FA22;CJK COMPATIBILITY IDEOGRAPH-FA22;Lo;0;L;8AF8;;;;N;;;;; FA23;CJK COMPATIBILITY IDEOGRAPH-FA23;Lo;0;L;;;;;N;;*;;; FA24;CJK COMPATIBILITY IDEOGRAPH-FA24;Lo;0;L;;;;;N;;;;; FA25;CJK COMPATIBILITY IDEOGRAPH-FA25;Lo;0;L;9038;;;;N;;;;; FA26;CJK COMPATIBILITY IDEOGRAPH-FA26;Lo;0;L;90FD;;;;N;;;;; FA27;CJK COMPATIBILITY IDEOGRAPH-FA27;Lo;0;L;;;;;N;;;;; FA28;CJK COMPATIBILITY IDEOGRAPH-FA28;Lo;0;L;;;;;N;;;;; FA29;CJK COMPATIBILITY IDEOGRAPH-FA29;Lo;0;L;;;;;N;;;;; FA2A;CJK COMPATIBILITY IDEOGRAPH-FA2A;Lo;0;L;98EF;;;;N;;;;; FA2B;CJK COMPATIBILITY IDEOGRAPH-FA2B;Lo;0;L;98FC;;;;N;;;;; FA2C;CJK COMPATIBILITY IDEOGRAPH-FA2C;Lo;0;L;9928;;;;N;;;;; FA2D;CJK COMPATIBILITY IDEOGRAPH-FA2D;Lo;0;L;9DB4;;;;N;;;;; FB00;LATIN SMALL LIGATURE FF;Ll;0;L; 0066 0066;;;;N;;;;; FB01;LATIN SMALL LIGATURE FI;Ll;0;L; 0066 0069;;;;N;;;;; FB02;LATIN SMALL LIGATURE FL;Ll;0;L; 0066 006C;;;;N;;;;; FB03;LATIN SMALL LIGATURE FFI;Ll;0;L; 0066 0066 0069;;;;N;;;;; FB04;LATIN SMALL LIGATURE FFL;Ll;0;L; 0066 0066 006C;;;;N;;;;; FB05;LATIN SMALL LIGATURE LONG S T;Ll;0;L; 017F 0074;;;;N;;;;; FB06;LATIN SMALL LIGATURE ST;Ll;0;L; 0073 0074;;;;N;;;;; FB13;ARMENIAN SMALL LIGATURE MEN NOW;Ll;0;L; 0574 0576;;;;N;;;;; FB14;ARMENIAN SMALL LIGATURE MEN ECH;Ll;0;L; 0574 0565;;;;N;;;;; FB15;ARMENIAN SMALL LIGATURE MEN INI;Ll;0;L; 0574 056B;;;;N;;;;; FB16;ARMENIAN SMALL LIGATURE VEW NOW;Ll;0;L; 057E 0576;;;;N;;;;; FB17;ARMENIAN SMALL LIGATURE MEN XEH;Ll;0;L; 0574 056D;;;;N;;;;; FB1D;HEBREW LETTER YOD WITH HIRIQ;Lo;0;R;05D9 05B4;;;;N;;;;; FB1E;HEBREW POINT JUDEO-SPANISH VARIKA;Mn;26;NSM;;;;;N;HEBREW POINT VARIKA;;;; FB1F;HEBREW LIGATURE YIDDISH YOD YOD PATAH;Lo;0;R;05F2 05B7;;;;N;;;;; FB20;HEBREW LETTER ALTERNATIVE AYIN;Lo;0;R; 05E2;;;;N;;;;; FB21;HEBREW LETTER WIDE ALEF;Lo;0;R; 05D0;;;;N;;;;; FB22;HEBREW LETTER WIDE DALET;Lo;0;R; 05D3;;;;N;;;;; FB23;HEBREW LETTER WIDE HE;Lo;0;R; 05D4;;;;N;;;;; FB24;HEBREW LETTER WIDE KAF;Lo;0;R; 05DB;;;;N;;;;; FB25;HEBREW LETTER WIDE LAMED;Lo;0;R; 05DC;;;;N;;;;; FB26;HEBREW LETTER WIDE FINAL MEM;Lo;0;R; 05DD;;;;N;;;;; FB27;HEBREW LETTER WIDE RESH;Lo;0;R; 05E8;;;;N;;;;; FB28;HEBREW LETTER WIDE TAV;Lo;0;R; 05EA;;;;N;;;;; FB29;HEBREW LETTER ALTERNATIVE PLUS SIGN;Sm;0;ET; 002B;;;;N;;;;; FB2A;HEBREW LETTER SHIN WITH SHIN DOT;Lo;0;R;05E9 05C1;;;;N;;;;; FB2B;HEBREW LETTER SHIN WITH SIN DOT;Lo;0;R;05E9 05C2;;;;N;;;;; FB2C;HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT;Lo;0;R;FB49 05C1;;;;N;;;;; FB2D;HEBREW LETTER SHIN WITH DAGESH AND SIN DOT;Lo;0;R;FB49 05C2;;;;N;;;;; FB2E;HEBREW LETTER ALEF WITH PATAH;Lo;0;R;05D0 05B7;;;;N;;;;; FB2F;HEBREW LETTER ALEF WITH QAMATS;Lo;0;R;05D0 05B8;;;;N;;;;; FB30;HEBREW LETTER ALEF WITH MAPIQ;Lo;0;R;05D0 05BC;;;;N;;;;; FB31;HEBREW LETTER BET WITH DAGESH;Lo;0;R;05D1 05BC;;;;N;;;;; FB32;HEBREW LETTER GIMEL WITH DAGESH;Lo;0;R;05D2 05BC;;;;N;;;;; FB33;HEBREW LETTER DALET WITH DAGESH;Lo;0;R;05D3 05BC;;;;N;;;;; FB34;HEBREW LETTER HE WITH MAPIQ;Lo;0;R;05D4 05BC;;;;N;;;;; FB35;HEBREW LETTER VAV WITH DAGESH;Lo;0;R;05D5 05BC;;;;N;;;;; FB36;HEBREW LETTER ZAYIN WITH DAGESH;Lo;0;R;05D6 05BC;;;;N;;;;; FB38;HEBREW LETTER TET WITH DAGESH;Lo;0;R;05D8 05BC;;;;N;;;;; FB39;HEBREW LETTER YOD WITH DAGESH;Lo;0;R;05D9 05BC;;;;N;;;;; FB3A;HEBREW LETTER FINAL KAF WITH DAGESH;Lo;0;R;05DA 05BC;;;;N;;;;; FB3B;HEBREW LETTER KAF WITH DAGESH;Lo;0;R;05DB 05BC;;;;N;;;;; FB3C;HEBREW LETTER LAMED WITH DAGESH;Lo;0;R;05DC 05BC;;;;N;;;;; FB3E;HEBREW LETTER MEM WITH DAGESH;Lo;0;R;05DE 05BC;;;;N;;;;; FB40;HEBREW LETTER NUN WITH DAGESH;Lo;0;R;05E0 05BC;;;;N;;;;; FB41;HEBREW LETTER SAMEKH WITH DAGESH;Lo;0;R;05E1 05BC;;;;N;;;;; FB43;HEBREW LETTER FINAL PE WITH DAGESH;Lo;0;R;05E3 05BC;;;;N;;;;; FB44;HEBREW LETTER PE WITH DAGESH;Lo;0;R;05E4 05BC;;;;N;;;;; FB46;HEBREW LETTER TSADI WITH DAGESH;Lo;0;R;05E6 05BC;;;;N;;;;; FB47;HEBREW LETTER QOF WITH DAGESH;Lo;0;R;05E7 05BC;;;;N;;;;; FB48;HEBREW LETTER RESH WITH DAGESH;Lo;0;R;05E8 05BC;;;;N;;;;; FB49;HEBREW LETTER SHIN WITH DAGESH;Lo;0;R;05E9 05BC;;;;N;;;;; FB4A;HEBREW LETTER TAV WITH DAGESH;Lo;0;R;05EA 05BC;;;;N;;;;; FB4B;HEBREW LETTER VAV WITH HOLAM;Lo;0;R;05D5 05B9;;;;N;;;;; FB4C;HEBREW LETTER BET WITH RAFE;Lo;0;R;05D1 05BF;;;;N;;;;; FB4D;HEBREW LETTER KAF WITH RAFE;Lo;0;R;05DB 05BF;;;;N;;;;; FB4E;HEBREW LETTER PE WITH RAFE;Lo;0;R;05E4 05BF;;;;N;;;;; FB4F;HEBREW LIGATURE ALEF LAMED;Lo;0;R; 05D0 05DC;;;;N;;;;; FB50;ARABIC LETTER ALEF WASLA ISOLATED FORM;Lo;0;AL; 0671;;;;N;;;;; FB51;ARABIC LETTER ALEF WASLA FINAL FORM;Lo;0;AL; 0671;;;;N;;;;; FB52;ARABIC LETTER BEEH ISOLATED FORM;Lo;0;AL; 067B;;;;N;;;;; FB53;ARABIC LETTER BEEH FINAL FORM;Lo;0;AL; 067B;;;;N;;;;; FB54;ARABIC LETTER BEEH INITIAL FORM;Lo;0;AL; 067B;;;;N;;;;; FB55;ARABIC LETTER BEEH MEDIAL FORM;Lo;0;AL; 067B;;;;N;;;;; FB56;ARABIC LETTER PEH ISOLATED FORM;Lo;0;AL; 067E;;;;N;;;;; FB57;ARABIC LETTER PEH FINAL FORM;Lo;0;AL; 067E;;;;N;;;;; FB58;ARABIC LETTER PEH INITIAL FORM;Lo;0;AL; 067E;;;;N;;;;; FB59;ARABIC LETTER PEH MEDIAL FORM;Lo;0;AL; 067E;;;;N;;;;; FB5A;ARABIC LETTER BEHEH ISOLATED FORM;Lo;0;AL; 0680;;;;N;;;;; FB5B;ARABIC LETTER BEHEH FINAL FORM;Lo;0;AL; 0680;;;;N;;;;; FB5C;ARABIC LETTER BEHEH INITIAL FORM;Lo;0;AL; 0680;;;;N;;;;; FB5D;ARABIC LETTER BEHEH MEDIAL FORM;Lo;0;AL; 0680;;;;N;;;;; FB5E;ARABIC LETTER TTEHEH ISOLATED FORM;Lo;0;AL; 067A;;;;N;;;;; FB5F;ARABIC LETTER TTEHEH FINAL FORM;Lo;0;AL; 067A;;;;N;;;;; FB60;ARABIC LETTER TTEHEH INITIAL FORM;Lo;0;AL; 067A;;;;N;;;;; FB61;ARABIC LETTER TTEHEH MEDIAL FORM;Lo;0;AL; 067A;;;;N;;;;; FB62;ARABIC LETTER TEHEH ISOLATED FORM;Lo;0;AL; 067F;;;;N;;;;; FB63;ARABIC LETTER TEHEH FINAL FORM;Lo;0;AL; 067F;;;;N;;;;; FB64;ARABIC LETTER TEHEH INITIAL FORM;Lo;0;AL; 067F;;;;N;;;;; FB65;ARABIC LETTER TEHEH MEDIAL FORM;Lo;0;AL; 067F;;;;N;;;;; FB66;ARABIC LETTER TTEH ISOLATED FORM;Lo;0;AL; 0679;;;;N;;;;; FB67;ARABIC LETTER TTEH FINAL FORM;Lo;0;AL; 0679;;;;N;;;;; FB68;ARABIC LETTER TTEH INITIAL FORM;Lo;0;AL; 0679;;;;N;;;;; FB69;ARABIC LETTER TTEH MEDIAL FORM;Lo;0;AL; 0679;;;;N;;;;; FB6A;ARABIC LETTER VEH ISOLATED FORM;Lo;0;AL; 06A4;;;;N;;;;; FB6B;ARABIC LETTER VEH FINAL FORM;Lo;0;AL; 06A4;;;;N;;;;; FB6C;ARABIC LETTER VEH INITIAL FORM;Lo;0;AL; 06A4;;;;N;;;;; FB6D;ARABIC LETTER VEH MEDIAL FORM;Lo;0;AL; 06A4;;;;N;;;;; FB6E;ARABIC LETTER PEHEH ISOLATED FORM;Lo;0;AL; 06A6;;;;N;;;;; FB6F;ARABIC LETTER PEHEH FINAL FORM;Lo;0;AL; 06A6;;;;N;;;;; FB70;ARABIC LETTER PEHEH INITIAL FORM;Lo;0;AL; 06A6;;;;N;;;;; FB71;ARABIC LETTER PEHEH MEDIAL FORM;Lo;0;AL; 06A6;;;;N;;;;; FB72;ARABIC LETTER DYEH ISOLATED FORM;Lo;0;AL; 0684;;;;N;;;;; FB73;ARABIC LETTER DYEH FINAL FORM;Lo;0;AL; 0684;;;;N;;;;; FB74;ARABIC LETTER DYEH INITIAL FORM;Lo;0;AL; 0684;;;;N;;;;; FB75;ARABIC LETTER DYEH MEDIAL FORM;Lo;0;AL; 0684;;;;N;;;;; FB76;ARABIC LETTER NYEH ISOLATED FORM;Lo;0;AL; 0683;;;;N;;;;; FB77;ARABIC LETTER NYEH FINAL FORM;Lo;0;AL; 0683;;;;N;;;;; FB78;ARABIC LETTER NYEH INITIAL FORM;Lo;0;AL; 0683;;;;N;;;;; FB79;ARABIC LETTER NYEH MEDIAL FORM;Lo;0;AL; 0683;;;;N;;;;; FB7A;ARABIC LETTER TCHEH ISOLATED FORM;Lo;0;AL; 0686;;;;N;;;;; FB7B;ARABIC LETTER TCHEH FINAL FORM;Lo;0;AL; 0686;;;;N;;;;; FB7C;ARABIC LETTER TCHEH INITIAL FORM;Lo;0;AL; 0686;;;;N;;;;; FB7D;ARABIC LETTER TCHEH MEDIAL FORM;Lo;0;AL; 0686;;;;N;;;;; FB7E;ARABIC LETTER TCHEHEH ISOLATED FORM;Lo;0;AL; 0687;;;;N;;;;; FB7F;ARABIC LETTER TCHEHEH FINAL FORM;Lo;0;AL; 0687;;;;N;;;;; FB80;ARABIC LETTER TCHEHEH INITIAL FORM;Lo;0;AL; 0687;;;;N;;;;; FB81;ARABIC LETTER TCHEHEH MEDIAL FORM;Lo;0;AL; 0687;;;;N;;;;; FB82;ARABIC LETTER DDAHAL ISOLATED FORM;Lo;0;AL; 068D;;;;N;;;;; FB83;ARABIC LETTER DDAHAL FINAL FORM;Lo;0;AL; 068D;;;;N;;;;; FB84;ARABIC LETTER DAHAL ISOLATED FORM;Lo;0;AL; 068C;;;;N;;;;; FB85;ARABIC LETTER DAHAL FINAL FORM;Lo;0;AL; 068C;;;;N;;;;; FB86;ARABIC LETTER DUL ISOLATED FORM;Lo;0;AL; 068E;;;;N;;;;; FB87;ARABIC LETTER DUL FINAL FORM;Lo;0;AL; 068E;;;;N;;;;; FB88;ARABIC LETTER DDAL ISOLATED FORM;Lo;0;AL; 0688;;;;N;;;;; FB89;ARABIC LETTER DDAL FINAL FORM;Lo;0;AL; 0688;;;;N;;;;; FB8A;ARABIC LETTER JEH ISOLATED FORM;Lo;0;AL; 0698;;;;N;;;;; FB8B;ARABIC LETTER JEH FINAL FORM;Lo;0;AL; 0698;;;;N;;;;; FB8C;ARABIC LETTER RREH ISOLATED FORM;Lo;0;AL; 0691;;;;N;;;;; FB8D;ARABIC LETTER RREH FINAL FORM;Lo;0;AL; 0691;;;;N;;;;; FB8E;ARABIC LETTER KEHEH ISOLATED FORM;Lo;0;AL; 06A9;;;;N;;;;; FB8F;ARABIC LETTER KEHEH FINAL FORM;Lo;0;AL; 06A9;;;;N;;;;; FB90;ARABIC LETTER KEHEH INITIAL FORM;Lo;0;AL; 06A9;;;;N;;;;; FB91;ARABIC LETTER KEHEH MEDIAL FORM;Lo;0;AL; 06A9;;;;N;;;;; FB92;ARABIC LETTER GAF ISOLATED FORM;Lo;0;AL; 06AF;;;;N;;;;; FB93;ARABIC LETTER GAF FINAL FORM;Lo;0;AL; 06AF;;;;N;;;;; FB94;ARABIC LETTER GAF INITIAL FORM;Lo;0;AL; 06AF;;;;N;;;;; FB95;ARABIC LETTER GAF MEDIAL FORM;Lo;0;AL; 06AF;;;;N;;;;; FB96;ARABIC LETTER GUEH ISOLATED FORM;Lo;0;AL; 06B3;;;;N;;;;; FB97;ARABIC LETTER GUEH FINAL FORM;Lo;0;AL; 06B3;;;;N;;;;; FB98;ARABIC LETTER GUEH INITIAL FORM;Lo;0;AL; 06B3;;;;N;;;;; FB99;ARABIC LETTER GUEH MEDIAL FORM;Lo;0;AL; 06B3;;;;N;;;;; FB9A;ARABIC LETTER NGOEH ISOLATED FORM;Lo;0;AL; 06B1;;;;N;;;;; FB9B;ARABIC LETTER NGOEH FINAL FORM;Lo;0;AL; 06B1;;;;N;;;;; FB9C;ARABIC LETTER NGOEH INITIAL FORM;Lo;0;AL; 06B1;;;;N;;;;; FB9D;ARABIC LETTER NGOEH MEDIAL FORM;Lo;0;AL; 06B1;;;;N;;;;; FB9E;ARABIC LETTER NOON GHUNNA ISOLATED FORM;Lo;0;AL; 06BA;;;;N;;;;; FB9F;ARABIC LETTER NOON GHUNNA FINAL FORM;Lo;0;AL; 06BA;;;;N;;;;; FBA0;ARABIC LETTER RNOON ISOLATED FORM;Lo;0;AL; 06BB;;;;N;;;;; FBA1;ARABIC LETTER RNOON FINAL FORM;Lo;0;AL; 06BB;;;;N;;;;; FBA2;ARABIC LETTER RNOON INITIAL FORM;Lo;0;AL; 06BB;;;;N;;;;; FBA3;ARABIC LETTER RNOON MEDIAL FORM;Lo;0;AL; 06BB;;;;N;;;;; FBA4;ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM;Lo;0;AL; 06C0;;;;N;;;;; FBA5;ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM;Lo;0;AL; 06C0;;;;N;;;;; FBA6;ARABIC LETTER HEH GOAL ISOLATED FORM;Lo;0;AL; 06C1;;;;N;;;;; FBA7;ARABIC LETTER HEH GOAL FINAL FORM;Lo;0;AL; 06C1;;;;N;;;;; FBA8;ARABIC LETTER HEH GOAL INITIAL FORM;Lo;0;AL; 06C1;;;;N;;;;; FBA9;ARABIC LETTER HEH GOAL MEDIAL FORM;Lo;0;AL; 06C1;;;;N;;;;; FBAA;ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM;Lo;0;AL; 06BE;;;;N;;;;; FBAB;ARABIC LETTER HEH DOACHASHMEE FINAL FORM;Lo;0;AL; 06BE;;;;N;;;;; FBAC;ARABIC LETTER HEH DOACHASHMEE INITIAL FORM;Lo;0;AL; 06BE;;;;N;;;;; FBAD;ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM;Lo;0;AL; 06BE;;;;N;;;;; FBAE;ARABIC LETTER YEH BARREE ISOLATED FORM;Lo;0;AL; 06D2;;;;N;;;;; FBAF;ARABIC LETTER YEH BARREE FINAL FORM;Lo;0;AL; 06D2;;;;N;;;;; FBB0;ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL; 06D3;;;;N;;;;; FBB1;ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM;Lo;0;AL; 06D3;;;;N;;;;; FBD3;ARABIC LETTER NG ISOLATED FORM;Lo;0;AL; 06AD;;;;N;;;;; FBD4;ARABIC LETTER NG FINAL FORM;Lo;0;AL; 06AD;;;;N;;;;; FBD5;ARABIC LETTER NG INITIAL FORM;Lo;0;AL; 06AD;;;;N;;;;; FBD6;ARABIC LETTER NG MEDIAL FORM;Lo;0;AL; 06AD;;;;N;;;;; FBD7;ARABIC LETTER U ISOLATED FORM;Lo;0;AL; 06C7;;;;N;;;;; FBD8;ARABIC LETTER U FINAL FORM;Lo;0;AL; 06C7;;;;N;;;;; FBD9;ARABIC LETTER OE ISOLATED FORM;Lo;0;AL; 06C6;;;;N;;;;; FBDA;ARABIC LETTER OE FINAL FORM;Lo;0;AL; 06C6;;;;N;;;;; FBDB;ARABIC LETTER YU ISOLATED FORM;Lo;0;AL; 06C8;;;;N;;;;; FBDC;ARABIC LETTER YU FINAL FORM;Lo;0;AL; 06C8;;;;N;;;;; FBDD;ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL; 0677;;;;N;;;;; FBDE;ARABIC LETTER VE ISOLATED FORM;Lo;0;AL; 06CB;;;;N;;;;; FBDF;ARABIC LETTER VE FINAL FORM;Lo;0;AL; 06CB;;;;N;;;;; FBE0;ARABIC LETTER KIRGHIZ OE ISOLATED FORM;Lo;0;AL; 06C5;;;;N;;;;; FBE1;ARABIC LETTER KIRGHIZ OE FINAL FORM;Lo;0;AL; 06C5;;;;N;;;;; FBE2;ARABIC LETTER KIRGHIZ YU ISOLATED FORM;Lo;0;AL; 06C9;;;;N;;;;; FBE3;ARABIC LETTER KIRGHIZ YU FINAL FORM;Lo;0;AL; 06C9;;;;N;;;;; FBE4;ARABIC LETTER E ISOLATED FORM;Lo;0;AL; 06D0;;;;N;;;;; FBE5;ARABIC LETTER E FINAL FORM;Lo;0;AL; 06D0;;;;N;;;;; FBE6;ARABIC LETTER E INITIAL FORM;Lo;0;AL; 06D0;;;;N;;;;; FBE7;ARABIC LETTER E MEDIAL FORM;Lo;0;AL; 06D0;;;;N;;;;; FBE8;ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM;Lo;0;AL; 0649;;;;N;;;;; FBE9;ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM;Lo;0;AL; 0649;;;;N;;;;; FBEA;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM;Lo;0;AL; 0626 0627;;;;N;;;;; FBEB;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM;Lo;0;AL; 0626 0627;;;;N;;;;; FBEC;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM;Lo;0;AL; 0626 06D5;;;;N;;;;; FBED;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM;Lo;0;AL; 0626 06D5;;;;N;;;;; FBEE;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM;Lo;0;AL; 0626 0648;;;;N;;;;; FBEF;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM;Lo;0;AL; 0626 0648;;;;N;;;;; FBF0;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM;Lo;0;AL; 0626 06C7;;;;N;;;;; FBF1;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM;Lo;0;AL; 0626 06C7;;;;N;;;;; FBF2;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM;Lo;0;AL; 0626 06C6;;;;N;;;;; FBF3;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM;Lo;0;AL; 0626 06C6;;;;N;;;;; FBF4;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM;Lo;0;AL; 0626 06C8;;;;N;;;;; FBF5;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM;Lo;0;AL; 0626 06C8;;;;N;;;;; FBF6;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM;Lo;0;AL; 0626 06D0;;;;N;;;;; FBF7;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E FINAL FORM;Lo;0;AL; 0626 06D0;;;;N;;;;; FBF8;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM;Lo;0;AL; 0626 06D0;;;;N;;;;; FBF9;ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0626 0649;;;;N;;;;; FBFA;ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0626 0649;;;;N;;;;; FBFB;ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM;Lo;0;AL; 0626 0649;;;;N;;;;; FBFC;ARABIC LETTER FARSI YEH ISOLATED FORM;Lo;0;AL; 06CC;;;;N;;;;; FBFD;ARABIC LETTER FARSI YEH FINAL FORM;Lo;0;AL; 06CC;;;;N;;;;; FBFE;ARABIC LETTER FARSI YEH INITIAL FORM;Lo;0;AL; 06CC;;;;N;;;;; FBFF;ARABIC LETTER FARSI YEH MEDIAL FORM;Lo;0;AL; 06CC;;;;N;;;;; FC00;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM;Lo;0;AL; 0626 062C;;;;N;;;;; FC01;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH ISOLATED FORM;Lo;0;AL; 0626 062D;;;;N;;;;; FC02;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM ISOLATED FORM;Lo;0;AL; 0626 0645;;;;N;;;;; FC03;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0626 0649;;;;N;;;;; FC04;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH ISOLATED FORM;Lo;0;AL; 0626 064A;;;;N;;;;; FC05;ARABIC LIGATURE BEH WITH JEEM ISOLATED FORM;Lo;0;AL; 0628 062C;;;;N;;;;; FC06;ARABIC LIGATURE BEH WITH HAH ISOLATED FORM;Lo;0;AL; 0628 062D;;;;N;;;;; FC07;ARABIC LIGATURE BEH WITH KHAH ISOLATED FORM;Lo;0;AL; 0628 062E;;;;N;;;;; FC08;ARABIC LIGATURE BEH WITH MEEM ISOLATED FORM;Lo;0;AL; 0628 0645;;;;N;;;;; FC09;ARABIC LIGATURE BEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0628 0649;;;;N;;;;; FC0A;ARABIC LIGATURE BEH WITH YEH ISOLATED FORM;Lo;0;AL; 0628 064A;;;;N;;;;; FC0B;ARABIC LIGATURE TEH WITH JEEM ISOLATED FORM;Lo;0;AL; 062A 062C;;;;N;;;;; FC0C;ARABIC LIGATURE TEH WITH HAH ISOLATED FORM;Lo;0;AL; 062A 062D;;;;N;;;;; FC0D;ARABIC LIGATURE TEH WITH KHAH ISOLATED FORM;Lo;0;AL; 062A 062E;;;;N;;;;; FC0E;ARABIC LIGATURE TEH WITH MEEM ISOLATED FORM;Lo;0;AL; 062A 0645;;;;N;;;;; FC0F;ARABIC LIGATURE TEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 062A 0649;;;;N;;;;; FC10;ARABIC LIGATURE TEH WITH YEH ISOLATED FORM;Lo;0;AL; 062A 064A;;;;N;;;;; FC11;ARABIC LIGATURE THEH WITH JEEM ISOLATED FORM;Lo;0;AL; 062B 062C;;;;N;;;;; FC12;ARABIC LIGATURE THEH WITH MEEM ISOLATED FORM;Lo;0;AL; 062B 0645;;;;N;;;;; FC13;ARABIC LIGATURE THEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 062B 0649;;;;N;;;;; FC14;ARABIC LIGATURE THEH WITH YEH ISOLATED FORM;Lo;0;AL; 062B 064A;;;;N;;;;; FC15;ARABIC LIGATURE JEEM WITH HAH ISOLATED FORM;Lo;0;AL; 062C 062D;;;;N;;;;; FC16;ARABIC LIGATURE JEEM WITH MEEM ISOLATED FORM;Lo;0;AL; 062C 0645;;;;N;;;;; FC17;ARABIC LIGATURE HAH WITH JEEM ISOLATED FORM;Lo;0;AL; 062D 062C;;;;N;;;;; FC18;ARABIC LIGATURE HAH WITH MEEM ISOLATED FORM;Lo;0;AL; 062D 0645;;;;N;;;;; FC19;ARABIC LIGATURE KHAH WITH JEEM ISOLATED FORM;Lo;0;AL; 062E 062C;;;;N;;;;; FC1A;ARABIC LIGATURE KHAH WITH HAH ISOLATED FORM;Lo;0;AL; 062E 062D;;;;N;;;;; FC1B;ARABIC LIGATURE KHAH WITH MEEM ISOLATED FORM;Lo;0;AL; 062E 0645;;;;N;;;;; FC1C;ARABIC LIGATURE SEEN WITH JEEM ISOLATED FORM;Lo;0;AL; 0633 062C;;;;N;;;;; FC1D;ARABIC LIGATURE SEEN WITH HAH ISOLATED FORM;Lo;0;AL; 0633 062D;;;;N;;;;; FC1E;ARABIC LIGATURE SEEN WITH KHAH ISOLATED FORM;Lo;0;AL; 0633 062E;;;;N;;;;; FC1F;ARABIC LIGATURE SEEN WITH MEEM ISOLATED FORM;Lo;0;AL; 0633 0645;;;;N;;;;; FC20;ARABIC LIGATURE SAD WITH HAH ISOLATED FORM;Lo;0;AL; 0635 062D;;;;N;;;;; FC21;ARABIC LIGATURE SAD WITH MEEM ISOLATED FORM;Lo;0;AL; 0635 0645;;;;N;;;;; FC22;ARABIC LIGATURE DAD WITH JEEM ISOLATED FORM;Lo;0;AL; 0636 062C;;;;N;;;;; FC23;ARABIC LIGATURE DAD WITH HAH ISOLATED FORM;Lo;0;AL; 0636 062D;;;;N;;;;; FC24;ARABIC LIGATURE DAD WITH KHAH ISOLATED FORM;Lo;0;AL; 0636 062E;;;;N;;;;; FC25;ARABIC LIGATURE DAD WITH MEEM ISOLATED FORM;Lo;0;AL; 0636 0645;;;;N;;;;; FC26;ARABIC LIGATURE TAH WITH HAH ISOLATED FORM;Lo;0;AL; 0637 062D;;;;N;;;;; FC27;ARABIC LIGATURE TAH WITH MEEM ISOLATED FORM;Lo;0;AL; 0637 0645;;;;N;;;;; FC28;ARABIC LIGATURE ZAH WITH MEEM ISOLATED FORM;Lo;0;AL; 0638 0645;;;;N;;;;; FC29;ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM;Lo;0;AL; 0639 062C;;;;N;;;;; FC2A;ARABIC LIGATURE AIN WITH MEEM ISOLATED FORM;Lo;0;AL; 0639 0645;;;;N;;;;; FC2B;ARABIC LIGATURE GHAIN WITH JEEM ISOLATED FORM;Lo;0;AL; 063A 062C;;;;N;;;;; FC2C;ARABIC LIGATURE GHAIN WITH MEEM ISOLATED FORM;Lo;0;AL; 063A 0645;;;;N;;;;; FC2D;ARABIC LIGATURE FEH WITH JEEM ISOLATED FORM;Lo;0;AL; 0641 062C;;;;N;;;;; FC2E;ARABIC LIGATURE FEH WITH HAH ISOLATED FORM;Lo;0;AL; 0641 062D;;;;N;;;;; FC2F;ARABIC LIGATURE FEH WITH KHAH ISOLATED FORM;Lo;0;AL; 0641 062E;;;;N;;;;; FC30;ARABIC LIGATURE FEH WITH MEEM ISOLATED FORM;Lo;0;AL; 0641 0645;;;;N;;;;; FC31;ARABIC LIGATURE FEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0641 0649;;;;N;;;;; FC32;ARABIC LIGATURE FEH WITH YEH ISOLATED FORM;Lo;0;AL; 0641 064A;;;;N;;;;; FC33;ARABIC LIGATURE QAF WITH HAH ISOLATED FORM;Lo;0;AL; 0642 062D;;;;N;;;;; FC34;ARABIC LIGATURE QAF WITH MEEM ISOLATED FORM;Lo;0;AL; 0642 0645;;;;N;;;;; FC35;ARABIC LIGATURE QAF WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0642 0649;;;;N;;;;; FC36;ARABIC LIGATURE QAF WITH YEH ISOLATED FORM;Lo;0;AL; 0642 064A;;;;N;;;;; FC37;ARABIC LIGATURE KAF WITH ALEF ISOLATED FORM;Lo;0;AL; 0643 0627;;;;N;;;;; FC38;ARABIC LIGATURE KAF WITH JEEM ISOLATED FORM;Lo;0;AL; 0643 062C;;;;N;;;;; FC39;ARABIC LIGATURE KAF WITH HAH ISOLATED FORM;Lo;0;AL; 0643 062D;;;;N;;;;; FC3A;ARABIC LIGATURE KAF WITH KHAH ISOLATED FORM;Lo;0;AL; 0643 062E;;;;N;;;;; FC3B;ARABIC LIGATURE KAF WITH LAM ISOLATED FORM;Lo;0;AL; 0643 0644;;;;N;;;;; FC3C;ARABIC LIGATURE KAF WITH MEEM ISOLATED FORM;Lo;0;AL; 0643 0645;;;;N;;;;; FC3D;ARABIC LIGATURE KAF WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0643 0649;;;;N;;;;; FC3E;ARABIC LIGATURE KAF WITH YEH ISOLATED FORM;Lo;0;AL; 0643 064A;;;;N;;;;; FC3F;ARABIC LIGATURE LAM WITH JEEM ISOLATED FORM;Lo;0;AL; 0644 062C;;;;N;;;;; FC40;ARABIC LIGATURE LAM WITH HAH ISOLATED FORM;Lo;0;AL; 0644 062D;;;;N;;;;; FC41;ARABIC LIGATURE LAM WITH KHAH ISOLATED FORM;Lo;0;AL; 0644 062E;;;;N;;;;; FC42;ARABIC LIGATURE LAM WITH MEEM ISOLATED FORM;Lo;0;AL; 0644 0645;;;;N;;;;; FC43;ARABIC LIGATURE LAM WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0644 0649;;;;N;;;;; FC44;ARABIC LIGATURE LAM WITH YEH ISOLATED FORM;Lo;0;AL; 0644 064A;;;;N;;;;; FC45;ARABIC LIGATURE MEEM WITH JEEM ISOLATED FORM;Lo;0;AL; 0645 062C;;;;N;;;;; FC46;ARABIC LIGATURE MEEM WITH HAH ISOLATED FORM;Lo;0;AL; 0645 062D;;;;N;;;;; FC47;ARABIC LIGATURE MEEM WITH KHAH ISOLATED FORM;Lo;0;AL; 0645 062E;;;;N;;;;; FC48;ARABIC LIGATURE MEEM WITH MEEM ISOLATED FORM;Lo;0;AL; 0645 0645;;;;N;;;;; FC49;ARABIC LIGATURE MEEM WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0645 0649;;;;N;;;;; FC4A;ARABIC LIGATURE MEEM WITH YEH ISOLATED FORM;Lo;0;AL; 0645 064A;;;;N;;;;; FC4B;ARABIC LIGATURE NOON WITH JEEM ISOLATED FORM;Lo;0;AL; 0646 062C;;;;N;;;;; FC4C;ARABIC LIGATURE NOON WITH HAH ISOLATED FORM;Lo;0;AL; 0646 062D;;;;N;;;;; FC4D;ARABIC LIGATURE NOON WITH KHAH ISOLATED FORM;Lo;0;AL; 0646 062E;;;;N;;;;; FC4E;ARABIC LIGATURE NOON WITH MEEM ISOLATED FORM;Lo;0;AL; 0646 0645;;;;N;;;;; FC4F;ARABIC LIGATURE NOON WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0646 0649;;;;N;;;;; FC50;ARABIC LIGATURE NOON WITH YEH ISOLATED FORM;Lo;0;AL; 0646 064A;;;;N;;;;; FC51;ARABIC LIGATURE HEH WITH JEEM ISOLATED FORM;Lo;0;AL; 0647 062C;;;;N;;;;; FC52;ARABIC LIGATURE HEH WITH MEEM ISOLATED FORM;Lo;0;AL; 0647 0645;;;;N;;;;; FC53;ARABIC LIGATURE HEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0647 0649;;;;N;;;;; FC54;ARABIC LIGATURE HEH WITH YEH ISOLATED FORM;Lo;0;AL; 0647 064A;;;;N;;;;; FC55;ARABIC LIGATURE YEH WITH JEEM ISOLATED FORM;Lo;0;AL; 064A 062C;;;;N;;;;; FC56;ARABIC LIGATURE YEH WITH HAH ISOLATED FORM;Lo;0;AL; 064A 062D;;;;N;;;;; FC57;ARABIC LIGATURE YEH WITH KHAH ISOLATED FORM;Lo;0;AL; 064A 062E;;;;N;;;;; FC58;ARABIC LIGATURE YEH WITH MEEM ISOLATED FORM;Lo;0;AL; 064A 0645;;;;N;;;;; FC59;ARABIC LIGATURE YEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 064A 0649;;;;N;;;;; FC5A;ARABIC LIGATURE YEH WITH YEH ISOLATED FORM;Lo;0;AL; 064A 064A;;;;N;;;;; FC5B;ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;AL; 0630 0670;;;;N;;;;; FC5C;ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;AL; 0631 0670;;;;N;;;;; FC5D;ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;AL; 0649 0670;;;;N;;;;; FC5E;ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM;Lo;0;AL; 0020 064C 0651;;;;N;;;;; FC5F;ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM;Lo;0;AL; 0020 064D 0651;;;;N;;;;; FC60;ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM;Lo;0;AL; 0020 064E 0651;;;;N;;;;; FC61;ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM;Lo;0;AL; 0020 064F 0651;;;;N;;;;; FC62;ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM;Lo;0;AL; 0020 0650 0651;;;;N;;;;; FC63;ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;AL; 0020 0651 0670;;;;N;;;;; FC64;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM;Lo;0;AL; 0626 0631;;;;N;;;;; FC65;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ZAIN FINAL FORM;Lo;0;AL; 0626 0632;;;;N;;;;; FC66;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM FINAL FORM;Lo;0;AL; 0626 0645;;;;N;;;;; FC67;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH NOON FINAL FORM;Lo;0;AL; 0626 0646;;;;N;;;;; FC68;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0626 0649;;;;N;;;;; FC69;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH FINAL FORM;Lo;0;AL; 0626 064A;;;;N;;;;; FC6A;ARABIC LIGATURE BEH WITH REH FINAL FORM;Lo;0;AL; 0628 0631;;;;N;;;;; FC6B;ARABIC LIGATURE BEH WITH ZAIN FINAL FORM;Lo;0;AL; 0628 0632;;;;N;;;;; FC6C;ARABIC LIGATURE BEH WITH MEEM FINAL FORM;Lo;0;AL; 0628 0645;;;;N;;;;; FC6D;ARABIC LIGATURE BEH WITH NOON FINAL FORM;Lo;0;AL; 0628 0646;;;;N;;;;; FC6E;ARABIC LIGATURE BEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0628 0649;;;;N;;;;; FC6F;ARABIC LIGATURE BEH WITH YEH FINAL FORM;Lo;0;AL; 0628 064A;;;;N;;;;; FC70;ARABIC LIGATURE TEH WITH REH FINAL FORM;Lo;0;AL; 062A 0631;;;;N;;;;; FC71;ARABIC LIGATURE TEH WITH ZAIN FINAL FORM;Lo;0;AL; 062A 0632;;;;N;;;;; FC72;ARABIC LIGATURE TEH WITH MEEM FINAL FORM;Lo;0;AL; 062A 0645;;;;N;;;;; FC73;ARABIC LIGATURE TEH WITH NOON FINAL FORM;Lo;0;AL; 062A 0646;;;;N;;;;; FC74;ARABIC LIGATURE TEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062A 0649;;;;N;;;;; FC75;ARABIC LIGATURE TEH WITH YEH FINAL FORM;Lo;0;AL; 062A 064A;;;;N;;;;; FC76;ARABIC LIGATURE THEH WITH REH FINAL FORM;Lo;0;AL; 062B 0631;;;;N;;;;; FC77;ARABIC LIGATURE THEH WITH ZAIN FINAL FORM;Lo;0;AL; 062B 0632;;;;N;;;;; FC78;ARABIC LIGATURE THEH WITH MEEM FINAL FORM;Lo;0;AL; 062B 0645;;;;N;;;;; FC79;ARABIC LIGATURE THEH WITH NOON FINAL FORM;Lo;0;AL; 062B 0646;;;;N;;;;; FC7A;ARABIC LIGATURE THEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062B 0649;;;;N;;;;; FC7B;ARABIC LIGATURE THEH WITH YEH FINAL FORM;Lo;0;AL; 062B 064A;;;;N;;;;; FC7C;ARABIC LIGATURE FEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0641 0649;;;;N;;;;; FC7D;ARABIC LIGATURE FEH WITH YEH FINAL FORM;Lo;0;AL; 0641 064A;;;;N;;;;; FC7E;ARABIC LIGATURE QAF WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0642 0649;;;;N;;;;; FC7F;ARABIC LIGATURE QAF WITH YEH FINAL FORM;Lo;0;AL; 0642 064A;;;;N;;;;; FC80;ARABIC LIGATURE KAF WITH ALEF FINAL FORM;Lo;0;AL; 0643 0627;;;;N;;;;; FC81;ARABIC LIGATURE KAF WITH LAM FINAL FORM;Lo;0;AL; 0643 0644;;;;N;;;;; FC82;ARABIC LIGATURE KAF WITH MEEM FINAL FORM;Lo;0;AL; 0643 0645;;;;N;;;;; FC83;ARABIC LIGATURE KAF WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0643 0649;;;;N;;;;; FC84;ARABIC LIGATURE KAF WITH YEH FINAL FORM;Lo;0;AL; 0643 064A;;;;N;;;;; FC85;ARABIC LIGATURE LAM WITH MEEM FINAL FORM;Lo;0;AL; 0644 0645;;;;N;;;;; FC86;ARABIC LIGATURE LAM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0644 0649;;;;N;;;;; FC87;ARABIC LIGATURE LAM WITH YEH FINAL FORM;Lo;0;AL; 0644 064A;;;;N;;;;; FC88;ARABIC LIGATURE MEEM WITH ALEF FINAL FORM;Lo;0;AL; 0645 0627;;;;N;;;;; FC89;ARABIC LIGATURE MEEM WITH MEEM FINAL FORM;Lo;0;AL; 0645 0645;;;;N;;;;; FC8A;ARABIC LIGATURE NOON WITH REH FINAL FORM;Lo;0;AL; 0646 0631;;;;N;;;;; FC8B;ARABIC LIGATURE NOON WITH ZAIN FINAL FORM;Lo;0;AL; 0646 0632;;;;N;;;;; FC8C;ARABIC LIGATURE NOON WITH MEEM FINAL FORM;Lo;0;AL; 0646 0645;;;;N;;;;; FC8D;ARABIC LIGATURE NOON WITH NOON FINAL FORM;Lo;0;AL; 0646 0646;;;;N;;;;; FC8E;ARABIC LIGATURE NOON WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0646 0649;;;;N;;;;; FC8F;ARABIC LIGATURE NOON WITH YEH FINAL FORM;Lo;0;AL; 0646 064A;;;;N;;;;; FC90;ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM;Lo;0;AL; 0649 0670;;;;N;;;;; FC91;ARABIC LIGATURE YEH WITH REH FINAL FORM;Lo;0;AL; 064A 0631;;;;N;;;;; FC92;ARABIC LIGATURE YEH WITH ZAIN FINAL FORM;Lo;0;AL; 064A 0632;;;;N;;;;; FC93;ARABIC LIGATURE YEH WITH MEEM FINAL FORM;Lo;0;AL; 064A 0645;;;;N;;;;; FC94;ARABIC LIGATURE YEH WITH NOON FINAL FORM;Lo;0;AL; 064A 0646;;;;N;;;;; FC95;ARABIC LIGATURE YEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 064A 0649;;;;N;;;;; FC96;ARABIC LIGATURE YEH WITH YEH FINAL FORM;Lo;0;AL; 064A 064A;;;;N;;;;; FC97;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM;Lo;0;AL; 0626 062C;;;;N;;;;; FC98;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH INITIAL FORM;Lo;0;AL; 0626 062D;;;;N;;;;; FC99;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH KHAH INITIAL FORM;Lo;0;AL; 0626 062E;;;;N;;;;; FC9A;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM INITIAL FORM;Lo;0;AL; 0626 0645;;;;N;;;;; FC9B;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH INITIAL FORM;Lo;0;AL; 0626 0647;;;;N;;;;; FC9C;ARABIC LIGATURE BEH WITH JEEM INITIAL FORM;Lo;0;AL; 0628 062C;;;;N;;;;; FC9D;ARABIC LIGATURE BEH WITH HAH INITIAL FORM;Lo;0;AL; 0628 062D;;;;N;;;;; FC9E;ARABIC LIGATURE BEH WITH KHAH INITIAL FORM;Lo;0;AL; 0628 062E;;;;N;;;;; FC9F;ARABIC LIGATURE BEH WITH MEEM INITIAL FORM;Lo;0;AL; 0628 0645;;;;N;;;;; FCA0;ARABIC LIGATURE BEH WITH HEH INITIAL FORM;Lo;0;AL; 0628 0647;;;;N;;;;; FCA1;ARABIC LIGATURE TEH WITH JEEM INITIAL FORM;Lo;0;AL; 062A 062C;;;;N;;;;; FCA2;ARABIC LIGATURE TEH WITH HAH INITIAL FORM;Lo;0;AL; 062A 062D;;;;N;;;;; FCA3;ARABIC LIGATURE TEH WITH KHAH INITIAL FORM;Lo;0;AL; 062A 062E;;;;N;;;;; FCA4;ARABIC LIGATURE TEH WITH MEEM INITIAL FORM;Lo;0;AL; 062A 0645;;;;N;;;;; FCA5;ARABIC LIGATURE TEH WITH HEH INITIAL FORM;Lo;0;AL; 062A 0647;;;;N;;;;; FCA6;ARABIC LIGATURE THEH WITH MEEM INITIAL FORM;Lo;0;AL; 062B 0645;;;;N;;;;; FCA7;ARABIC LIGATURE JEEM WITH HAH INITIAL FORM;Lo;0;AL; 062C 062D;;;;N;;;;; FCA8;ARABIC LIGATURE JEEM WITH MEEM INITIAL FORM;Lo;0;AL; 062C 0645;;;;N;;;;; FCA9;ARABIC LIGATURE HAH WITH JEEM INITIAL FORM;Lo;0;AL; 062D 062C;;;;N;;;;; FCAA;ARABIC LIGATURE HAH WITH MEEM INITIAL FORM;Lo;0;AL; 062D 0645;;;;N;;;;; FCAB;ARABIC LIGATURE KHAH WITH JEEM INITIAL FORM;Lo;0;AL; 062E 062C;;;;N;;;;; FCAC;ARABIC LIGATURE KHAH WITH MEEM INITIAL FORM;Lo;0;AL; 062E 0645;;;;N;;;;; FCAD;ARABIC LIGATURE SEEN WITH JEEM INITIAL FORM;Lo;0;AL; 0633 062C;;;;N;;;;; FCAE;ARABIC LIGATURE SEEN WITH HAH INITIAL FORM;Lo;0;AL; 0633 062D;;;;N;;;;; FCAF;ARABIC LIGATURE SEEN WITH KHAH INITIAL FORM;Lo;0;AL; 0633 062E;;;;N;;;;; FCB0;ARABIC LIGATURE SEEN WITH MEEM INITIAL FORM;Lo;0;AL; 0633 0645;;;;N;;;;; FCB1;ARABIC LIGATURE SAD WITH HAH INITIAL FORM;Lo;0;AL; 0635 062D;;;;N;;;;; FCB2;ARABIC LIGATURE SAD WITH KHAH INITIAL FORM;Lo;0;AL; 0635 062E;;;;N;;;;; FCB3;ARABIC LIGATURE SAD WITH MEEM INITIAL FORM;Lo;0;AL; 0635 0645;;;;N;;;;; FCB4;ARABIC LIGATURE DAD WITH JEEM INITIAL FORM;Lo;0;AL; 0636 062C;;;;N;;;;; FCB5;ARABIC LIGATURE DAD WITH HAH INITIAL FORM;Lo;0;AL; 0636 062D;;;;N;;;;; FCB6;ARABIC LIGATURE DAD WITH KHAH INITIAL FORM;Lo;0;AL; 0636 062E;;;;N;;;;; FCB7;ARABIC LIGATURE DAD WITH MEEM INITIAL FORM;Lo;0;AL; 0636 0645;;;;N;;;;; FCB8;ARABIC LIGATURE TAH WITH HAH INITIAL FORM;Lo;0;AL; 0637 062D;;;;N;;;;; FCB9;ARABIC LIGATURE ZAH WITH MEEM INITIAL FORM;Lo;0;AL; 0638 0645;;;;N;;;;; FCBA;ARABIC LIGATURE AIN WITH JEEM INITIAL FORM;Lo;0;AL; 0639 062C;;;;N;;;;; FCBB;ARABIC LIGATURE AIN WITH MEEM INITIAL FORM;Lo;0;AL; 0639 0645;;;;N;;;;; FCBC;ARABIC LIGATURE GHAIN WITH JEEM INITIAL FORM;Lo;0;AL; 063A 062C;;;;N;;;;; FCBD;ARABIC LIGATURE GHAIN WITH MEEM INITIAL FORM;Lo;0;AL; 063A 0645;;;;N;;;;; FCBE;ARABIC LIGATURE FEH WITH JEEM INITIAL FORM;Lo;0;AL; 0641 062C;;;;N;;;;; FCBF;ARABIC LIGATURE FEH WITH HAH INITIAL FORM;Lo;0;AL; 0641 062D;;;;N;;;;; FCC0;ARABIC LIGATURE FEH WITH KHAH INITIAL FORM;Lo;0;AL; 0641 062E;;;;N;;;;; FCC1;ARABIC LIGATURE FEH WITH MEEM INITIAL FORM;Lo;0;AL; 0641 0645;;;;N;;;;; FCC2;ARABIC LIGATURE QAF WITH HAH INITIAL FORM;Lo;0;AL; 0642 062D;;;;N;;;;; FCC3;ARABIC LIGATURE QAF WITH MEEM INITIAL FORM;Lo;0;AL; 0642 0645;;;;N;;;;; FCC4;ARABIC LIGATURE KAF WITH JEEM INITIAL FORM;Lo;0;AL; 0643 062C;;;;N;;;;; FCC5;ARABIC LIGATURE KAF WITH HAH INITIAL FORM;Lo;0;AL; 0643 062D;;;;N;;;;; FCC6;ARABIC LIGATURE KAF WITH KHAH INITIAL FORM;Lo;0;AL; 0643 062E;;;;N;;;;; FCC7;ARABIC LIGATURE KAF WITH LAM INITIAL FORM;Lo;0;AL; 0643 0644;;;;N;;;;; FCC8;ARABIC LIGATURE KAF WITH MEEM INITIAL FORM;Lo;0;AL; 0643 0645;;;;N;;;;; FCC9;ARABIC LIGATURE LAM WITH JEEM INITIAL FORM;Lo;0;AL; 0644 062C;;;;N;;;;; FCCA;ARABIC LIGATURE LAM WITH HAH INITIAL FORM;Lo;0;AL; 0644 062D;;;;N;;;;; FCCB;ARABIC LIGATURE LAM WITH KHAH INITIAL FORM;Lo;0;AL; 0644 062E;;;;N;;;;; FCCC;ARABIC LIGATURE LAM WITH MEEM INITIAL FORM;Lo;0;AL; 0644 0645;;;;N;;;;; FCCD;ARABIC LIGATURE LAM WITH HEH INITIAL FORM;Lo;0;AL; 0644 0647;;;;N;;;;; FCCE;ARABIC LIGATURE MEEM WITH JEEM INITIAL FORM;Lo;0;AL; 0645 062C;;;;N;;;;; FCCF;ARABIC LIGATURE MEEM WITH HAH INITIAL FORM;Lo;0;AL; 0645 062D;;;;N;;;;; FCD0;ARABIC LIGATURE MEEM WITH KHAH INITIAL FORM;Lo;0;AL; 0645 062E;;;;N;;;;; FCD1;ARABIC LIGATURE MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0645 0645;;;;N;;;;; FCD2;ARABIC LIGATURE NOON WITH JEEM INITIAL FORM;Lo;0;AL; 0646 062C;;;;N;;;;; FCD3;ARABIC LIGATURE NOON WITH HAH INITIAL FORM;Lo;0;AL; 0646 062D;;;;N;;;;; FCD4;ARABIC LIGATURE NOON WITH KHAH INITIAL FORM;Lo;0;AL; 0646 062E;;;;N;;;;; FCD5;ARABIC LIGATURE NOON WITH MEEM INITIAL FORM;Lo;0;AL; 0646 0645;;;;N;;;;; FCD6;ARABIC LIGATURE NOON WITH HEH INITIAL FORM;Lo;0;AL; 0646 0647;;;;N;;;;; FCD7;ARABIC LIGATURE HEH WITH JEEM INITIAL FORM;Lo;0;AL; 0647 062C;;;;N;;;;; FCD8;ARABIC LIGATURE HEH WITH MEEM INITIAL FORM;Lo;0;AL; 0647 0645;;;;N;;;;; FCD9;ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM;Lo;0;AL; 0647 0670;;;;N;;;;; FCDA;ARABIC LIGATURE YEH WITH JEEM INITIAL FORM;Lo;0;AL; 064A 062C;;;;N;;;;; FCDB;ARABIC LIGATURE YEH WITH HAH INITIAL FORM;Lo;0;AL; 064A 062D;;;;N;;;;; FCDC;ARABIC LIGATURE YEH WITH KHAH INITIAL FORM;Lo;0;AL; 064A 062E;;;;N;;;;; FCDD;ARABIC LIGATURE YEH WITH MEEM INITIAL FORM;Lo;0;AL; 064A 0645;;;;N;;;;; FCDE;ARABIC LIGATURE YEH WITH HEH INITIAL FORM;Lo;0;AL; 064A 0647;;;;N;;;;; FCDF;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM;Lo;0;AL; 0626 0645;;;;N;;;;; FCE0;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH MEDIAL FORM;Lo;0;AL; 0626 0647;;;;N;;;;; FCE1;ARABIC LIGATURE BEH WITH MEEM MEDIAL FORM;Lo;0;AL; 0628 0645;;;;N;;;;; FCE2;ARABIC LIGATURE BEH WITH HEH MEDIAL FORM;Lo;0;AL; 0628 0647;;;;N;;;;; FCE3;ARABIC LIGATURE TEH WITH MEEM MEDIAL FORM;Lo;0;AL; 062A 0645;;;;N;;;;; FCE4;ARABIC LIGATURE TEH WITH HEH MEDIAL FORM;Lo;0;AL; 062A 0647;;;;N;;;;; FCE5;ARABIC LIGATURE THEH WITH MEEM MEDIAL FORM;Lo;0;AL; 062B 0645;;;;N;;;;; FCE6;ARABIC LIGATURE THEH WITH HEH MEDIAL FORM;Lo;0;AL; 062B 0647;;;;N;;;;; FCE7;ARABIC LIGATURE SEEN WITH MEEM MEDIAL FORM;Lo;0;AL; 0633 0645;;;;N;;;;; FCE8;ARABIC LIGATURE SEEN WITH HEH MEDIAL FORM;Lo;0;AL; 0633 0647;;;;N;;;;; FCE9;ARABIC LIGATURE SHEEN WITH MEEM MEDIAL FORM;Lo;0;AL; 0634 0645;;;;N;;;;; FCEA;ARABIC LIGATURE SHEEN WITH HEH MEDIAL FORM;Lo;0;AL; 0634 0647;;;;N;;;;; FCEB;ARABIC LIGATURE KAF WITH LAM MEDIAL FORM;Lo;0;AL; 0643 0644;;;;N;;;;; FCEC;ARABIC LIGATURE KAF WITH MEEM MEDIAL FORM;Lo;0;AL; 0643 0645;;;;N;;;;; FCED;ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM;Lo;0;AL; 0644 0645;;;;N;;;;; FCEE;ARABIC LIGATURE NOON WITH MEEM MEDIAL FORM;Lo;0;AL; 0646 0645;;;;N;;;;; FCEF;ARABIC LIGATURE NOON WITH HEH MEDIAL FORM;Lo;0;AL; 0646 0647;;;;N;;;;; FCF0;ARABIC LIGATURE YEH WITH MEEM MEDIAL FORM;Lo;0;AL; 064A 0645;;;;N;;;;; FCF1;ARABIC LIGATURE YEH WITH HEH MEDIAL FORM;Lo;0;AL; 064A 0647;;;;N;;;;; FCF2;ARABIC LIGATURE SHADDA WITH FATHA MEDIAL FORM;Lo;0;AL; 0640 064E 0651;;;;N;;;;; FCF3;ARABIC LIGATURE SHADDA WITH DAMMA MEDIAL FORM;Lo;0;AL; 0640 064F 0651;;;;N;;;;; FCF4;ARABIC LIGATURE SHADDA WITH KASRA MEDIAL FORM;Lo;0;AL; 0640 0650 0651;;;;N;;;;; FCF5;ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0637 0649;;;;N;;;;; FCF6;ARABIC LIGATURE TAH WITH YEH ISOLATED FORM;Lo;0;AL; 0637 064A;;;;N;;;;; FCF7;ARABIC LIGATURE AIN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0639 0649;;;;N;;;;; FCF8;ARABIC LIGATURE AIN WITH YEH ISOLATED FORM;Lo;0;AL; 0639 064A;;;;N;;;;; FCF9;ARABIC LIGATURE GHAIN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 063A 0649;;;;N;;;;; FCFA;ARABIC LIGATURE GHAIN WITH YEH ISOLATED FORM;Lo;0;AL; 063A 064A;;;;N;;;;; FCFB;ARABIC LIGATURE SEEN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0633 0649;;;;N;;;;; FCFC;ARABIC LIGATURE SEEN WITH YEH ISOLATED FORM;Lo;0;AL; 0633 064A;;;;N;;;;; FCFD;ARABIC LIGATURE SHEEN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0634 0649;;;;N;;;;; FCFE;ARABIC LIGATURE SHEEN WITH YEH ISOLATED FORM;Lo;0;AL; 0634 064A;;;;N;;;;; FCFF;ARABIC LIGATURE HAH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 062D 0649;;;;N;;;;; FD00;ARABIC LIGATURE HAH WITH YEH ISOLATED FORM;Lo;0;AL; 062D 064A;;;;N;;;;; FD01;ARABIC LIGATURE JEEM WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 062C 0649;;;;N;;;;; FD02;ARABIC LIGATURE JEEM WITH YEH ISOLATED FORM;Lo;0;AL; 062C 064A;;;;N;;;;; FD03;ARABIC LIGATURE KHAH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 062E 0649;;;;N;;;;; FD04;ARABIC LIGATURE KHAH WITH YEH ISOLATED FORM;Lo;0;AL; 062E 064A;;;;N;;;;; FD05;ARABIC LIGATURE SAD WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0635 0649;;;;N;;;;; FD06;ARABIC LIGATURE SAD WITH YEH ISOLATED FORM;Lo;0;AL; 0635 064A;;;;N;;;;; FD07;ARABIC LIGATURE DAD WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0636 0649;;;;N;;;;; FD08;ARABIC LIGATURE DAD WITH YEH ISOLATED FORM;Lo;0;AL; 0636 064A;;;;N;;;;; FD09;ARABIC LIGATURE SHEEN WITH JEEM ISOLATED FORM;Lo;0;AL; 0634 062C;;;;N;;;;; FD0A;ARABIC LIGATURE SHEEN WITH HAH ISOLATED FORM;Lo;0;AL; 0634 062D;;;;N;;;;; FD0B;ARABIC LIGATURE SHEEN WITH KHAH ISOLATED FORM;Lo;0;AL; 0634 062E;;;;N;;;;; FD0C;ARABIC LIGATURE SHEEN WITH MEEM ISOLATED FORM;Lo;0;AL; 0634 0645;;;;N;;;;; FD0D;ARABIC LIGATURE SHEEN WITH REH ISOLATED FORM;Lo;0;AL; 0634 0631;;;;N;;;;; FD0E;ARABIC LIGATURE SEEN WITH REH ISOLATED FORM;Lo;0;AL; 0633 0631;;;;N;;;;; FD0F;ARABIC LIGATURE SAD WITH REH ISOLATED FORM;Lo;0;AL; 0635 0631;;;;N;;;;; FD10;ARABIC LIGATURE DAD WITH REH ISOLATED FORM;Lo;0;AL; 0636 0631;;;;N;;;;; FD11;ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0637 0649;;;;N;;;;; FD12;ARABIC LIGATURE TAH WITH YEH FINAL FORM;Lo;0;AL; 0637 064A;;;;N;;;;; FD13;ARABIC LIGATURE AIN WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0639 0649;;;;N;;;;; FD14;ARABIC LIGATURE AIN WITH YEH FINAL FORM;Lo;0;AL; 0639 064A;;;;N;;;;; FD15;ARABIC LIGATURE GHAIN WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 063A 0649;;;;N;;;;; FD16;ARABIC LIGATURE GHAIN WITH YEH FINAL FORM;Lo;0;AL; 063A 064A;;;;N;;;;; FD17;ARABIC LIGATURE SEEN WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0633 0649;;;;N;;;;; FD18;ARABIC LIGATURE SEEN WITH YEH FINAL FORM;Lo;0;AL; 0633 064A;;;;N;;;;; FD19;ARABIC LIGATURE SHEEN WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0634 0649;;;;N;;;;; FD1A;ARABIC LIGATURE SHEEN WITH YEH FINAL FORM;Lo;0;AL; 0634 064A;;;;N;;;;; FD1B;ARABIC LIGATURE HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062D 0649;;;;N;;;;; FD1C;ARABIC LIGATURE HAH WITH YEH FINAL FORM;Lo;0;AL; 062D 064A;;;;N;;;;; FD1D;ARABIC LIGATURE JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062C 0649;;;;N;;;;; FD1E;ARABIC LIGATURE JEEM WITH YEH FINAL FORM;Lo;0;AL; 062C 064A;;;;N;;;;; FD1F;ARABIC LIGATURE KHAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062E 0649;;;;N;;;;; FD20;ARABIC LIGATURE KHAH WITH YEH FINAL FORM;Lo;0;AL; 062E 064A;;;;N;;;;; FD21;ARABIC LIGATURE SAD WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0635 0649;;;;N;;;;; FD22;ARABIC LIGATURE SAD WITH YEH FINAL FORM;Lo;0;AL; 0635 064A;;;;N;;;;; FD23;ARABIC LIGATURE DAD WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0636 0649;;;;N;;;;; FD24;ARABIC LIGATURE DAD WITH YEH FINAL FORM;Lo;0;AL; 0636 064A;;;;N;;;;; FD25;ARABIC LIGATURE SHEEN WITH JEEM FINAL FORM;Lo;0;AL; 0634 062C;;;;N;;;;; FD26;ARABIC LIGATURE SHEEN WITH HAH FINAL FORM;Lo;0;AL; 0634 062D;;;;N;;;;; FD27;ARABIC LIGATURE SHEEN WITH KHAH FINAL FORM;Lo;0;AL; 0634 062E;;;;N;;;;; FD28;ARABIC LIGATURE SHEEN WITH MEEM FINAL FORM;Lo;0;AL; 0634 0645;;;;N;;;;; FD29;ARABIC LIGATURE SHEEN WITH REH FINAL FORM;Lo;0;AL; 0634 0631;;;;N;;;;; FD2A;ARABIC LIGATURE SEEN WITH REH FINAL FORM;Lo;0;AL; 0633 0631;;;;N;;;;; FD2B;ARABIC LIGATURE SAD WITH REH FINAL FORM;Lo;0;AL; 0635 0631;;;;N;;;;; FD2C;ARABIC LIGATURE DAD WITH REH FINAL FORM;Lo;0;AL; 0636 0631;;;;N;;;;; FD2D;ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM;Lo;0;AL; 0634 062C;;;;N;;;;; FD2E;ARABIC LIGATURE SHEEN WITH HAH INITIAL FORM;Lo;0;AL; 0634 062D;;;;N;;;;; FD2F;ARABIC LIGATURE SHEEN WITH KHAH INITIAL FORM;Lo;0;AL; 0634 062E;;;;N;;;;; FD30;ARABIC LIGATURE SHEEN WITH MEEM INITIAL FORM;Lo;0;AL; 0634 0645;;;;N;;;;; FD31;ARABIC LIGATURE SEEN WITH HEH INITIAL FORM;Lo;0;AL; 0633 0647;;;;N;;;;; FD32;ARABIC LIGATURE SHEEN WITH HEH INITIAL FORM;Lo;0;AL; 0634 0647;;;;N;;;;; FD33;ARABIC LIGATURE TAH WITH MEEM INITIAL FORM;Lo;0;AL; 0637 0645;;;;N;;;;; FD34;ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM;Lo;0;AL; 0633 062C;;;;N;;;;; FD35;ARABIC LIGATURE SEEN WITH HAH MEDIAL FORM;Lo;0;AL; 0633 062D;;;;N;;;;; FD36;ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM;Lo;0;AL; 0633 062E;;;;N;;;;; FD37;ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM;Lo;0;AL; 0634 062C;;;;N;;;;; FD38;ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM;Lo;0;AL; 0634 062D;;;;N;;;;; FD39;ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM;Lo;0;AL; 0634 062E;;;;N;;;;; FD3A;ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM;Lo;0;AL; 0637 0645;;;;N;;;;; FD3B;ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM;Lo;0;AL; 0638 0645;;;;N;;;;; FD3C;ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM;Lo;0;AL; 0627 064B;;;;N;;;;; FD3D;ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM;Lo;0;AL; 0627 064B;;;;N;;;;; FD3E;ORNATE LEFT PARENTHESIS;Ps;0;ON;;;;;N;;;;; FD3F;ORNATE RIGHT PARENTHESIS;Pe;0;ON;;;;;N;;;;; FD50;ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL; 062A 062C 0645;;;;N;;;;; FD51;ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM;Lo;0;AL; 062A 062D 062C;;;;N;;;;; FD52;ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM;Lo;0;AL; 062A 062D 062C;;;;N;;;;; FD53;ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL; 062A 062D 0645;;;;N;;;;; FD54;ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL; 062A 062E 0645;;;;N;;;;; FD55;ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM;Lo;0;AL; 062A 0645 062C;;;;N;;;;; FD56;ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL; 062A 0645 062D;;;;N;;;;; FD57;ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM;Lo;0;AL; 062A 0645 062E;;;;N;;;;; FD58;ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM;Lo;0;AL; 062C 0645 062D;;;;N;;;;; FD59;ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL; 062C 0645 062D;;;;N;;;;; FD5A;ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 062D 0645 064A;;;;N;;;;; FD5B;ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062D 0645 0649;;;;N;;;;; FD5C;ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM;Lo;0;AL; 0633 062D 062C;;;;N;;;;; FD5D;ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM;Lo;0;AL; 0633 062C 062D;;;;N;;;;; FD5E;ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0633 062C 0649;;;;N;;;;; FD5F;ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM;Lo;0;AL; 0633 0645 062D;;;;N;;;;; FD60;ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL; 0633 0645 062D;;;;N;;;;; FD61;ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM;Lo;0;AL; 0633 0645 062C;;;;N;;;;; FD62;ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL; 0633 0645 0645;;;;N;;;;; FD63;ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0633 0645 0645;;;;N;;;;; FD64;ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM;Lo;0;AL; 0635 062D 062D;;;;N;;;;; FD65;ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM;Lo;0;AL; 0635 062D 062D;;;;N;;;;; FD66;ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL; 0635 0645 0645;;;;N;;;;; FD67;ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM;Lo;0;AL; 0634 062D 0645;;;;N;;;;; FD68;ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL; 0634 062D 0645;;;;N;;;;; FD69;ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM;Lo;0;AL; 0634 062C 064A;;;;N;;;;; FD6A;ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM;Lo;0;AL; 0634 0645 062E;;;;N;;;;; FD6B;ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM;Lo;0;AL; 0634 0645 062E;;;;N;;;;; FD6C;ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL; 0634 0645 0645;;;;N;;;;; FD6D;ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0634 0645 0645;;;;N;;;;; FD6E;ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0636 062D 0649;;;;N;;;;; FD6F;ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM;Lo;0;AL; 0636 062E 0645;;;;N;;;;; FD70;ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL; 0636 062E 0645;;;;N;;;;; FD71;ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM;Lo;0;AL; 0637 0645 062D;;;;N;;;;; FD72;ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL; 0637 0645 062D;;;;N;;;;; FD73;ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0637 0645 0645;;;;N;;;;; FD74;ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 0637 0645 064A;;;;N;;;;; FD75;ARABIC LIGATURE AIN WITH JEEM WITH MEEM FINAL FORM;Lo;0;AL; 0639 062C 0645;;;;N;;;;; FD76;ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL; 0639 0645 0645;;;;N;;;;; FD77;ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0639 0645 0645;;;;N;;;;; FD78;ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0639 0645 0649;;;;N;;;;; FD79;ARABIC LIGATURE GHAIN WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL; 063A 0645 0645;;;;N;;;;; FD7A;ARABIC LIGATURE GHAIN WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 063A 0645 064A;;;;N;;;;; FD7B;ARABIC LIGATURE GHAIN WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 063A 0645 0649;;;;N;;;;; FD7C;ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM;Lo;0;AL; 0641 062E 0645;;;;N;;;;; FD7D;ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL; 0641 062E 0645;;;;N;;;;; FD7E;ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM;Lo;0;AL; 0642 0645 062D;;;;N;;;;; FD7F;ARABIC LIGATURE QAF WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL; 0642 0645 0645;;;;N;;;;; FD80;ARABIC LIGATURE LAM WITH HAH WITH MEEM FINAL FORM;Lo;0;AL; 0644 062D 0645;;;;N;;;;; FD81;ARABIC LIGATURE LAM WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 0644 062D 064A;;;;N;;;;; FD82;ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0644 062D 0649;;;;N;;;;; FD83;ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM;Lo;0;AL; 0644 062C 062C;;;;N;;;;; FD84;ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM;Lo;0;AL; 0644 062C 062C;;;;N;;;;; FD85;ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM;Lo;0;AL; 0644 062E 0645;;;;N;;;;; FD86;ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL; 0644 062E 0645;;;;N;;;;; FD87;ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM;Lo;0;AL; 0644 0645 062D;;;;N;;;;; FD88;ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL; 0644 0645 062D;;;;N;;;;; FD89;ARABIC LIGATURE MEEM WITH HAH WITH JEEM INITIAL FORM;Lo;0;AL; 0645 062D 062C;;;;N;;;;; FD8A;ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL; 0645 062D 0645;;;;N;;;;; FD8B;ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 0645 062D 064A;;;;N;;;;; FD8C;ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM;Lo;0;AL; 0645 062C 062D;;;;N;;;;; FD8D;ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0645 062C 0645;;;;N;;;;; FD8E;ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM;Lo;0;AL; 0645 062E 062C;;;;N;;;;; FD8F;ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL; 0645 062E 0645;;;;N;;;;; FD92;ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM;Lo;0;AL; 0645 062C 062E;;;;N;;;;; FD93;ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM;Lo;0;AL; 0647 0645 062C;;;;N;;;;; FD94;ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0647 0645 0645;;;;N;;;;; FD95;ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL; 0646 062D 0645;;;;N;;;;; FD96;ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0646 062D 0649;;;;N;;;;; FD97;ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM;Lo;0;AL; 0646 062C 0645;;;;N;;;;; FD98;ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0646 062C 0645;;;;N;;;;; FD99;ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0646 062C 0649;;;;N;;;;; FD9A;ARABIC LIGATURE NOON WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 0646 0645 064A;;;;N;;;;; FD9B;ARABIC LIGATURE NOON WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0646 0645 0649;;;;N;;;;; FD9C;ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL; 064A 0645 0645;;;;N;;;;; FD9D;ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 064A 0645 0645;;;;N;;;;; FD9E;ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM;Lo;0;AL; 0628 062E 064A;;;;N;;;;; FD9F;ARABIC LIGATURE TEH WITH JEEM WITH YEH FINAL FORM;Lo;0;AL; 062A 062C 064A;;;;N;;;;; FDA0;ARABIC LIGATURE TEH WITH JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062A 062C 0649;;;;N;;;;; FDA1;ARABIC LIGATURE TEH WITH KHAH WITH YEH FINAL FORM;Lo;0;AL; 062A 062E 064A;;;;N;;;;; FDA2;ARABIC LIGATURE TEH WITH KHAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062A 062E 0649;;;;N;;;;; FDA3;ARABIC LIGATURE TEH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 062A 0645 064A;;;;N;;;;; FDA4;ARABIC LIGATURE TEH WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062A 0645 0649;;;;N;;;;; FDA5;ARABIC LIGATURE JEEM WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 062C 0645 064A;;;;N;;;;; FDA6;ARABIC LIGATURE JEEM WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062C 062D 0649;;;;N;;;;; FDA7;ARABIC LIGATURE JEEM WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062C 0645 0649;;;;N;;;;; FDA8;ARABIC LIGATURE SEEN WITH KHAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0633 062E 0649;;;;N;;;;; FDA9;ARABIC LIGATURE SAD WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 0635 062D 064A;;;;N;;;;; FDAA;ARABIC LIGATURE SHEEN WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 0634 062D 064A;;;;N;;;;; FDAB;ARABIC LIGATURE DAD WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 0636 062D 064A;;;;N;;;;; FDAC;ARABIC LIGATURE LAM WITH JEEM WITH YEH FINAL FORM;Lo;0;AL; 0644 062C 064A;;;;N;;;;; FDAD;ARABIC LIGATURE LAM WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 0644 0645 064A;;;;N;;;;; FDAE;ARABIC LIGATURE YEH WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 064A 062D 064A;;;;N;;;;; FDAF;ARABIC LIGATURE YEH WITH JEEM WITH YEH FINAL FORM;Lo;0;AL; 064A 062C 064A;;;;N;;;;; FDB0;ARABIC LIGATURE YEH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 064A 0645 064A;;;;N;;;;; FDB1;ARABIC LIGATURE MEEM WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 0645 0645 064A;;;;N;;;;; FDB2;ARABIC LIGATURE QAF WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 0642 0645 064A;;;;N;;;;; FDB3;ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 0646 062D 064A;;;;N;;;;; FDB4;ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL; 0642 0645 062D;;;;N;;;;; FDB5;ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL; 0644 062D 0645;;;;N;;;;; FDB6;ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 0639 0645 064A;;;;N;;;;; FDB7;ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 0643 0645 064A;;;;N;;;;; FDB8;ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM;Lo;0;AL; 0646 062C 062D;;;;N;;;;; FDB9;ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM;Lo;0;AL; 0645 062E 064A;;;;N;;;;; FDBA;ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0644 062C 0645;;;;N;;;;; FDBB;ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL; 0643 0645 0645;;;;N;;;;; FDBC;ARABIC LIGATURE LAM WITH JEEM WITH MEEM FINAL FORM;Lo;0;AL; 0644 062C 0645;;;;N;;;;; FDBD;ARABIC LIGATURE NOON WITH JEEM WITH HAH FINAL FORM;Lo;0;AL; 0646 062C 062D;;;;N;;;;; FDBE;ARABIC LIGATURE JEEM WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 062C 062D 064A;;;;N;;;;; FDBF;ARABIC LIGATURE HAH WITH JEEM WITH YEH FINAL FORM;Lo;0;AL; 062D 062C 064A;;;;N;;;;; FDC0;ARABIC LIGATURE MEEM WITH JEEM WITH YEH FINAL FORM;Lo;0;AL; 0645 062C 064A;;;;N;;;;; FDC1;ARABIC LIGATURE FEH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 0641 0645 064A;;;;N;;;;; FDC2;ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 0628 062D 064A;;;;N;;;;; FDC3;ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0643 0645 0645;;;;N;;;;; FDC4;ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0639 062C 0645;;;;N;;;;; FDC5;ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0635 0645 0645;;;;N;;;;; FDC6;ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM;Lo;0;AL; 0633 062E 064A;;;;N;;;;; FDC7;ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM;Lo;0;AL; 0646 062C 064A;;;;N;;;;; FDF0;ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM;Lo;0;AL; 0635 0644 06D2;;;;N;;;;; FDF1;ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM;Lo;0;AL; 0642 0644 06D2;;;;N;;;;; FDF2;ARABIC LIGATURE ALLAH ISOLATED FORM;Lo;0;AL; 0627 0644 0644 0647;;;;N;;;;; FDF3;ARABIC LIGATURE AKBAR ISOLATED FORM;Lo;0;AL; 0627 0643 0628 0631;;;;N;;;;; FDF4;ARABIC LIGATURE MOHAMMAD ISOLATED FORM;Lo;0;AL; 0645 062D 0645 062F;;;;N;;;;; FDF5;ARABIC LIGATURE SALAM ISOLATED FORM;Lo;0;AL; 0635 0644 0639 0645;;;;N;;;;; FDF6;ARABIC LIGATURE RASOUL ISOLATED FORM;Lo;0;AL; 0631 0633 0648 0644;;;;N;;;;; FDF7;ARABIC LIGATURE ALAYHE ISOLATED FORM;Lo;0;AL; 0639 0644 064A 0647;;;;N;;;;; FDF8;ARABIC LIGATURE WASALLAM ISOLATED FORM;Lo;0;AL; 0648 0633 0644 0645;;;;N;;;;; FDF9;ARABIC LIGATURE SALLA ISOLATED FORM;Lo;0;AL; 0635 0644 0649;;;;N;;;;; FDFA;ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM;Lo;0;AL; 0635 0644 0649 0020 0627 0644 0644 0647 0020 0639 0644 064A 0647 0020 0648 0633 0644 0645;;;;N;ARABIC LETTER SALLALLAHOU ALAYHE WASALLAM;;;; FDFB;ARABIC LIGATURE JALLAJALALOUHOU;Lo;0;AL; 062C 0644 0020 062C 0644 0627 0644 0647;;;;N;ARABIC LETTER JALLAJALALOUHOU;;;; FE20;COMBINING LIGATURE LEFT HALF;Mn;230;NSM;;;;;N;;;;; FE21;COMBINING LIGATURE RIGHT HALF;Mn;230;NSM;;;;;N;;;;; FE22;COMBINING DOUBLE TILDE LEFT HALF;Mn;230;NSM;;;;;N;;;;; FE23;COMBINING DOUBLE TILDE RIGHT HALF;Mn;230;NSM;;;;;N;;;;; FE30;PRESENTATION FORM FOR VERTICAL TWO DOT LEADER;Po;0;ON; 2025;;;;N;GLYPH FOR VERTICAL TWO DOT LEADER;;;; FE31;PRESENTATION FORM FOR VERTICAL EM DASH;Pd;0;ON; 2014;;;;N;GLYPH FOR VERTICAL EM DASH;;;; FE32;PRESENTATION FORM FOR VERTICAL EN DASH;Pd;0;ON; 2013;;;;N;GLYPH FOR VERTICAL EN DASH;;;; FE33;PRESENTATION FORM FOR VERTICAL LOW LINE;Pc;0;ON; 005F;;;;N;GLYPH FOR VERTICAL SPACING UNDERSCORE;;;; FE34;PRESENTATION FORM FOR VERTICAL WAVY LOW LINE;Pc;0;ON; 005F;;;;N;GLYPH FOR VERTICAL SPACING WAVY UNDERSCORE;;;; FE35;PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS;Ps;0;ON; 0028;;;;N;GLYPH FOR VERTICAL OPENING PARENTHESIS;;;; FE36;PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS;Pe;0;ON; 0029;;;;N;GLYPH FOR VERTICAL CLOSING PARENTHESIS;;;; FE37;PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET;Ps;0;ON; 007B;;;;N;GLYPH FOR VERTICAL OPENING CURLY BRACKET;;;; FE38;PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET;Pe;0;ON; 007D;;;;N;GLYPH FOR VERTICAL CLOSING CURLY BRACKET;;;; FE39;PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET;Ps;0;ON; 3014;;;;N;GLYPH FOR VERTICAL OPENING TORTOISE SHELL BRACKET;;;; FE3A;PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET;Pe;0;ON; 3015;;;;N;GLYPH FOR VERTICAL CLOSING TORTOISE SHELL BRACKET;;;; FE3B;PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET;Ps;0;ON; 3010;;;;N;GLYPH FOR VERTICAL OPENING BLACK LENTICULAR BRACKET;;;; FE3C;PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET;Pe;0;ON; 3011;;;;N;GLYPH FOR VERTICAL CLOSING BLACK LENTICULAR BRACKET;;;; FE3D;PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET;Ps;0;ON; 300A;;;;N;GLYPH FOR VERTICAL OPENING DOUBLE ANGLE BRACKET;;;; FE3E;PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET;Pe;0;ON; 300B;;;;N;GLYPH FOR VERTICAL CLOSING DOUBLE ANGLE BRACKET;;;; FE3F;PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET;Ps;0;ON; 3008;;;;N;GLYPH FOR VERTICAL OPENING ANGLE BRACKET;;;; FE40;PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET;Pe;0;ON; 3009;;;;N;GLYPH FOR VERTICAL CLOSING ANGLE BRACKET;;;; FE41;PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET;Ps;0;ON; 300C;;;;N;GLYPH FOR VERTICAL OPENING CORNER BRACKET;;;; FE42;PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET;Pe;0;ON; 300D;;;;N;GLYPH FOR VERTICAL CLOSING CORNER BRACKET;;;; FE43;PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET;Ps;0;ON; 300E;;;;N;GLYPH FOR VERTICAL OPENING WHITE CORNER BRACKET;;;; FE44;PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET;Pe;0;ON; 300F;;;;N;GLYPH FOR VERTICAL CLOSING WHITE CORNER BRACKET;;;; FE49;DASHED OVERLINE;Po;0;ON; 203E;;;;N;SPACING DASHED OVERSCORE;;;; FE4A;CENTRELINE OVERLINE;Po;0;ON; 203E;;;;N;SPACING CENTERLINE OVERSCORE;;;; FE4B;WAVY OVERLINE;Po;0;ON; 203E;;;;N;SPACING WAVY OVERSCORE;;;; FE4C;DOUBLE WAVY OVERLINE;Po;0;ON; 203E;;;;N;SPACING DOUBLE WAVY OVERSCORE;;;; FE4D;DASHED LOW LINE;Pc;0;ON; 005F;;;;N;SPACING DASHED UNDERSCORE;;;; FE4E;CENTRELINE LOW LINE;Pc;0;ON; 005F;;;;N;SPACING CENTERLINE UNDERSCORE;;;; FE4F;WAVY LOW LINE;Pc;0;ON; 005F;;;;N;SPACING WAVY UNDERSCORE;;;; FE50;SMALL COMMA;Po;0;CS; 002C;;;;N;;;;; FE51;SMALL IDEOGRAPHIC COMMA;Po;0;ON; 3001;;;;N;;;;; FE52;SMALL FULL STOP;Po;0;CS; 002E;;;;N;SMALL PERIOD;;;; FE54;SMALL SEMICOLON;Po;0;ON; 003B;;;;N;;;;; FE55;SMALL COLON;Po;0;CS; 003A;;;;N;;;;; FE56;SMALL QUESTION MARK;Po;0;ON; 003F;;;;N;;;;; FE57;SMALL EXCLAMATION MARK;Po;0;ON; 0021;;;;N;;;;; FE58;SMALL EM DASH;Pd;0;ON; 2014;;;;N;;;;; FE59;SMALL LEFT PARENTHESIS;Ps;0;ON; 0028;;;;N;SMALL OPENING PARENTHESIS;;;; FE5A;SMALL RIGHT PARENTHESIS;Pe;0;ON; 0029;;;;N;SMALL CLOSING PARENTHESIS;;;; FE5B;SMALL LEFT CURLY BRACKET;Ps;0;ON; 007B;;;;N;SMALL OPENING CURLY BRACKET;;;; FE5C;SMALL RIGHT CURLY BRACKET;Pe;0;ON; 007D;;;;N;SMALL CLOSING CURLY BRACKET;;;; FE5D;SMALL LEFT TORTOISE SHELL BRACKET;Ps;0;ON; 3014;;;;N;SMALL OPENING TORTOISE SHELL BRACKET;;;; FE5E;SMALL RIGHT TORTOISE SHELL BRACKET;Pe;0;ON; 3015;;;;N;SMALL CLOSING TORTOISE SHELL BRACKET;;;; FE5F;SMALL NUMBER SIGN;Po;0;ET; 0023;;;;N;;;;; FE60;SMALL AMPERSAND;Po;0;ON; 0026;;;;N;;;;; FE61;SMALL ASTERISK;Po;0;ON; 002A;;;;N;;;;; FE62;SMALL PLUS SIGN;Sm;0;ET; 002B;;;;N;;;;; FE63;SMALL HYPHEN-MINUS;Pd;0;ET; 002D;;;;N;;;;; FE64;SMALL LESS-THAN SIGN;Sm;0;ON; 003C;;;;N;;;;; FE65;SMALL GREATER-THAN SIGN;Sm;0;ON; 003E;;;;N;;;;; FE66;SMALL EQUALS SIGN;Sm;0;ON; 003D;;;;N;;;;; FE68;SMALL REVERSE SOLIDUS;Po;0;ON; 005C;;;;N;SMALL BACKSLASH;;;; FE69;SMALL DOLLAR SIGN;Sc;0;ET; 0024;;;;N;;;;; FE6A;SMALL PERCENT SIGN;Po;0;ET; 0025;;;;N;;;;; FE6B;SMALL COMMERCIAL AT;Po;0;ON; 0040;;;;N;;;;; FE70;ARABIC FATHATAN ISOLATED FORM;Lo;0;AL; 0020 064B;;;;N;ARABIC SPACING FATHATAN;;;; FE71;ARABIC TATWEEL WITH FATHATAN ABOVE;Lo;0;AL; 0640 064B;;;;N;ARABIC FATHATAN ON TATWEEL;;;; FE72;ARABIC DAMMATAN ISOLATED FORM;Lo;0;AL; 0020 064C;;;;N;ARABIC SPACING DAMMATAN;;;; FE74;ARABIC KASRATAN ISOLATED FORM;Lo;0;AL; 0020 064D;;;;N;ARABIC SPACING KASRATAN;;;; FE76;ARABIC FATHA ISOLATED FORM;Lo;0;AL; 0020 064E;;;;N;ARABIC SPACING FATHAH;;;; FE77;ARABIC FATHA MEDIAL FORM;Lo;0;AL; 0640 064E;;;;N;ARABIC FATHAH ON TATWEEL;;;; FE78;ARABIC DAMMA ISOLATED FORM;Lo;0;AL; 0020 064F;;;;N;ARABIC SPACING DAMMAH;;;; FE79;ARABIC DAMMA MEDIAL FORM;Lo;0;AL; 0640 064F;;;;N;ARABIC DAMMAH ON TATWEEL;;;; FE7A;ARABIC KASRA ISOLATED FORM;Lo;0;AL; 0020 0650;;;;N;ARABIC SPACING KASRAH;;;; FE7B;ARABIC KASRA MEDIAL FORM;Lo;0;AL; 0640 0650;;;;N;ARABIC KASRAH ON TATWEEL;;;; FE7C;ARABIC SHADDA ISOLATED FORM;Lo;0;AL; 0020 0651;;;;N;ARABIC SPACING SHADDAH;;;; FE7D;ARABIC SHADDA MEDIAL FORM;Lo;0;AL; 0640 0651;;;;N;ARABIC SHADDAH ON TATWEEL;;;; FE7E;ARABIC SUKUN ISOLATED FORM;Lo;0;AL; 0020 0652;;;;N;ARABIC SPACING SUKUN;;;; FE7F;ARABIC SUKUN MEDIAL FORM;Lo;0;AL; 0640 0652;;;;N;ARABIC SUKUN ON TATWEEL;;;; FE80;ARABIC LETTER HAMZA ISOLATED FORM;Lo;0;AL; 0621;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH;;;; FE81;ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM;Lo;0;AL; 0622;;;;N;GLYPH FOR ISOLATE ARABIC MADDAH ON ALEF;;;; FE82;ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM;Lo;0;AL; 0622;;;;N;GLYPH FOR FINAL ARABIC MADDAH ON ALEF;;;; FE83;ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL; 0623;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON ALEF;;;; FE84;ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM;Lo;0;AL; 0623;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON ALEF;;;; FE85;ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL; 0624;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON WAW;;;; FE86;ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM;Lo;0;AL; 0624;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON WAW;;;; FE87;ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM;Lo;0;AL; 0625;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH UNDER ALEF;;;; FE88;ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM;Lo;0;AL; 0625;;;;N;GLYPH FOR FINAL ARABIC HAMZAH UNDER ALEF;;;; FE89;ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL; 0626;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON YA;;;; FE8A;ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM;Lo;0;AL; 0626;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON YA;;;; FE8B;ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM;Lo;0;AL; 0626;;;;N;GLYPH FOR INITIAL ARABIC HAMZAH ON YA;;;; FE8C;ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM;Lo;0;AL; 0626;;;;N;GLYPH FOR MEDIAL ARABIC HAMZAH ON YA;;;; FE8D;ARABIC LETTER ALEF ISOLATED FORM;Lo;0;AL; 0627;;;;N;GLYPH FOR ISOLATE ARABIC ALEF;;;; FE8E;ARABIC LETTER ALEF FINAL FORM;Lo;0;AL; 0627;;;;N;GLYPH FOR FINAL ARABIC ALEF;;;; FE8F;ARABIC LETTER BEH ISOLATED FORM;Lo;0;AL; 0628;;;;N;GLYPH FOR ISOLATE ARABIC BAA;;;; FE90;ARABIC LETTER BEH FINAL FORM;Lo;0;AL; 0628;;;;N;GLYPH FOR FINAL ARABIC BAA;;;; FE91;ARABIC LETTER BEH INITIAL FORM;Lo;0;AL; 0628;;;;N;GLYPH FOR INITIAL ARABIC BAA;;;; FE92;ARABIC LETTER BEH MEDIAL FORM;Lo;0;AL; 0628;;;;N;GLYPH FOR MEDIAL ARABIC BAA;;;; FE93;ARABIC LETTER TEH MARBUTA ISOLATED FORM;Lo;0;AL; 0629;;;;N;GLYPH FOR ISOLATE ARABIC TAA MARBUTAH;;;; FE94;ARABIC LETTER TEH MARBUTA FINAL FORM;Lo;0;AL; 0629;;;;N;GLYPH FOR FINAL ARABIC TAA MARBUTAH;;;; FE95;ARABIC LETTER TEH ISOLATED FORM;Lo;0;AL; 062A;;;;N;GLYPH FOR ISOLATE ARABIC TAA;;;; FE96;ARABIC LETTER TEH FINAL FORM;Lo;0;AL; 062A;;;;N;GLYPH FOR FINAL ARABIC TAA;;;; FE97;ARABIC LETTER TEH INITIAL FORM;Lo;0;AL; 062A;;;;N;GLYPH FOR INITIAL ARABIC TAA;;;; FE98;ARABIC LETTER TEH MEDIAL FORM;Lo;0;AL; 062A;;;;N;GLYPH FOR MEDIAL ARABIC TAA;;;; FE99;ARABIC LETTER THEH ISOLATED FORM;Lo;0;AL; 062B;;;;N;GLYPH FOR ISOLATE ARABIC THAA;;;; FE9A;ARABIC LETTER THEH FINAL FORM;Lo;0;AL; 062B;;;;N;GLYPH FOR FINAL ARABIC THAA;;;; FE9B;ARABIC LETTER THEH INITIAL FORM;Lo;0;AL; 062B;;;;N;GLYPH FOR INITIAL ARABIC THAA;;;; FE9C;ARABIC LETTER THEH MEDIAL FORM;Lo;0;AL; 062B;;;;N;GLYPH FOR MEDIAL ARABIC THAA;;;; FE9D;ARABIC LETTER JEEM ISOLATED FORM;Lo;0;AL; 062C;;;;N;GLYPH FOR ISOLATE ARABIC JEEM;;;; FE9E;ARABIC LETTER JEEM FINAL FORM;Lo;0;AL; 062C;;;;N;GLYPH FOR FINAL ARABIC JEEM;;;; FE9F;ARABIC LETTER JEEM INITIAL FORM;Lo;0;AL; 062C;;;;N;GLYPH FOR INITIAL ARABIC JEEM;;;; FEA0;ARABIC LETTER JEEM MEDIAL FORM;Lo;0;AL; 062C;;;;N;GLYPH FOR MEDIAL ARABIC JEEM;;;; FEA1;ARABIC LETTER HAH ISOLATED FORM;Lo;0;AL; 062D;;;;N;GLYPH FOR ISOLATE ARABIC HAA;;;; FEA2;ARABIC LETTER HAH FINAL FORM;Lo;0;AL; 062D;;;;N;GLYPH FOR FINAL ARABIC HAA;;;; FEA3;ARABIC LETTER HAH INITIAL FORM;Lo;0;AL; 062D;;;;N;GLYPH FOR INITIAL ARABIC HAA;;;; FEA4;ARABIC LETTER HAH MEDIAL FORM;Lo;0;AL; 062D;;;;N;GLYPH FOR MEDIAL ARABIC HAA;;;; FEA5;ARABIC LETTER KHAH ISOLATED FORM;Lo;0;AL; 062E;;;;N;GLYPH FOR ISOLATE ARABIC KHAA;;;; FEA6;ARABIC LETTER KHAH FINAL FORM;Lo;0;AL; 062E;;;;N;GLYPH FOR FINAL ARABIC KHAA;;;; FEA7;ARABIC LETTER KHAH INITIAL FORM;Lo;0;AL; 062E;;;;N;GLYPH FOR INITIAL ARABIC KHAA;;;; FEA8;ARABIC LETTER KHAH MEDIAL FORM;Lo;0;AL; 062E;;;;N;GLYPH FOR MEDIAL ARABIC KHAA;;;; FEA9;ARABIC LETTER DAL ISOLATED FORM;Lo;0;AL; 062F;;;;N;GLYPH FOR ISOLATE ARABIC DAL;;;; FEAA;ARABIC LETTER DAL FINAL FORM;Lo;0;AL; 062F;;;;N;GLYPH FOR FINAL ARABIC DAL;;;; FEAB;ARABIC LETTER THAL ISOLATED FORM;Lo;0;AL; 0630;;;;N;GLYPH FOR ISOLATE ARABIC THAL;;;; FEAC;ARABIC LETTER THAL FINAL FORM;Lo;0;AL; 0630;;;;N;GLYPH FOR FINAL ARABIC THAL;;;; FEAD;ARABIC LETTER REH ISOLATED FORM;Lo;0;AL; 0631;;;;N;GLYPH FOR ISOLATE ARABIC RA;;;; FEAE;ARABIC LETTER REH FINAL FORM;Lo;0;AL; 0631;;;;N;GLYPH FOR FINAL ARABIC RA;;;; FEAF;ARABIC LETTER ZAIN ISOLATED FORM;Lo;0;AL; 0632;;;;N;GLYPH FOR ISOLATE ARABIC ZAIN;;;; FEB0;ARABIC LETTER ZAIN FINAL FORM;Lo;0;AL; 0632;;;;N;GLYPH FOR FINAL ARABIC ZAIN;;;; FEB1;ARABIC LETTER SEEN ISOLATED FORM;Lo;0;AL; 0633;;;;N;GLYPH FOR ISOLATE ARABIC SEEN;;;; FEB2;ARABIC LETTER SEEN FINAL FORM;Lo;0;AL; 0633;;;;N;GLYPH FOR FINAL ARABIC SEEN;;;; FEB3;ARABIC LETTER SEEN INITIAL FORM;Lo;0;AL; 0633;;;;N;GLYPH FOR INITIAL ARABIC SEEN;;;; FEB4;ARABIC LETTER SEEN MEDIAL FORM;Lo;0;AL; 0633;;;;N;GLYPH FOR MEDIAL ARABIC SEEN;;;; FEB5;ARABIC LETTER SHEEN ISOLATED FORM;Lo;0;AL; 0634;;;;N;GLYPH FOR ISOLATE ARABIC SHEEN;;;; FEB6;ARABIC LETTER SHEEN FINAL FORM;Lo;0;AL; 0634;;;;N;GLYPH FOR FINAL ARABIC SHEEN;;;; FEB7;ARABIC LETTER SHEEN INITIAL FORM;Lo;0;AL; 0634;;;;N;GLYPH FOR INITIAL ARABIC SHEEN;;;; FEB8;ARABIC LETTER SHEEN MEDIAL FORM;Lo;0;AL; 0634;;;;N;GLYPH FOR MEDIAL ARABIC SHEEN;;;; FEB9;ARABIC LETTER SAD ISOLATED FORM;Lo;0;AL; 0635;;;;N;GLYPH FOR ISOLATE ARABIC SAD;;;; FEBA;ARABIC LETTER SAD FINAL FORM;Lo;0;AL; 0635;;;;N;GLYPH FOR FINAL ARABIC SAD;;;; FEBB;ARABIC LETTER SAD INITIAL FORM;Lo;0;AL; 0635;;;;N;GLYPH FOR INITIAL ARABIC SAD;;;; FEBC;ARABIC LETTER SAD MEDIAL FORM;Lo;0;AL; 0635;;;;N;GLYPH FOR MEDIAL ARABIC SAD;;;; FEBD;ARABIC LETTER DAD ISOLATED FORM;Lo;0;AL; 0636;;;;N;GLYPH FOR ISOLATE ARABIC DAD;;;; FEBE;ARABIC LETTER DAD FINAL FORM;Lo;0;AL; 0636;;;;N;GLYPH FOR FINAL ARABIC DAD;;;; FEBF;ARABIC LETTER DAD INITIAL FORM;Lo;0;AL; 0636;;;;N;GLYPH FOR INITIAL ARABIC DAD;;;; FEC0;ARABIC LETTER DAD MEDIAL FORM;Lo;0;AL; 0636;;;;N;GLYPH FOR MEDIAL ARABIC DAD;;;; FEC1;ARABIC LETTER TAH ISOLATED FORM;Lo;0;AL; 0637;;;;N;GLYPH FOR ISOLATE ARABIC TAH;;;; FEC2;ARABIC LETTER TAH FINAL FORM;Lo;0;AL; 0637;;;;N;GLYPH FOR FINAL ARABIC TAH;;;; FEC3;ARABIC LETTER TAH INITIAL FORM;Lo;0;AL; 0637;;;;N;GLYPH FOR INITIAL ARABIC TAH;;;; FEC4;ARABIC LETTER TAH MEDIAL FORM;Lo;0;AL; 0637;;;;N;GLYPH FOR MEDIAL ARABIC TAH;;;; FEC5;ARABIC LETTER ZAH ISOLATED FORM;Lo;0;AL; 0638;;;;N;GLYPH FOR ISOLATE ARABIC DHAH;;;; FEC6;ARABIC LETTER ZAH FINAL FORM;Lo;0;AL; 0638;;;;N;GLYPH FOR FINAL ARABIC DHAH;;;; FEC7;ARABIC LETTER ZAH INITIAL FORM;Lo;0;AL; 0638;;;;N;GLYPH FOR INITIAL ARABIC DHAH;;;; FEC8;ARABIC LETTER ZAH MEDIAL FORM;Lo;0;AL; 0638;;;;N;GLYPH FOR MEDIAL ARABIC DHAH;;;; FEC9;ARABIC LETTER AIN ISOLATED FORM;Lo;0;AL; 0639;;;;N;GLYPH FOR ISOLATE ARABIC AIN;;;; FECA;ARABIC LETTER AIN FINAL FORM;Lo;0;AL; 0639;;;;N;GLYPH FOR FINAL ARABIC AIN;;;; FECB;ARABIC LETTER AIN INITIAL FORM;Lo;0;AL; 0639;;;;N;GLYPH FOR INITIAL ARABIC AIN;;;; FECC;ARABIC LETTER AIN MEDIAL FORM;Lo;0;AL; 0639;;;;N;GLYPH FOR MEDIAL ARABIC AIN;;;; FECD;ARABIC LETTER GHAIN ISOLATED FORM;Lo;0;AL; 063A;;;;N;GLYPH FOR ISOLATE ARABIC GHAIN;;;; FECE;ARABIC LETTER GHAIN FINAL FORM;Lo;0;AL; 063A;;;;N;GLYPH FOR FINAL ARABIC GHAIN;;;; FECF;ARABIC LETTER GHAIN INITIAL FORM;Lo;0;AL; 063A;;;;N;GLYPH FOR INITIAL ARABIC GHAIN;;;; FED0;ARABIC LETTER GHAIN MEDIAL FORM;Lo;0;AL; 063A;;;;N;GLYPH FOR MEDIAL ARABIC GHAIN;;;; FED1;ARABIC LETTER FEH ISOLATED FORM;Lo;0;AL; 0641;;;;N;GLYPH FOR ISOLATE ARABIC FA;;;; FED2;ARABIC LETTER FEH FINAL FORM;Lo;0;AL; 0641;;;;N;GLYPH FOR FINAL ARABIC FA;;;; FED3;ARABIC LETTER FEH INITIAL FORM;Lo;0;AL; 0641;;;;N;GLYPH FOR INITIAL ARABIC FA;;;; FED4;ARABIC LETTER FEH MEDIAL FORM;Lo;0;AL; 0641;;;;N;GLYPH FOR MEDIAL ARABIC FA;;;; FED5;ARABIC LETTER QAF ISOLATED FORM;Lo;0;AL; 0642;;;;N;GLYPH FOR ISOLATE ARABIC QAF;;;; FED6;ARABIC LETTER QAF FINAL FORM;Lo;0;AL; 0642;;;;N;GLYPH FOR FINAL ARABIC QAF;;;; FED7;ARABIC LETTER QAF INITIAL FORM;Lo;0;AL; 0642;;;;N;GLYPH FOR INITIAL ARABIC QAF;;;; FED8;ARABIC LETTER QAF MEDIAL FORM;Lo;0;AL; 0642;;;;N;GLYPH FOR MEDIAL ARABIC QAF;;;; FED9;ARABIC LETTER KAF ISOLATED FORM;Lo;0;AL; 0643;;;;N;GLYPH FOR ISOLATE ARABIC CAF;;;; FEDA;ARABIC LETTER KAF FINAL FORM;Lo;0;AL; 0643;;;;N;GLYPH FOR FINAL ARABIC CAF;;;; FEDB;ARABIC LETTER KAF INITIAL FORM;Lo;0;AL; 0643;;;;N;GLYPH FOR INITIAL ARABIC CAF;;;; FEDC;ARABIC LETTER KAF MEDIAL FORM;Lo;0;AL; 0643;;;;N;GLYPH FOR MEDIAL ARABIC CAF;;;; FEDD;ARABIC LETTER LAM ISOLATED FORM;Lo;0;AL; 0644;;;;N;GLYPH FOR ISOLATE ARABIC LAM;;;; FEDE;ARABIC LETTER LAM FINAL FORM;Lo;0;AL; 0644;;;;N;GLYPH FOR FINAL ARABIC LAM;;;; FEDF;ARABIC LETTER LAM INITIAL FORM;Lo;0;AL; 0644;;;;N;GLYPH FOR INITIAL ARABIC LAM;;;; FEE0;ARABIC LETTER LAM MEDIAL FORM;Lo;0;AL; 0644;;;;N;GLYPH FOR MEDIAL ARABIC LAM;;;; FEE1;ARABIC LETTER MEEM ISOLATED FORM;Lo;0;AL; 0645;;;;N;GLYPH FOR ISOLATE ARABIC MEEM;;;; FEE2;ARABIC LETTER MEEM FINAL FORM;Lo;0;AL; 0645;;;;N;GLYPH FOR FINAL ARABIC MEEM;;;; FEE3;ARABIC LETTER MEEM INITIAL FORM;Lo;0;AL; 0645;;;;N;GLYPH FOR INITIAL ARABIC MEEM;;;; FEE4;ARABIC LETTER MEEM MEDIAL FORM;Lo;0;AL; 0645;;;;N;GLYPH FOR MEDIAL ARABIC MEEM;;;; FEE5;ARABIC LETTER NOON ISOLATED FORM;Lo;0;AL; 0646;;;;N;GLYPH FOR ISOLATE ARABIC NOON;;;; FEE6;ARABIC LETTER NOON FINAL FORM;Lo;0;AL; 0646;;;;N;GLYPH FOR FINAL ARABIC NOON;;;; FEE7;ARABIC LETTER NOON INITIAL FORM;Lo;0;AL; 0646;;;;N;GLYPH FOR INITIAL ARABIC NOON;;;; FEE8;ARABIC LETTER NOON MEDIAL FORM;Lo;0;AL; 0646;;;;N;GLYPH FOR MEDIAL ARABIC NOON;;;; FEE9;ARABIC LETTER HEH ISOLATED FORM;Lo;0;AL; 0647;;;;N;GLYPH FOR ISOLATE ARABIC HA;;;; FEEA;ARABIC LETTER HEH FINAL FORM;Lo;0;AL; 0647;;;;N;GLYPH FOR FINAL ARABIC HA;;;; FEEB;ARABIC LETTER HEH INITIAL FORM;Lo;0;AL; 0647;;;;N;GLYPH FOR INITIAL ARABIC HA;;;; FEEC;ARABIC LETTER HEH MEDIAL FORM;Lo;0;AL; 0647;;;;N;GLYPH FOR MEDIAL ARABIC HA;;;; FEED;ARABIC LETTER WAW ISOLATED FORM;Lo;0;AL; 0648;;;;N;GLYPH FOR ISOLATE ARABIC WAW;;;; FEEE;ARABIC LETTER WAW FINAL FORM;Lo;0;AL; 0648;;;;N;GLYPH FOR FINAL ARABIC WAW;;;; FEEF;ARABIC LETTER ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0649;;;;N;GLYPH FOR ISOLATE ARABIC ALEF MAQSURAH;;;; FEF0;ARABIC LETTER ALEF MAKSURA FINAL FORM;Lo;0;AL; 0649;;;;N;GLYPH FOR FINAL ARABIC ALEF MAQSURAH;;;; FEF1;ARABIC LETTER YEH ISOLATED FORM;Lo;0;AL; 064A;;;;N;GLYPH FOR ISOLATE ARABIC YA;;;; FEF2;ARABIC LETTER YEH FINAL FORM;Lo;0;AL; 064A;;;;N;GLYPH FOR FINAL ARABIC YA;;;; FEF3;ARABIC LETTER YEH INITIAL FORM;Lo;0;AL; 064A;;;;N;GLYPH FOR INITIAL ARABIC YA;;;; FEF4;ARABIC LETTER YEH MEDIAL FORM;Lo;0;AL; 064A;;;;N;GLYPH FOR MEDIAL ARABIC YA;;;; FEF5;ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM;Lo;0;AL; 0644 0622;;;;N;GLYPH FOR ISOLATE ARABIC MADDAH ON LIGATURE LAM ALEF;;;; FEF6;ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM;Lo;0;AL; 0644 0622;;;;N;GLYPH FOR FINAL ARABIC MADDAH ON LIGATURE LAM ALEF;;;; FEF7;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL; 0644 0623;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON LIGATURE LAM ALEF;;;; FEF8;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM;Lo;0;AL; 0644 0623;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON LIGATURE LAM ALEF;;;; FEF9;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM;Lo;0;AL; 0644 0625;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH UNDER LIGATURE LAM ALEF;;;; FEFA;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM;Lo;0;AL; 0644 0625;;;;N;GLYPH FOR FINAL ARABIC HAMZAH UNDER LIGATURE LAM ALEF;;;; FEFB;ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM;Lo;0;AL; 0644 0627;;;;N;GLYPH FOR ISOLATE ARABIC LIGATURE LAM ALEF;;;; FEFC;ARABIC LIGATURE LAM WITH ALEF FINAL FORM;Lo;0;AL; 0644 0627;;;;N;GLYPH FOR FINAL ARABIC LIGATURE LAM ALEF;;;; FEFF;ZERO WIDTH NO-BREAK SPACE;Cf;0;BN;;;;;N;BYTE ORDER MARK;;;; FF01;FULLWIDTH EXCLAMATION MARK;Po;0;ON; 0021;;;;N;;;;; FF02;FULLWIDTH QUOTATION MARK;Po;0;ON; 0022;;;;N;;;;; FF03;FULLWIDTH NUMBER SIGN;Po;0;ET; 0023;;;;N;;;;; FF04;FULLWIDTH DOLLAR SIGN;Sc;0;ET; 0024;;;;N;;;;; FF05;FULLWIDTH PERCENT SIGN;Po;0;ET; 0025;;;;N;;;;; FF06;FULLWIDTH AMPERSAND;Po;0;ON; 0026;;;;N;;;;; FF07;FULLWIDTH APOSTROPHE;Po;0;ON; 0027;;;;N;;;;; FF08;FULLWIDTH LEFT PARENTHESIS;Ps;0;ON; 0028;;;;N;FULLWIDTH OPENING PARENTHESIS;;;; FF09;FULLWIDTH RIGHT PARENTHESIS;Pe;0;ON; 0029;;;;N;FULLWIDTH CLOSING PARENTHESIS;;;; FF0A;FULLWIDTH ASTERISK;Po;0;ON; 002A;;;;N;;;;; FF0B;FULLWIDTH PLUS SIGN;Sm;0;ET; 002B;;;;N;;;;; FF0C;FULLWIDTH COMMA;Po;0;CS; 002C;;;;N;;;;; FF0D;FULLWIDTH HYPHEN-MINUS;Pd;0;ET; 002D;;;;N;;;;; FF0E;FULLWIDTH FULL STOP;Po;0;CS; 002E;;;;N;FULLWIDTH PERIOD;;;; FF0F;FULLWIDTH SOLIDUS;Po;0;ES; 002F;;;;N;FULLWIDTH SLASH;;;; FF10;FULLWIDTH DIGIT ZERO;Nd;0;EN; 0030;0;0;0;N;;;;; FF11;FULLWIDTH DIGIT ONE;Nd;0;EN; 0031;1;1;1;N;;;;; FF12;FULLWIDTH DIGIT TWO;Nd;0;EN; 0032;2;2;2;N;;;;; FF13;FULLWIDTH DIGIT THREE;Nd;0;EN; 0033;3;3;3;N;;;;; FF14;FULLWIDTH DIGIT FOUR;Nd;0;EN; 0034;4;4;4;N;;;;; FF15;FULLWIDTH DIGIT FIVE;Nd;0;EN; 0035;5;5;5;N;;;;; FF16;FULLWIDTH DIGIT SIX;Nd;0;EN; 0036;6;6;6;N;;;;; FF17;FULLWIDTH DIGIT SEVEN;Nd;0;EN; 0037;7;7;7;N;;;;; FF18;FULLWIDTH DIGIT EIGHT;Nd;0;EN; 0038;8;8;8;N;;;;; FF19;FULLWIDTH DIGIT NINE;Nd;0;EN; 0039;9;9;9;N;;;;; FF1A;FULLWIDTH COLON;Po;0;CS; 003A;;;;N;;;;; FF1B;FULLWIDTH SEMICOLON;Po;0;ON; 003B;;;;N;;;;; FF1C;FULLWIDTH LESS-THAN SIGN;Sm;0;ON; 003C;;;;N;;;;; FF1D;FULLWIDTH EQUALS SIGN;Sm;0;ON; 003D;;;;N;;;;; FF1E;FULLWIDTH GREATER-THAN SIGN;Sm;0;ON; 003E;;;;N;;;;; FF1F;FULLWIDTH QUESTION MARK;Po;0;ON; 003F;;;;N;;;;; FF20;FULLWIDTH COMMERCIAL AT;Po;0;ON; 0040;;;;N;;;;; FF21;FULLWIDTH LATIN CAPITAL LETTER A;Lu;0;L; 0041;;;;N;;;;FF41; FF22;FULLWIDTH LATIN CAPITAL LETTER B;Lu;0;L; 0042;;;;N;;;;FF42; FF23;FULLWIDTH LATIN CAPITAL LETTER C;Lu;0;L; 0043;;;;N;;;;FF43; FF24;FULLWIDTH LATIN CAPITAL LETTER D;Lu;0;L; 0044;;;;N;;;;FF44; FF25;FULLWIDTH LATIN CAPITAL LETTER E;Lu;0;L; 0045;;;;N;;;;FF45; FF26;FULLWIDTH LATIN CAPITAL LETTER F;Lu;0;L; 0046;;;;N;;;;FF46; FF27;FULLWIDTH LATIN CAPITAL LETTER G;Lu;0;L; 0047;;;;N;;;;FF47; FF28;FULLWIDTH LATIN CAPITAL LETTER H;Lu;0;L; 0048;;;;N;;;;FF48; FF29;FULLWIDTH LATIN CAPITAL LETTER I;Lu;0;L; 0049;;;;N;;;;FF49; FF2A;FULLWIDTH LATIN CAPITAL LETTER J;Lu;0;L; 004A;;;;N;;;;FF4A; FF2B;FULLWIDTH LATIN CAPITAL LETTER K;Lu;0;L; 004B;;;;N;;;;FF4B; FF2C;FULLWIDTH LATIN CAPITAL LETTER L;Lu;0;L; 004C;;;;N;;;;FF4C; FF2D;FULLWIDTH LATIN CAPITAL LETTER M;Lu;0;L; 004D;;;;N;;;;FF4D; FF2E;FULLWIDTH LATIN CAPITAL LETTER N;Lu;0;L; 004E;;;;N;;;;FF4E; FF2F;FULLWIDTH LATIN CAPITAL LETTER O;Lu;0;L; 004F;;;;N;;;;FF4F; FF30;FULLWIDTH LATIN CAPITAL LETTER P;Lu;0;L; 0050;;;;N;;;;FF50; FF31;FULLWIDTH LATIN CAPITAL LETTER Q;Lu;0;L; 0051;;;;N;;;;FF51; FF32;FULLWIDTH LATIN CAPITAL LETTER R;Lu;0;L; 0052;;;;N;;;;FF52; FF33;FULLWIDTH LATIN CAPITAL LETTER S;Lu;0;L; 0053;;;;N;;;;FF53; FF34;FULLWIDTH LATIN CAPITAL LETTER T;Lu;0;L; 0054;;;;N;;;;FF54; FF35;FULLWIDTH LATIN CAPITAL LETTER U;Lu;0;L; 0055;;;;N;;;;FF55; FF36;FULLWIDTH LATIN CAPITAL LETTER V;Lu;0;L; 0056;;;;N;;;;FF56; FF37;FULLWIDTH LATIN CAPITAL LETTER W;Lu;0;L; 0057;;;;N;;;;FF57; FF38;FULLWIDTH LATIN CAPITAL LETTER X;Lu;0;L; 0058;;;;N;;;;FF58; FF39;FULLWIDTH LATIN CAPITAL LETTER Y;Lu;0;L; 0059;;;;N;;;;FF59; FF3A;FULLWIDTH LATIN CAPITAL LETTER Z;Lu;0;L; 005A;;;;N;;;;FF5A; FF3B;FULLWIDTH LEFT SQUARE BRACKET;Ps;0;ON; 005B;;;;N;FULLWIDTH OPENING SQUARE BRACKET;;;; FF3C;FULLWIDTH REVERSE SOLIDUS;Po;0;ON; 005C;;;;N;FULLWIDTH BACKSLASH;;;; FF3D;FULLWIDTH RIGHT SQUARE BRACKET;Pe;0;ON; 005D;;;;N;FULLWIDTH CLOSING SQUARE BRACKET;;;; FF3E;FULLWIDTH CIRCUMFLEX ACCENT;Sk;0;ON; 005E;;;;N;FULLWIDTH SPACING CIRCUMFLEX;;;; FF3F;FULLWIDTH LOW LINE;Pc;0;ON; 005F;;;;N;FULLWIDTH SPACING UNDERSCORE;;;; FF40;FULLWIDTH GRAVE ACCENT;Sk;0;ON; 0060;;;;N;FULLWIDTH SPACING GRAVE;;;; FF41;FULLWIDTH LATIN SMALL LETTER A;Ll;0;L; 0061;;;;N;;;FF21;;FF21 FF42;FULLWIDTH LATIN SMALL LETTER B;Ll;0;L; 0062;;;;N;;;FF22;;FF22 FF43;FULLWIDTH LATIN SMALL LETTER C;Ll;0;L; 0063;;;;N;;;FF23;;FF23 FF44;FULLWIDTH LATIN SMALL LETTER D;Ll;0;L; 0064;;;;N;;;FF24;;FF24 FF45;FULLWIDTH LATIN SMALL LETTER E;Ll;0;L; 0065;;;;N;;;FF25;;FF25 FF46;FULLWIDTH LATIN SMALL LETTER F;Ll;0;L; 0066;;;;N;;;FF26;;FF26 FF47;FULLWIDTH LATIN SMALL LETTER G;Ll;0;L; 0067;;;;N;;;FF27;;FF27 FF48;FULLWIDTH LATIN SMALL LETTER H;Ll;0;L; 0068;;;;N;;;FF28;;FF28 FF49;FULLWIDTH LATIN SMALL LETTER I;Ll;0;L; 0069;;;;N;;;FF29;;FF29 FF4A;FULLWIDTH LATIN SMALL LETTER J;Ll;0;L; 006A;;;;N;;;FF2A;;FF2A FF4B;FULLWIDTH LATIN SMALL LETTER K;Ll;0;L; 006B;;;;N;;;FF2B;;FF2B FF4C;FULLWIDTH LATIN SMALL LETTER L;Ll;0;L; 006C;;;;N;;;FF2C;;FF2C FF4D;FULLWIDTH LATIN SMALL LETTER M;Ll;0;L; 006D;;;;N;;;FF2D;;FF2D FF4E;FULLWIDTH LATIN SMALL LETTER N;Ll;0;L; 006E;;;;N;;;FF2E;;FF2E FF4F;FULLWIDTH LATIN SMALL LETTER O;Ll;0;L; 006F;;;;N;;;FF2F;;FF2F FF50;FULLWIDTH LATIN SMALL LETTER P;Ll;0;L; 0070;;;;N;;;FF30;;FF30 FF51;FULLWIDTH LATIN SMALL LETTER Q;Ll;0;L; 0071;;;;N;;;FF31;;FF31 FF52;FULLWIDTH LATIN SMALL LETTER R;Ll;0;L; 0072;;;;N;;;FF32;;FF32 FF53;FULLWIDTH LATIN SMALL LETTER S;Ll;0;L; 0073;;;;N;;;FF33;;FF33 FF54;FULLWIDTH LATIN SMALL LETTER T;Ll;0;L; 0074;;;;N;;;FF34;;FF34 FF55;FULLWIDTH LATIN SMALL LETTER U;Ll;0;L; 0075;;;;N;;;FF35;;FF35 FF56;FULLWIDTH LATIN SMALL LETTER V;Ll;0;L; 0076;;;;N;;;FF36;;FF36 FF57;FULLWIDTH LATIN SMALL LETTER W;Ll;0;L; 0077;;;;N;;;FF37;;FF37 FF58;FULLWIDTH LATIN SMALL LETTER X;Ll;0;L; 0078;;;;N;;;FF38;;FF38 FF59;FULLWIDTH LATIN SMALL LETTER Y;Ll;0;L; 0079;;;;N;;;FF39;;FF39 FF5A;FULLWIDTH LATIN SMALL LETTER Z;Ll;0;L; 007A;;;;N;;;FF3A;;FF3A FF5B;FULLWIDTH LEFT CURLY BRACKET;Ps;0;ON; 007B;;;;N;FULLWIDTH OPENING CURLY BRACKET;;;; FF5C;FULLWIDTH VERTICAL LINE;Sm;0;ON; 007C;;;;N;FULLWIDTH VERTICAL BAR;;;; FF5D;FULLWIDTH RIGHT CURLY BRACKET;Pe;0;ON; 007D;;;;N;FULLWIDTH CLOSING CURLY BRACKET;;;; FF5E;FULLWIDTH TILDE;Sm;0;ON; 007E;;;;N;FULLWIDTH SPACING TILDE;;;; FF61;HALFWIDTH IDEOGRAPHIC FULL STOP;Po;0;ON; 3002;;;;N;HALFWIDTH IDEOGRAPHIC PERIOD;;;; FF62;HALFWIDTH LEFT CORNER BRACKET;Ps;0;ON; 300C;;;;N;HALFWIDTH OPENING CORNER BRACKET;;;; FF63;HALFWIDTH RIGHT CORNER BRACKET;Pe;0;ON; 300D;;;;N;HALFWIDTH CLOSING CORNER BRACKET;;;; FF64;HALFWIDTH IDEOGRAPHIC COMMA;Po;0;ON; 3001;;;;N;;;;; FF65;HALFWIDTH KATAKANA MIDDLE DOT;Pc;0;ON; 30FB;;;;N;;;;; FF66;HALFWIDTH KATAKANA LETTER WO;Lo;0;L; 30F2;;;;N;;;;; FF67;HALFWIDTH KATAKANA LETTER SMALL A;Lo;0;L; 30A1;;;;N;;;;; FF68;HALFWIDTH KATAKANA LETTER SMALL I;Lo;0;L; 30A3;;;;N;;;;; FF69;HALFWIDTH KATAKANA LETTER SMALL U;Lo;0;L; 30A5;;;;N;;;;; FF6A;HALFWIDTH KATAKANA LETTER SMALL E;Lo;0;L; 30A7;;;;N;;;;; FF6B;HALFWIDTH KATAKANA LETTER SMALL O;Lo;0;L; 30A9;;;;N;;;;; FF6C;HALFWIDTH KATAKANA LETTER SMALL YA;Lo;0;L; 30E3;;;;N;;;;; FF6D;HALFWIDTH KATAKANA LETTER SMALL YU;Lo;0;L; 30E5;;;;N;;;;; FF6E;HALFWIDTH KATAKANA LETTER SMALL YO;Lo;0;L; 30E7;;;;N;;;;; FF6F;HALFWIDTH KATAKANA LETTER SMALL TU;Lo;0;L; 30C3;;;;N;;;;; FF70;HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK;Lm;0;L; 30FC;;;;N;;;;; FF71;HALFWIDTH KATAKANA LETTER A;Lo;0;L; 30A2;;;;N;;;;; FF72;HALFWIDTH KATAKANA LETTER I;Lo;0;L; 30A4;;;;N;;;;; FF73;HALFWIDTH KATAKANA LETTER U;Lo;0;L; 30A6;;;;N;;;;; FF74;HALFWIDTH KATAKANA LETTER E;Lo;0;L; 30A8;;;;N;;;;; FF75;HALFWIDTH KATAKANA LETTER O;Lo;0;L; 30AA;;;;N;;;;; FF76;HALFWIDTH KATAKANA LETTER KA;Lo;0;L; 30AB;;;;N;;;;; FF77;HALFWIDTH KATAKANA LETTER KI;Lo;0;L; 30AD;;;;N;;;;; FF78;HALFWIDTH KATAKANA LETTER KU;Lo;0;L; 30AF;;;;N;;;;; FF79;HALFWIDTH KATAKANA LETTER KE;Lo;0;L; 30B1;;;;N;;;;; FF7A;HALFWIDTH KATAKANA LETTER KO;Lo;0;L; 30B3;;;;N;;;;; FF7B;HALFWIDTH KATAKANA LETTER SA;Lo;0;L; 30B5;;;;N;;;;; FF7C;HALFWIDTH KATAKANA LETTER SI;Lo;0;L; 30B7;;;;N;;;;; FF7D;HALFWIDTH KATAKANA LETTER SU;Lo;0;L; 30B9;;;;N;;;;; FF7E;HALFWIDTH KATAKANA LETTER SE;Lo;0;L; 30BB;;;;N;;;;; FF7F;HALFWIDTH KATAKANA LETTER SO;Lo;0;L; 30BD;;;;N;;;;; FF80;HALFWIDTH KATAKANA LETTER TA;Lo;0;L; 30BF;;;;N;;;;; FF81;HALFWIDTH KATAKANA LETTER TI;Lo;0;L; 30C1;;;;N;;;;; FF82;HALFWIDTH KATAKANA LETTER TU;Lo;0;L; 30C4;;;;N;;;;; FF83;HALFWIDTH KATAKANA LETTER TE;Lo;0;L; 30C6;;;;N;;;;; FF84;HALFWIDTH KATAKANA LETTER TO;Lo;0;L; 30C8;;;;N;;;;; FF85;HALFWIDTH KATAKANA LETTER NA;Lo;0;L; 30CA;;;;N;;;;; FF86;HALFWIDTH KATAKANA LETTER NI;Lo;0;L; 30CB;;;;N;;;;; FF87;HALFWIDTH KATAKANA LETTER NU;Lo;0;L; 30CC;;;;N;;;;; FF88;HALFWIDTH KATAKANA LETTER NE;Lo;0;L; 30CD;;;;N;;;;; FF89;HALFWIDTH KATAKANA LETTER NO;Lo;0;L; 30CE;;;;N;;;;; FF8A;HALFWIDTH KATAKANA LETTER HA;Lo;0;L; 30CF;;;;N;;;;; FF8B;HALFWIDTH KATAKANA LETTER HI;Lo;0;L; 30D2;;;;N;;;;; FF8C;HALFWIDTH KATAKANA LETTER HU;Lo;0;L; 30D5;;;;N;;;;; FF8D;HALFWIDTH KATAKANA LETTER HE;Lo;0;L; 30D8;;;;N;;;;; FF8E;HALFWIDTH KATAKANA LETTER HO;Lo;0;L; 30DB;;;;N;;;;; FF8F;HALFWIDTH KATAKANA LETTER MA;Lo;0;L; 30DE;;;;N;;;;; FF90;HALFWIDTH KATAKANA LETTER MI;Lo;0;L; 30DF;;;;N;;;;; FF91;HALFWIDTH KATAKANA LETTER MU;Lo;0;L; 30E0;;;;N;;;;; FF92;HALFWIDTH KATAKANA LETTER ME;Lo;0;L; 30E1;;;;N;;;;; FF93;HALFWIDTH KATAKANA LETTER MO;Lo;0;L; 30E2;;;;N;;;;; FF94;HALFWIDTH KATAKANA LETTER YA;Lo;0;L; 30E4;;;;N;;;;; FF95;HALFWIDTH KATAKANA LETTER YU;Lo;0;L; 30E6;;;;N;;;;; FF96;HALFWIDTH KATAKANA LETTER YO;Lo;0;L; 30E8;;;;N;;;;; FF97;HALFWIDTH KATAKANA LETTER RA;Lo;0;L; 30E9;;;;N;;;;; FF98;HALFWIDTH KATAKANA LETTER RI;Lo;0;L; 30EA;;;;N;;;;; FF99;HALFWIDTH KATAKANA LETTER RU;Lo;0;L; 30EB;;;;N;;;;; FF9A;HALFWIDTH KATAKANA LETTER RE;Lo;0;L; 30EC;;;;N;;;;; FF9B;HALFWIDTH KATAKANA LETTER RO;Lo;0;L; 30ED;;;;N;;;;; FF9C;HALFWIDTH KATAKANA LETTER WA;Lo;0;L; 30EF;;;;N;;;;; FF9D;HALFWIDTH KATAKANA LETTER N;Lo;0;L; 30F3;;;;N;;;;; FF9E;HALFWIDTH KATAKANA VOICED SOUND MARK;Lm;0;L; 3099;;;;N;;halfwidth katakana-hiragana voiced sound mark;;; FF9F;HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK;Lm;0;L; 309A;;;;N;;halfwidth katakana-hiragana semi-voiced sound mark;;; FFA0;HALFWIDTH HANGUL FILLER;Lo;0;L; 3164;;;;N;HALFWIDTH HANGUL CAE OM;;;; FFA1;HALFWIDTH HANGUL LETTER KIYEOK;Lo;0;L; 3131;;;;N;HALFWIDTH HANGUL LETTER GIYEOG;;;; FFA2;HALFWIDTH HANGUL LETTER SSANGKIYEOK;Lo;0;L; 3132;;;;N;HALFWIDTH HANGUL LETTER SSANG GIYEOG;;;; FFA3;HALFWIDTH HANGUL LETTER KIYEOK-SIOS;Lo;0;L; 3133;;;;N;HALFWIDTH HANGUL LETTER GIYEOG SIOS;;;; FFA4;HALFWIDTH HANGUL LETTER NIEUN;Lo;0;L; 3134;;;;N;;;;; FFA5;HALFWIDTH HANGUL LETTER NIEUN-CIEUC;Lo;0;L; 3135;;;;N;HALFWIDTH HANGUL LETTER NIEUN JIEUJ;;;; FFA6;HALFWIDTH HANGUL LETTER NIEUN-HIEUH;Lo;0;L; 3136;;;;N;HALFWIDTH HANGUL LETTER NIEUN HIEUH;;;; FFA7;HALFWIDTH HANGUL LETTER TIKEUT;Lo;0;L; 3137;;;;N;HALFWIDTH HANGUL LETTER DIGEUD;;;; FFA8;HALFWIDTH HANGUL LETTER SSANGTIKEUT;Lo;0;L; 3138;;;;N;HALFWIDTH HANGUL LETTER SSANG DIGEUD;;;; FFA9;HALFWIDTH HANGUL LETTER RIEUL;Lo;0;L; 3139;;;;N;HALFWIDTH HANGUL LETTER LIEUL;;;; FFAA;HALFWIDTH HANGUL LETTER RIEUL-KIYEOK;Lo;0;L; 313A;;;;N;HALFWIDTH HANGUL LETTER LIEUL GIYEOG;;;; FFAB;HALFWIDTH HANGUL LETTER RIEUL-MIEUM;Lo;0;L; 313B;;;;N;HALFWIDTH HANGUL LETTER LIEUL MIEUM;;;; FFAC;HALFWIDTH HANGUL LETTER RIEUL-PIEUP;Lo;0;L; 313C;;;;N;HALFWIDTH HANGUL LETTER LIEUL BIEUB;;;; FFAD;HALFWIDTH HANGUL LETTER RIEUL-SIOS;Lo;0;L; 313D;;;;N;HALFWIDTH HANGUL LETTER LIEUL SIOS;;;; FFAE;HALFWIDTH HANGUL LETTER RIEUL-THIEUTH;Lo;0;L; 313E;;;;N;HALFWIDTH HANGUL LETTER LIEUL TIEUT;;;; FFAF;HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH;Lo;0;L; 313F;;;;N;HALFWIDTH HANGUL LETTER LIEUL PIEUP;;;; FFB0;HALFWIDTH HANGUL LETTER RIEUL-HIEUH;Lo;0;L; 3140;;;;N;HALFWIDTH HANGUL LETTER LIEUL HIEUH;;;; FFB1;HALFWIDTH HANGUL LETTER MIEUM;Lo;0;L; 3141;;;;N;;;;; FFB2;HALFWIDTH HANGUL LETTER PIEUP;Lo;0;L; 3142;;;;N;HALFWIDTH HANGUL LETTER BIEUB;;;; FFB3;HALFWIDTH HANGUL LETTER SSANGPIEUP;Lo;0;L; 3143;;;;N;HALFWIDTH HANGUL LETTER SSANG BIEUB;;;; FFB4;HALFWIDTH HANGUL LETTER PIEUP-SIOS;Lo;0;L; 3144;;;;N;HALFWIDTH HANGUL LETTER BIEUB SIOS;;;; FFB5;HALFWIDTH HANGUL LETTER SIOS;Lo;0;L; 3145;;;;N;;;;; FFB6;HALFWIDTH HANGUL LETTER SSANGSIOS;Lo;0;L; 3146;;;;N;HALFWIDTH HANGUL LETTER SSANG SIOS;;;; FFB7;HALFWIDTH HANGUL LETTER IEUNG;Lo;0;L; 3147;;;;N;;;;; FFB8;HALFWIDTH HANGUL LETTER CIEUC;Lo;0;L; 3148;;;;N;HALFWIDTH HANGUL LETTER JIEUJ;;;; FFB9;HALFWIDTH HANGUL LETTER SSANGCIEUC;Lo;0;L; 3149;;;;N;HALFWIDTH HANGUL LETTER SSANG JIEUJ;;;; FFBA;HALFWIDTH HANGUL LETTER CHIEUCH;Lo;0;L; 314A;;;;N;HALFWIDTH HANGUL LETTER CIEUC;;;; FFBB;HALFWIDTH HANGUL LETTER KHIEUKH;Lo;0;L; 314B;;;;N;HALFWIDTH HANGUL LETTER KIYEOK;;;; FFBC;HALFWIDTH HANGUL LETTER THIEUTH;Lo;0;L; 314C;;;;N;HALFWIDTH HANGUL LETTER TIEUT;;;; FFBD;HALFWIDTH HANGUL LETTER PHIEUPH;Lo;0;L; 314D;;;;N;HALFWIDTH HANGUL LETTER PIEUP;;;; FFBE;HALFWIDTH HANGUL LETTER HIEUH;Lo;0;L; 314E;;;;N;;;;; FFC2;HALFWIDTH HANGUL LETTER A;Lo;0;L; 314F;;;;N;;;;; FFC3;HALFWIDTH HANGUL LETTER AE;Lo;0;L; 3150;;;;N;;;;; FFC4;HALFWIDTH HANGUL LETTER YA;Lo;0;L; 3151;;;;N;;;;; FFC5;HALFWIDTH HANGUL LETTER YAE;Lo;0;L; 3152;;;;N;;;;; FFC6;HALFWIDTH HANGUL LETTER EO;Lo;0;L; 3153;;;;N;;;;; FFC7;HALFWIDTH HANGUL LETTER E;Lo;0;L; 3154;;;;N;;;;; FFCA;HALFWIDTH HANGUL LETTER YEO;Lo;0;L; 3155;;;;N;;;;; FFCB;HALFWIDTH HANGUL LETTER YE;Lo;0;L; 3156;;;;N;;;;; FFCC;HALFWIDTH HANGUL LETTER O;Lo;0;L; 3157;;;;N;;;;; FFCD;HALFWIDTH HANGUL LETTER WA;Lo;0;L; 3158;;;;N;;;;; FFCE;HALFWIDTH HANGUL LETTER WAE;Lo;0;L; 3159;;;;N;;;;; FFCF;HALFWIDTH HANGUL LETTER OE;Lo;0;L; 315A;;;;N;;;;; FFD2;HALFWIDTH HANGUL LETTER YO;Lo;0;L; 315B;;;;N;;;;; FFD3;HALFWIDTH HANGUL LETTER U;Lo;0;L; 315C;;;;N;;;;; FFD4;HALFWIDTH HANGUL LETTER WEO;Lo;0;L; 315D;;;;N;;;;; FFD5;HALFWIDTH HANGUL LETTER WE;Lo;0;L; 315E;;;;N;;;;; FFD6;HALFWIDTH HANGUL LETTER WI;Lo;0;L; 315F;;;;N;;;;; FFD7;HALFWIDTH HANGUL LETTER YU;Lo;0;L; 3160;;;;N;;;;; FFDA;HALFWIDTH HANGUL LETTER EU;Lo;0;L; 3161;;;;N;;;;; FFDB;HALFWIDTH HANGUL LETTER YI;Lo;0;L; 3162;;;;N;;;;; FFDC;HALFWIDTH HANGUL LETTER I;Lo;0;L; 3163;;;;N;;;;; FFE0;FULLWIDTH CENT SIGN;Sc;0;ET; 00A2;;;;N;;;;; FFE1;FULLWIDTH POUND SIGN;Sc;0;ET; 00A3;;;;N;;;;; FFE2;FULLWIDTH NOT SIGN;Sm;0;ON; 00AC;;;;N;;;;; FFE3;FULLWIDTH MACRON;Sk;0;ON; 00AF;;;;N;FULLWIDTH SPACING MACRON;*;;; FFE4;FULLWIDTH BROKEN BAR;So;0;ON; 00A6;;;;N;FULLWIDTH BROKEN VERTICAL BAR;;;; FFE5;FULLWIDTH YEN SIGN;Sc;0;ET; 00A5;;;;N;;;;; FFE6;FULLWIDTH WON SIGN;Sc;0;ET; 20A9;;;;N;;;;; FFE8;HALFWIDTH FORMS LIGHT VERTICAL;So;0;ON; 2502;;;;N;;;;; FFE9;HALFWIDTH LEFTWARDS ARROW;Sm;0;ON; 2190;;;;N;;;;; FFEA;HALFWIDTH UPWARDS ARROW;Sm;0;ON; 2191;;;;N;;;;; FFEB;HALFWIDTH RIGHTWARDS ARROW;Sm;0;ON; 2192;;;;N;;;;; FFEC;HALFWIDTH DOWNWARDS ARROW;Sm;0;ON; 2193;;;;N;;;;; FFED;HALFWIDTH BLACK SQUARE;So;0;ON; 25A0;;;;N;;;;; FFEE;HALFWIDTH WHITE CIRCLE;So;0;ON; 25CB;;;;N;;;;; FFF9;INTERLINEAR ANNOTATION ANCHOR;Cf;0;BN;;;;;N;;;;; FFFA;INTERLINEAR ANNOTATION SEPARATOR;Cf;0;BN;;;;;N;;;;; FFFB;INTERLINEAR ANNOTATION TERMINATOR;Cf;0;BN;;;;;N;;;;; FFFC;OBJECT REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; mauve-20140821/gnu/testlet/java/lang/Character/unicode.java0000644000175000001440000000345410647457624022276 0ustar dokousers// Tags: JDK1.4 // Uses: UnicodeBase CharInfo /* Copyright (C) 1999 Artur Biesiadowski Copyright (C) 2004 Stephen Crawley This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Character; import java.io.*; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.ResourceNotFoundException; /* MISSING: Instance tests (constructor, charValue, serialization): should be in other file */ public class unicode extends UnicodeBase implements Testlet { public unicode() { super(); } public unicode(TestHarness aHarness, String filename) throws IOException, ResourceNotFoundException { super(aHarness, filename); } public void test(TestHarness harness) { String fileName = "UnicodeData-4.0.0.txt"; long start = System.currentTimeMillis(); try { unicode t = new unicode(harness, fileName); long midtime = System.currentTimeMillis(); t.performTests(); harness.debug("Benchmark : load:" + (midtime-start) + "ms tests:" + (System.currentTimeMillis() - midtime) + "ms"); } catch (Exception e) { harness.debug(e); harness.check(false); } } } mauve-20140821/gnu/testlet/java/lang/Character/CharInfo.java0000644000175000001440000000231710647457652022337 0ustar dokousers// Tags: not-a-test /* Copyright (C) 1999 Artur Biesiadowski This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Originally, this was implemented as an inner-class. However, we // have resolved, to the extent that is possible, to restrict // ourselves to JLS 1.0 features. package gnu.testlet.java.lang.Character; public class CharInfo { public String name; public String category; public int decimalDigit; public int digit; public int numericValue; public int uppercase; public int lowercase; public int titlecase; public int code; } mauve-20140821/gnu/testlet/java/lang/Character/classInfo/0000755000175000001440000000000012375316426021712 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Character/classInfo/getPackage.java0000644000175000001440000000305211752752574024616 0ustar dokousers// Test for method java.lang.Character.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Character.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Character; /** * Test for method java.lang.Character.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Character('!'); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/Character/classInfo/getInterfaces.java0000644000175000001440000000334511752752574025353 0ustar dokousers// Test for method java.lang.Character.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Character.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.Serializable; import java.lang.Character; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.Character.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Character('!'); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); harness.check(interfaces.contains(Serializable.class)); harness.check(interfaces.contains(Comparable.class)); } } mauve-20140821/gnu/testlet/java/lang/Character/classInfo/getModifiers.java0000644000175000001440000000430311752752574025204 0ustar dokousers// Test for method java.lang.Character.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Character.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Character; import java.lang.reflect.Modifier; /** * Test for method java.lang.Character.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Character('!'); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check( Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/Character/classInfo/isPrimitive.java0000644000175000001440000000300711752752574025067 0ustar dokousers// Test for method java.lang.Character.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Character.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Character; /** * Test for method java.lang.Character.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Character('!'); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/Character/classInfo/getSimpleName.java0000644000175000001440000000302511752752574025315 0ustar dokousers// Test for method java.lang.Character.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Character.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Character; /** * Test for method java.lang.Character.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Character('!'); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "Character"); } } mauve-20140821/gnu/testlet/java/lang/Character/classInfo/isSynthetic.java0000644000175000001440000000300711752752574025071 0ustar dokousers// Test for method java.lang.Character.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Character.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Character; /** * Test for method java.lang.Character.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Character('!'); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/Character/classInfo/isInstance.java0000644000175000001440000000302411752752574024662 0ustar dokousers// Test for method java.lang.Character.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Character.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Character; /** * Test for method java.lang.Character.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Character('!'); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new Character('!'))); } } mauve-20140821/gnu/testlet/java/lang/Character/classInfo/isMemberClass.java0000644000175000001440000000301711752752574025315 0ustar dokousers// Test for method java.lang.Character.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Character.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Character; /** * Test for method java.lang.Character.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Character('!'); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/Character/classInfo/getSuperclass.java0000644000175000001440000000311511752752574025407 0ustar dokousers// Test for method java.lang.Character.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Character.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Character; /** * Test for method java.lang.Character.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Character('!'); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.Object"); } } mauve-20140821/gnu/testlet/java/lang/Character/classInfo/InstanceOf.java0000644000175000001440000000317311752752574024620 0ustar dokousers// Test for instanceof operator applied to a class java.lang.Character // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Character.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Character; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.Character */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Character Character o = new Character('!'); // basic check of instanceof operator harness.check(o instanceof Character); // check operator instanceof against all superclasses harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/Character/classInfo/isInterface.java0000644000175000001440000000300711752752574025017 0ustar dokousers// Test for method java.lang.Character.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Character.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Character; /** * Test for method java.lang.Character.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Character('!'); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/Character/classInfo/isAssignableFrom.java0000644000175000001440000000305011752752574026011 0ustar dokousers// Test for method java.lang.Character.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Character.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Character; /** * Test for method java.lang.Character.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Character('!'); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(Character.class)); } } mauve-20140821/gnu/testlet/java/lang/Character/classInfo/isLocalClass.java0000644000175000001440000000301311752752574025134 0ustar dokousers// Test for method java.lang.Character.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Character.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Character; /** * Test for method java.lang.Character.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Character('!'); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/Character/classInfo/getName.java0000644000175000001440000000300711752752574024143 0ustar dokousers// Test for method java.lang.Character.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Character.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Character; /** * Test for method java.lang.Character.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Character('!'); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.lang.Character"); } } mauve-20140821/gnu/testlet/java/lang/Character/hash.java0000644000175000001440000000220306634200717021550 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Character; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class hash implements Testlet { public void test (TestHarness harness) { Character a = new Character ('\uffda'); Character b = new Character ('Z'); harness.check (a.hashCode(), 65498); harness.check (b.hashCode(), 90); } } mauve-20140821/gnu/testlet/java/lang/Character/getNumericValue.java0000644000175000001440000000272206634200714023727 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Character; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class getNumericValue implements Testlet { public void test (TestHarness harness) { harness.check (Character.getNumericValue('0'), 0); harness.check (Character.getNumericValue('\u0be8'), 2); harness.check (Character.getNumericValue('\u246d'), 14); harness.check (Character.getNumericValue('\u2182'), 10000); harness.check (Character.getNumericValue('\u00bd'), -2); harness.check (Character.getNumericValue('A'), 10); harness.check (Character.getNumericValue('\u2155'), -2); harness.check (Character.getNumericValue('\u221e'), -1); } } mauve-20140821/gnu/testlet/java/lang/Character/consts.java0000644000175000001440000000461206634200710022135 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Character; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class consts implements Testlet { public void test (TestHarness harness) { harness.check (Character.SPACE_SEPARATOR, 12); harness.check (Character.LINE_SEPARATOR, 13); harness.check (Character.PARAGRAPH_SEPARATOR, 14); harness.check (Character.UPPERCASE_LETTER, 1); harness.check (Character.LOWERCASE_LETTER, 2); harness.check (Character.TITLECASE_LETTER, 3); harness.check (Character.MODIFIER_LETTER, 4); harness.check (Character.OTHER_LETTER, 5); harness.check (Character.DECIMAL_DIGIT_NUMBER, 9); harness.check (Character.LETTER_NUMBER, 10); harness.check (Character.OTHER_NUMBER, 11); harness.check (Character.NON_SPACING_MARK, 6); harness.check (Character.ENCLOSING_MARK, 7); harness.check (Character.COMBINING_SPACING_MARK, 8); harness.check (Character.DASH_PUNCTUATION, 20); harness.check (Character.START_PUNCTUATION, 21); harness.check (Character.END_PUNCTUATION, 22); harness.check (Character.CONNECTOR_PUNCTUATION, 23); harness.check (Character.OTHER_PUNCTUATION, 24); harness.check (Character.MATH_SYMBOL, 25); harness.check (Character.CURRENCY_SYMBOL, 26); harness.check (Character.MODIFIER_SYMBOL, 27); harness.check (Character.OTHER_SYMBOL, 28); harness.check (Character.CONTROL, 15); harness.check (Character.FORMAT, 16); harness.check (Character.UNASSIGNED, 0); harness.check (Character.PRIVATE_USE, 18); harness.check (Character.SURROGATE, 19); } } mauve-20140821/gnu/testlet/java/lang/Character/CharacterTest.java0000644000175000001440000001174710367245762023405 0ustar dokousers/* Copyright (C) 1999 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.0 package gnu.testlet.java.lang.Character; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class CharacterTest implements Testlet { protected static TestHarness harness; public void test_Basics() { harness.check(!(Character.forDigit(8, 2) != '\0'), "test_forDigit - 50"); harness.check(!(Character.forDigit(-3, 2) != '\0'), "test_forDigit - 51"); harness.check(!(Character.forDigit(2, 8) != '2'), "test_forDigit - 52"); harness.check(!(Character.forDigit(12, 16) != 'c'), "test_forDigit - 53"); harness.check(!(Character.isJavaLetter('\uFFFF')), "test_forDigit - 54"); harness.check(!(!Character.isJavaLetter('a')), "test_forDigit - 55"); harness.check(!( Character.MIN_VALUE != '\u0000' ), "test_Basics - 1" ); harness.check(!( Character.MAX_VALUE != '\uffff' ), "test_Basics - 2" ); harness.check(!( Character.MIN_RADIX != 2 ), "test_Basics - 3" ); harness.check(!( Character.MAX_RADIX != 36 ), "test_Basics - 4" ); Character ch = new Character('b'); harness.check(!( ch.charValue() != 'b' ), "test_Basics - 5" ); } public void test_toString() { Character ch = new Character('a'); String str = ch.toString(); harness.check(!( str.length() != 1 || !str.equals("a")), "test_toString " ); } public void test_equals() { Character ch1 = new Character('+'); Character ch2 = new Character('+'); Character ch3 = new Character('-'); harness.check(!( !ch1.equals(ch2) || ch1.equals(ch3) || ch1.equals(null)), "test_equals - 1" ); } public void test_hashCode( ) { Character ch1 = new Character('a'); harness.check(!( ch1.hashCode() != (int) 'a' ), "test_hashCode" ); } public void test_isSpace( ) { harness.check(!(!Character.isSpace('\t') || !Character.isSpace('\f') || !Character.isSpace('\r') || !Character.isSpace('\n') || !Character.isSpace(' ') || Character.isSpace('+') ), "test_isSpace" ); } public void test_digit( ) { // radix wrong harness.check(!( Character.digit( 'a' , Character.MIN_RADIX - 1 ) != -1 ), "test_digit - 1" ); harness.check(!( Character.digit( 'a' , Character.MAX_RADIX + 1 ) != -1 ), "test_digit - 2" ); } public void test_others() { //calling them just for completion // not supported Character.getNumericValue( 'a' ); // not supported Character.getType( 'a' ); Character.isDefined( 'a' ); Character.isDefined( '\uffff' ); Character.digit('\u0665', 10); Character.digit('\u06F5', 10); Character.digit('\u0968', 10); Character.digit('\u06E8', 10); Character.digit('\u0A68', 10); Character.digit('\u0AE8', 10); Character.digit('\u0B68', 10); Character.digit('\u0BE8', 10); Character.digit('\u0C68', 10); Character.digit('\u0CE8', 10); Character.digit('\u0D68', 10); Character.digit('\u0E52', 10); Character.digit('\u0ED2', 10); Character.digit('\uFF12', 10); Character.digit('\uFFFF', 10); // not supported Character.isISOControl( 'a' ); // not supported Character.isIdentifierIgnorable( 'a' ); // not supported Character.isJavaIdentifierPart( 'a' ); // not supported Character.isJavaIdentifierStart( 'a' ); // not supported Character.isJavaLetter( 'a' ); Character.isJavaLetterOrDigit( 'a' ); harness.check(!(Character.isJavaLetterOrDigit('\uFFFF')), "isJavaLetterOrDigit - 60"); harness.check(!(Character.isLetterOrDigit('\uFFFF')), "isLetterOrDigit - 61"); // not supported Character.isLetter( 'a' ); Character.isLetterOrDigit( 'a' ); Character.isLowerCase( 'A' ); Character.isLowerCase( 'a' ); Character.isSpace( 'a' ); // not supported Character.isSpaceChar( 'a' ); // not supported Character.isTitleCase( 'a' ); // not supported Character.isUnicodeIdentifierPart( 'a' ); // not supported Character.isUnicodeIdentifierStart( 'a' ); Character.isUpperCase( 'a' ); Character.isUpperCase( 'A' ); // not supported Character.isWhitespace( 'a' ); // not supported Character.toTitleCase( 'a' ); } public void testall() { test_Basics(); test_toString(); test_equals(); test_hashCode(); test_isSpace(); test_digit(); test_others(); } public void test (TestHarness the_harness) { harness = the_harness; testall (); } } mauve-20140821/gnu/testlet/java/lang/Character/UnicodeBase.java0000644000175000001440000004053710647460023023017 0ustar dokousers//Uses: CharInfo /* Copyright (C) 1999 Artur Biesiadowski Copyright (C) 2004 Stephen Crawley Copyright (C) 2007 Joshua Sumali This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Character; import java.io.*; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.ResourceNotFoundException; public abstract class UnicodeBase implements Testlet { public static boolean testDeprecated; public static boolean verbose; public static boolean benchmark; public int failures; public int tests; TestHarness harness; private Reader bir; private StringBuffer sb; public UnicodeBase() { } public UnicodeBase(TestHarness aHarness, String filename) throws ResourceNotFoundException, FileNotFoundException { harness = aHarness; bir = harness.getResourceReader("gnu#testlet#java#lang#Character#" + filename); } private String getNext(Reader r) throws IOException { sb = new StringBuffer(); while (r.ready()) { char ch = (char) r.read(); if (ch == '\r') { continue; } else if (ch == ';' || ch == '\n') { return sb.toString(); } else sb.append(ch); } return sb.toString(); } public void performTests() throws IOException{ //actual test loop CharInfo ci = new CharInfo(); while (bir.ready()) { String str; ci = new CharInfo(); // 0 - Code value str = getNext(bir); int code = Integer.parseInt(str, 16); ci.code = code; // 1 - Character name ci.name = getNext(bir); // 2 - General category ci.category = getNext(bir); // 3 - Canonical combining classes getNext(bir); // 4 - Bidirectional category getNext(bir); // 5 - Character decomposition mapping getNext(bir); // 6 - Decimal digit value str = getNext(bir); if (!str.equals("")) ci.decimalDigit = Integer.parseInt(str, 10); else ci.decimalDigit = -1; // 7 - Digit value str = getNext(bir); if (!str.equals("")) ci.digit = Integer.parseInt(str, 10); else ci.digit = -1; // 8 - Numeric value str = getNext(bir); if (str.equals("")) { ci.numericValue = -1; } else { try { ci.numericValue = Integer.parseInt(str, 10); if (ci.numericValue < 0) ci.numericValue = -2; } catch (NumberFormatException e) { ci.numericValue = -2; } } // 9 - Mirrored getNext(bir); // 10 - Unicode 1.0 name getNext(bir); // 11 - ISO 10646 comment field getNext(bir); // 12 - Upper case mapping str = getNext(bir); if (!str.equals("")) ci.uppercase = Integer.parseInt(str, 16); else ci.uppercase = ci.code; // 13 - Lower case mapping str = getNext(bir); if (!str.equals("")) ci.lowercase = Integer.parseInt(str, 16); else ci.lowercase = ci.code; // 14 - Title case mapping str = getNext(bir); if (!str.equals("")) ci.titlecase = Integer.parseInt(str, 16); else ci.titlecase = ci.code; // Character.digit() only treats "Nd" as decimal digits, not "No" // or "Nl". Tweak the character defns accordingly. if (ci.digit != -1 && !("Nd".equals(ci.category))) ci.digit = -1; //test the char testChar(ci); } // Fill in the character ranges that are reserved in Unicode 3.0 CharInfo ch = new CharInfo(); ch.name = "CJK Ideograph"; ch.category = "Lo"; ch.decimalDigit = -1; ch.digit = -1; ch.numericValue = -1; for (int i = 0x4E01; i <= 0x9FA4; i++) { ch.code = i; testChar(ch); } ch = new CharInfo(); ch.name = "CJK Ideograph Extension A"; ch.category = "Lo"; ch.decimalDigit = -1; ch.digit = -1; ch.numericValue = -1; for (int i = 0x3400; i <= 0x4DB5; i++) { ch.code = i; testChar(ch); } ch = new CharInfo(); ch.name = "Hangul Syllable"; ch.category = "Lo"; ch.decimalDigit = -1; ch.digit = -1; ch.numericValue = -1; for (int i = 0xAC01; i <= 0xD7A2; i++) { ch.code = i; testChar(ch); } ch = new CharInfo(); ch.name = "CJK Compatibility Ideograph"; ch.category = "Lo"; ch.decimalDigit = -1; ch.digit = -1; ch.numericValue = -1; for (int i = 0xF901; i <= 0xFA2C; i++) { ch.code = i; testChar(ch); } ch = new CharInfo(); ch.name = "Surrogate"; ch.category= "Cs"; ch.decimalDigit = -1; ch.digit = -1; ch.numericValue = -1; for (int i = 0xD800; i <= 0xDFFFl; i++) { ch.code = i; testChar(ch); } ch = new CharInfo(); ch.name = "Private Use"; ch.category = "Co"; ch.decimalDigit = -1; ch.digit = -1; ch.numericValue = -1; for (int i = 0xE000; i <= 0xF8FF; i++) { ch.code = i; testChar(ch); } } private void testChar(CharInfo c){ //All the checkPassed() calls are commented out since if they're //included, this creates too many getStackTrace() calls in //RunnerProcess.java, resulting in the heap running out of memory. // isLowerCase //char i = (char) x; if ("Ll".equals(c.category) != Character.isLowerCase( c.code)) { reportError(c, (Character.isLowerCase(c.code) ? "lowercase" : "not-lowercase")); } //else checkPassed(); // isUpperCase if ("Lu".equals(c.category) != Character.isUpperCase(c.code)) { reportError(c, (Character.isUpperCase((char) c.code) ? "uppercase" : "not-uppercase")); } //else checkPassed(); // isTitleCase if ( "Lt".equals(c.category) != Character.isTitleCase(c.code)) { reportError(c, (Character.isTitleCase((char) c.code) ? "titlecase" : "not-titlecase")); } //else checkPassed(); // isDigit if ("Nd".equals(c.category) != Character.isDigit(c.code)) { reportError(c, (Character.isDigit((char) c.code) ? "digit" : "not-digit")); } //else checkPassed(); // isDefined if (!c.category.equals("Cn") != Character.isDefined(c.code)) { reportError(c, (Character.isDefined((char) c.code) ? "defined" : "not-defined")); } //else checkPassed(); // isLetter if ((c.category.charAt(0) == 'L') != Character.isLetter(c.code)) { reportError(c, (Character.isLetter((char) c.code) ? "letter" : "not-letter")); } //else checkPassed(); // isLetterOrDigit if (Character.isLetterOrDigit(c.code) != (Character.isLetter(c.code) || Character.isDigit(c.code))) { reportError(c, (Character.isLetterOrDigit(c.code) ? "letterordigit" : "not-letterordigit")); } //else checkPassed(); // isSpaceChar if ((c.category.charAt(0) == 'Z') != Character.isSpaceChar(c.code)) { reportError(c, (Character.isSpaceChar(c.code) ? "spacechar" : "not-spacechar")); } //else checkPassed(); // isWhiteSpace if (whitespace(c) != Character.isWhitespace(c.code)) { reportError(c, Character.isWhitespace(c.code) ? "whitespace" : "not-whitespace"); } //else checkPassed(); // isISOControl if (((c.code <= 0x001F) || range(c.code, 0x007F, 0x009F)) != Character.isISOControl(c.code)) { reportError(c, Character.isISOControl(c.code) ? "isocontrol" : "not-isocontrol"); } //else checkPassed(); int type = Character.getType(c.code); String typeStr = null; switch (type) { case Character.UNASSIGNED: typeStr = "Cn"; break; case Character.UPPERCASE_LETTER: typeStr = "Lu"; break; case Character.LOWERCASE_LETTER: typeStr = "Ll"; break; case Character.TITLECASE_LETTER: typeStr = "Lt"; break; case Character.MODIFIER_LETTER: typeStr = "Lm"; break; case Character.OTHER_LETTER: typeStr = "Lo"; break; case Character.NON_SPACING_MARK: typeStr = "Mn"; break; case Character.ENCLOSING_MARK: typeStr = "Me"; break; case Character.COMBINING_SPACING_MARK: typeStr = "Mc"; break; case Character.DECIMAL_DIGIT_NUMBER: typeStr = "Nd"; break; case Character.LETTER_NUMBER: typeStr = "Nl"; break; case Character.OTHER_NUMBER: typeStr = "No"; break; case Character.SPACE_SEPARATOR: typeStr = "Zs"; break; case Character.LINE_SEPARATOR: typeStr = "Zl"; break; case Character.PARAGRAPH_SEPARATOR: typeStr = "Zp"; break; case Character.CONTROL: typeStr = "Cc"; break; case Character.FORMAT: typeStr = "Cf"; break; case Character.PRIVATE_USE: typeStr = "Co"; break; case Character.SURROGATE: typeStr = "Cs"; break; case Character.DASH_PUNCTUATION: typeStr = "Pd"; break; case Character.START_PUNCTUATION: typeStr = "Ps"; break; case Character.END_PUNCTUATION: typeStr = "Pe"; break; case Character.CONNECTOR_PUNCTUATION: typeStr = "Pc"; break; case Character.FINAL_QUOTE_PUNCTUATION: typeStr = "Pf"; break; case Character.INITIAL_QUOTE_PUNCTUATION: typeStr = "Pi"; break; case Character.OTHER_PUNCTUATION: typeStr = "Po"; break; case Character.MATH_SYMBOL: typeStr = "Sm"; break; case Character.CURRENCY_SYMBOL: typeStr = "Sc"; break; case Character.MODIFIER_SYMBOL: typeStr = "Sk"; break; case Character.OTHER_SYMBOL: typeStr = "So"; break; default: typeStr = "ERROR (" + type + ")"; break; } if (!(c.category.equals(typeStr) || (typeStr.equals("Ps") && c.category.equals("Pi")) || (typeStr.equals("Pe") && c.category.equals("Pf")))) { reportError(stringChar(c) + " is reported to be type " + typeStr + " instead of " + c.category); } //else checkPassed(); // isJavaIdentifierStart if (identifierStart(c) != Character.isJavaIdentifierStart(c.code)) { reportError(c, Character.isJavaIdentifierStart(c.code) ? "javaindentifierstart" : "not-javaidentifierstart"); } //else checkPassed(); // isJavaIdentifierPart typeStr = c.category; if ((typeStr.charAt(0) == 'L' || typeStr.equals("Sc") || typeStr.equals("Pc") || typeStr.equals("Nd") || typeStr.equals("Nl") || typeStr.equals("Mc") || typeStr.equals("Mn") || typeStr.equals("Cf") || (typeStr.equals("Cc") && ignorable(c))) != Character.isJavaIdentifierPart(c.code)) { reportError(c, Character.isJavaIdentifierPart(c.code) ? "javaidentifierpart" : "not-javaidentifierpart"); } //else checkPassed(); //isUnicodeIdentifierStart if (unicodeIdentifierStart(c) != Character.isUnicodeIdentifierStart(c.code)) { reportError(c, Character.isUnicodeIdentifierStart(c.code) ? "unicodeidentifierstart" : "not-unicodeidentifierstart"); } //else checkPassed(); //isUnicodeIdentifierPart; typeStr = c.category; if ((typeStr.charAt(0) == 'L' || typeStr.equals("Pc") || typeStr.equals("Nd") || typeStr.equals("Nl") || typeStr.equals("Mc") || typeStr.equals("Mn") || typeStr.equals("Cf") || (typeStr.equals("Cc") && ignorable(c))) != Character.isUnicodeIdentifierPart(c.code)) { reportError(c, Character.isUnicodeIdentifierPart(c.code) ? "unicodeidentifierpart" : "not-unicodeidentifierpart"); } //else checkPassed(); //isIdentifierIgnorable if (ignorable(c) != Character.isIdentifierIgnorable(c.code)) { reportError(c, Character.isIdentifierIgnorable(c.code) ? "identifierignorable": "not-identifierignorable"); } //else checkPassed(); // toLowerCase int lowerCase = (c.lowercase != 0 ? c.lowercase : c.code); if (Character.toLowerCase(c.code) != lowerCase) { reportError(stringChar(c) + " has wrong lowercase form of " + c.lowercase +" instead of " + stringChar(c)); } //else checkPassed(); // toUpperCase int upperCase = (c.uppercase != 0 ? c.uppercase : c.code); if (Character.toUpperCase(c.code) != upperCase) { reportError(stringChar(c) + " has wrong uppercase form of " + c.uppercase + " instead of " + stringChar(c)); } //else checkPassed(); // toTitleCase int titleCase = (c.titlecase != 0 ? c.titlecase : (c.uppercase != 0 ? c.uppercase : c.code)); if ("Lt".equals(c.category)) { titleCase = c.code; } if (Character.toTitleCase(c.code) != titleCase) { reportError(stringChar(c) + " has wrong titlecase form of " + c.titlecase + " instead of " + stringChar(c)); } //else checkPassed(); // digit boolean radixPassed = true; for (int radix = Character.MIN_RADIX; radix <= Character.MAX_RADIX; radix++) { //special cases for A-Za-z and their fullwidth counterparts if (range(c.code,'A','Z')){ c.digit = c.code - 'A' + 10; } else if (range(c.code,'a','z')){ c.digit = c.code - 'a' + 10; } else if (range(c.code,0xff21,0xff3a)){ c.digit = c.code - 0xff21 + 10; } else if (range(c.code,0xff41,0xff5a)){ c.digit = c.code - 0xff41 + 10; } int digit = c.digit; if (digit >= radix) digit = -1; if (Character.digit( c.code, radix) != digit) { reportError(stringChar(c) + " has wrong digit form of " + Character.digit(c.code, radix) + " for radix " + radix + " instead of " + digit + "(" + c.digit + ")"); radixPassed = false; } //else checkPassed(); } if (radixPassed) checkPassed(); // getNumericValue if (range(c.code,'A','Z') || range(c.code,'a','z') || range(c.code,0xff21,0xff3a) || range(c.code,0xff41,0xff5a)){ if(c.numericValue != -1){ reportError(stringChar(c) + " has wrong numeric value of " + Character.getNumericValue(c.code) + " instead of -1"); } } else { if (c.numericValue != Character.getNumericValue(c.code)) { reportError(stringChar(c) + " has wrong numeric value of " + Character.getNumericValue(c.code) + " instead of " + c.numericValue); } } if (testDeprecated) { // isJavaLetter if (((char) c.code == '$' || (char) c.code == '_' || Character.isLetter(c.code)) != Character.isJavaLetter((char) c.code)) { reportError(c, (Character.isJavaLetter((char) c.code)? "javaletter" : "not-javaletter")); } //else checkPassed(); // isJavaLetterOrDigit if ((Character.isJavaLetter((char) c.code) || Character.isDigit(c.code) || (char) c.code == '$' || (char) c.code == '_') != Character.isJavaLetterOrDigit((char) c.code) ) { reportError(c, (Character.isJavaLetterOrDigit((char) c.code) ? "javaletterordigit" : "not-javaletterordigit")); } //else checkPassed(); // isSpace if ((((char) c.code == ' ' || (char) c.code == '\t' || (char) c.code == '\n' || (char) c.code == '\r' || (char) c.code == '\f')) != Character.isSpace((char) c.code)) { reportError(c, (Character.isSpace((char) c.code) ? "space" : "non-space")); } //else checkPassed(); } // testDeprecated } protected void reportError(CharInfo c, String what) { harness.check(false, stringChar(c) +" incorrectly reported as " + what); } protected void reportError( String what) { harness.check(false, what); } protected void checkPassed() { harness.check(true); } public boolean range(int mid, int low, int high) { return (mid >= low && mid <= high); } public boolean whitespace(CharInfo c) { return ((c.category.charAt(0) == 'Z' && c.code != 0x00a0 && c.code != 0x2007 && c.code != 0x202f) || range(c.code, 0x0009, 0x000D) || range(c.code, 0x001C, 0x001F)); } //public String stringChar(int ch) public String stringChar(CharInfo c) { //return "Character " + Integer.toString(c.code,16) + ":" return "Character " + c.code + ":" + (char) c.code + ":" + c.name; } public boolean identifierStart(CharInfo c) { return ("Ll".equals(c.category) || "Lu".equals(c.category) || "Lt".equals(c.category) || "Lm".equals(c.category) || "Lo".equals(c.category) || "Nl".equals(c.category) || "Sc".equals(c.category) || "Pc".equals(c.category)); } public boolean unicodeIdentifierStart(CharInfo c) { return ("Ll".equals(c.category) || "Lu".equals(c.category) || "Lt".equals(c.category) || "Lm".equals(c.category) || "Lo".equals(c.category) || "Nl".equals(c.category)); } public boolean ignorable(CharInfo c) { return (range(c.code, 0x0000, 0x0008) || range(c.code, 0x000E, 0x001B) || range(c.code, 0x007f, 0x009f) || "Cf".equals(c.category)); } } mauve-20140821/gnu/testlet/java/lang/Character/getType.java0000644000175000001440000001317111746257031022255 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998, 1999 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Character; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class getType implements Testlet { public static void p (TestHarness harness, char c, String expected) { String s; switch (Character.getType (c)) { case Character.SPACE_SEPARATOR: s = "space_separator"; break; case Character.LINE_SEPARATOR: s = "line_separator"; break; case Character.PARAGRAPH_SEPARATOR: s = "paragraph_separator"; break; case Character.UPPERCASE_LETTER: s = "uppercase_letter"; break; case Character.LOWERCASE_LETTER: s = "lowercase_letter"; break; case Character.TITLECASE_LETTER: s = "titlecase_letter"; break; case Character.MODIFIER_LETTER: s = "modifier_letter"; break; case Character.OTHER_LETTER: s = "other_letter"; break; case Character.DECIMAL_DIGIT_NUMBER: s = "decimal_digit_number"; break; case Character.LETTER_NUMBER: s = "letter_number"; break; case Character.OTHER_NUMBER: s = "other_number"; break; case Character.NON_SPACING_MARK: s = "non_spacing_mark"; break; case Character.ENCLOSING_MARK: s = "enclosing_mark"; break; case Character.COMBINING_SPACING_MARK: s = "combining_spacing_mark"; break; case Character.DASH_PUNCTUATION: s = "dash_punctuation"; break; case Character.START_PUNCTUATION: s = "start_punctuation"; break; case Character.END_PUNCTUATION: s = "end_punctuation"; break; case Character.CONNECTOR_PUNCTUATION: s = "connector_punctuation"; break; case Character.OTHER_PUNCTUATION: s = "other_punctuation"; break; case Character.MATH_SYMBOL: s = "math_symbol"; break; case Character.CURRENCY_SYMBOL: s = "currency_symbol"; break; case Character.MODIFIER_SYMBOL: s = "modifier_symbol"; break; case Character.OTHER_SYMBOL: s = "other_symbol"; break; case Character.CONTROL: s = "control"; break; case Character.FORMAT: s = "format"; break; case Character.UNASSIGNED: s = "unassigned"; break; case Character.PRIVATE_USE: s = "private_use"; break; case Character.SURROGATE: s = "surrogate"; break; default: s = "???"; break; } harness.check (s, expected); } public void test (TestHarness harness) { p (harness, ' ', "space_separator"); p (harness, '\u2028', "line_separator"); p (harness, '\u2029', "paragraph_separator"); p (harness, '\u2110', "uppercase_letter"); p (harness, 'Z', "uppercase_letter"); p (harness, '\uff44', "lowercase_letter"); p (harness, 'z', "lowercase_letter"); p (harness, '\u1fe4', "lowercase_letter"); p (harness, '\u01c5', "titlecase_letter"); p (harness, '\u3005', "modifier_letter"); p (harness, '\u01bf', "lowercase_letter"); p (harness, '\u0666', "decimal_digit_number"); p (harness, '\u216f', "letter_number"); p (harness, '\u0f32', "other_number"); p (harness, '\u0f35', "non_spacing_mark"); p (harness, '\u0488', "enclosing_mark"); p (harness, '\u0488', "enclosing_mark"); p (harness, '\u0489', "enclosing_mark"); // Unicode character 06de should fall into other letters/symbols // according to changes in Unicode p (harness, '\u06de', conformToJDK17() ? "other_symbol" : "enclosing_mark"); p (harness, '\u20DD', "enclosing_mark"); p (harness, '\u20DE', "enclosing_mark"); p (harness, '\u20DF', "enclosing_mark"); p (harness, '\u20E0', "enclosing_mark"); p (harness, '\u20E2', "enclosing_mark"); p (harness, '\u20E3', "enclosing_mark"); p (harness, '\u20E4', "enclosing_mark"); p (harness, '\u0903', "combining_spacing_mark"); p (harness, '-', "dash_punctuation"); p (harness, '\ufe59', "start_punctuation"); p (harness, '\u0f3b', "end_punctuation"); p (harness, '\uff3f', "connector_punctuation"); p (harness, '\u2202', "math_symbol"); p (harness, '\u20ab', "currency_symbol"); p (harness, '\u02c2', "modifier_symbol"); p (harness, '\u0ad0', "other_letter"); p (harness, '\u0b70', "other_symbol"); p (harness, '\u009f', "control"); p (harness, '\ufeff', "format"); p (harness, '\uffff', "unassigned"); p (harness, '\uffef', "unassigned"); p (harness, '\uebeb', "private_use"); p (harness, '\udb9c', "surrogate"); p (harness, '\u249f', "other_symbol"); p (harness, '\u2102', "uppercase_letter"); } /** * Returns true if tested JRE conformns to JDK 1.7. * @author: Mark Wielaard */ private static boolean conformToJDK17() { String[] javaVersion = System.getProperty("java.version").split("\\."); String vendorID = System.getProperty("java.vendor"); // test of OpenJDK if ("Sun Microsystems Inc.".equals(vendorID)) { return Long.parseLong(javaVersion[1]) >= 7; } return true; } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/0000755000175000001440000000000012375316426023403 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/constructor.java0000644000175000001440000000406112145420653026625 0ustar dokousers// Test if instances of a class java.lang.CloneNotSupportedException could be properly constructed // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; /** * Test if instances of a class java.lang.CloneNotSupportedException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { CloneNotSupportedException object1 = new CloneNotSupportedException(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.CloneNotSupportedException"); CloneNotSupportedException object2 = new CloneNotSupportedException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.CloneNotSupportedException: nothing happens"); CloneNotSupportedException object3 = new CloneNotSupportedException(null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.CloneNotSupportedException"); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/TryCatch.java0000644000175000001440000000337212145420653025765 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.CloneNotSupportedException // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; /** * Test if try-catch block is working properly for a class java.lang.CloneNotSupportedException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new CloneNotSupportedException("CloneNotSupportedException"); } catch (CloneNotSupportedException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/0000755000175000001440000000000012375316426025324 5ustar dokousers././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getDeclaredConstructor.javamauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getDeclaredConstructor.jav0000644000175000001440000000723712146353660032505 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.CloneNotSupportedException.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.CloneNotSupportedException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.CloneNotSupportedException", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.CloneNotSupportedException", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.CloneNotSupportedException", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getPackage.java0000644000175000001440000000333112150632114030204 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().getPackage() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; /** * Test for method java.lang.CloneNotSupportedException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getDeclaredMethods.java0000644000175000001440000000626312151055331031710 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.CloneNotSupportedException.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getInterfaces.java0000644000175000001440000000337112150632114030740 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().getInterfaces() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.CloneNotSupportedException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getModifiers.java0000644000175000001440000000456212150632114030601 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().getModifiers() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; import java.lang.reflect.Modifier; /** * Test for method java.lang.CloneNotSupportedException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getDeclaredFields.java0000644000175000001440000000722712151055331031514 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().getDeclaredFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.CloneNotSupportedException.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.CloneNotSupportedException.serialVersionUID", "serialVersionUID"); // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getDeclaredConstructors.javamauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getDeclaredConstructors.ja0000644000175000001440000001062612151055331032464 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.CloneNotSupportedException.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.CloneNotSupportedException()", "java.lang.CloneNotSupportedException"); testedDeclaredConstructors_jdk6.put("public java.lang.CloneNotSupportedException(java.lang.String)", "java.lang.CloneNotSupportedException"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.CloneNotSupportedException()", "java.lang.CloneNotSupportedException"); testedDeclaredConstructors_jdk7.put("public java.lang.CloneNotSupportedException(java.lang.String)", "java.lang.CloneNotSupportedException"); // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getField.java0000644000175000001440000000561612147353222027712 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().getField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.CloneNotSupportedException.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getFields.java0000644000175000001440000000575412151055331030073 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().getFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.CloneNotSupportedException.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/isPrimitive.java0000644000175000001440000000326612147102505030466 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; /** * Test for method java.lang.CloneNotSupportedException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getSimpleName.java0000644000175000001440000000332512150632114030706 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; /** * Test for method java.lang.CloneNotSupportedException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "CloneNotSupportedException"); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getEnclosingClass.java0000644000175000001440000000335312146633721031576 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().getEnclosingClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; /** * Test for method java.lang.CloneNotSupportedException.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/isAnnotationPresent.java0000644000175000001440000000445412147353222032175 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; /** * Test for method java.lang.CloneNotSupportedException.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/isSynthetic.java0000644000175000001440000000326612147102505030470 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; /** * Test for method java.lang.CloneNotSupportedException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/isAnnotation.java0000644000175000001440000000326412147353222030632 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().isAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; /** * Test for method java.lang.CloneNotSupportedException.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/isInstance.java0000644000175000001440000000336712147636740030301 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().isInstance(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; /** * Test for method java.lang.CloneNotSupportedException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new CloneNotSupportedException("java.lang.CloneNotSupportedException"))); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getDeclaredMethod.java0000644000175000001440000000622212146353660031532 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.CloneNotSupportedException.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getDeclaredClasses.java0000644000175000001440000000342712146633721031712 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; /** * Test for method java.lang.CloneNotSupportedException.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getComponentType.java0000644000175000001440000000334712145420654031474 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().getComponentType() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; /** * Test for method java.lang.CloneNotSupportedException.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getMethod.java0000644000175000001440000001437212147353222030106 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().getMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.CloneNotSupportedException.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/isMemberClass.java0000644000175000001440000000327612147102505030714 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; /** * Test for method java.lang.CloneNotSupportedException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getConstructor.java0000644000175000001440000000717712146353660031225 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().getConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.CloneNotSupportedException.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.CloneNotSupportedException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.CloneNotSupportedException", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.CloneNotSupportedException", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.CloneNotSupportedException", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getSuperclass.java0000644000175000001440000000337712150632114031007 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().getSuperclass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; /** * Test for method java.lang.CloneNotSupportedException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.Exception"); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/isEnum.java0000644000175000001440000000323412147636737027440 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().isEnum() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; /** * Test for method java.lang.CloneNotSupportedException.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getMethods.java0000644000175000001440000001775412151055331030273 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().getMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.CloneNotSupportedException.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getAnnotations.java0000644000175000001440000000602712145420653031162 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().getAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.CloneNotSupportedException.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/InstanceOf.java0000644000175000001440000000372312147102505030211 0ustar dokousers// Test for instanceof operator applied to a class java.lang.CloneNotSupportedException // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.CloneNotSupportedException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class CloneNotSupportedException CloneNotSupportedException o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // basic check of instanceof operator harness.check(o instanceof CloneNotSupportedException); // check operator instanceof against all superclasses harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getDeclaringClass.java0000644000175000001440000000335312146353660031546 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().getDeclaringClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; /** * Test for method java.lang.CloneNotSupportedException.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getAnnotation.java0000644000175000001440000000513612145420653030777 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().getAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; /** * Test for method java.lang.CloneNotSupportedException.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/isAnonymousClass.java0000644000175000001440000000330412147353222031471 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().isAnonymousClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; /** * Test for method java.lang.CloneNotSupportedException.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getEnclosingMethod.java0000644000175000001440000000337312146633721031753 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; /** * Test for method java.lang.CloneNotSupportedException.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/isInterface.java0000644000175000001440000000326612147636740030433 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().isInterface(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; /** * Test for method java.lang.CloneNotSupportedException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getConstructors.java0000644000175000001440000001026112151055330031361 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().getConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.CloneNotSupportedException.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.CloneNotSupportedException()", "java.lang.CloneNotSupportedException"); testedConstructors_jdk6.put("public java.lang.CloneNotSupportedException(java.lang.String)", "java.lang.CloneNotSupportedException"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.CloneNotSupportedException()", "java.lang.CloneNotSupportedException"); testedConstructors_jdk7.put("public java.lang.CloneNotSupportedException(java.lang.String)", "java.lang.CloneNotSupportedException"); // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/isAssignableFrom.java0000644000175000001440000000335012147636737031427 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; /** * Test for method java.lang.CloneNotSupportedException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(CloneNotSupportedException.class)); } } ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getDeclaredAnnotations.javamauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getDeclaredAnnotations.jav0000644000175000001440000000606712146633720032453 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.CloneNotSupportedException.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getDeclaredField.java0000644000175000001440000000572712146353660031346 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().getDeclaredField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.CloneNotSupportedException.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/isLocalClass.java0000644000175000001440000000327212147102505030533 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; /** * Test for method java.lang.CloneNotSupportedException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getEnclosingConstructor.javamauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getEnclosingConstructor.ja0000644000175000001440000000343512146633721032530 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; /** * Test for method java.lang.CloneNotSupportedException.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getCanonicalName.java0000644000175000001440000000335012145420653031351 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; /** * Test for method java.lang.CloneNotSupportedException.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.CloneNotSupportedException"); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getName.java0000644000175000001440000000330712150632114027534 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().getName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; /** * Test for method java.lang.CloneNotSupportedException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.CloneNotSupportedException"); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getClasses.java0000644000175000001440000000336712145420653030266 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().getClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; /** * Test for method java.lang.CloneNotSupportedException.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/CloneNotSupportedException/classInfo/isArray.java0000644000175000001440000000324012147636737027607 0ustar dokousers// Test for method java.lang.CloneNotSupportedException.getClass().isArray() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.CloneNotSupportedException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.CloneNotSupportedException; /** * Test for method java.lang.CloneNotSupportedException.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class CloneNotSupportedException final Object o = new CloneNotSupportedException("java.lang.CloneNotSupportedException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/reflect/0000755000175000001440000000000012375316450017516 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/reflect/Constructor/0000755000175000001440000000000012375316426022046 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/reflect/Constructor/toString.java0000644000175000001440000000347110402622301024504 0ustar dokousers/* toString.java -- Test Constructor.toString Copyright (C) 2006 Red Hat, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.1 package gnu.testlet.java.lang.reflect.Constructor; import java.lang.reflect.Constructor; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class toString implements Testlet { public toString() { } public toString(int x) { } protected toString(Object[] x) { } public String getName(TestHarness harness, Class k, Class[] argTypes) { try { Constructor c = k.getDeclaredConstructor(argTypes); return c.toString(); } catch (NoSuchMethodException _) { harness.debug(_); return ""; } } public void test(TestHarness harness) { Class k = toString.class; String n1 = getName(harness, k, null); harness.check(n1, "public gnu.testlet.java.lang.reflect.Constructor.toString()"); String n2 = getName(harness, k, new Class[] {int.class}); harness.check(n2, "public gnu.testlet.java.lang.reflect.Constructor.toString(int)"); String n3 = getName(harness, k, new Class[] {Object[].class}); harness.check(n3, "protected gnu.testlet.java.lang.reflect.Constructor.toString(java.lang.Object[])"); } } mauve-20140821/gnu/testlet/java/lang/reflect/Constructor/newInstance.java0000644000175000001440000001033107334531220025153 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2000, 2001 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.reflect.Constructor; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; public class newInstance implements Testlet { public int dot; private newInstance (int z) { dot = z; } private newInstance (char z) { dot = (int) z; } public newInstance (String q, String z) { throw new NullPointerException (); } public newInstance () { dot = 7; } public Class getClass (String name) { Class k = null; try { k = Class.forName (name); } catch (Throwable _) { // Nothing. } return k; } public Constructor getCons (Class k, Class[] ptypes) { Constructor c = null; try { c = k.getDeclaredConstructor(ptypes); } catch (Throwable _) { // Nothing. } return c; } public Object callNew (Constructor cons, Object[] args) { try { return cons.newInstance(args); } catch (Throwable _) { return _; } } public void test (TestHarness harness) { Class ni_class = getClass ("gnu.testlet.java.lang.reflect.Constructor.newInstance"); Class S_class = getClass ("java.lang.String"); Class i_class = Integer.TYPE; Class[] args0 = new Class[0]; Class[] args1 = new Class[1]; args1[0] = i_class; Class[] args2 = new Class[2]; args2[0] = args2[1] = S_class; Class[] argsc = new Class[1]; argsc[0] = Character.TYPE; harness.checkPoint ("no args"); Constructor c0 = getCons (ni_class, args0); Object r = callNew (c0, new Object[0]); harness.check(r instanceof newInstance); harness.check(((newInstance) r).dot == 7); // null argument list is ok because constructor has no arguments. r = callNew (c0, null); harness.check(r instanceof newInstance); harness.check(((newInstance) r).dot == 7); harness.checkPoint ("int arg"); Constructor c1 = getCons (ni_class, args1); Object[] a1 = new Object[1]; a1[0] = new Integer (23); r = callNew (c1, a1); harness.check(r instanceof newInstance); harness.check(((newInstance) r).dot == 23); // Check that promotion works. a1[0] = new Short ((short) 24); r = callNew (c1, a1); harness.check(r instanceof newInstance); harness.check(((newInstance) r).dot == 24); // Check that demotion doesn't work. a1[0] = new Long (25); r = callNew (c1, a1); harness.check(r instanceof IllegalArgumentException); harness.checkPoint ("character arg"); Constructor c2 = getCons (ni_class, argsc); a1[0] = new Character ('j'); r = callNew (c2, a1); harness.check(r instanceof newInstance); harness.check(((newInstance) r).dot == (int) 'j'); // Byte does not widen to Character. a1[0] = new Byte ((byte) 93); r = callNew (c2, a1); harness.check(r instanceof IllegalArgumentException); harness.checkPoint ("String args"); Constructor c3 = getCons (ni_class, args2); Object[] a3 = new Object[2]; // Check that arg types must match. a3[0] = new Integer (5); a3[1] = "has spoken"; r = callNew (c3, a3); harness.check(r instanceof IllegalArgumentException); a3[0] = "zardoz"; r = callNew (c3, a3); harness.check(r instanceof InvocationTargetException); harness.debug(r + ""); harness.check(((InvocationTargetException) r).getTargetException() instanceof NullPointerException); } } mauve-20140821/gnu/testlet/java/lang/reflect/AccessibleObject/0000755000175000001440000000000012375316426022705 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/reflect/AccessibleObject/accessible.java0000644000175000001440000000516707714001322025641 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2003 Free Software Foundation, Inc. // Contributed by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.reflect.AccessibleObject; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.lang.reflect.*; import java.io.*; public class accessible implements Testlet { public void test (TestHarness harness) { try { Class cl_class = Class.forName("java.lang.ClassLoader"); // There is a protected no-argument ClassLoader() constructor. Class[] params = new Class[0]; Constructor cl_cons = cl_class.getDeclaredConstructor(params); harness.check(!cl_cons.isAccessible()); cl_cons.setAccessible(true); harness.check(cl_cons.isAccessible()); // Get a new Constructor to check that it isn't accessible. cl_cons = cl_class.getDeclaredConstructor(params); harness.check(!cl_cons.isAccessible()); // ClassLoader.findLoadedClass(String) is a protected method. params = new Class[1]; params[0] = Class.forName("java.lang.String"); Method m = cl_class.getDeclaredMethod("findLoadedClass", params); harness.check(!m.isAccessible()); m.setAccessible(true); harness.check(m.isAccessible()); // Get a new Member to check that is isn't accessible. m = cl_class.getDeclaredMethod("findLoadedClass", params); harness.check(!m.isAccessible()); // Take some random protected field from DataInputStream. DataInputStream dis = new DataInputStream(new ByteArrayInputStream(new byte[0])); Class dis_cl = dis.getClass(); Class fis_cl = dis_cl.getSuperclass(); Field dis_f = fis_cl.getDeclaredField("in"); harness.check(!dis_f.isAccessible()); dis_f.setAccessible(true); harness.check(dis_f.isAccessible()); // Get a new Field to check that is isn't accessible. dis_f = fis_cl.getDeclaredField("in"); harness.check(!dis_f.isAccessible()); } catch (Throwable t) { harness.debug(t); harness.fail(t.toString()); } } } mauve-20140821/gnu/testlet/java/lang/reflect/AccessibleObject/security.java0000644000175000001440000000777110562130333025416 0ustar dokousers// Copyright (C) 2006, 2007 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 package gnu.testlet.java.lang.reflect.AccessibleObject; import java.lang.reflect.AccessibleObject; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.lang.reflect.ReflectPermission; import java.security.Permission; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.TestSecurityManager; public class security implements Testlet { public void test(TestHarness harness) { try { harness.checkPoint("constructor"); Constructor constructor = ClassLoader.class.getDeclaredConstructor(new Class[0]); int mods = constructor.getModifiers(); harness.check(Modifier.isPrivate(mods) || Modifier.isProtected(mods)); try { constructor.newInstance(new Object[0]); harness.check(false); } catch (IllegalAccessException ex) { harness.check(true); } harness.checkPoint("field"); Field field = String.class.getDeclaredField("serialVersionUID"); mods = field.getModifiers(); harness.check(Modifier.isPrivate(mods) || Modifier.isProtected(mods)); try { field.get(""); harness.check(false); } catch (IllegalAccessException ex) { harness.check(true); } harness.checkPoint("method"); Method method = ClassLoader.class.getDeclaredMethod("getPackages", new Class[0]); mods = method.getModifiers(); harness.check(Modifier.isPrivate(mods) || Modifier.isProtected(mods)); try { method.invoke(getClass().getClassLoader(), new Object[0]); harness.check(false); } catch (IllegalAccessException ex) { harness.check(true); } AccessibleObject[] objects = new AccessibleObject[] {constructor, field, method}; AccessibleObject class_constructor = Class.class.getDeclaredConstructors()[0]; Permission[] suppressAccessChecks = new Permission[] { new ReflectPermission("suppressAccessChecks")}; TestSecurityManager sm = new TestSecurityManager(harness); try { sm.install(); // throwpoint: java.lang.reflect.AccessibleObject-setAccessible(boolean) harness.checkPoint("setAccessible (per-object)"); for (int i = 0; i < objects.length; i++) { try { sm.prepareChecks(suppressAccessChecks); objects[i].setAccessible(true); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } harness.checkPoint("setAccessible (class constructor)"); try { sm.prepareChecks(suppressAccessChecks); class_constructor.setAccessible(true); harness.check(false); } catch (SecurityException ex) { sm.checkAllChecked(); } // throwpoint: java.lang.reflect.AccessibleObject-setAccessible(AccessibleObject[], boolean) harness.checkPoint("setAccessible (array)"); try { sm.prepareChecks(suppressAccessChecks); AccessibleObject.setAccessible(objects, true); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } finally { sm.uninstall(); } } catch (Exception ex) { harness.debug(ex); harness.check(false, "Unexpected exception"); } } } mauve-20140821/gnu/testlet/java/lang/reflect/Other.java0000644000175000001440000000041610343060161021427 0ustar dokousers// Test reflection member accessibility checks. // Tags: not-a-test package gnu.testlet.java.lang.reflect; class Other { static void m() { } void n() { } private void o() { } static char p = 'p'; char q = 'q'; private char r = 'r'; } mauve-20140821/gnu/testlet/java/lang/reflect/Proxy/0000755000175000001440000000000012375316426020642 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/reflect/Proxy/ProxyUtils.java0000644000175000001440000000676010376161061023650 0ustar dokousers/* ProxyUtils.java -- Utilities class for Proxy related operations Copyright (C) 2006 Olivier Jolly This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.java.lang.reflect.Proxy; import java.lang.reflect.Method; import java.util.Arrays; /** * Utility class with some proxy related methods * @author Olivier Jolly */ public final class ProxyUtils { /** * Compare two methods excepted the declaring class equality test * @param lhs * first method to test * @param rhs * second method to test * @return whether the two methods are equals even if of different declaring * class */ static boolean compareMethodExceptedDeclaringClass(Method lhs, Method rhs) { if (!lhs.getName().equals(rhs.getName())) { return false; } if (lhs.getReturnType() != rhs.getReturnType()) { return false; } if (!Arrays.equals(lhs.getParameterTypes(), rhs.getParameterTypes())) { return false; } return true; } /** * Compare two methods based only on their name and parameter * @param lhs * first method to test * @param rhs * second method to test * @return whether the name and parameter type are equal */ static boolean compareMethodOnNameAndParameterTypes(Method lhs, Method rhs) { if (!lhs.getName().equals(rhs.getName())) { return false; } if (!Arrays.equals(lhs.getParameterTypes(), rhs.getParameterTypes())) { return false; } return true; } /** * Return a valid value for the given class, even if a primitive * @param returnType * the expected class * @return a neutral value of the expected class * @throws InstantiationException * in case of problem with the constructor invocation * @throws IllegalAccessException * in case of problem with the constructor invocation */ public static Object getNeutralValue(Class returnType) throws InstantiationException, IllegalAccessException { if (returnType.equals(boolean.class)) { return Boolean.FALSE; } if (returnType.equals(int.class)) { return new Integer(0); } if (returnType.equals(float.class)) { return new Float(0); } if (returnType.equals(double.class)) { return new Double(0); } if (returnType.equals(char.class)) { return new Character((char) 0); } if (returnType.equals(short.class)) { return new Short((short) 0); } if (returnType.equals(long.class)) { return new Long(0); } if (returnType.equals(void.class)) { return null; } return returnType.newInstance(); } } mauve-20140821/gnu/testlet/java/lang/reflect/Proxy/ExceptionRaising.java0000644000175000001440000001156710373436137024770 0ustar dokousers/* ExceptionRaising.java -- Tests which check that the exceptions raised in an InvocationHandler are correct. Copyright (C) 2006 Olivier Jolly This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 package gnu.testlet.java.lang.reflect.Proxy; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.Serializable; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; import java.lang.reflect.UndeclaredThrowableException; /** * Tests about the exceptions throwable when using proxies * @author Olivier Jolly * @see java.lang.reflect.Proxy */ public class ExceptionRaising implements Testlet { public void test(TestHarness harness) { testWrappedException(harness); testReturnNull(harness); testClassCastException(harness); } /** * Test the behaviour of proxy the invocation of which returns * null * @param harness * the test harness */ private void testReturnNull(TestHarness harness) { Object proxy = Proxy.newProxyInstance(this.getClass().getClassLoader(), new Class[] { Serializable.class }, new NullInvocationHandler()); try { proxy.getClass(); harness.checkPoint("Passed returning null when a non primitive object is expected"); } catch (Exception e) { harness.fail("Returning null should be safe when a non primitive object is expected"); } try { proxy.hashCode(); harness.fail("Returning null when a primitive return value is expected should have thrown an exception"); } catch (Exception e) { harness.check(e instanceof NullPointerException, "Checking that exception thrown is a NullPointerException"); } } /** * Tests the behaviour of proxy the invocation of which throws an exception * @param harness * the test harness */ private void testWrappedException(TestHarness harness) { Exception exception = new Exception(); Object proxy = Proxy.newProxyInstance( this.getClass().getClassLoader(), new Class[] { Serializable.class }, new ExceptionInvocationHandler( exception)); try { proxy.toString(); harness.fail("Call to toString via a proxy should have failed with an exception"); } catch (UndeclaredThrowableException e) { harness.check(e.getUndeclaredThrowable(), exception, "Exception thrown check"); } } /** * Tests that if the return value is incorrect, a ClassCastException is thrown * @param harness * the test harness */ private void testClassCastException(TestHarness harness) { Object proxy = Proxy.newProxyInstance(this.getClass().getClassLoader(), new Class[] { Serializable.class }, new ThisInvocationHandler()); try { proxy.toString(); } catch (Exception e) { harness.check(e instanceof ClassCastException, "Checking that the raised exception was a ClassPathException"); } } private static class ExceptionInvocationHandler implements InvocationHandler { Exception exception; public ExceptionInvocationHandler(Exception exception) { this.exception = exception; } public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { throw exception; } } private static class NullInvocationHandler implements InvocationHandler { public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { return null; } } private static class ThisInvocationHandler implements InvocationHandler { public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { return this; } } } mauve-20140821/gnu/testlet/java/lang/reflect/Proxy/DeclaringClass.java0000644000175000001440000001165510376161061024363 0ustar dokousers/* DeclaringClass.java -- Checks for the declaring class of the special methods in Object, namely toString, Equals and hashCode Copyright (C) 2006 Olivier Jolly This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 // Uses: ProxyUtils package gnu.testlet.java.lang.reflect.Proxy; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.Serializable; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; /** * Checks that the public non final methods of Objects (ie equals, toString and * hashCode) are built in Proxy with Object as declaring class whatever the * method definition of the interfaces used for the proxy creation * @author Olivier Jolly */ public class DeclaringClass implements Testlet { public void test(TestHarness harness) { Class[] testableInterfaces = { Serializable.class, WithObjectOverrides.class, WithoutObjectOverrides.class, Base.class, Derived.class }; for (int i = 0; i < testableInterfaces.length; i++) { Class interfaceItem = testableInterfaces[i]; Object proxy = Proxy.newProxyInstance( this.getClass().getClassLoader(), new Class[] { interfaceItem }, new ExpectObjectDeclaringClassIfPossibleHandler( harness)); harness.checkPoint("Testing " + interfaceItem); proxy.equals(new Object()); proxy.hashCode(); proxy.toString(); } } /** * Handler which checks that invoked public non final methods of Object have * their declared class set to Object.class */ private static class ExpectObjectDeclaringClassIfPossibleHandler implements InvocationHandler { static Collection objectMethods; static { objectMethods = new ArrayList(); try { objectMethods.add(Object.class.getMethod( "equals", new Class[] { Object.class })); objectMethods.add(Object.class.getMethod("hashCode", null)); objectMethods.add(Object.class.getMethod("toString", null)); } catch (NoSuchMethodException e) { e.printStackTrace(); throw new Error("Missing core methods in Object"); } } TestHarness harness; public ExpectObjectDeclaringClassIfPossibleHandler(TestHarness harness) { this.harness = harness; } public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { boolean expectObjectDeclaringClass = false; for (Iterator iter = objectMethods.iterator(); iter.hasNext();) { Method objectMethod = (Method) iter.next(); if (ProxyUtils.compareMethodOnNameAndParameterTypes(objectMethod, method)) { expectObjectDeclaringClass = true; } } harness.check((method.getDeclaringClass() == Object.class) == expectObjectDeclaringClass); return ProxyUtils.getNeutralValue(method.getReturnType()); } } /** * Interface redefining the same public non final methods as Object */ private static interface WithObjectOverrides { public boolean equals(Object obj); public int hashCode(); public String toString(); } /** * Interface redefining similar methods than Object */ private static interface WithoutObjectOverrides { public boolean equals(); public long hashCode(Object obj); public void toString(long foo); } /** * Simple interface defining a method */ private static interface Base { public void foo(); } /** * Simple interface overriding a non Object method */ private static interface Derived extends Base { public void foo(); } } mauve-20140821/gnu/testlet/java/lang/reflect/Proxy/check13.java0000644000175000001440000000720310326033650022715 0ustar dokousers//Tags: JDK1.3 //Copyright (C) 2005 Robert Schuster //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.reflect.Proxy; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.IOException; import java.io.Serializable; import java.lang.reflect.Proxy; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; /** A basic test for the proxy mechanism that tests whether the arguments are delivered correctly. * * @author Robert Schuster */ public class check13 implements Testlet, InvocationHandler, Serializable { transient Object proxy; transient Object[] args; transient Method method; public void test(TestHarness harness) { // Creates a Proxy implementation of an ActionListener that will // call the invoke() method whenever a method of al is called. ActionListener al = (ActionListener) Proxy.newProxyInstance( getClass().getClassLoader(), new Class[] { ActionListener.class }, this); Method expectedMethod = null; try { // Note: Proxy API uses the method that is declared in the interface not in the Proxy itself! expectedMethod = ActionListener.class.getMethod("actionPerformed", new Class[] { ActionEvent.class }); } catch(NoSuchMethodException nsme) { harness.fail("test setup failed"); } ActionEvent event = new ActionEvent(this, 0, "GNU yourself!"); // Provokes a call to invoke(). al.actionPerformed(event); // Note: Referential equality checks are used to really make sure we have // the same instance. harness.check(proxy == al, "proxy method called"); harness.check(method, expectedMethod); harness.check(args.length, 1); harness.check(args[0] == event); // Test serialization harness.checkPoint("serialization"); try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(baos); oos.writeObject(proxy); oos.close(); ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()); ObjectInputStream ois = new ObjectInputStream(bais); Proxy p = (Proxy)ois.readObject(); harness.check(p.getClass() == proxy.getClass()); harness.check(Proxy.getInvocationHandler(p).getClass() == Proxy.getInvocationHandler(proxy).getClass()); } catch(Exception x) { harness.debug(x); harness.fail("Unexpected exception"); } } public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { this.proxy = proxy; this.method = method; this.args = args; return null; } } mauve-20140821/gnu/testlet/java/lang/reflect/Proxy/ToString.java0000644000175000001440000000477410373422264023264 0ustar dokousers/* ToString.java -- Tests which checks that the toString method on a proxy is correctly forwarded to the InvocationHandler Copyright (C) 2006 olivier jolly This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 package gnu.testlet.java.lang.reflect.Proxy; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.Serializable; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; /** * Test which ensure that the toString method is properly forwarded to the * InvocationHandler. This tests notably fails with cacao 0.94 * (http://b2.complang.tuwien.ac.at/cgi-bin/bugzilla/show_bug.cgi?id=17) * @author olivier jolly * @see java.lang.reflect.InvocationHandler */ public class ToString implements Testlet { public void test(TestHarness harness) { InvocationHandler handler = new FacadeInvocationHandler(new Foo()); Object proxy = Proxy.newProxyInstance(this.getClass().getClassLoader(), new Class[] { Serializable.class }, handler); harness.check(proxy.toString(), "foo toString() result", "toString() test"); } /** * Very simple facade which delegates all calls to a target object. */ private static class FacadeInvocationHandler implements InvocationHandler { Object facaded; public FacadeInvocationHandler(Object facaded) { this.facaded = facaded; } public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { return method.invoke(facaded, args); } } /** * Very simple class with a predictable toString() result. */ private static class Foo { public String toString() { return "foo toString() result"; } } } mauve-20140821/gnu/testlet/java/lang/reflect/Field/0000755000175000001440000000000012375316426020544 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/reflect/Field/toString.java0000644000175000001440000000314710402622300023201 0ustar dokousers/* toString.java -- Test Field.toString Copyright (C) 2006 Red Hat, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.1 package gnu.testlet.java.lang.reflect.Field; import java.lang.reflect.Field; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class toString implements Testlet { public static final int x = 5; public String[] args; public String getFieldName(TestHarness harness, Class k, String name) { try { Field field = k.getDeclaredField(name); return field.toString(); } catch (NoSuchFieldException _) { harness.debug(_); return ""; } } public void test(TestHarness harness) { Class k = toString.class; String n1 = getFieldName(harness, k, "x"); harness.check(n1, "public static final int gnu.testlet.java.lang.reflect.Field.toString.x"); String n2 = getFieldName(harness, k, "args"); harness.check(n2, "public java.lang.String[] gnu.testlet.java.lang.reflect.Field.toString.args"); } } mauve-20140821/gnu/testlet/java/lang/reflect/Field/promotion.java0000644000175000001440000005003510217537021023425 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2005 Jeroen Frijters // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.reflect.Field; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.lang.reflect.Field; public class promotion implements Testlet { public boolean booleanField = true; public byte byteField = (byte)42; public char charField = (char)42; public short shortField = (short)42; public int intField = 42; public float floatField = 42f; public long longField = 42L; public double doubleField = 42.0; public Integer intObjField; public void test(TestHarness harness) { Class c = promotion.class; try { testBooleanField(harness, c.getField("booleanField")); testByteField(harness, c.getField("byteField")); testCharField(harness, c.getField("charField")); testShortField(harness, c.getField("shortField")); testIntField(harness, c.getField("intField")); testFloatField(harness, c.getField("floatField")); testLongField(harness, c.getField("longField")); testDoubleField(harness, c.getField("doubleField")); try { c.getField("intObjField").getInt(this); } catch (IllegalArgumentException _) { harness.check(true); } try { c.getField("intObjField").setInt(this, 0); } catch (IllegalArgumentException _) { harness.check(true); } } catch (Exception x) { harness.debug(x); harness.check(false); } } private void testBooleanField(TestHarness harness, Field field) { harness.checkPoint("boolean"); testGetIllegalArgument(harness, field, new boolean[] { false, true, true, true, true, true, true, true }); testSetIllegalArgument(harness, field, new boolean[] { false, true, true, true, true, true, true, true }); try { harness.check(field.getBoolean(this) == booleanField); harness.check(field.get(this).equals(new Boolean(booleanField))); field.setBoolean(this, booleanField); harness.check(true); field.set(this, new Boolean(booleanField)); harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } } private void testByteField(TestHarness harness, Field field) { harness.checkPoint("byte"); testGetIllegalArgument(harness, field, new boolean[] { true, false, true, false, false, false, false, false }); testSetIllegalArgument(harness, field, new boolean[] { true, false, true, true, true, true, true, true }); try { harness.check(field.getByte(this) == byteField); harness.check(field.getShort(this) == byteField); harness.check(field.getInt(this) == byteField); harness.check(field.getFloat(this) == byteField); harness.check(field.getLong(this) == byteField); harness.check(field.getDouble(this) == byteField); harness.check(field.get(this).equals(new Byte(byteField))); field.setByte(this, byteField); harness.check(true); field.set(this, new Byte(byteField)); harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } } private void testCharField(TestHarness harness, Field field) { harness.checkPoint("char"); testGetIllegalArgument(harness, field, new boolean[] { true, true, false, true, false, false, false, false }); testSetIllegalArgument(harness, field, new boolean[] { true, true, false, true, true, true, true, true }); try { harness.check(field.getChar(this) == charField); harness.check(field.getInt(this) == charField); harness.check(field.getFloat(this) == charField); harness.check(field.getLong(this) == charField); harness.check(field.getDouble(this) == charField); harness.check(field.get(this).equals(new Character(charField))); field.setChar(this, charField); harness.check(true); field.set(this, new Character(charField)); harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } } private void testShortField(TestHarness harness, Field field) { harness.checkPoint("short"); testGetIllegalArgument(harness, field, new boolean[] { true, true, true, false, false, false, false, false }); testSetIllegalArgument(harness, field, new boolean[] { true, false, true, false, true, true, true, true }); try { harness.check(field.getShort(this) == shortField); harness.check(field.getInt(this) == shortField); harness.check(field.getFloat(this) == shortField); harness.check(field.getLong(this) == shortField); harness.check(field.getDouble(this) == shortField); harness.check(field.get(this).equals(new Short(shortField))); field.setByte(this, (byte)shortField); harness.check(true); field.setShort(this, shortField); harness.check(true); field.set(this, new Byte((byte)shortField)); harness.check(true); field.set(this, new Short(shortField)); harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } } private void testIntField(TestHarness harness, Field field) { harness.checkPoint("int"); testGetIllegalArgument(harness, field, new boolean[] { true, true, true, true, false, false, false, false }); testSetIllegalArgument(harness, field, new boolean[] { true, false, false, false, false, true, true, true }); try { harness.check(field.getInt(this) == intField); harness.check(field.getFloat(this) == intField); harness.check(field.getLong(this) == intField); harness.check(field.getDouble(this) == intField); harness.check(field.get(this).equals(new Integer(intField))); field.setByte(this, (byte)intField); harness.check(true); field.setChar(this, (char)intField); harness.check(true); field.setShort(this, (short)intField); harness.check(true); field.setInt(this, intField); harness.check(true); field.set(this, new Byte((byte)intField)); harness.check(true); field.set(this, new Character((char)intField)); harness.check(true); field.set(this, new Short((short)intField)); harness.check(true); field.set(this, new Integer(intField)); harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } } private void testFloatField(TestHarness harness, Field field) { harness.checkPoint("float"); testGetIllegalArgument(harness, field, new boolean[] { true, true, true, true, true, false, true, false }); testSetIllegalArgument(harness, field, new boolean[] { true, false, false, false, false, false, false, true }); try { harness.check(field.getFloat(this) == floatField); harness.check(field.getDouble(this) == floatField); harness.check(field.get(this).equals(new Float(floatField))); field.setByte(this, (byte)floatField); harness.check(true); field.setChar(this, (char)floatField); harness.check(true); field.setShort(this, (short)floatField); harness.check(true); field.setInt(this, (int)floatField); harness.check(true); field.setFloat(this, floatField); harness.check(true); field.setLong(this, (long)floatField); harness.check(true); field.set(this, new Byte((byte)floatField)); harness.check(true); field.set(this, new Character((char)floatField)); harness.check(true); field.set(this, new Short((short)floatField)); harness.check(true); field.set(this, new Integer((int)floatField)); harness.check(true); field.set(this, new Float(floatField)); harness.check(true); field.set(this, new Long((long)floatField)); harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } } private void testLongField(TestHarness harness, Field field) { harness.checkPoint("long"); testGetIllegalArgument(harness, field, new boolean[] { true, true, true, true, true, false, false, false }); testSetIllegalArgument(harness, field, new boolean[] { true, false, false, false, false, true, false, true }); try { harness.check(field.getFloat(this) == longField); harness.check(field.getLong(this) == longField); harness.check(field.getDouble(this) == longField); harness.check(field.get(this).equals(new Long(longField))); field.setByte(this, (byte)longField); harness.check(true); field.setChar(this, (char)longField); harness.check(true); field.setShort(this, (short)longField); harness.check(true); field.setInt(this, (int)longField); harness.check(true); field.setLong(this, longField); harness.check(true); field.set(this, new Byte((byte)longField)); harness.check(true); field.set(this, new Character((char)longField)); harness.check(true); field.set(this, new Short((short)longField)); harness.check(true); field.set(this, new Integer((int)longField)); harness.check(true); field.set(this, new Long(longField)); harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } } private void testDoubleField(TestHarness harness, Field field) { harness.checkPoint("double"); testGetIllegalArgument(harness, field, new boolean[] { true, true, true, true, true, true, true, false }); testSetIllegalArgument(harness, field, new boolean[] { true, false, false, false, false, false, false, false }); try { harness.check(field.getDouble(this) == doubleField); harness.check(field.get(this).equals(new Double(doubleField))); field.setByte(this, (byte)doubleField); harness.check(true); field.setChar(this, (char)doubleField); harness.check(true); field.setShort(this, (short)doubleField); harness.check(true); field.setInt(this, (int)doubleField); harness.check(true); field.setFloat(this, (float)doubleField); harness.check(true); field.setLong(this, (long)doubleField); harness.check(true); field.setDouble(this, doubleField); harness.check(true); field.set(this, new Byte((byte)doubleField)); harness.check(true); field.set(this, new Character((char)doubleField)); harness.check(true); field.set(this, new Short((short)doubleField)); harness.check(true); field.set(this, new Integer((int)doubleField)); harness.check(true); field.set(this, new Float((float)doubleField)); harness.check(true); field.set(this, new Long((long)doubleField)); harness.check(true); field.set(this, new Double(doubleField)); harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } } private void testGetIllegalArgument(TestHarness harness, Field field, boolean[] checks) { if (checks[0]) try { field.getBoolean(this); harness.check(false); } catch (IllegalArgumentException _) { harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } if (checks[1]) try { field.getByte(this); harness.check(false); } catch (IllegalArgumentException _) { harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } if (checks[2]) try { field.getChar(this); harness.check(false); } catch (IllegalArgumentException _) { harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } if (checks[3]) try { field.getShort(this); harness.check(false); } catch (IllegalArgumentException _) { harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } if (checks[4]) try { field.getInt(this); harness.check(false); } catch (IllegalArgumentException _) { harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } if (checks[5]) try { field.getFloat(this); harness.check(false); } catch (IllegalArgumentException _) { harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } if (checks[6]) try { field.getLong(this); harness.check(false); } catch (IllegalArgumentException _) { harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } if (checks[7]) try { field.getDouble(this); harness.check(false); } catch (IllegalArgumentException _) { harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } } private void testSetIllegalArgument(TestHarness harness, Field field, boolean[] checks) { testSetObjectIllegalArgument(harness, field, checks); if (checks[0]) try { field.setBoolean(this, booleanField); harness.check(false); } catch (IllegalArgumentException _) { harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } if (checks[1]) try { field.setByte(this, byteField); harness.check(false); } catch (IllegalArgumentException _) { harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } if (checks[2]) try { field.setChar(this, charField); harness.check(false); } catch (IllegalArgumentException _) { harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } if (checks[3]) try { field.setShort(this, shortField); harness.check(false); } catch (IllegalArgumentException _) { harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } if (checks[4]) try { field.setInt(this, intField); harness.check(false); } catch (IllegalArgumentException _) { harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } if (checks[5]) try { field.setFloat(this, floatField); harness.check(false); } catch (IllegalArgumentException _) { harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } if (checks[6]) try { field.setLong(this, longField); harness.check(false); } catch (IllegalArgumentException _) { harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } if (checks[7]) try { field.setDouble(this, doubleField); harness.check(false); } catch (IllegalArgumentException _) { harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } } private void testSetObjectIllegalArgument(TestHarness harness, Field field, boolean[] checks) { if (checks[0]) try { field.set(this, new Boolean(booleanField)); harness.check(false); } catch (IllegalArgumentException _) { harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } if (checks[1]) try { field.set(this, new Byte(byteField)); harness.check(false); } catch (IllegalArgumentException _) { harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } if (checks[2]) try { field.set(this, new Character(charField)); harness.check(false); } catch (IllegalArgumentException _) { harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } if (checks[3]) try { field.set(this, new Short(shortField)); harness.check(false); } catch (IllegalArgumentException _) { harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } if (checks[4]) try { field.set(this, new Integer(intField)); harness.check(false); } catch (IllegalArgumentException _) { harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } if (checks[5]) try { field.set(this, new Float(floatField)); harness.check(false); } catch (IllegalArgumentException _) { harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } if (checks[6]) try { field.set(this, new Long(longField)); harness.check(false); } catch (IllegalArgumentException _) { harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } if (checks[7]) try { field.set(this, new Double(doubleField)); harness.check(false); } catch (IllegalArgumentException _) { harness.check(true); } catch (Exception x) { harness.debug(x); harness.check(false); } } } mauve-20140821/gnu/testlet/java/lang/reflect/Field/access.java0000644000175000001440000000243107714007051022640 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2003 Red Hat, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.reflect.Field; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.lang.reflect.Field; public class access implements Testlet { int value; public void test(TestHarness harness) { // Regression test for libgcj bug. // See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11779 try { Field field = access.class.getDeclaredField("value"); field.setInt(this, 777); } catch (Exception ignore) { } harness.check(value, 777); } } mauve-20140821/gnu/testlet/java/lang/reflect/sub/0000755000175000001440000000000012375316426020312 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/reflect/sub/InvokeHelper.java0000644000175000001440000000177410133773013023546 0ustar dokousers// Tags: not-a-test // shouldn't be a test at all, but... // Copyright (C) 2004 Red Hat, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.reflect.sub; import gnu.testlet.java.lang.reflect.Method.invoke; public class InvokeHelper extends invoke { public String p() { return "InvokeHelper"; } } mauve-20140821/gnu/testlet/java/lang/reflect/sub/OtherPkg.java0000644000175000001440000000033210173030271022657 0ustar dokouserspackage gnu.testlet.java.lang.reflect.sub; public class OtherPkg { static void g() { } void h() { } protected void i() { } static char j = 'j'; char k = 'k'; protected char l = 'l'; } mauve-20140821/gnu/testlet/java/lang/reflect/sub/Super.java0000644000175000001440000000045010173030270022232 0ustar dokouserspackage gnu.testlet.java.lang.reflect.sub; public class Super { void s() { } protected static void t() { } protected void u() { } private void v() { } protected static char w = 'w'; protected char x = 'x'; static char y = 'y'; private char z = 'z'; } mauve-20140821/gnu/testlet/java/lang/reflect/ReflectAccess.java0000644000175000001440000001441610042226713023064 0ustar dokousers// Tags: JDK1.1 // Uses: sub/OtherPkg sub/Super Other // Test reflection member accessibility checks. package gnu.testlet.java.lang.reflect; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.lang.reflect.*; import gnu.testlet.java.lang.reflect.sub.*; public class ReflectAccess extends Super implements Testlet { TestHarness harness; public void test(TestHarness harness) { this.harness = harness; try { doTest(); } catch (Exception x) { harness.debug(x); harness.fail(x.toString()); } } void doTest() throws Exception { Method methodA = ReflectAccess.class.getDeclaredMethod("a", null); Method methodB = ReflectAccess.class.getDeclaredMethod("b", null); Method methodC = ReflectAccess.class.getDeclaredMethod("c", null); Field fieldD = ReflectAccess.class.getDeclaredField("d"); Field fieldE = ReflectAccess.class.getDeclaredField("e"); Field fieldF = ReflectAccess.class.getDeclaredField("f"); Method methodG = OtherPkg.class.getDeclaredMethod("g", null); Method methodH = OtherPkg.class.getDeclaredMethod("h", null); Method methodI = OtherPkg.class.getDeclaredMethod("i", null); Field fieldJ = OtherPkg.class.getDeclaredField("j"); Field fieldK = OtherPkg.class.getDeclaredField("k"); Field fieldL = OtherPkg.class.getDeclaredField("l"); Method methodM = Other.class.getDeclaredMethod("m", null); Method methodN = Other.class.getDeclaredMethod("n", null); Method methodO = Other.class.getDeclaredMethod("o", null); Field fieldP = Other.class.getDeclaredField("p"); Field fieldQ = Other.class.getDeclaredField("q"); Field fieldR = Other.class.getDeclaredField("r"); try { Method methodT = ReflectAccess.class.getDeclaredMethod("t", null); harness.fail(methodT + " is not declared in class ReflectAccess"); } catch (NoSuchMethodException x) { // ok harness.check(true, "method 't' is declared in class ReflectAccess"); } Method methodS = Super.class.getDeclaredMethod("s", null); Method methodT = Super.class.getDeclaredMethod("t", null); Method methodU = Super.class.getDeclaredMethod("u", null); Method methodV = Super.class.getDeclaredMethod("v", null); Field fieldW = Super.class.getDeclaredField("w"); Field fieldX = Super.class.getDeclaredField("x"); Field fieldY = Super.class.getDeclaredField("y"); Field fieldZ = Super.class.getDeclaredField("z"); Object obj = new ReflectAccess(); methodA.invoke(obj, null); methodB.invoke(null, null); methodC.invoke(obj, null); harness.check (fieldD.getChar(obj) == 'd', "field d is accessible"); harness.check (fieldE.getChar(obj) == 'e', "field e is accessible"); harness.check (fieldF.getChar(obj) == 'f', "field f is accessible"); obj = new OtherPkg(); try { methodG.invoke(obj, null); harness.fail(methodG + " should not be accessible"); } catch (IllegalAccessException x) { // ok harness.check(true, methodG + " is inaccessible"); } try { methodH.invoke(obj, null); harness.fail(methodH + " should not be accessible"); } catch (IllegalAccessException x) { // ok harness.check(true, methodH + " is inaccessible"); } try { methodI.invoke(obj, null); harness.fail(methodI + " should not be accessible"); } catch (IllegalAccessException x) { // ok harness.check(true, methodI + " is inaccessible"); } try { fieldJ.getChar(obj); harness.fail(fieldJ + " should not be accessible"); } catch (IllegalAccessException x) { // ok harness.check(true, fieldJ + " is inaccessible"); } try { fieldK.getChar(obj); harness.fail(fieldK + " should not be accessible"); } catch (IllegalAccessException x) { // ok harness.check(true, fieldK + " is inaccessible"); } try { fieldL.getChar(obj); harness.fail(fieldL + " should not be accessible"); } catch (IllegalAccessException x) { // ok harness.check(true, fieldL + " is inaccessible"); } obj = new Other(); methodM.invoke(null, null); methodN.invoke(obj, null); try { methodO.invoke(obj, null); harness.fail(methodO + " should not be accessible"); } catch (IllegalAccessException x) { // ok harness.check(true, methodO + " is inaccessible"); } methodO.setAccessible(true); methodO.invoke(obj, null); harness.check (fieldP.getChar(obj) == 'p'); harness.check (fieldQ.getChar(obj) == 'q'); try { fieldR.getChar(obj); harness.fail(fieldR + " should not be accessible"); } catch (IllegalAccessException x) { // ok harness.check(true, fieldR + " is inaccessible"); } fieldR.setAccessible(true); harness.check(fieldR.getChar(obj) == 'r', fieldR + " is accessible"); obj = new ReflectAccess(); try { methodS.invoke(obj, null); harness.fail(methodS + " should not be accessible"); } catch (IllegalAccessException x) { // ok harness.check(true, methodS + " is inaccessible"); } methodT.invoke(obj, null); methodU.invoke(obj, null); try { methodV.invoke(obj, null); harness.fail(methodV + " should not be accessible"); } catch (IllegalAccessException x) { // ok harness.check(true, methodV + " is inaccessible"); } harness.check (fieldW.getChar(obj) == 'w'); harness.check (fieldX.getChar(obj) == 'x'); try { fieldY.getChar(obj); harness.fail(fieldY + " should not be accessible"); } catch (IllegalAccessException x) { // ok harness.check(true, fieldY + " is inaccessible"); } try { fieldZ.getChar(obj); harness.fail(fieldZ + " should not be accessible"); } catch (IllegalAccessException x) { // ok harness.check(true, fieldZ + " is inaccessible"); } } private void a() { } private static void b() { } protected void c() { } private char d = 'd'; private static char e = 'e'; protected char f = 'f'; } mauve-20140821/gnu/testlet/java/lang/reflect/Array/0000755000175000001440000000000012375316426020577 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/reflect/Array/set.java0000644000175000001440000000372707727447717022263 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2003 Red Hat, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.reflect.Array; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.lang.reflect.Array; public class set implements Testlet { public void test(TestHarness harness) { Throwable[] x = new Throwable[5]; Array.set (x, 0, null); harness.check (x[0], null); Throwable t = new Throwable(); Array.set (x, 1, t); harness.check(x[1], t); Exception e = new Exception(); Array.set (x, 2, e); harness.check(x[2], e); Object o = new Object(); boolean exception_thrown = false; try { Array.set (x, 3, o); } catch (IllegalArgumentException iae) { exception_thrown = true; } harness.check(exception_thrown); harness.check(x[3], null); String s = "string"; exception_thrown = false; try { Array.set (x, 4, s); } catch (IllegalArgumentException iae) { exception_thrown = true; } harness.check(exception_thrown); harness.check(x[4], null); exception_thrown = false; try { Array.set (x, 5, t); } catch (ArrayIndexOutOfBoundsException aioobe) { exception_thrown = true; } harness.check(exception_thrown); } } mauve-20140821/gnu/testlet/java/lang/reflect/Array/newInstance.java0000644000175000001440000001665510056352620023723 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2000, 2001 Red Hat, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.reflect.Array; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.lang.reflect.Array; public class newInstance implements Testlet { public void test(TestHarness harness) { harness.checkPoint("Void.TYPE"); int val = 0; Object x = null; try { x = Array.newInstance(Void.TYPE, 10); val = 1; } catch (IllegalArgumentException iae) { val = 2; } catch (NullPointerException npe) { val = 4; } catch (Throwable t) { val = 3; } harness.check(val, 2); try { harness.check(x, null); //Some Sun-based JDKs don't return null here } catch (InternalError ie) { harness.check(null, ie); } harness.checkPoint("Integer.TYPE"); try { x = Array.newInstance(Integer.TYPE, 10); val = 1; } catch (IllegalArgumentException iae) { val = 2; } catch (NullPointerException npe) { val = 4; } catch (Throwable t) { val = 3; } harness.check(val, 1); val = 999; try { val = ((int[]) x).length; } catch (ClassCastException cce) { val = 99; } harness.check(val, 10); val = 0; try { if (x.getClass().getComponentType() == Integer.TYPE) val = 1; } catch (Throwable t) { val = 2; } harness.check(val, 1); harness.checkPoint("NegativeArraySize"); try { x = Array.newInstance(String.class, -101); val = 1; } catch (NegativeArraySizeException nas) { val = 2; } catch (Throwable t) { val = 3; } harness.check(val, 2); harness.checkPoint("multi-dimensional"); val = 0; try { x = Array.newInstance(String.class, null); val = 1; } catch (NullPointerException e) { val = 2; } catch (Throwable t) { harness.debug(t); val = 3; } harness.check(val, 2); val = 0; try { x = Array.newInstance(String.class, new int[0]); val = 1; } catch (IllegalArgumentException e) { val = 2; } catch (Throwable t) { harness.debug(t); val = 3; } harness.check(val, 2); // This test is wrong: 255 is a potential limit, but not a // specified limit. // val = 0; // try // { // x = Array.newInstance(String.class, new int[256]); // val = 1; // } // catch (IllegalArgumentException e) // { // val = 2; // } // catch (Throwable t) // { // val = 3; // } /// harness.check(val, 2); val = 0; try { // Some Sun JDKs croak, even though this is legal x = Array.newInstance(String.class, new int[255]); val = 1; } catch (Throwable t) { harness.debug(t); val = 2; } harness.check(val, 1); val = 0; try { // Note that the non-reflective version, new String[0][-1], should // also fail, but does not on certain VMs; hence an additional test x = Array.newInstance(String.class, new int[] {0, -1}); val = 1; } catch (NegativeArraySizeException e) { val = 2; } catch (Throwable t) { harness.debug(t); val = 3; } harness.check(val, 2); val = 0; try { x = new int[0][-1]; val = 1; } catch (NegativeArraySizeException e) { val = 2; } catch (Throwable t) { harness.debug(t); val = 3; } harness.check(val, 2); val = 0; try { x = Array.newInstance(String.class, new int[] {Integer.MAX_VALUE, Integer.MAX_VALUE}); val = 1; } catch (OutOfMemoryError e) { val = 2; } catch (Throwable t) { harness.debug(t); val = 3; } harness.check(val, 2); harness.checkPoint("array"); Class c = null; val = 0; try { // see above for why this is not 255 x = Array.newInstance(String.class, new int[254]); c = x.getClass(); // faster than writing String[]...[].class } catch (Throwable t) { val = 1; } // This is invalid: it is ok to have an array with >255 // dimensions. // try // { // x = Array.newInstance(c, new int[] {1, 1}); // val = 2; // } // catch (IllegalArgumentException e) // { // val = 3; // } // catch (Throwable t) // { // val = 4; // } // harness.check(val, 3); try { x = Array.newInstance(c, 1); val = 5; } catch (Throwable t) { val = 6; } harness.check(val, 5); // Another invalid test. // try // { // x = Array.newInstance(x.getClass(), 1); // val = 7; // } // catch (IllegalArgumentException e) // { // val = 8; // } // catch (Throwable t) // { // val = 9; // } // harness.check(val, 8); // Also invalid. // try // { // x = Array.newInstance(x.getClass(), new int[] {1, 1}); // val = 10; // } // catch (IllegalArgumentException e) // { // val = 11; // } // catch (Throwable t) // { // val = 12; // } // harness.check(val, 11); val = 0; try { x = Array.newInstance(int[].class, 1); val = 1; if (((int[][]) x).length == 1) val = 2; } catch (Throwable t) { val = 3; } harness.check(val, 2); harness.checkPoint("interface"); val = 0; try { x = Array.newInstance(Runnable.class, 5); val = 1; } catch (Throwable t) { val = 2; } harness.check(val, 1); try { val = ((Runnable[]) x).length; } catch (ClassCastException cce) { val = 3; } harness.check(val, 5); val = 0; try { if (x.getClass().getComponentType() == Runnable.class) val = 1; if (((Runnable[]) x)[0] == null) val = 2; } catch (Throwable t) { val = 3; } harness.check(val, 2); harness.checkPoint("String"); x = "check"; val = 0; try { x = Array.newInstance(String.class, 100); val = 1; } catch (IllegalArgumentException iae) { val = 2; } catch (NullPointerException npe) { val = 4; } catch (Throwable t) { val = 3; } harness.check(val, 1); try { val = ((String[]) x).length; } catch (ClassCastException cce) { val = 99; } harness.check(val, 100); harness.debug(x.getClass().toString()); val = 0; try { if (x.getClass().getComponentType() == String.class && ((String[]) x)[0] == null) val = 1; } catch (Throwable t) { val = 2; } harness.check(val, 1); } } mauve-20140821/gnu/testlet/java/lang/reflect/Method/0000755000175000001440000000000012375316426020741 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/reflect/Method/equals.java0000644000175000001440000000440607556346312023104 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2002 Free Software Foundation, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.reflect.Method; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.lang.reflect.Method; /** * Tests java.lang.reflect.Method.equals(). * * @author Mark Wielaard */ public class equals implements Testlet { void q() { } void r() { } public String toString() { return "funny equals class thing"; } public void m() { } public void m(String s) { } private Method getMethod(Class c, String n, Class[] ts) { try { return c.getDeclaredMethod(n, ts); } catch (NoSuchMethodException nsme) { throw new RuntimeException("Warning - no such method: " + c + ", " + n); } } public void test (TestHarness harness) { Method m1, m2; Class[] ts; ts = new Class[0]; m1 = getMethod(equals.class, "q", ts); m2 = getMethod(equals.class, "q", ts); harness.check(m1.equals(m2), "same method q"); m2 = getMethod(equals.class, "r", ts); harness.check(!m1.equals(m2), "different method names q and r"); m1 = getMethod(String.class, "toString", ts); m2 = getMethod(equals.class, "toString", ts); harness.check(!m1.equals(m2), "different declaring classes for toString"); m1 = getMethod(equals.class, "m", ts); ts = new Class[1]; ts[0] = String.class; m2 = getMethod(equals.class, "m", ts); harness.check(!m1.equals(m2), "different argument types m"); harness.check(!m1.equals(null), "nothing equals null"); } } mauve-20140821/gnu/testlet/java/lang/reflect/Method/iface.java0000644000175000001440000000163607753537633022672 0ustar dokousers// Tags: not-a-test // Copyright (C) 2003 Red Hat, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.lang.reflect.Method; public interface iface { String no_args (); void returns_void (Integer v1, Integer v2); } mauve-20140821/gnu/testlet/java/lang/reflect/Method/toString.java0000644000175000001440000000747410133204236023412 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 1999, 2000, 2001, 2004 Red Hat, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.reflect.Method; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.lang.reflect.Method; public class toString implements Testlet { public Method getMethod (Class ic, String name, Class[] list) { Method m = null; try { m = ic.getMethod(name, list); } catch (Throwable _) { // Nothing. } return m; } public String no_args () { return "zardoz"; } public void simpleargs (int i, byte b) { } public int arrayargs (int[] z) { return z.length; } public int multidim_arrayargs (int[][][] z) { return z.length; } public String classargs (String[][] s) { return "test"; } public String[] arrayreturn() { return null; } public void test (TestHarness harness) { Class ic = null; try { ic = Class.forName ("gnu.testlet.java.lang.reflect.Method.toString"); } catch (Throwable _) { // Lose. } Class[] na_list = new Class[0]; Method na_meth = getMethod (ic, "no_args", na_list); harness.checkPoint("method with no arguments"); harness.check (na_meth.toString (), "public java.lang.String gnu.testlet.java.lang.reflect.Method.toString.no_args()"); Class[] simple_list = new Class[2]; simple_list[0] = int.class; simple_list[1] = byte.class; Method simple_meth = getMethod (ic, "simpleargs", simple_list); harness.checkPoint("method with primitive argument types"); harness.check (simple_meth.toString (), "public void gnu.testlet.java.lang.reflect.Method.toString.simpleargs(int,byte)"); Class[] aa_list = new Class[1]; aa_list[0] = int[].class; Method aa_meth = getMethod (ic, "arrayargs", aa_list); harness.checkPoint("method with a simple array type as argument"); harness.check (aa_meth.toString (), "public int gnu.testlet.java.lang.reflect.Method.toString.arrayargs(int[])"); Method mdaa_meth = getMethod (ic, "multidim_arrayargs", aa_list); harness.check(mdaa_meth == null, "invalid argument list for this method, getMethod should return null"); aa_list = new Class[1]; aa_list[0] = int[][][].class; mdaa_meth = getMethod (ic, "multidim_arrayargs", aa_list); harness.checkPoint("method with multiple array dims in argument"); harness.check (mdaa_meth.toString (), "public int gnu.testlet.java.lang.reflect.Method.toString.multidim_arrayargs(int[][][])"); aa_list = new Class[1]; aa_list[0] = String[][].class; Method string_meth = getMethod (ic, "classargs", aa_list); harness.checkPoint("method with class type array"); harness.check (string_meth.toString (), "public java.lang.String gnu.testlet.java.lang.reflect.Method.toString.classargs(java.lang.String[][])"); na_list = new Class[0]; Method ra_meth = getMethod (ic, "arrayreturn", na_list); harness.checkPoint("method with array as return type"); harness.check (ra_meth.toString (), "public java.lang.String[] gnu.testlet.java.lang.reflect.Method.toString.arrayreturn()"); } } mauve-20140821/gnu/testlet/java/lang/reflect/Method/invoke.java0000644000175000001440000001351410133425475023076 0ustar dokousers// Tags: JDK1.1 // Uses: ../sub/InvokeHelper iface // Copyright (C) 1999, 2000, 2001, 2003, 2004 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.reflect.Method; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.java.lang.reflect.sub.InvokeHelper; import java.lang.reflect.Method; import java.lang.reflect.InvocationTargetException; public class invoke implements Testlet, iface { int save = 0; // Don't use `.class' because gcj doesn't handle it yet. static Class tclass = null; static { try { tclass = Class.forName("java.lang.Throwable"); } catch (Throwable _) { // Nothing. } } public String no_args () { return "zardoz"; } private String private_method () { return "ok"; } // Note that this is not overridden by InvokeHelper.p(). String p () { return "ppm"; } public static int takes_int (int val) { if (val < 0) throw new IllegalArgumentException (); return val + 3; } public void returns_void (Integer val1, Integer val2) { save = val1.intValue() + val2.intValue(); } public void try_invoke (TestHarness harness, Method method, Object obj, Object[] args, Object expect) { Object result = null; try { result = method.invoke (obj, args); } catch (Throwable t) { result = t; } if (tclass.isInstance(expect)) { // We're expecting an exception, so just make sure the types // match. harness.check(result.getClass(), expect.getClass()); } else harness.check(result, expect); } public Method getMethod (Class ic, String name, Class[] list) { Method m = null; try { m = ic.getMethod(name, list); } catch (Throwable _) { // Nothing. } return m; } public Method getDeclaredMethod (Class ic, String name, Class[] list) { Method m = null; try { m = ic.getDeclaredMethod(name, list); } catch (Throwable _) { // Nothing. } return m; } public void test (TestHarness harness) { // Don't use `.class' because gcj doesn't handle it yet. Class[] ic = new Class[2]; try { ic[0] = Class.forName("gnu.testlet.java.lang.reflect.Method.invoke"); ic[1] = Class.forName("gnu.testlet.java.lang.reflect.Method.iface"); } catch (Throwable _) { // Just lose. } for (int i = 0; i < ic.length; ++i) { Class[] na_list = new Class[0]; Method na_meth = getMethod (ic[i], "no_args", na_list); Class[] ti_list = new Class[1]; ti_list[0] = Integer.TYPE; Method ti_meth = getMethod (ic[i], "takes_int", ti_list); Class[] rv_list = new Class[2]; rv_list[0] = null; try { rv_list[0] = Class.forName("java.lang.Integer"); } catch (Throwable _) { // Just lose. } rv_list[1] = rv_list[0]; Method rv_meth = getMethod (ic[i], "returns_void", rv_list); harness.checkPoint ("no_args for " + ic[i]); Object[] args0 = new Object[0]; // Successful invocation. try_invoke (harness, na_meth, this, args0, "zardoz"); // Null `this' should fail. try_invoke (harness, na_meth, null, args0, new NullPointerException ()); if (! ic[i].isInterface()) { // Too few arguments. try_invoke (harness, ti_meth, this, args0, new IllegalArgumentException ()); } // Wrong class for `this'. try_invoke (harness, na_meth, new NullPointerException (), args0, new IllegalArgumentException ()); // null argument list is ok, at least according to JDK // implementation. try_invoke (harness, na_meth, this, null, "zardoz"); if (! ic[i].isInterface()) { harness.checkPoint ("takes_int for " + ic[i]); Object[] args1 = new Object[1]; args1[0] = new Integer (5); try_invoke (harness, na_meth, this, args1, new IllegalArgumentException ()); try_invoke (harness, ti_meth, this, args1, new Integer (8)); // null should work for object as this is a static method. try_invoke (harness, ti_meth, null, args1, new Integer (8)); args1[0] = "joe louis"; try_invoke (harness, ti_meth, null, args1, new IllegalArgumentException ()); args1[0] = new Short ((short) 3); try_invoke (harness, ti_meth, null, args1, new Integer (6)); args1[0] = new Long (72); try_invoke (harness, ti_meth, null, args1, new IllegalArgumentException ()); args1[0] = null; try_invoke (harness, ti_meth, null, args1, new IllegalArgumentException ()); args1[0] = new Integer (-5); try_invoke (harness, ti_meth, null, args1, new InvocationTargetException (new IllegalArgumentException ())); } harness.checkPoint ("returns_void for " + ic[i]); Object[] args2 = new Object[2]; args2[0] = new Integer (7); args2[1] = new Integer (8); try_invoke (harness, rv_meth, this, args2, null); harness.check(save, 15); harness.checkPoint("invoke private method"); Method pvm = getDeclaredMethod(ic[0], "private_method", null); try_invoke (harness, pvm, this, null, "ok"); harness.checkPoint("invoke package-private method"); Method ppvm = getDeclaredMethod(ic[0], "p", null); invoke sub = new InvokeHelper(); try_invoke (harness, ppvm, sub, null, "ppm"); } } } mauve-20140821/gnu/testlet/java/lang/reflect/InvocationTargetException/0000755000175000001440000000000012375316426024660 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/reflect/InvocationTargetException/Chain.java0000644000175000001440000000277510415006343026543 0ustar dokousers/* Chain.java -- Test exception chaining Copyright (C) 2006 Red Hat, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class Chain extends InvocationTargetException implements Testlet { public Chain() { } public Chain(Throwable targetException, String err) { super(targetException, err); } public Chain(Throwable targetException) { super(targetException); } public void test(TestHarness harness) { boolean ok = false; try { Throwable t = new Throwable(); Chain c = new Chain(); // Bogusly, the JDK does not allow this. c.initCause(c); } catch (IllegalStateException _) { harness.debug(_); ok = true; } harness.check(ok); } } mauve-20140821/gnu/testlet/java/lang/reflect/Modifier/0000755000175000001440000000000012375316450021254 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/reflect/Modifier/toString.java0000644000175000001440000000420506634200745023731 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.reflect.Modifier; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.lang.reflect.Modifier; public class toString implements Testlet { public void test (TestHarness harness) { harness.check (Modifier.toString (Modifier.PUBLIC), "public"); harness.check (Modifier.toString (Modifier.PRIVATE), "private"); harness.check (Modifier.toString (Modifier.PROTECTED), "protected"); harness.check (Modifier.toString (Modifier.STATIC), "static"); harness.check (Modifier.toString (Modifier.FINAL), "final"); harness.check (Modifier.toString (Modifier.SYNCHRONIZED), "synchronized"); harness.check (Modifier.toString (Modifier.VOLATILE), "volatile"); harness.check (Modifier.toString (Modifier.TRANSIENT), "transient"); harness.check (Modifier.toString (Modifier.NATIVE), "native"); harness.check (Modifier.toString (Modifier.INTERFACE), "interface"); harness.check (Modifier.toString (Modifier.ABSTRACT), "abstract"); // Spot-check a few combinations. Add more as desired. harness.check (Modifier.toString (Modifier.PRIVATE | Modifier.INTERFACE), "private interface"); harness.check (Modifier.toString (Modifier.ABSTRACT | Modifier.NATIVE), "abstract native"); } } mauve-20140821/gnu/testlet/java/lang/reflect/Modifier/toString12.java0000644000175000001440000000361607452670763024113 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 1999 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.reflect.Modifier; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.lang.reflect.Modifier; public class toString12 implements Testlet { public void test (TestHarness harness) { harness.check (Modifier.toString (Modifier.STRICT), "strictfp"); harness.check (Modifier.toString (Modifier.FINAL | Modifier.STRICT), "final strictfp"); int allFlags = Modifier.PUBLIC | Modifier.PRIVATE | Modifier.PROTECTED | Modifier.STATIC | Modifier.FINAL | Modifier.SYNCHRONIZED | Modifier.VOLATILE | Modifier.TRANSIENT | Modifier.NATIVE | Modifier.INTERFACE | Modifier.ABSTRACT | Modifier.STRICT; // Note that order matters. harness.check (Modifier.toString (allFlags), "public protected private abstract static final transient volatile synchronized native strictfp interface", "check order of all flags"); } } mauve-20140821/gnu/testlet/java/lang/ThreadLocal/0000755000175000001440000000000012375316426020257 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/ThreadLocal/simple.java0000644000175000001440000000356007452047350022414 0ustar dokousers// Simple tests of ThreadLocal // Copyright (C) 2001 Red Hat, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.3 package gnu.testlet.java.lang.ThreadLocal; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class simple extends ThreadLocal implements Testlet, Runnable { // ThreadLocal method public Object initialValue () { return "Maude"; } public TestHarness myHarness; public void run () { myHarness.check (this.get (), "Maude", "Initial value in new thread"); this.set ("Wednesday"); myHarness.check (this.get (), "Wednesday", "Changed value in new thread"); } public simple (TestHarness harness) { super (); myHarness = harness; } public simple () { super (); myHarness = null; } public void test (TestHarness harness) { harness.check (this.get (), "Maude", "Check initial value"); this.set ("Liver"); harness.check (this.get (), "Liver", "Check changed value"); try { simple s = new simple (harness); Thread t = new Thread(s); t.start (); t.join (); } catch (InterruptedException _) { } harness.check (this.get (), "Liver", "Value didn't change"); } } mauve-20140821/gnu/testlet/java/lang/Boolean/0000755000175000001440000000000012375316450017451 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Boolean/new_Boolean.java0000644000175000001440000000311706634200703022540 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Boolean; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class new_Boolean implements Testlet { public void test (TestHarness harness) { Boolean a = new Boolean("true"); Boolean b = new Boolean("TRUE"); Boolean c = new Boolean("tRuE"); Boolean d = new Boolean("false"); Boolean e = new Boolean("foo"); Boolean f = new Boolean(""); Boolean g = new Boolean(true); Boolean h = new Boolean(false); harness.check(a.booleanValue()); harness.check(b.booleanValue()); harness.check(c.booleanValue()); harness.check(! d.booleanValue()); harness.check(! e.booleanValue()); harness.check(! f.booleanValue()); harness.check(g.booleanValue()); harness.check(! h.booleanValue()); } } mauve-20140821/gnu/testlet/java/lang/Boolean/valueOfString.java0000644000175000001440000000312411757724254023114 0ustar dokousers// Test of Boolean method valueOf(String) // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.5 // Tags: CompileOptions: -source 1.5 package gnu.testlet.java.lang.Boolean; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test the method Boolean.valueOf(String). */ public class valueOfString implements Testlet { public void test (TestHarness harness) { harness.check(Boolean.valueOf("true"), Boolean.TRUE); harness.check(Boolean.valueOf("false"), Boolean.FALSE); harness.check(Boolean.valueOf("TRUE"), Boolean.TRUE); harness.check(Boolean.valueOf("FALSE"), Boolean.FALSE); harness.check(Boolean.valueOf("tRUE"), Boolean.TRUE); harness.check(Boolean.valueOf("fALSE"), Boolean.FALSE); harness.check(Boolean.valueOf("tRUe"), Boolean.TRUE); harness.check(Boolean.valueOf("fALSe"), Boolean.FALSE); } } mauve-20140821/gnu/testlet/java/lang/Boolean/equals_Boolean.java0000644000175000001440000000252406634200700023237 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Boolean; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class equals_Boolean implements Testlet { public void test (TestHarness harness) { Boolean a = new Boolean("true"); Boolean b = new Boolean("false"); Integer i = new Integer(123); harness.check (! a.equals(null)); harness.check (! a.equals(b)); harness.check (a.equals(Boolean.TRUE)); harness.check (! a.equals(Boolean.FALSE)); harness.check (b.equals(Boolean.FALSE)); harness.check (! b.equals(i)); } } mauve-20140821/gnu/testlet/java/lang/Boolean/compareToBoolean.java0000644000175000001440000000370311757724254023560 0ustar dokousers// Test of Boolean method compareTo(Boolean). // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.4 // Tags: CompileOptions: -source 1.4 package gnu.testlet.java.lang.Boolean; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test the method Boolean.compareTo(Object); */ public class compareToBoolean implements Testlet { public static final int LESS = -1; public static final int EQUAL = 0; public static final int GREATER = 1; TestHarness harness; void compare(Boolean b1, Boolean b2, int expected) { // the result need not be -1, 0, 1; just <0, 0, >0 int result = b1.compareTo(b2); switch (expected) { case LESS: harness.check(result < 0); break; case EQUAL: harness.check(result == 0); break; case GREATER: harness.check(result > 0); break; default: throw new Error(); } } /** * Entry point to this test. */ public void test(TestHarness harness) { this.harness = harness; harness.checkPoint("compareTo"); compare(Boolean.TRUE, Boolean.TRUE, EQUAL); compare(Boolean.TRUE, Boolean.FALSE, GREATER); compare(Boolean.FALSE, Boolean.TRUE, LESS); compare(Boolean.FALSE, Boolean.FALSE, EQUAL); } } mauve-20140821/gnu/testlet/java/lang/Boolean/BooleanTest.java0000644000175000001440000000725410206401714022530 0ustar dokousers/* Copyright (C) 1999 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Tags: JDK1.0 package gnu.testlet.java.lang.Boolean; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class BooleanTest implements Testlet { public void test_Basics(TestHarness harness) { harness.checkPoint ("Basics"); harness.check (Boolean.TRUE.equals(new Boolean(true)) && Boolean.FALSE.equals(new Boolean(false))); Boolean b1 = new Boolean( true ); Boolean b2 = new Boolean( false ); harness.check (b1.booleanValue() == true && b2.booleanValue() == false); Boolean bs1 = new Boolean ("True"); Boolean bs2 = new Boolean ("False"); Boolean bs3 = new Boolean ("true"); Boolean bs4 = new Boolean ("hi"); Boolean bs5 = new Boolean (""); harness.check (bs1.booleanValue() == true && bs2.booleanValue() == false && bs3.booleanValue() == true && bs4.booleanValue() == false && bs5.booleanValue() == false ); harness.check (bs1.toString().equals("true") && bs2.toString().equals("false")); } public void test_equals (TestHarness harness) { harness.checkPoint ("equals"); Boolean b1 = new Boolean(true); Boolean b2 = new Boolean(false); harness.check (! b1.equals(new Integer(4))); harness.check (! b1.equals(null)); harness.check (! b1.equals( b2 )); harness.check (b1.equals( new Boolean(true) )); } public void test_hashCode(TestHarness harness) { harness.checkPoint ("hashCode"); Boolean b1 = new Boolean(true); Boolean b2 = new Boolean(false); harness.check ( b1.hashCode() == 1231 && b2.hashCode() == 1237 ); } public void test_booleanValue(TestHarness harness) { harness.checkPoint ("booleanValue"); Boolean b1 = new Boolean(true); Boolean b2 = new Boolean(false); harness.check ( b1.booleanValue() == true && b2.booleanValue() == false ); } public void test_valueOf(TestHarness harness) { harness.checkPoint ("valueOf"); harness.check (Boolean.valueOf("True").booleanValue() && Boolean.valueOf("true").booleanValue() && !Boolean.valueOf("anc").booleanValue()); } public void test_getBoolean(TestHarness harness) { harness.checkPoint ("getBoolean"); java.util.Properties prop = System.getProperties(); prop.put("booleankey1" , "true" ); prop.put("booleankey2" , "false" ); prop.put("booleankey3" , "hi" ); System.setProperties(prop); harness.check ( Boolean.getBoolean("booleankey1") == true && Boolean.getBoolean("booleankey2") == false && Boolean.getBoolean("booleankey3") == false ); } public void test (TestHarness harness) { test_Basics (harness); test_equals (harness); test_hashCode (harness); test_booleanValue (harness); test_valueOf (harness); test_getBoolean (harness); } } mauve-20140821/gnu/testlet/java/lang/Boolean/toString.java0000644000175000001440000000334611757724254022143 0ustar dokousers// Test of Boolean methods toString() and toString(boolean). // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.4 // Tags: CompileOptions: -source 1.4 package gnu.testlet.java.lang.Boolean; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test of Boolean methods toString() and toString(boolean). */ public class toString implements Testlet { public void test (TestHarness harness) { // test of method Boolean.toString() harness.check(new Boolean(true).toString(), "true"); harness.check(new Boolean(false).toString(), "false"); harness.check(new Boolean("true").toString(), "true"); harness.check(new Boolean("false").toString(), "false"); // test of static method Boolean.toString(boolean) harness.check(Boolean.toString(true), "true"); harness.check(Boolean.toString(false), "false"); harness.check(Boolean.toString(Boolean.TRUE.booleanValue()), "true"); harness.check(Boolean.toString(Boolean.FALSE.booleanValue()), "false"); } } mauve-20140821/gnu/testlet/java/lang/Boolean/compareToObject.java0000644000175000001440000000550211757724254023406 0ustar dokousers// Test of Boolean method compareTo(Object). // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.4 // Tags: CompileOptions: -source 1.4 -target 1.4 package gnu.testlet.java.lang.Boolean; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test the method Boolean.compareTo(Object); */ public class compareToObject implements Testlet { public static final int LESS = -1; public static final int EQUAL = 0; public static final int GREATER = 1; TestHarness harness; void compare(Boolean i1, Object o, int expected) { // the result need not be -1, 0, 1; just <0, 0, >0 int result = i1.compareTo(o); switch (expected) { case LESS: harness.check(result < 0); break; case EQUAL: harness.check(result == 0); break; case GREATER: harness.check(result > 0); break; default: throw new Error(); } } /** * Entry point to this test. */ public void test(TestHarness harness) { this.harness = harness; harness.checkPoint("compareTo"); compare(Boolean.TRUE, Boolean.TRUE, EQUAL); compare(Boolean.TRUE, Boolean.FALSE, GREATER); compare(Boolean.FALSE, Boolean.TRUE, LESS); compare(Boolean.FALSE, Boolean.FALSE, EQUAL); Object o = Boolean.TRUE; boolean ok; harness.check(((Comparable)Boolean.TRUE).compareTo(o) == 0); ok = false; try { Boolean.TRUE.compareTo((Boolean) null); } catch (NullPointerException e) { ok = true; } harness.check(ok); harness.checkPoint("negative test"); try { Boolean a; Byte b; a = new Boolean(true); b = new Byte((byte)1); compare(a,b,1); harness.fail("Exception should be thrown here."); } catch (ClassCastException e) { // ok - exception was thrown harness.check(true); } try { Boolean a; String b; a = new Boolean(true); b = "foobar"; compare(a,b,1); harness.fail("Exception should be thrown here."); } catch (ClassCastException e) { // ok - exception was thrown harness.check(true); } } } mauve-20140821/gnu/testlet/java/lang/Boolean/valueOfBoolean.java0000644000175000001440000000236211757724254023230 0ustar dokousers// Test of Boolean method valueOf(boolean). // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.5 // Tags: CompileOptions: -source 1.5 package gnu.testlet.java.lang.Boolean; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test the method Boolean.valueOf(boolean). */ public class valueOfBoolean implements Testlet { public void test (TestHarness harness) { harness.check(Boolean.valueOf(true), Boolean.TRUE); harness.check(Boolean.valueOf(false), Boolean.FALSE); } } mauve-20140821/gnu/testlet/java/lang/Boolean/classInfo/0000755000175000001440000000000012375316426021375 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/Boolean/classInfo/getPackage.java0000644000175000001440000000304111752435510024263 0ustar dokousers// Test for method java.lang.Boolean.getClass().getPackage() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Boolean.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Boolean; /** * Test for method java.lang.Boolean.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Boolean(true); // get a runtime class of an object "o" Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/Boolean/classInfo/getInterfaces.java0000644000175000001440000000333411752435510025020 0ustar dokousers// Test for method java.lang.Boolean.getClass().getInterfaces() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Boolean.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.Serializable; import java.lang.Boolean; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.Boolean.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Boolean(true); // get a runtime class of an object "o" Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); harness.check(interfaces.contains(Serializable.class)); harness.check(interfaces.contains(Comparable.class)); } } mauve-20140821/gnu/testlet/java/lang/Boolean/classInfo/getModifiers.java0000644000175000001440000000427211752435510024660 0ustar dokousers// Test for method java.lang.Boolean.getClass().getModifiers() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Boolean.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Boolean; import java.lang.reflect.Modifier; /** * Test for method java.lang.Boolean.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Boolean(true); // get a runtime class of an object "o" Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check( Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/Boolean/classInfo/isPrimitive.java0000644000175000001440000000277611752435510024552 0ustar dokousers// Test for method java.lang.Boolean.getClass().isPrimitive(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Boolean.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Boolean; /** * Test for method java.lang.Boolean.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Boolean(true); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/Boolean/classInfo/getSimpleName.java0000644000175000001440000000301211752435510024760 0ustar dokousers// Test for method java.lang.Boolean.getClass().getSimpleName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Boolean.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Boolean; /** * Test for method java.lang.Boolean.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Boolean(true); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getSimpleName(), "Boolean"); } } mauve-20140821/gnu/testlet/java/lang/Boolean/classInfo/isAnnotationPresent.java0000644000175000001440000000416512026304116026237 0ustar dokousers// Test for method java.lang.Boolean.getClass().isAnnotationPresent() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Boolean.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Boolean; /** * Test for method java.lang.Boolean.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Boolean Object o = new Boolean(true); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/Boolean/classInfo/isSynthetic.java0000644000175000001440000000277611752435510024554 0ustar dokousers// Test for method java.lang.Boolean.getClass().isSynthetic(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Boolean.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Boolean; /** * Test for method java.lang.Boolean.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Boolean(true); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/Boolean/classInfo/isAnnotation.java0000644000175000001440000000277512026304116024703 0ustar dokousers// Test for method java.lang.Boolean.getClass().isAnnotation() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Boolean.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Boolean; /** * Test for method java.lang.Boolean.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Boolean Object o = new Boolean(true); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/Boolean/classInfo/isInstance.java0000644000175000001440000000301211752435510024326 0ustar dokousers// Test for method java.lang.Boolean.getClass().isInstance(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Boolean.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Boolean; /** * Test for method java.lang.Boolean.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Boolean(true); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isInstance(new Boolean(true))); } } mauve-20140821/gnu/testlet/java/lang/Boolean/classInfo/isMemberClass.java0000644000175000001440000000300611752435510024762 0ustar dokousers// Test for method java.lang.Boolean.getClass().isMemberClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Boolean.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Boolean; /** * Test for method java.lang.Boolean.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Boolean(true); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/Boolean/classInfo/getSuperclass.java0000644000175000001440000000310411752435510025054 0ustar dokousers// Test for method java.lang.Boolean.getClass().getSuperclass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Boolean.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Boolean; /** * Test for method java.lang.Boolean.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Boolean(true); // get a runtime class of an object "o" Class c = o.getClass(); Class superClass = c.getSuperclass(); harness.check(superClass.getName(), "java.lang.Object"); } } mauve-20140821/gnu/testlet/java/lang/Boolean/classInfo/isEnum.java0000644000175000001440000000274512026304116023472 0ustar dokousers// Test for method java.lang.Boolean.getClass().isEnum() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Boolean.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Boolean; /** * Test for method java.lang.Boolean.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Boolean Object o = new Boolean(true); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/Boolean/classInfo/InstanceOf.java0000644000175000001440000000315411752435510024266 0ustar dokousers// Test for instanceof operator applied to a class java.lang.Boolean // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Boolean.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Boolean; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.Boolean */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Boolean Boolean o = new Boolean(true); // basic check of instanceof operator harness.check(o instanceof Boolean); // check operator instanceof against all superclasses harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/Boolean/classInfo/isAnonymousClass.java0000644000175000001440000000301512026304116025533 0ustar dokousers// Test for method java.lang.Boolean.getClass().isAnonymousClass() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Boolean.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Boolean; /** * Test for method java.lang.Boolean.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Boolean Object o = new Boolean(true); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/Boolean/classInfo/isInterface.java0000644000175000001440000000277611752435510024502 0ustar dokousers// Test for method java.lang.Boolean.getClass().isInterface(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Boolean.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Boolean; /** * Test for method java.lang.Boolean.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Boolean(true); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/Boolean/classInfo/isAssignableFrom.java0000644000175000001440000000303511752435510025463 0ustar dokousers// Test for method java.lang.Boolean.getClass().isAssignableFrom(Class) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Boolean.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Boolean; /** * Test for method java.lang.Boolean.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Boolean(true); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.isAssignableFrom(Boolean.class)); } } mauve-20140821/gnu/testlet/java/lang/Boolean/classInfo/isLocalClass.java0000644000175000001440000000300211752435510024601 0ustar dokousers// Test for method java.lang.Boolean.getClass().isLocalClass(Object) // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Boolean.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Boolean; /** * Test for method java.lang.Boolean.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Boolean(true); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/Boolean/classInfo/getName.java0000644000175000001440000000277411752435510023624 0ustar dokousers// Test for method java.lang.Boolean.getClass().getName() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Boolean.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Boolean; /** * Test for method java.lang.Boolean.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Double Object o = new Boolean(true); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(c.getName(), "java.lang.Boolean"); } } mauve-20140821/gnu/testlet/java/lang/Boolean/classInfo/isArray.java0000644000175000001440000000275112026304116023641 0ustar dokousers// Test for method java.lang.Boolean.getClass().isArray() // Copyright (C) 2012 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.Boolean.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.Boolean; /** * Test for method java.lang.Boolean.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class Boolean Object o = new Boolean(true); // get a runtime class of an object "o" Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/lang/Boolean/value.java0000644000175000001440000000235506634200704021430 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Boolean; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class value implements Testlet { public void test (TestHarness harness) { Boolean a = new Boolean("true"); Boolean b = new Boolean("false"); harness.check (a.booleanValue()); harness.check (! b.booleanValue()); harness.check (a.equals(Boolean.valueOf("TrUE"))); harness.check (! b.equals(Boolean.valueOf("TrUE"))); } } mauve-20140821/gnu/testlet/java/lang/Boolean/parseBoolean.java0000644000175000001440000000353011757724254022737 0ustar dokousers// Test of Boolean methods parseBoolean(). // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.4 // Tags: CompileOptions: -source 1.4 package gnu.testlet.java.lang.Boolean; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test of Boolean methods parseBoolean(). */ public class parseBoolean implements Testlet { public void test (TestHarness harness) { // test of static method Boolean.parseBoolean() harness.check(Boolean.parseBoolean("true"), true); harness.check(Boolean.parseBoolean("false"), false); harness.check(Boolean.parseBoolean("TRUE"), true); harness.check(Boolean.parseBoolean("FALSE"), false); harness.check(Boolean.parseBoolean("True"), true); harness.check(Boolean.parseBoolean("False"), false); harness.check(Boolean.parseBoolean("truE"), true); harness.check(Boolean.parseBoolean("falsE"), false); harness.check(Boolean.parseBoolean(" true"), false); harness.check(Boolean.parseBoolean(" false"), false); harness.check(Boolean.parseBoolean(" true "), false); harness.check(Boolean.parseBoolean(" false "), false); } } mauve-20140821/gnu/testlet/java/lang/Boolean/get.java0000644000175000001440000000262106634200701021064 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Boolean; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Properties; public class get implements Testlet { public void test (TestHarness harness) { // Augment the System properties with the following. // Overwriting is bad because println needs the // platform-dependent line.separator property. Properties p = System.getProperties(); p.put("e1", "true"); p.put("e2", "false"); harness.check (Boolean.getBoolean("e1")); harness.check (! Boolean.getBoolean("e2")); harness.check (! Boolean.getBoolean("e3")); } } mauve-20140821/gnu/testlet/java/lang/Boolean/hashcode_Boolean.java0000644000175000001440000000220606634200702023522 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 1998 Cygnus Solutions // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.Boolean; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class hashcode_Boolean implements Testlet { public void test (TestHarness harness) { Boolean a = new Boolean("true"); Boolean b = new Boolean("false"); harness.check (a.hashCode(), 1231); harness.check (b.hashCode(), 1237); } } mauve-20140821/gnu/testlet/java/lang/ThreadGroup/0000755000175000001440000000000012375316426020321 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/ThreadGroup/security.java0000644000175000001440000002144310562130333023022 0ustar dokousers// Copyright (C) 2006, 2007 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 package gnu.testlet.java.lang.ThreadGroup; import java.security.Permission; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.TestSecurityManager; public class security implements Testlet { public void test(TestHarness harness) { try { harness.checkPoint("setup"); // The default SecurityManager.checkAccess(ThreadGroup) method // only checks permissions when the threadgroup in question is // the system threadgroup, which is defined as the threadgroup // with no parent. ThreadGroup systemGroup = Thread.currentThread().getThreadGroup(); while (systemGroup.getParent() != null) systemGroup = systemGroup.getParent(); Thread testThread = new Thread(systemGroup, new TestRunner(harness)); testThread.start(); testThread.join(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "Unexpected exception"); } } public static class TestRunner implements Runnable { private TestHarness harness; public TestRunner(TestHarness harness) { this.harness = harness; } public void run() { try { ThreadGroup testGroup = Thread.currentThread().getThreadGroup(); harness.check(testGroup.getParent() == null); ThreadGroup nonSystemGroup = new ThreadGroup(testGroup, "test group"); harness.check(nonSystemGroup.getParent() != null); Permission[] modifyThreadGroup = new Permission[] { new RuntimePermission("modifyThreadGroup")}; Permission[] modifyThread = new Permission[] { new RuntimePermission("modifyThread")}; Permission[] stopThread = new Permission[] { new RuntimePermission("modifyThread"), new RuntimePermission("stopThread")}; TestSecurityManager sm = new TestSecurityManager(harness); try { sm.install(); // throwpoint: java.lang.ThreadGroup-ThreadGroup(String) harness.checkPoint("ThreadGroup(String)"); try { sm.prepareChecks(modifyThreadGroup); new ThreadGroup("test"); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.ThreadGroup-ThreadGroup(ThreadGroup, String) harness.checkPoint("ThreadGroup(ThreadGroup, String)"); try { sm.prepareChecks(modifyThreadGroup); new ThreadGroup(testGroup, "test"); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.ThreadGroup-checkAccess harness.checkPoint("checkAccess"); try { sm.prepareChecks(modifyThreadGroup); testGroup.checkAccess(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.ThreadGroup-enumerate(Thread[]) harness.checkPoint("enumerate(Thread[])"); try { sm.prepareChecks(modifyThreadGroup); testGroup.enumerate(new Thread[0]); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.ThreadGroup-enumerate(Thread[], boolean) harness.checkPoint("enumerate(Thread[], boolean)"); for (int i = 0; i <= 1; i++) { try { sm.prepareChecks(modifyThreadGroup); testGroup.enumerate(new Thread[0], i == 1); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } // throwpoint: java.lang.ThreadGroup-enumerate(ThreadGroup[]) harness.checkPoint("enumerate(ThreadGroup[])"); try { sm.prepareChecks(modifyThreadGroup); testGroup.enumerate(new ThreadGroup[0]); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.ThreadGroup-enumerate(ThreadGroup[], boolean) harness.checkPoint("enumerate(ThreadGroup[], boolean)"); for (int i = 0; i <= 1; i++) { try { sm.prepareChecks(modifyThreadGroup); testGroup.enumerate(new ThreadGroup[0], i == 1); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } // throwpoint: java.lang.ThreadGroup-getParent harness.checkPoint("getParent"); try { sm.prepareChecks(modifyThreadGroup); nonSystemGroup.getParent(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.ThreadGroup-setDaemon harness.checkPoint("setDaemon"); try { sm.prepareChecks(modifyThreadGroup); testGroup.setDaemon(false); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.ThreadGroup-setMaxPriority harness.checkPoint("setMaxPriority"); try { int priority = testGroup.getMaxPriority(); sm.prepareChecks(modifyThreadGroup); testGroup.setMaxPriority(priority); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.ThreadGroup-suspend harness.checkPoint("suspend"); try { sm.prepareHaltingChecks(modifyThreadGroup, modifyThread); testGroup.suspend(); harness.check(false); } catch (TestSecurityManager.SuccessException ex) { harness.check(true); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.ThreadGroup-resume harness.checkPoint("resume"); try { sm.prepareHaltingChecks(modifyThreadGroup, modifyThread); testGroup.resume(); harness.check(false); } catch (TestSecurityManager.SuccessException ex) { harness.check(true); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: TODO: java.lang.ThreadGroup-destroy // XXX I'm not sure you can test for this one. It's an // XXX error to call this on a non-empty threadgroup, but // XXX the check only happens for the system group which // XXX will not be empty. // throwpoint: java.lang.ThreadGroup-interrupt harness.checkPoint("interrupt"); try { sm.prepareHaltingChecks(modifyThreadGroup, modifyThread); testGroup.interrupt(); harness.check(false); } catch (TestSecurityManager.SuccessException ex) { harness.check(true); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.ThreadGroup-stop harness.checkPoint("stop"); try { sm.prepareHaltingChecks(modifyThreadGroup, stopThread); testGroup.stop(); harness.check(false); } catch (TestSecurityManager.SuccessException ex) { harness.check(true); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } finally { sm.uninstall(); } sm = new SpecialSecurityManager(harness); try { sm.install(); // throwpoint: java.lang.ThreadGroup-destroy harness.checkPoint("destroy"); try { sm.prepareChecks(modifyThreadGroup); nonSystemGroup.destroy(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } finally { sm.uninstall(); } } catch (Exception ex) { harness.debug(ex); harness.check(false, "Unexpected exception"); } } } public static class SpecialSecurityManager extends TestSecurityManager { public SpecialSecurityManager(TestHarness harness) { super(harness); } public void checkAccess(ThreadGroup g) { checkPermission(new RuntimePermission("modifyThreadGroup")); } } } mauve-20140821/gnu/testlet/java/lang/ThreadGroup/enumerate.java0000644000175000001440000000317407244312051023143 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 2001 Red Hat, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.ThreadGroup; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class enumerate extends Thread implements Testlet { public enumerate (ThreadGroup g, String name) { super (g, name); } public enumerate () { } public void test (TestHarness harness) { ThreadGroup here = Thread.currentThread ().getThreadGroup (); ThreadGroup group = new ThreadGroup (here, "enumtestgroup"); ThreadGroup group2 = new ThreadGroup (group, "enumsubgroup"); enumerate e = new enumerate (group, "name1"); e = new enumerate (group2, "name2"); int thread_count = group.activeCount () + 10; Thread[] thread_list = new Thread[thread_count]; thread_count = group.enumerate (thread_list, true); // There aren't any active threads since we never started E. harness.check (thread_count, 0); } } mauve-20140821/gnu/testlet/java/lang/ThreadGroup/insecurity.java0000644000175000001440000001656210562130333023357 0ustar dokousers// Copyright (C) 2006, 2007 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 package gnu.testlet.java.lang.ThreadGroup; import java.security.Permission; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.TestSecurityManager; public class insecurity implements Testlet { public void test(TestHarness harness) { try { harness.checkPoint("setup"); // The default SecurityManager.checkAccess(ThreadGroup) method // should only check permissions when the threadgroup in // question is the system threadgroup, which is defined as the // threadgroup with no parent. ThreadGroup systemGroup = Thread.currentThread().getThreadGroup(); while (systemGroup.getParent() != null) systemGroup = systemGroup.getParent(); ThreadGroup nonSystemGroup = new ThreadGroup(systemGroup, "test group"); Thread testThread = new Thread(nonSystemGroup, new TestRunner(harness)); testThread.start(); testThread.join(); } catch (Exception ex) { harness.debug(ex); harness.check(false, "Unexpected exception"); } } public static class TestRunner implements Runnable { private TestHarness harness; public TestRunner(TestHarness harness) { this.harness = harness; } public void run() { try { ThreadGroup testGroup = Thread.currentThread().getThreadGroup(); harness.check(testGroup.getParent() != null); ThreadGroup nonSystemGroup = new ThreadGroup(testGroup, "test group"); harness.check(nonSystemGroup.getParent() != null); Permission[] noChecks = new Permission[0]; TestSecurityManager sm = new TestSecurityManager(harness); try { sm.install(); // corresponding throwpoint: // java.lang.ThreadGroup-ThreadGroup(String) harness.checkPoint("ThreadGroup(String)"); try { sm.prepareChecks(noChecks); new ThreadGroup("test"); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // corresponding throwpoint: // java.lang.ThreadGroup-ThreadGroup(ThreadGroup, String) harness.checkPoint("ThreadGroup(ThreadGroup, String)"); try { sm.prepareChecks(noChecks); new ThreadGroup(testGroup, "test"); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // corresponding throwpoint: java.lang.ThreadGroup-checkAccess harness.checkPoint("checkAccess"); try { sm.prepareChecks(noChecks); testGroup.checkAccess(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // corresponding throwpoint: // java.lang.ThreadGroup-enumerate(Thread[]) harness.checkPoint("enumerate(Thread[])"); try { sm.prepareChecks(noChecks); testGroup.enumerate(new Thread[0]); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // corresponding throwpoint: // java.lang.ThreadGroup-enumerate(Thread[], boolean) harness.checkPoint("enumerate(Thread[], boolean)"); for (int i = 0; i <= 1; i++) { try { sm.prepareChecks(noChecks); testGroup.enumerate(new Thread[0], i == 1); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } // corresponding throwpoint: // java.lang.ThreadGroup-enumerate(ThreadGroup[]) harness.checkPoint("enumerate(ThreadGroup[])"); try { sm.prepareChecks(noChecks); testGroup.enumerate(new ThreadGroup[0]); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // corresponding throwpoint: // java.lang.ThreadGroup-enumerate(ThreadGroup[], boolean) harness.checkPoint("enumerate(ThreadGroup[], boolean)"); for (int i = 0; i <= 1; i++) { try { sm.prepareChecks(noChecks); testGroup.enumerate(new ThreadGroup[0], i == 1); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } // corresponding throwpoint: java.lang.ThreadGroup-getParent harness.checkPoint("getParent"); try { sm.prepareChecks(noChecks); nonSystemGroup.getParent(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // corresponding throwpoint: java.lang.ThreadGroup-setDaemon harness.checkPoint("setDaemon"); try { sm.prepareChecks(noChecks); testGroup.setDaemon(false); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // corresponding throwpoint: java.lang.ThreadGroup-setMaxPriority harness.checkPoint("setMaxPriority"); try { int priority = testGroup.getMaxPriority(); sm.prepareChecks(noChecks); testGroup.setMaxPriority(priority); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // corresponding throwpoint: java.lang.ThreadGroup-suspend harness.checkPoint("suspend"); try { sm.prepareChecks(noChecks); nonSystemGroup.suspend(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // corresponding throwpoint: java.lang.ThreadGroup-resume harness.checkPoint("resume"); try { sm.prepareChecks(noChecks); nonSystemGroup.resume(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // corresponding throwpoint: java.lang.ThreadGroup-interrupt harness.checkPoint("interrupt"); try { sm.prepareChecks(noChecks); nonSystemGroup.interrupt(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // corresponding throwpoint: java.lang.ThreadGroup-stop harness.checkPoint("stop"); try { sm.prepareChecks(noChecks); nonSystemGroup.stop(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } finally { sm.uninstall(); } } catch (Exception ex) { harness.debug(ex); harness.check(false, "Unexpected exception"); } } } } mauve-20140821/gnu/testlet/java/lang/ClassLoader/0000755000175000001440000000000012375316426020271 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/ClassLoader/loadClass.java0000644000175000001440000000745610371407701023044 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2006 Free Software Foundation, Inc. // Written by Mark J. Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.java.lang.ClassLoader; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class loadClass extends ClassLoader implements Testlet { public void test(TestHarness harness) { ClassLoader cl = this.getClass().getClassLoader(); boolean cnf_thrown; try { cl.loadClass("gnu"); cnf_thrown = false; } catch(ClassNotFoundException x) { cnf_thrown = true; } harness.check(cnf_thrown); try { cl.loadClass("gnu."); cnf_thrown = false; } catch(ClassNotFoundException x) { cnf_thrown = true; } harness.check(cnf_thrown); try { cl.loadClass("."); cnf_thrown = false; } catch(ClassNotFoundException x) { cnf_thrown = true; } harness.check(cnf_thrown); try { cl.loadClass("/"); cnf_thrown = false; } catch(ClassNotFoundException x) { cnf_thrown = true; } harness.check(cnf_thrown); try { cl.loadClass("["); cnf_thrown = false; } catch(ClassNotFoundException x) { cnf_thrown = true; } harness.check(cnf_thrown); try { cl.loadClass("[["); cnf_thrown = false; } catch(ClassNotFoundException x) { cnf_thrown = true; } harness.check(cnf_thrown); try { cl.loadClass("[]"); cnf_thrown = false; } catch(ClassNotFoundException x) { cnf_thrown = true; } harness.check(cnf_thrown); try { cl.loadClass("L;"); cnf_thrown = false; } catch(ClassNotFoundException x) { cnf_thrown = true; } harness.check(cnf_thrown); try { cl.loadClass("L."); cnf_thrown = false; } catch(ClassNotFoundException x) { cnf_thrown = true; } harness.check(cnf_thrown); try { cl.loadClass("L["); cnf_thrown = false; } catch(ClassNotFoundException x) { cnf_thrown = true; } harness.check(cnf_thrown); try { cl.loadClass("[L;"); cnf_thrown = false; } catch(ClassNotFoundException x) { cnf_thrown = true; } harness.check(cnf_thrown); try { cl.loadClass("[L[;"); cnf_thrown = false; } catch(ClassNotFoundException x) { cnf_thrown = true; } harness.check(cnf_thrown); try { cl.loadClass("[L.;"); cnf_thrown = false; } catch(ClassNotFoundException x) { cnf_thrown = true; } harness.check(cnf_thrown); try { cl.loadClass("[Lgnu;"); cnf_thrown = false; } catch(ClassNotFoundException x) { cnf_thrown = true; } harness.check(cnf_thrown); try { cl.loadClass("[Lgnu.;"); cnf_thrown = false; } catch(ClassNotFoundException x) { cnf_thrown = true; } harness.check(cnf_thrown); try { cl.loadClass(""); cnf_thrown = false; } catch(ClassNotFoundException x) { cnf_thrown = true; } harness.check(cnf_thrown); } } mauve-20140821/gnu/testlet/java/lang/ClassLoader/BootDefinedPackages.java0000644000175000001440000001730010405360313024740 0ustar dokousers/* DefaultDefinedPackages.java -- Test which ensures that packages are defined by the boot classloader Copyright (C) 2006 Olivier Jolly This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.0 package gnu.testlet.java.lang.ClassLoader; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.Serializable; /** * Test which ensures that the boot class loader is defining packages like the * URLClassLoader does. * @author Olivier Jolly * @see URLClassLoader#findClass(java.lang.String) */ public class BootDefinedPackages implements Testlet { private static class TestLoader extends ClassLoader implements Serializable { /** * Dummy serialVersionUID used to appease warnings */ private static final long serialVersionUID = 1L; /** * List of classes in each of the standard packages */ static String standardPackagesClasses[] = { "java.applet.Applet", "java.awt.color.CMMException", "java.awt.datatransfer.Clipboard", "java.awt.dnd.peer.DragSourceContextPeer", "java.awt.dnd.Autoscroll", "java.awt.event.ActionEvent", "java.awt.font.FontRenderContext", "java.awt.geom.AffineTransform", "java.awt.im.spi.InputMethod", "java.awt.im.InputContext", "java.awt.image.renderable.ContextualRenderedImageFactory", "java.awt.image.AffineTransformOp", "java.awt.peer.ButtonPeer", "java.awt.print.Book", "java.awt.ActiveEvent", "java.beans.beancontext.BeanContext", "java.beans.AppletInitializer", "java.io.BufferedInputStream", "java.lang.annotation.AnnotationFormatError", "java.lang.ref.PhantomReference", "java.lang.reflect.AccessibleObject", "java.lang.AbstractMethodError", "java.math.BigDecimal", "java.net.Authenticator", "java.nio.channels.spi.AbstractInterruptibleChannel", "java.nio.channels.AlreadyConnectedException", "java.nio.charset.spi.CharsetProvider", "java.nio.charset.CharacterCodingException", "java.nio.Buffer", "java.rmi.activation.Activatable", "java.rmi.dgc.DGC", "java.rmi.registry.LocateRegistry", "java.rmi.server.ExportException", "java.rmi.AccessException", "java.security.acl.Acl", "java.security.cert.Certificate", "java.security.interfaces.DSAKey", "java.security.spec.AlgorithmParameterSpec", "java.security.AccessControlContext", "java.sql.Array", "java.text.Annotation", "java.util.jar.Attributes", "java.util.logging.ConsoleHandler", "java.util.prefs.AbstractPreferences", "java.util.regex.Matcher", "java.util.zip.Adler32", "java.util.AbstractCollection" }; public TestLoader(ClassLoader parent) { super(parent); } /** * Real test method for package definition which can access the protected * getPackage method * @param harness * the test harness * @see ClassLoader#getPackage(java.lang.String) */ public void test(TestHarness harness) { harness.checkPoint("Checking basic packages"); // This package must be defined since it is the one of the enclosing class harness.check(getPackage("gnu.testlet.java.lang.ClassLoader") != null); // This package must be defined since it is the one which contains Object harness.check(getPackage("java.lang") != null); // This package must be defined since we're implementing Serializable harness.check(getPackage("java.io") != null); // Instead of checking some packages, we loop over each standard package, // and if not already defined, it should be once we load a class in it. // Note that this loop may not produce the same result on different vms, // but it should be consistent across several runs on the same vm. for (int i = 0; i < standardPackagesClasses.length; i++) { String packageName; int lastDot = standardPackagesClasses[i].lastIndexOf('.'); // Get the package name from the standard class name packageName = standardPackagesClasses[i].substring(0, lastDot); if (getPackage(packageName) == null) { // packageName is not yet defined, we should be able to make it // defined by trying to access a class in it try { Class.forName(standardPackagesClasses[i]); harness.check(getPackage(packageName) != null, "Checking definition of " + packageName); } catch (ClassNotFoundException e) { harness.debug("Unsuitable class to test on this vm"); harness.debug(e); } } } } } /* * (non-Javadoc) * @see gnu.testlet.Testlet#test(gnu.testlet.TestHarness) */ public void test(TestHarness harness) { // Define a class loader for testing, with the system class loader as // parent, and starts the real test TestLoader loader = new TestLoader(getClass().getClassLoader()); loader.test(harness); } } mauve-20140821/gnu/testlet/java/lang/ClassLoader/initialize.java0000644000175000001440000001320210405335553023265 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006 Free Software Foundation, Inc. // Written by Jeroen Frijters // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.ClassLoader; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * This test simulates a security attack dealing with the registering of a rogue * ClassLoader when it is not allowed. The detail of the potentiel problem is * described * here. * Basically, it creates an incomplete ClassLoader (by throwing an exception * during the construction) and later uses the finalizer to retrieve the * instance and try to use this rogue instance. This test makes sure that any * method call then throws a SecurityException. * Running finalizers being not an exact science, some jvm will not run them * when System.runFinalization() is called hence not allowing the security * breach to be checked. * * @author Jeroen Frijters */ public class initialize implements Testlet { static class TestLoader extends ClassLoader { // The holder for the rogue TestLoader instance static TestLoader ref; // The method which simulates an exception to be thrown at construction time static ClassLoader throwException() { throw new Error(); } // The constructor which will fail to create a complete instance TestLoader() { super(throwException()); } // The finalizer which retrieves the partly created instance protected void finalize() { ref = this; } static void runTests(TestHarness harness) throws Exception { harness.checkPoint("loadClass"); try { ref.loadClass("java.lang.Object"); harness.check(false); } catch(SecurityException _) { harness.check(true); } try { ref.loadClass("java.lang.Object", false); harness.check(false); } catch(SecurityException _) { harness.check(true); } harness.checkPoint("findClass"); try { ref.findClass("java.lang.Object"); harness.check(false); } catch(ClassNotFoundException _) { harness.check(true); } harness.checkPoint("defineClass"); try { ref.defineClass(new byte[0], 0, 0); harness.check(false); } catch(SecurityException _) { harness.check(true); } try { ref.defineClass("Foo", new byte[0], 0, 0); harness.check(false); } catch(SecurityException _) { harness.check(true); } try { ref.defineClass("Foo", new byte[0], 0, 0, null); harness.check(false); } catch(SecurityException _) { harness.check(true); } harness.checkPoint("resolveClass"); try { ref.resolveClass(String.class); harness.check(false); } catch(SecurityException _) { harness.check(true); } harness.checkPoint("findSystemClass"); try { ref.findSystemClass("java.lang.Object"); harness.check(false); } catch(SecurityException _) { harness.check(true); } harness.checkPoint("setSigners"); try { ref.setSigners(String.class, new Object[0]); harness.check(false); } catch(SecurityException _) { harness.check(true); } harness.checkPoint("findLoadedClass"); try { ref.findLoadedClass("java.lang.Object"); harness.check(false); } catch(SecurityException _) { harness.check(true); } harness.checkPoint("definePackage"); try { ref.definePackage("Foo", "", "", "", "", "", "", null); harness.check(false); } catch(NullPointerException _) { harness.check(true); } try { ref.getPackage("Foo"); harness.check(false); } catch(NullPointerException _) { harness.check(true); } try { ref.getPackages(); harness.check(false); } catch(NullPointerException _) { harness.check(true); } } } public void test(TestHarness harness) { // Creates a garbage collectable rogue TestLoader instance try { new TestLoader(); } catch(Error x) {} // Hints at the vm that running finalizers now would be a good idea System.gc(); System.runFinalization(); // Checks that TestLoader.finalize retrieved the partly created instance, // and if so, tests it if (TestLoader.ref == null) harness.debug("Unable to obtain finalized ClassLoader instance"); else { try { TestLoader.runTests(harness); } catch(Exception x) { harness.debug(x); harness.check(false); } } } } mauve-20140821/gnu/testlet/java/lang/ClassLoader/security.java0000644000175000001440000001014710562130333022771 0ustar dokousers// Copyright (C) 2006, 2007 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 package gnu.testlet.java.lang.ClassLoader; import java.io.File; import java.lang.reflect.Method; import java.net.URL; import java.net.URLClassLoader; import java.security.Permission; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.TestSecurityManager; public class security implements Testlet { public void test(TestHarness harness) { try { harness.checkPoint("setup"); // we need a different classloader for some of the checks to occur. Class testClass = new URLClassLoader(new URL[] { new File(harness.getSourceDirectory()).toURL()}, null).loadClass( getClass().getName()); ClassLoader ourLoader = getClass().getClassLoader(); harness.check(ourLoader != testClass.getClassLoader()); Method getSystemClassLoaderTest = testClass.getMethod( "testGetSystemClassLoader", new Class[] {}); Method getParentTest = testClass.getMethod( "testGetParent", new Class[] {ClassLoader.class}); // Make sure everything's fully resolved, or we'll be loading // classes during tests and the extra checks will make us fail. new TestClassLoader(); Permission[] createClassLoader = new Permission[] { new RuntimePermission("createClassLoader")}; Permission[] getClassLoader = new Permission[] { new RuntimePermission("getClassLoader")}; TestSecurityManager sm = new TestSecurityManager(harness); try { sm.install(); // throwpoint: java.lang.ClassLoader-ClassLoader() harness.checkPoint("Constructor (no-args)"); try { sm.prepareChecks(createClassLoader); new TestClassLoader(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.ClassLoader-ClassLoader(ClassLoader) harness.checkPoint("Constructor (one-arg)"); try { sm.prepareChecks(createClassLoader); new TestClassLoader(ourLoader); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.ClassLoader-getSystemClassLoader harness.checkPoint("getSystemClassLoader"); try { sm.prepareChecks(getClassLoader); getSystemClassLoaderTest.invoke(null, new Object[] {}); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.lang.ClassLoader-getParent harness.checkPoint("getParent"); try { sm.prepareChecks(getClassLoader); getParentTest.invoke(null, new Object[] {ourLoader}); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } finally { sm.uninstall(); } } catch (Exception ex) { harness.debug(ex); harness.check(false, "Unexpected exception"); } } // Stuff for the createClassLoader tests private static class TestClassLoader extends ClassLoader { public TestClassLoader() { super(); } public TestClassLoader(ClassLoader parent) { super(parent); } } // Stuff for the getClassLoader tests public static void testGetSystemClassLoader() { ClassLoader.getSystemClassLoader(); } public static void testGetParent(ClassLoader loader) { loader.getParent(); } } mauve-20140821/gnu/testlet/java/lang/ClassLoader/Resources.java0000644000175000001440000000441410401135544023075 0ustar dokousers/* Resources.java -- Tests that the system class loader can get resources as plain file and directory Copyright (C) 2006 Olivier Jolly This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.0 package gnu.testlet.java.lang.ClassLoader; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests which ensures that plain files and directories can be retrieved by the * system class loader. * @author Olivier Jolly * @see java.lang.ClassLoader#getResource(java.lang.String) */ public class Resources implements Testlet { public void test(TestHarness harness) { harness.checkPoint("Resource loading"); System.out.println(getClass().getClassLoader()); try { getClass().getClassLoader().getResource( "gnu/testlet/java/lang/ClassLoader/Resources.class").getFile(); harness.check(true); } catch (Exception e) { harness.fail("Class resource should exist"); } try { getClass().getClassLoader().getResource( "gnu/testlet/java/lang/ClassLoader/").getFile(); harness.check(true); } catch (Exception e) { harness.fail("Class directory should exist"); } try { getClass().getClassLoader().getResource( "gnu/testlet/java/lang/ClassLoader").getFile(); harness.check(true); } catch (Exception e) { harness.fail("Class directory should exist"); } } } mauve-20140821/gnu/testlet/java/lang/ClassLoader/findLoadedClass.java0000644000175000001440000002063410272413474024153 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2005 Free Software Foundation, Inc. // Written by Jeroen Frijters // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.ClassLoader; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class findLoadedClass extends ClassLoader implements Testlet { // This represents the class: // class Triv extends java.util.Hashtable {} private static byte[] trivialClassDef = { (byte)0xCA, (byte)0xFE, (byte)0xBA, (byte)0xBE, (byte)0x00, (byte)0x03, (byte)0x00, (byte)0x2D, (byte)0x00, (byte)0x0F, (byte)0x07, (byte)0x00, (byte)0x0C, (byte)0x07, (byte)0x00, (byte)0x0E, (byte)0x0A, (byte)0x00, (byte)0x02, (byte)0x00, (byte)0x04, (byte)0x0C, (byte)0x00, (byte)0x06, (byte)0x00, (byte)0x05, (byte)0x01, (byte)0x00, (byte)0x03, (byte)0x28, (byte)0x29, (byte)0x56, (byte)0x01, (byte)0x00, (byte)0x06, (byte)0x3C, (byte)0x69, (byte)0x6E, (byte)0x69, (byte)0x74, (byte)0x3E, (byte)0x01, (byte)0x00, (byte)0x04, (byte)0x43, (byte)0x6F, (byte)0x64, (byte)0x65, (byte)0x01, (byte)0x00, (byte)0x0D, (byte)0x43, (byte)0x6F, (byte)0x6E, (byte)0x73, (byte)0x74, (byte)0x61, (byte)0x6E, (byte)0x74, (byte)0x56, (byte)0x61, (byte)0x6C, (byte)0x75, (byte)0x65, (byte)0x01, (byte)0x00, (byte)0x0A, (byte)0x45, (byte)0x78, (byte)0x63, (byte)0x65, (byte)0x70, (byte)0x74, (byte)0x69, (byte)0x6F, (byte)0x6E, (byte)0x73, (byte)0x01, (byte)0x00, (byte)0x0E, (byte)0x4C, (byte)0x6F, (byte)0x63, (byte)0x61, (byte)0x6C, (byte)0x56, (byte)0x61, (byte)0x72, (byte)0x69, (byte)0x61, (byte)0x62, (byte)0x6C, (byte)0x65, (byte)0x73, (byte)0x01, (byte)0x00, (byte)0x0A, (byte)0x53, (byte)0x6F, (byte)0x75, (byte)0x72, (byte)0x63, (byte)0x65, (byte)0x46, (byte)0x69, (byte)0x6C, (byte)0x65, (byte)0x01, (byte)0x00, (byte)0x04, (byte)0x54, (byte)0x72, (byte)0x69, (byte)0x76, (byte)0x01, (byte)0x00, (byte)0x09, (byte)0x54, (byte)0x72, (byte)0x69, (byte)0x76, (byte)0x2E, (byte)0x6A, (byte)0x61, (byte)0x76, (byte)0x61, (byte)0x01, (byte)0x00, (byte)0x13, (byte)0x6A, (byte)0x61, (byte)0x76, (byte)0x61, (byte)0x2F, (byte)0x75, (byte)0x74, (byte)0x69, (byte)0x6C, (byte)0x2F, (byte)0x48, (byte)0x61, (byte)0x73, (byte)0x68, (byte)0x74, (byte)0x61, (byte)0x62, (byte)0x6C, (byte)0x65, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x01, (byte)0x00, (byte)0x02, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x01, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x06, (byte)0x00, (byte)0x05, (byte)0x00, (byte)0x01, (byte)0x00, (byte)0x07, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x11, (byte)0x00, (byte)0x01, (byte)0x00, (byte)0x01, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x05, (byte)0x2A, (byte)0xB7, (byte)0x00, (byte)0x03, (byte)0xB1, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x01, (byte)0x00, (byte)0x0B, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x02, (byte)0x00, (byte)0x0D }; private boolean broken; public findLoadedClass() { } protected synchronized Class loadClass(String name, boolean resolve) throws ClassNotFoundException { if (broken) throw new ClassNotFoundException(); else return super.loadClass(name, resolve); } private findLoadedClass(ClassLoader parent) { super(parent); } public void test(TestHarness harness) { defineClass("Triv", trivialClassDef, 0, trivialClassDef.length); // defineClass should have registered the class harness.checkPoint("defineClass should register"); checkLoaded(harness, this, "Triv"); // make sure that the VM registers the initiating class loader harness.checkPoint("VM should register"); checkLoaded(harness, this, "java.util.Hashtable"); // types that weren't loaded shouldn't be visible harness.checkPoint("premature"); harness.check(findLoadedClass("java.lang.Object") == null); // Class.forName() should register the initiating loader. harness.checkPoint("Class.forName"); try { Class.forName("java.lang.Object", false, this); } catch(ClassNotFoundException x) { harness.debug(x); } checkLoaded(harness, this, "java.lang.Object"); // The above should also apply to arrays // Note that on Sun JDK 1.4 (not on 1.5), loading the component type // also make the array type visible, so we don't test that the array // is not visible at this point. try { Class.forName("[Ljava.lang.Object;", false, this); } catch(ClassNotFoundException x) { harness.debug(x); } checkLoaded(harness, this, "[Ljava.lang.Object;"); // Loading an array type, makes available the ultimate component type harness.checkPoint("array implies component type"); harness.check(findLoadedClass("java.util.Vector") == null); try { Class.forName("[[Ljava.util.Vector;", false, this); } catch(ClassNotFoundException x) { harness.debug(x); } checkLoaded(harness, this, "java.util.Vector"); // After loading a class thru a parent, we shouldn't be able to define it. harness.checkPoint("no redefine"); findLoadedClass cl = new findLoadedClass(this); harness.check(cl.findLoadedClass("Triv") == null); try { Class.forName("Triv", false, cl); } catch(ClassNotFoundException x) { harness.debug(x); throw new Error(x); } checkLoaded(harness, cl, "Triv"); try { cl.defineClass("Triv", trivialClassDef, 0, trivialClassDef.length); harness.check(false); } catch(LinkageError _) { harness.check(true); } // Check multi level trickery harness.checkPoint("multi level"); findLoadedClass grandParent = new findLoadedClass(); grandParent.defineClass("Triv", trivialClassDef, 0, trivialClassDef.length); findLoadedClass parent = new findLoadedClass(grandParent); findLoadedClass child = new findLoadedClass(parent); try { Class.forName("Triv", false, child); } catch(ClassNotFoundException x) { harness.debug(x); throw new Error(x); } try { parent.defineClass("Triv", trivialClassDef, 0, trivialClassDef.length); harness.check(true); } catch(LinkageError x) { harness.debug(x); harness.check(false); } try { Class c = Class.forName("Triv", false, child); harness.check(c.getClassLoader() == grandParent); } catch(ClassNotFoundException x) { harness.debug(x); harness.check(false); } catch(LinkageError x) { harness.debug(x); harness.check(false); } // Even if a class loader is broken, Class.forName() should continue // to work. child.broken = true; try { Class c = Class.forName("Triv", false, child); harness.check(c.getClassLoader() == grandParent); } catch(ClassNotFoundException x) { harness.debug(x); harness.check(false); } catch(LinkageError x) { harness.debug(x); harness.check(false); } // The VM should also look in the loaded classes cache, before calling loadClass() harness.checkPoint("VM consults cache"); findLoadedClass newLoader = new findLoadedClass(); try { Class.forName("java.util.Hashtable", false, newLoader); } catch(ClassNotFoundException x) { harness.debug(x); throw new Error(x); } newLoader.broken = true; newLoader.defineClass("Triv", trivialClassDef, 0, trivialClassDef.length); } private void checkLoaded(TestHarness harness, findLoadedClass cl, String name) { Class c = cl.findLoadedClass(name); harness.check(c != null && c.getName().equals(name)); } } mauve-20140821/gnu/testlet/java/lang/ClassLoader/redefine.java0000644000175000001440000000334010202702224022673 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Free Software Foundation, Inc. // Written by Tom Tromey // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.lang.ClassLoader; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class redefine extends ClassLoader implements Testlet { public static class Inner { } public static final String INNER_NAME = "gnu.testlet.java.lang.ClassLoader.redefine$Inner"; public void test (TestHarness harness) { // First try to define a class with the given name. boolean ok = false; try { // This call will fail. defineClass(INNER_NAME, new byte[37], 0, 37); } catch (ClassFormatError _) { ok = true; } harness.check(ok, "defineClass with invalid parameter"); // Now load the class normally. Class k = null; try { k = Class.forName(INNER_NAME, true, this); } catch (ClassNotFoundException _) { // Nothing needed. } harness.check("" + k, "class " + INNER_NAME, "normal loading"); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/0000755000175000001440000000000012375316426022447 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/IllegalAccessException/constructor.java0000644000175000001440000000377512204360767025711 0ustar dokousers// Test if instances of a class java.lang.IllegalAccessException could be properly constructed // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; /** * Test if instances of a class java.lang.IllegalAccessException * could be properly constructed */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { IllegalAccessException object1 = new IllegalAccessException(); harness.check(object1 != null); harness.check(object1.toString(), "java.lang.IllegalAccessException"); IllegalAccessException object2 = new IllegalAccessException("nothing happens"); harness.check(object2 != null); harness.check(object2.toString(), "java.lang.IllegalAccessException: nothing happens"); IllegalAccessException object3 = new IllegalAccessException(null); harness.check(object3 != null); harness.check(object3.toString(), "java.lang.IllegalAccessException"); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/TryCatch.java0000644000175000001440000000333612204360767025036 0ustar dokousers// Test if try-catch block is working properly for a class java.lang.IllegalAccessException // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; /** * Test if try-catch block is working properly for a class java.lang.IllegalAccessException */ public class TryCatch implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // flag that is set when exception is caught boolean caught = false; try { throw new IllegalAccessException("IllegalAccessException"); } catch (IllegalAccessException e) { // correct exception was caught caught = true; } harness.check(caught); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/0000755000175000001440000000000012375316426024370 5ustar dokousersmauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/getDeclaredConstructor.java0000644000175000001440000000716312205075421031700 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().getDeclaredConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalAccessException.getClass().getDeclaredConstructor() */ public class getDeclaredConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.IllegalAccessException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.IllegalAccessException", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.IllegalAccessException", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.IllegalAccessException", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getDeclaredConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/getPackage.java0000644000175000001440000000327512207063214027261 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().getPackage() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; /** * Test for method java.lang.IllegalAccessException.getClass().getPackage() */ public class getPackage implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); Package p = c.getPackage(); harness.check(p.getName(), "java.lang"); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/getDeclaredMethods.java0000644000175000001440000000622712205623015030754 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().getDeclaredMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalAccessException.getClass().getDeclaredMethods() */ public class getDeclaredMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared methods which should exists Map testedDeclaredMethods = null; // map of declared methods for (Open)JDK6 Map testedDeclaredMethods_jdk6 = new HashMap(); // map of declared methods for (Open)JDK7 Map testedDeclaredMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 // --- empty --- // map for methods declared in (Open)JDK7 // --- empty --- // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedDeclaredMethods = getJavaVersion() < 7 ? testedDeclaredMethods_jdk6 : testedDeclaredMethods_jdk7; // get all declared methods for this class java.lang.reflect.Method[] declaredMethods = c.getDeclaredMethods(); // expected number of declared methods final int expectedNumberOfDeclaredMethods = testedDeclaredMethods.size(); // basic check for a number of declared methods harness.check(declaredMethods.length, expectedNumberOfDeclaredMethods); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/getInterfaces.java0000644000175000001440000000333512204360767030020 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().getInterfaces() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.IllegalAccessException.getClass().getInterfaces() */ public class getInterfaces implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); List interfaces = Arrays.asList(c.getInterfaces()); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/getModifiers.java0000644000175000001440000000452612204360767027661 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().getModifiers() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; import java.lang.reflect.Modifier; /** * Test for method java.lang.IllegalAccessException.getClass().getModifiers() */ public class getModifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); int modifiers = c.getModifiers(); harness.check( Modifier.isPublic(modifiers)); harness.check(!Modifier.isPrivate(modifiers)); harness.check(!Modifier.isProtected(modifiers)); harness.check(!Modifier.isAbstract(modifiers)); harness.check(!Modifier.isFinal(modifiers)); harness.check(!Modifier.isInterface(modifiers)); harness.check(!Modifier.isNative(modifiers)); harness.check(!Modifier.isStatic(modifiers)); harness.check(!Modifier.isStrict(modifiers)); harness.check(!Modifier.isSynchronized(modifiers)); harness.check(!Modifier.isTransient(modifiers)); harness.check(!Modifier.isVolatile(modifiers)); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/getDeclaredFields.java0000644000175000001440000000716712205075422030566 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().getDeclaredFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalAccessException.getClass().getDeclaredFields() */ public class getDeclaredFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared fields which should exists Map testedDeclaredFields = null; // map of declared fields for (Open)JDK6 Map testedDeclaredFields_jdk6 = new HashMap(); // map of declared fields for (Open)JDK7 Map testedDeclaredFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 testedDeclaredFields_jdk7.put("private static final long java.lang.IllegalAccessException.serialVersionUID", "serialVersionUID"); // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing declared field signatures testedDeclaredFields = getJavaVersion() < 7 ? testedDeclaredFields_jdk6 : testedDeclaredFields_jdk7; // get all declared fields for this class java.lang.reflect.Field[] declaredFields = c.getDeclaredFields(); // expected number of declared fields final int expectedNumberOfDeclaredFields = testedDeclaredFields.size(); // basic check for a number of declared fields harness.check(declaredFields.length, expectedNumberOfDeclaredFields); // check if all fields exist for (java.lang.reflect.Field declaredField: declaredFields) { String fieldName = declaredField.getName(); String fieldString = declaredField.toString(); harness.check(testedDeclaredFields.containsKey(fieldString)); harness.check(testedDeclaredFields.get(fieldString), fieldName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/getDeclaredConstructors.java0000644000175000001440000001053212205075421032055 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().getDeclaredConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalAccessException.getClass().getDeclaredConstructors() */ public class getDeclaredConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of declared constructors which should exists Map testedDeclaredConstructors = null; // map of declared constructors for (Open)JDK6 Map testedDeclaredConstructors_jdk6 = new HashMap(); // map of declared constructors for (Open)JDK7 Map testedDeclaredConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedDeclaredConstructors_jdk6.put("public java.lang.IllegalAccessException()", "java.lang.IllegalAccessException"); testedDeclaredConstructors_jdk6.put("public java.lang.IllegalAccessException(java.lang.String)", "java.lang.IllegalAccessException"); // map for constructors declared in (Open)JDK7 testedDeclaredConstructors_jdk7.put("public java.lang.IllegalAccessException()", "java.lang.IllegalAccessException"); testedDeclaredConstructors_jdk7.put("public java.lang.IllegalAccessException(java.lang.String)", "java.lang.IllegalAccessException"); // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedDeclaredConstructors = getJavaVersion() < 7 ? testedDeclaredConstructors_jdk6 : testedDeclaredConstructors_jdk7; // get all declared constructors for this class java.lang.reflect.Constructor[] declaredConstructors = c.getDeclaredConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedDeclaredConstructors.size(); // basic check for a number of constructors harness.check(declaredConstructors.length, expectedNumberOfConstructors); // check if all declared constructors exist for (java.lang.reflect.Constructor declaredConstructor : declaredConstructors) { // constructor name should consists of package name + class name String constructorName = declaredConstructor.getName(); // modifiers + package + class name + parameter types String constructorString = declaredConstructor.toString().replaceAll(" native ", " "); harness.check(testedDeclaredConstructors.containsKey(constructorString)); harness.check(testedDeclaredConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/getField.java0000644000175000001440000000556212204632315026753 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().getField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalAccessException.getClass().getField() */ public class getField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/getFields.java0000644000175000001440000000572012204632315027132 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().getFields() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalAccessException.getClass().getFields() */ public class getFields implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of fields which should exists Map testedFields = null; // map of fields for (Open)JDK6 Map testedFields_jdk6 = new HashMap(); // map of fields for (Open)JDK7 Map testedFields_jdk7 = new HashMap(); // map for fields declared in (Open)JDK6 // --- empty --- // map for fields declared in (Open)JDK7 // --- empty --- // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing field signatures testedFields = getJavaVersion() < 7 ? testedFields_jdk6 : testedFields_jdk7; // get all fields for this class java.lang.reflect.Field[] fields = c.getFields(); // expected number of fields final int expectedNumberOfFields = testedFields.size(); // basic check for a number of fields harness.check(fields.length, expectedNumberOfFields); } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/isPrimitive.java0000644000175000001440000000323212207341430027522 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().isPrimitive(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; /** * Test for method java.lang.IllegalAccessException.getClass().isPrimitive() */ public class isPrimitive implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isPrimitive()); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/getSimpleName.java0000644000175000001440000000326512207063214027757 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; /** * Test for method java.lang.IllegalAccessException.getClass().getSimpleName() */ public class getSimpleName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getSimpleName(), "IllegalAccessException"); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/getEnclosingClass.java0000644000175000001440000000331712205623015030631 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().getEnclosingClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; /** * Test for method java.lang.IllegalAccessException.getClass().getEnclosingClass() */ public class getEnclosingClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getEnclosingClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/isAnnotationPresent.java0000644000175000001440000000442012206615725031237 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().isAnnotationPresent() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; /** * Test for method java.lang.IllegalAccessException.getClass().isAnnotationPresent() */ public class isAnnotationPresent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotationPresent(java.lang.annotation.Annotation.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Documented.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Inherited.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Retention.class)); harness.check(!c.isAnnotationPresent(java.lang.annotation.Target.class)); harness.check(!c.isAnnotationPresent(java.lang.Deprecated.class)); harness.check(!c.isAnnotationPresent(java.lang.Override.class)); harness.check(!c.isAnnotationPresent(java.lang.SuppressWarnings.class)); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/isSynthetic.java0000644000175000001440000000323212207341430027524 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().isSynthetic(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; /** * Test for method java.lang.IllegalAccessException.getClass().isSynthetic() */ public class isSynthetic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isSynthetic()); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/isAnnotation.java0000644000175000001440000000323012206615725027674 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().isAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; /** * Test for method java.lang.IllegalAccessException.getClass().isAnnotation() */ public class isAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnnotation()); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/isInstance.java0000644000175000001440000000332312207063214027320 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().isInstance(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; /** * Test for method java.lang.IllegalAccessException.getClass().isInstance() */ public class isInstance implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isInstance(new IllegalAccessException("java.lang.IllegalAccessException"))); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/getDeclaredMethod.java0000644000175000001440000000616612205623014030572 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().getDeclaredMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalAccessException.getClass().getDeclaredMethod() */ public class getDeclaredMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); Map methodsThatShouldExist_jdk7 = new HashMap(); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getDeclaredMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/getDeclaredClasses.java0000644000175000001440000000337312205075421030747 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().getDeclaredClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; /** * Test for method java.lang.IllegalAccessException.getClass().getDeclaredClasses() */ public class getDeclaredClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getDeclaredClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/getComponentType.java0000644000175000001440000000331312205371266030532 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().getComponentType() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; /** * Test for method java.lang.IllegalAccessException.getClass().getComponentType() */ public class getComponentType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getComponentType(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/getMethod.java0000644000175000001440000001433612204632315027147 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().getMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalAccessException.getClass().getMethod() */ public class getMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following methods should exist Map methodsThatShouldExist_jdk6 = new HashMap(); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk6.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk6.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("getCause", new Class[] {}); methodsThatShouldExist_jdk6.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk6.put("toString", new Class[] {}); methodsThatShouldExist_jdk6.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk6.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk6.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk6.put("wait", new Class[] {}); methodsThatShouldExist_jdk6.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk6.put("getClass", new Class[] {}); methodsThatShouldExist_jdk6.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk6.put("notify", new Class[] {}); methodsThatShouldExist_jdk6.put("notifyAll", new Class[] {}); Map methodsThatShouldExist_jdk7 = new HashMap(); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintWriter.class}); methodsThatShouldExist_jdk7.put("printStackTrace", new Class[] {java.io.PrintStream.class}); methodsThatShouldExist_jdk7.put("fillInStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("getCause", new Class[] {}); methodsThatShouldExist_jdk7.put("initCause", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("toString", new Class[] {}); methodsThatShouldExist_jdk7.put("getMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getLocalizedMessage", new Class[] {}); methodsThatShouldExist_jdk7.put("getStackTrace", new Class[] {}); methodsThatShouldExist_jdk7.put("setStackTrace", new Class[] {new java.lang.StackTraceElement[0].getClass()}); methodsThatShouldExist_jdk7.put("addSuppressed", new Class[] {java.lang.Throwable.class}); methodsThatShouldExist_jdk7.put("getSuppressed", new Class[] {}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class, int.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {long.class}); methodsThatShouldExist_jdk7.put("wait", new Class[] {}); methodsThatShouldExist_jdk7.put("equals", new Class[] {java.lang.Object.class}); methodsThatShouldExist_jdk7.put("hashCode", new Class[] {}); methodsThatShouldExist_jdk7.put("getClass", new Class[] {}); methodsThatShouldExist_jdk7.put("notify", new Class[] {}); methodsThatShouldExist_jdk7.put("notifyAll", new Class[] {}); // get the right map containing method signatures Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7; // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required methods really exist for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) { try { java.lang.reflect.Method method = c.getMethod(methodThatShouldExists.getKey(), methodThatShouldExists.getValue()); harness.check(method != null); String methodName = method.getName(); harness.check(methodName != null); harness.check(methodName, methodThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/isMemberClass.java0000644000175000001440000000324212207341430027750 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().isMemberClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; /** * Test for method java.lang.IllegalAccessException.getClass().isMemberClass() */ public class isMemberClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isMemberClass()); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/getConstructor.java0000644000175000001440000000712312205371266030256 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().getConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalAccessException.getClass().getConstructor() */ public class getConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following constructors should exist Map constructorsThatShouldExist_jdk6 = new HashMap(); constructorsThatShouldExist_jdk6.put("java.lang.IllegalAccessException", new Class[] {}); constructorsThatShouldExist_jdk6.put("java.lang.IllegalAccessException", new Class[] {java.lang.String.class}); Map constructorsThatShouldExist_jdk7 = new HashMap(); constructorsThatShouldExist_jdk7.put("java.lang.IllegalAccessException", new Class[] {}); constructorsThatShouldExist_jdk7.put("java.lang.IllegalAccessException", new Class[] {java.lang.String.class}); // get the right map containing constructor signatures Map constructorsThatShouldExist = getJavaVersion() < 7 ? constructorsThatShouldExist_jdk6 : constructorsThatShouldExist_jdk7; // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required constructors really exist for (Map.Entry constructorThatShouldExists : constructorsThatShouldExist.entrySet()) { try { java.lang.reflect.Constructor constructor = c.getConstructor(constructorThatShouldExists.getValue()); harness.check(constructor != null); String constructorName = constructor.getName(); harness.check(constructorName != null); harness.check(constructorName, constructorThatShouldExists.getKey()); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/getSuperclass.java0000644000175000001440000000443212207063214030046 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().getSuperclass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; /** * Test for method java.lang.IllegalAccessException.getClass().getSuperclass() */ public class getSuperclass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class superClass = c.getSuperclass(); if (getJavaVersion() == 6) { harness.check(superClass.getName(), "java.lang.Exception"); } else { harness.check(superClass.getName(), "java.lang.ReflectiveOperationException"); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/isEnum.java0000644000175000001440000000320012206615725026463 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().isEnum() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; /** * Test for method java.lang.IllegalAccessException.getClass().isEnum() */ public class isEnum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isEnum()); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/getMethods.java0000644000175000001440000001772012204632315027332 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().getMethods() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalAccessException.getClass().getMethods() */ public class getMethods implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of methods which should exists Map testedMethods = null; // map of methods for (Open)JDK6 Map testedMethods_jdk6 = new HashMap(); // map of methods for (Open)JDK7 Map testedMethods_jdk7 = new HashMap(); // map for methods declared in (Open)JDK6 testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk6.put("public java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk6.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk6.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk6.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk6.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk6.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk6.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk6.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk6.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk6.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // map for methods declared in (Open)JDK7 testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace()", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintWriter)", "printStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.printStackTrace(java.io.PrintStream)", "printStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.fillInStackTrace()", "fillInStackTrace"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.getCause()", "getCause"); testedMethods_jdk7.put("public synchronized java.lang.Throwable java.lang.Throwable.initCause(java.lang.Throwable)", "initCause"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.toString()", "toString"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getMessage()", "getMessage"); testedMethods_jdk7.put("public java.lang.String java.lang.Throwable.getLocalizedMessage()", "getLocalizedMessage"); testedMethods_jdk7.put("public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()", "getStackTrace"); testedMethods_jdk7.put("public void java.lang.Throwable.setStackTrace(java.lang.StackTraceElement[])", "setStackTrace"); testedMethods_jdk7.put("public final synchronized void java.lang.Throwable.addSuppressed(java.lang.Throwable)", "addSuppressed"); testedMethods_jdk7.put("public final synchronized java.lang.Throwable[] java.lang.Throwable.getSuppressed()", "getSuppressed"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait(long) throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public final void java.lang.Object.wait() throws java.lang.InterruptedException", "wait"); testedMethods_jdk7.put("public boolean java.lang.Object.equals(java.lang.Object)", "equals"); testedMethods_jdk7.put("public int java.lang.Object.hashCode()", "hashCode"); testedMethods_jdk7.put("public final java.lang.Class java.lang.Object.getClass()", "getClass"); testedMethods_jdk7.put("public final void java.lang.Object.notify()", "notify"); testedMethods_jdk7.put("public final void java.lang.Object.notifyAll()", "notifyAll"); // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing method signatures testedMethods = getJavaVersion() < 7 ? testedMethods_jdk6 : testedMethods_jdk7; // get all methods for this class java.lang.reflect.Method[] methods = c.getMethods(); // expected number of methods final int expectedNumberOfMethods = testedMethods.size(); // basic check for a number of methods harness.check(methods.length, expectedNumberOfMethods); // check if all methods exist for (java.lang.reflect.Method method : methods) { // method name should consists of package name + class name String methodName = method.getName(); // modifiers + package + method name + parameter types String methodString = method.toString().replaceAll(" native ", " "); harness.check(testedMethods.containsKey(methodString)); harness.check(testedMethods.get(methodString), methodName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/getAnnotations.java0000644000175000001440000000577312204632315030231 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().getAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.IllegalAccessException.getClass().getAnnotations() */ public class getAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/InstanceOf.java0000644000175000001440000000365712204360767027275 0ustar dokousers// Test for instanceof operator applied to a class java.lang.IllegalAccessException // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; import java.lang.Exception; import java.lang.Throwable; import java.lang.Object; /** * Test for instanceof operator applied to a class java.lang.IllegalAccessException */ public class InstanceOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessException IllegalAccessException o = new IllegalAccessException("java.lang.IllegalAccessException"); // basic check of instanceof operator harness.check(o instanceof IllegalAccessException); // check operator instanceof against all superclasses harness.check(o instanceof Exception); harness.check(o instanceof Throwable); harness.check(o instanceof Object); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/getDeclaringClass.java0000644000175000001440000000331712205623015030600 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().getDeclaringClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; /** * Test for method java.lang.IllegalAccessException.getClass().getDeclaringClass() */ public class getDeclaringClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class cls = c.getDeclaringClass(); harness.check(cls == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/getAnnotation.java0000644000175000001440000000510212204632315030030 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().getAnnotation() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; /** * Test for method java.lang.IllegalAccessException.getClass().getAnnotation() */ public class getAnnotation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.annotation.Annotation annotation; annotation = c.getAnnotation(java.lang.annotation.Annotation.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Documented.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Inherited.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Retention.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.annotation.Target.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Deprecated.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.Override.class); harness.check(annotation == null); annotation = c.getAnnotation(java.lang.SuppressWarnings.class); harness.check(annotation == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/isAnonymousClass.java0000644000175000001440000000325012206615725030542 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().isAnonymousClass() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; /** * Test for method java.lang.IllegalAccessException.getClass().isAnonymousClass() */ public class isAnonymousClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isAnonymousClass()); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/getEnclosingMethod.java0000644000175000001440000000333712205623015031006 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().getEnclosingMethod() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; /** * Test for method java.lang.IllegalAccessException.getClass().getEnclosingMethod() */ public class getEnclosingMethod implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Method m = c.getEnclosingMethod(); harness.check(m == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/isInterface.java0000644000175000001440000000323212207341430027452 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().isInterface(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; /** * Test for method java.lang.IllegalAccessException.getClass().isInterface() */ public class isInterface implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isInterface()); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/getConstructors.java0000644000175000001440000001016512205371266030441 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().getConstructors() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalAccessException.getClass().getConstructors() */ public class getConstructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // map of constructors which should exists Map testedConstructors = null; // map of constructors for (Open)JDK6 Map testedConstructors_jdk6 = new HashMap(); // map of constructors for (Open)JDK7 Map testedConstructors_jdk7 = new HashMap(); // map for constructors declared in (Open)JDK6 testedConstructors_jdk6.put("public java.lang.IllegalAccessException()", "java.lang.IllegalAccessException"); testedConstructors_jdk6.put("public java.lang.IllegalAccessException(java.lang.String)", "java.lang.IllegalAccessException"); // map for constructors declared in (Open)JDK7 testedConstructors_jdk7.put("public java.lang.IllegalAccessException()", "java.lang.IllegalAccessException"); testedConstructors_jdk7.put("public java.lang.IllegalAccessException(java.lang.String)", "java.lang.IllegalAccessException"); // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); // get the right map containing constructor signatures testedConstructors = getJavaVersion() < 7 ? testedConstructors_jdk6 : testedConstructors_jdk7; // get all constructors for this class java.lang.reflect.Constructor[] constructors = c.getConstructors(); // expected number of constructors final int expectedNumberOfConstructors = testedConstructors.size(); // basic check for a number of constructors harness.check(constructors.length, expectedNumberOfConstructors); // check if all constructors exist for (java.lang.reflect.Constructor constructor : constructors) { // constructor name should consists of package name + class name String constructorName = constructor.getName(); // modifiers + package + class name + parameter types String constructorString = constructor.toString().replaceAll(" native ", " "); harness.check(testedConstructors.containsKey(constructorString)); harness.check(testedConstructors.get(constructorString), constructorName); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/isAssignableFrom.java0000644000175000001440000000331012207063214030444 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().isAssignableFrom(Class) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; /** * Test for method java.lang.IllegalAccessException.getClass().isAssignableFrom() */ public class isAssignableFrom implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.isAssignableFrom(IllegalAccessException.class)); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/getDeclaredAnnotations.java0000644000175000001440000000603312205075421031643 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().getDeclaredAnnotations() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; import java.util.List; import java.util.Arrays; /** * Test for method java.lang.IllegalAccessException.getClass().getDeclaredAnnotations() */ public class getDeclaredAnnotations implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); // following annotations should be provided final String[] annotationsThatShouldExists_jdk6 = { }; final String[] annotationsThatShouldExists_jdk7 = { }; // get all annotations java.lang.annotation.Annotation[] annotations = c.getDeclaredAnnotations(); // and transform the array into a list of annotation names List annotationsAsString = new java.util.ArrayList(); for (java.lang.annotation.Annotation annotation : annotations) { annotationsAsString.add(annotation.toString()); } String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7; // check if all required annotations really exist for (String annotationThatShouldExists : annotationsThatShouldExists) { harness.check(annotationsAsString.contains(annotationThatShouldExists)); } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/getDeclaredField.java0000644000175000001440000000567312205075421030402 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().getDeclaredField() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; import java.util.Map; import java.util.HashMap; /** * Test for method java.lang.IllegalAccessException.getClass().getDeclaredField() */ public class getDeclaredField implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // following declared fields should exists final String[] fieldsThatShouldExist_jdk6 = { }; final String[] fieldsThatShouldExist_jdk7 = { "serialVersionUID", }; final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7; // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); // check if all required fields really exists for (String fieldThatShouldExists : fieldsThatShouldExist) { try { java.lang.reflect.Field field = c.getDeclaredField(fieldThatShouldExists); harness.check(field != null); String fieldName = field.getName(); harness.check(fieldName != null); harness.check(fieldName, fieldThatShouldExists); } catch (Exception e) { harness.check(false); } } } /** * Returns version of Java. The input could have the following form: "1.7.0_06" * and we are interested only in "7" in this case. * * @return Java version */ protected int getJavaVersion() { String javaVersionStr = System.getProperty("java.version"); String[] parts = javaVersionStr.split("\\."); return Integer.parseInt(parts[1]); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/isLocalClass.java0000644000175000001440000000323612207341430027576 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().isLocalClass(Object) // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; /** * Test for method java.lang.IllegalAccessException.getClass().isLocalClass() */ public class isLocalClass implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isLocalClass()); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/getEnclosingConstructor.java0000644000175000001440000000340112205623015032103 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().getEnclosingConstructor() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; /** * Test for method java.lang.IllegalAccessException.getClass().getEnclosingConstructor() */ public class getEnclosingConstructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); java.lang.reflect.Constructor cons = c.getEnclosingConstructor(); harness.check(cons == null); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/getCanonicalName.java0000644000175000001440000000331012205371266030413 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().getSimpleName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; /** * Test for method java.lang.IllegalAccessException.getClass().getCanonicalName() */ public class getCanonicalName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getCanonicalName(), "java.lang.IllegalAccessException"); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/getName.java0000644000175000001440000000324712204360767026617 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().getName() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; /** * Test for method java.lang.IllegalAccessException.getClass().getName() */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(c.getName(), "java.lang.IllegalAccessException"); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/getClasses.java0000644000175000001440000000333312205371266027325 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().getClasses() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; /** * Test for method java.lang.IllegalAccessException.getClass().getClasses() */ public class getClasses implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); Class[] cls = c.getClasses(); harness.check(cls != null); harness.check(cls.length, 0); } } mauve-20140821/gnu/testlet/java/lang/IllegalAccessException/classInfo/isArray.java0000644000175000001440000000320412206615725026641 0ustar dokousers// Test for method java.lang.IllegalAccessException.getClass().isArray() // Copyright (C) 2012, 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.lang.IllegalAccessException.classInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.IllegalAccessException; /** * Test for method java.lang.IllegalAccessException.getClass().isArray() */ public class isArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // create instance of a class IllegalAccessException final Object o = new IllegalAccessException("java.lang.IllegalAccessException"); // get a runtime class of an object "o" final Class c = o.getClass(); harness.check(!c.isArray()); } } mauve-20140821/gnu/testlet/java/net/0000755000175000001440000000000012375316426015742 5ustar dokousersmauve-20140821/gnu/testlet/java/net/Socket/0000755000175000001440000000000012375316426017172 5ustar dokousersmauve-20140821/gnu/testlet/java/net/Socket/SocketTest.java0000644000175000001440000003270010371602230022110 0ustar dokousers// Tags: JDK1.0 // Uses: SocketBServer SocketServer /* Copyright (C) 1999 Hewlett-Packard Company Copyright (C) 2005 Mark J. Wielaard This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.Socket; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.net.*; import java.io.*; public class SocketTest implements Testlet { protected static TestHarness harness; public void test_BasicServer() { harness.checkPoint("BasicServer"); try { SocketServer srv = new SocketServer(); SocketServer.harness = harness; srv.init(); srv.start(); Thread.yield(); harness.check(true, "BasicServer"); } catch (Exception e) { harness.fail("Error : test_BasicServer failed - 0 " + "exception was thrown."); harness.debug(e); } Socket sock = null; try { sock = new Socket("127.0.0.1", 23000); DataInputStream dis = new DataInputStream(sock.getInputStream()); String str = dis.readLine(); harness.check(str.equals("hello buddy"), "Error : test_BasicServer failed - 1 " + "string returned is not correct."); } catch (Exception e) { harness.fail("Error : test_BasicServer failed - 2 " + "exception was thrown."); harness.debug(e); } finally { try { if (sock != null) sock.close(); } catch(IOException ignored) {} } // second iteration try { sock = new Socket("127.0.0.1", 23000); DataInputStream dis = new DataInputStream(sock.getInputStream()); String str = dis.readLine(); harness.check(str.equals("hello buddy"), "Error : test_BasicServer failed - 3 " + "string returned is not correct."); sock.close(); harness.check(true); } catch (Exception e) { harness.fail("Error : test_BasicServer failed - 4 " + "exception was thrown."); harness.debug(e); } finally { try { if (sock != null) sock.close(); } catch(IOException ignored) {} } // second iteration try { sock = new Socket("127.0.0.1", 23000); DataInputStream dis = new DataInputStream(sock.getInputStream()); byte data[] = new byte[5]; int len; len = dis.read(data); String str = new String(data, 0, 0, 5); harness.check(str.equals("hello"), "Error : test_BasicServer failed - 5 " + "string returned is not correct."); dis.close(); sock.close(); harness.check(true); } catch (Exception e) { harness.fail("Error : test_BasicServer failed - 6 " + "exception was thrown."); harness.debug(e); } finally { try { if (sock != null) sock.close(); } catch(IOException ignored) {} } // second iteration try { sock = new Socket("127.0.0.1", 23000); InputStream is = sock.getInputStream(); byte data[] = new byte[5]; int len; len = is.read(data, 0, 5); String str= new String(data, 0, 0, 5); harness.check(str.equals("hello"), "Error : test_BasicServer failed - 8 " + "string returned is not correct."); is.close(); harness.check(true); } catch (Exception e) { harness.fail("Error : test_BasicServer failed - 9 " + "exception was thrown."); harness.debug(e); } finally { try { if (sock != null) sock.close(); } catch(IOException ignored) {} } // second iteration try { sock = new Socket("127.0.0.1", 23000); InputStream is = sock.getInputStream(); byte data[] = new byte[5]; is.skip(2); int len = is.available(); // deterministic after blocking for skip harness.check(len > 0, "Error : test_BasicServer failed - 7 " + "no more data available"); is.read(data, 0, 3); String str = new String(data, 0, 0, 3); harness.check(str.equals("llo"), "Error : test_BasicServer failed - 10 " + "string returned is not correct."); is.close(); harness.check(true); } catch (Exception e) { harness.fail("Error : test_BasicServer failed - 11 " + "exception was thrown."); harness.debug(e); } finally { try { if (sock != null) sock.close(); } catch(IOException ignored) {} } } public void test_params() { String host = harness.getMailHost(); int port = 25; harness.checkPoint("params"); Socket sock = null; try { sock = new Socket(host, port); harness.check(sock.getLocalPort() > 0, "Error : test_params failed - 1 " + "get port did not return proper values"); try { sock.setSoTimeout(100); harness.check(sock.getSoTimeout() == 100, "Error : test_params failed - 2 " + "get /set timeout did not return proper values"); harness.check(true); } catch (Exception e) { harness.check(false, "Error : setSoTimeout fails since some OSes do not support the feature"); harness.debug(e); } harness.debug ("getTcpNoDelay() default: " + sock.getTcpNoDelay ()); harness.check ((sock.getTcpNoDelay () == false), "default getTcpNoDelay() should be false"); sock.setTcpNoDelay(true); harness.check(sock.getTcpNoDelay(), "Error : test_params failed - 3 " + "get /set tcp delay did not return proper values"); harness.debug ("getSoLinger() default: " + sock.getSoLinger()); harness.check (sock.getSoLinger(), -1, "default getSoLinger() should be -1"); sock.setSoLinger(true, 10); harness.check(sock.getSoLinger() == 10, "Error : test_params failed - 4"); sock.setSoLinger(false, 20); harness.check(sock.getSoLinger() == -1, "Error : test_params failed - 5"); harness.check(sock.getPort() == port, "Error : test_params failed - 6"); harness.debug("sock.getInetAddress().toString(): " + sock.getInetAddress().toString()); harness.check(sock.getInetAddress().toString().indexOf(host) != -1, "getInetAddress().toString() should contain host " + host); harness.debug("sock.toString(): " + sock.toString()); harness.check(sock.toString().indexOf(host) != -1, "toString() should contain host " + host); } catch (Exception e) { harness.fail("Error : test_params failed - 10 exception was thrown."); harness.debug(e); } finally { try { if (sock != null) sock.close(); } catch(IOException ignored) {} } } public void test_Basics() { harness.checkPoint("Basics"); Socket s = null; // host name given try { s = new Socket ("babuspdjflks.gnu.org.", 200); harness.fail("Error : test_Basics failed - 1 " + "exception should have been thrown here"); } catch (UnknownHostException e) { harness.check(true); } catch (IOException e) { harness.fail("Error : test_Basics failed - 2 " + "Unknown host exception should have been thrown here."); harness.debug(e); } finally { try { if (s != null) s.close(); } catch(IOException ignored) {} } try { s = new Socket("127.0.0.1", 30001); harness.fail("Error : test_Basics failed - 3 " + "exception should have been thrown here"); } catch (UnknownHostException e) { harness.fail("Error : test_Basics failed - 4 " + "Unknown host exception should not have been thrown here"); harness.debug(e); } catch (ConnectException e) { harness.check(true); } catch (IOException e) { harness.fail("Error : test_Basics failed - 4 " + "ConnectException should have been thrown here"); harness.debug(e); } finally { try { if (s != null) s.close(); } catch(IOException ignored) {} } try { s = new Socket("127.0.0.1", 30001, true); harness.fail("Error : test_Basics failed - 5 " + "exception should have been thrown here"); } catch (UnknownHostException e) { harness.fail("Error : test_Basics failed - 6 " + "Unknown host exception should not have been thrown here"); harness.debug(e); } catch (ConnectException e) { harness.check(true); } catch (IOException e) { harness.fail("Error : test_Basics failed - 6 " + "ConnectException should have been thrown here"); harness.debug(e); } finally { try { if (s != null) s.close(); } catch(IOException ignored) {} } // host inet given try { // This is host / port that is unlikely to be blocked. (Outgoing // port 80 connections are often blocked.) s = new Socket (harness.getMailHost(), 25); harness.check(true); } catch (Exception e) { harness.fail("Error : test_Basics failed - 7 " + "exception should not have been thrown."); harness.debug(e); } finally { try { if (s != null) s.close(); } catch(IOException ignored) {} } try { s = new Socket(InetAddress.getLocalHost(), 30002); harness.fail("Error : test_Basics failed - 8 " + "exception should have been thrown here"); } catch (ConnectException e) { harness.check(true); } catch (IOException e) { harness.fail("Error : test_Basics failed - 8 " + "ConnectException should have been thrown here"); harness.debug(e); } finally { try { if (s != null) s.close(); } catch(IOException ignored) {} } if (true) { // 1.1 features not implemented // src socket target socket given(as hostname). try { s = new Socket ("babuspdjflks.gnu.org.", 200, InetAddress.getLocalHost() ,20006); harness.fail("Error : test_Basics failed - 9 " + " exception should have been thrown here"); } catch (UnknownHostException e) { harness.check(true); } catch (IOException e) { harness.fail("Error : test_Basics failed - 10 " + "UnknownHostException should have been thrown here"); harness.debug(e); } finally { try { if (s != null) s.close(); } catch(IOException ignored) {} } try { s = new Socket("127.0.0.1", 30003, InetAddress.getLocalHost(), 20007); harness.fail("Error : test_Basics failed - 11 " + " exception should have been thrown here"); } catch (UnknownHostException e) { harness.fail("Error : test_Basics failed - 12 " + "UnknownHostException should not have been thrown"); harness.debug(e); } catch (IOException e) { harness.check(true); } finally { try { if (s != null) s.close(); } catch(IOException ignored) {} } // src socket target socket given (as ip address). try { s = new Socket(InetAddress.getLocalHost(), 30004, InetAddress.getLocalHost(), 20008); harness.fail("Error : test_Basics failed - 13 " + " exception should have been thrown here"); } catch (UnknownHostException e) { harness.fail("Error : test_Basics failed - 14 " + "Unknown host exception should not have been thrown"); harness.debug(e); } catch (IOException e) { harness.check(true); } finally { try { if (s != null) s.close(); } catch(IOException ignored) {} } } } public void test_BasicBServer() { harness.checkPoint("BasicBServer"); SocketBServer srv = new SocketBServer(); SocketBServer.harness = harness; srv.init(); srv.start(); Thread.yield(); Socket sock = null; try { sock = new Socket("127.0.0.1", 20002); InputStream is = sock.getInputStream(); DataInputStream dis = new DataInputStream(is); String str = dis.readLine(); harness.check(str.equals("hello buddy"), "Error : test_BasicServer failed - 1 " + "string returned is not correct."); harness.check(true); } catch (Exception e) { harness.fail("Error : test_BasicServer failed - 2 exception was thrown"); harness.debug(e); } finally { try { if (sock != null) sock.close(); } catch (IOException ignored) {} } } public void test_closed() { harness.checkPoint("closed"); Socket sock = null; try { sock = new Socket(); sock.close(); sock.setSoTimeout(1000); harness.fail("exception expected"); } catch (SocketException e) { harness.check(e.getMessage().compareToIgnoreCase("socket is closed") == 0, "wrong SocketException error message: " + e.getMessage()); } catch (Exception e) { harness.fail("wrong exception thrown"); } } public void testall() { test_Basics(); test_params(); test_BasicServer(); test_BasicBServer(); test_closed(); } public void test (TestHarness the_harness) { harness = the_harness; testall (); } } mauve-20140821/gnu/testlet/java/net/Socket/SocketBServer.java0000644000175000001440000000357210057633057022562 0ustar dokousers// Tags: not-a-test /* Copyright (C) 1999 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.Socket; import gnu.testlet.TestHarness; import java.net.*; import java.io.*; class SocketBServer extends Thread { ServerSocket srvsock = null; static TestHarness harness; public void init() { try { srvsock = new ServerSocket(20002); harness.check(true); } catch (Exception e) { harness.fail("Error : BasicSocketServer::init failed " + "Exception should not be thrown here " + e); } } public void run() { if (srvsock == null) { harness.fail("Error : BasicSocketServer::run failed - 1 " + "server socket creation was not successful"); return; } int i = 0; while (i++ < 1) { try { Socket clnt = srvsock.accept(); OutputStream os = clnt.getOutputStream(); DataOutputStream dos = new DataOutputStream(os); dos.writeBytes("hello buddy"); dos.close(); harness.check(true); } catch (Exception e){ harness.fail("Error : BasicSocketServer::run failed - 2" + "exception was thrown"); } } try { srvsock.close(); } catch (IOException ignored) {} } } mauve-20140821/gnu/testlet/java/net/Socket/setSocketImplFactory.java0000644000175000001440000000436611537542616024165 0ustar dokousers// Tags: JDK1.0 // Uses: TestSocketImplFactory /* Copyright (C) 2003 C. Brian Jones This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.Socket; import java.net.*; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class setSocketImplFactory implements Testlet { public void test (TestHarness harness) { try { try { Socket.setSocketImplFactory (null); harness.check (true, "setSocketImplFactory(null) when not already set"); } catch (SocketException se) { harness.debug (se); harness.check (false, "setSocketImplFactory(null) when not already set"); } Socket.setSocketImplFactory (new TestSocketImplFactory ()); harness.check (true, "setSocketImplFactory() - 1"); try { Socket.setSocketImplFactory (new TestSocketImplFactory ()); harness.check (false, "setSocketImplFactory() - 2"); } catch (SocketException se) { harness.check (true, "setSocketImplFactory() - 2"); } try { Socket.setSocketImplFactory (null); harness.check (false, "setSocketImplFactory(null) when already set"); } catch (SocketException se) { harness.debug (se); harness.check (true, "setSocketImplFactory(null) when already set"); } } catch (Throwable t) { harness.debug(t); harness.check (false, "setSocketImplFactory() - 1"); } } } mauve-20140821/gnu/testlet/java/net/Socket/ServerThread.java0000644000175000001440000000355710202562413022427 0ustar dokousers// Tags: not-a-test /* Copyright (C) 2005 Free Software Foundation This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.Socket; import gnu.testlet.TestHarness; import java.net.*; import java.io.*; /* Implements a simple server socket listening on a port. Socket tests can connect to this port. */ class ServerThread extends Thread { ServerSocket sock; TestHarness harness; public ServerThread(TestHarness harness) { this(harness, 14610); } public ServerThread(TestHarness harness, int port) { this.harness = harness; try { sock = new ServerSocket(port); this.start(); } catch (IOException x) { harness.fail(x.toString()); } } public void close() { try { sock.close(); } catch (IOException x) { harness.fail(x.toString()); } } public void run() { try { while (true) { Socket s = sock.accept(); InputStream is = s.getInputStream(); byte[] data = new byte[512]; boolean done = false; while (!done) { if (is.read(data, 0, data.length) < 0) done = true; } } } catch (IOException x) { // Ignored } } } mauve-20140821/gnu/testlet/java/net/Socket/jdk14.java0000644000175000001440000000554010766131514020751 0ustar dokousers// Tags: JDK1.4 // Uses: ServerThread /* Copyright (C) 2003 C. Brian Jones Copyright (C) 2003 Mark J. Wielaard This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.Socket; import java.io.IOException; import java.net.*; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class jdk14 implements Testlet { public void test (TestHarness harness) { String host = "localhost"; int port = 14610; Socket sock = null; ServerThread server = new ServerThread(harness, port); try { sock = new Socket (); // unconnected socket harness.check (sock.getPort (), 0, "unconnected socket getPort() should return 0"); harness.check (sock.getLocalPort (), -1, "unbound socket getLocalPort() should return -1"); harness.debug(host); sock = new Socket (host, port); harness.checkPoint("connect()"); harness.checkPoint("bind()"); harness.checkPoint("getRemoteSocketAddress()"); harness.checkPoint("getLocalSocketAddress()"); harness.checkPoint("getChannel"); harness.checkPoint("sendUrgentData"); harness.checkPoint("setOOBInline"); harness.checkPoint("getOOBInline"); harness.checkPoint("setTrafficClass()"); harness.checkPoint("getTrafficClass()"); harness.checkPoint("setReuseAddress()"); harness.checkPoint("getReuseAddress()"); harness.checkPoint("isConnected()"); harness.checkPoint("isBound()"); harness.checkPoint("isClosed()"); harness.checkPoint("isInputShutdown()"); harness.checkPoint("isOutputShutdown()"); } catch (Throwable t) { harness.debug (t); harness.fail ("unexpected error: " + t.getMessage ()); } finally { try { if (sock != null) sock.close(); server.close(); } catch(IOException ignored) {} } try { harness.checkPoint("bind to any local address"); sock = new Socket(); InetAddress ia = null; InetSocketAddress sa = new InetSocketAddress(ia, 30006); sock.bind(sa); harness.check(true); } catch (Exception e) { harness.debug(e); harness.fail("unexpected error: bind() threw an exception"); } finally { try { if (sock != null) sock.close(); } catch(IOException ignored) {} } } } mauve-20140821/gnu/testlet/java/net/Socket/SocketServer.java0000644000175000001440000000421710057633060022447 0ustar dokousers// Tags: not-a-test /* Copyright (C) 1999 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.Socket; import gnu.testlet.TestHarness; import java.net.*; import java.io.*; class SocketServer extends Thread { ServerSocket srvsock = null; String helloBuddy="hello buddy"; static TestHarness harness; public void init() { try { srvsock = new ServerSocket(23000); harness.check(true); } catch (Exception e) { harness.fail("Error : BasicSocketServer::init failed " + "Exception should not be thrown here " + e); e.printStackTrace(); } } public void run() { if (srvsock == null) { harness.fail("Error : BasicSocketServer::run failed - 1 " + "server socket creation was not successful"); return; } int i = 0; while (i++ < 5) { try { Socket clnt = srvsock.accept(); OutputStream os = clnt.getOutputStream(); //DataOutputStream dos = new DataOutputStream(os); //dos.writeBytes("hello buddy"); //dos.close(); //System.out.println("Write helloBuddy as bytes"); byte data[] = new byte[helloBuddy.length()]; helloBuddy.getBytes(0,helloBuddy.length(),data,0); os.write(data); os.close(); harness.check(true); } catch (Exception e) { harness.fail("Error : BasicSocketServer::run failed - 2" + "exception was thrown: " + e); e.printStackTrace(); } } try { srvsock.close(); } catch (IOException ignored) {} } } mauve-20140821/gnu/testlet/java/net/Socket/jdk12.java0000644000175000001440000000324210334216563020743 0ustar dokousers// Tags: JDK1.2 // Uses: ServerThread /* Copyright (C) 2003 C. Brian Jones Copyright (C) 2005 Mark J. Wielaard This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.Socket; import java.io.IOException; import java.net.*; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class jdk12 implements Testlet { public void test (TestHarness harness) { String host = "localhost"; int port = 14610; Socket sock = null; ServerThread server = new ServerThread(harness, port); try { sock = new Socket (host, port); harness.checkPoint("setSendBufferSize()"); harness.checkPoint("getSendBufferSize()"); harness.checkPoint("setReceiveBufferSize()"); harness.checkPoint("getReceiveBufferSize()"); } catch (Throwable t) { harness.debug (t); harness.fail ("unexpected error: " + t.getMessage ()); } finally { try { if (sock != null) sock.close(); server.close(); } catch(IOException ignored) {} } } } mauve-20140821/gnu/testlet/java/net/Socket/security.java0000644000175000001440000001612411537542616021711 0ustar dokousers// Copyright (C) 2006, 2007 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 package gnu.testlet.java.net.Socket; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.ServerSocket; import java.net.Socket; import java.net.SocketPermission; import java.security.Permission; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.TestSecurityManager; public class security implements Testlet { public void test(TestHarness harness) { try { harness.checkPoint("setup"); InetAddress inetaddr = InetAddress.getByName(null); String hostname = inetaddr.getHostName(); String hostaddr = inetaddr.getHostAddress(); harness.check(!hostname.equals(hostaddr)); ServerSocket socket = new ServerSocket(0, 50, inetaddr); int hostport = socket.getLocalPort(); InetSocketAddress sockaddr = new InetSocketAddress(inetaddr, hostport); Permission[] checkConnect = new Permission[] { new SocketPermission(hostaddr + ":" + hostport, "connect")}; Permission[] checkResolveConnect = new Permission[] { new SocketPermission(hostname, "resolve"), new SocketPermission(hostaddr + ":" + hostport, "connect")}; Permission[] checkSelectorProvider = new Permission[] { new RuntimePermission("selectorProvider")}; Permission[] checkSetFactory = new Permission[] { new RuntimePermission("setFactory")}; TestSecurityManager sm = new TestSecurityManager(harness); try { sm.install(); // throwpoint: java.net.Socket-Socket(InetAddress, int) try { harness.checkPoint("Socket(InetAddress, int)"); sm.prepareChecks(checkConnect, checkSelectorProvider); new Socket(inetaddr, hostport).close(); sm.checkAllChecked(); } catch (SecurityException e) { harness.debug(e); harness.check(false, "unexpected check"); } // throwpoint: java.net.Socket-Socket(String, int) harness.checkPoint("Socket(String, int)"); try { sm.prepareChecks(checkConnect, checkSelectorProvider); new Socket(hostaddr, hostport).close(); sm.checkAllChecked(); } catch (SecurityException e) { harness.debug(e); harness.check(false, "unexpected check"); } try { sm.prepareChecks(checkResolveConnect, checkSelectorProvider); new Socket(hostname, hostport).close(); sm.checkAllChecked(); } catch (SecurityException e) { harness.debug(e); harness.check(false, "unexpected check"); } // throwpoint: java.net.Socket-Socket(InetAddress, int, boolean) harness.checkPoint("Socket(InetAddress, int, boolean)"); for (int i = 0; i < 2; i++) { try { sm.prepareChecks(checkConnect, checkSelectorProvider); new Socket(inetaddr, hostport, i == 0).close(); sm.checkAllChecked(); } catch (SecurityException e) { harness.debug(e); harness.check(false, "unexpected check"); } } // throwpoint: java.net.Socket-Socket(String, int, boolean) harness.checkPoint("Socket(String, int, boolean)"); for (int i = 0; i < 2; i++) { try { sm.prepareChecks(checkConnect, checkSelectorProvider); new Socket(hostaddr, hostport, i == 0).close(); sm.checkAllChecked(); } catch (SecurityException e) { harness.debug(e); harness.check(false, "unexpected check"); } try { sm.prepareChecks(checkResolveConnect, checkSelectorProvider); new Socket(hostname, hostport, i == 0).close(); sm.checkAllChecked(); } catch (SecurityException e) { harness.debug(e); harness.check(false, "unexpected check"); } } // throwpoint: java.net.Socket-Socket(InetAddress,int,InetAddress,int) harness.checkPoint("Socket(InetAddress, int, InetAddress, int)"); try { sm.prepareChecks(checkConnect, checkSelectorProvider); new Socket(inetaddr, hostport, inetaddr, 0).close(); sm.checkAllChecked(); } catch (SecurityException e) { harness.debug(e); harness.check(false, "unexpected check"); } // throwpoint: java.net.Socket-Socket(String, int, InetAddress, int) harness.checkPoint("Socket(String, int, InetAddress, int)"); try { sm.prepareChecks(checkConnect, checkSelectorProvider); new Socket(hostaddr, hostport, inetaddr, 0).close(); sm.checkAllChecked(); } catch (SecurityException e) { harness.debug(e); harness.check(false, "unexpected check"); } try { sm.prepareChecks(checkResolveConnect, checkSelectorProvider); new Socket(hostname, hostport, inetaddr, 0).close(); sm.checkAllChecked(); } catch (SecurityException e) { harness.debug(e); harness.check(false, "unexpected check"); } // throwpoint: TODO: java.net.Socket-Socket(Proxy) // throwpoint: java.net.Socket-connect(InetSocketAddress) harness.checkPoint("connect(InetSocketAddress)"); try { sm.prepareChecks(checkConnect, checkSelectorProvider); Socket sock = new Socket(); sock.connect(sockaddr, hostport); sock.close(); sm.checkAllChecked(); } catch (SecurityException e) { harness.debug(e); harness.check(false, "unexpected check"); } // throwpoint: java.net.Socket-setSocketImplFactory harness.checkPoint("setSocketImplFactory"); try { sm.prepareHaltingChecks(checkSetFactory); Socket.setSocketImplFactory(null); harness.check(false); } catch (TestSecurityManager.SuccessException ex) { harness.check(true); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } finally { sm.uninstall(); } } catch (Exception e) { harness.debug(e); harness.check(false, "Unexpected exception"); } } } mauve-20140821/gnu/testlet/java/net/Socket/jdk13.java0000644000175000001440000000355710334216563020755 0ustar dokousers// Tags: JDK1.3 // Uses: ServerThread /* Copyright (C) 2003 C. Brian Jones Copyright (C) 2003 Mark J. Wielaard This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.Socket; import java.io.IOException; import java.net.*; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class jdk13 implements Testlet { public void test (TestHarness harness) { String host = "localhost"; int port = 14610; Socket sock = null; ServerThread server = new ServerThread(harness, port); try { harness.checkPoint("getKeepAlive()"); sock = new Socket (host, port); harness.debug ("getKeepAlive() default: " + sock.getKeepAlive ()); harness.check (sock.getKeepAlive () == false, "getKeepAlive() default should be false"); sock.setKeepAlive (true); harness.check (sock.getKeepAlive (), "setKeepAlive() - 1"); harness.checkPoint ("shutdownInput()"); harness.checkPoint ("shutdownOutput()"); } catch (Throwable t) { harness.debug (t); harness.fail ("unexpected error: " + t.getMessage ()); } finally { try { if (sock != null) sock.close(); server.close(); } catch(IOException ignored) {} } } } mauve-20140821/gnu/testlet/java/net/Socket/TestSocketImplFactory.java0000644000175000001440000000617410173030270024267 0ustar dokousers/* Copyright (C) 2003 C. Brian Jones Copyright (C) 2004 Mark J. Wielaard This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.Socket; import java.net.*; import java.lang.reflect.*; public class TestSocketImplFactory implements SocketImplFactory { private Constructor implConstructor = null; public TestSocketImplFactory() { // We better make sure we can actually return something in case // this factory is actually used later. The trick we use is to // create a Socket with the empty constructor (which is defined as // returning an unconnected Socket with the default SocketImpl). // Then we use reflection to scoop out this object. SocketImpl impl = null; try { Class sic = Class.forName("java.net.SocketImpl"); Socket s = new Socket(); Field[] fields = s.getClass().getDeclaredFields(); int i = 0; while (impl == null && i < fields.length) { Field f = fields[i]; Class fc = f.getType(); if (sic.isAssignableFrom(fc)) { f.setAccessible(true); impl = (SocketImpl) f.get(s); } i++; } } catch (IllegalAccessException iae) { Error e = new InternalError("Unable to get default SocketImpl " + iae); e.initCause(iae); throw e; } catch (ClassNotFoundException cnf) { Error e = new InternalError("Unable to get default SocketImpl " + cnf); e.initCause(cnf); throw e; } if (impl == null) throw new InternalError("Couldn't determine default SocketImpl"); // Now hope that there is a non-argument constructor. int i = 0; Constructor[] cons = impl.getClass().getDeclaredConstructors(); while (implConstructor == null && i < cons.length) { Constructor c = cons[i]; if (c.getParameterTypes().length == 0) implConstructor = c; i++; } if (implConstructor == null) throw new InternalError("Couldn't get SocketImpl Constructor"); else implConstructor.setAccessible(true); } public SocketImpl createSocketImpl () { try { return (SocketImpl) implConstructor.newInstance(new Object[0]); } catch (InstantiationException ie) { ie.printStackTrace(); // Null is better then nothing? return null; } catch (IllegalAccessException iae) { iae.printStackTrace(); // Null is better then nothing? return null; } catch(InvocationTargetException ite) { ite.printStackTrace(); // Null is better then nothing? return null; } } } mauve-20140821/gnu/testlet/java/net/DatagramPacket/0000755000175000001440000000000012375316426020612 5ustar dokousersmauve-20140821/gnu/testlet/java/net/DatagramPacket/DatagramPacketTest.java0000644000175000001440000001246006716154314025166 0ustar dokousers// Tags: JDK1.0 /* Copyright (C) 1999 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // ****************************************************** // // ****************************************************** package gnu.testlet.java.net.DatagramPacket; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.net.*; public class DatagramPacketTest implements Testlet { protected static TestHarness harness; public void test_Basics() { byte[] b = {(byte)'a',(byte)'b',(byte)'c',(byte)'d',(byte)'e',(byte)'f',(byte)'g',(byte)'h',(byte)'i',(byte)'j',(byte)'k', (byte)'l'}; harness.checkPoint ("test_Basics"); DatagramPacket packet = new DatagramPacket(b, 10); harness.check (packet.getAddress(), null, "Error : test_Basics failed - 1 " + "The getAddress should return null since no address is assigned yet"); harness.check (packet.getLength(), 10, "Error : test_Basics failed - 2 " + "The getLength should return the number of bytes to be sent/received"); String str = new String( packet.getData()); harness.check ( str, "abcdefghijkl", "Error : test_Basics failed - 3 " + "The getData should return actual bytes to be sent/received"); packet.setPort( 1000 ); harness.check ( packet.getPort(), 1000, "Error : test_Basics failed - 4 " + "The getPort should return actual port to which it is set"); packet.setLength( 3 ); harness.check ( packet.getLength(), 3, "Error : test_Basics failed - 5 " + "The getLength should return the number of bytes to be sent/received"); byte b1[] = {(byte)'h' ,(byte)'h' , (byte)'i' , (byte)'j'}; packet.setData( b1 ); String str1 = new String( packet.getData()); harness.check ( str1, "hhij", "Error : test_Basics failed - 6 " + "The getData should return actual bytes to be sent/received"); InetAddress addr = null; try { addr = InetAddress.getLocalHost(); harness.check(true); } catch ( UnknownHostException e ){ harness.fail("Error : test_Basics failed - 7 " + "The getLocalHost should not raise UnknownHostException in this case"); } packet.setAddress( addr ); harness.check ( packet.getAddress(), addr, "Error : test_Basics failed - 8 " + "The getAddress should return the value that is assigned to it"); } public void test_Basics1() { byte[] b = {(byte)'a',(byte)'b',(byte)'c',(byte)'d',(byte)'e',(byte)'f',(byte)'g',(byte)'h',(byte)'i',(byte)'j',(byte)'k', (byte)'l'}; harness.checkPoint("test_Basics1"); InetAddress addr0 = null; try { addr0 = InetAddress.getLocalHost(); harness.check(true); } catch ( UnknownHostException e ){ harness.fail("Error : test_Basics1 failed - 0 " + "The getLocalHost should not raise UnknownHostException in this case"); } DatagramPacket packet = new DatagramPacket( b, 10, addr0 , 2000 ); harness.check ( packet.getAddress() != null, "Error : test_Basics1 failed - 1 " + "The getAddress should return not return null since address is assigned"); harness.check ( packet.getLength() == 10 && packet.getPort() == 2000, "Error : test_Basics1 failed - 2 " + "The getLength and getPort should return the number of bytes to be sent/receive" + " and the port set respectively" ); String str = new String( packet.getData()); harness.check ( str, "abcdefghijkl", "Error : test_Basics1 failed - 3 " + "The getData should return actual bytes to be sent/received"); packet.setPort( 1000 ); harness.check ( packet.getPort(), 1000, "Error : test_Basics1 failed - 4 " + "The getPort should return actual port to which it is set"); packet.setLength( 3 ); harness.check ( packet.getLength(), 3, "Error : test_Basics1 failed - 5 " + "The getLength should return the number of bytes to be sent/received"); byte b1[] = {(byte)'h' ,(byte)'h' , (byte)'i' , (byte)'j'}; packet.setData( b1 ); String str1 = new String( packet.getData()); harness.check ( str1, "hhij", "Error : test_Basics1 failed - 6 " + "The getData should return actual bytes to be sent/received"); InetAddress addr = null; try { addr = InetAddress.getLocalHost(); harness.check(true); } catch ( UnknownHostException e ){ harness.fail("Error : test_Basics1 failed - 7 " + "The getLocalHost should not raise UnknownHostException in this case"); } packet.setAddress( addr ); harness.check ( packet.getAddress(), addr, "Error : test_Basics1 failed - 8 " + "The getAddress should return the value that is assigned to it"); } public void testall() { test_Basics(); test_Basics1(); } public void test (TestHarness the_harness) { harness = the_harness; testall (); } } mauve-20140821/gnu/testlet/java/net/DatagramPacket/DatagramPacketReceive.java0000644000175000001440000001477107771646744025657 0ustar dokousers// Tags: JDK1.0 /* Copyright (C) 2003 Norbert Frese This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // ****************************************************** // // ****************************************************** package gnu.testlet.java.net.DatagramPacket; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.net.*; /** * * Tests the 'reusing' of a DatagramPacket-Object for receiving * multiple Packets. * */ public class DatagramPacketReceive implements Testlet { protected static TestHarness harness; public void test (TestHarness the_harness) { harness = the_harness; new UDPTest1(); } // +++++++++++++ first test (A)+++++++++++++++ class UDPTest1 { static final String TESTNAME = "DatagramPacket receive Test A"; DatagramSocket localUdpSock; DatagramSocket localUdpSock2; protected DatagramPacket receivePacket; protected byte[] receiveBuf = new byte[1000]; public UDPTest1() { try { start(); } catch (Exception ex) { harness.fail(TESTNAME + " " + ex); } } void start() throws Exception { localUdpSock = new DatagramSocket(4567); // try this for a different send-socket localUdpSock2 = new DatagramSocket(4568); // or this for using the same socket for sending and receiving: //localUdpSock2 = localUdpSock; Thread sendThread = new Thread(new Runnable() { public void run() { try { sendLoop(); } catch (Exception ex) { ex.printStackTrace(); } } }); sendThread.start(); receiveLoop(); } void sendLoop() throws Exception { InetSocketAddress toSocketAddr = new InetSocketAddress("127.0.0.1", 4567); int count = 0; while (count < 10) { DatagramPacket sendPacket; String s1 = "Hello World 1234567890 ++++++++++++++"; byte[] ba1 = s1.getBytes(); sendPacket = new DatagramPacket(ba1, ba1.length, toSocketAddr); localUdpSock2.send(sendPacket); String s2 = "World Hello 0987654321"; byte[] ba2 = s2.getBytes(); sendPacket = new DatagramPacket(ba2, ba2.length, toSocketAddr); localUdpSock2.send(sendPacket); Thread.sleep(10); count++; } } void receiveLoop() throws Exception { receivePacket = new DatagramPacket(receiveBuf, receiveBuf.length); int count=0; int errorCount=0; while(count < 10) { try { localUdpSock.receive(receivePacket); Thread.sleep(5); int reportedLength = receivePacket.getLength(); String s = new String(receiveBuf, 0, reportedLength); String message = "packet#" + count + " got packet '" + s + "' length=" + receivePacket.getLength(); harness.debug(message); if (!( (s.startsWith("World Hello") && reportedLength == 22) || (s.startsWith("Hello World") && reportedLength == 37) )) errorCount++; } catch (Exception ex) { harness.fail(TESTNAME + " receiveloop exception:" + ex); } count++; } harness.check(errorCount ==0, TESTNAME + " errorCount=" + errorCount); } } } mauve-20140821/gnu/testlet/java/net/DatagramPacket/DatagramPacketOffset.java0000644000175000001440000002463107771646744025517 0ustar dokousers// Tags: JDK1.2 /* Copyright (C) 2003 Norbert Frese This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // ****************************************************** // // ****************************************************** package gnu.testlet.java.net.DatagramPacket; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.net.*; /** * * Tests the offset-field of DatagramPacket * by sending and receiving Packets * */ public class DatagramPacketOffset implements Testlet { protected static TestHarness harness; public void test (TestHarness the_harness) { harness = the_harness; new OffsetTest(); } // +++++++++++++ first test (A)+++++++++++++++ class OffsetTest { static final String TESTNAME = "DatagramPacket Offset Test"; DatagramSocket localUdpSock; DatagramSocket localUdpSock2; protected DatagramPacket receivePacket; protected byte[] receiveBuf = new byte[37]; Exception sendTextEx1; Exception sendTextEx2; public OffsetTest() { try { start(); } catch (Exception ex) { harness.fail(TESTNAME + " " + ex); } sendBadOffset(); } void sendBadOffset() { // runns after the other tests InetSocketAddress toSocketAddr = new InetSocketAddress("127.0.0.1", 4580); String s1 = "xyz Hello World 1234567890 ++++++++++++++"; // try to send packet with incorrect offset/length try { DatagramPacket sendPacket; byte[] ba1 = s1.getBytes(); sendPacket = new DatagramPacket(ba1, 4, ba1.length, toSocketAddr); localUdpSock2.send(sendPacket); harness.check(false, "Invalid send offset/length (4/37) test (no Exception)"); } catch (Exception ex) { harness.check(ex instanceof IllegalArgumentException, "Invalid send offset/length (4/37) test: Exception= " + ex); } // try to send another packet with incorrect offset/length try { DatagramPacket sendPacket; byte[] ba1 = s1.getBytes(); sendPacket = new DatagramPacket(ba1, 40, 2, toSocketAddr); localUdpSock2.send(sendPacket); harness.check(false, "Invalid send offset/length (40/2) test (no Exception)"); } catch (Exception ex) { harness.check(ex instanceof IllegalArgumentException, "Invalid send offset/length (40/2) test: Exception= " + ex); } } void start() throws Exception { localUdpSock = new DatagramSocket(4580); // try this for a different send-socket localUdpSock2 = new DatagramSocket(4581); // or this for using the same socket for sending and receiving: //localUdpSock2 = localUdpSock; Thread sendThread = new Thread(new Runnable() { public void run() { try { sendLoop(); } catch (Exception ex) { ex.printStackTrace(); } } }); sendThread.start(); receiveLoop(); } void sendLoop() throws Exception { InetSocketAddress toSocketAddr = new InetSocketAddress("127.0.0.1", 4580); // send packets with offset 4 int count = 0; while (count < 10) { DatagramPacket sendPacket; String s1 = "xyz Hello World 1234567890 ++++++++++++++"; byte[] ba1 = s1.getBytes(); sendPacket = new DatagramPacket(ba1, 4, ba1.length-4, toSocketAddr); localUdpSock2.send(sendPacket); Thread.sleep(10); count++; } } void receiveLoop() throws Exception { for (int i=0;i // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.InetAddress; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.net.InetAddress; import java.net.UnknownHostException; /** * Some checks for the getByAddress() and getAddress() methods in the * {@link InetAddress} class. */ public class getByAddress implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testX(harness); } /** * @param harness the test harness (null not permitted). */ private void testX(TestHarness harness) { byte[] a1 = new byte[] {1, 2, 3, 4}; InetAddress ia = null; try { ia = InetAddress.getByAddress(a1); } catch (UnknownHostException uhe) { harness.check(false); } byte[] a2 = ia.getAddress(); harness.check(a2[0], (byte)1); harness.check(a2[1], (byte)2); harness.check(a2[2], (byte)3); harness.check(a2[3], (byte)4); harness.check(a2 != a1); a1[0] = 5; byte[] a3 = ia.getAddress(); harness.check(a3[0], (byte)1); harness.check(a2 != a3); byte[] a4 = new byte[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; ia = null; try { ia = InetAddress.getByAddress(a4); } catch (UnknownHostException uhe) { harness.check(false); } byte[] a5 = ia.getAddress(); harness.check(a5[0], (byte)1); harness.check(a5[1], (byte)2); harness.check(a5[2], (byte)3); harness.check(a5[15], (byte)16); harness.check(a5 != a4); a4[0] = 5; byte[] a6 = ia.getAddress(); harness.check(a6[0], (byte)1); harness.check(a5 != a6); } } mauve-20140821/gnu/testlet/java/net/InetAddress/IPv6.java0000644000175000001440000000274710146572762021611 0ustar dokousers// Tags: JDK1.4 /* This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.InetAddress; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.net.*; public class IPv6 implements Testlet { public void test(TestHarness h) { try { String name ="1010:0:0:0:0:2020:0:1"; byte[] ipaddr = { 0x10, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x00, 0x20, 0x20, 0x0, 0x0, 0x0, 0x1 }; InetAddress addr = InetAddress.getByAddress(ipaddr); h.check(addr.getHostAddress(), name, "wrong ip string"); h.check(addr.getHostName(), name, "wrong hostname"); h.check(addr.getCanonicalHostName(), name, "wrong canonical hostname"); h.check(addr.toString(), name + "/" + name, "wrong string representation"); } catch (UnknownHostException e) { h.check(false); } } } mauve-20140821/gnu/testlet/java/net/InetAddress/isSiteLocalAddress.java0000644000175000001440000000505510166223711024526 0ustar dokousers// Tags: JDK1.4 /* This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.InetAddress; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.net.*; public class isSiteLocalAddress implements Testlet { public void test(TestHarness h) { try { // 10.0.0.0/8 h.check(InetAddress.getByAddress(new byte[] { (byte) 10, (byte) 0, (byte) 0, (byte) 0 }).isSiteLocalAddress()); h.check(InetAddress.getByAddress(new byte[] { (byte) 10, (byte) 255, (byte) 255, (byte) 255 }).isSiteLocalAddress()); h.check(! InetAddress.getByAddress(new byte[] { (byte) 9, (byte) 255, (byte) 255, (byte) 255 }).isSiteLocalAddress()); h.check(! InetAddress.getByAddress(new byte[] { (byte) 11, (byte) 0, (byte) 0, (byte) 0 }).isSiteLocalAddress()); // 172.16.0.0/12 h.check(InetAddress.getByAddress(new byte[] { (byte) 172, (byte) 16, (byte) 0, (byte) 0 }).isSiteLocalAddress()); h.check(InetAddress.getByAddress(new byte[] { (byte) 172, (byte) 31, (byte) 255, (byte) 255 }).isSiteLocalAddress()); h.check(! InetAddress.getByAddress(new byte[] { (byte) 172, (byte) 15, (byte) 255, (byte) 255 }).isSiteLocalAddress()); h.check(! InetAddress.getByAddress(new byte[] { (byte) 172, (byte) 32, (byte) 0, (byte) 0 }).isSiteLocalAddress()); // 192.168.0.0/16 h.check(InetAddress.getByAddress(new byte[] { (byte) (byte) 192, (byte) 168, (byte) 0, (byte) 0 }).isSiteLocalAddress()); h.check(InetAddress.getByAddress(new byte[] { (byte) (byte) 192, (byte) 168, (byte) 255, (byte) 255 }).isSiteLocalAddress()); h.check(! InetAddress.getByAddress(new byte[] { (byte) (byte) 192, (byte) 167, (byte) 255, (byte) 255 }).isSiteLocalAddress()); h.check(! InetAddress.getByAddress(new byte[] { (byte) (byte) 192, (byte) 169, (byte) 0, (byte) 0 }).isSiteLocalAddress()); } catch (UnknownHostException e) { h.debug(e); h.check(false, "unexpected exception"); } } } mauve-20140821/gnu/testlet/java/net/InetAddress/security.java0000644000175000001440000000640310562130333022647 0ustar dokousers// Copyright (C) 2006, 2007 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 package gnu.testlet.java.net.InetAddress; import java.net.InetAddress; import java.net.SocketPermission; import java.security.Permission; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.TestSecurityManager; public class security implements Testlet { public void test(TestHarness harness) { try { harness.checkPoint("setup"); InetAddress localhost = InetAddress.getLocalHost(); String hostname = localhost.getHostName(); harness.check(!hostname.equals(localhost.getHostAddress())); byte[] hostaddr = localhost.getAddress(); Permission[] checkConnect = new Permission[] { new SocketPermission(hostname, "resolve")}; TestSecurityManager sm = new TestSecurityManager(harness); try { sm.install(); // throwpoint: java.net.InetAddress-getHostName harness.checkPoint("getHostName"); try { sm.prepareChecks(checkConnect); InetAddress.getByAddress(hostaddr).getHostName(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.net.InetAddress-getCanonicalHostName harness.checkPoint("getCanonicalHostName"); try { sm.prepareChecks(checkConnect); InetAddress.getByAddress(hostaddr).getCanonicalHostName(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.net.InetAddress-getByName harness.checkPoint("getByName"); try { sm.prepareChecks(checkConnect); InetAddress.getByName(hostname); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.net.InetAddress-getAllByName harness.checkPoint("getAllByName"); try { sm.prepareChecks(checkConnect); InetAddress.getAllByName(hostname); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.net.InetAddress-getLocalHost harness.checkPoint("getLocalHost"); try { sm.prepareChecks(checkConnect); InetAddress.getLocalHost(); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } finally { sm.uninstall(); } } catch (Exception ex) { harness.debug(ex); harness.check(false, "Unexpected exception"); } } } mauve-20140821/gnu/testlet/java/net/InetAddress/getByName.java0000644000175000001440000000236410107234676022667 0ustar dokousers// Tags: JDK1.0 /* This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.InetAddress; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.net.*; public class getByName implements Testlet { public void test(TestHarness harness) { // getByName(null) should return the loopback address. try { InetAddress addr = InetAddress.getByName(null); harness.check(addr != null); harness.check(addr.isLoopbackAddress()); } catch (UnknownHostException x) { harness.fail(x.toString()); } } } mauve-20140821/gnu/testlet/java/net/InetAddress/getCanonicalHostName.java0000644000175000001440000000241510133153072025024 0ustar dokousers// Tags: JDK1.4 /* This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.InetAddress; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.net.*; public class getCanonicalHostName implements Testlet { public void test(TestHarness h) { try { String host = "sources.redhat.com"; String canon = "sourceware.org"; InetAddress addr = InetAddress.getByName(host); h.check(addr.getHostName().equals(host)); h.check(addr.getCanonicalHostName().equals(canon)); } catch (UnknownHostException e) { h.fail(e.toString()); } } } mauve-20140821/gnu/testlet/java/net/InetAddress/getLocalHost.java0000644000175000001440000000243510107234676023403 0ustar dokousers// Tags: JDK1.0 /* This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.InetAddress; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.net.*; public class getLocalHost implements Testlet { public void test(TestHarness harness) { try { InetAddress addr = InetAddress.getLocalHost(); harness.check(addr != null); InetAddress addr2 = InetAddress.getByName(addr.getHostName()); harness.check(addr2 != null); harness.check(addr.equals(addr2)); } catch (UnknownHostException x) { harness.fail(x.toString()); } } } mauve-20140821/gnu/testlet/java/net/InetAddress/InetAddressTest.java0000644000175000001440000001424710133417361024055 0ustar dokousers// Tags: JDK1.0 /* Copyright (C) 1999 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.InetAddress; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.net.*; public class InetAddressTest implements Testlet { protected static TestHarness harness; public void test_Basics() { harness.checkPoint("Basics"); InetAddress addr=null; try { addr = InetAddress.getLocalHost(); } catch ( UnknownHostException e ){ e.printStackTrace(); harness.fail("Error : test_Basics failed - 0 " + " Should not throw UnknownHostException here " ); } harness.check ( !(addr.getHostName() == null), "Error : test_Basics failed - 1" + " Should not return null as the host name " ); harness.check ( !(addr.getHostAddress() == null), "Error : test_Basics failed - 2" + " Should not return null as the host address " ); harness.check ( !(addr.hashCode() == 0), "Error : test_Basics failed - 3" + " Should not return 0 as the hashcode " ); InetAddress addr1 = null; try { addr1 = InetAddress.getByName(addr.getHostName()); harness.check(true); } catch ( UnknownHostException e ){ e.printStackTrace(); harness.fail("Error : test_Basics failed - 4 " + " Should not throw UnknownHostException here " ); } harness.check ( addr, addr1, "Error : test_Basics failed - 5" + " Both the addresses should be the same" ); harness.check ( addr1.getHostAddress(), addr.getHostAddress(), "Error : test_Basics failed - 6" + " Should return the host addresses the same" ); InetAddress addr2[] = null; try { addr2 = InetAddress.getAllByName(addr.getHostName()); harness.check(true); } catch ( UnknownHostException e ){ e.printStackTrace(); harness.fail("Error : test_Basics failed - 7 " + " Should not throw UnknownHostException here " ); } catch ( Exception e ){ e.printStackTrace(); harness.fail("Error : test_Basics failed - 7 " + " Should not throw Exception here " ); } if ( addr2.length < 1 ) { harness.fail("Error : test_Basics failed - 8 " + "the address array should be of length 1 or larger" ); } else harness.check(true); harness.check ( addr2[0], addr1, "Error : test_Basics failed - 9" + " Both the addresses should be the same" ); InetAddress addr3 = null; try { addr3 = InetAddress.getByName("savannah.gnu.org"); harness.check(true); } catch ( UnknownHostException e ){ e.printStackTrace(); harness.fail("Error : test_Basics failed - 10 " + " Should not throw UnknownHostException here " ); } try { harness.check((addr3.getHostName().equals("savannah.gnu.org") || addr3.getHostName().equals("savannah")), "test_Basics failed - 11 " + " the hostname returned is not correct." ); } catch (NullPointerException npe) { harness.check(false, "test_Basics failed - 11 - NullPointerException"); } try { String toStr = addr3.toString(); String toStr1 = addr3.getHostAddress(); if (toStr.indexOf(toStr1) == -1) harness.fail("Error : test_Basics failed - 12 " + " the host address returned is not correct." ); } catch (NullPointerException npe) { harness.check(false, "test_Basics failed - 12 - NullPointerException"); } //multicast test InetAddress addr4 = null; try { addr4 = InetAddress.getByName("176.1.1.1"); } catch ( UnknownHostException e ){ harness.fail("Error : test_Basics failed - 13 " + " Should not throw UnknownHostException here " ); } if ( addr4.isMulticastAddress()) harness.fail("Error : test_Basics failed - 14 " + " Should have returned false here " ); InetAddress addr5 = null; try { addr5 = InetAddress.getByName("238.255.255.255"); } catch ( UnknownHostException e ){ harness.fail("Error : test_Basics failed - 15 " + " Should not throw UnknownHostException here " ); } if ( !addr5.isMulticastAddress()) harness.fail("Error : test_Basics failed - 16 " + " Should have returned true here " ); InetAddress addr6 = null; try { addr6 = InetAddress.getByName("224.0.0.1"); } catch ( UnknownHostException e ){ harness.fail("Error : test_Basics failed - 17 " + " Should not throw UnknownHostException here " ); } if ( !addr6.isMulticastAddress()) harness.fail("Error : test_Basics failed - 18 " + " Should have returned true here " ); InetAddress addr7 = null; try { addr7 = InetAddress.getByName("229.35.35.1"); } catch ( UnknownHostException e ){ harness.fail("Error : test_Basics failed - 19 " + " Should not throw UnknownHostException here " ); } if ( !addr7.isMulticastAddress()) harness.fail("Error : test_Basics failed - 20 " + " Should have returned true here " ); InetAddress addr8 = null; try { addr8 = InetAddress.getByName("127.0.0.1"); } catch (UnknownHostException e) { harness.fail("Error : test_Basics failed - 21 " + " Should not throw UnknownHostException here " ); } if (! (addr8 instanceof Inet4Address)) harness.fail("Error : test_Basics failed - 22 " + " Should have returned true here " ); } public void testall() { test_Basics(); } public void test (TestHarness the_harness) { harness = the_harness; testall (); } } mauve-20140821/gnu/testlet/java/net/URL/0000755000175000001440000000000012375316426016404 5ustar dokousersmauve-20140821/gnu/testlet/java/net/URL/MyURLStreamHandler.java0000644000175000001440000000263010057633060022661 0ustar dokousers// Tags: not-a-test /* Copyright (C) 1999 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.URL; import java.net.*; import java.io.IOException; class MyURLStreamHandler extends URLStreamHandler { public MyURLStreamHandler() {} public void invoke_parseURL(URL u, String spec, int start, int limit) { parseURL(u, spec, start, limit); } public void invoke_setURL(URL u, String protocol, String host, int port, String file, String ref) { setURL(u, protocol, host, port, file, ref); } protected URLConnection openConnection(URL u) throws IOException { return (URLConnection)new Object(); } } mauve-20140821/gnu/testlet/java/net/URL/security.java0000644000175000001440000000622510562130334021107 0ustar dokousers// Copyright (C) 2006, 2007 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 package gnu.testlet.java.net.URL; import java.io.IOException; import java.net.NetPermission; import java.net.URL; import java.net.URLConnection; import java.net.URLStreamHandler; import java.security.Permission; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.TestSecurityManager; public class security implements Testlet { public void test(TestHarness harness) { try { URLStreamHandler handler = new TestURLStreamHandler(); URL context = new URL("http://www.redhat.com/"); Permission[] specifyStreamHandler = new Permission[] { new NetPermission("specifyStreamHandler")}; Permission[] checkSetFactory = new Permission[] { new RuntimePermission("setFactory")}; TestSecurityManager sm = new TestSecurityManager(harness); try { sm.install(); // throwpoint: java.net.URL-URL(String, String, int, String, URLStreamHandler) harness.checkPoint("URL(String, String, int, String, URLStreamHandler)"); try { sm.prepareChecks(specifyStreamHandler); new URL("redhat", "redhat.com", 23, "/red/hat/", handler); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.net.URL-URL(URL, String, URLStreamHandler) harness.checkPoint("URL(String, String, int, String, URLStreamHandler)"); try { sm.prepareChecks(specifyStreamHandler); new URL(context, "/red/hat/", handler); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.net.URL-setURLStreamHandlerFactory harness.checkPoint("setURLStreamHandlerFactory"); try { sm.prepareHaltingChecks(checkSetFactory); URL.setURLStreamHandlerFactory(null); harness.check(false); } catch (TestSecurityManager.SuccessException ex) { harness.check(true); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } finally { sm.uninstall(); } } catch (Exception ex) { harness.debug(ex); harness.check(false, "Unexpected exception"); } } private static class TestURLStreamHandler extends URLStreamHandler { public URLConnection openConnection(URL url) throws IOException { throw new RuntimeException("not implemented"); } } } mauve-20140821/gnu/testlet/java/net/URL/URLTest.java0000644000175000001440000005324610536105262020552 0ustar dokousers// Tags: JDK1.0 // Uses: MyURLStreamHandler /* Copyright (C) 1999 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.URL; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.IOException; import java.net.*; public class URLTest implements Testlet { protected static TestHarness harness; public void test_Basics() { boolean ok; // see whether malformed exception is thrown or not. harness.checkPoint("Constructors"); ok = false; try { URL url = new URL("hithleksjf" ); } catch ( MalformedURLException e ){ ok = true; harness.check(true); } harness.check(ok, "Error in test_Basics - 1 " + " should have raised malformed URL exception here"); ok = false; try { URL url = new URL("http://////://" ); ok = true; } catch ( MalformedURLException e ){ } harness.check(ok, "Error in test_Basics - 2 " + " should not have raised malformed URL exception here"); ok = false; try { URL url = new URL("http://sources.redhat.com/index.html" ); ok = true; } catch ( MalformedURLException e ){ } harness.check(ok, "Error in test_Basics - 3 " + " should not have raised malformed URL exception here"); ok = false; try { URL url = new URL((String) null); } catch (MalformedURLException e) { ok = true; } harness.check(ok, "Error in test_Basics - 4 " + " should have raised malformed URL exception here"); // URL with individual arguments. harness.checkPoint("get Methods"); try { URL baseurl = new URL("http://sources.redhat.com/"); URL url = new URL ( baseurl, "index.html"); url.hashCode(); baseurl.hashCode(); URL.setURLStreamHandlerFactory( null ); URL.setURLStreamHandlerFactory( null ); harness.check (url.getProtocol(), "http"); harness.check (url.getPort(), -1); harness.check (url.getHost(), "sources.redhat.com"); harness.check (url.getFile(), "/index.html"); harness.check (url.equals(new URL("http://sources.redhat.com/index.html"))); harness.check (url.hashCode() != 0); } catch ( MalformedURLException e ){ harness.fail(" Error in test_Basics - 9 " + " exception should not be thrown here"); } try { URL url = new URL ( "http", "sources.redhat.com", "/index.html"); harness.check (url.getProtocol(), "http"); harness.check (url.getPort(), -1); harness.check (url.getHost(), "sources.redhat.com"); harness.check (url.getFile(), "/index.html"); harness.check (url.equals(new URL("http://sources.redhat.com/index.html"))); URL url1 = new URL ( "http", "sources.redhat.com", 80, "/index.html"); harness.check (url1.getPort(), 80); harness.check(url.equals(url1)); harness.check(url1.toExternalForm(), "http://sources.redhat.com:80/index.html"); } catch ( MalformedURLException e ){ harness.fail(" Error in test_Basics - 16 " + " exception should not be thrown here"); } try { URL url = new URL ( "http://sources.redhat.com:80/mauve/testarea/index.html"); harness.check (url.getProtocol(), "http"); harness.check (url.getPort(), 80); harness.check (url.getHost(), "sources.redhat.com"); harness.check (url.getFile(), "/mauve/testarea/index.html"); } catch ( MalformedURLException e ){ harness.fail(" Error in test_Basics - 21 " + " exception should not be thrown here"); } try { URL u1 = new URL("http://foo@some.nice.place/bar/"); URL u2 = new URL("http://some.nice.place/bar/"); URL u3 = new URL(u1, "more/path", null); harness.check (u1.getUserInfo(), "foo"); harness.check (u2.getUserInfo(), null); harness.check (u3.getUserInfo(), "foo"); harness.check (u3.getProtocol(), "http"); harness.check (u3.getHost(), "some.nice.place"); } catch ( MalformedURLException e ){ harness.fail(" Error in test_Basics - 27 " + " exception should not be thrown here"); } try { URL u1 = new URL("http://domain.com"); URL u2 = new URL(u1, "/redir?http://domain2.com/index.html"); harness.check (u2.getProtocol(), "http"); harness.check (u2.getHost(), "domain.com"); harness.check (u2.getPath(), "/redir"); harness.check (u2.getQuery(), "http://domain2.com/index.html"); } catch ( MalformedURLException e ){ harness.fail(" Error in test_Basics - 35 " + " exception should not be thrown here"); } harness.checkPoint("Null context handler"); try { URL u = new URL(null, "http://sources.redhat.com/"); harness.check(true); } catch ( MalformedURLException e ){ harness.fail(" Error in test_Basics - null context"); } catch (NullPointerException e) { harness.fail(" Error in test_Basics - null context"); } harness.checkPoint("Colon in spec"); try { URL cxt = new URL("http://www.foo.bar.com"); URL url = new URL(cxt, "_urn:testing/"); harness.check("http://www.foo.bar.com/_urn:testing/".equals(url.toString())); } catch (Exception e) { harness.fail(" Error in test_Basics - Colon in spec"); } } public void test_openConnection() { harness.checkPoint("openConnection"); try { URL url = new URL ( "http://sources.redhat.com/mauve/testarea/index.html"); URLConnection conn = url.openConnection(); if (conn == null) { harness.fail("openConnection returned null"); return; } String headerField = conn.getHeaderField(2); harness.check (headerField != null && headerField.indexOf("Apache") != -1, "I want my Apache server!"); String conttype = conn.getContentType(); harness.check (conttype != null && conttype.indexOf("text/html") != -1, "Content must be text/html"); try { Object obj = url.getContent(); } catch (Throwable t) { harness.fail("getContent() threw Exception"); harness.debug(t); } harness.check (url.toExternalForm(), "http://sources.redhat.com/mauve/testarea/index.html"); harness.check (url.getRef(), null); URL url2 = new URL("http://www.hhp.com/index.html#help"); harness.check (url2.getRef(), "help"); }catch ( Exception e ){ harness.fail(" Error in test_openConnection - 3 " + " exception should not be thrown here"); harness.debug(e); } } public void test_openStream() { harness.checkPoint("openStream"); try { harness.debug("creating URL"); URL url = new URL ( "http://sources.redhat.com/mauve/testarea/index.html"); harness.debug("opening stream"); java.io.InputStream conn = url.openStream(); byte b [] = new byte[256]; harness.debug("reding from stream"); conn.read(b , 0 , 256 ); String str = new String( b ) ; harness.check (str.indexOf("HTML") != -1, "Need some HTML"); }catch ( Exception e ){ harness.fail(" Error in test_openStream - 2 " + " exception should not be thrown here"); harness.debug(e); } } public void test_sameFile() { harness.checkPoint("sameFile"); try { URL url = new URL ( "http://sources.redhat.com/mauve/testarea/index.html"); URL url1 = new URL ( "http://sources.redhat.com/mauve/testarea/index.html"); harness.check (url.sameFile(url1)); URL url2 = new URL ( "http://sources.redhat.com:80/mauve/testarea/index.html"); harness.check (url.sameFile(url2)); }catch ( Exception e ){ harness.fail(" Error in test_sameFile - 3 " + " exception should not be thrown here"); } } public void test_toString() { harness.checkPoint("toString"); try { URL url = new URL ( "http://sources.redhat.com/index.html"); String str = url.toString(); URL url1 = new URL ( "http://sources.redhat.com:80/mauve/testarea/index.html"); String str1 = url1.toString(); URL url2 = new URL ( "http://205.180.83.71/"); String str2 = url2.toString(); harness.check (str, "http://sources.redhat.com/index.html"); harness.check (str1, "http://sources.redhat.com:80/mauve/testarea/index.html"); harness.check (str2, "http://205.180.83.71/"); URL url3 = new URL( "ftp" , "sources.redhat.com" , 21 , "/dir/dir1.lst"); String str3 = url3.toString( ); harness.check (str3, "ftp://sources.redhat.com:21/dir/dir1.lst"); }catch ( Exception e ){ harness.debug(e); harness.fail(" Error in test_toString - 5 " + " exception should not be thrown here"); } } public void test_URLStreamHandler() { harness.checkPoint("URLStreamHandler"); try { URL url = new URL ( "http://sources.redhat.com/index.html"); // test URLStreamHandler MyURLStreamHandler sh = new MyURLStreamHandler(); sh.invoke_setURL(url, "http", "sources.redhat.com", 80, "/index.html", "#ref"); harness.check(true); sh.invoke_parseURL(url, "http://sources.redhat.com/index.html", 0, 20); harness.check(true); }catch ( MalformedURLException e ){ harness.fail(" Error in test_URLStreamHandler - 1 " + " exception should not be thrown here"); } harness.checkPoint("inherit URLStreamHandler"); try { URL base = new URL("acme", "www.redhat.com", 80, "/docs/", new MyURLStreamHandler()); URL other = new URL(base, "manuals/enterprise/"); harness.check(other.toString(), "acme://www.redhat.com:80/docs/manuals/enterprise/"); } catch (IOException _) { harness.check(false); harness.debug(_); } harness.checkPoint("jar base with full http spec"); try { URL base = new URL("jar:file:///test.jar!/foo/bar.txt"); URL other = new URL(base, "http://planet.classpath.org/"); harness.check(other.toString(), "http://planet.classpath.org/"); } catch (IOException _) { harness.check(false); harness.debug(_); } } public void test_cr601a() { String[][] s = { // tests 0..3 {"file:////c:/pub/files/foobar.txt", "file:////c:/pub/files/foobar.txt", "", "//c:/pub/files/foobar.txt"}, // tests 4..7 {"file:///c:/pub/files/foobar.txt", "file:/c:/pub/files/foobar.txt", "", "/c:/pub/files/foobar.txt"}, // tests 8..11 {"file://hpjavaux/c:/pub/files/foobar.txt", "file://hpjavaux/c:/pub/files/foobar.txt", "hpjavaux", "/c:/pub/files/foobar.txt"}, // tests 12..15 {"file://c:/pub/files/foobar.txt", "file://c:/pub/files/foobar.txt", "c", "/pub/files/foobar.txt"}, // tests 16..19 {"file:/c:/pub/files/foobar.txt", "file:/c:/pub/files/foobar.txt", "", "/c:/pub/files/foobar.txt"}, // tests 20..23 {"file:c:/pub/files/foobar.txt", "file:c:/pub/files/foobar.txt", "", "c:/pub/files/foobar.txt"}, // tests 24..27 {"file:////hpjavant/bgee/foobar.txt", "file:////hpjavant/bgee/foobar.txt", "", "//hpjavant/bgee/foobar.txt"}, // tests 28..31 {"file:///hpjavant/bgee/foobar.txt", "file:/hpjavant/bgee/foobar.txt", "", "/hpjavant/bgee/foobar.txt"}, // tests 32..35 {"file://hpjavant/bgee/foobar.txt", "file://hpjavant/bgee/foobar.txt", "hpjavant", "/bgee/foobar.txt"}, // tests 36..39 {"file:/hpjavant/bgee/foobar.txt", "file:/hpjavant/bgee/foobar.txt", "", "/hpjavant/bgee/foobar.txt"}, // tests 40..43 {"file://hpjavaux//hpjavant/bgee/foobar.txt", "file://hpjavaux//hpjavant/bgee/foobar.txt", "hpjavaux", "//hpjavant/bgee/foobar.txt"}, // tests 44..47 {"file://hpjavaux/bgee/foobar.txt", "file://hpjavaux/bgee/foobar.txt", "hpjavaux", "/bgee/foobar.txt"}, // tests 48..51 {"file://hpjavaux/c:/pubs/files/foobar.txt", "file://hpjavaux/c:/pubs/files/foobar.txt", "hpjavaux", "/c:/pubs/files/foobar.txt"}, // tests 52..55 {"file://bg710571//hpjavant/bgee/foobar.txt", "file://bg710571//hpjavant/bgee/foobar.txt", "bg710571", "//hpjavant/bgee/foobar.txt"}, // tests 56..59 {"file://bg710571/bgee/foobar.txt", "file://bg710571/bgee/foobar.txt", "bg710571", "/bgee/foobar.txt"}, // tests 60..63 {"file://bg710571/c:/pubs/files/foobar.txt", "file://bg710571/c:/pubs/files/foobar.txt", "bg710571", "/c:/pubs/files/foobar.txt"}, }; harness.checkPoint("new URL(string)"); for (int i = 0; i < s.length; ++i) { try { URL url = new URL(s[i][0]); harness.check(url.toExternalForm(), s[i][1]); harness.check(url.getHost(), s[i][2]); harness.check(url.getFile(), s[i][3]); } catch (Throwable e) { harness.fail("Should not have thrown exception"); e.printStackTrace(System.out); } } } public void test_cr601b() { String[][] s = { // tests 0..3 {"////", "c:/pub/files/foobar.txt", "file://////c:/pub/files/foobar.txt", "////", "c:/pub/files/foobar.txt"}, // tests 4..7 {"///", "c:/pub/files/foobar.txt", "file://///c:/pub/files/foobar.txt", "///", "c:/pub/files/foobar.txt"}, // tests 8..11 {"//", "c:/pub/files/foobar.txt", "file:////c:/pub/files/foobar.txt", "//", "c:/pub/files/foobar.txt"}, // tests 12..15 {"/", "c:/pub/files/foobar.txt", "file:///c:/pub/files/foobar.txt", "/", "c:/pub/files/foobar.txt"}, // tests 16..19 {"", "c:/pub/files/foobar.txt", "file:c:/pub/files/foobar.txt", "", "c:/pub/files/foobar.txt"}, // tests 20..23 {"hpjavaux", "c:/pub/files/foobar.txt", "file://hpjavauxc:/pub/files/foobar.txt", "hpjavaux", "c:/pub/files/foobar.txt"}, // tests 24..27 {null, "c:/pub/files/foobar.txt", "file:c:/pub/files/foobar.txt", null, "c:/pub/files/foobar.txt"}, // tests 28..31 {"////", "//hpjavant/bgee/foobar.txt", "file:////////hpjavant/bgee/foobar.txt", "////", "//hpjavant/bgee/foobar.txt"}, // tests 32..35 {"///", "//hpjavant/bgee/foobar.txt", "file:///////hpjavant/bgee/foobar.txt", "///", "//hpjavant/bgee/foobar.txt"}, // tests 36..39 {"//", "//hpjavant/bgee/foobar.txt", "file://////hpjavant/bgee/foobar.txt", "//", "//hpjavant/bgee/foobar.txt"}, // tests 40..43 {"/", "//hpjavant/bgee/foobar.txt", "file://///hpjavant/bgee/foobar.txt", "/", "//hpjavant/bgee/foobar.txt"}, // tests 44..47 {"", "//hpjavant/bgee/foobar.txt", "file:////hpjavant/bgee/foobar.txt", "", "//hpjavant/bgee/foobar.txt"}, // tests 48..51 {"hpjavaux", "//hpjavant/bgee/foobar.txt", "file://hpjavaux//hpjavant/bgee/foobar.txt", "hpjavaux", "//hpjavant/bgee/foobar.txt"}, // tests 52..55 {null, "//hpjavant/bgee/foobar.txt", "file:////hpjavant/bgee/foobar.txt", null, "//hpjavant/bgee/foobar.txt"}, // tests 56..59 {"hpjavant", "/bgee/foobar.txt", "file://hpjavant/bgee/foobar.txt", "hpjavant", "/bgee/foobar.txt"}, // tests 60..63 {"hpjavant", "/home/bgee/foobar.txt", "file://hpjavant/home/bgee/foobar.txt", "hpjavant", "/home/bgee/foobar.txt"}, // tests 64..67 {"hpjavaux", "/home/bgee/foobar.txt", "file://hpjavaux/home/bgee/foobar.txt", "hpjavaux", "/home/bgee/foobar.txt"}, // 68..71 {"hpjavaux", "c:\\foobar.txt", "file://hpjavauxc:\\foobar.txt", "hpjavaux", "c:\\foobar.txt"}, }; harness.checkPoint("new URL(protocol, host, file)"); for (int i = 0; i < s.length; ++i) { try { URL url = new URL("file", s[i][0], s[i][1]); harness.check(url.toExternalForm(), s[i][2]); harness.check(url.getHost(), s[i][3]); harness.check(url.getFile(), s[i][4]); harness.check(true); } catch (NullPointerException e) { if ((i != 6) && (i != 13)) { harness.fail("Should not have thrown NullPointerException"); e.printStackTrace(System.out); } } catch (Throwable e) { harness.fail("Should not have thrown exception"); e.printStackTrace(System.out); } } } public void test_authority() { String[][] s = { { "http://sources.redhat.com/", "sources.redhat.com" }, { "http://user:passwd@sources.redhat.com/", "user:passwd@sources.redhat.com" }, { "http://sources.redhat.com:90/", "sources.redhat.com:90" } }; harness.checkPoint("Check for authority support"); for (int i = 0; i < s.length; i++) { try { URL url = new URL(s[i][0]); harness.check(url.getAuthority(), s[i][1]); } catch (Throwable t) { harness.fail("Should not have thrown exception"); t.printStackTrace(System.out); } } } public void test_contextResolution() { harness.checkPoint("contextResolution"); try { String[][] testData = new String[][] { {"file://www.example.com/foo/bar.txt", "../test.txt", "file://www.example.com/test.txt" }, {"file://www.example.com/foo/bar.txt", "./test.txt", "file://www.example.com/foo/test.txt" }, {"http://www.example.com/foo/bar.txt", "../test.txt", "http://www.example.com/test.txt" }, {"http://www.example.com/foo/bar.txt", "./test.txt", "http://www.example.com/foo/test.txt" }, {"jar:file://www.example.com/test.jar!/foo/bar.txt", "../test.txt", "jar:file://www.example.com/test.jar!/test.txt" }, {"jar:file://www.example.com/test.jar!/foo/bar.txt", "./test.txt", "jar:file://www.example.com/test.jar!/foo/test.txt" }, }; for (int count = 0; count < testData.length; count++) { URL base = new URL(testData[count][0]); String relative = testData[count][1]; URL resolved = new URL(base, relative); harness.check(resolved.toString(), testData[count][2]); } } catch (Exception e) { harness.debug(e); harness.fail("Should not have thrown exception"); } } public void testall() { harness.debug("Running: test_Basics"); test_Basics(); harness.debug("Running: test_openConnection"); test_openConnection(); harness.debug("Running: test_openStream"); test_openStream(); harness.debug("Running: test_sameFile"); test_sameFile(); harness.debug("Running: test_toString"); test_toString(); harness.debug("Running: test_URLStreamHandler"); test_URLStreamHandler(); harness.debug("Running: cr601a"); test_cr601a(); harness.debug("Running: cr601b"); test_cr601b(); harness.debug("Running: authority"); test_authority(); harness.debug("Running: test_contextResolution"); test_contextResolution(); } public void test (TestHarness the_harness) { harness = the_harness; testall (); } } mauve-20140821/gnu/testlet/java/net/URL/newURL.java0000644000175000001440000000774210252115647020427 0ustar dokousers// Tags: JDK1.0 // Contributed by Mark Wielaard (mark@klomp.org) // Based on a kaffe regression test. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.URL; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.net.MalformedURLException; import java.net.URL; public class newURL implements Testlet { private TestHarness harness; public void test (TestHarness harness) { this.harness = harness; check(null, "jar:http://www.kaffe.org/foo/bar.jar!/float/boat", "jar:http://www.kaffe.org/foo/bar.jar!/float/boat"); check(null, "http://www.kaffe.org", "http://www.kaffe.org"); check(null, "http://www.kaffe.org:8080#ref", "http://www.kaffe.org:8080#ref"); check("http://www.kaffe.org", "foo/bar", "http://www.kaffe.org/foo/bar"); check("http://www.kaffe.org/foo/bar#baz", "jan/far", "http://www.kaffe.org/foo/jan/far"); check("http://www.kaffe.org/foo/bar", "/jan/far", "http://www.kaffe.org/jan/far"); check("http://www.kaffe.org/foo/bar", "", "http://www.kaffe.org/foo/bar"); check(null, "foo/bar", null); check("file:/foo/bar", "barf#jow", "file:/foo/barf#jow"); check("file:/foo/bar#fly", "jabawaba", "file:/foo/jabawaba"); check(null, "jar:file:/usr/local/share/kaffe/Klasses.jar!/kaffe/lang/unicode.tbl", "jar:file:/usr/local/share/kaffe/Klasses.jar!/kaffe/lang/unicode.tbl"); check(null, "jar:http://www.kaffe.org/foo/bar.jar", null); check("jar:http://www.kaffe.org/foo/bar.jar!/path/name", "float/boat", "jar:http://www.kaffe.org/foo/bar.jar!/path/float/boat"); check("jar:http://www.kaffe.org/foo/bar.jar!/", "float/boat", "jar:http://www.kaffe.org/foo/bar.jar!/float/boat"); check("jar:http://www.kaffe.org/foo/bar.jar!/path/name", "/float/boat", "jar:http://www.kaffe.org/foo/bar.jar!/float/boat"); check("jar:http://www.kaffe.org/foo/bar.jar!/", "/float/boat", "jar:http://www.kaffe.org/foo/bar.jar!/float/boat"); check("jar:http://www.kaffe.org/foo/bar.jar!/float", "#boat", "jar:http://www.kaffe.org/foo/bar.jar!/float#boat"); check(null, "http://www.kaffe.org:99999/foo/bar", "http://www.kaffe.org:99999/foo/bar"); check(null, "jar:abc!/eat/me", null); URL u = check(null, "http://anonymous:anonymous@host/", "http://anonymous:anonymous@host/"); harness.check(u.getHost(), "host"); harness.check(u.getUserInfo(), "anonymous:anonymous"); } // Checks that the URL created from the context plus the url gives // the string result. Or when the result is null, whether the // contruction throws a exception. Returns the generated URL or null. private URL check(String context, String url, String string) { harness.checkPoint(context + " + " + url + " = " + string); URL c; if (context != null) { try { c = new URL(context); } catch (MalformedURLException mue) { harness.debug(mue); harness.check(false); return null; } } else c = null; try { URL u = new URL(c, url); harness.check(u.toString(), string); return u; } catch (MalformedURLException mue) { boolean expected = (string == null); if (!expected) harness.debug(mue); harness.check(expected); return null; } } } mauve-20140821/gnu/testlet/java/net/URLEncoder/0000755000175000001440000000000012375316426017704 5ustar dokousersmauve-20140821/gnu/testlet/java/net/URLEncoder/URLEncoderTest.java0000644000175000001440000000400010057633061023333 0ustar dokousers// Tags: JDK1.0 /* Copyright (C) 1999, 2003 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.URLEncoder; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.net.*; public class URLEncoderTest implements Testlet { protected static TestHarness harness; public void test_Basics() { String str1 = URLEncoder.encode("abcdefghijklmnopqrstuvwxyz"); harness.check (str1, "abcdefghijklmnopqrstuvwxyz", "Error : test_Basics - 1 " + " String returned is not encoded properly"); String str2 = URLEncoder.encode("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); harness.check (str2, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "Error : test_Basics - 2 " + " String returned is not encoded properly"); String str3 = URLEncoder.encode("hi there buddy"); harness.check (str3, "hi+there+buddy", "Error : test_Basics - 3 " + " String returned is not encoded properly"); String str4 = URLEncoder.encode("0123456789:;<"); harness.check (str4, "0123456789%3A%3B%3C", "Error : test_Basics - 4 " + " String returned is not encoded properly"); String str5 = URLEncoder.encode("\n"); harness.check (str5, "%0A", "test encoding of \\n"); } public void testall() { test_Basics(); } public void test (TestHarness the_harness) { harness = the_harness; testall (); } } mauve-20140821/gnu/testlet/java/net/Proxy/0000755000175000001440000000000012375316426017063 5ustar dokousersmauve-20140821/gnu/testlet/java/net/URLStreamHandler/0000755000175000001440000000000012375316426021056 5ustar dokousersmauve-20140821/gnu/testlet/java/net/URLStreamHandler/Except.java0000644000175000001440000000313010446063203023133 0ustar dokousers/* Except.java -- Regression test for URLStreamHandler Copyright (C) 2006 Red Hat, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.net.URLStreamHandler; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.net.URLStreamHandler; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * PR 28095 regression test. */ public class Except implements Testlet { public static class Handler extends URLStreamHandler { protected URLConnection openConnection(URL u) { return null; } protected void parseURL(URL url, String spec, int start, int end) { throw new RuntimeException(); } } public void test(TestHarness harness) { boolean ok = false; try { URL u = new URL(null, "blah://", new Handler()); } catch (MalformedURLException ignore) { ok = true; } catch (Exception ex) { harness.debug(ex); } harness.check(ok); } } mauve-20140821/gnu/testlet/java/net/URLConnection/0000755000175000001440000000000012375316426020424 5ustar dokousersmauve-20140821/gnu/testlet/java/net/URLConnection/getFileNameMap.java0000644000175000001440000000241110415007363024071 0ustar dokousers/* getFileNameMap.java -- Simple check of getFileNameMap Copyright (C) 2006 Red Hat, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.net.URLConnection; import java.net.FileNameMap; import java.net.URLConnection; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getFileNameMap implements Testlet { public void test(TestHarness harness) { FileNameMap fnm = URLConnection.getFileNameMap(); harness.check(fnm != null); // A simple one everyone is likely to have. harness.check(fnm.getContentTypeFor("foo.ps"), "application/postscript"); } } mauve-20140821/gnu/testlet/java/net/URLConnection/MyHttpURLConnection.java0000644000175000001440000000213210057633060025104 0ustar dokousers// Tags: not-a-test /* Copyright (C) 1999 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.URLConnection; import java.net.*; class MyHttpURLConnection extends HttpURLConnection { MyHttpURLConnection(URL u) { super( u ); // will set the url ... } public void connect() {} public void disconnect() {} public boolean usingProxy() { return false; } } mauve-20140821/gnu/testlet/java/net/URLConnection/Jar.java0000644000175000001440000000461010401636470021774 0ustar dokousers// Tags: JDK1.2 /* Jar.java -- Tests Jar URL connection Copyright (c) 2005, 2006 by Free Software Foundation, Inc. Written by Tom Tromey Extended by Wolfgang Baer 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, version 2. (see COPYING) 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 Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA, 02110-1301 USA. */ package gnu.testlet.java.net.URLConnection; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.File; import java.io.FileNotFoundException; import java.net.JarURLConnection; import java.net.URL; public class Jar implements Testlet { public void test(TestHarness harness) { harness.checkPoint("jar: URL with missing entry"); try { File jarfile = harness.getResourceFile("gnu#testlet#java#util#jar#JarFile#jartest.jar"); String filename = jarfile.toString(); URL url = new URL("jar:file:" + filename + "!/nosuchfile.txt"); // Test via JarURLConnection // FileNotFoundException must already be thrown in connect JarURLConnection connection = null; try { connection = (JarURLConnection) url.openConnection(); connection.connect(); harness.check(false); } catch (FileNotFoundException e) { harness.check(true); } catch (Exception e) { harness.check(false); } // Test via direct opening of the stream on the URL object try { url.openStream(); harness.check(false); } catch (FileNotFoundException e) { harness.check(true); } catch (Exception e) { harness.check(false); } } catch (Throwable e) { harness.debug("Unexpected exception in testcase."); harness.debug(e); } } } mauve-20140821/gnu/testlet/java/net/URLConnection/MyURLConnection.java0000644000175000001440000000217406742411771024263 0ustar dokousers// Tags: not-a-test /* Copyright (C) 1999 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.URLConnection; import java.net.*; import java.io.IOException; class MyURLConnection extends URLConnection { public MyURLConnection(URL u) { super(u); } public void connect() throws IOException { // if (false) { // shouldn't happen // throw new IOException("File info not available"); // } } } mauve-20140821/gnu/testlet/java/net/URLConnection/Http.java0000644000175000001440000000321407773330270022205 0ustar dokousers/* InputTest.java -- Tests HTTPConnection behaviour Copyright (c) 2003 by Free Software Foundation, Inc. Written by Guilhem Lavaux 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, version 2. (see COPYING) 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 Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA */ package gnu.testlet.java.net.URLConnection; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.net.*; import java.io.IOException; public class Http implements Testlet { public void test(TestHarness harness) { harness.checkPoint("Good HTTP header ordering"); try { URL url = new URL("http://sources.redhat.com/mauve/testarea/index.html"); URLConnection conn = url.openConnection(); harness.check(conn.getHeaderFieldKey(0), null); harness.check(conn.getHeaderField(0), "HTTP/1.1 200 OK"); harness.check(conn.getHeaderFieldKey(2), "Server"); harness.check(conn.getHeaderField(2).indexOf("Apache"), 0); } catch (MalformedURLException e) { harness.fail("Error in test header - Exception " + e); } catch (IOException e) { harness.fail("IO error caught - " + e); } } } mauve-20140821/gnu/testlet/java/net/URLConnection/getRequestProperties.java0000644000175000001440000000365210400673666025501 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2006 Free Software Foundation, Inc. // Contributed by David Daney (ddaney@avtrex.com) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA package gnu.testlet.java.net.URLConnection; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.IOException; import java.net.URL; import java.net.URLConnection; import java.util.Map; import java.util.List; public class getRequestProperties implements Testlet { public void test (TestHarness harness) { try { harness.checkPoint("getRequestProperties"); URL url = new URL("http://foo.bar/blah/blah"); URLConnection c = url.openConnection(); c.addRequestProperty("mauve", "p1"); c.addRequestProperty("mauve", "p2"); Map m = c.getRequestProperties(); List l = (List)m.get("mauve"); harness.check(l.contains("p1")); harness.check(l.contains("p2")); } catch (ClassCastException cce) { harness.debug(cce); harness.fail("ClassCastException"); } catch (IOException ioe) { harness.debug(ioe); harness.fail("IOException"); } catch (Exception e) { harness.debug(e); harness.fail("Unexpected Exception"); } } } mauve-20140821/gnu/testlet/java/net/URLConnection/getHeaderFields.java0000644000175000001440000000513210403113312024262 0ustar dokousers/* getHeaderFields.java -- Copyright (c) 2004, 2006 by Free Software Foundation, Inc. Written by Michael Koch Written by Wolfgang Baer 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, version 2. (see COPYING) 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 Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA, 02110-1301 USA. */ package gnu.testlet.java.net.URLConnection; import gnu.testlet.ResourceNotFoundException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.File; import java.io.IOException; import java.net.*; import java.util.*; /** * Tests getHeaderFields for the various protocol implementations. */ public class getHeaderFields implements Testlet { private void check(TestHarness h, String urlString) { try { URL url = new URL(urlString); URLConnection conn = url.openConnection(); conn.connect(); Map headers = conn.getHeaderFields(); h.check(headers != null); if (! headers.isEmpty()) { Map.Entry entry = (Map.Entry) headers.entrySet().toArray()[1]; h.check(entry.getKey() instanceof String); h.check(entry.getValue() instanceof List); } } catch (MalformedURLException e) { // Ignored. We know the URIs are valid. } catch (IOException e) { h.fail("Test failed for " + urlString); } } public void test(TestHarness h) { // Returns a map of headers. h.checkPoint("Test HTTP"); check(h, "http://www.gnu.org/"); // Returns an empty map. h.checkPoint("Test FTP"); check(h, "ftp://ftp.gnu.org"); // Returns a map of headers. h.checkPoint("Test HTTPS"); check(h, "https://www.gmx.net/"); try { // Returns an empty map. h.checkPoint("Test JAR"); File jarfile = h.getResourceFile("gnu#testlet#java#util#jar#JarFile#jartest.jar"); check(h, "jar:file:" + jarfile.toString() + "!/"); h.checkPoint("Test File"); check(h, "file://" + jarfile.toString()); } catch (ResourceNotFoundException e) { h.debug("Unexpected exception"); h.debug(e); } } } mauve-20140821/gnu/testlet/java/net/URLConnection/getPermission.java0000644000175000001440000000603007754731161024120 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Free Software Foundation, Inc. // Contributed by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.URLConnection; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; import java.net.*; import java.security.*; public class getPermission extends URLConnection implements Testlet { public void test (TestHarness harness) { // If not overridden then AllPermission try { Permission p = this.getPermission(); harness.check(p, new AllPermission()); } catch (IOException ioe) { harness.debug(ioe); harness.check(false); } // File needs at least read permission try { String file = "dummy"; URL u = new URL("file:" + file); URLConnection uc = u.openConnection(); Permission p = uc.getPermission(); harness.check(p, new FilePermission(file, "read")); } catch (IOException ioe) { harness.check(false); } // File needs at least read permission to the absolute file try { String file = "file"; File f = new File(file); URL u = f.toURL(); URLConnection uc = u.openConnection(); Permission p = uc.getPermission(); harness.check(p, new FilePermission(f.getAbsolutePath(), "read")); } catch (IOException ioe) { harness.debug(ioe); harness.check(false); } // HTTP needs at least connect permission try { String host = "dummy"; int port = 80; URL u = new URL("http://" + host + "/"); URLConnection uc = u.openConnection(); Permission p = uc.getPermission(); harness.check(p, new SocketPermission(host + ":" + port, "connect")); } catch (IOException ioe) { harness.debug(ioe); harness.check(false); } // HTTP on non-standard port needs at least connect permission on that port try { String host = "dummy"; int port = 667; URL u = new URL("http://" + host + ":" + port + "/"); URLConnection uc = u.openConnection(); Permission p = uc.getPermission(); harness.check(p, new SocketPermission(host + ":" + port, "connect")); } catch (IOException ioe) { harness.debug(ioe); harness.check(false); } } // Dummy constructor public getPermission() throws IOException { super(new URL("file:dummy")); } // Dummy connect public void connect() { connected = true; } } mauve-20140821/gnu/testlet/java/net/URLConnection/post.java0000644000175000001440000000305710137432404022246 0ustar dokousers/* post.java -- Copyright (c) 2004 by Free Software Foundation, Inc. Written by Michael Koch 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, version 2. (see COPYING) 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 Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA */ package gnu.testlet.java.net.URLConnection; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.net.*; import java.io.IOException; public class post implements Testlet { public void test(TestHarness h) { try { URL url = new URL("http://sources.redhat.com/mauve/testarea/index.html"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setDoOutput(true); // overwrite default. h.check(conn.getRequestMethod(), "GET", "request method is 'GET'"); conn.getOutputStream(); h.check(conn.getRequestMethod(), "POST", "request method is 'POST'"); } catch (MalformedURLException e) { h.fail("Error in test header - Exception " + e); } catch (IOException e) { h.fail("IO error caught - " + e); } } } mauve-20140821/gnu/testlet/java/net/URLConnection/URLConnectionTest.java0000644000175000001440000003466210371134257024616 0ustar dokousers// Tags: JDK1.0 // Uses: MyHttpURLConnection MyURLConnection /* Copyright (C) 1999 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.URLConnection; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.net.*; import java.io.IOException; public class URLConnectionTest implements Testlet { protected static TestHarness harness; public void test_Basics() { harness.checkPoint("Basics"); try { URL _url = new URL("http", new String(), "index.html"); try { _url.openConnection(); harness.check(true); } catch(IOException e) { harness.fail("Error: Handler - 55"); } URL url = new URL("http://sources.redhat.com:80/mauve/testarea/index.html" ); URLConnection conn = url.openConnection(); harness.check (!(((HttpURLConnection)conn).usingProxy()), "Error: test_Basics - 50"); ((HttpURLConnection)conn).disconnect(); ((HttpURLConnection)conn).setRequestProperty("c", "d"); String _tmp = ((HttpURLConnection)conn).getRequestProperty("c"); harness.check (_tmp, "d", "Error: test_Basics - 51"); ((HttpURLConnection)conn).disconnect(); harness.check ( conn.getURL(), url, "Error in test_Basics - 1 " + " getURL did not return the same URL "); } catch ( MalformedURLException e ) { harness.fail("Error in test_Basics - 2 " + " should not have raised malformed URL exception here " ); } catch ( IOException e ) { harness.fail("Error in test_Basics - 2 " + " should not have raised IO exception here " ); } catch ( Exception e ) { harness.debug(e); harness.fail("Error in test_Basics - 2 " + " should not have raised exception here " ); } catch ( Throwable e ) { harness.debug(e); harness.fail("Error in test_Basics - 2 " + " should not have raised Throwable here " ); } } public void test_allowUserInteractions() { harness.checkPoint("allowUserInteractions"); try { URLConnection.setDefaultAllowUserInteraction( false ); URL url = new URL ( "http://sources.redhat.com/mauve/testarea/index.html"); URLConnection conn = url.openConnection(); harness.check ( !(URLConnection.getDefaultAllowUserInteraction()), "Error in test_allowUserInteractions - 1 " + " getDefaultAllowUserInteraction returned wrong values " ); boolean bool = conn.getAllowUserInteraction(); harness.check ( ! bool, "Error in test_allowUserInteractions - 2 " + " getAllowUserInteraction returned wrong values " ); } catch ( Exception e ) { harness.fail("Error in test_allowUserInteractions - 3 " + " should not have raised exception here " ); } } public void test_getContentFunctions() { harness.checkPoint("getContentFunctions"); try { URL url = new URL ( "http://sources.redhat.com/mauve/testarea/index.html"); URLConnection conn = url.openConnection(); // Cannot actually check size since it may return -1 int siz = conn.getContentLength(); String type = conn.getContentType(); String enc = conn.getContentEncoding(); long dt = conn.getDate(); java.io.InputStream is = (java.io.InputStream)conn.getContent(); byte b[] = new byte[256]; is.read( b , 0 , b.length); String cont = new String( b ); harness.check( type.indexOf("text/html") != -1, "Error in test_getContentFunctions - 1 " + " content type was not correct " ); harness.check( enc, null, "Error in test_getContentFunctions - 2 " + "encoding was not correct " ); harness.check ( cont.indexOf(" // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 package gnu.testlet.java.net.NetworkInterface; import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketPermission; import java.security.Permission; import java.util.Enumeration; import java.util.Iterator; import java.util.LinkedList; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.TestSecurityManager; public class security implements Testlet { public void test(TestHarness harness) { try { harness.checkPoint("setup"); LinkedList list = new LinkedList(); for (Enumeration e = NetworkInterface.getNetworkInterfaces(); e.hasMoreElements(); ) { NetworkInterface nif = (NetworkInterface) e.nextElement(); for (Enumeration f = nif.getInetAddresses(); f.hasMoreElements(); ) list.add(f.nextElement()); } harness.check(!list.isEmpty()); Permission[] checks = new Permission[list.size()]; for (int i = 0; i < list.size(); i++) { InetAddress addr = (InetAddress) list.get(i); checks[i] = new SocketPermission(addr.getHostAddress(), "resolve"); } TestSecurityManager sm = new TestSecurityManager(harness); try { sm.install(); // throwpoint: java.net.NetworkInterface-getInetAddresses harness.checkPoint("getInetAddresses"); try { sm.prepareChecks(checks); for (Enumeration e = NetworkInterface.getNetworkInterfaces(); e.hasMoreElements(); ) { NetworkInterface nif = (NetworkInterface) e.nextElement(); nif.getInetAddresses(); } sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } finally { sm.uninstall(); } } catch (Exception ex) { harness.debug(ex); harness.check(false, "Unexpected exception"); } } } mauve-20140821/gnu/testlet/java/net/NetworkInterface/getByName.java0000644000175000001440000000303410500637613023722 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Michael Koch // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.NetworkInterface; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.net.NetworkInterface; public class getByName implements Testlet { public void test(TestHarness h) { NetworkInterface netif; try { netif = NetworkInterface.getByName(null); h.fail("- 1 - NullPointerException expected"); } catch (NullPointerException e) { h.check(true); } catch (Exception e) { h.fail("- 1 - NullPointerException expected"); } try { netif = NetworkInterface.getByName("abcde"); h.check(netif == null, "- 2 - return value expected to be null"); } catch (Exception e) { h.fail("- 2 - no exeption expected"); } } } mauve-20140821/gnu/testlet/java/net/NetworkInterface/Consistency.java0000644000175000001440000000571610500637613024361 0ustar dokousers/* Consistency.java -- test NetworkInterface API consistency. Copyright (C) 2006 Casey Marshall This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.java.net.NetworkInterface; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.net.InetAddress; import java.net.NetworkInterface; import java.util.Enumeration; import java.util.HashSet; /** * @author csm * */ public class Consistency implements Testlet { /* (non-Javadoc) * @see gnu.testlet.Testlet#test(gnu.testlet.TestHarness) */ public void test(TestHarness harness) { Enumeration ifs = null; harness.checkPoint("getNetworkInterfaces"); try { ifs = NetworkInterface.getNetworkInterfaces(); harness.check(ifs != null); } catch (Exception x) { harness.fail("getNetworkInterfaces"); harness.debug(x); return; } harness.check(ifs.hasMoreElements(), "getNetworkInterfaces returns something"); HashSet names = new HashSet(); while (ifs.hasMoreElements()) { NetworkInterface netif = (NetworkInterface) ifs.nextElement(); harness.checkPoint("consistency - " + netif.getName()); harness.check(!names.contains(netif.getName()), "duplicate entries"); names.add(netif.getName()); try { NetworkInterface netif2 = NetworkInterface.getByName(netif.getName()); harness.check(netif2 != null); harness.check(netif.equals(netif2)); } catch (Exception x) { harness.fail("getByName unexpected exception"); harness.debug(x); } Enumeration addrs = netif.getInetAddresses(); harness.check(addrs.hasMoreElements()); while (addrs.hasMoreElements()) { try { InetAddress addr = (InetAddress) addrs.nextElement(); NetworkInterface netif2 = NetworkInterface.getByInetAddress(addr); harness.check(netif2 != null); harness.check(netif.equals(netif2)); } catch (Exception x) { harness.fail("getByAddress unexpected exception"); harness.debug(x); } } } } } mauve-20140821/gnu/testlet/java/net/HttpURLConnection/0000755000175000001440000000000012375316426021264 5ustar dokousersmauve-20140821/gnu/testlet/java/net/HttpURLConnection/getOutputStream.java0000644000175000001440000000512610371134257025301 0ustar dokousers//Tags: JDK1.1 //Copyright (C) 2006 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 51 Franklin Street, Fifth Floor, //Boston, MA, 02110-1301 USA. package gnu.testlet.java.net.HttpURLConnection; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.ProtocolException; import java.net.URL; /** * Test calling behaviour of getOutputStream. Implicit * opening of connection, failing if doOutput is false ... */ public class getOutputStream implements Testlet { public void test(TestHarness h) { try { URL url = new URL("http://sources.redhat.com/mauve/testarea/index.html"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setDoOutput(false); try { // doOutput must be true to succeed conn.getOutputStream(); h.check(false); } catch (ProtocolException e1) { h.check(true); } conn.setDoOutput(true); // getOutputStream must implicit open the connection OutputStream stream = conn.getOutputStream(); try { // and therefore throw this expection // no other way to test if we are connected conn.getRequestProperties(); h.check(false); } catch (IllegalStateException e) { h.check(true); } // subsequent calls to getOutputStream must be ignored // and the identical stream returned OutputStream stream2 = conn.getOutputStream(); h.check(stream == stream2); } catch (Exception e) { h.debug(e); h.fail("Unexpected error: " + e.getMessage ()); } } } mauve-20140821/gnu/testlet/java/net/HttpURLConnection/nullPointerException.java0000644000175000001440000000376510371134257026326 0ustar dokousers//Tags: JDK1.1 //Copyright (C) 2006 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 51 Franklin Street, Fifth Floor, //Boston, MA, 02110-1301 USA. package gnu.testlet.java.net.HttpURLConnection; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.net.HttpURLConnection; import java.net.URL; /** * Test correct throwing of NPEs in unconnected connections. */ public class nullPointerException implements Testlet { public void test(TestHarness h) { try { URL url = new URL("http://sources.redhat.com/mauve/testarea/index.html"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); String str = conn.getRequestProperty(null); h.check(str == null); try { conn.setRequestProperty(null, "dddd"); h.check(false); } catch (NullPointerException e) { h.check(true); } try { conn.addRequestProperty(null, "dddd"); h.check(false); } catch (NullPointerException e) { h.check(true); } } catch (Exception e) { h.debug(e); h.fail("Unexpected error: " + e.getMessage ()); } } } mauve-20140821/gnu/testlet/java/net/HttpURLConnection/responseCodeTest.java0000644000175000001440000001063410467160762025424 0ustar dokousers//Tags: JDK1.1 //Uses: TestHttpServer //Copyright (C) 2006 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 51 Franklin Street, Fifth Floor, //Boston, MA, 02110-1301 USA. package gnu.testlet.java.net.HttpURLConnection; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.io.OutputStreamWriter; import java.io.Writer; import java.net.HttpURLConnection; import java.net.Socket; import java.net.URL; import java.util.List; /** * Tests correct behaviour of getInputStream(), getErrorStream() * for all error response codes. */ public class responseCodeTest implements Testlet { /** * Starts an HTTP server and calls * the test_ResponseCode for the error codes. */ public void test(TestHarness h) { TestHttpServer server = null; try { try { server = new TestHttpServer(); } catch (IOException ioe) { h.debug(ioe); h.fail("Could not start server"); return; } for (int i=400; i < 418; i++) test_ResponseCode(i, h, server); for (int i=500; i < 506; i++) test_ResponseCode(i, h, server); } finally { if (server != null) server.killTestServer(); } } static class Factory implements TestHttpServer.ConnectionHandlerFactory { private int responseCode; Factory(int responseCode) { this.responseCode = responseCode; } public TestHttpServer.ConnectionHandler newConnectionHandler(Socket s) throws IOException { return new Handler(s, responseCode); } } static class Handler extends TestHttpServer.ConnectionHandler { private int responseCode; private Writer sink; Handler(Socket socket, int responseCode) throws IOException { super(socket); this.responseCode = responseCode; sink = new OutputStreamWriter(output,"US-ASCII"); } protected boolean processConnection(List headers, byte[] body) throws IOException { sink.write("HTTP/1.0 " + responseCode + " OK\r\n"); sink.write("Server: TestServer\r\n\r\n"); sink.close(); return false; } } public void test_ResponseCode(int responseCode, TestHarness h, TestHttpServer server) { try { server.setConnectionHandlerFactory(new Factory(responseCode)); URL url = new URL("http://localhost:" + server.getPort() + "/"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); h.checkPoint("Test " + responseCode + " response"); // test the responsecode int code = conn.getResponseCode(); h.check(code == responseCode); // getInputStream should always throw an IOException try { conn.getInputStream(); h.check(false); } catch (IOException e) { // for a 404/410 it must be a FNFE if (responseCode == 404 || responseCode == 410) { // Since JDK 1.5 as FNFE is thrown - so this will fail for 1.4 if (e instanceof FileNotFoundException) h.check(true); else h.check(false); } else h.check(true); } // the errorstream must be set always InputStream error = conn.getErrorStream(); h.check(error != null); conn.disconnect(); } catch (IOException e) { h.debug("Unexpected IOException"); h.debug(e); } } } mauve-20140821/gnu/testlet/java/net/HttpURLConnection/postHeaders.java0000644000175000001440000000736710504302060024402 0ustar dokousers//Tags: JDK1.1 //Uses: TestHttpServer //Copyright (C) 2006 David Daney //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 51 Franklin Street, Fifth Floor, //Boston, MA, 02110-1301 USA. package gnu.testlet.java.net.HttpURLConnection; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOException; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.Writer; import java.net.HttpURLConnection; import java.net.Socket; import java.net.URL; import java.util.List; /** * Tests that POST sends correct headers. */ public class postHeaders implements Testlet { /** * Starts an HTTP server and runs some tests */ public void test(TestHarness h) { TestHttpServer server = null; try { try { server = new TestHttpServer(); } catch (IOException ioe) { h.debug(ioe); h.fail("Could not start server"); return; } test_POST(h, server); server.closeAllConnections(); } finally { if (server != null) server.killTestServer(); } } static class FactoryP1 implements TestHttpServer.ConnectionHandlerFactory { FactoryP1() { } public TestHttpServer.ConnectionHandler newConnectionHandler(Socket s) throws IOException { return new HandlerP1(s); } } static class HandlerP1 extends TestHttpServer.ConnectionHandler { private Writer sink; HandlerP1(Socket socket) throws IOException { super(socket); sink = new OutputStreamWriter(output,"US-ASCII"); } protected boolean processConnection(List headers, byte[] body) throws IOException { String request = (String)headers.get(0); String contentType = getHeaderFromList(headers, "content-type"); if (!request.startsWith("POST ") || contentType == null || !contentType.equals("application/x-www-form-urlencoded")) { sink.write("HTTP/1.1 400 Bad Request\r\n"); sink.write("Server: TestServer\r\n"); sink.write("Connection: close\r\n"); sink.write("\r\n"); sink.flush(); return false; } sink.write("HTTP/1.1 204 No Content\r\n"); sink.write("Server: TestServer\r\n"); sink.write("\r\n"); sink.flush(); return true; } } public void test_POST(TestHarness h, TestHttpServer server) { try { byte data[] = new byte[] {'M', 'e', 's', 's', 'a', 'g', 'e'}; h.checkPoint("POST-1"); server.setConnectionHandlerFactory(new FactoryP1()); URL url = new URL("http://localhost:" + server.getPort() + "/file1"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setDoOutput(true); OutputStream os = conn.getOutputStream(); os.write(data); os.close(); // test the responsecode int code = conn.getResponseCode(); h.check(code, 204); } catch (IOException e) { h.debug("Unexpected IOException"); h.debug(e); } } } mauve-20140821/gnu/testlet/java/net/HttpURLConnection/fileNotFound.java0000644000175000001440000000443510371350477024527 0ustar dokousers//Tags: JDK1.1 //Copyright (C) 2006 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 51 Franklin Street, Fifth Floor, //Boston, MA, 02110-1301 USA. package gnu.testlet.java.net.HttpURLConnection; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.FileNotFoundException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; /** * Tests that a 404 condition. */ public class fileNotFound implements Testlet { public void test(TestHarness h) { try { URL url = new URL("http://www.redhat.com/mauve/testarea/edeltraut.html"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); try { // connect does not throw a FNFE conn.connect(); int code = conn.getResponseCode(); h.check(code == 404); } catch (FileNotFoundException e) { h.check(false); } try { // FNFE is thrown by calling getInputStream conn.getInputStream(); h.check(false); } catch (FileNotFoundException e) { h.check(true); } // the errorstream must be set (at least our // URL returns an error page InputStream error = conn.getErrorStream(); h.check(error != null); conn.disconnect(); } catch (Exception e) { h.debug(e); h.fail("Unexpected error: " + e.getMessage ()); } } } mauve-20140821/gnu/testlet/java/net/HttpURLConnection/responseHeadersTest.java0000644000175000001440000002363310467160762026130 0ustar dokousers//Tags: JDK1.4 //Uses: TestHttpServer //Copyright (C) 2006 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 51 Franklin Street, Fifth Floor, //Boston, MA, 02110-1301 USA. package gnu.testlet.java.net.HttpURLConnection; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.Writer; import java.net.HttpURLConnection; import java.net.Socket; import java.net.URL; import java.util.List; import java.util.Map; public class responseHeadersTest implements Testlet { public void test(TestHarness harness) { TestHttpServer server = null; try { try { server = new TestHttpServer(); } catch (IOException ioe) { harness.debug(ioe); harness.fail("Could not start server"); return; } test_MultiHeaders(harness, server); test_LowerUpperCaseHeaders(harness, server); } finally { server.killTestServer(); } } static class Factory implements TestHttpServer.ConnectionHandlerFactory { private String headers; Factory(String headers) { this.headers = headers; } public TestHttpServer.ConnectionHandler newConnectionHandler(Socket s) throws IOException { return new Handler(s, headers); } } static class Handler extends TestHttpServer.ConnectionHandler { private String responseHeaders; private Writer sink; Handler(Socket socket, String headers) throws IOException { super(socket); this.responseHeaders = headers; sink = new OutputStreamWriter(output,"US-ASCII"); } protected boolean processConnection(List headers, byte[] body) throws IOException { sink.write(responseHeaders); sink.close(); return false; } } public void test_MultiHeaders(TestHarness h, TestHttpServer server) { try { Factory f = new Factory( "HTTP/1.0 200 OK\r\n" + "Server: TestServer\r\n" + "Key1: value, value2\r\n" + // set the header a second time with different values // these values must be prepended to key1 "Key1: value3\r\n" + "IntHeader: 1234\r\n" + "IntHeaderMalformed: 1234XY\r\n" + "DateHeader: Thu, 02 Mar 2006 14:34:55 +0000\r\n" + "DateHeaderMalformed: Thu, 02 Mar 2006V 14:13:07 +0000\r\n\r\n" ); server.setConnectionHandlerFactory(f); URL url = new URL("http://localhost:" + server.getPort() + "/"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); h.checkPoint("getHeaderFields()"); Map fields = conn.getHeaderFields(); // check that map is unmodifiable try { fields.clear(); h.check(false); } catch (UnsupportedOperationException e) { h.check(true); } // exactly 7 headers with status and server header h.check(fields.size() == 7); // check for list and that case matters for key Object obj = fields.get("Key1"); if (! (obj instanceof List)) h.check(false); else { h.check(true); List value = (List) obj; h.check(value.size() == 2); h.check(value.get(0).equals("value3")); h.check(value.get(1).equals("value, value2")); // check that it is an unmodifiable list try { value.remove(0); h.check(false); } catch (UnsupportedOperationException e) { h.check(true); } } // wrong case for key obj = fields.get("key1"); h.check(obj == null); // checks for getHeaderField/Key(int) h.checkPoint("getHeaderField(int)"); // check that index 0 is the statusline String statusline = conn.getHeaderField(0); h.check(statusline.equals("HTTP/1.0 200 OK")); // indexes out of bound must return null String aboutIndex = conn.getHeaderField(44); h.check(aboutIndex == null); String belowIndex = conn.getHeaderField(-1); h.check(belowIndex == null); // check that correct key/value name is returned String key1_Value = conn.getHeaderField(2); h.check(key1_Value.equals("value, value2")); h.checkPoint("getHeaderFieldKey(int)"); // check that index 0 is the statusline String statuslineKey = conn.getHeaderFieldKey(0); h.check(statuslineKey == null); // indexes out of bound must return null String aboutIndexKey = conn.getHeaderFieldKey(44); h.check(aboutIndexKey == null); String belowIndexKey = conn.getHeaderFieldKey(-1); h.check(belowIndexKey == null); // check that correct key/value name is returned String key1_Key = conn.getHeaderFieldKey(2); h.check(key1_Key.equals("Key1")); // checks getHeaderFieldDate h.checkPoint("getHeaderFieldDate()"); // correct date header field long dateHeader = conn.getHeaderFieldDate("DateHeader", 5555); h.check(dateHeader == 1141310095000L); // missing date header field dateHeader = conn.getHeaderFieldDate("DateHeaderXX", 5555); h.check(dateHeader == 5555); // malformed date header value dateHeader = conn.getHeaderFieldDate("DateHeaderMalformed", 5555); h.check(dateHeader == 5555); // checks getHeaderFieldInt h.checkPoint("getHeaderFieldInt()"); // correct int header field int intHeader = conn.getHeaderFieldInt("IntHeader", 5555); h.check(intHeader == 1234); // missing int header field intHeader = conn.getHeaderFieldInt("IntHeaderXX", 5555); h.check(intHeader == 5555); // malformed int header value intHeader = conn.getHeaderFieldInt("IntHeaderMalformed", 5555); h.check(intHeader == 5555); // checks that the convenience methods of the headers // not set in this test return the correct default values h.checkPoint("convenience methods"); h.check(conn.getLastModified() == 0); h.check(conn.getDate() == 0); h.check(conn.getExpiration() == 0); h.check(conn.getContentEncoding() == null); h.check(conn.getContentType() == null); h.check(conn.getContentLength() == -1); // checks getHeaderField(String) h.checkPoint("getHeaderField(String)"); String field = conn.getHeaderField("Server"); String field1 = conn.getHeaderField("server"); h.check(field.equals("TestServer")); h.check(field == field1); String none = conn.getHeaderField("NotExistent"); h.check(none == null); // check for multiple times same key String field_key1 = conn.getHeaderField("Key1"); h.check(field_key1.equals("value3")); } catch (IOException e) { h.debug("Unexpected IOException"); h.debug(e); } catch (RuntimeException e) { h.debug("Unexpected IOException"); h.debug(e); } } public void test_LowerUpperCaseHeaders(TestHarness h, TestHttpServer server) { try { Factory f = new Factory( "HTTP/1.0 200 OK\r\n" + "Server: TestServer\r\n" + "AnotherKey: value\r\n" + "Key: value\r\n" + "Key: value1\r\n" + "key: value2\r\n" + "key: value3\r\n\r\n" ); server.setConnectionHandlerFactory(f); URL url = new URL("http://localhost:" + server.getPort() + "/"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); h.checkPoint("LowerUpperCase header fields tests"); Map fields = conn.getHeaderFields(); // exactly 5 headers with status and server header h.check(fields.size() == 5); // check for list and that case matters for key List value = (List) fields.get("Key"); h.check(value.size() == 2); h.check(value.get(0).equals("value1")); List value2 = (List) fields.get("key"); h.check(value2.size() == 2); h.check(value2.get(0).equals("value3")); List value3 = (List) fields.get("AnotherKey"); h.check(value3.get(0).equals("value")); value3 = (List) fields.get("anotherkey"); h.check(value3 == null); // checks getHeaderField(String) String field = conn.getHeaderField("Key"); String field1 = conn.getHeaderField("key"); h.check(field.equals("value3")); h.check(field == field1); } catch (IOException e) { h.debug("Unexpected IOException"); h.debug(e); } catch (RuntimeException e) { h.debug("Unexpected IOException"); h.debug(e); } } } mauve-20140821/gnu/testlet/java/net/HttpURLConnection/reuseConnection.java0000644000175000001440000003435510467161723025302 0ustar dokousers//Tags: JDK1.1 //Uses: TestHttpServer //Copyright (C) 2006 David Daney //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 51 Franklin Street, Fifth Floor, //Boston, MA, 02110-1301 USA. package gnu.testlet.java.net.HttpURLConnection; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.Writer; import java.net.HttpURLConnection; import java.net.Socket; import java.net.URL; import java.util.List; /** * Tests correct behaviour of keep-alive connections. */ public class reuseConnection implements Testlet { /** * Starts an HTTP server and runs some tests */ public void test(TestHarness h) { TestHttpServer server = null; try { try { server = new TestHttpServer(); } catch (IOException ioe) { h.debug(ioe); h.fail("Could not start server"); return; } test_GET(h, server); server.closeAllConnections(); test_HEAD(h, server); server.closeAllConnections(); test_POST(h, server); server.closeAllConnections(); } finally { if (server != null) server.killTestServer(); } } static class FactoryP1 implements TestHttpServer.ConnectionHandlerFactory { FactoryP1() { } public TestHttpServer.ConnectionHandler newConnectionHandler(Socket s) throws IOException { return new HandlerP1(s); } } static class HandlerP1 extends TestHttpServer.ConnectionHandler { private Writer sink; private int requestNumber; HandlerP1(Socket socket) throws IOException { super(socket); sink = new OutputStreamWriter(output,"US-ASCII"); } protected boolean processConnection(List headers, byte[] body) throws IOException { requestNumber++; String request = (String)headers.get(0); if (!request.startsWith("POST ")) { sink.write("HTTP/1.1 400 Bad Request\r\n"); sink.write("Server: TestServer\r\n"); sink.write("Connection: close\r\n"); sink.write("\r\n"); sink.flush(); return false; } sink.write("HTTP/1.1 204 No Content\r\n"); if (request.indexOf("file1") != -1) { sink.write("Server: TestServer1\r\n"); } else if (requestNumber == 2) { sink.write("Server: TestServer2\r\n"); } else { sink.write("Server: TestServer3\r\n"); } sink.write("\r\n"); sink.flush(); return requestNumber < 2; } } static class FactoryG1 implements TestHttpServer.ConnectionHandlerFactory { FactoryG1() { } public TestHttpServer.ConnectionHandler newConnectionHandler(Socket s) throws IOException { return new HandlerG1(s); } } static class HandlerG1 extends TestHttpServer.ConnectionHandler { private Writer sink; private int requestNumber; HandlerG1(Socket socket) throws IOException { super(socket); sink = new OutputStreamWriter(output,"US-ASCII"); } protected boolean processConnection(List headers, byte[] body) throws IOException { boolean hello = false; boolean goodBye = false; boolean err = false; requestNumber++; String request = (String)headers.get(0); if (!request.startsWith("GET ")) { sink.write("HTTP/1.1 400 Bad Request\r\n"); sink.write("Server: TestServer\r\n"); sink.write("Connection: close\r\n"); sink.write("\r\n"); sink.flush(); return false; } sink.write("HTTP/1.1 200 OK\r\n"); sink.write("Server: TestServer\r\n"); if (request.indexOf("file1") != -1) { sink.write("Content-Length: 5\r\n"); hello = true; } else if (requestNumber == 2) { sink.write("Content-Length: 8\r\n"); sink.write("Connection: close\r\n"); goodBye = true; } else { sink.write("Content-Length: 3\r\n"); err = true; } sink.write("\r\n"); if (hello) sink.write("Hello"); else if (goodBye) sink.write("Good Bye"); else if (err) sink.write("Err"); sink.flush(); return requestNumber < 2; } } static class FactoryH1 implements TestHttpServer.ConnectionHandlerFactory { FactoryH1() { } public TestHttpServer.ConnectionHandler newConnectionHandler(Socket s) throws IOException { return new HandlerH1(s); } } static class HandlerH1 extends TestHttpServer.ConnectionHandler { private Writer sink; private int requestNumber; HandlerH1(Socket socket) throws IOException { super(socket); sink = new OutputStreamWriter(output,"US-ASCII"); } protected boolean processConnection(List headers, byte[] body) throws IOException { requestNumber++; String request = (String)headers.get(0); if (!request.startsWith("HEAD ")) { sink.write("HTTP/1.1 400 Bad Request\r\n"); sink.write("Server: TestServer\r\n"); sink.write("Connection: close\r\n"); sink.write("\r\n"); sink.flush(); return false; } sink.write("HTTP/1.1 200 OK\r\n"); sink.write("Server: TestServer\r\n"); if (request.indexOf("file1") != -1) sink.write("Content-Length: 100000\r\n"); else if (requestNumber == 2) { sink.write("Content-Length: 200000\r\n"); sink.write("Connection: close\r\n"); } else sink.write("Content-Length: 300000\r\n"); sink.write("\r\n"); sink.flush(); return requestNumber < 2; } } static class FactoryH2 implements TestHttpServer.ConnectionHandlerFactory { FactoryH2() { } public TestHttpServer.ConnectionHandler newConnectionHandler(Socket s) throws IOException { return new HandlerH2(s); } } static class HandlerH2 extends TestHttpServer.ConnectionHandler { private Writer sink; private int requestNumber; HandlerH2(Socket socket) throws IOException { super(socket); sink = new OutputStreamWriter(output,"US-ASCII"); } protected boolean processConnection(List headers, byte[] body) throws IOException { requestNumber++; String request = (String)headers.get(0); if (!request.startsWith("HEAD ")) { sink.write("HTTP/1.1 400 Bad Request\r\n"); sink.write("Server: TestServer\r\n"); sink.write("Connection: close\r\n"); sink.write("\r\n"); sink.flush(); return false; } sink.write("HTTP/1.1 200 OK\r\n"); sink.write("Server: TestServer\r\n"); sink.write("Transfer-Encoding: chunked\r\n"); if (request.indexOf("fileA") != -1) sink.write("Content-Type: text/html\r\n"); else if (requestNumber == 2) { sink.write("Content-Type: text/plain\r\n"); sink.write("Connection: close\r\n"); } else sink.write("Content-Type: application/octet-stream\r\n"); sink.write("\r\n"); sink.flush(); return requestNumber < 2; } } public void test_HEAD(TestHarness h, TestHttpServer server) { try { h.checkPoint("HEAD-1"); server.setConnectionHandlerFactory(new FactoryH1()); URL url = new URL("http://localhost:" + server.getPort() + "/file1"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("HEAD"); // test the responsecode int code = conn.getResponseCode(); h.check(code, 200); int contentLength = conn.getContentLength(); h.check(contentLength, 100000); InputStream s = conn.getInputStream(); int v = s.read(); h.check(v, -1); // Must be EOF. // The errorstream must not be set. InputStream error = conn.getErrorStream(); h.check(error, null); h.checkPoint("HEAD-2"); url = new URL("http://localhost:" + server.getPort() + "/file2"); conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("HEAD"); // test the responsecode code = conn.getResponseCode(); h.check(code, 200); contentLength = conn.getContentLength(); h.check(contentLength, 200000); s = conn.getInputStream(); v = s.read(); h.check(v, -1); // Must be EOF. // The errorstream must not be set. error = conn.getErrorStream(); h.check(error, null); // Now on a new connection reporting chuncked. server.setConnectionHandlerFactory(new FactoryH2()); h.checkPoint("HEAD-3"); url = new URL("http://localhost:" + server.getPort() + "/fileA"); conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("HEAD"); // test the responsecode code = conn.getResponseCode(); h.check(code, 200); String contentType = conn.getContentType(); h.check(contentType, "text/html"); s = conn.getInputStream(); v = s.read(); h.check(v, -1); // Must be EOF. // The errorstream must not be set. error = conn.getErrorStream(); h.check(error, null); h.checkPoint("HEAD-4"); url = new URL("http://localhost:" + server.getPort() + "/fileB"); conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("HEAD"); // test the responsecode code = conn.getResponseCode(); h.check(code, 200); contentType = conn.getContentType(); h.check(contentType, "text/plain"); s = conn.getInputStream(); v = s.read(); h.check(v, -1); // Must be EOF. // The errorstream must not be set. error = conn.getErrorStream(); h.check(error, null); } catch (IOException e) { h.debug("Unexpected IOException"); h.debug(e); } } private static int readFully(InputStream is, byte d[]) throws IOException { int pos = 0; int c; while (pos < d.length) { c = is.read(d, pos, d.length - pos); if (c == -1) { if (pos == 0) return -1; else break; } pos += c; } return pos; } public void test_GET(TestHarness h, TestHttpServer server) { try { byte data[] = new byte[100]; h.checkPoint("GET-1"); server.setConnectionHandlerFactory(new FactoryG1()); URL url = new URL("http://localhost:" + server.getPort() + "/file1"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); // test the responsecode int code = conn.getResponseCode(); h.check(code, 200); int contentLength = conn.getContentLength(); h.check(contentLength, 5); InputStream s = conn.getInputStream(); int v = readFully(s, data); h.check(v, 5); // The errorstream must not be set. InputStream error = conn.getErrorStream(); h.check(error, null); h.checkPoint("GET-2"); url = new URL("http://localhost:" + server.getPort() + "/file2"); conn = (HttpURLConnection) url.openConnection(); // test the responsecode code = conn.getResponseCode(); h.check(code, 200); contentLength = conn.getContentLength(); h.check(contentLength, 8); s = conn.getInputStream(); v = readFully(s, data); h.check(v, 8); // The errorstream must not be set. error = conn.getErrorStream(); h.check(error, null); } catch (IOException e) { h.debug("Unexpected IOException"); h.debug(e); } } public void test_POST(TestHarness h, TestHttpServer server) { try { byte data[] = new byte[] {'M', 'e', 's', 's', 'a', 'g', 'e'}; h.checkPoint("POST-1"); server.setConnectionHandlerFactory(new FactoryP1()); URL url = new URL("http://localhost:" + server.getPort() + "/file1"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setDoOutput(true); OutputStream os = conn.getOutputStream(); os.write(data); os.close(); // test the responsecode int code = conn.getResponseCode(); h.check(code, 204); String serverName = conn.getHeaderField("Server"); h.check(serverName, "TestServer1"); // The errorstream must not be set. InputStream error = conn.getErrorStream(); h.check(error, null); h.checkPoint("POST-2"); url = new URL("http://localhost:" + server.getPort() + "/file2"); conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setDoOutput(true); os = conn.getOutputStream(); os.write(data); os.close(); // test the responsecode code = conn.getResponseCode(); h.check(code, 204); serverName = conn.getHeaderField("Server"); h.check(serverName, "TestServer2"); // The errorstream must not be set. error = conn.getErrorStream(); h.check(error, null); } catch (IOException e) { h.debug("Unexpected IOException"); h.debug(e); } } } mauve-20140821/gnu/testlet/java/net/HttpURLConnection/getRequestProperty.java0000644000175000001440000000305410371134257026020 0ustar dokousers//Tags: JDK1.1 //Copyright (C) 2006 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 51 Franklin Street, Fifth Floor, //Boston, MA, 02110-1301 USA. package gnu.testlet.java.net.HttpURLConnection; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.net.HttpURLConnection; import java.net.URL; /** * Tests the getRequestProperty method */ public class getRequestProperty implements Testlet { public void test(TestHarness h) { try { URL url = new URL("http://sources.redhat.com/mauve/testarea/index.html"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); String str = conn.getRequestProperty(null); h.check(str == null); } catch (Exception e) { h.debug(e); h.fail("Unexpected error: " + e.getMessage ()); } } } mauve-20140821/gnu/testlet/java/net/HttpURLConnection/timeout.java0000644000175000001440000001541610651376573023630 0ustar dokousers//Tags: JDK1.5 //Uses: TestHttpServer //Copyright (C) 2006 David Daney //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 51 Franklin Street, Fifth Floor, //Boston, MA, 02110-1301 USA. package gnu.testlet.java.net.HttpURLConnection; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOException; import java.io.InputStream; import java.io.OutputStreamWriter; import java.io.Writer; import java.net.HttpURLConnection; import java.net.Socket; import java.net.URL; import java.util.List; /** * Tests correct behaviour of keep-alive connections. */ public class timeout implements Testlet { /** * Starts an HTTP server and runs some tests */ public void test(TestHarness h) { TestHttpServer server = null; try { try { server = new TestHttpServer(); } catch (IOException ioe) { h.debug(ioe); h.fail("Could not start server"); return; } testReadTimeout(h, server); server.closeAllConnections(); testConnectTimeout(h); } finally { if (server != null) server.killTestServer(); } } static class Factory implements TestHttpServer.ConnectionHandlerFactory { Factory() { } public TestHttpServer.ConnectionHandler newConnectionHandler(Socket s) throws IOException { return new Handler(s); } } static class Handler extends TestHttpServer.ConnectionHandler { private Writer sink; Handler(Socket socket) throws IOException { super(socket); sink = new OutputStreamWriter(output,"US-ASCII"); } protected boolean processConnection(List headers, byte[] body) throws IOException { boolean closeme = false; String request = (String)headers.get(0); if (!request.startsWith("GET ")) { sink.write("HTTP/1.1 400 Bad Request\r\n"); sink.write("Server: TestServer\r\n"); sink.write("Connection: close\r\n"); sink.write("\r\n"); sink.flush(); return false; } sink.write("HTTP/1.1 200 OK\r\n"); sink.write("Server: TestServer\r\n"); if (request.indexOf("closeme") != -1) { sink.write("Connection: close\r\n"); closeme = true; } sink.write("Content-Length: 7\r\n"); sink.write("\r\n"); sink.flush(); try { Thread.sleep(10000); } catch (InterruptedException ie) { // Ignore. } sink.write("Hello\r\n"); sink.flush(); return !closeme; } } private static int readFully(InputStream is, byte d[]) throws IOException { int pos = 0; int c; while (pos < d.length) { c = is.read(d, pos, d.length - pos); if (c == -1) { if (pos == 0) return -1; else break; } pos += c; } return pos; } private void testReadTimeout(TestHarness h, TestHttpServer server) { try { byte data[] = new byte[100]; h.checkPoint("read-1"); server.setConnectionHandlerFactory(new Factory()); // Simple read timeout. URL url = new URL("http://127.0.0.1:" + server.getPort() + "/closeme"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setReadTimeout(5000); try { // test the responsecode int code = conn.getResponseCode(); InputStream s = conn.getInputStream(); int v = readFully(s, data); // It should time out and never get here. h.check(false); } catch (IOException ioe) { // It should timeout. h.check(true); } h.checkPoint("read-2"); // Normal read. No timeout. url = new URL("http://127.0.0.1:" + server.getPort() + "/foo"); conn = (HttpURLConnection) url.openConnection(); // test the responsecode int code = conn.getResponseCode(); h.check(code, 200); InputStream s = conn.getInputStream(); int v = readFully(s, data); s.close(); h.check(v, 7); h.checkPoint("read-3"); // Set timeout on a reused connection. url = new URL("http://127.0.0.1:" + server.getPort() + "/bar"); conn = (HttpURLConnection) url.openConnection(); conn.setReadTimeout(5000); try { // test the responsecode code = conn.getResponseCode(); s = conn.getInputStream(); v = readFully(s, data); // It should time out and never get here. h.check(false); } catch (IOException ioe) { // It should timeout. h.check(true); } } catch (IOException e) { h.debug("Unexpected IOException"); h.debug(e); } } private void testConnectTimeout(TestHarness h) { try { byte data[] = new byte[100]; h.checkPoint("connect-1"); // pick an address that will not be globally routable, but is also // not on our local network. This should generate a connection // timeout. URL url = new URL("http://10.20.30.40:/foo"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); long start = System.currentTimeMillis(); conn.setConnectTimeout(3000); try { // test the responsecode int code = conn.getResponseCode(); InputStream s = conn.getInputStream(); int v = readFully(s, data); // It should time out and never get here. h.check(false); } catch (IOException ioe) { // It should timeout. long end = System.currentTimeMillis(); long delta = end - start; h.check((delta > 0) && (delta < 5000)); } } catch (IOException e) { h.debug("Unexpected IOException"); h.debug(e); } } } mauve-20140821/gnu/testlet/java/net/HttpURLConnection/requestPropertiesTest.java0000644000175000001440000001262510403102577026530 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2006 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 51 Franklin Street, Fifth Floor, //Boston, MA, 02110-1301 USA. package gnu.testlet.java.net.HttpURLConnection; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOException; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; import java.util.List; import java.util.Map; /** * Various test for request properties. */ public class requestPropertiesTest implements Testlet { public void test(TestHarness harness) { test_DefaultProperties(harness); test_Properties(harness); test_LowerUpperCaseProperties(harness); } // tests that nothing is done in the deprecated methods public void test_DefaultProperties(TestHarness h) { h.checkPoint("Default properties"); URLConnection.setDefaultRequestProperty("Key", "Value"); h.check(URLConnection.getDefaultRequestProperty("Key"), null); } // test the various request properties methods public void test_Properties(TestHarness h) { try { URL url = new URL("http://localhost:8080/"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); h.checkPoint("Standard properties tests"); // defaults to nothing - null returned h.check(conn.getRequestProperty("Key") == null); // set does actually add if nothing is there conn.setRequestProperty("Key", "value"); h.check(conn.getRequestProperty("Key").equals("value")); // replace value conn.setRequestProperty("Key", "value2"); h.check(conn.getRequestProperty("Key").equals("value2")); // add some stuff conn.addRequestProperty("Anotherkey", "value"); conn.addRequestProperty("Anotherkey", "value2"); // the last is returned h.check(conn.getRequestProperty("Anotherkey").equals("value2")); h.checkPoint("Map properties tests"); Map props = conn.getRequestProperties(); // must be 2 items h.check(props.size(), 2); Object obj = props.get("Anotherkey"); if (obj instanceof List) { h.check(true); List list = (List) obj; h.check(list.size(), 2); h.check(list.get(0), "value2"); } else h.check(false); } catch (IOException e) { h.debug("Unexpected IOException"); h.debug(e); } catch (Exception e) { h.debug("Unexpected Exception"); h.debug(e); } } // test the case sensitiveness for request properties public void test_LowerUpperCaseProperties(TestHarness h) { try { URL url = new URL("http://localhost:8080/"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); h.checkPoint("LowerUpperCase request properties tests"); conn.addRequestProperty("Key", "value"); // getRequestProperty is case insensitiv h.check(conn.getRequestProperty("key").equals("value")); // replacement of value does not replace the key name // however replacement is case insensitiv conn.setRequestProperty("key", "value2"); h.check(conn.getRequestProperty("key").equals("value2")); // add some stuff conn.addRequestProperty("Anotherkey", "value"); conn.addRequestProperty("anotherkey", "value2"); conn.addRequestProperty("anotherkey", "value3"); // get is case insensitiv h.check(conn.getRequestProperty("Anotherkey").equals("value3")); Map props = conn.getRequestProperties(); h.check(props.size(), 3); List l = (List) props.get("anotherkey"); h.check(l.size(), 2); h.check(l.get(0).equals("value3")); l = (List) props.get("Key"); h.check(l.size(), 1); h.check(l.get(0).equals("value2")); // if more values exist only the last one is replaced conn.setRequestProperty("anotherkey", "XXXX"); h.check(conn.getRequestProperty("Anotherkey").equals("XXXX")); // only the last one is replaced ! props = conn.getRequestProperties(); l = (List) props.get("anotherkey"); h.check(l.get(1).equals("value2")); } catch (IOException e) { h.debug("Unexpected IOException"); h.debug(e); } catch (Exception e) { h.debug("Unexpected Exception"); h.debug(e); } } } mauve-20140821/gnu/testlet/java/net/HttpURLConnection/illegalStateException.java0000644000175000001440000001045510371134257026417 0ustar dokousers//Tags: JDK1.1 //Copyright (C) 2006 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 51 Franklin Street, Fifth Floor, //Boston, MA, 02110-1301 USA. package gnu.testlet.java.net.HttpURLConnection; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.net.HttpURLConnection; import java.net.URL; /** * Test correct throwing of IllegalStateExceptions * for the connected connection. */ public class illegalStateException implements Testlet { public void test(TestHarness h) { try { URL url = new URL("http://sources.redhat.com/mauve/testarea/index.html"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); conn.connect(); try { conn.getRequestProperties(); h.check(false); } catch (IllegalStateException e) { h.check(true); } // For some reasons SUN does not whats defined // in the API and does NOT throw a IllegalStateException // for this method - Tested with JDK1.4/1.5 // to be compatible with SUN we also don't do it try { conn.getRequestProperty("accept"); h.check(true); } catch (IllegalStateException e) { h.check(false); } try { conn.setDoInput(true); h.check(false); } catch (IllegalStateException e) { h.check(true); } try { conn.setDoOutput(true); h.check(false); } catch (IllegalStateException e) { h.check(true); } try { conn.setAllowUserInteraction(true); h.check(false); } catch (IllegalStateException e) { h.check(true); } try { conn.setUseCaches(true); h.check(false); } catch (IllegalStateException e) { h.check(true); } try { conn.setIfModifiedSince(100000L); h.check(false); } catch (IllegalStateException e) { h.check(true); } try { conn.setRequestProperty("ssss", "dddd"); h.check(false); } catch (IllegalStateException e) { h.check(true); } try { // if already connected the IllegalStateException // must take precedence over the NPE conn.setRequestProperty(null, "dddd"); h.check(false); } catch (IllegalStateException e) { h.check(true); } catch (NullPointerException e) { h.check(false); } try { conn.addRequestProperty("ssss", "dddd"); h.check(false); } catch (IllegalStateException e) { h.check(true); } try { // if already connected the IllegalStateException // must take precedence over the NPE conn.addRequestProperty(null, "dddd"); h.check(false); } catch (IllegalStateException e) { h.check(true); } catch (NullPointerException e) { h.check(false); } } catch (Exception e) { h.debug(e); h.fail("Unexpected error: " + e.getMessage ()); } } } mauve-20140821/gnu/testlet/java/net/HttpURLConnection/TestHttpServer.java0000644000175000001440000001630110504302060025053 0ustar dokousers//Tags: not-a-test //Copyright (C) 2006 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 51 Franklin Street, Fifth Floor, //Boston, MA, 02110-1301 USA. package gnu.testlet.java.net.HttpURLConnection; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; import java.util.ArrayList; import java.util.Iterator; import java.util.LinkedList; import java.util.List; /** * A HTTP server for testing purpose only. The server can * be started on a given port and the response headers and * response body to be returned set. This way one can test * arbritrary testcases for the http client side library. * * @see gnu.testlet.java.net.HttpURLConnection.responseCodeTest * @see gnu.testlet.java.net.HttpURLConnection.responseHeadersTest * * @author Wolfgang Baer (WBaer@gmx.de) */ public final class TestHttpServer implements Runnable { public interface ConnectionHandlerFactory { ConnectionHandler newConnectionHandler(Socket s) throws IOException; } /** * The request handler skeleton. */ public static abstract class ConnectionHandler implements Runnable { protected Socket socket; protected OutputStream output; protected InputStream input; ConnectionHandler(Socket socket) throws IOException { this.socket = socket; output = socket.getOutputStream(); input = socket.getInputStream(); } /** * Process one request on the connection. * * @param headers * @param body * @return true if another request should be read from the connection. * @throws IOException */ protected abstract boolean processConnection(List headers, byte[] body) throws IOException; protected String getHeaderFromList(List headers, String h) { String search = (h + ":").toLowerCase(); Iterator it = headers.iterator(); while (it.hasNext()) { String v = (String)it.next(); String k = v.toLowerCase(); if (k.startsWith(search)) return v.substring(search.length()).trim(); } return null; } public void run() { try { List headerList; int contentLength = -1; byte[] body; do { headerList = new ArrayList(); ByteArrayOutputStream line; line = new ByteArrayOutputStream(); for (;;) { int ch = input.read(); if (-1 == ch) break; // EOF if (ch != 0x0a) // LF line.write(ch); else { byte[] array = line.toByteArray(); if (array.length == 1) // the last is only a LF break; String headerLine = new String(array); if (headerLine.length() > 15 && "Content-Length:".equalsIgnoreCase(headerLine.substring(0,15))) { contentLength = Integer.parseInt(headerLine.substring(15).trim()); } headerList.add(headerLine); line = new ByteArrayOutputStream(); } } if (contentLength > 0) { body = new byte[contentLength]; int pos = 0; while (pos < contentLength) { int nr = input.read(body, pos, body.length - pos); if (-1 == nr) break; pos += nr; } } else body = null; contentLength = -1; // Check everything } while (processConnection(headerList, body)); // Clean up output.close(); input.close(); socket.close(); } catch (Exception e) { // ignore } } protected void forceClosed() { try { socket.close(); } catch (IOException ioe) { // Ignore. } } } boolean kill = false; ServerSocket serverSocket; ConnectionHandlerFactory connectionHandlerFactory; /** * Create a TestHttpServer on an unused port. */ public TestHttpServer() throws IOException { serverSocket = new ServerSocket(0); Thread t = new Thread(this, "TestHttpServer"); t.start(); } /** * The local port on which the test server is listening for connections. * @return the port */ public int getPort() { return serverSocket.getLocalPort(); } public synchronized void setConnectionHandlerFactory(ConnectionHandlerFactory f) { connectionHandlerFactory = f; } /** * This cleans up recources so more than one * TestHttpServer can be used in one mauve run. */ public void killTestServer() { kill = true; closeAllConnections(); try { serverSocket.close(); } catch (IOException e) { // ignore } } private List activeConnections = new LinkedList(); /** * Listens on the port and creates a Handler for * incoming connections. */ public void run() { try { while (! kill) { Socket socket = serverSocket.accept(); try { ConnectionHandlerFactory f; synchronized(this) { f = connectionHandlerFactory; } ConnectionHandler request = f.newConnectionHandler(socket); Thread thread = new Thread(request); thread.start(); synchronized(activeConnections) { activeConnections.add(request); } } catch (Exception e) { // ignore } } } catch (IOException e) { // ignore } } public void closeAllConnections() { synchronized (activeConnections) { Iterator it = activeConnections.iterator(); while (it.hasNext()) { ConnectionHandler request = (ConnectionHandler)it.next(); request.forceClosed(); it.remove(); } } } } mauve-20140821/gnu/testlet/java/net/URI/0000755000175000001440000000000012375316426016401 5ustar dokousersmauve-20140821/gnu/testlet/java/net/URI/ToStringTest.java0000644000175000001440000000521610250561722021650 0ustar dokousers// Tags: JDK1.4 /* Copyright (C) 2005 Andrew John Hughes (gnu_andrew@member.fsf.org) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.URI; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.net.URI; import java.net.URISyntaxException; public class ToStringTest implements Testlet { private static final String TEST_URI_1 = "http://example.com/examples?name=Fred#"; private static final String TEST_URI_2 = "http://example.com/examples?name=Fred"; private static final String TEST_URI_3 = "http://example.com/examples?"; private static final String TEST_URI_4 = "http://example.com/examples"; private static final String TEST_URI_5 = "://example.com/examples"; private static final String TEST_URI_6 = "//example.com/examples"; private static final String TEST_URI_7 = "http:///examples"; private static final String TEST_URI_8 = "http:/examples"; public void test(TestHarness h) { try { URI test1 = new URI(TEST_URI_1); h.check(test1.toString(), TEST_URI_1); h.check(test1.getRawFragment(), ""); URI test2 = new URI(TEST_URI_2); h.check(test2.toString(), TEST_URI_2); h.check(test2.getRawFragment(), null); URI test3 = new URI(TEST_URI_3); h.check(test3.toString(), TEST_URI_3); h.check(test3.getRawQuery(), ""); URI test4 = new URI(TEST_URI_4); h.check(test4.toString(), TEST_URI_4); h.check(test4.getRawQuery(), null); URI test5 = new URI(TEST_URI_5); h.check(test5.toString(), TEST_URI_5); h.check(test5.getScheme(), null); // Scheme is different and can't be "". URI test6 = new URI(TEST_URI_6); h.check(test6.toString(), TEST_URI_6); h.check(test6.getScheme(), null); URI test7 = new URI(TEST_URI_7); h.check(test7.toString(), TEST_URI_7); h.check(test7.getRawAuthority(), ""); URI test8 = new URI(TEST_URI_8); h.check(test8.toString(), TEST_URI_8); h.check(test8.getRawAuthority(), null); } catch (URISyntaxException e) { h.debug(e); h.fail("Unexpected exception"); } } } mauve-20140821/gnu/testlet/java/net/URI/URITest.java0000644000175000001440000002374710242200173020536 0ustar dokousers// Tags: JDK1.4 /* Copyright (C) 2005 Michael Koch This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.URI; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.net.*; public class URITest implements Testlet { public void testOne(TestHarness h, String uriname, String authority, // 1 String fragment, // 2 String host, // 3 String path, // 4 int port, // 5 String query, // 6 String rawauthority, // 7 String rawfragment, // 8 String rawpath, // 9 String rawquery, // 10 String rawschemespecificpart, // 11 String rawuserinfo, // 12 String scheme, // 13 String schemespecificpart, // 14 String userinfo, // 15 String result) // 16 { try { h.checkPoint(uriname); URI uri = new URI(uriname); h.check(uri.getAuthority(), authority); // 1 h.check(uri.getFragment(), fragment); // 2 h.check(uri.getHost(), host); // 3 h.check(uri.getPath(), path); // 4 h.check(uri.getPort(), port); // 5 h.check(uri.getQuery(), query); // 6 h.check(uri.getRawAuthority(), rawauthority); // 7 h.check(uri.getRawFragment(), rawfragment); // 8 h.check(uri.getRawPath(), rawpath); // 9 h.check(uri.getRawQuery(), rawquery); // 10 h.check(uri.getRawSchemeSpecificPart(), rawschemespecificpart); // 11 h.check(uri.getRawUserInfo(), rawuserinfo); // 12 h.check(uri.getScheme(), scheme); // 13 h.check(uri.getSchemeSpecificPart(), schemespecificpart); // 14 h.check(uri.getUserInfo(), userinfo); // 15 h.check(uri.toString(), result); // 16 } catch (URISyntaxException e) { h.debug(e); h.fail("unexpected exception"); } } public void test(TestHarness h) { testOne(h, "mauve://user:passwd@hostname:1234/path/to/file?query=value#fragment", "user:passwd@hostname:1234", // 1 "fragment", // 2 "hostname", // 3 "/path/to/file", // 4 1234, // 5 "query=value", // 6 "user:passwd@hostname:1234", // 7 "fragment", // 8 "/path/to/file", // 9 "query=value", // 10 "//user:passwd@hostname:1234/path/to/file?query=value", // 11 "user:passwd", // 12 "mauve", // 13 "//user:passwd@hostname:1234/path/to/file?query=value", // 14 "user:passwd", // 15 "mauve://user:passwd@hostname:1234/path/to/file?query=value#fragment"); // 16 testOne(h, "g:h", null, // 1 null, // 2 null, // 3 null, // 4 -1, // 5 null, // 6 null, // 7 null, // 8 null, // 9 null, // 10 "h", // 11 null, // 12 "g", // 13 "h", // 14 null, // 15 "g:h"); // 16 testOne(h, "g", null, // 1 null, // 2 null, // 3 "g", // 4 -1, // 5 null, // 6 null, // 7 null, // 8 "g", // 9 null, // 10 "g", // 11 null, // 12 null, // 13 "g", // 14 null, // 15 "g"); // 16 testOne(h, "./g", null, // 1 null, // 2 null, // 3 "./g", // 4 -1, // 5 null, // 6 null, // 7 null, // 8 "./g", // 9 null, // 10 "./g", // 11 null, // 12 null, // 13 "./g", // 14 null, // 15 "./g"); // 16 testOne(h, "g/", null, // 1 null, // 2 null, // 3 "g/", // 4 -1, // 5 null, // 6 null, // 7 null, // 8 "g/", // 9 null, // 10 "g/", // 11 null, // 12 null, // 13 "g/", // 14 null, // 15 "g/"); // 16 testOne(h, "/g", null, // 1 null, // 2 null, // 3 "/g", // 4 -1, // 5 null, // 6 null, // 7 null, // 8 "/g", // 9 null, // 10 "/g", // 11 null, // 12 null, // 13 "/g", // 14 null, // 15 "/g"); // 16 testOne(h, "//g", "g", // 1 null, // 2 "g", // 3 "", // 4 -1, // 5 null, // 6 "g", // 7 null, // 8 "", // 9 null, // 10 "//g", // 11 null, // 12 null, // 13 "//g", // 14 null, // 15 "//g"); // 16 testOne(h, "?y", null, // 1 null, // 2 null, // 3 "", // 4 -1, // 5 "y", // 6 null, // 7 null, // 8 "", // 9 "y", // 10 "?y", // 11 null, // 12 null, // 13 "?y", // 14 null, // 15 "?y"); // 16 testOne(h, "g?y", null, // 1 null, // 2 null, // 3 "g", // 4 -1, // 5 "y", // 6 null, // 7 null, // 8 "g", // 9 "y", // 10 "g?y", // 11 null, // 12 null, // 13 "g?y", // 14 null, // 15 "g?y"); // 16 testOne(h, "#s", null, // 1 "s", // 2 null, // 3 "", // 4 -1, // 5 null, // 6 null, // 7 "s", // 8 "", // 9 null, // 10 "", // 11 null, // 12 null, // 13 "", // 14 null, // 15 "#s"); // 16 testOne(h, "g#s", null, // 1 "s", // 2 null, // 3 "g", // 4 -1, // 5 null, // 6 null, // 7 "s", // 8 "g", // 9 null, // 10 "g", // 11 null, // 12 null, // 13 "g", // 14 null, // 15 "g#s"); // 16 testOne(h, "g?y#s", null, // 1 "s", // 2 null, // 3 "g", // 4 -1, // 5 "y", // 6 null, // 7 "s", // 8 "g", // 9 "y", // 10 "g?y", // 11 null, // 12 null, // 13 "g?y", // 14 null, // 15 "g?y#s"); // 16 testOne(h, ";x", null, // 1 null, // 2 null, // 3 ";x", // 4 -1, // 5 null, // 6 null, // 7 null, // 8 ";x", // 9 null, // 10 ";x", // 11 null, // 12 null, // 13 ";x", // 14 null, // 15 ";x"); // 16 testOne(h, "g;x", null, // 1 null, // 2 null, // 3 "g;x", // 4 -1, // 5 null, // 6 null, // 7 null, // 8 "g;x", // 9 null, // 10 "g;x", // 11 null, // 12 null, // 13 "g;x", // 14 null, // 15 "g;x"); // 16 testOne(h, "g;x?y#s", null, // 1 "s", // 2 null, // 3 "g;x", // 4 -1, // 5 "y", // 6 null, // 7 "s", // 8 "g;x", // 9 "y", // 10 "g;x?y", // 11 null, // 12 null, // 13 "g;x?y", // 14 null, // 15 "g;x?y#s"); // 16 testOne(h, ".", null, // 1 null, // 2 null, // 3 ".", // 4 -1, // 5 null, // 6 null, // 7 null, // 8 ".", // 9 null, // 10 ".", // 11 null, // 12 null, // 13 ".", // 14 null, // 15 "."); // 16 testOne(h, "./", null, // 1 null, // 2 null, // 3 "./", // 4 -1, // 5 null, // 6 null, // 7 null, // 8 "./", // 9 null, // 10 "./", // 11 null, // 12 null, // 13 "./", // 14 null, // 15 "./"); // 16 testOne(h, "..", null, // 1 null, // 2 null, // 3 "..", // 4 -1, // 5 null, // 6 null, // 7 null, // 8 "..", // 9 null, // 10 "..", // 11 null, // 12 null, // 13 "..", // 14 null, // 15 ".."); // 16 testOne(h, "../", null, // 1 null, // 2 null, // 3 "../", // 4 -1, // 5 null, // 6 null, // 7 null, // 8 "../", // 9 null, // 10 "../", // 11 null, // 12 null, // 13 "../", // 14 null, // 15 "../"); // 16 testOne(h, "../g", null, // 1 null, // 2 null, // 3 "../g", // 4 -1, // 5 null, // 6 null, // 7 null, // 8 "../g", // 9 null, // 10 "../g", // 11 null, // 12 null, // 13 "../g", // 14 null, // 15 "../g"); // 16 testOne(h, "../..", null, // 1 null, // 2 null, // 3 "../..", // 4 -1, // 5 null, // 6 null, // 7 null, // 8 "../..", // 9 null, // 10 "../..", // 11 null, // 12 null, // 13 "../..", // 14 null, // 15 "../.."); // 16 testOne(h, "../../", null, // 1 null, // 2 null, // 3 "../../", // 4 -1, // 5 null, // 6 null, // 7 null, // 8 "../../", // 9 null, // 10 "../../", // 11 null, // 12 null, // 13 "../../", // 14 null, // 15 "../../"); // 16 testOne(h, "../../g", null, // 1 null, // 2 null, // 3 "../../g", // 4 -1, // 5 null, // 6 null, // 7 null, // 8 "../../g", // 9 null, // 10 "../../g", // 11 null, // 12 null, // 13 "../../g", // 14 null, // 15 "../../g"); // 16 // Classpath regression when running jonas. testOne(h, "jrmi://localhost:2000", "localhost:2000", // 1 null, // 2 "localhost", // 3 "", // 4 2000, // 5 null, // 6 "localhost:2000", // 7 null, // 8 "", // 9 null, // 10 "//localhost:2000", // 11 null, // 12 "jrmi", // 13 "//localhost:2000", // 14 null, // 15 "jrmi://localhost:2000"); // 16 String[] tests = { "/a,b", "/a%2C,b", "/a%2c,b" }; for (int i = 0; i < tests.length; ++i) { h.checkPoint(tests[i]); boolean ok = false; URI uri = null; try { uri = new URI(tests[i]); ok = uri.toString().equals(tests[i]); } catch (URISyntaxException _) { h.debug(_); } h.check(ok); } } } mauve-20140821/gnu/testlet/java/net/URI/ToASCIIStringTest.java0000644000175000001440000000262710243442441022422 0ustar dokousers// Tags: JDK1.4 /* Copyright (C) 2005 Andrew John Hughes (gnu_andrew@member.fsf.org) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.URI; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.net.URI; import java.net.URISyntaxException; public class ToASCIIStringTest implements Testlet { private static final String TEST_URI_1 = "http://example.com/money/\uFFE5/file.html"; public void test(TestHarness h) { try { h.check(new URI(TEST_URI_1).toString(), TEST_URI_1); h.check(new URI(TEST_URI_1).toASCIIString(), "http://example.com/money/%EF%BF%A5/file.html"); } catch (URISyntaxException e) { h.debug(e); h.fail("Unexpected exception"); } } } mauve-20140821/gnu/testlet/java/net/URI/RelativizationTest.java0000644000175000001440000000474610243442441023110 0ustar dokousers// Tags: JDK1.4 /* Copyright (C) 2005 Andrew John Hughes (gnu_andrew@member.fsf.org) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.URI; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.net.URI; import java.net.URISyntaxException; public class RelativizationTest implements Testlet { private static final String BASE_URI_1 = "http://example.com/hotcakes/"; private static final String BASE_URI_2 = "http://example.com/hotcakes/?name=unknown#6"; private static final String ERROR_URI_1 = "ftp://example.com/hotcakes/bun5.html"; private static final String ERROR_URI_2 = "http://examples.com/hotcakes/bun6.html"; private static final String ERROR_URI_3 = "http://examples.com/hotrolls/sausage2.html"; private static final String RELATIVE_URI_1 = "http://example.com/hotcakes/bun5.html?name=Fred#2"; private static final String OPAQUE_1 = "urn:890#1"; private static final String OPAQUE_2 = "urn:891#2"; public void test(TestHarness h) { try { h.check(new URI(OPAQUE_1).relativize(new URI(OPAQUE_2)), new URI(OPAQUE_2)); h.check(new URI(BASE_URI_1).relativize(new URI(OPAQUE_2)), new URI(OPAQUE_2)); h.check(new URI(OPAQUE_1).relativize(new URI(BASE_URI_1)), new URI(BASE_URI_1)); h.check(new URI(BASE_URI_1).relativize(new URI(ERROR_URI_1)), new URI(ERROR_URI_1)); h.check(new URI(BASE_URI_1).relativize(new URI(ERROR_URI_2)), new URI(ERROR_URI_2)); h.check(new URI(BASE_URI_1).relativize(new URI(ERROR_URI_3)), new URI(ERROR_URI_3)); h.check(new URI(BASE_URI_1).relativize(new URI(RELATIVE_URI_1)), new URI("bun5.html?name=Fred#2")); h.check(new URI(BASE_URI_2).relativize(new URI(RELATIVE_URI_1)), new URI("bun5.html?name=Fred#2")); } catch (URISyntaxException e) { h.debug(e); h.fail("Unexpected exception"); } } } mauve-20140821/gnu/testlet/java/net/URI/UnicodeURI.java0000644000175000001440000000306510402704772021210 0ustar dokousers// Tags: JDK1.4 /* Copyright (C) 2005 Dalibor Topic This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.URI; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.net.URI; import java.net.URISyntaxException; public class UnicodeURI implements Testlet { private static final String LATIN_SMALL_LETTER_C_WITH_ACUTE = "\u0107"; public void test(TestHarness harness) { /* Check if a URI with Unicode characters is created correctly, * without swallowing characters outside the basic plane. */ try { final URI uri = new URI(null, LATIN_SMALL_LETTER_C_WITH_ACUTE, null); final String uri_string = uri.toString(); harness.check(LATIN_SMALL_LETTER_C_WITH_ACUTE.equals(uri_string)); } catch (URISyntaxException e) { harness.debug(e); harness.fail("unexpected exception" + e.toString()); } } } mauve-20140821/gnu/testlet/java/net/URI/ComparisonTest.java0000644000175000001440000000545610244664507022227 0ustar dokousers// Tags: JDK1.4 /* Copyright (C) 2005 Andrew John Hughes (gnu_andrew@member.fsf.org) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.URI; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.net.URI; import java.net.URISyntaxException; import java.util.SortedSet; import java.util.TreeSet; public class ComparisonTest implements Testlet { private static final String REL_URI = ".."; private static final String HIER_URI = "http://jones@example.com:98?name=Fred#1"; private static final String OPAQ_URI = "isbn:123456789#34"; public void test(TestHarness h) { try { h.check(new URI(REL_URI).compareTo(new URI(REL_URI)) == 0); URI testURI = new URI(HIER_URI); h.check(testURI.compareTo(testURI) == 0); h.check(testURI.compareTo(new URI(HIER_URI)) == 0); h.check(testURI.compareTo(new URI("ftp://jones@example.com:98?name=Fred#1")) > 0); h.check(testURI.compareTo(new URI("http://jones@example.com:98?name=Fred#2")) < 0); h.check(testURI.compareTo(new URI("http://alice@example.com:98?name=Fred#1")) > 0); h.check(testURI.compareTo(new URI("http://jones@examples.com:98?name=Fred#1")) < 0); h.check(testURI.compareTo(new URI("http://jones@example.com:99?name=Fred#1")) < 0); h.check(testURI.compareTo(new URI("http://jones@example.com:98?name=Sally#1")) < 0); URI opaqURI = new URI(OPAQ_URI); h.check(opaqURI.compareTo(opaqURI) == 0); h.check(opaqURI.compareTo(new URI(OPAQ_URI)) == 0); h.check(opaqURI.compareTo(testURI) > 0); h.check(opaqURI.compareTo(new URI("isbn:987654321#34")) < 0); SortedSet s = new TreeSet(); s.add(opaqURI); s.add(testURI); s.add(new URI("ftp://jones@example.com:98?name=Fred#1")); s.add(new URI("http://jones@example.com:98?name=Fred#2")); s.add(new URI("http://alice@example.com:98?name=Fred#1")); s.add(new URI("http://jones@examples.com:98?name=Fred#1")); s.add(new URI("http://jones@example.com:99?name=Fred#1")); s.add(new URI("http://jones@example.com:98?name=Sally#1")); s.add(new URI("isbn:987654321#34")); h.debug(s.toString()); } catch (URISyntaxException e) { h.debug(e); h.fail("Unexpected exception"); } } } mauve-20140821/gnu/testlet/java/net/URI/NormalizationTest.java0000644000175000001440000000334510243442441022724 0ustar dokousers// Tags: JDK1.4 /* Copyright (C) 2005 Andrew John Hughes (gnu_andrew@member.fsf.org) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.URI; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.net.URI; import java.net.URISyntaxException; public class NormalizationTest implements Testlet { private static final String BASE_URI = "http://www.dcs.shef.ac.uk/com4280/"; private static final String RELATIVE_URI = "special/../special/../artistdac1.html?id=32"; private static final String CORRECT_URI = "http://www.dcs.shef.ac.uk/com4280/artistdac1.html?id=32"; public void test(TestHarness h) { try { h.check(new URI("/a/b/c/./../../g").normalize().toString(), "/a/g"); h.check(new URI("mid/content=5/../6").normalize().toString(), "mid/6"); h.check(new URI(BASE_URI+RELATIVE_URI).normalize().toString(), CORRECT_URI); h.check(new URI(BASE_URI).resolve(RELATIVE_URI).toString(), CORRECT_URI); } catch (URISyntaxException e) { h.debug(e); h.fail("Unexpected exception"); } } } mauve-20140821/gnu/testlet/java/net/URI/EqualityTest.java0000644000175000001440000000426610243442441021676 0ustar dokousers// Tags: JDK1.4 /* Copyright (C) 2005 Andrew John Hughes (gnu_andrew@member.fsf.org) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.URI; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.net.URI; import java.net.URISyntaxException; public class EqualityTest implements Testlet { private static final String REL_URI = ".."; private static final String HIER_URI = "http://jones@example.com:98?name=Fred#1"; private static final String OPAQ_URI = "isbn:123456789#34"; public void test(TestHarness h) { try { h.check(new URI(REL_URI).equals(new URI(REL_URI))); URI testURI = new URI(HIER_URI); h.check(testURI.equals(testURI)); h.check(testURI.equals(new URI(HIER_URI))); h.check(!testURI.equals(new URI("ftp://jones@example.com:98?name=Fred#1"))); h.check(!testURI.equals(new URI("http://jones@example.com:98?name=Fred#2"))); h.check(!testURI.equals(new URI("http://alice@example.com:98?name=Fred#1"))); h.check(!testURI.equals(new URI("http://jones@examples.com:98?name=Fred#1"))); h.check(!testURI.equals(new URI("http://jones@example.com:99?name=Fred#1"))); h.check(!testURI.equals(new URI("http://jones@example.com:98?name=Sally#1"))); URI opaqURI = new URI(OPAQ_URI); h.check(opaqURI.equals(opaqURI)); h.check(opaqURI.equals(new URI(OPAQ_URI))); h.check(!opaqURI.equals(testURI)); h.check(!opaqURI.equals(new URI("isbn:987654321#34"))); } catch (URISyntaxException e) { h.debug(e); h.fail("Unexpected exception"); } } } mauve-20140821/gnu/testlet/java/net/MulticastSocket/0000755000175000001440000000000012375316426021060 5ustar dokousersmauve-20140821/gnu/testlet/java/net/MulticastSocket/MulticastSocketTest.java0000644000175000001440000001522607750436105025705 0ustar dokousers// Tags: JDK1.1 // Uses: MulticastServer MulticastClient /* Copyright (C) 1999 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.MulticastSocket; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.net.*; import java.io.*; public class MulticastSocketTest implements Testlet { protected static TestHarness harness; public void test_Basics() { MulticastSocket socket; int nPort = 0; // Test for incorrect ipaddress, port and a port in use. try { socket = new MulticastSocket(4441); InetAddress address = InetAddress.getByName("15.0.0.1"); socket.joinGroup(address); harness.fail("Wrong ipaddress arg. - 1"); } catch (IOException e) { harness.check(true); } try { socket = new MulticastSocket(-1); harness.fail("Wrong port arg. - 2"); InetAddress address = InetAddress.getByName("230.0.0.1"); socket.joinGroup(address); } catch (Exception e) { harness.check(true); } try { socket = new MulticastSocket(0); InetAddress address = InetAddress.getByName("230.0.0.1"); socket.joinGroup(address); socket.leaveGroup(address); socket.close(); harness.check(true); } catch (Exception e) { harness.fail("Correct args. - 3"); harness.debug(e); } try { socket = new MulticastSocket(); InetAddress address = InetAddress.getByName("230.0.0.1"); nPort = socket.getLocalPort(); socket.joinGroup(address); socket.leaveGroup(address); socket.close(); harness.check(true); } catch (Exception e) { harness.fail("Correct args. different constructor. - 4"); harness.debug(e); } try { socket = new MulticastSocket(nPort); InetAddress address = InetAddress.getByName("230.0.0.1"); socket.joinGroup(address); socket.joinGroup(address); harness.fail("joinGroup() twice."); } catch (Exception e) { harness.check(true); } try { socket = new MulticastSocket(++nPort); InetAddress address = InetAddress.getByName("230.0.0.1"); socket.joinGroup(null); harness.fail("joinGroup() with incorrect params. - 5"); } catch (NullPointerException e) { harness.check(true); } catch(Exception e) { harness.fail("joinGroup() with incorrect params. should have " + "thrown a NullPointerException - 5a"); harness.debug(e); } try { socket = new MulticastSocket(++nPort); InetAddress address = InetAddress.getByName("230.0.0.1"); socket.joinGroup(address); socket.leaveGroup(address); harness.check(true); socket.leaveGroup(address); harness.fail("leaveGroup() twice. - 6"); socket.close(); } catch (Exception e) { harness.check(true); } try { socket = new MulticastSocket(++nPort); InetAddress address = InetAddress.getByName("230.0.0.1"); socket.joinGroup(address); socket.leaveGroup(null); harness.fail("leaveGroup() with incorrect params - 7"); socket.close(); } catch (NullPointerException e) { harness.check(true); } catch (Exception e) { harness.fail("leaveGroup() with incorrect params. should have " + "thrown a NullPointerException - 7a"); harness.debug(e); } try { socket = new MulticastSocket(++nPort); InetAddress address = InetAddress.getByName("230.0.0.1"); socket.joinGroup(address); socket.leaveGroup(address); socket.close(); harness.check(true); } catch (Exception e) { harness.fail("Correct args. - 8"); harness.debug(e); } try { // System.out.println("getTTL() and setTTL()."); socket = new MulticastSocket(++nPort); InetAddress address = InetAddress.getByName("230.0.0.1"); socket.joinGroup(address); byte bTTL = socket.getTTL(); harness.check(bTTL != 0, "getTTL() should never return zero - 9"); //System.out.println("Default TTL = " + bTTL); byte newbTTL = (byte)127; socket.setTTL(newbTTL); bTTL = socket.getTTL(); //System.out.println("New TTL = " + bTTL); harness.check(bTTL, newbTTL, "getTTL() should return same value (127) used for setTTL() - 10"); bTTL = (byte)-56; socket.setTTL(bTTL); bTTL = socket.getTTL(); //System.out.println("Newer TTL = " + bTTL); // FIXME: if unsigned byte is used -56 will roll to a +ve value. // Developer should verify if this is a failure case or not. //if(bTTL == -56) //System.out.println("FAIL : TTL cannot be negative"); socket.setTTL((byte)1); socket.leaveGroup(address); socket.close(); harness.check(true); } catch (Exception e) { harness.fail("Should not have thrown any exception - 11"); harness.debug(e); } } public void test_MultipleBind() { final int sharedMcastPort = 1234; // First Socket MulticastSocket firstMcastSock; try { firstMcastSock = new MulticastSocket(sharedMcastPort); harness.check(true); } catch (Exception e) { harness.fail("could not create FIRST multicast socket on shared port " + sharedMcastPort); harness.debug(e); } // Second Socket MulticastSocket secondMcastSock; try { secondMcastSock = new MulticastSocket(sharedMcastPort); harness.check(true); } catch (Exception e) { harness.fail("could not create SECOND multicast socket on shared port " + sharedMcastPort); harness.debug(e); } } public void test_Comm(){ try { MulticastClient client = new MulticastClient(); client.start(); MulticastServer server = new MulticastServer(4446); server.start(); harness.check(true); }catch(Exception e){ harness.fail("test_Comm failed"); harness.debug(e); } } public void testall() { test_Basics(); test_MultipleBind(); test_Comm(); } public void test (TestHarness the_harness) { harness = the_harness; testall (); } } mauve-20140821/gnu/testlet/java/net/MulticastSocket/MulticastServer.java0000644000175000001440000000400110057633057025047 0ustar dokousers// Tags: not-a-test /* Copyright (C) 1999 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.MulticastSocket; import gnu.testlet.TestHarness; import java.net.*; class MulticastServer extends Thread { protected static TestHarness harness; private int serverPort; private MulticastSocket socket; private InetAddress address; private DatagramPacket packet; public MulticastServer(int nPort) { try { serverPort = nPort; socket = new MulticastSocket(); address = InetAddress.getByName("230.0.0.1"); } catch (Exception e) { System.out.println("Server constructor"); e.printStackTrace(); } } public void run() { //System.out.println("Starting Server"); try { String[] cmd = new String[5]; cmd[0] = "hello"; cmd[1] = "there"; cmd[2] = "this is"; cmd[3] = "multicast"; cmd[4] = "bye"; for(int i = 0; i < 5; i++){ packet = new DatagramPacket(cmd[i].getBytes(), cmd[i].length(), address, serverPort); // System.out.println("Sent: " + cmd[i]); socket.send(packet); } socket.close(); } catch (Exception e) { System.out.println("Server run failed"); e.printStackTrace(); } } } mauve-20140821/gnu/testlet/java/net/MulticastSocket/MulticastClient.java0000644000175000001440000000443010057633057025025 0ustar dokousers// Tags: not-a-test /* Copyright (C) 1999 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.MulticastSocket; import gnu.testlet.TestHarness; import java.net.*; class MulticastClient extends Thread { protected static TestHarness harness; public MulticastClient() { try { socket = new MulticastSocket(4446); address = InetAddress.getByName("230.0.0.1"); socket.joinGroup(address); clientPort = socket.getLocalPort(); }catch(Exception e){ System.out.println("Client constructor failed"); e.printStackTrace(); } } public void run() { // System.out.println("Starting Client"); try { for (;;) { byte[] buf = new byte[256]; packet = new DatagramPacket(buf, buf.length); socket.receive(packet); String received = new String(packet.getData()); //System.out.println("Received: " + received); if(received.startsWith("bye")) break; } socket.leaveGroup(address); socket.close(); }catch(Exception e){ System.out.println("Client run failed"); e.printStackTrace(); } } public int getPort() { return clientPort; } private int clientPort; private MulticastSocket socket; private InetAddress address; private DatagramPacket packet; } mauve-20140821/gnu/testlet/java/net/ProxySelector/0000755000175000001440000000000012375316426020564 5ustar dokousersmauve-20140821/gnu/testlet/java/net/SocketPermission/0000755000175000001440000000000012375316426021243 5ustar dokousersmauve-20140821/gnu/testlet/java/net/SocketPermission/serialization.java0000644000175000001440000000535410562130334024756 0ustar dokousers// Copyright (C) 2006, 2007 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 package gnu.testlet.java.net.SocketPermission; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectInput; import java.io.ObjectInputStream; import java.io.ObjectOutput; import java.io.ObjectOutputStream; import java.net.SocketPermission; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class serialization implements Testlet { private String[] hosts = new String[] { "", "localhost", "example.com", "*.com", "209.132.177.50", "[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]", "[3ffe:2a00:100:7031::1]", "[::192.9.5.5]", }; private String[] ports = new String[] { "", ":", ":80", ":-80", ":80-", ":70-90", ":800000", ":700000-900000", }; public void test(TestHarness harness) { harness.checkPoint("serialization checking"); for (int i = 0; i < hosts.length; i++) { for (int j = 0; j < ports.length; j++) { for (int k = 1; k < 1 << actions.length; k++) { SocketPermission p1 = new SocketPermission( hosts[i] + ports[j], makeActions(k)); SocketPermission p2 = null; try { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); ObjectOutput out = new ObjectOutputStream(buffer); out.writeObject(p1); out.close(); ObjectInput in = new ObjectInputStream( new ByteArrayInputStream(buffer.toByteArray())); p2 = (SocketPermission) in.readObject(); in.close(); } catch (Exception e) { harness.debug(e); } harness.check(p1.equals(p2)); } } } } // stuff for actions checking private static String[] actions = {"accept", "connect", "listen", "resolve"}; private static String makeActions(int mask) { String result = ""; for (int i = 0; i < actions.length; i++) { if ((mask & (1 << i)) != 0) { if (result.length() > 0) result += ","; result += actions[i]; } } return result; } } mauve-20140821/gnu/testlet/java/net/SocketPermission/implies.java0000644000175000001440000002452710562130334023546 0ustar dokousers// Copyright (C) 2006, 2007 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 package gnu.testlet.java.net.SocketPermission; import java.net.InetAddress; import java.net.SocketPermission; import java.net.UnknownHostException; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class implies implements Testlet { static String redhat_com_addr = null; static { try { redhat_com_addr = InetAddress.getByName("www.redhat.com").getHostAddress(); } catch (UnknownHostException e) { } } private Test[] hosts = new Test[] { new Test("", "", false), new Test("localhost", "localhost", true), new Test("127.0.0.1", "localhost", true), new Test("localhost", "127.0.0.1", true), new Test("www.redhat.com", "www.redhat.com", true), new Test("*.redhat.com", "www.redhat.com", true), new Test("www.redhat.com", "*.redhat.com", false), new Test(redhat_com_addr, redhat_com_addr, true), new Test("www.redhat.com", redhat_com_addr, true), new Test(redhat_com_addr, "www.redhat.com", true), new Test("*.redhat.com", redhat_com_addr, true), new Test(redhat_com_addr, "*.redhat.com", false), new Test("209.132.177.50", "209.132.177.51", false), new Test("209.132.177.50", "209.132.178.50", false), new Test("209.132.177.50", "209.130.177.50", false), new Test("209.132.177.50", "208.132.177.50", false), // full uncompressed IPv6 addresses new Test("[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]", "[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]", true), new Test("[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]", "FEDC:BA98:7654:3210:FEDC:BA98:7654:3210", true), new Test("FEDC:BA98:7654:3210:FEDC:BA98:7654:3210", "[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]", true), new Test("FEDC:BA98:7654:3210:FEDC:BA98:7654:3210", "FEDC:BA98:7654:3210:FEDC:BA98:7654:3210", true), new Test("[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]", "[fedc:ba98:7654:3210:fedc:ba98:7654:3210]", true), new Test("[FEDC:Bb98:7654:3210:FEDC:BA98:7654:3210]", "[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]", false), // compressed IPv6 addresses new Test("[1080:0:0:0:8:800:200C:417A]", "[1080:0000:0:0:8:800:200C:417A]", true), new Test("[1080::8:800:200C:417A]", "[1080::8:800:200C:417A]", true), new Test("[1080::8:800:200C:417A]", "[1080::8:800:200C:417a]", true), new Test("[1080::8:800:200C:417A]", "[1080:0:0:0:8:800:200C:417A]", true), new Test("[1080:0:0:0:8:800:200C:417A]", "[1080::8:800:200C:417A]", true), new Test("[1080::8:800:200C:417B]", "[1080:0:0:0:8:800:200C:417A]", false), new Test("[1080:0:0:0:8:800:200C:417A]", "[1080::8:800:200C:417B]", false), new Test("[FF01::101]", "[FF01:0:0:0:0:0:0:101]", true), new Test("[FF01:0:0:0:0:0:0:101]", "[FF01::101]", true), new Test("[::1]", "[0:0:0:0:0:0:0:1]", true), new Test("[0:0:0:0:0:0:0:1]", "[::1]", true), new Test("[::]", "[0:0:0:0:0:0:0:0]", true), new Test("[0:0:0:0:0:0:0:0]", "[::]", true), // alternative IPv6 addresses new Test("[0:0:0:0:0:0:13.1.68.3]", "[0:0:0:0:0:0:13.1.68.3]", true), new Test("[::13.1.68.3]", "[0:0:0:0:0:0:13.1.68.3]", true), new Test("[0:0:0:0:0:0:13.1.68.3]", "[::13.1.68.3]", true), new Test("[::13.1.68.3]", "[::13.1.68.3]", true), new Test("[::13.1.68.3]", "[::D01:4403]", true), new Test("[::D01:4403]", "[::13.1.68.3]", true), new Test("[::D01:4403]", "[::D01:4403]", true), new Test("[::D01:4403]", "[0:0:0:0:0:0:13.1.68.3]", true), new Test("[0:0:0:0:0:0:13.1.68.3]", "[::D01:4403]", true), new Test("[0:0:0:0:0:FFFF:129.144.52.38]", "[0:0:0:0:0:FFFF:129.144.52.38]", true), new Test("[::FFFF:129.144.52.38]", "[0:0:0:0:0:FFFF:129.144.52.38]", true), new Test("[0:0:0:0:0:FFFF:129.144.52.38]", "[::FFFF:129.144.52.38]", true), new Test("[::FFFF:129.144.52.38]", "[::FFFF:129.144.52.38]", true), new Test("[::13.1.68.3]", "[::FFFF:13.1.68.3]", false), new Test("[::FFFF:13.1.68.3]", "[::13.1.68.3]", false), // IPv4-mapped IPv6 addresses new Test("[::FFFF:13.1.68.3]", "13.1.68.3", true), new Test("13.1.68.3", "[::FFFF:13.1.68.3]", true), new Test("[::FFFF:D01:4403]", "13.1.68.3", true), new Test("13.1.68.3", "[::FFFF:D01:4403]", true), new Test("[::13.1.68.3]", "13.1.68.3", false), new Test("13.1.68.3", "[::13.1.68.3]", false), new Test("[::D01:4403]", "13.1.68.3", false), new Test("13.1.68.3", "[::D01:4403]", false), // Unconventional IPv4 addresses new Test("13.1.68.3", "13.1.17411", true), new Test("13.1.17411", "13.1.68.3", true), new Test("13.1.68.3", "13.82947", true), new Test("13.82947", "13.1.68.3", true), new Test("13.1.68.3", "13.82947", true), new Test("13.1.68.3", String.valueOf((13 << 24) + (1 << 16) + (68 << 8) + 3), true), new Test(String.valueOf((13 << 24) + (1 << 16) + (68 << 8) + 3), "13.1.68.3", true), }; private Test[] ports = new Test[] { // no restriction new Test("", "", true), new Test("", ":80", true), new Test("", ":-80", true), new Test("", ":80-", true), new Test("", ":70-90", true), // one port new Test(":80", "", false), new Test(":80", ":70", false), new Test(":80", ":80", true), new Test(":80", ":-80", false), new Test(":80", ":80-", false), new Test(":80", ":70-90", false), new Test(":80", ":80-80", true), new Test(":80", ":90-90", false), // up to and including x new Test(":-80", "", false), new Test(":-80", ":70", true), new Test(":-80", ":80", true), new Test(":-80", ":90", false), new Test(":-80", ":-70", true), new Test(":-80", ":-80", true), new Test(":-80", ":-90", false), new Test(":-80", ":70-", false), new Test(":-80", ":80-", false), new Test(":-80", ":90-", false), new Test(":-80", ":60-70", true), new Test(":-80", ":70-90", false), new Test(":-80", ":90-100", false), new Test(":-80", ":70-70", true), new Test(":-80", ":80-80", true), new Test(":-80", ":90-90", false), // x and above new Test(":80-", "", false), new Test(":80-", ":70", false), new Test(":80-", ":80", true), new Test(":80-", ":90", true), new Test(":80-", ":-70", false), new Test(":80-", ":-80", false), new Test(":80-", ":-90", false), new Test(":80-", ":70-", false), new Test(":80-", ":80-", true), new Test(":80-", ":90-", true), new Test(":80-", ":60-70", false), new Test(":80-", ":70-90", false), new Test(":80-", ":90-100", true), new Test(":80-", ":70-70", false), new Test(":80-", ":80-80", true), new Test(":80-", ":90-90", true), // double-ended range new Test(":75-85", "", false), new Test(":75-85", ":70", false), new Test(":75-85", ":80", true), new Test(":75-85", ":90", false), new Test(":75-85", ":-70", false), new Test(":75-85", ":-80", false), new Test(":75-85", ":-90", false), new Test(":75-85", ":70-", false), new Test(":75-85", ":80-", false), new Test(":75-85", ":90-", false), new Test(":75-85", ":70-80", false), new Test(":75-85", ":75-85", true), new Test(":75-85", ":80-90", false), new Test(":75-85", ":70-90", false), new Test(":75-85", ":70-70", false), new Test(":75-85", ":80-80", true), new Test(":75-85", ":90-90", false), // bit loss new Test(":80", ":65616", false), // 65616 & 0xFFFF = 80 new Test(":80", ":-65456", false), // -65456 & 0xFFFF = 80 // also 4294967376? }; public void test(TestHarness harness) { harness.checkPoint("hostport checking"); harness.check(redhat_com_addr != null); for (int i = 0; i < hosts.length; i++) { for (int j = 0; j < ports.length; j++) { Test test = new Test(hosts[i], ports[j]); SocketPermission px = new SocketPermission(test.x, "connect"); SocketPermission py = new SocketPermission(test.y, "connect"); try { harness.check(px.implies(py) == test.expect, test.x + " should" + (test.expect ? "" : " not") + " imply " + test.y); } catch (Exception e) { harness.check(false, test.x + " implies " + test.y + " failed"); harness.debug(e); } } } harness.checkPoint("actions checking"); for (int i = 1; i < 1 << actions.length; i++) { for (int j = 1; j < 1 << actions.length; j++) { SocketPermission pi = new SocketPermission("localhost", makeAction(i)); SocketPermission pj = new SocketPermission("localhost", makeAction(j)); harness.check(pi.implies(pj) == ((maybeAddResolve(i) & j) == j)); } } } // stuff for hosts checking private static class Test { String x, y; boolean expect; Test(String x, String y, boolean expect) { this.x = x; this.y = y; this.expect = expect; } Test(Test host, Test port) { x = host.x + port.x; y = host.y + port.y; if (x.length() == 0 && y.length() == 0) expect = true; else expect = host.expect && port.expect; } } // stuff for actions checking private static String[] actions = {"accept", "connect", "listen", "resolve"}; private static String makeAction(int mask) { String result = ""; for (int i = 0; i < actions.length; i++) { if ((mask & (1 << i)) != 0) { if (result.length() > 0) result += ","; result += actions[i]; } } return result; } // All other actions imply resolve private static int maybeAddResolve(int mask) { boolean addit = false; int addwhat = 0; for (int i = 0; i < actions.length; i++) { if (actions[i].equals("resolve")) addwhat = 1 << i; else if ((mask & (1 << i)) != 0) addit = true; } if (addit) mask |= addwhat; return mask; } } mauve-20140821/gnu/testlet/java/net/SocketPermission/argument.java0000644000175000001440000000702710562130334023722 0ustar dokousers// Copyright (C) 2006, 2007 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 package gnu.testlet.java.net.SocketPermission; import java.net.SocketPermission; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class argument implements Testlet { private Test[] hosts = new Test[] { new Test("", true), new Test("local:host", false), new Test("localhost", true), new Test("example.com", true), new Test("*.com", true), // XXX try wildcard in other positions new Test("209.132:177.50", false), new Test("209.132.177.50", true), // XXX try broken addresses new Test("[", false), new Test("[::192.9.5.5]3", false), new Test("[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]", true), new Test("[3ffe:2a00:100:7031::1]", true), new Test("[1080::8:800:200C:417A]", true), new Test("[::192.9.5.5]", true), new Test("[::FFFF:129.144.52.38]", true), // XXX try broken addresses new Test("FEDC:BA98:7654:3210:FEDC:BA98:7654:3210", true), new Test("3ffe:2a00:100:7031::1", false), new Test("1080::8:800:200C:417A", false), new Test("::192.9.5.5", false), new Test("::FFFF:129.144.52.38", false), new Test("0:0:0:0:0:0:0:1", true), }; private Test[] ports = new Test[] { new Test("", true), new Test(":", true), new Test(":80", true), new Test(":-80", true), new Test(":80-", true), new Test(":70-90", true), new Test(":8a", false), new Test(":-8a", false), new Test(":8a-", false), new Test(":7a-90", false), new Test(":70-9a", false), new Test(":800000", true), new Test(":-800000", true), new Test(":800000-", true), new Test(":700000-900000", true), new Test(":-", false), new Test(":--80", false), new Test(":-80-", false), new Test(":80--", false), new Test(":70--90", false), new Test(":-70-90", false), new Test(":-70--90", false), new Test(":70-90-", false), new Test(":-70-90-", false), }; public void test(TestHarness harness) { harness.checkPoint("argument checking"); for (int i = 0; i < hosts.length; i++) { for (int j = 0; j < ports.length; j++) { Test test = new Test(hosts[i], ports[j]); boolean success; try { new SocketPermission(test.hostport, "connect"); success = true; } catch (IllegalArgumentException e) { success = false; } harness.check(success == test.expect, test.hostport + " should " + (test.expect ? "be ok" : "fail")); } } } private static class Test { String hostport; boolean expect; Test(String hostport, boolean expect) { this.hostport = hostport; this.expect = expect; } Test(Test host, Test port) { hostport = host.hostport + port.hostport; expect = host.expect && port.expect; } } } mauve-20140821/gnu/testlet/java/net/ServerSocket/0000755000175000001440000000000012375316426020361 5ustar dokousersmauve-20140821/gnu/testlet/java/net/ServerSocket/BasicSocketServer.java0000644000175000001440000000425710564165224024611 0ustar dokousers// Tags: not-a-test /* Copyright (C) 1999, 2007 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.ServerSocket; import gnu.testlet.TestHarness; import java.net.*; import java.io.*; class BasicSocketServer extends Thread { ServerSocket srvsock = null; private TestHarness harness; public void init(TestHarness harness) { this.harness = harness; try { srvsock = new ServerSocket(12000); harness.check(true); } catch (Exception e) { System.out.println("Error : BasicSocketServer::init failed " + "exception in new ServerSocket(...) " + e); harness.debug(e); } } public void run() { harness.check(srvsock != null, "Error : BasicSocketServer::run failed - 1 " + "server socket creation was not successful"); if (srvsock == null) { return; } int i = 0; while (i++ < 2) { try { Socket clnt = srvsock.accept(); OutputStream os = clnt.getOutputStream(); DataOutputStream dos = new DataOutputStream(os); dos.writeBytes("hello buddy"); dos.close(); harness.check(true); } catch (Exception e) { System.out.println("Error : BasicSocketServer::run failed - 2" + "exception was thrown"); harness.debug(e); } } try { srvsock.close(); harness.check(true); } catch (Exception e) { System.out.println("Error : BasicSocketServer::run failed - 3" + "exception was thrown"); harness.debug(e); } } } mauve-20140821/gnu/testlet/java/net/ServerSocket/ServerSocketTest.java0000644000175000001440000001746310247103435024504 0ustar dokousers// Tags: JDK1.0 // Uses: BasicBacklogSocketServer BasicSocketServer MyBasicSocketServer MyServerSocket /* Copyright (C) 1999 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.ServerSocket; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.net.*; import java.io.*; public class ServerSocketTest implements Testlet { protected static TestHarness harness; private static final boolean USE_JOIN = false; /** * Wait (for up to 5 seconds) until a thread has completed. If * 'USE_JOIN' is true, use join. Otherwise use sleep and isAlive. * @param thread the thread to wait for, * @return true is the thread ended, false otherwise. */ private boolean completed(Thread thread) { try { if (USE_JOIN) { thread.join(5000); } else { for (int i = 0; i < 5 && thread.isAlive(); i++) { Thread.sleep(1000); } } } catch (Exception e) { /* Squelch exceptions */ } return !thread.isAlive(); } public void test_BasicBacklogServer() { BasicBacklogSocketServer srv = new BasicBacklogSocketServer(); srv.init(harness); srv.start(); Thread.yield(); try { Socket sock = new Socket("127.0.0.1", 21000); DataInputStream dis = new DataInputStream(sock.getInputStream()); harness.check(true); } catch (Exception e) { harness.fail("Error : test_BasicBacklogServer failed - 2 " + "exception was thrown " + e); } // second iteration try { Socket sock = new Socket("127.0.0.1", 21000); harness.check(true); } catch (Exception e) { harness.fail("Error : test_BasicBacklogServer failed - 3 " + "exception was thrown " + e); } // third iteration try { Socket sock = new Socket("127.0.0.1", 21000); harness.check(true); } catch (Exception e) { harness.fail("Error : test_BasicBacklogServer failed - 4 " + "exception was thrown " + e); } harness.check(completed(srv), "Error : test_BasicBacklogServer failed - 5 " + "server didn't end"); } public void test_BasicServer() { harness.checkPoint("BasicServer"); BasicSocketServer srv = new BasicSocketServer(); srv.init(harness); srv.start(); Thread.yield(); try { Socket sock = new Socket("127.0.0.1", 12000); DataInputStream dis = new DataInputStream(sock.getInputStream()); String str = dis.readLine(); harness.check(str.equals("hello buddy"), "Error : test_BasicServer failed - 1 " + "string returned is not correct."); sock.close(); harness.check(true); } catch (Exception e) { harness.fail("Error : test_BasicServer failed - 2 " + "exception was thrown: " + e.getMessage()); } // second iteration try { Socket sock = new Socket("127.0.0.1", 12000); DataInputStream dis = new DataInputStream(sock.getInputStream()); String str = dis.readLine(); harness.check(str.equals("hello buddy"), "Error : test_BasicServer failed - 3 " + "string returned is not correct."); sock.close(); harness.check(true); } catch (Exception e) { harness.fail("Error : test_BasicServer failed - 4 " + "exception was thrown: " + e.getMessage()); } if (!completed(srv)) { harness.fail("Error : test_BasicServer failed - 5 " + " server didn't end "); // Attempt to clean up the server thread by 1) closing it's // socket and 2) interrupting it. try { srv.srvsock.close(); } catch (Exception e) { harness.fail("Error : test_BasicServer failed - 6 " + " exception in close: " + e.getMessage()); } if (!completed(srv)) { harness.fail("Error : test_BasicServer failed - 7 " + "server didn't end when its socket was closed"); // Try to unjam it ... try { srv.interrupt(); } catch (Exception e) { harness.fail("Error : test_BasicServer failed - 8 " + " exception in interrupt: " + e.getMessage()); } if (!completed(srv)) { // The server thread is still alive. Oh dear ... harness.fail("Error : test_BasicServer failed - 9 " + "server didn't end when interrupted"); } } } else { harness.check(true); } } public void test_MyBasicServer() { MyBasicSocketServer srv = new MyBasicSocketServer(); srv.init(harness); srv.start(); Thread.yield(); try { Socket sock = new Socket("127.0.0.1", 12000); } catch (IOException e) {} } public void test_params() { ServerSocket sock = null; try { sock = new ServerSocket(30000); harness.check(sock.getLocalPort() == 30000, "Error : test_params failed - 1 " + "get port did not return proper values"); if (false) { // set/getSoTimeout not there try { sock.setSoTimeout(100); if (sock.getSoTimeout() != 100) { harness.fail("Error : test_params failed - 2 " + "get /set timeout did not return proper values"); } } catch (IOException e) { harness.fail("Error : setSoTimeout fails since vxWorks do " + "not support the feature"); harness.debug(e); } } try { ServerSocket sock1 = new ServerSocket(30000); harness.fail("Error : test_params failed - 3 " + "should have thrown bind exception here."); } catch (IOException e) { // Should this be more specific? harness.check(true); } String ip = "0.0.0.0"; harness.check(sock.toString().indexOf(ip) != -1, "toString() should contain IP"); InetAddress addr = sock.getInetAddress(); if (addr == null) { harness.fail("Error : test_params failed - 4 " + "sock.getInetAddress() -> null"); } else { harness.check(addr.toString().indexOf(ip) != -1, "InetAddress toString() should contain IP"); } ServerSocket.setSocketFactory(null); harness.check(true); } catch (Exception e) { harness.fail("Error : test_params failed - 10 " + "exception was thrown"); harness.debug(e); } finally { try { if (sock != null) sock.close(); } catch (IOException ignored) {} } } public void test_close() { try { harness.checkPoint("test_close"); ServerSocket s = new ServerSocket(0); harness.check(s.isBound()); harness.check(!s.isClosed()); int port = s.getLocalPort(); InetAddress address = s.getInetAddress(); SocketAddress sockAddress = s.getLocalSocketAddress(); s.close(); harness.check(s.isBound()); harness.check(s.isClosed()); harness.check(port == s.getLocalPort()); harness.check(address.equals(s.getInetAddress())); harness.check(sockAddress.equals(s.getLocalSocketAddress())); } catch (Exception e) { harness.fail("Unexpected exception"); harness.debug(e); } } public void testall() { test_BasicServer(); test_MyBasicServer(); test_BasicBacklogServer(); test_params(); test_close(); } public void test (TestHarness the_harness) { harness = the_harness; testall(); } } mauve-20140821/gnu/testlet/java/net/ServerSocket/AcceptTimeout.java0000644000175000001440000000343011056734043023764 0ustar dokousers/* AcceptGetLocalPort.java - Test timeout on accepted Socket. Copyright (C) 2006, Mark J. Wielaard This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.0 package gnu.testlet.java.net.ServerSocket; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.net.*; import java.io.*; /** Checks that a Socket doesn't inherit the timeout of a ServerSocket. */ public class AcceptTimeout implements Testlet, Runnable { private static int port = 5678; public void test (TestHarness harness) { new Thread(this).start(); try { ServerSocket ss = new ServerSocket(port); ss.setSoTimeout(2000); Socket s = ss.accept(); harness.check(s.getSoTimeout(), 0); s.close(); ss.close(); } catch (IOException ioe) { harness.debug(ioe); harness.check(false, ioe.toString()); } } public void run() { int i = 0; while (i < 10) { try { Socket s = new Socket("localhost", port); break; } catch (IOException ioe) { // ignore } try { Thread.sleep(1000); } catch (InterruptedException ie) { // ignore } } } } mauve-20140821/gnu/testlet/java/net/ServerSocket/BasicBacklogSocketServer.java0000644000175000001440000000407110057633057026067 0ustar dokousers// Tags: not-a-test /* Copyright (C) 1999 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.ServerSocket; import gnu.testlet.TestHarness; import java.net.*; import java.io.*; class BasicBacklogSocketServer extends Thread { ServerSocket srvsock = null; private TestHarness harness; public void init(TestHarness harness) { this.harness = harness; try { srvsock = new ServerSocket(21000, 1); harness.check(true); } catch (Exception e) { harness.fail("Error : BasicBacklogSocketServer::init failed " + "exception was thrown: " + e); } } public void run() { if (srvsock == null) { harness.fail("Error : BasicBacklogSocketServer::run failed - 1 " + "server socket creation was not successful"); return; } try { Socket clnt = srvsock.accept(); Socket clnt1 = srvsock.accept(); Socket clnt2 = srvsock.accept(); OutputStream os = clnt.getOutputStream(); DataOutputStream dos = new DataOutputStream(os); dos.writeBytes("hello buddy"); dos.close(); harness.check(true); } catch (Exception e) { harness.fail("Error : BasicBacklogSocketServer::run failed - 2" + "exception was thrown: " + e); } finally { try { srvsock.close(); } catch (IOException ignored) {} } } } mauve-20140821/gnu/testlet/java/net/ServerSocket/AcceptGetLocalPort.java0000644000175000001440000000335710314332156024700 0ustar dokousers/* AcceptGetLocalPort.java - Test for getLocalPort on accepted Socket. Copyright (C) 2005, Mark J. Wielaard This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.0 package gnu.testlet.java.net.ServerSocket; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.net.*; import java.io.*; public class AcceptGetLocalPort implements Testlet, Runnable { private static int port = 5678; public void test (TestHarness harness) { new Thread(this).start(); try { ServerSocket ss = new ServerSocket(port); harness.check(ss.getLocalPort(), port); Socket s = ss.accept(); harness.check(s.getLocalPort(), port); s.close(); ss.close(); } catch (IOException ioe) { harness.debug(ioe); harness.check(false, ioe.toString()); } } public void run() { int i = 0; while (i < 10) { try { Socket s = new Socket("localhost", port); break; } catch (IOException ioe) { // ignore } try { Thread.sleep(1000); } catch (InterruptedException ie) { // ignore } } } } mauve-20140821/gnu/testlet/java/net/ServerSocket/MyServerSocket.java0000644000175000001440000000233410057633057024150 0ustar dokousers// Tags: not-a-test /* Copyright (C) 1999 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.ServerSocket; import java.net.*; import java.io.*; class MyServerSocket extends ServerSocket { public MyServerSocket(int port) throws IOException { super(port); } public void invoke_implAccept(Socket s) throws IOException { super.implAccept(s); } public void finalize() { try { super.finalize(); } catch (Throwable t) { System.out.println(t); } } } mauve-20140821/gnu/testlet/java/net/ServerSocket/security.java0000644000175000001440000001171510562130333023063 0ustar dokousers// Copyright (C) 2006, 2007 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 package gnu.testlet.java.net.ServerSocket; import java.net.BindException; import java.net.InetAddress; import java.net.ServerSocket; import java.net.Socket; import java.net.SocketPermission; import java.security.Permission; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.TestSecurityManager; public class security implements Testlet { public void test(TestHarness harness) { try { harness.checkPoint("setup"); InetAddress inetaddr = InetAddress.getByName(null); String hostaddr = inetaddr.getHostAddress(); ServerSocket ssocket = new ServerSocket(0, 50, inetaddr); int sport = ssocket.getLocalPort(); Socket csocket = new Socket(inetaddr, sport, inetaddr, 0); int cport = csocket.getLocalPort(); Permission[] checkListen80 = new Permission[] { new SocketPermission("localhost:80", "listen")}; Permission[] checkListen1024plus = new Permission[] { new SocketPermission("localhost:1024-", "listen")}; Permission[] checkAccept = new Permission[] { new SocketPermission(hostaddr + ":" + cport, "accept")}; Permission[] checkSelectorProvider = new Permission[] { new RuntimePermission("selectorProvider")}; Permission[] checkSetFactory = new Permission[] { new RuntimePermission("setFactory")}; TestSecurityManager sm = new TestSecurityManager(harness); try { sm.install(); // throwpoint: java.net.ServerSocket-ServerSocket(int) harness.checkPoint("ServerSocket(int)"); try { sm.prepareChecks(checkListen80, checkSelectorProvider); try { new ServerSocket(80).close(); } catch (BindException e) { } sm.checkAllChecked(); } catch (SecurityException e) { harness.debug(e); harness.check(false, "unexpected check"); } try { sm.prepareChecks(checkListen1024plus, checkSelectorProvider); new ServerSocket(0).close(); sm.checkAllChecked(); } catch (SecurityException e) { harness.debug(e); harness.check(false, "unexpected check"); } // throwpoint: java.net.ServerSocket-ServerSocket(int, int) harness.checkPoint("ServerSocket(int, int)"); try { sm.prepareChecks(checkListen80, checkSelectorProvider); try { new ServerSocket(80, 50).close(); } catch (BindException e) { } sm.checkAllChecked(); } catch (SecurityException e) { harness.debug(e); harness.check(false, "unexpected check"); } try { sm.prepareChecks(checkListen1024plus, checkSelectorProvider); new ServerSocket(0, 50).close(); sm.checkAllChecked(); } catch (SecurityException e) { harness.debug(e); harness.check(false, "unexpected check"); } // throwpoint: java.net.ServerSocket-ServerSocket(int, int,InetAddress) harness.checkPoint("ServerSocket(int, int, InetAddress)"); try { sm.prepareChecks(checkListen80, checkSelectorProvider); try { new ServerSocket(80, 50, inetaddr).close(); } catch (BindException e) { } sm.checkAllChecked(); } catch (SecurityException e) { harness.debug(e); harness.check(false, "unexpected check"); } try { sm.prepareChecks(checkListen1024plus, checkSelectorProvider); new ServerSocket(0, 50, inetaddr).close(); sm.checkAllChecked(); } catch (SecurityException e) { harness.debug(e); harness.check(false, "unexpected check"); } // throwpoint: java.net.ServerSocket-accept harness.checkPoint("accept"); try { sm.prepareChecks(checkAccept, checkSelectorProvider); ssocket.accept().close(); sm.checkAllChecked(); } catch (SecurityException e) { harness.debug(e); harness.check(false, "unexpected check"); } // throwpoint: java.net.ServerSocket-setSocketFactory harness.checkPoint("setSocketFactory"); try { sm.prepareHaltingChecks(checkSetFactory); ServerSocket.setSocketFactory(null); harness.check(false); } catch (TestSecurityManager.SuccessException ex) { harness.check(true); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } finally { sm.uninstall(); csocket.close(); ssocket.close(); } } catch (Exception e) { harness.debug(e); harness.check(false, "Unexpected exception"); } } } mauve-20140821/gnu/testlet/java/net/ServerSocket/CORBA.java0000644000175000001440000000575710252620352022054 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.ServerSocket; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOException; import java.net.BindException; import java.net.ServerSocket; import java.util.Random; /** * This class tests the socket functionality, required by * CORBA server to work properly. If this does not work, * CORBA server does not work either. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ public class CORBA implements Testlet { static int NONE = Integer.MIN_VALUE; public void test(TestHarness harness) { // Try 54 times to bind into random port // between 1000 and 3000. Random r = new Random(); int port = NONE; ServerSocket s = null; Search: for (int i = 0; i < 54; i++) { port = 1000 + r.nextInt(2000); try { s = new ServerSocket(port); break Search; } // Unable to bind, probably the port is in use. catch (IOException ex) { // repeat the loop. } } if (port == NONE) { harness.fail("Cannot find any port " + "between 1000 and 3000 in 54 random attempts" ); return; } harness.check(port, s.getLocalPort(), "getLocalPort, opened"); // Try another socket on the same port. try { ServerSocket s2 = new ServerSocket(port); harness.fail("BindException must be thrown"); } catch (Exception ex) { harness.check(ex instanceof BindException, "Not a BindException: " + ex ); } // The closed socket must hold its port number. try { s.close(); } catch (IOException ex) { harness.fail("Exception while closing the socket" + ex); } harness.check(port, s.getLocalPort(), "getLocalPort, closed, " + s.getLocalPort() ); // Try another socket on the same port. try { ServerSocket s2 = new ServerSocket(port); harness.check(port, s2.getLocalPort(), "Port mismatch"); } catch (Exception ex) { harness.fail("Unable to reuse the port "+port); } } }mauve-20140821/gnu/testlet/java/net/ServerSocket/ReturnOnClose.java0000644000175000001440000000577510323417345023775 0ustar dokousers// Tags: JDK1.4 // Copyright (c) Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.net.ServerSocket; import java.io.IOException; import java.net.ServerSocket; import java.net.SocketException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Test if the ServerSocket.accept returns (throws SocketException) after closing * that socket from another thread. The behavior is documented in java API * and confirmed for Sun and IBM implementations. */ public class ReturnOnClose implements Testlet { ServerSocket socket; Throwable exception; public synchronized void test(final TestHarness harness) { Thread t = new Thread() { public void run() { boolean opened = false; for (int i = 1; i < 100 && !opened; i++) { int port = 1000 + (int) (Math.random() * 2000); try { socket = new ServerSocket(port); opened = true; } catch (Exception ex) { // next try } } // This should suspend the thread. try { socket.accept(); } catch (IOException ex) { exception = ex; } socket = null; } }; t.start(); // Wait at most for 10 seconds to open a socket. long s = System.currentTimeMillis(); while (socket == null && System.currentTimeMillis() - s < 10000) { try { Thread.sleep(100); } catch (InterruptedException e) { } } harness.check(socket != null, " Socket must be opened"); try { socket.close(); t.interrupt(); } catch (IOException e) { } // Wait at most for 3 seconds for a socket to close. s = System.currentTimeMillis(); while (socket != null && System.currentTimeMillis() - s < 3000) { try { Thread.sleep(100); } catch (InterruptedException e) { } } harness.check(socket == null, " Socket thread must be resumed. POA.testForwarding will also fail."); harness.check(exception instanceof SocketException,"Must be SocketException"); } } mauve-20140821/gnu/testlet/java/net/ServerSocket/MyBasicSocketServer.java0000644000175000001440000000356210057633057025116 0ustar dokousers// Tags: not-a-test /* Copyright (C) 1999 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.ServerSocket; import gnu.testlet.TestHarness; import java.net.*; import java.io.*; class MyBasicSocketServer extends Thread { MyServerSocket srvsock = null; private TestHarness harness; public void init(TestHarness harness) { this.harness = harness; try { srvsock = new MyServerSocket(10000); srvsock.close(); harness.check(true); } catch (Exception e) { harness.fail("Error - 1 : MyBasicSocketServer::init failed " + "exception in new MyServerSocket(10000): " + e); } // now do the real one try { srvsock = new MyServerSocket(20000); harness.check(true); } catch (Exception e) { harness.fail("Error - 2 : MyBasicSocketServer::init failed " + "exception in new MyServerSocket(20000): " + e); } } public void run() { try { Socket clnt = new Socket("localhost", 20000); srvsock.invoke_implAccept(clnt); } catch (IOException e) {} // get finalize to be invoked try { srvsock.finalize(); } catch (Exception e) {} } } mauve-20140821/gnu/testlet/java/net/InetSocketAddress/0000755000175000001440000000000012375316426021320 5ustar dokousersmauve-20140821/gnu/testlet/java/net/InetSocketAddress/createUnresolved.java0000644000175000001440000000331210403510703025454 0ustar dokousers// Tags: JDK1.5 /* Copyright (C) 2006 Michael Koch This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.InetSocketAddress; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.net.*; public class createUnresolved implements Testlet { public void test (TestHarness harness) { boolean ok = false; try { InetSocketAddress.createUnresolved(null, 2000); } catch (IllegalArgumentException e) { ok = true; } harness.check(ok); ok = false; try { InetSocketAddress.createUnresolved("www.classpath.org", -1); } catch (IllegalArgumentException e) { ok = true; } harness.check(ok); ok = false; try { InetSocketAddress.createUnresolved("www.classpath.org", 65536); } catch (IllegalArgumentException e) { ok = true; } harness.check(ok); InetSocketAddress sa = InetSocketAddress.createUnresolved("www.classpath.org", 80); harness.check(sa.isUnresolved()); } } mauve-20140821/gnu/testlet/java/net/InetSocketAddress/InetSocketAddressTest.java0000644000175000001440000001416410146741346026404 0ustar dokousers// Tags: JDK1.4 /* Copyright (C) 2004 Michael Koch This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.InetSocketAddress; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.net.*; public class InetSocketAddressTest implements Testlet { protected static TestHarness harness; public void test_Constructors() { harness.checkPoint("Constructors"); InetSocketAddress sa = null; try { sa = new InetSocketAddress (InetAddress.getLocalHost(), 1234); harness.check (true); } catch (Exception e) { harness.fail ("Error : test_Constructors failed - 0 " + "Should not throw Exception here"); } try { sa = new InetSocketAddress ((InetAddress) null, 80); harness.check (sa.getAddress().toString().equals ("0.0.0.0/0.0.0.0"), "Error : test_Constructors failed - 1 " + "No wildcard address returned"); } catch (Exception e) { harness.fail ("Error : test_Constructors failed - 1 " + "Unexpected Exception here"); } try { sa = new InetSocketAddress (InetAddress.getLocalHost(), -1); harness.fail ("Error: test_Contructors failed - 2 " + "IllegalArgumentException expected here"); } catch (IllegalArgumentException e) { harness.check (true); } catch (Exception e) { harness.fail ("Error : test_Constructors failed - 2 " + "Unexpected Exception here"); } try { sa = new InetSocketAddress (InetAddress.getLocalHost(), 65536); harness.fail ("Error: test_Contructors failed - 3 " + "IllegalArgumentException expected here"); } catch (IllegalArgumentException e) { harness.check (true); } catch (Exception e) { harness.fail ("Error : test_Constructors failed - 3 " + "Unexpected Exception here"); } try { sa = new InetSocketAddress (-1); harness.fail ("Error: test_Contructors failed - 4 " + "IllegalArgumentException expected here"); } catch (IllegalArgumentException e) { harness.check (true); } catch (Exception e) { harness.fail ("Error : test_Constructors failed - 4 " + "Unexpected Exception here"); } try { sa = new InetSocketAddress (65536); harness.fail ("Error: test_Contructors failed - 5 " + "IllegalArgumentException expected here"); } catch (IllegalArgumentException e) { harness.check (true); } catch (Exception e) { harness.fail ("Error : test_Constructors failed - 5 " + "Unexpected Exception here"); } try { sa = new InetSocketAddress ((String) null, 80); harness.fail ("Error: test_Contructors failed - 7 " + "IllegalArgumentException expected here"); } catch (IllegalArgumentException e) { harness.check (true); } catch (Exception e) { harness.fail ("Error : test_Constructors failed - 7 " + "Unexpected Exception here"); } try { sa = new InetSocketAddress ("localhost", -1); harness.fail ("Error: test_Contructors failed - 8 " + "IllegalArgumentException expected here"); } catch (IllegalArgumentException e) { harness.check (true); } catch (Exception e) { harness.fail ("Error : test_Constructors failed - 8 " + "Unexpected Exception here"); } try { sa = new InetSocketAddress ("localhost", 65536); harness.fail ("Error: test_Contructors failed - 9 " + "IllegalArgumentException expected here"); } catch (IllegalArgumentException e) { harness.check (true); } catch (Exception e) { harness.fail ("Error : test_Constructors failed - 9 " + "Unexpected Exception here"); } } public void test_Basics() { harness.checkPoint("Basics"); InetSocketAddress sa = null; sa = new InetSocketAddress ("localhost", 80); harness.check (sa.getPort() == 80, "Error : test_Basics failed - 1" + " Returned wrong port number"); harness.check (sa.getHostName().equals("localhost"), "Error : test_Basics failed - 2" + " Returned wrong host name"); try { byte[] ipaddr = { (byte) 127, (byte) 0, (byte) 0, (byte) 1 }; harness.check (sa.getAddress().equals(InetAddress.getByAddress ("localhost", ipaddr)), "Error : test_Basics failed - 3" + " Returned wrong InetAdress object"); } catch (UnknownHostException e) { harness.fail ("Error : test_Basics failed - 3" + " Unexpected UnknownHostException"); } try { byte[] ipaddr = { (byte) 1, (byte) 2, (byte) 3, (byte) 4 }; sa = new InetSocketAddress (InetAddress.getByAddress("foo.bar", ipaddr), 80); harness.check (! sa.isUnresolved(), "Error : test_Basics failed - 4" + " Unresolveable hostname got resolved"); } catch (Exception e) { harness.fail ("Error : test_Basics failed - 4" + " Unexpected UnknownHostException"); } try { sa = new InetSocketAddress ("gcc.gnu.org", 80); harness.check (! sa.isUnresolved(), "Error : test_Basics failed - 5" + " Resolveable hostname got not resolved"); } catch (Exception e) { harness.fail ("Error : test_Basics failed - 5" + " Unexpected UnknownHostException"); } } public void testall() { test_Constructors(); test_Basics(); } public void test (TestHarness the_harness) { harness = the_harness; testall (); } } mauve-20140821/gnu/testlet/java/net/URLClassLoader/0000755000175000001440000000000012375316426020521 5ustar dokousersmauve-20140821/gnu/testlet/java/net/URLClassLoader/getResource.java0000644000175000001440000001433110403366424023646 0ustar dokousers// Tags: JDK1.2 // Uses: getResourceBase // Copyright (C) 2002, 2006 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.URLClassLoader; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.net.URL; import java.net.URLClassLoader; import java.util.jar.JarEntry; import java.util.jar.JarOutputStream; import gnu.testlet.TestHarness; public class getResource extends getResourceBase { private File tmpdir, tmpfile, subtmpdir, subtmpfile; private String jarPath; private void setup() throws IOException { // Setup String tmp = harness.getTempDirectory(); tmpdir = new File(tmp + File.separator + "mauve-testdir"); if (!tmpdir.mkdir() && !tmpdir.exists()) throw new IOException("Could not create: " + tmpdir); tmpfile = new File(tmpdir, "testfile"); if (!tmpfile.delete() && tmpfile.exists()) throw new IOException("Could not remove (old): " + tmpfile); tmpfile.createNewFile(); subtmpdir = new File(tmpdir, "testdir"); if (!subtmpdir.mkdir() && !subtmpdir.exists()) throw new IOException("Could not create: " + subtmpdir); subtmpfile = new File(subtmpdir, "test"); if (!subtmpfile.delete() && subtmpfile.exists()) throw new IOException("Could not remove (old): " + subtmpfile); subtmpfile.createNewFile(); jarPath = tmp + File.separator + "m.jar"; FileOutputStream fos = new FileOutputStream(jarPath); JarOutputStream jos = new JarOutputStream(fos); JarEntry je = new JarEntry("jresource"); jos.putNextEntry(je); jos.write(new byte[256]); je = new JarEntry("path/in/jar/"); jos.putNextEntry(je); je = new JarEntry("path/in/jar/file"); jos.putNextEntry(je); jos.write(new byte[256]); jos.close(); fos.close(); } private void tearDown() { if (tmpdir != null && tmpdir.exists()) { if (tmpfile != null && tmpfile.exists()) tmpfile.delete(); if (subtmpdir != null && subtmpdir.exists()) { if (subtmpfile != null && subtmpfile.exists()) subtmpfile.delete(); subtmpdir.delete(); } tmpdir.delete(); } if (jarPath != null) new File(jarPath).delete(); } public void test (TestHarness h) { harness = h; try { setup(); URL[] urls = new URL[2]; urls[0] = tmpdir.toURL(); urls[1] = new URL("file://" + jarPath); ucl = URLClassLoader.newInstance(urls); // Check that the root resource can be found // It is valid as a directory URL u = ucl.getResource("."); harness.debug(u != null ? u.toString() : null); harness.check(u != null, "Checking ."); // Check that the parent directory can not be found // It is invalid as one shouldn't be able to escape the "url root" u = ucl.getResource(".."); harness.debug(u != null ? u.toString() : null); harness.check(u == null, "Checking .."); // Check that the current directory can not be found // It is invalid because at one point, we're escaping the "url root" u = ucl.getResource("../mauve-testdir"); harness.debug(u != null ? u.toString() : null); harness.check(u == null, "Checking ../mauve-testdir"); // Check that the current directory can not be found // It is invalid because at one point, we're walking into an invalid directory u = ucl.getResource("mauve-testdir/.."); harness.debug(u != null ? u.toString() : null); harness.check(u == null, "Checking mauve-testdir/.."); // Check that the current directory can not be found // It is invalid because at one point, we're walking into an invalid directory u = ucl.getResource("mauve-testdir/../"); harness.debug(u != null ? u.toString() : null); harness.check(u == null, "Checking mauve-testdir/../"); // Check that the current directory can be found // It is valid because we're walking into an valid directory and back u = ucl.getResource("testdir/.."); harness.debug(u != null ? u.toString() : null); harness.check(u != null, "Checking testdir/.."); // Check that the current directory can be found // It is valid because we're walking into an valid directory and back u = ucl.getResource("testdir/../"); harness.debug(u != null ? u.toString() : null); harness.check(u != null, "Checking testdir/../"); // Check that the testdir subdirectory can not be found // It is invalid because at one point, we're walking into an invalid directory u = ucl.getResource("mauve-testdir/../testdir"); harness.debug(u != null ? u.toString() : null); harness.check(u == null, "Checking mauve-testdir/../testdir"); // Check that the testdir subdirectory can be found // It is valid because we're walking into an valid directory and back // and into a valid directory again u = ucl.getResource("testdir/../testdir"); harness.debug(u != null ? u.toString() : null); harness.check(u != null, "Checking testdir/../testdir"); check("testfile", "mauve-testdir", true); check("testdir", "mauve-testdir", true); check("testdir/test", "mauve-testdir", true); check("jresource", "m.jar", false); check("path/in/jar/file", "m.jar", false); check("path/in/jar", "m.jar", false); } catch(IOException ioe) { harness.fail("Unexpected exception: " + ioe); harness.debug(ioe); } finally { tearDown(); } } } mauve-20140821/gnu/testlet/java/net/URLClassLoader/getResourceBase.java0000644000175000001440000001107010403366424024436 0ustar dokousers// Tags: not-a-test // Copyright (C) 2002, 2006 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.URLClassLoader; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.File; import java.net.URL; import java.net.URLClassLoader; /** * Helper class for getResource classes that checks resources when * URLClassLoader is set. */ public abstract class getResourceBase implements Testlet { protected TestHarness harness; protected URLClassLoader ucl; /** * Checks that a resource exists in the ucl class loader. * The base string gives a hint about from which URL source it should * get loaded. * If noncanonical is true then it also checks non canonical ways * (using . and .. in the resource path) of accessing the resource. */ protected void check(String resource, String base, boolean noncanonical) { URL u = ucl.getResource(resource); harness.debug(u != null ? u.toString() : null); String sep = base.endsWith(".jar") ? "!/" : "/"; String fullpath = base + sep + resource; String r; if (u != null) { String f = u.getFile(); File file = new File(u.getFile()); // Canonize filenames. If the file is a directory, makes sure both filenames // end with a slash if (file.isDirectory() && fullpath.length() > 1 && (fullpath.charAt(fullpath.length() - 1) != File.separator.charAt(0))) { fullpath = fullpath + File.separator; } if (file.isDirectory() && f.length() > 1 && f.charAt(f.length() - 1) != File.separator.charAt(0)) { f = f + File.separator; } int i = f.indexOf(fullpath); if (i != -1) r = f.substring(f.length() - fullpath.length()); else r = f; } else r = null; harness.check(r, fullpath, "URL file path ends with " + fullpath); u = ucl.getResource("no-" + resource); harness.debug(u != null ? u.toString() : null); harness.check(u == null, "no-" + resource); if (noncanonical) { int index = resource.lastIndexOf('/'); String name, path, dir; if (index != -1) { name = resource.substring(index+1); path = resource.substring(0, index); index = path.lastIndexOf('/'); path = path + '/'; if (index != -1) dir = path.substring(index); else dir = '/' + path; } else { path = ""; name = resource; dir = ""; } harness.debug(" == resource='" + resource + "'; name='" + name + "'; dir='" + dir + "'; path='" + path + "'"); u = ucl.getResource(path + '/' + "no-" + name); harness.debug(u != null ? u.toString() : null); harness.check(u == null, path + '/' + "no-" + name); u = ucl.getResource("./" + resource); harness.debug(u != null ? u.toString() : null); harness.check(u != null, "./" + resource); u = ucl.getResource(path + "./" + name); harness.debug(u != null ? u.toString() : null); harness.check(u != null, path + "./" + name); u = ucl.getResource(".\\" + resource); harness.debug(u != null ? u.toString() : null); harness.check(u == null, "no .\\" + resource); if (!dir.equals("")) { u = ucl.getResource(path + ".." + dir + name); harness.debug(u != null ? u.toString() : null); harness.check(u != null, path + ".." + dir + name); } if (!path.equals("")) { u = ucl.getResource(path + "//" + name); harness.debug(u != null ? u.toString() : null); harness.check(u != null, path + "//" + name); } u = ucl.getResource("\\" + resource); harness.debug(u != null ? u.toString() : null); harness.check(u == null, "no \\" + resource); u = ucl.getResource(":" + resource); harness.debug(u != null ? u.toString() : null); harness.check(u == null, "no :" + resource); } } } mauve-20140821/gnu/testlet/java/net/URLClassLoader/getResourceRemote.java0000644000175000001440000000347210057633060025024 0ustar dokousers// Tags: JDK1.2 // Uses: getResourceBase // Copyright (C) 2002 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.net.URLClassLoader; import java.io.IOException; import java.net.URL; import java.net.URLClassLoader; import gnu.testlet.TestHarness; /** * Version of getResource test that uses a remote net connection. */ public class getResourceRemote extends getResourceBase { public void test (TestHarness h) { harness = h; try { URL[] urls = new URL[2]; urls[0] = new URL ("http://sources.redhat.com/mauve/testarea/"); urls[1] = new URL ("http://sources.redhat.com/mauve/testarea/remotejar.jar"); ucl = URLClassLoader.newInstance(urls); check("testresource", "/mauve/testarea", true); check("testdir/resourceindir", "/mauve/testarea", true); check("remote-jresource", "/mauve/testarea/remotejar.jar", false); check("path/in/remote-jar/resourcefile", "/mauve/testarea/remotejar.jar", false); } catch (IOException ioe) { harness.fail("Unexpected exception: " + ioe); harness.debug(ioe); } } } mauve-20140821/gnu/testlet/java/net/URLClassLoader/security.java0000644000175000001440000000617411232312777023237 0ustar dokousers// Copyright (C) 2006, 2007 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 package gnu.testlet.java.net.URLClassLoader; import java.io.IOException; import java.net.URL; import java.net.URLClassLoader; import java.net.URLConnection; import java.net.URLStreamHandler; import java.net.URLStreamHandlerFactory; import java.security.Permission; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.TestSecurityManager; public class security implements Testlet { public void test(TestHarness harness) { try { ClassLoader loader = getClass().getClassLoader(); URLStreamHandlerFactory ushf = new TestUSHFactory(); Permission[] createClassLoader = new Permission[] { new RuntimePermission("createClassLoader")}; TestSecurityManager sm = new TestSecurityManager(harness); try { sm.install(); // throwpoint: java.net.URLClassLoader-URLClassLoader(URL[]) harness.checkPoint("Constructor (1 arg)"); try { sm.prepareChecks(createClassLoader); new URLClassLoader(new URL[0]); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.net.URLClassLoader-URLClassLoader(URL[], ClassLoader) harness.checkPoint("Constructor (2 arg)"); try { sm.prepareChecks(createClassLoader); new URLClassLoader(new URL[0], loader); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } // throwpoint: java.net.URLClassLoader-URLClassLoader(URL[], ClassLoader, URLStreamHandlerFactory) harness.checkPoint("Constructor (3 arg)"); try { sm.prepareChecks(createClassLoader); new URLClassLoader(new URL[0], loader, ushf); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } finally { sm.uninstall(); } } catch (Exception ex) { harness.debug(ex); harness.check(false, "Unexpected exception"); } } private static class TestUSHFactory implements URLStreamHandlerFactory { public URLStreamHandler createURLStreamHandler(String protocol) { return new URLStreamHandler() { protected URLConnection openConnection(URL u) throws IOException { throw new RuntimeException("not implemented"); } }; } } } mauve-20140821/gnu/testlet/java/net/DatagramSocket/0000755000175000001440000000000012375316426020633 5ustar dokousersmauve-20140821/gnu/testlet/java/net/DatagramSocket/bind.java0000644000175000001440000000243210345555101022401 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 Red Hat, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.net.DatagramSocket; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.net.*; public class bind implements Testlet { public void test(TestHarness h) { try { DatagramSocket ds = new DatagramSocket(null); ds.bind(null); h.check(true, "bound to null address"); } catch (NullPointerException npe) { h.fail("NPE binding to null address"); } catch (Exception e) { h.fail(e.toString() + " binding to null address"); } } } mauve-20140821/gnu/testlet/java/net/DatagramSocket/DatagramSocketTestEchoTimeoutServer.java0000644000175000001440000000375210057633057030570 0ustar dokousers// Tags: not-a-test /* Copyright (C) 1999 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // ****************************************************** // // ****************************************************** package gnu.testlet.java.net.DatagramSocket; import gnu.testlet.TestHarness; import java.net.*; import java.io.*; // mod for "equals" and remove dependency on NodeTest class DatagramSocketTestEchoTimeoutServer extends Thread { protected static TestHarness harness; public void run() { try { DatagramSocket sock = new DatagramSocket( 8001 ); byte[] inbuf = new byte[10]; DatagramPacket request = new DatagramPacket(inbuf, inbuf.length); try { { sock.receive(request); // System.out.println("Received request "+ "Data: "+(new String(request.getData()))); DatagramPacket pack = new DatagramPacket( inbuf , 10, InetAddress.getLocalHost() , request.getPort()); // System.out.println("Sending packet back "+ "Data: "+(new String(pack.getData()))); sock.send(pack); } } catch (IOException e) { System.out.println("Error : run failed with IOException " ); e.printStackTrace(); } }catch ( Exception e ) { System.out.println("Error : run failed with exception " ); e.printStackTrace(); } } } mauve-20140821/gnu/testlet/java/net/DatagramSocket/DatagramSocketTest.java0000644000175000001440000002071010270133132025206 0ustar dokousers// Tags: JDK1.1 // Uses: DatagramSocketTestEchoServer DatagramSocketTestEchoTimeoutServer /* Copyright (C) 1999 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // ****************************************************** // // ****************************************************** package gnu.testlet.java.net.DatagramSocket; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.net.*; import java.io.*; // mod for "equals" and remove dependency on NodeTest public class DatagramSocketTest implements Testlet { protected static TestHarness harness; public void test_Basics() { harness.checkPoint("Basics"); try { DatagramSocket sock1 = new DatagramSocket( 7000 ); harness.check ( sock1.getLocalPort(), 7000, "Error : test_Basics failed - 1 " + "returned port value is wrong"); } catch( SocketException e ){ harness.fail("Error : test_Basics failed - 2 " + "Not able to create a socket "); } catch(IllegalArgumentException e ) { harness.fail("Error : test_Basics failed - 3a " + "Port 7000 causes IllegalArgumentException"); } catch(Exception e ) { harness.fail("Error : test_Basics failed - 3b "); harness.debug(e); } try { DatagramSocket sock3 = new DatagramSocket( 7001, InetAddress.getLocalHost()); harness.check (sock3.getLocalAddress().getHostAddress(), InetAddress.getLocalHost().getHostAddress (), "Error : test_Basics failed - 4 " + "ip address returned is not correct "); } catch ( SocketException e ){ harness.fail("Error : test_Basics failed - 5 " + "Not able to create a socket "); } catch ( UnknownHostException e ){ harness.fail("Error : test_Basics failed - 6 " + "Should not throw UnknownHostException "); } catch(IllegalArgumentException e ) { harness.fail("Error : test_Basics failed - 7 " + "Port 7001 causes IllegalArgumentException"); } catch(Exception e ) { harness.fail("Error : test_Basics failed - 8 "); harness.debug(e); } } public void test_echo() { DatagramSocketTestEchoServer srv = new DatagramSocketTestEchoServer(); srv.setDaemon(true); srv.setPriority(10); srv.start(); // System.out.println(" yield to server thread"); Thread.yield(); try { Thread.sleep(2000); } catch ( Exception e ){} // System.out.println(" server thread should be running"); byte buff[] = {(byte)'h' , (byte)'e', (byte)'l',(byte)'l',(byte)'o',(byte)'b',(byte)'u',(byte)'d',(byte)'d',(byte)'y'}; DatagramSocket client=null; DatagramPacket request=null; try { client = new DatagramSocket(); request = new DatagramPacket( buff, buff.length, InetAddress.getLocalHost(), 8000 ); // System.out.println("Packet Addressed to :"+InetAddress.getLocalHost().toString()+" "+String.valueOf(8000)); harness.check(true); } catch ( Exception e ){ harness.fail("Error : test_echo failed - 0 " + "Should not throw Exception "); } byte resp[] = new byte[10]; DatagramPacket reply = new DatagramPacket( resp , resp.length ); if (client==null) return; if (request==null) return; // System.out.println("test echo 1"); try { // System.out.println("test echo 2 send"); client.send(request); try { Thread.sleep(1000 ); } catch ( Exception e ){} // System.out.println("test echo 3 receive"); client.receive(reply); // System.out.println("test echo 4 received, close."); client.close(); //try { //System.out.println("test echo 4.5 close 2"); // client.close(); // harness.fail("Error : test_echo failed - 1 " + // "IOException to be thrown if a socket is closed twice "); //} //catch( Exception e ){} // System.out.println("test echo 5"); try { byte resp1[] = new byte[10]; DatagramPacket reply1 = new DatagramPacket( resp1 , resp1.length ); // System.out.println("test echo 6"); client.receive(reply1); harness.fail( "Error : test_echo failed - 2 " + "IOException should be thrown if try to read after the socket is closed"); } catch ( IOException e ) { harness.check(true); } } catch ( Exception e) { harness.fail("Error : test_echo failed - 3 " + "Exception occured while sending/receiving " ); } harness.check ( reply.getLength(), 10, "Error : test_echo failed - 4 " + "server did not return proper number of bytes " ); // System.out.println("test_echo: packet data: "+(new String(reply.getData())) ) ; harness.check ( (new String(reply.getData())), "hellobuddy", "Error : test_echo - 5 failed " + "The echo server did not send the expected data " ); } // 12/16/97, timeout is not a Java 1.0 feature public void test_echoWithTimeout() { DatagramSocketTestEchoTimeoutServer srv = new DatagramSocketTestEchoTimeoutServer(); srv.setDaemon(true); srv.setPriority(10); srv.start(); Thread.yield(); try { Thread.sleep(2000); } catch ( Exception e ){} byte buff[] = {(byte)'h' , (byte)'e', (byte)'l',(byte)'l',(byte)'o',(byte)'b',(byte)'u',(byte)'d',(byte)'d',(byte)'y'}; DatagramSocket client=null; DatagramPacket request=null; try { client = new DatagramSocket(); request = new DatagramPacket( buff, buff.length, InetAddress.getLocalHost(), 8001 ); harness.check(true); } catch ( Exception e ){ harness.fail("Error : test_echoWithTimeout failed - 0 " + "Should not throw Exception "); } if (client==null) return; if (request==null) return; try { client.setSoTimeout(500); harness.check(true); }catch ( SocketException e ){ harness.fail("Error : test_echoWithTimeout failed - 1 " + "Should not throw SocketException "); } try { harness.check ( client.getSoTimeout(), 500, "Error : test_echoWithTimeout failed - 2 " + "did not return proper timeout value "); }catch ( SocketException e ){ harness.fail("Error : test_echoWithTimeout failed - 3 " + "Should not throw SocketException "); } byte resp[] = new byte[10]; DatagramPacket reply = new DatagramPacket( resp , resp.length ); try { client.send(request); client.receive(reply); // don't send data & test that // receive times-out try { client.setSoTimeout(1); client.receive(reply); harness.fail("Error : test_echoWithTimeout failed - 2 " + "Should throw interrupted exception after the specified duration"); } catch (InterruptedIOException e ) { harness.check(true); } catch (IOException ioe) { harness.debug(ioe); harness.check(false); } client.close(); try { byte resp1[] = new byte[10]; DatagramPacket reply1 = new DatagramPacket( resp1 , resp1.length ); client.receive(reply1); harness.fail( "Error : test_echoWithTimeout failed - 4 " + "IOException should be thrown if try to read after the socket is closed"); } catch ( IOException e ) { harness.check(true); } } catch ( Exception e) { harness.fail("Error : test_echoWithTimeout failed - 5 " + "Exception occured while sending/receiving " ); harness.debug(e); } harness.check ( reply.getLength(), 10, "Error : test_echoWithTimeout failed - 6 " + "server did not return proper number of bytes " ); // System.out.println("test_echoWithTimeout: packet data: "+(new String(reply.getData())) ) ; harness.check ( (new String(reply.getData())), "hellobuddy", "Error : test_echoWithTimeout - 7 failed " + "The echo server didnot send the expected data " ); } public void testall() { // System.out.println("test_basics"); test_Basics(); // System.out.println("test_echo"); test_echo(); test_echoWithTimeout(); // System.out.println("testall Done 1"); } public void test (TestHarness the_harness) { harness = the_harness; testall (); } } mauve-20140821/gnu/testlet/java/net/DatagramSocket/DatagramSocketTestEchoServer.java0000644000175000001440000000414410057633057027215 0ustar dokousers// Tags: not-a-test /* Copyright (C) 1999 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // ****************************************************** // // ****************************************************** package gnu.testlet.java.net.DatagramSocket; import gnu.testlet.TestHarness; import java.net.*; import java.io.*; // mod for "equals" and remove dependency on NodeTest class DatagramSocketTestEchoServer extends Thread { protected static TestHarness harness; public void run() { try { DatagramSocket sock = new DatagramSocket( 8000 ); byte[] inbuf = new byte[10]; DatagramPacket request = new DatagramPacket(inbuf, inbuf.length); try { { // System.out.println(" Server: Wait for Receive request"); sock.receive(request); // System.out.println(" Server: Request received"); DatagramPacket pack = new DatagramPacket( inbuf , 10, InetAddress.getLocalHost() , request.getPort()); // System.out.println(" Server: Sending packet back "+ "Data: "+(new String(pack.getData()))); sock.send(pack); // System.out.println(" Server: Packet sent back"); } } catch (IOException e) { System.out.println("Server: run failed with IOException " ); e.printStackTrace(); } }catch ( Exception e ) { System.out.println("Server: run failed with exception " ); e.printStackTrace(); } } } mauve-20140821/gnu/testlet/java/net/DatagramSocket/DatagramSocketTest2.java0000644000175000001440000002024110042716260025275 0ustar dokousers// Tags: JDK1.0 /* Copyright (C) 1999 Hewlett-Packard Company This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /********************************************** * File name: DatagramSocketTest2.java **********************************************/ package gnu.testlet.java.net.DatagramSocket; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.*; import java.net.*; /************************************************************** * * What does the test do? * ---------------------- * * This test is for DatagramSocket class. * It tests for Exceptions, by passing invalid arguments to * the constructors and methods. * * How do I run the test? * ---------------------- * * Usage: java DatagramSocketTest2 * * What about the test result? * --------------------------- * * If an Exception is not thrown, when it should have been, * and vice-versa, then the error is displayed on stderr and * the test continues. * * TEST PASS == No output on stderr * **************************************************************/ public class DatagramSocketTest2 implements Testlet { final static int INVALID_PORT = -1; final static int ECHO_PORT = 7; final static int GOOD_PORT = 37777; final static int MAX_PORT = 65535; protected static TestHarness harness; public InetAddress ia; public byte [] buf; public DatagramSocketTest2() throws Exception { buf = new byte[10]; ia = InetAddress.getLocalHost(); } private void errormsg(String m, int num, boolean flag, String e) { if (e != null) { if (flag) harness.fail(m + ": " + "test " + num + " - Should throw " + e); else harness.fail(m + ": " + "test " + num + " - Should NOT throw " + e); } else harness.fail(m + ": " + "test " + num + " - Should NOT throw any Exception"); } // check for invalid port number public void invalid_port() { harness.checkPoint("invalid_port"); try { DatagramSocket sock = new DatagramSocket(INVALID_PORT); errormsg("invalid_port", 2, true, "IllegalArgumentException"); } catch (IllegalArgumentException e) { harness.check(true); } catch (IOException e) { errormsg("invalid_port", 2, false, "IOException"); } try { DatagramSocket sock = new DatagramSocket(MAX_PORT + 1); errormsg("invalid_port", 3, true, "IllegalArgumentException"); } catch (IllegalArgumentException e) { harness.check(true); } catch (IOException e) { errormsg("invalid_port", 3, false, "IOException"); } } // check for invalid IP address public void invalid_addr() { harness.checkPoint("invalid_addr"); DatagramSocket sock = null; try { sock = new DatagramSocket(GOOD_PORT, null); harness.check(true); } catch (NullPointerException e) { errormsg("invalid_addr", 1, false, "NullPointerException"); } catch (IOException e) { errormsg("invalid_addr", 1, false, "IOException"); } if (sock != null) sock.close(); } // check for invalid data buffer in receive packet public void invalid_receive_data() { harness.checkPoint("invalid_receive_data"); DatagramSocket sock = null; try { sock = new DatagramSocket(GOOD_PORT, ia); harness.check(true); } catch (Exception e) { errormsg("invalid_receive_data", 1, false, "Exception"); e.printStackTrace(); return; } try { // null packet sock.receive(null); errormsg("invalid_receive_data", 2, true, "NullPointerException"); } catch (NullPointerException e) { harness.check(true); } catch (IOException e) { errormsg("invalid_receive_data", 2, false, "IOException"); } try { DatagramPacket pkt = new DatagramPacket(buf, buf.length); // null data buffer pkt.setData(null); sock.receive(pkt); errormsg("invalid_send_data", 3, true, "NullPointerException"); } catch (NullPointerException e) { harness.check(true); } catch (IOException e) { errormsg("invalid_send_data", 3, false, "IOException"); } try { // invalid data buffer length DatagramPacket pkt = new DatagramPacket(buf, -1); errormsg("invalid_receive_data", 4, true, "IOException"); } catch (IllegalArgumentException e) { harness.check(true); } catch (Exception e) { harness.check(false, "Expected IllegalArgumentException"); } sock.close(); } // check for invalid IP address in send packet public void invalid_send_addr() { harness.checkPoint("invalid_send_addr"); DatagramSocket sock = null; try { sock = new DatagramSocket(GOOD_PORT, ia); harness.check(true); } catch (Exception e) { errormsg("invalid_send_addr", 1, false, "Exception"); return; } try { // null IP address DatagramPacket pkt = new DatagramPacket(buf, buf.length, null, ECHO_PORT); sock.send(pkt); errormsg("invalid_send_addr", 2, true, "NullPointerException"); } catch (NullPointerException e) { harness.check(true); } catch (IOException e) { errormsg("invalid_send_addr", 2, false, "IOException"); } sock.close(); } // check for invalid port in send packet public void invalid_send_port() { harness.checkPoint("invalid_send_port"); DatagramSocket sock = null; try { sock = new DatagramSocket(GOOD_PORT, ia); harness.check(true); } catch (Exception e) { errormsg("invalid_send_port", 1, false, "Exception"); return; } try { // invalid port 0 DatagramPacket pkt = new DatagramPacket(buf, buf.length, ia, 0); sock.send(pkt); errormsg("invalid_send_port", 2, true, "IOException"); } catch (IOException e) { harness.check(true); } sock.close(); } // check for invalid data buffer in send packet public void invalid_send_data() { harness.checkPoint("invalid_send_data"); DatagramSocket sock = null; try { sock = new DatagramSocket(GOOD_PORT, ia); harness.check(true); } catch (Exception e) { errormsg("invalid_send_data", 1, false, "Exception"); return; } try { // null packet sock.send(null); errormsg("invalid_send_data", 2, true, "NullPointerException"); } catch (NullPointerException e) { harness.check(true); } catch (IOException e) { errormsg("invalid_send_data", 2, false, "IOException"); } try { DatagramPacket pkt = new DatagramPacket(buf, buf.length, ia, ECHO_PORT); // null data buffer pkt.setData(null); sock.send(pkt); errormsg("invalid_send_data", 3, true, "NullPointerException"); } catch (NullPointerException e) { harness.check(true); } catch (IOException e) { errormsg("invalid_send_data", 3, false, "IOException"); } try { // invalid data buffer length DatagramPacket pkt = new DatagramPacket(buf, -1, ia, ECHO_PORT); errormsg("invalid_send_data", 4, true, "IllegalArgumentException"); } catch (IllegalArgumentException e) { harness.check(true); } try { // zero data buffer length DatagramPacket pkt = new DatagramPacket(buf, 0, ia, ECHO_PORT); sock.send(pkt); harness.check(true); } catch (IOException e) { errormsg("invalid_send_data", 5, false, "IOException"); } sock.close(); } public void test (TestHarness the_harness) { harness = the_harness; testall (); } public void testall() { DatagramSocketTest2 m = null; try { m = new DatagramSocketTest2(); } catch (Exception e) { e.printStackTrace(); System.exit(1); } m.invalid_port(); m.invalid_addr(); m.invalid_receive_data(); m.invalid_send_addr(); m.invalid_send_port(); m.invalid_send_data(); } } mauve-20140821/gnu/testlet/java/net/DatagramSocket/security.java0000644000175000001440000001744710562130333023345 0ustar dokousers// Copyright (C) 2006, 2007 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 package gnu.testlet.java.net.DatagramSocket; import java.net.BindException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.SocketAddress; import java.net.SocketPermission; import java.security.Permission; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.TestSecurityManager; public class security implements Testlet { public void test(TestHarness harness) { try { harness.checkPoint("setup"); InetAddress inetaddr = InetAddress.getByName(null); String hostaddr = inetaddr.getHostAddress(); DatagramSocket socket1 = new DatagramSocket(0, inetaddr); DatagramSocket socket2 = new DatagramSocket(0, inetaddr); DatagramSocket socket3 = new DatagramSocket(0, inetaddr); DatagramSocket socket4 = new DatagramSocket(0, inetaddr); SocketAddress sock1addr = socket1.getLocalSocketAddress(); InetAddress sock2addr = socket2.getLocalAddress(); byte[] sendbuf = new byte[16]; DatagramPacket sendpack = new DatagramPacket( sendbuf, sendbuf.length, socket3.getLocalSocketAddress()); byte[] recvbuf = new byte[sendbuf.length]; DatagramPacket recvpack = new DatagramPacket(recvbuf, recvbuf.length); Permission[] checkResolve = new Permission[] { new SocketPermission(hostaddr, "resolve")}; Permission[] checkListen80 = new Permission[] { new SocketPermission("localhost:80", "listen")}; Permission[] checkListen1024plus = new Permission[] { new SocketPermission("localhost:1024-", "listen")}; Permission[] checkConnect1 = new Permission[] { new SocketPermission( hostaddr + ":" + socket1.getLocalPort(), "connect")}; Permission[] checkAccept1 = new Permission[] { new SocketPermission( hostaddr + ":" + socket1.getLocalPort(), "accept")}; Permission[] checkConnect2 = new Permission[] { new SocketPermission( hostaddr + ":" + socket2.getLocalPort(), "connect")}; Permission[] checkAccept2 = new Permission[] { new SocketPermission( hostaddr + ":" + socket2.getLocalPort(), "accept")}; Permission[] checkConnect3 = new Permission[] { new SocketPermission( hostaddr + ":" + socket3.getLocalPort(), "connect")}; Permission[] checkAccept4 = new Permission[] { new SocketPermission( hostaddr + ":" + socket4.getLocalPort(), "accept")}; Permission[] checkSetFactory = new Permission[] { new RuntimePermission("setFactory")}; TestSecurityManager sm = new TestSecurityManager(harness); try { sm.install(); // throwpoint: java.net.DatagramSocket-DatagramSocket() harness.checkPoint("DatagramSocket()"); try { sm.prepareChecks(checkListen1024plus); new DatagramSocket().close(); sm.checkAllChecked(); } catch (SecurityException e) { harness.debug(e); harness.check(false, "unexpected check"); } // throwpoint: java.net.DatagramSocket-DatagramSocket(SocketAddress) harness.checkPoint("DatagramSocket(SocketAddress)"); try { sm.prepareChecks(checkListen80); try { new DatagramSocket(new InetSocketAddress(inetaddr, 80)).close(); } catch (BindException e) { } sm.checkAllChecked(); } catch (SecurityException e) { harness.debug(e); harness.check(false, "unexpected check"); } try { sm.prepareChecks(checkListen1024plus); new DatagramSocket(new InetSocketAddress(inetaddr, 0)).close(); sm.checkAllChecked(); } catch (SecurityException e) { harness.debug(e); harness.check(false, "unexpected check"); } // throwpoint: java.net.DatagramSocket-DatagramSocket(int) harness.checkPoint("DatagramSocket(int)"); try { sm.prepareChecks(checkListen80); try { new DatagramSocket(80).close(); } catch (BindException e) { } sm.checkAllChecked(); } catch (SecurityException e) { harness.debug(e); harness.check(false, "unexpected check"); } try { sm.prepareChecks(checkListen1024plus); new DatagramSocket(0).close(); sm.checkAllChecked(); } catch (SecurityException e) { harness.debug(e); harness.check(false, "unexpected check"); } // throwpoint: java.net.DatagramSocket-DatagramSocket(int, InetAddress) harness.checkPoint("DatagramSocket(int, InetAddress)"); try { sm.prepareChecks(checkListen80); try { new DatagramSocket(80, inetaddr).close(); } catch (BindException e) { } sm.checkAllChecked(); } catch (SecurityException e) { harness.debug(e); harness.check(false, "unexpected check"); } try { sm.prepareChecks(checkListen1024plus); new DatagramSocket(0, inetaddr).close(); sm.checkAllChecked(); } catch (SecurityException e) { harness.debug(e); harness.check(false, "unexpected check"); } // throwpoint: java.net.DatagramSocket-connect harness.checkPoint("connect"); try { sm.prepareChecks(checkConnect1, checkAccept1); socket2.connect(sock1addr); sm.checkAllChecked(); } catch (SecurityException e) { harness.debug(e); harness.check(false, "unexpected check"); } try { sm.prepareChecks(checkConnect2, checkAccept2); socket1.connect(sock2addr, socket2.getLocalPort()); sm.checkAllChecked(); } catch (SecurityException e) { harness.debug(e); harness.check(false, "unexpected check"); } // throwpoint: java.net.DatagramSocket-send harness.checkPoint("send"); try { sm.prepareChecks(checkConnect3); socket4.send(sendpack); sm.checkAllChecked(); } catch (SecurityException e) { harness.debug(e); harness.check(false, "unexpected check"); } // throwpoint: java.net.DatagramSocket-receive harness.checkPoint("receive"); try { sm.prepareChecks(checkAccept4); socket3.receive(recvpack); sm.checkAllChecked(); } catch (SecurityException e) { harness.debug(e); harness.check(false, "unexpected check"); } // throwpoint: java.net.DatagramSocket-getLocalAddress harness.checkPoint("getLocalAddress"); try { sm.prepareChecks(checkResolve); socket1.getLocalAddress(); sm.checkAllChecked(); } catch (SecurityException e) { harness.debug(e); harness.check(false, "unexpected check"); } // throwpoint: java.net.DatagramSocket-getLocalSocketAddress harness.checkPoint("getLocalSocketAddress"); try { sm.prepareChecks(checkResolve); socket1.getLocalSocketAddress(); sm.checkAllChecked(); } catch (SecurityException e) { harness.debug(e); harness.check(false, "unexpected check"); } // throwpoint: java.net.Socket-setDatagramSocketImplFactory harness.checkPoint("setDatagramSocketImplFactory"); try { sm.prepareHaltingChecks(checkSetFactory); DatagramSocket.setDatagramSocketImplFactory(null); harness.check(false); } catch (TestSecurityManager.SuccessException ex) { harness.check(true); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } finally { sm.uninstall(); } } catch (Exception e) { harness.debug(e); harness.check(false, "Unexpected exception"); } } } mauve-20140821/gnu/testlet/java/security/0000755000175000001440000000000012375316426017023 5ustar dokousersmauve-20140821/gnu/testlet/java/security/jce/0000755000175000001440000000000012375316426017564 5ustar dokousersmauve-20140821/gnu/testlet/java/security/BasicPermission/0000755000175000001440000000000012375316426022115 5ustar dokousersmauve-20140821/gnu/testlet/java/security/BasicPermission/newPermission.java0000644000175000001440000000521110406506766025622 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2006 Free Software Foundation // Contributed by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.security.BasicPermission; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.security.*; public class newPermission extends BasicPermission implements Testlet { public void test (TestHarness harness) { Permission p; p = new newPermission("a"); harness.check("a", p.getName()); p = new newPermission("a", "b"); harness.check("a", p.getName()); harness.check("b", p.getActions()); boolean exception_thrown; try { p = new newPermission(""); exception_thrown = false; } catch (IllegalArgumentException iae) { exception_thrown = true; } harness.check(exception_thrown); try { p = new newPermission(null); exception_thrown = false; } catch (NullPointerException npe) { exception_thrown = true; } harness.check(exception_thrown); try { p = new newPermission("", ""); exception_thrown = false; } catch (IllegalArgumentException iae) { exception_thrown = true; } harness.check(exception_thrown); try { p = new newPermission(null, ""); exception_thrown = false; } catch (NullPointerException npe) { exception_thrown = true; } harness.check(exception_thrown); try { p = new newPermission(null, null); exception_thrown = false; } catch (NullPointerException npe) { exception_thrown = true; } harness.check(exception_thrown); } private String actions; public newPermission() { super("newPermission"); } public newPermission(String n) { super(n); } public newPermission(String n, String a) { super(n, a); this.actions = a; } public String getActions() { // BasicPermission.getActions() should return the empty string. return super.getActions() + actions; } } mauve-20140821/gnu/testlet/java/security/Policy/0000755000175000001440000000000012375316426020262 5ustar dokousersmauve-20140821/gnu/testlet/java/security/Policy/Security.java0000644000175000001440000000561011530740012022716 0ustar dokousers// Copyright (C) 2011 Red Hat, Inc. // Written by Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.5 package gnu.testlet.java.security.Policy; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.security.Permission; import java.security.Permissions; import java.security.PermissionCollection; import java.security.Policy; import java.security.ProtectionDomain; import java.security.SecurityPermission; /** * Tests whether the toString output of ProtectionDomain * includes the Policy's protection domains when the * SecurityManager denies the getPolicy permission. * See PR42390. */ public class Security implements Testlet { public void test(TestHarness harness) { Policy.setPolicy(new Policy() { public PermissionCollection getPermissions(ProtectionDomain domain) { Permissions perms = new Permissions(); perms.add(new TestPermission()); return perms; } }); ProtectionDomain pd = Security.class.getProtectionDomain(); System.setSecurityManager(new SecurityManager() { public void checkPermission(Permission perm) { if ((perm instanceof SecurityPermission) && perm.getName().equals("getPolicy")) { throw new SecurityException("Policy retrieval disallowed."); } } }); String testPermString = new TestPermission().toString(); harness.check(!pd.toString().contains(testPermString), "Policy permissions should not be visible"); } private static class TestPermission extends Permission { public TestPermission() { super("test"); } public String getActions() { return "test"; } public int hashCode() { return "test".hashCode(); } public boolean equals(Object other) { if (other == null) return false; if (other == this) return true; if (other.getClass().equals(getClass())) return true; return false; } public boolean implies(Permission permission) { if (permission instanceof TestPermission) return true; return false; } } } mauve-20140821/gnu/testlet/java/security/Policy/setPolicy.java0000644000175000001440000000356311475523554023111 0ustar dokousers// Copyright (C) 2010 Red Hat, Inc. // Written by Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.4 package gnu.testlet.java.security.Policy; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.security.AllPermission; import java.security.Policy; import java.security.Permission; import java.security.ProtectionDomain; /** * Tests whether the default SecurityManager implementation * actually uses the policy set by setPolicy. */ public class setPolicy implements Testlet { public void test(TestHarness harness) { TestSecurityManager sm = new TestSecurityManager(); sm.install(); sm.checkRead("/tmp"); harness.check(sm.isCalled(), "Policy was checked"); } private class TestSecurityManager extends SecurityManager { private boolean called = false; public void install() { Policy.setPolicy(new Policy() { public boolean implies(ProtectionDomain domain, Permission permission) { called = true; return true; } }); System.setSecurityManager(this); } public boolean isCalled() { return called; } } } mauve-20140821/gnu/testlet/java/security/KeyFactory/0000755000175000001440000000000012375316426021103 5ustar dokousersmauve-20140821/gnu/testlet/java/security/KeyFactory/MauveAlgorithm.java0000644000175000001440000000326210045167030024660 0ustar dokousers// $Id: MauveAlgorithm.java,v 1.2 2004/05/02 12:48:24 aph Exp $ // // Copyright (C) 2003, Free Software Foundation, Inc. // // This file is part of Mauve. // // Mauve 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 version 2, or (at your option) // any later version. // // Mauve 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // // Tags: not-a-test package gnu.testlet.java.security.KeyFactory; import java.security.KeyFactorySpi; import java.security.PublicKey; import java.security.PrivateKey; import java.security.Key; import java.security.InvalidKeyException; import java.security.spec.KeySpec; import java.security.spec.InvalidKeySpecException; public class MauveAlgorithm extends KeyFactorySpi { protected PublicKey engineGeneratePublic (KeySpec keySpec) throws InvalidKeySpecException { return null; } protected PrivateKey engineGeneratePrivate (KeySpec keySpec) throws InvalidKeySpecException { return null; } protected KeySpec engineGetKeySpec (Key key, Class keySpec) throws InvalidKeySpecException { return null; } protected Key engineTranslateKey (Key key) throws InvalidKeyException { return null; } } mauve-20140821/gnu/testlet/java/security/KeyFactory/getInstance14.java0000644000175000001440000000543707644316123024365 0ustar dokousers// $Id: getInstance14.java,v 1.2 2003/04/07 15:42:11 crawley Exp $ // // Copyright (C) 2003, Free Software Foundation, Inc. // // This file is part of Mauve. // // Mauve 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 version 2, or (at your option) // any later version. // // Mauve 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // // Tags: JDK1.4 // Uses: MauveAlgorithm package gnu.testlet.java.security.KeyFactory; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.security.KeyFactory; import java.security.NoSuchAlgorithmException; import java.security.Provider; import java.security.Security; public class getInstance14 extends Provider implements Testlet { public getInstance14() { super("KeyFactory", 1.0, ""); put("KeyFactory.foo", "gnu.testlet.java.security.KeyFactory.MauveAlgorithm"); put("Alg.Alias.KeyFactory.bar", "foo"); } public void test (TestHarness harness) { harness.checkPoint ("KeyFactory"); KeyFactory spi; Provider provider = this; Security.addProvider(provider); String signature; spi = null; signature = "getInstance(\"foo\", provider)"; try { spi = KeyFactory.getInstance("foo", provider); harness.check(spi != null, signature); } catch (NoSuchAlgorithmException x) { harness.fail(signature); harness.debug(x); } spi = null; signature = "getInstance(\"FOO\", provider)"; try { spi = KeyFactory.getInstance("FOO", provider); harness.check(spi != null, signature); } catch (NoSuchAlgorithmException x) { harness.fail(signature); harness.debug(x); } spi = null; signature = "getInstance(\"bar\", provider)"; try { spi = KeyFactory.getInstance("bar", provider); harness.check(spi != null, signature); } catch (NoSuchAlgorithmException x) { harness.fail(signature); harness.debug(x); } spi = null; signature = "getInstance(\"BAR\", provider)"; try { spi = KeyFactory.getInstance("BAR", provider); harness.check(spi != null, signature); } catch (NoSuchAlgorithmException x) { harness.fail(signature); harness.debug(x); } } } mauve-20140821/gnu/testlet/java/security/KeyPairGenerator/0000755000175000001440000000000012375316426022236 5ustar dokousersmauve-20140821/gnu/testlet/java/security/KeyPairGenerator/MauveAlgorithm.java0000644000175000001440000000231610045167030026012 0ustar dokousers// $Id: MauveAlgorithm.java,v 1.2 2004/05/02 12:48:24 aph Exp $ // // Copyright (C) 2003, Free Software Foundation, Inc. // // This file is part of Mauve. // // Mauve 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 version 2, or (at your option) // any later version. // // Mauve 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // // Tags: not-a-test package gnu.testlet.java.security.KeyPairGenerator; import java.security.KeyPairGeneratorSpi; import java.security.SecureRandom; import java.security.KeyPair; public class MauveAlgorithm extends KeyPairGeneratorSpi { public void initialize (int keysize, SecureRandom random) { } public KeyPair generateKeyPair () { return null; } } mauve-20140821/gnu/testlet/java/security/KeyPairGenerator/getInstance14.java0000644000175000001440000000554707644316123025522 0ustar dokousers// $Id: getInstance14.java,v 1.2 2003/04/07 15:42:11 crawley Exp $ // // Copyright (C) 2003, Free Software Foundation, Inc. // // This file is part of Mauve. // // Mauve 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 version 2, or (at your option) // any later version. // // Mauve 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // // Tags: JDK1.4 // Uses: MauveAlgorithm package gnu.testlet.java.security.KeyPairGenerator; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.security.KeyPairGenerator; import java.security.Provider; import java.security.NoSuchAlgorithmException; import java.security.Security; public class getInstance14 extends Provider implements Testlet { public getInstance14() { super("KeyPairGenerator", 1.0, ""); put("KeyPairGenerator.foo", "gnu.testlet.java.security.KeyPairGenerator.MauveAlgorithm"); put("Alg.Alias.KeyPairGenerator.bar", "foo"); } public void test (TestHarness harness) { harness.checkPoint ("KeyPairGenerator"); KeyPairGenerator spi; Provider provider = this; Security.addProvider(provider); String signature; spi = null; signature = "getInstance(\"foo\", provider)"; try { spi = KeyPairGenerator.getInstance("foo", provider); harness.check(spi != null, signature); } catch (NoSuchAlgorithmException x) { harness.fail(signature); harness.debug(x); } spi = null; signature = "getInstance(\"FOO\", provider)"; try { spi = KeyPairGenerator.getInstance("FOO", provider); harness.check(spi != null, signature); } catch (NoSuchAlgorithmException x) { harness.fail(signature); harness.debug(x); } spi = null; signature = "getInstance(\"bar\", provider)"; try { spi = KeyPairGenerator.getInstance("bar", provider); harness.check(spi != null, signature); } catch (NoSuchAlgorithmException x) { harness.fail(signature); harness.debug(x); } spi = null; signature = "getInstance(\"BAR\", provider)"; try { spi = KeyPairGenerator.getInstance("BAR", provider); harness.check(spi != null, signature); } catch (NoSuchAlgorithmException x) { harness.fail(signature); harness.debug(x); } } } mauve-20140821/gnu/testlet/java/security/ProtectionDomain/0000755000175000001440000000000012375316426022301 5ustar dokousersmauve-20140821/gnu/testlet/java/security/ProtectionDomain/Security.java0000644000175000001440000000447711473257530024765 0ustar dokousers// Copyright (C) 2006, 2007, 2010 Red Hat, Inc. // Original written by Gary Benson // Adapted for ProtectionDomain by Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.4 package gnu.testlet.java.security.ProtectionDomain; import java.net.URL; import java.security.CodeSource; import java.security.Permission; import java.security.ProtectionDomain; import java.security.SecurityPermission; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.TestSecurityManager; public class Security implements Testlet { public void test(TestHarness harness) { try { Permission[] noPerms = new Permission[] {}; Permission[] gpPerms = new Permission[] { new SecurityPermission("getPolicy") } ; String debug = System.getProperty("java.security.debug"); ProtectionDomain pd = new ProtectionDomain(null, null, null, null); TestSecurityManager sm = new TestSecurityManager(harness); try { sm.install(); harness.checkPoint("toString"); try { if (debug != null && (debug.contains("domain") || debug.contains("all"))) sm.prepareChecks(noPerms); else sm.prepareChecks(gpPerms); harness.debug(pd.toString()); sm.checkAllChecked(); } catch (SecurityException ex) { harness.debug(ex); harness.check(false, "unexpected check"); } } finally { sm.uninstall(); } } catch (Exception ex) { harness.debug(ex); harness.check(false, "Unexpected exception"); } } } mauve-20140821/gnu/testlet/java/security/ProtectionDomain/Implies.java0000644000175000001440000000444711505242233024543 0ustar dokousers// Copyright (C) 2010 Red Hat, Inc. // Written by Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.4 package gnu.testlet.java.security.ProtectionDomain; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.security.AllPermission; import java.security.CodeSource; import java.security.Permission; import java.security.Permissions; import java.security.PermissionCollection; import java.security.Policy; import java.security.ProtectionDomain; import java.security.SecurityPermission; /** * Tests whether Policy.implies(Permission) is called * when the domain has AllPermission as one of its permissions. */ public class Implies implements Testlet { private boolean called = false; public void test(TestHarness harness) { Policy.setPolicy(new Policy() { public boolean implies(ProtectionDomain domain, Permission perm) { if (perm.getName().equals("TestPermission")) called = true; return true; } public void refresh() {} public PermissionCollection getPermissions(CodeSource codesource) { return null; } }); System.setSecurityManager(new SecurityManager()); PermissionCollection coll = new Permissions(); coll.add(new AllPermission()); ProtectionDomain pd = new ProtectionDomain(null, coll, Implies.class.getClassLoader(), null); pd.implies(new SecurityPermission("TestPermission")); harness.check(!called, "Policy was not checked due to AllPermission"); } } mauve-20140821/gnu/testlet/java/security/DigestInputStream/0000755000175000001440000000000012375316426022436 5ustar dokousersmauve-20140821/gnu/testlet/java/security/DigestInputStream/readMD5.java0000644000175000001440000000363110057633061024515 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2002 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // Based on a test by Archie Cobbs (archie@dellroad.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.security.DigestInputStream; import java.io.*; import java.security.*; import gnu.testlet.*; public class readMD5 implements Testlet { // echo -n "foobar" | md5sum private static String md5 = "3858f62230ac3c915f300c664312c63f"; public void test (TestHarness harness) { try { byte[] foobar = "foobar".getBytes("UTF-8"); ByteArrayInputStream bais = new ByteArrayInputStream(foobar); MessageDigest md5Digest = MessageDigest.getInstance("MD5"); DigestInputStream dis = new DigestInputStream(bais, md5Digest); byte[] buf = new byte[100]; while (dis.read(buf, 0, buf.length) != -1); byte[] hash = dis.getMessageDigest().digest(); StringBuffer result = new StringBuffer(); for (int i = 0; i < hash.length; i++) { result.append(Integer.toHexString((hash[i] >> 4) & 0xf)); result.append(Integer.toHexString(hash[i] & 0xf)); } harness.check(result.toString(), md5); } catch (Throwable t) { harness.debug(t); harness.check(false, t.toString()); } } } mauve-20140821/gnu/testlet/java/security/cert/0000755000175000001440000000000012375316426017760 5ustar dokousersmauve-20140821/gnu/testlet/java/security/cert/pkix/0000755000175000001440000000000012375316426020733 5ustar dokousersmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/0000755000175000001440000000000012375316426022065 5ustar dokousersmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidDSASignaturesTest4.java0000644000175000001440000000112211030374656027300 0ustar dokousers/* ValidDSASignaturesTest4.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidDSASignaturesTest4EE.crt data/certs/DSACACert.crt data/crls/DSACACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class ValidDSASignaturesTest4 extends BaseValidTest { public ValidDSASignaturesTest4() { super(new String[] { "data/certs/ValidDSASignaturesTest4EE.crt", "data/certs/DSACACert.crt" }, new String[] { "data/crls/DSACACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/DifferentPoliciesTest3_3.java0000644000175000001440000000222111030374656027464 0ustar dokousers/* DifferentPoliciesTest3_3.java Copyright (C) 2004 Free Software Foundation, Inc. Distributed under the GPL; see the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/DifferentPoliciesTest3EE.crt data/certs/PoliciesP2subCACert.crt data/certs/GoodCACert.crt data/crls/PoliciesP2subCACRL.crl data/crls/GoodCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; import java.security.cert.PKIXParameters; import java.util.HashSet; public class DifferentPoliciesTest3_3 extends BaseInvalidTest { public DifferentPoliciesTest3_3() { super (new String[] { "data/certs/DifferentPoliciesTest3EE.crt", "data/certs/PoliciesP2subCACert.crt", "data/certs/GoodCACert.crt" }, new String[] { "data/crls/PoliciesP2subCACRL.crl", "data/crls/GoodCACRL.crl" }); } protected void setupAdditionalParams (PKIXParameters params) { params.setExplicitPolicyRequired (true); HashSet policies = new HashSet(); policies.add (NIST_TEST_POLICY_1); policies.add (NIST_TEST_POLICY_2); params.setInitialPolicies (policies); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/DifferentPoliciesTest4.java0000644000175000001440000000201411030374656027243 0ustar dokousers/* DifferentPoliciesTest4.java Copyright (C) 2004 Free Software Foundation, Inc. Distributed under the GPL; see the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/DifferentPoliciesTest4EE.crt data/certs/GoodsubCACert.crt data/certs/GoodCACert.crt data/crls/GoodsubCACRL.crl data/crls/GoodCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; import java.security.cert.PKIXParameters; import java.util.Collections; public class DifferentPoliciesTest4 extends BaseInvalidTest { public DifferentPoliciesTest4() { super (new String[] { "data/certs/DifferentPoliciesTest4EE.crt", "data/certs/GoodsubCACert.crt", "data/certs/GoodCACert.crt" }, new String[] { "data/crls/GoodsubCACRL.crl", "data/crls/GoodCACRL.crl" }); } protected void setupAdditionalParams (PKIXParameters params) { params.setInitialPolicies (Collections.EMPTY_SET); params.setAnyPolicyInhibited (true); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/BaseValidTest.java0000644000175000001440000001102311030374656025413 0ustar dokousers/* BaseValidTest.java -- superclass of "valid" tests. Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL; see the file `COPYING' */ // Tags: not-a-test // Uses: PKITS // Files: data/certs/TrustAnchorRootCertificate.crt data/crls/TrustAnchorRootCRL.crl package gnu.testlet.java.security.cert.pkix.pkits; import java.security.cert.*; import java.util.*; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public abstract class BaseValidTest extends PKITS implements Testlet { // Fields. // ------------------------------------------------------------------------- public static final String PROVIDER = System.getProperty("pkits.provider", "GNU"); public static final String TRUST_ANCHOR_CERT = "data/certs/TrustAnchorRootCertificate.crt"; public static final String TRUST_ANCHOR_CRL = "data/crls/TrustAnchorRootCRL.crl"; protected String[] certPath; protected String[] crls; protected String[] certs; // Constructors. // ------------------------------------------------------------------------- protected BaseValidTest(String[] certPath, String[] crls, String[] certs) { if (certPath == null || crls == null || certs == null) throw new NullPointerException(); this.certPath = certPath; this.crls = crls; this.certs = certs; } protected BaseValidTest(String[] certPath, String[] crls) { this(certPath, crls, new String[0]); } // Instance method. // ------------------------------------------------------------------------- public void test(TestHarness harness) { String testName = getClass().getName(); if (testName.lastIndexOf ('.') > 0) testName = testName.substring (testName.lastIndexOf ('.') + 1); harness.checkPoint(testName); try { CertificateFactory factory = CertificateFactory.getInstance("X.509", PROVIDER); TrustAnchor anchor = new TrustAnchor((X509Certificate) factory.generateCertificate(getClass().getResourceAsStream(TRUST_ANCHOR_CERT)), null); List pathList = new ArrayList(certPath.length); for (int i = 0; i < certPath.length; i++) { pathList.add(factory.generateCertificate(getClass().getResourceAsStream(certPath[i]))); } List crlsAndCerts = new ArrayList(crls.length + certs.length + 1); crlsAndCerts.add(factory.generateCRL(getClass().getResourceAsStream(TRUST_ANCHOR_CRL))); for (int i = 0; i < crls.length; i++) { crlsAndCerts.add(factory.generateCRL(getClass().getResourceAsStream(crls[i]))); } for (int i = 0; i < certs.length; i++) { crlsAndCerts.add(factory.generateCertificate(getClass().getResourceAsStream(certs[i]))); } CertPath path = factory.generateCertPath(pathList); CertStore certStore = CertStore.getInstance("Collection", new CollectionCertStoreParameters(crlsAndCerts), PROVIDER); PKIXParameters params = new PKIXParameters(Collections.singleton(anchor)); params.addCertStore(certStore); params.setExplicitPolicyRequired(false); params.setInitialPolicies(Collections.singleton(PKITS.ANY_POLICY)); params.setPolicyMappingInhibited(false); params.setAnyPolicyInhibited(false); setupAdditionalParams(params); CertPathValidator validator = CertPathValidator.getInstance("PKIX", PROVIDER); CertPathValidatorResult result = validator.validate(path, params); verify (harness, result); } catch (Exception x) { harness.debug(x); harness.fail(x.toString()); } } /** * Subclasses should override this method to add any additional parameters * before the path verification is run. * * @param params The parameters. */ protected void setupAdditionalParams (PKIXParameters params) { } /** * Subclasses should override this method to perform any final verification * on the certification path validation result. The default implementation * simply prints the policy tree (if we are configured to be verbose) and * passes the test. * * @param harness The test harness. * @param result The validation result. This will almost always be an * instance of {@link PKIXCertPathValidatorResult}. * @throws Exception If verification fails unexpectedly. */ protected void verify (TestHarness harness, CertPathValidatorResult result) throws Exception { harness.verbose(((PKIXCertPathValidatorResult) result).getPolicyTree().toString()); harness.check(true); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidBasicSelfIssuedNewWithOldTest5.java0000644000175000001440000000160311030374656032135 0ustar dokousers/* InvalidBasicSelfIssuedNewWithOldTest5.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidBasicSelfIssuedNewWithOldTest5EE.crt data/certs/BasicSelfIssuedOldKeyNewWithOldCACert.crt data/certs/BasicSelfIssuedOldKeyCACert.crt data/crls/BasicSelfIssuedOldKeyCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidBasicSelfIssuedNewWithOldTest5 extends BaseInvalidTest { public InvalidBasicSelfIssuedNewWithOldTest5() { super(new String[] { "data/certs/InvalidBasicSelfIssuedNewWithOldTest5EE.crt", "data/certs/BasicSelfIssuedOldKeyNewWithOldCACert.crt", "data/certs/BasicSelfIssuedOldKeyCACert.crt" }, new String[] { "data/crls/BasicSelfIssuedOldKeyCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidDSAParameterInheritenceTest5.java0000644000175000001440000000151711030374656031263 0ustar dokousers/* ValidDSAParameterInheritenceTest5.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidDSAParameterInheritanceTest5EE.crt data/certs/DSAParametersInheritedCACert.crt data/certs/DSACACert.crt data/crls/DSACACRL.crl data/crls/DSAParametersInheritedCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class ValidDSAParameterInheritenceTest5 extends BaseValidTest { public ValidDSAParameterInheritenceTest5() { super(new String[] { "data/certs/ValidDSAParameterInheritanceTest5EE.crt", "data/certs/DSAParametersInheritedCACert.crt", "data/certs/DSACACert.crt" }, new String[] { "data/crls/DSACACRL.crl", "data/crls/DSAParametersInheritedCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidDSASignatureTest6.java0000644000175000001440000000113311030374656027450 0ustar dokousers/* InvalidDSASignatureTest6.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidDSASignatureTest6EE.crt data/certs/DSACACert.crt data/crls/DSACACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidDSASignatureTest6 extends BaseInvalidTest { public InvalidDSASignatureTest6() { super(new String[] { "data/certs/InvalidDSASignatureTest6EE.crt", "data/certs/DSACACert.crt" }, new String[] { "data/crls/DSACACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidCASignatureTest2.java0000644000175000001440000000115611030374656027325 0ustar dokousers/* InvalidCASignatureTest2.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidCASignatureTest2EE.crt data/certs/BadSignedCACert.crt data/crls/BadSignedCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidCASignatureTest2 extends BaseInvalidTest { public InvalidCASignatureTest2() { super(new String[] { "data/certs/InvalidCASignatureTest2EE.crt", "data/certs/BadSignedCACert.crt" }, new String[] { "data/crls/BadSignedCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/Validpre2000UTCnotBeforeDateTest3.java0000644000175000001440000000124111030374656030733 0ustar dokousers/* Validpre2000UTCnotBeforeDateTest3.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/Validpre2000UTCnotBeforeDateTest3EE.crt data/certs/GoodCACert.crt data/crls/GoodCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class Validpre2000UTCnotBeforeDateTest3 extends BaseValidTest { public Validpre2000UTCnotBeforeDateTest3() { super(new String[] { "data/certs/Validpre2000UTCnotBeforeDateTest3EE.crt", "data/certs/GoodCACert.crt" }, new String[] { "data/crls/GoodCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidLongSerialNumberTest18.java0000644000175000001440000000130111030374656030447 0ustar dokousers/* InvalidLongSerialNumberTest18.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidLongSerialNumberTest18EE.crt data/certs/LongSerialNumberCACert.crt data/crls/LongSerialNumberCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidLongSerialNumberTest18 extends BaseInvalidTest { public InvalidLongSerialNumberTest18() { super(new String[] { "data/certs/InvalidLongSerialNumberTest18EE.crt", "data/certs/LongSerialNumberCACert.crt" }, new String[] { "data/crls/LongSerialNumberCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidkeyUsageNotCriticalTest3.java0000644000175000001440000000131111030374656030534 0ustar dokousers/* ValidkeyUsageNotCriticalTest3.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidkeyUsageNotCriticalTest3EE.crt data/certs/keyUsageNotCriticalCACert.crt data/crls/keyUsageNotCriticalCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class ValidkeyUsageNotCriticalTest3 extends BaseValidTest { public ValidkeyUsageNotCriticalTest3() { super(new String[] { "data/certs/ValidkeyUsageNotCriticalTest3EE.crt", "data/certs/keyUsageNotCriticalCACert.crt" }, new String[] { "data/crls/keyUsageNotCriticalCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/BaseInvalidTest.java0000644000175000001440000001016211030374656025745 0ustar dokousers/* BaseInvalidTest.java -- superclass of "invalid" tests. Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL; see the file `COPYING' */ // Tags: not-a-test // Uses: PKITS // Files: data/certs/TrustAnchorRootCertificate.crt data/crls/TrustAnchorRootCRL.crl package gnu.testlet.java.security.cert.pkix.pkits; import java.security.cert.*; import java.util.*; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public abstract class BaseInvalidTest extends PKITS implements Testlet { // Fields. // ------------------------------------------------------------------------- public static final String PROVIDER = System.getProperty("pkits.provider", "GNU"); public static final String TRUST_ANCHOR_CERT = "data/certs/TrustAnchorRootCertificate.crt"; public static final String TRUST_ANCHOR_CRL = "data/crls/TrustAnchorRootCRL.crl"; protected String[] certPath; protected String[] crls; protected String[] certs; // Constructors. // ------------------------------------------------------------------------- protected BaseInvalidTest(String[] certPath, String[] crls, String[] certs) { if (certPath == null || crls == null || certs == null) throw new NullPointerException(); this.certPath = certPath; this.crls = crls; this.certs = certs; } protected BaseInvalidTest(String[] certPath, String[] crls) { this(certPath, crls, new String[0]); } // Instance method. // ------------------------------------------------------------------------- public void test(TestHarness harness) { String testName = getClass().getName(); if (testName.lastIndexOf ('.') > 0) testName = testName.substring (testName.lastIndexOf ('.') + 1); harness.checkPoint(testName); try { CertificateFactory factory = CertificateFactory.getInstance("X.509", PROVIDER); TrustAnchor anchor = new TrustAnchor((X509Certificate) factory.generateCertificate(getClass().getResourceAsStream(TRUST_ANCHOR_CERT)), null); List pathList = new ArrayList(certPath.length); for (int i = 0; i < certPath.length; i++) { pathList.add(factory.generateCertificate(getClass().getResourceAsStream(certPath[i]))); } List crlsAndCerts = new ArrayList(crls.length + certs.length + 1); crlsAndCerts.add(factory.generateCRL(getClass().getResourceAsStream(TRUST_ANCHOR_CRL))); for (int i = 0; i < crls.length; i++) { crlsAndCerts.add(factory.generateCRL(getClass().getResourceAsStream(crls[i]))); } for (int i = 0; i < certs.length; i++) { crlsAndCerts.add(factory.generateCertificate(getClass().getResourceAsStream(certs[i]))); } CertPath path = factory.generateCertPath(pathList); CertStore certStore = CertStore.getInstance("Collection", new CollectionCertStoreParameters(crlsAndCerts), PROVIDER); PKIXParameters params = new PKIXParameters(Collections.singleton(anchor)); params.addCertStore(certStore); params.setExplicitPolicyRequired(false); params.setInitialPolicies(Collections.singleton(PKITS.ANY_POLICY)); params.setPolicyMappingInhibited(false); params.setAnyPolicyInhibited(false); setupAdditionalParams(params); CertPathValidator validator = CertPathValidator.getInstance("PKIX", PROVIDER); try { CertPathValidatorResult result = validator.validate (path, params); harness.verbose (((PKIXCertPathValidatorResult) result).getPolicyTree().toString()); harness.check (false); } catch (CertPathValidatorException expected) { harness.verbose("expected failure reason is: " + expected); harness.check(true); } } catch (Exception x) { harness.debug(x); harness.fail(x.toString()); } } /** * Subclasses should override this method to add any additional parameters * before the path verification is run. * * @param params The parameters. */ protected void setupAdditionalParams(PKIXParameters params) { } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/AllCertificatesSamePoliciesTest10_3.java0000644000175000001440000000164311030374656031507 0ustar dokousers/* AllCertificatesSamePoliciesTest10_3.java Copyright (C) 2004 Free Software Foundation, Inc. Distributed under the GPL; see the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/AllCertificatesSamePoliciesTest10EE.crt data/certs/PoliciesP12CACert.crt data/crls/PoliciesP12CACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; import java.security.cert.PKIXParameters; import java.util.Collections; public class AllCertificatesSamePoliciesTest10_3 extends BaseValidTest { public AllCertificatesSamePoliciesTest10_3() { super (new String[] { "data/certs/AllCertificatesSamePoliciesTest10EE.crt", "data/certs/PoliciesP12CACert.crt" }, new String[] { "data/crls/PoliciesP12CACRL.crl" }); } protected void setupAdditionalParams (PKIXParameters params) { params.setInitialPolicies (Collections.singleton (NIST_TEST_POLICY_2)); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/AllCertificatesSamePolicyTest1_4.java0000644000175000001440000000175111030374656031120 0ustar dokousers/* AllCertificatesSamePolicyTest1_4.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL; see the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidCertificatePathTest1EE.crt data/certs/GoodCACert.crt data/crls/GoodCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; import java.security.cert.PKIXParameters; import java.util.HashSet; public class AllCertificatesSamePolicyTest1_4 extends BaseValidTest { public AllCertificatesSamePolicyTest1_4() { super (new String[] { "data/certs/ValidCertificatePathTest1EE.crt", "data/certs/GoodCACert.crt" }, new String[] { "data/crls/GoodCACRL.crl" }); } protected void setupAdditionalParams (PKIXParameters params) { params.setExplicitPolicyRequired (true); HashSet policies = new HashSet(); policies.add (NIST_TEST_POLICY_1); policies.add (NIST_TEST_POLICY_2); params.setInitialPolicies (policies); } } ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidGeneralizedTimeCRLnextUpdateTest13.javamauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidGeneralizedTimeCRLnextUpdateTest13.jav0000644000175000001440000000143711030374656032227 0ustar dokousers/* ValidGeneralizedTimeCRLnextUpdateTest13.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidGeneralizedTimeCRLnextUpdateTest13EE.crt data/certs/GeneralizedTimeCRLnextUpdateCACert.crt data/crls/GeneralizedTimeCRLnextUpdateCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class ValidGeneralizedTimeCRLnextUpdateTest13 extends BaseValidTest { public ValidGeneralizedTimeCRLnextUpdateTest13() { super(new String[] { "data/certs/ValidGeneralizedTimeCRLnextUpdateTest13EE.crt", "data/certs/GeneralizedTimeCRLnextUpdateCACert.crt" }, new String[] { "data/crls/GeneralizedTimeCRLnextUpdateCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidpathLenConstraintTest5.java0000644000175000001440000000165111030374656030623 0ustar dokousers/* InvalidpathLenConstraintTest5.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidpathLenConstraintTest5EE.crt data/certs/pathLenConstraint0subCACert.crt data/certs/pathLenConstraint0CACert.crt data/crls/pathLenConstraint0subCACRL.crl data/crls/pathLenConstraint0CACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidpathLenConstraintTest5 extends BaseInvalidTest { public InvalidpathLenConstraintTest5() { super(new String[] { "data/certs/InvalidpathLenConstraintTest5EE.crt", "data/certs/pathLenConstraint0subCACert.crt", "data/certs/pathLenConstraint0CACert.crt" }, new String[] { "data/crls/pathLenConstraint0subCACRL.crl", "data/crls/pathLenConstraint0CACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidGeneralizedTimenotBeforeDateTest4.java0000644000175000001440000000124111030374656032340 0ustar dokousers/* ValidGeneralizedTimenotBeforeDateTest4.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidGeneralizedTimenotBeforeDateTest4EE.crt data/certs/GoodCACert.crt data/crls/GoodCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class ValidGeneralizedTimenotBeforeDateTest4 extends BaseValidTest { public ValidGeneralizedTimenotBeforeDateTest4() { super(new String[] { "data/certs/ValidGeneralizedTimenotBeforeDateTest4EE.crt", "data/certs/GoodCACert.crt" }, new String[] { "data/crls/GoodCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/AllCertificatesSamePoliciesTest13_1.java0000644000175000001440000000164711030374656031514 0ustar dokousers/* AllCertificatesSamePoliciesTest13_1.java Copyright (C) 2004 Free Software Foundation, Inc. Distributed under the GPL; see the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/AllCertificatesSamePoliciesTest13EE.crt data/certs/PoliciesP123CACert.crt data/crls/PoliciesP123CACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; import java.security.cert.PKIXParameters; import java.util.Collections; public class AllCertificatesSamePoliciesTest13_1 extends BaseValidTest { public AllCertificatesSamePoliciesTest13_1() { super (new String[] { "data/certs/AllCertificatesSamePoliciesTest13EE.crt", "data/certs/PoliciesP123CACert.crt" }, new String[] { "data/crls/PoliciesP123CACRL.crl" }); } protected void setupAdditionalParams (PKIXParameters params) { params.setInitialPolicies (Collections.singleton (NIST_TEST_POLICY_1)); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/OverlappingPoliciesTest6_2.java0000644000175000001440000000210010461517310030033 0ustar dokousers/* OverlappingPoliciesTest6_2.java Copyright (C) 2004 Free Software Foundation, Inc. Distributed under the GPL; see the file `COPYING' */ // Tags: JDK1.4 package gnu.testlet.java.security.cert.pkix.pkits; import java.security.cert.PKIXParameters; import java.util.Collections; public class OverlappingPoliciesTest6_2 extends BaseValidTest { public OverlappingPoliciesTest6_2() { super (new String[] { "data/certs/OverlappingPoliciesTest6EE.crt", "data/certs/PoliciesP1234subsubCAP123P12Cert.crt", "data/certs/PoliciesP1234subCAP123Cert.crt", "data/certs/PoliciesP1234CACert.crt" }, new String[] { "data/crls/PoliciesP1234subsubCAP123P12CRL.crl", "data/crls/PoliciesP1234subCAP123CRL.crl", "data/crls/PoliciesP1234CACRL.crl" }); } protected void setupAdditionalParams (PKIXParameters params) { params.setExplicitPolicyRequired (true); params.setInitialPolicies (Collections.singleton (NIST_TEST_POLICY_1)); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidRevokedCATest2.java0000644000175000001440000000143511030374656026763 0ustar dokousers/* InvalidRevokedCATest2.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidRevokedCATest2EE.crt data/certs/RevokedsubCACert.crt data/certs/GoodCACert.crt data/crls/RevokedsubCACRL.crl data/crls/GoodCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidRevokedCATest2 extends BaseInvalidTest { public InvalidRevokedCATest2() { super(new String[] { "data/certs/InvalidRevokedCATest2EE.crt", "data/certs/RevokedsubCACert.crt", "data/certs/GoodCACert.crt" }, new String[] { "data/crls/RevokedsubCACRL.crl", "data/crls/GoodCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidOldCRLnextUpdateTest11.java0000644000175000001440000000130111030374656030351 0ustar dokousers/* InvalidOldCRLnextUpdateTest11.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidOldCRLnextUpdateTest11EE.crt data/certs/OldCRLnextUpdateCACert.crt data/crls/OldCRLnextUpdateCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidOldCRLnextUpdateTest11 extends BaseInvalidTest { public InvalidOldCRLnextUpdateTest11() { super(new String[] { "data/certs/InvalidOldCRLnextUpdateTest11EE.crt", "data/certs/OldCRLnextUpdateCACert.crt" }, new String[] { "data/crls/OldCRLnextUpdateCACRL.crl" }); } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidSelfIssuedpathLenConstraintTest16.javamauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidSelfIssuedpathLenConstraintTest16.ja0000644000175000001440000000214411030374656032343 0ustar dokousers/* InvalidSelfIssuedpathLenConstraintTest16.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidSelfIssuedpathLenConstraintTest16EE.crt data/certs/pathLenConstraint0subCA2Cert.crt data/certs/pathLenConstraint0SelfIssuedCACert.crt data/certs/pathLenConstraint0CACert.crt data/crls/pathLenConstraint0CACRL.crl data/crls/pathLenConstraint0subCA2CRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidSelfIssuedpathLenConstraintTest16 extends BaseInvalidTest { public InvalidSelfIssuedpathLenConstraintTest16() { super(new String[] { "data/certs/InvalidSelfIssuedpathLenConstraintTest16EE.crt", "data/certs/pathLenConstraint0subCA2Cert.crt", "data/certs/pathLenConstraint0SelfIssuedCACert.crt", "data/certs/pathLenConstraint0CACert.crt" }, new String[] { "data/crls/pathLenConstraint0CACRL.crl", "data/crls/pathLenConstraint0subCA2CRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/Invalidpre2000CRLnextUpdateTest12.java0000644000175000001440000000134511030374656030734 0ustar dokousers/* Invalidpre2000CRLnextUpdateTest12.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/Invalidpre2000CRLnextUpdateTest12EE.crt data/certs/pre2000CRLnextUpdateCACert.crt data/crls/pre2000CRLnextUpdateCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class Invalidpre2000CRLnextUpdateTest12 extends BaseInvalidTest { public Invalidpre2000CRLnextUpdateTest12() { super(new String[] { "data/certs/Invalidpre2000CRLnextUpdateTest12EE.crt", "data/certs/pre2000CRLnextUpdateCACert.crt" }, new String[] { "data/crls/pre2000CRLnextUpdateCACRL.crl" }); } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidRFC3280MandatoryAttributeTypesTest7.javamauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidRFC3280MandatoryAttributeTypesTest7.ja0000644000175000001440000000145411030374656032027 0ustar dokousers/* ValidRFC3280MandatoryAttributeTypesTest7.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidRFC3280MandatoryAttributeTypesTest7EE.crt data/certs/RFC3280MandatoryAttributeTypesCACert.crt data/crls/RFC3280MandatoryAttributeTypesCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class ValidRFC3280MandatoryAttributeTypesTest7 extends BaseValidTest { public ValidRFC3280MandatoryAttributeTypesTest7() { super(new String[] { "data/certs/ValidRFC3280MandatoryAttributeTypesTest7EE.crt", "data/certs/RFC3280MandatoryAttributeTypesCACert.crt" }, new String[] { "data/crls/RFC3280MandatoryAttributeTypesCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidNameChainingWhitespaceTest4.java0000644000175000001440000000120311030374656031162 0ustar dokousers/* ValidNameChainingWhitespaceTest4.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidNameChainingWhitespaceTest4EE.crt data/certs/GoodCACert.crt data/crls/GoodCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class ValidNameChainingWhitespaceTest4 extends BaseValidTest { public ValidNameChainingWhitespaceTest4() { super(new String[] { "data/certs/ValidNameChainingWhitespaceTest4EE.crt", "data/certs/GoodCACert.crt" }, new String[] { "data/crls/GoodCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidNameChainingEETest1.java0000644000175000001440000000114511030374656027710 0ustar dokousers/* InvalidNameChainingEETest1.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidNameChainingTest1EE.crt data/certs/GoodCACert.crt data/crls/GoodCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidNameChainingEETest1 extends BaseInvalidTest { public InvalidNameChainingEETest1() { super(new String[] { "data/certs/InvalidNameChainingTest1EE.crt", "data/certs/GoodCACert.crt" }, new String[] { "data/crls/GoodCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidUnknownCRLExtensionTest10.java0000644000175000001440000000133411030374656031132 0ustar dokousers/* InvalidUnknownCRLExtensionTest10.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidUnknownCRLExtensionTest10EE.crt data/certs/UnknownCRLExtensionCACert.crt data/crls/UnknownCRLExtensionCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidUnknownCRLExtensionTest10 extends BaseInvalidTest { public InvalidUnknownCRLExtensionTest10() { super(new String[] { "data/certs/InvalidUnknownCRLExtensionTest10EE.crt", "data/certs/UnknownCRLExtensionCACert.crt" }, new String[] { "data/crls/UnknownCRLExtensionCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidEEnotBeforeDateTest2.java0000644000175000001440000000120711030374656030110 0ustar dokousers/* InvalidEEnotBeforeDateTest2.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidEEnotBeforeDateTest2EE.crt data/certs/GoodCACert.crt data/crls/GoodCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidEEnotBeforeDateTest2 extends BaseInvalidTest { public InvalidEEnotBeforeDateTest2() { super(new String[] { "data/certs/InvalidEEnotBeforeDateTest2EE.crt", "data/certs/GoodCACert.crt" }, new String[] { "data/crls/GoodCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidWrongCRLTest6.java0000644000175000001440000000116411030374656026620 0ustar dokousers/* InvalidWrongCRLTest6.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidWrongCRLTest6EE.crt data/certs/WrongCRLCACert.crt data/crls/WrongCRLCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidWrongCRLTest6 extends BaseInvalidTest { public InvalidWrongCRLTest6() { super(new String[] { "data/certs/InvalidWrongCRLTest6EE.crt", "data/certs/WrongCRLCACert.crt" }, new String[] { "data/crls/WrongCRLCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/AllCertificatesSamePoliciesTest13_3.java0000644000175000001440000000164711030374656031516 0ustar dokousers/* AllCertificatesSamePoliciesTest13_3.java Copyright (C) 2004 Free Software Foundation, Inc. Distributed under the GPL; see the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/AllCertificatesSamePoliciesTest13EE.crt data/certs/PoliciesP123CACert.crt data/crls/PoliciesP123CACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; import java.security.cert.PKIXParameters; import java.util.Collections; public class AllCertificatesSamePoliciesTest13_3 extends BaseValidTest { public AllCertificatesSamePoliciesTest13_3() { super (new String[] { "data/certs/AllCertificatesSamePoliciesTest13EE.crt", "data/certs/PoliciesP123CACert.crt" }, new String[] { "data/crls/PoliciesP123CACRL.crl" }); } protected void setupAdditionalParams (PKIXParameters params) { params.setInitialPolicies (Collections.singleton (NIST_TEST_POLICY_3)); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/DifferentPoliciesTest12.java0000644000175000001440000000140111030374656027321 0ustar dokousers/* DifferentPoliciesTest12.java Copyright (C) 2004 Free Software Foundation, Inc. Distributed under the GPL; see the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/DifferentPoliciesTest12EE.crt data/certs/PoliciesP3CACert.crt data/crls/PoliciesP3CACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; import java.security.cert.PKIXParameters; public class DifferentPoliciesTest12 extends BaseInvalidTest { public DifferentPoliciesTest12() { super (new String[] { "data/certs/DifferentPoliciesTest12EE.crt", "data/certs/PoliciesP3CACert.crt" }, new String[] { "data/crls/PoliciesP3CACRL.crl" }); } protected void setupAdditionalParams (PKIXParameters params) { } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidNegativeSerialNumberTest14.java0000644000175000001440000000132711030374656030767 0ustar dokousers/* ValidNegativeSerialNumberTest14.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidNegativeSerialNumberTest14EE.crt data/certs/NegativeSerialNumberCACert.crt data/crls/NegativeSerialNumberCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class ValidNegativeSerialNumberTest14 extends BaseValidTest { public ValidNegativeSerialNumberTest14() { super(new String[] { "data/certs/ValidNegativeSerialNumberTest14EE.crt", "data/certs/NegativeSerialNumberCACert.crt" }, new String[] { "data/crls/NegativeSerialNumberCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidpathLenConstraintTest8.java0000644000175000001440000000127311030374656030277 0ustar dokousers/* ValidpathLenConstraintTest8.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidpathLenConstraintTest8EE.crt data/certs/pathLenConstraint0CACert.crt data/crls/pathLenConstraint0CACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class ValidpathLenConstraintTest8 extends BaseValidTest { public ValidpathLenConstraintTest8() { super(new String[] { "data/certs/ValidpathLenConstraintTest8EE.crt", "data/certs/pathLenConstraint0CACert.crt" }, new String[] { "data/crls/pathLenConstraint0CACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/DifferentPoliciesTest7.java0000644000175000001440000000250211030374656027250 0ustar dokousers/* DifferentPoliciesTest7.java Copyright (C) 2004 Free Software Foundation, Inc. Distributed under the GPL; see the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/DifferentPoliciesTest7EE.crt data/certs/PoliciesP123subsubCAP12P1Cert.crt data/certs/PoliciesP123subCAP12Cert.crt data/certs/PoliciesP123CACert.crt data/crls/PoliciesP123subsubCAP12P1CRL.crl data/crls/PoliciesP123subCAP12CRL.crl data/crls/PoliciesP123CACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; import java.security.cert.PKIXParameters; import java.util.Collections; public class DifferentPoliciesTest7 extends BaseInvalidTest { public DifferentPoliciesTest7() { super (new String[] { "data/certs/DifferentPoliciesTest7EE.crt", "data/certs/PoliciesP123subsubCAP12P1Cert.crt", "data/certs/PoliciesP123subCAP12Cert.crt", "data/certs/PoliciesP123CACert.crt" }, new String[] { "data/crls/PoliciesP123subsubCAP12P1CRL.crl", "data/crls/PoliciesP123subCAP12CRL.crl", "data/crls/PoliciesP123CACRL.crl" }); } protected void setupAdditionalParams (PKIXParameters params) { params.setInitialPolicies (Collections.EMPTY_SET); params.setAnyPolicyInhibited (true); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/OverlappingPoliciesTest6_3.java0000644000175000001440000000260311030374656030053 0ustar dokousers/* OverlappingPoliciesTest6_2.java Copyright (C) 2004 Free Software Foundation, Inc. Distributed under the GPL; see the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/OverlappingPoliciesTest6EE.crt data/certs/PoliciesP1234subsubCAP123P12Cert.crt data/certs/PoliciesP1234subCAP123Cert.crt data/certs/PoliciesP1234CACert.crt data/crls/PoliciesP1234subsubCAP123P12CRL.crl data/crls/PoliciesP1234subCAP123CRL.crl data/crls/PoliciesP1234CACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; import java.security.cert.PKIXParameters; import java.util.Collections; public class OverlappingPoliciesTest6_3 extends BaseInvalidTest { public OverlappingPoliciesTest6_3() { super (new String[] { "data/certs/OverlappingPoliciesTest6EE.crt", "data/certs/PoliciesP1234subsubCAP123P12Cert.crt", "data/certs/PoliciesP1234subCAP123Cert.crt", "data/certs/PoliciesP1234CACert.crt" }, new String[] { "data/crls/PoliciesP1234subsubCAP123P12CRL.crl", "data/crls/PoliciesP1234subCAP123CRL.crl", "data/crls/PoliciesP1234CACRL.crl" }); } protected void setupAdditionalParams (PKIXParameters params) { params.setExplicitPolicyRequired (true); params.setInitialPolicies (Collections.singleton (NIST_TEST_POLICY_2)); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidSignaturesTest1.java0000644000175000001440000000072410461517310026745 0ustar dokousers/* ValidSignaturesTest1.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 package gnu.testlet.java.security.cert.pkix.pkits; public class ValidSignaturesTest1 extends BaseValidTest { public ValidSignaturesTest1() { super(new String[] { "data/certs/ValidCertificatePathTest1EE.crt", "data/certs/GoodCACert.crt" }, new String[] { "data/crls/GoodCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/AllCertificatesSamePolicyTest2_1.java0000644000175000001440000000144611030374656031117 0ustar dokousers/* AllCertificatesSamePolicyTest2_1.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL; see the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/AllCertificatesNoPoliciesTest2EE.crt data/certs/NoPoliciesCACert.crt data/crls/NoPoliciesCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; import java.security.cert.PKIXParameters; public class AllCertificatesSamePolicyTest2_1 extends BaseValidTest { public AllCertificatesSamePolicyTest2_1() { super (new String[] { "data/certs/AllCertificatesNoPoliciesTest2EE.crt", "data/certs/NoPoliciesCACert.crt" }, new String[] { "data/crls/NoPoliciesCACRL.crl" }); } protected void setupAdditionalParams (PKIXParameters params) { } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidEESignatureTest3.java0000644000175000001440000000113211030374656027326 0ustar dokousers/* InvalidEESignatureTest3.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidEESignatureTest3EE.crt data/certs/GoodCACert.crt data/crls/GoodCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidEESignatureTest3 extends BaseInvalidTest { public InvalidEESignatureTest3() { super(new String[] { "data/certs/InvalidEESignatureTest3EE.crt", "data/certs/GoodCACert.crt" }, new String[] { "data/crls/GoodCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidRevokedEETest3.java0000644000175000001440000000115111030374656026765 0ustar dokousers/* InvalidRevokedEETest3.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidRevokedEETest3EE.crt data/certs/GoodCACert.crt data/crls/GoodCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidRevokedEETest3 extends BaseInvalidTest { public InvalidRevokedEETest3() { super(new String[] { "data/certs/InvalidRevokedEETest3EE.crt", "data/certs/GoodCACert.crt" }, new String[] { "data/crls/GoodCACRL.crl" }); } } ././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidkeyUsageCriticalkeyCertSignFalseTest1.javamauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidkeyUsageCriticalkeyCertSignFalseTest0000644000175000001440000000151411030374656032527 0ustar dokousers/* InvalidkeyUsageCriticalkeyCertSignFalseTest1.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidkeyUsageCriticalkeyCertSignFalseTest1EE.crt data/certs/keyUsageCriticalkeyCertSignFalseCACert.crt data/crls/keyUsageCriticalkeyCertSignFalseCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidkeyUsageCriticalkeyCertSignFalseTest1 extends BaseInvalidTest { public InvalidkeyUsageCriticalkeyCertSignFalseTest1() { super(new String[] { "data/certs/InvalidkeyUsageCriticalkeyCertSignFalseTest1EE.crt", "data/certs/keyUsageCriticalkeyCertSignFalseCACert.crt" }, new String[] { "data/crls/keyUsageCriticalkeyCertSignFalseCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidLongSerialNumberTest16.java0000644000175000001440000000126311030374656030125 0ustar dokousers/* ValidLongSerialNumberTest16.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidLongSerialNumberTest16EE.crt data/certs/LongSerialNumberCACert.crt data/crls/LongSerialNumberCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class ValidLongSerialNumberTest16 extends BaseValidTest { public ValidLongSerialNumberTest16() { super(new String[] { "data/certs/ValidLongSerialNumberTest16EE.crt", "data/certs/LongSerialNumberCACert.crt" }, new String[] { "data/crls/LongSerialNumberCACRL.crl" }); } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidBasicSelfIssuedCRLSigningKeyTest8.javamauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidBasicSelfIssuedCRLSigningKeyTest8.ja0000644000175000001440000000165411030374656032203 0ustar dokousers/* InvalidBasicSelfIssuedCRLSigningKeyTest8.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidBasicSelfIssuedCRLSigningKeyTest8EE.crt data/certs/BasicSelfIssuedCRLSigningKeyCACert.crt data/crls/BasicSelfIssuedCRLSigningKeyCACRL.crl data/certs/BasicSelfIssuedCRLSigningKeyCRLCert.crt package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidBasicSelfIssuedCRLSigningKeyTest8 extends BaseInvalidTest { public InvalidBasicSelfIssuedCRLSigningKeyTest8() { super(new String[] { "data/certs/InvalidBasicSelfIssuedCRLSigningKeyTest8EE.crt", "data/certs/BasicSelfIssuedCRLSigningKeyCACert.crt" }, new String[] { "data/crls/BasicSelfIssuedCRLSigningKeyCACRL.crl" }, new String[] { "data/certs/BasicSelfIssuedCRLSigningKeyCRLCert.crt" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/AllCertificatesAnyPolicyTest11_2.java0000644000175000001440000000161611030374656031041 0ustar dokousers/* AllCertificatesAnyPolicyTest11_2.java Copyright (C) 2004 Free Software Foundation, Inc. Distributed under the GPL; see the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/AllCertificatesanyPolicyTest11EE.crt data/certs/anyPolicyCACert.crt data/crls/anyPolicyCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; import java.security.cert.PKIXParameters; import java.util.Collections; public class AllCertificatesAnyPolicyTest11_2 extends BaseValidTest { public AllCertificatesAnyPolicyTest11_2() { super (new String[] { "data/certs/AllCertificatesanyPolicyTest11EE.crt", "data/certs/anyPolicyCACert.crt" }, new String[] { "data/crls/anyPolicyCACRL.crl" }); } protected void setupAdditionalParams (PKIXParameters params) { params.setInitialPolicies (Collections.singleton (NIST_TEST_POLICY_1)); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/AllCertificatesSamePolicyTest1_1.java0000644000175000001440000000146111030374656031113 0ustar dokousers/* AllCertificatesSamePolicyTest1_1.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL; see the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidCertificatePathTest1EE.crt data/certs/GoodCACert.crt data/crls/GoodCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; import java.security.cert.PKIXParameters; public class AllCertificatesSamePolicyTest1_1 extends BaseValidTest { public AllCertificatesSamePolicyTest1_1() { super (new String[] { "data/certs/ValidCertificatePathTest1EE.crt", "data/certs/GoodCACert.crt" }, new String[] { "data/crls/GoodCACRL.crl" }); } protected void setupAdditionalParams (PKIXParameters params) { params.setExplicitPolicyRequired (true); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/DifferentPoliciesTest3_1.java0000644000175000001440000000165011030374656027467 0ustar dokousers/* DifferentPoliciesTest3_1.java Copyright (C) 2004 Free Software Foundation, Inc. Distributed under the GPL; see the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/DifferentPoliciesTest3EE.crt data/certs/PoliciesP2subCACert.crt data/certs/GoodCACert.crt data/crls/PoliciesP2subCACRL.crl data/crls/GoodCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; import java.security.cert.PKIXParameters; public class DifferentPoliciesTest3_1 extends BaseValidTest { public DifferentPoliciesTest3_1() { super (new String[] { "data/certs/DifferentPoliciesTest3EE.crt", "data/certs/PoliciesP2subCACert.crt", "data/certs/GoodCACert.crt" }, new String[] { "data/crls/PoliciesP2subCACRL.crl", "data/crls/GoodCACRL.crl" }); } protected void setupAdditionalParams (PKIXParameters params) { } } ././@LongLink0000644000000000000000000000016100000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidRolloverfromPrintableStringtoUTF8StringTest10.javamauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidRolloverfromPrintableStringtoUTF8Strin0000644000175000001440000000160211030374656032535 0ustar dokousers/* ValidRolloverfromPrintableStringtoUTF8StringTest10.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidRolloverfromPrintableStringtoUTF8StringTest10EE.crt data/certs/RolloverfromPrintableStringtoUTF8StringCACert.crt data/crls/RolloverfromPrintableStringtoUTF8StringCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class ValidRolloverfromPrintableStringtoUTF8StringTest10 extends BaseValidTest { public ValidRolloverfromPrintableStringtoUTF8StringTest10() { super(new String[] { "data/certs/ValidRolloverfromPrintableStringtoUTF8StringTest10EE.crt", "data/certs/RolloverfromPrintableStringtoUTF8StringCACert.crt" }, new String[] { "data/crls/RolloverfromPrintableStringtoUTF8StringCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidCAnotBeforeDateTest1.java0000644000175000001440000000126711030374656030107 0ustar dokousers/* InvalidCAnotBeforeDateTest1.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidCAnotBeforeDateTest1EE.crt data/certs/BadnotBeforeDateCACert.crt data/crls/BadnotBeforeDateCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidCAnotBeforeDateTest1 extends BaseInvalidTest { public InvalidCAnotBeforeDateTest1() { super(new String[] { "data/certs/InvalidCAnotBeforeDateTest1EE.crt", "data/certs/BadnotBeforeDateCACert.crt" }, new String[] { "data/crls/BadnotBeforeDateCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/AllCertificatesSamePoliciesTest10_1.java0000644000175000001440000000147111030374656031504 0ustar dokousers/* AllCertificatesSamePoliciesTest10_1.java Copyright (C) 2004 Free Software Foundation, Inc. Distributed under the GPL; see the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/AllCertificatesSamePoliciesTest10EE.crt data/certs/PoliciesP12CACert.crt data/crls/PoliciesP12CACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; import java.security.cert.PKIXParameters; public class AllCertificatesSamePoliciesTest10_1 extends BaseValidTest { public AllCertificatesSamePoliciesTest10_1() { super (new String[] { "data/certs/AllCertificatesSamePoliciesTest10EE.crt", "data/certs/PoliciesP12CACert.crt" }, new String[] { "data/crls/PoliciesP12CACRL.crl" }); } protected void setupAdditionalParams (PKIXParameters params) { } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/DifferentPoliciesTest9.java0000644000175000001440000000310011030374656027245 0ustar dokousers/* DifferentPoliciesTest7.java Copyright (C) 2004 Free Software Foundation, Inc. Distributed under the GPL; see the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/DifferentPoliciesTest9EE.crt data/certs/PoliciesP123subsubsubCAP12P2P1Cert.crt data/certs/PoliciesP123subsubCAP12P1Cert.crt data/certs/PoliciesP123subCAP12Cert.crt data/certs/PoliciesP123CACert.crt data/crls/PoliciesP123subsubsubCAP12P2P1CRL.crl data/crls/PoliciesP123subsubCAP12P1CRL.crl data/crls/PoliciesP123subCAP12CRL.crl data/crls/PoliciesP123CACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; import java.security.cert.PKIXParameters; import java.util.Collections; public class DifferentPoliciesTest9 extends BaseInvalidTest { public DifferentPoliciesTest9() { super (new String[] { "data/certs/DifferentPoliciesTest9EE.crt", "data/certs/PoliciesP123subsubsubCAP12P2P1Cert.crt", "data/certs/PoliciesP123subsubCAP12P1Cert.crt", "data/certs/PoliciesP123subCAP12Cert.crt", "data/certs/PoliciesP123CACert.crt" }, new String[] { "data/crls/PoliciesP123subsubsubCAP12P2P1CRL.crl", "data/crls/PoliciesP123subsubCAP12P1CRL.crl", "data/crls/PoliciesP123subCAP12CRL.crl", "data/crls/PoliciesP123CACRL.crl" }); } protected void setupAdditionalParams (PKIXParameters params) { params.setInitialPolicies (Collections.EMPTY_SET); params.setAnyPolicyInhibited (true); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidNegativeSerialNumberTest15.java0000644000175000001440000000134511030374656031317 0ustar dokousers/* InvalidNegativeSerialNumberTest15.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidNegativeSerialNumberTest15EE.crt data/certs/NegativeSerialNumberCACert.crt data/crls/NegativeSerialNumberCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidNegativeSerialNumberTest15 extends BaseInvalidTest { public InvalidNegativeSerialNumberTest15() { super(new String[] { "data/certs/InvalidNegativeSerialNumberTest15EE.crt", "data/certs/NegativeSerialNumberCACert.crt" }, new String[] { "data/crls/NegativeSerialNumberCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidNameChainingCapitalizationTest5.java0000644000175000001440000000122711030374656032050 0ustar dokousers/* ValidNameChainingCapitalizationTest5.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidNameChainingCapitalizationTest5EE.crt data/certs/GoodCACert.crt data/crls/GoodCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class ValidNameChainingCapitalizationTest5 extends BaseValidTest { public ValidNameChainingCapitalizationTest5() { super(new String[] { "data/certs/ValidNameChainingCapitalizationTest5EE.crt", "data/certs/GoodCACert.crt" }, new String[] { "data/crls/GoodCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/AllCertificatesSamePoliciesTest10_2.java0000644000175000001440000000164311030374656031506 0ustar dokousers/* AllCertificatesSamePoliciesTest10_2.java Copyright (C) 2004 Free Software Foundation, Inc. Distributed under the GPL; see the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/AllCertificatesSamePoliciesTest10EE.crt data/certs/PoliciesP12CACert.crt data/crls/PoliciesP12CACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; import java.security.cert.PKIXParameters; import java.util.Collections; public class AllCertificatesSamePoliciesTest10_2 extends BaseValidTest { public AllCertificatesSamePoliciesTest10_2() { super (new String[] { "data/certs/AllCertificatesSamePoliciesTest10EE.crt", "data/certs/PoliciesP12CACert.crt" }, new String[] { "data/crls/PoliciesP12CACRL.crl" }); } protected void setupAdditionalParams (PKIXParameters params) { params.setInitialPolicies (Collections.singleton (NIST_TEST_POLICY_1)); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidUTF8StringEncodedNamesTest9.java0000644000175000001440000000134411030374656031022 0ustar dokousers/* ValidUTF8StringEncodedNamesTest9.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidUTF8StringEncodedNamesTest9EE.crt data/certs/UTF8StringEncodedNamesCACert.crt data/crls/UTF8StringEncodedNamesCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class ValidUTF8StringEncodedNamesTest9 extends BaseValidTest { public ValidUTF8StringEncodedNamesTest9() { super(new String[] { "data/certs/ValidUTF8StringEncodedNamesTest9EE.crt", "data/certs/UTF8StringEncodedNamesCACert.crt" }, new String[] { "data/crls/UTF8StringEncodedNamesCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/DifferentPoliciesTest5.java0000644000175000001440000000205011030374656027244 0ustar dokousers/* DifferentPoliciesTest5.java Copyright (C) 2004 Free Software Foundation, Inc. Distributed under the GPL; see the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/DifferentPoliciesTest5EE.crt data/certs/PoliciesP2subCA2Cert.crt data/certs/GoodCACert.crt data/crls/PoliciesP2subCA2CRL.crl data/crls/GoodCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; import java.security.cert.PKIXParameters; import java.util.Collections; public class DifferentPoliciesTest5 extends BaseInvalidTest { public DifferentPoliciesTest5() { super (new String[] { "data/certs/DifferentPoliciesTest5EE.crt", "data/certs/PoliciesP2subCA2Cert.crt", "data/certs/GoodCACert.crt" }, new String[] { "data/crls/PoliciesP2subCA2CRL.crl", "data/crls/GoodCACRL.crl" }); } protected void setupAdditionalParams (PKIXParameters params) { params.setInitialPolicies (Collections.EMPTY_SET); params.setAnyPolicyInhibited (true); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidpathLenConstraintTest10.java0000644000175000001440000000224611030374656030700 0ustar dokousers/* InvalidpathLenConstraintTest10.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidpathLenConstraintTest10EE.crt data/certs/pathLenConstraint6subsubCA00Cert.crt data/certs/pathLenConstraint6subCA0Cert.crt data/certs/pathLenConstraint6CACert.crt data/crls/pathLenConstraint6subsubCA00CRL.crl data/crls/pathLenConstraint6subCA0CRL.crl data/crls/pathLenConstraint6CACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidpathLenConstraintTest10 extends BaseInvalidTest { public InvalidpathLenConstraintTest10() { super(new String[] { "data/certs/InvalidpathLenConstraintTest10EE.crt", "data/certs/pathLenConstraint6subsubCA00Cert.crt", "data/certs/pathLenConstraint6subCA0Cert.crt", "data/certs/pathLenConstraint6CACert.crt" }, new String[] { "data/crls/pathLenConstraint6subsubCA00CRL.crl", "data/crls/pathLenConstraint6subCA0CRL.crl", "data/crls/pathLenConstraint6CACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/PKITS.java0000644000175000001440000000304410461517310023610 0ustar dokousers/* PKITS.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: not-a-test package gnu.testlet.java.security.cert.pkix.pkits; public class PKITS { static { String clazz = System.getProperty ("pkits.provider.class", "gnu.java.security.provider.Gnu"); String provider = System.getProperty ("pkits.provider", "GNU"); try { if (java.security.Security.getProvider (provider) == null) java.security.Security.addProvider ((java.security.Provider) Class.forName (clazz).newInstance()); } catch (Throwable t) { System.err.println ("WARNING: couldn't load PKITS test provider " + provider + " with class " + clazz); System.err.println (t); t.printStackTrace(); } } // Constants. // ------------------------------------------------------------------------- public static final String ANY_POLICY = "2.5.29.32.0"; public static final String NIST_TEST_POLICY_1 = "2.16.840.1.101.3.2.1.48.1"; public static final String NIST_TEST_POLICY_2 = "2.16.840.1.101.3.2.1.48.2"; public static final String NIST_TEST_POLICY_3 = "2.16.840.1.101.3.2.1.48.3"; public static final String NIST_TEST_POLICY_4 = "2.16.840.1.101.3.2.1.48.4"; public static final String NIST_TEST_POLICY_5 = "2.16.840.1.101.3.2.1.48.5"; public static final String NIST_TEST_POLICY_6 = "2.16.840.1.101.3.2.1.48.6"; } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/OverlappingPoliciesTest6.java0000644000175000001440000000164310461517310027625 0ustar dokousers/* OverlappingPoliciesTest6.java Copyright (C) 2004 Free Software Foundation, Inc. Distributed under the GPL; see the file `COPYING' */ // Tags: JDK1.4 package gnu.testlet.java.security.cert.pkix.pkits; import java.security.cert.PKIXParameters; public class OverlappingPoliciesTest6 extends BaseValidTest { public OverlappingPoliciesTest6() { super (new String[] { "data/certs/OverlappingPoliciesTest6EE.crt", "data/certs/PoliciesP1234subsubCAP123P12Cert.crt", "data/certs/PoliciesP1234subCAP123Cert.crt", "data/certs/PoliciesP1234CACert.crt" }, new String[] { "data/crls/PoliciesP1234subsubCAP123P12CRL.crl", "data/crls/PoliciesP1234subCAP123CRL.crl", "data/crls/PoliciesP1234CACRL.crl" }); } protected void setupAdditionalParams (PKIXParameters params) { } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidNameChainingOrderTest2.java0000644000175000001440000000122211030374656030467 0ustar dokousers/* InvalidNameChainingOrderTest2.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidNameChainingOrderTest2EE.crt data/certs/NameOrderingCACert.crt data/crls/NameOrderCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidNameChainingOrderTest2 extends BaseInvalidTest { public InvalidNameChainingOrderTest2() { super(new String[] { "data/certs/InvalidNameChainingOrderTest2EE.crt", "data/certs/NameOrderingCACert.crt" }, new String[] { "data/crls/NameOrderCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/DifferentPoliciesTest8.java0000644000175000001440000000245611030374656027261 0ustar dokousers/* DifferentPoliciesTest8.java Copyright (C) 2004 Free Software Foundation, Inc. Distributed under the GPL; see the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/DifferentPoliciesTest7EE.crt data/certs/PoliciesP12subsubCAP1P2Cert.crt data/certs/PoliciesP12subCAP1Cert.crt data/certs/PoliciesP12CACert.crt data/crls/PoliciesP12subsubCAP1P2CRL.crl data/crls/PoliciesP12subCAP1CRL.crl data/crls/PoliciesP12CACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; import java.security.cert.PKIXParameters; import java.util.Collections; public class DifferentPoliciesTest8 extends BaseInvalidTest { public DifferentPoliciesTest8() { super (new String[] { "data/certs/DifferentPoliciesTest7EE.crt", "data/certs/PoliciesP12subsubCAP1P2Cert.crt", "data/certs/PoliciesP12subCAP1Cert.crt", "data/certs/PoliciesP12CACert.crt" }, new String[] { "data/crls/PoliciesP12subsubCAP1P2CRL.crl", "data/crls/PoliciesP12subCAP1CRL.crl", "data/crls/PoliciesP12CACRL.crl" }); } protected void setupAdditionalParams (PKIXParameters params) { params.setInitialPolicies (Collections.EMPTY_SET); params.setAnyPolicyInhibited (true); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidpathLenConstraintTest6.java0000644000175000001440000000165111030374656030624 0ustar dokousers/* InvalidpathLenConstraintTest6.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidpathLenConstraintTest6EE.crt data/certs/pathLenConstraint0subCACert.crt data/certs/pathLenConstraint0CACert.crt data/crls/pathLenConstraint0subCACRL.crl data/crls/pathLenConstraint0CACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidpathLenConstraintTest6 extends BaseInvalidTest { public InvalidpathLenConstraintTest6() { super(new String[] { "data/certs/InvalidpathLenConstraintTest6EE.crt", "data/certs/pathLenConstraint0subCACert.crt", "data/certs/pathLenConstraint0CACert.crt" }, new String[] { "data/crls/pathLenConstraint0subCACRL.crl", "data/crls/pathLenConstraint0CACRL.crl" }); } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidkeyUsageCriticalcRLSignFalseTest4.javamauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidkeyUsageCriticalcRLSignFalseTest4.ja0000644000175000001440000000145011030374656032255 0ustar dokousers/* InvalidkeyUsageCriticalcRLSignFalseTest4.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidkeyUsageCriticalcRLSignFalseTest4EE.crt data/certs/keyUsageCriticalcRLSignFalseCACert.crt data/crls/keyUsageCriticalcRLSignFalseCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidkeyUsageCriticalcRLSignFalseTest4 extends BaseInvalidTest { public InvalidkeyUsageCriticalcRLSignFalseTest4() { super(new String[] { "data/certs/InvalidkeyUsageCriticalcRLSignFalseTest4EE.crt", "data/certs/keyUsageCriticalcRLSignFalseCACert.crt" }, new String[] { "data/crls/keyUsageCriticalcRLSignFalseCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidcAFalseTest2.java0000644000175000001440000000131311030374656026451 0ustar dokousers/* InvalidcAFalseTest2.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidcAFalseTest2EE.crt data/certs/basicConstraintsCriticalcAFalseCACert.crt data/crls/basicConstraintsCriticalcAFalseCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidcAFalseTest2 extends BaseInvalidTest { public InvalidcAFalseTest2() { super(new String[] { "data/certs/InvalidcAFalseTest2EE.crt", "data/certs/basicConstraintsCriticalcAFalseCACert.crt" }, new String[] { "data/crls/basicConstraintsCriticalcAFalseCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidpathLenConstraintTest12.java0000644000175000001440000000265211030374656030703 0ustar dokousers/* InvalidpathLenConstraintTest12.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidpathLenConstraintTest12EE.crt data/certs/pathLenConstraint6subsubsubCA11XCert.crt data/certs/pathLenConstraint6subsubCA11Cert.crt data/certs/pathLenConstraint6subCA1Cert.crt data/certs/pathLenConstraint6CACert.crt data/crls/pathLenConstraint6subsubsubCA11XCRL.crl data/crls/pathLenConstraint6subsubCA11CRL.crl data/crls/pathLenConstraint6subCA1CRL.crl data/crls/pathLenConstraint6CACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidpathLenConstraintTest12 extends BaseInvalidTest { public InvalidpathLenConstraintTest12() { super(new String[] { "data/certs/InvalidpathLenConstraintTest12EE.crt", "data/certs/pathLenConstraint6subsubsubCA11XCert.crt", "data/certs/pathLenConstraint6subsubCA11Cert.crt", "data/certs/pathLenConstraint6subCA1Cert.crt", "data/certs/pathLenConstraint6CACert.crt" }, new String[] { "data/crls/pathLenConstraint6subsubsubCA11XCRL.crl", "data/crls/pathLenConstraint6subsubCA11CRL.crl", "data/crls/pathLenConstraint6subCA1CRL.crl", "data/crls/pathLenConstraint6CACRL.crl" }); } } ././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidkeyUsageNotCriticalcRLSignFalseTest5.javamauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidkeyUsageNotCriticalcRLSignFalseTest50000644000175000001440000000150311030374656032345 0ustar dokousers/* InvalidkeyUsageNotCriticalcRLSignFalseTest5.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidkeyUsageNotCriticalcRLSignFalseTest5EE.crt data/certs/keyUsageNotCriticalcRLSignFalseCACert.crt data/crls/keyUsageNotCriticalcRLSignFalseCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidkeyUsageNotCriticalcRLSignFalseTest5 extends BaseInvalidTest { public InvalidkeyUsageNotCriticalcRLSignFalseTest5() { super(new String[] { "data/certs/InvalidkeyUsageNotCriticalcRLSignFalseTest5EE.crt", "data/certs/keyUsageNotCriticalcRLSignFalseCACert.crt" }, new String[] { "data/crls/keyUsageNotCriticalcRLSignFalseCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidcAFalseTest3.java0000644000175000001440000000132711030374656026457 0ustar dokousers/* InvalidcAFalseTest3.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidcAFalseTest3EE.crt data/certs/basicConstraintsNotCriticalcAFalseCACert.crt data/crls/basicConstraintsNotCriticalcAFalseCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidcAFalseTest3 extends BaseInvalidTest { public InvalidcAFalseTest3() { super(new String[] { "data/certs/InvalidcAFalseTest3EE.crt", "data/certs/basicConstraintsNotCriticalcAFalseCACert.crt" }, new String[] { "data/crls/basicConstraintsNotCriticalcAFalseCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidpathLenConstraintTest9.java0000644000175000001440000000224111030374656030623 0ustar dokousers/* InvalidpathLenConstraintTest9.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidpathLenConstraintTest9EE.crt data/certs/pathLenConstraint6subsubCA00Cert.crt data/certs/pathLenConstraint6subCA0Cert.crt data/certs/pathLenConstraint6CACert.crt data/crls/pathLenConstraint6subsubCA00CRL.crl data/crls/pathLenConstraint6subCA0CRL.crl data/crls/pathLenConstraint6CACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidpathLenConstraintTest9 extends BaseInvalidTest { public InvalidpathLenConstraintTest9() { super(new String[] { "data/certs/InvalidpathLenConstraintTest9EE.crt", "data/certs/pathLenConstraint6subsubCA00Cert.crt", "data/certs/pathLenConstraint6subCA0Cert.crt", "data/certs/pathLenConstraint6CACert.crt" }, new String[] { "data/crls/pathLenConstraint6subsubCA00CRL.crl", "data/crls/pathLenConstraint6subCA0CRL.crl", "data/crls/pathLenConstraint6CACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidEEnotAfterDateTest6.java0000644000175000001440000000115111030374656027751 0ustar dokousers/* InvalidEEnotAfterDateTest6.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidEEnotAfterDateTest6EE.crt data/certs/GoodCACert.crt data/crls/GoodCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidEEnotAfterDateTest6 extends BaseInvalidTest { public InvalidEEnotAfterDateTest6() { super(new String[] { "data/certs/InvalidEEnotAfterDateTest6EE.crt", "data/certs/GoodCACert.crt" }, new String[] { "data/crls/GoodCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidNameChainingWhitespaceTest3.java0000644000175000001440000000120311030374656031161 0ustar dokousers/* ValidNameChainingWhitespaceTest3.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidNameChainingWhitespaceTest3EE.crt data/certs/GoodCACert.crt data/crls/GoodCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class ValidNameChainingWhitespaceTest3 extends BaseValidTest { public ValidNameChainingWhitespaceTest3() { super(new String[] { "data/certs/ValidNameChainingWhitespaceTest3EE.crt", "data/certs/GoodCACert.crt" }, new String[] { "data/crls/GoodCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/Invalidpre2000UTCEEnotAfterDateTest7.java0000644000175000001440000000123311030374656031340 0ustar dokousers/* InvalidpreUTC2000EEnotAfterDateTest7.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/Invalidpre2000UTCEEnotAfterDateTest7EE.crt data/certs/GoodCACert.crt data/crls/GoodCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class Invalidpre2000UTCEEnotAfterDateTest7 extends BaseInvalidTest { public Invalidpre2000UTCEEnotAfterDateTest7() { super(new String[] { "data/certs/Invalidpre2000UTCEEnotAfterDateTest7EE.crt", "data/certs/GoodCACert.crt" }, new String[] { "data/crls/GoodCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidTwoCRLsTest7.java0000644000175000001440000000127511030374656026135 0ustar dokousers/* ValidTwoCRLsTest7.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidTwoCRLsTest7EE.crt data/certs/TwoCRLsCACert.crt data/crls/TwoCRLsCAGoodCRL.crl data/crls/TwoCRLsCABadCRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class ValidTwoCRLsTest7 extends BaseValidTest { public ValidTwoCRLsTest7() { super(new String[] { "data/certs/ValidTwoCRLsTest7EE.crt", "data/certs/TwoCRLsCACert.crt" }, new String[] { "data/crls/TwoCRLsCAGoodCRL.crl", "data/crls/TwoCRLsCABadCRL.crl" }); } } ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidUTF8StringCaseInsensitiveMatchTest11.javamauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidUTF8StringCaseInsensitiveMatchTest11.j0000644000175000001440000000146111030374656032127 0ustar dokousers/* ValidUTF8StringCaseInsensitiveMatchTest11.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidUTF8StringCaseInsensitiveMatchTest11EE.crt data/certs/UTF8StringCaseInsensitiveMatchCACert.crt data/crls/UTF8StringCaseInsensitiveMatchCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class ValidUTF8StringCaseInsensitiveMatchTest11 extends BaseValidTest { public ValidUTF8StringCaseInsensitiveMatchTest11() { super(new String[] { "data/certs/ValidUTF8StringCaseInsensitiveMatchTest11EE.crt", "data/certs/UTF8StringCaseInsensitiveMatchCACert.crt" }, new String[] { "data/crls/UTF8StringCaseInsensitiveMatchCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidpathLenConstraintTest11.java0000644000175000001440000000265211030374656030702 0ustar dokousers/* InvalidpathLenConstraintTest11.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidpathLenConstraintTest11EE.crt data/certs/pathLenConstraint6subsubsubCA11XCert.crt data/certs/pathLenConstraint6subsubCA11Cert.crt data/certs/pathLenConstraint6subCA1Cert.crt data/certs/pathLenConstraint6CACert.crt data/crls/pathLenConstraint6subsubsubCA11XCRL.crl data/crls/pathLenConstraint6subsubCA11CRL.crl data/crls/pathLenConstraint6subCA1CRL.crl data/crls/pathLenConstraint6CACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidpathLenConstraintTest11 extends BaseInvalidTest { public InvalidpathLenConstraintTest11() { super(new String[] { "data/certs/InvalidpathLenConstraintTest11EE.crt", "data/certs/pathLenConstraint6subsubsubCA11XCert.crt", "data/certs/pathLenConstraint6subsubCA11Cert.crt", "data/certs/pathLenConstraint6subCA1Cert.crt", "data/certs/pathLenConstraint6CACert.crt" }, new String[] { "data/crls/pathLenConstraint6subsubsubCA11XCRL.crl", "data/crls/pathLenConstraint6subsubCA11CRL.crl", "data/crls/pathLenConstraint6subCA1CRL.crl", "data/crls/pathLenConstraint6CACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidSelfIssuedpathLenConstraintTest15.java0000644000175000001440000000156211030374656032345 0ustar dokousers/* ValidSelfIssuedpathLenConstraintTest15.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidSelfIssuedpathLenConstraintTest15EE.crt data/certs/pathLenConstraint0SelfIssuedCACert.crt data/certs/pathLenConstraint0CACert.crt data/crls/pathLenConstraint0CACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class ValidSelfIssuedpathLenConstraintTest15 extends BaseValidTest { public ValidSelfIssuedpathLenConstraintTest15() { super(new String[] { "data/certs/ValidSelfIssuedpathLenConstraintTest15EE.crt", "data/certs/pathLenConstraint0SelfIssuedCACert.crt", "data/certs/pathLenConstraint0CACert.crt" }, new String[] { "data/crls/pathLenConstraint0CACRL.crl" }); } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidBasicSelfIssuedCRLSigningKeyTest7.javamauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidBasicSelfIssuedCRLSigningKeyTest7.ja0000644000175000001440000000165411030374656032202 0ustar dokousers/* InvalidBasicSelfIssuedCRLSigningKeyTest7.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidBasicSelfIssuedCRLSigningKeyTest7EE.crt data/certs/BasicSelfIssuedCRLSigningKeyCACert.crt data/crls/BasicSelfIssuedCRLSigningKeyCACRL.crl data/certs/BasicSelfIssuedCRLSigningKeyCRLCert.crt package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidBasicSelfIssuedCRLSigningKeyTest7 extends BaseInvalidTest { public InvalidBasicSelfIssuedCRLSigningKeyTest7() { super(new String[] { "data/certs/InvalidBasicSelfIssuedCRLSigningKeyTest7EE.crt", "data/certs/BasicSelfIssuedCRLSigningKeyCACert.crt" }, new String[] { "data/crls/BasicSelfIssuedCRLSigningKeyCACRL.crl" }, new String[] { "data/certs/BasicSelfIssuedCRLSigningKeyCRLCert.crt" }); } } ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidRFC3280OptionalAttributeTypesTest8.javamauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidRFC3280OptionalAttributeTypesTest8.jav0000644000175000001440000000144311030374656032043 0ustar dokousers/* ValidRFC3280OptionalAttributeTypesTest8.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidRFC3280OptionalAttributeTypesTest8EE.crt data/certs/RFC3280OptionalAttributeTypesCACert.crt data/crls/RFC3280OptionalAttributeTypesCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class ValidRFC3280OptionalAttributeTypesTest8 extends BaseValidTest { public ValidRFC3280OptionalAttributeTypesTest8() { super(new String[] { "data/certs/ValidRFC3280OptionalAttributeTypesTest8EE.crt", "data/certs/RFC3280OptionalAttributeTypesCACert.crt" }, new String[] { "data/crls/RFC3280OptionalAttributeTypesCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidbasicConstraintsNotCriticalTest4.java0000644000175000001440000000142111030374656032273 0ustar dokousers/* ValidbasicConstraintsNotCriticalTest4.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidbasicConstraintsNotCriticalTest4EE.crt data/certs/basicConstraintsNotCriticalCACert.crt data/crls/basicConstraintsNotCriticalCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class ValidbasicConstraintsNotCriticalTest4 extends BaseValidTest { public ValidbasicConstraintsNotCriticalTest4() { super(new String[] { "data/certs/ValidbasicConstraintsNotCriticalTest4EE.crt", "data/certs/basicConstraintsNotCriticalCACert.crt" }, new String[] { "data/crls/basicConstraintsNotCriticalCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidLongSerialNumberTest17.java0000644000175000001440000000126311030374656030126 0ustar dokousers/* ValidLongSerialNumberTest17.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidLongSerialNumberTest17EE.crt data/certs/LongSerialNumberCACert.crt data/crls/LongSerialNumberCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class ValidLongSerialNumberTest17 extends BaseValidTest { public ValidLongSerialNumberTest17() { super(new String[] { "data/certs/ValidLongSerialNumberTest17EE.crt", "data/certs/LongSerialNumberCACert.crt" }, new String[] { "data/crls/LongSerialNumberCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidCAnotAfterDateTest5.java0000644000175000001440000000125611030374656027750 0ustar dokousers/* InvalidCAnotAfterDateTest5.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidCAnotAfterDateTest5EE.crt data/certs/BadnotAfterDateCACert.crt data/crls/BadnotAfterDateCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidCAnotAfterDateTest5 extends BaseInvalidTest { public InvalidCAnotAfterDateTest5() { super(new String[] { "data/certs/InvalidCAnotAfterDateTest5EE.crt", "data/certs/BadnotAfterDateCACert.crt" }, new String[] { "data/crls/BadnotAfterDateCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidBasicSelfIssuedCRLSigningKeyTest6.java0000644000175000001440000000163611030374656032201 0ustar dokousers/* ValidBasicSelfIssuedCRLSigningKeyTest6.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidBasicSelfIssuedCRLSigningKeyTest6EE.crt data/certs/BasicSelfIssuedCRLSigningKeyCACert.crt data/crls/BasicSelfIssuedCRLSigningKeyCACRL.crl data/certs/BasicSelfIssuedCRLSigningKeyCRLCert.crt package gnu.testlet.java.security.cert.pkix.pkits; public class ValidBasicSelfIssuedCRLSigningKeyTest6 extends BaseValidTest { public ValidBasicSelfIssuedCRLSigningKeyTest6() { super(new String[] { "data/certs/ValidBasicSelfIssuedCRLSigningKeyTest6EE.crt", "data/certs/BasicSelfIssuedCRLSigningKeyCACert.crt" }, new String[] { "data/crls/BasicSelfIssuedCRLSigningKeyCACRL.crl" }, new String[] { "data/certs/BasicSelfIssuedCRLSigningKeyCRLCert.crt" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidUnknownCRLExtensionTest9.java0000644000175000001440000000132711030374656031064 0ustar dokousers/* InvalidUnknownCRLExtensionTest9.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidUnknownCRLExtensionTest9EE.crt data/certs/UnknownCRLExtensionCACert.crt data/crls/UnknownCRLExtensionCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidUnknownCRLExtensionTest9 extends BaseInvalidTest { public InvalidUnknownCRLExtensionTest9() { super(new String[] { "data/certs/InvalidUnknownCRLExtensionTest9EE.crt", "data/certs/UnknownCRLExtensionCACert.crt" }, new String[] { "data/crls/UnknownCRLExtensionCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidNameChainingUIDsTest6.java0000644000175000001440000000112111030374656027673 0ustar dokousers/* ValidNameChainingUIDsTest6.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidNameUIDsTest6EE.crt data/certs/UIDCACert.crt data/crls/UIDCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class ValidNameChainingUIDsTest6 extends BaseValidTest { public ValidNameChainingUIDsTest6() { super(new String[] { "data/certs/ValidNameUIDsTest6EE.crt", "data/certs/UIDCACert.crt" }, new String[] { "data/crls/UIDCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidBasicSelfIssuedNewWithOldTest4.java0000644000175000001440000000156711030374656031616 0ustar dokousers/* ValidBasicSelfIssuedNewWithOldTest4.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidBasicSelfIssuedNewWithOldTest4EE.crt data/certs/BasicSelfIssuedOldKeyCACert.crt data/crls/BasicSelfIssuedOldKeyCACRL.crl data/certs/BasicSelfIssuedOldKeyNewWithOldCACert.crt package gnu.testlet.java.security.cert.pkix.pkits; public class ValidBasicSelfIssuedNewWithOldTest4 extends BaseValidTest { public ValidBasicSelfIssuedNewWithOldTest4() { super(new String[] { "data/certs/ValidBasicSelfIssuedNewWithOldTest4EE.crt", "data/certs/BasicSelfIssuedOldKeyCACert.crt" }, new String[] { "data/crls/BasicSelfIssuedOldKeyCACRL.crl" }, new String[] { "data/certs/BasicSelfIssuedOldKeyNewWithOldCACert.crt" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/AllCertificatesSamePolicyTest2_2.java0000644000175000001440000000152711030374656031120 0ustar dokousers/* AllCertificatesSamePolicyTest2_2.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL; see the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/AllCertificatesNoPoliciesTest2EE.crt data/certs/NoPoliciesCACert.crt data/crls/NoPoliciesCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; import java.security.cert.PKIXParameters; public class AllCertificatesSamePolicyTest2_2 extends BaseInvalidTest { public AllCertificatesSamePolicyTest2_2() { super (new String[] { "data/certs/AllCertificatesNoPoliciesTest2EE.crt", "data/certs/NoPoliciesCACert.crt" }, new String[] { "data/crls/NoPoliciesCACRL.crl" }); } protected void setupAdditionalParams (PKIXParameters params) { params.setExplicitPolicyRequired (true); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/AllCertificatesSamePolicyTest1_2.java0000644000175000001440000000163311030374656031115 0ustar dokousers/* AllCertificatesSamePolicyTest1_2.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL; see the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidCertificatePathTest1EE.crt data/certs/GoodCACert.crt data/crls/GoodCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; import java.security.cert.PKIXParameters; import java.util.Collections; public class AllCertificatesSamePolicyTest1_2 extends BaseValidTest { public AllCertificatesSamePolicyTest1_2() { super (new String[] { "data/certs/ValidCertificatePathTest1EE.crt", "data/certs/GoodCACert.crt" }, new String[] { "data/crls/GoodCACRL.crl" }); } protected void setupAdditionalParams (PKIXParameters params) { params.setExplicitPolicyRequired (true); params.setInitialPolicies (Collections.singleton (NIST_TEST_POLICY_1)); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidBadCRLSignatureTest4.java0000644000175000001440000000126311030374656030072 0ustar dokousers/* InvalidBadCRLSignatureTest4.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidBadCRLSignatureTest4EE.crt data/certs/BadCRLSignatureCACert.crt data/crls/BadCRLSignatureCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidBadCRLSignatureTest4 extends BaseInvalidTest { public InvalidBadCRLSignatureTest4() { super(new String[] { "data/certs/InvalidBadCRLSignatureTest4EE.crt", "data/certs/BadCRLSignatureCACert.crt" }, new String[] { "data/crls/BadCRLSignatureCACRL.crl" }); } } ././@LongLink0000644000000000000000000000015600000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidkeyUsageNotCriticalkeyCertSignFalseTest2.javamauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidkeyUsageNotCriticalkeyCertSignFalseT0000644000175000001440000000154711030374656032502 0ustar dokousers/* InvalidkeyUsageNotCriticalkeyCertSignFalseTest2.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidkeyUsageNotCriticalkeyCertSignFalseTest2EE.crt data/certs/keyUsageNotCriticalkeyCertSignFalseCACert.crt data/crls/keyUsageNotCriticalkeyCertSignFalseCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidkeyUsageNotCriticalkeyCertSignFalseTest2 extends BaseInvalidTest { public InvalidkeyUsageNotCriticalkeyCertSignFalseTest2() { super(new String[] { "data/certs/InvalidkeyUsageNotCriticalkeyCertSignFalseTest2EE.crt", "data/certs/keyUsageNotCriticalkeyCertSignFalseCACert.crt" }, new String[] { "data/crls/keyUsageNotCriticalkeyCertSignFalseCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/AllCertificatesSamePoliciesTest13_2.java0000644000175000001440000000164711030374656031515 0ustar dokousers/* AllCertificatesSamePoliciesTest13_2.java Copyright (C) 2004 Free Software Foundation, Inc. Distributed under the GPL; see the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/AllCertificatesSamePoliciesTest13EE.crt data/certs/PoliciesP123CACert.crt data/crls/PoliciesP123CACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; import java.security.cert.PKIXParameters; import java.util.Collections; public class AllCertificatesSamePoliciesTest13_2 extends BaseValidTest { public AllCertificatesSamePoliciesTest13_2() { super (new String[] { "data/certs/AllCertificatesSamePoliciesTest13EE.crt", "data/certs/PoliciesP123CACert.crt" }, new String[] { "data/crls/PoliciesP123CACRL.crl" }); } protected void setupAdditionalParams (PKIXParameters params) { params.setInitialPolicies (Collections.singleton (NIST_TEST_POLICY_2)); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidpathLenConstraintTest13.java0000644000175000001440000000263411030374656030355 0ustar dokousers/* ValidpathLenConstraintTest13.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidpathLenConstraintTest13EE.crt data/certs/pathLenConstraint6subsubsubCA41XCert.crt data/certs/pathLenConstraint6subsubCA41Cert.crt data/certs/pathLenConstraint6subCA4Cert.crt data/certs/pathLenConstraint6CACert.crt data/crls/pathLenConstraint6subsubsubCA41XCRL.crl data/crls/pathLenConstraint6subsubCA41CRL.crl data/crls/pathLenConstraint6subCA4CRL.crl data/crls/pathLenConstraint6CACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class ValidpathLenConstraintTest13 extends BaseValidTest { public ValidpathLenConstraintTest13() { super(new String[] { "data/certs/ValidpathLenConstraintTest13EE.crt", "data/certs/pathLenConstraint6subsubsubCA41XCert.crt", "data/certs/pathLenConstraint6subsubCA41Cert.crt", "data/certs/pathLenConstraint6subCA4Cert.crt", "data/certs/pathLenConstraint6CACert.crt" }, new String[] { "data/crls/pathLenConstraint6subsubsubCA41XCRL.crl", "data/crls/pathLenConstraint6subsubCA41CRL.crl", "data/crls/pathLenConstraint6subCA4CRL.crl", "data/crls/pathLenConstraint6CACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/AllCertificatesAnyPolicyTest11_1.java0000644000175000001440000000144411030374656031037 0ustar dokousers/* AllCertificatesAnyPolicyTest11_1.java Copyright (C) 2004 Free Software Foundation, Inc. Distributed under the GPL; see the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/AllCertificatesanyPolicyTest11EE.crt data/certs/anyPolicyCACert.crt data/crls/anyPolicyCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; import java.security.cert.PKIXParameters; public class AllCertificatesAnyPolicyTest11_1 extends BaseValidTest { public AllCertificatesAnyPolicyTest11_1() { super (new String[] { "data/certs/AllCertificatesanyPolicyTest11EE.crt", "data/certs/anyPolicyCACert.crt" }, new String[] { "data/crls/anyPolicyCACRL.crl" }); } protected void setupAdditionalParams (PKIXParameters params) { } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidBasicSelfIssuedNewWithOldTest3.java0000644000175000001440000000156511030374656031613 0ustar dokousers/* ValidBasicSelfIssuedNewWithOldTest3.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidBasicSelfIssuedNewWithOldTest3EE.crt data/certs/BasicSelfIssuedOldKeyNewWithOldCACert.crt data/certs/BasicSelfIssuedOldKeyCACert.crt data/crls/BasicSelfIssuedOldKeyCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class ValidBasicSelfIssuedNewWithOldTest3 extends BaseValidTest { public ValidBasicSelfIssuedNewWithOldTest3() { super(new String[] { "data/certs/ValidBasicSelfIssuedNewWithOldTest3EE.crt", "data/certs/BasicSelfIssuedOldKeyNewWithOldCACert.crt", "data/certs/BasicSelfIssuedOldKeyCACert.crt" }, new String[] { "data/crls/BasicSelfIssuedOldKeyCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidBasicSelfIssuedOldWithNewTest1.java0000644000175000001440000000156511030374656031611 0ustar dokousers/* ValidBasicSelfIssuedOldWithNewTest1.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidBasicSelfIssuedOldWithNewTest1EE.crt data/certs/BasicSelfIssuedNewKeyOldWithNewCACert.crt data/certs/BasicSelfIssuedNewKeyCACert.crt data/crls/BasicSelfIssuedNewKeyCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class ValidBasicSelfIssuedOldWithNewTest1 extends BaseValidTest { public ValidBasicSelfIssuedOldWithNewTest1() { super(new String[] { "data/certs/ValidBasicSelfIssuedOldWithNewTest1EE.crt", "data/certs/BasicSelfIssuedNewKeyOldWithNewCACert.crt", "data/certs/BasicSelfIssuedNewKeyCACert.crt" }, new String[] { "data/crls/BasicSelfIssuedNewKeyCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidpathLenConstraintTest14.java0000644000175000001440000000263411030374656030356 0ustar dokousers/* ValidpathLenConstraintTest14.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidpathLenConstraintTest14EE.crt data/certs/pathLenConstraint6subsubsubCA41XCert.crt data/certs/pathLenConstraint6subsubCA41Cert.crt data/certs/pathLenConstraint6subCA4Cert.crt data/certs/pathLenConstraint6CACert.crt data/crls/pathLenConstraint6subsubsubCA41XCRL.crl data/crls/pathLenConstraint6subsubCA41CRL.crl data/crls/pathLenConstraint6subCA4CRL.crl data/crls/pathLenConstraint6CACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class ValidpathLenConstraintTest14 extends BaseValidTest { public ValidpathLenConstraintTest14() { super(new String[] { "data/certs/ValidpathLenConstraintTest14EE.crt", "data/certs/pathLenConstraint6subsubsubCA41XCert.crt", "data/certs/pathLenConstraint6subsubCA41Cert.crt", "data/certs/pathLenConstraint6subCA4Cert.crt", "data/certs/pathLenConstraint6CACert.crt" }, new String[] { "data/crls/pathLenConstraint6subsubsubCA41XCRL.crl", "data/crls/pathLenConstraint6subsubCA41CRL.crl", "data/crls/pathLenConstraint6subCA4CRL.crl", "data/crls/pathLenConstraint6CACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/0000755000175000001440000000000012375316426022776 5ustar dokousersmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/0000755000175000001440000000000012375316426024116 5ustar dokousersmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidPolicyMappingTest5EE.crt0000644000175000001440000000121510461517311031507 0ustar dokousers0‚‰0‚ò 0  *†H†÷ 0K1 0 UUS10U Test Certificates1 0UP1 Mapping 1to234 subCA0 010419145720Z 110419145720Z0]1 0 UUS10U Test Certificates1200U)Valid Policy Mapping EE Certificate Test50Ÿ0  *†H†÷ 0‰»»@ÒoDâü[ãSpõbP–WúÈäÅæ¦äÕyfkäBå âÙõ[Ä¥—øY…ùÃ|žú&#â€øïÓXOCézŸ—\¼$|‘e4ñClä6ä³pmY¤~¬]Ù¯àÏ× éßßYøòíŸÂÞC=p¾ ó ð¡¡£k0i0U#0€­ïW}ºƒïÿ‡hsÒ¦—0UŸ÷léxdQئ<Ý™¦Úœ0Uÿð0U 00  `†He00  *†H†÷ š:„¢“ü/zf䆴P¿4ã÷Ê/qèð˜þœÚ¿Ö*Y]á ¿å%O3ù—s©ø@):ý¥µb.å—œ\û¡Ôª;ìÓŽã*åï>f"³úEâÌm”bÒ(vòÚ˜)…eï÷uÞÑò)‡’Zª ¼½Ä7<Ù././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidinhibitAnyPolicyTest4EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidinhibitAnyPolicyTest4EE.c0000644000175000001440000000121410461517311032171 0ustar dokousers0‚ˆ0‚ñ 0  *†H†÷ 0L1 0 UUS10U Test Certificates1!0UinhibitAnyPolicy1 subCA10 010419145720Z 110419145720Z0a1 0 UUS10U Test Certificates1604U-Invalid inhibitAnyPolicy EE Certificate Test40Ÿ0  *†H†÷ 0‰®•¨ó&fÉVòBÃ7ð%Í%mzl¢2Žvìƒ[O.ø Ä¡ U:vmòe±Ì>ær ½Ó„`?eÿDΉ̅TOÐaSñ¤è)Àœ<f„€4<š‚„ÃYjxº+Y)r¢ð_%=x8W¶Æ³–/?RÊ'ñ»¾IÜet F—Ó£e0c0U#0€) x”Ž„)BK|«ƒ*¾5[<0U…I ž¤ƒ%×µ5.=ø)@aãöK0Uÿð0U  00U 0  *†H†÷ Êà:$K XYšÁæ‰< ýf)?ÿ¹A˜Ï›tét{ô¸€÷ u_“îÔ·²•oöŸb¥S³ž:NñmI½DV"‡Œ‘–³6¥yB/g+bI0wÿÿ#Dý/0A)A•€6âêF%‚¢ÂCö—<5€ÒaÊÂaÃÜWQ¡././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidEEnotBeforeDateTest2EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidEEnotBeforeDateTest2EE.cr0000644000175000001440000000120210461517310032022 0ustar dokousers0‚~0‚ç 0  *†H†÷ 0;1 0 UUS10U Test Certificates10UGood CA0 470101120100Z 490101120100Z0b1 0 UUS10U Test Certificates1705U.Invalid EE notBefore Date EE Certificate Test20Ÿ0  *†H†÷ 0‰ί»Ýúi½MÝîvó2v¯$Öö«‰‡Ž`MâÀ~ÝXF,f“¹·Õ"eé£ï†PzxG™È@ܹñ—8+óÆsLžõ» Ós~“g7o«˜_\+I~`Ëd= a‚‹drСIñ&";Š(ÔPNÚž}ªŸHuµãŠü…Û*5£k0i0U#0€·.¦‚ËÂȼ¨{'D×53ßš”Ç0U¡O÷u>q'Úøx›An+ÃÇvv0Uÿð0U 00  `†He00  *†H†÷ f2&r.Åö‡ÀŒ¢:rÜOr·Œ¬ŒŠjåˆ`õts¨Ì0<U5Valid pre2000 UTC notBefore Date EE Certificate Test30Ÿ0  *†H†÷ 0‰µ»; NÈæ]Þ÷@F ÖP „ª:_aAdil (šüB¯4~x˜õ«ÄÞ ÝЦFÍ5`–Dvå«ÒÛªHi£*»;àçAL׫ƒ×câøðWOÐaÖïȵ\(ýˆ±40"^H·±ã¶½‰\æÒ\Äßï€W5“»ˆ÷£k0i0U#0€·.¦‚ËÂȼ¨{'D×53ßš”Ç0UôK2„ §, ú‹ $›è€JŠtÊ0Uÿð0U 00  `†He00  *†H†÷ “->Ñ€SÞû«{Š ñ˜I axëK¶ý[-¯SO‰£_5PÁ3§d»J¨¦ºzÚ1'½+…ó¹Çk‚¼ò"E+¸ò¨Æ ÿIÜ‘ÎLL¬ã›8²XøžþT»ç»ÖÚð5íI¥Ù›*¶‘ú`}òn³LfaØ%j././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidrequireExplicitPolicyTest5EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidrequireExplicitPolicyTest0000644000175000001440000000121610461517311032534 0ustar dokousers0‚Š0‚ó 0  *†H†÷ 0\1 0 UUS10U Test Certificates110/U(requireExplicitPolicy7 subsubsubCARE2RE40 010419145720Z 110419145720Z0f1 0 UUS10U Test Certificates1;09U2Invalid requireExplicitPolicy EE Certificate Test50Ÿ0  *†H†÷ 0‰ ÒYà¦QÐJ‰±W³¿Ê÷ß3¥µƒáõÜ[Ćjä¡4ÚÕVLû½p+ÚÏc²Õ¡’@ƒ™¨zÛ1ˆÎþ{pjþïÔ^±UÙâépò¬BZÀÿPmË©&Êô"É×?¾2í‘ýxÇk‚jÃf.Ø(Ý+n¢Ÿ¶r‚Ï –õ£R0P0U#0€ç«Î(åhéji>)¥6cp¡š0UR?ê* ÖºzJm°:Ç Â0Uÿð0  *†H†÷ N­5ÓVÁha+8~5`n#è}e!V\lÞh0‭ª¨kl0C>› ÿÝD<àÑ E*­–òRÐY«7캃^1›Û¯_Fwçmbšp–[ǂ٫6“ñ4Mr•²æRÚ÷nä-7µ¼é:Vï?ÎNhxË#Úx½¨'+Ãh-×././@LongLink0000644000000000000000000000017300000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidUnknownNotCriticalCertificateExtensionTest1EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidUnknownNotCriticalCertifica0000644000175000001440000000126010461517311032413 0ustar dokousers0‚¬0‚ ^0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0y1 0 UUS10U Test Certificates1N0LUEValid Unknown Not Critical Certificate Extension EE Certificate Test10Ÿ0  *†H†÷ 0‰¨nôȚ̮ eöqŸ¤ µÎöK,Ë#ÈS«špAÊ.š;jäƒïhïº (ÒÎÓ¿”™fºü7¥[×LFP:r5¬£xHCÖ " ð—qI¶¸×²°†Dµ`ð\8Âd¥×ŽÑɯ7õ˜OxSàîm1³‘?óÞŽÇ,Õ£}0{0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0UöQT^Â5¦¤œéoY—läÞitúª0Uÿð0U 00  `†He00 `†He 0  *†H†÷ S°÷¸¾Ÿœ6ÇØ}Ì0ûã}Eoͪ¡!ÆØÎ¨í9ÅÄ@: sP²¢I¸XÑ7;uh¯ÿ—˜ÕÉþžeoy,KWQ[í;™M(ýë0Áó3-ÓÁ)'(—)ldÅʸ`aäoÁwhÿÐh†¸çÇhùQQ šZsÐÍ”šç.îR'Þ—././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy7subCARE2Cert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy7subCARE2Ce0000644000175000001440000000125110461517311032152 0ustar dokousers0‚¥0‚ 0  *†H†÷ 0M1 0 UUS10U Test Certificates1"0 UrequireExplicitPolicy7 CA0 010419145720Z 110419145720Z0S1 0 UUS10U Test Certificates1(0&UrequireExplicitPolicy7 subCARE20Ÿ0  *†H†÷ 0‰ß.û? |=pÆã*ó—ÙHH+ÇINñÜÆHwÁáý£ýþRR£ÒÑ;yBYãuŠWI,žÈë1wÑ׎ÍFÌ$ÕÚ\&-oñ1cÆdï¶tÆNÉ3äêÆ ïr£¯+?æL¼.úžžÚs³úÖÔ½Ò Ø÷É_t½£Ž0‹0U#0€"çÛpˆNòb/p˵ÁÍNM0Uëh Æå/Ãó QK³Xsœ9?K0Uÿ0U 00  `†He00Uÿ0ÿ0U$ÿ0€0  *†H†÷ !G~Ÿç¹}Ó;\[ãCùú"„øOEÛ€~Òh`«Þ~FãÆYŒ…!G'µRÀʉ•nýîoòø/… ù*µ°T8òpk€˜XËŸEI€…ò>Ö`úwŒ ³¾HMØŠ$2líÜ‚T² Ë^×(„ÎÂã-$”šG~{B0ùXbqŠ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy2subCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy2subCACert.0000644000175000001440000000122310461517311032257 0ustar dokousers0‚0‚ø 0  *†H†÷ 0M1 0 UUS10U Test Certificates1"0 UrequireExplicitPolicy2 CA0 010419145720Z 110419145720Z0P1 0 UUS10U Test Certificates1%0#UrequireExplicitPolicy2 subCA0Ÿ0  *†H†÷ 0‰±Þñ«“Á:6¢XÁpÂ… 6‘\%Q¹g?“­Š—žèíl¤ãÆ+¿°ìÙﮘ€>ôjÆBÈ×`lÇKΗÊÜ‚™7ßç·ö-„‹Ä§Üþ«Ü2ø“¤™ˆki‘ƒ¯”¹u¯Z”1çm<­½÷m#K)æÌr€6‹èø ¾Ú£|0z0U#0€æŒÁ+gKLz¶À!Z$™P„0UÞ)ÖæãO—¨:¦êMäF_‚00Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ Gä+˜žX[J{¨?íÃw¸ÒûÏj*7@°äN¢äÏ䤠j4ÖÌCѪxlhÏ|ºÒò‰•­Âˆ8là¨EM=ñ&·öYÇ„…‘«ŸíÞͰÞ5ÉšZ¢f²K8¡[¯:EÊKî[’.¹WUtõ‡gV#O¤5 ¯>/÷£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U7—¤Û4U5É´MÆ~K褉<0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ Å_Å È$ ‰ŠSv^5Ày£|0z0U#0€mh1ýù_Rùû.ÚDÂÏ{6™Øÿ)0U”×wÅq*ÔÓoôQ ¶Ú¬2ã¯0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ '€¨Ç{& ¯¹z1…ëTY þ’?ä[Y[ûãÆÄS+|MHi¡ÇdΟqD±|öEÃðÀVò³ŠÄ4Z¿V“ó Zˆ[ŸcÕ»ÒC8ÍfiÔËZBèRÜðs‡_ _õ£4VG#¥>çö&v$Æ ¢Òšk…0ÂÆ¡X•«Kè›mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/pathLenConstraint6subCA0Cert.crt0000644000175000001440000000121710461517311032161 0ustar dokousers0‚‹0‚ô 0  *†H†÷ 0I1 0 UUS10U Test Certificates10UpathLenConstraint6 CA0 010419145720Z 110419145720Z0M1 0 UUS10U Test Certificates1"0 UpathLenConstraint6 subCA00Ÿ0  *†H†÷ 0‰·~”_è*ç­‚,=/^ˆgð#&4c‹þû» À~ðF‚ ¢‘àêïÐCË0E¬|¬ü¾Tyw©jEõ¿åï—cÂ÷áa[!š¹ÿ¢ƒÒÔ4W®ÌIµ”¢˜Àe!EŸXÌVì‰ÂõIqhfëFÞ¨BXS ýË @VcÍÒ.à:Í^p“ p™G—]‘8«Xɬžø}í®æãauÚ;ÓüŠh1¹9¾(# f#{ýþ³é$$j晣0}0U#0€H4T¦ìOÙ˜!ìÔc±#oíy>0UÆÅÝ=×ûtC@ÉÐªå¡ Ö4Š0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ uäHWØÇw‚„²Þ¿cG›>ZBOï0¶0<Šn¬¨¯DÑ|»¸éHÎÀŠxÔÓN`Ó¾u¥â:SZÓº´q¹•NÒœõþú5¦à°†\ Žb†c´²r ±›Öm#Ik2UTÆöM<Òƒ`B“þ®0®ò\™)áÛßó^¸U#¤././@LongLink0000644000000000000000000000016200000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidGeneralizedTimeCRLnextUpdateTest13EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidGeneralizedTimeCRLnextUpdat0000644000175000001440000000124610461517311032320 0ustar dokousers0‚¢0‚  0  *†H†÷ 0S1 0 UUS10U Test Certificates1(0&UGenerizedTime CRL nextUpdate CA0 010419145720Z 110419145720Z0n1 0 UUS10U Test Certificates1C0AU:Valid GeneralizedTime CRL nextUpdate EE Certificate Test130Ÿ0  *†H†÷ 0‰ŸÁ[äa߯„$ráÈ]«Á×-¯ÿñLÁ¸©¢"RÌW8‚NdÆÔxÃ\ì‘ñÝÂÖ ˆêKùSÖ¹›Tµ<XÓYEI¥Ï§˜æ˜7ˆ.ˆ†h{ÿ‰8-~ÓSeI0ƒ²ÆeD΃ͧ%œøÒSxtf\!W…(ðzq„%£k0i0U#0€†.`b´¤ˆ㊫x¢îÑ00U@\¨=€³ÖÍ¥ïT÷¿Eø4¼/0Uÿð0U 00  `†He00  *†H†÷ “ƒr‰L¬¤’a… ò- «ÞÄòC¥þSõ”~ÐáS(>(»³hTØÁãuc?óA§ ³K˜Ú–j²š~–F/Ê÷ JÅëí »dÞÓ<ªpÜx¶ns… ÊóZÅþqèp¹¥Æl§zöÜ}¶azmŠ\Vë èÖT|íM3®mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/distributionPoint1CACert.crt0000644000175000001440000000117710461517311031460 0ustar dokousers0‚{0‚ä J0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0I1 0 UUS10U Test Certificates10U distributionPoint1 CA0Ÿ0  *†H†÷ 0‰èT€å_ÅŽ›SÇ)×ßij¾‹î³vúsve¥hý.N%F:ž`L–( ËÂ8[UÂm}â‡Võà"Yõœ{‹ŒHÊŠÙÁþ]>¡ÙTç/ôÍãDö?Ù¸ï­Þœð:~Qà}¿,ø ÏqçdÍ6 ¶\ÇOË£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0UžPWj…oøæA^ëzº0~ºô0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ Ã:óVì{<Ïñ;S“VüÍXy=•Æ«Ùj¯‡¨¯ÆŸ%F¥=FË“®…Ýu9Be?ÅëùÈE|Q V>θžzW=µQ,ÂHñ—=¬Þ ÐPK(µqÛ)[Z˜˜2£¦¸ùÅE³»ˆœÎñ,‘JÑÙ¾o¯8èDnb<ŒÚîmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/indirectCRLCA3Cert.crt0000644000175000001440000000117110461517311030065 0ustar dokousers0‚u0‚Þ V0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0C1 0 UUS10U Test Certificates10U indirectCRL CA30Ÿ0  *†H†÷ 0‰›Ù¬g4ŽzZ{Æz‡)jÒ°Ãã¸URäíÉ}ÊUOõSä“ü›oÒîV>ž"ŠÐ3ý×EŠ cáÌ ¯ØYaݵL¼`ñHÉVžyªaŒÀØËQª‹qêø¼2~îìÓÁ»N¡?uÚL\‚,m'—ŠŽ7ð]â܃Fw£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U–(¼)¦­XŸg.ÇÂÁ—:ßîˆë(0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ ÏàkOwŠd{²4åŸþÙý€U÷Aü˜¿ŸÐ£;õô´ét ® ›™ïtÐÑd|Ž&âHÚ`ÿYØýÝËWÎHöâL*dTœÇóÍqŠÇèáûüdÁˆ¹‘Û‰Ù_IªÃ’ßÃ…_w£ì´MrÞ‡ªz÷iGâéP机ü././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidpathLenConstraintTest14EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidpathLenConstraintTest14EE.c0000644000175000001440000000125410461517311032111 0ustar dokousers0‚¨0‚ 0  *†H†÷ 0U1 0 UUS10U Test Certificates1*0(U!pathLenConstraint6 subsubsubCA41X0 010419145720Z 110419145720Z0a1 0 UUS10U Test Certificates1604U-Valid pathLenConstraint EE Certificate Test140Ÿ0  *†H†÷ 0‰“s,±•ä±_Õ=h•¹ÆïH­Ð\ü?™3¶ 8‰ œÌ©@sCſ׻ÊxGÝ«¸œ\=ž H<]!ƒÒÊ$Qat#Ýã`¦qµ>ZnIE='¢-uäå²€=áVpÙ³¯ùIÈâìæX*ÐYºkÐùŒ[db¢õ£|0z0U#0€•犖tù<ô›©IóÁš?Îp0UI®o ö š1Ë'M1„¶Ó¡µ}0Uÿö0U 00  `†He00Uÿ0ÿ0  *†H†÷ _¹7ùŶ‘3¶›ëÿ¬ :F‰zÿ¿[à[–‰Q›-”kûš«Ç? ¢áÎc*ð‡â‚d?~0I¸EæGqüƒâN‰‹gVÆ¢Ú¡ÄDã™ö¯©!BëyÍöC6{¹@—WíþÇ06h 0¯*éÝòØøÒeÉãæê½L././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDNnameConstraintsTest8EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDNnameConstraintsTest8EE.0000644000175000001440000000125510461517310032152 0ustar dokousers0‚©0‚ 0  *†H†÷ 0J1 0 UUS10U Test Certificates10UnameConstraints DN4 CA0 010419145720Z 110419145720Z0~1 0 UUS10U Test Certificates10U excludedSubtree11806U/Invalid DN nameConstraints EE Certificate Test80Ÿ0  *†H†÷ 0‰Ñ-dÍ,z.ˆ=°7xIÒ7g®>N9sÛï}—ð~ëÎ ÜPš@ <žƒ}bŠ3D&‡Û-l’ß³¨:Í–?.ë5É#OqÜCQ0uCárü̆/uÎyápޝªùƒCÓ×ómŽs!¯1¾ë‘¡ÒÜϱãÅp€Nh²ý‰[«û@½£k0i0U#0€3)茀L¦­'ƒ%gÅå¶vÌ0UÚ-ËXŽLÔ³hg(h€ÒÊ0Uÿð0U 00  `†He00  *†H†÷ …Õ±µþï°@QtFÑ”<Èô1Íxm¹z]TSÙ: ¨E‰4NN¶ Aé3£~ᦩu$ÓÒ£leh¦ÂLè–È}èËw2¸¿³R‡6tl=d{gÙèL6VÙÚ1#Hu™Û¥Çÿ?„÷Ú–WÙÔ XE•êJRmø././@LongLink0000644000000000000000000000015500000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/UTF8StringCaseInsensitiveMatchCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/UTF8StringCaseInsensitiveMatchCA0000644000175000001440000000121610461517311032142 0ustar dokousers0‚Š0‚ó d0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0X1 0 UUS10U Test Certificates1-0+U $UTF8String Case Insensitive Match CA0Ÿ0  *†H†÷ 0‰š¢ Ä¥àáO#¤3N°ŽrÃÔ—yÙ½UŸ…¤‹ä’á«$ w°×ÉÊËž„">hp\±cþú¹¤ %Á!N’#ëÞfHre8`B½;Á!“(€˜íßGxŸ´ÌÖw3ý_P]%7$£¶æ›Š GÓ‡ec—/ºì wɦC£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U6b)|¥ÂЄÇ^£'ß©Db0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ ©çv¾kÛk7ÒJ˦zö¹Íà7l«÷°£&†ŸU;ó¦¤q=Ú¥V¢ÎãSÂØV9Ý>R|[ DnP>̧²½ÞrR/Ì+HoÅ=wçw˜6X¡ÖçØP6yÏš«„}˜u»Rsþå½²+DÆÒûl#øO÷ÉìÂmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/pathLenConstraint0subCA2Cert.crt0000644000175000001440000000121410461517311032152 0ustar dokousers0‚ˆ0‚ñ 0  *†H†÷ 0I1 0 UUS10U Test Certificates10UpathLenConstraint0 CA0 010419145720Z 110419145720Z0M1 0 UUS10U Test Certificates1"0 UpathLenConstraint0 subCA20Ÿ0  *†H†÷ 0‰°TXéú%!È "ºPþ#%ʧdô@L ¾¨"DªKîŸýúÍÆÃïòݽ„QøPOñbûÓ 9|tº"SÑÇ­`Dèüx¢«›Û³FÑŸ6³,"ÀHE™áËnð(›I—]k°¯øÏƒž™Â83y§Âˆhºˆ/Õ\xºÎÃõ£|0z0U#0€8­%ÈBZ× éJôæ,¥S¤PôL0URzkBN°ãÍ‚¥cÏn#”‰50Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ …-BÜÛ¡ù0,øª`þÖS­Ü—`Æ3_–û ì‚}éBg¨†#ø€¸ôlÙ²FYPÐ$ë÷-$™jl4,ÈêOYÊâÝÛÌuw³Véx°§TmoÃClòG¼ yjt:éêe]Âï W©gê¦6ý66ºÚÅÀÇRmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/P12Mapping1to3subCACert.crt0000644000175000001440000000133110461517311030735 0ustar dokousers0‚Õ0‚> 0  *†H†÷ 0G1 0 UUS10U Test Certificates10UP12 Mapping 1to3 CA0 010419145720Z 110419145720Z0J1 0 UUS10U Test Certificates10UP12 Mapping 1to3 subCA0Ÿ0  *†H†÷ 0‰Ë ¬è'ÇcþP¾dyËɇ8’vOÅcíÿ ûùxÁ~«]n¯ÂjÞh7mrZAs–CdÄË«j¥îñBvÂr;¦]çXq=ˆñ^ìÂÄ3QšÖ.[Y®F×KÏ™œ9—´0©?Ãè™vØ\h—P¬ýÍë[‚‹—}+!{ós¢&”'Ñ&6È×uÝË ±üå£JìŒ|‘>? å¹É¦àîâ[]¶t?~îç§#špÁ¸º”º¤%Ìwé?l%è˜HÝu±*5|wž(Éà•ÝËŸô6Z¥ÎÊ.§h¡ªoM›Ê¬Y././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidIDPwithindirectCRLTest22EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidIDPwithindirectCRLTest22EE.0000644000175000001440000000121410461517311031674 0ustar dokousers0‚ˆ0‚ñ 0  *†H†÷ 0C1 0 UUS10U Test Certificates10UindirectCRL CA10 010419145720Z 110419145720Z0d1 0 UUS10U Test Certificates1907U0Valid IDP with indirectCRL EE Certificate Test220Ÿ0  *†H†÷ 0‰¶Ÿ(8?1+®Ú+qä Ï qäÒSì·_uh“Þå)þ‡‹4ZÙyÄ{´m"mÈ­Vª½´¡72ëR\Мgà«>=þœíŽQ@•uŽ”ÂJ=ëUP¤¿As­ŸjÁUZˆÝƒ÷ ¨.9UœQ`Ý3Ë!¦§>-7ªrO£k0i0U#0€lÁ_ا-à†“\ ðI¹%[è0Uî¹fʆ2‚¯]ùœºCÈ yÇ-0Uÿð0U 00  `†He00  *†H†÷ j*ê³ã c@Ÿ—Úå›ä2¸r{»½39} ³ò·Q.fÇÀùèº>¶þ»±jÅLšùlé x;­¹%cÛ%ÞÁø{ ?ßX[ؾ8ë¹ 9­ ŽsU.[ŠWNhOñO ³²Ô-ELí‰VÖ+ð€ù8!¦v•oˆø—././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidDNnameConstraintsTest18EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidDNnameConstraintsTest18EE.c0000644000175000001440000000122510461517311032045 0ustar dokousers0‚‘0‚ú 0  *†H†÷ 0N1 0 UUS10U Test Certificates1#0!UnameConstraints DN3 subCA20 010419145720Z 110419145720Z0b1 0 UUS10U Test Certificates1705U.Valid DN nameConstraints EE Certificate Test180Ÿ0  *†H†÷ 0‰Áàú\ñ¯ï5V*øsE–Þs>_ev¸`š£0A²¦nû¢EºÀmà:°Šü5XSO=4Ò¼š’¨Þ Ã\†ÉäÂ|šÉ@5Á³T(ãl% âÌø¢.J_…’­2ë“ãJ ,û¥j9Ùl¹i Ä­ùDUW0Í“ÆyúkZc£k0i0U#0€ H¾(qjH$ <âJÔ*â×5ï0UÎÇÉnT«4´:{ªÜž$Ãs»-„0Uÿð0U 00  `†He00  *†H†÷ · ‡ê¬=ðI·îýv®µÓˆEfO³lýtbiD‘Ã3hZ½­æœpœY/µ²òãQO.¢LÒà ò?‹bZarq¶H·¼òTq1<Ѩ¤G\†Ý;éi‰Hg:ãIbD-硊ë5Ýfó„ )8åyns’øw™60Ù¬z›à¬mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/nameConstraintsDNS1CACert.crt0000644000175000001440000000125310461517311031437 0ustar dokousers0‚§0‚ F0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0K1 0 UUS10U Test Certificates1 0UnameConstraints DNS1 CA0Ÿ0  *†H†÷ 0‰¡xpexŽ!¤ùfOõ{o–§ c_Ö oCÁ”|}ö> ­¾¯ž1[_^b[k¿g½-xÙýáy\~›?é/^ôCÞ‚jÀ,=M®@.´ØäQ'…m*íIv5 X¨ºÖÉÎÞ1u~ú)ªaÈ¡­IÃà®ã*÷Å«£¥0¢0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0UuçgG «ñˆˆÛžÕRŽüsx0Uÿ0U 00  `†He00Uÿ0ÿ0&Uÿ0 0‚testcertificates.gov0  *†H†÷ ÍEyjz"8?0A Þ´\ƒœ œÙktø±Z7¸«bPpùêfMÓ[Ó´;VfpV„·>,P”“Çdkä–$Ê3ÛÎí¯ ØPåý‘Q6¹¶¬qcg “åÂ?’#€ŽòI­Ië/WEb[MÉó•þy¯:²ê‘Npƒ¥¬vÿcö®å@,)././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDNnameConstraintsTest20EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDNnameConstraintsTest20EE0000644000175000001440000000117110461517310032143 0ustar dokousers0‚u0‚Þ  0  *†H†÷ 0J1 0 UUS10U Test Certificates10UnameConstraints DN1 CA0 010419145720Z 110419145720Z0J1 0 UUS10U Test Certificates10UnameConstraints DN1 CA0Ÿ0  *†H†÷ 0‰Ò-%„/wsã.u¡S“åû'N`Ùè’tØ^ºT+¤Èé°V…ŠˆÄ‚&?ùÛ'1p‹ 4V;Ò¶ÈŒéó…mV4¼Ý„£—S‰¼û)qþ˜1mLR¼jJŸ~‘¶×2*Š[Ešdø.ú¿Ê~«`=[¼ëÇÒë^÷…ý¡ùñ³GÂC£k0i0U#0€N.£çÙÝ‹§‚;AJÞ|Y#WNS0U¡ºõÀT\ò“ ›A P´ØgO!0Uÿð0U 00  `†He00  *†H†÷ Ik¯iñ¨‘›,fŸ1]Êç3aHq&Ý%p—Aä…°~ɽt¾Üõ¿í,hHI¢îÔCžAí-è#м® A4É#r Œbr¶ê™Ü²)åÛñÁ3Eú4í{ãøl';¨•¾˜0¸Ö,¤üÑ.$¼8T &)„@”=7,././@LongLink0000644000000000000000000000016200000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDNandRFC822nameConstraintsTest29EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDNandRFC822nameConstraint0000644000175000001440000000141410461517310032016 0ustar dokousers0‚0‚q 0  *†H†÷ 0j1 0 UUS10U Test Certificates10U permittedSubtree11#0!UnameConstraints DN1 subCA30 010419145720Z 110419145720Z0¼1 0 UUS10U Test Certificates10U permittedSubtree11D0BU;Invalid DN and RFC822 nameConstraints EE Certificate Test291/0- *†H†÷   Test29EE@invalidcertificates.gov0Ÿ0  *†H†÷ 0‰Ñi¶Æ¢º¡¹ñ'’nuLLÚû\mäo:ÂÛ :&9pFGþ:½7‘»€† «›»âP~$‚ÈVÍÛ;M¦à~RNœ”±ãoX¨»ÇÑD|\y3'VM˜6Iˆ@ šÚn¢VàNŠ/Ñ'®-‡CE< –Bé)èC"24nÍ.ï¯W£k0i0U#0€W«øœ'ÈÒôæÏoª 5gƒ$k0U&å0ÖÜ4Îäµþ¯ä®öª|270Uÿð0U 00  `†He00  *†H†÷ x"8 ß«”ý®€cquƒA¨½UÇÊ]“8ÍÐUÝ9¤²‹‘”ò†>uEú:'ñ}ÒPÙaÔªDiÆå[§£_à6%u®c{¡gv[HÁÈ´´¥ø5oØ™´Z»üV6>rš ¢`,mÖ3F騲§ÙÜâr¹IòIJ¸YM±mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/nameConstraintsDN2CACert.crt0000644000175000001440000000145610461517311031322 0ustar dokousers0‚*0‚“ ?0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0J1 0 UUS10U Test Certificates10UnameConstraints DN2 CA0Ÿ0  *†H†÷ 0‰´^B¹µËî2â ¸»°oD-Y÷¾Ý¡q>Óv<…n+%7žS Údœ“lzW)_–;]R<Ø™eä\6Â&MÀ˜’ö48ÛIñ+ÞñQ沜XZÏæ¥9½¡³Çƒ|r¢²;\*?ò½ð+ÝÛ×Ôf¸?Ù(…å“3âÑ$›M<£Fð¤”Qâ‚Û껞·V˜ ³¤³ÁWPJe£‘0Ž0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0UªidµRå¢c  ój? ²Ô´0Uÿ0U 00  `†He00Uÿ0ÿ0U$ÿ0€0  *†H†÷ 7ûc* J¢Ù¤F `3:m~V¹•ðsÐbòîUŠ ,çºþ°"c;eû¥a ¢Éã~b”: ËqRá ú$@¤×Mt0\œ 6ýªK™_ÔÃà}¥ž^mE'äY‡‰Ešme_'V<ŽÜxŸ‡ôbjï—& Š,O&Êx0././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidNegativeSerialNumberTest14EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidNegativeSerialNumberTest14E0000644000175000001440000000123110461517311032171 0ustar dokousers0‚•0‚þ ÿ0  *†H†÷ 0M1 0 UUS10U Test Certificates1"0 UNegative Serial Number CA0 010419145720Z 110419145720Z0f1 0 UUS10U Test Certificates1;09U2Valid Negative Serial Number EE Certificate Test140Ÿ0  *†H†÷ 0‰É««l‘ýeM©uçiaÄ'´æUƅꦀµÔEÌ(<»U}k¨ Uje£˜žLö…}Z¢`>„dúÙC¡P’Ë(í ÀU°»³O˜‰i¶‚®àVÏóêvõ¤IlܬÇîË&ÏÈ¥ò7L¥TÕÙ½LR×ðRwQáImÓæ$õ£k0i0U#0€Œ§#MK÷ꡲ‡¹ÀÓ3XË‚0U¼aê™ ûlÛµbÏ’ÜžÛ%€80Uÿð0U 00  `†He00  *†H†÷ %䡯­·´¸m=¾v”½ZDÅõùì‘OkvA\úÎÑ2ß G’yM7wj-ùü1ÆúæQÁ½¡ù þ½µ5 9´‘·õHÊ2‡n¯¯6*±É|w—ÈÚÿÇ+ÿŽ @˜xŠã mhPŸ¶B#J‰Oûxxp#BXyý"././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/inhibitAnyPolicy1subsubCA2Cert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/inhibitAnyPolicy1subsubCA2Cert.c0000644000175000001440000000121310461517311032134 0ustar dokousers0‚‡0‚ð 0  *†H†÷ 0L1 0 UUS10U Test Certificates1!0UinhibitAnyPolicy1 subCA20 010419145720Z 110419145720Z0O1 0 UUS10U Test Certificates1$0"UinhibitAnyPolicy1 subsubCA20Ÿ0  *†H†÷ 0‰’ZŽþÙßZTBÔlLL0\ê3MýÃ-ë`nÚ‡Ñæÿ¯™/sqTãZ·eÕDß6ôY#¤^ižü•ê½ma9‹=‚†¦]¹2.*£QMŒ¢Î¦Ÿ¨cƒì4dœä#s{dwŠ{ÈÙ+yÀàng¿Oʲ8›¯P(Žîã£v0t0U#0€«ÈA&ÐÕLæ+Vgìï‚ÄÂÝòU0U"ÉÕ1ÝÂvçÃÜ’üÀ…“ªæÍÎ0Uÿ0U  00U 0Uÿ0ÿ0  *†H†÷ 7ûظ)®¤Þ¦l¶u'¾êÖPlâþ`7Ó{'Zí›ü3§déö0™¦7cˆjí¾ìMÔ%I¯½€_{g-ì"é&Û,‰ëmÓ/kä—Š4ƒüì!—+”ò§¿ì–ð.’o]HH«Í¿¼ñ¾$]ÊìºáŽu¢èàò‰%‰°™³oS‚mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/inhibitPolicyMapping5CACert.crt0000644000175000001440000000123010461517311032043 0ustar dokousers0‚”0‚ý 90  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0L1 0 UUS10U Test Certificates1!0UinhibitPolicyMapping5 CA0Ÿ0  *†H†÷ 0‰¦¾3”¬Ý¸íш±½…‡µJÏ´TÔs°·(Æ—Ø»vë`un_C–­œäS4Ñc]BˆHºŽÖi¼I9ÄŠöZåxL9ñ¶cÃ\çú<ÆÜ\ä™Î¿ ~ä!±“IÎÍâØ\ŸoÊ?çeÎbÒN‡ìÕ>q׿³›dœ ç¶ißÝ£‘0Ž0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U@¿p.8ø¶¯§ZÙ²CY˜õL0Uÿ0U 00  `†He00Uÿ0ÿ0U$ÿ0€0  *†H†÷ - æoþfÇã"ÓœÒ% ˆO߯€2¶Í*eås).Bºà¬yUëĉœ#xbÞ…p’övÞf™£Þª9‰¼CEÒ¼ sŽþ.ZdúƒÖ^£Ikˆ†`Xq´gq#œ»bcQòßï£|0z0U#0€ït]½'!\mwD&mÜ¿û¾ck 0UßjkGÚKwºöT´R”&Ê0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ º9Wƒð¨÷×&Ç¿iíÇ¿pªËغޔ¶ÃxtT;M¶8R»ºÿAœ•›ÎÏ UÊöø+‚ùŽRF"‘둌sy „¸ã xËêD3ÖË{÷xwY¤À…85!ä’ÐQVôƒZÂ+vºº%=š¯8ãÚZ‰’û r#a././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDNnameConstraintsTest3EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDNnameConstraintsTest3EE.0000644000175000001440000000150110461517310032137 0ustar dokousers0‚=0‚¦ 0  *†H†÷ 0J1 0 UUS10U Test Certificates10UnameConstraints DN1 CA0 010419145720Z 110419145720Z01 0 UUS10U Test Certificates10U permittedSubtree11806U/Invalid DN nameConstraints EE Certificate Test30Ÿ0  *†H†÷ 0‰ÉEUGYè‹wÞÔ6O±ò9$²2BŒlAˆ‚Fõo¹ ¬®–€ã•SÏ<ø¤î?- œf OëTl3Û¼”òÄu©SÇÄop…õøíaw1DŽö²Š¡(® ·C®ˆ7:Ê c¾7½àÀýþÙö¡q—‰•ßÛnT<“€ƒþØ!£ý0ú0U#0€N.£çÙÝ‹§‚;AJÞ|Y#WNS0U\ÖiØ]ƒJX’DÄ@ÿæ>^DN0Uÿð0U 00  `†He00ŽU†0ƒ¤€0~1 0 UUS10U Test Certificates10U excludedSubtree11806U/Invalid DN nameConstraints EE Certificate Test30  *†H†÷ F-lB{R¸†09_³,n9D·¯å×Ây-B—é'oΈÕen°JwâŠxÄIR K¿§¾™OSPùË AÌ£vq»¿ ¿kð'zMB8É}žö¯âœ®W¾ ÙŠÞ}ªÇ1ŸéÛ‘‚ˆÜõ¢)éM!ãàˆ"-rߟMÁel././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/inhibitAnyPolicy5subsubCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/inhibitAnyPolicy5subsubCACert.cr0000644000175000001440000000121710461517311032244 0ustar dokousers0‚‹0‚ô 0  *†H†÷ 0K1 0 UUS10U Test Certificates1 0UinhibitAnyPolicy5 subCA0 010419145720Z 110419145720Z0N1 0 UUS10U Test Certificates1#0!UinhibitAnyPolicy5 subsubCA0Ÿ0  *†H†÷ 0‰­ÿá„*‡G(›(ß§{² …§À¿ ØN9ß‹R9_‰Ï¹;ì·÷êr9ü;4Ê Mt²/½ÂÐváè¥M±ðu+JSó-בB{˜(ìg©dÛv‰‹Þb”¡Çüíƒx¥—<@Àþ9±ƒÛœ,x_dÊÚ€ ßR–†pÚc£|0z0U#0€JwbX#¢Ã¹îÇnß퉈M—o0Usù ôdœ²ñï·Uª¤¢¯0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ †-É’¨µà ÛW¤ y ½P`ÀSÀiþÜ@Oîó_ÝΞ{×L<@ÔqX„ ¾åfwøü„xŠÊŠ•ºrÙü­DŸõõ4"`ß ‰¦P[³¤¹`1Exˆ/¿'Gœ–nÙÎ&…cÒHÔ¨sÞÊxu l­“h»üŽÃ8SŽk W././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidMappingToanyPolicyTest8EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidMappingToanyPolicyTest8EE0000644000175000001440000000121710461517310032266 0ustar dokousers0‚‹0‚ô 0  *†H†÷ 0K1 0 UUS10U Test Certificates1 0UMapping To anyPolicy CA0 010419145720Z 110419145720Z0e1 0 UUS10U Test Certificates1:08U1Invalid Mapping To anyPolicy EE Certificate Test80Ÿ0  *†H†÷ 0‰µn_àN¥[‹¬•´œg_qW¤MÀ±>g0 ÎǤÖΖò½Œ`¡wÍ þÛŽÖ›³ò ÷ä†Õ„)¨íýAH˜ÂØ7ÑÂÝž0IáÓÛ6ŒÓÙª½u¹ø†ýô=ƒ4¨å< [ož5iÍ9èÉþdCÀÇÃ÷A+}J¨q£e0c0U#0€º€Ìz,§cZ«N?„ÄSU iú0U›á µwþ Cæ–àðkV“{0Uÿð0U  00U 0  *†H†÷ ݤHp½a•;µ¥%EZÝá$ƒ¾ù$Ê,ȃÔ<Í´ÿÁS¿ú{÷×jÔ–¼Ú–gß^¨ïóèóžJÕÌÑ]àp¾Î MC¬[I'hªB‘Eͦê}ðóŸˆ J¼¸1~sDeð#q˜‰}Nsn¶>‡B_S¯x¨–Cî~././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidinhibitPolicyMappingTest6EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidinhibitPolicyMappingTest60000644000175000001440000000124410461517311032407 0ustar dokousers0‚ 0‚  0  *†H†÷ 0Z1 0 UUS10U Test Certificates1/0-U&inhibitPolicyMapping1 P12 subsubCAIPM50 010419145720Z 110419145720Z0e1 0 UUS10U Test Certificates1:08U1Invalid inhibitPolicyMapping EE Certificate Test60Ÿ0  *†H†÷ 0‰À¤Œ¯¤|µF‘ÛŽùg¡>.¤'Œß›÷%a>÷¸+Ýÿ QsWœ?7Xí:¢Yg?ý¾é&ùkÎ#!ÕOýœ$‡÷Û‘ÿt¢¼Åέ9º|Ãi„K q¾J¤Pê‚€ídî5±£|0z0U#0€Ì´ç\ùÕ7ÔPU²1–.䑤Äh0U ‡1µT<×l€Iֹؒ¹þ‰'ë 0Uÿö0U 00  `†He00Uÿ0ÿ0  *†H†÷  ëšpk1ÃÄjè|çO÷oÎÌ=Üà6çI—¢ñR[ÈÜ9Ç­~Òñ-”RÖ !ðމÝàP¼1MÖ¿¦ O…`«¾¥ä…²¼Š,¸µé$ç1{9AžÄI ÔPã“Éê. »LxÂÓG·4¤)¶6 oï!Κ Ís¬Imauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/TrustAnchorRootCertificate.crt0000644000175000001440000000107410461517311032103 0ustar dokousers0‚80‚¡ 0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0@1 0 UUS10U Test Certificates10U Trust Anchor0Ÿ0  *†H†÷ 0‰Ò(?–ªC›õu¤ƒž¥=â‚“˜ÏÕ®€\?¡e_ 5V®äMí—Ô ñº§^_RFáˆ[,pérÄiÚt¹+o§W kp·fggsà8E½41ÖÀ·36<¬xL·§Ó9` õhÙÖyÆ€YÃõž䊷޲ëÍñ­jA{T7‡v/E£B0@0UûlÔ-žÊ'zž °<êš¼‡ÿIê0Uÿ0Uÿ0ÿ0  *†H†÷ cJ&)ònã¼S'|’oaq\°0RcÇN³Rx4eÚy>3ȲB9ÿ/RU‘ÝûˆWdèvK^¶öÂåÈßnÄáÅÀé"÷¥à¹Ÿ|LKðõÒkž5Q fbÑ7É”¬ÝDÜKâgÿçÃ$‘ÕCK+údg±ýuˆÓ././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy0subsubCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy0subsubCACe0000644000175000001440000000123110461517311032342 0ustar dokousers0‚•0‚þ 0  *†H†÷ 0P1 0 UUS10U Test Certificates1%0#UrequireExplicitPolicy0 subCA0 010419145720Z 110419145720Z0S1 0 UUS10U Test Certificates1(0&UrequireExplicitPolicy0 subsubCA0Ÿ0  *†H†÷ 0‰ÂN<0nÜŠ¦jþŽ$ó ¨ºa]èq±o öì—¨Ùn¹jðT¶ê‚å$«ÎÉf;‚,QØ(Hâv`ywðsºxjÜáNòý+ÒE7IÏ3»éˆöÝã›–{ìdù^áPô¤zÅ£u @*‡O¼,¯Yƒ¾ÖpµœL7£|0z0U#0€ðpGbŠ–Ñ‰ªT‰øœm)0U°BI3hó*ÍT!]æbápÎ¥#@0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷  z Ï“¼qJ³œøìè¾fJ% ~¼‡Hë¸AIHf ˆYÆÜ#¸=¡´Hˆ9vaÂ÷9|wƒ™¢ü΋؅µÙ\O_ÒG°„©ð}UÆXMù–Õ>=f¹Âº æuIÃ,­KÓ L”ï2ÿ+e\6HVâ -Qñ±Sƒ¨Íþ././@LongLink0000644000000000000000000000016000000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidGeneralizedTimenotAfterDateTest8EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidGeneralizedTimenotAfterDate0000644000175000001440000000121610461517311032360 0ustar dokousers0‚Š0‚ó 0  *†H†÷ 0;1 0 UUS10U Test Certificates10UGood CA0  010419145720Z20500101120100Z0l1 0 UUS10U Test Certificates1A0?U8Valid GeneralizedTime notAfter Date EE Certificate Test80Ÿ0  *†H†÷ 0‰»ßKq6¦Á*àÿ±Ã¨[èví5_þ} Žœ¡_t+væYáTYÌ9d×糨ã5‘ìV’$÷\æÔ4(mûŸîäŽ>C™<7Õ”lfR¢?y% à®>YúíðÍoÌ·#ý4mº-c§ —(?ÙŽÛ2{xü1¬· Af×£k0i0U#0€·.¦‚ËÂȼ¨{'D×53ßš”Ç0U¢M²€àõÑ•7¼lZy<€ü“0Uÿð0U 00  `†He00  *†H†÷ ·ï·{\Í¢ooÑ¥P)0å šõ2ñ¿@ž&ßèê*;,¿ö´eÚˆg+ë§ž[´S2€áÀÀ¥$(É$ &úêA^|×VO&¸$>:íÆCj 4Òø÷áÏÛ$æidùz$ăΠŠÚs×DÖàO_„ÏaÞ#ŠN././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidrequireExplicitPolicyTest4EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidrequireExplicitPolicyTest4E0000644000175000001440000000123710461517311032401 0ustar dokousers0‚›0‚ 0  *†H†÷ 0V1 0 UUS10U Test Certificates1+0)U"requireExplicitPolicy0 subsubsubCA0 010419145720Z 110419145720Z0d1 0 UUS10U Test Certificates1907U0Valid requireExplicitPolicy EE Certificate Test40Ÿ0  *†H†÷ 0‰¾Î±wbïã½{x%¢J7ÑÕn:¢‚]ô­|8þa ŸâÉcQîíeúž1m]‹È”ñEu„ÃD£j6§úàÇäD“2…eÅsJæ*n5ô‹ŒÊ+ÂÔ®·IZø¿ål«šƒ´r¥iL{APR9Æzþs¥ÕÂc…=Ëf¾î6.8ë£k0i0U#0€Y×èân×yp‚aˆÏRä·I*0UA#¸i¸qÍZÑèÎ-‡ÎJ* ‹0Uÿð0U 00  `†He00  *†H†÷ V—ÊŽÅŠÈ·\9ö«×á#sײLÌ^ÞÅ×Ò©Ùå³ö{FỎF5–õ&ÖñáU½²?ó êðÂlxr`-'&¥'±õouú&ßU3esíAçi"Õ‰¶¥­xßuà<øµý‡å“././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidRFC822nameConstraintsTest25EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidRFC822nameConstraintsTest250000644000175000001440000000132010461517311031751 0ustar dokousers0‚Ì0‚5 0  *†H†÷ 0N1 0 UUS10U Test Certificates1#0!UnameConstraints RFC822 CA30 010419145720Z 110419145720Z0f1 0 UUS10U Test Certificates1;09U2Valid RFC822 nameConstraints EE Certificate Test250Ÿ0  *†H†÷ 0‰Ž[½h„;pj.ö=‹ý!-3„¾ÇÊîȳ¶£d6Ë’XX+þ“ˆë.¾XæºQ>#¼Ù¯+Ç9)ª¶s<ç”E}}ˆãOt_ð·‚.ù\ ­UBI'o©&!8Ýo$€|ÃúC ì#Ò(XWýÅC3£">Á ÅE+Vùz?Ï£¡0ž0U#0€ê·nš+ €6giµÚ5¥†=)x0Uüñy¨†$ž"hÆ. ÝÞ¸n=Ò70Uÿð0U 00  `†He003U,0*(Test25EE@mailserver.testcertificates.gov0  *†H†÷ L2Á„yoʦßISÐeù‹Á…â|§vHEF@gú !ðaX{wÅÿ]rÌ I=޲'ÒFH¶:¦ÃØ„8dªÌøIƒr9̓ӒHÐ!E*ý-‘8ßÚBXr?¨Zy{I¯@Bm„ËÚ¤a^xƒRYâ„YsKE¯îœåÒ[lþ././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidRFC822nameConstraintsTest21EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidRFC822nameConstraintsTest210000644000175000001440000000132010461517311031745 0ustar dokousers0‚Ì0‚5 0  *†H†÷ 0N1 0 UUS10U Test Certificates1#0!UnameConstraints RFC822 CA10 010419145720Z 110419145720Z0f1 0 UUS10U Test Certificates1;09U2Valid RFC822 nameConstraints EE Certificate Test210Ÿ0  *†H†÷ 0‰šåNÃú‚W¶¹§ 2O}ýž¨7Um î©’ ¨Ësm÷>Ê6š„M~¸²œ!Ï÷›Ü„V’R¶ê£ù›qÿÆØ½þÎLv·¹-<µ×š·Ó„»(®„¯Úz~zȪÇ:å/ú©ŽIŠjd¬"eºˆº¿ÆÔ}ŒzÍ£<Þ}T£¡0ž0U#0€ã…zŽ¢;žî¸yªÄ½.Y­0U´ BÍ•ê‡ÔcÕOÖÑå·;û0Uÿð0U 00  `†He003U,0*(Test21EE@mailserver.testcertificates.gov0  *†H†÷ jC=Ì©ª"Ù >ê+§N².Ê Ó÷_ç8ÊnÉ?MøÚF!'´¨dY…l„Aë>;Ø¥›%Í{ ÏK+¡Ž·OB… 5¥šîxC¬+üZdwìQðnC\Fˆ•ßÿòƒþnuãbãÜïR¦å2ý­önË©£L¤XêÃ5žÙ¢././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidDNnameConstraintsTest19EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidDNnameConstraintsTest19EE.c0000644000175000001440000000125510461517311032051 0ustar dokousers0‚©0‚ 0  *†H†÷ 0J1 0 UUS10U Test Certificates10UnameConstraints DN1 CA0 010419145720Z 110419145720Z0~1 0 UUS10U Test Certificates10U permittedSubtree11705U.Valid DN nameConstraints EE Certificate Test190Ÿ0  *†H†÷ 0‰­¯,ƒ¸sfËÉËœG.%ž›Àê´éü¨ôRmÝl¢Û¡~Žýj›ð5š"͹ϰØð}Úí›ð­k;¨íŽô΃´“NÓÔ p‰®EiÑ*•HDÄqf}Ö’5àNA†¹QD|G»© ¸C\™p¸eÆâúò8lm£k0i0U#0€·¬ ògÒ9qbÛ­53‘ü”óóÚ0UÐ}‰{㠹촭œ¼½²ûÌ0Uÿð0U 00  `†He00  *†H†÷ Wزñ~Š~L7KyVØЉ֫†W¶ö(̯ìÌÀˆrcÖµ4ŠM›Œ7¯É” Ṍ¢û›2ȯ{q_3{aEY¤RGZÝ›ì³lUmÐÏHYáNÃ6PžH?Ÿßµ!€s Ù*ÀʦèÙÍ8SÐtòê×þf‘mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/DifferentPoliciesTest7EE.crt0000644000175000001440000000124010461517310031351 0ustar dokousers0‚œ0‚ 0  *†H†÷ 0O1 0 UUS10U Test Certificates1$0"UPolicies P123 subsubCAP12P10 010419145720Z 110419145720Z0[1 0 UUS10U Test Certificates100.U'Different Policies EE Certificate Test70Ÿ0  *†H†÷ 0‰ªìØAIäšV‹ûyg‡Â@*,Æê¥ªÃ·“šs¦d,ÆFlëõ»?ÚG×B ¤Y'æðfRCè 9lÎ|l.=Ô_nª–æÄ›‰ÊKG·¾I+qRûÚ)ãý3Õ¾xˆ•€ê¨ïì"#þÙ@\lAc¶™)Om£|0z0U#0€#‰œø#aBè–›5j¼0½^Š‚0UòCžÓ½ãj÷qü‹6îý D0Uÿö0U 00  `†He00Uÿ0ÿ0  *†H†÷ É(®ý“žyîÓ·›†z û ÚõˆÇv!˜ZÏÐ&ÆÉÒ¬éõ凉®ƒ×%õsà³VE¤5T?a$M“¹{„(+m¬ËÔí­OQ®IC»ž?·&GÜ+Lç—çq”HuüáwEÐ„Ãø`%#6TÑžhÑ*J¢óW;–̦|Ú././@LongLink0000644000000000000000000000016200000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidSelfIssuedinhibitAnyPolicyTest10EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidSelfIssuedinhibitAnyPolic0000644000175000001440000000121010461517311032404 0ustar dokousers0‚„0‚í 0  *†H†÷ 0L1 0 UUS10U Test Certificates1!0UinhibitAnyPolicy1 subCA20 010419145720Z 110419145720Z0L1 0 UUS10U Test Certificates1!0UinhibitAnyPolicy1 subCA20Ÿ0  *†H†÷ 0‰ÿ®èŽ6͉öXV­–]kAÇoª–ŒñƒýKÑ:ë ˆ$à«ëKž†bùÿñ9” S3Y!úðiv>~"{Éyó…ÙOwB”þØóëø·Ž§éJæ>j]÷y<à­<ã—1,N䤤X³(Wx$F À¦‰ùœûP ×i#ëV,íq9T–Üѽ ¦hè0Uÿð0  *†H†÷ †d{îÜÒsp~¨É²~¥&[—ŒÄØÇÊhnD<75tæO´P¿üлê±ÃþG NëVëÆHùuª" “¦L]hÓÜÃ0ÌÞÙWRú‚ØÖ­›õÞÃ_‡Ëˆ_Ít iT¹A©*œÐí&-˜y~Ï=hûÖ5”Šã ìçž+(R4././@LongLink0000644000000000000000000000015500000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/inhibitPolicyMapping5subsubsubCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/inhibitPolicyMapping5subsubsubCA0000644000175000001440000000130710461517311032401 0ustar dokousers0‚Ã0‚, 0  *†H†÷ 0R1 0 UUS10U Test Certificates1'0%UinhibitPolicyMapping5 subsubCA0 010419145720Z 110419145720Z0U1 0 UUS10U Test Certificates1*0(U!inhibitPolicyMapping5 subsubsubCA0Ÿ0  *†H†÷ 0‰Óö;©‚º4vìB8¯:1èöG=«\£k½dùNCU-¸&™“¤tKHÇ8W­ŒµYzšïÙ£÷‡¬¯–QÙ ‡ëwÄTRÜY`Ñ7£…Ã1ã zDÕª‡Á.Ö!9åëa|ef¤SÀÏW›Û|¸ÿ;©KzÖÕϾͮÁ£¥0¢0U#0€ßjkGÚKwºöT´R”&Ê0U$¶q­WÀ÷„š¯V·âHlóý®10Uÿ0U 00  `†He00&U!ÿ00 `†He0 `†He00Uÿ0ÿ0  *†H†÷ |'Ü=tH9ÞÓw¶×õÌtÑ>cDú0’Ý-v‚ÐmáÚܬj²i®Á/j >| Ð>"Ô+ƒ=¬ åWônÀevã§«Ò”*ŸN@£¡m7È ´–DbNÔ÷‰Uœài;ê— _…©¿yA²®¿+[:¿m7¶¹=X<§¿././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/pathLenConstraint6subsubCA11Cert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/pathLenConstraint6subsubCA11Cert0000644000175000001440000000122710461517311032167 0ustar dokousers0‚“0‚ü 0  *†H†÷ 0M1 0 UUS10U Test Certificates1"0 UpathLenConstraint6 subCA10 010419145720Z 110419145720Z0Q1 0 UUS10U Test Certificates1&0$UpathLenConstraint6 subsubCA110Ÿ0  *†H†÷ 0‰Ò]`»/E‹7f^H)††—hŽ3€¯Ì*IYòÌc ³ƒÞ/4=v™]j!æ„G²ÅÒçHnҫ椒Wâ+uŸF,pÖ¶SªöîüÚ˜ýç䟾p.(;Í“áT-P™Ô8‡õh€Æë:¨Ú„U6ëÜ'ã£0}0U#0€D4áP&ÿ<# ­¿½NÆ{à HŠª0U³À÷Qö\šN,‡PQå‘ÓX[+0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ 6º #Ãró!¥Ê¹ŸcG4Eä?È9‰¶šó£µ#ÿÍA6U ÐQé‰3 X•ˆ×"÷1¨™8åïú6‰ ÀÌëW5ÕkŠ`?Qú0˜œégG‰GÔ†í—v8¿»«•z3#ºèŠå%%R9_¦1e Üoð #j././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvaliddistributionPointTest9EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvaliddistributionPointTest9EE.0000644000175000001440000000122010461517311032303 0ustar dokousers0‚Œ0‚õ 0  *†H†÷ 0I1 0 UUS10U Test Certificates10U distributionPoint2 CA0 010419145720Z 110419145720Z0b1 0 UUS10U Test Certificates1705U.Invalid distributionPoint EE Certificate Test90Ÿ0  *†H†÷ 0‰Óû.T;ie~tb†¸m pâ‹.$å¬y3aQW™„©H Ùçˆô•ŸôCbeZò2‡L¸Ö?â†W†lŽ½Î‚õ§œü†²+Ißb]C˜)sOÔÙÕ¶ƒRd S&ÝUQ À›õüH’Á:˜ÝÿʯÂÁS(2þðž+*«)£k0i0U#0€:4‹ãvXXć˜}~Œ¬]¹N0U¶ô<—M¾àÕìL8Wz€â-÷¸>0Uÿð0U 00  `†He00  *†H†÷ Ù •”a0qŠ\€&û…‘*ï6t|.!½™õkŒ~‡³^;nEö{)ÞÈVð¸þéÁ„H4m-côUú~ýSaqÁ70Þ–4`>~û-Å­‡ë7I®‡¯” iG¤fêØ›“4‰eü±sï_B–Ì›qÀºžz2œ2¶Q{Ë././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidDNnameConstraintsTest11EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidDNnameConstraintsTest11EE.c0000644000175000001440000000131210461517311032033 0ustar dokousers0‚Æ0‚/ 0  *†H†÷ 0J1 0 UUS10U Test Certificates10UnameConstraints DN5 CA0 010419145720Z 110419145720Z0š1 0 UUS10U Test Certificates10U permittedSubtree110U permittedSubtree21705U.Valid DN nameConstraints EE Certificate Test110Ÿ0  *†H†÷ 0‰™_Çxlj Á ^ã” ªûcÛ <ò›óâ®n´]ž5̵rɉV‹˜àëzǵ gð‹þ`Ó¸Ä÷5ÕN“Å~o¶nïþ{Ä&¹MªEâ@8z2cÏÉΑ-2òÖÖíÆPµá^ØnyZ eœÉð+|¶˜E£k0i0U#0€5Ÿ¬Á¹¡ã:þñ/ºw²NMYí0Ub,2Û×¥‘zç&Sâ¶<ÿ‚>0Uÿð0U 00  `†He00  *†H†÷ ?8¸£ñ¦ÿ&÷ô–‹µ¼“)TMˆPšR”âù¥»C£/Ýôáª` îÌ9'š[gs? N]HTEŒ r#©Å Ë…Î/ iÕ–rõsËPáÒ9íRŒ^T`•I7y }CZ¬ßAïýäˆñ¡¡ÙB­ntÁd,+¥xÁ././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidIDPwithindirectCRLTest26EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidIDPwithindirectCRLTest26E0000644000175000001440000000134710461517310032052 0ustar dokousers0‚ã0‚L 0  *†H†÷ 0C1 0 UUS10U Test Certificates10UindirectCRL CA20 010419145720Z 110419145720Z0f1 0 UUS10U Test Certificates1;09U2Invalid IDP with indirectCRL EE Certificate Test260Ÿ0  *†H†÷ 0‰•†Ñ@¼¿±5Ø"!mµ§Kiw\‘–-ÑnZõÊ MŒ§:ünÇË#ó© WB¾„¸ÿlBڕémMJ7ãXÄ•#Upuœ/Ïïm_]^¡ùgoC˜´Ú¹ˆbF¢±Þ‰v¥6çlNÓ«iRxVl'Úc_]Ù±/£Ã0À0U#0€Á¯‚ÕÓOð1bÙ*ÁàNv\Û·Ëjè‘3„s Ÿ²Ý•GÆí5ѱׂ„ço•7‰eòïè<»>®Ÿ…§…Þös#ÒÇÎ7ÌLLÝU¶•hC5&žS$Q'|À0=ÞÇWmAŠâŽ2¥œ¦Gmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/pathLenConstraint6CACert.crt0000644000175000001440000000120210461517311031361 0ustar dokousers0‚~0‚ç 0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0I1 0 UUS10U Test Certificates10UpathLenConstraint6 CA0Ÿ0  *†H†÷ 0‰Û'àH]FQâDšt0É4Þ€˜Æ•DÍø‚å_pØÍ Xš-áñu;ÇÓeÙªá]B›Y#J™g€Mþ@â´g ,¬pUL±³›¶cOlŠá0–¾Vã>¢"i‹+BR‰Ì{,öc!晃I×_yõU¥i ù£0}0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U´¤·¢®¹vµËd¥z…J0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ ¢ef¤H-¤6tÓ¬“šôEM­¶lõáHFGJ8èÒe53S| .³íg¡„Ô Ó#-ì˜sÆoS¸ŽØvöV£G B%z8q!4¶°AO’ù¾‡jäû¹ª„Ö=”»Ê]©Ý›*J¯¸æ)é î¬ÙàoÓàÞ‰´ƒ½ìBäãmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidCASignatureTest2EE.crt0000644000175000001440000000116410461517310031427 0ustar dokousers0‚p0‚Ù 0  *†H†÷ 0A1 0 UUS10U Test Certificates10U Bad Signed CA0 010419145720Z 110419145720Z0N1 0 UUS10U Test Certificates1#0!UInvalid CA Signature Test20Ÿ0  *†H†÷ 0‰°@u´èP Ï\aÍÈ€?Ã%Öá€Ç]$Èo¾ÖôàóRÞÙW&8™©QK˜·ÁÙõp>÷4¬ØÊÝR™ðU›g•`µ¹çÃä´TÀ = •ïsîF#w,h!Ø E“ÃÜŠçïi&`G(åßÏF¿t€â„­¤ B?5£k0i0U#0€Bo— #yÁWž:¦ œˆØ0U|‡\Á¿â0+ä}ë¤3¹^0Uÿð0U 00  `†He00  *†H†÷ `’>ˆö·aB¦kóÂN%>´Ã¹âú‹gž‰¾+;-f㇠)+¨{ÁÎÆ›‰;‡Œ;ÜدjûUãr2 ò­¨ç´ÚìâSÁ&Z÷^ôçæ¥e²kš”­¼bÉãGÿ-NQ&oÑj„ŽËGß®äi/“×È[áŸÜ÷ÐÛ98././@LongLink0000644000000000000000000000015700000000000011606 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy2SelfIssuedCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy2SelfIssued0000644000175000001440000000122010461517311032431 0ustar dokousers0‚Œ0‚õ 0  *†H†÷ 0M1 0 UUS10U Test Certificates1"0 UrequireExplicitPolicy2 CA0 010419145720Z 110419145720Z0M1 0 UUS10U Test Certificates1"0 UrequireExplicitPolicy2 CA0Ÿ0  *†H†÷ 0‰¹ñ¯ÖÀÒ¥j(aˆôtwÁËÖ¢÷ÑzÃσ´Æ”[Iáe7ø¡~ÕF¦^•˾»¨Yé ÁXcP|¨êÁmå'Û 2Dš5±#V§N±€Áú¤nóft‰§¼‘Q; ÁŽƒ ¾V5Dy0ñlÿQ¶x@b!̾(ðâÙ۸б€Y£|0z0U#0€q§© +l1??«ÅÉ݂˷áê EhAÎT././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy10CACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy10CACert.cr0000644000175000001440000000122710461517311032155 0ustar dokousers0‚“0‚ü *0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0N1 0 UUS10U Test Certificates1#0!UrequireExplicitPolicy10 CA0Ÿ0  *†H†÷ 0‰Ì…ý?ì÷‡SrÜQÉ 8c¬þŶLÿÜã*òûqûÈðþ£‘Ð酪¬×Ó\²Êtvoç)è÷ÛlwÔ œl§¹OÂÓ£Æüd/5HBëÔsˆ¼\#$Nçlß:qÊúwU–os1–I­s°!(yŽFŒÿ)ÝØú"ì¿u£¿•£Ž0‹0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0Uóé&™–†ÄÕ¢{ì¹°¥n6 E0Uÿ0U 00  `†He00Uÿ0ÿ0U$ÿ0€ 0  *†H†÷ -¿ö’óýæš~G@;Q;ÔçDüσ8ã9ÏÁ‘㔸v(b·úïŸLÜ ƒœh”à•…&ì#›–Bè –O-p©®}Z‡B²²­Ï}vŠqÕ5ünµbx)Õ:õ~%ãHƒ$ø@IëŠÓ,«é³­1fAê’././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy10subCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy10subCACert0000644000175000001440000000122510461517311032262 0ustar dokousers0‚‘0‚ú 0  *†H†÷ 0N1 0 UUS10U Test Certificates1#0!UrequireExplicitPolicy10 CA0 010419145720Z 110419145720Z0Q1 0 UUS10U Test Certificates1&0$UrequireExplicitPolicy10 subCA0Ÿ0  *†H†÷ 0‰½gÛ È6-Óçþ‡ðš6÷ñº] ÂBoÌ<ƒn¹ÀQ(À<©¢v Ä cÿû*V=¡BX%ñN ÃJï"ixa¦fGtQyv;@WŠ!P_D"lžÍE£Ü‚¸4àY~[_p“d6¨`ksZÌ4†ís«I²Âi‚Fø)è¿E¡£|0z0U#0€óé&™–†ÄÕ¢{ì¹°¥n6 E0U£Ca¾zó®eÑt¼Àó0üÖ:”0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ —æ÷ö~¦à°à…£ùiÅ,*$¢¸ýõ:?ÅËW´cRÁ¦Ù·S’¦F!B5ŠhÛO® -kíØÃ&}áΔE?}$qzøQOì‘RgÚ&ì=4©+Z1¥IæÛ¹r¾Ä["LOüïße  ·é]rñƒªê°ÍKɼ€µuèë»üE1u././@LongLink0000644000000000000000000000016300000000000011603 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidRFC3280MandatoryAttributeTypesTest7EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidRFC3280MandatoryAttributeTy0000644000175000001440000000134410461517311032020 0ustar dokousers0‚à0‚I 0  *†H†÷ 0Ž1 0 UUS10U Test Certificates10 ’&‰“ò,dgov1 0 ’&‰“ò,dtestcertificates10UMaryland1 0 U3451 0 U.CA0 010419145720Z 110419145720Z0p1 0 UUS10U Test Certificates1E0CUo Ë4iv‰/Í–ó˜¨_Äû†ÁlTž®¯Ù’N8˜m³Šâ9¤‘{€\ø…Äw' ðäzM‡·^ ÿœ÷ý ûæVQZPSÛ}ÊH½x<¢“â§6ìRò~ìS©jTÞD®>½å4:=HEháï{‹œmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidPolicyMappingTest6EE.crt0000644000175000001440000000121510461517311031510 0ustar dokousers0‚‰0‚ò 0  *†H†÷ 0K1 0 UUS10U Test Certificates1 0UP1 Mapping 1to234 subCA0 010419145720Z 110419145720Z0]1 0 UUS10U Test Certificates1200U)Valid Policy Mapping EE Certificate Test60Ÿ0  *†H†÷ 0‰ƒøã±ÕFÞ«àˆ­€dWz­T2ÔâÐ)ékÞR× –׳µØ¡LyÜùsTƒu&šEûá+#%înwm£·Ý¿Œà|Uõ‡·ú'ߊ´kr ¯Èmüë¯ ªÍ+ÿ·³`ÏVù®²š<¸ŠØÍÊW22B՘ޯƉ‰|¬Ì¿nÏ£k0i0U#0€­ïW}ºƒïÿ‡hsÒ¦—0Uáþ-¢ò‰–Ó“ž” ˜ÿÞÍbí`0Uÿð0U 00  `†He00  *†H†÷ e+EËôMTOD•ð(º|¥Ñ?s‚ý®ç28ô¯ÿœáî>(ßÛp¼hã0}󈆮&›Œ¬&ü«íìÛis>¿"òDЗ3³1ä!– 'GªyýB“×]máÁdx¨ågcX6–^Ì!8²¼9¯îf_y¦%Æðq!yÁPmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/P12Mapping1to3CACert.crt0000644000175000001440000000130310461517311030222 0ustar dokousers0‚¿0‚( 10  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0G1 0 UUS10U Test Certificates10UP12 Mapping 1to3 CA0Ÿ0  *†H†÷ 0‰™10,~®êfú’üøºVÁTP¶®–tKö¸ï6-·˜Dv6_±·¨¦,·8±"]«ï{¯V5ôm#‡i6÷«Ÿõ+çc|«yWƒ·4Æ"èjï~møêGn¶2nÃe„³„òb×R ¬¦‡+€Ž´-¹.‘¿@ç÷9Œ¸Ž½‰†Ó£Á0¾0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U­â ­Rm%¬Í©˜¢ h­r®²0Uÿ0%U 00  `†He00  `†He00&U!ÿ00 `†He0 `†He00Uÿ0ÿ0 U$0€0  *†H†÷ égºH 7f>åƒL Þîð“…éýl @ÂÝò)ÜV$mçû6g,Ó7—ë^/¶›†›à'opû®•} ŸÏjêã*ÊJ·Î÷!ÁÛ¸qMÂ,³ž¢äC…ûg@1†›Æaí†Õâ0U@÷}ï5\å2xÅQH(Øöà ‡0Uÿð0U 00  `†He00  *†H†÷ -±Ü¢eŸØy>fïzáÇÿ9¢bH²Hý6”¸ÈBà{o„|Å.a¾¥\-|uÍ;社» PV¡¬»Ôû7—å{œÿîTå“2.*0?á‚:Œ9•zVz:Í„!û†ÝŠg…¯Ö] ÊÃä¥9€:¸¯Ænh1€-·ç¨ˆ‘mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/indirectCRLCA6Cert.crt0000644000175000001440000000117110461517311030070 0ustar dokousers0‚u0‚Þ Y0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0C1 0 UUS10U Test Certificates10UindirectCRL CA60Ÿ0  *†H†÷ 0‰¹þ¶–¡åôxªB˜b—m³è3¤® ñ*@k‘sÉÐXp‚ZŒžÌmbåZ5Ÿ7vìM˜AÚVäoÛÒá8¡æ™glåï‘¥‡ø¨„‚áoD8ô•žà•6É )†šfÍx°´g('ÜßßwÂE1LJÒ@Øšç«Æ{ 2 °“¥£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0UÂ>ªNÁ3ŠªYI±f¢ð}0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ #.uú&Τöó„Ã@0OÄPjOѱô¡ôÏÿ¥Ž À÷3o€b9-ŒrãJXŠ'ÈË¢r©­ˆþ¼#+’J<œÒK"üõûôÝ5ûÆàÁº¨W:€/xB‡Ûc3×™A¼¸‚ˆxTõ7…=Np”Dd)"8`#Ñmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidPolicyMappingTest2EE.crt0000644000175000001440000000120710461517311032034 0ustar dokousers0‚ƒ0‚ì 0  *†H†÷ 0C1 0 UUS10U Test Certificates10UMapping 1to2 CA0 010419145720Z 110419145720Z0_1 0 UUS10U Test Certificates1402U+Invalid Policy Mapping EE Certificate Test20Ÿ0  *†H†÷ 0‰¡§o æÖ«ªQ¡Å§0â`•ï[°#ŸbÂØ Y¨nÚù¶8ìÞOaÔ䯴ó/^bm§òÊ:jV4rŽäáÊ“©Ü4äŠ5$Žö¥‚0;Ë=H¶òÔÀ¥ÖÎÖÀßàæñdJí{~ÙAc’Òˆä¾äj3›³ë¤"‚f:vd›£k0i0U#0€7;Š¡º§t›ÀëÖ9Ë! £V}0UýÑ»©´-7Æg\Õ{Ø1ä˜×2¿0Uÿð0U 00  `†He00  *†H†÷ B¾fž¿É7B³Ú@nò$šCÝ=c«¨äÝÉBe€—¥r+ïð¿Rî*Œ‚ÝdÁ³œÅ‘UäTá±Ä{Ç«;–’caØjÂ*=íëóÏ9ä þâ1œRU&‘,' 'þí^y)!¦°…%èJàìß‘¯‹}¥tv×™H}6ömauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidPolicyMappingTest9EE.crt0000644000175000001440000000122010461517311031507 0ustar dokousers0‚Œ0‚õ 0  *†H†÷ 0N1 0 UUS10U Test Certificates1#0!UPanyPolicy Mapping 1to2 CA0 010419145720Z 110419145720Z0]1 0 UUS10U Test Certificates1200U)Valid Policy Mapping EE Certificate Test90Ÿ0  *†H†÷ 0‰ØTk&êéã,Ú-WGxÄ· ½Hé”ù^òé$'YTÁ`»$_Xu\I$QÙu1TTî˜ÙÎÍ—r®P<*¡F>ÿQfn¡ÚÈ<óTènAí^LÂîR‚ ´l„ô œ©àÅÙ¨ 4• ù3Ø T…±fA’*…QÄéCÂV%£k0i0U#0€ÒºO>h8æøÁê%®Ú’¯C6n0UHJšM6°‘G÷!WMr±ª‡Q¡h0Uÿð0U 00  `†He00  *†H†÷ >·õ ëç¼µÁé îO™&èC•éŒf;‚ ÙqªÆ/âìF©.~˜$.—¢ì,õÝ»€/ó*W\ì~ÝøjÛƒÀ{cW}Éå$“ /IþêI½ÚÃ×’©‹XNÅ…/ô!äb=„–.…̼aÔ)åÓóÜðú‚Ö™ƒ±ö…y¥S$././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidLongSerialNumberTest18EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidLongSerialNumberTest18EE.0000644000175000001440000000124510461517310032050 0ustar dokousers0‚¡0‚   0  *†H†÷ 0I1 0 UUS10U Test Certificates10ULong Serial Number CA0 010419145720Z 110419145720Z0d1 0 UUS10U Test Certificates1907U0Invalid Long Serial Number EE Certificate Test180Ÿ0  *†H†÷ 0‰ÚÂ5Ê]+íßI€dOܹÙS±tÓ(憖¯ËÄõHá¤àHQmbî†dêy‘‹GÚ#Ô–]:¥fcã¶®IÓÞS@$¯9ú!ýÕsg•$ ­t.Æw}u: ¨Èˆ 3aTûa1;Ì»=wAÇ„8LýV*ª­ª³“,Ò¼E+£k0i0U#0€ß=Hûã2ç¹&R‹Úìø O³Çߦ0Uµ[ÎÕž=Ö@€”ç&A>8Z0Uÿð0U 00  `†He00  *†H†÷ f<¡»ol²z7Ѝ1šn ú•-í€K*“›1 s¹Æ_ÿø†—ÓËÌ6ãý%þÙ§˜YÀ-…ÜB¹dxÊB3¤–pù›2OàpÄUŽe²óòT¦*’Î%FFÉ8ÅÕÔoŸÚƒWŽq7¥ˆpS®ƒPÀrW4Õp¯././@LongLink0000644000000000000000000000015600000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/inhibitAnyPolicy1SelfIssuedsubCA2Cert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/inhibitAnyPolicy1SelfIssuedsubCA0000644000175000001440000000121010461517311032265 0ustar dokousers0‚„0‚í 0  *†H†÷ 0L1 0 UUS10U Test Certificates1!0UinhibitAnyPolicy1 subCA20 010419145720Z 110419145720Z0L1 0 UUS10U Test Certificates1!0UinhibitAnyPolicy1 subCA20Ÿ0  *†H†÷ 0‰œÙWâ]¢§ Ð“#ëe_ˆýñvÓÙî9éÃ-™æ¯S•ˆEÒÁpÊ!M!0°# øšÜGñm8ÁSˆi%ÓR¢Iô¥æWeãú^>IßâòrE•rî„àh#Á>ž-;¸½Ì_“Êk4’má5qG!Ó"µ®Ç£v0t0U#0€«ÈA&ÐÕLæ+Vgìï‚ÄÂÝòU0U݉f¹âwލΤ‚² ¤Æ¦z0Uÿ0U  00U 0Uÿ0ÿ0  *†H†÷ Ïðœoeê:~V!á~¸¹|©Û؇ÖÚÑÍ•dFÛZØ{såÁ2ø7ÐÕ²­·Ží×ÉËÃŒPJÝqW>J«n–¯oaoޱvÓGپ̟Óf‡S¯r¡$[Jæ2«kÿì÷m5þ©è´ž¾9e±RËþ´²ŠsýÖ»òb{Á¾ˆ£mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidcRLIssuerTest35EE.crt0000644000175000001440000000151710461517311031226 0ustar dokousers0‚K0‚´  0  *†H†÷ 0C1 0 UUS10U Test Certificates10U indirectCRL CA50 010419145720Z 110419145720Z0[1 0 UUS10U Test Certificates100.U'Invalid cRLIssuer EE Certificate Test350Ÿ0  *†H†÷ 0‰ÜiÝ»1ªMÅ’šò|¬Æß°'íÁcûªºÇR´Ó3ŒónséâoQƒ.DF‹vYÈx0`bH¤Ño¥­a¹ÐÕ€ûÍ€¤ŸéT®å»£‚50‚10U#0€”­Ñá~û7KA=mY€?DWm0Uq…ǨRÅпwv€²T¸ôÚŒ0Uÿð0U 00  `†He00ÅU½0º0· l j¤h0f1 0 UUS10U Test Certificates10U indirectCRL CA51!0UCRL1 for indirectCRL CA5¢G¤E0C1 0 UUS10U Test Certificates10UindirectCRL CA60  *†H†÷ Ú”WêíOšÝösÔôŽY¶Kð@aLÌ9¶ß‹ÏÂ`Ÿ‚~×-ûç@Á ú†ÙLØÝé ×ÏGa 2MGXžKÞBŠNʬµ¸3êÊpÀúa–ÄÈZ»—º ]Ò>aұܵvÑTBË­â…øŽƒ œ././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidURInameConstraintsTest37EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidURInameConstraintsTest37E0000644000175000001440000000131410461517311032204 0ustar dokousers0‚È0‚1 0  *†H†÷ 0K1 0 UUS10U Test Certificates1 0UnameConstraints URI2 CA0 010419145720Z 110419145720Z0e1 0 UUS10U Test Certificates1:08U1Invalid URI nameConstraints EE Certificate Test370Ÿ0  *†H†÷ 0‰»F…Ao¡À^æ_,1 d{Yf¤(AdÏfß°ÍHîkh éçÕD%•{¸¬,lð¯ å°«(N V0úFóÝk)ã£QnfÈõY\úÒ¿I¼…Ií³ºæÞv·Tƒ!ùÏKZÛ€q?Ì©°£wV¥aÛÔ·îDG:¥o·µ£¡0ž0U#0€†¤UcñŒ #§§¼ËlªmÐZÆZ0U þj­±4|9Øj ú‡‘ 0Uÿð0U 00  `†He003U,0*†(ftp://invalidcertificates.gov:21/test37/0  *†H†÷ Yú7û†Ã·Ô¾Žó$a¤Å•^•öìâ¹íyÅ:îö»‹Ksˆ™1ÆÞmHpìâ1µ$‚u?qÝ ú2Õ.~Eeƒ7¶CäóyKJ’ÖKèD“MÍþ½¾&Ó›÷,Þ0;t¼RžýƒxDœi´·.ò¬Ž®RíèÅÌ ±^þYº././@LongLink0000644000000000000000000000015600000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/inhibitPolicyMapping1P12subCAIPM5Cert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/inhibitPolicyMapping1P12subCAIPM0000644000175000001440000000127610461517311032007 0ustar dokousers0‚º0‚# 0  *†H†÷ 0P1 0 UUS10U Test Certificates1%0#UinhibitPolicyMapping1 P12 CA0 010419145720Z 110419145720Z0W1 0 UUS10U Test Certificates1,0*U#inhibitPolicyMapping1 P12 subCAIPM50Ÿ0  *†H†÷ 0‰ â³ìöÁ†ÄÎùúkê¬ç$ºËã…,f‚®àpD~©Ìz„ì)#רuþ®Q¨ž—çBÔ|§‚”·óuF¬sY2 0ŸiïÑÞähey8Ú¿ÁJú¹Ôn.Hœøˆ• Hs… ÜD¥ë›õ/ÇsúX rÑkž³|Ïug5q5™£œ0™0U#0€v0ƒ_£…K{7 &f0UæÞŽV°ó–ÊĪN’º 𔩔p>0Uÿ0%U 00  `†He00  `†He00Uÿ0ÿ0U$ÿ00  *†H†÷ H ™ ë‡,º¬q9³àÖÑÁ{ÖZ׬3ÉU-J¥iÆnœîGx{RÌxÍï#ÃëpËÞ`Ùœ¯ª·+ê]¢·¹TŒƒÐŒÁ‚©qƒE¹¦—IÛŹ 4b˜Ù W9ˆGÙÙ½ýp* 4è,ÖáO4‚p¾¡|®¨yÆ5ž©¬mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidPolicyMappingTest4EE.crt0000644000175000001440000000122110461517311032032 0ustar dokousers0‚0‚ö 0  *†H†÷ 0M1 0 UUS10U Test Certificates1"0 UP12 Mapping 1to3 subsubCA0 010419145720Z 110419145720Z0_1 0 UUS10U Test Certificates1402U+Invalid Policy Mapping EE Certificate Test40Ÿ0  *†H†÷ 0‰šk*‚a&L/ö MÔ†-1]îD>l¸zÆ*)\ ¾¦ ¨·näå)^L‘uF~#:Š8‚ÃRO\ªiæóÍò Bå—¢“O¹Ég@­£€¢0Bs³¥nõ¨ì£PþÜé IïÆø²S;ÔU/KîÑ›;Ü0úó'áƒpÀ„ÂM£k0i0U#0€ö,±·)µ®•°ø9AS-.ãÇ0U„cñ 2¿[i*8æ»Fsïv0Uÿð0U 00  `†He00  *†H†÷ º´¥gùé;jPJ¶¼ß,™¸ùK@86~kš”ü›sj;רzé8+ãEÍð‡s­ÏÎC_…z, Å×™y<˜ÐcèÊ$…mÙÉÏçOܪÏÞ®|ÙHªFÔ8¶wÖå–IÂ(8¤Íe3¢ áÜÚ~ò™ì[‚v'Po/ ¬mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidNameUIDsTest6EE.crt0000644000175000001440000000116610461517311030347 0ustar dokousers0‚r0‚Û 0  *†H†÷ 0:1 0 UUS10U Test Certificates10 UUID CA0 010419145720Z 110419145720Z0S1 0 UUS10U Test Certificates1(0&UValid UIDs EE Certificate Test60Ÿ0  *†H†÷ 0‰ë\øíÈXEšöáûþ> u) +Ÿ”l˰ݵ¦kY¹íÛî E!pžcùÁKtáÎçÓˆ+wÁÃÄ&#tF¿¼‰l0þ¡ìq4Ž5=£²îªè\í1ïe-ì’%[ôÛu'_ÊHó7¢[SÑ2ŽâÚ]²=\†þ £k0i0U#0€Òe|ÂÙAˆìÕXDšâÌx0UL•µefujPÄ'¼ÍÏo§ø0Uÿð0U 00  `†He00  *†H†÷ µÊ…bI |-¢=1[Íž[ý¸piué†Ñ2Šx­‹g.y}Ûj×†Ðøy˾·Ý!@4ÐVKç§Ô.ÜÛbñºçg!XŒßÿËÀ6;§ZIÿ=T+#¨×9Å4oˆköÚ6é+(ȵ­`ïÔ]Ú¢ï=5ê:¯Ínºw®Õ././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/basicConstraintsNotCriticalCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/basicConstraintsNotCriticalCACer0000644000175000001440000000120710461517311032332 0ustar dokousers0‚ƒ0‚ì 0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0T1 0 UUS10U Test Certificates1)0'U basicConstraints Not Critical CA0Ÿ0  *†H†÷ 0‰ÒáC€÷_§ÞPïñÓÞÏ•icNRÚX)k4Ô5cá¹Mß =w.6SùÚóœËܳØpã…I*¢çëÊÕ¿*ZuŠPÕzŒÏ‘0Uÿ0U 00  `†He00 U0ÿ0  *†H†÷  ¤iƒ‚¡d¬©óöÝ”ÚUTÿÐ šMÉÍ KN,^«0ô e*¥½VöH«¨,øþ7uàîäν˜V‘G´jBnÿí•Àˆž.Ì Écùyˆ6Ü쇨ûÚ+¾«{#àuïàzª.?ô^²I‰V¾"× `»P<¶­l././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDNnameConstraintsTest7EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDNnameConstraintsTest7EE.0000644000175000001440000000125510461517310032151 0ustar dokousers0‚©0‚ 0  *†H†÷ 0J1 0 UUS10U Test Certificates10UnameConstraints DN3 CA0 010419145720Z 110419145720Z0~1 0 UUS10U Test Certificates10U excludedSubtree11806U/Invalid DN nameConstraints EE Certificate Test70Ÿ0  *†H†÷ 0‰“/QÁ·ãzêÒʘU½ñ♉þò°:¡Õu÷ó;M#r¡@÷-Ôd$UÂø’Àü?QÑ{;j 5ûvB‡k;í]¼}XOÂýe ü²”Ý )­«™¢é3Éç¥ÑãLrBú©þ¥Ú£^U;¶Õ”A€ñ "¨¤e‚ã—W?£k0i0U#0€‹ã¸XVŸjß=Ø;³6á˶Ê0UòsQtoû ¬ÙÇì…Úô:A…0Uÿð0U 00  `†He00  *†H†÷ 8.>óë°ú‰4ò·ÒòSè<΃3›—Ÿ[‹ø›UŒ3ŠØto~•.—ùv4ÂUp*½Èj6ŽÏ¤[Tc—×xý›P+ñZ᥎ý#Iþe¿¿‚h[’§5MÁN“É&ÍÓ±b³ÜÕnYQ+Ç£Fs ²Ô±Óû¶Ä^SK,././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidonlySomeReasonsTest20EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidonlySomeReasonsTest20EE.c0000644000175000001440000000155010461517311032134 0ustar dokousers0‚d0‚Í 0  *†H†÷ 0G1 0 UUS10U Test Certificates10U onlySomeReasons CA40 010419145720Z 110419145720Z0a1 0 UUS10U Test Certificates1604U-Invalid onlySomeReasons EE Certificate Test200Ÿ0  *†H†÷ 0‰£ýyiö?[^™,­§×ч{~Q’)ëi9ˆ×µD¢ÇÏOÅ$̬÷‚DÙÉžh¥²é@K“Ìe¹Ö^!ņȻALÞpã¬dÓˆ!Ôü|go¿štÿž³Âƒ/)—õv 5ü†p3G¡|ÂT{ˆÁÞÇ/aDüÈzç\‡ÎÄHD¦µ£‚D0‚@0U#0€?¾@ñ÷kû°YäZà—Té0Uý/‡gÓ¤«èË“t×3¸_’2«0Uÿð0U 00  `†He00ÔUÌ0É0b \ Z¤X0V1 0 UUS10U Test Certificates10U onlySomeReasons CA41 0 UCRL1`0c \ Z¤X0V1 0 UUS10U Test Certificates10U onlySomeReasons CA41 0 UCRL2Ÿ€0  *†H†÷ "ÌjšGdnÍhtÈ%œË)s@=(wPbp‹‚D—ánY«;¦vذ†µŽÒ_£ÔòW+ cRR”›6OûGôò›Nå®=¦7˜žÆŒõ<ßüÿ~•9p%h¶¦óÞYí¯&ì&6Zij¢4˜ý´Yµäb9 Ú¬ÏŽŒ£1^¶e¾mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidcRLIssuerTest28EE.crt0000644000175000001440000000155110461517311030677 0ustar dokousers0‚e0‚Π0  *†H†÷ 0C1 0 UUS10U Test Certificates10U indirectCRL CA30 010419145720Z 110419145720Z0Y1 0 UUS10U Test Certificates1.0,U%Valid cRLIssuer EE Certificate Test280Ÿ0  *†H†÷ 0‰»Œj ŠêbÝsª+‡·!›ÉŒFÄuœU”ÛÃ’™ HNʘCêk>Èÿ ŒKO®ïLƒ®$|}D²9±ïû+ êx Ù1­ÿ.,ƒ£@úÜØÀܘÎt¼Ý„VO¸]ÃÛŒ{ãΡ —Ãí—ç±ÄV€ÐžèQ3-wÔÉ£‚Q0‚M0U#0€–(¼)¦­XŸg.ÇÂÁ—:ßîˆë(0Uúc)wWþÖ­é†ÀÙj¬# &0Uÿð0U 00  `†He00áUÙ0Ö0Ó ~ |¤z0x1 0 UUS10U Test Certificates1"0 U indirectCRL CA3 cRLIssuer1)0'U indirect CRL for indirectCRL CA3¢Q¤O0M1 0 UUS10U Test Certificates1"0 U indirectCRL CA3 cRLIssuer0  *†H†÷ ‰9›+äaïÈã¡ß(yléÏf•ê¢0 ü¤¼à&,?·úà?Sñ÷$ZÓ\N¡—¦ªÕå¼ëÉ—‚‡PY<H½Š/8½Štìú”Cm<5¡ëÊÜ`#7^ue€Œ‰¯Çtä©éј ‹FaÐ]ݶ\î£=/’<ú ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidDNnameConstraintsTest14EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidDNnameConstraintsTest14EE.c0000644000175000001440000000122410461517311032040 0ustar dokousers0‚0‚ù 0  *†H†÷ 0j1 0 UUS10U Test Certificates10U permittedSubtree11#0!UnameConstraints DN1 subCA20 010419145720Z 110419145720Z00Ÿ0  *†H†÷ 0‰®g×Q,%÷÷Ö'.€îùc±ÐùD~«ý§G)Øð‹î\i¤êgý˜1¦aÜ;(}ý+$=|»¬Åê=Ä ™í™ˆîÞ¸z¦~•Me‚qèIVÔÊømï¦Ò,Èñluf.²6‘Ñ'Š¡/ÓêÈñ—OÙgþ™ù£¯0¬0U#0€Õ¯k( ­Hl ‚*ÿÒh /mW0U;ôÏô1¨$¥¦bçJlîd«“(0Uÿð0U 00  `†He00AUÿ7053ValidDNnameConstraintsTest14EE@testcertificates.gov0  *†H†÷ Gã²úÕÊpíEk„Q«] ²ªë·54ø…G@vÊXª ¼ÔP qÑ6fjÀ¹ËXN¹=:Ø*óRC¼Pcm9ˆC>¼õ/ g¤ÐùX `—¾Æêö}"–Ί¯~ÓÅhçßÝ`T%¶ÓžÉ‹$ÃsZ¤Ç_ÞŸ=¡3 AüV././@LongLink0000644000000000000000000000015600000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidMissingbasicConstraintsTest1EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidMissingbasicConstraintsTe0000644000175000001440000000123510461517311032473 0ustar dokousers0‚™0‚ 0  *†H†÷ 0O1 0 UUS10U Test Certificates1$0"UMissing basicConstraints CA0 010419145720Z 110419145720Z0i1 0 UUS10U Test Certificates1>0<U5Invalid Missing basicConstraints EE Certificate Test10Ÿ0  *†H†÷ 0‰‹¿slL¡]ÜÜ.Ž ç½Ç1¾`…]uåÉý²b¨ô€ˆz×›Zyp¸¶XÁ¾ë±åC+˜c¢ëó(h•/ÅrV¿;ϯGÇ€ÊR<&¯ 9 ä§$—#BŠª//â¾_â}ËÔÞÔ6¢SªâøØFênð×f¥Žf^”A'äþ¥£k0i0U#0€F ]7Ò©“E¬í\1çÍö0Uû–ðÄ7Uðε¦âñÿ™®nX0Uÿð0U 00  `†He00  *†H†÷ º¡Wzbƒ²âÖÃ1~«,¶ãc±±bŸÄ´@åŽí,Míã·½®¶Ÿ·çf¦|),‘ )»z÷¨‹ÇdÕú-õŠs?«ÔÛ*ÁÕfôu"Ø$©aG.3²¢5„ O«`Ú·½VT¢d¢|ßG~wÞj¨2t=Ó8º ý././@LongLink0000644000000000000000000000015600000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/basicConstraintsCriticalcAFalseCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/basicConstraintsCriticalcAFalseC0000644000175000001440000000121410461517311032333 0ustar dokousers0‚ˆ0‚ñ 0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0Y1 0 UUS10U Test Certificates1.0,U%basicConstraints Critical cA False CA0Ÿ0  *†H†÷ 0‰²j¼{H‡-:Æ”ñ)ý'eÈ=%Ñ£èËÿˆ«¥±´èÙ‚™¡}bÄX(¥ߗÈbR%{@ÖÍtZ~8ý.œG6‚E§DYåFiFÃíc¡P®þºXÜ ‘4©|æoCï¿>匼0Ìï}„ðŸ"íN·ß¥/Aá_£y0w0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0UÇGOt"‚š”˜E³µCÃu6Î0Uÿ0U 00  `†He00 Uÿ00  *†H†÷ ˜˜’¶äã[oŠ XÓ"†½ CÁ<‰à"f°aˆþ»RŽ÷ÅŠ¡Ïš­œý¦ú(ʤ„eÍ5O*o).ªÅl Ö]!¹9åªç rC^Õé÷V æ –\«Îž7$¬?úé>øs¾¨úN_Ç:4iHÝ\ÒƒÍãÒmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidNameChainingTest1EE.crt0000644000175000001440000000120310461517311031575 0ustar dokousers0‚0‚è  0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Good CA Root0 010419145720Z 110419145720Z0^1 0 UUS10U Test Certificates1301U*Invalid Name Chaining EE Certificate Test10Ÿ0  *†H†÷ 0‰­¡__ù 8+ }‹æÑÊW ¦»Ôh:[ö§];Mz–cy„H‡ŽA WÅöf"€o©‰9ÐzàêQ(pýä¾Xˆj-›P3?÷¼WHÊ÷qU>ù½œY££©~p&†t¶»SCÎöämÂJºf•ß[/ §„p0lž¹^[£k0i0U#0€·.¦‚ËÂȼ¨{'D×53ßš”Ç0UÑB_ Ÿ¹…%(^Þ†"ö0Uÿð0U 00  `†He00  *†H†÷ |r‰¡·&é“SN}!ê=­lÞ G¡òK´¼í›§HrU§Oð¯]E•fzX£γø¹€q-`}p°Î’cŽ(ÆÓªbô¬˜ªxÍ¡Ì žÈæl"BŠè—Ý3[zÃYæT%H­Òf•xÁ21êš*ÎVÉÇn2iÞë>”Æ././@LongLink0000644000000000000000000000015600000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy5subsubsubCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy5subsubsubC0000644000175000001440000000123710461517311032516 0ustar dokousers0‚›0‚ 0  *†H†÷ 0S1 0 UUS10U Test Certificates1(0&UrequireExplicitPolicy5 subsubCA0 010419145720Z 110419145720Z0V1 0 UUS10U Test Certificates1+0)U"requireExplicitPolicy5 subsubsubCA0Ÿ0  *†H†÷ 0‰¼;& {•–S©Ÿºš,ø•íâÁ úqK»ž~ZÜï\Tèˆól…J¬ …ó4tìèÒáp¦,Q0ÃÀúîA€ê•VÀò»hÁÌt7‚.‘JrÔ5QÜ£œî¹ÕgkF(Â1<ÅÁ‚I´€'UxûyÑKôK}£|0z0U#0€ çb¨O/·¸?'È£©_{Fk§0U>©0f/§´%ˆ„gÉ­˜“ø–ÎÅ0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ ®šâ À¬åE‡áî¼pˆ¡`Q¹®/’j*ãkpmFø«DRL½6X§Õ˜§´ŠPSý–9])|ol§ê5^j—ˆa¢³öaõ‹óä¼Ð†èU:<«w7€ÆÎWzÁcÐà$ö=F`à%Åêo¢>Ôý¾Üb1:Eþ3mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/PoliciesP1234subCAP123Cert.crt0000644000175000001440000000124510461517311031123 0ustar dokousers0‚¡0‚  0  *†H†÷ 0E1 0 UUS10U Test Certificates10UPolicies P1234 CA0 010419145720Z 110419145720Z0L1 0 UUS10U Test Certificates1!0UPolicies P1234 subCAP1230Ÿ0  *†H†÷ 0‰»?NIqtj”ÔiÖô¹(E¦œ\*QŒ¼µŠSQµ!Îwy~HÎ[òsÑÊì5¬ò­jh ÔЧªK`¸Ð€ 2…ysòZÔ.`¤AæŽFÕeÜ«.)`­‚{2i®¡ϤSV?ÝW¸z_E…'’E•¤DDÖ -¼ÃN1º*Ó8Ê1ߣ™0–0U#0€0»yOo²ƒzhC«÷L¡@q 0U¶{ƒˆI CÎò‚LóF†(„Ù0Uÿ03U ,0*0  `†He00  `†He00  `†He00Uÿ0ÿ0  *†H†÷ 3<3ިȄò=o&ª.`äÃ{@ælZ{óý7¥˜c¾m Ê5ìõ$ÜG_þ×I`Ôœ9xÊ¥Íáž°O}k(BØ,çi­Äk¤t’1(ä ¹Â2—±³yÇ®“È.lÄ‘”‡{#"Ø:4ÌÀ£³ÿœÍMÒº¨;š‚mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/LongSerialNumberCACert.crt0000644000175000001440000000117710461517311031056 0ustar dokousers0‚{0‚ä 0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0I1 0 UUS10U Test Certificates10ULong Serial Number CA0Ÿ0  *†H†÷ 0‰µ˜+²£äв{uÐüáË$PÊ·‰n݈:‘е9·z#Xûêø5r /.«6Lìm¢_úÅ•nÕº .…«Çý×ÍnM¯˜˜’u5,H| ʵ;)ªÐ³è”êh“NiŠ[+‘jÐý ÀJüC`š×XÐ"kG³Q;m©£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0Uß=Hûã2ç¹&R‹Úìø O³Çߦ0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ rjw“üxtæàwùóÂ}XΩ~ܱ°1é}K6&Ρ`åÖ:|IGA/¢ðpϘ‚ ³÷[÷áÍš›éRƒAsLöœê3‰*sP9¤IÚ¾=‰ŸQh€hÕ!†BŽ™€%Ÿ\ð5LOwtîkÓšøVy~·Ëx `°ºr"ž= ßmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/pathLenConstraint1CACert.crt0000644000175000001440000000120210461517311031354 0ustar dokousers0‚~0‚ç 0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0I1 0 UUS10U Test Certificates10UpathLenConstraint1 CA0Ÿ0  *†H†÷ 0‰Ù j¹Ý#Ú˜ý¥;¹U‰#åfð¼RFÄ=#s‚ ­²GÔÔaåpœ}à%¤8éBECÌkÝä…ëDƒš\Óü XƒÅ·ÒµKþ ÔÇPt_׌ü$½ÍpÆëÝûlŠ2ó([µÍìU¥äúœT+Ò¸Þ²Uß¶2Nç£0}0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0UÚs“àðe™}ÿ°&ö-15Y0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ Yµg"æ´i?2_÷è¯êKvÝ ž[&4:È n#Š&í ÐänÜÉóÖâ£ÎƒÒPbIv¤tÿ={Õ’%1N”ºOÝt¤ ×ná# ±k>xý2tíõaÏŸðèþ¡+h8Î3TöÏÁ’±Íá`ѨäGZ~T±³ ϧ٤mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/WrongCRLCACert.crt0000644000175000001440000000116610461517311027301 0ustar dokousers0‚r0‚Û  0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0@1 0 UUS10U Test Certificates10U Wrong CRL CA0Ÿ0  *†H†÷ 0‰뎙aKMþë‚É¢´$5-'%ñ+Æ/Ôv†™Ïœg]Ä’®×=l¾–‘wé–Žõøó°aì:&7#~l$ttV#h 2)&¸Øm44$t·ã3™GèÆÐ‰¾!úËÇrÙUXc˜Þ_–ŸY)¼aä·¹2rÈVÍ£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0UÔmãŸÖ}÷šÝ\ Ñ'ðKTiw¨0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ 8áJàÈcÑÅú·5Þ‚Þ ºÐ4fʰ"0ZòõS•é3o=ß”]bÑi1Ë0‚¨k882J‘»}Ðå€ÄÒ#ôóÐæØnÀ? Çw:™f ôJ‹Æâ iÁŸ¢Ýg+öèˆ8r8Zùqõ†–œ¶%ñµ—5æÈîù4Àœ=V«././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidCAnotBeforeDateTest1EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidCAnotBeforeDateTest1EE.cr0000644000175000001440000000122010461517310032013 0ustar dokousers0‚Œ0‚õ 0  *†H†÷ 0I1 0 UUS10U Test Certificates10UBad notBefore Date CA0 010419145720Z 110419145720Z0b1 0 UUS10U Test Certificates1705U.Invalid CA notBefore Date EE Certificate Test10Ÿ0  *†H†÷ 0‰¹?ÏãH߉µÕ`»YÈ’UáÜ;éúaiU}„°lÕ’´Œ~ûúÆ—:æ dÓæM±Á‡;Ý’N`êû‘œ¬¶ÐÃ.‰Mø ä\|IDþ¶.âÚ†ÂZC˜óÚ‚4ÄÑëù¸‚u–Hܧò¸ý[±~J[ÍíÊ‘nk£k0i0U#0€z3ø#Šœ*lO8"ÕËý}X0UiY=³egfÃ[~Àu7SYå°0Uÿð0U 00  `†He00  *†H†÷ mý÷"¢3Ow³Â ¬:„\¸Ñhë 3ÔóLtñ4ÚO™óý2ùœÎ©¸=|§F̤f¹÷òØ AýˆVÏêûR ±”¾ÜUšø®pííÀÕª>)Ohù¨¹hÝ„¬eŸ 0i"QaÀW]= ,¦mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/PoliciesP12subCAP1Cert.crt0000644000175000001440000000120110461517311030577 0ustar dokousers0‚}0‚æ 0  *†H†÷ 0C1 0 UUS10U Test Certificates10UPolicies P12 CA0 010419145720Z 110419145720Z0H1 0 UUS10U Test Certificates10UPolicies P12 subCAP10Ÿ0  *†H†÷ 0‰©âèVßá”× J7Ôñ9æRâ‚ó;¾o»Uß ÛLSÍòßt^üÒö>fúª¢Ìƒ¢·˜xž/ Ûq©¯ QéOŒƒbŒtqnôéó&ºõ—FÍÏ´‰ÔâD{Q‰ÉvO9Ã1ÚÎ7Ö>Ù§;A#2H˜½ÔÛŠ@(:·£|0z0U#0€ãeéÔ†¹Ççó39^L¥ù0UBˆÁx·CÚ¯½ÞºC§åµaÿò0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ `¥YS]†êW“‘bS ºcxÆÜ­p7¹ÐŽ –œ.û©€S~å°Hk]”«7yCTÔCök½Îâ|À¢Œè¶ µÿñDê¦âÙKÑú|F†ˆLÖ|Óo¿ÙkL,Y<Ìõ¸æxh´93´ }gók„j´Éâ:+Qmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/nameConstraintsDN1subCA3Cert.crt0000644000175000001440000000132410461517311032110 0ustar dokousers0‚Ð0‚9  0  *†H†÷ 0J1 0 UUS10U Test Certificates10UnameConstraints DN1 CA0 010419145720Z 110419145720Z0j1 0 UUS10U Test Certificates10U permittedSubtree11#0!UnameConstraints DN1 subCA30Ÿ0  *†H†÷ 0‰ß¶ˆ‘^ìc- œ„: ·¯„ù~ÅïS¤³;_>»Mš¼óˆ±ú÷Ì<@À$Žæe4ÎtöÎb›“÷"ŠÐR8ÅÀÆù3™€dÜ'í­ðJŽ*Z)˜%öÎ+v“Tù{ècœÎðÅqNwÅ‹‘¾Ë`–e1´ˆ…˜/Eêƒv•^]ârØ*Ô ]zlŽKjGWI ›»Ï`,~×±ÌPi…BV$…¿Žgríg ././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDNSnameConstraintsTest31EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDNSnameConstraintsTest31E0000644000175000001440000000130610461517310032163 0ustar dokousers0‚Â0‚+ 0  *†H†÷ 0K1 0 UUS10U Test Certificates1 0UnameConstraints DNS1 CA0 010419145720Z 110419145720Z0e1 0 UUS10U Test Certificates1:08U1Invalid DNS nameConstraints EE Certificate Test310Ÿ0  *†H†÷ 0‰¼^nIcô‰qI:þÐc>mëX¿ŽVYHuˆÕºÍ·§ï'Çúô=^@‚±‡ýv•ÏT§¬_“³¹u'–±lÐÃR„2”F¿lCöŠ “¸5FÆ oG»‚dz­•+ü°ÜÚ®•8ÓÆ5[kâ!42D‚ ó{!¿7}RŠi£›0˜0U#0€uçgG «ñˆˆÛžÕRŽüsx0U/•¸XâÌ7r!ÄÀ¥ÉèîËÂü0Uÿð0U 00  `†He00-U&0$‚"testserver.invalidcertificates.gov0  *†H†÷ KOíÝ8äV%HuÄzÃx2³HÁêÍsg* èvMÞ°JS‰Y¬ÊüPŸ°6Ã×#c.š‚d£ûXèʦ L(t5ˆn>ñKìÐ|u·-V’˜'Y¦l^ SÎu?b@Gc(ºé€:Drí3/³ yÿéÒg9&mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidDSASignaturesTest4EE.crt0000644000175000001440000000147210461517311031414 0ustar dokousers0‚60‚õ 0 *†HÎ80:1 0 UUS10U Test Certificates10 UDSA CA0 010419145720Z 110419145720Z0]1 0 UUS10U Test Certificates1200U)Valid DSA Signatures EE Certificate Test40‚¶0‚+*†HÎ80‚䋯@Œ×=|î–hÁ èÊžteKšT—*x3Ú¥Årê4³”hBÕýwð¨Bžd“¶Â1Fzi̘-V^#_(¿­Ði•b\*^ŒsI~ý"ŽUåVé®r)–‡'×wCð†¸ ¥ææEyMéúS_Á ½~ÅÀ?äüóLå>Ë *TlÐgl ;€fÔŠ ­þÑ2Ÿ¥§³Ðêw?ël¢ä)ØØ¼!Ýš÷Ìå´wMßìÚ¢ŒœuZþfÓÂï„C쩈nLºL?5–Çgü™½™)‘NØ®þk¯PVª/µ*Èî"G%xk!Ý?Îð÷–œA»^D’].ƸÍiÈ?;>ÐO¢ÎÙ„€S(¬8/=óaAÃ=§Öz÷ö2Ó!qÕÃ>M뢌¯ž=A ÿÌ¢G‚zV¡£ý첋·9µÊ …‚›–h¨»kº¤á­e¶D1Ò"/SAOúœø/è,C$~+Ød÷dúðyH¹m6Ìë6ò9«}'ì÷GoÝ3Ä~Mî$W£k0i0U³3×Q¢ Dû@ñbq°Söi 0U#0€tÕ$½^eˆá‹ ~êHNa0U 00  `†He00UÿÀ0 *†HÎ800-Œ§ÈÒ™Ô@›ù!’hó'& s¢YLþ€»0€×ØpÆNv Ù´ö@êmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/inhibitAnyPolicy1subCA2Cert.crt0000644000175000001440000000120410461517311031770 0ustar dokousers0‚€0‚é 0  *†H†÷ 0H1 0 UUS10U Test Certificates10UinhibitAnyPolicy1 CA0 010419145720Z 110419145720Z0L1 0 UUS10U Test Certificates1!0UinhibitAnyPolicy1 subCA20Ÿ0  *†H†÷ 0‰âZÅôk¶µ2NWý|oAÄ­£ƒ¯Vç@³.wo£V¤kYƒ­ÄøzËE=£ÚS…» þT®26ˆÂZÁþÏãÌúÀuö’f®«!Ì.EÁ÷‡1SRÉüîQX1ÜÖ[ï§ © ú¥ü®µgÅr(?·“¹ÍH{×WçJ gw£v0t0U#0€§…,ànçT#jw¢¯ûã0U«ÈA&ÐÕLæ+Vgìï‚ÄÂÝòU0Uÿ0U  00U 0Uÿ0ÿ0  *†H†÷ p|V¯¡ë滂k<÷/!ÒzÖ…¨æ³ÆKè U<7òA¢lf,Õf¢˜z5‹^ýã4*âýÎA—MwC̽–ØW×2CCQk}ä- 8^Í+–v]¹…0fªŸÌ¿®Æ/ù˜ûÎ_|Ê}°$@ò¨X$Wÿ´°±cBûÜ Ö=¹Ãmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidEESignatureTest3EE.crt0000644000175000001440000000115610461517310031437 0ustar dokousers0‚j0‚Ó 0  *†H†÷ 0;1 0 UUS10U Test Certificates10UGood CA0 010419145720Z 110419145720Z0N1 0 UUS10U Test Certificates1#0!UInvalid EE Signature Test30Ÿ0  *†H†÷ 0‰˜¸J,dÉhárç,\ôp(R–‹"B”ôgJwÒÜÛB ß7K¹¼Ys†äA¡Ú Äœñ4Ÿ–³~΃ãã —#Ü'Qk;´ˆsõJ-Z½‡#T2ºäß ²&¬÷°Ñœþj<ç·Øƒ)µòn:uüÇn‰©s£k0i0U#0€·.¦‚ËÂȼ¨{'D×53ßš”Ç0USûšpËrOyíSñû‡ÿ?ËLy·0Uÿð0U 00  `†He00  *†H†÷ Gcgó&¶SF:j<¼sS¶@ä½;ý5e6?öæ%КɱóxZ\Z`ËREÄÉqä½ü«iù5Ç~xˆ‘~5»\‚QõF–Dªäõ>©oý¯¥(ê‚Wø&àµWݪ?`Ê*a›ãýðû¶ÕÏÕ«ÜJܘ÷ñ”Hà¦<ˆoTm40mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/OldCRLnextUpdateCACert.crt0000644000175000001440000000117710461517311030767 0ustar dokousers0‚{0‚ä 0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0I1 0 UUS10U Test Certificates10UOld CRL nextUpdate CA0Ÿ0  *†H†÷ 0‰·™kïa.@°SGÜöñq!mQ÷O5¥;ŒºÀƒG7¦)“Ó¤§î,¦D57Hm™HFAr‡0q:ÛâùAà¬ò–°}}áÆ$£Ž¸5 ™4¾ÎÏó8(óO{£¤Cù¯°Í˜çƒÉÊA÷'ª.¸{}$ñÑI«ÂBBÐKy³£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0UÀjóÿ#ŽÐGDPCQÂ|^1‰Ì0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ 3’‚ñ…N¸&ßvÓ9è<‰f[Õ¶¨>ãˆ`‘Ê/DÇzT×PD_ítð¡¶T_ôbŒe1ÈcÎê,9 *Í-ÀÄh&iÛ¾ ¨n´¢Ìt¬SÜU(©xûø áEÜ ©÷(ïa¥¸R »ŽïÖ¸„"cfÒÙ#ìmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/onlySomeReasonsCA4Cert.crt0000644000175000001440000000117510461517311031070 0ustar dokousers0‚y0‚â S0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0G1 0 UUS10U Test Certificates10U onlySomeReasons CA40Ÿ0  *†H†÷ 0‰¥¬1ñ„L>SÓn+K{%wÝ ê÷ž‰¢ C¢Çh»&­Õw4|êªÒ¨ãˆ ŠâJV¼„p€ÌRáìvÂ5ìDT¾Á´ô÷ÉJ'CK±‰WR…@ð,J!G÷|¾ú  eÖ8ˆÆˆ,0xE÷Ýî+¸wÂJC ÌáêÜ&K£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U?¾@ñ÷kû°YäZà—Té0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ 3šÊ“ ª¬ÊIê€ÑØn>޵„¤Ä‘”i1%Œœ %aJáüêt/P°ö·æ6W{G \ èОoÝ> p¸³ÔkyT¦›‚°¾æKl›DÐloââêhPšPSdö%ôhuB”?gŠpûß5©Íþ÷Œr$°C³x*îÙmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/PoliciesP123CACert.crt0000644000175000001440000000124610461517311027760 0ustar dokousers0‚¢0‚  $0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0D1 0 UUS10U Test Certificates10UPolicies P123 CA0Ÿ0  *†H†÷ 0‰¸kUºµ¢ÕD¸ßìÅWHáW2&³Qb¦³¸Q˜]@Û+9‚`.˜Ê–Äœãö&’Ð8ü}Z‹/ÁUï’£áæ+nQÑ¢½…PõôSÚ8o“Qqa@¡€@aŽj^÷E>X£Äüjùjî„‚ÔI²óÃx†Ju~>(ï#£§0¤0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0Uп͛ßñ‘ý‚‡Zϯ‹¼òÅÌ0Uÿ03U ,0*0  `†He00  `†He00  `†He00Uÿ0ÿ0 U$0€0  *†H†÷ wT!y°ù½¥ys!ïY%y ñ‘ÌVü¢bÅTMæÎxãRSG.>lè˜I)/&ÏÇ®ˆqJd*-\åìmp5ÄÖÔÅhÙï9éu-ß•r_cKúA!ê¡h°›è©M›~£©JävØ’J5KV././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidURInameConstraintsTest34EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidURInameConstraintsTest34EE.0000644000175000001440000000132310461517311032035 0ustar dokousers0‚Ï0‚8 0  *†H†÷ 0K1 0 UUS10U Test Certificates1 0UnameConstraints URI1 CA0 010419145720Z 110419145720Z0c1 0 UUS10U Test Certificates1806U/Valid URI nameConstraints EE Certificate Test340Ÿ0  *†H†÷ 0‰èQ¥§¥ãÎLî¢$Ž–‰[øž8…\—”'ø"hÚ»¡´BÊ‚ë©?åÊ´ N'Û§oZYä¶ÑNžóGaí¡ ¥Æxq´‡uûpIëžà1ÿ#z˰µ¼«¬á1:•ˆA\–mL^e\ç¡0æhïnøŒvý8”~hMДx„uÊû£ª0§0U#0€¬ºK _â¼a®áÙdZy¾EÖ0Uœm(û1=¿&±>”·' m*0Uÿð0U 00  `†He00<U503†1http://testserver.testcertificates.gov/index.html0  *†H†÷ '‹rѼ>ÛAWŽÂ(¯¢>9 Õ^®YÅnÂÙ’‚ÕLÀkœ¡¢þ|>ìO°&Ík² žL¥YTÌâÄ]Rk¤XŽj:Ö.}®«9\”ÛÄýµÐ‡¦¡Ðxÿ³ ®õµÑŸ¬à=Çþ÷$°Ÿ°5‹Þ³övÌ\dLÊRùl6j ô3././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDNnameConstraintsTest13EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDNnameConstraintsTest13EE0000644000175000001440000000132010461517310032141 0ustar dokousers0‚Ì0‚5 0  *†H†÷ 0j1 0 UUS10U Test Certificates10U permittedSubtree11#0!UnameConstraints DN1 subCA20 010419145720Z 110419145720Z0€1 0 UUS10U Test Certificates10U permittedSubtree11907U0Invalid DN nameConstraints EE Certificate Test130Ÿ0  *†H†÷ 0‰¬ÁS 89£ˆ«ŽìÆeÍ4œá¿aW%; Ì–ãV}Qk5-+=i)¿O'Ùn}µ’Jz}Coâ2n¶ß× dC{Bgô÷nÕΰþ‹°‹Ì¤PÿÝBP¨÷U}<†lÀDäoG™‰« uÞ5ª¢MŒ¯Ü\1íýÝþä,[|Ë_£k0i0U#0€Õ¯k( ­Hl ‚*ÿÒh /mW0U‚·çÈ$³ÎÙº°ö+aeá¢N¶0Uÿð0U 00  `†He00  *†H†÷ –€º÷=Œvø>Ì‚$>h±õ'J]²7œG¤…î϶„ Ϲ^°¤xàé}Çìëmd6)[Éï5Æ££l¦[ìîò½2¨;ýÎXâ\8ü=½çôYç¶°Z Ö“(«—xµ¬“´Oú› ©[€Bq­†m<^£b"././@LongLink0000644000000000000000000000015600000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/BasicSelfIssuedOldKeyNewWithOldCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/BasicSelfIssuedOldKeyNewWithOldC0000644000175000001440000000122610461517310032217 0ustar dokousers0‚’0‚û 0  *†H†÷ 0P1 0 UUS10U Test Certificates1%0#UBasic Self-Issued Old Key CA0 010419145720Z 110419145720Z0P1 0 UUS10U Test Certificates1%0#UBasic Self-Issued Old Key CA0Ÿ0  *†H†÷ 0‰´8k­B÷ nåm'8Ù¾@³DJfÇ´¼2ãß%:‡•'K­Qü» ²/Þ± uÛ#9Å?BäÛA#\æb "Drüß  ….°ZMÅ ›_‘á.rJú¥Â`øe«Kî€êW’!”„´JŽàù N e§sl}åè>çAtƒ£|0z0U#0€ú¢j¹îúOÅruÓKzmŒä\9$0UºŒ!‡s˜úë¹ÙoA¤EÕ†ê0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ –O‡yßI°Àø ~ÚÇ4ƒO'%7É1“œtÝÒãòç]h$Hòm²û³ða¬ª³­é~ÕIÔ™ìAöEÇjÄàÎoÚZ È}ËÀ›»ðfªczw9ȲK•”¤„¤ì16t‡œp‘0R3(;{®U1ÑuˆDmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/BadCRLIssuerNameCACert.crt0000644000175000001440000000120010461517310030653 0ustar dokousers0‚|0‚å  0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0J1 0 UUS10U Test Certificates10UBad CRL Issuer Name CA0Ÿ0  *†H†÷ 0‰ñTÙÆq ¥^´üMÅÙQôÝ€ðñ—UÙÑ¢§)™»è­ÑF‘3Þj6ŠââïúE¾‘#¢r¾]=¢nKˆhV˜g¨¸Ì0_¡¸1zÖ‹øö÷´Ê=CÍ%ˆ ƒB৯çäí÷";ò¼i n¼ÜÎÉY‡Rº®ZT½ ïÞ1£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0UÈ4ÛàµcQÑP¤2ÒÅYøCŒàg0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ ˜ƒé~!}úö9–Hãa°¶æ§rlÄÊV/ËX8v-ìTÓNM’O¨FèÍ“%IšùÁŒ µ™î™ZDtýE|­m‹+Ü‘¹¥áPkÄBÿi†¶øÎÿÛëÐJº±@8/OHcšbÚ+‘¹ßȨÐM+4D0U§…,ànçT#jw¢¯ûã0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ ƹi.°_;.ŠcŽ…i3'Y‰#l£ Ù >º½îtµèÜñŸ¹C»¾X?Ÿÿø’ -}S.¹–y5ÒzR¦ª¼ÙCnMÛ˧݊§+µ¥jíPcb-ï`õ$› ¾èòoX—ž­w£¦@â„<0 F P EŽ_ˆÌ{fymauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/nameConstraintsURI1CACert.crt0000644000175000001440000000125410461517311031453 0ustar dokousers0‚¨0‚ H0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0K1 0 UUS10U Test Certificates1 0UnameConstraints URI1 CA0Ÿ0  *†H†÷ 0‰¬Kö „ÙfÊ SäoŠç±#ž t¡\\‹°Ñi6d1 Ð„σP|°ÀŠ=ÍJKUá¢Ån×í[C„³Tú“»ÜÆq<åûÅÌÃNä}¿ÚŒj±·ÿ4šoq:”ªÿ5‘ü ì½#ùhÜËéós=¾&H“N|d`JZJ‹„|MÿT¼u2[ß“^eÂ5`пw€í»Ÿ9S¾à¨ÄDeÄÄbSÄ‘’,?|H^¶9‰¦GpkÇ N©././@LongLink0000644000000000000000000000016600000000000011606 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidSelfIssuedrequireExplicitPolicyTest8EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidSelfIssuedrequireExplicit0000644000175000001440000000121610461517311032503 0ustar dokousers0‚Š0‚ó 0  *†H†÷ 0P1 0 UUS10U Test Certificates1%0#UrequireExplicitPolicy2 subCA0 010419145720Z 110419145720Z0r1 0 UUS10U Test Certificates1G0EU>Invalid Self-Issued requireExplicitPolicy EE Certificate Test80Ÿ0  *†H†÷ 0‰ɰÄ[Š n=ªõdVÄꦭ̺[GzÈ7Șv¥Ê³SÍ•­­Ìü’<ÙfÃ6Î$‚(eš¶Y{†<ÜtÌ?úm9§êïË¿ÿÌÖ ‘­¨˜tÒGªìÆÿ±ÒþŸ‹¡P éŒá?³-OéÁTHQêRÓÈ\ÅelЦ‡îßw£R0P0U#0€Ó ðibŸ–6g‡«¸†00UŽáè8:ƒ%*2ïoVŒª«ªDÖ0Uÿð0  *†H†÷ «ç ˜Ÿaä'¿¾¼„™ !×auÊN»šù™|èxe–;üÒeÞ|½"kÒA= }ø¤^›¸ã»—"«ÈÀ ß”¯;±Ñœ¤*ú8lag¯|ñ5’!!çòÝߥp¤-jc,7ú‰í¡4ïâLoâeÌÌH3¹Ü$‚././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/inhibitPolicyMapping0subCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/inhibitPolicyMapping0subCACert.c0000644000175000001440000000127310461517311032211 0ustar dokousers0‚·0‚  0  *†H†÷ 0L1 0 UUS10U Test Certificates1!0UinhibitPolicyMapping0 CA0 010419145720Z 110419145720Z0O1 0 UUS10U Test Certificates1$0"UinhibitPolicyMapping0 subCA0Ÿ0  *†H†÷ 0‰Ö‘ 9>jc_`›WòÛ/-¯ÁГ_`Îð#b˜å*C2É ÏÝÝlŒËy €ªtÕJ¸$>Oòvìo=H›¬e$Ivd¢â]aÒ9{@vx!Äqè4–…êKGj¹a0È¢! ßèuŽ¢6pbkÓj<Ü'^R)£¥0¢0U#0€léÇ B@AõópŽîáÑR^×7Z0U0±¯Ü®Õ0ò 9¦ã,!8¯¢‹Ð0Uÿ0U 00  `†He00&U!ÿ00 `†He0 `†He00Uÿ0ÿ0  *†H†÷ ©ãN§/r É~Z #°YcÝ“®4‹4€³çÎ,<×bA[ > ‚ŒÎüÈËúEhéÑ—_u k!»ù”N§QYS$×#äʺèÓ,uQlÏšeDe áŠD÷Ò°ŽJ(üÎú¬1ÕT^Uó\ÁÈ%È¥È HÇLÃ,A‡././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidLongSerialNumberTest16EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidLongSerialNumberTest16EE.cr0000644000175000001440000000124310461517311032043 0ustar dokousers0‚Ÿ0‚  0  *†H†÷ 0I1 0 UUS10U Test Certificates10ULong Serial Number CA0 010419145720Z 110419145720Z0b1 0 UUS10U Test Certificates1705U.Valid Long Serial Number EE Certificate Test160Ÿ0  *†H†÷ 0‰«NÝ«‰¬¡£9»—FuOISղ蜲µù„r4Ýcœ "G¤ð„¼äœ·¯r¦5ÃÜ$4`h¬Ê_£B~®ÒùüϾS~¡ ܨA?#¨²ÜžÊF.Ÿòˆµv•+GË6³³à6§¹T5ÈhŸk(<ï:Çk>—âS!Æ I£k0i0U#0€ß=Hûã2ç¹&R‹Úìø O³Çߦ0Uɺy)þf8C4z³®^×R/†0Uÿð0U 00  `†He00  *†H†÷ CD—‚<š /I9ç§³/ TôÕ®¶m¢2ØE1„Ê oB™Šl1¥ëÏm#!9"N羜¤+ΠäV~óÍ¥h2£Mæy¯Ô«‰ aœ±ê&I½å+Ù†Áùf²ät’Ҭ組b5zÄ€:ô·ð‹Ñ´Í†eïbÉñÃbmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy4CACert.crt0000644000175000001440000000122610461517311032263 0ustar dokousers0‚’0‚û ,0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0M1 0 UUS10U Test Certificates1"0 UrequireExplicitPolicy4 CA0Ÿ0  *†H†÷ 0‰ä¶½|á>);6y]f`QMÈÓŠ÷æRŸâÝÁŒÚ–ÀìXY0™P•ƒHçAn"¹=ìkyjô“¸eCz0pðNÐ —Ê´èè8×.Òÿ=ŠrÜ·õª¾s´íLJÁ0Î –5Ö– 1êÎ6  Áà2«"£¯RßšbPªg£Ž0‹0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U%~´ вóÁGðAyï²Bæ5û0Uÿ0U 00  `†He00Uÿ0ÿ0U$ÿ0€0  *†H†÷ =CF1½>ræÓ@À?xÖÞiO—†µÎ£ ·¿Úßß@.óÁ—äm…%:¥üŽðU 1Èqwe§}AüßëçNÒ?Q†Q*€)9øZ…±ºCÑ<®Ð«º‹ÃF  ™±"ÑîäP8$РΨÝT¦# +sÔírk˵–Ä•mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidPolicyMappingTest3EE.crt0000644000175000001440000000121710461517311031507 0ustar dokousers0‚‹0‚ô 0  *†H†÷ 0M1 0 UUS10U Test Certificates1"0 UP12 Mapping 1to3 subsubCA0 010419145720Z 110419145720Z0]1 0 UUS10U Test Certificates1200U)Valid Policy Mapping EE Certificate Test30Ÿ0  *†H†÷ 0‰‹¥`s@®Y¬ØÅjLq?ùªÄ¸ZcûE,ãâÅ:Žbh}íÉ*1Ò#X}Ê$Ó‹*ÃU pÏ`º<ÎKû‰²W™+ ë€ÛR8«ŒcÿDä÷±Ýû¤à—dD·ÖñgPQ|!À’:C¨xù)ì ´écaÌߟqYãk0i0U#0€ö,±·)µ®•°ø9AS-.ãÇ0UÇmf#f•d–֢Ɩ6«×î‹ì•0Uÿð0U 00  `†He00  *†H†÷  ccšÿоá±%B¾uÌ™¨Î€´Çp‰`´Ü9ADHo$3ú‘ ¥\µWú˜;Ê-/mý§ƒÇ÷ôŽtê²v²×ñý*й›B¾kÑ•Úh´†âÅ/Þ”í¾¸±tÏ~õ[ó’vê¨É˜kÌÓJãhŠ©¥U|gä×T©Ôu÷././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValiddistributionPointTest5EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValiddistributionPointTest5EE.cr0000644000175000001440000000130710461517311032303 0ustar dokousers0‚Ã0‚, 0  *†H†÷ 0I1 0 UUS10U Test Certificates10U distributionPoint2 CA0 010419145720Z 110419145720Z0`1 0 UUS10U Test Certificates1503U,Valid distributionPoint EE Certificate Test50Ÿ0  *†H†÷ 0‰²&˜ÏŠNp‚hž6ˆ»‰Å§Ø•ÀlLÊU‡O…ˆ—» NA‘xy‰#*óV϶‹ZÅæ~ZÏæ_&FbÜF¿–Ž›Dò)\µ—OÖĦ˜—qa,B359ŸŠ ,>¡ËA‰±Ý MÓ8þY ¥tœhüP~rÕÖÅ óT­í´é££0 0U#0€:4‹ãvXXć˜}~Œ¬]¹N0U÷ ä%‹®ÿtøÇ™ÜõÒ¸·0Uÿð0U 00  `†He005U.0,0* (¡&0$UCRL1 of distributionPoint2 CA0  *†H†÷ šs|8÷–r0>ƒ-,™ ãñÏçâªA K ó½–Pšøç 1äGü?ÂÈ¥;¯¾»gV°ôѶï!ÊÆPðv@È;»xˆœCÙRåÖëY(F ‚iZ>Ak|±s娆Å0*uÒ‘¬|Šmµ½ ¨…`R×Wmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/PoliciesP2subCACert.crt0000644000175000001440000000116610461517311030327 0ustar dokousers0‚r0‚Û 0  *†H†÷ 0;1 0 UUS10U Test Certificates10UGood CA0 010419145720Z 110419145720Z0E1 0 UUS10U Test Certificates10UPolicies P2 subCA0Ÿ0  *†H†÷ 0‰ź?Áxª¦ïÜùC§´!yŽÑ©ðTj™¸¥åCi.%Óßµ+†×Œ©„ªG{ê]j¾AÁÉ·ÓjÚ×ù²ZÒ4“€GÅÐÇõ 0hd!6½ÍÊg-.ßXk{OLQ¦œ–×.'"®‘ÊPHçú¦5eÖ{4Ñ3ÕWXߺ”K!£|0z0U#0€·.¦‚ËÂȼ¨{'D×53ßš”Ç0UäXJªØò‘õhž…#n 4ëÍ0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ h¥€6ˆ05q·zÅL@—ò¹ TÙù5?Á¹};¡ CmeúxÐþuÅ\£Ú-m˜‘«Ãó‡Q”èÂåþÉæ&IJÓ5úX†'LæG|æåSÅ0Kìd’÷€R}qg4ã’Y´SʈeRp(ÄEùÒ|_24HlQŽ™®ª=à././@LongLink0000644000000000000000000000015500000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/pathLenConstraint6subsubsubCA11XCert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/pathLenConstraint6subsubsubCA11X0000644000175000001440000000123410461517311032211 0ustar dokousers0‚˜0‚ 0  *†H†÷ 0Q1 0 UUS10U Test Certificates1&0$UpathLenConstraint6 subsubCA110 010419145720Z 110419145720Z0U1 0 UUS10U Test Certificates1*0(U!pathLenConstraint6 subsubsubCA11X0Ÿ0  *†H†÷ 0‰µÍ¶Cˆö Õ]Dr-{6¢üɧ8o!Vü=æ²àkϘ9)Ï àJ¶S ù0&2l÷ÐVx^Ñ IËñ÷)e1 ó’ÝÊôÌd> Ë¼–“à’"¦/oÃÉRÑúF°Ð˜««NûqäLþV”5RŸÿ e…›m«¿ ?E¼õ£|0z0U#0€³À÷Qö\šN,‡PQå‘ÓX[+0Uj6ðWu?BPµé(7Å­â¼0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ ^V˜!= 1t` ð~5†õ$¢ü·ï"í€Ö¡õA…Û~¬G‚¿KoQÇ>îcÒx¹~V`&v×3»ÀÙK†ÛN¥°L¨¾½lˆrúà^mê™z0@]Zå¿ZYG€lÐòÒEœ—fïS@ærº`«+[æ"ja¤TtáýÆãî¿././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDNnameConstraintsTest9EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDNnameConstraintsTest9EE.0000644000175000001440000000125510461517310032153 0ustar dokousers0‚©0‚ 0  *†H†÷ 0J1 0 UUS10U Test Certificates10UnameConstraints DN4 CA0 010419145720Z 110419145720Z0~1 0 UUS10U Test Certificates10U excludedSubtree21806U/Invalid DN nameConstraints EE Certificate Test90Ÿ0  *†H†÷ 0‰¡ßäQ… ‘ج¸);rÂSQqŠ™ïýäëï¶ô,1T“FV#I){Z'ÖÍ"ó4Ž·£¡øÀ¥fªT^ðÀœÅªà/± âx¸½ª+WÔ¹ÿ¯€©yæ[îúLÿ\äßY ä1ÚÁœåg†ÊÉÒ&˜\z­QÌäC£k0i0U#0€3)茀L¦­'ƒ%gÅå¶vÌ0UYôWnc ¿¸1úC«PÅuÖµ™0Uÿð0U 00  `†He00  *†H†÷ j¦/.šÎfN Åû㺠t Ô¼7â'Û€½$rL·$t‚¯nú Ÿ\Jà±Jx}ñÕ«ãÄh±‡<ÂJ#L§+…‡Ëi Ê«ZN·^JÁp›ºËšƒ sö¹-DÑLÅ`öʾ×"IbQ‡_K¹9çý—¼+PÁh ˾$-½mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/inhibitAnyPolicyTest3EE.crt0000644000175000001440000000121210461517311031225 0ustar dokousers0‚†0‚ï 0  *†H†÷ 0L1 0 UUS10U Test Certificates1!0UinhibitAnyPolicy1 subCA10 010419145720Z 110419145720Z0Y1 0 UUS10U Test Certificates1.0,U%inhibitAnyPolicy EE Certificate Test30Ÿ0  *†H†÷ 0‰æ–“ãÞ›¡6v¡/•Zf)cÞ”xÛº ’EÊů×ÃZ=:Æ÷T8Œ2D ©¬<Ø’Ö=M 棜´^;ë£k0i0U#0€) x”Ž„)BK|«ƒ*¾5[<0UUè©dÛ“’¿oA›Ç1° —ä±0Uÿð0U 00  `†He00  *†H†÷ F¡@ó:Ùý>Sâ e³%U¯iÔ‚Ò]+ “â¥Áà%5—u·†è×Õ„© 6ú ®>óqø:Í›®0&ß|¹ÊÂgŠ!¸C×Ôjå1)ùJ€¨Ì{{¨éSH~^ràòýn=#k£"› ‰´lÒܦÒçÿâÚßîš§¸âús././@LongLink0000644000000000000000000000015600000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/pathLenConstraint1SelfIssuedsubCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/pathLenConstraint1SelfIssuedsubC0000644000175000001440000000121610461517311032354 0ustar dokousers0‚Š0‚ó 0  *†H†÷ 0L1 0 UUS10U Test Certificates1!0UpathLenConstraint1 subCA0 010419145720Z 110419145720Z0L1 0 UUS10U Test Certificates1!0UpathLenConstraint1 subCA0Ÿ0  *†H†÷ 0‰¯‘Y´„cY½ÓÂT쳩óƒ:»´-¼ýAÇ`ª3Q§§-ØhPœ¢Ãs¹„%R ÓŒ™J ç`/æVäœU„$ÚX§ëãÃaIJÌöEÌÆûÏa£Î»é¤=c›S·æ+•ÛWÂV4aÜ…:;¨Ò;ŽÈOå05Ó`V ±ñ{“£|0z0U#0€asÛ b5j[¸bH#çø+Þ6Y HîÇ+bÉ®àÃ9á¥UµYHh“kã•<àùƃp K5ƒ`Ë4Ø x6¶Å85ÄÈ ‰î»O'/BŠÍn³PÑ£‹0ˆ0U#0€п͛ßñ‘ý‚‡Zϯ‹¼òÅÌ0UZ‡!ûÜ“mš |Çj±hKßU×0Uÿ0%U 00  `†He00  `†He00Uÿ0ÿ0  *†H†÷ ?@‰26Ö•9E£øõ®Xu8rA#/áハ¸q¶àíÓw©¸Ø$Ô®äÖÉœ¥*«Kz·­Im÷Ó¾ô‘je%ü,%Q2 2Y)pÊg^cƹ´÷ÖEêý¿‹HÙ4¯[š_óò# wç“ðgq ~&€;îö$p-´¹Í.././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidrequireExplicitPolicyTest2EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidrequireExplicitPolicyTest2E0000644000175000001440000000120610461517311032373 0ustar dokousers0‚‚0‚ë 0  *†H†÷ 0V1 0 UUS10U Test Certificates1+0)U"requireExplicitPolicy5 subsubsubCA0 010419145720Z 110419145720Z0d1 0 UUS10U Test Certificates1907U0Valid requireExplicitPolicy EE Certificate Test20Ÿ0  *†H†÷ 0‰£–­[‡¯\„‘rIŸrKñc‡8°A =’(ºâä"1#2ªÕ«µ¢@¹]¨´«‰Ò&eQÆÂ[÷ ÃWúÄRã¯n3a7°VNY=³)É{^§Þ¸^#'ûáÒXÿ/Vô‰­å›É»AJD3›ãMŠÏÓÞY£R0P0U#0€>©0f/§´%ˆ„gÉ­˜“ø–ÎÅ0U2×]èov;ô„Ò€:¼Ûgµ”e­0Uÿð0  *†H†÷ fnÿ߃ Ý è^™sŸMÞÂß1Äo 9ø;OK!Â.¤œaŽâª5*úˆ L”¿u!9i¢"†RXžÇæáÊ¢òDŸ›þ—OrÏqÄ'ÝdóÉâù7(+J{Cû…€ÏBNÀfyîzñöfŠâ*9õ¯ÕLó:ämauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/onlySomeReasonsCA3Cert.crt0000644000175000001440000000117510461517311031067 0ustar dokousers0‚y0‚â R0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0G1 0 UUS10U Test Certificates10U onlySomeReasons CA30Ÿ0  *†H†÷ 0‰×3í|3°Xo šíÍk›Z;!Œ—X´ç V˜ C|½ž‹ÜTk•’¡ µ§Må‹t SBÙ:P·DL×Ð=ýÚίZŠzÅ,ï!5¬a ס(C7HëøÒÒøt,¡ ­¥òÉþðÄ Y¾{Í¡&D¥ÓÝê¾36„jD:K¬£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0UI{ëOiû~£ßÛ#‘÷ZVjù¶00Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ 7±šÉ¼©Š7"0Þä|$E«ÜBlÜeÚ}Éï’oU˜’ÐIÃßÒ3,:#ÏÅþ):ëÀ¤ƒ–‹ƒs‚}#µÆ„+®BV²ÃÜT\>"KO³VUÒ(?p¸òç…_4\)&qàCû{ò'(Bï,ÝÇ¥m0ýÖL¬„uP.²Â¸­mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/indirectCRLCA5Cert.crt0000644000175000001440000000117110461517311030067 0ustar dokousers0‚u0‚Þ X0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0C1 0 UUS10U Test Certificates10U indirectCRL CA50Ÿ0  *†H†÷ 0‰±ë¿Y_ò6%ˆ‰£&²·+/Z­ƒnꀌîAB‚OOI„‡îTѲ¿+C¾> ƒ )߆€ÃÑ´z$’mÕÛÿ„·z©—Îþ\t>¹òÄmš¬Õ•ÒQú“$Ri ¸¨ºŒKÈ™Æ(Ñ ÌéÄmW 2S «;˜¶^üƒ£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U”­Ñá~û7KA=mY€?DWm0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ °!GíÇPóõ’³6Q2?í­·gë4šBù›õ°;Í.dšyt¿Ûм°w¨Zf Ñ›€#Ü3w•3mÚ’ˆæ8kõþÉì5[àdÄv`TkÅü Uy-ZP ¨Æ2o‘3Çõç/ÉÁ‡Þ¢ÙÀ=ǰ߰-)Më././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidDNnameConstraintsTest1EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidDNnameConstraintsTest1EE.cr0000644000175000001440000000125410461517311032141 0ustar dokousers0‚¨0‚ 0  *†H†÷ 0J1 0 UUS10U Test Certificates10UnameConstraints DN1 CA0 010419145720Z 110419145720Z0}1 0 UUS10U Test Certificates10U permittedSubtree11604U-Valid DN nameConstraints EE Certificate Test10Ÿ0  *†H†÷ 0‰²A <µü´LÉÁ:ìë^¹“?‰sxþo°ö>nÂRó#ÆuLj9 >¼àv¿ý­©[ÿ…¯¯aûŠ÷¿®ä«}ü'9ÐïA2Œ#5h³á·Òµ £éE6ÕyGÁÔÙ“"dÄOe"T*t§ðÌžo_Wj2!𕨄ªÀ£k0i0U#0€N.£çÙÝ‹§‚;AJÞ|Y#WNS0UšþEˆ>xáè¯$™™g4V¬H0Uÿð0U 00  `†He00  *†H†÷ iià}:IÃäñóÏý§¿ÓÁµ\PRÂC8At-w2_a//ùd±VŽ\g0 ®/NUm¹¡ÊiK›Â âÝÊÃsƒ½§½–Å…È®Ïb›iÐ8¦Ýd“AÑ}Z)c‘–£ë(ŠãÅŒE2v¢¦Í0qðÜ| É–¶ÞTg'®öY/././@LongLink0000644000000000000000000000016400000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidUTF8StringCaseInsensitiveMatchTest11EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidUTF8StringCaseInsensitiveMa0000644000175000001440000000126310461517311032221 0ustar dokousers0‚¯0‚ 0  *†H†÷ 0]1 0 UUS10U  test certificates 1.0,U %utf8string case insensitive match CA0 010419145720Z 110419145720Z0q1 0 UUS10U Test Certificates1F0DU =Valid UTF8String Case Insensitive Match EE Certificate Test110Ÿ0  *†H†÷ 0‰ì¢^›6ƒg”Ð2ÚY±ÕLÓgÃTošÕL݃‰wØÄ€6ÓöŠÎ–K»¡?Küßš™ŽgP R›ÛuMœŒS0‚Ø}Þ z ñ¶¶‰X 'F¡Å®UÏ£ $[i%L÷{S°³-ÔÓvªõ+a¿ÁQN´ú™yî6M£k0i0U#0€6b)|¥ÂЄÇ^£'ß©Db0UÄÁô¢ïŸß¹Æ Ýú´K§0Uÿð0U 00  `†He00  *†H†÷ ‹d´ÑWeÆÁÍyïëМkfžÃ!p.B .Âä^‰sÜ]>Nœ ùݘ “‚‰A‹à'uåðzNËý®«­ÒV£ÿ®ës*1hgªKY©º0f¦èPÀKŠt²2¯Ü¢©Æn#c+â»Åz‘nŠì@)Š«ì·ZçØ³Í)ò‘mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidCAnotAfterDateTest5EE.crt0000644000175000001440000000121610461517310032047 0ustar dokousers0‚Š0‚ó 0  *†H†÷ 0H1 0 UUS10U Test Certificates10UBad notAfter Date CA0 010419145720Z 110419145720Z0a1 0 UUS10U Test Certificates1604U-Invalid CA notAfter Date EE Certificate Test50Ÿ0  *†H†÷ 0‰èfÄ7y‘Öƒ©)o­©÷ù¸_¸¥1£› ƒhŽ€q!m××tÅu_íÁÙýìj1G¡×ˆ5[Òíð|:ÞmŒÙbí› ÉïV=`aU~ Ó)Ç.8n#–êÏeÛj6ªPJ=¬»Sàjeˆ!¨à$pNElÌl‘ó9Í£k0i0U#0€- &>a#.7§Êé2©Qàµ20Ul[„¾²ì…v¦?ÉWØÙO¶0Uÿð0U 00  `†He00  *†H†÷ ÒVÔöJÎöÄP-:á¦äJ§»OßdˆÚ,‹™âÑ‹¶"ýäUJësŸ3OzcÈ«ñî§¶;÷õ,²ÉÞndê,”1 å‡[;t–ÈáOFd‘t¼GªMOé°¸kꟶÑ>‘^g–&2Dg´ZiÝ·‘‰ïƒÁbµ#G™­ˆá*èmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidonlySomeReasonsTest19EE.crt0000644000175000001440000000154610461517311032170 0ustar dokousers0‚b0‚Ë 0  *†H†÷ 0G1 0 UUS10U Test Certificates10U onlySomeReasons CA40 010419145720Z 110419145720Z0_1 0 UUS10U Test Certificates1402U+Valid onlySomeReasons EE Certificate Test190Ÿ0  *†H†÷ 0‰ÖÞ0ÂÇøˆM*‘4[™©MXœeÙŒE4^Õ„ÅG¬†;áÕv¼ñ/€¨¢qxÒjMeвT ýœ¡Øuu(ŽCg#ŒêRú~¥ÕçlÜÇ ­óÖLÏnʤ‘1þ…Ù¤yû‚Ä Y>˜Ù\ÏÔ éFQÈY)‘ø[Êú …g Ù£‚D0‚@0U#0€?¾@ñ÷kû°YäZà—Té0UßYôýªS¶K¥ýàÓ}›h´žë0Uÿð0U 00  `†He00ÔUÌ0É0b \ Z¤X0V1 0 UUS10U Test Certificates10U onlySomeReasons CA41 0 UCRL1`0c \ Z¤X0V1 0 UUS10U Test Certificates10U onlySomeReasons CA41 0 UCRL2Ÿ€0  *†H†÷ "™'n–“¥}‰~¿¤`fòe˜[rçï6ƒµߊTQÃe™|¶, ò:qAËÒɺ_ʦÚe‚ò²”¬yšØM÷Da[kV/)ˆ*žË6œø=G¯»‘Z_'ueB–…Ð4ùEÙž4îÃ×ì»æ¨ÍºÚ*+×­è/]ûØÇmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidcRLIssuerTest31EE.crt0000644000175000001440000000152710461517311031223 0ustar dokousers0‚S0‚¼ 0  *†H†÷ 0C1 0 UUS10U Test Certificates10UindirectCRL CA60 010419145720Z 110419145720Z0[1 0 UUS10U Test Certificates100.U'Invalid cRLIssuer EE Certificate Test310Ÿ0  *†H†÷ 0‰Åëo›™j¬ îd?;½@³€/´;i_TÔ2ñH‘ ìûpPýÕˆ²¿rñ ’«’úê›I9!-$C¥w½VÃØŠá€¢ÄÑÕâx ¢ø31b£1Á7O¼ÂÖsÚljCâ_ ¼.5±Ã…ô%}1 £‚=0‚90U#0€Â>ªNÁ3ŠªYI±f¢ð}0U4I\ç¾.Q±íñXI&R!uO0Uÿð0U 00  `†He00ÍUÅ0Â0¿ t r¤p0n1 0 UUS10U Test Certificates10U indirectCRL CA51)0'U indirect CRL for indirectCRL CA6¢G¤E0C1 0 UUS10U Test Certificates10U indirectCRL CA50  *†H†÷ ƒÓõ -ÌùÝPœâ.K ¶ðÙHRN¨¼:3=e-nò‘ª¦¼’Ѥ[ßýË ƒmɲ˜PF•€ìœ3/×äv8ùyL¸²Á) €ì+"g6ö5=Z•ܧ‡ «!ÂàYÕ4®aÈOÙ¾ÿ"ÊvMõ?ÀwX©zœÑ-%Wµ†\žGÁlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidinhibitAnyPolicyTest2EE.crt0000644000175000001440000000122410461517311032207 0ustar dokousers0‚0‚ù 0  *†H†÷ 0H1 0 UUS10U Test Certificates10UinhibitAnyPolicy0 CA0 010419145720Z 110419145720Z0_1 0 UUS10U Test Certificates1402U+Valid inhibitAnyPolicy EE Certificate Test20Ÿ0  *†H†÷ 0‰¼+SZë‚€Ý!‡WŽP]ûYü™Œ„žÇf‹bÌS,wK=;×À„—µ¥Ð–L?<4EécÐÜ,ΪÍa$A5[%¶àQlŸcÅÑŠ0l8nÚËZÙ^¢gëͤó{£Â`WAéÙZ2Š_€˜¯¹ÿ c@k£s0q0U#0€@˜`æÈý\ÑØ/ êìEÏ0UºÖ>_´äSás-©k†‹÷®*&0Uÿð0U 00U 0  `†He00  *†H†÷ ­¦(ÝŠN: $v Nçu¤Þâùâ6DaõŒ¸¼x>óÄå®—"C[Çž,ñéc÷ºTúºyøÃ•!\#ûKØ~L¤-è¡pdÕÚ¢ýTÄ€{y\ºðª:á Òjh€GÔ¿ÕK£~sä€F‘id3™ª<éš Z#]£|0z0U#0€Ž«FœKnçåWˆ '“þ'Öç0U,<¼+´ÒP¸(\ˆðƒõñó½0Uÿö0U 00  `†He00Uÿ0ÿ0  *†H†÷ [} A©¤K[˜ññ`hç@´„WmTb´Í–s^Ê Á=\!Ä9[Ö;OPríU?¸pÂv„ªZ]h¡H¡ßzeJÙü;s-Ä:Ÿ¾=µèH&dƒn-Ê3 ¬¢kWdŸrDs´¹Þæã8–Zª¯ß0ý6œ“§&’­G—././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy4subsubCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy4subsubCACe0000644000175000001440000000123110461517311032346 0ustar dokousers0‚•0‚þ 0  *†H†÷ 0P1 0 UUS10U Test Certificates1%0#UrequireExplicitPolicy4 subCA0 010419145720Z 110419145720Z0S1 0 UUS10U Test Certificates1(0&UrequireExplicitPolicy4 subsubCA0Ÿ0  *†H†÷ 0‰Ñw¡µfv_~N>8¸áJL9+tû¿U2ŠÑîÑ„¾ÅìhØËwJŽnôƒ¸P~p­uÈÂmÇÕ­úZŽ5G@ïÄ ÿÊ…^ŒãQÌÁŽuñغþmøwÏ›Â&,ÂõãòØÅzµS§½ëÅ0U¾l¬ LS”¸ä‘#¥«c0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ _þj5…:툛Û%‚h¸bsçªNhYŠŽ¬èwÈxã„wǾ?yߣ”f^À_•á -uŠñÙåw¹[aœävÔñpå+âOÚR ¥ß$Þo“¼¬Í_+M&¡ \J‚†â²³S <Ï&õò#XËÐ¥?Ô¿IHÌæÀ&G¦ˆ«Dmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidcAFalseTest3EE.crt0000644000175000001440000000123310461517311030557 0ustar dokousers0‚—0‚ 0  *†H†÷ 0]1 0 UUS10U Test Certificates1200U)basicConstraints Not Critical cA False CA0 010419145720Z 110419145720Z0Y1 0 UUS10U Test Certificates1.0,U%Invalid cA False EE Certificate Test30Ÿ0  *†H†÷ 0‰¹$JOPHQ÷ˆCáøžî­¸ŒþÅ/M÷ï9üÝIûS\ä?â‘îdõÊ>Ò¬Î`)‘dÅå Fg€þóõÒµzލËÙ#¾FŒq˜¯t·[ž¯¼,_·ô¿ñÝIa|ª„Î}ë0³ ¥'7ž“*1Y×"ú èæ±08÷ÒöµÛ£k0i0U#0€Ä•âºvlÝã»KhýBEøTì[Í0UÄ-³¢Ê8G!:6NyžcX]Û0Uÿð0U 00  `†He00  *†H†÷ 'ŸXñ÷Jx Üv‡W± ³ßM¦´ XápNÔð­7^pžlóDì4A»ü¥¡, Á°ÐpH@3Ãëi•‘)X“ãç¸ŠÇø-ÆßPQnH®mÂl ¬Î9О ÕɼeÀ'_,»ÃþâÊÎuÚиƒjG-˜€1¹FF¶X ØÚmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidonlySomeReasonsTest18EE.crt0000644000175000001440000000136710461517311032170 0ustar dokousers0‚ó0‚\ 0  *†H†÷ 0G1 0 UUS10U Test Certificates10U onlySomeReasons CA30 010419145720Z 110419145720Z0_1 0 UUS10U Test Certificates1402U+Valid onlySomeReasons EE Certificate Test180Ÿ0  *†H†÷ 0‰çÌþÐUÜ·C(Òã> ™Óý~i®TMj‘ŸP(®w¼¯Êý(<’ýÛáEEÍÄâp›AfÅä–¢éF·òéK”œ*S° a…ºR{Ê€1ë §›’yÜ2µ]6!0\¥Ì¥á¸²¸„Q3~h8ŽÔ:k2Um>ƒñ¸º l³`Së\Ñ£Ö0Ó0U#0€I{ëOiû~£ßÛ#‘÷ZVjù¶00Uíù«dÆðìöÝ$±ËdâbŸ’ùÑ0Uÿð0U 00  `†He00hUa0_0] [ Y¤W0U1 0 UUS10U Test Certificates10U onlySomeReasons CA31 0 UCRL0  *†H†÷ @Ùк±whJ[É—–¬©X[lå6Ãe)†©¥Á·‘¦«½Wb2ÂË `(¾%c)1 ˆÜ|ü×…îíh kk#€ö¥y)sÙŽ÷˜a½Ôˆè`Ú¶þpÜö2+"‡“õSN>éh1­J–~-è„8>zb KjM‹™ä¦ ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDNnameConstraintsTest12EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDNnameConstraintsTest12EE0000644000175000001440000000132010461517310032140 0ustar dokousers0‚Ì0‚5 0  *†H†÷ 0j1 0 UUS10U Test Certificates10U permittedSubtree11#0!UnameConstraints DN1 subCA10 010419145720Z 110419145720Z0€1 0 UUS10U Test Certificates10U permittedSubtree11907U0Invalid DN nameConstraints EE Certificate Test120Ÿ0  *†H†÷ 0‰­Ä$ò¦D;õDK’L×Fb/Æk/DJ™Ï`AÃiôZ¨…õ"Å4K‘}6{M *†ƒøWlZaGšJ °d×u˜5çÜ_ò=‘Íî(0i‘§‹Ûr=D¿œ…^Õ,ùá§—„ó±»Þ™0çËðÏìÅ$k#LÔ(E1¼ÊØM ¯ôA£k0i0U#0€î¹ÏÖ/ŽÈ…“þî£PXþB00UeYF%ïE‹ãá…¾z ÅÃù(ê›0Uÿð0U 00  `†He00  *†H†÷ ©Æ¯â*ª°7k{iïPDyíG§è póÌcº€Fp _ TÌùfJ¯€( Þ”ë1ËŽOŠo´m•-Ϋ_…b®–Gà¥.\töf6=«RBÞ^xãN0ææÏ± /‡-´(÷8V‡˜DÈd•¢‘­¼™uv—HÅLmUÅÀÙØUmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValiddeltaCRLTest8EE.crt0000644000175000001440000000145210461517311030374 0ustar dokousers0‚&0‚ 0  *†H†÷ 0@1 0 UUS10U Test Certificates10U deltaCRL CA20 010419145720Z 110419145720Z0W1 0 UUS10U Test Certificates1,0*U#Valid deltaCRL EE Certificate Test80Ÿ0  *†H†÷ 0‰ÓWAkÿ³um•¨Ûàh–~µª0݆' ÂóöÕԨĎ8©è}yÏÀÕ{sM³+ªãéÀ¼u¾‹©æØ9Bu’eÞݨ}¹™Qbb"Æyìë,Ø€›kÅth8!õŽO²)€q¸æCÑóËÅøÛo8>­-Ùjs;'C£‚0‚0U#0€£“«Wf&mr:l¼ƒe£šüŽ C 0U¬6H ‘¥zˆcL;›3טÛV·0Uÿð0U 00  `†He00SUL0J0H F D¤B0@1 0 UUS10U Test Certificates10U deltaCRL CA20SU.L0J0H F D¤B0@1 0 UUS10U Test Certificates10U deltaCRL CA20  *†H†÷ (½|#VΖá~FÈl%VCSÛ´ápÀ˜š3·ÿsˆµr­`\ìzOmDk×’­­ûºóÝDœÐ77’VR÷ªTêý(fÕåÓ·ZÑòb‘šƒêµW-£–*9ßÒL½ž€R³5X_G•£\2r†ÔÜVm˜\«ô1H¦ÿ˜[t././@LongLink0000644000000000000000000000016600000000000011606 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidkeyUsageNotCriticalcRLSignFalseTest5EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidkeyUsageNotCriticalcRLSig0000644000175000001440000000126310461517311032315 0ustar dokousers0‚¯0‚ 0  *†H†÷ 0Z1 0 UUS10U Test Certificates1/0-U&keyUsage Not Critical cRLSign False CA0 010419145720Z 110419145720Z0t1 0 UUS10U Test Certificates1I0GU@Invalid keyUsage Not Critical cRLSign False EE Certificate Test50Ÿ0  *†H†÷ 0‰§‰œw‹—Ž¡‡ÁãàÇÐCY-þ¸£³{11€°%änI?óòÀó‚?A©»vŸ@ÈÎ9 d>Кú¼nLg’êÂsêdH‘ìæ”ägÇX ÈL„*¨§†2·ê)ÒÜH"5òè"+€†`2ìÝã4 úű£k0i0U#0€›¤[ä"XµVÿ.²‚¿"èöø0U;ø~I›ò&á{‹tdHYêùé.·é0Uÿð0U 00  `†He00  *†H†÷ zÞZpêÐåé_}ìb>ož­ &”p8@£µ½ k·ÂhüìZ]Eþ«\¿ÆÁP=f<®w}Y}ŠüfÜ oÕn™#}CÄ}8ÝK?nv­!ó¤~UxµWã*~EMIé[×UÃÝÁ5è‘B4«AËðTc¤´)÷ïêrž€í././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidOldCRLnextUpdateTest11EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidOldCRLnextUpdateTest11EE.0000644000175000001440000000122210461517311031746 0ustar dokousers0‚Ž0‚÷ 0  *†H†÷ 0I1 0 UUS10U Test Certificates10UOld CRL nextUpdate CA0 010419145720Z 110419145720Z0d1 0 UUS10U Test Certificates1907U0Invalid Old CRL nextUpdate EE Certificate Test110Ÿ0  *†H†÷ 0‰¯HpðÄvÅ®31“Éû…‚¶žG"zÇ­ëGç_b¤.©DjF²;üß@¥‹:·ü^½Lbù=«5ÙÂúÇp!àYÄé'gø)HÝÝ»ŠIã< >ïÎL$Ô¾mÑS4:mãC°‰vÏ1;šõ¨Ú×jåuâ·÷޵£k0i0U#0€Àjóÿ#ŽÐGDPCQÂ|^1‰Ì0Uþš–>$1]OÕƒßØÒ˜öE‘0Uÿð0U 00  `†He00  *†H†÷ ¶„8™¤Èž+gt“4¦g.¦‚g12{!¢C`|\†écÇͽ5=ÿL0KÏkíNì@ÓÚÐJg)•„ÄæªNxþv;v'¢¶RßƘÇ=ÂsËj)sÚŠOnnýá#ûçYv …–p=Ú œÇÞŸ: ©Z'VJíì././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDNnameConstraintsTest2EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDNnameConstraintsTest2EE.0000644000175000001440000000125510461517310032144 0ustar dokousers0‚©0‚ 0  *†H†÷ 0J1 0 UUS10U Test Certificates10UnameConstraints DN1 CA0 010419145720Z 110419145720Z0~1 0 UUS10U Test Certificates10U excludedSubtree11806U/Invalid DN nameConstraints EE Certificate Test20Ÿ0  *†H†÷ 0‰›½Y•‹ÜFYö"µ?!fpÚ¾ <ºø¼wí`hd·ë @zƒ±â)<8pA:}µžÖÅÍVçÝß¡üÕ£§µ‡G Óæìm>§ôß‚èçO£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0Uú¢j¹îúOÅruÓKzmŒä\9$0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ sB_¾íÌaßaÜM®ƒC¸?~QÑDàXì åC¼|ü6†hD?,:êî‘Ûµ{S_ðÌ- b[²çMÂJX\½©é‰¸³çH¤{Ìà±Y¯Ö VçÿÐ='Z¯Ž_ÐsîŽN¨°h3QB–ZaùÖ‹»UÐà(š././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/AllCertificatesanyPolicyTest11EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/AllCertificatesanyPolicyTest11EE0000644000175000001440000000120310461517310032164 0ustar dokousers0‚0‚è 0  *†H†÷ 0@1 0 UUS10U Test Certificates10U anyPolicy CA0 010419145720Z 110419145720Z0d1 0 UUS10U Test Certificates1907U0All Certificates anyPolicy EE Certificate Test110Ÿ0  *†H†÷ 0‰×#ÃC NgˆtýD¥ˆ<©‡M‘j×#P`ÁÇõ³ž¢äC…ûg@1†›Æaí†Õâ0U ÂÅË'·¶ÛãkjÀ`ÔZµÐ–0Uÿð0U  00U 0  *†H†÷ &#I4ɾåwÔ`OÈ"N𯯼*È[#2…Ëû‚‹1+aO¼ 5©’3ôÍ.6¬JaÊ£üÍ@Á©BUöìœyi5å_”¨*ÑEjaê*s柦ø {í¨ØW¼ÕLöµ‹P m?vyž&ëBÂí™=á¿deZžoÖi†ãmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidMissingCRLTest1EE.crt0000644000175000001440000000117610461517311031237 0ustar dokousers0‚z0‚ã 0  *†H†÷ 0=1 0 UUS10U Test Certificates10U No CRL CA0 010419145720Z 110419145720Z0\1 0 UUS10U Test Certificates110/U(Invalid Missing CRL EE Certificate Test10Ÿ0  *†H†÷ 0‰ÏÃ¥ƒZK„—d@°íN~x¨ºå Õ«7;Wköqˆ_UNqœ¼Aô›¶ý^ÁÎÜÄV#}v鍸xäÄzéóL¥<íÊxžF~è‘úŒ•Á¥d¿Z<Š&oœ+àâ7‡…)-ÀÊiLbˆ©‰Ù- ã"`(Ùßc£k0i0U#0€¨óœNh–E̘}Èx?õ$0U– £/Z^Þ$$86> -½6Ð×0Uÿð0U 00  `†He00  *†H†÷ ”ÒK ,«E“Tͯ^/b\éáRn:âF¼ü¯#Cú¹ôv{x…k]P)¦U§W#~oŒæe4âÌâÉñ›4Iø\“G¬ù»ÙÊõ0ÊÆ£óbœ!ÙŽoâkqA:„“ˆh\_‘š#Ölüó˜‚!c ë™@ÐåX†‡^€!A4././@LongLink0000644000000000000000000000016300000000000011603 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidkeyUsageCriticalcRLSignFalseTest4EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidkeyUsageCriticalcRLSignFa0000644000175000001440000000125310461517311032260 0ustar dokousers0‚§0‚ 0  *†H†÷ 0V1 0 UUS10U Test Certificates1+0)U"keyUsage Critical cRLSign False CA0 010419145720Z 110419145720Z0p1 0 UUS10U Test Certificates1E0CUWĹu{ǼÀ)E}ÿžc@úEå~õ svLèuˆ< mV‘«à!/hò Éox[”´ÝŠžßô×Aˆ#-4ÚÁJ˜p'™fRãî—…á«ÕWƒâÆ«pûgVÊbQÎeäÇX`KõÈ4ÿW›R“Ä·Îø~”Ÿ££|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U- &>a#.7§Êé2©Qàµ20Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ 09mkX†+W3醯tÁi8 "YÌ-C,«ÐD;~!.Õl8?ŒÄJx×£¦pUòdì@Î^>Tå3iÖos¬p~}Ï{\™Hi UŒž6™—Þ“;”ÛðRy»zIóÚo…öå~«7íœPoF6)HÅ­=ëLmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/indirectCRLCA3cRLIssuerCert.crt0000644000175000001440000000133610461517311031664 0ustar dokousers0‚Ú0‚C 0  *†H†÷ 0C1 0 UUS10U Test Certificates10U indirectCRL CA30 010419145720Z 110419145720Z0M1 0 UUS10U Test Certificates1"0 U indirectCRL CA3 cRLIssuer0Ÿ0  *†H†÷ 0‰˜wDNDÜG;BD|åI’`á§Ë€ãóýÊ™@‚(Šâ'ùOM-ÞGù™t??`GÁˆÔ““e¨:–dÛËt…vZs°ZÿêäŠî ÍØ¯§àJH“+2$õã9(Ûþ®•s-×)cÛÏú1çㄾ}…GÕY7¿E²qÔÚ´2ü›‡g£Ó0Ð0U#0€–(¼)¦­XŸg.ÇÂÁ—:ßîˆë(0U±!K²’¨ 3N+‰gO¡OŸ0Uÿ0U 00  `†He00eU^0\0Z X V¤T0R1 0 UUS10U Test Certificates10U indirectCRL CA31 0 UCRL10  *†H†÷ ln¥ U˜ë†Ì«j+^t¼Gû ªsù—~éó·DLmÄF äÞœ4…gg¥ÏT´ áî¤wÆq=øÞiMk–{‘²M;°ñM£9¢ñ‹/Ñ¥ÿ›Ú°i®ýtAï>Zô›çTÑñOý—¨Lœ+ê&3œ¤õ'?­8­g«././@LongLink0000644000000000000000000000015600000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidBasicSelfIssuedNewWithOldTest3EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidBasicSelfIssuedNewWithOldTe0000644000175000001440000000124210461517311032254 0ustar dokousers0‚ž0‚ 0  *†H†÷ 0P1 0 UUS10U Test Certificates1%0#UBasic Self-Issued Old Key CA0 010419145720Z 110419145720Z0m1 0 UUS10U Test Certificates1B0@U9Valid Basic Self-Issued New With Old EE Certificate Test30Ÿ0  *†H†÷ 0‰–~oRý£» äÌM‘ÜXcêRŸÍ3G0¬žéB¤Ïó9f>ö„”yÜß‘6Øqio ^cxYQoÉy|y¥eóå9qìÔ¯æÿ£ª †z’ø×º$(¶ã/ºm°±åZ2ÏÅÇ.'ÑÁ˜Óg·[ÌZŒãê%ê‹` AAçoY£k0i0U#0€ºŒ!‡s˜úë¹ÙoA¤EÕ†ê0U¥@Š¯ã§” áx Ñ/„8¦•ÐÐB0Uÿð0U 00  `†He00  *†H†÷ "…ÀšÞ7„«QzÿèXÅÑV òW{ì'¥ rÀ§i`jòFçÓ’dAÂRÇCD]§ÞFB /ˆnþ¢(އ!Œýzëø®†’©û8€?¶2t,M7ƒ‡:âè9¨¶‡aþ[Øö(y¤YÔHìœ#@ø —È·õb././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidinhibitPolicyMappingTest3EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidinhibitPolicyMappingTest30000644000175000001440000000124010461517311032400 0ustar dokousers0‚œ0‚ 0  *†H†÷ 0V1 0 UUS10U Test Certificates1+0)U"inhibitPolicyMapping1 P12 subsubCA0 010419145720Z 110419145720Z0e1 0 UUS10U Test Certificates1:08U1Invalid inhibitPolicyMapping EE Certificate Test30Ÿ0  *†H†÷ 0‰¦ûµ½¿ŠLŽìŠÊ,ÜX¡Uw¯o¦âe2Äê5HSB¯»nˆîȉ¤¿O·Œ\ú•DwM[T€ÃÊužÔk—…4Ò)߯ÆcÔM:³§ñB ‘ÇP†§‡UWZ=1ì&fêÅ=.Ûû_ê ñhpMQK©sµr£k0i0U#0€Z“Kï–ž®>C&¤y‹¢æ›!0U»ZßXjÙª*èÇD;ÉdK”•>÷0Uÿð0U 00  `†He00  *†H†÷ 3•~LˆÃºÂIÅå1zþn2e¼øœT1ïö™@Gr~óÔ ýJZ°:cÏCƒÿP ™Øò_J2™eAõ²C+ïš)ûµ6Jm uÄ©‘¢ iŸ+û{wÒ_ɪãiõè§»€#ñ©>iãØSY­‡V -XWÛ././@LongLink0000644000000000000000000000015700000000000011606 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidUnknownCRLEntryExtensionTest8EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidUnknownCRLEntryExtensionT0000644000175000001440000000124310461517311032401 0ustar dokousers0‚Ÿ0‚ 0  *†H†÷ 0R1 0 UUS10U Test Certificates1'0%UUnknown CRL Entry Extension CA0 010419145720Z 110419145720Z0l1 0 UUS10U Test Certificates1A0?U8Invalid Unknown CRL Entry Extension EE Certificate Test80Ÿ0  *†H†÷ 0‰ò'÷—¸ ƒêõËé(ÍK…ÔOÕðUY¡:pbº“m†Ùš}ä W2ÍLm¦§†º€æ‹¦³hÒø¼ HÌ$?@ʪÑÝï3ô&3õ™àºá¸Æ„…¨¶j Õvõ£k0i0U#0€õ[ëÚÊå愈ŸÙl¿[ΓiM€0U({ŸÍ¹äFñÒ TØ7s¼û`^OV0Uÿð0U 00  `†He00  *†H†÷ 8ò€Íp\i½ãÄ@NÑÚäóÆJ’@bG.)UËÕš™‡À>Uéïk3`Ñz%wYjTÍÐ ÜZk,½Ü]‚0»ÁEDiò_ÒbóóÑ” û>íÅ;ò‚Ö+L3ˆIs£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0Uû ýº{æ8H™Z`UP—ª6lC0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ ™Ÿ>ìyözPg¼ÔD‹h!­Ï<á\ñÄ«¦£ H`xšG(×ÞžÊ×ïzß÷¨AeÄTžór‹ Mý’•HQ 5Óƒßg$›d’ á‰ùæåÅ÷ bÅ·ÐÈïöÿœå5 üzœ‰öãýl ‰V™U˜0¹Æ ˜/mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/P1Mapping1to234CACert.crt0000644000175000001440000000135210461517311030312 0ustar dokousers0‚æ0‚O 20  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0H1 0 UUS10U Test Certificates10UP1 Mapping 1to234 CA0Ÿ0  *†H†÷ 0‰¹i )'ôgÄoû…÷íCûHœ$Víé óÄÜUœ,_íæ²øâ»&µr7@oB:Eî– @Òp6ûÈééSÙJò­X3=¿Ý]æÒË—¼iðÔ³Ä*D]¿æÐBúÝ› h“g`žÉ¾ ÚSh¦à)h¿Ž9kð~A£ç0ä0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U̧ÑÒ†ï!c˜ïÍÊÿàD³Ô0Uÿ0U 00  `†He00ZU!ÿP0N0 `†He0 `†He00 `†He0 `†He00 `†He0 `†He00Uÿ0ÿ0 U$0€0  *†H†÷ ^Í=¯€Ç»™Ñôfìe‘®OÙe¹S£F%6…óÇ´wbÍwJʆ9âERꥑI¾&ÝðõìA‡‰·\Ohþ„+˜cý¤Ô ¡òªÈ°ê¹WR“”°%YÆü;‹GC·TcȪD7…Ü/y5…ɼ5° ÖÁ:¼´././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDNnameConstraintsTest16EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDNnameConstraintsTest16EE0000644000175000001440000000126210461517310032151 0ustar dokousers0‚®0‚ 0  *†H†÷ 0N1 0 UUS10U Test Certificates1#0!UnameConstraints DN3 subCA10 010419145720Z 110419145720Z01 0 UUS10U Test Certificates10U excludedSubtree21907U0Invalid DN nameConstraints EE Certificate Test160Ÿ0  *†H†÷ 0‰áçUÚJ‘ ¥Íí=Âg"ú]pÕvZ—š1{ÞoEcÊ%A2N N¼È'þå/Ò©ÎÍp+Öí@çx²bˆá =tsè ô·3òµ¹QeÑCÈO ±ÏaI­ûï— ÿ(ñuØÀRÇ[- n­BÚj9ZE£k0i0U#0€­’.+ÑøŠ±·!.~Ži<4u0U÷Kf]‘4Ó¿4Øñ¨ i?0Uÿð0U 00  `†He00  *†H†÷ ›XuùG,EP V«Û¹D­§¬‹­W¦€9k#¶è߸֘òæÛÏ¿Ìn ëæ+OÊ2pÜ!y-EƒuûA?Îl ÖÅ£Ò5“h ‡4pêR}€ò‘;«v§Q °‚­ke XÖÇ…6Œr–ÎLÄQvèkž././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/inhibitPolicyMapping1P12subCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/inhibitPolicyMapping1P12subCACer0000644000175000001440000000135310461517311032067 0ustar dokousers0‚ç0‚P 0  *†H†÷ 0P1 0 UUS10U Test Certificates1%0#UinhibitPolicyMapping1 P12 CA0 010419145720Z 110419145720Z0S1 0 UUS10U Test Certificates1(0&UinhibitPolicyMapping1 P12 subCA0Ÿ0  *†H†÷ 0‰Åú.Ìä%Ä«Èeq|Ž€ïß1s´ ú1‡(G<¸ù¥YOJ36-j”:K? Z·âWÚ ¢y;åwü9ìhˤ™ŒçîOÚ¨g„íqÑZ{;Ó³?­ÁÄóÿ³4‹*JKò÷a­Âæ†ï ᯊÈ Ú¢šú ­‚¾.`µ£Í0Ê0U#0€v0ƒ_£…K{7 &f0UzŠ0öê\6@ ®ØŸ¿¹½‚ÌR0Uÿ0%U 00  `†He00  `†He00@U!ÿ6040 `†He0 `†He00 `†He0 `†He00Uÿ0ÿ0  *†H†÷ MÙ~RQé¿ÏÂ*{líY"H²›ï.O9Sæ|w^匡î)Z¨çe¶hh¾qÕ—]ï}Ö3Гôû â.6I–z—úT±ƒŒ‰%:˜kC'ZÏÀËŠ%A•Þâ?’a¨N \I1ÀûMxÈ6uëáØŽVµ}á¥|mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/nameConstraintsDN3subCA2Cert.crt0000644000175000001440000000131710461517311032113 0ustar dokousers0‚Ë0‚4 0  *†H†÷ 0J1 0 UUS10U Test Certificates10UnameConstraints DN3 CA0 010419145720Z 110419145720Z0N1 0 UUS10U Test Certificates1#0!UnameConstraints DN3 subCA20Ÿ0  *†H†÷ 0‰Âs– Ï•é52Œ7pè8Âþ­öú'×Ùt1È\¨',<¨]³ÅÉxjKÅô…¥ÿ{m)¼Íåù6ü tƒ=Uϲ¦[̰i°ú Mß‘¶?7„}Ö· ¹ŒjN=4¹ÏcØay. `)¡"yéó’þDê¦Ó­üWWÕÍ{ Q¾G!¥Þ#KøXR«Í¸,B3±ë¯KšÁúë‰äèÔ¶ý8.51kï6Ù¬././@LongLink0000644000000000000000000000015700000000000011606 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidNameChainingCapitalizationTest5EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidNameChainingCapitalizationT0000644000175000001440000000121310461517311032345 0ustar dokousers0‚‡0‚ð  0  *†H†÷ 0;1 0 UUS10U Test Certificates10UGOOD CA0 010419145720Z 110419145720Z0k1 0 UUS10U Test Certificates1@0>U7Valid Name Chaining Capitalization EE Certificate Test50Ÿ0  *†H†÷ 0‰¢£6$eSöÿÒCx*ªŒð`œýs¨«²«ÒÕ+Ÿ ¬§HKÑòoÄ`2½Š[#ÍOç`¤]:óRÎMaÇÕHA'ÑŒ~ŽY$Nóm^—áK¾.RNù’ÔRÔ#§:å´€"7틯 ‚ïUÐÉ`8ÿ¦h,ØX;|êº3 þ×ENkŸ£k0i0U#0€·.¦‚ËÂȼ¨{'D×53ßš”Ç0ULîðùoÈ÷€„ÅËd:xýøQð0Uÿð0U 00  `†He00  *†H†÷ UÕ¸2KÛ ¨[l{d‘±@†¼VâBtëò‚LÔ:åÕƒ¼X¹ÍNØí iã{Ôïl‘|° õ§#bm vÚïݰӘ¢ØáÏÕá¥-Ãa¥]C°€éÄ ‚oŸcÈÒÖn·SfíÐ[8çÏ¿dX'‹\à«íì3e././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/inhibitAnyPolicy1subCAIAP5Cert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/inhibitAnyPolicy1subCAIAP5Cert.c0000644000175000001440000000123610461517311031764 0ustar dokousers0‚š0‚ 0  *†H†÷ 0H1 0 UUS10U Test Certificates10UinhibitAnyPolicy1 CA0 010419145720Z 110419145720Z0O1 0 UUS10U Test Certificates1$0"UinhibitAnyPolicy1 subCAIAP50Ÿ0  *†H†÷ 0‰Õ½_‚Þí\‹Ø‡º=®Ð\^ØKnµAüÍ“ºéÍË(0[t‡P´ëï)û¢KࢻcÕÛ8ÜØ åMqö>¡¢%ìÖÕ¦e°UèlÖ,ÿ¨i<¼£>½Ôƒ_VèSÓ9Ú‹$Zñþ']QeÝ3ÈÓta’öV¥^|n±!7£Œ0‰0U#0€fÛµ”Çij>+‘¹ßȨÐM+4D0U)cÞæÂ‚={_t s¨°oh0Uÿ0U 00  `†He00Uÿ0ÿ0 U6ÿ0  *†H†÷ ³|æœïů#zU$¶mö%p]/*A&èh;«º´·VôdcÔ•H‡ù¾ÉÖó…Ÿ ÈÜ;{µ#âhÆ»!sÎy@űÈí LöáS ­'t+BV†ì{¢ÑKžhY‹sS×kиa$JžÊ³:ã3è9=’Êè ({:»yD’Žmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/nameConstraintsDN5CACert.crt0000644000175000001440000000151210461517311031316 0ustar dokousers0‚F0‚¯ B0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0J1 0 UUS10U Test Certificates10UnameConstraints DN5 CA0Ÿ0  *†H†÷ 0‰Æc2í|Ã{¦QQeÁw‘±* ‹øÒ~;õój×á¡Â[M*<éK‡Ò";7®°`Š4 <èS礈„ÿ%Ž~äxíë+ÖEì^÷~Öê~¬³ª…uû¾ˆ‰86L±èŒÁ ŒwÀœxûò.œ­öÝ;¬F§lM_­ÕšC£‚D0‚@0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U5Ÿ¬Á¹¡ã:þñ/ºw²NMYí0Uÿ0U 00  `†He00Uÿ0ÿ0ÃUÿ¸0µ K0I¤G0E1 0 UUS10U Test Certificates10U permittedSubtree1¡f0d¤b0`1 0 UUS10U Test Certificates10U permittedSubtree110U excludedSubtree10  *†H†÷ §}£ãz[ cûeuâL¯š©Gý¨5ÍþÖ‡¢øÇ^ò¼t‚êw×$ }¯ê¶| ï!N N¸¬p!ªö:«7wT„9Ã&Ÿ/õ!ºÚ Y{yõÈ3~Ó½<9á ÄâkðRðÃTlöHœ.jbõùÌ„(1ôœTBô ¢í././@LongLink0000644000000000000000000000016400000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidSelfIssuedrequireExplicitPolicyTest6EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidSelfIssuedrequireExplicitPo0000644000175000001440000000121110461517311032446 0ustar dokousers0‚…0‚î 0  *†H†÷ 0M1 0 UUS10U Test Certificates1"0 UrequireExplicitPolicy2 CA0 010419145720Z 110419145720Z0p1 0 UUS10U Test Certificates1E0CUËZÅ׎ݷº<žßd¶óªŒúr¸á:=ãîîB^ú4×>æ"÷ñ¿¬÷qòà¦_˜güÊ/­A=8ù°¸—“DB‚” öl¡äÃM|ƒÜpÖ09I‰õÊ€6)iª8ç!CðÝ ÷|¥Ç£³0°0U#0€æÞŽV°ó–ÊĪN’º 𔩔p>0U$«U•‹•×DÇÝÿ~ýö‘± 0Uÿ0%U 00  `†He00  `†He00&U!ÿ00 `†He0 `†He00Uÿ0ÿ0  *†H†÷ ‰šÌ9«Ó½‚êCò€ŽÍ‚¸ê Цné&o4ŸÖÁŽ6h‹+Ž$ÊH Ó6Xãä¡uNB#kž Ü”×_e­>kßÇÛÕNT¨-°Hq7¡`Êq©­¢8ìišsôE§*RDd‚–Z›Ííœ1s§‡L,A`9“Lû…{‡â././@LongLink0000644000000000000000000000016200000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDNandRFC822nameConstraintsTest28EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDNandRFC822nameConstraint0000644000175000001440000000141210461517310032014 0ustar dokousers0‚0‚o 0  *†H†÷ 0j1 0 UUS10U Test Certificates10U permittedSubtree11#0!UnameConstraints DN1 subCA30 010419145720Z 110419145720Z0‹1 0 UUS10U Test Certificates10U permittedSubtree11D0BU;Invalid DN and RFC822 nameConstraints EE Certificate Test280Ÿ0  *†H†÷ 0‰äÿ¯ç Ošv^þáè|š*z¼ääj¿6$§ÐH@µG!'3¥I½ÊÉ`'RiÄøµÈHá ÷$VíÒV4óWɰ;ÃS¾{”3Þí"Ïæ«U/¦ÈƒV?uw{¼â¹/>¶Lzºùß½ãud«zm*«r@>äȳYU^Ý£™0–0U#0€W«øœ'ÈÒôæÏoª 5gƒ$k0UñÍ ¾'lÚ7€fc”(Ë©ÈT0Uÿð0U 00  `†He00+U$0" Test28EE@invalidcertificates.gov0  *†H†÷ mfGpÃÅ3ÖZž·c:wÐé»xî!>¤*Ì‹&mÚz›GP‚§zØãçkÍy•—30­-íTôÃö½d•¯1òQyÆÆ› dbD¼Ý ºø°Em±ˆÆ¼Â½/3:êLuU[—b´ÎÜTHtÑÉö¤LrI0o-¤”_àB»õÜmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/indirectCRLCA4cRLIssuerCert.crt0000644000175000001440000000153510461517311031666 0ustar dokousers0‚Y0‚ 0  *†H†÷ 0C1 0 UUS10U Test Certificates10U indirectCRL CA40 010419145720Z 110419145720Z0M1 0 UUS10U Test Certificates1"0 U indirectCRL CA4 cRLIssuer0Ÿ0  *†H†÷ 0‰½T3:ÛqzRDVå¦2,q“èßbBf-±#ÅC®ÜEý&ÊAN<%@nFa>ñN†EÒ$x½æZB±kwÔí¥æ‚!*ìêNªó¦&“}ª oÂÖ‡QÑI×çœûÅiCAÙy^/ÛO­1/TÁg49]®Ó{…ÿ£‚Q0‚M0U#0€­²CT¾—xP—Å ò4“ÅÈ@°¹'0Ußœj.YµvÆxõ9 Ûþ…Zc0Uÿ0U 00  `†He00áUÙ0Ö0Ó ~ |¤z0x1 0 UUS10U Test Certificates1"0 U indirectCRL CA4 cRLIssuer1)0'U indirect CRL for indirectCRL CA4¢Q¤O0M1 0 UUS10U Test Certificates1"0 U indirectCRL CA4 cRLIssuer0  *†H†÷ R»œ¨BÚ°ãÿ  µ2ºòQ´ü‚n§ç5@ì~^Îc·jœJ G¯ÄÃ`«9öÀÁò=S«¡ŒŸ°¾®Ý(ÍöÀ ÝîN{ ‹Oñùé7WÓºåDY(t“˜š< A.a}àD././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidinhibitAnyPolicyTest1EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidinhibitAnyPolicyTest1EE.c0000644000175000001440000000121010461517311032162 0ustar dokousers0‚„0‚í 0  *†H†÷ 0H1 0 UUS10U Test Certificates10UinhibitAnyPolicy0 CA0 010419145720Z 110419145720Z0a1 0 UUS10U Test Certificates1604U-Invalid inhibitAnyPolicy EE Certificate Test10Ÿ0  *†H†÷ 0‰µ;ççìªJ Ö¸ý¬³ò³Óí_ß}Så~ïSxÐ&“ž¬H•Ž>S ?·Š£SA×2j7ì·8‘/>ò27Jockˆ‘ÿ‹d‚/Nb½>Í qªR(DöëÈÚñ$‡{à1hPø05óÃÐ,Ø’m[c\0|Ñ&QÌdó$ãe0c0U#0€@˜`æÈý\ÑØ/ êìEÏ0U`%ô/ËÎ@Tõ¥ ÉßWÖ"–0Uÿð0U  00U 0  *†H†÷ [‡±âàòéíÅ0>…C ‰]ä)Ó=¾… ¾Q´/M‡ˆ ¢)øÙ+öµpõŸgÇ5S&ˆs³“‚À7‹ÆÝb ˆïÞ[‚ÏPZ9ÜÑVšë­¯ üÌïÓ ó+õõ S ÁþàWv‚´ cGx4Tâ ùéÔmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/NoPoliciesCACert.crt0000644000175000001440000000113710461517311027706 0ustar dokousers0‚[0‚Ä "0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0B1 0 UUS10U Test Certificates10UNo Policies CA0Ÿ0  *†H†÷ 0‰¥‡þ’lØ@,£q¼:NÎiÍé3 @ŒøÉjð:rúHˆ ±Tùòé×eeŽnïÉ(¯†“p¢øà­I„ó¬ÛßóŽk~5¶æÄ”Ž˜ômXÖÙó<"¾†-oޱÀ½F•ÿ:}Š:TJ5γi\öÚç;;Kòµ£c0a0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0USÁ%}å[>W‘ø–ž]Æ%¨º0Uÿ0Uÿ0ÿ0  *†H†÷ kV² ™µUÜ€ª-I»·¦Ðqß"5/¾yxõ ã*F£UëÔBE8e$üžíMS| ’–qþ)¸è圂Fþ¾.BÑ#Ë<ܦ×ÄUÌ£Pµ<”Êó[Çð©­%û ®Î…ÉhU+Vµ)ÄãWƒ‡çÛðfwHžmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/pathLenConstraint1subCACert.crt0000644000175000001440000000121310461517311032070 0ustar dokousers0‚‡0‚ð 0  *†H†÷ 0I1 0 UUS10U Test Certificates10UpathLenConstraint1 CA0 010419145720Z 110419145720Z0L1 0 UUS10U Test Certificates1!0UpathLenConstraint1 subCA0Ÿ0  *†H†÷ 0‰©Õ1G3gQúvÄlöüȰì»ì@Öô†úñàCä~Hs"ØþìÝ6‚ÛšÉíaIwÇœMäÖP­ ˜œpiªeNÞsbeøÐìF_B!A.ÄKå¶Ö,p¶ÜrØŸôxÙ05–L)ÜuàÛ¸yA) WéÄ4‡¦ë!£|0z0U#0€ ×MÅvzþð5Å5Šf2.Ö7Hj0UasÛ b5j[¸bH#çø+ÞP]07~?6è8< x¿ä –CC¹ª*!ŽS1J·ºùEg¦ËˆJzvÆ TÉhÑ)Óë°êèqRp././@LongLink0000644000000000000000000000015500000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidonlyContainsUserCertsTest11EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidonlyContainsUserCertsTest0000644000175000001440000000125110461517311032515 0ustar dokousers0‚¥0‚ 0  *†H†÷ 0L1 0 UUS10U Test Certificates1!0UonlyContainsUserCerts CA0 010419145720Z 110419145720Z0g1 0 UUS10U Test Certificates1<0:U3Invalid onlyContainsUserCerts EE Certificate Test110Ÿ0  *†H†÷ 0‰à¾ÛÇ)ÇÚ$–úÁ‚ƒÿ‰×® NáaÅv$Ë%]°Á$U(Ü+¹s Qø'²Kù:šÛ‚‰Xiž8r÷ ­éˆ—&^ÍùJä‘m-äyúC[Qæ¾FT'ìD§èè¹.ˆ\ Hùµôˆ‰¤¼¬;pMÜ“kS¿»Þ’À¬„kÝÌA£|0z0U#0€ZË7ÒF˜\•øß¸:ÿ@­ò0UoOõ]#™õ‹Ç˜në¼ÏÀ`80Uÿö0U 00  `†He00Uÿ0ÿ0  *†H†÷ œ›ÉýnÄ„(ùPožÉP]ÕŸ@g¨ÔÕr ß;]"Qï_yÈ{ª%áF¶Ï¹–¬‚ ¥¾^ßCEˆôÊëëeá~Í¥ý«0>t‹•¯þÍ>¹ZM)‰‚V—æ}ÚÝb[%EÞä¾E:‘7º¯Â§ÍÌ Ì»ï*†7 —nÒ)Fñ$5\/šÖø3”6ægV-r ù5&”ÒVàËëvÆ )ÊošVø|fñå ‹ºÕÞ`Ãqhùy- ¥ÕÆÉ2"çí7Vy!ja„ðù¬!£|0z0U#0€wj³dõ±ìQz-e†ÿ~ JŽ'0UðpGbŠ–Ñ‰ªT‰øœm)0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ ÷ýÔ •ià»Ø”l‹½l)g÷½M„Rg*Kñ´|„”9‡í5MÖ·lÑ”N¨º×FÅ(^A×t€M2¢¤ÝqÏeÞJôdÈ`|Î&Dö /©&kv³O¿:£ JçŽ3®áœ.nÌ.Ë«oû60 æ­ß~ä«·0,v././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvaliddistributionPointTest2EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvaliddistributionPointTest2EE.0000644000175000001440000000143110461517311032300 0ustar dokousers0‚0‚~ 0  *†H†÷ 0I1 0 UUS10U Test Certificates10U distributionPoint1 CA0 010419145720Z 110419145720Z0b1 0 UUS10U Test Certificates1705U.Invalid distributionPoint EE Certificate Test20Ÿ0  *†H†÷ 0‰ï~Ô;ãų[}mXˆ=WBú#ä([J7¨È²MÀ†ã1âŒÒIÌ<êL¨¡ëÃö¤—…¸xMmÙ–“3âL”¹5‡—]YOFš¸õ›×’¤=b²`g00úá×Q×·]ehC&È/¶¶‹¶—-8®™Ê(²ëMg|•²ôs&LpÝ¥£ó0ð0U#0€žPWj…oøæA^ëzº0~ºô0U ¼¶¹phCfªQíçÏ­UÒ›¥0Uÿð0U 00  `†He00„U}0{0y w u¤s0q1 0 UUS10U Test Certificates10U distributionPoint1 CA1&0$UCRL1 of distributionPoint1 CA0  *†H†÷ ÜCé× ûY%Û¶z¯ãÊWðN#T˜¶È„t-Ó‰ @ã^uð° x,×%¹/ϳÆž¼j‘r(³Ž6^áã[‘š-€ìöÄÝe÷¸û“µ&.ÂnãWnÔ€Xxd–3d–.w|Èhuó€´G´0„{WäŽmD“Ò8././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidNegativeSerialNumberTest15EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidNegativeSerialNumberTest10000644000175000001440000000123210461517311032330 0ustar dokousers0‚–0‚ÿ ÿ0  *†H†÷ 0M1 0 UUS10U Test Certificates1"0 UNegative Serial Number CA0 010419145720Z 110419145720Z0h1 0 UUS10U Test Certificates1=0;U4Invalid Negative Serial Number EE Certificate Test150Ÿ0  *†H†÷ 0‰Ҝ̾?7ˆëž,#êÓ»µ¼Þ¥koµ rµ‹ã e.NÚ©)¤fCí×kŽzh^OD™¡-B3šÉpó¨ï«‰÷‰Rô[è-†µ„;„PLŸŠŠmÉ]’þ]3,Ç:äg¿IzŸLQÖh™«Á4˜Invalid Basic Self-Issued CRL Signing Key EE Certificate Test80Ÿ0  *†H†÷ 0‰«á"Â{º,j-ÊéJjH¬Ðý‚{"c«9˜¡ÅéѸG3¡¡§Ñзj4ž_{ Ù(™þ L:sp6³ ü$ç…L'3™ü\úC£‘$úæq\@¤¹#Å8/ßû?¿Ò%·ñ›t‡ uïÞůêÎ90•Þ ã¿£k0i0U#0€rÊ3C©ÄQ«cÚD‡a¤ô¾G0UqÒì÷ÿ˜¼ÊF—YûÅë<™-ò›0Uÿð0U 00  `†He00  *†H†÷ åàhW#î£7iêÚA[MõkÒB=zmèºÉP NÀz2 ªXXß¡ BH!trÖ…xyôŸîÔmŽ ÞS2)0¨  ¹åÜ gŠ—»ºøâI|t›ÀŸ=@aÑ!ÉOâ…GÌ-c‡€ƒ%peXE Òź—é8IçM././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidinhibitAnyPolicyTest6EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidinhibitAnyPolicyTest6EE.c0000644000175000001440000000121710461517311032176 0ustar dokousers0‚‹0‚ô 0  *†H†÷ 0O1 0 UUS10U Test Certificates1$0"UinhibitAnyPolicy1 subCAIAP50 010419145720Z 110419145720Z0a1 0 UUS10U Test Certificates1604U-Invalid inhibitAnyPolicy EE Certificate Test60Ÿ0  *†H†÷ 0‰æ¢û–ôo7³¹)úý¢ÖÜÍ0,Ìã mÂ?A#0`é?™ÒÚ1žÐ4WkiðØùlµÛë (¶^eƬlH*à&fæ'ÙÞàú÷<ܳóÓ ¬}>WÀ —ôÞ lÇЕÍÖ'¾;ii¿ž›£e0c0U#0€)cÞæÂ‚={_t s¨°oh0U³ ä®®`aÇ9ìeŒ=ª7¡ía0Uÿð0U  00U 0  *†H†÷ e5Øõ™(自ÛM ÿŽ«HÈÂr„=ØSÊ îa ÜÊ& dÊŠ@ŠNq „¶Òñ:GhBBXdWiÑ`Ú.ö óË›kGbMÛ_ëqn"u 6S×ôÿ:W„%KÅÏzÙûJfwšd_@ÍŒjNñ’×#°U{Ž)³ƒ†]H¥œQ~8úmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidTwoCRLsTest7EE.crt0000644000175000001440000000117310461517311030236 0ustar dokousers0‚w0‚à 0  *†H†÷ 0?1 0 UUS10U Test Certificates10U Two CRLs CA0 010419145720Z 110419145720Z0W1 0 UUS10U Test Certificates1,0*U#Valid Two CRLs EE Certificate Test70Ÿ0  *†H†÷ 0‰‰dÚ꾜ØlŸxÅ#Båæ›çY· ¯ÄÛiÙìãf-‹väéËwÞ½MúwÒnÆ%X ÿ†/)EÕ‰šÀ·öBòó+€ Fý“C¥M¬[˽JÄɉò¶†ôoÿgF1îž9¦IäÿÀ‡RÉ%7Á'°²Š$¿m€qÛ£k0i0U#0€0ÈéJÞC&A#ŒSSŒ³GŽÊ0Ur´œdOjF *°€gmE¯ HO0Uÿð0U 00  `†He00  *†H†÷ oymòY/^ŠUÛ­L1áp;%—­“ ›S ÃÝ[Òž‚H¿! ƾÆòhP‚´'ÏÁ ðùFø¼ãe®~òá„qá+ˈ-5< ñMè•è@·¤¦‡¶„p`iuã$I&a Œ{Aš#0ž ¡ ´n]ß,ƒPß‘”A—ÒÑ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/AllCertificatesNoPoliciesTest2EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/AllCertificatesNoPoliciesTest2EE0000644000175000001440000000116310461517310032206 0ustar dokousers0‚o0‚Ø 0  *†H†÷ 0B1 0 UUS10U Test Certificates10UNo Policies CA0 010419145720Z 110419145720Z0e1 0 UUS10U Test Certificates1:08U1All Certificates No Policies EE Certificate Test20Ÿ0  *†H†÷ 0‰›rD^Kñ¼V•q¿û}#{¶.eè!„ybYAõÖJÂr_*2ø¸º'Ç/&‹P)òü·§=ožB›1jÓBjŽƒ[¦I ½†$—Ìc]iëaøºØ¬°;¢6Ë’[O@™ØöÐ;IE]‚i1C+8ö^1¦›å‘D±£R0P0U#0€SÁ%}å[>W‘ø–ž]Æ%¨º0UËägkÚíšø¥í%‘G!ò¢‘0Uÿð0  *†H†÷ i6—M³=çŠåwíL¬œyœ]<Œ ÙÃ¥ª(™Rd¯î¥yÈ»ø¸%xñ„/Ú‘C³Wèño»ÏÀjê› þ«ë/qqÍiæ§Oâ%s·½¿Øh wn)åzHéùVºR=„_r?‹½'äÃÜ@¼Öv_ŽOÎ/d÷ Uòðmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/PanyPolicyMapping1to2CACert.crt0000644000175000001440000000126610461517311031756 0ustar dokousers0‚²0‚ 50  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0N1 0 UUS10U Test Certificates1#0!UPanyPolicy Mapping 1to2 CA0Ÿ0  *†H†÷ 0‰ó°èV ßÉ Ø,%®Ÿ÷†÷ƒüD†Yé@L¥øí¶CÉêÒŸŸýùݬ ÈÚ±ç‘Ó‹i°’úŽ›Q4òõnFê DüÇ'KºÕbK`Õ½{žÜ‘€+wx¼ç þÊ*!¤â ²á—¾L@ÿ°ša:|j ®À4åãEF©û5£­0ª0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0UÒºO>h8æøÁê%®Ú’¯C6n0Uÿ0U  00U 0&U!ÿ00 `†He0 `†He00Uÿ0ÿ0 U$0€0  *†H†÷ Kën»1tò˜µÊÞ-ÏÅÏK–g¶ÜÜyTÚ­5…»úÀŽØ÷ø˜—Ig••U&8–ôÝ›(éM‡H˜xqF‘pB®§Žíaß2ø?ÂÐv ˜ûKq:í” /b¯«€¾ÊŒH®Çø$j¤€» ­µÑ ¤[Þ¯œJä:ìmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidcRLIssuerTest34EE.crt0000644000175000001440000000140010461517311031214 0ustar dokousers0‚ü0‚e  0  *†H†÷ 0C1 0 UUS10U Test Certificates10U indirectCRL CA50 010419145720Z 110419145720Z0[1 0 UUS10U Test Certificates100.U'Invalid cRLIssuer EE Certificate Test340Ÿ0  *†H†÷ 0‰’hôdyèD”Ù 9?‰•]P¡» l–YóJÑ®–‡ø¾´›Ôš×X²%*MÁA±,=C|Í&²9ÆJ’ ´ÄkžFŽM¥&ÎÌÕ*Ÿq:æy¾ð§&:ˆJ§ž$¿èK)î0ŸŠ½SaÓ¢‡zÓl}xn™ÓÃ)J#ËÙrMï£ç0ä0U#0€”­Ñá~û7KA=mY€?DWm0U8@$¶J1ËBÔw~âðï,•áäð0Uÿð0U 00  `†He00yUr0p0n l j¤h0f1 0 UUS10U Test Certificates10U indirectCRL CA51!0UCRL1 for indirectCRL CA50  *†H†÷  iÔL𑚸ÿwž™Ìç ”Þýn-ýˆZ{fìk‘ÒûeÉÔ›€9ËK¶fŒ°RÓQF!ùè†Ú\rÆŽcAVĶ *Š×;&ê#fÔ:–ÆO”I\å}’î„úø&ï£(í"À‰s†ö\+ËÆEqð,‡é.T2œ¨Wmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/MappingFromanyPolicyCACert.crt0000644000175000001440000000126210461517311031750 0ustar dokousers0‚®0‚ 30  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0M1 0 UUS10U Test Certificates1"0 UMapping From anyPolicy CA0Ÿ0  *†H†÷ 0‰˜ÂLü¯ºÕÑNºã.µGj@Ü_wÎ׋9òŠk€ro<;5ø|®­ºÖ¾ëÉ'à̆a&6úeš•â¬ÙüIËUOŸÅ‡>&r¿x´4õàŒÑKöSg½,Žm=ߥù߈Êäɧr) þ8rÛüéÓóhëÃõ£ª0§0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U÷Á«5Ø/†Z67YoÁÁ¤m¤¤H0Uÿ0U  00U 0 U!ÿ00U  `†He00Uÿ0ÿ0U$ÿ0€0  *†H†÷ ‰“–˜Ú_€¤ëe›‹"Þú a{™ Jq”pÔ6âæ&F ~y{ªŠ½ƒ”},÷оôôàâX±øfnrïÜl²²XÍ/¬ ðǘÓ#*Ôô8øS¾–~g¼<õ»?N QwŒ‘G·áùÌÉ.ß ì•S9Ƚ!"Ëhmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/GoodsubCACert.crt0000644000175000001440000000117710461517310027247 0ustar dokousers0‚{0‚ä 0  *†H†÷ 0;1 0 UUS10U Test Certificates10UGood CA0 010419145720Z 110419145720Z0>1 0 UUS10U Test Certificates10U Good subCA0Ÿ0  *†H†÷ 0‰óÂü#œh73”O{ájµ}à”°ÍÖþX麀ª§—®bu¶Q“Ž,í'$Ô*ɧ+z¡* í3¼Ïø­££óÑJ;ΆòÁûExªûè­"Št·`ÉC‰!œ Œ€{,šy¢Ö¸Ov²á=·?¯âÜQ6kômeÄ$żç‡q£‹0ˆ0U#0€·.¦‚ËÂȼ¨{'D×53ßš”Ç0U|\i|ÈU±")CûÄ{êê¸}0Uÿ0U 00  `†He00Uÿ0ÿ0 U$0€0  *†H†÷ 2!ˆµöZþ5@±–­Â^JYLµM)¨}UlJ(¶Kô£¶©l]œ ćEŠ(ʦc« äÚ[§ûä¡ñª„8<ª¨e{w+Šã‰ (SíœÈ/¦Äîz8át|/äJCˆè^ù†‡ óÅ$a@Ò ›jLyë¹mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/nameConstraintsURI2CACert.crt0000644000175000001440000000125610461517311031456 0ustar dokousers0‚ª0‚ I0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0K1 0 UUS10U Test Certificates1 0UnameConstraints URI2 CA0Ÿ0  *†H†÷ 0‰ЮþÕR\“Qs8mM¥C± ½ Æ3.=M)Ç”ŒUŸT6öÒð¡œ,O ¥¢UijvªôzùKÅÒÏźÄ{•ŽKàW˜éÀôºƒíE½ÿœ0ú]$"½â´(M#f›8߇¢úŽ ø&¿ ]¥wŸP™uh}2ô{•ž$‘¡bóð>h‘“×Ô|š­sRCcfÿuÎÍÿÆ.ü JÎ}n_œNmÄ ÑŒsû>³oø¶0¶§Ú •ºúºmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidcRLIssuerTest29EE.crt0000644000175000001440000000142410461517311030677 0ustar dokousers0‚0‚y 0  *†H†÷ 0C1 0 UUS10U Test Certificates10U indirectCRL CA30 010419145720Z 110419145720Z0Y1 0 UUS10U Test Certificates1.0,U%Valid cRLIssuer EE Certificate Test290Ÿ0  *†H†÷ 0‰Þ'¨Ðæ²)šý6ÌRëãyô`¼Íõ÷gvÛþH©ƒ‘®­,Ît^ÌleVFõ!÷½õŒ’è3TRåbÀ,§–c¢}þdÎíü›Y'J`é|ê°GÙüP®ÇQuÒ³"ÆÍÂísP-Õ¥¨j¥8ÉÜš›ùÌá-íÿûXj†cùceU£ý0ú0U#0€–(¼)¦­XŸg.ÇÂÁ—:ßîˆë(0Uݘm5b5©ÕŸعX« -1rS0Uÿð0U 00  `†He00ŽU†0ƒ0€ +¡)0'U indirect CRL for indirectCRL CA3¢Q¤O0M1 0 UUS10U Test Certificates1"0 U indirectCRL CA3 cRLIssuer0  *†H†÷ Ÿ»B°ìV¾/Å“€„ùqSZ]ß:‡d ”J%éâ¶9Cå°JÌOÜ\@w !Í·JEÖ±3‰Ðçø •yrs?ÑU3Aä‰áEjÊýÞBu^åµø3]ß‚0ëþ‡Üz—k7 ÞË>ùHk°‹Q®_å1€ÊüŠ×u±././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/PoliciesP123subsubCAP12P2Cert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/PoliciesP123subsubCAP12P2Cert.cr0000644000175000001440000000121710461517311031503 0ustar dokousers0‚‹0‚ô 0  *†H†÷ 0J1 0 UUS10U Test Certificates10UPolicies P123 subCAP120 010419145720Z 110419145720Z0O1 0 UUS10U Test Certificates1$0"UPolicies P123 subsubCAP12P20Ÿ0  *†H†÷ 0‰ý Ò5LYäÖ‰&}©¯¾3å@ôý¡7Z-L Ñ9ÛóŽFà˜y:þnï—_R`&½5n¹af†e­ÜôûV(ê,UjËŒWÿ£„Û:Œã’‡"ÝVP Ùb}ê3©oñÕÞú_kãwC0ÌJEwtXól/ÚdlÖa|½ù£|0z0U#0€Z‡!ûÜ“mš |Çj±hKßU×0U‹ì9ó£®n9pdh+MT,ŽÀ0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷  ¸ÜTãõÔ ÎŽÓàÒ¯®´ìJfàö ï.È tq‡µËÒl ÿÛ %ÆB <ÍZZ“”c˜Œå0¼ ÍÛ·«„ “—fÚá ôÆ„·w¬½™ô1S»·lN\‚ê° ÞÈ"ã[ê ÝH¥£Óájm'ð;û5¼ ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/UnknownCRLEntryExtensionCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/UnknownCRLEntryExtensionCACert.c0000644000175000001440000000121010461517311032203 0ustar dokousers0‚„0‚í  0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0R1 0 UUS10U Test Certificates1'0%UUnknown CRL Entry Extension CA0Ÿ0  *†H†÷ 0‰¸7wïïT ÷°œ´  vpØt±¼=ÃnŠA£ClRA:êgfÎuë¯UjÇ뼓Ä+ßÈ Øn Åñ¯CôŠð+W œ›×è¼€{ÅNaÍRN*±šœb–´w˜O׈ɴRjŠ­ (P®FÏ(îŸ Yl\ ìBsù£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0Uõ[ëÚÊå愈ŸÙl¿[ΓiM€0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ ÇÐý€”‹€Ý ›y=å3Š-æ«zößPÆ ¢ýùù¤†ZúÐÀß2­'KT¦ÞYoí€ïXRÞË"I’ºÓÂS~;JwjÕÆóá.[Âèû~ñÃ¥8ñOÏå«W±Mû¶LÃþÜ^¨D“¢S6}r–¿{xÑ¡PÃʯmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/pathLenConstraint0subCACert.crt0000644000175000001440000000121310461517311032067 0ustar dokousers0‚‡0‚ð 0  *†H†÷ 0I1 0 UUS10U Test Certificates10UpathLenConstraint0 CA0 010419145720Z 110419145720Z0L1 0 UUS10U Test Certificates1!0UpathLenConstraint0 subCA0Ÿ0  *†H†÷ 0‰½Ê«³LRç´'ÖH›±´‘.‰@Òr!5 _ê˜õ‰‡Ù¹YR;̈ ãflÖú„ÇPÊžM(v[`èyÝXVÎÁ“{Þ1›ì!:+b)é&N×êµ®ÅaŽí’Þ|<·"F©zn¡½¤ùµ/µ rÃò¬:é£|0z0U#0€! µvvÓ³*¬&üª¦OòÖ¡oK0UŽ«FœKnçåWˆ '“þ'Öç0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ 5µ¬ƒvÓÝÙC~ðü¬6­| ]"î«1ô–Êí%0­ãSºrÃÕ!ìqXÌœ[гÞ+hŠ¡´»B¸Ì´âŒ$·‹½±R•…¯þA<ºcÅr2æ®%ømø˜R5É>©¦dQ13{Î\Ì®›L2]Ñúî=~é`QyÏ•÷Å•o././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvaliddistributionPointTest3EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvaliddistributionPointTest3EE.0000644000175000001440000000143110461517311032301 0ustar dokousers0‚0‚~ 0  *†H†÷ 0I1 0 UUS10U Test Certificates10U distributionPoint1 CA0 010419145720Z 110419145720Z0b1 0 UUS10U Test Certificates1705U.Invalid distributionPoint EE Certificate Test30Ÿ0  *†H†÷ 0‰¹.K½èúéxÅK€x3D¿Lx¼u*r‡O4;çB< ÿ¸v Õ•hàªiòäN${u¹Üô”q2Êc(YËÃd#Ñ£Ö¬­#>ýlX)á×֙ΕÛ°m(Ûýa·,‰è›}]ç4ÜXj´Å¤E›ÆßqÞr(ó!A£ó0ð0U#0€žPWj…oøæA^ëzº0~ºô0UÅá´ŠÖƒ†"2/ݘŽb60Uÿð0U 00  `†He00„U}0{0y w u¤s0q1 0 UUS10U Test Certificates10U distributionPoint1 CA1&0$UCRLx of distributionPoint1 CA0  *†H†÷ çcå|FA°úJHa´ÃR_þÓ’NDµ‰]y6Õ¨zW³ª(–å°†Hâ‰k®iàb‹­ÿ®6õ¹ã“E·E¤šã²Ró¶|]'V^๓-§ß)è¦UàHÍ® ©3·r÷‚éÎÍɵ³pæ6Àœ@[îᬠ9÷ĉÆtämauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/onlySomeReasonsCA1Cert.crt0000644000175000001440000000117510461517311031065 0ustar dokousers0‚y0‚â P0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0G1 0 UUS10U Test Certificates10UonlySomeReasons CA10Ÿ0  *†H†÷ 0‰©ŽXzgƒ  ¡téQdTâžÔ懙€~«Ú2OŠèW‡}Odð_ÖˆA§œ«‡¹™°B¿ )À~úYëmN£²×°Ô´`Ø®~ïwO§°“YCÖWXGŽ‹x`i8ï »H¥güË(’Q"Šoù‚Um‹)Àj,fêM£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0UàbšßP½[Iþ¾pÌÜ9n0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ ›žAs -rSé ®ôõ›R¹ÐeNúw‘W êf´8à‘O»L˜&PÔ¶ju.Ä^u¶G˜¼Éj4û*(ë7úÆJ*YÉTvÍ”iw[|‡îë9Nå^ RvÔB ægÝ?¶-Ÿ€‚§ùÀ51'¶f´bqÔ›’‚ØH9WÛxÅ ././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidNameChainingWhitespaceTest3EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidNameChainingWhitespaceTest30000644000175000001440000000121410461517311032266 0ustar dokousers0‚ˆ0‚ñ  0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Good CA0 010419145720Z 110419145720Z0g1 0 UUS10U Test Certificates1<0:U3Valid Name Chaining Whitespace EE Certificate Test30Ÿ0  *†H†÷ 0‰§©:ºæR5ëJû„Ò¿‚£æ„ÀïØi U£Sè¿™rºiEð C4€\Ï9™4œ“Pm+ŽÌö7ÀZ=畈íAöãðqN¡Bpúøw9óèDü;ÞùJ€'²„,š"7×B™‡^yù“g=©×üÙÃÈ,å£k0i0U#0€·.¦‚ËÂȼ¨{'D×53ßš”Ç0UíØ"ZÒlÀM¢Ã!;d ‰PRda0Uÿð0U 00  `†He00  *†H†÷ Xþ ônÕj ÀâsH)„‘+QT-.Uáq)ná×k861.”ZñŸÖJÁ&Ä—«ô& âe±nû3|cNæÿê]ƒÁ?©Ÿ,˜>uÃ|Þ9ÜÍ'c´uî¡SOB:¾ÿesoÝPAç]`Ù»“ѸõáBJ® sB&@lÄqå¿,././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValiddistributionPointTest4EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValiddistributionPointTest4EE.cr0000644000175000001440000000130710461517311032302 0ustar dokousers0‚Ã0‚, 0  *†H†÷ 0I1 0 UUS10U Test Certificates10U distributionPoint1 CA0 010419145720Z 110419145720Z0`1 0 UUS10U Test Certificates1503U,Valid distributionPoint EE Certificate Test40Ÿ0  *†H†÷ 0‰ÒHçYG|Q9yæ#<ÈsççGPмü®Œ :&þ‰÷ÜNÔÑÐÇqü´¥¬©§Õ{}#Nj”Ué«,ÞÁ6o't6µ<éÛ©Ü]í½UÍ;c׋íé \]ÓA<Üq³š›öm¸ a 5 îÜ-2#ÀsЏ–ߣ£0 0U#0€žPWj…oøæA^ëzº0~ºô0UÖêº8ßúæ,ÇßF¿)ùvY$Ó0Uÿð0U 00  `†He005U.0,0* (¡&0$UCRL1 of distributionPoint1 CA0  *†H†÷ ¬Ö ±JèXj–³R˾ê‘}Ýx :pQoÐü#y îîXj˜Þ̆K=xÈem÷Í"#D˜Ã¾}ëAÚåÁÓWFʼn¯I’{aß]|@>°0—€¹0E¦SBöa½ªmOz³Ø þ¯ŒuçFEkRûíômauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/deltaCRLCA2Cert.crt0000644000175000001440000000116610461517311027360 0ustar dokousers0‚r0‚Û \0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0@1 0 UUS10U Test Certificates10U deltaCRL CA20Ÿ0  *†H†÷ 0‰«ØÅ)Ç1üг˜ ¥ùਛÕ#8Ç3<5*BìþÓÙ]˜UÊÿ_Vúnr¨æ Õqƒý!†ÈÙR¶ÐH?þiún>ú˜’ÍžÿPhE¨"–}ÏËzcì™\´Ñ䋞Ì:ABÐÂŽg´ý!ïg¥îXóo‰Àòõ&—jB©£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U£“«Wf&mr:l¼ƒe£šüŽ C 0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ YÊl$’:Ú ¢d©7t¿PÍÍڻܱßš¬$ nb(˜ì±Ëq²ß¦;…î5=œ¦äÚ&8†¹ÿù` e¢Ne%»Æó2zbg,ÈŽ:ïÄrº{B1vÙÍË;ºk)ó¥ xøÃ ¿;›™ï?d/î$ô6†././@LongLink0000644000000000000000000000015500000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidRFC822nameConstraintsTest26EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidRFC822nameConstraintsTest0000644000175000001440000000130710461517311032136 0ustar dokousers0‚Ã0‚, 0  *†H†÷ 0N1 0 UUS10U Test Certificates1#0!UnameConstraints RFC822 CA30 010419145720Z 110419145720Z0h1 0 UUS10U Test Certificates1=0;U4Invalid RFC822 nameConstraints EE Certificate Test260Ÿ0  *†H†÷ 0‰»ŒÛ]̘0Š”É9Çî١׿ÿâæ ÅsKÂì$ÅBbž`)>GÖU褶mêÑÊþ"àÑTÀ”Šœ%ÖtT‚x~ås–Àß7îUßý :x(iÎS‡D¾n#M 6„É# ‘ž#ÍB?·¤r"B±Z¥[#&³3œK£–0“0U#0€ê·nš+ €6giµÚ5¥†=)x0U”¼èêì°ëAh8ÉÈ™šæFg*0Uÿð0U 00  `†He00(U!0Test26EE@testcertificates.gov0  *†H†÷ ÃM '=§†ßëŠz³\qÝ—)‰Ü4„ÎPÞ+=’©w<(¦B1çGÆÓÔûô°ã¿ šÕ&"Z̲Ÿ|MÌ×¥Y“!È2Q–:A¾EÐJ}y‹/Hb ³®›XÔïN'2,§%ø[޳~¸yëeIkÌ4ŠZ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidinhibitAnyPolicyTest5EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidinhibitAnyPolicyTest5EE.c0000644000175000001440000000121610461517311032174 0ustar dokousers0‚Š0‚ó 0  *†H†÷ 0N1 0 UUS10U Test Certificates1#0!UinhibitAnyPolicy5 subsubCA0 010419145720Z 110419145720Z0a1 0 UUS10U Test Certificates1604U-Invalid inhibitAnyPolicy EE Certificate Test50Ÿ0  *†H†÷ 0‰²qúÆÉ»»ÈŸ:zÒv¯= ècÆD'ÆÜ£1üŒHLlYØ1s6Ot'ôã}\ÀHð¾(«jAõZƒú —ö×ÕË»¬=ãä)Œãæ"ZÖe¿mGÓƒ (ˆ–f³bߺˮxÓ¾õÞ¶€ûÐæa›ÔG­1bIRwgÔ@´£e0c0U#0€sù ôdœ²ñï·Uª¤¢¯0URç†äzÝ5¥ª¢·öÿT®Q:0Uÿð0U  00U 0  *†H†÷ Jz•C˪¼Ù#—õÝ÷­ñ>èòH‹·ÈÝ>šFç6xm¹¨†Ÿ‰¿×[‡ a³n"YS­cju.N V Ñ;¸6ES·ø3¥¬Ñ_Ñ?@CÍgöbÙzxk˜ÑXÀ*~ö÷½@Ã1éhÛ­]ᵺÝ~0F«’7 ;$©Ç®•¶;Ïmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/P1Mapping1to234subCACert.crt0000644000175000001440000000133310461517311031023 0ustar dokousers0‚×0‚@ 0  *†H†÷ 0H1 0 UUS10U Test Certificates10UP1 Mapping 1to234 CA0 010419145720Z 110419145720Z0K1 0 UUS10U Test Certificates1 0UP1 Mapping 1to234 subCA0Ÿ0  *†H†÷ 0‰»ÅEìÓYY”^z[Á(Bîzy®ÎᇼßÔq—zKZ!sù»2yã%` ¶ù×÷˜T›—C¶»m¿êhbøn«™¾—å3qHpÞü?· ±lYüAúºãgÏBù‡±µ??“TÄZl³Á%­h´_e;B…F¥Iý•uï£Í0Ê0U#0€̧ÑÒ†ï!c˜ïÍÊÿàD³Ô0U­ïW}ºƒïÿ‡hsÒ¦—0Uÿ0%U 00  `†He00  `†He00@U!ÿ6040 `†He0 `†He00 `†He0 `†He00Uÿ0ÿ0  *†H†÷  «>²¾²ì[ÉVôÐÁƒƒ‚ãøÿÛèZ7.'xÜŠ!Oƒ¸?3¯j\½Ž H•!Øvp±ø»w[œ&@}6)«^-¬ OGвýDÕÌ;ÃKÓVìQ2MkeU´ÄS‹¦â»Ôû±ä™Ž ¡nªÝÄ_†Ž AïÐM0aÅ././@LongLink0000644000000000000000000000015600000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidBasicSelfIssuedOldWithNewTest1EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidBasicSelfIssuedOldWithNewTe0000644000175000001440000000124210461517311032254 0ustar dokousers0‚ž0‚ 0  *†H†÷ 0P1 0 UUS10U Test Certificates1%0#UBasic Self-Issued New Key CA0 010419145720Z 110419145720Z0m1 0 UUS10U Test Certificates1B0@U9Valid Basic Self-Issued Old With New EE Certificate Test10Ÿ0  *†H†÷ 0‰¬‰œaþìéæ´ùÚ³Xð dO¶%„ÿzà6¹êÙ5ÒÊ‹T¡Â+Ñb ¦¾ˆß´±Îáf…óŸ leìw‹ð/Ÿ*V\3C5|%;šüœb6m1#›…5š¿ÌFƒ»Sk(z½ŽLu&Ù!˜ÖˆŠ‘üN1§:gÚç¢.‘£k0i0U#0€É[ÓÑ¿ñÁy\»s LFË-Ù0U²‡!™ –tÕM’K:Ø%œ®î0Uÿð0U 00  `†He00  *†H†÷ fí­ïO¨\™!Øç§hÿ~ãÎqšèBÙC”»+vXX ;æ©{<‰ƒ7k04º?5öTÅqê(bæÔ'33Ü`˜½bÇI –Þý´.QßßÕÔìrc}yùQ#ð¨ÛëÅ€D_/]2Ò÷¾»fD…½¿òvTúßΦø ././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidRFC822nameConstraintsTest23EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidRFC822nameConstraintsTest230000644000175000001440000000130510461517311031752 0ustar dokousers0‚Á0‚* 0  *†H†÷ 0N1 0 UUS10U Test Certificates1#0!UnameConstraints RFC822 CA20 010419145720Z 110419145720Z0f1 0 UUS10U Test Certificates1;09U2Valid RFC822 nameConstraints EE Certificate Test230Ÿ0  *†H†÷ 0‰£çÊ®‹BT£—R‡æì§Tï¬9ï¾²^^CLïŸ$k!f(MI;™ v&ççPÍ"Çe8}vyæoYH¡Ÿ™¹Ò ÛÆ¹Nè£×*« êõú1J2k2 oß·i“^“¼Ãh_Òçil6ïë¹±Ê*i›àF¨T––C£–0“0U#0€+6ftK“«1U‡¤1«6co5É0U Fl´H$\$úæ½Þ¤œÝ£=ò0Uÿð0U 00  `†He00(U!0Test23EE@testcertificates.gov0  *†H†÷ x5šBý ¢C—›xà´4r‹$ãü=ñiƒ EÅíq„QL™Ç$”CÐ p¿|g…oÊ‚¬p’òb«€õå&ôELkZð勤%[¾7É{6k…â¦2=Ÿ "ëp'ªNcx#%BDÜuñ-nÒøC÷{߬ 3W.Y >ð././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidDNSnameConstraintsTest32EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidDNSnameConstraintsTest32EE.0000644000175000001440000000130110461517311032014 0ustar dokousers0‚½0‚& 0  *†H†÷ 0K1 0 UUS10U Test Certificates1 0UnameConstraints DNS2 CA0 010419145720Z 110419145720Z0c1 0 UUS10U Test Certificates1806U/Valid DNS nameConstraints EE Certificate Test320Ÿ0  *†H†÷ 0‰ß¾(ì WþÎsT|j ; [ןÜíº›¡ÏH1Ž´îEµh=Ù÷ȤT¿,m4UÕ£²öùB8=5µ§3–Ò^-­å÷2Uƒñ><á®] [ðßQƒ¸S¢Çµ:ˆà…×]Ýysÿ¥—·è,Bã;ªË͸Úg²9È£˜0•0U#0€~Ü;êޜқBDï{Ín’à´0U¥9*ËÞ‘ûݹ×gÏ÷%™ãÙg0Uÿð0U 00  `†He00*U#0!‚testserver.testcertificates.gov0  *†H†÷ Kcog•8“±À>ŠH.hU~×Ý9§8‚XPu“!̰œ:¨wÙOÁ)šõ«Z2ôRž§çL{Q j5õ.jOD#V5_bÀß_ÄËhÉé²=K›çá²ÎØu Œ³šlô¹—!æ×GÝ7è9õR‡ÀJš@džä…Z•,ìK././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidonlySomeReasonsTest17EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidonlySomeReasonsTest17EE.c0000644000175000001440000000121510461517311032140 0ustar dokousers0‚‰0‚ò 0  *†H†÷ 0G1 0 UUS10U Test Certificates10UonlySomeReasons CA20 010419145720Z 110419145720Z0a1 0 UUS10U Test Certificates1604U-Invalid onlySomeReasons EE Certificate Test170Ÿ0  *†H†÷ 0‰¯ÅBœP(„‘œ¹£iväÆKMª “#áý£ÃñC’Xª)]ìw“Ú‘ø;ÚϬ†š"Ûõ±J<ÅСUÝWn1„c$jª^pãØŒyoT^7`e˜†¥Ž¶ˆAeòæâbÒ¼Y4 n_£¥§JOÃPVè³V ”,hŠ_û—£k0i0U#0€ª¡ïØ\Ø8²3‡ç“EAЊ{0U®Pé>mžäÉ ¶¨ñRí†z0Uÿð0U 00  `†He00  *†H†÷ 9(N§ÆÄa<äl¢QsìÑö@C1[€*MݤËeYnVȸ”ÎN¿R,ˆCaM ®w eˆ®{ Zýeƒºs°Ç²ð>×$°ê73sfD©2€- ò‰xý_zÞÖI:@³åöŽ‚t«å4èf/m{}wfò{Á4«ä3Y9@þ././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/Invalidpre2000CRLnextUpdateTest12EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/Invalidpre2000CRLnextUpdateTest10000644000175000001440000000123210461517311031750 0ustar dokousers0‚–0‚ÿ 0  *†H†÷ 0M1 0 UUS10U Test Certificates1"0 Upre2000 CRL nextUpdate CA0 010419145720Z 110419145720Z0h1 0 UUS10U Test Certificates1=0;U4Invalid pre2000 CRL nextUpdate EE Certificate Test120Ÿ0  *†H†÷ 0‰Ðhq„×#Rm˜”­ÁýGÆÁÑÆDGÁgh/£–0“0U#0€W«øœ'ÈÒôæÏoª 5gƒ$k0UÝó™Ò FTI&ÿZ4OóEn÷éû0Uÿð0U 00  `†He00(U!0Test27EE@testcertificates.gov0  *†H†÷ %ÏùEÁ¡Æg”ê 5×MyüV"³÷7ëÖ)‘že©’S»dåIÉ’7‹Äƒ¯¾×´½\b>, BJÇïÉQ51ùèÄ݃ű å‚\Øk…o¯™‘"•X1ºQ¹3Úfúú9Πŵ+iA—XÇŠþµ†ƒq{¥k5¾"›WXˆT././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/RFC3280OptionalAttributeTypesCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/RFC3280OptionalAttributeTypesCAC0000644000175000001440000000132110461517311031701 0ustar dokousers0‚Í0‚6 a0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0š1 0 UUS10U Test Certificates10U Gaithersburg1 0 U*John1 0U+Q10UA Fictitious1 0 UCA1 0 U,III1 0 U M.D.0Ÿ0  *†H†÷ 0‰Ö¶lE‹æ€¼2 S‡k J ÒÀI¼%63duðÂzÒŸÄ·n% ˜Oœ~!ªšÐ”‡`!cŠ–s‰:Ó\LØÀ€÷¿<ƒ‰xŽcÑÈïÜ ¾=ì¢Öå² ·6ÛG°øSتm¨ñ¿‡±€€¨¡¨‹3Ë-Ó}»ð*.‹£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U¯ŸÌ,¤cBWW×Wc_sÑ0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ SéÆZ<úÚ<“±¨²‘çBw‡íµ1‚ÿ¹ó#›:þ¸…æ|RF 3è|…¯³7g_×jN¾ž‘@c­»‡?*Ây˜®6v}Ûãã»#øăº¡Lü6Àçš­èå²Á;CÏz‚Ü÷,ø™Úm¢Óô#¿'NÐÆ@Ü././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidonlySomeReasonsTest15EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidonlySomeReasonsTest15EE.c0000644000175000001440000000121510461517311032136 0ustar dokousers0‚‰0‚ò 0  *†H†÷ 0G1 0 UUS10U Test Certificates10UonlySomeReasons CA10 010419145720Z 110419145720Z0a1 0 UUS10U Test Certificates1604U-Invalid onlySomeReasons EE Certificate Test150Ÿ0  *†H†÷ 0‰–̧bõò¾_ªíãgCZGE<ØGxзI(ÔÕ@°ÇGŠ`¢Ån¬‘n­Ž Ž­Üq“þ <#ËOçK†ü"Åæ!‚k7›ôÉúi×yºùlr7>1zÔ,?˜—¸äþj°ñvé§¼”mÙCÀêÃõ±Áõ’Ög¦Ó¤´ Å£k0i0U#0€àbšßP½[Iþ¾pÌÜ9n0Uª„1¹›‰ÓaÌø¨zïm‘µ#}90Uÿð0U 00  `†He00  *†H†÷  ŠŽ œ0/àvŒ8=;ù?Æç>@6: 7í8.›=ƒÁUÃ!>ÔAVy‡6^^y–¬¼x° “aŒÈ^™y,¿ŠëZK뗦⻠B± •Íóæc.ÉSwÎ_ä˜6ÃG[ѽ_Dkù"!;ÊznO®ùÞoâmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidRevokedEETest3EE.crt0000644000175000001440000000117010461517311031072 0ustar dokousers0‚t0‚Ý 0  *†H†÷ 0;1 0 UUS10U Test Certificates10UGood CA0 010419145720Z 110419145720Z0X1 0 UUS10U Test Certificates1-0+U$Invalid Revoked EE Certificate Test30Ÿ0  *†H†÷ 0‰­Bà56²w »ÚB–žr )›*º7Fæ†1"Á‚˜=ÖRC 9´sv_HM`aB û[ã•‚çÓuô¡Ñ5â±"Ç ZCk^H–ѲÝÞ&˜ïFÓZ´ü¿¦*P±ÜéC¬Mψ7v3dmø“i Åôì#Íþz¼(‰AFä £k0i0U#0€·.¦‚ËÂȼ¨{'D×53ßš”Ç0Uœˆ&¾«Šd ¨ìÑë‘Yβur[0Uÿð0U 00  `†He00  *†H†÷ ±t_F¦áY7\àžŽŒ@b90aôÛa–*Â]%ø•9 Õâ8ç[9Æ4\ÚO#Uð7Qí"âŒciÐòäï!1j"i¥©0¼WŸÝŒºIÖêÑ®Ýu¯ûb?4¡†È‚ŸX )=–íÜGQž2†…øV,G†YéQ././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDNSnameConstraintsTest38EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDNSnameConstraintsTest38E0000644000175000001440000000127210461517310032174 0ustar dokousers0‚¶0‚ 0  *†H†÷ 0K1 0 UUS10U Test Certificates1 0UnameConstraints DNS1 CA0 010419145720Z 110419145720Z0e1 0 UUS10U Test Certificates1:08U1Invalid DNS nameConstraints EE Certificate Test380Ÿ0  *†H†÷ 0‰‹ÎÔŠ±f>K†a˜Ø}öÛƈ^°Ò`Ъ€s ã _s„Ÿ`Ë6§PµÃ!•Â’Oá[pSTε²J0ËRjMë9’ Ó,ˆx‡öþ¿n°©]LÅC-Çê9Cœ­½gÙ¿éH®ÉÊ͉ªÝ8#âVWÎY5P²Nî)ǘ˜Jd}¹sÿâÕ¾·ÆÒ¬àPW--{V\GOmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/onlyContainsCACertsCACert.crt0000644000175000001440000000120010461517311031516 0ustar dokousers0‚|0‚å N0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0J1 0 UUS10U Test Certificates10UonlyContainsCACerts CA0Ÿ0  *†H†÷ 0‰¨ÿ3Ý/P%W!UÂ¥ºþuÇhdX´Q”¾^û†ª•9¬ôWŸW™“zê ømQ†¾;¥³‡kÿc;õ33ÐÍãÆÝèhÿ ‹³Šs©U™6£—¹¸Ï½„õÑl¤©ö–º+ÜŸ–1l{€q­6À@½M«ùÛ'=mçãÃESºâ £|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0Uó¡Fg{éY«ëU†“ȬäU·0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ ÆÅ#@Wí£„¥v|”©zvv~$·ë?!3Î#)¬›C§š7‰‹².}´ž#¹fi® æê׋_Iÿð€”©Âî|¤†Ï£t"~õ/E/0˜på˜ÖsüÕúÀœð&Ýyd/ zOžde0AÉ:/Ü-æ-p0\‘À€././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/inhibitPolicyMapping1P12CACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/inhibitPolicyMapping1P12CACert.c0000644000175000001440000000125210461517311031760 0ustar dokousers0‚¦0‚ 80  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0P1 0 UUS10U Test Certificates1%0#UinhibitPolicyMapping1 P12 CA0Ÿ0  *†H†÷ 0‰³„ú “­º”JTœÍü|ˆÄ‘+ˆ©ô^%‰.àŠ «eæXãþýzd¬ê™=Æú*:Íǧ/·€ÿC&t͹gJ%9aAš´ÐðõŸ}Î0­3„Â"¬˜–›ÎÛ°ÕÒt0¢œG2uÌ qÂ<±èv[QWtZ?¼i:GÛTžÑu£Ÿ0œ0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0Uv0ƒ_£…K{7 &f0Uÿ0%U 00  `†He00  `†He00Uÿ0ÿ0U$ÿ0€0  *†H†÷ —Iä9˜I)𠇲Ð%°U#kyx $Úÿ§îðÞgïEñ°r AÏtLN©g:κ>Ì:èrñ¿û ’&n¯¹Í»ƇÈo¼þ»7µõÃ4D @y¨#íþ£×*:tÈ%e×?*¹«O2Nµ-Ö\ÅÊ· À`{?$EÖŒ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidkeyUsageNotCriticalTest3EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidkeyUsageNotCriticalTest3EE.0000644000175000001440000000122510461517311032133 0ustar dokousers0‚‘0‚ú 0  *†H†÷ 0L1 0 UUS10U Test Certificates1!0UkeyUsage Not Critical CA0 010419145720Z 110419145720Z0d1 0 UUS10U Test Certificates1907U0Valid keyUsage Not Critical EE Certificate Test30Ÿ0  *†H†÷ 0‰‰ùì§Î˜‚×,Ö^H‘ÃÕ€ÈàXØj†ðæõ!8X÷ñ%Å Az‘Ã9ÿÔÕãÑö˜)å@æ>•g‚?°ó¦BxlcÁu”Ñvv¦aÛ¯,JÅ·f'¬5°ÜÚÆ ZòüŠ¢€ÊãV§b¸ƒ_ÃuæNp 4”ûŠŠ©I—£k0i0U#0€Ï*¡¥ýBâ3¼3*M˜s³ØûU¼Ø0U±|ÔbÒ>c§oU$%Kî9Rå0Uÿð0U 00  `†He00  *†H†÷ ·†UvQÝÜfᡆ®ù­v@äý´£îùþ<ÌË;¦¸«AR„Ûj/M…L½²üõ‚¤ jL ìúÑ®ëy6$¥-À šáR_ó¨2ÜÊ*¾šÈ¡b£g9Á/B ]ÝFêyÉ*ºvðês=Y(ç÷0ƒ?ÝZ=…KfV././@LongLink0000644000000000000000000000016100000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidSelfIssuedinhibitAnyPolicyTest8EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidSelfIssuedinhibitAnyPolic0000644000175000001440000000124110461517311032410 0ustar dokousers0‚0‚ 0  *†H†÷ 0O1 0 UUS10U Test Certificates1$0"UinhibitAnyPolicy1 subsubCA20 010419145720Z 110419145720Z0m1 0 UUS10U Test Certificates1B0@U9Invalid Self-Issued inhibitAnyPolicy EE Certificate Test80Ÿ0  *†H†÷ 0‰ÐÿÒ×»Ý9»N²Å,òguÏ x§Ýþ¦ü›uªî)šsVk€2^sÖUû'·•ÿ•]O±ž.ïìw1Å'rÌ J¨‹€¸ÌbòÕƒ¥`õ±½¶SÛ¸ºŠO©AC´ÆÚgˆÚžÉëƒfúkMµ¼ò†Þû@›½ÉpTû£k0i0U#0€"ÉÕ1ÝÂvçÃÜ’üÀ…“ªæÍÎ0U8ߊ ó™4jÀHoLÍ ¼ÆTd^0Uÿð0U 00  `†He00  *†H†÷ q룞î'Ì<ã fû\¯h“ì Z¸²—Ðf¬Èôµ½*çtlYg+ë®zÙécr°+O2”< Ò¬1V€¹´ÀQqɂ܆å—éø‚ñ@ü°ä:‹r_jÿxèó„n06óÐx›~Ëö>µø×>ÄZ8ãt././@LongLink0000644000000000000000000000015500000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidRFC822nameConstraintsTest24EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidRFC822nameConstraintsTest0000644000175000001440000000132210461517311032133 0ustar dokousers0‚Î0‚7 0  *†H†÷ 0N1 0 UUS10U Test Certificates1#0!UnameConstraints RFC822 CA20 010419145720Z 110419145720Z0h1 0 UUS10U Test Certificates1=0;U4Invalid RFC822 nameConstraints EE Certificate Test240Ÿ0  *†H†÷ 0‰ª=n›½0là·ïšhfÒf`=ã/Êm Ï<Ù HÛ×xfã¾µ§å {˜ŠÀ…£~<†½¯zQ”lWä}gŒÅ/ý¿ºA”2ŸmMUˆÏd”âýM ÕHßi²q¡r› ÛEœn±‰µKï(X^‹×¥´i݉‰­£¡0ž0U#0€+6ftK“«1U‡¤1«6co5É0Uò¼¼ª1šP(3‰–mô9xꉖx0Uÿð0U 00  `†He003U,0*(Test24EE@mailserver.testcertificates.gov0  *†H†÷ ®±i#â¢ËÖCÄ=ZÕx±?ŸâqK¿~ObÆÙõ=Íh´Ý ý>Eª(îãñÙ›Z©{«<¬¼o¼æÌï,ü’›¥ñ)‡˜¥õ׿ôfz.o¿!¦åÎÑYø·úet ¼®å[e×ßÊ-Ö9›Èmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/P12Mapping1to3subsubCACert.crt0000644000175000001440000000130510461517311031450 0ustar dokousers0‚Á0‚* 0  *†H†÷ 0J1 0 UUS10U Test Certificates10UP12 Mapping 1to3 subCA0 010419145720Z 110419145720Z0M1 0 UUS10U Test Certificates1"0 UP12 Mapping 1to3 subsubCA0Ÿ0  *†H†÷ 0‰˜èãþzJ¥”²;€üæcœxôI«hEVUÔ–ai9,åò¤©ÿzZ6)œ–pj¡5eÕÆ²Ì›ŠTfSÒ¾ Z3æÍ\[+À˜bÙc|gÁÌi!›/³î­o/ iŸí3L3© gýΓ®ÌR˜•©ÚN†£³0°0U#0€]ĺxy4&ÃrWÑYô£âT§(qÑ0Uö,±·)µ®•°ø9AS-.ãÇ0Uÿ0%U 00  `†He00  `†He00&U!ÿ00 `†He0 `†He00Uÿ0ÿ0  *†H†÷ š²Í$šÚ’ueù•÷Á³ûRM+ç­üDJ6#Å,wn;‡/Ì ’ìúèl_Éj_µ?fvy~6œ+‚¥Û¾ºØ¸ïc÷/þFÜšµö›È¡™+dàQ¶¯ ÒfUðXzm&:ïõ¯ñ|uãE?ðéwÌ7(YïÜ7}Á—¾a®mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/BasicSelfIssuedNewKeyCACert.crt0000644000175000001440000000120610461517310031771 0ustar dokousers0‚‚0‚ë 0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0P1 0 UUS10U Test Certificates1%0#UBasic Self-Issued New Key CA0Ÿ0  *†H†÷ 0‰´)2‚§ ì·‹Êze]úó›¬ÖS®%8¥C$ÔGþUvÊG¬“âQq µ³µ’×hý)Ò'Ý}ý8(¹•Þ›5|-Að|â I³ þíþKš’IÒGéȳ¨;ÅR$(©ÿË„6D¤¦õþ-©=èⳆܯ‹‚©QÔ  `ë*jA£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U¯¹ùÂE̸!â§G¼I½µx(0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ ®DÃËh>¤eÎû~ÄŒ•׺ßT*­% {`=âμ0Ú(®õL@¿& Dr(ELµÛqâ¹þƒ¯#MwvØõ¹c׎½³sEÜ=ÿ~N¯Q$ö¥jþ¡mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/indirectCRLCA4Cert.crt0000644000175000001440000000117110461517311030066 0ustar dokousers0‚u0‚Þ W0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0C1 0 UUS10U Test Certificates10U indirectCRL CA40Ÿ0  *†H†÷ 0‰΢b­çÁå˜Y¹eÖÁóÁ¥WFŽèŒE%ÅÏ€âšH´°Á&¬Ëȃ»òšû±?Ÿˆ¯Œš.Éñå:ËàZ#:*ý©¼ù(´n8´3Ö:ï9r•ªPs¦ì¿p©òÒ)ÆÓ]Œq‚ª\û"üYkSL=?eŽh8ÔzöOI£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U­²CT¾—xP—Å ò4“ÅÈ@°¹'0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ UŸBð‚é³·LY¢ à¯‚ËP6ÏÆZÏn‡Ñ¬YÔjÏd^âãø¦®œ&eœ9½Ìß?܉ZRlLC¤ašÌ‰dìÑzÛËõõ^ʲè"µ²Üd•媛±ìŸÁhOrË¿|¨šŠQÜÕ ¾7AaNŠ•·„­š_ÔnÑ././@LongLink0000644000000000000000000000016300000000000011603 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidSelfIssuedpathLenConstraintTest16EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidSelfIssuedpathLenConstrai0000644000175000001440000000124110461517311032421 0ustar dokousers0‚0‚ 0  *†H†÷ 0M1 0 UUS10U Test Certificates1"0 UpathLenConstraint0 subCA20 010419145720Z 110419145720Z0o1 0 UUS10U Test Certificates1D0BU;Invalid Self-Issued pathLenConstraint EE Certificate Test160Ÿ0  *†H†÷ 0‰ßœF æÕ|ŠK †ƒdGóË44­|=—« !~›áûúCxÝÿ=Iêq½s™mì)=ø&H¿!³GqtMŽÿÀŽôÅË(ÈÖ®pUÝþ¥Œ{ ®¸Ã&Ú?…Z}™*Ÿ#:F/(¸jT.Z"I7ý¹Òx#ºçì‡GžTé£k0i0U#0€RzkBN°ãÍ‚¥cÏn#”‰50UDéf//ÅDl좟ÝOA"Û1H0Uÿð0U 00  `†He00  *†H†÷ 0x>•Ъý>0(TT®[‘kƒâ|jžƒSj ¤-(ðw1WÜREëd5ãÕÅ$’ÈÒþU­¦ÞwåÚ?¼o{c [À[še8Š&»Œ$gz¦ÙPI¼J¢.ÿd‹Äîá:xiˆ¯ºRÇ­S~E×ÑO|eiQmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvaliddeltaCRLTest10EE.crt0000644000175000001440000000145510461517311030777 0ustar dokousers0‚)0‚’ 0  *†H†÷ 0@1 0 UUS10U Test Certificates10U deltaCRL CA30 010419145720Z 110419145720Z0Z1 0 UUS10U Test Certificates1/0-U&Invalid deltaCRL EE Certificate Test100Ÿ0  *†H†÷ 0‰ø>P¸ büR’ô°s-ÚðKä§Á¬³{Á!Zˆá Ð¥‰[òÃáàæ„Éýӫ9A ƒü£˜¬¡ªTf3œñ×fo¤·¯q_5Fó_{SD*€«JVϹ’×ë’qŒV BݳÕb´1P¥ZòKzGMí›Â4:úô ˜—£‚0‚0U#0€âO¿Þ@Öÿ3]"V‰Ü÷Îp½0U×@²*,Ýãÿ/äÃûžèÈï_0Uÿð0U 00  `†He00SUL0J0H F D¤B0@1 0 UUS10U Test Certificates10U deltaCRL CA30SU.L0J0H F D¤B0@1 0 UUS10U Test Certificates10U deltaCRL CA30  *†H†÷ (5¹,ä7}³ˆ÷ùVÊ ´N•wý”i¹{×LÙ5ˆàþ1bS‹\ÛŽ[©øÞ ÕDÆŠŽŠ§6ì ú¥s–& G%ú5вßÇ„1åÿN톾Ð0!cå[jÝ °%Ф¹î¶•ïÊ) ÅAè`i­DIŽtS~././@LongLink0000644000000000000000000000015600000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/keyUsageNotCriticalcRLSignFalseCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/keyUsageNotCriticalcRLSignFalseC0000644000175000001440000000121510461517311032237 0ustar dokousers0‚‰0‚ò !0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0Z1 0 UUS10U Test Certificates1/0-U&keyUsage Not Critical cRLSign False CA0Ÿ0  *†H†÷ 0‰ÂΛÀŒfátžÀå3KÆ*(;þ±+ØnïÍÓ!Œ=nÕª2ø`Q\†s  nô„”ÁÓ¹GÝÝ£¨þ)ïOv>ç¢Z£p胡¿Á[}¯ép5­.Òý€k·˜>i„ãm¿½y; ÓÕLë&в¾‘‡’ës£y0w0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U›¤[ä"XµVÿ.²‚¿"èöø0 U0U 00  `†He00Uÿ0ÿ0  *†H†÷ ]¬³D`oFÙÉÝ–>Ý¢ŽÀvÑI»Ö(GºÙÝ„òfä’NM»è„2‚.[êÍ™“D7<4Ô†Õy5¨§Å »*šðx^BÊ×ÊwÙÃt†<5!OŠ¥Â\ƒ©rø²=wÄ'üιJB%öê%[‡óŸŠ(ùoË././@LongLink0000644000000000000000000000016200000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy2SelfIssuedsubCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy2SelfIssued0000644000175000001440000000122610461517311032437 0ustar dokousers0‚’0‚û 0  *†H†÷ 0P1 0 UUS10U Test Certificates1%0#UrequireExplicitPolicy2 subCA0 010419145720Z 110419145720Z0P1 0 UUS10U Test Certificates1%0#UrequireExplicitPolicy2 subCA0Ÿ0  *†H†÷ 0‰Ò*Q\/öÓ¼«ÚÚ'ªvzÛkiKsÖ|¿ÏÏó´à5yeQº„¥áëׯå8Þ¥ivä´ÍJÿ«ã3Ui§Æi@p¯nw¨šI좜M˜ ìjư<𸥇¹;(_<Ìë¶­äö·¬‰”k°k¸ÎTCMôX“øë£|0z0U#0€Þ)ÖæãO—¨:¦êMäF_‚00UÓ ðibŸ–6g‡«¸†00Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ }5{­v„NÏvJwrâX«cMÍͤiñ^zý»8âŽê‰ÁÝô`Þ/ïˆÖˆbÈx'åUñ,¬ci‘GPÍŸ¥ðî"4|çжçÅ1•]yÁ¡;¿7 î¥±'pû8îëjÇ—³µë»HŽGD9|Fµ°¤´†~µ././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidURInameConstraintsTest35EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidURInameConstraintsTest35E0000644000175000001440000000131410461517311032202 0ustar dokousers0‚È0‚1 0  *†H†÷ 0K1 0 UUS10U Test Certificates1 0UnameConstraints URI1 CA0 010419145720Z 110419145720Z0e1 0 UUS10U Test Certificates1:08U1Invalid URI nameConstraints EE Certificate Test350Ÿ0  *†H†÷ 0‰ªî‘W9çu º p,uDbbѧûÀ;žEÞxÙGòð¯*gm«Aé&É÷ã SãË^‹À"UçXëm¿0/ ËMOñG›-Ð÷žŠEMµâ|¦Ò8O²ž¨ ¾Øx´ÿuh}ƒÈ\¸1:øÂõWY§`¨î _iN=£¡0ž0U#0€¬ºK _â¼a®áÙdZy¾EÖ0UIº27°f¾ÒØVñ*ôš€”‘ôã0Uÿð0U 00  `†He003U,0*†(http://testcertificates.gov/invalid.html0  *†H†÷ 1™(úUºwóTÊ­r?'e—?a̦ÇñÛŽi£+‘i¾!—œúfµTô鯔€• Ì>l8Xo’¸UdÕ,±¿ Ö·°!CzäFYf=EÎs$O­TåÍ áHû‚$ô ;ž=äñÿ¾ÀYQYm2¸N¦4‰¼è· Á¬cäi›ò³Uý£ð$Wñú˲XiÃä(ÿmÓ¥"ÐQÝÑZºükÀ¼õ E%¶—ý · ?|N}£¥0¢0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0Uê·nš+ €6giµÚ5¥†=)x0Uÿ0U 00  `†He00Uÿ0ÿ0&Uÿ0¡0testcertificates.gov0  *†H†÷ s vGHx™zïRaCJúrcʼn¡µÒKù ŎZ!?ö¹¼{B‰êÇ+Ï´hŸËùÉÍ@p§†$ÏU7²# ÓÅ]’(…yµ–òw…üà‡>M­]›ØJMêbYXß-*2‡Šw«‹éÉ:.ÃŽL=(ƒ1=)¸ÃÜ9mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/UserNoticeQualifierTest17EE.crt0000644000175000001440000000134710461517311031767 0ustar dokousers0‚ã0‚L 0  *†H†÷ 0;1 0 UUS10U Test Certificates10UGood CA0 010419145720Z 110419145720Z0_1 0 UUS10U Test Certificates1402U+User Notice Qualifier EE Certificate Test170Ÿ0  *†H†÷ 0‰±¹A¹+Qü:hªú ’Œƒ-Ÿ•'Á¸‹UìTà6âa|ü‹ž'†(6wëiÙ¢Gpß1»æÙ‚·ðª·.ÅS¹>ä/'Å£Óíï3Bœm BÊ?²ÂÛíÞc^ÑÕ Гàá,FéWgumYˆÐ 0,8Ó™ëQ£Ò0Ï0U#0€·.¦‚ËÂȼ¨{'D×53ßš”Ç0UÎíòYåR0ËßsmâðYpÀ0Uÿð0}U v0t0rU 0j0h+0\Zq3: This is the user notice from qualifier 3. This certificate is for test purposes only0  *†H†÷ >+¦ò¢ýÀΗ»ÍZ… híŸWÇ2{åÙ7Äf›ÿ>(k[Wî¾!¡ *¦~×.'PC¥ç·°ö¼ª>*‚àÜnßÚͽð›XjGÿÿFïãìs[GÒùUÑÚD‡)uÑÞAç»ù^p#Eô×%G¡αá­qB HzãV®õí£¨0¥0U#0€·.¦‚ËÂȼ¨{'D×53ßš”Ç0UÂÜš\"pÓ H…ž¯ÈØ”¨ ês0Uÿð0SU L0J0H `†He00:08+,http://csrc.nist.gov/csor/pkireg.htm#pkitest0  *†H†÷ |:=]‹ã)Îí7Ó½LÖ‡#}8œ5aO’?lä>àÝà|l#QJÓŠµ5²'äÎUù7G´Ò–zUÖk‚\©ŸƒTqÍ*ŽÚЇL9ÅpÂ2#•=*AѼxÂÈ©ÓÔ¤0ÚK\%eý³°Ù,þZ»wo»¹Ü CÎmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy5CACert.crt0000644000175000001440000000122610461517311032264 0ustar dokousers0‚’0‚û +0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0M1 0 UUS10U Test Certificates1"0 UrequireExplicitPolicy5 CA0Ÿ0  *†H†÷ 0‰•M{›fÿ¦ÓÉ[%O*ÔZ®2½HiiZ¿„!×õÜF'e›Ð5:qMÉõŽf’ÌJoiRfæljˆ6æHÁgšÌ—Æv˜t˜iÑ噽žš\îÔ87—§Š½£aêÚEÃKô¾ÖŽ•f¹gL"%–¬EHñ€/eEi壎0‹0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0UÕâ†-ñ+hœ^¿+¸f™žCº0Uÿ0U 00  `†He00Uÿ0ÿ0U$ÿ0€0  *†H†÷ Ž1¥Ôׂ.#ôÁMûf í^„yù øM"PjgštIvhìjîIºgEüO°±-BÑY¢». ¦—iÊŒ˜¶\þTËGÖÒ²'˜+3d"e»rRˆfMßÚ !º¡Q9·OÞ¾þËŠƒ÷‰.oÝU×Á€,mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/DSACACert.crt0000644000175000001440000000161210461517310026246 0ustar dokousers0‚†0‚ï Ñ0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0:1 0 UUS10U Test Certificates10 UDSA CA0‚·0‚,*†HÎ80‚ßå>Úé¶nÖêâ:°G½DÇVÈÌnÐ3„VG5=öTÈã­»ºuó/3 ¦ù1ìgãå™mü)nªWˆr4âŽà£¬dŽÀö<´ÈJH0^ªœv& Ûs3ƒ—Àųæ7õ>ÿ Ô¡.º1ø«‡Ø Ìw˜Bn¬“˜Â½.{4 ÏØÿ‹ëéö\–sý–e:/Ìá|°Î’_cì8»DºÝ’4¶^¾e{Øqwìf|;ζóRþ’UïN«]š./nVópìjí›"¸¨Ë œêÁ Ž!&D¥ ù ìbàp1Ìhõ …¤JnyôÁù6Z8oNï„SßgýÌ÷YbœœÍ\¤œ·ì`ó¾¯~9˜„€ò¹Ø¾B+Å„¾‘üŒ2r‹¨l!׈Šº0euÀ=‚ie§¬z…{åSÂ`ü±Ïg¯Áò.2j8Ç‘N;¼< Ðùqmß'ItؽFÐÛQ¥Sº‡óú]%ƒO uå©ã‰§Awc@_+,„ÒÁqx ÛkWáç žÄö29£|0z0UtÕ$½^eˆá‹ ~êHNa0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U 00  `†He00Uÿ0Uÿ0ÿ0  *†H†÷ :;rw,ºÜìõ[EÎ?¤?ä²ÁúŸØ \˜âî~c:ÒȰâ¼ÀÖË(!0vFÍÓ=ˆœÌtR««ËPûÄÜ¥r}3„•}°Cô¼ a ê$§T–Á¶ÆE] ¦«ù¬(ß%Ã~!ÞŠC%õ§>žeBR©~`ÈŠb6mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidPolicyMappingTest14EE.crt0000644000175000001440000000122210461517311031565 0ustar dokousers0‚Ž0‚÷ 0  *†H†÷ 0O1 0 UUS10U Test Certificates1$0"UP1anyPolicy Mapping 1to2 CA0 010419145720Z 110419145720Z0^1 0 UUS10U Test Certificates1301U*Valid Policy Mapping EE Certificate Test140Ÿ0  *†H†÷ 0‰°Ò-LÆ©!1ÆÎDQ.æN˜á å:Òtÿ”+l~NdËž8E-4ÏÍõU®{£`òÐüØ–m> <ôû‡r2-‡ÝïÿnÙëA“G“Vûì ð2‘©mOYÆG_zɦ=c6$zÙ¿Ã?¶„8 •È“³çõl_ä”q£k0i0U#0€-7Ò?žYÙæ¾W¢÷k‚¦­î0U„‚üN9À‹ñö"’&u¤öh0Uÿð0U 00  `†He00  *†H†÷  öÔ}Œ¿Þ»ý#~0±†}Θ áT¨¼¸iIň'5Œüü®<¸²bR“­5lYù|í‹)$¨pqý{5Óû¨ïhÙMwl\“ÝK*xDxß=ͯEn±Ò Ä0 7iŠôIÎõÛmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/BadnotBeforeDateCACert.crt0000644000175000001440000000117710461517310030775 0ustar dokousers0‚{0‚ä 0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 470101120100Z 490101120100Z0I1 0 UUS10U Test Certificates10UBad notBefore Date CA0Ÿ0  *†H†÷ 0‰ɧäm† LåA¡¯ø¿69Äz5òŠa½&忣¥é˜Ì…ˆ–½âq”B& ÅŽÑ]¤¸«zÑ-${Dä Íná—FtHg·2S¨ ‘*Q–¦šwV8L þÎsšÿ¼O¶x,%÷¡dðÕˆ›ú¯º †ïæï/4Ì;Ì/£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0Uz3ø#Šœ*lO8"ÕËý}X0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ šBç(齎bÝZß^ý9ñ’™„¸öZ$óYT3/Ì,f9Í `‚'÷^–É7Cw`Žò¯åH#Dí »öGxÃUu'ó§}€î„HHj£Ý›¦ÄŸ#!º­˜-¨d_h?z@ظ/@.²™wÉLnÿš£././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/deltaCRLIndicatorNoBaseCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/deltaCRLIndicatorNoBaseCACert.cr0000644000175000001440000000120610461517311032032 0ustar dokousers0‚‚0‚ë Z0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0P1 0 UUS10U Test Certificates1%0#UdeltaCRLIndicator No Base CA0Ÿ0  *†H†÷ 0‰ n„½¨+xºÜü·'‚Ú°ó™¶‹·WcAr@j_à¯T'òÎ~ÉÕù sTÊЋÎ@Wb*#© ·Ë˽ðþ¶FPDuŒ(û+öàsÖ#eu+c°òþ°¬0%Yg”Û%‹w•vrÎìq'Š‘…1‹gƒÒ/,ðÐi%£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U‹Öÿž)é,PÑ#y]eÛ`pôÓ0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ ¥4ÑF8™‚.2|yÜ\¥iY… Ñ›Óþ]Òî7tÜâ·jÅmÏqÃÏ6M·î\¥Í䤨a`Q¢é_½$ÀGÞ°Ç@Û„W-ÓÂ$œ5ëÊ=гÐgi®´„èÄ]R>å‡Z»‰+è“Äæ™ãlÁ¹Î«±,Ì“èI§Pmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/inhibitAnyPolicy5subCACert.crt0000644000175000001440000000123210461517311031713 0ustar dokousers0‚–0‚ÿ 0  *†H†÷ 0H1 0 UUS10U Test Certificates10UinhibitAnyPolicy5 CA0 010419145720Z 110419145720Z0K1 0 UUS10U Test Certificates1 0UinhibitAnyPolicy5 subCA0Ÿ0  *†H†÷ 0‰«5#x>S$¾Ó´üQ]M'1ÉÁi[" ZM»tïÑ|ŸHåjÿb×>ÀÉ tÎÔO*Ó~2\Í¿‡Gí¿E‹r-5TH8´H¶ØËÂZ]Nl½0¼4…” üÏ0è`ödLM…õ¨¼çyäßÞ à ¯Ä5FzBV±Ñ£Œ0‰0U#0€ÆŒq¦™b¦ÒToònÊ0µ:¿0UJwbX#¢Ã¹îÇnß퉈M—o0Uÿ0U 00  `†He00Uÿ0ÿ0 U6ÿ0  *†H†÷ ³•ð|BoÇ_¡[n1°MÑ~bœ¯o¨¥x«ôÿ¼ˆÍX+˜‡Úðàí9«|4}Q'•P¿bÙŸ ÷ǬJX&M$,ÊÄÕϽ,ƒÐûg4ÉãšÈ†qt–ý†'Tìø«¡]lWœQHe.EÉ#¨wňÖ6ÈsDeâÚmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/NegativeSerialNumberCACert.crt0000644000175000001440000000120310461517311031707 0ustar dokousers0‚0‚è 0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0M1 0 UUS10U Test Certificates1"0 UNegative Serial Number CA0Ÿ0  *†H†÷ 0‰܃­YÝÕDN¤«(¥W½u€ž—9+•áêhGü¿bšF(ÔÃüþžy˜èéÌ%P!@”Vž&¬€àç4|ïw¹õ;³0Iû7,¼D;Íbý¤âqEÄ­Bž@S tqJòƒ·/À$k5@ó±Ð‚œœC$ª ¹¤”sj’w£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0UŒ§#MK÷ꡲ‡¹ÀÓ3XË‚0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ XÏÜW>ž :[DFÐ}%¸I&šrÁºÅffÅb·S59w?Ì1€?ø¤Ý¹^vrþ·ìt—5ªfá¸(]-x–º cÙUœ ©$2¦Eku=XcfÒªÈq–Ò‹•kýi¢ÙÄeÕiݔ˸Žõ¤yy±™ü././@LongLink0000644000000000000000000000016100000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidSelfIssuedpathLenConstraintTest15EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidSelfIssuedpathLenConstraint0000644000175000001440000000123310461517311032435 0ustar dokousers0‚—0‚ 0  *†H†÷ 0I1 0 UUS10U Test Certificates10UpathLenConstraint0 CA0 010419145720Z 110419145720Z0m1 0 UUS10U Test Certificates1B0@U9Valid Self-Issued pathLenConstraint EE Certificate Test150Ÿ0  *†H†÷ 0‰›ëRÓ»5—œ‰AWÍuÿbö\­ h>0Z:¾}ØNBßP'Øý?-KIBi—r&OLE=ˆ¦˜±_¿fÜ“þŸ+ýAߣÍZE?]#< âÁŠ+ïJXX¿¬ø‘C¹ ׉ü‘“ ø^XuEÖ®Ú™Tß»uØPWu¶Ö­lJš£k0i0U#0€8­%ÈBZ× éJôæ,¥S¤PôL0UK‹£Œa£ãá@7ô‘>[I&ÊÆ 0Uÿð0U 00  `†He00  *†H†÷ aÞ ËrƲÑNÅ+Ir~é:ü+> .‚Gö)à×aÊÈrB—ŸÿÜV^}*ܯD˧¼ž‹Ù¶lKIëJWçgÿlÔ°¾¯}-ö³Îû)¬‚‡mÂRœÇ6owA„ªõ9îŒYiÕìçST'ãAwƒr w17Õ:žt././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidDNnameConstraintsTest6EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidDNnameConstraintsTest6EE.cr0000644000175000001440000000125410461517311032146 0ustar dokousers0‚¨0‚ 0  *†H†÷ 0J1 0 UUS10U Test Certificates10UnameConstraints DN3 CA0 010419145720Z 110419145720Z0}1 0 UUS10U Test Certificates10U permittedSubtree11604U-Valid DN nameConstraints EE Certificate Test60Ÿ0  *†H†÷ 0‰ço$0Ü=—ý„"¥w¾ºA_èí~ÍQ;9`!Øá‚|æ¤Ô1Ô4 p³Š;AH‡X×ÔQ³&?]ße½±…ꪅ&_xŒâœÖÙ„1ŸÓÕnîßç˜ë!€+$M×Ù`ƒenS•© £—jÏœ8ä%‡ò:ÕÑPŒz²Uµ£k0i0U#0€‹ã¸XVŸjß=Ø;³6á˶Ê0Uè…›Û31(d³,îd¸mžPÙ¯—0Uÿð0U 00  `†He00  *†H†÷ …Æ ú¼½ZçX}K!¶_I/½.’˜®ØøF»¸2æ„7¹T bgD›sÓ…:ÀB£pàĈIÉ´ÑkÈÝ2^2Ø‚î}u•îæuµœO´—}ÝTe›LpàmW«áfÐÒ¶ÿBw£ÈnyÌy£k0i0U#0€Ó(Ad \~“ V0¨ö(eÊû0USoì—¶£ˆÿóÜÒÒÜ?°3‡Y0Uÿð0U 00  `†He00  *†H†÷ OcVBµóƒ/kEFœ°—³#UQ…}ÿ§ÅYܘÂû_õåOw83¶cJ‚ÿ'èUÉ«ÔûZMHŸü™©•k Nc2ù°\¾˜ >6LA™ùÜ%K!ؤ/a»ÌR‹,á!£³¬¾´éHX¢u²à-ºãŠñŸÃÀge½úÍ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/onlyContainsAttributeCertsCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/onlyContainsAttributeCertsCACert0000644000175000001440000000120710461517311032416 0ustar dokousers0‚ƒ0‚ì O0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0Q1 0 UUS10U Test Certificates1&0$UonlyContainsAttributeCerts CA0Ÿ0  *†H†÷ 0‰´‚'³'A$Ÿ©ýܬ…P”Jè%z1"ÚÚßIš ¦î¬AŸ>ˆ/ ¯uƒöïO9ÛîÙ팟•D¥Ú T%ä´©Ó%­ ‹3ò. Í2¶ÆêxÇ=WjÖ}ÛÇ©ÂðÕÙè[wW*»ØuoìN…Ñ£¸×mz8Uó£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0UÅ(•›Ã£Ù¸û¶ßmãS­¹"0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ #ªÙ™Å¿lçU?:\ögƒ¬’†³yãU'B×½LÅÚö3¨W±âÔwßzÀ9¯Ak(s;|zӹ̗Hþ%í ­VÊ©’’HKè ÿÅaXBP1¾>êÉå5"TU3‘¿œM°If ¢&^ð9 È¿O«1¶^4·kÀ¥ˆ²mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/inhibitAnyPolicy5CACert.crt0000644000175000001440000000123510461517311031204 0ustar dokousers0‚™0‚ =0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0H1 0 UUS10U Test Certificates10UinhibitAnyPolicy5 CA0Ÿ0  *†H†÷ 0‰óìæ|»~ †2:p6’¿,£!cÏWNmó峘‹9>7â ù‡îÉ}{˜âgÃïù¬è©«Q H˜5¦]QVšjÛbÈŸ#¢Î6U)ÍS¦¶¾²¢Ûc@â kJ˜xà= P*.¡þ¸Jku¾Â Ý*¢ZJ‚ƒEÅ­zS,õ£š0—0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0UÆŒq¦™b¦ÒToònÊ0µ:¿0Uÿ0U 00  `†He00Uÿ0ÿ0 U$0€0 U6ÿ0  *†H†÷ k~3ãÈ1Ö¶ Ÿ%êð£ƒàÑEèËZ1œ¤ùÑ ƒøŠxΧüà…oti SªçÚ¥'9Ž$ñq×Xä“JÒÿ©‹¸/°ðÙ«üÃ9Ñ+½ùj+‚ì ©.íCŸH½ïLðóι•wp *ôáoþŒûw(=Üzmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/UTF8StringEncodedNamesCACert.crt0000644000175000001440000000116710461517311032030 0ustar dokousers0‚s0‚Ü b0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0A1 0 UUS10U Test Certificates10U UTF8String CA0Ÿ0  *†H†÷ 0‰ÀܦR5Ó<¶Bmlo'üA ñ²«+û)ÚÒ-Qz;.ïù¾ß糖ÊjùØF/¸U0Ò‚‚\‚r¨qgèlR¢bïÛ£Ô8F‚§’_à›'nm¯lçx'ªÍ…[³ÔOÝ_˜.óQ¢ðB?ô/‡1*Ïèb€]Vײu*ÿ½øJNXxp’ð T˜¬(eNàÚÔnìF†† €ÿ¢ƒ˜,¸p s-üÐo•×£?Õk‘„ÆÄ©èöèˆwÎýT=ÃÊAÔ§"././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDNnameConstraintsTest17EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDNnameConstraintsTest17EE0000644000175000001440000000126210461517310032152 0ustar dokousers0‚®0‚ 0  *†H†÷ 0N1 0 UUS10U Test Certificates1#0!UnameConstraints DN3 subCA20 010419145720Z 110419145720Z01 0 UUS10U Test Certificates10U excludedSubtree11907U0Invalid DN nameConstraints EE Certificate Test170Ÿ0  *†H†÷ 0‰Ü9éêåÊùq%r‚­ØÔD€E&!Æ/ª+€Lè½+Å'¹µxšŒîo~ýBý³ï 'Ûn*âY Š*òþ ‘nÚN8\‡uÅä.ÄÚ>j×.¹Ž¯É>Ljb&ع¼d/Ì M˜¸»l.$å ²]yaœÞÊí’¥±þuÇ£k0i0U#0€ H¾(qjH$ <âJÔ*â×5ï0UE¬vº6ó|ôW?þî¶Gø)0Uÿð0U 00  `†He00  *†H†÷ CîS™íýI4x(&?2|»C1¼CG{R™³²©ŽLÞž.Ñ1”$’ÜÅá܆<€G÷Þß^A²HcK8%{Q¿ ;CzŽY‘ôédt]ëžÌŸh- ÜÚ÷3ÁiâñAz„-1{3æçjEU©^ý‹ÐAü¦jH‡././@LongLink0000644000000000000000000000016100000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy7subsubCARE2RE4Cert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy7subsubCARE0000644000175000001440000000126510461517311032337 0ustar dokousers0‚±0‚ 0  *†H†÷ 0S1 0 UUS10U Test Certificates1(0&UrequireExplicitPolicy7 subCARE20 010419145720Z 110419145720Z0Y1 0 UUS10U Test Certificates1.0,U%requireExplicitPolicy7 subsubCARE2RE40Ÿ0  *†H†÷ 0‰´yÃŽíu®¦@²lŠä±¿:B@^[g~FHÚl¶ŒÈS«÷&xuD¢°¨—âóúEïñ$½ôÕ ú5s¿/F”ú»¸æa‰z̸(²œá?yÁü¯ú¨Ôá-häfii¿^º/×eîhÏÅà[e˜à9mê½£Ž0‹0U#0€ëh Æå/Ãó QK³Xsœ9?K0UË »Š£‘ç2DýPP`5 jE&0Uÿ0U 00  `†He00Uÿ0ÿ0U$ÿ0€0  *†H†÷ , xc¹å‚Í[g}ÖÆd5íî”U$\'Õ·ÎìZî ¿ÜJŽqŽyÿ¡œÁ^.>KáKNQ礦x©›þu¦-?ýVü-é‹Yç»~yÙî8ó‘BËáý&JŽÆO‘ú ¼àOÉhX€¶ì `”ÖÃÏ.}iÁ¬ô5Éy{-“Í././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/pathLenConstraint6subsubCA00Cert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/pathLenConstraint6subsubCA00Cert0000644000175000001440000000122710461517311032165 0ustar dokousers0‚“0‚ü 0  *†H†÷ 0M1 0 UUS10U Test Certificates1"0 UpathLenConstraint6 subCA00 010419145720Z 110419145720Z0Q1 0 UUS10U Test Certificates1&0$UpathLenConstraint6 subsubCA000Ÿ0  *†H†÷ 0‰·¬~|pêõNbÉå)¥rcµ,ÈkÞ0Ö÷ô7içeô؈¹“ïQTŒv‰1c‚;«ƒ)†´]!L¼Ú¶¢Þ"`¬ÛIÛ[ˆéfŽ —Ö¦É?ª‚, ³É3£`=à.ÊŠ gà¦P­ëKBmáŠ-Öµzñˆ*Sæ«×£0}0U#0€Hx¹ÌQ1t9*7ÂD“~˜i€0UjæÅAm­>‚ܰ]­òñPÎ 0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ 9Á‰ÚDÍ«n²ÚžE &ž‹:3»gFÃ¥»4ÙÊe ûÈ•Êô›%ŠžR».A®ì3{ÚžkÛ8‰§šdÖö)䀿%B¨'…&íêþ̃î•x›²ã… †;\Bùõ饨OËæ«Æ»38»\ªæË¾i5°üÚó+=mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/DifferentPoliciesTest5EE.crt0000644000175000001440000000120610461517310031351 0ustar dokousers0‚‚0‚ë 0  *†H†÷ 0F1 0 UUS10U Test Certificates10UPolicies P2 subCA20 010419145720Z 110419145720Z0[1 0 UUS10U Test Certificates100.U'Different Policies EE Certificate Test50Ÿ0  *†H†÷ 0‰°d~U[ÿL;–ÔÇg›Ë**‡î}ÞŽ¤’­ÎI‘P€þû´Z¨$ÓÕ'=£@ñn$AX—õ]’L’ÝNS1ÒAÂ1ŠfU7“%,Ïâïßç9RéUî2Òœ”>  ‰ooh‰tZ8\Ù6×¹Oͽ%Ù»n,UËA´T £k0i0U#0€që/íQ¥ÿ…IŒ|öK¦›¤”0UÐÑLÈm}Cè'õ¤§¿âÜ0Uÿð0U 00  `†He00  *†H†÷ 0g(@´rD­'d5¸ÖcÌmÖìmˆ,—M9×Ä/âD¶l‹&0àxW©%ãÊ–b*—g`R¦ôB À$QfÃ"Öw%2ÔØ/Ô~-Oh½†ÔÐn؇µôêX'ê +žãÜ’RÂŽyö7e‹² §bí²±P¸£@0>ê´úF;Åù././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/BasicSelfIssuedCRLSigningKeyCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/BasicSelfIssuedCRLSigningKeyCACe0000644000175000001440000000121610461517310032043 0ustar dokousers0‚Š0‚ó 0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0X1 0 UUS10U Test Certificates1-0+U$Basic Self-Issued CRL Signing Key CA0Ÿ0  *†H†÷ 0‰ŸŽ\ !i¾M¬§¿íüýXhC<Äù¥ËbTZxW í;+ühSe©ó»‡Âz&: Yµ7+v!ÛDç×ÍäÇ(eŽéI.ï;€å-è¹S0Ey¥!4ÜoÂœÅæä;Å…1;^$ÆßèÉèI/SÙãv9R‹r×ü_B5£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0UIÉü·Í2¦ŠÕᜠEŽŽÛZ£:ó+¡'8õ£ šÃLäzµs~ÄMDàSÓ®RßrA>|Cî »}&jÂÝÊ›´{µŒ]R³¬êוäk…­°Êí÷vìÂõzæ²ñ,•+=xݶØÃóHgJoh t`Ãå˜e£‹0ˆ0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U޽fŽUeÏQäY¦É*b¿÷¥¼0Uÿ0U 00  `†He00Uÿ0ÿ0 U$0€0  *†H†÷ b±e|JsßržYD+¹mx¸8Ñ¥Ó; éKðXÕÉ’jV0bãüþßRºÓÆýW‡Ð~”íU¤ÜBþÿСYp¯Ô”¸‘M{”rgó£‚0‚0U#0€“M¼ò× ® H¬º2 ×è Í0U±,¼^/ªÛ¢–“í5M1L(Jö-0Uÿð0U 00  `†He00SUL0J0H F D¤B0@1 0 UUS10U Test Certificates10U deltaCRL CA10SU.L0J0H F D¤B0@1 0 UUS10U Test Certificates10U deltaCRL CA10  *†H†÷ ädT˜<«±æOÝ')ðc3ùFòÎC9cõ%°ü¹ziª7 =_c̯«µ ÔeQ]~<°° 9+@‰ÒVm:ƒ²èp놾ÍFl´X¬À£Z‚Ï$°!†½Ia5û³[Í_„nè¹á —ªõœV8u[ø½Hmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy7CACert.crt0000644000175000001440000000122610461517311032266 0ustar dokousers0‚’0‚û .0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0M1 0 UUS10U Test Certificates1"0 UrequireExplicitPolicy7 CA0Ÿ0  *†H†÷ 0‰ ßRÄ“R5I¬q¡F¢èßI uÍþ÷ë.§“@Z?(É”"¯Å–¶²&X'5rçÀ‡·vì¬2(}yOiÆú[×SÅÙaÜlàbXö ß¹Wä¾i…rSÂ~¶cêX2??°tÞs!@ÓB…AHràJh ÃG ˆ gy#·£Ž0‹0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U"çÛpˆNòb/p˵ÁÍNM0Uÿ0U 00  `†He00Uÿ0ÿ0U$ÿ0€0  *†H†÷ /àa-&ê;ÍžK ÕïÛ_%ÌšMM¹j5¸Žø¸tÞ#ÀCà¨'ëCUr•ýX03)‡:œ†gMõYŽ¥=Îñc›þñÕ¢Vú ÞL„&ci‚EÐìu·œ$¹‘knÔÈÍæ0*ïH³´Qu†œmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/anyPolicyCACert.crt0000644000175000001440000000120010461517311027600 0ustar dokousers0‚|0‚å &0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0@1 0 UUS10U Test Certificates10U anyPolicy CA0Ÿ0  *†H†÷ 0‰Æ8f íïuŒÊ£Cg¤õÍ6à…ß ¡º¢ ®.ý~•e› Àì¨b_°¹ú Y'•a=4—ЧÁŸ//d1·W¨BŒ–9]ÒÍû{?ˆã+‘ßrY§i*¦[gÊvNuƒp¼ YBx³Q (%áʼnÂâwÒ†åáý£…0‚0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U>³ž¢äC…ûg@1†›Æaí†Õâ0Uÿ0U  00U 0Uÿ0ÿ0 U$0€0  *†H†÷ <'3ùšœæ…Ç*ß/©¶ã bG§Ã£™¡`C£fáÃY×£I›ÍµºO|ÙʘΖþ¢9îAPâ—ÓÿÄ¢ÁƒÉ¼©t¡ú'žOwëŒ>D6?6²sW ®àqäíÿzéÔH…èËÜ®Ò{ Ói_ˆYÑÕ0¤DŒåí©()././@LongLink0000644000000000000000000000016300000000000011603 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidBasicSelfIssuedCRLSigningKeyTest7EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidBasicSelfIssuedCRLSigning0000644000175000001440000000125710461517310032232 0ustar dokousers0‚«0‚ 0  *†H†÷ 0X1 0 UUS10U Test Certificates1-0+U$Basic Self-Issued CRL Signing Key CA0 010419145720Z 110419145720Z0r1 0 UUS10U Test Certificates1G0EU>Invalid Basic Self-Issued CRL Signing Key EE Certificate Test70Ÿ0  *†H†÷ 0‰סµ–`OŠ”QGKHÆåxS~‡ÔP?’CO¿Cµ6ÊiS‘h‹}¬¤¦Ýi•öhÁ}dáÊ*Åå _j§Ïð%†Äê;9cFNÇâÝGϳ^/ Y”âËúˆ0£2ä] ám'SeÁãs¤ØËZ"ä5aÖW£k0i0U#0€IÉü·•áz¼™sŒH¢úѬj¶Ü)Éô¾ƒÂ¥Xì,'G‚ £|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0UÒe|ÂÙAˆìÕXDšâÌx0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ %€à„5b?ð7iø‹P¬"­ä.Ü Ó+Ðóœ03æœ2ÃEnPj‡œD½ÍÕ^1ïì£ÉŽZ´ózfÿæZ›¦Lá dÓ<ŠNnØÜ.g±› ºÜÅUú%lyþ§[v]ýÚ…¶ËBg0†ËxÜפƒóÈYP+E0—8mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/nameConstraintsDN3subCA1Cert.crt0000644000175000001440000000135210461517311032111 0ustar dokousers0‚æ0‚O 0  *†H†÷ 0J1 0 UUS10U Test Certificates10UnameConstraints DN3 CA0 010419145720Z 110419145720Z0N1 0 UUS10U Test Certificates1#0!UnameConstraints DN3 subCA10Ÿ0  *†H†÷ 0‰¦‡ÜÞ3Ð^ȩ݂´E`Ügïêƒ € UÑf¦ý\Š©dÝÓB½Ýa†©à…h¶_1Ùë¹ö³ÂÐeM[ДàÓ­©2Œu{<•±žŽµÔ+É IÖHÔ‡‘NŠž´‚á¡Ôæ4•ñ=®ÔlGLóH~ê¾]Ì…Þ¿#VÆé©£×0Ô0U#0€‹ã¸XVŸjß=Ø;³6á˶Ê0U­’.+ÑøŠ±·!.~Ži<4u0Uÿ0U 00  `†He00Uÿ0ÿ0XUÿN0L¡J0H¤F0D1 0 UUS10U Test Certificates10U excludedSubtree20  *†H†÷ Míi0Ù´íí¸2Ï¥zÁi* ãµ…€¹%¨iÁïýûŒxHg¡F*ÖKýÍýE¶ÿ®jt^›F+ŽQ/­ª¸b0ö&[úås)=ü ¤‡MüÝè:ÒóôÞrzc¸6¯¿p:vdÞ©_Á¾&+"öôW-àLÿÞ" <¾±:“Ëà(‚S£|0z0U#0€ªidµRå¢c  ój? ²Ô´0Ul\â¥l[`¥ÞwSZã55¯­0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ ‰¨O㦦;2D=NQ•¹ËUõê(ÆÙëYq³µögjí ¦\Ÿ1Kîbiê¥ÉŒ¼ s¨Ús“pÈv‰Ðóîèp-I½ÆxDÌkP Úx< óêÐC8wÍ Þ¸nòç)•›Ý²Ä=ùÙ¥“iÇž°îþ4ø>Ìš)././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidinhibitPolicyMappingTest5EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidinhibitPolicyMappingTest50000644000175000001440000000123710461517311032410 0ustar dokousers0‚›0‚ 0  *†H†÷ 0U1 0 UUS10U Test Certificates1*0(U!inhibitPolicyMapping5 subsubsubCA0 010419145720Z 110419145720Z0e1 0 UUS10U Test Certificates1:08U1Invalid inhibitPolicyMapping EE Certificate Test50Ÿ0  *†H†÷ 0‰©M‡c‚y‹„òj !$óè8O±Š“LR¢½â*³ãDéUŒÓj89ß§ÄKãiagn(‘Ðð: —Kþ;GåfwÉžËð`í´¨ËÀzQUÛ¿‚%W‡ üÓI{H¬†Í:=ÔWŒ´ùHMpk›y(ÖcÃÑ/ö¦˜S£k0i0U#0€$¶q­WÀ÷„š¯V·âHlóý®10UJ˜9,_«YèäŒÚ¼)ÚàÁÐî©0Uÿð0U 00  `†He00  *†H†÷ HÉ 5»ý7\ŸbÞBÚ=Ë›.k…ºÓޱŒÐ‰± Oº}ܪ²Bµ~v¤dMyýÒi¸v[ˆÎc¡±??ŽOtü9¸›Pw¶ Þ|r¾°;=^cÕ«îŽÍÞˆÐЩ"A:™‘mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/inhibitAnyPolicy0CACert.crt0000644000175000001440000000123510461517311031177 0ustar dokousers0‚™0‚ ;0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0H1 0 UUS10U Test Certificates10UinhibitAnyPolicy0 CA0Ÿ0  *†H†÷ 0‰µÂΆ—FצMÒ í§Î»~#_ °Ž%ƒý(.4€ûÒz|,á‡3:7P_&ÚUÐÂsá>øØ¾zÅYð8xÅsqQÒfŸ¼·Õû]"¹15&ÛæÌ[ònhé0<åvdlXÖøÐߣX pÖ˜7­O¿CìGövÍ £š0—0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U@˜`æÈý\ÑØ/ êìEÏ0Uÿ0U 00  `†He00Uÿ0ÿ0 U$0€0 U6ÿ0  *†H†÷ ¸aP6ýV‰H3fÊ¥ºZ·‡MŒjä:eSü{Æ_…—k³#p¸Ýl gØ"—y{_ì îS=̪W–5yXÚWûŸrT6®Ø“ŠœcKiÅ­žû«)Ñïï7¹4H€iµ5(ž°r(/¸+zƆCZfNÓ…BÕc´|Iƒ²øÖ¥ñ³`Oz(5]}õ£ˆ¤Þ4ùµOöΙ†D•ä <_Ç‚5ˆâɯ\ê3£y0w0U#0€ãeéÔ†¹Ççó39^L¥ù0UÆö7nSÑFŸ˜ÿ?\µïôpÚ0Uÿð0%U 00  `†He00  `†He00  *†H†÷ Lûsr0r R–oÓ Ì ÑTæ‚hN…)­Ýú¡¨ö­Æe޾9i ê› I¿IE1Ï—[¨ýn]#ƒ•"êc±Ëx9³ÖÇ\§ÛÕLßIri€Ñˆ`Œêy¶‰Â‹EnÞé2{â?  §P- ô“É»wö®ôGU)rЦÐ.Jmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/UserNoticeQualifierTest19EE.crt0000644000175000001440000000174010461517311031766 0ustar dokousers0‚Ü0‚E )0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0_1 0 UUS10U Test Certificates1402U+User Notice Qualifier EE Certificate Test190Ÿ0  *†H†÷ 0‰šJÉt•z*F)ÿ½v49ɼ–¬£P ›Ó‹å¸N–›Hß \®‰wñ&‘$ 3Ÿ¢Wò†¢ÍìýpNþl±`²¸Y¢ýäuÌ%¡9ŒûåÿèøÅ0U…ná\[¯ô{»HÞÌ]‚Üö“ÂC¿ Ùè!÷¾»ñ—ë”Ã.àÄÃ[£‚Å0‚Á0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0Uv£†èÔõ¼œ4ïæ0% ÷àµ0Uÿð0‚mU ‚d0‚`0‚\ `†He00‚L0‚H+0‚:‚6q6: Section 4.2.1.5 of RFC 3280 states the maximum size of explicitText is 200 characters, but warns that some non-conforming CAs exceed this limit. Thus RFC 3280 states that certificate users SHOULD gracefully handle explicitText with more than 200 characters. This explicitText is over 200 characters long0  *†H†÷ 'Â}ä'4‚¼!qru„1vãRB£§€@+D~e•ö#9ù*e1JNóùšãyãþÁ{?tWýpG6y¡]íÖG´ô3€á¿¿¶OŠM¼Žñ×O¦ãßßïZLåíM„0{K~ññè†`à˜ž‰èœp™tjámauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvaliddeltaCRLTest9EE.crt0000644000175000001440000000145410461517311030726 0ustar dokousers0‚(0‚‘ 0  *†H†÷ 0@1 0 UUS10U Test Certificates10U deltaCRL CA20 010419145720Z 110419145720Z0Y1 0 UUS10U Test Certificates1.0,U%Invalid deltaCRL EE Certificate Test90Ÿ0  *†H†÷ 0‰¸˜‡o1ûå Ô¾¼YãŠ@ßu]j†¶f¸t ÀE‹ðp8ÚS_/•¥â=€¨ƒ#4›4%®5Q›y¨•HÚÕîs,¹"]8¢K¤|Ê´RpGumª’¿4S<ø ÝjI6 ]w„aÝ*ÁÙØ5@Ùo›öð"n¥¡œ†îÇ  磂0‚0U#0€£“«Wf&mr:l¼ƒe£šüŽ C 0UI)¦ß³-Ábûœ±3CÊÇk0Uÿð0U 00  `†He00SUL0J0H F D¤B0@1 0 UUS10U Test Certificates10U deltaCRL CA20SU.L0J0H F D¤B0@1 0 UUS10U Test Certificates10U deltaCRL CA20  *†H†÷ cI-”,.ö=XFô ýç@DÎó51*hÇô-x͹ xw‹ÉÎèz T16OucÒ½mê ùl+}MjjâVÜ·…àl‰LÓî)†­ì9 MÜ~Ã/'M™òz[m§}t$Ú>öE@iR¬ö;~/ã>Ù$E././@LongLink0000644000000000000000000000016100000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidGeneralizedTimenotBeforeDateTest4EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidGeneralizedTimenotBeforeDat0000644000175000001440000000121710461517311032355 0ustar dokousers0‚‹0‚ô 0  *†H†÷ 0;1 0 UUS10U Test Certificates10UGood CA0 20020101120100Z 110419145720Z0m1 0 UUS10U Test Certificates1B0@U9Valid GeneralizedTime notBefore Date EE Certificate Test40Ÿ0  *†H†÷ 0‰½åáñEzØ?bÁ›`ÎØ¡kÕµZ¶FD‚I®’a%BW>7?Q6’[ƒ¶þÜËú\£+Ò©ÜHiªt°=ÌcÀ9å¢ p„µ>W\º§†¦§Ýz8ç¼Þ W]öàZÅýnŽÉ—Ë >Y­ƒ l­vñ:*ªt1]F¥öu£k0i0U#0€·.¦‚ËÂȼ¨{'D×53ßš”Ç0Ux””Rñ¡É8 yŒß+ôª•l½§0Uÿð0U 00  `†He00  *†H†÷ "Mœ;H ñ·ôÞZ#àÏ^nL#ÜMYs1Ìg„’q¾ý¹âxà²FV;¶  ÓÇ¢@×U'ˆÞa1¹ãOš@Ö°®‹øxH0Ò.Ì|5÷IÊ\Ã’¨ù“‹Û`ü$ßgmF¹õ„…º50NE¹u¡q'nG%UŒBì¨mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidcRLIssuerTest33EE.crt0000644000175000001440000000152510461517311030674 0ustar dokousers0‚Q0‚º 0  *†H†÷ 0C1 0 UUS10U Test Certificates10UindirectCRL CA60 010419145720Z 110419145720Z0Y1 0 UUS10U Test Certificates1.0,U%Valid cRLIssuer EE Certificate Test330Ÿ0  *†H†÷ 0‰ÓX`'&ºâ…ðÆ¡b•³Ž)—“–[BÏA }gÿ:A~l'{6š—ª™£ÐO±qþÎ:|z'úCÙIsw’`à ‡`~€¾Ä¼ª—=X¡Nbž¯LÑImmz9s¨[Æ]¶®dé©6ž†(÷‡nŽ«>^`ß~+vÓÔØ‡£‚=0‚90U#0€Â>ªNÁ3ŠªYI±f¢ð}0U|AzÁ<Õ Ì# Ïsï;8÷«G0Uÿð0U 00  `†He00ÍUÅ0Â0¿ t r¤p0n1 0 UUS10U Test Certificates10U indirectCRL CA51)0'U indirect CRL for indirectCRL CA6¢G¤E0C1 0 UUS10U Test Certificates10U indirectCRL CA50  *†H†÷ “ª§g|Vmå¥C¹¶jN´Î`áY¡#%œw|9£j<ô‹èßM…t []ìĹƒ[öl!…õ8Õ*Ì‚Rjt@„Q°×lźßRqP[Õϼ„ÝB9eÐJŒâqy2Z7>’R×&Êd¨¥ÔXí–¶¬/Hmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/pathLenConstraint0CACert.crt0000644000175000001440000000120210461517311031353 0ustar dokousers0‚~0‚ç 0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0I1 0 UUS10U Test Certificates10UpathLenConstraint0 CA0Ÿ0  *†H†÷ 0‰Â]uÏlÙä1MðÆ8ð Ð?>?¥Â@äñd±(gN­ÃÌœYë Õ'J¡Krºý>ÉE ¯éwFÞ°,k@xP, „Ž?"TsèŸ7(””>9ÚªéÌI¢LS¿SÇeMí³uDžÅ­j/ïð°ì·Îþ5S¢~çôá£0}0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U! µvvÓ³*¬&üª¦OòÖ¡oK0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ •ó|ëJ<_hlu0­"5™7³µ"…ÄŒëYäñp´$p1·Z Ô| ÄÈÚÞ¼aÎÁPilÝ‹x±¾q«5¸Ëd~Ä=`OI ¶­0¼¼Õ³`.>Àd¿² ÆÇL–m-µÃ8†­Y?¶àëŠÁ<ÄéÆÜIîók>jvˆòÐöt±Â././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidpathLenConstraintTest5EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidpathLenConstraintTest5EE.0000644000175000001440000000122310461517311032211 0ustar dokousers0‚0‚ø 0  *†H†÷ 0L1 0 UUS10U Test Certificates1!0UpathLenConstraint0 subCA0 010419145720Z 110419145720Z0b1 0 UUS10U Test Certificates1705U.Invalid pathLenConstraint EE Certificate Test50Ÿ0  *†H†÷ 0‰±•žo<ž¤—ßиÀî7~÷UžeSòa ¯³ ÁK×ý/ÓE«SK¿¢«D&•kœÞ uD0ó”2]‰jº1 ‡m¡ì%³ýº·ÿ™è/‘nOü¹sm9¾2“•b6¿»¼`‚àAñoÛÛD¬Üœ¥?ÿ^¦¯ß£k0i0U#0€Ž«FœKnçåWˆ '“þ'Öç0U;ì‰[_R„_ô ƒÝ¢ ?ÊG0Uÿð0U 00  `†He00  *†H†÷ zäÀlû˜D„c ×Ì ™ ¡¯,„»š4:V߉–ð€äš4„’y¿þÖìU0vúÌÚÚ¸(kψS Ìšáñâ%‡FÌÿÕÓ¦”`ýc+çÕ2ñ¯¾øºm78RLãî}¦hÙ6ˆ*K7†Q±ýÖhÄêùö’././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidUnknownCRLExtensionTest10EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidUnknownCRLExtensionTest100000644000175000001440000000123010461517311032230 0ustar dokousers0‚”0‚ý 0  *†H†÷ 0L1 0 UUS10U Test Certificates1!0UUnknown CRL Extension CA0 010419145720Z 110419145720Z0g1 0 UUS10U Test Certificates1<0:U3Invalid Unknown CRL Extension EE Certificate Test100Ÿ0  *†H†÷ 0‰¢ëø™y"m•ˆ€T¥Uì›·‰9é*oÎóà$ü¨ÆG¡}¥B6–PöçrÙjˆ3“Rló•æã·0¥küI«€TÐÈ­æ3Á Çê“®â‹Åõû‹éÁ °bKí¯ù *žÚ$“ƒ( § vª4tÅlSi’œŽß(V' ;£k0i0U#0€jÿ˜ô7ýLô'Ýnèa¡U´«0U’m³H€ô—·á Û¾À~;ÓÑÙ0Uÿð0U 00  `†He00  *†H†÷ Œa¨¢"i:0#kyÇM¬}+4˜y×»º)Ž W¸>†p©Ð´èMÿ“×g_“)ù‡ ¡g\Vcµ/Ÿ’ma¦64Jœ†˳.Ûàì59Ÿ\±f–¨š{É>´Ð+¸é±»­8ý»E#bwhÐ5ùò†,Ÿk‚—¬ÞŸV¨ mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/PoliciesP1234CACert.crt0000644000175000001440000000126510461517311030045 0ustar dokousers0‚±0‚ #0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0E1 0 UUS10U Test Certificates10UPolicies P1234 CA0Ÿ0  *†H†÷ 0‰Å2Û «V}š(,a厸f!ü9:µßƒsKò]&©À4Ö¡!,&¬Ä}òÇyÄ£í4DÒC}ýÝfkø‚Šxl*>Xo‘Â)C.’Ý0þ×Àvír*Þ*š£ÛߺÍŒ}9hSY®ë +ŸûÒ:€äÖµCÙ9î0Å£µ0²0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U0»yOo²ƒzhC«÷L¡@q 0Uÿ0AU :080  `†He00  `†He00  `†He00  `†He00Uÿ0ÿ0 U$0€0  *†H†÷ Ê#óu1¬ÿ¬kIy¼ý­ÇÝ—ª²cíFÁÇq:Lz Þ?¦ÜÅà (fº¯žµÒ*= (ÐÃñ>¸q]äAþ&Î4@®óS¹‡â:à©|OÌk¦'”¸¦ ‡óÆ­Óe/10ãั×ÚŒ³gCa¶2a1ó̈—~mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidcRLIssuerTest27EE.crt0000644000175000001440000000132310461517311031222 0ustar dokousers0‚Ï0‚8 0  *†H†÷ 0C1 0 UUS10U Test Certificates10UindirectCRL CA20 010419145720Z 110419145720Z0[1 0 UUS10U Test Certificates100.U'Invalid cRLIssuer EE Certificate Test270Ÿ0  *†H†÷ 0‰ÁxõëynÓ ýSß.äˆä¡J_ü$D.àÖàE‹K"o¹ ž:yv)DI“_Ùï. "g¿DQ5Ž!+ £Gu~ý¾>ÉîSñ‹ŒÜÉ ZRmŽ©W¤oË—‡ÃN£%¼ FM®Ñw%Nè'QIy³(õ$GÀ€P¾ü',‰ö©£º0·0U#0€Á¯‚ÕÓOð1b¼ÈI€ÁUbƒŸ™@w‡'N̶¾@‹ÛNKÝø–=Ä¿×9üu¿ª0Ÿ •9žK["Ù‰ØN ¼ßmð>7œœOI¦¶¤t–º«ž ±¶QWìmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/DifferentPoliciesTest3EE.crt0000644000175000001440000000120510461517310031346 0ustar dokousers0‚0‚ê 0  *†H†÷ 0E1 0 UUS10U Test Certificates10UPolicies P2 subCA0 010419145720Z 110419145720Z0[1 0 UUS10U Test Certificates100.U'Different Policies EE Certificate Test30Ÿ0  *†H†÷ 0‰×4ÝtýŇs–#üßg•V0¸».VǼüKñ çpÿ“Ž üM$’~kôV²-÷cxÆÕ6HÓø½á(#µŽvÈ=“‚ÈÞ!õÎ#™Ô劌« #m9lø”ní´báÙÕ`p}éiÆ[§Ür¡-áQ†0¤!W`µ³£k0i0U#0€äXJªØò‘õhž…#n 4ëÍ0Ur:{Ïw1FÕ¦´–B"¥~j>0Uÿð0U 00  `†He00  *†H†÷ %Ÿ€4Þ ‹‚šeDì‚1þÁZý &=±Á~j‡êø@ÉZ½„:„Ã)f~½+©¼< $ô zCkHwúþÿ 7.\|Q×i9@Ûiáš‚FõŽ"9ØÝÎ/Ÿÿrc$¬i0r‡r‚tÕâ¯F'§PÐ&žƒ¨mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/NoCRLCACert.crt0000644000175000001440000000116310461517311026556 0ustar dokousers0‚o0‚Ø 0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0=1 0 UUS10U Test Certificates10U No CRL CA0Ÿ0  *†H†÷ 0‰¯Ž¾üÌoÆ¡¶g)¦âþÈ®% »êN@<'AÞ Ò'<åaâ¼$ û¸µ¤A`¢Ë=18!îœ.DyÖT5A},\ k)‡‚¨´¿³O¬hät?bÚ »¿¬ ìÙzí+Ãx¨˜:-ÖZHÔyóPÎé‰T>œ7¸&fæï£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U¨óœNh–E̘}Èx?õ$0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ ƒŒ…*ý^²Öž/Äï€×f˜Ïë$ox}‹«`Œ; © TØ~éªE°›u’]Ý•¾8Q8 œ»«…¹‚fH [Ô[Õi”‰·k¢:vb9êvy¬/‚d¬Í÷C£È0ŒŸ¯Àü#RÙ$nÙCYû>™¼uoÛKï$jtŽ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidpathLenConstraintTest10EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidpathLenConstraintTest10EE0000644000175000001440000000125210461517311032211 0ustar dokousers0‚¦0‚ 0  *†H†÷ 0Q1 0 UUS10U Test Certificates1&0$UpathLenConstraint6 subsubCA000 010419145720Z 110419145720Z0c1 0 UUS10U Test Certificates1806U/Invalid pathLenConstraint EE Certificate Test100Ÿ0  *†H†÷ 0‰¯DŸ€ýâDJD¦ŒKߌ@èòq29ÀÏØõ…ÐèMºgtK|ƒ- ·ì;ýgÑ¢úïN’ksjV€~Ø{RT)à |;txh›ÛÖF樘èòmràžB©wðï;«@ßéÔ|ÓˆZꇖ)ALû£µ×àív[™£|0z0U#0€jæÅAm­>‚ܰ]­òñPÎ 0U» K;üuø`'s1Em;[L ©0Uÿö0U 00  `†He00Uÿ0ÿ0  *†H†÷ 8ƒ^ˆÂ-4t /ãz³ ·xè;¹¦ƒíø V~ѬF$ÉÍegõ?žˆ]ïZLÎ5yY¢Ôü›–Ftiqý{´¡håµÔ™8:’)ÇëÑìzm2¨…ÄKz[¥fÛ¨#Õ`î«J¦Í>“/—ÅYBOߘ.OT¦ ¢åýGl././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidDSAParameterInheritanceTest5EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidDSAParameterInheritanceTest0000644000175000001440000000106610461517311032274 0ustar dokousers0‚20‚ñ 0 *†HÎ80O1 0 UUS10U Test Certificates1$0"UDSA Parameters Inherited CA0 010419145720Z 110419145720Z0h1 0 UUS10U Test Certificates1=0;U4Valid DSA Parameter Inheritance EE Certificate Test50“0 *†HÎ8…΋6Ø\DAÇêš°Ø”9E³I´lf½Ö°ë‰¾~[ÐÛ3!ƒJ’j×vÒ£ÈKÇ›•|Kä×4šÖ±ýß´Å*Ôm›È¬g+æØ%²a^ëï|KP%uh5ÞàþQ~l¨ÚÑ?4ÃÉ_ö+KÉ1\Ææ[8øXnX•×_únüO£k0i0UxB2Rd€ë&º)íe•¿*0U#0€]$îŠUòÆÉ²Â¿Šð²IO:³0U 00  `†He00UÿÀ0 *†HÎ800- |ˆ«›) ©6ß ¾‰öË졺`ΉÞg©‰¸¡5ûv''Žý€ôÅë././@LongLink0000644000000000000000000000015600000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidBasicSelfIssuedNewWithOldTest4EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidBasicSelfIssuedNewWithOldTe0000644000175000001440000000124210461517311032254 0ustar dokousers0‚ž0‚ 0  *†H†÷ 0P1 0 UUS10U Test Certificates1%0#UBasic Self-Issued Old Key CA0 010419145720Z 110419145720Z0m1 0 UUS10U Test Certificates1B0@U9Valid Basic Self-Issued New With Old EE Certificate Test40Ÿ0  *†H†÷ 0‰¢A|¬R¿ÊLP:ÔÛÉæ'\ÚC‹RZö7,uX­ÊM40!*B蕯彨‰ "ûÿx5 y<'E–“°†Ñ>²u;Ý1$6 2™î§@8å‰F<k0&Ìö ùtbÜ«,@¼’iœ®n[ŸßZ»8ç[ªæ‚çÄF‰»ó̸yûYpšÐ¿äOA;ü´ôØY©øîPòHmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidPolicyMappingTest12EE.crt0000644000175000001440000000205410461517311031567 0ustar dokousers0‚(0‚‘ 0  *†H†÷ 0G1 0 UUS10U Test Certificates10UP12 Mapping 1to3 CA0 010419145720Z 110419145720Z0^1 0 UUS10U Test Certificates1301U*Valid Policy Mapping EE Certificate Test120Ÿ0  *†H†÷ 0‰ˆ1™ÇxøY˜÷P†’ä‚kÐD»–¹¶·Òq‘3ܺÏ[šüç×hnÑyLu lçÉ™™%Úùƒ13€%_6ìÌ'×Ñ wåqÀ ERÓlÍ`0Ô$Çéùbdk¢q\óPlàŸô> ºêä­©ÆSÑu6WáÏ¿õdQ룂 0‚0U#0€­â ­Rm%¬Í©˜¢ h­r®²0UäÂ˜ÂØÚ~‰ŸñŽ›è4ò¬ºï¯0Uÿð0‚³U ‚ª0‚¦0Ø `†He00É0Æ+0¹¶q7: This is the user notice from qualifier 7 associated with NIST-test-policy-3. This user notice should be displayed when NIST-test-policy-1 is in the user-constrained-policy-set0ÈU 0¿0¼+0¯¬q8: This is the user notice from qualifier 8 associated with anyPolicy. This user notice should be displayed when NIST-test-policy-2 is in the user-constrained-policy-set0  *†H†÷ ,âÓG9#¼óBk’çð¦*€;l[¢aÒ=Í‹fÙmn³™u·”°NnÊ %Rp%Ú†Š¶,åê1–ÿRï¢ÎbAŸªqçÈš—Ĥ1ñLû#Z"4þ¦Ò$Ñ ÍÁ…­4õ¼¨\5ï ¥£¿I?¹>¬*ƒË Þˆ>././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidinhibitPolicyMappingTest2EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidinhibitPolicyMappingTest2EE0000644000175000001440000000123310461517311032264 0ustar dokousers0‚—0‚ 0  *†H†÷ 0S1 0 UUS10U Test Certificates1(0&UinhibitPolicyMapping1 P12 subCA0 010419145720Z 110419145720Z0c1 0 UUS10U Test Certificates1806U/Valid inhibitPolicyMapping EE Certificate Test20Ÿ0  *†H†÷ 0‰ÙÁä¡ÁXìÖ©ž£Æ@âÆ•ËPÝ5àËù±0Ñyˆ+G;EÔ –Ôå=*ZÞ¾¾9ø3q“~~PU¤Þ(Î27ÜM6÷щBw—å`f ±´„ØzxÇ º„nRj—GûÂF“›žÃÎhèúÅ™L –åða³_ºšHvšœòq£k0i0U#0€zŠ0öê\6@ ®ØŸ¿¹½‚ÌR0U¯—htp[¯ožnX46âUÑ>0Uÿð0U 00  `†He00  *†H†÷ ­¤~3dŠŸ®…ø¯ws¥øŸ”“›B0±+Æ“‡_kc,ª«Xk«lü^ò øÂP:4áÛF&I…õ¢ÙL42®ÞôL1íVN±K’à@ë\DY»ÐvJ‡•>hé—ó$“øuˆmn—€¤&z¢;‚ì&f0|Ç././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/NoissuingDistributionPointCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/NoissuingDistributionPointCACert0000644000175000001440000000121010461517311032433 0ustar dokousers0‚„0‚í L0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0R1 0 UUS10U Test Certificates1'0%U No issuingDistributionPoint CA0Ÿ0  *†H†÷ 0‰¾ï#C¢¼\UZHÀÔ™DmY{oe]³÷Úøl6«`½È‘Û ­qPž3l ò–éüÏ¿¤Ä¹‡VKÎßoé»÷á3—ƒ;Å{Äiºø¦ô«(iGs¹OÀNfžæÆ˜Üœ•”ÝÔèØ»’ýôrÏ‹ÐMÖ”Oºç£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U,Å'#ÑÑAßßa„¹Oñ2ì10Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ ‹oÖërîÞ” ºÉe†Š_‰2×+¨LGcüÕ¸.à*µ%;·¸-ŒìöiQˆÒHø¤Fvi–ܺš¯ÒKÿžÁ€ü„À‰iõÌÇ`,x3K^Àeèä™áÊèï½`”¾@–sÿß òWéêaî†bwSRÓ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidonlySomeReasonsTest16EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidonlySomeReasonsTest16EE.c0000644000175000001440000000121510461517311032137 0ustar dokousers0‚‰0‚ò 0  *†H†÷ 0G1 0 UUS10U Test Certificates10UonlySomeReasons CA10 010419145720Z 110419145720Z0a1 0 UUS10U Test Certificates1604U-Invalid onlySomeReasons EE Certificate Test160Ÿ0  *†H†÷ 0‰–`+æ—Ýòð?D2R~*<@Àl¼Æ_–ýV`)ÜøbÈ.ûŒÒ¼âŸ¼âÒVêPTPG°C)êÍd ê’*ØÀ¶s¯ïª&t…L©£ .Á¡óÖÏÛU•ãÂ1¢ †å\)0fßs:B3Œ¹ÁKõ AÞŠ é q>«£k0i0U#0€àbšßP½[Iþ¾pÌÜ9n0U—P( l¦¶vÁ »z« –>®Y³0Uÿð0U 00  `†He00  *†H†÷ šŸαo](‚`»Wÿÿײ’n  X\2_8‰dõcãäÁSuQâ7’ÝnW Ç÷€[g‹Nì7‚t´ç$\î[Ãdö÷æš{â ‡÷ Ì¿‡ÂT‰Ì‘jMGgX/Ö`Ÿ Ú¸77™Í5ÿ\qoªíͤ¡¯././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidLongSerialNumberTest17EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidLongSerialNumberTest17EE.cr0000644000175000001440000000124310461517311032044 0ustar dokousers0‚Ÿ0‚ ~ 0  *†H†÷ 0I1 0 UUS10U Test Certificates10ULong Serial Number CA0 010419145720Z 110419145720Z0b1 0 UUS10U Test Certificates1705U.Valid Long Serial Number EE Certificate Test170Ÿ0  *†H†÷ 0‰É„#;D°X+4jS(öÓ6C%Mä€Ð݃n^† £tWßf5óâðu§ ÅEÅb Ï^š?üSúæ ýþtù¢ÉÓq²Zš¾Cæ±6ä¨r>á ,hø=Ô,UNBáÅOQ M[.E`‚t'æªÒÈ{ðÞ8ù]ÏÊÙ¾×Q£k0i0U#0€ß=Hûã2ç¹&R‹Úìø O³Çߦ0U{Ű5Eú(„=á¯Bãåeøóº„0Uÿð0U 00  `†He00  *†H†÷ aªÖj”"¡¡ûŒG\,1nòvµ#"ƒcªñ¢Íg? œj­g!Ã7Ì]3ž Õ(bØ€1"žå|[‡¥ü£ÿÎ;1÷÷ºêN°½5K‰Q±×uü>Š’ä—ÇÃ-ôï&ßÏ‹ :|O,û˜¢_ š‰(3ÑJ–­îe././@LongLink0000644000000000000000000000016600000000000011606 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidSelfIssuedinhibitPolicyMappingTest10EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidSelfIssuedinhibitPolicyMa0000644000175000001440000000125110461517311032410 0ustar dokousers0‚¥0‚ 0  *†H†÷ 0R1 0 UUS10U Test Certificates1'0%UinhibitPolicyMapping1 P1 subCA0 010419145720Z 110419145720Z0r1 0 UUS10U Test Certificates1G0EU>Invalid Self-Issued inhibitPolicyMapping EE Certificate Test100Ÿ0  *†H†÷ 0‰´®­Ž®›‹úüöe™GE¥Dá"õœbO@6ïfq”psšGâÏÝêеkßg,´ç3[g×upÛãpYÕ§`RjyÈ¥I£4ܹiûm}VÌÞ&ë˜Nv*ÃtÞ÷QM©Éd†”IõìyÚÍç¡ðE vPUs¡ãª{û_£k0i0U#0€A¦$çKFÊN½bý• EDEÖƒ0UáC¾ý(~ˆn3ó[wÊÃé7F0Uÿð0U 00  `†He00  *†H†÷ {to}]’0„3@º¾x r«fL ¹Œ­Ü©çS6¹6 D)GÞ´‹OÀQX7òÔÅ'oDí+ þZ¡^0ŽLƒ,äº!¼oÅ¢ð×Úøcþe¥±õm!# o‹e¡ŠÿÀîk rK™—bʵ ”A›ÿµK+–e™ Ý.°bP<`././@LongLink0000644000000000000000000000016300000000000011603 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/inhibitPolicyMapping1P1SelfIssuedsubCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/inhibitPolicyMapping1P1SelfIssue0000644000175000001440000000130410461517311032254 0ustar dokousers0‚À0‚) 0  *†H†÷ 0R1 0 UUS10U Test Certificates1'0%UinhibitPolicyMapping1 P1 subCA0 010419145720Z 110419145720Z0R1 0 UUS10U Test Certificates1'0%UinhibitPolicyMapping1 P1 subCA0Ÿ0  *†H†÷ 0‰¼žùvˇÈÕ?¶†æó«(ø·wµtÖGDlÏ(V&OŽVp}º¹!@Ã~0HÛÇÿçaŽÀÛƒ.´!/§ IZ= æàöG¢êõcÙ¦tOê4aP¨‹„Ò$…Þ\¬¿Yq„̦G—¿Ð†2,£ŸÞE¨T^¦j'±£¥0¢0U#0€¶¦ÁêÀRS߆ýfIä´F¾c3 0UA¦$çKFÊN½bý• EDEÖƒ0Uÿ0U 00  `†He00&U!ÿ00 `†He0 `†He00Uÿ0ÿ0  *†H†÷ ¢Ÿœ•`5P ”FªOŒ¡_ÐK$G¯i ¦” (  ‡h½d1÷û1‹ÆøºSáÉ26?å ó"G>k.r¹CÁ\ É1=X+UNWðÕ¨lïÚTëi•TadH&×@zµ‡N褅zp¶¡ú_Mñ)É?oòHB././@LongLink0000644000000000000000000000016000000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidBasicSelfIssuedOldWithNewTest2EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidBasicSelfIssuedOldWithNew0000644000175000001440000000124410461517310032313 0ustar dokousers0‚ 0‚  0  *†H†÷ 0P1 0 UUS10U Test Certificates1%0#UBasic Self-Issued New Key CA0 010419145720Z 110419145720Z0o1 0 UUS10U Test Certificates1D0BU;Invalid Basic Self-Issued Old With New EE Certificate Test20Ÿ0  *†H†÷ 0‰¯oeãñ»Dd,<ÎæUZìœãzËt4Ú{3Ä3AŸ]÷]žVAÎFJÞŸC"LGBêðx^ü¼Ä€…`.qw ŸM5 ÄÈš"w”+iJ mÚ~i‹5wœxå6Hö ßÁ½I¨Üúv–æu65XWïAÛžz&Jl yvŠüù£k0i0U#0€É[ÓÑ¿ñÁy\»s LFË-Ù0U&å Ï)‹:‚Ⓢóâ1’æ‚0Uÿð0U 00  `†He00  *†H†÷ Æ!PeõËW  ՜¶Aˆœÿ9€bôdœ hhÇ´,Š{KòÜóqücƒžQ¢V¬a‹ØyMÞB…ö»o{"ÎÂÛ­–SI2üåžû†êã@}®%û_ò”Þ‹‰¡UB‹Ð® H…n„ƒ­ R*em÷&¾„¼X0Ò­././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDNnameConstraintsTest10EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDNnameConstraintsTest10EE0000644000175000001440000000131310461517310032140 0ustar dokousers0‚Ç0‚0 0  *†H†÷ 0J1 0 UUS10U Test Certificates10UnameConstraints DN5 CA0 010419145720Z 110419145720Z0›1 0 UUS10U Test Certificates10U permittedSubtree110U excludedSubtree11907U0Invalid DN nameConstraints EE Certificate Test100Ÿ0  *†H†÷ 0‰¸ÂÒÆ@šIÜK‚IX9r$ØJàÚHüC(n¿+gJà0FÐ2eþÛ 6«µòo–»8[Î#´B™Èì:Í{=\8 ÞùO*y[Ûg¢hlÚ~ŸËö/ÐÀ\pî­?;"W,Ú±÷¢;Ñ÷¥‚¿Þö.˜“ós…ñÍ ª‹Õ£k0i0U#0€5Ÿ¬Á¹¡ã:þñ/ºw²NMYí0UÁ ˆ˜öÖ¦µ_kehbxߢu0Uÿð0U 00  `†He00  *†H†÷ ,3î+³1zñ¤3)›Yú"î§œnŸU“Ò0½²ø©¼É¸°Õ£Ûo·ÅÅOœŸÎ‹Ž‡ÂMêüØB&áš#±ÙºT”%qÿ¾=¼X¼¨í'24˜"ü幄:=øÏý|,”á˜g}ÄÂhuŨœó—;ò!`EgµQøæ?Ì@././@LongLink0000644000000000000000000000016700000000000011607 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidkeyUsageCriticalkeyCertSignFalseTest1EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidkeyUsageCriticalkeyCertSi0000644000175000001440000000126310461517311032413 0ustar dokousers0‚¯0‚ 0  *†H†÷ 0Z1 0 UUS10U Test Certificates1/0-U&keyUsage Critical keyCertSign False CA0 010419145720Z 110419145720Z0t1 0 UUS10U Test Certificates1I0GU@Invalid keyUsage Critical keyCertSign False EE Certificate Test10Ÿ0  *†H†÷ 0‰ UúÕj²+°`Ïæ¤×sI®G,¥Á [#¬ësþµõçŽL6¥«¸²²’qLHgîQ»«õÍ„§©A»WÕGEñâÖë·"ÁóC ËLíŒð Ý?Á]có[h(?LUß”«CM£qU“:eŒÀŽ¡g $C°¬mç´ÙÌë à-£k0i0U#0€”¼øœ|?è’¶MÉ´Ór1N:70UöiÎÍŒ©J.a\3eì ,‹éo0Uÿð0U 00  `†He00  *†H†÷ x©s‘ÕˇÒ3jøHƒØsØ4!½aûV!…Œ¢º‘o|éyo‚×Ãh{¿‰Í©ÐÑ(Çþ·ãÚ|8 '© å÷&H¼æ¹üÞÅ×uu/¢ØHõæ)ûê5ùqÄ/ DBP=ƒùþ¦‚"‰ßŠv‹exÜ’U‰º\ÌØX././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidMappingFromanyPolicyTest7EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidMappingFromanyPolicyTest70000644000175000001440000000123110461517310032370 0ustar dokousers0‚•0‚þ 0  *†H†÷ 0M1 0 UUS10U Test Certificates1"0 UMapping From anyPolicy CA0 010419145720Z 110419145720Z0g1 0 UUS10U Test Certificates1<0:U3Invalid Mapping From anyPolicy EE Certificate Test70Ÿ0  *†H†÷ 0‰µø6M¢ï/Öâ9%´ûª·WgOwëüø‡¶¯fÊËhš±yb”é]_˜ÜË Ú§ I¨x­žªÌý÷Ã+†]àHI'”Iv †0i|£F½É”"Ta¨ (•ÇÜÉ #} Y_¨rn“<ÏÁ[»ó§0†¨¬÷Yl¶%£k0i0U#0€÷Á«5Ø/†Z67YoÁÁ¤m¤¤H0UÛ¢}²ä(ï–´öMœ£9ò_×Á@ú0Uÿð0U 00  `†He00  *†H†÷ ]Ÿ¢ü7xw]q¦â‹OÝ8€ÿm§YrÈà²v…1¸&ëz“È^ÝËäPZª5IûÂЮ¿yì|H1žK•¹Ÿ”Ëa³ºü €¨£pò£ì¿¬â©{|êØ(:Îbuͪ»PýõÙüã$ëe;ZÚBá ësdsÇJ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDNnameConstraintsTest15EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDNnameConstraintsTest15EE0000644000175000001440000000126210461517310032150 0ustar dokousers0‚®0‚ 0  *†H†÷ 0N1 0 UUS10U Test Certificates1#0!UnameConstraints DN3 subCA10 010419145720Z 110419145720Z01 0 UUS10U Test Certificates10U excludedSubtree11907U0Invalid DN nameConstraints EE Certificate Test150Ÿ0  *†H†÷ 0‰²Ð??>Ø–ºúÂJIÿ)A/NµZÕ’îòJü´M,Wý3&V5䜤õœåiøbœ(—‚±»í‡òec¹,5ì-ø1†¦xu)ïƒóEؾ5Ô—†5NÌ~úî”Ò"’I¯4ô¥LšÏY  øúc¾äù§åÑ_»ðFâƒJÀ£k0i0U#0€­’.+ÑøŠ±·!.~Ži<4u0U©“gÏ ‰ÔÆXz$ÃÈŽkÅéè0Uÿð0U 00  `†He00  *†H†÷ 'ØŸ>ׯͲµÇ%î¯ûZïêÿJ/ݺ™÷”,SЈÏ§iåy&­‡“|¤P&*óY}´A“¿ÍÁ3ÐÆïmK ñY¸PuîÇôÜ3 |8!,·nÏ·#ÎÇÀ|³ˆ/N¶¼–%Ÿgi@JCWu6æÎB­¾©¸5Ž9,ªmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/pre2000CRLnextUpdateCACert.crt0000644000175000001440000000120310461517311031327 0ustar dokousers0‚0‚è 0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0M1 0 UUS10U Test Certificates1"0 Upre2000 CRL nextUpdate CA0Ÿ0  *†H†÷ 0‰”ÆP½ñ›éwbšžÄÆMÊ÷© ñÊo¥&3„¾½eˆAÆOŸN.[‹›h£¡R¬ñm[Xé{˜ ƒ¡‡\‡%7š3¯ñ%Ú ìý Àwð‹àÉtÓBýä¹Ü‡Ò+Ä~ìù¡cE³zc蹈1ÛÞ>ßÞ¿Õ×øG£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U½z6Õ] •¿]®«ì¤Q`&¯V0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ }þ7¦“”»m…žd.o<Í#}嬞q"?Ü8†øÂÍä¤jˆ·‡‹¶ßÓç½cèÚBï83ÉÁ»ÌÐp»ˆŒ™æžS‘ŒûÚUO Lê Ù“ÆGf'Ö[BþKÁ³Äúl¬=¡,3ù“—— 8ÀtÉCƒçøèÿ¾ˆ&3-¿././@LongLink0000644000000000000000000000016000000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidBasicSelfIssuedNewWithOldTest5EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidBasicSelfIssuedNewWithOld0000644000175000001440000000124410461517310032313 0ustar dokousers0‚ 0‚  0  *†H†÷ 0P1 0 UUS10U Test Certificates1%0#UBasic Self-Issued Old Key CA0 010419145720Z 110419145720Z0o1 0 UUS10U Test Certificates1D0BU;Invalid Basic Self-Issued New With Old EE Certificate Test50Ÿ0  *†H†÷ 0‰“Žt.YHÇ3гŸÉ>)ûµ©Db°0ª|ŽVáK»š&²£ýûžB±5ÎRSúiþÇkÛ¼ çë,nVÀù§ÕØ ¢±GDм±£L`¡JVfhú òÓ6PœÀ!-¡î„ ë` ?ÕŒ^ÊßrÔSqÈÈil&yÓ8%«£k0i0U#0€ú¢j¹îúOÅruÓKzmŒä\9$0USC”z£å÷«ÂÎÛ]Ùc£8·0Uÿð0U 00  `†He00  *†H†÷ 3ÌõÑ*æÐ€ §{¿‘ª2ûÁ3‹t;ûW Œ‚ÕÁT§X ©·z ÷WÓøk eŽˆféñù!|_ “õR¦¡qÄÓþm8óh#‚¡±x0¿r®ª–"0q2ÊÄoÝu#ÚeT”´ n9 §9z Ë´3bíòo2¦_b áD././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy10subsubCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy10subsubCAC0000644000175000001440000000123310461517311032260 0ustar dokousers0‚—0‚ 0  *†H†÷ 0Q1 0 UUS10U Test Certificates1&0$UrequireExplicitPolicy10 subCA0 010419145720Z 110419145720Z0T1 0 UUS10U Test Certificates1)0'U requireExplicitPolicy10 subsubCA0Ÿ0  *†H†÷ 0‰« - L«gt¿T<p—érBYÞ„ë3BM”Ó7Ç]–»rí.Ó""±þ)‰ˆ¬>:² Gš³Dô¿õ ÷½­¿’»Yéjí9ô€Á)É,­»ÜÓlbEÕ†ÙOw£|0z0U#0€£Ca¾zó®eÑt¼Àó0üÖ:”0Umh1ýù_Rùû.ÚDÂÏ{6™Øÿ)0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ 8´ÑsPÄ èŽZ,l‘®hâ|Òl¦"·åXr]޳ýÚÈ«.R¼A >õY ±ùÜŒ,W²zCw5¬óB½Þ•ð3ËÐßp»ûÙ»l¤ÁàK’¿má0|ã Ùïþ!”Ÿ9+,gÌ<ö%Û|޶òIMeap>˜ mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/nameConstraintsDN1subCA1Cert.crt0000644000175000001440000000144310461517311032110 0ustar dokousers0‚0‚ˆ 0  *†H†÷ 0J1 0 UUS10U Test Certificates10UnameConstraints DN1 CA0 010419145720Z 110419145720Z0j1 0 UUS10U Test Certificates10U permittedSubtree11#0!UnameConstraints DN1 subCA10Ÿ0  *†H†÷ 0‰¶QiÞÄ  ÂоëD(œêМRwTîåþªˆˆßHJ…ËÕ§€3—6*lËæ·VÝel5ØÚ棚‘ã|i’q Z SûÈÖÈÛÓÈ”Ý!ð}¨àޝï0µä§c-ª@ä4µú}µD5®ßxw1ñËÆímU6-)TTÿÛÐ0……íÒ70t†Æ|`°U}pÜ¡y“YØ¿ÄQ0\ÙLøBª¨·5h^{ñô‘1ëÈØÐh—B©r././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidNameChainingOrderTest2EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidNameChainingOrderTest2EE.0000644000175000001440000000133010461517311032062 0ustar dokousers0‚Ô0‚= 0  *†H†÷ 0Ž1 0 UUS10U Test Certificates1#0!U Organizational Unit Name 21#0!U Organizational Unit Name 110UName Ordering CA0 010419145720Z 110419145720Z0d1 0 UUS10U Test Certificates1907U0Invalid Name Chaining Order EE Certificate Test20Ÿ0  *†H†÷ 0‰”…":»# 0|8pð_yÏ‹g nó%dԿדt都mV€ˆ H^‘«Ïì FŸ†. $‘ÝoPœÙlÇȳãÌ,¦‰)?4N`™Ë¦Ümauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidCertificatePathTest1EE.crt0000644000175000001440000000115610461517311031773 0ustar dokousers0‚j0‚Ó 0  *†H†÷ 0;1 0 UUS10U Test Certificates10UGood CA0 010419145720Z 110419145720Z0N1 0 UUS10U Test Certificates1#0!UValid EE Certificate Test10Ÿ0  *†H†÷ 0‰­¤«¿k ¨ì§ ;)› @>2h(¯%ÇOWqÖS»É¨v/ÈüDn¨Ç”ëß´Õñµ¶-Ì¢—è— %÷Õø±±€™‘Êc0Ž$n5æŒcž«µ¾vÁ™Æù$‰G ÛkHDZ ã4á‹q‹UçŠ<ŽU€ä¸Êa ·À}¸×£k0i0U#0€·.¦‚ËÂȼ¨{'D×53ßš”Ç0U:Ì”e …©<Áà¯Q3*Hž‘[0Uÿð0U 00  `†He00  *†H†÷ ¤hg©ˆ´ëÍgô8­ß©`ÝOý6h6£Ìh‹Qw ¼ñÇc"xSȧ!c'[WÁÃóÓv<Ø«²v(ÏÙã²@²=RˆÃdm†^Þ¶Y:WkInvalid Self-Issued inhibitPolicyMapping EE Certificate Test110Ÿ0  *†H†÷ 0‰°8)c>Ïߘ[ÌF™‹R!?´é%ù¡íςȮÔ9—Æl¯3¥6ÄúWɤ»?6$Äåz×µó~,vOÚÈÑT–‡²_4ÐàÔš³ ªÜ<ê|mlUË·ÁËnjjïmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValiddeltaCRLTest5EE.crt0000644000175000001440000000145210461517311030371 0ustar dokousers0‚&0‚ 0  *†H†÷ 0@1 0 UUS10U Test Certificates10U deltaCRL CA10 010419145720Z 110419145720Z0W1 0 UUS10U Test Certificates1,0*U#Valid deltaCRL EE Certificate Test50Ÿ0  *†H†÷ 0‰²h‰œ€à!Á¨w¬q;cÞG¢ÉMKháó¾ÎŽ(.|ä+ ›©DÏ\çЗÔ:ñ›½ÆÇØJ:[ss¢>//þìL!`F{M{B[¯Éþ™Wkÿ"Ú^QÝïÞ¼7ƒv~¥q€€´Þ zFònêF¡nšµ„ù!­ê{£‚0‚0U#0€“M¼ò× ® H¬º2 ×è Í0U‹€=²¤`ÒF¢TÒžm)}†‘0Uÿð0U 00  `†He00SUL0J0H F D¤B0@1 0 UUS10U Test Certificates10U deltaCRL CA10SU.L0J0H F D¤B0@1 0 UUS10U Test Certificates10U deltaCRL CA10  *†H†÷ kºÖRW·íngÁh#Ý)áïOÆ (ìlÛBñ¬ãn¢‘#>ÄNÇÐöv±ãmßEaç¦ÇÍ%nâõ‹ñ ÍÑ?Y¼Ûxî÷Jwj”Œ;Ëu —«ø$lP$”„¾‡î$(Æ¡•ÃÍÑ›CîÓc6gù« ¼5Y“ òr¯+mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/DifferentPoliciesTest4EE.crt0000644000175000001440000000117610461517310031356 0ustar dokousers0‚z0‚ã 0  *†H†÷ 0>1 0 UUS10U Test Certificates10U Good subCA0 010419145720Z 110419145720Z0[1 0 UUS10U Test Certificates100.U'Different Policies EE Certificate Test40Ÿ0  *†H†÷ 0‰£Þëõ9ÍèÇûIzî!ñ–Hæ„âÕwýΧCߓ̛µ¼þg°ÁL1p­Ÿ©ÁòãÝ‹óNÊb½•$e€âŽëØ<$VK—¯¤oÚ}΄ùBÂXÛLqo”·Àã‰çqG' ÷G_QñÝÁÐ*q+ÊÖ…ÐTã®ÒÝÔ*,Å%©£k0i0U#0€|\i|ÈU±")CûÄ{êê¸}0Uâ2ZÂþpr„Þïœål“D‘”·0Uÿð0U 00  `†He00  *†H†÷ V€V0íc`·lÒ—=ÐЪøše()®ßºKBS ISüÊËæHQªB˜‹ ϶öÔÒ…7|7ÿC.W`1Œ@:DæW0 ¬žÄBD2gtvÜ)½ìx0ç-{ÍÅ5îu®ùå-êeFá4¤Yœ»õˆ<Ç(Þ“˜Š·÷$yyM Ú././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/keyUsageCriticalcRLSignFalseCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/keyUsageCriticalcRLSignFalseCACe0000644000175000001440000000121410461517311032126 0ustar dokousers0‚ˆ0‚ñ  0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0V1 0 UUS10U Test Certificates1+0)U"keyUsage Critical cRLSign False CA0Ÿ0  *†H†÷ 0‰â,ö»xx•ÔÃ/”LÚÔ®ààXf@Â09 qƒÈ V£}E7—x«ØO öA׿Ë@4çì/Ù¸¥5{£u”ã tVÞz°ãsû@6‚ùøUÀà·Ïº½dãhS…70L†ç©J¡žc`‡’ˆü€²`ÏëU£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U”éÄPö p&”<ïß0.Þ?tÍ0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ oQÞ‹:„ Ã4ª•±XØ–äa±bà­=Åë‘+lÂ#æ4"§Ó-ÿ N¶Ïv± Wd\ƒ7™ôQcô,èJ 6ü´©ðº— šQ›#Xé>ùך6öÞÂö{pE®¡—rñk]=1–Þ¯«²„vÃÜ„pPÉ4_gƒ:«UÊmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/inhibitAnyPolicy1CACert.crt0000644000175000001440000000123510461517311031200 0ustar dokousers0‚™0‚ <0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0H1 0 UUS10U Test Certificates10UinhibitAnyPolicy1 CA0Ÿ0  *†H†÷ 0‰Ï{X\˜»ÉH$ §""Ûó§ü™>!Z à"!Q5Ý–ªÌ—û爆/ E…¦èÖsãnƕڱªôœ¨9οí”2ß¼?rž„•ʻ쥠·vÍıNµÜ¶×¡©<·sÒ;šÄ[¦ÛÏ1®©´ñhA/Z›R—¸V:—£š0—0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0UfÛµ”Çij>+‘¹ßȨÐM+4D0Uÿ0U 00  `†He00Uÿ0ÿ0 U$0€0 U6ÿ0  *†H†÷ ”ê–µ-Ûÿ,5Z²:”ˆ í…§ËžOwl¦ÿ÷KúìE,˜:©•bxÊ,1˜GJÑõa²ÂZˆÏwߨ®œ«³CÚâæð-i¯?{9ë.Õ Š+0`F)Z>« Ã]¬a£g€šc(¿ŠnɵÕHëŧÿÀX)ˆ>ìÇ././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidrequireExplicitPolicyTest3EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidrequireExplicitPolicyTest0000644000175000001440000000121010461517311032526 0ustar dokousers0‚„0‚í 0  *†H†÷ 0V1 0 UUS10U Test Certificates1+0)U"requireExplicitPolicy4 subsubsubCA0 010419145720Z 110419145720Z0f1 0 UUS10U Test Certificates1;09U2Invalid requireExplicitPolicy EE Certificate Test30Ÿ0  *†H†÷ 0‰ÅlÆç@ÄiU’8¤!Œ ›#¨u5ô(TÙmôFÞÎ 0-¹ÔR@ˆ? ‡0ƒl2y¢MxæˆÁ=ßáL?GâÚyd)eð¸÷B×ýÛ·fuüç<Ši‡¤NG<µ.³\I@ïÇËba^üÄáŽ^æÀð ,st&¢a7£R0P0U#0€÷„+ݱû•ºzZbàs1²*Èy0UO‡"ûÃ!KËUáïݼì0Uÿð0  *†H†÷ ™$H@´DÉýÙüŸ­P`ÃÜ‘kÓ|mªÛJ#»—§eöÖ ­ðy<°Ý½¦Ÿq,—ζÅ!²£hqŒßê>pøÀôÒmEµ c¼›t¶¸þ8f-+LÌm†" ìÂù:>¡+µå_:CO4|%¥¡i¯,¼d“6././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidpathLenConstraintTest9EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidpathLenConstraintTest9EE.0000644000175000001440000000123010461517311032213 0ustar dokousers0‚”0‚ý 0  *†H†÷ 0Q1 0 UUS10U Test Certificates1&0$UpathLenConstraint6 subsubCA000 010419145720Z 110419145720Z0b1 0 UUS10U Test Certificates1705U.Invalid pathLenConstraint EE Certificate Test90Ÿ0  *†H†÷ 0‰±:i9™•ª«J–s3z~c¨¹]!ÍÌæ.í½:È.P‡VßÞ·žHØjàÿÙ»ƒläFñ½ ùž­Å‹›=Òj½J€üjL$9^$ÙÒß¶Òïè`C>Ñ©âs„J‰m¸_Q£…<ßVÃÉcÈAXÛždXýT¸|DIþu£k0i0U#0€jæÅAm­>‚ܰ]­òñPÎ 0UÔ>0„ÎÕwìóÿu§•…0Uÿð0U 00  `†He00  *†H†÷ –oòY¤Ø¾2àªU’Òn„T3Ò°@±íy¯}Ôy¿¡§]‹`˜IOÚeQ~6ó ú_›ÔžƒÏ"X–²0èEßÿVmýÎc['ºèo2#ÇO·üAÅxævµôi¢zúÛ²œ.ç®Hm‚ÿ¨üru›(š@Ï:#Èd”ƒ¾gQ[mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/inhibitPolicyMapping0CACert.crt0000644000175000001440000000123010461517311032036 0ustar dokousers0‚”0‚ý 70  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0L1 0 UUS10U Test Certificates1!0UinhibitPolicyMapping0 CA0Ÿ0  *†H†÷ 0‰Ð#<|ìŸ1ô9:åoÞJ:ßp“Û,+g·þ |Ú%Óé<ò}ù™¨^þX)ºüº;=¦Â/€UȲ¨-dU¸äUúÆ6ú}Âóy±x3©…q’©IörË FÂ*ÕNcGÈÃfœÀo6m2ÓE£¢áè]øjù£‘0Ž0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0UléÇ B@AõópŽîáÑR^×7Z0Uÿ0U 00  `†He00Uÿ0ÿ0U$ÿ0€0  *†H†÷ Ñò‰¸Û,~7ã;Åý‰w.nÑfb"DÚj˜’ñ}e¸µ¤@ ›~Ͼúw›\±—v¶Ìôü3“¾{Y…GW湯7Œt‹rT]¿[8ó³h‰³š¢*M)=À•ÔÂÃòÞ[FjTó^ìâèüMí}ù2;';[·—Ìv,•¼././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidinhibitPolicyMappingTest1EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidinhibitPolicyMappingTest10000644000175000001440000000124710461517311032405 0ustar dokousers0‚£0‚  0  *†H†÷ 0O1 0 UUS10U Test Certificates1$0"UinhibitPolicyMapping0 subCA0 010419145720Z 110419145720Z0e1 0 UUS10U Test Certificates1:08U1Invalid inhibitPolicyMapping EE Certificate Test10Ÿ0  *†H†÷ 0‰°Ø™¢ݾ·¼Í‘ä‚®p[Hå›3@åã_ȯ†”Ïaꇮ¬Ù’Ý“kŇ$Ÿí…)P^%§Ê/Ž a‡¿íIÉÓ”“ ëJè³[—¯ª›÷sª$C„°=Ÿ¥-仉ð‚Š_‹õ1lîöÏ’ÑèÒ˜s¯<²e£y0w0U#0€0±¯Ü®Õ0ò 9¦ã,!8¯¢‹Ð0U3¿”‡†rÐô6–Î(ql ÆåA0Uÿð0%U 00  `†He00  `†He00  *†H†÷ Š…ßIqyðùopíöþ"„yêT‡b{ËŒ:×_”ñ)&ì¨ y!Ý 4#ʆÉê +åÕÖ=µ˜bµb¥ël¸èùñÛ^¼µý«ÍdÂch 8\@ZEº«)¶(€®© ËfÊ–©·ŠˆP•ÒÀÉò4LÃsŇ„F©Åºn±././@LongLink0000644000000000000000000000015600000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/BasicSelfIssuedNewKeyOldWithNewCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/BasicSelfIssuedNewKeyOldWithNewC0000644000175000001440000000122610461517310032232 0ustar dokousers0‚’0‚û 0  *†H†÷ 0P1 0 UUS10U Test Certificates1%0#UBasic Self-Issued New Key CA0 010419145720Z 110419145720Z0P1 0 UUS10U Test Certificates1%0#UBasic Self-Issued New Key CA0Ÿ0  *†H†÷ 0‰Ö»En°åtQ½t¨Œ±Cíbj‰ØÏB$µô¡”êÑ%z5åc9œ­*óŒt&™2ÀáшÌ;^ö.žlåÀd¨¤ÖÕ•T6l¥¡j(V€³VË_è ˆ˜‡BÐmãª{A vX{høié4~ί QìÌ””m1£|0z0U#0€¯¹ùÂE̸!â§G¼I½µx(0UÉ[ÓÑ¿ñÁy\»s LFË-Ù0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ „†tõjÍ+x×ù¿º2€ÐU__´Î!d™±§„@Ö½ËlÑ„èÎY ¦üï¸ë4XzÚt§¤UZ°²Êí žöÈhF€:[Š]‡”F÷"^‘…tç÷»ŽCa“üÆÀj˜Üä£:É9€h†L:5E ‹Ê‹Ï…6mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/nameConstraintsDNS2CACert.crt0000644000175000001440000000125610461517311031443 0ustar dokousers0‚ª0‚ G0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0K1 0 UUS10U Test Certificates1 0UnameConstraints DNS2 CA0Ÿ0  *†H†÷ 0‰Ùž|TEH+jLȇ󉻒׿V…ï®dsôNÇ€PbàTeèchÝáïӮ洉nz2.—oÑuo¡‹ò¾ö"­éc…Ì̤Û{Àv­€‰—ýœÿ)žÎS™$ir?k{û3@*Mi¸SÛ•Œâbç3Õ9÷~ƒ±£¨0¥0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U~Ü;êޜқBDï{Ín’à´0Uÿ0U 00  `†He00Uÿ0ÿ0)Uÿ0¡0‚invalidcertificates.gov0  *†H†÷ zL)µç›q1ÉÝÓ¨Ù•0i&¶2ÐehåMÉh¿BÈ2ü³¹Yï@†J¹éYJ…“X!Av¶Ûž$Ô:`ã@ñ€Cb˪ôª*¬œ³æ¥7‚N8ËJ6æÓœªHXÖ¦Á¬I¹}éiåÚÛ'+=î`—nn×t)¬‘ÉÑðÓ— ¥¶«%£y0w0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0Uß ¹4‰uxÒ#’ð!ßÂve´0 U0U 00  `†He00Uÿ0ÿ0  *†H†÷ VŽòf÷â3·³³Œ$º4)áP¾g—G¸2ó?¯þÒŽݤ ˆþüïüß8cÉbÓ-òª%9&ûÇìù2Å®ùVͬÝÓÄ-rK¼\ @V‰$)WŽ­„>Í/;áÛ´Ýbõ'%ï-°1Û‹Ú û_…óÿ'kè÷%¼†š­mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvaliddeltaCRLTest4EE.crt0000644000175000001440000000145410461517311030721 0ustar dokousers0‚(0‚‘ 0  *†H†÷ 0@1 0 UUS10U Test Certificates10U deltaCRL CA10 010419145720Z 110419145720Z0Y1 0 UUS10U Test Certificates1.0,U%Invalid deltaCRL EE Certificate Test40Ÿ0  *†H†÷ 0‰¦]ùÁå6ýlN”DŠDYCu™ Â!Ý0O}VÊOb I$!Ø2‚&€À •ÇÇ:%Z8 —S‰W¸i©ÃÌúàak6Ò‘!%æQÞt–“¬méÂË|D†€ôÄæª¶r?½"z·"÷äφØT®hä;Çðf‘¹£ö—£‚0‚0U#0€“M¼ò× ® H¬º2 ×è Í0U™ÄtŠ‹%׿&Upáêòaè´a0Uÿð0U 00  `†He00SUL0J0H F D¤B0@1 0 UUS10U Test Certificates10U deltaCRL CA10SU.L0J0H F D¤B0@1 0 UUS10U Test Certificates10U deltaCRL CA10  *†H†÷ Uç2üÿP*®5‚üÏÂ6ÿÓ_ˆˆöùæ2Hæøz ­U‚¨ Ýaåß(áð+hK«>KìZb‘,r_yŽÕ0c¦¼ V•âËIïV„T `ÚáàoÔÓêØÉPŸ’ûZÆ$Yɬ¼~ÏÙVñX4£â Ž´uY='ÅÍ ^¾ïmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValiddeltaCRLTest2EE.crt0000644000175000001440000000145210461517311030366 0ustar dokousers0‚&0‚ 0  *†H†÷ 0@1 0 UUS10U Test Certificates10U deltaCRL CA10 010419145720Z 110419145720Z0W1 0 UUS10U Test Certificates1,0*U#Valid deltaCRL EE Certificate Test20Ÿ0  *†H†÷ 0‰ÔJW¯WB’lï5;8ÔØÉrÞÉ·ee¶WŸ`ü»î›ÞtÛ^?<žòˆ*-œ%„i@ÉöS¨Wx€Ii•Q ½ùÿ#riìwÙ$ê°Ï+é üʵ±cÖ Ië"nÈ\èTTí èEi±íšÌï]þŸé¿ª¥) £‚0‚0U#0€“M¼ò× ® H¬º2 ×è Í0UÎŽãÞÙcß‹ßr¤,ñí|Ýhç0Uÿð0U 00  `†He00SUL0J0H F D¤B0@1 0 UUS10U Test Certificates10U deltaCRL CA10SU.L0J0H F D¤B0@1 0 UUS10U Test Certificates10U deltaCRL CA10  *†H†÷ b!ÚrsªH†îŒÉøpr‚m.@›ÃAýÈ+(U•Dç§­›u»uÎ…ô¢OJ\¸—n<¿ÐökÖò‡uÁB÷È€6×÷³·óÎ…Ûc^—úжU«~WpÙed"4Òy}‚`_ÝÁÀW}I?ŸêÖ³%æCã ô'xéDtæ36mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/GoodCACert.crt0000644000175000001440000000116110461517310026526 0ustar dokousers0‚m0‚Ö 0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0;1 0 UUS10U Test Certificates10UGood CA0Ÿ0  *†H†÷ 0‰®Â5• —+±JC•E£ð–¶ t§±Óⲋª#}-ÂósŠÂöèýï a÷É$­£1Þ½0–YXI‚§Ù‚Û¿ ö6!¶BÈo¢£€7Rmêý¯ly\–jÉoHô1·£Ï„Oé\ºHl\jJ “)-!i?ü–Ìèžz£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U·.¦‚ËÂȼ¨{'D×53ßš”Ç0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ Ž–Ï~ÒAK½pøª…ù-Ð ÕÔ˜`•drõÎÌšpóÿCÂ,ÛðçÙ¦4rèmœ{v¸7tÿ6 Fh¼œÇ›ð9ùƒ7]æ0kç ÞÆ4 © *ô·}j—h®…&‚‹ÏÒ%žÖÅáÎ~¬ñ@¯:Œè;× ‘j¬././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidNameChainingWhitespaceTest4EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidNameChainingWhitespaceTest40000644000175000001440000000121510461517311032270 0ustar dokousers0‚‰0‚ò  0  *†H†÷ 0A1 0 UUS10U Test Certificates 10U Good CA0 010419145720Z 110419145720Z0g1 0 UUS10U Test Certificates1<0:U3Valid Name Chaining Whitespace EE Certificate Test40Ÿ0  *†H†÷ 0‰´Us/MšE}tÞ}w*s1vøžš»ßå þð.t»¢‹ôæÜ5}æ(Ý·¾wÉ(èðª§*žÈB‹I=ã×r­“qP^Ê©høõÆ7X«z!¤Îl÷†F,¢ž‘ñLµ2!máš:(’Õ|Û°`Ö_p"ŒÄÞ›ð_$[wzÀQ£k0i0U#0€·.¦‚ËÂȼ¨{'D×53ßš”Ç0Uw‘ë6‘_gn"š!é’|ÃõXÓ0Uÿð0U 00  `†He00  *†H†÷ [“ƒ$Ìkb K€}'®w¨ÑL¤ê){cto=J$ýb´`ÛÍÚÍNÓ³JÃ÷Œ+rk@gÀ-{èOæºé;uŠ*àä(èÈ>ÞÉþ}+~ŠÑ’Ê“¬È¨¥G¡&ÐŒôè¦<j(ü0å<˰\X»ür#×Ë././@LongLink0000644000000000000000000000015500000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/RFC3280MandatoryAttributeTypesCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/RFC3280MandatoryAttributeTypesCA0000644000175000001440000000130510461517311031751 0ustar dokousers0‚Á0‚* `0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0Ž1 0 UUS10U Test Certificates10 ’&‰“ò,dgov1 0 ’&‰“ò,dtestcertificates10UMaryland1 0 U3451 0 U.CA0Ÿ0  *†H†÷ 0‰˜ù¯¼Û‹¥âÝÆC;ëjÙ§«V¡Ôÿû´’~9v»=p°±ÈíxÎë–¬OMÒƒA¬fIˆzZ¶&=\wËÜáSÊkñä5„z£ÂlTîûô~ºÑì`‘γŽPJŠ’!Í„w‹*دœìÌ”`D<Õ˜"{´p³,¿£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U - \¨‚b*6¢MRÈå,P}+0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ —¡pˆ”î ÿ8uS°y#9Öù32“¹Ó°ç™”íXÌÉ;¿4ã ãôîÈ34‹ú$ŒÝ‚nÌì1Ç™@ŽÏîhFD`U’C„šÅ÷/n¦¤*‚c+æ úÌü¥Ú©~½t02!ÆMh½/õ„¾fœÃ@'%Ÿ‘wN£«mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidPolicyMappingTest13EE.crt0000644000175000001440000000122210461517311031564 0ustar dokousers0‚Ž0‚÷ 0  *†H†÷ 0O1 0 UUS10U Test Certificates1$0"UP1anyPolicy Mapping 1to2 CA0 010419145720Z 110419145720Z0^1 0 UUS10U Test Certificates1301U*Valid Policy Mapping EE Certificate Test130Ÿ0  *†H†÷ 0‰«åÁ¸Ê `^2’ÞÝÿÌ×"¥Aæm7Ö£Ÿh/cþïYšêÇ3_ ß%&»ˆ]/Á-9q-^¸y6=òÅœ’Zš„éhŠÆ:²ë¦dÇÕÉÄÛ¡È ÍiÒWŽñfÁ_Ç,šns#û!^ š®H¹,¸>Ç£k0i0U#0€-7Ò?žYÙæ¾W¢÷k‚¦­î0UÝšê¢Qbk4kº”Q®•â™0Uÿð0U 00  `†He00  *†H†÷ à7¦aººƒ—+tÄG{ĺôó—R8B™u¶9E?®b¾¥¹}¡Šó*Q»§è:ójf ¯ïŸŽ£iBÚÔê^²é¥†0{ø0™uo¿É!©ÔÄZ1¹YíE SÀ72iˆQ B³d åš“šÆ.©}¢žQ­ËÓ­mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValiddeltaCRLTest7EE.crt0000644000175000001440000000145210461517311030373 0ustar dokousers0‚&0‚ 0  *†H†÷ 0@1 0 UUS10U Test Certificates10U deltaCRL CA10 010419145720Z 110419145720Z0W1 0 UUS10U Test Certificates1,0*U#Valid deltaCRL EE Certificate Test70Ÿ0  *†H†÷ 0‰µ<¢‰¹èf%î,ñ`2…—™˜Ìq°Þˆ’t·¢2wœß[¢Ö”KH³KXŒ3¸$̤Ï0«S…%¨?õ^O¹Z!Ã]Q‘kx¸PÜë1-•€óÎð0︟+ Žlé¼GP–ƒeBcÜsj„Gv ¤p®KÎ;q?£Ù£‚0‚0U#0€“M¼ò× ® H¬º2 ×è Í0Uº{x¸õQÒÓàÇë§^tç0Uÿð0U 00  `†He00SUL0J0H F D¤B0@1 0 UUS10U Test Certificates10U deltaCRL CA10SU.L0J0H F D¤B0@1 0 UUS10U Test Certificates10U deltaCRL CA10  *†H†÷ \çžnªÃ@ù›Rñ ÕäQ§˜áa<¦iÃüÉÎÆó±ò¹ï1hÜÀÊ> Ý_¶hçaEFb¸â‰?†½~#¯ðjg*Îåã ³égâŸäUÄ^‡ŒS.Û@eüÂy,÷`‚eÖö×Q&én7I¤û뺃"ŽòLU#µaÉmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/deltaCRLCA3Cert.crt0000644000175000001440000000116610461517311027361 0ustar dokousers0‚r0‚Û ]0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0@1 0 UUS10U Test Certificates10U deltaCRL CA30Ÿ0  *†H†÷ 0‰²¿c܇¤éËTŒ)³¶s‚¯˜—Âb„ “ì¢Q転Ý@¦¢7Dž/=<¦é,¶Û¾èÓ^iHTæêóxÓ`Œi„ä“}Íï<>h3-oͺÉåÕ(bKŸ¢KÀŒ€2 ªõûSZÝ-,ôÈ©aà¶B*¤h{£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0UâO¿Þ@Öÿ3]"V‰Ü÷Îp½0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ ÅÚOåßGtf£>§Ý¢Dä`Ey“ªÂí ÜÐ|Gk Sæ®to ‘Œ)=lÀ% †{µÓÊmç7eÛÌZ~±ÁµPTÖà(÷£ñªA noîH -IpÃà°2Ð~–r”(Y4ÜYH®4‰.#:Sy%¨ÅÖ"Áø$Ƭ-H(Ìœ././@LongLink0000644000000000000000000000016500000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidSelfIssuedinhibitPolicyMappingTest8EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidSelfIssuedinhibitPolicyMa0000644000175000001440000000125310461517311032412 0ustar dokousers0‚§0‚ 0  *†H†÷ 0U1 0 UUS10U Test Certificates1*0(U!inhibitPolicyMapping1 P1 subsubCA0 010419145720Z 110419145720Z0q1 0 UUS10U Test Certificates1F0DU=Invalid Self-Issued inhibitPolicyMapping EE Certificate Test80Ÿ0  *†H†÷ 0‰Ù™ÊÛRÝ ÐÂd•¢4­²QEÇh¢ñ‘ƒ[äŠ}–!‚;&œM£³0°0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U7;Š¡º§t›ÀëÖ9Ë! £V}0Uÿ0U 00  `†He00&U!ÿ00 `†He0 `†He00Uÿ0ÿ0 U$0€0  *†H†÷ ¦ ‘r%ã ­kÑÔfæÞ̶‘Ét!¥&N[î…J¤|a¶ÇR¡¤«²F `k—ýÞ¨TûË[Y6ëýésx\ëFÊgšÞ¢7Nh-e…Þç[¨0îàŸ\×׋=î¢íº¤ÊáËbö¸é$Ÿ÷¦"z“8±{o8Z1ÑÝvmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/inhibitAnyPolicy1subCA1Cert.crt0000644000175000001440000000120410461517311031767 0ustar dokousers0‚€0‚é 0  *†H†÷ 0H1 0 UUS10U Test Certificates10UinhibitAnyPolicy1 CA0 010419145720Z 110419145720Z0L1 0 UUS10U Test Certificates1!0UinhibitAnyPolicy1 subCA10Ÿ0  *†H†÷ 0‰Ëî3šëènŸ™ÁVÂÍ»^U¤ÀÌŒ[œ›ôÆ•okÞB#uàˆt‘üMEëÇÝSá4á+A  Ñ½~ -üû /ÈØ÷ ¨êÇäH:ÿ”ö$mHó}ó±ÿ‘îìz¨{q%NEú à«©tA7‹h18ÑåM?û]]壥£v0t0U#0€fÛµ”Çij>+‘¹ßȨÐM+4D0U) x”Ž„)BK|«ƒ*¾5[<0Uÿ0U  00U 0Uÿ0ÿ0  *†H†÷ ¸¦TÊ ½Ooše?¿ruÔPsÖv¯Á@÷a$»«j皦6¹É‡_Áõ&áAJ¯,¿5|Š€‘cÀ4 +ƒTý”¤’;_MÂræ†,UxóÐÌ‹(ì+·£ðÂÙ±E¿L‡ù{žä=³‘ ´P„JþÈÀÓè7"ˆ|š£!Ât';umauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/nameConstraintsDN1subCA2Cert.crt0000644000175000001440000000140710461517311032111 0ustar dokousers0‚0‚l 0  *†H†÷ 0J1 0 UUS10U Test Certificates10UnameConstraints DN1 CA0 010419145720Z 110419145720Z0j1 0 UUS10U Test Certificates10U permittedSubtree11#0!UnameConstraints DN1 subCA20Ÿ0  *†H†÷ 0‰µä` ¢œ!à‡™ƒÇ,æ3çÂnŒI~8T=Cµ ÖXDîhh’Æ4ä­5ð ]‰ < ´.…¢©ï!$ M”Í(ˆ¸QÄÏEpШÃuJãŸ#´ú3¬ˆÿ³À?áW²£Úœ=ƒEˆøsX ))xSùz$ãû%zkDø ´%&K£Ø0Õ0U#0€N.£çÙÝ‹§‚;AJÞ|Y#WNS0UÕ¯k( ­Hl ‚*ÿÒh /mW0Uÿ0U 00  `†He00Uÿ0ÿ0YUÿO0M K0I¤G0E1 0 UUS10U Test Certificates10U permittedSubtree20  *†H†÷  7–-®¥ÅY÷i+_jcêççG}‡Khå9u"ªiÁç  wVBÔ1xCßq`qlMú—np_ˆ‰Çÿœ‹G-õÆ[´t CÈf¾ßÊQé ž'íTNèNüõ~þ@<€ é~>¼c/ëÖ#SÖ¯aäµ£åÖ–$_É{¾mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/UserNoticeQualifierTest15EE.crt0000644000175000001440000000136310461517311031763 0ustar dokousers0‚ï0‚X (0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0_1 0 UUS10U Test Certificates1402U+User Notice Qualifier EE Certificate Test150Ÿ0  *†H†÷ 0‰Ò è_s¹·†þmrW£ƒA A ü@U eIÄºÑØ@äkí‘·P‘¼ž<‹¸Ÿ8ö,)ŒõLù NX±Bο³-}ÀоÖpEÉLÁ‚L>«V½ …ßj­öÊ}¶·sºÍÝ©Iº/¹'PÌ4¶Ç=„µY.Ç»ýÝ/–hG}£Ù0Ö0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0Uа1òŠ’ ‡ý†€ˆäR‡J0Uÿð0ƒU |0z0x `†He00j0h+0\Zq1: This is the user notice from qualifier 1. This certificate is for test purposes only0  *†H†÷ Il%µ‡5hg‡-Œ’lî 5RZÙwÀ¡¯ôDy‹Ñë|¢RW·WLʶÿªÈ‚&Ãy5Cc~ç=·@Ýá o’Ë?k ãúm̶÷,¿,—®¶ƒSag°×çE¯ /£lÊ—i{nšõÄØ+  yJqö(8èRÌÊ~âtή¶mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidPolicyMappingTest10EE.crt0000644000175000001440000000123310461517311032112 0ustar dokousers0‚—0‚ 0  *†H†÷ 0V1 0 UUS10U Test Certificates1+0)U"Good subCA PanyPolicy Mapping 1to20 010419145720Z 110419145720Z0`1 0 UUS10U Test Certificates1503U,Invalid Policy Mapping EE Certificate Test100Ÿ0  *†H†÷ 0‰¡דbZY—RQñ:Û£Äv 晊,¯ 8 Ĺú¤<ì8l$ÊŽÌè ò…³ýæ‚™õ‹ª²@¥nÚÉõëj{*[å7'u%€ ãdkÅ_ ojÜßåD¬,J?Æd‡¤ÿÈ’[ò‚ÖªHfì±ÊèYü½Ä8.Rº +£k0i0U#0€‘×ᵤ–‘ñ¢q/fÙ'{J‚“š0U¨ZSü½8“ޑ蟹uÝñƒzªƒ0Uÿð0U 00  `†He00  *†H†÷  ϸÑ#Ö¿0Yq4õÝðP¼brY×…@4Û4¤ß—"ÉÂâÃËb×kI v¼$.Œ²ÙA“ÂXe_³qd|ŸÅ£DÝE)dz¦¥ ÏÌëMêgN¯]çŠÇˆrÀ#Ÿß€œÙFî[9@b \VîÉ:Ÿø%Y¼Z././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/PoliciesP123subsubCAP12P1Cert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/PoliciesP123subsubCAP12P1Cert.cr0000644000175000001440000000121710461517311031502 0ustar dokousers0‚‹0‚ô 0  *†H†÷ 0J1 0 UUS10U Test Certificates10UPolicies P123 subCAP120 010419145720Z 110419145720Z0O1 0 UUS10U Test Certificates1$0"UPolicies P123 subsubCAP12P10Ÿ0  *†H†÷ 0‰Ü‘ɪ£_F!âÊ‚½|ào$fE eÅU¯—ÂDl'*é­¡?ƒçM©Ñð1Cùnë¿þ[?WûFÀÂK°,ÉÕ—GeF•kÔÜMísÿ·:“7Ëü2p®\¿• gDtb*ÍvÔÑE²(Óö?³öH(¬-zi&ÙV"èw£|0z0U#0€Z‡!ûÜ“mš |Çj±hKßU×0U#‰œø#aBè–›5j¼0½^Š‚0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ Dñ— ö{ßдýÄ/œcC>»’Ï1ƒq‘çvh…ä}qšÚúœ‹¹T#'’AVI±R @ ß\}%¼ &%/.V_îHŒ|ØJþ!ÐbÄâæÌš Ÿnp"tö•„òÁ *I”ß“}j8G"‚ZÅè¿y(“NÜyæ_7Îmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/PoliciesP2subCA2Cert.crt0000644000175000001440000000120710461517311030405 0ustar dokousers0‚ƒ0‚ì 0  *†H†÷ 0;1 0 UUS10U Test Certificates10UGood CA0 010419145720Z 110419145720Z0F1 0 UUS10U Test Certificates10UPolicies P2 subCA20Ÿ0  *†H†÷ 0‰´´Îë"ˆ]ÝXù¯t–8L—™9þdˆJ*fï‡ì4ûÂ$àtòZí›&}¦]——kœNPñ½c7**#ñ/¨}»‹xпŽÉªNd¨˜ÊEâö0®ŠR»y&öµ4Œ_áN{Yå®_3š§ˆÄ'ù(w—¡‹uÀJÁÙ»×£‹0ˆ0U#0€·.¦‚ËÂȼ¨{'D×53ßš”Ç0Uqë/íQ¥ÿ…IŒ|öK¦›¤”0Uÿ0U 00  `†He00Uÿ0ÿ0 U$0€0  *†H†÷ ¦ümGä+šE}»âPï~1x~Ôݦ›ö™Ðö©1ÚãÆ‹0ßãîm>co`¡Ý€l ®iRõYņàðÑ),â‡àŒå‚¬í +];`̓0ÅÆìjªÈ=-"E–yÁêõ£=mÓü¼çudÁ¹•*×{XÿÂJÈNÞ././@LongLink0000644000000000000000000000016000000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidbasicConstraintsNotCriticalTest4EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidbasicConstraintsNotCritical0000644000175000001440000000124510461517311032456 0ustar dokousers0‚¡0‚  0  *†H†÷ 0T1 0 UUS10U Test Certificates1)0'U basicConstraints Not Critical CA0 010419145720Z 110419145720Z0l1 0 UUS10U Test Certificates1A0?U8Valid basicConstraints Not Critical EE Certificate Test40Ÿ0  *†H†÷ 0‰ÎÜ3‚£ .²»t¦¢N í¸BA ¡Ëo…”ì^I¶YᇹÔy7)h¹K »ÂZ\ªøHYy”¬þÇJݾÁÈß|\Μ_\%2bf?†Þ|ZHQJêýŸuÔJÜTçµÆ…Ø#\zä½í;î¤@ ©+å/úY¦âòchÅáÇ£k0i0U#0€ظß+ü ®×VË\>zŒÏ‘0Uý4N»ð8U7Valid No issuingDistributionPoint EE Certificate Test100Ÿ0  *†H†÷ 0‰¹ƒã¤3§é+ŒM8ôl–/öS”ó/3%59·£ZéJî1¥V6-â­U_¿&£Æ€Ù-4ªÇ´vE"LiT8ÔìÈÝ¡Ãæ´t3ù-`ØS¢ÜËKE%§Âæô};#³ÒežŒR1 æØ‡gG?”&>ÁM޵¹XîLì83éy£á0Þ0U#0€,Å'#ÑÑAßßa„¹Oñ2ì10U¦ÿZYàbU¨ÑàYJ¿…ž´ù†h0Uÿð0U 00  `†He00sUl0j0h f d¤b0`1 0 UUS10U Test Certificates1'0%U No issuingDistributionPoint CA1 0 UCRL0  *†H†÷ 'ÊŸ;k§k‘¾þ ŒBêEîò#ßë?¦å]#Œüúî©î]‰¢ÄcM=¢‡–ˆyt„.CXÑy¹Ñ,ƀƫi Í<¶¬Æ´­ðŒe[D¤UƒKO‚]1.í’Gà/5o•OºÐI¦H7NÀÓx©„•°úmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/DifferentPoliciesTest12EE.crt0000644000175000001440000000120310461517310031424 0ustar dokousers0‚0‚è 0  *†H†÷ 0B1 0 UUS10U Test Certificates10UPolicies P3 CA0 010419145720Z 110419145720Z0\1 0 UUS10U Test Certificates110/U(Different Policies EE Certificate Test120Ÿ0  *†H†÷ 0‰² 7Sï@<úû ¡Xªñ5ˆbĵ®‚/X€kˆOøÇžÂ¾øVΰoF#KbY®¹J‡–JRÿ¢½/mÊ}¢4ØÐà¶– ø/#^8ã«pdœÈ_~eCƒóNq-ŽÚô}JùˆÖm šSQ$ Æö_¿,ðu²#Ú€µ}OÎÝ£k0i0U#0€޽fŽUeÏQäY¦É*b¿÷¥¼0U‡e* –f̧æqœ%q±TPÃ>0Uÿð0U 00  `†He00  *†H†÷ >°«šç¨ê¥dÃÓé.ß1÷ìÿÂxܧ­‰E´P?ÝY5'RÙ€6Ÿâa() çªqD~¼–a°…ÓûLá$»ú·°p.d™íÞ^Œ ZgçØÁ%c² hûÓÎ4XßåÈy7Ì+Ë‚Qy±ûR·AHËîÐI˜À¢ߑ݊mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidcRLIssuerTest30EE.crt0000644000175000001440000000155110461517311030670 0ustar dokousers0‚e0‚Π0  *†H†÷ 0C1 0 UUS10U Test Certificates10U indirectCRL CA40 010419145720Z 110419145720Z0Y1 0 UUS10U Test Certificates1.0,U%Valid cRLIssuer EE Certificate Test300Ÿ0  *†H†÷ 0‰¬(»£í("œo¤õ ðmX³NÚH=S%uÅ4´ÏЈüîÛ¢š.·ôg„›®k¨i\JM ]÷#mœ$éaíLßÜçÆÚV+X`¼_±/·;jK¤È0P™¸â@MðR[¢ùÕm=6ˆjnãŠi¬å¦Ø­’¹Ÿíx‰þ²#« i-A/././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvaliddistributionPointTest6EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvaliddistributionPointTest6EE.0000644000175000001440000000131110461517311032301 0ustar dokousers0‚Å0‚. 0  *†H†÷ 0I1 0 UUS10U Test Certificates10U distributionPoint2 CA0 010419145720Z 110419145720Z0b1 0 UUS10U Test Certificates1705U.Invalid distributionPoint EE Certificate Test60Ÿ0  *†H†÷ 0‰Á¹ÃË ½–ö³x¡'Ë>Ðh2¯ çÁ·u(Ñ&=€ï6æ"ñô,ªúöÒ,ÀψÄlTµpÀ^æšê‰‰ÔòVŸ¸t9§¤€{!™ºÏi°C_ñ§Sl{[Û×XYKº¬ ©~Ž9Ç–,Ð`åÄ›N~éç—\£ À/HMÒ`†cÁ ïn¬ýÙо3«‡±•«Rm°„ /W'Œ˜uIÒ\{iŸ././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidIDPwithindirectCRLTest23EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidIDPwithindirectCRLTest23E0000644000175000001440000000121610461517310032042 0ustar dokousers0‚Š0‚ó 0  *†H†÷ 0C1 0 UUS10U Test Certificates10UindirectCRL CA10 010419145720Z 110419145720Z0f1 0 UUS10U Test Certificates1;09U2Invalid IDP with indirectCRL EE Certificate Test230Ÿ0  *†H†÷ 0‰”u: ·Ý¹ÖvsOÄû»ŠlH¼+êd ÀÑ5dóÈß ë¯ó$Œ<¯ NÉ…ŸPU¢¯ÝŒœ¼ôÓ†/ú´¶7‘þrôË¡åéÒlˆ0FÈXÐh8°‰÷)"¤~tk’jAƒíÑÆøÐ¥ ¨Õ&Ÿ&Ñ3Åo8n2ov€Ë£k0i0U#0€lÁ_ا-à†“\ ðI¹%[è0UÛFƒíÌ:VHº¹:˜7â#Ç0Uÿð0U 00  `†He00  *†H†÷ lpå!ž’ò¤e@á•q°XSåŽñi£xm`5\rRVA&ç5þÕ_ÄNp"q áêKN»0S³†å8怢œ.rî²'vA™ÿyhÜ2rtÕ‚ÕRÎEX îZ2"‘NL¦`[GÀ˜{‰]&kÉù6«{ÐažÄ.X‡Òí…×././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidonlySomeReasonsTest21EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidonlySomeReasonsTest21EE.c0000644000175000001440000000155010461517311032135 0ustar dokousers0‚d0‚Í 0  *†H†÷ 0G1 0 UUS10U Test Certificates10U onlySomeReasons CA40 010419145720Z 110419145720Z0a1 0 UUS10U Test Certificates1604U-Invalid onlySomeReasons EE Certificate Test210Ÿ0  *†H†÷ 0‰Îyäk¸ …7Šäêc¼QV’K<Õ1sêù‹'¡ 6`äzl/BR)UÀ•›”;bÑÉë^\3HŒHÕü~KH7ÉÊ.¼7p>園0‰£sN 7Wµ 5±Þt=k¯/èΛàh#/uÊ…$ôÊ’žG]ØÅcS£‚D0‚@0U#0€?¾@ñ÷kû°YäZà—Té0UøÕò$¥Öñ“ñ¶ ûŽr;O\0Uÿð0U 00  `†He00ÔUÌ0É0b \ Z¤X0V1 0 UUS10U Test Certificates10U onlySomeReasons CA41 0 UCRL1`0c \ Z¤X0V1 0 UUS10U Test Certificates10U onlySomeReasons CA41 0 UCRL2Ÿ€0  *†H†÷ 6Rjôñ{kãR„îî%7ûóËï‹ß“:#¹n{€{Ýcm|—ˆþt|C‰>uP]•Cð”CEæ»n*ÈÒŸ¦Úx£0Ž@ê8´íƒ›’§ è´?§È)=½+$õî^.ëE2º>£ƒ¼ç'ùûi2”+K­Êm=VaÛV$@././@LongLink0000644000000000000000000000015500000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/inhibitPolicyMapping1P12subsubCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/inhibitPolicyMapping1P12subsubCA0000644000175000001440000000132710461517311032150 0ustar dokousers0‚Ó0‚< 0  *†H†÷ 0S1 0 UUS10U Test Certificates1(0&UinhibitPolicyMapping1 P12 subCA0 010419145720Z 110419145720Z0V1 0 UUS10U Test Certificates1+0)U"inhibitPolicyMapping1 P12 subsubCA0Ÿ0  *†H†÷ 0‰˜‘´å\>Ó¯}ëÆä3WË„ôEÀ´Ÿ¥qVúÅ! ©•"•ÊØ-7ò/÷M®¾zˆ‚v4ú’ô0°Ïn0g»ž?0ó¦D„sá§£npû¢Ï¬aA'BÍ£¬—¾Åw TÂ"4?·~èlòtäüßS¨RœÈã¶2¹„æ¹£³0°0U#0€zŠ0öê\6@ ®ØŸ¿¹½‚ÌR0UZ“Kï–ž®>C&¤y‹¢æ›!0Uÿ0%U 00  `†He00  `†He00&U!ÿ00 `†He0 `†He00Uÿ0ÿ0  *†H†÷ ¡ý“;›bô;ÅéñyU!cœeN4NÐqÓ§Cž±&Ž QùL£¯ÓôëzíYÛöh3Ád„\ Ù¶ÿpÕGZ+wõ dRžÃ‰elÉðE.^ß8ê,k yi6eÜ£ =¯˜¨…%þ®Qïh¹>çGκ”Õ©c8{³ö(§Y././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidIDPwithindirectCRLTest25EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidIDPwithindirectCRLTest25EE.0000644000175000001440000000134410461517311031703 0ustar dokousers0‚à0‚I 0  *†H†÷ 0C1 0 UUS10U Test Certificates10UindirectCRL CA20 010419145720Z 110419145720Z0d1 0 UUS10U Test Certificates1907U0Valid IDP with indirectCRL EE Certificate Test250Ÿ0  *†H†÷ 0‰ßЋ% ÍCM“×0&ÚoˆS¸'IÈE»œ;¥, ˆ×¡ ÜI8ç!?6c=÷v¿¢¶z³'jº$kǬ wv4¡\©«èSz¼)æoe¨×îʧ’”0ˆMMÆü´c#†wL„G@ÿ.,F©®$C™SÂUÕ{£Â0¿0U#0€Á¯‚ÕÓOð1bq—îV%y’D9á'‰²¾ðHF¥g˜‹ñdž™&¼½5eDNAµVÙ&y47PÙkãXÑ[£@MŠÝBµ(3Ï6Âmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/pathLenConstraint6subCA1Cert.crt0000644000175000001440000000121710461517311032162 0ustar dokousers0‚‹0‚ô 0  *†H†÷ 0I1 0 UUS10U Test Certificates10UpathLenConstraint6 CA0 010419145720Z 110419145720Z0M1 0 UUS10U Test Certificates1"0 UpathLenConstraint6 subCA10Ÿ0  *†H†÷ 0‰›0¡ê棿€µ¸›ç‘ $ÜfúLu‘*¥Þ.ãäZ£";#¢åLT>ÂFtrrÕÀ¿¯™ª“ƒ‹=¥½8>áÛÓ q^~”€K •:bêã­³cª<"éÿ 8%Q±×¾Dp…$rW@ƒ_~Þ]MW‡àì{Á¡Ö‰WÈÍ-£0}0U#0€´¤·¢®¹vµËd¥z…J0UD4áP&ÿ<# ­¿½NÆ{à HŠª0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ Š.«dIW„â¬ìÙóI>ÂEÌ*Ï TÀ}’çsÜü¹pލÉ/"Ò¹=Æ6*_ ´…H}׎‘#HE%Ýu aôù‡vÅ'CWïÓW^Œ±±öODKàžÿ“?¢}UÊ—À¸ øü΋ޞã2%FqtADw”././@LongLink0000644000000000000000000000016500000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidSelfIssuedinhibitPolicyMappingTest9EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidSelfIssuedinhibitPolicyMa0000644000175000001440000000125310461517311032412 0ustar dokousers0‚§0‚ 0  *†H†÷ 0U1 0 UUS10U Test Certificates1*0(U!inhibitPolicyMapping1 P1 subsubCA0 010419145720Z 110419145720Z0q1 0 UUS10U Test Certificates1F0DU=Invalid Self-Issued inhibitPolicyMapping EE Certificate Test90Ÿ0  *†H†÷ 0‰Ê\^B„A>н¬·ë…‡P=¯©*ܘŒJŸÞŸfúåúè;ñþÁÜcÙK½¼xð;þ\õá­1°a¯_AËŽRÿºž¦…9×ñV0˜rmƒk*ÊÖ(nYd? é×òZåŒC’Ô·›ò ½…l)Ãzøþ+ç#J$Q'ü£k0i0U#0€~—C¤}Þe‘;7}'½¤óУ0Uß…îAóÔÅ6?/jÍ)ó™Å50Uÿð0U 00  `†He00  *†H†÷ (àÐL¹¡”ë"ŽR¤M_:!dìã'nëÑê$àSpP+žØc z¹k*¡â(h¿Ì(@7ÜdÁ§DʼC çLoÓÿà†û\DpT3æTø/A‹Ü¨.áϰ{¡ƒ»®(’ºè‡eöÇûrž˜qœ„RèÊ\ÓOõÍø ýmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidWrongCRLTest6EE.crt0000644000175000001440000000117710461517311030730 0ustar dokousers0‚{0‚ä 0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Wrong CRL CA0 010419145720Z 110419145720Z0Z1 0 UUS10U Test Certificates1/0-U&Invalid Wrong CRL EE Certificate Test60Ÿ0  *†H†÷ 0‰°·Áa¦ÃŸò8ãàÝoJÒ}$’>‚ÈU¤²«Ÿÿˆœoð/Šñ„,MÖóNJ!þ"³ Y„é’‘ˆËÛ¾~!ô˜·8¦ÃS´ô×: ÒZƒ\°QÀÕBLGÿºë£DÊ—˜›&…0÷nªgî±í6Y¡–Ö6ûN¬Ñ(!Xí_£k0i0U#0€ÔmãŸÖ}÷šÝ\ Ñ'ðKTiw¨0UÈOb6žD¾’½Ð=s¥o}™0Uÿð0U 00  `†He00  *†H†÷ £=^ÆzH4V\y5Ÿ lko"Û1´íAÑ™ÊàèŠ_8ø5âçfD%cÎÙÝ@¥ø_\UŠ’+"¶Þy£¾ þ´ÚùDhÑó/N‘ð«#HX'. €Sàšß è…ñ¶Û=sB”RÛÁp.¼7%ý]E“μl¨UNœÁ$µ•&././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidBadCRLSignatureTest4EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidBadCRLSignatureTest4EE.cr0000644000175000001440000000121710461517310032010 0ustar dokousers0‚‹0‚ô 0  *†H†÷ 0H1 0 UUS10U Test Certificates10UBad CRL Signature CA0 010419145720Z 110419145720Z0b1 0 UUS10U Test Certificates1705U.Invalid Bad CRL Signature EE Certificate Test40Ÿ0  *†H†÷ 0‰ ´»¹…Óý×rŸjƒƒ:9X’@ßýk\(€üèÁ0åó°8ˆc¦gâÄ“ Kj¶òasdT‰I }Ê•3¸äÖhËaU“àUž`WGAºoeY\uI€Ê&¸!/›²úKý«:«øÔ¬AÜžðSCèˆòk­wüü ô2õ£k0i0U#0€û ýº{æ8H™Z`UP—ª6lC0U+RúÛV “eë^v•doO þµ™&0Uÿð0U 00  `†He00  *†H†÷ 9*+4µ%¹Kç?Ïæ*¨z 4Q!)6žŠy”%غaw._v_óøKCŽÀ å”ÓCUîíø°Á‡ý¢³*caa­ÑN g%;Y‚¥2„G¸VŠúߵػzG„Ù¡)e§[ Ôþ«:gþ…+Ü7¯ˆ_úÊ­üAèømauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/keyUsageNotCriticalCACert.crt0000644000175000001440000000117710461517311031557 0ustar dokousers0‚{0‚ä 0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0L1 0 UUS10U Test Certificates1!0UkeyUsage Not Critical CA0Ÿ0  *†H†÷ 0‰˜”rž{ËŸh%>0¤ªu³/ÛÅ?ò¦‡–ÞÊ_¿8¾ °3çlÒõf‹€ž›;$ú_áQéfô†à .¯9Ô?«FþoKÛÚªúäZüÊR0uæTŸBHÎ’1éÖ;Ø'‹eG;ZkB7nV©‘sj¿¯vÙ™ 5£y0w0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0UÏ*¡¥ýBâ3¼3*M˜s³ØûU¼Ø0 U0U 00  `†He00Uÿ0ÿ0  *†H†÷ ¤¸ ¡9¿øgž;7—«b¶ä•;å ÆQ˜ïì–_'e%[¯"i¶¼Æÿ¯‡=•€Ô›“ü)ñL>­­Þª©jB5EBé!Ð^(ÀZˆVuA ²È¥á*ÐùûÑAõFÌ[S÷Ò¦—dOtçI¸î¢³­¿¦“ßTiM¿†././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidpathLenConstraintTest11EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidpathLenConstraintTest11EE0000644000175000001440000000123510461517311032213 0ustar dokousers0‚™0‚ 0  *†H†÷ 0U1 0 UUS10U Test Certificates1*0(U!pathLenConstraint6 subsubsubCA11X0 010419145720Z 110419145720Z0c1 0 UUS10U Test Certificates1806U/Invalid pathLenConstraint EE Certificate Test110Ÿ0  *†H†÷ 0‰¯ÊϦ¹F¹ËWí=Ÿæ0ö,XFÈ–+σÛ1yµ*‹˜í[¤òáJS7\¶47am’}»ª¸S eÌ bÛ+ že‹Kñnê À“ˆ€î±ÿ¿Šß;u¬ôVË6ºfП|ß|âDäíuF.(mÆCÞVt`%4c˜Á£k0i0U#0€j6ðWu?BPµé(7Å­â¼0U¦³K•j6‚+”?†öâ÷˜ã“f0Uÿð0U 00  `†He00  *†H†÷ eA‹ DºÎœÑâóK‚F Ú핈ãnùJWåIŒ„PdGv ‰2b¬6±F¶à© Ó;"xÅ´0xpN Ü0çìuÏNj§¶¨qx¬TBäÁÏÜVªŸ§ìüÙªCsz˜™tp¬MØ²Š {/ý-Z;ç¾o~àtÈ“iF¹3mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/onlySomeReasonsCA2Cert.crt0000644000175000001440000000117510461517311031066 0ustar dokousers0‚y0‚â Q0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0G1 0 UUS10U Test Certificates10UonlySomeReasons CA20Ÿ0  *†H†÷ 0‰Æ;¬æk™œ’¾½´âJ¾åûY’nÇ”ðä]¡,lŒ FÁodÕ==£ì·Gúý gËa|BˆO:Á$¦±°—5¾zЀ¥ìÖŒWíÃpüÙ‡‚Š«Tj™e±Á[þëYÈ÷F.‡>£¦RšÒü]Ê„þ’IZ¹þÓ|½€;v«£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0Uª¡ïØ\Ø8²3‡ç“EAЊ{0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ 'ßæ*ÔDÇ!‡vÔîÌ'e¨T-7^…·=“ ¢Y¡ÿm‹¢ô ÏÇ…ìµ¶ 8–ã¤síUçýb=Qßðç¬VZΛ"i‚t˜b%£Q®¨ º/qn²‹³»Ú Ÿ½ô´Š Ž_pD—€˜±°é3þZ }PS·§Ê—mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidEEnotAfterDateTest6EE.crt0000644000175000001440000000120110461517310032050 0ustar dokousers0‚}0‚æ 0  *†H†÷ 0;1 0 UUS10U Test Certificates10UGood CA0 010419145720Z 020101120100Z0a1 0 UUS10U Test Certificates1604U-Invalid EE notAfter Date EE Certificate Test60Ÿ0  *†H†÷ 0‰È#ž †¦—´Ž/í±õEœÂ§ !ZÒñ¥?Àèó´ÍœþÂ"ÙÒsTÇçAdöðMû/k\v†T3´–ñÙo|ÇÓ(Š)åÔˆ>EûkYXøþÏH¥¿áði}“A°Rh=€ÝË÷QÃlö m?¬l4–}¼U¾£”…ß8¯¾>ÍGÛ£k0i0U#0€·.¦‚ËÂȼ¨{'D×53ßš”Ç0Uþ"¤›k@"–k•jÛ 6úOœ™Æ0Uÿð0U 00  `†He00  *†H†÷  Ðl(pãŒ{¯Q°6Ô³GÿP›=ƒ…ß]ÖËAºnÒˆ>‘rZhô‚&>͹ pN£/²ÆÀælªt-ÌÉ„õÕË•ËÁÿ©r 1UsN?¨B.fÛ˜’n–ÐN¤¤ë°¬éiQN’D|KOyÕ!F‚°:½é‚‡?mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/P1anyPolicyMapping1to2CACert.crt0000644000175000001440000000204210461517311032030 0ustar dokousers0‚0‚‡ 60  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0O1 0 UUS10U Test Certificates1$0"UP1anyPolicy Mapping 1to2 CA0Ÿ0  *†H†÷ 0‰ìª$P§ÆTÖEŽKûo´ð%?]ý{ºÇšœØ±Ú|0Q°åU•/¤0‹ÿ.yÄ!(Ôj Z3:úFý—xzÁl–c ¬·g5çÊœ$¶=?”2wô˜Ñ;}ZQ×UÁ<¬ÊHi…Åò·ÝJ^ Ú°ÏÛ =%°fJ±ÚR?ÒŒÐ^ØoB}üJ ÃS´ kuOBL‹…1{Îÿ2Zs±£™0–0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0UãeéÔ†¹Ççó39^L¥ù0Uÿ0%U 00  `†He00  `†He00Uÿ0ÿ0 U$0€0  *†H†÷ ýÌ€ ÝÀo¦saé çØÂî" sý»®ÕÜD†ª ©ÄyòHJnÑòÇÆ+°œ©CRá{;rE¹“eMß]@¡sK¤ê¼$¿ë×üÉ‹ÂÈß÷pXän"b£ñoµ©*ª=í_¸ÞÓ±:‰4¡û¥µâùO矄§’%Åæ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy4subCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy4subCACert.0000644000175000001440000000122310461517311032261 0ustar dokousers0‚0‚ø 0  *†H†÷ 0M1 0 UUS10U Test Certificates1"0 UrequireExplicitPolicy4 CA0 010419145720Z 110419145720Z0P1 0 UUS10U Test Certificates1%0#UrequireExplicitPolicy4 subCA0Ÿ0  *†H†÷ 0‰¦¹åOêwI¾RÛ±”Ól'½•˜mˆ…ÎÂæÉrçmTÔ@ch¸^ÏNmxwÙ¡IÞFP¸üVDjBýÌ(cÀYS·DXïN@Wü5_‘MbéÎà6«š´·CRdïK^¿mÚdZö0ÀC‰Ð}óŸýÌtèfï8|ÑÙÍœÏ^÷¹£|0z0U#0€%~´ вóÁGðAyï²Bæ5û0U#a8q, a¾¢¼×Õ‰ÖØP>½ëÅ0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ Í\xÌ§àØæOƒ‚†u5IK6¯SÐîÔÈ×MH¼3[*ç6HI©šéwÜüxϘ (&l"›_7ø®n¤»|ôúUÜíRáÈŠò²æ øˆtí€æPÖY~_:úí §eÑCJÉ ±uEMUfQÊÿ V2cA«VƒzZâÑcmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidPolicyMappingTest11EE.crt0000644000175000001440000000123110461517311031562 0ustar dokousers0‚•0‚þ 0  *†H†÷ 0V1 0 UUS10U Test Certificates1+0)U"Good subCA PanyPolicy Mapping 1to20 010419145720Z 110419145720Z0^1 0 UUS10U Test Certificates1301U*Valid Policy Mapping EE Certificate Test110Ÿ0  *†H†÷ 0‰ªˆ¿êu7½Š÷¯ÇûÒ¾¶YuE¤Þp“S#q_iþ=‚SBšžt?zˆ@‹i½/–(ñ¬)½RÜš¼A>ÇHU‚åH‘½?W©oâ'УAó3~Q›ýf¶¡‹ðÝ!RÖ¥ M^2,?Wiõ¯v&#±¯ˆ~f«:_Ý%Hxšk£k0i0U#0€‘×ᵤ–‘ñ¢q/fÙ'{J‚“š0U?˜û-osKRýâ’ CmPm@»0Uÿð0U 00  `†He00  *†H†÷ #^ígK™ÒÛ·˜EÈÉG©¸kjŽ‚'ç°ìwïYõQ||è7ªTPç§Ù‚¿ÅJÃ@¡W‹OÙ0ùÇ’²á!ïÅ–à„Pºbq¹bhý_üã—ƒBº0 û2-TeŠò)žþ¨àæñ*¼¸œ‹ÒRö‹ÌÊ{¹âìãl«û%Ïmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/indirectCRLCA1Cert.crt0000644000175000001440000000117110461517311030063 0ustar dokousers0‚u0‚Þ T0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0C1 0 UUS10U Test Certificates10UindirectCRL CA10Ÿ0  *†H†÷ 0‰ÊœÛÊ FÎ’¾&4úÕ¡ÒõšJ>Ã13. àÞsO¥äØ!hŠÍútÅv-(€cE¯Þˆœs®­½¨;ÈÊ{#.õ |ÂJ¼>`^¨å~’¸ÞhÒ ÿŸÂ¹ ¯’— w =ªx~ÿÄA°e³0ù Ýsé§°öü‹` =£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0UlÁ_ا-à†“\ ðI¹%[è0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ 6£M¹®fÉV,ÝÉÊþ­³j³3ó²¢@˜¦pèÊq”Ò˜8€Ä “c0EYåYš•mn“†eùžF˜Ž,÷¼° t0Ô¯¬Àµ‰°ý¨¶£¥)œÍîW €Â­ì yìS÷Tt´)m-Êi8òaÎc1Þöâ4Ü\rñL¨Çô‹mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvaliddeltaCRLTest6EE.crt0000644000175000001440000000145410461517311030723 0ustar dokousers0‚(0‚‘ 0  *†H†÷ 0@1 0 UUS10U Test Certificates10U deltaCRL CA10 010419145720Z 110419145720Z0Y1 0 UUS10U Test Certificates1.0,U%Invalid deltaCRL EE Certificate Test60Ÿ0  *†H†÷ 0‰±ÊÍ?u†Ñd!âEò;=ÿT­òr@õÒI¼šºÒJ;µ[Ê^Ÿxèr* ±œ1“|iéå"+¼µÜ'ؘæ{D*Ü÷•WV`ÃYs!x¢!Ïaì!q™ÀͧÒlž‡ÕKYQ$ÍßZk”ý‰lÛŠú=hQ ©ê9£‚0‚0U#0€“M¼ò× ® H¬º2 ×è Í0Ur%ÉÎ6ÒQ·!XJ_üB¢¦0Uÿð0U 00  `†He00SUL0J0H F D¤B0@1 0 UUS10U Test Certificates10U deltaCRL CA10SU.L0J0H F D¤B0@1 0 UUS10U Test Certificates10U deltaCRL CA10  *†H†÷ Pf`¡5¸vyS¯‹¼ù+lÂ$ƒcGB)¥£”r‡™s9-³¨kMtC;fbŠ5* ªø^ádN §6SÙ*Ó"ße|lDyjÛ¬Ó<ôñ6¥„½åÚR÷¾y{çðŒå<Ú£L¤–LTˆAdV<-†ðýuåY⥛q™././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidBadCRLIssuerNameTest5EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidBadCRLIssuerNameTest5EE.c0000644000175000001440000000122310461517310031736 0ustar dokousers0‚0‚ø 0  *†H†÷ 0J1 0 UUS10U Test Certificates10UBad CRL Issuer Name CA0 010419145720Z 110419145720Z0d1 0 UUS10U Test Certificates1907U0Invalid Bad CRL Issuer Name EE Certificate Test50Ÿ0  *†H†÷ 0‰™l# ½Å±ùè)×”—ÁQÁ)A`»/–ŸK°b­ÂºÓ=œTߤŽ0}j!ó?+m̳2Tý¿t^y%å%-îP¼î·®Î5Ž7ÔNgKKv™Mà>@œ'‘ ’„Iˆ™K²!!V²É¯{h„Úyâ'2µ†“ˆn¸Ec£k0i0U#0€È4ÛàµcQÑP¤2ÒÅYøCŒàg0U²(ãó‹ Pó93–˜.Ñgß0Uÿð0U 00  `†He00  *†H†÷ aëÑwWk{/{É+‚ï,'ðã÷OË%ìOƒ‰V,ŽïÞ¹´ýì#TƒµCÄŸnÖx¾UÃJ»)þöÈÍ›ðÃV'ŠawãÉ2Dú*l/*>³oë(öê5ÀѨ¼ÿj0pVœîÌmNÙç1SS Q]íc„1cZ Fã.œú././@LongLink0000644000000000000000000000016400000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy7subsubsubCARE2RE4Cert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy7subsubsubC0000644000175000001440000000125310461517311032516 0ustar dokousers0‚§0‚ 0  *†H†÷ 0Y1 0 UUS10U Test Certificates1.0,U%requireExplicitPolicy7 subsubCARE2RE40 010419145720Z 110419145720Z0\1 0 UUS10U Test Certificates110/U(requireExplicitPolicy7 subsubsubCARE2RE40Ÿ0  *†H†÷ 0‰ºb‚{+bS(MǺ †µ9 @ë«a>ÜSPRÅîú†9£|0z0U#0€Ë »Š£‘ç2DýPP`5 jE&0Uç«Î(åhéji>)¥6cp¡š0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ G® r]õ?"ÂB4-êA޼DØ 3„ p °6d‚µæ›"²_w¾[™`-ë³Îñ3Ñ\>mM ø ^3 #ÕrŠ/qpÔ÷)t®…›^ô¢‹ß ŠÂÜ5¬æâs p§*ÓžûcÀ:¸¯J/ÑÈ_gX¼çqEr‰"Ç£‚&0‚"0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U3)茀L¦­'ƒ%gÅå¶vÌ0Uÿ0U 00  `†He00Uÿ0ÿ0¥Uÿš0—¡”0H¤F0D1 0 UUS10U Test Certificates10U excludedSubtree10H¤F0D1 0 UUS10U Test Certificates10U excludedSubtree20  *†H†÷ ƒÃw4¾Þ°í ÎîÈÙ¡¨m¢}P‹§.ÁÛæÈÈ(a©Šð>ÄüñˆB8·ÌBïè8?Ä,FH²½'¶Žkø%tÙ× ?qv\ЯÈ0¨ÿñèÔ Eœì÷BY"3‰™Þcwr‰<)šÔHVËzÛoüžÞXbØ‹././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy5subCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy5subCACert.0000644000175000001440000000122310461517311032262 0ustar dokousers0‚0‚ø 0  *†H†÷ 0M1 0 UUS10U Test Certificates1"0 UrequireExplicitPolicy5 CA0 010419145720Z 110419145720Z0P1 0 UUS10U Test Certificates1%0#UrequireExplicitPolicy5 subCA0Ÿ0  *†H†÷ 0‰¬ÃaÞ)Ì•e”ME†| \Jr*;›†OÜÀéEoXE„¬[S¶M‡—ë}È…Rò» [m˜Îž-7Ó:qzLpvú|µK’z-õp.ûiõCåÍ'Õ¹ ¶ÝjíQqK%bÃB9»¯ÎEÏÃôââï­ÇQუ|0z0U#0€Õâ†-ñ+hœ^¿+¸f™žCº0U•†‹‘6»zoâ„ïEŽ'k¸0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ ó¯yñD’/U¸«zï4¸ï=yó\<¨ª]ëbØk2mÉ!B韜ÚF¬(„üºî42‡ji}ÑÐÔsnjÀ€¾Ú¦´œj!¤uâ—ÿ7äÉΦ‡¹›¹U8†iU¦?çJ®»ºª"G†Üb¶ø½št`®—/P#././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidonlyContainsCACertsTest13EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidonlyContainsCACertsTest13EE0000644000175000001440000000124310461517311032112 0ustar dokousers0‚Ÿ0‚ 0  *†H†÷ 0J1 0 UUS10U Test Certificates10UonlyContainsCACerts CA0 010419145720Z 110419145720Z0c1 0 UUS10U Test Certificates1806U/Valid onlyContainsCACerts EE Certificate Test130Ÿ0  *†H†÷ 0‰¥yœÇPÖŽÔ#«r|ÒJýɱÄÚl¹G]RÛ^>{;4ÿõ{•T¹{¦A÷ŸÂï3öØvÙ‰ SÝ.Éî6’#UÌ4½•Û.‘\ááÒü,Rce‚5´T‚ ¨æ»Iç“{ŸîœÉ`¡ýÂÓA\ c‹G”-c‹³Ïð×£|0z0U#0€ó¡Fg{éY«ëU†“ȬäU·0UB±=$ÞÌ¥G§EXK¿v ˆÄã0Uÿö0U 00  `†He00Uÿ0ÿ0  *†H†÷ ŽÝâ,Úé{Ù}ëÑ€ü¶<— ÿâsº>²]ù¹M(œ'ýêŒ%פ‰5£—a><¤¸œIá^¡º¹ÐüÞ¿U7Valid Self-Issued inhibitAnyPolicy EE Certificate Test70Ÿ0  *†H†÷ 0‰è0C„8|¯eZÓžœ)ËW•Òç`“]£j˯ßűææÒÍ©Ø=¯TÞ;ª§öŒW0Ê!WSü$…FÝ{ÝÆžs VSÙ©;Ú÷*äèÚÖ;¯ôøÿÝI_æ\›&!¼m¯çઠ¬£]òyA|öŒEV(€H…³?"ïxèW£k0i0U#0€«ÈA&ÐÕLæ+Vgìï‚ÄÂÝòU0Uéj[mƒòŸ|j7nÓóHÙŒ.0Uÿð0U 00  `†He00  *†H†÷ i¤¿$`S|1ÌÃqÛθ°wº1x#'}Ã-÷Œæ*(=v#º­ΈúŽyÅ%õplµÆGk- ,ö÷dù Já š òxIû#cÎÈÁÚJoÌšÃÀÁ/æXT+[±SL lï®’I›™UUΔežefµ¬_Ÿþ•ørµ././@LongLink0000644000000000000000000000016300000000000011603 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidSelfIssuedinhibitPolicyMappingTest7EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidSelfIssuedinhibitPolicyMapp0000644000175000001440000000124610461517311032425 0ustar dokousers0‚¢0‚  0  *†H†÷ 0R1 0 UUS10U Test Certificates1'0%UinhibitPolicyMapping1 P1 subCA0 010419145720Z 110419145720Z0o1 0 UUS10U Test Certificates1D0BU;Valid Self-Issued inhibitPolicyMapping EE Certificate Test70Ÿ0  *†H†÷ 0‰°ßÓ—}Iì†V/2Jöe¯R›ÒðiB§¿å>âHèÖ›Ûž€E„è²Å*èí¹‰dÑÂôõ½§EôÎWÆÈº>€ZOohši­€š‘3Ñœf.Áž5M”/Ñúõ kB5_9Zý•üUdÎt–§Q?ÿ=H'È/ô]þ²Ñ£k0i0U#0€¶¦ÁêÀRS߆ýfIä´F¾c3 0UEzÅ™{us"î¼xûX)Ø$a0Uÿð0U 00  `†He00  *†H†÷ MZ ´@±UÉ‘ÃËèßÈtg¾Mœþd†ÆVìi>¤'·ÊBI}•@0•¿VÔšÛ¾?ŠHbjŒó¯i´rI¶Íà]¹Õúã­…¿Ší ¯µzò¨¸„rd pdª«¼:´5“ÐÕêßÔ/Ή|Þóø8oÇN«“¸Ù䆷š’mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/BadSignedCACert.crt0000644000175000001440000000116710461517310027464 0ustar dokousers0‚s0‚Ü 0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0A1 0 UUS10U Test Certificates10U Bad Signed CA0Ÿ0  *†H†÷ 0‰× Ž  Ϥ¥*¹!ï‚»XLPk1-ë¾D3²øBR„ëƒÀiãxKq=\ î嘊»»d̓âN ¬Ò‘ݱôî´NòdvmñgvºÎ?­MϬþáXƒXŽ*-úì Þ¾#›–2è…Ž—rÙƒz9+2Šþ‘£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0UBo— #yÁWž:¦ œˆØ0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ k ¾55†›.ìqóÿ.þeøK³UüÀñÁK=}ñöñ7a>Pþ}küǯ;M*«‹µ¨LL¿òÒˆzÝ@8ÓIsKꆉÃ%ëÚDÚ`+­Âþ+2¤ ï 6 Ý ™i“¯¸•ö.!@ÛCDUc4y0mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/MappingToanyPolicyCACert.crt0000644000175000001440000000126610461517311031433 0ustar dokousers0‚²0‚ 40  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0K1 0 UUS10U Test Certificates1 0UMapping To anyPolicy CA0Ÿ0  *†H†÷ 0‰šèfQ˜ª³Óó)lJøÝ,xbI{uå<¿YɪØO ÝÙœb3R0jÉ"Ófúþ÷P¦OÐ%¼\¦»ÒÚ<×Ú'ª=½C&;ˤ2ÙW¸²4¥ucÈÞ[ÇÚ9!Aü÷¿í…ÄÛf×äêeCZ<§ »a—£}ÖY´>£°0­0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0Uº€Ìz,§cZ«N?„ÄSU iú0Uÿ0U 00  `†He00 U!ÿ00 `†He0U 0Uÿ0ÿ0U$ÿ0€0  *†H†÷ ¸ÌÊWL~²™vÀ+Á)ÿ€¬(’ IG2©që'¼ÈYjS½ëf3‰@á²tŒ`@~r@Ðó9lk)GL„cg[º ŸaúB»dx{'êöcX:öyäüð¬Ä'¡âm'Ûè„"¯ Sç{±—X¿ŠAeD:¼(L¨Q././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValiddistributionPointTest1EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValiddistributionPointTest1EE.cr0000644000175000001440000000142710461517311032302 0ustar dokousers0‚0‚| 0  *†H†÷ 0I1 0 UUS10U Test Certificates10U distributionPoint1 CA0 010419145720Z 110419145720Z0`1 0 UUS10U Test Certificates1503U,Valid distributionPoint EE Certificate Test10Ÿ0  *†H†÷ 0‰Þ »;M >õ&ËWÀwŒê-3Æ|u“±e7±“iB¨‹á8@±#Ámü`™o‡ý§)ÞË)'¥ŠÑ>Ýõ–þ¢Œgý¹Zî=¢Yûàš$6P™­ºÊ:î[ ù_U`¢èqƒŽÙI¬q›¾»ø]r/_b’²žÝ¸Ô5Ú7'£ó0ð0U#0€žPWj…oøæA^ëzº0~ºô0UjàI… »¼bä‘KŒò•Çùñˆ0Uÿð0U 00  `†He00„U}0{0y w u¤s0q1 0 UUS10U Test Certificates10U distributionPoint1 CA1&0$UCRL1 of distributionPoint1 CA0  *†H†÷ hÚ'¯ÏM”#Ÿ€ ð2øþŽÿjd(žg†*À»õ¹¡›§WH–/&£Í RV)š²š -€,1‹¥Ô[.ÚF¦ÒD ™lÇ5*Æ ÌŽÖ÷èÐvN÷‚ÅRTŠ°Þ”·Wq\Ø^o³ `X([#ÍÏJÜoè²éøèËü~9Ômauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/UserNoticeQualifierTest18EE.crt0000644000175000001440000000171110461517311031763 0ustar dokousers0‚Å0‚. 0  *†H†÷ 0C1 0 UUS10U Test Certificates10UPolicies P12 CA0 010419145720Z 110419145720Z0_1 0 UUS10U Test Certificates1402U+User Notice Qualifier EE Certificate Test180Ÿ0  *†H†÷ 0‰ÆCwŠÑ±ÅJŸo¨üWÚÝbkð íWO])ÈY _ˆðÿŒ¶èu¾ dßW{‹lVðSÎCˆ¹ ™<¯èÙ2]íVÏ`Ò:ã +ž‘AöÇ|Þl™c£|0z0U]$îŠUòÆÉ²Â¿Šð²IO:³0U#0€tÕ$½^eˆá‹ ~êHNa0U 00  `†He00Uÿ0Uÿ0ÿ0 *†HÎ800-¨Yo1w¶ ì6›ëKa ¯Dírº)m"á½M'ö.;×ÖY^Ë%†"Ømauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/UnknownCRLExtensionCACert.crt0000644000175000001440000000120210461517311031530 0ustar dokousers0‚~0‚ç  0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0L1 0 UUS10U Test Certificates1!0UUnknown CRL Extension CA0Ÿ0  *†H†÷ 0‰²´ ?$ 6%¯óÐ,ó{°RéGõ?m@ö\¹ØùrS¶rO!ìÇ$É}ÝIz9 èFT=Žž­Á äEªnäã)¡ ΖÛâ­¶þ¦m7§­GHZ ÒÙû@ õõ˜‘ÔãÊïNãCHhVÑq)ܘIáZÃØM·eÓÔÆç#£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0Ujÿ˜ô7ýLô'Ýnèa¡U´«0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ Z"Üp´©° »aX0D®.*…ÓçËÌÛ¬·I;$ÒS*œðs®|te:‹îQN+ˆR°ùWž?㣜éÛù< Ê…y3MÈ˦QC½Y©åö…Ï xw­¼ÄÍÕöb4ëp·¤'à»V,9(}ø(À2¶Ø`•¼ù™æUoç+Í´././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidDNSnameConstraintsTest30EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidDNSnameConstraintsTest30EE.0000644000175000001440000000130110461517311032012 0ustar dokousers0‚½0‚& 0  *†H†÷ 0K1 0 UUS10U Test Certificates1 0UnameConstraints DNS1 CA0 010419145720Z 110419145720Z0c1 0 UUS10U Test Certificates1806U/Valid DNS nameConstraints EE Certificate Test300Ÿ0  *†H†÷ 0‰ÓÀ¶Ù›L¨9‰B;z…a=¬òW­`|O^¹”H‰9^ š²Uiy=üWSÓÆI)å¥y¼Ã\վؗݲ#1Õ¸Ôˆ¯¨5ð{Z¬ñzø0±s¼g|9_$ 55€!,u/VTFB¨U|3g0†Z¦ˆ— ’ûúäšsdø§l+£˜0•0U#0€uçgG «ñˆˆÛžÕRŽüsx0Ubi^4uK݇a¢ü„M  à0Uÿð0U 00  `†He00*U#0!‚testserver.testcertificates.gov0  *†H†÷ ¯T gafC²jÁ‹‚íîÑ©ç/ æèËÛR»ø¡î]ùµ·/X¹”^ÞÝR WÊ“*?bM³>åv—@)ûRèö¬¦Ø™.Z¡‹vzrçVÙ…·`7ž¢&†`9oa4•¸o1UóA¼äǽïË[Œ•1 ³ HZ˜7AMðŠ././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/GeneralizedTimeCRLnextUpdateCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/GeneralizedTimeCRLnextUpdateCACe0000644000175000001440000000121110461517310032150 0ustar dokousers0‚…0‚î 0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0S1 0 UUS10U Test Certificates1(0&UGenerizedTime CRL nextUpdate CA0Ÿ0  *†H†÷ 0‰ÑuKçÌxJÝëŠmÒðëÄ!l3!•´žÍ› ñÅL/ƒ<& @Ù©r*Œ] ýÉ%½U­Œq¯Ý‘oÕ p§ÙFê#ۯϛx؃ëaÏÂt#œÆX?%0å wÊÃ}×øùϵ³(çÇ£BÜ”¦dJÎa,KrÛ:Z›}Ì4´¸/í£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U†.`b´¤ˆ㊫x¢îÑ00Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ KÎ#$PÈt~aGõϯދ€!+½¾>#ÿê˜+)ˆ¥¥ª:©"@Ûȱ¥®y°ÜE…;qÜhŒ%*X½˜Ç Ö^)›ßç.?Á€dY;ç¥>¹%AšábsIøsXÄ=9dùt[ —ؘG‹$i«Ø8¶[¡]ðüze././@LongLink0000644000000000000000000000016100000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidSelfIssuedpathLenConstraintTest17EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidSelfIssuedpathLenConstraint0000644000175000001440000000123610461517311032440 0ustar dokousers0‚š0‚ 0  *†H†÷ 0L1 0 UUS10U Test Certificates1!0UpathLenConstraint1 subCA0 010419145720Z 110419145720Z0m1 0 UUS10U Test Certificates1B0@U9Valid Self-Issued pathLenConstraint EE Certificate Test170Ÿ0  *†H†÷ 0‰ÍÂ×ó»U¥ Ë·CAµãœÛÑmÂöm¿Î§ ÙI÷X TÔ«XÊvEœQòX~aí|„A4€äÎþÙ`K4ÊZpáÒ¡Ëô–ÞàÍÒר}â“ÞòÓùk%ê¸EÓª,|ÛWzÉ£NpmÞ(­_Pä? 㸙ç(í£k0i0U#0€UQÆd^ õ%ÆÍ’·š·™±80U:Z#ñäø$gÝØaÌ7Ä_]ë»0Uÿð0U 00  `†He00  *†H†÷ <‡\€‚d (ÓÃÔÊ5@_ÛÃqvAù´ÁÞ9Û q9Í(éµÚ>k K¦t0ÝÚì5ÔÜ€S„²UöŸ‰Ì?Y#§ ÏHÖv?­Å¿?ŽT„¦SŒÖ/ò×¥õŒ¿8b2ó…¯Îaƒª$+ý3…8N././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy5subsubCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/requireExplicitPolicy5subsubCACe0000644000175000001440000000123110461517311032347 0ustar dokousers0‚•0‚þ 0  *†H†÷ 0P1 0 UUS10U Test Certificates1%0#UrequireExplicitPolicy5 subCA0 010419145720Z 110419145720Z0S1 0 UUS10U Test Certificates1(0&UrequireExplicitPolicy5 subsubCA0Ÿ0  *†H†÷ 0‰Ð Î’:U¾`¬ú¢J¼Ü:³_=žim°¸Ž;<÷:5Eœ0´·œíN(N ÙeïŠ@4¢jU«†î§®ý´Èr™·z0… :OÕ&@•g+ýµÒó•j"[g¥#K‰àì[ÊâÄñ—BR[/Ô äÞ]6,þ/¹á?SÁé£|0z0U#0€•†‹‘6»zoâ„ïEŽ'k¸0U çb¨O/·¸?'È£©_{Fk§0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ ™¸'Ï®·Uþ3nÌ_Y+ì{ô9©L0/×`œÔ½’|E4ʼnK ðt†l©IòhJÊÒbKLt ª çVP}áß‹UºG6ƒoÅ ~Ò£L¸~€î$ŠÐæöž’Ý r‹¦½ÖS¼ÜÚ¬Êâ{2t6è[½ÿJ¸ qÏN½ï././@LongLink0000644000000000000000000000016200000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidRFC3280OptionalAttributeTypesTest8EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidRFC3280OptionalAttributeTyp0000644000175000001440000000135710461517311032033 0ustar dokousers0‚ë0‚T 0  *†H†÷ 0š1 0 UUS10U Test Certificates10U Gaithersburg1 0 U*John1 0U+Q10UA Fictitious1 0 UCA1 0 U,III1 0 U M.D.0 010419145720Z 110419145720Z0o1 0 UUS10U Test Certificates1D0BU;Valid RFC3280 Optional Attribute Types EE Certificate Test80Ÿ0  *†H†÷ 0‰Á‹&r|È© ˆóŠ“øV:B–mÃûë[N£d/uvÜörÕÃì5‚OK?±IÚ þñ1E¦×Ù h^ÁñFz»"Ç0àÚèu--?“N(ùŒleŽG{âÛ›õ½E~ŒÎ«B »IiϽª(ngÀwP–üšþ%½ £k0i0U#0€¯ŸÌ,¤cBWW×Wc_sÑ0UÔsn¥†½q¨ÏÜRÊpÍ …Ô0Uÿð0U 00  `†He00  *†H†÷ ¦çpš©vb¼._ÒC8¨„†‚€B;>†ˆtO×Ó(DzÍû„i¨ãâƒí…b=ÞYI¶ÓË 4ÃLýOˆ·û¶-Ólìǘð“öÜHÌgï =Cò•á+ÍŽ– ñn˜>~«Y#ù[™Ê“¥oûÖÄè<þH!ø¾¥cºP4µÊå././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/PoliciesP1234subsubCAP123P12Cert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/PoliciesP1234subsubCAP123P12Cert0000644000175000001440000000124410461517311031330 0ustar dokousers0‚ 0‚  0  *†H†÷ 0L1 0 UUS10U Test Certificates1!0UPolicies P1234 subCAP1230 010419145720Z 110419145720Z0R1 0 UUS10U Test Certificates1'0%UPolicies P1234 subsubCAP123P120Ÿ0  *†H†÷ 0‰Ò¥ ƒòt³L ÌÀ4q‚‹’Wú~Ë }Ø=Ü˃¨| èó'yšËÒI¡£7³dž"»k~þ‚;ÉܔÙý @ÈÓ5'­§ÛÕõùörô•U+e¾ç'‘ f‚rù4'p¦ÞÐtÕFu /Ï I{f2çIåÞJ;=ƒ¬¹H@ÿ¦¾€o@‡Izk†ë“Ì|­Ï¢‹ƒÝÄ'qT³ã‰õWh~¿ †¤;wë”ckª8võ ³¶ªb¢JÛÖ šâ“mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/nameConstraintsRFC822CA2Cert.crt0000644000175000001440000000125610461517311031665 0ustar dokousers0‚ª0‚ D0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0N1 0 UUS10U Test Certificates1#0!UnameConstraints RFC822 CA20Ÿ0  *†H†÷ 0‰ÃÙKϹûý€€mòÛÈ÷Š‚峫5xhѽßJ;ÊãÞ[Pò㢯 :Q€ⱌ©ÅšCø÷W«¤Ì[ÆÖ6æ ,:s©âæì«{–è¾›h$+&Ȫ)â¦ÎC**Ñ€åµÛ>•$N•5þê8Îw \Ž_`”‰£¥0¢0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U+6ftK“«1U‡¤1«6co5É0Uÿ0U 00  `†He00Uÿ0ÿ0&Uÿ0 0testcertificates.gov0  *†H†÷ °æ1—NqPÑC¼3*}Ï×j‡5nh(Õ:©“äËoÃáŸzÌN§èÂw¸íLJ„y}oh%T¥D[X@-~á7æÉPB¿ÜõØ0 ÉÀ]QSÛ?ûÞpÄ7Þ«P­ÆbÍŽ;ÉTÊ)¾"LG3öÙÈ,¸þ†ØkâÚ././@LongLink0000644000000000000000000000017500000000000011606 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidRolloverfromPrintableStringtoUTF8StringTest10EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidRolloverfromPrintableString0000644000175000001440000000130210461517311032523 0ustar dokousers0‚¾0‚' 0  *†H†÷ 0b1 0 UUS10U Test Certificates1705U .Rollover from PrintableString to UTF8String CA0 010419145720Z 110419145720Z0{1 0 UUS10U Test Certificates1P0NU GValid Rollover from PrintableString to UTF8String EE Certificate Test100Ÿ0  *†H†÷ 0‰õœhï u²$F^L4y#{³´çêK¡OX¡]µ¸íé=2#ê WÕŽ^÷¼ªàû0Í"o5£ŠºÆÆž3¸÷Yð9™üWåªbE ) {ü½6OˆWÙP~*8±ƒÑÖÙ–ê&$ªà(½Lö˜l‚24:}H°êÛ£k0i0U#0€7—¤Û4U5É´MÆ~K褉<0Ut¶C â¯AÒý,z<—ĺ#0Uÿð0U 00  `†He00  *†H†÷ 0¬xF+:ªÈƒ ?4ÌcÈûc ¨ÕBA’hoœ:² ß\÷ÉéÙîpSd±£qØÊ*EÈióü,ü’)™‡.|wÌP»ðgóü¤" 9R 4Í—Ÿè Ëiˆó7ni-„Êü=[PR¦´ÒŠî1Á(ƒ`ƒ—õçô¤ ././@LongLink0000644000000000000000000000015700000000000011606 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidSelfIssuedinhibitAnyPolicyTest9EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidSelfIssuedinhibitAnyPolicyT0000644000175000001440000000123410461517311032400 0ustar dokousers0‚˜0‚ 0  *†H†÷ 0L1 0 UUS10U Test Certificates1!0UinhibitAnyPolicy1 subCA20 010419145720Z 110419145720Z0k1 0 UUS10U Test Certificates1@0>U7Valid Self-Issued inhibitAnyPolicy EE Certificate Test90Ÿ0  *†H†÷ 0‰ªIWëX«ÚÄ.¹9;FY£h;ò•·MÔ7ýü[;õ:•‚årtΦceOGTa/ºpýeÖN)(€;„dù'ß»é)áGP ?#@ФÈöåÈ\2{k_RnÈl9(Þ÷U‡Ê M>Ø`AìÌ@Du)ežäø\‰£k0i0U#0€݉f¹âwލΤ‚² ¤Æ¦z0U—ø‹ë—A|ÿ8Qê2SŒû{Ô0Uÿð0U 00  `†He00  *†H†÷ ƒÛ¾œÄKRÙA\p-œgïPÅ*vüÕÔ$‚ÊZí¯ŸML˜ ³+â¦}γ$0Ë“¼kÛÒÁ’f|´™`a` “dTÞæž‚y “ GÅ—ãø%+æˆ{giAΚêÊŸøªw.¾‚)iaû~ùé;"œª»ChT†°mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/pathLenConstraint6subCA4Cert.crt0000644000175000001440000000121710461517311032165 0ustar dokousers0‚‹0‚ô 0  *†H†÷ 0I1 0 UUS10U Test Certificates10UpathLenConstraint6 CA0 010419145720Z 110419145720Z0M1 0 UUS10U Test Certificates1"0 UpathLenConstraint6 subCA40Ÿ0  *†H†÷ 0‰½øŸ*nj魒,;©ý*hYq÷“º©52àkqzwHëri×/øªí2ÖÌ«˜)N*S‹Ï)ƒÓÙ& ¹XÖÍðõ® VkŠîõ»ú§8¼ "Ìu ~¢øÏîÄ ±Úÿ·ä×XvQ¡rsL»ã`e8h‰Aç8]˜š™þü?£0}0U#0€´¤·¢®¹vµËd¥z…J0UH4T¦ìOÙ˜!ìÔc±#oíy>0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ GÙøì©¨»öÛà2jb´­Œµð»ŸóÕr}¡œ.´qç˜I¢•“¢_ûTÑÊü÷q†QúÑÇ£üYòfû¾Ì%;€—¢3£ciMÒ;ÖoÒe¤Ñ£'j”×ñáT*40Y£X¡]¨RXû<ÅĘI ±•Æ)¹:Äʰ<°mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/RevokedsubCACert.crt0000644000175000001440000000116210461517311027751 0ustar dokousers0‚n0‚× 0  *†H†÷ 0;1 0 UUS10U Test Certificates10UGood CA0 010419145720Z 110419145720Z0A1 0 UUS10U Test Certificates10U Revoked subCA0Ÿ0  *†H†÷ 0‰ã¦×Q±…5+5<Ȱböâ¤\4˜~ëžê"§åôźÅlàªDpK¹SôžN/ââÒ„ß«q'õ,ê=iLnç#K\ª×.K={Ñ9·c‰#ÉJ÷;)gƒ €Òò_òª†ó¥â$½‚º‡F,vÏö4ÍFØrª£|0z0U#0€·.¦‚ËÂȼ¨{'D×53ßš”Ç0Uxõ½K–³-æ@P2븴GT òH0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ PhràµçŸ0nù¥O].ogf&˜ï_`1˜“9pÙ²¢Äžg¤æ/2d>o†*9šúJm´ €BÊzH^gMØýF~ô®¤Ò·MönçVQD¾˜Êih–&èË)²†TJ+Sï#-ÅÂ(q_UÑ \T…ÃXº[Ç9Œ././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/pathLenConstraint1SelfIssuedCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/pathLenConstraint1SelfIssuedCACe0000644000175000001440000000121010461517311032205 0ustar dokousers0‚„0‚í 0  *†H†÷ 0I1 0 UUS10U Test Certificates10UpathLenConstraint1 CA0 010419145720Z 110419145720Z0I1 0 UUS10U Test Certificates10UpathLenConstraint1 CA0Ÿ0  *†H†÷ 0‰IJ )y`¹_yjÀrtö^Ÿv_"Ë+ñ–<²ì¢½¿ÍÑÕ¹m¨6Ì÷ëš®C š°7ÝîÖÑu ªâí ga—G‰:eÛ²æß¥Á)Ø/,›Z¡9Óµ›°B‡¿Ñﮉ6òÛ$*”¸:Ú-èçÊž)AåŸa1ðn0£|0z0U#0€Ús“àðe™}ÿ°&ö-15Y0U ×MÅvzþð5Å5Šf2.Ö7Hj0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ <ëa²ÿµEÀ7`Š'Z„ä®r”õ¦˜—ùKÜ­™ÎœOzaYXþÃ¥ù)5ð¢^{`ƒ¾Ï§à_aï[‡ÍÉhÇh‚“r_F½ÆéöÌ¡¦Ú=Mq¿ÃÚa= ¦š}'ÔlD’8;¦À”Æ]…ÂäÓ™}R«ŒÆ8<././@LongLink0000644000000000000000000000016100000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/basicConstraintsNotCriticalcAFalseCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/basicConstraintsNotCriticalcAFal0000644000175000001440000000121510461517311032362 0ustar dokousers0‚‰0‚ò 0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0]1 0 UUS10U Test Certificates1200U)basicConstraints Not Critical cA False CA0Ÿ0  *†H†÷ 0‰·›*칕½ä àÆt§]”ǪW%Ío‚ìÛh¿ÞžŒÀr!ý´áðŒ×—ßg Çïú–u8|… ~±èCUó±=$àpÕ0Jàuþç×ȯÄSmÕ-dõSȲÏ<JHë͈ÐkÍç£ëž|óóÿ8Ó™–êqjߣv0t0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0UÄ•âºvlÝã»KhýBEøTì[Í0Uÿ0U 00  `†He00 U00  *†H†÷ †8+¯‰Î·*“¯¹œ\ÍcЯÿ¸À­SW]Èßõ¦â¼ŠkìˆçaT4pDG[IJêa«uće1=æèÛ‰gÉϨM”7¶Ƌ“Ëqw øf>ÏP0ÈÚª×ç42JÍL¼¬QRg>n'Þy$?D<æCJ¿././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidinhibitPolicyMappingTest4EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidinhibitPolicyMappingTest4EE0000644000175000001440000000123610461517311032271 0ustar dokousers0‚š0‚ 0  *†H†÷ 0V1 0 UUS10U Test Certificates1+0)U"inhibitPolicyMapping1 P12 subsubCA0 010419145720Z 110419145720Z0c1 0 UUS10U Test Certificates1806U/Valid inhibitPolicyMapping EE Certificate Test40Ÿ0  *†H†÷ 0‰Ì3Ftt¾wž&ž)ætëêmdÔømã=¶x¸• š½ªtš¼E"Yó kzq`+oÞ¤€£¸[Ig!-ýÀðöw v ‘kû²·%Õ%¢Ó›º\œ 1ÁŸÒ×#è¿ õ ñI•Ùf‘±«-P†Ú9>ÜUf¸!»“ÑÙ£k0i0U#0€Z“Kï–ž®>C&¤y‹¢æ›!0U gÓØ„4ØY‰“ª-Yá- ö0Uÿð0U 00  `†He00  *†H†÷ ‚?ªpÊE³$Þ0&Eáœ܈·EÔËjý#¼jë´™žš úʇ¢KæK!̦Ù´XªB"uVãb/áëwȸVfô•¡‰ø@ ÑÓ,÷ð+Ã`µ¦¤\å­¦‚-F×Í“Z!ö³öt?…¯6Tç–˵)mô¿(÷/oϯc+-././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidpathLenConstraintTest8EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidpathLenConstraintTest8EE.cr0000644000175000001440000000123710461517311032217 0ustar dokousers0‚›0‚ 0  *†H†÷ 0I1 0 UUS10U Test Certificates10UpathLenConstraint0 CA0 010419145720Z 110419145720Z0`1 0 UUS10U Test Certificates1503U,Valid pathLenConstraint EE Certificate Test80Ÿ0  *†H†÷ 0‰ŸÙÔ6o.1Ý/\ú¨€l‹™ËÇÈO›¶¨½¦µÛ!á¨ÈÏ’×ï|í·e”ºæum[¹é¦O‚i“"yyCâÑîÄݧڛÛE5 Za »P‹á—a ¥™&¼îÔØwÞ)«à£³ø™˜¯†¡ƒí€ÖUð€÷`{ !êߣs9£|0z0U#0€! µvvÓ³*¬&üª¦OòÖ¡oK0UT)p¢M¸±nCqgÿißAÛœðÝ0Uÿö0U 00  `†He00Uÿ0ÿ0  *†H†÷ #.<6ÐøÛ=4fX‰ù†WPE?®:iQ }Ò²ä@°PóeÿeO€Þ7w—š8ÞáŒEoÐñØËÇMMš¼øôÖïM/EÁd²{ƒ˜zïß1„’~›ù9ë’â{£|0z0U#0€BˆÁx·CÚ¯½ÞºC§åµaÿò0Ugå Œl*»Um-è"ªKs+ˆ*0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ Dªû` ¿,$wê²è —²¿ø¼³LšuJÿCðÙ(ð ”ôZUnÆÌ¢{h!°×b2iåYR4tÉzÕÝ6ŸŽ•gž°ô8ä´k(JLüaŸ,-ÁS¤> qäOê'Á£zíÆ”¾…‹RÛ¸yFÞõw!¼fM Ž././@LongLink0000644000000000000000000000016600000000000011606 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidSelfIssuedrequireExplicitPolicyTest7EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidSelfIssuedrequireExplicit0000644000175000001440000000121610461517311032503 0ustar dokousers0‚Š0‚ó 0  *†H†÷ 0P1 0 UUS10U Test Certificates1%0#UrequireExplicitPolicy2 subCA0 010419145720Z 110419145720Z0r1 0 UUS10U Test Certificates1G0EU>Invalid Self-Issued requireExplicitPolicy EE Certificate Test70Ÿ0  *†H†÷ 0‰׉͸éx¥]tð È(gutj ªûA~ðQ»]y"%÷ÛЃC&ÖžÓ.àD5ˆ—¸yY ˆ9 ¢F2èZS‰ØïK]%`'ÎÌð/ÛüÞb‚% ¯Í U°®aVØ·« †Š™HþNÀ[à ùÏ6„Èë Ý#£R0P0U#0€Þ)ÖæãO—¨:¦êMäF_‚00U«ù2 ñoÐÚÊ̪쟿žŸ0Uÿð0  *†H†÷ 7R¨F5 ýºL4ýʼÀé=^ÞÇÑçÑ•dæÑÿÎ0â?u ÷åãÈ¢B€‰Ë´¨ýî”s¢ï¡7ÚÌxÝÜK!‡¥xùÃJHߺܠ›nÚU¦Ó£²°•%‹à¥Y’L44µ_®<鳌—g¡|Ie·ú(õ£òj'ê././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidpathLenConstraintTest7EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidpathLenConstraintTest7EE.cr0000644000175000001440000000121610461517311032213 0ustar dokousers0‚Š0‚ó 0  *†H†÷ 0I1 0 UUS10U Test Certificates10UpathLenConstraint0 CA0 010419145720Z 110419145720Z0`1 0 UUS10U Test Certificates1503U,Valid pathLenConstraint EE Certificate Test70Ÿ0  *†H†÷ 0‰ÐèÆ|RŠì‰ú㋤r±Áä2¨ÝdXKMN$@Ìßï›#›¦/߯ÀH æÄP y#• -£ÚC¼zѽœ7,¯iö↭é} Ì£š9qÐÞDñ:{-í׆TÝ*To|ËUB—E²á+Þ£¨åuæèy9ëC{Ÿ£k0i0U#0€! µvvÓ³*¬&üª¦OòÖ¡oK0Ulr’8F÷¾Cðîk`û/¡‰ÍiØ0Uÿð0U 00  `†He00  *†H†÷ '¨P2W¹íjG¼C,ïžBÆó%ì˜Ò>·aò«à€G*S"îz…‡}íGÈû:±+ÝM°i–| ð’Y2H‹à>I£ÿ´r€=„ü&Êz'õšæs¦-ìudh7s²~1P Ö¬{Ð[xXI¿`V «Ó De{/ƒ•¨sÅr‚mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/indirectCRLCA2Cert.crt0000644000175000001440000000117110461517311030064 0ustar dokousers0‚u0‚Þ U0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0C1 0 UUS10U Test Certificates10UindirectCRL CA20Ÿ0  *†H†÷ 0‰Û”;GZ„|G»Äü4¸´›Ê‡« ƒO#'<ÂC­YľËçý;’t2Nfmˆæœu<8Ñ%Øy£vVV~ MÀ€¡ c Öý,2t ý>äIû³ÿJꄱý¶<÷BØíûüòã–Ÿ/4ì“,}Þ-}Ù£¦°•žžDÅ£|0z0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0UÁ¯‚ÕÓOð1b˜¨OÀèëš—“­v§*Üz/g*®CD>¯›£¦0£0U#0€N.£çÙÝ‹§‚;AJÞ|Y#WNS0Uñ¸×ÝB4 ÀÛ +!ÊÐ> Ô0Uÿð0U 00  `†He008U10/-DNnameConstraintsTest4EE@testcertificates.gov0  *†H†÷ ]×ÌýźG’¹`L½æ^:àÍÂ=q81ÈCBj)Æk¤¥ûyΑ²ƒ^N¬´®Š5FjýßÑð—ßæh‹[xsçKÓÏ5¶Ç Ûêf…þQýí¬¼†7uªª]øDr?þ°m"kœ¤‚%sE /?­ìEìÕ’ú‰ð././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/pathLenConstraint0SelfIssuedCACert.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/pathLenConstraint0SelfIssuedCACe0000644000175000001440000000121010461517311032204 0ustar dokousers0‚„0‚í 0  *†H†÷ 0I1 0 UUS10U Test Certificates10UpathLenConstraint0 CA0 010419145720Z 110419145720Z0I1 0 UUS10U Test Certificates10UpathLenConstraint0 CA0Ÿ0  *†H†÷ 0‰èÀª µ1/p Ìa¹'Í$Ø.DJï‚£‰÷WsnÙ,³qò„OL1å ñbnUo;'µþˆ¹Òi}x3Är0'ˆ¹¿æsÃXŠ©‚6æÁQÎÐ$Ö»GÄbo­› o«ð\)ò›T0IC0 ÿl¤ƒû³ Û‡e¦VÆ4× Q£|0z0U#0€! µvvÓ³*¬&üª¦OòÖ¡oK0U8­%ÈBZ× éJôæ,¥S¤PôL0Uÿ0U 00  `†He00Uÿ0ÿ0  *†H†÷ MÀ×]Áxy0ebbÚ0-p©nÈlSÍ'?íM”“J½¥í-ò •ƹ¥àû˜ ÙyªŒÀ[¢‘ãZ5Kúšy¾ÒšVz$ç"~Nß²2pöÀ)VQ…«ŸÞŸÜNFzEÌ'”>|ÄɱËÒ^Ó!Sä7>žOå^5ÌSimauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/nameConstraintsDN1CACert.crt0000644000175000001440000000133510461517311031315 0ustar dokousers0‚Ù0‚B >0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0J1 0 UUS10U Test Certificates10UnameConstraints DN1 CA0Ÿ0  *†H†÷ 0‰œ½¯Í2¾YÁ‘Ú¹¥{7TMD$|‹óq5‘!U¶Çàq@úÏ~‚êš–j¾,cÃCÒ]éAgÁ˜‰¦ÚñÔ.¥1dŽG÷Lß ¬´åÝØ’UÆü?¿†£`e<×+¿ÂòÇÕSgZªV'Ë÷óºã^èc+5P£mž§èue± ½£Ø0Õ0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0UN.£çÙÝ‹§‚;AJÞ|Y#WNS0Uÿ0U 00  `†He00Uÿ0ÿ0YUÿO0M K0I¤G0E1 0 UUS10U Test Certificates10U permittedSubtree10  *†H†÷ ½Êš¡e`¦¬„‘•¯ÆŸï²¬Q2Ôžìðkåß·`ïF’}?éwŸò.oÜÄBj¾¥3Ì~r€L®5UA½ƒ¥VØ0(mÚŒ£ãËÍÐgxuL/°`&™[ˆÀ}ÿíˆÊtÓ~5~˜ÈJ̧1 \UíØèogÌœDÑì././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidURInameConstraintsTest36EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidURInameConstraintsTest36EE.0000644000175000001440000000132610461517311032042 0ustar dokousers0‚Ò0‚; 0  *†H†÷ 0K1 0 UUS10U Test Certificates1 0UnameConstraints URI2 CA0 010419145720Z 110419145720Z0c1 0 UUS10U Test Certificates1806U/Valid URI nameConstraints EE Certificate Test360Ÿ0  *†H†÷ 0‰¼NÆ*/\«bèG‰Ã+jê˜B2Âw›¡XÅ„bu½ ±8ä릫›$Dh¡Y[µäº$Žæ¾Ýªí{)ü1»ƒéE)Á?…KÎ>HV€ä£` ›)¡>þR YDBðO“+ÛÏG•PÉ4'só=>GÂæ»ÕY·-`¯Ç'úúòy†£­0ª0U#0€†¤UcñŒ #§§¼ËlªmÐZÆZ0UÙ~˜è*n—Q4ÄñXmZy0Uÿð0U 00  `†He00?U806†4http://testserver.invalidcertificates.gov/index.html0  *†H†÷ mÞÖNÄaØXG÷€ÄÙ•z¶9¢…Š­‘?2H¤Õ>]h Káä}ÛÉV-aæåoK%[Äu_WªY3ÕÚ–pZÙHÃuƒÿzŠH¥X¿€nË8äÛM@Þ¾b0q@/—ßЉŠ^ÄœžBÖ']à‡›ð‘ø†r…—?q”mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/nameConstraintsDN3CACert.crt0000644000175000001440000000133410461517311031316 0ustar dokousers0‚Ø0‚A @0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor0 010419145720Z 110419145720Z0J1 0 UUS10U Test Certificates10UnameConstraints DN3 CA0Ÿ0  *†H†÷ 0‰¶.Nuú7¥'ú§È†ŒÓÁ)J£:rÈÆ×K#¦ ﹚e–h˪…ÞêØ–‰çµ÷¥ËÃ'oåà÷: Y5—~iÔH”úÅPò˜9ÕK¿4 Ž$Ñ? ÏÂÂg‹0ý(·+Чþ{Ñ¢,pe©“8×ý(%nùcœÍ6!aã§Ñ£×0Ô0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0U‹ã¸XVŸjß=Ø;³6á˶Ê0Uÿ0U 00  `†He00Uÿ0ÿ0XUÿN0L¡J0H¤F0D1 0 UUS10U Test Certificates10U excludedSubtree10  *†H†÷ ¹.‘nIo±tF ìLjWÙ_ÇçáIaþ^® R¢ùg#b(‹‘t±„+®ÈÁ˜?Š÷é&ÜK‡[Œ©÷ËÌ@ñYŠ>™­T•øz¨¯ð.„€lÅk;EkfÃ6Ä©R×*ù±ŒkP×Þn~¡Z‡ðÝP\š ¢YÀmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidRevokedCATest2EE.crt0000644000175000001440000000117610461517311031071 0ustar dokousers0‚z0‚ã 0  *†H†÷ 0A1 0 UUS10U Test Certificates10U Revoked subCA0 010419145720Z 110419145720Z0X1 0 UUS10U Test Certificates1-0+U$Invalid Revoked CA Certificate Test20Ÿ0  *†H†÷ 0‰Ù©-Bå*búÒ¾äÑŽo»õöõT !6AÝ­ý5^n!•ïZÈ=PHf¶í̤ƒ32Àzä ³×:»ŠõÁÕÆ#\;¶Ç;[lC(ˆþ'_¬ùu®Æà›y .²ü7‘€åöO¦ÖãàÜX©2×FíÀzª{¶tã?ƨGÈ>4Uº‰y˜—Þ´¹êI.ÅP!9Róph.XGÛùX6Öf4W¦=P=£k0i0U#0€jÿ˜ô7ýLô'Ýnèa¡U´«0U?•ß2…k'^§š¨\3Äñ ¯gî0Uÿð0U 00  `†He00  *†H†÷ 1a¦W V·ûé <0hômîQ2SÒ‡î”X¦<“’uò{(H7DÔG°Ñ^ÿצQAÖ½>Éh£=VõA{>xJ ÄŠ»ò¿ãÒÿù¨ÐÓy¢ƒY¿,Z£ Ýá(ÝulÐXõ™‡>ñNaë´5NàÊÿJ|Š4ПÔîQù~ø././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidIDPwithindirectCRLTest24EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValidIDPwithindirectCRLTest24EE.0000644000175000001440000000134410461517311031702 0ustar dokousers0‚à0‚I 0  *†H†÷ 0C1 0 UUS10U Test Certificates10UindirectCRL CA20 010419145720Z 110419145720Z0d1 0 UUS10U Test Certificates1907U0Valid IDP with indirectCRL EE Certificate Test240Ÿ0  *†H†÷ 0‰ß>6¦:£'’6¤Ez²fäžDzXÐ!€Ú-ò£1¬¾êûƒ1~ñÙ˜{ø”\‚ÝëzÖ^%e‹j¹Õ£}­Ñ)üßü ˯$—ÃÚôÍ‘665Ò(5vÖ1¦«Î£ÿ ‚/¯2…êDã†Ù鸀 -ôOÛã)ìÚoe ãÂ0¿0U#0€Á¯‚ÕÓOð1bÜ;ÜíÌ ÚßG@úþd¹Î†././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValiddistributionPointTest7EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/ValiddistributionPointTest7EE.cr0000644000175000001440000000142710461517311032310 0ustar dokousers0‚0‚| 0  *†H†÷ 0I1 0 UUS10U Test Certificates10U distributionPoint2 CA0 010419145720Z 110419145720Z0`1 0 UUS10U Test Certificates1503U,Valid distributionPoint EE Certificate Test70Ÿ0  *†H†÷ 0‰²d¨Š_OÕ Æ*r“ò)\rP¡TÏíO>ëD5è$PôìCíÑ ™1xþuH5öK ûtM˜é¤ÛççŤa+^Þ-µ(,yq2$GêЇ^=ïAÀqÂß²ï#Û[¾óªªÉ×›Yb ÜÃm Áó¿jò Õç܂ܯ£ó0ð0U#0€:4‹ãvXXć˜}~Œ¬]¹N0U‘\;L_É%*ˆ¨ÔÀX»dí50Uÿð0U 00  `†He00„U}0{0y w u¤s0q1 0 UUS10U Test Certificates10U distributionPoint2 CA1&0$UCRL1 of distributionPoint2 CA0  *†H†÷ 8û¿| ],ÿ­H]‰6çä~Ù+Ძn9;áþáAɾfËÆØ‚PÂ@¢uw‘ÿ 5¾¢5c†5h°nJ¤KêǽEŧ^_qÓ®<ö´"«Ÿ«ÿ†¾š_‚UqÕŽŞ̌yå׸+þgX’Þ}´²]í¥RÀ¢¹././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvaliddistributionPointTest8EE.crtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvaliddistributionPointTest8EE.0000644000175000001440000000136010461517311032307 0ustar dokousers0‚ì0‚U 0  *†H†÷ 0I1 0 UUS10U Test Certificates10U distributionPoint2 CA0 010419145720Z 110419145720Z0b1 0 UUS10U Test Certificates1705U.Invalid distributionPoint EE Certificate Test80Ÿ0  *†H†÷ 0‰¶¬“ö²Þ ¦d±¸¾p‹Nt85d0dÓ9ÑEì¸qËXZI_ =lÖÛ@Kªðˆ(=†Ÿ-Žl›ÕeÝ eðÏò­Ìbñ“{TÁÿzèB‡ý2¾ì;Œ‘f»ÚæôôS±˜;DÊ{¢º±yú1‰ðZ ILÅ©.[4â¸!5£Ê0Ç0U#0€:4‹ãvXXć˜}~Œ¬]¹N0U°ÄÜlvIÂß¾j{z½ÃÚcVå0Uÿð0U 00  `†He00\UU0S0Q O M¤K0I1 0 UUS10U Test Certificates10U distributionPoint2 CA0  *†H†÷ –õÑ·zqÖþSùlÚ¨š^rœVÍ©þ—e«0./ „ÜÈ\½ƒf]£í¹²S ¼¦Ç§I»{ªàU0¢}¥µä5ï`'m?÷øÓ°Jsp#Ÿ·Yo²QÏkFæ— ]yÂ[<¿7fÚb¬Fßàp유_ ›Ôc€b-üËmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidcRLIssuerTest32EE.crt0000644000175000001440000000152710461517311031224 0ustar dokousers0‚S0‚¼  0  *†H†÷ 0C1 0 UUS10U Test Certificates10UindirectCRL CA60 010419145720Z 110419145720Z0[1 0 UUS10U Test Certificates100.U'Invalid cRLIssuer EE Certificate Test320Ÿ0  *†H†÷ 0‰Æ4­Xùã˜Fnt‹²®‚jê@Ë|ó”Ô‡IsÿkÁzv:k "§îL²!ðmþg‡· ô›òéìN¯É–ß¾²¸å>DÏh fea„°Rßw?/‹u'ЄùnI<Ð8a´,;øƒ.©ÌCrÏE%« E”èÔiPÞ‘©Ïÿ£‚=0‚90U#0€Â>ªNÁ3ŠªYI±f¢ð}0U!D¥3ERf ·n+˜g­Ûx0Uÿð0U 00  `†He00ÍUÅ0Â0¿ t r¤p0n1 0 UUS10U Test Certificates10U indirectCRL CA51)0'U indirect CRL for indirectCRL CA6¢G¤E0C1 0 UUS10U Test Certificates10U indirectCRL CA50  *†H†÷ ¦uêx³·hBVJßùgÉW[~´Wõn΋Œ!B¡ý@6œF}-W†œ …ítZv5­p6$rŠ8÷`0hSŒZÚxÝoßd áÑQÓÉ.Ihï (¢H}»*CüéV¦\¿îµá‚×Q‹.Äš¹mySÖR"P†ùëzmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/certs/InvalidDSASignatureTest6EE.crt0000644000175000001440000000147310461517310031562 0ustar dokousers0‚70‚ö 0 *†HÎ80:1 0 UUS10U Test Certificates10 UDSA CA0 010419145720Z 110419145720Z0^1 0 UUS10U Test Certificates1301U*Invalid DSA Signature EE Certificate Test60‚¶0‚+*†HÎ80‚½°z<´I}æÉ‘Íc*ÏEhey%©e¹P˯j²ýÁsÞ™¬eÎ'óî> 1êØ¿{¶(ÿeFåÍ¥)ø/Á€uppA'6[:¡{K²¡VýªðÎBå6ï4Tw)š®cªI÷>®áÂùö‰2ÿ™h{ùÎ4]ñ|)d{4d­—c BÊŸ¸ ~:å3¤.[À`_mCF<‚ð~ŠÂF½:@ë§n-Õ„fxí0¬®M×hñ ønöó:¥•Ù)¼‘A¶n•õ¡;ò¦‘$Ttƒf NþKâ€"õÚ’¹ÉÍÜŠøû}©¬•øÉÌn"X±µ9,÷ljÂS÷hñŒ¸!ÌI“7ä/ó·XMJ„€-i¯Ý0+[C»`^ƒ ÐÎL9êö†'èìÿ“tʳ¦¨Ý‚áÒFŠºŸ'?ßwg€ N*ɘ¸)há_oæÄ5¬ökƒíô2õÓš»{™PM*¢QÎ…WR”A2µé$Îl`Q-zÝ  Š¶Bùœl|w9•ëM.Ù‚ò‚7E Уk0i0UÜfi9r§°:ß}Ó0¿N´~ ñ0U#0€tÕ$½^eˆá‹ ~êHNa0U 00  `†He00UÿÀ0 *†HÎ800-¼n£&ÒÅ9VÿÞ|QÞ³ ÂÔ^ KìçMêÊãù!çv9ÕÜlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/0000755000175000001440000000000012375316426023741 5ustar dokousersmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/requireExplicitPolicy0CACRL.crl0000644000175000001440000000051210461517311031612 0ustar dokousers0‚F0°0  *†H†÷ 0M1 0 UUS10U Test Certificates1"0 UrequireExplicitPolicy0 CA 010419145720Z 110419145720Z /0-0U#0€wj³dõ±ìQz-e†ÿ~ JŽ'0 U0  *†H†÷ x”—ù­¶ŽeÝmìe»s7šfQ×—¶1ûb¤J!; —zMªÎÒ•÷6ewQèÕ ·b¯v8·wr, Š|1XÏÆÚ$eï~×!–¡òbÜ]ú7™{4¨ÍG¤Ë^ÿ´Xip÷;.|w´3‚}TÚó]Ü_¡–öÙ Ê› ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/inhibitPolicyMapping5subsubCACRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/inhibitPolicyMapping5subsubCACRL.0000644000175000001440000000051710461517311032133 0ustar dokousers0‚K0µ0  *†H†÷ 0R1 0 UUS10U Test Certificates1'0%UinhibitPolicyMapping5 subsubCA 010419145720Z 110419145720Z /0-0U#0€ßjkGÚKwºöT´R”&Ê0 U0  *†H†÷ 9/ðÔÊ:p—RF°íŽ::’ã^õ3Ls ¨I®ÊØoáì#6Ÿ•è©Ò±l-™”!òk˜Èôçð¨&äXæ¡ôhÜ3¡ÆÅ§¦}NÏn·rq¢jÒååá¸×ˆ:¨Ò罤ÎÿÊõ~}ý,L/–‡ØKº5£câ‡Í•.É4—œþ0mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/BadCRLSignatureCACRL.crl0000644000175000001440000000050510461517311030107 0ustar dokousers0‚A0«0  *†H†÷ 0H1 0 UUS10U Test Certificates10UBad CRL Signature CA 010419145720Z 110419145720Z /0-0U#0€û ýº{æ8H™Z`UP—ª6lC0 U0  *†H†÷ h}ï›,'‚Â.”)"¸ôñÇD…^„Šn7\„^pµõމ ¶HQœ”!ñ!æ8P¤Ã…L„éëö·j¤Ì¥B¯šÙÀL˜Ã.÷„Øú$Kh< Æ|`xÖF7h(OÁ·20mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/inhibitPolicyMapping1P12CACRL.crl0000644000175000001440000000051510461517311031665 0ustar dokousers0‚I0³0  *†H†÷ 0P1 0 UUS10U Test Certificates1%0#UinhibitPolicyMapping1 P12 CA 010419145720Z 110419145720Z /0-0U#0€v0ƒ_£…K{7 &f0 U0  *†H†÷  ¶Ÿöh "_$sÀ¬¼‹†X{—­8Žpa|8! rµA<¶š“woãætg±•Vò¾R!jÞ÷¿Ù,ÜùºFù’$u¢‹:yÚÊÅr¤{á¢÷’ë¦t¼ºbQÖŸi¯ 4=CçÚuy·n®•Ë}à:P~Á~mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/nameConstraintsURI1CACRL.crl0000644000175000001440000000051010461517311031003 0ustar dokousers0‚D0®0  *†H†÷ 0K1 0 UUS10U Test Certificates1 0UnameConstraints URI1 CA 010419145720Z 110419145720Z /0-0U#0€¬ºK _â¼a®áÙdZy¾EÖ0 U0  *†H†÷ Hbþ×LóšxMà–ÖK³“#–m¶k5%ã” þÈË=\{èóÏÃÛ–ÓbN·[“ÃA”èuÒŠg¿ó°%"™£LŸ‡± ¦·Èò+å²M´á¼Ã…·T)è~SíÒ̧•?q2]: ¡þ¯ºEAgûFjûx&q././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/BasicSelfIssuedCRLSigningKeyCACRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/BasicSelfIssuedCRLSigningKeyCACRL0000644000175000001440000000057110461517311031763 0ustar dokousers0‚u0ß0  *†H†÷ 0X1 0 UUS10U Test Certificates1-0+U$Basic Self-Issued CRL Signing Key CA 010419145720Z 110419145720Z0"0  010419145720Z0 0 U  /0-0U#0€rÊ3C©ÄQ«cÚD‡a¤ô¾G0 U0  *†H†÷ \Í£=žd÷dsœ,9âç׸>›ܘŽZåG1ý~§ÕŸR1È÷Т„?wÇñº~$b­®{ÿðâÎUõ'ÓÌ$Ȧ¸ÎBáì‡LÕixYÒ3”;'h€=o=¦ÇŸ+9Ÿ×Ãëw½Ì–³­$h™Ñ¿Œ>*ømauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/TwoCRLsCABadCRL.crl0000644000175000001440000000055410461517311027106 0ustar dokousers0‚h0Ò0  *†H†÷ 0K1 0 UUS10U Test Certificates1 0UBad CRL for Two CRLs CA 010419145720Z 110419145720Z0"0  010419145720Z0 0 U  /0-0U#0€0ÈéJÞC&A#ŒSSŒ³GŽÊ0 U0  *†H†÷ û¨i ªŒMòôjk8®Ú¸À‹Ò#–:ýÔ‚ÅÞVºÂYž—gÑKÖ$@˜K±Â…<¾ã¾(š>V˜Lh6¨ëæÕRÞ0Iàv ¿¾>š²øÞQðôÚYHÅŸG!2)Ùðu¦oÑGÍ®²K‹0ÔîÄ*Õ„¼Ê±+©Ó7¾öÑ`ArßÊÕ tZè§½2%ËèämǾ%ÃcœCfJ÷êფ¿^p{£·É6ü™…XfÒ An¨.÷E6þq>Äzˆâ ÂÉÝ0¹DH*ZÌáIš¦[Äl*ð?;ê]«p././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/onlySomeReasonsCA4otherreasonsCRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/onlySomeReasonsCA4otherreasonsCRL0000644000175000001440000000073410461517311032304 0ustar dokousers0‚Ø0‚A0  *†H†÷ 0G1 0 UUS10U Test Certificates10U onlySomeReasons CA4 010419145720Z 110419145720Z0"0  010419145720Z0 0 U  ¡0ž0U#0€?¾@ñ÷kû°YäZà—Té0 U0oUÿe0c \ Z¤X0V1 0 UUS10U Test Certificates10U onlySomeReasons CA41 0 UCRL2ƒŸ€0  *†H†÷ =ÙµJ˜.ö„ìå×Õ E^‰'Ãüzê§>=¼ÿ&ñis¡/Ö‚6÷˜}&/†X´_΄mïJQè@JQ²WF¶vḈrÈttv8D‡ˆÂ¥Î4Ë©¿¡oé–ã§«?¾¥`²Kâ»ø„Nëi®òZéx¬8EMmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/onlySomeReasonsCA2CRL1.crl0000644000175000001440000000052610461517311030504 0ustar dokousers0‚R0¼0  *†H†÷ 0G1 0 UUS10U Test Certificates10UonlySomeReasons CA2 010419145720Z 110419145720Z A0?0U#0€ª¡ïØ\Ø8²3‡ç“EAЊ{0 U0Uÿ0ƒ0  *†H†÷ ¨•˜¡4äý´¿”HÕB¥Ìá…UeÂçË3¡ýØÍ’PË¿êl⮼UHÏJ)akBL5öI0ç7”§8¼»<ŒÃê󽟠2¢¹ŠÏlëu×]_ñþ—÷Ø3èž!¶Žº*cÁ Wdݘ4OÛ¡Ñw‡ô°aÁ6Èmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/TrustAnchorRootCRL.crl0000644000175000001440000000047510461517311030120 0ustar dokousers0‚90£0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor 010419145720Z 110419145720Z /0-0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0 U0  *†H†÷ Ç2ê!ÿ}ÔóÙÅ©ê5!Òò5ÓäSœޡ-%Vd¼R Sij¦&8½í1©{Áè©å—‚»>Šùyì.½L1k¶€Êºº 5 Ö<1xþÓ=il:äMn„!ÓÃ`™b©8%/~_/ÌY×}›/Ø çpÙd÷8mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/PoliciesP123subsubCAP2P2CRL.crl0000644000175000001440000000051410461517311031143 0ustar dokousers0‚H0²0  *†H†÷ 0O1 0 UUS10U Test Certificates1$0"UPolicies P123 subsubCAP12P2 010419145720Z 110419145720Z /0-0U#0€‹ì9ó£®n9pdh+MT,ŽÀ0 U0  *†H†÷ š|8Œ• âŽÆûLCõOÆKì.»¡‹gw?UŠí*ðN |èØÁ&7G(ºåGÞyt0´¡f½Ž}šO7Rq­ÆP±ûÎë ðXT¨"QŸÕÓ’ 5öâKލø8£QûÍ’K-@/ù¹ÿ%Mð} ãë”$þíâ³~üûÁNÏ0mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/inhibitPolicyMapping5CACRL.crl0000644000175000001440000000051110461517311031402 0ustar dokousers0‚E0¯0  *†H†÷ 0L1 0 UUS10U Test Certificates1!0UinhibitPolicyMapping5 CA 010419145720Z 110419145720Z /0-0U#0€@¿p.8ø¶¯§ZÙ²CY˜õL0 U0  *†H†÷ o;lªQÏ ?ŒÁð` 6 ‚þqJ™]÷Í30,å ‹n~yoVšëÌ IDÀ3*äOKZHGs8]mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/PoliciesP2subCA2CRL.crl0000644000175000001440000000050310461517311027741 0ustar dokousers0‚?0©0  *†H†÷ 0F1 0 UUS10U Test Certificates10UPolicies P2 subCA2 010419145720Z 110419145720Z /0-0U#0€që/íQ¥ÿ…IŒ|öK¦›¤”0 U0  *†H†÷ Éa+ØÛbR6g…Ò¿yNDL;.¡XG»-²?bÕœ}Ú½4†]DòìBØË7‡×s;Ñ‚ãé,ÖÛoõóÛÔ¿¿ªzQvÖVåö'TT‡èZá[dSÞ1iÂk¥þwŒ¼òBÖ­„jõ»”Àd¯J.hd/õ\±ÅÏmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/PoliciesP2subCACRL.crl0000644000175000001440000000050210461517311027656 0ustar dokousers0‚>0¨0  *†H†÷ 0E1 0 UUS10U Test Certificates10UPolicies P2 subCA 010419145720Z 110419145720Z /0-0U#0€äXJªØò‘õhž…#n 4ëÍ0 U0  *†H†÷ Ãký±ÉIþ§v3‡$÷ßA1¸7ò<®ŽÇ¡0ê¦S™J‹¡|®ÁNXOeâ ë Ì-õ¢ºîd:±Ÿ+Ò@'io2•ú…÷Èv‹Kz|úT„×ÿr#cFU äÒ8ƒ,W»`!ÜD j•­ðµW‚hô 7ô×F“ÍÄÆýÁmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/inhibitAnyPolicy1subCAIAP5CRL.crl0000644000175000001440000000051410461517311031666 0ustar dokousers0‚H0²0  *†H†÷ 0O1 0 UUS10U Test Certificates1$0"UinhibitAnyPolicy1 subCAIAP5 010419145720Z 110419145720Z /0-0U#0€)cÞæÂ‚={_t s¨°oh0 U0  *†H†÷ Ï©ÒnY"%k*ß&¬îdÏ-e­C"ý{ì„ÀN±Ü®ÓEº‘-¶|¾¥€\Ö≀þTŽøÝä ÆÂ$na”DjþMD¬¾ûFLÇ;$6ÁÕœ‰>¦øó~ yeh Å0LÓäÁÈ~-še¶à„,²Xâü–•Ëáåúè›mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/nameConstraintsDN3subCA2CRL.crl0000644000175000001440000000051310461517311031446 0ustar dokousers0‚G0±0  *†H†÷ 0N1 0 UUS10U Test Certificates1#0!UnameConstraints DN3 subCA2 010419145720Z 110419145720Z /0-0U#0€ H¾(qjH$ <âJÔ*â×5ï0 U0  *†H†÷ À §(€ ,qfMg‚ìÇ0OH)þÔ ‚ò\æï$‹Ÿò¸Å;à†SôµügÛ²EwŠxGëc»C¸ÀÿÊ{Õúßçz¥9çíJÙmýÑx¡Dðqô‰LRÕï™\Yë€Ä]íH+ZU ÑßJ¥Iiñg¢ªÎ™›tìÚ`Ù>E£l[GúÐmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/onlyContainsCACertsCACRL.crl0000644000175000001440000000053010461517311031061 0ustar dokousers0‚T0¾0  *†H†÷ 0J1 0 UUS10U Test Certificates10UonlyContainsCACerts CA 010419145720Z 110419145720Z @0>0U#0€ó¡Fg{éY«ëU†“ȬäU·0 U0Uÿ0‚ÿ0  *†H†÷ T'¬üµz““çòéc÷R­ LRbæöqrô¿ÛRÖO‹†hJÊJý¹~]zßHg6›1Ý)²Ž¶ºÄ 1WO~ÆÑ< å ÂÆ [wÊ•71}¨M®`O<´ï’ñ_¡-ÿæ.ˆN,ˆT¸á¾Nl"7 ²a!F6)mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/nameConstraintsDN1subCA2CRL.crl0000644000175000001440000000054710461517311031453 0ustar dokousers0‚c0Í0  *†H†÷ 0j1 0 UUS10U Test Certificates10U permittedSubtree11#0!UnameConstraints DN1 subCA2 010419145720Z 110419145720Z /0-0U#0€Õ¯k( ­Hl ‚*ÿÒh /mW0 U0  *†H†÷ ¯õsG +ÎÁ\‚zíÍÎU…4~Fà”~Œ'œõR‰U[üé2³TuÀ­Š·ãú^s_&Ênâhä™L8;V%΂¥z?Ťx‹Òü¦OòmÖ_i˜¸Â OžGýf>¬äûUóK¿BTÎF¢\ýÄ_ØaZa›¡,¯ ¢.././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/requireExplicitPolicy7subCARE2CRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/requireExplicitPolicy7subCARE2CRL0000644000175000001440000000052010461517311032064 0ustar dokousers0‚L0¶0  *†H†÷ 0S1 0 UUS10U Test Certificates1(0&UrequireExplicitPolicy7 subCARE2 010419145720Z 110419145720Z /0-0U#0€ëh Æå/Ãó QK³Xsœ9?K0 U0  *†H†÷ Ü$ ›º%Ùû °æØœaÑ ùùØ †ûêäZÆ SÆâ8xpo9%\µO·\|´Ž z³n…ɈšÔò‹àIð†~·+¢¾Äå6´G;Áë4>¡—Η„éyrÁ¡Lz³x™—ͤí0,ß6dFÿÁ a&‰Ç@²mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/pathLenConstraint6subCA0CRL.crl0000644000175000001440000000051210461517311031514 0ustar dokousers0‚F0°0  *†H†÷ 0M1 0 UUS10U Test Certificates1"0 UpathLenConstraint6 subCA0 010419145720Z 110419145720Z /0-0U#0€Hx¹ÌQ1t9*7ÂD“~˜i€0 U0  *†H†÷ D4öÅÀ÷$B3¨äÊtq”v“çK|£‹¬®«F”ö ˆ¶à–«j’·mKªj°XX§~ÞÁ&Ô à{©äÝsÚ°Ì a«ÄÇËÂáfùò*ÂÉY_Ætø½»’$w4#}•™¿5àoÏ*¶)žYÒ /D%fjéZí™3µ>eiW•mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/PoliciesP123subsubCAP12P1CRL.crl0000644000175000001440000000051410461517311031223 0ustar dokousers0‚H0²0  *†H†÷ 0O1 0 UUS10U Test Certificates1$0"UPolicies P123 subsubCAP12P1 010419145720Z 110419145720Z /0-0U#0€#‰œø#aBè–›5j¼0½^Š‚0 U0  *†H†÷ 8SrÀËãù„}IXÄs–a?}xG‚ú¾+šU™Ôs­I£<^™f ôßÙÃÓau öĸ)çãé7ó àt ïŽŸú ¢Š:»ræ O*+"]VèûvýbDƒ¨~SMjJ ”d…Ó(WŸçWe™7™ôR®Þ^O\éòÌmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/indirectCRLCA1CRL.crl0000644000175000001440000000056510461517311027427 0ustar dokousers0‚q0Û0  *†H†÷ 0C1 0 UUS10U Test Certificates10UindirectCRL CA1 010419145720Z 110419145720Z0"0  010419145720Z0 0 U  @0>0U#0€lÁ_ا-à†“\ ðI¹%[è0 U0Uÿ0„ÿ0  *†H†÷ l«‘K8bŽòH†¦¸¹ÃÂ(åÁØ;ÅŒobD7ö/Ô¾ÿ»(¤›!ÄïI›*èZï9‚îÚ—_w‰¦>B&w²—ÄÛîÊŒ­ÒÏ>‡èmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/deltaCRLCA2CRL.crl0000644000175000001440000000067110461517311026716 0ustar dokousers0‚µ0‚0  *†H†÷ 0@1 0 UUS10U Test Certificates10U deltaCRL CA2 010419145720Z 110419145720Z0"0  010419145720Z0 0 U  …0‚0U#0€£“«Wf&mr:l¼ƒe£šüŽ C 0 U0SU.L0J0H F D¤B0@1 0 UUS10U Test Certificates10U deltaCRL CA20  *†H†÷ j¯l p[pýÔ¶(šQ\ýíGá Z`çAƒ#ÿ£àƱüqÛËŽ§ öš®ãýa3¦!iO#Ì3GE#¼ü¡y1?wçÀœïj8þ·ݬ6rµ”å{C¨z–μU½Ì§“@÷ö¿ÆÝz«2å¾ûˆ2âAŸ_Õ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/requireExplicitPolicy0subCACRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/requireExplicitPolicy0subCACRL.cr0000644000175000001440000000051510461517311032153 0ustar dokousers0‚I0³0  *†H†÷ 0P1 0 UUS10U Test Certificates1%0#UrequireExplicitPolicy0 subCA 010419145720Z 110419145720Z /0-0U#0€ðpGbŠ–Ñ‰ªT‰øœm)0 U0  *†H†÷ }¥ßøpÇœÙòNÉBcḢ)û™À*‹ÎÎE1XA29ÿS¼Ü$ßšµƒ‹£ªÍ:#’§ÃVƒÁíØ­ÀVyýÀk½é»Væ(‘wòDQaê’¦‰„Ï6Éäòn¨‚–ú”ü׿‹À½‡0Œ„ë„:å!BÑ`‚‚E+mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/pathLenConstraint6subCA4CRL.crl0000644000175000001440000000051210461517311031520 0ustar dokousers0‚F0°0  *†H†÷ 0M1 0 UUS10U Test Certificates1"0 UpathLenConstraint6 subCA4 010419145720Z 110419145720Z /0-0U#0€H4T¦ìOÙ˜!ìÔc±#oíy>0 U0  *†H†÷ z^äâ¯\H:Â6Ñ—f°Œ7‹–²Á¼µ:µDÛ„*…Á|–ý³lGicæ¢Õk)vâráKjÔ"€ËX 9ªGE „ÐÔåqï»;'°å“ϲ‡C¼¥zP"CHßšçÌŒ>Tý…>é¢GOø®”…2Jˆ”·Äbl¸mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/deltaCRLCA1deltaCRL.crl0000644000175000001440000000073010461517311027723 0ustar dokousers0‚Ô0‚=0  *†H†÷ 0@1 0 UUS10U Test Certificates10U deltaCRL CA1 030101120000Z 110419145720Z0ˆ0  010419145720Z0 0 U 0  010419145720Z0 0 U 0  010419145720Z0 0 U 0  010419145720Z0 0 U  >0<0U#0€“M¼ò× ® H¬º2 ×è Í0 U0 Uÿ0  *†H†÷ cækéÏD)ȋ区«&W¥O¨¶ã5ÿs‹@àyz×iŠÅ£Ù…)ÿïäzKõ6Q4yš…ˬHž-·¶ž‚W± ·I¨ËÃq,qX}áh"j=æ¬*XØ—;F˜Ðõò……µÇW¤äüÈÍ~°,-†0p63àiG`˜[õ“5zmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/indirectCRLCA5CRL.crl0000644000175000001440000000260010461517311027423 0ustar dokousers0‚|0‚å0  *†H†÷ 0C1 0 UUS10U Test Certificates10U indirectCRL CA5 010419145720Z 110419145720Z0‚Ê0  010419145720Z0 0 U 0u 010419145720Z0a0 U 0SUÿI0G¤E0C1 0 UUS10U Test Certificates10UindirectCRL CA60  010419145720Z0 0 U 0  010419145720Z0 0 U 0u 010419145720Z0a0 U 0SUÿI0G¤E0C1 0 UUS10U Test Certificates10UindirectCRL CA70  010419145720Z0 0 U 0  010419145720Z0 0 U 0u 010419145720Z0a0 U 0SUÿI0G¤E0C1 0 UUS10U Test Certificates10UindirectCRL CA60   010419145720Z0 0 U 0u  010419145720Z0a0 U 0SUÿI0G¤E0C1 0 UUS10U Test Certificates10U indirectCRL CA50   010419145720Z0 0 U  ‚ž0‚š0U#0€”­Ñá~û7KA=mY€?DWm0 U0‚iUÿ‚]0‚Y ‚R ‚N¤p0n1 0 UUS10U Test Certificates10U indirectCRL CA51)0'U indirect CRL for indirectCRL CA6¤p0n1 0 UUS10U Test Certificates10U indirectCRL CA51)0'U indirect CRL for indirectCRL CA7¤h0f1 0 UUS10U Test Certificates10U indirectCRL CA51!0UCRL1 for indirectCRL CA5„ÿ0  *†H†÷ IG¡tû5çcÃ?ÿ4[ºÓ\¥?.ÑþÙ‘‹%©±âBœðù˜Â®”ÚÚ¸8QkBÁnÅžD¼:´6WøV¡®Lʶg.ÚÎQ³·ž¯T7ˆÒXŸÁ¦SyȪE²ÿacé^,{Ln¨q«{ªÄ½EΚ Õ÷¬ ƒ|b<ǯmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/nameConstraintsDN1CACRL.crl0000644000175000001440000000050710461517311030653 0ustar dokousers0‚C0­0  *†H†÷ 0J1 0 UUS10U Test Certificates10UnameConstraints DN1 CA 010419145720Z 110419145720Z /0-0U#0€N.£çÙÝ‹§‚;AJÞ|Y#WNS0 U0  *†H†÷ ™ŠYíÐvµ[p‘u M`ßrq‰aC[Ôeö %9†mÄÌ< !q_£_ÔRæÑÄË9’e€tF©\||ÂLûª½JÞj; )ºœp„ýǪÓ™ð“:ÏËâ9éãÿ£Q\ÿÝÚ©):ð¡Øœ^ìÃÍù«²Ð62èëmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/pathLenConstraint1CACRL.crl0000644000175000001440000000050610461517311030720 0ustar dokousers0‚B0¬0  *†H†÷ 0I1 0 UUS10U Test Certificates10UpathLenConstraint1 CA 010419145720Z 110419145720Z /0-0U#0€Ús“àðe™}ÿ°&ö-15Y0 U0  *†H†÷ ´Œ Š÷4 ‘ò)šæoÜæ¢=1–[S +ÍQäÙܸòJ²è^“`…SHï™õ 4„•ˆß0”äçqúòëøäPlû|ã·)æ‘·^põÀ)íPlM ·yä¥cì׬ŸJLÙD>óúZö/µòQó²‚ÇJ“‹'z¨¡¨&:ëïM././@LongLink0000644000000000000000000000015700000000000011606 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/requireExplicitPolicy7subsubCARE2RE4CRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/requireExplicitPolicy7subsubCARE20000644000175000001440000000052610461517311032243 0ustar dokousers0‚R0¼0  *†H†÷ 0Y1 0 UUS10U Test Certificates1.0,U%requireExplicitPolicy7 subsubCARE2RE4 010419145720Z 110419145720Z /0-0U#0€Ë »Š£‘ç2DýPP`5 jE&0 U0  *†H†÷ ¦PZJ¸´…§b°¿gÖ7ŸV7ÿQžŽñz'â+düÛ(vic,6cHC?{)‡Ï-zŸ‹?¾ýçû\ûÁ5±'Ý´pð’y3 ‰‹Á–.rÎÛç öiäÇJºçÿšðo˜ùéªßÔÄ{Ö§ƒH3¨././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/PoliciesP1234subsubCAP123P12CRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/PoliciesP1234subsubCAP123P12CRL.c0000644000175000001440000000051710461517311031121 0ustar dokousers0‚K0µ0  *†H†÷ 0R1 0 UUS10U Test Certificates1'0%UPolicies P1234 subsubCAP123P12 010419145720Z 110419145720Z /0-0U#0€Ì´ç\ùÕ7ÔPU²1–.䑤Äh0 U0  *†H†÷ ^‰bÅ;àø"ÍýâDsÀ#˜g‰)g®9;SL$…j7 Èú® 'í<âí5S£ô£ÎmcÙ†3,•ÎG•-Zð hyZ¨ª]y¹J»¢Z…¯9ª¶ Ú9ö ñ.ûbo-Ù·Ú¥’ý`s}Hóšs*ex*|ˆZ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/onlySomeReasonsCA1compromiseCRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/onlySomeReasonsCA1compromiseCRL.c0000644000175000001440000000057210461517311032163 0ustar dokousers0‚v0à0  *†H†÷ 0G1 0 UUS10U Test Certificates10UonlySomeReasons CA1 010419145720Z 110419145720Z0"0  010419145720Z0 0 U  A0?0U#0€àbšßP½[Iþ¾pÌÜ9n0 U0Uÿ0ƒ`0  *†H†÷ ™øá ¨]ÔM©\‘œ,¢Q|Ýa½J8 \ˆFVU)pÌÏDÙš¹”‚SHµM‰BÀÿ}Bà9˜Co@óé^ŽþV?ôL`")Ã}-êÒ–ñ=Î5Ô0rò›ü†Dû·:Ò¼•èÓ+¡dÉ%?nŠ¥›™äô¬ùêrœˆ¸¬émauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/P12Mapping1to3CACRL.crl0000644000175000001440000000050410461517311027562 0ustar dokousers0‚@0ª0  *†H†÷ 0G1 0 UUS10U Test Certificates10UP12 Mapping 1to3 CA 010419145720Z 110419145720Z /0-0U#0€­â ­Rm%¬Í©˜¢ h­r®²0 U0  *†H†÷ ”4bº4Q´­Ý@þ=ë¼l|‰Ëð~å8P“[hºÑÊ9쨜7$ÃëgŒü7»E¹O_V­ó…#¨½“ÊèµÈ`•¿Z²<<'i¿—À·Jz9^,gZ OopNâµ1s*¿[¯[Nàs[ñ-ͼuDBÔÚ;mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/TwoCRLsCAGoodCRL.crl0000644000175000001440000000047410461517311027311 0ustar dokousers0‚80¢0  *†H†÷ 0?1 0 UUS10U Test Certificates10U Two CRLs CA 010419145720Z 110419145720Z /0-0U#0€0ÈéJÞC&A#ŒSSŒ³GŽÊ0 U0  *†H†÷ ¯—ö8‘;ryþþŒ>eÜa¨rïŸs.ÜÛ’>*ܺ2ù— kR2 |‹‰¢‚òo0Ý_éì&Æ5Áú”yìLšš‚«?¾*>¯ØäŽÃÁÅ%ǃ˜nB‰^oÖÇøÒ9c4"•Vò$¡b¶žÿÔ0á·,pQ¿t<Ü©(U˜Õmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/pathLenConstraint0subCA2CRL.crl0000644000175000001440000000051210461517311031510 0ustar dokousers0‚F0°0  *†H†÷ 0M1 0 UUS10U Test Certificates1"0 UpathLenConstraint0 subCA2 010419145720Z 110419145720Z /0-0U#0€RzkBN°ãÍ‚¥cÏn#”‰50 U0  *†H†÷ #®``Û ØþŽ»™Ûß62 T|êy4ñ¥Ëu÷KÖ]nßVÁÙ¢¡«~S¬«OûaƆ»`ìòDI"Tn^r–#°»×èKÁ^ñ×*hïÊ%c!{£€ÃP—öA±ì\[w²ßÌH—aV²žnŽÀ‰‚|Ba4èÆrmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/inhibitPolicyMapping0subCACRL.crl0000644000175000001440000000051410461517311032112 0ustar dokousers0‚H0²0  *†H†÷ 0O1 0 UUS10U Test Certificates1$0"UinhibitPolicyMapping0 subCA 010419145720Z 110419145720Z /0-0U#0€0±¯Ü®Õ0ò 9¦ã,!8¯¢‹Ð0 U0  *†H†÷ ÎÕ‘R[ð!¹žÑ;\Ó©ñ·pQ«d¬Ó=Kæ½ëhû E~EK&µýÊf9›B-¼V’e9*(kÓj~jëÆ,?)sužÝ)åÔ\ýØÎ5÷ŒEd5yâË<8Vc8ÆÄ'aû¨±²R©Ü^‹ÁlGƒ_Ú®¿ºW§ðA¿Ñ@ãø¿€¬-—ˆl‘9‡= Ey£¸A¢¶£$Í©{òùWµ˜ §+>Z*Ø[„}%u%QŸXoêù:bYæT×v‘-¹õ*Î Fäݱ<#’¨gÒ9jI././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/onlySomeReasonsCA1otherreasonsCRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/onlySomeReasonsCA1otherreasonsCRL0000644000175000001440000000057310461517311032302 0ustar dokousers0‚w0á0  *†H†÷ 0G1 0 UUS10U Test Certificates10UonlySomeReasons CA1 010419145720Z 110419145720Z0"0  010419145720Z0 0 U  B0@0U#0€àbšßP½[Iþ¾pÌÜ9n0 U0Uÿ0ƒŸ€0  *†H†÷ ZšpYOkB'Ø*pž‘¿õ À,Ž!]jvpaîø ÃÏ{@xÅ%]ÏÇta)@“‘ÁRhLã·Â ã&«ú/âp`Ùí4ìrK˜WŒZÝPÒlDîK‰ÖùÔydŸçòOé ‹Äïä-øŠÆ”šY$ùÔnLMíO?è±)ön. Ñïmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/PoliciesP3CACRL.crl0000644000175000001440000000047710461517311027160 0ustar dokousers0‚;0¥0  *†H†÷ 0B1 0 UUS10U Test Certificates10UPolicies P3 CA 010419145720Z 110419145720Z /0-0U#0€޽fŽUeÏQäY¦É*b¿÷¥¼0 U0  *†H†÷ p¡ À€ ¹Ë–½0YIWÓ›âñA?õñ×g«Û/¶m´åEº”U%œáq£Üímë‘3}@.„ÂEŠ&í ¥oP™ý{Ñ:Ï Ú ðzšNµñû›«TWU«·Ã¦Ä'éÈkƒ(hÌž ð™~ õòÊ5({xY|ˆmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/pathLenConstraint1subCACRL.crl0000644000175000001440000000051110461517311031426 0ustar dokousers0‚E0¯0  *†H†÷ 0L1 0 UUS10U Test Certificates1!0UpathLenConstraint1 subCA 010419145720Z 110419145720Z /0-0U#0€asÛ b5j[¸bH#çø+ÞcúÃò½d9EuìL_…8Êœ™•›JÑ“b(½©y'1ØA8zÈ®ZB%èF„1Ïè8­ó¤>¨MqÌ7‰Z[> ­o•}4;oÿ¤£X×ÇXâÓ¿3=½Yó{cüW«bó'r§œm´7 Š;àG;# n:mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/P1Mapping1to234subCACRL.crl0000644000175000001440000000051010461517311030355 0ustar dokousers0‚D0®0  *†H†÷ 0K1 0 UUS10U Test Certificates1 0UP1 Mapping 1to234 subCA 010419145720Z 110419145720Z /0-0U#0€­ïW}ºƒïÿ‡hsÒ¦—0 U0  *†H†÷ 3S,­néID}Þ\ÜKW55òÙK”Æ8N3§~l´·ÒrF(KÕÊ3ì¿Ïé¤JÅᦠ·M†î“îÚ­Ú×ÍjÚ•ëb0õ3"ú{*øÊg$NöN¾ª1#Bë v›ðd$•ô¸b{^$ýolŽ‚³`©Àmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/deltaCRLCA3CRL.crl0000644000175000001440000000062410461517311026715 0ustar dokousers0‚0ú0  *†H†÷ 0@1 0 UUS10U Test Certificates10U deltaCRL CA3 010419145720Z 030101120000Z …0‚0U#0€âO¿Þ@Öÿ3]"V‰Ü÷Îp½0 U0SU.L0J0H F D¤B0@1 0 UUS10U Test Certificates10U deltaCRL CA30  *†H†÷ ‡ùdéhà¨;*Šòt£&Š+~l³O®pÑã­9µºp%41›n²Yð¨V$gÉüvTtO(l}Q ×Riág+:ÑpÖŠåÅ’a)åUÆT»Š©´·ö;î±c£9,)°ó.ôÝvF@1 ~)«û5®¨sŽÊ¡#ŽPmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/WrongCRLCACRL.crl0000644000175000001440000000047510461517311026641 0ustar dokousers0‚90£0  *†H†÷ 0@1 0 UUS10U Test Certificates10U Trust Anchor 010419145720Z 110419145720Z /0-0U#0€ûlÔ-žÊ'zž °<êš¼‡ÿIê0 U0  *†H†÷ Ç2ê!ÿ}ÔóÙÅ©ê5!Òò5ÓäSœޡ-%Vd¼R Sij¦&8½í1©{Áè©å—‚»>Šùyì.½L1k¶€Êºº 5 Ö<1xþÓ=il:äMn„!ÓÃ`™b©8%/~_/ÌY×}›/Ø çpÙd÷8././@LongLink0000644000000000000000000000016000000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/keyUsageNotCriticalkeyCertSignFalseCACRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/keyUsageNotCriticalkeyCertSignFal0000644000175000001440000000053310461517311032357 0ustar dokousers0‚W0Á0  *†H†÷ 0^1 0 UUS10U Test Certificates1301U*keyUsage Not Critical keyCertSign False CA 010419145720Z 110419145720Z /0-0U#0€ß ¹4‰uxÒ#’ð!ßÂve´0 U0  *†H†÷ ž²ÛÛûB »Ö¯µ*çˆuðæ©R ­£M¦dãS´9ÛO–]êÚ» ÑÖ2S‘bí3é ‡lù JÅééoÕÑ"š×|‚ÒH Ã*ÂÙå÷wRçœ,}_1£ª2Êž­Bï³›ÍÚ6|Ë…HuY~lš pãÔÁÝÅz;mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/inhibitPolicyMapping1P1CACRL.crl0000644000175000001440000000051410461517311031602 0ustar dokousers0‚H0²0  *†H†÷ 0O1 0 UUS10U Test Certificates1$0"UinhibitPolicyMapping1 P1 CA 010419145720Z 110419145720Z /0-0U#0€ªidµRå¢c  ój? ²Ô´0 U0  *†H†÷ …™·[c[ Þ%5x%PVxë¬4ÇÍ­K€Ÿ² sÐÉÝ¢[åž0­ ­ŒV{9vª¦!+hÄ“ó9û|z÷-äÓ¬\¦8žõ·ÂTlçv›.t^̓%ÀÖM¯«)Gݰ‡y†óM‰€,!hìMÍgЈ”cÑÛ÷¤mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/PoliciesP1234subCAP123CRL.crl0000644000175000001440000000051110461517311030454 0ustar dokousers0‚E0¯0  *†H†÷ 0L1 0 UUS10U Test Certificates1!0UPolicies P1234 subCAP123 010419145720Z 110419145720Z /0-0U#0€¶{ƒˆI CÎò‚LóF†(„Ù0 U0  *†H†÷ EÔÞ4QHjÑKà×-URâå¥î¼¡ÆD ·aË¢X¡ÍŽåœ(LÄ ®£±ÈªŽŠYAW¶üÛ4¨æÉË\(oµ:pš©¬5ƒGz$iF&c) ÅQÃ’ÆÂmÏ^¸%ëÕ¶Ñb‡;›$j±ž3¢–»t!­·˜«²j%+ ímauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/inhibitAnyPolicy0CACRL.crl0000644000175000001440000000050510461517311030534 0ustar dokousers0‚A0«0  *†H†÷ 0H1 0 UUS10U Test Certificates10UinhibitAnyPolicy0 CA 010419145720Z 110419145720Z /0-0U#0€@˜`æÈý\ÑØ/ êìEÏ0 U0  *†H†÷ `«¢Šã"Ë•JÅÊhFp Ð1°˜Ì­K#Œ>ü´Çz“ j1hÄÿ07{\Hmá…÷ЛsSÊb6\)ȯ¦@bÕõ¯2©J¶¢§ Ë»r.> wd-Y/üÏ/¦wƒš|h°öZcgt²:út¸Ó©p懼LyïÈ´1p®óï®z;././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/inhibitPolicyMapping1P12subsubCACRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/inhibitPolicyMapping1P12subsubCAC0000644000175000001440000000052310461517311032073 0ustar dokousers0‚O0¹0  *†H†÷ 0V1 0 UUS10U Test Certificates1+0)U"inhibitPolicyMapping1 P12 subsubCA 010419145720Z 110419145720Z /0-0U#0€Z“Kï–ž®>C&¤y‹¢æ›!0 U0  *†H†÷ d€3zãèäf NM®Ëôõ²êMH$¾9žÁÚlú ¥¾G„'À>«xq“çnÈêò½Ã{üR¾ü²"€5³«W{#Ê9fíGÍ,«J(]#«${ãQ»xy %ÿOÅÑ,ág³ä)5+^ªªI»fR£| õW././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/requireExplicitPolicy4subCACRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/requireExplicitPolicy4subCACRL.cr0000644000175000001440000000051510461517311032157 0ustar dokousers0‚I0³0  *†H†÷ 0P1 0 UUS10U Test Certificates1%0#UrequireExplicitPolicy4 subCA 010419145720Z 110419145720Z /0-0U#0€#a8q, a¾¢¼×Õ‰ÖØP>½ëÅ0 U0  *†H†÷ £œgDW ÒxFûçv»fÌ`,z~Öì¤ÂM,QŠ—âÂzç{MyIÂl¢·¥átdšõz]Ì.%Ý¢ý„®ØÏêúYwž";~—õt4qÁjKn’ЩmÍÊ_iȰµ—x_±4Ó0 6ó.ÝR3a,ÏtqGžôf././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/pathLenConstraint6subsubsubCA41XCRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/pathLenConstraint6subsubsubCA41XC0000644000175000001440000000052210461517311032141 0ustar dokousers0‚N0¸0  *†H†÷ 0U1 0 UUS10U Test Certificates1*0(U!pathLenConstraint6 subsubsubCA41X 010419145720Z 110419145720Z /0-0U#0€•犖tù<ô›©IóÁš?Îp0 U0  *†H†÷ ¯?€h$îÀ?3[bIÏî‡÷’I3¢±°lç#J*é1üIvòö’Ò³2pPqŸ«l-§ïû>? ¸ßèN(É]ú£ïdÛ¹Ëf¢µºób\Œ[uö~Tª0Y PÁ#É‘I¿#ÞˆÆz9nÌDD@.‚eèt`././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/PoliciesP123subsubsubCAP12P2P1CRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/PoliciesP123subsubsubCAP12P2P1CRL0000644000175000001440000000052110461517311031356 0ustar dokousers0‚M0·0  *†H†÷ 0T1 0 UUS10U Test Certificates1)0'U Policies P123 subsubsubCAP12P2P1 010419145720Z 110419145720Z /0-0U#0€Ó*»ðµWA•RÝϨ»’œàns¼0 U0  *†H†÷ 7ÏŽp ÆÏî(ÍãøŒk ý×1Ã,wõ>ÿn·# M3?¡ô7M„m*%ß@ø%–@zûY)N™Èc{#¶ÈërpŽóÊZ*6»Æš€EcIÉŸh2„ä¦Ê"RÙ™ú4“8ìºù &¹[; Î…C޽GÊÞPKBè—‘t¬Z././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/keyUsageCriticalcRLSignFalseCACRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/keyUsageCriticalcRLSignFalseCACRL0000644000175000001440000000052310461517311032044 0ustar dokousers0‚O0¹0  *†H†÷ 0V1 0 UUS10U Test Certificates1+0)U"keyUsage Critical cRLSign False CA 010419145720Z 110419145720Z /0-0U#0€”éÄPö p&”<ïß0.Þ?tÍ0 U0  *†H†÷ ßlq™½T5.ç»T`j>ÙQ`_jx²PE9•@=-9{¯—ã2_øªp¬ImD¬,Òû¤\Õñ×#_mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/PanyPolicyMapping1to2CACRL.crl0000644000175000001440000000051310461517311031306 0ustar dokousers0‚G0±0  *†H†÷ 0N1 0 UUS10U Test Certificates1#0!UPanyPolicy Mapping 1to2 CA 010419145720Z 110419145720Z /0-0U#0€ÒºO>h8æøÁê%®Ú’¯C6n0 U0  *†H†÷ õùչ̃5ë=˜R‰cy— šõ 5rD«+—… Á?&äxˆY-M+J‹ZXä,‚v°ÃEÆF4Ì83Úk yâe*:TiTnw2ÁEŽcÞ ô>Ÿ¥7%’@ñªWòaiã=ä…”ì)QÝ…leÃzÄù7~À  l†+G{././@LongLink0000644000000000000000000000015500000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/keyUsageCriticalkeyCertSignFalseCACRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/keyUsageCriticalkeyCertSignFalseC0000644000175000001440000000052710461517311032334 0ustar dokousers0‚S0½0  *†H†÷ 0Z1 0 UUS10U Test Certificates1/0-U&keyUsage Critical keyCertSign False CA 010419145720Z 110419145720Z /0-0U#0€”¼øœ|?è’¶MÉ´Ór1N:70 U0  *†H†÷ 7{™£d ‰Ó;ëì\¿N†tëÞˆò~3îá*í½ó»3iÊð‰8\ºƒ*¾ä‹ÿhÅXÔýÌýXI\o-†|†¸¹;MGMãõÓÄð°âVA¹§wx€IUù}×°„’(»%âƒuâY©ŒËÐ{Ç0ÂyÖÅœós}c:à././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/inhibitPolicyMapping1P1subsubCACRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/inhibitPolicyMapping1P1subsubCACR0000644000175000001440000000052210461517311032132 0ustar dokousers0‚N0¸0  *†H†÷ 0U1 0 UUS10U Test Certificates1*0(U!inhibitPolicyMapping1 P1 subsubCA 010419145720Z 110419145720Z /0-0U#0€~—C¤}Þe‘;7}'½¤óУ0 U0  *†H†÷ Ìò±ô‰ðASÈfÇMoˆ¡cE(ÿQÀµ§›³wÙíñn€fô Ï5«gýà| PDúN½ëi´å€V¢!²Œ 6m¬´†»iÿfÄ¢¿ãp_*ÝÁxϨÏÓ3K²gm–#;hãÀqˆ8~ýû÷Zywölõ././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/keyUsageNotCriticalcRLSignFalseCACRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/keyUsageNotCriticalcRLSignFalseCA0000644000175000001440000000052710461517311032170 0ustar dokousers0‚S0½0  *†H†÷ 0Z1 0 UUS10U Test Certificates1/0-U&keyUsage Not Critical cRLSign False CA 010419145720Z 110419145720Z /0-0U#0€›¤[ä"XµVÿ.²‚¿"èöø0 U0  *†H†÷  ПCê‹–¼Q§&â­¡Ù…ÔÄTgr;'¹QtÊ¥r¢ˆ!-ðF!Ê^6_»œ¤„cdŠRZ¸Õ_?Õs8ðõ~ãY€ïp‰Ú7Ô±1J”êÉq˜ªÄ®âŒ«}©zü#Wî)KÆx/eM8ßùntqW¡ªJŠ©«‡îmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/inhibitAnyPolicy1subsubCA2CRL.crl0000644000175000001440000000051410461517311032043 0ustar dokousers0‚H0²0  *†H†÷ 0O1 0 UUS10U Test Certificates1$0"UinhibitAnyPolicy1 subsubCA2 010419145720Z 110419145720Z /0-0U#0€"ÉÕ1ÝÂvçÃÜ’üÀ…“ªæÍÎ0 U0  *†H†÷ ˆÀµhøÅ5 fÒT‚Íûä{ýàÿ 3ä´‚Ž@ŽF6\Œr¼¹ƒP+ÉÕ#@É£GÊÏA†¨þP©ìuxÉÑo”†Ã=ä9¯´ žˆ$þfù{õ•|ÜÅÊäLÓ‚»lÞŠòqÿ‹Ò •-Äâ7¿Ìé»uÞŸ†2././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/requireExplicitPolicy0subsubsubCACRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/requireExplicitPolicy0subsubsubCA0000644000175000001440000000052310461517311032432 0ustar dokousers0‚O0¹0  *†H†÷ 0V1 0 UUS10U Test Certificates1+0)U"requireExplicitPolicy0 subsubsubCA 010419145720Z 110419145720Z /0-0U#0€Y×èân×yp‚aˆÏRä·I*0 U0  *†H†÷ °#ÂìâéÀ‡éuÓî¤Å;œ'Ä«²gtyø[ÍK î2Ž‹Òçg_Úƒ§1 ¸d*–xÛ¯w&:á˜×A¹å†œ±6¨’¿oÏb3>yå¦iû†¹gÏnÆØ»/ †ÝfÈ q¥hû‘žõÊX€~'àN:4E#ÌÁmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/onlyContainsUserCertsCACRL.crl0000644000175000001440000000053210461517311031516 0ustar dokousers0‚V0À0  *†H†÷ 0L1 0 UUS10U Test Certificates1!0UonlyContainsUserCerts CA 010419145720Z 110419145720Z @0>0U#0€ZË7ÒF˜\•øß¸:ÿ@­ò0 U0Uÿ0ÿ0  *†H†÷ Rc@U‘Jˆ# d„´>P¢ º0²†/ε·àÂÕc‚ˆ«Ö¤ß"–ó~ÍÎ ‡T ?`Çk¦š%Q¯²ÄÚùÕcWò¸øÑ¿ £w§æã‡ —]JA¹6˜½T“•2Ù|ƒå×Tw¾äëáúçƒýxEK B‡RÁO9ó ././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/basicConstraintsCriticalcAFalseCACRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/basicConstraintsCriticalcAFalseCA0000644000175000001440000000052610461517311032264 0ustar dokousers0‚R0¼0  *†H†÷ 0Y1 0 UUS10U Test Certificates1.0,U%basicConstraints Critical cA False CA 010419145720Z 110419145720Z /0-0U#0€ÇGOt"‚š”˜E³µCÃu6Î0 U0  *†H†÷ 2¼„ж>r ûÙu™Êå* æÈ'tGÜ ÔŸ¼Ÿ²b%´m[å è*Žë>kÅšÒý‰[ÿwg 3E¼lí¯„0Yû|q•c`1›› êwñpñ¹.Ñ©Bf”¹THÛDVVWZ|M×À\oõ£WˆjšqÍծñ(mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/PoliciesP12subCAP1CRL.crl0000644000175000001440000000050510461517311030143 0ustar dokousers0‚A0«0  *†H†÷ 0H1 0 UUS10U Test Certificates10UPolicies P12 subCAP1 010419145720Z 110419145720Z /0-0U#0€BˆÁx·CÚ¯½ÞºC§åµaÿò0 U0  *†H†÷ 8…ûƒìôÕäB'hÓÖ_ÉÕ`Jü39”ÎÙ(qNþªæakB–V@äHæ–e!òæŽiPoD3£Œ(éõ…ÖÞU»0ë¼Ip;»ÆðŒŽÖ_?0ªX©jN>F¡övç¨}(èØD2Xvˆð_7'(ೈÃuAPÂþ"¾êJ+ü¡././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/requireExplicitPolicy5subCACRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/requireExplicitPolicy5subCACRL.cr0000644000175000001440000000051510461517311032160 0ustar dokousers0‚I0³0  *†H†÷ 0P1 0 UUS10U Test Certificates1%0#UrequireExplicitPolicy5 subCA 010419145720Z 110419145720Z /0-0U#0€•†‹‘6»zoâ„ïEŽ'k¸0 U0  *†H†÷ s„Täw¥}=|Цêkp‚š…Œ®=Š£+̧w ¾z¼/ÿƒæöz™¡¯ÅÎóvw¼ïï¢Ë–6;ý°Î\®0¯Ÿºçèòft‚nu‘±Y©ž‹A7B¨Ns1á±SûŠ=îÓäw¨øêê!õžµãy'ÞÃÕE°‡$././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/requireExplicitPolicy0subsubCACRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/requireExplicitPolicy0subsubCACRL0000644000175000001440000000052010461517311032256 0ustar dokousers0‚L0¶0  *†H†÷ 0S1 0 UUS10U Test Certificates1(0&UrequireExplicitPolicy0 subsubCA 010419145720Z 110419145720Z /0-0U#0€°BI3hó*ÍT!]æbápÎ¥#@0 U0  *†H†÷ •k­¼§8zpäæ¿‘¬rðÚªPáQ¡ŒÒÒs*oTwÁÔ2ÍpÊ\˜b?¡lJ¯S‹ù |Póã“MÁ?+Yð:Ù%[;q¼)°/·“Æ“°ÁúˆÈ-ÊýÁìÝ •¯ŒÕzAHêoW.³¸Æ>T§œWO'ôÜ%]././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/requireExplicitPolicy10subCACRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/requireExplicitPolicy10subCACRL.c0000644000175000001440000000051610461517311032053 0ustar dokousers0‚J0´0  *†H†÷ 0Q1 0 UUS10U Test Certificates1&0$UrequireExplicitPolicy10 subCA 010419145720Z 110419145720Z /0-0U#0€£Ca¾zó®eÑt¼Àó0üÖ:”0 U0  *†H†÷ åxßG¶àBxoõ87¦ûé‹4þÚ®pL¶²=S|ïX$¸‡¥ÀÊ|ýªº.výÀšó¹p¨CA"Qÿ 2®«mDì¸}NKÕ†ƒê˜dÏÜõ-Rî ˜©I­¶9LÕ”¥"N­µ­dIånªc›6(Ÿ_ÜÁ~~ÂîHczômauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/indirectCRLCA3cRLIssuerCRL.crl0000644000175000001440000000074110461517311031221 0ustar dokousers0‚Ý0‚F0  *†H†÷ 0M1 0 UUS10U Test Certificates1"0 U indirectCRL CA3 cRLIssuer 010419145720Z 110419145720Z Ä0Á0U#0€±!K²’¨ 3N+‰gO¡OŸ0 U0‘Uÿ†0ƒ ~ |¤z0x1 0 UUS10U Test Certificates1"0 U indirectCRL CA3 cRLIssuer1)0'U indirect CRL for indirectCRL CA3„ÿ0  *†H†÷ h4‡dUe©‡GTÂ-H‘îYõíÙmx¹ÿŒ\õµ"uòcbx%Ml/£XâW+?I ½…Ŭ­8 F,4ò›å"õUÌcûÂi”×åxON˜eÏr 2x"¯",!Å|ÛŒ1¾­YÄ$äìà @L+•˜Ýômauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/GoodCACRL.crl0000644000175000001440000000057610461517311026076 0ustar dokousers0‚z0ä0  *†H†÷ 0;1 0 UUS10U Test Certificates10UGood CA 010419145720Z 110419145720Z0D0  010419145720Z0 0 U 0  010419145720Z0 0 U  /0-0U#0€·.¦‚ËÂȼ¨{'D×53ßš”Ç0 U0  *†H†÷ “Âì q-×¢³ðíMnfr©Â0sñr¿§Q•Ä1?yAíí«Ð–2GLÄ÷âeosUÁY Vò`y'.”@Ý~±’¿¸WåLÅ8—u*¡¢% ì·•@,ß¹úÿ¾žJò7O%ËÈmïä ¹6ÁÙùO^€…’Ímauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/OldCRLnextUpdateCACRL.crl0000644000175000001440000000050610461517311030320 0ustar dokousers0‚B0¬0  *†H†÷ 0I1 0 UUS10U Test Certificates10UOld CRL nextUpdate CA 010419145720Z 020101120100Z /0-0U#0€Àjóÿ#ŽÐGDPCQÂ|^1‰Ì0 U0  *†H†÷  Ü´P)–‡¡à¸.9nn•|¢E¨$]ÎÚjoŒzw^ØÖÿc¥hÅ>â‡W˜×+&.=V9œ“ŒÄí¯7Nœ.JT…‹T/²¥ÉÊZœÒ§vÅ’ÀË>icLù@þ@×ú®²_âô‹±/¼~Š´—!Š„f”ì_úM(mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/PoliciesP12subsubCAP1P2CRL.crl0000644000175000001440000000051210461517311031055 0ustar dokousers0‚F0°0  *†H†÷ 0M1 0 UUS10U Test Certificates1"0 UPolicies P12 subsubCAP1P2 010419145720Z 110419145720Z /0-0U#0€gå Œl*»Um-è"ªKs+ˆ*0 U0  *†H†÷ %¢âuÛÿðœâY|ùÆŽcÌÔÑ~Ô— ê Yˆ´ìùX}ý‡N…âäTÃìþ¿ó«Y¯Iä—ºÂßnEéOéJA…Žõ|ÚÇ!s37ÿáàü®˜)ö-ÑKT¤ûî®Ms¹ÿÊnmVÃ'ØÒ´ÕœÆ=@Hù7/"»UO„e././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/onlySomeReasonsCA4compromiseCRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/onlySomeReasonsCA4compromiseCRL.c0000644000175000001440000000073310461517311032165 0ustar dokousers0‚×0‚@0  *†H†÷ 0G1 0 UUS10U Test Certificates10U onlySomeReasons CA4 010419145720Z 110419145720Z0"0  010419145720Z0 0 U   00U#0€?¾@ñ÷kû°YäZà—Té0 U0nUÿd0b \ Z¤X0V1 0 UUS10U Test Certificates10U onlySomeReasons CA41 0 UCRL1ƒ`0  *†H†÷  ÉÏ®kQ:ØîO…;§0lÍYPýuIDš¯q¥tÊ%áþ ôÛ ŒÊ›ÞÍ¿->©J›©duÜ&²ö«/Ò{=öûd¤ÈSe²€Z"ç;œ’– tƒÒræ4ËT¼uÄ4ÁN@.á(×êmÁšK€Ü-||¥§(umauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/requireExplicitPolicy10CACRL.crl0000644000175000001440000000051310461517311031674 0ustar dokousers0‚G0±0  *†H†÷ 0N1 0 UUS10U Test Certificates1#0!UrequireExplicitPolicy10 CA 010419145720Z 110419145720Z /0-0U#0€óé&™–†ÄÕ¢{ì¹°¥n6 E0 U0  *†H†÷  ‚sá™]Ÿœ'WCöt´váÖ¿šÞ„›¦ºš˜úÿÂ¥¤Í_¹Kágæ³ã.[êäÙœBÀ–@â™2$Â{ÑG-2BÉ|Í ªÈ¼¤ØþmŒRyÕp‰x±.iE(UfCa@üxê#˜DfߎÑÕù‚zÒ.­6ŠÿŽ ././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/GoodsubCAPanyPolicyMapping1to2CACRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/GoodsubCAPanyPolicyMapping1to2CAC0000644000175000001440000000052310461517311032021 0ustar dokousers0‚O0¹0  *†H†÷ 0V1 0 UUS10U Test Certificates1+0)U"Good subCA PanyPolicy Mapping 1to2 010419145720Z 110419145720Z /0-0U#0€‘×ᵤ–‘ñ¢q/fÙ'{J‚“š0 U0  *†H†÷ —ç·ãFÏYIrÒÞöÃÊ4YPñ-û1÷»²÷Ýû½kzçݾl{6IP8Ù…g—¥„IÞŠÕ Ð6ülJ‚˃sí¯1Üoëig·û¨¥6„ÝrRñQá“jÿ/’kzÁg fñƒ"ÙR^÷X]\zi„‘Ú±Â././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/inhibitPolicyMapping5subsubsubCACRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/inhibitPolicyMapping5subsubsubCAC0000644000175000001440000000052210461517311032325 0ustar dokousers0‚N0¸0  *†H†÷ 0U1 0 UUS10U Test Certificates1*0(U!inhibitPolicyMapping5 subsubsubCA 010419145720Z 110419145720Z /0-0U#0€$¶q­WÀ÷„š¯V·âHlóý®10 U0  *†H†÷ 5ÕÎÌì.÷ÿ½~FÂêøy±6Ht(éjhYð 2ÅŸdôZ¼\*»b/sf§ÏÞ·w&Èz•j/æ>Û;þ¿á_?)k§„ Fofóq„A—–9«êÃÉ!™o“]Kß•Y` q+©æ¡¼àäü^´¦,™ *vÍÔmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/UnknownCRLExtensionCACRL.crl0000644000175000001440000000060210461517311031071 0ustar dokousers0‚~0è0  *†H†÷ 0L1 0 UUS10U Test Certificates1!0UUnknown CRL Extension CA 010419145720Z 110419145720Z0"0  010419145720Z0 0 U  D0B0U#0€jÿ˜ô7ýLô'Ýnèa¡U´«0 U0 `†He ÿ0  *†H†÷ ‡ƒ4¥„ËZê•ßÏÀªJ2Zç)‚’¯@ðÁ[øOź¯¿…²ÙßÕóZÚ½ŠìÓ¡¯ç€HT"ŠtžÁÈ[3¤j0C‘5 ‡ÅZ°´0lô÷"{q¶ÿ~?®Úª·ÒJ§|p·j…ÑŸÑ]¼6D02l¼¦Ž$–bÖhÀ$U:mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/BadCRLIssuerNameCACRL.crl0000644000175000001440000000051210461517311030217 0ustar dokousers0‚F0°0  *†H†÷ 0M1 0 UUS10U Test Certificates1"0 UIncorrect CRL Issuer Name 010419145720Z 110419145720Z /0-0U#0€È4ÛàµcQÑP¤2ÒÅYøCŒàg0 U0  *†H†÷ *•–¼¡¼é‹Û :Àö³¼ ï—lŃkæîËúTdž{ºèsÀÖåtLŒq¿Îç6ß•JØjqæj «›{ÞëÆì.ƒé aObß;_(˜[×ùcƒb/Þ Ÿ¨ZÔ‹‘[”Ï¿DØq‰ý™É’z kí]7‘ýmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/P1Mapping1to234CACRL.crl0000644000175000001440000000050510461517311027647 0ustar dokousers0‚A0«0  *†H†÷ 0H1 0 UUS10U Test Certificates10UP1 Mapping 1to234 CA 010419145720Z 110419145720Z /0-0U#0€̧ÑÒ†ï!c˜ïÍÊÿàD³Ô0 U0  *†H†÷ E tp¶ØfŠpЩ!à µqE§ýßPîÖ8Nê먄ky dm Mà6 kìÆF™!çD`Þ´õê~pK·¸J]›³ÏäTZ¡Œk­ýQó –Ȧzƒò¡Ü:©„öŽ?‘î®ã…œD·’‰wó³Üü~‡àÖU–îƒ././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/pathLenConstraint6subsubsubCA11XCRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/pathLenConstraint6subsubsubCA11XC0000644000175000001440000000052210461517311032136 0ustar dokousers0‚N0¸0  *†H†÷ 0U1 0 UUS10U Test Certificates1*0(U!pathLenConstraint6 subsubsubCA11X 010419145720Z 110419145720Z /0-0U#0€j6ðWu?BPµé(7Å­â¼0 U0  *†H†÷ “ÁÔŸSô†UfFº/‚ßíR•ËðÀ%ʲú€Ç´P£•pê±0þÉÚ ´û¦ŸUì?ß7»DÏj\}ú4“|_ðÖüÜŸ-¼?€YÞ1ºÈè©<ç(èË÷Mâö&ÍE/Ôpwh®]UÆûô]d<à0§-:íN{¡âpÚ0ämauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/DSACACRL.crl0000644000175000001440000000033310461517311025604 0ustar dokousers0Ø0™0 *†HÎ80:1 0 UUS10U Test Certificates10 UDSA CA 010419145720Z 110419145720Z /0-0U#0€tÕ$½^eˆá‹ ~êHNa0 U0 *†HÎ8/0,F ÒKùÍ‘ éqj¿Ò>ˆ]ÐGîª%®ÓjÊ?¤TAÙ£Wt³H«ÅŸùmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/requireExplicitPolicy4CACRL.crl0000644000175000001440000000051210461517311031616 0ustar dokousers0‚F0°0  *†H†÷ 0M1 0 UUS10U Test Certificates1"0 UrequireExplicitPolicy4 CA 010419145720Z 110419145720Z /0-0U#0€%~´ вóÁGðAyï²Bæ5û0 U0  *†H†÷ ˜çiÄLÃk€0L<سˆ‘è£ÅÓÀ5Q5ðŽ8³æ& ÑE9©¾ð_ጦ‘Tÿì2½â’£AóÀüà„†Tÿµ‰é©’¨–§N—.Õåå÷pZ]Òo@4õÆce[…É·jK`Zv5€YšÓ§'}ôøê·ñ:bæmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/inhibitAnyPolicy1subCA1CRL.crl0000644000175000001440000000051110461517311031325 0ustar dokousers0‚E0¯0  *†H†÷ 0L1 0 UUS10U Test Certificates1!0UinhibitAnyPolicy1 subCA1 010419145720Z 110419145720Z /0-0U#0€) x”Ž„)BK|«ƒ*¾5[<0 U0  *†H†÷ u;BDÅú«²Äc¬‰„àP2K–€H¸ImBÃL´½ )àVß’' ·óz22-Íî)8ÐuŽŒQ’¦¯ï#޼²¦G6ÑœæÝKUVG@gK½´ÐtZ—ƒ ÕN§Ò»­R¥¬Dü•Ùpú¢ûsâa¬mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/pre2000CRLnextUpdateCACRL.crl0000644000175000001440000000051210461517311030667 0ustar dokousers0‚F0°0  *†H†÷ 0M1 0 UUS10U Test Certificates1"0 Upre2000 CRL nextUpdate CA 980101120100Z 990101120100Z /0-0U#0€½z6Õ] •¿]®«ì¤Q`&¯V0 U0  *†H†÷ ?AK[µGw~*‡cež÷–ŒAAæšOE‘íÝŒ±ÖãAqpí˜Q5â$»Í&ŠÉCñLXC*1^”¥^ “Ý ùÐÇýÖ‹MLo<×Ck¹‡ÀýöZ§Kðt#üa$û=2^÷ý†ÞR? .²ùµ™¢-–ƒ.¹©™XúÀå[‹üÐS2mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/nameConstraintsRFC822CA1CRL.crl0000644000175000001440000000051310461517311031215 0ustar dokousers0‚G0±0  *†H†÷ 0N1 0 UUS10U Test Certificates1#0!UnameConstraints RFC822 CA1 010419145720Z 110419145720Z /0-0U#0€ã…zŽ¢;žî¸yªÄ½.Y­0 U0  *†H†÷ ´ws÷ç× š½á¨±jzeŽVÉÊ83~Õ7AÁ畤«›@1ªlùä?…k$ÿÖ¿Ëý'©e5\·k‚‡·áÂM4ÊB\FfEÒÀHŒ°§Xfc® h [[îþ“wn¤2.VVÏ…¸•R÷sx^Ðf,ŒÊx6ÚC././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/basicConstraintsNotCriticalCACRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/basicConstraintsNotCriticalCACRL.0000644000175000001440000000052110461517311032140 0ustar dokousers0‚M0·0  *†H†÷ 0T1 0 UUS10U Test Certificates1)0'U basicConstraints Not Critical CA 010419145720Z 110419145720Z /0-0U#0€ظß+ü ®×VË\>zŒÏ‘0 U0  *†H†÷ ÜŽE~mVë½\Ç! ®i·5¢µ14…ð ’} 6.2ܹŒË­9—5:œÑh7ðš­ÚBg’0‚¸RÛÅÕ9Ô/Í{ìCVm×/1œYHú¯ùý:·à²K |é{uX¢p»0»â!4têãAåÐÀ´}QRöQ¾x–%¥Š././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/onlyContainsAttributeCertsCACRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/onlyContainsAttributeCertsCACRL.c0000644000175000001440000000053710461517311032212 0ustar dokousers0‚[0Å0  *†H†÷ 0Q1 0 UUS10U Test Certificates1&0$UonlyContainsAttributeCerts CA 010419145720Z 110419145720Z @0>0U#0€Å(•›Ã£Ù¸û¶ßmãS­¹"0 U0Uÿ0…ÿ0  *†H†÷ MÐñ§76äWÒå»Àh5‘ „SUž/¿KÔ~UOêlqôT¥·8P¬CÇ…¹ˆO6\5\ƒVIêÐ4οÖ!@øJbîĈt÷ÌFÓŽ_.ïCÏÚ„Ô'±"Ƶ­ƒÍª‹Ï×v7¦)Ž:ç?X+wX±ë5m–töH././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/pathLenConstraint6subsubCA11CRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/pathLenConstraint6subsubCA11CRL.c0000644000175000001440000000051610461517311031756 0ustar dokousers0‚J0´0  *†H†÷ 0Q1 0 UUS10U Test Certificates1&0$UpathLenConstraint6 subsubCA11 010419145720Z 110419145720Z /0-0U#0€³À÷Qö\šN,‡PQå‘ÓX[+0 U0  *†H†÷ _=¥î “ØOÏ(;‡Ž‹~-6ÂðÍT”T/æœõþ’~?¼”Õý‚À‡Ü“2È«Y;jߎ¯Ë÷÷9PÚŒ¬|—$'Ω›8rn2Ä¡ ó4]bøê!¼"˜o€%\Äþ{ÿœJƒì)Û nËž˜‰3¾%Œ-Hp=mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/nameConstraintsDN1subCA3CRL.crl0000644000175000001440000000054710461517311031454 0ustar dokousers0‚c0Í0  *†H†÷ 0j1 0 UUS10U Test Certificates10U permittedSubtree11#0!UnameConstraints DN1 subCA3 010419145720Z 110419145720Z /0-0U#0€W«øœ'ÈÒôæÏoª 5gƒ$k0 U0  *†H†÷ šÿ¢ZJÙÑ}@¢¼ëoüMX;²wy`™^÷õ°9bg­·¦,ïÞv;&y·|<%·½‚x!“[fâãÙwæ¡mÜFˆù(^•{¦ÚJÃDŽôP¦ R†Í@Tf’0 d dA3]õ«Øa^¢`V§Õmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/GoodsubCACRL.crl0000644000175000001440000000047310461517311026604 0ustar dokousers0‚70¡0  *†H†÷ 0>1 0 UUS10U Test Certificates10U Good subCA 010419145720Z 110419145720Z /0-0U#0€|\i|ÈU±")CûÄ{êê¸}0 U0  *†H†÷ ¡5XAXJ“êŠçÌÁ¾"Œš!2Ö©¿ß}`ŒºòŒ©8¤”ŠmiFå¬cHåÉÀÞßsÆì?·ía¢lBØÏzÿ;5AŠÈþ…7¸}Ü 5ºà»9Ⱦ*yW‚ÛñÚ!àÆT+7*á ‚ª/G«ü0ÝRº“ϼF9§”)}à*\ÔÎmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/BadnotBeforeDateCACRL.crl0000644000175000001440000000050610461517311030327 0ustar dokousers0‚B0¬0  *†H†÷ 0I1 0 UUS10U Test Certificates10UBad notBefore Date CA 010419145720Z 110419145720Z /0-0U#0€z3ø#Šœ*lO8"ÕËý}X0 U0  *†H†÷ ŠK\à3;^Y¥-~\-"ü´ªœQó8…£„3>håz ÙáÇjùHÌðî È´A·¦ *hŽtݶîë®úMPÄ€çzj ëdÊ¥¦d䘖uñPŸÃ¦È¶Õ·d{ŽÎ@ò¼RJå‹"®šY©ã§D ’¶vÌ%óǤðmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/nameConstraintsRFC822CA3CRL.crl0000644000175000001440000000051310461517311031217 0ustar dokousers0‚G0±0  *†H†÷ 0N1 0 UUS10U Test Certificates1#0!UnameConstraints RFC822 CA3 010419145720Z 110419145720Z /0-0U#0€ê·nš+ €6giµÚ5¥†=)x0 U0  *†H†÷ Œm Äg‘¯Þ]‰ŸüßâzzR>MìP¹Fƒ:}-›]„‹mº¿KAtã;Ás¢ƒO丹zp{ ¼Y÷Ûƒ“‡˜SC¢qÕ/Ðþ/ÂFUÕdTrO¢7݈¸;c$ßÓí~mÚ/W›Ì×–gH~¥°mËÉ^éxXƾð̱ãJWE†mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/P12Mapping1to3subsubCACRL.crl0000644000175000001440000000051210461517311031005 0ustar dokousers0‚F0°0  *†H†÷ 0M1 0 UUS10U Test Certificates1"0 UP12 Mapping 1to3 subsubCA 010419145720Z 110419145720Z /0-0U#0€ö,±·)µ®•°ø9AS-.ãÇ0 U0  *†H†÷ o³)65vÇbné)惋^¿%êMqVP%’h¨¢éM £t6â›ÁR݇ d˜XÚj–æÄØÍLqL˜»Ô}tù4?˜÷Š^ë¿|*{Äó)̶ï´ï…|•›úÝÀ¿|þáÙü*z/ýH XimZè7&0gƒƒL±žkÐ`Bˆ%‘®B$êaº]4j|"k¾Ï,àg6Û(\¾½zu=¬Ï<šDŽÊ0zé—mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/PoliciesP12CACRL.crl0000644000175000001440000000050010461517311027223 0ustar dokousers0‚<0¦0  *†H†÷ 0C1 0 UUS10U Test Certificates10UPolicies P12 CA 010419145720Z 110419145720Z /0-0U#0€ãeéÔ†¹Ççó39^L¥ù0 U0  *†H†÷ ¢!æk ™fy-†§›Í7›Msß‘cÄÞUS°2¬È<½–ª®ÉO²|@×ô]™Žú+D-uï8†ÈY®äb䃴s4ÑR¼=»w~|ÉA LO©ÙÙ¼Fp/f Ô €ìƒN•­†w誦H)£Ÿ6Ãìšõ¤š õrmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/NameOrderCACRL.crl0000644000175000001440000000061410461517311027053 0ustar dokousers0‚ˆ0ò0  *†H†÷ 0Ž1 0 UUS10U Test Certificates1#0!U Organizational Unit Name 11#0!U Organizational Unit Name 210UName Ordering CA 010419145720Z 110419145720Z /0-0U#0€ÿø&Dô.ˆèø×¨K„‘¢ÈhbZa0 U0  *†H†÷ ´ÄVðã¤'¼ Ô™nj”\ ^3  lß=¥èÚÍSà&‚Ô‚4.ub𥰺wå²ÊÔqx,û<ËQXO¸"~`Á`dX`=¨6Ä7n´Á( M‰^1K}M35 ’8òpáôÆ~ý;œÂ×ÚÎm6;Î^(ûmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/pathLenConstraint0CACRL.crl0000644000175000001440000000050610461517311030717 0ustar dokousers0‚B0¬0  *†H†÷ 0I1 0 UUS10U Test Certificates10UpathLenConstraint0 CA 010419145720Z 110419145720Z /0-0U#0€! µvvÓ³*¬&üª¦OòÖ¡oK0 U0  *†H†÷ V{¥åd‹1dúŸ£%«‹Éº˹ã_=é¹ôôôØLÌžZ6³ÓSªÕº­”¥!Äœ¬=<ã/Si—l.傘1èGùÜ«âì¹?²a ­"$öÿJ’8›€?òØ{ýÔ ‚,Høž~‘U !èÝ•¬Çׯ„ô#»ÚÍ¢mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/BadnotAfterDateCACRL.crl0000644000175000001440000000050510461517311030165 0ustar dokousers0‚A0«0  *†H†÷ 0H1 0 UUS10U Test Certificates10UBad notAfter Date CA 010419145720Z 110419145720Z /0-0U#0€- &>a#.7§Êé2©Qàµ20 U0  *†H†÷ ¦ÝÙ½‡ •¥’éݼß´]1ÙvoÏÚ nø½AÖO£ôx¨g–ïŠÁw貃^ÐóS6¨x9ÒÏë·Wæ¬3‡œd£]qy·ˆ“D¥2y…üú¥¥Ö™`.¥..j`A)p*'·›Ruýžâ€ön9už¨p³Ê×././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/inhibitPolicyMapping1P1subCACRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/inhibitPolicyMapping1P1subCACRL.c0000644000175000001440000000051710461517311031761 0ustar dokousers0‚K0µ0  *†H†÷ 0R1 0 UUS10U Test Certificates1'0%UinhibitPolicyMapping1 P1 subCA 010419145720Z 110419145720Z /0-0U#0€¶¦ÁêÀRS߆ýfIä´F¾c3 0 U0  *†H†÷ ªüjéªmFŸeì»JãÞüîKja{Oʰ†ù>îBp¿pQ «ðµQOxòY[oy¶ÙÂ8ƒ"´®dcZ¯Xl¡â?dÎò$ ¤wRáÌ#?_§‰ …ûÍøÁ ˜»bÃb u8°“Ö¿"ÐÿR%r¼ÉÔåwú¶„»ÙE ././@LongLink0000644000000000000000000000015700000000000011606 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/basicConstraintsNotCriticalcAFalseCACRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/basicConstraintsNotCriticalcAFals0000644000175000001440000000053210461517311032371 0ustar dokousers0‚V0À0  *†H†÷ 0]1 0 UUS10U Test Certificates1200U)basicConstraints Not Critical cA False CA 010419145720Z 110419145720Z /0-0U#0€Ä•âºvlÝã»KhýBEøTì[Í0 U0  *†H†÷ ¤SèL¬ÅÖfŸÈ¦L­Òo.1¶H7kžèvŠÿ#€:I¢‘Ô” ½›, Íßè¤~±Î7ê#\ÿÂvnÄ„Ó!*ï}.ýqT-Šïõ–sñzÉ|w†´ß G£‹›±÷¼!dm—ʲèM÷fÄxu]v¸|]ˆô®¸l'Ä– ²5ûjÚøþsß././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/onlySomeReasonsCA3otherreasonsCRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/onlySomeReasonsCA3otherreasonsCRL0000644000175000001440000000066710461517311032310 0ustar dokousers0‚³0‚0  *†H†÷ 0G1 0 UUS10U Test Certificates10U onlySomeReasons CA3 010419145720Z 110419145720Z  00U#0€I{ëOiû~£ßÛ#‘÷ZVjù¶00 U0nUÿd0b [ Y¤W0U1 0 UUS10U Test Certificates10U onlySomeReasons CA31 0 UCRLƒŸ€0  *†H†÷ Í(ff’¥’ü‘ûÆ}Íð ÕK@øý 9ô ¬N¯0 ÌëÌï|=@þÿûK`ÞŠ§~l™‚7BëðI‡#ôš²ßš Q)ªÄ¸˜=É)­ˆà ›“­ Šô¢ò15F8ð’$} ›m fÒˆo PNÉ™w6J‘MiF ûwJ=Þmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/inhibitPolicyMapping5subCACRL.crl0000644000175000001440000000051410461517311032117 0ustar dokousers0‚H0²0  *†H†÷ 0O1 0 UUS10U Test Certificates1$0"UinhibitPolicyMapping5 subCA 010419145720Z 110419145720Z /0-0U#0€ït]½'!\mwD&mÜ¿û¾ck 0 U0  *†H†÷ 3à#U5úŒè5!ø5(¦/W[kß>—vrs\Ú{†c€3^Èö;¡3àíŽïŠÌž3"µ”2˜eqÄ®è6Óž$QwêÑ©¡æÅb»‚*ª:Y¦rH•‘º4 &©Ôïk WŽd)pw4’ã낚Á2././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/onlySomeReasonsCA3compromiseCRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/onlySomeReasonsCA3compromiseCRL.c0000644000175000001440000000066610461517311032171 0ustar dokousers0‚²0‚0  *†H†÷ 0G1 0 UUS10U Test Certificates10U onlySomeReasons CA3 010419145720Z 110419145720Z Ÿ0œ0U#0€I{ëOiû~£ßÛ#‘÷ZVjù¶00 U0mUÿc0a [ Y¤W0U1 0 UUS10U Test Certificates10U onlySomeReasons CA31 0 UCRLƒ`0  *†H†÷ ®À^9²àJ^úÖ2yyñQYsñ³.ýCD$œ=þ7Eî˜nÓúÄš±=âm;Œ—DŸPÆÙ5QrËÔ^éwÊ1-«aqk¨Êró*, •eógSÁÑ=þ/?ºj‚£ß7ƈÁ¡],šKÒ¿‘z”˜ð"AHòáãÉû%mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/P1anyPolicyMapping1to2CACRL.crl0000644000175000001440000000051410461517311031370 0ustar dokousers0‚H0²0  *†H†÷ 0O1 0 UUS10U Test Certificates1$0"UP1anyPolicy Mapping 1to2 CA 010419145720Z 110419145720Z /0-0U#0€-7Ò?žYÙæ¾W¢÷k‚¦­î0 U0  *†H†÷ VR„\Ægáõp”ů¸Þ8ܰeŠi€µšù/lŽƒZ[3Ò©ÆÇ ’ÍŸ¼ô0Ø¿ŽÀ˜Ôܾµ1€v0ø5HE¥%*’ß®Lˆ^4Õê9ŒòäÇäÁ5E;ooóã/C­®ã˜:~HQ̨8Î81œ6^ ëõéC©_w¤¼DÄ mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/nameConstraintsDN3CACRL.crl0000644000175000001440000000050710461517311030655 0ustar dokousers0‚C0­0  *†H†÷ 0J1 0 UUS10U Test Certificates10UnameConstraints DN3 CA 010419145720Z 110419145720Z /0-0U#0€‹ã¸XVŸjß=Ø;³6á˶Ê0 U0  *†H†÷ ©>ùÃ\°ë…YÛÉr>´+0m"ÜœŸüŠ­›H°ŸG>ÒDl=Äl»‚l&…ëœH“ œf%…±^þq£Ö-MÀË?Fþê1ŠÛÒõ³H­ H ´ÍéÅ]j?ø¼™9[)ˆ-}´¾”採~1*Fù<ÑÂiþbô»°k¢mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/requireExplicitPolicy7CACRL.crl0000644000175000001440000000051210461517311031621 0ustar dokousers0‚F0°0  *†H†÷ 0M1 0 UUS10U Test Certificates1"0 UrequireExplicitPolicy7 CA 010419145720Z 110419145720Z /0-0U#0€"çÛpˆNòb/p˵ÁÍNM0 U0  *†H†÷ •[Ò‚€:ô_Š:c¶~FæI_Ñê‚$Ï€K7½òä·(Të`Ø;å¾ >8pªÐ{˜™Uš 0.†Îe¡]`Ué´¯Á¢ßËcÇ£E‚…‡N,z;Rç?7 ŠAò¨èÙÛ*©åèPJ¼õQ²GýŒsWÏ—5Ý£Çˬ*ËS ßEmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/nameConstraintsDN2CACRL.crl0000644000175000001440000000050710461517311030654 0ustar dokousers0‚C0­0  *†H†÷ 0J1 0 UUS10U Test Certificates10UnameConstraints DN2 CA 010419145720Z 110419145720Z /0-0U#0€¡|ÄÒ{ &ŽQö ¬ÛvñÑb­0 U0  *†H†÷ aHç?®´kÙ±rLêj·ç“üÖïKd¢Í¨ELµ[`$ƒñ6"u¹–"/H†½©õ›ð»Èôpmq£‹ ¥ê_BE·àMîG9S:Za:k‹9&Ê8øµÇDÓG}h)¹M†¯ü&ÚcÿšQ3„¼¦îòa$’†®sA¶mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/deltaCRLCA1CRL.crl0000644000175000001440000000077510461517311026722 0ustar dokousers0‚ù0‚b0  *†H†÷ 0@1 0 UUS10U Test Certificates10U deltaCRL CA1 010419145720Z 110419145720Z0f0  010419145720Z0 0 U 0  010419145720Z0 0 U 0  010419145720Z0 0 U  …0‚0U#0€“M¼ò× ® H¬º2 ×è Í0 U0SU.L0J0H F D¤B0@1 0 UUS10U Test Certificates10U deltaCRL CA10  *†H†÷ H2Ú:Âq7ê$Z/¸ž–³á*míµ{ë0¬‡ÀŠmÊ$ôsݽ·øÌU1óÙâ¢\|Q`m ÛCRœ”ú†2æ¦~ÎæÁ.þ3"³_féÓÞÄ”½ +.†è&õô89b~è»ÍÈ»‚’q–Šs×ïú¥Â”Sé,4§P}ëNmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/nameConstraintsDN1subCA1CRL.crl0000644000175000001440000000054710461517311031452 0ustar dokousers0‚c0Í0  *†H†÷ 0j1 0 UUS10U Test Certificates10U permittedSubtree11#0!UnameConstraints DN1 subCA1 010419145720Z 110419145720Z /0-0U#0€î¹ÏÖ/ŽÈ…“þî£PXþB00 U0  *†H†÷ 1u§%äK Ð)jh ç¢Y¯Ÿ"°ñg+…ëÜ£­t‰ÝÛ*q¨"Ž/øÊ{óÏ2mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/inhibitAnyPolicy1CACRL.crl0000644000175000001440000000050510461517311030535 0ustar dokousers0‚A0«0  *†H†÷ 0H1 0 UUS10U Test Certificates10UinhibitAnyPolicy1 CA 010419145720Z 110419145720Z /0-0U#0€fÛµ”Çij>+‘¹ßȨÐM+4D0 U0  *†H†÷ ¦"KÀC íåŽÑ‹ Ò̶‹›!èü/„¡Í< ¿s¾šò´å 1‡+aðÍ>­ÛØ-‘Ûº\ý•Y6 º ñy©h–¡.Ì jC“ €q·>Ž:Út1\삹<ˆÿoQõøØGŸ=<\˜¾ðÞØ¦VéSbÍ V‘ÇêÈ».¦8µmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/nameConstraintsDNS2CACRL.crl0000644000175000001440000000051010461517311030771 0ustar dokousers0‚D0®0  *†H†÷ 0K1 0 UUS10U Test Certificates1 0UnameConstraints DNS2 CA 010419145720Z 110419145720Z /0-0U#0€~Ü;êޜқBDï{Ín’à´0 U0  *†H†÷ ñ<œ%Øåó™—rGÑ”¡ð ïŸLÆ>“#v’÷h÷Ы}s ºøêYÃ6p³á€?8eBwx•ym©ˆÇTY²RÚZX¡sxgAž‚´«óÑtÎúx‹ÅÿÊ@ʈ¬txAK`…?C1~`»=‘ ßój@mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/nameConstraintsURI2CACRL.crl0000644000175000001440000000051010461517311031004 0ustar dokousers0‚D0®0  *†H†÷ 0K1 0 UUS10U Test Certificates1 0UnameConstraints URI2 CA 010419145720Z 110419145720Z /0-0U#0€†¤UcñŒ #§§¼ËlªmÐZÆZ0 U0  *†H†÷ sî­!$ˆÇp'‚ÏhúaÚ,©ž ´~ã¬Iü‚vÐl€³°6LDÚ骚ßf €ôð „/WG–á÷®æ¾…žSà—šh~ò2Œ×‰cÝ?G0DãBî0ÂÖÎ:FOlŒâCÃ~ZQÎ^szí÷Z¨ òðg¯á¸ëŸÍ+$b././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/GeneralizedTimeCRLnextUpdateCACRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/GeneralizedTimeCRLnextUpdateCACRL0000644000175000001440000000052210461517311032071 0ustar dokousers0‚N0¸0  *†H†÷ 0S1 0 UUS10U Test Certificates1(0&UGenerizedTime CRL nextUpdate CA 010419145720Z20500101120100Z /0-0U#0€†.`b´¤ˆ㊫x¢îÑ00 U0  *†H†÷ ÊKtN0Ãl"ÉN[*¡+œz‚ SߤEu«ëZÂèò¿W÷Ð.±ÌV ¾²rã´ÈýÎWœ¶ËÜM€d®IOØ–§«ª"aeWcœñåϱl¡6(&—/ït7á‰~Èì߬‘òãõ¥'‡Ý)¹5Õᙑ¥1$€ }mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/Mapping1to2CACRL.crl0000644000175000001440000000050010461517311027272 0ustar dokousers0‚<0¦0  *†H†÷ 0C1 0 UUS10U Test Certificates10UMapping 1to2 CA 010419145720Z 110419145720Z /0-0U#0€7;Š¡º§t›ÀëÖ9Ë! £V}0 U0  *†H†÷ )cŒW¤5»,. ~Áâ9,ƒÖ_):pcªBèý?dö‹­†'æ]Hïm¼¾z$©m°NMXORÈ¿Üp|ê^TÛ]bÅc.´ÒúQlÚ?A6ÎcµFæ}ÛPi‚j4E 8^òÕ‹wäêjšútí´ZºhòhÄÒUžmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/LongSerialNumberCACRL.crl0000644000175000001440000000057510461517311030415 0ustar dokousers0‚y0ã0  *†H†÷ 0I1 0 UUS10U Test Certificates10ULong Serial Number CA 010419145720Z 110419145720Z0503  010419145720Z0 0 U  /0-0U#0€ß=Hûã2ç¹&R‹Úìø O³Çߦ0 U0  *†H†÷ z cžUÑë?7—Eal£!Ÿƒ½ÎcH|¨Ê6;Qfà#ßÞê†ræ’šcÇ10îbƒ># )#ìª.öº”Eç¯^D <+kŒ|zm¢÷µžêÖùM1‘êM·ï_Z.cü7ZÛ¦>Þk§„ƒÒ§[â…Ÿ ð3Së£ÑÔmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/BasicSelfIssuedOldKeyCACRL.crl0000644000175000001440000000056110461517311031320 0ustar dokousers0‚m0×0  *†H†÷ 0P1 0 UUS10U Test Certificates1%0#UBasic Self-Issued Old Key CA 010419145720Z 110419145720Z0"0  010419145720Z0 0 U  /0-0U#0€ºŒ!‡s˜úë¹ÙoA¤EÕ†ê0 U0  *†H†÷ bÞ“Œ6ݲqV»Nä27QÞnÝ>%ŒÔ~üfTt 20ÒIÜ­j´üìæVþæìSžAf1,î:¾½t4›qÁg;(¹…årÍð+§ÙÕãC%JR.y$RÏuá<5‚Ñ]ö‹E$g턟ÇÀU^Rv>/ô¯®Ø$£h]µEtmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/inhibitAnyPolicy1subCA2CRL.crl0000644000175000001440000000051110461517311031326 0ustar dokousers0‚E0¯0  *†H†÷ 0L1 0 UUS10U Test Certificates1!0UinhibitAnyPolicy1 subCA2 010419145720Z 110419145720Z /0-0U#0€«ÈA&ÐÕLæ+Vgìï‚ÄÂÝòU0 U0  *†H†÷ …ëh»‘]š *÷\sèK#’ÃÖ³‹ºÒ¹Ü¡äH)¨˜ÏYÛ+ÞÎÛÍZÝÞõ󑜦ÈLÑî$|•ß íMù¥C‰¯ö$°pœb†ø áaÖ™í{ˆXŸyÖ:ºªR—^}ΚÒ4Ÿ ¼ ø-ÅÒ×ë©Y%Emauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/UIDCACRL.crl0000644000175000001440000000046710461517311025626 0ustar dokousers0‚300  *†H†÷ 0:1 0 UUS10U Test Certificates10 UUID CA 010419145720Z 110419145720Z /0-0U#0€Òe|ÂÙAˆìÕXDšâÌx0 U0  *†H†÷ i»»'x“pp¼[ëÐ:žx:ãÜŠw“ájɃõdø _' ©ƒ£Äó‡ê$øyA¤DV“x½åƒÙ`/.Ð’A* Ÿ_ˆ˜´kËx˜Ú0Ò7ÒDÇÓüže‰.ôw}õŸK÷r?2ÙØR ÜÎQ!õ%Y4R$­ i/-././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/inhibitPolicyMapping1P12subCACRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/inhibitPolicyMapping1P12subCACRL.0000644000175000001440000000052010461517311031672 0ustar dokousers0‚L0¶0  *†H†÷ 0S1 0 UUS10U Test Certificates1(0&UinhibitPolicyMapping1 P12 subCA 010419145720Z 110419145720Z /0-0U#0€zŠ0öê\6@ ®ØŸ¿¹½‚ÌR0 U0  *†H†÷ sÔ$è:ymœ¤–tý`úe‚Æ &œdÖøÅŽÎp²¤ Aߢ6O-Voïâûç„Óª DgWˆ‹4±tŒW–›â·Ü.Ô£A»$ú¾,¤Ï¾ ªdÿoîá$ÈŽûýþ’ÖU„®qX,jeS49 C[ Al\%°?ó././@LongLink0000644000000000000000000000016400000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/RolloverfromPrintableStringtoUTF8StringCACRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/RolloverfromPrintableStringtoUTF80000644000175000001440000000053710461517311032411 0ustar dokousers0‚[0Å0  *†H†÷ 0b1 0 UUS10U Test Certificates1705U .Rollover from PrintableString to UTF8String CA 010419145720Z 110419145720Z /0-0U#0€7—¤Û4U5É´MÆ~K褉<0 U0  *†H†÷ *r’Í2ÐÄ™cG ›•('ŽI8¼T§Ú÷+X4ؼ­>¤ú…„ûI•? Ãû”*©fDáUOݺl½øù¾ Þ(TýÍôP¬Lžæ’¿Ͷi]ó=%ù-Ô^Nž´ò”0 'M/mAN1® *Ø42’Ö±!™W.cmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/nameConstraintsDN5CACRL.crl0000644000175000001440000000050710461517311030657 0ustar dokousers0‚C0­0  *†H†÷ 0J1 0 UUS10U Test Certificates10UnameConstraints DN5 CA 010419145720Z 110419145720Z /0-0U#0€5Ÿ¬Á¹¡ã:þñ/ºw²NMYí0 U0  *†H†÷ t=v…aÅä#'™¬¿.É@{ûED]ÁnÕZåm5ÑNœá·! *{'íŸôYgKŽÊ|¢x"¿(g1_¿óssíÜþ/V€êì'Ýz…,èýÅ€-­6¬9[ÙyÿT‚Æa7â¶F‹ß,†+iÊÑÃqO?ÇéLÉ#……mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/MissingbasicConstraintsCACRL.crl0000644000175000001440000000051410461517311032041 0ustar dokousers0‚H0²0  *†H†÷ 0O1 0 UUS10U Test Certificates1$0"UMissing basicConstraints CA 010419145720Z 110419145720Z /0-0U#0€F ]7Ò©“E¬í\1çÍö0 U0  *†H†÷ ”IG›Þfß@5•ƒõ’Ú 3x™Íœ42ê†H:žºÆZÞ[h œõ¶ãGþ)EªÄQ!¶pí(ÍÁòCçHx{n(_qùV*":|‹‹|Šô,#gǶ´…™ÙH)Èl­¾$§:ŽVê’K䨛÷³éµ‡úmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/nameConstraintsDNS1CACRL.crl0000644000175000001440000000051010461517311030770 0ustar dokousers0‚D0®0  *†H†÷ 0K1 0 UUS10U Test Certificates1 0UnameConstraints DNS1 CA 010419145720Z 110419145720Z /0-0U#0€uçgG «ñˆˆÛžÕRŽüsx0 U0  *†H†÷ aw¡”ŽÃbkÝëì? àܹúátä]Ò ËBOAš¥‘Ô-WÒo_Íš,$_=!Ÿ‡x3– ѽùP·Áà¯P•zž,•ïò¢t“ÓœÂst–°xiåë´]ÝMêšx¯®¤µixXª}]žî¨-†bkÍgŒ^F././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/RFC3280MandatoryAttributeTypesCACRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/RFC3280MandatoryAttributeTypesCAC0000644000175000001440000000061410461517311031701 0ustar dokousers0‚ˆ0ò0  *†H†÷ 0Ž1 0 UUS10U Test Certificates10 ’&‰“ò,dgov1 0 ’&‰“ò,dtestcertificates10UMaryland1 0 U3451 0 U.CA 010419145720Z 110419145720Z /0-0U#0€ - \¨‚b*6¢MRÈå,P}+0 U0  *†H†÷ RÑŠË2fχ>©ê¢5BtOžC]ls NìEh¿=×åƒfà*„—ŽÒ)*ÆòAèüc<ŠZŒ@ëÃï^p©¯Ù܉(vÿ¶Ë^à‚÷­2<`X<þ$=Ÿhy˜ä €÷cë[ÍÊi€“Š&U㬹~ƒdÔ;&¿ýß_?@0mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/inhibitAnyPolicy5subsubCACRL.crl0000644000175000001440000000051310461517311031764 0ustar dokousers0‚G0±0  *†H†÷ 0N1 0 UUS10U Test Certificates1#0!UinhibitAnyPolicy5 subsubCA 010419145720Z 110419145720Z /0-0U#0€sù ôdœ²ñï·Uª¤¢¯0 U0  *†H†÷ ÇŠ ‘Ô~µ);ÛràaïšÑ²Ì»»ªÝkªvŠDõW´Ò®µ(){ë¦ÉÞ aÕômßvîŸÔk)-æËRKH8L±íNP`h’…†µû˜ÕµRº¡~Ø"þ´ñ¶‹mÌ_Ý%¢¦Bð`Þ¿.ûÖ8Ýíìê|Ý]ð§JÃmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/deltaCRLIndicatorNoBaseCACRL.crl0000644000175000001440000000053410461517311031557 0ustar dokousers0‚X0Â0  *†H†÷ 0P1 0 UUS10U Test Certificates1%0#UdeltaCRLIndicator No Base CA 010419145720Z 110419145720Z >0<0U#0€‹Öÿž)é,PÑ#y]eÛ`pôÓ0 U0 Uÿ0  *†H†÷ s„àÐ]»¤°I-œ˜/Å9ª J[Y Mò¶Gˆ3û¨QÙ±Dqf}HÄþîý+«€ ­AÖQˆÈŽ™ n³ereX;ñ¹¯Ìu«¬|Y2YŽÊÙÍPòùÖNA^b*â:˜ØÿËniMÖtϵ-Ç-<`¦0•4L././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/pathLenConstraint6subsubCA41CRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/pathLenConstraint6subsubCA41CRL.c0000644000175000001440000000051610461517311031761 0ustar dokousers0‚J0´0  *†H†÷ 0Q1 0 UUS10U Test Certificates1&0$UpathLenConstraint6 subsubCA41 010419145720Z 110419145720Z /0-0U#0€ÆÅÝ=×ûtC@ÉÐªå¡ Ö4Š0 U0  *†H†÷ q›ö­9nؾø²‡…uK5<çRH¯ã±{m.YY¯Ìˆ7;xøMzæn#PL€òéÕÏyÎèžøÄ‚+oJ«)½[4W_1];¦µÚWKâ_ãñ°%’òÆW&šN6ÙÉk7ó}¶-l÷Çv×>)g‹.šø,SÚ¦Çl¶V ûß././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/RFC3280OptionalAttributeTypesCACRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/RFC3280OptionalAttributeTypesCACR0000644000175000001440000000063010461517311031650 0ustar dokousers0‚”0þ0  *†H†÷ 0š1 0 UUS10U Test Certificates10U Gaithersburg1 0 U*John1 0U+Q10UA Fictitious1 0 UCA1 0 U,III1 0 U M.D. 010419145720Z 110419145720Z /0-0U#0€¯ŸÌ,¤cBWW×Wc_sÑ0 U0  *†H†÷ ’-ˆ0ë’tc2 ·™Rxƒï¨3‰¸WÿøðA w¾©˜〻°HÒW“¾;¸döš‘ßÔ—j¡Ç)Óæ«cƒ™ÁX‡Žî×…÷Ñ/4ĨwÃ]ÿ+ÅGøôÀ¡:„ ¤—øÊRþB)ÿâšà¬OáGlqÙÚÜmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/UnknownCRLEntryExtensionCACRL.crl0000644000175000001440000000061010461517311032112 0ustar dokousers0‚„0î0  *†H†÷ 0R1 0 UUS10U Test Certificates1'0%UUnknown CRL Entry Extension CA 010419145720Z 110419145720Z0705 010419145720Z0!0 U 0 `†He ÿ /0-0U#0€õ[ëÚÊå愈ŸÙl¿[ΓiM€0 U0  *†H†÷ F‰vѨë}Þ¿¨†HŠÙx®!!b‘=ºy°ÔÊA®ÓCLw-ž™e“YÜrÜÔäóìíc½ Y<¨ ®úïs²¤šçnÂþñõXx•Ò$-LK~{ñŽŸÎ‚v¾¥^wâ3¥Ñ**Èâõ mâçÇœÌ[³ž¢äC…ûg@1†›Æaí†Õâ0 U0  *†H†÷ *Ã-çó‘Ög{fˆù"èdÉ€¢ˆ»× „£u«Õ¯rÐúíNB)b#2%YM£EÁ¼®7ȲÐy–„ }¢ðX×Ä™dÌN‹_ˆöoÏî9T4Œ{çC &ØnÄøj퀚GÓ8»‚›þ¿knÉç>̱J£ß†:-ÊblÝ'¨Q´?źlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/P12Mapping1to3subCACRL.crl0000644000175000001440000000050710461517311030277 0ustar dokousers0‚C0­0  *†H†÷ 0J1 0 UUS10U Test Certificates10UP12 Mapping 1to3 subCA 010419145720Z 110419145720Z /0-0U#0€]ĺxy4&ÃrWÑYô£âT§(qÑ0 U0  *†H†÷ »"ž_®}&v[o‹¤7ú‡ƒa#pÊò½º®r> !pN—LãÐïÙ1Po[ÿQ@s‚ò»ø“h¹ ²Ã[VsRÓu/Q[@?‹qBT3¯U Èÿ¿ÿhCx“Uû~MÛ¨W64ߢu»ú#óŸÞäM’0eŒòdàmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/indirectCRLCA3CRL.crl0000644000175000001440000000065310461517311027427 0ustar dokousers0‚§0‚0  *†H†÷ 0C1 0 UUS10U Test Certificates10U indirectCRL CA3 010419145720Z 110419145720Z ˜0•0U#0€–(¼)¦­XŸg.ÇÂÁ—:ßîˆë(0 U0fUÿ\0Z X V¤T0R1 0 UUS10U Test Certificates10U indirectCRL CA31 0 UCRL10  *†H†÷ e»ˆòýŒvm’®õտȺ»Ô˜Þƒ¥ázé’–÷ÂÎ Þ{ 2Ȥ¦æQ±²å’bïFÓ|_7VG]<”¦>Yk,ž¬ð#„±ÍIÿŽgb52hí$¢v“\²€]¼&«Àô¡Þ:m ®fûnrIYþñ/‡Ò¼˜>3=Õmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/pathLenConstraint0subCACRL.crl0000644000175000001440000000051110461517311031425 0ustar dokousers0‚E0¯0  *†H†÷ 0L1 0 UUS10U Test Certificates1!0UpathLenConstraint0 subCA 010419145720Z 110419145720Z /0-0U#0€Ž«FœKnçåWˆ '“þ'Öç0 U0  *†H†÷ ‹-Îh…`dê^­“eœ“ž§ Iɼ7A¶»n¹ŽÆ [Øk¥v÷Ñ@ðs×h¤°h­cð±µ R¸öìUt"7¥/À¯©i¸Tã <#< { èm­œ6³ÓTœoMÂæ5àk ;¨:†xv¶ìÚ¡<í§ãAÏEÍÒ³µƒmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/RevokedsubCACRL.crl0000644000175000001440000000047610461517311027316 0ustar dokousers0‚:0¤0  *†H†÷ 0A1 0 UUS10U Test Certificates10U Revoked subCA 010419145720Z 110419145720Z /0-0U#0€xõ½K–³-æ@P2븴GT òH0 U0  *†H†÷ 8‹!êÄ.6;Ñ#Ъè‡bKch’±Z":™^r§’A¶°…ðÿHêÚXÒw&ÂáVRiEÊ8˜õ«Lþš0dXdãh÷¥?†ÿ:‚½V§£¢[û÷!˜ ;¼ =”ŒßOkµh<ÏçiqL ±zS$\Iúšmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/BasicSelfIssuedNewKeyCACRL.crl0000644000175000001440000000056110461517311031333 0ustar dokousers0‚m0×0  *†H†÷ 0P1 0 UUS10U Test Certificates1%0#UBasic Self-Issued New Key CA 010419145720Z 110419145720Z0"0  010419145720Z0 0 U  /0-0U#0€¯¹ùÂE̸!â§G¼I½µx(0 U0  *†H†÷ sþÅÛ†îkøh…Ò ÁDÑ3]šB§© ½80Áñ>Á¸ÙLºý=|©f_”úFè#”N Ek!εÏ?æ3Ь¦êÅù2nu1ykŽP†‰ùóégç“·Ó°Ÿ,—œ·~~Æ^ørMk0òißh]ª „ñhý“ö¡ùÎ././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/inhibitPolicyMapping1P12subCAIPM5CRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/inhibitPolicyMapping1P12subCAIPM50000644000175000001440000000052410461517311031712 0ustar dokousers0‚P0º0  *†H†÷ 0W1 0 UUS10U Test Certificates1,0*U#inhibitPolicyMapping1 P12 subCAIPM5 010419145720Z 110419145720Z /0-0U#0€æÞŽV°ó–ÊĪN’º 𔩔p>0 U0  *†H†÷ Ÿ§­ne¡›ÌIc®vT&_‹£ô˜ÛG€O8¿À öØß´~j®òœjœju™ß6îÓÞY‘2“Ã1l±ÍBËrt'If3àŠ™2{fk‹H!#mÄ´@Övœn¡¿•^¸éÇ¡ñ¼\(|sr…Úñ¦S\mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/pathLenConstraint6CACRL.crl0000644000175000001440000000050610461517311030725 0ustar dokousers0‚B0¬0  *†H†÷ 0I1 0 UUS10U Test Certificates10UpathLenConstraint6 CA 010419145720Z 110419145720Z /0-0U#0€´¤·¢®¹vµËd¥z…J0 U0  *†H†÷  ñ=TÈ"ƒÔiÒã‚ ~¶À¯ôA›QÅÔÅÊQs\ÅÅÖÐl@ÎIç€I©5”„µ»R7bÃ^HWD±Í—¢DïŸuDžXÿÛŽÕüdÃyM¯Ýˆ7¾Ì€zËýç\S±ò%ôêPŒÿXé/þäuÙgxúzmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/keyUsageNotCriticalCACRL.crl0000644000175000001440000000051110461517311031104 0ustar dokousers0‚E0¯0  *†H†÷ 0L1 0 UUS10U Test Certificates1!0UkeyUsage Not Critical CA 010419145720Z 110419145720Z /0-0U#0€Ï*¡¥ýBâ3¼3*M˜s³ØûU¼Ø0 U0  *†H†÷ :MË<~ìOrG˜þº,yM/]èqú5Ó&µ'#ÀÅœ÷á–qÕ|jä@í}F(¡‘™«u+a¥ÅKÑc»•»Lî ŠŽÖe<†ò‹ Mj=á©æ(i‡ëäžÑE\Ý+/nUrâi͈„±Å^†DOΫ¤³íÇX„„Ìmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/inhibitAnyPolicy5subCACRL.crl0000644000175000001440000000051010461517311031247 0ustar dokousers0‚D0®0  *†H†÷ 0K1 0 UUS10U Test Certificates1 0UinhibitAnyPolicy5 subCA 010419145720Z 110419145720Z /0-0U#0€JwbX#¢Ã¹îÇnß퉈M—o0 U0  *†H†÷ †ª | r—G4ml—X-Ùj ÅŒß19÷"Ϩ ?q‘{rÌ®½µÆ!ì•©|•ŠM°õ«ÿ¿\$ýöÒaïЊn„)Ïl2½y¶»áËqÉïëýʇMÉT[Gîù9ÄœÂýd+f ¨lƒ›äú]Š4‘™éš 4`| ºDmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/deltaCRLCA2deltaCRL.crl0000644000175000001440000000056010461517311027725 0ustar dokousers0‚l0Ö0  *†H†÷ 0@1 0 UUS10U Test Certificates10U deltaCRL CA2 030101120000Z 110419145720Z0"0  010419145720Z0 0 U  >0<0U#0€£“«Wf&mr:l¼ƒe£šüŽ C 0 U0 Uÿ0  *†H†÷ %àæ eð+ñíGŒ¤Ýy&x"„–5`Þ{ìpîP=¬Ôš"þãšw¤û»†˜!€>Ó …W².½SÔz¬–>ggm“Ëü¶ñÂ# âÞÂZp45ŠrŒËx­b–†P]lº»å¸è_¶|3‹ªÆ±x§äVv zÛ®õÿmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/MappingToanyPolicyCACRL.crl0000644000175000001440000000051010461517311030760 0ustar dokousers0‚D0®0  *†H†÷ 0K1 0 UUS10U Test Certificates1 0UMapping To anyPolicy CA 010419145720Z 110419145720Z /0-0U#0€º€Ìz,§cZ«N?„ÄSU iú0 U0  *†H†÷ ’Ú *HZ{¦t¼2pJ0‹ñ&´Ï œ‰„˜qHO“ YÀäe¿ÊI=6ó1ƒ>4³šßÓ¤ö}Ëî[Ïàp%”Tœ2JPAê¿ôWÓS|ǼÔ©Ÿ6Q&o7bŠê÷{/Ñ$SÞÛáΉ>q#s²Ú¯y÷J+¤*»mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/pathLenConstraint6subCA1CRL.crl0000644000175000001440000000051210461517311031515 0ustar dokousers0‚F0°0  *†H†÷ 0M1 0 UUS10U Test Certificates1"0 UpathLenConstraint6 subCA1 010419145720Z 110419145720Z /0-0U#0€D4áP&ÿ<# ­¿½NÆ{à HŠª0 U0  *†H†÷ #ƒi=驹 Ÿýd4—±ãÆ%bÄÕËÖ–~–;"|?çöø¥Ô¢†,Ö¶¦Ú*>~pñÑæ nUhOeÒQ× k×ßÛ~.ö^d^jÊH+Œð…7ópgÉDÄ­““æÙÀ~‚⹦(;é ÐêÖ#¡Ä¥mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/DSAParametersInheritedCACRL.crl0000644000175000001440000000036110461517311031465 0ustar dokousers0î0®0 *†HÎ80O1 0 UUS10U Test Certificates1$0"UDSA Parameters Inherited CA 010419145720Z 110419145720Z /0-0U#0€]$îŠUòÆÉ²Â¿Šð²IO:³0 U0 *†HÎ800-‰3Äšg¶ÑÒúÆÛ ©ðœËÛZù“¼,û¾Kñ¢û“ܘô«mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/distributionPoint2CACRL.crl0000644000175000001440000000064310461517311031014 0ustar dokousers0‚Ÿ0‚0  *†H†÷ 0I1 0 UUS10U Test Certificates10U distributionPoint2 CA 010419145720Z 110419145720Z0"0  010419145720Z0 0 U  g0e0U#0€:4‹ãvXXć˜}~Œ¬]¹N0 U06Uÿ,0* (¡&0$UCRL1 of distributionPoint2 CA0  *†H†÷ Œ”ÔíǨÒªM>Õ¤r¯瞃铦’£H9`' nuOà„‰> …ø¬2µvv« d•Nï/4iN=S–{^É´„b¢½_noȾŽÑO3r^Œá.óû#z:4>i?jDá¥þÌ]`#•£H—¿rÝ/«ýY\ÒÁLá÷­Ùmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/PoliciesP123subCAP12CRL.crl0000644000175000001440000000050710461517311030312 0ustar dokousers0‚C0­0  *†H†÷ 0J1 0 UUS10U Test Certificates10UPolicies P123 subCAP12 010419145720Z 110419145720Z /0-0U#0€Z‡!ûÜ“mš |Çj±hKßU×0 U0  *†H†÷ g¸µó‰• R›#í‚3„™Õù*ºzýa.2›¿PÐ̸^ ù}k×Î)}Íš JÉï8.¦F¥JºXq!jRå/ÈXºÝ»µ> [”:–ÐGú¤„7ÀäZB1ÆÌB2…ªäp#âÏëþóþàƒ¼Ä¸ÀÙWÒ././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/requireExplicitPolicy5subsubsubCACRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/requireExplicitPolicy5subsubsubCA0000644000175000001440000000052310461517311032437 0ustar dokousers0‚O0¹0  *†H†÷ 0V1 0 UUS10U Test Certificates1+0)U"requireExplicitPolicy5 subsubsubCA 010419145720Z 110419145720Z /0-0U#0€>©0f/§´%ˆ„gÉ­˜“ø–ÎÅ0 U0  *†H†÷  ×f-.I5™TvîP€â7ÃÕjdò²Ö—Œ¥uਫ਼;FÊÎ1¹Sþû™›{5h\š` Ú©-ظ‰a‰ä@vú¹bÏþ‡l•žÚÛL½>ñ%W;Ó«”{ÞZÿUcþI­;E’úIyE‰=pu©S•ÖÂFCvAÀI#Ðï¼././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/UTF8StringCaseInsensitiveMatchCACRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/UTF8StringCaseInsensitiveMatchCAC0000644000175000001440000000052510461517311032072 0ustar dokousers0‚Q0»0  *†H†÷ 0X1 0 UUS10U Test Certificates1-0+U $UTF8String Case Insensitive Match CA 010419145720Z 110419145720Z /0-0U#0€6b)|¥ÂЄÇ^£'ß©Db0 U0  *†H†÷ 2õFÀZ‡†•ßi×È™L„_÷èÇf'As¤rö f©÷Íb"‡Ý$”wÁ8ãœÌpd)·Ùv”Y×&C†5ck ¤ÔO}‡j¶¼h4›­Ð4;r|%²¡$îïÓ<¦!ÍypÔm]Æg9â#0v[÷µNÎí>W.XÌìíµR././@LongLink0000644000000000000000000000016200000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/requireExplicitPolicy7subsubsubCARE2RE4CRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/requireExplicitPolicy7subsubsubCA0000644000175000001440000000053110461517311032440 0ustar dokousers0‚U0¿0  *†H†÷ 0\1 0 UUS10U Test Certificates110/U(requireExplicitPolicy7 subsubsubCARE2RE4 010419145720Z 110419145720Z /0-0U#0€ç«Î(åhéji>)¥6cp¡š0 U0  *†H†÷ .ÑÑF`%oœ[ÉOnâþö:ŒëMPÍ6ÙªÏÎ0~Š $mgcȇi¤͆ªÒ;@8ÉùÿG#ñ>ÜøŸÑ¯0¥GYÏŠÂ*ŒœÙxc]ŒÏyú>ðŽ—Üg(¯_m‡åà&‹‘õiö 0ø^Ðyâ†Q62Hmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/nameConstraintsDN4CACRL.crl0000644000175000001440000000050710461517311030656 0ustar dokousers0‚C0­0  *†H†÷ 0J1 0 UUS10U Test Certificates10UnameConstraints DN4 CA 010419145720Z 110419145720Z /0-0U#0€3)茀L¦­'ƒ%gÅå¶vÌ0 U0  *†H†÷ }W=Å…[ ÑËfaºœ­Ñ|(/.RSc¬Áý0Òñ½ú‰—Ä/s©Ç6¿]æ*!òÙ®óGŒìü€ÉÅ=7ËZåŒV×¾çí÷!ÖlãøÍÜÆ½p¶0½ÑvGb3º¿—A¡Ïb!LÐI¨·Pù£c@^ù [¬Þ~ô'././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/NoissuingDistributionPointCACRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/NoissuingDistributionPointCACRL.c0000644000175000001440000000051710461517311032233 0ustar dokousers0‚K0µ0  *†H†÷ 0R1 0 UUS10U Test Certificates1'0%U No issuingDistributionPoint CA 010419145720Z 110419145720Z /0-0U#0€,Å'#ÑÑAßßa„¹Oñ2ì10 U0  *†H†÷  ާÝ©¦Â ºîÌæzYݱ›òp"~Ä:뜕 c 9ßg¸^|¸ƒuØÞ5ý¼+‡‰®‚…Þ5&«ù@®lžš°µ—_È~~Þ–y }ß\¥™úµ¼­ø¯|uÞps®á{6‹#!™¼‹l-ÞóÅßÁi‰¥µ !€Ä././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/requireExplicitPolicy4subsubCACRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/requireExplicitPolicy4subsubCACRL0000644000175000001440000000052010461517311032262 0ustar dokousers0‚L0¶0  *†H†÷ 0S1 0 UUS10U Test Certificates1(0&UrequireExplicitPolicy4 subsubCA 010419145720Z 110419145720Z /0-0U#0€¾l¬ LS”¸ä‘#¥«c0 U0  *†H†÷ „ú þ„Ð&†\7k,1ªz"„ì°ß™™ð·éÖüpšOPÕ$( y…i£VÊy^wÓzbŸXŠÕ}Þâo¤Ñ.'ì%‚¢‘g D9̲å!I¬%,‘ß3•n«‹ü*Y{]Âh§&àÍ@nó77aöjP¡Ý’Sþmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/onlySomeReasonsCA2CRL2.crl0000644000175000001440000000052610461517311030505 0ustar dokousers0‚R0¼0  *†H†÷ 0G1 0 UUS10U Test Certificates10UonlySomeReasons CA2 010419145720Z 110419145720Z A0?0U#0€ª¡ïØ\Ø8²3‡ç“EAЊ{0 U0Uÿ0ƒ0  *†H†÷ 8|:Gú×zù <øÛ”ç úGk®hôø´L{p¥ _’Œ¸Ã2éU48SaºÙ=Ü9EÜQ\«{g€G¸`lˆKŠWýsi ÿ-Ã#Šbê1ÃJ;‹‰¦ÝNè‹™gqb’Û@¯à´á bBi¶EdØ”O0@Cé8:Y)mr Œ././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/requireExplicitPolicy4subsubsubCACRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/requireExplicitPolicy4subsubsubCA0000644000175000001440000000052310461517311032436 0ustar dokousers0‚O0¹0  *†H†÷ 0V1 0 UUS10U Test Certificates1+0)U"requireExplicitPolicy4 subsubsubCA 010419145720Z 110419145720Z /0-0U#0€÷„+ݱû•ºzZbàs1²*Èy0 U0  *†H†÷ àðèu]ÖOÜ)êÛ"¶»rñÿµà1œdÙ;+Mx÷^« å‚~a•yB»VxÝš’^ èúx³³âJž×Ñ0`}1äa Þ¬é —ª@VÞ6¨âEörÂNÓ-U%ž ÝÚ@‚ØuDu5’’üy»Ø±TƒÿÚßê././@LongLink0000644000000000000000000000015500000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/requireExplicitPolicy10subsubsubCACRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/requireExplicitPolicy10subsubsubC0000644000175000001440000000052410461517311032413 0ustar dokousers0‚P0º0  *†H†÷ 0W1 0 UUS10U Test Certificates1,0*U#requireExplicitPolicy10 subsubsubCA 010419145720Z 110419145720Z /0-0U#0€”×wÅq*ÔÓoôQ ¶Ú¬2ã¯0 U0  *†H†÷ ŽB"¨Ç”ZÓrL˜ëX0XcAÏÚùžõo;N0’‹¨0¼Ë¬-”±bï¹i>0Ô2ÿô†Å]AF9R ßtå5ÄæX”ºÑ~äfáe#<æÞaNq^]$½Rÿ…©êzc7åÀæxJqE2Ç}+»ù5Í¢«ÃŽÉÛn~b”k­mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/MappingFromanyPolicyCACRL.crl0000644000175000001440000000051210461517311031303 0ustar dokousers0‚F0°0  *†H†÷ 0M1 0 UUS10U Test Certificates1"0 UMapping From anyPolicy CA 010419145720Z 110419145720Z /0-0U#0€÷Á«5Ø/†Z67YoÁÁ¤m¤¤H0 U0  *†H†÷ °ÒhÉ \Ýèàáí•5ÍpÖ$ˆ×7ÓY8ÃQdʪÄ1€Åך8_gÇÝ ˜q¡³eÝ Ë‡ÅŠâ¿&' V ÃF±uOó[=ì„ùáÇé"o)²kdäª{^½„þ¯©%˜}{¸ðï?ßù&¦„Ðn¹-½•Gz¨((mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/NoPoliciesCACRL.crl0000644000175000001440000000047710461517311027252 0ustar dokousers0‚;0¥0  *†H†÷ 0B1 0 UUS10U Test Certificates10UNo Policies CA 010419145720Z 110419145720Z /0-0U#0€SÁ%}å[>W‘ø–ž]Æ%¨º0 U0  *†H†÷ 2¤šÊ_Qž‘ÛûŠ …›dÇïÕC4{­SMÑCùGˆÞóxg*:K\¥î¹ïùë?ñ9,1«å§Š‡qÆx¡uß„ª:h7Šºey1“ŒNjñ;ûhy4U[BUó-ŸöGdj„ —ª,Æ–í³±¡b´s@ƒ–ìÒÿmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/PoliciesP123CACRL.crl0000644000175000001440000000050110461517311027307 0ustar dokousers0‚=0§0  *†H†÷ 0D1 0 UUS10U Test Certificates10UPolicies P123 CA 010419145720Z 110419145720Z /0-0U#0€п͛ßñ‘ý‚‡Zϯ‹¼òÅÌ0 U0  *†H†÷ Âc³e½Ä-˜|à…Ý_×´zd§`=b:p¯Õ—##šHã·‹À=CÁfè$Ûí©« pQØ}e’êéoË–Ž;Ï”éœÒ'T)Œ„¦"e…FpÚéyŸçv»A˜”³oÜ$È®¼8“Åïmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/inhibitPolicyMapping0CACRL.crl0000644000175000001440000000051110461517311031375 0ustar dokousers0‚E0¯0  *†H†÷ 0L1 0 UUS10U Test Certificates1!0UinhibitPolicyMapping0 CA 010419145720Z 110419145720Z /0-0U#0€léÇ B@AõópŽîáÑR^×7Z0 U0  *†H†÷ ̘êëzð.f:.kýÄ*‰FdZÊÒU>½¼Îôv~h¿òsËÒ´ä´!kàNêÅa =¸ÛaâÕ'HeËGÑf;)©Çfö ,HšÃ7©°t‘³Ôê,¯¨JjNû@°è^XöË‚SGCyï‰k^陃]@íòmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/nameConstraintsRFC822CA2CRL.crl0000644000175000001440000000051310461517311031216 0ustar dokousers0‚G0±0  *†H†÷ 0N1 0 UUS10U Test Certificates1#0!UnameConstraints RFC822 CA2 010419145720Z 110419145720Z /0-0U#0€+6ftK“«1U‡¤1«6co5É0 U0  *†H†÷ G“ÍÖ›1°ÝjØÄâ^:sÍ+i\GuVkV¤/ÂfLk¤š†Sû&9>aÒ…œð¬ÈÁs¥Ã)Æ!LJZÖ!Në}¤¨.é1ï9Îøn+× Á­¾jÃØF$•êÏ,Æ„P¿x1‘y5ŒGÑ ªU4"ÖÔ¢¬¾¸`<././@LongLink0000644000000000000000000000015700000000000011606 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/inhibitPolicyMapping1P12subsubCAIPM5CRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/inhibitPolicyMapping1P12subsubCAI0000644000175000001440000000052710461517311032105 0ustar dokousers0‚S0½0  *†H†÷ 0Z1 0 UUS10U Test Certificates1/0-U&inhibitPolicyMapping1 P12 subsubCAIPM5 010419145720Z 110419145720Z /0-0U#0€$«U•‹•×DÇÝÿ~ýö‘± 0 U0  *†H†÷ Ü 3÷±éøG†.V¼ äFH Í7cqûi4á Ъä÷agF§¸ºg0ë…á ›æýûPêÉóäs…kÌÃðJ+¼u~´Ñd9¶89Ü0w3‘¸wR¶pí$³4z¸ïF“x÷~mj®.È ×v¬FGÿúQ›GËÃÆ…Lžmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/deltaCRLCA3deltaCRL.crl0000644000175000001440000000051410461517311027725 0ustar dokousers0‚H0²0  *†H†÷ 0@1 0 UUS10U Test Certificates10U deltaCRL CA3 030101120000Z 110419145720Z >0<0U#0€âO¿Þ@Öÿ3]"V‰Ü÷Îp½0 U0 Uÿ0  *†H†÷ Ž iÐûüÁàQ¯²œ±ÖÚJñ”¢#>oÉœMÖ°n®Ç#üli>fîú-´vçE|k|µÊÝógÇxÐ TR©Ž6\>›·µñ©aZ•L?©ÒvÃqÝ*šx'M>è“@!B¨ †ô'SŒ<«Ôp).BkÛZ-Témauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/indirectCRLCA4cRLIssuerCRL.crl0000644000175000001440000000074110461517311031222 0ustar dokousers0‚Ý0‚F0  *†H†÷ 0M1 0 UUS10U Test Certificates1"0 U indirectCRL CA4 cRLIssuer 010419145720Z 110419145720Z Ä0Á0U#0€ßœj.YµvÆxõ9 Ûþ…Zc0 U0‘Uÿ†0ƒ ~ |¤z0x1 0 UUS10U Test Certificates1"0 U indirectCRL CA4 cRLIssuer1)0'U indirect CRL for indirectCRL CA4„ÿ0  *†H†÷ ~§!{ŽpÓ#¨×Õ·4Dà­â‰ö~[*·¯W¿•¿^kù@w‡êë±­ áU‚“ð»öåL3iåAÁÉn®´˜8 8á „Ù-Ÿ/~0|¡Å Ã9ª—µ0oÙéÝxÔùIi“Úé0.Î[‰Í[ÇH1i¼šjÌ/½[x´Ä­‹ïmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/NegativeSerialNumberCACRL.crl0000644000175000001440000000055610461517311031257 0ustar dokousers0‚j0Ô0  *†H†÷ 0M1 0 UUS10U Test Certificates1"0 UNegative Serial Number CA 010419145720Z 110419145720Z0"0 ÿ 010419145720Z0 0 U  /0-0U#0€Œ§#MK÷ꡲ‡¹ÀÓ3XË‚0 U0  *†H†÷ }UwÞtø®%5­St’o‰ùí³L¿§p± Jé™[Z gßÍtÖ€-Ê÷À¾žh5Óy‰E§nòu†å(Ð,––ëuÐú§xøPçpkÌŠ0Å]"©ïÝH…‡Ö/Ð,¿úÆÎID7óóy±a«Çù!)?OË6À././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/pathLenConstraint6subsubCA00CRL.crlmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/pathLenConstraint6subsubCA00CRL.c0000644000175000001440000000051610461517311031754 0ustar dokousers0‚J0´0  *†H†÷ 0Q1 0 UUS10U Test Certificates1&0$UpathLenConstraint6 subsubCA00 010419145720Z 110419145720Z /0-0U#0€jæÅAm­>‚ܰ]­òñPÎ 0 U0  *†H†÷ B[q¾Öð´€ö3<Í™ &ópBDøùar³‘ UgÐ#ðvIÆ‚#pÚ:•€ªûN[›f8!Áeqå¶®²zs„š<ò/e ´R¡7¦$¨^r勉1¬Ü :Òõ—ó‚Öýtµ’ÕÓ¥t£bÄmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/BadSignedCACRL.crl0000644000175000001440000000047610461517311027025 0ustar dokousers0‚:0¤0  *†H†÷ 0A1 0 UUS10U Test Certificates10U Bad Signed CA 010419145720Z 110419145720Z /0-0U#0€Bo— #yÁWž:¦ œˆØ0 U0  *†H†÷ ‘}¥N§ñb”ú— FA–1•Iy©åñ„ªÈÜÈ’äüf–›.Žsª­pý޾òt?yZæ*g´F׊ÞÈзÌö…Û¦Fœ­# GªðDEcõ@Ýüu¿K…/út ø)—’®4\nkk@tQX&ß•·r=±vš C71mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/data/crls/PoliciesP1234CACRL.crl0000644000175000001440000000050210461517311027374 0ustar dokousers0‚>0¨0  *†H†÷ 0E1 0 UUS10U Test Certificates10UPolicies P1234 CA 010419145720Z 110419145720Z /0-0U#0€0»yOo²ƒzhC«÷L¡@q 0 U0  *†H†÷ »².†cPz`uãï–â!Îaþ*Ñ7Y°=þÃ빇a:zôï=FÎïä§Þ¦ÿ%x½ßM‹–p¬GŒäwò”?»6!5 Ùi¹€BÐ~UßoüP²œ²S µ liU· e„zŸtRIX.l½·¶4ëÓÌ©?iuæmauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/AllCertificatesSamePolicyTest1_3.java0000644000175000001440000000163711030374656031122 0ustar dokousers/* AllCertificatesSamePolicyTest1_3.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL; see the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/ValidCertificatePathTest1EE.crt data/certs/GoodCACert.crt data/crls/GoodCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; import java.security.cert.PKIXParameters; import java.util.Collections; public class AllCertificatesSamePolicyTest1_3 extends BaseInvalidTest { public AllCertificatesSamePolicyTest1_3() { super (new String[] { "data/certs/ValidCertificatePathTest1EE.crt", "data/certs/GoodCACert.crt" }, new String[] { "data/crls/GoodCACRL.crl" }); } protected void setupAdditionalParams (PKIXParameters params) { params.setExplicitPolicyRequired (true); params.setInitialPolicies (Collections.singleton (NIST_TEST_POLICY_2)); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidpathLenConstraintTest7.java0000644000175000001440000000127311030374656030276 0ustar dokousers/* ValidpathLenConstraintTest7.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidpathLenConstraintTest7EE.crt data/certs/pathLenConstraint0CACert.crt data/crls/pathLenConstraint0CACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class ValidpathLenConstraintTest7 extends BaseValidTest { public ValidpathLenConstraintTest7() { super(new String[] { "data/certs/ValidpathLenConstraintTest7EE.crt", "data/certs/pathLenConstraint0CACert.crt" }, new String[] { "data/crls/pathLenConstraint0CACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/MissingCRLTest1.java0000644000175000001440000000104611030374656025620 0ustar dokousers/* MissingCRLTest1.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidMissingCRLTest1EE.crt data/certs/NoCRLCACert.crt package gnu.testlet.java.security.cert.pkix.pkits; public class MissingCRLTest1 extends BaseInvalidTest { public MissingCRLTest1() { super(new String[] { "data/certs/InvalidMissingCRLTest1EE.crt", "data/certs/NoCRLCACert.crt" }, new String[0]); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidBasicSelfIssuedOldWithNewTest2.java0000644000175000001440000000160311030374656032132 0ustar dokousers/* InvalidBasicSelfIssuedOldWithNewTest2.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidBasicSelfIssuedOldWithNewTest2EE.crt data/certs/BasicSelfIssuedNewKeyOldWithNewCACert.crt data/certs/BasicSelfIssuedNewKeyCACert.crt data/crls/BasicSelfIssuedNewKeyCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidBasicSelfIssuedOldWithNewTest2 extends BaseInvalidTest { public InvalidBasicSelfIssuedOldWithNewTest2() { super(new String[] { "data/certs/InvalidBasicSelfIssuedOldWithNewTest2EE.crt", "data/certs/BasicSelfIssuedNewKeyOldWithNewCACert.crt", "data/certs/BasicSelfIssuedNewKeyCACert.crt" }, new String[] { "data/crls/BasicSelfIssuedNewKeyCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/OverlappingPoliciesTest6_1.java0000644000175000001440000000165110461517310030044 0ustar dokousers/* OverlappingPoliciesTest6_1.java Copyright (C) 2004 Free Software Foundation, Inc. Distributed under the GPL; see the file `COPYING' */ // Tags: JDK1.4 package gnu.testlet.java.security.cert.pkix.pkits; import java.security.cert.PKIXParameters; public class OverlappingPoliciesTest6_1 extends BaseValidTest { public OverlappingPoliciesTest6_1() { super (new String[] { "data/certs/OverlappingPoliciesTest6EE.crt", "data/certs/PoliciesP1234subsubCAP123P12Cert.crt", "data/certs/PoliciesP1234subCAP123Cert.crt", "data/certs/PoliciesP1234CACert.crt" }, new String[] { "data/crls/PoliciesP1234subsubCAP123P12CRL.crl", "data/crls/PoliciesP1234subCAP123CRL.crl", "data/crls/PoliciesP1234CACRL.crl" }); } protected void setupAdditionalParams (PKIXParameters params) { } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/DifferentPoliciesTest3_2.java0000644000175000001440000000172711030374656027475 0ustar dokousers/* DifferentPoliciesTest3_2.java Copyright (C) 2004 Free Software Foundation, Inc. Distributed under the GPL; see the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/DifferentPoliciesTest3EE.crt data/certs/PoliciesP2subCACert.crt data/certs/GoodCACert.crt data/crls/PoliciesP2subCACRL.crl data/crls/GoodCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; import java.security.cert.PKIXParameters; public class DifferentPoliciesTest3_2 extends BaseInvalidTest { public DifferentPoliciesTest3_2() { super (new String[] { "data/certs/DifferentPoliciesTest3EE.crt", "data/certs/PoliciesP2subCACert.crt", "data/certs/GoodCACert.crt" }, new String[] { "data/crls/PoliciesP2subCACRL.crl", "data/crls/GoodCACRL.crl" }); } protected void setupAdditionalParams (PKIXParameters params) { params.setExplicitPolicyRequired (true); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidSelfIssuedpathLenConstraintTest17.java0000644000175000001440000000233011030374656032341 0ustar dokousers/* ValidSelfIssuedpathLenConstraintTest17.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidSelfIssuedpathLenConstraintTest17EE.crt data/certs/pathLenConstraint1SelfIssuedsubCACert.crt data/certs/pathLenConstraint1subCACert.crt data/certs/pathLenConstraint1SelfIssuedCACert.crt data/certs/pathLenConstraint1CACert.crt data/crls/pathLenConstraint1CACRL.crl data/crls/pathLenConstraint1subCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class ValidSelfIssuedpathLenConstraintTest17 extends BaseValidTest { public ValidSelfIssuedpathLenConstraintTest17() { super(new String[] { "data/certs/ValidSelfIssuedpathLenConstraintTest17EE.crt", "data/certs/pathLenConstraint1SelfIssuedsubCACert.crt", "data/certs/pathLenConstraint1subCACert.crt", "data/certs/pathLenConstraint1SelfIssuedCACert.crt", "data/certs/pathLenConstraint1CACert.crt" }, new String[] { "data/crls/pathLenConstraint1CACRL.crl", "data/crls/pathLenConstraint1subCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidBadCRLIssuerNameTest5.java0000644000175000001440000000127411030374656030207 0ustar dokousers/* InvalidBadCRLIssuerNameTest5.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidBadCRLIssuerNameTest5EE.crt data/certs/BadCRLIssuerNameCACert.crt data/crls/BadCRLIssuerNameCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidBadCRLIssuerNameTest5 extends BaseInvalidTest { public InvalidBadCRLIssuerNameTest5() { super(new String[] { "data/certs/InvalidBadCRLIssuerNameTest5EE.crt", "data/certs/BadCRLIssuerNameCACert.crt" }, new String[] { "data/crls/BadCRLIssuerNameCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/ValidGeneralizedTimenotAfterDateTest8.java0000644000175000001440000000123411030374656032205 0ustar dokousers/* ValidGeneralizedTimenotAfterDateTest8.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseValidTest // Files: data/certs/ValidGeneralizedTimenotAfterDateTest8EE.crt data/certs/GoodCACert.crt data/crls/GoodCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class ValidGeneralizedTimenotAfterDateTest8 extends BaseValidTest { public ValidGeneralizedTimenotAfterDateTest8() { super(new String[] { "data/certs/ValidGeneralizedTimenotAfterDateTest8EE.crt", "data/certs/GoodCACert.crt" }, new String[] { "data/crls/GoodCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidUnknownCRLEntryExtensionTest8.java0000644000175000001440000000140411030374656032101 0ustar dokousers/* InvalidUnknownCRLEntryExtensionTest8.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidUnknownCRLEntryExtensionTest8EE.crt data/certs/UnknownCRLEntryExtensionCACert.crt data/crls/UnknownCRLEntryExtensionCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidUnknownCRLEntryExtensionTest8 extends BaseInvalidTest { public InvalidUnknownCRLEntryExtensionTest8() { super(new String[] { "data/certs/InvalidUnknownCRLEntryExtensionTest8EE.crt", "data/certs/UnknownCRLEntryExtensionCACert.crt" }, new String[] { "data/crls/UnknownCRLEntryExtensionCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/cert/pkix/pkits/InvalidMissingbasicConstraintsTest1.java0000644000175000001440000000137311030374656032023 0ustar dokousers/* InvalidMissingbasicConstraintsTest1.java Copyright (C) 2003 Free Software Foundation, Inc. Distributed under the GPL. See the file `COPYING' */ // Tags: JDK1.4 // Uses: BaseInvalidTest // Files: data/certs/InvalidMissingbasicConstraintsTest1EE.crt data/certs/MissingbasicConstraintsCACert.crt data/crls/MissingbasicConstraintsCACRL.crl package gnu.testlet.java.security.cert.pkix.pkits; public class InvalidMissingbasicConstraintsTest1 extends BaseInvalidTest { public InvalidMissingbasicConstraintsTest1() { super(new String[] { "data/certs/InvalidMissingbasicConstraintsTest1EE.crt", "data/certs/MissingbasicConstraintsCACert.crt" }, new String[] { "data/crls/MissingbasicConstraintsCACRL.crl" }); } } mauve-20140821/gnu/testlet/java/security/MessageDigest/0000755000175000001440000000000012375316426021547 5ustar dokousersmauve-20140821/gnu/testlet/java/security/MessageDigest/MessageDigestSHA1Test.java0000644000175000001440000001743612346255001026413 0ustar dokousers// Test of SHA1 digest algorithm. // Copyright (C) 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.security.MessageDigest; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * Test of SHA1 digest algorithm. */ public class MessageDigestSHA1Test implements Testlet { /** * Hash for the text "". * * This hash was generated using SHA-1 algorithm. */ private static final byte[] EXPECTED_HASH_1 = new byte[] { (byte)0xda, (byte)0x39, (byte)0xa3, (byte)0xee, (byte)0x5e, (byte)0x6b, (byte)0x4b, (byte)0x0d, (byte)0x32, (byte)0x55, (byte)0xbf, (byte)0xef, (byte)0x95, (byte)0x60, (byte)0x18, (byte)0x90, (byte)0xaf, (byte)0xd8, (byte)0x07, (byte)0x09, }; /** * Hash for the text "\0". * * This hash was generated using SHA-1 algorithm. */ private static final byte[] EXPECTED_HASH_2 = new byte[] { (byte)0x5b, (byte)0xa9, (byte)0x3c, (byte)0x9d, (byte)0xb0, (byte)0xcf, (byte)0xf9, (byte)0x3f, (byte)0x52, (byte)0xb5, (byte)0x21, (byte)0xd7, (byte)0x42, (byte)0x0e, (byte)0x43, (byte)0xf6, (byte)0xed, (byte)0xa2, (byte)0x78, (byte)0x4f, }; /** * Hash for the text " ". * * This hash was generated using SHA-1 algorithm. */ private static final byte[] EXPECTED_HASH_3 = new byte[] { (byte)0xb8, (byte)0x58, (byte)0xcb, (byte)0x28, (byte)0x26, (byte)0x17, (byte)0xfb, (byte)0x09, (byte)0x56, (byte)0xd9, (byte)0x60, (byte)0x21, (byte)0x5c, (byte)0x8e, (byte)0x84, (byte)0xd1, (byte)0xcc, (byte)0xf9, (byte)0x09, (byte)0xc6, }; /** * Hash for the text "a". * * This hash was generated using SHA-1 algorithm. */ private static final byte[] EXPECTED_HASH_4 = new byte[] { (byte)0x86, (byte)0xf7, (byte)0xe4, (byte)0x37, (byte)0xfa, (byte)0xa5, (byte)0xa7, (byte)0xfc, (byte)0xe1, (byte)0x5d, (byte)0x1d, (byte)0xdc, (byte)0xb9, (byte)0xea, (byte)0xea, (byte)0xea, (byte)0x37, (byte)0x76, (byte)0x67, (byte)0xb8, }; /** * Hash for the text "text". * * This hash was generated using SHA-1 algorithm. */ private static final byte[] EXPECTED_HASH_5 = new byte[] { (byte)0x37, (byte)0x2e, (byte)0xa0, (byte)0x8c, (byte)0xab, (byte)0x33, (byte)0xe7, (byte)0x1c, (byte)0x02, (byte)0xc6, (byte)0x51, (byte)0xdb, (byte)0xc8, (byte)0x3a, (byte)0x47, (byte)0x4d, (byte)0x32, (byte)0xc6, (byte)0x76, (byte)0xea, }; /** * Hash for the text "Hello world!". * * This hash was generated using SHA-1 algorithm. */ private static final byte[] EXPECTED_HASH_6 = new byte[] { (byte)0xd3, (byte)0x48, (byte)0x6a, (byte)0xe9, (byte)0x13, (byte)0x6e, (byte)0x78, (byte)0x56, (byte)0xbc, (byte)0x42, (byte)0x21, (byte)0x23, (byte)0x85, (byte)0xea, (byte)0x79, (byte)0x70, (byte)0x94, (byte)0x47, (byte)0x58, (byte)0x02, }; /** * Hash for the text "Even longer text...". * * This hash was generated using SHA-1 algorithm. */ private static final byte[] EXPECTED_HASH_7 = new byte[] { (byte)0x4e, (byte)0x0b, (byte)0xc0, (byte)0xe1, (byte)0x92, (byte)0x9c, (byte)0xb8, (byte)0xe3, (byte)0x6c, (byte)0xf1, (byte)0xb4, (byte)0xe9, (byte)0x28, (byte)0xc6, (byte)0x4f, (byte)0x98, (byte)0xc3, (byte)0x2c, (byte)0xff, (byte)0x92, }; /** * Hash for the text "Lorem ipsum dolor sit amet, consectetur adipisicing * elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. * Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi * ut aliquip ex ea commodo consequat. Duis aute irure dolor in * reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla * pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa * qui officia deserunt mollit anim id est laborum.". * * This hash was generated using SHA-1 algorithm. */ private static final byte[] EXPECTED_HASH_8 = new byte[] { (byte)0x19, (byte)0xaf, (byte)0xa2, (byte)0xa4, (byte)0xa3, (byte)0x74, (byte)0x62, (byte)0xc7, (byte)0xb9, (byte)0x40, (byte)0xa6, (byte)0xc4, (byte)0xc6, (byte)0x13, (byte)0x63, (byte)0xd4, (byte)0x9c, (byte)0x3a, (byte)0x35, (byte)0xf4, }; /** * Generate hash for given text using the specified hash algorithm. */ private static byte[] generateHash(TestHarness harness, String algorithmName, String text) throws NoSuchAlgorithmException { MessageDigest md = MessageDigest.getInstance(algorithmName); harness.check(md != null); md.update(text.getBytes()); byte[] digest = md.digest(); harness.check(digest != null); harness.check(digest.length, 20); return digest; } /** * Compare digest (hash) with the expected result. */ private void dotest(TestHarness harness, String algorithmName, byte[] expectedHash, String text) throws NoSuchAlgorithmException { byte[] digest; digest = generateHash(harness, algorithmName, text); for (int i = 0; i < digest.length; i++) { if (digest[i] != expectedHash[i]) { harness.fail("Difference found at offset " + i); } } } private void run(TestHarness harness) throws NoSuchAlgorithmException { dotest(harness, "SHA-1", EXPECTED_HASH_1, ""); dotest(harness, "SHA-1", EXPECTED_HASH_2, "\0"); dotest(harness, "SHA-1", EXPECTED_HASH_3, " "); dotest(harness, "SHA-1", EXPECTED_HASH_4, "a"); dotest(harness, "SHA-1", EXPECTED_HASH_5, "text"); dotest(harness, "SHA-1", EXPECTED_HASH_6, "Hello world!"); dotest(harness, "SHA-1", EXPECTED_HASH_7, "Even longer text..."); dotest(harness, "SHA-1", EXPECTED_HASH_8, "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { try { run(harness); } catch (NoSuchAlgorithmException e) { // algorithm implementation can't be found harness.fail("Fail for algorithm SHA1."); harness.debug(e); } } /** * @param args * @throws NoSuchAlgorithmException */ public static void main(String[] args) { try { new MessageDigestSHA1Test().run(null); System.out.println("OK"); } catch (NoSuchAlgorithmException e) { } } } mauve-20140821/gnu/testlet/java/security/MessageDigest/Instance.java0000644000175000001440000000566107552360455024170 0ustar dokousers// Tags: JDK1.2 // // Uses: MauveDigest // Copyright (C) 2002 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.security.MessageDigest; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.security.Security; import java.security.Provider; import java.security.MessageDigest; import java.security.GeneralSecurityException; public class Instance extends Provider implements Testlet { static final String NAME = "Mauve-Test-Provider-Digest"; static final double VERSION = 3.14; static final String INFO = "Mauve Info-Test implements MauveDigest"; TestHarness harness; public Instance() { super(NAME, VERSION, INFO); put("MessageDigest.MauveDigest", "gnu.testlet.java.security.MessageDigest.MauveDigest"); put("Alg.Alias.MessageDigest.MauveAlias", "MauveDigest"); } void checkDigest(String name) { checkDigest(name, null); } void checkDigest(String name, String provider) { String checkPoint = name + (provider == null ? "" : " " + provider); harness.checkPoint(checkPoint); MessageDigest d; try { if (provider == null) d = MessageDigest.getInstance(name); else d = MessageDigest.getInstance(name, provider); } catch (GeneralSecurityException gse) { harness.fail(checkPoint + " caught " + gse); return; } // Just make sure we got the correct MessageDigest harness.check(d.getAlgorithm(), name); harness.check(d.getProvider(), this); // Do some of our dummy operations d.reset(); byte[] digest; digest = d.digest(); harness.check(digest.length, 0); byte[] message = new byte[] {0, 1, 2, 3}; digest = d.digest(message); harness.check(MessageDigest.isEqual(digest, message)); d.update((byte)6); byte[] bs = d.digest(); harness.check(bs[0], (byte)6); } public void test (TestHarness h) { this.harness = h; Security.addProvider(this); checkDigest("MauveDigest"); checkDigest("MAUVEDIGEST"); checkDigest("MauveAlias"); checkDigest("MAUVEALIAS"); checkDigest("MauveDigest", NAME); checkDigest("MAUVEDIGEST", NAME); checkDigest("MauveAlias", NAME); checkDigest("MAUVEALIAS", NAME); } } mauve-20140821/gnu/testlet/java/security/MessageDigest/MessageDigestSHA256Test.java0000644000175000001440000002246212346255001026562 0ustar dokousers// Test of SHA256 digest algorithm. // Copyright (C) 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.security.MessageDigest; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * Test of SHA256 digest algorithm. */ public class MessageDigestSHA256Test implements Testlet { /** * Hash for the text "". * * This hash was generated using SHA-256 algorithm. */ private static final byte[] EXPECTED_HASH_1 = new byte[] { (byte)0xe3, (byte)0xb0, (byte)0xc4, (byte)0x42, (byte)0x98, (byte)0xfc, (byte)0x1c, (byte)0x14, (byte)0x9a, (byte)0xfb, (byte)0xf4, (byte)0xc8, (byte)0x99, (byte)0x6f, (byte)0xb9, (byte)0x24, (byte)0x27, (byte)0xae, (byte)0x41, (byte)0xe4, (byte)0x64, (byte)0x9b, (byte)0x93, (byte)0x4c, (byte)0xa4, (byte)0x95, (byte)0x99, (byte)0x1b, (byte)0x78, (byte)0x52, (byte)0xb8, (byte)0x55, }; /** * Hash for the text "\0". * * This hash was generated using SHA-256 algorithm. */ private static final byte[] EXPECTED_HASH_2 = new byte[] { (byte)0x6e, (byte)0x34, (byte)0x0b, (byte)0x9c, (byte)0xff, (byte)0xb3, (byte)0x7a, (byte)0x98, (byte)0x9c, (byte)0xa5, (byte)0x44, (byte)0xe6, (byte)0xbb, (byte)0x78, (byte)0x0a, (byte)0x2c, (byte)0x78, (byte)0x90, (byte)0x1d, (byte)0x3f, (byte)0xb3, (byte)0x37, (byte)0x38, (byte)0x76, (byte)0x85, (byte)0x11, (byte)0xa3, (byte)0x06, (byte)0x17, (byte)0xaf, (byte)0xa0, (byte)0x1d, }; /** * Hash for the text " ". * * This hash was generated using SHA-256 algorithm. */ private static final byte[] EXPECTED_HASH_3 = new byte[] { (byte)0x36, (byte)0xa9, (byte)0xe7, (byte)0xf1, (byte)0xc9, (byte)0x5b, (byte)0x82, (byte)0xff, (byte)0xb9, (byte)0x97, (byte)0x43, (byte)0xe0, (byte)0xc5, (byte)0xc4, (byte)0xce, (byte)0x95, (byte)0xd8, (byte)0x3c, (byte)0x9a, (byte)0x43, (byte)0x0a, (byte)0xac, (byte)0x59, (byte)0xf8, (byte)0x4e, (byte)0xf3, (byte)0xcb, (byte)0xfa, (byte)0xb6, (byte)0x14, (byte)0x50, (byte)0x68, }; /** * Hash for the text "a". * * This hash was generated using SHA-256 algorithm. */ private static final byte[] EXPECTED_HASH_4 = new byte[] { (byte)0xca, (byte)0x97, (byte)0x81, (byte)0x12, (byte)0xca, (byte)0x1b, (byte)0xbd, (byte)0xca, (byte)0xfa, (byte)0xc2, (byte)0x31, (byte)0xb3, (byte)0x9a, (byte)0x23, (byte)0xdc, (byte)0x4d, (byte)0xa7, (byte)0x86, (byte)0xef, (byte)0xf8, (byte)0x14, (byte)0x7c, (byte)0x4e, (byte)0x72, (byte)0xb9, (byte)0x80, (byte)0x77, (byte)0x85, (byte)0xaf, (byte)0xee, (byte)0x48, (byte)0xbb, }; /** * Hash for the text "text". * * This hash was generated using SHA-256 algorithm. */ private static final byte[] EXPECTED_HASH_5 = new byte[] { (byte)0x98, (byte)0x2d, (byte)0x9e, (byte)0x3e, (byte)0xb9, (byte)0x96, (byte)0xf5, (byte)0x59, (byte)0xe6, (byte)0x33, (byte)0xf4, (byte)0xd1, (byte)0x94, (byte)0xde, (byte)0xf3, (byte)0x76, (byte)0x1d, (byte)0x90, (byte)0x9f, (byte)0x5a, (byte)0x3b, (byte)0x64, (byte)0x7d, (byte)0x1a, (byte)0x85, (byte)0x1f, (byte)0xea, (byte)0xd6, (byte)0x7c, (byte)0x32, (byte)0xc9, (byte)0xd1, }; /** * Hash for the text "Hello world!". * * This hash was generated using SHA-256 algorithm. */ private static final byte[] EXPECTED_HASH_6 = new byte[] { (byte)0xc0, (byte)0x53, (byte)0x5e, (byte)0x4b, (byte)0xe2, (byte)0xb7, (byte)0x9f, (byte)0xfd, (byte)0x93, (byte)0x29, (byte)0x13, (byte)0x05, (byte)0x43, (byte)0x6b, (byte)0xf8, (byte)0x89, (byte)0x31, (byte)0x4e, (byte)0x4a, (byte)0x3f, (byte)0xae, (byte)0xc0, (byte)0x5e, (byte)0xcf, (byte)0xfc, (byte)0xbb, (byte)0x7d, (byte)0xf3, (byte)0x1a, (byte)0xd9, (byte)0xe5, (byte)0x1a, }; /** * Hash for the text "Even longer text...". * * This hash was generated using SHA-256 algorithm. */ private static final byte[] EXPECTED_HASH_7 = new byte[] { (byte)0x15, (byte)0xe9, (byte)0xc6, (byte)0x0b, (byte)0x45, (byte)0x3d, (byte)0x0f, (byte)0x1f, (byte)0x92, (byte)0x0b, (byte)0xb7, (byte)0x14, (byte)0xf4, (byte)0x61, (byte)0x05, (byte)0x8b, (byte)0x14, (byte)0x19, (byte)0x1b, (byte)0xb7, (byte)0xfe, (byte)0xe9, (byte)0xd3, (byte)0x13, (byte)0x11, (byte)0xc7, (byte)0x81, (byte)0xff, (byte)0x7f, (byte)0x4a, (byte)0xa6, (byte)0x98, }; /** * Hash for the text "Lorem ipsum dolor sit amet, consectetur adipisicing * elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. * Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi * ut aliquip ex ea commodo consequat. Duis aute irure dolor in * reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla * pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa * qui officia deserunt mollit anim id est laborum.". * * This hash was generated using SHA-256 algorithm. */ private static final byte[] EXPECTED_HASH_8 = new byte[] { (byte)0x2c, (byte)0x7c, (byte)0x3d, (byte)0x5f, (byte)0x24, (byte)0x4f, (byte)0x1a, (byte)0x40, (byte)0x06, (byte)0x9a, (byte)0x32, (byte)0x22, (byte)0x42, (byte)0x15, (byte)0xe0, (byte)0xcf, (byte)0x9b, (byte)0x42, (byte)0x48, (byte)0x5c, (byte)0x99, (byte)0xd8, (byte)0x0f, (byte)0x35, (byte)0x7d, (byte)0x76, (byte)0xf0, (byte)0x06, (byte)0x35, (byte)0x9c, (byte)0x7a, (byte)0x18, }; /** * Generate hash for given text using the specified hash algorithm. */ private static byte[] generateHash(TestHarness harness, String algorithmName, String text) throws NoSuchAlgorithmException { MessageDigest md = MessageDigest.getInstance(algorithmName); harness.check(md != null); md.update(text.getBytes()); byte[] digest = md.digest(); harness.check(digest != null); harness.check(digest.length, 32); return digest; } /** * Compare digest (hash) with the expected result. */ private void dotest(TestHarness harness, String algorithmName, byte[] expectedHash, String text) throws NoSuchAlgorithmException { byte[] digest; digest = generateHash(harness, algorithmName, text); for (int i = 0; i < digest.length; i++) { if (digest[i] != expectedHash[i]) { harness.fail("Difference found at offset " + i); } } } private void run(TestHarness harness) throws NoSuchAlgorithmException { dotest(harness, "SHA-256", EXPECTED_HASH_1, ""); dotest(harness, "SHA-256", EXPECTED_HASH_2, "\0"); dotest(harness, "SHA-256", EXPECTED_HASH_3, " "); dotest(harness, "SHA-256", EXPECTED_HASH_4, "a"); dotest(harness, "SHA-256", EXPECTED_HASH_5, "text"); dotest(harness, "SHA-256", EXPECTED_HASH_6, "Hello world!"); dotest(harness, "SHA-256", EXPECTED_HASH_7, "Even longer text..."); dotest(harness, "SHA-256", EXPECTED_HASH_8, "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { if (!isSHA256Available()) { return; } try { run(harness); } catch (NoSuchAlgorithmException e) { // algorithm implementation can't be found harness.fail("Fail for algorithm SHA256."); harness.debug(e); } } public boolean isSHA256Available() { try { MessageDigest.getInstance("SHA-256"); } catch (NoSuchAlgorithmException e) { return false; } return true; } /** * @param args * @throws NoSuchAlgorithmException */ public static void main(String[] args) { try { new MessageDigestSHA256Test().run(null); System.out.println("OK"); } catch (NoSuchAlgorithmException e) { } } } mauve-20140821/gnu/testlet/java/security/MessageDigest/MessageDigestMD5Test.java0000644000175000001440000001661012346255001026275 0ustar dokousers// Test of MD5 digest algorithm. // Copyright (C) 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.security.MessageDigest; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * Test of MD5 digest algorithm. */ public class MessageDigestMD5Test implements Testlet { /** * Hash for the text "" (empty string). * * This hash was generated using MD5 algorithm. */ private static final byte[] EXPECTED_HASH_1 = new byte[] { (byte)0xd4, (byte)0x1d, (byte)0x8c, (byte)0xd9, (byte)0x8f, (byte)0x00, (byte)0xb2, (byte)0x04, (byte)0xe9, (byte)0x80, (byte)0x09, (byte)0x98, (byte)0xec, (byte)0xf8, (byte)0x42, (byte)0x7e, }; /** * Hash for the text "\0". * * This hash was generated using MD5 algorithm. */ private static final byte[] EXPECTED_HASH_2 = new byte[] { (byte)0x93, (byte)0xb8, (byte)0x85, (byte)0xad, (byte)0xfe, (byte)0x0d, (byte)0xa0, (byte)0x89, (byte)0xcd, (byte)0xf6, (byte)0x34, (byte)0x90, (byte)0x4f, (byte)0xd5, (byte)0x9f, (byte)0x71, }; /** * Hash for the text " ". * * This hash was generated using MD5 algorithm. */ private static final byte[] EXPECTED_HASH_3 = new byte[] { (byte)0x72, (byte)0x15, (byte)0xee, (byte)0x9c, (byte)0x7d, (byte)0x9d, (byte)0xc2, (byte)0x29, (byte)0xd2, (byte)0x92, (byte)0x1a, (byte)0x40, (byte)0xe8, (byte)0x99, (byte)0xec, (byte)0x5f, }; /** * Hash for the text "a". * * This hash was generated using MD5 algorithm. */ private static final byte[] EXPECTED_HASH_4 = new byte[] { (byte)0x0c, (byte)0xc1, (byte)0x75, (byte)0xb9, (byte)0xc0, (byte)0xf1, (byte)0xb6, (byte)0xa8, (byte)0x31, (byte)0xc3, (byte)0x99, (byte)0xe2, (byte)0x69, (byte)0x77, (byte)0x26, (byte)0x61, }; /** * Hash for the text "text". * * This hash was generated using MD5 algorithm. */ private static final byte[] EXPECTED_HASH_5 = new byte[] { (byte)0x1c, (byte)0xb2, (byte)0x51, (byte)0xec, (byte)0x0d, (byte)0x56, (byte)0x8d, (byte)0xe6, (byte)0xa9, (byte)0x29, (byte)0xb5, (byte)0x20, (byte)0xc4, (byte)0xae, (byte)0xd8, (byte)0xd1, }; /** * Hash for the text "Hello world!". * * This hash was generated using MD5 algorithm. */ private static final byte[] EXPECTED_HASH_6 = new byte[] { (byte)0x86, (byte)0xfb, (byte)0x26, (byte)0x9d, (byte)0x19, (byte)0x0d, (byte)0x2c, (byte)0x85, (byte)0xf6, (byte)0xe0, (byte)0x46, (byte)0x8c, (byte)0xec, (byte)0xa4, (byte)0x2a, (byte)0x20, }; /** * Hash for the text "Even longer text...". * * This hash was generated using MD5 algorithm. */ private static final byte[] EXPECTED_HASH_7 = new byte[] { (byte)0xc4, (byte)0x57, (byte)0x30, (byte)0x58, (byte)0x9d, (byte)0x1c, (byte)0xa6, (byte)0xd5, (byte)0x5d, (byte)0xd9, (byte)0x47, (byte)0x90, (byte)0x8d, (byte)0x5a, (byte)0x02, (byte)0xfd, }; /** * Hash for the text "Lorem ipsum dolor sit amet, consectetur adipisicing * elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. * Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi * ut aliquip ex ea commodo consequat. Duis aute irure dolor in * reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla * pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa * qui officia deserunt mollit anim id est laborum.". * * This hash was generated using MD5 algorithm. */ private static final byte[] EXPECTED_HASH_8 = new byte[] { (byte)0xfa, (byte)0x5c, (byte)0x89, (byte)0xf3, (byte)0xc8, (byte)0x8b, (byte)0x81, (byte)0xbf, (byte)0xd5, (byte)0xe8, (byte)0x21, (byte)0xb0, (byte)0x31, (byte)0x65, (byte)0x69, (byte)0xaf, }; /** * Generate hash for given text using the specified hash algorithm. */ private static byte[] generateHash(TestHarness harness, String algorithmName, String text) throws NoSuchAlgorithmException { MessageDigest md = MessageDigest.getInstance(algorithmName); harness.check(md != null); md.update(text.getBytes()); byte[] digest = md.digest(); harness.check(digest != null); harness.check(digest.length, 16); return digest; } /** * Compare digest (hash) with the expected result. */ private void dotest(TestHarness harness, String algorithmName, byte[] expectedHash, String text) throws NoSuchAlgorithmException { byte[] digest; digest = generateHash(harness, algorithmName, text); for (int i = 0; i < digest.length; i++) { if (digest[i] != expectedHash[i]) { harness.fail("Difference found at offset " + i); } } } private void run(TestHarness harness) throws NoSuchAlgorithmException { dotest(harness, "MD5", EXPECTED_HASH_1, ""); dotest(harness, "MD5", EXPECTED_HASH_2, "\0"); dotest(harness, "MD5", EXPECTED_HASH_3, " "); dotest(harness, "MD5", EXPECTED_HASH_4, "a"); dotest(harness, "MD5", EXPECTED_HASH_5, "text"); dotest(harness, "MD5", EXPECTED_HASH_6, "Hello world!"); dotest(harness, "MD5", EXPECTED_HASH_7, "Even longer text..."); dotest(harness, "MD5", EXPECTED_HASH_8, "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { try { run(harness); } catch (NoSuchAlgorithmException e) { // algorithm implementation can't be found harness.fail("Fail for algorithm MD5."); harness.debug(e); } } /** * @param args * @throws NoSuchAlgorithmException */ public static void main(String[] args) { try { new MessageDigestMD5Test().run(null); System.out.println("OK"); } catch (NoSuchAlgorithmException e) { } } } mauve-20140821/gnu/testlet/java/security/MessageDigest/MessageDigestSHA384Test.java0000644000175000001440000002571212346255001026565 0ustar dokousers// Test of SHA384 digest algorithm. // Copyright (C) 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.security.MessageDigest; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * Test of SHA384 digest algorithm. */ public class MessageDigestSHA384Test implements Testlet { /** * Hash for the text "". * * This hash was generated using SHA-384 algorithm. */ private static final byte[] EXPECTED_HASH_1 = new byte[] { (byte)0x38, (byte)0xb0, (byte)0x60, (byte)0xa7, (byte)0x51, (byte)0xac, (byte)0x96, (byte)0x38, (byte)0x4c, (byte)0xd9, (byte)0x32, (byte)0x7e, (byte)0xb1, (byte)0xb1, (byte)0xe3, (byte)0x6a, (byte)0x21, (byte)0xfd, (byte)0xb7, (byte)0x11, (byte)0x14, (byte)0xbe, (byte)0x07, (byte)0x43, (byte)0x4c, (byte)0x0c, (byte)0xc7, (byte)0xbf, (byte)0x63, (byte)0xf6, (byte)0xe1, (byte)0xda, (byte)0x27, (byte)0x4e, (byte)0xde, (byte)0xbf, (byte)0xe7, (byte)0x6f, (byte)0x65, (byte)0xfb, (byte)0xd5, (byte)0x1a, (byte)0xd2, (byte)0xf1, (byte)0x48, (byte)0x98, (byte)0xb9, (byte)0x5b, }; /** * Hash for the text "\0. * * This hash was generated using SHA-384 algorithm. */ private static final byte[] EXPECTED_HASH_2 = new byte[] { (byte)0xbe, (byte)0xc0, (byte)0x21, (byte)0xb4, (byte)0xf3, (byte)0x68, (byte)0xe3, (byte)0x06, (byte)0x91, (byte)0x34, (byte)0xe0, (byte)0x12, (byte)0xc2, (byte)0xb4, (byte)0x30, (byte)0x70, (byte)0x83, (byte)0xd3, (byte)0xa9, (byte)0xbd, (byte)0xd2, (byte)0x06, (byte)0xe2, (byte)0x4e, (byte)0x5f, (byte)0x0d, (byte)0x86, (byte)0xe1, (byte)0x3d, (byte)0x66, (byte)0x36, (byte)0x65, (byte)0x59, (byte)0x33, (byte)0xec, (byte)0x2b, (byte)0x41, (byte)0x34, (byte)0x65, (byte)0x96, (byte)0x68, (byte)0x17, (byte)0xa9, (byte)0xc2, (byte)0x08, (byte)0xa1, (byte)0x17, (byte)0x17, }; /** * Hash for the text " ". * * This hash was generated using SHA-384 algorithm. */ private static final byte[] EXPECTED_HASH_3 = new byte[] { (byte)0x58, (byte)0x80, (byte)0x16, (byte)0xeb, (byte)0x10, (byte)0x04, (byte)0x5d, (byte)0xd8, (byte)0x58, (byte)0x34, (byte)0xd6, (byte)0x7d, (byte)0x18, (byte)0x7d, (byte)0x6b, (byte)0x97, (byte)0x85, (byte)0x8f, (byte)0x38, (byte)0xc5, (byte)0x8c, (byte)0x69, (byte)0x03, (byte)0x20, (byte)0xc4, (byte)0xa6, (byte)0x4e, (byte)0x0c, (byte)0x2f, (byte)0x92, (byte)0xee, (byte)0xbd, (byte)0x9f, (byte)0x1b, (byte)0xd7, (byte)0x4d, (byte)0xe2, (byte)0x56, (byte)0xe8, (byte)0x26, (byte)0x88, (byte)0x15, (byte)0x90, (byte)0x51, (byte)0x59, (byte)0x44, (byte)0x95, (byte)0x66, }; /** * Hash for the text "a". * * This hash was generated using SHA-384 algorithm. */ private static final byte[] EXPECTED_HASH_4 = new byte[] { (byte)0x54, (byte)0xa5, (byte)0x9b, (byte)0x9f, (byte)0x22, (byte)0xb0, (byte)0xb8, (byte)0x08, (byte)0x80, (byte)0xd8, (byte)0x42, (byte)0x7e, (byte)0x54, (byte)0x8b, (byte)0x7c, (byte)0x23, (byte)0xab, (byte)0xd8, (byte)0x73, (byte)0x48, (byte)0x6e, (byte)0x1f, (byte)0x03, (byte)0x5d, (byte)0xce, (byte)0x9c, (byte)0xd6, (byte)0x97, (byte)0xe8, (byte)0x51, (byte)0x75, (byte)0x03, (byte)0x3c, (byte)0xaa, (byte)0x88, (byte)0xe6, (byte)0xd5, (byte)0x7b, (byte)0xc3, (byte)0x5e, (byte)0xfa, (byte)0xe0, (byte)0xb5, (byte)0xaf, (byte)0xd3, (byte)0x14, (byte)0x5f, (byte)0x31, }; /** * Hash for the text "text". * * This hash was generated using SHA-384 algorithm. */ private static final byte[] EXPECTED_HASH_5 = new byte[] { (byte)0x31, (byte)0x3a, (byte)0x7e, (byte)0x33, (byte)0x22, (byte)0xac, (byte)0x65, (byte)0x5c, (byte)0x27, (byte)0x6b, (byte)0x3a, (byte)0x0a, (byte)0x9e, (byte)0x6b, (byte)0x27, (byte)0xc4, (byte)0x48, (byte)0xc5, (byte)0x70, (byte)0x7b, (byte)0x1b, (byte)0x0e, (byte)0x20, (byte)0x03, (byte)0x7b, (byte)0x42, (byte)0xab, (byte)0x77, (byte)0x61, (byte)0xba, (byte)0x25, (byte)0x16, (byte)0x2f, (byte)0x76, (byte)0x59, (byte)0xd4, (byte)0xff, (byte)0xe1, (byte)0xea, (byte)0xfd, (byte)0x99, (byte)0x66, (byte)0x20, (byte)0x4c, (byte)0x1b, (byte)0x41, (byte)0xfb, (byte)0x73, }; /** * Hash for the text "Hello world!". * * This hash was generated using SHA-384 algorithm. */ private static final byte[] EXPECTED_HASH_6 = new byte[] { (byte)0x86, (byte)0x25, (byte)0x5f, (byte)0xa2, (byte)0xc3, (byte)0x6e, (byte)0x4b, (byte)0x30, (byte)0x96, (byte)0x9e, (byte)0xae, (byte)0x17, (byte)0xdc, (byte)0x34, (byte)0xc7, (byte)0x72, (byte)0xcb, (byte)0xeb, (byte)0xdf, (byte)0xc5, (byte)0x8b, (byte)0x58, (byte)0x40, (byte)0x39, (byte)0x00, (byte)0xbe, (byte)0x87, (byte)0x61, (byte)0x4e, (byte)0xb1, (byte)0xa3, (byte)0x4b, (byte)0x87, (byte)0x80, (byte)0x26, (byte)0x3f, (byte)0x25, (byte)0x5e, (byte)0xb5, (byte)0xe6, (byte)0x5c, (byte)0xa9, (byte)0xbb, (byte)0xb8, (byte)0x64, (byte)0x1c, (byte)0xcc, (byte)0xfe, }; /** * Hash for the text "Even longer text...". * * This hash was generated using SHA-384 algorithm. */ private static final byte[] EXPECTED_HASH_7 = new byte[] { (byte)0xcb, (byte)0xc3, (byte)0xdc, (byte)0x13, (byte)0x1a, (byte)0xe7, (byte)0xef, (byte)0x2e, (byte)0xcc, (byte)0x59, (byte)0x20, (byte)0x4e, (byte)0x89, (byte)0x97, (byte)0xbd, (byte)0xf9, (byte)0xe2, (byte)0xbf, (byte)0x48, (byte)0x36, (byte)0xda, (byte)0x21, (byte)0x24, (byte)0x42, (byte)0x48, (byte)0x3e, (byte)0x6e, (byte)0x11, (byte)0xd0, (byte)0x3a, (byte)0x84, (byte)0xfa, (byte)0x68, (byte)0xc6, (byte)0x8d, (byte)0x64, (byte)0xdd, (byte)0x6a, (byte)0x61, (byte)0xb5, (byte)0x70, (byte)0x8a, (byte)0x8e, (byte)0x5c, (byte)0xf6, (byte)0x9c, (byte)0x56, (byte)0xab, }; /** * Hash for the text "Lorem ipsum dolor sit amet, consectetur adipisicing * elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. * Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi * ut aliquip ex ea commodo consequat. Duis aute irure dolor in * reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla * pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa * qui officia deserunt mollit anim id est laborum.". * * This hash was generated using SHA-384 algorithm. */ private static final byte[] EXPECTED_HASH_8 = new byte[] { (byte)0x63, (byte)0x98, (byte)0x0f, (byte)0xd0, (byte)0x42, (byte)0x5c, (byte)0xd2, (byte)0xc3, (byte)0xd8, (byte)0xa4, (byte)0x00, (byte)0xee, (byte)0x0f, (byte)0x26, (byte)0x71, (byte)0xef, (byte)0x13, (byte)0x5d, (byte)0xb0, (byte)0x3b, (byte)0x94, (byte)0x7e, (byte)0xc1, (byte)0xaf, (byte)0x21, (byte)0xb6, (byte)0xe2, (byte)0x8f, (byte)0x19, (byte)0xc1, (byte)0x6c, (byte)0xa2, (byte)0x72, (byte)0x03, (byte)0x64, (byte)0x69, (byte)0x54, (byte)0x1f, (byte)0x4d, (byte)0x8e, (byte)0x33, (byte)0x6a, (byte)0xc6, (byte)0xd1, (byte)0xda, (byte)0x50, (byte)0x58, (byte)0x0f, }; /** * Generate hash for given text using the specified hash algorithm. */ private static byte[] generateHash(TestHarness harness, String algorithmName, String text) throws NoSuchAlgorithmException { MessageDigest md = MessageDigest.getInstance(algorithmName); harness.check(md != null); md.update(text.getBytes()); byte[] digest = md.digest(); harness.check(digest != null); harness.check(digest.length, 48); return digest; } /** * Compare digest (hash) with the expected result. */ private void dotest(TestHarness harness, String algorithmName, byte[] expectedHash, String text) throws NoSuchAlgorithmException { byte[] digest; digest = generateHash(harness, algorithmName, text); for (int i = 0; i < digest.length; i++) { if (digest[i] != expectedHash[i]) { harness.fail("Difference found at offset " + i); } } } private void run(TestHarness harness) throws NoSuchAlgorithmException { dotest(harness, "SHA-384", EXPECTED_HASH_1, ""); dotest(harness, "SHA-384", EXPECTED_HASH_2, "\0"); dotest(harness, "SHA-384", EXPECTED_HASH_3, " "); dotest(harness, "SHA-384", EXPECTED_HASH_4, "a"); dotest(harness, "SHA-384", EXPECTED_HASH_5, "text"); dotest(harness, "SHA-384", EXPECTED_HASH_6, "Hello world!"); dotest(harness, "SHA-384", EXPECTED_HASH_7, "Even longer text..."); dotest(harness, "SHA-384", EXPECTED_HASH_8, "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { if (!isSHA384Available()) { return; } try { run(harness); } catch (NoSuchAlgorithmException e) { // algorithm implementation can't be found harness.fail("Fail for algorithm SHA384."); harness.debug(e); } } public boolean isSHA384Available() { try { MessageDigest.getInstance("SHA-384"); } catch (NoSuchAlgorithmException e) { return false; } return true; } /** * @param args * @throws NoSuchAlgorithmException */ public static void main(String[] args) { try { new MessageDigestSHA384Test().run(null); System.out.println("OK"); } catch (NoSuchAlgorithmException e) { } } } mauve-20140821/gnu/testlet/java/security/MessageDigest/getInstance14.java0000644000175000001440000000676610356231222025025 0ustar dokousers// $Id: getInstance14.java,v 1.3 2006/01/02 14:02:58 raif Exp $ // // Copyright (C) 2003, Free Software Foundation, Inc. // // This file is part of Mauve. // // Mauve 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 version 2, or (at your option) // any later version. // // Mauve 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // // Tags: JDK1.4 // Uses: MauveDigest package gnu.testlet.java.security.MessageDigest; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.security.GeneralSecurityException; import java.security.MessageDigest; import java.security.Provider; import java.security.NoSuchAlgorithmException; import java.security.Security; public class getInstance14 extends Provider implements Testlet { public getInstance14() { super("MessageDigest", 1.0, ""); put("MessageDigest.foo", "gnu.testlet.java.security.MessageDigest.MauveDigest"); put("Alg.Alias.MessageDigest.bar", "foo"); } public void test (TestHarness harness) { harness.checkPoint ("MessageDigest"); MessageDigest spi; Provider provider = this; Security.addProvider(provider); String signature; spi = null; signature = "getInstance(\"foo\", \" MessageDigest \")"; try { spi = MessageDigest.getInstance("foo", " MessageDigest "); harness.check(spi != null, signature); } catch (GeneralSecurityException x) { harness.fail(signature); harness.debug(x); } spi = null; signature = "getInstance(\"foo\", provider)"; try { spi = MessageDigest.getInstance("foo", provider); harness.check(spi != null, signature); } catch (NoSuchAlgorithmException x) { harness.fail(signature); harness.debug(x); } spi = null; signature = "getInstance(\" foo \", provider)"; try { spi = MessageDigest.getInstance(" foo ", provider); harness.check(spi != null, signature); } catch (NoSuchAlgorithmException x) { harness.fail(signature); harness.debug(x); } spi = null; signature = "getInstance(\"FOO\", provider)"; try { spi = MessageDigest.getInstance("FOO", provider); harness.check(spi != null, signature); } catch (NoSuchAlgorithmException x) { harness.fail(signature); harness.debug(x); } spi = null; signature = "getInstance(\"bar\", provider)"; try { spi = MessageDigest.getInstance("bar", provider); harness.check(spi != null, signature); } catch (NoSuchAlgorithmException x) { harness.fail(signature); harness.debug(x); } spi = null; signature = "getInstance(\"BAR\", provider)"; try { spi = MessageDigest.getInstance("BAR", provider); harness.check(spi != null, signature); } catch (NoSuchAlgorithmException x) { harness.fail(signature); harness.debug(x); } } } mauve-20140821/gnu/testlet/java/security/MessageDigest/MessageDigestSHA512Test.java0000644000175000001440000003112212346255001026546 0ustar dokousers// Test of SHA512 digest algorithm. // Copyright (C) 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.security.MessageDigest; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * Test of SHA512 digest algorithm. */ public class MessageDigestSHA512Test implements Testlet { /** * Hash for the text "". * * This hash was generated using SHA-512 algorithm. */ private static final byte[] EXPECTED_HASH_1 = new byte[] { (byte)0xcf, (byte)0x83, (byte)0xe1, (byte)0x35, (byte)0x7e, (byte)0xef, (byte)0xb8, (byte)0xbd, (byte)0xf1, (byte)0x54, (byte)0x28, (byte)0x50, (byte)0xd6, (byte)0x6d, (byte)0x80, (byte)0x07, (byte)0xd6, (byte)0x20, (byte)0xe4, (byte)0x05, (byte)0x0b, (byte)0x57, (byte)0x15, (byte)0xdc, (byte)0x83, (byte)0xf4, (byte)0xa9, (byte)0x21, (byte)0xd3, (byte)0x6c, (byte)0xe9, (byte)0xce, (byte)0x47, (byte)0xd0, (byte)0xd1, (byte)0x3c, (byte)0x5d, (byte)0x85, (byte)0xf2, (byte)0xb0, (byte)0xff, (byte)0x83, (byte)0x18, (byte)0xd2, (byte)0x87, (byte)0x7e, (byte)0xec, (byte)0x2f, (byte)0x63, (byte)0xb9, (byte)0x31, (byte)0xbd, (byte)0x47, (byte)0x41, (byte)0x7a, (byte)0x81, (byte)0xa5, (byte)0x38, (byte)0x32, (byte)0x7a, (byte)0xf9, (byte)0x27, (byte)0xda, (byte)0x3e, }; /** * Hash for the text "\0". * * This hash was generated using SHA-512 algorithm. */ private static final byte[] EXPECTED_HASH_2 = new byte[] { (byte)0xb8, (byte)0x24, (byte)0x4d, (byte)0x02, (byte)0x89, (byte)0x81, (byte)0xd6, (byte)0x93, (byte)0xaf, (byte)0x7b, (byte)0x45, (byte)0x6a, (byte)0xf8, (byte)0xef, (byte)0xa4, (byte)0xca, (byte)0xd6, (byte)0x3d, (byte)0x28, (byte)0x2e, (byte)0x19, (byte)0xff, (byte)0x14, (byte)0x94, (byte)0x2c, (byte)0x24, (byte)0x6e, (byte)0x50, (byte)0xd9, (byte)0x35, (byte)0x1d, (byte)0x22, (byte)0x70, (byte)0x4a, (byte)0x80, (byte)0x2a, (byte)0x71, (byte)0xc3, (byte)0x58, (byte)0x0b, (byte)0x63, (byte)0x70, (byte)0xde, (byte)0x4c, (byte)0xeb, (byte)0x29, (byte)0x3c, (byte)0x32, (byte)0x4a, (byte)0x84, (byte)0x23, (byte)0x34, (byte)0x25, (byte)0x57, (byte)0xd4, (byte)0xe5, (byte)0xc3, (byte)0x84, (byte)0x38, (byte)0xf0, (byte)0xe3, (byte)0x69, (byte)0x10, (byte)0xee, }; /** * Hash for the text " ". * * This hash was generated using SHA-512 algorithm. */ private static final byte[] EXPECTED_HASH_3 = new byte[] { (byte)0xf9, (byte)0x0d, (byte)0xdd, (byte)0x77, (byte)0xe4, (byte)0x00, (byte)0xdf, (byte)0xe6, (byte)0xa3, (byte)0xfc, (byte)0xf4, (byte)0x79, (byte)0xb0, (byte)0x0b, (byte)0x1e, (byte)0xe2, (byte)0x9e, (byte)0x70, (byte)0x15, (byte)0xc5, (byte)0xbb, (byte)0x8c, (byte)0xd7, (byte)0x0f, (byte)0x5f, (byte)0x15, (byte)0xb4, (byte)0x88, (byte)0x6c, (byte)0xc3, (byte)0x39, (byte)0x27, (byte)0x5f, (byte)0xf5, (byte)0x53, (byte)0xfc, (byte)0x8a, (byte)0x05, (byte)0x3f, (byte)0x8d, (byte)0xdc, (byte)0x73, (byte)0x24, (byte)0xf4, (byte)0x51, (byte)0x68, (byte)0xcf, (byte)0xfa, (byte)0xf8, (byte)0x1f, (byte)0x8c, (byte)0x3a, (byte)0xc9, (byte)0x39, (byte)0x96, (byte)0xf6, (byte)0x53, (byte)0x6e, (byte)0xef, (byte)0x38, (byte)0xe5, (byte)0xe4, (byte)0x07, (byte)0x68, }; /** * Hash for the text "a". * * This hash was generated using SHA-512 algorithm. */ private static final byte[] EXPECTED_HASH_4 = new byte[] { (byte)0x1f, (byte)0x40, (byte)0xfc, (byte)0x92, (byte)0xda, (byte)0x24, (byte)0x16, (byte)0x94, (byte)0x75, (byte)0x09, (byte)0x79, (byte)0xee, (byte)0x6c, (byte)0xf5, (byte)0x82, (byte)0xf2, (byte)0xd5, (byte)0xd7, (byte)0xd2, (byte)0x8e, (byte)0x18, (byte)0x33, (byte)0x5d, (byte)0xe0, (byte)0x5a, (byte)0xbc, (byte)0x54, (byte)0xd0, (byte)0x56, (byte)0x0e, (byte)0x0f, (byte)0x53, (byte)0x02, (byte)0x86, (byte)0x0c, (byte)0x65, (byte)0x2b, (byte)0xf0, (byte)0x8d, (byte)0x56, (byte)0x02, (byte)0x52, (byte)0xaa, (byte)0x5e, (byte)0x74, (byte)0x21, (byte)0x05, (byte)0x46, (byte)0xf3, (byte)0x69, (byte)0xfb, (byte)0xbb, (byte)0xce, (byte)0x8c, (byte)0x12, (byte)0xcf, (byte)0xc7, (byte)0x95, (byte)0x7b, (byte)0x26, (byte)0x52, (byte)0xfe, (byte)0x9a, (byte)0x75, }; /** * Hash for the text "text". * * This hash was generated using SHA-512 algorithm. */ private static final byte[] EXPECTED_HASH_5 = new byte[] { (byte)0xea, (byte)0xf2, (byte)0xc1, (byte)0x27, (byte)0x42, (byte)0xcb, (byte)0x8c, (byte)0x16, (byte)0x1b, (byte)0xcb, (byte)0xd8, (byte)0x4b, (byte)0x03, (byte)0x2b, (byte)0x9b, (byte)0xb9, (byte)0x89, (byte)0x99, (byte)0xa2, (byte)0x32, (byte)0x82, (byte)0x54, (byte)0x26, (byte)0x72, (byte)0xca, (byte)0x01, (byte)0xcc, (byte)0x6e, (byte)0xdd, (byte)0x26, (byte)0x8f, (byte)0x7d, (byte)0xce, (byte)0x99, (byte)0x87, (byte)0xad, (byte)0x6b, (byte)0x2b, (byte)0xc7, (byte)0x93, (byte)0x05, (byte)0x63, (byte)0x4f, (byte)0x89, (byte)0xd9, (byte)0x0b, (byte)0x90, (byte)0x10, (byte)0x2b, (byte)0xcd, (byte)0x59, (byte)0xa5, (byte)0x7e, (byte)0x71, (byte)0x35, (byte)0xb8, (byte)0xe3, (byte)0xce, (byte)0xb9, (byte)0x3c, (byte)0x05, (byte)0x97, (byte)0x11, (byte)0x7b, }; /** * Hash for the text "Hello world!". * * This hash was generated using SHA-512 algorithm. */ private static final byte[] EXPECTED_HASH_6 = new byte[] { (byte)0xf6, (byte)0xcd, (byte)0xe2, (byte)0xa0, (byte)0xf8, (byte)0x19, (byte)0x31, (byte)0x4c, (byte)0xdd, (byte)0xe5, (byte)0x5f, (byte)0xc2, (byte)0x27, (byte)0xd8, (byte)0xd7, (byte)0xda, (byte)0xe3, (byte)0xd2, (byte)0x8c, (byte)0xc5, (byte)0x56, (byte)0x22, (byte)0x2a, (byte)0x0a, (byte)0x8a, (byte)0xd6, (byte)0x6d, (byte)0x91, (byte)0xcc, (byte)0xad, (byte)0x4a, (byte)0xad, (byte)0x60, (byte)0x94, (byte)0xf5, (byte)0x17, (byte)0xa2, (byte)0x18, (byte)0x23, (byte)0x60, (byte)0xc9, (byte)0xaa, (byte)0xcf, (byte)0x6a, (byte)0x3d, (byte)0xc3, (byte)0x23, (byte)0x16, (byte)0x2c, (byte)0xb6, (byte)0xfd, (byte)0x8c, (byte)0xdf, (byte)0xfe, (byte)0xdb, (byte)0x0f, (byte)0xe0, (byte)0x38, (byte)0xf5, (byte)0x5e, (byte)0x85, (byte)0xff, (byte)0xb5, (byte)0xb6, }; /** * Hash for the text "Even longer text...". * * This hash was generated using SHA-512 algorithm. */ private static final byte[] EXPECTED_HASH_7 = new byte[] { (byte)0x28, (byte)0x31, (byte)0xc1, (byte)0x2f, (byte)0x6e, (byte)0x47, (byte)0xa3, (byte)0x4c, (byte)0x0a, (byte)0x48, (byte)0xdf, (byte)0x4f, (byte)0xfc, (byte)0xb9, (byte)0x77, (byte)0x37, (byte)0x8f, (byte)0xdd, (byte)0x17, (byte)0x6e, (byte)0xa1, (byte)0x08, (byte)0x3e, (byte)0x10, (byte)0x9a, (byte)0xa4, (byte)0x21, (byte)0x71, (byte)0xee, (byte)0x19, (byte)0xbc, (byte)0xba, (byte)0x84, (byte)0x32, (byte)0x4b, (byte)0x0b, (byte)0x6d, (byte)0x37, (byte)0x9e, (byte)0x0d, (byte)0x8b, (byte)0x13, (byte)0x6a, (byte)0x21, (byte)0x8f, (byte)0xbc, (byte)0x5a, (byte)0x3f, (byte)0x59, (byte)0xd5, (byte)0xc7, (byte)0x67, (byte)0x65, (byte)0x53, (byte)0x48, (byte)0xbf, (byte)0x09, (byte)0xac, (byte)0x25, (byte)0x49, (byte)0x96, (byte)0x2b, (byte)0xd4, (byte)0xe9, }; /** * Hash for the text "Lorem ipsum dolor sit amet, consectetur adipisicing * elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. * Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi * ut aliquip ex ea commodo consequat. Duis aute irure dolor in * reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla * pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa * qui officia deserunt mollit anim id est laborum.". * * This hash was generated using SHA-512 algorithm. */ private static final byte[] EXPECTED_HASH_8 = new byte[] { (byte)0xf4, (byte)0x1d, (byte)0x92, (byte)0xbc, (byte)0x9f, (byte)0xc1, (byte)0x15, (byte)0x7a, (byte)0x0d, (byte)0x13, (byte)0x87, (byte)0xe6, (byte)0x7f, (byte)0x3d, (byte)0x08, (byte)0x93, (byte)0xb7, (byte)0x0f, (byte)0x70, (byte)0x39, (byte)0xd3, (byte)0xd4, (byte)0x6d, (byte)0x81, (byte)0x15, (byte)0xb5, (byte)0x07, (byte)0x9d, (byte)0x45, (byte)0xad, (byte)0x60, (byte)0x11, (byte)0x59, (byte)0x39, (byte)0x8c, (byte)0x79, (byte)0xc2, (byte)0x81, (byte)0x68, (byte)0x1e, (byte)0x2d, (byte)0xa0, (byte)0x9b, (byte)0xf7, (byte)0xd9, (byte)0xf8, (byte)0xc2, (byte)0x3b, (byte)0x41, (byte)0xd1, (byte)0xa0, (byte)0xa3, (byte)0xc5, (byte)0xb5, (byte)0x28, (byte)0xa7, (byte)0xf2, (byte)0x73, (byte)0x59, (byte)0x33, (byte)0xa4, (byte)0x35, (byte)0x31, (byte)0x94, }; /** * Generate hash for given text using the specified hash algorithm. */ private static byte[] generateHash(TestHarness harness, String algorithmName, String text) throws NoSuchAlgorithmException { MessageDigest md = MessageDigest.getInstance(algorithmName); harness.check(md != null); md.update(text.getBytes()); byte[] digest = md.digest(); harness.check(digest != null); harness.check(digest.length, 64); return digest; } /** * Compare digest (hash) with the expected result. */ private void dotest(TestHarness harness, String algorithmName, byte[] expectedHash, String text) throws NoSuchAlgorithmException { byte[] digest; digest = generateHash(harness, algorithmName, text); for (int i = 0; i < digest.length; i++) { if (digest[i] != expectedHash[i]) { harness.fail("Difference found at offset " + i); } } } private void run(TestHarness harness) throws NoSuchAlgorithmException { dotest(harness, "SHA-512", EXPECTED_HASH_1, ""); dotest(harness, "SHA-512", EXPECTED_HASH_2, "\0"); dotest(harness, "SHA-512", EXPECTED_HASH_3, " "); dotest(harness, "SHA-512", EXPECTED_HASH_4, "a"); dotest(harness, "SHA-512", EXPECTED_HASH_5, "text"); dotest(harness, "SHA-512", EXPECTED_HASH_6, "Hello world!"); dotest(harness, "SHA-512", EXPECTED_HASH_7, "Even longer text..."); dotest(harness, "SHA-512", EXPECTED_HASH_8, "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { if (!isSHA512Available()) { return; } try { run(harness); } catch (NoSuchAlgorithmException e) { // algorithm implementation can't be found harness.fail("Fail for algorithm SHA512."); harness.debug(e); } } public boolean isSHA512Available() { try { MessageDigest.getInstance("SHA-512"); } catch (NoSuchAlgorithmException e) { return false; } return true; } /** * @param args * @throws NoSuchAlgorithmException */ public static void main(String[] args) { try { new MessageDigestSHA512Test().run(null); System.out.println("OK"); } catch (NoSuchAlgorithmException e) { } } } mauve-20140821/gnu/testlet/java/security/MessageDigest/BasicMessageDigestAlgorithms.java0000644000175000001440000000441012250355242030120 0ustar dokousers// Test for the following requirement: // Every implementation of the Java platform is required to support the following standard MessageDigest algorithms: // MD5 // SHA-1 // SHA-256 // Copyright (C) 2013 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.security.MessageDigest; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * Test for the following requirement: * Every implementation of the Java platform is required to support the following standard MessageDigest algorithms: * MD5 * SHA-1 * SHA-256 */ public class BasicMessageDigestAlgorithms implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { String[] algorithmsNames = new String[] { "MD5", "SHA-1", "SHA-256" }; for (String algorithmName : algorithmsNames) { try { // try to get an instance from any provider for the specified algorithm MessageDigest md = MessageDigest.getInstance(algorithmName); // just to be sure... harness.check(md != null); } catch (NoSuchAlgorithmException e) { // algorithm implementation can't be found harness.fail("Fail for algorithm: " + algorithmName); harness.debug(e); } } } } mauve-20140821/gnu/testlet/java/security/MessageDigest/MauveDigest.java0000644000175000001440000000262007552360455024631 0ustar dokousers// Tags: not-a-test // Copyright (C) 2002 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.security.MessageDigest; import java.security.MessageDigestSpi; // Dummy digest that just contains what was put in. public class MauveDigest extends MessageDigestSpi { private byte[] digest; public void engineUpdate(byte b) { digest = new byte[1]; digest[0] = b; } public void engineUpdate(byte[] bs, int off, int len) { digest = new byte[len]; System.arraycopy(bs, off, digest, 0, len); } public byte[] engineDigest() { return digest; } public void engineReset() { digest = new byte[0]; } } mauve-20140821/gnu/testlet/java/security/MessageDigest/MessageDigestMD2Test.java0000644000175000001440000001724512337341252026303 0ustar dokousers// Basic test of MD2 digest algorithm. // Copyright (C) 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.java.security.MessageDigest; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * Test of MD2 digest algorithm. */ public class MessageDigestMD2Test implements Testlet { /** * Hash for the text "" (empty string). * * This hash was generated using MD2 algorithm. */ private static final byte[] EXPECTED_HASH_1 = new byte[] { (byte)0x83, (byte)0x50, (byte)0xe5, (byte)0xa3, (byte)0xe2, (byte)0x4c, (byte)0x15, (byte)0x3d, (byte)0xf2, (byte)0x27, (byte)0x5c, (byte)0x9f, (byte)0x80, (byte)0x69, (byte)0x27, (byte)0x73, }; /** * Hash for the text "\0". * * This hash was generated using MD2 algorithm. */ private static final byte[] EXPECTED_HASH_2 = new byte[] { (byte)0xee, (byte)0x8d, (byte)0xba, (byte)0xe3, (byte)0xbc, (byte)0x62, (byte)0xbd, (byte)0xc9, (byte)0x4e, (byte)0xa6, (byte)0x3f, (byte)0x69, (byte)0xc1, (byte)0xbc, (byte)0x26, (byte)0xc9, }; /** * Hash for the text " ". * * This hash was generated using MD2 algorithm. */ private static final byte[] EXPECTED_HASH_3 = new byte[] { (byte)0xca, (byte)0x44, (byte)0x7a, (byte)0x86, (byte)0x6d, (byte)0x40, (byte)0x41, (byte)0xae, (byte)0x4a, (byte)0x10, (byte)0x7d, (byte)0xb1, (byte)0x4e, (byte)0x28, (byte)0xc9, (byte)0x13, }; /** * Hash for the text "a". * * This hash was generated using MD2 algorithm. */ private static final byte[] EXPECTED_HASH_4 = new byte[] { (byte)0x32, (byte)0xec, (byte)0x01, (byte)0xec, (byte)0x4a, (byte)0x6d, (byte)0xac, (byte)0x72, (byte)0xc0, (byte)0xab, (byte)0x96, (byte)0xfb, (byte)0x34, (byte)0xc0, (byte)0xb5, (byte)0xd1, }; /** * Hash for the text "text". * * This hash was generated using MD2 algorithm. */ private static final byte[] EXPECTED_HASH_5 = new byte[] { (byte)0x5a, (byte)0x31, (byte)0x20, (byte)0x22, (byte)0xa0, (byte)0xef, (byte)0x6d, (byte)0x7c, (byte)0xd0, (byte)0xa9, (byte)0x97, (byte)0x61, (byte)0x6a, (byte)0x43, (byte)0x4b, (byte)0xdd, }; /** * Hash for the text "Hello world!". * * This hash was generated using MD2 algorithm. */ private static final byte[] EXPECTED_HASH_6 = new byte[] { (byte)0x63, (byte)0x50, (byte)0x3d, (byte)0x31, (byte)0x17, (byte)0xad, (byte)0x33, (byte)0xf9, (byte)0x41, (byte)0xd2, (byte)0x0f, (byte)0x57, (byte)0x14, (byte)0x4e, (byte)0xce, (byte)0x64, }; /** * Hash for the text "Even longer text...". * * This hash was generated using MD2 algorithm. */ private static final byte[] EXPECTED_HASH_7 = new byte[] { (byte)0xa7, (byte)0x0e, (byte)0x2c, (byte)0x4a, (byte)0xf3, (byte)0x93, (byte)0x05, (byte)0x62, (byte)0x6c, (byte)0x9a, (byte)0xaf, (byte)0x14, (byte)0x5c, (byte)0xf0, (byte)0xd7, (byte)0x3d, }; /** * Hash for the text 'Lorem ipsum dolor sit amet, consectetur adipisicing * elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. * Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi * ut aliquip ex ea commodo consequat. Duis aute irure dolor in * reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla * pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa * qui officia deserunt mollit anim id est laborum.' * * This hash was generated using MD2 algorithm. */ private static final byte[] EXPECTED_HASH_8 = new byte[] { (byte)0xae, (byte)0xa1, (byte)0xa5, (byte)0xce, (byte)0x2c, (byte)0xa0, (byte)0x8f, (byte)0xd3, (byte)0x6b, (byte)0x95, (byte)0xf6, (byte)0xeb, (byte)0x6f, (byte)0x81, (byte)0xc9, (byte)0x62, }; /** * Generate hash for given text using the specified hash algorithm. */ private static byte[] generateHash(TestHarness harness, String algorithmName, String text) throws NoSuchAlgorithmException { MessageDigest md = MessageDigest.getInstance(algorithmName); harness.check(md != null); md.update(text.getBytes()); byte[] digest = md.digest(); harness.check(digest != null); harness.check(digest.length, 16); return digest; } /** * Compare digest (hash) with the expected result. */ private void dotest(TestHarness harness, String algorithmName, byte[] expectedHash, String text) throws NoSuchAlgorithmException { byte[] digest; digest = generateHash(harness, algorithmName, text); for (int i = 0; i < digest.length; i++) { if (digest[i] != expectedHash[i]) { harness.fail("Difference found at offset " + i); } } } private void run(TestHarness harness) throws NoSuchAlgorithmException { dotest(harness, "MD2", EXPECTED_HASH_1, ""); dotest(harness, "MD2", EXPECTED_HASH_2, "\0"); dotest(harness, "MD2", EXPECTED_HASH_3, " "); dotest(harness, "MD2", EXPECTED_HASH_4, "a"); dotest(harness, "MD2", EXPECTED_HASH_5, "text"); dotest(harness, "MD2", EXPECTED_HASH_6, "Hello world!"); dotest(harness, "MD2", EXPECTED_HASH_7, "Even longer text..."); dotest(harness, "MD2", EXPECTED_HASH_8, "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { if (!isMD2Available()) { return; } try { run(harness); } catch (NoSuchAlgorithmException e) { // algorithm implementation can't be found harness.fail("Fail for algorithm MD2."); harness.debug(e); } } public boolean isMD2Available() { try { MessageDigest.getInstance("MD2"); } catch (NoSuchAlgorithmException e) { return false; } return true; } /** * @param args * @throws NoSuchAlgorithmException */ public static void main(String[] args) { try { new MessageDigestMD2Test().run(null); System.out.println("OK"); } catch (NoSuchAlgorithmException e) { } } } mauve-20140821/gnu/testlet/java/security/AlgorithmParameters/0000755000175000001440000000000012375316426022775 5ustar dokousersmauve-20140821/gnu/testlet/java/security/AlgorithmParameters/MauveAlgorithm.java0000644000175000001440000000350110045167030026546 0ustar dokousers// $Id: MauveAlgorithm.java,v 1.2 2004/05/02 12:48:24 aph Exp $ // // Copyright (C) 2003, Free Software Foundation, Inc. // // This file is part of Mauve. // // Mauve 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 version 2, or (at your option) // any later version. // // Mauve 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // // Tags: not-a-test package gnu.testlet.java.security.AlgorithmParameters; import java.io.IOException; import java.security.AlgorithmParametersSpi; import java.security.spec.AlgorithmParameterSpec; import java.security.spec.InvalidParameterSpecException; public class MauveAlgorithm extends AlgorithmParametersSpi { protected void engineInit (AlgorithmParameterSpec paramSpec) throws InvalidParameterSpecException { } protected void engineInit (byte[] params) throws IOException { } protected void engineInit (byte[] params, String format) throws IOException { } protected AlgorithmParameterSpec engineGetParameterSpec (Class paramSpec) throws InvalidParameterSpecException { return null; } protected byte[] engineGetEncoded () throws IOException { return new byte[0]; } protected byte[] engineGetEncoded (String format) throws IOException { return new byte[0]; } protected String engineToString () { return null; } } mauve-20140821/gnu/testlet/java/security/AlgorithmParameters/getInstance14.java0000644000175000001440000000561307644316122026252 0ustar dokousers// $Id: getInstance14.java,v 1.2 2003/04/07 15:42:10 crawley Exp $ // // Copyright (C) 2003, Free Software Foundation, Inc. // // This file is part of Mauve. // // Mauve 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 version 2, or (at your option) // any later version. // // Mauve 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // // Tags: JDK1.4 // Uses: MauveAlgorithm package gnu.testlet.java.security.AlgorithmParameters; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.security.AlgorithmParameters; import java.security.Provider; import java.security.NoSuchAlgorithmException; import java.security.Security; public class getInstance14 extends Provider implements Testlet { public getInstance14() { super("AlgorithmParameters", 1.0, ""); put("AlgorithmParameters.foo", "gnu.testlet.java.security.AlgorithmParameters.MauveAlgorithm"); put("Alg.Alias.AlgorithmParameters.bar", "foo"); } public void test (TestHarness harness) { harness.checkPoint ("AlgorithmParameters"); AlgorithmParameters spi; Provider provider = this; Security.addProvider(provider); String signature; spi = null; signature = "getInstance(\"foo\", provider)"; try { spi = AlgorithmParameters.getInstance("foo", provider); harness.check(spi != null, signature); } catch (NoSuchAlgorithmException x) { harness.fail(signature); harness.debug(x); } spi = null; signature = "getInstance(\"FOO\", provider)"; try { spi = AlgorithmParameters.getInstance("FOO", provider); harness.check(spi != null, signature); } catch (NoSuchAlgorithmException x) { harness.fail(signature); harness.debug(x); } spi = null; signature = "getInstance(\"bar\", provider)"; try { spi = AlgorithmParameters.getInstance("bar", provider); harness.check(spi != null, signature); } catch (NoSuchAlgorithmException x) { harness.fail(signature); harness.debug(x); } spi = null; signature = "getInstance(\"BAR\", provider)"; try { spi = AlgorithmParameters.getInstance("BAR", provider); harness.check(spi != null, signature); } catch (NoSuchAlgorithmException x) { harness.fail(signature); harness.debug(x); } } } mauve-20140821/gnu/testlet/java/security/AccessController/0000755000175000001440000000000012375316426022270 5ustar dokousersmauve-20140821/gnu/testlet/java/security/AccessController/contexts.java0000644000175000001440000002556511030455607025007 0ustar dokousers// Copyright (C) 2006, 2007 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 package gnu.testlet.java.security.AccessController; import java.io.File; import java.io.FileInputStream; import java.io.FileFilter; import java.io.FileOutputStream; import java.io.FilePermission; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.net.URL; import java.net.URLClassLoader; import java.security.AccessController; import java.security.AccessControlContext; import java.security.Permission; import java.security.PermissionCollection; import java.security.PrivilegedAction; import java.security.ProtectionDomain; import java.util.Enumeration; import java.util.LinkedList; import java.util.jar.JarEntry; import java.util.jar.JarOutputStream; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; // In this test we load three different instances of ourself from // three different jarfiles with three different classloaders. Each // classloader has a different protection domain in which that // classloader's jarfile is readable. All kinds of context-hopping is // performed, and we infer which protection domains are in our stack // by seeing which jarfile read permissions we can see. public class contexts implements Testlet { public void test(TestHarness harness) { // The bits where we access protection domains is Classpath-specific. if (System.getProperty("gnu.classpath.version") == null) return; File jars[] = new File[] {null, null, null}; try { harness.checkPoint("setup"); // Make jarfiles containing this class and its dependencies String base = new File(harness.getTempDirectory(), "ac").getCanonicalPath(); jars[0] = new File(base + "1.jar"); JarOutputStream jos = new JarOutputStream(new FileOutputStream(jars[0])); copyClass(harness.getBuildDirectory(), jos, getClass()); copyClass(harness.getBuildDirectory(), jos, TestHarness.class); jos.close(); for (int i = 1; i < jars.length; i++) { jars[i] = new File(base + (i + 1) + ".jar"); copyFile(jars[0], jars[i]); } // Create instances of ourself loaded from different loaders TestObject testObjects[] = new TestObject[jars.length]; for (int i = 0; i < jars.length; i++) { Class testClass = new URLClassLoader(new URL[] { jars[i].toURL()}, null).loadClass(getClass().getName()); harness.check( getClass().getClassLoader() != testClass.getClassLoader()); Constructor c = testClass.getConstructor(new Class[] {String.class}); testObjects[i] = new TestObject(c.newInstance(new Object[] {base})); } // Run the tests test(harness, testObjects); } catch (Exception ex) { harness.debug(ex); harness.check(false, "Unexpected exception"); } finally { for (int i = 0; i < jars.length; i++) { if (jars[i].exists()) jars[i].delete(); } } } // Copy a classfile and its dependencies into a jarfile private static void copyClass(String srcdir, JarOutputStream jos, Class cls) throws Exception { File root = new File(srcdir, cls.getName().replace(".", File.separator)); final String rootpath = root.getPath(); int chop = srcdir.length() + File.separator.length(); File dir = root.getParentFile(); if (dir.isDirectory()) { File[] files = dir.listFiles(new FileFilter() { public boolean accept(File file) { String path = file.getPath(); if (path.endsWith(".class")) { path = path.substring(0, path.length() - 6); if (path.equals(rootpath)) return true; if (path.startsWith(rootpath + "$")) return true; } return false; } }); for (int i = 0; i < files.length; i++) { byte[] bytes = new byte[(int) files[i].length()]; FileInputStream fis = new FileInputStream(files[i]); fis.read(bytes); fis.close(); jos.putNextEntry(new JarEntry(files[i].getPath().substring(chop))); jos.write(bytes, 0, bytes.length); } } Class superclass = cls.getSuperclass(); if (superclass != null) copyClass(srcdir, jos, superclass); Class[] interfaces = cls.getInterfaces(); for (int i = 0; i < interfaces.length; i++) copyClass(srcdir, jos, interfaces[i]); } // Make a copy of a file private static void copyFile(File src, File dst) throws Exception { byte[] bytes = new byte[(int) src.length()]; FileInputStream fis = new FileInputStream(src); fis.read(bytes); fis.close(); FileOutputStream fos = new FileOutputStream(dst); fos.write(bytes); fos.close(); } // Constructor for the main object that Mauve creates public contexts() { } // Constructor for the sub-objects that the main object creates private String base = null; public contexts(String base) { this.base = base; } // Wrapper to hide the pain of reflection private static class TestObject { private Object object; public TestObject(Object object) { this.object = object; } public String[] listJarsOf(TestObject other) throws Exception { Method method = object.getClass().getMethod( "listJarsOf", new Class[] {Object.class}); return (String[]) method.invoke(object, new Object[] {other.object}); } public String[] callListJarsOf(TestObject caller, TestObject callee) throws Exception { Method method = object.getClass().getMethod( "callListJarsOf", new Class[] {Object.class, Object.class}); return (String[]) method.invoke( object, new Object[] {caller.object, callee.object}); } public String[] callPrivilegedListJarsOf( TestObject caller, TestObject callee) throws Exception { Method method = object.getClass().getMethod( "callPrivilegedListJarsOf", new Class[] {Object.class, Object.class}); return (String[]) method.invoke( object, new Object[] {caller.object, callee.object}); } } public String[] listJarsOf(Object object) throws Exception { Method method = object.getClass().getMethod("listJars", new Class[0]); return (String[]) method.invoke(object, new Object[0]); } public String[] callListJarsOf(Object caller, Object callee) throws Exception { Method method = caller.getClass().getMethod( "listJarsOf", new Class[] {Object.class}); return (String[]) method.invoke(caller, new Object[] {callee}); } public String[] callPrivilegedListJarsOf(Object caller, Object callee) throws Exception { Method method = caller.getClass().getMethod( "privilegedListJarsOf", new Class[] {Object.class}); return (String[]) method.invoke(caller, new Object[] {callee}); } public String[] privilegedListJarsOf(final Object object) throws Exception { final Method method = object.getClass().getMethod( "listJars", new Class[0]); return (String[]) AccessController.doPrivileged(new PrivilegedAction() { public Object run() { try { return method.invoke(object, new Object[0]); } catch (Exception e) { return e; } } }); } public String[] listJars() throws Exception { AccessControlContext ctx = AccessController.getContext(); // XXX start of classpath-specific code Field field = ctx.getClass().getDeclaredField("protectionDomains"); field.setAccessible(true); ProtectionDomain[] domains = (ProtectionDomain[]) field.get(ctx); // XXX end of classpath-specific code LinkedList jars = new LinkedList(); for (int i = 0; i < domains.length; i++) { PermissionCollection perms = domains[i].getPermissions(); for (Enumeration e = perms.elements(); e.hasMoreElements() ;) { Permission p = (Permission) e.nextElement(); if (!(p instanceof FilePermission)) continue; String path = p.getName(); if (path.length() == base.length() + 5 && path.startsWith(base) && Character.isDigit(path.charAt(base.length())) && path.endsWith(".jar")) jars.add(path); } } return (String[]) jars.toArray(new String[jars.size()]); } // Perform the tests private static void test(TestHarness harness, TestObject[] objects) throws Exception { // Each object should see only its own protection domain harness.checkPoint("self-listing"); String[] jars = new String[objects.length]; for (int i = 0; i < objects.length; i++) { String[] result = objects[i].listJarsOf(objects[i]); harness.check(result.length == 1); jars[i] = result[0]; } for (int i = 0; i < objects.length; i++) { for (int j = i + 1; j < objects.length; j++) harness.check(!jars[i].equals(jars[j])); } // When one object calls another both objects' protection domains // should be present. harness.checkPoint("straight other-listing"); boolean[] seen = new boolean[jars.length]; String[] result = objects[0].listJarsOf(objects[1]); harness.check(result.length == 2); for (int i = 0; i < seen.length; i++) { seen[i] = false; for (int j = 0; j < result.length; j++) { if (result[j].equals(jars[i])) { harness.check(!seen[i]); seen[i] = true; } } } harness.check(seen[0] && seen[1] && !seen[2]); // When one object calls another that calls another all three // objects' protection domains should be present. harness.checkPoint("straight other-other-listing"); result = objects[0].callListJarsOf(objects[1], objects[2]); harness.check(result.length == 3); for (int i = 0; i < seen.length; i++) { seen[i] = false; for (int j = 0; j < result.length; j++) { if (result[j].equals(jars[i])) { harness.check(!seen[i]); seen[i] = true; } } } harness.check(seen[0] && seen[1] && seen[2]); // When one object calls another that uses doPrivileged to call // a third then the first object's protection domain should not // be present. harness.checkPoint("privileged other-other-listing"); result = objects[0].callPrivilegedListJarsOf(objects[1], objects[2]); harness.check(result.length == 2); for (int i = 0; i < seen.length; i++) { seen[i] = false; for (int j = 0; j < result.length; j++) { if (result[j].equals(jars[i])) { harness.check(!seen[i]); seen[i] = true; } } } harness.check(!seen[0] && seen[1] && seen[2]); } } mauve-20140821/gnu/testlet/java/security/AccessController/doPrivileged.java0000644000175000001440000000434110321040703025527 0ustar dokousers// Copyright (C) 2005, Free Software Foundation, Inc. // // This file is part of Mauve. // // Mauve 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 version 2, or (at your option) // any later version. // // Mauve 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA, 02110-1301 USA. // // Tags: JDK1.2 package gnu.testlet.java.security.AccessController; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.security.*; /** * Checks that unchecked exceptions are properly thrown and checked * exceptions are properly wrapped. * * Written by Mark J. Wielaard. Suggested by Nicolas Geoffray. */ public class doPrivileged implements Testlet, PrivilegedExceptionAction { // The thing to throw. private Throwable t; public void test(TestHarness harness) { doPrivileged pea = new doPrivileged(); pea.t = new NullPointerException(); try { AccessController.doPrivileged(pea); } catch (NullPointerException npe) { harness.check(true); } catch (Throwable tt) { harness.debug(tt); harness.check(false); } pea.t = new java.io.IOException(); try { AccessController.doPrivileged(pea); } catch (PrivilegedActionException pae) { harness.check(pea.t, pae.getCause()); } catch (Throwable tt) { harness.debug(tt); harness.check(false); } pea.t = new ThreadDeath(); try { AccessController.doPrivileged(pea); } catch (ThreadDeath td) { harness.check(true); } catch (Throwable tt) { harness.debug(tt); harness.check(false); } } public Object run() throws Exception { if (t instanceof Error) throw (Error) t; else throw (Exception) t; } } mauve-20140821/gnu/testlet/java/security/Provider/0000755000175000001440000000000012375316426020615 5ustar dokousersmauve-20140821/gnu/testlet/java/security/Provider/NameVersionInfo.java0000644000175000001440000000264010057633061024514 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2002 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.security.Provider; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.security.Provider; public class NameVersionInfo extends Provider implements Testlet { static final String NAME = "Mauve-Test-Provider"; static final double VERSION = 3.14; static final String INFO = "Mauve Info-Test"; public NameVersionInfo() { super(NAME, VERSION, INFO); } public void test (TestHarness harness) { harness.check(this.getName(), NAME); harness.check(this.getVersion(), VERSION); harness.check(this.getInfo(), INFO); } } mauve-20140821/gnu/testlet/java/security/SecureRandom/0000755000175000001440000000000012375316426021412 5ustar dokousersmauve-20140821/gnu/testlet/java/security/SecureRandom/Instance.java0000644000175000001440000000633607576133670024036 0ustar dokousers// Tags: JDK1.2 // // Uses: MauveSecureRandom // Copyright (C) 2002 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.security.SecureRandom; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.security.Security; import java.security.Provider; import java.security.SecureRandom; import java.security.GeneralSecurityException; public class Instance extends Provider implements Testlet { static final String NAME = "Mauve-Test-Provider-SecureRandom"; static final double VERSION = 3.14; static final String INFO = "Mauve Info-Test implements MauveSecureRandom"; TestHarness harness; public Instance() { super(NAME, VERSION, INFO); put("SecureRandom.MauveSecureRandom", "gnu.testlet.java.security.SecureRandom.MauveSecureRandom"); put("Alg.Alias.SecureRandom.MauveAlias", "MauveSecureRandom"); } void checkSecureRandom(String name) { checkSecureRandom(name, null); } void checkSecureRandom(String name, String provider) { String checkPoint = name + (provider == null ? "" : " " + provider); harness.checkPoint(checkPoint); SecureRandom sr; try { if (provider == null) sr = SecureRandom.getInstance(name); else sr = SecureRandom.getInstance(name, provider); } catch (GeneralSecurityException gse) { harness.fail(checkPoint + " instance caught " + gse); return; } // Just make sure we got the correct Signature harness.check(sr.getProvider(), this); // Do some of our dummy operations byte[] seed = new byte[1]; seed[0] = 42; sr.setSeed(seed); byte[] random = new byte[1]; sr.nextBytes(random); harness.check(random[0], (byte)42); } public void test (TestHarness h) { this.harness = h; // Without provider byte[] seed = new byte[1]; seed[0] = 42; SecureRandom sr = new SecureRandom(); harness.check(sr != null); sr = new SecureRandom(seed); harness.check(sr != null); // With our own provider Security.addProvider(this); sr = new SecureRandom(); harness.check(sr != null); sr = new SecureRandom(seed); harness.check(sr != null); checkSecureRandom("MauveSecureRandom"); checkSecureRandom("MAUVESecurerandom"); checkSecureRandom("MauveAlias"); checkSecureRandom("MAUVEALIAS"); checkSecureRandom("MauveSecureRandom", NAME); checkSecureRandom("MAUVESECURERANDOM", NAME); checkSecureRandom("MauveAlias", NAME); checkSecureRandom("MAUVEALIAS", NAME); } } mauve-20140821/gnu/testlet/java/security/SecureRandom/MauveSecureRandom.java0000644000175000001440000000251607576133670025653 0ustar dokousers// Tags: not-a-test // Copyright (C) 2002 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.security.SecureRandom; import java.security.SecureRandomSpi; // Dummy SecureRandom provider class that just returns the seed bytes. public class MauveSecureRandom extends SecureRandomSpi { private byte[] seed; protected void engineSetSeed(byte[] seed) { this.seed = seed; } public void engineNextBytes(byte[] random) { for (int i=0; i < random.length; i++) random[i] = seed[i]; } public byte[] engineGenerateSeed(int n) { return seed; } } mauve-20140821/gnu/testlet/java/security/SecureRandom/TestOfPR23899.java0000644000175000001440000000376410464071676024356 0ustar dokousers/* TestOfPR23899.java Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.security.SecureRandom; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.SecureRandom; /** * Regression test for PR Classpath/23899 */ public class TestOfPR23899 implements Testlet { public void test(TestHarness harness) { harness.checkPoint("TestOfPR23899"); SecureRandom prng1, prng2; int ra, rb; try { prng1 = SecureRandom.getInstance("SHA1PRNG"); prng2 = SecureRandom.getInstance("SHA1PRNG"); ra = prng1.nextInt(); rb = prng2.nextInt(); harness.check(ra != rb, "Similar SecureRandoms MUST NOT generate same bytes when " + "not explicitly seeded"); prng1 = SecureRandom.getInstance("SHA1PRNG"); prng1.setSeed(98243647L); prng2 = SecureRandom.getInstance("SHA1PRNG"); prng2.setSeed(98243647L); ra = prng1.nextInt(); rb = prng2.nextInt(); harness.check(ra == rb, "Similar SecureRandoms MUST generate same bytes when " + "similarly seeded"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfPR23899: " + x); } } } mauve-20140821/gnu/testlet/java/security/SecureRandom/SHA1PRNG.java0000644000175000001440000000616707621516074023451 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Free Software Foundation, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.security.SecureRandom; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.security.SecureRandom; import java.security.NoSuchAlgorithmException; //import java.security.NoSuchProviderException; public class SHA1PRNG implements Testlet { private TestHarness harness = null; boolean available = false; public void test (TestHarness harness) { this.harness = harness; this.harness.checkPoint ("SHA1PRNG"); instanceTest (); setSeeedTest (); } // .../docs/guide/security/HowToImplAProvider.html lists SHA1PRNG as a MUST private void instanceTest () { available = (getInstance () != null); harness.check (available, "found implementation"); } // SecureRandom javadoc states: // // The SecureRandom implementation attempts to completely randomize the // internal state of the generator itself unless the caller follows the call // to a getInstance method with a call to the setSeed method: // // SecureRandom random = SecureRandom.getInstance("SHA1PRNG"); // random.setSeed(seed); // // After the caller obtains the SecureRandom object from the getInstance call, // it can call nextBytes to generate random bytes: private void setSeeedTest () { if (!available) harness.fail ("no implementation found"); else { long a, b; SecureRandom prng1 = getInstance (); prng1.setSeed (98243647L); SecureRandom prng2 = getInstance (); prng2.setSeed (98243647L); a = prng1.nextLong(); b = prng2.nextLong(); harness.check (a == b, "instances generate same bytes when similarly seeded"); // if true in the beginning, it should be so forever for (int i = 0; i < 1000; i++) { prng1.nextLong(); prng2.nextLong(); } a = prng1.nextLong(); b = prng2.nextLong(); harness.check (a == b); } } private SecureRandom getInstance () { SecureRandom result = null; try { result = SecureRandom.getInstance ("SHA1PRNG"); // result = SecureRandom.getInstance ("SHA1PRNG", "GNU"); } // catch (NoSuchProviderException x) // { // harness.debug (x); // } catch (NoSuchAlgorithmException x) { harness.debug (x); } return result; } } mauve-20140821/gnu/testlet/java/security/key/0000755000175000001440000000000012375316426017613 5ustar dokousersmauve-20140821/gnu/testlet/java/security/key/rsa/0000755000175000001440000000000012375316426020400 5ustar dokousersmauve-20140821/gnu/testlet/java/security/key/dss/0000755000175000001440000000000012375316426020404 5ustar dokousersmauve-20140821/gnu/testlet/java/security/hash/0000755000175000001440000000000012375316426017746 5ustar dokousersmauve-20140821/gnu/testlet/java/security/AlgorithmParameterGenerator/0000755000175000001440000000000012375316426024461 5ustar dokousersmauve-20140821/gnu/testlet/java/security/AlgorithmParameterGenerator/MauveAlgorithm.java0000644000175000001440000000305310045167030030234 0ustar dokousers// $Id: MauveAlgorithm.java,v 1.2 2004/05/02 12:48:24 aph Exp $ // // Copyright (C) 2003, Free Software Foundation, Inc. // // This file is part of Mauve. // // Mauve 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 version 2, or (at your option) // any later version. // // Mauve 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // // Tags: not-a-test package gnu.testlet.java.security.AlgorithmParameterGenerator; import java.security.AlgorithmParameterGeneratorSpi; import java.security.AlgorithmParameters; import java.security.InvalidAlgorithmParameterException; import java.security.SecureRandom; import java.security.spec.AlgorithmParameterSpec; public class MauveAlgorithm extends AlgorithmParameterGeneratorSpi { protected void engineInit (int size, SecureRandom random) { } protected void engineInit (AlgorithmParameterSpec genParamSpec, SecureRandom random) throws InvalidAlgorithmParameterException { } protected AlgorithmParameters engineGenerateParameters () { return null; } } mauve-20140821/gnu/testlet/java/security/AlgorithmParameterGenerator/getInstance14.java0000644000175000001440000000575307644316122027743 0ustar dokousers// $Id: getInstance14.java,v 1.2 2003/04/07 15:42:10 crawley Exp $ // // Copyright (C) 2003, Free Software Foundation, Inc. // // This file is part of Mauve. // // Mauve 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 version 2, or (at your option) // any later version. // // Mauve 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // // Tags: JDK1.4 // Uses: MauveAlgorithm package gnu.testlet.java.security.AlgorithmParameterGenerator; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.security.AlgorithmParameterGenerator; import java.security.Provider; import java.security.NoSuchAlgorithmException; import java.security.Security; public class getInstance14 extends Provider implements Testlet { public getInstance14() { super("AlgorithmParameterGenerator", 1.0, ""); put("AlgorithmParameterGenerator.foo", "gnu.testlet.java.security.AlgorithmParameterGenerator.MauveAlgorithm"); put("Alg.Alias.AlgorithmParameterGenerator.bar", "foo"); } public void test (TestHarness harness) { harness.checkPoint ("AlgorithmParameterGenerator"); AlgorithmParameterGenerator spi; Provider provider = this; Security.addProvider(provider); String signature; spi = null; signature = "getInstance(\"foo\", provider)"; try { spi = AlgorithmParameterGenerator.getInstance("foo", provider); harness.check(spi != null, signature); } catch (NoSuchAlgorithmException x) { harness.fail(signature); harness.debug(x); } spi = null; signature = "getInstance(\"FOO\", provider)"; try { spi = AlgorithmParameterGenerator.getInstance("FOO", provider); harness.check(spi != null, signature); } catch (NoSuchAlgorithmException x) { harness.fail(signature); harness.debug(x); } spi = null; signature = "getInstance(\"bar\", provider)"; try { spi = AlgorithmParameterGenerator.getInstance("bar", provider); harness.check(spi != null, signature); } catch (NoSuchAlgorithmException x) { harness.fail(signature); harness.debug(x); } spi = null; signature = "getInstance(\"BAR\", provider)"; try { spi = AlgorithmParameterGenerator.getInstance("BAR", provider); harness.check(spi != null, signature); } catch (NoSuchAlgorithmException x) { harness.fail(signature); harness.debug(x); } } } mauve-20140821/gnu/testlet/java/security/Security/0000755000175000001440000000000012375316426020632 5ustar dokousersmauve-20140821/gnu/testlet/java/security/Security/property.java0000644000175000001440000000263610347523525023365 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2002 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.security.Security; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.security.Security; public class property implements Testlet { public void test (TestHarness harness) { // Nothing much specified for this method... String key = "Mauve-Key-test-prop"; String value = key + "-value"; harness.check(Security.getProperty(key), null); Security.setProperty(key, value); harness.check(Security.getProperty(key), value); Security.setProperty(key, null); harness.check(Security.getProperty(key), null); } } mauve-20140821/gnu/testlet/java/security/Security/getProviders.java0000644000175000001440000002305410356441327024152 0ustar dokousers// $Id: getProviders.java,v 1.2 2006/01/03 09:24:39 raif Exp $ // // Copyright (C) 2003 Free Software Foundation, Inc. // // This file is part of Mauve. // // Mauve 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 version 2, or (at your option) // any later version. // // Mauve 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.3 package gnu.testlet.java.security.Security; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.Security; import java.security.Provider; import java.security.InvalidParameterException; /** * Test of getProviders(String) and getProviders(Map) * methods in {@link java.security.Security}. * * @version $Revision: 1.2 $ * @see java.security.Security#getProviders(String) * @see java.security.Security#getProviders(java.util.Map) */ public class getProviders implements Testlet { Provider tom = new Tom(); Provider dick = new Dick(); Provider harry = new Harry(); public void test (TestHarness harness) { harness.checkPoint("getProviders(String)"); testNoProviders(harness); test1Provider(harness); test2Providers(harness); test3Providers(harness); } private void testNoProviders(TestHarness harness) { String filter = "NoService.NoAlgorithm"; // try with dummy filter and no providers installed try { harness.check(Security.getProviders(filter), null); } catch (Exception x) { harness.debug(x); harness.fail("testNoProviders.1: "+String.valueOf(x)); } } private void test1Provider(TestHarness harness) { Security.addProvider(tom); String signature = "Security.getProvider(\"tom\")"; try { Provider sameProvider = Security.getProvider(" Tom "); harness.check(sameProvider != null, signature); } catch (Throwable x) { harness.fail(signature); harness.debug(x); } String filter = "NoService.NoAlgorithm"; // try dummy filter with one known provider try { harness.check(Security.getProviders(filter), null); } catch (Exception x) { harness.debug(x); harness.fail("test1Provider.2: "+String.valueOf(x)); } Provider[] providers; // try real filter with one known provider filter = "CoffeeMaker.Foo"; try { providers = Security.getProviders(filter); if (providers == null || providers.length != 1) harness.fail("Tom : getProviders(\""+filter+"\")"); else harness.check(providers[0], tom); } catch (Exception x) { harness.debug(x); harness.fail("test1Provider.3: "+String.valueOf(x)); } // try real filter (different case) with one known provider filter = "CoffeeMaker.FOO"; try { providers = Security.getProviders(filter); if (providers == null || providers.length != 1) harness.fail("Tom : getProviders(\""+filter+"\")"); else harness.check(providers[0], tom); } catch (Exception x) { harness.debug(x); harness.fail("test1Provider.4: "+String.valueOf(x)); } // try incorrect (syntax) filter with one known provider filter = "CoffeeMakerFoo"; try { providers = Security.getProviders(filter); harness.fail("Tom : getProviders(\""+filter+"\")"); } catch (InvalidParameterException x) // expected { harness.check(true); } catch (Exception x) { harness.debug(x); harness.fail("test1Provider.5: "+String.valueOf(x)); } // try filter alias (1 indirection) with one known provider filter = "CoffeeMaker.Bar"; try { providers = Security.getProviders(filter); if (providers == null || providers.length != 1) harness.fail("Tom : getProviders(\""+filter+"\")"); else harness.check(providers[0], tom); } catch (Exception x) { harness.debug(x); harness.fail("test1Provider.6: "+String.valueOf(x)); } // try filter alias (2 indirections) with one known provider filter = "CoffeeMaker.WHAT"; try { providers = Security.getProviders(filter); if (providers == null || providers.length != 1) harness.fail("Tom : getProviders(\""+filter+"\")"); else harness.check(providers[0], tom); } catch (Exception x) { harness.debug(x); harness.fail("test1Provider.7: "+String.valueOf(x)); } // try real filter (incl. attr only) with one known provider filter = "CoffeeMaker.FOO ImplementedIn:vapourware"; try { providers = Security.getProviders(filter); if (providers == null || providers.length != 1) harness.fail("Tom : getProviders(\""+filter+"\")"); else harness.check(providers[0], tom); } catch (Exception x) { harness.debug(x); harness.fail("test1Provider.8: "+String.valueOf(x)); } // try real filter (incl. attr+val) with one known provider filter = "CoffeeMaker.FOO minCapacity:150"; try { providers = Security.getProviders(filter); if (providers == null || providers.length != 1) harness.fail("Tom : getProviders(\""+filter+"\")"); else harness.check(providers[0], tom); } catch (Exception x) { harness.debug(x); harness.fail("test1Provider.9: "+String.valueOf(x)); } } private void test2Providers(TestHarness harness) { Security.addProvider(dick); Provider[] providers; String filter = "NoService.NoAlgorithm"; // try real filter (incl. attr only) with two known providers filter = "CoffeeMaker.FOO ImplementedIn:vapourware"; try { providers = Security.getProviders(filter); if (providers == null || providers.length != 2 || (providers[0] != tom && providers[1] != dick)) harness.fail("Tom, Dick : getProviders(\""+filter+"\")"); else harness.check(true); } catch (Exception x) { harness.debug(x); harness.fail("test2Providers.1: "+String.valueOf(x)); } // try real filter (incl. attr+val) with two known providers filter = "CoffeeMaker.FOO minCapacity:150"; try { providers = Security.getProviders(filter); if (providers == null || providers.length != 2 || (providers[0] != tom && providers[1] != dick)) harness.fail("Tom, Dick : getProviders(\""+filter+"\")"); else harness.check(true); } catch (Exception x) { harness.debug(x); harness.fail("test2Providers.2: "+String.valueOf(x)); } } private void test3Providers(TestHarness harness) { Security.addProvider(harry); Provider[] p; String filter = "NoService.NoAlgorithm"; // try real filter (incl. attr only) with three known providers filter = "CoffeeMaker.FOO ImplementedIn:vapourware"; try { p = Security.getProviders(filter); if (p == null || p.length != 3 || (p[0] != tom && p[1] != dick && p[2] != harry)) harness.fail("Tom, Dick, Harry : getProviders(\""+filter+"\")"); else harness.check(true); } catch (Exception x) { harness.debug(x); harness.fail("test3Providers.1: "+String.valueOf(x)); } // try real filter (incl. attr+val) with three known providers filter = "CoffeeMaker.FOO minCapacity:150"; try { p = Security.getProviders(filter); if (p == null || p.length != 3 || (p[0] != tom && p[1] != dick && p[2] != harry)) harness.fail("Tom, Dick, Harry : getProviders(\""+filter+"\")"); else harness.check(true); } catch (Exception x) { harness.debug(x); harness.fail("test3Providers.2: "+String.valueOf(x)); } } // Inner class(es) // ========================================================================== class Tom extends Provider { Tom() { super("Tom", 1.0, ""); put("CoffeeMaker.Foo", "acme.crypto.FooSpi"); put("CoffeeMaker.Foo ImplementedIn", "Vapourware"); put("CoffeeMaker.Foo MinCapacity", "100"); put("Alg.Alias.CoffeeMaker.bar", "fOO"); put("Alg.Alias.CoffeeMaker.what", "bar"); } } class Dick extends Provider { Dick() { super("Dick", 2.0, ""); put("CoffeeMaker.Foo", "acme.crypto.FooSpi"); put("CoffeeMaker.Foo ImplementedIn", "Vapourware"); put("CoffeeMaker.Foo MinCapacity", "120"); put("Alg.Alias.CoffeeMaker.bar", "fOO"); put("Alg.Alias.CoffeeMaker.what", "bar"); } } class Harry extends Provider { Harry() { super("Harry", 3.0, ""); put("CoffeeMaker.Foo", "acme.crypto.FooSpi"); put("CoffeeMaker.Foo ImplementedIn", "Vapourware"); put("CoffeeMaker.Foo MinCapacity", "140"); put("Alg.Alias.CoffeeMaker.bar", "fOO"); put("Alg.Alias.CoffeeMaker.what", "bar"); } } } mauve-20140821/gnu/testlet/java/security/Security/getAlgorithms.java0000644000175000001440000000560507644316123024311 0ustar dokousers// $Id: getAlgorithms.java,v 1.3 2003/04/07 15:42:11 crawley Exp $ // // Copyright (C) 2003, Free Software Foundation, Inc. // // This file is part of Mauve. // // Mauve 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 version 2, or (at your option) // any later version. // // Mauve 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // // Tags: JDK1.4 package gnu.testlet.java.security.Security; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.security.Provider; import java.security.Security; import java.util.Set; import java.util.Iterator; /** * Test of getAlgorithms(String) method in {@link Security}. * * @version $Revision: 1.3 $ * @see Security#getAlgorithms(String) */ public class getAlgorithms extends Provider implements Testlet { public getAlgorithms() { super("getAlgorithms", 1.0, ""); put("Coffee.Foo", "whatever"); put("Tea.Bar", "whatever"); put("Tea.Bar ImplementedIn", "Vapourware"); put("Tea.Bar MinCapacity", "100"); put("Tea.Baz", "whatever"); put("Tea.Baz ImplementedIn", "Vapourware"); put("Tea.Baz MinCapacity", "100"); } public void test (TestHarness harness) { harness.checkPoint ("getAlgorithms"); String signature, key; Set set = null; Security.addProvider(this); signature = "getAlgorithms(\"foo\")"; set = Security.getAlgorithms("foo"); harness.check(set != null && set.size() == 0, signature); signature = "getAlgorithms(\"Coffee\")"; set = Security.getAlgorithms("Coffee"); key = "Foo"; if (set != null && set.size() >= 1) harness.check(containsKey(set, key), signature+": "+key); else harness.check(false, signature + ": set.size() < 1"); signature = "getAlgorithms(\"Tea\")"; set = Security.getAlgorithms("Tea"); if (set != null && set.size() >= 2) { key = "Bar"; harness.check(containsKey(set, key), signature+": "+key); key = "Baz"; harness.check(containsKey(set, key), signature+": "+key); } else harness.check(false, signature + ": set.size() < 2"); } private static final boolean containsKey(Set set, String key) { boolean result = false; for (Iterator it = set.iterator(); it.hasNext(); ) { result = key.trim().equalsIgnoreCase(String.valueOf(it.next()).trim()); if (result) break; } return result; } } mauve-20140821/gnu/testlet/java/security/Security/provider.java0000644000175000001440000000766607552363425023350 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2002 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.security.Security; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.security.Security; import java.security.Provider; public class provider extends Provider implements Testlet { static final String NAME = "Mauve-Test-Provider"; static final double VERSION = 3.14; static final String INFO = "Mauve Info-Test"; public provider() { super(NAME, VERSION, INFO); } provider(int i) { super(NAME + i, VERSION, INFO); } public void test (TestHarness harness) { // Backup original providers. Provider[] orig_providers = Security.getProviders(); harness.check(orig_providers != null); // Add a new provider. Provider p1 = new provider(1); int pos1 = Security.addProvider(p1); harness.check(pos1 != -1); // Is it inserted? Provider[] new_providers = Security.getProviders(); harness.check(orig_providers.length + 1, new_providers.length); // In the correct place? harness.check(new_providers[pos1-1], p1); // Add another, should be after 1 Provider p2 = new provider(2); int pos2 = Security.addProvider(p2); harness.check(pos2-1, pos1); // All in the correct place? new_providers = Security.getProviders(); harness.check(orig_providers.length + 2, new_providers.length); harness.check(new_providers[pos1-1], p1); harness.check(new_providers[pos2-1], p2); // Add new one in front, note 1 based. Provider p0 = new provider(0); int pos0 = Security.insertProviderAt(p0, 1); harness.check(pos0 != -1); // Cannot check if pos was respected because that is not guaranteed. // All in the correct place? new_providers = Security.getProviders(); harness.check(orig_providers.length + 3, new_providers.length); harness.check(new_providers[pos0-1], p0); // Are they all there? harness.check(Security.getProvider(p0.getName()), p0); harness.check(Security.getProvider(p1.getName()), p1); harness.check(Security.getProvider(p2.getName()), p2); // No Unknown ones harness.check(Security.getProvider("UNKNOWN " + NAME + "42"), null); // Re-adding providers will fail harness.check(Security.addProvider(p1), -1); harness.check(Security.addProvider(p2), -1); harness.check(Security.insertProviderAt(p1,1), -1); harness.check(Security.insertProviderAt(p2,2), -1); // You may remove as much as you want Security.removeProvider(p0.getName()); Security.removeProvider(p2.getName()); Security.removeProvider("UNKNOWN " + NAME + "42"); Security.removeProvider(p2.getName()); Security.removeProvider(p0.getName()); // Gone? harness.check(Security.getProvider(p0.getName()), null); harness.check(Security.getProvider(p2.getName()), null); // Provider 1 still at original place? harness.check(Security.getProvider(p1.getName()), p1); new_providers = Security.getProviders(); harness.check(new_providers[pos1-1], p1); // Done Security.removeProvider(p1.getName()); new_providers = Security.getProviders(); harness.check(new_providers.length, orig_providers.length); } } mauve-20140821/gnu/testlet/java/security/Signature/0000755000175000001440000000000012375316426020764 5ustar dokousersmauve-20140821/gnu/testlet/java/security/Signature/Instance.java0000644000175000001440000000611607552360455023401 0ustar dokousers// Tags: JDK1.2 // // Uses: MauveSignature // Copyright (C) 2002 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.security.Signature; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.security.Security; import java.security.Provider; import java.security.Signature; import java.security.PublicKey; import java.security.PrivateKey; import java.security.GeneralSecurityException; public class Instance extends Provider implements Testlet { static final String NAME = "Mauve-Test-Provider-Signature"; static final double VERSION = 3.14; static final String INFO = "Mauve Info-Test implements MauveSignature"; TestHarness harness; public Instance() { super(NAME, VERSION, INFO); put("Signature.MauveSignature", "gnu.testlet.java.security.Signature.MauveSignature"); put("Alg.Alias.Signature.MauveAlias", "MauveSignature"); } void checkSignature(String name) { checkSignature(name, null); } void checkSignature(String name, String provider) { String checkPoint = name + (provider == null ? "" : " " + provider); harness.checkPoint(checkPoint); Signature s; try { if (provider == null) s = Signature.getInstance(name); else s = Signature.getInstance(name, provider); } catch (GeneralSecurityException gse) { harness.fail(checkPoint + " instance caught " + gse); return; } // Just make sure we got the correct Signature harness.check(s.getAlgorithm(), name); harness.check(s.getProvider(), this); // Do some of our dummy operations try { s.initSign((PrivateKey)null); s.update((byte)6); byte[] sign = s.sign(); harness.check(sign[0], (byte)6); s.initVerify((PublicKey)null); byte[] message = new byte[] {0, 1, 2, 3}; s.update(message); harness.check(s.verify(message)); } catch (GeneralSecurityException gse) { harness.fail(checkPoint + " dummy caught " + gse); } } public void test (TestHarness h) { this.harness = h; Security.addProvider(this); checkSignature("MauveSignature"); checkSignature("MAUVESignature"); checkSignature("MauveAlias"); checkSignature("MAUVEALIAS"); checkSignature("MauveSignature", NAME); checkSignature("MAUVESIGNATURE", NAME); checkSignature("MauveAlias", NAME); checkSignature("MAUVEALIAS", NAME); } } mauve-20140821/gnu/testlet/java/security/Signature/MauveSignature.java0000644000175000001440000000424307552360455024573 0ustar dokousers// Tags: not-a-test // Copyright (C) 2002 Free Software Foundation, Inc. // Written by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.security.Signature; import java.security.SignatureSpi; import java.security.PublicKey; import java.security.PrivateKey; import java.security.SignatureException; import java.security.InvalidParameterException; import java.security.InvalidKeyException; // Dummy signature that just contains what was put in. // And successfully verifies if the signature has a length > 2 public class MauveSignature extends SignatureSpi { private byte[] signature; public Object engineGetParameter(String p) throws InvalidParameterException { throw new InvalidParameterException(); } public void engineSetParameter(String p, Object o) throws InvalidParameterException { throw new InvalidParameterException(); } public boolean engineVerify(byte[] sig) throws SignatureException { return sig.length > 2; } public byte[] engineSign() throws SignatureException { return signature; } public void engineUpdate(byte b) { signature = new byte[1]; signature[0] = b; } public void engineUpdate(byte[] bs, int off, int len) { signature = new byte[len]; System.arraycopy(bs, off, signature, 0, len); } public void engineInitSign(PrivateKey privateKey) throws InvalidKeyException { } public void engineInitVerify(PublicKey publicKey) throws InvalidKeyException { } } mauve-20140821/gnu/testlet/java/security/Signature/getInstance14.java0000644000175000001440000000543407644316123024243 0ustar dokousers// $Id: getInstance14.java,v 1.2 2003/04/07 15:42:11 crawley Exp $ // // Copyright (C) 2003, Free Software Foundation, Inc. // // This file is part of Mauve. // // Mauve 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 version 2, or (at your option) // any later version. // // Mauve 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // // Tags: JDK1.4 // Uses: MauveSignature package gnu.testlet.java.security.Signature; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.security.Signature; import java.security.Provider; import java.security.NoSuchAlgorithmException; import java.security.Security; public class getInstance14 extends Provider implements Testlet { public getInstance14() { super("self", 1.0, ""); put("Signature.foo", "gnu.testlet.java.security.Signature.MauveSignature"); put("Alg.Alias.Signature.bar", "foo"); } public void test (TestHarness harness) { harness.checkPoint ("KeyPairGenerator"); Signature spi; Provider provider = new getInstance14(); Security.addProvider(provider); String signature; spi = null; signature = "getInstance(\"foo\", provider)"; try { spi = Signature.getInstance("foo", provider); harness.check(spi != null, signature); } catch (NoSuchAlgorithmException x) { harness.fail(signature); harness.debug(x); } spi = null; signature = "getInstance(\"FOO\", provider)"; try { spi = Signature.getInstance("FOO", provider); harness.check(spi != null, signature); } catch (NoSuchAlgorithmException x) { harness.fail(signature); harness.debug(x); } spi = null; signature = "getInstance(\"bar\", provider)"; try { spi = Signature.getInstance("bar", provider); harness.check(spi != null, signature); } catch (NoSuchAlgorithmException x) { harness.fail(signature); harness.debug(x); } spi = null; signature = "getInstance(\"BAR\", provider)"; try { spi = Signature.getInstance("BAR", provider); harness.check(spi != null, signature); } catch (NoSuchAlgorithmException x) { harness.fail(signature); harness.debug(x); } } } mauve-20140821/gnu/testlet/java/security/Engine/0000755000175000001440000000000012375316426020230 5ustar dokousersmauve-20140821/gnu/testlet/java/security/Engine/getInstance.java0000644000175000001440000002255210470665125023342 0ustar dokousers/* getInstance.java -- Ensure names with extra spaces are recognized Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 // Uses: ../MessageDigest/MauveDigest package gnu.testlet.java.security.Engine; import gnu.java.security.Engine; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.NoSuchAlgorithmException; import java.security.Provider; import java.security.Security; public class getInstance extends Provider implements Testlet { private Provider provider; public getInstance() { super("FakeProvider", 1.0, "A Fake Provider Used Within the Mauve Test Suite"); put("MessageDigest.foo", "gnu.testlet.java.security.MessageDigest.MauveDigest"); put("Alg.Alias.MessageDigest.bar", "foo"); } // Test case for the behaviour of // Engine.getInstance (service, algorithm, provider). // White space should be ignored. // The algorithm names should be case insensitive. public void test (TestHarness harness){ setUp (harness); testWhiteSpace(harness); testAlgorithmCase (harness); testNameRedundancy(harness); } private void setUp (TestHarness harness){ provider = this; Security.addProvider(provider); } // Tests the behaviour of // Engine.getInstance (service, algorithm, provider). // The algorithms and service names should ignore any white space. private void testWhiteSpace (TestHarness harness) { harness.checkPoint ("Engine"); String signature; signature = "getInstance(\"MessageDigest\", \"foo\", provider)"; try { harness.check( Engine.getInstance("MessageDigest", "foo", provider) != null, signature); } catch (Exception x) { harness.fail(signature); harness.debug(x); } signature = "getInstance(\" MessageDigest \", \"foo\", provider)"; try { harness.check( Engine.getInstance(" MessageDigest ", "foo", provider) != null, signature); } catch (Exception x) { harness.fail(signature); harness.debug(x); } signature = "getInstance(\"MessageDigest\", \" foo \", provider)"; try { harness.check( Engine.getInstance("MessageDigest", " foo ", provider) != null, signature); } catch (Exception x) { harness.fail(signature); harness.debug(x); } signature = "getInstance(\" MessageDigest \", \" foo \", provider)"; try { harness.check( Engine.getInstance(" MessageDigest ", " foo ", provider) != null, signature); } catch (Exception x) { harness.fail(signature); harness.debug(x); } } // Tests the behaviour of // Engine.getInstance (service, algorithm, provider). // The algorithm names should be case insensitive. private void testAlgorithmCase(TestHarness harness) { try { // test to make sure the engine can be found using all lowercase // characters. try { Engine.getInstance("MessageDigest", "foo", provider); } catch (NoSuchAlgorithmException e) { harness.fail("Could not find engine when using all lowercase characters"); harness.debug(e); } // test to make sure the engine can be found using all uppercase // characters try { Engine.getInstance("MessageDigest", "FOO", provider); } catch (NoSuchAlgorithmException e) { harness.fail("Could not find engine when using all uppercase characters"); harness.debug(e); } // test to make sure the engine can be found using a random case for the // characters try { Engine.getInstance("MessageDigest", "FoO", provider); } catch (NoSuchAlgorithmException e) { harness.fail("Could not find engine when using random case characters"); harness.debug(e); } // test to make sure the engine can be found using the exact same case // specified in the Provider try { Engine.getInstance("MessageDigest", "foo", provider); } catch (NoSuchAlgorithmException e) { harness.fail("Could not find engine using exact case characters"); harness.debug(e); } // test to make sure the engine can be found usinga all lowercase // characters using the alias try { Engine.getInstance("MessageDigest", "bar", provider); } catch (NoSuchAlgorithmException e) { harness.fail("Could not find engine using alias and all lowercase characters"); harness.debug(e); } // test to make sure the engine can be found using all uppercase // characters using the alias try { Engine.getInstance("MessageDigest", "BAR", provider); } catch (NoSuchAlgorithmException e) { harness.fail("Could not find engine using alias and all uppercase characters"); harness.debug(e); } // test to make sure the engine can be found using a random case for the // characters using the alias try { Engine.getInstance("MessageDigest", "bAr", provider); } catch (NoSuchAlgorithmException e) { harness.fail("Could not find engine using alias and random case characters"); harness.debug(e); } // test to make sure the engine can be found using the exact same case // specified in the Provider using the alias try { Engine.getInstance("MessageDigest", "bar", provider); } catch (NoSuchAlgorithmException e) { harness.fail("Could not find engine using alias and exact case characters"); harness.debug(e); } } catch (Exception e) { harness.debug(e); harness.fail(String.valueOf(e)); } } /** * Tests that the Provider class is immune against adding/removing the same * algorithm with different case names. * * @param harness the test harness. */ private void testNameRedundancy(TestHarness harness) { harness.checkPoint("Engine.testNameRedundancy()"); try { mustFindName(harness, "foo"); mustFindName(harness, "FOO"); // add a new spelling of 'foo' provider.put("MessageDigest.Foo", "gnu.testlet.java.security.MessageDigest.MauveDigest"); harness.verbose("*** Added 'Foo'"); mustFindName(harness, "Foo"); // now remove 'foo'. all 'foo' spellings should not be found provider.remove("MessageDigest.foo"); harness.verbose("*** Removed 'foo'"); mustNotFindName(harness, "foo"); mustNotFindName(harness, "FOO"); mustNotFindName(harness, "Foo"); // put 'foo' back put("MessageDigest.foo", "gnu.testlet.java.security.MessageDigest.MauveDigest"); harness.verbose("*** Re-added 'foo'"); // add a new spelling of 'bar' put("Alg.Alias.MessageDigest.Bar", "Foo"); harness.verbose("*** Added alias 'Bar'"); mustFindName(harness, "bar"); mustFindName(harness, "BAR"); mustFindName(harness, "Bar"); // now remove 'bar'. all 'bar' spellings should not be found provider.remove("Alg.Alias.MessageDigest.bar"); harness.verbose("*** Removed alias 'bar'"); mustNotFindName(harness, "bar"); mustNotFindName(harness, "BAR"); mustNotFindName(harness, "Bar"); } catch (Exception x) { harness.debug(x); harness.fail("Engine.testNameRedundancy(): " + x); } } private void mustFindName(TestHarness harness, String name) { String msg = "MUST find " + name; try { Object obj = Engine.getInstance("MessageDigest", name, provider); harness.check(obj != null, msg); } catch (Exception x) { harness.fail(msg); harness.debug(x); } } private void mustNotFindName(TestHarness harness, String name) { String msg = "MUST NOT find " + name; try { Object obj = Engine.getInstance("MessageDigest", name, provider); harness.check(obj == null, msg); } catch (NoSuchAlgorithmException x) { harness.check(true, msg); } catch (Exception x) { harness.fail(msg); harness.debug(x); } } } mauve-20140821/gnu/testlet/java/security/sig/0000755000175000001440000000000012375316426017605 5ustar dokousersmauve-20140821/gnu/testlet/java/security/sig/rsa/0000755000175000001440000000000012375316426020372 5ustar dokousersmauve-20140821/gnu/testlet/java/security/sig/dss/0000755000175000001440000000000012375316426020376 5ustar dokousersmauve-20140821/gnu/testlet/java/math/0000755000175000001440000000000012375316426016105 5ustar dokousersmauve-20140821/gnu/testlet/java/math/BigDecimal/0000755000175000001440000000000012375316426020065 5ustar dokousersmauve-20140821/gnu/testlet/java/math/BigDecimal/intValue.java0000644000175000001440000000537311705027156022522 0ustar dokousers// Test of the method BigDecimal.intValue() // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Check for method BigDecimal.intValue() */ public class intValue implements Testlet { /** * Entry point to this test. */ public void test(TestHarness harness) { // simple conversions harness.check((0) == (new BigDecimal("0")).intValue()); harness.check((1) == (new BigDecimal("1")).intValue()); harness.check((99) == (new BigDecimal("99")).intValue()); harness.check((100) == (new BigDecimal("100")).intValue()); harness.check((127) == (new BigDecimal("127")).intValue()); harness.check((-127) == (new BigDecimal("-127")).intValue()); harness.check((128) == (new BigDecimal("128")).intValue()); harness.check((-128) == (new BigDecimal("-128")).intValue()); harness.check((32767) == (new BigDecimal("32767")).intValue()); harness.check((-32768) == (new BigDecimal("-32768")).intValue()); harness.check((2147483647) == ((new BigDecimal("2147483647")).intValue())); harness.check((-2147483647) == ((new BigDecimal("-2147483647")).intValue())); // overflows/underflows harness.check((-2147483648) == ((new BigDecimal("2147483648")).intValue())); harness.check((-2147483647) == ((new BigDecimal("2147483649")).intValue())); harness.check((-2147483646) == ((new BigDecimal("2147483650")).intValue())); harness.check((0) == ((new BigDecimal("4294967296")).intValue())); harness.check((-1) == ((new BigDecimal("4294967295")).intValue())); harness.check((-2) == ((new BigDecimal("4294967294")).intValue())); // truncation harness.check((100) == (new BigDecimal("100.0")).intValue()); harness.check((100) == (new BigDecimal("100.1")).intValue()); harness.check((100) == (new BigDecimal("100.9")).intValue()); } } mauve-20140821/gnu/testlet/java/math/BigDecimal/multiply.java0000644000175000001440000001271711706033746022615 0ustar dokousers// Test of the method BigDecimal.multiply() // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // // Tags: JDK1.5 package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import java.math.MathContext; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Check for method BigDecimal.multiply() */ public class multiply implements Testlet { /** * Entry point to this test. */ public void test(TestHarness harness) { test1(harness); test2(harness, new MathContext(0)); test3(harness, new MathContext(1)); test4(harness); } /** * Basic tests */ private void test1(TestHarness harness) { BigDecimal secondNumber = new BigDecimal("2"); harness.check(((new BigDecimal("2")).multiply(secondNumber).toString()).equals("4")); harness.check(((new BigDecimal("-2")).multiply(secondNumber).toString()).equals("-4")); harness.check(((new BigDecimal("+0.000")).multiply(secondNumber).toString()).equals("0.000")); harness.check(((new BigDecimal("00.000")).multiply(secondNumber).toString()).equals("0.000")); harness.check(((new BigDecimal("-0.000")).multiply(secondNumber).toString()).equals("0.000")); harness.check(((new BigDecimal("2000000")).multiply(secondNumber).toString()).equals("4000000")); harness.check(((new BigDecimal("0.2")).multiply(secondNumber).toString()).equals("0.4")); harness.check(((new BigDecimal("-0.2")).multiply(secondNumber).toString()).equals("-0.4")); harness.check(((new BigDecimal("0.01")).multiply(secondNumber).toString()).equals("0.02")); harness.check(((new BigDecimal("-0.01")).multiply(secondNumber).toString()).equals("-0.02")); } /** * Tests using MathContext */ private void test2(TestHarness harness, MathContext mathContext) { BigDecimal secondNumber = new BigDecimal("2"); harness.check(((new BigDecimal("2")).multiply(secondNumber, mathContext).toString()).equals("4")); harness.check(((new BigDecimal("-2")).multiply(secondNumber, mathContext).toString()).equals("-4")); harness.check(((new BigDecimal("+0.000")).multiply(secondNumber, mathContext).toString()).equals("0.000")); harness.check(((new BigDecimal("00.000")).multiply(secondNumber, mathContext).toString()).equals("0.000")); harness.check(((new BigDecimal("-0.000")).multiply(secondNumber, mathContext).toString()).equals("0.000")); harness.check(((new BigDecimal("2000000")).multiply(secondNumber, mathContext).toString()).equals("4000000")); harness.check(((new BigDecimal("0.2")).multiply(secondNumber, mathContext).toString()).equals("0.4")); harness.check(((new BigDecimal("-0.2")).multiply(secondNumber, mathContext).toString()).equals("-0.4")); harness.check(((new BigDecimal("0.01")).multiply(secondNumber, mathContext).toString()).equals("0.02")); harness.check(((new BigDecimal("-0.01")).multiply(secondNumber, mathContext).toString()).equals("-0.02")); } /** * Tests using MathContext */ private void test3(TestHarness harness, MathContext mathContext) { BigDecimal secondNumber = new BigDecimal("2"); harness.check(((new BigDecimal("2")).multiply(secondNumber, mathContext).toString()).equals("4")); harness.check(((new BigDecimal("-2")).multiply(secondNumber, mathContext).toString()).equals("-4")); harness.check(((new BigDecimal("+0.000")).multiply(secondNumber, mathContext).toString()).equals("0.000")); harness.check(((new BigDecimal("00.000")).multiply(secondNumber, mathContext).toString()).equals("0.000")); harness.check(((new BigDecimal("-0.000")).multiply(secondNumber, mathContext).toString()).equals("0.000")); harness.check(((new BigDecimal("2000000")).multiply(secondNumber, mathContext).toString()).equals("4E+6")); harness.check(((new BigDecimal("0.2")).multiply(secondNumber, mathContext).toString()).equals("0.4")); harness.check(((new BigDecimal("-0.2")).multiply(secondNumber, mathContext).toString()).equals("-0.4")); harness.check(((new BigDecimal("0.01")).multiply(secondNumber, mathContext).toString()).equals("0.02")); harness.check(((new BigDecimal("-0.01")).multiply(secondNumber, mathContext).toString()).equals("-0.02")); } /** * Various MathContext usage */ private void test4(TestHarness harness) { BigDecimal secondNumber = new BigDecimal("2"); harness.check(((new BigDecimal("2000000")).multiply(secondNumber, new MathContext(0)).toString()).equals("4000000")); harness.check(((new BigDecimal("2000000")).multiply(secondNumber, new MathContext(1)).toString()).equals("4E+6")); harness.check(((new BigDecimal("2000000")).multiply(secondNumber, new MathContext(2)).toString()).equals("4.0E+6")); harness.check(((new BigDecimal("2000000")).multiply(secondNumber, new MathContext(3)).toString()).equals("4.00E+6")); } } mauve-20140821/gnu/testlet/java/math/BigDecimal/divideRoundingModeScale.java0000644000175000001440000001417111710263262025452 0ustar dokousers// Test of the method BigDecimal.divide(BigDecimal,int,RoundingMode) // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // // Tags: JDK1.5 package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import java.math.RoundingMode; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Check for method BigDecimal.divide(BigDecimal,int,RoundingMode) */ public class divideRoundingModeScale implements Testlet { public void test (TestHarness harness) { BigDecimal a; BigDecimal b; BigDecimal result; harness.checkPoint("basic tests, scale=0"); a = new BigDecimal("10"); b = new BigDecimal("3"); result = new BigDecimal("4"); harness.check(a.divide(b, 0, RoundingMode.UP), result); result = new BigDecimal("3"); harness.check(a.divide(b, 0, RoundingMode.DOWN), result); result = new BigDecimal("4"); harness.check(a.divide(b, 0, RoundingMode.CEILING), result); result = new BigDecimal("3"); harness.check(a.divide(b, 0, RoundingMode.FLOOR), result); result = new BigDecimal("3"); harness.check(a.divide(b, 0, RoundingMode.HALF_UP), result); result = new BigDecimal("3"); harness.check(a.divide(b, 0, RoundingMode.HALF_DOWN), result); result = new BigDecimal("3"); harness.check(a.divide(b, 0, RoundingMode.HALF_EVEN), result); harness.checkPoint("negative result, scale=0"); a = new BigDecimal("10"); b = new BigDecimal("-3"); result = new BigDecimal("-4"); harness.check(a.divide(b, 0, RoundingMode.UP), result); result = new BigDecimal("-3"); harness.check(a.divide(b, 0, RoundingMode.DOWN), result); result = new BigDecimal("-3"); harness.check(a.divide(b, 0, RoundingMode.CEILING), result); result = new BigDecimal("-4"); harness.check(a.divide(b, 0, RoundingMode.FLOOR), result); result = new BigDecimal("-3"); harness.check(a.divide(b, 0, RoundingMode.HALF_UP), result); result = new BigDecimal("-3"); harness.check(a.divide(b, 0, RoundingMode.HALF_DOWN), result); result = new BigDecimal("-3"); harness.check(a.divide(b, 0, RoundingMode.HALF_EVEN), result); harness.checkPoint("negative result, second test case, scale=0"); a = new BigDecimal("-10"); b = new BigDecimal("3"); result = new BigDecimal("-4"); harness.check(a.divide(b, 0, RoundingMode.UP), result); result = new BigDecimal("-3"); harness.check(a.divide(b, 0, RoundingMode.DOWN), result); result = new BigDecimal("-3"); harness.check(a.divide(b, 0, RoundingMode.CEILING), result); result = new BigDecimal("-4"); harness.check(a.divide(b, 0, RoundingMode.FLOOR), result); result = new BigDecimal("-3"); harness.check(a.divide(b, 0, RoundingMode.HALF_UP), result); result = new BigDecimal("-3"); harness.check(a.divide(b, 0, RoundingMode.HALF_DOWN), result); result = new BigDecimal("-3"); harness.check(a.divide(b, 0, RoundingMode.HALF_EVEN), result); harness.checkPoint("basic tests, scale=2"); a = new BigDecimal("10"); b = new BigDecimal("3"); result = new BigDecimal("3.34"); harness.check(a.divide(b, 2, RoundingMode.UP), result); result = new BigDecimal("3.33"); harness.check(a.divide(b, 2, RoundingMode.DOWN), result); result = new BigDecimal("3.34"); harness.check(a.divide(b, 2, RoundingMode.CEILING), result); result = new BigDecimal("3.33"); harness.check(a.divide(b, 2, RoundingMode.FLOOR), result); result = new BigDecimal("3.33"); harness.check(a.divide(b, 2, RoundingMode.HALF_UP), result); result = new BigDecimal("3.33"); harness.check(a.divide(b, 2, RoundingMode.HALF_DOWN), result); result = new BigDecimal("3.33"); harness.check(a.divide(b, 2, RoundingMode.HALF_EVEN), result); harness.checkPoint("negative result, scale=2"); a = new BigDecimal("10"); b = new BigDecimal("-3"); result = new BigDecimal("-3.34"); harness.check(a.divide(b, 2, RoundingMode.UP), result); result = new BigDecimal("-3.33"); harness.check(a.divide(b, 2, RoundingMode.DOWN), result); result = new BigDecimal("-3.33"); harness.check(a.divide(b, 2, RoundingMode.CEILING), result); result = new BigDecimal("-3.34"); harness.check(a.divide(b, 2, RoundingMode.FLOOR), result); result = new BigDecimal("-3.33"); harness.check(a.divide(b, 2, RoundingMode.HALF_UP), result); result = new BigDecimal("-3.33"); harness.check(a.divide(b, 2, RoundingMode.HALF_DOWN), result); result = new BigDecimal("-3.33"); harness.check(a.divide(b, 2, RoundingMode.HALF_EVEN), result); harness.checkPoint("negative result, second test case, scale=2"); a = new BigDecimal("-10"); b = new BigDecimal("3"); result = new BigDecimal("-3.34"); harness.check(a.divide(b, 2, RoundingMode.UP), result); result = new BigDecimal("-3.33"); harness.check(a.divide(b, 2, RoundingMode.DOWN), result); result = new BigDecimal("-3.33"); harness.check(a.divide(b, 2, RoundingMode.CEILING), result); result = new BigDecimal("-3.34"); harness.check(a.divide(b, 2, RoundingMode.FLOOR), result); result = new BigDecimal("-3.33"); harness.check(a.divide(b, 2, RoundingMode.HALF_UP), result); result = new BigDecimal("-3.33"); harness.check(a.divide(b, 2, RoundingMode.HALF_DOWN), result); result = new BigDecimal("-3.33"); harness.check(a.divide(b, 2, RoundingMode.HALF_EVEN), result); } } mauve-20140821/gnu/testlet/java/math/BigDecimal/shortValueExact.java0000644000175000001440000000513111705027156024044 0ustar dokousers// Test of the method BigDecimal.shortValueExact() // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Check for method BigDecimal.shortValueExact() */ public class shortValueExact implements Testlet { /** * Entry point to this test. */ public void test(TestHarness harness) { // simple conversions harness.check((0) == (new BigDecimal("0")).shortValueExact()); harness.check((1) == (new BigDecimal("1")).shortValueExact()); harness.check((99) == (new BigDecimal("99")).shortValueExact()); harness.check((100) == (new BigDecimal("100")).shortValueExact()); harness.check((127) == (new BigDecimal("127")).shortValueExact()); harness.check((-127) == (new BigDecimal("-127")).shortValueExact()); harness.check((128) == (new BigDecimal("128")).shortValueExact()); harness.check((-128) == (new BigDecimal("-128")).shortValueExact()); harness.check((32767) == (new BigDecimal("32767")).shortValueExact()); harness.check((-32768) == (new BigDecimal("-32768")).shortValueExact()); // overflow/underflow testException(harness, "32768"); testException(harness, "32769"); testException(harness, "32770"); testException(harness, "65535"); testException(harness, "65536"); // truncation testException(harness, "100.1"); testException(harness, "100.9"); } /** * Check if exception is thrown during exact conversion to a short. */ private void testException(TestHarness harness, String numberStr) { try { new BigDecimal(numberStr).shortValueExact(); harness.fail("ArithmeticException not thrown as expected for the number: " + numberStr + "!"); } catch (ArithmeticException e) { // ok } } } mauve-20140821/gnu/testlet/java/math/BigDecimal/constructorString.java0000644000175000001440000002002611701603367024477 0ustar dokousers// Test of BigDecimal constructors. // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.5 package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import java.math.MathContext; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test if instance of BigDecimal class could be created * directly from a string. */ public class constructorString implements Testlet { /** * Strings used as a parameter passed to constructors. */ private static final String STRING_LITERAL_0 = "0.0"; private static final String STRING_LITERAL_1 = "0.1"; private static final String STRING_LITERAL_2 = "0.01"; private static final String STRING_LITERAL_3 = "0.001"; private static final String STRING_LITERAL_4 = "0.0001"; private static final String STRING_LITERAL_5 = "0.00001"; private static final String STRING_LITERAL_6 = "0.000001"; private static final String STRING_LITERAL_7 = "0.0000001"; private static final String STRING_LITERAL_8 = "0.01E5"; private static final String STRING_LITERAL_9 = "1000E-5"; /** * Strings used by negative tests. */ private static final String NEG_STRING_LITERAL_0 = "obviously not-a-number"; private static final String NEG_STRING_LITERAL_1 = "--0"; private static final String NEG_STRING_LITERAL_2 = "123qwe"; private static final String NEG_STRING_LITERAL_3 = "qwe123"; private static final String NEG_STRING_LITERAL_4 = "0.0.0"; private static final String NEG_STRING_LITERAL_5 = "-0.0.0"; /** * Entry point to this test. */ public void test(TestHarness harness) { // positive tests test1(harness); test2(harness); // negative tests test3(harness); test4(harness); } /** * Constructor BigDecimal(String) */ public void test1(TestHarness harness) { harness.checkPoint("constructor BigDecimal(String)"); try { harness.check(new BigDecimal(STRING_LITERAL_0).toString (), "0.0"); harness.check(new BigDecimal(STRING_LITERAL_1).toString (), "0.1"); harness.check(new BigDecimal(STRING_LITERAL_2).toString (), "0.01"); harness.check(new BigDecimal(STRING_LITERAL_3).toString (), "0.001"); harness.check(new BigDecimal(STRING_LITERAL_4).toString (), "0.0001"); harness.check(new BigDecimal(STRING_LITERAL_5).toString (), "0.00001"); harness.check(new BigDecimal(STRING_LITERAL_6).toString (), "0.000001"); harness.check(new BigDecimal(STRING_LITERAL_7).toString (), "1E-7"); harness.check(new BigDecimal(STRING_LITERAL_8).toString (), "1E+3"); harness.check(new BigDecimal(STRING_LITERAL_9).toString (), "0.01000"); } catch (Exception e) { harness.fail("Exception should not be thrown here." + e); } } /** * Constructor BigDecimal(String, MathContext) */ public void test2(TestHarness harness) { harness.checkPoint("constructor BigDecimal(String, MathContext)"); try { harness.check(new BigDecimal(STRING_LITERAL_0, MathContext.UNLIMITED).toString (), "0.0"); harness.check(new BigDecimal(STRING_LITERAL_1, MathContext.UNLIMITED).toString (), "0.1"); harness.check(new BigDecimal(STRING_LITERAL_2, MathContext.UNLIMITED).toString (), "0.01"); harness.check(new BigDecimal(STRING_LITERAL_3, MathContext.UNLIMITED).toString (), "0.001"); harness.check(new BigDecimal(STRING_LITERAL_4, MathContext.UNLIMITED).toString (), "0.0001"); harness.check(new BigDecimal(STRING_LITERAL_5, MathContext.UNLIMITED).toString (), "0.00001"); harness.check(new BigDecimal(STRING_LITERAL_6, MathContext.UNLIMITED).toString (), "0.000001"); harness.check(new BigDecimal(STRING_LITERAL_7, MathContext.UNLIMITED).toString (), "1E-7"); harness.check(new BigDecimal(STRING_LITERAL_8, MathContext.UNLIMITED).toString (), "1E+3"); harness.check(new BigDecimal(STRING_LITERAL_9, MathContext.UNLIMITED).toString (), "0.01000"); } catch (Exception e) { harness.fail("Exception should not be thrown here." + e); } } /** * Constructor BigDecimal(String) - negative tests */ public void test3(TestHarness harness) { harness.checkPoint("constructor BigDecimal(String) - negative tests"); try { harness.check(new BigDecimal(NEG_STRING_LITERAL_0).toString (), ""); harness.fail("NumberFormatException not thrown as expected"); } catch (NumberFormatException e) { // ok, this should happen } try { harness.check(new BigDecimal(NEG_STRING_LITERAL_1).toString (), ""); harness.fail("NumberFormatException not thrown as expected"); } catch (NumberFormatException e) { // ok, this should happen } try { harness.check(new BigDecimal(NEG_STRING_LITERAL_2).toString (), ""); harness.fail("NumberFormatException not thrown as expected"); } catch (NumberFormatException e) { // ok, this should happen } try { harness.check(new BigDecimal(NEG_STRING_LITERAL_3).toString (), ""); harness.fail("NumberFormatException not thrown as expected"); } catch (NumberFormatException e) { // ok, this should happen } try { harness.check(new BigDecimal(NEG_STRING_LITERAL_4).toString (), ""); harness.fail("NumberFormatException not thrown as expected"); } catch (NumberFormatException e) { // ok, this should happen } try { harness.check(new BigDecimal(NEG_STRING_LITERAL_5).toString (), ""); harness.fail("NumberFormatException not thrown as expected"); } catch (NumberFormatException e) { // ok, this should happen } } /** * Constructor BigDecimal(String) - negative tests */ public void test4(TestHarness harness) { harness.checkPoint("constructor BigDecimal(String, MathContext) - negative tests"); try { harness.check(new BigDecimal(NEG_STRING_LITERAL_0, MathContext.UNLIMITED).toString (), ""); harness.fail("NumberFormatException not thrown as expected"); } catch (NumberFormatException e) { // ok, this should happen } try { harness.check(new BigDecimal(NEG_STRING_LITERAL_1, MathContext.UNLIMITED).toString (), ""); harness.fail("NumberFormatException not thrown as expected"); } catch (NumberFormatException e) { // ok, this should happen } try { harness.check(new BigDecimal(NEG_STRING_LITERAL_2, MathContext.UNLIMITED).toString (), ""); harness.fail("NumberFormatException not thrown as expected"); } catch (NumberFormatException e) { // ok, this should happen } try { harness.check(new BigDecimal(NEG_STRING_LITERAL_3, MathContext.UNLIMITED).toString (), ""); harness.fail("NumberFormatException not thrown as expected"); } catch (NumberFormatException e) { // ok, this should happen } try { harness.check(new BigDecimal(NEG_STRING_LITERAL_4, MathContext.UNLIMITED).toString (), ""); harness.fail("NumberFormatException not thrown as expected"); } catch (NumberFormatException e) { // ok, this should happen } try { harness.check(new BigDecimal(NEG_STRING_LITERAL_5, MathContext.UNLIMITED).toString (), ""); harness.fail("NumberFormatException not thrown as expected"); } catch (NumberFormatException e) { // ok, this should happen } } } mauve-20140821/gnu/testlet/java/math/BigDecimal/toPlainString.java0000644000175000001440000001041511705027156023521 0ustar dokousers// Test of the method BigDecimal.toPlainString() // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.5 package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test the method BigDecimal.toPlainString() */ public class toPlainString implements Testlet { /** * Entry point to this test. */ public void test(TestHarness harness) { harness.checkPoint("constructor BigDecimal(BigInteger)"); try { // constant values harness.check(BigDecimal.ZERO.toPlainString(), "0"); harness.check(BigDecimal.ONE.toPlainString(), "1"); harness.check(BigDecimal.TEN.toPlainString(), "10"); // simple positive values harness.check(new BigDecimal(1).toPlainString(), "1"); harness.check(new BigDecimal("1").toPlainString(), "1"); harness.check(new BigDecimal(10).toPlainString(), "10"); harness.check(new BigDecimal(100).toPlainString(), "100"); harness.check(new BigDecimal(1000).toPlainString(), "1000"); harness.check(new BigDecimal(10000).toPlainString(), "10000"); harness.check(new BigDecimal(100000).toPlainString(), "100000"); harness.check(new BigDecimal(1).toPlainString(), "1"); // negative values harness.check(new BigDecimal("-1").toPlainString(), "-1"); harness.check(new BigDecimal(-10).toPlainString(), "-10"); harness.check(new BigDecimal(-100).toPlainString(), "-100"); harness.check(new BigDecimal(-1000).toPlainString(), "-1000"); harness.check(new BigDecimal(-10000).toPlainString(), "-10000"); harness.check(new BigDecimal(-100000).toPlainString(), "-100000"); // positive values with positive exponents harness.check(new BigDecimal("1e8").toPlainString(), "100000000"); harness.check(new BigDecimal("1e9").toPlainString(), "1000000000"); harness.check(new BigDecimal("1e10").toPlainString(), "10000000000"); harness.check(new BigDecimal("1e11").toPlainString(), "100000000000"); harness.check(new BigDecimal("1e12").toPlainString(), "1000000000000"); // negative values with positive exponents harness.check(new BigDecimal("-1e8").toPlainString(), "-100000000"); harness.check(new BigDecimal("-1e9").toPlainString(), "-1000000000"); harness.check(new BigDecimal("-1e10").toPlainString(), "-10000000000"); harness.check(new BigDecimal("-1e11").toPlainString(), "-100000000000"); harness.check(new BigDecimal("-1e12").toPlainString(), "-1000000000000"); // positive values with negative exponents harness.check(new BigDecimal("1e-8").toPlainString(), "0.00000001"); harness.check(new BigDecimal("1e-9").toPlainString(), "0.000000001"); harness.check(new BigDecimal("1e-10").toPlainString(), "0.0000000001"); harness.check(new BigDecimal("1e-11").toPlainString(), "0.00000000001"); harness.check(new BigDecimal("1e-12").toPlainString(), "0.000000000001"); // negative values with negative exponents harness.check(new BigDecimal("-1e-8").toPlainString(), "-0.00000001"); harness.check(new BigDecimal("-1e-9").toPlainString(), "-0.000000001"); harness.check(new BigDecimal("-1e-10").toPlainString(), "-0.0000000001"); harness.check(new BigDecimal("-1e-11").toPlainString(), "-0.00000000001"); harness.check(new BigDecimal("-1e-12").toPlainString(), "-0.000000000001"); } catch (Exception e) { harness.fail("Exception should not be thrown here." + e); } } } mauve-20140821/gnu/testlet/java/math/BigDecimal/constructorLong.java0000644000175000001440000000631411701337062024130 0ustar dokousers// Test of BigDecimal constructors. // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.5 package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import java.math.MathContext; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test if instance of BigDecimal class could be created * directly from a long value. */ public class constructorLong implements Testlet { /** * long values used as a parameter passed to constructors. */ private static final long LONG_VALUE_1 = 0; private static final long LONG_VALUE_2 = -0; private static final long LONG_VALUE_3 = 1; private static final long LONG_VALUE_4 = -1; private static final long LONG_VALUE_5 = Long.MAX_VALUE; private static final long LONG_VALUE_6 = Long.MIN_VALUE; /** * Entry point to this test. */ public void test(TestHarness harness) { test1(harness); test2(harness); } /** * Constructor BigDecimal(long) */ public void test1(TestHarness harness) { harness.checkPoint("constructor BigDecimal(long)"); try { harness.check(new BigDecimal(LONG_VALUE_1).toString (), "0"); harness.check(new BigDecimal(LONG_VALUE_2).toString (), "0"); harness.check(new BigDecimal(LONG_VALUE_3).toString (), "1"); harness.check(new BigDecimal(LONG_VALUE_4).toString (), "-1"); harness.check(new BigDecimal(LONG_VALUE_5).toString (), "9223372036854775807"); harness.check(new BigDecimal(LONG_VALUE_6).toString (), "-9223372036854775808"); } catch (Exception e) { harness.fail("Exception should not be thrown here." + e); } } /** * Constructor BigDecimal(long, MathContext) */ public void test2(TestHarness harness) { harness.checkPoint("constructor BigDecimal(long, MathContext)"); try { harness.check(new BigDecimal(LONG_VALUE_1, MathContext.UNLIMITED).toString (), "0"); harness.check(new BigDecimal(LONG_VALUE_2, MathContext.UNLIMITED).toString (), "0"); harness.check(new BigDecimal(LONG_VALUE_3, MathContext.UNLIMITED).toString (), "1"); harness.check(new BigDecimal(LONG_VALUE_4, MathContext.UNLIMITED).toString (), "-1"); harness.check(new BigDecimal(LONG_VALUE_5, MathContext.UNLIMITED).toString (), "9223372036854775807"); harness.check(new BigDecimal(LONG_VALUE_6, MathContext.UNLIMITED).toString (), "-9223372036854775808"); } catch (Exception e) { harness.fail("Exception should not be thrown here." + e); } } } mauve-20140821/gnu/testlet/java/math/BigDecimal/DiagBigDecimal.java0000644000175000001440000036266010636017727023512 0ustar dokousers// Tags: JDK1.2 /* This code was derived from test code from IBM's ICU project, which uses the following license... Copyright (c) 1995-2001 International Business Machines Corporation and others All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, provided that the above copyright notice(s) and this permission notice appear in all copies of the Software and that both the above copyright notice(s) and this permission notice appear in supporting documentation. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization of the copyright holder. All trademarks and registered trademarks mentioned herein are the property of their respective owners. */ /* Generated from 'DiagBigDecimal.nrx' 27 Mar 2000 22:38:44 [v1.162] */ /* Options: Binary Comments Crossref Format Java Logo Trace1 Verbose3 */ package gnu.testlet.java.math.BigDecimal; import java.math.*; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /* ------------------------------------------------------------------ */ /* Decimal diagnostic tests mfc */ /* Copyright (c) IBM Corporation 1996, 2000. All Rights Reserved. */ /* ------------------------------------------------------------------ */ /* DiagBigDecimal */ /* */ /* A class that tests the BigDecimal and MathContext classes. */ /* */ /* The tests here are derived from or cover the same paths as: */ /* -- ANSI X3-274 testcases */ /* -- Java JCK testcases */ /* -- NetRexx testcases */ /* -- VM/CMS S/370 REXX implementation testcases [1981+] */ /* -- IBM Vienna Laboratory Rexx compiler testcases [1988+] */ /* -- New testcases */ /* */ /* The authoritative sources for how the underlying technology */ /* (arithmetic) should work are: */ /* -- for digits=0 (fixed point): java.math.BigDecimal */ /* -- for digits>0 (floating point): ANSI X3.274-1996 + errata */ /* */ /* ------------------------------------------------------------------ */ /* Change list */ /* 1997.09.05 Initial implementation, from DiagRexx [NetRexx tests] */ /* 1998.05.02 0.07 changes (e.g., compareTo) */ /* 1998.06.06 Rounding modes and format additions */ /* 1998.06.25 Rename from DiagDecimal; make stand-alone [add */ /* DiagException as a Minor class] */ /* 1998.06.27 Start adding testcases for DIGITS=0/FORM=PLAIN cases */ /* Reorganize for faster trace compilation */ /* 1998.06.28 new: valueof, scale, movePointX, unscaledValue, etc. */ /* 1998.07.07 Scaled divide */ /* 1998.07.08 setScale */ /* 1998.07.15 new scaffolding (Minor Test class) -- see diagabs */ /* 1998.12.14 add toBigDecimal and BigDecimal(java.math.BigDecimal) */ /* 1999.02.04 number preparation rounds instead of digits+1 trunc */ /* 1999.02.09 format method now only has two signatures */ /* 1999.02.27 no longer use Rexx class or RexxIO class */ /* 1999.03.05 add MathContext tests */ /* 1999.03.05 update for 0.96 [no null settings, etc.] */ /* drop sundry constructors; no blanks; char[] gets ints */ /* drop sundry converters, add Exact converters */ /* 1999.05.27 additional tests for scaled arithmetic */ /* 1999.06.29 additional tests for exponent overflows */ /* 1999.07.03 add 'continue' option */ /* 1999.07.10 additional tests for scaled arithmetic */ /* 1999.07.18 randomly-generated tests added for base operators */ /* 1999.10.28 weird intValueExact bad cases */ /* 1999.12.21 multiplication fast path failure and edge cases */ /* 2000.01.01 copyright update */ /* 2000.03.26 cosmetic updates; add extra format() testcases */ /* 2000.03.27 1.00 move to com.ibm.icu.math package; open source release; */ /* change to javadoc comments */ /* ------------------------------------------------------------------ */ // note BINARY for conversions checking /** * The DiagBigDecimal class forms a standalone test suite * for the com.ibm.icu.math.BigDecimal and * com.ibm.icu.math.MathContext classes (or, by changing the * package statement, other classes of the same names and * definition in other packages). It may also be used as a constructed * object to embed the tests in an external test harness. *

    * The tests are collected into groups, each corresponding to a * tested method or a more general grouping. By default, when run from * the static {@link #main(java.lang.String[])} method, the run will end * if any test fails in a group. The continue argument may * be specified to force the tests to run to completion. *

    * Two minor (inner) classes are used; {@link * DiagBigDecimal.DiagException} is used to signal the failure of a test * group, and {@link DiagBigDecimal.Test}, a dependent minor class, is * used to register tests so that a summary of failures (or success) can be * presented as each group is completed. * * @see com.ibm.icu.math.BigDecimal * @see com.ibm.icu.math.MathContext * @version 1.00 2000.03.27 * @author Mike Cowlishaw */ public class DiagBigDecimal implements Testlet { private final boolean CHECK_EXCEPTION_MESSAGES = false; private static final java.lang.String xx0="DiagBigDecimal.nrx"; /* properties shared */ java.util.Vector Tests=new java.util.Vector(100); // scaffolding /* properties private */ private int totalcount=0; // counts tests run /* properties constant private */ /* Count of test groups */ private static final int testcount=38; private static final BigDecimal zero=new BigDecimal (BigInteger.valueOf (0), 0); private static final BigDecimal one=new BigDecimal (BigInteger.valueOf (1), 0); private static final BigDecimal two=new BigDecimal (BigInteger.valueOf (2), 0); private static final BigDecimal ten=new BigDecimal (BigInteger.valueOf (10), 0); private static final BigDecimal tenlong=new BigDecimal((long)1234554321); // 10-digiter /* boundary primitive values */ private static final byte bmin=-128; private static final byte bmax=127; private static final byte bzer=0; private static final byte bneg=-1; private static final byte bpos=1; private static final int imin=-2147483648; private static final int imax=2147483647; private static final int izer=0; private static final int ineg=-1; private static final int ipos=1; private static final long lmin=-9223372036854775808L; private static final long lmax=9223372036854775807L; private static final String lminString="-9223372036854775808"; private static final String lmaxString="9223372036854775807"; private static final long lzer=(long)0; private static final long lneg=(long)-1; private static final long lpos=(long)1; private static final short smin=-32768; private static final short smax=32767; private static final short szer=(short)0; private static final short sneg=(short)(-1); private static final short spos=(short)1; /* properties constant private unused */ // present but not referenced private static final java.lang.String copyright=" Copyright (c) IBM Corporation 1996, 2000. All rights reserved. "; /** Constructs a DiagBigDecimal test suite. *

    * Invoke its {@link #diagrun} method to run the tests. */ public DiagBigDecimal(){super(); return; } /** Run the tests in the test suite. * * @param isContinue The boolean which determines whether * to stop running after a group fails. If 1 (true) * then the tests should be run to completion if * possible; if 0 (false) then the run will end if a * group fails. * @return an int which is 0 if all tests were * successful, >0 (the count of failures) if some failures were * detected, or <0 if an unexpected Exception was signalled. */ public void diagrun(TestHarness harness){ int num=0; RuntimeException de=null; java.lang.RuntimeException e=null; java.lang.String rest=null; try{num=1;num:for(;num<=testcount;num++){ // [testcount is constant set above] try{ dotest(harness, num); } catch (RuntimeException xx1){de=xx1; say(harness); harness.verbose("**** Failed:"+" "+de.getMessage()+" "+"****"); say(harness); } } } catch (java.lang.RuntimeException xx2){e=xx2; // any other exception is total failure; just show trace and quit say(harness); harness.verbose("**** Failed: unexpected exception ****"); e.printStackTrace(); return; }/*num*/ return; } /* Run test by number -- method for development/private switching */ private void dotest(TestHarness harness, int num){ {/*select*/switch(num){ /* -------------------------------------------------------------- */ /* MathContext */ /* -------------------------------------------------------------- */ case 1: break; /* -------------------------------------------------------------- */ /* Constructors */ /* -------------------------------------------------------------- */ case 2: /* diagconstructors(harness); */ break; /* -------------------------------------------------------------- */ /* Operator methods */ /* -------------------------------------------------------------- */ case 3: diagabs(harness);break; case 4: diagadd(harness);break; case 5: diagcompareto(harness);break; case 6: diagdivide(harness);break; case 7: break; case 8: diagmax(harness);break; case 9: diagmin(harness);break; case 10: diagmultiply(harness);break; case 11: diagnegate(harness);break; case 12: break; case 13: break; case 14: break; case 15: diagsubtract(harness);break; case 16: break; /* -------------------------------------------------------------- */ /* Other methods */ /* -------------------------------------------------------------- */ case 17: diagbyteValue(harness);break; case 18: diagcomparetoObj(harness);break; case 19: diagdoublevalue(harness);break; case 20: diagequals(harness);break; case 21: diagfloatvalue(harness);break; case 22: break; case 23: diaghashcode(harness);break; case 24: diagintvalue(harness);break; case 25: diaglongvalue(harness);break; case 26: diagmovepointleft(harness);break; case 27: diagmovepointright(harness);break; case 28: diagscale(harness);break; case 29: diagsetscale(harness);break; case 30: diagshortvalue(harness);break; case 31: diagsignum(harness);break; case 32: break; case 33: diagtobiginteger(harness);break; case 34: break; case 35: diagtostring(harness);break; case 36: break; case 37: diagvalueof(harness);break; /* -------------------------------------------------------------- */ /* Mutation test [must be the last test] */ /* -------------------------------------------------------------- */ case 38: diagmutation(harness);break; // if any more, increase testcount above default:{ say("*** dotest case not found:"+" "+num+" "+"***", harness); }} } return; } /*--------------------------------------------------------------------*/ /* Diagnostic group methods */ /*--------------------------------------------------------------------*/ /** Test constructors (and {@link #toString()} for equalities). */ public void diagconstructors(TestHarness harness){ boolean flag=false; java.lang.String num; java.math.BigInteger bip; java.math.BigInteger biz; java.math.BigInteger bin; BigDecimal bda; BigDecimal bdb; BigDecimal bmc; BigDecimal bmd; BigDecimal bme; java.lang.RuntimeException e=null; char ca[]; double dzer; double dpos; double dneg; double dpos5; double dneg5; double dmin; double dmax; double d; java.lang.String badstrings[]; int i=0; // constants [statically-called constructors] harness.check ((zero.toString()).equals("0"), "con001"); harness.check ((one.toString()).equals("1"), "con002"); harness.check ((ten.toString()).equals("10"), "con003"); harness.check ((zero.intValue())==0, "con004"); harness.check ((one.intValue())==1, "con005"); harness.check ((ten.intValue())==10, "con006"); // [java.math.] BigDecimal harness.check (((new BigDecimal(new BigDecimal("0").toString())).toString()).equals("0"), "cbd001"); harness.check (((new BigDecimal(new BigDecimal("1").toString())).toString()).equals("1"), "cbd002"); harness.check (((new BigDecimal(new BigDecimal("10").toString())).toString()).equals("10"), "cbd003"); harness.check (((new BigDecimal(new BigDecimal("1000").toString())).toString()).equals("1000"), "cbd004"); harness.check (((new BigDecimal(new BigDecimal("10.0").toString())).toString()).equals("10.0"), "cbd005"); harness.check (((new BigDecimal(new BigDecimal("10.1").toString())).toString()).equals("10.1"), "cbd006"); harness.check (((new BigDecimal(new BigDecimal("-1.1").toString())).toString()).equals("-1.1"), "cbd007"); harness.check (((new BigDecimal(new BigDecimal("-9.0").toString())).toString()).equals("-9.0"), "cbd008"); harness.check (((new BigDecimal(new BigDecimal("0.9").toString())).toString()).equals("0.9"), "cbd009"); num="123456789.123456789"; harness.check (((new BigDecimal(new BigDecimal(num).toString())).toString()).equals(num), "cbd010"); num="123456789.000000000"; harness.check (((new BigDecimal(new BigDecimal(num).toString())).toString()).equals(num), "cbd011"); num="123456789000000000"; harness.check (((new BigDecimal(new BigDecimal(num).toString())).toString()).equals(num), "cbd012"); num="0.00000123456789"; harness.check (((new BigDecimal(new BigDecimal(num).toString())).toString()).equals(num), "cbd013"); num="0.000000123456789"; harness.check (((new BigDecimal(new BigDecimal(num).toString())).toString()).equals(num), "cbd014"); // BigInteger bip=new BigInteger("987654321987654321987654321"); // biggie +ve biz=new BigInteger("0"); // biggie 0 bin=new BigInteger("-12345678998765432112345678"); // biggie -ve harness.check (((new BigDecimal(bip)).toString()).equals(bip.toString()), "cbi001"); harness.check (((new BigDecimal(biz)).toString()).equals("0"), "cbi002"); harness.check (((new BigDecimal(bin)).toString()).equals(bin.toString()), "cbi003"); try{checknull:do{ new BigDecimal((java.math.BigInteger)null); flag=false; }while(false);} catch (java.lang.NullPointerException xx4){ flag=true; }/*checknull*/ harness.check (flag, "cbi004"); // BigInteger with scale bip=new BigInteger("123456789"); // bigish bda=new BigDecimal(bip); bdb=new BigDecimal(bip,5); bmc=new BigDecimal(bip,15); harness.check ((bda.toString()).equals("123456789"), "cbs001"); harness.check ((bdb.toString()).equals("1234.56789"), "cbs002"); harness.check ((bmc.toString()).equals("0.000000123456789"), "cbs003"); bip=new BigInteger("123456789123456789123456789"); // biggie bda=new BigDecimal(bip); bdb=new BigDecimal(bip,7); bmc=new BigDecimal(bip,13); bmd=new BigDecimal(bip,19); bme=new BigDecimal(bip,29); harness.check ((bda.toString()).equals("123456789123456789123456789"), "cbs011"); harness.check ((bdb.toString()).equals("12345678912345678912.3456789"), "cbs012"); harness.check ((bmc.toString()).equals("12345678912345.6789123456789"), "cbs013"); harness.check ((bmd.toString()).equals("12345678.9123456789123456789"), "cbs014"); harness.check ((bme.toString()).equals("0.00123456789123456789123456789"), "cbs015"); try{checknull:do{ new BigDecimal((java.math.BigInteger)null,1); flag=false; }while(false);} catch (java.lang.NullPointerException xx5){ flag=true; }/*checknull*/ harness.check (flag, "cbs004"); try{checkscale:do{ new BigDecimal(bip,-8); flag=false; }while(false);} catch (java.lang.RuntimeException xx6){e=xx6; flag=checkMessage(e, "Negative scale: -8"); }/*checkscale*/ harness.check (flag, "cbs005"); // double [deprecated] // Note that many of these differ from the valueOf(double) results. dzer=(double)0; dpos=(double)1; dpos=dpos/((double)10); dneg=(double)-dpos; harness.check (((new BigDecimal(dneg)).toString()).equals("-0.1000000000000000055511151231257827021181583404541015625"), "cdo001"); harness.check (((new BigDecimal(dzer)).toString()).equals("0"), "cdo002"); // NB, not '0.0' harness.check (((new BigDecimal(dpos)).toString()).equals("0.1000000000000000055511151231257827021181583404541015625"), "cdo003"); dpos5=(double)0.5D; dneg5=(double)-dpos5; harness.check (((new BigDecimal(dneg5)).toString()).equals("-0.5"), "cdo004"); harness.check (((new BigDecimal(dpos5)).toString()).equals("0.5"), "cdo005"); dmin=java.lang.Double.MIN_VALUE; dmax=java.lang.Double.MAX_VALUE; harness.check (((new BigDecimal(dmin)).toString()).equals("0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004940656458412465441765687928682213723650598026143247644255856825006755072702087518652998363616359923797965646954457177309266567103559397963987747960107818781263007131903114045278458171678489821036887186360569987307230500063874091535649843873124733972731696151400317153853980741262385655911710266585566867681870395603106249319452715914924553293054565444011274801297099995419319894090804165633245247571478690147267801593552386115501348035264934720193790268107107491703332226844753335720832431936092382893458368060106011506169809753078342277318329247904982524730776375927247874656084778203734469699533647017972677717585125660551199131504891101451037862738167250955837389733598993664809941164205702637090279242767544565229087538682506419718265533447265625"), "cdo006"); harness.check (((new BigDecimal(dmax)).toString()).equals("179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368"), "cdo007"); // nasties d=(double)9; d=d/((double)10); harness.check (((new BigDecimal(d)).toString()).equals("0.90000000000000002220446049250313080847263336181640625"), "cdo010"); d=d/((double)10); harness.check (((new BigDecimal(d)).toString()).equals("0.0899999999999999966693309261245303787291049957275390625"), "cdo011"); d=d/((double)10); harness.check (((new BigDecimal(d)).toString()).equals("0.00899999999999999931998839741709161899052560329437255859375"), "cdo012"); d=d/((double)10); harness.check (((new BigDecimal(d)).toString()).equals("0.00089999999999999997536692664112933925935067236423492431640625"), "cdo013"); d=d/((double)10); harness.check (((new BigDecimal(d)).toString()).equals("0.00008999999999999999211568180168541175589780323207378387451171875"), "cdo014"); d=d/((double)10); harness.check (((new BigDecimal(d)).toString()).equals("0.00000899999999999999853394182236510090433512232266366481781005859375"), "cdo015"); d=d/((double)10); harness.check (((new BigDecimal(d)).toString()).equals("0.000000899999999999999853394182236510090433512232266366481781005859375"), "cdo016"); d=d/((double)10); harness.check (((new BigDecimal(d)).toString()).equals("0.0000000899999999999999853394182236510090433512232266366481781005859375"), "cdo017"); d=d/((double)10); harness.check (((new BigDecimal(d)).toString()).equals("0.000000008999999999999997872197332322678764437995369007694534957408905029296875"), "cdo018"); try{checkpin:do{ new BigDecimal(java.lang.Double.POSITIVE_INFINITY); flag=false; }while(false);} catch (java.lang.NumberFormatException xx13){ flag=true; }/*checkpin*/ harness.check (flag, "cdo101"); try{checknin:do{ new BigDecimal(java.lang.Double.NEGATIVE_INFINITY); flag=false; }while(false);} catch (java.lang.NumberFormatException xx14){ flag=true; }/*checknin*/ harness.check (flag, "cdo102"); try{checknan:do{ new BigDecimal(java.lang.Double.NaN); flag=false; }while(false);} catch (java.lang.NumberFormatException xx15){ flag=true; }/*checknan*/ harness.check (flag, "cdo103"); // int harness.check (((new BigDecimal(imin)).toString()).equals("-2147483648"), "cin001"); harness.check (((new BigDecimal(imax)).toString()).equals("2147483647"), "cin002"); harness.check (((new BigDecimal(ineg)).toString()).equals("-1"), "cin003"); harness.check (((new BigDecimal(izer)).toString()).equals("0"), "cin004"); harness.check (((new BigDecimal(ipos)).toString()).equals("1"), "cin005"); harness.check (((new BigDecimal(10)).toString()).equals("10"), "cin006"); harness.check (((new BigDecimal(9)).toString()).equals("9"), "cin007"); harness.check (((new BigDecimal(5)).toString()).equals("5"), "cin008"); harness.check (((new BigDecimal(2)).toString()).equals("2"), "cin009"); harness.check (((new BigDecimal(-2)).toString()).equals("-2"), "cin010"); harness.check (((new BigDecimal(-5)).toString()).equals("-5"), "cin011"); harness.check (((new BigDecimal(-9)).toString()).equals("-9"), "cin012"); harness.check (((new BigDecimal(-10)).toString()).equals("-10"), "cin013"); harness.check (((new BigDecimal(-11)).toString()).equals("-11"), "cin014"); harness.check (((new BigDecimal(-99)).toString()).equals("-99"), "cin015"); harness.check (((new BigDecimal(-100)).toString()).equals("-100"), "cin016"); harness.check (((new BigDecimal(-999)).toString()).equals("-999"), "cin017"); harness.check (((new BigDecimal(-1000)).toString()).equals("-1000"), "cin018"); harness.check (((new BigDecimal(11)).toString()).equals("11"), "cin019"); harness.check (((new BigDecimal(99)).toString()).equals("99"), "cin020"); harness.check (((new BigDecimal(100)).toString()).equals("100"), "cin021"); harness.check (((new BigDecimal(999)).toString()).equals("999"), "cin022"); harness.check (((new BigDecimal(1000)).toString()).equals("1000"), "cin023"); // long harness.check (((new BigDecimal(lmin)).toString()).equals("-9223372036854775808"), "clo001"); harness.check (((new BigDecimal(lmax)).toString()).equals("9223372036854775807"), "clo002"); harness.check (((new BigDecimal(lneg)).toString()).equals("-1"), "clo003"); harness.check (((new BigDecimal(lzer)).toString()).equals("0"), "clo004"); harness.check (((new BigDecimal(lpos)).toString()).equals("1"), "clo005"); // String [many more examples are elsewhere] // strings without E cannot generate E in result harness.check (((new BigDecimal("12")).toString()).equals("12"), "cst001"); harness.check (((new BigDecimal("-76")).toString()).equals("-76"), "cst002"); harness.check (((new BigDecimal("12.76")).toString()).equals("12.76"), "cst003"); harness.check (((new BigDecimal("+12.76")).toString()).equals("12.76"), "cst004"); harness.check (((new BigDecimal("012.76")).toString()).equals("12.76"), "cst005"); harness.check (((new BigDecimal("+0.003")).toString()).equals("0.003"), "cst006"); harness.check (((new BigDecimal("17.")).toString()).equals("17"), "cst007"); harness.check (((new BigDecimal(".5")).toString()).equals("0.5"), "cst008"); harness.check (((new BigDecimal("044")).toString()).equals("44"), "cst009"); harness.check (((new BigDecimal("0044")).toString()).equals("44"), "cst010"); harness.check (((new BigDecimal("0.0005")).toString()).equals("0.0005"), "cst011"); harness.check (((new BigDecimal("00.00005")).toString()).equals("0.00005"), "cst012"); harness.check (((new BigDecimal("0.000005")).toString()).equals("0.000005"), "cst013"); harness.check (((new BigDecimal("0.0000005")).toString()).equals("0.0000005"), "cst014"); harness.check (((new BigDecimal("0.00000005")).toString()).equals("0.00000005"), "cst015"); harness.check (((new BigDecimal("12345678.876543210")).toString()).equals("12345678.876543210"), "cst016"); harness.check (((new BigDecimal("2345678.876543210")).toString()).equals("2345678.876543210"), "cst017"); harness.check (((new BigDecimal("345678.876543210")).toString()).equals("345678.876543210"), "cst018"); harness.check (((new BigDecimal("0345678.87654321")).toString()).equals("345678.87654321"), "cst019"); harness.check (((new BigDecimal("345678.8765432")).toString()).equals("345678.8765432"), "cst020"); harness.check (((new BigDecimal("+345678.8765432")).toString()).equals("345678.8765432"), "cst021"); harness.check (((new BigDecimal("+0345678.8765432")).toString()).equals("345678.8765432"), "cst022"); harness.check (((new BigDecimal("+00345678.8765432")).toString()).equals("345678.8765432"), "cst023"); harness.check (((new BigDecimal("-345678.8765432")).toString()).equals("-345678.8765432"), "cst024"); harness.check (((new BigDecimal("-0345678.8765432")).toString()).equals("-345678.8765432"), "cst025"); harness.check (((new BigDecimal("-00345678.8765432")).toString()).equals("-345678.8765432"), "cst026"); // exotics -- harness.check (((new BigDecimal("\u0e57.\u0e50")).toString()).equals("7.0"), "cst035"); harness.check (((new BigDecimal("\u0b66.\u0b67")).toString()).equals("0.1"), "cst036"); harness.check (((new BigDecimal("\u0b66\u0b66")).toString()).equals("0"), "cst037"); harness.check (((new BigDecimal("\u0b6a\u0b66")).toString()).equals("40"), "cst038"); // strings with E // Some implementations throw a NumberFormatException here. try { harness.check (((new BigDecimal("1E+9")).toString()).equals("1E+9"), "cst040"); } catch (Exception ecst040) { harness.check (false, "cst040"); } try { harness.check (((new BigDecimal("1e+09")).toString()).equals("1E+9"), "cst041"); } catch (Exception ecst041) { harness.check (false, "cst041"); } try { harness.check (((new BigDecimal("1E+90")).toString()).equals("1E+90"), "cst042"); } catch (Exception ecst042) { harness.check (false, "cst042"); } try { harness.check (((new BigDecimal("+1E+009")).toString()).equals("1E+9"), "cst043"); } catch (Exception ecst043) { harness.check (false, "cst043"); } try { harness.check (((new BigDecimal("0E+9")).toString()).equals("0"), "cst044"); } catch (Exception ecst044) { harness.check (false, "cst044"); } try { harness.check (((new BigDecimal("1E+9")).toString()).equals("1E+9"), "cst045"); } catch (Exception ecst045) { harness.check (false, "cst045"); } try { harness.check (((new BigDecimal("1E+09")).toString()).equals("1E+9"), "cst046"); } catch (Exception ecst046) { harness.check (false, "cst046"); } try { harness.check (((new BigDecimal("1e+90")).toString()).equals("1E+90"), "cst047"); } catch (Exception ecst047) { harness.check (false, "cst047"); } try { harness.check (((new BigDecimal("1E+009")).toString()).equals("1E+9"), "cst048"); } catch (Exception ecst048) { harness.check (false, "cst048"); } try { harness.check (((new BigDecimal("0E+9")).toString()).equals("0"), "cst049"); } catch (Exception ecst049) { harness.check (false, "cst049"); } try { harness.check (((new BigDecimal("1E9")).toString()).equals("1E+9"), "cst050"); } catch (Exception ecst050) { harness.check (false, "cst050"); } try { harness.check (((new BigDecimal("1e09")).toString()).equals("1E+9"), "cst051"); } catch (Exception ecst051) { harness.check (false, "cst051"); } try { harness.check (((new BigDecimal("1E90")).toString()).equals("1E+90"), "cst052"); } catch (Exception ecst052) { harness.check (false, "cst052"); } try { harness.check (((new BigDecimal("1E009")).toString()).equals("1E+9"), "cst053"); } catch (Exception ecst053) { harness.check (false, "cst053"); } try { harness.check (((new BigDecimal("0E9")).toString()).equals("0"), "cst054"); } catch (Exception ecst054) { harness.check (false, "cst054"); } try { harness.check (((new BigDecimal("0.000e+0")).toString()).equals("0"), "cst055"); } catch (Exception ecst055) { harness.check (false, "cst055"); } try { harness.check (((new BigDecimal("0.000E-1")).toString()).equals("0"), "cst056"); } catch (Exception ecst056) { harness.check (false, "cst056"); } try { harness.check (((new BigDecimal("4E+9")).toString()).equals("4E+9"), "cst057"); } catch (Exception ecst057) { harness.check (false, "cst057"); } try { harness.check (((new BigDecimal("44E+9")).toString()).equals("4.4E+10"), "cst058"); } catch (Exception ecst058) { harness.check (false, "cst058"); } try { harness.check (((new BigDecimal("0.73e-7")).toString()).equals("7.3E-8"), "cst059"); } catch (Exception ecst059) { harness.check (false, "cst059"); } try { harness.check (((new BigDecimal("00E+9")).toString()).equals("0"), "cst060"); } catch (Exception ecst060) { harness.check (false, "cst060"); } try { harness.check (((new BigDecimal("00E-9")).toString()).equals("0"), "cst061"); } catch (Exception ecst061) { harness.check (false, "cst061"); } try { harness.check (((new BigDecimal("10E+9")).toString()).equals("1.0E+10"), "cst062"); } catch (Exception ecst062) { harness.check (false, "cst062"); } try { harness.check (((new BigDecimal("10E+09")).toString()).equals("1.0E+10"), "cst063"); } catch (Exception ecst063) { harness.check (false, "cst063"); } try { harness.check (((new BigDecimal("10e+90")).toString()).equals("1.0E+91"), "cst064"); } catch (Exception ecst064) { harness.check (false, "cst064"); } try { harness.check (((new BigDecimal("10E+009")).toString()).equals("1.0E+10"), "cst065"); } catch (Exception ecst065) { harness.check (false, "cst065"); } try { harness.check (((new BigDecimal("100e+9")).toString()).equals("1.00E+11"), "cst066"); } catch (Exception ecst066) { harness.check (false, "cst066"); } try { harness.check (((new BigDecimal("100e+09")).toString()).equals("1.00E+11"), "cst067"); } catch (Exception ecst067) { harness.check (false, "cst067"); } try { harness.check (((new BigDecimal("100E+90")).toString()).equals("1.00E+92"), "cst068"); } catch (Exception ecst068) { harness.check (false, "cst068"); } try { harness.check (((new BigDecimal("100e+009")).toString()).equals("1.00E+11"), "cst069"); } catch (Exception ecst069) { harness.check (false, "cst069"); } try { harness.check (((new BigDecimal("1.265")).toString()).equals("1.265"), "cst070"); } catch (Exception ecst070) { harness.check (false, "cst070"); } try { harness.check (((new BigDecimal("1.265E-20")).toString()).equals("1.265E-20"), "cst071"); } catch (Exception ecst071) { harness.check (false, "cst071"); } try { harness.check (((new BigDecimal("1.265E-8")).toString()).equals("1.265E-8"), "cst072"); } catch (Exception ecst072) { harness.check (false, "cst072"); } try { harness.check (((new BigDecimal("1.265E-4")).toString()).equals("1.265E-4"), "cst073"); } catch (Exception ecst073) { harness.check (false, "cst073"); } try { harness.check (((new BigDecimal("1.265E-3")).toString()).equals("1.265E-3"), "cst074"); } catch (Exception ecst074) { harness.check (false, "cst074"); } try { harness.check (((new BigDecimal("1.265E-2")).toString()).equals("1.265E-2"), "cst075"); } catch (Exception ecst075) { harness.check (false, "cst075"); } try { harness.check (((new BigDecimal("1.265E-1")).toString()).equals("1.265E-1"), "cst076"); } catch (Exception ecst076) { harness.check (false, "cst076"); } try { harness.check (((new BigDecimal("1.265E-0")).toString()).equals("1.265"), "cst077"); } catch (Exception ecst077) { harness.check (false, "cst077"); } try { harness.check (((new BigDecimal("1.265E+1")).toString()).equals("1.265E+1"), "cst078"); } catch (Exception ecst078) { harness.check (false, "cst078"); } try { harness.check (((new BigDecimal("1.265E+2")).toString()).equals("1.265E+2"), "cst079"); } catch (Exception ecst079) { harness.check (false, "cst079"); } try { harness.check (((new BigDecimal("1.265E+3")).toString()).equals("1.265E+3"), "cst080"); } catch (Exception ecst080) { harness.check (false, "cst080"); } try { harness.check (((new BigDecimal("1.265E+4")).toString()).equals("1.265E+4"), "cst081"); } catch (Exception ecst081) { harness.check (false, "cst081"); } try { harness.check (((new BigDecimal("1.265E+8")).toString()).equals("1.265E+8"), "cst082"); } catch (Exception ecst082) { harness.check (false, "cst082"); } try { harness.check (((new BigDecimal("1.265E+20")).toString()).equals("1.265E+20"), "cst083"); } catch (Exception ecst083) { harness.check (false, "cst083"); } try { harness.check (((new BigDecimal("12.65")).toString()).equals("12.65"), "cst090"); } catch (Exception ecst090) { harness.check (false, "cst090"); } try { harness.check (((new BigDecimal("12.65E-20")).toString()).equals("1.265E-19"), "cst091"); } catch (Exception ecst091) { harness.check (false, "cst091"); } try { harness.check (((new BigDecimal("12.65E-8")).toString()).equals("1.265E-7"), "cst092"); } catch (Exception ecst092) { harness.check (false, "cst092"); } try { harness.check (((new BigDecimal("12.65E-4")).toString()).equals("1.265E-3"), "cst093"); } catch (Exception ecst093) { harness.check (false, "cst093"); } try { harness.check (((new BigDecimal("12.65E-3")).toString()).equals("1.265E-2"), "cst094"); } catch (Exception ecst094) { harness.check (false, "cst094"); } try { harness.check (((new BigDecimal("12.65E-2")).toString()).equals("1.265E-1"), "cst095"); } catch (Exception ecst095) { harness.check (false, "cst095"); } try { harness.check (((new BigDecimal("12.65E-1")).toString()).equals("1.265"), "cst096"); } catch (Exception ecst096) { harness.check (false, "cst096"); } try { harness.check (((new BigDecimal("12.65E-0")).toString()).equals("1.265E+1"), "cst097"); } catch (Exception ecst097) { harness.check (false, "cst097"); } try { harness.check (((new BigDecimal("12.65E+1")).toString()).equals("1.265E+2"), "cst098"); } catch (Exception ecst098) { harness.check (false, "cst098"); } try { harness.check (((new BigDecimal("12.65E+2")).toString()).equals("1.265E+3"), "cst099"); } catch (Exception ecst099) { harness.check (false, "cst099"); } try { harness.check (((new BigDecimal("12.65E+3")).toString()).equals("1.265E+4"), "cst100"); } catch (Exception ecst100) { harness.check (false, "cst100"); } try { harness.check (((new BigDecimal("12.65E+4")).toString()).equals("1.265E+5"), "cst101"); } catch (Exception ecst101) { harness.check (false, "cst101"); } try { harness.check (((new BigDecimal("12.65E+8")).toString()).equals("1.265E+9"), "cst102"); } catch (Exception ecst102) { harness.check (false, "cst102"); } try { harness.check (((new BigDecimal("12.65E+20")).toString()).equals("1.265E+21"), "cst103"); } catch (Exception ecst103) { harness.check (false, "cst103"); } try { harness.check (((new BigDecimal("126.5")).toString()).equals("126.5"), "cst110"); } catch (Exception ecst110) { harness.check (false, "cst110"); } try { harness.check (((new BigDecimal("126.5E-20")).toString()).equals("1.265E-18"), "cst111"); } catch (Exception ecst111) { harness.check (false, "cst111"); } try { harness.check (((new BigDecimal("126.5E-8")).toString()).equals("1.265E-6"), "cst112"); } catch (Exception ecst112) { harness.check (false, "cst112"); } try { harness.check (((new BigDecimal("126.5E-4")).toString()).equals("1.265E-2"), "cst113"); } catch (Exception ecst113) { harness.check (false, "cst113"); } try { harness.check (((new BigDecimal("126.5E-3")).toString()).equals("1.265E-1"), "cst114"); } catch (Exception ecst114) { harness.check (false, "cst114"); } try { harness.check (((new BigDecimal("126.5E-2")).toString()).equals("1.265"), "cst115"); } catch (Exception ecst115) { harness.check (false, "cst115"); } try { harness.check (((new BigDecimal("126.5E-1")).toString()).equals("1.265E+1"), "cst116"); } catch (Exception ecst116) { harness.check (false, "cst116"); } try { harness.check (((new BigDecimal("126.5E-0")).toString()).equals("1.265E+2"), "cst117"); } catch (Exception ecst117) { harness.check (false, "cst117"); } try { harness.check (((new BigDecimal("126.5E+1")).toString()).equals("1.265E+3"), "cst118"); } catch (Exception ecst118) { harness.check (false, "cst118"); } try { harness.check (((new BigDecimal("126.5E+2")).toString()).equals("1.265E+4"), "cst119"); } catch (Exception ecst119) { harness.check (false, "cst119"); } try { harness.check (((new BigDecimal("126.5E+3")).toString()).equals("1.265E+5"), "cst120"); } catch (Exception ecst120) { harness.check (false, "cst120"); } try { harness.check (((new BigDecimal("126.5E+4")).toString()).equals("1.265E+6"), "cst121"); } catch (Exception ecst121) { harness.check (false, "cst121"); } try { harness.check (((new BigDecimal("126.5E+8")).toString()).equals("1.265E+10"), "cst122"); } catch (Exception ecst122) { harness.check (false, "cst122"); } try { harness.check (((new BigDecimal("126.5E+20")).toString()).equals("1.265E+22"), "cst123"); } catch (Exception ecst123) { harness.check (false, "cst123"); } try { harness.check (((new BigDecimal("1265")).toString()).equals("1265"), "cst130"); } catch (Exception ecst130) { harness.check (false, "cst130"); } try { harness.check (((new BigDecimal("1265E-20")).toString()).equals("1.265E-17"), "cst131"); } catch (Exception ecst131) { harness.check (false, "cst131"); } try { harness.check (((new BigDecimal("1265E-8")).toString()).equals("1.265E-5"), "cst132"); } catch (Exception ecst132) { harness.check (false, "cst132"); } try { harness.check (((new BigDecimal("1265E-4")).toString()).equals("1.265E-1"), "cst133"); } catch (Exception ecst133) { harness.check (false, "cst133"); } try { harness.check (((new BigDecimal("1265E-3")).toString()).equals("1.265"), "cst134"); } catch (Exception ecst134) { harness.check (false, "cst134"); } try { harness.check (((new BigDecimal("1265E-2")).toString()).equals("1.265E+1"), "cst135"); } catch (Exception ecst135) { harness.check (false, "cst135"); } try { harness.check (((new BigDecimal("1265E-1")).toString()).equals("1.265E+2"), "cst136"); } catch (Exception ecst136) { harness.check (false, "cst136"); } try { harness.check (((new BigDecimal("1265E-0")).toString()).equals("1.265E+3"), "cst137"); } catch (Exception ecst137) { harness.check (false, "cst137"); } try { harness.check (((new BigDecimal("1265E+1")).toString()).equals("1.265E+4"), "cst138"); } catch (Exception ecst138) { harness.check (false, "cst138"); } try { harness.check (((new BigDecimal("1265E+2")).toString()).equals("1.265E+5"), "cst139"); } catch (Exception ecst139) { harness.check (false, "cst139"); } try { harness.check (((new BigDecimal("1265E+3")).toString()).equals("1.265E+6"), "cst140"); } catch (Exception ecst140) { harness.check (false, "cst140"); } try { harness.check (((new BigDecimal("1265E+4")).toString()).equals("1.265E+7"), "cst141"); } catch (Exception ecst141) { harness.check (false, "cst141"); } try { harness.check (((new BigDecimal("1265E+8")).toString()).equals("1.265E+11"), "cst142"); } catch (Exception ecst142) { harness.check (false, "cst142"); } try { harness.check (((new BigDecimal("1265E+20")).toString()).equals("1.265E+23"), "cst143"); } catch (Exception ecst143) { harness.check (false, "cst143"); } try { harness.check (((new BigDecimal("0.1265")).toString()).equals("0.1265"), "cst150"); } catch (Exception ecst150) { harness.check (false, "cst150"); } try { harness.check (((new BigDecimal("0.1265E-20")).toString()).equals("1.265E-21"), "cst151"); } catch (Exception ecst151) { harness.check (false, "cst151"); } try { harness.check (((new BigDecimal("0.1265E-8")).toString()).equals("1.265E-9"), "cst152"); } catch (Exception ecst152) { harness.check (false, "cst152"); } try { harness.check (((new BigDecimal("0.1265E-4")).toString()).equals("1.265E-5"), "cst153"); } catch (Exception ecst153) { harness.check (false, "cst153"); } try { harness.check (((new BigDecimal("0.1265E-3")).toString()).equals("1.265E-4"), "cst154"); } catch (Exception ecst154) { harness.check (false, "cst154"); } try { harness.check (((new BigDecimal("0.1265E-2")).toString()).equals("1.265E-3"), "cst155"); } catch (Exception ecst155) { harness.check (false, "cst155"); } try { harness.check (((new BigDecimal("0.1265E-1")).toString()).equals("1.265E-2"), "cst156"); } catch (Exception ecst156) { harness.check (false, "cst156"); } try { harness.check (((new BigDecimal("0.1265E-0")).toString()).equals("1.265E-1"), "cst157"); } catch (Exception ecst157) { harness.check (false, "cst157"); } try { harness.check (((new BigDecimal("0.1265E+1")).toString()).equals("1.265"), "cst158"); } catch (Exception ecst158) { harness.check (false, "cst158"); } try { harness.check (((new BigDecimal("0.1265E+2")).toString()).equals("1.265E+1"), "cst159"); } catch (Exception ecst159) { harness.check (false, "cst159"); } try { harness.check (((new BigDecimal("0.1265E+3")).toString()).equals("1.265E+2"), "cst160"); } catch (Exception ecst160) { harness.check (false, "cst160"); } try { harness.check (((new BigDecimal("0.1265E+4")).toString()).equals("1.265E+3"), "cst161"); } catch (Exception ecst161) { harness.check (false, "cst161"); } try { harness.check (((new BigDecimal("0.1265E+8")).toString()).equals("1.265E+7"), "cst162"); } catch (Exception ecst162) { harness.check (false, "cst162"); } try { harness.check (((new BigDecimal("0.1265E+20")).toString()).equals("1.265E+19"), "cst163"); } catch (Exception ecst163) { harness.check (false, "cst163"); } try { harness.check (((new BigDecimal("0.09e999999999")).toString()).equals("9E+999999997"), "cst170"); } catch (Exception ecst170) { harness.check (false, "cst170"); } try { harness.check (((new BigDecimal("0.9e999999999")).toString()).equals("9E+999999998"), "cst171"); } catch (Exception ecst171) { harness.check (false, "cst171"); } try { harness.check (((new BigDecimal("9e999999999")).toString()).equals("9E+999999999"), "cst172"); } catch (Exception ecst172) { harness.check (false, "cst172"); } try { harness.check (((new BigDecimal("9.9e999999999")).toString()).equals("9.9E+999999999"), "cst173"); } catch (Exception ecst173) { harness.check (false, "cst173"); } try { harness.check (((new BigDecimal("9.99e999999999")).toString()).equals("9.99E+999999999"), "cst174"); } catch (Exception ecst174) { harness.check (false, "cst174"); } try { harness.check (((new BigDecimal("9.99e-999999999")).toString()).equals("9.99E-999999999"), "cst175"); } catch (Exception ecst175) { harness.check (false, "cst175"); } try { harness.check (((new BigDecimal("9.9e-999999999")).toString()).equals("9.9E-999999999"), "cst176"); } catch (Exception ecst176) { harness.check (false, "cst176"); } try { harness.check (((new BigDecimal("9e-999999999")).toString()).equals("9E-999999999"), "cst177"); } catch (Exception ecst177) { harness.check (false, "cst177"); } try { harness.check (((new BigDecimal("99e-999999999")).toString()).equals("9.9E-999999998"), "cst179"); } catch (Exception ecst179) { harness.check (false, "cst179"); } try { harness.check (((new BigDecimal("999e-999999999")).toString()).equals("9.99E-999999997"), "cst180"); } catch (Exception ecst180) { harness.check (false, "cst180"); } // baddies -- badstrings=new java.lang.String[]{"1..2",".","..","++1","--1","-+1","+-1","12e","12e++","12f4"," +1","+ 1","12 "," + 1"," - 1 ","x","-1-","12-","3+","","1e-","7e1000000000","","e100","\u0e5a","\u0b65","99e999999999","999e999999999","0.9e-999999999","0.09e-999999999","0.1e1000000000","10e-1000000000","0.9e9999999999","99e-9999999999","111e9999999999","1111e-9999999999"+" "+"111e*123","111e123-","111e+12+","111e1-3-","111e1*23","111e1e+3","1e1.0","1e123e","ten","ONE","1e.1","1e1.","1ee","e+1"}; // 200-203 // 204-207 // 208-211 // 211-214 // 215-219 // 220-222 // 223-224 // 225-226 // 227-228 // 229-230 // 231-232 // 233-234 // 235-237 // 238-240 // 241-244 // 245-248 // watch out for commas on continuation lines {int xx16=badstrings.length;i=0;i:for(;xx16>0;xx16--,i++){ try{ new BigDecimal(badstrings[i]); say(">>> cst"+(200+i)+":"+" "+badstrings[i]+" "+(new BigDecimal(badstrings[i])).toString(), harness); flag=false; } catch (java.lang.NumberFormatException xx17){ flag=true; } harness.check (flag, "cst"+(200+i)); } }/*i*/ try{checknull:do{ new BigDecimal((java.lang.String)null); flag=false; }while(false);} catch (java.lang.NullPointerException xx18){ flag=true; }/*checknull*/ harness.check (flag, "cst301"); return; } /** Mutation tests (checks that contents of constant objects are unchanged). */ public void diagmutation(TestHarness harness){ /* ---------------------------------------------------------------- */ /* Final tests -- check constants haven't mutated */ /* -- also that MC objects haven't mutated */ /* ---------------------------------------------------------------- */ harness.check ((zero.toString()).equals("0"), "cuc001"); harness.check ((one.toString()).equals("1"), "cuc002"); harness.check ((ten.toString()).equals("10"), "cuc003"); return;} /* ----------------------------------------------------------------- */ /* Operator test methods */ /* ----------------------------------------------------------------- */ // The use of context in these tests are primarily to show that they // are correctly passed to the methods, except that we check that // each method checks for lostDigits. /** Test the {@link BigDecimal#abs} method. */ public void diagabs(TestHarness harness){ boolean flag=false; java.lang.ArithmeticException ae=null; // most of the function of this is tested by add harness.check (((new BigDecimal("2")).abs().toString()).equals("2"), "abs001"); harness.check (((new BigDecimal("-2")).abs().toString()).equals("2"), "abs002"); harness.check (((new BigDecimal("+0.000")).abs().toString()).equals("0.000"), "abs003"); harness.check (((new BigDecimal("00.000")).abs().toString()).equals("0.000"), "abs004"); harness.check (((new BigDecimal("-0.000")).abs().toString()).equals("0.000"), "abs005"); harness.check (((new BigDecimal("-2000000")).abs().toString()).equals("2000000"), "abs009"); harness.check (((new BigDecimal("0.2")).abs().toString()).equals("0.2"), "abs013"); harness.check (((new BigDecimal("-0.2")).abs().toString()).equals("0.2"), "abs014"); harness.check (((new BigDecimal("0.01")).abs().toString()).equals("0.01"), "abs015"); harness.check (((new BigDecimal("-0.01")).abs().toString()).equals("0.01"), "abs016"); return;} /* ----------------------------------------------------------------- */ /** Test the {@link BigDecimal#add} method. */ public void diagadd(TestHarness harness){ boolean flag=false; BigDecimal alhs; BigDecimal arhs; java.lang.ArithmeticException ae=null; // [Now the same group with fixed arithmetic] harness.check (((new BigDecimal(2)).add(new BigDecimal(3)).toString()).equals("5"), "add030"); harness.check (((new BigDecimal("5.75")).add(new BigDecimal("3.3")).toString()).equals("9.05"), "add031"); harness.check (((new BigDecimal("5")).add(new BigDecimal("-3")).toString()).equals("2"), "add032"); harness.check (((new BigDecimal("-5")).add(new BigDecimal("-3")).toString()).equals("-8"), "add033"); harness.check (((new BigDecimal("-7")).add(new BigDecimal("2.5")).toString()).equals("-4.5"), "add034"); harness.check (((new BigDecimal("0.7")).add(new BigDecimal("0.3")).toString()).equals("1.0"), "add035"); harness.check (((new BigDecimal("1.25")).add(new BigDecimal("1.25")).toString()).equals("2.50"), "add036"); harness.check (((new BigDecimal("1.23456789")).add(new BigDecimal("1.00000000")).toString()).equals("2.23456789"), "add037"); harness.check (((new BigDecimal("1.23456789")).add(new BigDecimal("1.00000011")).toString()).equals("2.23456800"), "add038"); harness.check (((new BigDecimal("0.4444444444")).add(new BigDecimal("0.5555555555")).toString()).equals("0.9999999999"), "add039"); harness.check (((new BigDecimal("0.4444444440")).add(new BigDecimal("0.5555555555")).toString()).equals("0.9999999995"), "add040"); harness.check (((new BigDecimal("0.4444444444")).add(new BigDecimal("0.5555555550")).toString()).equals("0.9999999994"), "add041"); harness.check (((new BigDecimal("0.4444444444999")).add(new BigDecimal("0")).toString()).equals("0.4444444444999"), "add042"); harness.check (((new BigDecimal("0.4444444445000")).add(new BigDecimal("0")).toString()).equals("0.4444444445000"), "add043"); harness.check (((new BigDecimal("70")).add(new BigDecimal("10000e+9")).toString()).equals("10000000000070"), "add044"); harness.check (((new BigDecimal("700")).add(new BigDecimal("10000e+9")).toString()).equals("10000000000700"), "add045"); harness.check (((new BigDecimal("7000")).add(new BigDecimal("10000e+9")).toString()).equals("10000000007000"), "add046"); harness.check (((new BigDecimal("70000")).add(new BigDecimal("10000e+9")).toString()).equals("10000000070000"), "add047"); harness.check (((new BigDecimal("700000")).add(new BigDecimal("10000e+9")).toString()).equals("10000000700000"), "add048"); harness.check (((new BigDecimal("10000e+9")).add(new BigDecimal("70")).toString()).equals("10000000000070"), "add054"); harness.check (((new BigDecimal("10000e+9")).add(new BigDecimal("700")).toString()).equals("10000000000700"), "add055"); harness.check (((new BigDecimal("10000e+9")).add(new BigDecimal("7000")).toString()).equals("10000000007000"), "add056"); harness.check (((new BigDecimal("10000e+9")).add(new BigDecimal("70000")).toString()).equals("10000000070000"), "add057"); harness.check (((new BigDecimal("10000e+9")).add(new BigDecimal("700000")).toString()).equals("10000000700000"), "add058"); // some rounding effects harness.check (((new BigDecimal("0.9998")).add(new BigDecimal("0.0000")).toString()).equals("0.9998"), "add059"); harness.check (((new BigDecimal("0.9998")).add(new BigDecimal("0.0001")).toString()).equals("0.9999"), "add060"); harness.check (((new BigDecimal("0.9998")).add(new BigDecimal("0.0002")).toString()).equals("1.0000"), "add061"); harness.check (((new BigDecimal("0.9998")).add(new BigDecimal("0.0003")).toString()).equals("1.0001"), "add062"); // more fixed, LHS swaps harness.check (((new BigDecimal("-56267E-10")).add(zero).toString()).equals("-0.0000056267"), "add090"); harness.check (((new BigDecimal("-56267E-6")).add(zero).toString()).equals("-0.056267"), "add091"); harness.check (((new BigDecimal("-56267E-5")).add(zero).toString()).equals("-0.56267"), "add092"); harness.check (((new BigDecimal("-56267E-4")).add(zero).toString()).equals("-5.6267"), "add093"); harness.check (((new BigDecimal("-56267E-3")).add(zero).toString()).equals("-56.267"), "add094"); harness.check (((new BigDecimal("-56267E-2")).add(zero).toString()).equals("-562.67"), "add095"); harness.check (((new BigDecimal("-56267E-1")).add(zero).toString()).equals("-5626.7"), "add096"); harness.check (((new BigDecimal("-56267E-0")).add(zero).toString()).equals("-56267"), "add097"); harness.check (((new BigDecimal("-5E-10")).add(zero).toString()).equals("-5E-10"), "add098"); harness.check (((new BigDecimal("-5E-5")).add(zero).toString()).equals("-0.00005"), "add099"); harness.check (((new BigDecimal("-5E-1")).add(zero).toString()).equals("-0.5"), "add100"); harness.check (((new BigDecimal("-5E-10")).add(zero).toString()).equals("-5E-10"), "add101"); harness.check (((new BigDecimal("-5E-5")).add(zero).toString()).equals("-0.00005"), "add102"); harness.check (((new BigDecimal("-5E-1")).add(zero).toString()).equals("-0.5"), "add103"); harness.check (((new BigDecimal("-5E10")).add(zero).toString()).equals("-50000000000"), "add104"); harness.check (((new BigDecimal("-5E5")).add(zero).toString()).equals("-500000"), "add105"); harness.check (((new BigDecimal("-5E1")).add(zero).toString()).equals("-50"), "add106"); harness.check (((new BigDecimal("-5E0")).add(zero).toString()).equals("-5"), "add107"); // more fixed, RHS swaps harness.check ((zero.add(new BigDecimal("-56267E-10")).toString()).equals("-0.0000056267"), "add108"); harness.check ((zero.add(new BigDecimal("-56267E-6")).toString()).equals("-0.056267"), "add109"); harness.check ((zero.add(new BigDecimal("-56267E-5")).toString()).equals("-0.56267"), "add110"); harness.check ((zero.add(new BigDecimal("-56267E-4")).toString()).equals("-5.6267"), "add111"); harness.check ((zero.add(new BigDecimal("-56267E-3")).toString()).equals("-56.267"), "add112"); harness.check ((zero.add(new BigDecimal("-56267E-2")).toString()).equals("-562.67"), "add113"); harness.check ((zero.add(new BigDecimal("-56267E-1")).toString()).equals("-5626.7"), "add114"); harness.check ((zero.add(new BigDecimal("-56267E-0")).toString()).equals("-56267"), "add115"); harness.check ((zero.add(new BigDecimal("-5E-10")).toString()).equals("-5E-10"), "add116"); harness.check ((zero.add(new BigDecimal("-5E-5")).toString()).equals("-0.00005"), "add117"); harness.check ((zero.add(new BigDecimal("-5E-1")).toString()).equals("-0.5"), "add118"); harness.check ((zero.add(new BigDecimal("-5E-10")).toString()).equals("-5E-10"), "add129"); harness.check ((zero.add(new BigDecimal("-5E-5")).toString()).equals("-0.00005"), "add130"); harness.check ((zero.add(new BigDecimal("-5E-1")).toString()).equals("-0.5"), "add131"); harness.check ((zero.add(new BigDecimal("-5E10")).toString()).equals("-50000000000"), "add132"); harness.check ((zero.add(new BigDecimal("-5E5")).toString()).equals("-500000"), "add133"); harness.check ((zero.add(new BigDecimal("-5E1")).toString()).equals("-50"), "add134"); harness.check ((zero.add(new BigDecimal("-5E0")).toString()).equals("-5"), "add135"); harness.check (((new BigDecimal("00.0")).add(new BigDecimal("0.00")).toString()).equals("0.00"), "add150"); harness.check (((new BigDecimal("0.00")).add(new BigDecimal("00.0")).toString()).equals("0.00"), "add151"); harness.check (((new BigDecimal("3")).add(new BigDecimal(".3")).toString()).equals("3.3"), "add152"); harness.check (((new BigDecimal("3.")).add(new BigDecimal(".3")).toString()).equals("3.3"), "add153"); harness.check (((new BigDecimal("3.0")).add(new BigDecimal(".3")).toString()).equals("3.3"), "add154"); harness.check (((new BigDecimal("3.00")).add(new BigDecimal(".3")).toString()).equals("3.30"), "add155"); harness.check (((new BigDecimal("3")).add(new BigDecimal("3")).toString()).equals("6"), "add156"); harness.check (((new BigDecimal("3")).add(new BigDecimal("+3")).toString()).equals("6"), "add157"); harness.check (((new BigDecimal("3")).add(new BigDecimal("-3")).toString()).equals("0"), "add158"); harness.check (((new BigDecimal("0.3")).add(new BigDecimal("-0.3")).toString()).equals("0.0"), "add159"); harness.check (((new BigDecimal("0.03")).add(new BigDecimal("-0.03")).toString()).equals("0.00"), "add160"); // input preparation tests alhs=new BigDecimal("12345678900000"); arhs=new BigDecimal("9999999999999"); try{checknull:do{ ten.add((BigDecimal)null); flag=false; }while(false);} catch (java.lang.NullPointerException xx22){ flag=true; }/*checknull*/ harness.check (flag, "add200"); return;} /* ----------------------------------------------------------------- */ /** Test the {@link BigDecimal#compareTo(BigDecimal)} method. */ public void diagcompareto(TestHarness harness){ boolean flag=false; java.lang.ArithmeticException ae=null; // we assume add/subtract test function; this just // tests existence, exceptions, and possible results harness.check (((new BigDecimal("5")).compareTo(new BigDecimal("2")))==1, "cpt001"); harness.check (((new BigDecimal("5")).compareTo(new BigDecimal("5")))==0, "cpt002"); harness.check (((new BigDecimal("5")).compareTo(new BigDecimal("5.00")))==0, "cpt003"); harness.check (((new BigDecimal("0.5")).compareTo(new BigDecimal("0.5")))==0, "cpt004"); harness.check (((new BigDecimal("2")).compareTo(new BigDecimal("5")))==(-1), "cpt005"); try{checknull:do{ ten.compareTo((BigDecimal)null); flag=false; }while(false);} catch (java.lang.NullPointerException xx28){ flag=true; }/*checknull*/ harness.check (flag, "cpt100"); return;} /* ----------------------------------------------------------------- */ /** Test the {@link BigDecimal#divide} method. */ public void diagdivide(TestHarness harness){ boolean flag=false; int rhu; int rd; int ru; java.lang.RuntimeException e=null; java.lang.ArithmeticException ae=null; // fixed point... harness.check (((new BigDecimal("1")).divide(new BigDecimal("3"), BigDecimal.ROUND_HALF_UP).toString()).equals("0"), "div350"); harness.check (((new BigDecimal("2")).divide(new BigDecimal("3"), BigDecimal.ROUND_HALF_UP).toString()).equals("1"), "div351"); harness.check (((new BigDecimal("2.4")).divide(new BigDecimal("1"), BigDecimal.ROUND_HALF_UP).toString()).equals("2.4"), "div352"); harness.check (((new BigDecimal("2.4")).divide(new BigDecimal("-1"), BigDecimal.ROUND_HALF_UP).toString()).equals("-2.4"), "div353"); harness.check (((new BigDecimal("-2.4")).divide(new BigDecimal("1"), BigDecimal.ROUND_HALF_UP).toString()).equals("-2.4"), "div354"); harness.check (((new BigDecimal("-2.4")).divide(new BigDecimal("-1"), BigDecimal.ROUND_HALF_UP).toString()).equals("2.4"), "div355"); harness.check (((new BigDecimal("2.40")).divide(new BigDecimal("1"), BigDecimal.ROUND_HALF_UP).toString()).equals("2.40"), "div356"); harness.check (((new BigDecimal("2.400")).divide(new BigDecimal("1"), BigDecimal.ROUND_HALF_UP).toString()).equals("2.400"), "div357"); harness.check (((new BigDecimal("2.4")).divide(new BigDecimal("2"), BigDecimal.ROUND_HALF_UP).toString()).equals("1.2"), "div358"); harness.check (((new BigDecimal("2.400")).divide(new BigDecimal("2"), BigDecimal.ROUND_HALF_UP).toString()).equals("1.200"), "div359"); harness.check (((new BigDecimal("2.")).divide(new BigDecimal("2"), BigDecimal.ROUND_HALF_UP).toString()).equals("1"), "div360"); harness.check (((new BigDecimal("20")).divide(new BigDecimal("20"), BigDecimal.ROUND_HALF_UP).toString()).equals("1"), "div361"); harness.check (((new BigDecimal("187")).divide(new BigDecimal("187"), BigDecimal.ROUND_HALF_UP).toString()).equals("1"), "div362"); harness.check (((new BigDecimal("5")).divide(new BigDecimal("2"), BigDecimal.ROUND_HALF_UP).toString()).equals("3"), "div363"); harness.check (((new BigDecimal("5")).divide(new BigDecimal("2.0"), BigDecimal.ROUND_HALF_UP).toString()).equals("3"), "div364"); harness.check (((new BigDecimal("5")).divide(new BigDecimal("2.000"), BigDecimal.ROUND_HALF_UP).toString()).equals("3"), "div365"); harness.check (((new BigDecimal("5")).divide(new BigDecimal("0.200"), BigDecimal.ROUND_HALF_UP).toString()).equals("25"), "div366"); harness.check (((new BigDecimal("5.0")).divide(new BigDecimal("2"), BigDecimal.ROUND_HALF_UP).toString()).equals("2.5"), "div367"); harness.check (((new BigDecimal("5.0")).divide(new BigDecimal("2.0"), BigDecimal.ROUND_HALF_UP).toString()).equals("2.5"), "div368"); harness.check (((new BigDecimal("5.0")).divide(new BigDecimal("2.000"), BigDecimal.ROUND_HALF_UP).toString()).equals("2.5"), "div369"); harness.check (((new BigDecimal("5.0")).divide(new BigDecimal("0.200"), BigDecimal.ROUND_HALF_UP).toString()).equals("25.0"), "div370"); harness.check (((new BigDecimal("999999999")).divide(new BigDecimal("1"), BigDecimal.ROUND_HALF_UP).toString()).equals("999999999"), "div371"); harness.check (((new BigDecimal("999999999.4")).divide(new BigDecimal("1"), BigDecimal.ROUND_HALF_UP).toString()).equals("999999999.4"), "div372"); harness.check (((new BigDecimal("999999999.5")).divide(new BigDecimal("1"), BigDecimal.ROUND_HALF_UP).toString()).equals("999999999.5"), "div373"); harness.check (((new BigDecimal("999999999.9")).divide(new BigDecimal("1"), BigDecimal.ROUND_HALF_UP).toString()).equals("999999999.9"), "div374"); harness.check (((new BigDecimal("999999999.999")).divide(new BigDecimal("1"), BigDecimal.ROUND_HALF_UP).toString()).equals("999999999.999"), "div375"); harness.check (((new BigDecimal("0.0000E-5")).divide(new BigDecimal("1"), BigDecimal.ROUND_HALF_UP).toString()).equals("0E-9"), "div376"); harness.check (((new BigDecimal("0.000000000")).divide(new BigDecimal("1"), BigDecimal.ROUND_HALF_UP).toString()).equals("0E-9"), "div377"); //- Fixed point; explicit scales & rounds [old BigDecimal divides] harness.check (((new BigDecimal("0")).divide(new BigDecimal("3"), BigDecimal.ROUND_HALF_UP).toString()).equals("0"), "div001"); harness.check (((new BigDecimal("1")).divide(new BigDecimal("3"), BigDecimal.ROUND_HALF_UP).toString()).equals("0"), "div008"); harness.check (((new BigDecimal("2")).divide(new BigDecimal("3"), BigDecimal.ROUND_HALF_UP).toString()).equals("1"), "div015"); try{div0:do{ (new BigDecimal("5")).divide(new BigDecimal("0.00"), BigDecimal.ROUND_HALF_UP); flag=false; }while(false);} catch (java.lang.ArithmeticException xx40){ae=xx40; flag=checkMessage(ae, "Divide by 0"); }/*div0*/ harness.check (flag, "div204"); return;} /* ----------------------------------------------------------------- */ /** Test the {@link BigDecimal#max} method. */ public void diagmax(TestHarness harness){ boolean flag=false; java.lang.ArithmeticException ae=null; // we assume add/subtract test function; this and min just // test existence and test the truth table harness.check (((new BigDecimal("5")).max(new BigDecimal("2")).toString()).equals("5"), "max001"); harness.check (((new BigDecimal("5")).max(new BigDecimal("5")).toString()).equals("5"), "max002"); harness.check (((new BigDecimal("2")).max(new BigDecimal("7")).toString()).equals("7"), "max003"); harness.check (((new BigDecimal("2E+3")).max(new BigDecimal("7")).toString()).equals("2E+3"), "max006"); harness.check (((new BigDecimal("7")).max(new BigDecimal("2E+3")).toString()).equals("2E+3"), "max008"); try{checknull:do{ ten.max((BigDecimal)null); flag=false; }while(false);} catch (java.lang.NullPointerException xx47){ flag=true; }/*checknull*/ harness.check (flag, "max010"); return;} /** Test the {@link BigDecimal#min} method. */ public void diagmin(TestHarness harness){ boolean flag=false; BigDecimal minx=null; java.lang.ArithmeticException ae=null; // we assume add/subtract test function; this and max just // test existence and test the truth table harness.check (((new BigDecimal("5")).min(new BigDecimal("2")).toString()).equals("2"), "min001"); harness.check (((new BigDecimal("5")).min(new BigDecimal("5")).toString()).equals("5"), "min002"); harness.check (((new BigDecimal("2")).min(new BigDecimal("7")).toString()).equals("2"), "min003"); harness.check (((new BigDecimal("-2E+3")).min(new BigDecimal("7")).toString()).equals("-2E+3"), "min006"); harness.check (((new BigDecimal("7")).min(new BigDecimal("-2E+3")).toString()).equals("-2E+3"), "min008"); try{checknull:do{ minx=ten; minx.min((BigDecimal)null); flag=false; }while(false);} catch (java.lang.NullPointerException xx51){ flag=true; }/*checknull*/ harness.check (flag, "min010"); return;} /* ----------------------------------------------------------------- */ /** Test the {@link BigDecimal#multiply} method. */ public void diagmultiply(TestHarness harness){ boolean flag=false; BigDecimal l9; BigDecimal l77e; BigDecimal l12345; BigDecimal edge; BigDecimal tenedge; BigDecimal hunedge; BigDecimal opo; BigDecimal d1=null; BigDecimal d2=null; java.lang.ArithmeticException oe=null; java.lang.ArithmeticException ae=null; harness.check (((new BigDecimal("2")).multiply(new BigDecimal("3")).toString()).equals("6"), "mul020"); harness.check (((new BigDecimal("5")).multiply(new BigDecimal("1")).toString()).equals("5"), "mul021"); harness.check (((new BigDecimal("5")).multiply(new BigDecimal("2")).toString()).equals("10"), "mul022"); harness.check (((new BigDecimal("1.20")).multiply(new BigDecimal("2")).toString()).equals("2.40"), "mul023"); harness.check (((new BigDecimal("1.20")).multiply(new BigDecimal("0")).toString()).equals("0.00"), "mul024"); harness.check (((new BigDecimal("1.20")).multiply(new BigDecimal("-2")).toString()).equals("-2.40"), "mul025"); harness.check (((new BigDecimal("-1.20")).multiply(new BigDecimal("2")).toString()).equals("-2.40"), "mul026"); harness.check (((new BigDecimal("-1.20")).multiply(new BigDecimal("0")).toString()).equals("0.00"), "mul027"); harness.check (((new BigDecimal("-1.20")).multiply(new BigDecimal("-2")).toString()).equals("2.40"), "mul028"); harness.check (((new BigDecimal("5.09")).multiply(new BigDecimal("7.1")).toString()).equals("36.139"), "mul029"); harness.check (((new BigDecimal("2.5")).multiply(new BigDecimal("4")).toString()).equals("10.0"), "mul030"); harness.check (((new BigDecimal("2.50")).multiply(new BigDecimal("4")).toString()).equals("10.00"), "mul031"); harness.check (((new BigDecimal("1.23456789")).multiply(new BigDecimal("1.00000000")).toString()).equals("1.2345678900000000"), "mul032"); harness.check (((new BigDecimal("1234.56789")).multiply(new BigDecimal("-1000.00000")).toString()).equals("-1234567.8900000000"), "mul033"); harness.check (((new BigDecimal("-1234.56789")).multiply(new BigDecimal("1000.00000")).toString()).equals("-1234567.8900000000"), "mul034"); harness.check (((new BigDecimal("9.999999999")).multiply(new BigDecimal("9.999999999")).toString()).equals("99.999999980000000001"), "mul035"); harness.check (((new BigDecimal("5.00")).multiply(new BigDecimal("1E-3")).toString()).equals("0.00500"), "mul036"); harness.check (((new BigDecimal("00.00")).multiply(new BigDecimal("0.000")).toString()).equals("0.00000"), "mul037"); harness.check (((new BigDecimal("00.00")).multiply(new BigDecimal("0E-3")).toString()).equals("0.00000"), "mul038"); // 1999.12.21: next one is a edge case if intermediate longs are used harness.check (((new BigDecimal("999999999999")).multiply(new BigDecimal("9765625")).toString()).equals("9765624999990234375"), "mul039"); l9=new BigDecimal("123456789E+10"); l77e=new BigDecimal("77E-20"); harness.check ((l9.multiply(new BigDecimal("3456757")).toString()).equals("4.26760119573273E+24"), "mul040"); harness.check ((l9.multiply(l77e).toString()).equals("0.9506172753"), "mul042"); // test some more edge cases and carries harness.check (((new BigDecimal("9")).multiply(new BigDecimal("9")).toString()).equals("81"), "mul101"); harness.check (((new BigDecimal("9")).multiply(new BigDecimal("90")).toString()).equals("810"), "mul102"); harness.check (((new BigDecimal("9")).multiply(new BigDecimal("900")).toString()).equals("8100"), "mul103"); harness.check (((new BigDecimal("9")).multiply(new BigDecimal("9000")).toString()).equals("81000"), "mul104"); harness.check (((new BigDecimal("9")).multiply(new BigDecimal("90000")).toString()).equals("810000"), "mul105"); harness.check (((new BigDecimal("9")).multiply(new BigDecimal("900000")).toString()).equals("8100000"), "mul106"); harness.check (((new BigDecimal("9")).multiply(new BigDecimal("9000000")).toString()).equals("81000000"), "mul107"); harness.check (((new BigDecimal("9")).multiply(new BigDecimal("90000000")).toString()).equals("810000000"), "mul108"); harness.check (((new BigDecimal("9")).multiply(new BigDecimal("900000000")).toString()).equals("8100000000"), "mul109"); harness.check (((new BigDecimal("9")).multiply(new BigDecimal("9000000000")).toString()).equals("81000000000"), "mul110"); harness.check (((new BigDecimal("9")).multiply(new BigDecimal("90000000000")).toString()).equals("810000000000"), "mul111"); harness.check (((new BigDecimal("9")).multiply(new BigDecimal("900000000000")).toString()).equals("8100000000000"), "mul112"); harness.check (((new BigDecimal("9")).multiply(new BigDecimal("9000000000000")).toString()).equals("81000000000000"), "mul113"); harness.check (((new BigDecimal("9")).multiply(new BigDecimal("90000000000000")).toString()).equals("810000000000000"), "mul114"); harness.check (((new BigDecimal("9")).multiply(new BigDecimal("900000000000000")).toString()).equals("8100000000000000"), "mul115"); harness.check (((new BigDecimal("9")).multiply(new BigDecimal("9000000000000000")).toString()).equals("81000000000000000"), "mul116"); harness.check (((new BigDecimal("9")).multiply(new BigDecimal("90000000000000000")).toString()).equals("810000000000000000"), "mul117"); harness.check (((new BigDecimal("9")).multiply(new BigDecimal("900000000000000000")).toString()).equals("8100000000000000000"), "mul118"); harness.check (((new BigDecimal("9")).multiply(new BigDecimal("9000000000000000000")).toString()).equals("81000000000000000000"), "mul119"); harness.check (((new BigDecimal("9")).multiply(new BigDecimal("90000000000000000000")).toString()).equals("810000000000000000000"), "mul120"); harness.check (((new BigDecimal("9")).multiply(new BigDecimal("900000000000000000000")).toString()).equals("8100000000000000000000"), "mul121"); harness.check (((new BigDecimal("9")).multiply(new BigDecimal("9000000000000000000000")).toString()).equals("81000000000000000000000"), "mul122"); harness.check (((new BigDecimal("9")).multiply(new BigDecimal("90000000000000000000000")).toString()).equals("810000000000000000000000"), "mul123"); // test some more edge cases without carries harness.check (((new BigDecimal("3")).multiply(new BigDecimal("3")).toString()).equals("9"), "mul131"); harness.check (((new BigDecimal("3")).multiply(new BigDecimal("30")).toString()).equals("90"), "mul132"); harness.check (((new BigDecimal("3")).multiply(new BigDecimal("300")).toString()).equals("900"), "mul133"); harness.check (((new BigDecimal("3")).multiply(new BigDecimal("3000")).toString()).equals("9000"), "mul134"); harness.check (((new BigDecimal("3")).multiply(new BigDecimal("30000")).toString()).equals("90000"), "mul135"); harness.check (((new BigDecimal("3")).multiply(new BigDecimal("300000")).toString()).equals("900000"), "mul136"); harness.check (((new BigDecimal("3")).multiply(new BigDecimal("3000000")).toString()).equals("9000000"), "mul137"); harness.check (((new BigDecimal("3")).multiply(new BigDecimal("30000000")).toString()).equals("90000000"), "mul138"); harness.check (((new BigDecimal("3")).multiply(new BigDecimal("300000000")).toString()).equals("900000000"), "mul139"); harness.check (((new BigDecimal("3")).multiply(new BigDecimal("3000000000")).toString()).equals("9000000000"), "mul140"); harness.check (((new BigDecimal("3")).multiply(new BigDecimal("30000000000")).toString()).equals("90000000000"), "mul141"); harness.check (((new BigDecimal("3")).multiply(new BigDecimal("300000000000")).toString()).equals("900000000000"), "mul142"); harness.check (((new BigDecimal("3")).multiply(new BigDecimal("3000000000000")).toString()).equals("9000000000000"), "mul143"); harness.check (((new BigDecimal("3")).multiply(new BigDecimal("30000000000000")).toString()).equals("90000000000000"), "mul144"); harness.check (((new BigDecimal("3")).multiply(new BigDecimal("300000000000000")).toString()).equals("900000000000000"), "mul145"); harness.check (((new BigDecimal("3")).multiply(new BigDecimal("3000000000000000")).toString()).equals("9000000000000000"), "mul146"); harness.check (((new BigDecimal("3")).multiply(new BigDecimal("30000000000000000")).toString()).equals("90000000000000000"), "mul147"); harness.check (((new BigDecimal("3")).multiply(new BigDecimal("300000000000000000")).toString()).equals("900000000000000000"), "mul148"); harness.check (((new BigDecimal("3")).multiply(new BigDecimal("3000000000000000000")).toString()).equals("9000000000000000000"), "mul149"); harness.check (((new BigDecimal("3")).multiply(new BigDecimal("30000000000000000000")).toString()).equals("90000000000000000000"), "mul150"); harness.check (((new BigDecimal("3")).multiply(new BigDecimal("300000000000000000000")).toString()).equals("900000000000000000000"), "mul151"); harness.check (((new BigDecimal("3")).multiply(new BigDecimal("3000000000000000000000")).toString()).equals("9000000000000000000000"), "mul152"); harness.check (((new BigDecimal("3")).multiply(new BigDecimal("30000000000000000000000")).toString()).equals("90000000000000000000000"), "mul153"); try{checknull:do{ ten.multiply((BigDecimal)null); flag=false; }while(false);} catch (java.lang.NullPointerException xx55){ flag=true; }/*checknull*/ harness.check (flag, "mul200"); return;} /* ----------------------------------------------------------------- */ /** Test the {@link BigDecimal#negate} method. */ public void diagnegate(TestHarness harness){ boolean flag=false; java.lang.ArithmeticException ae=null; harness.check (((new BigDecimal("2")).negate().toString()).equals("-2"), "neg001"); harness.check (((new BigDecimal("-2")).negate().toString()).equals("2"), "neg002"); harness.check (((new BigDecimal("2.00")).negate().toString()).equals("-2.00"), "neg010"); harness.check (((new BigDecimal("-2.00")).negate().toString()).equals("2.00"), "neg011"); harness.check (((new BigDecimal("0")).negate().toString()).equals("0"), "neg012"); harness.check (((new BigDecimal("0.00")).negate().toString()).equals("0.00"), "neg013"); harness.check (((new BigDecimal("00.0")).negate().toString()).equals("0.0"), "neg014"); harness.check (((new BigDecimal("00.00")).negate().toString()).equals("0.00"), "neg015"); harness.check (((new BigDecimal("00")).negate().toString()).equals("0"), "neg016"); harness.check (((new BigDecimal("-2000000")).negate().toString()).equals("2000000"), "neg020"); return;} /* ----------------------------------------------------------------- */ /** Test the {@link BigDecimal#subtract} method. */ public void diagsubtract(TestHarness harness){ boolean flag=false; BigDecimal alhs; BigDecimal arhs; java.lang.ArithmeticException ae=null; harness.check (((new BigDecimal(2)).subtract(new BigDecimal(3)).toString()).equals("-1"), "sub001"); harness.check (((new BigDecimal("5.75")).subtract(new BigDecimal("3.3")).toString()).equals("2.45"), "sub002"); harness.check (((new BigDecimal("5")).subtract(new BigDecimal("-3")).toString()).equals("8"), "sub003"); harness.check (((new BigDecimal("-5")).subtract(new BigDecimal("-3")).toString()).equals("-2"), "sub004"); harness.check (((new BigDecimal("-7")).subtract(new BigDecimal("2.5")).toString()).equals("-9.5"), "sub005"); harness.check (((new BigDecimal("0.7")).subtract(new BigDecimal("0.3")).toString()).equals("0.4"), "sub006"); harness.check (((new BigDecimal("1.3")).subtract(new BigDecimal("0.3")).toString()).equals("1.0"), "sub007"); harness.check (((new BigDecimal("1.25")).subtract(new BigDecimal("1.25")).toString()).equals("0.00"), "sub008"); harness.check (((new BigDecimal("0.02")).subtract(new BigDecimal("0.02")).toString()).equals("0.00"), "sub009"); harness.check (((new BigDecimal("1.23456789")).subtract(new BigDecimal("1.00000000")).toString()).equals("0.23456789"), "sub010"); harness.check (((new BigDecimal("1.23456789")).subtract(new BigDecimal("1.00000089")).toString()).equals("0.23456700"), "sub011"); harness.check (((new BigDecimal("0.5555555559")).subtract(new BigDecimal("0.0000000001")).toString()).equals("0.5555555558"), "sub012"); harness.check (((new BigDecimal("0.5555555559")).subtract(new BigDecimal("0.0000000005")).toString()).equals("0.5555555554"), "sub013"); harness.check (((new BigDecimal("0.4444444444")).subtract(new BigDecimal("0.1111111111")).toString()).equals("0.3333333333"), "sub014"); harness.check (((new BigDecimal("1.0000000000")).subtract(new BigDecimal("0.00000001")).toString()).equals("0.9999999900"), "sub015"); harness.check (((new BigDecimal("0.4444444444999")).subtract(new BigDecimal("0")).toString()).equals("0.4444444444999"), "sub016"); harness.check (((new BigDecimal("0.4444444445000")).subtract(new BigDecimal("0")).toString()).equals("0.4444444445000"), "sub017"); harness.check (((new BigDecimal("70")).subtract(new BigDecimal("10000e+9")).toString()).equals("-9999999999930"), "sub018"); harness.check (((new BigDecimal("700")).subtract(new BigDecimal("10000e+9")).toString()).equals("-9999999999300"), "sub019"); harness.check (((new BigDecimal("7000")).subtract(new BigDecimal("10000e+9")).toString()).equals("-9999999993000"), "sub020"); harness.check (((new BigDecimal("70000")).subtract(new BigDecimal("10000e+9")).toString()).equals("-9999999930000"), "sub021"); harness.check (((new BigDecimal("700000")).subtract(new BigDecimal("10000e+9")).toString()).equals("-9999999300000"), "sub022"); // symmetry: harness.check (((new BigDecimal("10000e+9")).subtract(new BigDecimal("70")).toString()).equals("9999999999930"), "sub023"); harness.check (((new BigDecimal("10000e+9")).subtract(new BigDecimal("700")).toString()).equals("9999999999300"), "sub024"); harness.check (((new BigDecimal("10000e+9")).subtract(new BigDecimal("7000")).toString()).equals("9999999993000"), "sub025"); harness.check (((new BigDecimal("10000e+9")).subtract(new BigDecimal("70000")).toString()).equals("9999999930000"), "sub026"); harness.check (((new BigDecimal("10000e+9")).subtract(new BigDecimal("700000")).toString()).equals("9999999300000"), "sub027"); // some of the next group are really constructor tests harness.check (((new BigDecimal("00.0")).subtract(new BigDecimal("0.0")).toString()).equals("0.0"), "sub040"); harness.check (((new BigDecimal("00.0")).subtract(new BigDecimal("0.00")).toString()).equals("0.00"), "sub041"); harness.check (((new BigDecimal("0.00")).subtract(new BigDecimal("00.0")).toString()).equals("0.00"), "sub042"); harness.check (((new BigDecimal("3")).subtract(new BigDecimal(".3")).toString()).equals("2.7"), "sub052"); harness.check (((new BigDecimal("3.")).subtract(new BigDecimal(".3")).toString()).equals("2.7"), "sub053"); harness.check (((new BigDecimal("3.0")).subtract(new BigDecimal(".3")).toString()).equals("2.7"), "sub054"); harness.check (((new BigDecimal("3.00")).subtract(new BigDecimal(".3")).toString()).equals("2.70"), "sub055"); harness.check (((new BigDecimal("3")).subtract(new BigDecimal("3")).toString()).equals("0"), "sub056"); harness.check (((new BigDecimal("3")).subtract(new BigDecimal("+3")).toString()).equals("0"), "sub057"); harness.check (((new BigDecimal("3")).subtract(new BigDecimal("-3")).toString()).equals("6"), "sub058"); alhs=new BigDecimal("12345678900000"); arhs=new BigDecimal("9999999999999"); harness.check ((alhs.subtract(arhs).toString()).equals("2345678900001"), "sub112"); harness.check ((arhs.subtract(alhs).toString()).equals("-2345678900001"), "sub113"); // additional scaled arithmetic tests [0.97 problem] harness.check (((new BigDecimal("0")).subtract(new BigDecimal(".1")).toString()).equals("-0.1"), "sub120"); harness.check (((new BigDecimal("00")).subtract(new BigDecimal(".97983")).toString()).equals("-0.97983"), "sub121"); harness.check (((new BigDecimal("0")).subtract(new BigDecimal(".9")).toString()).equals("-0.9"), "sub122"); harness.check (((new BigDecimal("0")).subtract(new BigDecimal("0.102")).toString()).equals("-0.102"), "sub123"); harness.check (((new BigDecimal("0")).subtract(new BigDecimal(".4")).toString()).equals("-0.4"), "sub124"); harness.check (((new BigDecimal("0")).subtract(new BigDecimal(".307")).toString()).equals("-0.307"), "sub125"); harness.check (((new BigDecimal("0")).subtract(new BigDecimal(".43822")).toString()).equals("-0.43822"), "sub126"); harness.check (((new BigDecimal("0")).subtract(new BigDecimal(".911")).toString()).equals("-0.911"), "sub127"); harness.check (((new BigDecimal(".0")).subtract(new BigDecimal(".02")).toString()).equals("-0.02"), "sub128"); harness.check (((new BigDecimal("00")).subtract(new BigDecimal(".392")).toString()).equals("-0.392"), "sub129"); harness.check (((new BigDecimal("0")).subtract(new BigDecimal(".26")).toString()).equals("-0.26"), "sub130"); harness.check (((new BigDecimal("0")).subtract(new BigDecimal("0.51")).toString()).equals("-0.51"), "sub131"); harness.check (((new BigDecimal("0")).subtract(new BigDecimal(".2234")).toString()).equals("-0.2234"), "sub132"); harness.check (((new BigDecimal("0")).subtract(new BigDecimal(".2")).toString()).equals("-0.2"), "sub133"); harness.check (((new BigDecimal(".0")).subtract(new BigDecimal(".0008")).toString()).equals("-0.0008"), "sub134"); // 0. on left harness.check (((new BigDecimal("0.0")).subtract(new BigDecimal("-.1")).toString()).equals("0.1"), "sub140"); harness.check (((new BigDecimal("0.00")).subtract(new BigDecimal("-.97983")).toString()).equals("0.97983"), "sub141"); harness.check (((new BigDecimal("0.0")).subtract(new BigDecimal("-.9")).toString()).equals("0.9"), "sub142"); harness.check (((new BigDecimal("0.0")).subtract(new BigDecimal("-0.102")).toString()).equals("0.102"), "sub143"); harness.check (((new BigDecimal("0.0")).subtract(new BigDecimal("-.4")).toString()).equals("0.4"), "sub144"); harness.check (((new BigDecimal("0.0")).subtract(new BigDecimal("-.307")).toString()).equals("0.307"), "sub145"); harness.check (((new BigDecimal("0.0")).subtract(new BigDecimal("-.43822")).toString()).equals("0.43822"), "sub146"); harness.check (((new BigDecimal("0.0")).subtract(new BigDecimal("-.911")).toString()).equals("0.911"), "sub147"); harness.check (((new BigDecimal("0.0")).subtract(new BigDecimal("-.02")).toString()).equals("0.02"), "sub148"); harness.check (((new BigDecimal("0.00")).subtract(new BigDecimal("-.392")).toString()).equals("0.392"), "sub149"); harness.check (((new BigDecimal("0.0")).subtract(new BigDecimal("-.26")).toString()).equals("0.26"), "sub150"); harness.check (((new BigDecimal("0.0")).subtract(new BigDecimal("-0.51")).toString()).equals("0.51"), "sub151"); harness.check (((new BigDecimal("0.0")).subtract(new BigDecimal("-.2234")).toString()).equals("0.2234"), "sub152"); harness.check (((new BigDecimal("0.0")).subtract(new BigDecimal("-.2")).toString()).equals("0.2"), "sub153"); harness.check (((new BigDecimal("0.0")).subtract(new BigDecimal("-.0008")).toString()).equals("0.0008"), "sub154"); // negatives of same harness.check (((new BigDecimal("0")).subtract(new BigDecimal("-.1")).toString()).equals("0.1"), "sub160"); harness.check (((new BigDecimal("00")).subtract(new BigDecimal("-.97983")).toString()).equals("0.97983"), "sub161"); harness.check (((new BigDecimal("0")).subtract(new BigDecimal("-.9")).toString()).equals("0.9"), "sub162"); harness.check (((new BigDecimal("0")).subtract(new BigDecimal("-0.102")).toString()).equals("0.102"), "sub163"); harness.check (((new BigDecimal("0")).subtract(new BigDecimal("-.4")).toString()).equals("0.4"), "sub164"); harness.check (((new BigDecimal("0")).subtract(new BigDecimal("-.307")).toString()).equals("0.307"), "sub165"); harness.check (((new BigDecimal("0")).subtract(new BigDecimal("-.43822")).toString()).equals("0.43822"), "sub166"); harness.check (((new BigDecimal("0")).subtract(new BigDecimal("-.911")).toString()).equals("0.911"), "sub167"); harness.check (((new BigDecimal(".0")).subtract(new BigDecimal("-.02")).toString()).equals("0.02"), "sub168"); harness.check (((new BigDecimal("00")).subtract(new BigDecimal("-.392")).toString()).equals("0.392"), "sub169"); harness.check (((new BigDecimal("0")).subtract(new BigDecimal("-.26")).toString()).equals("0.26"), "sub170"); harness.check (((new BigDecimal("0")).subtract(new BigDecimal("-0.51")).toString()).equals("0.51"), "sub171"); harness.check (((new BigDecimal("0")).subtract(new BigDecimal("-.2234")).toString()).equals("0.2234"), "sub172"); harness.check (((new BigDecimal("0")).subtract(new BigDecimal("-.2")).toString()).equals("0.2"), "sub173"); harness.check (((new BigDecimal(".0")).subtract(new BigDecimal("-.0008")).toString()).equals("0.0008"), "sub174"); // more fixed, LHS swaps [really same as testcases under add] harness.check (((new BigDecimal("-56267E-10")).subtract(zero).toString()).equals("-0.0000056267"), "sub180"); harness.check (((new BigDecimal("-56267E-5")).subtract(zero).toString()).equals("-0.56267"), "sub181"); harness.check (((new BigDecimal("-56267E-2")).subtract(zero).toString()).equals("-562.67"), "sub182"); harness.check (((new BigDecimal("-56267E-1")).subtract(zero).toString()).equals("-5626.7"), "sub183"); harness.check (((new BigDecimal("-56267E-0")).subtract(zero).toString()).equals("-56267"), "sub185"); try{checknull:do{ ten.subtract((BigDecimal)null); flag=false; }while(false);} catch (java.lang.NullPointerException xx83){ flag=true; }/*checknull*/ harness.check (flag, "sub200"); return;} /* ----------------------------------------------------------------- */ /* ----------------------------------------------------------------- */ /* Other methods */ /* ----------------------------------------------------------------- */ /** Test the BigDecimal.byteValue() method. */ public void diagbyteValue(TestHarness harness){ boolean flag=false; java.lang.String v=null; java.lang.ArithmeticException ae=null; java.lang.String badstrings[]; int i=0; java.lang.String norm=null; harness.check (((((byte)-128)))==((new BigDecimal("-128")).byteValue()), "byv001"); harness.check (((0))==((new BigDecimal("0")).byteValue()), "byv002"); harness.check (((1))==((new BigDecimal("1")).byteValue()), "byv003"); harness.check (((99))==((new BigDecimal("99")).byteValue()), "byv004"); harness.check (((127))==((new BigDecimal("127")).byteValue()), "byv005"); harness.check (((-128))==((new BigDecimal("128")).byteValue()), "byv006"); harness.check (((-127))==((new BigDecimal("129")).byteValue()), "byv007"); harness.check (((127))==((new BigDecimal("-129")).byteValue()), "byv008"); harness.check (((126))==((new BigDecimal("-130")).byteValue()), "byv009"); harness.check (((bmax))==((new BigDecimal(bmax)).byteValue()), "byv010"); harness.check (((bmin))==((new BigDecimal(bmin)).byteValue()), "byv011"); harness.check (((bneg))==((new BigDecimal(bneg)).byteValue()), "byv012"); harness.check (((bzer))==((new BigDecimal(bzer)).byteValue()), "byv013"); harness.check (((bpos))==((new BigDecimal(bpos)).byteValue()), "byv014"); harness.check (((bmin))==((new BigDecimal(bmax+1)).byteValue()), "byv015"); harness.check (((bmax))==((new BigDecimal(bmin-1)).byteValue()), "byv016"); badstrings=new java.lang.String[]{"1234",(new BigDecimal(bmax)).add(one).toString(),(new BigDecimal(bmin)).subtract(one).toString(),"170","270","370","470","570","670","770","870","970","-170","-270","-370","-470","-570","-670","-770","-870","-970",(new BigDecimal(bmin)).multiply(two).toString(),(new BigDecimal(bmax)).multiply(two).toString(),(new BigDecimal(bmin)).multiply(ten).toString(),(new BigDecimal(bmax)).multiply(ten).toString(),"-1234"}; // 220 // 221 // 222 // 223 // 224 // 225 // 226 // 227 // 228 // 229 // 230 // 231 // 232 // 233 // 234 // 235 // 236 // 237 // 238 // 239 // 240 // 241 // 242 // 243 // 244 // 245 return;} /* ----------------------------------------------------------------- */ /** Test the {@link BigDecimal#compareTo(java.lang.Object)} method. */ public void diagcomparetoObj(TestHarness harness){ boolean flag=false; BigDecimal d; BigDecimal long1; BigDecimal long2; d=new BigDecimal(17); harness.check ((((Comparable)d).compareTo((java.lang.Object)(new BigDecimal(66))))==(-1), "cto001"); harness.check ((((Comparable)d).compareTo((java.lang.Object)((new BigDecimal(10)).add(new BigDecimal(7)))))==0, "cto002"); harness.check ((((Comparable)d).compareTo((java.lang.Object)(new BigDecimal(10))))==1, "cto003"); long1=new BigDecimal("12345678903"); long2=new BigDecimal("12345678900"); harness.check ((((Comparable)long1).compareTo((java.lang.Object)long2))==1, "cto004"); harness.check ((((Comparable)long2).compareTo((java.lang.Object)long1))==(-1), "cto005"); harness.check ((((Comparable)long2).compareTo((java.lang.Object)long2))==0, "cto006"); try{ ((Comparable)d).compareTo((java.lang.Object)null); flag=false; } catch (java.lang.NullPointerException xx92){ flag=true; // should get here } harness.check (flag, "cto101"); try{ ((Comparable)d).compareTo((java.lang.Object)"foo"); flag=false; } catch (java.lang.ClassCastException xx93){ flag=true; // should get here } harness.check (flag, "cto102"); return;} /* ----------------------------------------------------------------- */ /** Test the {@link BigDecimal#doubleValue} method. */ public void diagdoublevalue(TestHarness harness){ java.lang.String val; // 1999.03.07 Infinities no longer errors val="-1"; harness.check (((new BigDecimal(val)).doubleValue())==((new java.lang.Double(val)).doubleValue()), "dov001"); val="-0.1"; harness.check (((new BigDecimal(val)).doubleValue())==((new java.lang.Double(val)).doubleValue()), "dov002"); val="0"; harness.check (((new BigDecimal(val)).doubleValue())==((new java.lang.Double(val)).doubleValue()), "dov003"); val="0.1"; harness.check (((new BigDecimal(val)).doubleValue())==((new java.lang.Double(val)).doubleValue()), "dov004"); val="1"; harness.check (((new BigDecimal(val)).doubleValue())==((new java.lang.Double(val)).doubleValue()), "dov005"); val="1e1000"; harness.check (((new BigDecimal(val)).doubleValue())==java.lang.Double.POSITIVE_INFINITY, "dov006"); val="-1e1000"; harness.check (((new BigDecimal(val)).doubleValue())==java.lang.Double.NEGATIVE_INFINITY, "dov007"); return;} /* ----------------------------------------------------------------- */ /** Test the {@link BigDecimal#equals} method. */ public void diagequals(TestHarness harness){ BigDecimal d; d=new BigDecimal(17); harness.check ((!(d.equals((java.lang.Object)null))), "equ001"); harness.check ((!(d.equals((java.lang.Object)"foo"))), "equ002"); harness.check ((!(d.equals((java.lang.Object)(new BigDecimal(66))))), "equ003"); harness.check (d.equals((java.lang.Object)d), "equ004"); harness.check (d.equals((java.lang.Object)((new BigDecimal(10)).add(new BigDecimal(7)))), "equ005"); return;} /* ----------------------------------------------------------------- */ /** Test the {@link BigDecimal#floatValue} method. */ public void diagfloatvalue(TestHarness harness){ java.lang.String val; // 1999.03.07 Infinities no longer errors val="-1"; harness.check (((new BigDecimal(val)).floatValue())==((new java.lang.Float(val)).floatValue()), "flv001"); val="-0.1"; harness.check (((new BigDecimal(val)).floatValue())==((new java.lang.Float(val)).floatValue()), "flv002"); val="0"; harness.check (((new BigDecimal(val)).floatValue())==((new java.lang.Float(val)).floatValue()), "flv003"); val="0.1"; harness.check (((new BigDecimal(val)).floatValue())==((new java.lang.Float(val)).floatValue()), "flv004"); val="1"; harness.check (((new BigDecimal(val)).floatValue())==((new java.lang.Float(val)).floatValue()), "flv005"); val="1e200"; harness.check (((new BigDecimal(val)).floatValue())==java.lang.Float.POSITIVE_INFINITY, "flv006"); val="-1e200"; harness.check (((new BigDecimal(val)).floatValue())==java.lang.Float.NEGATIVE_INFINITY, "flv007"); val="1e1000"; harness.check (((new BigDecimal(val)).floatValue())==java.lang.Float.POSITIVE_INFINITY, "flv008"); val="-1e1000"; harness.check (((new BigDecimal(val)).floatValue())==java.lang.Float.NEGATIVE_INFINITY, "flv009"); return;} /* ----------------------------------------------------------------- */ /** Test the {@link BigDecimal#hashCode} method. */ public void diaghashcode(TestHarness harness){ // These tests are all wrong. The JDK API for BigDecimal.hashCode() // does not say how the hash values should be calculated. // // java.lang.String hs; // BigDecimal d; // hs="27827817"; // d=new BigDecimal(hs); // harness.check ((d.hashCode())==(hs.hashCode()), "has001"); // hs="1.265E+200"; // d=new BigDecimal(hs); // harness.check ((d.hashCode())==(hs.hashCode()), "has002"); // hs="126.5E+200"; // d=new BigDecimal(hs); // harness.check ((d.hashCode())!=(hs.hashCode()), "has003"); return;} /* ----------------------------------------------------------------- */ /** Test the {@link BigDecimal#intValue} method. */ public void diagintvalue(TestHarness harness){ boolean flag=false; java.lang.String v=null; java.lang.ArithmeticException ae=null; int i=0; java.lang.String norm=null; BigDecimal dimax; BigDecimal num=null; BigDecimal dv=null; BigDecimal dimin; // intValue -- harness.check (imin==((new BigDecimal(imin)).intValue()), "inv001"); harness.check (((99))==((new BigDecimal("99")).intValue()), "inv002"); harness.check (((1))==((new BigDecimal("1")).intValue()), "inv003"); harness.check (((0))==((new BigDecimal("0")).intValue()), "inv004"); harness.check (((-1))==((new BigDecimal("-1")).intValue()), "inv005"); harness.check (((-99))==((new BigDecimal("-99")).intValue()), "inv006"); harness.check (imax==((new BigDecimal(imax)).intValue()), "inv007"); harness.check (((5))==((new BigDecimal("5.0")).intValue()), "inv008"); harness.check (((5))==((new BigDecimal("5.3")).intValue()), "inv009"); harness.check (((5))==((new BigDecimal("5.5")).intValue()), "inv010"); harness.check (((5))==((new BigDecimal("5.7")).intValue()), "inv011"); harness.check (((5))==((new BigDecimal("5.9")).intValue()), "inv012"); harness.check (((-5))==((new BigDecimal("-5.0")).intValue()), "inv013"); harness.check (((-5))==((new BigDecimal("-5.3")).intValue()), "inv014"); harness.check (((-5))==((new BigDecimal("-5.5")).intValue()), "inv015"); harness.check (((-5))==((new BigDecimal("-5.7")).intValue()), "inv016"); harness.check (((-5))==((new BigDecimal("-5.9")).intValue()), "inv017"); harness.check (((new BigDecimal("88888888888")).intValue())==(-1305424328), "inv018"); // ugh harness.check (((new BigDecimal("-88888888888")).intValue())==1305424328, "inv019"); // ugh harness.check (((imin))==((new BigDecimal((((long)imax))+1)).intValue()), "inv020"); harness.check (((imax))==((new BigDecimal((((long)imin))-1)).intValue()), "inv021"); harness.check (((99))==((new BigDecimal("99")).intValue()), "inv102"); harness.check (((1))==((new BigDecimal("1")).intValue()), "inv103"); harness.check (((0))==((new BigDecimal("0")).intValue()), "inv104"); harness.check (((-1))==((new BigDecimal("-1")).intValue()), "inv105"); harness.check (((-99))==((new BigDecimal("-99")).intValue()), "inv106"); harness.check (imax==((new BigDecimal(imax)).intValue()), "inv107"); harness.check (((5))==((new BigDecimal("5.0")).intValue()), "inv108"); harness.check (((-5))==((new BigDecimal("-5.0")).intValue()), "inv109"); return;} /* ----------------------------------------------------------------- */ /** Test the {@link BigDecimal#longValue} method. */ public void diaglongvalue(TestHarness harness){ boolean flag=false; java.lang.String v=null; java.lang.ArithmeticException ae=null; java.lang.String badstrings[]; int i=0; java.lang.String norm=null; BigDecimal dlmax; BigDecimal num=null; BigDecimal dv=null; BigDecimal dlmin; // longValue -- harness.check (lmin==((new BigDecimal(lmin)).longValue()), "lov001"); harness.check (lmin==((new BigDecimal(lminString)).longValue()), "lov001a"); harness.check ((((long)99))==((new BigDecimal("99")).longValue()), "lov002"); harness.check ((((long)1))==((new BigDecimal("1")).longValue()), "lov003"); harness.check ((((long)0))==((new BigDecimal("0")).longValue()), "lov004"); harness.check ((((long)-1))==((new BigDecimal("-1")).longValue()), "lov005"); harness.check ((((long)-99))==((new BigDecimal("-99")).longValue()), "lov006"); // This version of the test uses the BigDecimal(double) constructor. // The test fails because ((long)((double) lmax)) != lmax // harness.check (lmax==((new BigDecimal(lmax)).longValue()), "lov007"); harness.check (lmax==((new BigDecimal(lmaxString)).longValue()), "lov007a"); harness.check ((((long)5))==((new BigDecimal("5.0")).longValue()), "lov008"); harness.check ((((long)5))==((new BigDecimal("5.3")).longValue()), "lov009"); harness.check ((((long)5))==((new BigDecimal("5.5")).longValue()), "lov010"); harness.check ((((long)5))==((new BigDecimal("5.7")).longValue()), "lov011"); harness.check ((((long)5))==((new BigDecimal("5.9")).longValue()), "lov012"); harness.check ((((long)-5))==((new BigDecimal("-5.0")).longValue()), "lov013"); harness.check ((((long)-5))==((new BigDecimal("-5.3")).longValue()), "lov014"); harness.check ((((long)-5))==((new BigDecimal("-5.5")).longValue()), "lov015"); harness.check ((((long)-5))==((new BigDecimal("-5.7")).longValue()), "lov016"); harness.check ((((long)-5))==((new BigDecimal("-5.9")).longValue()), "lov017"); harness.check (((new BigDecimal("888888888899999999998")).longValue())==3445173361941522430L, "lov018"); // ugh harness.check (((new BigDecimal("-888888888899999999998")).longValue())==(-3445173361941522430L), "lov019"); // ugh harness.check (lmin==((new BigDecimal(lminString)).longValue()), "lov101"); harness.check ((((long)99))==((new BigDecimal("99")).longValue()), "lov102"); harness.check ((((long)1))==((new BigDecimal("1")).longValue()), "lov103"); harness.check ((((long)0))==((new BigDecimal("0")).longValue()), "lov104"); harness.check ((((long)-1))==((new BigDecimal("-1")).longValue()), "lov105"); harness.check ((((long)-99))==((new BigDecimal("-99")).longValue()), "lov106"); // This version of this test is incorrect: see 'lov007' // harness.check (lmax==((new BigDecimal(lmax)).longValue()), "lov107"); harness.check (lmax==((new BigDecimal(lmaxString)).longValue()), "lov107a"); harness.check ((((long)5))==((new BigDecimal("5.0")).longValue()), "lov108"); harness.check ((((long)-5))==((new BigDecimal("-5.0")).longValue()), "lov109"); return;} /* ----------------------------------------------------------------- */ /** Test the {@link BigDecimal#movePointLeft} method. */ public void diagmovepointleft(TestHarness harness){ harness.check (((new BigDecimal("-1")).movePointLeft(-10).toString()).equals("-10000000000"), "mpl001"); harness.check (((new BigDecimal("-1")).movePointLeft(-5).toString()).equals("-100000"), "mpl002"); harness.check (((new BigDecimal("-1")).movePointLeft(-1).toString()).equals("-10"), "mpl003"); harness.check (((new BigDecimal("-1")).movePointLeft(0).toString()).equals("-1"), "mpl004"); harness.check (((new BigDecimal("-1")).movePointLeft(+1).toString()).equals("-0.1"), "mpl005"); harness.check (((new BigDecimal("-1")).movePointLeft(+5).toString()).equals("-0.00001"), "mpl006"); harness.check (((new BigDecimal("-1")).movePointLeft(+10).toString()).equals("-1E-10"), "mpl007"); harness.check (((new BigDecimal("0")).movePointLeft(-10).toString()).equals("0"), "mpl010"); harness.check (((new BigDecimal("0")).movePointLeft(-5).toString()).equals("0"), "mpl010"); harness.check (((new BigDecimal("0")).movePointLeft(-1).toString()).equals("0"), "mpl010"); harness.check (((new BigDecimal("0")).movePointLeft(0).toString()).equals("0"), "mpl010"); harness.check (((new BigDecimal("0")).movePointLeft(+1).toString()).equals("0.0"), "mpl010"); harness.check (((new BigDecimal("0")).movePointLeft(+5).toString()).equals("0.00000"), "mpl010"); harness.check (((new BigDecimal("0")).movePointLeft(+10).toString()).equals("0E-10"), "mpl010"); harness.check (((new BigDecimal("+1")).movePointLeft(-10).toString()).equals("10000000000"), "mpl020"); harness.check (((new BigDecimal("+1")).movePointLeft(-5).toString()).equals("100000"), "mpl021"); harness.check (((new BigDecimal("+1")).movePointLeft(-1).toString()).equals("10"), "mpl022"); harness.check (((new BigDecimal("+1")).movePointLeft(0).toString()).equals("1"), "mpl023"); harness.check (((new BigDecimal("+1")).movePointLeft(+1).toString()).equals("0.1"), "mpl024"); harness.check (((new BigDecimal("+1")).movePointLeft(+5).toString()).equals("0.00001"), "mpl025"); harness.check (((new BigDecimal("+1")).movePointLeft(+10).toString()).equals("1E-10"), "mpl026"); harness.check (((new BigDecimal("0.5E+1")).movePointLeft(-10).toString()).equals("50000000000"), "mpl030"); harness.check (((new BigDecimal("0.5E+1")).movePointLeft(-5).toString()).equals("500000"), "mpl031"); harness.check (((new BigDecimal("0.5E+1")).movePointLeft(-1).toString()).equals("50"), "mpl032"); harness.check (((new BigDecimal("0.5E+1")).movePointLeft(0).toString()).equals("5"), "mpl033"); harness.check (((new BigDecimal("0.5E+1")).movePointLeft(+1).toString()).equals("0.5"), "mpl034"); harness.check (((new BigDecimal("0.5E+1")).movePointLeft(+5).toString()).equals("0.00005"), "mpl035"); harness.check (((new BigDecimal("0.5E+1")).movePointLeft(+10).toString()).equals("5E-10"), "mpl036"); return;} /* ----------------------------------------------------------------- */ /** Test the {@link BigDecimal#movePointRight} method. */ public void diagmovepointright(TestHarness harness){ harness.check (((new BigDecimal("-1")).movePointRight(+10).toString()).equals("-10000000000"), "mpr001"); harness.check (((new BigDecimal("-1")).movePointRight(+5).toString()).equals("-100000"), "mpr002"); harness.check (((new BigDecimal("-1")).movePointRight(+1).toString()).equals("-10"), "mpr003"); harness.check (((new BigDecimal("-1")).movePointRight(0).toString()).equals("-1"), "mpr004"); harness.check (((new BigDecimal("-1")).movePointRight(-1).toString()).equals("-0.1"), "mpr005"); harness.check (((new BigDecimal("-1")).movePointRight(-5).toString()).equals("-0.00001"), "mpr006"); harness.check (((new BigDecimal("-1")).movePointRight(-10).toString()).equals("-1E-10"), "mpr007"); harness.check (((new BigDecimal("0")).movePointRight(+10).toString()).equals("0"), "mpr010"); harness.check (((new BigDecimal("0")).movePointRight(+5).toString()).equals("0"), "mpr011"); harness.check (((new BigDecimal("0")).movePointRight(+1).toString()).equals("0"), "mpr012"); harness.check (((new BigDecimal("0")).movePointRight(0).toString()).equals("0"), "mpr013"); harness.check (((new BigDecimal("0")).movePointRight(-1).toString()).equals("0.0"), "mpr014"); harness.check (((new BigDecimal("0")).movePointRight(-5).toString()).equals("0.00000"), "mpr015"); harness.check (((new BigDecimal("0")).movePointRight(-10).toString()).equals("0E-10"), "mpr016"); harness.check (((new BigDecimal("+1")).movePointRight(+10).toString()).equals("10000000000"), "mpr020"); harness.check (((new BigDecimal("+1")).movePointRight(+5).toString()).equals("100000"), "mpr021"); harness.check (((new BigDecimal("+1")).movePointRight(+1).toString()).equals("10"), "mpr022"); harness.check (((new BigDecimal("+1")).movePointRight(0).toString()).equals("1"), "mpr023"); harness.check (((new BigDecimal("+1")).movePointRight(-1).toString()).equals("0.1"), "mpr024"); harness.check (((new BigDecimal("+1")).movePointRight(-5).toString()).equals("0.00001"), "mpr025"); harness.check (((new BigDecimal("+1")).movePointRight(-10).toString()).equals("1E-10"), "mpr026"); harness.check (((new BigDecimal("0.5E+1")).movePointRight(+10).toString()).equals("50000000000"), "mpr030"); harness.check (((new BigDecimal("0.5E+1")).movePointRight(+5).toString()).equals("500000"), "mpr031"); harness.check (((new BigDecimal("0.5E+1")).movePointRight(+1).toString()).equals("50"), "mpr032"); harness.check (((new BigDecimal("0.5E+1")).movePointRight(0).toString()).equals("5"), "mpr033"); harness.check (((new BigDecimal("0.5E+1")).movePointRight(-1).toString()).equals("0.5"), "mpr034"); harness.check (((new BigDecimal("0.5E+1")).movePointRight(-5).toString()).equals("0.00005"), "mpr035"); harness.check (((new BigDecimal("0.5E+1")).movePointRight(-10).toString()).equals("5E-10"), "mpr036"); return;} /* ----------------------------------------------------------------- */ /** Test the {@link BigDecimal#scale} method. */ public void diagscale(TestHarness harness){ harness.check (((new BigDecimal("-1")).scale())==0, "sca001"); harness.check (((new BigDecimal("-10")).scale())==0, "sca002"); harness.check (((new BigDecimal("+1")).scale())==0, "sca003"); harness.check (((new BigDecimal("+10")).scale())==0, "sca004"); harness.check (((new BigDecimal("1E+10")).scale())==-10, "sca005"); harness.check (((new BigDecimal("1E-10")).scale())==10, "sca006"); harness.check (((new BigDecimal("0E-10")).scale())==10, "sca007"); harness.check (((new BigDecimal("0.000")).scale())==3, "sca008"); harness.check (((new BigDecimal("0.00")).scale())==2, "sca009"); harness.check (((new BigDecimal("0.0")).scale())==1, "sca010"); harness.check (((new BigDecimal("0.1")).scale())==1, "sca011"); harness.check (((new BigDecimal("0.12")).scale())==2, "sca012"); harness.check (((new BigDecimal("0.123")).scale())==3, "sca013"); harness.check (((new BigDecimal("-0.0")).scale())==1, "sca014"); harness.check (((new BigDecimal("-0.1")).scale())==1, "sca015"); harness.check (((new BigDecimal("-0.12")).scale())==2, "sca016"); harness.check (((new BigDecimal("-0.123")).scale())==3, "sca017"); return;} /* ----------------------------------------------------------------- */ /** Test the {@link BigDecimal#setScale} method. */ public void diagsetscale(TestHarness harness){ boolean flag=false; java.lang.RuntimeException e=null; harness.check (((new BigDecimal("-1")).setScale(0).toString()).equals("-1"), "ssc001"); harness.check (((new BigDecimal("-1")).setScale(1).toString()).equals("-1.0"), "ssc002"); harness.check (((new BigDecimal("-1")).setScale(2).toString()).equals("-1.00"), "ssc003"); harness.check (((new BigDecimal("0")).setScale(0).toString()).equals("0"), "ssc004"); harness.check (((new BigDecimal("0")).setScale(1).toString()).equals("0.0"), "ssc005"); harness.check (((new BigDecimal("0")).setScale(2).toString()).equals("0.00"), "ssc006"); harness.check (((new BigDecimal("+1")).setScale(0).toString()).equals("1"), "ssc007"); harness.check (((new BigDecimal("+1")).setScale(1).toString()).equals("1.0"), "ssc008"); harness.check (((new BigDecimal("+1")).setScale(2).toString()).equals("1.00"), "ssc009"); try{checkscale:do{ (new BigDecimal(1)).setScale(-8); flag=false; }while(false);} catch (java.lang.ArithmeticException xx117){e=xx117; flag=checkMessage(e, "Negative scale: -8"); }/*checkscale*/ harness.check (flag, "ssc100"); try{checkrunn:do{ (new BigDecimal(1.0001D)).setScale(3); flag=false; }while(false);} catch (java.lang.ArithmeticException xx118){e=xx118; flag=checkMessage(e, "Rounding necessary"); }/*checkrunn*/ harness.check (flag, "ssc101"); try{checkrunn:do{ (new BigDecimal(1E-8D)).setScale(3); flag=false; }while(false);} catch (java.lang.ArithmeticException xx119){e=xx119; flag=checkMessage(e, "Rounding necessary"); }/*checkrunn*/ harness.check (flag, "ssc102"); return;} /* ----------------------------------------------------------------- */ /** Test the BigDecimal.shortValue() method. */ public void diagshortvalue(TestHarness harness){ boolean flag=false; java.lang.String v=null; java.lang.ArithmeticException ae=null; java.lang.String badstrings[]; int i=0; java.lang.String norm=null; harness.check ((((short)0))==((new BigDecimal("0")).shortValue()), "shv002"); harness.check ((((short)1))==((new BigDecimal("1")).shortValue()), "shv003"); harness.check ((((short)99))==((new BigDecimal("99")).shortValue()), "shv004"); harness.check (((smax))==((new BigDecimal(smax)).shortValue()), "shv006"); harness.check (((smin))==((new BigDecimal(smin)).shortValue()), "shv007"); harness.check (((sneg))==((new BigDecimal(sneg)).shortValue()), "shv008"); harness.check (((szer))==((new BigDecimal(szer)).shortValue()), "shv009"); harness.check (((spos))==((new BigDecimal(spos)).shortValue()), "shv010"); harness.check (((smin))==((new BigDecimal(smax+1)).shortValue()), "shv011"); harness.check (((smax))==((new BigDecimal(smin-1)).shortValue()), "shv012"); return;} /* ----------------------------------------------------------------- */ /** Test the {@link BigDecimal#signum} method. */ public void diagsignum(TestHarness harness){ // necessarily checks some obscure constructions, too harness.check ((-1)==((new BigDecimal("-1")).signum()), "sig001"); harness.check ((-1)==((new BigDecimal("-0.0010")).signum()), "sig002"); harness.check ((-1)==((new BigDecimal("-0.001")).signum()), "sig003"); harness.check (0==((new BigDecimal("-0.00")).signum()), "sig004"); harness.check (0==((new BigDecimal("-0")).signum()), "sig005"); harness.check (0==((new BigDecimal("0")).signum()), "sig006"); harness.check (0==((new BigDecimal("00")).signum()), "sig007"); harness.check (0==((new BigDecimal("00.0")).signum()), "sig008"); harness.check (1==((new BigDecimal("00.01")).signum()), "sig009"); harness.check (1==((new BigDecimal("00.01")).signum()), "sig010"); harness.check (1==((new BigDecimal("00.010")).signum()), "sig011"); harness.check (1==((new BigDecimal("01.01")).signum()), "sig012"); harness.check (1==((new BigDecimal("+0.01")).signum()), "sig013"); harness.check (1==((new BigDecimal("+0.001")).signum()), "sig014"); harness.check (1==((new BigDecimal("1")).signum()), "sig015"); harness.check (1==((new BigDecimal("1e+12")).signum()), "sig016"); harness.check (0==((new BigDecimal("00e+12")).signum()), "sig017"); return;} /* ----------------------------------------------------------------- */ /** Test the {@link BigDecimal#toBigInteger} method. */ public void diagtobiginteger(TestHarness harness){ boolean flag=false; java.lang.String badstrings[]; int i=0; harness.check (((new BigDecimal("-1")).toBigInteger().toString()).equals("-1"), "tbi001"); harness.check (((new BigDecimal("0")).toBigInteger().toString()).equals("0"), "tbi002"); harness.check (((new BigDecimal("+1")).toBigInteger().toString()).equals("1"), "tbi003"); harness.check (((new BigDecimal("10")).toBigInteger().toString()).equals("10"), "tbi004"); harness.check (((new BigDecimal("1000")).toBigInteger().toString()).equals("1000"), "tbi005"); harness.check (((new BigDecimal("-1E+0")).toBigInteger().toString()).equals("-1"), "tbi006"); harness.check (((new BigDecimal("0E+0")).toBigInteger().toString()).equals("0"), "tbi007"); harness.check (((new BigDecimal("+1E+0")).toBigInteger().toString()).equals("1"), "tbi008"); harness.check (((new BigDecimal("10E+0")).toBigInteger().toString()).equals("10"), "tbi009"); harness.check (((new BigDecimal("1E+3")).toBigInteger().toString()).equals("1000"), "tbi010"); harness.check (((new BigDecimal("0.00")).toBigInteger().toString()).equals("0"), "tbi011"); harness.check (((new BigDecimal("0.01")).toBigInteger().toString()).equals("0"), "tbi012"); harness.check (((new BigDecimal("0.0")).toBigInteger().toString()).equals("0"), "tbi013"); harness.check (((new BigDecimal("0.1")).toBigInteger().toString()).equals("0"), "tbi014"); harness.check (((new BigDecimal("-0.00")).toBigInteger().toString()).equals("0"), "tbi015"); harness.check (((new BigDecimal("-0.01")).toBigInteger().toString()).equals("0"), "tbi016"); harness.check (((new BigDecimal("-0.0")).toBigInteger().toString()).equals("0"), "tbi017"); harness.check (((new BigDecimal("-0.1")).toBigInteger().toString()).equals("0"), "tbi018"); harness.check (((new BigDecimal("1.00")).toBigInteger().toString()).equals("1"), "tbi019"); harness.check (((new BigDecimal("1.01")).toBigInteger().toString()).equals("1"), "tbi020"); harness.check (((new BigDecimal("1.0")).toBigInteger().toString()).equals("1"), "tbi021"); harness.check (((new BigDecimal("1.1")).toBigInteger().toString()).equals("1"), "tbi022"); harness.check (((new BigDecimal("-1.00")).toBigInteger().toString()).equals("-1"), "tbi023"); harness.check (((new BigDecimal("-1.01")).toBigInteger().toString()).equals("-1"), "tbi024"); harness.check (((new BigDecimal("-1.0")).toBigInteger().toString()).equals("-1"), "tbi025"); harness.check (((new BigDecimal("-1.1")).toBigInteger().toString()).equals("-1"), "tbi026"); harness.check (((new BigDecimal("-111.111")).toBigInteger().toString()).equals("-111"), "tbi027"); harness.check (((new BigDecimal("+111.111")).toBigInteger().toString()).equals("111"), "tbi028"); harness.check (((new BigDecimal("0.09")).toBigInteger().toString()).equals("0"), "tbi029"); harness.check (((new BigDecimal("0.9")).toBigInteger().toString()).equals("0"), "tbi030"); harness.check (((new BigDecimal("1.09")).toBigInteger().toString()).equals("1"), "tbi031"); harness.check (((new BigDecimal("1.05")).toBigInteger().toString()).equals("1"), "tbi032"); harness.check (((new BigDecimal("1.04")).toBigInteger().toString()).equals("1"), "tbi033"); harness.check (((new BigDecimal("1.99")).toBigInteger().toString()).equals("1"), "tbi034"); harness.check (((new BigDecimal("1.9")).toBigInteger().toString()).equals("1"), "tbi034"); harness.check (((new BigDecimal("1.5")).toBigInteger().toString()).equals("1"), "tbi035"); harness.check (((new BigDecimal("1.4")).toBigInteger().toString()).equals("1"), "tbi036"); harness.check (((new BigDecimal("-1.09")).toBigInteger().toString()).equals("-1"), "tbi037"); harness.check (((new BigDecimal("-1.05")).toBigInteger().toString()).equals("-1"), "tbi038"); harness.check (((new BigDecimal("-1.04")).toBigInteger().toString()).equals("-1"), "tbi039"); harness.check (((new BigDecimal("-1.99")).toBigInteger().toString()).equals("-1"), "tbi040"); harness.check (((new BigDecimal("-1.9")).toBigInteger().toString()).equals("-1"), "tbi041"); harness.check (((new BigDecimal("-1.5")).toBigInteger().toString()).equals("-1"), "tbi042"); harness.check (((new BigDecimal("-1.4")).toBigInteger().toString()).equals("-1"), "tbi043"); harness.check (((new BigDecimal("1E-1000")).toBigInteger().toString()).equals("0"), "tbi044"); harness.check (((new BigDecimal("-1E-1000")).toBigInteger().toString()).equals("0"), "tbi045"); return;} /* ----------------------------------------------------------------- */ /** Test the {@link BigDecimal#toString} method. */ public void diagtostring(TestHarness harness){ java.lang.String str; char car[]; BigDecimal d; char ca[]; java.lang.String cs; // the function of this has been tested above, this is simply an // existence proof and type-check str="123.45"; d=new BigDecimal(str); cs=d.toString(); harness.check ((str.length())==(cs.length()), "tos002"); harness.check (str.equals((java.lang.Object)cs), "tos004"); harness.check ((cs instanceof java.lang.String), "tos005"); harness.check ((d.toString() instanceof java.lang.String), "tos006"); return;} /* ----------------------------------------------------------------- */ /** Test the {@link BigDecimal#valueOf} method [long and double]. */ public void diagvalueof(TestHarness harness){ boolean flag=false; java.lang.NumberFormatException e=null; double dzer; double dpos; double dneg; double dpos5; double dneg5; double dmin; double dmax; double d; // valueOf(long [,scale]) -- harness.check ((BigDecimal.valueOf((long)((byte)-2)).toString()).equals("-2"), "val001"); harness.check ((BigDecimal.valueOf((long)((byte)-1)).toString()).equals("-1"), "val002"); harness.check ((BigDecimal.valueOf((long)((byte)-0)).toString()).equals("0"), "val003"); harness.check ((BigDecimal.valueOf((long)((byte)+1)).toString()).equals("1"), "val004"); harness.check ((BigDecimal.valueOf((long)((byte)+2)).toString()).equals("2"), "val005"); harness.check ((BigDecimal.valueOf((long)((byte)10)).toString()).equals("10"), "val006"); harness.check ((BigDecimal.valueOf((long)((byte)11)).toString()).equals("11"), "val007"); harness.check ((BigDecimal.valueOf(lmin).toString()).equals("-9223372036854775808"), "val008"); harness.check ((BigDecimal.valueOf(lmax).toString()).equals("9223372036854775807"), "val009"); harness.check ((BigDecimal.valueOf(lneg).toString()).equals("-1"), "val010"); harness.check ((BigDecimal.valueOf(lzer).toString()).equals("0"), "val011"); harness.check ((BigDecimal.valueOf(lpos).toString()).equals("1"), "val012"); harness.check ((BigDecimal.valueOf(lmin,0).toString()).equals("-9223372036854775808"), "val013"); harness.check ((BigDecimal.valueOf(lmax,0).toString()).equals("9223372036854775807"), "val014"); harness.check ((BigDecimal.valueOf(lneg,0).toString()).equals("-1"), "val015"); harness.check ((BigDecimal.valueOf(lpos,0).toString()).equals("1"), "val016"); harness.check ((BigDecimal.valueOf(lzer,0).toString()).equals("0"), "val017"); harness.check ((BigDecimal.valueOf(lzer,1).toString()).equals("0.0"), "val018"); harness.check ((BigDecimal.valueOf(lzer,2).toString()).equals("0.00"), "val019"); harness.check ((BigDecimal.valueOf(lzer,3).toString()).equals("0.000"), "val020"); harness.check ((BigDecimal.valueOf(lzer,10).toString()).equals("0E-10"), "val021"); harness.check ((BigDecimal.valueOf(lmin,7).toString()).equals("-922337203685.4775808"), "val022"); harness.check ((BigDecimal.valueOf(lmax,11).toString()).equals("92233720.36854775807"), "val023"); return;} /* ----------------------------------------------------------------- */ /* right - Utility to do a 'right' on a Java String */ /* ----------------------------------------------------------------- */ /* Arg1 is string to right-justify */ /* Arg2 is desired length */ private static java.lang.String right(java.lang.String s,int len){ int slen; slen=s.length(); if (slen==len) return s; // length just right if (slen>len) return s.substring(slen-len); // truncate on left // too short return (new java.lang.String(new char[len-slen])).replace('\000',' ').concat(s); } /* ----------------------------------------------------------------- */ /* left - Utility to do a 'left' on a Java String */ /* ----------------------------------------------------------------- */ /* Arg1 is string to left-justify */ /* Arg2 is desired length */ private static java.lang.String left(java.lang.String s,int len){ int slen; slen=s.length(); if (slen==len) return s; // length just right if (slen>len) return s.substring(0,len); // truncate on right // too short return s.concat((new java.lang.String(new char[len-slen])).replace('\000',' ')); } /* ----------------------------------------------------------------- */ /* say - Utility to do a display */ /* ----------------------------------------------------------------- */ /* Arg1 is string to display, omitted if none */ /* [null or omitted gives blank line] */ // this version doesn't heed continuation final character private void say(TestHarness harness){ say((java.lang.String)null, harness);return; } private void say(java.lang.String s, TestHarness harness){ if (s==null) s=" "; harness.verbose(s); return; } private boolean checkMessage(Throwable ex, String msg){ return !CHECK_EXCEPTION_MESSAGES || ex.getMessage().equals(msg); } public void test (TestHarness harness){ diagrun (harness); } } mauve-20140821/gnu/testlet/java/math/BigDecimal/intValueExact.java0000644000175000001440000000553711705027156023511 0ustar dokousers// Test of the method BigDecimal.intValueExact() // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Check for method BigDecimal.intValueExact() */ public class intValueExact implements Testlet { /** * Entry point to this test. */ public void test(TestHarness harness) { // simple conversions harness.check((0) == (new BigDecimal("0")).intValueExact()); harness.check((1) == (new BigDecimal("1")).intValueExact()); harness.check((99) == (new BigDecimal("99")).intValueExact()); harness.check((100) == (new BigDecimal("100")).intValueExact()); harness.check((127) == (new BigDecimal("127")).intValueExact()); harness.check((-127) == (new BigDecimal("-127")).intValueExact()); harness.check((128) == (new BigDecimal("128")).intValueExact()); harness.check((-128) == (new BigDecimal("-128")).intValueExact()); harness.check((32767) == (new BigDecimal("32767")).intValueExact()); harness.check((-32768) == (new BigDecimal("-32768")).intValueExact()); harness.check((2147483647) == ((new BigDecimal("2147483647")).intValueExact())); harness.check((-2147483647) == ((new BigDecimal("-2147483647")).intValueExact())); // overflow/underflow testException(harness, "2147483648"); testException(harness, "2147483649"); testException(harness, "2147483650"); testException(harness, "4294967296"); testException(harness, "4294967295"); testException(harness, "4294967294"); // truncation testException(harness, "100.1"); testException(harness, "100.9"); } /** * Check if exception is thrown during exact conversion to an int. */ private void testException(TestHarness harness, String numberStr) { try { new BigDecimal(numberStr).intValueExact(); harness.fail("ArithmeticException not thrown as expected for the number: " + numberStr + "!"); } catch (ArithmeticException e) { // ok } } } mauve-20140821/gnu/testlet/java/math/BigDecimal/valueOfDouble.java0000644000175000001440000000362511723700735023466 0ustar dokousers// Test of the method BigDecimal.valueOf(double) // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // // Tags: JDK1.5 package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Check for method BigDecimal.valueOf(double) */ public class valueOfDouble implements Testlet { /** * Entry point to this test. */ public void test(TestHarness harness) { // simple conversions harness.check(new BigDecimal("0.0"), BigDecimal.valueOf(0.0)); harness.check(new BigDecimal("1.0"), BigDecimal.valueOf(1.0)); harness.check(new BigDecimal("0.0"), BigDecimal.valueOf(0.)); harness.check(new BigDecimal("0.0"), BigDecimal.valueOf(.0)); harness.check(new BigDecimal("1.0"), BigDecimal.valueOf(1.)); harness.check(new BigDecimal("1.7976931348623157E+308"), BigDecimal.valueOf(Double.MAX_VALUE)); harness.check(new BigDecimal("4.9E-324"), BigDecimal.valueOf(Double.MIN_VALUE)); try { BigDecimal.valueOf(Double.NaN); harness.fail("Exception don't thrown as expected"); } catch (NumberFormatException e) { // ok, we expected this exception } } } mauve-20140821/gnu/testlet/java/math/BigDecimal/construct.java0000644000175000001440000000317610636017727022763 0ustar dokousers// Test of BigDecimal constructors. // Copyright 2001 Red Hat, Inc. // Written by Tom Tromey // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.3 // We use `1.3' because we have tests involving exponential notation. package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class construct implements Testlet { public void test (TestHarness harness) { harness.check(new BigDecimal ("0.1").toString (), "0.1"); // This example comes from the documentation. harness.check(new BigDecimal (0.1).toString (), "0.1000000000000000055511151231257827021181583404541015625"); try { harness.check(new BigDecimal ("0.01E5").toString (), "1E+3"); harness.check(new BigDecimal ("1000E-5").toString (), "0.01000"); } catch (Exception e) { harness.fail("Exception should not be thrown here." + e); } // Add more as needed. } } mauve-20140821/gnu/testlet/java/math/BigDecimal/longValue.java0000644000175000001440000000503411705027156022661 0ustar dokousers// Test of the method BigDecimal.longValue() // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Check for method BigDecimal.longValue() */ public class longValue implements Testlet { /** * Entry point to this test. */ public void test(TestHarness harness) { // simple conversions harness.check((0) == (new BigDecimal("0")).longValue()); harness.check((1) == (new BigDecimal("1")).longValue()); harness.check((99) == (new BigDecimal("99")).longValue()); harness.check((100) == (new BigDecimal("100")).longValue()); harness.check((127) == (new BigDecimal("127")).longValue()); harness.check((-127) == (new BigDecimal("-127")).longValue()); harness.check((128) == (new BigDecimal("128")).longValue()); harness.check((-128) == (new BigDecimal("-128")).longValue()); harness.check((32767) == (new BigDecimal("32767")).longValue()); harness.check((-32768) == (new BigDecimal("-32768")).longValue()); harness.check((2147483647) == ((new BigDecimal("2147483647")).longValue())); harness.check((-2147483647) == ((new BigDecimal("-2147483647")).longValue())); // overflows/underflows harness.check((4294967296L) == ((new BigDecimal("4294967296")).longValue())); harness.check((4294967295L) == ((new BigDecimal("4294967295")).longValue())); harness.check((4294967294L) == ((new BigDecimal("4294967294")).longValue())); // truncation harness.check((100) == (new BigDecimal("100.0")).longValue()); harness.check((100) == (new BigDecimal("100.1")).longValue()); harness.check((100) == (new BigDecimal("100.9")).longValue()); } } mauve-20140821/gnu/testlet/java/math/BigDecimal/subtract.java0000644000175000001440000001271011706033746022556 0ustar dokousers// Test of the method BigDecimal.subtract() // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // // Tags: JDK1.5 package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import java.math.MathContext; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Check for method BigDecimal.subtract() */ public class subtract implements Testlet { /** * Entry point to this test. */ public void test(TestHarness harness) { test1(harness); test2(harness, new MathContext(0)); test3(harness, new MathContext(1)); test4(harness); } /** * Basic tests */ private void test1(TestHarness harness) { BigDecimal secondNumber = new BigDecimal("2"); harness.check(((new BigDecimal("2")).subtract(secondNumber).toString()).equals("0")); harness.check(((new BigDecimal("-2")).subtract(secondNumber).toString()).equals("-4")); harness.check(((new BigDecimal("+0.000")).subtract(secondNumber).toString()).equals("-2.000")); harness.check(((new BigDecimal("00.000")).subtract(secondNumber).toString()).equals("-2.000")); harness.check(((new BigDecimal("-0.000")).subtract(secondNumber).toString()).equals("-2.000")); harness.check(((new BigDecimal("2000000")).subtract(secondNumber).toString()).equals("1999998")); harness.check(((new BigDecimal("0.2")).subtract(secondNumber).toString()).equals("-1.8")); harness.check(((new BigDecimal("-0.2")).subtract(secondNumber).toString()).equals("-2.2")); harness.check(((new BigDecimal("0.01")).subtract(secondNumber).toString()).equals("-1.99")); harness.check(((new BigDecimal("-0.01")).subtract(secondNumber).toString()).equals("-2.01")); } /** * Tests using MathContext */ private void test2(TestHarness harness, MathContext mathContext) { BigDecimal secondNumber = new BigDecimal("2"); harness.check(((new BigDecimal("2")).subtract(secondNumber, mathContext).toString()).equals("0")); harness.check(((new BigDecimal("-2")).subtract(secondNumber, mathContext).toString()).equals("-4")); harness.check(((new BigDecimal("+0.000")).subtract(secondNumber, mathContext).toString()).equals("-2.000")); harness.check(((new BigDecimal("00.000")).subtract(secondNumber, mathContext).toString()).equals("-2.000")); harness.check(((new BigDecimal("-0.000")).subtract(secondNumber, mathContext).toString()).equals("-2.000")); harness.check(((new BigDecimal("2000000")).subtract(secondNumber, mathContext).toString()).equals("1999998")); harness.check(((new BigDecimal("0.2")).subtract(secondNumber, mathContext).toString()).equals("-1.8")); harness.check(((new BigDecimal("-0.2")).subtract(secondNumber, mathContext).toString()).equals("-2.2")); harness.check(((new BigDecimal("0.01")).subtract(secondNumber, mathContext).toString()).equals("-1.99")); harness.check(((new BigDecimal("-0.01")).subtract(secondNumber, mathContext).toString()).equals("-2.01")); } /** * Tests using MathContext */ private void test3(TestHarness harness, MathContext mathContext) { BigDecimal secondNumber = new BigDecimal("2"); harness.check(((new BigDecimal("2")).subtract(secondNumber, mathContext).toString()).equals("0")); harness.check(((new BigDecimal("-2")).subtract(secondNumber, mathContext).toString()).equals("-4")); harness.check(((new BigDecimal("+0.000")).subtract(secondNumber, mathContext).toString()).equals("-2")); harness.check(((new BigDecimal("00.000")).subtract(secondNumber, mathContext).toString()).equals("-2")); harness.check(((new BigDecimal("-0.000")).subtract(secondNumber, mathContext).toString()).equals("-2")); harness.check(((new BigDecimal("2000000")).subtract(secondNumber, mathContext).toString()).equals("2E+6")); harness.check(((new BigDecimal("0.2")).subtract(secondNumber, mathContext).toString()).equals("-2")); harness.check(((new BigDecimal("-0.2")).subtract(secondNumber, mathContext).toString()).equals("-2")); harness.check(((new BigDecimal("0.01")).subtract(secondNumber, mathContext).toString()).equals("-2")); harness.check(((new BigDecimal("-0.01")).subtract(secondNumber, mathContext).toString()).equals("-2")); } /** * Various MathContext usage */ private void test4(TestHarness harness) { BigDecimal secondNumber = new BigDecimal("2"); harness.check(((new BigDecimal("2000000")).subtract(secondNumber, new MathContext(0)).toString()).equals("1999998")); harness.check(((new BigDecimal("2000000")).subtract(secondNumber, new MathContext(1)).toString()).equals("2E+6")); harness.check(((new BigDecimal("2000000")).subtract(secondNumber, new MathContext(2)).toString()).equals("2.0E+6")); harness.check(((new BigDecimal("2000000")).subtract(secondNumber, new MathContext(3)).toString()).equals("2.00E+6")); } } mauve-20140821/gnu/testlet/java/math/BigDecimal/longValueExact.java0000644000175000001440000000533211705027156023647 0ustar dokousers// Test of the method BigDecimal.longValueExact() // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Check for method BigDecimal.longValueExact() */ public class longValueExact implements Testlet { /** * Entry point to this test. */ public void test(TestHarness harness) { // simple conversions harness.check((0) == (new BigDecimal("0")).longValueExact()); harness.check((1) == (new BigDecimal("1")).longValueExact()); harness.check((99) == (new BigDecimal("99")).longValueExact()); harness.check((100) == (new BigDecimal("100")).longValueExact()); harness.check((127) == (new BigDecimal("127")).longValueExact()); harness.check((-127) == (new BigDecimal("-127")).longValueExact()); harness.check((128) == (new BigDecimal("128")).longValueExact()); harness.check((-128) == (new BigDecimal("-128")).longValueExact()); harness.check((32767) == (new BigDecimal("32767")).longValueExact()); harness.check((-32768) == (new BigDecimal("-32768")).longValueExact()); harness.check((2147483647) == ((new BigDecimal("2147483647")).longValueExact())); harness.check((-2147483647) == ((new BigDecimal("-2147483647")).longValueExact())); // overflow/underflow testException(harness, "18446744073709551615"); testException(harness, "18446744073709551616"); // truncation testException(harness, "100.1"); testException(harness, "100.9"); } /** * Check if exception is thrown during exact conversion to a long. */ private void testException(TestHarness harness, String numberStr) { try { new BigDecimal(numberStr).longValueExact(); harness.fail("ArithmeticException not thrown as expected for the number: " + numberStr + "!"); } catch (ArithmeticException e) { // ok } } } mauve-20140821/gnu/testlet/java/math/BigDecimal/shortValue.java0000644000175000001440000000470011705027156023060 0ustar dokousers// Test of the method BigDecimal.shortValue() // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Check for method BigDecimal.shortValue() */ public class shortValue implements Testlet { /** * Entry point to this test. */ public void test(TestHarness harness) { // simple conversions harness.check((0) == (new BigDecimal("0")).shortValue()); harness.check((1) == (new BigDecimal("1")).shortValue()); harness.check((99) == (new BigDecimal("99")).shortValue()); harness.check((100) == (new BigDecimal("100")).shortValue()); harness.check((127) == (new BigDecimal("127")).shortValue()); harness.check((-127) == (new BigDecimal("-127")).shortValue()); harness.check((128) == (new BigDecimal("128")).shortValue()); harness.check((-128) == (new BigDecimal("-128")).shortValue()); harness.check((32767) == (new BigDecimal("32767")).shortValue()); harness.check((-32768) == (new BigDecimal("-32768")).shortValue()); harness.check((-32768) == (new BigDecimal("32768")).shortValue()); // overflows/underflows harness.check((-1) == ((new BigDecimal("65535")).shortValue())); harness.check((0) == ((new BigDecimal("65536")).shortValue())); harness.check((-1) == ((new BigDecimal("131071")).shortValue())); harness.check((0) == ((new BigDecimal("131072")).shortValue())); // truncation harness.check((100) == (new BigDecimal("100.0")).shortValue()); harness.check((100) == (new BigDecimal("100.1")).shortValue()); harness.check((100) == (new BigDecimal("100.9")).shortValue()); } } mauve-20140821/gnu/testlet/java/math/BigDecimal/add.java0000644000175000001440000001236711706033745021466 0ustar dokousers// Test of the method BigDecimal.add() // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // // Tags: JDK1.5 package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import java.math.MathContext; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Check for method BigDecimal.add() */ public class add implements Testlet { /** * Entry point to this test. */ public void test(TestHarness harness) { test1(harness); test2(harness, new MathContext(0)); test3(harness, new MathContext(1)); test4(harness); } /** * Basic tests */ private void test1(TestHarness harness) { BigDecimal secondNumber = new BigDecimal("2"); harness.check(((new BigDecimal("2")).add(secondNumber).toString()).equals("4")); harness.check(((new BigDecimal("-2")).add(secondNumber).toString()).equals("0")); harness.check(((new BigDecimal("+0.000")).add(secondNumber).toString()).equals("2.000")); harness.check(((new BigDecimal("00.000")).add(secondNumber).toString()).equals("2.000")); harness.check(((new BigDecimal("-0.000")).add(secondNumber).toString()).equals("2.000")); harness.check(((new BigDecimal("2000000")).add(secondNumber).toString()).equals("2000002")); harness.check(((new BigDecimal("0.2")).add(secondNumber).toString()).equals("2.2")); harness.check(((new BigDecimal("-0.2")).add(secondNumber).toString()).equals("1.8")); harness.check(((new BigDecimal("0.01")).add(secondNumber).toString()).equals("2.01")); harness.check(((new BigDecimal("-0.01")).add(secondNumber).toString()).equals("1.99")); } /** * Tests using MathContext */ private void test2(TestHarness harness, MathContext mathContext) { BigDecimal secondNumber = new BigDecimal("2"); harness.check(((new BigDecimal("2")).add(secondNumber, mathContext).toString()).equals("4")); harness.check(((new BigDecimal("-2")).add(secondNumber, mathContext).toString()).equals("0")); harness.check(((new BigDecimal("+0.000")).add(secondNumber, mathContext).toString()).equals("2.000")); harness.check(((new BigDecimal("00.000")).add(secondNumber, mathContext).toString()).equals("2.000")); harness.check(((new BigDecimal("-0.000")).add(secondNumber, mathContext).toString()).equals("2.000")); harness.check(((new BigDecimal("2000000")).add(secondNumber, mathContext).toString()).equals("2000002")); harness.check(((new BigDecimal("0.2")).add(secondNumber, mathContext).toString()).equals("2.2")); harness.check(((new BigDecimal("-0.2")).add(secondNumber, mathContext).toString()).equals("1.8")); harness.check(((new BigDecimal("0.01")).add(secondNumber, mathContext).toString()).equals("2.01")); harness.check(((new BigDecimal("-0.01")).add(secondNumber, mathContext).toString()).equals("1.99")); } /** * Tests using MathContext */ private void test3(TestHarness harness, MathContext mathContext) { BigDecimal secondNumber = new BigDecimal("2"); harness.check(((new BigDecimal("2")).add(secondNumber, mathContext).toString()).equals("4")); harness.check(((new BigDecimal("-2")).add(secondNumber, mathContext).toString()).equals("0")); harness.check(((new BigDecimal("+0.000")).add(secondNumber, mathContext).toString()).equals("2")); harness.check(((new BigDecimal("00.000")).add(secondNumber, mathContext).toString()).equals("2")); harness.check(((new BigDecimal("-0.000")).add(secondNumber, mathContext).toString()).equals("2")); harness.check(((new BigDecimal("2000000")).add(secondNumber, mathContext).toString()).equals("2E+6")); harness.check(((new BigDecimal("0.2")).add(secondNumber, mathContext).toString()).equals("2")); harness.check(((new BigDecimal("-0.2")).add(secondNumber, mathContext).toString()).equals("2")); harness.check(((new BigDecimal("0.01")).add(secondNumber, mathContext).toString()).equals("2")); harness.check(((new BigDecimal("-0.01")).add(secondNumber, mathContext).toString()).equals("2")); } /** * Various MathContext usage */ private void test4(TestHarness harness) { BigDecimal secondNumber = new BigDecimal("2"); harness.check(((new BigDecimal("2000000")).add(secondNumber, new MathContext(0)).toString()).equals("2000002")); harness.check(((new BigDecimal("2000000")).add(secondNumber, new MathContext(1)).toString()).equals("2E+6")); harness.check(((new BigDecimal("2000000")).add(secondNumber, new MathContext(2)).toString()).equals("2.0E+6")); harness.check(((new BigDecimal("2000000")).add(secondNumber, new MathContext(3)).toString()).equals("2.00E+6")); } } mauve-20140821/gnu/testlet/java/math/BigDecimal/valueOfLong.java0000644000175000001440000000275711723700735023160 0ustar dokousers// Test of the method BigDecimal.valueOf(long) // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Check for method BigDecimal.valueOf(long) */ public class valueOfLong implements Testlet { /** * Entry point to this test. */ public void test(TestHarness harness) { // simple conversions harness.check(new BigDecimal("0"), BigDecimal.valueOf(0L)); harness.check(new BigDecimal("1"), BigDecimal.valueOf(1L)); harness.check(new BigDecimal("9223372036854775807"), BigDecimal.valueOf(Long.MAX_VALUE)); harness.check(new BigDecimal("-9223372036854775808"), BigDecimal.valueOf(Long.MIN_VALUE)); } } mauve-20140821/gnu/testlet/java/math/BigDecimal/constructorCharacterSequence.java0000644000175000001440000001525611701603367026627 0ustar dokousers// Test of BigDecimal constructors. // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.5 // We use `1.5' because the constructor with parametes char[] is first // defined here. package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import java.math.MathContext; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test if instance of BigDecimal class could be created * directly from character sequence. */ public class constructorCharacterSequence implements Testlet { /** * Sequence of characters used as a parameter passed to constructors. */ private static final char[] CHAR_SEQUENCE_0 = "0.0".toCharArray(); private static final char[] CHAR_SEQUENCE_1 = "0.1".toCharArray(); private static final char[] CHAR_SEQUENCE_2 = "0.01".toCharArray(); private static final char[] CHAR_SEQUENCE_3 = "0.001".toCharArray(); private static final char[] CHAR_SEQUENCE_4 = "0.0001".toCharArray(); private static final char[] CHAR_SEQUENCE_5 = "0.00001".toCharArray(); private static final char[] CHAR_SEQUENCE_6 = "0.000001".toCharArray(); private static final char[] CHAR_SEQUENCE_7 = "0.0000001".toCharArray(); private static final char[] CHAR_SEQUENCE_8 = "0.01E5".toCharArray(); private static final char[] CHAR_SEQUENCE_9 = "1000E-5".toCharArray(); /** * This character sequence is used by constructors which accepts * character subsequence. */ private static final char[] CHAR_SEQUENCE_10 = "123456".toCharArray(); /** * Entry point to this test. */ public void test(TestHarness harness) { test1(harness); test2(harness); test3(harness); test4(harness); } /** * Constructor BigDecimal(char[]) */ public void test1(TestHarness harness) { harness.checkPoint("constructor BigDecimal(char[])"); try { harness.check(new BigDecimal(CHAR_SEQUENCE_0).toString (), "0.0"); harness.check(new BigDecimal(CHAR_SEQUENCE_1).toString (), "0.1"); harness.check(new BigDecimal(CHAR_SEQUENCE_2).toString (), "0.01"); harness.check(new BigDecimal(CHAR_SEQUENCE_3).toString (), "0.001"); harness.check(new BigDecimal(CHAR_SEQUENCE_4).toString (), "0.0001"); harness.check(new BigDecimal(CHAR_SEQUENCE_5).toString (), "0.00001"); harness.check(new BigDecimal(CHAR_SEQUENCE_6).toString (), "0.000001"); harness.check(new BigDecimal(CHAR_SEQUENCE_7).toString (), "1E-7"); harness.check(new BigDecimal(CHAR_SEQUENCE_8).toString (), "1E+3"); harness.check(new BigDecimal(CHAR_SEQUENCE_9).toString (), "0.01000"); } catch (Exception e) { harness.fail("Exception should not be thrown here." + e); } } /** * Constructor BigDecimal(char[], offset, length) */ public void test2(TestHarness harness) { harness.checkPoint("constructor BigDecimal(char[], offset, length)"); harness.check(new BigDecimal(CHAR_SEQUENCE_10, 0, 1).toString(), "1"); harness.check(new BigDecimal(CHAR_SEQUENCE_10, 0, 2).toString(), "12"); harness.check(new BigDecimal(CHAR_SEQUENCE_10, 1, 1).toString(), "2"); harness.check(new BigDecimal(CHAR_SEQUENCE_10, 1, 2).toString(), "23"); try { System.out.println(new BigDecimal(CHAR_SEQUENCE_10, 1, 10).toString()); harness.fail("Exception don't thrown as expected"); } catch (NumberFormatException e) { // it is expected, that exception is thrown } try { System.out.println(new BigDecimal(CHAR_SEQUENCE_10, -1, 2).toString()); harness.fail("Exception don't thrown as expected"); } catch (NumberFormatException e) { // it is expected, that exception is thrown } } /** * Constructor BigDecimal(char[], MathContext) */ public void test3(TestHarness harness) { harness.checkPoint("constructor BigDecimal(char[], MathContext)"); try { harness.check(new BigDecimal(CHAR_SEQUENCE_0, MathContext.UNLIMITED).toString (), "0.0"); harness.check(new BigDecimal(CHAR_SEQUENCE_1, MathContext.UNLIMITED).toString (), "0.1"); harness.check(new BigDecimal(CHAR_SEQUENCE_2, MathContext.UNLIMITED).toString (), "0.01"); harness.check(new BigDecimal(CHAR_SEQUENCE_3, MathContext.UNLIMITED).toString (), "0.001"); harness.check(new BigDecimal(CHAR_SEQUENCE_4, MathContext.UNLIMITED).toString (), "0.0001"); harness.check(new BigDecimal(CHAR_SEQUENCE_5, MathContext.UNLIMITED).toString (), "0.00001"); harness.check(new BigDecimal(CHAR_SEQUENCE_6, MathContext.UNLIMITED).toString (), "0.000001"); harness.check(new BigDecimal(CHAR_SEQUENCE_7, MathContext.UNLIMITED).toString (), "1E-7"); harness.check(new BigDecimal(CHAR_SEQUENCE_8, MathContext.UNLIMITED).toString (), "1E+3"); harness.check(new BigDecimal(CHAR_SEQUENCE_9, MathContext.UNLIMITED).toString (), "0.01000"); } catch (Exception e) { harness.fail("Exception should not be thrown here." + e); } } /** * Constructor BigDecimal(char[], offset, length, MathContext) */ public void test4(TestHarness harness) { harness.checkPoint("constructor BigDecimal(char[], offset, length, MathContext)"); harness.check(new BigDecimal(CHAR_SEQUENCE_10, 0, 1, MathContext.UNLIMITED).toString(), "1"); harness.check(new BigDecimal(CHAR_SEQUENCE_10, 0, 2, MathContext.UNLIMITED).toString(), "12"); harness.check(new BigDecimal(CHAR_SEQUENCE_10, 1, 1, MathContext.UNLIMITED).toString(), "2"); harness.check(new BigDecimal(CHAR_SEQUENCE_10, 1, 2, MathContext.UNLIMITED).toString(), "23"); try { System.out.println(new BigDecimal(CHAR_SEQUENCE_10, 1, 10).toString()); harness.fail("Exception don't thrown as expected"); } catch (NumberFormatException e) { // it is expected, that exception is thrown } try { System.out.println(new BigDecimal(CHAR_SEQUENCE_10, -1, 2).toString()); harness.fail("Exception don't thrown as expected"); } catch (NumberFormatException e) { // it is expected, that exception is thrown } } } mauve-20140821/gnu/testlet/java/math/BigDecimal/valueOfLongInt.java0000644000175000001440000000431411723700735023622 0ustar dokousers// Test of the method BigDecimal.valueOf(long, int) // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Check for method BigDecimal.valueOf(long, int) */ public class valueOfLongInt implements Testlet { /** * Entry point to this test. */ public void test(TestHarness harness) { // simple conversions harness.check(new BigDecimal("0"), BigDecimal.valueOf(0L, 0)); harness.check(new BigDecimal("1"), BigDecimal.valueOf(1L, 0)); harness.check(new BigDecimal("9223372036854775807"), BigDecimal.valueOf(Long.MAX_VALUE, 0)); harness.check(new BigDecimal("-9223372036854775808"), BigDecimal.valueOf(Long.MIN_VALUE, 0)); // scale = 1 harness.check(new BigDecimal("0.0"), BigDecimal.valueOf(0L, 1)); harness.check(new BigDecimal("0.1"), BigDecimal.valueOf(1L, 1)); harness.check(new BigDecimal("922337203685477580.7"), BigDecimal.valueOf(Long.MAX_VALUE, 1)); harness.check(new BigDecimal("-922337203685477580.8"), BigDecimal.valueOf(Long.MIN_VALUE, 1)); // scale = 2 harness.check(new BigDecimal("0.00"), BigDecimal.valueOf(0L, 2)); harness.check(new BigDecimal("0.01"), BigDecimal.valueOf(1L, 2)); harness.check(new BigDecimal("92233720368547758.07"), BigDecimal.valueOf(Long.MAX_VALUE, 2)); harness.check(new BigDecimal("-92233720368547758.08"), BigDecimal.valueOf(Long.MIN_VALUE, 2)); } } mauve-20140821/gnu/testlet/java/math/BigDecimal/negate.java0000644000175000001440000001011311706033746022165 0ustar dokousers// Test of the method BigDecimal.negate() // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // // Tags: JDK1.5 package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import java.math.MathContext; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Check for method BigDecimal.negate() */ public class negate implements Testlet { /** * Entry point to this test. */ public void test(TestHarness harness) { test1(harness); test2(harness, new MathContext(0)); test2(harness, new MathContext(1)); test2(harness, new MathContext(2)); test3(harness); } /** * Basic tests */ private void test1(TestHarness harness) { harness.check(((new BigDecimal("2")).negate().toString()).equals("-2")); harness.check(((new BigDecimal("-2")).negate().toString()).equals("2")); harness.check(((new BigDecimal("+0.000")).negate().toString()).equals("0.000")); harness.check(((new BigDecimal("00.000")).negate().toString()).equals("0.000")); harness.check(((new BigDecimal("-0.000")).negate().toString()).equals("0.000")); harness.check(((new BigDecimal("-2000000")).negate().toString()).equals("2000000")); harness.check(((new BigDecimal("0.2")).negate().toString()).equals("-0.2")); harness.check(((new BigDecimal("-0.2")).negate().toString()).equals("0.2")); harness.check(((new BigDecimal("0.01")).negate().toString()).equals("-0.01")); harness.check(((new BigDecimal("-0.01")).negate().toString()).equals("0.01")); } /** * Tests using MathContext */ private void test2(TestHarness harness, MathContext mathContext) { harness.check(((new BigDecimal("2")).negate(mathContext).toString()).equals("-2")); harness.check(((new BigDecimal("-2")).negate(mathContext).toString()).equals("2")); harness.check(((new BigDecimal("+0.000")).negate(mathContext).toString()).equals("0.000")); harness.check(((new BigDecimal("00.000")).negate(mathContext).toString()).equals("0.000")); harness.check(((new BigDecimal("-0.000")).negate(mathContext).toString()).equals("0.000")); harness.check(((new BigDecimal("0.2")).negate(mathContext).toString()).equals("-0.2")); harness.check(((new BigDecimal("-0.2")).negate(mathContext).toString()).equals("0.2")); harness.check(((new BigDecimal("0.01")).negate(mathContext).toString()).equals("-0.01")); harness.check(((new BigDecimal("-0.01")).negate(mathContext).toString()).equals("0.01")); } /** * Various MathContext usage */ private void test3(TestHarness harness) { harness.check(((new BigDecimal("-2000000")).negate(new MathContext(0)).toString()).equals("2000000")); harness.check(((new BigDecimal("-2000000")).negate(new MathContext(1)).toString()).equals("2E+6")); harness.check(((new BigDecimal("-2000000")).negate(new MathContext(2)).toString()).equals("2.0E+6")); harness.check(((new BigDecimal("-2000000")).negate(new MathContext(3)).toString()).equals("2.00E+6")); harness.check(((new BigDecimal("2000000")).negate(new MathContext(0)).toString()).equals("-2000000")); harness.check(((new BigDecimal("2000000")).negate(new MathContext(1)).toString()).equals("-2E+6")); harness.check(((new BigDecimal("2000000")).negate(new MathContext(2)).toString()).equals("-2.0E+6")); harness.check(((new BigDecimal("2000000")).negate(new MathContext(3)).toString()).equals("-2.00E+6")); } } mauve-20140821/gnu/testlet/java/math/BigDecimal/byteValue.java0000644000175000001440000000447311705027156022673 0ustar dokousers// Test of the method BigDecimal.byteValue() // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Check for method BigDecimal.byteValue() */ public class byteValue implements Testlet { /** * Entry point to this test. */ public void test(TestHarness harness) { // simple conversions harness.check((0) == (new BigDecimal("0")).byteValue()); harness.check((1) == (new BigDecimal("1")).byteValue()); harness.check((99) == (new BigDecimal("99")).byteValue()); harness.check((100) == (new BigDecimal("100")).byteValue()); harness.check((127) == (new BigDecimal("127")).byteValue()); harness.check((-127) ==(new BigDecimal("-127")).byteValue()); harness.check((-128)==((new BigDecimal("128")).byteValue())); harness.check((-128)==((new BigDecimal("-128")).byteValue())); // overflows/underflows harness.check((-1) ==((new BigDecimal("255")).byteValue())); harness.check((0) ==((new BigDecimal("256")).byteValue())); harness.check((-1) ==((new BigDecimal("65535")).byteValue())); harness.check((0) ==((new BigDecimal("65536")).byteValue())); harness.check((-127)==((new BigDecimal("129")).byteValue())); harness.check((-126)==((new BigDecimal("130")).byteValue())); // truncation harness.check((100) == (new BigDecimal("100.0")).byteValue()); harness.check((100) == (new BigDecimal("100.1")).byteValue()); harness.check((100) == (new BigDecimal("100.9")).byteValue()); } } mauve-20140821/gnu/testlet/java/math/BigDecimal/compareToObject.java0000644000175000001440000001302411710263262023777 0ustar dokousers// Test of BigDecimal method compareTo(Object). // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.4 // Tags: CompileOptions: -source 1.4 package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import java.math.BigInteger; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test the method BigDecimal.compareTo(Object); * Partially based on test compareTo(BigDecimal) */ public class compareToObject implements Testlet { /** * Entry point to this test. */ public void test(TestHarness harness) { positiveTest(harness); negativeTest(harness); } /** * Positive test for method BigDecimal.compareTo(Object) */ public void positiveTest(TestHarness harness) { harness.checkPoint("positive test"); try { BigDecimal a, b; a = new BigDecimal("0.1"); b = new BigDecimal("0.01"); harness.check(compare(a,b), 1); harness.check(compare(b,a), -1); a = new BigDecimal("10.1"); b = new BigDecimal("10.01"); harness.check(compare(a,b), 1); harness.check(compare(b,a), -1); a = new BigDecimal("10.10"); b = new BigDecimal("10.01"); harness.check(compare(a,b), 1); harness.check(compare(b,a), -1); a = new BigDecimal("10.10"); b = new BigDecimal("10.010"); harness.check(compare(a,b), 1); harness.check(compare(b,a), -1); a = new BigDecimal("10.100"); b = new BigDecimal("10.010"); harness.check(compare(a,b), 1); harness.check(compare(b,a), -1); a = new BigDecimal("10.100"); b = new BigDecimal("10.01"); harness.check(compare(a,b), 1); harness.check(compare(b,a), -1); a = new BigDecimal("010.100"); b = new BigDecimal("10.01"); harness.check(compare(a,b), 1); harness.check(compare(b,a), -1); a = new BigDecimal("010.100"); b = new BigDecimal("010.01"); harness.check(compare(a,b), 1); harness.check(compare(b,a), -1); a = new BigDecimal("10.100"); b = new BigDecimal("010.01"); harness.check(compare(a,b), 1); harness.check(compare(b,a), -1); a = new BigDecimal("0.10"); b = new BigDecimal("0.10"); harness.check(compare(a,b), 0); harness.check(compare(b,a), 0); a = new BigDecimal("0.1"); b = new BigDecimal("0.10"); harness.check(compare(a,b), 0); harness.check(compare(b,a), 0); a = new BigDecimal("0.1"); b = new BigDecimal("0.100"); harness.check(compare(a,b), 0); harness.check(compare(b,a), 0); a = new BigDecimal("0.10"); b = new BigDecimal("0.100"); harness.check(compare(a,b), 0); harness.check(compare(b,a), 0); a = new BigDecimal("10.10"); b = new BigDecimal("10.10"); harness.check(compare(a,b), 0); harness.check(compare(b,a), 0); a = new BigDecimal("10.100"); b = new BigDecimal("10.10"); harness.check(compare(a,b), 0); harness.check(compare(b,a), 0); a = new BigDecimal("10.101"); b = new BigDecimal("10.10"); harness.check(compare(a,b), 1); harness.check(compare(b,a), -1); a = new BigDecimal("10.001"); b = new BigDecimal("10.10"); harness.check(compare(a,b), -1); harness.check(compare(b,a), 1); a = new BigDecimal("10.001"); b = new BigDecimal("10.010"); harness.check(compare(a,b), -1); harness.check(compare(b,a), 1); a = new BigDecimal("10.0010"); b = new BigDecimal("10.010"); harness.check(compare(a,b), -1); harness.check(compare(b,a), 1); a = new BigDecimal("10.0010"); b = new BigDecimal("10.0100"); harness.check(compare(a,b), -1); harness.check(compare(b,a), 1); a = new BigDecimal("10.0010"); b = new BigDecimal("10.01000"); harness.check(compare(a,b), -1); harness.check(compare(b,a), 1); } catch (ClassCastException e) { harness.fail("Exception should not be thrown here." + e); } } /** * Negative test for method BigDecimal.compareTo(Object) */ public void negativeTest(TestHarness harness) { harness.checkPoint("negative test"); try { BigDecimal a; Byte b; a = new BigDecimal("0.1"); b = new Byte((byte)1); compare(a,b); harness.fail("Exception should be thrown here."); } catch (ClassCastException e) { // ok - exception was thrown harness.check(true); } try { BigDecimal a; String b; a = new BigDecimal("0.1"); b = "foobar"; compare(a,b); harness.fail("Exception should be thrown here."); } catch (ClassCastException e) { // ok - exception was thrown harness.check(true); } } private int compare(BigDecimal a, Object b) throws ClassCastException { return a.compareTo(b); } } mauve-20140821/gnu/testlet/java/math/BigDecimal/plus.java0000644000175000001440000001002011706033746021702 0ustar dokousers// Test of the method BigDecimal.plus() // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // // Tags: JDK1.5 package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import java.math.MathContext; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Check for method BigDecimal.plus() */ public class plus implements Testlet { /** * Entry point to this test. */ public void test(TestHarness harness) { test1(harness); test2(harness, new MathContext(0)); test2(harness, new MathContext(1)); test2(harness, new MathContext(2)); test3(harness); } /** * Basic tests */ private void test1(TestHarness harness) { harness.check(((new BigDecimal("2")).plus().toString()).equals("2")); harness.check(((new BigDecimal("-2")).plus().toString()).equals("-2")); harness.check(((new BigDecimal("+0.000")).plus().toString()).equals("0.000")); harness.check(((new BigDecimal("00.000")).plus().toString()).equals("0.000")); harness.check(((new BigDecimal("-0.000")).plus().toString()).equals("0.000")); harness.check(((new BigDecimal("-2000000")).plus().toString()).equals("-2000000")); harness.check(((new BigDecimal("0.2")).plus().toString()).equals("0.2")); harness.check(((new BigDecimal("-0.2")).plus().toString()).equals("-0.2")); harness.check(((new BigDecimal("0.01")).plus().toString()).equals("0.01")); harness.check(((new BigDecimal("-0.01")).plus().toString()).equals("-0.01")); } /** * Tests using MathContext */ private void test2(TestHarness harness, MathContext mathContext) { harness.check(((new BigDecimal("2")).plus(mathContext).toString()).equals("2")); harness.check(((new BigDecimal("-2")).plus(mathContext).toString()).equals("-2")); harness.check(((new BigDecimal("+0.000")).plus(mathContext).toString()).equals("0.000")); harness.check(((new BigDecimal("00.000")).plus(mathContext).toString()).equals("0.000")); harness.check(((new BigDecimal("-0.000")).plus(mathContext).toString()).equals("0.000")); harness.check(((new BigDecimal("0.2")).plus(mathContext).toString()).equals("0.2")); harness.check(((new BigDecimal("-0.2")).plus(mathContext).toString()).equals("-0.2")); harness.check(((new BigDecimal("0.01")).plus(mathContext).toString()).equals("0.01")); harness.check(((new BigDecimal("-0.01")).plus(mathContext).toString()).equals("-0.01")); } /** * Various MathContext usage */ private void test3(TestHarness harness) { harness.check(((new BigDecimal("2000000")).plus(new MathContext(0)).toString()).equals("2000000")); harness.check(((new BigDecimal("2000000")).plus(new MathContext(1)).toString()).equals("2E+6")); harness.check(((new BigDecimal("2000000")).plus(new MathContext(2)).toString()).equals("2.0E+6")); harness.check(((new BigDecimal("2000000")).plus(new MathContext(3)).toString()).equals("2.00E+6")); harness.check(((new BigDecimal("-2000000")).plus(new MathContext(0)).toString()).equals("-2000000")); harness.check(((new BigDecimal("-2000000")).plus(new MathContext(1)).toString()).equals("-2E+6")); harness.check(((new BigDecimal("-2000000")).plus(new MathContext(2)).toString()).equals("-2.0E+6")); harness.check(((new BigDecimal("-2000000")).plus(new MathContext(3)).toString()).equals("-2.00E+6")); } } mauve-20140821/gnu/testlet/java/math/BigDecimal/divideToIntegralValue.java0000644000175000001440000001360411710263262025155 0ustar dokousers// Test of the method BigDecimal.divideToIntegralValue() // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // // Tags: JDK1.5 package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import java.math.MathContext; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Check for method BigDecimal.divideToIntegralValue() */ public class divideToIntegralValue implements Testlet { public void test (TestHarness harness) { BigDecimal a = new BigDecimal("0"); BigDecimal b = a; BigDecimal result; harness.checkPoint("basic tests"); a = new BigDecimal("10"); b = new BigDecimal("2"); result = new BigDecimal("5"); harness.check(a.divideToIntegralValue(b), result); a = a.negate(); b = b.negate(); result = new BigDecimal("5"); harness.check(a.divideToIntegralValue(b), result); b = b.negate(); result = new BigDecimal("-5"); harness.check(a.divideToIntegralValue(b), result); harness.checkPoint("rounding to one"); a = new BigDecimal("1000000000000000000"); b = new BigDecimal("1000000000000000000"); result = new BigDecimal("1"); harness.check(a.divideToIntegralValue(b), result); a = a.negate(); b = b.negate(); result = new BigDecimal("1"); harness.check(a.divideToIntegralValue(b), result); b = b.negate(); result = new BigDecimal("-1"); harness.check(a.divideToIntegralValue(b), result); harness.checkPoint("rounding to zero"); a = new BigDecimal("10"); b = new BigDecimal("20"); result = new BigDecimal("0"); harness.check(a.divideToIntegralValue(b), result); a = a.negate(); b = b.negate(); result = new BigDecimal("0"); harness.check(a.divideToIntegralValue(b), result); b = b.negate(); result = new BigDecimal("0"); harness.check(a.divideToIntegralValue(b), result); harness.checkPoint("rounding after division"); a = new BigDecimal("20.9"); b = new BigDecimal("10.1"); result = new BigDecimal("2"); harness.check(a.divideToIntegralValue(b), result); a = a.negate(); b = b.negate(); result = new BigDecimal("2"); harness.check(a.divideToIntegralValue(b), result); b = b.negate(); result = new BigDecimal("-2"); harness.check(a.divideToIntegralValue(b), result); harness.checkPoint("rounding after division"); a = new BigDecimal("20.1"); b = new BigDecimal("10.9"); result = new BigDecimal("1"); harness.check(a.divideToIntegralValue(b), result); a = a.negate(); b = b.negate(); result = new BigDecimal("1"); harness.check(a.divideToIntegralValue(b), result); b = b.negate(); result = new BigDecimal("-1"); harness.check(a.divideToIntegralValue(b), result); harness.checkPoint("basic tests"); a = new BigDecimal("10"); b = new BigDecimal("2"); result = new BigDecimal("5"); harness.check(a.divideToIntegralValue(b, new MathContext(0)), result); a = a.negate(); b = b.negate(); result = new BigDecimal("5"); harness.check(a.divideToIntegralValue(b, new MathContext(0)), result); b = b.negate(); result = new BigDecimal("-5"); harness.check(a.divideToIntegralValue(b, new MathContext(0)), result); harness.checkPoint("rounding to one"); a = new BigDecimal("1000000000000000000"); b = new BigDecimal("1000000000000000000"); result = new BigDecimal("1"); harness.check(a.divideToIntegralValue(b, new MathContext(0)), result); a = a.negate(); b = b.negate(); result = new BigDecimal("1"); harness.check(a.divideToIntegralValue(b, new MathContext(0)), result); b = b.negate(); result = new BigDecimal("-1"); harness.check(a.divideToIntegralValue(b, new MathContext(0)), result); harness.checkPoint("rounding to zero"); a = new BigDecimal("10"); b = new BigDecimal("20"); result = new BigDecimal("0"); harness.check(a.divideToIntegralValue(b, new MathContext(0)), result); a = a.negate(); b = b.negate(); result = new BigDecimal("0"); harness.check(a.divideToIntegralValue(b, new MathContext(0)), result); b = b.negate(); result = new BigDecimal("0"); harness.check(a.divideToIntegralValue(b, new MathContext(0)), result); harness.checkPoint("rounding after division"); a = new BigDecimal("20.9"); b = new BigDecimal("10.1"); result = new BigDecimal("2"); harness.check(a.divideToIntegralValue(b, new MathContext(0)), result); a = a.negate(); b = b.negate(); result = new BigDecimal("2"); harness.check(a.divideToIntegralValue(b, new MathContext(0)), result); b = b.negate(); result = new BigDecimal("-2"); harness.check(a.divideToIntegralValue(b, new MathContext(0)), result); harness.checkPoint("rounding after division"); a = new BigDecimal("20.1"); b = new BigDecimal("10.9"); result = new BigDecimal("1"); harness.check(a.divideToIntegralValue(b, new MathContext(0)), result); a = a.negate(); b = b.negate(); result = new BigDecimal("1"); harness.check(a.divideToIntegralValue(b, new MathContext(0)), result); b = b.negate(); result = new BigDecimal("-1"); harness.check(a.divideToIntegralValue(b, new MathContext(0)), result); } } mauve-20140821/gnu/testlet/java/math/BigDecimal/byteValueExact.java0000644000175000001440000000563311705027156023657 0ustar dokousers// Test of the method BigDecimal.byteValueExact() // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.5 package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Check for method BigDecimal.byteValueExact() */ public class byteValueExact implements Testlet { /** * Entry point to this test. */ public void test(TestHarness harness) { // simple conversions harness.check((0) == (new BigDecimal("0")).byteValueExact()); harness.check((1) == (new BigDecimal("1")).byteValueExact()); harness.check((99) == (new BigDecimal("99")).byteValueExact()); harness.check((100) == (new BigDecimal("100")).byteValueExact()); harness.check((-127)== (new BigDecimal("-127")).byteValueExact()); harness.check((127) == (new BigDecimal("127")).byteValueExact()); harness.check((-128)== (new BigDecimal("-128")).byteValueExact()); harness.check((0) == (new BigDecimal(".0")).byteValueExact()); harness.check((1) == (new BigDecimal("1.0")).byteValueExact()); harness.check((99) == (new BigDecimal("99.0")).byteValueExact()); harness.check((100) == (new BigDecimal("100.0")).byteValueExact()); harness.check((-127)== (new BigDecimal("-127.0")).byteValueExact()); harness.check((127) == (new BigDecimal("127.0")).byteValueExact()); harness.check((-128)== (new BigDecimal("-128.0")).byteValueExact()); // overflow/underflow testException(harness, "255"); testException(harness, "256"); testException(harness, "65535"); testException(harness, "65536"); testException(harness, "128"); testException(harness, "129"); testException(harness, "130"); // truncation testException(harness, "100.1"); testException(harness, "100.9"); } /** * Check if exception is thrown during exact conversion to a byte. */ private void testException(TestHarness harness, String numberStr) { try { new BigDecimal(numberStr).byteValueExact(); harness.fail("ArithmeticException not thrown as expected for the number: " + numberStr + "!"); } catch (ArithmeticException e) { // ok } } } mauve-20140821/gnu/testlet/java/math/BigDecimal/compareTo.java0000644000175000001440000001004510366146057022660 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2006 Free Software Foundation, Inc. // Contributed by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class compareTo implements Testlet { public void test (TestHarness harness) { BigDecimal a, b; a = new BigDecimal("0.1"); b = new BigDecimal("0.01"); harness.check(a.compareTo(b), 1); harness.check(b.compareTo(a), -1); a = new BigDecimal("10.1"); b = new BigDecimal("10.01"); harness.check(a.compareTo(b), 1); harness.check(b.compareTo(a), -1); a = new BigDecimal("10.10"); b = new BigDecimal("10.01"); harness.check(a.compareTo(b), 1); harness.check(b.compareTo(a), -1); a = new BigDecimal("10.10"); b = new BigDecimal("10.010"); harness.check(a.compareTo(b), 1); harness.check(b.compareTo(a), -1); a = new BigDecimal("10.100"); b = new BigDecimal("10.010"); harness.check(a.compareTo(b), 1); harness.check(b.compareTo(a), -1); a = new BigDecimal("10.100"); b = new BigDecimal("10.01"); harness.check(a.compareTo(b), 1); harness.check(b.compareTo(a), -1); a = new BigDecimal("010.100"); b = new BigDecimal("10.01"); harness.check(a.compareTo(b), 1); harness.check(b.compareTo(a), -1); a = new BigDecimal("010.100"); b = new BigDecimal("010.01"); harness.check(a.compareTo(b), 1); harness.check(b.compareTo(a), -1); a = new BigDecimal("10.100"); b = new BigDecimal("010.01"); harness.check(a.compareTo(b), 1); harness.check(b.compareTo(a), -1); a = new BigDecimal("0.10"); b = new BigDecimal("0.10"); harness.check(a.compareTo(b), 0); harness.check(b.compareTo(a), 0); a = new BigDecimal("0.1"); b = new BigDecimal("0.10"); harness.check(a.compareTo(b), 0); harness.check(b.compareTo(a), 0); a = new BigDecimal("0.1"); b = new BigDecimal("0.100"); harness.check(a.compareTo(b), 0); harness.check(b.compareTo(a), 0); a = new BigDecimal("0.10"); b = new BigDecimal("0.100"); harness.check(a.compareTo(b), 0); harness.check(b.compareTo(a), 0); a = new BigDecimal("10.10"); b = new BigDecimal("10.10"); harness.check(a.compareTo(b), 0); harness.check(b.compareTo(a), 0); a = new BigDecimal("10.100"); b = new BigDecimal("10.10"); harness.check(a.compareTo(b), 0); harness.check(b.compareTo(a), 0); a = new BigDecimal("10.101"); b = new BigDecimal("10.10"); harness.check(a.compareTo(b), 1); harness.check(b.compareTo(a), -1); a = new BigDecimal("10.001"); b = new BigDecimal("10.10"); harness.check(a.compareTo(b), -1); harness.check(b.compareTo(a), 1); a = new BigDecimal("10.001"); b = new BigDecimal("10.010"); harness.check(a.compareTo(b), -1); harness.check(b.compareTo(a), 1); a = new BigDecimal("10.0010"); b = new BigDecimal("10.010"); harness.check(a.compareTo(b), -1); harness.check(b.compareTo(a), 1); a = new BigDecimal("10.0010"); b = new BigDecimal("10.0100"); harness.check(a.compareTo(b), -1); harness.check(b.compareTo(a), 1); a = new BigDecimal("10.0010"); b = new BigDecimal("10.01000"); harness.check(a.compareTo(b), -1); harness.check(b.compareTo(a), 1); } } mauve-20140821/gnu/testlet/java/math/BigDecimal/constructorInt.java0000644000175000001440000000622011701337062023757 0ustar dokousers// Test of BigDecimal constructors. // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.5 package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import java.math.MathContext; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test if instance of BigDecimal class could be created * directly from an int value. */ public class constructorInt implements Testlet { /** * int values used as a parameter passed to constructors. */ private static final int INT_VALUE_1 = 0; private static final int INT_VALUE_2 = -0; private static final int INT_VALUE_3 = 1; private static final int INT_VALUE_4 = -1; private static final int INT_VALUE_5 = Integer.MAX_VALUE; private static final int INT_VALUE_6 = Integer.MIN_VALUE; /** * Entry point to this test. */ public void test(TestHarness harness) { test1(harness); test2(harness); } /** * Constructor BigDecimal(int) */ public void test1(TestHarness harness) { harness.checkPoint("constructor BigDecimal(int)"); try { harness.check(new BigDecimal(INT_VALUE_1).toString (), "0"); harness.check(new BigDecimal(INT_VALUE_2).toString (), "0"); harness.check(new BigDecimal(INT_VALUE_3).toString (), "1"); harness.check(new BigDecimal(INT_VALUE_4).toString (), "-1"); harness.check(new BigDecimal(INT_VALUE_5).toString (), "2147483647"); harness.check(new BigDecimal(INT_VALUE_6).toString (), "-2147483648"); } catch (Exception e) { harness.fail("Exception should not be thrown here." + e); } } /** * Constructor BigDecimal(int, MathContext) */ public void test2(TestHarness harness) { harness.checkPoint("constructor BigDecimal(int, MathContext)"); try { harness.check(new BigDecimal(INT_VALUE_1, MathContext.UNLIMITED).toString (), "0"); harness.check(new BigDecimal(INT_VALUE_2, MathContext.UNLIMITED).toString (), "0"); harness.check(new BigDecimal(INT_VALUE_3, MathContext.UNLIMITED).toString (), "1"); harness.check(new BigDecimal(INT_VALUE_4, MathContext.UNLIMITED).toString (), "-1"); harness.check(new BigDecimal(INT_VALUE_5, MathContext.UNLIMITED).toString (), "2147483647"); harness.check(new BigDecimal(INT_VALUE_6, MathContext.UNLIMITED).toString (), "-2147483648"); } catch (Exception e) { harness.fail("Exception should not be thrown here." + e); } } } mauve-20140821/gnu/testlet/java/math/BigDecimal/constructorDouble.java0000644000175000001440000000766011701603367024454 0ustar dokousers// Test of BigDecimal constructors. // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.5 package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import java.math.MathContext; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test if instance of BigDecimal class could be created * directly from a double value. */ public class constructorDouble implements Testlet { /** * Double values used as a parameter passed to constructors. */ private static final double DOUBLE_VALUE_1 = .0; private static final double DOUBLE_VALUE_2 = -.0; private static final double DOUBLE_VALUE_3 = 10.0; private static final double DOUBLE_VALUE_4 = -10.0; private static final double DOUBLE_VALUE_5 = 10000000000.0; private static final double DOUBLE_VALUE_6 = -10000000000.0; /** * Converting following values should cause NumberFormatException to be thrown. */ private static final double DOUBLE_VALUE_NAN = Double.NaN; /** * Entry point to this test. */ public void test(TestHarness harness) { test1(harness); test2(harness); } /** * Constructor BigDecimal(double) */ public void test1(TestHarness harness) { harness.checkPoint("constructor BigDecimal(double)"); try { harness.check(new BigDecimal(DOUBLE_VALUE_1).toString (), "0"); harness.check(new BigDecimal(DOUBLE_VALUE_2).toString (), "0"); harness.check(new BigDecimal(DOUBLE_VALUE_3).toString (), "10"); harness.check(new BigDecimal(DOUBLE_VALUE_4).toString (), "-10"); harness.check(new BigDecimal(DOUBLE_VALUE_5).toString (), "10000000000"); harness.check(new BigDecimal(DOUBLE_VALUE_6).toString (), "-10000000000"); } catch (Exception e) { harness.fail("Exception should not be thrown here." + e); } try { harness.check(new BigDecimal(DOUBLE_VALUE_NAN).toString(), ""); harness.fail("NumberFormatException not thrown as expected"); } catch (NumberFormatException e) { // ok, we assume that this exception occured here } } /** * Constructor BigDecimal(double, MathContext) */ public void test2(TestHarness harness) { harness.checkPoint("constructor BigDecimal(double, MathContext)"); try { harness.check(new BigDecimal(DOUBLE_VALUE_1, MathContext.UNLIMITED).toString (), "0"); harness.check(new BigDecimal(DOUBLE_VALUE_2, MathContext.UNLIMITED).toString (), "0"); harness.check(new BigDecimal(DOUBLE_VALUE_3, MathContext.UNLIMITED).toString (), "10"); harness.check(new BigDecimal(DOUBLE_VALUE_4, MathContext.UNLIMITED).toString (), "-10"); harness.check(new BigDecimal(DOUBLE_VALUE_5, MathContext.UNLIMITED).toString (), "10000000000"); harness.check(new BigDecimal(DOUBLE_VALUE_6, MathContext.UNLIMITED).toString (), "-10000000000"); } catch (Exception e) { harness.fail("Exception should not be thrown here." + e); } try { harness.check(new BigDecimal(DOUBLE_VALUE_NAN, MathContext.UNLIMITED).toString(), ""); harness.fail("NumberFormatException not thrown as expected"); } catch (NumberFormatException e) { // ok, we assume that this exception occured here } } } mauve-20140821/gnu/testlet/java/math/BigDecimal/divideMathContext.java0000644000175000001440000000713211710263262024345 0ustar dokousers// Test of the method BigDecimal.divideMathContext() // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // // Tags: JDK1.5 package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import java.math.MathContext; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Check for method BigDecimal.divideMathContext() */ public class divideMathContext implements Testlet { public void test (TestHarness harness) { BigDecimal a = new BigDecimal("0"); BigDecimal b = a; BigDecimal result; harness.checkPoint("basic tests"); a = new BigDecimal("10"); b = new BigDecimal("2"); result = new BigDecimal("5"); harness.check(a.divide(b, new MathContext(0)), result); a = a.negate(); b = b.negate(); result = new BigDecimal("5"); harness.check(a.divide(b, new MathContext(0)), result); b = b.negate(); result = new BigDecimal("-5"); harness.check(a.divide(b, new MathContext(0)), result); harness.checkPoint("rounding to one"); a = new BigDecimal("1000000000000000000"); b = new BigDecimal("1000000000000000000"); result = new BigDecimal("1"); harness.check(a.divide(b, new MathContext(0)), result); a = a.negate(); b = b.negate(); result = new BigDecimal("1"); harness.check(a.divide(b, new MathContext(0)), result); b = b.negate(); result = new BigDecimal("-1"); harness.check(a.divide(b, new MathContext(0)), result); harness.checkPoint("rounding to zero"); a = new BigDecimal("10"); b = new BigDecimal("20"); result = new BigDecimal("0.5"); harness.check(a.divide(b, new MathContext(0)), result); a = a.negate(); b = b.negate(); result = new BigDecimal("0.5"); harness.check(a.divide(b, new MathContext(0)), result); b = b.negate(); result = new BigDecimal("-0.5"); harness.check(a.divide(b, new MathContext(0)), result); harness.checkPoint("rounding with division"); a = new BigDecimal("20.9"); b = new BigDecimal("10.1"); result = new BigDecimal("2"); try { a.divide(b, new MathContext(0)); harness.fail("ArithmeticException not thrown as expected"); } catch (ArithmeticException e) { // ok } harness.checkPoint("rounding with division "); a = new BigDecimal("20.1"); b = new BigDecimal("10.9"); result = new BigDecimal("2"); try { a.divide(b, new MathContext(0)); harness.fail("ArithmeticException not thrown as expected"); } catch (ArithmeticException e) { // ok } harness.checkPoint("rounding with division "); a = new BigDecimal("20.000000000000000000001"); b = new BigDecimal("10.000000000000000000001"); result = new BigDecimal("2"); try { a.divide(b, new MathContext(0)); harness.fail("ArithmeticException not thrown as expected"); } catch (ArithmeticException e) { // ok } } } mauve-20140821/gnu/testlet/java/math/BigDecimal/hashCode.java0000644000175000001440000000530011705027156022437 0ustar dokousers// Test of BigDecimal method hashCode(). // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.4 package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import java.math.BigInteger; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test the method BigDecimal.hashCode(); * Partially based on test compareTo(BigDecimal) */ public class hashCode implements Testlet { /** * Entry point to this test. */ public void test(TestHarness harness) { positiveTest(harness); negativeTest(harness); } /** * Positive test for method BigDecimal.hashCode() */ public void positiveTest(TestHarness harness) { BigDecimal a, b; a = new BigDecimal("0"); b = new BigDecimal("0"); harness.check(a.hashCode(), b.hashCode()); a = BigDecimal.ZERO; b = new BigDecimal("0"); harness.check(a.hashCode(), b.hashCode()); a = BigDecimal.ZERO; b = new BigDecimal(0); harness.check(a.hashCode(), b.hashCode()); a = new BigDecimal("1"); b = new BigDecimal("1"); harness.check(a.hashCode(), b.hashCode()); a = BigDecimal.ONE; b = new BigDecimal("1"); harness.check(a.hashCode(), b.hashCode()); a = BigDecimal.ONE; b = new BigDecimal(1); harness.check(a.hashCode(), b.hashCode()); a = new BigDecimal("0.1"); b = new BigDecimal("0.1"); harness.check(a.hashCode(), b.hashCode()); a = new BigDecimal(10); b = BigDecimal.TEN; harness.check(a.hashCode(), b.hashCode()); } /** * Negative test for method BigDecimal.hashCode() */ public void negativeTest(TestHarness harness) { BigDecimal a, b; a = new BigDecimal("0.1"); b = new BigDecimal("0.10"); harness.check(a.hashCode() != b.hashCode()); a = new BigDecimal("10.0"); b = BigDecimal.TEN; harness.check(a.hashCode() != b.hashCode()); a = new BigDecimal("10.0"); b = new BigDecimal("10.00"); harness.check(a.hashCode() != b.hashCode()); } } mauve-20140821/gnu/testlet/java/math/BigDecimal/pow.java0000644000175000001440000001234311724170542021532 0ustar dokousers// Test of the method BigDecimal.pow() // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // // Tags: JDK1.5 package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import java.math.MathContext; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Check for method BigDecimal.pow() */ public class pow implements Testlet { class TestCase { public String input; public int power; public String output; public TestCase(String input, int power, String output) { this.input = input; this.power = power; this.output = output; } }; /** * Entry point to this test. */ public void test(TestHarness harness) { test1(harness); test2(harness, new MathContext(0)); test3(harness, new MathContext(1)); test4(harness); } /** * Basic tests */ private void test1(TestHarness harness) { TestCase[] testCases = new TestCase[] { new TestCase("0", 0, "1"), new TestCase("1", 0, "1"), new TestCase("0", 1, "0"), new TestCase("2", 2, "4"), new TestCase("2", 2, "4"), new TestCase("2.", 2, "4"), new TestCase("2.0", 2, "4.00"), new TestCase("2.00", 2, "4.0000"), new TestCase("2.000", 2, "4.000000"), new TestCase("-0", 0, "1"), new TestCase("-1", 0, "1"), new TestCase("-0", 1, "0"), new TestCase("-2", 2, "4"), new TestCase("-2", 2, "4"), new TestCase("-2.", 2, "4"), new TestCase("-2.0", 2, "4.00"), new TestCase("-2.00", 2, "4.0000"), new TestCase("-2.000", 2, "4.000000"), }; for (int i = 0; i < testCases.length; i++) { TestCase testCase = testCases[i]; // System.out.println(testCase.input + "\t" + testCase.power + "\t" + new BigDecimal(testCase.input).pow(testCase.power).toString()); harness.check(((new BigDecimal(testCase.input)).pow(testCase.power).toString()).equals(testCase.output)); } } /** * Tests using MathContext */ private void test2(TestHarness harness, MathContext mathContext) { TestCase[] testCases = new TestCase[] { new TestCase("0", 0, "1"), new TestCase("1", 0, "1"), new TestCase("0", 1, "0"), new TestCase("2", 2, "4"), new TestCase("2", 2, "4"), new TestCase("2.", 2, "4"), new TestCase("2.0", 2, "4.00"), new TestCase("2.00", 2, "4.0000"), new TestCase("2.000", 2, "4.000000"), new TestCase("-0", 0, "1"), new TestCase("-1", 0, "1"), new TestCase("-0", 1, "0"), new TestCase("-2", 2, "4"), new TestCase("-2", 2, "4"), new TestCase("-2.", 2, "4"), new TestCase("-2.0", 2, "4.00"), new TestCase("-2.00", 2, "4.0000"), new TestCase("-2.000", 2, "4.000000"), }; for (int i = 0; i < testCases.length; i++) { TestCase testCase = testCases[i]; // System.out.println(testCase.input + "\t" + testCase.power + "\t" + new BigDecimal(testCase.input).pow(testCase.power).toString()); harness.check(((new BigDecimal(testCase.input)).pow(testCase.power).toString()).equals(testCase.output)); } } /** * Tests using MathContext */ private void test3(TestHarness harness, MathContext mathContext) { TestCase[] testCases = new TestCase[] { new TestCase("0", 0, "1"), new TestCase("1", 0, "1"), new TestCase("0", 1, "0"), new TestCase("2", 2, "4"), new TestCase("2", 2, "4"), new TestCase("2.", 2, "4"), new TestCase("2.0", 2, "4.00"), new TestCase("2.00", 2, "4.0000"), new TestCase("2.000", 2, "4.000000"), new TestCase("-0", 0, "1"), new TestCase("-1", 0, "1"), new TestCase("-0", 1, "0"), new TestCase("-2", 2, "4"), new TestCase("-2", 2, "4"), new TestCase("-2.", 2, "4"), new TestCase("-2.0", 2, "4.00"), new TestCase("-2.00", 2, "4.0000"), new TestCase("-2.000", 2, "4.000000"), }; for (int i = 0; i < testCases.length; i++) { TestCase testCase = testCases[i]; // System.out.println(testCase.input + "\t" + testCase.power + "\t" + new BigDecimal(testCase.input).pow(testCase.power).toString()); harness.check(((new BigDecimal(testCase.input)).pow(testCase.power).toString()).equals(testCase.output)); } } /** * Various MathContext usage */ private void test4(TestHarness harness) { harness.check(((new BigDecimal("2000000")).pow(1, new MathContext(0)).toString()).equals("2000000")); harness.check(((new BigDecimal("2000000")).pow(-2, new MathContext(1)).toString()).equals("3E-13")); } } mauve-20140821/gnu/testlet/java/math/BigDecimal/precision.java0000644000175000001440000000436011705027156022721 0ustar dokousers// Test of BigDecimal method precision(). // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.5 package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import java.math.BigInteger; import java.math.MathContext; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test the method BigDecimal.precision(). */ public class precision implements Testlet { /** * Entry point to this test. */ public void test(TestHarness harness) { harness.check(new BigDecimal(0).precision(), 1); harness.check(BigDecimal.ZERO.precision(), 1); harness.check(BigDecimal.ONE.precision(), 1); harness.check(BigDecimal.TEN.precision(), 2); harness.check(new BigDecimal("1").precision(), 1); harness.check(new BigDecimal("1.").precision(), 1); harness.check(new BigDecimal("0.1").precision(), 1); harness.check(new BigDecimal(".1").precision(), 1); harness.check(new BigDecimal("10").precision(), 2); harness.check(new BigDecimal("100").precision(), 3); harness.check(new BigDecimal("1000").precision(), 4); harness.check(new BigDecimal("0.001").precision(), 1); harness.check(new BigDecimal(".001").precision(), 1); harness.check(new BigDecimal("1.1").precision(), 2); harness.check(new BigDecimal("1.01").precision(), 3); harness.check(new BigDecimal("1.001").precision(), 4); harness.check(new BigDecimal("10.001").precision(), 5); harness.check(new BigDecimal("100.001").precision(), 6); } } mauve-20140821/gnu/testlet/java/math/BigDecimal/abs.java0000644000175000001440000000711611706033745021477 0ustar dokousers// Test of the method BigDecimal.abs() // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // // Tags: JDK1.5 package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import java.math.MathContext; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Check for method BigDecimal.abs() */ public class abs implements Testlet { /** * Entry point to this test. */ public void test(TestHarness harness) { test1(harness); test2(harness, new MathContext(0)); test2(harness, new MathContext(1)); test2(harness, new MathContext(2)); test3(harness); } /** * Basic tests */ private void test1(TestHarness harness) { harness.check(((new BigDecimal("2")).abs().toString()).equals("2")); harness.check(((new BigDecimal("-2")).abs().toString()).equals("2")); harness.check(((new BigDecimal("+0.000")).abs().toString()).equals("0.000")); harness.check(((new BigDecimal("00.000")).abs().toString()).equals("0.000")); harness.check(((new BigDecimal("-0.000")).abs().toString()).equals("0.000")); harness.check(((new BigDecimal("-2000000")).abs().toString()).equals("2000000")); harness.check(((new BigDecimal("0.2")).abs().toString()).equals("0.2")); harness.check(((new BigDecimal("-0.2")).abs().toString()).equals("0.2")); harness.check(((new BigDecimal("0.01")).abs().toString()).equals("0.01")); harness.check(((new BigDecimal("-0.01")).abs().toString()).equals("0.01")); } /** * Tests using MathContext */ private void test2(TestHarness harness, MathContext mathContext) { harness.check(((new BigDecimal("2")).abs(mathContext).toString()).equals("2")); harness.check(((new BigDecimal("-2")).abs(mathContext).toString()).equals("2")); harness.check(((new BigDecimal("+0.000")).abs(mathContext).toString()).equals("0.000")); harness.check(((new BigDecimal("00.000")).abs(mathContext).toString()).equals("0.000")); harness.check(((new BigDecimal("-0.000")).abs(mathContext).toString()).equals("0.000")); harness.check(((new BigDecimal("0.2")).abs(mathContext).toString()).equals("0.2")); harness.check(((new BigDecimal("-0.2")).abs(mathContext).toString()).equals("0.2")); harness.check(((new BigDecimal("0.01")).abs(mathContext).toString()).equals("0.01")); harness.check(((new BigDecimal("-0.01")).abs(mathContext).toString()).equals("0.01")); } /** * Various MathContext usage */ private void test3(TestHarness harness) { harness.check(((new BigDecimal("-2000000")).abs(new MathContext(0)).toString()).equals("2000000")); harness.check(((new BigDecimal("-2000000")).abs(new MathContext(1)).toString()).equals("2E+6")); harness.check(((new BigDecimal("-2000000")).abs(new MathContext(2)).toString()).equals("2.0E+6")); harness.check(((new BigDecimal("-2000000")).abs(new MathContext(3)).toString()).equals("2.00E+6")); } } mauve-20140821/gnu/testlet/java/math/BigDecimal/divideRoundingMode.java0000644000175000001440000000707511710263262024507 0ustar dokousers// Test of the method BigDecimal.divide(BigDecimal,RoundingMode) // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // // Tags: JDK1.5 package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import java.math.RoundingMode; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Check for method BigDecimal.divide(BigDecimal,RoundingMode) */ public class divideRoundingMode implements Testlet { public void test (TestHarness harness) { BigDecimal a; BigDecimal b; BigDecimal result; harness.checkPoint("basic tests"); a = new BigDecimal("10"); b = new BigDecimal("3"); result = new BigDecimal("4"); harness.check(a.divide(b, RoundingMode.UP), result); result = new BigDecimal("3"); harness.check(a.divide(b, RoundingMode.DOWN), result); result = new BigDecimal("4"); harness.check(a.divide(b, RoundingMode.CEILING), result); result = new BigDecimal("3"); harness.check(a.divide(b, RoundingMode.FLOOR), result); result = new BigDecimal("3"); harness.check(a.divide(b, RoundingMode.HALF_UP), result); result = new BigDecimal("3"); harness.check(a.divide(b, RoundingMode.HALF_DOWN), result); result = new BigDecimal("3"); harness.check(a.divide(b, RoundingMode.HALF_EVEN), result); harness.checkPoint("negative result"); a = new BigDecimal("10"); b = new BigDecimal("-3"); result = new BigDecimal("-4"); harness.check(a.divide(b, RoundingMode.UP), result); result = new BigDecimal("-3"); harness.check(a.divide(b, RoundingMode.DOWN), result); result = new BigDecimal("-3"); harness.check(a.divide(b, RoundingMode.CEILING), result); result = new BigDecimal("-4"); harness.check(a.divide(b, RoundingMode.FLOOR), result); result = new BigDecimal("-3"); harness.check(a.divide(b, RoundingMode.HALF_UP), result); result = new BigDecimal("-3"); harness.check(a.divide(b, RoundingMode.HALF_DOWN), result); result = new BigDecimal("-3"); harness.check(a.divide(b, RoundingMode.HALF_EVEN), result); harness.checkPoint("negative result, second test case"); a = new BigDecimal("-10"); b = new BigDecimal("3"); result = new BigDecimal("-4"); harness.check(a.divide(b, RoundingMode.UP), result); result = new BigDecimal("-3"); harness.check(a.divide(b, RoundingMode.DOWN), result); result = new BigDecimal("-3"); harness.check(a.divide(b, RoundingMode.CEILING), result); result = new BigDecimal("-4"); harness.check(a.divide(b, RoundingMode.FLOOR), result); result = new BigDecimal("-3"); harness.check(a.divide(b, RoundingMode.HALF_UP), result); result = new BigDecimal("-3"); harness.check(a.divide(b, RoundingMode.HALF_DOWN), result); result = new BigDecimal("-3"); harness.check(a.divide(b, RoundingMode.HALF_EVEN), result); } } mauve-20140821/gnu/testlet/java/math/BigDecimal/divide.java0000644000175000001440000004066711706033745022206 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2003 Free Software Foundation, Inc. // Contributed by Mark Wielaard (mark@klomp.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class divide implements Testlet { public void test (TestHarness harness) { BigDecimal a = new BigDecimal("0"); BigDecimal b = a; /* harness.checkPoint("zero / zero"); System.out.println("a: " + a + " b: " + b); System.out.println("a.scale(): " + a.scale()); harness.check(a.divide(b, BigDecimal.ROUND_UP), a); a = new BigDecimal("0.0"); System.out.println("a: " + a + " b: " + b); System.out.println("a.scale(): " + a.scale()); harness.check(a.divide(b, BigDecimal.ROUND_DOWN), a); b = new BigDecimal("0.00"); System.out.println("a: " + a + " b: " + b); System.out.println("b.scale(): " + b.scale()); harness.check(a.divide(b, BigDecimal.ROUND_CEILING), a); */ harness.checkPoint("basic tests"); a = new BigDecimal("10"); b = new BigDecimal("2"); BigDecimal result = new BigDecimal("5"); harness.check(a.divide(b), result); a = a.negate(); b = b.negate(); result = new BigDecimal("5"); harness.check(a.divide(b), result); b = b.negate(); result = new BigDecimal("-5"); harness.check(a.divide(b), result); harness.checkPoint("unrounded zero"); a = new BigDecimal("9"); b = new BigDecimal("-100"); result = new BigDecimal("0"); harness.check(a.divide(b, BigDecimal.ROUND_CEILING), result); result = new BigDecimal("-1"); harness.check(a.divide(b, BigDecimal.ROUND_FLOOR), result); a = a.negate(); b = b.negate(); result = new BigDecimal("0"); harness.check(a.divide(b, BigDecimal.ROUND_CEILING), result); result = new BigDecimal("-1"); harness.check(a.divide(b, BigDecimal.ROUND_FLOOR), result); a = new BigDecimal("66.70"); b = new BigDecimal("2"); result = new BigDecimal("33.35"); harness.checkPoint("66.70 / 2"); harness.check(a.divide(b, BigDecimal.ROUND_UP), result); harness.check(a.divide(b, BigDecimal.ROUND_DOWN), result); harness.check(a.divide(b, BigDecimal.ROUND_CEILING), result); harness.check(a.divide(b, BigDecimal.ROUND_FLOOR), result); harness.check(a.divide(b, BigDecimal.ROUND_HALF_UP), result); harness.check(a.divide(b, BigDecimal.ROUND_HALF_DOWN), result); harness.check(a.divide(b, BigDecimal.ROUND_HALF_EVEN), result); harness.check(a.divide(b, BigDecimal.ROUND_UNNECESSARY), result); result = new BigDecimal("33"); BigDecimal result_up = new BigDecimal("34"); harness.checkPoint("66.70 / 2, scale 0"); harness.check(a.divide(b, 0, BigDecimal.ROUND_UP), result_up); harness.check(a.divide(b, 0, BigDecimal.ROUND_DOWN), result); harness.check(a.divide(b, 0, BigDecimal.ROUND_CEILING), result_up); harness.check(a.divide(b, 0, BigDecimal.ROUND_FLOOR), result); harness.check(a.divide(b, 0, BigDecimal.ROUND_HALF_UP), result); harness.check(a.divide(b, 0, BigDecimal.ROUND_HALF_DOWN), result); harness.check(a.divide(b, 0, BigDecimal.ROUND_HALF_EVEN), result); boolean exception = false; try { a.divide(b, 0, BigDecimal.ROUND_UNNECESSARY); } catch (ArithmeticException ae) { exception = true; } harness.check(exception); result = new BigDecimal("33.3"); result_up = new BigDecimal("33.4"); harness.checkPoint("66.70 / 2, scale 1"); harness.check(a.divide(b, 1, BigDecimal.ROUND_UP), result_up); harness.check(a.divide(b, 1, BigDecimal.ROUND_DOWN), result); harness.check(a.divide(b, 1, BigDecimal.ROUND_CEILING), result_up); harness.check(a.divide(b, 1, BigDecimal.ROUND_FLOOR), result); harness.check(a.divide(b, 1, BigDecimal.ROUND_HALF_UP), result_up); harness.check(a.divide(b, 1, BigDecimal.ROUND_HALF_DOWN), result); harness.check(a.divide(b, 1, BigDecimal.ROUND_HALF_EVEN), result_up); exception = false; try { a.divide(b, 1, BigDecimal.ROUND_UNNECESSARY); } catch (ArithmeticException ae) { exception = true; } harness.check(exception); result = new BigDecimal("33.35"); harness.checkPoint("66.70 / 2, scale 2"); harness.check(a.divide(b, 2, BigDecimal.ROUND_UP), result); harness.check(a.divide(b, 2, BigDecimal.ROUND_DOWN), result); harness.check(a.divide(b, 2, BigDecimal.ROUND_CEILING), result); harness.check(a.divide(b, 2, BigDecimal.ROUND_FLOOR), result); harness.check(a.divide(b, 2, BigDecimal.ROUND_HALF_UP), result); harness.check(a.divide(b, 2, BigDecimal.ROUND_HALF_DOWN), result); harness.check(a.divide(b, 2, BigDecimal.ROUND_HALF_EVEN), result); harness.check(a.divide(b, 2, BigDecimal.ROUND_UNNECESSARY), result); result = new BigDecimal("33.350"); harness.checkPoint("66.70 / 2, scale 3"); harness.check(a.divide(b, 3, BigDecimal.ROUND_UP), result); harness.check(a.divide(b, 3, BigDecimal.ROUND_DOWN), result); harness.check(a.divide(b, 3, BigDecimal.ROUND_CEILING), result); harness.check(a.divide(b, 3, BigDecimal.ROUND_FLOOR), result); harness.check(a.divide(b, 3, BigDecimal.ROUND_HALF_UP), result); harness.check(a.divide(b, 3, BigDecimal.ROUND_HALF_DOWN), result); harness.check(a.divide(b, 3, BigDecimal.ROUND_HALF_EVEN), result); harness.check(a.divide(b, 3, BigDecimal.ROUND_UNNECESSARY), result); a = new BigDecimal("-66.70"); result = new BigDecimal("-33.35"); harness.checkPoint("-66.70 / 2"); harness.check(a.divide(b, BigDecimal.ROUND_UP), result); harness.check(a.divide(b, BigDecimal.ROUND_DOWN), result); harness.check(a.divide(b, BigDecimal.ROUND_CEILING), result); harness.check(a.divide(b, BigDecimal.ROUND_FLOOR), result); harness.check(a.divide(b, BigDecimal.ROUND_HALF_UP), result); harness.check(a.divide(b, BigDecimal.ROUND_HALF_DOWN), result); harness.check(a.divide(b, BigDecimal.ROUND_HALF_EVEN), result); harness.check(a.divide(b, BigDecimal.ROUND_UNNECESSARY), result); result = new BigDecimal("-33"); result_up = new BigDecimal("-34"); harness.checkPoint("-66.70 / 2, scale 0"); harness.check(a.divide(b, 0, BigDecimal.ROUND_UP), result_up); harness.check(a.divide(b, 0, BigDecimal.ROUND_DOWN), result); harness.check(a.divide(b, 0, BigDecimal.ROUND_CEILING), result); harness.check(a.divide(b, 0, BigDecimal.ROUND_FLOOR), result_up); harness.check(a.divide(b, 0, BigDecimal.ROUND_HALF_UP), result); harness.check(a.divide(b, 0, BigDecimal.ROUND_HALF_DOWN), result); harness.check(a.divide(b, 0, BigDecimal.ROUND_HALF_EVEN), result); exception = false; try { a.divide(b, 0, BigDecimal.ROUND_UNNECESSARY); } catch (ArithmeticException ae) { exception = true; } harness.check(exception); result = new BigDecimal("-33.3"); result_up = new BigDecimal("-33.4"); harness.checkPoint("-66.70 / 2, scale 1"); harness.check(a.divide(b, 1, BigDecimal.ROUND_UP), result_up); harness.check(a.divide(b, 1, BigDecimal.ROUND_DOWN), result); harness.check(a.divide(b, 1, BigDecimal.ROUND_CEILING), result); harness.check(a.divide(b, 1, BigDecimal.ROUND_FLOOR), result_up); harness.check(a.divide(b, 1, BigDecimal.ROUND_HALF_UP), result_up); harness.check(a.divide(b, 1, BigDecimal.ROUND_HALF_DOWN), result); harness.check(a.divide(b, 1, BigDecimal.ROUND_HALF_EVEN), result_up); exception = false; try { a.divide(b, 1, BigDecimal.ROUND_UNNECESSARY); } catch (ArithmeticException ae) { exception = true; } harness.check(exception); result = new BigDecimal("-33.35"); harness.checkPoint("-66.70 / 2, scale 2"); harness.check(a.divide(b, 2, BigDecimal.ROUND_UP), result); harness.check(a.divide(b, 2, BigDecimal.ROUND_DOWN), result); harness.check(a.divide(b, 2, BigDecimal.ROUND_CEILING), result); harness.check(a.divide(b, 2, BigDecimal.ROUND_FLOOR), result); harness.check(a.divide(b, 2, BigDecimal.ROUND_HALF_UP), result); harness.check(a.divide(b, 2, BigDecimal.ROUND_HALF_DOWN), result); harness.check(a.divide(b, 2, BigDecimal.ROUND_HALF_EVEN), result); harness.check(a.divide(b, 2, BigDecimal.ROUND_UNNECESSARY), result); result = new BigDecimal("-33.350"); harness.checkPoint("-66.70 / 2, scale 3"); harness.check(a.divide(b, 3, BigDecimal.ROUND_UP), result); harness.check(a.divide(b, 3, BigDecimal.ROUND_DOWN), result); harness.check(a.divide(b, 3, BigDecimal.ROUND_CEILING), result); harness.check(a.divide(b, 3, BigDecimal.ROUND_FLOOR), result); harness.check(a.divide(b, 3, BigDecimal.ROUND_HALF_UP), result); harness.check(a.divide(b, 3, BigDecimal.ROUND_HALF_DOWN), result); harness.check(a.divide(b, 3, BigDecimal.ROUND_HALF_EVEN), result); harness.check(a.divide(b, 3, BigDecimal.ROUND_UNNECESSARY), result); a = new BigDecimal("66.70"); b = new BigDecimal("-2"); result = new BigDecimal("-33.35"); harness.checkPoint("66.70 / -2"); harness.check(a.divide(b, BigDecimal.ROUND_UP), result); harness.check(a.divide(b, BigDecimal.ROUND_DOWN), result); harness.check(a.divide(b, BigDecimal.ROUND_CEILING), result); harness.check(a.divide(b, BigDecimal.ROUND_FLOOR), result); harness.check(a.divide(b, BigDecimal.ROUND_HALF_UP), result); harness.check(a.divide(b, BigDecimal.ROUND_HALF_DOWN), result); harness.check(a.divide(b, BigDecimal.ROUND_HALF_EVEN), result); harness.check(a.divide(b, BigDecimal.ROUND_UNNECESSARY), result); result = new BigDecimal("-33"); result_up = new BigDecimal("-34"); harness.checkPoint("66.70 / -2, scale 0"); harness.check(a.divide(b, 0, BigDecimal.ROUND_UP), result_up); harness.check(a.divide(b, 0, BigDecimal.ROUND_DOWN), result); harness.check(a.divide(b, 0, BigDecimal.ROUND_CEILING), result); harness.check(a.divide(b, 0, BigDecimal.ROUND_FLOOR), result_up); harness.check(a.divide(b, 0, BigDecimal.ROUND_HALF_UP), result); harness.check(a.divide(b, 0, BigDecimal.ROUND_HALF_DOWN), result); harness.check(a.divide(b, 0, BigDecimal.ROUND_HALF_EVEN), result); exception = false; try { a.divide(b, 0, BigDecimal.ROUND_UNNECESSARY); } catch (ArithmeticException ae) { exception = true; } harness.check(exception); result = new BigDecimal("-33.3"); result_up = new BigDecimal("-33.4"); harness.checkPoint("66.70 / -2, scale 1"); harness.check(a.divide(b, 1, BigDecimal.ROUND_UP), result_up); harness.check(a.divide(b, 1, BigDecimal.ROUND_DOWN), result); harness.check(a.divide(b, 1, BigDecimal.ROUND_CEILING), result); harness.check(a.divide(b, 1, BigDecimal.ROUND_FLOOR), result_up); harness.check(a.divide(b, 1, BigDecimal.ROUND_HALF_UP), result_up); harness.check(a.divide(b, 1, BigDecimal.ROUND_HALF_DOWN), result); harness.check(a.divide(b, 1, BigDecimal.ROUND_HALF_EVEN), result_up); exception = false; try { a.divide(b, 1, BigDecimal.ROUND_UNNECESSARY); } catch (ArithmeticException ae) { exception = true; } harness.check(exception); result = new BigDecimal("-33.35"); harness.checkPoint("66.70 / -2, scale 2"); harness.check(a.divide(b, 2, BigDecimal.ROUND_UP), result); harness.check(a.divide(b, 2, BigDecimal.ROUND_DOWN), result); harness.check(a.divide(b, 2, BigDecimal.ROUND_CEILING), result); harness.check(a.divide(b, 2, BigDecimal.ROUND_FLOOR), result); harness.check(a.divide(b, 2, BigDecimal.ROUND_HALF_UP), result); harness.check(a.divide(b, 2, BigDecimal.ROUND_HALF_DOWN), result); harness.check(a.divide(b, 2, BigDecimal.ROUND_HALF_EVEN), result); harness.check(a.divide(b, 2, BigDecimal.ROUND_UNNECESSARY), result); result = new BigDecimal("-33.350"); harness.checkPoint("66.70 / -2, scale 3"); harness.check(a.divide(b, 3, BigDecimal.ROUND_UP), result); harness.check(a.divide(b, 3, BigDecimal.ROUND_DOWN), result); harness.check(a.divide(b, 3, BigDecimal.ROUND_CEILING), result); harness.check(a.divide(b, 3, BigDecimal.ROUND_FLOOR), result); harness.check(a.divide(b, 3, BigDecimal.ROUND_HALF_UP), result); harness.check(a.divide(b, 3, BigDecimal.ROUND_HALF_DOWN), result); harness.check(a.divide(b, 3, BigDecimal.ROUND_HALF_EVEN), result); harness.check(a.divide(b, 3, BigDecimal.ROUND_UNNECESSARY), result); a = new BigDecimal("-66.70"); result = new BigDecimal("33.35"); harness.checkPoint("-66.70 / -2"); harness.check(a.divide(b, BigDecimal.ROUND_UP), result); harness.check(a.divide(b, BigDecimal.ROUND_DOWN), result); harness.check(a.divide(b, BigDecimal.ROUND_CEILING), result); harness.check(a.divide(b, BigDecimal.ROUND_FLOOR), result); harness.check(a.divide(b, BigDecimal.ROUND_HALF_UP), result); harness.check(a.divide(b, BigDecimal.ROUND_HALF_DOWN), result); harness.check(a.divide(b, BigDecimal.ROUND_HALF_EVEN), result); harness.check(a.divide(b, BigDecimal.ROUND_UNNECESSARY), result); result = new BigDecimal("33"); result_up = new BigDecimal("34"); harness.checkPoint("-66.70 / -2, scale 0"); harness.check(a.divide(b, 0, BigDecimal.ROUND_UP), result_up); harness.check(a.divide(b, 0, BigDecimal.ROUND_DOWN), result); harness.check(a.divide(b, 0, BigDecimal.ROUND_CEILING), result_up); harness.check(a.divide(b, 0, BigDecimal.ROUND_FLOOR), result); harness.check(a.divide(b, 0, BigDecimal.ROUND_HALF_UP), result); harness.check(a.divide(b, 0, BigDecimal.ROUND_HALF_DOWN), result); harness.check(a.divide(b, 0, BigDecimal.ROUND_HALF_EVEN), result); exception = false; try { a.divide(b, 0, BigDecimal.ROUND_UNNECESSARY); } catch (ArithmeticException ae) { exception = true; } harness.check(exception); result = new BigDecimal("33.3"); result_up = new BigDecimal("33.4"); harness.checkPoint("-66.70 / -2, scale 1"); harness.check(a.divide(b, 1, BigDecimal.ROUND_UP), result_up); harness.check(a.divide(b, 1, BigDecimal.ROUND_DOWN), result); harness.check(a.divide(b, 1, BigDecimal.ROUND_CEILING), result_up); harness.check(a.divide(b, 1, BigDecimal.ROUND_FLOOR), result); harness.check(a.divide(b, 1, BigDecimal.ROUND_HALF_UP), result_up); harness.check(a.divide(b, 1, BigDecimal.ROUND_HALF_DOWN), result); harness.check(a.divide(b, 1, BigDecimal.ROUND_HALF_EVEN), result_up); exception = false; try { a.divide(b, 1, BigDecimal.ROUND_UNNECESSARY); } catch (ArithmeticException ae) { exception = true; } harness.check(exception); result = new BigDecimal("33.35"); harness.checkPoint("-66.70 / -2, scale 2"); harness.check(a.divide(b, 2, BigDecimal.ROUND_UP), result); harness.check(a.divide(b, 2, BigDecimal.ROUND_DOWN), result); harness.check(a.divide(b, 2, BigDecimal.ROUND_CEILING), result); harness.check(a.divide(b, 2, BigDecimal.ROUND_FLOOR), result); harness.check(a.divide(b, 2, BigDecimal.ROUND_HALF_UP), result); harness.check(a.divide(b, 2, BigDecimal.ROUND_HALF_DOWN), result); harness.check(a.divide(b, 2, BigDecimal.ROUND_HALF_EVEN), result); harness.check(a.divide(b, 2, BigDecimal.ROUND_UNNECESSARY), result); result = new BigDecimal("33.350"); harness.checkPoint("-66.70 / -2, scale 3"); harness.check(a.divide(b, 3, BigDecimal.ROUND_UP), result); harness.check(a.divide(b, 3, BigDecimal.ROUND_DOWN), result); harness.check(a.divide(b, 3, BigDecimal.ROUND_CEILING), result); harness.check(a.divide(b, 3, BigDecimal.ROUND_FLOOR), result); harness.check(a.divide(b, 3, BigDecimal.ROUND_HALF_UP), result); harness.check(a.divide(b, 3, BigDecimal.ROUND_HALF_DOWN), result); harness.check(a.divide(b, 3, BigDecimal.ROUND_HALF_EVEN), result); harness.check(a.divide(b, 3, BigDecimal.ROUND_UNNECESSARY), result); } } mauve-20140821/gnu/testlet/java/math/BigDecimal/toEngineeringString.java0000644000175000001440000001057111705027156024713 0ustar dokousers// Test of the method BigDecimal.toEngineeringString() // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.5 package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test the method BigDecimal.toEngineeringString() */ public class toEngineeringString implements Testlet { /** * Entry point to this test. */ public void test(TestHarness harness) { harness.checkPoint("constructor BigDecimal(BigInteger)"); try { // constant values harness.check(BigDecimal.ZERO.toEngineeringString(), "0"); harness.check(BigDecimal.ONE.toEngineeringString(), "1"); harness.check(BigDecimal.TEN.toEngineeringString(), "10"); // simple positive values harness.check(new BigDecimal(1).toEngineeringString(), "1"); harness.check(new BigDecimal("1").toEngineeringString(), "1"); harness.check(new BigDecimal(10).toEngineeringString(), "10"); harness.check(new BigDecimal(100).toEngineeringString(), "100"); harness.check(new BigDecimal(1000).toEngineeringString(), "1000"); harness.check(new BigDecimal(10000).toEngineeringString(), "10000"); harness.check(new BigDecimal(100000).toEngineeringString(), "100000"); harness.check(new BigDecimal(1).toEngineeringString(), "1"); // negative values harness.check(new BigDecimal("-1").toEngineeringString(), "-1"); harness.check(new BigDecimal(-10).toEngineeringString(), "-10"); harness.check(new BigDecimal(-100).toEngineeringString(), "-100"); harness.check(new BigDecimal(-1000).toEngineeringString(), "-1000"); harness.check(new BigDecimal(-10000).toEngineeringString(), "-10000"); harness.check(new BigDecimal(-100000).toEngineeringString(), "-100000"); // positive values with positive exponents harness.check(new BigDecimal("1e8").toEngineeringString(), "100E+6"); harness.check(new BigDecimal("1e9").toEngineeringString(), "1E+9"); harness.check(new BigDecimal("1e10").toEngineeringString(), "10E+9"); harness.check(new BigDecimal("1e11").toEngineeringString(), "100E+9"); harness.check(new BigDecimal("1e12").toEngineeringString(), "1E+12"); // negative values with positive exponents harness.check(new BigDecimal("-1e8").toEngineeringString(), "-100E+6"); harness.check(new BigDecimal("-1e9").toEngineeringString(), "-1E+9"); harness.check(new BigDecimal("-1e10").toEngineeringString(), "-10E+9"); harness.check(new BigDecimal("-1e11").toEngineeringString(), "-100E+9"); harness.check(new BigDecimal("-1e12").toEngineeringString(), "-1E+12"); // positive values with negative exponents harness.check(new BigDecimal("1e-8").toEngineeringString(), "10E-9"); harness.check(new BigDecimal("1e-9").toEngineeringString(), "1E-9"); harness.check(new BigDecimal("1e-10").toEngineeringString(), "100E-12"); harness.check(new BigDecimal("1e-11").toEngineeringString(), "10E-12"); harness.check(new BigDecimal("1e-12").toEngineeringString(), "1E-12"); // negative values with negative exponents harness.check(new BigDecimal("-1e-8").toEngineeringString(), "-10E-9"); harness.check(new BigDecimal("-1e-9").toEngineeringString(), "-1E-9"); harness.check(new BigDecimal("-1e-10").toEngineeringString(), "-100E-12"); harness.check(new BigDecimal("-1e-11").toEngineeringString(), "-10E-12"); harness.check(new BigDecimal("-1e-12").toEngineeringString(), "-1E-12"); } catch (Exception e) { harness.fail("Exception should not be thrown here." + e); } } } mauve-20140821/gnu/testlet/java/math/BigDecimal/constructorBigInteger.java0000644000175000001440000001135711702606163025255 0ustar dokousers// Test of BigDecimal constructors. // Copyright 2012 Red Hat, Inc. // Written by Pavel Tisnovsky // 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 version 2 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA // Tags: JDK1.5 package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import java.math.BigInteger; import java.math.MathContext; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test if instance of BigDecimal class could be created * directly from an BigInteger value. */ public class constructorBigInteger implements Testlet { /** * Big Integer values used as a parameter passed to constructors. */ private static final BigInteger BIGINT_ZERO = BigInteger.ZERO; private static final BigInteger BIGINT_ONE = BigInteger.valueOf (1); private static final BigInteger BIGINT_TEN = BigInteger.TEN; private static final BigInteger BIGINT_M_ONE = BigInteger.valueOf (-1); private static final BigInteger BIGINT_LONG_VALUE = new BigInteger("123456789000"); /** * Entry point to this test. */ public void test(TestHarness harness) { test1(harness); test2(harness); test3(harness); test4(harness); } /** * Constructor BigDecimal(BigInteger) */ public void test1(TestHarness harness) { harness.checkPoint("constructor BigDecimal(BigInteger)"); try { harness.check(new BigDecimal(BIGINT_ZERO).toString (), "0"); harness.check(new BigDecimal(BIGINT_ONE).toString (), "1"); harness.check(new BigDecimal(BIGINT_TEN).toString (), "10"); harness.check(new BigDecimal(BIGINT_M_ONE).toString (), "-1"); harness.check(new BigDecimal(BIGINT_LONG_VALUE).toString (), "123456789000"); } catch (Exception e) { harness.fail("Exception should not be thrown here." + e); } } /** * Constructor BigDecimal(BigInteger, MathContext) */ public void test2(TestHarness harness) { harness.checkPoint("constructor BigDecimal(BigInteger, MathContext)"); try { harness.check(new BigDecimal(BIGINT_ZERO, MathContext.UNLIMITED).toString (), "0"); harness.check(new BigDecimal(BIGINT_ONE, MathContext.UNLIMITED).toString (), "1"); harness.check(new BigDecimal(BIGINT_TEN, MathContext.UNLIMITED).toString (), "10"); harness.check(new BigDecimal(BIGINT_M_ONE, MathContext.UNLIMITED).toString (), "-1"); harness.check(new BigDecimal(BIGINT_LONG_VALUE, MathContext.UNLIMITED).toString (), "123456789000"); } catch (Exception e) { harness.fail("Exception should not be thrown here." + e); } } /** * Constructor BigDecimal(BigInteger, scale) */ public void test3(TestHarness harness) { harness.checkPoint("constructor BigDecimal(BigInteger, scale)"); try { harness.check(new BigDecimal(BIGINT_ONE, 0).toString (), "1"); harness.check(new BigDecimal(BIGINT_ONE, 1).toString (), "0.1"); harness.check(new BigDecimal(BIGINT_ONE, 4).toString (), "0.0001"); harness.check(new BigDecimal(BIGINT_ONE, 10).toString (), "1E-10"); harness.check(new BigDecimal(BIGINT_ONE, -1).toString (), "1E+1"); harness.check(new BigDecimal(BIGINT_ONE, -2).toString (), "1E+2"); } catch (Exception e) { harness.fail("Exception should not be thrown here." + e); } } /** * Constructor BigDecimal(BigInteger, scale) */ public void test4(TestHarness harness) { harness.checkPoint("constructor BigDecimal(BigInteger, scale, MathContext)"); try { harness.check(new BigDecimal(BIGINT_ONE, 0, MathContext.UNLIMITED).toString (), "1"); harness.check(new BigDecimal(BIGINT_ONE, 1, MathContext.UNLIMITED).toString (), "0.1"); harness.check(new BigDecimal(BIGINT_ONE, 4, MathContext.UNLIMITED).toString (), "0.0001"); harness.check(new BigDecimal(BIGINT_ONE, 10, MathContext.UNLIMITED).toString (), "1E-10"); harness.check(new BigDecimal(BIGINT_ONE, -1, MathContext.UNLIMITED).toString (), "1E+1"); harness.check(new BigDecimal(BIGINT_ONE, -2, MathContext.UNLIMITED).toString (), "1E+2"); } catch (Exception e) { harness.fail("Exception should not be thrown here." + e); } } } mauve-20140821/gnu/testlet/java/math/BigDecimal/setScale.java0000644000175000001440000001045310636017727022476 0ustar dokousers// Test of setScale method of BigDecimal. (PR 1596) /************************************************************************* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.math.BigDecimal; import java.math.BigDecimal; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class setScale implements Testlet { public void test (TestHarness harness) { harness.checkPoint ("newScale"); BigDecimal amount = new BigDecimal ("12.34"); BigDecimal rate = new BigDecimal ("0.06"); BigDecimal result = amount.multiply (rate); try { BigDecimal foo = result.setScale(-1, BigDecimal.ROUND_UNNECESSARY); harness.fail ("Failed to catch ArithmeticException"); } catch (ArithmeticException e) { harness.check (true); } harness.check (result.setScale(0, BigDecimal.ROUND_HALF_UP), new BigDecimal ("1")); harness.check (result.setScale(1, BigDecimal.ROUND_HALF_UP), new BigDecimal ("0.7")); harness.check (result.setScale(2, BigDecimal.ROUND_HALF_UP), new BigDecimal ("0.74")); harness.check (result.setScale(3, BigDecimal.ROUND_HALF_UP), new BigDecimal ("0.740")); harness.check (result.setScale(4, BigDecimal.ROUND_HALF_UP), new BigDecimal ("0.7404")); // setScale testcase from Jerry Quinn harness.checkPoint ("quinn"); BigDecimal x = new BigDecimal("0.20562"); harness.check (x.toString(), "0.20562"); x = x.setScale(2, BigDecimal.ROUND_HALF_EVEN); // to x.xx harness.check (x.toString(), "0.21"); x = new BigDecimal("0.20499"); x = x.setScale(2, BigDecimal.ROUND_HALF_EVEN); harness.check (x.toString(), "0.20"); x = new BigDecimal("0.20500"); x = x.setScale(2, BigDecimal.ROUND_HALF_EVEN); harness.check (x.toString(), "0.20"); x = new BigDecimal("0.20501"); x = x.setScale(2, BigDecimal.ROUND_HALF_EVEN); harness.check (x.toString(), "0.21"); x = new BigDecimal("0.21499"); x = x.setScale(2, BigDecimal.ROUND_HALF_EVEN); harness.check (x.toString(), "0.21"); x = new BigDecimal("0.21500"); x = x.setScale(2, BigDecimal.ROUND_HALF_EVEN); harness.check (x.toString(), "0.22"); x = new BigDecimal("0.21501"); x = x.setScale(2, BigDecimal.ROUND_HALF_EVEN); harness.check (x.toString(), "0.22"); // And now the negative versions. harness.checkPoint ("quinneg"); x = new BigDecimal("-0.20562"); harness.verbose(x.toString()); x = x.setScale(2, BigDecimal.ROUND_HALF_EVEN); // to x.xx harness.check (x.toString(), "-0.21"); x = new BigDecimal("-0.20499"); harness.verbose(x.toString()); x = x.setScale(2, BigDecimal.ROUND_HALF_EVEN); harness.check (x.toString(), "-0.20"); x = new BigDecimal("-0.20500"); harness.verbose(x.toString()); x = x.setScale(2, BigDecimal.ROUND_HALF_EVEN); harness.check (x.toString(), "-0.20"); x = new BigDecimal("-0.20501"); harness.verbose(x.toString()); x = x.setScale(2, BigDecimal.ROUND_HALF_EVEN); harness.check (x.toString(), "-0.21"); x = new BigDecimal("-0.21499"); harness.verbose(x.toString()); x = x.setScale(2, BigDecimal.ROUND_HALF_EVEN); harness.check (x.toString(), "-0.21"); x = new BigDecimal("-0.21500"); harness.verbose(x.toString()); x = x.setScale(2, BigDecimal.ROUND_HALF_EVEN); harness.check (x.toString(), "-0.22"); x = new BigDecimal("-0.21501"); harness.verbose(x.toString()); x = x.setScale(2, BigDecimal.ROUND_HALF_EVEN); harness.check (x.toString(), "-0.22"); } } mauve-20140821/gnu/testlet/java/math/BigInteger/0000755000175000001440000000000012375316426020124 5ustar dokousersmauve-20140821/gnu/testlet/java/math/BigInteger/multiply.java0000644000175000001440000000507410123366570022646 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.math.BigInteger; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.math.BigInteger; /** * Some checks for the multiply() method in the {@link BigInteger} class. */ public class multiply implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // some really simple cases BigInteger p1 = new BigInteger("1"); BigInteger p2 = new BigInteger("2"); BigInteger m1 = new BigInteger("-1"); BigInteger m2 = new BigInteger("-2"); harness.check(p1.multiply(p2).equals(p2)); harness.check(p1.multiply(m2).equals(m2)); harness.check(m1.multiply(p2).equals(m2)); harness.check(m1.multiply(m2).equals(p2)); // some bigger numbers BigInteger bp1 = new BigInteger("12345678901234567890123456789012345678901234567890"); BigInteger bp2 = new BigInteger("987654321098765432198765"); BigInteger bm1 = new BigInteger("-12345678901234567890123456789012345678901234567890"); BigInteger bm2 = new BigInteger("-987654321098765432198765"); BigInteger resultp = new BigInteger("12193263113702179523715891618930089161893008916189178958987793067366655850"); BigInteger resultm = new BigInteger("-12193263113702179523715891618930089161893008916189178958987793067366655850"); harness.check(bp1.multiply(bp2).equals(resultp)); harness.check(bp1.multiply(bm2).equals(resultm)); harness.check(bm1.multiply(bp2).equals(resultm)); harness.check(bm1.multiply(bm2).equals(resultp)); // check null argument boolean pass = false; try { p1.multiply(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/math/BigInteger/serialization.java0000644000175000001440000000445410123366570023645 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2004 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.math.BigInteger; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectInput; import java.io.ObjectInputStream; import java.io.ObjectOutput; import java.io.ObjectOutputStream; import java.math.BigInteger; /** * Some checks for serialization of the {@link BigInteger} class. */ public class serialization implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BigInteger b1 = new BigInteger("-4294967296"); BigInteger b2 = null; try { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); ObjectOutput out = new ObjectOutputStream(buffer); out.writeObject(b1); out.close(); ObjectInput in = new ObjectInputStream( new ByteArrayInputStream(buffer.toByteArray()) ); b2 = (BigInteger) in.readObject(); in.close(); } catch (Exception e) { harness.debug(e); } harness.check(b1.equals(b2)); harness.check(b1.byteValue() == b2.byteValue()); harness.check(b1.shortValue() == b2.shortValue()); harness.check(b1.intValue() == b2.intValue()); harness.check(b1.longValue() == b2.longValue()); // see bug parade 4823171 harness.check(b1.floatValue() == b2.floatValue()); harness.check(b1.doubleValue() == b2.doubleValue()); } } mauve-20140821/gnu/testlet/java/math/BigInteger/equals.java0000644000175000001440000000557110123366570022263 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.math.BigInteger; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.math.BigInteger; /** * Some checks for the equals() method in the {@link BigInteger} class. */ public class equals implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BigInteger a = new BigInteger("-987654321098765432109876543210"); BigInteger b = new BigInteger("-1"); BigInteger c = new BigInteger("0"); BigInteger d = new BigInteger("1"); BigInteger e = new BigInteger("987654321098765432109876543210"); BigInteger aa = new BigInteger("-987654321098765432109876543210"); BigInteger bb = new BigInteger("-1"); BigInteger cc = new BigInteger("0"); BigInteger dd = new BigInteger("1"); BigInteger ee = new BigInteger("987654321098765432109876543210"); harness.check(a.equals(aa)); harness.check(!a.equals(bb)); harness.check(!a.equals(cc)); harness.check(!a.equals(dd)); harness.check(!a.equals(ee)); harness.check(!a.equals(null)); harness.check(!b.equals(aa)); harness.check(b.equals(bb)); harness.check(!b.equals(cc)); harness.check(!b.equals(dd)); harness.check(!b.equals(ee)); harness.check(!b.equals(null)); harness.check(!b.equals(new Integer(-1))); harness.check(!c.equals(aa)); harness.check(!c.equals(bb)); harness.check(c.equals(cc)); harness.check(!c.equals(dd)); harness.check(!c.equals(ee)); harness.check(!c.equals(null)); harness.check(!c.equals(new Integer(0))); harness.check(!d.equals(aa)); harness.check(!d.equals(bb)); harness.check(!d.equals(cc)); harness.check(d.equals(dd)); harness.check(!d.equals(ee)); harness.check(!d.equals(null)); harness.check(!d.equals(new Integer(1))); harness.check(!e.equals(aa)); harness.check(!e.equals(bb)); harness.check(!e.equals(cc)); harness.check(!e.equals(dd)); harness.check(e.equals(ee)); harness.check(!e.equals(null)); } } mauve-20140821/gnu/testlet/java/math/BigInteger/TestOfToByteArray.java0000644000175000001440000000312110635570152024311 0ustar dokousers/* TestOfToByteArray.java Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.math.BigInteger; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.math.BigInteger; import java.util.Arrays; /** * Test case for report in http://gcc.gnu.org/ml/java/2006-08/msg00090.html. */ public class TestOfToByteArray implements Testlet { private static final byte[] BYTES = { 32, 33, 34, 35, 36, 37, 0, 0, 0, 0, 0, 0 }; public void test(TestHarness harness) { harness.checkPoint("TestOfToByteArray"); try { BigInteger x = new BigInteger(BYTES); harness.verbose("*** x = 0x" + x.toString(16)); byte[] ba = x.toByteArray(); harness.check(Arrays.equals(ba, BYTES), true, "Byte arrays MUST be equal"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfToByteArray: " + x); } } } mauve-20140821/gnu/testlet/java/math/BigInteger/toString.java0000644000175000001440000000274510123366570022602 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.math.BigInteger; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.math.BigInteger; /** * Some checks for the toString() method in the {@link BigInteger} class. */ public class toString implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.check(new BigInteger("12345678901234567890").toString().equals("12345678901234567890")); harness.check(new BigInteger("-12345678901234567890").toString().equals("-12345678901234567890")); harness.check(new BigInteger("0").toString().equals("0")); } } mauve-20140821/gnu/testlet/java/math/BigInteger/add.java0000644000175000001440000000377610123366570021526 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.math.BigInteger; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.math.BigInteger; /** * Some checks for the add() method in the {@link BigInteger} class. */ public class add implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // a few simple cases BigInteger i1 = new BigInteger("-1"); BigInteger i2 = new BigInteger("0"); BigInteger i3 = new BigInteger("1"); BigInteger i4 = new BigInteger("2"); harness.check(i1.add(i2).equals(i1)); harness.check(i1.add(i3).equals(i2)); harness.check(i1.add(i4).equals(i3)); harness.check(i3.add(i3).equals(i4)); // some larger numbers BigInteger x = new BigInteger("123456789012345678901234567890"); BigInteger y = new BigInteger("987654321098765432109876543210"); harness.check(x.add(y).equals(new BigInteger("1111111110111111111011111111100"))); // check a null argument boolean pass = false; try { i1.add(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/math/BigInteger/modInverse.java0000644000175000001440000001165607624236246023115 0ustar dokousers// $Id: modInverse.java,v 1.2 2003/02/17 19:48:54 raif Exp $ // // Copyright (C) 2002 Free Software Foundation, Inc. // // This file is part of Mauve. // // Mauve 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 version 2, or (at your option) // any later version. // // Mauve 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.1 package gnu.testlet.java.math.BigInteger; import java.math.BigInteger; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Test of modeInv() and subordinate methods. * * @version $Revision: 1.2 $ */ public class modInverse implements Testlet { private static final BigInteger e = BigInteger.valueOf(65537L); // 0x10001 private BigInteger p, q, phi; private String[] ps = { "c6c93915786185fa7ee88f1983cc8d238cd6c5f7a36416c8be317c3df475277784ae1b87b263b88a84d5bacaf63798474ffe490fa412cb437abe5908efbe41b1", "f2d6323e96c9ad655ab520dccbc5bdf3312dcf4e32858650caa21d7e8c7ed6d13d8bbe166e0ac7cb787ef38bec6c55529f3f93b0d7c9e5ceb5188571699619bf", "e50fce1d57633704798f7b2465ddccebf6e5c9f22a8e3017a39f8de7cb3b78285003dca54bf9c7a2c478add7cfd7cf678b831be1db331f2f3961435c6937a545", "a9782bf45cdb460875a56c89b580df3f959f33e07ea43ec166241c5add827303815ab0131b7e98430038aed9e136b83e1a82d099bb40a26ac9497ef3abb58dfd", // "b668a33af6c9b7b39b0116c4f10c023a1dd26e320da8a4fd5ed16ad3c078353fb3effd729911bc4616e6936b8f431a64e955e994b568f3ce260d00ab78a099f7", "d265038c4fee2f3f87c8a2e15c1fa67dfac4ad5eb78bec468d9df27ffe3224581a2a189f87946a012a228f579abfb0d183e99cd831341af9b750b4582236e15d", "ca911176fce31e4332ec9ada6fa268f6ea1a9a71c81599a77797d74d5c7c48491fafce22428c516d7318c36907aa76df89e92be5ab66b42b25be777640ecc76d", "eb97f1e80a81d9b725dd5708fe7d65ab5339d7a339c703ee73de339fb0f10a4d76bd827536b9f6da49507ee12ca37b8157f8103f3d12a9eb9468576d9b2ef59f" }; private String[] qs = { "bc5e04097e88241c2e9f145a829c158bacb17756b0c6aba175318c4b0b799067a83509dc45fb34c82aa7d3caacc80f1d0013c9bdd24bd52f31f04edfa169ef75", "da554d942ebe105e7a60070bfcaf3953f29ecfd6493aac69c6427a00be66c978515e7222180cc84606bcf7348c8aba0f9b05870cf2ab1c3669199c4316d40669", "ceb5591d98f1e1bfe3095f21a7e7c47d18bfcfbb8e0a1971a13941bd4cc2c861c2ef4b85cdf52b6aaeeb20264456b3c3c2a7f6a52b21eb91276acb3caa3603d1", "d47c206d19142ad870648eb09ca183cf4875f8009d91fcc0e085ac65455caf17ee5e91f2ccb564a88a8d13100faf1c95c6481c1b2e3fb6483f1bcdb2894356ad", // "e5479f61bb2745bef20003071d5355d3f3c67832c4e1db7ffe976c0c02fb28cd126f5cad75b624015ae181e48eed42ec1905509667588371e8e003b8b718984f", "cc36f153789677c45232afdaed78f2a20658f53fcbaa0626f64d0fa29a6f70516420999fee96dca6d232c644b09d1e27cdc0215fcbc4c36a5c493f2e1fed7bb1", "e63821b08b4bcc12e80a3e019f4f424c20aa72b426fc912bb2157569f9ee4422f970bbc4bf75ac05e77e48d436ce980e0646c2ba3eafb9e98aff77e19b59257f", "d8e26d53f31a647889ce845e892b076e578f0a68565005d5d23ed8a4ff8370cbb12cb41854badfe17053db1a94e754ea241ede1d879bff36b75f5fa96eb64927" }; public void test(TestHarness harness) { testRecursion(harness); for (int i = 0; i < ps.length; i++) testCase(harness, i, ps[i], qs[i]); } private void testRecursion(TestHarness harness) { harness.checkPoint("testRecursion"); try { BigInteger k = new BigInteger("1a1eb1e6b8f115eee3dc1334afc7de2f7efbd568", 16); BigInteger q = new BigInteger("de09f1902cf484f232fee5d27262372d1c6072d7", 16); BigInteger t = new BigInteger("a3a790f0b7d2bea3a81dc676032cf99c23c28bee", 16); BigInteger tt = k.modInverse(q); // harness.check(true, "k.modInverse(q)="+tt.toString(16)); harness.check(t.equals(k.modInverse(q)), "recursion ok"); } catch (Exception x) { harness.debug(x); harness.fail(String.valueOf(x)); } } private void testCase(TestHarness harness, int i, String ps, String qs) { harness.checkPoint("modInverse test #"+(i+1)); try { p = new BigInteger(ps, 16); q = new BigInteger(qs, 16); harness.check(p.isProbablePrime(50), "p["+i+"] is probable prime"); harness.check(p.gcd(e).equals(BigInteger.ONE), "gcd(p["+i+"], e) == 1"); harness.check(q.isProbablePrime(50), "q["+i+"] is probable prime"); harness.check(q.gcd(e).equals(BigInteger.ONE), "gcd(q["+i+"], e) == 1"); phi = p.subtract(BigInteger.ONE).multiply(q.subtract(BigInteger.ONE)); e.modInverse(phi); } catch (ArithmeticException x) { harness.debug(x); harness.fail(String.valueOf(x)); } } } mauve-20140821/gnu/testlet/java/math/BigInteger/compareTo.java0000644000175000001440000000554110544512702022714 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.math.BigInteger; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.math.BigInteger; /** * Some checks for the compareTo() method in the {@link BigInteger} class. */ public class compareTo implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BigInteger a = new BigInteger("-987654321098765432109876543210"); BigInteger b = new BigInteger("-1"); BigInteger c = new BigInteger("0"); BigInteger d = new BigInteger("1"); BigInteger e = new BigInteger("987654321098765432109876543210"); harness.check(a.compareTo(a) == 0); harness.check(a.compareTo(b) < 0); harness.check(a.compareTo(c) < 0); harness.check(a.compareTo(d) < 0); harness.check(a.compareTo(e) < 0); harness.check(b.compareTo(a) > 0); harness.check(b.compareTo(b) == 0); harness.check(b.compareTo(c) < 0); harness.check(b.compareTo(d) < 0); harness.check(b.compareTo(e) < 0); harness.check(c.compareTo(a) > 0); harness.check(c.compareTo(b) > 0); harness.check(c.compareTo(c) == 0); harness.check(c.compareTo(d) < 0); harness.check(c.compareTo(e) < 0); harness.check(d.compareTo(a) > 0); harness.check(d.compareTo(b) > 0); harness.check(d.compareTo(c) > 0); harness.check(d.compareTo(d) == 0); harness.check(d.compareTo(e) < 0); harness.check(e.compareTo(a) > 0); harness.check(e.compareTo(b) > 0); harness.check(e.compareTo(c) > 0); harness.check(e.compareTo(d) > 0); harness.check(e.compareTo(e) == 0); // try the compareTo(Object) method boolean pass = false; try { ((Comparable)a).compareTo(new Integer(1)); } catch (ClassCastException ee) { pass = true; } harness.check(pass); // try a null argument pass = false; try { a.compareTo(null); } catch (NullPointerException ee) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/math/BigInteger/shift.java0000644000175000001440000000416307231214130022070 0ustar dokousers// Test of shiftRight and shiftLeft methods of BigInteger. /************************************************************************* /* 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 version 2 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 Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; if not, write to the Free Software Foundation /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA /*************************************************************************/ // Tags: JDK1.1 package gnu.testlet.java.math.BigInteger; import java.math.BigInteger; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class shift implements Testlet { public void test (TestHarness harness) { harness.checkPoint ("shift"); BigInteger x = new BigInteger ("-50123044517898350982301255831878893568", 10); harness.check (x.shiftRight(64).toString(), "-2717175687894652269"); harness.check (x.shiftLeft(-64).toString(), "-2717175687894652269"); harness.check (x.shiftRight(1).toString(), "-25061522258949175491150627915939446784"); harness.check (x.shiftLeft(1).toString(), "-100246089035796701964602511663757787136"); harness.check (x.shiftRight(0).toString(), x.toString()); harness.check (x.shiftLeft(0).toString(), x.toString()); x = new BigInteger ("50123044517898350982301255831878893568", 10); harness.check (x.shiftRight(64).toString(), "2717175687894652268"); harness.check (x.shiftLeft(-64).toString(), "2717175687894652268"); harness.check (x.shiftRight(1).toString(), "25061522258949175491150627915939446784"); harness.check (x.shiftLeft(1).toString(), "100246089035796701964602511663757787136"); } } mauve-20140821/gnu/testlet/java/math/BigInteger/signum.java0000644000175000001440000000322210123366570022262 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.math.BigInteger; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.math.BigInteger; /** * Some checks for the signum() method in the {@link BigInteger} class. */ public class signum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BigInteger a = new BigInteger("-123456789012345678901234567890"); BigInteger b = new BigInteger("-1"); BigInteger c = new BigInteger("0"); BigInteger d = new BigInteger("1"); BigInteger e = new BigInteger("123456789012345678901234567890"); harness.check(a.signum() == -1); harness.check(b.signum() == -1); harness.check(c.signum() == 0); harness.check(d.signum() == 1); harness.check(e.signum() == 1); } } mauve-20140821/gnu/testlet/java/math/BigInteger/valueOf.java0000644000175000001440000000327010123366570022364 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.math.BigInteger; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.math.BigInteger; /** * Some checks for the valueOf() method in the {@link BigInteger} class. */ public class valueOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // can't think of any obvious candidates to test, but... harness.check(BigInteger.valueOf(0).equals(new BigInteger("0"))); harness.check(BigInteger.valueOf(1).equals(new BigInteger("1"))); harness.check(BigInteger.valueOf(-1).equals(new BigInteger("-1"))); harness.check(BigInteger.valueOf(Long.MAX_VALUE).equals(new BigInteger("9223372036854775807"))); harness.check(BigInteger.valueOf(Long.MIN_VALUE).equals(new BigInteger("-9223372036854775808"))); } } mauve-20140821/gnu/testlet/java/math/BigInteger/TestOfPR27372.java0000644000175000001440000001411310476445466023051 0ustar dokousers/* TestOfPR27372.java Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.math.BigInteger; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.math.BigInteger; import java.security.SecureRandom; import java.util.Arrays; /** * Regression test for PR Classpath/27372 */ public class TestOfPR27372 implements Testlet { /** A control value. */ private static final byte[] BYTES = { 0x12, 0x34, 0x56, 0x78 }; /** Set to true if BigInteger is using the GNU MP native code. */ private boolean usingNativeImpl = Arrays.equals(BYTES, new BigInteger(BYTES).toByteArray()); public void test(TestHarness harness) { harness.checkPoint("TestOfPR27372"); SecureRandom prng1, prng2; byte[] ba, bb; try { prng1 = SecureRandom.getInstance("SHA1PRNG"); prng1.setSeed(98243647L); prng2 = SecureRandom.getInstance("SHA1PRNG"); prng2.setSeed(98243647L); // from here on the two PRNGs are in sync. they should consume as // little bytes as possible, and continue to be in sync for (int numBytes = 1; numBytes < 10; numBytes++) { ba = new BigInteger(8 * numBytes, prng1).toByteArray(); bb = new byte[numBytes]; prng2.nextBytes(bb); harness.check(areEqual(ba, bb), "BigInteger(int, Random) SHOULD consume as little " + "bytes as possible from Random (and SecureRandom): " + numBytes); } } catch (Exception x) { harness.debug(x); harness.fail("TestOfPR27372: " + x); } } /** * In both cases --the pure Java implementation, and the native one based on * the GNU MP library-- a BigInteger's toByteArray(), can produce an extra * 0x00 byte as the most significant byte. This method ensures that there * is no more than just one zero-byte at the high end, and then channels the * call to the appropriate are-equal method depending on the type of the * underlying implementation of the MPI. * * @param a the result of a {@link BigInteger#toByteArray()} of an instance * constructed with {@link BigInteger#BigInteger(int, Random)}. * @param b a non-null byte array filled with randomly generated values. * @return true if the two byte arrays contain the same values * taking into consideration how our BigInteger constructs its * internal data structures. */ private boolean areEqual(byte[] a, byte[] b) { int offset = 0; switch (a.length - b.length) { case 0: break; case 1: if (a[0] != 0) return false; offset = 1; break; default: return false; } if (usingNativeImpl) return areEqualNativeBI(a, offset, b); return areEqualJavaBI(a, offset, b); } /** * Special byte array comparison method used to compare the result of * byte[] a = new BigInteger(numBits, random).toByteArray() with * a byte array filled with randomly generated values. *

    * This method takes into consideration how an array of bytes is used to * fill the (pure java) BigInteger's internal data structure. As * an example, here is what the two byte arrays may look like from the * outside: * *

       *   a = 009ECB38BFD4C6
       *   b = CB9EC6D4BF38
       * 
    * * @param a the result of a {@link BigInteger#toByteArray()} of an instance * constructed with {@link BigInteger#BigInteger(int, Random)}. * @param 0 or 1 depending on the value of the * leftmost byte (at index #0) of a. * @param b a non-null byte array filled with randomly generated values. * @return true if the two byte arrays contain the same values * taking into consideration how our BigInteger constructs its * internal data structures. */ private boolean areEqualJavaBI(byte[] a, int offset, byte[] b) { for (int i = b.length - 1, j, k; i >= 0; ) { j = i - 3; if (j < 0) j = 0; for (k = 0; k < 4; k++) { if (a[offset + j++] != b[i--]) return false; if (i < 0) break; } } return true; } /** * Straight equality check, byte-for-byte, of the two designated arrays. The * first starting from either 0 or 1, while the * second always starting from 0. This is used with GMP-based * MPIs. * * @param a the result of a {@link BigInteger#toByteArray()} of an instance * constructed with {@link BigInteger#BigInteger(int, Random)}. * @param 0 or 1 depending on the value of the * leftmost byte (at index #0) of a. * @param b a non-null byte array filled with randomly generated values. * @return true if the two byte arrays contain the same values * taking into consideration how our BigInteger constructs its * internal data structures. */ private boolean areEqualNativeBI(byte[] a, int offset, byte[] b) { for (int i = 0; i < b.length; i++) if (a[offset + i] != b[i]) return false; return true; } } mauve-20140821/gnu/testlet/java/math/BigInteger/abs.java0000644000175000001440000000322410123366570021527 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.math.BigInteger; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.math.BigInteger; /** * Some checks for the abs() method in the {@link BigInteger} class. */ public class abs implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BigInteger a = new BigInteger("-123456789012345678901234567890"); BigInteger b = new BigInteger("-1"); BigInteger c = new BigInteger("0"); BigInteger d = new BigInteger("1"); BigInteger e = new BigInteger("123456789012345678901234567890"); harness.check(a.abs().equals(e)); harness.check(b.abs().equals(d)); harness.check(c.abs().equals(c)); harness.check(d.abs().equals(d)); harness.check(e.abs().equals(e)); } } mauve-20140821/gnu/testlet/java/math/BigInteger/modPow.java0000644000175000001440000000255510435723242022234 0ustar dokousers/* modPow.java -- tests for modPow Copyright (C) 2006 Red Hat, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.1 package gnu.testlet.java.math.BigInteger; import java.math.BigInteger; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class modPow implements Testlet { public void test(TestHarness harness) { BigInteger ten = BigInteger.valueOf(10); BigInteger three = BigInteger.valueOf(3); BigInteger five = BigInteger.valueOf(5); BigInteger minusFive = five.negate(); BigInteger seven = BigInteger.valueOf(7); harness.check(three.modPow(five, ten), three); harness.check(three.modPow(minusFive, ten), seven); harness.check(three.modPow(three.negate(), ten), three); } } mauve-20140821/gnu/testlet/java/math/BigInteger/setBit.java0000644000175000001440000000305510233003115022177 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.math.BigInteger; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.math.BigInteger; /** * Some checks for the setBit() method in the {@link BigInteger} class. */ public class setBit implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BigInteger i1 = new BigInteger("0"); BigInteger i2 = i1.setBit(7); harness.check(i2.equals(new BigInteger("128"))); // check a negative argument boolean pass = false; try { /* BigInteger i = */ i1.setBit(-1); } catch (ArithmeticException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/math/BigInteger/divide.java0000644000175000001440000000641210123366570022230 0ustar dokousers// Tags: JDK1.1 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.java.math.BigInteger; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.math.BigInteger; /** * Some checks for the divide() method in the {@link BigInteger} class. */ public class divide implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // some really simple cases BigInteger p1 = new BigInteger("1"); BigInteger p2 = new BigInteger("2"); BigInteger p3 = new BigInteger("3"); BigInteger p4 = new BigInteger("4"); BigInteger m1 = new BigInteger("-1"); BigInteger m2 = new BigInteger("-2"); BigInteger m3 = new BigInteger("-3"); BigInteger m4 = new BigInteger("-4"); harness.check(p4.divide(p2).equals(p2)); harness.check(m4.divide(p2).equals(m2)); harness.check(p4.divide(m2).equals(m2)); harness.check(m4.divide(m2).equals(p2)); harness.check(p1.divide(p2).equals(BigInteger.ZERO)); harness.check(m1.divide(p2).equals(BigInteger.ZERO)); harness.check(p1.divide(m2).equals(BigInteger.ZERO)); harness.check(m1.divide(m2).equals(BigInteger.ZERO)); harness.check(p3.divide(p2).equals(BigInteger.ONE)); harness.check(m3.divide(p2).equals(BigInteger.ONE.negate())); harness.check(p3.divide(m2).equals(BigInteger.ONE.negate())); harness.check(m3.divide(m2).equals(BigInteger.ONE)); // some bigger numbers BigInteger bp1 = new BigInteger("12345678901234567890123456789012345678901234567890"); BigInteger bp2 = new BigInteger("987654321098765432198765"); BigInteger bm1 = new BigInteger("-12345678901234567890123456789012345678901234567890"); BigInteger bm2 = new BigInteger("-987654321098765432198765"); BigInteger resultp = new BigInteger("12499999886093750000298833"); BigInteger resultm = new BigInteger("-12499999886093750000298833"); harness.check(bp1.divide(bp2).equals(resultp)); harness.check(bm1.divide(bp2).equals(resultm)); harness.check(bp1.divide(bm2).equals(resultm)); harness.check(bm1.divide(bm2).equals(resultp)); // check null argument boolean pass = false; try { p1.divide(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check zero argument pass = false; try { p1.divide(BigInteger.ZERO); } catch (ArithmeticException e) { pass = true; } } } mauve-20140821/gnu/testlet/java/math/BigInteger/ctor.java0000644000175000001440000001246110476445466021751 0ustar dokousers/* ctor.java Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.math.BigInteger; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.math.BigInteger; import java.util.Random; /** * Conformance tests for some of BigInteger constructors. */ public class ctor implements Testlet { public void test(TestHarness harness) { testCtorStringInt(harness); testCtorIntIntRandom(harness); testCtorIntRandom(harness); testCtorByteArray(harness); } private void testCtorStringInt(TestHarness harness) { harness.checkPoint("testCtorStringInt"); String msg; try { msg = "MUST throw NumberFormatException for out-of-range radix"; try { new BigInteger("1234567890123", Character.MIN_RADIX - 1); harness.fail(msg); } catch (NumberFormatException x) { harness.check(true, msg); } try { new BigInteger("1234567890123", Character.MAX_RADIX + 1); harness.fail(msg); } catch (NumberFormatException x) { harness.check(true, msg); } msg = "MUST throw NumberFormatException for malformed string values"; try { new BigInteger(" 1234567890123", 32); harness.fail(msg); } catch (NumberFormatException x) { harness.check(true, msg); } try { new BigInteger("1234567890123 ", 32); harness.fail(msg); } catch (NumberFormatException x) { harness.check(true, msg); } try { new BigInteger("123456789-0123 ", 10); harness.fail(msg); } catch (NumberFormatException x) { harness.check(true, msg); } msg = "MUST throw NumberFormatException for invalid string values"; try { new BigInteger("1ifbyland2ifbysea", 24); harness.fail(msg); } catch (NumberFormatException x) { harness.check(true, msg); } } catch (Exception x) { harness.verbose(x.getMessage()); harness.fail("testCtorStringInt: " + x); } } private void testCtorIntIntRandom(TestHarness harness) { harness.checkPoint("testCtorIntIntRandom"); Random prng = new Random(); BigInteger bi; try { bi = new BigInteger(25, 80, prng); harness.check(bi.bitLength(), 25, "Constructed BigInteger MUST be 25-bit long"); bi = new BigInteger(2, 80, prng); harness.check(bi.bitLength(), 2, "Constructed BigInteger MUST be 2-bit long"); int val = bi.intValue(); harness.check(val == 2 || val == 3, "Constructed BigInteger MUST be 2 or 3"); } catch (Exception x) { harness.verbose(x.getMessage()); harness.fail("testCtorIntIntRandom: " + x); } } private void testCtorIntRandom(TestHarness harness) { harness.checkPoint("testCtorIntRandom"); Random prng = new Random(); BigInteger bi; try { for (int realNumBits, numBits = 8; numBits < 2048; numBits++) { bi = new BigInteger(numBits, prng); realNumBits = bi.bitLength(); if (realNumBits > numBits) harness.fail("Constructed BigInteger has " + realNumBits + " bits when it SHOULD be <= " + numBits); } } catch (Exception x) { harness.verbose(x.getMessage()); harness.fail("testCtorIntRandom: " + x); } harness.check(true, "BigInteger(numBits, prng) MUST generate MPIs shorter " + "than numBits bits"); } private void testCtorByteArray(TestHarness harness) { harness.checkPoint("testCtorByteArray"); BigInteger b1, b2; byte[] ba; long val; try { for (int nValue = -0x8000; nValue < 0x8000; nValue += 8) { b1 = BigInteger.valueOf(nValue); ba = b1.toByteArray(); b2 = new BigInteger(ba); val = b2.longValue(); if (val != nValue) harness.fail("Re-constructed BigInteger long value was expected to be " + nValue + " but was found to be " + val); } } catch (Exception x) { harness.verbose(x.getMessage()); harness.fail("testCtorByteArray: " + x); } harness.check(true, "Re-constructed BigIntegers have expected long values"); } } mauve-20140821/gnu/testlet/java/beans/0000755000175000001440000000000012375316450016241 5ustar dokousersmauve-20140821/gnu/testlet/java/beans/PropertyEditorSupport/0000755000175000001440000000000012375316426022634 5ustar dokousersmauve-20140821/gnu/testlet/java/beans/PropertyEditorSupport/setValue.java0000644000175000001440000001170110141012753025250 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2004 Robert Schuster //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA.package gnu.testlet.java.beans.PropertyEditorSupport; package gnu.testlet.java.beans.PropertyEditorSupport; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.beans.PropertyEditorSupport; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** This test checks whether PropertyEditorSupport.setValue() and its event notification * works as specified. * * These tests have been written as a reaction on classpath's bug #10799 * (http://savannah.gnu.org/bugs/index.php?func=detailitem&item_id=10799). * * @author Robert Schuster */ public class setValue implements Testlet { private boolean nonNullPropertyChanged; private boolean nullPropertyChanged; // declaration is needed for anonymous class access without using 'final' private PropertyEditorSupport pes; public void test(final TestHarness harness) { // for 1.4 compatibility it is needed to subclass PropertyEditorSupport because the constructors are // 'protected' (they are 'public' in 1.5) pes = new PropertyEditorSupport() {}; final Object newValue = "new value"; pes.addPropertyChangeListener(new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent event) { nonNullPropertyChanged = true; // the PropertyEditorSupport instance should be the event source // (according to documentation of its zero argument constructor) harness.check( event.getSource(), pes, "pes1-event-event source"); // the property name for an PropertyEditorSupport object is always null harness.check( event.getPropertyName(), null, "pes1-event-property name"); // according to documentation of PropertyChangeEvent the old and new value should be // null if the property name is null. harness.check( event.getOldValue(), null, "pes1-event-old value"); harness.check( event.getNewValue(), null, "pes1-event-new value"); // at this point the PropertyEditorSupport instance should have been updated to the new value already harness.check(pes.getValue(), newValue, "pes1-new value"); } }); // this method should trigger the calling of anonymous PropertyChangeListener above pes.setValue(newValue); harness.check( nonNullPropertyChanged, "pes1-PropertyChangeListener call"); // creates another PropertyEditorSupport instance for a slightly different test pes = new PropertyEditorSupport() {}; pes.addPropertyChangeListener(new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent event) { nullPropertyChanged = true; // the same as in pes1 tests harness.check( event.getSource(), pes, "pes2-event-event source"); harness.check( event.getPropertyName(), null, "pes2-event-property name"); harness.check( event.getOldValue(), null, "pes2-event-old value"); harness.check( event.getNewValue(), null, "pes2-event-new value"); // the new value should be null, too harness.check(pes.getValue(), null, "pes2-new value"); } }); // changing the PropertyEditorSupport value (which is null at this moment) to null should // cause the PropertyChangeListener to get notified pes.setValue(null); harness.check(nullPropertyChanged, "pes2-PropertyChangeListener call"); } } mauve-20140821/gnu/testlet/java/beans/PropertyEditorSupport/getSource.java0000644000175000001440000000353110142623513025425 0ustar dokousers//Tags: JDK1.5 //Copyright (C) 2004 Robert Schuster //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA.package gnu.testlet.java.beans.PropertyEditorSupport; package gnu.testlet.java.beans.PropertyEditorSupport; import java.beans.PropertyEditorSupport; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Very simple tests that check whether the (event) source of a * PropertyEditorSupport instance is set correctly. * * @author Robert Schuster */ public class getSource implements Testlet { public void test(TestHarness harness) { PropertyEditorSupport pes; pes = new PropertyEditorSupport(); // pes-non argument: using the non-argument form of // PropertyEditorSupport the event source should be the // PropertyEditorSupport instance itself harness.check(pes.getSource(), pes, "pes-non argument"); // pes-single argument: using the single argument constructor of // PropertyEditorSupport the event source should be set to the given // Object instance. Object eventSource = new Object(); pes = new PropertyEditorSupport(eventSource); harness.check(pes.getSource(), eventSource, "pes-single argument"); } } mauve-20140821/gnu/testlet/java/beans/FeatureDescriptor/0000755000175000001440000000000012375316426021676 5ustar dokousersmauve-20140821/gnu/testlet/java/beans/FeatureDescriptor/check.java0000644000175000001440000000431010254412743023605 0ustar dokousers// Written by Robert Schuster // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.2 package gnu.testlet.java.beans.FeatureDescriptor; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.FeatureDescriptor; /** *

    Basic tests for the EventHandler

    */ public class check implements Testlet { public void test (TestHarness harness) { FeatureDescriptor fd = new FeatureDescriptor(); harness.checkPoint("initialization"); // At first everything should be null. harness.check(fd.getName(), null); harness.check(fd.getDisplayName(), null); harness.check(fd.getShortDescription(), null); harness.checkPoint("name set"); fd.setName("foo"); // When only the name is set this will be forwarded to // displayName and shortDescription. harness.check(fd.getName(), "foo"); harness.check(fd.getDisplayName(), "foo"); harness.check(fd.getShortDescription(), "foo"); harness.checkPoint("display name set"); fd.setDisplayName("baz"); // When displayName is set this will be forwarded to // the unset shortDescription. harness.check(fd.getName(), "foo"); harness.check(fd.getDisplayName(), "baz"); harness.check(fd.getShortDescription(), "baz"); harness.checkPoint("short description set"); fd.setShortDescription("bar"); // Finally everything has it's own value. harness.check(fd.getName(), "foo"); harness.check(fd.getDisplayName(), "baz"); harness.check(fd.getShortDescription(), "bar"); } } mauve-20140821/gnu/testlet/java/beans/DesignMode/0000755000175000001440000000000012375316426020262 5ustar dokousersmauve-20140821/gnu/testlet/java/beans/DesignMode/constants.java0000644000175000001440000000221010526772366023141 0ustar dokousers/* constants.java -- checks for the constants in the DesignMode interface. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.beans.DesignMode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.DesignMode; public class constants implements Testlet { public void test(TestHarness harness) { harness.check(DesignMode.PROPERTYNAME, "designTime"); } } mauve-20140821/gnu/testlet/java/beans/Statement/0000755000175000001440000000000012375316426020210 5ustar dokousersmauve-20140821/gnu/testlet/java/beans/Statement/check.java0000644000175000001440000000720410065207163022122 0ustar dokousers// Test Statement.check(). // Written by Jerry Quinn // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.4 // Test features added by JDK 1.4 package gnu.testlet.java.beans.Statement; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.beans.Statement; public class check implements Testlet { public static int x = 0; public static void test1(int y) { x = y; } public class dummy { public String s; public int x; public dummy() { s = ""; x = 5;} public String method(String s) { this.s = s; return this.s + " " + this.x; } public String method(String s, int y) { this.s = s; this.x = y + 1; return this.s + " " + this.x; } public String method1(String s, Integer y) { this.s = s; this.x = y.intValue(); return this.s + " " + this.x; } // public static String method2(String s) // { // return s + "static"; // } } public void test (TestHarness harness) { dummy d = new dummy(); // Check that we can create and execute a statement Object arg1[] = {"test"}; Statement stmt = new Statement(d, "method", arg1); harness.check(stmt != null); harness.check(stmt.getTarget() == d); harness.check(stmt.getMethodName().equals("method")); try { stmt.execute(); } catch (Exception e) { harness.fail("Statement execute"); } harness.check(d.s.equals("test")); harness.check(d.x == 5); // Check that we can create and execute a statement and that a // wrapper class resolves to a method taking a primitive. Object arg2[] = {"test", new Integer(6) }; stmt = new Statement(d, "method", arg2); harness.check(stmt != null); Object stmtArgs[] = stmt.getArguments(); harness.check(stmtArgs.length == arg2.length && stmtArgs[0] == arg2[0] && stmtArgs[1] == arg2[1]); try { stmt.execute(); } catch (Exception e) { harness.fail("Statement execute"); } harness.check(d.s.equals("test")); harness.check(d.x == 7); // Check that we can create and execute a statement for a static method. Object arg3[] = {new Integer(1)}; stmt = new Statement(this, "test1", arg3); try { stmt.execute(); } catch (Exception e) { harness.fail("Static method execute " + e.toString()); } harness.check(x == 1); // Check that we can call get and set on an array object in a statement int iarray[] = {1, 2, 3, 4, 5}; Object arg4[] = { new Integer(2), new Integer(6) }; stmt = new Statement(iarray, "set", arg4); try { stmt.execute(); } catch (Exception e) { harness.fail("Array set"); } Object arg5[] = { new Integer(2) }; stmt = new Statement(iarray, "get", arg5); try { stmt.execute(); } catch (Exception e) { harness.fail("Array get"); } harness.check(iarray[2] == 6); } } mauve-20140821/gnu/testlet/java/beans/EventHandler/0000755000175000001440000000000012375316426020623 5ustar dokousersmauve-20140821/gnu/testlet/java/beans/EventHandler/check14b.java0000644000175000001440000003231510226473260023047 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2005 Robert Schuster //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.java.beans.EventHandler; import java.beans.EventHandler; import java.math.BigInteger; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** *

    This tests more complex behavior of the EventHandler

    */ public class check14b implements Testlet { public interface Listener { void listen(); void listen(Object o); void listen(String m); } public class Event { public boolean isBooleanValue() { return true; } public BigInteger getBigValue() { return new BigInteger("903281390123809123"); } public int getIntValue() { return 0xDEADBEEF; } public Integer getIntegerValue() { return new Integer(0xDEADBEEF); } } public class EventSub extends Event { boolean method = false; boolean property = false; public EventSub getSelf() { method = true; return this; } public EventSub getGetSelf() { property = true; return this; } } public interface Listener2 { // The check. prefix is a workaround for a Jikes bug. public void listen(check14b.Event e); } private boolean noArgMethodCalled; private boolean objectArgMethodCalled; private boolean stringArgMethodCalled; private boolean numberArgMethodCalled; private boolean calledSetter; public void test(TestHarness harness) { Listener l = (Listener) EventHandler.create(Listener.class, this, "targetMethod"); l.listen(); harness.check(noArgMethodCalled, true, "prefer no arg method"); harness.check(objectArgMethodCalled, false); harness.check(stringArgMethodCalled, false); noArgMethodCalled = objectArgMethodCalled = stringArgMethodCalled = false; l.listen(new Object()); harness.check(noArgMethodCalled, true, "prefer no arg method (Object given)"); harness.check(objectArgMethodCalled, false); harness.check(stringArgMethodCalled, false); noArgMethodCalled = objectArgMethodCalled = stringArgMethodCalled = false; l.listen("GNU!"); harness.check(noArgMethodCalled, true, "prefer no arg method (String given)"); harness.check(objectArgMethodCalled, false); harness.check(stringArgMethodCalled, false); noArgMethodCalled = objectArgMethodCalled = stringArgMethodCalled = false; // We try to apply the value from the "eventValue" property of the Event // object to the target object (= this) by using its "value" property. // This tests whether the implementation properly retrieves the 'setValue' // method when it is given as a property name. Listener2 l2 = (Listener2) EventHandler.create(Listener2.class, this, "value", "booleanValue", null); l2.listen(new Event()); harness.check(calledSetter, true, "setter invoked as property"); calledSetter = false; // Now we do the same test but use a subclass of Event. Though the // implementation should be able to find the "eventValue" property. l2.listen(new EventSub()); harness.check(calledSetter, true); calledSetter = false; // This is basically the same test as above but now the target method // has to be found via a method name instead of a property name. l2 = (Listener2) EventHandler.create(Listener2.class, this, "setValue", "booleanValue", null); l2.listen(new Event()); harness.check(calledSetter, true, "setter invoked as method"); // The situation is that we have a BigInteger value but no "targetValue" property // of that type (ie. no setTargetValue(BigInteger) method). However the implementation // should find the property with Object-type of the same name instead and use the // corresponding method. It is important that we do not use a primitive for this test. harness.checkPoint("replacement for BigInteger property"); l2 = (Listener2) EventHandler.create(Listener2.class, this, "targetValue", "bigValue", null); l2.listen(new Event()); harness.check(noArgMethodCalled, false); harness.check(objectArgMethodCalled, true); // -> this one should be called harness.check(stringArgMethodCalled, false); noArgMethodCalled = objectArgMethodCalled = stringArgMethodCalled = false; // Now the same test with a boolean property. The reason for a special test // is that internally booleans are represented by Boolean.TYPE. // The funny thing is that Boolean.TYPE.getSuperclass() is null but the // EventHandler mechanism should nevertheless find an Object property and // its method. harness.checkPoint("replacement for boolean property"); l2 = (Listener2) EventHandler.create(Listener2.class, this, "targetValue", "booleanValue", null); l2.listen(new Event()); harness.check(noArgMethodCalled, false); harness.check(objectArgMethodCalled, true); // -> this one should be called harness.check(stringArgMethodCalled, false); noArgMethodCalled = objectArgMethodCalled = stringArgMethodCalled = false; // Again the same kind of test but now the property is an int and the expected // property method has a 'java.lang.Number' argument. Again the internally used // Integer.TYPE superclass is null and not Number. harness.checkPoint("replacement for integer property"); l2 = (Listener2) EventHandler.create(Listener2.class, this, "numberValue", "intValue", null); l2.listen(new Event()); harness.check(noArgMethodCalled, false); harness.check(objectArgMethodCalled, false); harness.check(numberArgMethodCalled, true); // -> this one should be called harness.check(stringArgMethodCalled, false); noArgMethodCalled = objectArgMethodCalled = stringArgMethodCalled = numberArgMethodCalled = false; // Repeats the BigInteger test but uses an explicit method name instead of a property. harness.checkPoint("replacement for BigInteger method"); l2 = (Listener2) EventHandler.create(Listener2.class, this, "setTargetValue", "bigValue", null); l2.listen(new Event()); harness.check(noArgMethodCalled, false); harness.check(objectArgMethodCalled, true); // -> this one should be called harness.check(stringArgMethodCalled, false); noArgMethodCalled = objectArgMethodCalled = stringArgMethodCalled = false; // Same as boolean test but uses method name instead of property name. harness.checkPoint("replacement for boolean method"); l2 = (Listener2) EventHandler.create(Listener2.class, this, "setTargetValue", "booleanValue", null); l2.listen(new Event()); harness.check(noArgMethodCalled, false); harness.check(objectArgMethodCalled, true); // -> this one should be called harness.check(stringArgMethodCalled, false); noArgMethodCalled = objectArgMethodCalled = stringArgMethodCalled = false; // Same as integer test but uses method name instead of property name. harness.checkPoint("replacement for integer method"); l2 = (Listener2) EventHandler.create(Listener2.class, this, "setNumberValue", "intValue", null); l2.listen(new Event()); harness.check(noArgMethodCalled, false); harness.check(objectArgMethodCalled, false); harness.check(numberArgMethodCalled, true); // -> this one should be called harness.check(stringArgMethodCalled, false); noArgMethodCalled = objectArgMethodCalled = stringArgMethodCalled = numberArgMethodCalled = false; // The EventHandler supports method names in the property string as well. // This tests whether the implementation evaluates this properly. harness.checkPoint("property as method names"); l2 = (Listener2) EventHandler.create(Listener2.class, this, "setNumberValue", "getSelf.getIntValue", null); boolean exceptionThrown = false; try { l2.listen(new EventSub()); } catch(Exception e) { exceptionThrown = true; } harness.check(exceptionThrown, false); harness.check(noArgMethodCalled, false); harness.check(objectArgMethodCalled, false); harness.check(numberArgMethodCalled, true); // -> this one should be called harness.check(stringArgMethodCalled, false); noArgMethodCalled = objectArgMethodCalled = stringArgMethodCalled = numberArgMethodCalled = false; // The EventHandler can even use a mix of method names and property names. This tests // the implementation's support for this. harness.checkPoint("property and method names"); l2 = (Listener2) EventHandler.create(Listener2.class, this, "setNumberValue", "self.getSelf.self.getSelf.intValue", null); exceptionThrown = false; try { l2.listen(new EventSub()); } catch(Exception e) { exceptionThrown = true; } harness.check(exceptionThrown, false); harness.check(noArgMethodCalled, false); harness.check(objectArgMethodCalled, false); harness.check(numberArgMethodCalled, true); // -> this one should be called harness.check(stringArgMethodCalled, false); noArgMethodCalled = objectArgMethodCalled = stringArgMethodCalled = numberArgMethodCalled = false; // This simply checks that in case of ambiguity ("getSelf" as a method and as a property available) // the property variant is preferred. harness.checkPoint("name ambiguity preference"); l2 = (Listener2) EventHandler.create(Listener2.class, this, "setNumberValue", "getSelf.intValue", null); EventSub event = new EventSub(); l2.listen(event); harness.check(event.property, true); harness.check(event.method, false); harness.checkPoint("primitive to wrapper"); calledSetter = false; // This tests automatic primitive to wrapper conversion. That means the value retrieved from // the event object is a primitive one and the target accepts it as an instance of a wrapper // class. // The 4 subtests check that the target and the source can use the property name as well // as the method name. // source: property name // target: property name l2 = (Listener2) EventHandler.create(Listener2.class, this, "integerValue", "intValue"); l2.listen(new EventSub()); harness.check(calledSetter, true); calledSetter = false; // source: property name // target: method name l2 = (Listener2) EventHandler.create(Listener2.class, this, "setIntegerValue", "intValue"); l2.listen(new EventSub()); harness.check(calledSetter, true); calledSetter = false; // source: method name // target: method name l2 = (Listener2) EventHandler.create(Listener2.class, this, "setIntegerValue", "getIntValue"); l2.listen(new EventSub()); harness.check(calledSetter, true); calledSetter = false; // source: method name // target: property name l2 = (Listener2) EventHandler.create(Listener2.class, this, "integerValue", "getIntValue"); l2.listen(new EventSub()); harness.check(calledSetter, true); calledSetter = false; harness.checkPoint("wrapper to primitive"); // The following 4 tests check whether the property conversion works the other // way to. Now the value retrieved from the event object is an instance of a // wrapper class and the target accepts a primitive. // source: property name // target: property name l2 = (Listener2) EventHandler.create(Listener2.class, this, "intValue", "integerValue"); l2.listen(new EventSub()); harness.check(calledSetter, true); calledSetter = false; // source: property name // target: method name l2 = (Listener2) EventHandler.create(Listener2.class, this, "setIntValue", "integerValue"); l2.listen(new EventSub()); harness.check(calledSetter, true); calledSetter = false; // source: method name // target: method name l2 = (Listener2) EventHandler.create(Listener2.class, this, "setIntValue", "getIntegerValue"); l2.listen(new EventSub()); harness.check(calledSetter, true); calledSetter = false; // source: method name // target: property name l2 = (Listener2) EventHandler.create(Listener2.class, this, "intValue", "getIntegerValue"); l2.listen(new EventSub()); harness.check(calledSetter, true); calledSetter = false; } public void targetMethod() { noArgMethodCalled = true; } public void targetMethod(Object o) { objectArgMethodCalled = true; } public void targetMethod(String m) { stringArgMethodCalled = true; } public void setTargetValue() { noArgMethodCalled = true; } public void setTargetValue(Object o) { objectArgMethodCalled = true; } public void setTargetValue(String m) { stringArgMethodCalled = true; } public void setNumberValue() { noArgMethodCalled = true; } public void setNumberValue(Object o) { objectArgMethodCalled = true; } public void setNumberValue(Number n) { numberArgMethodCalled = true; } public void setNumberValue(String m) { stringArgMethodCalled = true; } public void setValue(boolean arg) { calledSetter = arg; } public void setIntegerValue(Integer value) { calledSetter = true; } public void setIntValue(int value) { calledSetter = true; } } mauve-20140821/gnu/testlet/java/beans/EventHandler/check14c.java0000644000175000001440000001613511232324555023052 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2005 Robert Schuster //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.java.beans.EventHandler; import java.awt.event.WindowListener; import java.beans.EventHandler; import java.lang.reflect.InvocationTargetException; import java.math.BigInteger; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** *

    * This tests the error behavior of the EventHandler *

    */ public class check14c implements Testlet { public interface Listener { void listen(); void listen(Object o); void listen(String m); } public class Event { public boolean isBooleanValue() { return true; } public BigInteger getBigValue() { return new BigInteger("903281390123809123"); } public int getIntValue() { return 0xDEADBEEF; } public Event getSelf() { return this; } } public class EventSub extends Event { public void getErroneousProperty() throws PersonalException { throw new PersonalException(); } } static class PersonalException extends Exception { } public interface Listener2 { // The check. prefix is a workaround for a Jikes bug. public void listen(check14c.Event e); } private boolean calledSetter; public void test(TestHarness harness) { // The first test checks whether a RuntimeException is thrown // when the targetMethod cannot be found (Especially because of missing // access rights). // JDK 1.4 and 1.5 erroneously throw an ArrayIndexOutOfBoundsException. Listener l = (Listener) EventHandler.create(Listener.class, this, "targetMethod"); boolean correctException = false; try { l.listen(); } catch (Exception e) { correctException = e.getClass() == RuntimeException.class; } harness.check(correctException, true, "missing target method"); // This checks whether a RuntimeException is thrown when the // EventHandler // retrieved a property value from the listener first argument but finds // no // suitable method or property to apply the property. Listener2 l2 = (Listener2) EventHandler.create(Listener2.class, this, "targetMethod2", "booleanValue"); correctException = false; try { l2.listen(new Event()); } catch (Exception re) { correctException = re.getClass() == RuntimeException.class; } harness.check(correctException, true, "missing property target method"); // This checks the a similar situation as above. The difference is that // the property is retrieved by a more complex expression. The // RuntimeException // is expected because targetMethod2 does not accept an int or Integer. l2 = (Listener2) EventHandler.create(Listener2.class, this, "targetMethod2", "getSelf.getSelf.intValue"); correctException = false; try { l2.listen(new Event()); } catch (Exception e) { correctException = e.getClass() == RuntimeException.class; } harness.check(correctException, true); // The list of "."-concatenated method and property names may have a // wrong entry. We expect // a RuntimeException then. l2 = (Listener2) EventHandler .create(Listener2.class, this, "not important", "getSelf.self.getSelf.self.HellBrokeOut", null); correctException = false; try { l2.listen(new EventSub()); } catch (Exception e) { correctException = e.getClass() == RuntimeException.class; } harness.check(correctException, true, "missing property"); // One may think that a creation like this will forward the Event // instance to the 'setEventProperty' // method but this is wrong and will cause a // RuntimeException to be as if could not // find a method. In other words: If no property is defined action will // never be treated as a // property but always like a method name. // JDK 1.4 and 1.5 erroneously throw an ArrayIndexOutOfBoundsException. l2 = (Listener2) EventHandler.create(Listener2.class, this, "eventProperty"); correctException = false; try { l2.listen(new Event()); } catch (Exception e) { correctException = e.getClass() == RuntimeException.class; } harness.check(correctException, true, "action is method"); // When the target method throws an Exception it will be wrapped in a // RuntimeException. l2 = (Listener2) EventHandler.create(Listener2.class, this, "erroneousTargetMethod"); correctException = false; boolean correctException2 = false; try { l2.listen(new Event()); } catch (Exception e) { correctException = e.getClass() == RuntimeException.class; correctException2 = e.getCause().getClass() == PersonalException.class; } harness.check(correctException, true, "erroneous target method"); harness.check(correctException2, true); // When the property method throws an Exception a RuntimeException will // be // thrown. l2 = (Listener2) EventHandler.create(Listener2.class, this, "not important", "erroneousProperty"); correctException = false; correctException2 = false; boolean correctException3 = false; try { l2.listen(new EventSub()); } catch (Exception e) { correctException = e.getClass() == RuntimeException.class; correctException2 = e.getCause().getClass() == InvocationTargetException.class; correctException3 = e.getCause().getCause().getClass() == PersonalException.class; } harness.check(correctException, true, "erroneous property"); harness.check(correctException2, true); harness.check(correctException3, true); // This tests the exception behavior when creating a new interface implementation. // The create method should throw a NullPointerException if the interface class argument // is null. correctException = false; harness.checkPoint("wrong arguments"); try { EventHandler.create(null, harness, "bla", "foo", "baz"); } catch(Exception e) { correctException = e.getClass() == NullPointerException.class; } harness.check(correctException, true); correctException = false; // The create method should throw a NullPointerException if the target object is null. try { WindowListener w = (WindowListener) EventHandler.create(WindowListener.class, null, "bla", "foo", "windowClosing"); } catch (Exception e) { correctException = e.getClass() == NullPointerException.class; } harness.check(correctException, true); correctException = false; } void targetMethod() { } public void targetMethod2() { } public void setEventProperty(Event e) { } public void erroneousTargetMethod() throws PersonalException { throw new PersonalException(); } } mauve-20140821/gnu/testlet/java/beans/EventHandler/check.java0000644000175000001440000002047210226473260022541 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2005 Robert Schuster //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.java.beans.EventHandler; import java.beans.EventHandler; import java.math.BigInteger; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** *

    This tests whether the EventHandler implementation calls the right methods when there are multiple * possibilities.

    */ public class check implements Testlet { public interface Listener { void listen(); void listen(Object o); void listen(String m); } public class Event { public boolean isBooleanValue() { return true; } public BigInteger getBigValue() { return new BigInteger("903281390123809123"); } public int getIntValue() { return 0xDEADBEEF; } } public class EventSub extends Event { } public interface Listener2 { // The check. prefix is a workaround for a Jikes bug. public void listen(check.Event e); } private boolean noArgMethodCalled; private boolean objectArgMethodCalled; private boolean stringArgMethodCalled; private boolean numberArgMethodCalled; private boolean calledSetter; public void test(TestHarness harness) { Listener l = (Listener) EventHandler.create(Listener.class, this, "targetMethod"); l.listen(); harness.check(noArgMethodCalled, true, "prefer no arg method"); harness.check(objectArgMethodCalled, false); harness.check(stringArgMethodCalled, false); noArgMethodCalled = objectArgMethodCalled = stringArgMethodCalled = false; l.listen(new Object()); harness.check(noArgMethodCalled, true, "prefer no arg method (Object given)"); harness.check(objectArgMethodCalled, false); harness.check(stringArgMethodCalled, false); noArgMethodCalled = objectArgMethodCalled = stringArgMethodCalled = false; l.listen("GNU!"); harness.check(noArgMethodCalled, true, "prefer no arg method (String given)"); harness.check(objectArgMethodCalled, false); harness.check(stringArgMethodCalled, false); noArgMethodCalled = objectArgMethodCalled = stringArgMethodCalled = false; // We try to apply the value from the "eventValue" property of the Event // object to the target object (= this) by using its "value" property. // This tests whether the implementation properly retrieves the 'setValue' // method when it is given as a property name. Listener2 l2 = (Listener2) EventHandler.create(Listener2.class, this, "value", "booleanValue", null); l2.listen(new Event()); harness.check(calledSetter, true, "setter invoked as property"); calledSetter = false; // Now we do the same test but use a subclass of Event. Though the // implementation should be able to find the "eventValue" property. l2.listen(new EventSub()); harness.check(calledSetter, true); calledSetter = false; // This is basically the same test as above but now the target method // has to be found via a method name instead of a property name. l2 = (Listener2) EventHandler.create(Listener2.class, this, "setValue", "booleanValue", null); l2.listen(new Event()); harness.check(calledSetter, true, "setter invoked as method"); // The situation is that we have a BigInteger value but no "targetValue" property // of that type (ie. no setTargetValue(BigInteger) method). However the implementation // should find the property with Object-type of the same name instead and use the // corresponding method. It is important that we do not use a primitive for this test. harness.checkPoint("replacement for BigInteger property"); l2 = (Listener2) EventHandler.create(Listener2.class, this, "targetValue", "bigValue", null); l2.listen(new Event()); harness.check(noArgMethodCalled, false); harness.check(objectArgMethodCalled, true); // -> this one should be called harness.check(stringArgMethodCalled, false); noArgMethodCalled = objectArgMethodCalled = stringArgMethodCalled = false; // Now the same test with a boolean property. The reason for a special test // is that internally booleans are represented by Boolean.TYPE. // The funny thing is that Boolean.TYPE.getSuperclass() is null but the // EventHandler mechanism should nevertheless find an Object property and // its method. harness.checkPoint("replacement for boolean property"); l2 = (Listener2) EventHandler.create(Listener2.class, this, "targetValue", "booleanValue", null); l2.listen(new Event()); harness.check(noArgMethodCalled, false); harness.check(objectArgMethodCalled, true); // -> this one should be called harness.check(stringArgMethodCalled, false); noArgMethodCalled = objectArgMethodCalled = stringArgMethodCalled = false; // Again the same kind of test but now the property is an int and the expected // property method has a 'java.lang.Number' argument. Again the internally used // Integer.TYPE superclass is null and not Number. harness.checkPoint("replacement for integer property"); l2 = (Listener2) EventHandler.create(Listener2.class, this, "numberValue", "intValue", null); l2.listen(new Event()); harness.check(noArgMethodCalled, false); harness.check(objectArgMethodCalled, false); harness.check(numberArgMethodCalled, true); // -> this one should be called harness.check(stringArgMethodCalled, false); noArgMethodCalled = objectArgMethodCalled = stringArgMethodCalled = numberArgMethodCalled = false; // Repeats the BigInteger test but uses an explicit method name instead of a property. harness.checkPoint("replacement for BigInteger method"); l2 = (Listener2) EventHandler.create(Listener2.class, this, "setTargetValue", "bigValue", null); l2.listen(new Event()); harness.check(noArgMethodCalled, false); harness.check(objectArgMethodCalled, true); // -> this one should be called harness.check(stringArgMethodCalled, false); noArgMethodCalled = objectArgMethodCalled = stringArgMethodCalled = false; // Same as boolean test but uses method name instead of property name. harness.checkPoint("replacement for boolean method"); l2 = (Listener2) EventHandler.create(Listener2.class, this, "setTargetValue", "booleanValue", null); l2.listen(new Event()); harness.check(noArgMethodCalled, false); harness.check(objectArgMethodCalled, true); // -> this one should be called harness.check(stringArgMethodCalled, false); noArgMethodCalled = objectArgMethodCalled = stringArgMethodCalled = false; // Same as integer test but uses method name instead of property name. harness.checkPoint("replacement for integer method"); l2 = (Listener2) EventHandler.create(Listener2.class, this, "setNumberValue", "intValue", null); l2.listen(new Event()); harness.check(noArgMethodCalled, false); harness.check(objectArgMethodCalled, false); harness.check(numberArgMethodCalled, true); // -> this one should be called harness.check(stringArgMethodCalled, false); noArgMethodCalled = objectArgMethodCalled = stringArgMethodCalled = numberArgMethodCalled = false; } public void targetMethod() { noArgMethodCalled = true; } public void targetMethod(Object o) { objectArgMethodCalled = true; } public void targetMethod(String m) { stringArgMethodCalled = true; } public void setTargetValue() { noArgMethodCalled = true; } public void setTargetValue(Object o) { objectArgMethodCalled = true; } public void setTargetValue(String m) { stringArgMethodCalled = true; } public void setNumberValue() { noArgMethodCalled = true; } public void setNumberValue(Object o) { objectArgMethodCalled = true; } public void setNumberValue(Number n) { numberArgMethodCalled = true; } public void setNumberValue(String m) { stringArgMethodCalled = true; } public void setValue(boolean arg) { calledSetter = arg; } } mauve-20140821/gnu/testlet/java/beans/EventHandler/check14.java0000644000175000001440000001473411232325615022710 0ustar dokousers// Test EventHandler.check14(). // Written by Jerry Quinn // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.4 // Test features added by JDK 1.4 package gnu.testlet.java.beans.EventHandler; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.beans.EventHandler; import java.lang.reflect.Method; /** *

    Basic tests for the EventHandler

    */ public class check14 implements Testlet { // Inner classes because compilation complains it can't find the files // otherwise public class Target { public boolean flag; public String str; public Target() { flag = false; str = null; } public void reset() { flag = false; str = null; } // Test that null eventPropertyName activates this public void action1() { flag = true; } // Test that moving whole objects works public void action(Event e) { str = e.getD(); flag = e.isB(); } // To test that wrapper handling works public void setAction(boolean b) { flag = b; } // To test that basic properties work public void setAction(String s) { str = s; } // To test event forwarding. public void setEventProperty(Event e) { str = e.getD(); flag = e.isB(); } } public class Event { public Object getA() { return this; } public boolean isB() { return true; } public Object getC() { return this; } public String getD() { return "yes"; } } public interface Listener { public void listen1(check14.Event x); public void listen2(check14.Event x); } /* A Listener interface without arguments in the methods. */ public interface Listener2 { public void listen1(); public void listen2(); } public static int x = 0; /* A variable that has to be set by calling itself. */ public boolean called; public void test (TestHarness harness) { Target target = new Target(); Event ev = new Event(); // Basic event handler value tests EventHandler eh = new EventHandler(target, "action", "a.c.b", "listen1"); // Note: Referential equality works because all String instances where available at compilation time harness.check(eh.getAction() == "action", "Check basic settings"); harness.check(eh.getEventPropertyName() == "a.c.b"); harness.check(eh.getListenerMethodName() == "listen1"); harness.check(eh.getTarget() == target); // Simple invoke test Method listen1 = null; Method listen2 = null; try { listen1 = Listener.class.getMethod("listen1", new Class[] {Event.class}); listen2 = Listener.class.getMethod("listen2", new Class[] {Event.class}); } catch (Exception e) { harness.fail("No listener methods - test is broken"); } harness.check(target.flag == false, "Test invoke"); try { eh.invoke(null, listen1, new Object[] {ev}); } catch (Exception e) { harness.fail("Invoke listen1 failed " + e.toString()); } harness.check(target.flag == true, "Invoke listen1 test"); target.reset(); try { eh.invoke(null, listen2, new Object[] {ev}); } catch (Exception e) { harness.fail("Invoke listen2 failed " + e.toString()); } harness.check(target.flag == false, "Invoke listen2 test"); target.reset(); // Static create tests Listener o1 = (Listener) EventHandler.create(Listener.class, target, "action", ""); try { o1.listen1(ev); } catch(Exception e) { harness.fail("Invoke listen1 failed " + e.toString()); } harness.check(target.flag == true, "Test null event property"); target.reset(); try { o1.listen2(ev); } catch(Exception e) { harness.fail("Invoke listen1 failed " + e.toString()); } harness.check(target.flag == true); harness.check(target.str == "yes"); target.reset(); /* Listener methods may have no arguments, too. This tests whether these methods * are properly implemented when calling the static create methods of EventHandler. */ Listener2 l2 = (Listener2) EventHandler.create(Listener2.class, target, "action1"); l2.listen1(); harness.check(target.flag, true, "no argument listener method"); target.reset(); l2.listen2(); harness.check(target.flag, true); target.reset(); Listener o2 = (Listener) EventHandler.create(Listener.class, target, "action1"); o2.listen1(ev); harness.check(target.flag == true, "Test action with no parameter"); harness.check(target.str == null); target.reset(); o2.listen2(ev); harness.check(target.flag == true); harness.check(target.str == null); target.reset(); Listener o3 = (Listener) EventHandler.create(Listener.class, target, "action", "a.c.d"); o3.listen1(ev); harness.check(target.flag == false, "Test null listener"); harness.check(target.str == "yes"); target.reset(); o3.listen2(ev); harness.check(target.flag == false, "Test null listener"); harness.check(target.str == "yes"); target.reset(); Listener o4 = (Listener) EventHandler.create(Listener.class, target, "action", "a.c.d", "listen2"); o4.listen1(ev); harness.check(target.flag == false, "Test full, ignore listen1"); harness.check(target.str == null); target.reset(); o4.listen2(ev); harness.check(target.flag == false, "Test full, invoke listen2"); harness.check(target.str == "yes"); target.reset(); // Make sure created objects actually implement Listener, not just the // method. Object o5 = EventHandler.create(Listener.class, target, "action"); Class ifs[] = o5.getClass().getInterfaces(); boolean found = false; for (int i=0; i < ifs.length; i++) if (ifs[i] == Listener.class) found = true; harness.check(found == true, "Proxy implements Listener"); } public void targetMethod() { called = true; } } mauve-20140821/gnu/testlet/java/beans/Expression/0000755000175000001440000000000012375316426020403 5ustar dokousersmauve-20140821/gnu/testlet/java/beans/Expression/check.java0000644000175000001440000001265010644710301022312 0ustar dokousers// Test Expression.check(). // Written by Jerry Quinn // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.4 // Test features added by JDK 1.4 package gnu.testlet.java.beans.Expression; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.beans.Expression; public class check implements Testlet { public static int x = 0; public static int test1(int y) { x = y; return x; } public class dummy { public String s; public int x; public dummy() { s = ""; x = 5;} public String method(String s) { this.s = s; return this.s + " " + this.x; } public String method(String s, int y) { this.s = s; this.x = y + 1; return this.s + " " + this.x; } public String method1(String s, Integer y) { this.s = s; this.x = y.intValue(); return this.s + " " + this.x; } // public static String method2(String s) // { // return s + "static"; // } } public void test (TestHarness harness) { dummy d = new dummy(); // Check that we can create and getValue a expression Object arg1[] = {"test"}; Expression expr = new Expression(d, "method", arg1); harness.check(expr != null, "Construct an Expression"); harness.check(expr.getTarget() == d); harness.check(expr.getMethodName().equals("method")); String res1 = ""; try { res1 = (String) expr.getValue(); } catch (Exception e) { harness.fail("Expression getValue failed"); } harness.check(d.s.equals("test"), "Test getValue with method of single arg"); harness.check(d.x == 5); harness.check(res1.equals("test 5")); // Check that we can create and getValue a expression and that a // wrapper class resolves to a method taking a primitive. Object arg2[] = {"test", new Integer(6) }; expr = new Expression(d, "method", arg2); harness.check(expr != null, "Construct an Expression with 2 args"); Object exprArgs[] = expr.getArguments(); harness.check(exprArgs.length == arg2.length && exprArgs[0] == arg2[0] && exprArgs[1] == arg2[1]); String res2 = ""; try { res2 = (String) expr.getValue(); } catch (Exception e) { harness.fail("Expression getValue failed"); } harness.check(d.s.equals("test"), "Test getValue with method of single arg"); harness.check(d.x == 7); harness.check(res2.equals("test 7")); // Check that we can create and getValue a expression for a static method. Object arg3[] = {new Integer(1)}; expr = new Expression(this, "test1", arg3); int res3 = 0; try { res3 = ((Integer)expr.getValue()).intValue(); } catch (Exception e) { harness.fail("Static method getValue " + e.toString()); } harness.check(res3 == 1, "Test Expression with static method"); // Check that we can call get and set on an array object in a expression int iarray[] = {1, 2, 3, 4, 5}; Object arg4[] = { new Integer(2), new Integer(6) }; expr = new Expression(iarray, "set", arg4); Object res4 = new Object(); try { res4 = expr.getValue(); } catch (Exception e) { harness.fail("Expression set failed"); } //Array.set is public static void and should have no return value harness.check(res4 == null); harness.check(iarray[2] == 6); Object arg5[] = { new Integer(2) }; expr = new Expression(iarray, "get", arg5); int res5 = 0; try { res5 = ((Integer)expr.getValue()).intValue(); } catch (Exception e) { harness.fail("Expression get failed"); } harness.check(res5 == 6, "Test Expression of array and method named get"); // check that Expression can call object constructor Object arg6[] = { this }; expr = new Expression(d.getClass(), "new", arg6); dummy d1 = null; try { d1 = (dummy) expr.getValue(); } catch (Exception e) { harness.debug(e); harness.fail("Expression using new failed"); } harness.check(d1 != d, "Test expr using new"); // check that Expression constructer with val uses val expr = new Expression(d, d, "new", arg6); d1 = null; try { d1 = (dummy) expr.getValue(); } catch (Exception e) { harness.fail("Constructor failed"); } harness.check(d1 == d, "Test expr constructor with value"); // check that setvalue works and getvalue returns it String s1 = "t"; expr.setValue(s1); String s2 = ""; try { s2 = (String) expr.getValue(); } catch (Exception e) { harness.fail("Constructor failed"); } harness.check(s1 == s2, "Test expr setValue and getValue"); // check that tostring does something String s3 = expr.toString(); } } mauve-20140821/gnu/testlet/java/beans/PropertyChangeSupport/0000755000175000001440000000000012375316426022573 5ustar dokousersmauve-20140821/gnu/testlet/java/beans/PropertyChangeSupport/firePropertyChange.java0000644000175000001440000000357010533026414027230 0ustar dokousers/* firePropertyChange.java -- Tests firePropertyChange() Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.beans.PropertyChangeSupport; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.beans.PropertyChangeSupport; import java.util.ArrayList; import junit.framework.TestCase; public class firePropertyChange extends TestCase implements PropertyChangeListener { /** * The object to test. */ private PropertyChangeSupport change; /** * The received events. */ private ArrayList events; public void setUp() { change = new PropertyChangeSupport(this); change.addPropertyChangeListener(this); events = new ArrayList(); } public void tearDown() { change = null; events = null; } public void testNullNull() { change.firePropertyChange("test", null, null); assertEquals(events.size(), 1); PropertyChangeEvent ev = (PropertyChangeEvent) events.get(0); assertEquals(ev.getPropertyName(), "test"); assertNull(ev.getNewValue()); assertNull(ev.getOldValue()); } public void propertyChange(PropertyChangeEvent e) { events.add(e); } } mauve-20140821/gnu/testlet/java/beans/VetoableChangeSupport/0000755000175000001440000000000012375316426022510 5ustar dokousersmauve-20140821/gnu/testlet/java/beans/VetoableChangeSupport/addVetoableChangeListener.java0000644000175000001440000000554210450511116030370 0ustar dokousers/* addVetoableChangeListener.java -- some checks for the addVetoableChangeListener() method in the VetoableChangeSupport class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.4 package gnu.testlet.java.beans.VetoableChangeSupport; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyVetoException; import java.beans.VetoableChangeListener; import java.beans.VetoableChangeSupport; public class addVetoableChangeListener implements Testlet, VetoableChangeListener { public void vetoableChange(PropertyChangeEvent e) throws PropertyVetoException { } public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("(VetoableChangeListener)"); VetoableChangeSupport vcs = new VetoableChangeSupport(this); harness.check(vcs.getVetoableChangeListeners().length, 0); vcs.addVetoableChangeListener(this); harness.check(vcs.getVetoableChangeListeners().length, 1); vcs.addVetoableChangeListener(null); harness.check(vcs.getVetoableChangeListeners().length, 1); } public void testMethod2(TestHarness harness) { harness.checkPoint("(String, VetoableChangeListener)"); VetoableChangeSupport vcs = new VetoableChangeSupport(this); harness.check(vcs.getVetoableChangeListeners().length, 0); vcs.addVetoableChangeListener("A", this); vcs.addVetoableChangeListener("B", this); harness.check(vcs.getVetoableChangeListeners().length, 2); harness.check(vcs.getVetoableChangeListeners("A").length, 1); harness.check(vcs.getVetoableChangeListeners("B").length, 1); vcs.addVetoableChangeListener("B", null); harness.check(vcs.getVetoableChangeListeners().length, 2); harness.check(vcs.getVetoableChangeListeners("B").length, 1); // try null property name vcs.addVetoableChangeListener(null, this); harness.check(vcs.getVetoableChangeListeners().length, 2); harness.check(vcs.getVetoableChangeListeners("A").length, 1); harness.check(vcs.getVetoableChangeListeners("B").length, 1); } } mauve-20140821/gnu/testlet/java/beans/Introspector/0000755000175000001440000000000012375316426020737 5ustar dokousersmauve-20140821/gnu/testlet/java/beans/Introspector/getBeanInfo2_2TestClass.java0000644000175000001440000000512310174326537026114 0ustar dokousers//Tags: not-a-test //Copyright (C) 2004 Robert Schuster //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.beans.Introspector; /** This class is used to test the Introspector in the test: * gnu.testlet.java.beans.getBeanInfo2_2. * *

    See each method's documentation to see what is expected for the * test.

    * * @author Robert Schuster */ public class getBeanInfo2_2TestClass { /** This method has a setter like method name but its signature * does not conform the Bean pattern. This method is expected * to be available in a MethodDescriptor retrieved * from a BeanInfo instance of this class. * * @param arg0 Unused. * @param arg1 Unused. * @param arg2 Unused. */ public void setSomething1(int arg0, int arg1, int arg2) { } /** This method has a getter like method name but its signature * is not conforming to the Bean pattern. However, this method * is expected to be available in a MethodDescriptor * retrieved from a BeanInfo instance of this class.
    *
    * This mimics a "get" style getter. * * @param foo Unused. * @param baz Unused. * @param bar Unused. * @return null. */ public String[] getSomething2(String foo, String baz, String bar) { return null; } /** This method has a getter like method name but its signature * is not conforming to the Bean pattern. However, this method * is expected to be available in a MethodDescriptor * retrieved from a BeanInfo instance of this class.
    *
    * This mimics an "is" style getter. The return value is explicitly chosen * because "is" getters should return a boolean. * * @param foo Unused. * @param baz Unused. * @param bar Unused. * @return false. */ public boolean isSomething3(String foo, String baz, String bar) { return false; } } mauve-20140821/gnu/testlet/java/beans/Introspector/getBeanInfo2_2.java0000644000175000001440000001137110234112127024251 0ustar dokousers// Tags: JDK1.2 // Uses: getBeanInfo2_2TestClass //Copyright (C) 2004 Robert Schuster //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.beans.Introspector; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.BeanInfo; import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.MethodDescriptor; import java.lang.reflect.Method; /** This is the second test of the method retrieving * mechanism of the Introspector class. * *

    See {@link getBeanInfo2_2TestClass} for * details on what is expected.

    * *

    The test goes like this:

    *

    There is a test class having a number of well-known methods. All * public methods should be available in a * MethodDescriptor array.

    * * @author Robert Schuster */ public class getBeanInfo2_2 implements Testlet { public void test(TestHarness harness) { propertyTest(harness); } void propertyTest(TestHarness harness) { BeanInfo bi = null; Class testClass = getBeanInfo2_2TestClass.class; Method[] expectedMethods = null; try { // these are the method that have to show up expectedMethods = new Method[] { testClass.getMethod( "setSomething1", new Class[] { Integer.TYPE, Integer.TYPE, Integer.TYPE }), testClass.getMethod( "getSomething2", new Class[] { String.class, String.class, String.class }), testClass.getMethod( "isSomething3", new Class[] { String.class, String.class, String.class }) }; } catch (NoSuchMethodException nsme) { // if that happens check the test class (compiler?) harness.fail("TEST_PREPARATION_NOSUCHMETHODEXCEPTION"); } // checks wether all expected methods have been retrieved successfully for (int i = 0; i < expectedMethods.length; i++) { harness.check( expectedMethods[i] != null, "TEST_PREPARATION_METHOD_INSTANCE_AVAILABLE"); } // retrieves the BeanInfo instance of the test class try { bi = Introspector.getBeanInfo(testClass, testClass.getSuperclass()); } catch (IntrospectionException ie) { harness.fail("TEST_PREPARATION_INTROSPECTION_EXCEPTION"); } harness.check(bi != null, "TEST_PREPARATION_VALID_BEANINFO"); MethodDescriptor[] methodDescriptors = bi.getMethodDescriptors(); // Since we only introspected the test class the number of method descriptors must match // the number of expected methods. harness.check( methodDescriptors.length, expectedMethods.length, "MATCH_EXPECTED_METHOD_COUNT"); for (int i = 0; i < expectedMethods.length; i++) { harness.check( containsMethod(methodDescriptors, expectedMethods[i]), "EXPECTED_METHOD_AVAILABLE: " + expectedMethods[i].getName()); } } /** Returns whether a given method array contains a certain method. * * @param methods The array of method to be examined. * @param key The method which is looked up. * @return Whether the key method is in the array. */ boolean containsMethod(MethodDescriptor[] methodDescriptors, Method key) { for (int i = 0; i < methodDescriptors.length; i++) { if (key.equals(methodDescriptors[i].getMethod())) return true; } return false; } } mauve-20140821/gnu/testlet/java/beans/Introspector/getBeanInfo2.java0000644000175000001440000001375410234112127024037 0ustar dokousers// Tags: JDK1.2 // Uses: getBeanInfoTestClass //Copyright (C) 2004 Robert Schuster //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.beans.Introspector; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.BeanInfo; import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.MethodDescriptor; import java.lang.reflect.Method; /** This tests the method retrieving mechanism of the * Introspector class. * *

    See {@link getBeanInfoTestClass} for details on what is * expected.

    * *

    The method test goes like this:

    *

    There is a test class having a number of well-known methods. All * public methods should be available in a * MethodDescriptor array. There are two methods * which are not public and these should not be * available in the array.

    * * @author Robert Schuster */ public class getBeanInfo2 implements Testlet { public void test(TestHarness harness) { propertyTest(harness); } void propertyTest(TestHarness harness) { BeanInfo bi = null; Class testClass = getBeanInfoTestClass.class; Method[] expectedMethods = null; Method[] unexpectedMethods = null; try { // these are the method that have to show up expectedMethods = new Method[] { testClass.getMethod( "setCorrectProperty", new Class[] { Integer.TYPE }), testClass.getMethod("getCorrectProperty", new Class[0]), testClass.getMethod( "getCorrectReadOnlyProperty", new Class[0]), testClass.getMethod( "setCorrectWriteOnlyProperty", new Class[] { Integer.TYPE }), testClass.getMethod( "setSomeStaticValue", new Class[] { Integer.TYPE }), testClass.getMethod("getSomeStaticValue", new Class[0]), }; /* these are the method that have not to show up - it is neccessary to use * getDeclaredMethod() here because the wanted methods are not public. */ unexpectedMethods = new Method[] { testClass.getDeclaredMethod( "setSomeValue", new Class[] { Integer.TYPE }), testClass.getDeclaredMethod("getSomeValue", new Class[0]), }; } catch (NoSuchMethodException nsme) { // if that happens check the test class (compiler?) harness.fail("TEST_PREPARATION_NOSUCHMETHODEXCEPTION"); } // checks wether all expected methods have been retrieved successfully for (int i = 0; i < expectedMethods.length; i++) { harness.check( expectedMethods[i] != null, "TEST_PREPARATION_METHOD_INSTANCE_AVAILABLE"); } // checks wether all unexpected methods have been retrieved successfully for (int i = 0; i < unexpectedMethods.length; i++) { harness.check( unexpectedMethods[i] != null, "TEST_PREPARATION_METHOD_INSTANCE_AVAILABLE"); } // retrieves the BeanInfo instance of the test class try { bi = Introspector.getBeanInfo(testClass, testClass.getSuperclass()); } catch (IntrospectionException ie) { harness.fail("TEST_PREPARATION_INTROSPECTION_EXCEPTION"); } harness.check(bi != null, "TEST_PREPARATION_VALID_BEANINFO"); MethodDescriptor[] methodDescriptors = bi.getMethodDescriptors(); // Since we only introspected the test class the number of method descriptors must match // the number of expected methods. harness.check( methodDescriptors.length, expectedMethods.length, "MATCH_EXPECTED_METHOD_COUNT"); for (int i = 0; i < expectedMethods.length; i++) { harness.check( containsMethod(methodDescriptors, expectedMethods[i]), "EXPECTED_METHOD_AVAILABLE: " + expectedMethods[i].getName()); } for (int i = 0; i < unexpectedMethods.length; i++) { harness.check( !containsMethod(methodDescriptors, unexpectedMethods[i]), "UNEXPECTED_METHOD_UNAVAILABE: " + unexpectedMethods[i].getName()); } } /** Returns whether a given method array contains a certain method. * * @param methods The array of method to be examined. * @param key The method which is looked up. * @return Whether the key method is in the array. */ boolean containsMethod(MethodDescriptor[] methodDescriptors, Method key) { for (int i = 0; i < methodDescriptors.length; i++) { if (key.equals(methodDescriptors[i].getMethod())) return true; } return false; } } mauve-20140821/gnu/testlet/java/beans/Introspector/foo/0000755000175000001440000000000012375316426021522 5ustar dokousersmauve-20140821/gnu/testlet/java/beans/Introspector/foo/info/0000755000175000001440000000000012375316426022455 5ustar dokousersmauve-20140821/gnu/testlet/java/beans/Introspector/foo/info/TestSubjectBeanInfo.java0000644000175000001440000000245610254433560027161 0ustar dokousers//Tags: not-a-test //Copyright (C) 2005 Robert Schuster //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.beans.Introspector.foo.info; import java.beans.SimpleBeanInfo; import java.beans.BeanDescriptor; /** * This class is part of Mauve test: * gnu.testlet.java.beans.Introspector.getBeanInfo4 * * @author Robert Schuster */ public class TestSubjectBeanInfo extends SimpleBeanInfo { private BeanDescriptor bd = new BeanDescriptor(gnu.testlet.java.beans.Introspector.foo.TestSubject.class); public TestSubjectBeanInfo() { bd.setName("FOO TestSubject"); } public BeanDescriptor getBeanDescriptor() { return bd; } } mauve-20140821/gnu/testlet/java/beans/Introspector/foo/TestSubject.java0000644000175000001440000000212710254433560024617 0ustar dokousers//Tags: not-a-test //Copyright (C) 2005 Robert Schuster //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.beans.Introspector.foo; /** * This class is part of Mauve test: * gnu.testlet.java.beans.Introspector.getBeanInfo4 * * @author Robert Schuster */ public class TestSubject implements java.io.Serializable { public TestSubject() { } public int getFoo() { return -1; } public void setFoo(int foo) { } } mauve-20140821/gnu/testlet/java/beans/Introspector/jdk12.java0000644000175000001440000000377510143311177022516 0ustar dokousers// Tags: JDK1.2 //Copyright (C) 2002 C. Brian Jones //Copyright (C) 2004 Robert Schuster //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.beans.Introspector; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.beans.*; /** This is a simple test that checks that the constants * Introspector.USE_ALL_BEANINFO * Introspector.IGNORE_IMMEDIATE_BEANINFO * Introspector.IGNORE_ALL_BEANINFO * are defined correctly. * * @author C. Brian Jones * @author Robert Schuster */ public class jdk12 implements Testlet { public void test(TestHarness harness) { harness.checkPoint("USE_ALL_BEANINFO"); harness.debug( "USE_ALL_BEANINFO value: " + Introspector.USE_ALL_BEANINFO); harness.check(Introspector.USE_ALL_BEANINFO, 1); harness.checkPoint("IGNORE_IMMEDIATE_BEANINFO"); harness.debug( "IGNORE_IMMEDIATE_BEANINFO value: " + Introspector.IGNORE_IMMEDIATE_BEANINFO); harness.check(Introspector.IGNORE_IMMEDIATE_BEANINFO, 2); harness.checkPoint("IGNORE_ALL_BEANINFO"); harness.debug( "IGNORE_ALL_BEANINFO value: " + Introspector.IGNORE_ALL_BEANINFO); harness.check(Introspector.IGNORE_ALL_BEANINFO, 3); } } mauve-20140821/gnu/testlet/java/beans/Introspector/A.java0000644000175000001440000000025410404315147021751 0ustar dokousers//Tags: not-a-test package gnu.testlet.java.beans.Introspector; public abstract class A { public abstract void a (); public void b () { System.out.println ("b"); } } mauve-20140821/gnu/testlet/java/beans/Introspector/C.java0000644000175000001440000000022010404315147021744 0ustar dokousers//Tags: not-a-test package gnu.testlet.java.beans.Introspector; public class C extends B { public void c () { System.out.println ("c"); } } mauve-20140821/gnu/testlet/java/beans/Introspector/getBeanInfoTestClass.java0000644000175000001440000000566510174326537025624 0ustar dokousers//Tags: not-a-test //Copyright (C) 2004 Robert Schuster //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.beans.Introspector; /** This class is used to test the Introspector in the test: * gnu.testlet.java.beans.getBeanInfo and * gnu.testlet.java.beans.getBeanInfo2. * *

    See each method's documentation to see what is expected for the * tests.

    * * @author Robert Schuster */ public class getBeanInfoTestClass { /** This method is expected to be the read method of the property * 'correctProperty' and should show up as in the method descriptors. * * @param i Unused. */ public void setCorrectProperty(int i) { } /** This method is expected to be the write method of the property * 'correctProperty' and should show up in the method descriptors. * * @return 0 */ public int getCorrectProperty() { return 0; } /** This method is expected to be the read method of the read-only * property 'correctReadOnlyProperty' and should show up in the * method descriptors. * * @return 0. */ public int getCorrectReadOnlyProperty() { return 0; } /** This method is expected to be the write method of the write-only * property 'correctWriteOnlyProperty' and should show up in the * method descriptors. * * @param i Unused. */ public void setCorrectWriteOnlyProperty(int i) { } /** This method should not show up as part of a property or method * descriptor because the method is not public. * * @param i Unused. */ void setSomeValue(int i) { } /** This method should not show up as part of a property or method * descriptor because the method is not public. * * @return 0. */ int getSomeValue() { return 0; } /** This method should not show up as part of a property because the * method is static but it should show up in the * method descriptors. * * @param i Unused. */ public static void setSomeStaticValue(int i) { } /** This method should not show up as part of a property because the * method is static but it should show up in the * method descriptors. * * @return 0. */ public static int getSomeStaticValue() { return 0; } } mauve-20140821/gnu/testlet/java/beans/Introspector/jdk11.java0000644000175000001440000000552207564452107022521 0ustar dokousers// Tags: JDK1.1 // Uses: A B C package gnu.testlet.java.beans.Introspector; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.beans.*; public class jdk11 implements Testlet { public void tryone (TestHarness harness, Class k1, Class k2, boolean force, int dlen, int evlen, int gmlen) { try { BeanInfo b; if (! force && k2 == null) b = Introspector.getBeanInfo (k1); else b = Introspector.getBeanInfo (k1, k2); harness.debug (k1 + "/" + k2 + ":"); harness.debug ("BeanInfo.getPropertyDescriptors().length = " + b.getPropertyDescriptors().length + " ?= " + dlen); harness.check (b.getPropertyDescriptors().length, dlen); harness.debug ("BeanInfo.getEventSetDescriptors().length = " + b.getEventSetDescriptors().length + " ?= " + evlen); harness.check (b.getEventSetDescriptors().length, evlen); harness.debug ("BeanInfo.getMethodDescriptors().length = " + b.getMethodDescriptors().length + " ?= " + gmlen); harness.check (b.getMethodDescriptors().length, gmlen); } catch (Throwable e) { harness.check (false); harness.debug (e); } } public void tryone (TestHarness harness, Class k1, Class k2, int dlen, int evlen, int gmlen) { tryone (harness, k1, k2, false, dlen, evlen, gmlen); } public void tryone (TestHarness harness, Class k, int dlen, int evlen, int gmlen) { tryone (harness, k, null, false, dlen, evlen, gmlen); } public void test (TestHarness harness) { harness.checkPoint ("decapitalize"); harness.check (Introspector.decapitalize ("FooBar"), "fooBar"); harness.check (Introspector.decapitalize ("Foo"), "foo"); harness.check (Introspector.decapitalize ("X"), "x"); harness.check (Introspector.decapitalize ("BAR"), "BAR"); harness.checkPoint ("getBeanInfo"); tryone (harness, gnu.testlet.java.beans.Introspector.jdk11.class, 1, 0, 13); tryone (harness, gnu.testlet.java.beans.Introspector.A.class, 1, 0, 11); tryone (harness, gnu.testlet.java.beans.Introspector.B.class, 1, 0, 11); tryone (harness, gnu.testlet.java.beans.Introspector.C.class, 1, 0, 12); tryone (harness, gnu.testlet.java.beans.Introspector.C.class, gnu.testlet.java.beans.Introspector.B.class, 0, 0, 1); harness.checkPoint ("getBeanInfoSearchPath"); String search[] = Introspector.getBeanInfoSearchPath (); for (int i = 0; i < search.length; i++) harness.debug ("getBeanInfoSearchPath value[" + i + "]: " + search[i]); harness.check (search.length > 0); harness.checkPoint ("setBeanInfoSearchPath"); String path[] = {"a.b.c", "d.e.f"}; Introspector.setBeanInfoSearchPath (path); harness.check (path.length == Introspector.getBeanInfoSearchPath().length); Introspector.setBeanInfoSearchPath (search); } } mauve-20140821/gnu/testlet/java/beans/Introspector/getBeanInfo4.java0000644000175000001440000000476310262777375024070 0ustar dokousers//Tags: JDK1.2 //Uses: foo/TestSubject foo/info/TestSubjectBeanInfo bar/TestSubject bar/info/TestSubjectBeanInfo //Copyright (C) 2005 Robert Schuster //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.beans.Introspector; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.BeanDescriptor; import java.beans.BeanInfo; import java.beans.IntrospectionException; import java.beans.Introspector; /** * This class tests whether the Introspector is properly preparing the BeanInfo * classes of two Bean classes which live in different packages but share a * common base name. * * @author Robert Schuster * */ public class getBeanInfo4 implements Testlet { public void test(TestHarness harness) { Introspector.setBeanInfoSearchPath(new String[] { "gnu.testlet.java.beans.Introspector.foo.info", "gnu.testlet.java.beans.Introspector.bar.info" }); Class klazz; BeanInfo bi = null; BeanDescriptor bd; boolean failed = false; klazz = gnu.testlet.java.beans.Introspector.bar.TestSubject.class; try { bi = Introspector.getBeanInfo(klazz); } catch (IntrospectionException ie) { failed = true; } harness.checkPoint("BAR variant"); harness.check(failed, false); bd = bi.getBeanDescriptor(); harness.check(bd.getName(), "BAR TestSubject"); harness.check(bd.getBeanClass(), gnu.testlet.java.beans.Introspector.bar.TestSubject.class); failed = false; klazz = gnu.testlet.java.beans.Introspector.foo.TestSubject.class; try { bi = Introspector.getBeanInfo(klazz); } catch (IntrospectionException ie) { failed = true; } harness.checkPoint("FOO variant"); harness.check(failed, false); bd = bi.getBeanDescriptor(); harness.check(bd.getName(), "FOO TestSubject"); harness.check(bd.getBeanClass(), gnu.testlet.java.beans.Introspector.foo.TestSubject.class); } } mauve-20140821/gnu/testlet/java/beans/Introspector/bar/0000755000175000001440000000000012375316426021503 5ustar dokousersmauve-20140821/gnu/testlet/java/beans/Introspector/bar/info/0000755000175000001440000000000012375316426022436 5ustar dokousersmauve-20140821/gnu/testlet/java/beans/Introspector/bar/info/TestSubjectBeanInfo.java0000644000175000001440000000245610254433560027142 0ustar dokousers//Tags: not-a-test //Copyright (C) 2005 Robert Schuster //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.beans.Introspector.bar.info; import java.beans.SimpleBeanInfo; import java.beans.BeanDescriptor; /** * This class is part of Mauve test: * gnu.testlet.java.beans.Introspector.getBeanInfo4 * * @author Robert Schuster */ public class TestSubjectBeanInfo extends SimpleBeanInfo { private BeanDescriptor bd = new BeanDescriptor(gnu.testlet.java.beans.Introspector.bar.TestSubject.class); public TestSubjectBeanInfo() { bd.setName("BAR TestSubject"); } public BeanDescriptor getBeanDescriptor() { return bd; } } mauve-20140821/gnu/testlet/java/beans/Introspector/bar/TestSubject.java0000644000175000001440000000212710254433561024601 0ustar dokousers//Tags: not-a-test //Copyright (C) 2005 Robert Schuster //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.beans.Introspector.bar; /** * This class is part of Mauve test: * gnu.testlet.java.beans.Introspector.getBeanInfo4 * * @author Robert Schuster */ public class TestSubject implements java.io.Serializable { public TestSubject() { } public int getFoo() { return -1; } public void setFoo(int foo) { } } mauve-20140821/gnu/testlet/java/beans/Introspector/getBeanInfo.java0000644000175000001440000001533410234112127023751 0ustar dokousers// Tags: JDK1.2 // Uses: getBeanInfoTestClass //Copyright (C) 2004 Robert Schuster //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.beans.Introspector; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.BeanInfo; import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.Method; /** This tests the property retrieving mechanism of the * Introspector class. * *

    See {@link getBeanInfoTestClass} for details on what is * expected.

    * *

    The property test goes like this:

    *

    There is a test class having a number of well-known methods. Some of them should * make a property other should not. At first Method instances for * the properties are retrieved using reflection. Then the BeanInfo * instance of the test class is retrieved. Finally the test checks whether the * BeanInfo contains the right PropertyDescription * by testing their read and write methods against the methods that were retrieved * in the beginning.

    * * @author Robert Schuster */ public class getBeanInfo implements Testlet { public void test(TestHarness harness) { propertyTest(harness); } void propertyTest(TestHarness harness) { BeanInfo bi = null; Class testClass = getBeanInfoTestClass.class; Method readWritePropertyReadMethod = null; Method readWritePropertyWriteMethod = null; Method readOnlyPropertyReadMethod = null; Method writeOnlyPropertyWriteMethod = null; try { readWritePropertyReadMethod = testClass.getMethod("getCorrectProperty", new Class[0]); readWritePropertyWriteMethod = testClass.getMethod( "setCorrectProperty", new Class[] { Integer.TYPE }); readOnlyPropertyReadMethod = testClass.getMethod("getCorrectReadOnlyProperty", new Class[0]); writeOnlyPropertyWriteMethod = testClass.getMethod( "setCorrectWriteOnlyProperty", new Class[] { Integer.TYPE }); } catch (NoSuchMethodException nsme) { // if that happens check the test class (compiler?) harness.fail("TEST_PREPARATION_NOSUCHMETHODEXCEPTION"); } // checks availability of the instances. If any of these is null a NoSuchMethodException could have caused this harness.check( readWritePropertyReadMethod != null, "TEST_PREPARATION_METHOD_INSTANCE_1"); harness.check( readWritePropertyWriteMethod != null, "TEST_PREPARATION_METHOD_INSTANCE_2"); harness.check( readOnlyPropertyReadMethod != null, "TEST_PREPARATION_METHOD_INSTANCE_3"); harness.check( writeOnlyPropertyWriteMethod != null, "TEST_PREPARATION_METHOD_INSTANCE_4"); try { // introspects only the test class (we are not interested in the Object.getClass() method) bi = Introspector.getBeanInfo(testClass, Object.class); } catch (IntrospectionException ie) { harness.fail("TEST_PREPARATION_INTROSPECTION_EXCEPTION"); } harness.check(bi != null, "TEST_PREPARATION_VALID_BEANINFO"); PropertyDescriptor[] propertyDescriptors = bi.getPropertyDescriptors(); // expects 3 properties: read-write, read-only and write-only harness.check( propertyDescriptors.length, 3, "PROPERTY_DESCRIPTORS_ARRAY: expected 3 entries"); // boolean flagging whether we reached a certain property boolean readWritePresent = false; // boolean flagging whether we reached a certain property boolean readOnlyPresent = false; // boolean flagging whether we reached a certain property boolean writeOnlyPresent = false; for (int i = 0; i < 3; i++) { String name = propertyDescriptors[i].getName(); if (name.equals("correctProperty")) { harness.check(readWritePresent, false, "READ_WRITE_PRESENT1"); readWritePresent = true; harness.check( propertyDescriptors[i].getReadMethod(), readWritePropertyReadMethod, "READ_WRITE_READ_METHOD"); harness.check( propertyDescriptors[i].getWriteMethod(), readWritePropertyWriteMethod, "READ_WRITE_WRITE_METHOD"); } else if (name.equals("correctReadOnlyProperty")) { harness.check(readOnlyPresent, false, "READ_ONLY_PRESENT1"); readOnlyPresent = true; harness.check( propertyDescriptors[i].getReadMethod(), readOnlyPropertyReadMethod, "READ_ONLY_READ_METHOD"); harness.check( propertyDescriptors[i].getWriteMethod(), null, "READ_ONLY_WRITE_METHOD"); } else if (name.equals("correctWriteOnlyProperty")) { harness.check(writeOnlyPresent, false, "WRITE_ONLY_PRESENT1"); writeOnlyPresent = true; harness.check( propertyDescriptors[i].getReadMethod(), null, "WRITE_ONLY_READ_METHOD"); harness.check( propertyDescriptors[i].getWriteMethod(), writeOnlyPropertyWriteMethod, "WRITE_ONLY_WRITE_METHOD"); } } // after all methods have been checked we expect having reached all properties harness.check(readWritePresent, "READ_WRITE_PRESENT2"); harness.check(readOnlyPresent, "READ_ONLY_PRESENT2"); harness.check(writeOnlyPresent, "WRITE_ONLY_PRESENT2"); } } mauve-20140821/gnu/testlet/java/beans/Introspector/B.java0000644000175000001440000000022010404315147021743 0ustar dokousers//Tags: not-a-test package gnu.testlet.java.beans.Introspector; public class B extends A { public void a () { System.out.println ("a"); } } mauve-20140821/gnu/testlet/java/beans/SimpleBeanInfo/0000755000175000001440000000000012375316426021077 5ustar dokousersmauve-20140821/gnu/testlet/java/beans/SimpleBeanInfo/loadImage.java0000644000175000001440000000366311030376327023625 0ustar dokousers/* loadImage.java -- some checks for the loadImage() method in the SimpleBeanInfo class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: MySimpleBeanInfo // Files: testImage1.gif package gnu.testlet.java.beans.SimpleBeanInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Image; import java.awt.MediaTracker; import java.awt.Panel; import java.awt.image.ImageObserver; public class loadImage implements Testlet, ImageObserver { public boolean imageUpdate(Image img, int infoflags, int x, int y, int width, int height) { // TODO Auto-generated method stub return false; } public void test(TestHarness harness) { MySimpleBeanInfo i = new MySimpleBeanInfo(); Image image = i.loadImage("testImage1.gif"); MediaTracker mt = new MediaTracker(new Panel()); mt.addImage(image, 0); try { mt.waitForAll(); } catch (InterruptedException e) { e.printStackTrace(); } harness.check(!mt.isErrorAny()); harness.check(image.getWidth(null), 2); harness.check(image.getHeight(null), 2); harness.check(i.loadImage("someImageThatDoesNotExist.png"), null); harness.check(i.loadImage(null), null); } } mauve-20140821/gnu/testlet/java/beans/SimpleBeanInfo/getEventSetDescriptors.java0000644000175000001440000000235610524617340026420 0ustar dokousers/* getEventSetDescriptors.java -- some checks for the getEventSetDescriptors() method in the SimpleBeanInfo class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.beans.SimpleBeanInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.SimpleBeanInfo; public class getEventSetDescriptors implements Testlet { public void test(TestHarness harness) { SimpleBeanInfo i = new SimpleBeanInfo(); harness.check(i.getEventSetDescriptors(), null); } } mauve-20140821/gnu/testlet/java/beans/SimpleBeanInfo/testImage1.gif0000644000175000001440000000010310524617340023554 0ustar dokousersGIF89a¡ÿÿÿÿÿÿÿÿ!þCreated with The GIMP,Œ;mauve-20140821/gnu/testlet/java/beans/SimpleBeanInfo/MySimpleBeanInfo.java0000644000175000001440000000202210524617340025070 0ustar dokousers/* MySimpleBeanInfo.java -- support class for testing. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.java.beans.SimpleBeanInfo; import java.beans.SimpleBeanInfo; public class MySimpleBeanInfo extends SimpleBeanInfo { public MySimpleBeanInfo() { super(); } } mauve-20140821/gnu/testlet/java/beans/SimpleBeanInfo/getDefaultEventIndex.java0000644000175000001440000000234410524617340026014 0ustar dokousers/* getDefaultEventIndex.java -- some checks for the getDefaultEventIndex() method in the SimpleBeanInfo class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDk1.1 package gnu.testlet.java.beans.SimpleBeanInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.SimpleBeanInfo; public class getDefaultEventIndex implements Testlet { public void test(TestHarness harness) { SimpleBeanInfo i = new SimpleBeanInfo(); harness.check(i.getDefaultEventIndex(), -1); } } mauve-20140821/gnu/testlet/java/beans/SimpleBeanInfo/getAdditionalBeanInfo.java0000644000175000001440000000235110524617340026106 0ustar dokousers/* getAdditionalBeanInfo.java -- some checks for the getAdditionalBeanInfo() method in the SimpleBeanInfo class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.1 package gnu.testlet.java.beans.SimpleBeanInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.SimpleBeanInfo; public class getAdditionalBeanInfo implements Testlet { public void test(TestHarness harness) { SimpleBeanInfo i = new SimpleBeanInfo(); harness.check(i.getAdditionalBeanInfo(), null); } } mauve-20140821/gnu/testlet/java/beans/SimpleBeanInfo/getBeanDescriptor.java0000644000175000001440000000233210524617340025337 0ustar dokousers/* getBeanDescriptor.java -- some checks for the getBeanDescriptor() method in the SimpleBeanInfo class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.1 package gnu.testlet.java.beans.SimpleBeanInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.SimpleBeanInfo; public class getBeanDescriptor implements Testlet { public void test(TestHarness harness) { SimpleBeanInfo i = new SimpleBeanInfo(); harness.check(i.getBeanDescriptor(), null); } } mauve-20140821/gnu/testlet/java/beans/SimpleBeanInfo/getIcon.java0000644000175000001440000000270610524617340023330 0ustar dokousers/* getIcon.java -- some checks for the getIcon() method in the SimpleBeanInfo class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.1 package gnu.testlet.java.beans.SimpleBeanInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.SimpleBeanInfo; public class getIcon implements Testlet { public void test(TestHarness harness) { SimpleBeanInfo i = new SimpleBeanInfo(); harness.check(i.getIcon(SimpleBeanInfo.ICON_COLOR_16x16), null); harness.check(i.getIcon(SimpleBeanInfo.ICON_COLOR_32x32), null); harness.check(i.getIcon(SimpleBeanInfo.ICON_MONO_16x16), null); harness.check(i.getIcon(SimpleBeanInfo.ICON_MONO_32x32), null); harness.check(i.getIcon(-99), null); } } mauve-20140821/gnu/testlet/java/beans/SimpleBeanInfo/getDefaultPropertyIndex.java0000644000175000001440000000236010524617340026555 0ustar dokousers/* getDefaultPropertyIndex.java -- some checks for the getDefaultPropertyIndex() method in the SimpleBeanInfo class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDk1.1 package gnu.testlet.java.beans.SimpleBeanInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.SimpleBeanInfo; public class getDefaultPropertyIndex implements Testlet { public void test(TestHarness harness) { SimpleBeanInfo i = new SimpleBeanInfo(); harness.check(i.getDefaultPropertyIndex(), -1); } } mauve-20140821/gnu/testlet/java/beans/XMLDecoder/0000755000175000001440000000000012375316426020172 5ustar dokousersmauve-20140821/gnu/testlet/java/beans/XMLDecoder/PointArrayChecker.java0000644000175000001440000000413010205256164024400 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 Robert Schuster // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.beans.XMLDecoder; import java.awt.Point; /** Simply expects two java.awt.Point arrays and compares their content * for equality. * This is used for the pointArrayTest and the growablePointArrayTest. * See IntArrayChecker for a reason why this * EqualityChecker implementation is neccessary. * * Note: This implementation assumes that the array contains only * non-null values. * * @author Robert Schuster */ class PointArrayChecker implements EqualityChecker { public boolean areEqual(Object firstObject, Object secondObject) { try { // assure that the decoded object is really a java.awt.Point array // using reflection alchemy :) if (! Class.forName("[Ljava.awt.Point;").isInstance(firstObject)) return false; } catch (ClassNotFoundException cnfe) { throw new InternalError("VM was unable to return the class representing an java.awt.Point array."); } Point[] decodedArray = (Point[]) firstObject; Point[] expectedArray = (Point[]) secondObject; if (decodedArray.length != expectedArray.length) return false; int size = decodedArray.length; for (int i = 0; i < size; i++) { if (!decodedArray[i].equals(expectedArray[i])) return false; } return true; } } mauve-20140821/gnu/testlet/java/beans/XMLDecoder/EqualityChecker.java0000644000175000001440000000264610134017050024105 0ustar dokousers//Tags: not-a-test //Copyright (C) 2004 Robert Schuster //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.java.beans.XMLDecoder; /** Simple interface which can be implemented to provide the functionality * of Object.equals(Object) for classes which cannot be changed * and do not provide this feature. * * @author Robert Schuster * */ interface EqualityChecker { /** Returns true if the two given objects are semantically * equal. * * @param firstObject The first object used in the check. * @param secondObject The second object used in the check. * @return Whether the first and second object are semantically equal. */ boolean areEqual(Object firstObject, Object secondObject); } mauve-20140821/gnu/testlet/java/beans/XMLDecoder/jdk14.java0000644000175000001440000002373010234112127021737 0ustar dokousers// Tags: JDK1.4 // Uses: DecoderTestHelper EqualityChecker IntArrayChecker PointArrayChecker DoubleArrayChecker //Copyright (C) 2004 Robert Schuster //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.java.beans.XMLDecoder; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Point; import java.lang.ref.WeakReference; import java.util.ArrayList; import java.util.Iterator; import java.util.LinkedList; import java.util.List; /** Tests the main decoding functionality of java.beans.XMLDecoder. * * @author Robert Schuster * */ public class jdk14 implements Testlet { private List testHelpers = new LinkedList(); public jdk14() { /* The following lines repeatedly create a DecoderTestHelper instance, initialize it with * a specific object sequence and add it to the list of known DecoderTestHelpers. This * sets up all the testcases for the XMLDecoder. */ DecoderTestHelper testHelper; testHelper = new DecoderTestHelper("booleanTest", "gnu#testlet#java#beans#XMLDecoder#data#boolean.xml"); // keep the following synchronized with the XML file! testHelper.addObject(new Boolean(true)); testHelper.addObject(new Boolean(false)); addHelper(testHelper); // Tests decoding of characteristic byte values. testHelper = new DecoderTestHelper("byteTest", "gnu#testlet#java#beans#XMLDecoder#data#byte.xml"); // keep the following synchronized with the XML file! testHelper.addObject(new Byte((byte) -120)); testHelper.addObject(new Byte((byte) 0)); testHelper.addObject(new Byte(Byte.MIN_VALUE)); testHelper.addObject(new Byte(Byte.MAX_VALUE)); addHelper(testHelper); // Tests decoding of characteristic short values. testHelper = new DecoderTestHelper("shortTest", "gnu#testlet#java#beans#XMLDecoder#data#short.xml"); // keep the following synchronized with the XML file! testHelper.addObject(new Short((short) 16000)); testHelper.addObject(new Short((short) -16000)); testHelper.addObject(new Short(Short.MIN_VALUE)); testHelper.addObject(new Short(Short.MAX_VALUE)); addHelper(testHelper); // Tests decoding of characteristic int values. testHelper = new DecoderTestHelper("intTest", "gnu#testlet#java#beans#XMLDecoder#data#int.xml"); // keep the following synchronized with the XML file! testHelper.addObject(new Integer(54321)); testHelper.addObject(new Integer(-54321)); testHelper.addObject(new Integer(Integer.MIN_VALUE)); testHelper.addObject(new Integer(Integer.MAX_VALUE)); addHelper(testHelper); // Tests decoding of characteristic long values. testHelper = new DecoderTestHelper("longTest", "gnu#testlet#java#beans#XMLDecoder#data#long.xml"); // keep the following synchronized with the XML file! testHelper.addObject(new Long(5432154321L)); testHelper.addObject(new Long(-5432154321L)); testHelper.addObject(new Long(Long.MIN_VALUE)); testHelper.addObject(new Long(Long.MAX_VALUE)); addHelper(testHelper); // Tests decoding of characteristic float values. testHelper = new DecoderTestHelper("floatTest", "gnu#testlet#java#beans#XMLDecoder#data#float.xml"); // keep the following synchronized with the XML file! testHelper.addObject(new Float((float) Math.PI)); testHelper.addObject(new Float((float) Math.E)); testHelper.addObject(new Float((float) Math.pow(2, -16))); testHelper.addObject(new Float(0f)); testHelper.addObject(new Float(Float.NaN)); testHelper.addObject(new Float(Float.POSITIVE_INFINITY)); testHelper.addObject(new Float(Float.NEGATIVE_INFINITY)); addHelper(testHelper); // Tests decoding of characteristic double values. testHelper = new DecoderTestHelper("doubleTest", "gnu#testlet#java#beans#XMLDecoder#data#double.xml"); // keep the following synchronized with the XML file! testHelper.addObject(new Double(Math.PI)); testHelper.addObject(new Double(Math.E)); testHelper.addObject(new Double(Math.pow(2, -16))); testHelper.addObject(new Double(Double.MIN_VALUE)); testHelper.addObject(new Double(Double.MAX_VALUE)); testHelper.addObject(new Double(Double.NaN)); testHelper.addObject(new Double(Double.POSITIVE_INFINITY)); testHelper.addObject(new Double(Double.NEGATIVE_INFINITY)); addHelper(testHelper); // Tests decoding of elements that cannot contain sub elements or have IDs. testHelper = new DecoderTestHelper("simpleElementsTest", "gnu#testlet#java#beans#XMLDecoder#data#simpleElements.xml"); // keep the following synchronized with the XML file! testHelper.addObject(new Boolean(true)); testHelper.addObject(new Boolean(false)); testHelper.addObject(new Character('j')); testHelper.addObject(new Character('a')); testHelper.addObject(new Character('v')); testHelper.addObject(new Character('a')); testHelper.addObject(new Byte((byte) 8)); testHelper.addObject(new Short((short) 16)); testHelper.addObject(new Integer(32)); testHelper.addObject(new Long(64)); testHelper.addObject(new Float(32.0f)); testHelper.addObject(new Double(64.0)); testHelper.addObject("Hello World"); testHelper.addObject(Object.class); testHelper.addObject(null); addHelper(testHelper); // Tests decoding of two lists and their comparison result which is // computed while decoding. testHelper = new DecoderTestHelper("listTest", "gnu#testlet#java#beans#XMLDecoder#data#list.xml"); // keep the following synchronized with the XML file! List expectedList = new ArrayList(); expectedList.add(new Integer(100)); expectedList.add("Hello World"); expectedList.add(WeakReference.class); // XML data contains an ArrayList and a LinkedList with the same content testHelper.addObject(expectedList); testHelper.addObject(expectedList); // comparison result of the two lists it contains testHelper.addObject(new Boolean(true)); addHelper(testHelper); // Tests decoding a fixed-size int array. testHelper = new DecoderTestHelper("intArray", "gnu#testlet#java#beans#XMLDecoder#data#intArray.xml"); // keep the following synchronized with the XML file! testHelper.addObject(new int[] { 1, 2, 3 }, new IntArrayChecker()); // Tests decoding a growable int array (the growing is performed while decoding). testHelper = new DecoderTestHelper("growableIntArray", "gnu#testlet#java#beans#XMLDecoder#data#growableIntArray.xml"); // keep the following synchronized with the XML file! testHelper.addObject(new int[] { 0, 1, 2, 3, 4, 5 }, new IntArrayChecker()); addHelper(testHelper); /* Tests decoding a growable int array that has non-int subelements (that is byte and * short). */ testHelper = new DecoderTestHelper("growableIntArray2", "gnu#testlet#java#beans#XMLDecoder#data#growableIntArray2.xml"); // keep the following synchronized with the XML file! testHelper.addObject(new int[] { 0, 1, 2 }, new IntArrayChecker()); addHelper(testHelper); // Tests decoding a growable int array (the growing is performed while decoding). testHelper = new DecoderTestHelper("growableDoubleArray", "gnu#testlet#java#beans#XMLDecoder#data#growableDoubleArray.xml"); // keep the following synchronized with the XML file! testHelper.addObject(new double[] { 0, 1, 2, 3, 4, 5 }, new DoubleArrayChecker()); addHelper(testHelper); // Tests decoding a fixed-size java.awt.Point array. testHelper = new DecoderTestHelper("pointArrayTest", "gnu#testlet#java#beans#XMLDecoder#data#pointArray.xml"); // keep the following synchronized with the XML file! testHelper.addObject(new Point[] { new Point(0, 0), new Point(1, 1), new Point(2, 2) }, new PointArrayChecker()); addHelper(testHelper); // Tests decoding a growable java.awt.Point array (the growing is // performed while decoding). testHelper = new DecoderTestHelper("growablePointArrayTest", "gnu#testlet#java#beans#XMLDecoder#data#growablePointArray.xml"); // keep the following synchronized with the XML file! testHelper.addObject(new Point[] { new Point(0, 0), new Point(1, 1), new Point(2, 2), new Point(3, 3), new Point(4, 4), new Point(5, 5) }, new PointArrayChecker()); addHelper(testHelper); } private void addHelper(DecoderTestHelper helper) { testHelpers.add(helper); } public void test(TestHarness harness) { // simply iterates over all DecoderTestHelper instances // and does their comparison Iterator ite = testHelpers.iterator(); while (ite.hasNext()) ((DecoderTestHelper) ite.next()).doComparison(harness); } } mauve-20140821/gnu/testlet/java/beans/XMLDecoder/DecoderTestHelper.java0000644000175000001440000001463210205256164024400 0ustar dokousers//Tags: not-a-test //Uses: EqualityChecker //Copyright (C) 2004 Robert Schuster //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.java.beans.XMLDecoder; import gnu.testlet.ResourceNotFoundException; import gnu.testlet.TestHarness; import java.beans.ExceptionListener; import java.beans.XMLDecoder; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; /** Helper class for tests involving the XMLDecoder. It provides a simple environment to set up * a sequence of objects which is expected to be decoded and allows the registration of an * EqualityChecker instance for objects which do not provide a proper implementation * of Object.equals(Object). * * Note that the XMLDecoder commonly relies on a SAX parser being available. * * @author Robert Schuster * */ class DecoderTestHelper { private List expectedObjects = new ArrayList(); private Map checkers = new HashMap(); private String xmlFile; private String name; /** Creates the environment for a testcase of the XMLDecoder. The argument string must * be pointing to a XML file which can be loaded as a resource from the classpath. See * TestHarness.getResourceStream() for details. * * @param name A name that is displayed in case of errors * @param xmlResourceFilename A filename pointing to a XML file which can be loaded as a resource. */ DecoderTestHelper(String name, String xmlResourceFilename) { if (name == null || name.length() == 0) throw new IllegalArgumentException("Please provide a name for this test."); this.name = name; if (xmlResourceFilename == null) throw new IllegalArgumentException("No filename to a XML resource file provided."); xmlFile = xmlResourceFilename; } /** Adds an object to the sequence of expected objects to be decoded. * * @param obj Object which is expected to be decoded. */ protected final void addObject(Object obj) { expectedObjects.add(obj); } /** Adds an object to the sequence of expectedd objects to be an decoded and provides a specialized * EqualityChecker for the instance. Providing an EqualityChecker is useful * if the class of the given object does not properly support the Object.equals(Object) * method and cannot be changed. * * Note that only once EqualityChecker per expected object instance is allowed. If you * need the same object more than once in the sequence use the one-parameter form of * addObject() after the first registration only. * * @param obj Object which is expected to be decoded. * @param eqChecker A specialized EqualityChecker implementation for the given object. */ protected final void addObject(Object obj, EqualityChecker eqChecker) { // prevents registering an EqualityChecker more than once because such behaviour is not supported if (checkers.containsKey(obj)) throw new IllegalStateException("Already provided an EqualityChecker instance for object '" + obj + "'."); checkers.put(obj, eqChecker); addObject(obj); } final void doComparison(final TestHarness harness) { // creates an ExceptionListener implementation that lets the test fail // if one occurs ExceptionListener exListener = new ExceptionListener() { public void exceptionThrown(Exception e) { harness.fail(name + " - decode.readObject(): unexpected exception occured during decoding: " + e); } }; XMLDecoder decoder = null; // tries to initialize the XMLDecoder try { decoder = new XMLDecoder(harness.getResourceStream(xmlFile), null, exListener); } catch (ResourceNotFoundException e) { harness.fail(name + " - create XMLDecoder: unable to load resource from classpath: " + xmlFile); return; } /* compares each object of the XMLDecoder with the one that is expected either using * Object.equals() or using a specialized EqualityChecker instance */ Iterator ite = expectedObjects.iterator(); while (ite.hasNext()) { Object expectedObject = ite.next(); try { Object decodedObject = decoder.readObject(); if (checkers.containsKey(expectedObject)) { EqualityChecker eq = (EqualityChecker) checkers.get(expectedObject); harness.check(eq.areEqual(decodedObject, expectedObject), name + " - decoder.readObject()-loop"); } else harness.check(decodedObject, expectedObject, name + " - decoder.readObject()-loop"); } catch (ArrayIndexOutOfBoundsException aioobe) { decoder.close(); // that means that not enough objects where decoded harness.fail(name + " - decoder.close()"); harness.verbose(name + "decoder.close(): no more objects provided by XMLDecoder " + "although at least one more was expected"); return; } } /* After all expected objects have been compared there should not be any object left in the decoder. * Since there is no query method for this we have to invoke readObject() which should throw an * ArrayIndexOutOfBoundsException if there is no object left. */ try { decoder.readObject(); } catch (ArrayIndexOutOfBoundsException aioobe) { // this exception is expected decoder.close(); return; } // there was at least one object left if we reach this code harness.fail(name + " - readObject()-final: at least one unexpected object was left in the decoder"); decoder.close(); } } mauve-20140821/gnu/testlet/java/beans/XMLDecoder/IntArrayChecker.java0000644000175000001440000000353610134017050024040 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 Robert Schuster // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.beans.XMLDecoder; /** Simply expects two int arrays and compares their content for equality. * This is used for the intArrayTest and the growableIntArrayTest and is * needed because the following comparison results to false * in Java new int[] { 1, 2, 3 }.equals(new int[] { 1, 2, 3 }). * * @author Robert Schuster */ class IntArrayChecker implements EqualityChecker { public boolean areEqual(Object firstObject, Object secondObject) { try { if (! Class.forName("[I").isInstance(firstObject)) return false; } catch (ClassNotFoundException cnfe) { throw new InternalError("VM was unable to return the class representing an int array."); } int[] decodedArray = (int[]) firstObject; int[] expectedArray = (int[]) secondObject; if (decodedArray.length != expectedArray.length) return false; int size = decodedArray.length; for (int i = 0; i < size; i++) { if (decodedArray[i] != expectedArray[i]) return false; } return true; } } mauve-20140821/gnu/testlet/java/beans/XMLDecoder/DoubleArrayChecker.java0000644000175000001440000000354710205256164024534 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 Robert Schuster // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.java.beans.XMLDecoder; /** Simply expects two double arrays and compares their content for equality. * This is used for the growableDoubleArrayTest and is needed because the * following comparison results to false in Java * new double[] { 1, 2, 3 }.equals(new double[] { 1, 2, 3 }). * * @author Robert Schuster */ class DoubleArrayChecker implements EqualityChecker { public boolean areEqual(Object firstObject, Object secondObject) { try { if (! Class.forName("[D").isInstance(firstObject)) return false; } catch (ClassNotFoundException cnfe) { throw new InternalError("VM was unable to return the class representing an double array."); } double[] decodedArray = (double[]) firstObject; double[] expectedArray = (double[]) secondObject; if (decodedArray.length != expectedArray.length) return false; int size = decodedArray.length; for (int i = 0; i < size; i++) { if (decodedArray[i] != expectedArray[i]) return false; } return true; } } mauve-20140821/gnu/testlet/java/beans/XMLDecoder/data/0000755000175000001440000000000012375316426021103 5ustar dokousersmauve-20140821/gnu/testlet/java/beans/XMLDecoder/data/float.xml0000644000175000001440000000067010141012446022715 0ustar dokousers 3.1415927 2.7182817 1.5258789E-5 0 NaN Infinity -Infinity mauve-20140821/gnu/testlet/java/beans/XMLDecoder/data/short.xml0000644000175000001440000000036310141012446022746 0ustar dokousers 16000 -16000 -32768 32767 mauve-20140821/gnu/testlet/java/beans/XMLDecoder/data/long.xml0000644000175000001440000000041610141012446022545 0ustar dokousers 5432154321 -5432154321 -9223372036854775808 9223372036854775807 mauve-20140821/gnu/testlet/java/beans/XMLDecoder/data/int.xml0000644000175000001440000000035610141012446022403 0ustar dokousers 54321 -54321 -2147483648 2147483647 mauve-20140821/gnu/testlet/java/beans/XMLDecoder/data/growableIntArray2.xml0000644000175000001440000000036010205256165025153 0ustar dokousers 0 1 2 mauve-20140821/gnu/testlet/java/beans/XMLDecoder/data/boolean.xml0000644000175000001440000000022310141012446023221 0ustar dokousers true false mauve-20140821/gnu/testlet/java/beans/XMLDecoder/data/growableDoubleArray.xml0000644000175000001440000000047110205256165025554 0ustar dokousers 0 1 2 3 4 5 mauve-20140821/gnu/testlet/java/beans/XMLDecoder/data/growablePointArray.xml0000644000175000001440000000123610141012446025422 0ustar dokousers 0 0 1 1 2 2 3 3 4 4 5 5 mauve-20140821/gnu/testlet/java/beans/XMLDecoder/data/intArray.xml0000644000175000001440000000050210141012446023373 0ustar dokousers 1 2 3 mauve-20140821/gnu/testlet/java/beans/XMLDecoder/data/list.xml0000644000175000001440000000166210141012446022565 0ustar dokousers 100 Hello World java.lang.ref.WeakReference 100 Hello World java.lang.ref.WeakReference mauve-20140821/gnu/testlet/java/beans/XMLDecoder/data/simpleElements.xml0000644000175000001440000000121010141012446024565 0ustar dokousers true false j a v a 8 16 32 64 32.0 64.0 Hello World java.lang.Object mauve-20140821/gnu/testlet/java/beans/XMLDecoder/data/pointArray.xml0000644000175000001440000000102410141012446023732 0ustar dokousers 0 0 1 1 2 2 mauve-20140821/gnu/testlet/java/beans/XMLDecoder/data/double.xml0000644000175000001440000000105610141012446023061 0ustar dokousers 3.141592653589793 2.718281828459045 1.52587890625E-5 4.9E-324 1.7976931348623157E308 NaN Infinity -Infinity mauve-20140821/gnu/testlet/java/beans/XMLDecoder/data/byte.xml0000644000175000001440000000033410141012446022550 0ustar dokousers -120 0 -128 127 mauve-20140821/gnu/testlet/java/beans/XMLDecoder/data/growableIntArray.xml0000644000175000001440000000043410141012446025062 0ustar dokousers 0 1 2 3 4 5 mauve-20140821/gnu/testlet/java/beans/MethodDescriptor/0000755000175000001440000000000012375316426021523 5ustar dokousersmauve-20140821/gnu/testlet/java/beans/MethodDescriptor/constructorTest1.java0000644000175000001440000000314310143517356025671 0ustar dokousers// Tags: JDK1.1 //Copyright (C) 2003 Stephen Crawley //Copyright (C) 2004 Robert Schuster //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.beans.MethodDescriptor; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.beans.MethodDescriptor; /** This tests the MethodDescriptor using classes * of the Java API. * * @author Stephen Crawley * @author Robert Schuster */ public class constructorTest1 implements Testlet { public void test(TestHarness harness) { boolean ok; ok = true; try { new MethodDescriptor( java.awt.Component.class.getMethod( "getLocation", new Class[0])); } catch (NoSuchMethodException e) { harness.debug(e); ok = false; } harness.check(ok); } } mauve-20140821/gnu/testlet/java/beans/PropertyDescriptor/0000755000175000001440000000000012375316426022127 5ustar dokousersmauve-20140821/gnu/testlet/java/beans/PropertyDescriptor/constructorTest1.java0000644000175000001440000000573210143517357026304 0ustar dokousers// Tags: JDK1.1 //Copyright (C) 2003 Stephen Crawley //Copyright (C) 2004 Robert Schuster //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.beans.PropertyDescriptor; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.beans.*; /** This tests the PropertyDescriptor using certain classes * ofthe Java API (e.g. java.awt.Component). * * @author Stephen Crawley * @author Robert Schuster */ public class constructorTest1 implements Testlet { public void test(TestHarness harness) { boolean ok; ok = true; try { /* This constructor expects the property being read and writable. * The "name" property of java.awt.Component fullfills this * requirement and an IntrospectionException would mean an * implementation error. * * note: this is a weak test because it does not check whether the * PropertyDescriptor instance is created properly. */ new PropertyDescriptor("name", java.awt.Component.class); } catch (IntrospectionException e) { harness.debug(e); ok = false; } harness.check(ok); ok = true; try { /* Same constructor as above. The "visible" property is * read- and writeable. An IntrospectionException would denote * an error in the implementation. * * note: this is a weak test because it does not check whether the * PropertyDescriptor instance is created properly. */ new PropertyDescriptor("visible", java.awt.Component.class); } catch (IntrospectionException e) { harness.debug(e); ok = false; } harness.check(ok); ok = false; try { /* This instantiantion should fail because java.lang.Object has no "setClass" method * (= is read-only). */ new PropertyDescriptor("class", java.lang.Object.class); } catch (IntrospectionException e) { ok = true; } harness.check(ok); } } mauve-20140821/gnu/testlet/java/beans/PropertyDescriptor/constructorTest2.java0000644000175000001440000004773210143517357026313 0ustar dokousers// Tags: JDK1.1 //Copyright (C) 1998 Anthony Green //Copyright (C) 1998 Tom Tromey //Copyright (C) 2004 Robert Schuster //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.beans.PropertyDescriptor; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.beans.PropertyDescriptor; import java.beans.IntrospectionException; import java.lang.reflect.Method; /** * * @author Anthony Green * @author Tom Tromey * @author Robert Schuster */ public class constructorTest2 implements Testlet { /** Read method of int property "prop1". * * @return 0. */ public int getProp1() { return 0; } /** Write method of int property "prop1". * * @param val Unused. */ public void setProp1(int val) {} /** Read method of boolean property "prop2". * * This is the "get" variant of a boolean getter. * * @return false. */ public boolean getProp2() { return false; } /** Write method of boolean property "prop2". * * @param val Unused. */ public void setProp2(boolean val) {} /** Read method of boolean property "prop3". * * This is the "is" variant of a boolean getter. * * @return false. */ public boolean isProp3() { return false; } /** Write method of boolean property "prop3". * * @param val Unused. */ public void setProp3(boolean val) {} /** Read method of int property "prop4". * * This demonstrates an "is" variant of a int getter, * which is allowed in Sun's implementation of PropertyDescriptor * * @return 0. */ public int isProp4() { return 0; } /** Write method of int property "prop4". * * @param val Unused. */ public void setProp4(int val) {} /** Read method of boolean property "prop5".
    *
    * This is the "is" variant of the "getter". The "get" variant exists, too. * Sun's implementation of PropertyDescriptor allows that.
    *
    * Note: The difference to "prop6" is the order in which the methods are declared * in the source code. * * @return false. */ public boolean isProp5() { return false; } /** Read method of boolean property "prop5".
    *
    * This is the "get" variant of the "getter". The "is" variant exists, too. * Sun's implementation of PropertyDescriptor allows that.
    *
    * Note: The difference to "prop6" is the order in which the methods are declared * in the source code. * * @return false. */ public boolean getProp5() { return false; } /** Write method of boolean property "prop5". * * @param val Unused. */ public void setProp5(boolean val) {} /** Read method of boolean property "prop6".
    *
    * This is the "get" variant of the "getter". The "is" variant exists, too. * Sun's implementation of PropertyDescriptor allows that.
    *
    * Note: The difference to "prop5" is the order in which the methods are declared * in the source code. * * @return false. */ public boolean getProp6() { return false; } /** Read method of boolean property "prop6".
    *
    * This is the "is" variant of the "getter". The "get" variant exists, too. * Sun's implementation of PropertyDescriptor allows that.
    *
    * Note: The difference to "prop5" is the order in which the methods are declared * in the source code. * * @return false. */ public boolean isProp6() { return false; } /** Write method of boolean property "prop6". * * @param val Unused. */ public void setProp6(boolean val) {} /** boolean read method of property "prop7" that * has multiple "setter" or write methods with different argument types: * {@link setProp7(boolean)} and {@link setProp(int)}.
    *
    * Sun's implementation of PropertyDescriptor allows that.
    * * @return false. */ public boolean getProp7() { return false; } /** boolean write method of property "prop7" that * has multiple "setter" or write methods with different argument types. * See {@link setProp(int)} for the other write method.
    *
    * Sun's implementation of PropertyDescriptor allows that.
    * * @param val Unused. */ public void setProp7(boolean val) {} /** int write method of property "prop7" that * has multiple "setter" or write methods with different argument types. * See {@link setProp(boolean)} for the other write method.
    *
    * Sun's implementation of PropertyDescriptor allows that.
    * * @param val Unused. */ public void setProp7(int val) {} /** Read method of boolean property "error1". * This is a read-only property which is not allowed when using the * (String, Class) constructor of PropertyDescriptor.
    *
    * This is the "get" variant of a read method. * * @return false. */ public boolean getError1() { return false; } /** Read method of boolean property "error2". * This is a read-only property which is not allowed when using the * (String, Class) constructor of PropertyDescriptor.
    *
    * This is the "is" variant of a read method. * * @return false. */ public boolean isError2() { return false; } /** Write method of boolean property "error3". * This is a write-only property which is not allowed when using the * (String, Class) constructor of PropertyDescriptor.
    *
    * * @param val Unused. */ public void setError3(boolean val) {} /** Invalid read method of property "error4". It is illegal * because read methods are not allowed to have a void * return type.
    *
    * This method is the "get" variant of a read method. */ public void getError4() {} /** Write method of erroneous property "error4". * * @param val Unused. */ public void setError4(int val) {} /** Invalid read method of property "error5". It is illegal * because read methods are not allowed to have a void * return type.
    *
    * This method is the "is" variant of a read method. */ public void isError5() {} /** Write method of erroneous property "error5". * * @param val Unused. */ public void setError5(int val) {} /** Invalid read method of property "error6". It is illegal * because its return type is not compatible to the write method's * argument type.
    *
    * This method is the "get" variant of a read method. * * @return 0. */ public int getError6() { return 0; } /** Invalid write method of property "error6". It is illegal * because its argument type is not compatible to the read method's * return type.
    *
    * * @param val Unused. */ public void setError6(boolean val) {} /** Invalid read method of property "error7". It is illegal * because its return type is not compatible to the write method's * argument type.
    *
    * This method is the "is" variant of a read method. * * @return 0. */ public boolean isError7() { return false; } /** Invalid write method of property "error7". It is illegal * because its argument type is not compatible to the read method's * return type.
    *
    * * @param val Unused. */ public void setError7(int val) {} /** Invalid read method of property "error8". It is illegal * because its return type is not compatible to the write method's * argument type. This demonstrates a type mismatch with non-primitives.
    *
    * This method is the "get" variant of a read method. * * XXX: I doubt this is legal because the return type of the read method is assignable * from the write method's argument type. * * @return 0. */ public Object getError8() { return null; } /** Invalid write method of property "error8". It is illegal * because its argument type is not compatible to the read method's * return type. This demonstrates a type mismatch with non-primitives.
    *
    * * @param val Unused. */ public void setError8(String val) {} /** Invalid read method of property "error9". It is illegal * because its return type is not compatible to the write method's * argument type. This demonstrates a type mismatch with non-primitives.
    *
    * This method is the "get" variant of a read method. * * @return 0. */ public String getError9() { return null; } /** Invalid write method of property "error9". It is illegal * because its argument type is not compatible to the read method's * return type. This demonstrates a type mismatch with non-primitives.
    *
    * * @param val Unused. */ public void setError9(Object val) {} /** Read method of boolean property "error10". * The property is invalid because its write method does not accept * a single argument. * * @return false. */ public boolean isError10() { return false; } /** Invalid write method of property "error10". It is illegal * because it does not accept a single argument. */ public void setError10() {} /** Read method of boolean property "error11". * The property is invalid because its read method accepts an argument.
    *
    * This is the "get" variant of a read method. * * @param arg Unused. * @return false. */ public boolean getError11(int arg) { return false; } /** Write method of boolean property "error11". * The property is invalid because of its read method. * * @param val Unused. */ public void setError11(boolean val) {} /** Read method of boolean property "error12". * The property is invalid because its read method accepts an argument.
    *
    * This is the "is" variant of a read method. * * @param arg Unused. * @return false. */ public boolean isError12(int arg) { return false; } /** Write method of boolean property "error12". * The property is invalid because of its read method. * * @param val Unused. */ public void setError12(boolean val) {} /** Read method of boolean property "error13". * The property is invalid because of its write method. *
    * * @return false. */ public boolean isError13() { return false; } /** Write method of boolean property "error13". * The property is invalid because this method accepts an * extra argument.
    * * @param val Unused. * @param arg Unused. */ public void setError13(boolean val, int arg) {} /** Read method of illegally named Object property. * * @return null. */ public Object get() { return null; } /** Write method of illegally named Object property. * * @return null. */ public void set(Object val) {} /** Read method of illegally named Object property. * The method name does not respect the requirements of a JavaBean. * * @return null. */ public Object getknotted() { return null; } /** Write method of illegally named Object property. * The method name does not respect the requirements of a JavaBean. * * @param val Unused. */ public void setknotted(Object val) {} // Test the PropertyDescriptor(Class, String) constructor private void constructor1Tests(TestHarness harness) { String[] goodProperties = { "prop1", "prop2", "prop3", "prop4", "prop5", "prop6", "prop7" }; for (int i = 0; i < goodProperties.length; i++) { harness.checkPoint( "new PropertyDescriptor(" + goodProperties[i] + ") (should succeed)"); PropertyDescriptor pd; try { pd = new PropertyDescriptor( goodProperties[i], constructorTest2.class); harness.check(true); } catch (IntrospectionException e) { harness.debug(e); harness.check(false); continue; } harness.check(pd.getReadMethod() != null); harness.check(pd.getWriteMethod() != null); } harness.checkPoint("string constructor - binding"); String[] bindProperties = { "prop5", "prop6" }; for (int i = 0; i < bindProperties.length; i++) { harness.checkPoint( "new PropertyDescriptor(" + bindProperties[i] + ") (check bindings)"); try { PropertyDescriptor pd = new PropertyDescriptor( bindProperties[i], constructorTest2.class); Class propType = pd.getPropertyType(); Method readMethod = pd.getReadMethod(); harness.check(readMethod != null); if (readMethod == null) { continue; } harness.check(readMethod.getName().startsWith("is")); Class resType = readMethod.getReturnType(); harness.check(resType.equals(propType)); Method writeMethod = pd.getWriteMethod(); harness.check(writeMethod != null); if (writeMethod == null) { continue; } Class argType = writeMethod.getParameterTypes()[0]; harness.check(argType.equals(propType)); } catch (IntrospectionException e) {} } String[] badProperties = { "", "foo", "knotted", "???", "error1", "error2", "error3", "error4", "error5", "error6", "error7", "error8", "error9", "error10", "error11", "error12", "error13" }; for (int i = 0; i < badProperties.length; i++) { harness.checkPoint( "new PropertyDescriptor(" + badProperties[i] + ") (should fail)"); boolean ok = false; try { new PropertyDescriptor( badProperties[i], constructorTest2.class); } catch (IntrospectionException e) { ok = true; } harness.check(ok); } } private void constructor2Tests(TestHarness harness) { String[][] goodProperties = { { "prop1", "getProp1", "setProp1" }, { "prop2", "getProp2", "setProp2" }, { "prop3", "isProp3", "setProp3" }, { "prop4", "isProp4", "setProp4" }, { "prop5", "isProp5", "setProp5" }, { "prop5", "getProp5", "setProp5" }, { "prop6", "isProp6", "setProp6" }, { "prop6", "getProp6", "setProp6" }, { "prop7", "getProp7", "setProp7" }, { "prop7", "getProp7", null }, { "prop7", null, "setProp7" }, { "prop7", null, null }, }; for (int i = 0; i < goodProperties.length; i++) { harness.checkPoint( "new PropertyDescriptor(" + goodProperties[i][0] + ", " + goodProperties[i][1] + ", " + goodProperties[i][2] + ") (should succeed)"); boolean ok = true; try { new PropertyDescriptor( goodProperties[i][0], constructorTest2.class, goodProperties[i][1], goodProperties[i][2]); } catch (IntrospectionException e) { harness.debug(e); ok = false; } harness.check(ok); } String[][] badProperties = { { "foo", "getFoo", "setFoo" }, { "foo2", null, "setFoo2" }, { "foo3", "getFoo3", null }, { "bar", "", "" }, { "error4", "getError4", "setError4" }, { "error5", "isError5", "setError5" }, { "error6", "getError6", "setError6" }, { "error7", "isError7", "setError7" }, { "error8", "getError8", "setError8" }, { "error9", "getError9", "setError9" }, { "error10", "isError10", "setError10" }, { "error11", "getError11", "setError11" }, { "error12", "isError12", "setError12" }, { "error13", "isError13", "setError13" }, }; for (int i = 0; i < badProperties.length; i++) { harness.checkPoint( "new PropertyDescriptor(" + badProperties[i][0] + ", " + badProperties[i][1] + ", " + badProperties[i][2] + ") (should fail)"); boolean ok = false; try { new PropertyDescriptor( badProperties[i][0], constructorTest2.class, badProperties[i][1], badProperties[i][2]); } catch (IntrospectionException e) { ok = true; } harness.check(ok); } } public void test(TestHarness harness) { constructor1Tests(harness); constructor2Tests(harness); } } mauve-20140821/gnu/testlet/java/beans/beancontext/0000755000175000001440000000000012375316426020556 5ustar dokousersmauve-20140821/gnu/testlet/java/beans/beancontext/Remove.java0000644000175000001440000000744410434137660022662 0ustar dokousers// Tags: JDK1.2 /* Copyright (C) 2006 Andrew John Hughes (gnu_andrew@member.fsf.org) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.beans.beancontext; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.beans.PropertyVetoException; import java.beans.beancontext.BeanContext; import java.beans.beancontext.BeanContextChild; import java.beans.beancontext.BeanContextChildSupport; import java.beans.beancontext.BeanContextSupport; public class Remove implements Testlet { private static TestBeanContextSupport context = new TestBeanContextSupport(); private static BeanContextChild child = new BeanContextChildSupport(); private static BeanContextChild brokenChild = new BeanContextChildSupport() { public void setBeanContext(BeanContext c) throws PropertyVetoException { if (c == null) throw new PropertyVetoException("I don't like you.", null); } }; public void test(TestHarness h) { /* Setup */ h.check(context.add(child), "Child addition check"); /* Check child is added to context */ h.check(context.isEmpty() == false, "Non-empty check"); h.check(context.size() == 1, "Size of 1 check"); /* Check child now knows about context */ h.check(child.getBeanContext() == context, "Correct context check"); /* Check that context catches null */ try { context.remove(null); h.fail("Failed to catch null child"); } catch (Exception e) { h.check(e instanceof IllegalArgumentException, "Caught null child"); } /* Check handling of non-existant child */ h.check(context.remove(brokenChild) == false, "Remove non-existant child check"); h.check(context.add(brokenChild), "Add broken child check"); /* Check correct handling of veto from child */ try { context.remove(brokenChild); h.fail("Failed to catch veto by child"); } catch (Exception e) { h.check(e instanceof IllegalStateException, "Caught veto from child"); /* Check that child has not been removed */ h.check(context.size() == 2, "Same size after veto check"); } /* Check correct handling of broken child with no veto */ context.removeTest(h); /* Check the child was removed */ h.check(context.size() == 1, "Size of 1 check"); /* Check remove first child */ h.check(context.remove(child), "Remove child check"); /* Add child back */ h.check(context.add(child), "Child re-addition check"); /* Change child context from elsewhere */ try { child.setBeanContext(null); } catch (PropertyVetoException e) { h.debug(e); } h.check(context.size() == 0, "Empty context check"); } private static class TestBeanContextSupport extends BeanContextSupport { public void removeTest(TestHarness h) { /* Check correct handling of broken child with no veto */ try { h.check(remove(brokenChild, false), "Correctly avoided notification of child"); } catch (Exception e) { if (e instanceof IllegalStateException) h.fail("Wrongly threw veto when not asked to notify child"); else h.debug(e); } } } } mauve-20140821/gnu/testlet/java/beans/beancontext/Array.java0000644000175000001440000000370310434144347022475 0ustar dokousers// Tags: JDK1.2 /* Copyright (C) 2006 Andrew John Hughes (gnu_andrew@member.fsf.org) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.beans.beancontext; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.beans.beancontext.BeanContextChild; import java.beans.beancontext.BeanContextChildSupport; import java.beans.beancontext.BeanContextSupport; import java.util.Arrays; public class Array implements Testlet { private static BeanContextSupport context = new BeanContextSupport(); public void test(TestHarness h) { BeanContextChild[] children = new BeanContextChild[5]; /* Create and add five children */ for (int a = 0; a < 5; ++a) { children[a] = new BeanContextChildSupport(); context.add(children[a]); h.check(context.contains(children[a]), "Child " + a + " present."); } /* Check size */ h.check(context.size() == 5, "Size of 5 check"); /* Compare arrays */ Object[] addedChildren = context.toArray(); /* Order will differ, so we must find a matching one somewhere */ for (int a = 0; a < 5; ++a) { boolean flag = false; for (int b = 0; b < 5; ++b) if (addedChildren[b] == children[a]) flag = true; h.check(flag, "Check for child " + a + " in array."); } } } mauve-20140821/gnu/testlet/java/beans/beancontext/BeanContextServicesSupport/0000755000175000001440000000000012375316426026071 5ustar dokousers././@LongLink0000644000000000000000000000016600000000000011606 Lustar rootrootmauve-20140821/gnu/testlet/java/beans/beancontext/BeanContextServicesSupport/getChildBeanContextServicesListener.javamauve-20140821/gnu/testlet/java/beans/beancontext/BeanContextServicesSupport/getChildBeanContextServ0000644000175000001440000000343711015032471032522 0ustar dokousers/* getChildBeanContextServicesListener.java -- some checks for the getChildBeanContextServicesListener() method in the BeanContextServicesSupport class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: MyBeanContextServicesSupport package gnu.testlet.java.beans.beancontext.BeanContextServicesSupport; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.beancontext.BeanContextServicesSupport; public class getChildBeanContextServicesListener implements Testlet { public void test(TestHarness harness) { // try null harness.check(MyBeanContextServicesSupport.getChildBeanContextServicesListenerX(null), null); // try an object that doesn't implement the listener interface harness.check(MyBeanContextServicesSupport.getChildBeanContextServicesListenerX("XYZ"), null); // try an object that does implement the interface BeanContextServicesSupport bcss = new BeanContextServicesSupport(); harness.check(MyBeanContextServicesSupport.getChildBeanContextServicesListenerX(bcss), bcss); } } ././@LongLink0000644000000000000000000000015700000000000011606 Lustar rootrootmauve-20140821/gnu/testlet/java/beans/beancontext/BeanContextServicesSupport/MyBeanContextServicesSupport.javamauve-20140821/gnu/testlet/java/beans/beancontext/BeanContextServicesSupport/MyBeanContextServicesSu0000644000175000001440000000254610531472563032554 0ustar dokousers/* MyBeanContextServicesSupport.java -- support class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.java.beans.beancontext.BeanContextServicesSupport; import java.beans.beancontext.BeanContextServicesListener; import java.beans.beancontext.BeanContextServicesSupport; public class MyBeanContextServicesSupport extends BeanContextServicesSupport { public MyBeanContextServicesSupport() { super(); } public static final BeanContextServicesListener getChildBeanContextServicesListenerX(Object child) { return BeanContextServicesSupport.getChildBeanContextServicesListener(child); } } mauve-20140821/gnu/testlet/java/beans/beancontext/Add.java0000644000175000001440000000572210434122270022101 0ustar dokousers// Tags: JDK1.2 /* Copyright (C) 2006 Andrew John Hughes (gnu_andrew@member.fsf.org) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.beans.beancontext; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.beans.PropertyVetoException; import java.beans.beancontext.BeanContext; import java.beans.beancontext.BeanContextChild; import java.beans.beancontext.BeanContextChildSupport; import java.beans.beancontext.BeanContextSupport; public class Add implements Testlet { private static BeanContextSupport context = new BeanContextSupport(); private static BeanContextChild child = new BeanContextChildSupport(); private static BeanContextChild brokenChild = new BeanContextChildSupport() { public void setBeanContext(BeanContext c) throws PropertyVetoException { throw new PropertyVetoException("I don't like you.", null); } }; public void test(TestHarness h) { /* Check child is contextless */ h.check(child.getBeanContext() == null, "Contextless check"); /* Check initial empty status of context */ h.check(context.isEmpty(), "Empty check"); h.check(context.size() == 0, "Size of 0 check"); /* Add child */ h.check(context.add(child), "Child addition check"); /* Check child is added to context */ h.check(context.isEmpty() == false, "Non-empty check"); h.check(context.size() == 1, "Size of 1 check"); /* Check child now knows about context */ h.check(child.getBeanContext() == context, "Correct context check"); /* Check that context maintains set semantics */ h.check(context.add(child) == false, "Set check"); h.check(context.size() == 1, "Same size after failed addition check"); /* Check that context catches null */ try { context.add(null); h.fail("Failed to catch null child"); } catch (Exception e) { h.check(e instanceof IllegalArgumentException, "Caught null child"); } /* Check correct handling of veto from child */ try { context.add(brokenChild); h.fail("Failed to catch veto by child"); } catch (Exception e) { h.check(e instanceof IllegalStateException, "Caught veto from child"); /* Check that child has not been added */ h.check(context.size() == 1, "Same size after veto check"); } } } mauve-20140821/gnu/testlet/java/beans/beancontext/BeanContextSupport/0000755000175000001440000000000012375316426024365 5ustar dokousersmauve-20140821/gnu/testlet/java/beans/beancontext/BeanContextSupport/constructors.java0000644000175000001440000001327510524656620030005 0ustar dokousers/* constructors.java -- some checks for the constructors in the BeanContextSupport class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.beans.beancontext.BeanContextSupport; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.beancontext.BeanContext; import java.beans.beancontext.BeanContextSupport; import java.util.Locale; public class constructors implements Testlet { public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("()"); BeanContextSupport bcs = new BeanContextSupport(); harness.check(bcs.getBeanContext(), null); harness.check(bcs.getBeanContextPeer(), bcs); harness.check(bcs.beanContextChildPeer, bcs); harness.check(!bcs.needsGui()); harness.check(!bcs.isDesignTime()); harness.check(!bcs.avoidingGui()); harness.check(bcs.getLocale(), Locale.getDefault()); harness.check(bcs.size(), 0); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(BeanContext)"); BeanContext bc = new BeanContextSupport(); BeanContextSupport bcs = new BeanContextSupport(bc); harness.check(bcs.getBeanContext(), null); harness.check(bcs.getBeanContextPeer(), bc); harness.check(bcs.beanContextChildPeer, bc); harness.check(!bcs.needsGui()); harness.check(!bcs.isDesignTime()); harness.check(!bcs.avoidingGui()); harness.check(bcs.getLocale(), Locale.getDefault()); harness.check(bcs.size(), 0); // try null bcs = new BeanContextSupport(null); harness.check(bcs.getBeanContext(), null); harness.check(bcs.getBeanContextPeer(), bcs); harness.check(bcs.beanContextChildPeer, bcs); harness.check(!bcs.needsGui()); harness.check(!bcs.isDesignTime()); harness.check(!bcs.avoidingGui()); harness.check(bcs.getLocale(), Locale.getDefault()); harness.check(bcs.size(), 0); } public void testConstructor3(TestHarness harness) { harness.checkPoint("(BeanContext, Locale)"); BeanContext bc = new BeanContextSupport(); BeanContextSupport bcs = new BeanContextSupport(bc, Locale.FRANCE); harness.check(bcs.getBeanContext(), null); harness.check(bcs.getBeanContextPeer(), bc); harness.check(bcs.beanContextChildPeer, bc); harness.check(!bcs.needsGui()); harness.check(!bcs.isDesignTime()); harness.check(!bcs.avoidingGui()); harness.check(bcs.getLocale(), Locale.FRANCE); harness.check(bcs.size(), 0); // try null bcs = new BeanContextSupport(null, null); harness.check(bcs.getBeanContext(), null); harness.check(bcs.getBeanContextPeer(), bcs); harness.check(!bcs.needsGui()); harness.check(!bcs.isDesignTime()); harness.check(!bcs.avoidingGui()); harness.check(bcs.getLocale(), Locale.getDefault()); harness.check(bcs.size(), 0); } public void testConstructor4(TestHarness harness) { harness.checkPoint("(BeanContext, Locale, boolean)"); BeanContext bc = new BeanContextSupport(); BeanContextSupport bcs = new BeanContextSupport(bc, Locale.FRANCE, true); harness.check(bcs.getBeanContext(), null); harness.check(bcs.getBeanContextPeer(), bc); harness.check(bcs.beanContextChildPeer, bc); harness.check(!bcs.needsGui()); harness.check(bcs.isDesignTime()); harness.check(!bcs.avoidingGui()); harness.check(bcs.getLocale(), Locale.FRANCE); // try null bcs = new BeanContextSupport(null, null, true); harness.check(bcs.getBeanContext(), null); harness.check(bcs.getBeanContextPeer(), bcs); harness.check(bcs.beanContextChildPeer, bcs); harness.check(!bcs.needsGui()); harness.check(bcs.isDesignTime()); harness.check(!bcs.avoidingGui()); harness.check(bcs.getLocale(), Locale.getDefault()); harness.check(bcs.size(), 0); } public void testConstructor5(TestHarness harness) { harness.checkPoint("()"); harness.checkPoint("(BeanContext, Locale, boolean, boolean)"); BeanContext bc = new BeanContextSupport(); BeanContextSupport bcs = new BeanContextSupport(bc, Locale.FRANCE, true, true); harness.check(bcs.getBeanContext(), null); harness.check(bcs.getBeanContextPeer(), bc); harness.check(bcs.beanContextChildPeer, bc); harness.check(!bcs.needsGui()); harness.check(bcs.isDesignTime()); harness.check(!bcs.avoidingGui()); harness.check(bcs.getLocale(), Locale.FRANCE); // try null bcs = new BeanContextSupport(null, null, true, true); harness.check(bcs.getBeanContext(), null); harness.check(bcs.getBeanContextPeer(), bcs); harness.check(bcs.beanContextChildPeer, bcs); harness.check(!bcs.needsGui()); harness.check(bcs.isDesignTime()); harness.check(!bcs.avoidingGui()); harness.check(bcs.getLocale(), Locale.getDefault()); harness.check(bcs.size(), 0); } } ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/beans/beancontext/BeanContextSupport/getChildPropertyChangeListener.javamauve-20140821/gnu/testlet/java/beans/beancontext/BeanContextSupport/getChildPropertyChangeListener.0000644000175000001440000000405111015032471032453 0ustar dokousers/* getChildPropertyChangeListener.java -- some checks for the getChildPropertyChangeListener() method in the BeanContextSupport class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: MyBeanContextSupport package gnu.testlet.java.beans.beancontext.BeanContextSupport; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.beancontext.BeanContextChild; import java.beans.beancontext.BeanContextProxy; public class getChildPropertyChangeListener implements Testlet { static class MyBeanContextProxy implements BeanContextProxy { BeanContextChild bcs; public MyBeanContextProxy(BeanContextChild bcs) { this.bcs = bcs; } public BeanContextChild getBeanContextProxy() { return bcs; } } public void test(TestHarness harness) { // try a regular BeanContextSupport MyBeanContextSupport bcs1 = new MyBeanContextSupport(); harness.check(MyBeanContextSupport.getChildPropertyChangeListenerX(bcs1), bcs1); // try a proxy MyBeanContextSupport bcs2 = new MyBeanContextSupport(); MyBeanContextProxy proxy = new MyBeanContextProxy(bcs2); harness.check(MyBeanContextSupport.getChildPropertyChangeListenerX(proxy), null); // try null harness.check(MyBeanContextSupport.getChildPropertyChangeListenerX(null), null); } } mauve-20140821/gnu/testlet/java/beans/beancontext/BeanContextSupport/toArray.java0000644000175000001440000000757110531146620026650 0ustar dokousers/* toArray.java -- some checks for the toArray() methods in the BeanContextSupport class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.beans.beancontext.BeanContextSupport; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.beancontext.BeanContextSupport; import java.util.Arrays; import java.util.List; public class toArray implements Testlet { public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("()"); BeanContextSupport bcs = new BeanContextSupport(); Object[] array = bcs.toArray(); harness.check(array.length, 0); BeanContextSupport child1 = new BeanContextSupport(); bcs.add(child1); array = bcs.toArray(); harness.check(array.length, 1); harness.check(array[0] == child1); bcs.add("Child2"); array = bcs.toArray(); harness.check(array.length, 2); // use a list to check membership, because the order is not guaranteed List children = Arrays.asList(array); harness.check(children.contains(child1)); harness.check(children.contains("Child2")); } public void testMethod2(TestHarness harness) { harness.checkPoint("(Object[])"); BeanContextSupport bcs = new BeanContextSupport(); // try null boolean pass = false; try { bcs.toArray(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try zero length array for zero children Object[] array1 = new Object[0]; Object[] array2 = bcs.toArray(array1); harness.check(array2 == array1); // try array length 1 for zero children array1 = new Object[1]; array2 = bcs.toArray(array1); harness.check(array2 == array1); harness.check(array2[0], null); // try array length 0 for 1 child BeanContextSupport child1 = new BeanContextSupport(); bcs.add(child1); array1 = new Object[0]; array2 = bcs.toArray(array1); harness.check(array2 != array1); harness.check(array2.length, 1); harness.check(array2[0], child1); // try array length 1 for 1 child array1 = new Object[1]; array2 = bcs.toArray(array1); harness.check(array2 == array1); harness.check(array2[0], child1); // try array length 2 for 1 child array1 = new Object[2]; array2 = bcs.toArray(array1); harness.check(array2 == array1); harness.check(array2[0], child1); harness.check(array2[1], null); // try array length 2 for 2 children bcs.add("Child 2"); array1 = new Object[2]; array2 = bcs.toArray(array1); harness.check(array2 == array1); // use a list to check membership, because the order is not guaranteed List children = Arrays.asList(array2); harness.check(children.contains(child1)); harness.check(children.contains("Child 2")); // try an array of the wrong type String[] array3 = new String[2]; pass = false; try { bcs.toArray(array3); } catch (ArrayStoreException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/beans/beancontext/BeanContextSupport/getChildVisibility.java0000644000175000001440000000374111015032471031011 0ustar dokousers/* getChildVisibility.java -- some checks for the getChildVisibility() method in the BeanContextSupport class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: MyBeanContextSupport package gnu.testlet.java.beans.beancontext.BeanContextSupport; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.beancontext.BeanContextChild; import java.beans.beancontext.BeanContextProxy; public class getChildVisibility implements Testlet { static class MyBeanContextProxy implements BeanContextProxy { BeanContextChild bcs; public MyBeanContextProxy(BeanContextChild bcs) { this.bcs = bcs; } public BeanContextChild getBeanContextProxy() { return bcs; } } public void test(TestHarness harness) { // try a regular BeanContextSupport MyBeanContextSupport bcs1 = new MyBeanContextSupport(); harness.check(MyBeanContextSupport.getChildVisibilityX(bcs1), bcs1); // try a proxy MyBeanContextSupport bcs2 = new MyBeanContextSupport(); MyBeanContextProxy proxy = new MyBeanContextProxy(bcs2); harness.check(MyBeanContextSupport.getChildVisibilityX(proxy), null); // try null harness.check(MyBeanContextSupport.getChildVisibilityX(null), null); } } ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/beans/beancontext/BeanContextSupport/getChildVetoableChangeListener.javamauve-20140821/gnu/testlet/java/beans/beancontext/BeanContextSupport/getChildVetoableChangeListener.0000644000175000001440000000405111015032471032370 0ustar dokousers/* getChildVetoableChangeListener.java -- some checks for the getChildVetoableChangeListener() method in the BeanContextSupport class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: MyBeanContextSupport package gnu.testlet.java.beans.beancontext.BeanContextSupport; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.beancontext.BeanContextChild; import java.beans.beancontext.BeanContextProxy; public class getChildVetoableChangeListener implements Testlet { static class MyBeanContextProxy implements BeanContextProxy { BeanContextChild bcs; public MyBeanContextProxy(BeanContextChild bcs) { this.bcs = bcs; } public BeanContextChild getBeanContextProxy() { return bcs; } } public void test(TestHarness harness) { // try a regular BeanContextSupport MyBeanContextSupport bcs1 = new MyBeanContextSupport(); harness.check(MyBeanContextSupport.getChildVetoableChangeListenerX(bcs1), bcs1); // try a proxy MyBeanContextSupport bcs2 = new MyBeanContextSupport(); MyBeanContextProxy proxy = new MyBeanContextProxy(bcs2); harness.check(MyBeanContextSupport.getChildVetoableChangeListenerX(proxy), null); // try null harness.check(MyBeanContextSupport.getChildVetoableChangeListenerX(null), null); } } mauve-20140821/gnu/testlet/java/beans/beancontext/BeanContextSupport/getChildBeanContextChild.java0000644000175000001440000000511411015032471032034 0ustar dokousers/* getChildBeanContextChild.java -- some checks for the getChildBeanContextChild() method in the BeanContextSupport class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: MyBeanContextSupport package gnu.testlet.java.beans.beancontext.BeanContextSupport; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.beancontext.BeanContextChild; import java.beans.beancontext.BeanContextProxy; import java.beans.beancontext.BeanContextSupport; public class getChildBeanContextChild implements Testlet { static class MyBeanContextProxy implements BeanContextProxy { BeanContextChild bcs; public MyBeanContextProxy(BeanContextChild bcs) { this.bcs = bcs; } public BeanContextChild getBeanContextProxy() { return bcs; } } static class BadProxy extends BeanContextSupport implements BeanContextProxy { BeanContextChild bcs; public BadProxy(BeanContextChild bcs) { this.bcs = bcs; } public BeanContextChild getBeanContextProxy() { return bcs; } } public void test(TestHarness harness) { // try a regular BeanContextChild MyBeanContextSupport bcs1 = new MyBeanContextSupport(); harness.check(MyBeanContextSupport.getChildBeanContextChildX(bcs1), bcs1); // try a proxy MyBeanContextSupport bcs2 = new MyBeanContextSupport(); MyBeanContextProxy proxy = new MyBeanContextProxy(bcs2); harness.check(MyBeanContextSupport.getChildBeanContextChildX(proxy), bcs2); // try bad proxy BadProxy bp = new BadProxy(bcs2); boolean pass = false; try { MyBeanContextSupport.getChildBeanContextChildX(bp); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try null harness.check(MyBeanContextSupport.getChildBeanContextChildX(null), null); } } mauve-20140821/gnu/testlet/java/beans/beancontext/BeanContextSupport/MyBeanContextSupport.java0000644000175000001440000000523110531275154031340 0ustar dokousers/* MyBeanContextSupport.java -- support class Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.java.beans.beancontext.BeanContextSupport; import java.beans.PropertyChangeListener; import java.beans.VetoableChangeListener; import java.beans.Visibility; import java.beans.beancontext.BeanContextChild; import java.beans.beancontext.BeanContextMembershipListener; import java.beans.beancontext.BeanContextSupport; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; import java.util.Collection; public class MyBeanContextSupport extends BeanContextSupport { public MyBeanContextSupport() { super(); } public static BeanContextChild getChildBeanContextChildX(Object child) { return BeanContextSupport.getChildBeanContextChild(child); } public static BeanContextMembershipListener getChildBeanContextMembershipListenerX( Object child) { return BeanContextSupport.getChildBeanContextMembershipListener(child); } public static PropertyChangeListener getChildPropertyChangeListenerX( Object child) { return BeanContextSupport.getChildPropertyChangeListener(child); } public static Serializable getChildSerializableX(Object child) { return BeanContextSupport.getChildSerializable(child); } public static VetoableChangeListener getChildVetoableChangeListenerX( Object child) { return BeanContextSupport.getChildVetoableChangeListener(child); } public static Visibility getChildVisibilityX(Object child) { return BeanContextSupport.getChildVisibility(child); } protected void deserializeX(ObjectInputStream ois, Collection coll) throws IOException, ClassNotFoundException { super.deserialize(ois, coll); } protected void serializeX(ObjectOutputStream oos, Collection coll) throws IOException { super.serialize(oos, coll); } } mauve-20140821/gnu/testlet/java/beans/beancontext/BeanContextSupport/getChildSerializable.java0000644000175000001440000000375511015032471031275 0ustar dokousers/* getChildSerializable.java -- some checks for the getChildSerializable() method in the BeanContextSupport class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: MyBeanContextSupport package gnu.testlet.java.beans.beancontext.BeanContextSupport; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.beancontext.BeanContextChild; import java.beans.beancontext.BeanContextProxy; public class getChildSerializable implements Testlet { static class MyBeanContextProxy implements BeanContextProxy { BeanContextChild bcs; public MyBeanContextProxy(BeanContextChild bcs) { this.bcs = bcs; } public BeanContextChild getBeanContextProxy() { return bcs; } } public void test(TestHarness harness) { // try a regular BeanContextSupport MyBeanContextSupport bcs1 = new MyBeanContextSupport(); harness.check(MyBeanContextSupport.getChildSerializableX(bcs1), bcs1); // try a proxy MyBeanContextSupport bcs2 = new MyBeanContextSupport(); MyBeanContextProxy proxy = new MyBeanContextProxy(bcs2); harness.check(MyBeanContextSupport.getChildSerializableX(proxy), null); // try null harness.check(MyBeanContextSupport.getChildSerializableX(null), null); } } ././@LongLink0000644000000000000000000000016000000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/java/beans/beancontext/BeanContextSupport/getChildBeanContextMembershipListener.javamauve-20140821/gnu/testlet/java/beans/beancontext/BeanContextSupport/getChildBeanContextMembershipLi0000644000175000001440000000465611015032471032463 0ustar dokousers/* getChildBeanContextMembershipListener.java -- some checks for the getChildBeanContextMembershipListener() method in the BeanContextSupport class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: MyBeanContextSupport package gnu.testlet.java.beans.beancontext.BeanContextSupport; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.beancontext.BeanContextChild; import java.beans.beancontext.BeanContextMembershipEvent; import java.beans.beancontext.BeanContextMembershipListener; import java.beans.beancontext.BeanContextProxy; public class getChildBeanContextMembershipListener implements Testlet { static class MyBeanContextProxy implements BeanContextProxy, BeanContextMembershipListener { public void childrenAdded(BeanContextMembershipEvent bcme) { // ignore } public void childrenRemoved(BeanContextMembershipEvent bcme) { // ignore } BeanContextChild bcs; public MyBeanContextProxy(BeanContextChild bcs) { this.bcs = bcs; } public BeanContextChild getBeanContextProxy() { return bcs; } } public void test(TestHarness harness) { // try a regular BeanContextSupport MyBeanContextSupport bcs1 = new MyBeanContextSupport(); harness.check(MyBeanContextSupport.getChildBeanContextMembershipListenerX(bcs1), null); // try a proxy MyBeanContextSupport bcs2 = new MyBeanContextSupport(); MyBeanContextProxy proxy = new MyBeanContextProxy(bcs2); harness.check(MyBeanContextSupport.getChildBeanContextMembershipListenerX(proxy), proxy); // try null harness.check(MyBeanContextSupport.getChildBeanContextMembershipListenerX(null), null); } } mauve-20140821/gnu/testlet/java/beans/beancontext/BeanContextSupport/getBeanContextPeer.java0000644000175000001440000000342010524656620030752 0ustar dokousers/* getBeanContextPeer.java -- some checks for the getBeanContextPeer() method in the BeanContextSupport class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.beans.beancontext.BeanContextSupport; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.beancontext.BeanContextChildSupport; import java.beans.beancontext.BeanContextSupport; public class getBeanContextPeer implements Testlet { public void test(TestHarness harness) { BeanContextSupport bcs1 = new BeanContextSupport(); BeanContextSupport bcs2 = new BeanContextSupport(bcs1); harness.check(bcs1.getBeanContextPeer(), bcs1); harness.check(bcs2.getBeanContextPeer(), bcs1); // we can determine that this method actually returns the // beanContextChildPeer field as follows... boolean pass = true; bcs2.beanContextChildPeer = new BeanContextChildSupport(); try { bcs2.getBeanContextPeer(); } catch (ClassCastException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/java/beans/beancontext/BeanContextSupport/setDesignTime.java0000644000175000001440000000367010527004207027766 0ustar dokousers/* setDesignTime.java -- some checks for the setDesignTime() method in the BeanContextSupport class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.java.beans.beancontext.BeanContextSupport; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.beans.beancontext.BeanContextSupport; public class setDesignTime implements Testlet, PropertyChangeListener { PropertyChangeEvent lastEvent; public void propertyChange(PropertyChangeEvent evt) { lastEvent = evt; } /** * See bug parade entry 4295174 */ public void test(TestHarness harness) { BeanContextSupport bcs = new BeanContextSupport(); bcs.addPropertyChangeListener("designTime", this); harness.check(bcs.isDesignTime(), false); bcs.setDesignTime(true); harness.check(lastEvent, null); bcs.addPropertyChangeListener("designMode", this); bcs.setDesignTime(false); harness.check(lastEvent.getPropertyName(), "designMode"); harness.check(lastEvent.getNewValue(), Boolean.FALSE); harness.check(lastEvent.getOldValue(), Boolean.TRUE); harness.check(lastEvent.getSource(), bcs); } } mauve-20140821/gnu/testlet/java/beans/beancontext/BeanContextSupport/serialize.java0000644000175000001440000001450611015032471027206 0ustar dokousers/* serialize.java -- some checks for the serialize() method in the BeanContextSupport class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: MyBeanContextSupport package gnu.testlet.java.beans.beancontext.BeanContextSupport; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.GradientPaint; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; public class serialize implements Testlet { public void test(TestHarness harness) { MyBeanContextSupport bcs = new MyBeanContextSupport(); // try null collection ByteArrayOutputStream buffer = new ByteArrayOutputStream(); boolean pass = false; try { ObjectOutputStream out = new ObjectOutputStream(buffer); bcs.serializeX(out, null); } catch (NullPointerException e) { pass = true; } catch (IOException e) { e.printStackTrace(); } harness.check(pass); // try serializing an empty collection Collection c1 = new ArrayList(); buffer = new ByteArrayOutputStream(); try { ObjectOutputStream out = new ObjectOutputStream(buffer); bcs.serializeX(out, c1); out.close(); ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream( buffer.toByteArray())); Collection c2 = new HashSet(); bcs.deserializeX(in, c2); in.close(); harness.check(c2.isEmpty()); } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } // try collection with one item c1 = new ArrayList(); c1.add(new Integer(99)); buffer = new ByteArrayOutputStream(); try { ObjectOutputStream out = new ObjectOutputStream(buffer); bcs.serializeX(out, c1); out.close(); ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream( buffer.toByteArray())); Collection c2 = new HashSet(); bcs.deserializeX(in, c2); in.close(); harness.check(c2.contains(new Integer(99))); } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } // try collection with two different items c1 = new ArrayList(); c1.add(new Integer(99)); c1.add("Item 2"); buffer = new ByteArrayOutputStream(); try { ObjectOutputStream out = new ObjectOutputStream(buffer); bcs.serializeX(out, c1); out.close(); ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream( buffer.toByteArray())); Collection c2 = new HashSet(); bcs.deserializeX(in, c2); in.close(); harness.check(c2.contains(new Integer(99))); harness.check(c2.contains("Item 2")); } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } // try collection with a non-serializable item c1 = new ArrayList(); c1.add(new GradientPaint(1.0f, 2.0f, Color.red, 3.0f, 4.0f, Color.blue)); buffer = new ByteArrayOutputStream(); try { ObjectOutputStream out = new ObjectOutputStream(buffer); bcs.serializeX(out, c1); out.close(); ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream( buffer.toByteArray())); Collection c2 = new HashSet(); bcs.deserializeX(in, c2); in.close(); harness.check(c2.isEmpty()); } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } // try null output stream pass = false; try { bcs.serializeX(null, new ArrayList()); } catch (NullPointerException e) { pass = true; } catch (IOException e) { e.printStackTrace(); } harness.check(pass); // try reading back a single item into a collection that is not empty c1 = new ArrayList(); c1.add("XYZ"); buffer = new ByteArrayOutputStream(); try { ObjectOutputStream out = new ObjectOutputStream(buffer); bcs.serializeX(out, c1); out.close(); ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream( buffer.toByteArray())); Collection c2 = new HashSet(); c2.add("ABC"); bcs.deserializeX(in, c2); in.close(); harness.check(c2.size(), 2); harness.check(c2.contains("XYZ")); harness.check(c2.contains("ABC")); } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } // try serializing a collection containing a null item c1 = new ArrayList(); c1.add("XYZ"); c1.add(null); buffer = new ByteArrayOutputStream(); try { ObjectOutputStream out = new ObjectOutputStream(buffer); bcs.serializeX(out, c1); out.close(); ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream( buffer.toByteArray())); Collection c2 = new HashSet(); bcs.deserializeX(in, c2); in.close(); harness.check(c2.size(), 1); harness.check(c2.contains("XYZ")); } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } } } mauve-20140821/gnu/testlet/java/beans/beancontext/InstantiateChild.java0000644000175000001440000000310510434146655024646 0ustar dokousers// Tags: JDK1.2 /* Copyright (C) 2006 Andrew John Hughes (gnu_andrew@member.fsf.org) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.java.beans.beancontext; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.beans.beancontext.BeanContextSupport; public class InstantiateChild implements Testlet { private static BeanContextSupport context = new BeanContextSupport(); public void test(TestHarness h) { try { /* Check initial empty status of context */ h.check(context.isEmpty(), "Empty check"); h.check(context.size() == 0, "Size of 0 check"); /* Add child */ context.instantiateChild("java.beans.beancontext.BeanContextChildSupport"); /* Check child is added to context */ h.check(context.isEmpty() == false, "Non-empty check"); h.check(context.size() == 1, "Size of 1 check"); } catch (Exception e) { h.debug(e); } } } mauve-20140821/gnu/testlet/java/beans/EventSetDescriptor/0000755000175000001440000000000012375316426022040 5ustar dokousersmauve-20140821/gnu/testlet/java/beans/EventSetDescriptor/constructorTest1.java0000644000175000001440000000327410143517357026214 0ustar dokousers// Tags: JDK1.1 //Copyright (C) 2003 Stephen Crawley //Copyright (C) 2004 Robert Schuster //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.beans.EventSetDescriptor; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.beans.EventSetDescriptor; import java.beans.IntrospectionException; /** This tests the EventSetDescriptor using classes * of the Java API. * * @author Stephen Crawley * @author Robert Schuster */ public class constructorTest1 implements Testlet { public void test(TestHarness harness) { boolean ok; ok = true; try { new EventSetDescriptor( java.awt.Button.class, "action", java.awt.event.ActionListener.class, "actionPerformed"); } catch (IntrospectionException e) { harness.debug(e); ok = false; } harness.check(ok); } } mauve-20140821/gnu/testlet/java/beans/Beans/0000755000175000001440000000000012375316426017274 5ustar dokousersmauve-20140821/gnu/testlet/java/beans/Beans/TestBean3.java0000644000175000001440000000201610161366334021720 0ustar dokousers//Tags: not-a-test //Copyright (C) 2004 Robert Schuster //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.beans.Beans; /** If this bean is instantiated this will fail with a InstantiationException since * it does not provide a zero-argument constructor. * * @author Robert Schuster */ public class TestBean3 { public TestBean3(int i) { } } mauve-20140821/gnu/testlet/java/beans/Beans/TestBean2.java0000644000175000001440000000242710161366334021725 0ustar dokousers//Tags: not-a-test //Copyright (C) 2004 Robert Schuster //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.beans.Beans; /** If this bean class is instantiated with * java.beans.Beans.instantiate the operation * will fail with a RuntimeException wrapped in a * ClassNotFoundException. *

    This is true for >=1.5 only.

    * * @author Robert Schuster */ public class TestBean2 { public TestBean2() { /* Throwing a RuntimeException will let every * reflective instantantiation fail with an * InstantiationException. */ throw new RuntimeException(); } } mauve-20140821/gnu/testlet/java/beans/Beans/TestBean4.java0000644000175000001440000000213310161366334021721 0ustar dokousers//Tags: not-a-test //Copyright (C) 2004 Robert Schuster //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.beans.Beans; /** Constructor throws a specific Error subclass that should not * be intercepted by java.beans.Beans.instantiate. * * @author Robert Schuster */ public class TestBean4 { public TestBean4() { throw new TestBean4.Error(); } static final class Error extends java.lang.Error { } } mauve-20140821/gnu/testlet/java/beans/Beans/instantiate_1.java0000644000175000001440000000741010234112126022663 0ustar dokousers// Tags: JDK1.2 // Uses: TestBean1 TestBean2 TestBean3 TestBean4 //Copyright (C) 2004 Robert Schuster //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.beans.Beans; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.beans.Beans; /** Various java.beans.Beans.instantiate tests. * * @author Robert Schuster */ public class instantiate_1 implements Testlet { public void test(TestHarness harness) { ClassLoader cl = getClass().getClassLoader(); /** Tries to instantiate a Bean with a private * constructor and expects an IllegalAccessException * wrapped in an ClassNotFoundException to be thrown. */ try { Beans.instantiate(cl, "gnu.testlet.java.beans.Beans.TestBean1"); // If this is called then the instantiation succeeded. harness.fail("Private constructor 1"); } catch (Exception e) { harness.check( e instanceof ClassNotFoundException, "Private constructor 2"); harness.check( e.getCause() instanceof IllegalAccessException, "Private constructor 3"); } /** Tries to instantiate a Bean that throws a RuntimeException * in its constructor and expects an RuntimeException * wrapped in an ClassNotFoundException to be thrown. */ try { Beans.instantiate(cl, "gnu.testlet.java.beans.Beans.TestBean2"); // If this is called then the instantiation succeeded. harness.fail("Exception in Constructor 1"); } catch (Exception e) { harness.check( e instanceof ClassNotFoundException, "Exception in Constructor 2"); harness.check( e.getCause() instanceof RuntimeException, "Exception in Constructor 3"); } /** TestBean3 does not provide a zero-argument constructor. This results in * an InstantiationException that is wrapped in a ClassNotFoundException. */ try { Beans.instantiate(cl, "gnu.testlet.java.beans.Beans.TestBean3"); // If this is called then the instantiation succeeded. harness.fail("Missing zero-argument constructor 1"); } catch (Exception e) { harness.check( e instanceof ClassNotFoundException, "Missing zero-argument constructor 2"); harness.check( e.getCause() instanceof InstantiationException, "Missing zero-argument constructor 3"); } /* TestBean4 throws a specific TestBean4.Error. The Bean.instantiate * method should not intercept this. That means we can catch the * the TestBean4.Error instance here. */ try { Beans.instantiate(cl, "gnu.testlet.java.beans.Beans.TestBean4"); // If this is called then the instantiation succeeded. harness.fail("specific Error in constructor 1"); } catch (TestBean4.Error _) { harness.check(true, "specific Error in constructor 2"); } catch(Exception e) { harness.fail("specific Error in constructor 3"); } } } mauve-20140821/gnu/testlet/java/beans/Beans/TestBean1.java0000644000175000001440000000225710161366334021725 0ustar dokousers//Tags: not-a-test //Copyright (C) 2004 Robert Schuster //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.java.beans.Beans; /** If this class is instantiated using java.bean.Beans.instantiate * an ClassNotFoundException is thrown which has an * IllegalAccessException as its cause. *

    This is true for >=1.5 only.

    * * @author Robert Schuster */ public class TestBean1 { private TestBean1() { // Instantiation will fail with an IllegalAccessException. } } mauve-20140821/gnu/testlet/java/rmi/0000755000175000001440000000000012375316426015743 5ustar dokousersmauve-20140821/gnu/testlet/java/rmi/server/0000755000175000001440000000000012375316426017251 5ustar dokousersmauve-20140821/gnu/testlet/java/rmi/server/Uniqueness.java0000644000175000001440000000413110453174610022242 0ustar dokousers/* Uniqueness.java -- The UID uniqueness : describe Copyright (C) 2006 Audrius Meskauskas This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.4 package gnu.testlet.java.rmi.server; import java.rmi.server.UID; import java.util.HashSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class Uniqueness implements Testlet { static int complete = 0; static class TesterThread extends Thread { UID [] result; public void run() { result = new UID[200]; for (int i = 0; i < result.length; i++) { result[i] = new UID(); } synchronized (Uniqueness.class) { complete++; } } } public void test(TestHarness harness) { TesterThread[] tt = new TesterThread[20]; for (int i = 0; i < tt.length; i++) { tt[i] = new TesterThread(); tt[i].start(); } // Wait till all complete: do { try { Thread.currentThread().sleep(200); } catch (InterruptedException e) { } } while (complete < tt.length); HashSet ids = new HashSet(); for (int i = 0; i < tt.length; i++) { for (int j = 0; j < tt[i].result.length; j++) { UID id = tt[i].result[j]; if (ids.contains(id)) harness.fail("Duplicate ID " + id); else ids.add(id); } } } } mauve-20140821/gnu/testlet/TestReport.java0000644000175000001440000001203211745373615017212 0ustar dokousers// Copyright (c) 2004 Noa Resare. // Written by Noa Resre // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet; import java.util.*; import java.io.*; /** * A TestReport represents all the results of a test run. The TestReport * can be serialized to xml with the writeXml method. */ public class TestReport { private Properties systemProperties; private List testResults; private static final String ENCODING = "UTF-8"; /** * Creates a new TestReport object with jvmName and jvmVersion set. * * @param systemProperties the Properties object returned from * System.getProperties() of the jvm that is tested. */ public TestReport(Properties systemProperties) { this.systemProperties = systemProperties; this.testResults = new ArrayList(); } /** * Adds a TestResult object to this TestReport. * * @param result the TestResult object to be added */ public void addTestResult(TestResult result) { this.testResults.add(result); } /** * Writes a representation of this TestReport object in xml format. * * @param f the file where the xml stream gets written */ public void writeXml(File f) throws IOException { Writer out = new OutputStreamWriter(new FileOutputStream(f), ENCODING); out.write("\n"); out.write("\n \n"); Collections.sort(testResults); Iterator results = testResults.iterator(); while (results.hasNext()) { // Send a message to the Harness to let it know that we are // still writing the XML file. System.out.println("RunnerProcess:restart-timer"); TestResult tr = results.next(); String[] failures = tr.getFailMessags(); String[] passes = tr.getPassMessages(); out.write(" \n"); else out.write("'/>\n"); for (int i = 0; i < failures.length; i++) { // Restart timer. System.out.println("RunnerProcess:restart-timer"); out.write(" " + esc(failures[i]) + "\n"); } if (tr.getException() != null) { Throwable t = tr.getException(); out.write(" \n \n " + esc(tr.getExceptionMessage()) + "\n \n" + esc(tr.getExceptionReason()) + "\n \n " + "\n \n"); } for (int i = 0; i < passes.length; i++) { // Restart timer. System.out.println("RunnerProcess:restart-timer"); out.write(" " + esc(passes[i]) + "\n"); } if (failures.length > 0 || passes.length > 0 || tr.getException() != null) out.write(" \n"); } out.write("\n"); out.close(); } /** * Escapes chars < > and & in str so that the result is * suitable for inclusion in an xml stream. */ private String esc(String str) { if (str == null) return null; str = str.replaceAll("&", "&"); str = str.replaceAll("<", "<"); str = str.replaceAll(">", ">"); // This is a workaround for java.util.regex.Pattern.pcrematches. str = str.replace(' ', '?'); return str; } /** * Escapes single quotes in string by prepending a backslash. */ private String escAttrib(Object obj) { if (obj == null) return null; String str = (String)obj; str = str.replaceAll("'", "\\'"); return str; } } mauve-20140821/gnu/testlet/gnu/0000755000175000001440000000000012375316426015024 5ustar dokousersmauve-20140821/gnu/testlet/gnu/java/0000755000175000001440000000000012375316426015745 5ustar dokousersmauve-20140821/gnu/testlet/gnu/java/security/0000755000175000001440000000000012375316426017614 5ustar dokousersmauve-20140821/gnu/testlet/gnu/java/security/jce/0000755000175000001440000000000012375316426020355 5ustar dokousersmauve-20140821/gnu/testlet/gnu/java/security/jce/TestOfKeyPairGenerator.java0000644000175000001440000001512210445137735025561 0ustar dokousers/* TestOfKeyPairGenerator.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.jce; import gnu.java.security.Registry; import gnu.java.security.provider.Gnu; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.math.BigInteger; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.Security; import java.security.interfaces.DSAPrivateKey; import java.security.interfaces.DSAPublicKey; import java.security.interfaces.RSAPrivateCrtKey; import java.security.interfaces.RSAPrivateKey; import java.security.interfaces.RSAPublicKey; /** * Conformance tests for the JCE keypair generation implementations.

    */ public class TestOfKeyPairGenerator implements Testlet { public void test(TestHarness harness) { setUp(); testUnknownGenerator(harness); checkJCEKeyPairGenerator(harness, "DSA"); checkJCEKeyPairGenerator(harness, "DSS"); testRSAKeyPairGenerator(harness); } private void setUp() { Security.addProvider(new Gnu()); // dynamically adds our provider } /** Should fail with an unknown algorithm. */ private void testUnknownGenerator(TestHarness harness) { harness.checkPoint("testUnknownGenerator"); try { KeyPairGenerator.getInstance("ABC", Registry.GNU_SECURITY); harness.fail("testUnknownGenerator()"); } catch (Exception x) { harness.check(true); } } private void checkJCEKeyPairGenerator(TestHarness harness, String algo) { harness.checkPoint("checkJCEKeyPairGenerator - " + algo); try { KeyPairGenerator kpg = KeyPairGenerator.getInstance(algo, Registry.GNU_SECURITY); String msg = "L MUST be <= 1024 and of the form 512 + 64n"; try { kpg.initialize(530); harness.fail(msg); } catch (IllegalArgumentException x) { harness.check(true, msg); } kpg.initialize(512); KeyPair kp = kpg.generateKeyPair(); BigInteger p1 = ((DSAPublicKey) kp.getPublic()).getParams().getP(); harness.check(p1.isProbablePrime(80), "p is probable prime - 512-bit"); BigInteger p2 = ((DSAPrivateKey) kp.getPrivate()).getParams().getP(); harness.check(p1.equals(p2), "p1.equals(p2) - 512-bit"); BigInteger q1 = ((DSAPublicKey) kp.getPublic()).getParams().getQ(); harness.check(q1.isProbablePrime(80), "q is probable prime - 512-bit"); BigInteger q2 = ((DSAPrivateKey) kp.getPrivate()).getParams().getQ(); harness.check(q1.equals(q2), "q1.equals(q2) - 512-bit"); BigInteger g1 = ((DSAPublicKey) kp.getPublic()).getParams().getG(); BigInteger g2 = ((DSAPrivateKey) kp.getPrivate()).getParams().getG(); harness.check(g1.equals(g2), "g1.equals(g2) - 512-bit"); kp = kpg.generateKeyPair(); p2 = ((DSAPublicKey) kp.getPublic()).getParams().getP(); harness.check(p1.equals(p2), "MUST provide default params for L = 512-bit (p)"); q2 = ((DSAPublicKey) kp.getPublic()).getParams().getQ(); harness.check(p1.equals(p2), "MUST provide default params for L = 512-bit (q)"); g2 = ((DSAPublicKey) kp.getPublic()).getParams().getG(); harness.check(p1.equals(p2), "MUST provide default params for L = 512-bit (g)"); kpg.initialize(1024); kp = kpg.generateKeyPair(); p1 = ((DSAPublicKey) kp.getPublic()).getParams().getP(); harness.check(p1.isProbablePrime(80), "p is probable prime - 1024-bit"); p2 = ((DSAPrivateKey) kp.getPrivate()).getParams().getP(); harness.check(p1.equals(p2), "p1.equals(p2) - 1024-bit"); q1 = ((DSAPublicKey) kp.getPublic()).getParams().getQ(); harness.check(q1.isProbablePrime(80), "q is probable prime - 1024-bit"); q2 = ((DSAPrivateKey) kp.getPrivate()).getParams().getQ(); harness.check(q1.equals(q2), "q1.equals(q2) - 1024-bit"); g1 = ((DSAPublicKey) kp.getPublic()).getParams().getG(); g2 = ((DSAPrivateKey) kp.getPrivate()).getParams().getG(); harness.check(g1.equals(g2), "g1.equals(g2) - 1024-bit"); kp = kpg.generateKeyPair(); p2 = ((DSAPublicKey) kp.getPublic()).getParams().getP(); harness.check(p1.equals(p2), "MUST provide default params for L = 1024-bit (p)"); q2 = ((DSAPublicKey) kp.getPublic()).getParams().getQ(); harness.check(p1.equals(p2), "MUST provide default params for L = 1024-bit (q)"); g2 = ((DSAPublicKey) kp.getPublic()).getParams().getG(); harness.check(p1.equals(p2), "MUST provide default params for L = 1024-bit (g)"); } catch (Exception x) { harness.debug(x); harness.fail("checkJCEKeyPairGenerator - " + algo); } } private void testRSAKeyPairGenerator(TestHarness harness) { harness.checkPoint("testRSAKeyPairGenerator"); try { KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA", Registry.GNU_SECURITY); // modulus length should be at least 1024 try { kpg.initialize(1023); harness.fail("L should be >= 1024"); } catch (IllegalArgumentException x) { harness.check(true, "L should be >= 1024"); } kpg.initialize(1024); KeyPair kp = kpg.generateKeyPair(); BigInteger n1 = ((RSAPublicKey) kp.getPublic()).getModulus(); BigInteger n2 = ((RSAPrivateKey) kp.getPrivate()).getModulus(); BigInteger p = ((RSAPrivateCrtKey) kp.getPrivate()).getPrimeP(); BigInteger q = ((RSAPrivateCrtKey) kp.getPrivate()).getPrimeQ(); harness.check(n1.equals(p.multiply(q)), "n1 == pq"); harness.check(n2.equals(p.multiply(q)), "n2 == pq"); } catch (Exception x) { harness.debug(x); harness.fail("testRSAKeyPairGenerator()"); } } }mauve-20140821/gnu/testlet/gnu/java/security/jce/TestOfMessageDigest.java0000644000175000001440000001122210367014266025063 0ustar dokousers/* TestOfMessageDigest.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.jce; import gnu.java.security.Registry; import gnu.java.security.hash.HashFactory; import gnu.java.security.hash.IMessageDigest; import gnu.java.security.provider.Gnu; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.MessageDigest; import java.security.Security; import java.util.Arrays; import java.util.Iterator; /** * Conformance tests for the JCE Provider implementations of MessageDigest * SPI classes. */ public class TestOfMessageDigest implements Testlet { public void test(TestHarness harness) { setUp(); testUnknownHash(harness); testEquality(harness); testCloneability(harness); } /** Should fail with an unknown algorithm. */ public void testUnknownHash(TestHarness harness) { harness.checkPoint("testUnknownHash"); try { MessageDigest.getInstance("Gaudot", Registry.GNU_SECURITY); harness.fail("testUnknownHash()"); } catch (Exception x) { harness.check(true); } } /** * Tests if the result of using a hash through gnu.crypto Factory classes * yields same value as using instances obtained the JCE way. */ public void testEquality(TestHarness harness) { harness.checkPoint("testEquality"); String mdName; IMessageDigest gnu = null; MessageDigest jce = null; byte[] in = this.getClass().getName().getBytes(); byte[] ba1, ba2; for (Iterator it = HashFactory.getNames().iterator(); it.hasNext();) { mdName = (String) it.next(); try { gnu = HashFactory.getInstance(mdName); harness.check(gnu != null, "HashFactory.getInstance(" + mdName + ")"); } catch (InternalError x) { harness.fail("HashFactory.getInstance(" + mdName + "): " + String.valueOf(x)); } try { jce = MessageDigest.getInstance(mdName, Registry.GNU_SECURITY); harness.check(jce != null, "MessageDigest.getInstance()"); } catch (Exception x) { harness.debug(x); harness.fail("MessageDigest.getInstance(" + mdName + "): " + String.valueOf(x)); } gnu.update(in, 0, in.length); ba1 = gnu.digest(); ba2 = jce.digest(in); harness.check(Arrays.equals(ba1, ba2), "testEquality(" + mdName + ")"); } } /** * Tests if the result of a cloned, partially in-progress hash instance, when * used later to further process data, yields the same result as the original * copy. */ public void testCloneability(TestHarness harness) { harness.checkPoint("testCloneability"); String mdName; MessageDigest md1, md2; byte[] abc = "abc".getBytes(); byte[] in = this.getClass().getName().getBytes(); byte[] ba1, ba2; // for (Iterator it = Gnu.getMessageDigestNames().iterator(); it.hasNext();) for (Iterator it = Security.getAlgorithms("MessageDigest").iterator(); it.hasNext();) { mdName = (String) it.next(); try { md1 = MessageDigest.getInstance(mdName, Registry.GNU_SECURITY); md1.update(abc); // start with abc md2 = (MessageDigest) md1.clone(); // now clone it ba1 = md1.digest(in); // now finish both with in ba2 = md2.digest(in); harness.check(Arrays.equals(ba1, ba2), "testCloneability(" + mdName + ")"); } catch (Exception x) { harness.debug(x); harness.fail("testCloneability(" + mdName + "): " + String.valueOf(x)); } } } private void setUp() { Security.addProvider(new Gnu()); // dynamically adds our provider } }mauve-20140821/gnu/testlet/gnu/java/security/jce/TestOfDSSKeyFactory.java0000644000175000001440000000610410400234122024753 0ustar dokousers/* TestOfDSSKeyFactory.java Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.jce; import java.security.KeyFactory; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.PrivateKey; import java.security.PublicKey; import java.security.Security; import java.security.spec.InvalidKeySpecException; import java.security.spec.PKCS8EncodedKeySpec; import java.security.spec.X509EncodedKeySpec; import gnu.java.security.Registry; import gnu.java.security.provider.Gnu; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Conformance tests for the JCE DSS key-factory */ public class TestOfDSSKeyFactory implements Testlet { private KeyPairGenerator kpg; private PublicKey publicK; private PrivateKey privateK; private KeyFactory keyFactory; private byte[] encoded; public void test(TestHarness harness) { setUp(harness); testSymmetry(harness); } private void setUp(TestHarness harness) { Security.addProvider(new Gnu()); try { kpg = KeyPairGenerator.getInstance(Registry.DSS_KPG, Registry.GNU_SECURITY); kpg.initialize(512); harness.verbose("*** Generating a DSS key-pair"); KeyPair kp = kpg.generateKeyPair(); publicK = kp.getPublic(); privateK = kp.getPrivate(); keyFactory = KeyFactory.getInstance(Registry.DSS_KPG, Registry.GNU_SECURITY); } catch (Exception x) { harness.debug(x); harness.fail("setUp(): " + x.getMessage()); } } private void testSymmetry(TestHarness harness) { harness.checkPoint("testSymmetry()"); try { encoded = publicK.getEncoded(); X509EncodedKeySpec spec1 = new X509EncodedKeySpec(encoded); PublicKey k1 = keyFactory.generatePublic(spec1); harness.check(k1.equals(publicK), "Public DSS keys MUST be equal"); encoded = privateK.getEncoded(); PKCS8EncodedKeySpec spec2 = new PKCS8EncodedKeySpec(encoded); PrivateKey k2 = keyFactory.generatePrivate(spec2); harness.check(k2.equals(privateK), "Private DSS keys MUST be equal"); } catch (InvalidKeySpecException x) { harness.debug(x); harness.fail("testSymmetry(): " + x.getMessage()); } } } mauve-20140821/gnu/testlet/gnu/java/security/jce/TestOfDSSKeyPairGenerator.java0000644000175000001440000001420710400234122026111 0ustar dokousers/* TestOfDSSKeyPairGenerator.java Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.jce; import java.math.BigInteger; import java.security.AlgorithmParameters; import java.security.InvalidParameterException; import java.security.KeyPairGenerator; import java.security.NoSuchAlgorithmException; import java.security.NoSuchProviderException; import java.security.Provider; import java.security.SecureRandom; import java.security.Security; import java.security.interfaces.DSAKeyPairGenerator; import java.security.spec.AlgorithmParameterSpec; import java.security.spec.DSAParameterSpec; import gnu.java.security.Registry; import gnu.java.security.provider.Gnu; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * API conformance tests for the DSS key-pair generator. */ public class TestOfDSSKeyPairGenerator implements Testlet { private SecureRandom rnd = new SecureRandom(); private KeyPairGenerator kpg; public void test(TestHarness harness) { setUp(harness); checkInvalidDefaultModuli(harness); checkValidDefaultModuli(harness); checkInitializeSignatures(harness); } private void setUp(TestHarness harness) { Security.addProvider(new Gnu()); // dynamically adds our provider try { kpg = KeyPairGenerator.getInstance(Registry.DSS_KPG, Registry.GNU_SECURITY); } catch (NoSuchAlgorithmException x) { harness.debug(x); harness.fail("setUp(): " + x.getMessage()); } catch (NoSuchProviderException x) { harness.debug(x); harness.fail("setUp(): " + x.getMessage()); } } private void checkInvalidDefaultModuli(TestHarness harness) { harness.checkPoint("checkInvalidDefaultModuli"); for (int i = 512 + 64; i < 1024; i += 64) if (i % 256 == 0) continue; else { if (initModLen(i)) harness.fail(i + "-bit IS NOT a valid modulus length"); } harness.check(true, "Unsupported default values are rejected"); } private boolean initModLen(int modlen) { boolean result = false; try { kpg.initialize(modlen); result = true; } catch (Exception ignored) { } return result; } private void checkValidDefaultModuli(TestHarness harness) { harness.checkPoint("checkValidDefaultModuli"); for (int i = 0, modlen = 512; i < 2; i++, modlen += 256 * i) if (!initModLen(modlen)) harness.fail(modlen + "-bit MUST be a valid modulus length"); harness.check(true, "Supported default values are accepted"); } private void checkInitializeSignatures(TestHarness harness) { harness.checkPoint("checkInitializeSignatures"); String msg; // KeyPairGenerator init methods ------------------------------------------ Provider fp = new Gnu(); msg = "initialize(AlgorithmParameterSpec) MUST succeed"; try { AlgorithmParameters ap = AlgorithmParameters.getInstance("DSA", fp); AlgorithmParameterSpec spec = ap.getParameterSpec(DSAParameterSpec.class); kpg.initialize(spec); harness.check(true, msg); } catch (Exception x) { harness.debug(x); harness.fail(msg); } msg = "initialize(AlgorithmParameterSpec, SecureRandom) MUST succeed"; try { AlgorithmParameters ap = AlgorithmParameters.getInstance("DSA", fp); AlgorithmParameterSpec spec = ap.getParameterSpec(DSAParameterSpec.class); kpg.initialize(spec, rnd); harness.check(true, msg); } catch (Exception x) { harness.debug(x); harness.fail(msg); } msg= "initialize(512) MUST succeed"; try { kpg.initialize(512); harness.check(true, msg); } catch (Exception x) { harness.debug(x); harness.fail(msg); } msg= "initialize(512, SecureRandom) MUST succeed"; try { kpg.initialize(512, rnd); harness.check(true, msg); } catch (Exception x) { harness.debug(x); harness.fail(msg); } // DSAKeyPairGenerator init methods --------------------------------------- DSAKeyPairGenerator dsakpg = (DSAKeyPairGenerator) kpg; msg = "initialize(DSAParams, SecureRandom) MUST succeed"; try { dsakpg.initialize( new DSAParameterSpec(BigInteger.ONE, BigInteger.ONE, BigInteger.ONE), rnd); harness.check(true, msg); } catch (Exception x) { harness.debug(x); harness.fail(msg); } msg = "initialize(null, SecureRandom) MUST throw InvalidParameterException"; try { dsakpg.initialize(null, rnd); harness.fail(msg); } catch (InvalidParameterException x) { harness.check(true, msg); } catch (Exception x) { harness.debug(x); harness.fail(msg); } msg = "initialize(512, false, SecureRandom) MUST succeed"; try { dsakpg.initialize(512, false, rnd); harness.check(true, msg); } catch (Exception x) { harness.debug(x); harness.fail(msg); } msg = "initialize(1024, false, SecureRandom) MUST succeed"; try { dsakpg.initialize(512, false, rnd); harness.check(true, msg); } catch (Exception x) { harness.debug(x); harness.fail(msg); } } } mauve-20140821/gnu/testlet/gnu/java/security/jce/TestOfKeyFactory.java0000644000175000001440000002167010400234122024406 0ustar dokousers/* TestOfKeyFactory.java Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.jce; import gnu.java.security.Registry; import gnu.java.security.provider.Gnu; import gnu.javax.crypto.jce.GnuCrypto; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.KeyFactory; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.PrivateKey; import java.security.PublicKey; import java.security.Security; import java.security.spec.DSAPrivateKeySpec; import java.security.spec.DSAPublicKeySpec; import java.security.spec.InvalidKeySpecException; import java.security.spec.KeySpec; import java.security.spec.PKCS8EncodedKeySpec; import java.security.spec.RSAPrivateCrtKeySpec; import java.security.spec.RSAPublicKeySpec; import java.security.spec.X509EncodedKeySpec; import javax.crypto.spec.DHPrivateKeySpec; import javax.crypto.spec.DHPublicKeySpec; /** * Conformance tests for the JCE DSS and RSA key-factories. */ public class TestOfKeyFactory implements Testlet { private KeyPairGenerator dssKPG; private KeyPairGenerator rsaKPG; private KeyPairGenerator dhKPG; private KeyFactory dssKF; private KeyFactory rsaKF; private KeyFactory dhKF; private KeyFactory encKF; public void test(TestHarness harness) { setUp(harness); testDSSKeyFactory(harness); testRSAKeyFactory(harness); testDHKeyFactory(harness); } private void setUp(TestHarness harness) { Security.addProvider(new Gnu()); Security.addProvider(new GnuCrypto()); try { dssKPG = KeyPairGenerator.getInstance(Registry.DSS_KPG, Registry.GNU_SECURITY); rsaKPG = KeyPairGenerator.getInstance(Registry.RSA_KPG, Registry.GNU_SECURITY); dhKPG = KeyPairGenerator.getInstance(Registry.DH_KPG, Registry.GNU_CRYPTO); dssKF = KeyFactory.getInstance(Registry.DSS_KPG, Registry.GNU_SECURITY); rsaKF = KeyFactory.getInstance(Registry.RSA_KPG, Registry.GNU_SECURITY); dhKF = KeyFactory.getInstance(Registry.DH_KPG, Registry.GNU_CRYPTO); encKF = KeyFactory.getInstance("Encoded", Registry.GNU_SECURITY); } catch (Exception x) { harness.debug(x); harness.fail("setUp(): " + x.getMessage()); } } private void testDSSKeyFactory(TestHarness harness) { harness.checkPoint("testDSSKeyFactory"); dssKPG.initialize(512); KeyPair kp = dssKPG.generateKeyPair(); harness.check(kp != null, "MUST generate valid DSS keypair"); PublicKey p1, p2, p3; KeySpec spec1, spec2; PrivateKey p4, p5, p6; String msg; p1 = kp.getPublic(); try { spec1 = dssKF.getKeySpec(p1, DSAPublicKeySpec.class); p2 = encKF.generatePublic(spec1); harness.check(p2.equals(p1), "Two DSS public keys MUST be equal"); spec2 = dssKF.getKeySpec(p1, X509EncodedKeySpec.class); p3 = encKF.generatePublic(spec2); harness.check(p3.equals(p2), "Two decoded DSS public keys MUST be equal"); } catch (InvalidKeySpecException x) { harness.debug(x); harness.fail("Unable to generate encoded DSS public keys"); } msg = "MUST NOT emit PKCS#8 encoding for DSS public key"; try { dssKF.getKeySpec(p1, PKCS8EncodedKeySpec.class); harness.fail(msg); } catch (InvalidKeySpecException x) { harness.check(true, msg); } p4 = kp.getPrivate(); try { spec1 = dssKF.getKeySpec(p4, DSAPrivateKeySpec.class); p5 = encKF.generatePrivate(spec1); harness.check(p5.equals(p4), "Two DSS private keys MUST be equal"); spec2 = dssKF.getKeySpec(p4, PKCS8EncodedKeySpec.class); p6 = encKF.generatePrivate(spec2); harness.check(p6.equals(p5), "Two decoded DSS private keys MUST be equal"); } catch (InvalidKeySpecException x) { harness.debug(x); harness.fail("Unable to generate encoded DSS private keys"); } msg = "MUST NOT emit X.509 encoding for DSS private key"; try { dssKF.getKeySpec(p4, X509EncodedKeySpec.class); harness.fail(msg); } catch (InvalidKeySpecException x) { harness.check(true, msg); } } private void testRSAKeyFactory(TestHarness harness) { harness.checkPoint("testRSAKeyFactory"); rsaKPG.initialize(1024); KeyPair kp = rsaKPG.generateKeyPair(); harness.check(kp != null, "MUST generate valid RSA keypair"); PublicKey p1, p2, p3; KeySpec spec1, spec2; PrivateKey p4, p5, p6; String msg; p1 = kp.getPublic(); try { spec1 = rsaKF.getKeySpec(p1, RSAPublicKeySpec.class); p2 = encKF.generatePublic(spec1); harness.check(p2.equals(p1), "Two RSA public keys MUST be equal"); spec2 = rsaKF.getKeySpec(p1, X509EncodedKeySpec.class); p3 = encKF.generatePublic(spec2); harness.check(p3.equals(p2), "Two decoded RSA public keys MUST be equal"); } catch (InvalidKeySpecException x) { harness.debug(x); harness.fail("Unable to generate encoded RSA public keys"); } msg = "MUST NOT emit PKCS#8 encoding for RSA public key"; try { rsaKF.getKeySpec(p1, PKCS8EncodedKeySpec.class); harness.fail(msg); } catch (InvalidKeySpecException x) { harness.check(true, msg); } p4 = kp.getPrivate(); try { spec1 = rsaKF.getKeySpec(p4, RSAPrivateCrtKeySpec.class); p5 = encKF.generatePrivate(spec1); harness.check(p5.equals(p4), "Two RSA private keys MUST be equal"); spec2 = rsaKF.getKeySpec(p4, PKCS8EncodedKeySpec.class); p6 = encKF.generatePrivate(spec2); harness.check(p6.equals(p5), "Two decoded RSA private keys MUST be equal"); } catch (InvalidKeySpecException x) { harness.debug(x); harness.fail("Unable to generate encoded RSA private keys"); } msg = "MUST NOT emit X.509 encoding for RSA private key"; try { rsaKF.getKeySpec(p4, X509EncodedKeySpec.class); harness.fail(msg); } catch (InvalidKeySpecException x) { harness.check(true, msg); } } private void testDHKeyFactory(TestHarness harness) { harness.checkPoint("testDHKeyFactory"); dhKPG.initialize(512); KeyPair kp = dhKPG.generateKeyPair(); harness.check(kp != null, "MUST generate valid DH keypair"); PublicKey p1, p2, p3; KeySpec spec1, spec2; PrivateKey p4, p5, p6; String msg; p1 = kp.getPublic(); try { spec1 = dhKF.getKeySpec(p1, DHPublicKeySpec.class); p2 = encKF.generatePublic(spec1); harness.check(p2.equals(p1), "Two DH public keys MUST be equal"); spec2 = dhKF.getKeySpec(p1, X509EncodedKeySpec.class); p3 = encKF.generatePublic(spec2); harness.check(p3.equals(p2), "Two decoded DH public keys MUST be equal"); } catch (InvalidKeySpecException x) { harness.debug(x); harness.fail("Unable to generate encoded DH public keys"); } msg = "MUST NOT emit PKCS#8 encoding for DH public key"; try { dhKF.getKeySpec(p1, PKCS8EncodedKeySpec.class); harness.fail(msg); } catch (InvalidKeySpecException x) { harness.check(true, msg); } p4 = kp.getPrivate(); try { spec1 = dhKF.getKeySpec(p4, DHPrivateKeySpec.class); p5 = encKF.generatePrivate(spec1); harness.check(p5.equals(p4), "Two DH private keys MUST be equal"); spec2 = dhKF.getKeySpec(p4, PKCS8EncodedKeySpec.class); p6 = encKF.generatePrivate(spec2); harness.check(p6.equals(p5), "Two decoded DH private keys MUST be equal"); } catch (InvalidKeySpecException x) { harness.debug(x); harness.fail("Unable to generate encoded DH private keys"); } msg = "MUST NOT emit X.509 encoding for DH private key"; try { dhKF.getKeySpec(p4, X509EncodedKeySpec.class); harness.fail(msg); } catch (InvalidKeySpecException x) { harness.check(true, msg); } } } mauve-20140821/gnu/testlet/gnu/java/security/jce/TestOfHttps.java0000644000175000001440000000356610402270660023445 0ustar dokousers/* TestOfHttps.java Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.jce; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.URL; import java.security.Security; import gnu.javax.crypto.jce.GnuCrypto; import gnu.javax.net.ssl.provider.Jessie; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Regression test for HTTPS functionality with newly integrated GNU Crypto in * Classpath. */ public class TestOfHttps implements Testlet { // default 0-arguments constructor public void test(TestHarness harness) { String msg = "MUST be able to verify X.509 certificates"; try { Security.addProvider(new Jessie()); Security.addProvider(new GnuCrypto()); URL u = new URL("https://www.paypal.com/"); InputStream in = u.openStream(); BufferedReader br = new BufferedReader(new InputStreamReader(in)); String line; while ((line = br.readLine()) != null) ; // do nothing harness.check(true, msg); } catch (Exception x) { harness.debug(x); harness.fail(msg); } } } mauve-20140821/gnu/testlet/gnu/java/security/jce/TestOfProvider.java0000644000175000001440000001057310442650374024141 0ustar dokousers/* TestOfProvider.java -- FIXME: describe Copyright (C) 2006 FIXME: your info here This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.jce; import gnu.java.security.Registry; import gnu.java.security.provider.Gnu; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.MessageDigest; import java.security.Provider; import java.security.SecureRandom; import java.security.Security; import java.security.NoSuchAlgorithmException; import java.security.NoSuchProviderException; import java.util.Iterator; import java.util.Random; /** * Conformance tests for the (standard) JCE Provider implementation. */ public class TestOfProvider implements Testlet { public void test(TestHarness harness) { setUp(); testProviderName(harness); testSha(harness); testWhirlpool(harness); testShaPRNG(harness); testWhirlpoolPRNG(harness); testGNUSecureRandoms(harness); } public void testProviderName(TestHarness harness) { harness.checkPoint("testProviderName"); Provider us = Security.getProvider(Registry.GNU_SECURITY); harness.check(Registry.GNU_SECURITY.equals(us.getName())); } public void testSha(TestHarness harness) { harness.checkPoint("testSha"); try { MessageDigest md = MessageDigest.getInstance("SHA", Registry.GNU_SECURITY); harness.check(md != null); } catch (Exception x) { harness.debug(x); harness.fail("testSha()"); } } public void testWhirlpool(TestHarness harness) { harness.checkPoint("testWhirlpool"); try { MessageDigest md = MessageDigest.getInstance("Whirlpool", Registry.GNU_SECURITY); harness.check(md != null); } catch (Exception x) { harness.debug(x); harness.fail("testWhirlpool()"); } } public void testShaPRNG(TestHarness harness) { harness.checkPoint("testShaPRNG"); try { SecureRandom rnd = SecureRandom.getInstance("SHA1PRNG", Registry.GNU_SECURITY); harness.check(rnd != null); } catch (Exception x) { harness.debug(x); harness.fail("testShaPRNG()"); } } public void testWhirlpoolPRNG(TestHarness harness) { harness.checkPoint("testWhirlpoolPRNG"); try { SecureRandom rnd = SecureRandom.getInstance("WHIRLPOOLPRNG", Registry.GNU_SECURITY); harness.check(rnd != null); } catch (Exception x) { x.printStackTrace(System.err); harness.fail("testWhirlpoolPRNG()"); } } public void testGNUSecureRandoms(TestHarness harness) { harness.checkPoint("testGNUSecureRandoms"); String rand; Random algorithm; for (Iterator it = Security.getAlgorithms("SecureRandom").iterator(); it.hasNext();) { rand = (String) it.next(); try { algorithm = null; algorithm = SecureRandom.getInstance(rand, Registry.GNU_SECURITY); harness.check(algorithm != null, "getInstance(" + String.valueOf(rand) + ")"); } catch (NoSuchProviderException x) { harness.fail("getInstance(" + String.valueOf(rand) + "): " + String.valueOf(x)); } catch (NoSuchAlgorithmException x) { harness.fail("getInstance(" + String.valueOf(rand) + "): " + String.valueOf(x)); } } } private void setUp() { Security.addProvider(new Gnu()); // dynamically adds our provider Security.removeProvider(Registry.GNU_CRYPTO); Security.removeProvider(Registry.GNU_SASL); } }mauve-20140821/gnu/testlet/gnu/java/security/jce/TestOfFormat.java0000644000175000001440000001452610400234122023560 0ustar dokousers/* TestOfFormat.java Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.jce; import java.security.KeyFactory; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.PrivateKey; import java.security.PublicKey; import java.security.Security; import java.security.spec.PKCS8EncodedKeySpec; import java.security.spec.X509EncodedKeySpec; import gnu.java.security.Registry; import gnu.java.security.provider.Gnu; import gnu.javax.crypto.jce.GnuCrypto; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Conformance tests for the encoding / decoding of X.509 and PKCS#8 formats * for the DSS and RSA key-pairs generated by the GNU Classpath implementation * of the key-pair generators and the "Encoded" key-factory. */ public class TestOfFormat implements Testlet { private KeyPairGenerator dssKPG; private KeyPairGenerator rsaKPG; private KeyPairGenerator dhKPG; private KeyFactory encodedKF; public void test(TestHarness harness) { setUp(harness); testDSSSymmetry(harness); testRSASymmetry(harness); testDHSymmetry(harness); } private void setUp(TestHarness harness) { Security.addProvider(new Gnu()); Security.addProvider(new GnuCrypto()); try { dssKPG = KeyPairGenerator.getInstance(Registry.DSS_KPG, Registry.GNU_SECURITY); rsaKPG = KeyPairGenerator.getInstance(Registry.RSA_KPG, Registry.GNU_SECURITY); dhKPG = KeyPairGenerator.getInstance(Registry.DH_KPG, Registry.GNU_CRYPTO); encodedKF = KeyFactory.getInstance("Encoded", Registry.GNU_SECURITY); } catch (Exception x) { harness.debug(x); harness.fail("setUp(): " + x.getMessage()); } } private void testDSSSymmetry(TestHarness harness) { harness.checkPoint("testDSSSymmetry"); try { dssKPG.initialize(512); KeyPair kp = dssKPG.generateKeyPair(); harness.check(kp != null, "MUST generate valid DSS keypair"); PublicKey p1 = kp.getPublic(); String f1 = p1.getFormat(); harness.check("X.509".equalsIgnoreCase(f1), "DSS public key format MUST be X.509"); byte[] encoded1 = p1.getEncoded(); X509EncodedKeySpec spec1 = new X509EncodedKeySpec(encoded1); PublicKey p2 = encodedKF.generatePublic(spec1); harness.check(p1.equals(p2), "Two DSS public keys MUST be equal"); PrivateKey p3 = kp.getPrivate(); String f2 = p3.getFormat(); harness.check("PKCS#8".equalsIgnoreCase(f2), "DSS private key format MUST be PKCS#8"); byte[] encoded2 = p3.getEncoded(); PKCS8EncodedKeySpec spec2 = new PKCS8EncodedKeySpec(encoded2); PrivateKey p4 = encodedKF.generatePrivate(spec2); harness.check(p3.equals(p4), "Two DSS private keys MUST be equal"); } catch (Exception x) { harness.debug(x); harness.fail("testDSSSymmetry(): " + x.getMessage()); } } private void testRSASymmetry(TestHarness harness) { harness.checkPoint("testRSASymmetry"); try { rsaKPG.initialize(1024); KeyPair kp = rsaKPG.generateKeyPair(); harness.check(kp != null, "MUST generate valid RSA keypair"); PublicKey p1 = kp.getPublic(); String f1 = p1.getFormat(); harness.check("X.509".equalsIgnoreCase(f1), "RSA public key format MUST be X.509"); byte[] encoded1 = p1.getEncoded(); X509EncodedKeySpec spec1 = new X509EncodedKeySpec(encoded1); PublicKey p2 = encodedKF.generatePublic(spec1); harness.check(p1.equals(p2), "Two RSA public keys MUST be equal"); PrivateKey p3 = kp.getPrivate(); String f2 = p3.getFormat(); harness.check("PKCS#8".equalsIgnoreCase(f2), "RSA private key format MUST be PKCS#8"); byte[] encoded2 = p3.getEncoded(); PKCS8EncodedKeySpec spec2 = new PKCS8EncodedKeySpec(encoded2); PrivateKey p4 = encodedKF.generatePrivate(spec2); harness.check(p3.equals(p4), "Two RSA private keys MUST be equal"); } catch (Exception x) { harness.debug(x); harness.fail("testRSASymmetry(): " + x.getMessage()); } } private void testDHSymmetry(TestHarness harness) { harness.checkPoint("testDHSymmetry"); try { dhKPG.initialize(512); KeyPair kp = dhKPG.generateKeyPair(); harness.check(kp != null, "MUST generate valid DH keypair"); PublicKey p1 = kp.getPublic(); String f1 = p1.getFormat(); harness.check("X.509".equalsIgnoreCase(f1), "DH public key format MUST be X.509"); byte[] encoded1 = p1.getEncoded(); X509EncodedKeySpec spec1 = new X509EncodedKeySpec(encoded1); PublicKey p2 = encodedKF.generatePublic(spec1); harness.check(p1.equals(p2), "Two DH public keys MUST be equal"); PrivateKey p3 = kp.getPrivate(); String f2 = p3.getFormat(); harness.check("PKCS#8".equalsIgnoreCase(f2), "DH private key format MUST be PKCS#8"); byte[] encoded2 = p3.getEncoded(); PKCS8EncodedKeySpec spec2 = new PKCS8EncodedKeySpec(encoded2); PrivateKey p4 = encodedKF.generatePrivate(spec2); harness.check(p3.equals(p4), "Two DH private keys MUST be equal"); } catch (Exception x) { harness.debug(x); harness.fail("testDHSymmetry(): " + x.getMessage()); } } } mauve-20140821/gnu/testlet/gnu/java/security/jce/TestOfSignature.java0000644000175000001440000001105410400234122024262 0ustar dokousers/* TestOfSignature.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.jce; import gnu.java.security.Registry; import gnu.java.security.provider.Gnu; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.Security; import java.security.Signature; /** * Conformance tests for the JCE signature scheme implementations.

    */ public class TestOfSignature implements Testlet { private static final byte[] MESSAGE = "Que du magnifique...".getBytes(); public void test(TestHarness harness) { setUp(); testUnknownScheme(harness); testDSSSignatures(harness); testRSAPSSRawSignature(harness); testRSAPKCS1Signatures(harness); } /** Should fail with an unknown scheme. */ public void testUnknownScheme(TestHarness harness) { harness.checkPoint("testUnknownScheme"); try { Signature.getInstance("ABC", Registry.GNU_SECURITY); harness.fail("testUnknownScheme()"); } catch (Exception x) { harness.check(true); } } public void testDSSSignatures(TestHarness harness) { KeyPairGenerator kpg = null; try { kpg = KeyPairGenerator.getInstance(Registry.DSS_KPG, Registry.GNU_SECURITY); } catch (Exception x) { harness.debug(x); harness.fail("Unable to get a DSS key-pair generator"); } kpg.initialize(512); KeyPair kp = kpg.generateKeyPair(); testSignature(harness, "DSS/RAW", Registry.GNU_SECURITY, kp); testSignature(harness, "SHA160withDSS", Registry.GNU_SECURITY, kp); } public void testRSAPSSRawSignature(TestHarness harness) { KeyPairGenerator kpg = null; try { kpg = KeyPairGenerator.getInstance(Registry.RSA_KPG, Registry.GNU_SECURITY); } catch (Exception x) { harness.debug(x); harness.fail("Unable to get an RSA key-pair generator"); } kpg.initialize(1024); KeyPair kp = kpg.generateKeyPair(); testSignature(harness, "RSA-PSS/RAW", Registry.GNU_SECURITY, kp); } private void testRSAPKCS1Signatures(TestHarness harness) { KeyPairGenerator kpg = null; try { kpg = KeyPairGenerator.getInstance(Registry.RSA_KPG, Registry.GNU_SECURITY); } catch (Exception x) { harness.debug(x); harness.fail("Unable to get an RSA key-pair generator"); } kpg.initialize(1024); KeyPair kp = kpg.generateKeyPair(); testSignature(harness, "MD2withRSA", Registry.GNU_SECURITY, kp); testSignature(harness, "MD5withRSA", Registry.GNU_SECURITY, kp); testSignature(harness, "SHA160withRSA", Registry.GNU_SECURITY, kp); testSignature(harness, "SHA256withRSA", Registry.GNU_SECURITY, kp); testSignature(harness, "SHA384withRSA", Registry.GNU_SECURITY, kp); testSignature(harness, "SHA512withRSA", Registry.GNU_SECURITY, kp); } private void testSignature(TestHarness harness, String sigName, String provider, KeyPair kp) { String msg = "Signature " + sigName + " provided by " + provider; try { Signature alice = Signature.getInstance(sigName, provider); Signature bob = Signature.getInstance(sigName, provider); alice.initSign(kp.getPrivate()); alice.update(MESSAGE); byte[] signature = alice.sign(); bob.initVerify(kp.getPublic()); bob.update(MESSAGE); harness.check(bob.verify(signature), msg); } catch (Exception x) { harness.debug(x); harness.fail(msg); } } private void setUp() { Security.addProvider(new Gnu()); // dynamically adds our provider } }mauve-20140821/gnu/testlet/gnu/java/security/TestOfPR28678.java0000644000175000001440000005220110467456103022541 0ustar dokousers/* TestOfPR28678.java Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security; import gnu.javax.security.auth.callback.ConsoleCallbackHandler; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.AlgorithmParameterGenerator; import java.security.AlgorithmParameters; import java.security.KeyFactory; import java.security.KeyPairGenerator; import java.security.KeyStore; import java.security.KeyStoreException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.security.Provider; import java.security.SecureRandom; import java.security.Security; import java.security.Signature; import java.security.cert.CertPathBuilder; import java.security.cert.CertPathValidator; import java.security.cert.CertStore; import java.security.cert.CertificateException; import java.security.cert.CertificateFactory; import javax.crypto.Cipher; import javax.crypto.ExemptionMechanism; import javax.crypto.KeyAgreement; import javax.crypto.KeyGenerator; import javax.crypto.Mac; import javax.crypto.SecretKeyFactory; import javax.net.ssl.KeyManagerFactory; import javax.net.ssl.SSLContext; import javax.net.ssl.TrustManagerFactory; /** * Regression test for PR Classpath/28678. */ public class TestOfPR28678 implements Testlet { public void test(TestHarness harness) { harness.checkPoint("TestOfPR28678"); try { Provider p1 = new FakeProvider("P1"); Security.addProvider(p1); Provider p2 = new FakeProvider("P2"); Security.addProvider(p2); Provider p3 = new FakeProvider("P3"); Security.addProvider(p3); Provider p4 = new FakeProvider("P4"); Security.addProvider(p4); } catch (Exception x) { harness.debug(x); harness.fail("TestOfPR28678: " + x); } try { testCallbackHandler(harness); testCipher(harness); testExemptionMechanism(harness); testKeyAgreement(harness); testKeyGenerator(harness); testMac(harness); testSecretKeyFactory(harness); testKeyManagerFactory(harness); testSSLContext(harness); testTrustManagerFactory(harness); testAlgorithmParameterGenerator(harness); testAlgorithmParameters(harness); testKeyFactory(harness); testKeyPairGenerator(harness); testKeyStore(harness); testMessageDigest(harness); testSecureRandom(harness); testSignature(harness); testCertificateFactory(harness); testCertPathBuilder(harness); testCertPathValidator(harness); testCertStore(harness); } finally { Security.removeProvider("P1"); Security.removeProvider("P2"); Security.removeProvider("P3"); Security.removeProvider("P4"); } } private void testCallbackHandler(TestHarness harness) { String msg; msg = "MUST NOT be able to instantiate CallbackHandler algorithm from designated provider"; try { ConsoleCallbackHandler.getInstance("foo", "P1"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } msg = "MUST NOT be able to instantiate CallbackHandler algorithm from any provider"; try { ConsoleCallbackHandler.getInstance("foo"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } } private void testCipher(TestHarness harness) { String msg; msg = "MUST NOT be able to instantiate Cipher algorithm from designated provider"; try { Cipher.getInstance("foo", "P1"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } msg = "MUST NOT be able to instantiate Cipher algorithm from any provider"; try { Cipher.getInstance("foo"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } } private void testExemptionMechanism(TestHarness harness) { String msg; msg = "MUST NOT be able to instantiate ExemptionMechanism algorithm from designated provider"; try { ExemptionMechanism.getInstance("foo", "P1"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } msg = "MUST NOT be able to instantiate ExemptionMechanism algorithm from any provider"; try { ExemptionMechanism.getInstance("foo"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } } private void testKeyAgreement(TestHarness harness) { String msg; msg = "MUST NOT be able to instantiate KeyAgreement algorithm from designated provider"; try { KeyAgreement.getInstance("foo", "P1"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } msg = "MUST NOT be able to instantiate KeyAgreement algorithm from any provider"; try { KeyAgreement.getInstance("foo"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } } private void testKeyGenerator(TestHarness harness) { String msg; msg = "MUST NOT be able to instantiate KeyGenerator algorithm from designated provider"; try { KeyGenerator.getInstance("foo", "P1"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } msg = "MUST NOT be able to instantiate KeyGenerator algorithm from any provider"; try { KeyGenerator.getInstance("foo"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } } private void testMac(TestHarness harness) { String msg; msg = "MUST NOT be able to instantiate Mac algorithm from designated provider"; try { Mac.getInstance("foo", "P1"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } msg = "MUST NOT be able to instantiate Mac algorithm from any provider"; try { Mac.getInstance("foo"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } } private void testSecretKeyFactory(TestHarness harness) { String msg; msg = "MUST NOT be able to instantiate SecretKeyFactory algorithm from designated provider"; try { SecretKeyFactory.getInstance("foo", "P1"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } msg = "MUST NOT be able to instantiate SecretKeyFactory algorithm from any provider"; try { SecretKeyFactory.getInstance("foo"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } } private void testKeyManagerFactory(TestHarness harness) { String msg; msg = "MUST NOT be able to instantiate KeyManagerFactory algorithm from designated provider"; try { KeyManagerFactory.getInstance("foo", "P1"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } msg = "MUST NOT be able to instantiate KeyManagerFactory algorithm from any provider"; try { KeyManagerFactory.getInstance("foo"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } } private void testSSLContext(TestHarness harness) { String msg; msg = "MUST NOT be able to instantiate SSLContext algorithm from designated provider"; try { SSLContext.getInstance("foo", "P1"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } msg = "MUST NOT be able to instantiate SSLContext algorithm from any provider"; try { SSLContext.getInstance("foo"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } } private void testTrustManagerFactory(TestHarness harness) { String msg; msg = "MUST NOT be able to instantiate TrustManagerFactory algorithm from designated provider"; try { TrustManagerFactory.getInstance("foo", "P1"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } msg = "MUST NOT be able to instantiate TrustManagerFactory algorithm from any provider"; try { TrustManagerFactory.getInstance("foo"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } } private void testAlgorithmParameterGenerator(TestHarness harness) { String msg; msg = "MUST NOT be able to instantiate AlgorithmParameterGenerator algorithm from designated provider"; try { AlgorithmParameterGenerator.getInstance("foo", "P1"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } msg = "MUST NOT be able to instantiate AlgorithmParameterGenerator algorithm from any provider"; try { AlgorithmParameterGenerator.getInstance("foo"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } } private void testAlgorithmParameters(TestHarness harness) { String msg; msg = "MUST NOT be able to instantiate AlgorithmParameters algorithm from designated provider"; try { AlgorithmParameters.getInstance("foo", "P1"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } msg = "MUST NOT be able to instantiate AlgorithmParameters algorithm from any provider"; try { AlgorithmParameters.getInstance("foo"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } } private void testKeyFactory(TestHarness harness) { String msg; msg = "MUST NOT be able to instantiate KeyFactory algorithm from designated provider"; try { KeyFactory.getInstance("foo", "P1"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } msg = "MUST NOT be able to instantiate KeyFactory algorithm from any provider"; try { KeyFactory.getInstance("foo"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } } private void testKeyPairGenerator(TestHarness harness) { String msg; msg = "MUST NOT be able to instantiate KeyPairGenerator algorithm from designated provider"; try { KeyPairGenerator.getInstance("foo", "P1"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } msg = "MUST NOT be able to instantiate KeyPairGenerator algorithm from any provider"; try { KeyPairGenerator.getInstance("foo"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } } private void testKeyStore(TestHarness harness) { String msg; msg = "MUST NOT be able to instantiate KeyStore algorithm from designated provider"; try { KeyStore.getInstance("foo", "P1"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkKeyStoreException(harness, x); } msg = "MUST NOT be able to instantiate KeyStore algorithm from any provider"; try { KeyStore.getInstance("foo"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkKeyStoreException(harness, x); } } private void testMessageDigest(TestHarness harness) { String msg; msg = "MUST NOT be able to instantiate MessageDigest algorithm from designated provider"; try { MessageDigest.getInstance("foo", "P1"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } msg = "MUST NOT be able to instantiate MessageDigest algorithm from any provider"; try { MessageDigest.getInstance("foo"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } } private void testSecureRandom(TestHarness harness) { String msg; msg = "MUST NOT be able to instantiate SecureRandom algorithm from designated provider"; try { SecureRandom.getInstance("foo", "P1"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } msg = "MUST NOT be able to instantiate SecureRandom algorithm from any provider"; try { SecureRandom.getInstance("foo"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } } private void testSignature(TestHarness harness) { String msg; msg = "MUST NOT be able to instantiate Signature algorithm from designated provider"; try { Signature.getInstance("foo", "P1"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } msg = "MUST NOT be able to instantiate Signature algorithm from any provider"; try { Signature.getInstance("foo"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } } private void testCertificateFactory(TestHarness harness) { String msg; msg = "MUST NOT be able to instantiate CertificateFactory algorithm from designated provider"; try { CertificateFactory.getInstance("foo", "P1"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkCertificateException(harness, x); } msg = "MUST NOT be able to instantiate CertificateFactory algorithm from any provider"; try { CertificateFactory.getInstance("foo"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkCertificateException(harness, x); } } private void testCertPathBuilder(TestHarness harness) { String msg; msg = "MUST NOT be able to instantiate CertPathBuilder algorithm from designated provider"; try { CertPathBuilder.getInstance("foo", "P1"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } msg = "MUST NOT be able to instantiate CertPathBuilder algorithm from any provider"; try { CertPathBuilder.getInstance("foo"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } } private void testCertPathValidator(TestHarness harness) { String msg; msg = "MUST NOT be able to instantiate CertPathValidator algorithm from designated provider"; try { CertPathValidator.getInstance("foo", "P1"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } msg = "MUST NOT be able to instantiate CertPathValidator algorithm from any provider"; try { CertPathValidator.getInstance("foo"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } } private void testCertStore(TestHarness harness) { String msg; msg = "MUST NOT be able to instantiate CertStore algorithm from designated provider"; try { CertStore.getInstance("foo", null, "P1"); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } msg = "MUST NOT be able to instantiate CertStore algorithm from any provider"; try { CertStore.getInstance("foo", null); harness.fail(msg); } catch (Exception x) { harness.check(true, msg); checkClassNotFoundException(harness, x); } } private void checkClassNotFoundException(TestHarness harness, Exception x) { Throwable t = x.getCause(); harness.check(t != null, "Exception MUST have a Cause"); harness.check(t instanceof ClassNotFoundException, "Cause MUST be a ClassNotFoundException"); } private void checkKeyStoreException(TestHarness harness, Exception x) { harness.check(x instanceof KeyStoreException, "MUST throw a KeyStoreException"); Throwable t = x.getCause(); harness.check(t != null, "Exception MUST have a Cause"); harness.check(t instanceof NoSuchAlgorithmException, "Cause MUST be a NoSuchAlgorithmException"); t = t.getCause(); harness.check(t != null, "Exception MUST have a Cause"); harness.check(t instanceof ClassNotFoundException, "Cause MUST be a ClassNotFoundException"); } private void checkCertificateException(TestHarness harness, Exception x) { harness.check(x instanceof CertificateException, "MUST throw a CertificateException"); Throwable t = x.getCause(); harness.check(t != null, "Exception MUST have a Cause"); harness.check(t instanceof NoSuchAlgorithmException, "Cause MUST be a NoSuchAlgorithmException"); t = t.getCause(); harness.check(t != null, "Exception MUST have a Cause"); harness.check(t instanceof ClassNotFoundException, "Cause MUST be a ClassNotFoundException"); } class FakeProvider extends Provider { protected FakeProvider(String providerName) { super(providerName, 1.0, "Mauve testing security provider"); put("CallbackHandler.foo", "a.b.c"); put("Cipher.foo", "a.b.c"); put("ExemptionMechanism.foo", "a.b.c"); put("KeyAgreement.foo", "a.b.c"); put("KeyGenerator.foo", "a.b.c"); put("Mac.foo", "a.b.c"); put("SecretKeyFactory.foo", "a.b.c"); put("KeyManagerFactory.foo", "a.b.c"); put("SSLContext.foo", "a.b.c"); put("TrustManagerFactory.foo", "a.b.c"); put("AlgorithmParameterGenerator.foo", "a.b.c"); put("AlgorithmParameters.foo", "a.b.c"); put("KeyFactory.foo", "a.b.c"); put("KeyPairGenerator.foo", "a.b.c"); put("KeyStore.foo", "a.b.c"); put("MessageDigest.foo", "a.b.c"); put("SecureRandom.foo", "a.b.c"); put("Signature.foo", "a.b.c"); put("CertificateFactory.foo", "a.b.c"); put("CertPathBuilder.foo", "a.b.c"); put("CertPathValidator.foo", "a.b.c"); put("CertStore.foo", "a.b.c"); } } } mauve-20140821/gnu/testlet/gnu/java/security/util/0000755000175000001440000000000012375316426020571 5ustar dokousersmauve-20140821/gnu/testlet/gnu/java/security/util/TestOfIntegerUtil.java0000644000175000001440000000642410460363073025013 0ustar dokousers/* TestOfIntegerValueOf.java Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.util; import java.util.Random; import gnu.java.security.util.IntegerUtil; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Speed test for the Integer RI 5 compatibility utility class. */ public class TestOfIntegerUtil implements Testlet { private static final int INNER_ROUNDS = 1000; private static final int OUTER_ROUNDS = 2000; /* (non-Javadoc) * @see gnu.testlet.Testlet#test(gnu.testlet.TestHarness) */ public void test(TestHarness harness) { int[] input = new int[100]; int i, j; i = 0; for ( ; i < 7; i++) input[i] = i; j = 3; for ( ; i < 99; i++, j++) input[i] = 4 * j; Random rnd = new Random(); int[] ndx = new int[INNER_ROUNDS]; for (i = 0; i < INNER_ROUNDS; i++) ndx[i] = rnd.nextInt(100); String _100 = String.valueOf(100); long t1 = - System.currentTimeMillis(); for (i = 0; i < OUTER_ROUNDS * INNER_ROUNDS; i++) Integer.valueOf(_100); t1 += System.currentTimeMillis(); long t2 = - System.currentTimeMillis(); for (i = 0; i < OUTER_ROUNDS * INNER_ROUNDS; i++) IntegerUtil.valueOf(_100); t2 += System.currentTimeMillis(); harness.check(t2 <= t1, "IntegerUtil.valueOf(String) MUST be faster than Integer.valueOf(String)"); long t = - System.currentTimeMillis(); for (i = 0; i < OUTER_ROUNDS; i++) for (j = 0; j < INNER_ROUNDS; j++) Integer.valueOf(String.valueOf(input[ndx[j]])); harness.verbose("*** Integer.valueOf(String) total time in ms. = " + (t + System.currentTimeMillis())); t = - System.currentTimeMillis(); for (i = 0; i < OUTER_ROUNDS; i++) for (j = 0; j < INNER_ROUNDS; j++) IntegerUtil.valueOf(String.valueOf(input[ndx[j]])); harness.verbose("*** IntegerUtil.valueOf(String) total time in ms. = " + (t + System.currentTimeMillis())); t = - System.currentTimeMillis(); for (i = 0; i < OUTER_ROUNDS; i++) for (j = 0; j < INNER_ROUNDS; j++) Integer.valueOf(input[ndx[j]]); harness.verbose("*** Integer.valueOf(int) total time in ms. = " + (t + System.currentTimeMillis())); t = - System.currentTimeMillis(); for (i = 0; i < OUTER_ROUNDS; i++) for (j = 0; j < INNER_ROUNDS; j++) IntegerUtil.valueOf(input[ndx[j]]); harness.verbose("*** IntegerUtil.valueOf(int) total time in ms. = " + (t + System.currentTimeMillis())); } } mauve-20140821/gnu/testlet/gnu/java/security/key/0000755000175000001440000000000012375316426020404 5ustar dokousersmauve-20140821/gnu/testlet/gnu/java/security/key/TestOfKeyPairCodecFactory.java0000644000175000001440000000545710375750676026250 0ustar dokousers/* TestOfKeyPairCodecFactory.java Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.key; import java.util.Iterator; import gnu.java.security.Registry; import gnu.java.security.key.IKeyPairCodec; import gnu.java.security.key.KeyPairCodecFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class TestOfKeyPairCodecFactory implements Testlet { public void test(TestHarness harness) { testGetNames(harness); testSpecificNames(harness); } private void testGetNames(TestHarness harness) { harness.checkPoint("testGetNames"); for (Iterator it = KeyPairCodecFactory.getNames().iterator(); it.hasNext();) getCodec(harness, (String) it.next()); } private void testSpecificNames(TestHarness harness) { harness.checkPoint("testSpecificNames"); getCodec(harness, Registry.DSS_KPG + "/" + Registry.RAW_ENCODING_SHORT_NAME); getCodec(harness, Registry.DSS_KPG + "/" + Registry.X509_ENCODING_SORT_NAME); getCodec(harness, Registry.DSS_KPG + "/" + Registry.PKCS8_ENCODING_SHORT_NAME); getCodec(harness, Registry.RSA_KPG + "/" + Registry.RAW_ENCODING_SHORT_NAME); getCodec(harness, Registry.RSA_KPG + "/" + Registry.X509_ENCODING_SORT_NAME); getCodec(harness, Registry.RSA_KPG + "/" + Registry.PKCS8_ENCODING_SHORT_NAME); getCodec(harness, Registry.DH_KPG + "/" + Registry.RAW_ENCODING_SHORT_NAME); getCodec(harness, Registry.DH_KPG + "/" + Registry.X509_ENCODING_SORT_NAME); getCodec(harness, Registry.DH_KPG + "/" + Registry.PKCS8_ENCODING_SHORT_NAME); getCodec(harness, Registry.SRP_KPG + "/" + Registry.RAW_ENCODING_SHORT_NAME); } private IKeyPairCodec getCodec(TestHarness harness, String codecName) { String msg = "Key-pair codec \"" + codecName + "\" MUST succeed"; IKeyPairCodec result = null; try { result = KeyPairCodecFactory.getInstance(codecName); harness.check(result != null, msg); return result; } catch (RuntimeException x) { harness.debug(x); harness.fail(msg); } return result; } } mauve-20140821/gnu/testlet/gnu/java/security/key/TestOfKeyPairGeneratorFactory.java0000644000175000001440000000366210367014267027143 0ustar dokousers/* TestOfKeyPairGeneratorFactory.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.key; import gnu.java.security.key.IKeyPairGenerator; import gnu.java.security.key.KeyPairGeneratorFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Iterator; /** * Conformance tests for the KeyPairGeneratorFactory implementation. */ public class TestOfKeyPairGeneratorFactory implements Testlet { public void test(TestHarness harness) { harness.checkPoint("TestOfKeyPairGeneratorFactory"); String kpg; IKeyPairGenerator algorithm; for (Iterator it = KeyPairGeneratorFactory.getNames().iterator(); it.hasNext();) { kpg = (String) it.next(); try { algorithm = null; algorithm = KeyPairGeneratorFactory.getInstance(kpg); harness.check(algorithm != null, "getInstance(" + String.valueOf(kpg) + ")"); } catch (RuntimeException x) { harness.debug(x); harness.fail("TestOfKeyPairGeneratorFactory.getInstance(" + String.valueOf(kpg) + ")"); } } } }mauve-20140821/gnu/testlet/gnu/java/security/key/rsa/0000755000175000001440000000000012375316426021171 5ustar dokousersmauve-20140821/gnu/testlet/gnu/java/security/key/rsa/TestOfPR28556.java0000644000175000001440000000762310464015704024114 0ustar dokousers/* TestOfPR28556.java Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.key.rsa; import gnu.java.security.util.Util; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.KeyFactory; import java.security.spec.PKCS8EncodedKeySpec; /** * Regression test for PR Classpath/28556 */ public class TestOfPR28556 implements Testlet { private static final String RSA_KEY_DER = "\u3082\u0278\u0201\u0030\u0d06\u092a\u8648\u86f7" + "\u0d01\u0101\u0500\u0482\u0262\u3082\u025e\u0201" + "\u0002\u8181\u00b9\u616a\uf64f\uc22e\u1221\uf11b" + "\u34f7\u3198\uc49d\u5e2c\u1298\ue268\u3068\udfeb" + "\u49cd\u08e7\ud0e6\uc079\udca5\uc084\uacb1\u7dc9" + "\ufd7c\u2c13\uf78f\u2083\ua681\uebaf\u59e2\uff43" + "\ud6cc\u63f1\u55b4\u2a1e\u2d90\u2728\uc6b5\ueddb" + "\u9eac\u5bce\u7edf\ude12\ubb79\u11de\u1305\ua474" + "\uf074\ue0c9\u54e8\u216d\u422a\u1e49\u1810\u7b9f" + "\ube8f\u03b1\u4cbb\u868b\uf161\uda93\ue8e2\uca0e" + "\udb2c\ubc0c\u0102\u0301\u0001\u0281\u8100\ua986" + "\ua8e6\u2ef2\u0867\u949a\u84a2\udf1b\u7ff4\ued64" + "\u5d31\u7496\u3769\u6dbe\ub7d0\u79ac\u1732\u3692" + "\uf5de\u0dc6\u0c8e\u5092\u13d1\ub768\u27aa\u503d" + "\u0fa7\u8950\u1abf\u3c92\ueb5a\ud6f6\ude8e\u4e3e" + "\uda86\uc782\uc550\u24d6\ue3be\u87a2\u03d9\u260e" + "\u9b30\u245f\uf458\u02ac\uc824\uf547\u7bee\u73e2" + "\u767c\ude28\ue10b\u479d\ufc39\uc52c\u67d1\u7d19" + "\u22a1\u26de\uf7cd\u5bc7\uc9f5\uf4f0\u2771\u0241" + "\u00e8\u3e09\u11bd\ufd4d\u53f6\u7e86\u42c7\u208c" + "\ufb33\u8cfa\u6ffd\u984a\u2615\u5146\uba79\u7fd5" + "\u95f0\u3fff\u85d0\ue984\u90b7\u544f\u3a74\u2ee7" + "\u7f54\uc2ca\u9d5b\uf626\u7714\u4565\ua303\uff6f" + "\u3702\u4100\ucc58\u2a56\uf26e\ub17d\u54f9\ud8ee" + "\ub386\u9fe6\ub213\u68b5\u01ec\uaa90\u8f0c\uff03" + "\u067b\u9586\u7b8f\u0799\u2a62\u0830\u4f27\u2092" + "\udc75\u38cd\u5d03\ub139\u3108\ub4f2\ubd5b\ue2e4" + "\uf471\uca87\u0241\u00dc\u3aaf\u98fe\u842c\u8719" + "\u7143\uda21\u4051\ud088\u4300\udda0\u2a80\uedfa" + "\u3b17\u8a0f\u5b54\uec19\u6666\ue5bb\u8525\uaba1" + "\uddb6\u3fe5\u1af1\u75c2\ua7f1\u4125\u8a97\u5146" + "\u8cc4\u63c0\u8fc2\u2302\u4045\u0389\ud92f\uabbe" + "\ufa2b\u56ee\ub33f\ua2ba\u227a\u0620\u18f1\ufb72" + "\u67bc\u4891\u5ffe\u3282\uff96\u7f69\ufb8a\udaed" + "\u1513\uc68d\u33cc\u8d32\u8ff9\u5823\ue4c2\uf0c3" + "\udc2f\ua3f6\uef88\ub75d\uc502\u4100\ucef4\udc8e" + "\u88b5\ud482\uf24f\udc2d\u5320\u0705\u5c23\ua799" + "\ua366\uf5d8\ube2a\ub841\uecae\uec7a\u6a7d\uee48" + "\u2e6b\u6d17\u816c\u2945\u53d1\u931b\ue7c6\u2720" + "\u6b8d\ud887\u7d9e\ud38b\ue11f\u49e2"; public void test(TestHarness harness) { harness.checkPoint("TestOfPR28556"); KeyFactory kf; PKCS8EncodedKeySpec spec; try { kf = KeyFactory.getInstance("RSA"); spec = new PKCS8EncodedKeySpec(Util.toBytesFromUnicode(RSA_KEY_DER)); kf.generatePrivate(spec); harness.check(true, "MUST be able to parse generated OpenSSL RSA private key"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfPR28556: " + x); } } } mauve-20140821/gnu/testlet/gnu/java/security/key/rsa/TestOfRSAKeyGeneration.java0000644000175000001440000001517410445137735026303 0ustar dokousers/* TestOfRSAKeyGeneration.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.key.rsa; import gnu.java.security.key.rsa.RSAKeyPairGenerator; import gnu.java.security.sig.rsa.RSA; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.math.BigInteger; import java.security.KeyPair; import java.security.PrivateKey; import java.security.PublicKey; import java.security.interfaces.RSAPrivateKey; import java.security.interfaces.RSAPrivateCrtKey; import java.security.interfaces.RSAPublicKey; import java.util.HashMap; import java.util.Random; /** * Conformance tests for the RSA key-pair generation implementation. */ public class TestOfRSAKeyGeneration implements Testlet { private static final BigInteger ZERO = BigInteger.ZERO; private static final BigInteger ONE = BigInteger.ONE; private RSAKeyPairGenerator kpg = new RSAKeyPairGenerator(); private HashMap map = new HashMap(); public void test(TestHarness harness) { testKeyPairGeneration(harness); testRSAParams(harness); testRSAPrimitives(harness); } public void testKeyPairGeneration(TestHarness harness) { harness.checkPoint("TestOfRSAKeyGeneration.testKeyPairGeneration"); try { setUp(); map.put(RSAKeyPairGenerator.MODULUS_LENGTH, new Integer(530)); try { kpg.setup(map); harness.fail("L should be >= 1024"); } catch (IllegalArgumentException x) { harness.check(true, "L should be >= 1024"); } map.put(RSAKeyPairGenerator.MODULUS_LENGTH, new Integer(1024)); kpg.setup(map); KeyPair kp = kpg.generate(); BigInteger n1 = ((RSAPublicKey) kp.getPublic()).getModulus(); BigInteger n2 = ((RSAPrivateKey) kp.getPrivate()).getModulus(); BigInteger p = ((RSAPrivateCrtKey) kp.getPrivate()).getPrimeP(); BigInteger q = ((RSAPrivateCrtKey) kp.getPrivate()).getPrimeQ(); harness.check(n1.equals(p.multiply(q)), "n1 == pq"); harness.check(n2.equals(p.multiply(q)), "n2 == pq"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfRSAPSSSignature.testKeyPairGeneration"); } } public void testRSAParams(TestHarness harness) { harness.checkPoint("TestOfRSAKeyGeneration.testRSAParams"); try { setUp(); map.put(RSAKeyPairGenerator.MODULUS_LENGTH, new Integer(1024)); kpg.setup(map); KeyPair kp = kpg.generate(); BigInteger n1 = ((RSAPublicKey) kp.getPublic()).getModulus(); BigInteger e = ((RSAPublicKey) kp.getPublic()).getPublicExponent(); BigInteger n2 = ((RSAPrivateKey) kp.getPrivate()).getModulus(); BigInteger d = ((RSAPrivateKey) kp.getPrivate()).getPrivateExponent(); BigInteger p = ((RSAPrivateCrtKey) kp.getPrivate()).getPrimeP(); BigInteger q = ((RSAPrivateCrtKey) kp.getPrivate()).getPrimeQ(); BigInteger dP = ((RSAPrivateCrtKey) kp.getPrivate()).getPrimeExponentP(); BigInteger dQ = ((RSAPrivateCrtKey) kp.getPrivate()).getPrimeExponentQ(); BigInteger qInv = ((RSAPrivateCrtKey) kp.getPrivate()).getCrtCoefficient(); harness.check(n1.bitLength() == 1024, "n1 is a 1024-bit MPI"); harness.check(n2.bitLength() == 1024, "n2 is a 1024-bit MPI"); harness.check(n1.equals(n2), "n1 == n2"); // In a valid RSA private key with this representation, the two factors p // and q are the prime factors of the modulus n, harness.check(p.isProbablePrime(80), "p is prime"); harness.check(q.isProbablePrime(80), "q is prime"); harness.check(n1.equals(p.multiply(q)), "n == pq"); // dP and dQ are positive integers less than p and q respectively BigInteger p_minus_1 = p.subtract(ONE); BigInteger q_minus_1 = q.subtract(ONE); harness.check(ZERO.compareTo(dP) < 0 && dP.compareTo(p_minus_1) < 0, "0 < dP < p-1"); harness.check(ZERO.compareTo(dQ) < 0 && dQ.compareTo(q_minus_1) < 0, "0 < dQ < q-1"); // satisfying // e . dP = 1 (mod p?1); // e . dQ = 1 (mod q?1), harness.check(e.multiply(dP).mod(p_minus_1).equals(ONE), "e.dP == 1 (mod p-1)"); harness.check(e.multiply(dQ).mod(q_minus_1).equals(ONE), "e.dQ == 1 (mod q-1)"); // and the CRT coefficient qInv is a positive integer less than p // satisfying // q . qInv = 1 (mod p). harness.check(q.multiply(qInv).mod(p).equals(ONE), "q.qInv == 1 (mod p)"); BigInteger phi = p_minus_1.multiply(q_minus_1); harness.check(e.gcd(phi).equals(ONE), "gcd(e, phi) == 1"); harness.check(e.multiply(d).mod(phi).equals(ONE), "e.d == 1 (mod phi)"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfRSAPSSSignature.testRSAParams"); } } public void testRSAPrimitives(TestHarness harness) { harness.checkPoint("TestOfRSAKeyGeneration.testRSAPrimitives"); try { setUp(); map.put(RSAKeyPairGenerator.MODULUS_LENGTH, new Integer(1024)); kpg.setup(map); KeyPair kp = kpg.generate(); PublicKey pubK = kp.getPublic(); PrivateKey privK = kp.getPrivate(); BigInteger n = ((RSAPublicKey) pubK).getModulus(); BigInteger m = ZERO; Random prng = new Random(System.currentTimeMillis()); while (m.equals(ZERO) || m.compareTo(n) >= 0) m = new BigInteger(1024, prng); BigInteger s = RSA.sign(privK, m); BigInteger cm = RSA.verify(pubK, s); harness.check(cm.equals(m)); } catch (Exception x) { harness.debug(x); harness.fail("TestOfRSAPSSSignature.testRSAPrimitives"); } } private void setUp() { kpg = new RSAKeyPairGenerator(); map.clear(); } }mauve-20140821/gnu/testlet/gnu/java/security/key/rsa/TestOfRSACodec.java0000644000175000001440000001323410372630653024543 0ustar dokousers/* TestOfRSACodec.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.key.rsa; import gnu.java.security.key.IKeyPairCodec; import gnu.java.security.key.rsa.GnuRSAPrivateKey; import gnu.java.security.key.rsa.GnuRSAPublicKey; import gnu.java.security.key.rsa.RSAKeyPairGenerator; import gnu.java.security.key.rsa.RSAKeyPairPKCS8Codec; import gnu.java.security.key.rsa.RSAKeyPairRawCodec; import gnu.java.security.key.rsa.RSAKeyPairX509Codec; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.KeyPair; import java.security.PrivateKey; import java.security.PublicKey; import java.security.interfaces.RSAPrivateKey; import java.security.interfaces.RSAPublicKey; import java.util.HashMap; /** * Conformance tests for the RSA key format encoding/decoding implementations. */ public class TestOfRSACodec implements Testlet { private HashMap map; private RSAKeyPairGenerator kpg; private KeyPair kp; public void test(TestHarness harness) { setUp(); testUnknownKeyPairCodec(harness); testKeyPairRawCodec(harness); testKeyPairASN1Codec(harness); testPrivateKeyValueOf(harness); testPublicKeyValueOf(harness); } private void testUnknownKeyPairCodec(TestHarness harness) { harness.checkPoint("testUnknownKeyPairCodec"); kp = kpg.generate(); GnuRSAPublicKey pubK = (GnuRSAPublicKey) kp.getPublic(); try { ((GnuRSAPublicKey) pubK).getEncoded(0); harness.fail("Public key succeeded with unknown format ID"); } catch (IllegalArgumentException x) { harness.check(true, "Recognised unknown public key format ID"); } GnuRSAPrivateKey secK = (GnuRSAPrivateKey) kp.getPrivate(); try { ((GnuRSAPrivateKey) secK).getEncoded(0); harness.fail("Private key succeeded with unknown format ID"); } catch (IllegalArgumentException x) { harness.check(true, "Recognised unknown private key format ID"); } } public void testKeyPairRawCodec(TestHarness harness) { harness.checkPoint("testKeyPairRawCodec"); byte[] pk; IKeyPairCodec codec = new RSAKeyPairRawCodec(); kp = kpg.generate(); RSAPublicKey pubK = (RSAPublicKey) kp.getPublic(); pk = ((GnuRSAPublicKey) pubK).getEncoded(IKeyPairCodec.RAW_FORMAT); PublicKey newPubK = codec.decodePublicKey(pk); harness.check(pubK.equals(newPubK), "RSA public key Raw encoder/decoder test"); RSAPrivateKey secK = (RSAPrivateKey) kp.getPrivate(); pk = ((GnuRSAPrivateKey) secK).getEncoded(IKeyPairCodec.RAW_FORMAT); PrivateKey newSecK = codec.decodePrivateKey(pk); harness.check(secK.equals(newSecK), "RSA private key Raw encoder/decoder test"); } private void testKeyPairASN1Codec(TestHarness harness) { harness.checkPoint("testKeyPairASN1Codec"); kp = kpg.generate(); byte[] pk; RSAPublicKey pubK = (RSAPublicKey) kp.getPublic(); pk = ((GnuRSAPublicKey) pubK).getEncoded(IKeyPairCodec.X509_FORMAT); PublicKey newPubK = new RSAKeyPairX509Codec().decodePublicKey(pk); harness.check(pubK.equals(newPubK), "RSA public key ASN.1 encoder/decoder test"); RSAPrivateKey secK = (RSAPrivateKey) kp.getPrivate(); pk = ((GnuRSAPrivateKey) secK).getEncoded(IKeyPairCodec.PKCS8_FORMAT); PrivateKey newSecK = new RSAKeyPairPKCS8Codec().decodePrivateKey(pk); harness.check(secK.equals(newSecK), "RSA private key ASN.1 encoder/decoder test"); } public void testPublicKeyValueOf(TestHarness harness) { harness.checkPoint("testPublicKeyValueOf"); byte[] pk; kp = kpg.generate(); RSAPublicKey p1 = (RSAPublicKey) kp.getPublic(); pk = ((GnuRSAPublicKey) p1).getEncoded(IKeyPairCodec.RAW_FORMAT); PublicKey p2 = GnuRSAPublicKey.valueOf(pk); harness.check(p1.equals(p2), "RSA public key valueOf() test"); pk = ((GnuRSAPublicKey) p1).getEncoded(IKeyPairCodec.X509_FORMAT); PublicKey p3 = GnuRSAPublicKey.valueOf(pk); harness.check(p1.equals(p3), "RSA public key valueOf() test"); } public void testPrivateKeyValueOf(TestHarness harness) { harness.checkPoint("testPrivateKeyValueOf"); byte[] pk; kp = kpg.generate(); RSAPrivateKey p1 = (RSAPrivateKey) kp.getPrivate(); pk = ((GnuRSAPrivateKey) p1).getEncoded(IKeyPairCodec.RAW_FORMAT); PrivateKey p2 = GnuRSAPrivateKey.valueOf(pk); harness.check(p1.equals(p2), "RSA private key valueOf() test"); pk = ((GnuRSAPrivateKey) p1).getEncoded(IKeyPairCodec.PKCS8_FORMAT); PrivateKey p3 = GnuRSAPrivateKey.valueOf(pk); harness.check(p1.equals(p3), "RSA private key valueOf() test"); } private void setUp() { map = new HashMap(); map.put(RSAKeyPairGenerator.MODULUS_LENGTH, new Integer(1024)); kpg = new RSAKeyPairGenerator(); kpg.setup(map); } }mauve-20140821/gnu/testlet/gnu/java/security/key/dss/0000755000175000001440000000000012375316426021175 5ustar dokousersmauve-20140821/gnu/testlet/gnu/java/security/key/dss/TestOfDSSKeyGeneration.java0000644000175000001440000000523510445137735026310 0ustar dokousers/* TestOfDSSKeyGeneration.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.key.dss; import gnu.java.security.key.dss.DSSKeyPairGenerator; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.math.BigInteger; import java.security.KeyPair; import java.security.interfaces.DSAPrivateKey; import java.security.interfaces.DSAPublicKey; import java.util.HashMap; /** * Conformance tests for the DSS key-pair generation implementation. */ public class TestOfDSSKeyGeneration implements Testlet { public void test(TestHarness harness) { harness.checkPoint("TestOfDSSKeyGeneration"); DSSKeyPairGenerator kpg = new DSSKeyPairGenerator(); HashMap map = new HashMap(); map.put(DSSKeyPairGenerator.MODULUS_LENGTH, new Integer(530)); try { kpg.setup(map); harness.fail("L should be <= 1024 and of the form 512 + 64n"); } catch (IllegalArgumentException x) { harness.check(true, "L should be <= 1024 and of the form 512 + 64n"); } map.put(DSSKeyPairGenerator.MODULUS_LENGTH, new Integer(512)); map.put(DSSKeyPairGenerator.USE_DEFAULTS, new Boolean(false)); kpg.setup(map); KeyPair kp = kpg.generate(); BigInteger p1 = ((DSAPublicKey) kp.getPublic()).getParams().getP(); BigInteger p2 = ((DSAPrivateKey) kp.getPrivate()).getParams().getP(); harness.check(p1.equals(p2), "p1.equals(p2)"); BigInteger q1 = ((DSAPublicKey) kp.getPublic()).getParams().getQ(); BigInteger q2 = ((DSAPrivateKey) kp.getPrivate()).getParams().getQ(); harness.check(q1.equals(q2), "q1.equals(q2)"); BigInteger g1 = ((DSAPublicKey) kp.getPublic()).getParams().getG(); BigInteger g2 = ((DSAPrivateKey) kp.getPrivate()).getParams().getG(); harness.check(g1.equals(g2), "g1.equals(g2)"); harness.check(q1.isProbablePrime(80), "q is probable prime"); harness.check(p1.isProbablePrime(80), "p is probable prime"); } }mauve-20140821/gnu/testlet/gnu/java/security/key/dss/TestOfDSSCodec.java0000644000175000001440000001327610372630653024561 0ustar dokousers/* TestOfDSSCodec.java Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.key.dss; import gnu.java.security.key.IKeyPairCodec; import gnu.java.security.key.dss.DSSKeyPairGenerator; import gnu.java.security.key.dss.DSSKeyPairPKCS8Codec; import gnu.java.security.key.dss.DSSKeyPairRawCodec; import gnu.java.security.key.dss.DSSKeyPairX509Codec; import gnu.java.security.key.dss.DSSPrivateKey; import gnu.java.security.key.dss.DSSPublicKey; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.KeyPair; import java.security.PrivateKey; import java.security.PublicKey; import java.security.interfaces.DSAPrivateKey; import java.security.interfaces.DSAPublicKey; import java.util.HashMap; /** * Conformance tests for the DSS key format encoding/decoding implementation. */ public class TestOfDSSCodec implements Testlet { private HashMap map; private DSSKeyPairGenerator kpg = new DSSKeyPairGenerator(); private KeyPair kp; public void test(TestHarness harness) { setUp(); testUnknownKeyPairCodec(harness); testKeyPairRawCodec(harness); testKeyPairASN1Codec(harness); testPublicKeyValueOf(harness); testPrivateKeyValueOf(harness); } private void testUnknownKeyPairCodec(TestHarness harness) { harness.checkPoint("testUnknownKeyPairCodec"); kp = kpg.generate(); DSAPublicKey pubK = (DSAPublicKey) kp.getPublic(); try { ((DSSPublicKey) pubK).getEncoded(0); harness.fail("Public key succeeded with unknown format ID"); } catch (IllegalArgumentException x) { harness.check(true, "Recognised unknown public key format ID"); } DSAPrivateKey secK = (DSAPrivateKey) kp.getPrivate(); try { ((DSSPrivateKey) secK).getEncoded(0); harness.fail("Private key succeeded with unknown format ID"); } catch (IllegalArgumentException x) { harness.check(true, "Recognised unknown private key format ID"); } } private void testKeyPairRawCodec(TestHarness harness) { harness.checkPoint("testKeyPairRawCodec"); kp = kpg.generate(); IKeyPairCodec codec = new DSSKeyPairRawCodec(); byte[] pk; DSAPublicKey pubK = (DSAPublicKey) kp.getPublic(); pk = ((DSSPublicKey) pubK).getEncoded(IKeyPairCodec.RAW_FORMAT); PublicKey newPubK = codec.decodePublicKey(pk); harness.check(pubK.equals(newPubK), "DSS public key Raw encoder/decoder test"); DSAPrivateKey secK = (DSAPrivateKey) kp.getPrivate(); pk = ((DSSPrivateKey) secK).getEncoded(IKeyPairCodec.RAW_FORMAT); PrivateKey newSecK = codec.decodePrivateKey(pk); harness.check(secK.equals(newSecK), "DSS private key Raw encoder/decoder test"); } private void testKeyPairASN1Codec(TestHarness harness) { harness.checkPoint("testKeyPairASN1Codec"); kp = kpg.generate(); byte[] pk; DSAPublicKey pubK = (DSAPublicKey) kp.getPublic(); DSAPrivateKey secK = (DSAPrivateKey) kp.getPrivate(); pk = ((DSSPrivateKey) secK).getEncoded(IKeyPairCodec.PKCS8_FORMAT); PrivateKey newSecK = new DSSKeyPairPKCS8Codec().decodePrivateKey(pk); harness.check(secK.equals(newSecK), "DSS private key ASN.1 encoder/decoder test"); pk = ((DSSPublicKey) pubK).getEncoded(IKeyPairCodec.X509_FORMAT); PublicKey newPubK = new DSSKeyPairX509Codec().decodePublicKey(pk); harness.check(pubK.equals(newPubK), "DSS public key ASN.1 encoder/decoder test"); } private void testPublicKeyValueOf(TestHarness harness) { harness.checkPoint("testPublicKeyValueOf"); kp = kpg.generate(); byte[] pk; DSAPublicKey p1 = (DSAPublicKey) kp.getPublic(); pk = ((DSSPublicKey) p1).getEncoded(IKeyPairCodec.RAW_FORMAT); PublicKey p2 = DSSPublicKey.valueOf(pk); harness.check(p1.equals(p2), "DSS public key valueOf() test"); pk = ((DSSPublicKey) p1).getEncoded(IKeyPairCodec.X509_FORMAT); PublicKey p3 = DSSPublicKey.valueOf(pk); harness.check(p1.equals(p3), "DSS public key valueOf() test"); } private void testPrivateKeyValueOf(TestHarness harness) { harness.checkPoint("testPrivateKeyValueOf"); kp = kpg.generate(); byte[] pk; DSAPrivateKey p1 = (DSAPrivateKey) kp.getPrivate(); pk = ((DSSPrivateKey) p1).getEncoded(IKeyPairCodec.RAW_FORMAT); PrivateKey p2 = DSSPrivateKey.valueOf(pk); harness.check(p1.equals(p2), "DSS private key valueOf() test"); pk = ((DSSPrivateKey) p1).getEncoded(IKeyPairCodec.PKCS8_FORMAT); PrivateKey p3 = DSSPrivateKey.valueOf(pk); harness.check(p1.equals(p3), "DSS private key valueOf() test"); } private void setUp() { map = new HashMap(); map.put(DSSKeyPairGenerator.MODULUS_LENGTH, new Integer(512)); map.put(DSSKeyPairGenerator.USE_DEFAULTS, new Boolean(false)); kpg = new DSSKeyPairGenerator(); kpg.setup(map); } }mauve-20140821/gnu/testlet/gnu/java/security/hash/0000755000175000001440000000000012375316426020537 5ustar dokousersmauve-20140821/gnu/testlet/gnu/java/security/hash/TestOfSha512.java0000644000175000001440000000417010367014266023470 0ustar dokousers/* TestOfSha512.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.hash; import gnu.java.security.hash.IMessageDigest; import gnu.java.security.hash.Sha512; import gnu.java.security.util.Util; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Conformance tests for the SHA-2-3 implementation. */ public class TestOfSha512 implements Testlet { private IMessageDigest algorithm; public void test(TestHarness harness) { harness.checkPoint("TestOfSha512"); try { algorithm = new Sha512(); harness.check(algorithm.selfTest(), "selfTest"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfSha512.selfTest"); } try { algorithm = new Sha512(); algorithm.update( ("abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmno" + "ijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu").getBytes(), 0, 112); byte[] md = algorithm.digest(); String exp = "8E959B75DAE313DA8CF4F72814FC143F8F7779C6EB9F7FA17299AEADB6889018" + "501D289E4900F7E4331B99DEC4B5433AC7D329EEB6DD26545E96E55B874BE909"; harness.check(exp.equals(Util.toString(md)), "testAlphabet"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfSha512.testAlphabet"); } } }mauve-20140821/gnu/testlet/gnu/java/security/hash/TestOfRipeMD160.java0000644000175000001440000000737110367014266024102 0ustar dokousers/* TestOfRipeMD160.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.hash; import gnu.java.security.hash.IMessageDigest; import gnu.java.security.hash.RipeMD160; import gnu.java.security.util.Util; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Conformance tests for the RipeMD160 implementation. */ public class TestOfRipeMD160 implements Testlet { private IMessageDigest algorithm, clone; public void test(TestHarness harness) { harness.checkPoint("TestOfRipeMD160"); try { algorithm = new RipeMD160(); harness.check(algorithm.selfTest(), "selfTest"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfRipeMD160.selfTest"); } try { algorithm = new RipeMD160(); algorithm.update("a".getBytes(), 0, 1); byte[] md = algorithm.digest(); String exp = "0BDC9D2D256B3EE9DAAE347BE6F4DC835A467FFE"; harness.check(exp.equals(Util.toString(md)), "testA"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfRipeMD160.testA"); } try { algorithm = new RipeMD160(); algorithm.update("abc".getBytes(), 0, 3); byte[] md = algorithm.digest(); String exp = "8EB208F7E05D987A9B044A8E98C6B087F15A0BFC"; harness.check(exp.equals(Util.toString(md)), "testABC"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfRipeMD160.testABC"); } try { algorithm = new RipeMD160(); algorithm.update("message digest".getBytes(), 0, 14); byte[] md = algorithm.digest(); String exp = "5D0689EF49D2FAE572B881B123A85FFA21595F36"; harness.check(exp.equals(Util.toString(md)), "testMessageDigest"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfRipeMD160.testMessageDigest"); } try { algorithm = new RipeMD160(); algorithm.update("abcdefghijklmnopqrstuvwxyz".getBytes(), 0, 26); byte[] md = algorithm.digest(); String exp = "F71C27109C692C1B56BBDCEB5B9D2865B3708DBC"; harness.check(exp.equals(Util.toString(md)), "testAlphabet"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfRipeMD160.testAlphabet"); } try { algorithm = new RipeMD160(); algorithm.update("a".getBytes(), 0, 1); clone = (IMessageDigest) algorithm.clone(); byte[] md = algorithm.digest(); String exp = "0BDC9D2D256B3EE9DAAE347BE6F4DC835A467FFE"; harness.check(exp.equals(Util.toString(md)), "testCloning #1"); clone.update("bc".getBytes(), 0, 2); md = clone.digest(); exp = "8EB208F7E05D987A9B044A8E98C6B087F15A0BFC"; harness.check(exp.equals(Util.toString(md)), "testCloning #2"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfRipeMD160.testCloning"); } } }mauve-20140821/gnu/testlet/gnu/java/security/hash/TestOfWhirlpool.java0000644000175000001440000001335310415572133024503 0ustar dokousers/* TestOfWhirlpool.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.hash; import gnu.java.security.hash.IMessageDigest; import gnu.java.security.hash.Whirlpool; import gnu.java.security.util.Util; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Conformance tests for the {@link Whirlpool} hash implementation. *

    * The test vectors used are those described in the "iso-test-vectors.txt" * document included in the Whirlpool Version 3 documentation package available * from * * The WHIRLPOOL Hashing Function Paulo's page. */ public class TestOfWhirlpool implements Testlet { /** The test vector for the ASCII character 'a'. */ private static final String TV1 = "8ACA2602792AEC6F11A67206531FB7D7F0DFF59413145E6973C45001D0087B42" + "D11BC645413AEFF63A42391A39145A591A92200D560195E53B478584FDAE231A"; /** The test vector for the ASCII characters 'abc'. */ private static final String TV2 = "4E2448A4C6F486BB16B6562C73B4020BF3043E3A731BCE721AE1B303D97E6D4C" + "7181EEBDB6C57E277D0E34957114CBD6C797FC9D95D8B582D225292076D4EEF5"; private IMessageDigest algorithm, clone; // default 0-arguments constructor public void test(TestHarness harness) { harness.checkPoint("TestOfWhirlpool"); try { algorithm = new Whirlpool(); harness.check(algorithm.selfTest(), "selfTest"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfWhirlpool.selfTest"); } try { algorithm = new Whirlpool(); algorithm.update("a".getBytes(), 0, 1); byte[] md = algorithm.digest(); harness.check(TV1.equals(Util.toString(md)), "testA"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfWhirlpool.testA"); } try { algorithm = new Whirlpool(); algorithm.update("abc".getBytes(), 0, 3); byte[] md = algorithm.digest(); harness.check(TV2.equals(Util.toString(md)), "testABC"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfWhirlpool.testABC"); } try { algorithm = new Whirlpool(); algorithm.update("message digest".getBytes(), 0, 14); byte[] md = algorithm.digest(); String exp = "378C84A4126E2DC6E56DCC7458377AAC838D00032230F53CE1F5700C0FFB4D3B" + "8421557659EF55C106B4B52AC5A4AAA692ED920052838F3362E86DBD37A8903E"; harness.check(exp.equals(Util.toString(md)), "testMessageDigest"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfWhirlpool.testMessageDigest"); } try { algorithm = new Whirlpool(); algorithm.update("abcdefghijklmnopqrstuvwxyz".getBytes(), 0, 26); byte[] md = algorithm.digest(); String exp = "F1D754662636FFE92C82EBB9212A484A8D38631EAD4238F5442EE13B8054E41B" + "08BF2A9251C30B6A0B8AAE86177AB4A6F68F673E7207865D5D9819A3DBA4EB3B"; harness.check(exp.equals(Util.toString(md)), "testAlphabet"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfWhirlpool.testAlphabet"); } try { algorithm = new Whirlpool(); algorithm.update("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".getBytes(), 0, 62); byte[] md = algorithm.digest(); String exp = "DC37E008CF9EE69BF11F00ED9ABA26901DD7C28CDEC066CC6AF42E40F82F3A1E" + "08EBA26629129D8FB7CB57211B9281A65517CC879D7B962142C65F5A7AF01467"; harness.check(exp.equals(Util.toString(md)), "testAsciiSubset"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfWhirlpool.testAsciiSubset"); } try { algorithm = new Whirlpool(); for (int i = 0; i < 8; i++) algorithm.update("1234567890".getBytes(), 0, 10); byte[] md = algorithm.digest(); String exp = "466EF18BABB0154D25B9D38A6414F5C08784372BCCB204D6549C4AFADB601429" + "4D5BD8DF2A6C44E538CD047B2681A51A2C60481E88C5A20B2C2A80CF3A9A083B"; harness.check(exp.equals(Util.toString(md)), "testEightyNumerics"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfWhirlpool.testEightyNumerics"); } try { algorithm = new Whirlpool(); algorithm.update((byte) 'a'); clone = (IMessageDigest) algorithm.clone(); byte[] md = algorithm.digest(); harness.check(TV1.equals(Util.toString(md)), "testCloning #1"); clone.update((byte) 'b'); clone.update((byte) 'c'); md = clone.digest(); harness.check(TV2.equals(Util.toString(md)), "testCloning #2"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfWhirlpool.testCloning"); } } }mauve-20140821/gnu/testlet/gnu/java/security/hash/TestOfSha256.java0000644000175000001440000000373310367014266023501 0ustar dokousers/* TestOfSha256.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.hash; import gnu.java.security.hash.IMessageDigest; import gnu.java.security.hash.Sha256; import gnu.java.security.util.Util; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Conformance tests for the SHA-2-1 implementation. */ public class TestOfSha256 implements Testlet { private IMessageDigest algorithm; public void test(TestHarness harness) { harness.checkPoint("TestOfSha256"); try { algorithm = new Sha256(); harness.check(algorithm.selfTest(), "selfTest"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfSha256.selfTest"); } try { algorithm = new Sha256(); algorithm.update( "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq".getBytes(), 0, 56); byte[] md = algorithm.digest(); String exp = "248D6A61D20638B8E5C026930C3E6039A33CE45964FF2167F6ECEDD419DB06C1"; harness.check(exp.equals(Util.toString(md)), "testAlphabet"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfSha256.testAlphabet"); } } }mauve-20140821/gnu/testlet/gnu/java/security/hash/TestOfSha384.java0000644000175000001440000000412510367014266023477 0ustar dokousers/* TestOfSha384.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.hash; import gnu.java.security.hash.IMessageDigest; import gnu.java.security.hash.Sha384; import gnu.java.security.util.Util; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Conformance tests for the SHA-2-2 implementation. */ public class TestOfSha384 implements Testlet { private IMessageDigest algorithm; public void test(TestHarness harness) { harness.checkPoint("TestOfSha384"); try { algorithm = new Sha384(); harness.check(algorithm.selfTest(), "selfTest"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfSha384.selfTest"); } try { algorithm = new Sha384(); algorithm.update( ("abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmno" + "ijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu").getBytes(), 0, 112); byte[] md = algorithm.digest(); String exp = "09330C33F71147E83D192FC782CD1B4753111B173B3B05D22FA08086E3B0F712" + "FCC7C71A557E2DB966C3E9FA91746039"; harness.check(exp.equals(Util.toString(md)), "testAlphabet"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfSha384.testAlphabet"); } } }mauve-20140821/gnu/testlet/gnu/java/security/hash/TestOfSha160.java0000644000175000001440000000366510367014266023477 0ustar dokousers/* TestOfSha160.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.hash; import gnu.java.security.hash.IMessageDigest; import gnu.java.security.hash.Sha160; import gnu.java.security.util.Util; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Conformance tests for the SHA-1 implementation. */ public class TestOfSha160 implements Testlet { private IMessageDigest algorithm; public void test(TestHarness harness) { harness.checkPoint("TestOfSha160"); try { algorithm = new Sha160(); harness.check(algorithm.selfTest(), "selfTest"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfSha160.selfTest"); } try { algorithm = new Sha160(); algorithm.update( "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq".getBytes(), 0, 56); byte[] md = algorithm.digest(); String exp = "84983E441C3BD26EBAAE4AA1F95129E5E54670F1"; harness.check(exp.equals(Util.toString(md)), "testAlphabet"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfSha160.testAlphabet"); } } }mauve-20140821/gnu/testlet/gnu/java/security/hash/TestOfRipeMD128.java0000644000175000001440000000731110367014266024100 0ustar dokousers/* TestOfRipeMD128.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.hash; import gnu.java.security.hash.IMessageDigest; import gnu.java.security.hash.RipeMD128; import gnu.java.security.util.Util; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Conformance tests for the RipeMD128 implementation. */ public class TestOfRipeMD128 implements Testlet { private IMessageDigest algorithm, clone; public void test(TestHarness harness) { harness.checkPoint("TestOfRipeMD128"); try { algorithm = new RipeMD128(); harness.check(algorithm.selfTest(), "selfTest"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfRipeMD128.selfTest"); } try { algorithm = new RipeMD128(); algorithm.update("a".getBytes(), 0, 1); byte[] md = algorithm.digest(); String exp = "86BE7AFA339D0FC7CFC785E72F578D33"; harness.check(exp.equals(Util.toString(md)), "testA"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfRipeMD128.testA"); } try { algorithm = new RipeMD128(); algorithm.update("abc".getBytes(), 0, 3); byte[] md = algorithm.digest(); String exp = "C14A12199C66E4BA84636B0F69144C77"; harness.check(exp.equals(Util.toString(md)), "testABC"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfRipeMD128.testABC"); } try { algorithm = new RipeMD128(); algorithm.update("message digest".getBytes(), 0, 14); byte[] md = algorithm.digest(); String exp = "9E327B3D6E523062AFC1132D7DF9D1B8"; harness.check(exp.equals(Util.toString(md)), "testMessageDigest"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfRipeMD128.testMessageDigest"); } try { algorithm = new RipeMD128(); algorithm.update("abcdefghijklmnopqrstuvwxyz".getBytes(), 0, 26); byte[] md = algorithm.digest(); String exp = "FD2AA607F71DC8F510714922B371834E"; harness.check(exp.equals(Util.toString(md)), "testAlphabet"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfRipeMD128.testAlphabet"); } try { algorithm = new RipeMD128(); algorithm.update("a".getBytes(), 0, 1); clone = (IMessageDigest) algorithm.clone(); byte[] md = algorithm.digest(); String exp = "86BE7AFA339D0FC7CFC785E72F578D33"; harness.check(exp.equals(Util.toString(md)), "testCloning #1"); clone.update("bc".getBytes(), 0, 2); md = clone.digest(); exp = "C14A12199C66E4BA84636B0F69144C77"; harness.check(exp.equals(Util.toString(md)), "testCloning #2"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfRipeMD128.testCloning"); } } }mauve-20140821/gnu/testlet/gnu/java/security/hash/TestOfHashFactory.java0000644000175000001440000000346310367014266024744 0ustar dokousers/* TestOfHashFactory.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.hash; import gnu.java.security.hash.HashFactory; import gnu.java.security.hash.IMessageDigest; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Iterator; /** * Conformance tests for the HashFactory implementation. */ public class TestOfHashFactory implements Testlet { public void test(TestHarness harness) { harness.checkPoint("TestOfHashFactory"); String hash; IMessageDigest algorithm; for (Iterator it = HashFactory.getNames().iterator(); it.hasNext();) { hash = (String) it.next(); try { algorithm = HashFactory.getInstance(hash); harness.check(algorithm != null, "getInstance(" + String.valueOf(hash) + ")"); } catch (InternalError x) { harness.debug(x); harness.fail("TestOfHashFactory.getInstance(" + String.valueOf(hash) + ")"); } } } }mauve-20140821/gnu/testlet/gnu/java/security/hash/TestOfHaval.java0000644000175000001440000001274510367014266023567 0ustar dokousers/* TestOfHaval.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.hash; import gnu.java.security.hash.Haval; import gnu.java.security.hash.IMessageDigest; import gnu.java.security.util.Util; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Conformance tests for the HAVAL (version 1.1) hash. * *

    Certification data for this version is as follows:

    * *
     *      HAVAL (V.1) CERTIFICATION DATA
     *      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     *
     * PASS=3, FPTLEN=128:
     * HAVAL("") = C68F39913F901F3DDF44C707357A7D70
     *
     * PASS=3, FPTLEN=160:
     * HAVAL("a") = 4DA08F514A7275DBC4CECE4A347385983983A830
     *
     * PASS=4, FPTLEN=192:
     * HAVAL("HAVAL") = 0C1396D7772689C46773F3DAACA4EFA982ADBFB2F1467EEA
     *
     * PASS=4, FPTLEN=224:
     * HAVAL("0123456789") = BEBD7816F09BAEECF8903B1B9BC672D9FA428E462BA699F814841529
     *
     * PASS=5, FPTLEN=256:
     * HAVAL("abcdefghijklmnopqrstuvwxyz")
     *       = C9C7D8AFA159FD9E965CB83FF5EE6F58AEDA352C0EFF005548153A61551C38EE
     * HAVAL("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")
     *       = B45CB6E62F2B1320E4F8F1B0B273D45ADD47C321FD23999DCF403AC37636D963
     * 
    */ public class TestOfHaval implements Testlet { private IMessageDigest algorithm, clone; byte[] md; String exp; public void test(TestHarness harness) { harness.checkPoint("TestOfHaval"); try { algorithm = new Haval(); // 128-bit, 3-round harness.check(algorithm.selfTest(), "selfTest"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfHaval.selfTest"); } try { algorithm = new Haval(Haval.HAVAL_128_BIT, Haval.HAVAL_3_ROUND); algorithm.update("".getBytes(), 0, 0); md = algorithm.digest(); exp = "C68F39913F901F3DDF44C707357A7D70"; harness.check(exp.equals(Util.toString(md)), "testEmptyString"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfHaval.testEmptyString"); } try { algorithm = new Haval(Haval.HAVAL_160_BIT, Haval.HAVAL_3_ROUND); algorithm.update("a".getBytes(), 0, 1); md = algorithm.digest(); exp = "4DA08F514A7275DBC4CECE4A347385983983A830"; harness.check(exp.equals(Util.toString(md)), "testA"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfHaval.testA"); } try { algorithm = new Haval(Haval.HAVAL_192_BIT, Haval.HAVAL_4_ROUND); algorithm.update("HAVAL".getBytes(), 0, 5); md = algorithm.digest(); exp = "0C1396D7772689C46773F3DAACA4EFA982ADBFB2F1467EEA"; harness.check(exp.equals(Util.toString(md)), "testHAVAL"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfHaval.testHAVAL"); } try { algorithm = new Haval(Haval.HAVAL_224_BIT, Haval.HAVAL_4_ROUND); algorithm.update("0123456789".getBytes(), 0, 10); md = algorithm.digest(); exp = "BEBD7816F09BAEECF8903B1B9BC672D9FA428E462BA699F814841529"; harness.check(exp.equals(Util.toString(md)), "testDecimalDigits"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfHaval.testDecimalDigits"); } try { algorithm = new Haval(Haval.HAVAL_256_BIT, Haval.HAVAL_5_ROUND); algorithm.update("abcdefghijklmnopqrstuvwxyz".getBytes(), 0, 26); md = algorithm.digest(); exp = "C9C7D8AFA159FD9E965CB83FF5EE6F58AEDA352C0EFF005548153A61551C38EE"; harness.check(exp.equals(Util.toString(md)), "testAlphabet"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfHaval.testAlphabet"); } try { algorithm = new Haval(Haval.HAVAL_256_BIT, Haval.HAVAL_5_ROUND); algorithm.update( "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".getBytes(), 0, 62); md = algorithm.digest(); exp = "B45CB6E62F2B1320E4F8F1B0B273D45ADD47C321FD23999DCF403AC37636D963"; harness.check(exp.equals(Util.toString(md)), "testAsciiSubset"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfHaval.testAsciiSubset"); } try { algorithm = new Haval(Haval.HAVAL_192_BIT, Haval.HAVAL_4_ROUND); algorithm.update("HA".getBytes(), 0, 2); clone = (IMessageDigest) algorithm.clone(); clone.update("VAL".getBytes(), 0, 3); md = clone.digest(); exp = "0C1396D7772689C46773F3DAACA4EFA982ADBFB2F1467EEA"; harness.check(exp.equals(Util.toString(md)), "testCloning"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfHaval.testCloning"); } } }mauve-20140821/gnu/testlet/gnu/java/security/hash/TestOfMD4.java0000644000175000001440000001113110367014266023104 0ustar dokousers/* TestOfMD4.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.hash; import gnu.java.security.hash.IMessageDigest; import gnu.java.security.hash.MD4; import gnu.java.security.util.Util; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Conformance tests for the MD4 implementation. */ public class TestOfMD4 implements Testlet { private IMessageDigest algorithm, clone; public void test(TestHarness harness) { harness.checkPoint("TestOfMD4"); try { algorithm = new MD4(); harness.check(algorithm.selfTest(), "selfTest"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfMD4.selfTest"); } try { algorithm = new MD4(); algorithm.update("a".getBytes(), 0, 1); byte[] md = algorithm.digest(); String exp = "BDE52CB31DE33E46245E05FBDBD6FB24"; harness.check(exp.equals(Util.toString(md)), "testA"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfMD4.testA"); } try { algorithm = new MD4(); algorithm.update("abc".getBytes(), 0, 3); byte[] md = algorithm.digest(); String exp = "A448017AAF21D8525FC10AE87AA6729D"; harness.check(exp.equals(Util.toString(md)), "testABC"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfMD4.testABC"); } try { algorithm = new MD4(); algorithm.update("message digest".getBytes(), 0, 14); byte[] md = algorithm.digest(); String exp = "D9130A8164549FE818874806E1C7014B"; harness.check(exp.equals(Util.toString(md)), "testMessageDigest"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfMD4.testMessageDigest"); } try { algorithm = new MD4(); algorithm.update("abcdefghijklmnopqrstuvwxyz".getBytes(), 0, 26); byte[] md = algorithm.digest(); String exp = "D79E1C308AA5BBCDEEA8ED63DF412DA9"; harness.check(exp.equals(Util.toString(md)), "testAlphabet"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfMD4.testAlphabet"); } try { algorithm = new MD4(); algorithm.update( "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" .getBytes(), 0, 62); byte[] md = algorithm.digest(); String exp = "043F8582F241DB351CE627E153E7F0E4"; harness.check(exp.equals(Util.toString(md)), "testAsciiSubset"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfMD4.testAsciiSubset"); } try { algorithm = new MD4(); algorithm.update( "12345678901234567890123456789012345678901234567890123456789012345678901234567890" .getBytes(), 0, 80); byte[] md = algorithm.digest(); String exp = "E33B4DDC9C38F2199C3E7B164FCC0536"; harness.check(exp.equals(Util.toString(md)), "testEightyNumerics"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfMD4.testEightyNumerics"); } try { algorithm = new MD4(); algorithm.update("a".getBytes(), 0, 1); clone = (IMessageDigest) algorithm.clone(); byte[] md = algorithm.digest(); String exp = "BDE52CB31DE33E46245E05FBDBD6FB24"; harness.check(exp.equals(Util.toString(md)), "testCloning #1"); clone.update("bc".getBytes(), 0, 2); md = clone.digest(); exp = "A448017AAF21D8525FC10AE87AA6729D"; harness.check(exp.equals(Util.toString(md)), "testCloning #2"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfMD4.testCloning"); } } }mauve-20140821/gnu/testlet/gnu/java/security/hash/TestOfMD2.java0000644000175000001440000001113110367014266023102 0ustar dokousers/* TestOfMD2.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.hash; import gnu.java.security.hash.IMessageDigest; import gnu.java.security.hash.MD2; import gnu.java.security.util.Util; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Conformance tests for the MD2 implementation. */ public class TestOfMD2 implements Testlet { private IMessageDigest algorithm, clone; public void test(TestHarness harness) { harness.checkPoint("TestOfMD2"); try { algorithm = new MD2(); harness.check(algorithm.selfTest(), "selfTest"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfMD2.selfTest"); } try { algorithm = new MD2(); algorithm.update("a".getBytes(), 0, 1); byte[] md = algorithm.digest(); String exp = "32EC01EC4A6DAC72C0AB96FB34C0B5D1"; harness.check(exp.equals(Util.toString(md)), "testA"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfMD2.testA"); } try { algorithm = new MD2(); algorithm.update("abc".getBytes(), 0, 3); byte[] md = algorithm.digest(); String exp = "DA853B0D3F88D99B30283A69E6DED6BB"; harness.check(exp.equals(Util.toString(md)), "testABC"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfMD2.testABC"); } try { algorithm = new MD2(); algorithm.update("message digest".getBytes(), 0, 14); byte[] md = algorithm.digest(); String exp = "AB4F496BFB2A530B219FF33031FE06B0"; harness.check(exp.equals(Util.toString(md)), "testMessageDigest"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfMD2.testMessageDigest"); } try { algorithm = new MD2(); algorithm.update("abcdefghijklmnopqrstuvwxyz".getBytes(), 0, 26); byte[] md = algorithm.digest(); String exp = "4E8DDFF3650292AB5A4108C3AA47940B"; harness.check(exp.equals(Util.toString(md)), "testAlphabet"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfMD2.testAlphabet"); } try { algorithm = new MD2(); algorithm.update( "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" .getBytes(), 0, 62); byte[] md = algorithm.digest(); String exp = "DA33DEF2A42DF13975352846C30338CD"; harness.check(exp.equals(Util.toString(md)), "testAsciiSubset"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfMD2.testAsciiSubset"); } try { algorithm = new MD2(); algorithm.update( "12345678901234567890123456789012345678901234567890123456789012345678901234567890" .getBytes(), 0, 80); byte[] md = algorithm.digest(); String exp = "D5976F79D83D3A0DC9806C3C66F3EFD8"; harness.check(exp.equals(Util.toString(md)), "testEightyNumerics"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfMD2.testEightyNumerics"); } try { algorithm = new MD2(); algorithm.update("a".getBytes(), 0, 1); clone = (IMessageDigest) algorithm.clone(); byte[] md = algorithm.digest(); String exp = "32EC01EC4A6DAC72C0AB96FB34C0B5D1"; harness.check(exp.equals(Util.toString(md)), "testCloning #1"); clone.update("bc".getBytes(), 0, 2); md = clone.digest(); exp = "DA853B0D3F88D99B30283A69E6DED6BB"; harness.check(exp.equals(Util.toString(md)), "testCloning #2"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfMD2.testCloning"); } } }mauve-20140821/gnu/testlet/gnu/java/security/hash/TestOfMD5.java0000644000175000001440000001113110367014266023105 0ustar dokousers/* TestOfMD5.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.hash; import gnu.java.security.hash.IMessageDigest; import gnu.java.security.hash.MD5; import gnu.java.security.util.Util; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Conformance tests for the MD5 implementation. */ public class TestOfMD5 implements Testlet { private IMessageDigest algorithm, clone; public void test(TestHarness harness) { harness.checkPoint("TestOfMD5"); try { algorithm = new MD5(); harness.check(algorithm.selfTest(), "selfTest"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfMD5.selfTest"); } try { algorithm = new MD5(); algorithm.update("a".getBytes(), 0, 1); byte[] md = algorithm.digest(); String exp = "0CC175B9C0F1B6A831C399E269772661"; harness.check(exp.equals(Util.toString(md)), "testA"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfMD5.testA"); } try { algorithm = new MD5(); algorithm.update("abc".getBytes(), 0, 3); byte[] md = algorithm.digest(); String exp = "900150983CD24FB0D6963F7D28E17F72"; harness.check(exp.equals(Util.toString(md)), "testABC"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfMD5.testABC"); } try { algorithm = new MD5(); algorithm.update("message digest".getBytes(), 0, 14); byte[] md = algorithm.digest(); String exp = "F96B697D7CB7938D525A2F31AAF161D0"; harness.check(exp.equals(Util.toString(md)), "testMessageDigest"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfMD5.testMessageDigest"); } try { algorithm = new MD5(); algorithm.update("abcdefghijklmnopqrstuvwxyz".getBytes(), 0, 26); byte[] md = algorithm.digest(); String exp = "C3FCD3D76192E4007DFB496CCA67E13B"; harness.check(exp.equals(Util.toString(md)), "testAlphabet"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfMD5.testAlphabet"); } try { algorithm = new MD5(); algorithm.update( "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" .getBytes(), 0, 62); byte[] md = algorithm.digest(); String exp = "D174AB98D277D9F5A5611C2C9F419D9F"; harness.check(exp.equals(Util.toString(md)), "testAsciiSubset"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfMD5.testAsciiSubset"); } try { algorithm = new MD5(); algorithm.update( "12345678901234567890123456789012345678901234567890123456789012345678901234567890" .getBytes(), 0, 80); byte[] md = algorithm.digest(); String exp = "57EDF4A22BE3C955AC49DA2E2107B67A"; harness.check(exp.equals(Util.toString(md)), "testEightyNumerics"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfMD5.testEightyNumerics"); } try { algorithm = new MD5(); algorithm.update("a".getBytes(), 0, 1); clone = (IMessageDigest) algorithm.clone(); byte[] md = algorithm.digest(); String exp = "0CC175B9C0F1B6A831C399E269772661"; harness.check(exp.equals(Util.toString(md)), "testCloning #1"); clone.update("bc".getBytes(), 0, 2); md = clone.digest(); exp = "900150983CD24FB0D6963F7D28E17F72"; harness.check(exp.equals(Util.toString(md)), "testCloning #2"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfMD5.testCloning"); } } }mauve-20140821/gnu/testlet/gnu/java/security/hash/TestOfTiger.java0000644000175000001440000012665310367014266023612 0ustar dokousers/* TestOfTiger.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.hash; import gnu.java.security.hash.IMessageDigest; import gnu.java.security.hash.Tiger; import gnu.java.security.util.Util; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Conformance tests for the Tiger implementation. */ public class TestOfTiger implements Testlet { private IMessageDigest algorithm, clone; /** Test of variable-length nil strings (0000... etc) */ private static final String[] ZERO_BITS_ANSWERS = { "5D9ED00A030E638BDB753A6A24FB900E5A63B8E73E6C25B6", "AABBCCA084ACECD0511D1F6232A17BFAEFA441B2982E5548", "7F7A8CE9580077EB6FD53BE8BB3E70650E2FDD8DBB44F5C7", "605D1B8C132BF5D16F1A8BC2451733F7F0FF57FD5F49E298", "7F3A0954A5C374566C72370D1D97C2AC8FA9B1E3CB216E31", "B333735AFDAB30B4B597CCD137AC1AD2B30D4A047BAD0127", "1F27BB5926F35CF5D52A24817BF56CD17D79BB65ABE85785", "5229DC51A494B913F8E04C4C729C93CB8B260CA4EE8EA9D7", "5DFE02959A64534E0E679937B712F7DDE2C7B982597D315D", "654D00C774FBE74CFE4C0A6DEA5917823A6B20070CD0CCCB", "C82A6419844FC7028B52CAC8186D63B85121AAACBA622A87", "06F6D65EF081AFE892AC0946F275DBAB9D3B6D9C55E517C9", "42C40537A876D69DF84FF36FBA3127901B112B9E96688012", "6FA00EB82505EBC4707F675B0A72A9F9795F647B550F155D", "239549439CCE539F304CB7A95160A033529B228CA406EFF9", "464B87921CCDAEDBC0D6941610D1EB19E536036096403F32", "F29CF9B53DA4F9955E7BB766EDBAD59EA914E5354DDF9ACF", "E9B6BAA124BA93A4501DB9A92F212A14C538CF82C17E89B4", "03EB6D4703EFCF2E088515D3B902A1CF78711B7E7CE3AF74", "53BFCB1EB5CA9B2E8A4225E6C00584023FF8AA0017AD3A0D", "67F6D2B74B13251432469B9CE6A7C91EAD6E72B9CB51CEF8", "81A68B237DDC60C9C31B34B52A754A8A7B1F51D40781B988", "E99E18449AEB4421CEC31D1521C23445BC2598EA5DA14A09", "CDDDCACFEA7B70B485655BA3DC3F60DEE4F6B8F861069E33", "424CDDE2E5478A29A71352AAE538EAFE9F1B6F07AE05137B", "996B4DD292782A19D742B534916870023F32E72F1C197625", "2C4B719E5E0BFBBA616FB8AB35470D84B676C7D3A6395262", "F178E06FC3319BA18F2EAC3DCC5240D06BAC062BCD5CA1CE", "E899374C34AED37FBC9E0E4A0D37A13045639D5CAF24095A", "3D8E74F26682750FEEDE30A305C9CA162C6BDD9B790BCC5D", "3EFCD915BB46020B8999C9AD56356FB91F93C4907C4012D5", "739414BD4CD6AB967CD46A1D943412757D858B24D1C4ECF7", "3615FE2BB3B94A00245A1B3DF68B9D43BBAD82B16BFCD6A5", "9E9AD6783D3775885E65D05EDA4262E179836ACBB9867CE2", "5D91C8314556534FF3DEE0515334F09E16935538E347C029", "E48325D26CBEA5C14AF5D2BC043242DE2A5DC17EF5798BA0", "0DE25B928CF3E4FE85F46C18334D9C9DAE995E4889068C4E", "1BD4360038C1282E66538B156E9F604AA0262D4608184A5C", "FCC72686AD012FF48D1471CD0EAD606EC21A5E496DB66103", "F11D39950658DBDF786703E3EDAAA3A654B4428AD419DF11", "2AFACE18DA68984D907D1C0F647E9244D6976F4F471064B9", "E2056969720C08B5C9C8F903416668A7F5B2D6F95046C5FF", "D95BC879A68D549A5296BD34344C5ACC4D826E54ECEC346C", "D33A7246729743643BF4B438FBB9BC2374F9E346A0868DC6", "1201A8247225F31B928390B35787C046653249D0441F0AAD", "1E63B6124EF57A92B36C8FF837C38CC9072048ED98EE853F", "F2E4B6637FDFF18F785894EECEA514E7B96B2409E62DF3FB", "10DD94B66BA6AE0498C9C7754844662E5D8B62E27D2C4D26", "8BD37E3CF05E59537389672DF921392A45CB57ACFE9247A1", "41621DF28B038C0032508592F986C7C4832927CD1134B2B4", "978365EDBC762C10187F212BF9115D79FCBD489EC135AC9A", "8C4A9C341016B2D74E1DC75478A20A57EC934C38E6D60DF3", "FD5A1DDED7D38B987B582FD91E95FF8ED84DDF5D486A00EB", "F5845CBBA386319361D4042658606947FB96D72934378AA3", "A4EE394B2A208E9B0A74C6D57568E470F6E658C44689FC63", "19208AEF976EEA1A1296AB46BB8519E4E35CC3D26D2B574F", "A0D74C6090806AE1B4A9A676950B940DC37D28F762AF66DC", "DA1DCA0F6E414B6634ECF34DE132F3320BE35AC8D6AB0BBB", "49D948E0A5149A7B41F73C30B62FEEDBABA7DD9FFA9DB383", "95475FE7F5016A6FBB175EBF3B13EFE41FCFE9249586BB2A", "8AEEF6FEB5BF02F8ACC6430FEC5CC7858EEDF9C1DBBE8F09", "0E425380B928052574D82A3F604162F3021361517560271F", "A857DD168B22B65A6DD2EA8035C4EDC4B890453D14BA6052", "33FF9966DDD692427A9BC4D611F3C74CF629A0544A1A7ED7", "759D79778FA748F8E828A568C45B7E2774A6052E0A4A06A7", "93E4986EC1BAE0334662495E3261769214DFAB96C6567A12", "D50D44D48A7519B21C7ACF59DCD56066C7C328F680F2FB7C", "6C240CDCC41A5DB56F7A88E25A04A2F3D10D33B6908D0F4C", "D8581CF122C23E06A9A8781E6635113F76CBF21ECC520BE7", "1E763325671BEE3E17FD894D7A4E1405315004563BFAA368", "57B581CBF0EF91E38F4A306FFB3791A0BE6E1FA96BDE0703", "0870537F7FD0A5F600E2B02B31878C2244F2E76C8D0AB421", "6F1D28AA4EEF347CAE41FABBC528AE71345BAC83D6572BAF", "704CE7D9895218DAABAF9BDF944F7901571D0C24873984BF", "1574D6AD7CABC7DFAEE1520289E0ED8B26DC6195C5F588BD", "257196F102E891E04ACD046CF099A2191ACE7F878B1C5CE2", "359F480A3475F89093F33289C3EDD28867C0E0F11AF79939", "8CA6EF62DD4E1445C729E3FAFF0B57DF5ADA90D714B906F6", "D917B8C5CF18FBD88482F6754EFC9D308EBCAB912A609D5E", "B3950A9D299A5A732CC0841F1EFAE62F3DB20A707B98F3F5", "4112B496A4BA7C67F040A48A30C3F48496FDD3AD2A4A9E6B", "D663C288232D8512986F0C2F37F20A764AFABF068F44CE62", "4B0292082184E5727B98ABCFD57197EE14AB5893E2CDD370", "9EAF05D45A302F909E6850E28AF8A88E51799E20EF75D0E3", "AB8FBE9C09E9906200201F3AFCEF79AFF29267BA19C63A82", "DB76DF9A0D2E9D21B57EC44C99653F59348981467EC2476D", "0C2CCBAEB70C5C1F85FAFA01B1719F363D902716810F582E", "FCED365E31C7E4F3B06CB6720875A33E1AC45D047D071342", "2FEDFD926783A5C91D51BCC3228F2846243B95E5D858AF07", "C1789746C0E04E42F2CEAA374FBCEDCFCB17AFB816D3D9B5", "C055A3A9EF84BD96AEBAE31C08B74BA22BD2489C70D25672", "AE1AEECA1373D4348E4EDC2B7F393A8F44A351AA952AD7F7", "60CA04458514989969B5D3A1537F226CB54E3FCE9CC9B134", "20E29A4A4C36D7C2BADE368564765EE0353709CE47D0E36A", "8CE7840450B26DE74B798056D30584DCC436AD79B061729D", "05D2A28308C44536C591DF21B02AB542AF982B81A4C5E129", "196ACD3484E2F5FD51AC0CC667596AB0E764936C37A345B7", "C4F29A86A5415A0086FEC47CB3D46A71E8D224880657789A", "C5AD956C7D06EC8651665176733FB2EF0D01BE7E81E0F775", "A5A54E12A9538A158E78AE09896DCB2CE31F14150625E615", "239045220EF064D13637D503A6079EF21B5F2D02CF98FA5A", "AAEA04D2B11931D58016A9B68B3FF543C7BFD87823EA6ABA", "37838610BB3944FB3DFBB14B95A4007705B3773148E58AC3", "3DE1ECB5FEC022C7CF8B4CF4AFFEE41D85648EAEF6B0F5A7", "40224B9C7ECBBB69D1A5E0A3A0F249315AE1E7DE859FD763", "7EF8F229B824EA82F8E8834E799A67A0B946086BD9AA582B", "2543ECA4058C02EFE62E2131E9A7627D6DCAA6C51A13A517", "51E2B3A3D56D88BDB4F77CEAC0D146B08C269EB50D7914D4", "9A3A264F48D2BC4B08671B0D6EE58B4E0E87D19CFC561738", "F8F8F7095F7FF1111811FB2B63F431B529CA740EFA9A3350", "E0BF4F81FB633EBF0092E6AD4EC8B6834A85DF4F639F94D0", "114BD7F8FCA026BA9874DD79174EA1FB7275B8C7F2042871", "BDE5124EBA58CD1929DD63E9A4A987296D93E78378BA7E21", "FAA1FA47DEDC888043BC35BD97288C3E3E8702E3790A5ED4", "4D0016CD63CCB3C917A9CAC0A656ABF1BF1F79A42D9FB4E5", "1D9C9AA4BD15F3B6DDDE9771259AA550F17CE01383DFC3E7", "D70BCAA1810D6213A77935D751F52C8743C809C37DCB02CE", "9759AE86B5CC71DB9406A2ABDD0537940D717E2953E4573F", "A6452EF736D5CFF79BC3C3DBAA7FC7B4B992AE7DBD87650B", "FB7177FFE0E718C91348A8302C57129596149F042FCC99A6", "A6FABD413D9FAF90AC0A8D97F82B1D28761D9B3A7A3A2E2C", "93E56AE559EC7BF41251B6C84700465BF78E0757576679B3", "24F342F67741BFD5CCA5E9C5C0D902CB6F93DF12203E891A", "BE7803AE8A8C84B7567352C2E3A78BE424784406D33F6930", "43A59ECAB48D3784CD83B0887E92D208A0E7CEC6DA3A7146", "7D16DC5E00379CA0F13FA261AD5FDB56449ADF9DAD3810E1", "00A569CCADB17662483CA36230BCC6956BA5C1D5595C044A" }; /** Tests for 512-bit strings with exactly one '1' bit. */ private static final String[] SINGLE_BIT_ANSWERS = { "B99F2BEFF1E64861ECB3D91B04C9BA4BE6FC0FE7CE9653F3", "FBDD470EE15111676B477532D293019EB182CE9EF17C0B59", "D68BC840B64746A212810784CAB2BBDFCC49FDC743AFF5D4", "D6B280F151C286E2B8A78B3C80F181E192BEEC0A339F0453", "02FDBD79A641FDB807DD80699019BC97DA69D692104FBFCB", "E30F39FBB7BB8C191E2CD9A970EC806EA64825E4CCE782D7", "0521BC64D5C188320CB9AE9D2A89BE291352F77C3E44772B", "60224F0B05145D00FB3C09E78522FE17FB7C64AC90AF4BE0", "3104BE53E8A19ED90BB03DA1FC5FBD052EE7D80B4AB31AF2", "ECE34E9D1BBA44EBAAF18254812DA74E1B250D874049471F", "7FBEF692D8F3DB59912960E1C4F255D65CFA93E64CDA00B3", "180C2B906440036CB48ED7DBD670CDD06054734CA9E3E531", "EC1C85F1C4361CCC979FA94565CE47BA766B26C03E0155ED", "0CB103FE2F16046BCF473C0EF5F30510094B327A811303AC", "35E499F9FCCE1B0CFE442FE493333763C8E5F956A255DDBE", "E8CFB0B7651DCF73891553FE1AD3DC0F1BF5CA89E2243771", "9F375EFC406EDB4DC7008C6ADF57CE7BC6072BD39593651A", "C40960EE520A3F6E38938C4D774695FAB9AA99ED98724686", "C925142A228B90DC4EEE8D740480095B72EEF71717AF230D", "49F67D2EE9E5E07754EB3FB587A5DFC9A5A5F1AF952ABB90", "8EA4A53FB597B8612B751B25B4D67A3211BD9B55810830FB", "7F8A9779678C20D7B26126CE54CF40D586D639038E0D898A", "45B2D2247DF2BE8762F7C2BFB1D282DB99686B8C61F12DC2", "5AF3F43A65A123F25318B108322F1422FBDD4E2088B3FCC5", "255BA44E43BB186AC95A8BA873F27C17D4209A7CDA0743E8", "6CC1C5FE50A6A3E1A8C9151E529627B7825E797CA2996763", "4C8E2574514F1908500775D706E66CB5E098A07763CB29A8", "80E15B5D7DD082786B73BFA7C11ABE846CC08992D82082EF", "9AAEDC20A2B5C9B3AC1FEAB011E0BC63C3F14A77716745B4", "20FDDFC28496F4B7C474D1DC0D2556B71A0BBE0008FBCA74", "6C5437A6A7ACD3882300183FBE7B474CB7C0E45DF4BF126E", "3220E4DE2B99FD792057CA379EC8E0FB9277B2B0AFCAF7E1", "5605262344AED0F46F6AA94AAE288A936B3783D7B0C96EBB", "79FE05ED00EA9FBE5C5A411B7BE9D0AB7E95FCAC4944FB5A", "5632B77A86B06F60FB38F6F8D7B8ACB076610CDB17C45F3B", "6F1C90B7CE7D352A1EAF908EAAEB69DE70CFEA924FA1F322", "B0582D1882AC0B5C534293ABB751072EACFCBCCD7760B739", "D56CC1F5522E00EF7F25DA7C524CFBEF639E04ED232FDA74", "FDD3E72BD41951FF6CA729207F9EE320F277C240C5ABA6CE", "25C341EFBF8E0197DD7AA0D098BE9C262EA24A5ABF1956DC", "3D8E11219C1F4A655DE818DD5BAE94724292D1FC1F2C0451", "78D0C2AEAAB13E6957111303BCE092987F38B125654AEB06", "76CE1A38D5408FCF5C60F231F8624D22EBE4F3C2A77833CA", "A1478F92ACD8AFBF1383F566E8074249C576C6C01573C816", "EEF978C6730A5A51E0C67CA0CD591718F48E586924DACAC3", "D244E12581769DF1260AD3B9BADFEAACAEC10F08D0BC20B8", "6C88A229FF9769C257AE208427684E2BD2F2616FB11DC61E", "F9AA7D877F5B192A751D6956225FBB166E70BB5373EA03B5", "8E5FC1110E41E417B771F4860BD7180A8771EC8BE3F51371", "16A04075744A70693EDC2823E6D3F53F8BD7DA82F61C988A", "DAA5DCE2246AA0B16DFCB5A6DE1148A4667CF130CB0FE57A", "7935C3EAC77062032E4DA41CFE266DB7B1CEAD6A92F36531", "12FAFE2DD9FE0F928585DBFFDF2FC940329F4CA2C428FFA2", "B5AF46B22173E04EC7C73D201D230E76AFF7E25E7C64C9A1", "04A39346609CC870A34BFE4BC381391E5096EECC0420CBE0", "8E30346B3CF6A33A5DF960349E79E318A559177A10132AE5", "E010FE9A2A139AF552D7A22D5D04D59ABE9F26099565B139", "7E3A17F0489C5D1CF249BDFD6D839D17797E5F91655061DF", "DB0EDCB6F326FFC5EC6C23A9B23630110BCF3EF1623090C7", "0E878D8D2984F9A638DFF1A309EA4B436D24FA40B3BC5F4D", "AE09F204A5E6EEA22BADD0042D00D48E60643343C951C79D", "5411134E8112EBD21A89CA726D6C3293BAF1522031BFED57", "1CC1D5B8489F213F6A0519811867CA70AAB68B93768B2EAB", "A16D7299661CC6978AE949CF9F607E286913CA0615E12CEB", "9A2A8EE8963BE88DF83D5761D490FFB0450E9C450542CB08", "FAC9C5FB38BF7CE0902DC3E447D3D4D6DD369DBE94A8AB67", "C430CAA3FD05B674624BB549B3A565C9F1A93D8E4AE429E0", "D03C16013ACB204439B0B84C5EC0507C07EAD360114BB6D7", "44F6F5EFA89F2302B9E4B6710EFA1BD79F2589575F57B7A0", "C392AF0E93D619A0FAAC3FC2EE960DE9464DF3F3B87728D6", "BF1C5CF1B59A39C9EFD3D46F9144E7E7CC75F53C83BE87AB", "F4DEAFA84B6859F0B32D04DA3CF8DED931870EB8EBA086B6", "68B3511E9A930CC1E465DDADD3813E79E5235690E279A53A", "D98B1C76BF4216804783DD2A082F5722AE7049717AC6BEE4", "8FE146611B75E5E6527F0E2516F09090FABE1AE0F51D9965", "B6F4518C9B5A082BA4951EEFEE8991D2605395D04FFD9784", "0C4C268E0243354A31C576B053FCECCD320D864892DD4452", "4FCBCA86DAAD5EE31427339F45DB698C56F4EF5977C62346", "D63400C91F46CEB1F73427A1DD61920E5D98250CD7B21D61", "2002BE33AA6783F40109E747E27231C652FC90B304F91218", "A8FEDBD8A393C41857EA09B457FDB42078049B3F269C1431", "D2C06B7D56774863AB6F3A9F8FFD79FB56FF130906B16596", "5D8339715D342E8DDCB7CF18F4878D2221BB05FC4B2563BD", "06DEF00E4151BBFA011D87096B16C09A955B1059EBA03393", "36386BE0645E7577BFF63BAAC50532912EBB7026B120E472", "8E4CAC8FE8C09463A5726B0FD3335A09E8971B498CCFC14E", "45EA2AE4AD4B1E0C6958FABC69939E1A19300E28946638E8", "7C97246A7834ECF7074DCAD08A8B4BF3E8A68157889B97E4", "0F040C8CB0C777EE04086DDEAC53751D037FC41A62DF3D64", "011A9D0417A070DA0D425E835F03C68D0BD8762A7174C0A6", "76B90E3049F98281369B0ACD1D2193EF2F63A25F75D9FEA1", "733DBC18BB0821CD1B33210BD9018F2EAF405E0A281328B4", "4C3B42FEA3DA2B23AE3C723B22522AECC84BB1D5CD2F9E51", "77396616E87FDEEBDB6276B30422B04C2098F85F0085371D", "6BD882666B2089F5A3904F91E26B34263BEF463456486ECA", "1AA8BC49C40EEADA030EE802C336D83D75C3EEECDF365AB2", "6E9615A0291AEB33D37FFF3BDDAF628178009820457F0737", "F78CB6642756E3253A46FC55E5C852B5D209CB886F1953D4", "3D900B55C9CD9E821512415B734B06A28B8EFB0488F9EB4E", "1D534936BE6E2831E83661E0568B170EF52712899E2F8A8C", "68D08DCA280F71F6E33FE81F56BF5D98BB498B720F8294F4", "D4D1339C8797918AEB4000CE0B75EB741EEA852B7E5FEF35", "F6204099D4C1B7F82BF0A1364A6322C3578A46F354A68622", "FC94F4DFB37B4674843E0CD9DAFDE149D89667915DEFAEFA", "F64C25ED176B388E022A3AA4622975F1CEC7A9A359D1D28A", "CE3230D5A7B57E82F92D8A36485B0EF70B3A8430391907F8", "D9AC7B94226A60FC7D99CD796FD5B6EA36AE798047E1B53D", "8A9F12D8D9DF81E43E9DC038FBA927A3A0A0D6FA43749D2D", "CCAE282196A07B02E896FDDBC71616298BBBC436BED3D424", "09503A7A95B31206D16FC3A3A6730CB379F413C255B0916A", "0D799B12AF89A92E0E91237F37236BA484B5192B468F92B4", "04A3597758A82EE3EAA34F5B0FB1198A1177B3B3B8DD583C", "BAC0B8BE5A41BB8186CABAD7A32F17559DB8579D2A32ED35", "96B5AD3931A54DF4C0754FFD17E2ED27EEDBA480D7DEC700", "4A3E600FE13F444B31E03CFA0863F9E316F83F68F16D509D", "B5DA026AE3BFBFAC6D2AB00A16ECFBA40130E1817E26E6FD", "635799A28E0E31EF6DA157BE71327548E1EBBE93D39A40CE", "00A7C94AC7D6DA73AF3537816D7535F6501C81E9D0B70C30", "CEA02CEB43D209ABA6217234278931ECB509813A516C8770", "460F8608C1CE8A7ED701C8D46D800E5097DD421321A595BF", "595B7A837EA74AE2A9C2A4DD9915C684E4003A78C908EB34", "40A34377B74D9C7404E69898DA030F47C7B4F5125379799C", "011A1626ACDE5490D40D6D3B212E4296DBCFAA310C0D0A7D", "0C38A676E739B11BF2B5F305DFC38C1194B67D5BD9ABDD3B", "B2BDB49CBB6A27D90DC43CAEF626531E3794B02A4B557363", "925F73F9BF011425B3C855EB93FF2B3702994957C90A6E71", "C5438E4F6F20FA52579EA70DBE976E8ED0CD0CA79F0FF667", "9C19CE6E144C81EDBEFA42762CCE7687D82D90C80E6E4DD7", "F6F514983734179B56A2DB5810D2FEF9FBAAE792DF757EE6", "47EA4D78437E145E56490DD5C47788BEC899AB249A782AF1", "751FCB36A8B567673E9571B4F359CB7452913DE68458233B", "6B86FAA0426879F9C1A6F4A9F26FF19DADCD0BA2C34273F2", "8ABD32BED2814C6428812B67CB7228BF02AC80EC80C5771C", "026EE4B31888E474E20F1627B30475FFEE90BAFA2E214CE2", "6EA00649517124D6598C2CBB109B8F8AC445771A9550263D", "9029BD1306510D7BFCEF39B7E3E6F3A62993A810141919A4", "802BE35C1D0356AA8D7E7830C1426AA9789CF9B1B75C7145", "78D1FE031819E727172B1FB5A0EC87AC33C494C1E37C222E", "E87A76683F7B6D8CA2B47C8C41F346764053D8841FBE610E", "E3E18819D97CD24E6C82AF5212876375134D9401E1CFB25B", "528D81D4D77B3C9360D1CCB3D8D906FAD4BAEEB8C417AF8E", "940509DDE91065297F51C95D6D61196BCADDFFBFE43A0490", "1F745AD4161EE006A4260D7249E0B68B0453B01819EB2A14", "B1AA443FAA0B47E51A307ECAC7FAF07CA8732E715513C738", "CB30A43A2DE29002ECE22BD0CA7FA5C40E0F1EE3C9784249", "A5B6D8400303E5118489CE082241808027945C143D1200AC", "FFB82281B7B2CDFF2E83440CFEC036D03C26BD5133AA56C8", "08F21816D77A3D5F7DFFFC5477C4EB78AF660D7C32B1B6F0", "286FC4EA0BA3EE25CA28CD635DA1077BA00B7BBE1D319C9C", "ABD221DECE666C1E0ADE89ED127001B1AE8B37A3249BC237", "EFD037EAD7168C5B48E18DBB0BFE94E7A7337ED9F9DC0B60", "17A915BB90D878000A07BBF2F7C29605541CCBB2BA33BA9B", "EDBA011909174DACC7276FB748DA3D72037688E09B471CDB", "18646AB2DFAC64E3D1B8298F9DA48F8ACD3EC8E9B6C091D2", "5BB55C940C48C5F173356ED2F76F135BB33C49C6FF401CE8", "444CCFDECBBCAAC55FD538C84FECE4AD05E1F86CA2183046", "0DD2986EBE58B62051C5F8558B33B2150E2162273A21D2D6", "BBD0BE785D950FEE7272A6A42E20EEF9FCC96DA0862A9D4F", "C6EE3736BED22F09A3082957D5D2D9939E926DE56B23E540", "F272AA5CC30126CA15ACF94904EA44A28068BD3B3ED74BDB", "24713F450026D6D9717475558F33A84CEC5B8EC74367A1F4", "021A9ECFC35A18BC91568F76A06EA7B6F068B1B45E725F2C", "54027E9B61191C3ADE350615D809EC6A4BF7FE926946F93B", "27C362B26734609E760ED30E492273A2EC0786CECE1B62F7", "C56A7C83A9F780DBFC564564D60B110894B3462BF202B31B", "E46DAE97BF1D1433B91E7C4B30A3D11189BD1959F363C8AA", "DFFFD3EE84CE33EDBD6CCBDF9FDBC4C6CD9F6C3663AB3124", "CA9D313C0A9D62198C2528B856627BC9C70DD1C6523AA09D", "DAB676CBA9ABC9799E4416E703CD4C89348F3513D93BCE58", "383C379EE484CB248AF0008F339F2B76C25DB122ABE46C2B", "466C5466009BFF5B4D9639CC2DDFFBEC31663189A11A3F06", "5C2457FB54624D291D0223FDCA7CE3EAFB85B6D492408A9D", "FE593DC31045C782EC6B52216FC64B35FD33EE3904BA9966", "D7174534437E6168C2EF60B0EA9DC61ADD8098C0694539EF", "75FDFFFAF4F1D44DD610CEDDB215E16593340EDE583C875A", "36EAA91B577FB20178B0F06FBF369D07FBCE8445BB36774D", "9068E188528160BC3B2C2036B4B6140BFCBC98A031847132", "42E86596DB6EA0724CE131CC379F5A3F37646C87026DFB87", "733642DD7D4F08A2303B7517974AC6D9E6EC65FBED56CB05", "92ABCE48F750C364C5FC649E3E2168E5BE83F6176A2DC552", "BB841126EBD38F36A63FDA47FD5971DFF6D9CF0432811535", "1A5F8B7F34376121B1BA35FB19DD2DE6A1FFE55D22703940", "A4705AA774708F6D6AEABD6B527C973DD3B955E144812BC5", "ADA04C7993477041403A144C15BBFEE889A6F835B9F968DF", "2F4179071804EC9280CD2EA6E265AD77633F5196CF8EDB32", "4378BD6082B465ADB4007CBDC5F764C402ADCBEE4347C08F", "F75B2A3267B96CA1EE4191B99CE78B079333F10EF184D91A", "C3891913D02202A3DFD2BFE70EDB992275744136452C566F", "07B465A5110B6F1D8CC50B4716A5B5CE9985CD0A7A857EAE", "AA3E818EDB7190F12AD58D9A4A9DAB53209AEE83F5B3C554", "C570CAD73E05B2F8283A26726F07BAA339EE78ED7CA42F62", "B48EC775851C9AE303F05AC8E51E62FF169C175792C2627A", "1E3047A18CCBA9F21D1E58F90FC2F8100D94227E29DF84A0", "5CA88D9C7D388BCF7877FE0F8CDD5EC767DEC73783B60195", "F0AFF7784660E13949EEBC8A817DB227D7DC2248EB0F659B", "9B5D9AB548CE2CB1B4F121B5BCACB724A02A655E56650014", "DA5D70AC87DB9AB9A19D7E79FA3820B9A6855F148A662E9E", "0DA0AA0A4187C2AC05B220AB88498FC244FCEF7FCC59692A", "DEFC6E4E0FF252A652CAD76C06429D7D902F80D0C132EC2C", "FB8EA1191F9272038017D3D10B0F901514490B119C3C086F", "A0F433C8EF9F86EC52989CC77B999EA02827EA0D57F00766", "73C51E27F033BDCF09E29C19740AC05676C7DA219C83F019", "C1A41E1999A6E7ED8D2407005608A44999C0918F009F12BB", "C1DE2FB59A6A6CC45D3E1A9A502F0327E4E0582692882E01", "FA371922F657875B03268090C91EF8A7D968486EFCBE853D", "D7786FFE8F9411E982D591C63A364483A733A005D8DD4F52", "EA71A84A2AE43700E2D6CBF9705809F38EB01E3AA3500981", "AEE84693BEA5105467DFFF30E694772F31148CCECA362D0B", "02C9565A480DFE315479D62BFFFF915768411199596D0067", "0EA5DA49521F8C298EB3A65B157D3B0E42E0BDA0EED10EB3", "A8F8E5533E0025DDF4421EA099D9C553736B86626649BFAC", "76D357BCB224F3B59DD6286A3EA0D4C2D09699E68ED7D4E3", "202794850A8B2A8D611473C84F18835F322D32E04214502F", "1BED2B5DAA818E27EACA9EA5BC6B5D88FF7605CBC529C423", "6FCEF79BBB8B556D597071E6E86815575C36955DB95FF0C9", "5C76AF9054B56A78EE4BAE2F69E54EB4A4DCCA9251EC323F", "8645904A860B9227CC2EBE31269BCB033D12626D4E7B1E07", "5CCAA2D96A4B90DD33CA1A8F63D9A32785FCE91FE9D261FE", "644AEF13CA34442715AF3B71F6F40863B9FE5B68D9AEA69D", "BB8F2FCECA6DBE2233D94CC9617C0C924251503E15ECBEFD", "C0CE5B9858DCAC7C2A7FD41EAD46C1D1F4A55C612EB87095", "C3209B535B1893D292F24AA705A54AC6893F5C34DFC0B89B", "4A9362D913330BE01F8AA9A40621CF2BAE0AEE998182BFD8", "6757B6725238FDF3AA6E92CE05242DC7A138F55A8A2B8CDF", "9C1EFCC39E943DB17478F55C2E8F5AABE665A257A74E7CC7", "9E48EA08AF2BC00367D950D2A0BE14D0F26B71FBF3997B10", "A6BBD6177AF40DDDCCF8CC8B8218833B8A89D6BE122E12AA", "F7BAE51827F6C16F31508A28D362DE9BA4984E47C88DC037", "65DD7FF5BB8CE8D5F84480BF5A0E35127CD736A1CDE7BC12", "E8531E2C7329ED60B7246E6246B1FEE13B1B70F1A119CE54", "7B26F57EF6D56F8966AFB3AF6C9BCE1C1948396CE4FFB1F2", "D6EFC3AD5E62E9055C414D01E11E0EC9374B5F4486AF92D9", "B4000A22B7ECE2B3BC2695A2E98A9F4FC981DE2F44A80CA3", "30F506642345E45D1116318D8F9849A640B13C27291F5B83", "E02C8DBAAA96F301081E0F6F6FF3163D11B0340C5154E06D", "4D176A285408CA3E69FAA2F90B980CD10BED31F3B7C31F15", "8BBECF1AAD25FDC805039E0B0AE53C72B2D598400FAD8A0F", "68213C2CB2C200AE8E130125F0DA1A81AF46DEA7A32564B0", "B65CAE529F4F5640EC8E61D7B18DCABF5C42D09D16638E02", "6D9BDF35483F61B8B41DF2BB3DAB479CE960916A91768BA9", "C7065FCFBD627402B557D08EE245E4B792079CBA32E7E956", "FA7CAC5FC22F2AF0FF1E052D28817A65966B2B0C1C2F8792", "204A233E044B2C07EBBD2C529A8D578A07B21BB674EE4D64", "5D64C8D0554606505D54BDF395D6608AE15D23144284C05F", "C90A9B1D92220CA0F3F4A8E65155FE0E1D152C89213E96D9", "3C8673A6ED62C5FFC880D24A000053ED7042329424181DFF", "732D68C9AAEF89D27676A87AEA0F975BC31E9B7184AABE49", "61D3540EF01107CBEDCA147F615B0DA929474344FA8DAB0D", "FBF56E336FF510ADA9A801F84E4792FD8E9B1C3B44B4D666", "FD5EB3F4BF2E475CA451C856B2F576FCE1CAC3B700348176", "E5D6F6AF3BB3D2D22975AB500DA24B5783E651C1AFADBCC1", "22C7EFD25977630807C1D0FD7DC220FF426D589BEBF3F818", "38C0B8ED87706F4A7C2DC5EADCD01C72193261CF37C196EF", "CAA17EB9893A85EBE650736A0B56FDCC9DDF6916707D1B99", "1FC43409C387A59F2702D1120CA69AE1EB8BCC072AEBCC89", "9D5CAD387705F97F784279C85B5C09D3A8216C3151BB8BB5", "DC1EBB94F3E0E6703DAA5715A7E826554DB9EDE756B2EED2", "5E626E0FBB4CAE926AC717EC009CAEE23B5CD3062359E20A", "F348BF048DB8D98D0BD0666B520AB255B12CA6047B3166AF", "8F929C79DDE5DE2794998170EFCABCE511637A29810ABF47", "FE4661EE9DD9FD928D2AF9B5898EAEAB617E88369457DD67", "6E0C9BCE677EA50439E02731B301300511643AC1FE00125D", "4589434D3BE9D44EF45DF1ED91AA97D812ED55DD869B9067", "0C0DC9DAAD3351B7CE17F8D1F6DBDA62F91FCF6C93019C45", "07FD597941C0A30A137256D65E5D2430EBA2C6EF24979E00", "EEFC74ECC53C334768D59EEB02B49A462A976CAD32FA9F4C", "292EE351E25622EF85A07C0C161FC0FBC09229C176998D35", "7ED81D7B5AD71E60F04E388D2E29E044EE253D701D213ED1", "56A2F7E6F85975BFCE0705A124AE4CBF7C3015690304521D", "B07EA50183596A2430F3DEC13F96845D1070A3D32F5EC066", "526F6BBF1EBE525ECF7EFBE693A06B746307726F2011529C", "89EBE9219A9AC412BEC88BA321030B4AAA257B6410F7719B", "ABD5FE2E6DA870D5B894B35E72E41D590A01E40303524335", "1E3D537D9580A74F2D7FC71EE241923AB3848D11A1A5644C", "F580664AB99A6B50BFA21019261D91B3A1238FB129B0797A", "2DB79D2513802F939D4608E4FFE38D1CD5FFE7B667CE3EEC", "13B1F534DACAC2836C67B4B410151AE550AFF9C977B6A3D5", "86ABFE6988DFE9D6C9A884942946BE74115987EA3C6AF477", "9FB58A6C6822D1F7BF3AC52BD210132FD6DD1E823D3CE95C", "1F5E0C29EBE8A28B934E7932C0D120F2F01CFA87DC089E0C", "BEA84869592DF1FD12127F891CA9DAFEE767226868F878DB", "6FC0DF95D191F492399AFC32C4F536F43C14E189DA93396C", "33E9415EA0EDB2BAC1DD210B9CC2F5D7F46B5B07C5EFCC3F", "CD933BE80058AFBBC9FFD6590CA2F53B3696E7F86CBDE8CD", "15F89B44FF00A4CB930233FADB49A824F0AB540636A0E8A5", "33C345BFFA20C8F0B92AC6F3F063E477F1CDA525C35E68AB", "617EE74C600A5B9D5C591984222DC000642FA97ECAF6948F", "E50FF576A78A5FF73038F307740FFB190F405AAF65909C7B", "10F16B3B9BE9762F603DC156A2626D0A92C49D6788433292", "65C75607C3085EE0DF99AC88FCB71FEEA3E95D1995027B90", "A95A236CEAA6FE6A33DBD6B2FF2CC61DCD06B576D34D8BF9", "94701D90637F543B83AC736D448D915AB56ACF688AA2A9BF", "C005D8C2069CB7F291C7214165383ECC418999FADF197ED3", "F02715BA20879FE16CA382F3F33B35DA09273F524A832CE0", "925F4C6B45F07D01F1033AE426E554FE30AD5664F89EB521", "DA89E876647B2B17B726DABF0620B5791B8D910CB9E7323D", "A3817AEC34558CE5C4554B4BB652D52E0FB834D66173B40A", "EC4599DB388F66C10AF7C24987AAAB6D02CF431602C321D3", "D7BBCCC448440CD6BFF93D8CA1DC309BE47E51C823B85EBB", "2CAB4F11BE0BB64B4F16F707DF30F465A279C6972FBCD7D9", "12E4D1EF75CBCA5369EB440776F117EDA8B536A35C26F139", "17444B27596CBC519FBC8F2B90D68D05BCF51608ACC3D304", "D76A8B2E986EB16CD6121CED58295F0CF5EB02DEB60F98CC", "164E3829B70E59570D2A5B24A0F1C67A974DFFF1EF5BF2EA", "0EE8B5DD7E5A285EBE11965B574517B949C3487937453B2B", "E3639D864D20ECB48D8C2B8F892D97A7FECF83937C48C2DC", "4434C996B25FE43CA24746396E50C157139C57787675CE17", "6D1693269BBA7630B6C083EA6D8AA16F0512F07C214251A9", "A1D5C7ABDDF9FA51FB5C9AE0008FA953EA83063C93E49319", "9BAC4A7FFF14B34F32F10EB2B6A3A61A13C255DB176D6FCB", "C6BD779EE2F9FF6A4ACCDA2E33FD0C62D641733E414D5B36", "F0D656506DE265EC28F1781DACB76D1C7575DC55C15A40DC", "0E95FD14633037441CD9AFE78391FFE73AAFEFE532B8F7D6", "AFA01B52D549FF4C8B6DC71BBA6CFA27E8EA03046B95F6EF", "9E63417D3DF651A3353FB6573FFAED9DF4ABD7F68AAAA051", "CE51254F812107B91727838B619D5C4F17FC2C3C9A95233A", "89F63C422BB85635F432D4A6DC9F940D79E0B5E111A24F4E", "999534C4B3B25F32FFF05B893F4E26CF8F1819FCB5B908C1", "7FAACB92FEFD12045C77B4180EA95EE7E1775703E7BB4C3E", "2BFEAD2B7E1C6BB0F47AEFB9909E3ED961EFB39A29794515", "A52AE6D0221773E42FB042B7830D28A73A590562C38C802B", "5B3007DFB62B78955620A0F17F58B6FE55B360C0F7A9F4C3", "77883951F130BA75FED13621DC61BB766E475DB7751B0D3B", "297DEB90367720058318C994C0382B83D182110797A29A53", "0BA968080D4608C3BFBE43682CBBD63F246F866AB0A0070C", "328F20CDFFD905862A11F70B6FDB4803133CCE8ABB8D2B73", "74AC023139CF3557F49E2F8A674AD0857AEEB9EBA3C1985C", "BD588F19DC358DC37450A6689E4D7DA413206159F3DD2A4D", "DB626F5040AF44803156FF86860A1367B1B644B021C15460", "ADE8785F2F65B67ED1740F8693C5A1CB3BFEE9E3B211B83D", "D08599E7444393A3C5FF2493E1B6647B297708919163E05B", "8AA57D3CCCB899CC92A44ACE801F54A13E60A45BFDFE7D30", "3415A0699A0D14DBBBB2280A9C8E3C91B954B769CE606362", "EAD03B5ACC5C86FC8672AE14330BF93A9489A5017D3B9354", "7ABE3B7FD5804A23B937C0EF5ADD8869188BF842F68D21F5", "739004F8FC7577D0BA954187F300E441F4A99F62E0F3C367", "30D99CB386570F45B8F0EB75868E8EA9EC7DBB04C26D8FEA", "7278F6E780965FB5C02AC4AC24BD2020D2439623EEB901C8", "93E7E84B803152CE17491B9B9DC6502041DA4D56C636B4A7", "32D63F3C642173BDE55C2A7E8BB6C942420C309DB2E7210A", "CECC92727AAEE2FA74B90AA728F0D3F0FC5E8A42DF283713", "51437CED5761BC3FCF29FDE5877675B5DCCABC85BC2279B8", "F6A494D7241543CBFE2BB3C68F2DA9FD9915BF0A14BF82F4", "DD8BE4ED5FFCF836C977352ECD2CF689BD94F9CF0EB66EB4", "1EF1B22652B07E0039DC257B30E88A2FA5D3FC64C79C741C", "775E4B0447AFD1C960320C042EF2AB6C879088956435872E", "A40FB52C188AAC639CF9ECE72B978C812CA7991997CCC3D0", "F6F305D3ACA46CEFDA5FCF420B49C9C13F14C3247E4214AB", "2A5611447591A609BEDB9B99AF030D1548C25C1090FB7252", "6BB8BF7CF510DF644EA1771146EC6E943E26598734BB2022", "8508F80824415D97E468B19EA305B0473A915B996DC83A31", "8814EE7A02164290EB431E70D50490DC2313BD30EB479857", "EFD4A311C5F5093AB23F2C775577EEEE230643A75F7938C6", "6FA980DE170E4708F4F59BA46DE0EA340BC61C540B0D12BD", "C699821C7E342804278CA77879FFB9332F274530C673385F", "FCFA7BA4FE1736CA672914AC98905FCF235CB82F10BE9981", "BB1DC4CAA892B46D15C44125DEDF64C63EC4DE5B807F93DF", "520F25FEEC8D698D31C164D291A54B906564A75B7B693239", "772CB58B4086454862B813AB25EA5E33BE530D3DF48F8BD5", "CBDBBF709ADE1701ABDA7A258528D675B505678E6B643FDD", "A16CEC411677F88C1F751442BCDBC9F013AA1F4E829CFCA8", "9DA04A1EF52DDF86660B9EA7D8AF385BBE6369B10AF2F3B3", "049F7036F40FB51260E4B8CB0696EA03D375B401CED3E2C7", "EEB8208784C4C65DA497729C948063BD9F51FE5C026CBC8B", "F39BA71DFAD235C2E0CC8BBAE4CD8D5D1EEE9247086ECAEE", "8372D7953F7697BE48661E3718196082B06EB448EDF3D839", "D41785ADE9E2FFCAA5B9D44613CD23CD9C3A519CD9C89BED", "620D6396A467CB957740B85D5D51E53279DF78D56D6CE8B6", "89905029EF0112631ED9DFDEB63BA26235B822022B686D59", "51AD7F7D9611ED7C24A84525832A2F8CFAB80F907C02533E", "C645E4CF66DA4B343FC0E9221B4616E8CAE1E65E50195E64", "38EB1AAA6CEBBE8A21EBBB9C0976D29F4089EE47ED1D1F4E", "EDF66F50CD0F54FB3094E3412E28177A53B1CE56D0FDE4E8", "11CD219A1E03532D2D4D61F1563C2AAA8A1586736FEB5CA0", "01D50B226A3517A3DCE79495FE1410E7AB6FEEAF8FA24BB7", "F981D517F259B363A945D2D19447378649E597A37641B911", "B36A8BB7E4018ADB5DC72B4961501F9A5AD5931F5E97A6D6", "D78D1E9D4682A0777A6EC0D8C2F165CAB925966650937F89", "2F6D9783D5BF5976DCC31C7F00B9FCD04B6C16BE92417C9B", "22B9F7C41FCE5A4638D6E6C61265B58D18C2D5FBBE33E9F4", "37B7BA6658F835D817CB114D06C197D23C47708352EAC551", "D8E97C4A5F14A1F595C041D0ED59C4D4631E7AB673484824", "AC782146178A613B3FEA97DBF2018A6C7E1EE3789BBE2A51", "11FD098F69CA3BE809474769C7DC6664A37AA26358A1EF08", "93856CBBE6404B2EF9D4240556810833C73D6D049FCA47BB", "C8466665EA45CE4CFD88F819D5C639777640B84D3D60C4BF", "9B4834F18ED69D519D497AD84204BCB9D749F122A86206F1", "7571A4B267EB04E445803700DB6A72242E1DE16B1677C410", "2A6518AF7D1C26F81852CABD90366371783BE49E94BEA42F", "AEBDEE389CEE275743FD1DFE10716DA734049874700D55C1", "8EF1808D19882CCB413F4B432918984BFE61D3419999642E", "26B8CC222AA5C53969D3DB6DA64743B71063AE978E1F5899", "2B8FA32B543ED0E1A8EED1165806602675D21D4A330AACD5", "7BBD8EB068F2EFB116AC6EF6FE80BFB0E8023702D17EFA6E", "344265DD1FEEE145A37F268EF0877581998CF323CFECECCA", "9B606437205BD1DB249D3566D7AEE9D289C9CFD0D57FD058", "C28D239C59BD76719345840E7C491748FAE7FCBC5EEA6C51", "BD1EFD0CFD6283ACD2A95B1DAE33ACC47A14D21AE3A74DF1", "B0EEE8E5A9256A73A98B641F3D29092D2F1F1B75509F5455", "C46B3EB0F3B3C6D61CF0E5A263D4499A91D68055B1EB4996", "C14215E03D57E2D109D88F48500F0D2332A819F1716D8885", "DD38ABA719EEB2B7B78DD4455AB2DF07A5DA8608BC8250EC", "1175351A36F8F2769BA8A206185C10B241189FA4D6220C83", "208DC327BC1BE3B55EFDEFEF89776DA5EA979CA479CC970C", "AD80043313C929A421495430561C49F0613C195D3578B518", "8384691A0DCADD919AB610D69A4C478A582525D5C48B7F17", "2FF93D872E9E6AE1783C0EF5B1AB9510050F0276563BA02F", "D3C7B2D23986E191D95B19810843B63360578024F3272DA9", "29F56FA57392FF312289DF4A88C718FA56D2C3357FE6D0D8", "175884C528D5584EF0E0AAB61660EB9684242F00F6911A24", "F5D5EE0BFBF2186BD6CE3C63A9E19852EFF62D39E8215068", "6712197F2D9E424139C93292E9B684A11579BAD5546A9F99", "EDAFE550B5634A040E23A008DD3B15C476907B3CD596725B", "230EC8B2DDCE48BB1ED8928509CE6659981DB303813C7031", "02371A2CA23F8781DCCBA0672C979EBF0EA8F17F4CAAB443", "E0EFB4CE4025CD25C760F9E822F954D6B38319E71ABED25E", "2030785CC6D18999182F7B6A9BCA9F72F86829F89B306C37", "3490EBCD433D9FDA74EAAD97469345846E190540C6D82642", "A9C3E5AB60F1666619A899B8F3AC2370A5BF2298B99BADBB", "804320365682196340806665DC55299041D3BD85728BA0F2", "53A2DF8B0C83C7120BE2A9608F1B5A4528BEFEC9D7970487", "2BCD607D529B39E1429F0C54B94ED78F826389086C7739C8", "0C466A6ACFA584D239367547536323A32715D0DBB5867B0E", "2FC3EA605A33AC26E78D8CA19F98CE7B5827E62961D89212", "8761107DC3785DBF710BBBEDE5FEABAB6F175A5ECFA961B3", "F123F30881EC794674403328E3CE7C80BC95DAC12D7B360B", "341C9DADB601F2781F6ABEB933B73AAD103A81E8D96F6730", "38E53597534CCF0E60DA817C62924453E193D61861043244", "3DF84CC5EDC3D732948BE841302B9AB708F5AF33DC537A31", "B546891818224B14E90827757DE18BABD71449E57F8FCFF1", "A7D6E7A48C1C14CD8DC58D7EFCD4FC8D407F15A1D4AA41D5", "0B178B35A97C06D9D4D2A5838AA867BFDBDB36D674AF33D0", "8C22DFD72E5ECBA3D0E0B54985D01223032939E7B7B33697", "A52E67BE70E116BDF6EB61EF225DB94DF06966203DFA2E31", "4AB1B7BAD46AF64C8B6203A8889CF56A079F18F688790896", "65D1A4BF8DBA94C9752913A4C15FCFB7F18CCF257D48DED6", "090CFB92322D482D9D8AAFF716F10FDB491BE0FAF50C784F", "94F1F66FB01D719F04D36CA30287F7E534DC31B0D91CE1FE", "D8689D811424A59B870F84D11BFA1D202BF57896154405B6", "D7F2171F5B7523C54B4D1A81BB6048C99CED1E15087A9C49", "94DC8F6AAAD2A07CA81191B613291EB06EEC66A1B628F9CC", "534D75114EB28DFE082BBA4285ED30E55CBE4864278FF182", "F5971C8523421B68BC3D9FCA5ADC5D2C76CD0C3797232950", "D274B834360952A27265C12C2B70623CDCB69C4815B8AD9E", "D25074898E465F024B7D5AA542575176B885998694BFF162", "100B09B1A2778E07F0DEE2E6DFB28D032FA35D7EBAB2E87A", "96FE586BD7D472FFA884C5724561D517C1126957FB190096", "45EE36AF320341688173D7C41A7615BCCD0A431F834EFD18", "F73847AEB45D714CC5756DBDEE00A9E580EF91101AC8FE64", "30A56E8B8CDAD753A854A1BE4B61DB04F303B6CFD0D76522", "1BADACF65A1F790B448DF08A100E66CDB8B404DDC7865016", "D0DA13AA2AFC006A97C537541B505B96CE798BDDC07B9D6D", "FB4170AA2DBAA3844FD8485D4325BE987E2E589B58AB3B80", "50A0FE8090A0AA2EA503CD40DBE894004852584FDE11E3E2", "F6311445087C56C3CA179EF211FD32762134EDC910D9270B", "A292F008A7BDF88E61FF866269A6D6F6AC9A81F706D57C27", "700C29CF917F3634215C58B9B3B9C147FC0AEA52C05B2841", "2071C5313B0EA39ECC258AC29ED6E6CA8E0511C726A528A9", "AC6F08712123FF72E9C04D1C5C343BC2A356DBEE9223B8E8", "01F46A7935579B7A7F5CDD00B5E7F1D62C37726F4216DC1D", "820320BBB243E30FE35395FBFAF46A5C8C0CA41E4B48A80B", "4B3365B4AF9E0C1AB703F297ECB82F9DB6ED44819DBC72F8", "DF69D9A819C4E27ED1B7D66678FDEBD8BBD1747F892D2B55", "C0F17FAF958767C65EBA2F68EE245205CB1BB73290AACAB6", "D62C3EBC661115CDE4F4BD646D745ADB7225304D2712837D", "37E9A837E07B12281F4740D8353DD6008A077F6EF51978B9", "9826470A5ABEE6EE66BB799C9A9206703174AB77AA6223A4", "506C60EAC24C18D955364759BD8CD522157AD658C7B1652E", "110923F8A4E154057211F273FDAF0F565AAD0A0962C4E08D", "30CE0B97A6578CE2398BF04E63F78B2CAB5DC97A140426CE", "3AE75A6039177B44B18B2C02EE148388F93E6EB96A989D3D", "0DE8D7C180C5FB4E90ECF4165EECEDE97316170B7B00D681", "A1BA31195FF34A411C5D9A72A84C83C7BD7C6C777FC7DA4A", "1D7295FE7B297D4B752159B7DD71483D53C7799FF82054E4", "F0210F4416BE56B157EDC9A76684D1F1653EFA6B7D06079B", "311229D7C5AADF9CAA0DF39E441D4E119D0B3887194B9751", "7E5E875547284EE4952C250DA3BB4E3BBE59086FA638CAAE", "890371D12AF03062698C2F4F5F2D7272DF652EE99C4233B3", "BD3F48F09AB50132242F762A61904E945CD3628A925A8B82", "6401C4DDCDD7441581AFF57D13C1198FC2347D886D319FDA", "2446A367AABBDEBA9EFD1F8CAA9805EC1A9B45200A90E2C1", "37C1C64324D78E1F7549E6169FA66D492184F3A5A524810F", "91A620E120AB9C4949C6D3E27A856F079F76DA00D56C3A22", "575C19C550408D8454650AF1739812870E371BA8F34B6861", "5AB6FF5B263ACFAB2013C3068C03A82979EA6DB287A3ECDD", "BB40E88E5DA7D4B12356124D9ED74BA5283C502FC68B5A1B", "CFEC678B1CD75F4249D536C9399F11C12CE9938EE8CADCFF", "8A26E3715E0471DD3616A9E505F4C73722BB42FB233BF641", "ED38E1AA4B73AF6024471252F8102E77ECBF4BC315DB1C31", "4D5E37A37AFC8C7DBBC25AF2C6670ED2DAFB56B5376E2550", "958603BDA98C29A87AEDB0C1C8F559D161EA4FCBE9EED392", "A7F58251627E2C4C82ED1AFADB2FFF3B3483CDC279117E1E", "4B003F86DA13C24E10041F934DC02EAA9E86C4200550DE8F", "6139AB107BCD192E8419E869F77738D2624BA81FD774828F", "15E286064681AB50343CDFD1E178F6DAD9071E3727997DA1", "95A26E99BFFBB5D0027B380688D3E5C567454F4F2F283C41", "45326511C3070AD878172A7DA38D17ED65D17BFFB0298058", "C127E412181EF4734360466A38245409E44B2B208FFF4D67", "4C9A55B7BC50B8D7343F1FF351F13A89CA53E8AD2F056559", "9B93DF18074112C26FBEB1EA277070EF4D5A1778376DC12C", "79CE5EFD59A9A0ADBC3661F278B3C540A0332A9E8FA30E07", "886F0AD49176EAF30EA422CDA7D1061AF2D62DA67C672407", "54C7674DC49D49E63DD7296241C3F2F0B022BCC0451400F0", "9DFC07C61179B9DEEA1D452D3073C2A12CB0342EC8FA25C1", "E9C6E911956A0D7C3958F4E0252A4DF98FAE33AFC834EA10", "9DB1556485B4C5C67FC532C4C6937AFA3A889FDB09B055A7", "5875A1A391DEDD84155F3805A81EF68AD288A9E77DEB4324", "5DA3FCD577895036D0AB8D6BC654C59E76C0312C81F3A374", "3DB3B9731E66FEF6039A2723C7CD7814F2A5F8ED20807361", "C784C70B8F431D8AEA3F5ADF2BA55AB4BEC9C580558CD0BD", "B256AA37A7DA84F3599B338E2B853B92ECBA5FDE6901B620", "1CDEC1D10BD749090B1F491A4FC8E2F8B150D64F3215CE8F" }; public void test(TestHarness harness) { harness.checkPoint("TestOfTiger"); algorithm = new Tiger(); try { harness.check(algorithm.selfTest(), "selfTest"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfTiger.selfTest"); } try { algorithm.update("a".getBytes(), 0, 1); byte[] md = algorithm.digest(); String exp = "77BEFBEF2E7EF8AB2EC8F93BF587A7FC613E247F5F247809"; harness.check(exp.equals(Util.toString(md)), "testA"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfTiger.testA"); } try { algorithm.update("abc".getBytes(), 0, 3); byte[] md = algorithm.digest(); String exp = "2AAB1484E8C158F2BFB8C5FF41B57A525129131C957B5F93"; harness.check(exp.equals(Util.toString(md)), "testABC"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfTiger.testABC"); } try { algorithm.update("message digest".getBytes(), 0, 14); byte[] md = algorithm.digest(); String exp = "D981F8CB78201A950DCF3048751E441C517FCA1AA55A29F6"; harness.check(exp.equals(Util.toString(md)), "testMessageDigest"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfTiger.testMessageDigest"); } try { algorithm.update("abcdefghijklmnopqrstuvwxyz".getBytes(), 0, 26); byte[] md = algorithm.digest(); String exp = "1714A472EEE57D30040412BFCC55032A0B11602FF37BEEE9"; harness.check(exp.equals(Util.toString(md)), "testAlphabet"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfTiger.testAlphabet"); } try { algorithm.update( "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq".getBytes(), 0, 56); byte[] md = algorithm.digest(); String exp = "0F7BF9A19B9C58F2B7610DF7E84F0AC3A71C631E7B53F78E"; harness.check(exp.equals(Util.toString(md)), "test56Chars"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfTiger.test56Chars"); } try { algorithm.update( "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" .getBytes(), 0, 62); byte[] md = algorithm.digest(); String exp = "8DCEA680A17583EE502BA38A3C368651890FFBCCDC49A8CC"; harness.check(exp.equals(Util.toString(md)), "testAsciiSubset"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfTiger.testAsciiSubset"); } try { algorithm.update( "12345678901234567890123456789012345678901234567890123456789012345678901234567890" .getBytes(), 0, 80); byte[] md = algorithm.digest(); String exp = "1C14795529FD9F207A958F84C52F11E887FA0CABDFD91BFD"; harness.check(exp.equals(Util.toString(md)), "testEightyNumerics"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfTiger.testEightyNumerics"); } try { for (int i = 0; i < 1000000; i++) { algorithm.update((byte) 'a'); } byte[] md = algorithm.digest(); String exp = "6DB0E2729CBEAD93D715C6A7D36302E9B3CEE0D2BC314B41"; harness.check(exp.equals(Util.toString(md)), "testOneMillionA"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfTiger.testOneMillionA"); } try { for (int i = 1; i < 128; i++) { algorithm.update(new byte[i], 0, i); byte[] md = algorithm.digest(); harness.check(ZERO_BITS_ANSWERS[i - 1].equals(Util.toString(md)), "test" + (i * 8) + "ZeroBits"); } } catch (Exception x) { harness.debug(x); harness.fail("TestOfTiger.testZeroBits"); } try { byte[] input = new byte[64]; input[0] = (byte) 0x80; for (int i = 0; i < SINGLE_BIT_ANSWERS.length; i++) { algorithm.update(input, 0, input.length); byte[] md = algorithm.digest(); harness.check(SINGLE_BIT_ANSWERS[i].equals(Util.toString(md)), "testSingleBit[" + i + "]"); shiftRight1(input); } } catch (Exception x) { harness.debug(x); harness.fail("TestOfTiger.testZeroBits"); } try { algorithm = new Tiger(); algorithm.update("a".getBytes(), 0, 1); clone = (IMessageDigest) algorithm.clone(); byte[] md = algorithm.digest(); String exp = "77BEFBEF2E7EF8AB2EC8F93BF587A7FC613E247F5F247809"; harness.check(exp.equals(Util.toString(md)), "testCloning #1"); clone.update("bc".getBytes(), 0, 2); md = clone.digest(); exp = "2AAB1484E8C158F2BFB8C5FF41B57A525129131C957B5F93"; harness.check(exp.equals(Util.toString(md)), "testCloning #2"); } catch (Exception x) { x.printStackTrace(); harness.debug(x); harness.fail("TestOfTiger.testCloning"); } } /** * Shift, in situ, the variable key/text byte array one position to the * right. * * @param kb The bytes to shift. */ private static void shiftRight1(byte[] kb) { int i; for (i = 0; kb[i] == 0 && i < kb.length; i++) { // do nothing } kb[i] = (byte) ((kb[i] & 0xff) >>> 1); // handle byte boundary case if (kb[i] == 0) { i++; if (i < kb.length) kb[i] = (byte) 0x80; } } }mauve-20140821/gnu/testlet/gnu/java/security/sig/0000755000175000001440000000000012375316426020376 5ustar dokousersmauve-20140821/gnu/testlet/gnu/java/security/sig/TestOfSignatureFactory.java0000644000175000001440000000360710367014267025662 0ustar dokousers/* TestOfSignatureFactory.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.sig; import gnu.java.security.sig.ISignature; import gnu.java.security.sig.SignatureFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Iterator; /** * Conformance tests for the SignatureFactory implementation. */ public class TestOfSignatureFactory implements Testlet { public void test(TestHarness harness) { harness.checkPoint("TestOfSignatureFactory"); String scheme; ISignature algorithm; for (Iterator it = SignatureFactory.getNames().iterator(); it.hasNext();) { scheme = (String) it.next(); try { algorithm = null; algorithm = SignatureFactory.getInstance(scheme); harness.check(algorithm != null, "getInstance(" + String.valueOf(scheme) + ")"); } catch (RuntimeException x) { harness.debug(x); harness.fail("TestOfSignatureFactory.getInstance(" + String.valueOf(scheme) + ")"); } } } }mauve-20140821/gnu/testlet/gnu/java/security/sig/TestOfSignatureCodecFactory.java0000644000175000001440000001201710375750676026625 0ustar dokousers/* TestOfSignatureCodecFactory.java Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.sig; import java.util.Iterator; import gnu.java.security.Registry; import gnu.java.security.sig.ISignatureCodec; import gnu.java.security.sig.SignatureCodecFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class TestOfSignatureCodecFactory implements Testlet { public void test(TestHarness harness) { testGetNames(harness); testSpecificNames(harness); } private void testGetNames(TestHarness harness) { harness.checkPoint("testGetNames"); for (Iterator it = SignatureCodecFactory.getNames().iterator(); it.hasNext();) getCodec(harness, (String) it.next()); } private void testSpecificNames(TestHarness harness) { harness.checkPoint("testSpecificNames"); getCodec(harness, Registry.DSS_SIG + "/" + Registry.RAW_ENCODING_SHORT_NAME); getCodec(harness, Registry.DSS_SIG + "/" + Registry.X509_ENCODING_SORT_NAME); getCodec(harness, Registry.RSA_PKCS1_V1_5_SIG + "-" + Registry.MD2_HASH + "/" + Registry.RAW_ENCODING_SHORT_NAME); getCodec(harness, Registry.RSA_PKCS1_V1_5_SIG + "-" + Registry.MD5_HASH + "/" + Registry.RAW_ENCODING_SHORT_NAME); getCodec(harness, Registry.RSA_PKCS1_V1_5_SIG + "-" + Registry.SHA160_HASH + "/" + Registry.RAW_ENCODING_SHORT_NAME); getCodec(harness, Registry.RSA_PKCS1_V1_5_SIG + "-" + Registry.SHA256_HASH + "/" + Registry.RAW_ENCODING_SHORT_NAME); getCodec(harness, Registry.RSA_PKCS1_V1_5_SIG + "-" + Registry.SHA384_HASH + "/" + Registry.RAW_ENCODING_SHORT_NAME); getCodec(harness, Registry.RSA_PKCS1_V1_5_SIG + "-" + Registry.SHA512_HASH + "/" + Registry.RAW_ENCODING_SHORT_NAME); getCodec(harness, Registry.RSA_PKCS1_V1_5_SIG + "-" + Registry.RIPEMD128_HASH + "/" + Registry.RAW_ENCODING_SHORT_NAME); getCodec(harness, Registry.RSA_PKCS1_V1_5_SIG + "-" + Registry.RIPEMD_160_HASH + "/" + Registry.RAW_ENCODING_SHORT_NAME); getCodec(harness, Registry.RSA_PKCS1_V1_5_SIG + "-" + Registry.MD2_HASH + "/" + Registry.X509_ENCODING_SORT_NAME); getCodec(harness, Registry.RSA_PKCS1_V1_5_SIG + "-" + Registry.MD5_HASH + "/" + Registry.X509_ENCODING_SORT_NAME); getCodec(harness, Registry.RSA_PKCS1_V1_5_SIG + "-" + Registry.SHA160_HASH + "/" + Registry.X509_ENCODING_SORT_NAME); getCodec(harness, Registry.RSA_PKCS1_V1_5_SIG + "-" + Registry.SHA256_HASH + "/" + Registry.X509_ENCODING_SORT_NAME); getCodec(harness, Registry.RSA_PKCS1_V1_5_SIG + "-" + Registry.SHA384_HASH + "/" + Registry.X509_ENCODING_SORT_NAME); getCodec(harness, Registry.RSA_PKCS1_V1_5_SIG + "-" + Registry.SHA512_HASH + "/" + Registry.X509_ENCODING_SORT_NAME); getCodec(harness, Registry.RSA_PSS_SIG + "-" + Registry.MD2_HASH + "/" + Registry.RAW_ENCODING_SHORT_NAME); getCodec(harness, Registry.RSA_PSS_SIG + "-" + Registry.MD5_HASH + "/" + Registry.RAW_ENCODING_SHORT_NAME); getCodec(harness, Registry.RSA_PSS_SIG + "-" + Registry.SHA160_HASH + "/" + Registry.RAW_ENCODING_SHORT_NAME); getCodec(harness, Registry.RSA_PSS_SIG + "-" + Registry.SHA256_HASH + "/" + Registry.RAW_ENCODING_SHORT_NAME); getCodec(harness, Registry.RSA_PSS_SIG + "-" + Registry.SHA384_HASH + "/" + Registry.RAW_ENCODING_SHORT_NAME); getCodec(harness, Registry.RSA_PSS_SIG + "-" + Registry.SHA512_HASH + "/" + Registry.RAW_ENCODING_SHORT_NAME); getCodec(harness, Registry.RSA_PSS_SIG + "-" + Registry.RIPEMD128_HASH + "/" + Registry.RAW_ENCODING_SHORT_NAME); getCodec(harness, Registry.RSA_PSS_SIG + "-" + Registry.RIPEMD_160_HASH + "/" + Registry.RAW_ENCODING_SHORT_NAME); } private ISignatureCodec getCodec(TestHarness harness, String codecName) { String msg = "Signature codec \"" + codecName + "\" MUST succeed"; ISignatureCodec result = null; try { result = SignatureCodecFactory.getInstance(codecName); harness.check(result != null, msg); return result; } catch (RuntimeException x) { harness.debug(x); harness.fail(msg); } return result; } } mauve-20140821/gnu/testlet/gnu/java/security/sig/rsa/0000755000175000001440000000000012375316426021163 5ustar dokousersmauve-20140821/gnu/testlet/gnu/java/security/sig/rsa/TestOfRSAPKCS1V1_5Signature.java0000644000175000001440000000604310367014267026657 0ustar dokousers/* TestOfRSAPKCS1V1_5Signature.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.sig.rsa; import gnu.java.security.Registry; import gnu.java.security.key.rsa.RSAKeyPairGenerator; import gnu.java.security.sig.BaseSignature; import gnu.java.security.sig.rsa.RSAPKCS1V1_5Signature; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.KeyPair; import java.security.interfaces.RSAPrivateKey; import java.security.interfaces.RSAPublicKey; import java.util.HashMap; /** * Conformance tests for the RSA-PKCS1-V1.5 signature generation/verification * implementation. */ public class TestOfRSAPKCS1V1_5Signature implements Testlet { private RSAKeyPairGenerator kpg = new RSAKeyPairGenerator(); private RSAPublicKey publicK; private RSAPrivateKey privateK; private RSAPKCS1V1_5Signature alice, bob; private byte[] message; public void test(TestHarness harness) { testSigWithHash(harness, Registry.MD2_HASH); testSigWithHash(harness, Registry.MD5_HASH); testSigWithHash(harness, Registry.SHA160_HASH); testSigWithHash(harness, Registry.SHA256_HASH); testSigWithHash(harness, Registry.SHA384_HASH); testSigWithHash(harness, Registry.SHA512_HASH); } private void testSigWithHash(TestHarness harness, String name) { harness.checkPoint("TestOfRSAPKCS1V1_5Signature.with(" + name + ")"); try { setUp(); alice = new RSAPKCS1V1_5Signature(name); bob = (RSAPKCS1V1_5Signature) alice.clone(); message = "Que du magnifique...".getBytes(); HashMap map = new HashMap(); map.put(BaseSignature.SIGNER_KEY, privateK); alice.setupSign(map); alice.update(message, 0, message.length); Object signature = alice.sign(); map.put(BaseSignature.VERIFIER_KEY, publicK); bob.setupVerify(map); bob.update(message, 0, message.length); harness.check(bob.verify(signature)); } catch (Exception x) { harness.debug(x); harness.fail("TestOfRSAPKCS1V1_5Signature.with(" + name + ")"); } } private void setUp() { kpg.setup(new HashMap()); // default is to use 1024-bit keys KeyPair kp = kpg.generate(); publicK = (RSAPublicKey) kp.getPublic(); privateK = (RSAPrivateKey) kp.getPrivate(); } }mauve-20140821/gnu/testlet/gnu/java/security/sig/rsa/TestOfRSAPSSSignature.java0000644000175000001440000001103610367014267026046 0ustar dokousers/* TestOfRSAPSSSignature.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.sig.rsa; import gnu.java.security.Registry; import gnu.java.security.key.rsa.RSAKeyPairGenerator; import gnu.java.security.sig.BaseSignature; import gnu.java.security.sig.rsa.RSAPSSSignature; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.KeyPair; import java.security.interfaces.RSAPrivateKey; import java.security.interfaces.RSAPublicKey; import java.util.HashMap; /** * Conformance tests for the RSA-PSS signature generation/verification * implementation. */ public class TestOfRSAPSSSignature implements Testlet { private RSAKeyPairGenerator kpg = new RSAKeyPairGenerator(); private RSAPublicKey publicK; private RSAPrivateKey privateK; private RSAPSSSignature alice, bob; private byte[] message; public void test(TestHarness harness) { testSigWithDefaults(harness); testSigWithShaSalt16(harness); testSigWithRipeMD160Salt8(harness); } public void testSigWithDefaults(TestHarness harness) { harness.checkPoint("TestOfRSAPSSSignature.testSigWithDefaults"); try { setUp(); alice = new RSAPSSSignature(); // SHA + 0-octet salt bob = (RSAPSSSignature) alice.clone(); message = "1 if by land, 2 if by sea...".getBytes(); HashMap map = new HashMap(); map.put(BaseSignature.SIGNER_KEY, privateK); alice.setupSign(map); alice.update(message, 0, message.length); Object signature = alice.sign(); map.put(BaseSignature.VERIFIER_KEY, publicK); bob.setupVerify(map); bob.update(message, 0, message.length); harness.check(bob.verify(signature)); } catch (Exception x) { harness.debug(x); harness.fail("TestOfRSAPSSSignature.testSigWithDefaults"); } } public void testSigWithShaSalt16(TestHarness harness) { harness.checkPoint("TestOfRSAPSSSignature.testSigWithShaSalt16"); try { setUp(); alice = new RSAPSSSignature(Registry.SHA1_HASH, 16); bob = (RSAPSSSignature) alice.clone(); message = "Que du magnifique...".getBytes(); HashMap map = new HashMap(); map.put(BaseSignature.SIGNER_KEY, privateK); alice.setupSign(map); alice.update(message, 0, message.length); Object signature = alice.sign(); map.put(BaseSignature.VERIFIER_KEY, publicK); bob.setupVerify(map); bob.update(message, 0, message.length); harness.check(bob.verify(signature)); } catch (Exception x) { harness.debug(x); harness.fail("TestOfRSAPSSSignature.testSigWithShaSalt16"); } } public void testSigWithRipeMD160Salt8(TestHarness harness) { harness.checkPoint("TestOfRSAPSSSignature.testSigWithRipeMD160Salt8"); try { setUp(); alice = new RSAPSSSignature(Registry.RIPEMD160_HASH, 8); bob = (RSAPSSSignature) alice.clone(); message = "abcdefghijklmnopqrstuvwxyz0123456789".getBytes(); HashMap map = new HashMap(); map.put(BaseSignature.SIGNER_KEY, privateK); alice.setupSign(map); alice.update(message, 0, message.length); Object signature = alice.sign(); map.put(BaseSignature.VERIFIER_KEY, publicK); bob.setupVerify(map); bob.update(message, 0, message.length); harness.check(bob.verify(signature)); } catch (Exception x) { harness.debug(x); harness.fail("TestOfRSAPSSSignature.testSigWithRipeMD160Salt8"); } } private void setUp() { kpg.setup(new HashMap()); // default is to use 1024-bit keys KeyPair kp = kpg.generate(); publicK = (RSAPublicKey) kp.getPublic(); privateK = (RSAPrivateKey) kp.getPrivate(); } }mauve-20140821/gnu/testlet/gnu/java/security/sig/rsa/TestOfRSASignatureCodec.java0000644000175000001440000001147710375750677026442 0ustar dokousers/* TestOfRSASignatureCodec.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.sig.rsa; import gnu.java.security.Registry; import gnu.java.security.key.rsa.RSAKeyPairGenerator; import gnu.java.security.sig.BaseSignature; import gnu.java.security.sig.ISignature; import gnu.java.security.sig.ISignatureCodec; import gnu.java.security.sig.SignatureCodecFactory; import gnu.java.security.sig.SignatureFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.KeyPair; import java.security.interfaces.RSAPrivateKey; import java.security.interfaces.RSAPublicKey; import java.util.HashMap; /** * Conformance tests for the RSA signature format encoding/decoding * implementation. */ public class TestOfRSASignatureCodec implements Testlet { private static final String RAW = Registry.RAW_ENCODING_SHORT_NAME; private static final String ASN1 = Registry.X509_ENCODING_SORT_NAME; private static final byte[] MESSAGE = "1 if by land, 2 if by sea...".getBytes(); private RSAPublicKey pubK; private RSAPrivateKey secK; public void test(TestHarness harness) { setUp(); testCodec(harness, Registry.RSA_PSS_SIG, RAW); testCodec(harness, Registry.RSA_PSS_SIG + "-" + Registry.MD2_HASH, RAW); testCodec(harness, Registry.RSA_PSS_SIG + "-" + Registry.MD5_HASH, RAW); testCodec(harness, Registry.RSA_PSS_SIG + "-" + Registry.SHA160_HASH, RAW); testCodec(harness, Registry.RSA_PSS_SIG + "-" + Registry.SHA256_HASH, RAW); testCodec(harness, Registry.RSA_PSS_SIG + "-" + Registry.SHA384_HASH, RAW); testCodec(harness, Registry.RSA_PSS_SIG + "-" + Registry.SHA512_HASH, RAW); testCodec(harness, Registry.RSA_PSS_SIG + "-" + Registry.RIPEMD128_HASH, RAW); testCodec(harness, Registry.RSA_PSS_SIG + "-" + Registry.RIPEMD160_HASH, RAW); testCodec(harness, Registry.RSA_PKCS1_V1_5_SIG, RAW); testCodec(harness, Registry.RSA_PKCS1_V1_5_SIG + "-" + Registry.MD2_HASH, RAW); testCodec(harness, Registry.RSA_PKCS1_V1_5_SIG + "-" + Registry.MD5_HASH, RAW); testCodec(harness, Registry.RSA_PKCS1_V1_5_SIG + "-" + Registry.SHA160_HASH, RAW); testCodec(harness, Registry.RSA_PKCS1_V1_5_SIG + "-" + Registry.SHA256_HASH, RAW); testCodec(harness, Registry.RSA_PKCS1_V1_5_SIG + "-" + Registry.SHA384_HASH, RAW); testCodec(harness, Registry.RSA_PKCS1_V1_5_SIG + "-" + Registry.SHA512_HASH, RAW); testCodec(harness, Registry.RSA_PKCS1_V1_5_SIG, ASN1); testCodec(harness, Registry.RSA_PKCS1_V1_5_SIG + "-" + Registry.MD2_HASH, ASN1); testCodec(harness, Registry.RSA_PKCS1_V1_5_SIG + "-" + Registry.MD5_HASH, ASN1); testCodec(harness, Registry.RSA_PKCS1_V1_5_SIG + "-" + Registry.SHA160_HASH, ASN1); testCodec(harness, Registry.RSA_PKCS1_V1_5_SIG + "-" + Registry.SHA256_HASH, ASN1); testCodec(harness, Registry.RSA_PKCS1_V1_5_SIG + "-" + Registry.SHA384_HASH, ASN1); testCodec(harness, Registry.RSA_PKCS1_V1_5_SIG + "-" + Registry.SHA512_HASH, ASN1); } private void setUp() { HashMap map = new HashMap(); map.put(RSAKeyPairGenerator.MODULUS_LENGTH, new Integer(1024)); RSAKeyPairGenerator kpg = new RSAKeyPairGenerator(); kpg.setup(map); KeyPair kp = kpg.generate(); pubK = (RSAPublicKey) kp.getPublic(); secK = (RSAPrivateKey) kp.getPrivate(); } private void testCodec(TestHarness harness, String sigName, String format) { harness.checkPoint("Signature codec " + sigName + "/" + format); ISignature alice = SignatureFactory.getInstance(sigName); ISignature bob = (ISignature) alice.clone(); ISignatureCodec codec = SignatureCodecFactory.getInstance(sigName, format); HashMap map = new HashMap(); map.put(BaseSignature.SIGNER_KEY, secK); alice.setupSign(map); alice.update(MESSAGE, 0, MESSAGE.length); Object signature = alice.sign(); byte[] encodedSignature = codec.encodeSignature(signature); Object decodedSignature = codec.decodeSignature(encodedSignature); map.put(BaseSignature.VERIFIER_KEY, pubK); bob.setupVerify(map); bob.update(MESSAGE, 0, MESSAGE.length); harness.check(bob.verify(decodedSignature)); } }mauve-20140821/gnu/testlet/gnu/java/security/sig/dss/0000755000175000001440000000000012375316426021167 5ustar dokousersmauve-20140821/gnu/testlet/gnu/java/security/sig/dss/TestOfDSSSignatureCodec.java0000644000175000001440000001231110442754412026420 0ustar dokousers/* TestOfDSSSignatureCodec.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.sig.dss; import gnu.java.security.Registry; import gnu.java.security.key.dss.DSSPrivateKey; import gnu.java.security.key.dss.DSSPublicKey; import gnu.java.security.sig.BaseSignature; import gnu.java.security.sig.ISignatureCodec; import gnu.java.security.sig.dss.DSSSignature; import gnu.java.security.sig.dss.DSSSignatureRawCodec; import gnu.java.security.sig.dss.DSSSignatureX509Codec; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.math.BigInteger; import java.security.interfaces.DSAPrivateKey; import java.security.interfaces.DSAPublicKey; import java.util.HashMap; /** * Conformance tests for the DSS signature format encoding/decoding * implementation. */ public class TestOfDSSSignatureCodec implements Testlet { /** Common DSA key material - p. */ private static final BigInteger p = new BigInteger( "fd7f53811d75122952df4a9c2eece4e7f611b7523cef4400c31e3f80b6512669455d4" + "02251fb593d8d58fabfc5f5ba30f6cb9b556cd7813b801d346ff26660b76b9950a5" + "a49f9fe8047b1022c24fbba9d7feb7c61bf83b57e7c6a8a6150f04fb83f6d3c51ec" + "3023554135a169132f675f3ae2b61d72aeff22203199dd14801c7", 16); /** Common DSA key material - q. */ private static final BigInteger q = new BigInteger( "9760508f15230bccb292b982a2eb840bf0581cf5", 16); /** Common DSA key material - g. */ private static final BigInteger g = new BigInteger( "f7e1a085d69b3ddecbbcab5c36b857b97994afbbfa3aea82f9574c0b3d07826751595" + "78ebad4594fe67107108180b449167123e84c281613b7cf09328cc8a6e13c167a8b" + "547c8d28e0a3ae1e2bb3a675916ea37f0bfa213562f1fb627a01243bcca4f1bea85" + "19089a883dfe15ae59f06928b665e807b552564014c3bfecf492a", 16); /** Public DSA key part. */ private static final BigInteger x = new BigInteger( "631305a19984821b95a8c776d38167a4ea2ceb8", 16); /** Private DSA key part. */ private static final BigInteger y = new BigInteger( "cc1045a7550205a581ec3a9fed50c6d4aaae9ef2512c066f0d52617e0d462895c00bd" + "f2d329c53a9c0f690e406d49e21beb557d47436df9cdda5ad2f532620a5260704c5" + "91920ff674666e2166066727051f3d515aedf03a4bdb2d69dd13bbd9b5e7941ff37" + "fb35f2d9138b4172e64393b04afdcc630739fbe6993f27f467e17", 16); /** The DSA public key. */ private DSAPublicKey publicK; /** The DSA private key. */ private DSAPrivateKey privateK; public void test(TestHarness harness) { testSignatureRawCodec(harness); testSignatureASN1Codec(harness); } public void testSignatureRawCodec(TestHarness harness) { harness.checkPoint("testSignatureRawCodec"); setUp(); DSSSignature alice = new DSSSignature(); DSSSignature bob = (DSSSignature) alice.clone(); byte[] message = "1 if by land, 2 if by sea...".getBytes(); HashMap map = new HashMap(); map.put(BaseSignature.SIGNER_KEY, privateK); alice.setupSign(map); alice.update(message, 0, message.length); Object signature = alice.sign(); ISignatureCodec codec = new DSSSignatureRawCodec(); byte[] encodedSignature = codec.encodeSignature(signature); Object decodedSignature = codec.decodeSignature(encodedSignature); map.put(BaseSignature.VERIFIER_KEY, publicK); bob.setupVerify(map); bob.update(message, 0, message.length); harness.check(bob.verify(decodedSignature), "Signature Raw encoder/decoder test"); } private void testSignatureASN1Codec(TestHarness harness) { harness.checkPoint("testSignatureASN1Codec"); setUp(); DSSSignature alice = new DSSSignature(); DSSSignature bob = (DSSSignature) alice.clone(); byte[] message = "1 if by land, 2 if by sea...".getBytes(); HashMap map = new HashMap(); map.put(BaseSignature.SIGNER_KEY, privateK); alice.setupSign(map); alice.update(message, 0, message.length); Object signature = alice.sign(); ISignatureCodec codec = new DSSSignatureX509Codec(); byte[] encodedSignature = codec.encodeSignature(signature); Object decodedSignature = codec.decodeSignature(encodedSignature); map.put(BaseSignature.VERIFIER_KEY, publicK); bob.setupVerify(map); bob.update(message, 0, message.length); harness.check(bob.verify(decodedSignature), "Signature X.509 encoder/decoder test"); } private void setUp() { publicK = new DSSPublicKey(Registry.ASN1_ENCODING_ID, p, q, g, y); privateK = new DSSPrivateKey(Registry.ASN1_ENCODING_ID, p, q, g, x); } }mauve-20140821/gnu/testlet/gnu/java/security/sig/dss/TestOfDSSSignature.java0000644000175000001440000000773310442754412025476 0ustar dokousers/* TestOfDSSSignature.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.java.security.sig.dss; import gnu.java.security.Registry; import gnu.java.security.hash.IMessageDigest; import gnu.java.security.hash.Sha160; import gnu.java.security.key.dss.DSSPrivateKey; import gnu.java.security.key.dss.DSSPublicKey; import gnu.java.security.sig.BaseSignature; import gnu.java.security.sig.dss.DSSSignature; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.math.BigInteger; import java.security.interfaces.DSAPrivateKey; import java.security.interfaces.DSAPublicKey; import java.util.HashMap; /** * Conformance tests for the DSS signature generation/verification * implementation. */ public class TestOfDSSSignature implements Testlet { /** Common DSA key material - p. */ private static final BigInteger p = new BigInteger( "fd7f53811d75122952df4a9c2eece4e7f611b7523cef4400c31e3f80b6512669455d4" + "02251fb593d8d58fabfc5f5ba30f6cb9b556cd7813b801d346ff26660b76b9950a5" + "a49f9fe8047b1022c24fbba9d7feb7c61bf83b57e7c6a8a6150f04fb83f6d3c51ec" + "3023554135a169132f675f3ae2b61d72aeff22203199dd14801c7", 16); /** Common DSA key material - q. */ private static final BigInteger q = new BigInteger( "9760508f15230bccb292b982a2eb840bf0581cf5", 16); /** Common DSA key material - g. */ private static final BigInteger g = new BigInteger( "f7e1a085d69b3ddecbbcab5c36b857b97994afbbfa3aea82f9574c0b3d07826751595" + "78ebad4594fe67107108180b449167123e84c281613b7cf09328cc8a6e13c167a8b" + "547c8d28e0a3ae1e2bb3a675916ea37f0bfa213562f1fb627a01243bcca4f1bea85" + "19089a883dfe15ae59f06928b665e807b552564014c3bfecf492a", 16); /** Public DSA key part. */ private static final BigInteger x = new BigInteger( "631305a19984821b95a8c776d38167a4ea2ceb8", 16); /** Private DSA key part. */ private static final BigInteger y = new BigInteger( "cc1045a7550205a581ec3a9fed50c6d4aaae9ef2512c066f0d52617e0d462895c00bd" + "f2d329c53a9c0f690e406d49e21beb557d47436df9cdda5ad2f532620a5260704c5" + "91920ff674666e2166066727051f3d515aedf03a4bdb2d69dd13bbd9b5e7941ff37" + "fb35f2d9138b4172e64393b04afdcc630739fbe6993f27f467e17", 16); public void test(TestHarness harness) { harness.checkPoint("TestOfDSSSignature"); DSAPublicKey publicK = new DSSPublicKey(Registry.ASN1_ENCODING_ID, p, q, g, y); DSAPrivateKey privateK = new DSSPrivateKey(Registry.ASN1_ENCODING_ID, p, q, g, x); DSSSignature alice = new DSSSignature(); DSSSignature bob = (DSSSignature) alice.clone(); byte[] message = "1 if by land, 2 if by sea...".getBytes(); HashMap map = new HashMap(); map.put(BaseSignature.SIGNER_KEY, privateK); alice.setupSign(map); alice.update(message, 0, message.length); Object signature = alice.sign(); map.put(BaseSignature.VERIFIER_KEY, publicK); bob.setupVerify(map); bob.update(message, 0, message.length); harness.check(bob.verify(signature), "instance methods"); IMessageDigest sha = new Sha160(); sha.update(message, 0, message.length); byte[] hash = sha.digest(); BigInteger[] rs = DSSSignature.sign(privateK, hash); harness.check(DSSSignature.verify(publicK, hash, rs), "class methods"); } }mauve-20140821/gnu/testlet/gnu/javax/0000755000175000001440000000000012375316426016135 5ustar dokousersmauve-20140821/gnu/testlet/gnu/javax/crypto/0000755000175000001440000000000012375316426017455 5ustar dokousersmauve-20140821/gnu/testlet/gnu/javax/crypto/assembly/0000755000175000001440000000000012375316426021274 5ustar dokousersmauve-20140821/gnu/testlet/gnu/javax/crypto/assembly/TestOfAssembly.java0000644000175000001440000001262210367014266025042 0ustar dokousers/* TestOfAssembly.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.assembly; import gnu.java.security.Registry; import gnu.javax.crypto.assembly.Assembly; import gnu.javax.crypto.assembly.Cascade; import gnu.javax.crypto.assembly.Direction; import gnu.javax.crypto.assembly.Stage; import gnu.javax.crypto.assembly.Transformer; import gnu.javax.crypto.assembly.TransformerException; import gnu.javax.crypto.cipher.Blowfish; import gnu.javax.crypto.cipher.IBlockCipher; import gnu.javax.crypto.mode.IMode; import gnu.javax.crypto.mode.ModeFactory; import gnu.javax.crypto.pad.IPad; import gnu.javax.crypto.pad.PadFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.ByteArrayOutputStream; import java.util.Arrays; import java.util.HashMap; /** * Simple symmetry tests for 3 assembly constructions. */ public class TestOfAssembly implements Testlet { private Assembly asm; private HashMap attributes = new HashMap(); private HashMap modeAttributes = new HashMap(); public TestOfAssembly() { super(); } public void test(TestHarness harness) { TestOfAssembly testcase = new TestOfAssembly(); // build an OFB-Blowfish cascade Cascade ofbBlowfish = new Cascade(); Object modeNdx = ofbBlowfish.append(Stage.getInstance( ModeFactory.getInstance( Registry.OFB_MODE, new Blowfish(), 8), Direction.FORWARD)); testcase.attributes.put(modeNdx, testcase.modeAttributes); IPad pkcs7 = PadFactory.getInstance(Registry.PKCS7_PAD); testcase.asm = new Assembly(); testcase.asm.addPreTransformer(Transformer.getCascadeTransformer(ofbBlowfish)); testcase.asm.addPreTransformer(Transformer.getPaddingTransformer(pkcs7)); testcase.testSymmetry(harness, 1); // add a compression transformer. // the resulting assembly encrypts + pad first and compresses later // testcase.asm = new Assembly(); // testcase.asm.addPreTransformer(Transformer.getCascadeTransformer(ofbBlowfish)); // testcase.asm.addPreTransformer(Transformer.getPaddingTransformer(pkcs7)); testcase.asm.addPostTransformer(Transformer.getDeflateTransformer()); testcase.testSymmetry(harness, 2); // now build an assembly that compresses first and encrypts + pads later testcase.asm = new Assembly(); testcase.asm.addPreTransformer(Transformer.getCascadeTransformer(ofbBlowfish)); testcase.asm.addPreTransformer(Transformer.getPaddingTransformer(pkcs7)); testcase.asm.addPreTransformer(Transformer.getDeflateTransformer()); testcase.testSymmetry(harness, 3); } private void testSymmetry(TestHarness harness, int ndx) { harness.checkPoint("TestOfAssembly.testSymmetry#" + ndx); byte[] km = new byte[] { 0, 1, 2, 3, 4, 5, 6, 7, 8 }; byte[] iv = new byte[] { -1, -2, -3, -4, -5, -6, -7, -8, -9 }; byte[] pt = new byte[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 }; byte[] tpt = new byte[11 * pt.length]; // forward modeAttributes.put(IBlockCipher.KEY_MATERIAL, km); modeAttributes.put(IMode.IV, iv); attributes.put(Assembly.DIRECTION, Direction.FORWARD); try { asm.init(attributes); } catch (TransformerException x) { harness.debug(x); harness.fail("Forward initialisation"); return; } byte[] ct = null; ByteArrayOutputStream baos = new ByteArrayOutputStream(); try { for (int i = 0; i < 10; i++) { // transform in parts of 12-byte a time System.arraycopy(pt, 0, tpt, i * pt.length, pt.length); ct = asm.update(pt); baos.write(ct, 0, ct.length); } } catch (TransformerException x) { harness.debug(x); harness.fail("Forward transformation"); return; } try { System.arraycopy(pt, 0, tpt, 10 * pt.length, pt.length); ct = asm.lastUpdate(pt); } catch (TransformerException x) { harness.debug(x); harness.fail("Forward last transformation"); return; } baos.write(ct, 0, ct.length); ct = baos.toByteArray(); // reversed attributes.put(Assembly.DIRECTION, Direction.REVERSED); try { asm.init(attributes); } catch (TransformerException x) { harness.debug(x); harness.fail("Reverse initialisation"); return; } byte[] ot; try { ot = asm.lastUpdate(ct); // transform the lot in one go } catch (TransformerException x) { harness.debug(x); harness.fail("Reverse transformation"); return; } harness.check(Arrays.equals(ot, tpt), "symmetric test"); } }mauve-20140821/gnu/testlet/gnu/javax/crypto/assembly/TestOfCascade.java0000644000175000001440000001511410367014266024605 0ustar dokousers/* TestOfCascade.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.assembly; import gnu.java.security.Registry; import gnu.java.security.util.Util; import gnu.javax.crypto.assembly.Cascade; import gnu.javax.crypto.assembly.Direction; import gnu.javax.crypto.assembly.Stage; import gnu.javax.crypto.cipher.IBlockCipher; import gnu.javax.crypto.cipher.DES; import gnu.javax.crypto.cipher.TripleDES; import gnu.javax.crypto.mode.ModeFactory; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.security.InvalidKeyException; import java.util.Arrays; import java.util.HashMap; /** * Simple test of {@link Cascade} that simulates a DES-EDE constructed from * three separate DES instances. */ public class TestOfCascade implements Testlet { /** The ECB encryption monte-carlo tests. */ static final String[][] E_TV = { // key bytes // plain bytes cipher bytes { "0123456789abcdef", "0123456789abcdef", "0123456789abcdef", "4e6f772069732074", "6a2a19f41eca854b" }, { "0123456789abcdef", "23456789abcdef01", "0123456789abcdef", "4e6f772069732074", "03e69f5bfa58eb42" }, { "0123456789abcdef", "23456789abcdef01", "456789abcdef0123", "4e6f772069732074", "dd17e8b8b437d232" }, { "6b085d92976149a4", "6b085d92976149a4", "6b085d92976149a4", "6a2a19f41eca854b", "ce5d6c7b63177c18" }, { "02c4da3d73f226ad", "1cbce0f2bacd3b15", "02c4da3d73f226ad", "03e69f5bfa58eb42", "262a60f9743e1fd8" }, { "dc34addf3d9d1fdc", "976d456702cef4fd", "ad49c2ba0b2f975b", "dd17e8b8b437d232", "3145bcfc1c19382f" } }; /** The ECB decryption monte-carlo tests. */ static final String[][] D_TV = { { "0123456789abcdef", "0123456789abcdef", "0123456789abcdef", "4e6f772069732074", "cdd64f2f9427c15d" }, { "0123456789abcdef", "23456789abcdef01", "0123456789abcdef", "4e6f772069732074", "6996c8fa47a2abeb" }, { "0123456789abcdef", "23456789abcdef01", "456789abcdef0123", "4e6f772069732074", "8325397644091a0a" }, { "cdf40b491c8c0db3", "cdf40b491c8c0db3", "cdf40b491c8c0db3", "cdd64f2f9427c15d", "5bb675e3db3a7f3b" }, { "68b58c9dce086704", "529dce3719e9e0da", "68b58c9dce086704", "6996c8fa47a2abeb", "6b177e016e6ae12d" }, { "83077c10cda2d6e5", "296240fd8c834fcd", "8fdac4fbe5ae978f", "8325397644091a0a", "c67901abdc008c89" } }; public void test(TestHarness harness) { harness.checkPoint("TestOfCascade"); byte[] pt, ct; byte[] ct1 = new byte[8]; byte[] ct2 = new byte[8]; HashMap map = new HashMap(); IBlockCipher desEDE = new TripleDES(); HashMap map1 = new HashMap(); HashMap map2 = new HashMap(); HashMap map3 = new HashMap(); Cascade new3DES = new Cascade(); Object des1 = new3DES.append(Stage.getInstance( ModeFactory.getInstance( Registry.ECB_MODE, new DES(), 8), Direction.FORWARD)); Object des2 = new3DES.append(Stage.getInstance( ModeFactory.getInstance( Registry.ECB_MODE, new DES(), 8), Direction.REVERSED)); Object des3 = new3DES.append(Stage.getInstance( ModeFactory.getInstance( Registry.ECB_MODE, new DES(), 8), Direction.FORWARD)); map.put(des1, map1); map.put(des2, map2); map.put(des3, map3); for (int i = 0; i < E_TV.length; i++) { map1.put(IBlockCipher.KEY_MATERIAL, Util.toBytesFromString(E_TV[i][0])); map2.put(IBlockCipher.KEY_MATERIAL, Util.toBytesFromString(E_TV[i][1])); map3.put(IBlockCipher.KEY_MATERIAL, Util.toBytesFromString(E_TV[i][2])); map.put(IBlockCipher.KEY_MATERIAL, Util.toBytesFromString(E_TV[i][0] + E_TV[i][1] + E_TV[i][2])); map.put(Cascade.DIRECTION, Direction.FORWARD); pt = Util.toBytesFromString(E_TV[i][3]); ct = Util.toBytesFromString(E_TV[i][4]); try { desEDE.reset(); new3DES.reset(); desEDE.init(map); new3DES.init(map); desEDE.encryptBlock(pt, 0, ct1, 0); new3DES.update(pt, 0, ct2, 0); harness.check(Arrays.equals(ct1, ct2)); for (int j = 0; j < 9999; j++) { desEDE.encryptBlock(ct1, 0, ct1, 0); new3DES.update(ct2, 0, ct2, 0); } harness.check(Arrays.equals(ct, ct1)); harness.check(Arrays.equals(ct, ct2)); } catch (InvalidKeyException x) { harness.fail("init (encryption)"); harness.debug(x); } } for (int i = 0; i < D_TV.length; i++) { map1.put(IBlockCipher.KEY_MATERIAL, Util.toBytesFromString(D_TV[i][0])); map2.put(IBlockCipher.KEY_MATERIAL, Util.toBytesFromString(D_TV[i][1])); map3.put(IBlockCipher.KEY_MATERIAL, Util.toBytesFromString(D_TV[i][2])); map.put(IBlockCipher.KEY_MATERIAL, Util.toBytesFromString(D_TV[i][0] + D_TV[i][1] + D_TV[i][2])); map.put(Cascade.DIRECTION, Direction.REVERSED); pt = Util.toBytesFromString(D_TV[i][3]); ct = Util.toBytesFromString(D_TV[i][4]); try { desEDE.reset(); new3DES.reset(); desEDE.init(map); new3DES.init(map); desEDE.decryptBlock(pt, 0, ct1, 0); new3DES.update(pt, 0, ct2, 0); harness.check(Arrays.equals(ct1, ct2)); for (int j = 0; j < 9999; j++) { desEDE.decryptBlock(ct1, 0, ct1, 0); new3DES.update(ct2, 0, ct2, 0); } harness.check(Arrays.equals(ct, ct1)); harness.check(Arrays.equals(ct, ct2)); } catch (InvalidKeyException x) { harness.fail("init (decryption)"); harness.debug(x); } } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/jce/0000755000175000001440000000000012375316426020216 5ustar dokousersmauve-20140821/gnu/testlet/gnu/javax/crypto/jce/TestOfTripleDESParityAdjustment.java0000644000175000001440000000264010456323517027230 0ustar dokousers/* TestOfTripleDESParityAdjustment.java Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.jce; import gnu.javax.crypto.cipher.TripleDES; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Conformance tests for DES and TripleDES key parity adjustment methods. */ public class TestOfTripleDESParityAdjustment implements Testlet { public void test(TestHarness harness) { harness.checkPoint("test()"); byte[] kBytes = new byte[24]; for (int i = 0; i < kBytes.length; i++) kBytes[i] = (byte)(i + 1); TripleDES.adjustParity(kBytes, 0); harness.check(TripleDES.isParityAdjusted(kBytes, 0), "Parity MUST be adjusted"); } } mauve-20140821/gnu/testlet/gnu/javax/crypto/jce/TestOfPR25981.java0000644000175000001440000000315010367014266023133 0ustar dokousers/* TestOfPR25981.java Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.jce; import gnu.javax.crypto.jce.GnuCrypto; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.Security; import javax.crypto.KeyGenerator; /** * Regression test for PR Classpath/25981 */ public class TestOfPR25981 implements Testlet { /* (non-Javadoc) * @see gnu.testlet.Testlet#test(gnu.testlet.TestHarness) */ public void test(TestHarness harness) { harness.checkPoint("TestOfPR25981"); setUp(); try { KeyGenerator kgen = KeyGenerator.getInstance("AES"); harness.check(kgen != null, "AES KeyGenerator MUST be available"); } catch (Exception x) { harness.debug(x); harness.fail("test(): " + String.valueOf(x)); } } private void setUp() { Security.addProvider(new GnuCrypto()); } } mauve-20140821/gnu/testlet/gnu/javax/crypto/jce/TestOfPR27228.java0000644000175000001440000000463410461123445023132 0ustar dokousers/* TestOfPR27228.java Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.jce; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.math.BigInteger; import java.security.KeyPairGenerator; import javax.crypto.spec.DHParameterSpec; /** * Regression test for PR Classpath/27228. */ public class TestOfPR27228 implements Testlet { public void test(TestHarness harness) { harness.checkPoint("TestOfPR27228()"); try { KeyPairGenerator myKpairGen = KeyPairGenerator.getInstance("DH"); BigInteger p = new BigInteger("17976931348623159077083915679378745319786" + "029604875601170644442368419718021615851" + "936894783379586492554150218056548598050" + "364644054819923910005079287700335581663" + "922955313623907650873575991482257486257" + "500742530207744771258955095793777842444" + "242661733472762929938766870920560605027" + "0810842907692932019128194467627007"); BigInteger g = new BigInteger("2"); DHParameterSpec dhSkipParamSpec = new DHParameterSpec(p, g); myKpairGen.initialize(dhSkipParamSpec); harness.check(true, "MUST be able to initialize a DH key-pair generator from a " + "DHParameterSpec"); myKpairGen.generateKeyPair(); harness.check(true, "MUST be able to generate a DH key-pair"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfPR27228(): " + x); } } } mauve-20140821/gnu/testlet/gnu/javax/crypto/jce/TestOfCipherWrapUnwrap.java0000644000175000001440000003300310456323517025443 0ustar dokousers/* TestOfCipherWrapUnwrap.java Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.jce; import gnu.javax.crypto.cipher.TripleDES; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.InvalidKeyException; import java.security.Key; import java.security.NoSuchAlgorithmException; import java.util.Arrays; import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; /** * Conformance tests for the JCE KeyWrappingAlgorithmAdapter methods and * concrete implementations. */ public class TestOfCipherWrapUnwrap implements Testlet { private static final byte[] KM128 = new byte[] { (byte) 0x00, (byte) 0x11, (byte) 0x22, (byte) 0x33, (byte) 0x44, (byte) 0x55, (byte) 0x66, (byte) 0x77, (byte) 0x88, (byte) 0x99, (byte) 0xAA, (byte) 0xBB, (byte) 0xCC, (byte) 0xDD, (byte) 0xEE, (byte) 0xFF }; private static final byte[] KM128_WRAPPED128 = new byte[] { (byte) 0x1F, (byte) 0xA6, (byte) 0x8B, (byte) 0x0A, (byte) 0x81, (byte) 0x12, (byte) 0xB4, (byte) 0x47, (byte) 0xAE, (byte) 0xF3, (byte) 0x4B, (byte) 0xD8, (byte) 0xFB, (byte) 0x5A, (byte) 0x7B, (byte) 0x82, (byte) 0x9D, (byte) 0x3E, (byte) 0x86, (byte) 0x23, (byte) 0x71, (byte) 0xD2, (byte) 0xCF, (byte) 0xE5 }; private static final byte[] KM192 = new byte[] { (byte) 0x00, (byte) 0x11, (byte) 0x22, (byte) 0x33, (byte) 0x44, (byte) 0x55, (byte) 0x66, (byte) 0x77, (byte) 0x88, (byte) 0x99, (byte) 0xAA, (byte) 0xBB, (byte) 0xCC, (byte) 0xDD, (byte) 0xEE, (byte) 0xFF, (byte) 0x00, (byte) 0x01, (byte) 0x02, (byte) 0x03, (byte) 0x04, (byte) 0x05, (byte) 0x06, (byte) 0x07 }; private static final byte[] KM192_WRAPPED192 = new byte[] { (byte) 0x03, (byte) 0x1D, (byte) 0x33, (byte) 0x26, (byte) 0x4E, (byte) 0x15, (byte) 0xD3, (byte) 0x32, (byte) 0x68, (byte) 0xF2, (byte) 0x4E, (byte) 0xC2, (byte) 0x60, (byte) 0x74, (byte) 0x3E, (byte) 0xDC, (byte) 0xE1, (byte) 0xC6, (byte) 0xC7, (byte) 0xDD, (byte) 0xEE, (byte) 0x72, (byte) 0x5A, (byte) 0x93, (byte) 0x6B, (byte) 0xA8, (byte) 0x14, (byte) 0x91, (byte) 0x5C, (byte) 0x67, (byte) 0x62, (byte) 0xD2 }; private static final byte[] KM256 = new byte[] { (byte) 0x00, (byte) 0x11, (byte) 0x22, (byte) 0x33, (byte) 0x44, (byte) 0x55, (byte) 0x66, (byte) 0x77, (byte) 0x88, (byte) 0x99, (byte) 0xAA, (byte) 0xBB, (byte) 0xCC, (byte) 0xDD, (byte) 0xEE, (byte) 0xFF, (byte) 0x00, (byte) 0x01, (byte) 0x02, (byte) 0x03, (byte) 0x04, (byte) 0x05, (byte) 0x06, (byte) 0x07, (byte) 0x08, (byte) 0x09, (byte) 0x0A, (byte) 0x0B, (byte) 0x0C, (byte) 0x0D, (byte) 0x0E, (byte) 0x0F }; private static final byte[] KM256_WRAPPED256 = new byte[] { (byte) 0x28, (byte) 0xC9, (byte) 0xF4, (byte) 0x04, (byte) 0xC4, (byte) 0xB8, (byte) 0x10, (byte) 0xF4, (byte) 0xCB, (byte) 0xCC, (byte) 0xB3, (byte) 0x5C, (byte) 0xFB, (byte) 0x87, (byte) 0xF8, (byte) 0x26, (byte) 0x3F, (byte) 0x57, (byte) 0x86, (byte) 0xE2, (byte) 0xD8, (byte) 0x0E, (byte) 0xD3, (byte) 0x26, (byte) 0xCB, (byte) 0xC7, (byte) 0xF0, (byte) 0xE7, (byte) 0x1A, (byte) 0x99, (byte) 0xF4, (byte) 0x3B, (byte) 0xFB, (byte) 0x98, (byte) 0x8B, (byte) 0x9B, (byte) 0x7A, (byte) 0x02, (byte) 0xDD, (byte) 0x21 }; public void test(TestHarness harness) { testNames(harness); testMethods(harness); testAES128Wrap(harness); testAES192Wrap(harness); testAES256Wrap(harness); testTripleDESWrap(harness); } private void testNames(TestHarness harness) { harness.checkPoint("testNames()"); try { String transform; transform = "kw-aes128"; harness.check(mustInstantiate(harness, transform), "MUST instantiate " + transform); transform += "/ecb/nopadding"; harness.check(mustInstantiate(harness, transform), "MUST instantiate " + transform); transform = "kw-aes192"; harness.check(mustInstantiate(harness, transform), "MUST instantiate " + transform); transform += "/ecb/nopadding"; harness.check(mustInstantiate(harness, transform), "MUST instantiate " + transform); transform = "kw-aes256"; harness.check(mustInstantiate(harness, transform), "MUST instantiate " + transform); transform += "/ecb/nopadding"; harness.check(mustInstantiate(harness, transform), "MUST instantiate " + transform); transform = "kw-tripledes"; harness.check(mustInstantiate(harness, transform), "MUST instantiate " + transform); transform += "/cbc/nopadding"; harness.check(mustInstantiate(harness, transform), "MUST instantiate " + transform); transform = "kw-aes128/cbc/nopadding"; harness.check(mustNotInstantiate(harness, transform), "MUST NOT instantiate " + transform); transform = "kw-aes192/cbc/nopadding"; harness.check(mustNotInstantiate(harness, transform), "MUST NOT instantiate " + transform); transform = "kw-aes256/cbc/nopadding"; harness.check(mustNotInstantiate(harness, transform), "MUST NOT instantiate " + transform); transform = "kw-tripledes/ecb/nopadding"; harness.check(mustNotInstantiate(harness, transform), "MUST NOT instantiate " + transform); } catch (Exception x) { harness.debug(x); harness.fail("testNames(): " + x); } } private void testMethods(TestHarness harness) { harness.checkPoint("testMethods()"); try { Cipher kwa = Cipher.getInstance("kw-aes128"); SecretKeySpec kek128 = new SecretKeySpec(new byte[16], "AES"); SecretKeySpec kek192 = new SecretKeySpec(new byte[24], "AES"); String msg; msg = "MUST NOT be able to call init() with a KEK > algorithm's key-size"; try { kwa.init(Cipher.WRAP_MODE, kek192); harness.fail(msg); } catch (InvalidKeyException x) { harness.check(true, msg); } msg = "MUST be able to call init() with the right key-size KEK"; try { kwa.init(Cipher.WRAP_MODE, kek128); harness.check(true, msg); } catch (RuntimeException x) { harness.fail(msg); } msg = "MUST be able to call getBlockSize()"; try { kwa.getBlockSize(); harness.check(true, msg); } catch (RuntimeException x) { harness.fail(msg); } msg = "MUST be able to call getIV()"; try { kwa.getIV(); harness.check(true, msg); } catch (RuntimeException x) { harness.fail(msg); } msg = "MUST NOT be able to call update()"; try { kwa.update(KM128); harness.fail(msg); } catch (RuntimeException x) { harness.check(true, msg); } SecretKeySpec km128 = new SecretKeySpec(KM128, "AES"); msg = "MUST be able to call wrap()"; byte[] cipherText = null; try { cipherText = kwa.wrap(km128); harness.check(true, msg); } catch (RuntimeException x) { harness.fail(msg); } kwa.init(Cipher.UNWRAP_MODE, kek128); msg = "MUST NOT be able to call unwrap() with a different 'wrappedKeyType'"; try { kwa.unwrap(cipherText, "AES", Cipher.PRIVATE_KEY); harness.fail(msg); } catch (NoSuchAlgorithmException x) { harness.check(true, msg); } } catch (Exception x) { harness.debug(x); harness.fail("testMethods(): " + x); } } private void testAES128Wrap(TestHarness harness) { harness.checkPoint("testAES128Wrap()"); try { Cipher kwa = Cipher.getInstance("kw-aes128"); byte[] kekBytes = new byte[16]; for (int i = 0; i < kekBytes.length; i++) kekBytes[i] = (byte) i; SecretKeySpec kek = new SecretKeySpec(kekBytes, "AES"); kwa.init(Cipher.WRAP_MODE, kek); SecretKeySpec km = new SecretKeySpec(KM128, "AES"); byte[] cipherText = kwa.wrap(km); harness.check(Arrays.equals(cipherText, KM128_WRAPPED128), "128-bit key material wrapped w/ 128-bit KEK MUST match " + "expected value"); kwa.init(Cipher.UNWRAP_MODE, kek); Key k = kwa.unwrap(cipherText, "AES", Cipher.SECRET_KEY); harness.check(km.equals(k), "Unwrapped and original key-material MUST match"); } catch (Exception x) { harness.debug(x); harness.fail("testAES128Wrap(): " + x); } } private void testAES192Wrap(TestHarness harness) { harness.checkPoint("testAES192Wrap()"); try { Cipher kwa = Cipher.getInstance("kw-aes192"); byte[] kekBytes = new byte[24]; for (int i = 0; i < kekBytes.length; i++) kekBytes[i] = (byte) i; SecretKeySpec kek = new SecretKeySpec(kekBytes, "AES"); kwa.init(Cipher.WRAP_MODE, kek); SecretKeySpec km = new SecretKeySpec(KM192, "AES"); byte[] cipherText = kwa.wrap(km); harness.check(Arrays.equals(cipherText, KM192_WRAPPED192), "192-bit key material wrapped w/ 192-bit KEK MUST match " + "expected value"); kwa.init(Cipher.UNWRAP_MODE, kek); Key k = kwa.unwrap(cipherText, "AES", Cipher.SECRET_KEY); harness.check(km.equals(k), "Unwrapped and original key-material MUST match"); } catch (Exception x) { harness.debug(x); harness.fail("testAES192Wrap(): " + x); } } private void testAES256Wrap(TestHarness harness) { harness.checkPoint("testAES256Wrap()"); try { Cipher kwa = Cipher.getInstance("kw-aes256"); byte[] kekBytes = new byte[32]; for (int i = 0; i < kekBytes.length; i++) kekBytes[i] = (byte) i; SecretKeySpec kek = new SecretKeySpec(kekBytes, "AES"); kwa.init(Cipher.WRAP_MODE, kek); SecretKeySpec km = new SecretKeySpec(KM256, "AES"); byte[] cipherText = kwa.wrap(km); harness.check(Arrays.equals(cipherText, KM256_WRAPPED256), "256-bit key material wrapped w/ 256-bit KEK MUST match " + "expected value"); kwa.init(Cipher.UNWRAP_MODE, kek); Key k = kwa.unwrap(cipherText, "AES", Cipher.SECRET_KEY); harness.check(km.equals(k), "Unwrapped and original key-material MUST match"); } catch (Exception x) { harness.debug(x); harness.fail("testAES256Wrap(): " + x); } } private void testTripleDESWrap(TestHarness harness) { harness.checkPoint("testTripleDESWrap()"); try { Cipher kwa = Cipher.getInstance("kw-tripledes"); byte[] kekBytes = new byte[24]; for (int i = 0; i < kekBytes.length; i++) kekBytes[i] = (byte) i; SecretKeySpec kek = new SecretKeySpec(kekBytes, "TripleDES"); kwa.init(Cipher.WRAP_MODE, kek); byte[] kmBytes = new byte[24]; for (int i = 0; i < kmBytes.length; i++) kmBytes[i] = (byte)(i + 1); SecretKeySpec km = new SecretKeySpec(kmBytes, "TripleDES"); byte[] cipherText = kwa.wrap(km); kwa.init(Cipher.UNWRAP_MODE, kek); Key k = kwa.unwrap(cipherText, "TripleDES", Cipher.SECRET_KEY); // key-unwrap ALWAYS returns a parity-adjusted (proper!) key TripleDES.adjustParity(kmBytes, 0); SecretKeySpec kmpa = new SecretKeySpec(kmBytes, "TripleDES"); harness.check(kmpa.equals(k), "Unwrapped and original key-material MUST match"); } catch (Exception x) { harness.debug(x); harness.fail("testTripleDESWrap(): " + x); } } private boolean mustInstantiate(TestHarness harness, String transform) { Cipher result = null; try { result = Cipher.getInstance(transform); } catch (Exception x) { harness.debug(x); } return result != null; } private boolean mustNotInstantiate(TestHarness harness, String transform) { Cipher result = null; try { result = Cipher.getInstance(transform); } catch (Exception x) { harness.debug(x); } return result == null; } } mauve-20140821/gnu/testlet/gnu/javax/crypto/jce/TestOfCipher.java0000644000175000001440000003077210442253612023417 0ustar dokousers/* TestOfCipher.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.jce; import gnu.java.security.Registry; import gnu.javax.crypto.cipher.CipherFactory; import gnu.javax.crypto.cipher.IBlockCipher; import gnu.javax.crypto.jce.GnuCrypto; import gnu.javax.crypto.mode.IMode; import gnu.javax.crypto.mode.ModeFactory; import gnu.javax.crypto.pad.IPad; import gnu.javax.crypto.pad.PadFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.Security; import java.util.Arrays; import java.util.HashMap; import java.util.Iterator; import javax.crypto.Cipher; import javax.crypto.IllegalBlockSizeException; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; /** * Conformance tests for the JCE Provider implementations of the Cipher SPI * classes. */ public class TestOfCipher implements Testlet { public void test(TestHarness harness) { setUp(); testUnknownCipher(harness); testEquality(harness); testPadding(harness); testPartial(harness); testDoFinal(harness); } /** Should fail with an unknown algorithm. */ public void testUnknownCipher(TestHarness harness) { harness.checkPoint("testUnknownCipher"); try { Cipher.getInstance("Godot", Registry.GNU_CRYPTO); harness.fail("testUnknownCipher()"); } catch (Exception x) { harness.check(true); } } /** * Tests if the result of using a cipher through gnu.crypto Factory classes * yields same value as using instances obtained the JCE way. */ public void testEquality(TestHarness harness) { harness.checkPoint("testEquality"); String cipherName = null, modeName; IMode gnu = null; Cipher jce = null; HashMap attrib = new HashMap(); byte[] pt = null; // byte[] iv = null; byte[] ct1 = null, ct2 = null; byte[] cpt1 = null, cpt2 = null; Iterator ci, mi; int bs; try { for (ci = CipherFactory.getNames().iterator(); ci.hasNext();) { cipherName = (String) ci.next(); IBlockCipher cipher = CipherFactory.getInstance(cipherName); bs = cipher.defaultBlockSize(); for (mi = ModeFactory.getNames().iterator(); mi.hasNext();) { modeName = (String) mi.next(); gnu = ModeFactory.getInstance(modeName, cipher, bs); jce = Cipher.getInstance(cipherName + "/" + modeName + "/NoPadding", Registry.GNU_CRYPTO); pt = new byte[bs]; for (int i = 0; i < bs; i++) { pt[i] = (byte) i; } attrib.put(IBlockCipher.CIPHER_BLOCK_SIZE, new Integer(bs)); attrib.put(IMode.IV, pt); for (Iterator ks = cipher.keySizes(); ks.hasNext();) { byte[] kb = new byte[((Integer) ks.next()).intValue()]; for (int i = 0; i < kb.length; i++) { kb[i] = (byte) i; } attrib.put(IMode.STATE, new Integer(IMode.ENCRYPTION)); attrib.put(IBlockCipher.KEY_MATERIAL, kb); gnu.reset(); gnu.init(attrib); ct1 = new byte[bs]; gnu.update(pt, 0, ct1, 0); jce.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(kb, cipherName), new IvParameterSpec(pt)); ct2 = new byte[bs]; jce.doFinal(pt, 0, bs, ct2, 0); harness.check(Arrays.equals(ct1, ct2), "testEquality(" + cipherName + ")"); attrib.put(IMode.STATE, new Integer(IMode.DECRYPTION)); cpt1 = new byte[bs]; gnu.reset(); gnu.init(attrib); gnu.update(ct1, 0, cpt1, 0); harness.check(Arrays.equals(pt, cpt1), "testEquality(" + cipherName + ")"); jce.init(Cipher.DECRYPT_MODE, new SecretKeySpec(kb, cipherName), new IvParameterSpec(pt)); cpt2 = new byte[bs]; jce.doFinal(ct2, 0, bs, cpt2, 0); harness.check(Arrays.equals(pt, cpt2), "testEquality(" + cipherName + ")"); harness.check(Arrays.equals(cpt1, cpt2), "testEquality(" + cipherName + ")"); } } } } catch (Exception x) { harness.debug(x); harness.fail("testEquality(" + cipherName + "): " + String.valueOf(x)); } } /** * Test that the padding results in the same cipher/plaintexts for instances * derived from both the GNU Factory and the JCE one. */ public void testPadding(TestHarness harness) { harness.checkPoint("testPadding"); String padName = null; IMode gnu = ModeFactory.getInstance("ECB", "AES", 16); IPad pad; Cipher jce; byte[] kb = new byte[32]; for (int i = 0; i < kb.length; i++) kb[i] = (byte) i; byte[] pt = new byte[42]; for (int i = 0; i < pt.length; i++) pt[i] = (byte) i; byte[] ppt = new byte[48]; // padded plaintext. System.arraycopy(pt, 0, ppt, 0, 42); byte[] ct1 = new byte[48], ct2 = new byte[48]; byte[] cpt1 = new byte[42], cpt2 = new byte[42]; HashMap attrib = new HashMap(); attrib.put(IBlockCipher.KEY_MATERIAL, kb); try { for (Iterator it = PadFactory.getNames().iterator(); it.hasNext();) { padName = (String) it.next(); // skip EME-PKCS1-V1.5 padding since it's not a true block cipher // padding algorithm if (padName.equalsIgnoreCase(Registry.EME_PKCS1_V1_5_PAD)) continue; pad = PadFactory.getInstance(padName); pad.reset(); pad.init(16); byte[] padding = pad.pad(pt, 0, pt.length); System.arraycopy(padding, 0, ppt, 42, padding.length); attrib.put(IMode.STATE, new Integer(IMode.ENCRYPTION)); gnu.reset(); gnu.init(attrib); for (int i = 0; i < ppt.length; i += 16) gnu.update(ppt, i, ct1, i); jce = Cipher.getInstance("AES/ECB/" + padName, Registry.GNU_CRYPTO); jce.init(Cipher.DECRYPT_MODE, new SecretKeySpec(kb, "AES")); jce.doFinal(ct1, 0, ct1.length, cpt1, 0); harness.check(Arrays.equals(pt, cpt1), "testPadding(" + padName + ")"); jce.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(kb, "AES")); jce.doFinal(pt, 0, pt.length, ct2, 0); attrib.put(IMode.STATE, new Integer(IMode.DECRYPTION)); gnu.reset(); gnu.init(attrib); byte[] pcpt = new byte[48]; for (int i = 0; i < ct2.length; i += 16) gnu.update(ct2, i, pcpt, i); int trim = pad.unpad(pcpt, 0, pcpt.length); System.arraycopy(pcpt, 0, cpt2, 0, pcpt.length - trim); harness.check(Arrays.equals(pt, cpt2), "testPadding(" + padName + ")"); } } catch (Exception x) { harness.debug(x); harness.fail("testPadding(" + padName + "): " + String.valueOf(x)); } } /** Test the update() methods with incomplete blocks. */ public void testPartial(TestHarness harness) { harness.checkPoint("testPartial"); String cipherName = null; Cipher full, part1, part2; IBlockCipher gnu; byte[] pt; byte[] kb; byte[] ct1, ct2, ct3, ct4; int i, blockSize; try { for (Iterator it = CipherFactory.getNames().iterator(); it.hasNext();) { cipherName = (String) it.next(); gnu = CipherFactory.getInstance(cipherName); full = Cipher.getInstance(cipherName, Registry.GNU_CRYPTO); part1 = Cipher.getInstance(cipherName, Registry.GNU_CRYPTO); part2 = Cipher.getInstance(cipherName, Registry.GNU_CRYPTO); // pt = new byte[gnu.defaultBlockSize()]; blockSize = gnu.defaultBlockSize(); pt = new byte[2 * blockSize]; for (i = 0; i < pt.length; i++) { pt[i] = (byte) i; } kb = new byte[gnu.defaultKeySize()]; for (i = 0; i < kb.length; i++) { kb[i] = (byte) i; } full.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(kb, cipherName)); // ct1 = full.doFinal(pt); ct1 = full.doFinal(pt, blockSize, blockSize); part1.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(kb, cipherName)); // for (i = 0; i < pt.length - 1; i++) { for (i = blockSize; i < pt.length - 1; i++) { part1.update(pt, i, 1); } ct2 = part1.doFinal(pt, i, 1); harness.check(Arrays.equals(ct1, ct2), "testPartial1(" + cipherName + ")"); // this is tricky: only the update of the last byte should return // a full block. also, the doFinal() should return an empty byte[] part2.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(kb, cipherName)); // for (i = 0; i < pt.length - 1; i++) { for (i = blockSize; i < pt.length - 1; i++) { part2.update(pt, i, 1); } ct3 = part2.update(pt, i, 1); harness.check(Arrays.equals(ct3, ct2), "testPartial2(" + cipherName + ")"); ct4 = part2.doFinal(); harness.check(ct4 != null && ct4.length == 0, "testPartial3(" + cipherName + ")"); } } catch (Exception x) { harness.debug(x); harness.fail("testPartial(" + cipherName + "): " + String.valueOf(x)); } } /** doFinal() with a short block and no padding should invariably fail. */ public void testDoFinal(TestHarness harness) { harness.checkPoint("testDoFinal"); String cipherName = null; Cipher jce; IBlockCipher gnu; byte[] pt; byte[] kb; Iterator it; for (it = CipherFactory.getNames().iterator(); it.hasNext();) { try { cipherName = (String) it.next(); gnu = CipherFactory.getInstance(cipherName); jce = Cipher.getInstance(cipherName, Registry.GNU_CRYPTO); pt = new byte[gnu.defaultBlockSize() - 1]; for (int i = 0; i < pt.length; i++) { pt[i] = (byte) i; } kb = new byte[gnu.defaultKeySize()]; for (int i = 0; i < kb.length; i++) { kb[i] = (byte) i; } jce.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(kb, cipherName)); jce.doFinal(pt); harness.fail("testDoFinal(" + cipherName + ")"); } catch (IllegalBlockSizeException ibse) { harness.check(true, "testDoFinal(" + cipherName + ")"); } catch (Exception x) { harness.debug(x); harness.fail("testDoFinal(" + cipherName + "): " + String.valueOf(x)); } } } private void setUp() { Security.addProvider(new GnuCrypto()); } }mauve-20140821/gnu/testlet/gnu/javax/crypto/jce/TestOfDHKeyAgreement2.java0000644000175000001440000002204310450455641025060 0ustar dokousers/* TestOfDHKeyAgreement2.java Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.jce; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.math.BigInteger; import java.security.AlgorithmParameters; import java.security.KeyFactory; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.PublicKey; import java.security.spec.X509EncodedKeySpec; import java.util.Arrays; import javax.crypto.Cipher; import javax.crypto.KeyAgreement; import javax.crypto.SecretKey; import javax.crypto.ShortBufferException; import javax.crypto.interfaces.DHPublicKey; import javax.crypto.spec.DHParameterSpec; /** * Conformance test, primarily for the Diffie-Hellman key exchange, but covers * other areas of the GNU JCE adapters classes. */ public class TestOfDHKeyAgreement2 implements Testlet { // 1024-bit Diffie-Hellman modulus value used in SKIP private static final byte skip1024ModulusBytes[] = { (byte) 0xF4, (byte) 0x88, (byte) 0xFD, (byte) 0x58, (byte) 0x4E, (byte) 0x49, (byte) 0xDB, (byte) 0xCD, (byte) 0x20, (byte) 0xB4, (byte) 0x9D, (byte) 0xE4, (byte) 0x91, (byte) 0x07, (byte) 0x36, (byte) 0x6B, (byte) 0x33, (byte) 0x6C, (byte) 0x38, (byte) 0x0D, (byte) 0x45, (byte) 0x1D, (byte) 0x0F, (byte) 0x7C, (byte) 0x88, (byte) 0xB3, (byte) 0x1C, (byte) 0x7C, (byte) 0x5B, (byte) 0x2D, (byte) 0x8E, (byte) 0xF6, (byte) 0xF3, (byte) 0xC9, (byte) 0x23, (byte) 0xC0, (byte) 0x43, (byte) 0xF0, (byte) 0xA5, (byte) 0x5B, (byte) 0x18, (byte) 0x8D, (byte) 0x8E, (byte) 0xBB, (byte) 0x55, (byte) 0x8C, (byte) 0xB8, (byte) 0x5D, (byte) 0x38, (byte) 0xD3, (byte) 0x34, (byte) 0xFD, (byte) 0x7C, (byte) 0x17, (byte) 0x57, (byte) 0x43, (byte) 0xA3, (byte) 0x1D, (byte) 0x18, (byte) 0x6C, (byte) 0xDE, (byte) 0x33, (byte) 0x21, (byte) 0x2C, (byte) 0xB5, (byte) 0x2A, (byte) 0xFF, (byte) 0x3C, (byte) 0xE1, (byte) 0xB1, (byte) 0x29, (byte) 0x40, (byte) 0x18, (byte) 0x11, (byte) 0x8D, (byte) 0x7C, (byte) 0x84, (byte) 0xA7, (byte) 0x0A, (byte) 0x72, (byte) 0xD6, (byte) 0x86, (byte) 0xC4, (byte) 0x03, (byte) 0x19, (byte) 0xC8, (byte) 0x07, (byte) 0x29, (byte) 0x7A, (byte) 0xCA, (byte) 0x95, (byte) 0x0C, (byte) 0xD9, (byte) 0x96, (byte) 0x9F, (byte) 0xAB, (byte) 0xD0, (byte) 0x0A, (byte) 0x50, (byte) 0x9B, (byte) 0x02, (byte) 0x46, (byte) 0xD3, (byte) 0x08, (byte) 0x3D, (byte) 0x66, (byte) 0xA4, (byte) 0x5D, (byte) 0x41, (byte) 0x9F, (byte) 0x9C, (byte) 0x7C, (byte) 0xBD, (byte) 0x89, (byte) 0x4B, (byte) 0x22, (byte) 0x19, (byte) 0x26, (byte) 0xBA, (byte) 0xAB, (byte) 0xA2, (byte) 0x5E, (byte) 0xC3, (byte) 0x55, (byte) 0xE9, (byte) 0x2F, (byte) 0x78, (byte) 0xC7 }; private static final BigInteger skip1024Modulus = new BigInteger(1, skip1024ModulusBytes); private static final BigInteger skip1024Base = BigInteger.valueOf(2L); private static final String CLEAR_TEXT = "This is just another example"; /* (non-Javadoc) * @see gnu.testlet.Testlet#test(gnu.testlet.TestHarness) */ public void test(TestHarness harness) { try { // Alice side DHParameterSpec spec1 = new DHParameterSpec(skip1024Modulus, skip1024Base); harness.verbose("*** Generating Alice's Diffie-Hellman key-pair"); KeyPairGenerator aliceKPG = KeyPairGenerator.getInstance("DH"); aliceKPG.initialize(spec1); KeyPair aliceKP = aliceKPG.generateKeyPair(); harness.verbose("*** Initializing Alice's Diffie-Hellman key-agreement"); KeyAgreement aliceKA = KeyAgreement.getInstance("DH"); aliceKA.init(aliceKP.getPrivate()); harness.verbose("*** Alice sends Bob her encoded key..."); byte[] alicePubKEnc = aliceKP.getPublic().getEncoded(); // Bob side KeyFactory bobKF = KeyFactory.getInstance("DH"); X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(alicePubKEnc); PublicKey alicePubK = bobKF.generatePublic(x509KeySpec); // Bob gets the DH parameters associated with Alice's public key. // He MUST use the same parameters when generating his own key-pair DHParameterSpec spec2 = ((DHPublicKey) alicePubK).getParams(); harness.verbose("*** Generating Bob's Diffie-Hellman key-pair"); KeyPairGenerator bobKPG = KeyPairGenerator.getInstance("DH"); bobKPG.initialize(spec2); KeyPair bobKP = bobKPG.generateKeyPair(); harness.verbose("*** Initializing Bob's Diffie-Hellman key-agreement"); KeyAgreement bobKA = KeyAgreement.getInstance("DH"); bobKA.init(bobKP.getPrivate()); harness.verbose("*** Bob sends Alice his encoded key..."); byte[] bobPubKEnc = bobKP.getPublic().getEncoded(); // Alice uses Bob's public key for the one and only phase of her // version of the DH protocol. Before she can do that, she has to // re-generate Bob's DH public key from his encoded key material KeyFactory aliceKF = KeyFactory.getInstance("DH"); x509KeySpec = new X509EncodedKeySpec(bobPubKEnc); PublicKey bobPubK = aliceKF.generatePublic(x509KeySpec); harness.verbose("*** Alice does phase #1"); aliceKA.doPhase(bobPubK, true); // Bob uses Alice's public key for the first and only phase of his // version of the DH protocol harness.verbose("*** Bob does phase #1"); bobKA.doPhase(alicePubK, true); // Both generate (hopefully) the same shared secret byte[] aliceSS = aliceKA.generateSecret(); int len = aliceSS.length; byte[] bobSS = new byte[len]; String msg = "generateSecret(byte[" + bobSS.length + "], 1) MUST throw ShortBufferException"; try // with a shorter buffer first! { bobKA.generateSecret(bobSS, 1); harness.fail(msg); } catch (ShortBufferException e) { harness.check(true, msg); } // now do it properly bobKA.generateSecret(bobSS, 0); harness.check(Arrays.equals(aliceSS, bobSS), "Shared secrets MUST be equal"); harness.verbose("*** Bob generates a new shared secret"); // The call to bobKA.generateSecret above resets the key-agreement // object, so we call doPhase() again before calling generateSecret() bobKA.doPhase(alicePubK, true); SecretKey bobSK = bobKA.generateSecret("DES"); harness.verbose("*** Alice generates a new shared secret"); aliceKA.doPhase(bobPubK, true); SecretKey aliceSK = aliceKA.generateSecret("DES"); harness.verbose("*** Bob sends Alice a DES/ECB encrypted message"); Cipher bobCipher = Cipher.getInstance("DES/ECB/PKCS5Padding"); bobCipher.init(Cipher.ENCRYPT_MODE, bobSK); byte[] cleartext = CLEAR_TEXT.getBytes(); byte[] ciphertext = bobCipher.doFinal(cleartext); // Alice decrypts, using DES in ECB mode Cipher aliceCipher = Cipher.getInstance("DES/ECB/PKCS5Padding"); aliceCipher.init(Cipher.DECRYPT_MODE, aliceSK); byte[] recovered = aliceCipher.doFinal(ciphertext); harness.check(Arrays.equals(cleartext, recovered), "DES/ECB recovered text and cleartext MUST be equal"); harness.verbose("*** Bob sends Alice a DES/CBC encrypted message"); bobCipher = Cipher.getInstance("DES/CBC/PKCS5Padding"); bobCipher.init(Cipher.ENCRYPT_MODE, bobSK); cleartext = CLEAR_TEXT.getBytes(); ciphertext = bobCipher.doFinal(cleartext); // Retrieve the parameter that was used, and transfer it to Alice byte[] encodedParams = bobCipher.getParameters().getEncoded(); // Alice decrypts, using DES in CBC mode AlgorithmParameters params = AlgorithmParameters.getInstance("DES"); params.init(encodedParams); aliceCipher = Cipher.getInstance("DES/CBC/PKCS5Padding"); aliceCipher.init(Cipher.DECRYPT_MODE, aliceSK, params); recovered = aliceCipher.doFinal(ciphertext); harness.check(Arrays.equals(cleartext, recovered), "DES/CBC recovered text and cleartext MUST be equal"); } catch (Exception x) { harness.debug(x); harness.fail(x.getMessage()); } } } mauve-20140821/gnu/testlet/gnu/javax/crypto/jce/TestOfPR27853.java0000644000175000001440000001050210442742665023137 0ustar dokousers/* TestOfPR27853.java Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.jce; import gnu.java.security.key.rsa.GnuRSAPrivateKey; import gnu.java.security.key.rsa.GnuRSAPublicKey; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.math.BigInteger; import java.security.PrivateKey; import java.security.PublicKey; import java.util.Arrays; import javax.crypto.Cipher; /** * Regression test for PR Classpath/27853 */ public class TestOfPR27853 implements Testlet { private static final BigInteger n = new BigInteger( "89a95ddd60ebb60c605160a1e3c8f3294614bc16e79ded40313074cde36fdc6bd2" + "abcd23de345de1afb97319884836f4d841dc4b8fb20c01be4a7176493ef02c02" + "44ab3e5f59fc0fc175a929a397641e4558847f5f2e02059a383cc5115697e2ac" + "018cda49ba79256e86cb0df8ba6e0bd3d4a07a8de26e5abde6b8fbf4af0be5", 16); private static final BigInteger e = new BigInteger("10001", 16); private static final BigInteger d = new BigInteger( "84220e17a4a4faeb6c341015b3e73906ffde7d1f5b182a16b860336d400629c350c" + "658b439df77d15d731ab88228169ff3475c2526fb162d4232802fb26477efbe9e" + "7a82cad1732aa2c0cc8196ff1c1426e047d9d028e93d3259991d82c689b10501a" + "46c04e0b70564143a44a1071bf2ac609a42ec9f9a4debb63802156ddc01", 16); private static final BigInteger p = new BigInteger( "8cc40f5197fbc656f3f299f0d9f0c6f6b0a31d8e893ea1050c179763f1faac4aba6" + "c45caf11e0a7ef4b51805877264709565692e2e1422a9344a962f6b72e8e5", 16); private static final BigInteger q = new BigInteger( "fa5ac0bbcdb4143ea94d7d68d5f45d24718235112c43e63fe04f792cb4c463cbbf4" + "9b70ca37c348b3047471419cd3d9ade3f65307c4c9ae3f2add3e766e86701", 16); private static final BigInteger dP = new BigInteger( "8b997c9fac9c52acb52d692184e1d64f9c09882c6d4ba12082477b29f1366a5b89d" + "a0ab522be6a2651c4aed7fce5a35a4baed0caad83e683eb89f4bb7e51ed49", 16); private static final BigInteger dQ = new BigInteger( "7d63a6d4691aa06921f2a5b53433c7d2d0e71e1d13c68e33bfed0e0bce1deebdc57" + "8ee2d6e546f1ca7798ba80da4360eb2f19d84c33cbaf7203cdfbd2e558801", 16); private static final BigInteger qInv = new BigInteger( "38be0ebc1cb06917cbcb3457f21dd8e2956eaf1d14039e845a0bed3adb1de5e5f6e" + "cb1da999fe408f441e635697ae47073cc6507105836c18c37b0aa49ab01e", 16); private static final String GNU = "GNU-CRYPTO"; private static String transformation = "RSA"; private static PublicKey publicK; private static PrivateKey privateK; private static Cipher cipher; /* (non-Javadoc) * @see gnu.testlet.Testlet#test(gnu.testlet.TestHarness) */ public void test(TestHarness harness) { harness.checkPoint("TestOfPR27853"); try { setUp(); byte[] pt1 = "Does this work?".getBytes("US-ASCII"); byte[] ct = encrypt(pt1); byte[] pt2 = decrypt(ct); harness.check(Arrays.equals(pt1, pt2), "Plain texts MUST be equal"); } catch (Exception x) { harness.debug(x); harness.fail("test(): " + String.valueOf(x)); } } private void setUp() throws Exception { publicK = new GnuRSAPublicKey(1, n, e); privateK = new GnuRSAPrivateKey(1, n, e, d, p, q, dP, dQ, qInv); cipher = Cipher.getInstance(transformation, GNU); } private byte[] encrypt(byte[] plainText) throws Exception { cipher.init(Cipher.ENCRYPT_MODE, publicK); byte[] result = cipher.doFinal(plainText); return result; } private byte[] decrypt(byte[] cipherText) throws Exception { cipher.init(Cipher.DECRYPT_MODE, privateK); byte[] result = cipher.doFinal(cipherText); return result; } } mauve-20140821/gnu/testlet/gnu/javax/crypto/jce/TestOfPR27849.java0000644000175000001440000000501310443514510023130 0ustar dokousers/* TestOfCipherAdapter.java -- FIXME: describe Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.jce; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.Key; import java.security.SecureRandom; import javax.crypto.Cipher; import javax.crypto.KeyGenerator; /** * Regression test for PR Classpath/27849. */ public class TestOfPR27849 implements Testlet { private Key key; private Cipher cipher; byte[] iv; /* (non-Javadoc) * @see gnu.testlet.Testlet#test(gnu.testlet.TestHarness) */ public void test(TestHarness harness) { try { KeyGenerator keyG = KeyGenerator.getInstance("DESede"); keyG.init(new SecureRandom()); key = keyG.generateKey(); cipher = Cipher.getInstance("DESede/CBC/NoPadding"); String input = "Does this work ?"; cipher.init(Cipher.ENCRYPT_MODE, key); iv = cipher.getIV(); harness.check(iv != null, "(Encrypting) cipher.getIV() MUST NOT return null"); harness.check(iv.length == 8, "IV (encryption) length MUST be 8"); byte[] plaintext = input.getBytes(); byte[] ciphertext = cipher.doFinal(plaintext); iv = null; cipher.init(Cipher.DECRYPT_MODE, key, cipher.getParameters()); iv = cipher.getIV(); harness.check(iv != null, "(Decrypting) cipher.getIV() MUST NOT return null"); harness.check(iv.length == 8, "IV (decryption) length MUST be 8"); byte[] plaintext2 = cipher.doFinal(ciphertext); String recovered = new String(plaintext2); harness.check(input.equals(recovered), "Original and recovered texts MUST be equal"); } catch (Exception x) { harness.debug(x); harness.fail(String.valueOf(x)); } } } mauve-20140821/gnu/testlet/gnu/javax/crypto/jce/TestOfDHKeyAgreement.java0000644000175000001440000001042310377331551024776 0ustar dokousers/* TestOfDHKeyAgreement.java Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.jce; import gnu.java.security.Registry; import gnu.javax.crypto.jce.GnuCrypto; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.InvalidKeyException; import java.security.KeyFactory; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.PrivateKey; import java.security.PublicKey; import java.security.Security; import java.security.spec.InvalidKeySpecException; import java.security.spec.X509EncodedKeySpec; import java.util.Arrays; import javax.crypto.KeyAgreement; /** * Conformance tests for the implementation of the JCE Diffie- * Hellman key agreement. */ public class TestOfDHKeyAgreement implements Testlet { private KeyPairGenerator kpg; private PublicKey alicePublicK, bobPublicK; private PrivateKey alicePrivateK, bobPrivateK; private KeyFactory aliceKF, bobKF; private KeyAgreement aliceKA, bobKA; public void test(TestHarness harness) { setUp(harness); testSymmetry(harness); } private void setUp(TestHarness harness) { Security.addProvider(new GnuCrypto()); try { // alice and bob key-pairs kpg = KeyPairGenerator.getInstance(Registry.DH_KPG, Registry.GNU_CRYPTO); kpg.initialize(512); harness.verbose("*** Generating Alice's Diffie-Hellman key-pair"); KeyPair aliceKP = kpg.generateKeyPair(); alicePublicK = aliceKP.getPublic(); alicePrivateK = aliceKP.getPrivate(); harness.verbose("*** Generating Bob's Diffie-Hellman key-pair"); KeyPair bobKP = kpg.generateKeyPair(); bobPublicK = bobKP.getPublic(); bobPrivateK = bobKP.getPrivate(); // alice and bob key-factories aliceKF = KeyFactory.getInstance("DH", Registry.GNU_CRYPTO); bobKF = KeyFactory.getInstance("DH", Registry.GNU_CRYPTO); // alice and bob key-agreements aliceKA = KeyAgreement.getInstance(Registry.DH_KA, Registry.GNU_CRYPTO); bobKA = KeyAgreement.getInstance(Registry.DH_KA, Registry.GNU_CRYPTO); } catch (Exception x) { harness.debug(x); harness.fail("setUp(): " + x.getMessage()); } } private void testSymmetry(TestHarness harness) { harness.checkPoint("testSymmetry()"); try { aliceKA.init(alicePrivateK); byte[] aliceEncodedK = alicePublicK.getEncoded(); harness.verbose("*** Alice sends Bob her encoded key..."); X509EncodedKeySpec aliceKAtBob = new X509EncodedKeySpec(aliceEncodedK); PublicKey aliceK = bobKF.generatePublic(aliceKAtBob); bobKA.init(bobPrivateK); bobKA.doPhase(aliceK, true); byte[] bobSharedSecret = bobKA.generateSecret(); // bob ready byte[] bobEncodedK = bobPublicK.getEncoded(); harness.verbose("*** Bob sends Alice his encoded key..."); X509EncodedKeySpec bobKAtAlice = new X509EncodedKeySpec(bobEncodedK); PublicKey bobK = aliceKF.generatePublic(bobKAtAlice); aliceKA.doPhase(bobK, true); byte[] aliceSharedSecret = aliceKA.generateSecret(); // alice ready harness.check(Arrays.equals(aliceSharedSecret, bobSharedSecret), "Shared secrets MUST be equal"); } catch (InvalidKeyException x) { harness.debug(x); harness.fail("testSymmetry(): " + x.getMessage()); } catch (InvalidKeySpecException x) { harness.debug(x); harness.fail("testSymmetry(): " + x.getMessage()); } } } mauve-20140821/gnu/testlet/gnu/javax/crypto/jce/TestOfCipherOutputStream.java0000644000175000001440000001103410516714404026005 0ustar dokousers/* TestOfCipherOutputStream.java Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.jce; import gnu.java.security.util.Util; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.util.Arrays; import javax.crypto.Cipher; import javax.crypto.CipherInputStream; import javax.crypto.CipherOutputStream; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; /** * Test for problems reported (and fixed) by Marco Trudel (see thread * http://gcc.gnu.org/ml/java/2006-09/msg00105.html). */ public class TestOfCipherOutputStream implements Testlet { private static final byte[] PLAINTEXT; static { PLAINTEXT = new byte[511]; for (int i = 0; i < 511; i++) PLAINTEXT[i] = (byte) i; } private static final byte[] CIPHERTEXT = Util.toBytesFromString( "0A940BB5416EF045F1C39458C653EA5A07FEEF74E1D5036E900EEE118E949293" + "5BE87E2E5B447C944B21C9AF7756C0D803F2C3BDCA826BF082D7CFB035CDB8C1" + "D533E59B45A153ED7E5E9C5DFCFD4AAA3EF0B1A5E3059DAB21FCE23A7B61C4CA" + "ADDE68F7AD497268D31A0DDD5C74B08F3D2D90DCEF49D32822298B878F815581" + "AC26591C0F8BD80EE7C7E3A2D14E2B2276F0DFA4F107BD6303879DAC0E2FD795" + "5E18D1FEF61D087EC0A33ED734A7918FE315209ED0E7C94F74A65C99F6EADC1E" + "AD393003D3E6BC5268F0D833E0050B78D2001826302BD313C41809FFDA1713E8" + "D02A48244ECCDC2379224DBC5470361266A7C7E8345231489751DE073316ADAD" + "0A940BB5416EF045F1C39458C653EA5A07FEEF74E1D5036E900EEE118E949293" + "5BE87E2E5B447C944B21C9AF7756C0D803F2C3BDCA826BF082D7CFB035CDB8C1" + "D533E59B45A153ED7E5E9C5DFCFD4AAA3EF0B1A5E3059DAB21FCE23A7B61C4CA" + "ADDE68F7AD497268D31A0DDD5C74B08F3D2D90DCEF49D32822298B878F815581" + "AC26591C0F8BD80EE7C7E3A2D14E2B2276F0DFA4F107BD6303879DAC0E2FD795" + "5E18D1FEF61D087EC0A33ED734A7918FE315209ED0E7C94F74A65C99F6EADC1E" + "AD393003D3E6BC5268F0D833E0050B78D2001826302BD313C41809FFDA1713E8" + "D02A48244ECCDC2379224DBC54703612D59D78BE4A3F7494AC0ECEC7FA122305"); public void test(TestHarness harness) { byte[] k = new byte[16]; for (int i = 0; i < k.length; i++) k[i] = (byte) i; try { SecretKey key = new SecretKeySpec(k, "AES"); encryptionTest(harness, key); decryptionTest(harness, key); } catch (Exception x) { harness.debug(x); harness.fail("test(): " + x); } } private void encryptionTest(TestHarness harness, SecretKey key) throws Exception { ByteArrayInputStream in = new ByteArrayInputStream(PLAINTEXT); ByteArrayOutputStream outStream = new ByteArrayOutputStream(1024 + 32); Cipher cipher = Cipher.getInstance("AES/ECB/PKCS7"); cipher.init(Cipher.ENCRYPT_MODE, key); CipherOutputStream out = new CipherOutputStream(outStream, cipher); byte[] b = new byte[2048]; int n; while ((n = in.read(b)) != -1) if (n > 0) out.write(b, 0, n); out.close(); byte[] ciphertxt = outStream.toByteArray(); harness.check(Arrays.equals(ciphertxt, CIPHERTEXT), "Cipher text MUST match"); } private void decryptionTest(TestHarness harness, SecretKey key) throws Exception { ByteArrayInputStream inStream = new ByteArrayInputStream(CIPHERTEXT); ByteArrayOutputStream out = new ByteArrayOutputStream(1024 + 32); Cipher cipher = Cipher.getInstance("AES/ECB/PKCS7"); cipher.init(Cipher.DECRYPT_MODE, key); CipherInputStream in = new CipherInputStream(inStream, cipher); byte[] b = new byte[2048]; int n; while ((n = in.read(b)) != -1) if (n > 0) out.write(b, 0, n); in.close(); byte[] plaintxt = out.toByteArray(); harness.check(Arrays.equals(plaintxt, PLAINTEXT), "Plain text MUST match"); } } mauve-20140821/gnu/testlet/gnu/javax/crypto/jce/TestOfOtherProviders.java0000644000175000001440000000605610367014266025170 0ustar dokousers/* TestOfOtherProviders.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.jce; import gnu.java.security.Registry; import gnu.javax.crypto.jce.GnuCrypto; import gnu.javax.crypto.jce.GnuSasl; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.Provider; import java.security.SecureRandom; import java.security.Security; import java.security.NoSuchAlgorithmException; import java.security.NoSuchProviderException; import java.util.Iterator; import java.util.Random; /** * Conformance tests for the JCE Provider implementation. */ public class TestOfOtherProviders implements Testlet { public void test(TestHarness harness) { setUp(); testProviderName(harness); testOtherSecureRandoms(harness); } public void testProviderName(TestHarness harness) { harness.checkPoint("testProviderName"); Provider us = Security.getProvider(Registry.GNU_CRYPTO); harness.check(Registry.GNU_CRYPTO.equals(us.getName())); us = Security.getProvider(Registry.GNU_SASL); harness.check(Registry.GNU_SASL.equals(us.getName())); } public void testOtherSecureRandoms(TestHarness harness) { harness.checkPoint("testOtherSecureRandoms"); String rand; Random algorithm; // for (Iterator it = Gnu.getSecureRandomNames().iterator(); it.hasNext();) for (Iterator it = Security.getAlgorithms("SecureRandom").iterator(); it.hasNext();) { rand = (String) it.next(); try { algorithm = null; algorithm = SecureRandom.getInstance(rand, Registry.GNU_CRYPTO); harness.check(algorithm != null, "getInstance(" + String.valueOf(rand) + ")"); } catch (NoSuchProviderException x) { harness.fail("getInstance(" + String.valueOf(rand) + "): " + String.valueOf(x)); } catch (NoSuchAlgorithmException x) { harness.fail("getInstance(" + String.valueOf(rand) + "): " + String.valueOf(x)); } } } private void setUp() { Security.removeProvider(Registry.GNU_SECURITY); Security.addProvider(new GnuCrypto()); // dynamically adds our provider Security.addProvider(new GnuSasl()); // dynamically adds our provider } }mauve-20140821/gnu/testlet/gnu/javax/crypto/jce/TestOfDHKeyFactory.java0000644000175000001440000000577610377331551024515 0ustar dokousers/* TestOfDHKeyFactory.java Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.jce; import java.security.KeyFactory; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.PrivateKey; import java.security.PublicKey; import java.security.Security; import java.security.spec.InvalidKeySpecException; import java.security.spec.PKCS8EncodedKeySpec; import java.security.spec.X509EncodedKeySpec; import gnu.java.security.Registry; import gnu.javax.crypto.jce.GnuCrypto; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Conformance tests for the JCE Diffie-Hellman key-factory */ public class TestOfDHKeyFactory implements Testlet { private KeyPairGenerator kpg; private PublicKey publicK; private PrivateKey privateK; private KeyFactory keyFactory; private byte[] encoded; public void test(TestHarness harness) { setUp(harness); testSymmetry(harness); } private void setUp(TestHarness harness) { Security.addProvider(new GnuCrypto()); try { kpg = KeyPairGenerator.getInstance(Registry.DH_KPG, Registry.GNU_CRYPTO); kpg.initialize(512); harness.verbose("*** Generating a Diffie-Hellman key-pair"); KeyPair kp = kpg.generateKeyPair(); publicK = kp.getPublic(); privateK = kp.getPrivate(); keyFactory = KeyFactory.getInstance(Registry.DH_KPG, Registry.GNU_CRYPTO); } catch (Exception x) { harness.debug(x); harness.fail("setUp(): " + x.getMessage()); } } private void testSymmetry(TestHarness harness) { harness.checkPoint("testSymmetry()"); try { encoded = publicK.getEncoded(); X509EncodedKeySpec spec1 = new X509EncodedKeySpec(encoded); PublicKey k1 = keyFactory.generatePublic(spec1); harness.check(k1.equals(publicK), "Public DH keys MUST be equal"); encoded = privateK.getEncoded(); PKCS8EncodedKeySpec spec2 = new PKCS8EncodedKeySpec(encoded); PrivateKey k2 = keyFactory.generatePrivate(spec2); harness.check(k2.equals(privateK), "Private DH keys MUST be equal"); } catch (InvalidKeySpecException x) { harness.debug(x); harness.fail("testSymmetry(): " + x.getMessage()); } } } mauve-20140821/gnu/testlet/gnu/javax/crypto/jce/TestOfCipherEngineInit.java0000644000175000001440000003221110455723525025370 0ustar dokousers/* TestOfCipherEngineInit.java -- Some more tests for engineInit * related to the tests in TestOfPR27849. Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.jce; import gnu.javax.crypto.jce.spec.BlockCipherParameterSpec; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.AlgorithmParameters; import java.security.InvalidAlgorithmParameterException; import java.security.InvalidKeyException; import java.security.Key; import java.security.SecureRandom; import java.security.spec.AlgorithmParameterSpec; import java.util.Arrays; import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.spec.IvParameterSpec; /** * Regression tests for logic around CipherSpi.engineInit()s. If the cipher * being initialized requires parameters not derivable from the key, then * defaults/random parameters must be generated, provided the opmode is ENCRYPT * or WRAP. If the opmode is DECRYPT or UNWRAP then an exception is expected to * be thrown. *

    * Refer to the class documentation of {@link javax.crypto.CipherSpi} for more * information. */ public class TestOfCipherEngineInit implements Testlet { private static final String input = "Does this work ?"; private Key key; private Cipher cipher; byte[] iv; /* (non-Javadoc) * @see gnu.testlet.Testlet#test(gnu.testlet.TestHarness) */ public void test(TestHarness harness) { setUp(harness); testECB(harness); testNotECB(harness); testInitWithParameterSpec(harness); testInitWithIVParameterSpec(harness); // TODO: Add tests for WRAP and UNWRAP too } private void setUp(TestHarness harness) { try { KeyGenerator keyG = KeyGenerator.getInstance("DESede"); keyG.init(new SecureRandom()); key = keyG.generateKey(); } catch (Exception e) { harness.debug(e); harness.fail(String.valueOf(e)); } } private void testECB(TestHarness harness) { try { cipher = Cipher.getInstance("DESede/ECB/NoPadding"); cipher.init(Cipher.ENCRYPT_MODE, key); iv = cipher.getIV(); harness.check(iv == null, "(ECB Encrypt) getIV() MUST return null"); byte[] plaintext = input.getBytes(); byte[] ciphertext = cipher.doFinal(plaintext); iv = null; cipher.init(Cipher.DECRYPT_MODE, key); iv = cipher.getIV(); harness.check(iv == null, "(ECB Decrypt) getIV() MUST return null"); byte[] plaintext2 = cipher.doFinal(ciphertext); String recovered = new String(plaintext2); harness.check(input.equals(recovered), "Original and recovered texts MUST be equal"); } catch (Exception x) { harness.debug(x); harness.fail(String.valueOf(x)); } } public void testNotECB(TestHarness harness) { try { cipher = Cipher.getInstance("DESede/CBC/NoPadding"); cipher.init(Cipher.ENCRYPT_MODE, key); iv = cipher.getIV(); harness.check(iv != null, "(CBC Encrypt) getIV() MUST NOT return null"); harness.check(iv.length == 8, "(CBC Encrypt) IV length MUST be 8"); byte[] plaintext = input.getBytes(); byte[] ciphertext = cipher.doFinal(plaintext); iv = null; String msg = "(CBC Decrypt) init(2) MUST throw InvalidKeyException"; try { cipher.init(Cipher.DECRYPT_MODE, key); harness.fail(msg); } catch (Exception e) { String type = e.getClass().getName(); harness.check(type.equals(InvalidKeyException.class.getName()), msg); } cipher.init(Cipher.DECRYPT_MODE, key, cipher.getParameters()); iv = cipher.getIV(); harness.check(iv != null, "(CBC Decrypt) getIV() MUST NOT return null"); harness.check(iv.length == 8, "(CBC Decrypt) IV length MUST be 8"); byte[] plaintext2 = cipher.doFinal(ciphertext); String recovered = new String(plaintext2); harness.check(input.equals(recovered), "Original and recovered texts MUST be equal"); } catch (Exception x) { harness.debug(x); harness.fail(String.valueOf(x)); } } // Similar test to above but tests the behaviour for: // Cipher.init(int i, Key k, AlgorithmParameterSpec param) // If param is null, and the cipher needs algorithm parameters to function // then init should create random/default parameters provided the cipher is // in ENCRYPT or WRAP mode, if in DECRYPT or UNWRAP mode the function must // throw an InvalidAlgorithmParameterException. // // Extrapolation: If algorithm does not require additional params then none // should be created! private void testInitWithParameterSpec(TestHarness harness) { try { // This cipher does not need extra algorithm parameters like // an IV to be provided so it should not generate one cipher = Cipher.getInstance("DESede/ECB/NoPadding"); cipher.init(Cipher.ENCRYPT_MODE, key, (AlgorithmParameterSpec) null); iv = cipher.getIV(); harness.check(iv == null, "(ECB Encrypt + null AlgorithmParameterSpec) getIV() MUST return null"); byte[] plaintext = input.getBytes(); byte[] ciphertext = cipher.doFinal(plaintext); iv = null; // No need for an IV so none should be generated in decrypt mode either cipher.init(Cipher.DECRYPT_MODE, key, (AlgorithmParameterSpec) null); iv = cipher.getIV(); harness.check(iv == null, "(ECB Decrypt + null AlgorithmParameterSpec) getIV() MUST return null"); byte[] plaintext2 = cipher.doFinal(ciphertext); String recovered = new String(plaintext2); // Encryption and decryption should still work harness.check(input.equals(recovered), "Original and recovered texts MUST be equal"); } catch (Exception x) { harness.debug(x); harness.fail(String.valueOf(x)); } try { cipher = Cipher.getInstance("DESede/CBC/NoPadding"); // null param for CBC should result in random IV being generated cipher.init(Cipher.ENCRYPT_MODE, key, (AlgorithmParameterSpec) null); iv = cipher.getIV(); harness.check(iv != null, "(CBC Encrypt + null AlgorithmParameterSpec) getIV() MUST return non-null IV"); harness.check(iv.length == 8, "(CBC Encrypt + null AlgorithmParameterSpec) IV length MUST be 8"); // test for non-uniformity of IV; i.e. not all the bytes are the same harness.check(iv[0] != iv[1], "(CBC Encrypt + null AlgorithmParameterSpec) IV MUST be random"); byte[] plaintext = input.getBytes(); byte[] ciphertext = cipher.doFinal(plaintext); iv = null; AlgorithmParameters ap = cipher.getParameters(); AlgorithmParameterSpec backupAlg = ap.getParameterSpec(IvParameterSpec.class); String msg = "(CBC Decrypt + null AlgorithmParameterSpec) init(3) MUST throw InvalidAlgorithmParameterException"; try { // Should not be able to init a CBC cipher in DECRYPT opmode without // params cipher.init(Cipher.DECRYPT_MODE, key, (AlgorithmParameterSpec) null); harness.fail(msg); } catch (Exception e) { String type = e.getClass().getName(); harness.check(type.equals(InvalidAlgorithmParameterException.class.getName()), msg); } try { // Now use a proper algorithm parameter and test init. // This should pass!! cipher.init(Cipher.DECRYPT_MODE, key, backupAlg); } catch (Exception e) { harness.fail("(CBC Decrypt + non-null AlgorithmParameterSpec) init(3) MUST NOT throw an exception"); } iv = cipher.getIV(); harness.check(iv != null, "(CBC Decrypt + valid AlgorithmParameterSpec) getIV() MUST NOT return null"); harness.check(iv.length == 8, "(CBC Decrypt + valid AlgorithmParameterSpec) IV length MUST be 8"); harness.check(iv[0] != iv[1], "(CBC Encrypt + null AlgorithmParameterSpec) IV MUST be random"); byte[] plaintext2 = cipher.doFinal(ciphertext); String recovered = new String(plaintext2); harness.check(input.equals(recovered), "Original and recovered texts MUST be equal"); } catch (Exception x) { harness.debug(x); harness.fail(String.valueOf(x)); } } // Similar test to above but tests the behaviour for: // Cipher.init(int i, Key k, IVParameterSpec param) // If the IV passed to the algorithm is too short or too long // then a InvalidAlgorithmParameterException should be thrown private void testInitWithIVParameterSpec(TestHarness harness) { try { cipher = Cipher.getInstance("DESede/CBC/NoPadding"); // Blocksize for CBC int blocksize = 8; IvParameterSpec IVSpec = new IvParameterSpec(new byte[blocksize -1]); // check if short IV are properly throwing exceptions String msg = "(CBC Encrypt + short IV) MUST throw InvalidAlgorithmParameterException"; try{ cipher.init(Cipher.ENCRYPT_MODE, key, IVSpec); harness.fail(msg); } catch (Exception e) { String type = e.getClass().getName(); harness.debug(e); harness.check(type.equals(InvalidAlgorithmParameterException.class.getName()),msg); } msg = "(CBC Decrypt + short IV) MUST throw InvalidAlgorithmParameterException"; try { cipher.init(Cipher.DECRYPT_MODE, key, IVSpec); harness.fail(msg); } catch (Exception e) { String type = e.getClass().getName(); harness.check(type.equals(InvalidAlgorithmParameterException.class.getName()),msg); } IVSpec = new IvParameterSpec(new byte[blocksize +1]); // check if long IV are properly throwing exceptions msg = "(CBC Encrypt + long IV) MUST throw InvalidAlgorithmParameterException"; try{ cipher.init(Cipher.ENCRYPT_MODE, key, IVSpec); harness.fail(msg); } catch (Exception e) { String type = e.getClass().getName(); harness.check(type.equals(InvalidAlgorithmParameterException.class.getName()), msg); } msg = "(CBC Decrypt + long IV) MUST throw InvalidAlgorithmParameterException"; try { cipher.init(Cipher.DECRYPT_MODE, key, IVSpec); harness.fail(msg); } catch (Exception e) { String type = e.getClass().getName(); harness.check(type.equals(InvalidAlgorithmParameterException.class.getName()), msg); } byte[] iv = new byte[] { '0', '1', '1', '2', '3', '5', '8', '9'}; IVSpec = new IvParameterSpec(iv); // check if no exceptions are being called for a properly sized IV try{ cipher.init(Cipher.ENCRYPT_MODE, key, IVSpec); } catch (Exception e){ harness.fail("(CBC Encrypt + IV of lenght 8) MUST NOT throw an exception"); } byte[] plaintext = input.getBytes(); byte[] ciphertext = cipher.doFinal(plaintext); try{ cipher.init(Cipher.DECRYPT_MODE, key, IVSpec); } catch (Exception e){ harness.fail("(CBC Decrypt + IV of lenght 8) MUST NOT throw an exception"); } byte[] plaintext2 = cipher.doFinal(ciphertext); String recovered = new String(plaintext2); harness.check(input.equals(recovered), "Original and recovered texts MUST be equal"); byte[] cipherIV = cipher.getIV(); harness.check(iv != null, "(CBC Decrypt + valid IvParameterSpec) getIV() MUST NOT return null"); harness.check(iv.length == 8, "(CBC Decrypt + valid IvParameterSpec) IV length MUST be 8"); harness.check(Arrays.equals(cipherIV, iv), "(CBC Decrypt + valid IvParameter) Cipher IV MUST match specified IV"); } catch (Exception x){ harness.debug(x); harness.fail(String.valueOf(x)); } } } mauve-20140821/gnu/testlet/gnu/javax/crypto/jce/TestOfMac.java0000644000175000001440000002025410367014266022705 0ustar dokousers/* TestOfMac.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.jce; import gnu.java.security.Registry; import gnu.java.security.prng.IRandom; import gnu.java.security.prng.MDGenerator; import gnu.javax.crypto.cipher.CipherFactory; import gnu.javax.crypto.cipher.IBlockCipher; import gnu.javax.crypto.mac.IMac; import gnu.javax.crypto.mac.MacFactory; import gnu.javax.crypto.mac.TMMH16; import gnu.javax.crypto.mac.UMac32; import gnu.javax.crypto.jce.GnuCrypto; import gnu.javax.crypto.jce.spec.TMMHParameterSpec; import gnu.javax.crypto.jce.spec.UMac32ParameterSpec; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.Security; import java.security.spec.AlgorithmParameterSpec; import java.util.Arrays; import java.util.HashMap; import java.util.Iterator; import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; /** * Conformance tests for the JCE Provider implementations of MAC SPI classes. */ public class TestOfMac implements Testlet { public void test(TestHarness harness) { setUp(); testUnknownMac(harness); testEquality(harness); testCloneability(harness); } /** Should fail with an unknown algorithm. */ public void testUnknownMac(TestHarness harness) { harness.checkPoint("testUnknownMac"); try { Mac.getInstance("Godot", Registry.GNU_CRYPTO); harness.fail("testUnknownMac()"); } catch (Exception x) { harness.check(true); } } /** * Tests if the result of using a MAC through gnu.crypto Factory classes * yields same value as using instances obtained the JCE way. */ public void testEquality(TestHarness harness) { harness.checkPoint("testEquality"); String macName; IMac gnu = null; Mac jce = null; byte[] in = this.getClass().getName().getBytes(); byte[] ba1, ba2; HashMap attrib = new HashMap(); for (Iterator it = MacFactory.getNames().iterator(); it.hasNext();) { macName = (String) it.next(); // we dont provide OMAC based on NullCipher through the JCE. skip if (macName.equals("omac-null")) continue; AlgorithmParameterSpec params = null; if (macName.equalsIgnoreCase("UMAC32")) { byte[] nonce = new byte[16]; for (int i = 0; i < nonce.length; i++) nonce[i] = (byte) i; params = new UMac32ParameterSpec(nonce); attrib.put(UMac32.NONCE_MATERIAL, nonce); } else if (macName.equalsIgnoreCase("TMMH16")) { IRandom rand1 = new MDGenerator(); rand1.init(new HashMap()); Integer tagLen = new Integer(4); params = new TMMHParameterSpec(rand1, tagLen); IRandom rand2 = new MDGenerator(); rand2.init(new HashMap()); attrib.put(TMMH16.KEYSTREAM, rand2); attrib.put(TMMH16.TAG_LENGTH, tagLen); } try { gnu = MacFactory.getInstance(macName); harness.check(gnu != null, "MacFactory.getInstance(" + macName + ")"); } catch (InternalError x) { harness.fail("MacFactory.getInstance(" + macName + "): " + String.valueOf(x)); } try { jce = Mac.getInstance(macName, Registry.GNU_CRYPTO); harness.check(jce != null, "Mac.getInstance()"); } catch (Exception x) { harness.debug(x); harness.fail("Mac.getInstance(" + macName + "): " + String.valueOf(x)); } byte[] kb = null; if (macName.equalsIgnoreCase("UMAC32") || macName.equalsIgnoreCase("UHASH32")) kb = new byte[16]; else if (macName.toLowerCase().startsWith(Registry.OMAC_PREFIX)) { IBlockCipher cipher = CipherFactory.getInstance( macName.substring(Registry.OMAC_PREFIX.length())); if (cipher != null) kb = new byte[cipher.defaultKeySize()]; else kb = new byte[gnu.macSize()]; } else kb = new byte[gnu.macSize()]; for (int i = 0; i < kb.length; i++) kb[i] = (byte) i; attrib.put(IMac.MAC_KEY_MATERIAL, kb); try { gnu.init(attrib); if (macName.equalsIgnoreCase("TMMH16")) jce.init(null, params); else jce.init(new SecretKeySpec(kb, macName), params); } catch (Exception x) { harness.debug(x); harness.fail("Mac.getInstance(" + macName + "): " + String.valueOf(x)); } gnu.update(in, 0, in.length); ba1 = gnu.digest(); ba2 = jce.doFinal(in); harness.check(Arrays.equals(ba1, ba2), "testEquality(" + macName + ")"); } } /** * Tests if the result of a cloned, partially in-progress hash instance, * when used later to further process data, yields the same result as the * original copy. */ public void testCloneability(TestHarness harness) { harness.checkPoint("testCloneability"); String macName; Mac mac1, mac2; byte[] abc = "abc".getBytes(); byte[] in = this.getClass().getName().getBytes(); byte[] ba1, ba2; for (Iterator it = MacFactory.getNames().iterator(); it.hasNext();) { macName = (String) it.next(); // no point in testing OMAC-based MACs since they are not Cloneable if (macName.startsWith(Registry.OMAC_PREFIX)) continue; try { AlgorithmParameterSpec params = null; if (macName.equalsIgnoreCase("UMAC32")) { byte[] nonce = new byte[16]; for (int i = 0; i < nonce.length; i++) nonce[i] = (byte) i; params = new UMac32ParameterSpec(nonce); } else if (macName.equalsIgnoreCase("TMMH16")) { IRandom rand = new MDGenerator(); rand.init(new HashMap()); Integer tagLen = new Integer(4); params = new TMMHParameterSpec(rand, tagLen); } mac1 = Mac.getInstance(macName, Registry.GNU_CRYPTO); byte[] kb = null; if (macName.equalsIgnoreCase("UMAC32") || macName.equalsIgnoreCase("UHASH32")) kb = new byte[16]; else kb = new byte[mac1.getMacLength()]; for (int i = 0; i < kb.length; i++) kb[i] = (byte) i; if (macName.equalsIgnoreCase("TMMH16")) mac1.init(null, params); else mac1.init(new SecretKeySpec(kb, macName), params); mac1.update(abc); // start with abc mac2 = (Mac) mac1.clone(); // now clone it ba1 = mac1.doFinal(in); // now finish both with in ba2 = mac2.doFinal(in); harness.check(Arrays.equals(ba1, ba2), "testCloneability(" + macName + ")"); } catch (Exception x) { harness.debug(x); harness.fail("testCloneability(" + macName + "): " + String.valueOf(x)); } } } private void setUp() { Security.addProvider(new GnuCrypto()); // dynamically adds our provider } }mauve-20140821/gnu/testlet/gnu/javax/crypto/jce/keyring/0000755000175000001440000000000012375316426021666 5ustar dokousersmauve-20140821/gnu/testlet/gnu/javax/crypto/jce/keyring/TestOfKeystore.java0000644000175000001440000002522410433467025025463 0ustar dokousers/* TestOfKeystore.java Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.jce.keyring; import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.math.BigInteger; import java.security.KeyStore; import java.security.KeyStoreException; import java.security.PrivateKey; import java.security.PublicKey; import java.security.cert.Certificate; import java.security.cert.CertificateFactory; import java.util.Arrays; import gnu.java.security.Registry; import gnu.java.security.key.dss.DSSPrivateKey; import gnu.java.security.key.dss.DSSPublicKey; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Conformance tests for the GNU GKR KeyStore Adapter classes. */ public class TestOfKeystore implements Testlet { /** KeyStore password. */ private static final char[] STORE_PASSWORD = "secret".toCharArray(); /** Private Key Entry alias. */ private static final String ALIAS = "mykey"; /** Public Key Entry alias. */ private static final String ALIAS_DSA = "mykey_dsa"; /** Trusted Certificate Entry alias. */ private static final String ANOTHER_ALIAS = "herkey"; /** Key Entry password. */ private static final char[] KEY_PASSWORD = "changeme".toCharArray(); /** Common DSA key material - p. */ private static final BigInteger p = new BigInteger( "fd7f53811d75122952df4a9c2eece4e7f611b7523cef4400c31e3f80b6512669455d4" + "02251fb593d8d58fabfc5f5ba30f6cb9b556cd7813b801d346ff26660b76b9950a5" + "a49f9fe8047b1022c24fbba9d7feb7c61bf83b57e7c6a8a6150f04fb83f6d3c51ec" + "3023554135a169132f675f3ae2b61d72aeff22203199dd14801c7", 16); /** Common DSA key material - q. */ private static final BigInteger q = new BigInteger( "9760508f15230bccb292b982a2eb840bf0581cf5", 16); /** Common DSA key material - g. */ private static final BigInteger g = new BigInteger( "f7e1a085d69b3ddecbbcab5c36b857b97994afbbfa3aea82f9574c0b3d07826751595" + "78ebad4594fe67107108180b449167123e84c281613b7cf09328cc8a6e13c167a8b" + "547c8d28e0a3ae1e2bb3a675916ea37f0bfa213562f1fb627a01243bcca4f1bea85" + "19089a883dfe15ae59f06928b665e807b552564014c3bfecf492a", 16); /** Public DSA key part. */ private static final BigInteger x = new BigInteger( "631305a19984821b95a8c776d38167a4ea2ceb8", 16); /** Private DSA key part. */ private static final BigInteger y = new BigInteger( "cc1045a7550205a581ec3a9fed50c6d4aaae9ef2512c066f0d52617e0d462895c00bd" + "f2d329c53a9c0f690e406d49e21beb557d47436df9cdda5ad2f532620a5260704c5" + "91920ff674666e2166066727051f3d515aedf03a4bdb2d69dd13bbd9b5e7941ff37" + "fb35f2d9138b4172e64393b04afdcc630739fbe6993f27f467e17", 16); /** Alias's Self-signed certificate. */ private static final String SELF_SIGNED_CERT = "\n" + "-----BEGIN CERTIFICATE-----\n" + "MIIC9zCCAregAwIBAAIBATAJBgcqhkjOOAQDMGIxFzAVBgNVBAMMDlJhaWYgUy4g\n" + "TmFmZmFoMRswGQYDVQQKDBJUaGUgU2FtcGxlIENvbXBhbnkxDzANBgNVBAcMBlN5\n" + "ZG5leTEMMAoGA1UECAwDTlNXMQswCQYDVQQGDAJBVTAeFw0wNjA1MTgwOTM5Mzla\n" + "Fw0wNjA4MTYwOTM5MzlaMGIxFzAVBgNVBAMMDlJhaWYgUy4gTmFmZmFoMRswGQYD\n" + "VQQKDBJUaGUgU2FtcGxlIENvbXBhbnkxDzANBgNVBAcMBlN5ZG5leTEMMAoGA1UE\n" + "CAwDTlNXMQswCQYDVQQGDAJBVTCCAbgwggEsBgcqhkjOOAQBMIIBHwKBgQD9f1OB\n" + "HXUSKVLfSpwu7OTn9hG3UjzvRADDHj+AtlEmaUVdQCJR+1k9jVj6v8X1ujD2y5tV\n" + "bNeBO4AdNG/yZmC3a5lQpaSfn+gEexAiwk+7qdf+t8Yb+DtX58aophUPBPuD9tPF\n" + "HsMCNVQTWhaRMvZ1864rYdcq7/IiAxmd0UgBxwIVAJdgUI8VIwvMspK5gqLrhAvw\n" + "WBz1AoGBAPfhoIXWmz3ey7yrXDa4V7l5lK+7+jrqgvlXTAs9B4JnUVlXjrrUWU/m\n" + "cQcQgYC0SRZxI+hMKBYTt88JMozIpuE8FnqLVHyNKOCjrh4rs6Z1kW6jfwv6ITVi\n" + "8ftiegEkO8yk8b6oUZCJqIPf4VrlnwaSi2ZegHtVJWQBTDv+z0kqA4GFAAKBgQDM\n" + "EEWnVQIFpYHsOp/tUMbUqq6e8lEsBm8NUmF+DUYolcAL3y0ynFOpwPaQ5AbUniG+\n" + "tVfUdDbfnN2lrS9TJiClJgcExZGSD/Z0Zm4hZgZnJwUfPVFa7fA6S9stad0Tu9m1\n" + "55Qf83+zXy2ROLQXLmQ5OwSv3MYwc5++aZPyf0Z+FzAJBgcqhkjOOAQDAy8AMCwC\n" + "FE5UuDO5crsK+kOwdqzbr0WCzQQrAhR7ZwA+cBYvIfP3kr7lItJhY4nRBQ==\n" + "-----END CERTIFICATE-----\n"; private static final String CA_SIGNED_CERT = "\n" + "-----BEGIN CERTIFICATE-----\n" + "MIIDHTCCAsegAwIBAgIKY1JbPwAAAAAqpTANBgkqhkiG9w0BAQUFADBgMQswCQYD\n" + "VQQGEwJHQjERMA8GA1UEChMIQXNjZXJ0aWExJjAkBgNVBAsTHUNsYXNzIDEgQ2Vy\n" + "dGlmaWNhdGUgQXV0aG9yaXR5MRYwFAYDVQQDEw1Bc2NlcnRpYSBDQSAxMB4XDTA2\n" + "MDQyNzAwNDk1NloXDTA3MDQyNzAwNTk1NlowZjELMAkGA1UEBhMCQVUxDDAKBgNV\n" + "BAgTA05TVzEPMA0GA1UEBxMGU3lkbmV5MRswGQYDVQQKExJUaGUgU2FtcGxlIENv\n" + "bXBhbnkxGzAZBgNVBAMTEnNvbG9tb24udG5nLmNvbS5hdTCBnzANBgkqhkiG9w0B\n" + "AQEFAAOBjQAwgYkCgYEArqzuAz6OY5GuyT+U0k45iYMKBmTFRJ0WcLeCpCYIkDuW\n" + "wxoRpVdLeoHz5sz5wbj/BLqk6MUgG8kbCILGi5SntpjgmNEynAYoLsh5rrGp7/P0\n" + "CiymIgFmvVynR4+tQ40/EbBGpO7feSkhPVTnmk5oX7VW1KCDDfJxvqr5/3u6m9UC\n" + "AwEAAaOCARcwggETMB0GA1UdDgQWBBQdKwf6zaazew9E+c77pAvSzNY8nTBjBgNV\n" + "HSMEXDBagBSU/lmHRXvTSToKiu9ExYH2J9WQGaE/pD0wOzELMAkGA1UEBhMCR0Ix\n" + "ETAPBgNVBAoTCEFzY2VydGlhMRkwFwYDVQQDExBBc2NlcnRpYSBSb290IENBggEN\n" + "ME0GA1UdHwRGMEQwQqBAoD6GPGh0dHA6Ly93d3cuYXNjZXJ0aWEuY29tL09ubGlu\n" + "ZUNBL2NybHMvQXNjZXJ0aWFDQTEvY2xhc3MxLmNybDA+BggrBgEFBQcBAQQyMDAw\n" + "LgYIKwYBBQUHMAKGImh0dHA6Ly9vY3NwLmdsb2JhbHRydXN0ZmluZGVyLmNvbS8w\n" + "DQYJKoZIhvcNAQEFBQADQQCHVsnDcYyjikSMmc3++UVj9XpFkJZqaI4U6baoP68Q\n" + "hPe5niht+x2ez35j+Ytx7aNu0MVcAiyA6eyTE9ZYP/vU\n" + "-----END CERTIFICATE-----\n"; /* * (non-Javadoc) * * @see gnu.testlet.Testlet#test(gnu.testlet.TestHarness) */ public void test(TestHarness harness) { harness.checkPoint("TestOfKeystore"); try { // instantiate the key-store KeyStore ks1 = KeyStore.getInstance("gkr"); harness.check(ks1 != null, "GKR-type KeyStore MUST be available"); // load it with null i/o stream; i.e. create it ks1.load(null, STORE_PASSWORD); // store a (private) key-entry PrivateKey pk1 = new DSSPrivateKey(Registry.ASN1_ENCODING_ID, p, q, g, x); CertificateFactory x509Factory = CertificateFactory.getInstance("X.509"); byte[] certificateBytes = SELF_SIGNED_CERT.getBytes("ASCII"); ByteArrayInputStream bais = new ByteArrayInputStream(certificateBytes); Certificate c1 = x509Factory.generateCertificate(bais); Certificate[] chain1 = new Certificate[] { c1 }; ks1.setKeyEntry(ALIAS, pk1, KEY_PASSWORD, chain1); // retrieve the same (private) key-entry PrivateKey pk2 = (PrivateKey) ks1.getKey(ALIAS, KEY_PASSWORD); // check that private key is the same harness.check(pk2, pk1, "In-memory and original private key MUST be equal"); // retrieve the certificate Certificate[] chain2 = ks1.getCertificateChain(ALIAS); harness.check(Arrays.equals(chain2, chain1), "In-memory and original certificate MUST be equal"); // store a (public) key entry PublicKey k1 = new DSSPublicKey(Registry.ASN1_ENCODING_ID, p, q, g, y); ks1.setKeyEntry(ALIAS_DSA, k1, null, null); // retrieve the same (public) key-entry PublicKey k2 = (PublicKey) ks1.getKey(ALIAS_DSA, null); // check it's still the same harness.check(k2, k1, "In-memory and original public key MUST be equal"); // see if alias was used for a trusted certificate Certificate cert = ks1.getCertificate(ALIAS); harness.check(cert == null, "Trusted certificate w/ same Alias MUST NOT be found"); // must not be able to use same alias for a trusted certificate certificateBytes = CA_SIGNED_CERT.getBytes("ASCII"); bais = new ByteArrayInputStream(certificateBytes); Certificate tc1 = x509Factory.generateCertificate(bais); String msg = "MUST NOT be able to use same alias for a trusted certificate"; try { ks1.setCertificateEntry(ALIAS, tc1); harness.fail(msg); } catch (KeyStoreException e) { harness.check(true, msg); } // store a trusted certificate ks1.setCertificateEntry(ANOTHER_ALIAS, tc1); // retrieve the same trusted certificate Certificate tc2 = ks1.getCertificate(ANOTHER_ALIAS); // check it's still the same harness.check(tc2, tc1, "In-memory and original trusted certificate MUST be equal"); // persist the key-store File ksFile = File.createTempFile("gkr-", ".gks"); ksFile.deleteOnExit(); FileOutputStream fos = new FileOutputStream(ksFile); ks1.store(fos, STORE_PASSWORD); fos.flush(); fos.close(); // re-load it from the persisted file KeyStore ks2 = KeyStore.getInstance("gkr"); FileInputStream fis = new FileInputStream(ksFile); ks2.load(fis, STORE_PASSWORD); // retrieve the private key PrivateKey pk3 = (PrivateKey) ks2.getKey(ALIAS, KEY_PASSWORD); // check that private key is the same harness.check(pk3, pk1, "Persisted and original private key MUST be equal"); // retrieve the certificate Certificate[] chain3 = ks2.getCertificateChain(ALIAS); // check that it's still the same harness.check(Arrays.equals(chain3, chain1), "Persisted and original certificate MUST be equal"); // retrieve the public key PublicKey k3 = (PublicKey) ks2.getKey(ALIAS_DSA, null); // check it's still the same harness.check(k3, k1, "Persisted and original public key MUST be equal"); // retrieve the trusted certificate Certificate tc3 = ks2.getCertificate(ANOTHER_ALIAS); // check it's still the same harness.check(tc3, tc1, "Persisted and original trusted certificate MUST be equal"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfKeystore"); } } } mauve-20140821/gnu/testlet/gnu/javax/crypto/mode/0000755000175000001440000000000012375316426020401 5ustar dokousersmauve-20140821/gnu/testlet/gnu/javax/crypto/mode/TestOfModeFactory.java0000644000175000001440000000547710367014266024616 0ustar dokousers/* TestOfModeFactory.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.mode; import gnu.javax.crypto.cipher.CipherFactory; import gnu.javax.crypto.cipher.IBlockCipher; import gnu.javax.crypto.mode.ModeFactory; import gnu.javax.crypto.mode.IMode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Iterator; /** * Conformance tests for the ModeFactory implementation. */ public class TestOfModeFactory implements Testlet { public void test(TestHarness harness) { harness.checkPoint("TestOfModeFactory"); String mode, cipher; int bs; IMode algorithm; for (Iterator mit = ModeFactory.getNames().iterator(); mit.hasNext();) { mode = (String) mit.next(); for (Iterator cit = CipherFactory.getNames().iterator(); cit.hasNext();) { cipher = (String) cit.next(); IBlockCipher ubc = CipherFactory.getInstance(cipher); for (Iterator cbs = ubc.blockSizes(); cbs.hasNext();) { bs = ((Integer) cbs.next()).intValue(); try { algorithm = ModeFactory.getInstance(mode, ubc, bs); harness.check(algorithm != null, "getInstance(" + String.valueOf(mode) + ", " + String.valueOf(cipher) + ", " + String.valueOf(8 * bs) + ")"); } catch (InternalError x) { harness.debug(x); harness.fail("TestOfModeFactory.getInstance(" + String.valueOf(mode) + ", " + String.valueOf(cipher) + ", " + String.valueOf(8 * bs) + ")"); } } } } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/mode/TestOfCFB.java0000644000175000001440000007351110367014266022766 0ustar dokousers/* TestOfCFB.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.mode; import gnu.java.security.Registry; import gnu.java.security.util.Util; import gnu.javax.crypto.mode.IMode; import gnu.javax.crypto.mode.ModeFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Arrays; import java.util.HashMap; import java.util.Map; /** * Conformance tests of the CFB implementation. * *

    References:

    *
      *
    1. * Recommendation for Block Cipher Modes of Operation Methods and Techniques, * Morris Dworkin.
    2. *
    */ public class TestOfCFB implements Testlet { private byte[] key, iv, pt, ct, pt1, pt2, pt3, pt4, pt5, pt6, pt7, pt8, pt9, pt10, pt11, pt12, pt13, pt14, pt15, pt16, pt17, pt18, ct1, ct2, ct3, ct4, ct5, ct6, ct7, ct8, ct9, ct10, ct11, ct12, ct13, ct14, ct15, ct16, ct17, ct18; private IMode mode; private Map attributes = new HashMap(); public void test(TestHarness harness) { // CFB1 mode is omitted, since it is not supported in GNU Crypto. harness.checkPoint("TestOfCFB8.testAES128"); /* F.3.7 CFB8-AES128-Encrypt and F.3.8 CFB8-AES-Decrypt. */ key = Util.toBytesFromUnicode("\u2b7e\u1516\u28ae\ud2a6\uabf7\u1588\u09cf\u4f3c"); iv = Util.toBytesFromUnicode("\u0001\u0203\u0405\u0607\u0809\u0a0b\u0c0d\u0e0f"); pt1 = Util.toBytesFromString("6b"); ct1 = Util.toBytesFromString("3b"); pt2 = Util.toBytesFromString("c1"); ct2 = Util.toBytesFromString("79"); pt3 = Util.toBytesFromString("be"); ct3 = Util.toBytesFromString("42"); pt4 = Util.toBytesFromString("e2"); ct4 = Util.toBytesFromString("4c"); pt5 = Util.toBytesFromString("2e"); ct5 = Util.toBytesFromString("9c"); pt6 = Util.toBytesFromString("40"); ct6 = Util.toBytesFromString("0d"); pt7 = Util.toBytesFromString("9f"); ct7 = Util.toBytesFromString("d4"); pt8 = Util.toBytesFromString("96"); ct8 = Util.toBytesFromString("36"); pt9 = Util.toBytesFromString("e9"); ct9 = Util.toBytesFromString("ba"); pt10 = Util.toBytesFromString("3d"); ct10 = Util.toBytesFromString("ce"); pt11 = Util.toBytesFromString("7e"); ct11 = Util.toBytesFromString("9e"); pt12 = Util.toBytesFromString("11"); ct12 = Util.toBytesFromString("0e"); pt13 = Util.toBytesFromString("73"); ct13 = Util.toBytesFromString("d4"); pt14 = Util.toBytesFromString("93"); ct14 = Util.toBytesFromString("58"); pt15 = Util.toBytesFromString("17"); ct15 = Util.toBytesFromString("6a"); pt16 = Util.toBytesFromString("2a"); ct16 = Util.toBytesFromString("4f"); pt17 = Util.toBytesFromString("ae"); ct17 = Util.toBytesFromString("32"); pt18 = Util.toBytesFromString("2d"); ct18 = Util.toBytesFromString("b9"); pt = new byte[1]; ct = new byte[1]; mode = ModeFactory.getInstance(Registry.CFB_MODE, Registry.AES_CIPHER, 128 / 8); attributes.clear(); attributes.put(IMode.MODE_BLOCK_SIZE, new Integer(1)); attributes.put(IMode.IV, iv); attributes.put(IMode.KEY_MATERIAL, key); try { // encryption ........................................................ attributes.put(IMode.STATE, new Integer(IMode.ENCRYPTION)); mode.init(attributes); mode.update(pt1, 0, ct, 0); harness.check(Arrays.equals(ct, ct1), "CFB8-AES128-Encrypt block #1"); mode.update(pt2, 0, ct, 0); harness.check(Arrays.equals(ct, ct2), "CFB8-AES128-Encrypt block #2"); mode.update(pt3, 0, ct, 0); harness.check(Arrays.equals(ct, ct3), "CFB8-AES128-Encrypt block #3"); mode.update(pt4, 0, ct, 0); harness.check(Arrays.equals(ct, ct4), "CFB8-AES128-Encrypt block #4"); mode.update(pt5, 0, ct, 0); harness.check(Arrays.equals(ct, ct5), "CFB8-AES128-Encrypt block #5"); mode.update(pt6, 0, ct, 0); harness.check(Arrays.equals(ct, ct6), "CFB8-AES128-Encrypt block #6"); mode.update(pt7, 0, ct, 0); harness.check(Arrays.equals(ct, ct7), "CFB8-AES128-Encrypt block #7"); mode.update(pt8, 0, ct, 0); harness.check(Arrays.equals(ct, ct8), "CFB8-AES128-Encrypt block #8"); mode.update(pt9, 0, ct, 0); harness.check(Arrays.equals(ct, ct9), "CFB8-AES128-Encrypt block #9"); mode.update(pt10, 0, ct, 0); harness.check(Arrays.equals(ct, ct10), "CFB8-AES128-Encrypt block #10"); mode.update(pt11, 0, ct, 0); harness.check(Arrays.equals(ct, ct11), "CFB8-AES128-Encrypt block #11"); mode.update(pt12, 0, ct, 0); harness.check(Arrays.equals(ct, ct12), "CFB8-AES128-Encrypt block #12"); mode.update(pt13, 0, ct, 0); harness.check(Arrays.equals(ct, ct13), "CFB8-AES128-Encrypt block #13"); mode.update(pt14, 0, ct, 0); harness.check(Arrays.equals(ct, ct14), "CFB8-AES128-Encrypt block #14"); mode.update(pt15, 0, ct, 0); harness.check(Arrays.equals(ct, ct15), "CFB8-AES128-Encrypt block #15"); mode.update(pt16, 0, ct, 0); harness.check(Arrays.equals(ct, ct16), "CFB8-AES128-Encrypt block #16"); mode.update(pt17, 0, ct, 0); harness.check(Arrays.equals(ct, ct17), "CFB8-AES128-Encrypt block #17"); mode.update(pt18, 0, ct, 0); harness.check(Arrays.equals(ct, ct18), "CFB8-AES128-Encrypt block #18"); // decryption ........................................................ mode.reset(); attributes.put(IMode.STATE, new Integer(IMode.DECRYPTION)); mode.init(attributes); mode.update(ct1, 0, pt, 0); harness.check(Arrays.equals(pt, pt1), "CFB8-AES128-Decrypt block #1"); mode.update(ct2, 0, pt, 0); harness.check(Arrays.equals(pt, pt2), "CFB8-AES128-Decrypt block #2"); mode.update(ct3, 0, pt, 0); harness.check(Arrays.equals(pt, pt3), "CFB8-AES128-Decrypt block #3"); mode.update(ct4, 0, pt, 0); harness.check(Arrays.equals(pt, pt4), "CFB8-AES128-Decrypt block #4"); mode.update(ct5, 0, pt, 0); harness.check(Arrays.equals(pt, pt5), "CFB8-AES128-Decrypt block #5"); mode.update(ct6, 0, pt, 0); harness.check(Arrays.equals(pt, pt6), "CFB8-AES128-Decrypt block #6"); mode.update(ct7, 0, pt, 0); harness.check(Arrays.equals(pt, pt7), "CFB8-AES128-Decrypt block #7"); mode.update(ct8, 0, pt, 0); harness.check(Arrays.equals(pt, pt8), "CFB8-AES128-Decrypt block #8"); mode.update(ct9, 0, pt, 0); harness.check(Arrays.equals(pt, pt9), "CFB8-AES128-Decrypt block #9"); mode.update(ct10, 0, pt, 0); harness.check(Arrays.equals(pt, pt10), "CFB8-AES128-Decrypt block #10"); mode.update(ct11, 0, pt, 0); harness.check(Arrays.equals(pt, pt11), "CFB8-AES128-Decrypt block #11"); mode.update(ct12, 0, pt, 0); harness.check(Arrays.equals(pt, pt12), "CFB8-AES128-Decrypt block #12"); mode.update(ct13, 0, pt, 0); harness.check(Arrays.equals(pt, pt13), "CFB8-AES128-Decrypt block #13"); mode.update(ct14, 0, pt, 0); harness.check(Arrays.equals(pt, pt14), "CFB8-AES128-Decrypt block #14"); mode.update(ct15, 0, pt, 0); harness.check(Arrays.equals(pt, pt15), "CFB8-AES128-Decrypt block #15"); mode.update(ct16, 0, pt, 0); harness.check(Arrays.equals(pt, pt16), "CFB8-AES128-Decrypt block #16"); mode.update(ct17, 0, pt, 0); harness.check(Arrays.equals(pt, pt17), "CFB8-AES128-Decrypt block #17"); mode.update(ct18, 0, pt, 0); harness.check(Arrays.equals(pt, pt18), "CFB8-AES128-Decrypt block #18"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfCFB8.testAES128"); } harness.checkPoint("TestOfCFB8.testAES192"); /** F.3.9 CFB8-AES192-Encrypt and F.3.10 CFB8-AES192-Decrypt. */ key = Util.toBytesFromUnicode("\u8e73\ub0f7\uda0e\u6452\uc810\uf32b\u8090\u79e5" + "\u62f8\uead2\u522c\u6b7b"); iv = Util.toBytesFromUnicode("\u0001\u0203\u0405\u0607\u0809\u0a0b\u0c0d\u0e0f"); pt1 = Util.toBytesFromString("6b"); ct1 = Util.toBytesFromString("cd"); pt2 = Util.toBytesFromString("c1"); ct2 = Util.toBytesFromString("a2"); pt3 = Util.toBytesFromString("be"); ct3 = Util.toBytesFromString("52"); pt4 = Util.toBytesFromString("e2"); ct4 = Util.toBytesFromString("1e"); pt5 = Util.toBytesFromString("2e"); ct5 = Util.toBytesFromString("f0"); pt6 = Util.toBytesFromString("40"); ct6 = Util.toBytesFromString("a9"); pt7 = Util.toBytesFromString("9f"); ct7 = Util.toBytesFromString("05"); pt8 = Util.toBytesFromString("96"); ct8 = Util.toBytesFromString("ca"); pt9 = Util.toBytesFromString("e9"); ct9 = Util.toBytesFromString("44"); pt10 = Util.toBytesFromString("3d"); ct10 = Util.toBytesFromString("cd"); pt11 = Util.toBytesFromString("7e"); ct11 = Util.toBytesFromString("05"); pt12 = Util.toBytesFromString("11"); ct12 = Util.toBytesFromString("7c"); pt13 = Util.toBytesFromString("73"); ct13 = Util.toBytesFromString("bf"); pt14 = Util.toBytesFromString("93"); ct14 = Util.toBytesFromString("0d"); pt15 = Util.toBytesFromString("17"); ct15 = Util.toBytesFromString("47"); pt16 = Util.toBytesFromString("2a"); ct16 = Util.toBytesFromString("a0"); pt17 = Util.toBytesFromString("ae"); ct17 = Util.toBytesFromString("67"); pt18 = Util.toBytesFromString("2d"); ct18 = Util.toBytesFromString("8a"); ct = new byte[1]; pt = new byte[1]; mode = ModeFactory.getInstance(Registry.CFB_MODE, Registry.AES_CIPHER, 128 / 8); attributes.clear(); attributes.put(IMode.MODE_BLOCK_SIZE, new Integer(1)); attributes.put(IMode.IV, iv); attributes.put(IMode.KEY_MATERIAL, key); try { // encryption ........................................................ attributes.put(IMode.STATE, new Integer(IMode.ENCRYPTION)); mode.init(attributes); mode.update(pt1, 0, ct, 0); harness.check(Arrays.equals(ct, ct1), "CFB8-AES192-Encrypt block #1"); mode.update(pt2, 0, ct, 0); harness.check(Arrays.equals(ct, ct2), "CFB8-AES192-Encrypt block #2"); mode.update(pt3, 0, ct, 0); harness.check(Arrays.equals(ct, ct3), "CFB8-AES192-Encrypt block #3"); mode.update(pt4, 0, ct, 0); harness.check(Arrays.equals(ct, ct4), "CFB8-AES192-Encrypt block #4"); mode.update(pt5, 0, ct, 0); harness.check(Arrays.equals(ct, ct5), "CFB8-AES192-Encrypt block #5"); mode.update(pt6, 0, ct, 0); harness.check(Arrays.equals(ct, ct6), "CFB8-AES192-Encrypt block #6"); mode.update(pt7, 0, ct, 0); harness.check(Arrays.equals(ct, ct7), "CFB8-AES192-Encrypt block #7"); mode.update(pt8, 0, ct, 0); harness.check(Arrays.equals(ct, ct8), "CFB8-AES192-Encrypt block #8"); mode.update(pt9, 0, ct, 0); harness.check(Arrays.equals(ct, ct9), "CFB8-AES192-Encrypt block #9"); mode.update(pt10, 0, ct, 0); harness.check(Arrays.equals(ct, ct10), "CFB8-AES192-Encrypt block #10"); mode.update(pt11, 0, ct, 0); harness.check(Arrays.equals(ct, ct11), "CFB8-AES192-Encrypt block #11"); mode.update(pt12, 0, ct, 0); harness.check(Arrays.equals(ct, ct12), "CFB8-AES192-Encrypt block #12"); mode.update(pt13, 0, ct, 0); harness.check(Arrays.equals(ct, ct13), "CFB8-AES192-Encrypt block #13"); mode.update(pt14, 0, ct, 0); harness.check(Arrays.equals(ct, ct14), "CFB8-AES192-Encrypt block #14"); mode.update(pt15, 0, ct, 0); harness.check(Arrays.equals(ct, ct15), "CFB8-AES192-Encrypt block #15"); mode.update(pt16, 0, ct, 0); harness.check(Arrays.equals(ct, ct16), "CFB8-AES192-Encrypt block #16"); mode.update(pt17, 0, ct, 0); harness.check(Arrays.equals(ct, ct17), "CFB8-AES192-Encrypt block #17"); mode.update(pt18, 0, ct, 0); harness.check(Arrays.equals(ct, ct18), "CFB8-AES192-Encrypt block #18"); // decryption ........................................................ mode.reset(); attributes.put(IMode.STATE, new Integer(IMode.DECRYPTION)); mode.init(attributes); mode.update(ct1, 0, pt, 0); harness.check(Arrays.equals(pt, pt1), "CFB8-AES192-Decrypt block #1"); mode.update(ct2, 0, pt, 0); harness.check(Arrays.equals(pt, pt2), "CFB8-AES192-Decrypt block #2"); mode.update(ct3, 0, pt, 0); harness.check(Arrays.equals(pt, pt3), "CFB8-AES192-Decrypt block #3"); mode.update(ct4, 0, pt, 0); harness.check(Arrays.equals(pt, pt4), "CFB8-AES192-Decrypt block #4"); mode.update(ct5, 0, pt, 0); harness.check(Arrays.equals(pt, pt5), "CFB8-AES192-Decrypt block #5"); mode.update(ct6, 0, pt, 0); harness.check(Arrays.equals(pt, pt6), "CFB8-AES192-Decrypt block #6"); mode.update(ct7, 0, pt, 0); harness.check(Arrays.equals(pt, pt7), "CFB8-AES192-Decrypt block #7"); mode.update(ct8, 0, pt, 0); harness.check(Arrays.equals(pt, pt8), "CFB8-AES192-Decrypt block #8"); mode.update(ct9, 0, pt, 0); harness.check(Arrays.equals(pt, pt9), "CFB8-AES192-Decrypt block #9"); mode.update(ct10, 0, pt, 0); harness.check(Arrays.equals(pt, pt10), "CFB8-AES192-Decrypt block #10"); mode.update(ct11, 0, pt, 0); harness.check(Arrays.equals(pt, pt11), "CFB8-AES192-Decrypt block #11"); mode.update(ct12, 0, pt, 0); harness.check(Arrays.equals(pt, pt12), "CFB8-AES192-Decrypt block #12"); mode.update(ct13, 0, pt, 0); harness.check(Arrays.equals(pt, pt13), "CFB8-AES192-Decrypt block #13"); mode.update(ct14, 0, pt, 0); harness.check(Arrays.equals(pt, pt14), "CFB8-AES192-Decrypt block #14"); mode.update(ct15, 0, pt, 0); harness.check(Arrays.equals(pt, pt15), "CFB8-AES192-Decrypt block #15"); mode.update(ct16, 0, pt, 0); harness.check(Arrays.equals(pt, pt16), "CFB8-AES192-Decrypt block #16"); mode.update(ct17, 0, pt, 0); harness.check(Arrays.equals(pt, pt17), "CFB8-AES192-Decrypt block #17"); mode.update(ct18, 0, pt, 0); harness.check(Arrays.equals(pt, pt18), "CFB8-AES192-Decrypt block #18"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfCFB8.testAES192"); } harness.checkPoint("TestOfCFB8.testAES256"); /** F.3.11 CFB8-AES256-Encrypt and F.3.12 CFB8-AES256-Decrypt. */ key = Util.toBytesFromUnicode("\u603d\ueb10\u15ca\u71be\u2b73\uaef0\u857d\u7781" + "\u1f35\u2c07\u3b61\u08d7\u2d98\u10a3\u0914\udff4"); iv = Util.toBytesFromUnicode("\u0001\u0203\u0405\u0607\u0809\u0a0b\u0c0d\u0e0f"); pt1 = Util.toBytesFromString("6b"); ct1 = Util.toBytesFromString("dc"); pt2 = Util.toBytesFromString("c1"); ct2 = Util.toBytesFromString("1f"); pt3 = Util.toBytesFromString("be"); ct3 = Util.toBytesFromString("1a"); pt4 = Util.toBytesFromString("e2"); ct4 = Util.toBytesFromString("85"); pt5 = Util.toBytesFromString("2e"); ct5 = Util.toBytesFromString("20"); pt6 = Util.toBytesFromString("40"); ct6 = Util.toBytesFromString("a6"); pt7 = Util.toBytesFromString("9f"); ct7 = Util.toBytesFromString("4d"); pt8 = Util.toBytesFromString("96"); ct8 = Util.toBytesFromString("b5"); pt9 = Util.toBytesFromString("e9"); ct9 = Util.toBytesFromString("5f"); pt10 = Util.toBytesFromString("3d"); ct10 = Util.toBytesFromString("cc"); pt11 = Util.toBytesFromString("7e"); ct11 = Util.toBytesFromString("8a"); pt12 = Util.toBytesFromString("11"); ct12 = Util.toBytesFromString("c5"); pt13 = Util.toBytesFromString("73"); ct13 = Util.toBytesFromString("54"); pt14 = Util.toBytesFromString("93"); ct14 = Util.toBytesFromString("84"); pt15 = Util.toBytesFromString("17"); ct15 = Util.toBytesFromString("4e"); pt16 = Util.toBytesFromString("2a"); ct16 = Util.toBytesFromString("88"); pt17 = Util.toBytesFromString("ae"); ct17 = Util.toBytesFromString("97"); pt18 = Util.toBytesFromString("2d"); ct18 = Util.toBytesFromString("00"); ct = new byte[1]; pt = new byte[1]; mode = ModeFactory.getInstance(Registry.CFB_MODE, Registry.AES_CIPHER, 128 / 8); attributes.clear(); attributes.put(IMode.MODE_BLOCK_SIZE, new Integer(1)); attributes.put(IMode.IV, iv); attributes.put(IMode.KEY_MATERIAL, key); try { // encryption ........................................................ attributes.put(IMode.STATE, new Integer(IMode.ENCRYPTION)); mode.init(attributes); mode.update(pt1, 0, ct, 0); harness.check(Arrays.equals(ct, ct1), "CFB8-AES256-Encrypt block #1"); mode.update(pt2, 0, ct, 0); harness.check(Arrays.equals(ct, ct2), "CFB8-AES256-Encrypt block #2"); mode.update(pt3, 0, ct, 0); harness.check(Arrays.equals(ct, ct3), "CFB8-AES256-Encrypt block #3"); mode.update(pt4, 0, ct, 0); harness.check(Arrays.equals(ct, ct4), "CFB8-AES256-Encrypt block #4"); mode.update(pt5, 0, ct, 0); harness.check(Arrays.equals(ct, ct5), "CFB8-AES256-Encrypt block #5"); mode.update(pt6, 0, ct, 0); harness.check(Arrays.equals(ct, ct6), "CFB8-AES256-Encrypt block #6"); mode.update(pt7, 0, ct, 0); harness.check(Arrays.equals(ct, ct7), "CFB8-AES256-Encrypt block #7"); mode.update(pt8, 0, ct, 0); harness.check(Arrays.equals(ct, ct8), "CFB8-AES256-Encrypt block #8"); mode.update(pt9, 0, ct, 0); harness.check(Arrays.equals(ct, ct9), "CFB8-AES256-Encrypt block #9"); mode.update(pt10, 0, ct, 0); harness.check(Arrays.equals(ct, ct10), "CFB8-AES256-Encrypt block #10"); mode.update(pt11, 0, ct, 0); harness.check(Arrays.equals(ct, ct11), "CFB8-AES256-Encrypt block #11"); mode.update(pt12, 0, ct, 0); harness.check(Arrays.equals(ct, ct12), "CFB8-AES256-Encrypt block #12"); mode.update(pt13, 0, ct, 0); harness.check(Arrays.equals(ct, ct13), "CFB8-AES256-Encrypt block #13"); mode.update(pt14, 0, ct, 0); harness.check(Arrays.equals(ct, ct14), "CFB8-AES256-Encrypt block #14"); mode.update(pt15, 0, ct, 0); harness.check(Arrays.equals(ct, ct15), "CFB8-AES256-Encrypt block #15"); mode.update(pt16, 0, ct, 0); harness.check(Arrays.equals(ct, ct16), "CFB8-AES256-Encrypt block #16"); mode.update(pt17, 0, ct, 0); harness.check(Arrays.equals(ct, ct17), "CFB8-AES256-Encrypt block #17"); mode.update(pt18, 0, ct, 0); harness.check(Arrays.equals(ct, ct18), "CFB8-AES256-Encrypt block #18"); // decryption ........................................................ mode.reset(); attributes.put(IMode.STATE, new Integer(IMode.DECRYPTION)); mode.init(attributes); mode.update(ct1, 0, pt, 0); harness.check(Arrays.equals(pt, pt1), "CFB8-AES256-Decrypt block #1"); mode.update(ct2, 0, pt, 0); harness.check(Arrays.equals(pt, pt2), "CFB8-AES256-Decrypt block #2"); mode.update(ct3, 0, pt, 0); harness.check(Arrays.equals(pt, pt3), "CFB8-AES256-Decrypt block #3"); mode.update(ct4, 0, pt, 0); harness.check(Arrays.equals(pt, pt4), "CFB8-AES256-Decrypt block #4"); mode.update(ct5, 0, pt, 0); harness.check(Arrays.equals(pt, pt5), "CFB8-AES256-Decrypt block #5"); mode.update(ct6, 0, pt, 0); harness.check(Arrays.equals(pt, pt6), "CFB8-AES256-Decrypt block #6"); mode.update(ct7, 0, pt, 0); harness.check(Arrays.equals(pt, pt7), "CFB8-AES256-Decrypt block #7"); mode.update(ct8, 0, pt, 0); harness.check(Arrays.equals(pt, pt8), "CFB8-AES256-Decrypt block #8"); mode.update(ct9, 0, pt, 0); harness.check(Arrays.equals(pt, pt9), "CFB8-AES256-Decrypt block #9"); mode.update(ct10, 0, pt, 0); harness.check(Arrays.equals(pt, pt10), "CFB8-AES256-Decrypt block #10"); mode.update(ct11, 0, pt, 0); harness.check(Arrays.equals(pt, pt11), "CFB8-AES256-Decrypt block #11"); mode.update(ct12, 0, pt, 0); harness.check(Arrays.equals(pt, pt12), "CFB8-AES256-Decrypt block #12"); mode.update(ct13, 0, pt, 0); harness.check(Arrays.equals(pt, pt13), "CFB8-AES256-Decrypt block #13"); mode.update(ct14, 0, pt, 0); harness.check(Arrays.equals(pt, pt14), "CFB8-AES256-Decrypt block #14"); mode.update(ct15, 0, pt, 0); harness.check(Arrays.equals(pt, pt15), "CFB8-AES256-Decrypt block #15"); mode.update(ct16, 0, pt, 0); harness.check(Arrays.equals(pt, pt16), "CFB8-AES256-Decrypt block #16"); mode.update(ct17, 0, pt, 0); harness.check(Arrays.equals(pt, pt17), "CFB8-AES256-Decrypt block #17"); mode.update(ct18, 0, pt, 0); harness.check(Arrays.equals(pt, pt18), "CFB8-AES256-Decrypt block #18"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfCFB8.testAES256"); } harness.checkPoint("TestOfCFB128.testAES128"); /** F.3.13 CFB128-AES128-Encrypt and F.3.14 CFB128-AES128-Decrypt. */ key = Util.toBytesFromString("2b7e151628aed2a6abf7158809cf4f3c"); iv = Util.toBytesFromString("000102030405060708090a0b0c0d0e0f"); pt1 = Util.toBytesFromString("6bc1bee22e409f96e93d7e117393172a"); ct1 = Util.toBytesFromString("3b3fd92eb72dad20333449f8e83cfb4a"); pt2 = Util.toBytesFromString("ae2d8a571e03ac9c9eb76fac45af8e51"); ct2 = Util.toBytesFromString("c8a64537a0b3a93fcde3cdad9f1ce58b"); pt3 = Util.toBytesFromString("30c81c46a35ce411e5fbc1191a0a52ef"); ct3 = Util.toBytesFromString("26751f67a3cbb140b1808cf187a4f4df"); pt4 = Util.toBytesFromString("f69f2445df4f9b17ad2b417be66c3710"); ct4 = Util.toBytesFromString("c04b05357c5d1c0eeac4c66f9ff7f2e6"); pt = new byte[16]; ct = new byte[16]; mode = ModeFactory.getInstance(Registry.CFB_MODE, Registry.AES_CIPHER, 128 / 8); attributes.clear(); attributes.put(IMode.MODE_BLOCK_SIZE, new Integer(16)); attributes.put(IMode.IV, iv); attributes.put(IMode.KEY_MATERIAL, key); try { // encryption ...................................................... attributes.put(IMode.STATE, new Integer(IMode.ENCRYPTION)); mode.init(attributes); mode.update(pt1, 0, ct, 0); harness.check(Arrays.equals(ct, ct1), "CFB128-AES128-Encrypt block #1"); mode.update(pt2, 0, ct, 0); harness.check(Arrays.equals(ct, ct2), "CFB128-AES128-Encrypt block #2"); mode.update(pt3, 0, ct, 0); harness.check(Arrays.equals(ct, ct3), "CFB128-AES128-Encrypt block #3"); mode.update(pt4, 0, ct, 0); harness.check(Arrays.equals(ct, ct4), "CFB128-AES128-Encrypt block #4"); // decryption ...................................................... mode.reset(); attributes.put(IMode.STATE, new Integer(IMode.DECRYPTION)); mode.init(attributes); mode.update(ct1, 0, pt, 0); harness.check(Arrays.equals(pt, pt1), "CFB128-AES128-Decrypt block #1"); mode.update(ct2, 0, pt, 0); harness.check(Arrays.equals(pt, pt2), "CFB128-AES128-Decrypt block #2"); mode.update(ct3, 0, pt, 0); harness.check(Arrays.equals(pt, pt3), "CFB128-AES128-Decrypt block #3"); mode.update(ct4, 0, pt, 0); harness.check(Arrays.equals(pt, pt4), "CFB128-AES128-Decrypt block #4"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfCFB128.testAES128"); } harness.checkPoint("TestOfCFB128.testAES192"); /** F.3.15 CFB128-AES192-Encrypt and F.3.16 CFB128-AES192-Decrypt. */ key = Util.toBytesFromString("8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b"); iv = Util.toBytesFromString("000102030405060708090a0b0c0d0e0f"); pt1 = Util.toBytesFromString("6bc1bee22e409f96e93d7e117393172a"); ct1 = Util.toBytesFromString("cdc80d6fddf18cab34c25909c99a4174"); pt2 = Util.toBytesFromString("ae2d8a571e03ac9c9eb76fac45af8e51"); ct2 = Util.toBytesFromString("67ce7f7f81173621961a2b70171d3d7a"); pt3 = Util.toBytesFromString("30c81c46a35ce411e5fbc1191a0a52ef"); ct3 = Util.toBytesFromString("2e1e8a1dd59b88b1c8e60fed1efac4c9"); pt4 = Util.toBytesFromString("f69f2445df4f9b17ad2b417be66c3710"); ct4 = Util.toBytesFromString("c05f9f9ca9834fa042ae8fba584b09ff"); pt = new byte[16]; ct = new byte[16]; mode = ModeFactory.getInstance(Registry.CFB_MODE, Registry.AES_CIPHER, 128 / 8); attributes.clear(); attributes.put(IMode.MODE_BLOCK_SIZE, new Integer(16)); attributes.put(IMode.IV, iv); attributes.put(IMode.KEY_MATERIAL, key); try { // encryption ...................................................... attributes.put(IMode.STATE, new Integer(IMode.ENCRYPTION)); mode.init(attributes); mode.update(pt1, 0, ct, 0); harness.check(Arrays.equals(ct, ct1), "CFB128-AES192-Encrypt block #1"); mode.update(pt2, 0, ct, 0); harness.check(Arrays.equals(ct, ct2), "CFB128-AES192-Encrypt block #2"); mode.update(pt3, 0, ct, 0); harness.check(Arrays.equals(ct, ct3), "CFB128-AES192-Encrypt block #3"); mode.update(pt4, 0, ct, 0); harness.check(Arrays.equals(ct, ct4), "CFB128-AES192-Encrypt block #4"); // decryption ...................................................... mode.reset(); attributes.put(IMode.STATE, new Integer(IMode.DECRYPTION)); mode.init(attributes); mode.update(ct1, 0, pt, 0); harness.check(Arrays.equals(pt, pt1), "CFB128-AES192-Decrypt block #1"); mode.update(ct2, 0, pt, 0); harness.check(Arrays.equals(pt, pt2), "CFB128-AES192-Decrypt block #2"); mode.update(ct3, 0, pt, 0); harness.check(Arrays.equals(pt, pt3), "CFB128-AES192-Decrypt block #3"); mode.update(ct4, 0, pt, 0); harness.check(Arrays.equals(pt, pt4), "CFB128-AES192-Decrypt block #4"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfCFB128.testAES192"); } harness.checkPoint("TestOfCFB128.testAES256"); /** F.3.17 CFB128-AES256-Encrypt and F.3.18 CFB128-AES256-Decrypt. */ key = Util.toBytesFromString("603deb1015ca71be2b73aef0857d7781" + "1f352c073b6108d72d9810a30914dff4"); iv = Util.toBytesFromString("000102030405060708090a0b0c0d0e0f"); pt1 = Util.toBytesFromString("6bc1bee22e409f96e93d7e117393172a"); ct1 = Util.toBytesFromString("dc7e84bfda79164b7ecd8486985d3860"); pt2 = Util.toBytesFromString("ae2d8a571e03ac9c9eb76fac45af8e51"); ct2 = Util.toBytesFromString("39ffed143b28b1c832113c6331e5407b"); pt3 = Util.toBytesFromString("30c81c46a35ce411e5fbc1191a0a52ef"); ct3 = Util.toBytesFromString("df10132415e54b92a13ed0a8267ae2f9"); pt4 = Util.toBytesFromString("f69f2445df4f9b17ad2b417be66c3710"); ct4 = Util.toBytesFromString("75a385741ab9cef82031623d55b1e471"); pt = new byte[16]; ct = new byte[16]; mode = ModeFactory.getInstance(Registry.CFB_MODE, Registry.AES_CIPHER, 128 / 8); attributes.clear(); attributes.put(IMode.MODE_BLOCK_SIZE, new Integer(16)); attributes.put(IMode.IV, iv); attributes.put(IMode.KEY_MATERIAL, key); try { // encryption ...................................................... attributes.put(IMode.STATE, new Integer(IMode.ENCRYPTION)); mode.init(attributes); mode.update(pt1, 0, ct, 0); harness.check(Arrays.equals(ct, ct1), "CFB128-AES256-Encrypt block #1"); mode.update(pt2, 0, ct, 0); harness.check(Arrays.equals(ct, ct2), "CFB128-AES256-Encrypt block #2"); mode.update(pt3, 0, ct, 0); harness.check(Arrays.equals(ct, ct3), "CFB128-AES256-Encrypt block #3"); mode.update(pt4, 0, ct, 0); harness.check(Arrays.equals(ct, ct4), "CFB128-AES256-Encrypt block #4"); // decryption ...................................................... mode.reset(); attributes.put(IMode.STATE, new Integer(IMode.DECRYPTION)); mode.init(attributes); mode.update(ct1, 0, pt, 0); harness.check(Arrays.equals(pt, pt1), "CFB128-AES256-Decrypt block #1"); mode.update(ct2, 0, pt, 0); harness.check(Arrays.equals(pt, pt2), "CFB128-AES256-Decrypt block #2"); mode.update(ct3, 0, pt, 0); harness.check(Arrays.equals(pt, pt3), "CFB128-AES256-Decrypt block #3"); mode.update(ct4, 0, pt, 0); harness.check(Arrays.equals(pt, pt4), "CFB128-AES256-Decrypt block #4"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfCFB128.testAES256"); } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/mode/TestOfECB.java0000644000175000001440000002251010367014266022756 0ustar dokousers/* TestOfECB.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.mode; import gnu.java.security.Registry; import gnu.java.security.util.Util; import gnu.javax.crypto.mode.IMode; import gnu.javax.crypto.mode.ModeFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Arrays; import java.util.HashMap; import java.util.Map; /** * Conformance tests of the ECB implementation. * *

    References:

    *
      *
    1. * Recommendation for Block Cipher Modes of Operation Methods and Techniques, * Morris Dworkin.
    2. *
    */ public class TestOfECB implements Testlet { private byte[] key, pt1, ct1, pt2, ct2, pt3, ct3, pt4, ct4, pt, ct; private IMode mode; private Map attributes = new HashMap(); public void test(TestHarness harness) { harness.checkPoint("TestOfECB.testAES128"); /** F.1.1 ECB-AES128-Encrypt and F.1.2 ECB-AES128-Decrypt. */ key = Util.toBytesFromUnicode("\u2b7e\u1516\u28ae\ud2a6\uabf7\u1588\u09cf\u4f3c"); pt1 = Util.toBytesFromUnicode("\u6bc1\ubee2\u2e40\u9f96\ue93d\u7e11\u7393\u172a"); ct1 = Util.toBytesFromUnicode("\u3ad7\u7bb4\u0d7a\u3660\ua89e\ucaf3\u2466\uef97"); pt2 = Util.toBytesFromUnicode("\uae2d\u8a57\u1e03\uac9c\u9eb7\u6fac\u45af\u8e51"); ct2 = Util.toBytesFromUnicode("\uf5d3\ud585\u03b9\u699d\ue785\u895a\u96fd\ubaaf"); pt3 = Util.toBytesFromUnicode("\u30c8\u1c46\ua35c\ue411\ue5fb\uc119\u1a0a\u52ef"); ct3 = Util.toBytesFromUnicode("\u43b1\ucd7f\u598e\uce23\u881b\u00e3\ued03\u0688"); pt4 = Util.toBytesFromUnicode("\uf69f\u2445\udf4f\u9b17\uad2b\u417b\ue66c\u3710"); ct4 = Util.toBytesFromUnicode("\u7b0c\u785e\u27e8\uad3f\u8223\u2071\u0472\u5dd4"); ct = new byte[16]; pt = new byte[16]; mode = ModeFactory.getInstance(Registry.ECB_MODE, Registry.AES_CIPHER, 128 / 8); attributes.clear(); attributes.put(IMode.KEY_MATERIAL, key); try { // encryption ........................................................ attributes.put(IMode.STATE, new Integer(IMode.ENCRYPTION)); mode.init(attributes); mode.update(pt1, 0, ct, 0); harness.check(Arrays.equals(ct, ct1), "ECB-AES128-Decrypt block #1"); mode.update(pt2, 0, ct, 0); harness.check(Arrays.equals(ct, ct2), "ECB-AES128-Decrypt block #2"); mode.update(pt3, 0, ct, 0); harness.check(Arrays.equals(ct, ct3), "ECB-AES128-Decrypt block #3"); mode.update(pt4, 0, ct, 0); harness.check(Arrays.equals(ct, ct4), "ECB-AES128-Decrypt block #4"); // decryption ........................................................ mode.reset(); attributes.put(IMode.STATE, new Integer(IMode.DECRYPTION)); mode.init(attributes); mode.update(ct1, 0, pt, 0); harness.check(Arrays.equals(pt, pt1), "ECB-AES128-Decrypt block #1"); mode.update(ct2, 0, pt, 0); harness.check(Arrays.equals(pt, pt2), "ECB-AES128-Decrypt block #2"); mode.update(ct3, 0, pt, 0); harness.check(Arrays.equals(pt, pt3), "ECB-AES128-Decrypt block #3"); mode.update(ct4, 0, pt, 0); harness.check(Arrays.equals(pt, pt4), "ECB-AES128-Decrypt block #4"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfECB.testAES128"); } harness.checkPoint("TestOfECB.testAES192"); /** F.1.3 ECB-AES192-Encrypt and F.1.4 ECB-AES192-Decrypt. */ key = Util.toBytesFromUnicode("\u8e73\ub0f7\uda0e\u6452\uc810\uf32b\u8090\u79e5" + "\u62f8\uead2\u522c\u6b7b"); pt1 = Util.toBytesFromUnicode("\u6bc1\ubee2\u2e40\u9f96\ue93d\u7e11\u7393\u172a"); ct1 = Util.toBytesFromUnicode("\ubd33\u4f1d\u6e45\uf25f\uf712\ua214\u571f\ua5cc"); pt2 = Util.toBytesFromUnicode("\uae2d\u8a57\u1e03\uac9c\u9eb7\u6fac\u45af\u8e51"); ct2 = Util.toBytesFromUnicode("\u9741\u0484\u6d0a\ud3ad\u7734\uecb3\uecee\u4eef"); pt3 = Util.toBytesFromUnicode("\u30c8\u1c46\ua35c\ue411\ue5fb\uc119\u1a0a\u52ef"); ct3 = Util.toBytesFromUnicode("\uef7a\ufd22\u70e2\ue60a\udce0\uba2f\uace6\u444e"); pt4 = Util.toBytesFromUnicode("\uf69f\u2445\udf4f\u9b17\uad2b\u417b\ue66c\u3710"); ct4 = Util.toBytesFromUnicode("\u9a4b\u41ba\u738d\u6c72\ufb16\u6916\u03c1\u8e0e"); ct = new byte[16]; pt = new byte[16]; mode = ModeFactory.getInstance(Registry.ECB_MODE, Registry.AES_CIPHER, 128 / 8); attributes.clear(); attributes.put(IMode.KEY_MATERIAL, key); try { // encryption ........................................................ attributes.put(IMode.STATE, new Integer(IMode.ENCRYPTION)); mode.init(attributes); mode.update(pt1, 0, ct, 0); harness.check(Arrays.equals(ct, ct1), "ECB-AES192-Decrypt block #1"); mode.update(pt2, 0, ct, 0); harness.check(Arrays.equals(ct, ct2), "ECB-AES192-Decrypt block #2"); mode.update(pt3, 0, ct, 0); harness.check(Arrays.equals(ct, ct3), "ECB-AES192-Decrypt block #3"); mode.update(pt4, 0, ct, 0); harness.check(Arrays.equals(ct, ct4), "ECB-AES192-Decrypt block #4"); // decryption ........................................................ mode.reset(); attributes.put(IMode.STATE, new Integer(IMode.DECRYPTION)); mode.init(attributes); mode.update(ct1, 0, pt, 0); harness.check(Arrays.equals(pt, pt1), "ECB-AES192-Decrypt block #1"); mode.update(ct2, 0, pt, 0); harness.check(Arrays.equals(pt, pt2), "ECB-AES192-Decrypt block #2"); mode.update(ct3, 0, pt, 0); harness.check(Arrays.equals(pt, pt3), "ECB-AES192-Decrypt block #3"); mode.update(ct4, 0, pt, 0); harness.check(Arrays.equals(pt, pt4), "ECB-AES192-Decrypt block #4"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfECB.testAES192"); } harness.checkPoint("TestOfECB.testAES256"); /** F.1.5 ECB-AES256-Encrypt and F.1.6 ECB-AES256-Decrypt. */ key = Util.toBytesFromUnicode("\u603d\ueb10\u15ca\u71be\u2b73\uaef0\u857d\u7781" + "\u1f35\u2c07\u3b61\u08d7\u2d98\u10a3\u0914\udff4"); pt1 = Util.toBytesFromUnicode("\u6bc1\ubee2\u2e40\u9f96\ue93d\u7e11\u7393\u172a"); ct1 = Util.toBytesFromUnicode("\uf3ee\ud1bd\ub5d2\ua03c\u064b\u5a7e\u3db1\u81f8"); pt2 = Util.toBytesFromUnicode("\uae2d\u8a57\u1e03\uac9c\u9eb7\u6fac\u45af\u8e51"); ct2 = Util.toBytesFromUnicode("\u591c\ucb10\ud410\ued26\udc5b\ua74a\u3136\u2870"); pt3 = Util.toBytesFromUnicode("\u30c8\u1c46\ua35c\ue411\ue5fb\uc119\u1a0a\u52ef"); ct3 = Util.toBytesFromUnicode("\ub6ed\u21b9\u9ca6\uf4f9\uf153\ue7b1\ubeaf\ued1d"); pt4 = Util.toBytesFromUnicode("\uf69f\u2445\udf4f\u9b17\uad2b\u417b\ue66c\u3710"); ct4 = Util.toBytesFromUnicode("\u2330\u4b7a\u39f9\uf3ff\u067d\u8d8f\u9e24\uecc7"); ct = new byte[16]; pt = new byte[16]; mode = ModeFactory.getInstance(Registry.ECB_MODE, Registry.AES_CIPHER, 128 / 8); attributes.clear(); attributes.put(IMode.KEY_MATERIAL, key); try { // encryption ........................................................ attributes.put(IMode.STATE, new Integer(IMode.ENCRYPTION)); mode.init(attributes); mode.update(pt1, 0, ct, 0); harness.check(Arrays.equals(ct, ct1), "ECB-AES256-Decrypt block #1"); mode.update(pt2, 0, ct, 0); harness.check(Arrays.equals(ct, ct2), "ECB-AES256-Decrypt block #2"); mode.update(pt3, 0, ct, 0); harness.check(Arrays.equals(ct, ct3), "ECB-AES256-Decrypt block #3"); mode.update(pt4, 0, ct, 0); harness.check(Arrays.equals(ct, ct4), "ECB-AES256-Decrypt block #4"); // decryption ........................................................ mode.reset(); attributes.put(IMode.STATE, new Integer(IMode.DECRYPTION)); mode.init(attributes); mode.update(ct1, 0, pt, 0); harness.check(Arrays.equals(pt, pt1), "ECB-AES256-Decrypt block #1"); mode.update(ct2, 0, pt, 0); harness.check(Arrays.equals(pt, pt2), "ECB-AES256-Decrypt block #2"); mode.update(ct3, 0, pt, 0); harness.check(Arrays.equals(pt, pt3), "ECB-AES256-Decrypt block #3"); mode.update(ct4, 0, pt, 0); harness.check(Arrays.equals(pt, pt4), "ECB-AES256-Decrypt block #4"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfECB.testAES256"); } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/mode/TestOfCBC.java0000644000175000001440000002325510367014266022763 0ustar dokousers/* TestOfCBC.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.mode; import gnu.java.security.Registry; import gnu.java.security.util.Util; import gnu.javax.crypto.mode.IMode; import gnu.javax.crypto.mode.ModeFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Arrays; import java.util.HashMap; import java.util.Map; /** * Conformance tests of the CBC implementation. * *

    References:

    *
      *
    1. * Recommendation for Block Cipher Modes of Operation Methods and Techniques, * Morris Dworkin.
    2. *
    */ public class TestOfCBC implements Testlet { private byte[] key, iv, pt1, ct1, pt2, ct2, pt3, ct3, pt4, ct4, pt, ct; private IMode mode; private Map attributes = new HashMap(); public void test(TestHarness harness) { harness.checkPoint("TestOfCBC.testAES128"); /** F.2.1 CBC-AES-Encrypt and F.2.2 CBC-AES-Decrypt. */ key = Util.toBytesFromUnicode("\u2b7e\u1516\u28ae\ud2a6\uabf7\u1588\u09cf\u4f3c"); iv = Util.toBytesFromUnicode("\u0001\u0203\u0405\u0607\u0809\u0a0b\u0c0d\u0e0f"); pt1 = Util.toBytesFromUnicode("\u6bc1\ubee2\u2e40\u9f96\ue93d\u7e11\u7393\u172a"); ct1 = Util.toBytesFromUnicode("\u7649\uabac\u8119\ub246\ucee9\u8e9b\u12e9\u197d"); pt2 = Util.toBytesFromUnicode("\uae2d\u8a57\u1e03\uac9c\u9eb7\u6fac\u45af\u8e51"); ct2 = Util.toBytesFromUnicode("\u5086\ucb9b\u5072\u19ee\u95db\u113a\u9176\u78b2"); pt3 = Util.toBytesFromUnicode("\u30c8\u1c46\ua35c\ue411\ue5fb\uc119\u1a0a\u52ef"); ct3 = Util.toBytesFromUnicode("\u73be\ud6b8\ue3c1\u743b\u7116\ue69e\u2222\u9516"); pt4 = Util.toBytesFromUnicode("\uf69f\u2445\udf4f\u9b17\uad2b\u417b\ue66c\u3710"); ct4 = Util.toBytesFromUnicode("\u3ff1\ucaa1\u681f\uac09\u120e\uca30\u7586\ue1a7"); pt = new byte[16]; ct = new byte[16]; mode = ModeFactory.getInstance(Registry.CBC_MODE, Registry.AES_CIPHER, 128 / 8); attributes.clear(); attributes.put(IMode.IV, iv); attributes.put(IMode.KEY_MATERIAL, key); try { // encryption ........................................................ attributes.put(IMode.STATE, new Integer(IMode.ENCRYPTION)); mode.init(attributes); mode.update(pt1, 0, ct, 0); harness.check(Arrays.equals(ct, ct1), "CBC-AES128-Encrypt block #1"); mode.update(pt2, 0, ct, 0); harness.check(Arrays.equals(ct, ct2), "CBC-AES128-Encrypt block #2"); mode.update(pt3, 0, ct, 0); harness.check(Arrays.equals(ct, ct3), "CBC-AES128-Encrypt block #3"); mode.update(pt4, 0, ct, 0); harness.check(Arrays.equals(ct, ct4), "CBC-AES128-Encrypt block #4"); // decryption ........................................................ mode.reset(); attributes.put(IMode.STATE, new Integer(IMode.DECRYPTION)); mode.init(attributes); mode.update(ct1, 0, pt, 0); harness.check(Arrays.equals(pt, pt1), "CBC-AES128-Decrypt block #1"); mode.update(ct2, 0, pt, 0); harness.check(Arrays.equals(pt, pt2), "CBC-AES128-Decrypt block #2"); mode.update(ct3, 0, pt, 0); harness.check(Arrays.equals(pt, pt3), "CBC-AES128-Decrypt block #3"); mode.update(ct4, 0, pt, 0); harness.check(Arrays.equals(pt, pt4), "CBC-AES128-Decrypt block #4"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfCBC.testAES128"); } harness.checkPoint("TestOfCBC.testAES192"); /** F.2.3 CBC-AES192-Encrypt and F.2.4 CBC-AES192-Decrypt. */ key = Util.toBytesFromUnicode("\u8e73\ub0f7\uda0e\u6452\uc810\uf32b\u8090\u79e5" + "\u62f8\uead2\u522c\u6b7b"); iv = Util.toBytesFromUnicode("\u0001\u0203\u0405\u0607\u0809\u0a0b\u0c0d\u0e0f"); pt1 = Util.toBytesFromUnicode("\u6bc1\ubee2\u2e40\u9f96\ue93d\u7e11\u7393\u172a"); ct1 = Util.toBytesFromUnicode("\u4f02\u1db2\u43bc\u633d\u7178\u183a\u9fa0\u71e8"); pt2 = Util.toBytesFromUnicode("\uae2d\u8a57\u1e03\uac9c\u9eb7\u6fac\u45af\u8e51"); ct2 = Util.toBytesFromUnicode("\ub4d9\uada9\uad7d\uedf4\ue5e7\u3876\u3f69\u145a"); pt3 = Util.toBytesFromUnicode("\u30c8\u1c46\ua35c\ue411\ue5fb\uc119\u1a0a\u52ef"); ct3 = Util.toBytesFromUnicode("\u571b\u2420\u12fb\u7ae0\u7fa9\ubaac\u3df1\u02e0"); pt4 = Util.toBytesFromUnicode("\uf69f\u2445\udf4f\u9b17\uad2b\u417b\ue66c\u3710"); ct4 = Util.toBytesFromUnicode("\u08b0\ue279\u8859\u8881\ud920\ua9e6\u4f56\u15cd"); ct = new byte[16]; pt = new byte[16]; mode = ModeFactory.getInstance(Registry.CBC_MODE, Registry.AES_CIPHER, 128 / 8); attributes.clear(); attributes.put(IMode.IV, iv); attributes.put(IMode.KEY_MATERIAL, key); try { // encryption ........................................................ attributes.put(IMode.STATE, new Integer(IMode.ENCRYPTION)); mode.init(attributes); mode.update(pt1, 0, ct, 0); harness.check(Arrays.equals(ct, ct1), "CBC-AES192-Decrypt block #1"); mode.update(pt2, 0, ct, 0); harness.check(Arrays.equals(ct, ct2), "CBC-AES192-Decrypt block #2"); mode.update(pt3, 0, ct, 0); harness.check(Arrays.equals(ct, ct3), "CBC-AES192-Decrypt block #3"); mode.update(pt4, 0, ct, 0); harness.check(Arrays.equals(ct, ct4), "CBC-AES192-Decrypt block #4"); // decryption ........................................................ mode.reset(); attributes.put(IMode.STATE, new Integer(IMode.DECRYPTION)); mode.init(attributes); mode.update(ct1, 0, pt, 0); harness.check(Arrays.equals(pt, pt1), "CBC-AES192-Decrypt block #1"); mode.update(ct2, 0, pt, 0); harness.check(Arrays.equals(pt, pt2), "CBC-AES192-Decrypt block #2"); mode.update(ct3, 0, pt, 0); harness.check(Arrays.equals(pt, pt3), "CBC-AES192-Decrypt block #3"); mode.update(ct4, 0, pt, 0); harness.check(Arrays.equals(pt, pt4), "CBC-AES192-Decrypt block #4"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfCBC.testAES192"); } harness.checkPoint("TestOfCBC.testAES256"); /** F.2.5 CBC-AES256-Encrypt and F.2.6 CBC-AES256-Decrypt. */ key = Util.toBytesFromUnicode("\u603d\ueb10\u15ca\u71be\u2b73\uaef0\u857d\u7781" + "\u1f35\u2c07\u3b61\u08d7\u2d98\u10a3\u0914\udff4"); iv = Util.toBytesFromUnicode("\u0001\u0203\u0405\u0607\u0809\u0a0b\u0c0d\u0e0f"); pt1 = Util.toBytesFromUnicode("\u6bc1\ubee2\u2e40\u9f96\ue93d\u7e11\u7393\u172a"); ct1 = Util.toBytesFromUnicode("\uf58c\u4c04\ud6e5\uf1ba\u779e\uabfb\u5f7b\ufbd6"); pt2 = Util.toBytesFromUnicode("\uae2d\u8a57\u1e03\uac9c\u9eb7\u6fac\u45af\u8e51"); ct2 = Util.toBytesFromUnicode("\u9cfc\u4e96\u7edb\u808d\u679f\u777b\uc670\u2c7d"); pt3 = Util.toBytesFromUnicode("\u30c8\u1c46\ua35c\ue411\ue5fb\uc119\u1a0a\u52ef"); ct3 = Util.toBytesFromUnicode("\u39f2\u3369\ua9d9\ubacf\ua530\ue263\u0423\u1461"); pt4 = Util.toBytesFromUnicode("\uf69f\u2445\udf4f\u9b17\uad2b\u417b\ue66c\u3710"); ct4 = Util.toBytesFromUnicode("\ub2eb\u05e2\uc39b\ue9fc\uda6c\u1907\u8c6a\u9d1b"); ct = new byte[16]; pt = new byte[16]; mode = ModeFactory.getInstance(Registry.CBC_MODE, Registry.AES_CIPHER, 128 / 8); attributes.clear(); attributes.put(IMode.IV, iv); attributes.put(IMode.KEY_MATERIAL, key); try { // encryption ........................................................ attributes.put(IMode.STATE, new Integer(IMode.ENCRYPTION)); mode.init(attributes); mode.update(pt1, 0, ct, 0); harness.check(Arrays.equals(ct, ct1), "CBC-AES256-Decrypt block #1"); mode.update(pt2, 0, ct, 0); harness.check(Arrays.equals(ct, ct2), "CBC-AES256-Decrypt block #2"); mode.update(pt3, 0, ct, 0); harness.check(Arrays.equals(ct, ct3), "CBC-AES256-Decrypt block #3"); mode.update(pt4, 0, ct, 0); harness.check(Arrays.equals(ct, ct4), "CBC-AES256-Decrypt block #4"); // decryption ........................................................ mode.reset(); attributes.put(IMode.STATE, new Integer(IMode.DECRYPTION)); mode.init(attributes); mode.update(ct1, 0, pt, 0); harness.check(Arrays.equals(pt, pt1), "CBC-AES256-Decrypt block #1"); mode.update(ct2, 0, pt, 0); harness.check(Arrays.equals(pt, pt2), "CBC-AES256-Decrypt block #2"); mode.update(ct3, 0, pt, 0); harness.check(Arrays.equals(pt, pt3), "CBC-AES256-Decrypt block #3"); mode.update(ct4, 0, pt, 0); harness.check(Arrays.equals(pt, pt4), "CBC-AES256-Decrypt block #4"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfCBC.testAES256"); } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/mode/TestOfEAX.java0000644000175000001440000001701110367014266023002 0ustar dokousers/* TestOfEAX.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.mode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.java.security.Registry; import gnu.java.security.util.Util; import gnu.javax.crypto.cipher.CipherFactory; import gnu.javax.crypto.mode.EAX; import gnu.javax.crypto.mode.IAuthenticatedMode; import java.util.Arrays; import java.util.HashMap; public class TestOfEAX implements Testlet { // (key, iv, msg, header, ciphertest, tag) private static byte[][][] TESTS = new byte[][][] { new byte[][] { Util.toBytesFromString("233952DEE4D5ED5F9B9C6D6FF80FF478"), Util.toBytesFromString("62EC67F9C3A4A407FCB2A8C49031A8B3"), new byte[0], Util.toBytesFromString("6BFB914FD07EAE6B"), new byte[0], Util.toBytesFromString("E037830E8389F27B025A2D6527E79D01") }, new byte[][] { Util.toBytesFromString("91945D3F4DCBEE0BF45EF52255F095A4"), Util.toBytesFromString("BECAF043B0A23D843194BA972C66DEBD"), Util.toBytesFromString("F7FB"), Util.toBytesFromString("FA3BFD4806EB53FA"), Util.toBytesFromString("19DD"), Util.toBytesFromString("5C4C9331049D0BDAB0277408F67967E5") }, new byte[][] { Util.toBytesFromString("01F74AD64077F2E704C0F60ADA3DD523"), Util.toBytesFromString("70C3DB4F0D26368400A10ED05D2BFF5E"), Util.toBytesFromString("1A47CB4933"), Util.toBytesFromString("234A3463C1264AC6"), Util.toBytesFromString("D851D5BAE0"), Util.toBytesFromString("3A59F238A23E39199DC9266626C40F80") }, new byte[][] { Util.toBytesFromString("D07CF6CBB7F313BDDE66B727AFD3C5E8"), Util.toBytesFromString("8408DFFF3C1A2B1292DC199E46B7D617"), Util.toBytesFromString("481C9E39B1"), Util.toBytesFromString("33CCE2EABFF5A79D"), Util.toBytesFromString("632A9D131A"), Util.toBytesFromString("D4C168A4225D8E1FF755939974A7BEDE") }, new byte[][] { Util.toBytesFromString("35B6D0580005BBC12B0587124557D2C2"), Util.toBytesFromString("FDB6B06676EEDC5C61D74276E1F8E816"), Util.toBytesFromString("40D0C07DA5E4"), Util.toBytesFromString("AEB96EAEBE2970E9"), Util.toBytesFromString("071DFE16C675"), Util.toBytesFromString("CB0677E536F73AFE6A14B74EE49844DD") }, new byte[][] { Util.toBytesFromString("BD8E6E11475E60B268784C38C62FEB22"), Util.toBytesFromString("6EAC5C93072D8E8513F750935E46DA1B"), Util.toBytesFromString("4DE3B35C3FC039245BD1FB7D"), Util.toBytesFromString("D4482D1CA78DCE0F"), Util.toBytesFromString("835BB4F15D743E350E728414"), Util.toBytesFromString("ABB8644FD6CCB86947C5E10590210A4F") }, new byte[][] { Util.toBytesFromString("7C77D6E813BED5AC98BAA417477A2E7D"), Util.toBytesFromString("1A8C98DCD73D38393B2BF1569DEEFC19"), Util.toBytesFromString("8B0A79306C9CE7ED99DAE4F87F8DD61636"), Util.toBytesFromString("65D2017990D62528"), Util.toBytesFromString("02083E3979DA014812F59F11D52630DA30"), Util.toBytesFromString("137327D10649B0AA6E1C181DB617D7F2") }, new byte[][] { Util.toBytesFromString("5FFF20CAFAB119CA2FC73549E20F5B0D"), Util.toBytesFromString("DDE59B97D722156D4D9AFF2BC7559826"), Util.toBytesFromString("1BDA122BCE8A8DBAF1877D962B8592DD2D56"), Util.toBytesFromString("54B9F04E6A09189A"), Util.toBytesFromString("2EC47B2C4954A489AFC7BA4897EDCDAE8CC3"), Util.toBytesFromString("3B60450599BD02C96382902AEF7F832A") }, new byte[][] { Util.toBytesFromString("A4A4782BCFFD3EC5E7EF6D8C34A56123"), Util.toBytesFromString("B781FCF2F75FA5A8DE97A9CA48E522EC"), Util.toBytesFromString("6CF36720872B8513F6EAB1A8A44438D5EF11"), Util.toBytesFromString("899A175897561D7E"), Util.toBytesFromString("0DE18FD0FDD91E7AF19F1D8EE8733938B1E8"), Util.toBytesFromString("E7F6D2231618102FDB7FE55FF1991700") }, new byte[][] { Util.toBytesFromString("8395FCF1E95BEBD697BD010BC766AAC3"), Util.toBytesFromString("22E7ADD93CFC6393C57EC0B3C17D6B44"), Util.toBytesFromString("CA40D7446E545FFAED3BD12A740A659FFBBB3CEAB7"), Util.toBytesFromString("126735FCC320D25A"), Util.toBytesFromString("CB8920F87A6C75CFF39627B56E3ED197C552D295A7"), Util.toBytesFromString("CFC46AFC253B4652B1AF3795B124AB6E") } }; public void test(TestHarness harness) { harness.checkPoint("EAX/AES-128"); IAuthenticatedMode mode = (IAuthenticatedMode) // ModeFactory.getInstance(Registry.EAX_MODE, Registry.AES_CIPHER, 16); new EAX(CipherFactory.getInstance(Registry.AES_CIPHER), 16); HashMap attr = new HashMap(); attr.put(IAuthenticatedMode.MODE_BLOCK_SIZE, new Integer(1)); for (int i = 0; i < TESTS.length; i++) { attr.put(IAuthenticatedMode.KEY_MATERIAL, TESTS[i][0]); attr.put(IAuthenticatedMode.IV, TESTS[i][1]); try { mode.reset(); mode.init(attr); mode.update(TESTS[i][3], 0, TESTS[i][3].length); byte[] ct = new byte[TESTS[i][2].length]; for (int j = 0; j < TESTS[i][2].length; j += mode.currentBlockSize()) { mode.update(TESTS[i][2], j, ct, j); } byte[] tag = mode.digest(); harness.verbose(" KEY: " + Util.toString(TESTS[i][0])); harness.verbose(" IV: " + Util.toString(TESTS[i][1])); harness.verbose(" MSG: " + Util.toString(TESTS[i][2])); harness.verbose(" HDR: " + Util.toString(TESTS[i][3])); harness.verbose(" ECT: " + Util.toString(TESTS[i][4])); harness.verbose(" CT: " + Util.toString(ct)); harness.verbose("ETAG: " + Util.toString(TESTS[i][5])); harness.verbose(" TAG: " + Util.toString(tag)); harness.check(Arrays.equals(TESTS[i][4], ct)); harness.check(Arrays.equals(TESTS[i][5], tag)); } catch (Exception x) { harness.fail(x.toString()); harness.debug(x); } } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/mode/TestOfOFB.java0000644000175000001440000002327010367014266022777 0ustar dokousers/* TestOfOFB.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.mode; import gnu.java.security.Registry; import gnu.java.security.util.Util; import gnu.javax.crypto.mode.IMode; import gnu.javax.crypto.mode.ModeFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Arrays; import java.util.HashMap; import java.util.Map; /** * Conformance tests of the OFB implementation. * *

    References:

    * *
      *
    1. * Recommendation for Block Cipher Modes of Operation Methods and Techniques, * Morris Dworkin.
    2. *
    */ public class TestOfOFB implements Testlet { private byte[] key, iv, pt1, ct1, pt2, ct2, pt3, ct3, pt4, ct4, pt, ct; private IMode mode; private Map attributes = new HashMap(); public void test(TestHarness harness) { harness.checkPoint("TestOfOFB.testAES128"); /** F.4.1 OFB-AES128-Encrypt and F.4.2 OFB-AES128-Decrypt. */ key = Util.toBytesFromUnicode("\u2b7e\u1516\u28ae\ud2a6\uabf7\u1588\u09cf\u4f3c"); iv = Util.toBytesFromUnicode("\u0001\u0203\u0405\u0607\u0809\u0a0b\u0c0d\u0e0f"); pt1 = Util.toBytesFromUnicode("\u6bc1\ubee2\u2e40\u9f96\ue93d\u7e11\u7393\u172a"); ct1 = Util.toBytesFromUnicode("\u3b3f\ud92e\ub72d\uad20\u3334\u49f8\ue83c\ufb4a"); pt2 = Util.toBytesFromUnicode("\uae2d\u8a57\u1e03\uac9c\u9eb7\u6fac\u45af\u8e51"); ct2 = Util.toBytesFromUnicode("\u7789\u508d\u1691\u8f03\uf53c\u52da\uc54e\ud825"); pt3 = Util.toBytesFromUnicode("\u30c8\u1c46\ua35c\ue411\ue5fb\uc119\u1a0a\u52ef"); ct3 = Util.toBytesFromUnicode("\u9740\u051e\u9c5f\uecf6\u4344\uf7a8\u2260\uedcc"); pt4 = Util.toBytesFromUnicode("\uf69f\u2445\udf4f\u9b17\uad2b\u417b\ue66c\u3710"); ct4 = Util.toBytesFromUnicode("\u304c\u6528\uf659\uc778\u66a5\u10d9\uc1d6\uae5e"); ct = new byte[16]; pt = new byte[16]; mode = ModeFactory.getInstance(Registry.OFB_MODE, Registry.AES_CIPHER, 128 / 8); attributes.clear(); attributes.put(IMode.IV, iv); attributes.put(IMode.KEY_MATERIAL, key); try { // encryption ........................................................ attributes.put(IMode.STATE, new Integer(IMode.ENCRYPTION)); mode.init(attributes); mode.update(pt1, 0, ct, 0); harness.check(Arrays.equals(ct, ct1), "OFB-AES128-Decrypt block #1"); mode.update(pt2, 0, ct, 0); harness.check(Arrays.equals(ct, ct2), "OFB-AES128-Decrypt block #2"); mode.update(pt3, 0, ct, 0); harness.check(Arrays.equals(ct, ct3), "OFB-AES128-Decrypt block #3"); mode.update(pt4, 0, ct, 0); harness.check(Arrays.equals(ct, ct4), "OFB-AES128-Decrypt block #4"); // decryption ........................................................ mode.reset(); attributes.put(IMode.STATE, new Integer(IMode.DECRYPTION)); mode.init(attributes); mode.update(ct1, 0, pt, 0); harness.check(Arrays.equals(pt, pt1), "OFB-AES128-Decrypt block #1"); mode.update(ct2, 0, pt, 0); harness.check(Arrays.equals(pt, pt2), "OFB-AES128-Decrypt block #2"); mode.update(ct3, 0, pt, 0); harness.check(Arrays.equals(pt, pt3), "OFB-AES128-Decrypt block #3"); mode.update(ct4, 0, pt, 0); harness.check(Arrays.equals(pt, pt4), "OFB-AES128-Decrypt block #4"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfOFB.testAES128"); } harness.checkPoint("TestOfOFB.testAES192"); /** F.4.3 OFB-AES192-Encrypt and F.4.4 OFB-AES192-Decrypt. */ key = Util.toBytesFromUnicode("\u8e73\ub0f7\uda0e\u6452\uc810\uf32b\u8090\u79e5" + "\u62f8\uead2\u522c\u6b7b"); iv = Util.toBytesFromUnicode("\u0001\u0203\u0405\u0607\u0809\u0a0b\u0c0d\u0e0f"); pt1 = Util.toBytesFromUnicode("\u6bc1\ubee2\u2e40\u9f96\ue93d\u7e11\u7393\u172a"); ct1 = Util.toBytesFromUnicode("\ucdc8\u0d6f\uddf1\u8cab\u34c2\u5909\uc99a\u4174"); pt2 = Util.toBytesFromUnicode("\uae2d\u8a57\u1e03\uac9c\u9eb7\u6fac\u45af\u8e51"); ct2 = Util.toBytesFromUnicode("\ufcc2\u8b8d\u4c63\u837c\u09e8\u1700\uc110\u0401"); pt3 = Util.toBytesFromUnicode("\u30c8\u1c46\ua35c\ue411\ue5fb\uc119\u1a0a\u52ef"); ct3 = Util.toBytesFromUnicode("\u8d9a\u9aea\uc0f6\u596f\u559c\u6d4d\uaf59\ua5f2"); pt4 = Util.toBytesFromUnicode("\uf69f\u2445\udf4f\u9b17\uad2b\u417b\ue66c\u3710"); ct4 = Util.toBytesFromUnicode("\u6d9f\u2008\u57ca\u6c3e\u9cac\u524b\ud9ac\uc92a"); ct = new byte[16]; pt = new byte[16]; mode = ModeFactory.getInstance(Registry.OFB_MODE, Registry.AES_CIPHER, 128 / 8); attributes.clear(); attributes.put(IMode.IV, iv); attributes.put(IMode.KEY_MATERIAL, key); try { // encryption ........................................................ attributes.put(IMode.STATE, new Integer(IMode.ENCRYPTION)); mode.init(attributes); mode.update(pt1, 0, ct, 0); harness.check(Arrays.equals(ct, ct1), "OFB-AES192-Decrypt block #1"); mode.update(pt2, 0, ct, 0); harness.check(Arrays.equals(ct, ct2), "OFB-AES192-Decrypt block #2"); mode.update(pt3, 0, ct, 0); harness.check(Arrays.equals(ct, ct3), "OFB-AES192-Decrypt block #3"); mode.update(pt4, 0, ct, 0); harness.check(Arrays.equals(ct, ct4), "OFB-AES192-Decrypt block #4"); // decryption ........................................................ mode.reset(); attributes.put(IMode.STATE, new Integer(IMode.DECRYPTION)); mode.init(attributes); mode.update(ct1, 0, pt, 0); harness.check(Arrays.equals(pt, pt1), "OFB-AES192-Decrypt block #1"); mode.update(ct2, 0, pt, 0); harness.check(Arrays.equals(pt, pt2), "OFB-AES192-Decrypt block #2"); mode.update(ct3, 0, pt, 0); harness.check(Arrays.equals(pt, pt3), "OFB-AES192-Decrypt block #3"); mode.update(ct4, 0, pt, 0); harness.check(Arrays.equals(pt, pt4), "OFB-AES192-Decrypt block #4"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfOFB.testAES192"); } harness.checkPoint("TestOfOFB.testAES256"); /** F.4.5 OFB-AES256-Encrypt and F.4.6 OFB-AES256-Decrypt. */ key = Util.toBytesFromUnicode("\u603d\ueb10\u15ca\u71be\u2b73\uaef0\u857d\u7781" + "\u1f35\u2c07\u3b61\u08d7\u2d98\u10a3\u0914\udff4"); iv = Util.toBytesFromUnicode("\u0001\u0203\u0405\u0607\u0809\u0a0b\u0c0d\u0e0f"); pt1 = Util.toBytesFromUnicode("\u6bc1\ubee2\u2e40\u9f96\ue93d\u7e11\u7393\u172a"); ct1 = Util.toBytesFromUnicode("\udc7e\u84bf\uda79\u164b\u7ecd\u8486\u985d\u3860"); pt2 = Util.toBytesFromUnicode("\uae2d\u8a57\u1e03\uac9c\u9eb7\u6fac\u45af\u8e51"); ct2 = Util.toBytesFromUnicode("\u4feb\udc67\u40d2\u0b3a\uc88f\u6ad8\u2a4f\ub08d"); pt3 = Util.toBytesFromUnicode("\u30c8\u1c46\ua35c\ue411\ue5fb\uc119\u1a0a\u52ef"); ct3 = Util.toBytesFromUnicode("\u71ab\u47a0\u86e8\u6eed\uf39d\u1c5b\uba97\uc408"); pt4 = Util.toBytesFromUnicode("\uf69f\u2445\udf4f\u9b17\uad2b\u417b\ue66c\u3710"); ct4 = Util.toBytesFromUnicode("\u0126\u141d\u67f3\u7be8\u538f\u5a8b\ue740\ue484"); ct = new byte[16]; pt = new byte[16]; mode = ModeFactory.getInstance(Registry.OFB_MODE, Registry.AES_CIPHER, 128 / 8); attributes.clear(); attributes.put(IMode.IV, iv); attributes.put(IMode.KEY_MATERIAL, key); try { // encryption ........................................................ attributes.put(IMode.STATE, new Integer(IMode.ENCRYPTION)); mode.init(attributes); mode.update(pt1, 0, ct, 0); harness.check(Arrays.equals(ct, ct1), "OFB-AES256-Decrypt block #1"); mode.update(pt2, 0, ct, 0); harness.check(Arrays.equals(ct, ct2), "OFB-AES256-Decrypt block #2"); mode.update(pt3, 0, ct, 0); harness.check(Arrays.equals(ct, ct3), "OFB-AES256-Decrypt block #3"); mode.update(pt4, 0, ct, 0); harness.check(Arrays.equals(ct, ct4), "OFB-AES256-Decrypt block #4"); // decryption ........................................................ mode.reset(); attributes.put(IMode.STATE, new Integer(IMode.DECRYPTION)); mode.init(attributes); mode.update(ct1, 0, pt, 0); harness.check(Arrays.equals(pt, pt1), "OFB-AES256-Decrypt block #1"); mode.update(ct2, 0, pt, 0); harness.check(Arrays.equals(pt, pt2), "OFB-AES256-Decrypt block #2"); mode.update(ct3, 0, pt, 0); harness.check(Arrays.equals(pt, pt3), "OFB-AES256-Decrypt block #3"); mode.update(ct4, 0, pt, 0); harness.check(Arrays.equals(pt, pt4), "OFB-AES256-Decrypt block #4"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfOFB.testAES256"); } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/pad/0000755000175000001440000000000012375316426020221 5ustar dokousersmauve-20140821/gnu/testlet/gnu/javax/crypto/pad/TestOfPKCS7.java0000644000175000001440000000264010367014266023036 0ustar dokousers/* TestOfPKCS7.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.pad; import gnu.javax.crypto.pad.IPad; import gnu.javax.crypto.pad.PadFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Conformance tests for the PKCS7 implementation. */ public class TestOfPKCS7 implements Testlet { public void test(TestHarness harness) { harness.checkPoint("TestOfPKCS7"); try { IPad algorithm = PadFactory.getInstance("pkcs7"); harness.check(algorithm.selfTest(), "selfTest"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfPKCS7.selfTest"); } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/pad/TestOfISO10126.java0000644000175000001440000000472510442260520023227 0ustar dokousers/* TestOfISO10126.java Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.pad; import gnu.javax.crypto.pad.IPad; import gnu.javax.crypto.pad.PadFactory; import gnu.javax.crypto.pad.WrongPaddingException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Basic tests for the ISO-10126 padding scheme. */ public class TestOfISO10126 implements Testlet { /* (non-Javadoc) * @see gnu.testlet.Testlet#test(gnu.testlet.TestHarness) */ public void test(TestHarness harness) { harness.checkPoint("TestOfISO10126"); try { IPad algorithm = PadFactory.getInstance("iso10126"); byte[] in = new byte[1024]; for (int bs = 2; bs < 256; bs++) if (! padderTest1BlockSize(algorithm, bs, in)) harness.fail("ISO10126 padder failed for block-size = " + bs); harness.check(true, "ISO10126 padder OK"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfISO10126"); } } private boolean padderTest1BlockSize(IPad algorithm, int size, byte[] buffer) { final int offset = 5; final int limit = buffer.length; byte[] padding; int len; algorithm.init(size); for (int i = 0; i < limit - offset - size; i++) { padding = algorithm.pad(buffer, offset, i); len = padding.length; if (((i + len) % size) != 0) return false; System.arraycopy(padding, 0, buffer, offset + i, len); try { if (len != algorithm.unpad(buffer, offset, i + len)) return false; } catch (WrongPaddingException x) { return false; } } algorithm.reset(); return true; } } mauve-20140821/gnu/testlet/gnu/javax/crypto/pad/TestOfTBC.java0000644000175000001440000000265610367014266022626 0ustar dokousers/* TestOfTBC.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.pad; import gnu.javax.crypto.pad.IPad; import gnu.javax.crypto.pad.PadFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Conformance tests for the Trailing Bit Complement (TBC) implementation. */ public class TestOfTBC implements Testlet { public void test(TestHarness harness) { harness.checkPoint("TestOfTBC"); try { IPad algorithm = PadFactory.getInstance("tbc"); harness.check(algorithm.selfTest(), "selfTest"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfTBC.selfTest"); } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/pad/TestOfPadFactory.java0000644000175000001440000000343010367014266024241 0ustar dokousers/* TestOfPadFactory.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.pad; import gnu.javax.crypto.pad.PadFactory; import gnu.javax.crypto.pad.IPad; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Iterator; /** * Conformance tests for the PadFactory implementation. */ public class TestOfPadFactory implements Testlet { public void test(TestHarness harness) { harness.checkPoint("TestOfPadFactory"); String pad; IPad algorithm; for (Iterator it = PadFactory.getNames().iterator(); it.hasNext();) { pad = (String) it.next(); try { algorithm = PadFactory.getInstance(pad); harness.check(algorithm != null, "getInstance(" + String.valueOf(pad) + ")"); } catch (InternalError x) { harness.debug(x); harness.fail("TestOfPadFactory.getInstance(" + String.valueOf(pad) + ")"); } } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/mac/0000755000175000001440000000000012375316426020215 5ustar dokousersmauve-20140821/gnu/testlet/gnu/javax/crypto/mac/TestOfHMacCloneability.java0000644000175000001440000000740510367014267025357 0ustar dokousers/* TestOfHMacCloneability.java Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.mac; import gnu.java.security.Registry; import gnu.javax.crypto.mac.HMacFactory; import gnu.javax.crypto.mac.IMac; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Arrays; import java.util.HashMap; import java.util.Random; /** * Tests implementation of the Cloneable interface for GNU HMACs. */ public class TestOfHMacCloneability implements Testlet { private static final Random prng = new Random(System.currentTimeMillis()); private static final String HMAC_NAME = Registry.HMAC_NAME_PREFIX + Registry.SHA_HASH; private IMac hmac; HashMap hmacAttributes = new HashMap(); /* (non-Javadoc) * @see gnu.testlet.Testlet#test(gnu.testlet.TestHarness) */ public void test(TestHarness harness) { clone1(harness); clone2(harness); } /** Test of an un-initialised clone. */ private void clone1(TestHarness harness) { harness.checkPoint("TestOfHMacCloneability.clone1"); setUp(harness); try { IMac clone = (IMac) hmac.clone(); hmac.init(hmacAttributes); hmac.update((byte) 'a'); hmac.update((byte) 'b'); hmac.update((byte) 'c'); clone.init(hmacAttributes); clone.update((byte) 'a'); clone.update((byte) 'b'); clone.update((byte) 'c'); byte[] md1 = hmac.digest(); byte[] md2 = clone.digest(); harness.check(Arrays.equals(md1, md2), "clone1"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfHMacCloneability.clone1 - " + x); } } /** Test of an initialised clone. */ private void clone2(TestHarness harness) { harness.checkPoint("TestOfHMacCloneability.clone1"); setUp(harness); try { hmac.init(hmacAttributes); hmac.update((byte) 'a'); hmac.update((byte) 'b'); hmac.update((byte) 'c'); IMac clone = (IMac) hmac.clone(); hmac.update((byte) 'd'); hmac.update((byte) 'e'); hmac.update((byte) 'f'); clone.update((byte) 'd'); clone.update((byte) 'e'); clone.update((byte) 'f'); byte[] md1 = hmac.digest(); byte[] md2 = clone.digest(); harness.check(Arrays.equals(md1, md2), "clone2"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfHMacCloneability.clone2 - " + x); } } private void setUp(TestHarness harness) { try { hmac = HMacFactory.getInstance(HMAC_NAME); harness.check(hmac != null, "getInstance(" + HMAC_NAME + ")"); } catch (Throwable t) { harness.debug(t); harness.fail("getInstance(" + HMAC_NAME + ") - " + t); } // make a key int hmacLength = hmac.macSize(); byte[] keyMaterial = new byte[hmacLength]; prng.nextBytes(keyMaterial); hmacAttributes.clear(); hmacAttributes.put(IMac.MAC_KEY_MATERIAL, keyMaterial); } } mauve-20140821/gnu/testlet/gnu/javax/crypto/mac/TestOfHMacSha1.java0000644000175000001440000001065610367014267023537 0ustar dokousers/* TestOfHMacSha1.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.mac; import gnu.java.security.util.Util; import gnu.javax.crypto.mac.IMac; import gnu.javax.crypto.mac.MacFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.InvalidKeyException; import java.util.Arrays; import java.util.HashMap; /** * Conformance tests of the HMAC-SHA1 message authentication code algorithms. * *

    References:

    *
      *
    1. P. Cheng and R. Glenn, RFC * 2202: Test Cases for HMAC-MD5 and HMAC-SHA-1.
    2. *
    */ public class TestOfHMacSha1 implements Testlet { private static final byte[][][] TEST_VECTOR = { { "Jefe".getBytes(), "what do ya want for nothing?".getBytes(), Util.toBytesFromString("effcdf6ae5eb2fa2d27416d5f184df9c259a7c79") }, { Util.toBytesFromString("0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b"), "Hi There".getBytes(), Util.toBytesFromString("b617318655057264e28bc0b6fb378c8ef146be00") }, { Util.toBytesFromString("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), new byte[50] /* filled in below, 0xDD 50 times */, Util.toBytesFromString("125d7342b9ac11cd91a39af48aa17b4f63f175d3") }, { Util.toBytesFromString("0102030405060708090a0b0c0d0e0f10111213141516171819"), new byte[50] /* filled in below, 0xDD 50 times */, Util.toBytesFromString("4c9007f4026250c6bc8414f9bf50c86c2d7235da") }, { Util.toBytesFromString("0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c"), "Test With Truncation".getBytes(), Util.toBytesFromString("4c1a03424b55e07fe7f27be1d58bb9324a9a5a04") }, { new byte[80] /* filled in below, 0xAA 80 times */, "Test Using Larger Than Block-Size Key - Hash Key First".getBytes(), Util.toBytesFromString("aa4ae5e15272d00e95705637ce8a3b55ed402112") }, { new byte[80] /* filled in below, 0xAA 80 times */, "Test Using Larger Than Block-Size Key and Larger Than One Block-Size Data".getBytes(), Util.toBytesFromString("e8e99d0f45237d786d6bbaa7965c7808bbff1a91") } }; static { int i = 0; for (; i < 50; i++) { TEST_VECTOR[2][1][i] = (byte) 0xDD; TEST_VECTOR[3][1][i] = (byte) 0xCD; TEST_VECTOR[5][0][i] = (byte) 0xAA; TEST_VECTOR[6][0][i] = (byte) 0xAA; } for (; i < 80; i++) { TEST_VECTOR[5][0][i] = (byte) 0xAA; TEST_VECTOR[6][0][i] = (byte) 0xAA; } } private HashMap attr = new HashMap(); private IMac mac; public void test(TestHarness harness) { harness.checkPoint("TestOfHMacSha1"); mac = MacFactory.getInstance("hmac-sha1"); // 1st vector SHOULD fail with key too short exception try { attr.put(IMac.MAC_KEY_MATERIAL, TEST_VECTOR[0][0]); mac.init(attr); mac.update(TEST_VECTOR[0][1], 0, TEST_VECTOR[0][1].length); harness.check(Arrays.equals(mac.digest(), TEST_VECTOR[0][2]), "#0"); harness.fail("#0 - SHOULD have caused a Key too short exception but didn't"); } catch (InvalidKeyException x) { harness.check(true, "#0"); } for (int i = 1; i < TEST_VECTOR.length; i++) try { attr.put(IMac.MAC_KEY_MATERIAL, TEST_VECTOR[i][0]); mac.init(attr); mac.update(TEST_VECTOR[i][1], 0, TEST_VECTOR[i][1].length); harness.check(Arrays.equals(mac.digest(), TEST_VECTOR[i][2]), "#" + i); } catch (Exception x) { harness.debug(x); harness.fail("#" + i + " - " + String.valueOf(x)); } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/mac/TestOfTMMH16.java0000644000175000001440000001172610367014267023125 0ustar dokousers/* TestOfTMMH16.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.mac; import gnu.java.security.prng.BasePRNG; import gnu.java.security.prng.IRandom; import gnu.java.security.prng.LimitReachedException; import gnu.javax.crypto.mac.IMac; import gnu.javax.crypto.mac.TMMH16; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Arrays; import java.util.HashMap; import java.util.Map; /** * Conformance test for the {@link TMMH16} implementation. */ public class TestOfTMMH16 implements Testlet { private IRandom keystream; private byte[] output, message, result; private IMac mac; private HashMap attributes = new HashMap(); public void test(TestHarness harness) { harness.checkPoint("TestOfTMMH16"); /* KEY_LENGTH: 10 TAG_LENGTH: 2 key: { 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef, 0xfe, 0xdc } message: { 0xca, 0xfe, 0xba, 0xbe, 0xba, 0xde } output: { 0x9d, 0x6a } */ try { attributes.clear(); keystream = new DummyKeystream(); keystream.init(null); output = new byte[] { (byte) 0x9d, (byte) 0x6a }; mac = new TMMH16(); attributes.put(TMMH16.KEYSTREAM, keystream); attributes.put(TMMH16.TAG_LENGTH, new Integer(2)); mac.init(attributes); message = new byte[] { (byte) 0xca, (byte) 0xfe, (byte) 0xba, (byte) 0xbe, (byte) 0xba, (byte) 0xde }; for (int i = 0; i < message.length; i++) { mac.update(message[i]); } result = mac.digest(); harness.check(Arrays.equals(result, output), "testVector1"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfTMMH16.testVector1"); } /* KEY_LENGTH: 10 TAG_LENGTH: 2 key: { 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef, 0xfe, 0xdc } message: { 0xca, 0xfe, 0xba } output: { 0xc8, 0x8e } */ try { attributes.clear(); keystream = new DummyKeystream(); keystream.init(null); output = new byte[] { (byte) 0xc8, (byte) 0x8e }; mac = new TMMH16(); attributes.put(TMMH16.KEYSTREAM, keystream); attributes.put(TMMH16.TAG_LENGTH, new Integer(2)); mac.init(attributes); message = new byte[] { (byte) 0xca, (byte) 0xfe, (byte) 0xba }; for (int i = 0; i < message.length; i++) { mac.update(message[i]); } result = mac.digest(); harness.check(Arrays.equals(result, output), "testVector2"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfTMMH16.testVector2"); } /* KEY_LENGTH: 10 TAG_LENGTH: 4 key: { 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef, 0xfe, 0xdc } message: { 0xca, 0xfe, 0xba, 0xbe, 0xba, 0xde } output: { 0x9d, 0x6a, 0xc0, 0xd3 } */ try { attributes.clear(); keystream = new DummyKeystream(); keystream.init(null); output = new byte[] { (byte) 0x9d, (byte) 0x6a, (byte) 0xc0, (byte) 0xd3 }; mac = new TMMH16(); attributes.put(TMMH16.KEYSTREAM, keystream); attributes.put(TMMH16.TAG_LENGTH, new Integer(4)); mac.init(attributes); message = new byte[] { (byte) 0xca, (byte) 0xfe, (byte) 0xba, (byte) 0xbe, (byte) 0xba, (byte) 0xde }; for (int i = 0; i < message.length; i++) { mac.update(message[i]); } result = mac.digest(); harness.check(Arrays.equals(result, output), "testVector3"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfTMMH16.testVector3"); } } class DummyKeystream extends BasePRNG { DummyKeystream() { super("???"); } public Object clone() { return null; } public void setup(Map attributes) { } public void fillBlock() throws LimitReachedException { buffer = new byte[] { (byte) 0x01, (byte) 0x23, (byte) 0x45, (byte) 0x67, (byte) 0x89, (byte) 0xab, (byte) 0xcd, (byte) 0xef, (byte) 0xfe, (byte) 0xdc }; } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/mac/TestOfMacFactory.java0000644000175000001440000000347510367014267024243 0ustar dokousers/* TestOfMacFactory.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.mac; import gnu.javax.crypto.mac.IMac; import gnu.javax.crypto.mac.MacFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Iterator; /** * Conformance test for the {@link MacFactory} implementation. */ public class TestOfMacFactory implements Testlet { public void test(TestHarness harness) { harness.checkPoint("TestOfMacFactory"); String mac; IMac algorithm; for (Iterator it = MacFactory.getNames().iterator(); it.hasNext();) { mac = (String) it.next(); try { algorithm = null; algorithm = MacFactory.getInstance(mac); harness.check(algorithm != null, "getInstance(" + String.valueOf(mac) + ")"); } catch (InternalError x) { harness.debug(x); harness.fail("TestOfMacFactory.getInstance(" + String.valueOf(mac) + ")"); } } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/mac/TestOfOMAC.java0000644000175000001440000001723110367014267022725 0ustar dokousers/* TestOfOMAC.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.mac; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.java.security.Registry; import gnu.java.security.util.Util; import gnu.javax.crypto.mac.IMac; import gnu.javax.crypto.mac.MacFactory; import java.util.Arrays; import java.util.HashMap; public class TestOfOMAC implements Testlet { // (key, message, tag) public static final byte[][][] TESTS1 = new byte[][][] { new byte[][] { Util.toBytesFromString("2b7e151628aed2a6abf7158809cf4f3c"), new byte[0], Util.toBytesFromString("bb1d6929e95937287fa37d129b756746") }, new byte[][] { Util.toBytesFromString("2b7e151628aed2a6abf7158809cf4f3c"), Util.toBytesFromString("6bc1bee22e409f96e93d7e117393172a"), Util.toBytesFromString("070a16b46b4d4144f79bdd9dd04a287c") }, new byte[][] { Util.toBytesFromString("2b7e151628aed2a6abf7158809cf4f3c"), Util.toBytesFromString("6bc1bee22e409f96e93d7e117393172a" + "ae2d8a571e03ac9c9eb76fac45af8e51" + "30c81c46a35ce411"), Util.toBytesFromString("dfa66747de9ae63030ca32611497c827") }, new byte[][] { Util.toBytesFromString("2b7e151628aed2a6abf7158809cf4f3c"), Util.toBytesFromString("6bc1bee22e409f96e93d7e117393172a" + "ae2d8a571e03ac9c9eb76fac45af8e51" + "30c81c46a35ce411e5fbc1191a0a52ef" + "f69f2445df4f9b17ad2b417be66c3710"), Util.toBytesFromString("51f0bebf7e3b9d92fc49741779363cfe") } }; public static final byte[][][] TESTS2 = new byte[][][] { new byte[][] { Util.toBytesFromString("8e73b0f7da0e6452c810f32b809079e5" + "62f8ead2522c6b7b"), new byte[0], Util.toBytesFromString("d17ddf46adaacde531cac483de7a9367") }, new byte[][] { Util.toBytesFromString("8e73b0f7da0e6452c810f32b809079e5" + "62f8ead2522c6b7b"), Util.toBytesFromString("6bc1bee22e409f96e93d7e117393172a"), Util.toBytesFromString("9e99a7bf31e710900662f65e617c5184") }, new byte[][] { Util.toBytesFromString("8e73b0f7da0e6452c810f32b809079e5" + "62f8ead2522c6b7b"), Util.toBytesFromString("6bc1bee22e409f96e93d7e117393172a" + "ae2d8a571e03ac9c9eb76fac45af8e51" + "30c81c46a35ce411"), Util.toBytesFromString("8a1de5be2eb31aad089a82e6ee908b0e") }, new byte[][] { Util.toBytesFromString("8e73b0f7da0e6452c810f32b809079e5" + "62f8ead2522c6b7b"), Util.toBytesFromString("6bc1bee22e409f96e93d7e117393172a" + "ae2d8a571e03ac9c9eb76fac45af8e51" + "30c81c46a35ce411e5fbc1191a0a52ef" + "f69f2445df4f9b17ad2b417be66c3710"), Util.toBytesFromString("a1d5df0eed790f794d77589659f39a11") } }; public static final byte[][][] TESTS3 = new byte[][][] { new byte[][] { Util.toBytesFromString("603deb1015ca71be2b73aef0857d7781" + "1f352c073b6108d72d9810a30914dff4"), new byte[0], Util.toBytesFromString("028962f61b7bf89efc6b551f4667d983") }, new byte[][] { Util.toBytesFromString("603deb1015ca71be2b73aef0857d7781" + "1f352c073b6108d72d9810a30914dff4"), Util.toBytesFromString("6bc1bee22e409f96e93d7e117393172a"), Util.toBytesFromString("28a7023f452e8f82bd4bf28d8c37c35c") }, new byte[][] { Util.toBytesFromString("603deb1015ca71be2b73aef0857d7781" + "1f352c073b6108d72d9810a30914dff4"), Util.toBytesFromString("6bc1bee22e409f96e93d7e117393172a" + "ae2d8a571e03ac9c9eb76fac45af8e51" + "30c81c46a35ce411"), Util.toBytesFromString("aaf3d8f1de5640c232f5b169b9c911e6") }, new byte[][] { Util.toBytesFromString("603deb1015ca71be2b73aef0857d7781" + "1f352c073b6108d72d9810a30914dff4"), Util.toBytesFromString("6bc1bee22e409f96e93d7e117393172a" + "ae2d8a571e03ac9c9eb76fac45af8e51" + "30c81c46a35ce411e5fbc1191a0a52ef" + "f69f2445df4f9b17ad2b417be66c3710"), Util.toBytesFromString("e1992190549f6ed5696a2c056c315410") } }; public void test(TestHarness harness) { IMac mac = MacFactory.getInstance(Registry.OMAC_PREFIX + Registry.AES_CIPHER); harness.checkPoint("OMAC/AES-128"); HashMap attr = new HashMap(); for (int i = 0; i < TESTS1.length; i++) { attr.put(IMac.MAC_KEY_MATERIAL, TESTS1[i][0]); try { mac.init(attr); mac.update(TESTS1[i][1], 0, TESTS1[i][1].length); byte[] tag = mac.digest(); harness.check(Arrays.equals(TESTS1[i][2], tag)); } catch (Exception x) { harness.debug(x); harness.fail(x.toString()); } } harness.checkPoint("OMAC/AES-192"); for (int i = 0; i < TESTS2.length; i++) { attr.put(IMac.MAC_KEY_MATERIAL, TESTS2[i][0]); try { mac.init(attr); mac.update(TESTS2[i][1], 0, TESTS2[i][1].length); byte[] tag = mac.digest(); harness.check(Arrays.equals(TESTS2[i][2], tag)); } catch (Exception x) { harness.debug(x); harness.fail(x.toString()); } } harness.checkPoint("OMAC/AES-256"); for (int i = 0; i < TESTS3.length; i++) { attr.put(IMac.MAC_KEY_MATERIAL, TESTS3[i][0]); try { mac.init(attr); mac.update(TESTS3[i][1], 0, TESTS3[i][1].length); byte[] tag = mac.digest(); harness.check(Arrays.equals(TESTS3[i][2], tag)); } catch (Exception x) { harness.debug(x); harness.fail(x.toString()); } } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/mac/TestOfHMac.java0000644000175000001440000000770710367014267023025 0ustar dokousers/* TestOfHMac.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.mac; import gnu.javax.crypto.mac.HMacFactory; import gnu.javax.crypto.mac.IMac; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Arrays; import java.util.HashMap; import java.util.Iterator; import java.util.Random; /** * Conformance Tests of common characteristics to all HMAC types in this * library; e.g. cloning. */ public class TestOfHMac implements Testlet { private static final Random prng = new Random(System.currentTimeMillis()); private String mac; private IMac algorithm, clone; private static final byte[] makeKey(int length) { byte[] result = new byte[length]; prng.nextBytes(result); return result; } public void test(TestHarness harness) { harness.checkPoint("TestOfHMac"); HashMap attr = new HashMap(); for (Iterator it = HMacFactory.getNames().iterator(); it.hasNext();) { algorithm = null; mac = (String) it.next(); try { algorithm = HMacFactory.getInstance(mac); harness.check(algorithm != null, "getInstance(" + String.valueOf(mac) + ")"); } catch (InternalError x) { harness.debug(x); harness.fail("TestOfHMac.getInstance(" + String.valueOf(mac) + ") - " + String.valueOf(x)); } // cloneable attr.put(IMac.MAC_KEY_MATERIAL, makeKey(algorithm.macSize())); try { algorithm.init(attr); algorithm.update((byte) 'a'); algorithm.update((byte) 'b'); algorithm.update((byte) 'c'); clone = (IMac) algorithm.clone(); algorithm.update((byte) 'd'); clone.update((byte) 'd'); algorithm.update((byte) 'e'); clone.update((byte) 'e'); algorithm.update((byte) 'f'); clone.update((byte) 'f'); byte[] md1 = algorithm.digest(); byte[] md2 = clone.digest(); harness.check(Arrays.equals(md1, md2), "clone(" + algorithm.name() + ")"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfHMac.clone(" + algorithm.name() + ") - " + String.valueOf(x)); } // reusable try { algorithm.init(attr); algorithm.update((byte) 'a'); algorithm.update((byte) 'b'); algorithm.update((byte) 'c'); byte[] md1 = algorithm.digest(); algorithm.reset(); algorithm.update((byte) 'a'); algorithm.update((byte) 'b'); algorithm.update((byte) 'c'); byte[] md2 = algorithm.digest(); harness.check(Arrays.equals(md1, md2), "reset(" + algorithm.name() + ")"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfHMac.reset(" + algorithm.name() + ") - " + String.valueOf(x)); } } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/mac/TestOfHMacFactory.java0000644000175000001440000000347110367014267024347 0ustar dokousers/* TestOfHMacFactory.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.mac; import gnu.javax.crypto.mac.HMacFactory; import gnu.javax.crypto.mac.IMac; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Iterator; /** * Conformance test for the {@link HMacFactory} implementation. */ public class TestOfHMacFactory implements Testlet { public void test(TestHarness harness) { harness.checkPoint("TestOfHMacFactory"); String mac; IMac algorithm; for (Iterator it = HMacFactory.getNames().iterator(); it.hasNext();) { mac = (String) it.next(); try { algorithm = null; algorithm = HMacFactory.getInstance(mac); harness.check(algorithm != null, "getInstance(" + String.valueOf(mac) + ")"); } catch (InternalError x) { harness.debug(x); harness.fail("TestOfHMacFactory.getInstance(" + String.valueOf(mac) + ")"); } } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/mac/TestOfHMacMD5.java0000644000175000001440000001070510367014267023323 0ustar dokousers/* TestOfHMacMD5.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.mac; import gnu.java.security.util.Util; import gnu.javax.crypto.mac.IMac; import gnu.javax.crypto.mac.MacFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.InvalidKeyException; import java.util.Arrays; import java.util.HashMap; /** * Conformance tests of the HMAC-MD5 message authentication code algorithms. * *

    References:

    *
      *
    1. P. Cheng and R. Glenn, RFC * 2202: Test Cases for HMAC-MD5 and HMAC-SHA-1.
    2. *
    */ public class TestOfHMacMD5 implements Testlet { private static final byte[][][] TEST_VECTOR = { { "Jefe".getBytes(), "what do ya want for nothing?".getBytes(), Util.toBytesFromString("750c783e6ab0b503eaa86e310a5db738") }, { Util.toBytesFromString("0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b"), "Hi There".getBytes(), Util.toBytesFromString("9294727a3638bb1c13f48ef8158bfc9d") }, { Util.toBytesFromString("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), new byte[50] /* filled in below, 0xDD 50 times */, Util.toBytesFromString("56be34521d144c88dbb8c733f0e8b3f6") }, { Util.toBytesFromString("0102030405060708090a0b0c0d0e0f10111213141516171819"), new byte[50] /* filled in below, 0xCD 50 times */, Util.toBytesFromString("697eaf0aca3a3aea3a75164746ffaa79") }, { Util.toBytesFromString("0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c"), "Test With Truncation".getBytes(), Util.toBytesFromString("56461ef2342edc00f9bab995690efd4c") }, { new byte[80] /* filled in below, 0xAA 80 times */, "Test Using Larger Than Block-Size Key - Hash Key First".getBytes(), Util.toBytesFromString("6b1ab7fe4bd7bf8f0b62e6ce61b9d0cd") }, { new byte[80] /* filled in below, 0xAA 80 times */, "Test Using Larger Than Block-Size Key and Larger Than One Block-Size Data".getBytes(), Util.toBytesFromString("6f630fad67cda0ee1fb1f562db3aa53e") } }; static { int i = 0; for (; i < 50; i++) { TEST_VECTOR[2][1][i] = (byte) 0xDD; TEST_VECTOR[3][1][i] = (byte) 0xCD; TEST_VECTOR[5][0][i] = (byte) 0xAA; TEST_VECTOR[6][0][i] = (byte) 0xAA; } for (; i < 80; i++) { TEST_VECTOR[5][0][i] = (byte) 0xAA; TEST_VECTOR[6][0][i] = (byte) 0xAA; } } private HashMap attr = new HashMap(); private IMac mac; public void test(TestHarness harness) { harness.checkPoint("TestOfHMacMD5"); mac = MacFactory.getInstance("hmac-md5"); // 1st vector SHOULD fail with key too short exception try { attr.put(IMac.MAC_KEY_MATERIAL, TEST_VECTOR[0][0]); mac.init(attr); mac.update(TEST_VECTOR[0][1], 0, TEST_VECTOR[0][1].length); harness.check(Arrays.equals(mac.digest(), TEST_VECTOR[0][2])); harness.fail("#0 - SHOULD have caused a Key too short exception but didn't"); } catch (InvalidKeyException x) { harness.check(true, "#0"); } for (int i = 1; i < TEST_VECTOR.length; i++) { try { attr.put(IMac.MAC_KEY_MATERIAL, TEST_VECTOR[i][0]); mac.init(attr); mac.update(TEST_VECTOR[i][1], 0, TEST_VECTOR[i][1].length); harness.check(Arrays.equals(mac.digest(), TEST_VECTOR[i][2]), "#" + i); } catch (Exception x) { harness.debug(x); harness.fail("#" + i + " - " + String.valueOf(x)); } } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/sasl/0000755000175000001440000000000012375316426020417 5ustar dokousersmauve-20140821/gnu/testlet/gnu/javax/crypto/sasl/srp/0000755000175000001440000000000012375316426021223 5ustar dokousersmauve-20140821/gnu/testlet/gnu/javax/crypto/sasl/srp/TestOfSRPPasswordFile.java0000644000175000001440000001364610367014267026211 0ustar dokousers/* TestOfSRPPasswordFile.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.sasl.srp; import gnu.java.security.Registry; import gnu.java.security.hash.IMessageDigest; import gnu.java.security.key.IKeyPairGenerator; import gnu.java.security.util.Util; import gnu.javax.crypto.key.srp6.SRPKeyPairGenerator; import gnu.javax.crypto.key.srp6.SRPPrivateKey; import gnu.javax.crypto.key.srp6.SRPPublicKey; import gnu.javax.crypto.sasl.srp.PasswordFile; import gnu.javax.crypto.sasl.srp.SRP; import gnu.javax.crypto.sasl.srp.SRPRegistry; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.File; import java.io.IOException; import java.math.BigInteger; import java.security.KeyPair; import java.util.Arrays; import java.util.HashMap; import java.util.Random; /** * Regression tests for SRP password file operations. */ public class TestOfSRPPasswordFile implements Testlet { private Random prng = new Random(); public void test(final TestHarness harness) { harness.checkPoint("TestOfSRPPasswordFile"); try { exerciseFile(harness, Registry.SHA160_HASH); } catch (Exception x) { harness.debug(x); harness.fail("exerciseFile()"); } try { exerciseFile(harness, Registry.MD5_HASH); } catch (Exception x) { harness.debug(x); harness.fail("exerciseFile(\"MD5\")"); } } private void exerciseFile(final TestHarness harness, final String md) throws IOException { final String user = "test"; final String password = "test"; final String pFile = "./__TestOfSRPPasswordFile"; final String p2File = pFile + "2"; // ./test2 final String cFile = pFile + ".conf"; // ./test.conf final File f = new File(pFile); if (!f.exists()) { if (f.createNewFile()) f.deleteOnExit(); } else if (!f.isFile()) throw new RuntimeException("File object " + pFile + " exists but is not a file"); else if (!f.canRead() || !f.canWrite()) throw new RuntimeException("File " + pFile + " exists but is not accessible"); final PasswordFile tpasswd = new PasswordFile(pFile, p2File, cFile); if (!tpasswd.contains(user)) { final byte[] testSalt = new byte[10]; prng.nextBytes(testSalt); tpasswd.add(user, password, testSalt, SRPRegistry.N_2048_BITS); } else tpasswd.changePasswd(user, password); final String[] entry = tpasswd.lookup(user, md); final BigInteger v = new BigInteger(1, Util.fromBase64(entry[0])); final byte[] salt = Util.fromBase64(entry[1]); final String[] mpi = tpasswd.lookupConfig(entry[2]); final BigInteger N = new BigInteger(1, Util.fromBase64(mpi[0])); final BigInteger g = new BigInteger(1, Util.fromBase64(mpi[1])); final IKeyPairGenerator kpg = new SRPKeyPairGenerator(); final HashMap attributes = new HashMap(); attributes.put(SRPKeyPairGenerator.SHARED_MODULUS, N); attributes.put(SRPKeyPairGenerator.GENERATOR, g); kpg.setup(attributes); final KeyPair clientKP = kpg.generate(); final BigInteger A = ((SRPPublicKey) clientKP.getPublic()).getY(); final BigInteger a = ((SRPPrivateKey) clientKP.getPrivate()).getX(); attributes.put(SRPKeyPairGenerator.USER_VERIFIER, v); kpg.setup(attributes); final KeyPair serverKP = kpg.generate(); final BigInteger B = ((SRPPublicKey) serverKP.getPublic()).getY(); final BigInteger b = ((SRPPrivateKey) serverKP.getPrivate()).getX(); // compute u = H(A | B) // IMessageDigest hash = srp.newDigest(); // IMessageDigest hash = HashFactory.getInstance(md); final SRP srp = SRP.instance(md); final IMessageDigest hash = srp.newDigest(); byte[] buffy; buffy = Util.trim(A); hash.update(buffy, 0, buffy.length); buffy = Util.trim(B); hash.update(buffy, 0, buffy.length); final BigInteger u = new BigInteger(1, hash.digest()); // compute S = ((A * (v ** u)) ** b) % N final BigInteger S1 = A.multiply(v.modPow(u, N)).modPow(b, N); // compute K = H(S) (as of rev 08) final byte[] s1Bytes = Util.trim(S1); hash.update(s1Bytes, 0, s1Bytes.length); final byte[] K1 = hash.digest(); final BigInteger x = new BigInteger(1, srp.computeX(salt, user, password)); // compute S = ((B - (3 * (g ** x))) ** (a + (u * x))) % N // compute S = ((B - (3 * v)) ** (a + (u * x))) % N final BigInteger S2 = B.subtract(BigInteger.valueOf(3L).multiply(v)) .modPow(a.add(u.multiply(x)), N); // compute K = H(S) (as of rev 08) final byte[] s2Bytes = Util.trim(S2); hash.update(s2Bytes, 0, s2Bytes.length); final byte[] K2 = hash.digest(); harness.check(S1.equals(S2)); harness.check(Arrays.equals(K1, K2)); try { new File(pFile).delete(); // remove test file } catch (Exception ignored) { } try { new File(p2File).delete(); // remove test2 file } catch (Exception ignored) { } try { new File(cFile).delete(); // remove test.conf file } catch (Exception ignored) { } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/sasl/srp/TestOfSRPAuthInfoProvider.java0000644000175000001440000001641610367014267027035 0ustar dokousers/* TestOfSRPAuthInfoProvider.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.sasl.srp; import gnu.java.security.Registry; import gnu.java.security.util.Util; import gnu.javax.crypto.sasl.IAuthInfoProvider; import gnu.javax.crypto.sasl.srp.SRPAuthInfoProvider; import gnu.javax.crypto.sasl.srp.SRPRegistry; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.HashMap; import java.util.Map; import java.util.Random; import java.io.File; import javax.security.sasl.AuthenticationException; /** * Regression tests for SRP authentication provider (password file based). */ public class TestOfSRPAuthInfoProvider implements Testlet { private Random prng = new Random(); public void test(TestHarness harness) { harness.checkPoint("TestOfSRPAuthInfoProvider"); String pFile = "./__TestOfSRPAuthInfoProvider"; Map context = new HashMap(); context.put(SRPRegistry.PASSWORD_FILE, pFile); IAuthInfoProvider authenticator = new SRPAuthInfoProvider(); try { authenticator.activate(context); harness.check(true, "activate()"); } catch (AuthenticationException x) { harness.debug(x); harness.fail("activate()"); } byte[] salt = new byte[10]; Map user1 = new HashMap(); user1.put(Registry.SASL_USERNAME, "user1"); user1.put(Registry.SASL_PASSWORD, "password1"); user1.put(SRPRegistry.CONFIG_NDX_FIELD, "1"); prng.nextBytes(salt); user1.put(SRPRegistry.SALT_FIELD, Util.toBase64(salt)); user1.put(SRPRegistry.MD_NAME_FIELD, Registry.MD5_HASH); Map user2 = new HashMap(); user2.put(Registry.SASL_USERNAME, "user2"); user2.put(Registry.SASL_PASSWORD, "password2"); user2.put(SRPRegistry.CONFIG_NDX_FIELD, "2"); prng.nextBytes(salt); user2.put(SRPRegistry.SALT_FIELD, Util.toBase64(salt)); user2.put(SRPRegistry.MD_NAME_FIELD, Registry.SHA1_HASH); Map user3 = new HashMap(); user3.put(Registry.SASL_USERNAME, "user3"); user3.put(Registry.SASL_PASSWORD, "password3"); user3.put(SRPRegistry.CONFIG_NDX_FIELD, "3"); prng.nextBytes(salt); user3.put(SRPRegistry.SALT_FIELD, Util.toBase64(salt)); user3.put(SRPRegistry.MD_NAME_FIELD, Registry.MD5_HASH); Map user4 = new HashMap(); user4.put(Registry.SASL_USERNAME, "user4"); user4.put(Registry.SASL_PASSWORD, "password4"); user4.put(SRPRegistry.CONFIG_NDX_FIELD, "4"); prng.nextBytes(salt); user4.put(SRPRegistry.SALT_FIELD, Util.toBase64(salt)); user4.put(SRPRegistry.MD_NAME_FIELD, Registry.SHA_HASH); Map credentials; try { credentials = authenticator.lookup(user1); harness.fail("lookup(user1)"); } catch (AuthenticationException x) { harness.check(true, "lookup(user1)"); } try { credentials = authenticator.lookup(user2); harness.fail("lookup(user2)"); } catch (AuthenticationException x) { harness.check(true, "lookup(user2)"); } try { credentials = authenticator.lookup(user3); harness.fail("lookup(user3)"); } catch (AuthenticationException x) { harness.check(true, "lookup(user3)"); } try { credentials = authenticator.lookup(user4); harness.fail("lookup(user4)"); } catch (AuthenticationException x) { harness.check(true, "lookup(user4)"); } // ---------------------------------------------------------------------- try { authenticator.update(user1); harness.check(true, "update(user1)"); } catch (AuthenticationException x) { harness.debug(x); harness.fail("update(user1)"); } try { authenticator.update(user2); harness.check(true, "update(user2)"); } catch (AuthenticationException x) { harness.debug(x); harness.fail("update(user2)"); } try { authenticator.update(user3); harness.check(true, "update(user3)"); } catch (AuthenticationException x) { harness.debug(x); harness.fail("update(user3)"); } // ---------------------------------------------------------------------- String saltString; try { credentials = authenticator.lookup(user1); saltString = (String) credentials.get(SRPRegistry.SALT_FIELD); harness.check(saltString.equals(user1.get(SRPRegistry.SALT_FIELD)), "user1 OK"); } catch (AuthenticationException x) { harness.fail("update(user1)"); } try { credentials = authenticator.lookup(user2); saltString = (String) credentials.get(SRPRegistry.SALT_FIELD); harness.check(saltString.equals(user2.get(SRPRegistry.SALT_FIELD)), "user2 OK"); } catch (AuthenticationException x) { harness.fail("update(user2)"); } try { credentials = authenticator.lookup(user3); saltString = (String) credentials.get(SRPRegistry.SALT_FIELD); harness.check(saltString.equals(user3.get(SRPRegistry.SALT_FIELD)), "user3 OK"); } catch (AuthenticationException x) { harness.fail("update(user3)"); } // ---------------------------------------------------------------------- try { authenticator.update(user4); harness.check(true, "update(user4)"); } catch (AuthenticationException x) { harness.debug(x); harness.fail("update(user4)"); } // ---------------------------------------------------------------------- try { authenticator.passivate(); harness.check(true, "passivate()"); } catch (AuthenticationException x) { harness.debug(x); harness.fail("passivate()"); } try { authenticator.activate(context); harness.check(true, "activate()"); } catch (AuthenticationException x) { harness.debug(x); harness.fail("activate()"); } try { credentials = authenticator.lookup(user4); saltString = (String) credentials.get(SRPRegistry.SALT_FIELD); harness.check(saltString.equals(user4.get(SRPRegistry.SALT_FIELD))); } catch (AuthenticationException x) { harness.fail("lookup(user4)"); } try { new File(pFile).delete(); // remove test file } catch (Exception ignored) { } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/sasl/srp/TestOfSRPPrimitives.java0000644000175000001440000001646710367014267025746 0ustar dokousers/* TestOfSRPPrimitives.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.sasl.srp; import gnu.java.security.hash.IMessageDigest; import gnu.java.security.key.IKeyPairGenerator; import gnu.java.security.util.Util; import gnu.javax.crypto.key.srp6.SRPKeyPairGenerator; import gnu.javax.crypto.key.srp6.SRPPrivateKey; import gnu.javax.crypto.key.srp6.SRPPublicKey; import gnu.javax.crypto.sasl.srp.PasswordFile; import gnu.javax.crypto.sasl.srp.SRP; import gnu.javax.crypto.sasl.srp.SRPRegistry; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.File; import java.io.IOException; import java.math.BigInteger; import java.security.KeyPair; import java.util.Arrays; import java.util.HashMap; import java.util.Random; /** * Regression tests for SRP cryptographic primitives. */ public class TestOfSRPPrimitives implements Testlet { private String user = "TestOfSRPPrimitives"; private String password = "secret"; private String pFile = "./__TestOfSRPPrimitives"; private String p2File = pFile + "2"; private String cFile = pFile + ".conf"; private PasswordFile tpasswd; private Random prng = new Random(); public void test(TestHarness harness) { harness.checkPoint("setting up the test"); try { File f = new File(pFile); if (!f.exists()) { if (f.createNewFile()) f.deleteOnExit(); } else if (!f.isFile()) { throw new RuntimeException("File object " + pFile + " exists but is not a file"); } else if (!f.canRead() || !f.canWrite()) { throw new RuntimeException("File " + pFile + " exists but is not accessible"); } tpasswd = new PasswordFile(pFile, p2File, cFile); if (!tpasswd.contains(user)) { byte[] testSalt = new byte[10]; prng.nextBytes(testSalt); tpasswd.add(user, password, testSalt, "1"); } else { tpasswd.changePasswd(user, password); } for (int i = 0; i < SRPRegistry.SRP_ALGORITHMS.length; i++) { exerciseAlgorithm(harness, SRP.instance(SRPRegistry.SRP_ALGORITHMS[i])); } } catch (IOException x) { harness.debug(x); harness.fail("TestOfSRPPrimitives"); } finally { try { new File(pFile).delete(); // remove test file } catch (Exception ignored) { } try { new File(p2File).delete(); // remove test2 file } catch (Exception ignored) { } try { new File(cFile).delete(); // remove test.conf file } catch (Exception ignored) { } } } private void exerciseAlgorithm(TestHarness harness, SRP srp) { harness.checkPoint("TestOfSRPPrimitives.exerciseAlgorithm(" + srp.getAlgorithm() + ")"); try { String[] entry = tpasswd.lookup(user, srp.getAlgorithm()); BigInteger v = new BigInteger(1, Util.fromBase64(entry[0])); byte[] s = Util.fromBase64(entry[1]); String[] mpi = tpasswd.lookupConfig(entry[2]); BigInteger N = new BigInteger(1, Util.fromBase64(mpi[0])); BigInteger g = new BigInteger(1, Util.fromBase64(mpi[1])); IKeyPairGenerator kpg = new SRPKeyPairGenerator(); HashMap attributes = new HashMap(); attributes.put(SRPKeyPairGenerator.SHARED_MODULUS, N); attributes.put(SRPKeyPairGenerator.GENERATOR, g); kpg.setup(attributes); KeyPair clientKP = kpg.generate(); BigInteger A = ((SRPPublicKey) clientKP.getPublic()).getY(); BigInteger a = ((SRPPrivateKey) clientKP.getPrivate()).getX(); attributes.put(SRPKeyPairGenerator.USER_VERIFIER, v); kpg.setup(attributes); KeyPair serverKP = kpg.generate(); BigInteger B = ((SRPPublicKey) serverKP.getPublic()).getY(); BigInteger b = ((SRPPrivateKey) serverKP.getPrivate()).getX(); // compute u = H(A | B) IMessageDigest hash = srp.newDigest(); byte[] buffy; buffy = Util.trim(A); hash.update(buffy, 0, buffy.length); buffy = Util.trim(B); hash.update(buffy, 0, buffy.length); BigInteger u = new BigInteger(1, hash.digest()); // compute S = ((A * (v ** u)) ** b) % N BigInteger S1 = A.multiply(v.modPow(u, N)).modPow(b, N); // compute K = H(S) (as of rev 08) byte[] s1Bytes = Util.trim(S1); hash.update(s1Bytes, 0, s1Bytes.length); byte[] K1 = hash.digest(); BigInteger x = new BigInteger(1, srp.computeX(s, user, password)); // compute S = ((B - (3 * (g ** x))) ** (a + (u * x))) % N // compute S = ((B - (3 * v)) ** (a + (u * x))) % N BigInteger S2 = B.subtract(BigInteger.valueOf(3L).multiply(v)) .modPow(a.add(u.multiply(x)), N); // compute K = H(S) (as of rev 08) byte[] s2Bytes = Util.trim(S2); hash.update(s2Bytes, 0, s2Bytes.length); byte[] K2 = hash.digest(); harness.check(Arrays.equals(K1, K2)); // #1,4,7,10 // =================================================================== String L = "ALSM=IE,Slsd=fi4fg_;asdg_gsdfmof"; // available options String o = "KLK=FSOIIOAS,Oiasf,oaa=sdin_;asd"; // chosen options byte[] sid = "abc".getBytes(); int ttl = 23; byte[] cIV = new byte[16]; byte[] sIV = new byte[16]; byte[] sCB = "host.acme.com".getBytes(); byte[] cCB = "user@acme.com".getBytes(); byte[] cn = "client".getBytes(); byte[] sn = "server".getBytes(); prng.nextBytes(cIV); prng.nextBytes(sIV); byte[] cM1 = srp.generateM1(N, g, user, s, A, B, K1, user, L, cn, cCB); byte[] cM2 = srp.generateM2(A, cM1, K1, user, user, o, sid, ttl, cIV, sIV, sCB); byte[] sM1 = srp.generateM1(N, g, user, s, A, B, K2, user, L, cn, cCB); byte[] sM2 = srp.generateM2(A, sM1, K2, user, user, o, sid, ttl, cIV, sIV, sCB); harness.check(Arrays.equals(cM1, sM1)); // #2,5,8,11 harness.check(Arrays.equals(cM2, sM2)); // #3,6,9,12 } catch (Exception x) { harness.debug(x); harness.fail("TestOfSRPPrimitives.exerciseAlgorithm(" + srp.getAlgorithm() + ")"); } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/sasl/TestOfServerFactory.java0000644000175000001440000001471610367014267025213 0ustar dokousers/* TestOfServerFactory.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.sasl; import gnu.java.security.Registry; import gnu.javax.crypto.sasl.ServerFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.HashMap; import javax.security.sasl.Sasl; /** * Regression tests for SASL Server factories. */ public class TestOfServerFactory implements Testlet { private static boolean includes(String[] sa, String n) { for (int i = 0; i < sa.length; i++) if (n.equals(sa[i])) return true; return false; } public void test(TestHarness harness) { harness.checkPoint("TestOfServerFactory:null"); ServerFactory factory = new ServerFactory(); String[] mechanisms = factory.getMechanismNames(null); // should see all mechanisms harness.check(includes(mechanisms, Registry.SASL_SRP_MECHANISM), Registry.SASL_SRP_MECHANISM); harness.check(includes(mechanisms, Registry.SASL_CRAM_MD5_MECHANISM), Registry.SASL_CRAM_MD5_MECHANISM); harness.check(includes(mechanisms, Registry.SASL_PLAIN_MECHANISM), Registry.SASL_PLAIN_MECHANISM); harness.check(includes(mechanisms, Registry.SASL_ANONYMOUS_MECHANISM), Registry.SASL_ANONYMOUS_MECHANISM); harness.checkPoint("TestOfServerFactory:" + Sasl.POLICY_NOPLAINTEXT); HashMap p = new HashMap(); p.put(Sasl.POLICY_NOPLAINTEXT, "true"); mechanisms = factory.getMechanismNames(p); // should see all mechanisms except PLAIN harness.check(includes(mechanisms, Registry.SASL_SRP_MECHANISM), Registry.SASL_SRP_MECHANISM); harness.check(includes(mechanisms, Registry.SASL_CRAM_MD5_MECHANISM), Registry.SASL_CRAM_MD5_MECHANISM); harness.check(!includes(mechanisms, Registry.SASL_PLAIN_MECHANISM), Registry.SASL_PLAIN_MECHANISM); harness.check(includes(mechanisms, Registry.SASL_ANONYMOUS_MECHANISM), Registry.SASL_ANONYMOUS_MECHANISM); harness.checkPoint("TestOfServerFactory:" + Sasl.POLICY_NOACTIVE); p.clear(); p.put(Sasl.POLICY_NOACTIVE, "true"); mechanisms = factory.getMechanismNames(p); // should see all mechanisms except PLAIN & CRAM-MD5 harness.check(includes(mechanisms, Registry.SASL_SRP_MECHANISM), Registry.SASL_SRP_MECHANISM); harness.check(!includes(mechanisms, Registry.SASL_CRAM_MD5_MECHANISM), Registry.SASL_CRAM_MD5_MECHANISM); harness.check(!includes(mechanisms, Registry.SASL_PLAIN_MECHANISM), Registry.SASL_PLAIN_MECHANISM); harness.check(includes(mechanisms, Registry.SASL_ANONYMOUS_MECHANISM), Registry.SASL_ANONYMOUS_MECHANISM); harness.checkPoint("TestOfServerFactory:" + Sasl.POLICY_NODICTIONARY); p.clear(); p.put(Sasl.POLICY_NODICTIONARY, "true"); mechanisms = factory.getMechanismNames(p); // should see all mechanisms except PLAIN & CRAM-MD5 harness.check(includes(mechanisms, Registry.SASL_SRP_MECHANISM), Registry.SASL_SRP_MECHANISM); harness.check(!includes(mechanisms, Registry.SASL_CRAM_MD5_MECHANISM), Registry.SASL_CRAM_MD5_MECHANISM); harness.check(!includes(mechanisms, Registry.SASL_PLAIN_MECHANISM), Registry.SASL_PLAIN_MECHANISM); harness.check(includes(mechanisms, Registry.SASL_ANONYMOUS_MECHANISM), Registry.SASL_ANONYMOUS_MECHANISM); harness.checkPoint("TestOfServerFactory:" + Sasl.POLICY_NOANONYMOUS); p.clear(); p.put(Sasl.POLICY_NOANONYMOUS, "true"); mechanisms = factory.getMechanismNames(p); // should see all mechanisms except ANONYMOUS harness.check(includes(mechanisms, Registry.SASL_SRP_MECHANISM), Registry.SASL_SRP_MECHANISM); harness.check(includes(mechanisms, Registry.SASL_CRAM_MD5_MECHANISM), Registry.SASL_CRAM_MD5_MECHANISM); harness.check(includes(mechanisms, Registry.SASL_PLAIN_MECHANISM), Registry.SASL_PLAIN_MECHANISM); harness.check(!includes(mechanisms, Registry.SASL_ANONYMOUS_MECHANISM), Registry.SASL_ANONYMOUS_MECHANISM); harness.checkPoint("TestOfServerFactory:" + Sasl.POLICY_FORWARD_SECRECY); p.clear(); p.put(Sasl.POLICY_FORWARD_SECRECY, "true"); mechanisms = factory.getMechanismNames(p); // should see all mechanisms except ANONYMOUS,PLAIN & CRAM-MD5 harness.check(includes(mechanisms, Registry.SASL_SRP_MECHANISM), Registry.SASL_SRP_MECHANISM); harness.check(!includes(mechanisms, Registry.SASL_CRAM_MD5_MECHANISM), Registry.SASL_CRAM_MD5_MECHANISM); harness.check(!includes(mechanisms, Registry.SASL_PLAIN_MECHANISM), Registry.SASL_PLAIN_MECHANISM); harness.check(!includes(mechanisms, Registry.SASL_ANONYMOUS_MECHANISM), Registry.SASL_ANONYMOUS_MECHANISM); harness.checkPoint("TestOfServerFactory:" + Sasl.POLICY_PASS_CREDENTIALS); p.clear(); p.put(Sasl.POLICY_PASS_CREDENTIALS, "true"); mechanisms = factory.getMechanismNames(p); // should see none harness.check(!includes(mechanisms, Registry.SASL_SRP_MECHANISM), Registry.SASL_SRP_MECHANISM); harness.check(!includes(mechanisms, Registry.SASL_SRP_MECHANISM), Registry.SASL_SRP_MECHANISM); harness.check(!includes(mechanisms, Registry.SASL_CRAM_MD5_MECHANISM), Registry.SASL_CRAM_MD5_MECHANISM); harness.check(!includes(mechanisms, Registry.SASL_PLAIN_MECHANISM), Registry.SASL_PLAIN_MECHANISM); harness.check(!includes(mechanisms, Registry.SASL_ANONYMOUS_MECHANISM), Registry.SASL_ANONYMOUS_MECHANISM); } }mauve-20140821/gnu/testlet/gnu/javax/crypto/sasl/TestOfClientFactory.java0000644000175000001440000001453110367014267025156 0ustar dokousers/* TestOfClientFactory.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.sasl; import gnu.java.security.Registry; import gnu.javax.crypto.sasl.ClientFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.HashMap; import javax.security.sasl.Sasl; /** * Regression tests for SASL Client factories. */ public class TestOfClientFactory implements Testlet { private static boolean includes(String[] sa, String n) { for (int i = 0; i < sa.length; i++) if (n.equals(sa[i])) return true; return false; } public void test(TestHarness harness) { harness.checkPoint("TestOfClientFactory:null"); ClientFactory factory = new ClientFactory(); String[] mechanisms = factory.getMechanismNames(null); // should see all mechanisms harness.check(includes(mechanisms, Registry.SASL_SRP_MECHANISM), Registry.SASL_SRP_MECHANISM); harness.check(includes(mechanisms, Registry.SASL_CRAM_MD5_MECHANISM), Registry.SASL_CRAM_MD5_MECHANISM); harness.check(includes(mechanisms, Registry.SASL_PLAIN_MECHANISM), Registry.SASL_PLAIN_MECHANISM); harness.check(includes(mechanisms, Registry.SASL_ANONYMOUS_MECHANISM), Registry.SASL_ANONYMOUS_MECHANISM); harness.checkPoint("TestOfClientFactory:" + Sasl.POLICY_NOPLAINTEXT); HashMap p = new HashMap(); p.put(Sasl.POLICY_NOPLAINTEXT, "true"); mechanisms = factory.getMechanismNames(p); // should see all mechanisms except PLAIN harness.check(includes(mechanisms, Registry.SASL_SRP_MECHANISM), Registry.SASL_SRP_MECHANISM); harness.check(includes(mechanisms, Registry.SASL_CRAM_MD5_MECHANISM), Registry.SASL_CRAM_MD5_MECHANISM); harness.check(!includes(mechanisms, Registry.SASL_PLAIN_MECHANISM), Registry.SASL_PLAIN_MECHANISM); harness.check(includes(mechanisms, Registry.SASL_ANONYMOUS_MECHANISM), Registry.SASL_ANONYMOUS_MECHANISM); harness.checkPoint("TestOfClientFactory:" + Sasl.POLICY_NOACTIVE); p.clear(); p.put(Sasl.POLICY_NOACTIVE, "true"); mechanisms = factory.getMechanismNames(p); // should see all mechanisms except PLAIN & CRAM-MD5 harness.check(includes(mechanisms, Registry.SASL_SRP_MECHANISM), Registry.SASL_SRP_MECHANISM); harness.check(!includes(mechanisms, Registry.SASL_CRAM_MD5_MECHANISM), Registry.SASL_CRAM_MD5_MECHANISM); harness.check(!includes(mechanisms, Registry.SASL_PLAIN_MECHANISM), Registry.SASL_PLAIN_MECHANISM); harness.check(includes(mechanisms, Registry.SASL_ANONYMOUS_MECHANISM), Registry.SASL_ANONYMOUS_MECHANISM); harness.checkPoint("TestOfClientFactory:" + Sasl.POLICY_NODICTIONARY); p.clear(); p.put(Sasl.POLICY_NODICTIONARY, "true"); mechanisms = factory.getMechanismNames(p); // should see all mechanisms except PLAIN & CRAM-MD5 harness.check(includes(mechanisms, Registry.SASL_SRP_MECHANISM), Registry.SASL_SRP_MECHANISM); harness.check(!includes(mechanisms, Registry.SASL_CRAM_MD5_MECHANISM), Registry.SASL_CRAM_MD5_MECHANISM); harness.check(!includes(mechanisms, Registry.SASL_PLAIN_MECHANISM), Registry.SASL_PLAIN_MECHANISM); harness.check(includes(mechanisms, Registry.SASL_ANONYMOUS_MECHANISM), Registry.SASL_ANONYMOUS_MECHANISM); harness.checkPoint("TestOfClientFactory:" + Sasl.POLICY_NOANONYMOUS); p.clear(); p.put(Sasl.POLICY_NOANONYMOUS, "true"); mechanisms = factory.getMechanismNames(p); // should see all mechanisms except ANONYMOUS harness.check(includes(mechanisms, Registry.SASL_SRP_MECHANISM), Registry.SASL_SRP_MECHANISM); harness.check(includes(mechanisms, Registry.SASL_CRAM_MD5_MECHANISM), Registry.SASL_CRAM_MD5_MECHANISM); harness.check(includes(mechanisms, Registry.SASL_PLAIN_MECHANISM), Registry.SASL_PLAIN_MECHANISM); harness.check(!includes(mechanisms, Registry.SASL_ANONYMOUS_MECHANISM), Registry.SASL_ANONYMOUS_MECHANISM); harness.checkPoint("TestOfClientFactory:" + Sasl.POLICY_FORWARD_SECRECY); p.clear(); p.put(Sasl.POLICY_FORWARD_SECRECY, "true"); mechanisms = factory.getMechanismNames(p); // should see all mechanisms except ANONYMOUS,PLAIN & CRAM-MD5 harness.check(includes(mechanisms, Registry.SASL_SRP_MECHANISM), Registry.SASL_SRP_MECHANISM); harness.check(!includes(mechanisms, Registry.SASL_CRAM_MD5_MECHANISM), Registry.SASL_CRAM_MD5_MECHANISM); harness.check(!includes(mechanisms, Registry.SASL_PLAIN_MECHANISM), Registry.SASL_PLAIN_MECHANISM); harness.check(!includes(mechanisms, Registry.SASL_ANONYMOUS_MECHANISM), Registry.SASL_ANONYMOUS_MECHANISM); harness.checkPoint("TestOfClientFactory:" + Sasl.POLICY_PASS_CREDENTIALS); p.clear(); p.put(Sasl.POLICY_PASS_CREDENTIALS, "true"); mechanisms = factory.getMechanismNames(p); // should see none harness.check(!includes(mechanisms, Registry.SASL_SRP_MECHANISM), Registry.SASL_SRP_MECHANISM); harness.check(!includes(mechanisms, Registry.SASL_CRAM_MD5_MECHANISM), Registry.SASL_CRAM_MD5_MECHANISM); harness.check(!includes(mechanisms, Registry.SASL_PLAIN_MECHANISM), Registry.SASL_PLAIN_MECHANISM); harness.check(!includes(mechanisms, Registry.SASL_ANONYMOUS_MECHANISM), Registry.SASL_ANONYMOUS_MECHANISM); } }mauve-20140821/gnu/testlet/gnu/javax/crypto/prng/0000755000175000001440000000000012375316426020423 5ustar dokousersmauve-20140821/gnu/testlet/gnu/javax/crypto/prng/TestOfPBKDF2.java0000644000175000001440000001602010367014266023316 0ustar dokousers/* TestOfPBKDF2.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.prng; import gnu.java.security.util.Util; import gnu.javax.crypto.mac.MacFactory; import gnu.javax.crypto.prng.IPBE; import gnu.javax.crypto.prng.PBKDF2; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Arrays; import java.util.HashMap; /** * Test of the key-derivation function PBKDF2 from PKCS #5. Based on test * vectors in * AES Encryption for Kerberos 5. */ public class TestOfPBKDF2 implements Testlet { public void test(TestHarness harness) { try { harness.checkPoint("PBKDF2"); PBKDF2 kdf = new PBKDF2(MacFactory.getInstance("HMAC-SHA1")); HashMap attr = new HashMap(); byte[] dk = new byte[32]; byte[] edk; byte[] salt; char[] password; // Iteration count = 1 // Pass phrase = "password" // Salt = "ATHENA.MIT.EDUraeburn" // 256-bit PBKDF2 output: // cd ed b5 28 1b b2 f8 01 56 5a 11 22 b2 56 35 15 // 0a d1 f7 a0 4b b9 f3 a3 33 ec c0 e2 e1 f7 08 37 edk = Util.toBytesFromString( "cdedb5281bb2f801565a1122b25635150ad1f7a04bb9f3a333ecc0e2e1f70837"); password = "password".toCharArray(); salt = "ATHENA.MIT.EDUraeburn".getBytes(); attr.put(IPBE.ITERATION_COUNT, new Integer(1)); attr.put(IPBE.PASSWORD, password); attr.put(IPBE.SALT, salt); try { kdf.init(attr); kdf.nextBytes(dk, 0, dk.length); harness.check(Arrays.equals(dk, edk)); } catch (Exception x) { harness.debug(x); harness.fail(x.toString()); } // Iteration count = 2 // Pass phrase = "password" // Salt="ATHENA.MIT.EDUraeburn" // 256-bit PBKDF2 output: // 01 db ee 7f 4a 9e 24 3e 98 8b 62 c7 3c da 93 5d // a0 53 78 b9 32 44 ec 8f 48 a9 9e 61 ad 79 9d 86 edk = Util.toBytesFromString( "01dbee7f4a9e243e988b62c73cda935da05378b93244ec8f48a99e61ad799d86"); attr.put(IPBE.ITERATION_COUNT, new Integer(2)); try { kdf.init(attr); kdf.nextBytes(dk, 0, dk.length); harness.check(Arrays.equals(dk, edk)); } catch (Exception x) { harness.debug(x); harness.fail(x.toString()); } // Iteration count = 1200 // Pass phrase = "password" // Salt = "ATHENA.MIT.EDUraeburn" // 256-bit PBKDF2 output: // 5c 08 eb 61 fd f7 1e 4e 4e c3 cf 6b a1 f5 51 2b // a7 e5 2d db c5 e5 14 2f 70 8a 31 e2 e6 2b 1e 13 edk = Util.toBytesFromString( "5c08eb61fdf71e4e4ec3cf6ba1f5512ba7e52ddbc5e5142f708a31e2e62b1e13"); attr.put(IPBE.ITERATION_COUNT, new Integer(1200)); attr.put(IPBE.PASSWORD, password); attr.put(IPBE.SALT, salt); try { kdf.init(attr); kdf.nextBytes(dk, 0, dk.length); harness.check(Arrays.equals(dk, edk)); } catch (Exception x) { harness.debug(x); harness.fail(x.toString()); } // Iteration count = 5 // Pass phrase = "password" // Salt=0x1234567878563412 // 256-bit PBKDF2 output: // d1 da a7 86 15 f2 87 e6 a1 c8 b1 20 d7 06 2a 49 // edk = Util.toBytesFromString( "d1daa78615f287e6a1c8b120d7062a493f98d203e6be49a6adf4fa574b6e64ee"); salt = Util.toBytesFromString("1234567878563412"); attr.put(IPBE.ITERATION_COUNT, new Integer(5)); attr.put(IPBE.PASSWORD, password); attr.put(IPBE.SALT, salt); try { kdf.init(attr); kdf.nextBytes(dk, 0, dk.length); harness.check(Arrays.equals(dk, edk)); } catch (Exception x) { harness.debug(x); harness.fail(x.toString()); } // Iteration count = 1200 // Pass phrase = (64 characters) // "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" // Salt="pass phrase equals block size" // 256-bit PBKDF2 output: // 13 9c 30 c0 96 6b c3 2b a5 5f db f2 12 53 0a c9 // c5 ec 59 f1 a4 52 f5 cc 9a d9 40 fe a0 59 8e d1 edk = Util.toBytesFromString( "139c30c0966bc32ba55fdbf212530ac9c5ec59f1a452f5cc9ad940fea0598ed1"); password = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" .toCharArray(); salt = "pass phrase equals block size".getBytes(); attr.put(IPBE.ITERATION_COUNT, new Integer(1200)); attr.put(IPBE.PASSWORD, password); attr.put(IPBE.SALT, salt); try { kdf.init(attr); kdf.nextBytes(dk, 0, dk.length); harness.check(Arrays.equals(dk, edk)); } catch (Exception x) { harness.debug(x); harness.fail(x.toString()); } // Iteration count = 1200 // Pass phrase = (65 characters) // "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" // Salt = "pass phrase exceeds block size" // 256-bit PBKDF2 output: // 9c ca d6 d4 68 77 0c d5 1b 10 e6 a6 87 21 be 61 // 1a 8b 4d 28 26 01 db 3b 36 be 92 46 91 5e c8 2a edk = Util.toBytesFromString( "9ccad6d468770cd51b10e6a68721be611a8b4d282601db3b36be9246915ec82a"); password = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" .toCharArray(); salt = "pass phrase exceeds block size".getBytes(); attr.put(IPBE.ITERATION_COUNT, new Integer(1200)); attr.put(IPBE.PASSWORD, password); attr.put(IPBE.SALT, salt); try { kdf.init(attr); kdf.nextBytes(dk, 0, dk.length); harness.check(Arrays.equals(dk, edk)); } catch (Exception x) { harness.debug(x); harness.fail(x.toString()); } } catch (Exception x) { x.printStackTrace(System.err); } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/prng/TestOfICMGenerator.java0000644000175000001440000001464010367014266024673 0ustar dokousers/* TestOfICMGenerator.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.prng; import gnu.java.security.prng.IRandom; import gnu.java.security.util.Util; import gnu.javax.crypto.prng.ICMGenerator; import gnu.javax.crypto.prng.PRNGFactory; import gnu.javax.crypto.cipher.IBlockCipher; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.math.BigInteger; import java.util.HashMap; /** * Conformance test for the ICM implementation. Tests if the output matches * the values given in the draft-mcgrew-saag-icm-00.txt. */ public class TestOfICMGenerator implements Testlet { private HashMap map = new HashMap(); private byte[] key, offset, data; private ICMGenerator icm = new ICMGenerator(); private IRandom rnd = PRNGFactory.getInstance("icm"); private String ks, computed; public void test(TestHarness harness) { harness.checkPoint("TestOfICMGenerator.testVectorOne"); // Block Cipher Key: 000102030405060708090A0B0C0D0E0F // Offset: 000102030405060708090A0B0C0D0E0F // BLOCK_INDEX_LENGTH: 4 // SEGMENT_INDEX_LENGTH: 4 // Segment Index: 00000000 // // Counter Keystream // 000102030405060708090A0B0C0D0E0F 0A940BB5416EF045F1C39458C653EA5A // 000102030405060708090A0B0C0D0E10 0263EC94661872969ADAFD0F4BA40FDC // 000102030405060708090A0B0C0D0E11 1A2D94B3111CA5F8BDC2C84DCC29EC47 // 000102030405060708090A0B0C0D0E12 4D0BABD2995F9F076223246847B5D30E // 000102030405060708090A0B0C0D0E13 8D33F128463B88EFD3F8A52505020379 key = new byte[16]; offset = new byte[16]; for (int i = 0; i < 16; i++) { key[i] = (byte) i; offset[i] = (byte) i; } map.clear(); map.put(IBlockCipher.CIPHER_BLOCK_SIZE, new Integer(16)); map.put(IBlockCipher.KEY_MATERIAL, key); map.put(ICMGenerator.SEGMENT_INDEX_LENGTH, new Integer(4)); map.put(ICMGenerator.OFFSET, offset); map.put(ICMGenerator.SEGMENT_INDEX, BigInteger.ZERO); data = new byte[16]; try { icm.init(map); ks = "0A940BB5416EF045F1C39458C653EA5A"; icm.nextBytes(data, 0, 16); computed = Util.toString(data); harness.check(ks.equals(computed)); ks = "0263EC94661872969ADAFD0F4BA40FDC"; icm.nextBytes(data, 0, 16); computed = Util.toString(data); harness.check(ks.equals(computed)); ks = "1A2D94B3111CA5F8BDC2C84DCC29EC47"; icm.nextBytes(data, 0, 16); computed = Util.toString(data); harness.check(ks.equals(computed)); ks = "4D0BABD2995F9F076223246847B5D30E"; icm.nextBytes(data, 0, 16); computed = Util.toString(data); harness.check(ks.equals(computed)); ks = "8D33F128463B88EFD3F8A52505020379"; icm.nextBytes(data, 0, 16); computed = Util.toString(data); harness.check(ks.equals(computed)); } catch (Exception x) { harness.debug(x); harness.fail("TestOfICMGenerator.testVectorOne"); } harness.checkPoint("TestOfICMGenerator.testVectorTwo"); // Block Cipher Key: 75387824D1F1F3815641B65D78D51EDB // Offset: 96C9781981053CBBCB36927844F1932C // BLOCK_INDEX_LENGTH: 2 // SEGMENT_INDEX_LENGTH: 6 // Segment Index: 12345678 // // Counter Keystream // 96C9781981053CBBCB36A4AC9B69932C EA0AA027BA6D56E44B28F43A7E3E5F58 // 96C9781981053CBBCB36A4AC9B69932D CBDB3107EDA8D420D3EF7AB7FF290166 // 96C9781981053CBBCB36A4AC9B69932E AED6F7CB14ED49174336CC010AEB8780 // 96C9781981053CBBCB36A4AC9B69932F 4C3A754AF027A5C8CCB40E0FE20AF246 // 96C9781981053CBBCB36A4AC9B699330 01A6D1CE983EF993E980CC9568587E3D key = new byte[] { (byte) 0x75, (byte) 0x38, (byte) 0x78, (byte) 0x24, (byte) 0xD1, (byte) 0xF1, (byte) 0xF3, (byte) 0x81, (byte) 0x56, (byte) 0x41, (byte) 0xB6, (byte) 0x5D, (byte) 0x78, (byte) 0xD5, (byte) 0x1E, (byte) 0xDB }; offset = new byte[] { (byte) 0x96, (byte) 0xC9, (byte) 0x78, (byte) 0x19, (byte) 0x81, (byte) 0x05, (byte) 0x3C, (byte) 0xBB, (byte) 0xCB, (byte) 0x36, (byte) 0x92, (byte) 0x78, (byte) 0x44, (byte) 0xF1, (byte) 0x93, (byte) 0x2C }; map.clear(); map.put(IBlockCipher.CIPHER_BLOCK_SIZE, new Integer(16)); map.put(IBlockCipher.KEY_MATERIAL, key); map.put(ICMGenerator.BLOCK_INDEX_LENGTH, new Integer(2)); map.put(ICMGenerator.OFFSET, new BigInteger(1, offset)); map.put(ICMGenerator.SEGMENT_INDEX, new BigInteger("12345678", 16)); data = new byte[16]; String ks, computed; try { rnd.init(map); ks = "EA0AA027BA6D56E44B28F43A7E3E5F58"; rnd.nextBytes(data, 0, 16); computed = Util.toString(data); harness.check(ks.equals(computed)); ks = "CBDB3107EDA8D420D3EF7AB7FF290166"; rnd.nextBytes(data, 0, 16); computed = Util.toString(data); harness.check(ks.equals(computed)); ks = "AED6F7CB14ED49174336CC010AEB8780"; rnd.nextBytes(data, 0, 16); computed = Util.toString(data); harness.check(ks.equals(computed)); ks = "4C3A754AF027A5C8CCB40E0FE20AF246"; rnd.nextBytes(data, 0, 16); computed = Util.toString(data); harness.check(ks.equals(computed)); ks = "01A6D1CE983EF993E980CC9568587E3D"; rnd.nextBytes(data, 0, 16); computed = Util.toString(data); harness.check(ks.equals(computed)); } catch (Exception x) { harness.debug(x); harness.fail("TestOfICMGenerator.testVectorTwo"); } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/prng/TestOfARCFour.java0000644000175000001440000002047710367014266023662 0ustar dokousers/* TestOfARCFour.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.prng; import gnu.java.security.Registry; import gnu.java.security.prng.IRandom; import gnu.java.security.util.Util; import gnu.javax.crypto.prng.ARCFour; import gnu.javax.crypto.prng.PRNGFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Arrays; import java.util.HashMap; /** * Conformance tests for the ARCFOUR keystream generator. */ public class TestOfARCFour implements Testlet { private byte[] pt, kb, ct; private HashMap attrib = new HashMap(); private IRandom keystream; // Test vectors are from "draft-kaukonen-cipher-arcfour-03.txt", which is // about as official as anything associated with ARCFOUR gets. public void test(TestHarness harness) { harness.checkPoint("TestOfARCFour.testVectorOne"); // PLAIN=0000000000000000 // KEY=0123456789ABCDEF // CIPHER=7494C2E7104B0879 try { attrib.clear(); keystream = PRNGFactory.getInstance(Registry.ARCFOUR_PRNG); pt = new byte[8]; kb = Util.toBytesFromString("0123456789ABCDEF"); ct = Util.toBytesFromString("7494C2E7104B0879"); attrib.put(ARCFour.ARCFOUR_KEY_MATERIAL, kb); keystream.init(attrib); byte[] sb = new byte[8]; keystream.nextBytes(sb, 0, 8); harness.check(Arrays.equals(ct, sb)); } catch (Exception e) { harness.debug(e); harness.fail("TestOfARCFour.testVectorOne"); } harness.checkPoint("TestOfARCFour.testVectorTwo"); // PLAIN=DCEE4CF92C // KEY=618A63D2FB // CIPHER=F13829C9DE try { attrib.clear(); keystream = PRNGFactory.getInstance(Registry.ARCFOUR_PRNG); pt = Util.toBytesFromString("DCEE4CF92C"); kb = Util.toBytesFromString("618A63D2FB"); ct = Util.toBytesFromString("F13829C9DE"); attrib.put(ARCFour.ARCFOUR_KEY_MATERIAL, kb); keystream.init(attrib); byte[] cct = new byte[pt.length]; for (int i = 0; i < pt.length; i++) { cct[i] = (byte) (pt[i] ^ keystream.nextByte()); } harness.check(Arrays.equals(cct, ct)); } catch (Exception e) { harness.debug(e); harness.fail("TestOfARCFour.testVectorTwo"); } harness.checkPoint("TestOfARCFour.testVectorThree"); // PLAIN=527569736C696E6E756E206C61756C75206B6F7276697373 // 73616E692C2074E4686BE470E46964656E2070E4E46C6CE4 // 2074E47973696B75752E204B6573E479F66E206F6E206F6E // 6E69206F6D616E616E692C206B61736B6973617675756E20 // 6C61616B736F7420766572686F75752E20456E206D612069 // 6C6F697473652C20737572652068756F6B61612C206D7574 // 7461206D657473E46E2074756D6D757573206D756C6C6520 // 74756F6B61612E205075756E746F2070696C76656E2C206D // 692068756B6B75752C207369696E746F20766172616E2074 // 75756C6973656E2C206D69206E756B6B75752E2054756F6B // 7375742076616E616D6F6E206A61207661726A6F74207665 // 656E2C206E69697374E420737964E46D656E69206C61756C // 756E207465656E2E202D2045696E6F204C65696E6F // KEY=29041972FB42BA5FC7127712F13829C9 // CIPHER=358186999001E6B5DAF05ECEEB7EEE21E0689C1F00EEA81F // 7DD2CAAEE1D2763E68AF0EAD33D66C268BC946C484FBE94C // 5F5E0B86A59279E4F824E7A640BD223210B0A61160B7BCE9 // 86EA65688003596B630A6B90F8E0CAF6912A98EB872176E8 // 3C202CAA64166D2CCE57FF1BCA57B213F0ED1AA72FB8EA52 // B0BE01CD1E412867720B326EB389D011BD70D8AF035FB0D8 // 589DBCE3C666F5EA8D4C7954C50C3F340B0467F81B425961 // C11843074DF620F208404B394CF9D37FF54B5F1AD8F6EA7D // A3C561DFA7281F964463D2CC35A4D1B03490DEC51B0711FB // D6F55F79234D5B7C766622A66DE92BE996461D5E4DC878EF // 9BCA030521E8351E4BAED2FD04F9467368C4AD6AC186D082 // 45B263A2666D1F6C5420F1599DFD9F438921C2F5A463938C // E0982265EEF70179BC553F339EB1A4C1AF5F6A547F try { attrib.clear(); keystream = PRNGFactory.getInstance(Registry.ARCFOUR_PRNG); pt = Util.toBytesFromString("527569736C696E6E756E206C61756C75206B6F7276697373" + "73616E692C2074E4686BE470E46964656E2070E4E46C6CE4" + "2074E47973696B75752E204B6573E479F66E206F6E206F6E" + "6E69206F6D616E616E692C206B61736B6973617675756E20" + "6C61616B736F7420766572686F75752E20456E206D612069" + "6C6F697473652C20737572652068756F6B61612C206D7574" + "7461206D657473E46E2074756D6D757573206D756C6C6520" + "74756F6B61612E205075756E746F2070696C76656E2C206D" + "692068756B6B75752C207369696E746F20766172616E2074" + "75756C6973656E2C206D69206E756B6B75752E2054756F6B" + "7375742076616E616D6F6E206A61207661726A6F74207665" + "656E2C206E69697374E420737964E46D656E69206C61756C" + "756E207465656E2E202D2045696E6F204C65696E6F"); kb = Util.toBytesFromString("29041972FB42BA5FC7127712F13829C9"); ct = Util.toBytesFromString("358186999001E6B5DAF05ECEEB7EEE21E0689C1F00EEA81F" + "7DD2CAAEE1D2763E68AF0EAD33D66C268BC946C484FBE94C" + "5F5E0B86A59279E4F824E7A640BD223210B0A61160B7BCE9" + "86EA65688003596B630A6B90F8E0CAF6912A98EB872176E8" + "3C202CAA64166D2CCE57FF1BCA57B213F0ED1AA72FB8EA52" + "B0BE01CD1E412867720B326EB389D011BD70D8AF035FB0D8" + "589DBCE3C666F5EA8D4C7954C50C3F340B0467F81B425961" + "C11843074DF620F208404B394CF9D37FF54B5F1AD8F6EA7D" + "A3C561DFA7281F964463D2CC35A4D1B03490DEC51B0711FB" + "D6F55F79234D5B7C766622A66DE92BE996461D5E4DC878EF" + "9BCA030521E8351E4BAED2FD04F9467368C4AD6AC186D082" + "45B263A2666D1F6C5420F1599DFD9F438921C2F5A463938C" + "E0982265EEF70179BC553F339EB1A4C1AF5F6A547F"); attrib.put(ARCFour.ARCFOUR_KEY_MATERIAL, kb); keystream.init(attrib); byte[] cct = new byte[pt.length]; for (int i = 0; i < pt.length; i++) { cct[i] = (byte) (pt[i] ^ keystream.nextByte()); } harness.check(Arrays.equals(cct, ct)); } catch (Exception e) { harness.debug(e); harness.fail("TestOfARCFour.testVectorThree"); } harness.checkPoint("TestOfARCFour.testCloneability"); try { attrib.clear(); keystream = PRNGFactory.getInstance(Registry.ARCFOUR_PRNG); attrib.put(ARCFour.ARCFOUR_KEY_MATERIAL, new byte[0]); byte[] b1 = new byte[16]; byte[] b2 = new byte[16]; IRandom r1 = PRNGFactory.getInstance(Registry.ARCFOUR_PRNG); r1.init(attrib); r1.nextBytes(b1, 0, b1.length); IRandom r2 = (IRandom) r1.clone(); r1.nextBytes(b1, 0, b1.length); r2.nextBytes(b2, 0, b1.length); harness.check(Arrays.equals(b1, b2)); } catch (Exception e) { harness.debug(e); harness.fail("TestOfARCFour.testCloneability"); } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/prng/TestOfPRNGFactory.java0000644000175000001440000000345710367014266024516 0ustar dokousers/* TestOfPRNGFactory.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.prng; import gnu.java.security.prng.IRandom; import gnu.javax.crypto.prng.PRNGFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Iterator; /** * Conformance tests for the PRNGFactory implementation. */ public class TestOfPRNGFactory implements Testlet { public void test(TestHarness harness) { harness.checkPoint("TestOfPRNGFactory"); String prng; IRandom algorithm; for (Iterator it = PRNGFactory.getNames().iterator(); it.hasNext();) { prng = (String) it.next(); try { algorithm = null; algorithm = PRNGFactory.getInstance(prng); harness.check(algorithm != null, "getInstance(" + String.valueOf(prng) + ")"); } catch (InternalError x) { harness.fail("TestOfPRNGFactory.getInstance(" + String.valueOf(prng) + ")"); } } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/key/0000755000175000001440000000000012375316426020245 5ustar dokousersmauve-20140821/gnu/testlet/gnu/javax/crypto/key/dh/0000755000175000001440000000000012375316426020640 5ustar dokousersmauve-20140821/gnu/testlet/gnu/javax/crypto/key/dh/TestOfDHKeyAgreements.java0000644000175000001440000001623210367014267025610 0ustar dokousers/* TestOfDHKeyAgreements.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.key.dh; import gnu.java.security.Registry; import gnu.java.security.key.IKeyPairGenerator; import gnu.java.security.key.KeyPairGeneratorFactory; import gnu.javax.crypto.key.IKeyAgreementParty; import gnu.javax.crypto.key.KeyAgreementException; import gnu.javax.crypto.key.IncomingMessage; import gnu.javax.crypto.key.OutgoingMessage; import gnu.javax.crypto.key.dh.DiffieHellmanKeyAgreement; import gnu.javax.crypto.key.dh.DiffieHellmanReceiver; import gnu.javax.crypto.key.dh.DiffieHellmanSender; import gnu.javax.crypto.key.dh.ElGamalReceiver; import gnu.javax.crypto.key.dh.ElGamalSender; import gnu.javax.crypto.key.dh.ElGamalKeyAgreement; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.KeyPair; import java.util.Arrays; import java.util.HashMap; import java.util.Map; /** * A test case for the Diffie-Hellman key agreements, both the Static-Static * (basic version) and the Ephemeral-Static (ElGamal) modes. */ public class TestOfDHKeyAgreements implements Testlet { private KeyPair kpA, kpB; private IKeyAgreementParty A, B; public void test(TestHarness harness) { testOfStaticStatic(harness); testOfEphemeralStatic(harness); } public void testOfStaticStatic(TestHarness harness) { harness.checkPoint("TestOfDHKeyAgreements.testOfStaticStatic"); setUp(); A = new DiffieHellmanSender(); B = new DiffieHellmanReceiver(); Map mapA = new HashMap(); mapA.put(DiffieHellmanKeyAgreement.KA_DIFFIE_HELLMAN_OWNER_PRIVATE_KEY, kpA.getPrivate()); Map mapB = new HashMap(); mapB.put(DiffieHellmanKeyAgreement.KA_DIFFIE_HELLMAN_OWNER_PRIVATE_KEY, kpB.getPrivate()); try { A.init(mapA); } catch (KeyAgreementException x) { harness.debug(x); harness.fail("while initialising A"); } harness.check(!A.isComplete(), "A is ready"); try { B.init(mapB); } catch (KeyAgreementException x) { harness.debug(x); harness.fail("while initialising B"); } harness.check(!B.isComplete(), "B is ready"); // (1) A -> B: g**x mod p OutgoingMessage out = null; try { out = A.processMessage(null); } catch (KeyAgreementException x) { harness.debug(x); harness.fail("while A is in step #1"); } harness.check(!A.isComplete(), "A is OK after step #1"); // (2) B -> A: g^^y mod p IncomingMessage in = null; try { in = new IncomingMessage(out.toByteArray()); } catch (KeyAgreementException x) { harness.debug(x); harness.fail("while feeding B, A's incoming message"); } out = null; try { out = B.processMessage(in); } catch (KeyAgreementException x) { harness.debug(x); harness.fail("while B is in step #1"); } harness.check(B.isComplete(), "B is complete after step #1"); byte[] k2 = null; try { k2 = B.getSharedSecret(); } catch (KeyAgreementException x) { harness.fail("while accessing B's version of the shared secret"); } // A computes the shared secret in = null; try { in = new IncomingMessage(out.toByteArray()); } catch (KeyAgreementException x) { harness.debug(x); harness.fail("while feeding A, B's incoming message"); } out = null; try { out = A.processMessage(in); } catch (KeyAgreementException x) { harness.debug(x); harness.fail("while A is in step #2"); } harness.check(A.isComplete(), "A is complete after step #2"); byte[] k1 = null; try { k1 = A.getSharedSecret(); } catch (KeyAgreementException x) { harness.fail("while accessing A's version of the shared secret"); } harness.check(Arrays.equals(k1, k2), "A and B share the same secret"); } public void testOfEphemeralStatic(TestHarness harness) { harness.checkPoint("TestOfDHKeyAgreements.testOfEphemeralStatic"); setUp(); A = new ElGamalSender(); B = new ElGamalReceiver(); Map mapA = new HashMap(); mapA.put(ElGamalKeyAgreement.KA_ELGAMAL_RECIPIENT_PUBLIC_KEY, kpB.getPublic()); Map mapB = new HashMap(); mapB.put(ElGamalKeyAgreement.KA_ELGAMAL_RECIPIENT_PRIVATE_KEY, kpB.getPrivate()); try { A.init(mapA); } catch (KeyAgreementException x) { harness.debug(x); harness.fail("while initialising A"); } harness.check(!A.isComplete(), "A is ready"); try { B.init(mapB); } catch (KeyAgreementException x) { harness.debug(x); harness.fail("while initialising B"); } harness.check(!B.isComplete(), "B is ready"); // (1) A -> B: g**x mod p OutgoingMessage out = null; try { out = A.processMessage(null); } catch (KeyAgreementException x) { harness.debug(x); harness.fail("while A is in step #1"); } harness.check(A.isComplete(), "A is complete after step #1"); IncomingMessage in = null; try { in = new IncomingMessage(out.toByteArray()); } catch (KeyAgreementException x) { harness.debug(x); harness.fail("while feeding B, A's incoming message"); } out = null; try { out = B.processMessage(in); } catch (KeyAgreementException x) { harness.debug(x); harness.fail("while B is in step #1"); } harness.check(B.isComplete(), "B is complete after step #1"); byte[] k1 = null; try { k1 = A.getSharedSecret(); } catch (KeyAgreementException x) { harness.fail("while accessing A's version of the shared secret"); } byte[] k2 = null; try { k2 = B.getSharedSecret(); } catch (KeyAgreementException x) { harness.fail("while accessing B's version of the shared secret"); } harness.check(Arrays.equals(k1, k2), "A and B share the same secret"); } private void setUp() { IKeyPairGenerator kpg = KeyPairGeneratorFactory.getInstance(Registry.DH_KPG); kpg.setup(new HashMap()); // use default values kpA = kpg.generate(); kpB = kpg.generate(); } }mauve-20140821/gnu/testlet/gnu/javax/crypto/key/dh/TestOfDHKeyGeneration.java0000644000175000001440000000513010445137734025606 0ustar dokousers/* TestOfDHKeyGeneration.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.key.dh; import gnu.javax.crypto.key.dh.GnuDHKeyPairGenerator; import gnu.javax.crypto.key.dh.GnuDHPrivateKey; import gnu.javax.crypto.key.dh.GnuDHPublicKey; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.math.BigInteger; import java.security.KeyPair; import java.util.HashMap; /** * Conformance tests for the Diffie-Hellman key-pair generation implementation. */ public class TestOfDHKeyGeneration implements Testlet { public void test(TestHarness harness) { harness.checkPoint("TestOfDHKeyGeneration"); GnuDHKeyPairGenerator kpg = new GnuDHKeyPairGenerator(); HashMap map = new HashMap(); map.put(GnuDHKeyPairGenerator.PRIME_SIZE, new Integer(530)); try { kpg.setup(map); harness.fail("L should be <= 1024 and of the form 512 + 64n"); } catch (IllegalArgumentException x) { harness.check(true, "L should be <= 1024 and of the form 512 + 64n"); } map.put(GnuDHKeyPairGenerator.PRIME_SIZE, new Integer(512)); map.put(GnuDHKeyPairGenerator.EXPONENT_SIZE, new Integer(160)); kpg.setup(map); KeyPair kp = kpg.generate(); BigInteger p1 = ((GnuDHPublicKey) kp.getPublic()).getParams().getP(); BigInteger p2 = ((GnuDHPrivateKey) kp.getPrivate()).getParams().getP(); harness.check(p1.equals(p2), "p1.equals(p2)"); BigInteger q1 = ((GnuDHPublicKey) kp.getPublic()).getQ(); BigInteger q2 = ((GnuDHPrivateKey) kp.getPrivate()).getQ(); harness.check(q1.equals(q2), "q1.equals(q2)"); BigInteger g1 = ((GnuDHPublicKey) kp.getPublic()).getParams().getG(); BigInteger g2 = ((GnuDHPrivateKey) kp.getPrivate()).getParams().getG(); harness.check(g1.equals(g2), "g1.equals(g2)"); harness.check(p1.isProbablePrime(80), "p is probable prime"); } }mauve-20140821/gnu/testlet/gnu/javax/crypto/key/dh/TestOfDHCodec.java0000644000175000001440000001252210373576007024062 0ustar dokousers/* TestOfDHCodec.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.key.dh; import gnu.java.security.key.IKeyPairCodec; import gnu.javax.crypto.key.dh.DHKeyPairPKCS8Codec; import gnu.javax.crypto.key.dh.DHKeyPairRawCodec; import gnu.javax.crypto.key.dh.DHKeyPairX509Codec; import gnu.javax.crypto.key.dh.GnuDHKeyPairGenerator; import gnu.javax.crypto.key.dh.GnuDHPrivateKey; import gnu.javax.crypto.key.dh.GnuDHPublicKey; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.KeyPair; import java.security.PrivateKey; import java.security.PublicKey; import java.util.HashMap; import javax.crypto.interfaces.DHPrivateKey; import javax.crypto.interfaces.DHPublicKey; /** * Conformance tests for the Diffie-Hellman key format encoding/decoding * implementation. */ public class TestOfDHCodec implements Testlet { private HashMap map; private GnuDHKeyPairGenerator kpg = new GnuDHKeyPairGenerator(); private KeyPair kp; public void test(TestHarness harness) { setUp(); testUnknownKeyPairCodec(harness); testKeyPairRawCodec(harness); testKeyPairASN1Codec(harness); testPublicKeyValueOf(harness); testPrivateKeyValueOf(harness); } private void testUnknownKeyPairCodec(TestHarness harness) { harness.checkPoint("testUnknownKeyPairCodec"); kp = kpg.generate(); DHPublicKey pubK = (DHPublicKey) kp.getPublic(); try { ((GnuDHPublicKey) pubK).getEncoded(0); harness.fail("Public key succeeded with unknown format ID"); } catch (IllegalArgumentException x) { harness.check(true, "Recognised unknown public key format ID"); } DHPrivateKey secK = (DHPrivateKey) kp.getPrivate(); try { ((GnuDHPrivateKey) secK).getEncoded(0); harness.fail("Private key succeeded with unknown format ID"); } catch (IllegalArgumentException x) { harness.check(true, "Recognised unknown private key format ID"); } } public void testKeyPairRawCodec(TestHarness harness) { harness.checkPoint("testKeyPairRawCodec"); kp = kpg.generate(); GnuDHPublicKey pubK = (GnuDHPublicKey) kp.getPublic(); GnuDHPrivateKey secK = (GnuDHPrivateKey) kp.getPrivate(); byte[] pk1, pk2; pk1 = ((GnuDHPublicKey) pubK).getEncoded(IKeyPairCodec.RAW_FORMAT); pk2 = ((GnuDHPrivateKey) secK).getEncoded(IKeyPairCodec.RAW_FORMAT); IKeyPairCodec codec = new DHKeyPairRawCodec(); PublicKey newPubK = codec.decodePublicKey(pk1); PrivateKey newSecK = codec.decodePrivateKey(pk2); harness.check(pubK.equals(newPubK), "DH public key Raw encoder/decoder test"); harness.check(secK.equals(newSecK), "DH private key Raw encoder/decoder test"); } private void testKeyPairASN1Codec(TestHarness harness) { harness.checkPoint("testKeyPairASN1Codec"); kp = kpg.generate(); byte[] pk; DHPublicKey pubK = (DHPublicKey) kp.getPublic(); DHPrivateKey secK = (DHPrivateKey) kp.getPrivate(); pk = ((GnuDHPrivateKey) secK).getEncoded(IKeyPairCodec.PKCS8_FORMAT); PrivateKey newSecK = new DHKeyPairPKCS8Codec().decodePrivateKey(pk); harness.check(secK.equals(newSecK), "DH private key ASN.1 encoder/decoder test"); pk = ((GnuDHPublicKey) pubK).getEncoded(IKeyPairCodec.X509_FORMAT); PublicKey newPubK = new DHKeyPairX509Codec().decodePublicKey(pk); harness.check(pubK.equals(newPubK), "DH public key ASN.1 encoder/decoder test"); } public void testPublicKeyValueOf(TestHarness harness) { harness.checkPoint("testPublicKeyValueOf"); kp = kpg.generate(); GnuDHPublicKey pubK = (GnuDHPublicKey) kp.getPublic(); byte[] pk = ((GnuDHPublicKey) pubK).getEncoded(IKeyPairCodec.RAW_FORMAT); PublicKey newPubK = GnuDHPublicKey.valueOf(pk); harness.check(pubK.equals(newPubK), "DH public key valueOf() test"); } public void testPrivateKeyValueOf(TestHarness harness) { harness.checkPoint("testPrivateKeyValueOf"); kp = kpg.generate(); GnuDHPrivateKey privateK = (GnuDHPrivateKey) kp.getPrivate(); byte[] pk = ((GnuDHPrivateKey) privateK).getEncoded(IKeyPairCodec.RAW_FORMAT); PrivateKey newSecK = GnuDHPrivateKey.valueOf(pk); harness.check(privateK.equals(newSecK), "DH public key valueOf() test"); } private void setUp() { map = new HashMap(); map.put(GnuDHKeyPairGenerator.PRIME_SIZE, new Integer(512)); map.put(GnuDHKeyPairGenerator.EXPONENT_SIZE, new Integer(160)); kpg = new GnuDHKeyPairGenerator(); kpg.setup(map); } }mauve-20140821/gnu/testlet/gnu/javax/crypto/key/srp6/0000755000175000001440000000000012375316426021137 5ustar dokousersmauve-20140821/gnu/testlet/gnu/javax/crypto/key/srp6/TestOfSRP6KeyAgreements.java0000644000175000001440000002720710367014266026351 0ustar dokousers/* TestOfSRP6KeyAgreements.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.key.srp6; import gnu.java.security.Registry; import gnu.java.security.util.Util; import gnu.javax.crypto.key.IKeyAgreementParty; import gnu.javax.crypto.key.IncomingMessage; import gnu.javax.crypto.key.KeyAgreementException; import gnu.javax.crypto.key.OutgoingMessage; import gnu.javax.crypto.key.srp6.SRP6Host; import gnu.javax.crypto.key.srp6.SRP6KeyAgreement; import gnu.javax.crypto.key.srp6.SRP6User; import gnu.javax.crypto.key.srp6.SRP6SaslClient; import gnu.javax.crypto.key.srp6.SRP6SaslServer; import gnu.javax.crypto.sasl.srp.SRPAuthInfoProvider; import gnu.javax.crypto.sasl.srp.SRPRegistry; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOException; import java.io.File; import java.math.BigInteger; import java.util.Arrays; import java.util.HashMap; import java.util.Map; import java.util.Random; import javax.security.sasl.AuthenticationException; /** * A test case for the SRP-6, both basic and SASL alternative versions of * the key agreement protocol. */ public class TestOfSRP6KeyAgreements implements Testlet { private String I = "test"; // user name private String p = "test"; // user plain password private String pFile = "./gnu_crypto_srp6test"; private String p2File = pFile + "2"; // ./test2 private String cFile = pFile + ".conf"; // ./test.conf private SRPAuthInfoProvider tpasswd = new SRPAuthInfoProvider(); private IKeyAgreementParty A, B; BigInteger N; BigInteger g; private Random prng = new Random(); public void test(final TestHarness harness) { testBasicVersion(harness); testSaslVersion(harness); } public void testBasicVersion(final TestHarness harness) { harness.checkPoint("TestOfSRP6KeyAgreements.testBasicVersion"); try { setUp(); } catch (IOException x) { harness.debug(x); harness.fail("while setting up the test"); } A = new SRP6User(); final Map mapA = new HashMap(); mapA.put(SRP6KeyAgreement.SHARED_MODULUS, N); mapA.put(SRP6KeyAgreement.GENERATOR, g); mapA.put(SRP6KeyAgreement.HASH_FUNCTION, Registry.MD5_HASH); mapA.put(SRP6KeyAgreement.USER_IDENTITY, I); mapA.put(SRP6KeyAgreement.USER_PASSWORD, p.getBytes()); try { A.init(mapA); } catch (KeyAgreementException x) { harness.debug(x); harness.fail("while initialising User"); } harness.check(!A.isComplete(), "User is ready"); B = new SRP6Host(); final Map mapB = new HashMap(); mapB.put(SRP6KeyAgreement.SHARED_MODULUS, N); mapB.put(SRP6KeyAgreement.GENERATOR, g); mapB.put(SRP6KeyAgreement.HASH_FUNCTION, Registry.MD5_HASH); mapB.put(SRP6KeyAgreement.HOST_PASSWORD_DB, tpasswd); try { B.init(mapB); } catch (KeyAgreementException x) { harness.debug(x); harness.fail("while initialising Host"); } harness.check(!B.isComplete(), "Host is ready"); // (1) user send I and it's public ephemeral key OutgoingMessage out = null; try { out = A.processMessage(null); } catch (KeyAgreementException x) { harness.debug(x); harness.fail("while User (A) is in step #1"); } harness.check(!A.isComplete(), "User (A) is OK after step #1"); // (2) host receives user identity and key, and generates its own IncomingMessage in = null; try { in = new IncomingMessage(out.toByteArray()); } catch (KeyAgreementException x) { harness.debug(x); harness.fail("while feeding Host (B), User's (A) incoming message"); } out = null; try { out = B.processMessage(in); } catch (KeyAgreementException x) { harness.debug(x); harness.fail("while Host (B) is in step #1"); } harness.check(B.isComplete(), "Host (B) is complete after step #1"); byte[] k2 = null; try { k2 = B.getSharedSecret(); } catch (KeyAgreementException x) { harness.fail("while accessing Host's (B) version of the shared secret"); } // A computes the shared secret in = null; try { in = new IncomingMessage(out.toByteArray()); } catch (KeyAgreementException x) { harness.debug(x); harness.fail("while feeding User (A), Host's (B) incoming message"); } // out = null; try { // out = A.processMessage(in); A.processMessage(in); } catch (KeyAgreementException x) { harness.debug(x); harness.fail("while User (A) is in step #2"); } harness.check(A.isComplete(), "User (A) is complete after step #2"); byte[] k1 = null; try { k1 = A.getSharedSecret(); } catch (KeyAgreementException x) { harness.fail("while accessing User's (A) version of the shared secret"); } harness.check(Arrays.equals(k1, k2), "User (A) and Host (B) share the same secret"); tearDown(); } public void testSaslVersion(final TestHarness harness) { harness.checkPoint("TestOfSRP6KeyAgreements.testSaslVersion"); try { setUp(); } catch (IOException x) { harness.debug(x); harness.fail("while setting up the test"); } A = new SRP6SaslClient(); final Map mapA = new HashMap(); mapA.put(SRP6KeyAgreement.HASH_FUNCTION, Registry.MD5_HASH); mapA.put(SRP6KeyAgreement.USER_IDENTITY, I); mapA.put(SRP6KeyAgreement.USER_PASSWORD, p.getBytes()); try { A.init(mapA); } catch (KeyAgreementException x) { harness.debug(x); harness.fail("while initialising Client"); } harness.check(!A.isComplete(), "Client is ready"); B = new SRP6SaslServer(); final Map mapB = new HashMap(); mapB.put(SRP6KeyAgreement.HASH_FUNCTION, Registry.MD5_HASH); mapB.put(SRP6KeyAgreement.HOST_PASSWORD_DB, tpasswd); try { B.init(mapB); } catch (KeyAgreementException x) { harness.debug(x); harness.fail("while initialising Server"); } harness.check(!B.isComplete(), "Server is ready"); // (1) user send I OutgoingMessage out = null; try { out = A.processMessage(null); } catch (KeyAgreementException x) { harness.debug(x); harness.fail("while Client (A) is in step #1"); } harness.check(!A.isComplete(), "Client (A) is OK after step #1"); // (2) host receives user identity, and generates its own public key IncomingMessage in = null; try { in = new IncomingMessage(out.toByteArray()); } catch (KeyAgreementException x) { harness.debug(x); harness.fail("while feeding Server (B), Client's (A) incoming message"); } out = null; try { out = B.processMessage(in); } catch (KeyAgreementException x) { harness.debug(x); harness.fail("while Server (B) is in step #1"); } harness.check(!B.isComplete(), "Server (B) is OK after step #1"); // (3) A computes the shared secret in = null; try { in = new IncomingMessage(out.toByteArray()); } catch (KeyAgreementException x) { harness.debug(x); harness.fail("while feeding Client (A), Server's (B) incoming message"); } out = null; try { out = A.processMessage(in); } catch (KeyAgreementException x) { harness.debug(x); harness.fail("while User (A) is in step #2"); } harness.check(A.isComplete(), "Client (A) is complete after step #2"); byte[] k1 = null; try { k1 = A.getSharedSecret(); } catch (KeyAgreementException x) { harness.fail("while accessing Client's (A) version of the shared secret"); } // (4) B computes the shared secret in = null; try { in = new IncomingMessage(out.toByteArray()); } catch (KeyAgreementException x) { harness.debug(x); harness.fail("while feeding Server (B), Client's (A) incoming message"); } try { B.processMessage(in); } catch (KeyAgreementException x) { harness.debug(x); harness.fail("while Server (B) is in step #2"); } harness.check(B.isComplete(), "Server (B) is complete after step #2"); byte[] k2 = null; try { k2 = B.getSharedSecret(); } catch (KeyAgreementException x) { harness.fail("while accessing Host's (B) version of the shared secret"); } harness.check(Arrays.equals(k1, k2), "Client (A) and Server (B) share the same secret"); tearDown(); } private void setUp() throws IOException { final Map context = new HashMap(); context.put(SRPRegistry.PASSWORD_FILE, pFile); tpasswd.activate(context); Map credentials; final Map userID = new HashMap(); userID.put(Registry.SASL_USERNAME, I); userID.put(SRPRegistry.MD_NAME_FIELD, Registry.MD5_HASH); try { credentials = tpasswd.lookup(userID); // user exists. update its credentials userID.put(Registry.SASL_PASSWORD, p); userID.put(SRPRegistry.CONFIG_NDX_FIELD, credentials.get(SRPRegistry.CONFIG_NDX_FIELD)); tpasswd.update(userID); } catch (AuthenticationException x) { // create new user userID.put(Registry.SASL_PASSWORD, p); final byte[] salt = new byte[10]; prng.nextBytes(salt); userID.put(SRPRegistry.SALT_FIELD, Util.toBase64(salt)); userID.put(SRPRegistry.CONFIG_NDX_FIELD, SRPRegistry.N_512_BITS); tpasswd.update(userID); } credentials = tpasswd.lookup(userID); // BigInteger s = new BigInteger(1, Util.fromBase64( // (String) credentials.get(SRPRegistry.SALT_FIELD))); // BigInteger v = new BigInteger(1, Util.fromBase64( // (String) credentials.get(SRPRegistry.USER_VERIFIER_FIELD))); final String mode = (String) credentials.get(SRPRegistry.CONFIG_NDX_FIELD); final Map configuration = tpasswd.getConfiguration(mode); N = new BigInteger( 1, Util.fromBase64((String) configuration.get(SRPRegistry.SHARED_MODULUS))); g = new BigInteger( 1, Util.fromBase64((String) configuration.get(SRPRegistry.FIELD_GENERATOR))); } private void tearDown() { try { new File(pFile).delete(); // remove test file } catch (Exception ignored) { } try { new File(p2File).delete(); // remove test2 file } catch (Exception ignored) { } try { new File(cFile).delete(); // remove test.conf file } catch (Exception ignored) { } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/key/srp6/TestOfSRPKeyGeneration.java0000644000175000001440000000503310445137734026260 0ustar dokousers/* TestOfSRPKeyGeneration.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.key.srp6; import gnu.javax.crypto.key.srp6.SRPKeyPairGenerator; import gnu.javax.crypto.key.srp6.SRPPrivateKey; import gnu.javax.crypto.key.srp6.SRPPublicKey; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.math.BigInteger; import java.security.KeyPair; import java.util.HashMap; /** * Conformance tests for the SRP key-pair generation implementation. */ public class TestOfSRPKeyGeneration implements Testlet { public void test(TestHarness harness) { harness.checkPoint("TestOfSRPKeyGeneration"); SRPKeyPairGenerator kpg = new SRPKeyPairGenerator(); HashMap map = new HashMap(); map.put(SRPKeyPairGenerator.MODULUS_LENGTH, new Integer(530)); try { kpg.setup(map); harness.fail("L should be >= 512, <= 2048 and of the form 512 + 256n"); } catch (IllegalArgumentException x) { harness.check(true, "L should be >= 512, <= 2048 and of the form 512 + 256n"); } map.put(SRPKeyPairGenerator.MODULUS_LENGTH, new Integer(512)); map.put(SRPKeyPairGenerator.USE_DEFAULTS, Boolean.FALSE); kpg.setup(map); KeyPair kp = kpg.generate(); BigInteger N1 = ((SRPPublicKey) kp.getPublic()).getN(); BigInteger N2 = ((SRPPrivateKey) kp.getPrivate()).getN(); harness.check(N1.equals(N2), "N1.equals(N2)"); BigInteger q = N1.subtract(BigInteger.ONE).divide(BigInteger.valueOf(2L)); BigInteger g1 = ((SRPPublicKey) kp.getPublic()).getG(); BigInteger g2 = ((SRPPrivateKey) kp.getPrivate()).getG(); harness.check(g1.equals(g2), "g1.equals(g2)"); harness.check(N1.isProbablePrime(80), "N is probable prime"); harness.check(q.isProbablePrime(80), "q is probable prime"); } }mauve-20140821/gnu/testlet/gnu/javax/crypto/key/srp6/TestOfSRPCodec.java0000644000175000001440000000736110367014266024534 0ustar dokousers/* TestOfSRPCodec.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.key.srp6; import gnu.java.security.key.IKeyPairCodec; import gnu.javax.crypto.key.srp6.SRPKeyPairGenerator; import gnu.javax.crypto.key.srp6.SRPKeyPairRawCodec; import gnu.javax.crypto.key.srp6.SRPPrivateKey; import gnu.javax.crypto.key.srp6.SRPPublicKey; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.KeyPair; import java.security.PrivateKey; import java.security.PublicKey; import java.util.HashMap; /** * Conformance tests for the SRP key encoding/decoding implementation. */ public class TestOfSRPCodec implements Testlet { private SRPKeyPairGenerator kpg = new SRPKeyPairGenerator(); private KeyPair kp; public void test(TestHarness harness) { testKeyPairRawCodec(harness); testPublicKeyValueOf(harness); testPrivateKeyValueOf(harness); } public void testKeyPairRawCodec(TestHarness harness) { harness.checkPoint("TestOfSRPCodec.testKeyPairRawCodec"); setUp(); SRPPublicKey pubK = (SRPPublicKey) kp.getPublic(); SRPPrivateKey secK = (SRPPrivateKey) kp.getPrivate(); byte[] pk1, pk2; try { // an invalid format ID pk1 = ((SRPPublicKey) pubK).getEncoded(0); harness.fail("Succeeded with unknown format ID"); } catch (IllegalArgumentException x) { harness.check(true, "Recognised unknown format ID"); } pk1 = ((SRPPublicKey) pubK).getEncoded(IKeyPairCodec.RAW_FORMAT); pk2 = ((SRPPrivateKey) secK).getEncoded(IKeyPairCodec.RAW_FORMAT); IKeyPairCodec codec = new SRPKeyPairRawCodec(); PublicKey newPubK = codec.decodePublicKey(pk1); PrivateKey newSecK = codec.decodePrivateKey(pk2); harness.check(pubK.equals(newPubK), "SRP public key Raw encoder/decoder test"); harness.check(secK.equals(newSecK), "SRP private key Raw encoder/decoder test"); } public void testPublicKeyValueOf(TestHarness harness) { harness.checkPoint("TestOfSRPCodec.testPublicKeyValueOf"); setUp(); SRPPublicKey pubK = (SRPPublicKey) kp.getPublic(); byte[] pk = ((SRPPublicKey) pubK).getEncoded(IKeyPairCodec.RAW_FORMAT); PublicKey newPubK = SRPPublicKey.valueOf(pk); harness.check(pubK.equals(newPubK), "SRP public key valueOf() test"); } public void testPrivateKeyValueOf(TestHarness harness) { harness.checkPoint("TestOfSRPCodec.testPrivateKeyValueOf"); setUp(); SRPPrivateKey privateK = (SRPPrivateKey) kp.getPrivate(); byte[] pk = ((SRPPrivateKey) privateK).getEncoded(IKeyPairCodec.RAW_FORMAT); PrivateKey newSecK = SRPPrivateKey.valueOf(pk); harness.check(privateK.equals(newSecK), "SRP public key valueOf() test"); } private void setUp() { HashMap map = new HashMap(); map.put(SRPKeyPairGenerator.MODULUS_LENGTH, new Integer(512)); map.put(SRPKeyPairGenerator.USE_DEFAULTS, Boolean.TRUE); kpg.setup(map); kp = kpg.generate(); } }mauve-20140821/gnu/testlet/gnu/javax/crypto/cipher/0000755000175000001440000000000012375316426020727 5ustar dokousersmauve-20140821/gnu/testlet/gnu/javax/crypto/cipher/TestOfRijndael.java0000644000175000001440000002554710367014267024461 0ustar dokousers/* TestOfRijndael.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 // Uses: BaseCipherTestCase package gnu.testlet.gnu.javax.crypto.cipher; import gnu.javax.crypto.cipher.IBlockCipher; import gnu.javax.crypto.cipher.Rijndael; import gnu.testlet.TestHarness; import java.util.HashMap; /** * Conformance tests for the {@link Rijndael} implementation. */ public class TestOfRijndael extends BaseCipherTestCase { // KAT and MCT vectors used in this test case private static final String[] vk_128; private static final String[] vk_192; private static final String[] vk_256; private static final String[] vt_128; private static final String[] vt_192; private static final String[] vt_256; private static final String[] mct_ecb_e_128; private static final String[] mct_ecb_e_192; private static final String[] mct_ecb_e_256; private static final String[] mct_ecb_d_128; private static final String[] mct_ecb_d_192; private static final String[] mct_ecb_d_256; private static final String[] mct_cbc_e_128; private static final String[] mct_cbc_e_192; private static final String[] mct_cbc_e_256; private static final String[] mct_cbc_d_128; private static final String[] mct_cbc_d_192; private static final String[] mct_cbc_d_256; // static initialiser static { vk_128 = new String[] { "0EDD33D3C621E546455BD8BA1418BEC8", "C0CC0C5DA5BD63ACD44A80774FAD5222", "2F0B4B71BC77851B9CA56D42EB8FF080", "6B1E2FFFE8A114009D8FE22F6DB5F876", "9AA042C315F94CBB97B62202F83358F5" }; vk_192 = new String[] { "DE885DC87F5A92594082D02CC1E1B42C", "C749194F94673F9DD2AA1932849630C1", "0CEF643313912934D310297B90F56ECC", "C4495D39D4A553B225FBA02A7B1B87E1", "636D10B1A0BCAB541D680A7970ADC830" }; vk_256 = new String[] { "E35A6DCB19B201A01EBCFA8AA22B5759", "5075C2405B76F22F553488CAE47CE90B", "49DF95D844A0145A7DE01C91793302D3", "E7396D778E940B8418A86120E5F421FE", "05F535C36FCEDE4657BE37F4087DB1EF" }; vt_128 = new String[] { "3AD78E726C1EC02B7EBFE92B23D9EC34", "45BC707D29E8204D88DFBA2F0B0CAD9B", "161556838018F52805CDBD6202002E3F", "F5569B3AB6A6D11EFDE1BF0A64C6854A", "64E82B50E501FBD7DD4116921159B83E" }; vt_192 = new String[] { "6CD02513E8D4DC986B4AFE087A60BD0C", "423D2772A0CA56DAABB48D2129062987", "1021F2A8DA70EB2219DC16804445FF98", "C636E35B402577F96974D8804295EBB8", "1566D2E57E8393C19E29F892EA28A9A7" }; vt_256 = new String[] { "DDC6BF790C15760D8D9AEB6F9A75FD4E", "C7098C217C334D0C9BDF37EA13B0822C", "60F0FB0D4C56A8D4EEFEC5264204042D", "73376FBBF654D0686E0E84001477106B", "2F443B52BA5F0C6EA0602C7C4FD259B6" }; mct_ecb_e_128 = new String[] { "C34C052CC0DA8D73451AFE5F03BE297F", "0AC15A9AFBB24D54AD99E987208272E2", "A3D43BFFA65D0E80092F67A314857870", "355F697E8B868B65B25A04E18D782AFA", "ACC863637868E3E068D2FD6E3508454A" }; mct_ecb_e_192 = new String[] { "F3F6752AE8D7831138F041560631B114", "77BA00ED5412DFF27C8ED91F3C376172", "2D92DE893574463412BD7D121A94952F", "96650F835912F5E748422727802C6CE1", "5FCCD4B5F125ADC5B85A56DB32283732" }; mct_ecb_e_256 = new String[] { "8B79EECC93A0EE5DFF30B4EA21636DA4", "C737317FE0846F132B23C8C2A672CE22", "E58B82BFBA53C0040DC610C642121168", "10B296ABB40504995DB71DDA0B7E26FB", "B7198D8E88BAA25234C18517E99BB70D" }; mct_ecb_d_128 = new String[] { "44416AC2D1F53C583303917E6BE9EBE0", "E3FD51123B48A2E2AB1DB29894202222", "877B88A77AEF04F05546539E17259F53", "C7A71C1B46261602EB1EE48FDA8155A4", "6B6AC8E00FAF7E045ECCFC426A137221" }; mct_ecb_d_192 = new String[] { "48E31E9E256718F29229319C19F15BA4", "CC01684BE9B29ED01EA7923E7D2380AA", "8726B4E66D6B8FBAA22D42981A5A40CC", "83B9A21A0710FDB9C603797613772ED6", "F15479A2B2C250F7E5C11D333D867CBD" }; mct_ecb_d_256 = new String[] { "058CCFFDBBCB382D1F6F56585D8A4ADE", "15173A0EB65F5CC05E704EFE61D9E346", "85F083ACC676D91EDD1ABFB43935237A", "42C8F0ABC58E0BEAC32911D2DD9FA8C8", "5E44123D2CA07981B073BB2749F557D6" }; mct_cbc_e_128 = new String[] { "8A05FC5E095AF4848A08D328D3688E3D", "192D9B3AA10BB2F7846CCBA0085C657A", "40D8DAF6D1FDA0A073B3BD18B7695D2E", "3EDBE80D69A1D2248CA55FC17C4EF3C5", "D87891CF573C99EAE4349A70CA099415" }; mct_cbc_e_192 = new String[] { "7BD966D53AD8C1BB85D2ADFAE87BB104", "869C061BE9CFEAB5D285B0724A9A8970", "9E58A52B3840DBE16E8063A18220FEE4", "730A256C202B9D57F3C0D73AD4B6CBED", "E79EF11C5C1FD1AB75280BCFFCFE89D4" }; mct_cbc_e_256 = new String[] { "FE3C53653E2F45B56FCD88B2CC898FF0", "7CE2ABAF8BEF23C4816DC8CE842048A7", "50CD14A12C6852D39654C816BFAF9AC2", "3F411DAD0E339FE281637133BF46BD13", "5BA2C7663A4061719A7CCC2AF2A3EE8A" }; mct_cbc_d_128 = new String[] { "FACA37E0B0C85373DF706E73F7C9AF86", "F5372F9735C5685F1DA362AF6ECB2940", "5496A4C29C7670F61B5D5DF6181F5947", "940CC5A2AF4F1F8D1862B47BCF63E4CA", "08832415D97820DE305A58A9AD111A9E" }; mct_cbc_d_192 = new String[] { "5DF678DD17BA4E75B61768C6ADEF7C7B", "F9604074F8FA45AC71959888DD056F9F", "98A957EA6DBE623B7E08F919812A3898", "AD6D29D6482764BB4BC27A87AE5CD877", "DA5EB591FDC48F0D9E4EBD373E5717A3" }; mct_cbc_d_256 = new String[] { "4804E1818FE6297519A3E88C57310413", "D36C27EBB8FA0BC9FA368DF850FD45FB", "EBCB4DC84155682856D94B442BC597EE", "23AA6A6B4BE8C04E19707CA330804C4E", "9B1AA0F33416484BA68740E821F95CD3" }; } public void test(TestHarness harness) { harness.checkPoint("TestOfRijndael"); cipher = new Rijndael(); HashMap attrib = new HashMap(); attrib.put(IBlockCipher.CIPHER_BLOCK_SIZE, new Integer(16)); attrib.put(IBlockCipher.KEY_MATERIAL, new byte[16]); try { cipher.init(attrib); String algorithm = cipher.name(); harness.check(validityTest(), "validityTest(" + algorithm + ")"); harness.check(cloneabilityTest(), "cloneabilityTest(" + algorithm + ")"); harness.check(katVK(vk_128, cipher, 16), "KAT VK " + algorithm + "-128"); harness.check(katVK(vk_192, cipher, 24), "KAT VK " + algorithm + "-192"); harness.check(katVK(vk_256, cipher, 32), "KAT VK " + algorithm + "-256"); harness.check(katVT(vt_128, cipher, 16), "KAT VT " + algorithm + "-128"); harness.check(katVT(vt_192, cipher, 24), "KAT VT " + algorithm + "-192"); harness.check(katVT(vt_256, cipher, 32), "KAT VT " + algorithm + "-256"); harness.check(mctEncryptECB(mct_ecb_e_128, cipher, 16), "MCT ECB Encryption " + algorithm + "-128"); harness.check(mctEncryptECB(mct_ecb_e_192, cipher, 24), "MCT ECB Encryption " + algorithm + "-192"); harness.check(mctEncryptECB(mct_ecb_e_256, cipher, 32), "MCT ECB Encryption " + algorithm + "-256"); harness.check(mctDecryptECB(mct_ecb_d_128, cipher, 16), "MCT ECB Decryption " + algorithm + "-128"); harness.check(mctDecryptECB(mct_ecb_d_192, cipher, 24), "MCT ECB Decryption " + algorithm + "-192"); harness.check(mctDecryptECB(mct_ecb_d_256, cipher, 32), "MCT ECB Decryption " + algorithm + "-256"); harness.check(mctEncryptCBC(mct_cbc_e_128, cipher, 16), "MCT CBC Encryption " + algorithm + "-128"); harness.check(mctEncryptCBC(mct_cbc_e_192, cipher, 24), "MCT CBC Encryption " + algorithm + "-192"); harness.check(mctEncryptCBC(mct_cbc_e_256, cipher, 32), "MCT CBC Encryption " + algorithm + "-256"); harness.check(mctDecryptCBC(mct_cbc_d_128, cipher, 16), "MCT CBC Decryption " + algorithm + "-128"); harness.check(mctDecryptCBC(mct_cbc_d_192, cipher, 24), "MCT CBC Decryption " + algorithm + "-192"); harness.check(mctDecryptCBC(mct_cbc_d_256, cipher, 32), "MCT CBC Decryption " + algorithm + "-256"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfRijndael"); } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/cipher/TestOfSquare.java0000644000175000001440000001152110367014267024154 0ustar dokousers/* TestOfSquare.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 // Uses: BaseCipherTestCase package gnu.testlet.gnu.javax.crypto.cipher; import gnu.javax.crypto.cipher.IBlockCipher; import gnu.javax.crypto.cipher.Square; import gnu.testlet.TestHarness; import java.util.HashMap; /** * Conformance tests for the {@link Square} implementation. */ public class TestOfSquare extends BaseCipherTestCase { // KAT and MCT vectors used in this test case private static final String[] vk_128; private static final String[] vt_128; private static final String[] mct_ecb_e_128; private static final String[] mct_ecb_d_128; private static final String[] mct_cbc_e_128; private static final String[] mct_cbc_d_128; // static initialiser static { vk_128 = new String[] { "05F8AAFDEFB4F5F9C751E5B36C8A37D8", "60AFFC9B2312B1397177251CC9296391", "D67B7E07C38F311446E16DDD9EA96EBE", "39207579067031706FAB8C3A5C6E5524", "FC4F2602A3F6AC34F56906C2EEEE40C5" }; vt_128 = new String[] { "C17B878EAF7D8CA82414E6E4C4A95149", "0A5C0887A1402D3C1A1F00298FD4F65D", "B5CD1003E2234CACB6E0F8124671FC46", "422BC7FBD31D4DBB445065C0B96250FD", "E528EB4AAED24077717DE65E2A934757" }; mct_ecb_e_128 = new String[] { "04623E016479F2AF395F6BE61CF9E797", "68ABB73D5E60834F47974BE90D412556", "9137BB63EF3F92EB04E189BA95D3DF37", "C0143A7B13DF13BFF3350861EC20D25B", "AF0E869F42E3E14ADF0A5B04110B3AE5" }; mct_ecb_d_128 = new String[] { "F064F8B9F358306CB8849C8194A468FC", "7DAE38E143FE19A07A23F0E303AB0CE5", "F8DFB20ABE6CFA2D9EC2EB9B7547B44B", "FDCCAF31173676F01F81283B809097D1", "75EB0C8884DE3DB0FC92695047E8AAC8" }; mct_cbc_e_128 = new String[] { "36987073BCE283781E6E1EF0433DA1DD", "5433C261BEB31FEEDA016F6964BADB30", "7AA8B93ECFAB1A27ACD0A8B74D5D1AE7", "3AF465A0FB987C80879FACA8D26D5FEE", "2100C9742DE65007D3524DEC7A9858BB" }; mct_cbc_d_128 = new String[] { "8FE89D15BE002BCA733E2A69C7D49AB5", "FCBE647F166FCD6C5C8C6741608E62DB", "B6F3BD29C2D260D5C0E223C54B9D877D", "4179351A962BAC5639D95B46DCB768C8", "71A450A6B86A2D25BB0177E0AEAFBB93" }; } public void test(TestHarness harness) { harness.checkPoint("TestOfSquare"); cipher = new Square(); HashMap attrib = new HashMap(); attrib.put(IBlockCipher.CIPHER_BLOCK_SIZE, new Integer(16)); attrib.put(IBlockCipher.KEY_MATERIAL, new byte[16]); try { cipher.init(attrib); String algorithm = cipher.name(); harness.check(validityTest(), "validityTest(" + algorithm + ")"); harness.check(cloneabilityTest(), "cloneabilityTest(" + algorithm + ")"); harness.check(katVK(vk_128, cipher, 16), "KAT VK " + algorithm + "-128"); harness.check(katVT(vt_128, cipher, 16), "KAT VT " + algorithm + "-128"); harness.check(mctEncryptECB(mct_ecb_e_128, cipher, 16), "MCT ECB Encryption " + algorithm + "-128"); harness.check(mctDecryptECB(mct_ecb_d_128, cipher, 16), "MCT ECB Decryption " + algorithm + "-128"); harness.check(mctEncryptCBC(mct_cbc_e_128, cipher, 16), "MCT CBC Encryption " + algorithm + "-128"); harness.check(mctDecryptCBC(mct_cbc_d_128, cipher, 16), "MCT CBC Decryption " + algorithm + "-128"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfSquare"); } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/cipher/TestOfNullCipher.java0000644000175000001440000000341310367014267024762 0ustar dokousers/* TestOfNullCipher.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 // Uses: BaseCipherTestCase package gnu.testlet.gnu.javax.crypto.cipher; import gnu.javax.crypto.cipher.IBlockCipher; import gnu.javax.crypto.cipher.NullCipher; import gnu.testlet.TestHarness; import java.util.HashMap; /** * Conformance tests for the {@link NullCipher} implementation. */ public class TestOfNullCipher extends BaseCipherTestCase { public void test(TestHarness harness) { harness.checkPoint("TestOfNullCipher"); cipher = new NullCipher(); HashMap attrib = new HashMap(); attrib.put(IBlockCipher.CIPHER_BLOCK_SIZE, new Integer(8)); attrib.put(IBlockCipher.KEY_MATERIAL, new byte[16]); try { cipher.init(attrib); String algorithm = cipher.name(); harness.check(validityTest(), "validityTest(" + algorithm + ")"); harness.check(cloneabilityTest(), "cloneabilityTest(" + algorithm + ")"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfNullCipher"); } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/cipher/TestOfTripleDES.java0000644000175000001440000001702610460253151024504 0ustar dokousers/* TestOfTripleDES.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 // Uses: BaseCipherTestCase package gnu.testlet.gnu.javax.crypto.cipher; import gnu.java.security.Properties; import gnu.java.security.util.Util; import gnu.javax.crypto.cipher.IBlockCipher; import gnu.javax.crypto.cipher.TripleDES; import gnu.testlet.TestHarness; import java.security.InvalidKeyException; import java.util.Arrays; import java.util.HashMap; /** * Conformance test for the Triple-DES cipher. */ public class TestOfTripleDES extends BaseCipherTestCase { /* * Test vectors from the "Triple DES Monte Carlo (Modes) Test Sample * Results", from http://csrc.nist.gov/cryptval/des/tripledes-vectors.zip. */ /** The ECB encryption monte-carlo tests. */ static final String[][] E_TV = { // key bytes (3 lines) // plain bytes cipher bytes { "0123456789abcdef" + "0123456789abcdef" + "0123456789abcdef", // 1-key "4e6f772069732074", "6a2a19f41eca854b" }, { "0123456789abcdef" + "23456789abcdef01" + "0123456789abcdef", // 2-key "4e6f772069732074", "03e69f5bfa58eb42" }, { "0123456789abcdef" + "23456789abcdef01" + "456789abcdef0123", // 3-key "4e6f772069732074", "dd17e8b8b437d232" }, { "6b085d92976149a4" + "6b085d92976149a4" + "6b085d92976149a4", // 1-key "6a2a19f41eca854b", "ce5d6c7b63177c18" }, { "02c4da3d73f226ad" + "1cbce0f2bacd3b15" + "02c4da3d73f226ad", // 2-key "03e69f5bfa58eb42", "262a60f9743e1fd8" }, { "dc34addf3d9d1fdc" + "976d456702cef4fd" + "ad49c2ba0b2f975b", // 3-key "dd17e8b8b437d232", "3145bcfc1c19382f" } }; /** The ECB decryption monte-carlo tests. */ static final String[][] D_TV = { { "0123456789abcdef" + "0123456789abcdef" + "0123456789abcdef", // 1-key "4e6f772069732074", "cdd64f2f9427c15d" }, { "0123456789abcdef" + "23456789abcdef01" + "0123456789abcdef", // 2-key "4e6f772069732074", "6996c8fa47a2abeb" }, { "0123456789abcdef" + "23456789abcdef01" + "456789abcdef0123", // 3-key "4e6f772069732074", "8325397644091a0a" }, { "cdf40b491c8c0db3" + "cdf40b491c8c0db3" + "cdf40b491c8c0db3", // 1-key "cdd64f2f9427c15d", "5bb675e3db3a7f3b" }, { "68b58c9dce086704" + "529dce3719e9e0da" + "68b58c9dce086704", // 2-key "6996c8fa47a2abeb", "6b177e016e6ae12d" }, { "83077c10cda2d6e5" + "296240fd8c834fcd" + "8fdac4fbe5ae978f", // 3-key "8325397644091a0a", "c67901abdc008c89" } }; /** The attributes map we'll use to setup the cipher. */ private HashMap attributes = new HashMap(); public void test(TestHarness harness) { harness.checkPoint("TestOfTripleDES"); cipher = new TripleDES(); HashMap attrib = new HashMap(); attrib.put(IBlockCipher.CIPHER_BLOCK_SIZE, new Integer(8)); attrib.put(IBlockCipher.KEY_MATERIAL, new byte[24]); boolean oldCheckForWeakKeys = Properties.checkForWeakKeys(); try { Properties.setCheckForWeakKeys(false); harness.check(validityTest(), "validityTest()"); harness.check(cloneabilityTest(), "cloneabilityTest()"); harness.check(vectorsTest(), "vectorsTest()"); harness.check(des1KeyTest(), "des1KeyTest()"); harness.check(des2KeyTest(), "des2KeyTest()"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfTripleDES"); } finally { // return it to its previous value Properties.setCheckForWeakKeys(oldCheckForWeakKeys); } } /** Test cloneability. */ protected boolean cloneabilityTest() throws Exception { int blockSize = cipher.defaultBlockSize(); int keySize = cipher.defaultKeySize(); byte[] pt = new byte[blockSize]; byte[] ct1 = new byte[blockSize]; byte[] ct2 = new byte[blockSize]; byte[] kb = new byte[keySize]; HashMap attributes = new HashMap(); attributes.put(IBlockCipher.KEY_MATERIAL, kb); cipher.reset(); cipher.init(attributes); cipher.encryptBlock(pt, 0, pt, 0); IBlockCipher thomas = (IBlockCipher) cipher.clone(); thomas.init(attributes); cipher.encryptBlock(pt, 0, ct1, 0); thomas.encryptBlock(pt, 0, ct2, 0); return Arrays.equals(ct1, ct2); } protected boolean vectorsTest() throws Exception { for (int i = 0; i < E_TV.length; i++) if (! encryptTest(E_TV[i][0], E_TV[i][1], E_TV[i][2])) return false; for (int i = 0; i < D_TV.length; i++) if (! decryptTest(D_TV[i][0], D_TV[i][1], D_TV[i][2])) return false; return true; } private boolean des1KeyTest() throws Exception { if (! encryptTest(E_TV[0][0].substring(0, 16), E_TV[0][1], E_TV[0][2])) return false; if (! encryptTest(E_TV[3][0].substring(0, 16), E_TV[3][1], E_TV[3][2])) return false; if (! decryptTest(D_TV[0][0].substring(0, 16), D_TV[0][1], D_TV[0][2])) return false; if (! decryptTest(D_TV[3][0].substring(0, 16), D_TV[3][1], D_TV[3][2])) return false; return true; } private boolean des2KeyTest() throws Exception { if (! encryptTest(E_TV[1][0].substring(0, 32), E_TV[1][1], E_TV[1][2])) return false; if (! encryptTest(E_TV[4][0].substring(0, 32), E_TV[4][1], E_TV[4][2])) return false; if (! decryptTest(D_TV[1][0].substring(0, 32), D_TV[1][1], D_TV[1][2])) return false; if (! decryptTest(D_TV[4][0].substring(0, 32), D_TV[4][1], D_TV[4][2])) return false; return true; } private boolean encryptTest(String key, String plainText, String cipherText) throws InvalidKeyException, IllegalStateException { attributes.clear(); byte[] kb = Util.toBytesFromString(key); byte[] pt = Util.toBytesFromString(plainText); byte[] ct1 = Util.toBytesFromString(cipherText); attributes.put(IBlockCipher.KEY_MATERIAL, kb); cipher.reset(); cipher.init(attributes); byte[] ct2 = new byte[8]; // 3-DES block size cipher.encryptBlock(pt, 0, ct2, 0); for (int j = 0; j < 9999; j++) cipher.encryptBlock(ct2, 0, ct2, 0); return Arrays.equals(ct1, ct2); } private boolean decryptTest(String key, String plainText, String cipherText) throws InvalidKeyException, IllegalStateException { attributes.clear(); byte[] kb = Util.toBytesFromString(key); byte[] pt = Util.toBytesFromString(plainText); byte[] ct1 = Util.toBytesFromString(cipherText); attributes.put(IBlockCipher.KEY_MATERIAL, kb); cipher.reset(); cipher.init(attributes); byte[] ct2 = new byte[8]; // 3-DES block size cipher.decryptBlock(pt, 0, ct2, 0); for (int j = 0; j < 9999; j++) cipher.decryptBlock(ct2, 0, ct2, 0); return Arrays.equals(ct1, ct2); } }mauve-20140821/gnu/testlet/gnu/javax/crypto/cipher/TestOfKhazad.java0000644000175000001440000000773410367014267024131 0ustar dokousers/* TestOfKhazad.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 // Uses: BaseCipherTestCase package gnu.testlet.gnu.javax.crypto.cipher; import gnu.javax.crypto.cipher.IBlockCipher; import gnu.javax.crypto.cipher.Khazad; import gnu.testlet.TestHarness; import java.util.HashMap; /** * Conformance tests for the {@link Khazad} implementation. */ public class TestOfKhazad extends BaseCipherTestCase { // KAT and MCT vectors used in this test case private static final String[] vk_128; private static final String[] vt_128; private static final String[] mct_ecb_e_128; private static final String[] mct_ecb_d_128; private static final String[] mct_cbc_e_128; private static final String[] mct_cbc_d_128; // static initialiser static { vk_128 = new String[] { "49A4CE32AC190E3F", "BD2226C1128B4AD1", "A3C8D3CAB9D196BC", "2C8146E405C2EA36", "9EC02CFC7065D8F8" }; vt_128 = new String[] { "9E399864F78ECA02", "3EABB25778098FF7", "A359C027CB02BC47", "36E62B8D8DDF2929", "CB4204ACEDDFE80E" }; mct_ecb_e_128 = new String[] { "1C8ABEB5F5D8337C", "D29DDD7B07AA2E2E", "2DCA0196F9AF94DA", "100AFC93082BC492", "7C4EB4E12D5310BA" }; mct_ecb_d_128 = new String[] { "0EF3A83A8A874A5A", "BB83871935B33F01", "ED25D06041BB09CF", "A4091D256FFAC8B6", "DAC274A3D13600F8" }; mct_cbc_e_128 = new String[] { "AB983C213749B3CA", "9B0C44EF8B2EA836", "748AFB0A891F1556", "C7012DE469A78E5D", "DB95DB1BD214C348" }; mct_cbc_d_128 = new String[] { "DE93205588933B11", "8651C2BC76A096F6", "4C9494F2BA8C55CF", "44EE0CB0AA12B9EC", "6D759B4000216139" }; } public void test(TestHarness harness) { harness.checkPoint("TestOfKhazad"); cipher = new Khazad(); HashMap attrib = new HashMap(); attrib.put(IBlockCipher.CIPHER_BLOCK_SIZE, new Integer(8)); attrib.put(IBlockCipher.KEY_MATERIAL, new byte[16]); try { cipher.init(attrib); String algorithm = cipher.name(); harness.check(validityTest(), "validityTest(" + algorithm + ")"); harness.check(cloneabilityTest(), "cloneabilityTest(" + algorithm + ")"); harness.check(katVK(vk_128, cipher, 16), "KAT VK " + algorithm + "-128"); harness.check(katVT(vt_128, cipher, 16), "KAT VT " + algorithm + "-128"); harness.check(mctEncryptECB(mct_ecb_e_128, cipher, 16), "MCT ECB Encryption " + algorithm + "-128"); harness.check(mctDecryptECB(mct_ecb_d_128, cipher, 16), "MCT ECB Decryption " + algorithm + "-128"); harness.check(mctEncryptCBC(mct_cbc_e_128, cipher, 16), "MCT CBC Encryption " + algorithm + "-128"); harness.check(mctDecryptCBC(mct_cbc_d_128, cipher, 16), "MCT CBC Decryption " + algorithm + "-128"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfKhazad"); } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/cipher/TestOfDES.java0000644000175000001440000004237110367014267023336 0ustar dokousers/* TestOfDES.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 // Uses: BaseCipherTestCase package gnu.testlet.gnu.javax.crypto.cipher; import gnu.java.security.Properties; import gnu.java.security.util.Util; import gnu.javax.crypto.cipher.DES; import gnu.javax.crypto.cipher.IBlockCipher; import gnu.javax.crypto.cipher.WeakKeyException; import gnu.testlet.TestHarness; import java.util.Arrays; import java.util.HashMap; /** * Conformance test for the DES cipher. */ public class TestOfDES extends BaseCipherTestCase { /** * Test vectors from NBS SP-500, "Validating the Correctness of Hardware * Implementations of the NBS Data Encryption Standard". */ static final String[][] TV = { // key bytes clear bytes cipher bytes // IP and E test { "0101010101010101", "95F8A5E5DD31D900", "8000000000000000" }, { "0101010101010101", "DD7F121CA5015619", "4000000000000000" }, { "0101010101010101", "2E8653104F3834EA", "2000000000000000" }, { "0101010101010101", "4BD388FF6CD81D4F", "1000000000000000" }, { "0101010101010101", "20B9E767B2FB1456", "0800000000000000" }, { "0101010101010101", "55579380D77138EF", "0400000000000000" }, { "0101010101010101", "6CC5DEFAAF04512F", "0200000000000000" }, { "0101010101010101", "0D9F279BA5D87260", "0100000000000000" }, { "0101010101010101", "D9031B0271BD5A0A", "0080000000000000" }, { "0101010101010101", "424250B37C3DD951", "0040000000000000" }, { "0101010101010101", "B8061B7ECD9A21E5", "0020000000000000" }, { "0101010101010101", "F15D0F286B65BD28", "0010000000000000" }, { "0101010101010101", "ADD0CC8D6E5DEBA1", "0008000000000000" }, { "0101010101010101", "E6D5F82752AD63D1", "0004000000000000" }, { "0101010101010101", "ECBFE3BD3F591A5E", "0002000000000000" }, { "0101010101010101", "F356834379D165CD", "0001000000000000" }, { "0101010101010101", "2B9F982F20037FA9", "0000800000000000" }, { "0101010101010101", "889DE068A16F0BE6", "0000400000000000" }, { "0101010101010101", "E19E275D846A1298", "0000200000000000" }, { "0101010101010101", "329A8ED523D71AEC", "0000100000000000" }, { "0101010101010101", "E7FCE22557D23C97", "0000080000000000" }, { "0101010101010101", "12A9F5817FF2D65D", "0000040000000000" }, { "0101010101010101", "A484C3AD38DC9C19", "0000020000000000" }, { "0101010101010101", "FBE00A8A1EF8AD72", "0000010000000000" }, { "0101010101010101", "750D079407521363", "0000008000000000" }, { "0101010101010101", "64FEED9C724C2FAF", "0000004000000000" }, { "0101010101010101", "F02B263B328E2B60", "0000002000000000" }, { "0101010101010101", "9D64555A9A10B852", "0000001000000000" }, { "0101010101010101", "D106FF0BED5255D7", "0000000800000000" }, { "0101010101010101", "E1652C6B138C64A5", "0000000400000000" }, { "0101010101010101", "E428581186EC8F46", "0000000200000000" }, { "0101010101010101", "AEB5F5EDE22D1A36", "0000000100000000" }, { "0101010101010101", "E943D7568AEC0C5C", "0000000080000000" }, { "0101010101010101", "DF98C8276F54B04B", "0000000040000000" }, { "0101010101010101", "B160E4680F6C696F", "0000000020000000" }, { "0101010101010101", "FA0752B07D9C4AB8", "0000000010000000" }, { "0101010101010101", "CA3A2B036DBC8502", "0000000008000000" }, { "0101010101010101", "5E0905517BB59BCF", "0000000004000000" }, { "0101010101010101", "814EEB3B91D90726", "0000000002000000" }, { "0101010101010101", "4D49DB1532919C9F", "0000000001000000" }, { "0101010101010101", "25EB5FC3F8CF0621", "0000000000800000" }, { "0101010101010101", "AB6A20C0620D1C6F", "0000000000400000" }, { "0101010101010101", "79E90DBC98F92CCA", "0000000000200000" }, { "0101010101010101", "866ECEDD8072BB0E", "0000000000100000" }, { "0101010101010101", "8B54536F2F3E64A8", "0000000000080000" }, { "0101010101010101", "EA51D3975595B86B", "0000000000040000" }, { "0101010101010101", "CAFFC6AC4542DE31", "0000000000020000" }, { "0101010101010101", "8DD45A2DDF90796C", "0000000000010000" }, { "0101010101010101", "1029D55E880EC2D0", "0000000000008000" }, { "0101010101010101", "5D86CB23639DBEA9", "0000000000004000" }, { "0101010101010101", "1D1CA853AE7C0C5F", "0000000000002000" }, { "0101010101010101", "CE332329248F3228", "0000000000001000" }, { "0101010101010101", "8405D1ABE24FB942", "0000000000000800" }, { "0101010101010101", "E643D78090CA4207", "0000000000000400" }, { "0101010101010101", "48221B9937748A23", "0000000000000200" }, { "0101010101010101", "DD7C0BBD61FAFD54", "0000000000000100" }, { "0101010101010101", "2FBC291A570DB5C4", "0000000000000080" }, { "0101010101010101", "E07C30D7E4E26E12", "0000000000000040" }, { "0101010101010101", "0953E2258E8E90A1", "0000000000000020" }, { "0101010101010101", "5B711BC4CEEBF2EE", "0000000000000010" }, { "0101010101010101", "CC083F1E6D9E85F6", "0000000000000008" }, { "0101010101010101", "D2FD8867D50D2DFE", "0000000000000004" }, { "0101010101010101", "06E7EA22CE92708F", "0000000000000002" }, { "0101010101010101", "166B40B44ABA4BD6", "0000000000000001" }, // PC1 and PC2 test { "8001010101010101", "0000000000000000", "95A8D72813DAA94D" }, { "4001010101010101", "0000000000000000", "0EEC1487DD8C26D5" }, { "2001010101010101", "0000000000000000", "7AD16FFB79C45926" }, { "1001010101010101", "0000000000000000", "D3746294CA6A6CF3" }, { "0801010101010101", "0000000000000000", "809F5F873C1FD761" }, { "0401010101010101", "0000000000000000", "C02FAFFEC989D1FC" }, { "0201010101010101", "0000000000000000", "4615AA1D33E72F10" }, { "0180010101010101", "0000000000000000", "2055123350C00858" }, { "0140010101010101", "0000000000000000", "DF3B99D6577397C8" }, { "0120010101010101", "0000000000000000", "31FE17369B5288C9" }, { "0110010101010101", "0000000000000000", "DFDD3CC64DAE1642" }, { "0108010101010101", "0000000000000000", "178C83CE2B399D94" }, { "0104010101010101", "0000000000000000", "50F636324A9B7F80" }, { "0102010101010101", "0000000000000000", "A8468EE3BC18F06D" }, { "0101800101010101", "0000000000000000", "A2DC9E92FD3CDE92" }, { "0101400101010101", "0000000000000000", "CAC09F797D031287" }, { "0101200101010101", "0000000000000000", "90BA680B22AEB525" }, { "0101100101010101", "0000000000000000", "CE7A24F350E280B6" }, { "0101080101010101", "0000000000000000", "882BFF0AA01A0B87" }, { "0101040101010101", "0000000000000000", "25610288924511C2" }, { "0101020101010101", "0000000000000000", "C71516C29C75D170" }, { "0101018001010101", "0000000000000000", "5199C29A52C9F059" }, { "0101014001010101", "0000000000000000", "C22F0A294A71F29F" }, { "0101012001010101", "0000000000000000", "EE371483714C02EA" }, { "0101011001010101", "0000000000000000", "A81FBD448F9E522F" }, { "0101010801010101", "0000000000000000", "4F644C92E192DFED" }, { "0101010401010101", "0000000000000000", "1AFA9A66A6DF92AE" }, { "0101010201010101", "0000000000000000", "B3C1CC715CB879D8" }, { "0101010180010101", "0000000000000000", "19D032E64AB0BD8B" }, { "0101010140010101", "0000000000000000", "3CFAA7A7DC8720DC" }, { "0101010120010101", "0000000000000000", "B7265F7F447AC6F3" }, { "0101010110010101", "0000000000000000", "9DB73B3C0D163F54" }, { "0101010108010101", "0000000000000000", "8181B65BABF4A975" }, { "0101010104010101", "0000000000000000", "93C9B64042EAA240" }, { "0101010102010101", "0000000000000000", "5570530829705592" }, { "0101010101800101", "0000000000000000", "8638809E878787A0" }, { "0101010101400101", "0000000000000000", "41B9A79AF79AC208" }, { "0101010101200101", "0000000000000000", "7A9BE42F2009A892" }, { "0101010101100101", "0000000000000000", "29038D56BA6D2745" }, { "0101010101080101", "0000000000000000", "5495C6ABF1E5DF51" }, { "0101010101040101", "0000000000000000", "AE13DBD561488933" }, { "0101010101020101", "0000000000000000", "024D1FFA8904E389" }, { "0101010101018001", "0000000000000000", "D1399712F99BF02E" }, { "0101010101014001", "0000000000000000", "14C1D7C1CFFEC79E" }, { "0101010101012001", "0000000000000000", "1DE5279DAE3BED6F" }, { "0101010101011001", "0000000000000000", "E941A33F85501303" }, { "0101010101010801", "0000000000000000", "DA99DBBC9A03F379" }, { "0101010101010401", "0000000000000000", "B7FC92F91D8E92E9" }, { "0101010101010201", "0000000000000000", "AE8E5CAA3CA04E85" }, { "0101010101010180", "0000000000000000", "9CC62DF43B6EED74" }, { "0101010101010140", "0000000000000000", "D863DBB5C59A91A0" }, { "0101010101010120", "0000000000000000", "A1AB2190545B91D7" }, { "0101010101010110", "0000000000000000", "0875041E64C570F7" }, { "0101010101010108", "0000000000000000", "5A594528BEBEF1CC" }, { "0101010101010104", "0000000000000000", "FCDB3291DE21F0C0" }, { "0101010101010102", "0000000000000000", "869EFD7F9F265A09" }, // P test { "1046913489980131", "0000000000000000", "88D55E54F54C97B4" }, { "1007103489988020", "0000000000000000", "0C0CC00C83EA48FD" }, { "10071034C8980120", "0000000000000000", "83BC8EF3A6570183" }, { "1046103489988020", "0000000000000000", "DF725DCAD94EA2E9" }, { "1086911519190101", "0000000000000000", "E652B53B550BE8B0" }, { "1086911519580101", "0000000000000000", "AF527120C485CBB0" }, { "5107B01519580101", "0000000000000000", "0F04CE393DB926D5" }, { "1007B01519190101", "0000000000000000", "C9F00FFC74079067" }, { "3107915498080101", "0000000000000000", "7CFD82A593252B4E" }, { "3107919498080101", "0000000000000000", "CB49A2F9E91363E3" }, { "10079115B9080140", "0000000000000000", "00B588BE70D23F56" }, { "3107911598090140", "0000000000000000", "406A9A6AB43399AE" }, { "1007D01589980101", "0000000000000000", "6CB773611DCA9ADA" }, { "9107911589980101", "0000000000000000", "67FD21C17DBB5D70" }, { "9107D01589190101", "0000000000000000", "9592CB4110430787" }, { "1007D01598980120", "0000000000000000", "A6B7FF68A318DDD3" }, { "1007940498190101", "0000000000000000", "4D102196C914CA16" }, { "0107910491190401", "0000000000000000", "2DFA9F4573594965" }, { "0107910491190101", "0000000000000000", "B46604816C0E0774" }, { "0107940491190401", "0000000000000000", "6E7E6221A4F34E87" }, { "19079210981A0101", "0000000000000000", "AA85E74643233199" }, { "1007911998190801", "0000000000000000", "2E5A19DB4D1962D6" }, { "10079119981A0801", "0000000000000000", "23A866A809D30894" }, { "1007921098190101", "0000000000000000", "D812D961F017D320" }, { "100791159819010B", "0000000000000000", "055605816E58608F" }, { "1004801598190101", "0000000000000000", "ABD88E8B1B7716F1" }, { "1004801598190102", "0000000000000000", "537AC95BE69DA1E1" }, { "1004801598190108", "0000000000000000", "AED0F6AE3C25CDD8" }, { "1002911598100104", "0000000000000000", "B3E35A5EE53E7B8D" }, { "1002911598190104", "0000000000000000", "61C79C71921A2EF8" }, { "1002911598100201", "0000000000000000", "E2F5728F0995013C" }, { "1002911698100101", "0000000000000000", "1AEAC39A61F0A464" }, // S-Box test. { "7CA110454A1A6E57", "01A1D6D039776742", "690F5B0D9A26939B" }, { "0131D9619DC1376E", "5CD54CA83DEF57DA", "7A389D10354BD271" }, { "07A1133E4A0B2686", "0248D43806F67172", "868EBB51CAB4599A" }, { "3849674C2602319E", "51454B582DDF440A", "7178876E01F19B2A" }, { "04B915BA43FEB5B6", "42FD443059577FA2", "AF37FB421F8C4095" }, { "0113B970FD34F2CE", "059B5E0851CF143A", "86A560F10EC6D85B" }, { "0170F175468FB5E6", "0756D8E0774761D2", "0CD3DA020021DC09" }, { "43297FAD38E373FE", "762514B829BF486A", "EA676B2CB7DB2B7A" }, { "07A7137045DA2A16", "3BDD119049372802", "DFD64A815CAF1A0F" }, { "04689104C2FD3B2F", "26955F6835AF609A", "5C513C9C4886C088" }, { "37D06BB516CB7546", "164D5E404F275232", "0A2AEEAE3FF4AB77" }, { "1F08260D1AC2465E", "6B056E18759F5CCA", "EF1BF03E5DFA575A" }, { "584023641ABA6176", "004BD6EF09176062", "88BF0DB6D70DEE56" }, { "025816164629B007", "480D39006EE762F2", "A1F9915541020B56" }, { "49793EBC79B3258F", "437540C8698F3CFA", "6FBF1CAFCFFD0556" }, { "4FB05E1515AB73A7", "072D43A077075292", "2F22E49BAB7CA1AC" }, { "49E95D6D4CA229BF", "02FE55778117F12A", "5A6B612CC26CCE4A" }, { "018310DC409B26D6", "1D9D5C5018F728C2", "5F4C038ED12B2E41" }, { "1C587F1C13924FEF", "305532286D6F295A", "63FAC0D034D9F793" } }; public void test(TestHarness harness) { harness.checkPoint("TestOfDES"); cipher = new DES(); HashMap attrib = new HashMap(); attrib.put(IBlockCipher.CIPHER_BLOCK_SIZE, new Integer(8)); attrib.put(IBlockCipher.KEY_MATERIAL, new byte[8]); boolean oldCheckForWeakKeys = Properties.checkForWeakKeys(); try { Properties.setCheckForWeakKeys(false); harness.check(validityTest(), "validityTest()"); harness.check(cloneabilityTest(), "cloneabilityTest()"); harness.check(vectorsTest(), "vectorsTest()"); Properties.setCheckForWeakKeys(true); test4WeakKeys(harness); } catch (Exception x) { harness.debug(x); harness.fail("TestOfDES"); } finally { // return it to its previous value Properties.setCheckForWeakKeys(oldCheckForWeakKeys); } } /** Test cloneability. */ protected boolean cloneabilityTest() throws Exception { int blockSize = cipher.defaultBlockSize(); int keySize = cipher.defaultKeySize(); byte[] pt = new byte[blockSize]; byte[] ct1 = new byte[blockSize]; byte[] ct2 = new byte[blockSize]; byte[] kb = new byte[keySize]; HashMap attributes = new HashMap(); attributes.put(IBlockCipher.KEY_MATERIAL, kb); cipher.reset(); cipher.init(attributes); cipher.encryptBlock(pt, 0, pt, 0); IBlockCipher thomas = (IBlockCipher) cipher.clone(); thomas.init(attributes); cipher.encryptBlock(pt, 0, ct1, 0); thomas.encryptBlock(pt, 0, ct2, 0); return Arrays.equals(ct1, ct2); } protected boolean vectorsTest() throws Exception { HashMap attrib = new HashMap(); byte[] kb, pt, ct1, ct2 = new byte[8], cpt = new byte[8]; for (int i = 0; i < TV.length; i++) { kb = Util.toBytesFromString(TV[i][0]); pt = Util.toBytesFromString(TV[i][1]); ct1 = Util.toBytesFromString(TV[i][2]); attrib.put(IBlockCipher.KEY_MATERIAL, kb); cipher.reset(); cipher.init(attrib); cipher.encryptBlock(pt, 0, ct2, 0); if (!Arrays.equals(ct1, ct2)) { return false; } cipher.decryptBlock(ct2, 0, cpt, 0); if (!Arrays.equals(pt, cpt)) { return false; } } return true; } private void test4WeakKeys(TestHarness harness) { harness.checkPoint("TestOfDES.test4WeakKeys"); DES des = (DES) cipher; String msg; int i; for (i = 0; i < DES.WEAK_KEYS.length; i++) { msg = "detecting weak key 0x" + Util.dumpString(DES.WEAK_KEYS[i]); try { des.makeKey(DES.WEAK_KEYS[i], DES.KEY_SIZE); harness.fail(msg); } catch (WeakKeyException x) { harness.check(true, msg); } catch (Exception x) { harness.debug(x); harness.fail(msg + ": " + String.valueOf(x)); } } for (i = 0; i < DES.SEMIWEAK_KEYS.length; i++) { msg = "detecting semi-weak key 0x" + Util.dumpString(DES.SEMIWEAK_KEYS[i]); try { des.makeKey(DES.SEMIWEAK_KEYS[i], DES.KEY_SIZE); harness.fail(msg); } catch (WeakKeyException x) { harness.check(true, msg); } catch (Exception x) { harness.debug(x); harness.fail(msg + ": " + String.valueOf(x)); } } for (i = 0; i < DES.POSSIBLE_WEAK_KEYS.length; i++) { msg = "detecting possible weak key 0x" + Util.dumpString(DES.POSSIBLE_WEAK_KEYS[i]); try { des.makeKey(DES.POSSIBLE_WEAK_KEYS[i], DES.KEY_SIZE); harness.fail(msg); } catch (WeakKeyException x) { harness.check(true, msg); } catch (Exception x) { harness.debug(x); harness.fail(msg + ": " + String.valueOf(x)); } } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/cipher/TestOfCipherFactory.java0000644000175000001440000000355210367014267025463 0ustar dokousers/* TestOfCipherFactory.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.cipher; import gnu.javax.crypto.cipher.CipherFactory; import gnu.javax.crypto.cipher.IBlockCipher; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Iterator; /** * Conformance tests for the CipherFactory implementation. */ public class TestOfCipherFactory implements Testlet { public void test(TestHarness harness) { harness.checkPoint("TestOfCipherFactory"); String cipher; IBlockCipher algorithm; for (Iterator it = CipherFactory.getNames().iterator(); it.hasNext();) { cipher = (String) it.next(); try { algorithm = null; algorithm = CipherFactory.getInstance(cipher); harness.check(algorithm != null, "getInstance(" + String.valueOf(cipher) + ")"); } catch (InternalError x) { harness.debug(x); harness.fail("TestOfCipherFactory.getInstance(" + String.valueOf(cipher) + ")"); } } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/cipher/TestOfCast5.java0000644000175000001440000000746610367014267023710 0ustar dokousers/* TestOfCast5.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 // Uses: BaseCipherTestCase package gnu.testlet.gnu.javax.crypto.cipher; import gnu.java.security.util.Util; import gnu.javax.crypto.cipher.Cast5; import gnu.javax.crypto.cipher.IBlockCipher; import gnu.testlet.TestHarness; import java.util.Arrays; import java.util.HashMap; /** * Conformance test for the CAST5 cipher. Test vectors are as * per RFC-2144. */ public class TestOfCast5 extends BaseCipherTestCase { /** * 128-bit key = 01 23 45 67 12 34 56 78 23 45 67 89 34 56 78 9A * plaintext = 01 23 45 67 89 AB CD EF * ciphertext = 23 8B 4F E5 84 7E 44 B2 * 80-bit key = 01 23 45 67 12 34 56 78 23 45 * = 01 23 45 67 12 34 56 78 23 45 00 00 00 00 00 00 * plaintext = 01 23 45 67 89 AB CD EF * ciphertext = EB 6A 71 1A 2C 02 27 1B */ private static final String[][] TV = { // key plaintext ciphertext { "0123456712345678234567893456789A", "0123456789ABCDEF", "238B4FE5847E44B2" }, { "01234567123456782345", "0123456789ABCDEF", "EB6A711A2C02271B" } }; public void test(TestHarness harness) { harness.checkPoint("TestOfCast5"); cipher = new Cast5(); HashMap attrib = new HashMap(); attrib.put(IBlockCipher.CIPHER_BLOCK_SIZE, new Integer(8)); attrib.put(IBlockCipher.KEY_MATERIAL, new byte[16]); try { harness.check(validityTest(), "validityTest()"); harness.check(cloneabilityTest(), "cloneabilityTest()"); harness.check(vectorsTest(), "vectorsTest()"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfCast5"); } } /** Test cloneability. */ protected boolean cloneabilityTest() throws Exception { int blockSize = cipher.defaultBlockSize(); int keySize = cipher.defaultKeySize(); byte[] pt = new byte[blockSize]; byte[] ct1 = new byte[blockSize]; byte[] ct2 = new byte[blockSize]; byte[] kb = new byte[keySize]; HashMap attributes = new HashMap(); attributes.put(IBlockCipher.KEY_MATERIAL, kb); cipher.reset(); cipher.init(attributes); cipher.encryptBlock(pt, 0, pt, 0); IBlockCipher thomas = (IBlockCipher) cipher.clone(); thomas.init(attributes); cipher.encryptBlock(pt, 0, ct1, 0); thomas.encryptBlock(pt, 0, ct2, 0); return Arrays.equals(ct1, ct2); } protected boolean vectorsTest() throws Exception { HashMap attrib = new HashMap(); byte[] kb, pt, ct1, ct2 = new byte[8], cpt = new byte[8]; for (int i = 0; i < TV.length; i++) { kb = Util.toBytesFromString(TV[i][0]); pt = Util.toBytesFromString(TV[i][1]); ct1 = Util.toBytesFromString(TV[i][2]); attrib.put(IBlockCipher.KEY_MATERIAL, kb); cipher.reset(); cipher.init(attrib); cipher.encryptBlock(pt, 0, ct2, 0); if (!Arrays.equals(ct1, ct2)) return false; cipher.decryptBlock(ct2, 0, cpt, 0); if (!Arrays.equals(pt, cpt)) return false; } return true; } }mauve-20140821/gnu/testlet/gnu/javax/crypto/cipher/TestOfBlowfish.java0000644000175000001440000001333110367014267024472 0ustar dokousers/* TestOfBlowfish.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 // Uses: BaseCipherTestCase package gnu.testlet.gnu.javax.crypto.cipher; import gnu.java.security.util.Util; import gnu.javax.crypto.cipher.Blowfish; import gnu.javax.crypto.cipher.IBlockCipher; import gnu.testlet.TestHarness; import java.util.Arrays; import java.util.HashMap; /** * Conformance test for the Blowfish cipher. */ public class TestOfBlowfish extends BaseCipherTestCase { /** * Eric Young's Blowfish test vectors. See http://www.counterpane.com/vectors.txt. */ static final String[][] TV = { // key bytes clear bytes cipher bytes { "0000000000000000", "0000000000000000", "4EF997456198DD78" }, { "FFFFFFFFFFFFFFFF", "FFFFFFFFFFFFFFFF", "51866FD5B85ECB8A" }, { "3000000000000000", "1000000000000001", "7D856F9A613063F2" }, { "1111111111111111", "1111111111111111", "2466DD878B963C9D" }, { "0123456789ABCDEF", "1111111111111111", "61F9C3802281B096" }, { "1111111111111111", "0123456789ABCDEF", "7D0CC630AFDA1EC7" }, { "0000000000000000", "0000000000000000", "4EF997456198DD78" }, { "FEDCBA9876543210", "0123456789ABCDEF", "0ACEAB0FC6A0A28D" }, { "7CA110454A1A6E57", "01A1D6D039776742", "59C68245EB05282B" }, { "0131D9619DC1376E", "5CD54CA83DEF57DA", "B1B8CC0B250F09A0" }, { "07A1133E4A0B2686", "0248D43806F67172", "1730E5778BEA1DA4" }, { "3849674C2602319E", "51454B582DDF440A", "A25E7856CF2651EB" }, { "04B915BA43FEB5B6", "42FD443059577FA2", "353882B109CE8F1A" }, { "0113B970FD34F2CE", "059B5E0851CF143A", "48F4D0884C379918" }, { "0170F175468FB5E6", "0756D8E0774761D2", "432193B78951FC98" }, { "43297FAD38E373FE", "762514B829BF486A", "13F04154D69D1AE5" }, { "07A7137045DA2A16", "3BDD119049372802", "2EEDDA93FFD39C79" }, { "04689104C2FD3B2F", "26955F6835AF609A", "D887E0393C2DA6E3" }, { "37D06BB516CB7546", "164D5E404F275232", "5F99D04F5B163969" }, { "1F08260D1AC2465E", "6B056E18759F5CCA", "4A057A3B24D3977B" }, { "584023641ABA6176", "004BD6EF09176062", "452031C1E4FADA8E" }, { "025816164629B007", "480D39006EE762F2", "7555AE39F59B87BD" }, { "49793EBC79B3258F", "437540C8698F3CFA", "53C55F9CB49FC019" }, { "4FB05E1515AB73A7", "072D43A077075292", "7A8E7BFA937E89A3" }, { "49E95D6D4CA229BF", "02FE55778117F12A", "CF9C5D7A4986ADB5" }, { "018310DC409B26D6", "1D9D5C5018F728C2", "D1ABB290658BC778" }, { "1C587F1C13924FEF", "305532286D6F295A", "55CB3774D13EF201" }, { "0101010101010101", "0123456789ABCDEF", "FA34EC4847B268B2" }, { "1F1F1F1F0E0E0E0E", "0123456789ABCDEF", "A790795108EA3CAE" }, { "E0FEE0FEF1FEF1FE", "0123456789ABCDEF", "C39E072D9FAC631D" }, { "0000000000000000", "FFFFFFFFFFFFFFFF", "014933E0CDAFF6E4" }, { "FFFFFFFFFFFFFFFF", "0000000000000000", "F21E9A77B71C49BC" }, { "0123456789ABCDEF", "0000000000000000", "245946885754369A" }, { "FEDCBA9876543210", "FFFFFFFFFFFFFFFF", "6B5C5A9C5D9E0A5A" } }; public void test(TestHarness harness) { harness.checkPoint("TestOfBlowfish"); cipher = new Blowfish(); HashMap attrib = new HashMap(); attrib.put(IBlockCipher.CIPHER_BLOCK_SIZE, new Integer(8)); attrib.put(IBlockCipher.KEY_MATERIAL, new byte[16]); try { harness.check(validityTest(), "validityTest()"); harness.check(cloneabilityTest(), "cloneabilityTest()"); harness.check(vectorsTest(), "vectorsTest()"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfBlowfish"); } } /** Test cloneability. */ protected boolean cloneabilityTest() throws Exception { int blockSize = cipher.defaultBlockSize(); int keySize = cipher.defaultKeySize(); byte[] pt = new byte[blockSize]; byte[] ct1 = new byte[blockSize]; byte[] ct2 = new byte[blockSize]; byte[] kb = new byte[keySize]; HashMap attributes = new HashMap(); attributes.put(IBlockCipher.KEY_MATERIAL, kb); cipher.reset(); cipher.init(attributes); cipher.encryptBlock(pt, 0, pt, 0); IBlockCipher thomas = (IBlockCipher) cipher.clone(); thomas.init(attributes); cipher.encryptBlock(pt, 0, ct1, 0); thomas.encryptBlock(pt, 0, ct2, 0); return Arrays.equals(ct1, ct2); } protected boolean vectorsTest() throws Exception { HashMap attrib = new HashMap(); byte[] kb, pt, ct1, ct2 = new byte[8], cpt = new byte[8]; for (int i = 0; i < TV.length; i++) { kb = Util.toBytesFromString(TV[i][0]); pt = Util.toBytesFromString(TV[i][1]); ct1 = Util.toBytesFromString(TV[i][2]); attrib.put(IBlockCipher.KEY_MATERIAL, kb); cipher.reset(); cipher.init(attrib); cipher.encryptBlock(pt, 0, ct2, 0); if (!Arrays.equals(ct1, ct2)) { return false; } cipher.decryptBlock(ct2, 0, cpt, 0); if (!Arrays.equals(pt, cpt)) return false; } return true; } }mauve-20140821/gnu/testlet/gnu/javax/crypto/cipher/TestOfAnubis.java0000644000175000001440000002553110367014267024143 0ustar dokousers/* TestOfAnubis.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 // Uses: BaseCipherTestCase package gnu.testlet.gnu.javax.crypto.cipher; import gnu.javax.crypto.cipher.Anubis; import gnu.javax.crypto.cipher.IBlockCipher; import gnu.testlet.TestHarness; import java.util.HashMap; /** * Conformance tests for the {@link Anubis} implementation. */ public class TestOfAnubis extends BaseCipherTestCase { // KAT and MCT vectors used in this test case private static final String[] vk_128; private static final String[] vk_192; private static final String[] vk_256; private static final String[] vt_128; private static final String[] vt_192; private static final String[] vt_256; private static final String[] mct_ecb_e_128; private static final String[] mct_ecb_e_192; private static final String[] mct_ecb_e_256; private static final String[] mct_ecb_d_128; private static final String[] mct_ecb_d_192; private static final String[] mct_ecb_d_256; private static final String[] mct_cbc_e_128; private static final String[] mct_cbc_e_192; private static final String[] mct_cbc_e_256; private static final String[] mct_cbc_d_128; private static final String[] mct_cbc_d_192; private static final String[] mct_cbc_d_256; // static initialiser static { vk_128 = new String[] { "B835BDC334829D8371BFA371E4B3C4FD", "6EEF5FDAC4C6E9914828AE9446A460BB", "3ECACEE372560B9810B5498D5E7791CC", "64F244781EE6DDD181BB5934A7A12F4E", "4F39939A9F45EF5F1F596E7BABA1EC6F" }; vk_192 = new String[] { "7D623B52C74C64D8EBC72D579785438F", "AC166073FAA7E04A40C88455FF11BAED", "430ECACFD834527AE0E990668AA11B8F", "576566892CB51866C2810FF60A05FEFB", "53554C9CAC6727B76E294BF166F25646" }; vk_256 = new String[] { "9600F07691692987F5E597DBDBAF1B0A", "1CB51DECD24FDA26926D05AD0F96AA28", "7E1DE6BBC06BB5BE2F6D6A719FE5B807", "99EBAA541999213EEB7AD212B21FA3A2", "2ED5C152EE4D0347F2C2677E0A7A43D5" }; vt_128 = new String[] { "753843F8182D1A74346EA255242181E0", "741696DC3C9969A64F55DB17F5E4522F", "D7009A0DFDB7EA99BF4B944284C4FFE0", "708EB676B1DAE91CAAC8BFAAF060F1B9", "0BEF93A942AD81430B8E0AE0CC56C30E" }; vt_192 = new String[] { "CEB51617789006534C2339B90E5CD678", "1EEE27469C93609DE05C1636549E485D", "C242A63345C449ADAEC0CD164E00C22E", "85BD1C84396110F91D4DFB426FA2E95A", "6E50F0079C2F870EB1A8E1A477F8FF2F" }; vt_256 = new String[] { "570C7199920DE014C1825423CEB62E03", "8C26F898A7ACF62A710C3F64D50A3B63", "47DEEEFEC4CC45211B1E35EE0769A3BF", "4AA854C639F1585B8078B8CA7353C16B", "43C80353A6461328B253769F1FCE205A" }; mct_ecb_e_128 = new String[] { "2A6C912A488A452F558E18C5E4CFC5BA", "47B9B72583D3E71A9B3553A1E8B58257", "860D8175D8A868D34557B77A0216DE0F", "D95165C080C86E3AD303B214015E0333", "1C4D5F272E10848513C8755BF73D78EA" }; mct_ecb_e_192 = new String[] { "BDB43001BDBD82824768D56B92403380", "6C1F7A7E54C242A9C453A7223EC7AD3C", "E4A0C4C55605B20C3FD708C526CA5D8A", "D8139FDBF39DA3F9CDB87501D9FCA820", "85935A8D05CB415F4E87B07B57ADDEF8" }; mct_ecb_e_256 = new String[] { "0150894308014AE25FB2EA3CEEC85210", "11F33B4127A57F2FF84C10AEF5159B94", "C294BD0E643D7AEED6CBAE0CCCB6BEF0", "FF4095A5432EB9CFD4C063176ACCB373", "84C5A38B1380D76BF8D50A346B47F563" }; mct_ecb_d_128 = new String[] { "16600BC38CD79256652598F58228EFCF", "EBA185F180C7B4DB422DA0C88CD74B26", "C73B84FD1F5ADE0FCD444FCD46F47203", "F55FF70281CB55E99CE9DE51BE142C57", "42E97BDBB4ECF18F18166BC32109BF45" }; mct_ecb_d_192 = new String[] { "879E3B2EEADFB4EA7B6BD46C4BE5E769", "11E607AB4460F1D50BDF748E3BA9BD57", "F15ACFD9E5267D85D6AC29F33FA1CBCB", "79CC26A4393A55B28738CA3A8A299FE9", "9B769F72D8632B6ADD1427FCF4FDF2DE" }; mct_ecb_d_256 = new String[] { "0F504BDFAB77735CA40FCEBCAF47EE92", "9A448413BC6D98ABC3CAB39B8A9E6871", "636234AE5C2DDDFA7AE1627244CFCC90", "D3456F8048F7E5482671C7E2DEA9D762", "93562D9EC63F5B797588BD91E34E76A0" }; mct_cbc_e_128 = new String[] { "3724E80A6C3CB054FF0E518999BBAB88", "F238302711B764856DA5A092C8289F5E", "2B632C0177CCCB6B4DD958924F6730DE", "04252FB295BE5FA6D32E501BABAF67DA", "E2A899340FE1E0302687D43F6D425798" }; mct_cbc_e_192 = new String[] { "25086B9E6DE422DF5B3A62C4B9C64568", "042A05E5BCE817A9FC45AE7FE3A7D46C", "18F2104559B375818F3010A1C2C80C36", "71AC9391D488EE51A3C8F640A00A2B5D", "780A4737C44FC3F073155DB9C97BB21E" }; mct_cbc_e_256 = new String[] { "022A01C9EFB90CB3D77D62F176004D85", "965CE7ABB639854D2A7929F0FD1206DF", "59FE9BB4E2272D0F68C7A510738AC7FC", "1F372860A508267A67356531B9596BBA", "E186DA9BD50AA7E30000DEF5C8A448D4" }; mct_cbc_d_128 = new String[] { "5B237C6AE5BA37765A4E3938E7569F55", "CC7CD5A28DCE22C732F2371D937A726A", "84E078514190370771366EB9CF2D7031", "A6DEC5917B36562FDE3DBCCB76FA35BD", "1BD89437F976ADF10D7BFD9D852427CC" }; mct_cbc_d_192 = new String[] { "430231B438EB551A8AF015ED00690E14", "62C86D437D35421720FAD2771D1065EE", "DFD175DD25EAC3265BA39B42450B3406", "A7BCD306586A0DC9E7949D828776DC3A", "C56E79EC9080F036A4454BE120540778" }; mct_cbc_d_256 = new String[] { "39D0043E180C28B46D041AD3E050A1D4", "BA6EE5D10D4626ACDC642E580892B4DA", "01B932102B6BFCE16B7D74F4137A6DDF", "6049E4832730CA8AB3CA946DC1CFC08A", "0464A26509435822A9879EF7521F45AC" }; } public void test(TestHarness harness) { harness.checkPoint("TestOfAnubis"); cipher = new Anubis(); HashMap attrib = new HashMap(); attrib.put(IBlockCipher.CIPHER_BLOCK_SIZE, new Integer(16)); attrib.put(IBlockCipher.KEY_MATERIAL, new byte[16]); try { cipher.init(attrib); String algorithm = cipher.name(); harness.check(validityTest(), "validityTest(" + algorithm + ")"); harness.check(cloneabilityTest(), "cloneabilityTest(" + algorithm + ")"); harness.check(katVK(vk_128, cipher, 16), "KAT VK " + algorithm + "-128"); harness.check(katVK(vk_192, cipher, 24), "KAT VK " + algorithm + "-192"); harness.check(katVK(vk_256, cipher, 32), "KAT VK " + algorithm + "-256"); harness.check(katVT(vt_128, cipher, 16), "KAT VT " + algorithm + "-128"); harness.check(katVT(vt_192, cipher, 24), "KAT VT " + algorithm + "-192"); harness.check(katVT(vt_256, cipher, 32), "KAT VT " + algorithm + "-256"); harness.check(mctEncryptECB(mct_ecb_e_128, cipher, 16), "MCT ECB Encryption " + algorithm + "-128"); harness.check(mctEncryptECB(mct_ecb_e_192, cipher, 24), "MCT ECB Encryption " + algorithm + "-192"); harness.check(mctEncryptECB(mct_ecb_e_256, cipher, 32), "MCT ECB Encryption " + algorithm + "-256"); harness.check(mctDecryptECB(mct_ecb_d_128, cipher, 16), "MCT ECB Decryption " + algorithm + "-128"); harness.check(mctDecryptECB(mct_ecb_d_192, cipher, 24), "MCT ECB Decryption " + algorithm + "-192"); harness.check(mctDecryptECB(mct_ecb_d_256, cipher, 32), "MCT ECB Decryption " + algorithm + "-256"); harness.check(mctEncryptCBC(mct_cbc_e_128, cipher, 16), "MCT CBC Encryption " + algorithm + "-128"); harness.check(mctEncryptCBC(mct_cbc_e_192, cipher, 24), "MCT CBC Encryption " + algorithm + "-192"); harness.check(mctEncryptCBC(mct_cbc_e_256, cipher, 32), "MCT CBC Encryption " + algorithm + "-256"); harness.check(mctDecryptCBC(mct_cbc_d_128, cipher, 16), "MCT CBC Decryption " + algorithm + "-128"); harness.check(mctDecryptCBC(mct_cbc_d_192, cipher, 24), "MCT CBC Decryption " + algorithm + "-192"); harness.check(mctDecryptCBC(mct_cbc_d_256, cipher, 32), "MCT CBC Decryption " + algorithm + "-256"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfAnubis"); } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/cipher/TestOfTwofish.java0000644000175000001440000002554110367014267024346 0ustar dokousers/* TestOfTwofish.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 // Uses: BaseCipherTestCase package gnu.testlet.gnu.javax.crypto.cipher; import gnu.javax.crypto.cipher.IBlockCipher; import gnu.javax.crypto.cipher.Twofish; import gnu.testlet.TestHarness; import java.util.HashMap; /** * Conformance tests for the {@link Twofish} implementation. */ public class TestOfTwofish extends BaseCipherTestCase { // KAT and MCT vectors used in this test case private static final String[] vk_128; private static final String[] vk_192; private static final String[] vk_256; private static final String[] vt_128; private static final String[] vt_192; private static final String[] vt_256; private static final String[] mct_ecb_e_128; private static final String[] mct_ecb_e_192; private static final String[] mct_ecb_e_256; private static final String[] mct_ecb_d_128; private static final String[] mct_ecb_d_192; private static final String[] mct_ecb_d_256; private static final String[] mct_cbc_e_128; private static final String[] mct_cbc_e_192; private static final String[] mct_cbc_e_256; private static final String[] mct_cbc_d_128; private static final String[] mct_cbc_d_192; private static final String[] mct_cbc_d_256; // static initialiser static { vk_128 = new String[] { "6BFD32804A1C3206C4BF85EB11241F89", "F097147AE851845984DC97D5FAE40CF9", "6117F1977C5ABD9647C56544D9458444", "75A6240AAE357DEDDF99936705618284", "F026BFDF6BFBC7E50C46C533BD271C24" }; vk_192 = new String[] { "B5AED133641004F4121B66E7DB8F2FF0", "998110F200555A32C6C123E66CF87DE9", "2DBAEEEC682DCC957C2D51B0990E123A", "BAEC0A31F6557D6D13B888A94F63058C", "E51ADC9773E785730586E6812A0F0FA5" }; vk_256 = new String[] { "785229B51B515F30A1FCC88B969A4E47", "B095E0619E70CDF5F4BC6E88079CF22F", "44F32AEAE82516AC8857C1985B7109EC", "B2BBE93B433C8F0415B90282E788C071", "9E953EBAA3B13F43F90908B53DAA0C09" }; vt_128 = new String[] { "73B9FF14CF2589901FF52A0D6F4B7EDE", "F5A9150BAB6D6AEBD6B4F97D9E93B28B", "C30F8B221FD6D3996F973CDCDC6E305C", "D6A531FE826CB0454F2D567A20018CB7", "B62324BE427332A6089C7BE40D40292E" }; vt_192 = new String[] { "62EF193EDB7D399ACA50EC1CBE5398D8", "E7A58D547688BA8B69DA949E38AA6FAD", "71579F70A8EDB2BA5C00C513E2D7DEEB", "C6171EF892F8224DC5FAE230AF629F52", "C6A61053C48D7ECD7DDD12DB0F316AD7" }; vt_256 = new String[] { "23A385F617F313DAC05BCB7EABD61807", "35BE2B4738602A1DA3DE5C9E7E871923", "03E8BB7A568E95BA792DCE77D5523C2B", "D3ACBE92C482D2E806FD837E41DBB288", "DC3B1C37C69B4059EAADF03FCD016EB4" }; mct_ecb_e_128 = new String[] { "282BE7E4FA1FBDC29661286F1F310B7E", "C8E1D477621ACC37742BD16032075654", "D5187E7D6B8BE9517DAC4A8AF4A552EA", "211B6F0C6061068D203440ADEFC45BAB", "E94DB85DAE438578A462277AC251F102" }; mct_ecb_e_192 = new String[] { "9AB71D7F280FF79F0D135BBD5FAB7E37", "A1A3C49FD659216172CDE292CE5F5226", "056E89A3D7BE7634B640B843DA265D9C", "66C7C98F2D871D060303E0841FD7E691", "98661C46398A58AF3C15B0B90F6A82CD" }; mct_ecb_e_256 = new String[] { "04F2F36CA927AE506931DE8F78B2513C", "04EAD2A58C67FEFCD4485D231C7AE4D7", "01BF7F83A2CF4D8F31B5F913FB372389", "41C1A5A2CEB3F7095E795DBCEE0F90F2", "1E3A44C7BC6EE153874B6A462676B494" }; mct_ecb_d_128 = new String[] { "21D3F7F6724513946B72CFAE47DA2EED", "DD7D3CBE24EC771704F531ED82CE8AEE", "A24CDF52A32A27AA1700AD46A70C44AB", "C46DA91E739DDB027E8D06CE28E77478", "AAD1229FE482AAB37371C029B42F9D2C" }; mct_ecb_d_192 = new String[] { "B4582FA55072FCFEF538F39072F234A9", "6F168851543EA0ADAF932CD68A3C2563", "02CE0B206F0560B84AB8CEB08685056B", "9FBE781AC7240292C4B9D2137EF9BB80", "189CCF7178D4FBD43AE162941241157E" }; mct_ecb_d_256 = new String[] { "BC7D078C4872063869DEAB891FB42761", "AB2F67D3AA11747C96CA942CE40925E1", "2CEF3C1F8FE43F34456007F87DD4D710", "6F1294DE3371D9E33652A7D7C2CC8C8F", "B8C275452476F61F0EEF0651E4949795" }; mct_cbc_e_128 = new String[] { "3CC3B181E1495D0495D652B66921DA0F", "695250B109C6F71D410AC38B0BBDA3D2", "0338A3EDB1DF10B464D3AF2C01A803BB", "FE5C77C4C15AB0894FEC0A1FE993B90C", "22BAF21C93BD8A04FB57E6753D7A0EB0" }; mct_cbc_e_192 = new String[] { "A9F5F1AE592B31D73070C930C766FAC4", "B6F6D6B0A73B6A24179795BFBEF14B7B", "EA1BBAC95B06F3E7A08798C03E7DBA59", "154F9F2954E62A88C8DCA50A7EEE6F2E", "2EC290F031CC013653604C80AAD1D378" }; mct_cbc_e_256 = new String[] { "EA7162E65490B03B1AE4871FB35EF23B", "549FF6C6274F034211C31FADF3F22571", "CF222616B0E4F8E48967D769456B916B", "957108025BFD57125B40057BC2DE4FE2", "6F725C5950133F82EF021A94CADC8508" }; mct_cbc_d_128 = new String[] { "329B242F4ED7DF3B025472F409508C6E", "39408154CE557E72A4BBE3FCA83372A2", "8AB110F9DB27FA8ADD77C3BAFA171A91", "F54B5DB20DEBB29D09443C284D92E58A", "6E0D8F89398D2525316E07409ACD12C0" }; mct_cbc_d_192 = new String[] { "26107A7854B5D887B3AAC17909D7D5C9", "C2628E2DB97B62247927A4C9FFEB5BDA", "06B781BC75DD89B63BAB68231097F043", "7699C76E2D7048988D9A89C3C79622EC", "D6F20664C25F122269E798DAC84F7DDF" }; mct_cbc_d_256 = new String[] { "2CBA6271A1044F90C30BA8FE91E1C163", "05F05148EF495836AB0DA226B2E9D0C2", "A792AC61E7110C434BC2BBCAB6E53CAE", "4C81F5BDC1081170FF96F50B1F76A566", "BD959F5B787037631A37051EA5F369F8" }; } public void test(TestHarness harness) { harness.checkPoint("TestOfTwofish"); cipher = new Twofish(); HashMap attrib = new HashMap(); attrib.put(IBlockCipher.CIPHER_BLOCK_SIZE, new Integer(16)); attrib.put(IBlockCipher.KEY_MATERIAL, new byte[16]); try { cipher.init(attrib); String algorithm = cipher.name(); harness.check(validityTest(), "validityTest(" + algorithm + ")"); harness.check(cloneabilityTest(), "cloneabilityTest(" + algorithm + ")"); harness.check(katVK(vk_128, cipher, 16), "KAT VK " + algorithm + "-128"); harness.check(katVK(vk_192, cipher, 24), "KAT VK " + algorithm + "-192"); harness.check(katVK(vk_256, cipher, 32), "KAT VK " + algorithm + "-256"); harness.check(katVT(vt_128, cipher, 16), "KAT VT " + algorithm + "-128"); harness.check(katVT(vt_192, cipher, 24), "KAT VT " + algorithm + "-192"); harness.check(katVT(vt_256, cipher, 32), "KAT VT " + algorithm + "-256"); harness.check(mctEncryptECB(mct_ecb_e_128, cipher, 16), "MCT ECB Encryption " + algorithm + "-128"); harness.check(mctEncryptECB(mct_ecb_e_192, cipher, 24), "MCT ECB Encryption " + algorithm + "-192"); harness.check(mctEncryptECB(mct_ecb_e_256, cipher, 32), "MCT ECB Encryption " + algorithm + "-256"); harness.check(mctDecryptECB(mct_ecb_d_128, cipher, 16), "MCT ECB Decryption " + algorithm + "-128"); harness.check(mctDecryptECB(mct_ecb_d_192, cipher, 24), "MCT ECB Decryption " + algorithm + "-192"); harness.check(mctDecryptECB(mct_ecb_d_256, cipher, 32), "MCT ECB Decryption " + algorithm + "-256"); harness.check(mctEncryptCBC(mct_cbc_e_128, cipher, 16), "MCT CBC Encryption " + algorithm + "-128"); harness.check(mctEncryptCBC(mct_cbc_e_192, cipher, 24), "MCT CBC Encryption " + algorithm + "-192"); harness.check(mctEncryptCBC(mct_cbc_e_256, cipher, 32), "MCT CBC Encryption " + algorithm + "-256"); harness.check(mctDecryptCBC(mct_cbc_d_128, cipher, 16), "MCT CBC Decryption " + algorithm + "-128"); harness.check(mctDecryptCBC(mct_cbc_d_192, cipher, 24), "MCT CBC Decryption " + algorithm + "-192"); harness.check(mctDecryptCBC(mct_cbc_d_256, cipher, 32), "MCT CBC Decryption " + algorithm + "-256"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfTwofish"); } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/cipher/TestOfSerpent.java0000644000175000001440000002600610367014267024340 0ustar dokousers/* TestOfSerpent.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 // Uses: BaseCipherTestCase package gnu.testlet.gnu.javax.crypto.cipher; import gnu.javax.crypto.cipher.IBlockCipher; import gnu.javax.crypto.cipher.Serpent; import gnu.testlet.TestHarness; import java.util.HashMap; /** * Conformance tests for the {@link Serpent} implementation. */ public class TestOfSerpent extends BaseCipherTestCase { // KAT and MCT vectors used in this test case private static final String[] vk_128; private static final String[] vk_192; private static final String[] vk_256; private static final String[] vt_128; private static final String[] vt_192; private static final String[] vt_256; private static final String[] mct_ecb_e_128; private static final String[] mct_ecb_e_192; private static final String[] mct_ecb_e_256; private static final String[] mct_ecb_d_128; private static final String[] mct_ecb_d_192; private static final String[] mct_ecb_d_256; private static final String[] mct_cbc_e_128; private static final String[] mct_cbc_e_192; private static final String[] mct_cbc_e_256; private static final String[] mct_cbc_d_128; private static final String[] mct_cbc_d_192; private static final String[] mct_cbc_d_256; // static initialiser static { vk_128 = new String[] { "49AFBFAD9D5A34052CD8FFA5986BD2DD", "0C1E2E4E79BD02C2501096E79B5E73FA", "D769E71B31F4AE12E14CDC48238D2D7B", "BD0276D6BE072CC00B3D426130BF355F", "C191E2121DAEA18EC30957BBCE199A8C" }; vk_192 = new String[] { "E78E5402C7195568AC3678F7A3F60C66", "23645A0DDD4B0F8B73B6215EA938A59E", "95D262643C94CAB3E5830FC90A3AD119", "2A66AE878814C427CD1BE1B929D69D1B", "C1F74B3C5DF4B485118B6901A22BEF14" }; vk_256 = new String[] { "ABED96E766BF28CBC0EBD21A82EF0819", "959658CDFCD80356DDE045BBE7B1888D", "04D49CC0FAE714B46B5B177664DF4C28", "39F1B1A339DED740D80B663A057D4866", "DF15B01E30CF9C81688F989809579A86" }; vt_128 = new String[] { "10B5FFB720B8CB9002A1142B0BA2E94A", "91A7847EF1CD87551B5B4BF6F8E96E2C", "5D32AECE8383FB2EE22CB4A6061D1429", "B4895CAD26DFA1538E9AD80599E1E62A", "3B275D40F7DAF4A3F59DDFAB28FF8715" }; vt_192 = new String[] { "B10B271BA25257E1294F2B51F076D0D9", "D522A3B8D6D89D4D2A124FDD88F36896", "6FAEFEE5F5255D5465C1BEFA672AF1D3", "409E1D63BC71EB0D6F7ECEAA03025897", "8A7E9FEB4300A2A265F4A14E52011BE1" }; vt_256 = new String[] { "DA5A7992B1B4AE6F8C004BC8A7DE5520", "F351351B823E3D7A4F3BF390C4F198CB", "A477A65D9DB75C8ED7218C52B64C65BB", "F8019452CBA4FE618D80A6756183B2E0", "D43B7B981B829342FCE0E3EC6F5F4C82" }; mct_ecb_e_128 = new String[] { "90E7A5BA9497FA1BFC00F7D1A3A86A1E", "5D0C5DA998AAA940D493738892579447", "B5E6510FBBD63D828ADE0B89AE48EF5F", "8056B61DACB4D3F52976EF5B1D4165E8", "3997C4990223E5C70F3CB015F48EC57A" }; mct_ecb_e_192 = new String[] { "2D8AF7B79EB7F21FDB394C77C3FB8C3A", "D7585ADA56F93796161C56CDBA61AA3F", "654C5EB1018D6086717B89DB97E91A5A", "8F55D4952903B480CE9AE1B2FDCA07F4", "122E10485449687F99562A5B3CE0C022" }; mct_ecb_e_256 = new String[] { "92EFA3CA9477794D31F4DF7BCE23E60A", "41133A29B97E3B4231549E8C2D0AF27E", "6EE8EDC74DCFEFD0C7BEAEE4CBCBC9C2", "59DD509F8B303CE5527D20D33BD16697", "E7C035318D676702FB9BE6802459951A" }; mct_ecb_d_128 = new String[] { "47C6786045BB9D30F4029E7CCCCD1CAE", "003380E19F10065740394F48E2FE80B7", "7A4F7DB38C52A8B711B778A38D203B6B", "FA57C160B1B826EA22F531DC593DB5B4", "08E2EA201AB8E452BB4584A09A4633CE" }; mct_ecb_d_192 = new String[] { "0FB9B00AE4E6E0F328DDC43CEE462898", "2B088460D9760C2B31F45177036DC67E", "92348D985879F9CAB7A996D46A691BF1", "45877877B396CD8DF70259B89D333802", "5191198DCD3EB19484BD813DC1358697" }; mct_ecb_d_256 = new String[] { "CFF2F5875D0FB0D3217052FC9D7B94A3", "BFFB4E6FCCD8345DA6A443852C56CB29", "060564434A8BFE5AA08A9AABFD4235C1", "DAA415F8D036A0A8A548A30F072A939F", "0ED586E6CB70CF5DB8E92145039A344B" }; mct_cbc_e_128 = new String[] { "9EA101ECEBAA41C712BCB0D9BAB3E2E4", "F86B2C265B9C75869F31E2C684C13E9F", "CC1810DDE499DC51461C2B7635288935", "5772284ED8BB79B1AD054FD6481001E2", "19BC42A4D5504F5188ABF768D2710C85" }; mct_cbc_e_192 = new String[] { "71DA83C1C5FBE855469726F8BE27E9D2", "4613DECB19EC4D226B2A1E894BD7883C", "34ED7BBC7761A44DBD2B2462D3FA1277", "E1FADB014F9BC8FDCF76DC280B51E57C", "97EA261B6F72512A0FD4CE545B698F1E" }; mct_cbc_e_256 = new String[] { "61558018134F3B22BD2E8F4E5D48FE9A", "86D2905FA3F2FDCDA12A51106BBF1B77", "96FA8DAD842B398799AB04A83747D0A4", "F22567FE517E7345D6ABBDD41FB0FF8B", "BF17C92289EA278FBA70F128BC36CCD1" }; mct_cbc_d_128 = new String[] { "0C81512847A5C6E7A1B8C7D15EFA1ACB", "E5686F847D5F6A5A6BB501CC8B8456A1", "BD2703C15F749213B83EADD2E3028AE0", "BE7E1BE63AE8EF1B0AE088809CAC87D4", "AE65B7EBB75E6BFF3CF653F9E57A53B2" }; mct_cbc_d_192 = new String[] { "94463805DCE72D0F0379B44F8B418A93", "722A8B9AAFB559A0C79661CC7AB46629", "CC8C741DCEB88C076B17268D24593D6F", "C513F538F32449EB90257E37DF823A20", "912A0A012B42FE6BE8A9F04AF9D048D2" }; mct_cbc_d_256 = new String[] { "170E1E83AAC120770660422756C188E6", "432E4B5D7B619BCD6E9C969B270901DD", "6BD145CA6C07751335FAD4B144EA2A71", "8E2F5CE1C20081DA0AE47CA728032EC8", "3F1D62538956298702A6E5F95DEB25A1" }; } public TestOfSerpent() { super(LITTLE_ENDIAN); } public void test(TestHarness harness) { harness.checkPoint("TestOfSerpent"); cipher = new Serpent(); HashMap attrib = new HashMap(); attrib.put(IBlockCipher.CIPHER_BLOCK_SIZE, new Integer(16)); attrib.put(IBlockCipher.KEY_MATERIAL, new byte[16]); try { cipher.init(attrib); String algorithm = cipher.name(); harness.check(validityTest(), "validityTest(" + algorithm + ")"); harness.check(cloneabilityTest(), "cloneabilityTest(" + algorithm + ")"); harness.check(katVK(vk_128, cipher, 16), "KAT VK " + algorithm + "-128"); harness.check(katVK(vk_192, cipher, 24), "KAT VK " + algorithm + "-192"); harness.check(katVK(vk_256, cipher, 32), "KAT VK " + algorithm + "-256"); harness.check(katVT(vt_128, cipher, 16), "KAT VT " + algorithm + "-128"); harness.check(katVT(vt_192, cipher, 24), "KAT VT " + algorithm + "-192"); harness.check(katVT(vt_256, cipher, 32), "KAT VT " + algorithm + "-256"); harness.check(mctEncryptECB(mct_ecb_e_128, cipher, 16), "MCT ECB Encryption " + algorithm + "-128"); harness.check(mctEncryptECB(mct_ecb_e_192, cipher, 24), "MCT ECB Encryption " + algorithm + "-192"); harness.check(mctEncryptECB(mct_ecb_e_256, cipher, 32), "MCT ECB Encryption " + algorithm + "-256"); harness.check(mctDecryptECB(mct_ecb_d_128, cipher, 16), "MCT ECB Decryption " + algorithm + "-128"); harness.check(mctDecryptECB(mct_ecb_d_192, cipher, 24), "MCT ECB Decryption " + algorithm + "-192"); harness.check(mctDecryptECB(mct_ecb_d_256, cipher, 32), "MCT ECB Decryption " + algorithm + "-256"); harness.check(mctEncryptCBC(mct_cbc_e_128, cipher, 16), "MCT CBC Encryption " + algorithm + "-128"); harness.check(mctEncryptCBC(mct_cbc_e_192, cipher, 24), "MCT CBC Encryption " + algorithm + "-192"); harness.check(mctEncryptCBC(mct_cbc_e_256, cipher, 32), "MCT CBC Encryption " + algorithm + "-256"); harness.check(mctDecryptCBC(mct_cbc_d_128, cipher, 16), "MCT CBC Decryption " + algorithm + "-128"); harness.check(mctDecryptCBC(mct_cbc_d_192, cipher, 24), "MCT CBC Decryption " + algorithm + "-192"); harness.check(mctDecryptCBC(mct_cbc_d_256, cipher, 32), "MCT CBC Decryption " + algorithm + "-256"); // new TestOfNistVectors("serpent", TestOfNistVectors.LITTLE_ENDIAN) // .test(harness); } catch (Exception x) { harness.debug(x); harness.fail("TestOfSerpent"); } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/cipher/BaseCipherTestCase.java0000644000175000001440000003351310367014267025235 0ustar dokousers/* BaseCipherTestCase.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.gnu.javax.crypto.cipher; import gnu.java.security.util.Util; import gnu.javax.crypto.cipher.IBlockCipher; import gnu.testlet.Testlet; import java.util.Arrays; import java.util.HashMap; /** * A generic cipher test case that can verify a cipher implementation given * a set of known answers. See {@link gnu.testlet.gnu.javax.crypto.cipher.TestOfAnubis} * for how To implement a test of a particular cipher. * *

    The tests, as implemented in this class, are the NIST Known-Answer Tests * (KAT) and Monte-Carlo Tests (MCT), which were the test formats used in the * AES Quest. As such, these tests are suited for AES-candidates (or similar) * ciphers; the specific AES style parts of these tests are the 128, 192, and * 256 bit key lengths.

    * *

    References:

    *
      *
    1. Known * Answer Tests and Monte Carlo Tests for AES Submissions for an * explanation of the tests and the format of the resulting files.
    2. *
    . */ public abstract class BaseCipherTestCase implements Testlet { /** Big-endian. */ protected static final int BIG_ENDIAN = 0; /** Little-endian. */ protected static final int LITTLE_ENDIAN = 1; /** The reference to the cipher implementation to exercise. */ protected IBlockCipher cipher; /** The byte order to use. */ protected int endianness; /** Default 0-arguments constructor, using the default endianness. */ public BaseCipherTestCase() { this(BIG_ENDIAN); } /** * Construct a new test case, with a specified endianness. * * @param endianness The endianness that the underlying cipher * expects its input to be. */ public BaseCipherTestCase(int endianness) { this.endianness = endianness; } /** * Shift, in situ, the variable key/text byte array one position to the * right. * * @param kb The bytes to shift. */ private static void shiftRight1(byte[] kb) { int i; for (i = 0; kb[i] == 0 && i < kb.length; i++) { // do nothing } kb[i] = (byte) ((kb[i] & 0xff) >>> 1); // handle byte boundary case if (kb[i] == 0) { i++; if (i < kb.length) { kb[i] = (byte) 0x80; } } } /** * Shift, in situ, the variable key/text byte array one position to the * right, taking the byte order to be little-endian. * * @param kb The bytes to shift. */ private static void revShiftRight1(byte[] kb) { int i; for (i = kb.length - 1; kb[i] == 0 && i >= 0; i--) { // do nothing } kb[i] = (byte) ((kb[i] & 0xff) >>> 1); // handle byte boundary case if (kb[i] == 0) { i--; if (i >= 0) { kb[i] = (byte) 0x80; } } } /** * Perform a variable-key KAT, comparing the results with the supplied * answers. * * @param answers The expected ciphertexts. * @param cipher The cipher. * @param ks The length of the key, in bytes. * @return true If all tests succeed, false * otherwise. */ protected boolean katVK(String[] answers, IBlockCipher cipher, int ks) throws Exception { HashMap attrib = new HashMap(); byte[] pt = new byte[cipher.currentBlockSize()]; byte[] ct = new byte[cipher.currentBlockSize()]; byte[] kb = new byte[ks]; if (endianness == BIG_ENDIAN) kb[0] = (byte) 0x80; else kb[ks - 1] = (byte) 0x80; attrib.put(IBlockCipher.KEY_MATERIAL, kb); for (int i = 0; i < answers.length; i++) { cipher.reset(); cipher.init(attrib); cipher.encryptBlock(pt, 0, ct, 0); if (endianness == BIG_ENDIAN) { if (!answers[i].equals(Util.toString(ct))) return false; shiftRight1(kb); } else { if (!answers[i].equals(Util.toReversedString(ct))) return false; revShiftRight1(kb); } } return true; } /** * Perform a variable-text known-answer test, comparing the results with * the supplied answers. * * @param answers The expected ciphertexts. * @param cipher The cipher. * @param ks The length of the key, in bytes. * @return true If all tests succeed, false * otherwise. */ protected boolean katVT(String[] answers, IBlockCipher cipher, int ks) throws Exception { HashMap attrib = new HashMap(); byte[] pt = new byte[cipher.currentBlockSize()]; byte[] ct = new byte[cipher.currentBlockSize()]; byte[] kb = new byte[ks]; if (endianness == BIG_ENDIAN) pt[0] = (byte) 0x80; else pt[pt.length - 1] = (byte) 0x80; attrib.put(IBlockCipher.KEY_MATERIAL, kb); cipher.reset(); cipher.init(attrib); for (int i = 0; i < answers.length; i++) { cipher.encryptBlock(pt, 0, ct, 0); if (endianness == BIG_ENDIAN) { if (!answers[i].equals(Util.toString(ct))) return false; shiftRight1(pt); } else { if (!answers[i].equals(Util.toReversedString(ct))) return false; revShiftRight1(pt); } } return true; } /** * Perform a Monte-Carlo encryption Test, using the ECB mode. The * answers array should be the resulting ciphertexts after each * iteration. * * @param answers The expected ciphertexts. * @param cipher The cipher. * @param ks The length of the key, in bytes. * @return true if all tests succeed, false * otherwise. */ protected boolean mctEncryptECB(String[] answers, IBlockCipher cipher, int ks) throws Exception { HashMap attrib = new HashMap(); byte[] kb = new byte[ks]; byte[] pt = new byte[cipher.currentBlockSize()]; byte[] ct = new byte[cipher.currentBlockSize()]; byte[] lct = new byte[cipher.currentBlockSize()]; int i, j; int off = ks - cipher.currentBlockSize(); attrib.put(IBlockCipher.KEY_MATERIAL, kb); for (i = 0; i < answers.length; i++) { cipher.reset(); cipher.init(attrib); for (j = 0; j < 10000; j++) { if (j == 9999) System.arraycopy(ct, 0, lct, 0, ct.length); cipher.encryptBlock(pt, 0, ct, 0); System.arraycopy(ct, 0, pt, 0, ct.length); } if (endianness == BIG_ENDIAN) { if (!answers[i].equals(Util.toString(ct))) return false; } else { if (!answers[i].equals(Util.toReversedString(ct))) return false; } for (j = 0; j + (lct.length - off) < lct.length && j < off; j++) kb[j] ^= lct[j + (lct.length - off)]; for (j = 0; j + off < kb.length && j < ct.length; j++) kb[j + off] ^= ct[j]; } return true; } /** * Perform a Monte-Carlo decryption Test, using the ECB mode. The * answers array should be the resulting plaintexts after each * iteration. * * @param answers The expected plaintexts. * @param cipher The cipher. * @param ks The length of the key, in bytes. * @return true if all tests succeed, false * otherwise. */ protected boolean mctDecryptECB(String[] answers, IBlockCipher cipher, int ks) throws Exception { HashMap attrib = new HashMap(); byte[] kb = new byte[ks]; byte[] pt = new byte[cipher.currentBlockSize()]; byte[] ct = new byte[cipher.currentBlockSize()]; byte[] lpt = new byte[cipher.currentBlockSize()]; int i, j; int off = ks - cipher.currentBlockSize(); attrib.put(IBlockCipher.KEY_MATERIAL, kb); for (i = 0; i < answers.length; i++) { cipher.reset(); cipher.init(attrib); for (j = 0; j < 10000; j++) { if (j == 9999) System.arraycopy(pt, 0, lpt, 0, ct.length); cipher.decryptBlock(ct, 0, pt, 0); System.arraycopy(pt, 0, ct, 0, ct.length); } if (endianness == BIG_ENDIAN) { if (!answers[i].equals(Util.toString(pt))) return false; } else { if (!answers[i].equals(Util.toReversedString(pt))) return false; } for (j = 0; j + (lpt.length - off) < lpt.length && j < off; j++) kb[j] ^= lpt[j + (lpt.length - off)]; for (j = 0; j + off < kb.length && j < pt.length; j++) kb[j + off] ^= pt[j]; } return true; } /** * Perform a Monte-Carlo encryption Test, using the CBC mode. The * answers array should be the resulting ciphertexts after each * iteration. * * @param answers The expected ciphertexts. * @param cipher The cipher. * @param ks The length of the key, in bytes. * @return true if all tests succeed, false * otherwise. */ protected boolean mctEncryptCBC(String[] answers, IBlockCipher cipher, int ks) throws Exception { HashMap attrib = new HashMap(); byte[] kb = new byte[ks]; byte[] pt = new byte[cipher.currentBlockSize()]; byte[] ct = new byte[cipher.currentBlockSize()]; byte[] lct = new byte[cipher.currentBlockSize()]; byte[] iv = new byte[cipher.currentBlockSize()]; int i, j, k; int off = ks - cipher.currentBlockSize(); attrib.put(IBlockCipher.KEY_MATERIAL, kb); for (i = 0; i < answers.length; i++) { cipher.reset(); cipher.init(attrib); for (j = 0; j < 10000; j++) { for (k = 0; k < pt.length; k++) pt[k] ^= iv[k]; System.arraycopy(ct, 0, lct, 0, ct.length); cipher.encryptBlock(pt, 0, ct, 0); System.arraycopy(ct, 0, iv, 0, ct.length); System.arraycopy(lct, 0, pt, 0, lct.length); } if (endianness == BIG_ENDIAN) { if (!answers[i].equals(Util.toString(ct))) return false; } else { if (!answers[i].equals(Util.toReversedString(ct))) return false; } for (j = 0; j + (lct.length - off) < lct.length && j < off; j++) kb[j] ^= lct[j + (lct.length - off)]; for (j = 0; j + off < kb.length && j < ct.length; j++) kb[j + off] ^= ct[j]; } return true; } /** * Perform a Monte-Carlo decryption Test, using the CBC mode. The * answers array should be the resulting plaintexts after each * iteration. * * @param answers The expected plaintexts. * @param cipher The cipher. * @param ks The length of the key, in bytes. * @return true if all tests succeed, false * otherwise. */ protected boolean mctDecryptCBC(String[] answers, IBlockCipher cipher, int ks) throws Exception { HashMap attrib = new HashMap(); byte[] kb = new byte[ks]; byte[] pt = new byte[cipher.currentBlockSize()]; byte[] ct = new byte[cipher.currentBlockSize()]; byte[] lpt = new byte[cipher.currentBlockSize()]; byte[] iv = new byte[cipher.currentBlockSize()]; int i, j, k; int off = ks - cipher.currentBlockSize(); attrib.put(IBlockCipher.KEY_MATERIAL, kb); for (i = 0; i < answers.length; i++) { cipher.reset(); cipher.init(attrib); for (j = 0; j < 10000; j++) { if (j == 9999) System.arraycopy(pt, 0, lpt, 0, pt.length); cipher.decryptBlock(ct, 0, pt, 0); for (k = 0; k < pt.length; k++) pt[k] ^= iv[k]; System.arraycopy(ct, 0, iv, 0, ct.length); System.arraycopy(pt, 0, ct, 0, pt.length); } if (endianness == BIG_ENDIAN) { if (!answers[i].equals(Util.toString(pt))) return false; } else { if (!answers[i].equals(Util.toReversedString(pt))) return false; } for (j = 0; j + (lpt.length - off) < lpt.length && j < off; j++) kb[j] ^= lpt[j + (lpt.length - off)]; for (j = 0; j + off < kb.length && j < pt.length; j++) kb[j + off] ^= pt[j]; } return true; } /** Test symmetry. */ protected boolean validityTest() { return cipher.selfTest(); } /** Test cloneability. */ protected boolean cloneabilityTest() throws Exception { int blockSize = cipher.defaultBlockSize(); int keySize = cipher.defaultKeySize(); byte[] pt = new byte[blockSize]; byte[] ct1 = new byte[blockSize]; byte[] ct2 = new byte[blockSize]; byte[] kb = new byte[keySize]; HashMap attributes = new HashMap(); attributes.put(IBlockCipher.KEY_MATERIAL, kb); cipher.reset(); cipher.init(attributes); cipher.encryptBlock(pt, 0, pt, 0); IBlockCipher thomas = (IBlockCipher) cipher.clone(); thomas.init(attributes); cipher.encryptBlock(pt, 0, ct1, 0); thomas.encryptBlock(pt, 0, ct2, 0); return Arrays.equals(ct1, ct2); } }mauve-20140821/gnu/testlet/gnu/javax/crypto/kwa/0000755000175000001440000000000012375316426020237 5ustar dokousersmauve-20140821/gnu/testlet/gnu/javax/crypto/kwa/TestOfAESKeyWrap.java0000644000175000001440000002265310455621576024154 0ustar dokousers/* TestOfAESKeyWrap.java Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.kwa; import gnu.javax.crypto.kwa.IKeyWrappingAlgorithm; import gnu.javax.crypto.kwa.KeyWrappingAlgorithmFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Arrays; import java.util.HashMap; import java.util.Map; import javax.crypto.ShortBufferException; /** * Conformance test of the RFC3394 Key Wrapping Algorithm implementation. Test * vectors are from RFC-3394. */ public class TestOfAESKeyWrap implements Testlet { private static final byte[] KM128 = new byte[] { (byte) 0x00, (byte) 0x11, (byte) 0x22, (byte) 0x33, (byte) 0x44, (byte) 0x55, (byte) 0x66, (byte) 0x77, (byte) 0x88, (byte) 0x99, (byte) 0xAA, (byte) 0xBB, (byte) 0xCC, (byte) 0xDD, (byte) 0xEE, (byte) 0xFF }; private static final byte[] KM128_WRAPPED128 = new byte[] { (byte) 0x1F, (byte) 0xA6, (byte) 0x8B, (byte) 0x0A, (byte) 0x81, (byte) 0x12, (byte) 0xB4, (byte) 0x47, (byte) 0xAE, (byte) 0xF3, (byte) 0x4B, (byte) 0xD8, (byte) 0xFB, (byte) 0x5A, (byte) 0x7B, (byte) 0x82, (byte) 0x9D, (byte) 0x3E, (byte) 0x86, (byte) 0x23, (byte) 0x71, (byte) 0xD2, (byte) 0xCF, (byte) 0xE5 }; private static final byte[] KM128_WRAPPED192 = new byte[] { (byte) 0x96, (byte) 0x77, (byte) 0x8B, (byte) 0x25, (byte) 0xAE, (byte) 0x6C, (byte) 0xA4, (byte) 0x35, (byte) 0xF9, (byte) 0x2B, (byte) 0x5B, (byte) 0x97, (byte) 0xC0, (byte) 0x50, (byte) 0xAE, (byte) 0xD2, (byte) 0x46, (byte) 0x8A, (byte) 0xB8, (byte) 0xA1, (byte) 0x7A, (byte) 0xD8, (byte) 0x4E, (byte) 0x5D }; private static final byte[] KM128_WRAPPED256 = new byte[] { (byte) 0x64, (byte) 0xE8, (byte) 0xC3, (byte) 0xF9, (byte) 0xCE, (byte) 0x0F, (byte) 0x5B, (byte) 0xA2, (byte) 0x63, (byte) 0xE9, (byte) 0x77, (byte) 0x79, (byte) 0x05, (byte) 0x81, (byte) 0x8A, (byte) 0x2A, (byte) 0x93, (byte) 0xC8, (byte) 0x19, (byte) 0x1E, (byte) 0x7D, (byte) 0x6E, (byte) 0x8A, (byte) 0xE7 }; private static final byte[] KM192 = new byte[] { (byte) 0x00, (byte) 0x11, (byte) 0x22, (byte) 0x33, (byte) 0x44, (byte) 0x55, (byte) 0x66, (byte) 0x77, (byte) 0x88, (byte) 0x99, (byte) 0xAA, (byte) 0xBB, (byte) 0xCC, (byte) 0xDD, (byte) 0xEE, (byte) 0xFF, (byte) 0x00, (byte) 0x01, (byte) 0x02, (byte) 0x03, (byte) 0x04, (byte) 0x05, (byte) 0x06, (byte) 0x07 }; private static final byte[] KM192_WRAPPED192 = new byte[] { (byte) 0x03, (byte) 0x1D, (byte) 0x33, (byte) 0x26, (byte) 0x4E, (byte) 0x15, (byte) 0xD3, (byte) 0x32, (byte) 0x68, (byte) 0xF2, (byte) 0x4E, (byte) 0xC2, (byte) 0x60, (byte) 0x74, (byte) 0x3E, (byte) 0xDC, (byte) 0xE1, (byte) 0xC6, (byte) 0xC7, (byte) 0xDD, (byte) 0xEE, (byte) 0x72, (byte) 0x5A, (byte) 0x93, (byte) 0x6B, (byte) 0xA8, (byte) 0x14, (byte) 0x91, (byte) 0x5C, (byte) 0x67, (byte) 0x62, (byte) 0xD2 }; private static final byte[] KM192_WRAPPED256 = new byte[] { (byte) 0xA8, (byte) 0xF9, (byte) 0xBC, (byte) 0x16, (byte) 0x12, (byte) 0xC6, (byte) 0x8B, (byte) 0x3F, (byte) 0xF6, (byte) 0xE6, (byte) 0xF4, (byte) 0xFB, (byte) 0xE3, (byte) 0x0E, (byte) 0x71, (byte) 0xE4, (byte) 0x76, (byte) 0x9C, (byte) 0x8B, (byte) 0x80, (byte) 0xA3, (byte) 0x2C, (byte) 0xB8, (byte) 0x95, (byte) 0x8C, (byte) 0xD5, (byte) 0xD1, (byte) 0x7D, (byte) 0x6B, (byte) 0x25, (byte) 0x4D, (byte) 0xA1 }; private static final byte[] KM256 = new byte[] { (byte) 0x00, (byte) 0x11, (byte) 0x22, (byte) 0x33, (byte) 0x44, (byte) 0x55, (byte) 0x66, (byte) 0x77, (byte) 0x88, (byte) 0x99, (byte) 0xAA, (byte) 0xBB, (byte) 0xCC, (byte) 0xDD, (byte) 0xEE, (byte) 0xFF, (byte) 0x00, (byte) 0x01, (byte) 0x02, (byte) 0x03, (byte) 0x04, (byte) 0x05, (byte) 0x06, (byte) 0x07, (byte) 0x08, (byte) 0x09, (byte) 0x0A, (byte) 0x0B, (byte) 0x0C, (byte) 0x0D, (byte) 0x0E, (byte) 0x0F }; private static final byte[] KM256_WRAPPED256 = new byte[] { (byte) 0x28, (byte) 0xC9, (byte) 0xF4, (byte) 0x04, (byte) 0xC4, (byte) 0xB8, (byte) 0x10, (byte) 0xF4, (byte) 0xCB, (byte) 0xCC, (byte) 0xB3, (byte) 0x5C, (byte) 0xFB, (byte) 0x87, (byte) 0xF8, (byte) 0x26, (byte) 0x3F, (byte) 0x57, (byte) 0x86, (byte) 0xE2, (byte) 0xD8, (byte) 0x0E, (byte) 0xD3, (byte) 0x26, (byte) 0xCB, (byte) 0xC7, (byte) 0xF0, (byte) 0xE7, (byte) 0x1A, (byte) 0x99, (byte) 0xF4, (byte) 0x3B, (byte) 0xFB, (byte) 0x98, (byte) 0x8B, (byte) 0x9B, (byte) 0x7A, (byte) 0x02, (byte) 0xDD, (byte) 0x21 }; /* (non-Javadoc) * @see gnu.testlet.Testlet#test(gnu.testlet.TestHarness) */ public void test(TestHarness harness) { testMethods(harness); test64BitBlock(harness); testKek(harness, 128, KM128, KM128_WRAPPED128); testKek(harness, 192, KM128, KM128_WRAPPED192); testKek(harness, 256, KM128, KM128_WRAPPED256); testKek(harness, 192, KM192, KM192_WRAPPED192); testKek(harness, 256, KM192, KM192_WRAPPED256); testKek(harness, 256, KM256, KM256_WRAPPED256); } private void testMethods(TestHarness harness) { byte[] kek = new byte[16]; try { IKeyWrappingAlgorithm kwa = KeyWrappingAlgorithmFactory.getInstance("kw-aes"); Map attributes = new HashMap(); attributes.put(IKeyWrappingAlgorithm.KEY_ENCRYPTION_KEY_MATERIAL, kek); kwa.init(attributes); String msg; byte[] km1 = new byte[24]; msg = "Input length MUST be a multiple of 8 bytes"; try { kwa.wrap(km1, 0, 17, km1, 0); harness.fail(msg); } catch (IllegalArgumentException e) { harness.check(true, msg); } msg = "Output length MUST be at least 8 bytes larger than input length"; try { kwa.wrap(km1, 0, 16, km1, 1); harness.fail(msg); } catch (ShortBufferException e) { harness.check(true, msg); } } catch (Exception x) { harness.debug(x); harness.fail("testMethods(): " + x); } } private void test64BitBlock(TestHarness harness) { byte[] kek = new byte[16]; for (int i = 0; i < 16; i++) kek[i] = (byte) i; byte[] km = new byte[] { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 }; try { IKeyWrappingAlgorithm kwa = KeyWrappingAlgorithmFactory.getInstance("kw-aes"); Map attributes = new HashMap(); attributes.put(IKeyWrappingAlgorithm.KEY_ENCRYPTION_KEY_MATERIAL, kek); kwa.init(attributes); byte[] wrapped = new byte[km.length + 8]; int outputLength = kwa.wrap(km, 0, km.length, wrapped, 0); harness.check(outputLength == 16, "Wrapped 64-bit key material MUST produce 16 bytes"); byte[] unwrapped = new byte[8]; outputLength = kwa.unwrap(wrapped, 0, wrapped.length, unwrapped, 0); harness.check(outputLength == 8, "Unwrapped 128-bit key material MUST produce 8 bytes"); harness.check(Arrays.equals(km, unwrapped), "Unwrapped key material MUST match original value"); } catch (Exception x) { harness.debug(x); harness.fail("testKek(): " + x); } } private void testKek(TestHarness harness, int keyLength, byte[] keyMaterial, byte[] wrappedKeyMaterial) { int limit = keyLength / 8; byte[] kek = new byte[limit]; for (int i = 0; i < limit; i++) kek[i] = (byte) i; int keyMaterialLength = keyMaterial.length * 8; try { IKeyWrappingAlgorithm kwa = KeyWrappingAlgorithmFactory.getInstance("kw-aes"); Map attributes = new HashMap(); attributes.put(IKeyWrappingAlgorithm.KEY_ENCRYPTION_KEY_MATERIAL, kek); kwa.init(attributes); byte[] km = (byte[]) keyMaterial.clone(); byte[] wrapped = new byte[km.length + 8]; kwa.wrap(km, 0, km.length, wrapped, 0); harness.check(Arrays.equals(wrappedKeyMaterial, wrapped), keyMaterialLength + "-bit key material wrapped w/ " + keyLength + "-bit KEK MUST match expected value"); byte[] unwrapped = new byte[wrappedKeyMaterial.length - 8]; kwa.unwrap(wrappedKeyMaterial, 0, wrappedKeyMaterial.length, unwrapped, 0); harness.check(Arrays.equals(keyMaterial, unwrapped), keyMaterialLength + "-bit key material unwrapped w/ " + keyLength + "-bit KEK MUST match expected value"); } catch (Exception x) { harness.debug(x); harness.fail("testKek(): " + x); } } } mauve-20140821/gnu/testlet/gnu/javax/crypto/kwa/TestOfTripleDESKeyWrap.java0000644000175000001440000001030010455621576025321 0ustar dokousers/* TestOfTripleDESKeyWrap.java Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.kwa; import gnu.javax.crypto.cipher.TripleDES; import gnu.javax.crypto.kwa.IKeyWrappingAlgorithm; import gnu.javax.crypto.kwa.KeyWrappingAlgorithmFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Arrays; import java.util.HashMap; import java.util.Map; /** * Conformance test of the RFC3217 Triple DES Key Wrapping Algorithm * implementation. */ public class TestOfTripleDESKeyWrap implements Testlet { /* (non-Javadoc) * @see gnu.testlet.Testlet#test(gnu.testlet.TestHarness) */ public void test(TestHarness harness) { testMethods(harness); testSymmetry(harness); } private void testMethods(TestHarness harness) { byte[] kek = new byte[24]; try { IKeyWrappingAlgorithm kwa = KeyWrappingAlgorithmFactory.getInstance("kw-tripledes"); Map attributes = new HashMap(); attributes.put(IKeyWrappingAlgorithm.KEY_ENCRYPTION_KEY_MATERIAL, kek); kwa.init(attributes); String msg; byte[] km = new byte[24]; msg = "Input length for wrapping MUST be 16 or 24 bytes"; try { kwa.wrap(km, 0, 15); harness.fail(msg); } catch (IllegalArgumentException e) { harness.check(true, msg); } msg = "Input length for unwrapping MUST be 40 bytes"; try { kwa.unwrap(km, 0, 24); harness.fail(msg); } catch (IllegalArgumentException e) { harness.check(true, msg); } } catch (Exception x) { harness.debug(x); harness.fail("testMethods(): " + x); } } private void testSymmetry(TestHarness harness) { byte[] kek = new byte[] { (byte) 0x25, (byte) 0x5e, (byte) 0x0d, (byte) 0x1c, (byte) 0x07, (byte) 0xb6, (byte) 0x46, (byte) 0xdf, (byte) 0xb3, (byte) 0x13, (byte) 0x4c, (byte) 0xc8, (byte) 0x43, (byte) 0xba, (byte) 0x8a, (byte) 0xa7, (byte) 0x1f, (byte) 0x02, (byte) 0x5b, (byte) 0x7c, (byte) 0x08, (byte) 0x38, (byte) 0x25, (byte) 0x1f }; byte[] km = new byte[] { (byte) 0x29, (byte) 0x23, (byte) 0xbf, (byte) 0x85, (byte) 0xe0, (byte) 0x6d, (byte) 0xd6, (byte) 0xae, (byte) 0x52, (byte) 0x91, (byte) 0x49, (byte) 0xf1, (byte) 0xf1, (byte) 0xba, (byte) 0xe9, (byte) 0xea, (byte) 0xb3, (byte) 0xa7, (byte) 0xda, (byte) 0x3d, (byte) 0x86, (byte) 0x0d, (byte) 0x3e, (byte) 0x98 }; try { TripleDES.adjustParity(km, 0); IKeyWrappingAlgorithm kwa = KeyWrappingAlgorithmFactory.getInstance("kw-tripledes"); Map attributes = new HashMap(); attributes.put(IKeyWrappingAlgorithm.KEY_ENCRYPTION_KEY_MATERIAL, kek); kwa.init(attributes); byte[] wrapped = kwa.wrap(km, 0, km.length); harness.check(wrapped.length == 40, "Wrapped key material MUST produce 40 bytes"); byte[] unwrapped = kwa.unwrap(wrapped, 0, wrapped.length); harness.check(unwrapped.length == 24, "Unwrapped key material MUST produce 24 bytes"); harness.check(Arrays.equals(km, unwrapped), "Unwrapped key material MUST match original value"); } catch (Exception x) { harness.debug(x); harness.fail("testSymmetry(): " + x); } } } mauve-20140821/gnu/testlet/gnu/javax/crypto/keyring/0000755000175000001440000000000012375316426021125 5ustar dokousersmauve-20140821/gnu/testlet/gnu/javax/crypto/keyring/TestOfPrivateKeyring.java0000644000175000001440000016713310367014266026067 0ustar dokousers/* TestOfPrivateKeyring.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.keyring; import gnu.java.security.provider.Gnu; import gnu.javax.crypto.keyring.GnuPrivateKeyring; import gnu.javax.crypto.keyring.IKeyring; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.ByteArrayInputStream; import java.security.Security; import java.util.HashMap; import java.util.List; import java.util.Map; /** * Conformance tests for the GNU (private) Keyring implementation. */ public class TestOfPrivateKeyring implements Testlet { private static final byte[] keyring = new byte[] { (byte) 0x47, (byte) 0x4b, (byte) 0x52, (byte) 0x01, (byte) 0x03, (byte) 0x03, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x4e, (byte) 0x00, (byte) 0x04, (byte) 0x73, (byte) 0x61, (byte) 0x6c, (byte) 0x74, (byte) 0x00, (byte) 0x10, (byte) 0x37, (byte) 0x37, (byte) 0x33, (byte) 0x31, (byte) 0x43, (byte) 0x39, (byte) 0x38, (byte) 0x39, (byte) 0x42, (byte) 0x37, (byte) 0x30, (byte) 0x32, (byte) 0x34, (byte) 0x42, (byte) 0x31, (byte) 0x39, (byte) 0x00, (byte) 0x0a, (byte) 0x61, (byte) 0x6c, (byte) 0x69, (byte) 0x61, (byte) 0x73, (byte) 0x2d, (byte) 0x6c, (byte) 0x69, (byte) 0x73, (byte) 0x74, (byte) 0x00, (byte) 0x0b, (byte) 0x6d, (byte) 0x79, (byte) 0x6b, (byte) 0x65, (byte) 0x79, (byte) 0x3b, (byte) 0x6d, (byte) 0x79, (byte) 0x6b, (byte) 0x65, (byte) 0x79, (byte) 0x00, (byte) 0x06, (byte) 0x6d, (byte) 0x61, (byte) 0x63, (byte) 0x6c, (byte) 0x65, (byte) 0x6e, (byte) 0x00, (byte) 0x02, (byte) 0x32, (byte) 0x30, (byte) 0x00, (byte) 0x03, (byte) 0x6d, (byte) 0x61, (byte) 0x63, (byte) 0x00, (byte) 0x0a, (byte) 0x48, (byte) 0x4d, (byte) 0x41, (byte) 0x43, (byte) 0x2d, (byte) 0x53, (byte) 0x48, (byte) 0x41, (byte) 0x2d, (byte) 0x31, (byte) 0x00, (byte) 0x00, (byte) 0x05, (byte) 0x78, (byte) 0x04, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x27, (byte) 0x00, (byte) 0x0a, (byte) 0x61, (byte) 0x6c, (byte) 0x69, (byte) 0x61, (byte) 0x73, (byte) 0x2d, (byte) 0x6c, (byte) 0x69, (byte) 0x73, (byte) 0x74, (byte) 0x00, (byte) 0x05, (byte) 0x6d, (byte) 0x79, (byte) 0x6b, (byte) 0x65, (byte) 0x79, (byte) 0x00, (byte) 0x09, (byte) 0x61, (byte) 0x6c, (byte) 0x67, (byte) 0x6f, (byte) 0x72, (byte) 0x69, (byte) 0x74, (byte) 0x68, (byte) 0x6d, (byte) 0x00, (byte) 0x07, (byte) 0x44, (byte) 0x45, (byte) 0x46, (byte) 0x4c, (byte) 0x41, (byte) 0x54, (byte) 0x45, (byte) 0x00, (byte) 0x00, (byte) 0x02, (byte) 0xd7, (byte) 0x78, (byte) 0x9c, (byte) 0xe3, (byte) 0x60, (byte) 0x60, (byte) 0x60, (byte) 0xd0, (byte) 0x61, (byte) 0xe0, (byte) 0x4d, (byte) 0x2e, (byte) 0x4a, (byte) 0x4d, (byte) 0x2c, (byte) 0xc9, (byte) 0xcc, (byte) 0xcf, (byte) 0xd3, (byte) 0x4d, (byte) 0x49, (byte) 0x2c, (byte) 0x49, (byte) 0x65, (byte) 0xe0, (byte) 0x35, (byte) 0x34, (byte) 0x30, (byte) 0x37, (byte) 0x30, (byte) 0x37, (byte) 0xb1, (byte) 0x30, (byte) 0x30, (byte) 0x33, (byte) 0x32, (byte) 0xb7, (byte) 0x34, (byte) 0x60, (byte) 0x60, (byte) 0x4d, (byte) 0xcc, (byte) 0xc9, (byte) 0x4c, (byte) 0x2c, (byte) 0x66, (byte) 0x60, (byte) 0xcd, (byte) 0xad, (byte) 0xcc, (byte) 0x4e, (byte) 0xad, (byte) 0x64, (byte) 0x60, (byte) 0x60, (byte) 0xd6, (byte) 0x33, (byte) 0x68, (byte) 0x62, (byte) 0xd6, (byte) 0x32, (byte) 0x68, (byte) 0x62, (byte) 0x7a, (byte) 0xbe, (byte) 0x80, (byte) 0x99, (byte) 0x89, (byte) 0x91, (byte) 0x89, (byte) 0x89, (byte) 0xc5, (byte) 0xfe, (byte) 0x52, (byte) 0xe0, (byte) 0x1c, (byte) 0x03, (byte) 0x6e, (byte) 0x36, (byte) 0x76, (byte) 0xad, (byte) 0x36, (byte) 0x8f, (byte) 0x73, (byte) 0x16, (byte) 0x2c, (byte) 0xcc, (byte) 0xac, (byte) 0x0c, (byte) 0x06, (byte) 0x15, (byte) 0x86, (byte) 0xdc, (byte) 0x06, (byte) 0x9c, (byte) 0x6c, (byte) 0xcc, (byte) 0xa1, (byte) 0x2c, (byte) 0x6c, (byte) 0xc2, (byte) 0x4c, (byte) 0xa1, (byte) 0xc1, (byte) 0x30, (byte) 0x0e, (byte) 0x87, (byte) 0x30, (byte) 0x93, (byte) 0xaf, (byte) 0xa3, (byte) 0x21, (byte) 0xbf, (byte) 0x01, (byte) 0x2f, (byte) 0x88, (byte) 0xc3, (byte) 0x2e, (byte) 0xcc, (byte) 0xe6, (byte) 0x94, (byte) 0x5f, (byte) 0x5c, (byte) 0x92, (byte) 0x9f, (byte) 0x67, (byte) 0xa8, (byte) 0x68, (byte) 0x20, (byte) 0x0f, (byte) 0x12, (byte) 0xe0, (byte) 0x12, (byte) 0x96, (byte) 0x70, (byte) 0x2b, (byte) 0x4a, (byte) 0x4d, (byte) 0x55, (byte) 0x08, (byte) 0xce, (byte) 0x4f, (byte) 0x2b, (byte) 0x29, (byte) 0x4f, (byte) 0x2c, (byte) 0x4a, (byte) 0x55, (byte) 0x70, (byte) 0xcb, (byte) 0x2f, (byte) 0xcd, (byte) 0x4b, (byte) 0x01, (byte) 0xbb, (byte) 0xca, (byte) 0x50, (byte) 0xd8, (byte) 0x40, (byte) 0x10, (byte) 0xa4, (byte) 0x84, (byte) 0x5b, (byte) 0x98, (byte) 0xcb, (byte) 0xdd, (byte) 0x2f, (byte) 0x54, (byte) 0xc1, (byte) 0xb9, (byte) 0xa8, (byte) 0xb2, (byte) 0xa0, (byte) 0x24, (byte) 0x1f, (byte) 0x26, (byte) 0xc8, (byte) 0x0c, (byte) 0x14, (byte) 0xd4, (byte) 0x53, (byte) 0xf0, (byte) 0xd3, (byte) 0x53, (byte) 0x08, (byte) 0x2d, (byte) 0x4e, (byte) 0x2d, (byte) 0x32, (byte) 0x90, (byte) 0x13, (byte) 0xe7, (byte) 0x35, (byte) 0x30, (byte) 0x36, (byte) 0x34, (byte) 0x02, (byte) 0xba, (byte) 0xdc, (byte) 0xc8, (byte) 0xc0, (byte) 0xd0, (byte) 0xc0, (byte) 0x20, (byte) 0x0a, (byte) 0xc8, (byte) 0x35, (byte) 0x31, (byte) 0x30, (byte) 0x36, (byte) 0x30, (byte) 0x85, (byte) 0x72, (byte) 0x07, (byte) 0xd0, (byte) 0x65, (byte) 0x4d, (byte) 0x8c, (byte) 0xdb, (byte) 0x81, (byte) 0x58, (byte) 0x07, (byte) 0x16, (byte) 0x4c, (byte) 0x8c, (byte) 0x40, (byte) 0x8e, (byte) 0x3c, (byte) 0x53, (byte) 0x63, (byte) 0x23, (byte) 0xc3, (byte) 0xdf, (byte) 0xfa, (byte) 0xe0, (byte) 0x46, (byte) 0xd9, (byte) 0x52, (byte) 0x21, (byte) 0xcd, (byte) 0xa0, (byte) 0xfb, (byte) 0x5e, (byte) 0x73, (byte) 0xf4, (byte) 0xde, (byte) 0x3c, (byte) 0x79, (byte) 0xfe, (byte) 0x4d, (byte) 0x70, (byte) 0x7b, (byte) 0x90, (byte) 0xcd, (byte) 0x7b, (byte) 0x17, (byte) 0x86, (byte) 0xc3, (byte) 0x72, (byte) 0xf6, (byte) 0x0d, (byte) 0xdb, (byte) 0x02, (byte) 0xd5, (byte) 0x32, (byte) 0x5d, (byte) 0x63, (byte) 0x1d, (byte) 0x94, (byte) 0x02, (byte) 0x7f, (byte) 0x47, (byte) 0xda, (byte) 0xf6, (byte) 0x46, (byte) 0xfc, (byte) 0xda, (byte) 0x7f, (byte) 0xf4, (byte) 0xeb, (byte) 0x2e, (byte) 0x83, (byte) 0x6f, (byte) 0xa7, (byte) 0x67, (byte) 0x87, (byte) 0xe6, (byte) 0x5c, (byte) 0x6f, (byte) 0xb4, (byte) 0x6e, (byte) 0x90, (byte) 0x35, (byte) 0xc9, (byte) 0xff, (byte) 0x94, (byte) 0x96, (byte) 0xb0, (byte) 0x3d, (byte) 0x7b, (byte) 0x66, (byte) 0xc0, (byte) 0xd2, (byte) 0x25, (byte) 0xf3, (byte) 0xe7, (byte) 0xbf, (byte) 0x60, (byte) 0xa9, (byte) 0x16, (byte) 0x50, (byte) 0x3a, (byte) 0xe4, (byte) 0xbf, (byte) 0x7b, (byte) 0xe5, (byte) 0xf5, (byte) 0x7f, (byte) 0xdb, (byte) 0x8f, (byte) 0x49, (byte) 0xff, (byte) 0xb0, (byte) 0x0e, (byte) 0x7f, (byte) 0x7e, (byte) 0x6c, (byte) 0xc5, (byte) 0x32, (byte) 0x51, (byte) 0x7e, (byte) 0x96, (byte) 0xdf, (byte) 0xcd, (byte) 0xdf, (byte) 0x2e, (byte) 0x1f, (byte) 0x95, (byte) 0x3b, (byte) 0xcc, (byte) 0x64, (byte) 0x1a, (byte) 0x22, (byte) 0x1c, (byte) 0x25, (byte) 0x36, (byte) 0xd1, (byte) 0xe8, (byte) 0x5b, (byte) 0xe9, (byte) 0xe7, (byte) 0x75, (byte) 0xda, (byte) 0x89, (byte) 0xd7, (byte) 0xb5, (byte) 0xde, (byte) 0x7f, (byte) 0x52, (byte) 0x62, (byte) 0x96, (byte) 0x9c, (byte) 0x7b, (byte) 0xd1, (byte) 0x83, (byte) 0xf1, (byte) 0x38, (byte) 0x93, (byte) 0x28, (byte) 0xc3, (byte) 0xf4, (byte) 0x84, (byte) 0x80, (byte) 0x7e, (byte) 0x51, (byte) 0x65, (byte) 0xee, (byte) 0x33, (byte) 0x9b, (byte) 0x26, (byte) 0xed, (byte) 0x6c, (byte) 0x5a, (byte) 0xf4, (byte) 0xba, (byte) 0x85, (byte) 0xfb, (byte) 0x43, (byte) 0x84, (byte) 0xcc, (byte) 0x57, (byte) 0x90, (byte) 0xd3, (byte) 0xbe, (byte) 0x3f, (byte) 0x5c, (byte) 0xd0, (byte) 0x7a, (byte) 0x6d, (byte) 0xb6, (byte) 0xed, (byte) 0xbd, (byte) 0xd3, (byte) 0x7b, (byte) 0x56, (byte) 0xc7, (byte) 0x98, (byte) 0xed, (byte) 0x08, (byte) 0xdf, (byte) 0x59, (byte) 0x39, (byte) 0x65, (byte) 0xfd, (byte) 0xee, (byte) 0x5f, (byte) 0x56, (byte) 0xaf, (byte) 0x9a, (byte) 0x7e, (byte) 0x86, (byte) 0xfb, (byte) 0x70, (byte) 0xdb, (byte) 0xb2, (byte) 0x37, (byte) 0xa5, (byte) 0x07, (byte) 0x46, (byte) 0x86, (byte) 0xf7, (byte) 0xed, (byte) 0xba, (byte) 0x12, (byte) 0xe9, (byte) 0xff, (byte) 0xac, (byte) 0x90, (byte) 0x5d, (byte) 0xa0, (byte) 0xb1, (byte) 0x61, (byte) 0x8b, (byte) 0xa7, (byte) 0x58, (byte) 0xa1, (byte) 0xf2, (byte) 0x0b, (byte) 0x1f, (byte) 0x0d, (byte) 0x31, (byte) 0xe1, (byte) 0xed, (byte) 0xe7, (byte) 0x39, (byte) 0x8d, (byte) 0x7a, (byte) 0x4e, (byte) 0x2c, (byte) 0x7b, (byte) 0x68, (byte) 0x23, (byte) 0x56, (byte) 0xd5, (byte) 0x1d, (byte) 0x52, (byte) 0xd3, (byte) 0xab, (byte) 0xf1, (byte) 0x60, (byte) 0xf1, (byte) 0x3a, (byte) 0x39, (byte) 0xed, (byte) 0xcd, (byte) 0xcb, (byte) 0x4a, (byte) 0x27, (byte) 0xe6, (byte) 0x2d, (byte) 0xae, (byte) 0xe7, (byte) 0xfe, (byte) 0xa5, (byte) 0x68, (byte) 0x9a, (byte) 0xf4, (byte) 0xf1, (byte) 0x77, (byte) 0x52, (byte) 0x15, (byte) 0xa3, (byte) 0x8a, (byte) 0xf5, (byte) 0x99, (byte) 0x25, (byte) 0x1f, (byte) 0xf7, (byte) 0xad, (byte) 0x08, (byte) 0x9c, (byte) 0xd0, (byte) 0xb9, (byte) 0xa2, (byte) 0xf9, (byte) 0xfe, (byte) 0xc3, (byte) 0xa8, (byte) 0xa7, (byte) 0xf3, (byte) 0xd9, (byte) 0x26, (byte) 0x75, (byte) 0xa7, (byte) 0xc5, (byte) 0x35, (byte) 0x54, (byte) 0x87, (byte) 0xaa, (byte) 0xa6, (byte) 0x30, (byte) 0xfa, (byte) 0x58, (byte) 0xff, (byte) 0x3b, (byte) 0xef, (byte) 0xa9, (byte) 0xc5, (byte) 0xdc, (byte) 0xd8, (byte) 0xc2, (byte) 0xc0, (byte) 0xd4, (byte) 0xd8, (byte) 0x10, (byte) 0x6d, (byte) 0x12, (byte) 0xf4, (byte) 0x2b, (byte) 0x45, (byte) 0x44, (byte) 0x98, (byte) 0x71, (byte) 0x41, (byte) 0x6e, (byte) 0x74, (byte) 0xf2, (byte) 0xe1, (byte) 0x7f, (byte) 0xbb, (byte) 0xfd, (byte) 0x16, (byte) 0x2c, (byte) 0xb7, (byte) 0x2e, (byte) 0x6c, (byte) 0x7a, (byte) 0x52, (byte) 0x75, (byte) 0xb0, (byte) 0x7f, (byte) 0xc1, (byte) 0x31, (byte) 0x2b, (byte) 0xa9, (byte) 0x4b, (byte) 0x69, (byte) 0xb1, (byte) 0x07, (byte) 0x4e, (byte) 0x27, (byte) 0xdf, (byte) 0xe8, (byte) 0x78, (byte) 0xe1, (byte) 0x31, (byte) 0xe5, (byte) 0xce, (byte) 0xaf, (byte) 0xc7, (byte) 0xe5, (byte) 0xb6, (byte) 0xfe, (byte) 0x1b, (byte) 0x6b, (byte) 0x56, (byte) 0xd6, (byte) 0x5b, (byte) 0xac, (byte) 0x8d, (byte) 0x33, (byte) 0xfc, (byte) 0x2a, (byte) 0xb6, (byte) 0xfc, (byte) 0xc9, (byte) 0x6b, (byte) 0x31, (byte) 0xd9, (byte) 0x10, (byte) 0xaf, (byte) 0xfe, (byte) 0xb9, (byte) 0x77, (byte) 0x14, (byte) 0xcd, (byte) 0xc5, (byte) 0x92, (byte) 0x6c, (byte) 0xef, (byte) 0xf6, (byte) 0x14, (byte) 0x19, (byte) 0xd8, (byte) 0x4c, (byte) 0x29, (byte) 0x08, (byte) 0x69, (byte) 0x5b, (byte) 0xaf, (byte) 0x39, (byte) 0xff, (byte) 0x58, (byte) 0xad, (byte) 0xd7, (byte) 0x9a, (byte) 0x05, (byte) 0xe7, (byte) 0x3e, (byte) 0x6e, (byte) 0x91, (byte) 0xd9, (byte) 0x7b, (byte) 0x7a, (byte) 0xb1, (byte) 0xc4, (byte) 0xbb, (byte) 0xc0, (byte) 0x28, (byte) 0x35, (byte) 0x3d, (byte) 0x0b, (byte) 0x9e, (byte) 0x17, (byte) 0xf7, (byte) 0x9f, (byte) 0x7d, (byte) 0x58, (byte) 0xfd, (byte) 0xc9, (byte) 0xfc, (byte) 0xff, (byte) 0x31, (byte) 0xbf, (byte) 0x55, (byte) 0x8e, (byte) 0xda, (byte) 0xad, (byte) 0x1f, (byte) 0xa6, (byte) 0x0a, (byte) 0x14, (byte) 0x9e, (byte) 0xef, (byte) 0xee, (byte) 0x55, (byte) 0xde, (byte) 0x56, (byte) 0x80, (byte) 0x9a, (byte) 0xb6, (byte) 0x99, (byte) 0x0d, (byte) 0x18, (byte) 0x0c, (byte) 0x74, (byte) 0x99, (byte) 0x44, (byte) 0xaa, (byte) 0x1a, (byte) 0x0e, (byte) 0x1d, (byte) 0x78, (byte) 0xe1, (byte) 0x7e, (byte) 0xcc, (byte) 0xfd, (byte) 0xdf, (byte) 0xef, (byte) 0x7a, (byte) 0x6e, (byte) 0xfb, (byte) 0x23, (byte) 0x1f, (byte) 0xbe, (byte) 0xff, (byte) 0x62, (byte) 0x8b, (byte) 0x5b, (byte) 0x08, (byte) 0x0c, (byte) 0xc9, (byte) 0x09, (byte) 0x67, (byte) 0x4c, (byte) 0x7e, (byte) 0xff, (byte) 0x39, (byte) 0xe0, (byte) 0x1a, (byte) 0xfc, (byte) 0x46, (byte) 0x4b, (byte) 0x67, (byte) 0xe6, (byte) 0x24, (byte) 0xd9, (byte) 0x58, (byte) 0x09, (byte) 0x36, (byte) 0x63, (byte) 0x87, (byte) 0x5f, (byte) 0x00, (byte) 0x6c, (byte) 0x82, (byte) 0x39, (byte) 0x7e, (byte) 0x03, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x48, (byte) 0x00, (byte) 0x04, (byte) 0x73, (byte) 0x61, (byte) 0x6c, (byte) 0x74, (byte) 0x00, (byte) 0x10, (byte) 0x33, (byte) 0x43, (byte) 0x35, (byte) 0x37, (byte) 0x42, (byte) 0x46, (byte) 0x43, (byte) 0x42, (byte) 0x38, (byte) 0x39, (byte) 0x44, (byte) 0x34, (byte) 0x43, (byte) 0x36, (byte) 0x38, (byte) 0x33, (byte) 0x00, (byte) 0x0a, (byte) 0x61, (byte) 0x6c, (byte) 0x69, (byte) 0x61, (byte) 0x73, (byte) 0x2d, (byte) 0x6c, (byte) 0x69, (byte) 0x73, (byte) 0x74, (byte) 0x00, (byte) 0x05, (byte) 0x6d, (byte) 0x79, (byte) 0x6b, (byte) 0x65, (byte) 0x79, (byte) 0x00, (byte) 0x06, (byte) 0x6d, (byte) 0x61, (byte) 0x63, (byte) 0x6c, (byte) 0x65, (byte) 0x6e, (byte) 0x00, (byte) 0x02, (byte) 0x32, (byte) 0x30, (byte) 0x00, (byte) 0x03, (byte) 0x6d, (byte) 0x61, (byte) 0x63, (byte) 0x00, (byte) 0x0a, (byte) 0x48, (byte) 0x4d, (byte) 0x41, (byte) 0x43, (byte) 0x2d, (byte) 0x53, (byte) 0x48, (byte) 0x41, (byte) 0x2d, (byte) 0x31, (byte) 0x00, (byte) 0x00, (byte) 0x02, (byte) 0x0c, (byte) 0x01, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x4f, (byte) 0x00, (byte) 0x04, (byte) 0x73, (byte) 0x61, (byte) 0x6c, (byte) 0x74, (byte) 0x00, (byte) 0x10, (byte) 0x31, (byte) 0x45, (byte) 0x38, (byte) 0x42, (byte) 0x38, (byte) 0x37, (byte) 0x30, (byte) 0x34, (byte) 0x30, (byte) 0x32, (byte) 0x34, (byte) 0x31, (byte) 0x31, (byte) 0x31, (byte) 0x42, (byte) 0x44, (byte) 0x00, (byte) 0x0a, (byte) 0x61, (byte) 0x6c, (byte) 0x69, (byte) 0x61, (byte) 0x73, (byte) 0x2d, (byte) 0x6c, (byte) 0x69, (byte) 0x73, (byte) 0x74, (byte) 0x00, (byte) 0x05, (byte) 0x6d, (byte) 0x79, (byte) 0x6b, (byte) 0x65, (byte) 0x79, (byte) 0x00, (byte) 0x04, (byte) 0x6d, (byte) 0x6f, (byte) 0x64, (byte) 0x65, (byte) 0x00, (byte) 0x03, (byte) 0x4f, (byte) 0x46, (byte) 0x42, (byte) 0x00, (byte) 0x06, (byte) 0x6b, (byte) 0x65, (byte) 0x79, (byte) 0x6c, (byte) 0x65, (byte) 0x6e, (byte) 0x00, (byte) 0x02, (byte) 0x31, (byte) 0x36, (byte) 0x00, (byte) 0x06, (byte) 0x63, (byte) 0x69, (byte) 0x70, (byte) 0x68, (byte) 0x65, (byte) 0x72, (byte) 0x00, (byte) 0x03, (byte) 0x41, (byte) 0x45, (byte) 0x53, (byte) 0x00, (byte) 0x00, (byte) 0x01, (byte) 0xa0, (byte) 0x36, (byte) 0x4b, (byte) 0xcf, (byte) 0xfa, (byte) 0x7c, (byte) 0x04, (byte) 0x3f, (byte) 0xd7, (byte) 0xce, (byte) 0xce, (byte) 0xd3, (byte) 0xc3, (byte) 0x63, (byte) 0x8f, (byte) 0x48, (byte) 0x95, (byte) 0xe6, (byte) 0xfe, (byte) 0x97, (byte) 0xa4, (byte) 0x1c, (byte) 0x5e, (byte) 0x70, (byte) 0x4d, (byte) 0x4d, (byte) 0x61, (byte) 0x46, (byte) 0x29, (byte) 0x15, (byte) 0x92, (byte) 0x05, (byte) 0x2b, (byte) 0x87, (byte) 0x09, (byte) 0xa9, (byte) 0xa9, (byte) 0x3a, (byte) 0xc8, (byte) 0x74, (byte) 0xa3, (byte) 0xa2, (byte) 0xf4, (byte) 0xc6, (byte) 0x25, (byte) 0x08, (byte) 0x02, (byte) 0x9f, (byte) 0x3b, (byte) 0x77, (byte) 0x6d, (byte) 0x1a, (byte) 0x08, (byte) 0x61, (byte) 0x70, (byte) 0xb0, (byte) 0x86, (byte) 0xa0, (byte) 0x13, (byte) 0xaf, (byte) 0x50, (byte) 0x8a, (byte) 0x99, (byte) 0xec, (byte) 0xcc, (byte) 0x77, (byte) 0xeb, (byte) 0xf5, (byte) 0xd5, (byte) 0x3a, (byte) 0xa8, (byte) 0xdf, (byte) 0x7d, (byte) 0x2b, (byte) 0xc8, (byte) 0x88, (byte) 0x6c, (byte) 0xcc, (byte) 0xef, (byte) 0x1f, (byte) 0xb0, (byte) 0x18, (byte) 0xa8, (byte) 0x91, (byte) 0x2d, (byte) 0x6c, (byte) 0xf8, (byte) 0xf5, (byte) 0xdd, (byte) 0x77, (byte) 0xc8, (byte) 0x7e, (byte) 0x10, (byte) 0xba, (byte) 0xfa, (byte) 0xfc, (byte) 0x17, (byte) 0x69, (byte) 0x43, (byte) 0xa7, (byte) 0xd1, (byte) 0xe0, (byte) 0xb1, (byte) 0x86, (byte) 0x8e, (byte) 0x4f, (byte) 0x6c, (byte) 0x68, (byte) 0xcb, (byte) 0x0d, (byte) 0x8d, (byte) 0xcb, (byte) 0x72, (byte) 0x59, (byte) 0xa6, (byte) 0x60, (byte) 0xf8, (byte) 0xa8, (byte) 0xd4, (byte) 0x05, (byte) 0x6b, (byte) 0xd2, (byte) 0x66, (byte) 0x1b, (byte) 0x9b, (byte) 0x30, (byte) 0x3d, (byte) 0x53, (byte) 0xf8, (byte) 0xb3, (byte) 0xee, (byte) 0x0c, (byte) 0xd1, (byte) 0xd5, (byte) 0xa8, (byte) 0xed, (byte) 0x3c, (byte) 0x23, (byte) 0x5e, (byte) 0xbc, (byte) 0xe6, (byte) 0xb8, (byte) 0x6c, (byte) 0x2d, (byte) 0x0a, (byte) 0x54, (byte) 0x77, (byte) 0xff, (byte) 0x33, (byte) 0x05, (byte) 0xb1, (byte) 0xc6, (byte) 0xa1, (byte) 0x8a, (byte) 0xea, (byte) 0xa6, (byte) 0x5e, (byte) 0xb8, (byte) 0x71, (byte) 0x35, (byte) 0x83, (byte) 0x86, (byte) 0x6f, (byte) 0x2b, (byte) 0xb4, (byte) 0x28, (byte) 0xb5, (byte) 0xe2, (byte) 0xdb, (byte) 0xbc, (byte) 0x2e, (byte) 0x49, (byte) 0x46, (byte) 0x2f, (byte) 0x39, (byte) 0x6d, (byte) 0x6e, (byte) 0xd8, (byte) 0x7c, (byte) 0x4a, (byte) 0xc9, (byte) 0x07, (byte) 0xc8, (byte) 0xbf, (byte) 0x4a, (byte) 0x1e, (byte) 0xab, (byte) 0xb8, (byte) 0xb3, (byte) 0x83, (byte) 0x0e, (byte) 0xa9, (byte) 0xbd, (byte) 0x2e, (byte) 0x68, (byte) 0xff, (byte) 0xb2, (byte) 0x93, (byte) 0xef, (byte) 0xad, (byte) 0xff, (byte) 0x3c, (byte) 0x39, (byte) 0xc1, (byte) 0xe7, (byte) 0x54, (byte) 0xaf, (byte) 0xeb, (byte) 0x40, (byte) 0x1d, (byte) 0x54, (byte) 0xc1, (byte) 0x26, (byte) 0x64, (byte) 0xe5, (byte) 0x67, (byte) 0xc6, (byte) 0x9e, (byte) 0x4a, (byte) 0x62, (byte) 0x33, (byte) 0x37, (byte) 0x73, (byte) 0xaf, (byte) 0x44, (byte) 0xe4, (byte) 0x57, (byte) 0xcc, (byte) 0x99, (byte) 0x05, (byte) 0xe2, (byte) 0x15, (byte) 0x83, (byte) 0x7f, (byte) 0x16, (byte) 0x2e, (byte) 0x47, (byte) 0x4d, (byte) 0xda, (byte) 0x00, (byte) 0x78, (byte) 0x93, (byte) 0xef, (byte) 0xe0, (byte) 0x7a, (byte) 0x6e, (byte) 0xb0, (byte) 0xd0, (byte) 0xbf, (byte) 0x46, (byte) 0xc3, (byte) 0xd8, (byte) 0x73, (byte) 0x01, (byte) 0xf4, (byte) 0xac, (byte) 0xd2, (byte) 0x4d, (byte) 0x08, (byte) 0x08, (byte) 0x39, (byte) 0xf9, (byte) 0x9a, (byte) 0x64, (byte) 0xe7, (byte) 0x40, (byte) 0xe3, (byte) 0x59, (byte) 0xc6, (byte) 0x79, (byte) 0xf0, (byte) 0x58, (byte) 0x3e, (byte) 0xfa, (byte) 0x75, (byte) 0x2b, (byte) 0x1f, (byte) 0x54, (byte) 0x03, (byte) 0x37, (byte) 0x32, (byte) 0x33, (byte) 0x5e, (byte) 0xcf, (byte) 0xaa, (byte) 0xff, (byte) 0xac, (byte) 0x7b, (byte) 0xb1, (byte) 0x5e, (byte) 0x41, (byte) 0x87, (byte) 0x68, (byte) 0xfc, (byte) 0x3f, (byte) 0x97, (byte) 0x20, (byte) 0x2b, (byte) 0x5a, (byte) 0xd2, (byte) 0xa0, (byte) 0x97, (byte) 0xa4, (byte) 0x70, (byte) 0xe0, (byte) 0x5d, (byte) 0x28, (byte) 0x75, (byte) 0x1b, (byte) 0x5c, (byte) 0xa2, (byte) 0x13, (byte) 0x26, (byte) 0x51, (byte) 0x5a, (byte) 0x30, (byte) 0xca, (byte) 0x03, (byte) 0x56, (byte) 0x8c, (byte) 0xb4, (byte) 0x05, (byte) 0xfd, (byte) 0x74, (byte) 0x0c, (byte) 0x15, (byte) 0x8c, (byte) 0xff, (byte) 0x42, (byte) 0xae, (byte) 0x53, (byte) 0x9d, (byte) 0x81, (byte) 0xb5, (byte) 0xf7, (byte) 0xbb, (byte) 0x60, (byte) 0xf7, (byte) 0x1f, (byte) 0x2b, (byte) 0xdf, (byte) 0x9c, (byte) 0xfc, (byte) 0x50, (byte) 0x2f, (byte) 0x4a, (byte) 0x9c, (byte) 0xa9, (byte) 0x2c, (byte) 0x14, (byte) 0xf6, (byte) 0xc4, (byte) 0x9e, (byte) 0x32, (byte) 0xf9, (byte) 0xc9, (byte) 0x82, (byte) 0xcc, (byte) 0x1c, (byte) 0x62, (byte) 0xb1, (byte) 0x05, (byte) 0x51, (byte) 0xf5, (byte) 0x37, (byte) 0x78, (byte) 0x79, (byte) 0x70, (byte) 0x9d, (byte) 0x7c, (byte) 0xa3, (byte) 0xaa, (byte) 0x01, (byte) 0x29, (byte) 0x28, (byte) 0xbf, (byte) 0x4e, (byte) 0x31, (byte) 0x11, (byte) 0xd0, (byte) 0xfe, (byte) 0x2c, (byte) 0x1a, (byte) 0xd7, (byte) 0xda, (byte) 0x5d, (byte) 0xc0, (byte) 0x3b, (byte) 0xfc, (byte) 0x26, (byte) 0xbb, (byte) 0xf3, (byte) 0x52, (byte) 0xb7, (byte) 0xd4, (byte) 0xee, (byte) 0x0d, (byte) 0x49, (byte) 0xab, (byte) 0x51, (byte) 0x2c, (byte) 0x9a, (byte) 0x18, (byte) 0xad, (byte) 0xea, (byte) 0xd0, (byte) 0xf3, (byte) 0x7b, (byte) 0xe7, (byte) 0x73, (byte) 0xc1, (byte) 0xdf, (byte) 0xae, (byte) 0xc9, (byte) 0x26, (byte) 0x54, (byte) 0xaf, (byte) 0xfe, (byte) 0x6c, (byte) 0xbb, (byte) 0x3e, (byte) 0xe4, (byte) 0x68, (byte) 0x58, (byte) 0xe7, (byte) 0x49, (byte) 0x5f, (byte) 0x7d, (byte) 0xe5, (byte) 0x93, (byte) 0x87, (byte) 0x61, (byte) 0xc3, (byte) 0x53, (byte) 0x18, (byte) 0xdd, (byte) 0x05, (byte) 0xf6, (byte) 0x05, (byte) 0x94, (byte) 0x55, (byte) 0x76, (byte) 0x3e, (byte) 0x5b, (byte) 0x77, (byte) 0x54, (byte) 0x4b, (byte) 0x0d, (byte) 0x6d, (byte) 0x7a, (byte) 0x55, (byte) 0xf1, (byte) 0x91, (byte) 0x3d, (byte) 0x43, (byte) 0x4a, (byte) 0xd9 }; private static final String ALIAS = "mykey"; public void test(final TestHarness harness) { harness.checkPoint("TestOfPrivateKeyring"); final GnuPrivateKeyring kr = new GnuPrivateKeyring(); try { final Map attributes = new HashMap(); attributes.put(IKeyring.KEYRING_DATA_IN, new ByteArrayInputStream(keyring)); attributes.put(IKeyring.KEYRING_PASSWORD, "password".toCharArray()); Security.addProvider(new Gnu()); kr.load(attributes); harness.check(true, "load(...)"); harness.check(kr.containsPrivateKey(ALIAS), "containsCertificate(...)"); final List list = kr.get(ALIAS); // System.out.println("list.size()="+list.size()); harness.check(list.size() == 2, "get(...).size() == 2"); // for (java.util.Iterator it = list.listIterator(); it.hasNext(); ) { // System.out.println("*** "+it.next()); // } // // final Key key = kr.getPrivateKey(ALIAS, "password".toCharArray()); // harness.check(key != null, "getPrivateKey(...) != null"); // // System.out.println("key="+key); // // final Certificate[] cp = kr.getCertPath(ALIAS); // harness.check(cp != null, "getCertPath(...) != null"); // harness.check(cp.length != 0, "getCertPath(...).length != 0"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfPrivateKeyring"); } } }mauve-20140821/gnu/testlet/gnu/javax/crypto/keyring/TestOfGnuPrivateKeyring.java0000644000175000001440000001763210433467025026536 0ustar dokousers/* TestOfGnuPrivateKeyring.java Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.keyring; import gnu.java.security.Registry; import gnu.java.security.key.dss.DSSPrivateKey; import gnu.java.security.key.dss.DSSPublicKey; import gnu.javax.crypto.keyring.GnuPrivateKeyring; import gnu.javax.crypto.keyring.IKeyring; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.math.BigInteger; import java.security.PrivateKey; import java.security.PublicKey; import java.security.cert.Certificate; import java.security.cert.CertificateFactory; import java.util.Arrays; import java.util.HashMap; /** * Test of GnuPrivateKeyring public methods. */ public class TestOfGnuPrivateKeyring implements Testlet { /** KeyStore password. */ private static final char[] STORE_PASSWORD = "secret".toCharArray(); /** Key Entry alias. */ private static final String ALIAS = "mykey"; /** Key Entry password. */ private static final char[] KEY_PASSWORD = "changeme".toCharArray(); /** Common DSA key material - p. */ private static final BigInteger p = new BigInteger( "fd7f53811d75122952df4a9c2eece4e7f611b7523cef4400c31e3f80b6512669455d4" + "02251fb593d8d58fabfc5f5ba30f6cb9b556cd7813b801d346ff26660b76b9950a5" + "a49f9fe8047b1022c24fbba9d7feb7c61bf83b57e7c6a8a6150f04fb83f6d3c51ec" + "3023554135a169132f675f3ae2b61d72aeff22203199dd14801c7", 16); /** Common DSA key material - q. */ private static final BigInteger q = new BigInteger( "9760508f15230bccb292b982a2eb840bf0581cf5", 16); /** Common DSA key material - g. */ private static final BigInteger g = new BigInteger( "f7e1a085d69b3ddecbbcab5c36b857b97994afbbfa3aea82f9574c0b3d07826751595" + "78ebad4594fe67107108180b449167123e84c281613b7cf09328cc8a6e13c167a8b" + "547c8d28e0a3ae1e2bb3a675916ea37f0bfa213562f1fb627a01243bcca4f1bea85" + "19089a883dfe15ae59f06928b665e807b552564014c3bfecf492a", 16); /** Public DSA key part. */ private static final BigInteger x = new BigInteger( "631305a19984821b95a8c776d38167a4ea2ceb8", 16); /** Private DSA key part. */ private static final BigInteger y = new BigInteger( "cc1045a7550205a581ec3a9fed50c6d4aaae9ef2512c066f0d52617e0d462895c00bd" + "f2d329c53a9c0f690e406d49e21beb557d47436df9cdda5ad2f532620a5260704c5" + "91920ff674666e2166066727051f3d515aedf03a4bdb2d69dd13bbd9b5e7941ff37" + "fb35f2d9138b4172e64393b04afdcc630739fbe6993f27f467e17", 16); /** Alias's Self-signed certificate. */ private static final String SELF_SIGNED_CERT = "\n" + "-----BEGIN CERTIFICATE-----\n" + "MIIC9zCCAregAwIBAAIBATAJBgcqhkjOOAQDMGIxFzAVBgNVBAMMDlJhaWYgUy4g\n" + "TmFmZmFoMRswGQYDVQQKDBJUaGUgU2FtcGxlIENvbXBhbnkxDzANBgNVBAcMBlN5\n" + "ZG5leTEMMAoGA1UECAwDTlNXMQswCQYDVQQGDAJBVTAeFw0wNjA1MTgwOTM5Mzla\n" + "Fw0wNjA4MTYwOTM5MzlaMGIxFzAVBgNVBAMMDlJhaWYgUy4gTmFmZmFoMRswGQYD\n" + "VQQKDBJUaGUgU2FtcGxlIENvbXBhbnkxDzANBgNVBAcMBlN5ZG5leTEMMAoGA1UE\n" + "CAwDTlNXMQswCQYDVQQGDAJBVTCCAbgwggEsBgcqhkjOOAQBMIIBHwKBgQD9f1OB\n" + "HXUSKVLfSpwu7OTn9hG3UjzvRADDHj+AtlEmaUVdQCJR+1k9jVj6v8X1ujD2y5tV\n" + "bNeBO4AdNG/yZmC3a5lQpaSfn+gEexAiwk+7qdf+t8Yb+DtX58aophUPBPuD9tPF\n" + "HsMCNVQTWhaRMvZ1864rYdcq7/IiAxmd0UgBxwIVAJdgUI8VIwvMspK5gqLrhAvw\n" + "WBz1AoGBAPfhoIXWmz3ey7yrXDa4V7l5lK+7+jrqgvlXTAs9B4JnUVlXjrrUWU/m\n" + "cQcQgYC0SRZxI+hMKBYTt88JMozIpuE8FnqLVHyNKOCjrh4rs6Z1kW6jfwv6ITVi\n" + "8ftiegEkO8yk8b6oUZCJqIPf4VrlnwaSi2ZegHtVJWQBTDv+z0kqA4GFAAKBgQDM\n" + "EEWnVQIFpYHsOp/tUMbUqq6e8lEsBm8NUmF+DUYolcAL3y0ynFOpwPaQ5AbUniG+\n" + "tVfUdDbfnN2lrS9TJiClJgcExZGSD/Z0Zm4hZgZnJwUfPVFa7fA6S9stad0Tu9m1\n" + "55Qf83+zXy2ROLQXLmQ5OwSv3MYwc5++aZPyf0Z+FzAJBgcqhkjOOAQDAy8AMCwC\n" + "FE5UuDO5crsK+kOwdqzbr0WCzQQrAhR7ZwA+cBYvIfP3kr7lItJhY4nRBQ==\n" + "-----END CERTIFICATE-----\n"; /* * (non-Javadoc) * * @see gnu.testlet.Testlet#test(gnu.testlet.TestHarness) */ public void test(TestHarness harness) { harness.checkPoint("TestOfGnuPrivateKeyring"); try { GnuPrivateKeyring kr1 = new GnuPrivateKeyring(); // store a private key PrivateKey pk1 = new DSSPrivateKey(Registry.ASN1_ENCODING_ID, p, q, g, x); kr1.putPrivateKey(ALIAS, pk1, KEY_PASSWORD); // retrieve the same private key PrivateKey pk2 = (PrivateKey) kr1.getPrivateKey(ALIAS, KEY_PASSWORD); // check that private key is the same harness.check(pk2, pk1, "In-memory and original private key MUST be equal"); // store a public key PublicKey k1 = new DSSPublicKey(Registry.ASN1_ENCODING_ID, p, q, g, y); kr1.putPublicKey(ALIAS, k1); // retrieve the same public key PublicKey k2 = kr1.getPublicKey(ALIAS); // check that public key is the same harness.check(k2, k1, "In-memory and original public key MUST be equal"); // store a certificate CertificateFactory x509Factory = CertificateFactory.getInstance("X.509"); byte[] certificateBytes = SELF_SIGNED_CERT.getBytes("ASCII"); ByteArrayInputStream bais = new ByteArrayInputStream(certificateBytes); Certificate certificate = x509Factory.generateCertificate(bais); Certificate[] chain1 = new Certificate[] { certificate }; kr1.putCertPath(ALIAS, chain1); // retrieve the same certificate path Certificate[] chain2 = kr1.getCertPath(ALIAS); harness.check(Arrays.equals(chain2, chain1), "In-memory and original certificate MUST be equal"); // persist the keyring File ksFile = File.createTempFile("gkr-", ".gks"); ksFile.deleteOnExit(); FileOutputStream fos = new FileOutputStream(ksFile); HashMap attributes = new HashMap(); attributes.put(IKeyring.KEYRING_DATA_OUT, fos); attributes.put(IKeyring.KEYRING_PASSWORD, STORE_PASSWORD); kr1.store(attributes); fos.flush(); fos.close(); // re-load it from the persisted file GnuPrivateKeyring kr2 = new GnuPrivateKeyring(); FileInputStream fis = new FileInputStream(ksFile); attributes.clear(); attributes.put(IKeyring.KEYRING_DATA_IN, fis); attributes.put(IKeyring.KEYRING_PASSWORD, STORE_PASSWORD); kr2.load(attributes); fis.close(); // retrieve the same private key PrivateKey pk3 = (PrivateKey) kr2.getPrivateKey(ALIAS, KEY_PASSWORD); // check that it is still the same harness.check(pk3, pk1, "Persisted and original private key MUST be equal"); // retrieve the same public key PublicKey k3 = kr2.getPublicKey(ALIAS); // check that it is still the same harness.check(k3, k1, "Persisted and original public key MUST be equal"); // retrieve the certificate chain Certificate[] chain3 = kr2.getCertPath(ALIAS); // check that it's still the same certificate harness.check(Arrays.equals(chain3, chain1), "Persisted and original certificate MUST be equal"); } catch (Exception x) { harness.debug(x); harness.fail("TestOfGnuPrivateKeyring"); } } } mauve-20140821/gnu/testlet/gnu/javax/crypto/keyring/TestOfPublicKeyring.java0000644000175000001440000007336710367014266025700 0ustar dokousers/* TestOfPublicKeyring.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.gnu.javax.crypto.keyring; import gnu.java.security.provider.Gnu; import gnu.javax.crypto.keyring.GnuPublicKeyring; import gnu.javax.crypto.keyring.IKeyring; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.ByteArrayInputStream; import java.security.Security; import java.security.cert.Certificate; import java.util.HashMap; import java.util.List; import java.util.Map; /** * Conformance tests for the GNU (public) Keyring implementation. */ public class TestOfPublicKeyring implements Testlet { private static final byte[] keyring = new byte[] { (byte) 0x47,(byte) 0x4b,(byte) 0x52,(byte) 0x01, (byte) 0x04,(byte) 0x03,(byte) 0x00,(byte) 0x00, // (byte) 0x47,(byte) 0x4b,(byte) 0x52,(byte) 0x01, // (byte) 0x01,(byte) 0x03,(byte) 0x00,(byte) 0x00, (byte) 0x00, (byte) 0x53, (byte) 0x00, (byte) 0x04, (byte) 0x73, (byte) 0x61, (byte) 0x6c, (byte) 0x74, (byte) 0x00, (byte) 0x10, (byte) 0x46, (byte) 0x34, (byte) 0x42, (byte) 0x35, (byte) 0x35, (byte) 0x43, (byte) 0x36, (byte) 0x34, (byte) 0x35, (byte) 0x46, (byte) 0x30, (byte) 0x33, (byte) 0x33, (byte) 0x35, (byte) 0x31, (byte) 0x43, (byte) 0x00, (byte) 0x0a, (byte) 0x61, (byte) 0x6c, (byte) 0x69, (byte) 0x61, (byte) 0x73, (byte) 0x2d, (byte) 0x6c, (byte) 0x69, (byte) 0x73, (byte) 0x74, (byte) 0x00, (byte) 0x10, (byte) 0x76, (byte) 0x65, (byte) 0x72, (byte) 0x69, (byte) 0x73, (byte) 0x69, (byte) 0x67, (byte) 0x6e, (byte) 0x63, (byte) 0x6c, (byte) 0x61, (byte) 0x73, (byte) 0x73, (byte) 0x31, (byte) 0x63, (byte) 0x61, (byte) 0x00, (byte) 0x06, (byte) 0x6d, (byte) 0x61, (byte) 0x63, (byte) 0x6c, (byte) 0x65, (byte) 0x6e, (byte) 0x00, (byte) 0x02, (byte) 0x32, (byte) 0x30, (byte) 0x00, (byte) 0x03, (byte) 0x6d, (byte) 0x61, (byte) 0x63, (byte) 0x00, (byte) 0x0a, (byte) 0x48, (byte) 0x4d, (byte) 0x41, (byte) 0x43, (byte) 0x2d, (byte) 0x53, (byte) 0x48, (byte) 0x41, (byte) 0x2d, (byte) 0x31, (byte) 0x00, (byte) 0x00, (byte) 0x02, (byte) 0x6e, (byte) 0x04, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x32, (byte) 0x00, (byte) 0x0a, (byte) 0x61, (byte) 0x6c, (byte) 0x69, (byte) 0x61, (byte) 0x73, (byte) 0x2d, (byte) 0x6c, (byte) 0x69, (byte) 0x73, (byte) 0x74, (byte) 0x00, (byte) 0x10, (byte) 0x76, (byte) 0x65, (byte) 0x72, (byte) 0x69, (byte) 0x73, (byte) 0x69, (byte) 0x67, (byte) 0x6e, (byte) 0x63, (byte) 0x6c, (byte) 0x61, (byte) 0x73, (byte) 0x73, (byte) 0x31, (byte) 0x63, (byte) 0x61, (byte) 0x00, (byte) 0x09, (byte) 0x61, (byte) 0x6c, (byte) 0x67, (byte) 0x6f, (byte) 0x72, (byte) 0x69, (byte) 0x74, (byte) 0x68, (byte) 0x6d, (byte) 0x00, (byte) 0x07, (byte) 0x44, (byte) 0x45, (byte) 0x46, (byte) 0x4c, (byte) 0x41, (byte) 0x54, (byte) 0x45, (byte) 0x00, (byte) 0x00, (byte) 0x02, (byte) 0x1f, (byte) 0x78, (byte) 0x9c, (byte) 0x63, (byte) 0x65, (byte) 0x60, (byte) 0x60, (byte) 0x70, (byte) 0x61, (byte) 0x60, (byte) 0x29, (byte) 0xa9, (byte) 0x2c, (byte) 0x48, (byte) 0x65, (byte) 0x60, (byte) 0x8d, (byte) 0xd0, (byte) 0x33, (byte) 0x35, (byte) 0xb0, (byte) 0x64, (byte) 0xe0, (byte) 0x4d, (byte) 0x2e, (byte) 0x4a, (byte) 0x4d, (byte) 0x2c, (byte) 0xc9, (byte) 0xcc, (byte) 0xcf, (byte) 0xd3, (byte) 0x4d, (byte) 0x49, (byte) 0x2c, (byte) 0x49, (byte) 0x65, (byte) 0xe0, (byte) 0x35, (byte) 0x34, (byte) 0x30, (byte) 0x37, (byte) 0x30, (byte) 0x37, (byte) 0x31, (byte) 0xb3, (byte) 0x34, (byte) 0xb1, (byte) 0x30, (byte) 0xb4, (byte) 0x34, (byte) 0x60, (byte) 0x60, (byte) 0x4d, (byte) 0xcc, (byte) 0xc9, (byte) 0x4c, (byte) 0x2c, (byte) 0x66, (byte) 0x10, (byte) 0x28, (byte) 0x4b, (byte) 0x2d, (byte) 0xca, (byte) 0x2c, (byte) 0xce, (byte) 0x4c, (byte) 0xcf, (byte) 0x4b, (byte) 0xce, (byte) 0x49, (byte) 0x2c, (byte) 0x2e, (byte) 0x36, (byte) 0x4c, (byte) 0x4e, (byte) 0x64, (byte) 0x60, (byte) 0x60, (byte) 0x72, (byte) 0x30, (byte) 0x68, (byte) 0x62, (byte) 0xb2, (byte) 0x31, (byte) 0x68, (byte) 0x62, (byte) 0x5c, (byte) 0xca, (byte) 0x24, (byte) 0x60, (byte) 0x14, (byte) 0x60, (byte) 0x7c, (byte) 0x3e, (byte) 0xe0, (byte) 0x62, (byte) 0xd8, (byte) 0xe7, (byte) 0x98, (byte) 0xc6, (byte) 0xb5, (byte) 0xa9, (byte) 0x31, (byte) 0xfe, (byte) 0x27, (byte) 0x54, (byte) 0x0d, (byte) 0x78, (byte) 0xd9, (byte) 0x38, (byte) 0xb5, (byte) 0xda, (byte) 0x3c, (byte) 0xda, (byte) 0xbe, (byte) 0xf3, (byte) 0x32, (byte) 0x32, (byte) 0x32, (byte) 0xb1, (byte) 0x32, (byte) 0x18, (byte) 0xc4, (byte) 0x1b, (byte) 0x72, (byte) 0x1b, (byte) 0x70, (byte) 0xb2, (byte) 0x31, (byte) 0x87, (byte) 0xb2, (byte) 0xb0, (byte) 0x09, (byte) 0x33, (byte) 0x85, (byte) 0x06, (byte) 0x1b, (byte) 0x8a, (byte) 0x1b, (byte) 0x88, (byte) 0x82, (byte) 0x38, (byte) 0x5c, (byte) 0xc2, (byte) 0x7c, (byte) 0x61, (byte) 0x40, (byte) 0x63, (byte) 0x83, (byte) 0x81, (byte) 0xc6, (byte) 0xea, (byte) 0x28, (byte) 0x78, (byte) 0xe6, (byte) 0x25, (byte) 0xeb, (byte) 0x19, (byte) 0x9a, (byte) 0x1b, (byte) 0x98, (byte) 0x82, (byte) 0x24, (byte) 0xb8, (byte) 0x85, (byte) 0xf5, (byte) 0x9c, (byte) 0x41, (byte) 0xf6, (byte) 0x28, (byte) 0x18, (byte) 0x2a, (byte) 0x04, (byte) 0x94, (byte) 0x26, (byte) 0xe5, (byte) 0x64, (byte) 0x26, (byte) 0x2b, (byte) 0x04, (byte) 0x14, (byte) 0x65, (byte) 0xe6, (byte) 0x26, (byte) 0x16, (byte) 0x55, (byte) 0x2a, (byte) 0x38, (byte) 0xa7, (byte) 0x16, (byte) 0x95, (byte) 0x64, (byte) 0xa6, (byte) 0x65, (byte) 0x26, (byte) 0x83, (byte) 0x1d, (byte) 0xac, (byte) 0xe0, (byte) 0x58, (byte) 0x5a, (byte) 0x92, (byte) 0x91, (byte) 0x5f, (byte) 0x94, (byte) 0x59, (byte) 0x52, (byte) 0x69, (byte) 0x20, (byte) 0x27, (byte) 0xce, (byte) 0x6b, (byte) 0x69, (byte) 0x66, (byte) 0x60, (byte) 0x68, (byte) 0x64, (byte) 0x69, (byte) 0x00, (byte) 0x06, (byte) 0x51, (byte) 0xe2, (byte) 0xbc, (byte) 0x46, (byte) 0x06, (byte) 0x06, (byte) 0x40, (byte) 0x9f, (byte) 0x18, (byte) 0x19, (byte) 0x9b, (byte) 0x5a, (byte) 0x9a, (byte) 0x5a, (byte) 0x46, (byte) 0xd1, (byte) 0xde, (byte) 0x01, (byte) 0x8d, (byte) 0xf3, (byte) 0x91, (byte) 0xfd, (byte) 0xcc, (byte) 0xc8, (byte) 0xca, (byte) 0xc0, (byte) 0xdc, (byte) 0xd8, (byte) 0xcb, (byte) 0x60, (byte) 0xd0, (byte) 0xd8, (byte) 0xc9, (byte) 0xd4, (byte) 0xd8, (byte) 0xc8, (byte) 0xf0, (byte) 0x54, (byte) 0x72, (byte) 0x7f, (byte) 0xee, (byte) 0xe2, (byte) 0xb0, (byte) 0x44, (byte) 0xdd, (byte) 0x99, (byte) 0x1e, (byte) 0x85, (byte) 0xdf, (byte) 0xd2, (byte) 0xef, (byte) 0xed, (byte) 0xec, (byte) 0x7d, (byte) 0xbd, (byte) 0x7d, (byte) 0x5e, (byte) 0x5b, (byte) 0x03, (byte) 0xd7, (byte) 0x44, (byte) 0xbe, (byte) 0x5f, (byte) 0x16, (byte) 0xaa, (byte) 0xeb, (byte) 0xdd, (byte) 0x3a, (byte) 0x9a, (byte) 0x9e, (byte) 0x16, (byte) 0xaf, (byte) 0x58, (byte) 0x30, (byte) 0x5b, (byte) 0x25, (byte) 0x96, (byte) 0x57, (byte) 0xfe, (byte) 0x4c, (byte) 0x6a, (byte) 0x1e, (byte) 0xcf, (byte) 0x86, (byte) 0x0b, (byte) 0x61, (byte) 0x2d, (byte) 0x12, (byte) 0xed, (byte) 0xb3, (byte) 0xd8, (byte) 0x66, (byte) 0x0b, (byte) 0x2c, (byte) 0x2c, (byte) 0xbe, (byte) 0xbf, (byte) 0x25, (byte) 0xc2, (byte) 0x32, (byte) 0x3b, (byte) 0xef, (byte) 0xe0, (byte) 0x37, (byte) 0xd1, (byte) 0xab, (byte) 0x2b, (byte) 0x56, (byte) 0xd8, (byte) 0xaf, (byte) 0x12, (byte) 0x62, (byte) 0xeb, (byte) 0x35, (byte) 0x5c, (byte) 0x53, (byte) 0xbf, (byte) 0xc1, (byte) 0xe4, (byte) 0x7a, (byte) 0xbf, (byte) 0x49, (byte) 0x7a, (byte) 0x07, (byte) 0xe7, (byte) 0x59, (byte) 0x11, (byte) 0xc1, (byte) 0x47, (byte) 0x7e, (byte) 0xae, (byte) 0x61, (byte) 0x99, (byte) 0xf2, (byte) 0x15, (byte) 0x4c, (byte) 0x0d, (byte) 0xb7, (byte) 0xee, (byte) 0xb8, (byte) 0x4f, (byte) 0xd4, (byte) 0xdc, (byte) 0x6d, (byte) 0x76, (byte) 0x32, (byte) 0x39, (byte) 0xe6, (byte) 0xe8, (byte) 0x83, (byte) 0xeb, (byte) 0xba, (byte) 0xed, (byte) 0xd5, (byte) 0x0b, (byte) 0xb7, (byte) 0x1b, (byte) 0x6d, (byte) 0xa8, (byte) 0x36, (byte) 0xd8, (byte) 0xa5, (byte) 0xa5, (byte) 0x6f, (byte) 0xb8, (byte) 0xea, (byte) 0xdd, (byte) 0xe2, (byte) 0xf4, (byte) 0x5b, (byte) 0xb7, (byte) 0x99, (byte) 0x98, (byte) 0x19, (byte) 0x19, (byte) 0x18, (byte) 0xd1, (byte) 0xa2, (byte) 0x84, (byte) 0x19, (byte) 0xe8, (byte) 0x2e, (byte) 0x6f, (byte) 0x97, (byte) 0xb4, (byte) 0x84, (byte) 0x8c, (byte) 0x94, (byte) 0x27, (byte) 0x33, (byte) 0xa4, (byte) 0x3f, (byte) 0x6f, (byte) 0x28, (byte) 0x7a, (byte) 0x36, (byte) 0xb5, (byte) 0xb3, (byte) 0xe6, (byte) 0x6e, (byte) 0xf5, (byte) 0xe6, (byte) 0xa9, (byte) 0x07, (byte) 0x64, (byte) 0xf5, (byte) 0x6e, (byte) 0xdc, (byte) 0x90, (byte) 0xbc, (byte) 0xa0, (byte) 0x6b, (byte) 0x62, (byte) 0x7b, (byte) 0x2c, (byte) 0x60, (byte) 0x96, (byte) 0x40, (byte) 0x5b, (byte) 0xcf, (byte) 0x2a, (byte) 0x7b, (byte) 0xeb, (byte) 0x15, (byte) 0x2c, (byte) 0x7f, (byte) 0xcc, (byte) 0x83, (byte) 0xa6, (byte) 0x1e, (byte) 0xbe, (byte) 0x79, (byte) 0xf2, (byte) 0xf6, (byte) 0xd9, (byte) 0x4f, (byte) 0x6d, (byte) 0x6c, (byte) 0x47, (byte) 0x36, (byte) 0x4a, (byte) 0x7f, (byte) 0x68, (byte) 0xea, (byte) 0x30, (byte) 0x70, (byte) 0xea, (byte) 0x13, (byte) 0x0f, (byte) 0x90, (byte) 0x49, (byte) 0xa9, (byte) 0xda, (byte) 0x61, (byte) 0x37, (byte) 0xd3, (byte) 0xb3, (byte) 0x64, (byte) 0xfa, (byte) 0x9f, (byte) 0x35, (byte) 0x4c, (byte) 0xce, (byte) 0xbf, (byte) 0xa7, (byte) 0xf1, (byte) 0x84, (byte) 0xb1, (byte) 0xa8, (byte) 0xf2, (byte) 0xd4, (byte) 0xd4, (byte) 0xb4, (byte) 0xcf, (byte) 0x55, (byte) 0x59, (byte) 0x7e, (byte) 0xe3, (byte) 0x83, (byte) 0x91, (byte) 0xe6, (byte) 0xd6, (byte) 0x25, (byte) 0xf7, (byte) 0x63, (byte) 0x17, (byte) 0xf9, (byte) 0x1c, (byte) 0x15, (byte) 0x33, (byte) 0x5a, (byte) 0xe1, (byte) 0xf4, (byte) 0xcd, (byte) 0x75, (byte) 0xd9, (byte) 0x36, (byte) 0xb3, (byte) 0x9d, (byte) 0x0f, (byte) 0xf6, (byte) 0xa7, (byte) 0x9a, (byte) 0x4d, (byte) 0x3e, (byte) 0x74, (byte) 0xe9, (byte) 0x7a, (byte) 0xf6, (byte) 0x9d, (byte) 0x7b, (byte) 0x91, (byte) 0xd7, (byte) 0x16, (byte) 0x99, (byte) 0xfe, (byte) 0x70, (byte) 0x05, (byte) 0x00, (byte) 0xc4, (byte) 0x7a, (byte) 0xe5, (byte) 0xbb, (byte) 0x04, (byte) 0xf9, (byte) 0x0f, (byte) 0x26, (byte) 0x22, (byte) 0xfc, (byte) 0x61, (byte) 0xb6, (byte) 0xcf, (byte) 0x0c, (byte) 0xba, (byte) 0x43, (byte) 0xc1, (byte) 0xb9, (byte) 0xd6, (byte) 0xae, (byte) 0xb3, (byte) 0xd8, (byte) 0x21, (byte) 0x23 }; private static final String ALIAS = "verisignclass1ca"; public void test(final TestHarness harness) { harness.checkPoint("TestOfPublicKeyring"); final GnuPublicKeyring kr = new GnuPublicKeyring(); try { final Map attributes = new HashMap(); attributes.put(IKeyring.KEYRING_DATA_IN, new ByteArrayInputStream(keyring)); attributes.put(IKeyring.KEYRING_PASSWORD, "password".toCharArray()); Security.addProvider(new Gnu()); kr.load(attributes); harness.check(true, "load(...)"); harness.check(kr.containsCertificate(ALIAS), "containsCertificate(...)"); final List list = kr.get(ALIAS); harness.check(list.size() == 1, "get(...).size() == 1"); final Certificate cert = kr.getCertificate(ALIAS); harness.check(cert != null, "getCertificate(...) != null"); // System.out.println("cert="+cert); } catch (Exception x) { harness.debug(x); harness.fail("TestOfPublicKeyring"); } } }mauve-20140821/gnu/testlet/gnu/javax/swing/0000755000175000001440000000000012375316426017264 5ustar dokousersmauve-20140821/gnu/testlet/gnu/javax/swing/text/0000755000175000001440000000000012375316426020250 5ustar dokousersmauve-20140821/gnu/testlet/gnu/javax/swing/text/html/0000755000175000001440000000000012375316426021214 5ustar dokousersmauve-20140821/gnu/testlet/gnu/javax/swing/text/html/parser/0000755000175000001440000000000012375316426022510 5ustar dokousersmauve-20140821/gnu/testlet/gnu/javax/swing/text/html/parser/support/0000755000175000001440000000000012375316426024224 5ustar dokousersmauve-20140821/gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/0000755000175000001440000000000012375316426025460 5ustar dokousers././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/ParserEntityResolverTest.javamauve-20140821/gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/ParserEntityResolverTest.0000644000175000001440000000561311015023421032455 0ustar dokousers// Tags: JDK1.2 GNU // Uses: TestCase // Copyright (C) 2005, 2006 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.gnu.javax.swing.text.html.parser.support.Parser; import gnu.javax.swing.text.html.parser.HTML_401F; import gnu.javax.swing.text.html.parser.support.Parser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.reflect.Method; /** * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public class ParserEntityResolverTest extends TestCase implements Testlet { public void test(TestHarness harness) { try { h = harness; testResolver(); } catch (Exception ex) { ex.printStackTrace(); harness.fail("Exception: " + ex); } } /* Testing private methods of entity resolver. */ public void testResolver() throws Exception { Parser p = new Parser(HTML_401F.getInstance()) { public void error(String a, String b) { } }; Method rn = p.getClass().getSuperclass().getDeclaredMethod("resolveNamedEntity", new Class[] { String.class } ); rn.setAccessible(true); assertEquals(exe(p, rn, "&"), "&"); assertEquals(exe(p, rn, "&"), "&"); assertEquals(exe(p, rn, "&"), "&"); assertEquals(exe(p, rn, "&amP"), "&"); assertEquals(exe(p, rn, "&;"), "&;"); assertEquals(exe(p, rn, "&audrius;"), "&audrius;"); rn = p.getClass().getSuperclass().getDeclaredMethod("resolveNumericEntity", new Class[] { String.class } ); rn.setAccessible(true); assertEquals(exe(p, rn, "U"), "U"); assertEquals(exe(p, rn, "U"), "U"); assertEquals(exe(p, rn, "="), "="); assertEquals(exe(p, rn, "="), "="); assertEquals(exe(p, rn, "&#audrius"), "?"); } private String exe(Parser p, Method m, String arg) throws Exception { Object[] o = new Object[ 1 ]; o [ 0 ] = arg; return m.invoke(p, o).toString(); } } mauve-20140821/gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/ParserTest.java0000644000175000001440000000647010363737662030432 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.gnu.javax.swing.text.html.parser.support.Parser; import java.io.PrintStream; import java.util.Enumeration; import javax.swing.text.AttributeSet; import javax.swing.text.html.parser.Element; import javax.swing.text.html.parser.TagElement; /** * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public class ParserTest extends gnu.javax.swing.text.html.parser.support.Parser { PrintStream out = System.out; StringBuffer errors = new StringBuffer(); public ParserTest() { super(gnu.javax.swing.text.html.parser.HTML_401F.getInstance()); } public static void main(String[] args) { String sx; sx = "< tbody>< td >C_0_0< td>C_0_1< td >C_0_2< /td >< td >C_0_3
    C_0_4< /td>
    "; try { System.out.println(sx); ParserTest t = new ParserTest(); t.parse(new java.io.StringReader(sx)); System.out.println("\nErrors:"); System.out.println(t.errors); } catch (Exception ex) { ex.printStackTrace(); } } protected void handleComment(char[] parm1) { out.print("{" + new String(parm1) + "}"); } protected void handleEOFInComment() { out.print(" [EOF in comment] "); } protected void handleEmptyTag(TagElement tag) throws javax.swing.text.ChangedCharSetException { out.print("<" + tag); javax.swing.text.AttributeSet atts = getAttributes(); dumpAttributes(atts); out.print("/>"); } protected void handleEndTag(TagElement tag) { out.print(" "); } protected void handleError(int line, String message) { errors.append(message); errors.append('\n'); } protected void handleStartTag(TagElement tag) { out.print("<" + tag); javax.swing.text.AttributeSet atts = getAttributes(); dumpAttributes(atts); out.print('>'); } protected void handleText(char[] parm1) { out.print("'" + new String(parm1) + "'"); } protected void handleTitle(char[] parm1) { out.print(" [ Title: " + new String(parm1) + "] "); } protected void markFirstTime(Element element) { out.print("(1:" + element + ")"); } private void dumpAttributes(AttributeSet atts) { Enumeration e = atts.getAttributeNames(); while (e.hasMoreElements()) { String a = e.nextElement().toString(); String v = (String) atts.getAttribute(a); out.print(" " + a + "='" + v + "'"); } } } ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/parameterDefaulter_Test.javamauve-20140821/gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/parameterDefaulter_Test.j0000644000175000001440000000473511015023421032433 0ustar dokousers// Tags: JDK1.2 GNU // Uses: TestCase // Copyright (C) 2005, 2006 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.gnu.javax.swing.text.html.parser.support.Parser; import gnu.javax.swing.text.html.parser.HTML_401F; import gnu.javax.swing.text.html.parser.htmlAttributeSet; import gnu.javax.swing.text.html.parser.support.parameterDefaulter; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.AttributeSet; import javax.swing.text.html.HTML.Attribute; /** * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public class parameterDefaulter_Test extends TestCase implements Testlet { parameterDefaulter defaulter; public void test(TestHarness harness) { h = harness; testDefaultValues(); } public void testDefaultValues() { AttributeSet d; d = defaulter.getDefaultParameters("FrAmE"); assertEquals(d.getAttribute("scrolling"), "auto"); d = defaulter.getDefaultParameters("input"); assertEquals(d.getAttribute("type"), "text"); htmlAttributeSet hma = new htmlAttributeSet(); hma.setResolveParent(d); hma.addAttribute("ku", "1"); hma.addAttribute(Attribute.ACTION, "sleep"); assertEquals(hma.getAttribute("action"), "sleep"); assertEquals(hma.getAttribute(Attribute.ACTION), "sleep"); assertEquals(hma.getAttribute("ku"), "1"); // Calling the parent: assertEquals(hma.getAttribute(Attribute.TYPE), "text"); d = defaulter.getDefaultParameters("audrius"); assertEquals(d.getAttribute("scrolling"), null); } protected void setUp() { defaulter = new parameterDefaulter(HTML_401F.getInstance()); } protected void tearDown() throws java.lang.Exception { defaulter = null; super.tearDown(); } } mauve-20140821/gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/TestCase.java0000644000175000001440000000441210363737662030043 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.gnu.javax.swing.text.html.parser.support.Parser; import gnu.testlet.TestHarness; /** * A helper class, not a test. * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public class TestCase { public TestHarness h; public TestCase() { try { setUp(); } catch (Exception ex) { ex.printStackTrace(); } } public void assertEquals(String msg, Object a, Object b) { if (a==b) return; h.check(a, b, msg); } public void assertEquals(Object a, Object b) { if (a==b) return; h.check(a, b); } public void assertEquals(int a, int b) { h.check(a, b); } public void assertEquals(String msg, int a, int b) { h.check(a, b, msg); } public void assertEquals(boolean a, boolean b) { h.check(a, b); } public void assertFalse(String msg, boolean a) { h.check(!a, msg); } public void assertFalse(boolean a) { h.check(!a, "Must be false"); } public void assertNotNull(String msg, Object a) { h.check(a != null, "Must be not null"); } public void assertNull(String msg, Object a) { h.check(a == null, "Must be null"); } public void assertTrue(String msg, boolean a) { h.check(a, msg); } public void assertTrue(boolean a) { h.check(a, "must be True"); } protected void setUp() throws Exception { } protected void tearDown() throws Exception { } } ././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/supplementaryNotifications.javamauve-20140821/gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/supplementaryNotification0000644000175000001440000000414111015023421032636 0ustar dokousers// Tags: JDK1.2 GNU // Uses: TestCase Parser_Test // supplementaryNotifications.java -- // Copyright (C) 2005, 2006 Free Software Foundation, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.gnu.javax.swing.text.html.parser.support.Parser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public class supplementaryNotifications extends TestCase implements Testlet { String eoln = null; int flushed = 0; public void test(TestHarness harness) { try { h = harness; testHTMLParsing(); } catch (Exception ex) { ex.printStackTrace(); harness.fail("Exception: " + ex); } } public void testHTMLParsing() throws Exception { Parser_Test v = new Parser_Test() { public void handleEndOfLineString(String end_of_line) { eoln = end_of_line; } public void flush() { flushed++; } }; v.hideImplied = true; v.verify("a \n b", "'a b'"); assertEquals(eoln, "\n"); v.verify("a \r b", "'a b'"); assertEquals(eoln, "\r"); v.verify("a \r\n b", "'a b'"); assertEquals(eoln, "\r\n"); assertEquals(flushed, 3); } } mauve-20140821/gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/HTML_randomTable.java0000644000175000001440000000771311015023421031363 0ustar dokousers// Tags: JDK1.2 GNU // Uses: TestCase Parser_Test // Copyright (C) 2005, 2006 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.gnu.javax.swing.text.html.parser.support.Parser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Random; /** * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public class HTML_randomTable extends TestCase implements Testlet { class table { final String[][] rows; final boolean caption = r.nextBoolean(); table() { int nrows = r.nextInt(5) + 1; rows = new String[ nrows ][]; for (int i = 0; i < rows.length; i++) { int ncol = r.nextInt(5) + 1; rows [ i ] = new String[ ncol ]; for (int j = 0; j < rows [ i ].length; j++) { rows [ i ] [ j ] = "C_" + i + "_" + j; } } } public String getHtml() { StringBuffer b = new StringBuffer(""); if (caption) b.append(""); if (r.nextBoolean()) b.append("<" + s() + "tbody" + s() + ">"); for (int row = 0; row < rows.length; row++) { b.append("<" + s() + "tr" + s() + ">"); for (int col = 0; col < rows [ row ].length; col++) { b.append("<" + s() + "td" + s() + ">"); b.append(rows [ row ] [ col ]); if (r.nextBoolean()) b.append("<" + s() + "/" + "td" + s() + ">"); } if (r.nextBoolean()) b.append("<" + s() + "/" + "tr" + s() + ">"); } b.append("
    capt
    "); return b.toString(); } public String getTrace() { StringBuffer b = new StringBuffer(""); if (caption) b.append(""); b.append(""); for (int row = 0; row < rows.length; row++) { b.append(""); for (int col = 0; col < rows [ row ].length; col++) { b.append(""); } b.append(""); } b.append("
    'capt'
    '" + rows [ row ] [ col ] + "'
    "); return b.toString(); } void test() throws Exception { String trace = getTrace(); String html = getHtml(); v.verify(html, trace); } } Parser_Test v = new Parser_Test(); Random r = new Random(); public HTML_randomTable() throws Exception { } public String s() { if (r.nextBoolean()) return ""; StringBuffer b = new StringBuffer(); int spc = r.nextInt(4); for (int i = 0; i < spc; i++) { b.append(' '); } return b.toString(); } public void test(TestHarness harness) { try { h = harness; testTableParsing(); } catch (Exception ex) { ex.printStackTrace(); harness.fail("Exception: " + ex); } } /** * Try 1001 variable randomly generated table. */ public void testTableParsing() throws Exception { v.hideImplied = true; for (int i = 0; i < 1001; i++) { new table().test(); } } } mauve-20140821/gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/HTML_Test.java0000644000175000001440000000754011015023421030050 0ustar dokousers// Tags: JDK1.2 GNU // Uses: TestCase // Copyright (C) 2005, 2006 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.gnu.javax.swing.text.html.parser.support.Parser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.html.HTML; public class HTML_Test extends TestCase implements Testlet { public void test(TestHarness harness) { h = harness; testCaseSensitivity(); testConstructor(); testGetAttributeKey(); testGetIntegerAttributeValue(); testGetTag(); } /** * By the language definition, HTML tags and attributes are case * insensitive. Hence if it is not clearly specified, in which case * the tag name must be, it should be expected to come as in * lowercase, as in uppercase. This should be true for HTML.getTag(String) * and for HTML.getAttributeKey(String). * * In some implementations these two functions may be case sensitive. * As this requirement is not mentioned in the documentation, * and also it is not documented, in which case the name must be supplied, * this will be reported as an error in this test. * The GNU CLASSPATH implementation is case insensitive. */ public void testCaseSensitivity() { String def = "case sensitivity"; assertEquals("html=Html", HTML.getTag("html"), HTML.getTag("HtmL")); assertEquals("html=HTML", HTML.getTag("html"), HTML.getTag("HTML")); assertEquals("size=SIZE", HTML.getAttributeKey("size"), HTML.getAttributeKey("SIZE") ); assertEquals("size=SizE", HTML.getAttributeKey("size"), HTML.getAttributeKey("SizE") ); } public void testConstructor() { new HTML(); } public void testGetAttributeKey() { // Test the known tags. String[] mine = toStrings(HTML.getAllAttributeKeys()); for (int i = 0; i < mine.length; i++) assertNotNull(mine [ i ], HTML.getAttributeKey(mine [ i ])); // Test the unknown tag. assertNull("surely unknown", HTML.getTag("audrius")); } public void testGetIntegerAttributeValue() { SimpleAttributeSet ase = new SimpleAttributeSet(); ase.addAttribute(HTML.getAttributeKey("size"), "222"); assertEquals(222, HTML.getIntegerAttributeValue(ase, HTML.getAttributeKey("size"), 333 ) ); assertEquals(333, HTML.getIntegerAttributeValue(ase, HTML.getAttributeKey("href"), 333 ) ); } public void testGetTag() { // known tags: String[] mine = toStrings(HTML.getAllTags()); for (int i = 0; i < mine.length; i++) assertNotNull(mine [ i ], HTML.getTag(mine [ i ])); // unknown tag assertNull("surely unknown", HTML.getTag("audrius")); } private String[] toStrings(Object[] objs) { String[] a = new String[ objs.length ]; for (int i = 0; i < a.length; i++) a [ i ] = objs [ i ].toString(); return a; } } mauve-20140821/gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/Element_Test.java0000644000175000001440000000641711015023421030677 0ustar dokousers// Tags: JDK1.2 GNU // Uses: TestCase // Copyright (C) 2005, 2006 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.gnu.javax.swing.text.html.parser.support.Parser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.html.parser.AttributeList; import javax.swing.text.html.parser.DTD; import javax.swing.text.html.parser.DTDConstants; import javax.swing.text.html.parser.Element; /** * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public class Element_Test extends TestCase implements Testlet { private Element element = null; public void test(TestHarness harness) { h = harness; try { testAttributeGetter(); testName2type(); } catch (Exception ex) { h.fail("Exception " + ex); } } public void testAttributeGetter() throws Exception { // Create a chain of 24 attributes: AttributeList list = new AttributeList("heading"); AttributeList head = list; list.value = null; for (int i = 0; i < 24; i++) { AttributeList a = new AttributeList("a" + i); a.value = "v" + i; list.next = a; list = a; } Element e = DTD.getDTD("test").getElement("e"); e.atts = head; for (int i = 0; i < 24; i++) { // Check if the name is found. assertEquals(e.getAttribute("a" + i).toString(), "a" + i); // Check if the attribute value is correct. assertEquals(e.getAttribute("a" + i).value, "v" + i); // Check if the attribute can be found by value. assertEquals(e.getAttributeByValue("v" + i).name, "a" + i); } // Check is the null value is searched correctly. assertEquals(e.getAttributeByValue(null).toString(), "heading"); // Check for unknown attribute assertEquals(e.getAttribute("audrius"), null); // Check for unknown value assertEquals(e.getAttributeByValue("audrius"), null); } public void testName2type() { assertEquals(Element.name2type("CDATA"), DTDConstants.CDATA); assertEquals(Element.name2type("RCDATA"), DTDConstants.RCDATA); assertEquals(Element.name2type("EMPTY"), DTDConstants.EMPTY); assertEquals(Element.name2type("ANY"), DTDConstants.ANY); assertEquals(Element.name2type("audrius"), 0); assertEquals(Element.name2type("rcdata"), 0); } protected void setUp() throws Exception { super.setUp(); } protected void tearDown() throws Exception { element = null; super.tearDown(); } } mauve-20140821/gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/Parser_Test.java0000644000175000001440000001005710363737662030565 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.gnu.javax.swing.text.html.parser.support.Parser; import java.io.StringReader; import java.util.Enumeration; import java.util.Iterator; import java.util.TreeSet; import javax.swing.text.AttributeSet; import javax.swing.text.MutableAttributeSet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.html.HTML; import javax.swing.text.html.HTMLEditorKit; import javax.swing.text.html.parser.ParserDelegator; /** * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public class Parser_Test extends HTMLEditorKit.ParserCallback { public boolean hideImplied = true; protected StringBuffer out = new StringBuffer(); AttributeSet atts = new SimpleAttributeSet(); public void generate(String x, String comment) throws Exception { String prolog = ""; String epilog = ""; String html = x; // prolog+x+epilog; System.out.println("// Test " + comment + "."); System.out.println("v.verify(\"" + html + "\",\n \"" + verify(html, null) + "\");" ); } public void handleComment(char[] parm1, int position) { out.append("{" + new String(parm1) + "}"); } public void handleEndTag(HTML.Tag tag, int position) { out.append(""); } public void handleSimpleTag(HTML.Tag tag, MutableAttributeSet attributes, int position ) { if (tag.toString().equals("#pcdata")) return; out.append("<" + tag); dumpAttributes(attributes); out.append("/>"); } public void handleStartTag(HTML.Tag tag, MutableAttributeSet attributes, int position ) { out.append("<" + tag); dumpAttributes(attributes); out.append('>'); } public void handleText(char[] chars, int position) { out.append("'" + new String(chars) + "'"); } public String verify(String html, String trace) throws Exception { out.setLength(0); HTMLEditorKit.ParserCallback callback = this; ParserDelegator delegator = new ParserDelegator(); delegator.parse(new StringReader(html), callback, true); String ou = out.toString(); if (trace != null) { if (!ou.equals(trace)) { System.err.println("Unable to parse '" + html + "':"); System.err.println(" expected: '" + trace + "',"); System.out.println(" returned: '" + ou + "'."); throw new Exception("'" + html + "' -> '" + ou + "' expected '" + trace + "'" ); } } return ou; } protected void dumpAttributes(AttributeSet atts) { Enumeration e = atts.getAttributeNames(); // Sort them to ensure the same order every time: TreeSet t = new TreeSet(); while (e.hasMoreElements()) t.add(e.nextElement().toString()); Iterator iter = t.iterator(); while (iter.hasNext()) { String a = iter.next().toString(); if (hideImplied) if (a.equals("_implied_")) continue; String v = atts.getAttribute(a).toString(); out.append(" " + a + "='" + v + "'"); } } } mauve-20140821/gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/Token_locations.java0000644000175000001440000000745311015023421031443 0ustar dokousers// Tags: JDK1.2 GNU // Uses: TestCase Parser_Test // Copyright (C) 2005, 2006 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.gnu.javax.swing.text.html.parser.support.Parser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.MutableAttributeSet; import javax.swing.text.html.HTML; /** * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public class Token_locations extends TestCase implements Testlet { public void test(TestHarness harness) { h = harness; try { testHTMLParsing(); } catch (Exception ex) { ex.printStackTrace(); harness.fail("Exception: " + ex); } } public void testHTMLParsing() throws Exception { Parser_Test v = new Parser_Test() { public void handleSimpleTag(HTML.Tag tag, MutableAttributeSet attributes, int position ) { if (tag.toString().equals("#pcdata")) return; out.append("<" + tag + "[" + position + "]"); dumpAttributes(attributes); out.append("/>"); } public void handleStartTag(HTML.Tag tag, MutableAttributeSet attributes, int position ) { if (tag.toString().equalsIgnoreCase("tbody")) return; out.append("<" + tag + "[" + position + "]"); dumpAttributes(attributes); out.append('>'); } public void handleText(char[] chars, int position) { out.append("'" + new String(chars) + "[" + position + "]'"); } public void handleEndTag(HTML.Tag tag, int position) { if (tag.toString().equalsIgnoreCase("tbody")) return; out.append(""); } public void handleComment(char[] parm1, int position) { out.append("{" + new String(parm1) + "[" + position + "]}"); } }; v.hideImplied = true; // 0123456789012345678901234567890 v.verify("", "" + "'a[15]''b[20]'" + "'c[25]'" + "" ); // 0123456789012345678901234567890 v.verify("ab", "'a[0]'{ comment [1]}'b[17]'" + "{ comment2 [18]}" ); // 012345678901234567 v.verify("

    b

    c

    d", "'b[3]''" + "c[7]''d[11]'" ); // Test SGML v.verify("sgml", "" + "'sgml[23]'" ); } } mauve-20140821/gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/HTML_parsing.java0000644000175000001440000003144111015023421030571 0ustar dokousers// Tags: JDK1.2 GNU // Uses: TestCase Parser_Test // Copyright (C) 2005, 2006 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.gnu.javax.swing.text.html.parser.support.Parser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public class HTML_parsing extends TestCase implements Testlet { /** * This is used for profiling. */ public static void main(String[] args) { long t = System.currentTimeMillis(); try { HTML_parsing p = new HTML_parsing(); for (int i = 0; i < 2000; i++) { p.testHTMLParsing(); if (i % 10 == 0) System.out.print('.'); } } catch (Exception ex) { } System.out.println("TIME " + (System.currentTimeMillis() - t)); } public void test(TestHarness harness) { h = harness; try { testHTMLParsing(); } catch (Exception ex) { ex.printStackTrace(); harness.fail("Exception " + ex); } } public void testHTMLParsing() throws Exception { Parser_Test v = new Parser_Test(); v.hideImplied = false; // Test subsequent tags. v.verify("text", "'text'" ); // Test entities. v.verify("hex: U eqdec: = ampnamed: &", "'hex: U eqdec: = ampnamed: &'" ); // Test comments. v.verify("< !--b--> ", "{a}{b}{c}{ d}{e }{f}{g}{-h-}{ i }{- j -}{ -- }{------}" ); // Test unclosed tags. v.verify("


    ", "

    " ); // Test errors and unclosed tags. v.verify("
    ", "
    '# class = c'
    " ); // Test script. v.verify("

    ", "

    " ); // Test valid attributes. v.verify("


    ", "


    " ); // Test unknown attribute without value. v.verify("
    ", "
    " ); // Test known attributes witout value. v.verify("" ); // Test table content model. v.verify("
    abc
    a
    ", "
    'a'
    " ); // Test table content model. v.verify("a
    cap
    ", "
    'cap'
    'a'
    " ); // Test typical table. v.verify("
    xyz
    ", "
    'x''y''z'
    " ); // Test nested table. v.verify("
    nested
    x
    yz
    ", "
    'nested'
    'x'
    'y''z'
    " ); // Test simple nested list. v.verify("
    • a
      • na
      • nb
    • b
    ", "
    • 'a'
      • 'na'
      • 'nb'
    • 'b'
    " ); // Test simple non-nested list. v.verify("
    • a
    • na
    • nb
    • b
    ", "
    • 'a'
    • 'na'
    • 'nb'
    • 'b'
    " ); // Test list without closing tags (obsolete list form). v.verify("
    • a
    • na
    • nb
    • b
    ", "
    • 'a'
    • 'na'
    • 'nb'
    • 'b'
    " ); // Test list without closing tags (obsolete list form). v.verify("
    • a
      • na
      • nb
    • b
    ", "
    • 'a'
      • 'na'
      • 'nb'
    • 'b'
    " ); // Test Obsolete table. v.verify("", "
    abc
    'a''b''c'
    " ); // Test html no head no body. v.verify("text", "'text'" ); // Test head only. v.verify("text", "'text'" ); // Test head and body. v.verify("titext", "'ti''text'" ); // Test title and text. v.verify("titletext", "'title''text'" ); // Test html only. v.verify("text", "'text'" ); // Test body only. v.verify("text", "'text'" ); // Test head only. v.verify("text", "'text'" ); // Test obsolete table. v.verify("", "
    a
    a
    'a'
    'a'
    " ); // Test obsolete table. v.verify(""); writer.println(""); writer.println(""); writer.println(""); } /** * Returns the number of directory levels in the specified package name. * * @param name the name. * * @return The number of directory levels. */ private static int countLevels(String name) { int result = 1; for (int i = 0; i < name.length(); i++) { if (name.charAt(i) == '/') result++; } return result; } /** * Creates an HTML page that summaries a package, and processes all the classes within * the package. * * @param packageResult the package result. * @param rootDirectory the root directory. */ public static void createPackageReport(PackageResult packageResult, File rootDirectory) throws IOException { // create directory for package String packageName = packageResult.getName().replace('.', '/'); String prefix = ""; int levels = countLevels(packageName); for (int i = 0; i < levels; i++) prefix += "../"; File packageDirectory = new File(rootDirectory, packageName); packageDirectory.mkdirs(); // write basic HTML with info about package File summaryFile = new File(packageDirectory, "package_index.html"); OutputStream out = new BufferedOutputStream(new FileOutputStream(summaryFile)); PrintWriter writer = new PrintWriter(out); writer.println(""); writer.println("Package Summary: " + packageResult.getName() + ""); writer.println(""); writer.println("

    Package: " + packageResult.getName() + "

    "); writer.println("Summary page

    "); int checkCount = packageResult.getCheckCount(); int passed = packageResult.getCheckCount(true); int failed = checkCount - passed; writer.println("Passed: " + passed + "
    "); writer.println("Failed: " + failed + "

    "); writer.println("

    ab
    abc", "
    'a''b'
    'a''b''c'
    " ); // Test style. v.verify("
    ", "
    " ); // Test style. v.verify("x", "'x'" ); // Test entities in attributes. v.verify("
    ", "
    " ); // Test colgroup. v.verify("x", "
    ab
    'a''b'
    'x'
    " ); // Test definition list, obsolete. v.verify("
    ha
    a
    hb
    b", "
    'ha'
    'a'
    'hb'
    'b'
    " ); // Test definition list. v.verify("
    'ha'
    'a'
    'hb'
    'b'
    ", "
    ''ha''
    ''a''
    ''hb''
    ''b''
    " ); // Test paragraphs. v.verify("

    b

    c

    d", "

    'b'

    'c'

    'd'

    " ); // Test paragraphs. v.verify("

    'b'

    'c'

    'd'

    ", "

    ''b''

    ''c''

    ''d''

    " ); // Test select obsolete. v.verify("
    " ); // Test select current. v.verify("
    ", "
    " ); // Test select current. v.verify("
    ", "
    " ); // Test << antihang. v.verify("<text", "'<''text'" ); // Test << antihang with spaces. v.verify(" < < i>text", "'<''text'" ); // Test Standalone <. v.verify("Text text ", "'Text'''text'" ); } } ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/textPreProcessor_Test.javamauve-20140821/gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/textPreProcessor_Test.jav0000644000175000001440000000713211015023421032473 0ustar dokousers// Tags: JDK1.2 GNU // Uses: TestCase // Copyright (C) 2005, 2006 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.gnu.javax.swing.text.html.parser.support.Parser; import gnu.javax.swing.text.html.parser.support.textPreProcessor; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public class textPreProcessor_Test extends TestCase implements Testlet { textPreProcessor p = new textPreProcessor(); public void test(TestHarness harness) { h = harness; testPreFormattedPreProcessing(); testStandardPreProcessing(); } public void testPreFormattedPreProcessing() { verifyF("rnrn...r.n.Q.Q.r.n.rn.Q...r.r.rn", "n...n.n.Q.Q.n.n.n.Q...n.n."); verifyF("...r.n.Q.Q.r.n.rn.Q...r.r.n", "...n.n.Q.Q.n.n.n.Q...n.n."); verifyF("r...r.n.Q.Q.r.n.rn.Q...r.r.n", "...n.n.Q.Q.n.n.n.Q...n.n."); verifyF("Q", "Q"); verifyF(".", "."); verifyF("abc..\t..xyz", "abc..\t..xyz"); verifyF("abcxyz", "abcxyz"); } public void testStandardPreProcessing() { verifyS("...r.n.Q.Q.r.n.rn.Q...r.r.n", "Q.Q.Q"); verifyS("r...r.n.Q.Q.r.n.rn.Q...r.r.n", "Q.Q.Q"); verifyS("Q", "Q"); verifyS(" ", null); verifyS(" \r\n", null); verifyS("abc..\t..xyz", "abc.xyz"); verifyS("abcxyz", "abcxyz"); } StringBuffer fromText(String x) { StringBuffer b = new StringBuffer(); char c; for (int i = 0; i < x.length(); i++) { c = x.charAt(i); if (c == 'n') b.append('\n'); else if (c == 'r') b.append('\r'); else if (c == '.') b.append(' '); else b.append(c); } return b; } StringBuffer toText(String x) { StringBuffer b = new StringBuffer(); char c; for (int i = 0; i < x.length(); i++) { c = x.charAt(i); if (c == '\n') b.append('n'); else if (c == '\r') b.append('r'); else if (c == ' ') b.append('.'); else b.append(c); } return b; } void verifyF(String text, String result) { char[] pp = p.preprocessPreformatted(fromText(text)); if (result == null && pp == null) return; String processed = new String(pp); processed = toText(processed).toString(); if (!processed.equals(result)) { System.err.println(result); System.out.println(processed); } assertEquals(text, result, processed); } void verifyS(String text, String result) { char[] pp = p.preprocess(fromText(text)); if (result == null && pp == null) return; String processed = new String(pp); processed = toText(processed).toString(); if (!processed.equals(result)) { System.err.println(result); System.out.println(processed); } assertEquals(text, result, processed); } } mauve-20140821/gnu/testlet/gnu/javax/swing/text/html/parser/support/low/0000755000175000001440000000000012375316426025025 5ustar dokousersmauve-20140821/gnu/testlet/gnu/javax/swing/text/html/parser/support/low/ReaderTokenizer/0000755000175000001440000000000012375316426030122 5ustar dokousers././@LongLink0000644000000000000000000000016200000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/gnu/javax/swing/text/html/parser/support/low/ReaderTokenizer/ReaderTokenizer_Test.javamauve-20140821/gnu/testlet/gnu/javax/swing/text/html/parser/support/low/ReaderTokenizer/ReaderTokeni0000644000175000001440000001101210363737662032420 0ustar dokousers// Tags: JDK1.2 GNU // Copyright (C) 2005, 2006 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.gnu.javax.swing.text.html.parser.support.low.ReaderTokenizer; import gnu.javax.swing.text.html.parser.support.low.Constants; import gnu.javax.swing.text.html.parser.support.low.ReaderTokenizer; import gnu.javax.swing.text.html.parser.support.low.Token; import gnu.javax.swing.text.html.parser.support.low.node; import gnu.javax.swing.text.html.parser.support.low.pattern; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.gnu.javax.swing.text.html.parser.support.Parser.TestCase; import java.io.StringReader; import java.util.ArrayList; /** * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public class ReaderTokenizer_Test extends TestCase implements Testlet { ReaderTokenizer rt = new ReaderTokenizer(); public void test(TestHarness harness) { h = harness; try { testComplexToken(); testReadingAndAhead(); } catch (Exception ex) { h.fail("Excpetion " + ex); } } public void testComplexToken() throws Exception { String x = "< style >x"; pattern a = new pattern(new node[] { new node(Constants.BEGIN), new node(Constants.NUMTOKEN), new node(Constants.END), new node(Constants.NUMTOKEN) } ); pattern b = new pattern(new node[] { new node(Constants.BEGIN), new node(Constants.STYLE), new node(Constants.END), new node(Constants.NUMTOKEN) } ); pattern c = new pattern(new node[] { new node(Constants.BEGIN), new node(Constants.WS, true), new node(Constants.STYLE), new node(Constants.WS, true), new node(Constants.END), new node(Constants.NUMTOKEN) } ); pattern d = new pattern(new node[] { new node(Constants.BEGIN), new node(Constants.WS, true), new node(Constants.STYLE), new node(Constants.WS, true), new node(Constants.END), new node(Constants.BEGIN) } ); ReaderTokenizer rt = new ReaderTokenizer(); rt.reset(new StringReader(x)); assertFalse(a.matches(rt)); assertFalse(b.matches(rt)); assertTrue(c.matches(rt)); assertFalse(d.matches(rt)); } public void testReadingAndAhead() throws Exception { ArrayList tokens = new ArrayList(); StringBuffer b = new StringBuffer(); for (int i = 0; i < 10; i++) { String r = rs(); b.append(" "); b.append(r + i); tokens.add(" "); tokens.add(r + i); } rt.reset(new StringReader(b.toString())); for (int i = 0; i < 10; i++) { for (int ah = 0; ah < 10; ah++) { Token ahead = rt.getTokenAhead(ah); if (i + ah >= tokens.size()) { assertEquals(ahead.kind, rt.EOF); } else { if ((i + ah) % 2 == 0) assertEquals(ahead.kind, rt.WS); else { assertEquals(ahead.getImage(), tokens.get(i + ah)); assertEquals(ahead.kind, rt.NUMTOKEN); } } } Token r = rt.getNextToken(); assertEquals(r.getImage(), tokens.get(i)); } } private String rs() { StringBuffer b = new StringBuffer(); for (int i = 0; i < 10 * Math.random(); i++) { b.append("l"); } return b.toString(); } } mauve-20140821/gnu/testlet/gnu/javax/swing/text/html/parser/support/low/Constants/0000755000175000001440000000000012375316426027001 5ustar dokousers././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/gnu/javax/swing/text/html/parser/support/low/Constants/Constants_Test.javamauve-20140821/gnu/testlet/gnu/javax/swing/text/html/parser/support/low/Constants/Constants_Test.jav0000644000175000001440000000462210363737662032466 0ustar dokousers// Tags: JDK1.2 GNU // Copyright (C) 2005, 2006 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.gnu.javax.swing.text.html.parser.support.low.Constants; import gnu.javax.swing.text.html.parser.support.low.Buffer; import gnu.javax.swing.text.html.parser.support.low.Constants; import gnu.javax.swing.text.html.parser.support.low.Token; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.gnu.javax.swing.text.html.parser.support.Parser.TestCase; /** * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public class Constants_Test extends TestCase implements Testlet { Constants c = new Constants(); public void test(TestHarness harness) { h = harness; testCases(); } public void testCases() { verify("x stYle ", c.STYLE, "stYle"); verify("x !style!", c.STYLE, "style"); verify("x !Script!", c.SCRIPT, "Script"); verify(" \r\t\n z", c.WS, " \r\t\n "); verify("123 ", c.NUMTOKEN, "123"); verify("AaB123#", c.NUMTOKEN, "AaB123"); verify("x-- ", c.DOUBLE_DASH, "--"); verify("x--- ", c.DOUBLE_DASH, "--"); verify("z&entitu ", c.ENTITY, "&entitu"); verifyNull("x stYle"); verifyNull("x !style"); verifyNull("x !Script"); verifyNull(" \r\t\n "); verifyNull("123"); verifyNull("AaB123"); verifyNull("x--"); } public void verify(String sequence, int kind, String image) { Token t = c.endMatches(new Buffer(sequence)); assertEquals(kind, t.kind); assertEquals(image, t.getImage()); } public void verifyNull(String sequence) { Token t = c.endMatches(new Buffer(sequence)); assertNull("The end should not match any token", t); } } mauve-20140821/gnu/testlet/gnu/javax/swing/text/html/parser/support/low/Buffer/0000755000175000001440000000000012375316426026236 5ustar dokousersmauve-20140821/gnu/testlet/gnu/javax/swing/text/html/parser/support/low/Buffer/Buffer_Test.java0000644000175000001440000000323010363737662031313 0ustar dokousers// Tags: JDK1.2 GNU // Copyright (C) 2005, 2006 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.gnu.javax.swing.text.html.parser.support.low.Buffer; import gnu.javax.swing.text.html.parser.support.low.Buffer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.gnu.javax.swing.text.html.parser.support.Parser.TestCase; /** * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public class Buffer_Test extends TestCase implements Testlet { public void test(TestHarness harness) { h = harness; testAppend(); testDelete(); } public void testAppend() { Buffer.INITIAL_SIZE = 2; Buffer b = new Buffer("01"); b.append('A', 0); b.append('B', 0); assertEquals(b.toString(), "01AB"); } public void testDelete() { Buffer b = new Buffer("0123456789ABCDEFGHIJKLMN"); b.delete(2, 7); assertEquals(b.toString(), "01789ABCDEFGHIJKLMN"); } } mauve-20140821/gnu/testlet/config.java.in0000644000175000001440000000370011030455606016737 0ustar dokousers/* Copyright (c) 1999 Cygnus Solutions Written by Anthony Green This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet; public interface config { public static final String cpInstallDir = "@CP_INSTALL_DIR@"; public static final String autoCompile = "@AUTO_COMPILE@"; public static final String testJava = "@TEST_JAVA@"; public static final String ecjJar = "@ECJ_JAR@"; public static final String emmaString = "@EMMA@"; public static final String srcdir = "@SRCDIR@"; public static final String builddir = "@BUILDDIR@"; public static final String tmpdir = "@TMPDIR@"; public static final String pathSeparator = "@CHECK_PATH_SEPARATOR@"; public static final String separator = "@CHECK_FILE_SEPARATOR@"; public static final String mailHost = "@MAIL_HOST@"; public abstract String getCpInstallDir (); public abstract String getAutoCompile (); public abstract String getTestJava (); public abstract String getEcjJar (); public abstract String getEmmaString (); public abstract String getSourceDirectory (); public abstract String getBuildDirectory (); public abstract String getTempDirectory (); public abstract String getPathSeparator (); public abstract String getSeparator (); public abstract String getMailHost (); } mauve-20140821/gnu/testlet/ResourceNotFoundException.java0000644000175000001440000000210210532402776022211 0ustar dokousers// Copyright (c) 1999 Cygnus Solutions // Written by Anthony Green // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet; public class ResourceNotFoundException extends Exception { static final long serialVersionUID = 5458725419573856014L; public ResourceNotFoundException () { super (); } public ResourceNotFoundException (String s) { super (s); } } mauve-20140821/gnu/testlet/runner/0000755000175000001440000000000012375316426015544 5ustar dokousersmauve-20140821/gnu/testlet/runner/Result.java0000644000175000001440000000165111107353315017656 0ustar dokousers// Copyright (c) 2008 Fabien DUMINY (fduminy@jnode.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.runner; /** * Base interface for a mauve result * * @author fabien * */ public interface Result { String getName(); } mauve-20140821/gnu/testlet/runner/Tags.java0000644000175000001440000000475210447766314017320 0ustar dokousers// Tags: not-a-test /* Copyright (c) 2004, 2005 Thomas Zander This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.runner; class Tags { boolean gui = false; String fromJDK="1.0", toJDK="99.0"; String fromJDBC="1.0", toJDBC="99.0"; public Tags(String line) { int start=0; for(int i=0; i <= line.length();i++) { if(i == line.length() || line.charAt(i) == ' ') { if(start < i) process(line.substring(start, i)); start = i+1; } } } public void process(String token) { //System.out.println(" +-- '"+ token +"'"); boolean end = token.startsWith("!"); if(end) token = token.substring(1); if(token.startsWith("jls") || token.startsWith("jdk")) { String value = token.substring(3); if(end) toJDK = value; else fromJDK = value; } else if(token.startsWith("jdbc")) { String value = token.substring(4); if(end) toJDBC = value; else fromJDBC = value; } else if(token.startsWith("gui")) gui = true; } public boolean isValid(double javaVersion, double JDBCVersion) throws NumberFormatException { if(javaVersion != 0d) { double from = Double.parseDouble(fromJDK); if(from > javaVersion) return false; double end = Double.parseDouble(toJDK); if(end < javaVersion) return false; } if(JDBCVersion != 0d) { double from = Double.parseDouble(fromJDBC); if(from < JDBCVersion) return false; double end = Double.parseDouble(toJDBC); if(end > JDBCVersion) return false; } return true; } } mauve-20140821/gnu/testlet/runner/CheckResult.java0000644000175000001440000001044111201126625020606 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 by Object Refinery Limited // Written by David Gilbert (david.gilbert@object-refinery.com) // Modified by Fabien DUMINY (fduminy@jnode.org) // This file is part of Mauve Reporter. // Mauve Reporter 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 version 2 of the License, or // (at your option) any later version. // Mauve Reporter 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve Reporter; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA package gnu.testlet.runner; /** * Records the details of a check that is performed by Mauve. */ public class CheckResult implements Result { /** The check number. */ private int number; /** The check point string. */ private String checkPoint; /** A flag that indicates whether or not the check passed. */ private boolean passed; /** The expected result (converted to a string). */ private String expected; /** The actual result (converted to a string). */ private String actual; /** The log output for the check. */ private StringBuffer log; /** * Creates a new check. * * @param number the check number. * @param passed a flag that indicates whether or not the check passed. */ public CheckResult(int number, boolean passed) { this.number = number; this.passed = passed; } /** * Returns the check number. * * @return The check number. */ public int getNumber() { return this.number; } /** * Sets the check number. * * @param number the number. */ void setNumber(int number) { this.number = number; } /** * Returns a flag that indicates whether or not the check passed. * * @return A boolean. */ public boolean getPassed() { return passed; } /** * Sets the flag that indicates whether or not the check passed. * * @param passed the flag. */ void setPassed(boolean passed) { this.passed = passed; } /** * Returns the check point string. * * @return The check point string. */ public String getCheckPoint() { return checkPoint; } /** * Sets the check point string. * * @param checkPoint the check point string. */ void setCheckPoint(String checkPoint) { this.checkPoint = checkPoint; } /** * Returns a string representing the actual value. * * @return The actual value. */ public String getActual() { if(actual == null) return "n/a"; return actual; } /** * Sets the actual value. * * @param actual the actual value. */ void setActual(String actual) { this.actual = actual; } /** * Returns the expected value. * * @return The expected value. */ public String getExpected() { if(expected == null) return "n/a"; return expected; } /** * Sets the expected value. * * @param expected the expected value. */ void setExpected(String expected) { this.expected = expected; } /** * Returns the log. * * @return The log. */ public String getLog() { if(log == null) return ""; return log.toString(); } /** * Appends the specified message to the log. * * @param message the message to append. */ void appendToLog(String message) { if(log == null) log = new StringBuffer(); log.append(message); } //@Override public String getName() { return Integer.toString(number); } } mauve-20140821/gnu/testlet/runner/HTMLGenerator.java0000644000175000001440000004704611203757330021025 0ustar dokousers// Copyright (C) 2004 by Object Refinery Limited // Written by David Gilbert (david.gilbert@object-refinery.com) // Modified by Peter Barth (peda@jnode.org) // This file is part of Mauve Reporter. // Mauve Reporter 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 version 2 of the License, or // (at your option) any later version. // Mauve Reporter 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve Reporter; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA package gnu.testlet.runner; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.io.Writer; import java.text.DateFormat; import java.util.Date; import java.util.Iterator; /** * Generates a collection of HTML files that summarise the results * of a Mauve run. This is a quick-and-dirty implementation!! */ public class HTMLGenerator { /** * Creates an HTML report in the specified directory. * * @param run the Mauve run results. * @param rootDirectory the root directory. */ public static void createReport(RunResult run, File rootDirectory) throws IOException { // write basic HTML with info about package File summaryFile = new File(rootDirectory, "index.html"); Writer out = new OutputStreamWriter(new FileOutputStream(summaryFile), "UTF-8"); PrintWriter writer = new PrintWriter(out); writer.println(""); writer.println("Mauve Run: " + run.getName() + ""); writer.println(""); writer.println(""); writer.println("

    Mauve Run

    "); writer.println("

    Summary:

    "); int checkCount = run.getCheckCount(); int passed = run.getCheckCount(true); int failed = checkCount - passed; writer.println("Run Date: " + DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG).format(new Date()) + "
    "); writer.println("Passed: " + passed + "
    "); writer.println("Failed: " + failed + "

    "); writer.println("

    Environment:

    "); writer.println(""); writer.println(""); writer.println(""); writer.println(""); writer.println("
    "); writer.println(""); writer.println(""); writer.println(""); writer.println(""); writer.println(""); String[] propertyNames = run.getSystemPropertyNames(); for (int i = 0; i < propertyNames.length; i++) { String name = propertyNames[i]; writePropertyRow(name, run.getSystemProperty(name), writer); } writer.println("
    Property:Value:
    "); writer.println("

    "); writer.println("

    Results:

    "); writer.println(""); writer.println(""); writer.println(""); writer.println(""); writer.println("
    "); writer.println(""); writer.println(""); writer.println(""); writer.println(""); writer.println(""); writer.println(""); writer.println(""); // loop through tests writing test results String top = null; Iterator iterator = run.getPackageIterator(); while (iterator.hasNext()) { PackageResult packageResult = (PackageResult) iterator.next(); String packageName = packageResult.getName().replace('.', '/'); String name; System.out.println("Generating " + packageName); if(top != null && packageName.startsWith(top)) name = "   + "+ packageName.substring(top.length()+1); else { top = packageName; name = packageName; } // (1) write the summary line for the class HTML file writer.println(""); writer.println(""); writer.println(""); writer.println(""); writer.println(""); writer.println(""); // (2) generate an HTML page for the test and subfiles // for the tests try { HTMLGenerator.createPackageReport(packageResult, rootDirectory); } catch (Exception e) { String temp = packageResult.getName().replace('.', '/'); System.err.println("Couldn't create package report for " + temp); File tempDir = new File(rootDirectory, packageName); tempDir.mkdirs(); File tempFile = new File(tempDir, "package_index.html"); tempFile.createNewFile(); } } writer.println("
    Package:Passed:Failed:Total:
    " + name + "" + packageResult.getCheckCount(true) + "" + packageResult.getCheckCount(false) + "" + packageResult.getCheckCount() + "
    "); writer.println("
    "); writer.println("

    "); Iterator missing = run.getMissingTestsIterator(); Iterator failures = run.getFaultyTestsIterator(); if(missing.hasNext() || failures.hasNext()) { writer.println("

    Unrunnable tests:

    "); writer.println(""); writer.println(""); writer.println(""); writer.println(""); writer.println("
    "); writer.println(""); writer.println(""); writer.println(""); writer.println(""); writer.println(""); while(missing.hasNext()) writer.println(""); while(failures.hasNext()) { String[] fail = (String[]) failures.next(); writer.println(""); } writer.println("
    name:problem:
    "+ (String) missing.next()+ "Class not found
    "+ fail[0] +""+ fail[1] +"
    "); writer.println("
    "); } writer.println(""); writer.println(""); writer.close(); } /** * Writes a row in a table for a pair of strings. * * @param property the property key. * @param value the property value. * @param writer the output stream. */ private static void writePropertyRow(String property, String value, PrintWriter writer) { writer.println("
    " + property + "" + value + "
    "); writer.println(""); writer.println(""); writer.println(""); writer.println("
    "); writer.println(""); writer.println(""); writer.println(""); writer.println(""); writer.println(""); writer.println(""); writer.println(""); // loop through tests writing test results Iterator iterator = packageResult.getClassIterator(); while (iterator.hasNext()) { ClassResult classResult = (ClassResult) iterator.next(); // (1) write the summary line for the class HTML file writer.println(""); writer.println(""); writer.println(""); writer.println(""); writer.println(""); writer.println(""); // (2) generate an HTML page for the test and subfiles // for the tests HTMLGenerator.createClassReport(classResult, packageResult.getName(), packageDirectory); } // close the class file writer.println("
    Class:Passed:Failed:Total:
    " + classResult.getName() + "" + classResult.getCheckCount(true) + "" + classResult.getCheckCount(false) + "" + classResult.getCheckCount() + "
    "); writer.println("
    "); writer.println(""); writer.println(""); writer.close(); } /** * Creates an HTML page summarising the results for a class, and processes all the tests for * the class. * * @param classResult the class results. * @param packageName the package name. * @param packageDirectory the package directory. */ public static void createClassReport(ClassResult classResult, String packageName, File packageDirectory) throws IOException { // create directory for class File classDirectory = new File(packageDirectory, classResult.getName()); classDirectory.mkdirs(); // write basic HTML with info about class File testFile = new File(classDirectory, "class_index.html"); OutputStream out = new BufferedOutputStream(new FileOutputStream(testFile)); PrintWriter writer = new PrintWriter(out); writer.println(""); writer.println("Class Summary: " + packageName + "." + classResult.getName() + ""); writer.println(""); writer.println("

    Class: " + "" + packageName +"." + classResult.getName() + "

    "); int checkCount = classResult.getCheckCount(); int passed = classResult.getCheckCount(true); int failed = checkCount - passed; writer.println("Passed: " + passed + "
    "); writer.println("Failed: " + failed + "

    "); writer.println(""); writer.println(""); writer.println(""); writer.println(""); writer.println("
    "); writer.println(""); writer.println(""); writer.println(""); writer.println(""); writer.println(""); writer.println(""); writer.println(""); // loop through tests writing test results Iterator iterator = classResult.getTestIterator(); while (iterator.hasNext()) { TestResult testResult = (TestResult) iterator.next(); // (1) write the summary line for the class HTML file writer.println(""); writer.println(""); writer.println(""); writer.println(""); writer.println(""); writer.println(""); // (2) generate an HTML page for the test and subfiles // for the tests HTMLGenerator.createTestReport(testResult, classResult.getName(), classDirectory); } // close the class file writer.println("
    Test:Passed:Failed:Total:
    " + testResult.getName() + "" + testResult.getCheckCount(true) + "" + testResult.getCheckCount(false) + "" + testResult.getCheckCount() + "
    "); writer.println("
    "); writer.println(""); writer.println(""); writer.close(); } /** * Creates an HTML page that summarises a test. * * @param testResult the test result. * @param className the class name. * @param classDirectory the class directory. */ public static void createTestReport(TestResult testResult, String className, File classDirectory) throws IOException { // write basic HTML for test File testFile = new File(classDirectory, testResult.getName() + ".html"); Writer out = new OutputStreamWriter(new FileOutputStream(testFile), "UTF-8"); PrintWriter writer = new PrintWriter(out); writer.println(""); writer.println("Test Summary: " + className + "." + testResult.getName() + "\n"); writer.println(""); writer.println(""); writer.println("

    Test: " + className + "." + testResult.getName() + "

    "); int checkCount = testResult.getCheckCount(); int passed = testResult.getCheckCount(true); int failed = checkCount - passed; writer.println("Passed: " + passed + "
    "); writer.println("Failed: " + failed + "

    "); writer.println(""); writer.println(""); writer.println(""); writer.println(""); writer.println("
    "); writer.println(""); writer.println(""); writer.println(""); writer.println(""); writer.println(""); writer.println(""); writer.println(""); writer.println(""); // loop through checks adding a summary line for each check Iterator iterator = testResult.getCheckIterator(); while (iterator.hasNext()) { CheckResult check = (CheckResult) iterator.next(); // write a summary line (ID, pass/fail, actual, expected); writer.println(""); if (!check.getPassed()) { try { createLogReport(check, className, testResult.getName(), classDirectory); } catch (Exception e) { System.err.println("Couldn't write report for class " + className); File temp = new File(classDirectory, testResult.getName() + "_log.html"); temp.createNewFile(); } } writer.println(""); writer.println(""); } writer.println("
    Check Number:Check Point:Passed?:Expected:Actual:
    " + check.getNumber() + "" + check.getCheckPoint() + "" + check.getPassed() + "" + check.getExpected() + "" + check.getActual() + "
    "); writer.println("
    "); if(testResult.isFailed()) { writer.println("

    Run aborted due to exception

    "); writer.println("
    "+ testResult.getFailedMessage() +"
    "); } writer.println(""); writer.println(""); writer.close(); } /** * Creates an HTML page that summarises the log for a check. * * @param checkResult the test result. * @param className the class name. * @param testName the test name. * @param classDirectory the class directory. */ public static void createLogReport(CheckResult checkResult, String className, String testName, File classDirectory) throws IOException { // write basic HTML for test File logFile = new File(classDirectory, testName + "_log.html"); OutputStream out = new BufferedOutputStream(new FileOutputStream(logFile)); PrintWriter writer = new PrintWriter(out); writer.println(""); writer.println("Log: " + testName + ""); writer.println(""); writer.println(""); writer.println(checkResult.getLog()); writer.println(""); writer.println(""); writer.close(); } } mauve-20140821/gnu/testlet/runner/XMLReportWriter.java0000644000175000001440000002572311203757330021441 0ustar dokousers// Copyright (c) 2008 Fabien DUMINY (fduminy@jnode.org) // Modified by Levente S\u00e1ntha (lsantha@jnode.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.runner; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.PrintWriter; import java.util.Iterator; /** * XML Writer for mauve reports. * * @author fabien * */ public class XMLReportWriter implements XMLReportConstants { private static final String INDENT = " "; private static final String NOT_APPLIABLE = "n/a"; /** * Do we write the xml report in compact mode ? * The compact mode is producing unformatted xml, which means that there * is no indentations nor carriage returns (except in log * attributes because they can contain stacktraces). */ private final boolean compactMode; /** * Constructor to write a formatted xml report. */ public XMLReportWriter() { // by default, not in compact mode this(false); } /** * Constructor to write an xml report. * @param compactMode true to write the xml report in compact mode. */ public XMLReportWriter(boolean compactMode) { this.compactMode = compactMode; } /** * Write the given result in xml format. * * @param result * @param output * @throws FileNotFoundException */ public void write(RunResult result, File output) throws FileNotFoundException { PrintWriter ps = null; try { ps = new PrintWriter(new FileOutputStream(output)); write(result, ps); } finally { if (ps != null) { ps.close(); } } } /** * Write the given result in xml format. * * @param result * @param ps */ public void write(RunResult result, PrintWriter ps) { int level = 0; runResult(ps, level, result); level++; for (Iterator itPackage = result.getPackageIterator(); itPackage.hasNext(); ) { PackageResult pkg = (PackageResult) itPackage.next(); packageResult(ps, level, pkg); level++; for (Iterator itClass = pkg.getClassIterator(); itClass.hasNext(); ) { ClassResult cls = (ClassResult) itClass.next(); classResult(ps, level, cls); level++; for (Iterator itTest = cls.getTestIterator(); itTest.hasNext(); ) { TestResult test = (TestResult) itTest.next(); test(ps, level, test); level++; for (Iterator itCheck = test.getCheckIterator(); itCheck.hasNext(); ) { CheckResult check = (CheckResult) itCheck.next(); check(ps, level, check); } level--; endTag(ps, level, TEST_RESULT); } level--; endTag(ps, level, CLASS_RESULT); } level--; endTag(ps, level, PACKAGE_RESULT); } level--; endTag(ps, level, RUN_RESULT); ps.flush(); } /** * Write a check tag. * @param ps * @param level * @param check */ private void check(PrintWriter ps, int level, CheckResult check) { String log = getNullIfBlank(check.getLog()); boolean closeTag = (log == null); beginTag(ps, level, CHECK_RESULT, closeTag, new Object[]{CHECK_NUMBER, Integer.valueOf(check.getNumber()), CHECK_POINT, check.getCheckPoint(), CHECK_PASSED, Boolean.valueOf(check.getPassed()), CHECK_EXPECTED, check.getExpected(), CHECK_ACTUAL, check.getActual()}); if (!closeTag) { text(ps, level + 1, CHECK_LOG, log); endTag(ps, level, CHECK_RESULT); } } /** * Write a test tag. * @param ps * @param level * @param test */ private void test(PrintWriter ps, int level, TestResult test) { beginTag(ps, level, TEST_RESULT, false, new Object[]{TEST_NAME, test.getName()}); text(ps, level + 1, TEST_ERROR, test.getFailedMessage()); } /** * Write a classresult tag. * @param ps * @param level * @param cr */ private void classResult(PrintWriter ps, int level, ClassResult cr) { beginTag(ps, level, CLASS_RESULT, false, new Object[]{CLASS_NAME, cr.getName()}); } /** * Write a package result tag. * @param ps * @param level * @param pr */ private void packageResult(PrintWriter ps, int level, PackageResult pr) { beginTag(ps, level, PACKAGE_RESULT, false, new Object[]{PACKAGE_NAME, pr.getName()}); } /** * Write a run result tag. * @param ps * @param level * @param rr */ private void runResult(PrintWriter ps, int level, RunResult rr) { beginTag(ps, level, RUN_RESULT, false, new Object[]{RUN_NAME, rr.getName()}); String[] propertyNames = rr.getSystemPropertyNames(); int subLevel = level + 1; for (int i = 0; i < propertyNames.length; i++) { String name = propertyNames[i]; String value = rr.getSystemProperty(name); beginTag(ps, subLevel, PROPERTY, true, new Object[]{PROPERTY_NAME, name, PROPERTY_VALUE, value}); } } /** * Write a tag with the provided content (text parameter), if any. * @param ps * @param level * @param tag * @param text * @return */ private PrintWriter text(PrintWriter ps, int level, String tag, String text) { text = getNullIfBlank(text); if (text != null) { beginTag(ps, level, tag, false, new Object[0]); ps.append(protect(text)); appendCarriageReturn(ps); endTag(ps, level, tag); } return ps; } /** * Write the begin of a tag with the given attributes and optionally close the tag. * @param ps * @param level The level of indentation of the tag (ignored if {@link XMLReportWriter#compactMode} is true). * @param tag The name of the tag. * @param closeTag true to also close the tag. * @param attributes The attributes of the tag. * @return */ private PrintWriter beginTag(PrintWriter ps, int level, String tag, boolean closeTag, Object[] attributes) { tag(ps, level, tag, true); for (int i = 0; i < attributes.length; i += 2) { String value = getNullIfBlank(attributes[i + 1]); if (value != null) { ps.append(' ').append(String.valueOf(attributes[i])); ps.append("=\"").append(protect(value)).append('\"'); } } ps.append(closeTag ? "/>" : ">"); appendCarriageReturn(ps); return ps; } /** * Replace all characters with the appropriate xml escape sequences when needed. * @param text * @return */ public static String protect(String text) { if (text == null) { return text; } final int size = text.length(); final StringBuilder sb = new StringBuilder(size); boolean changed = false; for (int i = 0; i < size; i++) { final char c = text.charAt(i); switch (c) { case '&' : sb.append("&"); changed = true; break; case '<' : sb.append("<"); changed = true; break; case '>' : sb.append(">"); changed = true; break; case '\'' : sb.append("'"); changed = true; break; case '"' : sb.append("""); changed = true; break; default: sb.append(c); } } return changed ? sb.toString() : text; } /** * Write the end of a tag. * @param ps * @param level * @param tag * @return */ private PrintWriter endTag(PrintWriter ps, int level, String tag) { return tag(ps, level, tag, false); } /** * Write the end or the begin of a tag. * @param ps * @param level * @param tag * @param begin * @return */ private PrintWriter tag(PrintWriter ps, int level, String tag, boolean begin) { indent(ps, level).append(begin ? "<" : "'); appendCarriageReturn(ps); } return ps; } /** * Write a carriage return if {@link XMLReportWriter#compactMode} is false. * @param pw * @return */ private PrintWriter appendCarriageReturn(PrintWriter pw) { if (!compactMode) { pw.append('\n'); } return pw; } /** * Write an indentation if {@link XMLReportWriter#compactMode} is false. * @param ps * @param level * @return */ private PrintWriter indent(PrintWriter ps, int level) { if (!compactMode) { for (int i = 0; i < level; i++) { ps.print(INDENT); } } return ps; } /** * Return null if the given string is blank. * @param text * @return */ private String getNullIfBlank(Object text) { String result = null; if (text != null) { result = text.toString().trim(); // We assume here that the corresponding attribute // is defaulted to NOT_APPLIABLE when it's null. // // It's the case for CheckResult.getExpected() and // CheckResult.getActual()) if (result.isEmpty() || NOT_APPLIABLE.equals(result)) { result = null; } } return result; } } mauve-20140821/gnu/testlet/runner/CreateTags.java0000644000175000001440000001343110322777421020427 0ustar dokousers/* Copyright (c) 2005 Thomas Zander This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.runner; import java.util.*; import java.io.*; public class CreateTags { private File base, output; private List classes = new ArrayList(); public CreateTags(File base, File output) { if(!base.exists()) throw new IllegalArgumentException("base dir does not exist"); if(!base.isDirectory()) throw new IllegalArgumentException("base dir is not a directory"); if(output.exists()) output.delete(); this.base = base; this.output = output; } public void create() throws IOException { append(base); FileWriter writer = new FileWriter(output); // JDK String start = "1.0"; String next; boolean first; do { first = true; next = "9.9"; Iterator iter = classes.iterator(); while(iter.hasNext()) { TestCase testCase = (TestCase) iter.next(); int from = testCase.tags.fromJDK.compareTo(start); if(from < 0) { if(testCase.tags.toJDK.compareTo(start) == 0) { // write tests not to be used if(first) { writer.write("[JDK"+ start +"]\n"); first = false; } writer.write("-"); writer.write(testCase.className); writer.write("\n"); } } else if(from == 0) { if(first) { writer.write("[JDK"+ start +"]\n"); first = false; } writer.write(testCase.className); writer.write("\n"); } else if(from > 0) { // can't use, too old. if(testCase.tags.fromJDK.compareTo(next) < 0) next = testCase.tags.fromJDK; } } start = next; writer.write("\n"); } while(!first); first=true; Iterator iter = classes.iterator(); while(iter.hasNext()) { TestCase testCase = (TestCase) iter.next(); if(testCase.tags.gui) { if(first) { writer.write("\n[GUI]\n"); first = false; } writer.write(testCase.className); writer.write("\n"); } } writer.close(); } private void append(File dir) { File[] children = dir.listFiles(); testCase: for(int i=0; i < children.length; i++) { File file = children[i]; if(file.isDirectory()) { append(file); continue; } if(! file.getName().endsWith(".java")) continue; String tags = null, pckage = null; try { Reader reader = new FileReader(file); StringBuffer buf = new StringBuffer(); int maxLines=30; line: while(maxLines > 0 && (tags == null || pckage == null)) { int character = reader.read(); if(character == -1) break; if(character == '\n') { int index = buf.indexOf("Tags:") + 5; // 5 == length of string if(index > 5 && buf.length() > index) { String line = buf.substring(index).trim().toLowerCase(); if("not-a-test".equals(line)) continue testCase; if(tags != null) tags += " "+ line; else tags = line; } else if(buf.indexOf("package ") == 0) { int idx = buf.lastIndexOf(";"); pckage = buf.substring(8, idx); } buf = new StringBuffer(); maxLines--; } else buf.append((char) character); } if(pckage != null && tags != null) { String className = pckage +"."+ file.getName().substring(0, file.getName().length()-5); classes.add(new TestCase(className, tags)); } } catch(IOException e) { e.printStackTrace(); // TODO nicer?? } } } public static void main(String[] args) throws IOException { new CreateTags(new File(args[0]), new File(args[1])).create(); } private static class TestCase { public final String className; public final Tags tags; public TestCase(String className, String tags) { this.className = className; this.tags = new Tags(tags); } } } mauve-20140821/gnu/testlet/runner/RunResult.java0000644000175000001440000001535511203757330020353 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 by Object Refinery Limited // Written by David Gilbert (david.gilbert@object-refinery.com) // Modified by Fabien DUMINY (fduminy@jnode.org) // This file is part of Mauve Reporter. // Mauve Reporter 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 version 2 of the License, or // (at your option) any later version. // Mauve Reporter 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve Reporter; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA package gnu.testlet.runner; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Properties; /** * Represents the result of running a collection of Mauve tests. */ public class RunResult implements Result { /** The name of the run. */ private String name; /** A list containing results for each class in the package. */ private List packageResults; /** A list containing unfound test-names */ private List missingTests = new ArrayList(); private List faultyTests = new ArrayList(); private boolean sorted=true; /** * System properties in which mauve tests are run. * The list is actually of list of couples(name, value), which make it a * kind of order Map. * Example of list content : "name1", "value1", "name2", "value2" */ private final List systemProperties; /** * Creates a new result, initially empty. * * @param name the class name. */ public RunResult(String name) { this.name = name; packageResults = new ArrayList(); systemProperties = new ArrayList(); } /** * Set a system property. * @param name Name of the system property. * @param value Value of the system property. */ public void setSystemProperty(String name, String value) { boolean found = false; for (int i = 0; i < systemProperties.size(); i += 2) { if (name.equals((String) systemProperties.get(i))) { systemProperties.set(i + 1, value); found = true; break; } } if (!found) { systemProperties.add(name); systemProperties.add(value); } } /** * Get a system property. * @param name Name of the system property. * @return value Value of the system property. */ public String getSystemProperty(String name) { String value = ""; for (int i = 0; i < systemProperties.size(); i += 2) { if (name.equals((String) systemProperties.get(i))) { value = (String) systemProperties.get(i + 1); break; } } return value; } /** * Get a system property names. * @return array of system property names. */ public String[] getSystemPropertyNames() { String[] names = new String[systemProperties.size() / 2]; int j = 0; for (int i = 0; i < systemProperties.size(); i += 2) { names[j++] = (String) systemProperties.get(i); } return names; } /** * Returns the run name. * * @return The run name. */ public String getName() { return name; } /** * Sets the run name. * * @param name the name. */ void setName(String name) { this.name = name; } /** * Adds a package result. * * @param result the package result. */ public void add(PackageResult result) { packageResults.add(result); sorted =false; } /** * Returns an iterator that provides access to the package results. * * @return An iterator. */ public Iterator getPackageIterator() { sortPackages(); return packageResults.iterator(); } public Iterator getMissingTestsIterator() { return missingTests.iterator(); } public Iterator getFaultyTestsIterator() { return faultyTests.iterator(); } /** * Returns the total number of checks performed for this run. * * @return The check count. */ public int getCheckCount() { int result = 0; Iterator iterator = getPackageIterator(); while (iterator.hasNext()) { PackageResult pr = (PackageResult) iterator.next(); result = result + pr.getCheckCount(); } return result; } /** * Returns the number of checks with the specified status. * * @param passed the check status. * * @return The number of checks passed or failed. */ public int getCheckCount(boolean passed) { int result = 0; Iterator iterator = getPackageIterator(); while (iterator.hasNext()) { PackageResult pr = (PackageResult) iterator.next(); result = result + pr.getCheckCount(passed); } return result; } /** * Returns the index of the specified result, or -1. * * @param pr the package result. * * @return The index. */ public int indexOf(PackageResult pr) { sortPackages(); return packageResults.indexOf(pr); } /** * Returns the package result with the specified name. * * @param name the package name. * * @return The package result, or null when not found. */ public PackageResult getPackageResult(String name) { sortPackages(); for (int i = 0; i < packageResults.size(); i++) { PackageResult rr = (PackageResult) packageResults.get(i); if (rr.getName().equals(name)) return rr; } return null; } void addMissingTest(String line) { missingTests.add(line); } void addFaultyTest(String line, String failure) { faultyTests.add(new String[] {line, failure}); } /** * Sorts the package results. */ private void sortPackages() { if(sorted) return; Collections.sort(packageResults); sorted = true; } } mauve-20140821/gnu/testlet/runner/compare/0000755000175000001440000000000012375316426017172 5ustar dokousersmauve-20140821/gnu/testlet/runner/compare/Comparison.java0000644000175000001440000000550111107353314022135 0ustar dokousers// Copyright (c) 2008 Fabien DUMINY (fduminy@jnode.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.runner.compare; import gnu.testlet.runner.Result; import java.util.Iterator; import java.util.Set; import java.util.TreeSet; /** * Abstract class for the result of the comparison of 2 {@link Result}s * * @author fabien * */ public abstract class Comparison implements Comparable { private final String name; private final Set children = new TreeSet(); Comparison(Result result) { this.name = result.getName(); } public final String getName() { return name; } public final Comparison get(String name) { Comparison result = null; for (Iterator it = children.iterator(); it.hasNext(); ) { Comparison r = (Comparison) it.next(); if (r.getName().equals(name)) { result = r; break; } } return result; } public abstract void accept(ComparisonVisitor visitor); public int getProgression() { int progression = 0; for (Iterator it = children.iterator(); it.hasNext(); ) { Comparison r = (Comparison) it.next(); progression += r.getProgression(); } return progression; } public final void add(Comparison child) { children.add(child); } /** * @param comparison an instance of Comparison */ public final int compareTo(Object comparison) { Comparison c = (Comparison) comparison; // regressions have negative progression // we sort from bigger regression to bigger progression int result = getProgression() - c.getProgression(); if (result == 0) { result = getName().compareTo(c.getName()); } return result; } protected final void acceptChildren(ComparisonVisitor visitor) { for (Iterator it = children.iterator(); it.hasNext(); ) { Comparison cmp = (Comparison) it.next(); cmp.accept(visitor); } } } mauve-20140821/gnu/testlet/runner/compare/EvolutionTypeVisitor.java0000644000175000001440000000265511107353314024240 0ustar dokousers// Copyright (c) 2008 Fabien DUMINY (fduminy@jnode.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.runner.compare; public class EvolutionTypeVisitor implements ComparisonVisitor { private final int[] counters = new int[EvolutionType.values().length]; public int getCounter(EvolutionType type) { return counters[type.ordinal()]; } //@Override public void visit(RunComparison run) { // nothing } //@Override public void visit(PackageComparison pkg) { // nothing } //@Override public void visit(ClassComparison cls) { // nothing } //@Override public void visit(TestComparison test) { counters[test.getEvolutionType().ordinal()]++; } } mauve-20140821/gnu/testlet/runner/compare/TestComparison.java0000644000175000001440000000370611107353314023002 0ustar dokousers// Copyright (c) 2008 Fabien DUMINY (fduminy@jnode.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.runner.compare; import gnu.testlet.runner.CheckResult; import gnu.testlet.runner.TestResult; /** * Result of the comparison of 2 {@link TestResult}s * @author fabien * */ public class TestComparison extends Comparison { private final int progression; private final CheckResult check; /** * * @param test * @param check, might be null * @param nbProgressedChecks */ public TestComparison(TestResult test, CheckResult check, int nbProgressedChecks) { super(test); this.progression = nbProgressedChecks; this.check = check; } public CheckResult getCheckResult() { return check; } //@Override public int getProgression() { return progression; } public EvolutionType getEvolutionType() { EvolutionType type = EvolutionType.STAGNATION; if (getProgression() > 0) { type = EvolutionType.PROGRESSION; } else if (getProgression() < 0) { type = EvolutionType.REGRESSION; } return type; } //@Override public void accept(ComparisonVisitor visitor) { visitor.visit(this); } } mauve-20140821/gnu/testlet/runner/compare/ClassComparison.java0000644000175000001440000000225111107353314023122 0ustar dokousers// Copyright (c) 2008 Fabien DUMINY (fduminy@jnode.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.runner.compare; import gnu.testlet.runner.ClassResult; /** * Result of the comparison of 2 {@link ClassResult}s * @author fabien * */ public class ClassComparison extends Comparison { ClassComparison(ClassResult result) { super(result); } public void accept(ComparisonVisitor visitor) { visitor.visit(this); acceptChildren(visitor); } } mauve-20140821/gnu/testlet/runner/compare/ReportComparator.java0000644000175000001440000001566411203757330023344 0ustar dokousers// Copyright (c) 2008 Fabien DUMINY (fduminy@jnode.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.runner.compare; import gnu.testlet.runner.CheckResult; import gnu.testlet.runner.ClassResult; import gnu.testlet.runner.PackageResult; import gnu.testlet.runner.Result; import gnu.testlet.runner.RunResult; import gnu.testlet.runner.TestResult; import gnu.testlet.runner.XMLReportParser; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.Iterator; import java.util.List; import net.sourceforge.nanoxml.XMLParseException; /** * Comparator of 2 {@link RunResult}s * * @author fabien * */ public class ReportComparator { private final RunResult result1; private final RunResult result2; public static void main(String[] args) throws XMLParseException, IOException { if (args.length < 3) { System.out.println("usage : java " + ReportComparator.class.getName() + " [html|text]"); } else { File report1 = new File(args[0]); File report2 = new File(args[1]); String format = args[2]; compare(report1, report2, format); } } public static File compare(File report1, File report2, String format) throws XMLParseException, IOException { XMLReportParser parser = new XMLReportParser(); RunResult result1 = parser.parse(report1); RunResult result2 = parser.parse(report2); ReportComparator comparator = new ReportComparator(result1, result2); RunComparison comparison = comparator.compare(); final ComparisonWriter writer; final String extension; if ("text".equals(format)) { writer = new TextComparisonWriter(); extension = "txt"; } else if ("html".equals(format)) { writer = new HTMLComparisonWriter(); extension = "html"; } else { extension = "txt"; writer = new TextComparisonWriter(); } int i = 0; File output = new File(report2.getParent(), "comp_" + i + "." + extension); while (output.exists()) { i++; output = new File(report2.getParent(), "comp_" + i + "." + extension); } writer.write(comparison, output); System.out.println("Comparison wrote to " + output.getAbsolutePath()); return output; } public ReportComparator(RunResult result1, RunResult result2) { this.result1 = result1; this.result2 = result2; } /** * TODO handle case of added/removed package/class/test/check results ? * * @return */ public RunComparison compare() { RunComparison cr = new RunComparison(result1, result2); addSystemProperties(cr); for (Iterator itPackage1 = result1.getPackageIterator(); itPackage1.hasNext(); ) { PackageResult pkg1 = (PackageResult) itPackage1.next(); PackageResult pkg2 = (PackageResult) getResult(pkg1, result2.getPackageIterator()); if (pkg2 == null) { continue; } for (Iterator itClass1 = pkg1.getClassIterator(); itClass1.hasNext(); ) { ClassResult cls1 = (ClassResult) itClass1.next(); ClassResult cls2 = (ClassResult) getResult(cls1, pkg2.getClassIterator()); if (cls2 == null) { continue; } for (Iterator itTest1 = cls1.getTestIterator(); itTest1.hasNext(); ) { TestResult test1 = (TestResult) itTest1.next(); TestResult test2 = (TestResult) getResult(test1, cls2.getTestIterator()); compare(test1, pkg2, cls2, test2, cr); } } } return cr; } private void addSystemProperties(RunComparison runComparison) { List names1 = Arrays.asList(result1.getSystemPropertyNames()); for (int i = 0; i < names1.size(); i++) { String name = (String) names1.get(i); runComparison.addSystemProperty(name, result1.getSystemProperty(name), result2.getSystemProperty(name)); } String[] names2 = result2.getSystemPropertyNames(); for (int i = 0; i < names2.length; i++) { String name = names2[i]; if (!names1.contains(name)) { runComparison.addSystemProperty(name, result1.getSystemProperty(name), result2.getSystemProperty(name)); } } } private void compare(TestResult test1, PackageResult pkg2, ClassResult cls2, TestResult test2, RunComparison cr) { if ((test2 == null) || (test1.getCheckCount() != test2.getCheckCount())) { return; } List reachedCheckResults1 = getReachedCheckResults(test1); List reachedCheckResults2 = getReachedCheckResults(test2); final int size1 = reachedCheckResults1.size(); final int size2 = reachedCheckResults2.size(); CheckResult check2 = null; if (!reachedCheckResults2.isEmpty()) { check2 = (CheckResult) reachedCheckResults2.get(reachedCheckResults2.size() - 1); } cr.setProgression(pkg2, cls2, test2, check2, size2 - size1); } private List getReachedCheckResults(TestResult test) { List checkResults = new ArrayList(); for (Iterator itCheck = test.getCheckIterator(); itCheck.hasNext(); ) { CheckResult check = (CheckResult) itCheck.next(); if (!check.getPassed()) { break; } checkResults.add(check); } return checkResults; } private Result getResult(Result result1, Iterator results2) { final String name1 = result1.getName(); Result result2 = null; while (results2.hasNext()) { Result res2 = (Result) results2.next(); if (name1.equals(res2.getName())) { result2 = res2; break; } } return result2; } } mauve-20140821/gnu/testlet/runner/compare/TextComparisonWriter.java0000644000175000001440000000550611203757330024207 0ustar dokousers// Copyright (c) 2008 Fabien DUMINY (fduminy@jnode.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.runner.compare; import java.io.PrintWriter; import java.util.List; /** * Writer in Text format for a {@link Comparison} * @author fabien * */ public class TextComparisonWriter extends ComparisonWriter { //@Override protected Visitor createVisitor(PrintWriter pw) { return new TextVisitor(pw); } protected static class TextVisitor extends Visitor { private TextVisitor(PrintWriter pw) { super(pw); } //@Override protected void writeSummary(int nbRegressions, int nbProgressions, int nbStagnations) { pw.append(Integer.toString(nbRegressions)).append(" regressions. "); pw.append(Integer.toString(nbProgressions)).append(" progressions. "); pw.append(Integer.toString(nbStagnations)).append(" stagnations.\n"); } protected void writeSystemProperties(List systemProperties, String result1Name, String result2Name) { pw.append("\nSystem properties\n"); pw.append("Name\t").append(result1Name).append('\t').append(result2Name).append('\n'); for (int i = 0; i < systemProperties.size(); ) { pw.append((String) systemProperties.get(i++)).append('\t'); pw.append((String) systemProperties.get(i++)).append('\t'); pw.append((String) systemProperties.get(i++)).append('\n'); } } public void writeBeginTable() { pw.append("\n").append(evolutionLabel).append("\n"); } //@Override protected void writeBeginLine(Level level) { writeIndent(level); } //@Override protected void writeName(Level level, String name) { pw.append(name).append('\t'); } //@Override protected void writeEndLine() { pw.append('\n'); } //@Override protected void writeCheckResult(String result) { pw.append('\t').append(result); } }; } mauve-20140821/gnu/testlet/runner/compare/PackageComparison.java0000644000175000001440000000230311107353314023406 0ustar dokousers// Copyright (c) 2008 Fabien DUMINY (fduminy@jnode.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.runner.compare; import gnu.testlet.runner.PackageResult; /** * Result of the comparison of 2 {@link PackageResult}s * @author fabien * */ public class PackageComparison extends Comparison { PackageComparison(PackageResult result) { super(result); } //@Override public void accept(ComparisonVisitor visitor) { visitor.visit(this); acceptChildren(visitor); } } mauve-20140821/gnu/testlet/runner/compare/RunComparison.java0000644000175000001440000000572711203757330022637 0ustar dokousers// Copyright (c) 2008 Fabien DUMINY (fduminy@jnode.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.runner.compare; import gnu.testlet.runner.CheckResult; import gnu.testlet.runner.ClassResult; import gnu.testlet.runner.PackageResult; import gnu.testlet.runner.RunResult; import gnu.testlet.runner.TestResult; import java.util.ArrayList; import java.util.List; /** * Result of the comparison of 2 {@link RunResult}s * @author fabien * */ public class RunComparison extends Comparison { private final List systemProperties = new ArrayList(); private final String result1Name; private final String result2Name; RunComparison(RunResult result1, RunResult result2) { super(new RunResult("Comparison of '" + result1.getName() + "' and '" + result2.getName() + "'")); result1Name = result1.getName(); result2Name = result2.getName(); } /** * * @param pkg * @param cls * @param test * @param check, might be null * @param nbProgressedCheck, might be < 0 for regressions in the test */ public void setProgression(PackageResult pkg, ClassResult cls, TestResult test, CheckResult check, int nbProgressedChecks) { // package Comparison pc = get(pkg.getName()); if (pc == null) { pc = new PackageComparison(pkg); add(pc); } // class Comparison classComp = pc.get(cls.getName()); if (classComp == null) { classComp = new ClassComparison(cls); pc.add(classComp); } // test classComp.add(new TestComparison(test, check, nbProgressedChecks)); } //@Override public void accept(ComparisonVisitor visitor) { visitor.visit(this); acceptChildren(visitor); } /** * @param name * @param value1 * @param value2 */ public void addSystemProperty(String name, String value1, String value2) { systemProperties.add(name); systemProperties.add(value1); systemProperties.add(value2); } public List getSystemProperties() { return systemProperties; } public String getResult1Name() { return result1Name; } public String getResult2Name() { return result2Name; } } mauve-20140821/gnu/testlet/runner/compare/ComparisonVisitor.java0000644000175000001440000000210711107353314023514 0ustar dokousers// Copyright (c) 2008 Fabien DUMINY (fduminy@jnode.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.runner.compare; /** * Interface for a {@link Comparison} visitor * * @author fabien * */ public interface ComparisonVisitor { void visit(RunComparison run); void visit(PackageComparison pkg); void visit(ClassComparison cls); void visit(TestComparison test); } mauve-20140821/gnu/testlet/runner/compare/ComparisonWriter.java0000644000175000001440000001555411203757330023346 0ustar dokousers// Copyright (c) 2008 Fabien DUMINY (fduminy@jnode.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.runner.compare; import gnu.testlet.runner.CheckResult; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.PrintWriter; import java.util.List; /** * Abstract class for writing a {@link Comparison} * * @author fabien * */ public abstract class ComparisonWriter { /** * Write the given comparison * * @param comp * @param output * @throws FileNotFoundException */ public final void write(RunComparison comp, File output) throws FileNotFoundException { PrintWriter ps = null; try { ps = new PrintWriter(new FileOutputStream(output)); write(comp, ps); } finally { if (ps != null) { ps.close(); } } } /** * Write the given comparison * * @param run * @param pw */ public final void write(RunComparison run, PrintWriter pw) { final Visitor v = createVisitor(pw); v.writeBegin(); v.writeSummary(run); write(run, pw, v, EvolutionType.REGRESSION, "Regressions"); write(run, pw, v, EvolutionType.PROGRESSION, "Progressions"); write(run, pw, v, EvolutionType.STAGNATION, "Stagnations"); v.writeEnd(); pw.flush(); } private void write(RunComparison run, PrintWriter pw, Visitor v, EvolutionType type, String typeLabel) { v.setType(type); v.setEvolutionLabel(typeLabel); v.writeBeginTable(); run.accept(v); v.writeEndTable(); } protected abstract Visitor createVisitor(PrintWriter pw); protected static class Level { public static final Level RUN = new Level(0); public static final Level PACKAGE = new Level(1); public static final Level CLASS = new Level(2); public static final Level TEST = new Level(3); private static final Level[] VALUES = {RUN, PACKAGE, CLASS, TEST}; public static final Level[] values() { return VALUES; } public static final Level MAX = VALUES[VALUES.length - 1]; private final int level; private Level(final int level) { this.level = level; } public int getValue() { return level; } } protected abstract static class Visitor implements ComparisonVisitor { protected final PrintWriter pw; protected EvolutionType type; protected String evolutionLabel; protected Visitor(PrintWriter pw) { this.pw = pw; } public void setType(EvolutionType type) { this.type = type; } public void setEvolutionLabel(String label) { this.evolutionLabel = label; } protected abstract void writeSummary(int nbRegressions, int nbProgressions, int nbStagnations); protected abstract void writeSystemProperties(List systemProperties, String result1Name, String result2Name); private void writeSummary(RunComparison run) { EvolutionTypeVisitor evolTypeVisitor = new EvolutionTypeVisitor(); run.accept(evolTypeVisitor); writeSummary(evolTypeVisitor.getCounter(EvolutionType.REGRESSION), evolTypeVisitor.getCounter(EvolutionType.PROGRESSION), evolTypeVisitor.getCounter(EvolutionType.STAGNATION)); writeSystemProperties(run.getSystemProperties(), run.getResult1Name(), run.getResult2Name()); } public void writeBegin() { } public void writeEnd() { } public void writeBeginTable() { } public void writeEndTable() { } //@Override public final void visit(RunComparison run) { if (shouldWrite(run)) { write(Level.RUN, run, true); } } //@Override public final void visit(PackageComparison pkg) { if (shouldWrite(pkg)) { write(Level.PACKAGE, pkg, true); } } //@Override public final void visit(ClassComparison cls) { if (shouldWrite(cls)) { write(Level.CLASS, cls, true); } } //@Override public final void visit(TestComparison test) { if (shouldWrite(test)) { write(Level.TEST, test, false); CheckResult cr = test.getCheckResult(); String result; if (cr == null) { result = ""; } else { result = Integer.toString(cr.getNumber()) + ':'; if (cr.getCheckPoint() == null) { result += ""; } else { result += cr.getCheckPoint(); } } writeCheckResult(result); writeEndLine(); } } protected abstract void writeBeginLine(Level level); protected abstract void writeName(Level level, String name); protected abstract void writeEndLine(); protected abstract void writeCheckResult(String result); protected final void writeIndent(Level level) { final int indent = level.getValue() * 4; for (int i = 0; i < indent; i++) { pw.append(' '); } } private boolean shouldWrite(Comparison comp) { EvolutionTypeVisitor v = new EvolutionTypeVisitor(); comp.accept(v); return (v.getCounter(type) > 0); } private void write(Level level, Comparison comp, boolean endLine) { writeBeginLine(level); writeName(level, comp.getName()); if (endLine) { writeEndLine(); } } }; } mauve-20140821/gnu/testlet/runner/compare/EvolutionType.java0000644000175000001440000000315311107353314022652 0ustar dokousers// Copyright (c) 2008 Fabien DUMINY (fduminy@jnode.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.runner.compare; class EvolutionType { public static final EvolutionType REGRESSION = new EvolutionType("REGRESSION", 0); public static final EvolutionType PROGRESSION = new EvolutionType("PROGRESSION", 1); public static final EvolutionType STAGNATION = new EvolutionType("STAGNATION", 2); private static final EvolutionType[] VALUES = new EvolutionType[]{REGRESSION, PROGRESSION, STAGNATION}; public static final EvolutionType[] values() { return VALUES; } private final int ordinal; private final String name; private EvolutionType(final String name, final int ordinal) { this.name = name; this.ordinal = ordinal; } public final int ordinal() { return ordinal; } public String toString() { return name; } } mauve-20140821/gnu/testlet/runner/compare/HTMLComparisonWriter.java0000644000175000001440000001303411203757330024022 0ustar dokousers// Copyright (c) 2008 Fabien DUMINY (fduminy@jnode.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.runner.compare; import gnu.testlet.runner.XMLReportWriter; import java.io.PrintWriter; import java.util.List; /** * Writer in HTML format for a {@link Comparison} * @author fabien * */ public class HTMLComparisonWriter extends ComparisonWriter { //@Override protected Visitor createVisitor(PrintWriter pw) { return new HTMLVisitor(pw); } protected static class HTMLVisitor extends Visitor { private HTMLVisitor(PrintWriter pw) { super(pw); } //@Override protected void writeSummary(int nbRegressions, int nbProgressions, int nbStagnations) { pw.append("

    Summary

    "); appendLink(nbRegressions, EvolutionType.REGRESSION, " regressions. "); appendLink(nbProgressions, EvolutionType.PROGRESSION, " progressions. "); appendLink(nbStagnations, EvolutionType.STAGNATION, " stagnations. "); } protected void writeSystemProperties(List systemProperties, String result1Name, String result2Name) { pw.append("

    System properties


    "); pw.append(""); writeCell("th", 0, 1, "Name"); writeCell("th", 0, 1, result1Name); writeCell("th", 0, 1, result2Name); pw.append("\n"); for (int i = 0; i < systemProperties.size(); ) { pw.append(""); writeCell("td", 0, 1, (String) systemProperties.get(i++)); writeCell("td", 0, 1, (String) systemProperties.get(i++)); writeCell("td", 0, 1, (String) systemProperties.get(i++)); pw.append(""); } pw.append("

    "); } private void appendLink(int value, EvolutionType type, String label) { pw.append(""); pw.append(Integer.toString(value)).append(label); pw.append("").append("   "); } public void writeBegin() { pw.append(""); } public void writeEnd() { pw.append("\n"); } public void writeBeginTable() { pw.append("

    "); pw.append(evolutionLabel); pw.append("


    "); pw.append(""); writeCell("th", 0, Level.values().length, "Name"); writeCell("th", 0, 1, "Last reached checkpoint"); pw.append("\n"); } public void writeEndTable() { pw.append("\n
    "); } //@Override protected void writeBeginLine(Level level) { writeIndent(level); pw.write(""); } //@Override protected void writeName(Level level, String name) { writeCell("td", level.getValue(), 1 + Level.MAX.getValue() - level.getValue(), name); } //@Override protected void writeEndLine() { pw.write("\n"); } //@Override protected void writeCheckResult(String result) { writeCell("td", 0, 1, result); } private void writeCell(String tag, int nbColumnsBefore, int columnSpan, String value) { writeCell(tag, nbColumnsBefore, columnSpan, value, null); } private void writeCell(String tag, int nbColumnsBefore, int columnSpan, String value, String style) { writeCell(tag, nbColumnsBefore, columnSpan, value, style, null); } private void writeCell(String tag, int nbColumnsBefore, int columnSpan, String value, String style, String bgColor) { for (int i = 0; i < nbColumnsBefore; i++) { pw.append("<").append(tag).append(" width=\"30px\">"); } pw.append("<").append(tag); if (style != null) { pw.append(" style=\"").append(style).append('\"'); } if (columnSpan > 1) { pw.append(" colspan=\"").append(Integer.toString(columnSpan)).append('\"'); } if (bgColor != null) { pw.append(" bgcolor=\"").append(bgColor).append('\"'); } pw.append('>'); pw.append(XMLReportWriter.protect(value)); pw.append(""); } }; } mauve-20140821/gnu/testlet/runner/ClassResult.java0000644000175000001440000000723211107353315020645 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 by Object Refinery Limited // Written by David Gilbert (david.gilbert@object-refinery.com) // Modified by Fabien DUMINY (fduminy@jnode.org) // This file is part of Mauve Reporter. // Mauve Reporter 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 version 2 of the License, or // (at your option) any later version. // Mauve Reporter 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve Reporter; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA package gnu.testlet.runner; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; /** * Represents the result of running all the tests for a particular class. */ public class ClassResult implements Comparable, Result { /** The name of the test (usually the class name). */ private String name; /** A list containing results for each test applied for the class. */ private List testResults; private boolean sorted = true; /** * Creates a new result, initially empty. * * @param name the class name. */ ClassResult(String name) { this.name = name; testResults = new ArrayList(); } /** * Returns the test name (this is most often the name of the method * being tested). * * @return The test name. */ public String getName() { return name; } /** * Sets the test name. * * @param name the name. */ void setName(String name) { this.name = name; } /** * Adds a test result. * * @param result the test result. */ public void add(TestResult result) { testResults.add(result); sorted = false; } /** * Returns an iterator that provides access to all the tests for * this class. * * @return An iterator. */ public Iterator getTestIterator() { if(!sorted) { Collections.sort(testResults); sorted = true; } return testResults.iterator(); } /** * Returns the total number of checks performed for this class. * * @return The check count. */ public int getCheckCount() { int result = 0; Iterator iterator = testResults.iterator(); while (iterator.hasNext()) { TestResult test = (TestResult) iterator.next(); result = result + test.getCheckCount(); } return result; } /** * Returns the number of checks with the specified status. * * @param passed the check status. * * @return The number of checks passed or failed. */ public int getCheckCount(boolean passed) { int result = 0; Iterator iterator = testResults.iterator(); while (iterator.hasNext()) { TestResult test = (TestResult) iterator.next(); result = result + test.getCheckCount(passed); } return result; } public int compareTo(Object obj) { ClassResult that = (ClassResult) obj; return getName().compareTo(that.getName()); } } mauve-20140821/gnu/testlet/runner/PackageResult.java0000644000175000001440000001057411201126625021133 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 by Object Refinery Limited // Written by David Gilbert (david.gilbert@object-refinery.com) // Modified by Fabien DUMINY (fduminy@jnode.org) // This file is part of Mauve Reporter. // Mauve Reporter 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 version 2 of the License, or // (at your option) any later version. // Mauve Reporter 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve Reporter; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA package gnu.testlet.runner; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; /** * Represents the result of running all the tests for a particular package. */ public class PackageResult implements Comparable, Result { /** The name of the package. */ private String name; /** A list containing results for each class in the package. */ private List classResults; private boolean sorted=true; /** * Creates a new result, initially empty. * * @param name the class name. */ PackageResult(String name) { this.name = name; classResults = new ArrayList(); } /** * Returns the package name. * * @return The package name. */ public String getName() { return name; } /** * Sets the package name. * * @param name the name. */ void setName(String name) { this.name = name; } /** * Adds a class result. * * @param result the test result. */ public void add(ClassResult result) { classResults.add(result); sorted = false; } /** * Returns an iterator that provides access to the class results. * * @return An iterator. */ public Iterator getClassIterator() { sortClasses(); return classResults.iterator(); } /** * Returns the class result for the named class. * * @param name the class name. * * @return A class result. */ public ClassResult getClassResult(String name) { sortClasses(); for (int i = 0; i < classResults.size(); i++) { ClassResult cr = (ClassResult) classResults.get(i); if (cr.getName().equals(name)) return cr; } return null; } /** * Returns the total number of checks performed for this package. * * @return The check count. */ public int getCheckCount() { int result = 0; Iterator iterator = getClassIterator(); while (iterator.hasNext()) { ClassResult cr = (ClassResult) iterator.next(); result = result + cr.getCheckCount(); } return result; } /** * Returns the number of checks with the specified status. * * @param passed the check status. * * @return The number of checks passed or failed. */ public int getCheckCount(boolean passed) { int result = 0; Iterator iterator = getClassIterator(); while (iterator.hasNext()) { ClassResult cr = (ClassResult) iterator.next(); result = result + cr.getCheckCount(passed); } return result; } /** * Returns the index of the specified result. * * @param result the class result. * * @return The index. */ public int indexOf(ClassResult result) { sortClasses(); return classResults.indexOf(result); } public int compareTo(Object obj) { PackageResult that = (PackageResult) obj; return getName().compareTo(that.getName()); } /** * Sorts the class results. */ private void sortClasses() { if(sorted) return; Collections.sort(classResults); sorted = true; } } mauve-20140821/gnu/testlet/runner/TestletToAPI.java0000644000175000001440000004744210324511620020664 0ustar dokousers// Copyright (C) 2005 by // Written by Fabien DUMINY (fduminy@jnode.org) // This file is part of Mauve Reporter. // Mauve Reporter 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 version 2 of the License, or // (at your option) any later version. // Mauve Reporter 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve Reporter; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA package gnu.testlet.runner; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.Reader; import java.io.Writer; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; /** * Generate 2 japi files that can be used to show the coverage * (in term of methods, not of lines of code) of mauve testlets */ public class TestletToAPI { private static final String TESTLET_SERIALIZATION = "serialization"; private static final String TESTLET_CONSTRUCTORS = "constructors"; private static final String TESTLET_CONSTANTS = "constants"; private static final String TESTLET_CLASS_SUFFIX = "Class!"; // don't remove the "!" at the end ! public static void main(String[] args) throws IOException { if(args.length < 4) { usage(); return; } final String inTestletsFile = args[0]; final String inTestedFile = args[1]; final String outTestletsFile = args[2]; final String outTestedFile = args[3]; // just insure that all files are differents // that's especially usefull to avoid erasing input files ! for(int i = 0 ; i < 4 ; i++) { for(int j = 0 ; j < 4 ; j++) { if((j != i) && args[i].equals(args[j])) throw new IllegalArgumentException("argument #"+i+" and argument #"+j+" are the same"); } } final Reader inTestlets = new FileReader(inTestletsFile); final Reader inTested = new FileReader(inTestedFile); final Writer outTestlets = new FileWriter(outTestletsFile); final Writer outTested = new FileWriter(outTestedFile); convert(inTestlets, inTested, outTestlets, outTested); } public static void usage() { System.out.println("usage: TestletToAPI inTestlets.japi inTested.japi outTestlets.japi outTested.japi"); System.out.println(" inTestlets.japi: the output of japize on mauve testlets"); System.out.println(" inTested.japi: the output of japize on tested api (Classpath, jdk, ...)"); System.out.println(" outTestlets.japi, outTested.japi: 2 japi files to be used as input of japicompat"); } public static void convert(Reader inTestlets, Reader inTested, Writer outTestlets, Writer outTested) throws IOException { final Stats stats = new Stats(); final Map methodToFullLine = processTestedAPI(inTested, outTested, stats); processMauveAPI(inTestlets, outTestlets, methodToFullLine, stats); System.out.println("=== Statistics ==="); System.out.println("NbTestlets:"+stats.getNbTestlets()); System.out.println("NbMethods:"+stats.getNbMethods()); System.out.println("NbMethodsNotFound:"+stats.getNbMethodsNotFound()); if(stats.getNbMethods() == 0) System.out.println("Estimated coverage : #ERROR#"); else { double ratio = (double) stats.getNbTestlets() / (double) stats.getNbMethods(); double percent = ((int)(10000 * ratio)) / 100.0d; System.out.println("Estimated coverage : "+percent+" %"); } } public static void processMauveAPI(Reader in, Writer out, Map methodToFullLine, Stats stats) throws IOException { BufferedReader reader = null; BufferedWriter writer = null; try { reader = new BufferedReader(in); writer = new BufferedWriter(out); String l; StringBuffer line = new StringBuffer(128); Set testedMethods = new HashSet(); boolean firstLine = true; while((l = reader.readLine()) != null) { line.setLength(0); // clear the buffer line.append(l); if(firstLine) { writer.write(l); writer.write('\n'); firstLine = false; continue; } if(!acceptAPILine(line.toString())) continue; Line mauveAPI = parseMauveAPILine(line); final String methodName = mauveAPI.getMethodName(); if(testedMethods.contains(methodName)) continue; testedMethods.add(methodName); Line testedAPI = (Line) methodToFullLine.get(methodName); if((testedAPI == null) || (testedAPI == Line.NULL)) { System.err.println("method not found in API : "+methodName); stats.incNbMethodsNotFound(); continue; } String className = testedAPI.getClassName(); if(!testedMethods.contains(className)) { // first method of the class, add the class declaration line testedMethods.add(className); Line classDecl = (Line) methodToFullLine.get(className); if((classDecl == null) || (classDecl == Line.NULL)) throw new IllegalStateException(className + " has no declaration"); writer.write(classDecl.getContent()); writer.write('\n'); } // write the method (or constructors, or constants, or ...) declaration writer.write(testedAPI.getContent()); writer.write('\n'); stats.inNbTestlets(); } } finally { if(reader != null) { reader.close(); } if(writer != null) { writer.close(); } in.close(); out.close(); } } public static Map processTestedAPI(Reader inTested, Writer outTested, Stats stats) throws IOException { Map methodToFullLine = new HashMap(); BufferedReader reader = null; BufferedWriter writer = null; try { reader = new BufferedReader(inTested); writer = new BufferedWriter(outTested); String l; StringBuffer line = new StringBuffer(128); boolean firstLine = true; while((l = reader.readLine()) != null) { line.setLength(0); // clear the buffer line.append(l); if(firstLine) { firstLine = false; } else if(acceptAPILine(l)) { Line parsedLine = parseTestedAPILine(line); String methodName = parsedLine.getMethodName(); switch(parsedLine.getType()) { case Line.CONSTANTS: case Line.CONSTRUCTORS: Line constLine = (Line) methodToFullLine.get(methodName); if((constLine == Line.NULL) || (constLine == null)) { methodToFullLine.put(methodName, parsedLine); } else { constLine.append(parsedLine.getContent()); } break; case Line.CLASS_DECL: if(!methodToFullLine.containsKey(methodName)) { methodToFullLine.put(parsedLine.getClassName(), parsedLine); if(parsedLine.isSerializable()) { // this a serializable class, add a pseudo method String serialMethod = parsedLine.getClassName()+'!'+TESTLET_SERIALIZATION; String serialLine = serialMethod + "() Pcifu V"; Line sl = new Line(Line.SERIALIZATION, serialMethod, serialLine, true); methodToFullLine.put(serialMethod, sl); // will write 2 lines on output : // 1 for the declaration and 1 for the pseudo method l += "\n" ; if(l.charAt(0) == '+') { if(l.charAt(1) == '+') l += "++"; else l += "+"; } l += serialLine; stats.incNbMethods(); // 1 extra method (a pseudo method) } } break; case Line.SERIALIZATION: throw new IllegalStateException("type SERIALIZATION unexpected here"); case Line.METHOD: if(!methodToFullLine.containsKey(methodName)) { methodToFullLine.put(methodName, parsedLine); } break; default: if(parsedLine != Line.NULL) { throw new IllegalStateException("unknown type of line"); } } // switch } // if writer.write(l); writer.write('\n'); stats.incNbMethods(); } // while } finally { if(reader != null) { reader.close(); } inTested.close(); if(writer != null) { writer.close(); } outTested.close(); } return methodToFullLine; } public static Line parseTestedAPILine(StringBuffer japizeLine) { final String line = japizeLine.toString(); boolean isClassDecl = preprocessAPILine(japizeLine); boolean isSerialClassDecl = false; // tested API (Classpath, jdk or something compatible) if(!isClassDecl && (japizeLine.indexOf("(") < 0)) { // class declared as Serializable ? isSerialClassDecl = (japizeLine.indexOf("class#") >= 0) && (japizeLine.lastIndexOf("java.io.Serializable") >= 0); boolean isNonSerialClassDecl = (japizeLine.indexOf("class:") >= 0); boolean isInterfaceDecl = (japizeLine.indexOf("interface") >= 0); isClassDecl = (isNonSerialClassDecl || isSerialClassDecl || isInterfaceDecl); } if(isClassDecl) { // special case for class declaration (Serializable or not) and // interface declarations int idx = japizeLine.indexOf("!"); if(idx < 0) return Line.NULL; japizeLine.setLength(idx+1); return new Line(Line.CLASS_DECL, japizeLine.toString(), line, isSerialClassDecl); } int idx = japizeLine.indexOf("("); if(idx < 0) { // constant ? idx = japizeLine.indexOf("!#"); if(idx < 0) return Line.NULL; // special case for constants japizeLine.setLength(idx+1); japizeLine.append(TESTLET_CONSTANTS); return new Line(Line.CONSTANTS, japizeLine.toString(), line); } boolean isConstructor = (japizeLine.indexOf("constructor") >= 0); if(isConstructor) { // special case for constructors japizeLine.setLength(idx); japizeLine.append(TESTLET_CONSTRUCTORS); return new Line(Line.CONSTRUCTORS, japizeLine.toString(), line); } if(idx >= 0) { // simple method japizeLine.setLength(idx); return new Line(Line.METHOD, japizeLine.toString(), line); } return Line.NULL; } public static Line parseMauveAPILine(StringBuffer japizeLine) { int type; final String line = japizeLine.toString(); preprocessAPILine(japizeLine); // mauve test API japizeLine.delete(0, "gnu.testlet.".length()); int idx = japizeLine.indexOf("!"); if(idx < 0) return Line.NULL; japizeLine.setLength(idx); idx = japizeLine.indexOf(","); if(idx < 0) return Line.NULL; japizeLine.setCharAt(idx, '!'); idx = japizeLine.lastIndexOf("."); if(idx < 0) return Line.NULL; japizeLine.setCharAt(idx, ','); // special case for some classes // (due to case conflicts in filenames under Windows) // example : ColorClass->Color, ... idx = japizeLine.indexOf(TESTLET_CLASS_SUFFIX); if(idx >= 0) { japizeLine.delete(idx, idx+TESTLET_CLASS_SUFFIX.length()-1); } if(japizeLine.indexOf(TESTLET_CONSTANTS) >= 0) type = Line.CONSTANTS; else if(japizeLine.indexOf(TESTLET_CONSTRUCTORS) >= 0) type = Line.CONSTRUCTORS; else if(japizeLine.indexOf(TESTLET_SERIALIZATION) >= 0) type = Line.SERIALIZATION; else type = Line.METHOD; return new Line(type, japizeLine.toString(), line); } public static boolean acceptAPILine(String line) { // final String filter = "java.awt.AWTKeyStroke"; // return line.startsWith("gnu.testlet."+filter) || // line.startsWith(filter); boolean isMauveFramework = line.toString().startsWith("gnu.testlet,"); // return !isMauveFramework && // (line.contains("java.awt.BasicStroke") || // line.contains("java.awt,BasicStroke") ); return !isMauveFramework; } public static class Stats { private int nbTestlets; private int nbMethods; // include special methods (serialization, constructors, constants, ...) private int nbMethodsNotFound; public Stats() { this.nbTestlets = 0; this.nbMethods = 0; this.nbMethodsNotFound = 0; } /** * @return Returns the nbMethods. */ final int getNbMethods() { return nbMethods; } final void incNbMethods() { this.nbMethods++; } /** * @return Returns the nbTestlets. */ final int getNbTestlets() { return nbTestlets; } final void inNbTestlets() { this.nbTestlets++; } /** * @return Returns the nbMethodsNotFound. */ final int getNbMethodsNotFound() { return nbMethodsNotFound; } /** * @param nbMethodsNotFound The nbMethodsNotFound to set. */ final void incNbMethodsNotFound() { this.nbMethodsNotFound++; } } public static class Line { public static final Line NULL = new Line(); private static final int METHOD = 0; private static final int CONSTRUCTORS = 1; private static final int CONSTANTS = 2; private static final int SERIALIZATION = 3; private static final int CLASS_DECL = 4; final private int type; final private String className; final private String methodName; // in fact: classname + '!' + methodName final private StringBuffer lines; final private boolean serializable; public Line(int type, String methodName, String line) { this(type, methodName, line, false); } public Line(int type, String methodName, String line, boolean serializable) { this.type = type; this.methodName = methodName; this.lines = new StringBuffer(line); this.serializable = serializable; int idx = methodName.indexOf('!'); if(idx < 0) throw new IllegalArgumentException("methodName must contains the '!' character"); this.className = methodName.substring(0, idx); } public int getType() { return type; } public boolean isSerializable() { return serializable; } public String getContent() { return lines.toString(); } private Line() { this.type = -1; this.className = ""; this.methodName = ""; this.lines = null; this.serializable = false; } public void append(String nextLine) { if(!isConstructor() && !isConstant()) throw new UnsupportedOperationException("reserved to constructor and constant lines"); lines.append('\n'); lines.append(nextLine); } public boolean isConstructor() { return type == CONSTRUCTORS; } public boolean isConstant() { return type == CONSTANTS; } /** * @return Returns the methodName. */ final public String getMethodName() { return methodName; } public String getClassName() { return className; } public String toString() { return "["+methodName+"]->"+lines.toString(); } } public static boolean preprocessAPILine(StringBuffer japizeLine) { boolean isClassDecl = false; if(japizeLine.charAt(0) == '+') { if(japizeLine.charAt(1) == '+') { japizeLine.delete(0, 2); // declaration of java.lang.Object ? isClassDecl = (japizeLine.toString().endsWith("class")); } else { japizeLine.delete(0, 1); } } return isClassDecl; } } mauve-20140821/gnu/testlet/runner/Mauve.java0000644000175000001440000004655711203757330017475 0ustar dokousers// Copyright (C) 2004, 2005 by Object Refinery Limited // Copyright (C) 2005 by // Written by David Gilbert (david.gilbert@object-refinery.com) // Written by Thomas Zander // Modified by Fabien DUMINY (fduminy@jnode.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.runner; import gnu.testlet.ResourceNotFoundException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.LineNumberReader; import java.io.PrintWriter; import java.io.Reader; import java.util.Locale; /** * An application that runs a collection of Mauve tests and creates a report * summarizing the results. */ public class Mauve extends TestHarness { protected String lastCheckPoint; protected int checksSinceLastCheckPoint; protected ClassResult classResult; protected TestResult currentTest; protected CheckResult currentCheck; protected RunResult result; /** * runs tests * * @param file the text file containing test class names. * @param prefix the prefix for each test class (usually 'gnu.testlet'). * @param output the name of the directory for writing output. */ public synchronized void execute(String file, String prefix, String output) { // save the default locale, some tests change the default and we want // to restore it before generating the HTML report... Locale savedLocale = Locale.getDefault(); File out = new File(output); if (out.exists() && !out.isDirectory()) throw new IllegalArgumentException("Output should be a directory"); if (!out.exists()) out.mkdirs(); result = new RunResult("Mauve Test Run"); addSystemProperties(result); currentCheck = new CheckResult(0, false); // initialize // run tests and collect results File f = new File(file); try { FileReader testsToRun = new FileReader(f); LineNumberReader r = new LineNumberReader(testsToRun); while (r.ready()) { String line = r.readLine(); executeLine(prefix, line); } } catch (FileNotFoundException e) { throw new IllegalArgumentException(e.getMessage()); } catch (IOException e) { e.printStackTrace(System.out); } // tests are complete so restore the default locale Locale.setDefault(savedLocale); writeHTMLReport(out); writeXMLReport(out); System.out.println("DONE!"); } /** * Add the most interesting system properties to describe the virtual machine * being tested. Developers using Mauve APIs can also add their own (specific) * properties by calling {@link RunResult#setSystemProperty(String, String)}. * @param runResult The RunResult to which add system properties. */ protected void addSystemProperties(RunResult runResult) { runResult.setSystemProperty("java.version", System.getProperty("java.version")); runResult.setSystemProperty("java.vendor", System.getProperty("java.vendor")); runResult.setSystemProperty("java.vendor.url", System.getProperty("java.vendor.url")); runResult.setSystemProperty("os.name", System.getProperty("os.name")); runResult.setSystemProperty("os.arch", System.getProperty("os.arch")); runResult.setSystemProperty("os.version", System.getProperty("os.version")); runResult.setSystemProperty("java.vm.specification.version", System.getProperty("java.vm.specification.version")); runResult.setSystemProperty("java.vm.specification.vendor", System.getProperty("java.vm.specification.vendor")); runResult.setSystemProperty("java.vm.specification.name", System.getProperty("java.vm.specification.name")); runResult.setSystemProperty("java.vm.version", System.getProperty("java.vm.version")); runResult.setSystemProperty("java.vm.vendor", System.getProperty("java.vm.vendor")); runResult.setSystemProperty("java.vm.name", System.getProperty("java.vm.name")); runResult.setSystemProperty("java.specification.version", System.getProperty("java.specification.version")); runResult.setSystemProperty("java.specification.vendor", System.getProperty("java.specification.vendor")); runResult.setSystemProperty("java.specification.name", System.getProperty("java.specification.name")); runResult.setSystemProperty("java.class.version", System.getProperty("java.class.version")); } /** * Execute a single line of a stream, which might or might not be the name of * a mauve test (testlet). * @param prefix * @param line The line to execute. */ protected void executeLine(String prefix, String line) { if ((line == null) || (line.trim().length() == 0)) { return; } System.out.println(line); // check the line is not commented // load the listed class try { Class c = Class.forName(line); // strip prefix ('gnu.testlet.') from front of name String temp = line.substring(prefix.length()); // suffix is the name for the TestResult String testName = temp.substring(temp.lastIndexOf('.') + 1); temp = temp.substring(0, temp.lastIndexOf('.')); String className = temp.substring(temp.lastIndexOf('.') + 1); if (className.equals("Double") || className.equals("Float") || className.equals("Key")) { if (!temp.startsWith("java.lang.")) { temp = temp.substring(0, temp.lastIndexOf('.')); className = temp.substring(temp.lastIndexOf('.') + 1) + '.' + className; } } String packageName = "default package"; int index = temp.lastIndexOf('.'); if (index >= 0) packageName = temp.substring(0, temp.lastIndexOf('.')); // remaining suffix is name for ClassResult // rest of text is name for PackageResult PackageResult pr = result.getPackageResult(packageName); if (pr == null) pr = new PackageResult(packageName); classResult = pr.getClassResult(className); if (classResult == null) classResult = new ClassResult(className); Testlet testlet = createTestlet(c, line); if (testlet != null) { runTestlet(testlet, pr, testName); } } catch (ClassNotFoundException e) { System.err.println("Could not load test: "+ line); result.addMissingTest(line); } } /** * Execute a testlet. * @param testlet The {@link Testlet} to execute. * @param pr The name of the {@link PackageResult} to which the testlet belong. * @param testName The name used to describe the associated {@link TestResult}. */ protected void runTestlet(Testlet testlet, PackageResult pr, String testName) { currentTest = new TestResult(testName); checksSinceLastCheckPoint = 0; lastCheckPoint = "-"; try { testlet.test(this); } catch (Throwable t) { t.printStackTrace(System.out); currentTest.failed(t); } classResult.add(currentTest); if (pr.indexOf(classResult) < 0) pr.add(classResult); if (result.indexOf(pr) == -1) result.add(pr); } /** * Get the result of a mauve run. * @return The {@RunResult} describing the results of a mauve run. */ protected RunResult getResult() { return result; } /** * Creates a new testlet instancen given by its class name. * @param c The class to instanciate, which should be a child class * of {@link Testlet}. * @param line The line giving the name of the testlet (used for error reporting). * @return an instance of the given testlet. */ protected Testlet createTestlet(Class c, String line) { Testlet testlet = null; try { testlet = (Testlet) c.newInstance(); } catch (ClassCastException e) { System.err.println("Not a test (does not implement Testlet): " + line); result.addFaultyTest(line, "Does not implement Testlet"); // not a test } catch (Throwable t) { // instanciation errors etc.. t.printStackTrace(System.out); result.addFaultyTest(line, t.getMessage()); } return testlet; } /** * Write the results to an HTML report in the given output directory. * @param outputDir The output directory used to put the HTML report. */ protected void writeHTMLReport(File outputDir) { // write results to HTML System.out.println("Creating HTML report..."); try { HTMLGenerator.createReport(result, outputDir); } catch (IOException e) { System.out.println("failed to write HTML due to following error:"); e.printStackTrace(System.out); } } /** * Write the results to an XML report in the given output directory. * @param outputDir The output directory used to put the XML report. */ protected void writeXMLReport(File outputDir) { System.out.println("Creating XML report..."); try { File fx = new File(outputDir, "results.xml"); new XMLReportWriter(true).write(result, fx); System.out.println("XML file written to " + fx.getAbsolutePath()); } catch (IOException e) { System.out.println("failed to write XML due to following error:"); e.printStackTrace(System.out); } } /** * Records the result of a boolean check. * * @param result the result. */ public void check(boolean result) { currentCheck.setPassed(result); checkDone(); } /** * Checks the two objects for equality and records the result of * the check. * * @param result the actual result. * @param expected the expected result. */ public void check(Object result, Object expected) { currentCheck.setPassed( (result != null) ? result.equals(expected) : (expected == null)); currentCheck.setActual((result != null) ? result.toString() : "null"); currentCheck.setExpected((expected != null) ? expected.toString() : "null"); checkDone(); } /** * Checks two booleans for equality and records the result of the check. * * @param result the actual result. * @param expected the expected result. */ public void check(boolean result, boolean expected) { currentCheck.setPassed(result == expected); currentCheck.setActual(String.valueOf(result)); currentCheck.setExpected(String.valueOf(expected)); checkDone(); } /** * Checks two ints for equality and records the result of the check. * * @param result the actual result. * @param expected the expected result. */ public void check(int result, int expected) { currentCheck.setPassed(result == expected); currentCheck.setActual(String.valueOf(result)); currentCheck.setExpected(String.valueOf(expected)); checkDone(); } /** * Checks two longs for equality and records the result of the check. * * @param result the actual result. * @param expected the expected result. */ public void check(long result, long expected) { currentCheck.setPassed(result == expected); currentCheck.setActual(String.valueOf(result)); currentCheck.setExpected(String.valueOf(expected)); checkDone(); } /** * Checks two doubles for equality and records the result of the check. * * @param result the actual result. * @param expected the expected result. */ public void check(double result, double expected) { currentCheck.setPassed((result == expected ? (result != 0) || (1/result == 1/expected) : (result != result) && (expected != expected))); currentCheck.setActual(String.valueOf(result)); currentCheck.setExpected(String.valueOf(expected)); checkDone(); } /** * Records a check point. This can be used to mark a known place in a * testlet. It is useful if you have a large number of tests -- it makes * it easier to find a failing test in the source code. * * @param name the check point name. */ public void checkPoint(String name) { lastCheckPoint = name; checksSinceLastCheckPoint = 0; } /** * Method called when a checkpoint has been reached. */ private void checkDone() { currentCheck.setNumber(++checksSinceLastCheckPoint); currentCheck.setCheckPoint(lastCheckPoint); currentTest.add(currentCheck); currentCheck = new CheckResult(0, false); currentCheck.setCheckPoint(lastCheckPoint); } /** * Writes a message to the debug log along with a newline. * * @param message the message. */ public void debug(String message) { debug(message, true); } /** * Writes a message to the debug log with or without a newline. * * @param message the message. * @param newline a flag to control whether or not a newline is added. */ public void debug(String message, boolean newline) { currentCheck.appendToLog(message); if (newline) currentCheck.appendToLog("\n"); } /** * Writes the contents of an array to the log. * * @param o the array of objects. * @param desc the description. */ public void debug(Object[] o, String desc) { StringBuffer logMessage = new StringBuffer(); logMessage.append("Object array: "); logMessage.append(desc); if (o == null) logMessage.append("null"); else expand(o, logMessage); currentCheck.appendToLog(logMessage.toString()); currentCheck.appendToLog("\n"); } /** * recursive helper method for debug(Object[], String) * @param array * @param buf */ private void expand(Object[] array, StringBuffer buf) { for (int i = 0; i < array.length; i++) { buf.append("obj["+ i +"]: "); if (array[i] instanceof Object[]) expand((Object[]) array[i], buf); else if (array[i] != null) buf.append(array[i].toString()); else buf.append("null"); if (i < array.length) buf.append(", "); } } /** * Writes a stack trace for the specified exception to the log for the * current check. * * @param ex the exception. */ public void debug(Throwable ex) { ByteArrayOutputStream out = new ByteArrayOutputStream(); PrintWriter w = new PrintWriter(out, false); ex.printStackTrace(w); w.close(); try { out.close(); debug(out.toString(), true); } catch (IOException e) { /* this should never happen..*/ } } /** * This will print a message when in verbose mode. * * @param message the message. */ public void verbose(String message) { debug(message, true); } public Reader getResourceReader(String name) throws ResourceNotFoundException { return new BufferedReader(new InputStreamReader(getResourceStream(name))); } public InputStream getResourceStream(String name) throws ResourceNotFoundException { // The following code assumes File.separator is a single character. if (File.separator.length() > 1) throw new Error ("File.separator length is greater than 1"); String realName = name.replace('#', File.separator.charAt(0)); try { return new FileInputStream(getSourceDirectory() + File.separator + realName); } catch (FileNotFoundException ex) { throw new ResourceNotFoundException(ex.getLocalizedMessage() + ": " + getSourceDirectory() + File.separator + realName); } } public String getSourceDirectory () { return null; // TODO } public File getResourceFile (String name) throws ResourceNotFoundException { // The following code assumes File.separator is a single character. if (File.separator.length () > 1) throw new Error ("File.separator length is greater than 1"); String realName = name.replace ('#', File.separator.charAt (0)); File f = new File(getSourceDirectory() + File.separator + realName); if (!f.exists()) { throw new ResourceNotFoundException("cannot find mauve resource file" + ": " + getSourceDirectory() + File.separator + realName); } return f; } /** * Provide a directory name for writing temporary files. * * @return The temporary directory name. */ public String getTempDirectory() { // TODO return "/tmp"; } /** * Runs the application to generate an HTML report for a collection * of Mauve tests. * * @param args the command line arguments. */ public static void main(String[] args) { // -prefix // -output String file = "tests"; String prefix = "gnu.testlet."; String output = "results"; for (int i = 0; i < args.length; i++) { String a = args[i]; if (a.equals("--prefix") || a.equals("-p")) { if (i < args.length) { prefix = args[i+1]; i++; } else { System.err.println("prefix: value missing"); return; } } else if (a.equals("--output") || a.equals("-o")) { if (i < args.length) { output = args[i+1]; i++; } else { System.err.println("output: value missing"); return; } } else if (a.equals("--help") || a.equals("-h")) { System.out.println("Usage: Mauve [options] [inputfile]"); System.out.println("reads test-class names from inputfile and executes them;"); System.out.println("If no inputfile is passed, then tests.txt will be used"); System.out.println(" options:"); System.out.println(" --help -h this help"); System.out.println(" --output -o the output directory [results]"); System.out.println(" --prefix -p package prefix [gnu.testlet]"); return; } else file = a; } try { new Mauve().execute(file, prefix, output); } catch (IllegalArgumentException e) { System.err.println(e.getMessage()); System.err.println("Try --help for more info"); } System.exit(0); } } mauve-20140821/gnu/testlet/runner/XMLReportParser.java0000644000175000001440000001756311203757330021424 0ustar dokousers// Copyright (c) 2008 Fabien DUMINY (fduminy@jnode.org) // Modified by Levente S\u00e1ntha (lsantha@jnode.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.runner; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.io.Reader; import java.util.Enumeration; import net.sourceforge.nanoxml.XMLElement; import net.sourceforge.nanoxml.XMLParseException; /** * XML parser for mauve reports. * * @author fabien * */ public class XMLReportParser implements XMLReportConstants { /** * Parse the given file and return the corresponding mauve result. * * @param input * @return * @throws XMLParseException * @throws IOException */ public RunResult parse(File input) throws XMLParseException, IOException { return parse(new FileReader(input)); } /** * Parse the given reader and return the corresponding mauve result. * * @param r * @return * @throws XMLParseException * @throws IOException */ public RunResult parse(Reader r) throws XMLParseException, IOException { XMLElement xmlRun = new XMLElement(); BufferedReader reader = null; try { reader = new BufferedReader(r); xmlRun.parseFromReader(reader); checkTag(xmlRun, RUN_RESULT); String attr; RunResult run = new RunResult(getValue(xmlRun, RUN_NAME, "")); for (Enumeration enumPkg = xmlRun.enumerateChildren(); enumPkg.hasMoreElements(); ) { XMLElement xmlPkg = (XMLElement) enumPkg.nextElement(); int indexTag = checkTag(xmlPkg, new String[]{PACKAGE_RESULT, PROPERTY}); if (indexTag == 1) { String name = getValue(xmlPkg, PROPERTY_NAME, ""); String value = getValue(xmlPkg, PROPERTY_VALUE, ""); run.setSystemProperty(name, value); continue; } attr = getValue(xmlPkg, PACKAGE_NAME, ""); PackageResult pkg = new PackageResult(attr); run.add(pkg); for (Enumeration enumCls = xmlPkg.enumerateChildren(); enumCls.hasMoreElements(); ) { XMLElement xmlCls = (XMLElement) enumCls.nextElement(); checkTag(xmlCls, CLASS_RESULT); attr = getValue(xmlCls, CLASS_NAME, ""); ClassResult cls = new ClassResult(attr); pkg.add(cls); for (Enumeration enumTest = xmlCls.enumerateChildren(); enumTest.hasMoreElements(); ) { XMLElement xmlTest = (XMLElement) enumTest.nextElement(); checkTag(xmlTest, TEST_RESULT); attr = getValue(xmlTest, TEST_NAME, ""); TestResult test = new TestResult(attr); cls.add(test); for (Enumeration enumCheck = xmlTest.enumerateChildren(); enumCheck.hasMoreElements(); ) { XMLElement xmlCheck = (XMLElement) enumCheck.nextElement(); if (TEST_ERROR.equals(xmlCheck.getName())) { test.setFailedMessage(xmlCheck.getContent()); } else { checkTag(xmlCheck, CHECK_RESULT); test.add(createCheck(xmlCheck)); } } } } } return run; } finally { if (reader != null) { reader.close(); } } } private CheckResult createCheck(XMLElement xmlCheck) { String attr = getValue(xmlCheck, CHECK_NUMBER, "-1"); int number = Integer.valueOf(attr).intValue(); attr = getValue(xmlCheck, CHECK_PASSED, "false"); boolean passed = Boolean.valueOf(attr).booleanValue(); CheckResult check = new CheckResult(number, passed); attr = getValue(xmlCheck, CHECK_POINT, ""); check.setCheckPoint(attr); attr = getValue(xmlCheck, CHECK_EXPECTED, ""); check.setExpected(attr); attr = getValue(xmlCheck, CHECK_ACTUAL, ""); check.setActual(attr); // get the log if any if (xmlCheck.countChildren() > 0) { XMLElement firstChild = (XMLElement) xmlCheck.enumerateChildren().nextElement(); checkTag(firstChild, CHECK_LOG); String content = firstChild.getContent(); if (content != null) { check.appendToLog(attr); } } return check; } /** * Get the value of an xml element's attribute and return the given default * value if the attribute is not defined. * @param xml The xml element for which we want an attribute. * @param attributeName The name of the attribute. * @param defaultValue The default value to return if the attribute is not defined. * @return The value of the xml element's attribute or, if not defined, the given * defaultValue parameter. */ private String getValue(XMLElement xml, String attributeName, String defaultValue) { Object attr = xml.getAttribute(attributeName); return (attr == null) ? defaultValue : String.valueOf(attr); } /** * Checks that the xml element represents the given tag. * @param xml The xml element to check. * @param tag The tag which is expected. * @throws XMLParseException if the xml element doesn't represent the given tag. */ private void checkTag(XMLElement xml, String tag) { final String actualTag = xml.getName(); if (!tag.equals(actualTag)) { throw new XMLParseException("", "tag is not '" + tag + "' (actual: '" + actualTag + "')"); } } /** * Checks that the xml element represents one of the given tags. * @param xml The xml element to check. * @param tag The tags which are expected. * @throws XMLParseException if the xml element doesn't represent one of the given tags. */ private int checkTag(XMLElement xml, String[] tags) { final String actualTag = xml.getName(); int indexTag = -1; for (int i = 0; i < tags.length; i++) { if (tags[i].equals(actualTag)) { indexTag = i; break; } } if (indexTag < 0) { StringBuffer sb = new StringBuffer('('); for (int i = 0; i < tags.length; i++) { if (i > 0) { sb.append(','); } sb.append(tags[i]); } sb.append(')'); throw new XMLParseException("", "tag is not one of " + sb.toString() + " (actual: '" + actualTag + "')"); } return indexTag; } } mauve-20140821/gnu/testlet/runner/XMLGenerator.java0000644000175000001440000000204610447766314020723 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 Thomas Zander // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.runner; import java.io.*; public class XMLGenerator { private RunResult results; public XMLGenerator(RunResult results) { this.results = results; } public void generate(File output) throws IOException { } } mauve-20140821/gnu/testlet/runner/TestResult.java0000644000175000001440000000776511107353315020532 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 by Object Refinery Limited // Written by David Gilbert (david.gilbert@object-refinery.com) // Modified by Fabien DUMINY (fduminy@jnode.org) // This file is part of Mauve Reporter. // Mauve Reporter 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 version 2 of the License, or // (at your option) any later version. // Mauve Reporter 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve Reporter; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA package gnu.testlet.runner; import java.util.*; import java.io.*; /** * Represents the result of running one test. A test usually contains multiple * checks and corresponds to a single method in the API being tested. There * are exceptions of course. */ public class TestResult implements Comparable, Result { /** The name of the test (usually the method name). */ private String name; /** A list containing results for each of the checks applied by the test. */ private List checkResults; private String error = null; /** * Creates a new result, initially empty. * @param name */ TestResult(String name) { this.name = name; checkResults = new ArrayList(); } /** * Returns the test name (this is most often the name of the method * being tested). * * @return The test name. */ public String getName() { return name; } /** * Sets the test name. * * @param name the name. */ void setName(String name) { this.name = name; } /** * Adds a check result. * * @param result the check result. */ void add(CheckResult result) { checkResults.add(result); } /** * Returns an iterator that provides access to all the check results. * * @return An iterator. */ public Iterator getCheckIterator() { return checkResults.iterator(); } /** * Returns the total number of checks performed by this test. * * @return The check count. */ public int getCheckCount() { return checkResults.size(); } /** * Returns the number of checks with the specified status. * * @param passed the check status. * * @return The number of checks passed or failed. */ public int getCheckCount(boolean passed) { int result = 0; Iterator iterator = checkResults.iterator(); while (iterator.hasNext()) { CheckResult check = (CheckResult) iterator.next(); if (check.getPassed() == passed) result++; } if(!passed && error != null) result++; // count stacktrace as a failure return result; } public int compareTo(Object obj) { TestResult that = (TestResult) obj; return getName().compareTo(that.getName()); } void failed(Throwable t) { ByteArrayOutputStream out = new ByteArrayOutputStream(); PrintWriter w = new PrintWriter(out, false); t.printStackTrace(w); w.close(); try { out.close(); error = out.toString(); } catch(IOException e) { // this should never happen.. } } public boolean isFailed() { return error != null; } public String getFailedMessage() { return error; } public void setFailedMessage(String error) { this.error = error; } } mauve-20140821/gnu/testlet/runner/Filter.java0000644000175000001440000001306011110350007017607 0ustar dokousers/* Copyright (c) 2005 Thomas Zander This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.testlet.runner; import java.util.*; import java.io.*; public class Filter { public static void main(String[] args) throws IOException { System.out.println("Please specify which tests you want to run based on the JVM version"); System.out.println("you want to test compatibility with."); System.out.println("After you select a file called 'tests' will be written and you then"); System.out.println("have to type:"); System.out.println(" export CLASSPATH=alltests.jar:$CLASSPATH"); System.out.println(" myJava gnu.testlet.runner.Mauve tests"); System.out.println(""); //System.out.println("parsing classlist"); final Vector options = new Vector(); final TreeSet sorted = new TreeSet(); readTestList(new LineProcessor() { public void processLine(StringBuffer buf) { if(buf.indexOf("[") == 0 && buf.charAt(buf.length()-1) == ']') { String token = buf.substring(1, buf.length()-1); if(token.startsWith("JDK")) sorted.add(token); else options.add(token); } } }); //System.out.println("done"); System.out.println("Please pick one:"); final StringBuffer buf = new StringBuffer(); int i=1; Iterator iter = sorted.iterator(); while(iter.hasNext()) { buf.append(String.valueOf(i++)); buf.append(": "); buf.append(iter.next().toString()); if(iter.hasNext()) buf.append(", "); else buf.append("? "); } String answer = ask(buf.toString()); final String which; try { int index = Integer.parseInt(answer); which = (String) new ArrayList(sorted).get(index-1); } catch(NumberFormatException e) { System.out.println("No parsable answer found"); System.exit(-1); return; } catch(Exception e) { System.out.println("Sorry; I'm not sure I understand you, bailing out"); System.exit(-1); return; } Iterator opsIter = new Vector(options).iterator(); final List choosedOptions = new Vector(); while(opsIter.hasNext()) { String option = (String) opsIter.next(); answer = ask("Use classes with option: "+ option +"? [yN] "); if("y".equalsIgnoreCase(answer)) choosedOptions.add(option); } System.out.println("Writing all tests for "+ which +" to 'tests'"); final Set tests = new TreeSet(); readTestList(new LineProcessor() { private boolean valid=true; public void processLine(StringBuffer buf) { if(buf.charAt(0) == '[') { String newVer = buf.substring(1, buf.length()-1); if(newVer.startsWith("JDK")) { if(which.compareTo(newVer) < 0) valid=false; } else valid= choosedOptions.contains(newVer); } else if(valid && buf.charAt(0) == '-') tests.remove(buf.substring(1)); else if (valid) tests.add(buf.toString()); else tests.remove(buf.toString()); } }); PrintWriter writer = new PrintWriter(new FileOutputStream(new File("tests"))); iter = tests.iterator(); while(iter.hasNext()) writer.println(iter.next().toString()); writer.close(); } public static interface LineProcessor { void processLine(StringBuffer buf); } public static void readTestList(LineProcessor processor) throws IOException { InputStream in = Filter.class.getResourceAsStream("/testslists"); StringBuffer buf = new StringBuffer(); while(true) { int character = in.read(); if(character == -1) break; if(character == '\n') { if(buf.length() == 0) continue; processor.processLine(buf); buf.setLength(0); // clear buffer } else buf.append((char) character); } } private static String ask(String question) throws IOException { System.out.write(question.getBytes()); StringBuffer answer = new StringBuffer(); while(true) { int ch = System.in.read(); if (ch < 0 || ch == '\n') return answer.toString().trim(); if (ch == '\r') continue; answer.append((char) ch); } } } mauve-20140821/gnu/testlet/runner/MauveTests.java0000644000175000001440000001134311203757330020501 0ustar dokousers// Copyright (c) 2008 Fabien DUMINY (fduminy@jnode.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.runner; import gnu.testlet.runner.compare.HTMLComparisonWriter; import gnu.testlet.runner.compare.ReportComparator; import gnu.testlet.runner.compare.RunComparison; import gnu.testlet.runner.compare.TextComparisonWriter; import java.io.File; import java.io.IOException; import java.io.PrintWriter; /** * Contains a test program for various functions like xml import/export of mauve results, * comparison of 2 mauve results with results saved in xml or html format. * * @author fabien * */ public class MauveTests { public static void main(String[] args) throws IOException { RunResult runResult = createRunResult(1, 2, 0, 3, 1); System.out.println("========================="); System.out.println("\n--- writing XML file ---"); File f = File.createTempFile("XMLReport", ".xml"); f.deleteOnExit(); new XMLReportWriter().write(runResult, f); System.out.println("\n--- COMPACT MODE:"); new XMLReportWriter(true).write(runResult, new PrintWriter(System.out)); System.out.println("\n--- NORMAL MODE:"); new XMLReportWriter(false).write(runResult, new PrintWriter(System.out)); HTMLGenerator.createReport(runResult, f.getParentFile()); System.out.println("========================"); System.out.println("\n--- parsing XML file ---"); RunResult rr = new XMLReportParser().parse(f); System.out.println("rr = " + rr); System.out.println("========================"); RunResult runResult2 = createRunResult(2, 2, 1, 3, 0); System.out.println("========================\n"); ReportComparator c = new ReportComparator(runResult, runResult2); RunComparison comp = c.compare(); System.out.println("\n--- comparison result in text ---"); new TextComparisonWriter().write(comp, new PrintWriter(System.out)); System.out.println("========================\n"); System.out.println("\n--- comparison result in html ---"); new HTMLComparisonWriter().write(comp, new PrintWriter(System.out)); //new HTMLComparisonWriter().write(comp, new File("/tmp/HTMLComparison.html")); System.out.println("========================\n"); } private static RunResult createRunResult(int runNumber, int nbTestsClass1, int nbPassed1, int nbTestsClass2, int nbPassed2) { String runName = "run" + runNumber; System.out.println("\n--- creating '" + runName + "' ---"); RunResult runResult = new RunResult(runName); runResult.setSystemProperty("name1", "value1"); runResult.setSystemProperty("name2", "value2"); PackageResult pkg = new PackageResult("package"); runResult.add(pkg); ClassResult cls = new ClassResult("class1"); pkg.add(cls); addTests(cls, "testA", nbTestsClass1, nbPassed1); cls = new ClassResult("class2"); pkg.add(cls); addTests(cls, "testB", nbTestsClass2, nbPassed2); return runResult; } private static void addTests(ClassResult cls, String testPrefix, int nbTests, int nbPassed) { TestResult test; for (int i = 0; i < nbTests; i++) { test = new TestResult(testPrefix + i); CheckResult check; if (i < nbPassed) { check = new CheckResult(1, true); check.appendToLog("a log with\nmultiple lines"); test.add(check); } else { check = new CheckResult(1, false); test.add(check); test.failed(new Exception("error" + i, new Exception("nested error"))); } cls.add(test); System.out.print("Added " + test.getName()); System.out.print("\t\t" + test.getCheckCount(true)); System.out.println("\t\t" + check.getCheckPoint()); } } } mauve-20140821/gnu/testlet/runner/XMLReportConstants.java0000644000175000001440000000376511203757330022143 0ustar dokousers// Copyright (c) 2008 Fabien DUMINY (fduminy@jnode.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.runner; /** * Constants for tags used by {@link XMLReportParser} and {@link XMLReportWriter}. * * @author fabien * */ public interface XMLReportConstants { public static final String RUN_RESULT = "run"; public static final String RUN_NAME = "name"; public static final String PROPERTY = "property"; public static final String PROPERTY_NAME = "name"; public static final String PROPERTY_VALUE = "value"; public static final String PACKAGE_RESULT = "package"; public static final String PACKAGE_NAME = "name"; public static final String CLASS_RESULT = "class"; public static final String CLASS_NAME = "name"; public static final String TEST_RESULT = "test"; public static final String TEST_NAME = "name"; public static final String TEST_ERROR = "error"; public static final String CHECK_RESULT = "check"; public static final String CHECK_NUMBER = "number"; public static final String CHECK_POINT = "check-point"; public static final String CHECK_PASSED = "passed"; public static final String CHECK_EXPECTED = "expected"; public static final String CHECK_ACTUAL = "actual"; public static final String CHECK_LOG = "log"; } mauve-20140821/gnu/testlet/TestHarness.java0000644000175000001440000002077611030455606017344 0ustar dokousers// Copyright (c) 1998, 1999, 2001 Cygnus Solutions // Written by Tom Tromey // Copyright (c) 2005 Mark J. Wielaard // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet; import java.awt.AWTException; import java.awt.Robot; import java.io.File; import java.io.Reader; import java.io.InputStream; /** * This base class defines the API that test cases can report against. This * code has been lifted from the Mauve project (and reformatted and * commented). */ public abstract class TestHarness implements config { /** * Records the result of a boolean check. * * @param result the result. */ public abstract void check (boolean result); /** * Checks the two objects for equality and records the result of * the check. * * @param result the actual result. * @param expected the expected result. */ public void check(Object result, Object expected) { boolean ok = (result == null ? expected == null : result.equals(expected)); check(ok); // This debug message may be misleading, depending on whether // string conversion produces same results for unequal objects. if (! ok) debug("got " + result + " but expected " + expected); } /** * Checks two booleans for equality and records the result of the check. * * @param result the actual result. * @param expected the expected result. */ public void check(boolean result, boolean expected) { boolean ok = (result == expected); check(ok); if (! ok) debug("got " + result + " but expected " + expected); } /** * Checks two ints for equality and records the result of the check. * * @param result the actual result. * @param expected the expected result. */ public void check(int result, int expected) { boolean ok = (result == expected); check(ok); if (! ok) debug("got " + result + " but expected " + expected); } /** * Checks two longs for equality and records the result of the check. * * @param result the actual result. * @param expected the expected result. */ public void check(long result, long expected) { boolean ok = (result == expected); check(ok); if (! ok) debug("got " + result + " but expected " + expected); } /** * Checks two doubles for equality and records the result of the check. * * @param result the actual result. * @param expected the expected result. */ public void check(double result, double expected) { // This triple check overcomes the fact that == does not // compare NaNs, and cannot tell between 0.0 and -0.0; // and all without relying on java.lang.Double (which may // itself be buggy - else why would we be testing it? ;) // For 0, we switch to infinities, and for NaN, we rely // on the identity in JLS 15.21.1 that NaN != NaN is true. boolean ok = (result == expected ? (result != 0) || (1 / result == 1 / expected) : (result != result) && (expected != expected)); check(ok); if (! ok) // If Double.toString() is buggy, this debug statement may // accidentally show the same string for two different doubles! debug("got " + result + " but expected " + expected); } /** * Checks if result is equal to expected and * take a rounding delta into account. * * @param result the actual result * @param expected the expected value * @param delta the rounding delta */ public void check(double result, double expected, double delta) { boolean ok = true; if (Double.isInfinite(expected)) { if (result != expected) ok = false; } else if (! (Math.abs(expected - result) <= delta)) ok = false; check(ok); if (! ok) // If Double.toString() is buggy, this debug statement may // accidentally show the same string for two different doubles! debug("got " + result + " but expected " + expected); } // These methods are like the above, but checkpoint first. public void check(boolean result, String name) { checkPoint(name); check(result); } public void check(Object result, Object expected, String name) { checkPoint(name); check(result, expected); } public void check(boolean result, boolean expected, String name) { checkPoint(name); check(result, expected); } public void check(int result, int expected, String name) { checkPoint(name); check(result, expected); } public void check(long result, long expected, String name) { checkPoint(name); check(result, expected); } public void check(double result, double expected, String name) { checkPoint(name); check(result, expected); } public Robot createRobot() { Robot r = null; try { r = new Robot(); } catch (AWTException e) { fail("TestHarness: couldn't create Robot: " + e.getMessage()); } return r; } /** * A convenience method that sets a checkpoint with the specified name * then records a failed check. * * @param name the checkpoint name. */ public void fail(String name) { checkPoint(name); check(false); } // Given a resource name, return a Reader on it. Resource names are // just like file names. They are relative to the top level Mauve // directory, but '#' characters are used in place of directory // separators. public abstract Reader getResourceReader (String name) throws ResourceNotFoundException; public abstract InputStream getResourceStream (String name) throws ResourceNotFoundException; public abstract File getResourceFile (String name) throws ResourceNotFoundException; /** * Records a check point. This can be used to mark a known place in a * testlet. It is useful if you have a large number of tests -- it makes * it easier to find a failing test in the source code. * * @param name the check point name. */ public abstract void checkPoint (String name); /** * This will print a message when in verbose mode. * * @param message the message. */ public abstract void verbose (String message); /** * Writes a message to the debug log. * * @param message the message. */ public abstract void debug (String message); /** * Writes a message to the debug log with or without a newline. * * @param message the message. * @param newline a flag to control whether or not a newline is added. */ public abstract void debug (String message, boolean newline); /** * Writes a stack trace for the specified exception to a log. * * @param ex the exception. */ public abstract void debug (Throwable ex); /** * Writes the contents of an array to the log. * * @param o the array of objects. * @param desc the description. */ public abstract void debug (Object[] o, String desc); // Default config interface methods. public String getSourceDirectory () { return srcdir; } public String getBuildDirectory () { return builddir; } /** * Provide a directory name for writing temporary files. * * @return The temporary directory name. */ public String getTempDirectory () { return tmpdir; } public String getPathSeparator () { return pathSeparator; } public String getSeparator () { return separator; } public String getMailHost () { return mailHost; } public String getAutoCompile() { return autoCompile; } public String getCpInstallDir() { return cpInstallDir; } public String getEcjJar() { return ecjJar; } public String getEmmaString() { return emmaString; } public String getTestJava() { return testJava; } } mauve-20140821/gnu/testlet/javax/0000755000175000001440000000000012375316426015344 5ustar dokousersmauve-20140821/gnu/testlet/javax/sound/0000755000175000001440000000000012375316426016474 5ustar dokousersmauve-20140821/gnu/testlet/javax/sound/sampled/0000755000175000001440000000000012375316426020121 5ustar dokousersmauve-20140821/gnu/testlet/javax/sound/sampled/data/0000755000175000001440000000000012375316426021032 5ustar dokousersmauve-20140821/gnu/testlet/javax/sound/sampled/data/k3b_success1.au0000644000175000001440000026610210643763706023663 0ustar dokousers.sndl*@ÿÿÿÿýþþÿþýþýÿýÿþþÿýÿÿÿþýþÿüþþýÿÿÿÿþÿÿþÿÿþþÿÿÿÿÿüÿÿÿÿÿüýþÿþÿÿþüÿÿÿÿÿþÿýþÿýÿüÿÿþÿÿÿÿþýÿþÿþÿÿÿþþÿÿÿþýÿÿûþÿÿÿþÿÿûþüüýÿÿýÿÿþÿÿþÿýþýþýýþýþûþýÿüÿÿÿþÿÿÿÿýþþþÿýÿÿþýüýþþýþüþüþÿÿÿýþþþþþþþÿÿÿþÿÿþÿÿýþþþÿÿÿýÿÿýÿûÿýÿýÿýþþþýýüþÿýÿÿÿÿÿÿþþüþþÿÿÿÿýÿþþþþýþþþþÿÿÿýÿüüþÿýÿÿÿþÿþüþüþÿÿÿÿÿÿþÿÿþþüþÿþþÿÿýÿÿýÿÿþÿÿÿÿüþÿÿþÿþþþþÿÿÿÿüÿþÿÿÿÿÿÿþÿþþþýüýþþÿýÿþþÿþÿþÿþÿÿþÿþÿüþÿýþÿýþÿûüþûþüþÿÿÿþÿýÿýÿþýÿýþþþÿÿÿþûýþÿÿÿÿÿÿÿýýÿÿþþþýÿþÿÿÿÿÿÿýÿÿüÿÿýÿýÿûþûþþþýþüþÿÿþþýýýÿþÿÿýþýþÿÿÿýýýþýþþþýýþýüþýÿýÿþýþþýþþýþþýýþýÿþýÿþýÿþýÿþýþþýüþýûþýüþýýþýÿþþýþþýÿþþýþþýÿþþýþþýÿþþýþþüÿÿüþÿüþüþÿýÿüþþýþþýüþýúþýýþýþýÿúýú÷þø÷ÿ÷ûþþÿþÿÿþÿÿþþþùýõòýòïþîòõÿÿÿÿþÿÿçÿBÿÿ÷ÛÿáõÛüÖâýõþ ü ýÿ÷ÚþV<ÿíåþÑÁÿçÝÈÞÿôþ þýüÿÿ×LüVèÿüÿÝÑþÆæÿåÿÌáÿëþÿ"ÿÿüÿü¹^ÿ+ÔÿûáÖ¾ÿâÿÅÛòÿ  ýþý!þý¬ÿDMÿÎÿýáÐû´ÿüö¿þ×ðÿÿ'ÿÿýû¼Zÿ5ÕýØÿźÿíÇàÿûþ#ý&þÿ àÿÍqþæýýÓ¾ÌÿãÕþéýýüû ýÿ àÿÏoâÿúÉÿ¾ËÿáÿÙæÿÿ üý þ÷ÿËþqÕþôòÇþ±êýÑûßîû  þ#ÿÿ ÿüÒÿkÖÿýãÿ³¶ÿ ãþÚëÿüÿÿ þþèøqþëãÿùͨËÿ Øþáðÿ ÿ ÿ ÿúüÚ<ûRÐüóæý½¨þõôÓÿìþ !ÿþþýîfþ÷ßýíÖý¨ÄýüÛÜÿ÷ ý ÿ % ÿÿüíþW2þßëÿÞÿ½¨ÿìäÚýçýý$ý&þåÿ$`ýýèÿäÿΤýÒïþÕä÷ÿ  þ#ÿ) ý ûìüýkÿéêÖ±ÿ¶õýÙÞþíþ þ$%ü þÝÿLÿDçòÿ×Áþ¢áþêÖüëúþ $ü$*ýü ýæÿdëÜÿŨÃþøÛýæðÿÿ&ÿ)ÿÿþúóÿ]*þæéÊÿ¸µÿôêÿÛêÿú ÿ$*"ÿ ÿÿèÿ.QÿñåÜþ±ýÕóýàáÿõÿ##%ÿ ÿûÿÿ<ÿ'àÿÒÓÂüÅìûíèýòÿ!ý"ý þþ ùׯÿÇÑé÷òþ÷ûýûý þÿ ÿäÊÿÌÐÿÝóÿøøþøýüþ þý üãûÏËûÙÝýñùþüýûÿûü þ  ýþþÿìÜýÓÚûçîýüøýÿýÿ þ ÿ  þþÿÿôâÿØÙåÿîúÿøúþûùÿ ÿ  ÿÿöÿçÝÿÞëôÿû÷ôÿúúÿ ÿ  þ  ü ýùðÿîåþèðüøùÿú÷úýÿþ ýû üþûýñïþêëñöÿýøþùö÷ÿþþÿ þþÿýïëîìÿð÷ùÿ÷õÿöùÿÿ ÿÿ  ÿÿÿûôíþððþöùùþùöýùöþýÿÿÿ þþÿùüõñüðñþõ÷þú÷þöùùý ÿ þþÿýý÷ýôðþõúùúù÷øÿúûÿÿ  ÿÿþþÿüø÷õÿøøûú÷ûø÷þ÷úÿþÿÿÿ  ÿÿýþýþùþú÷øÿúûÿûõþúöþùÿþþÿ ÿüýüøüùõýûüùþùöþúúýÿÿþÿúüúþûúÿøýùþùùÿùøÿüþÿþýýÿüþüùÿüúüùþüøýùùÿúüÿýÿÿÿþÿþýÿùýüùûûúûûü÷ÿüûþÿÿýûþÿÿþûýûüúüüþùüýùùýýøþþýþýþþÿÿýþýþýúúýýúýùûÿûùúÿÿýþþýÿÿÿÿýüÿýúûýúûþúûþúúÿÿüüþÿÿÿþýþýþýûùýþúûûûúÿûýþþüÿÿÿÿÿüüýÿýþýÿùüûÿúûÿúüýÿýÿÿþþÿþþýÿÿÿúýúûüýúþûüùýÿþýÿÿþþüÿüþÿüþþýÿûüÿúøüüþûüýÿþÿûÿÿýÿüýÿýÿÿüýþÿüûýùþüþüþÿÿÿýÿýÿÿÿÿýýþþýþÿùûþýüûþýûþÿüþüþÿÿüþÿþÿýÿýÿýüùþýÿÿúÿûûûüûþýÿþþþþÿýÿüÿþýÿþýÿþýýþýþþþýþþýÿþþýÿÿüÿÿýþþüýÿüÿþþýÿþþþýÿþýÿþýÿþýÿþþýÿÿýÿþþýÿþýþþþýÿþýýþýüþýþþþýÿÿýþÿýýýüþÿýýÿþýþþþþýÿþýûþýúþýýþþýÿÿüþýýþþþýÿýÿþþýÿþýýþýþþýþþýýÿüýÿýþþüþÿýÿýÿþýþþýþþýþþþþþþýÿþþýÿýþüÿÿüÿÿþýþþýÿþþþþþþýÿþýýþýüþýþþýþþýþþþýþþÿþÿüþÿüþÿÿþÿÿþÿýþÿþþÿÿÿÿýÿþþþÿÿþÿÿþÿÿÿþÿÿýþþÿþýþþÿÿÿþÿÿÿþýÿúýþýÿÿþÿÿþÿþÿýÿýÿÿýÿÿÿÿýÿþþÿþüýÿýþüÿÿÿþÿþþþüüüþÿÿþÿþþÿþýþúÿÿüýûÿÿÿÿÿüÿüÿüýÿüþÿþÿÿþÿÿþÿÿþþýÿÿÿÿÿÿþÿÿþÿýþþþþþýÿÿýþÿþÿüýÿýýþþýþþþÿþÿÿþþþúþúþþþüþÿüýþþÿüÿþþýÿþýýþýýþýþþýÿþýÿþýýþýÿþÿþÿÿÿþüþúþýýÿýÿþþþþþþýÿþýýþýüþýþýýþ÷ýüÿþùýýÿüüþÿÿýùþüüþÿþþùþüôó÷òÿúøþýÿþþþÿýÿüÿ ôÿñìÿçéîîÿñùÿýþû þÿüÿüA+þøþôáÿÕÿêÜýßâüóüþÿÿ  þÿýæþ<NýþþûÿäÄýáßÐþÝòÿ ÿ  ÿ þýûý7/ÿöÿ×ÇÿËÛÿßÞÿóóÿÿÿ ÿöæÿSÿ/íÿòÙþÑÅþïàÿÛÿì÷ü ÿ ÿ ÿÔôÿfþÿèûÿå»ÕÿÿÓ×üñú úýÿ"ÿÛþñiÿúÿíýÒÿ¼ÙýþÓßÿôþÿþýþ üÍþ]éøîÿ×ÀýèýþÕíø  þùþÆþ:>þÜë̾ýÿñÛðúÿ þ ýüöÚý\þäÝÿ¿Íÿàþàóÿÿ  ÿùÿ æÿ#Nÿç÷ðÊÿµíþú×þî÷þ þþ þþýPüçýôÛý¼Åüúáûäõÿÿþÿ ÿþòÿ:ÿ=ëþìàþ®þåïÿÞìýÿ"ÿ ÿøÿA æâѵÇÿãæþèöþ# ÿÿ þÿöþ×ËýÅÐþååþó÷ÿÿþ ÿ þ ÿÿéÒÐÊýàèúñúüûüýþÿ ÿ ÿÿëÿÔÿÒÖýÚîýñûýÿ ÿýýûäþÞÔþáäÿðñöüýú û ÿþþíáÜþÜäýï÷ÿúüùÿÿþ þÿ  ÿÿÿõãÝàåïÿøôþõûüÿýü ÿ ÿþûðêþæèïõù÷ÿô÷ÿÿ þÿ þÿùþóðþðêüñóý÷ùõÿóôÿþÿ ÿý ýúþõïýïìýî÷þó÷þøõÿöýÿ ý ÿþùüôðúðóþð÷øþ÷õþ÷ùúþÿ ÿ ý  þýþøóûðõüöøýøöôÿôùûÿ  þÿýùÿõðóùöÿù÷õýúùûÿü þ  ÿÿþÿüüøöóùø÷ÿø÷ÿùöýüýÿÿÿ ÿÿþÿþùÿúöýùùý÷öýùöÿùýþþÿ þÿýþÿüýûÿùûûþùøÿúøöÿýÿÿÿÿýýþþýÿÿùþúøþüûõþùøýüþýÿýýýþþýþýúýúûýúûýøöþúùþÿÿÿÿüüýþþûþûúÿûúÿûù÷ÿøùþûþÿÿÿÿÿýÿýþÿþýþýúþûúýûûüúûýýýýþýýþþýþþüþÿúþÿýþû÷þõüýþýþÿúþôô ýþúø÷þüüüûûûþûüööÿ "ÿùýóòþõíýëíýðóþ÷öÿû0ÿ ýöþêõôÿïëÿðàýíâýMþ"ÿëÿêÿÿêéÿëðÿéíþïóýO<ýýÿãØúþéäüâèÿìéÿùó:R1ÿ$ÿïÙÿææÿÛÚÿåçÿðñÿþ÷<ÿN:ÿ'üÿòÑÿíâáÙêëþýñÿÿëþ!þþéÿÑäýøáþâðñþìþÖ-ÿsôóíÄþêþÖúïþýþúÙþj#ýøüìåþÂæþÔúìÿ ðÿîÿsýøýðÌÿÝ ÿÎâòíþ õþæþ&oþíþùñþÍòþÇïñðÿóþÜAþRà!íòÍùÇøþéùþûÿÝfÿêÿåóÉþãÿÑúÿæÿùÿùýÿuíÿþÿìâ×ÿÊåþúéýõýé3ÿ^áþñõþÈôÂÿùíýòþþâþZ2ÿêÿëñþÅ îÿÌúþèýüÿ ý÷nýýþíâÿÔÓÿàùÿçýõûê"þaãÿùðÿÒìþ ÈðýñîýùÿåÿX3üâýíïÉÿóÍëúúÿþþpÿÿù ìåÖþ×áúêöÿñ+ÿdëÿûýðÕüìþÎðÿïïÿû ÿêWÿ:éÿðîÿÑíÿÔÿéûþùýþoÿûÿíÿãÞ ÿØèøÿëøÿî5ÿRëÿøðýÚóýýÑþ÷ðõýþý òÿ]"ÿðíîÕæ×ÿÿéüø ùÿa÷ýÿîÿäæüÔÿëùëÿüþï<þCæÿöðÿÛùÿ÷ÔÿúòÿøÿÿùZþîúïüëÛÿäÛÿÿîþþ øÿ[ÿóÿýïàýëÿÙÿêùÿí ýý3þ÷þ÷ñþîìÿåîÿöéþ þÿöþûóÿúõïÿôæùóþ÷ ý !þ þ ðüøïþûòþóðýéúýñÿ þîþõòÿõôïþùçýðùÿ÷ ÿ üíüûõþû÷ýñöûêøüûþ ÿþ ûþðûÿôûõñþòòþÿýþ  ÿÿùÿòøÿôùÿïîþòõþü ý  þÿïÿóø÷þ÷îüõïÿùþþü þ ÿòÿúøþýòþë÷þöýþÿÿýöúúûíÿñ÷þüÿûÿüýÿúøÿüöþðòÿú ÿùùÿùùýöðþ÷üÿÿÿÿþÿûúþüùòÿòøþÿÿþÿþüýþýþúûþýúöÿøûþÿÿÿþÿýüþüüþù÷ùúöúÿÿüúýþûÿýüûÿ÷÷þøöÿûÿüýÿÿþûÿýùÿøÿüùþùûýÿÿÿÿüÿýÿüýüÿýüúûÿùüþÿÿþÿýþýûþúþùÿûúÿúÿÿÿÿÿüÿþþùþüüÿüÿúûýûûÿþÿÿÿþüþüúùýûÿúüýüüýþýþÿüÿÿûùýþùÿûûùÿþÿþÿýþÿýýÿþøþüüüúúþþÿýþýÿþÿüÿÿüÿÿüÿüüÿûûûÿþþýýÿüÿþÿýÿýþþüýüÿûûûÿþýýýÿþýýÿûþÿýþÿþüÿÿýþÿýÿÿÿüÿþÿüÿüùþüüþÿüÿÿýýþýúþýûýþÿûÿüþþýÿýÿûÿÿüþÿýÿþýÿüúþûÿÿüÿÿÿÿýþÿýÿþþþýþýúþþýÿýÿÿÿþþýÿÿüÿüþþýüýþüúùýÿýþþÿþÿÿÿýÿüÿþýüûÿûýÿüýüþýûýÿþýþýýþÿüÿÿüüÿüüÿüüþýüþÿþýýÿýÿþýüþýüþýýþýýþýÿþþýÿþþþýþþýþþþþþýþÿýÿÿÿÿüÿûüýÿüþûþþÿüýÿüüþýþþþþþýÿþýþþþýÿþþþýÿþüýüþþýÿüÿþþýÿþýýþýýþýüþþýþþýüþþýÿþýÿþþýÿþýþþýþþýýþýþþýÿþÿÿýþüþÿÿÿýýýþýüþýýþþýýÿþýýýüþþþþýÿÿþüÿÿüüÿüüÿÿÿþýÿÿþþüüÿüÿþýýÿþýþÿÿÿÿÿÿþüþþýýþýÿýÿþýþþþÿýþýýûüÿýþÿýýÿþýÿþýüþýýþþýÿþþýÿþýÿþýÿþýÿþýÿþýÿþþýþþýýþýýþýýþýþþþþýÿþýÿýþþýÿüþüþýýÿýýþýýþýþþýÿþþþýÿüþþüÿÿýþþýÿþþþýÿþþýÿþþýÿþýþþýÿþýýþýüþþýÿþýýþýþûþûýþþýÿÿþÿÿÿÿÿÿÿÿþüþýýÿþÿýýûþþþûÿÿþÿþÿüþþÿÿýýþþþþþüþÿûýþüýþüþýþÿþÿýÿþþýþýýÿþþþþýþþýýþýÿþþþýÿþýÿþýÿþýÿþýþþþþÿüúþÿüÿùþûýûýýþÿüÿþýÿýýýüþýüûþþÿüûÿùúùÿùûûÿÿýþþÿþÿÿýýþþûþûøÿ÷ÿðòüù÷õýúüúýþÿÿüþþýÿþùôðïýñîýîóÿüýÿûþýýëÿ+1ÿöÿøéÝÿðíþäéýòþýý ýþ ÿýÿù$ÿúþúçýâÞÿêëæÿíõþÿ  ÿ ÿ ÿÿèþ!3þòòþïëýÞìýñäÿëóÿ ÿý ÷ÿúÒ)þ>ìþôñÿîÛÿþõÛýéöþÿÿ ÿùÿÿàñÿKðýöéýßéÿâåÿñüÿ ÿ ÿ øÿßÿùGÿíóþëÝÿîÿêéöþÿ ÿ ÿ öüÕÿLÿïóþëÙþóþããþ÷ÿÿÿ  þþ  øýÕüTþ÷øøãÿÙìÿßàÿóýÿÿ ÿÿüÿÕ'6ÿîÿìáÿ×ùÿøáÿêöÿþóäýG üñüâÖýÜÿæÿãëýþþ ÿ þÿ åÿÿNëÿöøÞþÊäþÛìýóÿ  þ  âþ=(áüûêûËÇøÿìãÿóÿ þ  ýÿðÿ?ôÿùïÿظÿÙóýàñýûýþ ÿþþü>þîûóÝþ¾Áêýåéýùÿýþÿýü ÿÿåý×ÉýÈàñÿøøÿüþ ýÿ ÿ þý÷ßþÖÒÿÞåÿ÷üþüþþ ÿÿ þ ýÿ÷àÿÙÒÙëÿóúÿýÿþ þüúýíÿáÙýåàþñõÿöüÿþÿÿÿÿ ÿÿÿôÿêâãÿèì÷ýúüþûþþþÿþ ÿÿÿûíçÿäêÿïóý÷öûýúüý ÿ  ÿüÿ÷îèÿêñúúõÿôùþýÿþ þÿþÿýøÿøðÿòóöþøöýùôýùúÿÿþ ÿÿýýùþ÷ðþíòÿôöùÿöóÿ÷üÿÿÿ ýþüü÷þòñôóÿøùôÿù÷ÿ÷ýÿÿ ÿ  þÿüþúú÷ù÷øÿúöþ÷öøýúþý ý ýýÿÿüøýö÷þùöÿúóýô÷ýûüýýý ÿÿüÿþþùÿ÷÷ýúøþùûÿúùûÿüþüü ÿþþýþþýûÿúûÿúüÿøöÿùöÿÿÿÿÿýÿþþûÿýúÿùùÿ÷÷ÿúöÿöøþüþûÿüýÿýþþýûÿüùÿüùþüúûýúøüþýÿüÿÿÿýýÿþýÿÿþùÿüúþûúÿûúÿøüÿÿÿüûüýýúûÿýþýúøþýþÿöóÿÿÿÿÿÿÿýÿý÷þûöûýúÿ÷ýëõû  ýûýîþúîíôÿûùÿýöþûî 5ÿÿúíöÿùèêÿëòÿôîþöïý29÷üéóüûèü÷ìþ÷åïÿãþ\ÿÿùýææþÿåçýüñüêýüÞþd ÿ!ÿõþÒìýÿàýéìýð÷þêýjÿ þôÎüäñýÝçÿìñûþôüüoÿþøÞþÝûÜçóîÿ íÿÕÿiéÿÿÿÛÿíýÖóýõõÿÿêÿÉ5@ýÚ$ýïþÉÿÿÓþìÿû ýÒ^þêþëóÿÉþáÙÿÿå  þèmþ ÿêþçÒþÓýÞùþäþüüòÿeÿæü÷ÿäè Îÿìóýéþôÿà-EÛèÿþÐþøýÊúþî÷þ þþÕÿQÿéþè÷þÉ þêÔÿãÿìþløÿ ëæÐþÒüáüüä üûüðþfàÿûóþÙèýÆÿîòþí üý ÝûCBÞþ$ìÿõÍÿþþÇüýìõý üþÝbÿçÿ åÿîÈýèÏþáÿÿïÿoöÿêÿèÐÿÕÞÿÿäÿöÿ÷iæÿþñþÚàþÍîþöê ÿôäÿI>ÿÞÿðöËÿýüÿËþêþùþüèÿdïÿëÿíÍþéØÿåþþ ÿþlþòþðä×Úÿåýçÿ öþíÿ$^þäþ÷ö×êÿÖ÷þõîþúæþL4üåýïõÿÏÿøüÚýëüú÷dÿøü îüêÖ þàåþþæÿôõþ^éþ ùÿôßçþ×òþöêÿ÷þçÿ<?ÿáïÿ÷ÓÿûýÒýëÿùÿÿó^ÿñþíïýØ ÿåãÿæÿøü ÷ýZîþþðþååÿÛóúþíüûýï7ÿ;éÿôõÝöþúÚüûñûõýùüPúìûòîýáîèüíÿôþ ýþ ôþùñýöíüüòþðûÿíÿýþÿöôÿõúðþöìóÿùíþþ þò÷ýïùþóòÿóìùñûÿþÿõìòÿöùþòùþîóøÿóÿ ÿðøÿùýøÿñôþì÷þüùþþûúòûüöøþõòÿóïýûûþÿþ ÿþòþûóÿúöðòÿôþÿüÿ  ÿýôóþùùýüôþõõúÿÿþ  þ ýþöþýúýöÿîóþ÷üÿþ ÿÿþ÷þøöüùñýò÷ÿüÿÿÿÿÿÿþûÿøù÷ïÿôøÿýÿÿÿÿÿÿÿüþûùýü÷ÿòöûþÿýÿþýÿûÿýúýøóüõúÿþÿþÿþÿýüúùøÿ÷õýúþÿÿÿÿýÿúþþýüøÿùùþùúüýþÿþþÿþþýþÿøÿûÿûøý÷÷üÿÿýÿýÿýüÿÿýûþýöÿúúùüÿÿýþýýþüýÿüùûûùþþÿþÿþÿþúûýùÿùüúüýþþþþÿþÿüÿüúüýùùÿüùþýÿþÿÿÿþÿûùþü÷ÿûûùþþÿüþÿÿþýýþþûýüþÿþûÿûúÿÿÿÿÿÿýÿÿþüÿÿüúûþúûÿýüÿþÿÿþÿÿûþüýûýþÿüüþüýþýÿþýÿþýýþýþÿüúÿýüþÿÿÿþÿýýÿþýýþýýþúýúûþýüüÿÿüþýûþýþþþþýýúýúüûüýüþýÿüÿþþýÿþýþÿøþüüüüþüýûüÿÿþüÿûÿÿüýÿûþýüüýÿüþûÿüÿþþüÿÿüþÿüþùþûûþþþþûþÿýþÿýýüþýüþúüûüÿüüÿüÿþÿüþÿýÿüÿÿýþþüýÿüÿûÿýþýþþþýýþýüþýÿýÿþýÿþþýÿþýÿþþýÿþýÿþþþýÿûýþÿýýþüþÿüýÿýÿþýÿþýþþþþýþþýýþýþþþýÿþþýÿþýÿÿúÿÿýýþýýþýþþþýÿþýÿþþýÿþýýþýýþýþþýþþþýÿþýþþýÿþþþýÿþýþþýýþýýýÿÿÿþþýþþýÿþþýþþýüþýûþýýþþþýþüþýþþýÿþþþþýþÿüýÿþþÿüþÿýýÿþýÿþþþþýÿþýþþýýþýýþýýþýÿþþýüþýúþýûþýüþýúþýúþýýþþýÿþþýÿþýÿþýÿþþýÿþþþþýýÿÿþþýüÿüüÿýÿÿýÿÿÿÿþÿþýÿÿÿýýÿþþýþþýýþþýþþþýýþýýþþþþþþýþþþýþþýýþýþþýüþýþþþýþþþýÿþýÿþþýÿþýÿþýþþýýþýýþýÿþýÿþýÿþÿüÿüÿÿüÿÿþûÿþÿýüûþûýüýþþýÿþÿûþðìÿ þÿûýûþ÷õÿïðêþðÿ þÿþý÷úÿùîþééýéÿ&þüóýûÿÿõëéÿëòÿ" þùñþôÿðçêÿß?þ ÿøêþ÷ÿòÿåèþæäþB/þ ïÿêãþüÿïæéáÿ Qÿ&öÿìæñÿ÷ÿîãíÿÚÿWýïûïæþÿòíþçëÿÔACôýæ÷þãþòýçóýÚóýhùþîòûéùý'þÿìçöþÃWü(âýøÜÿ÷Ú-ÿõÿâüÓÿfÿçýÞÿòàÿþ+ñþìàÿúÎýO:üäüýÝüÝÿ"þõãìÿîäÿmñÿñæÿúë.ÿýðÿßÿÑþ"\ýãÞüøëý!÷þàêüîÙüg ÿñöâüþî)ÿ ñ×ùþË0þHáÿÓÿþéþôÿáèþçèþi ý÷íýâüë)þìÚÿïÔý%^ìýÚýôîþ#ðþéÛþôÚÿUÿ7ëÿýÿ×ÿþê þîÙíájþÿüéþê÷þø þÿáþáôÿÖLÿ<êüþÛûþìÿóØÿ÷Úýfþõúáëÿõùþ#þæÿàòýÖOý5èþúÙÿüëÿ ÿóàÿîãüþeúõêúéûýö ýüëýàôÿÙ0ÿRëÿÿßÿøóýþôãéÿíéYÿëùÿâþÿñÿ ëÿäøÞþSýñõþëôþú÷üôýëîþøÝÿ88âþñëÿÿÿðþàÿëìþ "ýìíÿöéÿþèõþÿþ þìãüðûýõþðëÿýÿ$üÿüàçÿóøþâþõýþ'üñûÝêýüõÿôþíøý*ýýåàÿñÿÿýÿíù÷ÿÿûÿÜçýõýÿÿûõÿüþÿþñçýñüþúþúýþü ÿÿþæíþ÷ýûúþùúÿ þóèþôüþôýÿûýþýý ÿüÿíûóúý ÿÿùÿ÷ÿþ÷þñùüþÿýþùùÿýýþþôþöùÿýÿøÿþÿÿÿÿÿöúýüÿþþûýýøýÿÿüÿþúõþüýþÿüüþüüýþÿÿÿÿûúþýþþýüùÿÿÿÿÿýýþüþþþÿùýþý÷ýþÿþÿþýüÿýûýýøþýÿÿþýÿýüüþÿüÿüýûþþýþýþÿüýùýúÿÿüþüúÿúüüþÿýýûÿüþÿþüþüùþþþÿþÿüþüüÿþÿýþÿýùúÿÿþýþýûüþþüýþýûøþúþÿÿÿþþüýÿþüþûþøõüþÿÿýüûþÿÿýýûüÿùúõüÿùÿøúÿøøõúþÿÿþøÿùÿÿþûõÿ÷üý÷óþñôþòööþ!þ þýûüþÿõþóóüôêýöêÿ4  þ÷ýðíÿïÿóìþñíýôïýCÿÿùæèýýëýëîéÿóôýþøþ$@ÿÿüôýÜêýñåþìèðþöðÿò!ÿSÿþÿôþÞïþùèÿåïñþÿôÿûñüþlþ þòÝþÞñèÿöðÿïÿêøvýùþÿóÛýÙþèíÿýðÿó þæúÿoíÿþòÓÿÚßðþüõüðþà þeãýöùÿØéÿÚîÿôðÿó þäÿþeãþÿüýÜüêþÛìÿôìÿïþåþ[þÔþúþåïþ ÖðþôíþöæøÿVÕþûþàþç þØöøþõþñãTÖÿúüûãðý ÛòÿóñþöþãþRáÿûüþãïýßÿòñôþöüæûNýéøÿúæÿòþÿßñÿô÷ÿúýèüüNíÿÿüöþäóÿåò÷öÿøþéþGþêýü÷þèíÿæñ÷óùÿäý ?þêøÿüåÿòþäÿóøÿôøÿåÿ ?êÿ øÿøåöýþâÿò÷ôþûýâý:ÿëøÿúçöÿþæñÿöõýùþãü3êüõÿúåÿõúåþôöûöÿýþÝþ&(êýõúÿäûÿøçøÿôú þÿÿà/!î ÿñõþçóÿäøÿôýþæ=ÿ ùÿ ôòþéýðçþùñÿÿëþDýýÿóÿñìÿêêý÷ñüÿýóþùEþøýý÷ëòæýðõüôþý ñþ 8ý÷ýøóèÿöÿÿáÿðôÿøûÿæÿ&)ÿï ýñóþâþøþæöþõüþþ þå6ÿñ îõã óäÿøðýýûûéDü ú þñïýæ éþë÷ýóýøýÿòþMúýðüïæý ãþíöðÿ òýòþIëÿüôýäîü Üÿõôþô þñêû>üäôÿ÷áøýÛþùïù ÿòþç,þ0åÿñöÚÿÿÞúÿíýÿøýå@þ èþíôÞ÷ßûæþûþ êMý ñüíþðÝðäÿç ÷þÿøUÿñþîêýãÿåèþúéþôÿ õþQäþ þÿðåÿëþßñüõïüóýêý%Cþáõÿòàÿ÷ Üÿõïþôþøÿè5þ,åýõýôßüþÿýÝúüîúýý þçKþêððÝõâüêÿþýþûTúõôèå éæþùìþúÿøÿJñüúüóåÿïçëóìþÿ'öÿùôúÿñ÷üÿëðÿðñýýÿúùÿïøÿ÷ûøñÿõîÿùÿÿþÿöúóúÿöüÿôõõÿôýÿÿ ýñþ÷óþõöþùþþõöòøÿ þ ðýû÷ýû÷ÿø÷ÿðöþùÿüþ þüøÿýó÷öÿú÷ÿ÷ûøýþ þõþöý÷ÿùôÿöÿöøÿüþþýýõõÿúùùÿöúøþúûÿýÿ þÿøúþüøþùôÿøùüÿÿþýþúüüýüúÿ÷÷þüûÿÿþÿþÿÿýøþýûþúõÿ÷ûþýþþýþþýÿúüúüýü÷þ÷úÿüþÿÿÿÿÿüÿýùýûûýöøþûþþýýüþûþüþýýûþúûþúõýúüÿÿÿýÿÿýÿýÿÿüþ÷þûüøþùúýÿÿýÿþÿÿþûÿÿÿùþüùýûúÿøýþÿüÿýÿÿýûþüýúûþýüùÿýÿÿÿÿÿÿþþýûýýþüþÿûÿýûùÿÿþþÿþÿÿÿÿüþþÿþþùÿûÿýûÿÿÿþÿÿþÿþþûÿüÿÿüþüùþüùýýÿüÿþÿÿþýþÿüûþýûùýýüÿüþþüÿþýýýþüýþþþüüÿúûþýþÿÿÿÿÿüÿÿüÿÿýûÿýùúüýþþþÿþþþýþþüýüüÿüþÿýùÿýüýÿüüþþýÿýÿüüþüÿüýÿÿûÿÿþýþÿýÿüýþþýÿüþÿüüüüÿÿüþúþþþþüýÿÿúþÿýþþÿþüþþýýþÿýÿþûýýùþûÿþýþýýþÿýþÿýÿýÿüÿüÿÿüùþýþþýÿþÿýÿúþþýÿþÿûÿüþýþþþþýýþýÿýÿýþþüýûÿÿýþüýþÿþþÿÿýýþþýüýþþýþÿýüþûÿÿüýýýýþÿýÿúþþþüýüýþþþþýÿýÿÿÿÿÿþúÿÿüýÿýýüþþýþÿýýÿþúÿþþýþýýþýüüÿÿýþþýþýýþÿýÿÿýþþþýþþýþþýÿýÿÿýÿýÿüÿÿüþþýþüÿýÿýþÿþýþþþÿÿüÿþÿüþÿûþýûüþýûþýýþþÿýþÿýýÿþÿûÿüùþÿþÿûþþýýþþþüÿÿýþþýþþþþþþþýÿþýüýþþýþþûþüÿýüýþÿýþþýÿýÿýþþüÿþþýþþýüþûþûÿþýùýúüþÿýÿþûýÿüûÿþýþþýÿþþþýþþþýýÿûÿýþþýÿýÿþýþþýÿýÿþýüþýÿþþþýÿþýüþýýþýþþýþþýýþþþþýþþþþþüúÿûÿþüÿþÿüÿÿýÿýÿýþþüûþýýúþþýþþþüþÿüþþüþýþýûþýúþýüþýþþýÿþýÿþýÿþýÿþýþþýýþýýþýÿþýÿþýþþýÿþþýüÿüúÿûüýûþýÿüÿýþþþýÿþþþüýþûüÿþÿýýüþýúüüüÿüþüÿüþÿýÿþþþþýÿþýüþýüþýûþýûþýúþýþþþýýÿýÿþþÿüýüýþþýþýþþÿþÿÿÿÿýþÿÿÿýÿþþþýþþþþþþþþþÿýÿüýþÿüþÿýþþþýþþþýÿþýýþýýþýÿþýÿþþþýÿþþýþþýýþþýþýþýýþÿýÿüþÿüýÿüþþÿþÿýÿüÿþýüþýýþýÿþþþýþþýýþüýýÿúÿúÿÿýÿþþýþþýýüþýýþýÿþýÿþýþþýÿþýÿþþýþþýÿþþýþýþüüüýýýÿþþýþþýÿþýþþýÿþþýþþýÿýÿþýüþþýýþýüþýþþýÿýÿþýýøüýþýÿþþýþþýÿþþýÿþþþþþýÿþþýþþýýþýýþýþþþýÿþýÿþþÿýÿýþþÿûýþüþýûþýýþþýþþýþþýÿÿýþþÿýÿÿÿþýÿþþþýÿÿüþÿúÿþýÿþþýþþýûþýýþþýþþýüþýýþþýýþýûþýüþýþþýÿþýýþýþþþþýÿýÿþþýþÿþüüÿùÿÿüÿÿÿþüÿÿÿþþÿÿÿþþÿÿüýýþÿÿÿÿûüþþÿÿÿÿÿþÿÿýþÿþýþþÿÿþÿüüþþÿÿþÿÿÿþýþÿÿýÿþÿÿÿþÿþÿÿÿÿÿÿÿÿþÿÿþÿýþþþþÿÿÿÿþÿýÿýÿüÿÿÿþþýýþýýþþýþþýýþýÿþþþþýþþýÿýÿþýüþüÿÿýþÿþûþÿüþÿþþþþþýþþþþþþýÿþÿýÿýþÿÿþÿþÿþüÿþþýýÿþüþþþþýþÿþþÿþÿÿýüÿþÿýýüþþÿÿþÿüüÿüýÿýþýþûýûþýüþýýþýýýÿýýþþþüÿÿÿüÿþýüþýýþþýþþýþþþþþþýÿþýþþþýþþýÿýÿþýÿþþýþþýÿþþýþþýÿþþýþþýþþýÿþþþþþþþþþþþûÿýýÿþþþþþýþþýÿþþþþþþýÿþþýýþýýþýþþþýýûüþüÿûþýüýüÿüþþþõï þþþüÿøúýÿúõñÿùùÿüüÿÿûýÿÿ ÿþýúøþ÷ùïÿñðÿôùÿùüÿú!ÿ ýþúñüöùþôóîôÿôîþòöÿ9ÿ1 þ ýïýäóüôçÿõÿ÷þþñûþêúþXÿþøàýàþýêåÿðóýþøøþôïÿZ&ÿþôæ×ÿþèÿëåñúöÿà-OÿÿøÿóØýïíÿåÿéòùÿ öþÞùÿfþ  þ÷àþäëíýòÿéþ Æ ÿdÔý$ÿüûØþñ ÿÙ÷ýüýþíþÀüdÎÿ)þÿúüÓïýÔõüø÷ýóþÍ ÿlÿÔ!üüüÛþòÿÓÿôïýùÿÿ ×þûpýãþ öÿçéþ×ÿëóôÿøÿÏþøgÍþ üüäþï ×ÿôöÿúôÿÍÿ÷hÑýþøÞë ÿÙïÿòöþóÿÊ þ`ÏÿõÿûÜðÿ ÔýòïþùÿôÿÖÿ hâþùõÜþðýÚîþòùÿúüØûbâþùöþÜîýÖÿðõõþôÿÕ[ßþüòÿÖÿòüÚðþõòÿöÏþ'GýÚÿõùÕþöÿþÚôÿôöþ÷üÏ5ý@ÞþðõþÑüþúÛõÿïüÿÿÿ×L(ÿêýîôÿÖÿîÜþ÷ëÿÿ ÿãVýö îðÿÚþèãôþêüÿýü÷þ_öþÿïÿçãý Ýÿç÷íÿúó þ_îþõñþàéþÔÿïðîúæ2Läÿîñþ×ûÿÿÕÿöîþøÿÿßþO0þèýçòÿÖ òþÖùÿèõÿêþgÿöèîÚþÞþÞûÿé ëþÿþþkíþìÝÿåýÕëüôêü êþíþ$ZþÝýõïý×õþ Ïöîõ ðÿä<þAÛÿÿðòþÑÿþÐþûéôÿëUþ#âþíîÿØ þôÜÿöçûÿøÿ&ýõúýðóýéþõæÿïêÿþÿ  ÿþóÿùñÿûøýñïÿòîÿÿÿûõîÿóöý÷ûþðòþï÷ÿýû ìùóíúùðüþ÷þòóýîýü ÿÿ þúðþ÷ôýüôþýóñÿõóþý  ÿ ôøþö÷üûöýøñþù÷ýýý þþôþüõþõõþôõÿòÿùøþüþÿþð÷ÿõöÿøøöóÿýûþ þ ÿÿöÿüùþüöñÿõùþþþþ üöûüþúõÿøûûÿþþýÿþùþùùÿõóøÿùÿÿþýþÿÿü÷ùúõõúþþÿÿþÿýþýûûûù÷óúþüýüüÿþÿÿÿüÿüùþüúþùùÿþÿþÿÿþýÿÿýÿýúþ÷ùÿúùúýÿþÿþÿÿþüúþùùýùùÿøýÿÿÿýÿþþýüÿýùÿüýøþüÿÿÿÿÿýÿüüÿüýüúýýûÿýÿÿþÿþþýþüüÿýúÿøûýûùýÿÿüÿýÿþþüÿüýýùÿùûÿúûýÿýþþþÿýþÿüûþýûÿüùþýÿýÿÿþýýÿýþûÿüüüýüþýþýÿüÿÿýþþýûýúüüÿúþÿýÿþþýýþýüþüÿÿüüûþùýüÿÿüþýüÿþýÿþýÿþþÿûÿüÿþþüÿþÿýÿýÿþþþþûÿÿýÿÿÿÿÿÿÿüþÿýüüÿÿûýùþüþýûÿüüÿÿýþýþÿüüýþþþüüþýþýþþýÿþýýþýþþþýþüÿþýøþüÿýÿüÿýÿýûÿþþüþÿüþÿýÿýþþýÿÿúÿÿþýýþüûûýÿüþÿüþÿýþþýýûÿÿüýþÿýÿüÿüÿÿýþÿýþýýÿþÿûþþýÿÿýþýþþýÿúÿÿýþûþÿüÿÿþþþþûÿÿüþþÿþüüÿýûýýþþýþÿýþÿûýÿþýýÿüûÿûþýüýÿþýþÿýÿþþýýþýýþýüþüüþûþÿüþÿýýÿýþÿýÿüýÿýþüÿÿüüÿÿüýÿüÿþÿýûÿýÿýþÿýÿÿûþÿþýýÿüûüüÿýÿþþþþþþþýþþýþýÿüÿþÿýþüþýüþýÿþýÿþþþýþþýþýýþûýþüþþýÿþþýÿþýþþÿÿÿþýþýÿþÿÿüþþþýÿþýþþþþþýþüþÿüüþýýþþýÿýÿþüüÿÿýÿþþþþÿÿÿþýÿýþÿüþþýýþýþþýþþýýþýþþÿþÿüýþýÿýÿþþýÿüþþÿÿþÿþþþÿÿÿÿÿüÿÿÿÿÿþýûþýÿþÿýÿþþüþýÿýýþþÿþþÿÿÿÿþþþüÿÿþüüÿüþÿÿÿÿÿþÿÿýÿÿþÿþÿþÿÿÿÿÿþÿþÿÿÿþþýÿüÿÿþÿþÿþÿÿþÿüýþþýÿþýÿþýÿþýÿþýÿþýÿþþýÿþþýÿþýûþýûþýÿþþýÿþþýÿþýÿþþýÿþýÿþþýÿýÿýÿüÿþýýþýýþýüþÿýþýþþýþþýÿþþþýýþýüþýÿýÿþýýþýüþýþþþýÿþýÿþýþþýþþþþýþþýÿýÿþýýþþýþþýÿþþýÿþþýÿþøÿúýýüüüÿüýüüüÿüþüüÿÿýøûÿ ÿÿüÿõøÿøõÿñòÿøúýýûýüýþÿþÿÿùÿøõÿøîÿïòÿø÷ÿøúýøý'þ ÿúòò÷ÿñîý÷õÿ÷ïöíBþ þÿøèêÿûðïüýõüýíúþÞ+ÿJþùöÙòþýéüð÷þüÿôÿþì ý^ýþõÝþãüþèéþìüýüüõþýÝ/QþýüîÿÓéÿ÷èÿë÷þþ ñüûàüý`ÿ ÿ ùàßÿóíýúÿì÷þË ^ýßü öþÚìÿáðýÿÿÿñÿýÍÿÿgãÿ üÜè ÿÞêþýûýüþÞþðkÿðÿ öýæáþßéýôùû  üþëÿÚÿbþîýÿòÞþþèÿá÷ÿö ÿÿè×jÿìþõÿñàÿ êãÿþôþüÿêÑþløþõðþîÜþéÿåýÿóù ÿãïýmàÿ ïÿæáÿáèÿûðÿüÿ ðüäqýúýÿÿñæþÞÿàÿèøÿïÿùþæùümèþ ÿòäýæ þÛëûýîýõýÜýbßþûÿõÜé Úñ÷õôÍý<>üÜÿîÿøÐÿùÿÿØþõòÿù÷ÐM2ãþëþ÷ÈÿöÛúêþý ÿàg ôýëýðÒ þçßü÷ëýþðpû ïëÿ×âãóìÿÿ ÿ÷] ÿíýþñíäýèüåíþóýýþÿ ýõçþö÷õþöìÿëìÿóüý%þüíüèöþüüìÿëêþòúÿý)ÿ ÿùñæÿøøýýìüîìüïÿûþ ÿóôïëÿüöþéþðôöÿýüýêÿûñþôøþûüýìóÿõ ÿþþîÿîýöóýùùìÿøöÿ ÿ ÿþìþþîûóóþùôÿíùúÿ  ÷ýìûýóøÿ÷ûúïúþþ ü üýÿôòþøþöïÿøüõÿûÿý þ þøõû÷ñòúýûþþþüýúôÿúöüôôüüüÿÿÿþÿÿøÿ÷ýøÿööýýÿþÿÿÿÿþüþýûøÿûûôôþùþÿÿþüþûüýýùýùùþ÷ùûþÿÿüþüþüýøýúøöÿùúþþýþüþþýþÿûøÿûûøÿùüþÿÿüÿûÿÿýýúùýùùþúøÿÿþþþÿþÿüüÿüýûúûþúûýýÿÿÿÿÿÿÿþýûþûüúüüùþýûÿþÿÿÿÿÿÿýýûþÿýûÿúüüÿüþþÿÿþþýÿþüýúÿúûþþýþþþýýÿýÿýþüýÿûýÿþûþûùþüÿþÿþÿÿþÿÿÿýþýúüùüüÿúøþüýýö þÿôóõùöÿööÿìåþ/ÿüÿòóýþìýïðüíêþò'&ÿõðûÿøñýðíüííþ'ÿ ýýùóüöùþïçóåüÿ'üÿþýóÿþùøÿêèØÿêUÿñþàéÿýíýç÷ÿÏEþMú ÿéñÍýüñçâÿïà`þ:úûìÿëýÖúíþóãêýÓOûHìüíþñ×ÿ  ýçôýçîýË[ý4éÿ ïÿÿÚÿ óäøþ¹,ûKÌû Þýâÿ#õþâþÿÖùÿqÕÿößòÿìü;÷ÿéÚÿûÎZþ4ÜýþÒüÔ-þêþâßòþçoþæýôãýóßÿ:äÿÞðÿëîuÿóñÿè÷êþ;úþãàùÿÇ4VàÛÿýçÿ)ðÜ÷Ùöÿiòÿöÿëëÿöñþ* ÿÝáþóÐþ[.äþ÷Øÿÿà!óÙêÝ kÿûùþÜëÿïÿò2þôìÿÔôà2þaëüÚýþåý %üìäýÚøýÝYþ5éÿþÞýÿçÿÿëÖþúÙÿ`óýþâñÿëúþ×îìâbÿóîâÿöæþÿíØöÏÿ:Eýíþý×÷ãÿøüÝçþäêdþöìÿäõèÿ(þïÜýïÝücþÿûéíÿíÿ"üçãÿóÞJý:îüùäþõëþþöÝÿøÛþZþüÿäðéÿýþãþæðþÚYüóÿôßôÿì öÒÿüÑþWñýÚÿóæÿüþèßýòÙýQ*ÿó÷ÿßôäÿ ÿôßíÿÞý]ÿ øêÿíèÿûÿñàþ÷Ðþ9@óüÿåóÿåþ ÿÝöáÿù^þÿýìëýæøýýôáýöÒþF4ÿïÿÿèîåÿÿüíùÿèíþF!ûóëüëñöÿ  ÿëèÿþõÿÿëãþðùýÿéöþý ÿ&öþáêÿôÿþùåýÿ÷ý%ÿéßïÿûýþçý÷÷ý-þõÿÝÿéòýÿýûýðöýÿ%ÿýÿéáþóýýóÿø÷þ ýùæîÿùþþüýùøü ÿïêüòüýúþúúþ ÿ ûÿéíöÿûÿýþÿüùþþþñïþùþøÿûÿûýýþùóøÿýýüÿûüøüüÿÿÿÿúûÿýÿÿÿýøÿýþþüúûÿýüýÿÿüþÿýÿÿùþûûýþýýüûüþýûýýÿþþûýýüüýüüûþÿúþÿÿýÿýûÿþþúûþÿþýÿüüýÿÿÿþþûýþþþþÿÿøþýýþýÿþûÿýûýÿüýüüÿüÿÿþýüþùüþÿÿÿÿýþþýþþýÿûþúÿþÿÿüÿûúüÿýÿÿþûøÿüþÿýÿüüýÿÿþýÿúùþÿþÿÿþýüûüÿÿýÿÿÿüúüÿþÿÿÿÿþýüüÿÿÿüüúýþÿÿþýþûùþÿþýþýþúýþþüþÿýÿûýÿüÿúùûÿÿÿÿÿýÿüÿÿÿüüÿúüùýýüüþÿþÿýÿÿþýúÿùùÿþþüÿüýþýþýÿüÿÿþúûýÿÿþýþÿýÿýþþýýþýýþÿþþþýþÿüüÿüüüüÿûÿýÿþÿýÿýþþüþýþþüüþþÿþÿÿÿýÿýýþþûÿýúúÿÿÿÿþüÿüüÿÿüýûþýþþýþþýþþýþþýûþþþþýÿüþýþþþýþþýþÿûþýûýÿÿýÿÿýýÿþþþûþûþýýþþýüþýüþþÿýþÿýþþüüþüÿþþþýÿþýýþþýýýýþþþþýþþýýþþýûýýþþüþÿüÿüÿþÿýûþýþÿýÿþþýþÿýüÿÿþýÿüýüþýüýþüüüþÿýÿþþýÿþýýýþüþüÿüýþýÿýÿþúûþýýþýÿüüýþýûþýüþüþÿÿÿþýýÿüýüýýþýýÿüûþþÿýýÿþÿúþþÿüýýüþýýþýþþþþþýÿþýÿþýÿþýÿûüÿþÿþÿüýÿüþüþþüÿÿüÿÿüþýþþýþþýÿÿýÿûÿýþþýÿþþýÿþþþþþýÿþþýþþýüþýûýþÿüüþÿüþÿýÿýÿýÿÿÿýÿÿüýüþþþþþýÿüÿüþþÿúÿÿýþÿýýÿþþýÿþûÿüþüþþýþþýþÿýþþýþþýÿýüÿÿüýÿþýýþýþýþþýÿûýÿÿÿýþýüÿüýûþÿýýÿþúÿÿþÿüÿÿýþþýýýûÿûÿÿüÿÿüÿÿûýûþþüÿÿüÿÿüýýþýÿÿÿûþþþýÿþýþþýÿþþþþýÿüüÿýÿýÿûÿüýþüýþþýüþþýþýýþüýûýþýÿýÿþþþþýÿþþýÿþýûþýüþýÿýÿþýýþýÿýÿþýýþûþüþÿÿýþÿýýýþýüþýþþýÿüÿýÿýÿýÿüÿÿûþýÿÿüþþÿüÿÿþþþþûúþþþúþÿýÿþýÿþýüþþüùûÿþþýþýýþþûûÿüüþûÿÿýüüþÿýÿüþüÿþýúýúûýùùûüÿýûÿþþÿüÿ ÿýþÿúþÿýýú÷þöúþþùûþüÿ ÿÿüþýýüùýüùþüøÿýñþøóýö1ýÿúôýíþÿöïóÿöþûøýø÷ý<%þýúïûß÷ýôéÿôóÿûõþúùûü9ý- ÿ ýþñäýöòÿëçÿôöÿøùþî ÿHÿþùêÿéúÿðëýôøþþûóÿôÜÿG2þú ÿüôßøÿüéÿõúþëÿñËNÿ/éþõðÿÏÿþäùýüý ïýÿÊþ<Iåÿú÷ýÒóýýÝïüûýóÿþÒ"þ]êÿöþßêþßþêöÿ÷ÿýýýÖý\ÿóÿüýëçýþäýåøýöûÿÏþaýáûûþéêþçäúýöþþÒ ÿ^Üÿ ÷ÿèèÿâþçüøÿø ýÏü]Øÿÿõâì ÿÝéÿù÷ý øý Ó*ÿSáÿùõÞÿòüÚëÿòÿ÷þúþÕ;þKãþôþõÜÿõÙîôùÿüÿÛO5ÿçÿòïýÚüýþ×ôÿòýÿÿÝÿdëÿëüìÕüñþÛ÷ÿñýö ýòþüoöýíÿãÝÿ âàÿôïÿøéþ%_ýéÿ÷ÿóÛûèÓþêòöþöÿæTÿ<éèÿôÖÿýûÓÿðêþÿøýÿômÿõçíÖÿ êÖþóëýöýýÿgÿùûýþæþáæÿäáìþñ÷úù üÿõíÿìùûÿõçäÿêòÿþþ#þ þ÷þëíÿýüòæþéêýöþÿ 'þ þððýçôùþüíþéííþýþþ%þ÷ìëêöÿýîïéÿóÿýüò÷ÿöÿùùþüýèþíñÿÿ ü þ öýüñüñóÿûÿùïûôõý þ óùòòõøþôðÿ÷û þ ÿþùþðóýóõÿùùöÿùúüÿ  þ þúþ÷üýùùüõôþöøþÿ ÿýýüøþúöÿöõÿøûÿýûÿÿÿÿÿúóÿöôöôõþýüþþ þÿÿÿûöö÷õþøùþþÿþÿþÿÿþþùüú÷ýöøÿùûÿüÿÿÿþüüüüùüùùüùùÿýýÿÿþÿÿÿÿþÿüøþööþúùúþþþýýÿüýúÿ÷øÿø÷ÿüþÿÿÿÿÿÿþþýøþ÷øÿúüýÿÿÿþÿüÿþùüüüúúþûùýýýýÿÿÿÿþÿÿýþþú÷øûþüýûþÿÿþÿþÿÿüþüüþüùýüùüùüÿûÿþþÿÿþþýÿûùûûúýýýþýþÿÿþüýüþÿþûþüÿÿÿÿÿÿýÿÿÿÿýþÿýûúþüýÿþýÿýÿûþýþþýþüüûÿþÿúþÿýþýÿþÿþþýþþûýý÷üøûýÿüþðý ÿúÿóúõÿ÷ûÿöìÿöÿÿ þÿÿôÿöóÿûîìÿðùþÿ÷ôÿüõöôöÿ üöÿöîùÿïêÿíþÿ?ÿîþôçÿ÷ëþæêþï ÿ34ý ÷üìêçÿîóýæéûìü 6ü'øþûéåþå÷ðæïþÿ6>þüòÿîäôÿýçÿéïóÿ0KÿíÿêÜÿôýôÿåïâÿýtþüÿôëþÝàÿåþæíÿÊbAñüßíÌÿþøÚÿóËÿsþùþÿàÿíÒýó*ýýáþäêþÖký6ñõýÞéýÎ%ÿóÛþøÍ!oòÿÿÛìÿÌý5çþäêÿÛo#þñðÿØáþÔ3ÿôØþ÷Åÿ6XçÕñÇþ,þâþîÚþêzÿÿýãþâÙÿæ?÷ÛôÂþPGüëÿýÑêÿÊ(þ(üÜíýÑÿþoôÿÛçýÓùý: ÿñÞêþÇdý,óþøÖÿèÕ6ÿÙþñÁþ$bìþ ÖÿíÏþ/þèßÿÞÞnþÿýîÚÿáä8ÿûþØñþÀ6ÿUð þÕëýÎÿ#ÿâèÿÔñÿrýÿ èÿæÖý÷2þóÛìÆ^*÷ÖçÔ0ýÝúóÃû^ýíüØíýÏ ý*ýþîåþßÙÿi ôÝãÿà7 úÞòÿÅ.ÿSî ÿÙíÐÿ$ýýäêþÛëþlþíæÞì0ÿóßýñÆþS6ðþØìÿÏ&äòÿÒ þiö ýàçýÔý2íÿåêÏþbûú÷ýÙæý×4üÿýßõþÆ$þ[ìþ ÖýíÎü*ÿÿëéþßÝl þîÞàå6ÿûýÜïÅý>FýðÔþëÐþ "äêÕÿñmýÿçÿãÙýó2þõÜÿìÆþV0ôýÙûêÔý,þÜüòÆúaýïÚþêÎþ (ÿñþåãþÓgþöÛÿåÝÿ5 üÞþòÂý3JìþÔýïÎÿ%ýÿìèÿÞàÿi ýñßþâè0ÿ öÿÝóÅÿA?ÿö ÿÙïÒÿ!þþâñþÎdýñûåèþ×ÿ-ÿõæýéÑü^ÿýÿÝþêÚþ. þûäóÿÈ(NÿñÿÚíÿÑÿ%ðýëáýàb ÿöÞüâãü-þüãÿöÅÿ1Eíÿ ÙÿìÓÿÿêñþÖöýb÷ÿ ëþå×ÿõ)óÿæëÿÐSÿúþÛçüÙ'üüÿæÿõËÿÿQëýßüìÕü $üóÿíáýÜ\þýÿüÞÿåßÿ,ÿêÿóËÿ'JÿïÿÝíÿÖÿ"þýòïýâæþbÿ÷ãýäçý*üÿéöÉÿ=8îÿÝýîÓÿíôÔÿþ^ÿð ÿîèÜõ(ÿÿüÿèíÎHÿ*íÿ áê×ÿÿÿðñÍÿWÿöþóæÿÙú%þü÷ÿöþñ)ÿòçÿêôþÿóòÿúýÿûÿìëÿòÿÿÿòýÿõÿüòÿèíýõýÿÿþðûÿúÿ-ùÿãçÿóÿÿþùþúøû*þûíàÿòøÿ ÿþúý÷÷þ üúåýïõýÿÿÿùúÿÿÿõðþûÿÿþÿýúüÿÿýîÿô÷ÿüÿûûÿÿýýþýóÿñùÿÿõÿÿüÿÿÿÿþüýúôüøÿúÿÿýÿþüþþÿúüúýþûýÿûÿûþûÿÿÿþûþýþÿýýÿþÿüÿÿüÿÿþûÿýþÿüþÿÿÿüýûÿýþÿüüÿûÿýÿÿÿûýýÿýþüþÿýùÿÿÿþþûþýþýþûüûýùþýÿþÿýüüÿýÿüüýÿüÿüýÿÿÿùöÿýûÿþüÿÿüüþþÿþøûþþÿþþýþþüÿþþÿöýúþþÿýûÿüþûýþýÿùýùÿüýþþüüÿüüÿüÿýþüûûúýÿýÿþþÿüýüÿûýùúüþÿþÿýýÿüÿþþýüýúúýÿÿüÿüÿýþþýþüþýýûýþþÿÿÿüýþÿüÿÿþüÿüýÿÿÿÿþþÿýÿýþÿÿýüýüýýÿÿüÿþüþÿýþúùþüÿýÿÿþÿþþýþüýþûýøþúýÿÿÿýÿþþüÿÿüÿúúÿýüÿÿÿýþýþýüþýüÿúþþúÿýþüþÿüþÿýþþýþüûýÿÿûÿþÿüÿÿýþÿüüüÿþþýÿþýÿþþÿýþÿýÿýýÿÿýüþÿýþÿþþýÿþýüþþÿÿüüþÿüüÿüûÿüýÿüþüüÿÿüÿÿüÿÿþþýÿþýýþüÿÿÿüýÿýüþýþþþûþûùþÿþÿÿÿýþÿþýþþÿüÿüûüþþýþÿýþþýþþýÿüþüüûüüþþþÿýüýÿþýþÿûýþÿýþþüüÿüþþýþþýÿÿÿýÿýûÿüþÿüþÿýþýÿüûÿûÿýýþþýýÿüÿÿüÿþýýþþýýþþûÿýþýýüþûýýüýþÿýÿýÿüýþÿüýÿÿÿûÿýþýýþÿýÿýÿÿþþüÿþûýþþýþÿûþýüþÿýýýüþýþþýþÿùúþþýþüýüûüÿÿýÿýûþýþýýþýûþýÿþþýÿþþþýÿþýþþþÿýÿúþþýþýþþýÿþûÿýþþþþÿûÿþýþþþþûÿÿÿþýýþüýþþýþÿýÿýûÿýþÿýÿýüüýüÿþþýþÿüüþýüÿþýýþýýþýýýþþûÿÿýÿýÿþþþûÿþüÿþüÿüÿûüþüýÿþüüÿÿüþÿüÿÿüÿÿüýÿüþÿûýüýÿÿüÿúÿþþüÿüÿÿýþÿþþýÿþýÿûþÿýýÿþþýÿþýÿþþýÿþþýþþþýþýþÿüÿüüþÿþþüþÿüþÿüýúþþþÿýÿýÿýþþýýþýÿþþýÿþþþþýÿþýþûÿÿÿüÿÿýÿþýÿþýÿþýýþýýþýûþþüýÿüÿÿüÿûþþýýþþýÿþþÿýÿýÿýþþýþþþþÿûýýÿþüýþüþûþýþþýûýÿüýþüþþüüøÿö÷ÿÿþþýþþ÷ÿúõÿâòþ(ûúôÿùñâÿç1ýøü÷ÿøÿöÿþñæÏÿCûýýýøîýÿüÿåÐâÿ^ÿþõÿóðÿåÜÿÉcÿñòÿ÷æþæÓýÃeÿ ÿìþïöäýëýظÿ^!ãþôÿøÿÛþïâÿ¶ÿL8þÝÿóÿþÒýôÿã½ ÿ[Öþ#÷ÿûÑûþÞþÍôþsåþþøÙþè þâØþæoþéÿ úâßÝÿà×sòÿ þöèýÒÿåâÒþrôüýôñÿÇÿÞëÍÿqÿýÿî÷»ÿÝÿñÇ[ÿ(ïý*åþû´ üèðþË:þJãþ1êÿ·ùùéÛfë'ôþÂíåãúrÿôþÿ÷ÑÿÑÿçéýænþ  òÿáÁþåñÔÿ`þûêôµìÿñÏþG4þì þéü² öþóÓý)Gþå#éþ¸ÿýÿêÛ ÿXäþïþÇÿëÿíçîÿbôÿóÿ×ÑÿîñÛüV ýÿÿíìÆþñþ÷ÑÿD'îÿåÿùÁýÿòÙÿKçÿÿíúýÍõ ÿðëÿ÷EÿöýúýþØèÿíÿëì[þöüòüÚÙÿ%ÿéðþÞSþúÿìëÉÿ'ðöÿÙ3ÿ+æÿëñÿÄÿîßÿIÿåÿùîüÎýûõþòâJýôÿòÜÿáÿúÿÿðôáôÿþñý üÿÿû÷ÿîáþé ñþ !üþùëÿèãþõýþüõýæïüãÿõ $úûåëÿçýÿþ ÿøýùêüîçü ÿþ þ÷þúîþõîÿý ü ÿýöïþêòýúü ý ÿñôîðúÿþ  ÿÿõíýíñÿúÿ ÿþÿõîÿóòÿüþ ÿýþÿúøþñöüõûý þÿñ÷ýõöýýýÿÿÿñòþôóþý ÿ ÿÿóýïöþóüÿÿÿÿýþõëýõôÿû  üýýøìþôøÿûÿ ÿûöþïòüÿüÿ  ÿýüöþóñûûÿÿ þûÿóòíÿøýÿþ þÿÿõòþï÷üþüÿÿÿôÿöôþõÿýüÿý÷òÿôöüýþþþýüøýööþöûþÿÿÿþüûõ÷ÿúþýÿýÿþýûüô÷þúýÿÿÿÿüÿýýüûúøúüüûüþüÿøý÷üþùýÿÿÿÿÿþýüýüþíýóþ ÿ ÿüñüóöüñùýÿøþøÿþöþûÿýüúþýõìýëÿÿüþÿøþôêîóÿÿþùý÷íæÿ÷ôþ *þÿøòýòÿýòßòÿß:ÿ4÷ÿòìþãþôäÿîÝþ(Aÿ òýðäýùýýøèÿèåñÿ2*þýùñýìýýîýíáÿëáÿ1Oþþþñðÿáúþ îìâòÕýV8ýï äüóßýðÿÚôþÈÿ_âþçþùêÿ*æþëÙþälýæþöçþõèþ8þîÛþðÏÿaéÿùÿæöäÿ:þøãþÝóÖþHHüßþþßôÞý*ûòåýßïÞþ]#ÿâûÚþôèþ,ÿìÚðþÕÿ`ÿìùüçéüîü5 ýÝäþçÖýYþèùÛý÷èþ*&ôØÿêÐþ_ìýûâúìæûþ;þßÿÛåØÿS/èûÚÿøÛ"ÿ*õýÜÚýçóÿg þñïÿßÿöäý5 éýÕêýáýdñæÿïêüü1þýãÛÿðßÿS4èÿÜýýÝþ&ïýÛäÿÜÿ_ý÷úþìèîÿï2 þãßýäÛþI5ÿçÛÿñÝþ*þõàáÿÜþübü÷ðþßïãÿ-ýðÛýæÝÿ-Xÿðþãëýæÿÿ0þãÿßéêU)ÿðÿÝþóâÿñþÝëÿàÿ `üúüîèýðêÿ*ÿäÿâçþÜEÿ9ëÿàÿïâÿ'ÿûÜÿíÖþ^ýùðþãèÿê%þêþàçÿÔ<Dïþáþìæ (ÿÝäþÝóZÿôþ÷âþíëþÿóØÿëÔÿ*Mýøýçíèÿ" áÿáäÿêT ýø÷üâîüêþøØëÒÿ)Jþøþæëäÿ þàåüÞîþYÿüõþãéîÿõÿÛêÑÿ/Dùåÿëä âÿæÚþîWÿþÿôãüéìþÿûýÜçÒý*Hýúÿåêãý æüãÛýîWÿóÿáÿçîÿÿýÞèÎÿ8?óÿâèþá ý ÿåæÔÿúYÿ ïÿäâýó!üøüÞãÑýD8ýøÞçÿßþçâÿÓüÿ^ ÿñßýãðýøüÞãûÑBý9öÿÞãþáÿ äçÿÏþXÿìÿâßÿúÿöäÝþØTÿ%ûßþããýÿáìÿÉ"RõÿçÿäÜÿþ üôåÿÛâ[ÿýÿßÞþåýþãéÍÿ$Qõÿ ëåÿÛþ òÿèØþê[ÿÿþàäéþ þäÿçÿÍ=þ=òÿäÿçÚÿïëÑûþ[üùÿäÛîþÿüæäÑFþ4ñýãýåÖÿÿÿïÿëÐþ]úÿÿ÷àÿÝðÿýèüâÙýK*òþáÿåàþþÿìëÿÐýXóü ÷ÿâÚùÿÿöïþÙáÿY÷þåÿáßþ ûýðëýÎ0CÿíÿóáÿØÿÿÿ÷ïÖÿöWÿ û áþÛåýþõÝÿØ&ÿCøÿ ùÿÞáÿÿþþÿïÜýø)þ$ÿýãýáõü þûöòÿì ýûþíüæóýÿýùþ÷óÿûýþþôâíøÿüõÿöôüüÿùÿæëõÿþÿ÷ÿùì þ!þþîþçñûÿúüþþÿòöü ýöÿîðþûþÿüþøòü ûÿþóðÿúÿÿÿÿÿûöüþýùþòõþÿþþüýÿÿúüÿþÿýÿõõûþúþûýÿþüýþÿýÿöÿöûýÿýýüþÿýþþÿþÿüøþúÿýÿúþúüÿýÿÿÿÿýþûýüüÿÿÿþûýüýüþþÿþþûþýüþþüÿüÿÿþÿÿÿýÿýûÿýûþüüÿüÿþÿÿýÿüüÿüþÿýþÿüýþýþÿûýþÿÿýþýþÿúúþÿýþüýûþÿÿýÿÿþýýûÿýûÿþÿýûÿúþÿýÿüÿÿüýüÿÿÿÿûÿúüüüýþþþýÿÿüüþüÿøüýýþýþþþûÿÿýýýþþþøþþÿÿÿþýüüýüþüýþþýüÿÿÿÿþÿÿÿûþÿÿÿüÿþ÷ÿûüÿüþþüÿúÿþÿþúûÿÿÿÿÿþýþþþýþþþýûýúûþÿÿÿÿýûþýþÿýÿûÿýýÿýþüüÿýþÿüþýþþÿüüÿþÿþÿüÿÿýÿýþþüüÿøþüýÿÿþýþýýÿüþÿüþÿýüýÿýÿüþÿüýÿüþÿûþùúüþþúÿÿýþýÿüÿÿÿþÿúúþýþýÿýþÿýýþþýþþüüÿüþþýÿüÿÿüþÿüþÿüþùýûÿýþþýÿýþÿýþÿüýûÿþþÿýþûþþþûûþüþýÿÿøþûþýüþÿüÿþÿþýÿýÿþýüüüýÿÿÿüÿÿüþþýþýýþÿüüýÿýþþýÿýÿüÿÿûÿýýÿüþþýýþþýþþýûþýýþþþÿýýÿüýþÿýÿüÿüüýÿÿýþüþÿüÿüýþÿüþÿûÿýÿûþÿþýÿÿûÿüýÿþþþÿúùÿÿýþÿþýÿþûÿþýþÿýûÿýüþÿýþÿýÿüþüûþýûþýþüýþüýÿýûýþþüþÿýûþÿþýÿþÿûþþýýÿýÿüüÿüÿÿüÿþýýûÿýÿýþýýûýýûÿÿüþÿûýýÿýÿÿûÿýÿûÿýþþþýþÿýþýþþþûÿüÿÿýýþþþûþÿÿÿÿýüüÿýýþûþýýþÿýþþýûþýþÿýÿÿþÿýþÿùþþÿýÿÿÿûýüþýüþýþÿüýüýüýýûùÿüþþÿÿüÿüüþÿüÿüùÿüýþÿþÿýþÿýþÿþÿýþýüüýÿüÿÿýÿÿüþþýýûüûýþþþýýýýÿýþþýýúúþÿüÿÿýÿýÿüþþüýúüüÿÿÿþÿÿþÿÿþÿÿÿýÿýûüúüýýÿþýþþþýÿþþýýÿûÿýÿûþþýþþþûþÿÿþÿýûþÿüþÿýþþýþÿüÿÿÿþýûÿýÿýÿþþþþüÿÿýÿþþýüûþýÿÿþýþÿúÿþýÿþþýûÿÿÿýÿüÿÿüÿÿýÿüÿÿüÿüüÿÿüÿÿüÿÿüÿÿÿÿüúÿþýüþýûþþüýþÿüÿýýüþüüÿüÿüþÿýýÿþþÿýÿüÿþþýÿÿýÿþýÿþþýÿþýüþýûþýüþýþþþýþþýþÿýþþûýþþþþþþýÿþýüþýýÿúþÿüþþýÿþþýþþýþþýÿþþþûÿÿÿýÿýÿüþÿÿÿþÿüüýÿýþýýþþýÿüûÿÿþýýÿþýþþýþþþýÿþþýÿÿÿÿýýüþûýýûþýüûýÿüÿÿýþüýýþþýþþýÿþýþþýþýþÿûþÿþýÿþþþþýÿýÿÿýýýüýýÿúýÿüýÿþýþþüÿÿüýüþüýþýýþÿþþþþûÿúùýÿüÿÿýÿýþüþüüÿüþýÿþþüþÿûýýþÿÿýÿüüþÿÿüÿüüþÿÿüÿüÿýÿýþÿýÿýÿûÿúýþþþýþýüþþÿüÿýýùýüþýýþÿÿúÿÿüÿþÿÿÿýÿüÿþþüýÿþûüþûÿüþüüüüÿýÿüþÿüÿÿýÿÿûÿýüþÿüÿÿûþüýýÿÿýýþÿüùÿýýÿÿýÿüþþÿýþýýûÿýþÿüÿÿýüþýýÿþÿüýÿüþÿøþþþÿþþþøþýüþüþþþþÿüÿüÿüÿÿýÿþýýüþùþüÿþþÿýøÿüýþÿûýúûþýÿÿþþýÿþýýþýþþýÿþýÿýÿüýûýûûÿýÿþþüÿþýÿüþÿþûþÿÿÿüÿüþÿüÿÿÿÿýÿüþÿüÿÿÿûþúýÿýÿþýþþüþÿýþþûùÿþÿþýüþüüýÿûÿÿüûþýýûÿýýÿþþýüþÿþÿýûþýÿýÿþýýþýýþýþÿüÿÿÿÿûþýþýÿýýþüüýÿÿÿþûÿüþÿþþÿÿüÿþþþýÿþýþûþüÿüýÿÿÿþÿýûþþüýþþýþÿýüþýþÿüþÿÿÿþÿûþüÿüùÿþúúýüþüüúýüøûÿýþþÿÿýÿýýüúýù÷ûõùüùúõþúû ûýýúùýýÿûûùýôùýñ÷ýôôÿBûþ÷ÿõìÿÿüóìýíðûíüüè)ÿCÿ þûøéÿòïÿïëÿíìÿñøÿúB9ÿ  þøóþæþùèæýéñûúöýöÿK þõäþêúýïçüìñýÿúýýûýîZþ0üÿíýêßþûÿëÿóõÿýÿþôûýÔPý=õÿ ÿîðÿÙ÷ þï÷íþþûü÷ûÛÿfþó ëóÝåþùîþÿüþüöÝÿqþ÷ ëÿïÞÿÿåóÿìýýþý×þn ýì ýï÷ýäýúÜýòïÿÿüþÍül üìýïõâ ýåþóîýÑhé íþùàü úýàôçþ ÷ÿÿôèþtíþþþéòáÿùäÿòéÿóÿ ñÿþwóÿôìüíæúðüáêýëîþéýoçþ ñòýëòþ îæÿéìýðýèþfåÿ ëóçÿñäÿèãõÿîÿØ>JÿâÿâôýÞøýàëýåóüòýÙWú8åûÞü÷ÛýÿÜÿïàþý÷þÝþjñþ Þÿ÷Ýÿüàïÿßÿ÷þÿðtþ ýýßþóáÿóÿÞéýáýó üô þpðÿ ôÿèìþéÿêâÿêäýîûëü2[ýäþèìåþõüãêâþìþóäþV6üäûàñýàÿ Úïÿßòþù ðþnýïÿÝíÜþþÙîÿÙùÿýýÿÿu÷ÿàÿìãþõÜüîÙû÷üöý!síþùþâåÿéþêàïßþûþêERàîèÞÿöýÜéýìäÿûòÿc-æÿãÿêÜÿÔýôåüóømÿùÿáäÿß ÿóØøþåùýþÿò4`ìþþüÝÜþê þäãþöëúþÿõX7ÿëÿéÜÙÿùÿàòÿôíÿôÿú þiüÿÞþÙÝþ ùþâöÿìóõþó/ý]öÿûþÜØþè èþèóÿïòþ÷þýRþ>óþ êÚ×ûåÿìîýôýþú üL,ý÷åÿâãÿéÿéëýñþÿþþõàêþôÿÿýÿðíýéöýÿýúýíâýöõýþòýîëýëýýþÿ#ÿ÷ãÿëõþûñýóêüóüþ ÿøñÿéõý÷ûûîûñìÿû þ üþüòîûö÷ýøñþòñüþ  ÿ þüüóîþôûûõÿôõþúþ úÿóïþòû÷ô÷÷ÿÿ ÿýøûöúûÿõó÷ýÿ ÿ þüÿúúôõþùöüùüýÿýÿÿüúûúøüöûþú÷úûÿüüÿùûôòýøúýþþÿÿþùùÿööÿüöÿúûýýÿûüÿÿÿÿüÿüùôÿø÷ýøýþÿÿýÿÿþýþûüûöÿöûúÿûýýÿþÿÿÿÿÿÿýöÿö÷øÿúüýÿûþÿÿûùúùÿùùÿýûüþÿúýÿýþûöýøøýüüÿÿÿÿÿÿÿýþÿþûÿùÿüùüüüûÿÿÿÿþÿþþüþÿüþûùþùúþüþÿþÿÿýÿÿýýýþûþûûüÿüýûÿÿÿÿþýþþýûþûÿúûþúüüÿüÿþþÿüüþýýýúúýûúÿûüýÿþýÿþÿÿþýýÿýÿüüüýùýûüÿþþÿýþÿýþýýûýýûþüüÿÿüÿÿÿÿûÿýÿþþþþÿüúÿúþÿÿþÿÿÿýþþþýüþûúûúùüûÿüýþþþþÿýþþýþûýûÿüþýûüýÿÿÿÿýþýÿþýÿþüþÿûýýûÿþýÿþýÿþþýÿþýÿþþýþþýýþýÿÿýþþýþþÿþÿüþÿüþÿüþÿüüùùýýÿûþýÿÿþüÿÿüþþþüüÿûùÿýûþþýýýÿþÿÿÿÿýÿüÿþýþþþúÿýþüÿýýþýýþÿýþýýþÿþþýþþýýþüþÿüÿýÿýþÿýÿüýúýþÿúÿÿýÿþüÿÿüþÿüþÿýÿþþûÿÿüÿÿýþýÿþþþýþüýÿüÿüýÿýÿýÿýÿþþþþýþþþþýÿúÿÿýÿþÿüþýþÿýýÿþýÿüÿüÿüþÿüýüþýýþþþýÿþþþþüÿÿüÿÿûþýþþýÿüÿÿüüþýþþþûýýýýþþýÿþþÿüÿüÿýÿýÿþýþûÿÿûÿüýÿÿýýÿýþþþýÿþýþþþþýýÿÿþÿýüýþÿýÿýþþýþþýÿþþþþþýÿþþþýþþýüþýýþýþþúþüþüÿþýÿûþþÿüÿÿýÿþýþþýÿþþýþýþÿýÿÿþýþÿýþÿýþþýÿþþýþþýýþýÿþýþþýýþýÿþÿýþþýþýþûýüÿÿüÿÿüÿÿÿÿÿÿÿüþÿÿÿÿþýÿþþýÿþýÿþýÿþýÿþýÿþþýÿÿûþþþýÿþþýÿþþýÿþþýÿþþýÿþýþþýÿþþþþýÿþýýþýúþýýþþýÿýÿþýþþüþÿÿþýýþþþþþýÿþþýÿþýýþýþþþýÿþýþþýþÿýÿýÿýüþÿýÿýþþýÿýþþýÿþþýÿþýþþþþþýýþýþÿúÿþÿþþþþýÿþþýÿþýÿþýÿþýþþýÿþþýþþýÿþýþþýÿþþýþþþÿýþÿüýÿÿýþÿýýþþþýÿþýþþþýÿþþýÿþýþþþþýÿþýýþýýþýýþþýþûüÿýÿþýüþýüþýüþýýþýÿþþýÿþýÿþþýÿþýÿþýÿþýüþýûýÿþþþþÿúûþþþýýþýÿþþýÿþþþýÿþýþþýÿþþýþþúýÿþþýýþùýüþýööÿÿýüýùúýÿúùþñôýõýýþþýüøýúþüöÿòìÿòÿ)úýõý÷ùÿüÿõèÿêéÿ5þúøýúþìßÿáÿß<þ1ûöÿ÷ñþÿ÷×ýÞÉý"WýúíîüæýÞþÚÒì^ÿüüüèýðí þöÿØÞþÍþ^ûÿÿîëåÿ)ÿð×ÿæÒ+þ^öÿìèÿåÿ!þþâÿ×è×SAþïÿÛÿðèü ýøÕþäÎürûþÿæÿÞëý÷3þìÒÿÜÿÊXü>ïûÿÐÿðÿàü+ýÓàÇýoÿüßàþäøþ9ìÿÍáÏÿXIþòÒê×(ÿ×þÚÑýx üïÿÚßê0ýïýÒáÐþTBþð þ×âÿÝ' þÙåýÌÿnú ïÿÝÝò#ÿî×þÛÏÿg"÷ý ×ýãÝÿ!ÿÚÿç½ÿ/\ÿïæÿÞÖýù þèýáÑýçmþÛÿÛßÿÿÿÔåþÃBSýñÿäâÒÿÿäÿÝÑþõsÿ ýÞÙýéþÿÓäÿÌMýIñþãÞþÙ üþèÞÒÿôkýüþþÝØÿêÿíêþÓþHûüåþåæñÿ ëýäðýñ+ÿ ïÿàíóÿ ÿ ßþòôÿ2ýüàûáòüÿþñëþð>ÿÿìþÚèüúÿü ýéòÿñ2!þÿúýÛàýðÿ ÷ÿïï ÿ#ÿçÿÝëÿýÿÿ þðïüøý ÿýÿçëÿùýÿ þÿðøõíöÿÿýÿõúþÿ ý ÿùêóûÿüÿýùÿýÿ ÿÿðÿìúüýüýýýûýûüüðÿöÿÿÿþýþÿûöûþþþý÷õÿýÿÿÿûùýýÿÿýÿùùþþýÿýÿÿþüþÿÿÿÿþÿøü÷ýûüþþüÿÿÿÿýþþüýúûýÿÿÿýþÿÿÿÿüýþûýüüþûùÿþýýÿüüýþûüûþþÿûýÿÿÿþüþÿÿþýûþüþÿüÿþÿÿüþüüýüþÿÿýþþÿýüþþûüûýýýÿýþüþüþÿüÿþÿÿüþÿþÿÿýþûþüýûÿÿÿþüüüûþþÿþüüýÿüþÿüÿüúüüøýþüÿüüÿûÿýþþÿúüùùûþÿþþÿþÿüþýÿüûýýûþþÿÿýþÿÿýûýýüþüÿøÿ÷ÿÿüÿÿöóÿùùÿüöÿöÿÿûÿìýýöü÷÷ýÿïïþÿþÿõþúúòÿçßý )ûûüÿôþûïûñÔþEÿóÿÿùÿòøþßÿÖåþHÿñüÿùðÿýóØÿÉ'=ÿõýñýñëü»\ýâ üøõÿçÿý þçØþÒoðÿìðþàþñÜÿ¸GDþäÿø÷ÿãþöíÿ²ÿ[áÿïÿùâÿþíÇÿán÷ÿîþëæÿíÿå½Wÿ*ëÿëïÿç ùþð®ýN%ÿäë÷Ýúþú¯ý;6üØ$ýèûÌÿþ÷ÁY×ÿ÷÷ÿÔþþûÐþälýÛþôþßëþöþçÉÿuêÿëýéÐþëô¾gÿü$ÿäóþÂíÿµþXýí-ÿæÿûÂý îþÿ»ýX üä9ÿãÿ¹ÿïùþ½5ÿGÙý>êý¹ûö÷úúÍù cüÙ2õÿËßÿôÛÿîuçü#ýúÙÿÏôëÏp÷ðé½ñøþÂdüþï÷ºýõ½W(ó)êÿ¾îÂ:;ÿã/þéþ¹öøÿÉþSþß*ýñüÄìüþÿüÕüaáü(ôþÏßýýääþhèÿùýÛÑþ ÷þöÚdö ÿñäÿËüöÔ`ûÿïíÉ ùÿúÏW ûþíöþÁþûþÌCþ#ì!ÿìúþ½ÿúÏ-=ÿã&ìýþÂûøýú ØþJß#þïûûÉåûÞþTÿâõÿúÑÿÛÿçÿì[ÿíüøÜûÓýöÿÛYÿüþòÿéÌÿÿüÓÿTÿüÿññýÅÿþýÏJóÿðöÄÿùÎ@+ÿéïþùÁýõþýÏÿ1?ÿåÿðþÆþêÿÓRåùúÍáÿá\éûÕÖèÿñ_ýö üöÿÚÿÐüîÿßÿbü ýöâÌýÿþÔþZýúýõìýÃûÿþÿÎQÿòÿóòÿ¿úþþýÊ@ý6éÿòõÿÀðþý þÍ4Aþäÿôú½þïüÿ Ðÿ%SäðÿüÃå Õÿ]åþøúÈßþ àfÿîýúÏÖÿ àôÿhò ÿÿ÷þÑÑüÿ ïæÿküýþúÙÿÉùýñüÞiþüþöÞþÉúþ÷Ôÿd ù ôãÅþøþþÔ`ÿôÿóçÿÁöýÿÓWþ)ïÿÿñêþÂôÿýÿÌûM3ûëþôñþ¿ñþ ÿÏD>èòôÁëÿþ þÊ6IÿèôÿõÂçÿýýÑ/þMçþóþ÷Ââÿú üØüZëþ÷þõÆüâùþ ÖþaÿðýöÆß÷þ ßÿÿfðþùþ÷ÎØÿ÷ ýçûühõý ÿü÷ÑüÔôþ æöjûÿ÷ÑÑõÿ ìþïjþþøþ×Ëþ÷þôígÿýþôýÛÊþõýöâþbþûþôâÃóûþýÞZ(òþ ôþäÃîþüýØRü7ïü ðþê¾þëü×CBÿïôî¾æÿøþÚ:þKìþ õþñÄþäõþÛþ/Rþð þöðÿÃà÷âþYòþûÿðÿÈÛþ÷ÿç\þüÿýóÏþ×óýéþ`ÿÿóÒÏÿöÿðüZÿ ýþôýÙÐÿóÿõöþZÿ÷ÿóûÞÏûóýÿôÿðVþöþòþßÍíûíNÿ#ôþôþåÉïþþûþîD1þôþõæÿÍíüþîÿ4;÷þ÷éúËèûþùýø"ý>þüþýçýÖäÿÿýþ/ùÿûêØâÿþ ÿ ÿúÿ÷ëâÿãûþýþøùþìãýà÷ýÿþôýõêýäáýøþýõøþïçûáõýÿÿôóÿðìæÿøÿ ÿöÿôñëèõÿ ÿ  ýöòÿòêÿê÷ÿ  ÿ øÿñóîÿìùý ý  øÿñïþííýùü ýÿúòòòî÷þü þùðýòñÿòüÿÿÿüùóþðÿðñüûý ÿóþîïþóóýýÿþòýîïÿòøÿþ üþü÷îýòõöÿýÿ ÿþöîþóøùþýý  þõÿîñÿ÷ùüÿ þ ÿÿùïÿóôøþü ÿþùíýïõÿúüÿ ÿ ÿùÿïñÿöúÿý ÿúïÿóôþúýÿ ÿÿüÿòðõüüÿ ÿýþóÿòõúÿýý þÿýòÿóõþúþÿýÿÿÿöýóõýüüÿþýþýý÷óýöùüýÿýÿþþü÷ôúøúùþÿûýýýýøþöøýûýüÿýþü÷ÿ÷ùûþþÿþýýýþûöøþüýþÿüýù÷úýýÿÿþýþûøÿ÷úþüüþþþþýüÿûøöþþþýýþûüþýúþùúüþüýþÿþüÿùÿúöþüüþÿþþþþþüûþùùþýþÿýþýúÿúûýùþûÿÿüÿþÿùûÿúúþüÿýÿþÿþúûþûùûýÿüûÿÿÿÿûþúøÿýþÿÿÿþÿÿýûÿùûûÿúýÿÿÿÿÿÿüûýýúýûýÿýþÿþýüýúûÿýÿüÿÿýþþýüÿþúûÿýýÿþÿýÿÿÿøýþýýýþþýÿüÿþÿüýýÿýÿÿþþÿýÿýÿüýûÿüÿÿþüýÿÿþýûýÿüþÿüÿÿüÿüþþüüûÿüüÿüþüýÿÿüÿþþýþûüýýþÿûýÿþüûþüýýÿýÿþýÿûÿÿÿýüþÿþûÿÿÿÿýÿüÿÿÿþüûÿýþþüÿþüþýýþþþýÿüÿÿýþýüýýÿüýúýÿýýýÿýüÿüþþýþýýýýþýüûûÿüýÿüÿþýþþÿüÿÿÿÿýþÿýÿüÿÿûÿýÿþþýÿÿüýÿüýúþÿýþþþýÿþýüþüþþþþýþþûÿýþþûüþÿÿüþÿýþþýþþýÿþþýÿþýÿþþüÿÿüýþÿüüþþþýþþýýþþýþþüÿýþÿþþþýÿÿýÿþÿÿÿÿÿüÿÿýþÿýÿüþþþýÿüýÿýÿýÿûþýþþýþýÿýþÿýþüýüýýýþüÿüÿýýÿýýþüþÿýþÿýþÿýÿüÿþÿÿüÿÿüÿÿüüÿÿüþÿýþÿýÿüÿÿýþÿüýÿÿüÿýüÿüýÿÿúÿÿüþþýýþýÿþþýÿÿøÿûÿüÿÿüþüüýÿýþþþýþþýûþýýþýÿþþýûýþþýÿýÿþýýþþÿüÿÿúýÿýþýÿýüÿüÿüþÿüýþýþþüÿÿýýÿþþýÿþýÿþýÿþýÿþýÿþþýÿþýÿýÿþÿüþýþþýÿþþýÿþþþþþÿûþÿþýÿþýþþþýýþýüþýþþýÿÿüÿþüÿüüÿÿüþþýýþýþþýÿþýÿþýÿþýÿþýýþýþþþþþþýþþûþþýýÿþþÿûüþÿüþþýÿþþýþþúÿýüÿÿüÿÿÿüÿÿüûÿýþþýþþýþþýþÿüÿúüþýýþýÿþýÿýÿÿüýÿúþÿþýÿþþýÿþþÿýûÿýÿýþþýþüýþýýÿüþüþýýþþýþýÿþýþþþýÿþþýÿþüÿÿÿÿÿÿÿþÿþÿýÿþþÿÿÿÿÿþÿüýþýÿþþþýþþýÿýÿþýþýþþýþþüýÿýþÿýÿýþþýÿüþþþüþýþÿýþþþÿûþýýþüýþþþýþþýþþüÿþýþþýþýþþýýþýþÿÿÿÿÿÿÿþÿÿÿÿþÿÿÿÿÿþþýþþþþüÿÿþýýþþþýþþÿüüýþþýýþúþýÿüþÿÿÿÿüÿÿüþÿÿýÿÿýþýþÿýþÿþÿýÿýÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿýÿþÿÿþþþÿÿÿÿÿÿÿÿÿþÿüþÿýûýýþÿÿþÿýÿÿÿþÿýÿýÿÿÿÿþÿÿÿÿÿÿýÿÿüÿÿþýþÿýÿÿüÿÿÿþÿþÿÿÿÿÿþÿþþþþÿþýþÿÿÿþÿÿþþþüÿþÿþÿýÿýÿÿýÿÿþþýÿþþÿüÿþýþüÿüþþÿüÿþÿÿüÿÿÿþüÿÿÿÿþüýþûýþýþÿþÿþþþýþþÿþüþÿÿþþýýýýýÿÿÿÿýýýÿüÿÿýþþýþþÿþÿÿÿýÿüûÿüÿþÿýþÿþþþþýþýþþýÿýýþýÿýýýþýýþýÿþýÿþýÿþýÿþýÿþþýÿþþýÿþýýþýþþýÿþýÿþýþþþýÿþýþþýÿþýþþýÿþþüÿÿÿÿþþýÿþþýÿþýÿþýÿþýÿþþýþþýÿþþýÿüýÿÿüýþÿýþýÿüüÿÿûúøþúûÿÿþëþôÿþúøþüþü÷òþõíÿæüý'üýþõÿ÷÷ÿìãÝÿ, ÿýöÿôýýüòÿæâæÿ"4þõóÿýúÚÿãÿÊüLü øõþêþâýÝÙýë`ÿíéþå ü÷û×àÿÑÿ?MýüþðïÛÿýíÚýàáPÿ=þèýâ×ýýýïÿÚéÚþBUüøûâæýÞÿÿþÜþâÕÿênûÿõàüëìü%þöÖé¿OIÿèþ×íþÚ)þ ÖüìÅÿ mõþàþäâþï,ÿéÞÙÖeÿ%ôÿþÑéýÒ%ÿßÿâÔÿx þìÜÿÙÿâ0þ÷ýÏìþÌ=ÿZöÿ Ýäÿ×ÿ%ÿÜéÒÿôpþþõÝþÜíþ"þÿÛëþÇWÿ-óÿßßÿÛ þ Ùóµ2þOéþâþçÒþû#ýðçüÓÞþo þüÛØýÕÿÝîÿ¿+[óÿæüãËüôý%òþÞÝýÙnýþÞÚÿÛÿÿ×îÁAþJíþæäÐÿâïþÂeþçÿïçÎÿóÿàÿßÑÿjù þÞÜýÕýÿåìÁÿ!\ÿíêÿäÏÿõÿýäþÝÕÿgÿÿý ÝÿߨÿßÿîÄ(þTíþèÿåÍýýñýêÑíþkøÿãÒÿãÿÿ äüäÅýU)ÿôãÿÝËý üïþðÅþeýðþûßÍæÿÿèéþÁOþ0òþäþàËÿÿýììÿÇþcýòþýæÎéÿÿææÿÈ[ÿøþéÝüÑ þäüôÂý$NþæðÿèÊý÷ýûêýÜÝûcþãÿÛÙÿÿéðÂ4AþçÿòçÍÿ÷ÿìÝýãbþþ éÿÝÜÿ ÿäóþÄ:ý;çÿñæÐ þðôÐÿþ_ÿê ëÖêÿþèìýÐRÿîÿíãÓþ ýêÿòÌÿPäýéÕô èèÿØDþ%îÿ õàÿÚÿ ý îþùõùÿÿôêêÿúþÿÿíÿüöÿÿûíÿéõÿý ïùÿ÷ ÿ!ÿôæÿîûÿý þùóþ÷ÿ&þúëçûýÿþõüþõüÿÿïüëïüÿûûüùöþÿ ÷ýðñþüüþùÿùüÿÿþöÿòùþüþüþýþùòÿöýþýýÿûþÿÿÿûýóöþÿýüýþÿýÿÿýýúüþüøûþþÿüüÿüýþþüÿúüüüýüüÿýüÿÿÿÿÿýÿüþüÿüÿüüþÿþÿþþüüÿüùùÿýþÿýÿÿþûþýüþüýþþüüýþþþüýüýÿýýþüÿüüþþþÿýûþÿÿÿþÿþÿüúýÿÿÿûÿüÿüüýþþþþýüýûÿûýûùúÿÿþûþþÿÿþüþþÿÿþúøÿüÿþÿýûþüþÿÿÿýüùÿýþÿÿþÿûýýûüýÿþÿüüýüýýýýüûþýûþþýýúÿúÿþÿüÿÿýþüþýùýüüÿÿþþüüÿÿþÿýüúüýÿýþþþÿýÿÿýþýúþúýÿÿÿüÿþýþýýýþÿþùþûÿûüüÿýûÿýþþûÿýûýýþüþþýþÿýÿýÿÿýÿûþüùýþÿþÿÿÿÿûÿþÿýþúÿùúÿþÿÿÿýþýÿüþÿýþùþûýýüÿÿüþþýüþÿÿüüÿüÿýÿüþÿýþÿüüþÿûþýûþþþþýýýÿþüýüüþÿùþúúüÿüþþýÿüÿÿýþþýþùüÿÿÿýþÿüýÿýûÿýþþýÿÿÿýÿûÿþÿþÿþýûþþýýÿþþþþýþüûþÿýþþþûÿÿýþÿÿÿÿýþÿýÿýýüüýþýûþøþ ýùþýÿýþþþýýüüýþýýÿþþþýÿþþýþþýýþþýÿþþýÿþüûýÿüýüþýýýûþýüþýÿþýÿþýÿþþÿýûÿüýÿÿüÿúþþýÿþÿüÿÿüÿþýýýþþüûþþÿúþûûþÿþþüþþýþÿýÿüÿþÿûýûÿüûþýÿüþÿüüÿüþÿûÿþýÿÿüýÿüýýÿüýÿþýÿýýÿþûÿüÿüÿþþúÿÿüÿÿýþýÿûýýÿûÿýþýýþýþþþþýýþüýÿüÿûÿÿÿûþþþþýþýþþûþþþýþþþýýþýüþþýýþýýþþÿþýÿþþýþþÿþÿýþÿýþýþýüýþÿýÿýþÿýúÿþýÿþýþþýýþþÿýüþþýüþýûþýþþþÿýÿüüÿÿýÿüüÿÿýþÿýþþýÿýÿüüþýþþýüþýþÿýþÿýÿüÿýüûþüþýýþþýþþýÿýÿþýþþþýÿþýþÿýýÿÿüÿÿüýþýüþýÿýÿþýüþýÿýÿþýýþþþýÿþýüþýþþþþýÿþýþþýýþýûþýúþýüþýþþýÿþýýûüÿüþÿüþÿÿýÿüÿÿüýÿüüüýþýýþýýÿüýüýÿþþýÿþýÿþýÿþýýþýýþýþþýÿþýÿþþýÿþþýÿþýþÿýþþýÿýþÿýýÿþýþþýýþýþþýÿüÿÿûþþþþýÿýýÿþýýþýûþýûþýüþÿÿüÿÿüÿÿþýýüýÿýþÿýÿüþÿüýüüþÿüþÿüþùýþþþýÿþþþýÿþþÿüüüüýüþþýýýþþýýþÿþýÿÿûþýýþþþüüþÿýÿþýÿþýþûýÿþþýýþýþþþýÿÿÿþýýþýýþüýÿþýûþþþþýÿþÿúùÿúÿýýþÿûýþÿûøó þüÿûþñþòùùýóøÿù÷øÿþûþ#ÿþÿû÷ùúÿöíÿôøÿññöÿ) ÿ  üÿõïÿù÷ðòÿôøÿðõþèýHþ þøìþçýôè÷øÿðöÿåý_þ  ÿóãýÝüÿóÿæóþòûòþûìþbÿÿ üÿéàùýóáûéõýýüïþúâþJ<ÿþöþÜìÿýîâÿûøþîÿÿÓ,_ýèüûÿàÿäþøâþüúý çúûËû+aÿ× ûþàãþöÿàýúÿëþÎþ&`ÿÒþçÿèþñÙþùû ÿóþÜýtëüÿþïäýùÚÿëû þüçÿåjþãþ  ÿÿæþþÿáæúþÿòöËÿc!þÓ ÿæøþêýÞýÿîÿþÃ7þKÏÿÿäíþ ñýßûÿÿðþþÐÿjÛÿûþíåýôØÿö þøÿßéhÿ åý  üùÝýüúþàêÿÿ þðô×ÿI7þØ ÿßýòýþèàþþñîßþeòó éáýûäýóÿÿáÿñÜQý#Üý ÿû×ùûóýæüÿæÿñßÿ\ëúÿ Ýþèûÿûãüþ þãÿýØ<þ3èþ ÿ÷Üñûòÿäþ ýåïÿìèMÿëçÿáðþãþöÿþþæùþÞôÿ@þðýåýáöüîþüûÿñÿûÿäì'ÿ$÷ÿ ÿóäíÿþÿøýÿóïýýýýý÷þÿýöòöóÿùÿèþõöþø ÿþûíûñöûøÿýÿþøüíøýñÿþÿýõðýööýÿþ  ý öøýøøýúÿþùÿüûþÿûþýÿîÿ÷ùüøüÿúýýÿþúûþýþÿõøþõñýòñýýÿ þùþÿýþúþñþýôòþïõüþ ýýÿýÿþøþþýõþúôÿõÿ ÿùüýþþúüÿýû÷üüùþþÿýûýýüþÿùÿõúüúÿÿÿÿÿþÿÿÿþýýþþ÷þöøþ÷÷ÿûÿÿÿÿüÿýüÿþÿüÿüúûþúûýýÿþÿýýüýþýüýÿÿþýþÿúúþüýÿÿþÿþýüüûøýüûþÿüüþÿûÿüýÿÿþÿýÿÿýÿüÿùúûþúüÿûÿþþýýÿûÿûüþýûùþýûýýûüÿýþþþýþþýÿþýÿÿýþüþÿýüûÿÿýûÿÿüÿÿýþÿýüüþýþÿüüþÿþþýýÿþþýÿþýÿþþÿüüÿýüþÿýÿÿþýþþùûÿÿýþþýûþýÿüþÿÿýüÿüþþþüýûÿþþÿýÿþýþþýÿýÿýýÿþøúÿüþÿÿþûÿÿþýýÿýþøÿüþÿÿÿþýöÿøýüýÿÿùÿÿüÿüÿüÿô÷ þüûüýûú÷ñúöõþ÷ÿùûþÿüÿüÿþüûÿôûü"þõûùëÿæðþøïìøüþ þ ÿÿýÿÿÿûÿüóçìîÿîÿïõþøýÿý ÿ øþèþûZÿþýòþåÖïýñÞþîùöÿ ÿýþ*þ&ý÷âüÕÝþàßÿêñûýü  ÿ ÿýýÿ.þ÷üëÔýÏâÿèêóýÿÿ ÿÿ÷Uÿ%ÿÿÿåͼÿâéâþïûýÿþý øýñýYÿ þòÿÙ¿Åèþåäüôüÿü üü þôþ`ýúÿýáĺÿæâþáôýþ  ÿÿ ÿûòTÿ*ñÿÞÅþ®Þÿåéöûþ ýýÿ ÿùüþ=ÿøÿðÎüµ¾ýæäþòüÿ üûýûÿúÿO'öþùÙýïýäæýáõþ ÿýþ ûÿþ@ÿ6õÿùåÄÿ²Ùÿíàÿòþþ üþýþùü:ÿùìÓ´ÿÀçýçïüýü þýý ýþùýÿC.ýöúþàijÿÜêæÿóþÿ  ÿÿ ÿÿüôÿ8:ýû÷ýåËþ¯Îýíäýîùý  ýþÿþÿ÷þBþõïÔþµµÜþêèýõ ÿþ þûôý<9ý÷ùßïÑîèïü ýûë(ýOýõþéÌü±Âüíåüçôÿ þÿòýN üóó×ÿº±þÝîÿéðÿ ÿþýÿþüê3þHøþøåÉ®Ìðéèÿø ÿÿèþ^ þóïÕ´¹îÿîãþîþ ýü þøÿîLÿ5ðöÿÝÂÿ«ÛõÿæèýþûüÿþæUÿóÿêϰþÃðýëåýõÿ þýýîûùWÿòöÚÀÿ±çþñæìÿ ÿÿ ýüÿþå6ÿGñÿúäþέÿÐöæÿê÷ÿ  ýüþýìþTòýñÔþººÿíîýéðþ ÿýüýýùýêEü6ðÿøßÈÿ¯Ûþòçþêý þýþúýäý"Tüþ÷èýÒ³Åþôêÿæÿõ ÿÿñþùTþ!ïÿõØÿ¿²æþóåþî þþÿ þýäý4Iÿôøäþ̯þÐóÿèæùÿþç ÿ[ õÿðØ»¹ÿóîþæðÿ ÿÿ üüçÿI4þîúüâÊþ¬Þþ÷æþíúÿ þûþåþRþþ÷þíÔ·ÈøýìèþòýþýþýóîþTðÿöÝÿǵëòÿèìü ùûþ ÷ÿãÿ.EôûäÿÕ·Õøèýîúþ ÿÿþýêþR þ÷ôþÚÄÁóíëÿõ ÿýýýýüþç<3ÿñýãüÒ¶ûáõþæîûÿ ÿÿÿüçÿLÿöÿòÙÿ¼Æõëþëöý ýÿÿüöéÿD-ÿïüáÌÿµâýûêýîüÿÿ þþ ÿûÿåÿKÿ÷ìÿÕ¸Æþ÷ïýëôþÿþþþüóþë>ý-ñüøßüÉ´äýúëûïýþÿþý ùúÿäÿQôÿëÓþ¸ÆýüóÿêôþýÿÿøþðñþD,òôÞǶçÿüéþìýþ  ýûü úþúéÿHÿòèÿÕºÿÉúóÿçöÿþý÷íþö=þ-ðýñßÿÆ»âÿýíÿëý ûþþÿôìÿDþêäþÕÄÍþòùþðõþ  ûýßÏüÎØýï÷ööÿÿþ þþ þ üèØüÐÓýä÷þúüþ þ ÿ ÿþ ýïÿÜÕÔþâôÿüüþúþÿ ü þ þÿ ÿùçÛþÙáýñùÿýûýþü  ú þ ýÿüîÞÿÚâþïùÿÿýüþÿÿ ý ýüÿÿôþæßãýîøüýüþúûÿþ þÿþþþ÷ÿìæþçï÷þúûþûùþþÿ ÿ ü ÿýûúñêìîÿøúþúúþùûþþ ÿ þÿÿü÷ÿ÷ïëÿð÷ûÿüúÿøúýÿÿ  ÿÿþÿÿùöÿôîÿñ÷ûÿúúÿøöÿþý ÿ ÿÿøþöõÿóôþøúþýúý÷÷ÿûÿþÿ  þÿþþÿûö÷ù÷öùþüüÿúöùþüÿþüÿüýþûÿø÷üùõþöÿûüüûøûùûýÿÿÿþüýúùþ÷÷þýùþüüÿùÿùùþüÿþÿÿþÿúýúûÿøþúûüø÷úÿüøþúýÿÿÿÿþþüÿþÿøÿüúûÿûúýûûúþûüûþýýþÿýÿýþþýûýúüÿûùþýûýùýýÿÿþÿÿüþûüþþÿúûûþÿýþüùÿûûûýþÿýþÿýþþýüÿÿûûúÿúûÿúüüþþüþÿþýÿþþþüýÿùüûûýýùþüúþûüþþþÿÿÿüýÿüÿþÿýþÿýþÿûÿúÿúûþúüýÿýüÿýþþýþþþþýÿþýþþþþüüýüþüþýýÿÿþþýýÿüýþÿýûþúûÿýÿûÿýÿÿþÿþÿÿþýÿþüÿÿýþþüýþÿûþþüüÿüþÿÿüþÿýþþýþþýþþþýÿþúþüÿÿÿýÿþÿþýÿþýýþýþþýýþýþþýÿüÿýþþÿýÿÿýýÿüýÿýÿþþþýüþýûþýÿþþýÿþþÿÿüÿþüüÿÿýÿüüüýÿýÿþûþýýþýûýÿûþüþÿþþþþþþþýÿÿþýþþýÿüþþýþþÿþÿûýûþÿüýÿüýÿüÿÿüÿÿýÿýÿþþþÿúÿÿþþýþýþüúúýÿüþþýþþýüþýþþýÿýÿþþþþýýþýüþýûþýþþýÿþþþþþýÿýÿþþýÿüþþýüþýÿþþýþþýþþýýþýÿþÿúÿÿÿþþüþüýýùþûüÿþÿþþüþÿÿÿÿþþþþýÿþÿýþþýþþýýþýÿþþýþþýýþýÿþþþüýüúÿüüþÿÿÿÿýýýûþÿüþÿüþÿýþþýøþýÿÿþÿüÿûýýþþþÿýýÿþýýþýþþþýÿþýþþþýÿþýýþýüþýþþýÿþþþþþýþþýþþýÿþüþÿýþþÿüÿüüÿüþÿýÿþüýÿÿüþüÿÿþÿýþþýýþýüþýþþþþþþýÿþýüÿüýþþûþÿýþþþýþþþþýÿþýÿþýýþýýþýþþþýþþýýþüþÿþþüýþýýþÿþüÿþþýÿþüÿþÿÿþýþÿþÿüýþþþýÿþýþþþýÿþýÿþþýÿÿüÿÿûþýþýýÿüÿþþýüþýúþýþþþýüþþýÿþþýüþüþþüÿþþþÿÿüÿüüþýþþþýüþýúþýüþþýÿþýþþþýÿþýþþþþþýÿþýýþüþÿþþûÿüÿýþþþýÿþýþþþþþýÿþýýþýÿýÿþýþþþýûþýüþýÿþþýÿþýþþýÿýÿþýþþýÿþþþþýÿþýýþþýÿþýþþþýþþÿþýþüýþüþþÿÿÿÿþýûÿÿÿþýþýþýþþþÿýþÿÿÿþþýüþüýÿüþþþÿþþþýÿÿþÿýýÿþþýþþýûþûÿýüþþýÿÿüýÿüþÿýþÿþþýÿýþÿÿüÿþÿÿüýÿþþýþþþýÿþþþýþþýýþýÿþýÿþûÿÿüÿþþýÿþýþþþýýþýüþýýþýþþýþþýÿþýþþþýÿþýýþýþþýÿþýÿþýÿþþüþþýþþÿÿþÿÿþÿþÿþÿÿÿÿýþÿþÿþþþÿþÿþþþýÿþÿÿÿÿÿÿÿÿÿþÿÿûÿÿûÿÿûÿÿûÿÿþþÿþþþýüþþÿÿÿþÿüÿÿþÿþþþþÿÿÿÿÿÿÿþÿÿýÿüýÿüÿÿýþüÿÿþþþýÿþýÿþÿÿÿÿÿþýþüüüÿÿÿÿüýüûûÿÿýÿÿþÿÿýþþÿÿÿÿüÿÿûÿüþÿÿÿÿüÿÿýÿÿÿÿýþýÿÿþÿþüÿýÿÿÿÿüÿþÿÿÿÿÿÿÿüÿÿýÿÿýýûýüýþþþüýþþþÿþþÿÿÿÿþÿÿÿÿÿÿþÿÿýÿÿýÿÿÿÿÿÿþþþýþúþûþÿÿÿÿþþüþúþûþþÿþÿýÿþÿÿþþýÿÿÿÿÿÿÿþÿýýþÿþÿÿÿÿÿþýþÿÿÿÿþÿþÿþýÿþýÿÿÿÿÿþÿüþÿÿÿûÿýþþþüÿÿüþÿýÿÿýýþþýüýþýýþýÿþþþýÿþýþþýÿþýÿþþýÿþýÿþþýÿþþýÿþþýÿþýþþýÿþþýÿþýýþýþýþýüøýÿýüýþüúûþÿýýýúüûüýüÿÿþþûÿÿüþÿÿþÿÿþúùüÿþ þÿûÿùö÷úøþúøÿûÿþþþþþþýõðÿðñýö÷ÿüÿýÿþþþýþýû þ þ ýÿÿ÷ðþïíÿðìÿîøýýÿÿÿûýÿøê#( üýöçýéòüðëþòõýþþûüÿúÿùõý /ÿÿþôþìàâìÿëíóù þ ýýÿ ÿþþõÿëèÿçæþííýóóýûýý ýýûþûü÷ÿ7øþúíÿìÚÿéñèþîøýÿýÿÿÿù÷ÿÍIþ*áÿðýèÑüåóþëáþûÿüýÿ úøþÛþOñúþùâÿÕÿÛðþêèÿ÷þÿÿ ÿ þùþüÙ)AþòüõæÛåþðêþëôÿ ÿóüÿÈD=þÚýêêþÍçÿúïÿèóý ûûÿÿ÷ýËÿ4JÜùþíçýÏâúôåÿöÿ ÿþ ûÿÿÿÖHþ+àÿþäàÿÑÿëöüóíýôþþþúþ îßýeüäúÿâÿÚÊþõõþóîþüþ ÿüòþ éíeÿõêþóßÚÐøñòíÿÿ üóþ×ÿ*LüâþÿæÞÈýßôýïòÿ÷ þþ þ÷þúæd êûÿÝÓþÂòþðêÿôþ ÿ óþçbþïùÿðÑÆÿÑ÷êìÿø ÿ ÿ  ÿ üùÿæýX(üæÿþáÉþ¿íþðíÿó ÿÿ  ÿñþå,ýQîþúìüÖ·úÝöûëéýù þ ÿ þþùýö÷Vþìþüÿß¾ýÁôèþìóÿ ÿþ  ýóäþ;DþïþéÔÿ³àþöêÿîÿûý úú  ýùþçþ ZüôýïÜÿ½Âúÿíêþóÿþ þ÷ÿ÷ëN1ÿëøÿàɶÿêøåîýý ûû ü øýùëüUþîéÿиÍýÿîéÿúÿÿÿùýõúþF'ÿñëÜÃÿ¿èÿúïïÿ ýÿ ý ÿ þâÕÍÌÿáïýöøþýþÿ þ ÿÿ þ þ÷ÜÏþÊÜþóøùÿþþÿÿý ý þÿÿßÿÐËÿÚîÿúùÿùüþûý   üý ÿüéÿÖÓýÙîÿÿýþÿÿÿ  ÿ  ÿ ÿýôþáØÙÿæùÿýþÿýÿ ÿ  ý ýýûýéÙýÜåþóþþúÿûÿÿ ý þ þ ýùïâàÿéóþýýûýúüþ ÿ þ ÿýþùóÿéåÿíóýûýýûøþøþÿýþ  ÿÿÿþþùÿöíÿêíóÿùúÿúúõÿûÿÿÿ  ÿÿýþùôýðíÿíòùÿúùþùöýúÿýÿ  ÿ þýþûýôñïÿññÿùûÿúúý÷øþÿþ ÿ þýÿýúþóôòþô÷þýúÿú÷þ÷úûþûþ ÿþÿýþþöñþööÿö÷ÿüýúøÿüÿÿÿÿýûÿúööþùöÿúýüþüøýþþÿÿþÿûüüýûöÿøúøýùûüúûúÿûÿþÿþþýûüýøüúûþùøþúùùÿýþþÿÿÿÿþþýþÿûÿü÷ÿüúþûûÿøüùÿûþÿÿÿÿþÿüýþþýüýùÿüûÿúûÿùúüÿÿÿþýþÿþüÿùþûüøþÿþýûùþÿþýþÿÿÿÿþÿüþÿýûþýúûÿýüùÿüúûþþýýÿþÿÿýÿýþÿýþÿýþÿûúýþúúüüþýþýÿþýÿþýýýÿüÿÿýÿúùûÿÿüÿùüþÿýûÿÿýÿýÿýýýýþÿýÿûùÿýüþÿúÿÿþýþÿüûüýþÿþýýÿþþþýÿøýüþýýþÿüÿÿüþÿüüÿÿÿþÿýþÿüÿÿüýÿûþüüÿýÿþýÿýÿüÿÿþþýþýýýþþýÿþþýýþýýþþýþþýüþýýÿüÿÿýÿÿÿýþÿýÿýÿþýÿþþýÿþþýÿþþýÿþþýüþýüþþýüþýýþýÿþþþþþýþþÿþÿÿþüþÿüÿþÿþþÿÿþÿüýÿÿüÿýþþþþýÿþýýþýûþýüþýþþþþýÿþýÿþýÿþýýþýþþþýþþþþþýþþýýþüþüýþÿþýÿþýÿþþýþþýýþýþþýýþýýþýÿþþýÿþýÿþýþþýýþýýþýýþýÿþþýÿþþþüþüýÿüÿÿþþÿÿÿÿÿÿÿÿýþþþþýÿþÿýþüýþüÿþþýÿþþþýþþþýþÿÿÿþþþýýþþÿÿþÿüþÿüÿþÿýþþýþÿüÿÿüÿÿÿÿüÿÿÿýÿÿüÿÿûÿÿÿþÿÿÿûÿÿüÿÿþþýþÿþÿýýüþüüýýÿÿÿþÿþþüýÿÿûÿüþÿþÿÿÿÿÿüÿÿüþÿþÿýÿþþÿýþÿÿÿÿþýÿþüÿþýÿûÿÿüÿÿþýþÿÿýýýþþÿÿýÿþþÿÿþþÿþúþûþýþþýýÿþþýþþýþþüÿÿýþþýÿþþýýþýýþýþþþýÿþþýÿþþýýþþþýÿüÿÿüüþýûþýþþþþýþþþýýþýýþþýÿþþþýÿþüþÿþÿýÿþÿÿÿÿÿÿýþþÿýýþþþÿþÿþýÿÿþýÿÿþÿÿþÿÿýÿÿÿÿÿÿþþýÿÿÿÿþÿþüþþûþüÿÿÿÿÿÿþýÿÿÿþýÿýýÿþýüûÿÿüÿÿþÿüÿüþÿÿÿÿÿÿÿÿÿÿÿüÿÿýÿÿþÿþþÿÿÿÿþþÿÿýþüþÿÿýÿÿýÿþÿÿÿÿþþþûþüþþÿÿÿÿÿÿþÿþþþÿÿÿÿÿþÿÿþÿüýÿýÿþüÿýþüþÿþÿÿÿþþþþþþþþÿÿÿÿýþþþÿÿýþÿþýþÿÿüÿÿþþýýþýüýþÿýÿþýþþýÿþþüÿþÿÿÿþýýýþþÿÿÿÿÿÿýýÿþþÿÿýÿþþýÿþýÿþýÿþýþþýýþýÿþþýþþýýþýÿþýÿþýÿþþýÿþýýþýüþþýÿþþýÿþþýþþýûþýýþþýýûþÿûÿýþÿýÿÿÿþýÿþýÿþþýÿþþýÿþýþþþþýÿÿýþýÿþþûþþüÿý ÿÿùÿúöüööüöøþüûþÿÿÿýþüþþýÿÿÿûÿøòÿðíÿñõöÿûüþþþýÿýüþ÷ü"þþÿÿûóþåêÿïÿïêñùý ø àþZüýüòýØÕîïÿæïþýýþý  ýÿõGÿøæÕÿÎãþêéþôÿÿþþ þ  þþ þèþTüÿ÷àýÏÐþêêÿîïÿÿþ ý þöÿ ×ÿ(Záÿíý߯Ðÿöåþêòÿ ÿÿ ÿÿÙ*RáýþóØÿÅ×óÿìêõþ ÿý þÿÿÿðéþcêýâüÔÅôþíìþíÿýûû öþ Ð6ýN×þîß¿ÿÙÿëëÿö ý üÿ þøÛý<AøÛþúã×ÿÀÿæùüëðüû þ ÿÿ óþéýeûöóüòÛþÆÌúíëñÿþþüüÿõ_èýÛÍÀìñþêîþÿÿý þ  ÿöñþUýðýëËÿ¼Ôÿôíðÿ÷ÿ  ÿ ÿùÿÿõÿ^ÿõñÿÜ¿»ÿòêëþõþþþ ÿùøÿüP)õÿùØÿȵçïæÿðüÿÿþ ÿó)ÿöÜýȼý×ðþõøþûü ýÿ ÿþüýéÖþÈÏþéñþóøüþýýþ þüý ÿéÚÏÔÿäñ÷þùûÿý ý  ÿÿþ  ÿ íÙÓÙç÷þýüÿùÿüý ÿ  ÿþÿÿíØþÚàþñþüÿÿùþÿþÿ ÿ ÿ ÿÿþóßüÙáÿðúûþýúûÿÿÿ  ÿ  ÿýþôæýâçÿôÿÿüýüùÿøÿþý ÿ ÿ  ÿ ýûýøíýèëþóúÿýûþøöÿü þ þþþüþûòÿìêï÷þüûûúõýùþÿ  þ þÿÿüøþòîïÿòûýûÿýöÿùÿÿÿ ÿýÿþþûöðÿññþúüÿüüôøÿþ þ þÿÿùþùòüôòýõüùþüùÿùûÿÿ þüÿüüú÷õý÷ö÷ýüüþüýùÿûþÿÿýÿýþÿýùöþù÷úûÿùüÿüøþþþýþÿþýýþÿúÿùùþúùûûùùýûþüþýþÿüûýÿüÿýúüùþùûüúûýúüüþÿÿþÿþþüþÿüþúûúþûüúü÷þûþþÿýýþüýþþûûýÿùûþúüùÿüÿþÿÿþþÿÿýýþþüüþüüýüüÿûúø÷ùþúþÿÿüÿÿüþûÿúÿøÿúûýûõýùùýúøþÿÿÿÿùÿÿþÿúþÿüîïÿýñîõøýûÿý ÿøÿíýAûü ýíâüÞôþéèäþïøþüþÿKþ$þôþæúþøåþåêþëçÿïöÿ7ÿ.ü ýúÿëüþ÷þùíÿöéèÿæßüj úüÿõÿíÙÿüøýùþûþî Îý[=üëþäòÁÿ÷þþíßôöÿ óüæÿ3ÿgõü ëüþÑÿàòíÿÝÿåòüýúûÿýéyÿÿþú÷þÖñùÿßåýñÿñÿãÿÿpåü ùõåÿùéÿýôèþáýò\ÿÓþöøýî×ÿúðþòþíþëþ÷[þÑþðûþñØÿôãý÷óûùûÝÿpôýþþ÷øÖÿþòçþäõ õõíoÿéûüÿåÿóäýêëú õþóþæjþæûüþøûÞþùýéùþõ ýýûýÎÿhïîþñþÙþýüþäôó ýÿÜkù÷ÿêûýÛþþþäÿõòÿõþ ùÿéoÿóúþÿö÷þàýùßôþó ÿóöÿüpëýõý÷êþìÿþöÞüóõþùÿøÿäqÿóøþöùîÿâýöÿâëþöûÿöòÿpïþþòúÿíæüÿôæþïûÿûþïýýféüÿîýèÿåîäñú úê [ÿä ýçýàñÿçãÿïûÿÿûÿè_þèÿæÝþîþþæçÿëüýöúå-ûUáý ßüàûöýüäãþëýóÿàþ0Sþæ ßÝþ÷åìèýùâÿM3þç ÿÞÿýÝýùúáæýìûýû ÿã[)þòâúÛþûâéÿíþôòÿjþýýþåòþäÿóäçíôÿÿnÿýúæüðàü êþåçÿð ïëþjÿö îþêéÿëèþæèÿòîýë1úYíýëîåôÿáçþçøþÿô êV4ðÿ äþïâþâêæÿûøþñþfôýãûéÞû øÿáÿêåþõýùýjÿýûçýçåþîÿåéèÿ íý îüfþ÷ðýëáüðäÿéæðÿðþ çÿILÿï þèíÝÿüþáëþâøÿþô îþb+ÿôáþíÙþ ÿÿáòãÿùþýþlþûüþáçüßüôàþïãþôÿô&g÷ôåÿãèþãþçîÿéï îÿGMÿð þçêÜÿ÷ þÞìÿéòýöüû`ÿ'ñýáûêßúÿüÜñýæøÿüÿþýþgÿýÞäåóÜðþçÿþøþ÷0ÿZôþñüãßüïçÿàðîý÷ÿ÷ÿNDüï ýëäÛýþ þàæðýõûþüþþ \ÿ$ñÿåàÿáÿýÞçýðøÿøþÿþ\ûôþæáþè õÿâéïÿöÿ 4ÿðýìçïÿùñþææüëøÿý(ýñþìé÷ÿýýìþêëýòüÿþþþêæÿïùþþúþêíþíõþþþ#õëèóùøëíðüõîð÷þðíñôÿþ ÿÿùôíÿöÿýúîþïùûÿ ÿ þþþ÷òîøüþøîþóúþþÿ  úòÿóïþùûÿôî÷ÿýþÿ  ÿ ÿ÷úýùòüü÷üóóþùýÿÿ þùùÿõôþù÷úúþÿÿ÷ÿúòÿöÿøöûúùúÿþûÿþûøÿú÷øþ÷øýúûÿþÿúÿúúÿ÷ùöýûüüýÿÿÿÿýÿþúûÿùöÿû÷þüûþþþÿÿÿÿüûøýúõÿùûþýþüþüÿýþÿÿüüùúùúþüýÿþÿÿÿÿþùÿùøýúøüüûÿÿÿÿþÿÿÿÿÿÿýüùÿüûúþúýÿýÿÿÿþþþÿýûúûþúüÿýüþÿÿÿþýÿþüúþûúþúýÿüÿÿþÿÿýÿÿÿýûÿüþüüÿúüüþÿÿÿüÿüÿÿÿÿþüÿÿüýüüþûûûýþýÿýÿÿþýýÿþýþýûüÿüýüþþüýÿüþÿüþÿüüÿüþþýþüÿÿüýÿýûÿýþþýÿýÿþýþþþþýýþûûýþþýÿþýþþýýþýýþýýþýýþýýþýþþýüþýüþýÿþþýÿþýÿþþþþþýÿþþÿþýþþþþþþÿÿüþüÿÿÿýÿþþþþþþýþþýþþýÿþÿüýÿýýþÿÿýþþþýüþýþþþýÿþþýþýþÿýÿÿÿüÿÿýýýþýýþýþþýýþýÿþþüÿüÿþþýÿþþýþþýÿþþþýþþÿþÿÿþÿþüüýÿÿÿýÿþÿýþþýÿþþýüþýýþþýÿþýþþýüýþûüýþþýýþýüþýÿþýÿþýýþýýþþýÿþýþþýþþýþþþþþþýÿþþýÿþýýþýýþýüþýþþýþþýÿýÿúþþýÿþþýþþýþþýÿþýþþüÿþÿþýÿþýÿþýÿþýÿþþýýþýþÿýþÿýûþüüþÿýþýýþþúÿþýÿþþüÿÿüÿûþÿþýþÿüþûÿÿýþÿþþýþþýÿûýÿýýÿþþýþþÿÿþþýþþÿÿÿÿüÿþþýþþýýþýÿþþüÿÿúüÿüüþþüýüþþþþýÿþþýÿþýýþýýþýþþýÿþýÿþþýþþüýÿüÿÿûþýþýýþÿþþþþþþþýýþýþýÿÿÿÿþþþþþýþþýüþýýþýÿþüüþÿýþþýþüüüÿüûþýüþýýþýüþýþþýÿýÿþýÿþýþþþýÿþýÿþüýÿúýÿýÿþÿýüÿýþÿþýÿþþüÿÿýýÿþÿýþÿýþþþýþÿÿÿüüýûþüüÿüýÿüýÿþüþûýþþÿÿýýÿþþýÿþýÿþþýÿþýÿýþýýþþþüþÿýÿýÿþýýþþýÿþýÿþþýÿþýÿþþýþþýýþýýþýýþýýþýýþÿÿþþÿþÿÿþýýþþüþþþýþþþþþþþþýÿþýþþýþþþþýþþýþþýÿþýþþýþþýýþýþþýÿýþþûþþþýýþýüþýýþþýÿþþþýÿþþýýþýþýÿþÿüÿÿþÿþÿþÿÿÿýÿÿýÿÿþÿÿÿþþýÿþýÿþþþýÿþýýþþüûþüþýÿþþþþþþþþþþýÿþýþüüýÿüüÿüþÿÿþÿÿþüÿýÿüÿüüþúþþþýÿþýþþýþþþýÿýþüûþýþþþþþýþþþýÿþþýÿþýÿþþýÿþþýýþýýþýýþýýþýþþÿüþÿûûþþýýþþýýÿþýÿþýýþýüþþþýÿþýûþýüþýýþýþþþýþþýýþýþþýÿþýüþýûþýþþþýÿþþýþþýþýÿÿüÿüþþýÿýþÿþýÿþýÿþýþþüÿüþþþýþþþýÿþýþþýþþþýÿþýþýþþþüýÿüüÿüýÿþÿÿÿþÿýúÿþýþþþýýþýüþýüþýüþýÿýÿþýüþýýþýþþýþþýþþþýÿþýýþýûþýþþþýÿþþýÿþýÿþýþþþÿýþÿþýþþþüýþþþÿþþüþþÿþþÿÿýÿÿüÿÿýÿÿþÿýÿýÿÿýÿüüÿÿÿÿþþüüÿÿÿÿÿþÿÿþÿþþþþþÿÿþÿÿÿÿÿÿÿÿÿýÿÿüÿÿÿþÿþþþþÿýýþüþþÿÿÿÿÿþÿýþýýþþýþýýÿýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿüþûüÿþÿýþÿþÿÿþÿÿþÿÿÿÿýÿÿÿÿÿþÿÿÿÿÿþþþþÿÿüÿþþÿÿþÿÿÿÿÿÿÿþþþýÿÿýÿÿýÿÿþÿþÿÿÿÿÿÿýýþþþþÿÿýûÿÿÿÿÿÿÿÿûþýüÿüþÿüþÿûþýÿþÿÿÿþþüþýýÿþÿþþþÿÿþÿþþþüýþÿýþýþþÿþþþþþýþþýüþýüþýüþýüþýþþýÿþýþþýÿþýüÿþýÿþþýÿþýþþýÿþýÿþþþýþþýýþýþþýþÿþþÿÿýþÿÿÿÿÿþþýþþþýÿþýýýÿþþüûþüþÿüýþýþýþþýþþýÿþÿÿÿýþþþýýÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿþüÿþÿÿÿþÿÿýýýþþþýýþýþþýþþþþþþþýÿþýÿþþýÿþþýþþþýþþüûÿüþÿüüÿÿüþÿüÿþýÿþþþþýÿþþýþþüÿÿþþþÿýýþþýÿþÿÿÿÿÿþÿÿþÿÿþÿüþÿüþÿÿþÿÿþþýþÿüÿÿýþþþÿýÿÿÿþþþýÿÿþÿÿþÿÿÿÿýýþüþþþýÿþýþþÿÿÿÿÿÿÿÿÿÿüÿÿÿÿþýÿþþýÿþýýþýþþþýÿþýÿþýÿþþýýþýýþýÿþýÿþýÿþþþýÿþýÿþþýÿþþýþþýýûÿþüÿÿÿüÿÿýýþýþþþýÿýÿýÿûÿþýþþýþþþþþþþýÿþýýþýüÿúþÿýýÿþþýÿþýýþýþýþÿþýþþþýÿþýþþþýÿþþþýÿÿÿÿûþùùÿþ ýÿýúþùùÿùûûþøýÿÿÿýÿûý!ûýûúõþïõÿôñðõôþõüýù &þüþþ÷ó÷ÿùòÿñîÿîïÿñò&þ6ýÿýóèÿïíþöîüóíýóêþ aü þñäÿáôÿçéÿï÷þóýòÿbÿ ýîþàßÿúìâþçïýùùþú ûe$þõþäÜÿñðßâÿô÷ÿôý àûPDûõþóòàÿèþæÿîðýüýõÖÿe ÿêçÿùÖÿùéÿöôÿÿùÿúØýlöÿôçÿôÐÿûæÿöî ÿûüùíùqìúþîñ×ýðÿåïïÿþ ÓürüêÿñøÜÿùóäæðþÿüþÒÿkÜÿíÿâù÷ýçíýñúÿ ùÿÌ^þÕýïâÿõûæþôòü þþÿÔ^ÿá ýìúþãü÷ÿæóÿñüýûÿ Ühÿéþññÿäûôþçíÿôÿÿâlÿïþóþõäùñäþíöýý þài îÿõòâÿ÷õæëõÿþþâüjÿüñÿõöãùÿõåþôõÿþÿ þüîiÿ÷÷ÿü÷þîâÿþòåòõþ õþeîÿ÷øþìåþþéýäñÿòûþëý^èðþÿãÿîüþêåýñ÷üë(ÿUæÿíãÿóüýçæþñúýüþâ=>ÿâ ýèûàøüùáþëðÿüÿûÿßL0ÿå ÿæßýüõþãíóÿùý çþ`þòéüÜÿîãþèðýõ üýùýiþýüþìóüãÿéÿäéýòÿðÿôýgþñÿñìýîéþããýëõþòüìü&aÿë éòÿêîÿàÿêéþùÿðÿäþ>QþåþâóâýùþÜçÿéûþþ÷ûäTÿ=þçüáøÿÛþúþÛìäýúþèh îÿ áõÿÜþñÞìýèüù þôþt óÿâýòÛý éüßìéþúü úÿpÿóýçþéæþ äþåâÿîû ÿÿüFûëðýìðóÿýëîþâïûþüý' ýîãÿïüÿõéÿðãþóûý  þÿÿéÞýôøÿòÿåðÿè÷ÿÿÿ$ ÿ$îýéÝýúøÿïêÿòìÿÿüùôéüäþÿüìýîóýòÿýý öþûçþìÿüþçõôþù ÿÿ þ þöøýçîþüûøÿèõÿø ÿ ÿüòùüêôûüúýöçþúøü ý þ þÿðÿúÿñ÷þýùÿúñüü ÿ þ ûöÿùòþøøöÿõôþýþþü øÿùöÿôøþù÷ÿõúþýÿýþÿùþùöýööþùüþ÷øýþüüÿÿøÿúùþùõüøüÿøüþþýÿÿúùþ÷÷üúùýüÿÿþþüüÿúúöþùöÿüüÿÿÿÿþýÿýúÿ÷ùýùõýüþþýþÿÿÿÿÿÿþûÿûøþú÷öýþýûþÿüÿÿüþýûÿýøýúøüúþþÿÿþÿÿýÿþÿÿüÿúÿùøþúüÿüþÿÿþÿÿþÿþýüýúúýýûþüÿÿÿÿÿÿþÿÿýýþþýûþúûþýûÿýÿþýÿüþþþüüþüüþûùþýûþþþýýÿþýüÿýúúþþùÿüýüÿüþþþþýþþþþýüüÿüùÿüýûÿýÿÿÿÿþÿüýÿÿÿüüÿüûÿýüüÿüýÿÿÿÿüÿþþýÿþûþýüýýüÿÿÿÿþÿüÿÿýüûÿýþÿýÿüýÿüþÿüÿÿûÿýÿýÿúüÿýûþýüþÿüÿýþýýÿýýÿþúýÿüüÿýýýþýþÿüÿþÿýûýÿüþüýÿüÿÿüýÿÿüÿÿýþþþýÿüüÿûþÿþýþþþþÿýþýÿýÿþþÿþýüþþþýþþýÿýÿÿüÿÿÿÿþÿüþÿýÿýÿÿþþþþýþýÿþÿÿýÿþÿÿýýþÿûÿÿüÿÿýÿþûüùÿÿúÿÿüüýÿÿüÿÿÿÿÿÿÿÿüÿÿþÿþÿÿüÿþÿþýÿÿÿÿþþÿÿÿüÿÿüÿÿýÿÿýÿþÿÿþûüùÿÿûÿÿÿÿÿþÿÿþÿÿÿÿÿüÿÿÿÿþþýÿþþýþþýýÿüþÿýÿÿÿýþýþýÿþüýþýÿýÿþüýÿüþÿüÿÿýþÿýþÿýþþýþþýýÿýÿþýýþýþþýþþüþÿüÿýýþþûýþýýþýþýþþýþþýÿþþýýþýûþýûþýþþýÿþÿýþýýÿÿÿÿýþÿÿüþÿüüýÿýÿýþýÿþýþþýþþþþþþþþþþþþýþþýÿþþýüþýûþýüþýýþÿýÿüüÿüýþÿýÿýþÿþÿÿÿþýþÿýÿûþüþþÿÿÿûÿþÿþþýÿÿÿÿýýÿþþÿþýüüÿÿüþþÿþÿþÿþýýþþýÿüÿÿÿÿÿýÿþýýþþþýÿÿÿþüýÿüþýþÿÿþýýþþýÿþþþüÿÿûÿÿûýþýÿþÿüÿÿýÿþýÿþþýÿþþýþþýþþýþþýÿþþýþþýÿþýÿþþþþþýþþþüûþýþþýþþýýþýÿþþþþþýÿþýýþýüþýýþýþþýÿÿÿÿÿÿÿþüÿÿþÿýÿÿÿþüÿÿÿýÿþýÿþýÿþÿÿýýýþýûþýûþþýþÿÿÿþÿþýþþÿüÿÿÿþÿüÿÿÿÿÿÿÿþþþÿþþýþþýþýÿýÿÿþýþüûýþÿþÿÿþþüþÿþÿþþÿÿÿÿþÿüüþþÿþÿþÿüüþþýþÿÿÿÿÿÿÿÿýýüûþþþÿÿþÿýþüÿÿÿÿþÿþþÿÿÿÿÿþÿýÿÿÿÿÿüÿÿýÿþýþÿÿÿþüþþÿÿÿþþÿþýýüþÿþÿÿÿþýýþüþþÿÿÿÿÿþÿÿÿþÿÿÿýÿþÿþÿÿÿÿÿýÿÿþÿÿþÿÿþÿþþþýÿÿþÿÿýÿüþÿþþÿþÿýþüÿÿÿÿýÿÿÿÿÿûýþþÿÿÿÿÿþÿÿýÿüÿÿþþþÿýÿÿþýýüýÿýÿýýþÿüÿÿýÿÿÿÿÿþÿÿþÿÿÿÿþÿÿÿþÿÿþÿþþþýþýþýþÿþÿýÿÿÿþÿüÿýýÿþþþÿýÿýþÿÿÿÿþÿÿÿÿýþþýþúþûÿÿýÿÿþÿýüÿÿÿüýÿÿþÿÿýÿÿþþÿÿýÿýÿþÿþÿþýÿüÿþþþþýüþÿþÿýþÿþÿþþþýþÿýÿÿÿþþýÿÿÿýþýÿÿÿþýþþüÿÿþûÿþþüþÿýýÿüýÿÿýÿÿýýþýþþþÿþýþþÿÿÿÿÿÿÿýýýÿüÿÿýÿþÿÿÿÿþýÿþþÿÿýýýþþüþþÿÿÿÿÿþþþÿÿýýûþþÿÿÿþÿÿþÿÿþÿÿþÿýÿÿÿÿýþþþþÿÿþÿÿþÿþÿþÿÿÿþýþÿþþþÿýÿÿÿÿÿýÿÿûýþüþþþÿþÿþÿÿþÿÿþþþÿÿÿÿÿþûÿüþÿþÿÿÿýýýþüüþÿþÿþÿþÿþÿþÿýþÿÿÿÿÿÿýÿÿýþüýÿÿþþþýÿþþýÿþýÿþýÿþýÿþþýþþýþþþýÿþþýýþþýÿþþýÿþþýÿþýþþýÿþþýÿþþýþþýýþýýþýýþþÿýÿÿÿÿÿþýÿþýÿþþýÿþþýÿþþýýþþýþþýüþþýÿþÿûÿÿÿýüþýýûþüþýûþûÿýÿýÿüÿþþÿÿýÿýûúûÿúýþüýÿÿûþþÿüÿÿýÿÿýÿüýùÿûüþúûÿúùÿÿÿýÿþ÷þÿùÿüüõÿúôÿðôÿ2þýÿúñÿìùôÿñõøÿûìÿòô!ÿBþ ÿóåèÿûñèýîîýíïþ÷÷ý86ýûýõþãóóÿìéêýòòýñúýõþFþÿõþæéíþëæÿë÷ÿøçRÿ<úÿ òÿí×ÿåøþíëÿúý ñýÕMÿBìÿðþóÔûãýýðõõÿñþüßb+óÿññÓÿïôÿçïÿùý ñüÑþZ:ÿçþ÷õÿÜïÿùèþæñý ÿòÓÿR4Ùøûÿàôøìèÿøüÿö ÿÒ:GÿÔÿüãýë÷þëéñùÿõÿ ÏGÿBÎÿ÷èÿðøþçëýñøþðþ ÑÿBKþÕûÿ÷äþò÷êêÿî÷ûóûÔÿNÿBÙÿòøýåòÿóëéüõ÷ûôýÙÿ=VÞþõÿôæíÿñëþê÷ýôþú þÛ2û[ãü øóÿåèýõéþêûðÿöþÜÿ4Xþá þùòßýêñýìëöÿô õ ÿÜDLÿá ýôöýÛðþñçþë÷ôÿ úþ äAÿJèþøþõÙþóïèêõøÿ øþ áþP?áþóþúÚôÿïäþëõûþúüÛþX7áñúÖøíäÿëôÿ ÿå_ü&èüïÿûÕÿûìýäïüõÿéÿiþîÿïþ÷Öþþêæÿððÿþÿ ýÿùfÿ ñÿòÿòßýýèýãìýóü ûöûgüõüóÿîäÿýæÿåèýöýý þúÿOÿíõÿûïÿéòéüêéüõýÿ  ü0û êýíøÿûóÿëêþîíþöýÿþ ýÿçéÿþÿõþèëýïòøÿÿÿùýäéýÿûýùéÿíñöþýþþ ôÿâêÿÿüûëþðòûúÿýýþôâþïþÿþøëñÿõüÿþÿýôÿæóÿýþýóëòÿ÷ÿ  ýûöëòþúûÿóðöþüýþ ý ùý÷õìÿöûúÿóñöþüÿ  þ ý÷óÿöðöÿýùÿôóøýý ý  ÿôöÿùóþúüõÿ÷ùüúý ÿ ÿþ÷öýõóþ÷úÿöõûÿþþþÿÿøõÿôõþöþùõüûýü ýûÿ÷øþùùþöýÿúõþÿýÿÿþùýúøþùú÷ÿýýøÿÿÿýþûúú÷øü÷øúýÿþûþýýÿÿÿÿþÿüýüøüöùþöúþÿüÿÿüÿÿÿþÿûþýûþöôþ÷üþþýüþüþýþÿýþøóþøüþüûýÿüþÿþÿÿþÿýøÿ÷úüþÿþýüýýÿüÿÿþõÿõùþúþÿþþüþúýþýÿþþþýòýø÷þøüÿÿþÿþúÿøÿþÿý÷ÿ÷øÿó÷øÿ÷ûüÿýû÷ÿ ÿþûÿøîÿø÷þôöûýüüýýüþþÿþ þýøñìýóûûõõýñööþöþýÿþþøýî÷þûþôÿýóæÿé?þþÿôéåÿûùÿñùöÿøòÿõôÿ4Bþ  þúïÝþçöþëéÿééÿû÷þþ&ÿPþ þñâãíëÿææþè÷þöÿõ,fÿþÿíéåýúíþçðíÿí þâ6ÿ_îÿöÿðÞåþñÿí÷õÿî ÖþKLûâûêðýÔìþíýïú÷ ÿôüÛBþNçêðÿÑíýýêþìðùýõÿÛPLþàþîôÙÿïúÿåëýîùþö þÚ^5ÿÝòüößþùöäÿïïúÿõÙÿcàíÿúáôãñþ÷ûþ õþÑþ[!þÞþìúþÜýóýéñýñüýýýßdþæ ÿîøàÿðæÿóíÿýÿÿÿãgÿëÿòÿ÷âÿíèþîðýûÿèÿiðþôÿ÷çþÿêþëíôþÿþþéþf ôÿþôõþãûÿíìîþ÷ÿýý úþñhü÷þýóôþãûÿëéðÿòø÷þjôþúþøíþâäþëïÿðÿõÿëþhêÿ ðþûíýèüÿæêðÿóõìþeèÿ îýëëùÿåéíôþ ôÿè'þ\àÿ îþþëìþ÷âÿëðöÿöþÝþ:JÞ èßÿôøßÿîìýþÿùÿÞSÿ3å ÿæÿÝøÿõàÿñïýÿþýáÿ_ÿíþçýÛýþîãìþîýýÿ ÿåÿhýîüëýþßþéåìÿïþýþìþkþóÿìýûÜûçýäîîÿõþ úýnõÿõÿòõþáÿæçòó þõýðÿfç ëÿ÷íåþáÿéïòþ ôþêþeþæýêúþçíþüßÿëíõ ÿöÿæ+Wÿß çÿýäÿðûþáëìÿøþôÿß>ÿJà ãáõÿøáýîíþþöÿÝNþ2âþ àÿþÜýóãîþîþþüÿàþc$þèýçüÿÛêÿâîþîÿüýý æcÿìýçûûÝýêçþòìüüýÿóoÿòúÿîöàÿæÿéîþñüø ýúúÿjÿòýýóòýòãþåþëëýôÿøóükûïòÿõëÿèÿÿäêþðõþûñÿ hêÿïÿøèÿïüÿçíÿî÷ÿ ýÿíÿdæïýéîþúèþñîÿöÿ÷üçý"[âëÿþãüõóýìëþïøýùÿè(þRßüëýÿãÿ÷õìÿíòþùþùýç*þPßýëýûå÷ûóíþîôùùÿá0ýHàþëÿÿáþúîûîêûñùþûÿã2ÿEàÿìýýå÷þñîìõþúýüßÿ;<ÿâÿïÿþäøïÿîêõÿý ýûýáAý7áýïþÿáÿùïíÿéõþûùÿàþE6ãÿïýüåöýïíûëôýÿÿüàþO%ÿæóûþæøþîêþêöþÿýÿâþXÿéñüãùþïêÿì÷ÿ þäZýëÿþòûåþøíÿéÿïõþþýç]ÿ ÿíûþô÷åþ÷ðþëïü÷ýÿÿþô`üõÿö÷óçùÿïèÿò÷þÿûûùþcö÷ýöøþóèûíéñÿõýÿ õÿ`ðÿûóÿüíýé÷þìèñóÿùþ ðÿ \ìþóþëîøëÿèòú úÿìþ[çþÿñûÿìíýöéþèô÷ÿ öþë!Tåÿîþþêþóõæþêóþ÷ øÿã/ÿFãýíæÿóõÿçèÿôûý ûýßý@5þçìÿåùþôçÿêõûÿüÿáG,þæþîäýûïþééÿòÿûßÿN"ÿéïþãÿúîæÿëóýþþ äSÿéÿÿòýþåúîÿæìòÿþ éÿUòÿûóÿýåÿüíþçíÿôþÿü ëý[ ñþøóþüåþýìýåíþóþ÷`þÿúøýõøúèúûíçþðóÿûÿþ\þüúòÿùöëþúëýåìþòÿÿýü]ÿùùþó÷þôìúüèäüïô ÿÿ ù[ÿøþþòøÿòÿîùæýåïýö ùþ òÿXñÿðûÿðîÿøëãïÿö ÿùíþTìüêûýíýõõÿèæíþö ÿúêþ&Méþëüÿéþöõþçæþïù þúåþ3Býêëþèÿ÷ñçþæñÿúüþæÿ@3éþêþèýúòþææþóýþ ý ýæHý*êÿûÿïþÿèûìýäçûñüýÿþ éÿUýïýîÿüéþþëåêñÿó\ ÿ÷õþôøÿêÿüìþäèþòÿÿþüÿ[ùþóöÿ÷ïþüêäþìóÿ ü ÿô [õÿíûþòñþúéÿæîöþûþðÿVÿòþîüìÿôøçåëøùè+Jþíÿþêþéÿûöäÿæíýúþüé9þ>ìÿéþèýòãæþíÿþþþ çÿIÿ-íüýêýýéÿðåèîÿýþ éÿR%òúÿêûÿéþÿìæýéîþÿòVþôÿóÿðùþêÿéÿæéþïþý þùþ^ ùþòðþ÷ìÿÿÿéçþçïü üü ÷ÿÿ^þþþíõñÿðýèæëñÿüöÿY÷ÿÿëýúîÿôúÿäãþèõýúüîýVýôþéûïþ÷úýäèÿèöÿûçÿ1Hýïÿåûÿéûÿùãÿççÿúýùþè7BýïþéûçÿÿóýææýêùþüÿèA5ÿðþþåýèÿóæçÿíýþþ êýG.üòýüëûüèþïçêëÿýüîQþôûíýìÿìýçéüîþÿ÷Süùüõñöÿìÿÿêçüéíùýþ øÿVûþïôþóòþåþééþðþù ÿòSþ÷þþë÷üðöÿýÿçìüèòÿÿúüí#üJðüæýùëþúúþäëþë÷þ øþé0ýAîýéüýêüÿöÿçëûëûüþþéÿC-ðÿèûÿéÿõçëþëÿþþÿ êþK"óÿÿéùÿèíÿçîêÿÿÿôÿTþöøûíöüîêæíëþûþûÿXýþòüôòýíþçëëî ÷ÿñþQþõýëõüðóýÿåêÿìñþ øþîÿNôýæþøêøÿþçìèóÿúÿê*þDîÿèûêýýûþåìþèõýüýæþ>6þñÿçÿüäý÷ýâíæÿüþþ þéL%ñüÿçøÿçþðäÿíÿéþÿÿ ïSÿøúÿìùþæýíæýîçþüÿ õWÿ ùÿõíý÷êþéþéíÿéÿý ÿþÿ[þðÿññÿíçÿçìþëüû ûøýXûýÿìýóòñÿæýëìÿïÿùþðþTöÿë÷þíóûæþëëþñÿúíÿKýóýèøýì÷ýäÿíêñÿ÷þéý)Dýóýæúÿêýûþäíþêòýøÿç2þ>íþåÿüèýøÿäîèþúýú ÿèÿC.üòýçúçþôäþîéüýü ýìK$þôûÿêûæþðýåïþéÿýþöTÿøý÷ëüõéÿîæþíåÿùþÿþY üÿðïþóìÿÿëéþëëþø ÿöþWýþíóýíðúâüêêÿí÷ÿíþ Pÿöê÷ÿìöýâÿêèñùþêþ1Dóþçùÿçúûýâíûéõÿÿøþê<þ;ðÿæùÿæþÿûàíÿèøÿÿ þìNý%ôýÿêöÿæÿñäÿðåýþÿýÿðTÿøþüêþ÷èüíãüïèÿþÿøVþþýõîõþéýêæþíéÿ÷ÿ úþYÿðýïðýìýççþëçÿø÷ÿWýéÿóíýóýäéýëëþùýï!þOöþèþøèÿøýãíéþõþ÷þé.þFòþæþüçÿûÿýäþíêþôýûúê4û;ñÿèøþçüüúäûîçþõùÿéý?3üôüçúþæÿþöãýðåüûþü ýìJþ,öýèþøåûñüæîþçþþþ ïPþ"øþûéùþçþðäíþèýÿþþñTýøþ÷êõýçþïçîÿçÿÿ÷WÿûóÿíóýéþëçþïèÿýüÿüUýûüóïóêÿéþçïêû þûXþüððÿïîêèëêÿûý õû ZûüïòýíðþåèþííýúþôVüþëóûìõüäýììÿï ùÿí$Oöÿé÷þêöþüãþìëþðþüüë+üHõþé÷æÿøøþåíþëóÿ ùýë8ý>ôåþùåûýøþåîèþöüÿëE2ÿóýýçøþåóäÿíæÿýþ îNÿ&óþüèþøçýðäüìéþþþòþSýûùÿîùéüòèûïêýþüýúWýúýõïòþéýíêñþìÿþÿ üûTýýÿòôïþíüëéýîíÿùþ õüWþþÿìüõëýïÿçéîïùþôÿVüÿî÷ÿîðÿåÿììÿï÷ÿì(ÿLõþé÷þèöÿÿåÿìêýóþ÷êÿ-Fóýèýøæÿûøÿåìÿìõÿøýì:þ:óþéùæý÷äíÿêöüûüêþB1þõþêûþåüõèìêÿûþüêG,õÿþæþøæýõçüîéþýÿ ÿïSÿ"øüÿêøÿæïÿåïýèÿþ óþYÿ÷øëÿöçÿïæìêÿþþóþVúÿöìÿôåýìûçïþëþþûøYýúòþîôëìêïÿèþü ÿÿ]ýðÿðïëþèþéíýìþù ûÿ\íÿòíÿëÿééýìêüøþ öYÿþýîóüëíüèÿêíìþ öüñûUýùÿë÷ìñþæüïéÿñÿøê+Nÿôèÿúèõüûãûîèþôþöýé/Dþóþèúäýúúþçîéÿöÿùÿé9ÿ<óçþúäüýöþæïÿéúÿùÿè@þ4ñþçÿúçÿöæïéýÿý éÿM'ýõýþéùÿæÿðýæîþèÿþþú ìúQý÷úÿìøÿçþïæýïéÿþñþTþùøÿíõéíéþðèþûþþøVþ ûõïôêÿëÿèÿïéüøý üþWüýûðñýòìþéýêìþìÿ÷ øþ Uÿüíþöðÿðÿçþêíÿï÷þ òýPýùýíõýîòþèÿíìïþ ôþðÿNöÿêüêÿöþÿçíÿíóþöÿë$ÿHõýêùþêùøÿèïÿìõýõýêý2@ýòçÿúéþúùÿèíþëøþùÿê<þ6ñÿèùæÿý÷äþîéûûýúçýF-üôþéùäþñýæíþêþÿÿÿü ÿìL%ôýéþúäÿóçïÿëþÿþ îOöÿýéýùäüðÿæíÿéÿþÿ ðýVüøøíÿõæþïÿèñêÿþÿõÿXÿùöïÿøèÿïêíÿêÿþþÿúWÿ üõýðòéþéþèïëÿùÿ úÿZþÿñþòïÿííéÿíìû ÿøWþÿýïõðþïÿêéìîýöüôüSþøëÿôïþñÿçêíîÿ÷ðOôþêøþêóýÿåþìéÿò öí"ýHòüæýøéþúþÿåíêþõÿ÷ë5þDïþçÿùçúüäþïéþ÷ÿøç>9ñæûæûþøãÿïæúÿùëJ*õþèúÿåÿþ÷äÿïÿéüþýþ ìþNõÿûçþ÷æÿóäþòèÿþýøþ[ ûÿöíôéíÿæðýèüùþýÿZüÿîíýòëþéèîí ø òWùìðÿìðèêÿíîòÿï"P÷ÿéôÿé÷þâýíêñÿ ôýêþ1Cñèúçüþáîþéöþúüè@ý8òýèÿøæÿúåîåûÿý ðNÿ%ôÿÿäÿöäÿóÿãðæþýüÿõXÿùúêþõäýñåþñçýùÿýÿWþ ÿýôìüòèýëýçëÿé÷ þöüXþÿîñîíÿåüêìýëþõÿî%Püøýéõÿêöþâéþéñôÿî9þDñýæòÿåûþáíýæõÿù ÿìKþ3õüåûôãýüþßïÿåûüñY"ùüþæðþã÷þÞðþæÿüÿý_þúÿ÷ÿêïþé ïÿÝïþåÿùúÿ dýþóëìÿê þèàþòæù ñÿaùÿìþîçÿð ÿàäýíéÿõ ÿë5PóÿéñÿåöÿÝèýêîþõýêGAþòýæóþáüÿÜìþéñÿýÿðWÿ.ôåÿïàü÷ÿÛñÿæøþýöýcøþûçüñåýñÝþðåüýüùý fý ýûöéûëéü éþàïÿçý÷ ÿòÿ`þúíìýèðü äýèðþèÿø þé8ýOñýåÿòáÿøÿÞëÿììÿ÷ÿ êÿN?þñÿåòâýýÜýðéôüþþðÿ`#þöÿÿåðÿáýöÝýñâþýýÿúÿfýüþùêÿïè ÿíáýñâüùüðþbþýþðïçþñ ÿäåþíçý÷ þë.üZôýçÿñäÿöþáëþëíÿöÿ êÿHBñþæðþäýþÛýîèýóýû ÿíUþ.õüåýóäþõþßñýæúÿý÷þcýýøþèñþèýíáþòèÿ÷ ôÿdÿðÿîéþíýåäÿñéø þî"þ]øþêðýçöþàêÿïìþõ þé6Oþòþæôýæùýÿàüïèÿð÷ÿ èIÿ8ðýäýôãýúüÞñÿèøÿüýìÿ[!ÿõÿçøþçýôßýõãÿÿüÿÿÿöcÿýøÿéðþèÿðãòþæþùüûúeûñýìñÿí þéåÿôæþó ÿóbÿ÷ÿìïíýñýåêþðéÿ òÿéý&Zþñèÿóëøÿàÿîííÿñþæ=ÿJíÿäöæþÿÿÞòýéòûóÿÿäOþ9ðþâþùãùßÿóåÿùøÿ êWÿ(öþÿæôåýñýäðýåÿýÿÿóÿføÿùåóÿêþìèòÿæýöÿøÿÿdÿþÿðýìñíÿçýêðéÿ óþñÿaýøüëñüíðüãÿìðê óìXòþäóýëóÿÿãÿñëÿò ðÿèÿ0Kÿðÿäùëúþûáúòçü÷þõÿãH<ÿîÿä÷ÿéüþ÷âýôæÿýöÿæþU)üïýýå÷ÿçòäõþéýþúþ êþZþóùçúèÿïÿêòÿèÿûðÿ^ þú÷êÿúëþëýéñýëúþýýü\ÿûóðõîêìòîõþóü[ùÿðñþòñýþåìþðï ñÿîÿWóÿíÿ÷ïóÿüçÿíïòÿôÿì Oþñýè÷ýñôûúåþðîôþö þæÿ/Fúïüéøÿìùúæÿñî÷óþ ãþ;<íþéÿíúôéñïúþøýãÿC5ÿðÿçûëÿýóçüïîýüøþ åþH0íýéûÿêúþðéëÿîýþû ÿçLÿ.ïýÿëüéýûïûèïÿïÿýþìÿXðþýëþüéÿüïèÿóïþüþîÿ`ñÿ÷ëÿøçÿþëÿéñìýûÿüÿûdÿ úÿõïöÿëþëþéðýðþúÿýöeøòþð÷þëüÿìëðÿîÿûøÿgýÿüóÿñõìúÿéêþñìÿÿ÷ ÿïbõÿìÿøïíþúéüííüðÿõèÿ#Zÿêÿíùÿíñùÿêíþðñ ÿõ ÿè0ÿSêéúþçôùèðî÷ ôþäþBDýéüëüûçõûöèûîíûøüöâþN6ýèçþýäþûòÿéñëÿÿþù äXÿ)ìþÿæýÿåûñæÿóíüüþþçbÿïýÿêùÿãýÿïçÿòìþþýþþòeþ÷úíÿøåÿûÿîêþñï üüüfüþõîÿõêþýìÿéðíþ ûÿõhùÿþñòñéÿýìéþôïþÿù üó þföÿþòôÿóìÿÿêêÿñïÿ õ ÿë ÿ[ëüìøüìïüÿèïòòÿ óþç-ÿRéÿéÿøèýöùþêîïÿô õå8Kççüèÿôÿøçüïíýùÿ÷ ÿáHÿ<çÿçûÿæùý÷çþîîüýøþæÿR-ÿëþéûÿåýóÿèïýíýþú êÿX#ÿïêÿúçþïÿêñëÿö äZÿíÿéûåÿÿðëíÿïýÿÿéÿaÿòþèÿùåÿÿïèÿòëÿýýÿþðcÿõÿûíþ÷æþðèüïëÿÿùþûúÿdÿùþöïòýêüîéþðîüýûûøcýùõþïõþëÿÿêéÿïìÿ ÷ þò üdóûÿîýôóþìüéíûððý óüêý]ïþìöííþåþïîó ñþæþ3Lÿèæøéùýÿäíÿëöý õÿàÿCEþéÿæüâøþøâýðçÿüÿõý ãþQ1ýíûâùüèýþôäÿñçÿþÿê]þóýÿèöþâóèïéÿýþÿý÷c þôøþêõèìÿåîþê ýøÿ÷ÿgýýÿõìÿñìþêèþìï ÿõ ÿïþ`öÿïñÿíðýãþîéðÿ óýäþ0Rÿíÿèöéþöýþäîæþõþ÷ÿäECÿëåþ÷äýúúþâíÿçüþøþ äÿSÿ0îþãþöåþöþäðþéþþþþìÿ\óþþèöýåþñæþñèüùûýýøcÿøùêÿòèÿìéîÿè ÷þ ò þcüþòíîÿïýçéüíì ýõ üëþ]ôþíþôìóåìÿìîý ñý é0ýQîÿÿëòþçöþáýîèýóþôæCBíèóÿçþýûßÿòèúþ÷ýæSþ0íÿåÿôåÿõÿâïÿæýÿúìþ]#ÿôèôãÿòÿáñäþûüúýýgÿúúþéðçÿïþáóåÿøýùþhüýõéþëë ýéâþôæ ÿö ÿóÿdõÿíÿìçñÿäçîþéÿ÷çÿ.Yÿñÿêïãÿ÷ÿâììñ óþæÿDÿFêüåûïäÿþÞíÿèôþõþ èYÿ3ïþäÿîÿáþøÛýòåÿýÿþþòhþòüþçíÿå ðþÞðÿæÿøþøþkÿü÷çÿéë ÿëãþñèõÿ îÿiôýïþìæòÿâåÿîéý õþê6ÿYîþæÿîâ÷þÞÿìéþòýõýåKþEíþçðþâÿþûßÿîéõýûýïü^,ÿõçýîãþôþáðþèþþýþÿøþhþ÷ùþèëþæÿðâðéøÿø þgÿóÿìçþí èþäîþêÿ÷ òdüýïüîæýôäéîí÷èÿ3Qþòýìïþäúÿÿäêýêðþ÷þ èÿK>þñýéóüâþÿúÿáïþë÷ÿú îVÿ+òþçýòæþõàýîçýüþýþþó`ÿôÿÿçÿðåÿñâüñæþúýýúþgÿüúíìÿéÿìãÿðèÿ÷ÿöþeüðüìéÿíÿéçñÿëöÿ ìÿ'`ÿöþíîýåòÿæåÿííÿó íþ0\ÿòêþñâÿöÿåçÿìñÿö ýçCûOîýåðþàùþãÿééÿòÿöèüPFýíãþñâÿûÿùáþíåÿöú þë`ÿ6óÿäðáÿ÷áÿîéÿüþüÿóýh"û÷ÿüåíáýòþäïçÿúÿÿýþjýúÿúêìæþëýãíþêÿ÷ôÿiÿòÿëéÿíÿèæÿîèÿõÿ íÿ%cÿ÷ÿîîÿçñÿãçÿîíÿö ÿè:ýWòýçþïäÿúÿÿãêÿéôÿõ çþMDýðÿäÿòâýüøÿàÿíèýúþûþë`ü0ïþåþòãýôþãîýèûýþþþõg ÿôûþèïåþðÿâÿðçþýþÿþþjøúéîêìäîéþ÷üóýhþþóêþêïççÿðëÿöþ î"þ_÷üíþðçýôþýäêíÿíôþ ëý1Xÿôéÿñçþùüüåìýíðÿôþ æÿ<Oðýèÿñéûþøáýíêûöû÷ þèJÿBïþæþõèûÿöâÿíêùÿøÿ ìÿS2ðÿæÿôêûÿòåÿïéÿüþûÿðý_"ýõýþéõÿéîÿæïÿëÿû÷_ÿøýéþóìþþîçüñêþúûÿübÿûÿùëÿôëÿþëéþîêýõÿúbÿ ýõþîôÿìÿýéüéîúîýööþ_ÿþôîòþïúýíëÿîíþõÿõ aþýòÿðÿòíüýêüêìþïýô þðaÿúÿñðÿðîÿûÿéëýïðþö þîþ`öÿñòðîþûëþêïÿïÿõ ÿð`ûþîÿõñíÿùÿëìüìðý ö êÿ _üôÿîÿöïüðûüêíýíóþóç'Xÿñþîøíòúëÿìî÷óÿæ.þWëÿÿéùýëðÿöÿéìîþõþôäÿ.Wÿëýëøýêñùçÿíìüøüõþâ;Hÿèÿéþçÿö÷êÿîîÿøÿ÷ ÿá@Dÿêêüãõÿ÷ìíþîûýø þãKý8çÿêþãþ÷õÿéïïúþöÿßLÿ4éêÿþãöüôçûòïýÿýú ýäXþ)íÿëüãúõæÿòðþ÷þ äþaïêûáþñÿéïüðýÿþþé`ÿñÿêÿüâþýñýêñþðþþüýèÿ`ÿòþÿïöÿâüþðèÿóÿïýþÿíÿeþóþþïõÿãÿÿñêý÷ìþ øÿúûþküùÿöòþñæÿþîéñÿñÿ÷ÿóýgþøýýöôýðæþÿëÿéòíÿ öÿô ÿbôÿôõþîêþëëóþï þö îþcïþñÿöííþèýêòÿô ôÿçþ$[ÿéþìøþêïýþçÿéòôÿö ÿæ,Uþêÿêùèïþþäþíðÿöõå:þIéü ëüøæþ÷úæþëíþùõý èüH:ýéýêõþæøÿøæìÿðûýûþëUý+ìþêÿøäÿý÷ãþíîýþÿþþñ[ýñþéöÿåÿÿðþäïþîúþøÿbþûýìÿòêÿîäÿïïÿ÷ÿðü]ýûýöðüìíýæÿèîóÿô éý1Sûïýîòéöþæþéêþ÷þúÿéCÿBìþêÿñÿèùþýâéþêýþýþñÿY$óéïþåÿþôâÿëÿëþúþú_ÿûýþèþïéÿìÿæïêÿõüòû^üûôÿíëþðþçåþêîþ÷ýí5üLîþðíÿäõßþîêýöúþ íýT/üîüìñÿâÿùþÞìÿèüÿÿÿÿûÿ`ýöþéíåÿñþáïèøöÿdþÿùìéÿëýèãüðéþõýðþ-ZôÿïÿíåÿòÿßæÿìîÿøÿñMAþíÿêïâúýÿÚüìèÿôÿûþö^þ)ïÿéëÿãöýÞîýéþþÿ÷þ hý ÷þýèÿëäþíþßðüêûûýî!ÿbúþóëþåîþäþâðìÿúÿï?OþðûìïüâöþáéîÿòýûÿíþO?ûïÿçÿðàþÿýÜÿìÿëøýþþþõÿb'ÿôéÿîâÿôÞÿìêýûýýûüdÿöüýêêýåýìáíþìüúüñÿeÿõÿéæíþæáýîîþøÿíÿ-Yýøýñîýåñýäÿéðòÿùÿêÿ@JðýêþðäøÿßÿëïÿõøüìþQ;îÿìñýáýúßýíëýýýýýÿõa&òþåþðâþïþàñìÿûþùÿk þøùþèëþèþëãþïîÿÿùþñÿiÿÿóÿêèÿìâýæñýñõÿí+ÿ`ôýîýïæïÿãçþïóÿöÿèý>MÿïèýïæýúûýáîýïùþùþíRý7îýèÿðåÿþößýïîþýÿþÿòþ`$üñþþæñþåþðâóîÿúüùýfüøøýèîëýìäüòïýúýõücýúôìïîéæýñðü õýó _ùÿñþðìþóþýäêýñóÿÿõþé+ýUðþìþñêÿ÷üãëÿñ÷üõÿ ÿì<üGïüëüóèýûúäþîîûÿöþ ëÿJ7ÿïçÿòêüþñäÿðíÿýîÿU'òçÿöëþòçòïýöZðÿûëüóëüïÿæïÿñúÿüûÿ^ÿöúþêñüïÿíèòðÿùÿ÷ ^þõÿìïþñþæÿêíþòþöþò[þýÿòîÿðñþýêêÿñöý õý ñÿWûþýðñÿðôþúèÿîðÿøÿø ýîýT÷ÿþíÿòíþòøþéìïÿùýù þë+Nýòÿþíðÿîóýøèüîðûÿö ÿê2ÿFòþýìôýíöýöçýîñþûÿþù þë7?þñüýí÷êþõöçýîòøûÿùý ýê@ÿ9ïÿíøîøòÿëîþóþüëÿB5ýòýþí÷ìÿöðýéîþòÿþÿïýI)þòüìÿøêÿöðýëðûóÿüÿþýðûI%ýóûýî÷þë÷ýðêÿðôÿÿýóKÿ!ñÿýìþøì÷ÿðéþñóÿûýýýøNÿòÿúîþöìý÷íýêñÿõþùûþûýQÿõøÿñõëþùíýêñÿõÿüùSÿõùñþõíÿ÷îìÿòÿ÷üúûùÿT ÷ÿøóõîøìíñÿ÷þúþô þRÿùõóþôìÿöíìþóöÿùþóÿPùþôõþòìÿ÷ìíþóøþûÿ òþNþúþóõýóíÿ÷ëíÿôùÿùðÿJúþûóÿöòíÿôìíÿõüþ÷ ïþ"Düøüþôùîýòôýëïÿôûüÿî(þBôþýôøïòóÿíðÿõûùîþ,@þõþýóùÿîóóþîñþ÷üýûþíþ0;ÿôýðþüìòòÿìÿñõþüÿÿûÿíþ67þòýÿòúéðñìþñôþüÿýð:3þñþýñùèÿñòëÿñ÷ýýÿüüûî6û8ñüýñ÷ûèñÿòÿíòýøüÿÿÿï8ÿ5ñýþòÿøçòÿõîôöþúþí7þ3ðÿþñøþéñÿòïñÿøþÿÿì9þ1íÿþó÷æþôôÿïòøÿýüÿë7þ7êÿýõöÿæòóþðôþöûþúÿí3ÿ9ïÿõ÷ÿéôÿõîÿôõýýþøÿî2ÿ;ñýÿòöèÿòóÿíñøúÿúÿ í,ÿ<ðþþô÷ÿéòþ÷ìþòøýøÿí+ÿ<ÿïýýóõýéòôëÿòöûýûú ýî)?òÿõÿ÷èñþöîñÿõüúÿê%ÿ=óþõ÷ëþñòýïòÿõüÿø ýîýBóÿýóÿõìÿðóÿíôöÿýþú çÿ&>óþôÿøêþòõþîôøþþÿü è%>óþýóþ÷êþôóþïóþøþþûÿì(þ=óþööìôöðïþöþþüð):õþôþõêÿòöíÿó÷þþüÿê25ÿñÿþóõÿêõõþíòÿøÿúÿëÿ21ðþýòÿöèÿôòÿìòÿ÷ýûüêþ9/ýñÿüóõþéôÿõëýóùþÿÿýÿñ:þ,òÿÿñõýêöýòíóÿøÿÿðB#þôýüóôýéöÿóìõ÷þÿÿòFÿ!ðüüðþöåþúñëÿôøþüÿ÷Jýóûüñõÿèùñêö÷þþýú÷üLüóùñÿóèÿûíëóÿùþ÷ýM üööÿðòëûþíëýööÿýý÷þLÿøôþóðþîüýííü÷÷ýüþö Lÿøÿöòÿòìÿýííýøúýüý ñþJýÿûóóÿñïÿýììÿ÷üÿýÿïÿFüúýóñûïðýýíþí÷þûÿûÿîý!Aüøûþðóïÿòùèÿîõþûûÿñ%þ?ôüðòíóÿúéüñôþýýüñ0þ6ôÿüíóÿîóùÿêñ÷ýÿõ8ÿ-ÿòýþíòýîõþøçÿòùýÿþÿü÷>þ(ñûÿíóíý÷õýéñÿ÷þÿüþýCýòÿùëÿñíÿüôÿëïþ÷ÿþúÿGôýùíýñíÿúñëôùÿöþ H ÷÷ÿíóñþþîýêóÿùýÿóCþøýñìÿíñüíþìóþúþþþõ'þ?ùúñìëÿôùëýìñþþÿþþýõ1ü4õüúíþîìøøÿéíýóüüÿüúý=$ôýúìýðìûþ÷ëðòüýûûEúóüùíìþïýýòèÿòöüþûÿ ÿFýùöýîðñþïÿìñøÿþÿôþCþøýóíÿëóýÿíëþñ÷ýþþöÿ(:ÿúúñïÿí÷ÿêÿîñüüüýÿ÷50ôÿûíþïëþüøþéïðþÿþý?ÿòýúìýììýÿöýêïôÿÿúý Eüôþùííÿòÿòêñÿõÿÿøÿ?ÿùöëýëòþñëÿòôÿÿø'ÿ;üûúòýíìöþÿîëþó÷ÿÿý1ÿ,öýüðþíìþüëÿîóýþþ:þöýøîýíìþÿùêîñýÿý ý=û÷öýïêýðüóéüðòþÿÿþúþ:ÿÿùôýîëñþÿïÿêðÿøüþý+1ÿþùñþíèÿøüíþëðÿûÿþþ4(üùúüïêÿìüúêÿîðþüÿüÿ:ÿùùîëÿíüþøëîÿóþÿÿûÿ;ýùöýîíîÿôëÿñóþþÿü þ7üûôýîêÿöïíñþùÿÿýþ.-ÿýùñîéÿøÿþíîñúýþ5!ÿùùÿðíëûÿúéþïòþýþþ þ;øùîÿìíýþõûêîþ÷ýþÿû9þ øõÿîéòþóêþïøþþüü#þ5ÿúòÿìéýöýüïëÿïÿ÷þÿþ.þ+üþùðþîêþùüîíñÿûÿÿÿ2þøýûîÿïêûÿúíðÿóþÿÿÿþÿ9ùÿúîÿìîÿôìÿñõýþþÿÿýþ6úþõîþêòÿñíþóøýÿþýþÿ'-ýþûóüïéýõÿïíòþüþþþ3"ùþúñìÿëüùÿìïõþþýýüý 7ý÷ýøïÿïíýþøìýðôÿüÿÿüýý3 þøõþíìïÿþóÿìþò÷ýÿþÿÿþ".øôÿïìöüþòíÿôúÿþÿÿÿ*$ýþúýñïýîøÿÿïÿðöüÿþÿÿ0ÿøúðþïïýûùýîîý÷üþþÿþÿ3úÿûïÿîðÿýôþíñü÷ýüÿÿýÿ/ÿøþ÷ïÿïðÿýôýïòýùþþÿÿþÿ,ýúòûðíúõûýñðôüüþýþ*!üýøýñîÿïùùÿîîþ÷ýýþþþ -ÿû÷ÿòïïþù÷ýïïýöüÿýü-þøøýñðþñûýöìþó÷þÿþýþþ*þøþ÷îÿîôýôîôþûÿþÿÿþþ%ÿ÷ÿöðþîøÿúÿòðþ÷úþþÿþÿ$ÿ üþúôÿïîþúûýñòþöþþÿÿþ(ÿÿúóìÿòùÿøîÿóùÿþþþþý)ýû÷ÿòîÿðûÿ÷íýôùþÿÿýýþ* øÿøðÿîóÿýôÿðóùþÿ"ÿü÷òî÷þüñþñõþÿÿÿýùýõñíÿùûòñÿöýþþÿ %þýýúóüðñþü÷ðóøÿýÿ# üøóîòþüôþïòÿûþÿ þùþùñüñöûûóÿîÿôùÿÿÿÿùÿ÷ðþð÷þúñÿñöþýþþÿ ÿ!þüúôýñòüûøïþòøüþÿüþþ" ÿúùóÿðôùþ÷ðÿôúþÿþýÿûýúÿøõðÿöùýôðþöûþÿÿÿÿùþ÷òüñ÷þúôðþøýÿÿýÿþýùøþòòþùøñþñ÷þýÿýþþ þýùý÷ðÿôú÷ðþôúýÿÿýÿýþüøýöòý÷ûþ÷ñÿôùýþýÿÿÿûøôÿóöÿùóÿó÷ûÿÿÿÿÿ ÿúöÿôóþù÷òÿñõþýþþÿ ÿþýùõÿóõÿùõÿòñýùýÿÿÿûøôÿñõÿûóþóôÿûÿÿÿÿøý÷òûóøûüòüôöýýÿþÿÿþøþõóóÿúøþôòþ÷ÿÿÿþüþýÿøöóõúøôóøýÿÿþÿ þ þþùþöóÿöû÷òÿõùÿýÿÿ üÿùóýòõûûöýôøùþÿþÿþúýøòðþøùüõóûùúûýÿýýùÿ÷ðóÿùùóóùùþþþÿøôþóôüú÷ýñòþùüþÿÿþþþþúþõòÿöùøñô÷þûýþÿÿ þýøüóóüöøýùòÿõÿùûþÿþÿ ÿ ü÷òÿô÷ú÷ÿööÿúýÿÿþÿü÷ÿôõ÷ÿúöÿôöÿûþÿþûûüùóþöøþù÷óÿ÷úþþÿÿÿþûøü÷öþùùõÿôöúþÿ ÿ ÿùþøöÿ÷ù÷ÿööýøüþÿÿÿ þ ùÿöóõý÷õýôõùÿýýþ ÿ þÿùöÿõõöÿøöõÿùúÿÿÿ ýþýùõÿôõÿùøÿ÷öùþÿþþÿüÿ÷òÿôöýøôÿôöÿúýþÿÿþüöÿôóÿøöþööþøûÿþÿ ÿùý÷óþööÿù÷õÿùûÿþþ ÿþúþõóþ÷úùÿùùüûûþý ÿ úÿ÷õÿóøûýûúÿûüüÿþþ ýþûöÿõ÷ÿûûÿüýüýüüþüÿþ ÿüúöÿ÷ùÿüýþýýÿþüûÿÿ þøþùö÷ÿúýýÿýüýþúÿüÿúú÷ÿ÷ùûþýÿýüùþûþÿÿÿ÷üùùüùøýþÿÿ þýûþýûÿþÿúþúùþûùÿûý þüÿûûùÿÿù÷þùúüûüÿÿ þüúÿùøÿÿüöþ÷øýûúÿÿ  ýüýøùúþùúÿúö÷üþýûþþ þúúöþöùÿúøÿ÷÷ýüþÿÿÿ ý þüùõþúøý÷ùüùöþúýýÿýüÿöÿøùýøö÷ÿùôþúüÿþþú÷÷ÿúõþùöþöùüýþÿ þ ÿøöþù÷øÿ÷øþ÷úýÿÿ ÿü÷ÿøøöÿúùÿø÷ýûþþÿÿ ÿÿþöÿùöüøùûùöûùþþýÿÿÿûöüùöýúùöþúùýýüÿ ÿýþûøþùûûþ÷÷ýúúüÿüü  üüýú÷øÿúøý÷ùùÿüÿþÿþ ý þüøÿõÿûûþúøý÷ùÿþÿ ÿþûý÷÷þùúÿüöÿøûþþþ ýý÷øÿúûÿúùüþüÿýÿþmauve-20140821/gnu/testlet/javax/sound/sampled/data/k3b_success1.wav0000644000175000001440000013310110643274374024041 0ustar dokousersRIFF9¶WAVEfmt @@data¶€}€€€}€€}€€~}|~}€€€€€€€€€}~€€€}€€€}}}€€€~}€€€€€~~{€€€€€}€€€}€}€€€}€€€€~~}€€€€}~€€€€€}€€€€€€€€€€€€|}€€~}€€€~~€€€€€€€€€€}€€€€}€}€€€€€€€€€€~|€€€€€}€€€€€}€€€€|~€€~~€€€€€€€€€}}}€|€€€€€€~}€€~}€€€~|~€€€}~€€€€€€€€€€}€€€€€€€€€~}€€€~~€€€}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}|}}~~~~~~~~~}{zxxxw{~€€ƒ‚‚‚€€€€‚‚~zusrpnrv€„†‡~€g†Â”ƒw\au\Vcu††Œ’”’•†w[Ö½mfQBg]H_t‚”“”‘•‰„WÍÖi}]RFgfLbk‡˜“£““}|9ß«U{aV?cE[sŒŽ˜–›—˜¢}-ÄÎN€aQ4€v@Wqˆ‘ Ÿ¨“”Žƒ{<ÛµVYE:ƒmGa{ˆ“£™¦š†ŠaMñ‰f~S>McVi~’–›—›Š˜…ŒaOïƒczJ>LbYgŽ˜›˜ Š˜x˜K†ñVtrH1k…R_o‹Œ£• ‘˜Š|Së•W}d37dZl|‘—Ÿ•—‰›€‘hxòkdyM(LŒYap† —ŽŠ•zZ½ÒQsg=)utTl~‰“¡ž›–~‰nçw`mW(E|[]wŠ“¡ ¥Œ‡’‚|n׳_l_=)ld[g~‘›¥¦ ‚…†f¤á}ieN%RpUdx‰£ž©‰‡„m}ë–ijV26vY_m‡Š˜¤¥ Š„ƒ^ÍÄgsWB"bjWkz‰¥¤«–†f“ä„k]E(Dx\fq…‰œ§©Ÿ€„ztÝ«fiK86tk[kz‰•¤ª£•Їi®Òqe]B2Ut`bu…’££¦–Žƒ|½§aRSCEmmirˆ•¢¢š‰ˆ’yWGGQiwsw|…œœ”Š„‡”‹ŽƒdKLQ]txyx‡••‘‰‡–‹‚dOLY^qz|}|œ™ŒŠŒ‡l]S[go|y~ƒˆ•ŽŠŒ‘‰tcXYfn{x{{z‡‹•”ŒŠ’‚€wg^^ku{wuz{‚‹”•‹‰Š‰yqnfhqxzzwz~~†“‹‰‡ƒ€|qpjkqw}yyvx~†“’ˆ†‚}oknmpwzwvvzƒŽ’‘Ї{tnpqvyzywyw}€ˆ‘’މ…zurpruxzxvyy}‚‡ŽŒ‡…€}xtquzyzywyz|„ŠŒ…€|xwvxyzxxxw{~€ƒ‰‰Œˆ€€~zzwyz|{vzwyƒ†Š‰‡ƒ€}|yyv{|zywzz~€‚…ˆ‰…‚€z|{{{x}zyzyy|€ƒ‡ƒ}|z|z|z|yyzz}}ƒ‚‚ƒ€z|z{{{|x||€€ƒ‚„€€}|z|}y}yz}y~~}‚‚ƒ€€€z{}{y|{y{~~€€€€€|}z|z|z|zz€|}€€€€€€~}{z~z{{{{{}~~}€€€€}}~~y||z|z|}}€€}€{z|}{{|z€€~}€}}~~{€}zy|€}€|€}}€|}||y~}€€~}€}~~~y|}||}|}|€}}}}|z}€{{|}~~~~~}}~~~~~~~~~~~~~~~~}}€}}~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~}}~€}}~~~~~~~~~~~~~~~~}€~~}~~~~~~~~~~~~}~~€}~~~~~~~~~~~~~~~~}}€~}}~~~~~~~~~~~~~~~~~~~~~~~~~€}}€€}€€€}€€€€€€€€€~~€€€€€€€€€}€€€€}€€€}€€€~}€€~}€€€€}~€€€€€}|€€|€}}€€€€€~}€€€€€~~€~~€}~€}}~€€€€€€€€€~}}€€}~~~~~~~~~~~~~~~~~€€€€€€€~~~~~~~~~~~~~~~}€~x|€y}~||~€€€€}z|}ƒ„ƒz|tswszy}€€„‡†„ƒ€€|†’‰uqmginoqz}‚ƒˆ‰„‚}|Á¬xtbVj]_cs}€ˆ‰‰}g¼Ï„|dEa_Q]s€‚ŒŒŽŠ’„{‚·°€wWHK\__stƒ†˜œ˜Œ…vgÔ¯nrZQFoa\lx†‹“‘¡› …‡Tuæh|e;U€SXq‚Š•‘—¢‚ƒ\qê{m}S~q[pz‰‰˜†“Ž˜……v[Ü’d„^?Nˆa`s–Œ“•zŠg£ÏgwpK5nzXnx…‰œ”’Š“ˆƒ€Ñht\Akejy€‡œ•„‡—|œ˜†fWJH`rxy|‚‡™ŽƒŽ‹‘˜ˆ†w`VS^fw}|€‹“’€‹‡waYRYls{}€€Œ”•‚ˆ’…ˆ‚naZeaqvv}~‘“ˆ€‰‡€€ujbdhlxz}{~ƒŽ‡ˆŠ‡€{mhdkotww}{„‡“‹ƒ‰‡}wnijqzzvtz}€…Š’Žƒƒ†‚}yxqrswxwyuy{ˆŽ’‘Œ‚€€}zwqmstvzvtw}ˆ“’‹‚€|xrqttxyuyxw}€ƒ‹‹ˆ‚€}zzwywyzwwvyz‡Œ‰‰†€}€|yvxywzttx{}}„ˆ‹Œˆ…}~~zwxzyy|zy||ƒ‡‰‡€}}|z|z}xwyw€€ƒ‡…‚€~|}{yzwxzwvy|€ƒ†„€€}|€|z|z|z|zy~~}€„ƒ€}~~}€~z|{{{{{x|€€ƒƒ†‚}}z|}zy}vt†ˆ€€€~}x{v{}{xkv ¡ˆ{ˆo€znmu{z}w{n µŽzmwyhkkstovp²¹†“‡xit{iwmwepc~Ý™–Žzfgeh|rƒk|^‘ä‹¡vRmaimp‚x„k’ë‘ ƒtOdr]hlq{„t}ï•“x_]{\gso‹nŽU‘éj\mVtuv‘j’IµÁZ¥oI„S‚lƒ‰{ŒRß—k–ktI’aZe‹ƒ‰„hkgST^zd”|•r†æf–€xdh‹Olti‘t˜`­Å[Ÿi~QxJ{nxŠ”VÒ™j•hxIŽjTc‚ˆmìy‚‹kfQ—Sa}dŒ{œp™æa›{tYiŽGnsm‹} ^ÃÂ_¤muN€G}lvŒ|—]ãh fnHhP„b„‡ŽpïvŽkhP“U_d‰v“wég‘~rZ`’MovjŠt™eÉ¿^ŸpvL}}K~ky…|”iä”p—lmNŽiY‚f…~Š‚~írƒ†pdW“[e}h‰w“n¤ßd”wvWj‰Vxun…z“g̵e—ovP‚yZk|z‡„wå‚yŠojVŽ`f~g„tu˜ÞjŠzt_g‰Wsvk„x”h¼Àa”pwT{}Sly„‡sߎqmpXŠecƒg‚yŒx”Ún†~qefˆ[s{m„{‘o¸»i‘tu]wz[{ruƒ€‡zКl‡roa…nh|nt†‹œ†œuyrvn|sp|m€‡’žƒ•vuuzqvltym„„Ÿ‘Š“rxozssslyq{…™’žulsvzrznsys„ˆ’˜Š†pyy}yqulx|z‡†’ˆr|vyussp{|…ˆ‘‰Š~s{tzvpst|‡Š”†ƒttyz|uuu{~‰ƒ‹Š~w}z}wntw}€‚‡‚Œ†~xxwyrrx|€€ƒ†‚€~|xywpty}ƒ€……}{z|xrv{~€‚‚€€€~|}{xtu{€ƒ€€€}|zyywvz€€€€€€}|yyzy{}‚‚€€‚‚€~~y|{ywx€€€}}|}wzzy}€€€€~~~}|y{{z~€€€€€~z{}zy|z|}€€}|z|}yz|z}€€€€{z|x{{z~€€€€}~~||~|{{€€€}€|€|z|z|}}€€€€~}€{~|}|~€€€~~~~~~~|{}|€€€}~~~~~~{z|}|}€€€~~~~~~}{z}|~~}€}~~~~~y|}|}|€€}|}|}|}}€|}€~}|~|~z{|~{€}}~~~~{€|}}€}}}~~}}|~}€€~~~~~~~~~~~~~~~~~~~~~~~{€}}~|}~~~~~~~~~~~~~~~~~~~~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}€~~~~~~~~~~~~~~~~}~~~~~~~~~}€}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~€~~}€€€€€€€}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|}}~|€}|€|€|€ƒ}}€|pm‚Љ‰€{}|wvopkp” ‹‚w{yoiji…¦“†‚|t{€ukjkr ¢‹„€yr‚upgk_„À•Œxkw„seife°‰ˆpjdˆ}ofib‹Ò¦ˆwlfrŽxncnZœ×‡pog€–rnglTÁÃt}fxc–ŽsgtZtèƒznsiz§lgwCبcx]wZ®Žvb|T‘çg}_r`€«rlazOÏ»d}]|^¢“ucmneíˆrqgzk¯}q_R¢Ýc„_xlŽ¡x`knZçŠqvb}nª‰qWzK±Èb…T~j•›uaigié‹wnb|k©~l[oU¥Þm‚[tn…£qi\t[Ö·l~W€jšŽnYma†ê|jjxx¡bauVͼj}[|l’”sYw[†çuzaluz£~g`sVеizZ|l˜Žsanc}å…uki|v¡|l`uY±Òl`xtˆ›tcjmiÙkzbq’‰ldx_—Ôqvkuzx–ukox^¸¸cql€p…‘akƒ…m £lnvˆj~‚hv—˜Œldp|†upl~ˆ¥€`hs„€x~cu~“¨’r]k|ˆv€umy€«œƒeaq†}myxŸ’|\hu‡†{v|’‚‰qhq}ƒz‡z~|Œ„~fnw„{zy{‰…sit}u{~}ˆ€ns{‰€yw€‡ƒ€xqz~‡}~yy~„€uvz‚…~€y~‚‚€v{|€~|}y€€€€zv|}|}|}€€{{€€~~~y€€€~|€y~}x~€€€€}|€}|}y}€€}}|}}|}|~~}€}y~€~|{z€}~€}||~€€}|z~}|}}}yz€€~}|~}{yz~€€€~|~~}|xu|‚ƒ}||€}|zvƒ†„y‚…x{xxuz~~yy‚ž™€‚{vw}wtqurvw†¢Š„ˆ{}vsttkvk†´Œ†xpnpsmqntpÄ–…yfi}lknjsu~y¤ÁŸ›|u\kqflhqvpr¢Ô˜–u^pyieoru{q}왊ˆr^^ƒqivp‡o„jx÷ys\Y”hn}qŽsŠf{ïn–~rTZ”_q|vq“`Žåd›vzXjŽZotq“sŽd€åd”€}]j[mtm—p”f„ÜT™zepŠVqtn›v”fyÖV”|ƒagŽXvyuœq”c„ÔV’z}cq‹[ssrœw’cƒÒb‘{}cp…`rqu•w•gƒÏiyzgr_rtw—z‘h}Înˆ|wdserww“y‘jÈjˆ|xhnfqws•z’eŠÀjy|fr~esytyf¿kyxew~crwu“|“c’»kyzgw~frvv‘z’cœ³kvzfuzftwv“~Ž^¦¨k‘u{d|xgytz`¯¡nŒqvgtdyt€‡„‡f¾zŠtsi‡phyq€„€lă}„tqmƒjkwr†€tyÆx†}wkrƒgpvt}Œrйwˆxsiv€bpux…|‘g¦ªoŽqtb~yfwu|‚~Že·œqnuc‰sexq‚~ƒˆiÅzŒqpf‹jkxs†xˆsÍz‚†qogdmvqŒssˆÉl|udoŒ]uut‹qk™¿d•uwayˆ\yoyŠr”g­°e–qv[^{m}ƒx’eÁ i–mt^ˆw_{f„€|‹j΋r’np]ŽpdgŠx†xÖq‰nkc‘eizjŽuuˆÑe‹pfk_ruptk¥Äa‘vrawŠ]upt‡xh¶¬f“vt`~€]{n{‡}ŒgË“j‘pp]ˆub|k‚ƒ~{ÔzuŽtheŒigymƒ{†x“Êrz‚sfo…gksl‚†•ƒ§wyt{qw}kqpq…ˆ‰ˆ’zzoyw{xruoy†š„vzs{v}tuvt~‚–•Œ‘rwtuwyuvrx‡”Œ‹„q{x{xxxpwy€ƒˆˆŠ|y}swwzxw{y€„Š‹ƒ…vv}xyuwvy|~†„ˆˆƒ‚uvzyzvzyz|}ƒ„Š…€x{|yyuxy|€„„ˆƒ€|}|{wx||€€ƒ„€}y}|zvw|}€„ƒ€{z}|xw{|~€€€€}}z{|vy{}~€}|z|zvz}€€€€€€~x{|yyz~€€€€€€~|z|z{{x~€€€€€}|€}z|}|z}€€€€€{~~}|}{z€€€€}~€~z{}|€€€€|}}|z|z}€€€~}||}{z}}|~~}€€~~}~|}z|}~€}}}|}yz|}€€€€|}|}|}z}}€}~}~|}|}€€}}€|}}}}|}€}€{~|~€{~~€€}~~~€~|}z{€}}€}}}}|€|z}}€€€{~~~||~~~}~}}}~~|}|~|}~~}~~~}}}}€|€}€~}}{~}}~~~}€€~{}~|}}~~{€}}|}}}}}}~~~~~~~~}€€}}}}~~|}}~~~~€|€}|}|~~~~~}}~~||z{}~~~}~~~~~~~~~~~~}}€|€|€|~}}}}€}~~~~~~||~~}|}~|}~~~~~~~~~}|}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|{{€|€}}}}||}}€{~~~~}}€~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}|}|}|}~~~~~}€}}~~~€}|}|}~~~~~~~~~~~~~~~~~~~~~€~~|}|~€€€€€€€}~€~~~~~~~~~~~~}|~}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}€}}}€€}}~~~~~~~~~~~~~}€~{z€}~~}}~~~~~~~~~~~~~~~~~~~~~}|}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~x}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~€}~~~~~~~~~~~}€€€~~~~~~}{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}€~}€€€€~}€€€€€€€}~€€€}€€€}€€€€}€€€€~}€€~~€€€€€€€€€}€€€€€~}}€~~~~~~~~~~~~~~~~~~~~~~}}~|}~~~~~~~~~~~~~€~}€€€€~}€€}~~}€~~€~~€€€}}~€€€}}€~}€~~~~~~~}€€~~~}€€}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{}~~~~~~~~~~~~~~~~~~~~~~~~}|~|}|}}}~~uo€œ~}xz~zuryz|}{~“ž‹zywypqqtzy}z𢓋~zrvztsnutorwº±Œ‹}pdtthvwq|j{Ø‘†xa`jfps~xytpÚ§’‘tfX~ikeqz„v„`­ÐˆysYonfirz‰w„^z愉Šwad‡km}s–j‰FŠäU¤€{YqYx|~˜m@“äOª{SpˆTvxxœsMíT¢||\rTtpy—‹X{ñcwgjƒXksu˜y•PxçN’|eo‹XtwzŸu–NwèRƒx^kŽYprwœtšJŽàP›v{\qŠUrpy u—WŒèc–yu]pƒZorz—zžX•âc”yw\oƒWpuv–uœU—Û_‘|sWr…ZquršvšP§ÈZ˜uyVv€Zutv™wšO¶À_–pvQ}z[vo|•WÌ©j•nuVn]wlˆ„Œc×”vŒnqZ‰hcuj‡|xßw†ƒpgd‰^gwn†z–sŠßo‘ur`jˆUopn„zf²Ìd˜nrW|Vvox€€™`ϱh—gsVŠsVzh€v†kç‰vhn[•_^|i‰k‘ëm‡„l^e•Ultkk—n¤Û]–upWvŒOvnu‹pœd½Á\›psQ€‚Q{i€ˆt‘kÖ£c•moXt]vg{‡‡žy¦Ÿu{pti…ugok~‡¡„•ˆtyr{x}qprnƒ‡–˜‡“{uosww|psow…ˆžšmsnyq~xrtn~…•Œ’zqwu|u}srut„…Љtyvx{wxryx}‡ˆˆ‡„u|vuvtvsyy|ˆˆ‡‡„pxuwxxvt}|€ŒŠ‡w|z|vruz~‚‡‡Š„|v{}zvx{|~€‚†„ƒ‚€~zyzusyy€€†‡€€|wyzuuz~€€„‚€~}{{{yws{|~€€€€}|z|{yz~€€€€}{wzzyz}€€€€€~|{yzyzx~€€€€€}}z|}y|€€€}}|z}}|}€€€€~|}}{x|{z€€€€}|}}zy|z|€€€}||}||y~~}€€€€~}~|||}|~~€€€€}}}|z|}z}€€~~~~~}|||y~€€}~~~~~{}~~}€}~~~~~|€}€€€}}|}|y~~}€€~~|}~||~~~~~~~~~~~|€}y|}€|€}}€|~~}}}€€}~~~{~~~}|€}}~~~{€|}}|€}}}}€{~~~}~~~}{~{}~~~~|}~€|€}}|}}}€{~~~}|}|~~}}€€~~~~~~~}€~|}}~€}}}~|€|}}}€}€|~}}€{~~}}~~~~~~~~~~~}|}~~~~~~~}}€}}~~~~~~~~~€~~€~~€€}~~~~~~~~€}}~~~~~~~}€€€€~}}€€€}~~~~~~~~~~~€}~~~€}}~€€€€€}€€~~~~}€€~}€~}}~€€€€€€€€€}}€€€€€€€€€€€~}€€€€€€}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~|}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~yz~„}|}|}}|}}x|„ŒŽ€}uyxvqsx{}||~‚š†zxvxoosxxx{x–§“Šƒzrrxqowvwovm™ÂšŠxhk{pp}v}m{^¬ÊƒšyvYs}jpx|u~lŽÞ’†u^c}hjl}|…u]¯Ò„–|oSjwikw‹r{a}ጅ‹y`_ƒsm}zlxKŠß_˜ŒwZlaq‚€—q€M€çc“Š|\hŒ^k}|–}€_pìp†Šwfb†_jtz‹~l[â“nš~r_~iaxvІƒhWë€mvqa‹jd~u•}…jRìyu“qn]je~s—yŒcpía‰pfb’ai{q—}Šqdòz~‡qg^‰ahyoy•fzíi‰ƒrefŠ[k|n‘u–\â`|u\iŒZqwut”N¼¿\˜oxQzYusyw—PͲd—lwI†v[zk‚‚ƒŠ`ç‹u“lpR‹g`wlƒ‚‡€pð€{ŠolWbcsl€Œ‘wÝm~qme…iens~ ˜„™‹uhvwvvmkms}’¦—‡‚nhw||mkkr{}”©‘Šyqgxy}mnmo‚{˜Ÿ‘¡stol|wƒjptw‡}˜˜ˆk{rty{}ltu•‘novtyymxv…Š—ŒŽ~m~ostyumyzˆ‹„”‹Šxl|syw{zo{~‹„…ts€yvpx|v{€‰‚Šxu{wqrz}|~ˆ‡€ƒ€zuzwtu|}€€†‡€€yw}yvw}€€€„‚€{y{{tuy€€€‚„€}}zyzwy|€€€€ƒ€}yzxwy{ƒ€~}{y{{yy|€€€}|~zzyzzy€€€}}{z|z|}€€€€€{|{|z}|~€€€€€€}|}|z|}|€€}€€|}{z|~~~}€€€~}{~~|{z€}~€€€}{y|}zy|}€}v€‰Š‚‚tsuywvwlf˜¯‰‡‡}rt~moqmkr§¦ˆ†up|xrpnmnš§Œ~ytvzogse}§˜‘€}s€yyjhYjÖ™„„r`j’}ngxOÆÍzŽiqN„‰qgco`áº{‡mlV’ˆnsckSÐÈmŽnqXgugoKÜ´j‰p[ŸŠsdy9­ËMŒ_„b™£vbVzñVv_sl|»xi[{NÛ´]~ST®œkb_sgð•gtds`ºƒe^qknö…srhwk»{c`zG´Ö`ˆ\}h‘©p\wYwéswklvrªŠ]bsQÛ®ewY`¡–sYj]Œì{z\lpr³tmTt`³ál€[~fЦleZy]Úµj~^~gœ”kWzZ–às~brkz ‚Wnlbâ’sncvgœ‘mXvPºÆmWwcy]hdjå—vmdui¨‡o]o^˜ä{inm‚¢|gds^˺oyeul“‘v^x\Û€}dpj}™‡dfqZÚžtt_ul–‹vS|Q ×r[sf†™}h`rZÑ«sx_tet_n^}ÞŠxkmi{ŸqawQ¹Às}ete’]vbyßllfy—ƒtbvSƵo€hnf|mzhnÆ¢slkqwki~vž†kdpzˆ‚ƒiw}Ц’wakt‡€yfxž¥‡i_p{†~…hwx’®„v^is…€€|pw¦“~ibsˆtxw‰‘Šyfoyƒ~„}yy‚‘‹†okr}‚{€zz~ŒŒ‡|imwƒ|}|y…Žƒqpy„ƒy‚|{~ƒƒ„ysy}‚|€|y|€€z|}€€}y}€|z|}|~}}€€z{|~~||~~}~|}|}|}~z~€ƒ€}}|€z|€~}||}€{~~~y}~}€~|}|€€}|}|€}}y|€€€}}}|z~}{z}}€~{y|€‚~||~€€~zy~€€}||€€|z}€€|}€||z~€~{z~~€~z}€}~{€}}zy|€}}€|€|z}|}€€}€~}{yz~~}}~~}}~z{€}€}}~~~~~~~~~}}|}|}€€~}|}~~|}~€€}}~~|}z{€€}|}€€|}|}}}}}€|~}|}~~~~|}|€€€€}~~~~{~|}~~~~~~}}|}€|~~~}€€~~}}~~~~~~{€}~€€}|€}|}}}}|€~}|}}€~}|}~~~~~}}~€}|}~~~~{€}~~|}~~~~~}€~~}|~~~||~€€~~{~€}~~~~~~~~~~~~~~~~{}~€}}|~}}|~~~~~~}{~~~~~~~~~~~~~~~~|€|€€|}}}}}€}€|~€€~~~}}}~{}}~~~~~|€}|}}}}}}|€|~~~~~}}{~€~~}|}~~{€}}}~€|€|}€}|€|€~}}}€~}€|~~~~~~~~~~~~||}~{€}}}|}}}|~~~~~~~~~~~~~~~~~~~~~~~~~~||~€}}~~~~~~~|€}}}}|}€|~~}€€{z~{~~~~~~y|}}{{€|€|}}€€€~}{z|yy{}}|~|†‰ƒ}~{~zxv{~y||‡…€~~|z|z|y}rxtv²’‚„zumvotv~{yxx¼¦‚‰zp_xtjtt{vzz|º­‹~qevskhtw€xznŠÈ–‘ˆyki{plty~{tt]dzzŒ|t_y|ju{†ƒlqKϯj›uqOdz|†pK¼Éf™zxRs~]p{ƒ‘t~R£Ýk•‚w_k`jwx~}WŽÝs„}kh~eeyv‘|‚PŽâa„|ij†gd{v‘~†RŒÞ]‡‹xhiˆcg|y“x‹OšÝY’ubl‹]jyxyS«Óa”yu_r…Zlsw‰zU¼Ëd“uu]uYntzƒ|‰[϶g’rpZ}~Wur~€ƒ^äšlllV„r[xq…vrïw‚nc^‹bato„x’j¥ài‘xs\hˆTjrw€wfÕ¼i—itW}{Tpky‚‡tí‘u“gmWjWsl†v‰}—èy|~gagdamqx„š “Ÿˆunly|ugejs~…£™Œž„xkn}|rgikvŒ¨Œ””pqgtz|nimnƒ~˜ •¦wlkjw}‚nojsˆ†•›ˆrxwyz|}imq€‚“ƒw|rqt|yptvЇ‘Œ€syrruytqw{ŠŠ‡zptsvyywyz}ˆŒŠŒ…€{w}yzuuvx~Їˆˆ|yzwvvx|}|€ƒ†‡„ƒ€ztvtvtv}}€‡Š…€€{vvwvxz~€€€‚„‚€€~zzxvyy||€ƒ„€€}|zyzyz}€€ƒ€€€|yvwzyz~€€‚„‚€~|}{wyxx|ƒ€€€}ywyz|}€€€€|}€z{{z}~€€€€€€}~~zwx||}|€}|}|z|zy}|ƒ€€~}{y{{z}~€€€€~|}|~|€}€€€}€}}{{|~~}}€|}}||~{~}€~~~|}xx|}p}Šˆ…€{szvw|vmv‘Šuvt{nmpy „„wu|uvtw Ž|„wvnzokm¿š‡‚othwlfko޳µxljhntfjl‘ ·§y{ifewpfo~‡¶¿ƒ|sndu}hiot°Ì—€nj]t}ueoc}õŸ}tl]a™€ffnJâÁq|_mM›˜x[sL—ôyamSs«}bdkVì¶qv^jN¥•s\xM¡ïr€[mL}µƒhdk[ï¤qqXbT´—tYwF¶Øg„UqH—­ƒcn[jû„}dbZf¿w[tCÐÈk€QkJ©¨‚\nQ€ïu…[hSzº‹q^kGå¬txWhU¶™€ZqB¤âmŠWmO”¯…h`^^ï’€n[ad¹Ž|Xr@·ÕpŠUlNŸ£ƒbiTrò~‹ifWw³†s[lFÞªwƒVgT°‘ƒ^sD™ßmXnOª~nf_ZéŒt]d`·‰z^sE¯ÓnŒYmP”¤~dk[l쇇mf^l±…s`qGÓ¶q‡XmO¦œ€dsRŠévŒ`hT}²„nejPâ›zxYgWµ“€_vF¥ÛmŒWmO‘«„kj_]ìŒ~n^`e·|\oF¾Çp‡UkQ ¢djVqhcZs³ˆu]lGÖ°u†ZjU¬“€]rG—âo‘[jO‹©‚redSè‘€v\e^µ‰|_rC³ÊmŽUoOœ¥~li^a鉄q`bh±‰w]sFÁÀv‹YoS¡™~brNˆåq’eiW­ƒugiRÞœ~€^j[®Œ{dtH¨ÏqZnQ“¥€qkb`âƒv_bd­‡|dvF±Ån‹ZlS˜žƒjrVwâxŠleXu©‚tflPÓ z…[hY¨}guLœÑl`lVФ|tmb\ÝŽ~|_e`¬‡ksL§Ëo]nV¢rpbg≅wddhª…}ivJ½¸oŽ^nS›–mtU~ßpŠnh\u©}hmNɪnŠajXpqN‡Øv„sgYz¦|xv~q…ª“rhju„‡‚ssz}––|llrƒ†‚r~u–ž|shnuˆ€p|z…­‚zchs€„~zzyªˆ{mary€‚{ww†’Œzfov€„€€yz€„‡…uq{€}z}„…€}otx€}{‚|~ˆƒ}tqy€„v}€€€€}zt|€†yz€}€|€{z~€€{~{|{€~|}~}~€€}}~|}€|€€|}|}|}€€|}€€|}€~}€€}z€~|}~€€}}z}€~|€€}}|}€€yw}|€~}||~€~x{~€€~~~}wz€}||}€zy€}€|}|}|€~}{{}~~|}}‚|y{~€€}~€}~}}z{€€€}}€}|€€|}|€~}|~€~~}}~€}}|~€€€€}~€}~zz|€€€}}}yz}€~~~}}€z{}}€}~~~~{~{€}~€}}}}€|€€€|~}}||}€~~~~}}}~€€}}~~~~|€€|}}}}}|}€}}~~~~~~}€}~~~~~|{z€€}~€}€}|€|€}}}}}|}|~~}|~~}{~€€}~~||}~~~~€}}|€}}}€€€|€|~~}}€}~~~}{~}|}~}}~|}€}€|}}}}€|€{~~~|}}€}~~~~}y{~€}~€}||€}|}~~~~~~~~~~~~~~~~}{~~}}€{}~~~{€}~~|€}~€|}}}}|}€}€|}|€~}|}}}~~~~~~}{€}~~{€|€€€}|€|}€|}}}}}€}||~}€{~~}}}~~~~~{}~~~~~~~~~~~~~~~}}|}€€€~}}}€{~}}~~~~~~~~~~~~~~~{€}~~~~~~~~~~~~}}€}€{}~~~~~}}~~~~~~{}~€}~|}}|€}€||yvw€†~~~xzvbs¨Ž{€zuy€qcg²Ÿy†xyv€qfO–Ã|…~xo}ePcÞ”~†vsp„e]IãŸqŽswg‘fTCæ¡l”ove–lX9Þ¡dšuy[–oc7̹]Ÿt~S”uc=¡ÛW£x{Q|ˆ_Muóf•‰xZhbYfðiŒzb_‘^`WósŠ’viR—ebSòuˆ˜trG’^kNñ‡} nw<—^qGܨpªf{4‹hqK»Êd±k‚7yyi[œæk§t~Bm†eczótžwRQgjfsaB–eqUàš{—jt5™mqPǵl¡i|2ŒwsT©Èe£jƒ9}‚j[ŽØdžo~Hk”mgoâu‚tWQœnq\Ö‹“mlG˜rwRħoœfyA”~rZËhm{MuplwÆv’z~Xi–nklÜv‰„sZZ¦iq^Ó†z”lkJ§pwY´«f›krD–€n`’Êe“yoN~‘vrbËŽu†r]a‰z‘ˆ…™ƒptau~rŒ}˜Ž{xnbir‚‘¡}ylhc†u‰†‰|vfpcuˆŠ†¤z{elgƒ‹ƒ™yyknh€~Љ‡xzouo}‰|‡„Œ}vpjsz…Љ…„qtnp{‡†ŠŒ€†unmrz‡‰‚Œ~…uoss|…Œ€ˆzyqwu|†‹ƒ‚qxuw}~ƒ†‡qstt}€‰†€€tows}‡ˆƒƒ~uluu{‰‹„‚}xmty{‚ˆŠ…{wor}|‰Šƒ|wsq{|‡Š„|srnx~†‹„usox€…‡‚uvuuƒ‡„€€wstw}ƒƒ|yvwv|€…€|{uxz‚‚}|txz~€„†|€}}zy|}€ƒyw}y}€€€€|~~ns€†…ŒŒ|rswqz‚x’‡ƒy‚~w{€|zumk„‡…}ytjnt„“‰‚‡y}wmgwu‰«“„xsr€r_s_»´wˆrmcƒten^¨Á†Œspey~xiher²«’„yrl~‚ombkb±Ð~‰qqa{ŒnlbrVÖ¹oŠes`™‘qZuH˜ßc‚hykˆª‡gkZdíƒgvhui¸–n\pO ájzfvd»xd]sWÈÉ__t_š«rf_o_ݤb{[ti¬—lZqUálzgjnµŠ]egWÙŸhy\wiª¦tYjQ˜ßm{clg~¼†`[eYÓ¯h{[x[£ªv\[gtçŽqp`veµ‹jUka äq€gok|²}c\p`Ó´i‚]}^¦p[e]Žàw{lhoo²Šc`d\ɶg€\q^–«u`b\â‡wq_od­’p\f^­Ùp‚clf€°~d_ijÕªp^scœžr]la‹á€{nipk«ebh\ƹlaocލ{]mV„Þyqcij¦—k`hT¼Äp‚blf‰¨ƒ]e]sÛ—uwcmlœ›sYkUªÎx‚gmh¢‹baejÔ¡xxboj–›xXkS©ËxfkeŒ`f^oÙ—|vcio˜–v[jR¯Äy€fkdˆ™cf[n×’tdimž•|\gSªÉzƒejc…Œgc\n×—tbgoš’}^hO¸¿t†biaŠefUzÚ‹pdcs¢•y^cRĹx†^h_œˆgcS}ÞŒq`cqœy^dQùw†^da‘™‰dhO‰Øˆmb`z›’vd^XÕ¥{‚`cd™•„amI¢ÒvŽhd\€›Œtf[bÛ}„__e˜ŽƒciN¤Ñvkf[‚›‰shYjÜŽ„€`djœehM¾½seg[Ž”„okQ|Û‡zd[ož‡|fdQÇ´rŽdeW“pkPƒÝ{‡wa]pŸƒ}ibZ˪s‘be`–“llP“ØtxbZyvpYbÙ’xŽfa_˜‹|plN°Äm•sbX„š€woWvØ‹{b[f™‰€u^X§ÃyŠz^b˜~o]xª¤ƒ}dav†Œ{vslŽŸ…~nft…„zwt{žtbmy„ƒ|vvuœ™zfkv‚ƒxylŒ¡ƒ~ogr‚ƒ}rw”„wnq{ƒ}xs…Š„€sqz€€€{w~ˆ…€zrv|~z|‰…~uv~~|~}†‚~wv|€€}|}|yz€€{z}}€€~||}€~||~€€€~|}|€}|€€}}|}|€|}|€€}}}€|}€~}{~€~~z{~|}|€€}}|}|€}|z}}}|€€|z}|~~~~}€y}~}€~{€}~€~y~€€€€}|}|}}|€€€{~}~x{}}~}z€€~z{€€}~~€}|z|€€}|}€}|}}€~}}|}~|}~€€}~~~}y|~€}}}}}|}€}}}}|yz}€€~}€€z{}~}}}~~~~|}|}}}}}y}|~~~}}|}|~}€~|~{~~y{€€}}~~~~~|}€|€|€}}||}€€~~~}}|}~€€}~~~~~~~~~~~€}~€|}}}|}€~}}|~}|}{~~||~~~zz}~~~{€}}|}|}}}|€|}€|}}}€{~~}}€{~€~~{}~~|}|}~~{€}}|}|€}|}€|}|~~~}}}~{}~~{€}||}~|€}}}}|}}€}y~}€{~~~~}|}}}}{z€}~€€}||€}|z|}€}}€}|}}}€|~€~||~}}~€}~€~z{}}}}~€|}z|}€€€€~}|z}}~~~~~~}{~{}~|€€}|}}}}€}|}}~~~~}€~~||}€~~{~€~~{€}}}}}}|€}}}}€|€{~~~~~}|}~~}||}~~~}}~~~~~~~~~~~~~~~~~~~~~~}{~~~~~~~~~~~{}~~~~~~~~~~~~{€}}}€|}}}}}€}~~~~~~~~~~~€€€~|}~~~|€}~|}~~~~~~~~~}€{~~~~}€€€~|~{}~~€€}|}}~~~~|zy}}}€}€~}|}|~~~~}|}~€€~||~€€}||€€€}|}}}}|€{~}€|~|}}z|}€{}~€~|€}~|€}|}|€}}}€|}|~}||~€}|z}~€~|€€€}|}€|€}|}€€|}€€}y~€~~~y}}}~~~}|}~~}}y~}~€}y|}€|z|}~~~~~~~~~~~}€~}|~~€~|~~|~|€€|}}€}}}|z}}€~~~}}{z~~~}€~|}~~{}~€}}€}|}~~~~~~~}€{~~}€€~||~€€~||~~€€}~~~~~~{}€}|€}}}|~~}€€€{ƒ„z~z{||{|x{}„“ˆ€~|{yxuzyzvz’~zz}€{ztzqxtu›|€xul€|smmqm}hªÄ{xjr‚polmmqyzº‹‹xtf~yhgirzwƒv™Ë–uej{ohlr{}|nÛ°}‡nj`{lsv}€t|TѽvŠnqYwŒown~|w{\æŸs‰ks]‚†fyo}|v^ñ‘wŠlo^‰etl}„Xîloxd„z]rp‚}„Nì‹loub‰}fsn}€€Qè‡inya‹{`th‹x†tiôn€irbyerj†tr~÷t‚tmmgqakkŽo’j‘ïhqsksŒngil‰p•h˜æfŠkshqŽehcuˆnšX¾Ëb•bu^y`letr˜Yظf_w\ƒ‡]oa}€x’^êŸr_w]‰|`p_ƒw‡põŠ~…`sb‘t^jaˆsŽtŽðqŠuhmi“jcjeˆo’l²Üd’hlfu–cjcl…s“eÖ·d•`r`†ŒZp_ryŒqî o]m]ŽƒYoYz}~‚õ‚x…alc–u]nZ‚x‡w¡ón…zbfi—j`o_…{‡jÅÒ`”nh_v‘\jldƒ{‚sã­gšdj\†…Utfs€‚xîy‘ae_ŽsXyez~†r´àm‘]]jŽddvk{€„uظkši\Zy…`stntƒzé“}“_Y^‰zbwlsu†s°ÝwŽ|\Yhihtosw}Ó¾tjZW{ˆflot~zƒŒÌ­wƒfbd‚„jilqƒ„–“›Ÿu`kt€~pniw‚—† –{mcvv~snlk~„œŽ“£wdkv{ƒrsks‚•Ž Œxrivw‚{oqm{ŠŽŒ‚rovxxrrrƒ‰‰Œ‹‡‚}sot{{vtvz‡ŠŒ‰…€{spr{wtwx†ŠŠ„€}x{vz|usw~‚‹‹‡…€}zztvywy}†„†ƒ€€{zyv|zwz{†…„‚‚y{tr}xz}~€†‚‚‚€~yzvw|wz|}€‚†€€}|yuxxx~€€€€€~|{wv{{{}~€€€€}wvwyz}|€ƒ€€{yzzyz}|~€€‚‚€€~{wxy|}€€€€}~|z|z|}€€€€€~}}{zy{|~€€€€}~~|{{}|}|€€€€}|€|z|z|}|€€€|~~}z{{{{|~~}€€€}~~|}}z{}~€€€}}}|}|€|}}€€€|~~~~|{z~€€€€€}~~~|{{€}}~€}}}|}}|}€€€~~~~~}|}|~~~~~~~~~~~~~~~~}}€}}}}yz}|}€~}}€|}{z}|~~}€€€€}}~~~~{€}€€}}€}}~~~~~~}}€~}}}€{~{~~€€}}}~~~|}}~~~}}€}}}}~~~~~~}{~~}}}~~~€}|}}|}~~~~~~}}|}}}|}~~}}~~~~~}|}~~~{€|€}€}}~~~~~~~~}€€~}}~~~~~~~~~~~~~~~~~~~~~~{€}|€}|€}~~~~~~~~}}€~}}}~~~~~~~~~~~~~~~~~}}~|€}}}€€|€€€~~~~~~~~~~~~~~~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}€}~~~~~~~~~~~~~~~~~~~~}}}|}}~~~}}€€~~~~~~~~~~~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}|~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~{}~~~~~~~~~~~~~~~~~~~~~~~~~~~}€~~z{~~~~~~~~~~~~~~~~~~~{‚~~~~z|}vw„ˆƒ‚€}yz~zzquu„œ‰~|yzƒ|wrmr©{vwzƒ}uijj޵€~zx}‚{l`b_½±{wwr‘ˆwX^J¢Ø€„mofˆŸ„_ZRlßœ}|ipm¡wX_MœÞ|nkf€ªpXfR¬Þv‚lif‚¢~cWhWÓÂo…\pi›¡xVdO€ó„g^lw³•lS]JÙ¾pQq` «S`Hð|†_ady¹“mMaPØÊr…RjW˜©„XZQøŠ„pZ_j±™pRaQÔÃpŽWc]“§‹YfLˆîz‹p]]r£ŸnX[Pç¢x‹Xc^”¢ˆ[g>¯Ýo•g^Wy¡šiaRgî“„ƒ\[`–›„TfCÂÔq–dbRƒ›”e]Ru󉉂^Zi˜—ƒSeLÎÉr’c_YŠ–”h^Stì”}~]Yj–“mkS˜È–|fefrŒldqq«œŠp`mt€Š`rt›²‡|aasƒqlp‚¿’mZiz€Œ‚isq²¢{[ap‚…‹xoo‹£ƒh]l}€ŠƒppxŒ~gly€~Œpx„…umw}u{yjs|€}‚}z}†‹€€ql{~}}|…|qw€}{v|€ƒwv}€€€{z}€€~yz~~}€~|~€€yw~€}~€}€}}z|€}€€|}€||}€{z~~|}||~{~€€~|€€}||}~}|}|}€}}€||}}€~}|~}€|~€€~||}|€€}||€€}}}|}}€}|}€{yz~€€€|~€~||}|~€€}~€}|}}|yw}……vtyz|‚wvƒ|—‡m}www~opˆŽ—„…vzzsg`Šªƒ‚„}u{pqUˆÆs‚zry„`VfÈ›q‘}yp€sYI§¾u‡€}qql;‘Ýb‹xvh}ŠgYRï’plq`•q]8ÇÅd’xxc‰vn2žÛb‘pyc‚‰mHaîw†okg›ne=تk–kpgŒzp/Φdškw]™{z0»·X¥h{M’wA‡ÙW wxT~‰{Qdí[š‚u_l‘wgJõj“liQ›kt>è„|¥dtBn€6Øm®g{C‹o<Ø¡dºd9‰oz=¶ÇZ¾kƒ:vxzNŒäY²vƒK`€t\nõh£ƒzZOƒtkOðw‘“pi=‡qyBä›| ow:}u€=רs©j>†n„Bº¼c°iƒ9vy…JÔ_«q…Dm~€Uƒáb¨uO`ˆdeèh…z[R‹xvZäv‹qeK†|vTà{ˆ“omIŒzzO×{œmwAƒ{‡LÄ£l¢l{=‚zˆO­¾c¦m~Cx~ŠY“Ê_¤o|If…ˆ_€Õb›vzR[††hlÜm•‚x]S‡‚w[Ú|…ŽsiL€|TÔ‡|’qrE€}„OÊœt™pvDy…NÀ¬iŸpyBu†P±Àep~GjƒS—ÒešyzMaˆa€Üi•{UV…ƒiqàvŠ„w[Pƒ‚o`â‚‚vbL€~~UÚ’z“umC|€NÒžr–ss?{~‡JÁ¶jšrv@q}ŒM´Âd›tz>o}‹Q¥Ód™q|Ce€‰U”Ýf˜xzH_~‰`„çn’}zOV‰`uèrŒxQQ}‰ogë}…‡zZIz†r^ê…}‡v_I{ˆwUä‹y‹tcFx…~TáštshAv‚~SØ©pqkBu~…MÍ´k•tr?rŠOľh”rtAl~ŠJ¶Êh–uuBh}‰Q°Íh”twBcz‹X Úl’xuGbz‰W”âp‘}vF_xŒ`„æqŽzwNYwŠg|èv‰€wRTufvê{‡wQQv‰mo냂ƒyWLw‚tmè~†u[Ku}vcâ˜{‰tbCs|}^Ú¨sŒudCo|„XÓ·pqj?k|‡WÃÃoŽtn>gx‚Z»ËmvqEdv„\¯ÓpŒvqC`wƒbžÙsˆ|qH\w‚g“Ý|ƒ}sPWtƒjƒá†€sRPvƒp|Û~‚uYQsuwÚ”x‚t^Ps~upלw‡s_Mm€{mÏ£u†ueIp~|nIJt…ugMm|~o´»wƒwjKi~zx£¾~}}hVeƒ}¯’z{jXc~‹Š “{wkcc{ˆ•––xzld`x‡“ƒ—˜uukdbx‡“‚”–uyohavˆ“ƒ’”ttplgx‡ƒ‘wtqkhvŠ•†ŠŠvsrkjxˆ“‰ŠŠyqsoly†’Љ‰yqpmny…‘Šˆ‡zrrrnx„‹†…yqrrr}‚ˆ‚ƒytqpr{‚‘Œƒ‚tnpst}Žƒƒsnprx…‹~woruw}„Ž€‚vosxz}…‚vnrwy}†€€ypsty|‚Œ‚ynovz}ƒŠ‚€zorv{}„‹‚zpsuz~€†Œ‚}rpu||„‰‚}~tru{}‡‹…}ssvz~€ƒ‰„wsv|}€ƒ…ƒ~~wtvz}€‚†„~wux{~€„ƒ~}yvy{~€„‚~|xwy|~€€ƒ‚}~{vy|~€ƒ|}ywz}}€€ƒ~{yw{|}€‚ƒ}}{xw~~~‚}}{y{~}~€„}zzw|}€||yz}}€€€~}{z|y€€€y|z{|~~€z|{y|}€€|zy}€€€€|y{|z~€€||}{{~€}~€}}z|}}~~|€z|}}€}€€y~~}}}€€|}€~}€~~€~|}||€€}€€}|}}}|€|}}}€|~}}|}~{~€{}~~~~{€}|~|€}}€|€|}|€|~~~}}}|~}€{~}}}|}}~~~|}}~~~|€€}}}|~~~~}}€{~~~~~~~}€~~~{}~~{€|}~~~~~~~~~~~~}|}|}€~~~~~~~~~}}~~~}~~€}}}}€}}}}|€~~~}}}}}~~}}}~}~€}}}}}~€|€|€|}}}}}}|~|}}|~{}~~~~~~~y{}€}|}~~~~~~~~~~~~}{~~~~~~~}{~}}}|}}~~~}}~~~~~~~~~~~~~~~~~}€|~~~~~~~~~~~{~~~~~~~~~~~~~}~€}|}}~~~~~~~~~~~~~~~~~~~~~}{}~~~{€}}~~~~~~{}|€|€|€|€|}}}}}€{~~~~~~~}{~~~~~~}|}}}}}}|}}~~~~~~~~~~~}€€€€€€~~€€€€€€}~~~~~~~~~~~}}|}}}}}|~|}}~~~{}}~~~~~|€}}~~~~~~€€€€€€€€~~~~~}€€}~~~~~€€}~~~€€€}€}}€€~}}€€~}€€€€€€€€€€€€€€€€}}|}€€}€€}€€€€€€€}~€€€€€€€€€€}€€€€|€€}€€€~~~~}€€€€€€€}~€€€}€€}€€}}€€€€€€€€~~€€~}€€€}~€€}~~~~€€}}}~~}€€~}€~}€€~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}€~~~~~~~~~~~~~~~~~~~~€€}€}}~~|}ˆ…{zyz|‚~ltއzy|wsunf}§•…~vwƒxlc^“¬Š}wt}ˆ|sfbg¢´‡„~ut€‚z[dJ—Ì|‰xvjƒ‘„c]ZkជmjeŽ„xWaR¿Î|”po[“ƒm[`aѽ„†ibX…”}pZi[ÂÖx…bg^ˆž~]bVjî™|uakm¥˜vVi?ÏÊhƒWnZ“ª‰WlFív†adco­ši^YVæ¥t€QjR¦‡`bTøŠ‚l]Zb±›xOmL¾Úw‹]eW„¥š\iStñˆu^\nš¢[lGØ­tˆ_`[Š ’Ys5³Ïj•cgS{”¤phS_ï‹„[YU‘]o?«Ût–gcLt™¥s^^Y‡^[[“–“WnAÂÊn”fdP…“bpB“æg—ogOs‘™a_Rê“yŽ^]U’‘—elB¡Ým•kdPu•˜}e]V蔀Š^_X’‘—`nD©Ôn™ieM}“˜rjQnëy‘€cSc–’‹edFÕªt™d]LŒ‘•ppF†æp‘{_Mg—–†hjAаs˜e`L†“›lmH‚är“}fNj’—‚fgHÜ™x—i^Q–etC¤ÏfœqhKw’—{k\^ãƒd[YipB´Âg›rgM‘–xl^c⃋j]]ŽŒdtD»»hœqfPŒ–ptQ~àjŒ‚kVkŽƒhmPÓ—n—mcT†Š“krLœÐd}iUtŽhiXÅ¥o‰ua[‚ŒŒoyuz–ˆtjkz~n|w’…{niv€ƒŒozw‹¡€‚tgn|}Šytw¦†~zkg{~ƒ„u}uœ}pkp€€‡|yw†„‰xpr||ƒ„zy}†€‚wrz‚|€~|‚‡‚€ysv~}~€|ƒ‡|sw€€|~}€„~z}|x|‚|}|~€€~}z}‚}|}}|€€}|€}|}€€|}|yz}€}€€~|}}|~€€}~€€}|~€}~€}||€€}|€€|z}€|}|}€€€~}|{y{~|~€~|€~zy|€}|€}€}|z}€|}|}€|}|~€€~||}|~}}{z€€}}~€}}z|}€€|}}|z|}~~}€€~}{z~€€}~~}}~z{€€}}|}€|}|}}}€€||z~€€€|~€€~{y{~€}~~|€~y}~€€€|}||}|€}}|}|}|~}}~~}}~zz{}~€}}~~~y}}€|}}€|}}€€}|~€{}~~~~~~||~~~{€}€€}}~|}~~~~~~~~~}|}€€~~~~~~~~~~~~~~~~~||}|}~~~~~~~~~~}|€|~}€{~~~}}€~~{{{|~~|}}}€|€|€|€|}}}}|€~~}}~|~~~€€}~~||}~~{}}~~{}~|}~~~~~~}}€|€{~~~}{~~~~~~~~~~~~~~~~~~~~€}}€|}}}}{~~~~~~~}}~~~~~~~}|€}~|€}}}}}€|€|~~~~~~}}}€~{~~~~~~~~~~~~~~}}~€€}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|€}}€}}}}|~~~~}|~~~~~~~~~~~~~~~~~~~~~~~~~}}}€}}~~~~~~~~~}|~}}~~~~~~~~~~€€}}~~€}}}}}|€}}}y~~~~~}€€|}|~~~~}}}~~{}~|}~~~~~{~~~~~~~~~~~~~~}{~~~~…zz€{}~|~{xsŽ™ƒ€€~rryzsyywy~{„£‘‚€{wy{vntyqqw©‰Š}upywpstypvhšÈˆ‡xmg}thwx‚pwe–ß…Œsd]}tftr{s{m㔉‹}i`zsbiv}|pzcʽ~‚w\m}nc{x‰n€S¬àh……|ad†xc|{‹h{L«âW‹‡|`dw`}{l€O¦áR‰…‚hh†qZy{Žs\ˆôl€†ƒoe†y[k{Š€|heëˆd‹‹g~ƒaf{…ƒrvLã¢SŒ…€fy‡k^~ƒ’o~C¸ËP…‡†dn‰r_|€pPê\{†ƒmfˆtYv€€y_iéŠfŠy^|{`j€„‹ptXɸXŠˆˆ`r~h`‚qn_~års‹ia{es‰„†bq\Ò£]‹{Wy{tfƒgq`‡Ükz’‰^h|{c}‰…d}X½³i‰šw\q{sd“€‹eplhΗk’—haqƒdv~fz^uÀšp™“fawƒo||q|dl¨¤xŽ‹sdn€x~sp’ˆ~}x…„}vrvtyƒ”ƒiuwx‰ƒ€{nqwx€•‘ymyquqvwƒ‰vyxy€{~€z|||ƒ‰€owzx‚}z~„„€ˆ†z|}uxurrr}…‹„†z~{q~}tsou|…‰†Œ}€~y~}vzuu€‰‚…‚y|}z|€{x|z€„ƒ€€|}}zuz|z€ƒ‚€€€}~~xvywx|€„€€€€|€}|z|z|}€€€~}|~€~}z{|~€€€}}{y||}~€}€€}yz|z}€|~}€ƒ}}{z}|}|~~~~~~~}~|}|€|}|}}}|}}€|}€€~~~~~~~~|}}|~€€€€}~~y|}}|}}€|}€|}|~€~~~~~}€}~~x{|~€~|~~€~y|€€}wx}|}€z€€}€€tw†‰||}|wrvvxy|‡…€„||t|¢‘u{ylfqxolx|ƒ‹‹‡…€~˜—‚||sglooovx~}‹…‰yƒi{Û†’seVpq_nyw€ƒŒŠˆ…„~‚«¦ˆ…wcU^``jq|‰‹ˆ…ƒ~˜®‚xkUOchjs€~„…ŽˆŽ…ƒw€Ö¥€eM=bico{~‘“yƒr™ÚŠ~sY?Eieet’Œ•‘†‹t’àˆz€aD;fcau…ƒŒ””Œ{rÕªr…^F._eiv|‰ˆ‘’”•‹y|–½œypO5?fer}€„Ž’”—“…|zϧwyZC0dgav€ˆ‹‘’”‘Š€|~Á¶vyeE2Zmar~…‹‘”“”…~zšºœylS5@hgp}ƒˆŒ’’””Œ~y~ïv{`D4\jgsЉ“”“’‰€|u¸»{xeL/OmenzŠ‹’––—’…wŸuoU55]jiu„ŠŽ••–”‹{u¼ºwy_C/Qnho|”›œ—€k©Ï}viM1Cmfgu‰”—›•–ˆƒrΡssX:2]oipƒ‹•™™˜€|j´ÈyxeI.Lpiix‹›—œ”‘€ƒh‘Þ‹soU49ondn†—”˜˜•Š€yn͵pw]C+[vfi~‰’—’›–€ƒfŸÖ€tjO1Cqkfu‡‹™•š˜”…oyØrvZA1hqfmŠ”––™”Ž|€e·ÇrzeN.Pvgjx‰Ž—”™–”‚l‰ÔsqU:;moiq„‹’–™™–‰}zjƶqx_I/\rhj}‹‘™”š“{ƒe¢Ô}wiR3Ftkguˆ—“™–•…ryÕ¡puY?2gsfnŠ”–”›•€e´ÊtxeL0Pthfy‡Ž›”œ•“gŒÛ‰vpX;:sofp„Š—“––•‰||hɵn{bK,_wgm{‰—’š–|f™Ó~xmT7Hylir†‰–”š˜”€soÔžqv^G5kshl‚‰””’–’Œxƒd®Åt{eU7Uxin{†‹•‘—•k„ÒŽwuZDAsmlu„Œ’’’–“‡}}g¼´q}dR7avfn|ˆŒ–‘•’|€h̓wrZ This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.sound.sampled; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.UnsupportedAudioFileException; import gnu.testlet.ResourceNotFoundException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * @author Mario Torre */ public class AudioProperties implements Testlet { private static final String BASE_PATH = "gnu#testlet#javax#sound#sampled#data#"; private static final String WAV = BASE_PATH + "k3b_success1.wav"; private static final String AU = BASE_PATH + "k3b_success1.au"; protected TestHarness harness = null; public void test(TestHarness harness) { this.harness = harness; this.testWav(); this.testAU(); } private void processWaveStream(AudioInputStream stream) { AudioFormat format = stream.getFormat(); // NOTE: we don't check for encoding, because our backend is unable // to get the correct encoding as defined by AudioFormat.Encoding // this is not a problem, because the encodings specified do not // make sense in most cases. this.harness.check(format.getFrameSize() == 1); this.harness.check(format.getChannels() == 1); this.harness.check(format.getSampleRate() == 8000.0); this.harness.check(format.getFrameRate() == 8000.0); this.harness.check(format.getSampleSizeInBits() == 8); } private void processAUStream(AudioInputStream stream) { AudioFormat format = stream.getFormat(); // NOTE: we don't check for encoding, because our backend is unable // to get the correct encoding as defined by AudioFormat.Encoding // this is not a problem, because the encodings specified do not // make sense in most cases. this.harness.check(format.getFrameSize() == 2); this.harness.check(format.getChannels() == 1); this.harness.check(format.getSampleRate() == 8000.0); this.harness.check(format.getFrameRate() == 8000.0); this.harness.check(format.getSampleSizeInBits() == 16); } private AudioInputStream getAudioStream(String filepath, boolean stream) throws IOException, UnsupportedAudioFileException { File file = null; try { file = this.harness.getResourceFile(filepath); } catch (ResourceNotFoundException e1) { throw new IOException("ResourceNotFoundException: check the correct " + "input file location"); } AudioInputStream audioInputStream = null; if (stream) { audioInputStream = AudioSystem.getAudioInputStream(new FileInputStream(file)); } else { audioInputStream = AudioSystem.getAudioInputStream(file); } return audioInputStream; } /** * Read a wav file and check if the expected properties match * the actual result. */ private void testWav() { this.harness.checkPoint("testWav()"); try { this.harness.checkPoint("testWav() - FILE"); AudioInputStream audioInputStream = getAudioStream(WAV, false); processWaveStream(audioInputStream); this.harness.checkPoint("testWav() - STREAM"); AudioInputStream audioInputStream2 = getAudioStream(WAV, true); processWaveStream(audioInputStream2); } catch (UnsupportedAudioFileException e) { this.harness.fail("Wave files should be supported by any" + " implementation"); } catch (IOException e) { this.harness.fail(e.getMessage()); } } private void testAU() { this.harness.checkPoint("testAU()"); try { this.harness.checkPoint("testAU() - FILE"); AudioInputStream audioInputStream = getAudioStream(AU, false); processAUStream(audioInputStream); this.harness.checkPoint("testAU() - STREAM"); AudioInputStream audioInputStream2 = getAudioStream(AU, true); processAUStream(audioInputStream2); } catch (UnsupportedAudioFileException e) { this.harness.fail("AU files should be supported by any" + " implementation"); } catch (IOException e) { this.harness.fail(e.getMessage()); } } } mauve-20140821/gnu/testlet/javax/print/0000755000175000001440000000000012375316426016500 5ustar dokousersmauve-20140821/gnu/testlet/javax/print/SimpleDoc/0000755000175000001440000000000012375316426020357 5ustar dokousersmauve-20140821/gnu/testlet/javax/print/SimpleDoc/constructor.java0000644000175000001440000000455110362176715023613 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2006 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 51 Franklin Street, Fifth Floor, //Boston, MA, 02110-1301 USA. package gnu.testlet.javax.print.SimpleDoc; import java.io.CharArrayReader; import javax.print.DocFlavor; import javax.print.SimpleDoc; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Simple constructor tests. */ public class constructor implements Testlet { public void test(TestHarness harness) { try { // printdata matches flavor new SimpleDoc(new byte[100], DocFlavor.BYTE_ARRAY.GIF, null); harness.check(true); } catch (RuntimeException e) { e.printStackTrace(); harness.check(false); } try { // check for sublcasses of reader new SimpleDoc(new CharArrayReader(new char[]{'A','b'}), DocFlavor.READER.TEXT_PLAIN, null); harness.check(true); } catch (RuntimeException e) { e.printStackTrace(); harness.check(false); } try { // printdata does not match flavor new SimpleDoc(new byte[100], DocFlavor.CHAR_ARRAY.TEXT_PLAIN, null); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } try { new SimpleDoc(null, DocFlavor.CHAR_ARRAY.TEXT_PLAIN, null); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } try { new SimpleDoc(new String("kk"), null, null); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/javax/print/SimpleDoc/getReaderForText.java0000644000175000001440000000563110362176715024444 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2006 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 51 Franklin Street, Fifth Floor, //Boston, MA, 02110-1301 USA. package gnu.testlet.javax.print.SimpleDoc; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.CharArrayReader; import java.io.IOException; import java.io.Reader; import java.io.StringReader; import javax.print.DocFlavor; import javax.print.SimpleDoc; /** * Checks getReaderForText */ public class getReaderForText implements Testlet { public void test(TestHarness harness) { SimpleDoc doc = new SimpleDoc( new String("Text to print"), DocFlavor.STRING.TEXT_PLAIN, null); try { Reader reader1 = doc.getReaderForText(); Reader reader2 = doc.getReaderForText(); harness.check(reader1 == reader2); harness.check(reader1 instanceof StringReader); } catch (IOException e) { harness.check(false); } SimpleDoc doc1 = new SimpleDoc( new char[]{'A','b'}, DocFlavor.CHAR_ARRAY.TEXT_PLAIN, null); try { Reader reader2 = doc1.getReaderForText(); Reader reader3 = doc1.getReaderForText(); harness.check(reader2 == reader3); harness.check(reader2 instanceof CharArrayReader); } catch (IOException e) { harness.check(false); } SimpleDoc doc2 = new SimpleDoc( new CharArrayReader(new char[]{'A','b'}), DocFlavor.READER.TEXT_PLAIN, null); try { Reader reader4 = doc2.getReaderForText(); Reader reader5 = doc2.getReaderForText(); harness.check(reader4 == reader5); harness.check(reader4 == doc2.getPrintData()); } catch (IOException e) { harness.check(false); } SimpleDoc doc3 = new SimpleDoc( new byte[]{'A','b'}, DocFlavor.BYTE_ARRAY.AUTOSENSE, null); try { Reader reader6 = doc3.getReaderForText(); harness.check(reader6 == null); } catch (IOException e) { harness.check(false); } } } mauve-20140821/gnu/testlet/javax/print/SimpleDoc/getStreamForBytes.java0000644000175000001440000000404410362176715024634 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2006 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 51 Franklin Street, Fifth Floor, //Boston, MA, 02110-1301 USA. package gnu.testlet.javax.print.SimpleDoc; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import javax.print.DocFlavor; import javax.print.SimpleDoc; /** * Checks getStreamForBytes */ public class getStreamForBytes implements Testlet { public void test(TestHarness harness) { SimpleDoc doc = new SimpleDoc(new byte[]{'2','3'}, DocFlavor.BYTE_ARRAY.GIF, null); try { InputStream stream1 = doc.getStreamForBytes(); InputStream stream2 = doc.getStreamForBytes(); harness.check(stream1 == stream2); harness.check(stream1 instanceof ByteArrayInputStream); } catch (IOException e) { harness.check(false); } SimpleDoc doc1 = new SimpleDoc( new ByteArrayInputStream(new byte[] { 'A', 'b' }), DocFlavor.INPUT_STREAM.GIF, null); try { InputStream stream3 = doc1.getStreamForBytes(); InputStream stream4 = doc1.getStreamForBytes(); harness.check(stream3 == stream4); harness.check(stream3 == doc1.getPrintData()); } catch (IOException e) { harness.check(false); } } } mauve-20140821/gnu/testlet/javax/print/SimpleDoc/getAttributes.java0000644000175000001440000000413410362176715024051 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2006 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 51 Franklin Street, Fifth Floor, //Boston, MA, 02110-1301 USA. package gnu.testlet.javax.print.SimpleDoc; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.print.DocFlavor; import javax.print.SimpleDoc; import javax.print.attribute.DocAttributeSet; import javax.print.attribute.HashDocAttributeSet; import javax.print.attribute.UnmodifiableSetException; import javax.print.attribute.standard.Compression; import javax.print.attribute.standard.OrientationRequested; import javax.print.attribute.standard.Sides; /** * Tests various aspects of the getAttributes method. */ public class getAttributes implements Testlet { public void test(TestHarness harness) { HashDocAttributeSet set = new HashDocAttributeSet(); set.add(Sides.DUPLEX); set.add(Compression.COMPRESS); set.add(OrientationRequested.LANDSCAPE); SimpleDoc doc = new SimpleDoc(new byte[100], DocFlavor.BYTE_ARRAY.GIF, set); DocAttributeSet set1 = doc.getAttributes(); DocAttributeSet set2 = doc.getAttributes(); // everytime the same object needs to be returned. harness.check(set1 == set2); try { // it must be an unmodifiable view set1.remove(Compression.class); harness.check(false); } catch (UnmodifiableSetException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/javax/print/DocFlavor/0000755000175000001440000000000012375316426020357 5ustar dokousersmauve-20140821/gnu/testlet/javax/print/DocFlavor/parseMimeType.java0000644000175000001440000001544510377330572024015 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Michael Koch // Copyright (C) 2006 Wolfgang Baer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.print.DocFlavor; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.print.DocFlavor; /** * Tests the mime type parsing behaviour of DocFlavor. * * @author Michael Koch (konqueror@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de) */ public class parseMimeType implements Testlet { public void test(TestHarness h) { // Check simple mimetype DocFlavor simple = new DocFlavor("text/plain; charset=us-ascii", "java.io.InputStream"); h.checkPoint("Simple mimetype"); h.check(simple.getMediaType().equals("text")); h.check(simple.getMediaSubtype().equals("plain")); h.check(simple.getParameter("charset").equals("us-ascii")); h.check(simple.getRepresentationClassName().equals("java.io.InputStream")); // Check if mimetype can be correctly built together again. h.check(simple.getMimeType().equals("text/plain; charset=\"us-ascii\"")); h.check(simple.toString().equals("text/plain; charset=\"us-ascii\"; " + "class=\"java.io.InputStream\"")); // Check for mimetype with quoted parameter value DocFlavor quoted = new DocFlavor("text/plain; charset=\"us-ascii\"", "java.io.InputStream"); h.checkPoint("Mimetype with quoted param values"); h.check(quoted.getParameter("charset").equals("us-ascii")); // Check if mimetype can be correctly built together again. h.check(quoted.getMimeType().equals("text/plain; charset=\"us-ascii\"")); h.check(simple.toString().equals("text/plain; charset=\"us-ascii\"; " + "class=\"java.io.InputStream\"")); // Check for mimetype with multiple parameters DocFlavor multipleParam = new DocFlavor("text/plain; " + "charset=\"us-ascii\"; param=paramValue", "java.io.InputStream"); h.checkPoint("Mimetype with multiple parameters"); h.check(multipleParam.getParameter("charset").equals("us-ascii")); h.check(multipleParam.getParameter("param").equals("paramValue")); // Check if mimetype can be correctly built together again. h.check(multipleParam.getMimeType().equals("text/plain; " + "charset=\"us-ascii\"; param=\"paramValue\"")); h.check(multipleParam.toString().equals("text/plain; charset=\"us-ascii\";" + " param=\"paramValue\"; class=\"java.io.InputStream\"")); // Check natural order for mimetype with multiple parameters DocFlavor paramOrder = new DocFlavor("text/plain; " + "charset=\"us-ascii\"; another=paramValue; charset3=something", "java.io.InputStream"); h.checkPoint("Multiple parameters output order"); // parameters are returned in natural key order // therefore another -> charset -> charset3 h.check(paramOrder.getMimeType().equals("text/plain; " + "another=\"paramValue\"; charset=\"us-ascii\"; charset3=\"something\"")); // Check charset treatment DocFlavor charset = new DocFlavor("text/plain; charset=US-ascii; " + "nocharset=UoUo", "java.io.InputStream"); h.checkPoint("Test charset treatment"); h.check(charset.getParameter("charset").equals("us-ascii")); h.check(charset.getParameter("nocharset").equals("UoUo")); // Check for mimetype with comments DocFlavor comments = new DocFlavor("text/plain(Comment); " + "charset=\"us-ascii\" (Comment2)(Comment1)", "java.io.InputStream"); h.checkPoint("Mimetype with comments"); h.check(comments.getMediaSubtype().equals("plain")); h.check(comments.getParameter("charset").equals("us-ascii")); // Syntax checks h.checkPoint("Syntax checks"); // Lowercase treatment of media type and media subtype DocFlavor lowercase = new DocFlavor("teXt/Plain; charset=US-ascii; " + "nocharset=UoUo", "java.io.InputStream"); h.check(lowercase.getMediaType().equals("text")); h.check(lowercase.getMediaSubtype().equals("plain")); try { // wrongly quoted value new DocFlavor("text/plain; charset=us-ascii\"", "java.io.InputStream"); h.check(false); } catch (IllegalArgumentException e) { h.check(true); } try { // wrong character new DocFlavor(" te,xt/plain; charset=us-ascii", "java.io.InputStream"); h.check(false); } catch (IllegalArgumentException e) { h.check(true); } try { // only values may be quoted new DocFlavor("text/plain; \"charset\"=us-ascii", "java.io.InputStream"); h.check(false); } catch (IllegalArgumentException e) { h.check(true); } try { // ' is an allowed character new DocFlavor(" text/plain; charset=us-asc'ii", "java.io.InputStream"); h.check(true); } catch (IllegalArgumentException e) { h.check(false); } try { // wrongly character in unqouted value new DocFlavor("text/plain; charset=?us-ascii", "java.io.InputStream"); h.check(false); } catch (IllegalArgumentException e) { h.check(true); } try { // character in qouted value DocFlavor syntax = new DocFlavor("text/plain; param=\"?value.\"", "java.io.InputStream"); h.check(syntax.getParameter("param").equals("?value.")); } catch (IllegalArgumentException e) { h.check(false); } try { // character in qouted value new DocFlavor("text/plain; param=\"?vöal ue.\"", "java.io.InputStream"); h.check(true); } catch (IllegalArgumentException e) { h.check(false); } try { // special characters in mime type DocFlavor syntax = new DocFlavor("application/vnd.cups-command", "java.io.InputStream"); h.check(syntax.getMediaSubtype().equals("vnd.cups-command")); } catch (IllegalArgumentException e) { h.check(false); } } } mauve-20140821/gnu/testlet/javax/print/DocFlavor/hostEncoding.java0000644000175000001440000000303610377350670023647 0ustar dokousers//Tags: JDK1.5 //Copyright (C) 2006 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 51 Franklin Street, Fifth Floor, //Boston, MA, 02110-1301 USA. package gnu.testlet.javax.print.DocFlavor; import java.nio.charset.Charset; import javax.print.DocFlavor; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests that the _HOST doc flavor types are initialized * with the host encoding. */ public class hostEncoding implements Testlet { public void test(TestHarness h) { h.check(DocFlavor.hostEncoding.equals(Charset.defaultCharset().name())); String value = null; value = DocFlavor.URL.TEXT_HTML_HOST.getParameter("charset"); h.check(value.equals(DocFlavor.hostEncoding.toLowerCase())); value = DocFlavor.URL.TEXT_PLAIN_HOST.getParameter("charset"); h.check(value.equals(DocFlavor.hostEncoding.toLowerCase())); } } mauve-20140821/gnu/testlet/javax/print/attribute/0000755000175000001440000000000012375316426020503 5ustar dokousersmauve-20140821/gnu/testlet/javax/print/attribute/Size2DSyntax/0000755000175000001440000000000012375316426023012 5ustar dokousersmauve-20140821/gnu/testlet/javax/print/attribute/Size2DSyntax/simple.java0000644000175000001440000000540210337644456025152 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2005 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 51 Franklin Street, Fifth Floor, //Boston, MA, 02110-1301 USA. package gnu.testlet.javax.print.attribute.Size2DSyntax; import javax.print.attribute.Size2DSyntax; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests all the correct unit conversions through * the toString methods. */ public class simple implements Testlet { // Test class making abstract class to test usable. public class TestSize2DSyntax extends Size2DSyntax { public TestSize2DSyntax(float x, float y, int units) { super(x, y, units); } public TestSize2DSyntax(int x, int y, int units) { super(x, y, units); } } public void test(TestHarness harness) { TestSize2DSyntax floatInch = new TestSize2DSyntax(55.6f, 232.1f, Size2DSyntax.INCH); TestSize2DSyntax intInch = new TestSize2DSyntax(8, 12, Size2DSyntax.INCH); TestSize2DSyntax floatMM = new TestSize2DSyntax(55.6f, 232.1f, Size2DSyntax.MM); TestSize2DSyntax intMM = new TestSize2DSyntax(210, 297, Size2DSyntax.MM); harness.checkPoint("units conversions/toString"); harness.check(floatInch.toString(), "1412240x5895340 um"); harness.check(intInch.toString(), "203200x304800 um"); harness.check(floatMM.toString(), "55600x232100 um"); harness.check(intMM.toString(), "210000x297000 um"); harness.check(floatInch.toString(Size2DSyntax.INCH, null), "55.6x232.1"); harness.check(intInch.toString(Size2DSyntax.INCH, null), "8.0x12.0"); harness.check(floatMM.toString(Size2DSyntax.INCH, null), "2.1889763x9.137795"); harness.check(intMM.toString(Size2DSyntax.INCH, null), "8.267716x11.692913"); harness.check(floatInch.toString(Size2DSyntax.MM, "mm"), "1412.24x5895.34 mm"); harness.check(intInch.toString(Size2DSyntax.MM, "mm"), "203.2x304.8 mm"); harness.check(floatMM.toString(Size2DSyntax.MM, "mm"), "55.6x232.1 mm"); harness.check(intMM.toString(Size2DSyntax.MM, "mm"), "210.0x297.0 mm"); } } mauve-20140821/gnu/testlet/javax/print/attribute/ResolutionSyntax/0000755000175000001440000000000012375316426024055 5ustar dokousersmauve-20140821/gnu/testlet/javax/print/attribute/ResolutionSyntax/simple.java0000644000175000001440000000557410337643652026224 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2005 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 51 Franklin Street, Fifth Floor, //Boston, MA 02110-1301 USA. package gnu.testlet.javax.print.attribute.ResolutionSyntax; import javax.print.attribute.ResolutionSyntax; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests the correct conversions of the resolutions * between different units, lessThanOrEqual and * equals methods. */ public class simple implements Testlet { // Helper class to make abstract class usable. public class TestResolutionSyntax extends ResolutionSyntax { public TestResolutionSyntax(int crossFeedResolution, int feedResolution, int units) { super(crossFeedResolution, feedResolution, units); } } public void test(TestHarness harness) { TestResolutionSyntax test = new TestResolutionSyntax(400, 600, ResolutionSyntax.DPI); harness.checkPoint("toString"); harness.check(test.toString(), "40000x60000 dphi"); harness.check(test.toString(ResolutionSyntax.DPI, "dpi"), "400x600 dpi"); harness.check(test.toString(ResolutionSyntax.DPCM, "dpcm"), "157x236 dpcm"); harness.check(test.toString(ResolutionSyntax.DPCM, null), "157x236"); harness.checkPoint("getFeedResolution"); harness.check(test.getFeedResolution(ResolutionSyntax.DPCM), 236); harness.check(test.getFeedResolution(ResolutionSyntax.DPI), 600); TestResolutionSyntax test2 = new TestResolutionSyntax(400, 600, ResolutionSyntax.DPI); TestResolutionSyntax test3 = new TestResolutionSyntax(401, 610, ResolutionSyntax.DPI); TestResolutionSyntax test4 = new TestResolutionSyntax(389, 589, ResolutionSyntax.DPI); harness.checkPoint("lessThanOrEqual"); harness.check(test.lessThanOrEquals(test2), true); harness.check(test.lessThanOrEquals(test3), true); harness.check(test.lessThanOrEquals(test4), false); TestResolutionSyntax test5 = new TestResolutionSyntax(40000, 60000, 1); harness.checkPoint("equals"); harness.check(test.equals(test2), true); harness.check(test.equals(test5), true); harness.check(test3.equals(test5), false); } } mauve-20140821/gnu/testlet/javax/print/attribute/HashAttributeSet/0000755000175000001440000000000012375316426023726 5ustar dokousersmauve-20140821/gnu/testlet/javax/print/attribute/HashAttributeSet/nullTests.java0000644000175000001440000000545510335710326026566 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2005 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.print.attribute.HashAttributeSet; import javax.print.attribute.Attribute; import javax.print.attribute.AttributeSet; import javax.print.attribute.HashAttributeSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests behaviour for various methods if parameters are null. */ public class nullTests implements Testlet { public void test(TestHarness harness) { harness.checkPoint("constructor tests"); try { new HashAttributeSet((Attribute) null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } try { new HashAttributeSet((AttributeSet) null); harness.check(true); } catch (NullPointerException e) { harness.check(false); } try { new HashAttributeSet((Attribute[]) null); harness.check(true); } catch (NullPointerException e) { harness.check(false); } try { new HashAttributeSet(new Attribute[] { null }); harness.check(false); } catch (NullPointerException e) { harness.check(true); } harness.checkPoint("method tests"); HashAttributeSet testSet = new HashAttributeSet(); try { testSet.get(null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } try { testSet.add(null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } try { testSet.addAll(null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } harness.check(testSet.remove((Attribute) null), false); harness.check(testSet.remove((Class) null), false); harness.check(testSet.containsKey(null), false); harness.check(testSet.containsValue(null), false); } } mauve-20140821/gnu/testlet/javax/print/attribute/HashAttributeSet/SimpleAttribute.java0000644000175000001440000000301310335710326027672 0ustar dokousers//Tags: not-a-test //Copyright (C) 2005 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.print.attribute.HashAttributeSet; import javax.print.attribute.Attribute; /** * A simple attribute implementation. */ public class SimpleAttribute implements Attribute { private int value; public SimpleAttribute(int value) { this.value = value; } public Class getCategory() { return this.getClass(); } public String getName() { return "SimpleAttribute"; } public boolean equals(Object obj) { if (obj instanceof SimpleAttribute) { SimpleAttribute att = (SimpleAttribute) obj; if (att.value == this.value) return true; } return false; } public int hashCode() { return this.value; } } mauve-20140821/gnu/testlet/javax/print/attribute/HashAttributeSet/AnotherSimpleAttribute.java0000644000175000001440000000307310335710326031221 0ustar dokousers//Tags: not-a-test //Copyright (C) 2005 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.print.attribute.HashAttributeSet; import javax.print.attribute.Attribute; /** * Another simple attribute implementation. */ public class AnotherSimpleAttribute implements Attribute { private int value; public AnotherSimpleAttribute(int value) { this.value = value; } public Class getCategory() { return this.getClass(); } public String getName() { return "AnotherSimpleAttribute"; } public boolean equals(Object obj) { if (obj instanceof AnotherSimpleAttribute) { AnotherSimpleAttribute att = (AnotherSimpleAttribute) obj; if (att.value == this.value) return true; } return false; } public int hashCode() { return this.value; } } mauve-20140821/gnu/testlet/javax/print/attribute/HashAttributeSet/emptySet.java0000644000175000001440000000322210335710326026371 0ustar dokousers//Tags: JDK1.4 //Uses: SimpleAttribute //Copyright (C) 2005 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.print.attribute.HashAttributeSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.print.attribute.HashAttributeSet; /** * Test methods behaviour for an empty set. */ public class emptySet implements Testlet { public void test(TestHarness harness) { HashAttributeSet testSet = new HashAttributeSet(); HashAttributeSet testSet2 = new HashAttributeSet(); harness.check(testSet.equals(testSet2), true, "equals"); harness.check(testSet.hashCode(), 0, "hashcode"); harness.check(testSet.toArray().length, 0, "toArray"); harness.check(testSet.isEmpty(), true, "isEmpty 1"); testSet.add(new SimpleAttribute(1)); testSet.remove(new SimpleAttribute(1).getCategory()); harness.check(testSet.isEmpty(), true, "isEmpty 2"); } } mauve-20140821/gnu/testlet/javax/print/attribute/HashAttributeSet/populatedSet.java0000644000175000001440000000616010335710326027234 0ustar dokousers//Tags: JDK1.4 //Uses: SimpleAttribute AnotherSimpleAttribute //Copyright (C) 2005 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.print.attribute.HashAttributeSet; import javax.print.attribute.HashAttributeSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests various methods for populated sets. */ public class populatedSet implements Testlet { public void test(TestHarness harness) { SimpleAttribute att1 = new SimpleAttribute(1); HashAttributeSet testSet = new HashAttributeSet( att1 ); // test basic functionality harness.check(testSet.containsValue(att1), true, "containsValue"); harness.check(testSet.containsKey(att1.getCategory()), true, "containsKey"); harness.check(testSet.remove(att1), true, "remove"); harness.check(testSet.isEmpty(), true, "isEmpty"); harness.check(testSet.add(att1), true, "add"); harness.check(testSet.add(att1), false, "re-add"); // test category replacement SimpleAttribute att2 = new SimpleAttribute(3); SimpleAttribute[] array = new SimpleAttribute[] { new SimpleAttribute(2), att2 }; testSet = new HashAttributeSet( array ); harness.check(testSet.size(), 1, "size"); harness.check(testSet.hashCode(), 3, "hashcode"); harness.check(testSet.containsValue(att2), true, "containsValue"); AnotherSimpleAttribute att3 = new AnotherSimpleAttribute(4); harness.check(testSet.add(att3), true, "add"); harness.check(testSet.size(), 2, "size"); harness.check(testSet.hashCode(), 7, "hashcode"); // build equal set for euqals test HashAttributeSet testSet2 = new HashAttributeSet(); testSet2.add(att2); testSet2.add(att3); harness.check(testSet.equals(testSet2), true, "equals"); harness.check(testSet2.addAll(testSet), false, "addAll"); testSet2.clear(); harness.check(testSet2.isEmpty(), true, "isEmpty"); // test hashcode testSet = new HashAttributeSet(); testSet.add( new SimpleAttribute(1)); testSet.add( new AnotherSimpleAttribute(2)); testSet2 = new HashAttributeSet(); testSet2.add( new SimpleAttribute(2)); testSet2.add( new AnotherSimpleAttribute(1)); harness.check(testSet.hashCode() == testSet2.hashCode(), "equal hashcode"); harness.check(testSet.equals(testSet2), false, "no equality"); } } mauve-20140821/gnu/testlet/javax/print/attribute/SetOfIntegerSyntax/0000755000175000001440000000000012375316426024250 5ustar dokousersmauve-20140821/gnu/testlet/javax/print/attribute/SetOfIntegerSyntax/Simple.java0000644000175000001440000001175310337576675026365 0ustar dokousers/* Simple.java -- Simple SetOfIntegerSyntax tests Copyright (C) 2005 Red Hat, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.print.attribute.SetOfIntegerSyntax; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.print.attribute.SetOfIntegerSyntax; public class Simple extends SetOfIntegerSyntax implements Testlet { // Constructor for the test harness. public Simple() { super(3); } public Simple(int lowerBound, int upperBound) { super(lowerBound, upperBound); } public Simple(int member) { super(member); } public Simple(int[][] members) { super(members); } public Simple(String s) { super(s); } public void test(TestHarness harness) { SetOfIntegerSyntax single = new Simple(5); SetOfIntegerSyntax range = new Simple(new int[][] { { 1, 5 } }); SetOfIntegerSyntax rangeTwo = new Simple( new int[][] { { 1, 5 }, { 10, 12 } }); harness.checkPoint("single-value equals"); harness.check(new Simple(5), single); harness.check(new Simple(new int[][] { { 5 } }), single); harness.check(new Simple(new int[][] { { 1, 0 }, { 5, 5 } }), single); harness.check(new Simple("5"), single); harness.check(new Simple("1-0,5"), single); harness.check(new Simple("5,1:0,5"), single); harness.checkPoint("single-range equals"); harness.check(new Simple(new int[][] { { 1, 5 } }), range); harness.check(new Simple("1-5"), range); harness.check(new Simple("1:5,5-1"), range); harness.check(new Simple("1-3,1-5"), range); harness.check(new Simple("1-5,1-3"), range); harness.check(new Simple("1-3,2-5"), range); harness.check(new Simple("1-3,4-5"), range); harness.check(new Simple("4-5,1-3"), range); harness.check(new Simple(1, 5), range); harness.checkPoint("two-range equals"); harness.check(new Simple(new int[][] { { 10, 12 }, { 1, 5 } }), rangeTwo); harness.check(new Simple("1-3,2-5,10,11:12"), rangeTwo); harness.checkPoint("next"); harness.check(single.next(0), 5); harness.check(single.next(5), -1); harness.check(single.next(38), -1); harness.check(range.next(0), 1); harness.check(range.next(1), 2); harness.check(range.next(4), 5); harness.check(range.next(5), -1); harness.check(rangeTwo.next(5), 10); harness.checkPoint("hashCode"); harness.check(single.hashCode(), 10); harness.check(range.hashCode(), 6); harness.checkPoint("toString"); harness.check(single.toString(), "5"); harness.check(range.toString(), "1-5"); harness.check(rangeTwo.toString(), "1-5,10-12"); harness.checkPoint("contains"); harness.check(single.contains(5)); harness.check(range.contains(2)); harness.check(rangeTwo.contains(12)); harness.check(single.contains(6), false); harness.check(range.contains(6), false); harness.check(rangeTwo.contains(8), false); harness.checkPoint("constructors"); try { new Simple((String) null); harness.check(true); } catch (NullPointerException e) { harness.check(false); } try { new Simple((int[][]) null); harness.check(true); } catch (NullPointerException e) { harness.check(false); } try { new Simple(new int[][] { { 1, 5 }, null }); harness.check(false); } catch (NullPointerException e) { harness.check(true); } try { new Simple(new int[][] { null }); harness.check(false); } catch (NullPointerException e) { harness.check(true); } try { new Simple(new int[][] { { 1, 2, 3 } }); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } try { new Simple(new int[][] { { -1, 2 } }); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } try { new Simple(14, 12); harness.check(true); } catch (NullPointerException e) { harness.check(false); } harness.checkPoint("normalization"); harness.check(new Simple("17- 99,1:3,12").toString(), "1-3,12,17-99"); harness.check(new Simple("17- 99,19-20,14-18").toString(), "14-99"); } } mauve-20140821/gnu/testlet/javax/print/attribute/standard/0000755000175000001440000000000012375316426022303 5ustar dokousersmauve-20140821/gnu/testlet/javax/print/attribute/standard/MediaSize/0000755000175000001440000000000012375316426024155 5ustar dokousersmauve-20140821/gnu/testlet/javax/print/attribute/standard/MediaSize/userClass.java0000644000175000001440000000402210362025524026750 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2006 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 51 Franklin Street, Fifth Floor, //Boston, MA, 02110-1301 USA. package gnu.testlet.javax.print.attribute.standard.MediaSize; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.print.attribute.Size2DSyntax; import javax.print.attribute.standard.MediaSize; import javax.print.attribute.standard.MediaSizeName; /** * Test that user constructed MediaSize subclass objects * are added to the media cache used by static findMedia * and getMediaSizeForName methods. */ public class userClass implements Testlet { /** MediaSize subclass for test */ public class MyMediaSize extends MediaSize { public MyMediaSize(float x, float y, int units) { super(x, y, units); } } public void test(TestHarness harness) { // One with name is found as "best" match MediaSizeName name = MediaSize.findMedia(111f, 222f, Size2DSyntax.INCH); harness.check(name == MediaSizeName.JIS_B0); // Register a user MediaSize object MyMediaSize myMediaSize = new MyMediaSize(111f, 222f, Size2DSyntax.INCH); // Now if it is added to the cache it must be found by // findMedia as it is the exact match MediaSizeName name2 = MediaSize.findMedia(111f, 222f, Size2DSyntax.INCH); harness.check(name2 == null); } } mauve-20140821/gnu/testlet/javax/print/attribute/AttributeSetUtilities/0000755000175000001440000000000012375316426025016 5ustar dokousersmauve-20140821/gnu/testlet/javax/print/attribute/AttributeSetUtilities/simple.java0000644000175000001440000001004110336204544027136 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2005 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.print.attribute.AttributeSetUtilities; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.print.attribute.Attribute; import javax.print.attribute.AttributeSet; import javax.print.attribute.AttributeSetUtilities; /** * Simple test if correctly NPEs, ClassCastExceptions * and IllegalArgumentExceptions are thrown. */ public class simple implements Testlet { /** * A simple attribute implementation. */ class SimpleAttribute implements Attribute { private int value; public SimpleAttribute(int value) { this.value = value; } public Class getCategory() { return this.getClass(); } public String getName() { return "SimpleAttribute"; } public boolean equals(Object obj) { if (obj instanceof SimpleAttribute) { SimpleAttribute att = (SimpleAttribute) obj; if (att.value == this.value) return true; } return false; } public int hashCode() { return this.value; } } public void test(TestHarness harness) { // must throw NPE harness.checkPoint("NPE tests"); try { AttributeSetUtilities.synchronizedView((AttributeSet) null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } // must throw NPE try { AttributeSetUtilities.unmodifiableView((AttributeSet) null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } harness.checkPoint("casting tests"); try { AttributeSetUtilities.verifyAttributeCategory(SimpleAttribute.class, Attribute.class); harness.check(true); } catch (Exception e) { harness.check(false); } try { AttributeSetUtilities.verifyAttributeCategory(String.class, Attribute.class); harness.check(false); } catch (ClassCastException e) { harness.check(true); } try { AttributeSetUtilities.verifyAttributeValue(new SimpleAttribute(1), Attribute.class); harness.check(true); } catch (Exception e) { harness.check(false); } try { AttributeSetUtilities.verifyAttributeValue(new String(), Attribute.class); harness.check(false); } catch (ClassCastException e) { harness.check(true); } try { AttributeSetUtilities.verifyCategoryForValue(SimpleAttribute.class, new SimpleAttribute(1)); harness.check(true); } catch (Exception e) { harness.check(false); } try { AttributeSetUtilities.verifyCategoryForValue(String.class, new SimpleAttribute(1)); harness.check(false); } catch (IllegalArgumentException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/javax/print/attribute/EnumSyntax/0000755000175000001440000000000012375316426022616 5ustar dokousersmauve-20140821/gnu/testlet/javax/print/attribute/EnumSyntax/equals.java0000644000175000001440000000363310335462720024751 0ustar dokousers//Tags: JDK1.4 //Uses: WrongEnumSyntax CorrectEnumSyntax //Copyright (C) 2005 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.print.attribute.EnumSyntax; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests that two instances behave correctly for equal, hashcode, * identity test and toString methods. */ public class equals implements Testlet { public void test(TestHarness harness) { // Also its not a correctly subclass of EnumSyntax // it is used here to test some fallback mechanisms. WrongEnumSyntax test = WrongEnumSyntax.TEST; WrongEnumSyntax test2 = WrongEnumSyntax.TEST; harness.check(test.hashCode() == 100, "hashcode()"); harness.check(test.equals(test2), "equals()"); harness.check(test == test2, "identity"); harness.check(test.toString(), "100", "toString"); CorrectEnumSyntax test3 = CorrectEnumSyntax.TEST3; CorrectEnumSyntax test4 = CorrectEnumSyntax.TEST3; harness.check(test3.hashCode() == 5, "hashcode()"); harness.check(test3.equals(test4), "equals()"); harness.check(test3 == test4, "identity"); harness.check(test3.toString(), "test3", "toString"); } } mauve-20140821/gnu/testlet/javax/print/attribute/EnumSyntax/CorrectEnumSyntax.java0000644000175000001440000000340710335462720027113 0ustar dokousers//Tags: not-a-test //Copyright (C) 2005 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.print.attribute.EnumSyntax; import javax.print.attribute.EnumSyntax; /** * Helper class testing EnumSyntax implementation which * is correctly subclassed according to specification. */ public class CorrectEnumSyntax extends EnumSyntax { public static final CorrectEnumSyntax TEST1 = new CorrectEnumSyntax(3); public static final CorrectEnumSyntax TEST2 = new CorrectEnumSyntax(4); public static final CorrectEnumSyntax TEST3 = new CorrectEnumSyntax(5); protected CorrectEnumSyntax(int value) { super(value); } protected int getOffset() { return 3; } private static final String[] stringTable = { "test1", "test2", "test3"}; protected String[] getStringTable() { return stringTable; } private static final CorrectEnumSyntax[] enumValueTable = { TEST1, TEST2, TEST3}; protected EnumSyntax[] getEnumValueTable() { return enumValueTable; } }mauve-20140821/gnu/testlet/javax/print/attribute/EnumSyntax/WrongEnumSyntax.java0000644000175000001440000000223210335462720026601 0ustar dokousers//Tags: not-a-test //Copyright (C) 2005 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.print.attribute.EnumSyntax; import javax.print.attribute.EnumSyntax; /** * Helper class testing EnumSyntax implementation. */ public class WrongEnumSyntax extends EnumSyntax { public static final WrongEnumSyntax TEST = new WrongEnumSyntax(100); protected WrongEnumSyntax(int value) { super(value); } }mauve-20140821/gnu/testlet/javax/print/attribute/EnumSyntax/serialize.java0000644000175000001440000000617010335462720025445 0ustar dokousers//Tags: JDK1.4 //Uses: WrongEnumSyntax CorrectEnumSyntax //Copyright (C) 2005 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.print.attribute.EnumSyntax; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectInput; import java.io.ObjectInputStream; import java.io.ObjectOutput; import java.io.ObjectOutputStream; /** * Tests serialization with EnumSyntax subclasses correctly * subclassed and one which is used to show correct exeption * handling of failures in readResolve user code. */ public class serialize implements Testlet { public void test(TestHarness harness) { testSerializeErrors(harness); testSerializeNoErrors(harness); } /** Tests for exceptions in readResolve are thrown */ private void testSerializeErrors(TestHarness harness) { WrongEnumSyntax test = WrongEnumSyntax.TEST; try { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); ObjectOutput out = new ObjectOutputStream(buffer); out.writeObject(test); out.close(); ObjectInput in = new ObjectInputStream(new ByteArrayInputStream( buffer.toByteArray())); in.readObject(); in.close(); harness.check(false, "serialize error"); } catch (Exception e) { harness.check(true, "serialize error"); } } /** Tests correct serialization */ private void testSerializeNoErrors(TestHarness harness) { CorrectEnumSyntax inObj = CorrectEnumSyntax.TEST2; CorrectEnumSyntax outObj = null; try { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); ObjectOutput out = new ObjectOutputStream(buffer); out.writeObject(inObj); out.close(); ObjectInput in = new ObjectInputStream(new ByteArrayInputStream( buffer.toByteArray())); outObj = (CorrectEnumSyntax) in.readObject(); in.close(); harness.check(true, "serialize no error"); // test for identical object harness.check(inObj == outObj, "identity test"); harness.check(inObj.equals(outObj), "equality test"); harness.check(inObj.hashCode() == outObj.hashCode(), "hashcode test"); } catch (Exception e) { harness.check(false, "serialize no error"); } } } mauve-20140821/gnu/testlet/javax/print/attribute/TextSyntax/0000755000175000001440000000000012375316426022636 5ustar dokousersmauve-20140821/gnu/testlet/javax/print/attribute/TextSyntax/constructors.java0000644000175000001440000000343610337616567026264 0ustar dokousers//Tags: JDK1.4 //Copyright (C) 2005 Free Software Foundation, Inc. //Written by Wolfgang Baer (WBaer@gmx.de) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 51 Franklin Street, Fifth Floor, //Boston, MA, 02110-1301 USA. package gnu.testlet.javax.print.attribute.TextSyntax; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Locale; import javax.print.attribute.TextSyntax; /** * Tests the constructors of TextSyntax. */ public class constructors implements Testlet { // Helper class to make abstract class usable. public class TestTextSyntax extends TextSyntax { public TestTextSyntax(String v, Locale l) { super(v,l); } } public void test(TestHarness harness) { harness.checkPoint("constructors"); // null text value should trigger NPE try { new TestTextSyntax(null, Locale.GERMANY); harness.check(false); } catch (NullPointerException e) { harness.check(true); } // null locale should use the default locale TestTextSyntax defaultLocale = new TestTextSyntax("Text", null); harness.check(defaultLocale.getLocale().equals(Locale.getDefault())); } } mauve-20140821/gnu/testlet/javax/crypto/0000755000175000001440000000000012375316426016664 5ustar dokousersmauve-20140821/gnu/testlet/javax/crypto/assembly/0000755000175000001440000000000012375316426020503 5ustar dokousersmauve-20140821/gnu/testlet/javax/crypto/jce/0000755000175000001440000000000012375316426017425 5ustar dokousersmauve-20140821/gnu/testlet/javax/crypto/mode/0000755000175000001440000000000012375316426017610 5ustar dokousersmauve-20140821/gnu/testlet/javax/crypto/pad/0000755000175000001440000000000012375316426017430 5ustar dokousersmauve-20140821/gnu/testlet/javax/crypto/mac/0000755000175000001440000000000012375316426017424 5ustar dokousersmauve-20140821/gnu/testlet/javax/crypto/sasl/0000755000175000001440000000000012375316426017626 5ustar dokousersmauve-20140821/gnu/testlet/javax/crypto/sasl/srp/0000755000175000001440000000000012375316426020432 5ustar dokousersmauve-20140821/gnu/testlet/javax/crypto/prng/0000755000175000001440000000000012375316426017632 5ustar dokousersmauve-20140821/gnu/testlet/javax/crypto/Cipher/0000755000175000001440000000000012375316426020076 5ustar dokousersmauve-20140821/gnu/testlet/javax/crypto/Cipher/RC4CipherTest.java0000644000175000001440000004126512355202236023323 0ustar dokousers// Test the basic usage of RC4 crypto algorithm. // Copyright (C) 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.javax.crypto.Cipher; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.security.spec.InvalidKeySpecException; import javax.crypto.BadPaddingException; import javax.crypto.Cipher; import javax.crypto.IllegalBlockSizeException; import javax.crypto.NoSuchPaddingException; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; /** * Test the basic usage of RC4 crypto algorithm. * * @author Pavel Tisnovsky (ptisnovs@redhat.com) */ public class RC4CipherTest { /** * Text which should be crypted into byte stream stored in EXPECTED_CIPHER_TEXT_1. */ static final private String ORIGINAL_TEXT_1 = ""; /** * Text which should be crypted into byte stream stored in EXPECTED_CIPHER_TEXT_2. */ static final private String ORIGINAL_TEXT_2 = "\0"; /** * Text which should be crypted into byte stream stored in EXPECTED_CIPHER_TEXT_3. */ static final private String ORIGINAL_TEXT_3 = " "; /** * Text which should be crypted into byte stream stored in EXPECTED_CIPHER_TEXT_4. */ static final private String ORIGINAL_TEXT_4 = "a"; /** * Text which should be crypted into byte stream stored in EXPECTED_CIPHER_TEXT_5. */ static final private String ORIGINAL_TEXT_5 = "Hello World!"; /** * Text which should be crypted into byte stream stored in EXPECTED_CIPHER_TEXT_6. */ static final private String ORIGINAL_TEXT_6 = "The quick brown fox jumps over the lazy dog"; /** * Text which should be crypted into byte stream stored in EXPECTED_CIPHER_TEXT_7. */ static final private String ORIGINAL_TEXT_7 = "Lorem ipsum dolor sit amet, consectetur " + "adipisicing elit, sed do eiusmod tempor " + "incididunt ut labore et dolore magna aliqua. " + "Ut enim ad minim veniam, quis nostrud " + "exercitation ullamco laboris nisi ut aliquip " + "ex ea commodo consequat. Duis aute irure " + "dolor in reprehenderit in voluptate velit " + "esse cillum dolore eu fugiat nulla pariatur. " + "Excepteur sint occaecat cupidatat non proident, " + "sunt in culpa qui officia deserunt mollit anim " + "id est laborum."; /** * Byte stream for the original text ORIGINAL_TEXT_1. */ static final private byte[] EXPECTED_CIPHER_TEXT_1 = new byte[] { // empty! }; /** * Byte stream for the original text ORIGINAL_TEXT_2. */ static final private byte[] EXPECTED_CIPHER_TEXT_2 = new byte[] { (byte)0x95, }; /** * Byte stream for the original text ORIGINAL_TEXT_3. */ static final private byte[] EXPECTED_CIPHER_TEXT_3 = new byte[] { (byte)0xb5, }; /** * Byte stream for the original text ORIGINAL_TEXT_4. */ static final private byte[] EXPECTED_CIPHER_TEXT_4 = new byte[] { (byte)0xf4, }; /** * Byte stream for the original text ORIGINAL_TEXT_5. */ static final private byte[] EXPECTED_CIPHER_TEXT_5 = new byte[] { (byte)0xdd, (byte)0x7e, (byte)0x34, (byte)0x72, (byte)0x6f, (byte)0x5e, (byte)0x22, (byte)0x1d, (byte)0x60, (byte)0x3e, (byte)0x52, (byte)0x1b, }; /** * Byte stream for the original text ORIGINAL_TEXT_6. */ static final private byte[] EXPECTED_CIPHER_TEXT_6 = new byte[] { (byte)0xc1, (byte)0x73, (byte)0x3d, (byte)0x3e, (byte)0x71, (byte)0x0b, (byte)0x1c, (byte)0x11, (byte)0x79, (byte)0x72, (byte)0x54, (byte)0x48, (byte)0x88, (byte)0x51, (byte)0xc7, (byte)0x8c, (byte)0x49, (byte)0x87, (byte)0x97, (byte)0x90, (byte)0x7e, (byte)0x2b, (byte)0xeb, (byte)0x1f, (byte)0x8e, (byte)0x7c, (byte)0x6f, (byte)0x63, (byte)0x25, (byte)0x16, (byte)0x0c, (byte)0xb8, (byte)0xc2, (byte)0x27, (byte)0x19, (byte)0xd9, (byte)0x5f, (byte)0x0f, (byte)0x91, (byte)0x62, (byte)0xa8, (byte)0x27, (byte)0x41, }; /** * Byte stream for the original text ORIGINAL_TEXT_7. */ static final private byte[] EXPECTED_CIPHER_TEXT_7 = new byte[] { (byte)0xd9, (byte)0x74, (byte)0x2a, (byte)0x7b, (byte)0x6d, (byte)0x5e, (byte)0x1c, (byte)0x02, (byte)0x61, (byte)0x27, (byte)0x5b, (byte)0x1a, (byte)0x83, (byte)0x49, (byte)0xc5, (byte)0xc3, (byte)0x5d, (byte)0xc8, (byte)0x9c, (byte)0xd9, (byte)0x60, (byte)0x7e, (byte)0xe7, (byte)0x02, (byte)0x98, (byte)0x28, (byte)0x2c, (byte)0x35, (byte)0x23, (byte)0x0b, (byte)0x42, (byte)0xbf, (byte)0xcf, (byte)0x21, (byte)0x4d, (byte)0xd0, (byte)0x4a, (byte)0x00, (byte)0x9a, (byte)0x62, (byte)0xad, (byte)0x2c, (byte)0x4f, (byte)0x0c, (byte)0xa2, (byte)0x19, (byte)0x4e, (byte)0x9c, (byte)0x1e, (byte)0x13, (byte)0x05, (byte)0x0b, (byte)0x90, (byte)0x81, (byte)0xb3, (byte)0x3d, (byte)0xda, (byte)0x54, (byte)0x2b, (byte)0xe5, (byte)0xe3, (byte)0x52, (byte)0xce, (byte)0xe3, (byte)0x6f, (byte)0x45, (byte)0x07, (byte)0xbf, (byte)0x97, (byte)0x52, (byte)0x10, (byte)0xbf, (byte)0xff, (byte)0xd9, (byte)0x6e, (byte)0x10, (byte)0x95, (byte)0xaa, (byte)0x3c, (byte)0x7e, (byte)0xb4, (byte)0x80, (byte)0x51, (byte)0x4b, (byte)0xe3, (byte)0xa4, (byte)0xea, (byte)0x2a, (byte)0xb7, (byte)0x11, (byte)0x5e, (byte)0xf6, (byte)0x98, (byte)0x03, (byte)0xe4, (byte)0xe0, (byte)0x1f, (byte)0x90, (byte)0xe4, (byte)0x28, (byte)0xc5, (byte)0x00, (byte)0xdf, (byte)0xcd, (byte)0x20, (byte)0x52, (byte)0x07, (byte)0xf3, (byte)0x0e, (byte)0x62, (byte)0x7b, (byte)0x56, (byte)0xa1, (byte)0x68, (byte)0x88, (byte)0x35, (byte)0xd3, (byte)0xc2, (byte)0x2d, (byte)0x4c, (byte)0x84, (byte)0x95, (byte)0xdd, (byte)0xfa, (byte)0xe6, (byte)0xa7, (byte)0xb0, (byte)0x70, (byte)0x91, (byte)0x41, (byte)0x4e, (byte)0x2c, (byte)0x65, (byte)0x26, (byte)0x07, (byte)0xc9, (byte)0x84, (byte)0xcc, (byte)0xbf, (byte)0xa7, (byte)0x85, (byte)0x29, (byte)0x95, (byte)0x88, (byte)0x8b, (byte)0x5f, (byte)0x7e, (byte)0x18, (byte)0xdc, (byte)0x32, (byte)0xdf, (byte)0x40, (byte)0xd4, (byte)0x41, (byte)0x38, (byte)0x34, (byte)0x94, (byte)0x1a, (byte)0x9e, (byte)0x80, (byte)0xa2, (byte)0x54, (byte)0x86, (byte)0xe8, (byte)0x93, (byte)0xf4, (byte)0xf6, (byte)0x73, (byte)0x8e, (byte)0xf1, (byte)0x11, (byte)0xe2, (byte)0x96, (byte)0x6a, (byte)0xb2, (byte)0x57, (byte)0x29, (byte)0xa5, (byte)0x58, (byte)0xf7, (byte)0x23, (byte)0x59, (byte)0x63, (byte)0x28, (byte)0x29, (byte)0x11, (byte)0xfe, (byte)0xdf, (byte)0xa5, (byte)0x15, (byte)0xd2, (byte)0xb2, (byte)0xd5, (byte)0x00, (byte)0x1b, (byte)0xe4, (byte)0xee, (byte)0x8a, (byte)0xac, (byte)0x1d, (byte)0x9b, (byte)0xa1, (byte)0xfe, (byte)0xa5, (byte)0x4d, (byte)0x62, (byte)0xdb, (byte)0xe8, (byte)0x5a, (byte)0x7a, (byte)0xe7, (byte)0x85, (byte)0x4e, (byte)0x64, (byte)0x38, (byte)0x6a, (byte)0x64, (byte)0xaa, (byte)0xd4, (byte)0x53, (byte)0x62, (byte)0x64, (byte)0x9c, (byte)0xbf, (byte)0x7f, (byte)0x46, (byte)0x5e, (byte)0x65, (byte)0x78, (byte)0x76, (byte)0x0c, (byte)0xcc, (byte)0x5d, (byte)0xfc, (byte)0x70, (byte)0x7c, (byte)0x2d, (byte)0x92, (byte)0x4d, (byte)0x51, (byte)0xf8, (byte)0xfd, (byte)0xdf, (byte)0x2e, (byte)0xbe, (byte)0x01, (byte)0x51, (byte)0x92, (byte)0xe5, (byte)0x80, (byte)0x11, (byte)0x74, (byte)0x15, (byte)0xa1, (byte)0x01, (byte)0xd1, (byte)0x2b, (byte)0x46, (byte)0x44, (byte)0x0c, (byte)0xc5, (byte)0x28, (byte)0xe7, (byte)0xf0, (byte)0xb4, (byte)0x46, (byte)0x82, (byte)0xcf, (byte)0x80, (byte)0x42, (byte)0xa1, (byte)0xeb, (byte)0xa5, (byte)0x72, (byte)0x09, (byte)0xdc, (byte)0x08, (byte)0x80, (byte)0x25, (byte)0xfa, (byte)0xe4, (byte)0x03, (byte)0x5a, (byte)0x4e, (byte)0xd3, (byte)0xe4, (byte)0x52, (byte)0xd1, (byte)0x20, (byte)0x67, (byte)0xaa, (byte)0xcd, (byte)0xe7, (byte)0xb8, (byte)0x02, (byte)0xa8, (byte)0x11, (byte)0xf7, (byte)0x13, (byte)0x42, (byte)0xf4, (byte)0xb4, (byte)0x69, (byte)0x0b, (byte)0x37, (byte)0xe5, (byte)0xf9, (byte)0xda, (byte)0x44, (byte)0xed, (byte)0x2b, (byte)0x69, (byte)0x3e, (byte)0x6a, (byte)0xe1, (byte)0xd3, (byte)0x51, (byte)0x21, (byte)0x49, (byte)0x0a, (byte)0xd3, (byte)0xef, (byte)0xf6, (byte)0xe9, (byte)0x19, (byte)0xcc, (byte)0x7b, (byte)0xc7, (byte)0x4b, (byte)0x5a, (byte)0xb6, (byte)0x99, (byte)0x3e, (byte)0x1d, (byte)0x3d, (byte)0xb8, (byte)0x60, (byte)0x24, (byte)0x2a, (byte)0x6a, (byte)0x32, (byte)0x8a, (byte)0x2b, (byte)0xcd, (byte)0x35, (byte)0xb6, (byte)0xbf, (byte)0x39, (byte)0x5d, (byte)0xe2, (byte)0xa0, (byte)0x92, (byte)0x4a, (byte)0x8e, (byte)0x92, (byte)0x69, (byte)0x5c, (byte)0xa1, (byte)0x55, (byte)0xe6, (byte)0xbf, (byte)0x0b, (byte)0x18, (byte)0x5b, (byte)0x22, (byte)0x33, (byte)0x6d, (byte)0x2d, (byte)0x6f, (byte)0xf8, (byte)0xae, (byte)0x4e, (byte)0x58, (byte)0x6d, (byte)0xe7, (byte)0x37, (byte)0x01, (byte)0x39, (byte)0xee, (byte)0x04, (byte)0x4b, (byte)0x8d, (byte)0x9c, (byte)0x77, (byte)0xb3, (byte)0x4d, (byte)0x51, (byte)0xe8, (byte)0xc9, (byte)0x26, (byte)0x14, (byte)0x10, (byte)0xf8, (byte)0x0f, (byte)0xb5, (byte)0xd2, (byte)0x04, (byte)0x30, (byte)0x04, (byte)0x25, (byte)0x9d, (byte)0xa1, (byte)0x41, (byte)0xad, (byte)0x78, (byte)0xed, (byte)0xb2, (byte)0xfa, (byte)0xba, (byte)0x63, (byte)0x0a, (byte)0x3c, (byte)0x80, (byte)0xa9, (byte)0xd1, (byte)0x5e, (byte)0x03, (byte)0x0f, (byte)0x5b, (byte)0x78, (byte)0x65, (byte)0x3d, (byte)0x0b, (byte)0xf1, (byte)0x8c, (byte)0x06, (byte)0x2d, (byte)0x22, (byte)0x52, (byte)0x70, (byte)0x3a, (byte)0xa7, (byte)0x0f, (byte)0xe1, (byte)0x7a, (byte)0x0d, (byte)0x3f, (byte)0x75, (byte)0x25, (byte)0x16, (byte)0xde, (byte)0xcb, (byte)0x08, (byte)0x9a, (byte)0x0c, (byte)0xb8, }; /** * RC4 key. */ static final private byte[] RC4_KEY = new byte[] { (byte)0x2f, (byte)0xe5, (byte)0xb7, (byte)0x40, (byte)0x0c, (byte)0xd8, (byte)0xa5, (byte)0xef, (byte)0x87, (byte)0x23, (byte)0xb6, (byte)0x30, (byte)0x50, (byte)0xc3, (byte)0x4f, (byte)0xa7 }; /** * Generate secret key for RC4 crypto algorithm. * @return secret key for RC4 crypto algorithm. * * @throws NoSuchAlgorithmException * @throws InvalidKeyException * @throws InvalidKeySpecException */ private static SecretKey generateSecretKey() throws NoSuchAlgorithmException, InvalidKeyException, InvalidKeySpecException { // create a SecretKeySpec from key material return new SecretKeySpec(RC4_KEY, "RC4"); } /** * Check if RC4 crypting and decrypting works as expected. * * @param harness the test harness (null not permitted). * @param secretKey RC4 secret key * @param rc4 instance of class which implements RC4 crypto algorithm. * @param expectedCipherText expected byte stream. * @throws InvalidKeyException * @throws IllegalBlockSizeException * @throws BadPaddingException */ private static void checkCipher(TestHarness harness, SecretKey secretKey, Cipher rc4, String originalText, byte[] expectedCipherText) { try { rc4.init(Cipher.ENCRYPT_MODE, secretKey); byte[] ciphertext; ciphertext = rc4.doFinal(originalText.getBytes()); rc4.init(Cipher.DECRYPT_MODE, secretKey); String cleartext = new String(rc4.doFinal(ciphertext)); //printCipherTest(ciphertext); // test if ENCRYPT_MODE is ok for (int i = 0; i < expectedCipherText.length; i++) { if (expectedCipherText[i] != ciphertext[i]) { harness.fail("cipher text differ at index " + i); } } // test if DECRYPT_MODE is ok if (!originalText.equals(cleartext)) { harness.fail("Decrypted text is different from the original!"); } } catch (InvalidKeyException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } catch (IllegalBlockSizeException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } catch (BadPaddingException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } } @SuppressWarnings({ "boxing", "unused" }) private static void printCipherTest(byte[] ciphertext) { for (int i=0; i < ciphertext.length; i++) { System.out.format("(byte)0x%02x, ", ciphertext[i]); if ((i+1)%8 == 0) { System.out.println(); } } } /** * Run the test harness. * * @param harness the test harness (null not permitted). * @throws NoSuchAlgorithmException * @throws InvalidKeyException * @throws InvalidKeySpecException * @throws NoSuchPaddingException * @throws IllegalBlockSizeException * @throws BadPaddingException */ private static void run(TestHarness harness) { SecretKey secretKey; try { secretKey = generateSecretKey(); Cipher RC4 = Cipher.getInstance("RC4"); // check crypto for many open texts. checkCipher(harness, secretKey, RC4, ORIGINAL_TEXT_1, EXPECTED_CIPHER_TEXT_1); checkCipher(harness, secretKey, RC4, ORIGINAL_TEXT_2, EXPECTED_CIPHER_TEXT_2); checkCipher(harness, secretKey, RC4, ORIGINAL_TEXT_3, EXPECTED_CIPHER_TEXT_3); checkCipher(harness, secretKey, RC4, ORIGINAL_TEXT_4, EXPECTED_CIPHER_TEXT_4); checkCipher(harness, secretKey, RC4, ORIGINAL_TEXT_5, EXPECTED_CIPHER_TEXT_5); checkCipher(harness, secretKey, RC4, ORIGINAL_TEXT_6, EXPECTED_CIPHER_TEXT_6); checkCipher(harness, secretKey, RC4, ORIGINAL_TEXT_7, EXPECTED_CIPHER_TEXT_7); } catch (InvalidKeyException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } catch (NoSuchAlgorithmException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } catch (InvalidKeySpecException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } catch (NoSuchPaddingException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } } /** * Test if RC4 crypto algorithm is available on given JVM. */ public boolean isRC4CipherAvailable() { try { Cipher.getInstance("RC4"); } catch (NoSuchAlgorithmException e) { return false; } catch (NoSuchPaddingException e) { return false; } return true; } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { if (!isRC4CipherAvailable()) { return; } run(harness); } /** * Runs the test from CLI. * * @param args * @throws Exception */ public static void main(String[] args) throws Exception { run(null); } } mauve-20140821/gnu/testlet/javax/crypto/Cipher/AESCipherTest.java0000644000175000001440000004256212354474322023352 0ustar dokousers// Test the basic usage of AES crypto algorithm. // Copyright (C) 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.javax.crypto.Cipher; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.security.spec.InvalidKeySpecException; import javax.crypto.BadPaddingException; import javax.crypto.Cipher; import javax.crypto.IllegalBlockSizeException; import javax.crypto.NoSuchPaddingException; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; /** * Test the basic usage of AES crypto algorithm. * * @author Pavel Tisnovsky (ptisnovs@redhat.com) */ public class AESCipherTest implements Testlet { /** * Text which should be crypted into byte stream stored in EXPECTED_CIPHER_TEXT_1. */ static final private String ORIGINAL_TEXT_1 = ""; /** * Text which should be crypted into byte stream stored in EXPECTED_CIPHER_TEXT_2. */ static final private String ORIGINAL_TEXT_2 = "\0"; /** * Text which should be crypted into byte stream stored in EXPECTED_CIPHER_TEXT_3. */ static final private String ORIGINAL_TEXT_3 = " "; /** * Text which should be crypted into byte stream stored in EXPECTED_CIPHER_TEXT_4. */ static final private String ORIGINAL_TEXT_4 = "a"; /** * Text which should be crypted into byte stream stored in EXPECTED_CIPHER_TEXT_5. */ static final private String ORIGINAL_TEXT_5 = "Hello World!"; /** * Text which should be crypted into byte stream stored in EXPECTED_CIPHER_TEXT_6. */ static final private String ORIGINAL_TEXT_6 = "The quick brown fox jumps over the lazy dog"; /** * Text which should be crypted into byte stream stored in EXPECTED_CIPHER_TEXT_7. */ static final private String ORIGINAL_TEXT_7 = "Lorem ipsum dolor sit amet, consectetur " + "adipisicing elit, sed do eiusmod tempor " + "incididunt ut labore et dolore magna aliqua. " + "Ut enim ad minim veniam, quis nostrud " + "exercitation ullamco laboris nisi ut aliquip " + "ex ea commodo consequat. Duis aute irure " + "dolor in reprehenderit in voluptate velit " + "esse cillum dolore eu fugiat nulla pariatur. " + "Excepteur sint occaecat cupidatat non proident, " + "sunt in culpa qui officia deserunt mollit anim " + "id est laborum."; /** * Byte stream for the original text ORIGINAL_TEXT_1. */ static final private byte[] EXPECTED_CIPHER_TEXT_1 = new byte[] { (byte)0xd8, (byte)0xa2, (byte)0xd7, (byte)0xb6, (byte)0x70, (byte)0x0f, (byte)0x61, (byte)0x8c, (byte)0x87, (byte)0xf6, (byte)0xd2, (byte)0xf8, (byte)0x4d, (byte)0xee, (byte)0xc0, (byte)0x8d, }; /** * Byte stream for the original text ORIGINAL_TEXT_2. */ static final private byte[] EXPECTED_CIPHER_TEXT_2 = new byte[] { (byte)0xba, (byte)0x79, (byte)0x2c, (byte)0x75, (byte)0x27, (byte)0x38, (byte)0x81, (byte)0x31, (byte)0x84, (byte)0x1d, (byte)0x69, (byte)0x77, (byte)0xd8, (byte)0x8d, (byte)0x14, (byte)0xbd, }; /** * Byte stream for the original text ORIGINAL_TEXT_3. */ static final private byte[] EXPECTED_CIPHER_TEXT_3 = new byte[] { (byte)0xd4, (byte)0xab, (byte)0x29, (byte)0x31, (byte)0xa2, (byte)0x89, (byte)0x97, (byte)0x43, (byte)0x51, (byte)0x72, (byte)0x46, (byte)0xa6, (byte)0x73, (byte)0x06, (byte)0xa2, (byte)0x6e, }; /** * Byte stream for the original text ORIGINAL_TEXT_4. */ static final private byte[] EXPECTED_CIPHER_TEXT_4 = new byte[] { (byte)0x3e, (byte)0xe6, (byte)0x4e, (byte)0x85, (byte)0xf4, (byte)0xea, (byte)0x4e, (byte)0x60, (byte)0xda, (byte)0x90, (byte)0x3c, (byte)0xe3, (byte)0x95, (byte)0xa2, (byte)0xe9, (byte)0xb2, }; /** * Byte stream for the original text ORIGINAL_TEXT_5. */ static final private byte[] EXPECTED_CIPHER_TEXT_5 = new byte[] { (byte)0x4f, (byte)0x82, (byte)0x0d, (byte)0x8a, (byte)0xb6, (byte)0x57, (byte)0x40, (byte)0x0b, (byte)0x0e, (byte)0xd8, (byte)0x71, (byte)0x0d, (byte)0x66, (byte)0xd2, (byte)0x87, (byte)0x0f, }; /** * Byte stream for the original text ORIGINAL_TEXT_6. */ static final private byte[] EXPECTED_CIPHER_TEXT_6 = new byte[] { (byte)0x51, (byte)0x84, (byte)0x21, (byte)0x43, (byte)0xc3, (byte)0x22, (byte)0x35, (byte)0xd0, (byte)0x99, (byte)0xcf, (byte)0x5b, (byte)0x27, (byte)0x63, (byte)0x80, (byte)0x30, (byte)0x55, (byte)0x43, (byte)0xc3, (byte)0xec, (byte)0x28, (byte)0x0a, (byte)0x9a, (byte)0x58, (byte)0x7b, (byte)0x46, (byte)0xa3, (byte)0x1b, (byte)0x7e, (byte)0xee, (byte)0x62, (byte)0xdb, (byte)0x07, (byte)0x86, (byte)0xb8, (byte)0x99, (byte)0xcc, (byte)0xa7, (byte)0x59, (byte)0x35, (byte)0xdd, (byte)0xf8, (byte)0xab, (byte)0x2f, (byte)0x4d, (byte)0xbe, (byte)0x68, (byte)0x8e, (byte)0x1f, }; /** * Byte stream for the original text ORIGINAL_TEXT_7. */ static final private byte[] EXPECTED_CIPHER_TEXT_7 = new byte[] { (byte)0xb4, (byte)0xab, (byte)0x36, (byte)0xfc, (byte)0x40, (byte)0x14, (byte)0xe5, (byte)0x07, (byte)0x36, (byte)0xcc, (byte)0x21, (byte)0x10, (byte)0x4f, (byte)0xaa, (byte)0x34, (byte)0xcb, (byte)0xa9, (byte)0x1e, (byte)0xcf, (byte)0x31, (byte)0xef, (byte)0x6e, (byte)0x5d, (byte)0x3a, (byte)0x54, (byte)0xc6, (byte)0xfa, (byte)0x14, (byte)0xed, (byte)0x13, (byte)0x54, (byte)0xae, (byte)0xb9, (byte)0x7f, (byte)0x9c, (byte)0xbe, (byte)0xd2, (byte)0x5b, (byte)0x9b, (byte)0x6d, (byte)0x48, (byte)0x7b, (byte)0x04, (byte)0xfb, (byte)0x4c, (byte)0xb4, (byte)0x4a, (byte)0x5e, (byte)0x13, (byte)0xd5, (byte)0x9c, (byte)0xe0, (byte)0xed, (byte)0x68, (byte)0x84, (byte)0x96, (byte)0xd2, (byte)0x20, (byte)0x34, (byte)0x83, (byte)0x10, (byte)0x82, (byte)0x3e, (byte)0x13, (byte)0x03, (byte)0xc7, (byte)0x00, (byte)0x6e, (byte)0x0a, (byte)0x35, (byte)0xeb, (byte)0xd4, (byte)0x41, (byte)0x1d, (byte)0xcc, (byte)0x19, (byte)0x29, (byte)0x94, (byte)0x39, (byte)0x7b, (byte)0xbd, (byte)0x31, (byte)0x49, (byte)0x48, (byte)0xf8, (byte)0x1c, (byte)0x13, (byte)0x45, (byte)0xf5, (byte)0x80, (byte)0x76, (byte)0xcb, (byte)0x84, (byte)0xd7, (byte)0xbd, (byte)0xe7, (byte)0xfc, (byte)0x03, (byte)0x66, (byte)0x20, (byte)0x37, (byte)0x51, (byte)0x48, (byte)0x5a, (byte)0x76, (byte)0xb2, (byte)0x29, (byte)0x9b, (byte)0x27, (byte)0xac, (byte)0xfb, (byte)0x60, (byte)0x36, (byte)0x59, (byte)0xb1, (byte)0x43, (byte)0xe9, (byte)0x79, (byte)0x72, (byte)0xc4, (byte)0x64, (byte)0x68, (byte)0x06, (byte)0xc3, (byte)0xad, (byte)0xcc, (byte)0xa7, (byte)0x19, (byte)0xf4, (byte)0x90, (byte)0x7d, (byte)0x26, (byte)0x84, (byte)0xcb, (byte)0xba, (byte)0x20, (byte)0xdd, (byte)0x54, (byte)0xb7, (byte)0xb9, (byte)0x6a, (byte)0x7b, (byte)0xe8, (byte)0xbb, (byte)0x60, (byte)0xe5, (byte)0x47, (byte)0xbc, (byte)0xd7, (byte)0x49, (byte)0xbc, (byte)0x11, (byte)0xdb, (byte)0x78, (byte)0xeb, (byte)0xd6, (byte)0x8d, (byte)0x2d, (byte)0x06, (byte)0x50, (byte)0xaf, (byte)0xe5, (byte)0x0d, (byte)0x3c, (byte)0x1e, (byte)0xeb, (byte)0xce, (byte)0xdb, (byte)0x87, (byte)0xa1, (byte)0x98, (byte)0xc7, (byte)0x18, (byte)0x54, (byte)0xc9, (byte)0x33, (byte)0xcc, (byte)0x05, (byte)0xc3, (byte)0xb3, (byte)0x4b, (byte)0x55, (byte)0x75, (byte)0xee, (byte)0x3b, (byte)0xbb, (byte)0x09, (byte)0x8c, (byte)0xc4, (byte)0xd8, (byte)0x21, (byte)0x93, (byte)0x02, (byte)0xaf, (byte)0x9c, (byte)0xce, (byte)0x33, (byte)0x15, (byte)0x78, (byte)0xa0, (byte)0x6f, (byte)0x79, (byte)0xd7, (byte)0x78, (byte)0xc2, (byte)0x44, (byte)0xab, (byte)0x2e, (byte)0x83, (byte)0xdc, (byte)0x84, (byte)0xc4, (byte)0x85, (byte)0x2c, (byte)0xde, (byte)0x6e, (byte)0x2e, (byte)0xbd, (byte)0xcd, (byte)0x43, (byte)0x41, (byte)0x18, (byte)0x12, (byte)0xf2, (byte)0x50, (byte)0x45, (byte)0xe1, (byte)0xac, (byte)0x3c, (byte)0x6f, (byte)0x71, (byte)0x67, (byte)0xba, (byte)0x8d, (byte)0x6b, (byte)0xcd, (byte)0x5a, (byte)0xa4, (byte)0x23, (byte)0xd2, (byte)0x98, (byte)0xa5, (byte)0x0d, (byte)0x04, (byte)0x60, (byte)0x4b, (byte)0xf1, (byte)0x69, (byte)0x1d, (byte)0xb0, (byte)0x16, (byte)0xd9, (byte)0x3c, (byte)0x8b, (byte)0xa3, (byte)0x00, (byte)0xc4, (byte)0x46, (byte)0x43, (byte)0xc7, (byte)0x43, (byte)0xc0, (byte)0xc4, (byte)0x4a, (byte)0xa7, (byte)0x3a, (byte)0xf5, (byte)0x0e, (byte)0xbc, (byte)0xd4, (byte)0xc1, (byte)0x5b, (byte)0x9d, (byte)0x7d, (byte)0x23, (byte)0xf5, (byte)0xcb, (byte)0xea, (byte)0x8c, (byte)0x9b, (byte)0x57, (byte)0x63, (byte)0xf6, (byte)0x09, (byte)0xd4, (byte)0xae, (byte)0x87, (byte)0x55, (byte)0x0a, (byte)0xe4, (byte)0xcd, (byte)0xb8, (byte)0xc3, (byte)0xca, (byte)0xe7, (byte)0xa8, (byte)0x9b, (byte)0xa8, (byte)0xc0, (byte)0x25, (byte)0xdc, (byte)0xcf, (byte)0x89, (byte)0x86, (byte)0xdb, (byte)0xfe, (byte)0x4d, (byte)0xe3, (byte)0x82, (byte)0x8e, (byte)0x36, (byte)0xab, (byte)0xce, (byte)0xba, (byte)0xfb, (byte)0x97, (byte)0x7f, (byte)0x9d, (byte)0xeb, (byte)0xdf, (byte)0x4a, (byte)0xb2, (byte)0x9e, (byte)0xe1, (byte)0xc0, (byte)0xb1, (byte)0xd1, (byte)0xb8, (byte)0x2c, (byte)0xce, (byte)0xda, (byte)0xc6, (byte)0xb8, (byte)0x59, (byte)0x1f, (byte)0x55, (byte)0xbd, (byte)0x70, (byte)0x0c, (byte)0xf6, (byte)0x56, (byte)0xe8, (byte)0xed, (byte)0xa7, (byte)0x56, (byte)0x89, (byte)0x4b, (byte)0x47, (byte)0xce, (byte)0x1c, (byte)0xe1, (byte)0x14, (byte)0x92, (byte)0x26, (byte)0x1b, (byte)0x03, (byte)0x96, (byte)0x6e, (byte)0xf2, (byte)0xfe, (byte)0xf7, (byte)0x5b, (byte)0xc6, (byte)0x3f, (byte)0x75, (byte)0xde, (byte)0x6e, (byte)0x84, (byte)0xcd, (byte)0x0e, (byte)0x90, (byte)0x4f, (byte)0x53, (byte)0x67, (byte)0xe2, (byte)0xe1, (byte)0xc4, (byte)0xc0, (byte)0x6e, (byte)0x0a, (byte)0x8d, (byte)0xdb, (byte)0xf7, (byte)0x12, (byte)0x26, (byte)0x47, (byte)0x6e, (byte)0x6a, (byte)0x63, (byte)0x06, (byte)0x4e, (byte)0x33, (byte)0xd1, (byte)0x4e, (byte)0xd6, (byte)0x41, (byte)0xe6, (byte)0x5d, (byte)0xa0, (byte)0x28, (byte)0xd3, (byte)0x90, (byte)0xfd, (byte)0xfe, (byte)0x09, (byte)0xd1, (byte)0x6b, (byte)0xe8, (byte)0x5c, (byte)0x24, (byte)0x26, (byte)0xaa, (byte)0xd8, (byte)0xa7, (byte)0x29, (byte)0x55, (byte)0x20, (byte)0x92, (byte)0x49, (byte)0x74, (byte)0x9f, (byte)0xa4, (byte)0xb4, (byte)0x92, (byte)0x07, (byte)0xe9, (byte)0x06, (byte)0x87, (byte)0x41, (byte)0x7b, (byte)0xfb, (byte)0x13, (byte)0xa8, (byte)0xc2, (byte)0xd8, (byte)0x01, (byte)0xda, (byte)0x9e, (byte)0x1f, (byte)0xe2, (byte)0x3d, (byte)0x53, (byte)0xc1, (byte)0xb0, (byte)0xf5, (byte)0x43, (byte)0x9b, (byte)0xe9, }; /** * Password used for AES key generation. */ static final private String PASSWORD = "nbusr123nbusr123"; /** * Generate secret key for AES crypto algorithm. * @return secret key for AES crypto algorithm. * * @throws NoSuchAlgorithmException * @throws InvalidKeyException * @throws InvalidKeySpecException */ private static SecretKey generateSecretKey() throws NoSuchAlgorithmException, InvalidKeyException, InvalidKeySpecException { return new SecretKeySpec(PASSWORD.getBytes(), 0, 16, "AES"); } /** * Check if AES crypting and decrypting works as expected. * * @param harness the test harness (null not permitted). * @param secretKey AES secret key * @param aes instance of class which implements AES crypto algorithm. * @param expectedCipherText expected byte stream. * @throws InvalidKeyException * @throws IllegalBlockSizeException * @throws BadPaddingException */ private static void checkCipher(TestHarness harness, SecretKey secretKey, Cipher aes, String originalText, byte[] expectedCipherText) { try { aes.init(Cipher.ENCRYPT_MODE, secretKey); byte[] ciphertext; ciphertext = aes.doFinal(originalText.getBytes()); aes.init(Cipher.DECRYPT_MODE, secretKey); String cleartext = new String(aes.doFinal(ciphertext)); //printCipherTest(ciphertext); // test if ENCRYPT_MODE is ok for (int i = 0; i < expectedCipherText.length; i++) { if (expectedCipherText[i] != ciphertext[i]) { harness.fail("cipher text differ at index " + i); } } // test if DECRYPT_MODE is ok if (!originalText.equals(cleartext)) { harness.fail("Decrypted text is different from the original!"); } } catch (InvalidKeyException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } catch (IllegalBlockSizeException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } catch (BadPaddingException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } } @SuppressWarnings({ "boxing", "unused" }) private static void printCipherTest(byte[] ciphertext) { for (int i=0; i < ciphertext.length; i++) { System.out.format("(byte)0x%02x, ", ciphertext[i]); if ((i+1)%8 == 0) { System.out.println(); } } } /** * Run the test harness. * * @param harness the test harness (null not permitted). * @throws NoSuchAlgorithmException * @throws InvalidKeyException * @throws InvalidKeySpecException * @throws NoSuchPaddingException * @throws IllegalBlockSizeException * @throws BadPaddingException */ private static void run(TestHarness harness) { SecretKey secretKey; try { secretKey = generateSecretKey(); Cipher aes = Cipher.getInstance("AES"); // check crypto for many open texts. checkCipher(harness, secretKey, aes, ORIGINAL_TEXT_1, EXPECTED_CIPHER_TEXT_1); checkCipher(harness, secretKey, aes, ORIGINAL_TEXT_2, EXPECTED_CIPHER_TEXT_2); checkCipher(harness, secretKey, aes, ORIGINAL_TEXT_3, EXPECTED_CIPHER_TEXT_3); checkCipher(harness, secretKey, aes, ORIGINAL_TEXT_4, EXPECTED_CIPHER_TEXT_4); checkCipher(harness, secretKey, aes, ORIGINAL_TEXT_5, EXPECTED_CIPHER_TEXT_5); checkCipher(harness, secretKey, aes, ORIGINAL_TEXT_6, EXPECTED_CIPHER_TEXT_6); checkCipher(harness, secretKey, aes, ORIGINAL_TEXT_7, EXPECTED_CIPHER_TEXT_7); } catch (InvalidKeyException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } catch (NoSuchAlgorithmException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } catch (InvalidKeySpecException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } catch (NoSuchPaddingException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } } /** * Test if AES crypto algorithm is available on given JVM. */ public boolean isAESCipherAvailable() { try { Cipher.getInstance("AES"); } catch (NoSuchAlgorithmException e) { return false; } catch (NoSuchPaddingException e) { return false; } return true; } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { if (!isAESCipherAvailable()) { return; } run(harness); } /** * Runs the test from CLI. * * @param args * @throws Exception */ public static void main(String[] args) throws Exception { run(null); } } mauve-20140821/gnu/testlet/javax/crypto/Cipher/DESCipherTest.java0000644000175000001440000004213412354474322023350 0ustar dokousers// Test the basic usage of DES crypto algorithm. // Copyright (C) 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.javax.crypto.Cipher; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.security.spec.InvalidKeySpecException; import javax.crypto.BadPaddingException; import javax.crypto.Cipher; import javax.crypto.IllegalBlockSizeException; import javax.crypto.NoSuchPaddingException; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.DESKeySpec; /** * Test the basic usage of DES crypto algorithm. * * @author Pavel Tisnovsky (ptisnovs@redhat.com) */ public class DESCipherTest implements Testlet { /** * Text which should be crypted into byte stream stored in EXPECTED_CIPHER_TEXT_1. */ static final private String ORIGINAL_TEXT_1 = ""; /** * Text which should be crypted into byte stream stored in EXPECTED_CIPHER_TEXT_2. */ static final private String ORIGINAL_TEXT_2 = "\0"; /** * Text which should be crypted into byte stream stored in EXPECTED_CIPHER_TEXT_3. */ static final private String ORIGINAL_TEXT_3 = " "; /** * Text which should be crypted into byte stream stored in EXPECTED_CIPHER_TEXT_4. */ static final private String ORIGINAL_TEXT_4 = "a"; /** * Text which should be crypted into byte stream stored in EXPECTED_CIPHER_TEXT_5. */ static final private String ORIGINAL_TEXT_5 = "Hello World!"; /** * Text which should be crypted into byte stream stored in EXPECTED_CIPHER_TEXT_6. */ static final private String ORIGINAL_TEXT_6 = "The quick brown fox jumps over the lazy dog"; /** * Text which should be crypted into byte stream stored in EXPECTED_CIPHER_TEXT_7. */ static final private String ORIGINAL_TEXT_7 = "Lorem ipsum dolor sit amet, consectetur " + "adipisicing elit, sed do eiusmod tempor " + "incididunt ut labore et dolore magna aliqua. " + "Ut enim ad minim veniam, quis nostrud " + "exercitation ullamco laboris nisi ut aliquip " + "ex ea commodo consequat. Duis aute irure " + "dolor in reprehenderit in voluptate velit " + "esse cillum dolore eu fugiat nulla pariatur. " + "Excepteur sint occaecat cupidatat non proident, " + "sunt in culpa qui officia deserunt mollit anim " + "id est laborum."; /** * Byte stream for the original text ORIGINAL_TEXT_1. */ static final private byte[] EXPECTED_CIPHER_TEXT_1 = new byte[] { (byte)0xad, (byte)0x63, (byte)0xca, (byte)0x96, (byte)0xd5, (byte)0xed, (byte)0xac, (byte)0xb7, }; /** * Byte stream for the original text ORIGINAL_TEXT_2. */ static final private byte[] EXPECTED_CIPHER_TEXT_2 = new byte[] { (byte)0x82, (byte)0x01, (byte)0xe7, (byte)0x81, (byte)0x4a, (byte)0xc3, (byte)0x21, (byte)0x47, }; /** * Byte stream for the original text ORIGINAL_TEXT_3. */ static final private byte[] EXPECTED_CIPHER_TEXT_3 = new byte[] { (byte)0x1c, (byte)0x9f, (byte)0x7f, (byte)0xc7, (byte)0x7e, (byte)0x9a, (byte)0x04, (byte)0x9b, }; /** * Byte stream for the original text ORIGINAL_TEXT_4. */ static final private byte[] EXPECTED_CIPHER_TEXT_4 = new byte[] { (byte)0xe6, (byte)0xa4, (byte)0x4a, (byte)0x36, (byte)0xa4, (byte)0x69, (byte)0xd8, (byte)0x77, }; /** * Byte stream for the original text ORIGINAL_TEXT_5. */ static final private byte[] EXPECTED_CIPHER_TEXT_5 = new byte[] { (byte)0x58, (byte)0x77, (byte)0xc1, (byte)0xd3, (byte)0xb6, (byte)0x8c, (byte)0x31, (byte)0x1c, (byte)0x09, (byte)0xed, (byte)0x17, (byte)0x99, (byte)0xa9, (byte)0x75, (byte)0x2a, (byte)0xc3, }; /** * Byte stream for the original text ORIGINAL_TEXT_6. */ static final private byte[] EXPECTED_CIPHER_TEXT_6 = new byte[] { (byte)0xce, (byte)0xd0, (byte)0x8a, (byte)0x61, (byte)0xd9, (byte)0xe7, (byte)0x9b, (byte)0x52, (byte)0x0d, (byte)0x57, (byte)0x41, (byte)0xed, (byte)0x75, (byte)0xc3, (byte)0x21, (byte)0xa2, (byte)0x4d, (byte)0xed, (byte)0x10, (byte)0x74, (byte)0x92, (byte)0x59, (byte)0x8c, (byte)0xbd, (byte)0x20, (byte)0x9e, (byte)0x80, (byte)0x6a, (byte)0xeb, (byte)0x34, (byte)0x47, (byte)0xeb, (byte)0x73, (byte)0x0c, (byte)0xc5, (byte)0x5d, (byte)0x49, (byte)0xba, (byte)0xcc, (byte)0x66, (byte)0xa3, (byte)0xed, (byte)0xd4, (byte)0x69, (byte)0x8c, (byte)0x61, (byte)0x0d, (byte)0x24, }; /** * Byte stream for the original text ORIGINAL_TEXT_7. */ static final private byte[] EXPECTED_CIPHER_TEXT_7 = new byte[] { (byte)0xef, (byte)0x97, (byte)0xf2, (byte)0xf5, (byte)0x89, (byte)0x15, (byte)0xb1, (byte)0x28, (byte)0x5b, (byte)0x99, (byte)0xcf, (byte)0x6d, (byte)0x86, (byte)0x45, (byte)0x92, (byte)0x76, (byte)0x0c, (byte)0x9c, (byte)0x4f, (byte)0xb0, (byte)0x33, (byte)0xf7, (byte)0xa6, (byte)0xd2, (byte)0xd9, (byte)0xd9, (byte)0x17, (byte)0x06, (byte)0x25, (byte)0x30, (byte)0xd0, (byte)0xbb, (byte)0x7b, (byte)0x2e, (byte)0x83, (byte)0xa0, (byte)0x51, (byte)0x4a, (byte)0xc4, (byte)0xc5, (byte)0x5b, (byte)0x9a, (byte)0x7d, (byte)0x98, (byte)0xae, (byte)0x28, (byte)0xf6, (byte)0x97, (byte)0xf5, (byte)0xbf, (byte)0x05, (byte)0x21, (byte)0x3f, (byte)0xdd, (byte)0xa2, (byte)0x41, (byte)0x13, (byte)0x6e, (byte)0xdb, (byte)0x6c, (byte)0xcb, (byte)0xb1, (byte)0xf5, (byte)0xd4, (byte)0xc3, (byte)0x8c, (byte)0x19, (byte)0x8d, (byte)0x4f, (byte)0x30, (byte)0x91, (byte)0xa0, (byte)0xb8, (byte)0x12, (byte)0xa1, (byte)0x0a, (byte)0xc4, (byte)0x7c, (byte)0xb4, (byte)0xb4, (byte)0xf2, (byte)0x54, (byte)0x1e, (byte)0xe3, (byte)0xe2, (byte)0x56, (byte)0xe3, (byte)0x2a, (byte)0x05, (byte)0x9e, (byte)0xb2, (byte)0x06, (byte)0x44, (byte)0x36, (byte)0x14, (byte)0xe0, (byte)0x8f, (byte)0x07, (byte)0xf2, (byte)0x4b, (byte)0x09, (byte)0xa0, (byte)0x0e, (byte)0x3c, (byte)0xa6, (byte)0xfe, (byte)0x62, (byte)0x33, (byte)0x5a, (byte)0x54, (byte)0x64, (byte)0x5a, (byte)0x16, (byte)0x43, (byte)0xf8, (byte)0x73, (byte)0xf6, (byte)0xa6, (byte)0xeb, (byte)0xe9, (byte)0x4e, (byte)0x1e, (byte)0x6f, (byte)0x32, (byte)0x32, (byte)0xab, (byte)0x4e, (byte)0x37, (byte)0x73, (byte)0x13, (byte)0x91, (byte)0xce, (byte)0xc4, (byte)0xea, (byte)0x6b, (byte)0x32, (byte)0xbb, (byte)0xcb, (byte)0x69, (byte)0x03, (byte)0x7c, (byte)0x05, (byte)0x62, (byte)0x5d, (byte)0x75, (byte)0x62, (byte)0x56, (byte)0xfd, (byte)0x63, (byte)0xc9, (byte)0x66, (byte)0xaa, (byte)0x72, (byte)0x03, (byte)0xf5, (byte)0xb7, (byte)0x90, (byte)0x59, (byte)0x95, (byte)0xa4, (byte)0x14, (byte)0x25, (byte)0x87, (byte)0xab, (byte)0x07, (byte)0xb0, (byte)0x91, (byte)0x9a, (byte)0x30, (byte)0x44, (byte)0xcf, (byte)0x1c, (byte)0x61, (byte)0x71, (byte)0x03, (byte)0x9f, (byte)0x8c, (byte)0xce, (byte)0xd0, (byte)0xcb, (byte)0x40, (byte)0xbc, (byte)0xc1, (byte)0x40, (byte)0x58, (byte)0x77, (byte)0x79, (byte)0x3a, (byte)0xc6, (byte)0x85, (byte)0x27, (byte)0xdb, (byte)0xa4, (byte)0x1b, (byte)0x27, (byte)0xd1, (byte)0xad, (byte)0x2f, (byte)0xae, (byte)0xab, (byte)0x0c, (byte)0x9a, (byte)0xb2, (byte)0x52, (byte)0xfd, (byte)0xe7, (byte)0x46, (byte)0x78, (byte)0x93, (byte)0x68, (byte)0xb2, (byte)0x11, (byte)0xe1, (byte)0x17, (byte)0xab, (byte)0x30, (byte)0xd0, (byte)0xd8, (byte)0xc3, (byte)0x91, (byte)0x73, (byte)0x7f, (byte)0xa0, (byte)0xd7, (byte)0xef, (byte)0xad, (byte)0x5e, (byte)0x18, (byte)0xfa, (byte)0x92, (byte)0xab, (byte)0x80, (byte)0xf7, (byte)0x3a, (byte)0x4d, (byte)0x64, (byte)0xa1, (byte)0xf8, (byte)0xb3, (byte)0xc5, (byte)0x9c, (byte)0x85, (byte)0x1c, (byte)0xd9, (byte)0x2a, (byte)0x61, (byte)0xa8, (byte)0x60, (byte)0xac, (byte)0x8b, (byte)0xed, (byte)0xe5, (byte)0xcb, (byte)0x90, (byte)0x97, (byte)0x83, (byte)0x1c, (byte)0xdc, (byte)0x35, (byte)0x2a, (byte)0x3e, (byte)0x0a, (byte)0x6c, (byte)0x45, (byte)0xfe, (byte)0x89, (byte)0xd4, (byte)0x2b, (byte)0x75, (byte)0x79, (byte)0x47, (byte)0xa5, (byte)0x7c, (byte)0xd2, (byte)0xef, (byte)0xf1, (byte)0x21, (byte)0x38, (byte)0xe4, (byte)0x32, (byte)0x14, (byte)0xf4, (byte)0xbd, (byte)0x65, (byte)0xf2, (byte)0x0a, (byte)0x24, (byte)0xbb, (byte)0xc2, (byte)0xeb, (byte)0xdf, (byte)0x4a, (byte)0xba, (byte)0xce, (byte)0x17, (byte)0xd0, (byte)0x1f, (byte)0xf4, (byte)0x17, (byte)0x21, (byte)0x5e, (byte)0xd4, (byte)0x30, (byte)0xa3, (byte)0xbb, (byte)0xc8, (byte)0x1a, (byte)0x57, (byte)0xda, (byte)0xbd, (byte)0xd7, (byte)0x84, (byte)0x41, (byte)0x71, (byte)0xe9, (byte)0xcc, (byte)0xc1, (byte)0x9a, (byte)0x68, (byte)0xff, (byte)0x9a, (byte)0xfb, (byte)0xba, (byte)0x64, (byte)0xb4, (byte)0x4d, (byte)0x99, (byte)0x2c, (byte)0x4b, (byte)0x65, (byte)0xec, (byte)0x7e, (byte)0x7a, (byte)0x73, (byte)0xbd, (byte)0x00, (byte)0x1c, (byte)0x7d, (byte)0x5b, (byte)0xbb, (byte)0x1e, (byte)0x64, (byte)0x68, (byte)0x80, (byte)0x5e, (byte)0x33, (byte)0x32, (byte)0x3c, (byte)0xbb, (byte)0x4f, (byte)0xa8, (byte)0xd2, (byte)0x03, (byte)0xb1, (byte)0x05, (byte)0x1b, (byte)0x87, (byte)0x52, (byte)0xa7, (byte)0xee, (byte)0xba, (byte)0x3c, (byte)0x52, (byte)0xb1, (byte)0x21, (byte)0xc1, (byte)0x2e, (byte)0x7c, (byte)0xc6, (byte)0x02, (byte)0xf1, (byte)0x34, (byte)0xc0, (byte)0x79, (byte)0x93, (byte)0xc3, (byte)0x51, (byte)0xb9, (byte)0x62, (byte)0xd6, (byte)0x6a, (byte)0xad, (byte)0x05, (byte)0x9e, (byte)0x6c, (byte)0x62, (byte)0xbe, (byte)0xb3, (byte)0x82, (byte)0xb5, (byte)0x20, (byte)0x77, (byte)0xa0, (byte)0x81, (byte)0xa0, (byte)0x7f, (byte)0x34, (byte)0x9b, (byte)0xc7, (byte)0x7a, (byte)0x9e, (byte)0xd7, (byte)0xd1, (byte)0x80, (byte)0x1b, (byte)0x70, (byte)0xf7, (byte)0x78, (byte)0x9e, (byte)0xd7, (byte)0x62, (byte)0x3c, (byte)0xfd, (byte)0x5e, (byte)0xc5, (byte)0x8e, (byte)0x06, (byte)0x98, (byte)0xb3, (byte)0xfa, (byte)0x77, (byte)0xe0, (byte)0xb5, (byte)0x4a, (byte)0x7b, (byte)0xca, (byte)0xe9, (byte)0x6a, (byte)0xc6, (byte)0xb9, (byte)0xdc, (byte)0x3b, (byte)0x4d, (byte)0xf8, (byte)0x56, (byte)0xeb, (byte)0xe0, (byte)0x1b, (byte)0xa0, (byte)0xa8, (byte)0xa7, (byte)0xfc, (byte)0x7e, (byte)0x95, (byte)0x62, (byte)0x6c, (byte)0xb5, (byte)0xf2, }; /** * Password used for DES key generation. */ static final private String PASSWORD = "nbusr123"; /** * Generate secret key for DES crypto algorithm. * @return secret key for DES crypto algorithm. * * @throws NoSuchAlgorithmException * @throws InvalidKeyException * @throws InvalidKeySpecException */ private static SecretKey generateSecretKey() throws NoSuchAlgorithmException, InvalidKeyException, InvalidKeySpecException { SecretKeyFactory secretKeyFactory = SecretKeyFactory.getInstance("DES"); DESKeySpec desKeySpec = new DESKeySpec(PASSWORD.getBytes()); SecretKey secretKey = secretKeyFactory.generateSecret(desKeySpec); return secretKey; } /** * Check if DES crypting and decrypting works as expected. * * @param harness the test harness (null not permitted). * @param secretKey DES secret key * @param des instance of class which implements DES crypto algorithm. * @param expectedCipherText expected byte stream. * @throws InvalidKeyException * @throws IllegalBlockSizeException * @throws BadPaddingException */ private static void checkCipher(TestHarness harness, SecretKey secretKey, Cipher des, String originalText, byte[] expectedCipherText) { try { des.init(Cipher.ENCRYPT_MODE, secretKey); byte[] ciphertext; ciphertext = des.doFinal(originalText.getBytes()); des.init(Cipher.DECRYPT_MODE, secretKey); String cleartext = new String(des.doFinal(ciphertext)); //printCipherTest(ciphertext); // test if ENCRYPT_MODE is ok for (int i = 0; i < expectedCipherText.length; i++) { if (expectedCipherText[i] != ciphertext[i]) { harness.fail("cipher text differ at index " + i); } } // test if DECRYPT_MODE is ok if (!originalText.equals(cleartext)) { harness.fail("Decrypted text is different from the original!"); } } catch (InvalidKeyException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } catch (IllegalBlockSizeException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } catch (BadPaddingException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } } @SuppressWarnings({ "boxing", "unused" }) private static void printCipherTest(byte[] ciphertext) { for (int i=0; i < ciphertext.length; i++) { System.out.format("(byte)0x%02x, ", ciphertext[i]); if ((i+1)%8 == 0) { System.out.println(); } } } /** * Run the test harness. * * @param harness the test harness (null not permitted). * @throws NoSuchAlgorithmException * @throws InvalidKeyException * @throws InvalidKeySpecException * @throws NoSuchPaddingException * @throws IllegalBlockSizeException * @throws BadPaddingException */ private static void run(TestHarness harness) { SecretKey secretKey; try { secretKey = generateSecretKey(); Cipher des = Cipher.getInstance("DES"); // check crypto for many open texts. checkCipher(harness, secretKey, des, ORIGINAL_TEXT_1, EXPECTED_CIPHER_TEXT_1); checkCipher(harness, secretKey, des, ORIGINAL_TEXT_2, EXPECTED_CIPHER_TEXT_2); checkCipher(harness, secretKey, des, ORIGINAL_TEXT_3, EXPECTED_CIPHER_TEXT_3); checkCipher(harness, secretKey, des, ORIGINAL_TEXT_4, EXPECTED_CIPHER_TEXT_4); checkCipher(harness, secretKey, des, ORIGINAL_TEXT_5, EXPECTED_CIPHER_TEXT_5); checkCipher(harness, secretKey, des, ORIGINAL_TEXT_6, EXPECTED_CIPHER_TEXT_6); checkCipher(harness, secretKey, des, ORIGINAL_TEXT_7, EXPECTED_CIPHER_TEXT_7); } catch (InvalidKeyException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } catch (NoSuchAlgorithmException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } catch (InvalidKeySpecException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } catch (NoSuchPaddingException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } } /** * Test if DES crypto algorithm is available on given JVM. */ public boolean isDESCipherAvailable() { try { Cipher.getInstance("DES"); } catch (NoSuchAlgorithmException e) { return false; } catch (NoSuchPaddingException e) { return false; } return true; } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { if (!isDESCipherAvailable()) { return; } run(harness); } /** * Runs the test from CLI. * * @param args * @throws Exception */ public static void main(String[] args) throws Exception { run(null); } } mauve-20140821/gnu/testlet/javax/crypto/Cipher/RC2CipherTest.java0000644000175000001440000004223712354767756023347 0ustar dokousers// Test the basic usage of RC2 crypto algorithm. // Copyright (C) 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.javax.crypto.Cipher; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.security.spec.InvalidKeySpecException; import javax.crypto.BadPaddingException; import javax.crypto.Cipher; import javax.crypto.IllegalBlockSizeException; import javax.crypto.NoSuchPaddingException; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; /** * Test the basic usage of RC2 crypto algorithm. * * @author Pavel Tisnovsky (ptisnovs@redhat.com) */ public class RC2CipherTest implements Testlet { /** * Text which should be crypted into byte stream stored in EXPECTED_CIPHER_TEXT_1. */ static final private String ORIGINAL_TEXT_1 = ""; /** * Text which should be crypted into byte stream stored in EXPECTED_CIPHER_TEXT_2. */ static final private String ORIGINAL_TEXT_2 = "\0"; /** * Text which should be crypted into byte stream stored in EXPECTED_CIPHER_TEXT_3. */ static final private String ORIGINAL_TEXT_3 = " "; /** * Text which should be crypted into byte stream stored in EXPECTED_CIPHER_TEXT_4. */ static final private String ORIGINAL_TEXT_4 = "a"; /** * Text which should be crypted into byte stream stored in EXPECTED_CIPHER_TEXT_5. */ static final private String ORIGINAL_TEXT_5 = "Hello World!"; /** * Text which should be crypted into byte stream stored in EXPECTED_CIPHER_TEXT_6. */ static final private String ORIGINAL_TEXT_6 = "The quick brown fox jumps over the lazy dog"; /** * Text which should be crypted into byte stream stored in EXPECTED_CIPHER_TEXT_7. */ static final private String ORIGINAL_TEXT_7 = "Lorem ipsum dolor sit amet, consectetur " + "adipisicing elit, sed do eiusmod tempor " + "incididunt ut labore et dolore magna aliqua. " + "Ut enim ad minim veniam, quis nostrud " + "exercitation ullamco laboris nisi ut aliquip " + "ex ea commodo consequat. Duis aute irure " + "dolor in reprehenderit in voluptate velit " + "esse cillum dolore eu fugiat nulla pariatur. " + "Excepteur sint occaecat cupidatat non proident, " + "sunt in culpa qui officia deserunt mollit anim " + "id est laborum."; /** * Byte stream for the original text ORIGINAL_TEXT_1. */ static final private byte[] EXPECTED_CIPHER_TEXT_1 = new byte[] { (byte)0x4b, (byte)0x42, (byte)0x43, (byte)0xcd, (byte)0x1f, (byte)0xec, (byte)0x3f, (byte)0xf0, }; /** * Byte stream for the original text ORIGINAL_TEXT_2. */ static final private byte[] EXPECTED_CIPHER_TEXT_2 = new byte[] { (byte)0x6e, (byte)0x6c, (byte)0x38, (byte)0x13, (byte)0x04, (byte)0xba, (byte)0xac, (byte)0xfd, }; /** * Byte stream for the original text ORIGINAL_TEXT_3. */ static final private byte[] EXPECTED_CIPHER_TEXT_3 = new byte[] { (byte)0x77, (byte)0xe7, (byte)0x02, (byte)0xce, (byte)0x71, (byte)0xbf, (byte)0xd0, (byte)0xf5, }; /** * Byte stream for the original text ORIGINAL_TEXT_4. */ static final private byte[] EXPECTED_CIPHER_TEXT_4 = new byte[] { (byte)0x1a, (byte)0x96, (byte)0x23, (byte)0xec, (byte)0x69, (byte)0xb0, (byte)0x84, (byte)0xdf, }; /** * Byte stream for the original text ORIGINAL_TEXT_5. */ static final private byte[] EXPECTED_CIPHER_TEXT_5 = new byte[] { (byte)0x0b, (byte)0x14, (byte)0xfd, (byte)0x17, (byte)0x0a, (byte)0x77, (byte)0x05, (byte)0x9d, (byte)0x4a, (byte)0x8d, (byte)0x35, (byte)0x35, (byte)0x83, (byte)0x59, (byte)0x71, (byte)0x15, }; /** * Byte stream for the original text ORIGINAL_TEXT_6. */ static final private byte[] EXPECTED_CIPHER_TEXT_6 = new byte[] { (byte)0x71, (byte)0xab, (byte)0x3c, (byte)0xa5, (byte)0x35, (byte)0x75, (byte)0x42, (byte)0x4a, (byte)0xff, (byte)0x05, (byte)0x8f, (byte)0x3a, (byte)0x02, (byte)0x63, (byte)0xeb, (byte)0x9d, (byte)0xb2, (byte)0xfb, (byte)0x6d, (byte)0x59, (byte)0x1a, (byte)0x70, (byte)0xa6, (byte)0x94, (byte)0x0c, (byte)0x95, (byte)0x82, (byte)0xd3, (byte)0xfa, (byte)0x82, (byte)0x47, (byte)0x2c, (byte)0xc9, (byte)0x5c, (byte)0xa4, (byte)0x58, (byte)0x8d, (byte)0x38, (byte)0x87, (byte)0xa1, (byte)0x96, (byte)0xf2, (byte)0xcf, (byte)0xca, (byte)0xce, (byte)0x27, (byte)0x13, (byte)0x88, }; /** * Byte stream for the original text ORIGINAL_TEXT_7. */ static final private byte[] EXPECTED_CIPHER_TEXT_7 = new byte[] { (byte)0xbe, (byte)0x4b, (byte)0xb9, (byte)0xe3, (byte)0x23, (byte)0xc2, (byte)0xf8, (byte)0xd6, (byte)0x70, (byte)0x90, (byte)0xec, (byte)0xf2, (byte)0xf6, (byte)0x92, (byte)0x95, (byte)0xab, (byte)0xcb, (byte)0x99, (byte)0x6e, (byte)0x75, (byte)0x20, (byte)0xbe, (byte)0x3c, (byte)0x69, (byte)0x88, (byte)0xb5, (byte)0x1d, (byte)0x38, (byte)0x03, (byte)0x64, (byte)0x17, (byte)0xfd, (byte)0x8e, (byte)0xbd, (byte)0xc5, (byte)0x21, (byte)0xb3, (byte)0x0c, (byte)0x8d, (byte)0xfb, (byte)0x92, (byte)0x27, (byte)0x78, (byte)0x82, (byte)0x45, (byte)0x13, (byte)0x7c, (byte)0xee, (byte)0x34, (byte)0xe1, (byte)0xda, (byte)0x94, (byte)0x2f, (byte)0x4e, (byte)0x02, (byte)0x1e, (byte)0x08, (byte)0xf9, (byte)0xf3, (byte)0x31, (byte)0x29, (byte)0x37, (byte)0xca, (byte)0x5c, (byte)0x2f, (byte)0x01, (byte)0x7f, (byte)0x36, (byte)0x3f, (byte)0xa0, (byte)0xe1, (byte)0xf1, (byte)0x1f, (byte)0x9c, (byte)0x84, (byte)0x61, (byte)0x3a, (byte)0x1d, (byte)0x7b, (byte)0x53, (byte)0x2a, (byte)0x03, (byte)0x0a, (byte)0x6a, (byte)0x04, (byte)0x3b, (byte)0xf0, (byte)0xbf, (byte)0x40, (byte)0xf5, (byte)0x89, (byte)0x3d, (byte)0xc0, (byte)0xed, (byte)0xb4, (byte)0x45, (byte)0x11, (byte)0xbe, (byte)0x75, (byte)0x8b, (byte)0xef, (byte)0xc5, (byte)0x08, (byte)0xeb, (byte)0xd5, (byte)0x1e, (byte)0x83, (byte)0x29, (byte)0x04, (byte)0x3b, (byte)0xd5, (byte)0x62, (byte)0xee, (byte)0x32, (byte)0x15, (byte)0xb4, (byte)0x3a, (byte)0xb5, (byte)0xe4, (byte)0x7b, (byte)0xc5, (byte)0x98, (byte)0x6e, (byte)0xcb, (byte)0x46, (byte)0x71, (byte)0xcc, (byte)0x74, (byte)0xbf, (byte)0x27, (byte)0x51, (byte)0x51, (byte)0x13, (byte)0xe2, (byte)0x2c, (byte)0x38, (byte)0x6e, (byte)0xee, (byte)0xd3, (byte)0x47, (byte)0x5c, (byte)0x83, (byte)0x38, (byte)0x3f, (byte)0x43, (byte)0x14, (byte)0x6c, (byte)0x14, (byte)0xe4, (byte)0x7b, (byte)0x62, (byte)0x59, (byte)0x98, (byte)0x0d, (byte)0x1b, (byte)0x4e, (byte)0x6a, (byte)0xa1, (byte)0x3f, (byte)0x56, (byte)0x01, (byte)0xcf, (byte)0xb4, (byte)0x73, (byte)0xca, (byte)0x75, (byte)0x8f, (byte)0xe4, (byte)0x71, (byte)0x95, (byte)0x73, (byte)0x54, (byte)0x78, (byte)0xc4, (byte)0x88, (byte)0x69, (byte)0x33, (byte)0x15, (byte)0xb5, (byte)0xd8, (byte)0x37, (byte)0x18, (byte)0xc2, (byte)0x9a, (byte)0x41, (byte)0xe3, (byte)0x84, (byte)0xbe, (byte)0x29, (byte)0x89, (byte)0x23, (byte)0xb8, (byte)0x1c, (byte)0x63, (byte)0xeb, (byte)0x2d, (byte)0xf2, (byte)0x2f, (byte)0x64, (byte)0x61, (byte)0x98, (byte)0xb6, (byte)0xfa, (byte)0x3f, (byte)0xe8, (byte)0xec, (byte)0x9d, (byte)0x2f, (byte)0x4f, (byte)0x3d, (byte)0x74, (byte)0x4f, (byte)0xf8, (byte)0x73, (byte)0xaf, (byte)0x90, (byte)0x92, (byte)0x64, (byte)0xea, (byte)0xb7, (byte)0x98, (byte)0x88, (byte)0x5b, (byte)0x43, (byte)0x48, (byte)0x1a, (byte)0xfa, (byte)0x2f, (byte)0x83, (byte)0x26, (byte)0xaf, (byte)0xc1, (byte)0x3c, (byte)0xdf, (byte)0x38, (byte)0x87, (byte)0xd0, (byte)0x03, (byte)0xb1, (byte)0x9f, (byte)0xb9, (byte)0x13, (byte)0x97, (byte)0xa1, (byte)0x65, (byte)0x92, (byte)0xf3, (byte)0x8f, (byte)0x3b, (byte)0xb9, (byte)0xaf, (byte)0x81, (byte)0x8c, (byte)0x8d, (byte)0xcf, (byte)0x25, (byte)0x04, (byte)0xd1, (byte)0x29, (byte)0xfa, (byte)0x22, (byte)0x51, (byte)0xed, (byte)0xd6, (byte)0xde, (byte)0x2a, (byte)0xf5, (byte)0xf9, (byte)0xc8, (byte)0x56, (byte)0x3f, (byte)0x2b, (byte)0xc3, (byte)0x9f, (byte)0x84, (byte)0xee, (byte)0x41, (byte)0xdb, (byte)0x16, (byte)0x5b, (byte)0xb3, (byte)0x90, (byte)0x43, (byte)0x0d, (byte)0x4f, (byte)0x8f, (byte)0x11, (byte)0xf4, (byte)0x46, (byte)0x0a, (byte)0x85, (byte)0x2e, (byte)0x1c, (byte)0xd9, (byte)0x8d, (byte)0xc2, (byte)0x1b, (byte)0xca, (byte)0x3d, (byte)0x5f, (byte)0x6c, (byte)0x2e, (byte)0x52, (byte)0xb8, (byte)0x13, (byte)0xd4, (byte)0xa8, (byte)0xbd, (byte)0x19, (byte)0x9e, (byte)0x32, (byte)0xb2, (byte)0x59, (byte)0x06, (byte)0x00, (byte)0xb5, (byte)0x51, (byte)0xc7, (byte)0xd7, (byte)0x5b, (byte)0x29, (byte)0x6b, (byte)0xb5, (byte)0xd2, (byte)0xeb, (byte)0xaa, (byte)0xba, (byte)0xfc, (byte)0x9e, (byte)0xa9, (byte)0xd6, (byte)0xf1, (byte)0x72, (byte)0x19, (byte)0x3f, (byte)0xfa, (byte)0x15, (byte)0x3d, (byte)0x3b, (byte)0x06, (byte)0x3e, (byte)0x49, (byte)0x7f, (byte)0xfd, (byte)0x43, (byte)0x89, (byte)0xca, (byte)0x15, (byte)0x41, (byte)0x21, (byte)0x30, (byte)0x05, (byte)0xa6, (byte)0x00, (byte)0x5c, (byte)0xe3, (byte)0x05, (byte)0xd3, (byte)0xb8, (byte)0xb5, (byte)0x0a, (byte)0xa7, (byte)0xa4, (byte)0xea, (byte)0x59, (byte)0x09, (byte)0x5c, (byte)0x03, (byte)0xfb, (byte)0x14, (byte)0x5f, (byte)0x9a, (byte)0xed, (byte)0x82, (byte)0xa4, (byte)0x7d, (byte)0xe0, (byte)0xc1, (byte)0xa2, (byte)0x09, (byte)0x66, (byte)0x56, (byte)0x38, (byte)0x22, (byte)0x49, (byte)0x49, (byte)0x5d, (byte)0xbb, (byte)0x99, (byte)0x47, (byte)0x25, (byte)0x8b, (byte)0x63, (byte)0x43, (byte)0xde, (byte)0xa3, (byte)0xa2, (byte)0x4a, (byte)0x47, (byte)0x0b, (byte)0xe8, (byte)0x28, (byte)0x7d, (byte)0x1a, (byte)0x98, (byte)0xe4, (byte)0xac, (byte)0x34, (byte)0x3f, (byte)0x4e, (byte)0xaa, (byte)0x46, (byte)0x1c, (byte)0x9e, (byte)0x76, (byte)0xa1, (byte)0xbc, (byte)0x06, (byte)0xaa, (byte)0xe7, (byte)0xc6, (byte)0x96, (byte)0x1f, (byte)0xb9, (byte)0x3a, (byte)0xb8, (byte)0x41, (byte)0x97, (byte)0xe6, (byte)0x1d, (byte)0xd7, (byte)0xb6, (byte)0x18, (byte)0x2a, (byte)0x72, (byte)0x71, (byte)0xc3, (byte)0x07, (byte)0xa9, (byte)0x25, (byte)0xd1, (byte)0x0e, (byte)0x87, (byte)0x12, (byte)0x8f, (byte)0xc1, (byte)0xd3, (byte)0xcd, }; /** * RC2 key. */ static final private byte[] RC2_KEY = new byte[] { (byte)0x2f, (byte)0xe5, (byte)0xb7, (byte)0x40, (byte)0x0c, (byte)0xd8, (byte)0xa5, (byte)0xef, (byte)0x87, (byte)0x23, (byte)0xb6, (byte)0x30, (byte)0x50, (byte)0xc3, (byte)0x4f, (byte)0xa7 }; /** * Generate secret key for RC2 crypto algorithm. * @return secret key for RC2 crypto algorithm. * * @throws NoSuchAlgorithmException * @throws InvalidKeyException * @throws InvalidKeySpecException */ private static SecretKey generateSecretKey() throws NoSuchAlgorithmException, InvalidKeyException, InvalidKeySpecException { // create a SecretKeySpec from key material return new SecretKeySpec(RC2_KEY, "RC2"); } /** * Check if RC2 crypting and decrypting works as expected. * * @param harness the test harness (null not permitted). * @param secretKey RC2 secret key * @param RC2 instance of class which implements RC2 crypto algorithm. * @param expectedCipherText expected byte stream. * @throws InvalidKeyException * @throws IllegalBlockSizeException * @throws BadPaddingException */ private static void checkCipher(TestHarness harness, SecretKey secretKey, Cipher RC2, String originalText, byte[] expectedCipherText) { try { RC2.init(Cipher.ENCRYPT_MODE, secretKey); byte[] ciphertext; ciphertext = RC2.doFinal(originalText.getBytes()); RC2.init(Cipher.DECRYPT_MODE, secretKey); String cleartext = new String(RC2.doFinal(ciphertext)); //printCipherTest(ciphertext); // test if ENCRYPT_MODE is ok for (int i = 0; i < expectedCipherText.length; i++) { if (expectedCipherText[i] != ciphertext[i]) { harness.fail("cipher text differ at index " + i); } } // test if DECRYPT_MODE is ok if (!originalText.equals(cleartext)) { harness.fail("Decrypted text is different from the original!"); } } catch (InvalidKeyException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } catch (IllegalBlockSizeException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } catch (BadPaddingException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } } @SuppressWarnings({ "boxing", "unused" }) private static void printCipherTest(byte[] ciphertext) { for (int i=0; i < ciphertext.length; i++) { System.out.format("(byte)0x%02x, ", ciphertext[i]); if ((i+1)%8 == 0) { System.out.println(); } } } /** * Run the test harness. * * @param harness the test harness (null not permitted). * @throws NoSuchAlgorithmException * @throws InvalidKeyException * @throws InvalidKeySpecException * @throws NoSuchPaddingException * @throws IllegalBlockSizeException * @throws BadPaddingException */ private static void run(TestHarness harness) { SecretKey secretKey; try { secretKey = generateSecretKey(); Cipher RC2 = Cipher.getInstance("RC2"); // check crypto for many open texts. checkCipher(harness, secretKey, RC2, ORIGINAL_TEXT_1, EXPECTED_CIPHER_TEXT_1); checkCipher(harness, secretKey, RC2, ORIGINAL_TEXT_2, EXPECTED_CIPHER_TEXT_2); checkCipher(harness, secretKey, RC2, ORIGINAL_TEXT_3, EXPECTED_CIPHER_TEXT_3); checkCipher(harness, secretKey, RC2, ORIGINAL_TEXT_4, EXPECTED_CIPHER_TEXT_4); checkCipher(harness, secretKey, RC2, ORIGINAL_TEXT_5, EXPECTED_CIPHER_TEXT_5); checkCipher(harness, secretKey, RC2, ORIGINAL_TEXT_6, EXPECTED_CIPHER_TEXT_6); checkCipher(harness, secretKey, RC2, ORIGINAL_TEXT_7, EXPECTED_CIPHER_TEXT_7); } catch (InvalidKeyException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } catch (NoSuchAlgorithmException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } catch (InvalidKeySpecException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } catch (NoSuchPaddingException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } } /** * Test if RC2 crypto algorithm is available on given JVM. */ public boolean isRC2CipherAvailable() { try { Cipher.getInstance("RC2"); } catch (NoSuchAlgorithmException e) { return false; } catch (NoSuchPaddingException e) { return false; } return true; } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { if (!isRC2CipherAvailable()) { return; } run(harness); } /** * Runs the test from CLI. * * @param args * @throws Exception */ public static void main(String[] args) throws Exception { run(null); } } mauve-20140821/gnu/testlet/javax/crypto/Cipher/RSACipherTest.java0000644000175000001440000002605612355467361023375 0ustar dokousers// Test basic usage of RSA crypto algorithm. // Copyright (C) 2013, 2014 Pavel Tisnovsky // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, // Fifth Floor, Boston, MA 02110-1301 USA. // Tags: JDK1.5 package gnu.testlet.javax.crypto.Cipher; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.math.BigInteger; import java.security.InvalidKeyException; import java.security.KeyFactory; import java.security.NoSuchAlgorithmException; import java.security.interfaces.RSAPrivateKey; import java.security.interfaces.RSAPublicKey; import java.security.spec.InvalidKeySpecException; import java.security.spec.RSAPrivateKeySpec; import java.security.spec.RSAPublicKeySpec; import javax.crypto.BadPaddingException; import javax.crypto.Cipher; import javax.crypto.IllegalBlockSizeException; import javax.crypto.NoSuchPaddingException; /** * Test the basic usage of RSA crypto algorithm. * * @author Pavel Tisnovsky (ptisnovs@redhat.com) */ public class RSACipherTest implements Testlet { /** * Text which should be crypted into byte stream. */ static final private String ORIGINAL_TEXT_1 = ""; /** * Text which should be crypted into byte stream. */ static final private String ORIGINAL_TEXT_2 = "\0"; /** * Text which should be crypted into byte stream. */ static final private String ORIGINAL_TEXT_3 = " "; /** * Text which should be crypted into byte stream. */ static final private String ORIGINAL_TEXT_4 = "a"; /** * Text which should be crypted into byte stream. */ static final private String ORIGINAL_TEXT_5 = "Hello World!"; /** * Text which should be crypted into byte stream. */ static final private String ORIGINAL_TEXT_6 = "The quick brown fox jumps over the lazy dog"; /** * Text which should be crypted into byte stream. */ static final private String ORIGINAL_TEXT_7 = "Lorem ipsum dolor sit amet, consectetur " + "adipisicing elit, sed do eiusmod tempor " + "incididunt ut labore et dolore magna aliqua. " + "Ut enim ad minim veniam, quis nostrud " + "exercitation ullamco laboris nisi ut aliquip " + "ex ea commodo consequat. Duis aute irure " + "dolor in reprehenderit in voluptate velit " + "esse cillum dolore eu fugiat nulla pariatur. " + "Excepteur sint occaecat cupidatat non proident, " + "sunt in culpa qui officia deserunt mollit anim " + "id est laborum."; static final private String PUBLIC_MODULUS = "20521618938750603886170744528061864800146016572819080111682671691278915352252891634200145574388427469417751651363578227984376950979495478398227030691493445339382263983444097283703619373617601731938263971183654870713491367757745954357344770541391919418932193615123185798218976740947824407136202739666081938920517644571472041627033780738340359795905800010579818905513797329848506741408960279798882512687625717535119998977014933204822468082603589932145482019064491156658721732916066235818372701810201909767317918681953323275040404827189693865288044179436810701655573732550803016254388672687249662548511933125930329915723"; static final private String PUBLIC_EXPONENT = "65537"; static final private String PRIVATE_MODULUS = "20521618938750603886170744528061864800146016572819080111682671691278915352252891634200145574388427469417751651363578227984376950979495478398227030691493445339382263983444097283703619373617601731938263971183654870713491367757745954357344770541391919418932193615123185798218976740947824407136202739666081938920517644571472041627033780738340359795905800010579818905513797329848506741408960279798882512687625717535119998977014933204822468082603589932145482019064491156658721732916066235818372701810201909767317918681953323275040404827189693865288044179436810701655573732550803016254388672687249662548511933125930329915723"; static final private String PRIVATE_EXPONENT = "8000478567604222489458817502967493868253516691876764222553553896458127275433135194681076634963826874034874264802164025283440363421061529717178092286306323579370688996704101280171925400856458553962229648347382119210975547342881259957431052494507889301520019940894416850702578020526067925024489677563336642498311583438627434254066916514271727557705610984000137209177546192306797912010857347995421016713475854744382175824136703731479787147945167966533384454182558767171908782359933795514186110809500085594996579279145828982043523663886747894662875604861018419475159222870626595731403703852674247380889399799091109758673"; /** * Generate public key spec for RSA crypto algorithm. * * @return public key spec for RSA crypto algorithm. * * @throws NoSuchAlgorithmException * @throws InvalidKeyException * @throws InvalidKeySpecException */ private static RSAPublicKeySpec generatePublicKeySpec() throws NoSuchAlgorithmException, InvalidKeyException, InvalidKeySpecException { return new RSAPublicKeySpec(new BigInteger(PUBLIC_MODULUS), new BigInteger(PUBLIC_EXPONENT)); } /** * Generate private key spec for RSA crypto algorithm. * * @return private key spec for RSA crypto algorithm. * * @throws NoSuchAlgorithmException * @throws InvalidKeyException * @throws InvalidKeySpecException */ private static RSAPrivateKeySpec generatePrivateKeySpec() throws NoSuchAlgorithmException, InvalidKeyException, InvalidKeySpecException { return new RSAPrivateKeySpec(new BigInteger(PRIVATE_MODULUS), new BigInteger(PRIVATE_EXPONENT)); } /** * Check if RSA crypting and decrypting works as expected. * * @param harness the test harness (null not permitted). * @param RSA instance of class which implements RSA crypto algorithm. * @throws IllegalBlockSizeException * @throws InvalidKeyException * @throws IllegalBlockSizeException * @throws BadPaddingException */ private static void checkCipher(TestHarness harness, RSAPublicKey publicKey, RSAPrivateKey privateKey, Cipher RSA, String originalText) throws IllegalBlockSizeException { try { RSA.init(Cipher.ENCRYPT_MODE, publicKey); byte[] ciphertext; ciphertext = RSA.doFinal(originalText.getBytes()); RSA.init(Cipher.DECRYPT_MODE, privateKey); String cleartext = new String(RSA.doFinal(ciphertext)); // test if DECRYPT_MODE is ok if (!originalText.equals(cleartext)) { harness.fail("Decrypted text is different from the original!"); } } catch (InvalidKeyException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } catch (BadPaddingException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } } /** * Run the test harness. * * @param harness the test harness (null not permitted). * @throws NoSuchAlgorithmException * @throws InvalidKeyException * @throws InvalidKeySpecException * @throws NoSuchPaddingException * @throws IllegalBlockSizeException * @throws BadPaddingException */ private static void run(TestHarness harness) { try { KeyFactory keyFactory = KeyFactory.getInstance("RSA"); RSAPublicKey publicKey = (RSAPublicKey) keyFactory.generatePublic(generatePublicKeySpec()); RSAPrivateKey privateKey = (RSAPrivateKey) keyFactory.generatePrivate(generatePrivateKeySpec()); Cipher RSA = Cipher.getInstance("RSA/ECB/PKCS1Padding"); // check crypto for many open texts. checkCipher(harness, publicKey, privateKey, RSA, ORIGINAL_TEXT_1); checkCipher(harness, publicKey, privateKey, RSA, ORIGINAL_TEXT_2); checkCipher(harness, publicKey, privateKey, RSA, ORIGINAL_TEXT_3); checkCipher(harness, publicKey, privateKey, RSA, ORIGINAL_TEXT_4); checkCipher(harness, publicKey, privateKey, RSA, ORIGINAL_TEXT_5); checkCipher(harness, publicKey, privateKey, RSA, ORIGINAL_TEXT_6); try { checkCipher(harness, publicKey, privateKey, RSA, ORIGINAL_TEXT_7); harness.fail("IllegalBlockSizeException don't thrown as expected!"); } catch (IllegalBlockSizeException e) { // OK, expected here } } catch (InvalidKeyException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } catch (NoSuchAlgorithmException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } catch (InvalidKeySpecException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } catch (NoSuchPaddingException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } catch (IllegalBlockSizeException e) { harness.fail("Failure: " + e.getMessage()); harness.debug(e); } } /** * Test if RSA crypto algorithm is available on given JVM. */ public boolean isRSACipherAvailable() { try { Cipher.getInstance("RSA"); } catch (NoSuchAlgorithmException e) { return false; } catch (NoSuchPaddingException e) { return false; } return true; } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { if (!isRSACipherAvailable()) { return; } run(harness); } /** * Runs the test from CLI. * * @param args * @throws Exception */ public static void main(String[] args) throws Exception { run(null); } } mauve-20140821/gnu/testlet/javax/crypto/key/0000755000175000001440000000000012375316426017454 5ustar dokousersmauve-20140821/gnu/testlet/javax/crypto/key/dh/0000755000175000001440000000000012375316426020047 5ustar dokousersmauve-20140821/gnu/testlet/javax/crypto/key/srp6/0000755000175000001440000000000012375316426020346 5ustar dokousersmauve-20140821/gnu/testlet/javax/crypto/cipher/0000755000175000001440000000000012375316426020136 5ustar dokousersmauve-20140821/gnu/testlet/javax/crypto/spec/0000755000175000001440000000000012375316426017616 5ustar dokousersmauve-20140821/gnu/testlet/javax/crypto/spec/TestOfPBEKeySpec.java0000644000175000001440000002777610453444630023515 0ustar dokousers/* TestOfPBEKeySpec.java -- Test for PBEKeySpec Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.javax.crypto.spec; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Arrays; import javax.crypto.spec.PBEKeySpec; public class TestOfPBEKeySpec implements Testlet { /* (non-Javadoc) * @see gnu.testlet.Testlet#test(gnu.testlet.TestHarness) */ public void test(TestHarness harness) { testConstructorP(harness); testConstructorPSI(harness); testConstructorPSIK(harness); testPassword(harness); testSalt(harness); testIterationCount(harness); testKeyLength(harness); } /** * Test the constructor PBEKeySpec(char[] password). */ private void testConstructorP(TestHarness harness) { char[] password = "HelloWorld".toCharArray(); try { PBEKeySpec pbeKeySpec = new PBEKeySpec(password); harness.check(pbeKeySpec.getSalt() == null, "salt MUST have a default value of null"); harness.check(pbeKeySpec.getIterationCount() == 0, "iterationCount MUST have a default value of 0"); harness.check(pbeKeySpec.getKeyLength() == 0, "keyLength MUST have a default value of 0"); } catch (Exception x) { harness.debug(x); harness.fail("PBEKeySpec() with valid password failed: " + x); } try { PBEKeySpec pbeKeySpec = new PBEKeySpec(null); char[] pbePassword = pbeKeySpec.getPassword(); harness.check(pbePassword.length == 0, "a null password MUST produce an empty char array"); } catch (Exception x) { harness.debug(x); harness.fail(String.valueOf(x)); } } /** * Test the constructor * PBEKeySpec(char[] password, byte[] salt, int iterationCount). */ private void testConstructorPSI(TestHarness harness) { char[] password = "HelloWorld".toCharArray(); byte[] salt = new byte[] { 0, 1, 1, 2, 3, 5, 8 }; int iterationCount = 102; try { PBEKeySpec pbeKeySpec = new PBEKeySpec(password, salt, iterationCount); harness.check(pbeKeySpec.getKeyLength() == 0, "keyLength MUST have a default value of 0"); } catch (Exception x) { harness.debug(x); harness.fail("PBEKeySpec() with valid password, salt and " + "iterationCount failed:" + x); } try { PBEKeySpec pbeKeySpec = new PBEKeySpec(null, salt, iterationCount); char[] pbePassword = pbeKeySpec.getPassword(); harness.check(pbePassword.length == 0, "a null password MUST produce an empty char array"); } catch (Exception x) { harness.debug(x); harness.fail(String.valueOf(x)); } String msg = "PBEKeySpec() MUST throw NullPointerException if salt is null"; try { new PBEKeySpec(password, null, iterationCount); harness.fail(msg); } catch (NullPointerException npe) { harness.check(true, msg); } catch (Exception x) { harness.debug(x); harness.fail(String.valueOf(x)); } msg = "PBEKeySpec() MUST throw IllegalArgumentException if salt is an " + "empty array"; try { byte[] emptySalt = new byte[0]; new PBEKeySpec(password, emptySalt, iterationCount); harness.fail(msg); } catch (IllegalArgumentException iae) { harness.check(true, msg); } catch (Exception x) { harness.debug(x); harness.fail(String.valueOf(x)); } msg = "PBEKeySpec() MUST throw IllegalArgumentException if iterationCount " + "is negative"; try { new PBEKeySpec(password, salt, - 1); harness.fail(msg); } catch (IllegalArgumentException iae) { harness.check(true, msg); } catch (Exception x) { harness.debug(x); harness.fail(String.valueOf(x)); } } /** * Test the constructor * PBEKeySpec(char[] password, byte[] salt, int iterationCount, int keyLength). */ private void testConstructorPSIK(TestHarness harness) { char[] password = "HelloWorld".toCharArray(); byte[] salt = new byte[] { 0, 1, 1, 2, 3, 5, 8 }; int iterationCount = 102; int keyLength = 4; try { new PBEKeySpec(password, salt, iterationCount, keyLength); } catch (Exception x) { harness.debug(x); harness.fail("PBEKeySpec() with valid password, salt, iterationCount " + "and keyLength failed: " + x); } try { PBEKeySpec pbeKeySpec = new PBEKeySpec(null, salt, iterationCount, keyLength); char[] pbePassword = pbeKeySpec.getPassword(); harness.check(pbePassword.length == 0, "a null password MUST produce an empty char array"); } catch (Exception x) { harness.debug(x); harness.fail("PBEKeySpec(password, salt, iterationcount, keyLength) " + "with a null password failed: " + x); } String msg = "PBEKeySpec() MUST throw NullPointerException if salt is null"; try { new PBEKeySpec(password, null, iterationCount, keyLength); harness.fail(msg); } catch (NullPointerException npe) { harness.check(true, msg); } catch (Exception x) { harness.debug(x); harness.fail(String.valueOf(x)); } msg = "PBEKeySpec() MUST throw IllegalArgumentException if salt is an " + "empty array"; try { byte[] emptySalt = new byte[0]; new PBEKeySpec(password, emptySalt, iterationCount, keyLength); harness.fail(msg); } catch (IllegalArgumentException iae) { harness.check(true, msg); } catch (Exception x) { harness.debug(x); harness.fail(String.valueOf(x)); } msg = "PBEKeySpec() MUST throw IllegalArgumentException if iterationCount " + "is negative"; try { new PBEKeySpec(password, salt, - 1, keyLength); harness.fail(msg); } catch (IllegalArgumentException iae) { harness.check(true, msg); } catch (Exception x) { harness.debug(x); harness.fail(String.valueOf(x)); } msg = "PBEKeySpec() MUST throw IllegalArgumentException if keyLength is " + "negative"; try { new PBEKeySpec(password, salt, iterationCount, -1); harness.fail(msg); } catch (IllegalArgumentException iae) { harness.check(true, msg); } catch (Exception x) { harness.debug(x); harness.fail(String.valueOf(x)); } } /** * Test that PBEKeySpec is indeed storing a copy of the password and not the * password itself. */ private void testPassword(TestHarness harness) { char[] password = "HelloWorld".toCharArray(); try { PBEKeySpec pbeKeySpec = new PBEKeySpec(password); // check to make sure PBEKeySpec password copy matches harness.check(Arrays.equals(pbeKeySpec.getPassword(), password), "Value returned from getPassword() MUST equal the actual " + "password"); char[] passwordCopy = pbeKeySpec.getPassword(); for (int i = 0; i < passwordCopy.length; i++) passwordCopy[i] = 'a'; char[] originalPassword = "HelloWorld".toCharArray(); harness.check(Arrays.equals(password, originalPassword), "Changing the stored password changed the actual " + "password. MUST store a COPY of the password"); harness.check(Arrays.equals(pbeKeySpec.getPassword(), originalPassword), "Changing the value returned from getPassword() changed" + " the stored password. MUST return a COPY of the " + "password"); // this should clear just the copy of password, not the password itself pbeKeySpec.clearPassword(); harness.check(Arrays.equals(password, "HelloWorld".toCharArray()), "clearPassword() cleared the actual password. MUST store " + "a COPY of the password"); String msg = "Calling getPassword() after clearPassword() MUST throw " + "IllegalStateException"; try { pbeKeySpec.getPassword(); harness.fail(msg); } catch (IllegalStateException ise) { harness.check(true, msg); } } catch (Exception x) { harness.debug(x); harness.fail("testPassword(): " + x); } } /** * Test that PBEKeySpec is indeed storing a copy of the salt and not the salt * itself. */ private void testSalt(TestHarness harness) { char[] password = "HelloWorld".toCharArray(); byte[] salt = new byte[] { 0, 1, 1, 2, 3, 5, 8 }; int iterationCount = 102; try { PBEKeySpec pbeKeySpec = new PBEKeySpec(password, salt, iterationCount); // check to make sure the PBEKeySpec password copy matches harness.check(Arrays.equals(pbeKeySpec.getSalt(), salt), "Value returned from getSalt() MUST equal actual salt"); // check that PBEKeySpec is indeed storing only a copy of the salt byte[] saltCopy = pbeKeySpec.getSalt(); for (int i = 0; i < saltCopy.length; i++) saltCopy[i] = (byte) i; byte[] originalSalt = new byte[] { 0, 1, 1, 2, 3, 5, 8 }; harness.check(Arrays.equals(salt, originalSalt), "Changing the stored salt changed the actual salt. " + "MUST store a COPY of the salt"); harness.check(Arrays.equals(pbeKeySpec.getSalt(), originalSalt), "Changing the value returned from getSalt() changed the " + "stored salt. MUST return a COPY of the salt"); } catch (Exception x) { harness.debug(x); harness.fail("testSalt(): " + x); } } /** * Quick tests to verify PBEKeySpec is storing the proper IterationCount. */ private void testIterationCount(TestHarness harness) { char[] password = "HelloWorld".toCharArray(); byte[] salt = new byte[] { 0, 1, 1, 2, 3, 5, 8 }; int iterationCount = 102; String msg = "getIterationCount() MUST match iterationCount"; try { PBEKeySpec pbeKeySpec = new PBEKeySpec(password, salt, iterationCount); harness.check(pbeKeySpec.getIterationCount() == iterationCount, msg); } catch (Exception x) { harness.debug(x); harness.fail("testIterationCount(): " + x); } } /** * Quick tests to verify PBEKeySpec is storing the proper KeyLength. */ private void testKeyLength(TestHarness harness) { char[] password = "HelloWorld".toCharArray(); byte[] salt = new byte[] { 0, 1, 1, 2, 3, 5, 8 }; int iterationCount = 102; int keyLength = 4; String msg = "getKeyLength() MUST match keyLength"; try { PBEKeySpec pbeKeySpec = new PBEKeySpec(password, salt, iterationCount, keyLength); harness.check(pbeKeySpec.getKeyLength() == keyLength, msg); } catch (Exception x) { harness.debug(x); harness.fail("testKeyLength(): " + x); } } } mauve-20140821/gnu/testlet/javax/crypto/spec/TestOfSecretKeySpec.java0000644000175000001440000000676410454775556024345 0ustar dokousers/* TestOfSecretKeySpec.java -- Tests for SecretKeySpec Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.javax.crypto.spec; import javax.crypto.spec.SecretKeySpec; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class TestOfSecretKeySpec implements Testlet { /** * Tests for SecretKeySpec. *

    *

    * Note: This is not a complete coverage test for SecretKeySpec. It currently * only tests the Equals() method. */ public void test(TestHarness harness) { testEquals(harness); } /* * Test to make sure that the equals method functions properly. */ private void testEquals(TestHarness harness) { String algorithm = "DES"; String algorithm2 = "AES"; byte[] key = new byte[32]; for (int i = 0; i < key.length; i++) key[i] = (byte) i; byte[] key2 = new byte[32]; for (int i = 0; i < key2.length; i++) key2[i] = (byte) i; byte[] key3 = new byte[32]; for (int i = 0; i < key3.length; i++) key3[i] = (byte) (i + 3); SecretKeySpec secretKeySpec = new SecretKeySpec(key, algorithm); SecretKeySpec secretKeySpec2 = new SecretKeySpec(key2, algorithm); SecretKeySpec secretKeySpec3 = new SecretKeySpec(key3, algorithm); SecretKeySpec secretKeySpec4 = new SecretKeySpec(key, algorithm2); // test if two similar SecretKeySpecs are equal try { harness.check(secretKeySpec.equals(secretKeySpec2) == true, "equals(secretKeySpec2) should return true"); } catch (Exception x) { harness.debug(x); harness.fail("equals (secretkeyspec2) : " + String.valueOf(x)); } // test if two SecretKeySpecs with different keys are not equal try { harness.check(secretKeySpec.equals(secretKeySpec3) == false, "equals(secretKeySpec3) should return false"); } catch (Exception x) { harness.debug(x); harness.fail("equals (secretkeyspec3) : " + String.valueOf(x)); } // test if two SecretKeySpecs with different algorthms are not equal try { harness.check(secretKeySpec.equals(secretKeySpec4) == false, "equals(secretKeySpec4) should return false"); } catch (Exception x) { harness.debug(x); harness.fail("equals (secretkeyspec4) : " + String.valueOf(x)); } // Check if passing another object other than a SecretKeySpec will // return false try { harness.check(secretKeySpec.equals("Hello World") == false, "equals (\"Hello World\") should have returned false"); } catch (Exception x) { harness.debug(x); harness.fail("equals (\"Hello World\") : " + String.valueOf(x)); } } } mauve-20140821/gnu/testlet/javax/crypto/keyring/0000755000175000001440000000000012375316426020334 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/0000755000175000001440000000000012375316426016473 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/AbstractAction/0000755000175000001440000000000012375316426021374 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/AbstractAction/constructors.java0000644000175000001440000000754610262716177025023 0ustar dokousers// Tags: JDK1.3 // Uses: MyAction // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.AbstractAction; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.Icon; import javax.swing.ImageIcon; /** * Some tests for the constructors in the {@link AbstractAction} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); } private void testConstructor1(TestHarness harness) { harness.checkPoint("AbstractAction()"); MyAction a1 = new MyAction(); harness.check(a1.getValue(Action.ACCELERATOR_KEY), null); harness.check(a1.getValue(Action.ACTION_COMMAND_KEY), null); harness.check(a1.getValue(Action.DEFAULT), null); harness.check(a1.getValue(Action.LONG_DESCRIPTION), null); harness.check(a1.getValue(Action.MNEMONIC_KEY), null); harness.check(a1.getValue(Action.NAME), null); harness.check(a1.getValue(Action.SHORT_DESCRIPTION), null); harness.check(a1.getValue(Action.SMALL_ICON), null); harness.check(a1.isEnabled()); } private void testConstructor2(TestHarness harness) { harness.checkPoint("AbstractAction(String)"); MyAction a1 = new MyAction("MyAction"); harness.check(a1.getValue(Action.ACCELERATOR_KEY), null); harness.check(a1.getValue(Action.ACTION_COMMAND_KEY), null); harness.check(a1.getValue(Action.DEFAULT), null); harness.check(a1.getValue(Action.LONG_DESCRIPTION), null); harness.check(a1.getValue(Action.MNEMONIC_KEY), null); harness.check(a1.getValue(Action.NAME), "MyAction"); harness.check(a1.getValue(Action.SHORT_DESCRIPTION), null); harness.check(a1.getValue(Action.SMALL_ICON), null); harness.check(a1.isEnabled()); MyAction a2 = new MyAction(null); harness.check(a2.getValue(Action.NAME), null); } private void testConstructor3(TestHarness harness) { harness.checkPoint("AbstractAction(String, Icon)"); Icon icon = new ImageIcon(); MyAction a1 = new MyAction("MyAction", icon); harness.check(a1.getValue(Action.ACCELERATOR_KEY), null); harness.check(a1.getValue(Action.ACTION_COMMAND_KEY), null); harness.check(a1.getValue(Action.DEFAULT), null); harness.check(a1.getValue(Action.LONG_DESCRIPTION), null); harness.check(a1.getValue(Action.MNEMONIC_KEY), null); harness.check(a1.getValue(Action.NAME), "MyAction"); harness.check(a1.getValue(Action.SHORT_DESCRIPTION), null); harness.check(a1.getValue(Action.SMALL_ICON), icon); harness.check(a1.isEnabled()); MyAction a2 = new MyAction(null, icon); harness.check(a2.getValue(Action.NAME), null); harness.check(a2.getValue(Action.SMALL_ICON), icon); MyAction a3 = new MyAction("X", null); harness.check(a3.getValue(Action.NAME), "X"); harness.check(a3.getValue(Action.SMALL_ICON), null); } } mauve-20140821/gnu/testlet/javax/swing/AbstractAction/MyAction.java0000644000175000001440000000257610262716177023774 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.AbstractAction; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.Icon; /** * A custom action used for testing. */ public class MyAction extends AbstractAction { public MyAction() { super(); } public MyAction(String name) { super(name); } public MyAction(String name, Icon icon) { super(name, icon); } public void actionPerformed(ActionEvent e) { } public Object clone() throws CloneNotSupportedException { return super.clone(); } } mauve-20140821/gnu/testlet/javax/swing/AbstractAction/clone.java0000644000175000001440000000305310262716177023340 0ustar dokousers// Tags: JDK1.3 // Uses: MyAction // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.AbstractAction; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Action; /** * Checks that the clone() method works correctly. */ public class clone implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyAction a1 = new MyAction("X"); MyAction a2 = null; try { a2 = (MyAction) a1.clone(); } catch (CloneNotSupportedException e) { harness.check(false); } harness.check(a1 != a2); harness.check(a1.getClass().equals(a2.getClass())); harness.check(a2.getValue(Action.NAME), "X"); } } mauve-20140821/gnu/testlet/javax/swing/AbstractAction/MyPropertyChangeListener.java0000644000175000001440000000265310262716177027213 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.AbstractAction; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; /** * A custom action used for testing. */ public class MyPropertyChangeListener implements PropertyChangeListener { boolean change; public MyPropertyChangeListener() { this.change = false; } public void propertyChange(PropertyChangeEvent e) { this.change = true; } public boolean getChange() { return this.change; } public void setChange(boolean flag) { this.change = flag; } } mauve-20140821/gnu/testlet/javax/swing/AbstractAction/getValue.java0000644000175000001440000000337010262716177024016 0ustar dokousers// Tags: JDK1.3 // Uses: MyAction // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.AbstractAction; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.AbstractAction; import javax.swing.Action; /** * Some tests for the getValue() method in the {@link AbstractAction} class. */ public class getValue implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyAction a1 = new MyAction(); a1.putValue(Action.NAME, "Name"); harness.check(a1.getValue(Action.NAME), "Name"); a1.putValue(Action.NAME, "Name2"); harness.check(a1.getValue(Action.NAME), "Name2"); a1.putValue(Action.NAME, null); harness.check(a1.getValue(Action.NAME), null); // try unrecognised key harness.check(a1.getValue("XYZ"), null); // try null key harness.check(a1.getValue(null), null); } } mauve-20140821/gnu/testlet/javax/swing/AbstractAction/setEnabled.java0000644000175000001440000000327710263000246024276 0ustar dokousers// Tags: JDK1.3 // Uses: MyAction MyPropertyChangeListener // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.AbstractAction; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.AbstractAction; /** * Some tests for the setEnabled() method in the {@link AbstractAction} class. */ public class setEnabled implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyPropertyChangeListener listener = new MyPropertyChangeListener(); MyAction a1 = new MyAction(); a1.addPropertyChangeListener(listener); harness.check(a1.isEnabled()); harness.check(!listener.getChange()); a1.setEnabled(true); // no change harness.check(!listener.getChange()); a1.setEnabled(false); harness.check(listener.getChange()); } } mauve-20140821/gnu/testlet/javax/swing/AbstractAction/putValue.java0000644000175000001440000000367310373634476024061 0ustar dokousers// Tags: JDK1.3 // Uses: MyAction // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.AbstractAction; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.AbstractAction; import javax.swing.Action; /** * Some tests for the putValue() method in the {@link AbstractAction} class. */ public class putValue implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyAction a1 = new MyAction(); a1.putValue(Action.NAME, "Name"); harness.check(a1.getValue(Action.NAME), "Name"); a1.putValue(Action.NAME, "Name2"); harness.check(a1.getValue(Action.NAME), "Name2"); a1.putValue(Action.NAME, null); harness.check(a1.getValue(Action.NAME), null); // try null key - it is not specified what happens here // so we don't explicitly test this case. /* boolean pass = false; try { a1.putValue(null, "XYZ"); Object value = a1.getValue(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); */ } } mauve-20140821/gnu/testlet/javax/swing/JViewport/0000755000175000001440000000000012375316426020424 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JViewport/TestViewport.java0000644000175000001440000000315010325206654023737 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JViewport; import javax.swing.JViewport; /** * A subclass of {@link javax.swing.JViewport} that enables to check if * certain methods (like repaint() or revalidate()) are called correctly. * * @author Roman Kennke (kennke@aicas.com) */ class TestViewport extends JViewport { /** * A flag indicating if repaint() has been called. */ boolean repaintCalled; /** * A flag indicating if revalidate() has been called. */ boolean revalidateCalled; /** * Performs the superclass repaint and sets the repaintCalled flag to true. */ public void repaint() { repaintCalled = true; super.repaint(); } /** * Performs the superclass revalidate and sets the revalidateCalled flag * to true. */ public void revalidate() { revalidateCalled = true; super.revalidate(); } } mauve-20140821/gnu/testlet/javax/swing/JViewport/setView.java0000644000175000001440000000623611015022010022671 0ustar dokousers// Tags: JDK1.2 // Uses: TestViewport // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JViewport; import javax.swing.JComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Checks if setView() calls revalidate and repaint. * * @author Roman Kennke (kennke@aicas.com) */ public class setView implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testRepaint(harness); testRevalidate(harness); } /** * Tests if setView triggers a repaint. setView should trigger a * repaint() call whenever method is called, independent of * actual value change. * * @param harness the test harness to use */ private void testRepaint(TestHarness harness) { JComponent c1 = new JComponent(){}; JComponent c2 = new JComponent(){}; TestViewport c = new TestViewport(); // Set to null, so that we know the state. c.setView(null); c.repaintCalled = false; // Change state and check if repaint is called. c.setView(c1); harness.check(c.repaintCalled, true); // Don't change state. c.repaintCalled = false; c.setView(c1); harness.check(c.repaintCalled, true); // Change state and check if repaint is called. c.repaintCalled = false; c.setView(c2); harness.check(c.repaintCalled, true); // Don't change state. c.repaintCalled = false; c.setView(c2); harness.check(c.repaintCalled, true); } /** * Tests if setView triggers a revalidate. setView should trigger * a revalidate(), independent of actual value change. * * @param harness the test harness to use */ private void testRevalidate(TestHarness harness) { JComponent c1 = new JComponent(){}; JComponent c2 = new JComponent(){}; TestViewport c = new TestViewport(); // Set to null, so that we know the state. c.setView(null); c.revalidateCalled = false; // Change state and check if repaint is called. c.setView(c1); harness.check(c.revalidateCalled, true); // Don't change state. c.revalidateCalled = false; c.setView(c1); harness.check(c.revalidateCalled, true); // Change state and check if repaint is called. c.revalidateCalled = false; c.setView(c2); harness.check(c.revalidateCalled, true); // Don't change state. c.revalidateCalled = false; c.setView(c2); harness.check(c.revalidateCalled, true); } } mauve-20140821/gnu/testlet/javax/swing/JMenuItem/0000755000175000001440000000000012375316426020330 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JMenuItem/constructors.java0000644000175000001440000000451510271121044023727 0ustar dokousers// Tags: JDK1.3 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JMenuItem; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.AbstractAction.MyAction; import javax.swing.Action; import javax.swing.JMenuItem; import javax.swing.KeyStroke; /** * Some tests for the constructors in the {@link JMenuItem} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); // insert other constructor tests later } private void testConstructor1(TestHarness harness) { harness.checkPoint("JMenuItem(Action)"); // check for bug parade 4304129 MyAction a = new MyAction(); a.putValue(Action.NAME, "Action 1"); a.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke('A')); a.putValue(Action.MNEMONIC_KEY, new Integer(50)); a.putValue(Action.ACTION_COMMAND_KEY, "ActionCommand"); JMenuItem item = new JMenuItem(a); harness.check(item.getText(), "Action 1"); harness.check(item.getAccelerator(), KeyStroke.getKeyStroke('A')); harness.check(item.getMnemonic(), 50); harness.check(item.getActionCommand(), "ActionCommand"); // test null argument item = new JMenuItem((Action) null); harness.check(item.getText(), null); harness.check(item.getAccelerator(), null); harness.check(item.getMnemonic(), 0); harness.check(item.getActionCommand(), null); } } mauve-20140821/gnu/testlet/javax/swing/JMenuItem/getActionCommand.java0000644000175000001440000000266010265073350024403 0ustar dokousers// Tags: JDK1.2 // Uses: ../AbstractButton/getActionCommand // Copyright (C) 2005 Robert Schuster // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JMenuItem; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JMenuItem; /**

    Tests the JMenuItem's getActionCommand * method.

    * *

    Please note that the interesting bits of this test reside in the superclass * {@link gnu.testlet.javax.swing.AbstractButton} * * @author Robert Schuster * */ public class getActionCommand extends gnu.testlet.javax.swing.AbstractButton.getActionCommand implements Testlet { public void test(TestHarness harness) { check(new JMenuItem("bla"), harness); } }mauve-20140821/gnu/testlet/javax/swing/JMenuItem/DragSelectTest.java0000644000175000001440000000461710513676147024061 0ustar dokousers/* DragSelectTest.java -- Tests if drag selection works Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 manual package gnu.testlet.javax.swing.JMenuItem; import java.awt.Component; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JRootPane; import gnu.testlet.VisualTestlet; public class DragSelectTest extends VisualTestlet { public String getInstructions() { return "Press the mouse on the 'Menu' menu, hold the button pressed and " + "drag it to one of the menu items. Then release the mouse " + "button"; } public String getExpectedResults() { return "The menu should be closed and the name of the menu item shown in " + "the panel below"; } public Component getTestComponent() { JRootPane rp = new JRootPane(); JMenuBar mb = new JMenuBar(); JMenu menu = new JMenu("Menu"); final JLabel label = new JLabel("The selected menu item should show up here"); ActionListener l = new ActionListener() { public void actionPerformed(ActionEvent ev) { JMenuItem i = (JMenuItem) ev.getSource(); label.setText(i.getText()); } }; JMenuItem item1 = new JMenuItem("MenuItem 1"); item1.addActionListener(l); JMenuItem item2 = new JMenuItem("MenuItem 2"); item2.addActionListener(l); JMenuItem item3 = new JMenuItem("MenuItem 3"); item3.addActionListener(l); menu.add(item1); menu.add(item2); menu.add(item3); mb.add(menu); rp.setJMenuBar(mb); rp.getContentPane().add(label); return rp; } } mauve-20140821/gnu/testlet/javax/swing/RepaintManager/0000755000175000001440000000000012375316426021370 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/RepaintManager/addDirtyRegion.java0000644000175000001440000000451210325207152025131 0ustar dokousers// Tags: JDK1.2 // Uses: DisabledEventQueue // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.RepaintManager; import java.awt.Rectangle; import java.awt.Toolkit; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.RepaintManager; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Checks the addDirtyRegion method. More specifically, this checks if * addDirtyRegion does any optimization or not. * * @author Roman Kennke (kennke@aicas.com) */ public class addDirtyRegion implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { test1(harness); } /** * Adds a dirty region for a component and checks if it is correctly * returned by getDirtyRegion() and isCompletelyDirty(). * * @param harness the test harness to use */ private void test1(TestHarness harness) { // Disable event queue to prevent the RepaintManager from working. Toolkit.getDefaultToolkit().getSystemEventQueue() .push(new DisabledEventQueue()); JFrame f = new JFrame(); JLabel l = new JLabel("Hello"); f.getContentPane().add(l); l.setSize(100, 100); f.setSize(200, 200); f.setVisible(true); RepaintManager rm = RepaintManager.currentManager(l); rm.addDirtyRegion(l, 0, 0, l.getWidth(), l.getHeight()); harness.check(rm.isCompletelyDirty(l), false); Rectangle dirty = rm.getDirtyRegion(l); harness.check(dirty.x, 0); harness.check(dirty.y, 0); harness.check(dirty.width, l.getWidth()); harness.check(dirty.height, l.getHeight()); } } mauve-20140821/gnu/testlet/javax/swing/RepaintManager/DisabledEventQueue.java0000644000175000001440000000254710325207152025745 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.RepaintManager; import java.awt.AWTEvent; import java.awt.EventQueue; /** * A special EventQueue used for testing purposes. It completely disables * dispatching of events, so the behaviour of the RepaintManager can be * examined more closely. * * @author Roman Kennke (kennke@aicas.com) */ public class DisabledEventQueue extends EventQueue { /** * Overridden to do nothing. */ protected void dispatchEvent(AWTEvent ev) { // Do nothing. } /** * Overridden to do nothing. */ public void postEvent(AWTEvent ev) { // Do nothing. } } mauve-20140821/gnu/testlet/javax/swing/JCheckBoxMenuItem/0000755000175000001440000000000012375316426021737 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JCheckBoxMenuItem/constructors.java0000644000175000001440000002056310444320236025345 0ustar dokousers/* constructors.java Copyright (C) 2006 Red Hat, Tania Bento This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package gnu.testlet.javax.swing.JCheckBoxMenuItem; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.ButtonModel; import javax.swing.DefaultButtonModel; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JCheckBoxMenuItem; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Some checks for the constructors of the {@link javax.swing.JCheckBoxMenuItem} * class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // Testing labels, icons, and states testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); testConstructor6(harness); testConstructor7(harness); testConstructor8(harness); testConstructor9(harness); testConstructor10(harness); testConstructor11(harness); testConstructor12(harness); testConstructor13(harness); // Testing the default properties testDefaultProperties(harness); // testConstructor15(harness); } /** * Constructor #1 Label and Icon not specified. */ public void testConstructor1(TestHarness harness) { JCheckBoxMenuItem m = new JCheckBoxMenuItem(); harness.check(m.getText(), ""); harness.check(m.getIcon(), null); harness.check(m.isFocusable(), false); } /** * Constructor #2 Icon specified. */ public void testConstructor2(TestHarness harness) { ImageIcon i = new ImageIcon(); JCheckBoxMenuItem m = new JCheckBoxMenuItem(i); harness.check(m.getText(), ""); harness.check(m.getIcon(), i); harness.check(m.isFocusable(), false); } /** * Constructor #2 Icon specified as null. */ public void testConstructor3(TestHarness harness) { ImageIcon i = null; JCheckBoxMenuItem m = new JCheckBoxMenuItem(i); harness.check(m.getText(), ""); harness.check(m.getIcon(), null); } /** * Constructor #3 Label specified. */ public void testConstructor4(TestHarness harness) { JCheckBoxMenuItem m = new JCheckBoxMenuItem("Label"); harness.check(m.getText(), "Label"); harness.check(m.getIcon(), null); harness.check(m.isFocusable(), false); } /** * Constructor #3 Label specified as null. */ public void testConstructor5(TestHarness harness) { String label = null; JCheckBoxMenuItem m = new JCheckBoxMenuItem(label); harness.check(m.getText(), ""); harness.check(m.getIcon(), null); } /** * Constructor #4 Action specified. */ public void testConstructor6(TestHarness harness) { // Creating an Action with no properties. Action myAction = new AbstractAction() { public void actionPerformed(ActionEvent evt) { System.out.println("MyAction"); } }; JCheckBoxMenuItem m = new JCheckBoxMenuItem(myAction); harness.check(m.getAction(), myAction); harness.check(m.isFocusable(), false); } /** * Constructor #4 Action specified as null. */ public void testConstructor7(TestHarness harness) { Action myAction = null; JCheckBoxMenuItem m = new JCheckBoxMenuItem(myAction); harness.check(m.getAction(), null); } /** * Constructor #5 Label and Icon both specified. */ public void testConstructor8(TestHarness harness) { ImageIcon i = new ImageIcon(); JCheckBoxMenuItem m = new JCheckBoxMenuItem("Label", i); harness.check(m.getText(), "Label"); harness.check(m.getIcon(), i); harness.check(m.getState(), false); harness.check(m.isFocusable(), false); } /** * Constructor #5 Label and Icon specifed as null. */ public void testConstructor9(TestHarness harness) { JCheckBoxMenuItem m = new JCheckBoxMenuItem(null, null); harness.check(m.getText(), ""); harness.check(m.getIcon(), null); harness.check(m.getState(), false); } /** * Constructor #6 Label and State both specified. */ public void testConstructor10(TestHarness harness) { JCheckBoxMenuItem m = new JCheckBoxMenuItem("Label", true); harness.check(m.getText(), "Label"); harness.check(m.getIcon(), null); harness.check(m.getState(), true); harness.check(m.isFocusable(), false); } /** * Constructor #6 Label specified as null and State specified * as false. */ public void testConstructor11(TestHarness harness) { JCheckBoxMenuItem m = new JCheckBoxMenuItem(null, false); harness.check(m.getText(), ""); harness.check(m.getIcon(), null); harness.check(m.getState(), false); } /** * Constructor #7 Label, Icon, and State specified. */ public void testConstructor12(TestHarness harness) { ImageIcon i = new ImageIcon(); JCheckBoxMenuItem m = new JCheckBoxMenuItem("Label", i, true); harness.check(m.getText(), "Label"); harness.check(m.getIcon(), i); harness.check(m.getState(), true); harness.check(m.isFocusable(), false); } /** * Constructor #7 Label and Icon specified as null and State * specified as false. */ public void testConstructor13(TestHarness harness) { JCheckBoxMenuItem m = new JCheckBoxMenuItem(null, null, false); harness.check(m.getText(), ""); harness.check(m.getIcon(), null); harness.check(m.getState(), false); } /** * Testing default properties. */ public void testDefaultProperties(TestHarness harness) { JCheckBoxMenuItem m = new JCheckBoxMenuItem("Label", new ImageIcon(), true); // Properties set by init method in JMenuItem.java. harness.check(m.isFocusPainted(), false); harness.check(m.getHorizontalAlignment(), JButton.LEADING); harness.check(m.getHorizontalTextPosition(), JButton.TRAILING); // Additional JMenuITem.java properties harness.check(m.getUIClassID(), "CheckBoxMenuItemUI"); harness.check(m.getAccelerator(), null); harness.check(m.isArmed(), false); harness.check(m.isEnabled(), true); harness.check(m.isRequestFocusEnabled(), true); // Properties set by AbstractButton.java's constructor. harness.check(m.getHorizontalAlignment(), 10); harness.check(m.getHorizontalTextPosition(), 11); harness.check(m.getVerticalAlignment(), 0); harness.check(m.getVerticalTextPosition(), 0); harness.check(m.isBorderPainted(), true); harness.check(m.isContentAreaFilled(), true); harness.check(m.isFocusPainted(), false); harness.check(m.isFocusable(), false); harness.check(m.getAlignmentX(), 0.5f); harness.check(m.getAlignmentY(), 0.5f); harness.check(m.getDisplayedMnemonicIndex(), - 1); harness.check(m.isOpaque(), true); //Additional AbstractButton.java properties harness.check(m.getActionCommand(), "Label"); harness.check(m.getMnemonic(), 0); harness.check(m.getMargin().top, 2); harness.check(m.getMargin().left, 2); harness.check(m.getMargin().bottom, 2); harness.check(m.getMargin().right, 2); harness.check(m.getPressedIcon(), null); harness.check(m.isRolloverEnabled(), false); harness.check(m.getRolloverIcon(), null); harness.check(m.getRolloverSelectedIcon(), null); harness.check(m.isSelected(), true); harness.check(m.getSelectedIcon(), null); // Properties set by JCheckBoxMenuItem.java constructor itself. harness.check(m.getModel() instanceof DefaultButtonModel); harness.check(m.getModel() != null); harness.check(m.isVisible(), true); } } mauve-20140821/gnu/testlet/javax/swing/JCheckBoxMenuItem/model.java0000644000175000001440000001066210504004352023667 0ustar dokousers/* model.java -- some checks for the initialisation of the menu item's model. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.JCheckBoxMenuItem; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.Icon; import javax.swing.JCheckBoxMenuItem; import javax.swing.JToggleButton.ToggleButtonModel; import javax.swing.plaf.metal.MetalIconFactory; /** * This test looks at the creation of the button's model. This test was * written to investigate a look and feel bug that occurs because the model is * null when the UI delegate is initialised. */ public class model implements Testlet { static class MyJCheckBoxMenuItem extends JCheckBoxMenuItem { public MyJCheckBoxMenuItem() { super(); } public MyJCheckBoxMenuItem(Action action) { super(action); } public MyJCheckBoxMenuItem(Icon icon) { super(icon); } public MyJCheckBoxMenuItem(String text) { super(text); } public MyJCheckBoxMenuItem(String text, boolean selected) { super(text, selected); } public MyJCheckBoxMenuItem(String text, Icon icon) { super(text, icon); } public MyJCheckBoxMenuItem(String text, Icon icon, boolean selected) { super(text, icon, selected); } public void init(String text, Icon icon) { // don't call super.init(), because we want to check what happens in // the constructor only... } } public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); testConstructor6(harness); testConstructor7(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("()"); MyJCheckBoxMenuItem b = new MyJCheckBoxMenuItem(); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(Action)"); Action action = new AbstractAction() { public void actionPerformed(ActionEvent e) { // do nothing } }; MyJCheckBoxMenuItem b = new MyJCheckBoxMenuItem(action); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor3(TestHarness harness) { harness.checkPoint("(Icon)"); MyJCheckBoxMenuItem b = new MyJCheckBoxMenuItem( MetalIconFactory.getFileChooserListViewIcon()); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor4(TestHarness harness) { harness.checkPoint("(String)"); MyJCheckBoxMenuItem b = new MyJCheckBoxMenuItem("ABC"); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor5(TestHarness harness) { harness.checkPoint("(String, boolean)"); MyJCheckBoxMenuItem b = new MyJCheckBoxMenuItem("ABC", false); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor6(TestHarness harness) { harness.checkPoint("(String, Icon)"); MyJCheckBoxMenuItem b = new MyJCheckBoxMenuItem("ABC", MetalIconFactory.getFileChooserDetailViewIcon()); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor7(TestHarness harness) { harness.checkPoint("(String, Icon, boolean)"); MyJCheckBoxMenuItem b = new MyJCheckBoxMenuItem("ABC", MetalIconFactory.getFileChooserDetailViewIcon(), false); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } }mauve-20140821/gnu/testlet/javax/swing/JCheckBoxMenuItem/getActionCommand.java0000644000175000001440000000267110265073353026017 0ustar dokousers// Tags: JDK1.2 //Uses: ../AbstractButton/getActionCommand //Copyright (C) 2005 Robert Schuster //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JCheckBoxMenuItem; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JCheckBoxMenuItem; /**

    Tests the JCheckBoxMenuItem's getActionCommand * method.

    * *

    Please note that the interesting bits of this test reside in the superclass * {@link gnu.testlet.javax.swing.AbstractButton} * * @author Robert Schuster * */ public class getActionCommand extends gnu.testlet.javax.swing.AbstractButton.getActionCommand implements Testlet { public void test(TestHarness harness) { check(new JCheckBoxMenuItem("bla"), harness); } }mauve-20140821/gnu/testlet/javax/swing/JCheckBoxMenuItem/uidelegate.java0000644000175000001440000001102410504004352024670 0ustar dokousers/* uidelegate.java -- some checks for the initialisation of the menu item's UI delegate. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.JCheckBoxMenuItem; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.Icon; import javax.swing.JCheckBoxMenuItem; import javax.swing.JToggleButton.ToggleButtonModel; import javax.swing.plaf.metal.MetalIconFactory; /** * This test looks at the creation of the menu item's UI delegate. This test * was written to investigate a look and feel bug that occurs because the model * is null when the UI delegate is initialised. */ public class uidelegate implements Testlet { static class MyJCheckBoxMenuItem extends JCheckBoxMenuItem { public boolean initCalled; public boolean updateUICalledAfterInitCalled; public MyJCheckBoxMenuItem() { super(); } public MyJCheckBoxMenuItem(Action action) { super(action); } public MyJCheckBoxMenuItem(Icon icon) { super(icon); } public MyJCheckBoxMenuItem(String text) { super(text); } public MyJCheckBoxMenuItem(String text, boolean selected) { super(text, selected); } public MyJCheckBoxMenuItem(String text, Icon icon) { super(text, icon); } public MyJCheckBoxMenuItem(String text, Icon icon, boolean selected) { super(text, icon, selected); } public void init(String text, Icon icon) { initCalled = true; super.init(text, icon); } public void updateUI() { updateUICalledAfterInitCalled = initCalled; super.updateUI(); } } public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); testConstructor6(harness); testConstructor7(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("()"); MyJCheckBoxMenuItem b = new MyJCheckBoxMenuItem(); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(Action)"); Action action = new AbstractAction() { public void actionPerformed(ActionEvent e) { // do nothing } }; MyJCheckBoxMenuItem b = new MyJCheckBoxMenuItem(action); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor3(TestHarness harness) { harness.checkPoint("(Icon)"); MyJCheckBoxMenuItem b = new MyJCheckBoxMenuItem( MetalIconFactory.getFileChooserListViewIcon()); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor4(TestHarness harness) { harness.checkPoint("(String)"); MyJCheckBoxMenuItem b = new MyJCheckBoxMenuItem("ABC"); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor5(TestHarness harness) { harness.checkPoint("(String, boolean)"); MyJCheckBoxMenuItem b = new MyJCheckBoxMenuItem("ABC", false); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor6(TestHarness harness) { harness.checkPoint("(String, Icon)"); MyJCheckBoxMenuItem b = new MyJCheckBoxMenuItem("ABC", MetalIconFactory.getFileChooserDetailViewIcon()); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor7(TestHarness harness) { harness.checkPoint("(String, Icon, boolean)"); MyJCheckBoxMenuItem b = new MyJCheckBoxMenuItem("ABC", MetalIconFactory.getFileChooserDetailViewIcon(), false); harness.check(b.updateUICalledAfterInitCalled, true); } }mauve-20140821/gnu/testlet/javax/swing/JScrollPane/0000755000175000001440000000000012375316426020647 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JScrollPane/AccessibleJScrollPane/0000755000175000001440000000000012375316426025001 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JScrollPane/AccessibleJScrollPane/resetViewport.java0000644000175000001440000000706610325205415030523 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JScrollPane.AccessibleJScrollPane; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Point; import java.beans.PropertyChangeEvent; import javax.accessibility.AccessibleContext; import javax.swing.JLabel; import javax.swing.JScrollPane; import javax.swing.JViewport; /** * Tests if the resetViewport method of AccessibleJViewport works correctly. */ public class resetViewport implements Testlet { static boolean resetViewPortCalled; static class TestScrollPane extends JScrollPane { class TestAccessibleScrollPane extends AccessibleJScrollPane { public void resetViewPort() { resetViewPortCalled = true; super.resetViewPort(); } } public AccessibleContext getAccessibleContext() { if (accessibleContext == null) accessibleContext = new TestAccessibleScrollPane(); return accessibleContext; } } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); test3(harness); } /** * This test shows that resetViewPort is not used to reset the viewport * to the position (0, 0). * * @param harness the test harness to use */ void test1(TestHarness harness) { JScrollPane sp = new TestScrollPane(); JViewport vp = sp.getViewport(); vp.setView(new JLabel("Hello World")); TestScrollPane.TestAccessibleScrollPane asp = (TestScrollPane.TestAccessibleScrollPane) sp.getAccessibleContext(); vp.setViewPosition(new Point(10, 10)); harness.check(vp.getViewPosition().equals(new Point(0, 0)), false); asp.resetViewPort(); harness.check(vp.getViewPosition().equals(new Point(0, 0)), false); } /** * This test shows that resetViewPort is not called in response to a * property change of 'viewport' in the scrollpane. * * @param harness the test harness to use */ void test2(TestHarness harness) { JScrollPane sp = new TestScrollPane(); TestScrollPane.TestAccessibleScrollPane asp = (TestScrollPane.TestAccessibleScrollPane) sp.getAccessibleContext(); resetViewPortCalled = false; asp.propertyChange(new PropertyChangeEvent(sp, "viewport", sp.getViewport(), new JViewport())); harness.check(resetViewPortCalled, false); } void test3(TestHarness harness) { JScrollPane sp = new TestScrollPane(); TestScrollPane.TestAccessibleScrollPane asp = (TestScrollPane.TestAccessibleScrollPane) sp.getAccessibleContext(); resetViewPortCalled = false; sp.setViewport(new JViewport()); harness.check(resetViewPortCalled, true); } } mauve-20140821/gnu/testlet/javax/swing/JScrollPane/createHorizontalScrollBar.java0000644000175000001440000000321110341120756026616 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JScrollPane; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JScrollBar; import javax.swing.JScrollPane; /** * Some checks for the createHorizontalScrollBar() method in the * {@link JScrollPane} class. */ public class createHorizontalScrollBar implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JScrollPane pane = new JScrollPane(); JScrollBar scrollBar = pane.createHorizontalScrollBar(); harness.check(scrollBar.getClass().getName().endsWith("ScrollBar")); harness.check(scrollBar.getOrientation(), JScrollBar.HORIZONTAL); harness.check(scrollBar.getClientProperty("JScrollBar.isFreeStanding"), null); } } mauve-20140821/gnu/testlet/javax/swing/JScrollPane/createVerticalScrollBar.java0000644000175000001440000000320110341120756026235 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JScrollPane; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JScrollBar; import javax.swing.JScrollPane; /** * Some checks for the createVerticalScrollBar() method in the * {@link JScrollPane} class. */ public class createVerticalScrollBar implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JScrollPane pane = new JScrollPane(); JScrollBar scrollBar = pane.createVerticalScrollBar(); harness.check(scrollBar.getClass().getName().endsWith("ScrollBar")); harness.check(scrollBar.getOrientation(), JScrollBar.VERTICAL); harness.check(scrollBar.getClientProperty("JScrollBar.isFreeStanding"), null); } } mauve-20140821/gnu/testlet/javax/swing/JScrollPane/getActionMap.java0000644000175000001440000000415110442002734024051 0ustar dokousers/* getActionMap.java -- some checks for the getActionMap() method in the JScrollPane class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 package gnu.testlet.javax.swing.JScrollPane; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Action; import javax.swing.ActionMap; import javax.swing.JScrollPane; public class getActionMap implements Testlet { public void test(TestHarness harness) { // this is the original version of the test - it shows no actions for // a regular label... JScrollPane p = new JScrollPane(); ActionMap m = p.getActionMap(); harness.check(m.keys(), null); ActionMap mp = m.getParent(); harness.check(mp.get("scrollLeft") instanceof Action); harness.check(mp.get("scrollEnd") instanceof Action); harness.check(mp.get("unitScrollUp") instanceof Action); harness.check(mp.get("unitScrollLeft") instanceof Action); harness.check(mp.get("scrollUp") instanceof Action); harness.check(mp.get("scrollRight") instanceof Action); harness.check(mp.get("scrollHome") instanceof Action); harness.check(mp.get("scrollDown") instanceof Action); harness.check(mp.get("unitScrollDown") instanceof Action); harness.check(mp.get("unitScrollRight") instanceof Action); // for (int i = 0; i < mp.keys().length; i++) // System.out.println(mp.keys()[i] + ", " + mp.get(mp.keys()[i])); } } mauve-20140821/gnu/testlet/javax/swing/JScrollPane/getInputMap.java0000644000175000001440000000662510441520121023735 0ustar dokousers/* getInputMap.java -- some checks for the getInputMap() methods inherited by the JScrollPane class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JScrollPane; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.InputMap; import javax.swing.JComponent; import javax.swing.JScrollPane; import javax.swing.KeyStroke; /** * Checks the input maps defined for a JScrollPane - this is really testing * the setup performed by BasicScrollPaneUI. */ public class getInputMap implements Testlet { public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("()"); JScrollPane sp = new JScrollPane(); InputMap m1 = sp.getInputMap(); InputMap m2 = sp.getInputMap(JComponent.WHEN_FOCUSED); harness.check(m1 == m2); } public void testMethod2(TestHarness harness) { harness.checkPoint("(int)"); JScrollPane sp = new JScrollPane(); InputMap m1 = sp.getInputMap(JComponent.WHEN_FOCUSED); harness.check(m1.keys(), null); InputMap m1p = m1.getParent(); harness.check(m1p, null); InputMap m2 = sp.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); harness.check(m2.keys(), null); InputMap m2p = m2.getParent(); harness.check(m2p.get(KeyStroke.getKeyStroke("ctrl pressed PAGE_DOWN")), "scrollRight"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed PAGE_DOWN")), "scrollDown"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed PAGE_UP")), "scrollUp"); harness.check(m2p.get(KeyStroke.getKeyStroke("ctrl pressed PAGE_UP")), "scrollLeft"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed KP_RIGHT")), "unitScrollRight"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed DOWN")), "unitScrollDown"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed KP_LEFT")), "unitScrollLeft"); harness.check(m2p.get(KeyStroke.getKeyStroke("ctrl pressed HOME")), "scrollHome"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed RIGHT")), "unitScrollRight"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed KP_DOWN")), "unitScrollDown"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed UP")), "unitScrollUp"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed KP_UP")), "unitScrollUp"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed LEFT")), "unitScrollLeft"); harness.check(m2p.get(KeyStroke.getKeyStroke("ctrl pressed END")), "scrollEnd"); InputMap m3 = sp.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW); harness.check(m3.keys(), null); harness.check(m3.getParent(), null); } } mauve-20140821/gnu/testlet/javax/swing/Timer/0000755000175000001440000000000012375316426017553 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/Timer/preparatory.java0000644000175000001440000001156310207325561022764 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.Timer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.Timer; /** * A limiting simple test that does not actually attempt to * start the timer, but checks other features of this class. * @author Audrius Meskauskas (AudriusA@Bluewin.ch) */ public class preparatory implements Testlet, ActionListener { public static class otherListener implements ActionListener { public void actionPerformed(ActionEvent parm1) { } } static int DELAY = 7777; static int OTHER_DELAY = 5555; Timer object = new Timer(DELAY, null); /* Test the InitialDelay(). */ public void test_InitialDelay(TestHarness harness) { Timer t = new Timer(DELAY, null); harness.check(t.getInitialDelay(), DELAY, "Initial delay must be be a default value from constructor, "+ DELAY+", not "+object.getInitialDelay()); t.setInitialDelay(1); harness.check(t.getInitialDelay(), 1, "Initial delay must be set to 1 by setInitialDelay(1)"); t.setDelay(DELAY); harness.check(t.getInitialDelay(), 1, "If the initial delay is "+ "explicitly set, setDelay() must not alter it."); } /* Test getDelay(). */ public void test_Delay(TestHarness harness) { harness.check(object.getDelay(), DELAY, "getDelay()"); object.setDelay(5); harness.check(object.getDelay(), 5); } /* Test getListeners(Class). */ public void test_Listeners(TestHarness harness) { object.addActionListener(this); harness.checkPoint("getListeners"); java.util.EventListener result[] = object.getListeners(ActionListener.class); harness.check(result.length == 1); harness.check(result [ 0 ] == this); result = object.getListeners(otherListener.class); harness.check(result.length == 0); object.removeActionListener(this); harness.check(object.getListeners(ActionListener.class).length, 0, "Removing listener" ); } /* Test isCoalesce(). */ public void test_Coalesce(TestHarness harness) { harness.checkPoint("isCoalesce"); object.setCoalesce(true); harness.check(object.isCoalesce()); object.setCoalesce(false); harness.check(!object.isCoalesce()); } /* Test isRepeats(). */ public void test_Repeats(TestHarness harness) { harness.checkPoint("Repeats"); harness.check(object.isRepeats(), true, "isRepeats default value is true"); object.setRepeats(true); harness.check(object.isRepeats()); object.setRepeats(false); harness.check(!object.isRepeats()); } /* Test isRunning(). */ public void test_isRunning(TestHarness harness) { harness.check(!object.isRunning(), " should not be running "); } /* Test removeActionListener(java.awt.event.ActionListener). */ public void test_add_removeActionListener(TestHarness harness) { harness.checkPoint("Adding/removing listeners"); Timer t = new Timer(1, this); ActionListener other = new otherListener(); t.addActionListener(other); harness.check(t.getActionListeners().length, 2, "must be 2 listeners"); t.removeActionListener(this); harness.check(t.getActionListeners().length, 1, "must be 1 listener"); t.removeActionListener(new otherListener()); harness.check(t.getActionListeners().length, 1, "must still be 1 listener"); t.removeActionListener(other); harness.check(t.getActionListeners().length, 0, "must be no listeners"); } /* Test setLogTimers(boolean). */ public void test_LogTimers(TestHarness harness) { object.setLogTimers(true); harness.check(object.getLogTimers(),"log timers"); object.setLogTimers(false); harness.check(!object.getLogTimers()); } public void test(TestHarness harness) { test_InitialDelay(harness); test_Delay(harness); test_Listeners(harness); test_Coalesce(harness); test_Repeats(harness); test_isRunning(harness); test_add_removeActionListener(harness); test_LogTimers(harness); } public void actionPerformed(ActionEvent parm1) { } } mauve-20140821/gnu/testlet/javax/swing/Timer/setDelay.java0000644000175000001440000000312610454361357022171 0ustar dokousers/* setDelay.java -- some checks for the setDelay() method in the Timer class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.Timer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.Timer; public class setDelay implements Testlet, ActionListener { public void actionPerformed(ActionEvent event) { // ignore } public void test(TestHarness harness) { Timer t = new Timer(100, this); t.setDelay(123); harness.check(t.getDelay(), 123); // try zero t.setDelay(0); harness.check(t.getDelay(), 0); // try negative boolean pass = false; try { t.setDelay(-1); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/Timer/basic.java0000644000175000001440000000564710207325561021503 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.Timer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.*; import javax.swing.Timer; /** * THIS TEST NEEDS FIVE SECONDS TO COMPLETE! * The basic test of the swing timer. * @author Audrius Meskauskas (AudriusA@Bluewin.ch) */ public class basic implements Testlet, ActionListener { /** * The acceptable timer work accuracy in %. */ public static int ACCEPTABLE_ACCURACY = 20; static int EXPECTED_DELAY = 800; static int EXPECTED_INITIAL_DELAY = 2000; long history[] = new long[ 200 ]; int p = 1; long started; Thread main; public void test(TestHarness harness) { main = Thread.currentThread(); Timer t = new Timer(EXPECTED_DELAY, this); t.setCoalesce(false); t.setInitialDelay(EXPECTED_INITIAL_DELAY); t.setDelay(EXPECTED_DELAY); System.gc(); history [ 0 ] = System.currentTimeMillis(); t.start(); try { Thread.sleep(5000); } catch (InterruptedException iex) { } t.stop(); double S = 0; long d; StringBuffer series = new StringBuffer(); for (int i = 1; i < p; i++) { d = Math.abs((history [ i ] - history [ i - 1 ]) - (i == 1 ? EXPECTED_INITIAL_DELAY : EXPECTED_DELAY) ); series.append((history [ i ] - history [ i - 1 ])+" "); S += d; } S = S / (p - 1); int percentError = (int) (100 * S / EXPECTED_DELAY); if (percentError > ACCEPTABLE_ACCURACY) harness.fail("Inaccurate work, series "+series+", " +percentError+ " % deviation from 2000 800 .."); } public void actionPerformed(ActionEvent parm1) { try { history [ p ] = System.currentTimeMillis(); p++; Thread.sleep( (long) Math.random()*EXPECTED_DELAY ); } catch (ArrayIndexOutOfBoundsException ex) { // Should never happen during the normal work, but // is catched here to prevent test from the possible hanging. main.interrupt(); } catch (InterruptedException iex) { main.interrupt(); } } } mauve-20140821/gnu/testlet/javax/swing/Timer/test_23918.java0000644000175000001440000000321110312612103022114 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /** * Tests bug 23918 (on setRepeats(false) only one event must be * fired. * * @author Audrius Meskauskas (AudriusA@Bluewin.ch) */ package gnu.testlet.javax.swing.Timer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.Timer; public class test_23918 implements Testlet, ActionListener { int fired; public void test(TestHarness harness) { fired = 0; Timer timer = new Timer(50, this); timer.setRepeats(false); timer.start(); try { Thread.sleep(400); } catch (InterruptedException ex) { } harness.check(fired, 1, "Must be fired exactly once."); harness.check(timer.isRunning(), false, "Must not be terminated"); } public void actionPerformed(ActionEvent parm1) { fired++; } }mauve-20140821/gnu/testlet/javax/swing/Timer/setInitialDelay.java0000644000175000001440000000322510454361357023503 0ustar dokousers/* setInitialDelay.java -- some checks for the setInitialDelay() method in the Timer class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.Timer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.Timer; public class setInitialDelay implements Testlet, ActionListener { public void actionPerformed(ActionEvent event) { // ignore } public void test(TestHarness harness) { Timer t = new Timer(100, this); t.setInitialDelay(123); harness.check(t.getInitialDelay(), 123); // try zero t.setInitialDelay(0); harness.check(t.getInitialDelay(), 0); // try negative boolean pass = false; try { t.setInitialDelay(-1); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JMenuBar/0000755000175000001440000000000012375316426020136 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JMenuBar/constructors.java0000644000175000001440000000503110441627771023550 0ustar dokousers// Tags: JDK1.4 /* constructors.java -- tests for the constructor of the JMenuBar class Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package gnu.testlet.javax.swing.JMenuBar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Insets; import javax.swing.JMenuBar; import javax.swing.SingleSelectionModel; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.metal.MetalLookAndFeel; import javax.swing.plaf.metal.MetalMenuBarUI; /** * Some tests for the constructors in the {@link JMenuBar} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // the default (and only) constructor is pretty boring, // let's just test default values harness.checkPoint("JMenuBar(constructor)"); // make sure we're using the MetalLookAndFeel try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } JMenuBar mb = new JMenuBar(); harness.check(mb.getComponentCount(), 0); harness.check(mb.getMenuCount(), 0); harness.check(mb.getMargin(), new Insets(0, 0, 0, 0)); try { // This should throw an exception, not return null mb.getMenu(0); harness.check(false); } catch (ArrayIndexOutOfBoundsException e) { harness.check(true); } harness.check(mb.getSelectionModel() instanceof SingleSelectionModel); harness.check(mb.getSubElements().length, 0); harness.check(mb.getUI() instanceof MetalMenuBarUI); harness.check(mb.isBorderPainted()); harness.check(mb.isSelected() == false); } } mauve-20140821/gnu/testlet/javax/swing/JMenuBar/basic.java0000644000175000001440000000576210441627771022074 0ustar dokousers// Tags: JDK1.4 /* basic.java -- some checks for simple methods in the JMenuBar class Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package gnu.testlet.javax.swing.JMenuBar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Insets; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.basic.BasicMenuBarUI; import javax.swing.plaf.metal.MetalLookAndFeel; import javax.swing.plaf.metal.MetalMenuBarUI; import javax.swing.plaf.multi.MultiMenuBarUI; /** * Some checks for simple methods in the {@link JMenuBar} class. */ public class basic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { setMargin(harness); setUI(harness); setBorderPainted(harness); setSelected(harness); } public void setMargin(TestHarness harness) { JMenuBar mb = new JMenuBar(); mb.setMargin(new Insets(5, 5, 5, 5)); harness.check(mb.getMargin(), new Insets(5, 5, 5, 5)); mb.setMargin(null); harness.check(mb.getMargin(), new Insets(0, 0, 0, 0)); } public void setUI(TestHarness harness) { JMenuBar mb = new JMenuBar(); // make sure we're using the MetalLookAndFeel try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } mb.setUI(new BasicMenuBarUI()); harness.check(mb.getUI() instanceof BasicMenuBarUI); mb.setUI(new MultiMenuBarUI()); harness.check(mb.getUI() instanceof MultiMenuBarUI); mb.updateUI(); harness.check(mb.getUI() instanceof MetalMenuBarUI); } public void setBorderPainted(TestHarness harness) { JMenuBar mb = new JMenuBar(); mb.setBorderPainted(false); harness.check(mb.isBorderPainted() == false); mb.setBorderPainted(true); harness.check(mb.isBorderPainted()); } public void setSelected(TestHarness harness) { JMenuBar mb = new JMenuBar(); harness.check(mb.isSelected() == false); JMenu menu = new JMenu("menu"); mb.add(menu); mb.setSelected(menu); harness.check(mb.isSelected()); } } mauve-20140821/gnu/testlet/javax/swing/JMenuBar/getHelpMenu.java0000644000175000001440000000241710450777450023222 0ustar dokousers/* getHelpMenu.java -- some checks for the getHelpMenu() method in the JMenuBar class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JMenuBar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JMenuBar; public class getHelpMenu implements Testlet { public void test(TestHarness harness) { JMenuBar mb = new JMenuBar(); boolean pass = false; try { mb.getHelpMenu(); } catch (Error e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JMenuBar/setHelpMenu.java0000644000175000001440000000246410450777450023240 0ustar dokousers/* setHelpMenu.java -- some checks for the setHelpMenu() method in the JMenuBar class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JMenuBar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JMenu; import javax.swing.JMenuBar; public class setHelpMenu implements Testlet { public void test(TestHarness harness) { JMenuBar mb = new JMenuBar(); boolean pass = false; try { mb.setHelpMenu(new JMenu()); } catch (Error e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JMenuBar/setMargin.java0000644000175000001440000000471610450777450022742 0ustar dokousers/* setMargin.java -- some checks for the setMargin() method in the JMenuBar class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JMenuBar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Insets; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.JMenuBar; public class setMargin implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } public void test(TestHarness harness) { JMenuBar mb = new JMenuBar(); harness.check(mb.getMargin(), new Insets(0, 0, 0, 0)); harness.check(mb.getMargin() != mb.getMargin()); mb.addPropertyChangeListener(this); mb.setMargin(new Insets(1, 2, 3, 4)); harness.check(mb.getMargin(), new Insets(1, 2, 3, 4)); harness.check(events.size(), 1); PropertyChangeEvent e = (PropertyChangeEvent) events.get(0); harness.check(e.getSource(), mb); harness.check(e.getPropertyName(), "margin"); harness.check(e.getNewValue(), new Insets(1, 2, 3, 4)); harness.check(e.getOldValue(), null); // setting the same value generates no event events.clear(); mb.setMargin(new Insets(1, 2, 3, 4)); harness.check(events.size(), 0); // set to null mb.setMargin(null); harness.check(mb.getMargin(), new Insets(0, 0, 0, 0)); harness.check(events.size(), 1); e = (PropertyChangeEvent) events.get(0); harness.check(e.getSource(), mb); harness.check(e.getPropertyName(), "margin"); harness.check(e.getNewValue(), null); harness.check(e.getOldValue(), new Insets(1, 2, 3, 4)); } } mauve-20140821/gnu/testlet/javax/swing/JMenuBar/getSubElements.java0000644000175000001440000000440310441627771023730 0ustar dokousers// Tags: JDK1.4 /* getSubElements.java -- tests for the getSubElements() method in the JMenuBar class Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package gnu.testlet.javax.swing.JMenuBar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.MenuElement; /** * Some checks for the getMenu() method of the {@link JMenuBar} class. */ public class getSubElements implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JMenuBar mb = new JMenuBar(); // Basic test JMenu menu1 = new JMenu("menu1"); mb.add(menu1); JMenu menu2 = new JMenu("menu2"); mb.add(menu2); MenuElement[] elements = mb.getSubElements(); harness.check(elements.length, 2); harness.check(elements[0], menu1); harness.check(elements[1], menu2); // Add a component that is *not* an element JLabel label = new JLabel("label"); mb.add(label); elements = mb.getSubElements(); harness.check(elements.length, 2); harness.check(elements[0], menu1); harness.check(elements[1], menu2); // Ensure we can still add elements after that JMenu menu3 = new JMenu("menu3"); mb.add(menu3); elements = mb.getSubElements(); harness.check(elements.length, 3); harness.check(elements[0], menu1); harness.check(elements[1], menu2); harness.check(elements[2], menu3); } } mauve-20140821/gnu/testlet/javax/swing/JMenuBar/getActionMap.java0000644000175000001440000000277010450777450023362 0ustar dokousers/* getActionMap.java -- some checks for the getActionMap() method in the JMenuBar class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JMenuBar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Action; import javax.swing.ActionMap; import javax.swing.JMenuBar; public class getActionMap implements Testlet { public void test(TestHarness harness) { JMenuBar mb = new JMenuBar(); ActionMap m = mb.getActionMap(); harness.check(m.keys(), null); ActionMap mp = m.getParent(); //Object[] keys = mp.keys(); //for (int i = 0; i < keys.length; i++) // System.out.println(keys[i]); harness.check(mp.get("takeFocus") instanceof Action); harness.check(mp.keys().length, 1); } } mauve-20140821/gnu/testlet/javax/swing/JMenuBar/getInputMap.java0000644000175000001440000000440510441520121023216 0ustar dokousers/* getInputMap.java -- some checks for the getInputMap() methods inherited by the JMenuBar class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JMenuBar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.InputMap; import javax.swing.JComponent; import javax.swing.JMenuBar; import javax.swing.KeyStroke; /** * Checks the input maps defined for a JMenuBar - this is really testing * the setup performed by BasicMenuBarUI. */ public class getInputMap implements Testlet { public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("()"); JMenuBar mb = new JMenuBar(); InputMap m1 = mb.getInputMap(); InputMap m2 = mb.getInputMap(JComponent.WHEN_FOCUSED); harness.check(m1 == m2); } public void testMethod2(TestHarness harness) { harness.checkPoint("(int)"); JMenuBar mb = new JMenuBar(); InputMap m1 = mb.getInputMap(JComponent.WHEN_FOCUSED); harness.check(m1.keys(), null); InputMap m1p = m1.getParent(); harness.check(m1p, null); InputMap m2 = mb.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); harness.check(m2.keys(), null); harness.check(m2.getParent(), null); InputMap m3 = mb.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW); harness.check(m3.keys(), null); InputMap m3p = m3.getParent(); harness.check(m3p.get(KeyStroke.getKeyStroke("pressed F10")), "takeFocus"); } } mauve-20140821/gnu/testlet/javax/swing/JMenuBar/getComponentIndex.java0000644000175000001440000000354010441627771024435 0ustar dokousers// Tags: JDK1.4 /* getComponentIndex.java -- tests for the getComponentIndex() method in the JMenuBar class Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package gnu.testlet.javax.swing.JMenuBar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.MenuElement; /** * Some checks for the getMenu() method of the {@link JMenuBar} class. */ public class getComponentIndex implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JMenuBar mb = new JMenuBar(); JMenu menu1 = new JMenu("menu1"); mb.add(menu1); JMenu menu2 = new JMenu("menu2"); mb.add(menu2); JLabel label = new JLabel("label"); mb.add(label); JMenu menu3 = new JMenu("menu3"); mb.add(menu3); harness.check(mb.getComponentIndex(menu1), 0); harness.check(mb.getComponentIndex(menu2), 1); harness.check(mb.getComponentIndex(label), 2); harness.check(mb.getComponentIndex(menu3), 3); } } mauve-20140821/gnu/testlet/javax/swing/JMenuBar/getMenu.java0000644000175000001440000000443610441627771022414 0ustar dokousers// Tags: JDK1.4 /* getMenu.java -- tests for getMenu() method in the JMenuBar class Copyright (C) 2006 Francis Kung This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package gnu.testlet.javax.swing.JMenuBar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; /** * Some checks for the getMenu() method of the {@link JMenuBar} class. */ public class getMenu implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JMenuBar mb = new JMenuBar(); // This doesn't seem ideal, but it's the excpected behaviour... try { mb.add((JMenu) null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } JMenu menu1 = new JMenu("menu1"); mb.add(menu1); harness.check(mb.getMenuCount(), 1); harness.check(mb.getMenu(0), menu1); JMenu menu2 = new JMenu("menu2"); mb.add(menu2); harness.check(mb.getMenuCount(), 2); harness.check(mb.getMenu(0), menu1); harness.check(mb.getMenu(1), menu2); JLabel label = new JLabel("label"); mb.add(label); harness.check(mb.getMenuCount(), 3); harness.check(mb.getMenu(2), null); JMenu menu3 = new JMenu("menu3"); mb.add(menu3); harness.check(mb.getMenuCount(), 4); harness.check(mb.getMenu(0), menu1); harness.check(mb.getMenu(1), menu2); harness.check(mb.getMenu(2), null); harness.check(mb.getMenu(3), menu3); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListSelectionModel/0000755000175000001440000000000012375316426023542 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/DefaultListSelectionModel/getSelectionMode.java0000644000175000001440000000302610437256340027633 0ustar dokousers/* getSelectionMode.java -- some checks for the getSelectionMode() method in the DefaultListSelectionModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.DefaultListSelectionModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListSelectionModel; import javax.swing.ListSelectionModel; public class getSelectionMode implements Testlet { public void test(TestHarness harness) { DefaultListSelectionModel m = new DefaultListSelectionModel(); harness.check(m.getSelectionMode(), ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); m.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION); harness.check(m.getSelectionMode(), ListSelectionModel.SINGLE_INTERVAL_SELECTION); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListSelectionModel/clone.java0000644000175000001440000000507110437256337025511 0ustar dokousers/* clone.java -- some checks for the clone() method in the DefaultListSelectionModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.DefaultListSelectionModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListSelectionModel; import javax.swing.ListSelectionModel; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; public class clone implements Testlet, ListSelectionListener { public void valueChanged(ListSelectionEvent e) { // ignore } public void test(TestHarness harness) { DefaultListSelectionModel m1 = new DefaultListSelectionModel(); m1.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION); m1.setLeadAnchorNotificationEnabled(false); m1.addListSelectionListener(this); m1.addSelectionInterval(5, 9); DefaultListSelectionModel m2 = null; try { m2 = (DefaultListSelectionModel) m1.clone(); } catch (CloneNotSupportedException e) { } harness.check(m2.getSelectionMode(), ListSelectionModel.SINGLE_INTERVAL_SELECTION); harness.check(m2.isLeadAnchorNotificationEnabled(), false); harness.check(m2.isSelectedIndex(4), false); harness.check(m2.isSelectedIndex(5), true); harness.check(m2.isSelectedIndex(9), true); harness.check(m2.isSelectedIndex(10), false); // confirm that m1 and m2 are independent m2.clearSelection(); harness.check(m2.isSelectionEmpty(), true); harness.check(m1.isSelectionEmpty(), false); // confirm that m2 doesn't have any listeners ListSelectionListener[] listeners = m2.getListSelectionListeners(); harness.check(listeners.length, 0); listeners = m1.getListSelectionListeners(); harness.check(listeners.length, 1); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListSelectionModel/getListSelectionListeners.java0000644000175000001440000000325410437256340031556 0ustar dokousers/* getListSelectionListeners.java -- some checks for the getSelectionListeners() method in the DefaultListSelectionModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.DefaultListSelectionModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListSelectionModel; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; public class getListSelectionListeners implements Testlet, ListSelectionListener { public void valueChanged(ListSelectionEvent e) { // ignore } public void test(TestHarness harness) { DefaultListSelectionModel m = new DefaultListSelectionModel(); ListSelectionListener[] listeners = m.getListSelectionListeners(); harness.check(listeners.length, 0); m.addListSelectionListener(this); listeners = m.getListSelectionListeners(); harness.check(listeners[0], this); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListSelectionModel/setAnchorSelectionIndex.java0000644000175000001440000000515310437256340031170 0ustar dokousers/* setAnchorSelectionIndex.java -- some checks for the setAnchorSelectionIndex() method in the DefaultListSelectionModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.DefaultListSelectionModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListSelectionModel; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; public class setAnchorSelectionIndex implements Testlet, ListSelectionListener { ListSelectionEvent lastEvent; public void valueChanged(ListSelectionEvent event) { lastEvent = event; } public void test(TestHarness harness) { DefaultListSelectionModel m = new DefaultListSelectionModel(); m.addSelectionInterval(2, 4); harness.check(m.getAnchorSelectionIndex(), 2); harness.check(m.isLeadAnchorNotificationEnabled(), true); m.addListSelectionListener(this); m.setAnchorSelectionIndex(1); harness.check(m.getAnchorSelectionIndex(), 1); harness.check(m.isSelectedIndex(1), false); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 1); harness.check(lastEvent.getLastIndex(), 2); // setting the same index generates no event lastEvent = null; m.setAnchorSelectionIndex(1); harness.check(lastEvent, null); // try a negative value m.setAnchorSelectionIndex(-2); harness.check(m.getAnchorSelectionIndex(), -2); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), -2); harness.check(lastEvent.getLastIndex(), 1); // now try without notification m.setLeadAnchorNotificationEnabled(false); lastEvent = null; m.setAnchorSelectionIndex(2); harness.check(m.getAnchorSelectionIndex(), 2); harness.check(m.isSelectedIndex(2), true); harness.check(lastEvent, null); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListSelectionModel/setLeadSelectionIndex.java0000644000175000001440000001762710437247367030645 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke // Copyright (C) 2006 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with GNU Classpath; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.DefaultListSelectionModel; import javax.swing.DefaultListSelectionModel; import javax.swing.ListSelectionModel; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * This checks some functionality of the setLeadSelection method. * * @author Roman Kennke (kennke@aicas.com) */ public class setLeadSelectionIndex implements Testlet, ListSelectionListener { ListSelectionEvent lastEvent; public void valueChanged(ListSelectionEvent e) { lastEvent = e; } /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testSetMinusOne(harness); testSetPositive(harness); testSingleSelection(harness); testSingleIntervalSelection(harness); testMultipleIntervalSelection(harness); } /** * Checks the behaviour when trying to set the lead selection index to -1. * It should set the lead selection index to -1 if and only if the * anchor selection index is also -1. */ private void testSetMinusOne(TestHarness harness) { harness.checkPoint("setMinusOne"); DefaultListSelectionModel m = new DefaultListSelectionModel(); // Set to some value. (works only if anchor selection index is >= 0). m.setAnchorSelectionIndex(1); m.setLeadSelectionIndex(1); harness.check(m.getLeadSelectionIndex(), 1); // This should have no effect. m.setLeadSelectionIndex(-1); harness.check(m.getLeadSelectionIndex(), 1); // Now set the anchor selection index to -1 and it will work with the // lead selection index too. m.setAnchorSelectionIndex(-1); m.setLeadSelectionIndex(-1); harness.check(m.getLeadSelectionIndex(), -1); } /** * Checks the behaviour when trying to set the lead selection index to a * positive integer. * It should set the lead selection index only if the anchor selection index * is also >=. */ private void testSetPositive(TestHarness harness) { harness.checkPoint("setPositive"); DefaultListSelectionModel m = new DefaultListSelectionModel(); // The lead and anchor selection index is -1 initially. harness.check(m.getLeadSelectionIndex(), -1); harness.check(m.getAnchorSelectionIndex(), -1); // This will not work unless the anchor selection index is != -1 m.setLeadSelectionIndex(0); harness.check(m.getLeadSelectionIndex(), -1); // Now set the anchor to 0 and it will also work for the lead. m.setAnchorSelectionIndex(0); m.setLeadSelectionIndex(0); harness.check(m.getLeadSelectionIndex(), 0); } private void testSingleSelection(TestHarness harness) { harness.checkPoint("SINGLE_SELECTION (1)"); DefaultListSelectionModel m = new DefaultListSelectionModel(); m.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); m.setLeadAnchorNotificationEnabled(true); m.addListSelectionListener(this); // starting from an empty selection... m.setLeadSelectionIndex(2); harness.check(m.getLeadSelectionIndex(), -1); harness.check(m.getAnchorSelectionIndex(), -1); harness.check(m.isSelectedIndex(2), false); harness.check(lastEvent, null); // starting from a selection harness.checkPoint("SINGLE_SELECTION (2)"); m.setSelectionInterval(2, 2); lastEvent = null; m.setLeadSelectionIndex(1); harness.check(m.getLeadSelectionIndex(), 1); harness.check(m.getAnchorSelectionIndex(), 1); harness.check(m.isSelectedIndex(1), true); harness.check(m.isSelectedIndex(2), false); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 1); harness.check(lastEvent.getLastIndex(), 2); // set the lead selection to -1 is ignored harness.checkPoint("SINGLE_SELECTION (3)"); lastEvent = null; m.setLeadSelectionIndex(-1); harness.check(m.getLeadSelectionIndex(), 1); harness.check(m.getAnchorSelectionIndex(), 1); harness.check(m.isSelectedIndex(1), true); harness.check(m.isSelectedIndex(2), false); harness.check(lastEvent, null); // set the lead selection to -2 harness.checkPoint("SINGLE_SELECTION (4)"); boolean pass = false; try { m.setLeadSelectionIndex(-2); } catch (IndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testSingleIntervalSelection(TestHarness harness) { DefaultListSelectionModel m = new DefaultListSelectionModel(); m.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION); m.addListSelectionListener(this); // starting from an empty selection... harness.checkPoint("SINGLE_INTERVAL_SELECTION (1)"); m.setLeadSelectionIndex(2); harness.check(m.getLeadSelectionIndex(), -1); harness.check(m.getAnchorSelectionIndex(), -1); harness.check(m.isSelectedIndex(2), false); harness.check(lastEvent, null); // starting from a selection harness.checkPoint("SINGLE_INTERVAL_SELECTION (2)"); m.setSelectionInterval(2, 4); lastEvent = null; m.setLeadSelectionIndex(1); harness.check(m.getLeadSelectionIndex(), 1); harness.check(m.getAnchorSelectionIndex(), 2); harness.check(m.isSelectedIndex(1), true); harness.check(m.isSelectedIndex(2), true); harness.check(m.isSelectedIndex(3), false); harness.check(m.isSelectedIndex(4), false); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 1); harness.check(lastEvent.getLastIndex(), 4); // setting the lead selection to -1 is ignored harness.checkPoint("SINGLE_INTERVAL_SELECTION (3)"); lastEvent = null; m.setLeadSelectionIndex(-1); harness.check(m.getLeadSelectionIndex(), 1); harness.check(m.getAnchorSelectionIndex(), 2); harness.check(m.isSelectedIndex(1), true); harness.check(m.isSelectedIndex(2), true); harness.check(lastEvent, null); // setting the lead selection to -2 fails harness.checkPoint("SINGLE_INTERVAL_SELECTION (4)"); boolean pass = false; try { m.setLeadSelectionIndex(-2); } catch (IndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testMultipleIntervalSelection(TestHarness harness) { harness.checkPoint("MULTIPLE_INTERVAL_SELECTION"); DefaultListSelectionModel m = new DefaultListSelectionModel(); m.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); m.addSelectionInterval(3, 6); m.addListSelectionListener(this); m.setLeadSelectionIndex(1); harness.check(m.isSelectedIndex(0), false); harness.check(m.isSelectedIndex(1), true); harness.check(m.isSelectedIndex(2), true); harness.check(m.isSelectedIndex(3), true); harness.check(m.isSelectedIndex(4), false); harness.check(m.isSelectedIndex(5), false); harness.check(m.isSelectedIndex(6), false); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 1); harness.check(lastEvent.getLastIndex(), 6); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListSelectionModel/constructor.java0000644000175000001440000000327510444320236026766 0ustar dokousers/* constructor.java -- some checks for the constructor in the DefaultListSelectionModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.DefaultListSelectionModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListSelectionModel; import javax.swing.ListSelectionModel; public class constructor implements Testlet { public void test(TestHarness harness) { DefaultListSelectionModel m = new DefaultListSelectionModel(); harness.check(m.getSelectionMode(), ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); harness.check(m.isLeadAnchorNotificationEnabled(), true); harness.check(m.getAnchorSelectionIndex(), -1); harness.check(m.getLeadSelectionIndex(), -1); harness.check(m.getMaxSelectionIndex(), -1); harness.check(m.getMinSelectionIndex(), -1); harness.check(m.isSelectionEmpty(), true); harness.check(m.getValueIsAdjusting(), false); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListSelectionModel/removeIndexInterval.java0000644000175000001440000001320310437256340030371 0ustar dokousers/* removeIndexInterval.java -- some checks for the removeIndexInterval() method in the DefaultListSelectionModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.DefaultListSelectionModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListSelectionModel; import javax.swing.ListSelectionModel; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; public class removeIndexInterval implements Testlet, ListSelectionListener { private ListSelectionEvent lastEvent; public void valueChanged(ListSelectionEvent event) { lastEvent = event; } public void test(TestHarness harness) { testSingleSelection(harness); testSingleInterval(harness); testMultipleInterval(harness); } public void testSingleSelection(TestHarness harness) { harness.checkPoint("SINGLE_SELECTION"); DefaultListSelectionModel m = new DefaultListSelectionModel(); m.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); // check 1 - the selected item is in the removed range m.addSelectionInterval(6, 7); harness.check(m.isSelectedIndex(6), false); harness.check(m.isSelectedIndex(7), true); harness.check(m.getAnchorSelectionIndex(), 7); harness.check(m.getLeadSelectionIndex(), 7); m.addListSelectionListener(this); m.removeIndexInterval(5, 7); harness.check(m.isSelectionEmpty(), true); harness.check(m.getAnchorSelectionIndex(), 4); harness.check(m.getLeadSelectionIndex(), 4); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 4); harness.check(lastEvent.getLastIndex(), 7); // check 2 - the selected item is below the removed range m.setSelectionInterval(1, 1); lastEvent = null; m.removeIndexInterval(2, 4); harness.check(m.isSelectedIndex(1), true); harness.check(m.getAnchorSelectionIndex(), 1); harness.check(m.getLeadSelectionIndex(), 1); harness.check(lastEvent, null); // no event, because nothing changed // check 3 - the selected item is above the removed range m.setSelectionInterval(5, 5); lastEvent = null; m.removeIndexInterval(2, 4); harness.check(m.isSelectedIndex(2), true); harness.check(m.getAnchorSelectionIndex(), 2); harness.check(m.getLeadSelectionIndex(), 2); harness.check(lastEvent.getFirstIndex(), 2); harness.check(lastEvent.getLastIndex(), 5); } public void testSingleInterval(TestHarness harness) { harness.checkPoint("SINGLE_INTERVAL_SELECTION"); DefaultListSelectionModel m = new DefaultListSelectionModel(); m.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION); // check 1 - remove the middle of a selection interval m.addSelectionInterval(2, 6); harness.check(m.isSelectedIndex(1), false); harness.check(m.isSelectedIndex(2), true); harness.check(m.isSelectedIndex(3), true); harness.check(m.isSelectedIndex(4), true); harness.check(m.isSelectedIndex(5), true); harness.check(m.isSelectedIndex(6), true); harness.check(m.isSelectedIndex(7), false); m.addListSelectionListener(this); m.removeIndexInterval(3, 5); harness.check(m.isSelectedIndex(1), false); harness.check(m.isSelectedIndex(2), true); harness.check(m.isSelectedIndex(3), true); harness.check(m.isSelectedIndex(4), false); harness.check(m.isSelectedIndex(5), false); harness.check(m.isSelectedIndex(6), false); harness.check(m.isSelectedIndex(7), false); harness.check(m.getLeadSelectionIndex(), 3); harness.check(m.getAnchorSelectionIndex(), 2); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 3); harness.check(lastEvent.getLastIndex(), 6); } public void testMultipleInterval(TestHarness harness) { harness.checkPoint("MULTIPLE_INTERVAL_SELECTION"); DefaultListSelectionModel m = new DefaultListSelectionModel(); m.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); m.addSelectionInterval(2, 6); harness.check(m.isSelectedIndex(1), false); harness.check(m.isSelectedIndex(2), true); harness.check(m.isSelectedIndex(3), true); harness.check(m.isSelectedIndex(4), true); harness.check(m.isSelectedIndex(5), true); harness.check(m.isSelectedIndex(6), true); harness.check(m.isSelectedIndex(7), false); m.addListSelectionListener(this); m.removeIndexInterval(3, 5); harness.check(m.isSelectedIndex(1), false); harness.check(m.isSelectedIndex(2), true); harness.check(m.isSelectedIndex(3), true); harness.check(m.isSelectedIndex(4), false); harness.check(m.isSelectedIndex(5), false); harness.check(m.isSelectedIndex(6), false); harness.check(m.isSelectedIndex(7), false); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 3); harness.check(lastEvent.getLastIndex(), 6); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListSelectionModel/isSelectionEmpty.java0000644000175000001440000000265110437256340027704 0ustar dokousers/* isSelectionEmpty.java -- some checks for the isSelectionEmpty() method in the DefaultListSelectionModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.DefaultListSelectionModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListSelectionModel; public class isSelectionEmpty implements Testlet { public void test(TestHarness harness) { DefaultListSelectionModel m = new DefaultListSelectionModel(); harness.check(m.isSelectionEmpty(), true); m.addSelectionInterval(99, 99); harness.check(m.isSelectionEmpty(), false); m.clearSelection(); harness.check(m.isSelectionEmpty(), true); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListSelectionModel/insertIndexInterval.java0000644000175000001440000001746310437256340030414 0ustar dokousers/* insertIndexInterval.java -- some checks for the insertIndexInterval() method in the DefaultListSelectionModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.DefaultListSelectionModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListSelectionModel; import javax.swing.ListSelectionModel; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; public class insertIndexInterval implements Testlet, ListSelectionListener { ListSelectionEvent lastEvent; public void valueChanged(ListSelectionEvent e) { lastEvent = e; } public void test(TestHarness harness) { testSingleSelection(harness); testSingleInterval(harness); testMultipleInterval(harness); } private void testSingleSelection(TestHarness harness) { harness.checkPoint("SINGLE_SELECTION (1)"); DefaultListSelectionModel m = new DefaultListSelectionModel(); m.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); m.addSelectionInterval(3, 3); m.addListSelectionListener(this); m.insertIndexInterval(3, 2, true); harness.check(m.isSelectedIndex(3), false); harness.check(m.isSelectedIndex(4), false); harness.check(m.isSelectedIndex(5), true); harness.check(m.getAnchorSelectionIndex(), 5); harness.check(m.getLeadSelectionIndex(), 5); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 3); harness.check(lastEvent.getLastIndex(), 5); harness.checkPoint("SINGLE_SELECTION (2)"); lastEvent = null; m.insertIndexInterval(5, 2, false); // this does nothing harness.check(m.isSelectedIndex(5), true); harness.check(m.isSelectedIndex(6), false); harness.check(m.isSelectedIndex(7), false); harness.check(lastEvent, null); // try negative index harness.checkPoint("SINGLE_SELECTION (3)"); boolean pass = false; try { m.insertIndexInterval(-1, 1, true); } catch (IndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try negative count harness.checkPoint("SINGLE_SELECTION (4)"); pass = false; try { m.insertIndexInterval(0, -1, true); } catch (IndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try zero count harness.checkPoint("SINGLE_SELECTION (5)"); lastEvent = null; m.insertIndexInterval(0, 0, true); harness.check(lastEvent.getFirstIndex(), 0); harness.check(lastEvent.getLastIndex(), 6); } private void testSingleInterval(TestHarness harness) { harness.checkPoint("SINGLE_INTERVAL_SELECTION (1)"); DefaultListSelectionModel m = new DefaultListSelectionModel(); m.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION); m.setSelectionInterval(3, 3); m.addListSelectionListener(this); // here, we insert two new items in the list right before the selected item // 3 (which moves up to position 5). m.insertIndexInterval(3, 2, true); harness.check(m.isSelectedIndex(3), true); // FIXME: surely wrong? harness.check(m.isSelectedIndex(4), true); // FIXME: likewise? harness.check(m.isSelectedIndex(5), true); harness.check(m.isSelectedIndex(6), false); harness.check(m.getAnchorSelectionIndex(), 5); harness.check(m.getLeadSelectionIndex(), 5); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 3); harness.check(lastEvent.getLastIndex(), 5); harness.checkPoint("SINGLE_INTERVAL_SELECTION (2)"); m = new DefaultListSelectionModel(); m.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION); m.setSelectionInterval(3, 3); m.addListSelectionListener(this); lastEvent = null; // here, we insert two new items in the list right AFTER the selected item // 3 m.insertIndexInterval(3, 2, false); harness.check(m.isSelectedIndex(3), true); harness.check(m.isSelectedIndex(4), true); // FIXME: surely wrong? harness.check(m.isSelectedIndex(5), true); // FIXME: likewise? harness.check(m.isSelectedIndex(6), false); harness.check(m.getAnchorSelectionIndex(), 3); harness.check(m.getLeadSelectionIndex(), 3); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 4); harness.check(lastEvent.getLastIndex(), 5); // try negative index boolean pass = false; try { m.insertIndexInterval(-1, 1, true); } catch (IndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try negative count pass = false; try { m.insertIndexInterval(0, -1, true); } catch (IndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try zero count lastEvent = null; m.insertIndexInterval(0, 0, true); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 0); harness.check(lastEvent.getLastIndex(), 6); } private void testMultipleInterval(TestHarness harness) { harness.checkPoint("MULTIPLE_INTERVAL_SELECTION (1)"); DefaultListSelectionModel m = new DefaultListSelectionModel(); m.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); m.addSelectionInterval(1, 1); m.addSelectionInterval(7, 7); m.addSelectionInterval(3, 5); m.addListSelectionListener(this); m.insertIndexInterval(2, 2, true); harness.check(m.isSelectedIndex(0), false); harness.check(m.isSelectedIndex(1), true); harness.check(m.isSelectedIndex(2), false); harness.check(m.isSelectedIndex(3), false); harness.check(m.isSelectedIndex(4), false); harness.check(m.isSelectedIndex(5), true); harness.check(m.isSelectedIndex(6), true); harness.check(m.isSelectedIndex(7), true); harness.check(m.isSelectedIndex(8), false); harness.check(m.isSelectedIndex(9), true); harness.check(m.isSelectedIndex(10), false); harness.check(m.getAnchorSelectionIndex(), 5); harness.check(m.getLeadSelectionIndex(), 7); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 3); harness.check(lastEvent.getLastIndex(), 9); m.insertIndexInterval(1, 2, false); harness.check(m.isSelectedIndex(0), false); harness.check(m.isSelectedIndex(1), true); harness.check(m.isSelectedIndex(2), true); harness.check(m.isSelectedIndex(3), true); harness.check(m.isSelectedIndex(4), false); harness.check(m.isSelectedIndex(5), false); harness.check(m.isSelectedIndex(6), false); harness.check(m.isSelectedIndex(7), true); harness.check(m.isSelectedIndex(8), true); harness.check(m.isSelectedIndex(9), true); harness.check(m.isSelectedIndex(10), false); harness.check(m.isSelectedIndex(11), true); harness.check(m.isSelectedIndex(12), false); harness.check(m.getAnchorSelectionIndex(), 7); harness.check(m.getLeadSelectionIndex(), 9); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 2); harness.check(lastEvent.getLastIndex(), 11); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListSelectionModel/addSelectionInterval.java0000644000175000001440000001770110437256337030517 0ustar dokousers/* addSelectionInterval.java -- some checks for the addSelectionInterval() method in the DefaultListSelectionModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.DefaultListSelectionModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListSelectionModel; import javax.swing.ListSelectionModel; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; public class addSelectionInterval implements Testlet, ListSelectionListener { ListSelectionEvent lastEvent; public void valueChanged(ListSelectionEvent event) { lastEvent = event; } public void test(TestHarness harness) { testSingleSelection(harness); testSingleIntervalSelection(harness); testMultipleIntervalSelection(harness); } private void testSingleSelection(TestHarness harness) { harness.checkPoint("SINGLE_SELECTION"); DefaultListSelectionModel m = new DefaultListSelectionModel(); m.addListSelectionListener(this); m.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); m.addSelectionInterval(1, 3); harness.check(m.isSelectedIndex(0), false); harness.check(m.isSelectedIndex(1), false); harness.check(m.isSelectedIndex(2), false); harness.check(m.isSelectedIndex(3), true); harness.check(m.isSelectedIndex(4), false); harness.check(m.getAnchorSelectionIndex(), 3); harness.check(m.getLeadSelectionIndex(), 3); harness.check(m.getMaxSelectionIndex(), 3); harness.check(m.getMinSelectionIndex(), 3); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 3); harness.check(lastEvent.getLastIndex(), 3); m.clearSelection(); m.addSelectionInterval(3, 1); harness.check(m.isSelectedIndex(0), false); harness.check(m.isSelectedIndex(1), true); harness.check(m.isSelectedIndex(2), false); harness.check(m.isSelectedIndex(3), false); harness.check(m.isSelectedIndex(4), false); harness.check(m.getAnchorSelectionIndex(), 1); harness.check(m.getLeadSelectionIndex(), 1); harness.check(m.getMaxSelectionIndex(), 1); harness.check(m.getMinSelectionIndex(), 1); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 1); harness.check(lastEvent.getLastIndex(), 3); } private void testSingleIntervalSelection(TestHarness harness) { harness.checkPoint("SINGLE_INTERVAL_SELECTION"); DefaultListSelectionModel m = new DefaultListSelectionModel(); m.addListSelectionListener(this); m.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION); m.addSelectionInterval(1, 3); harness.check(m.isSelectedIndex(0), false); harness.check(m.isSelectedIndex(1), true); harness.check(m.isSelectedIndex(2), true); harness.check(m.isSelectedIndex(3), true); harness.check(m.isSelectedIndex(4), false); harness.check(m.getAnchorSelectionIndex(), 1); harness.check(m.getLeadSelectionIndex(), 3); harness.check(m.getMaxSelectionIndex(), 3); harness.check(m.getMinSelectionIndex(), 1); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 1); harness.check(lastEvent.getLastIndex(), 3); // add a non-adjacent interval m.addSelectionInterval(5, 6); harness.check(m.isSelectedIndex(0), false); harness.check(m.isSelectedIndex(1), false); harness.check(m.isSelectedIndex(2), false); harness.check(m.isSelectedIndex(3), false); harness.check(m.isSelectedIndex(4), false); harness.check(m.isSelectedIndex(5), true); harness.check(m.isSelectedIndex(6), true); harness.check(m.isSelectedIndex(7), false); harness.check(m.getAnchorSelectionIndex(), 5); harness.check(m.getLeadSelectionIndex(), 6); harness.check(m.getMaxSelectionIndex(), 6); harness.check(m.getMinSelectionIndex(), 5); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 1); harness.check(lastEvent.getLastIndex(), 6); // add an adjacent interval m.addSelectionInterval(7, 8); harness.check(m.isSelectedIndex(4), false); harness.check(m.isSelectedIndex(5), true); harness.check(m.isSelectedIndex(6), true); harness.check(m.isSelectedIndex(7), true); harness.check(m.isSelectedIndex(8), true); harness.check(m.isSelectedIndex(9), false); harness.check(m.getAnchorSelectionIndex(), 7); harness.check(m.getLeadSelectionIndex(), 8); harness.check(m.getMaxSelectionIndex(), 8); harness.check(m.getMinSelectionIndex(), 5); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 5); harness.check(lastEvent.getLastIndex(), 8); // add another adjacent interval m.addSelectionInterval(3, 4); harness.check(m.isSelectedIndex(2), false); harness.check(m.isSelectedIndex(3), true); harness.check(m.isSelectedIndex(4), true); harness.check(m.isSelectedIndex(5), true); harness.check(m.isSelectedIndex(6), true); harness.check(m.isSelectedIndex(7), true); harness.check(m.isSelectedIndex(8), true); harness.check(m.isSelectedIndex(9), false); harness.check(m.getAnchorSelectionIndex(), 3); harness.check(m.getLeadSelectionIndex(), 4); harness.check(m.getMaxSelectionIndex(), 8); harness.check(m.getMinSelectionIndex(), 3); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 3); harness.check(lastEvent.getLastIndex(), 8); m.clearSelection(); m.addSelectionInterval(3, 1); harness.check(m.isSelectedIndex(0), false); harness.check(m.isSelectedIndex(1), true); harness.check(m.isSelectedIndex(2), true); harness.check(m.isSelectedIndex(3), true); harness.check(m.isSelectedIndex(4), false); harness.check(m.getAnchorSelectionIndex(), 3); harness.check(m.getLeadSelectionIndex(), 1); harness.check(m.getMaxSelectionIndex(), 3); harness.check(m.getMinSelectionIndex(), 1); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 1); harness.check(lastEvent.getLastIndex(), 4); // this is 4 because that // is the old lead selection } private void testMultipleIntervalSelection(TestHarness harness) { harness.checkPoint("MULTIPLE_INTERVAL_SELECTION"); DefaultListSelectionModel m = new DefaultListSelectionModel(); m.addSelectionInterval(1, 3); harness.check(m.isSelectedIndex(0), false); harness.check(m.isSelectedIndex(1), true); harness.check(m.isSelectedIndex(2), true); harness.check(m.isSelectedIndex(3), true); harness.check(m.isSelectedIndex(4), false); m.clearSelection(); m.addSelectionInterval(2, 1); harness.check(m.isSelectedIndex(0), false); harness.check(m.isSelectedIndex(1), true); harness.check(m.isSelectedIndex(2), true); harness.check(m.isSelectedIndex(3), false); // check what happens for negative indices... m.clearSelection(); m.addSelectionInterval(-1, 1); harness.check(m.isSelectedIndex(-2), false); harness.check(m.isSelectedIndex(-1), false); harness.check(m.isSelectedIndex(0), false); harness.check(m.isSelectedIndex(1), false); harness.check(m.isSelectedIndex(2), false); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListSelectionModel/toString.java0000644000175000001440000000266210437256340026217 0ustar dokousers/* toString.java -- some checks for the toString() method in the DefaultListSelectionModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.DefaultListSelectionModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListSelectionModel; public class toString implements Testlet { public void test(TestHarness harness) { DefaultListSelectionModel m = new DefaultListSelectionModel(); harness.check(m.toString().endsWith(" ={}")); m.addSelectionInterval(3, 5); harness.check(m.toString().endsWith(" ={3, 4, 5}")); m.addSelectionInterval(7, 7); harness.check(m.toString().endsWith(" ={3, 4, 5, 7}")); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListSelectionModel/getAnchorSelectionIndex.java0000644000175000001440000000305410437256340031152 0ustar dokousers/* getAnchorSelectionIndex.java -- some checks for the getAnchorSelectionIndex() method in the DefaultListSelectionModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.DefaultListSelectionModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListSelectionModel; public class getAnchorSelectionIndex implements Testlet { public void test(TestHarness harness) { DefaultListSelectionModel m = new DefaultListSelectionModel(); harness.check(m.getAnchorSelectionIndex(), -1); m.setAnchorSelectionIndex(99); harness.check(m.getAnchorSelectionIndex(), 99); m.clearSelection(); harness.check(m.getAnchorSelectionIndex(), 99); m.addSelectionInterval(15, 11); harness.check(m.getAnchorSelectionIndex(), 15); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListSelectionModel/getMaxSelectionIndex.java0000644000175000001440000000267410437256340030474 0ustar dokousers/* getMaxSelectionIndex.java -- some checks for the getMaxSelectionIndex() method in the DefaultListSelectionModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.DefaultListSelectionModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListSelectionModel; public class getMaxSelectionIndex implements Testlet { public void test(TestHarness harness) { DefaultListSelectionModel m = new DefaultListSelectionModel(); harness.check(m.getMaxSelectionIndex(), -1); m.addSelectionInterval(99, 101); harness.check(m.getMaxSelectionIndex(), 101); m.clearSelection(); harness.check(m.getMaxSelectionIndex(), -1); } } ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/DefaultListSelectionModel/isLeadAnchorNotificationEnabled.javamauve-20140821/gnu/testlet/javax/swing/DefaultListSelectionModel/isLeadAnchorNotificationEnabled.jav0000644000175000001440000000270110437256340032415 0ustar dokousers/* isLeadAnchorNotificationEnabled.java -- some checks for the isLeadAnchorNotificationEnabled() method in the DefaultListSelectionModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.DefaultListSelectionModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListSelectionModel; public class isLeadAnchorNotificationEnabled implements Testlet { public void test(TestHarness harness) { DefaultListSelectionModel m = new DefaultListSelectionModel(); harness.check(m.isLeadAnchorNotificationEnabled(), true); m.setLeadAnchorNotificationEnabled(false); harness.check(m.isLeadAnchorNotificationEnabled(), false); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListSelectionModel/moveLeadSelectionIndex.java0000644000175000001440000000354210437256340030776 0ustar dokousers/* moveLeadSelectionIndex.java -- some checks for the moveLeadSelectionIndex() method in the DefaultListSelectionModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.DefaultListSelectionModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListSelectionModel; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; public class moveLeadSelectionIndex implements Testlet, ListSelectionListener { ListSelectionEvent lastEvent; public void valueChanged(ListSelectionEvent e) { lastEvent = e; } public void test(TestHarness harness) { DefaultListSelectionModel m = new DefaultListSelectionModel(); m.addSelectionInterval(3, 5); m.addListSelectionListener(this); m.moveLeadSelectionIndex(7); harness.check(m.isSelectedIndex(5), true); harness.check(m.isSelectedIndex(6), false); harness.check(m.isSelectedIndex(7), false); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 5); harness.check(lastEvent.getLastIndex(), 7); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListSelectionModel/getLeadSelectionIndex.java0000644000175000001440000000307310437256340030606 0ustar dokousers/* getLeadSelectionIndex.java -- some checks for the getLeadSelectionIndex() method in the DefaultListSelectionModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.DefaultListSelectionModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListSelectionModel; public class getLeadSelectionIndex implements Testlet { public void test(TestHarness harness) { DefaultListSelectionModel m = new DefaultListSelectionModel(); harness.check(m.getLeadSelectionIndex(), -1); m.setAnchorSelectionIndex(1); m.setLeadSelectionIndex(3); harness.check(m.getLeadSelectionIndex(), 3); m.clearSelection(); harness.check(m.getLeadSelectionIndex(), 3); m.addSelectionInterval(15, 11); harness.check(m.getLeadSelectionIndex(), 11); } }mauve-20140821/gnu/testlet/javax/swing/DefaultListSelectionModel/addListSelectionListener.java0000644000175000001440000000341010437256337031344 0ustar dokousers/* addListSelectionListener.java -- some checks for the addSelectionListener() method in the DefaultListSelectionModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.DefaultListSelectionModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListSelectionModel; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; public class addListSelectionListener implements Testlet, ListSelectionListener { public void valueChanged(ListSelectionEvent e) { // ignore } public void test(TestHarness harness) { DefaultListSelectionModel m = new DefaultListSelectionModel(); m.addListSelectionListener(this); harness.check(m.getListSelectionListeners().length, 1); harness.check(m.getListSelectionListeners()[0], this); // try null m.addListSelectionListener(null); harness.check(m.getListSelectionListeners().length, 1); harness.check(m.getListSelectionListeners()[0], this); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListSelectionModel/getValueIsAdjusting.java0000644000175000001440000000255610437256340030331 0ustar dokousers/* getValueIsAdjusting.java -- some checks for the getValueIsAdjusting() method in the DefaultListSelectionModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.DefaultListSelectionModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListSelectionModel; public class getValueIsAdjusting implements Testlet { public void test(TestHarness harness) { DefaultListSelectionModel m = new DefaultListSelectionModel(); harness.check(m.getValueIsAdjusting(), false); m.setValueIsAdjusting(true); harness.check(m.getValueIsAdjusting(), true); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListSelectionModel/isSelectedIndex.java0000644000175000001440000000305510437256340027457 0ustar dokousers/* isSelectedIndex.java -- some checks for the isSelectedIndex() method in the DefaultListSelectionModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.DefaultListSelectionModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListSelectionModel; public class isSelectedIndex implements Testlet { public void test(TestHarness harness) { DefaultListSelectionModel m = new DefaultListSelectionModel(); harness.check(m.isSelectedIndex(99), false); m.addSelectionInterval(99, 99); harness.check(m.isSelectedIndex(99), true); m.clearSelection(); harness.check(m.isSelectedIndex(99), false); // try a negative index harness.check(m.isSelectedIndex(-1), false); harness.check(m.isSelectedIndex(-2), false); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListSelectionModel/removeListSelectionListener.java0000644000175000001440000000362510437256340032113 0ustar dokousers/* removeListSelectionListener.java -- some checks for the removeSelectionListener() method in the DefaultListSelectionModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.DefaultListSelectionModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListSelectionModel; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; public class removeListSelectionListener implements Testlet, ListSelectionListener { public void valueChanged(ListSelectionEvent e) { // ignore } public void test(TestHarness harness) { DefaultListSelectionModel m = new DefaultListSelectionModel(); m.addListSelectionListener(this); harness.check(m.getListSelectionListeners().length, 1); m.removeListSelectionListener(this); harness.check(m.getListSelectionListeners().length, 0); // remove a listener that isn't there m.removeListSelectionListener(this); harness.check(m.getListSelectionListeners().length, 0); // try null m.removeListSelectionListener(null); harness.check(m.getListSelectionListeners().length, 0); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListSelectionModel/leadSelectionIndex.java0000644000175000001440000000342110325776366030156 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2005 Red Hat. //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.DefaultListSelectionModel; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.JList; import javax.swing.DefaultListModel; import javax.swing.ListSelectionModel; /** * Tests if DefaultListSelectionModel.setLeadSelectionIndex checks the selection * mode to see if it should extend the selection or set the selection. */ public class leadSelectionIndex implements Testlet { public void test(TestHarness harness) { DefaultListModel v = new DefaultListModel(); v.addElement("0"); v.addElement("1"); v.addElement("2"); v.addElement("3"); v.addElement("4"); JList a = new JList(v); a.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); a.setSelectedIndex(1); a.getSelectionModel().setLeadSelectionIndex(3); if (!(a.getSelectedIndices().length == 1 && a.getSelectedIndices()[0] == 3)) harness.fail("setLeadSelectionIndex should check the selection mode"); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListSelectionModel/setValueIsAdjusting.java0000644000175000001440000000352010437256340030335 0ustar dokousers/* setValueIsAdjusting.java -- some checks for the setValueIsAdjusting() method in the DefaultListSelectionModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.DefaultListSelectionModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListSelectionModel; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; public class setValueIsAdjusting implements Testlet, ListSelectionListener { ListSelectionEvent lastEvent; public void valueChanged(ListSelectionEvent e) { lastEvent = e; } public void test(TestHarness harness) { DefaultListSelectionModel m = new DefaultListSelectionModel(); m.addListSelectionListener(this); harness.check(m.getValueIsAdjusting(), false); m.setValueIsAdjusting(true); harness.check(lastEvent, null); m.addSelectionInterval(3, 5); harness.check(lastEvent.getValueIsAdjusting(), true); m.setValueIsAdjusting(false); m.addSelectionInterval(1, 2); harness.check(lastEvent.getValueIsAdjusting(), false); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListSelectionModel/getListeners.java0000644000175000001440000000371110544512702027046 0ustar dokousers/* getListeners.java -- some checks for the getListeners() method in the DefaultListSelectionModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.DefaultListSelectionModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListSelectionModel; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; public class getListeners implements Testlet, ListSelectionListener { public void valueChanged(ListSelectionEvent e) { // ignore } public void test(TestHarness harness) { DefaultListSelectionModel m = new DefaultListSelectionModel(); ListSelectionListener[] listeners = (ListSelectionListener[]) m.getListeners(ListSelectionListener.class); harness.check(listeners.length, 0); m.addListSelectionListener(this); listeners = (ListSelectionListener[]) m.getListeners(ListSelectionListener.class); harness.check(listeners[0], this); /* Doesn't compile with 1.5 boolean pass = false; try { m.getListeners(String.class); } catch (ClassCastException e) { pass = true; } harness.check(pass); */ } } mauve-20140821/gnu/testlet/javax/swing/DefaultListSelectionModel/setSelectionMode.java0000644000175000001440000000550310437256340027651 0ustar dokousers/* setSelectionMode.java -- some checks for the setSelectionMode() method in the DefaultListSelectionModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.DefaultListSelectionModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListSelectionModel; import javax.swing.ListSelectionModel; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; public class setSelectionMode implements Testlet, ListSelectionListener { ListSelectionEvent lastEvent; public void valueChanged(ListSelectionEvent event) { lastEvent = event; } public void test(TestHarness harness) { testGeneral(harness); testIntervalToSingle(harness); } private void testGeneral(TestHarness harness) { harness.checkPoint("testGeneral()"); DefaultListSelectionModel m = new DefaultListSelectionModel(); m.addListSelectionListener(this); harness.check(m.getSelectionMode(), ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); m.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION); harness.check(m.getSelectionMode(), ListSelectionModel.SINGLE_INTERVAL_SELECTION); harness.check(lastEvent, null); // try bad value boolean pass = false; try { m.setSelectionMode(99); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } private void testIntervalToSingle(TestHarness harness) { harness.checkPoint("testIntervalToSingle()"); DefaultListSelectionModel m = new DefaultListSelectionModel(); m.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION); m.addSelectionInterval(2, 4); m.addListSelectionListener(this); m.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); harness.check(m.getSelectionMode(), ListSelectionModel.SINGLE_SELECTION); harness.check(m.isSelectedIndex(2), true); harness.check(m.isSelectedIndex(3), true); harness.check(m.isSelectedIndex(4), true); harness.check(lastEvent, null); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListSelectionModel/setSelectionInterval.java0000644000175000001440000002423210437256340030551 0ustar dokousers/* setSelectionInterval.java -- some checks for the setSelectionInterval() method in the DefaultListSelectionModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.DefaultListSelectionModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.List; import javax.swing.DefaultListSelectionModel; import javax.swing.ListSelectionModel; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; public class setSelectionInterval implements Testlet, ListSelectionListener { List events = new java.util.ArrayList(); public void valueChanged(ListSelectionEvent e) { events.add(e); } public void test(TestHarness harness) { testSingle(harness); testSingleInterval(harness); testMultipleInterval(harness); testSingleX(harness); } private void testSingle(TestHarness harness) { harness.checkPoint("SINGLE_SELECTION"); DefaultListSelectionModel m = new DefaultListSelectionModel(); m.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); m.addListSelectionListener(this); harness.checkPoint("SINGLE_SELECTION (1)"); m.setSelectionInterval(6, 7); harness.check(m.isSelectedIndex(6), false); harness.check(m.isSelectedIndex(7), true); harness.check(m.getAnchorSelectionIndex(), 7); harness.check(m.getLeadSelectionIndex(), 7); ListSelectionEvent lastEvent = (ListSelectionEvent) events.get(0); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 7); harness.check(lastEvent.getLastIndex(), 7); // no event is generated if we update the same again events.clear(); harness.checkPoint("SINGLE_SELECTION (2)"); m.setSelectionInterval(6, 7); harness.check(events.size(), 0); // now if we set another selection, the event range should cover the old // index too events.clear(); harness.checkPoint("SINGLE_SELECTION (3)"); m.setSelectionInterval(3, 3); harness.check(m.isSelectedIndex(3), true); harness.check(m.isSelectedIndex(7), false); lastEvent = (ListSelectionEvent) events.get(0); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 3); harness.check(lastEvent.getLastIndex(), 7); // the anchor can move around independently of the selection, is it // included in the event range? YES harness.checkPoint("SINGLE_SELECTION (4)"); m.setAnchorSelectionIndex(5); events.clear(); m.setSelectionInterval(4, 4); lastEvent = (ListSelectionEvent) events.get(0); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 3); harness.check(lastEvent.getLastIndex(), 5); // try -2 for the initial index harness.checkPoint("SINGLE_SELECTION (5)"); m = new DefaultListSelectionModel(); m.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); m.setSelectionInterval(2, 2); m.addListSelectionListener(this); events.clear(); m.setSelectionInterval(-2, 0); lastEvent = (ListSelectionEvent) events.get(0); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 0); harness.check(lastEvent.getLastIndex(), 2); harness.check(m.getLeadSelectionIndex(), 0); harness.check(m.getAnchorSelectionIndex(), 0); // try -1 for the initial index harness.checkPoint("SINGLE_SELECTION (6)"); m = new DefaultListSelectionModel(); m.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); m.setSelectionInterval(2, 2); m.addListSelectionListener(this); events.clear(); m.setSelectionInterval(-1, 0); harness.check(events.size(), 0); // try -2 for the second index harness.checkPoint("SINGLE_SELECTION (7)"); m = new DefaultListSelectionModel(); m.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); m.setSelectionInterval(2, 2); m.addListSelectionListener(this); events.clear(); boolean pass = false; try { m.setSelectionInterval(0, -2); } catch (IndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try -1 for the second index harness.checkPoint("SINGLE_SELECTION (8)"); m = new DefaultListSelectionModel(); m.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); m.setSelectionInterval(2, 2); m.addListSelectionListener(this); events.clear(); m.setSelectionInterval(0, -1); harness.check(events.size(), 0); } /** * Some checks for a model using SINGLE_INTERVAL_SELECTION. * * @param harness the test harness. */ private void testSingleInterval(TestHarness harness) { harness.checkPoint("SINGLE_INTERVAL_SELECTION (1)"); DefaultListSelectionModel m = new DefaultListSelectionModel(); m.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION); events.clear(); m.addListSelectionListener(this); m.setSelectionInterval(6, 7); harness.check(m.isSelectedIndex(5), false); harness.check(m.isSelectedIndex(6), true); harness.check(m.isSelectedIndex(7), true); harness.check(m.isSelectedIndex(8), false); harness.check(m.getAnchorSelectionIndex(), 6); harness.check(m.getLeadSelectionIndex(), 7); harness.check(events.size(), 1); ListSelectionEvent lastEvent = (ListSelectionEvent) events.get(0); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 6); harness.check(lastEvent.getLastIndex(), 7); // no event is generated if we update the same again harness.checkPoint("SINGLE_INTERVAL_SELECTION (2)"); events.clear(); m.setSelectionInterval(6, 7); harness.check(events.size(), 0); // now if we set another selection, the event range should cover the old // index too harness.checkPoint("SINGLE_INTERVAL_SELECTION (3)"); events.clear(); m.setSelectionInterval(3, 3); harness.check(m.isSelectedIndex(3), true); harness.check(m.isSelectedIndex(6), false); harness.check(m.isSelectedIndex(7), false); harness.check(events.size(), 1); lastEvent = (ListSelectionEvent) events.get(0); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 3); harness.check(lastEvent.getLastIndex(), 7); // the anchor can move around independently of the selection, is it // included in the event range? YES harness.checkPoint("SINGLE_INTERVAL_SELECTION (3)"); m.setAnchorSelectionIndex(5); events.clear(); m.setSelectionInterval(4, 4); harness.check(m.isSelectedIndex(3), false); harness.check(m.isSelectedIndex(4), true); harness.check(m.isSelectedIndex(5), false); lastEvent = (ListSelectionEvent) events.get(0); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 3); harness.check(lastEvent.getLastIndex(), 5); } private void testMultipleInterval(TestHarness harness) { harness.checkPoint("MULTIPLE_INTERVAL_SELECTION"); DefaultListSelectionModel m = new DefaultListSelectionModel(); m.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); events.clear(); m.addListSelectionListener(this); m.setSelectionInterval(3, 5); harness.check(m.isSelectedIndex(2), false); harness.check(m.isSelectedIndex(3), true); harness.check(m.isSelectedIndex(4), true); harness.check(m.isSelectedIndex(5), true); harness.check(m.isSelectedIndex(6), false); harness.check(m.getAnchorSelectionIndex(), 3); harness.check(m.getLeadSelectionIndex(), 5); harness.check(m.getMinSelectionIndex(), 3); harness.check(m.getMaxSelectionIndex(), 5); harness.check(events.size(), 1); ListSelectionEvent lastEvent = (ListSelectionEvent) events.get(0); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 3); harness.check(lastEvent.getLastIndex(), 5); events.clear(); m.setSelectionInterval(2, 3); harness.check(m.isSelectedIndex(2), true); harness.check(m.isSelectedIndex(3), true); harness.check(m.isSelectedIndex(4), false); harness.check(m.isSelectedIndex(5), false); harness.check(m.isSelectedIndex(6), false); harness.check(m.getAnchorSelectionIndex(), 2); harness.check(m.getLeadSelectionIndex(), 3); harness.check(m.getMinSelectionIndex(), 2); harness.check(m.getMaxSelectionIndex(), 3); lastEvent = (ListSelectionEvent) events.get(0); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 2); harness.check(lastEvent.getLastIndex(), 5); } /** * A special case where the model is SINGLE_SELECTION, but this mode is set * AFTER a range of items is selected. * * @param harness */ private void testSingleX(TestHarness harness) { harness.checkPoint("SINGLE_SELECTION_X"); DefaultListSelectionModel m = new DefaultListSelectionModel(); m.addSelectionInterval(2, 4); m.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); events.clear(); m.addListSelectionListener(this); m.setSelectionInterval(0, 1); harness.check(m.isSelectedIndex(0), false); harness.check(m.isSelectedIndex(1), true); harness.check(m.getAnchorSelectionIndex(), 1); harness.check(m.getLeadSelectionIndex(), 1); harness.check(events.size(), 1); ListSelectionEvent lastEvent = (ListSelectionEvent) events.get(0); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 1); harness.check(lastEvent.getLastIndex(), 4); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListSelectionModel/removeSelectionInterval.java0000644000175000001440000001104010437256340031244 0ustar dokousers/* removeSelectionInterval.java -- some checks for the removeSelectionInterval() method in the DefaultListSelectionModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.DefaultListSelectionModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListSelectionModel; import javax.swing.ListSelectionModel; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; public class removeSelectionInterval implements Testlet, ListSelectionListener { private ListSelectionEvent lastEvent; public void valueChanged(ListSelectionEvent event) { lastEvent = event; } public void test(TestHarness harness) { testSingleSelection(harness); testSingleInterval(harness); testMultipleInterval(harness); } public void testSingleSelection(TestHarness harness) { harness.checkPoint("SINGLE_SELECTION"); DefaultListSelectionModel m = new DefaultListSelectionModel(); m.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); m.addSelectionInterval(1, 2); harness.check(m.isSelectedIndex(1), false); harness.check(m.isSelectedIndex(2), true); harness.check(m.isSelectedIndex(3), false); m.addListSelectionListener(this); m.removeSelectionInterval(2, 3); harness.check(m.isSelectionEmpty(), true); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 2); harness.check(lastEvent.getLastIndex(), 3); } public void testSingleInterval(TestHarness harness) { harness.checkPoint("SINGLE_INTERVAL_SELECTION"); DefaultListSelectionModel m = new DefaultListSelectionModel(); m.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION); m.addSelectionInterval(2, 6); harness.check(m.isSelectedIndex(1), false); harness.check(m.isSelectedIndex(2), true); harness.check(m.isSelectedIndex(3), true); harness.check(m.isSelectedIndex(4), true); harness.check(m.isSelectedIndex(5), true); harness.check(m.isSelectedIndex(6), true); harness.check(m.isSelectedIndex(7), false); m.addListSelectionListener(this); m.removeSelectionInterval(3, 5); harness.check(m.isSelectedIndex(1), false); harness.check(m.isSelectedIndex(2), true); harness.check(m.isSelectedIndex(3), false); harness.check(m.isSelectedIndex(4), false); harness.check(m.isSelectedIndex(5), false); harness.check(m.isSelectedIndex(6), false); harness.check(m.isSelectedIndex(7), false); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 2); harness.check(lastEvent.getLastIndex(), 6); } public void testMultipleInterval(TestHarness harness) { harness.checkPoint("MULTIPLE_INTERVAL_SELECTION"); DefaultListSelectionModel m = new DefaultListSelectionModel(); m.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); m.addSelectionInterval(2, 6); harness.check(m.isSelectedIndex(1), false); harness.check(m.isSelectedIndex(2), true); harness.check(m.isSelectedIndex(3), true); harness.check(m.isSelectedIndex(4), true); harness.check(m.isSelectedIndex(5), true); harness.check(m.isSelectedIndex(6), true); harness.check(m.isSelectedIndex(7), false); m.addListSelectionListener(this); m.removeSelectionInterval(3, 5); harness.check(m.isSelectedIndex(1), false); harness.check(m.isSelectedIndex(2), true); harness.check(m.isSelectedIndex(3), false); harness.check(m.isSelectedIndex(4), false); harness.check(m.isSelectedIndex(5), false); harness.check(m.isSelectedIndex(6), true); harness.check(m.isSelectedIndex(7), false); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 2); harness.check(lastEvent.getLastIndex(), 6); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListSelectionModel/getMinSelectionIndex.java0000644000175000001440000000267310437256340030471 0ustar dokousers/* getMinSelectionIndex.java -- some checks for the getMinSelectionIndex() method in the DefaultListSelectionModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.DefaultListSelectionModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListSelectionModel; public class getMinSelectionIndex implements Testlet { public void test(TestHarness harness) { DefaultListSelectionModel m = new DefaultListSelectionModel(); harness.check(m.getMinSelectionIndex(), -1); m.addSelectionInterval(99, 101); harness.check(m.getMinSelectionIndex(), 99); m.clearSelection(); harness.check(m.getMinSelectionIndex(), -1); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListSelectionModel/clearSelection.java0000644000175000001440000001141210437256337027341 0ustar dokousers/* clearSelection.java -- some checks for the clearSelection() method in the DefaultListSelectionModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.DefaultListSelectionModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListSelectionModel; import javax.swing.ListSelectionModel; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; public class clearSelection implements Testlet, ListSelectionListener { ListSelectionEvent lastEvent; public void valueChanged(ListSelectionEvent e) { lastEvent = e; } public void test(TestHarness harness) { testSingleSelection(harness); testSingleIntervalSelection(harness); testMultipleIntervalSelection(harness); } private void testSingleSelection(TestHarness harness) { // clearing an empty selection generates no event harness.checkPoint("SINGLE_SELECTION (1)"); DefaultListSelectionModel m = new DefaultListSelectionModel(); m.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); m.addListSelectionListener(this); m.clearSelection(); harness.check(lastEvent, null); harness.checkPoint("SINGLE_SELECTION (2)"); m.setSelectionInterval(3, 3); lastEvent = null; m.clearSelection(); harness.check(m.isSelectionEmpty()); harness.check(m.getAnchorSelectionIndex(), 3); harness.check(m.getLeadSelectionIndex(), 3); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 3); harness.check(lastEvent.getLastIndex(), 3); } private void testSingleIntervalSelection(TestHarness harness) { // check 1 : clearing an empty selection generates no event harness.checkPoint("SINGLE_INTERVAL_SELECTION (1)"); DefaultListSelectionModel m = new DefaultListSelectionModel(); m.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION); m.addListSelectionListener(this); harness.check(m.isSelectionEmpty(), true); lastEvent = null; m.clearSelection(); harness.check(m.isSelectionEmpty(), true); harness.check(lastEvent, null); // check 2 : clearing a selection generates an event with first and last // indices covering the former selection harness.checkPoint("SINGLE_INTERVAL_SELECTION (2)"); m.addSelectionInterval(10, 20); lastEvent = null; m.clearSelection(); harness.check(m.isSelectionEmpty(), true); harness.check(m.isSelectedIndex(10), false); harness.check(m.getAnchorSelectionIndex(), 10); harness.check(m.getLeadSelectionIndex(), 20); harness.check(m.getMinSelectionIndex(), -1); harness.check(m.getMaxSelectionIndex(), -1); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 10); harness.check(lastEvent.getLastIndex(), 20); } private void testMultipleIntervalSelection(TestHarness harness) { // check 1 : clearing an empty selection generates no event harness.checkPoint("MULTIPLE_INTERVAL_SELECTION (1)"); DefaultListSelectionModel m = new DefaultListSelectionModel(); m.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); m.addListSelectionListener(this); harness.check(m.isSelectionEmpty(), true); lastEvent = null; m.clearSelection(); harness.check(m.isSelectionEmpty(), true); harness.check(lastEvent, null); // check 2 : clearing a selection generates an event with first and last // indices covering the former selection harness.checkPoint("MULTIPLE_INTERVAL_SELECTION (2)"); m.addSelectionInterval(2, 3); m.addSelectionInterval(12, 13); lastEvent = null; m.clearSelection(); harness.check(m.isSelectionEmpty(), true); harness.check(m.getAnchorSelectionIndex(), 12); harness.check(m.getLeadSelectionIndex(), 13); harness.check(m.getMinSelectionIndex(), -1); harness.check(m.getMaxSelectionIndex(), -1); harness.check(lastEvent.getSource(), m); harness.check(lastEvent.getFirstIndex(), 2); harness.check(lastEvent.getLastIndex(), 13); } } mauve-20140821/gnu/testlet/javax/swing/JSlider/0000755000175000001440000000000012375316426020027 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JSlider/constructors.java0000644000175000001440000001724110267025656023447 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JSlider; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.BoundedRangeModel; import javax.swing.DefaultBoundedRangeModel; import javax.swing.JSlider; /** * Some checks for the constructors in the {@link JSlider} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { constructor1(harness); constructor2(harness); constructor3(harness); constructor4(harness); constructor5(harness); constructor6(harness); } public void constructor1(TestHarness harness) { harness.checkPoint("JSlider()"); JSlider slider = new JSlider(); harness.check(slider.getOrientation(), JSlider.HORIZONTAL); harness.check(slider.getMinimum(), 0); harness.check(slider.getMaximum(), 100); harness.check(slider.getMajorTickSpacing(), 0); harness.check(slider.getMinorTickSpacing(), 0); harness.check(slider.getPaintLabels(), false); harness.check(slider.getPaintTicks(), false); harness.check(slider.getSnapToTicks(), false); harness.check(slider.getValue(), 50); harness.check(slider.getExtent(), 0); } public void constructor2(TestHarness harness) { harness.checkPoint("JSlider(BoundedRangeModel)"); BoundedRangeModel m = new DefaultBoundedRangeModel(5, 0, 2, 9); JSlider slider = new JSlider(m); harness.check(slider.getMinimum(), 2); harness.check(slider.getMaximum(), 9); harness.check(slider.getMajorTickSpacing(), 0); harness.check(slider.getMinorTickSpacing(), 0); harness.check(slider.getPaintLabels(), false); harness.check(slider.getPaintTicks(), false); harness.check(slider.getSnapToTicks(), false); harness.check(slider.getValue(), 5); harness.check(slider.getExtent(), 0); // try null model boolean pass = false; try { /*JSlider slider =*/ new JSlider(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void constructor3(TestHarness harness) { harness.checkPoint("JSlider(int)"); JSlider slider = new JSlider(JSlider.HORIZONTAL); harness.check(slider.getOrientation(), JSlider.HORIZONTAL); harness.check(slider.getMinimum(), 0); harness.check(slider.getMaximum(), 100); harness.check(slider.getMajorTickSpacing(), 0); harness.check(slider.getMinorTickSpacing(), 0); harness.check(slider.getPaintLabels(), false); harness.check(slider.getPaintTicks(), false); harness.check(slider.getSnapToTicks(), false); harness.check(slider.getValue(), 50); harness.check(slider.getExtent(), 0); slider = new JSlider(JSlider.VERTICAL); harness.check(slider.getOrientation(), JSlider.VERTICAL); harness.check(slider.getMinimum(), 0); harness.check(slider.getMaximum(), 100); harness.check(slider.getMajorTickSpacing(), 0); harness.check(slider.getMinorTickSpacing(), 0); harness.check(slider.getPaintLabels(), false); harness.check(slider.getPaintTicks(), false); harness.check(slider.getSnapToTicks(), false); harness.check(slider.getValue(), 50); harness.check(slider.getExtent(), 0); // try unrecognised constant boolean pass = false; try { slider = new JSlider(99); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } public void constructor4(TestHarness harness) { harness.checkPoint("JSlider(int, int)"); JSlider slider = new JSlider(23, 34); harness.check(slider.getOrientation(), JSlider.HORIZONTAL); harness.check(slider.getMinimum(), 23); harness.check(slider.getMaximum(), 34); harness.check(slider.getMajorTickSpacing(), 0); harness.check(slider.getMinorTickSpacing(), 0); harness.check(slider.getPaintLabels(), false); harness.check(slider.getPaintTicks(), false); harness.check(slider.getSnapToTicks(), false); harness.check(slider.getValue(), 28); harness.check(slider.getExtent(), 0); // what happens if min > max boolean pass = false; try { slider = new JSlider(20, 10); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } public void constructor5(TestHarness harness) { harness.checkPoint("JSlider(int, int, int)"); JSlider slider = new JSlider(23, 34, 33); harness.check(slider.getOrientation(), JSlider.HORIZONTAL); harness.check(slider.getMinimum(), 23); harness.check(slider.getMaximum(), 34); harness.check(slider.getMajorTickSpacing(), 0); harness.check(slider.getMinorTickSpacing(), 0); harness.check(slider.getPaintLabels(), false); harness.check(slider.getPaintTicks(), false); harness.check(slider.getSnapToTicks(), false); harness.check(slider.getValue(), 33); harness.check(slider.getExtent(), 0); // what happens if value > max boolean pass = false; try { slider = new JSlider(1, 2, 3); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // what happens if value < min pass = false; try { slider = new JSlider(1, 2, 0); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // what happens if min > max pass = false; try { slider = new JSlider(20, 10, 15); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } public void constructor6(TestHarness harness) { harness.checkPoint("JSlider(int, int, int, int)"); JSlider slider = new JSlider(JSlider.VERTICAL, 23, 34, 33); harness.check(slider.getOrientation(), JSlider.VERTICAL); harness.check(slider.getMinimum(), 23); harness.check(slider.getMaximum(), 34); harness.check(slider.getMajorTickSpacing(), 0); harness.check(slider.getMinorTickSpacing(), 0); harness.check(slider.getPaintLabels(), false); harness.check(slider.getPaintTicks(), false); harness.check(slider.getSnapToTicks(), false); harness.check(slider.getValue(), 33); harness.check(slider.getExtent(), 0); // what happens if value > max boolean pass = false; try { slider = new JSlider(JSlider.VERTICAL, 1, 2, 3); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // what happens if value < min pass = false; try { slider = new JSlider(JSlider.VERTICAL, 1, 2, 0); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // what happens if min > max pass = false; try { slider = new JSlider(JSlider.VERTICAL, 20, 10, 15); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JSlider/setMinorTickSpacing.java0000644000175000001440000000440110267422526024606 0ustar dokousers// Tags: JDK1.2 // Uses: MyChangeListener MyPropertyChangeListener // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JSlider; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSlider; /** * Some checks for the setMinorTickSpacing() method in the {@link JSlider} * class. */ public class setMinorTickSpacing implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider = new JSlider(50, 100); slider.setMinorTickSpacing(5); harness.check(slider.getMinorTickSpacing(), 5); // confirm that this fires no change event MyChangeListener listener1 = new MyChangeListener(); slider.addChangeListener(listener1); MyPropertyChangeListener listener2 = new MyPropertyChangeListener(); slider.addPropertyChangeListener(listener2); slider.setMinorTickSpacing(2); harness.check(listener1.event, null); harness.check(listener2.event.getSource(), slider); harness.check(listener2.event.getOldValue(), new Integer(5)); harness.check(listener2.event.getNewValue(), new Integer(2)); harness.check(listener2.event.getPropertyName(), "minorTickSpacing"); harness.check(listener2.event.getPropagationId(), null); // check that no event occurs if the property value is not different listener2.event = null; slider.setMinorTickSpacing(2); harness.check(listener2.event, null); } } mauve-20140821/gnu/testlet/javax/swing/JSlider/setPaintLabels.java0000644000175000001440000000526610267422526023612 0ustar dokousers// Tags: JDK1.2 // Uses: MyChangeListener MyPropertyChangeListener // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JSlider; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Dictionary; import javax.swing.JSlider; /** * Some checks for the setPaintLabels() method in the {@link JSlider} * class. */ public class setPaintLabels implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testGeneral(harness); testLabelTable(harness); } public void testGeneral(TestHarness harness) { JSlider slider = new JSlider(50, 100); MyChangeListener listener1 = new MyChangeListener(); slider.addChangeListener(listener1); MyPropertyChangeListener listener2 = new MyPropertyChangeListener(); slider.addPropertyChangeListener(listener2); slider.setMajorTickSpacing(10); slider.setPaintLabels(true); harness.check(slider.getPaintLabels(), true); harness.check(listener1.event, null); harness.check(listener2.event.getSource(), slider); harness.check(listener2.event.getOldValue(), Boolean.FALSE); harness.check(listener2.event.getNewValue(), Boolean.TRUE); harness.check(listener2.event.getPropertyName(), "paintLabels"); harness.check(listener2.event.getPropagationId(), null); // check that no event is generated if the flag is not different listener2.event = null; slider.setPaintLabels(true); harness.check(listener2.event, null); } public void testLabelTable(TestHarness harness) { JSlider slider = new JSlider(50, 100); slider.setMajorTickSpacing(10); harness.check(slider.getLabelTable(), null); slider.setPaintLabels(true); harness.check(slider.getPaintLabels(), true); Dictionary labels = slider.getLabelTable(); harness.check(labels.size(), 6); } } mauve-20140821/gnu/testlet/javax/swing/JSlider/createStandardLabels.java0000644000175000001440000001060310267422525024735 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JSlider; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Hashtable; import javax.swing.JSlider; /** * Some checks for the createStandardLabels() method in the {@link JSlider} * class. */ public class createStandardLabels implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("createStandardLabels(int)"); JSlider slider = new JSlider(); Hashtable table = slider.createStandardLabels(10); harness.check(table.containsKey(new Integer(0))); harness.check(table.containsKey(new Integer(10))); harness.check(table.containsKey(new Integer(20))); harness.check(table.containsKey(new Integer(30))); harness.check(table.containsKey(new Integer(40))); harness.check(table.containsKey(new Integer(50))); harness.check(table.containsKey(new Integer(60))); harness.check(table.containsKey(new Integer(70))); harness.check(table.containsKey(new Integer(80))); harness.check(table.containsKey(new Integer(90))); harness.check(table.containsKey(new Integer(100))); // try 0 boolean pass = false; try { /*Hashtable t1 =*/ slider.createStandardLabels(0); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try negative pass = false; try { /*Hashtable t1 =*/ slider.createStandardLabels(-1); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } public void test2(TestHarness harness) { harness.checkPoint("createStandardLabels(int, int)"); JSlider slider = new JSlider(); Hashtable table = slider.createStandardLabels(10, 50); harness.check(table.containsKey(new Integer(50))); harness.check(table.containsKey(new Integer(60))); harness.check(table.containsKey(new Integer(70))); harness.check(table.containsKey(new Integer(80))); harness.check(table.containsKey(new Integer(90))); harness.check(table.containsKey(new Integer(100))); table = slider.createStandardLabels(10, 51); harness.check(table.containsKey(new Integer(51))); harness.check(table.containsKey(new Integer(61))); harness.check(table.containsKey(new Integer(71))); harness.check(table.containsKey(new Integer(81))); harness.check(table.containsKey(new Integer(91))); table = slider.createStandardLabels(10, 100); harness.check(table.containsKey(new Integer(100))); // try 0 for increment boolean pass = false; try { /*Hashtable t1 =*/ slider.createStandardLabels(0, 50); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try negative increment pass = false; try { /*Hashtable t1 =*/ slider.createStandardLabels(-1, 50); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try initial value < minimum pass = false; try { /*Hashtable t1 =*/ slider.createStandardLabels(10, -50); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try initial value > maximum pass = false; try { /*Hashtable t1 =*/ slider.createStandardLabels(10, 110); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JSlider/setExtent.java0000644000175000001440000000421410267422526022653 0ustar dokousers// Tags: JDK1.2 // Uses: MyChangeListener MyPropertyChangeListener // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JSlider; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSlider; /** * Some checks for the setExtent() method in the {@link JSlider} class. */ public class setExtent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider = new JSlider(5, 10); harness.check(slider.getMinimum(), 5); harness.check(slider.getMaximum(), 10); harness.check(slider.getValue(), 7); slider.setExtent(2); harness.check(slider.getExtent(), 2); slider.setExtent(5); harness.check(slider.getExtent(), 3); // confirm that this fires a change event and not a property change event MyChangeListener listener1 = new MyChangeListener(); slider.addChangeListener(listener1); MyPropertyChangeListener listener2 = new MyPropertyChangeListener(); slider.addPropertyChangeListener(listener2); slider.setExtent(0); harness.check(listener1.event.getSource(), slider); listener1.event = null; harness.check(listener2.event, null); // if the value doesn't change, there is no event slider.setExtent(0); harness.check(listener1.event, null); } } mauve-20140821/gnu/testlet/javax/swing/JSlider/setMaximum.java0000644000175000001440000000510710267422526023023 0ustar dokousers// Tags: JDK1.2 // Uses: MyChangeListener MyPropertyChangeListener // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JSlider; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSlider; /** * Some checks for the setMaximum() method in the {@link JSlider} class. */ public class setMaximum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider = new JSlider(5, 10); harness.check(slider.getMinimum(), 5); harness.check(slider.getMaximum(), 10); harness.check(slider.getValue(), 7); slider.setMaximum(99); harness.check(slider.getMinimum(), 5); harness.check(slider.getMaximum(), 99); harness.check(slider.getValue(), 7); slider.setMaximum(3); harness.check(slider.getMinimum(), 3); harness.check(slider.getMaximum(), 3); harness.check(slider.getValue(), 3); // confirm that this fires a ChangeEvent AND a PropertyChangeEvent MyChangeListener listener1 = new MyChangeListener(); slider.addChangeListener(listener1); MyPropertyChangeListener listener2 = new MyPropertyChangeListener(); slider.addPropertyChangeListener(listener2); slider.setMaximum(4); harness.check(listener1.event.getSource(), slider); harness.check(listener2.event.getSource(), slider); harness.check(listener2.event.getOldValue(), new Integer(3)); harness.check(listener2.event.getNewValue(), new Integer(4)); harness.check(listener2.event.getPropertyName(), "maximum"); harness.check(listener2.event.getPropagationId(), null); // if the value isn't changed, there is no event listener1.event = null; slider.setMaximum(4); harness.check(listener1.event, null); } } mauve-20140821/gnu/testlet/javax/swing/JSlider/setLabelTable.java0000644000175000001440000000612610530403675023374 0ustar dokousers// Tags: JDK1.2 // Uses: MyChangeListener MyPropertyChangeListener // Copyright (C) 2005 David Gilbert // 2006 Red Hat // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JSlider; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Dictionary; import java.util.Hashtable; import javax.swing.JLabel; import javax.swing.JSlider; /** * Some checks for the setLabelTable() method in the {@link JSlider} class. */ public class setLabelTable implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider = new JSlider(5, 10); Hashtable labels = new Hashtable(); labels.put(new Integer(1), new JLabel("Label 1")); slider.setLabelTable(labels); harness.check(slider.getLabelTable(), labels); // confirm that this fires a PropertyChangeEvent and no ChangeEvent MyChangeListener listener1 = new MyChangeListener(); slider.addChangeListener(listener1); MyPropertyChangeListener listener2 = new MyPropertyChangeListener(); slider.addPropertyChangeListener(listener2); Hashtable labels2 = new Hashtable(); labels2.put(new Integer(2), new JLabel("Label 2")); slider.setLabelTable(labels2); harness.check(listener1.event, null); harness.check(listener2.event.getSource(), slider); harness.check(listener2.event.getOldValue(), labels); harness.check(listener2.event.getNewValue(), labels2); harness.check(listener2.event.getPropertyName(), "labelTable"); harness.check(listener2.event.getPropagationId(), null); listener2.event = null; // check that there is no event if the property is not changed slider.setLabelTable(labels2); harness.check(listener2.event, null); // try null table slider.setLabelTable(null); harness.check(slider.getLabelTable(), null); // This next test shows that it is not necessary to cast // "list.nextElement()" to type JLabel. // NOTE: With the casting, a ClassCastException was thrown. boolean pass = false; Dictionary labelTable = new Hashtable(); labelTable.put("a", "b"); try { slider.setLabelTable(labelTable); pass = true; } catch (ClassCastException e) { // Do nothing. } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JSlider/MyPropertyChangeListener.java0000644000175000001440000000250010267422525025631 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JSlider; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; /** * A change listener that simply retains a reference to the change event. * This allows tests to check that a required event is generated. */ public class MyPropertyChangeListener implements PropertyChangeListener { public PropertyChangeEvent event; public MyPropertyChangeListener() { this.event = null; } public void propertyChange(PropertyChangeEvent event) { this.event = event; } } mauve-20140821/gnu/testlet/javax/swing/JSlider/getLabelTable.java0000644000175000001440000000314510267422525023360 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JSlider; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Hashtable; import javax.swing.JLabel; import javax.swing.JSlider; /** * Some checks for the getLabelTable() method in the {@link JSlider} class. */ public class getLabelTable implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider = new JSlider(5, 10); Hashtable labels = new Hashtable(); labels.put(new Integer(1), new JLabel("Label 1")); slider.setLabelTable(labels); harness.check(slider.getLabelTable(), labels); // try null table slider.setLabelTable(null); harness.check(slider.getLabelTable(), null); } } mauve-20140821/gnu/testlet/javax/swing/JSlider/getInverted.java0000644000175000001440000000260610267422525023152 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JSlider; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSlider; /** * Some checks for the getInverted() method in the {@link JSlider} class. */ public class getInverted implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider = new JSlider(5, 10); harness.check(slider.getInverted(), false); slider.setInverted(true); harness.check(slider.getInverted(), true); } } mauve-20140821/gnu/testlet/javax/swing/JSlider/setMinimum.java0000644000175000001440000000522410267422526023021 0ustar dokousers// Tags: JDK1.2 // Uses: MyChangeListener MyPropertyChangeListener // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JSlider; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSlider; /** * Some checks for the setMinimum() method in the {@link JSlider} class. */ public class setMinimum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider = new JSlider(5, 10); harness.check(slider.getMinimum(), 5); harness.check(slider.getMaximum(), 10); harness.check(slider.getValue(), 7); slider.setMinimum(-5); harness.check(slider.getMinimum(), -5); harness.check(slider.getMaximum(), 10); harness.check(slider.getValue(), 7); slider.setMinimum(99); harness.check(slider.getMinimum(), 99); harness.check(slider.getMaximum(), 99); harness.check(slider.getValue(), 99); // confirm that this fires a ChangeEvent AND a PropertyChangeEvent MyChangeListener listener1 = new MyChangeListener(); slider.addChangeListener(listener1); MyPropertyChangeListener listener2 = new MyPropertyChangeListener(); slider.addPropertyChangeListener(listener2); slider.setMinimum(10); harness.check(listener1.event.getSource(), slider); harness.check(listener2.event.getSource(), slider); harness.check(listener2.event.getOldValue(), new Integer(99)); harness.check(listener2.event.getNewValue(), new Integer(10)); harness.check(listener2.event.getPropertyName(), "minimum"); harness.check(listener2.event.getPropagationId(), null); // if the value isn't changed, there is no event listener1.event = null; listener2.event = null; slider.setMinimum(10); harness.check(listener1.event, null); harness.check(listener2.event, null); } } mauve-20140821/gnu/testlet/javax/swing/JSlider/getPaintTrack.java0000644000175000001440000000262110267422526023430 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JSlider; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSlider; /** * Some checks for the getPaintTrack() method in the {@link JSlider} class. */ public class getPaintTrack implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider = new JSlider(5, 10); harness.check(slider.getPaintTrack(), true); slider.setPaintTrack(false); harness.check(slider.getPaintTrack(), false); } } mauve-20140821/gnu/testlet/javax/swing/JSlider/getExtent.java0000644000175000001440000000256710267422525022647 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JSlider; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSlider; /** * Some checks for the getExtent() method in the {@link JSlider} class. */ public class getExtent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider = new JSlider(5, 10); harness.check(slider.getExtent(), 0); slider.setExtent(2); harness.check(slider.getExtent(), 2); } } mauve-20140821/gnu/testlet/javax/swing/JSlider/getUIClassID.java0000644000175000001440000000247410267422526023116 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JSlider; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSlider; /** * Some checks for the getUIClassID() method in the {@link JSlider} class. */ public class getUIClassID implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider = new JSlider(); harness.check(slider.getUIClassID(), "SliderUI"); } } mauve-20140821/gnu/testlet/javax/swing/JSlider/getPaintTicks.java0000644000175000001440000000262010267422526023440 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JSlider; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSlider; /** * Some checks for the getPaintTicks() method in the {@link JSlider} class. */ public class getPaintTicks implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider = new JSlider(5, 10); harness.check(slider.getPaintTicks(), false); slider.setPaintTicks(true); harness.check(slider.getPaintTicks(), true); } } mauve-20140821/gnu/testlet/javax/swing/JSlider/MyChangeListener.java0000644000175000001440000000242010267422525024065 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JSlider; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; /** * A change listener that simply retains a reference to the change event. * This allows tests to check that a required event is generated. */ public class MyChangeListener implements ChangeListener { public ChangeEvent event; public MyChangeListener() { event = null; } public void stateChanged(ChangeEvent event) { this.event = event; } } mauve-20140821/gnu/testlet/javax/swing/JSlider/addChangeListener.java0000644000175000001440000000325610267422525024240 0ustar dokousers// Tags: JDK1.2 // Uses: MyChangeListener // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JSlider; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSlider; /** * Some checks for the addChangeListener() method in the {@link JSlider} class. */ public class addChangeListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider = new JSlider(); MyChangeListener listener = new MyChangeListener(); slider.addChangeListener(listener); slider.setExtent(1); harness.check(listener.event.getSource(), slider); // adding a null listener is permitted boolean pass = true; try { slider.addChangeListener(null); } catch (Exception e) { pass = false; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JSlider/setOrientation.java0000644000175000001440000000461310267422526023702 0ustar dokousers// Tags: JDK1.2 // Uses: MyChangeListener MyPropertyChangeListener // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JSlider; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSlider; /** * Some checks for the setOrientation() method in the {@link JSlider} class. */ public class setOrientation implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider = new JSlider(5, 10); MyChangeListener listener1 = new MyChangeListener(); slider.addChangeListener(listener1); MyPropertyChangeListener listener2 = new MyPropertyChangeListener(); slider.addPropertyChangeListener(listener2); slider.setOrientation(JSlider.VERTICAL); harness.check(slider.getOrientation(), JSlider.VERTICAL); harness.check(listener1.event, null); harness.check(listener2.event.getSource(), slider); harness.check(listener2.event.getOldValue(), new Integer(JSlider.HORIZONTAL)); harness.check(listener2.event.getNewValue(), new Integer(JSlider.VERTICAL)); harness.check(listener2.event.getPropertyName(), "orientation"); harness.check(listener2.event.getPropagationId(), null); // check that no event is generated if the model is not different listener2.event = null; slider.setOrientation(JSlider.VERTICAL); harness.check(listener2.event, null); boolean pass = false; try { slider.setOrientation(99); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JSlider/setPaintTicks.java0000644000175000001440000000432710267422526023462 0ustar dokousers// Tags: JDK1.2 // Uses: MyChangeListener MyPropertyChangeListener // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JSlider; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSlider; /** * Some checks for the setPaintTicks() method in the {@link JSlider} class. */ public class setPaintTicks implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider = new JSlider(5, 10); slider.setPaintTicks(true); harness.check(slider.getPaintTicks(), true); // confirm that this fires no change event MyChangeListener listener1 = new MyChangeListener(); slider.addChangeListener(listener1); MyPropertyChangeListener listener2 = new MyPropertyChangeListener(); slider.addPropertyChangeListener(listener2); slider.setPaintTicks(false); harness.check(listener1.event, null); harness.check(listener2.event.getSource(), slider); harness.check(listener2.event.getOldValue(), Boolean.TRUE); harness.check(listener2.event.getNewValue(), Boolean.FALSE); harness.check(listener2.event.getPropertyName(), "paintTicks"); harness.check(listener2.event.getPropagationId(), null); // check that no event is generated if the flag is not different listener2.event = null; slider.setPaintTicks(false); harness.check(listener2.event, null); } } mauve-20140821/gnu/testlet/javax/swing/JSlider/getMaximum.java0000644000175000001440000000272310267422525023007 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JSlider; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSlider; /** * Some checks for the getMaximum() method in the {@link JSlider} class. */ public class getMaximum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider = new JSlider(5, 10); harness.check(slider.getMinimum(), 5); harness.check(slider.getMaximum(), 10); harness.check(slider.getValue(), 7); slider.setMaximum(99); harness.check(slider.getMaximum(), 99); } } mauve-20140821/gnu/testlet/javax/swing/JSlider/setValue.java0000644000175000001440000000414410267422526022462 0ustar dokousers// Tags: JDK1.2 // Uses: MyChangeListener MyPropertyChangeListener // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JSlider; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSlider; /** * Some checks for the setValue() method in the {@link JSlider} class. */ public class setValue implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider = new JSlider(5, 10); harness.check(slider.getMinimum(), 5); harness.check(slider.getMaximum(), 10); harness.check(slider.getValue(), 7); slider.setValue(6); harness.check(slider.getValue(), 6); slider.setValue(4); harness.check(slider.getValue(), 5); // confirm that this fires a change event MyChangeListener listener1 = new MyChangeListener(); slider.addChangeListener(listener1); MyPropertyChangeListener listener2 = new MyPropertyChangeListener(); slider.addPropertyChangeListener(listener2); slider.setValue(6); harness.check(listener1.event.getSource(), slider); harness.check(listener2.event, null); // if the value doesn't change, there is no event listener1.event = null; slider.setValue(6); harness.check(listener1.event, null); } } mauve-20140821/gnu/testlet/javax/swing/JSlider/getPaintLabels.java0000644000175000001440000000263310267422526023571 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JSlider; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSlider; /** * Some checks for the getPaintLabels() method in the {@link JSlider} * class. */ public class getPaintLabels implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider = new JSlider(50, 100); harness.check(slider.getPaintLabels(), false); slider.setPaintLabels(true); harness.check(slider.getPaintLabels(), true); } } mauve-20140821/gnu/testlet/javax/swing/JSlider/getMinorTickSpacing.java0000644000175000001440000000256610267422526024604 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JSlider; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSlider; /** * Some checks for the getMinorTickSpacing() method in the {@link JSlider} * class. */ public class getMinorTickSpacing implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider = new JSlider(50, 100); slider.setMinorTickSpacing(5); harness.check(slider.getMinorTickSpacing(), 5); } } mauve-20140821/gnu/testlet/javax/swing/JSlider/getModel.java0000644000175000001440000000266710267422526022442 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JSlider; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultBoundedRangeModel; import javax.swing.JSlider; /** * Some checks for the getModel() method in the {@link JSlider} class. */ public class getModel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider = new JSlider(); DefaultBoundedRangeModel m = new DefaultBoundedRangeModel(3, 0, 1, 6); slider.setModel(m); harness.check(slider.getModel(), m); } } mauve-20140821/gnu/testlet/javax/swing/JSlider/setModel.java0000644000175000001440000000517510267422526022453 0ustar dokousers// Tags: JDK1.2 // Uses: MyChangeListener MyPropertyChangeListener // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JSlider; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.BoundedRangeModel; import javax.swing.DefaultBoundedRangeModel; import javax.swing.JSlider; /** * Some checks for the setModel() method in the {@link JSlider} class. */ public class setModel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider = new JSlider(); BoundedRangeModel m1 = slider.getModel(); MyChangeListener listener1= new MyChangeListener(); slider.addChangeListener(listener1); MyPropertyChangeListener listener2 = new MyPropertyChangeListener(); slider.addPropertyChangeListener(listener2); DefaultBoundedRangeModel m2 = new DefaultBoundedRangeModel(3, 0, 1, 6); slider.setModel(m2); harness.check(slider.getModel(), m2); harness.check(slider.getValue(), 3); harness.check(slider.getExtent(), 0); harness.check(slider.getMinimum(), 1); harness.check(slider.getMaximum(), 6); harness.check(listener1.event, null); harness.check(listener2.event.getSource(), slider); harness.check(listener2.event.getOldValue(), m1); harness.check(listener2.event.getNewValue(), m2); harness.check(listener2.event.getPropertyName(), "model"); harness.check(listener2.event.getPropagationId(), null); // check that no event is generated if the model is not different listener2.event = null; slider.setModel(m2); harness.check(listener2.event, null); // try null argument boolean pass = false; try { slider.setModel(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JSlider/getMinimum.java0000644000175000001440000000257610267422525023013 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JSlider; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSlider; /** * Some checks for the getMinimum() method in the {@link JSlider} class. */ public class getMinimum implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider = new JSlider(5, 10); harness.check(slider.getMinimum(), 5); slider.setMinimum(-5); harness.check(slider.getMinimum(), -5); } } mauve-20140821/gnu/testlet/javax/swing/JSlider/setPaintTrack.java0000644000175000001440000000436010267422526023446 0ustar dokousers// Tags: JDK1.2 // Uses: MyChangeListener MyPropertyChangeListener // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JSlider; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSlider; /** * Some checks for the setPaintTrack() method in the {@link JSlider} class. */ public class setPaintTrack implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider = new JSlider(5, 10); slider.setPaintTrack(true); harness.check(slider.getPaintTrack(), true); // confirm that this fires a PropertyChangeEvent and no ChangeEvent MyChangeListener listener1 = new MyChangeListener(); slider.addChangeListener(listener1); MyPropertyChangeListener listener2 = new MyPropertyChangeListener(); slider.addPropertyChangeListener(listener2); slider.setPaintTrack(false); harness.check(listener1.event, null); harness.check(listener2.event.getSource(), slider); harness.check(listener2.event.getOldValue(), Boolean.TRUE); harness.check(listener2.event.getNewValue(), Boolean.FALSE); harness.check(listener2.event.getPropertyName(), "paintTrack"); harness.check(listener2.event.getPropagationId(), null); // check that no event is generated if the flag is not different listener2.event = null; slider.setPaintTrack(false); harness.check(listener2.event, null); } } mauve-20140821/gnu/testlet/javax/swing/JSlider/setMajorTickSpacing.java0000644000175000001440000000510410267422526024573 0ustar dokousers// Tags: JDK1.2 // Uses: MyChangeListener MyPropertyChangeListener // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JSlider; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSlider; /** * Some checks for the setMajorTickSpacing() method in the {@link JSlider} * class. */ public class setMajorTickSpacing implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider = new JSlider(50, 100); slider.setMajorTickSpacing(10); harness.check(slider.getMajorTickSpacing(), 10); harness.check(slider.getLabelTable(), null); // confirm that this fires a PropertyChangeEvent and no ChangeEvent MyChangeListener listener1 = new MyChangeListener(); slider.addChangeListener(listener1); MyPropertyChangeListener listener2 = new MyPropertyChangeListener(); slider.addPropertyChangeListener(listener2); slider.setMajorTickSpacing(11); harness.check(listener1.event, null); harness.check(listener2.event.getSource(), slider); harness.check(listener2.event.getOldValue(), new Integer(10)); harness.check(listener2.event.getNewValue(), new Integer(11)); harness.check(listener2.event.getPropertyName(), "majorTickSpacing"); harness.check(listener2.event.getPropagationId(), null); // check that no event occurs if the property value is not different listener2.event = null; slider.setMajorTickSpacing(11); harness.check(listener2.event, null); slider.setMajorTickSpacing(10); slider.setPaintLabels(true); harness.check(slider.getLabelTable().size(), 6); slider.setMajorTickSpacing(25); harness.check(slider.getLabelTable().size(), 6); // not updated right away } } mauve-20140821/gnu/testlet/javax/swing/JSlider/setSnapToTicks.java0000644000175000001440000000436710267422526023617 0ustar dokousers// Tags: JDK1.2 // Uses: MyChangeListener MyPropertyChangeListener // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JSlider; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSlider; /** * Some checks for the setSnapToTicks() method in the {@link JSlider} class. */ public class setSnapToTicks implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider = new JSlider(5, 10); slider.setSnapToTicks(true); harness.check(slider.getSnapToTicks(), true); // confirm that this fires a PropertyChangeEvent and no ChangeEvent MyChangeListener listener1 = new MyChangeListener(); slider.addChangeListener(listener1); MyPropertyChangeListener listener2 = new MyPropertyChangeListener(); slider.addPropertyChangeListener(listener2); slider.setSnapToTicks(false); harness.check(listener1.event, null); harness.check(listener2.event.getSource(), slider); harness.check(listener2.event.getOldValue(), Boolean.TRUE); harness.check(listener2.event.getNewValue(), Boolean.FALSE); harness.check(listener2.event.getPropertyName(), "snapToTicks"); harness.check(listener2.event.getPropagationId(), null); // check that no event is generated if the flag is not different listener2.event = null; slider.setSnapToTicks(false); harness.check(listener2.event, null); } } mauve-20140821/gnu/testlet/javax/swing/JSlider/getSnapToTicks.java0000644000175000001440000000262510267422526023576 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JSlider; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSlider; /** * Some checks for the getSnapToTicks() method in the {@link JSlider} class. */ public class getSnapToTicks implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider = new JSlider(5, 10); harness.check(slider.getSnapToTicks(), false); slider.setSnapToTicks(true); harness.check(slider.getSnapToTicks(), true); } } mauve-20140821/gnu/testlet/javax/swing/JSlider/setInverted.java0000644000175000001440000000434410267422526023170 0ustar dokousers// Tags: JDK1.2 // Uses: MyChangeListener MyPropertyChangeListener // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JSlider; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSlider; /** * Some checks for the setInverted() method in the {@link JSlider} class. */ public class setInverted implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider = new JSlider(5, 10); slider.setInverted(true); harness.check(slider.getInverted(), true); // confirm that this fires a PropertyChangeEvent and not a ChangeEvent MyChangeListener listener1 = new MyChangeListener(); slider.addChangeListener(listener1); MyPropertyChangeListener listener2 = new MyPropertyChangeListener(); slider.addPropertyChangeListener(listener2); slider.setInverted(false); harness.check(listener1.event, null); harness.check(listener2.event.getSource(), slider); harness.check(listener2.event.getOldValue(), Boolean.TRUE); harness.check(listener2.event.getNewValue(), Boolean.FALSE); harness.check(listener2.event.getPropertyName(), "inverted"); harness.check(listener2.event.getPropagationId(), null); listener2.event = null; // check that no event is fired if the property doesn't change slider.setInverted(false); harness.check(listener2.event, null); } } mauve-20140821/gnu/testlet/javax/swing/JSlider/getMajorTickSpacing.java0000644000175000001440000000257010267422525024562 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JSlider; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSlider; /** * Some checks for the getMajorTickSpacing() method in the {@link JSlider} * class. */ public class getMajorTickSpacing implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider = new JSlider(50, 100); slider.setMajorTickSpacing(10); harness.check(slider.getMajorTickSpacing(), 10); } } mauve-20140821/gnu/testlet/javax/swing/JOptionPane/0000755000175000001440000000000012375316426020661 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JOptionPane/MyJOptionPane.java0000644000175000001440000000176010441520121024201 0ustar dokousers/* MyJOptionPane.java -- for testing. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.javax.swing.JOptionPane; import javax.swing.JOptionPane; public class MyJOptionPane extends JOptionPane { public MyJOptionPane() { super(); } } mauve-20140821/gnu/testlet/javax/swing/JOptionPane/getInputMap.java0000644000175000001440000000446311015022005023741 0ustar dokousers/* getInputMap.java -- some checks for the getInputMap() methods inherited by the JOptionPane class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 // Uses: MyJOptionPane package gnu.testlet.javax.swing.JOptionPane; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.InputMap; import javax.swing.JComponent; import javax.swing.JOptionPane; import javax.swing.KeyStroke; /** * Checks the input maps defined for a JOptionPane - this is really testing * the setup performed by BasicOptionPaneUI. */ public class getInputMap implements Testlet { public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("()"); JOptionPane p = new MyJOptionPane(); InputMap m1 = p.getInputMap(); InputMap m2 = p.getInputMap(JComponent.WHEN_FOCUSED); harness.check(m1 == m2); } public void testMethod2(TestHarness harness) { harness.checkPoint("(int)"); JOptionPane p = new MyJOptionPane(); InputMap m1 = p.getInputMap(JComponent.WHEN_FOCUSED); harness.check(m1.keys(), null); InputMap m1p = m1.getParent(); harness.check(m1p, null); InputMap m2 = p.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); harness.check(m2.keys(), null); harness.check(m2.getParent(), null); InputMap m3 = p.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW); harness.check(m3.keys(), null); InputMap m3p = m3.getParent(); harness.check(m3p.get(KeyStroke.getKeyStroke("pressed ESCAPE")), "close"); } } mauve-20140821/gnu/testlet/javax/swing/UIDefaults/0000755000175000001440000000000012375316426020500 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/UIDefaults/putDefaults.java0000644000175000001440000000314010225044513023624 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2005 Thomas Zander //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.UIDefaults; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.UIDefaults; /** * Tests if the UIDefaults accept null values and removes the key if null * values are beeing put into the Hashtable. */ public class putDefaults implements Testlet { public void test(TestHarness harness) { UIDefaults def = new UIDefaults(); def.putDefaults(new Object[]{"foo", "bar"}); harness.check(def.get("foo"), "bar", "simple get"); def.putDefaults(new Object[]{"foo", null}); try { def.put("foo", null); Object val = def.get("foo"); harness.check(val, (Object) null, "putDefaults null equals remove"); } catch(NullPointerException e) { harness.fail("putDefaults with null gave NullPointerException"); } } } mauve-20140821/gnu/testlet/javax/swing/UIDefaults/remove.java0000644000175000001440000000304710170277676022650 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2005 Thomas Zander //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.UIDefaults; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.UIDefaults; public class remove implements Testlet { public void test(TestHarness harness) { UIDefaults def = new UIDefaults(); def.put("foo", "bar"); def.put("foo2", "bar2"); harness.check(def.get("foo"), "bar", "simple get"); harness.check(def.get("foo2"), "bar2"); try { def.put("foo", null); harness.check(def.get("foo"), (Object) null, "put null equals remove"); } catch(NullPointerException e) { harness.fail("put with null gave NullPointerException"); } harness.checkPoint("rest intact?"); harness.check(def.get("foo2"), "bar2"); } } mauve-20140821/gnu/testlet/javax/swing/UIDefaults/getBoolean.java0000644000175000001440000000311510323405316023406 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.UIDefaults; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.UIDefaults; /** * Tests the getBoolean() methods in the {@link UIDefaults} class. */ public class getBoolean implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { UIDefaults defaults = new UIDefaults(); defaults.put("B1", Boolean.FALSE); defaults.put("B2", Boolean.TRUE); defaults.put("B3", "X"); harness.check(defaults.getBoolean("B1"), false); harness.check(defaults.getBoolean("B2"), true); harness.check(defaults.getBoolean("B3"), false); harness.check(defaults.getBoolean("B4"), false); } } mauve-20140821/gnu/testlet/javax/swing/JLabel/0000755000175000001440000000000012375316426017624 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JLabel/setDisplayedMnemonicIndex.java0000644000175000001440000001005610446464763025606 0ustar dokousers/* setDisplayedMnemonicIndex.java -- some checks for the setDisplayedMnemonicIndex() method. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JLabel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.JLabel; public class setDisplayedMnemonicIndex implements Testlet , PropertyChangeListener { List events = new java.util.ArrayList(); int mnemonicIndexWhenEventFired = -1; public void propertyChange(PropertyChangeEvent e) { events.add(e); if (e.getPropertyName().equals("displayedMnemonicIndex") && e.getSource() instanceof JLabel) { JLabel l = (JLabel) e.getSource(); mnemonicIndexWhenEventFired = l.getDisplayedMnemonicIndex(); } } public void test(TestHarness harness) { JLabel label = new JLabel("ABCDEFG"); harness.check(label.getDisplayedMnemonicIndex(), -1); label.addPropertyChangeListener(this); label.setDisplayedMnemonicIndex(3); harness.check(label.getDisplayedMnemonicIndex(), 3); harness.check(label.getDisplayedMnemonic(), 0); harness.check(events.size(), 1); PropertyChangeEvent e = (PropertyChangeEvent) events.get(0); harness.check(e.getSource(), label); harness.check(e.getPropertyName(), "displayedMnemonicIndex"); harness.check(e.getOldValue(), new Integer(-1)); harness.check(e.getNewValue(), new Integer(3)); harness.check(mnemonicIndexWhenEventFired, 3); // that is, value set // before event is fired // setting the same value fires no event events.clear(); label.setDisplayedMnemonicIndex(3); harness.check(events.size(), 0); // setting the index to -1 is OK events.clear(); label.setDisplayedMnemonicIndex(-1); harness.check(label.getDisplayedMnemonicIndex(), -1); harness.check(events.size(), 1); e = (PropertyChangeEvent) events.get(0); harness.check(e.getSource(), label); harness.check(e.getOldValue(), new Integer(3)); harness.check(e.getNewValue(), new Integer(-1)); // setting the index to -2 should generate an IllegalArgumentException boolean pass = false; try { label.setDisplayedMnemonicIndex(-2); } catch (IllegalArgumentException ex) { pass = true; } harness.check(pass); // setting the index to the length of the label text should generate an // IllegalArgumentException pass = false; try { label.setDisplayedMnemonicIndex(label.getText().length()); } catch (IllegalArgumentException ex) { pass = true; } harness.check(pass); // setting the index to zero or greater when the text is null should // generate an IllegalArgumentException label.setText(null); harness.check(label.getDisplayedMnemonicIndex(), -1); pass = false; try { label.setDisplayedMnemonicIndex(0); } catch (IllegalArgumentException ex) { pass = true; } harness.check(pass); label.setText(""); harness.check(label.getDisplayedMnemonicIndex(), -1); pass = false; try { label.setDisplayedMnemonicIndex(0); } catch (IllegalArgumentException ex) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JLabel/setLabelFor.java0000644000175000001440000000465410437306330022670 0ustar dokousers/* setLabelFor.java -- some checks for the setLabelFor() method in the JLabel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JLabel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.ArrayList; import java.util.List; import javax.swing.JButton; import javax.swing.JLabel; public class setLabelFor implements Testlet, PropertyChangeListener { List events = new ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } public void test(TestHarness harness) { JButton b = new JButton("ABC"); JLabel l = new JLabel("XYZ"); b.addPropertyChangeListener(this); l.addPropertyChangeListener(this); l.setLabelFor(b); harness.check(l.getLabelFor(), b); harness.check(events.size(), 2); PropertyChangeEvent pce1 = (PropertyChangeEvent) events.get(0); harness.check(pce1.getSource(), l); harness.check(pce1.getPropertyName(), "labelFor"); harness.check(pce1.getOldValue(), null); harness.check(pce1.getNewValue(), b); PropertyChangeEvent pce2 = (PropertyChangeEvent) events.get(1); harness.check(pce2.getSource(), b); harness.check(pce2.getPropertyName(), "labeledBy"); harness.check(pce2.getOldValue(), null); harness.check(pce2.getNewValue(), l); harness.check(b.getClientProperty("labeledBy"), l); // setting the same component should generate no events events.clear(); l.setLabelFor(b); harness.check(events.size(), 0); // try null events.clear(); l.setLabelFor(null); harness.check(events.size(), 2); } } mauve-20140821/gnu/testlet/javax/swing/JLabel/setVerticalAlignment.java0000644000175000001440000000421210446540215024602 0ustar dokousers/* setVerticalAlignment.java -- some checks for the setVerticalAlignment() method in the JLabel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JLabel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.JLabel; public class setVerticalAlignment implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } public void test(TestHarness harness) { JLabel label = new JLabel("ABC"); harness.check(label.getVerticalAlignment(), JLabel.CENTER); label.addPropertyChangeListener(this); label.setVerticalAlignment(JLabel.TOP); harness.check(label.getVerticalAlignment(), JLabel.TOP); harness.check(events.size(), 1); PropertyChangeEvent e0 = (PropertyChangeEvent) events.get(0); harness.check(e0.getSource(), label); harness.check(e0.getPropertyName(), "verticalAlignment"); harness.check(e0.getOldValue(), new Integer(JLabel.CENTER)); harness.check(e0.getNewValue(), new Integer(JLabel.TOP)); // try a bad value boolean pass = false; try { label.setVerticalAlignment(99); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JLabel/getAccessibleContext.java0000644000175000001440000000272210437306330024562 0ustar dokousers/* getAccessibleContext.java -- some checks for the getAccessibleContext() method in the JLabel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JLabel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleRole; import javax.swing.JLabel; public class getAccessibleContext implements Testlet { public void test(TestHarness harness) { JLabel label = new JLabel("ABC"); AccessibleContext ac = label.getAccessibleContext(); harness.check(ac.getAccessibleRole(), AccessibleRole.LABEL); harness.check(ac.getAccessibleName(), "ABC"); harness.check(ac.getAccessibleDescription(), null); } } mauve-20140821/gnu/testlet/javax/swing/JLabel/Icon.java0000644000175000001440000000452010057633067021356 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Thomas Zander // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JLabel; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.*; import javax.swing.*; /** * These tests pass with the Sun JDK 1.4.1_03 on GNU/Linux IA-32. */ public class Icon implements Testlet { public void test(TestHarness harness) { MyIcon icon = new MyIcon(); JLabel l = new JLabel(icon); harness.check(l.getIcon(), icon); harness.check(l.getDisabledIcon(), null); l.setIcon(icon); harness.check(l.getIcon(), icon); harness.check(l.getDisabledIcon(), null); l = new JLabel(); Dimension base = l.getPreferredSize(); l.setIcon(icon); Dimension one = l.getPreferredSize(); harness.check(one.width, base.width + icon.getIconWidth()); l = new JLabel("bla"); base = l.getPreferredSize(); l.setIcon(icon); one = l.getPreferredSize(); harness.check(one.width, base.width + icon.getIconWidth() + l.getIconTextGap() ); l.setIconTextGap(100); one = l.getPreferredSize(); harness.check(one.width, base.width + icon.getIconWidth() + 100 ); } private static class MyIcon implements javax.swing.Icon { private int painted = 0; public int getIconHeight() { return 10; } public int getIconWidth() { return 20; } public void paintIcon(Component c, Graphics g, int x, int y) { painted++; } public int getPainted() { return painted; } } } mauve-20140821/gnu/testlet/javax/swing/JLabel/Mnemonic.java0000644000175000001440000000431410057633067022234 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Thomas Zander // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JLabel; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.JLabel; /** * These tests pass with the Sun JDK 1.4.1_03 on GNU/Linux IA-32. */ public class Mnemonic implements Testlet { public void test(TestHarness harness) { JLabel l = new JLabel("lskdjnvmdsklzedfsdmnWK"); harness.check(l.getDisplayedMnemonic(), 0); harness.check(l.getDisplayedMnemonicIndex(), -1); l.setDisplayedMnemonic(java.awt.event.KeyEvent.VK_K); harness.check(l.getDisplayedMnemonic(), java.awt.event.KeyEvent.VK_K); harness.check(l.getDisplayedMnemonicIndex(), 2); l.setDisplayedMnemonic(java.awt.event.KeyEvent.VK_Q); harness.check(l.getDisplayedMnemonicIndex(), -1); l.setDisplayedMnemonic(java.awt.event.KeyEvent.VK_W); harness.check(l.getDisplayedMnemonicIndex(), 20); l.setText("new text"); harness.check(l.getDisplayedMnemonicIndex(), 2); l.setDisplayedMnemonicIndex(5); // the following test is really un-intuitive... Is this a bug in Suns JVM? harness.check(l.getDisplayedMnemonic(), java.awt.event.KeyEvent.VK_W); // unchanged harness.check(l.getDisplayedMnemonicIndex(), 5); l = new JLabel("new text"); l.setDisplayedMnemonicIndex(5); harness.check(l.getDisplayedMnemonic(), 0); harness.check(l.getDisplayedMnemonicIndex(), 5); } } mauve-20140821/gnu/testlet/javax/swing/JLabel/constructor.java0000644000175000001440000002260610524677134023062 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke // 2006 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JLabel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.Font; import java.awt.event.KeyEvent; import java.awt.image.BufferedImage; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JLabel; import javax.swing.SwingConstants; import javax.swing.UIManager; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Tests if the constructor sets the default values for the JLabel's properties * correctly. * * @author Roman Kennke (kennke@aicas.com) */ public class constructor implements Testlet { public void test(TestHarness harness) { test1(harness); testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); testConstructor6(harness); testHorizontalAlignment(harness); } public void test1(TestHarness harness) { try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (Exception e) { e.printStackTrace(); } // use this to check that the defaults are those for a Label UIManager.put("Label.font", new Font("Dialog", Font.PLAIN, 21)); UIManager.put("Label.foreground", Color.green); UIManager.put("Label.background", Color.yellow); JLabel l = new JLabel(); harness.check(l.getFont(), new Font("Dialog", Font.PLAIN, 21)); harness.check(l.getForeground(), Color.green); harness.check(l.getBackground(), Color.yellow); harness.check(l.getAlignmentX(), 0.0F, "alignmentX"); harness.check(l.getAlignmentY(), 0.5F, "alignmentY"); harness.check(l.getVerticalAlignment(), SwingConstants.CENTER, "verticalAlignment"); harness.check(l.getDisabledIcon(), null); harness.check(l.getDisplayedMnemonic(), KeyEvent.VK_UNDEFINED); harness.check(l.getDisplayedMnemonicIndex(), -1); harness.check(l.getHorizontalTextPosition(), JLabel.TRAILING); harness.check(l.getVerticalTextPosition(), JLabel.CENTER); harness.check(l.getLabelFor(), null); harness.check(l.getIconTextGap(), 4); } public void testConstructor1(TestHarness harness) { JLabel label = new JLabel(); harness.check(label.getIcon(), null); harness.check(label.getText(), ""); } public void testConstructor2(TestHarness harness) { JLabel label = new JLabel(new ImageIcon()); harness.check(label.getIcon() != null); harness.check(label.getText(), null); label = new JLabel(new ImageIcon (new BufferedImage(16, 16, BufferedImage.TYPE_INT_BGR))); harness.check(label.getIcon() != null); harness.check(label.getText(), null); label = new JLabel((Icon) null); harness.check(label.getIcon() == null); harness.check(label.getText(), null); } public void testConstructor3(TestHarness harness) { JLabel label = new JLabel(new ImageIcon(), 2); harness.check(label.getIcon() != null); harness.check(label.getText(), null); harness.check(label.getHorizontalAlignment(), SwingConstants.LEFT); label = new JLabel((Icon) null, 2); harness.check(label.getIcon() == null); harness.check(label.getText(), null); harness.check(label.getHorizontalAlignment(), SwingConstants.LEFT); label = new JLabel(new ImageIcon(), 0); harness.check(label.getIcon() != null); harness.check(label.getText(), null); harness.check(label.getHorizontalAlignment(), SwingConstants.CENTER); boolean fail = false; try { label = new JLabel(new ImageIcon(), -1); } catch (IllegalArgumentException e) { fail = true; } harness.check(fail); } public void testConstructor4(TestHarness harness) { JLabel label = new JLabel("This is some text."); harness.check(label.getIcon(), null); harness.check(label.getText(), "This is some text."); label = new JLabel(""); harness.check(label.getIcon(), null); harness.check(label.getText(), ""); String text = null; label = new JLabel(text); harness.check(label.getIcon(), null); harness.check(label.getText(), null); } public void testConstructor5(TestHarness harness) { JLabel label = new JLabel("This is some text.", 11); harness.check(label.getIcon() == null); harness.check(label.getText(), "This is some text."); harness.check(label.getHorizontalAlignment(), SwingConstants.TRAILING); label = new JLabel("", 11); harness.check(label.getIcon() == null); harness.check(label.getText(), ""); harness.check(label.getHorizontalAlignment(), SwingConstants.TRAILING); String text = null; label = new JLabel(text, 0); harness.check(label.getIcon() == null); harness.check(label.getText(), null); harness.check(label.getHorizontalAlignment(), SwingConstants.CENTER); boolean fail = false; try { label = new JLabel("This is some text.", -2); } catch (IllegalArgumentException e) { fail = true; } harness.check(fail); } public void testConstructor6(TestHarness harness) { JLabel label = new JLabel("This is some text.", new ImageIcon(), 0); harness.check(label.getIcon() != null); harness.check(label.getText(), "This is some text."); harness.check(label.getHorizontalAlignment(), SwingConstants.CENTER); label = new JLabel("", (Icon) null, 10); harness.check(label.getIcon() == null); harness.check(label.getText(), ""); harness.check(label.getHorizontalAlignment(), SwingConstants.LEADING); String text = null; label = new JLabel(text, new ImageIcon(), 11); harness.check(label.getIcon() != null); harness.check(label.getText(), null); harness.check(label.getHorizontalAlignment(), SwingConstants.TRAILING); boolean fail = false; try { label = new JLabel("This is some text.", new ImageIcon(), -4); } catch (IllegalArgumentException e) { fail = true; } harness.check(fail); } public void testHorizontalAlignment(TestHarness harness) { JLabel label = null; boolean fail = false; try { label = new JLabel("", -1); } catch (IllegalArgumentException e) { fail = true; } harness.check(fail); boolean pass = false; try { label = new JLabel("", 0); pass = true; } catch (IllegalArgumentException e) { // Do nothing. } harness.check(pass); harness.check(label.getHorizontalAlignment(), SwingConstants.CENTER); fail = false; try { label = new JLabel("", 1); } catch (IllegalArgumentException e) { fail = true; } harness.check(fail); pass = false; try { label = new JLabel("", 2); pass = true; } catch (IllegalArgumentException e) { // Do nothing. } harness.check(pass); harness.check(label.getHorizontalAlignment(), SwingConstants.LEFT); fail = false; try { label = new JLabel("", 3); } catch (IllegalArgumentException e) { fail = true; } harness.check(fail); pass = false; try { label = new JLabel("", 4); pass = true; } catch (IllegalArgumentException e) { // Do nothing. } harness.check(pass); harness.check(label.getHorizontalAlignment(), SwingConstants.RIGHT); fail = false; try { label = new JLabel("", 5); } catch (IllegalArgumentException e) { fail = true; } harness.check(fail); fail = false; try { label = new JLabel("", 7); } catch (IllegalArgumentException e) { fail = true; } harness.check(fail); pass = false; try { label = new JLabel("", 10); pass = true; } catch (IllegalArgumentException e) { // Do nothing. } harness.check(pass); harness.check(label.getHorizontalAlignment(), SwingConstants.LEADING); pass = false; try { label = new JLabel("", 11); pass = true; } catch (IllegalArgumentException e) { // Do nothing. } harness.check(pass); harness.check(label.getHorizontalAlignment(), SwingConstants.TRAILING); fail = false; try { label = new JLabel("", 13); } catch (IllegalArgumentException e) { fail = true; } harness.check(fail); } } mauve-20140821/gnu/testlet/javax/swing/JLabel/MyJLabel.java0000644000175000001440000000214410437566641022132 0ustar dokousers/* MyJLabel.java -- provides access to protected stuff in the JLabel class, for testing purposes. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.javax.swing.JLabel; import javax.swing.JLabel; public class MyJLabel extends JLabel { public MyJLabel() { super(); } public String paramString() { return super.paramString(); } } mauve-20140821/gnu/testlet/javax/swing/JLabel/setFont.java0000644000175000001440000000416110446540215022103 0ustar dokousers/* setFont.java -- some checks for the setFont() method in the JLabel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JLabel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Font; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.JLabel; public class setFont implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } public void test(TestHarness harness) { JLabel label = new JLabel("ABC"); label.addPropertyChangeListener(this); Font f = new Font("Dialog", Font.PLAIN, 15); label.setFont(f); harness.check(label.getFont(), f); harness.check(events.size(), 1); PropertyChangeEvent e0 = (PropertyChangeEvent) events.get(0); harness.check(e0.getSource(), label); harness.check(e0.getPropertyName(), "font"); harness.check(e0.getNewValue(), f); // try null events.clear(); label.setFont(null); harness.check(label.getFont(), null); harness.check(events.size(), 1); e0 = (PropertyChangeEvent) events.get(0); harness.check(e0.getSource(), label); harness.check(e0.getPropertyName(), "font"); harness.check(e0.getOldValue(), f); harness.check(e0.getNewValue(), null); } } mauve-20140821/gnu/testlet/javax/swing/JLabel/TestLabel.java0000644000175000001440000000313010325210115022320 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JLabel; import javax.swing.JLabel; /** * A subclass of {@link javax.swing.JLabel} that enables to check if * certain methods (like repaint() or revalidate()) are called correctly. * * @author Roman Kennke (kennke@aicas.com) */ class TestLabel extends JLabel { /** * A flag indicating if repaint() has been called. */ boolean repaintCalled; /** * A flag indicating if revalidate() has been called. */ boolean revalidateCalled; /** * Performs the superclass repaint and sets the repaintCalled flag to true. */ public void repaint() { repaintCalled = true; super.repaint(); } /** * Performs the superclass revalidate and sets the revalidateCalled flag * to true. */ public void revalidate() { revalidateCalled = true; super.revalidate(); } } mauve-20140821/gnu/testlet/javax/swing/JLabel/setText.java0000644000175000001440000001452610446540215022127 0ustar dokousers// Tags: JDK1.2 // Uses: TestLabel // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JLabel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.JLabel; public class setText implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } public void test(TestHarness harness) { testGeneral(harness); testGeneralWithMnemonic(harness); testRepaint(harness); testRevalidate(harness); } public void testGeneral(TestHarness harness) { harness.checkPoint("testGeneral()"); // simple test JLabel label = new JLabel("ABC"); label.addPropertyChangeListener(this); label.setText("XYZ"); harness.check(label.getText(), "XYZ"); harness.check(events.size(), 1); PropertyChangeEvent e0 = (PropertyChangeEvent) events.get(0); harness.check(e0.getSource(), label); harness.check(e0.getPropertyName(), "text"); harness.check(e0.getOldValue(), "ABC"); harness.check(e0.getNewValue(), "XYZ"); // setting the same again should generate no event events.clear(); label.setText("XYZ"); harness.check(events.size(), 0); // check null events.clear(); label.setText(null); harness.check(label.getText(), null); harness.check(events.size(), 1); e0 = (PropertyChangeEvent) events.get(0); harness.check(e0.getSource(), label); harness.check(e0.getPropertyName(), "text"); harness.check(e0.getOldValue(), "XYZ"); harness.check(e0.getNewValue(), null); // setting the same again should generate no event events.clear(); label.setText(null); harness.check(events.size(), 0); } public void testGeneralWithMnemonic(TestHarness harness) { harness.checkPoint("testGeneralWithMnemonic()"); // simple test JLabel label = new JLabel("ABC"); label.setDisplayedMnemonic('C'); harness.check(label.getDisplayedMnemonicIndex(), 2); events.clear(); label.addPropertyChangeListener(this); label.setText("CAB"); harness.check(label.getText(), "CAB"); harness.check(label.getDisplayedMnemonicIndex(), 0); harness.check(events.size(), 2); PropertyChangeEvent e0 = (PropertyChangeEvent) events.get(0); harness.check(e0.getSource(), label); harness.check(e0.getPropertyName(), "text"); harness.check(e0.getOldValue(), "ABC"); harness.check(e0.getNewValue(), "CAB"); PropertyChangeEvent e1 = (PropertyChangeEvent) events.get(1); if (e1.getPropertyName().equals("html")) e1 = (PropertyChangeEvent) events.get(2); harness.check(e1.getSource(), label); harness.check(e1.getPropertyName(), "displayedMnemonicIndex"); harness.check(e1.getOldValue(), new Integer(2)); harness.check(e1.getNewValue(), new Integer(0)); // setting the same again should generate no event events.clear(); label.setText("CAB"); harness.check(events.size(), 0); // check null events.clear(); label.setText(null); harness.check(label.getText(), null); harness.check(label.getDisplayedMnemonicIndex(), -1); harness.check(events.size(), 2); e0 = (PropertyChangeEvent) events.get(0); harness.check(e0.getSource(), label); harness.check(e0.getPropertyName(), "text"); harness.check(e0.getOldValue(), "CAB"); harness.check(e0.getNewValue(), null); e1 = (PropertyChangeEvent) events.get(1); if (e1.getPropertyName().equals("html")) e1 = (PropertyChangeEvent) events.get(2); harness.check(e1.getSource(), label); harness.check(e1.getPropertyName(), "displayedMnemonicIndex"); harness.check(e1.getOldValue(), new Integer(0)); harness.check(e1.getNewValue(), new Integer(-1)); } /** * Tests if setText triggers a repaint. setText should trigger a * repaint() call whenever the actual value of the property changes. * * @param harness the test harness to use */ private void testRepaint(TestHarness harness) { TestLabel c = new TestLabel(); // Set to null, so that we know the state. c.setText(null); c.repaintCalled = false; // Change state and check if repaint is called. c.setText("Test1"); harness.check(c.repaintCalled, true); // Don't change state. c.repaintCalled = false; c.setText("Test1"); harness.check(c.repaintCalled, false); // Change state and check if repaint is called. c.repaintCalled = false; c.setText("Text2"); harness.check(c.repaintCalled, true); // Don't change state. c.repaintCalled = false; c.setText("Text2"); harness.check(c.repaintCalled, false); } /** * Tests if setEnabled triggers a revalidate. * * @param harness the test harness to use */ private void testRevalidate(TestHarness harness) { TestLabel c = new TestLabel(); // Set to false, so that we know the state. c.setText(null); c.revalidateCalled = false; // Change state and check if repaint is called. c.setText("Test1"); harness.check(c.revalidateCalled, true); // Don't change state. c.revalidateCalled = false; c.setText("Test1"); harness.check(c.revalidateCalled, false); // Change state and check if repaint is called. c.revalidateCalled = false; c.setText("Test2"); harness.check(c.revalidateCalled, true); // Don't change state. c.revalidateCalled = false; c.setText("Test2"); harness.check(c.revalidateCalled, false); } } mauve-20140821/gnu/testlet/javax/swing/JLabel/setDisplayedMnemonic.java0000644000175000001440000001346410446540215024607 0ustar dokousers/* setDisplayedMnemonic.java -- some checks for the setDisplayedMnemonic() methods in the JLabel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JLabel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.KeyEvent; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.InputMap; import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JLabel; import javax.swing.KeyStroke; public class setDisplayedMnemonic implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); int displayedMnemonicWhenEventFired; public void propertyChange(PropertyChangeEvent e) { events.add(e); if (e.getPropertyName().equals("displayedMnemonic") && e.getSource() instanceof JLabel) { JLabel label = (JLabel) e.getSource(); displayedMnemonicWhenEventFired = label.getDisplayedMnemonic(); } } public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); testKeyMap(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("(char)"); JLabel label = new JLabel("Abc Def"); label.addPropertyChangeListener(this); label.setDisplayedMnemonic('d'); harness.check(label.getDisplayedMnemonic(), 68); harness.check(label.getDisplayedMnemonicIndex(), 4); harness.check(events.size(), 2); harness.check(displayedMnemonicWhenEventFired, 68); PropertyChangeEvent e0 = (PropertyChangeEvent) events.get(0); harness.check(e0.getSource(), label); harness.check(e0.getPropertyName(), "displayedMnemonic"); harness.check(e0.getOldValue(), new Integer(0)); harness.check(e0.getNewValue(), new Integer(68)); PropertyChangeEvent e1 = (PropertyChangeEvent) events.get(1); harness.check(e1.getSource(), label); harness.check(e1.getPropertyName(), "displayedMnemonicIndex"); harness.check(e1.getOldValue(), new Integer(-1)); harness.check(e1.getNewValue(), new Integer(4)); // try a character that isn't in the text events.clear(); label.setDisplayedMnemonic('z'); harness.check(label.getDisplayedMnemonic(), 90); harness.check(label.getDisplayedMnemonicIndex(), -1); harness.check(events.size(), 2); e0 = (PropertyChangeEvent) events.get(0); harness.check(e0.getSource(), label); harness.check(e0.getPropertyName(), "displayedMnemonic"); harness.check(e0.getOldValue(), new Integer(68)); harness.check(e0.getNewValue(), new Integer(90)); e1 = (PropertyChangeEvent) events.get(1); harness.check(e1.getSource(), label); harness.check(e1.getPropertyName(), "displayedMnemonicIndex"); harness.check(e1.getOldValue(), new Integer(4)); harness.check(e1.getNewValue(), new Integer(-1)); } public void testMethod2(TestHarness harness) { harness.checkPoint("(int)"); events.clear(); JLabel label = new JLabel("Abc Def"); label.addPropertyChangeListener(this); label.setDisplayedMnemonic(68); harness.check(label.getDisplayedMnemonic(), 68); harness.check(label.getDisplayedMnemonicIndex(), 4); harness.check(events.size(), 2); harness.check(displayedMnemonicWhenEventFired, 68); PropertyChangeEvent e0 = (PropertyChangeEvent) events.get(0); harness.check(e0.getSource(), label); harness.check(e0.getPropertyName(), "displayedMnemonic"); harness.check(e0.getOldValue(), new Integer(0)); harness.check(e0.getNewValue(), new Integer(68)); PropertyChangeEvent e1 = (PropertyChangeEvent) events.get(1); harness.check(e1.getSource(), label); harness.check(e1.getPropertyName(), "displayedMnemonicIndex"); harness.check(e1.getOldValue(), new Integer(-1)); harness.check(e1.getNewValue(), new Integer(4)); // try a character that isn't in the text events.clear(); label.setDisplayedMnemonic(90); harness.check(label.getDisplayedMnemonic(), 90); harness.check(label.getDisplayedMnemonicIndex(), -1); harness.check(events.size(), 2); e0 = (PropertyChangeEvent) events.get(0); harness.check(e0.getSource(), label); harness.check(e0.getPropertyName(), "displayedMnemonic"); harness.check(e0.getOldValue(), new Integer(68)); harness.check(e0.getNewValue(), new Integer(90)); e1 = (PropertyChangeEvent) events.get(1); harness.check(e1.getSource(), label); harness.check(e1.getPropertyName(), "displayedMnemonicIndex"); harness.check(e1.getOldValue(), new Integer(4)); harness.check(e1.getNewValue(), new Integer(-1)); } public void testKeyMap(TestHarness harness) { JLabel label = new JLabel("ABC"); label.setDisplayedMnemonic('B'); InputMap m = label.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW); harness.check(m.get(KeyStroke.getKeyStroke(KeyEvent.VK_B, KeyEvent.ALT_DOWN_MASK)), null); label.setLabelFor(new JButton()); m = label.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW); harness.check(m.get(KeyStroke.getKeyStroke(KeyEvent.VK_B, KeyEvent.ALT_DOWN_MASK)), "press"); } } mauve-20140821/gnu/testlet/javax/swing/JLabel/getActionMap.java0000644000175000001440000000370110446540215023033 0ustar dokousers/* getActionMap.java -- some checks for the getActionMap() method in the JLabel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 package gnu.testlet.javax.swing.JLabel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.ActionMap; import javax.swing.JButton; import javax.swing.JLabel; public class getActionMap implements Testlet { public void test(TestHarness harness) { // this is the original version of the test - it shows no actions for // a regular label... JLabel label = new JLabel("XYZ"); ActionMap m = label.getActionMap(); harness.check(m.keys(), null); ActionMap mp = m.getParent(); harness.check(mp, null); // but then I remembered that when a label has a mnemonic and target // component, you can get the focus for the target component via the // keyboard JLabel label2 = new JLabel("ABC"); JButton button = new JButton("Target"); label2.setLabelFor(button); label2.setDisplayedMnemonic('A'); m = label2.getActionMap(); harness.check(m.keys(), null); mp = m.getParent(); harness.check(mp.size(), 2); harness.check(mp.get("press") != null); harness.check(mp.get("release") != null); } } mauve-20140821/gnu/testlet/javax/swing/JLabel/paramString.java0000644000175000001440000000251511015022005022732 0ustar dokousers/* paramString.java -- some checks for the paramString() method in the JLabel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: MyJLabel package gnu.testlet.javax.swing.JLabel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class paramString implements Testlet { public void test(TestHarness harness) { MyJLabel label = new MyJLabel(); harness.check(label.paramString().endsWith(",defaultIcon=,disabledIcon=,horizontalAlignment=LEADING,horizontalTextPosition=TRAILING,iconTextGap=4,labelFor=,text=,verticalAlignment=CENTER,verticalTextPosition=CENTER")); } }mauve-20140821/gnu/testlet/javax/swing/JLabel/getInputMap.java0000644000175000001440000000610010446540215022711 0ustar dokousers/* getInputMap.java -- some checks for the getInputMap() methods inherited by the JLabel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JLabel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.InputMap; import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JLabel; import javax.swing.KeyStroke; /** * Checks the input maps defined for a JLabel - this is really testing * the setup performed by BasicLabelUI. */ public class getInputMap implements Testlet { public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("()"); JLabel label = new JLabel("Test"); InputMap m1 = label.getInputMap(); InputMap m2 = label.getInputMap(JComponent.WHEN_FOCUSED); harness.check(m1 == m2); } public void testMethod2(TestHarness harness) { harness.checkPoint("(int)"); JLabel label = new JLabel("Test"); InputMap m1 = label.getInputMap(JComponent.WHEN_FOCUSED); harness.check(m1.keys(), null); InputMap m1p = m1.getParent(); harness.check(m1p, null); InputMap m2 = label.getInputMap( JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); harness.check(m2.keys(), null); harness.check(m2.getParent(), null); InputMap m3 = label.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW); harness.check(m3.keys(), null); harness.check(m3.getParent(), null); // now make a label that is the label for a component JLabel label2 = new JLabel("Test"); JButton button = new JButton("Target"); label2.setLabelFor(button); label2.setDisplayedMnemonic('A'); m1 = label2.getInputMap(JComponent.WHEN_FOCUSED); harness.check(m1.keys(), null); m1p = m1.getParent(); harness.check(m1p, null); m2 = label2.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); harness.check(m2.keys(), null); harness.check(m2.getParent(), null); m3 = label2.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW); harness.check(m3.keys(), null); InputMap m3p = m3.getParent(); harness.check(m3p.get(KeyStroke.getKeyStroke("alt pressed A")), "press"); label2.setDisplayedMnemonic('B'); harness.check(m3p.get(KeyStroke.getKeyStroke("alt pressed B")), "press"); } } mauve-20140821/gnu/testlet/javax/swing/JLabel/AccessibleJLabel/0000755000175000001440000000000012375316426022733 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JLabel/AccessibleJLabel/getCharacterBounds.java0000644000175000001440000000724110514670360027342 0ustar dokousers/* getCharacterBounds.java -- Tests AccessibleJLabel.getCharacterBounds() Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 package gnu.testlet.javax.swing.JLabel.AccessibleJLabel; import java.awt.FontMetrics; import java.awt.Insets; import java.awt.Rectangle; import javax.accessibility.AccessibleText; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.SwingUtilities; import javax.swing.plaf.basic.BasicHTML; import javax.swing.text.BadLocationException; import javax.swing.text.Position; import javax.swing.text.View; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests the functionality of AccessibleJLabel.getCharacterBounds(). */ public class getCharacterBounds implements Testlet { public void test(TestHarness harness) { testNoHTML(harness); testHTML(harness); } /** * For non-HTML labels the method returns null. Maybe this test is a little * strict. Implementations could very well return something more reasonable * here. However, the reference implementation does not. */ private void testNoHTML(TestHarness h) { h.checkPoint("testNoHTML"); JLabel l = new JLabel("Hello World"); AccessibleText at = (AccessibleText) l.getAccessibleContext(); Rectangle b = at.getCharacterBounds(2); h.check(b, null); } private void testHTML(TestHarness h) { h.checkPoint("testHTML"); JFrame f = new JFrame(); JLabel l = new JLabel("Hello World"); f.getContentPane().add(l); f.pack(); f.setVisible(true); l.setSize(100, 30); AccessibleText at = (AccessibleText) l.getAccessibleContext(); // The HTML renderer is stored as client property. View v = (View) l.getClientProperty(BasicHTML.propertyKey); Rectangle r = getTextRectangle(l); Rectangle expected = null; try { expected = v.modelToView(2, r, Position.Bias.Forward).getBounds(); } catch (BadLocationException ex) { h.debug(ex); h.fail("Unexpected BadLocationException"); } Rectangle b = at.getCharacterBounds(2); h.check(b, expected); f.dispose(); } private Rectangle getTextRectangle(JLabel l) { Rectangle textR = new Rectangle(); Rectangle iconR = new Rectangle(); Insets i = l.getInsets(); int w = l.getWidth(); int h = l.getHeight(); Rectangle viewR = new Rectangle(i.left, i.top, w - i.left - i.right, h - i.top - i.bottom); FontMetrics fm = l.getFontMetrics(l.getFont()); SwingUtilities.layoutCompoundLabel(l, fm, l.getText(), l.getIcon(), l.getVerticalAlignment(), l.getHorizontalAlignment(), l.getVerticalTextPosition(), l.getHorizontalTextPosition(), viewR, iconR, textR, l.getIconTextGap()); return textR; } } mauve-20140821/gnu/testlet/javax/swing/JLabel/AccessibleJLabel/getAccessibleName.java0000644000175000001440000000325710437307235027136 0ustar dokousers/* getAccessibleName.java -- some checks for the getAccessibleName() method in the AccessibleJLabel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JLabel.AccessibleJLabel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.accessibility.AccessibleContext; import javax.swing.JLabel; public class getAccessibleName implements Testlet { public void test(TestHarness harness) { JLabel label = new JLabel("ABC"); AccessibleContext ac = label.getAccessibleContext(); harness.check(ac.getAccessibleName(), "ABC"); JLabel label2 = new JLabel("JLabel2"); label2.setLabelFor(label); harness.check(ac.getAccessibleName(), "ABC"); label.setText(null); harness.check(ac.getAccessibleName(), "JLabel2"); ac.setAccessibleName("XYZ"); harness.check(ac.getAccessibleName(), "XYZ"); label.setText("ABC"); harness.check(ac.getAccessibleName(), "XYZ"); } } mauve-20140821/gnu/testlet/javax/swing/JLabel/AccessibleJLabel/getIndexAtPoint.java0000644000175000001440000000674310514670360026647 0ustar dokousers/* getIndexAtPointBounds.java -- Tests AccessibleJLabel.getIndexAtPoint() Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 package gnu.testlet.javax.swing.JLabel.AccessibleJLabel; import java.awt.FontMetrics; import java.awt.Insets; import java.awt.Point; import java.awt.Rectangle; import javax.accessibility.AccessibleText; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.SwingUtilities; import javax.swing.plaf.basic.BasicHTML; import javax.swing.text.Position; import javax.swing.text.View; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests the functionality of AccessibleJLabel.getCharacterBounds(). */ public class getIndexAtPoint implements Testlet { public void test(TestHarness harness) { testNoHTML(harness); testHTML(harness); } /** * For non-HTML labels the method returns -1. Maybe this test is a little * strict. Implementations could very well return something more reasonable * here. However, the reference implementation does not. */ private void testNoHTML(TestHarness h) { h.checkPoint("testNoHTML"); JLabel l = new JLabel("Hello World"); AccessibleText at = (AccessibleText) l.getAccessibleContext(); int i = at.getIndexAtPoint(new Point(5, 5)); h.check(i, -1); } private void testHTML(TestHarness h) { h.checkPoint("testHTML"); JFrame f = new JFrame(); JLabel l = new JLabel("Hello World"); f.getContentPane().add(l); f.pack(); f.setVisible(true); l.setSize(100, 30); AccessibleText at = (AccessibleText) l.getAccessibleContext(); // The HTML renderer is stored as client property. View v = (View) l.getClientProperty(BasicHTML.propertyKey); Rectangle r = getTextRectangle(l); int expected = -1; expected = v.viewToModel(5, 5, r, new Position.Bias[0]); int i = at.getIndexAtPoint(new Point(5, 5)); h.check(i, expected); f.dispose(); } private Rectangle getTextRectangle(JLabel l) { Rectangle textR = new Rectangle(); Rectangle iconR = new Rectangle(); Insets i = l.getInsets(); int w = l.getWidth(); int h = l.getHeight(); Rectangle viewR = new Rectangle(i.left, i.top, w - i.left - i.right, h - i.top - i.bottom); FontMetrics fm = l.getFontMetrics(l.getFont()); SwingUtilities.layoutCompoundLabel(l, fm, l.getText(), l.getIcon(), l.getVerticalAlignment(), l.getHorizontalAlignment(), l.getVerticalTextPosition(), l.getHorizontalTextPosition(), viewR, iconR, textR, l.getIconTextGap()); return textR; } } mauve-20140821/gnu/testlet/javax/swing/JLabel/setIconTextGap.java0000644000175000001440000000410110446540215023354 0ustar dokousers/* setIconTextGap.java -- some checks for the setIconTextGap() method in the JLabel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JLabel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.JLabel; public class setIconTextGap implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); int iconTextGapAtEventTime; public void propertyChange(PropertyChangeEvent e) { events.add(e); JLabel label = (JLabel) e.getSource(); // recording the following tells us whether the event is fired before or // after the field is updated iconTextGapAtEventTime = label.getIconTextGap(); } public void test(TestHarness harness) { JLabel label = new JLabel("ABC"); label.addPropertyChangeListener(this); label.setIconTextGap(7); harness.check(label.getIconTextGap(), 7); harness.check(events.size(), 1); PropertyChangeEvent e = (PropertyChangeEvent) events.get(0); harness.check(e.getSource(), label); harness.check(e.getPropertyName(), "iconTextGap"); harness.check(e.getOldValue(), new Integer(0)); harness.check(e.getNewValue(), new Integer(7)); harness.check(iconTextGapAtEventTime, 7); } } mauve-20140821/gnu/testlet/javax/swing/JLabel/setHorizontalAlignment.java0000644000175000001440000000424210446540215025165 0ustar dokousers/* setHorizontalAlignment.java -- some checks for the setHorizontalAlignment() method in the JLabel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JLabel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.JLabel; public class setHorizontalAlignment implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } public void test(TestHarness harness) { JLabel label = new JLabel("ABC"); harness.check(label.getHorizontalAlignment(), JLabel.LEADING); label.addPropertyChangeListener(this); label.setHorizontalAlignment(JLabel.RIGHT); harness.check(label.getHorizontalAlignment(), JLabel.RIGHT); harness.check(events.size(), 1); PropertyChangeEvent e0 = (PropertyChangeEvent) events.get(0); harness.check(e0.getSource(), label); harness.check(e0.getPropertyName(), "horizontalAlignment"); harness.check(e0.getOldValue(), new Integer(JLabel.LEADING)); harness.check(e0.getNewValue(), new Integer(JLabel.RIGHT)); // try a bad value boolean pass = false; try { label.setHorizontalAlignment(99); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JSpinner/0000755000175000001440000000000012375316426020223 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JSpinner/ListEditor/0000755000175000001440000000000012375316426022305 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JSpinner/ListEditor/constructor.java0000644000175000001440000000372110374641457025542 0ustar dokousers/* constructor.java -- Checks for the constructor in the ListEditor class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JSpinner.ListEditor; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeListener; import java.util.Arrays; import java.util.EventListener; import javax.swing.JSpinner; import javax.swing.SpinnerListModel; import javax.swing.event.ChangeListener; public class constructor implements Testlet { public void test(TestHarness harness) { harness.checkPoint("(JSpinner)"); SpinnerListModel m = new SpinnerListModel(new String[] {"A", "B", "C"}); JSpinner s = new JSpinner(m); JSpinner.DefaultEditor e = new JSpinner.DefaultEditor(s); harness.check(e.getLayout(), e); harness.check(e.getTextField().getValue(), "A"); // the editor should be a listener on the spinner EventListener[] sl = s.getListeners(ChangeListener.class); harness.check(Arrays.asList(sl).contains(e)); // the editor should be listening to PropertyChangeEvents in the // text field EventListener[] tfl = e.getTextField().getListeners( PropertyChangeListener.class); harness.check(Arrays.asList(tfl).contains(e)); } } mauve-20140821/gnu/testlet/javax/swing/JSpinner/ListEditor/getModel.java0000644000175000001440000000256510376556134024721 0ustar dokousers/* getModel.java -- Checks for the getModel() method in the ListEditor class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JSpinner.ListEditor; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSpinner; import javax.swing.SpinnerListModel; public class getModel implements Testlet { public void test(TestHarness harness) { harness.checkPoint("()"); SpinnerListModel m = new SpinnerListModel(new String[] {"A", "B", "C"}); JSpinner s = new JSpinner(m); JSpinner.ListEditor editor = (JSpinner.ListEditor) s.getEditor(); harness.check(editor.getModel(), m); } } mauve-20140821/gnu/testlet/javax/swing/JSpinner/constructors.java0000644000175000001440000000634410461244652023640 0ustar dokousers/* constructors.java -- Some checks for the constructors in the JSpinner class Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JSpinner; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Arrays; import java.util.EventListener; import javax.swing.JSpinner; import javax.swing.SpinnerNumberModel; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.event.ChangeListener; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the constructors in the {@link JSpinner} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { constructor1(harness); constructor2(harness); } public void constructor1(TestHarness harness) { harness.checkPoint("()"); // use a known look and feel MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { harness.fail(e.toString()); } SpinnerNumberModel m = new SpinnerNumberModel(); JSpinner spinner = new JSpinner(m); harness.check(spinner.getValue(), new Integer(0)); harness.check(spinner.getEditor() instanceof JSpinner.NumberEditor); // the model has a listener, but it isn't the spinner, editor or UI // some private class is listening and passing on events EventListener[] mListeners = m.getListeners(ChangeListener.class); harness.check(mListeners.length, 1); harness.check(!Arrays.asList(mListeners).contains(spinner)); harness.check(!Arrays.asList(mListeners).contains(spinner.getUI())); harness.check(!Arrays.asList(mListeners).contains(spinner.getEditor())); } public void constructor2(TestHarness harness) { harness.checkPoint("(SpinnerModel)"); SpinnerNumberModel m = new SpinnerNumberModel(5, 0, 10, 1); JSpinner spinner = new JSpinner(m); harness.check(spinner.getValue(), new Integer(5)); harness.check(spinner.getEditor() instanceof JSpinner.NumberEditor); // try null model boolean pass = false; try { /*JSpinner s =*/ new JSpinner(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JSpinner/DefaultEditor/0000755000175000001440000000000012375316426022756 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JSpinner/DefaultEditor/stateChanged.java0000644000175000001440000000311311015022007026164 0ustar dokousers/* stateChanged.java -- Checks for the stateChanged() method in the DefaultEditor class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 // Uses: MyDefaultEditor package gnu.testlet.javax.swing.JSpinner.DefaultEditor; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSpinner; import javax.swing.event.ChangeEvent; public class stateChanged implements Testlet { public void test(TestHarness harness) { harness.checkPoint("(ChangeEvent)"); JSpinner s = new JSpinner(); MyDefaultEditor e = new MyDefaultEditor(s); s.setEditor(e); s.getModel().setValue(new Integer(99)); harness.check(e.stateChangeEvents.size(), 1); ChangeEvent event = (ChangeEvent) e.stateChangeEvents.get(0); harness.check(event.getSource(), s); harness.check(e.getTextField().getText(), "99"); } } mauve-20140821/gnu/testlet/javax/swing/JSpinner/DefaultEditor/constructor.java0000644000175000001440000000355710374637433026221 0ustar dokousers/* constructor.java -- Checks for the constructor in the DefaultEditor class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JSpinner.DefaultEditor; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeListener; import java.util.Arrays; import java.util.EventListener; import javax.swing.JSpinner; import javax.swing.event.ChangeListener; public class constructor implements Testlet { public void test(TestHarness harness) { harness.checkPoint("(JSpinner)"); JSpinner s = new JSpinner(); JSpinner.DefaultEditor e = new JSpinner.DefaultEditor(s); harness.check(e.getLayout(), e); harness.check(e.getTextField().getValue(), new Integer(0)); // the editor should be a listener on the spinner EventListener[] sl = s.getListeners(ChangeListener.class); harness.check(Arrays.asList(sl).contains(e)); // the editor should be listening to PropertyChangeEvents in the // text field EventListener[] tfl = e.getTextField().getListeners( PropertyChangeListener.class); harness.check(Arrays.asList(tfl).contains(e)); } } mauve-20140821/gnu/testlet/javax/swing/JSpinner/DefaultEditor/MyDefaultEditor.java0000644000175000001440000000316510374637433026670 0ustar dokousers/* MyDefaultEditor.java -- Exposes some methods in DefaultEditor Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.javax.swing.JSpinner.DefaultEditor; import java.beans.PropertyChangeEvent; import java.util.List; import javax.swing.JSpinner; import javax.swing.event.ChangeEvent; public class MyDefaultEditor extends JSpinner.DefaultEditor { public List stateChangeEvents = new java.util.ArrayList(); public List propertyChangeEvents = new java.util.ArrayList(); public MyDefaultEditor(JSpinner spinner) { super(spinner); } public void stateChanged(ChangeEvent event) { super.stateChanged(event); if (stateChangeEvents != null) stateChangeEvents.add(event); } public void propertyChange(PropertyChangeEvent event) { super.propertyChange(event); if (propertyChangeEvents != null) propertyChangeEvents.add(event); } } mauve-20140821/gnu/testlet/javax/swing/JSpinner/DefaultEditor/minimumLayoutSize.java0000644000175000001440000000323510374637433027331 0ustar dokousers/* minimumLayoutSize.java -- Checks for the minimumLayoutSize() method in the JSpinner.DefaultEditor class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JSpinner.DefaultEditor; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import java.awt.Insets; import javax.swing.JSpinner; public class minimumLayoutSize implements Testlet { public void test(TestHarness harness) { harness.checkPoint("(Container)"); JSpinner s = new JSpinner(); JSpinner.NumberEditor editor = (JSpinner.NumberEditor) s.getEditor(); Dimension tfSize = editor.getTextField().getMinimumSize(); Insets insets = editor.getInsets(); Dimension result = editor.minimumLayoutSize(editor); harness.check(result.width, tfSize.width + insets.left + insets.right); harness.check(result.height, tfSize.height + insets.top + insets.bottom); } } mauve-20140821/gnu/testlet/javax/swing/JSpinner/DefaultEditor/preferredLayoutSize.java0000644000175000001440000000325110374637433027632 0ustar dokousers/* preferredLayoutSize.java -- Checks for the preferredLayoutSize() method in the JSpinner.DefaultEditor class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JSpinner.DefaultEditor; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import java.awt.Insets; import javax.swing.JSpinner; public class preferredLayoutSize implements Testlet { public void test(TestHarness harness) { harness.checkPoint("(Container)"); JSpinner s = new JSpinner(); JSpinner.NumberEditor editor = (JSpinner.NumberEditor) s.getEditor(); Dimension tfSize = editor.getTextField().getPreferredSize(); Insets insets = editor.getInsets(); Dimension result = editor.preferredLayoutSize(editor); harness.check(result.width, tfSize.width + insets.left + insets.right); harness.check(result.height, tfSize.height + insets.top + insets.bottom); } } mauve-20140821/gnu/testlet/javax/swing/JSpinner/DefaultEditor/propertyChange.java0000644000175000001440000000327011015022007026570 0ustar dokousers/* propertyChange.java -- Checks for the propertyChange() method in the JSpinner.DefaultEditor class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: FIXME // Uses: MyDefaultEditor package gnu.testlet.javax.swing.JSpinner.DefaultEditor; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import javax.swing.JSpinner; public class propertyChange implements Testlet { public void test(TestHarness harness) { harness.checkPoint("(PropertyChangeEvent)"); JSpinner s = new JSpinner(); MyDefaultEditor e = new MyDefaultEditor(s); s.setEditor(e); e.propertyChangeEvents.clear(); e.getTextField().setValue(new Integer(88)); harness.check(e.propertyChangeEvents.size(), 1); PropertyChangeEvent event = (PropertyChangeEvent) e.propertyChangeEvents.get(0); harness.check(event.getPropertyName(), "value"); harness.check(e.getTextField().getText(), "88"); } } mauve-20140821/gnu/testlet/javax/swing/JSpinner/getEditor.java0000644000175000001440000000240310374636350023011 0ustar dokousers/* getEditor.java -- Checks for the getEditor() method in the JSpinner class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JSpinner; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSpinner; public class getEditor implements Testlet { public void test(TestHarness harness) { harness.checkPoint("()"); JSpinner s = new JSpinner(); JSpinner.NumberEditor e = new JSpinner.NumberEditor(s); s.setEditor(e); harness.check(s.getEditor(), e); } } mauve-20140821/gnu/testlet/javax/swing/JSpinner/setEditor.java0000644000175000001440000000510510374636350023027 0ustar dokousers/* setEditor.java -- Checks for the setEditor() method in the JSpinner class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JSpinner; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.Arrays; import java.util.EventListener; import java.util.List; import javax.swing.JComponent; import javax.swing.JSpinner; import javax.swing.SpinnerNumberModel; import javax.swing.event.ChangeListener; public class setEditor implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } public void test(TestHarness harness) { harness.checkPoint("(JComponent)"); JSpinner s = new JSpinner(); s.addPropertyChangeListener(this); JComponent e = s.getEditor(); SpinnerNumberModel m = (SpinnerNumberModel) s.getModel(); EventListener[] l1 = s.getListeners(ChangeListener.class); harness.check(Arrays.asList(l1).contains(e)); harness.check(!Arrays.asList(l1).contains(m)); JSpinner.NumberEditor e2 = new JSpinner.NumberEditor(s); s.setEditor(e2); harness.check(s.getEditor(), e2); harness.check(events.size(), 1); PropertyChangeEvent pce = (PropertyChangeEvent) events.get(0); harness.check(pce.getPropertyName(), "editor"); harness.check(pce.getOldValue(), e); harness.check(pce.getNewValue(), e2); l1 = s.getListeners(ChangeListener.class); harness.check(Arrays.asList(l1).contains(e2)); harness.check(!Arrays.asList(l1).contains(e)); // try null argument boolean pass = false; try { s.setEditor(null); } catch (IllegalArgumentException iae) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JSpinner/DateEditor/0000755000175000001440000000000012375316426022247 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JSpinner/DateEditor/constructors.java0000644000175000001440000000646210374640643025670 0ustar dokousers/* constructors.java -- Checks for the constructors in the DateEditor class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JSpinner.DateEditor; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import javax.swing.JFormattedTextField; import javax.swing.JSpinner; import javax.swing.SpinnerDateModel; import javax.swing.text.DateFormatter; public class constructors implements Testlet { public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("(JSpinner)"); SpinnerDateModel m = new SpinnerDateModel(); JSpinner s = new JSpinner(m); JSpinner.DateEditor e = new JSpinner.DateEditor(s); harness.check(e.getFormat(), DateFormat.getInstance()); harness.check(e.getLayout(), e); JFormattedTextField ftf = e.getTextField(); DateFormatter nf = (DateFormatter) ftf.getFormatter(); harness.check(nf.getMinimum(), null); harness.check(nf.getMaximum(), null); m = new SpinnerDateModel(new Date(50L), new Date(0L), new Date(100L), Calendar.MILLISECOND); s = new JSpinner(m); e = new JSpinner.DateEditor(s); harness.check(e.getFormat(), DateFormat.getInstance()); ftf = e.getTextField(); nf = (DateFormatter) ftf.getFormatter(); harness.check(nf.getMinimum(), new Date(0L)); harness.check(nf.getMaximum(), new Date(100L)); // try null argument boolean pass = false; try { e = new JSpinner.DateEditor(null); } catch (NullPointerException npe) { pass = true; } harness.check(pass); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(JSpinner, String)"); SpinnerDateModel m = new SpinnerDateModel(); JSpinner s = new JSpinner(m); JSpinner.DateEditor e = new JSpinner.DateEditor(s, "S"); harness.check(e.getFormat(), new SimpleDateFormat("S")); harness.check(e.getLayout(), e); // try null spinner argument boolean pass = false; try { e = new JSpinner.DateEditor(null, "S"); } catch (NullPointerException npe) { pass = true; } harness.check(pass); // try null format argument pass = false; try { e = new JSpinner.DateEditor(s, null); } catch (NullPointerException npe) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JSpinner/DateEditor/getFormat.java0000644000175000001440000000305510374640643025043 0ustar dokousers/* getFormat.java -- Checks for the getFormat() method in the DateEditor class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JSpinner.DateEditor; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DateFormat; import javax.swing.JSpinner; import javax.swing.SpinnerDateModel; import javax.swing.text.DefaultFormatterFactory; public class getFormat implements Testlet { public void test(TestHarness harness) { harness.checkPoint("()"); SpinnerDateModel m = new SpinnerDateModel(); JSpinner s = new JSpinner(m); JSpinner.DateEditor e = new JSpinner.DateEditor(s); harness.check(e.getTextField().getFormatterFactory() instanceof DefaultFormatterFactory); harness.check(e.getFormat(), DateFormat.getInstance()); } } mauve-20140821/gnu/testlet/javax/swing/JSpinner/DateEditor/getModel.java0000644000175000001440000000277110374640643024657 0ustar dokousers/* getModel.java -- Checks for the getModel() method in the JSpinner.DateEditor class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JSpinner.DateEditor; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Calendar; import java.util.Date; import javax.swing.JSpinner; import javax.swing.SpinnerDateModel; public class getModel implements Testlet { public void test(TestHarness harness) { harness.checkPoint("()"); SpinnerDateModel m = new SpinnerDateModel(new Date(50L), new Date(0L), new Date(100L), Calendar.MILLISECOND); JSpinner s = new JSpinner(m); JSpinner.DateEditor editor = (JSpinner.DateEditor) s.getEditor(); harness.check(editor.getModel(), m); } } mauve-20140821/gnu/testlet/javax/swing/JSpinner/getPreviousValue.java0000644000175000001440000000327710374636350024406 0ustar dokousers/* getPreviousValue.java -- some checks for the getPreviousValue() method in the JSpinner class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JSpinner; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSpinner; import javax.swing.SpinnerNumberModel; public class getPreviousValue implements Testlet { public void test(TestHarness harness) { harness.checkPoint("()"); SpinnerNumberModel m = new SpinnerNumberModel(2.0, 1.0, 3.0, 0.5); JSpinner s = new JSpinner(m); harness.check(s.getValue(), new Double(2.0)); harness.check(s.getPreviousValue(), new Double(1.5)); // accessing the previous value doesn't update the current value harness.check(s.getValue(), new Double(2.0)); s.setValue(new Double(1.5)); harness.check(s.getPreviousValue(), new Double(1.0)); s.setValue(new Double(1.0)); harness.check(s.getPreviousValue(), null); } } mauve-20140821/gnu/testlet/javax/swing/JSpinner/getUIClassID.java0000644000175000001440000000233410374636350023306 0ustar dokousers/* getUIClassID.java -- Checks for the getUIClassID() method in the JSpinner class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JSpinner; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSpinner; public class getUIClassID implements Testlet { public void test(TestHarness harness) { harness.checkPoint("()"); JSpinner s = new JSpinner(); harness.check(s.getUIClassID(), "SpinnerUI"); } } mauve-20140821/gnu/testlet/javax/swing/JSpinner/createEditor.java0000644000175000001440000000476610374636350023513 0ustar dokousers/* createEditor.java -- Checks for the createEditor() method in the JSpinner class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 // Uses: MyJSpinner package gnu.testlet.javax.swing.JSpinner; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.EventListener; import javax.swing.JComponent; import javax.swing.JSpinner; import javax.swing.SpinnerDateModel; import javax.swing.SpinnerListModel; import javax.swing.SpinnerModel; import javax.swing.SpinnerNumberModel; import javax.swing.event.ChangeListener; public class createEditor implements Testlet { public void test(TestHarness harness) { harness.checkPoint("(SpinnerModel)"); MyJSpinner s1 = new MyJSpinner(); SpinnerModel m1 = new SpinnerNumberModel(); JComponent e1 = s1.createEditor(m1); harness.check(e1 instanceof JSpinner.NumberEditor); // no listeners added to the editor yet EventListener[] e1l = e1.getListeners(ChangeListener.class); harness.check(e1l.length, 0); SpinnerModel m2 = new SpinnerDateModel(); MyJSpinner s2 = new MyJSpinner(m2); JComponent e2 = s2.createEditor(m2); harness.check(e2 instanceof JSpinner.DateEditor); // no listeners added to the editor yet EventListener[] e2l = e2.getListeners(ChangeListener.class); harness.check(e2l.length, 0); SpinnerModel m3 = new SpinnerListModel(); MyJSpinner s3 = new MyJSpinner(m3); JComponent e3 = s3.createEditor(m3); harness.check(e3 instanceof JSpinner.ListEditor); // no listeners added to the editor yet EventListener[] e3l = e3.getListeners(ChangeListener.class); harness.check(e3l.length, 0); // try null argument e3 = s3.createEditor(null); harness.check(e3 instanceof JSpinner.DefaultEditor); } } mauve-20140821/gnu/testlet/javax/swing/JSpinner/addChangeListener.java0000644000175000001440000000355710374636350024442 0ustar dokousers/* addChangeListener.java -- Checks for the addChangeListener() method in the JSpinner class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JSpinner; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.List; import javax.swing.JSpinner; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class addChangeListener implements Testlet, ChangeListener { List events = new java.util.ArrayList(); public void stateChanged(ChangeEvent event) { this.events.add(event); } public void test(TestHarness harness) { harness.checkPoint("addChangeListener()"); JSpinner s = new JSpinner(); s.addChangeListener(this); s.getModel().setValue(new Integer(11)); harness.check(events.size(), 1); ChangeEvent e = (ChangeEvent) events.get(0); harness.check(e.getSource(), s); // try null listener - it is permitted boolean pass = true; try { s.addChangeListener(null); } catch (NullPointerException npe) { pass = false; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JSpinner/getModel.java0000644000175000001440000000244110374636350022625 0ustar dokousers/* getModel.java -- Checks for the getModel() method in the JSpinner class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JSpinner; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSpinner; import javax.swing.SpinnerDateModel; public class getModel implements Testlet { public void test(TestHarness harness) { harness.checkPoint("()"); JSpinner s = new JSpinner(); SpinnerDateModel m = new SpinnerDateModel(); s.setModel(m); harness.check(s.getModel(), m); } } mauve-20140821/gnu/testlet/javax/swing/JSpinner/setModel.java0000644000175000001440000000520210374636350022637 0ustar dokousers/* setModel.java -- Checks for the setModel() method in the JSpinner class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JSpinner; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.JSpinner; import javax.swing.SpinnerDateModel; import javax.swing.SpinnerNumberModel; public class setModel implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } public void test(TestHarness harness) { harness.checkPoint("(SpinnerModel)"); JSpinner s = new JSpinner(); harness.check(s.getEditor() instanceof JSpinner.NumberEditor); s.addPropertyChangeListener(this); SpinnerDateModel m = new SpinnerDateModel(); s.setModel(m); harness.check(s.getModel(), m); harness.check(events.size(), 2); PropertyChangeEvent e1 = (PropertyChangeEvent) events.get(0); harness.check(e1.getPropertyName(), "model"); harness.check(e1.getSource(), s); harness.check(e1.getNewValue(), m); harness.check(e1.getOldValue() instanceof SpinnerNumberModel); PropertyChangeEvent e2 = (PropertyChangeEvent) events.get(1); harness.check(e2.getPropertyName(), "editor"); harness.check(e2.getSource(), s); harness.check(e2.getNewValue() instanceof JSpinner.DateEditor); harness.check(e2.getOldValue() instanceof JSpinner.NumberEditor); // setting the same model generates no event events.clear(); s.setModel(m); harness.check(events.size(), 0); // try null argument boolean pass = false; try { s.setModel(null); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JSpinner/NumberEditor/0000755000175000001440000000000012375316426022622 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JSpinner/NumberEditor/constructors.java0000644000175000001440000000624510374642355026244 0ustar dokousers/* constructors.java -- Checks for the constructors in the NumberEditor class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JSpinner.NumberEditor; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.DecimalFormat; import java.text.NumberFormat; import javax.swing.JFormattedTextField; import javax.swing.JSpinner; import javax.swing.SpinnerNumberModel; import javax.swing.text.NumberFormatter; public class constructors implements Testlet { public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("(JSpinner)"); JSpinner s = new JSpinner(); JSpinner.NumberEditor e = new JSpinner.NumberEditor(s); harness.check(e.getLayout(), e); harness.check(e.getFormat(), NumberFormat.getInstance()); JFormattedTextField ftf = e.getTextField(); NumberFormatter nf = (NumberFormatter) ftf.getFormatter(); harness.check(nf.getMinimum(), null); harness.check(nf.getMaximum(), null); SpinnerNumberModel m = new SpinnerNumberModel(50.0, 0.0, 100.0, 5.0); s = new JSpinner(m); e = new JSpinner.NumberEditor(s); harness.check(e.getFormat(), NumberFormat.getInstance()); ftf = e.getTextField(); nf = (NumberFormatter) ftf.getFormatter(); harness.check(nf.getMinimum(), new Double(0.0)); harness.check(nf.getMaximum(), new Double(100.0)); // try null argument boolean pass = false; try { e = new JSpinner.NumberEditor(null); } catch (NullPointerException npe) { pass = true; } harness.check(pass); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(JSpinner, String)"); JSpinner s = new JSpinner(); JSpinner.NumberEditor e = new JSpinner.NumberEditor(s, "0.00"); harness.check(e.getLayout(), e); harness.check(e.getFormat(), new DecimalFormat("0.00")); // try null spinner argument boolean pass = false; try { e = new JSpinner.NumberEditor(null, "0.00"); } catch (NullPointerException npe) { pass = true; } harness.check(pass); // try null format argument pass = false; try { e = new JSpinner.NumberEditor(s, null); } catch (NullPointerException npe) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JSpinner/NumberEditor/getFormat.java0000644000175000001440000000272010374642355025416 0ustar dokousers/* getFormat.java -- Checks for the getFormat() method in the NumberEditor class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JSpinner.NumberEditor; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.NumberFormat; import javax.swing.JSpinner; import javax.swing.text.DefaultFormatterFactory; public class getFormat implements Testlet { public void test(TestHarness harness) { harness.checkPoint("()"); JSpinner s = new JSpinner(); JSpinner.NumberEditor e = new JSpinner.NumberEditor(s); harness.check(e.getTextField().getFormatterFactory() instanceof DefaultFormatterFactory); harness.check(e.getFormat(), NumberFormat.getInstance()); } } mauve-20140821/gnu/testlet/javax/swing/JSpinner/NumberEditor/getModel.java0000644000175000001440000000263310374642355025231 0ustar dokousers/* getModel.java -- Checks for the getModel() method in the JSpinner.NumberEditor class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JSpinner.NumberEditor; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSpinner; import javax.swing.SpinnerNumberModel; public class getModel implements Testlet { public void test(TestHarness harness) { harness.checkPoint("()"); SpinnerNumberModel m = new SpinnerNumberModel(50.0, 0.0, 100.0, 5.0); JSpinner s = new JSpinner(m); JSpinner.NumberEditor editor = (JSpinner.NumberEditor) s.getEditor(); harness.check(editor.getModel(), m); } } mauve-20140821/gnu/testlet/javax/swing/JSpinner/getChangeListeners.java0000644000175000001440000000362310374636350024646 0ustar dokousers/* getChangeListeners.java -- Checks for the getChangeListeners() method in the JSpinner class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JSpinner; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Arrays; import java.util.List; import javax.swing.JSpinner; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class getChangeListeners implements Testlet, ChangeListener { List events = new java.util.ArrayList(); public void stateChanged(ChangeEvent event) { this.events.add(event); } public void test(TestHarness harness) { harness.checkPoint("()"); JSpinner s = new JSpinner(); ChangeListener[] cl = s.getChangeListeners(); harness.check(cl.length, 1); harness.check(cl[0], s.getEditor()); s.addChangeListener(this); cl = s.getChangeListeners(); harness.check(cl.length, 2); harness.check(Arrays.asList(cl).contains(this)); s.removeChangeListener(this); cl = s.getChangeListeners(); harness.check(cl.length, 1); harness.check(!Arrays.asList(cl).contains(this)); } } mauve-20140821/gnu/testlet/javax/swing/JSpinner/getNextValue.java0000644000175000001440000000324410374636350023502 0ustar dokousers/* getNextValue.java -- some checks for the getNextValue() method in the JSpinner class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JSpinner; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSpinner; import javax.swing.SpinnerNumberModel; public class getNextValue implements Testlet { public void test(TestHarness harness) { harness.checkPoint("()"); SpinnerNumberModel m = new SpinnerNumberModel(2.0, 1.0, 3.0, 0.5); JSpinner s = new JSpinner(m); harness.check(s.getValue(), new Double(2.0)); harness.check(s.getNextValue(), new Double(2.5)); // accessing the next value doesn't update the current value harness.check(s.getValue(), new Double(2.0)); s.setValue(new Double(2.5)); harness.check(s.getNextValue(), new Double(3.0)); s.setValue(new Double(3.0)); harness.check(s.getNextValue(), null); } } mauve-20140821/gnu/testlet/javax/swing/JSpinner/MyJSpinner.java0000644000175000001440000000230710374636350023124 0ustar dokousers/* MyJSpinner.java -- Support class Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.javax.swing.JSpinner; import javax.swing.JComponent; import javax.swing.JSpinner; import javax.swing.SpinnerModel; public class MyJSpinner extends JSpinner { public MyJSpinner() { super(); } public MyJSpinner(SpinnerModel m) { super(m); } public JComponent createEditor(SpinnerModel model) { return super.createEditor(model); } } mauve-20140821/gnu/testlet/javax/swing/JSpinner/removeChangeListener.java0000644000175000001440000000406210374636350025177 0ustar dokousers/* removeChangeListener.java -- Checks for the removeChangeListener() method in the JSpinner class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JSpinner; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.List; import javax.swing.JSpinner; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class removeChangeListener implements Testlet, ChangeListener { List events = new java.util.ArrayList(); public void stateChanged(ChangeEvent event) { this.events.add(event); } public void test(TestHarness harness) { harness.checkPoint("(ChangeListener)"); JSpinner s = new JSpinner(); s.addChangeListener(this); s.getModel().setValue(new Integer(11)); harness.check(events.size(), 1); ChangeEvent e = (ChangeEvent) events.get(0); harness.check(e.getSource(), s); // now remove the listener and repeat events.clear(); s.removeChangeListener(this); s.getModel().setValue(new Integer(22)); harness.check(events.size(), 0); // try null listener - it is permitted boolean pass = true; try { s.removeChangeListener(null); } catch (NullPointerException npe) { pass = false; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/undo/0000755000175000001440000000000012375316426017440 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/undo/UndoableEditSupport/0000755000175000001440000000000012375316426023374 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/undo/UndoableEditSupport/getUpdateLevel.java0000644000175000001440000000351310057633067027151 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003, 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.undo.UndoableEditSupport; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.undo.UndoableEditSupport; /** * Checks whether the UndoableEditSupport.getUpdateLevel * method works correctly. * * @author Sascha Brawer */ public class getUpdateLevel implements Testlet { public void test(TestHarness harness) { UndoableEditSupport ues; // Check #1. ues = new UndoableEditSupport(); harness.check(ues.getUpdateLevel(), 0); // Check #2. ues.beginUpdate(); harness.check(ues.getUpdateLevel(), 1); // Check #3. ues.beginUpdate(); harness.check(ues.getUpdateLevel(), 2); // Check #4. ues.endUpdate(); harness.check(ues.getUpdateLevel(), 1); // Check #5. ues.beginUpdate(); harness.check(ues.getUpdateLevel(), 2); // Check #6. ues.endUpdate(); harness.check(ues.getUpdateLevel(), 1); // Check #7. ues.endUpdate(); harness.check(ues.getUpdateLevel(), 0); } } mauve-20140821/gnu/testlet/javax/swing/undo/UndoableEditSupport/toString.java0000644000175000001440000000546107776743740026072 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.undo.UndoableEditSupport; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.event.UndoableEditEvent; import javax.swing.undo.CompoundEdit; import javax.swing.undo.UndoableEditSupport; /** * @author Sascha Brawer */ public class toString implements Testlet { public void test(TestHarness harness) { UndoableEditSupport u; // Check #1. u = new MyUndoableEditSupport("realSource"); harness.check(u.toString(), u.getClass().getName() + "@" + Integer.toHexString(u.hashCode()) + " updateLevel: 0 listeners: []" + " compoundEdit: null"); // Check #2. u.beginUpdate(); u.beginUpdate(); u.addUndoableEditListener(new MyListener()); u.addUndoableEditListener(new MyListener()); harness.check(u.toString(), u.getClass().getName() + "@" + Integer.toHexString(u.hashCode()) + " updateLevel: 2 listeners: [lily, lily]" + " compoundEdit: rose"); // Check #3: u.realSource == u. // Classpath bug #7119. u = new MyUndoableEditSupport(null); harness.check(u.toString(), u.getClass().getName() + "@" + Integer.toHexString(u.hashCode()) + " updateLevel: 0 listeners: []" + " compoundEdit: null"); } private static class MyUndoableEditSupport extends UndoableEditSupport { public MyUndoableEditSupport(Object realSource) { super(realSource); } public CompoundEdit createCompoundEdit() { return new CompoundEdit() { public String toString() { return "rose"; } }; } } private static class MyListener implements javax.swing.event.UndoableEditListener { public String toString() { return "lily"; } public void undoableEditHappened(UndoableEditEvent x) { } } } mauve-20140821/gnu/testlet/javax/swing/undo/UndoableEditSupport/getUndoableEditListeners.java0000644000175000001440000000446207776743740031211 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2003, 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.undo.UndoableEditSupport; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.event.UndoableEditEvent; import javax.swing.event.UndoableEditListener; import javax.swing.undo.UndoableEditSupport; /** * Checks whether the UndoableEditSupport.getUndoableEditListeners * method works correctly. That method has been added in JDK1.4. * * @author Sascha Brawer */ public class getUndoableEditListeners implements Testlet { public void test(TestHarness harness) { UndoableEditSupport ues; TestListener t1, t2; UndoableEditListener[] l; ues = new UndoableEditSupport(); t1 = new TestListener(); t2 = new TestListener(); // Check #1. l = ues.getUndoableEditListeners(); harness.check((l != null) && (l.length == 0)); // Check #2. ues.addUndoableEditListener(t1); l = ues.getUndoableEditListeners(); harness.check((l != null) && (l.length == 1) && (l[0] == t1)); // Check #3. ues.addUndoableEditListener(t2); l = ues.getUndoableEditListeners(); harness.check(l != null && l.length == 2 && l[0] == t1 && l[1] == t2); // Check #4. ues.removeUndoableEditListener(t1); l = ues.getUndoableEditListeners(); harness.check(l != null && l.length == 1 && l[0] == t2); } private static class TestListener implements UndoableEditListener { public void undoableEditHappened(UndoableEditEvent evt) { } } } mauve-20140821/gnu/testlet/javax/swing/undo/UndoableEditSupport/UndoableEditSupport.java0000644000175000001440000000412207776743740030206 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003, 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.undo.UndoableEditSupport; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.undo.CompoundEdit; /** * @author Sascha Brawer */ public class UndoableEditSupport implements Testlet { public void test(TestHarness harness) { MySupport ms; Object foo = "foo"; ms = new MySupport(); harness.check(ms.getRealSource() == ms); // #1 harness.check(ms.getUpdateLevel(), 0); // #2 harness.check(ms.getCompoundEdit(), null); // #3 ms = new MySupport(null); harness.check(ms.getRealSource() == ms); // #4 harness.check(ms.getUpdateLevel(), 0); // #5 harness.check(ms.getCompoundEdit(), null); // #6 ms = new MySupport(foo); harness.check(ms.getRealSource() == foo); // #7 harness.check(ms.getUpdateLevel(), 0); // #8 harness.check(ms.getCompoundEdit(), null); // #9 } private static class MySupport extends javax.swing.undo.UndoableEditSupport { public MySupport() { super(); } public MySupport(Object realSource) { super(realSource); } public Object getRealSource() { return realSource; } public CompoundEdit getCompoundEdit() { return compoundEdit; } } } mauve-20140821/gnu/testlet/javax/swing/undo/UndoableEditSupport/beginUpdate.java0000644000175000001440000000573310057633067026474 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.undo.UndoableEditSupport; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.undo.CompoundEdit; import javax.swing.undo.UndoableEditSupport; /** * @see Classpath bug #7109. * @author Sascha Brawer */ public class beginUpdate implements Testlet { public void test(TestHarness harness) { MyUES ues; CompoundEdit cedit; ues = new MyUES(); // Check #1 and #2: Pre-requisites. harness.check(ues.getCompoundEdit(), null); harness.check(ues.getUpdateLevel(), 0); // Check #3. ues.beginUpdate(); cedit = ues.getCompoundEdit(); harness.check(ues.getCompoundEdit() instanceof MyCompoundEdit); // Check #4. harness.check(ues.getUpdateLevel(), 1); // Check #5. ues.beginUpdate(); harness.check(ues.getCompoundEdit() == cedit); // Check #6. harness.check(ues.getUpdateLevel(), 2); // Check #7. ues.beginUpdate(); harness.check(ues.getCompoundEdit() == cedit); // Check #8. harness.check(ues.getUpdateLevel(), 3); // Check #9. ues.endUpdate(); harness.check(ues.getUpdateLevel(), 2); // Check #10. ues.endUpdate(); harness.check(ues.getUpdateLevel(), 1); // Check #11. ues.beginUpdate(); harness.check(ues.getCompoundEdit() == cedit); // Check #12. harness.check(ues.getUpdateLevel(), 2); // Check #13. ues.endUpdate(); harness.check(ues.getUpdateLevel(), 1); // Check #14. ues.endUpdate(); harness.check(ues.getCompoundEdit(), null); // Check #15. harness.check(ues.getUpdateLevel(), 0); // Check #16. ues.beginUpdate(); harness.check(ues.getUpdateLevel(), 1); // Check #17: Use a fresh CompoundEdit when transitioning // undo level from 0 to 1. harness.check(ues.getCompoundEdit() != cedit); } private static class MyUES extends UndoableEditSupport { protected CompoundEdit createCompoundEdit() { return new MyCompoundEdit(); } public CompoundEdit getCompoundEdit() { return compoundEdit; } } private static class MyCompoundEdit extends CompoundEdit { } } mauve-20140821/gnu/testlet/javax/swing/undo/UndoableEditSupport/createCompoundEdit.java0000644000175000001440000000311210057633067030010 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.undo.UndoableEditSupport; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.undo.CompoundEdit; import javax.swing.undo.UndoableEditSupport; /** * @author Sascha Brawer */ public class createCompoundEdit implements Testlet { public void test(TestHarness harness) { MyUES ues; CompoundEdit c1, c2; ues = new MyUES(); c1 = ues.cce(); c2 = ues.cce(); // Check #1. harness.check(c1 != null); // Check #1. harness.check(c2 != null); // Check #3: Is it a shared instance? No. harness.check(c1 != c2); } private static class MyUES extends UndoableEditSupport { public CompoundEdit cce() { return createCompoundEdit(); } } } mauve-20140821/gnu/testlet/javax/swing/undo/CompoundEdit/0000755000175000001440000000000012375316426022032 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/undo/CompoundEdit/canUndo.java0000644000175000001440000000320210057633067024257 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003, 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.undo.CompoundEdit; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.undo.AbstractUndoableEdit; import javax.swing.undo.CompoundEdit; /** * Checks whether the CompoundEdit.canUndo method * works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class canUndo implements Testlet { public void test(TestHarness harness) { CompoundEdit edit; // Check #1. edit = new CompoundEdit(); edit.addEdit(new AbstractUndoableEdit()); harness.check(!edit.canUndo()); // Check #2. edit.end(); harness.check(edit.canUndo()); // Check #3. edit.undo(); harness.check(!edit.canUndo()); // Check #4. edit.redo(); harness.check(edit.canUndo()); // Check #5. edit.die(); harness.check(!edit.canUndo()); } } mauve-20140821/gnu/testlet/javax/swing/undo/CompoundEdit/lastEdit.java0000644000175000001440000000337007776743740024465 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003, 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.undo.CompoundEdit; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.undo.AbstractUndoableEdit; import javax.swing.undo.CompoundEdit; import javax.swing.undo.UndoableEdit; /** * Checks whether the CompoundEdit.lastEdit method * works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class lastEdit implements Testlet { private static class MyCompoundEdit extends CompoundEdit { public UndoableEdit getLast() { return lastEdit(); } } public void test(TestHarness harness) { MyCompoundEdit edit; AbstractUndoableEdit e1, e2; // Check #1. edit = new MyCompoundEdit(); harness.check(edit.getLast() == null); // Check #2. edit.addEdit(e1 = new AbstractUndoableEdit()); harness.check(edit.getLast() == e1); // Check #3. edit.addEdit(e2 = new AbstractUndoableEdit()); harness.check(edit.getLast() == e2); } } mauve-20140821/gnu/testlet/javax/swing/undo/CompoundEdit/addEdit.java0000644000175000001440000000632707776743740024257 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003, 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.undo.CompoundEdit; import java.util.Vector; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.undo.*; /** * @author Sascha Brawer (brawer@dandelis.ch) */ public class addEdit implements Testlet { private class E1 extends AbstractUndoableEdit { } private class E2 extends AbstractUndoableEdit { public boolean addEdit(UndoableEdit edit) { return edit instanceof E1; } } private class E3 extends AbstractUndoableEdit { public boolean replaceEdit(UndoableEdit edit) { return edit instanceof E2; } } /** * A special subclass of CompoundEdit that allows retrieving the * protected list of UndoableEdits. This makes testing easier. */ private class MyCompoundEdit extends CompoundEdit { public Vector getEdits() { return edits; } public UndoableEdit getLast() { return (UndoableEdit) lastEdit(); } } public void test(TestHarness harness) { MyCompoundEdit edit = new MyCompoundEdit(); Throwable caught; // Check #1. harness.check(edit.addEdit(new E1()) && (edit.getEdits().size() == 1)); // Check #2. harness.check(edit.addEdit(new E2()) && (edit.getEdits().size() == 2)); // Check #3. E2 should absorb E1. harness.check(edit.addEdit(new E1()) && (edit.getEdits().size() == 2) && (edit.getLast() instanceof E2)); // Check #4. E3 should replace E2. harness.check(edit.addEdit(new E3()) && (edit.getEdits().size() == 2) && (edit.getLast() instanceof E3)); // Check #5. E1 should not replace E3. harness.check(edit.addEdit(new E1()) && (edit.getEdits().size() == 3) && (edit.getLast() instanceof E1)); // Check #6. E3 should not replace E1. harness.check(edit.addEdit(new E3()) && (edit.getEdits().size() == 4) && (edit.getLast() instanceof E3)); // Check #7. Null does not taste good. caught = null; try { edit.addEdit(null); } catch (Exception ex) { caught = ex; } harness.check(caught != null); // Check #8. No further additions after calling end(). edit.end(); harness.check((edit.addEdit(new E1()) == false) && (edit.getEdits().size() == 4)); } } mauve-20140821/gnu/testlet/javax/swing/undo/CompoundEdit/canRedo.java0000644000175000001440000000306610057633067024253 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003, 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.undo.CompoundEdit; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.undo.AbstractUndoableEdit; import javax.swing.undo.CompoundEdit; /** * @author Sascha Brawer (brawer@dandelis.ch) */ public class canRedo implements Testlet { public void test(TestHarness harness) { CompoundEdit edit; // Check #1. edit = new CompoundEdit(); edit.addEdit(new AbstractUndoableEdit()); harness.check(!edit.canRedo()); // Check #2. edit.end(); harness.check(!edit.canRedo()); // Check #3. edit.undo(); harness.check(edit.canRedo()); // Check #4. edit.redo(); harness.check(!edit.canRedo()); // Check #5. edit.die(); harness.check(!edit.canRedo()); } } mauve-20140821/gnu/testlet/javax/swing/undo/CompoundEdit/isInProgress.java0000644000175000001440000000254307776743740025344 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003, 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.undo.CompoundEdit; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.undo.CompoundEdit; /** * Checks whether the CompoundEdit.isInProgress method * works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class isInProgress implements Testlet { public void test(TestHarness harness) { CompoundEdit edit; // Check #1. edit = new CompoundEdit(); harness.check(edit.isInProgress()); // Check #2. edit.end(); harness.check(!edit.isInProgress()); } } mauve-20140821/gnu/testlet/javax/swing/undo/AbstractUndoableEdit/0000755000175000001440000000000012375316426023463 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/undo/AbstractUndoableEdit/canUndo.java0000644000175000001440000000300607755203311025706 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.undo.AbstractUndoableEdit; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.undo.AbstractUndoableEdit; /** * Checks whether the AbstractUndoableEdit.canUndo method * works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class canUndo implements Testlet { public void test(TestHarness harness) { AbstractUndoableEdit edit; edit = new AbstractUndoableEdit(); // Check #1. harness.check(edit.canUndo()); // Check #2. edit.undo(); harness.check(!edit.canUndo()); // Check #3. edit.redo(); harness.check(edit.canUndo()); // Check #4. edit.die(); harness.check(!edit.canUndo()); } } mauve-20140821/gnu/testlet/javax/swing/undo/AbstractUndoableEdit/redo.java0000644000175000001440000000424207755203311025253 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.undo.AbstractUndoableEdit; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.undo.AbstractUndoableEdit; import javax.swing.undo.CannotRedoException; /** * Checks whether the AbstractUndoableEdit.redo method * works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class redo implements Testlet { private class MyEdit extends AbstractUndoableEdit { public boolean redoable; public boolean canRedo() { return redoable; } } public void test(TestHarness harness) { MyEdit edit; Throwable caught; // Check #1: No exception for redoable = true. edit = new MyEdit(); edit.redoable = true; edit.undo(); edit.redo(); harness.check(true); // Check #2: Exception for redoable = false; edit.redoable = false; try { edit.undo(); edit.redo(); caught = null; } catch (Exception ex) { caught = ex; } harness.check(caught instanceof CannotRedoException); // Check #3: Exception for dead edit. AbstractUndoableEdit aue = new AbstractUndoableEdit(); aue.undo(); aue.die(); try { aue.redo(); caught = null; } catch (Exception ex) { caught = ex; } harness.check(caught instanceof CannotRedoException); } } mauve-20140821/gnu/testlet/javax/swing/undo/AbstractUndoableEdit/addEdit.java0000644000175000001440000000301107755203311025651 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.undo.AbstractUndoableEdit; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.undo.AbstractUndoableEdit; /** * Checks whether the AbstractUndoableEdit.addEdit method * works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class addEdit implements Testlet { public void test(TestHarness harness) { AbstractUndoableEdit edit; edit = new AbstractUndoableEdit(); // Check #1. harness.check(!edit.addEdit(edit)); // Check #2. harness.check(!edit.addEdit(null)); // Check #3. harness.check(!edit.addEdit(new AbstractUndoableEdit())); // Check #4. edit.die(); harness.check(!edit.addEdit(edit)); } } mauve-20140821/gnu/testlet/javax/swing/undo/AbstractUndoableEdit/canRedo.java0000644000175000001440000000311207755203311025670 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.undo.AbstractUndoableEdit; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.undo.AbstractUndoableEdit; /** * Checks whether the AbstractUndoableEdit.canRedo method * works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class canRedo implements Testlet { public void test(TestHarness harness) { AbstractUndoableEdit edit; edit = new AbstractUndoableEdit(); // Check #1. harness.check(!edit.canRedo()); // Check #2. edit.undo(); harness.check(edit.canRedo()); // Check #3. edit.redo(); harness.check(!edit.canRedo()); // Check #4. edit.undo(); harness.check(edit.canRedo()); // Check #5. edit.die(); harness.check(!edit.canRedo()); } } mauve-20140821/gnu/testlet/javax/swing/undo/AbstractUndoableEdit/getRedoPresentationName.java0000644000175000001440000000347507755203311031117 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.undo.AbstractUndoableEdit; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.undo.AbstractUndoableEdit; import javax.swing.UIManager; /** * Checks whether the AbstractUndoableEdit.getRedoPresentationName method * works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getRedoPresentationName implements Testlet { public void test(TestHarness harness) { AbstractUndoableEdit edit; String oldValue; edit = new AbstractUndoableEdit() { public String getPresentationName() { return "Action"; } }; // Check #1. oldValue = UIManager.getString("AbstractUndoableEdit.undoText"); UIManager.put("AbstractUndoableEdit.redoText", "RedoBar"); harness.check(edit.getRedoPresentationName(), "RedoBar Action"); // Check #2. edit = new AbstractUndoableEdit(); harness.check(edit.getRedoPresentationName(), "RedoBar"); UIManager.put("AbstractUndoableEdit.redoText", oldValue); } } mauve-20140821/gnu/testlet/javax/swing/undo/AbstractUndoableEdit/getUndoPresentationName.java0000644000175000001440000000347507755203311031133 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.undo.AbstractUndoableEdit; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.undo.AbstractUndoableEdit; import javax.swing.UIManager; /** * Checks whether the AbstractUndoableEdit.getUndoPresentationName method * works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getUndoPresentationName implements Testlet { public void test(TestHarness harness) { AbstractUndoableEdit edit; String oldValue; edit = new AbstractUndoableEdit() { public String getPresentationName() { return "Action"; } }; // Check #1. oldValue = UIManager.getString("AbstractUndoableEdit.undoText"); UIManager.put("AbstractUndoableEdit.undoText", "UndoFoo"); harness.check(edit.getUndoPresentationName(), "UndoFoo Action"); // Check #2. edit = new AbstractUndoableEdit(); harness.check(edit.getUndoPresentationName(), "UndoFoo"); UIManager.put("AbstractUndoableEdit.undoText", oldValue); } } mauve-20140821/gnu/testlet/javax/swing/undo/AbstractUndoableEdit/isSignificant.java0000644000175000001440000000250207755203311027111 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.undo.AbstractUndoableEdit; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.undo.AbstractUndoableEdit; /** * Checks whether the AbstractUndoableEdit.isSignificant method * works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class isSignificant implements Testlet { public void test(TestHarness harness) { AbstractUndoableEdit edit; edit = new AbstractUndoableEdit(); // Check #1. harness.check(edit.isSignificant()); } } mauve-20140821/gnu/testlet/javax/swing/undo/AbstractUndoableEdit/undo.java0000644000175000001440000000417507755203311025274 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.undo.AbstractUndoableEdit; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.undo.AbstractUndoableEdit; import javax.swing.undo.CannotUndoException; /** * Checks whether the AbstractUndoableEdit.undo method * works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class undo implements Testlet { private class MyEdit extends AbstractUndoableEdit { public boolean undoable; public boolean canUndo() { return undoable; } } public void test(TestHarness harness) { MyEdit edit; Throwable caught; // Check #1: No exception for undoable = true. edit = new MyEdit(); edit.undoable = true; edit.undo(); edit.redo(); harness.check(true); // Check #2: Exception for undoable = false; edit.undoable = false; try { edit.undo(); caught = null; } catch (Exception ex) { caught = ex; } harness.check(caught instanceof CannotUndoException); // Check #3: Exception for dead edit. AbstractUndoableEdit aue = new AbstractUndoableEdit(); aue.die(); try { aue.undo(); caught = null; } catch (Exception ex) { caught = ex; } harness.check(caught instanceof CannotUndoException); } } mauve-20140821/gnu/testlet/javax/swing/undo/AbstractUndoableEdit/getPresentationName.java0000644000175000001440000000253007755203311030274 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.undo.AbstractUndoableEdit; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.undo.AbstractUndoableEdit; /** * Checks whether the AbstractUndoableEdit.getPresentationName method * works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getPresentationName implements Testlet { public void test(TestHarness harness) { AbstractUndoableEdit edit; edit = new AbstractUndoableEdit(); // Check #1. harness.check(edit.getPresentationName(), ""); } } mauve-20140821/gnu/testlet/javax/swing/undo/AbstractUndoableEdit/replaceEdit.java0000644000175000001440000000304107755203311026537 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.undo.AbstractUndoableEdit; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.undo.AbstractUndoableEdit; /** * Checks whether the AbstractUndoableEdit.replaceEdit method * works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class replaceEdit implements Testlet { public void test(TestHarness harness) { AbstractUndoableEdit edit; edit = new AbstractUndoableEdit(); // Check #1. harness.check(!edit.replaceEdit(edit)); // Check #2. harness.check(!edit.replaceEdit(null)); // Check #3. harness.check(!edit.replaceEdit(new AbstractUndoableEdit())); // Check #4. edit.die(); harness.check(!edit.replaceEdit(edit)); } } mauve-20140821/gnu/testlet/javax/swing/undo/StateEdit/0000755000175000001440000000000012375316426021326 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/undo/StateEdit/undo.java0000644000175000001440000000416707755203311023140 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.undo.StateEdit; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Hashtable; import javax.swing.undo.StateEdit; import javax.swing.undo.StateEditable; /** * Checks whether the StateEdit.undo method works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class undo implements Testlet { private static class Person implements StateEditable { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public void restoreState(Hashtable h) { if (h.containsKey("name")) setName((String) h.get("name")); } public void storeState(Hashtable h) { h.put("name", name); } } public void test(TestHarness harness) { StateEdit edit; Person p; // Check #1. p = new Person(); p.setName("Daniel Dandelion"); edit = new StateEdit(p, "Name Change"); harness.check(p.getName(), "Daniel Dandelion"); // Check #2. p.setName("Rose Rosenholz"); edit.end(); harness.check(p.getName(), "Rose Rosenholz"); // Check #3. edit.undo(); harness.check(p.getName(), "Daniel Dandelion"); // Check #4. edit.redo(); harness.check(p.getName(), "Rose Rosenholz"); } } mauve-20140821/gnu/testlet/javax/swing/undo/StateEdit/getPresentationName.java0000644000175000001440000000321507755203311026140 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.undo.StateEdit; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Hashtable; import javax.swing.undo.StateEdit; import javax.swing.undo.StateEditable; /** * Checks whether the StateEdit.getPresentationName method * works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getPresentationName implements Testlet { public void test(TestHarness harness) { StateEdit edit; StateEditable edited = new StateEditable() { public void storeState(Hashtable state) { } public void restoreState(Hashtable state) { } }; // Check #1. edit = new StateEdit(edited, "Ostracize"); harness.check(edit.getPresentationName(), "Ostracize"); // Check #2. edit = new StateEdit(edited); harness.check(edit.getPresentationName() == null); } } mauve-20140821/gnu/testlet/javax/swing/undo/UndoManager/0000755000175000001440000000000012375316426021640 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/undo/UndoManager/canUndo.java0000644000175000001440000000303210012416344024052 0ustar dokousers// Tags: JDK1.2 // Uses: TestUndoManager // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.undo.UndoManager; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * @author Sascha Brawer */ public class canUndo implements Testlet { public void test(TestHarness harness) { TestUndoManager mgr; TestUndoManager.TestEdit[] edits; // Check #1. mgr = new TestUndoManager(); harness.check(!mgr.canUndo()); // Check #2. edits = mgr.addTestEdits(3, 3); harness.check(mgr.canUndo()); // Check #3. mgr.undo(); harness.check(mgr.canUndo()); // Check #4. edits[2].inhibitCanUndo(); harness.check(mgr.canUndo()); // Check #5. mgr.end(); harness.check(mgr.canUndo()); } } mauve-20140821/gnu/testlet/javax/swing/undo/UndoManager/setLimit.java0000644000175000001440000000414310012416344024261 0ustar dokousers// Tags: JDK1.2 // Uses: TestUndoManager // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.undo.UndoManager; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * @author Sascha Brawer */ public class setLimit implements Testlet { public void test(TestHarness harness) { TestUndoManager mgr = new TestUndoManager(); Throwable caught; // Check #1. mgr.setLimit(25); harness.check(mgr.getLimit(), 25); // Check #2. // Sun JDK 1.4.1_01 accepts zero values, although this // does not really make much sense. mgr.setLimit(0); harness.check(mgr.getLimit(), 0); // Check #3. // Sun JDK 1.4.1_01 accepts negative values, although this // does not really make any sense. mgr.setLimit(-10); harness.check(mgr.getLimit(), -10); // Check #4. harness.check(mgr.numTrimForLimitCalls, 3); // Check #5. mgr.setLimit(20); mgr.addTestEdits(10, 5); harness.check(mgr.checkIDs(new int[] { 10, 11, 12, 13, 14 })); // Check #6. mgr.undo(); mgr.undo(); mgr.setLimit(2); harness.check(mgr.checkIDs(new int[] { 12, 13 })); // Check #7. mgr.end(); caught = null; try { mgr.setLimit(2); } catch (Exception ex) { caught = ex; } harness.check(caught != null); } } mauve-20140821/gnu/testlet/javax/swing/undo/UndoManager/getLimit.java0000644000175000001440000000242310012416344024244 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.undo.UndoManager; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.undo.UndoManager; /** * @author Sascha Brawer */ public class getLimit implements Testlet { public void test(TestHarness harness) { UndoManager mgr = new UndoManager(); // Check #1. harness.check(mgr.getLimit(), 100); // Check #2. mgr.setLimit(20); harness.check(mgr.getLimit(), 20); } } mauve-20140821/gnu/testlet/javax/swing/undo/UndoManager/TestUndoManager.java0000644000175000001440000000732510173030267025540 0ustar dokousers// Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.undo.UndoManager; import java.util.Vector; import javax.swing.undo.AbstractUndoableEdit; import javax.swing.undo.UndoableEdit; import javax.swing.undo.UndoManager; /** * An UndoManager that exposes various protected data structures, * which makes it easier to ensure that the internal state is * correct after calling public methods. * * @author Sascha Brawer */ public class TestUndoManager extends UndoManager { public int numTrimForLimitCalls; protected void trimForLimit() { ++numTrimForLimitCalls; super.trimForLimit(); } public Vector getEdits() { return edits; } public void invokeTrimEdits(int from, int to) { // UndoManager.trimEdits is protected trimEdits(from, to); } public void invokeRedoTo(UndoableEdit edit) { // UndoManager.redoTo is protected redoTo(edit); } public void invokeUndoTo(UndoableEdit edit) { // UndoManager.undoTo is protected undoTo(edit); } public UndoableEdit getEditToBeRedone() { // UndoManager.editToBeRedone is protected return editToBeRedone(); } public UndoableEdit getEditToBeUndone() { // UndoManager.editToBeUndone is protected return editToBeUndone(); } public TestEdit[] addTestEdits(int firstID, int count) { TestEdit[] result = new TestEdit[count]; for (int i = 0; i < count; i++) { result[i] = new TestEdit(firstID + i); addEdit(result[i]); } return result; } public boolean checkIDs(int[] expected) { if (expected.length != edits.size()) return false; for (int i = 0; i < expected.length; i++) if (expected[i] != ((TestEdit) edits.get(i)).id) return false; return true; } public static class TestEdit extends AbstractUndoableEdit { public final int id; private boolean significant = true; private boolean inhibitCanRedo = false; private boolean inhibitCanUndo = false; public TestEdit(int id) { this.id = id; } public boolean isAlive() { return canRedo() || canUndo(); } public boolean isSignificant() { return significant; } public void setSignificant(boolean significant) { this.significant = significant; } public void inhibitCanUndo() { inhibitCanUndo = true; } public void inhibitCanRedo() { inhibitCanRedo = true; } public String toString() { return super.toString() + " id: " + id; } public boolean canRedo() { if (inhibitCanRedo) return false; else return super.canRedo(); } public boolean canUndo() { if (inhibitCanUndo) return false; else return super.canUndo(); } public String getUndoPresentationName() { return "UndoPres" + id; } public String getRedoPresentationName() { return "RedoPres" + id; } } } mauve-20140821/gnu/testlet/javax/swing/undo/UndoManager/canUndoOrRedo.java0000644000175000001440000000312410012416344025167 0ustar dokousers// Tags: JDK1.2 // Uses: TestUndoManager // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.undo.UndoManager; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * @author Sascha Brawer */ public class canUndoOrRedo implements Testlet { public void test(TestHarness harness) { TestUndoManager mgr; TestUndoManager.TestEdit[] edits; // Check #1. mgr = new TestUndoManager(); mgr.setLimit(1); harness.check(!mgr.canUndoOrRedo()); // Check #2. edits = mgr.addTestEdits(1, 1); harness.check(mgr.canUndoOrRedo()); // Check #3. mgr.undo(); harness.check(mgr.canUndoOrRedo()); // Check #4. edits[0].inhibitCanRedo(); harness.check(!mgr.canUndoOrRedo()); // Check #5. mgr.end(); harness.check(mgr.canUndoOrRedo()); } } mauve-20140821/gnu/testlet/javax/swing/undo/UndoManager/editToBeUndone.java0000644000175000001440000000341510057633067025354 0ustar dokousers// Tags: JDK1.2 // Uses: TestUndoManager // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.undo.UndoManager; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * @author Sascha Brawer */ public class editToBeUndone implements Testlet { public void test(TestHarness harness) { TestUndoManager mgr = new TestUndoManager(); TestUndoManager.TestEdit[] edits; // Check #1. harness.check(mgr.getEditToBeUndone(), null); // Check #2. edits = mgr.addTestEdits(47, 4); edits[2].setSignificant(false); edits[1].setSignificant(false); harness.check(mgr.getEditToBeUndone() == edits[3]); // Check #3. mgr.undo(); harness.check(mgr.getEditToBeUndone() == edits[0]); // Check #4. mgr.undo(); harness.check(mgr.getEditToBeUndone(), null); // Check #5. mgr.redo(); harness.check(mgr.getEditToBeUndone() == edits[0]); // Check #6. mgr.redo(); harness.check(mgr.getEditToBeUndone() == edits[3]); } } mauve-20140821/gnu/testlet/javax/swing/undo/UndoManager/trimEdits.java0000644000175000001440000000745210057633067024455 0ustar dokousers// Tags: JDK1.2 // Uses: TestUndoManager // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.undo.UndoManager; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.undo.AbstractUndoableEdit; /** * @author Sascha Brawer */ public class trimEdits implements Testlet { public void test(TestHarness harness) { TestUndoManager mgr = new TestUndoManager(); TestEdit[] e; e = new TestEdit[6]; for (int i = 0; i < e.length; i++) { e[i] = new TestEdit(); mgr.addEdit(e[i]); } harness.check(mgr.getEdits().size(), 6); // Check #1. mgr.invokeTrimEdits(2, 3); harness.check(mgr.getEdits().size(), 4); // Check #2. harness.check(mgr.getEdits().get(0) == e[0]); // Check #3. harness.check(mgr.getEdits().get(1) == e[1]); // Check #4. harness.check(mgr.getEdits().get(2) == e[4]); // Check #5. harness.check(mgr.getEdits().get(3) == e[5]); // Check #6. harness.check(e[0].isAlive()); // Check #7. harness.check(e[1].isAlive()); // Check #8. harness.check(!e[2].isAlive()); // Check #9. harness.check(!e[3].isAlive()); // Check #10. harness.check(e[4].isAlive()); // Check #11. harness.check(e[5].isAlive()); // Check #12. harness.check(mgr.getEditToBeUndone() == e[5]); // Check #13. // Check #14 .. #24: from == to. mgr.invokeTrimEdits(0, 0); harness.check(mgr.getEdits().size(), 3); // Check #14. harness.check(mgr.getEdits().get(0) == e[1]); // Check #15. harness.check(mgr.getEdits().get(1) == e[4]); // Check #16. harness.check(mgr.getEdits().get(2) == e[5]); // Check #17. harness.check(!e[0].isAlive()); // Check #18. harness.check(e[1].isAlive()); // Check #19. harness.check(!e[2].isAlive()); // Check #20. harness.check(!e[3].isAlive()); // Check #21. harness.check(e[4].isAlive()); // Check #22. harness.check(e[5].isAlive()); // Check #23. harness.check(mgr.getEditToBeUndone() == e[5]); // Check #24. // Check #25 .. #29: Nothing happens if from > to. mgr.invokeTrimEdits(1, 0); mgr.invokeTrimEdits(2222, -100); harness.check(mgr.getEdits().size(), 3); // Check #25. harness.check(mgr.getEdits().get(0) == e[1]); // Check #26. harness.check(mgr.getEdits().get(1) == e[4]); // Check #27. harness.check(mgr.getEdits().get(2) == e[5]); // Check #28. harness.check(mgr.getEditToBeUndone() == e[5]); // Check #29. mgr.undo(); mgr.invokeTrimEdits(0, 1); harness.check(mgr.getEdits().size(), 1); // Check #30. harness.check(mgr.getEdits().get(0) == e[5]); // Check #31. harness.check(mgr.getEditToBeUndone() == null); // Check #32. } private static class TestEdit extends AbstractUndoableEdit { public boolean isAlive() { return canUndo() || canRedo(); } } } mauve-20140821/gnu/testlet/javax/swing/undo/UndoManager/addEdit.java0000644000175000001440000000374510012416344024034 0ustar dokousers// Tags: JDK1.2 // Uses: TestUndoManager // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.undo.UndoManager; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * @author Sascha Brawer */ public class addEdit implements Testlet { public void test(TestHarness harness) { TestUndoManager mgr; // Check #1: Limit does not interfere. mgr = new TestUndoManager(); mgr.setLimit(3); mgr.addTestEdits(10, 3); harness.check(mgr.checkIDs(new int[] { 10, 11, 12 })); // Check #2: Limit to two edits, but add three edits. mgr = new TestUndoManager(); mgr.setLimit(2); mgr.addTestEdits(10, 3); harness.check(mgr.checkIDs(new int[] { 11, 12 })); // Check #3. mgr = new TestUndoManager(); mgr.setLimit(3); mgr.addTestEdits(10, 4); mgr.undo(); mgr.addTestEdits(100, 1); harness.check(mgr.checkIDs(new int[] { 11, 12, 100 })); // Check #4. mgr.undo(); mgr.redo(); mgr.undo(); mgr.undo(); mgr.addTestEdits(200, 1); harness.check(mgr.checkIDs(new int[] { 11, 200 })); // Check #5. mgr.undo(); mgr.undo(); mgr.addTestEdits(300, 1); harness.check(mgr.checkIDs(new int[] {300 })); } } mauve-20140821/gnu/testlet/javax/swing/undo/UndoManager/toString.java0000644000175000001440000000310510012416344024275 0ustar dokousers// Tags: JDK1.2 // Uses: TestUndoManager // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.undo.UndoManager; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * @author Sascha Brawer */ public class toString implements Testlet { public void test(TestHarness harness) { TestUndoManager mgr; TestUndoManager.TestEdit[] edits; mgr = new TestUndoManager(); edits = mgr.addTestEdits(10, 1); // Check #1. harness.check(mgr.toString(), "gnu.testlet.javax.swing.undo.UndoManager.TestUndoManager@" + Integer.toHexString(mgr.hashCode()) + " hasBeenDone: true alive: true inProgress: true " + "edits: [" + edits[0] + "] limit: 100 " + "indexOfNextAdd: 1"); } } mauve-20140821/gnu/testlet/javax/swing/undo/UndoManager/redoTo.java0000644000175000001440000000317110012416344023723 0ustar dokousers// Tags: JDK1.2 // Uses: TestUndoManager // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.undo.UndoManager; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * @author Sascha Brawer */ public class redoTo implements Testlet { public void test(TestHarness harness) { TestUndoManager mgr = new TestUndoManager(); TestUndoManager.TestEdit[] edits; // Check #1. harness.check(mgr.getEditToBeUndone(), null); // Check #2 and #3. edits = mgr.addTestEdits(943, 4); harness.check(mgr.checkIDs(new int[] { 943, 944, 945, 946 })); harness.check(mgr.getEditToBeUndone() == edits[3]); // Check #4 and #5. mgr.invokeUndoTo(edits[1]); mgr.invokeRedoTo(edits[2]); harness.check(mgr.checkIDs(new int[] { 943, 944, 945, 946 })); harness.check(mgr.getEditToBeUndone(), edits[2]); } } mauve-20140821/gnu/testlet/javax/swing/undo/UndoManager/end.java0000644000175000001440000000325610012416344023241 0ustar dokousers// Tags: JDK1.2 // Uses: TestUndoManager // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.undo.UndoManager; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * @author Sascha Brawer */ public class end implements Testlet { public void test(TestHarness harness) { TestUndoManager mgr; TestUndoManager.TestEdit[] edits; mgr = new TestUndoManager(); edits = mgr.addTestEdits(0, 4); mgr.undo(); mgr.undo(); harness.check(edits[0].isAlive()); // Check #1. harness.check(edits[1].isAlive()); // Check #2. harness.check(edits[2].isAlive()); // Check #3. harness.check(edits[3].isAlive()); // Check #4. mgr.end(); harness.check(edits[0].isAlive()); // Check #5. harness.check(edits[1].isAlive()); // Check #6. harness.check(!edits[2].isAlive()); // Check #7. harness.check(!edits[3].isAlive()); // Check #8. } } mauve-20140821/gnu/testlet/javax/swing/undo/UndoManager/discardAllEdits.java0000644000175000001440000000314510012416344025523 0ustar dokousers// Tags: JDK1.2 // Uses: TestUndoManager // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.undo.UndoManager; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * @author Sascha Brawer */ public class discardAllEdits implements Testlet { public void test(TestHarness harness) { TestUndoManager mgr; TestUndoManager.TestEdit[] edits; mgr = new TestUndoManager(); edits = mgr.addTestEdits(10, 3); mgr.discardAllEdits(); // Check #1. harness.check(mgr.getEdits().size(), 0); // Check #2. harness.check(mgr.getEditToBeUndone(), null); // Check #3. harness.check(mgr.getEditToBeRedone(), null); // Check #4. boolean foundLive = false; for (int i = 0; i < edits.length; i++) foundLive |= edits[i].isAlive(); harness.check(!foundLive); } } mauve-20140821/gnu/testlet/javax/swing/undo/UndoManager/undoableEditHappened.java0000644000175000001440000000274010012416344026534 0ustar dokousers// Tags: JDK1.2 // Uses: TestUndoManager // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.undo.UndoManager; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.event.UndoableEditEvent; import javax.swing.undo.AbstractUndoableEdit; import javax.swing.undo.UndoableEdit; /** * @author Sascha Brawer */ public class undoableEditHappened implements Testlet { public void test(TestHarness harness) { TestUndoManager mgr; UndoableEdit edit; // Check #1. mgr = new TestUndoManager(); edit = new AbstractUndoableEdit(); mgr.undoableEditHappened(new UndoableEditEvent(this, edit)); harness.check(mgr.getEditToBeUndone() == edit); } } mauve-20140821/gnu/testlet/javax/swing/undo/UndoManager/undoTo.java0000644000175000001440000000313110012416344023733 0ustar dokousers// Tags: JDK1.2 // Uses: TestUndoManager // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.undo.UndoManager; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * @author Sascha Brawer */ public class undoTo implements Testlet { public void test(TestHarness harness) { TestUndoManager mgr = new TestUndoManager(); TestUndoManager.TestEdit[] edits; // Check #1. harness.check(mgr.getEditToBeUndone(), null); // Check #2 and #3. edits = mgr.addTestEdits(943, 4); harness.check(mgr.checkIDs(new int[] { 943, 944, 945, 946 })); harness.check(mgr.getEditToBeUndone() == edits[3]); // Check #4 and #5. mgr.invokeUndoTo(edits[1]); harness.check(mgr.checkIDs(new int[] { 943, 944, 945, 946 })); harness.check(mgr.getEditToBeUndone(), edits[0]); } } mauve-20140821/gnu/testlet/javax/swing/undo/UndoManager/getUndoOrRedoPresentationName.java0000644000175000001440000000417110012416344030405 0ustar dokousers// Tags: JDK1.2 // Uses: TestUndoManager // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.undo.UndoManager; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.UIManager; /** * @author Sascha Brawer */ public class getUndoOrRedoPresentationName implements Testlet { public void test(TestHarness harness) { TestUndoManager mgr; TestUndoManager.TestEdit[] edits; Object oldText; mgr = new TestUndoManager(); edits = mgr.addTestEdits(1, 2); // Check #1. harness.check(mgr.getUndoOrRedoPresentationName(), "UndoPres2"); // Check #2. mgr.undo(); harness.check(mgr.getUndoOrRedoPresentationName(), "RedoPres2"); // Check #3. mgr.redo(); harness.check(mgr.getUndoOrRedoPresentationName(), "UndoPres2"); // Check #4. mgr.undo(); harness.check(mgr.getUndoOrRedoPresentationName(), "RedoPres2"); // Check #5. mgr.end(); harness.check(mgr.getUndoOrRedoPresentationName(), "UndoPres1"); // Check #6. mgr.discardAllEdits(); oldText = UIManager.get("AbstractUndoableEdit.undoText"); try { UIManager.put("AbstractUndoableEdit.undoText", "Foondo"); harness.check(mgr.getUndoOrRedoPresentationName(), "Foondo"); } finally { UIManager.put("AbstractUndoableEdit.undoText", oldText); } } } mauve-20140821/gnu/testlet/javax/swing/undo/UndoManager/canRedo.java0000644000175000001440000000303510012416344024041 0ustar dokousers// Tags: JDK1.2 // Uses: TestUndoManager // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.undo.UndoManager; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * @author Sascha Brawer */ public class canRedo implements Testlet { public void test(TestHarness harness) { TestUndoManager mgr; TestUndoManager.TestEdit[] edits; // Check #1. mgr = new TestUndoManager(); harness.check(!mgr.canRedo()); // Check #2. edits = mgr.addTestEdits(3, 3); harness.check(!mgr.canRedo()); // Check #3. mgr.undo(); harness.check(mgr.canRedo()); // Check #4. edits[2].inhibitCanRedo(); harness.check(!mgr.canRedo()); // Check #5. mgr.end(); harness.check(!mgr.canRedo()); } } mauve-20140821/gnu/testlet/javax/swing/undo/UndoManager/getRedoPresentationName.java0000644000175000001440000000374510012416344027264 0ustar dokousers// Tags: JDK1.2 // Uses: TestUndoManager // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.undo.UndoManager; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.UIManager; /** * @author Sascha Brawer */ public class getRedoPresentationName implements Testlet { public void test(TestHarness harness) { TestUndoManager mgr; TestUndoManager.TestEdit[] edits; Object oldText; mgr = new TestUndoManager(); edits = mgr.addTestEdits(1, 2); // Check #1. oldText = UIManager.get("AbstractUndoableEdit.redoText"); try { UIManager.put("AbstractUndoableEdit.redoText", "Fooredo"); harness.check(mgr.getRedoPresentationName(), "Fooredo"); } finally { UIManager.put("AbstractUndoableEdit.redoText", oldText); } // Check #2. mgr.undo(); harness.check(mgr.getRedoPresentationName(), "RedoPres2"); // Check #3. mgr.undo(); harness.check(mgr.getRedoPresentationName(), "RedoPres1"); // Check #4. mgr.redo(); harness.check(mgr.getRedoPresentationName(), "RedoPres2"); // Check #5. mgr.end(); harness.check(mgr.getRedoPresentationName(), "RedoPres1"); } } mauve-20140821/gnu/testlet/javax/swing/undo/UndoManager/editToBeRedone.java0000644000175000001440000000340110057633067025333 0ustar dokousers// Tags: JDK1.2 // Uses: TestUndoManager // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.undo.UndoManager; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * @author Sascha Brawer */ public class editToBeRedone implements Testlet { public void test(TestHarness harness) { TestUndoManager mgr = new TestUndoManager(); TestUndoManager.TestEdit[] edits; // Check #1. harness.check(mgr.getEditToBeRedone(), null); // Check #2. edits = mgr.addTestEdits(47, 4); edits[2].setSignificant(false); edits[1].setSignificant(false); harness.check(mgr.getEditToBeRedone(), null); // Check #3. mgr.undo(); harness.check(mgr.getEditToBeRedone(), edits[3]); // Check #4. mgr.undo(); harness.check(mgr.getEditToBeRedone(), edits[0]); // Check #5. mgr.redo(); harness.check(mgr.getEditToBeRedone(), edits[3]); // Check #6. mgr.redo(); harness.check(mgr.getEditToBeRedone(), null); } } mauve-20140821/gnu/testlet/javax/swing/undo/UndoManager/getUndoPresentationName.java0000644000175000001440000000374310012416344027276 0ustar dokousers// Tags: JDK1.2 // Uses: TestUndoManager // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.undo.UndoManager; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.UIManager; /** * @author Sascha Brawer */ public class getUndoPresentationName implements Testlet { public void test(TestHarness harness) { TestUndoManager mgr; TestUndoManager.TestEdit[] edits; Object oldText; mgr = new TestUndoManager(); edits = mgr.addTestEdits(1, 2); // Check #1. harness.check(mgr.getUndoPresentationName(), "UndoPres2"); // Check #2. mgr.undo(); harness.check(mgr.getUndoPresentationName(), "UndoPres1"); // Check #3. mgr.undo(); oldText = UIManager.get("AbstractUndoableEdit.undoText"); try { UIManager.put("AbstractUndoableEdit.undoText", "Foondo"); harness.check(mgr.getUndoPresentationName(), "Foondo"); } finally { UIManager.put("AbstractUndoableEdit.undoText", oldText); } // Check #4. mgr.redo(); harness.check(mgr.getUndoPresentationName(), "UndoPres1"); // Check #5. mgr.end(); harness.check(mgr.getUndoPresentationName(), "UndoPres1"); } } mauve-20140821/gnu/testlet/javax/swing/AbstractButton/0000755000175000001440000000000012375316426021432 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/AbstractButton/setRolloverSelectedIcon.java0000644000175000001440000000654410453500057027076 0ustar dokousers/* setRolloverSelectedIcon.java -- some checks for the setRolloverSelectedIcon() method in the AbstractButton class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.AbstractButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.AbstractButton; import javax.swing.Icon; import javax.swing.JButton; import javax.swing.plaf.metal.MetalIconFactory; public class setRolloverSelectedIcon implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } public void test(TestHarness harness) { Icon icon1 = MetalIconFactory.getFileChooserNewFolderIcon(); Icon icon2 = MetalIconFactory.getHorizontalSliderThumbIcon(); AbstractButton b = new JButton("123"); b.setRolloverEnabled(false); b.addPropertyChangeListener(this); b.setRolloverSelectedIcon(icon1); harness.check(b.getRolloverSelectedIcon(), icon1); harness.check(events.size(), 2); PropertyChangeEvent e1 = (PropertyChangeEvent) events.get(0); harness.check(e1.getSource(), b); harness.check(e1.getPropertyName(), "rolloverSelectedIcon"); harness.check(e1.getOldValue(), null); harness.check(e1.getNewValue(), icon1); PropertyChangeEvent e2 = (PropertyChangeEvent) events.get(1); harness.check(e2.getSource(), b); harness.check(e2.getPropertyName(), "rolloverEnabled"); harness.check(e2.getOldValue(), Boolean.FALSE); harness.check(e2.getNewValue(), Boolean.TRUE); // change the icon events.clear(); b.setRolloverSelectedIcon(icon2); harness.check(b.getRolloverSelectedIcon(), icon2); harness.check(events.size(), 1); e1 = (PropertyChangeEvent) events.get(0); harness.check(e1.getSource(), b); harness.check(e1.getPropertyName(), "rolloverSelectedIcon"); harness.check(e1.getOldValue(), icon1); harness.check(e1.getNewValue(), icon2); // setting the same icon should generate no event events.clear(); b.setRolloverSelectedIcon(icon2); harness.check(events.size(), 0); // set to null b.setRolloverSelectedIcon(null); harness.check(b.getRolloverSelectedIcon(), null); harness.check(b.isRolloverEnabled(), true); harness.check(events.size(), 1); e1 = (PropertyChangeEvent) events.get(0); harness.check(e1.getSource(), b); harness.check(e1.getPropertyName(), "rolloverSelectedIcon"); harness.check(e1.getOldValue(), icon2); harness.check(e1.getNewValue(), null); } } mauve-20140821/gnu/testlet/javax/swing/AbstractButton/setRolloverEnabled.java0000644000175000001440000000462710367675400026100 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005, 2006 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.AbstractButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.AbstractButton; import javax.swing.JButton; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the setRolloverEnabled() method in the * {@link AbstractButton} class. */ public class setRolloverEnabled implements Testlet, PropertyChangeListener { private PropertyChangeEvent event; public void propertyChange(PropertyChangeEvent event) { this.event = event; } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // this test is theme-dependent try { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { // ignore } AbstractButton b = new JButton("Test"); harness.check(b.isRolloverEnabled(), false); b.addPropertyChangeListener(this); b.setRolloverEnabled(true); harness.check(b.isRolloverEnabled(), true); harness.check(this.event.getPropertyName(), "rolloverEnabled"); harness.check(this.event.getSource(), b); harness.check(this.event.getOldValue(), Boolean.FALSE); harness.check(this.event.getNewValue(), Boolean.TRUE); } } mauve-20140821/gnu/testlet/javax/swing/AbstractButton/setVerticalAlignment.java0000644000175000001440000000455210453505121026412 0ustar dokousers/* setVerticalAlignment.java -- some checks for the setVerticalAlignment() method in the AbstractButton class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.AbstractButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.AbstractButton; import javax.swing.JButton; import javax.swing.SwingConstants; public class setVerticalAlignment implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } public void test(TestHarness harness) { AbstractButton b = new JButton("ABC"); b.addPropertyChangeListener(this); b.setVerticalAlignment(SwingConstants.BOTTOM); harness.check(b.getVerticalAlignment(), SwingConstants.BOTTOM); PropertyChangeEvent e = (PropertyChangeEvent) events.get(0); harness.check(e.getSource(), b); harness.check(e.getPropertyName(), "verticalAlignment"); harness.check(e.getOldValue(), new Integer(SwingConstants.CENTER)); harness.check(e.getNewValue(), new Integer(SwingConstants.BOTTOM)); // setting the same value should generate no event events.clear(); b.setVerticalAlignment(SwingConstants.BOTTOM); harness.check(events.size(), 0); // try an illegal argument boolean pass = false; try { b.setVerticalAlignment(SwingConstants.RIGHT); } catch (IllegalArgumentException ex) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/AbstractButton/createChangeListener.java0000644000175000001440000000316410325202027026340 0ustar dokousers// Tags: JDK1.2 // Uses: TestButton // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.AbstractButton; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Checks if the ChangeListener returned by this method is supposed to * trigger repaint and/or revalidate. * * @author Roman Kennke (kennke@aicas.com) */ public class createChangeListener implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { TestButton b = new TestButton(); ChangeListener l = b.createChangeListener(); b.repaintCalled = false; b.revalidateCalled = false; l.stateChanged(new ChangeEvent(b.getModel())); harness.check(b.repaintCalled, true); harness.check(b.revalidateCalled, false); } } mauve-20140821/gnu/testlet/javax/swing/AbstractButton/setHorizontalTextPosition.java0000644000175000001440000000462010454361357027535 0ustar dokousers/* setHorizontalTextPosition.java -- some checks for the setHorizontalTextPosition() method in the AbstractButton class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.AbstractButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.AbstractButton; import javax.swing.JButton; import javax.swing.SwingConstants; public class setHorizontalTextPosition implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } public void test(TestHarness harness) { AbstractButton b = new JButton("ABC"); b.addPropertyChangeListener(this); b.setHorizontalTextPosition(SwingConstants.LEFT); harness.check(b.getHorizontalTextPosition(), SwingConstants.LEFT); PropertyChangeEvent e = (PropertyChangeEvent) events.get(0); harness.check(e.getSource(), b); harness.check(e.getPropertyName(), "horizontalTextPosition"); harness.check(e.getOldValue(), new Integer(SwingConstants.TRAILING)); harness.check(e.getNewValue(), new Integer(SwingConstants.LEFT)); // setting the same value should generate no event events.clear(); b.setHorizontalTextPosition(SwingConstants.LEFT); harness.check(events.size(), 0); // try an illegal argument boolean pass = false; try { b.setHorizontalTextPosition(SwingConstants.NORTH); } catch (IllegalArgumentException ex) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/AbstractButton/constructor.java0000644000175000001440000000260510265730442024657 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.AbstractButton; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.AbstractButton; import javax.swing.ButtonModel; /** * Checks if the AbstractButton constructor correctly initializes the * properties of the AbstractButton. */ public class constructor implements Testlet { // a concrete version of AbstractButton for testing purposes class MyButton extends AbstractButton { } public void test(TestHarness h) { MyButton b = new MyButton(); ButtonModel m = b.getModel(); h.check(m, null); h.check(b.getText(), ""); } } mauve-20140821/gnu/testlet/javax/swing/AbstractButton/init.java0000644000175000001440000000277310325202027023231 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.AbstractButton; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.AbstractButton; import javax.swing.Icon; /** * Checks if the AbstractButton init() method correctly initializes the * properties of the AbstractButton. */ public class init implements Testlet { // a concrete version of AbstractButton for testing purposes class MyButton extends AbstractButton { /** * Made public for testing. */ public void init(String s, Icon i) { super.init(s, i); } } public void test(TestHarness h) { MyButton b = new MyButton(); b.init(null, null); h.check(b.getText(), "", "AbstractButton.text is \"\" per default"); } } mauve-20140821/gnu/testlet/javax/swing/AbstractButton/setVerticalTextPosition.java0000644000175000001440000000457110454361357027162 0ustar dokousers/* setVerticalTextPosition.java -- some checks for the setVerticalTextPosition() method in the AbstractButton class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.AbstractButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.AbstractButton; import javax.swing.JButton; import javax.swing.SwingConstants; public class setVerticalTextPosition implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } public void test(TestHarness harness) { AbstractButton b = new JButton("ABC"); b.addPropertyChangeListener(this); b.setVerticalTextPosition(SwingConstants.TOP); harness.check(b.getVerticalTextPosition(), SwingConstants.TOP); PropertyChangeEvent e = (PropertyChangeEvent) events.get(0); harness.check(e.getSource(), b); harness.check(e.getPropertyName(), "verticalTextPosition"); harness.check(e.getOldValue(), new Integer(SwingConstants.CENTER)); harness.check(e.getNewValue(), new Integer(SwingConstants.TOP)); // setting the same value should generate no event events.clear(); b.setVerticalTextPosition(SwingConstants.TOP); harness.check(events.size(), 0); // try an illegal argument boolean pass = false; try { b.setVerticalTextPosition(SwingConstants.LEFT); } catch (IllegalArgumentException ex) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/AbstractButton/setRolloverIcon.java0000644000175000001440000000637310453500057025425 0ustar dokousers/* setRolloverIcon.java -- some checks for the setRolloverIcon() method in the AbstractButton class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.AbstractButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.AbstractButton; import javax.swing.Icon; import javax.swing.JButton; import javax.swing.plaf.metal.MetalIconFactory; public class setRolloverIcon implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } public void test(TestHarness harness) { Icon icon1 = MetalIconFactory.getFileChooserNewFolderIcon(); Icon icon2 = MetalIconFactory.getHorizontalSliderThumbIcon(); AbstractButton b = new JButton("123"); b.setRolloverEnabled(false); b.addPropertyChangeListener(this); b.setRolloverIcon(icon1); harness.check(b.getRolloverIcon(), icon1); harness.check(events.size(), 2); PropertyChangeEvent e1 = (PropertyChangeEvent) events.get(0); harness.check(e1.getSource(), b); harness.check(e1.getPropertyName(), "rolloverIcon"); harness.check(e1.getOldValue(), null); harness.check(e1.getNewValue(), icon1); PropertyChangeEvent e2 = (PropertyChangeEvent) events.get(1); harness.check(e2.getSource(), b); harness.check(e2.getPropertyName(), "rolloverEnabled"); harness.check(e2.getOldValue(), Boolean.FALSE); harness.check(e2.getNewValue(), Boolean.TRUE); // change the icon events.clear(); b.setRolloverIcon(icon2); harness.check(b.getRolloverIcon(), icon2); harness.check(events.size(), 1); e1 = (PropertyChangeEvent) events.get(0); harness.check(e1.getSource(), b); harness.check(e1.getPropertyName(), "rolloverIcon"); harness.check(e1.getOldValue(), icon1); harness.check(e1.getNewValue(), icon2); // setting the same icon should generate no event events.clear(); b.setRolloverIcon(icon2); harness.check(events.size(), 0); // set to null b.setRolloverIcon(null); harness.check(b.getRolloverIcon(), null); harness.check(b.isRolloverEnabled(), true); harness.check(events.size(), 1); e1 = (PropertyChangeEvent) events.get(0); harness.check(e1.getSource(), b); harness.check(e1.getPropertyName(), "rolloverIcon"); harness.check(e1.getOldValue(), icon2); harness.check(e1.getNewValue(), null); } } mauve-20140821/gnu/testlet/javax/swing/AbstractButton/getActionCommand.java0000644000175000001440000000407110265073352025505 0ustar dokousers//Tags: not-a-test // Copyright (C) 2005 Robert Schuster // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.AbstractButton; import gnu.testlet.TestHarness; import javax.swing.AbstractButton; /** * Base class which implements the check to proof conformance of the * getActionCommand method of all AbstractButton * descendents. * * @author Robert Schuster * */ public class getActionCommand { protected void check(AbstractButton ab, TestHarness harness) { // The AbstractButton subclass instance should ... // ... use the label by default (test assumes it is set to "bla") harness.check(ab.getActionCommand(), "bla"); ab.setText("foo"); // ... change when the label changes harness.check(ab.getActionCommand(), "foo"); ab.setText(null); // ... return null if the label is null harness.check(ab.getActionCommand(), null); ab.setActionCommand("baz"); // return the ac as soon as it is set to a valid value harness.check(ab.getActionCommand(), "baz"); ab.setText("bla"); // and stay independent of the label changes harness.check(ab.getActionCommand(), "baz"); ab.setText(null); // really harness.check(ab.getActionCommand(), "baz"); ab.setActionCommand(null); ab.setText("GNU"); // ... revert to default behavior when ac is unset harness.check(ab.getActionCommand(), "GNU"); } } mauve-20140821/gnu/testlet/javax/swing/AbstractButton/TestButton.java0000644000175000001440000000411310325202027024367 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.AbstractButton; import javax.swing.JButton; import javax.swing.event.ChangeListener; /** * A subclass of {@link javax.swing.JButton} that enables to check if * certain methods (like repaint() or revalidate()) are called correctly. * * Note: I override JButton here because that is the button that is closest to * AbstractButton. Overriding AbstractButton for the test does not work easily * on Sun's JDK, since they do some sanity checks here in private code that * throws Exceptions. * * @author Roman Kennke (kennke@aicas.com) */ class TestButton extends JButton { /** * A flag indicating if repaint() has been called. */ boolean repaintCalled; /** * A flag indicating if revalidate() has been called. */ boolean revalidateCalled; /** * Performs the superclass repaint and sets the repaintCalled flag to true. */ public void repaint() { repaintCalled = true; super.repaint(); } /** * Performs the superclass revalidate and sets the revalidateCalled flag * to true. */ public void revalidate() { revalidateCalled = true; super.revalidate(); } /** * Overridden to make public. * * @return the created change listener */ public ChangeListener createChangeListener() { return super.createChangeListener(); } } mauve-20140821/gnu/testlet/javax/swing/AbstractButton/setHorizontalAlignment.java0000644000175000001440000000456610453505121026777 0ustar dokousers/* setHorizontalAlignment.java -- some checks for the setHorizontalAlignment() method in the AbstractButton class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.AbstractButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.AbstractButton; import javax.swing.JButton; import javax.swing.SwingConstants; public class setHorizontalAlignment implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } public void test(TestHarness harness) { AbstractButton b = new JButton("ABC"); b.addPropertyChangeListener(this); b.setHorizontalAlignment(SwingConstants.RIGHT); harness.check(b.getHorizontalAlignment(), SwingConstants.RIGHT); PropertyChangeEvent e = (PropertyChangeEvent) events.get(0); harness.check(e.getSource(), b); harness.check(e.getPropertyName(), "horizontalAlignment"); harness.check(e.getOldValue(), new Integer(SwingConstants.CENTER)); harness.check(e.getNewValue(), new Integer(SwingConstants.RIGHT)); // setting the same value should generate no event events.clear(); b.setHorizontalAlignment(SwingConstants.RIGHT); harness.check(events.size(), 0); // try an illegal argument boolean pass = false; try { b.setHorizontalAlignment(SwingConstants.NORTH); } catch (IllegalArgumentException ex) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/KeyStroke/0000755000175000001440000000000012375316426020413 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/KeyStroke/getKeyStroke.java0000644000175000001440000000304110203662601023657 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Thomas Zander // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.KeyStroke; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.*; import javax.swing.*; /** * These tests pass with the Sun JDK 1.4.2_05 on GNU/Linux IA-32. */ public class getKeyStroke implements Testlet { public void test(TestHarness harness) { harness.checkPoint("Calling with unknown string should return 'null'"); try { KeyStroke ks = KeyStroke.getKeyStroke("bad"); harness.check(ks == null); } catch(Throwable t) { harness.check(false); } try { KeyStroke ks = KeyStroke.getKeyStroke(null); harness.check(ks == null); } catch(Throwable t) { harness.check(false); } } } mauve-20140821/gnu/testlet/javax/swing/JMenu/0000755000175000001440000000000012375316426017511 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JMenu/constructors.java0000644000175000001440000001342210446040454023116 0ustar dokousers/* constructors.java Copyright (C) 2006 Red Hat, Tania Bento This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.4 package gnu.testlet.javax.swing.JMenu; import java.awt.Component; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.DefaultButtonModel; import javax.swing.JMenu; import javax.swing.JPopupMenu; import javax.swing.MenuElement; import javax.swing.SwingConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); testConstructor6(harness); testConstructor7(harness); } /** * Constructor #1. */ public void testConstructor1(TestHarness harness) { JMenu m = new JMenu(); harness.check(m.isOpaque(), false); harness.check(m.getText(), ""); harness.check(m.getIcon(), null); } /** * Constructor #2. JMenu text specified. */ public void testConstructor2(TestHarness harness) { JMenu m = new JMenu("Menu Text"); harness.check(m.getText(), "Menu Text"); harness.check(m.getIcon(), null); harness.check(m.getPopupMenu().getInvoker() instanceof JMenu); harness.check(m.isOpaque(), false); } /** * Constructor #2. JMenu text specified as null. */ public void testConstructor3(TestHarness harness) { String title = null; JMenu m = new JMenu(title); harness.check(m.getText(), ""); } /** * Constructor #3. Action specified. */ public void testConstructor4(TestHarness harness) { // Creating an Action with no properties. Action myAction = new AbstractAction() { public void actionPerformed(ActionEvent evt) { System.out.println("MyAction"); } }; JMenu m = new JMenu(myAction); harness.check(m.getText(), null); harness.check(m.getIcon(), null); harness.check(m.getAction(), myAction); harness.check(m.getName(), null); harness.check(m.getAccelerator(), null); harness.check(m.getMnemonic(), 0); harness.check(m.getActionCommand(), null); harness.check(m.getPopupMenu().getInvoker() instanceof JMenu); harness.check(m.isOpaque(), false); } /** * Constructor #3. Action specified as null. */ public void testConstructor5(TestHarness harness) { Action myAction = null; JMenu m = new JMenu(myAction); harness.check(m.getAction(), null); } /** * Constructor #4. JMenu text and boolean both specified. Note: This test does * not check any properties related to tearOff because it has not yet been * implemented, both in Sun and Classpath. It does however ensure that when * evoking calls to this unimplemented method, both behave in the same manner. */ public void testConstructor6(TestHarness harness) { JMenu m = new JMenu("Menu Text", true); harness.check(m.getText(), "Menu Text"); harness.check(m.getIcon(), null); boolean pass = false; try { m.isTearOff(); } catch (Error e) { pass = true; } harness.check(pass); } /** * JMenu Properties. */ public void testConstructor7(TestHarness harness) { JMenu m = new JMenu(); // Properties set by AbstractButton harness.check(m.getVerticalAlignment(), SwingConstants.CENTER); harness.check(m.getVerticalTextPosition(), SwingConstants.CENTER); harness.check(m.isBorderPainted(), true); harness.check(m.isContentAreaFilled(), true); harness.check(m.isFocusPainted(), false); harness.check(m.isFocusable(), true); harness.check(m.getAlignmentX(), 0.5f); harness.check(m.getAlignmentY(), 0.5f); harness.check(m.getDisplayedMnemonicIndex(), - 1); // Properties set by JMenu's init method. harness.check(m.isFocusPainted(), false); harness.check(m.getHorizontalAlignment(), SwingConstants.LEADING); harness.check(m.getHorizontalTextPosition(), SwingConstants.TRAILING); // JMenu's default properties harness.check(m.getModel() instanceof DefaultButtonModel); harness.check(m.getModel() != null); harness.check(m.getUIClassID(), "MenuUI"); harness.check(m.getComponent() instanceof Component); harness.check(m.getComponent() != null); harness.check(m.getDelay(), 200); harness.check(m.getItem(0), null); harness.check(m.getItemCount(), 0); harness.check(m.getLayout(), null); harness.check(m.getMenuComponent(0), null); harness.check(m.getMenuComponentCount(), 0); harness.check(m.getPopupMenu() instanceof JPopupMenu); harness.check(m.getPopupMenu() != null); harness.check(m.isPopupMenuVisible(), false); harness.check(m.isSelected(), false); harness.check(m.getSubElements() instanceof MenuElement[]); harness.check(m.getSubElements() != null); harness.check(m.isTopLevelMenu(), false); } } mauve-20140821/gnu/testlet/javax/swing/JMenu/getPopUpMenu.java0000644000175000001440000001300610446050316022732 0ustar dokousers/* getPopUpMenu.java -- FIXME: describe Copyright (C) 2006 Red Hat, Tania Bento This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.4 package gnu.testlet.javax.swing.JMenu; import java.awt.Component; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.JMenu; import javax.swing.JMenuItem; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getPopUpMenu implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testAdd1(harness); testAdd2(harness); testAdd3(harness); testAdd4(harness); testAdd5(harness); testGetMenuComponents(harness); testInsert(harness); testIsPopUpMenuVisible(harness); testRemove1(harness); testRemove2(harness); testPopUpMenuVisible(harness); testSetSelectedHelper(harness); } public void testAdd1(TestHarness harness) { JMenu menu = new JMenu(); // Creating an Action with no properties. Action myAction = new AbstractAction() { public void actionPerformed(ActionEvent evt) { System.out.println("MyAction"); } }; boolean pass = false; try { menu.add(myAction); pass = true; } catch (NullPointerException e) { // Do nothing. } harness.check(pass); } public void testAdd2(TestHarness harness) { JMenu menu = new JMenu(); Component comp = new MyClass(); boolean pass = false; try { menu.add(comp); pass = true; } catch (NullPointerException e) { // Do nothing. } harness.check(pass); } public void testAdd3(TestHarness harness) { JMenu menu = new JMenu(); Component comp = new MyClass(); boolean pass = false; try { menu.add(comp, 0); pass = true; } catch (NullPointerException e) { // Do nothing. } harness.check(pass); } public void testAdd4(TestHarness harness) { JMenu menu = new JMenu(); JMenuItem item = new JMenuItem(); boolean pass = false; try { menu.add(item); pass = true; } catch (NullPointerException e) { // Do nothing. } harness.check(pass); } public void testAdd5(TestHarness harness) { JMenu menu = new JMenu(); boolean pass = false; try { menu.add("String"); pass = true; } catch (NullPointerException e) { // Do nothing. } harness.check(pass); } public void testGetMenuComponents(TestHarness harness) { JMenu menu = new JMenu(); boolean pass = true; try { menu.getMenuComponents(); pass = true; } catch (NullPointerException e) { // Do nothing. } harness.check(pass); } public void testInsert(TestHarness harness) { JMenu menu = new JMenu(); JMenuItem item = new JMenuItem(); boolean pass = false; try { menu.insert(item, 0); pass = true; } catch (NullPointerException e) { // Do nothing. } harness.check(pass); } public void testIsPopUpMenuVisible(TestHarness harness) { JMenu menu = new JMenu(); boolean pass = false; try { menu.isPopupMenuVisible(); pass = true; } catch (NullPointerException e) { // Do nothing. } harness.check(pass); } public void testRemove1(TestHarness harness) { JMenu menu = new JMenu(); Component c = new MyClass(); boolean pass = false; try { menu.remove(c); pass = true; } catch (NullPointerException e) { // Do nothing. } harness.check(pass); } public void testRemove2(TestHarness harness) { JMenu menu = new JMenu(); JMenuItem item = new JMenuItem(); boolean pass = false; try { menu.remove(item); pass = true; } catch (NullPointerException e) { // Do nothing. } harness.check(pass); } public void testPopUpMenuVisible(TestHarness harness) { JMenu menu = new JMenu(); boolean pass = false; try { menu.setPopupMenuVisible(true); pass = true; } catch (NullPointerException e) { // Do nothing. } harness.check(pass); } public void testSetSelectedHelper(TestHarness harness) { JMenu menu = new JMenu(); boolean pass = false; try { menu.setSelected(false); pass = true; } catch (NullPointerException e) { // Do nothing. } harness.check(pass); } public class MyClass extends Component { } } mauve-20140821/gnu/testlet/javax/swing/JMenu/model.java0000644000175000001440000000571010504004352021437 0ustar dokousers/* model.java -- some checks for the initialisation of the menu's model. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.JMenu; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.DefaultButtonModel; import javax.swing.Icon; import javax.swing.JMenu; /** * This test looks at the creation of the menu's model. This test was * written to investigate a look and feel bug that occurs because the model is * null when the UI delegate is initialised. */ public class model implements Testlet { static class MyJMenu extends JMenu { public MyJMenu() { super(); } public MyJMenu(Action action) { super(action); } public MyJMenu(String text) { super(text); } public MyJMenu(String text, boolean selected) { super(text, selected); } public void init(String text, Icon icon) { // don't call super.init(), because we want to check what happens in // the constructor only... } } public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("()"); MyJMenu b = new MyJMenu(); harness.check(b.getModel().getClass(), DefaultButtonModel.class); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(Action)"); Action action = new AbstractAction() { public void actionPerformed(ActionEvent e) { // do nothing } }; MyJMenu b = new MyJMenu(action); harness.check(b.getModel().getClass(), DefaultButtonModel.class); } public void testConstructor3(TestHarness harness) { harness.checkPoint("(String)"); MyJMenu b = new MyJMenu("ABC"); harness.check(b.getModel().getClass(), DefaultButtonModel.class); } public void testConstructor4(TestHarness harness) { harness.checkPoint("(String, boolean)"); MyJMenu b = new MyJMenu("ABC", false); harness.check(b.getModel().getClass(), DefaultButtonModel.class); } }mauve-20140821/gnu/testlet/javax/swing/JMenu/getActionCommand.java0000644000175000001440000000264010265073350023562 0ustar dokousers// Tags: JDK1.2 // Uses: ../AbstractButton/getActionCommand // Copyright (C) 2005 Robert Schuster // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JMenu; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JMenu; /**

    Tests the JMenu's getActionCommand * method.

    * *

    Please note that the interesting bits of this test reside in the superclass * {@link gnu.testlet.javax.swing.AbstractButton} * * @author Robert Schuster * */ public class getActionCommand extends gnu.testlet.javax.swing.AbstractButton.getActionCommand implements Testlet { public void test(TestHarness harness) { check(new JMenu("bla"), harness); } }mauve-20140821/gnu/testlet/javax/swing/JMenu/getInputMap.java0000644000175000001440000000417310441520121022573 0ustar dokousers/* getInputMap.java -- some checks for the getInputMap() methods inherited by the JMenu class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JMenu; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.InputMap; import javax.swing.JComponent; import javax.swing.JMenu; /** * Checks the input maps defined for a JMenu - this is really testing * the setup performed by BasicMenuUI. */ public class getInputMap implements Testlet { public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("()"); JMenu m = new JMenu(); InputMap m1 = m.getInputMap(); InputMap m2 = m.getInputMap(JComponent.WHEN_FOCUSED); harness.check(m1 == m2); } public void testMethod2(TestHarness harness) { harness.checkPoint("(int)"); JMenu m = new JMenu(); InputMap m1 = m.getInputMap(JComponent.WHEN_FOCUSED); harness.check(m1.keys(), null); InputMap m1p = m1.getParent(); harness.check(m1p, null); InputMap m2 = m.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); harness.check(m2.keys(), null); harness.check(m2.getParent(), null); InputMap m3 = m.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW); harness.check(m3.keys(), null); harness.check(m3.getParent(), null); } } mauve-20140821/gnu/testlet/javax/swing/JMenu/uidelegate.java0000644000175000001440000000603310504004352022446 0ustar dokousers/* uidelegate.java -- some checks for the initialisation of the menu's UI delegate. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.JMenu; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.Icon; import javax.swing.JMenu; /** * This test looks at the creation of the menu's UI delegate. This test was * written to investigate a look and feel bug that occurs because the model is * null when the UI delegate is initialised. */ public class uidelegate implements Testlet { static class MyJMenu extends JMenu { public boolean initCalled; public boolean updateUICalledAfterInitCalled; public MyJMenu() { super(); } public MyJMenu(Action action) { super(action); } public MyJMenu(String text) { super(text); } public MyJMenu(String text, boolean selected) { super(text, selected); } public void init(String text, Icon icon) { initCalled = true; super.init(text, icon); } public void updateUI() { updateUICalledAfterInitCalled = initCalled; super.updateUI(); } } public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("()"); MyJMenu b = new MyJMenu(); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(Action)"); Action action = new AbstractAction() { public void actionPerformed(ActionEvent e) { // do nothing } }; MyJMenu b = new MyJMenu(action); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor3(TestHarness harness) { harness.checkPoint("(String)"); MyJMenu b = new MyJMenu("ABC"); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor4(TestHarness harness) { harness.checkPoint("(String, boolean)"); MyJMenu b = new MyJMenu("ABC", false); harness.check(b.updateUICalledAfterInitCalled, true); } }mauve-20140821/gnu/testlet/javax/swing/JMenu/remove.java0000644000175000001440000000373510446063351021652 0ustar dokousers/* remove.java -- FIXME: describe Copyright (C) 2006 Red Hat, Tania Bento This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.4 package gnu.testlet.javax.swing.JMenu; import javax.swing.JMenu; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class remove implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); test3(harness); } public void test1(TestHarness harness) { JMenu menu = new JMenu(); boolean fail = false; try { menu.remove(-1); } catch (IllegalArgumentException e) { fail = true; } harness.check(fail); } public void test2(TestHarness harness) { JMenu menu = new JMenu(); boolean pass = false; try { menu.remove(0); pass = true; } catch (Exception e) { // Do nothing. } harness.check(pass); } public void test3(TestHarness harness) { JMenu menu = new JMenu(); boolean fail = false; try { menu.remove(1); } catch (Exception e) { fail = true; } harness.check(fail); } } mauve-20140821/gnu/testlet/javax/swing/ScrollPaneLayout/0000755000175000001440000000000012375316426021733 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/ScrollPaneLayout/minimumLayoutSize.java0000644000175000001440000002156410367162541026306 0ustar dokousers/* minimumLayoutSize.java -- Checks the minimumLayoutSize() method Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.ScrollPaneLayout; import java.awt.Component; import java.awt.Dimension; import java.awt.Insets; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.ScrollPaneLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests the minimumLayoutSize() method in ScrollPaneLayout under different * settings. It turns out that the minimumSize is determined using the * scrollpane's insets and the minimumSizes of the horizontal and vertical * scrollbars, except when the (h/v) scrollbar policy is set to NEVER. * * @author Roman Kennke (kennke@aicas.com) */ public class minimumLayoutSize implements Testlet { /** * The entry point for the tests. * * @param harness the test harness to use */ public void test(TestHarness harness) { testHorizontalScrollbarAlways(harness); testHorizontalScrollbarAsNeeded(harness); testHorizontalScrollbarNever(harness); testVerticalScrollbarAlways(harness); testVerticalScrollbarAsNeeded(harness); testVerticalScrollbarNever(harness); } /** * Tests with HORIZONTAL_SCROLLBAR_ALWAYS. * * @param h the test harness to use */ private void testHorizontalScrollbarAlways(TestHarness h) { JScrollPane sp = new JScrollPane(); ScrollPaneLayout l = (ScrollPaneLayout) sp.getLayout(); sp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_NEVER); JPanel view = new JPanel(); view.setMinimumSize(new Dimension(100, 100)); sp.getViewport().add(view); Insets i = sp.getInsets(); Component[] c = sp.getComponents(); // Check ScrollPane size < view size. sp.setSize(50, 50); h.check(l.minimumLayoutSize(sp), new Dimension(i.left + i.right + c[0].getMinimumSize().width, i.top + i.bottom + c[0].getMinimumSize().height + c[2].getMinimumSize().height)); // Check ScrollPane size > view size. sp.setSize(150, 150); h.check(l.minimumLayoutSize(sp), new Dimension(i.left + i.right + c[0].getMinimumSize().width, i.top + i.bottom + c[0].getMinimumSize().height + c[2].getMinimumSize().height)); } /** * Tests with HORIZONTAL_SCROLLBAR_AS_NEEDED. * * @param h the test harness to use */ private void testHorizontalScrollbarAsNeeded(TestHarness h) { JScrollPane sp = new JScrollPane(); ScrollPaneLayout l = (ScrollPaneLayout) sp.getLayout(); sp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_NEVER); JPanel view = new JPanel(); view.setMinimumSize(new Dimension(100, 100)); sp.getViewport().add(view); Insets i = sp.getInsets(); Component[] c = sp.getComponents(); // Check ScrollPane size < view size. sp.setSize(50, 50); h.check(l.minimumLayoutSize(sp), new Dimension(i.left + i.right + c[0].getMinimumSize().width, i.top + i.bottom + c[0].getMinimumSize().height + c[2].getMinimumSize().height)); // Check ScrollPane size > view size. sp.setSize(150, 150); h.check(l.minimumLayoutSize(sp), new Dimension(i.left + i.right + c[0].getMinimumSize().width, i.top + i.bottom + c[0].getMinimumSize().height + c[2].getMinimumSize().height)); } /** * Tests with HORIZONTAL_SCROLLBAR_NEVER. * * @param h the test harness to use */ private void testHorizontalScrollbarNever(TestHarness h) { JScrollPane sp = new JScrollPane(); ScrollPaneLayout l = (ScrollPaneLayout) sp.getLayout(); sp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_NEVER); JPanel view = new JPanel(); view.setMinimumSize(new Dimension(100, 100)); sp.getViewport().add(view); Insets i = sp.getInsets(); Component[] c = sp.getComponents(); // Check ScrollPane size < view size. sp.setSize(50, 50); h.check(l.minimumLayoutSize(sp), new Dimension(i.left + i.right + c[0].getMinimumSize().width, i.top + i.bottom + c[0].getMinimumSize().height)); // Check ScrollPane size > view size. sp.setSize(150, 150); h.check(l.minimumLayoutSize(sp), new Dimension(i.left + i.right + c[0].getMinimumSize().width, i.top + i.bottom + c[0].getMinimumSize().height)); } /** * Tests with VERTICAL_SCROLLBAR_ALWAYS. * * @param h the test harness to use */ private void testVerticalScrollbarAlways(TestHarness h) { JScrollPane sp = new JScrollPane(); ScrollPaneLayout l = (ScrollPaneLayout) sp.getLayout(); sp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); JPanel view = new JPanel(); view.setMinimumSize(new Dimension(100, 100)); sp.getViewport().add(view); Insets i = sp.getInsets(); Component[] c = sp.getComponents(); // Check ScrollPane size < view size. sp.setSize(50, 50); h.check(l.minimumLayoutSize(sp), new Dimension(i.left + i.right + c[0].getMinimumSize().width + c[1].getMinimumSize().width, i.top + i.bottom + c[0].getMinimumSize().height)); // Check ScrollPane size > view size. sp.setSize(150, 150); h.check(l.minimumLayoutSize(sp), new Dimension(i.left + i.right + c[0].getMinimumSize().width + c[1].getMinimumSize().width, i.top + i.bottom + c[0].getMinimumSize().height)); } /** * Tests with VERTICAL_SCROLLBAR_AS_NEEDED. * * @param h the test harness to use */ private void testVerticalScrollbarAsNeeded(TestHarness h) { JScrollPane sp = new JScrollPane(); ScrollPaneLayout l = (ScrollPaneLayout) sp.getLayout(); sp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); JPanel view = new JPanel(); view.setMinimumSize(new Dimension(100, 100)); sp.getViewport().add(view); Insets i = sp.getInsets(); Component[] c = sp.getComponents(); // Check ScrollPane size < view size. sp.setSize(50, 50); h.check(l.minimumLayoutSize(sp), new Dimension(i.left + i.right + c[0].getMinimumSize().width + c[1].getMinimumSize().width, i.top + i.bottom + c[0].getMinimumSize().height)); // Check ScrollPane size > view size. sp.setSize(150, 150); h.check(l.minimumLayoutSize(sp), new Dimension(i.left + i.right + c[0].getMinimumSize().width + c[1].getMinimumSize().width, i.top + i.bottom + c[0].getMinimumSize().height)); } /** * Tests with VERTICAL_SCROLLBAR_NEVER. * * @param h the test harness to use */ private void testVerticalScrollbarNever(TestHarness h) { JScrollPane sp = new JScrollPane(); ScrollPaneLayout l = (ScrollPaneLayout) sp.getLayout(); sp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_NEVER); JPanel view = new JPanel(); sp.getViewport().add(view); view.setMinimumSize(new Dimension(100, 100)); Insets i = sp.getInsets(); Component[] c = sp.getComponents(); // Check ScrollPane size < view size. sp.setSize(50, 50); h.check(l.minimumLayoutSize(sp), new Dimension(i.left + i.right + c[0].getMinimumSize().width, i.top + i.bottom + c[0].getMinimumSize().height)); // Check ScrollPane size > view size. sp.setSize(150, 150); h.check(l.minimumLayoutSize(sp), new Dimension(i.left + i.right + c[0].getMinimumSize().width, i.top + i.bottom + c[0].getMinimumSize().height)); } } mauve-20140821/gnu/testlet/javax/swing/SpinnerNumberModel/0000755000175000001440000000000012375316426022243 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/SpinnerNumberModel/constructors.java0000644000175000001440000002124410372417214025651 0ustar dokousers/* constructors.java -- some checks for the constructors in the SpinnerNumberModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.SpinnerNumberModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.SpinnerNumberModel; /** * Some tests for the constructors in the {@link SpinnerNumberModel} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); } private void testConstructor1(TestHarness harness) { harness.checkPoint("()"); SpinnerNumberModel m = new SpinnerNumberModel(); harness.check(m.getValue(), new Integer(0)); harness.check(m.getMinimum(), null); harness.check(m.getMaximum(), null); harness.check(m.getStepSize(), new Integer(1)); } private void testConstructor2(TestHarness harness) { harness.checkPoint("(double, double, double, double)"); SpinnerNumberModel m = new SpinnerNumberModel(2.0, 1.0, 3.0, 0.5); harness.check(m.getValue(), new Double(2.0)); harness.check(m.getMinimum(), new Double(1.0)); harness.check(m.getMaximum(), new Double(3.0)); harness.check(m.getStepSize(), new Double(0.5)); // value equal to minimum m = new SpinnerNumberModel(1.0, 1.0, 3.0, 0.5); harness.check(m.getValue(), new Double(1.0)); harness.check(m.getMinimum(), new Double(1.0)); harness.check(m.getMaximum(), new Double(3.0)); harness.check(m.getStepSize(), new Double(0.5)); // value below minimum boolean pass = false; try { m = new SpinnerNumberModel(0.9, 1.0, 3.0, 0.5); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // value equal to maximum m = new SpinnerNumberModel(3.0, 1.0, 3.0, 0.5); harness.check(m.getValue(), new Double(3.0)); harness.check(m.getMinimum(), new Double(1.0)); harness.check(m.getMaximum(), new Double(3.0)); harness.check(m.getStepSize(), new Double(0.5)); // value above maximum pass = false; try { m = new SpinnerNumberModel(3.1, 1.0, 3.0, 0.5); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // step size 0 m = new SpinnerNumberModel(2.0, 1.0, 3.0, 0.0); harness.check(m.getValue(), new Double(2.0)); harness.check(m.getMinimum(), new Double(1.0)); harness.check(m.getMaximum(), new Double(3.0)); harness.check(m.getStepSize(), new Double(0.0)); // step size negative m = new SpinnerNumberModel(2.0, 1.0, 3.0, -0.5); harness.check(m.getValue(), new Double(2.0)); harness.check(m.getMinimum(), new Double(1.0)); harness.check(m.getMaximum(), new Double(3.0)); harness.check(m.getStepSize(), new Double(-0.5)); } private void testConstructor3(TestHarness harness) { harness.checkPoint("(int, int, int, int)"); SpinnerNumberModel m = new SpinnerNumberModel(20, 10, 30, 5); harness.check(m.getValue(), new Integer(20)); harness.check(m.getMinimum(), new Integer(10)); harness.check(m.getMaximum(), new Integer(30)); harness.check(m.getStepSize(), new Integer(5)); // value equal to minimum m = new SpinnerNumberModel(10, 10, 30, 5); harness.check(m.getValue(), new Integer(10)); harness.check(m.getMinimum(), new Integer(10)); harness.check(m.getMaximum(), new Integer(30)); harness.check(m.getStepSize(), new Integer(5)); // value below minimum boolean pass = false; try { m = new SpinnerNumberModel(9, 10, 30, 5); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // value equal to maximum m = new SpinnerNumberModel(30, 10, 30, 5); harness.check(m.getValue(), new Integer(30)); harness.check(m.getMinimum(), new Integer(10)); harness.check(m.getMaximum(), new Integer(30)); harness.check(m.getStepSize(), new Integer(5)); // value above maximum pass = false; try { m = new SpinnerNumberModel(31, 10, 30, 5); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // step size 0 m = new SpinnerNumberModel(20, 10, 30, 0); harness.check(m.getValue(), new Integer(20)); harness.check(m.getMinimum(), new Integer(10)); harness.check(m.getMaximum(), new Integer(30)); harness.check(m.getStepSize(), new Integer(0)); // step size negative m = new SpinnerNumberModel(20, 10, 30, -5); harness.check(m.getValue(), new Integer(20)); harness.check(m.getMinimum(), new Integer(10)); harness.check(m.getMaximum(), new Integer(30)); harness.check(m.getStepSize(), new Integer(-5)); } private void testConstructor4(TestHarness harness) { harness.checkPoint("Number, Comparable, Comparable, Number"); SpinnerNumberModel m = new SpinnerNumberModel(new Long(20), new Long(10), new Long(30), new Long(5)); harness.check(m.getValue(), new Long(20)); harness.check(m.getMinimum(), new Long(10)); harness.check(m.getMaximum(), new Long(30)); harness.check(m.getStepSize(), new Long(5)); // value equal to minimum m = new SpinnerNumberModel(new Double(1.0), new Double(1.0), new Double(3.0), new Double(0.5)); harness.check(m.getValue(), new Double(1.0)); harness.check(m.getMinimum(), new Double(1.0)); harness.check(m.getMaximum(), new Double(3.0)); harness.check(m.getStepSize(), new Double(0.5)); // value below minimum boolean pass = false; try { m = new SpinnerNumberModel(new Double(0.9), new Double(1.0), new Double(3.0), new Double(0.5)); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // value equal to maximum m = new SpinnerNumberModel(new Double(3.0), new Double(1.0), new Double(3.0), new Double(0.5)); harness.check(m.getValue(), new Double(3.0)); harness.check(m.getMinimum(), new Double(1.0)); harness.check(m.getMaximum(), new Double(3.0)); harness.check(m.getStepSize(), new Double(0.5)); // value above maximum pass = false; try { m = new SpinnerNumberModel(new Double(3.1), new Double(1.0), new Double(3.0), new Double(0.5)); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // step size 0 m = new SpinnerNumberModel(new Double(2.0), new Double(1.0), new Double(3.0), new Double(0.0)); harness.check(m.getValue(), new Double(2.0)); harness.check(m.getMinimum(), new Double(1.0)); harness.check(m.getMaximum(), new Double(3.0)); harness.check(m.getStepSize(), new Double(0.0)); // step size negative m = new SpinnerNumberModel(new Double(2.0), new Double(1.0), new Double(3.0), new Double(-0.5)); harness.check(m.getValue(), new Double(2.0)); harness.check(m.getMinimum(), new Double(1.0)); harness.check(m.getMaximum(), new Double(3.0)); harness.check(m.getStepSize(), new Double(-0.5)); // check null value pass = false; try { /*SpinnerNumberModel m =*/ new SpinnerNumberModel(null, new Long(10), new Long(30), new Long(5)); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // check null minimum // check null maximum // check null step size pass = false; try { /*SpinnerNumberModel m =*/ new SpinnerNumberModel(new Long(20), new Long(10), new Long(30), null); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/SpinnerNumberModel/setMaximum.java0000644000175000001440000000416210372417214025232 0ustar dokousers/* setMaximum.java -- some checks for the setMaximum() method in the SpinnerNumberModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.SpinnerNumberModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.SpinnerNumberModel; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class setMaximum implements Testlet, ChangeListener { private ChangeEvent event; public void stateChanged(ChangeEvent e) { this.event = e; } public void test(TestHarness harness) { SpinnerNumberModel m = new SpinnerNumberModel(2.0, 1.0, 3.0, 0.5); m.addChangeListener(this); m.setMaximum(new Double(3.7)); harness.check(m.getMaximum(), new Double(3.7)); harness.check(this.event.getSource(), m); // same value triggers no event this.event = null; m.setMaximum(new Double(3.7)); harness.check(this.event == null); // set null maximum this.event = null; m.setMaximum(null); harness.check(m.getMaximum(), null); harness.check(this.event.getSource(), m); // same null value triggers no event this.event = null; m.setMaximum(null); harness.check(this.event == null); // set maximum lower than minimum m.setMaximum(new Double(-99.0)); harness.check(m.getMaximum(), new Double(-99.0)); } } mauve-20140821/gnu/testlet/javax/swing/SpinnerNumberModel/setMinimum.java0000644000175000001440000000416110372417214025227 0ustar dokousers/* setMinimum.java -- some checks for the setMinimum() method in the SpinnerNumberModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.SpinnerNumberModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.SpinnerNumberModel; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class setMinimum implements Testlet, ChangeListener { private ChangeEvent event; public void stateChanged(ChangeEvent e) { this.event = e; } public void test(TestHarness harness) { SpinnerNumberModel m = new SpinnerNumberModel(2.0, 1.0, 3.0, 0.5); m.addChangeListener(this); m.setMinimum(new Double(0.7)); harness.check(m.getMinimum(), new Double(0.7)); harness.check(this.event.getSource(), m); // same value triggers no event this.event = null; m.setMinimum(new Double(0.7)); harness.check(this.event == null); // set null minimum this.event = null; m.setMinimum(null); harness.check(m.getMinimum(), null); harness.check(this.event.getSource(), m); // same null value triggers no event this.event = null; m.setMinimum(null); harness.check(this.event == null); // set minimum higher than maximum m.setMinimum(new Double(99.0)); harness.check(m.getMinimum(), new Double(99.0)); } } mauve-20140821/gnu/testlet/javax/swing/SpinnerNumberModel/getPreviousValue.java0000644000175000001440000000431510374603462026416 0ustar dokousers/* getPreviousValue.java -- some checks for the getPreviousValue() method in the SpinnerNumberModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.SpinnerNumberModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.SpinnerNumberModel; public class getPreviousValue implements Testlet { public void test(TestHarness harness) { SpinnerNumberModel m = new SpinnerNumberModel(2.0, 1.0, 3.0, 0.5); harness.check(m.getValue(), new Double(2.0)); harness.check(m.getPreviousValue(), new Double(1.5)); // accessing the previous value doesn't update the current value harness.check(m.getValue(), new Double(2.0)); m.setValue(new Double(1.5)); harness.check(m.getPreviousValue(), new Double(1.0)); m.setValue(new Double(1.0)); harness.check(m.getPreviousValue(), null); // repeat for model without bounds m = new SpinnerNumberModel(new Integer(0), null, null, new Integer(1)); harness.check(m.getValue(), new Integer(0)); harness.check(m.getPreviousValue(), new Integer(-1)); // accessing the next value doesn't update the current value harness.check(m.getValue(), new Integer(0)); m.setValue(new Integer(-99)); harness.check(m.getPreviousValue(), new Integer(-100)); // what happens for min integer m.setValue(new Integer(Integer.MIN_VALUE)); harness.check(m.getPreviousValue(), new Integer(Integer.MAX_VALUE)); } } mauve-20140821/gnu/testlet/javax/swing/SpinnerNumberModel/setValue.java0000644000175000001440000000452610372417214024675 0ustar dokousers/* setValue.java -- some checks for the setValue() method in the SpinnerNumberModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.SpinnerNumberModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.SpinnerNumberModel; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class setValue implements Testlet, ChangeListener { private ChangeEvent event; public void stateChanged(ChangeEvent e) { this.event = e; } public void test(TestHarness harness) { SpinnerNumberModel m = new SpinnerNumberModel(2.0, 1.0, 3.0, 0.5); m.addChangeListener(this); m.setValue(new Double(2.2)); harness.check(m.getValue(), new Double(2.2)); harness.check(this.event.getSource(), m); // same value triggers no event this.event = null; m.setValue(new Double(2.2)); harness.check(this.event == null); // set value less than minimum m.setValue(new Double(-99.0)); harness.check(m.getValue(), new Double(-99.0)); // set value greater than maximum m.setValue(new Double(99.0)); harness.check(m.getValue(), new Double(99.0)); // set null value boolean pass = false; try { m.setValue(null); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // set a non-numeric value pass = false; try { m.setValue("123"); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/SpinnerNumberModel/getNextValue.java0000644000175000001440000000425110374603462025517 0ustar dokousers/* getNextValue.java -- some checks for the getNextValue() method in the SpinnerNumberModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.SpinnerNumberModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.SpinnerNumberModel; public class getNextValue implements Testlet { public void test(TestHarness harness) { SpinnerNumberModel m = new SpinnerNumberModel(2.0, 1.0, 3.0, 0.5); harness.check(m.getValue(), new Double(2.0)); harness.check(m.getNextValue(), new Double(2.5)); // accessing the next value doesn't update the current value harness.check(m.getValue(), new Double(2.0)); m.setValue(new Double(2.5)); harness.check(m.getNextValue(), new Double(3.0)); m.setValue(new Double(3.0)); harness.check(m.getNextValue(), null); // repeat for model without bounds m = new SpinnerNumberModel(new Integer(0), null, null, new Integer(1)); harness.check(m.getValue(), new Integer(0)); harness.check(m.getNextValue(), new Integer(1)); // accessing the next value doesn't update the current value harness.check(m.getValue(), new Integer(0)); m.setValue(new Integer(99)); harness.check(m.getNextValue(), new Integer(100)); // what happens for max integer m.setValue(new Integer(Integer.MAX_VALUE)); harness.check(m.getNextValue(), new Integer(Integer.MIN_VALUE)); } } mauve-20140821/gnu/testlet/javax/swing/SpinnerNumberModel/setStepSize.java0000644000175000001440000000363710372417214025371 0ustar dokousers/* setStepSize.java -- some checks for the setStepSize() method in the SpinnerNumberModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.SpinnerNumberModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.SpinnerNumberModel; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class setStepSize implements Testlet, ChangeListener { private ChangeEvent event; public void stateChanged(ChangeEvent e) { this.event = e; } public void test(TestHarness harness) { SpinnerNumberModel m = new SpinnerNumberModel(2.0, 1.0, 3.0, 0.5); m.addChangeListener(this); m.setStepSize(new Double(0.7)); harness.check(m.getStepSize(), new Double(0.7)); harness.check(this.event.getSource(), m); // same value triggers no event this.event = null; m.setStepSize(new Double(0.7)); harness.check(this.event == null); // set null step size boolean pass = false; try { m.setStepSize(null); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/OverlayLayout/0000755000175000001440000000000012375316426021312 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/OverlayLayout/layoutContainer.java0000644000175000001440000001147210317061200025317 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke (kennke@aicas.com) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.OverlayLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.AWTError; import java.awt.Dimension; import javax.swing.JPanel; import javax.swing.OverlayLayout; /** * Tests if the method getLayoutAlignmentX of OverlayLayout works correctly. * * @author Roman Kennke (kennke@aicas.com) */ public class layoutContainer implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testWithOneChild(harness); testWithTwoChildren(harness); testWithAlignment(harness); testWrongContainer(harness); } /** * Tests this method with one child component. * * @param h the test harness to use */ void testWithOneChild(TestHarness h) { h.checkPoint("withOneChild"); JPanel c = new JPanel(); c.setBounds(0, 0, 100, 100); JPanel c1 = new JPanel(); c1.setMinimumSize(new Dimension(10, 10)); c1.setPreferredSize(new Dimension(20, 20)); c1.setMaximumSize(new Dimension(30, 30)); c.add(c1); OverlayLayout l = new OverlayLayout(c); l.layoutContainer(c); h.check(c1.getX(), 35); h.check(c1.getY(), 35); h.check(c1.getWidth(), 30); h.check(c1.getHeight(), 30); } /** * Tests this method with two child components. * * @param h the test harness to use */ void testWithTwoChildren(TestHarness h) { h.checkPoint("withTwoChildren"); JPanel c = new JPanel(); c.setBounds(0, 0, 100, 100); JPanel c1 = new JPanel(); c1.setMinimumSize(new Dimension(10, 10)); c1.setPreferredSize(new Dimension(20, 20)); c1.setMaximumSize(new Dimension(30, 30)); c.add(c1); JPanel c2 = new JPanel(); c2.setMinimumSize(new Dimension(40, 40)); c2.setPreferredSize(new Dimension(50, 50)); c2.setMaximumSize(new Dimension(60, 60)); c.add(c2); OverlayLayout l = new OverlayLayout(c); l.layoutContainer(c); h.check(c1.getX(), 35); h.check(c1.getY(), 35); h.check(c1.getWidth(), 30); h.check(c1.getHeight(), 30); h.check(c2.getX(), 20); h.check(c2.getY(), 20); h.check(c2.getWidth(), 60); h.check(c2.getHeight(), 60); } /** * Tests this method with 3 child components that have different alignment * values. * * @param h the test harness to use */ void testWithAlignment(TestHarness h) { h.checkPoint("withAlignment"); JPanel c = new JPanel(); c.setBounds(0, 0, 100, 100); JPanel c1 = new JPanel(); c1.setMinimumSize(new Dimension(10, 10)); c1.setPreferredSize(new Dimension(20, 20)); c1.setMaximumSize(new Dimension(30, 30)); c1.setAlignmentY(0.0F); c.add(c1); JPanel c2 = new JPanel(); c2.setMinimumSize(new Dimension(40, 40)); c2.setPreferredSize(new Dimension(50, 50)); c2.setMaximumSize(new Dimension(60, 60)); c2.setAlignmentY(0.5F); c.add(c2); JPanel c3 = new JPanel(); c3.setMinimumSize(new Dimension(40, 40)); c3.setPreferredSize(new Dimension(50, 50)); c3.setMaximumSize(new Dimension(60, 60)); c3.setAlignmentY(1.0F); c.add(c3); OverlayLayout l = new OverlayLayout(c); l.layoutContainer(c); h.check(c1.getX(), 35); h.check(c1.getY(), 66); h.check(c1.getWidth(), 30); h.check(c1.getHeight(), 30); h.check(c2.getX(), 20); h.check(c2.getY(), 36); h.check(c2.getWidth(), 60); h.check(c2.getHeight(), 60); h.check(c3.getX(), 20); h.check(c3.getY(), 6); h.check(c3.getWidth(), 60); h.check(c3.getHeight(), 60); } /** * Tests this method with the wrong container. * * @param h the test harness to use */ void testWrongContainer(TestHarness h) { h.checkPoint("wrongContainer"); JPanel c1 = new JPanel(); JPanel c2 = new JPanel(); OverlayLayout l = new OverlayLayout(c1); try { l.layoutContainer(c2); h.fail("getLayoutAlignmentX must throw AWTError when " + "called with wrong container."); } catch (AWTError ex) { h.check(true); } } } mauve-20140821/gnu/testlet/javax/swing/OverlayLayout/maximumLayoutSize.java0000644000175000001440000001116010317061200025637 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke (kennke@aicas.com) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.OverlayLayout; import java.awt.AWTError; import java.awt.Dimension; import javax.swing.JPanel; import javax.swing.OverlayLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests if the method maximumLayoutSize of OverlayLayout works correctly. * * @author Roman Kennke (kennke@aicas.com) */ public class maximumLayoutSize implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testWithoutChildren(harness); testWithOneChild(harness); testWithTwoChildren(harness); testWithAlignment(harness); testWrongContainer(harness); } /** * Tests this method without any child components. * * @param h the test harness to use */ void testWithoutChildren(TestHarness h) { h.checkPoint("withoutChildren"); JPanel c = new JPanel(); OverlayLayout l = new OverlayLayout(c); h.check(l.maximumLayoutSize(c).width, 0); h.check(l.maximumLayoutSize(c).height, 0); } /** * Tests this method with one child component. * * @param h the test harness to use */ void testWithOneChild(TestHarness h) { h.checkPoint("withOneChild"); JPanel c = new JPanel(); JPanel c1 = new JPanel(); c1.setMinimumSize(new Dimension(10, 10)); c1.setPreferredSize(new Dimension(20, 20)); c1.setMaximumSize(new Dimension(30, 30)); c.add(c1); OverlayLayout l = new OverlayLayout(c); h.check(l.maximumLayoutSize(c).width, 30); h.check(l.maximumLayoutSize(c).height, 30); } /** * Tests this method with two child components. * * @param h the test harness to use */ void testWithTwoChildren(TestHarness h) { h.checkPoint("withTwoChildren"); JPanel c = new JPanel(); JPanel c1 = new JPanel(); c1.setMinimumSize(new Dimension(10, 10)); c1.setPreferredSize(new Dimension(20, 20)); c1.setMaximumSize(new Dimension(30, 30)); c.add(c1); JPanel c2 = new JPanel(); c2.setMinimumSize(new Dimension(40, 40)); c2.setPreferredSize(new Dimension(50, 50)); c2.setMaximumSize(new Dimension(60, 60)); c.add(c2); OverlayLayout l = new OverlayLayout(c); h.check(l.maximumLayoutSize(c).width, 60); h.check(l.maximumLayoutSize(c).height, 60); } /** * Tests this method with 3 child components that have different alignment * values. * * @param h the test harness to use */ void testWithAlignment(TestHarness h) { h.checkPoint("withAlignment"); JPanel c = new JPanel(); JPanel c1 = new JPanel(); c1.setMinimumSize(new Dimension(10, 10)); c1.setPreferredSize(new Dimension(20, 20)); c1.setMaximumSize(new Dimension(30, 30)); c1.setAlignmentX(0.0F); c.add(c1); JPanel c2 = new JPanel(); c2.setMinimumSize(new Dimension(40, 40)); c2.setPreferredSize(new Dimension(50, 50)); c2.setMaximumSize(new Dimension(60, 60)); c2.setAlignmentX(0.5F); c.add(c2); JPanel c3 = new JPanel(); c3.setMinimumSize(new Dimension(40, 40)); c3.setPreferredSize(new Dimension(50, 50)); c3.setMaximumSize(new Dimension(60, 60)); c3.setAlignmentX(1.0F); c.add(c3); OverlayLayout l = new OverlayLayout(c); h.check(l.maximumLayoutSize(c).width, 90); h.check(l.maximumLayoutSize(c).height, 60); } /** * Tests this method with the wrong container. * * @param h the test harness to use */ void testWrongContainer(TestHarness h) { h.checkPoint("wrongContainer"); JPanel c1 = new JPanel(); JPanel c2 = new JPanel(); OverlayLayout l = new OverlayLayout(c1); try { h.check(l.maximumLayoutSize(c2).width, 30); h.fail("maximumLayoutSize must throw AWTError when " + "called with wrong container."); } catch (AWTError ex) { h.check(true); } } } mauve-20140821/gnu/testlet/javax/swing/OverlayLayout/getLayoutAlignmentY.java0000644000175000001440000001067510317061200026110 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke (kennke@aicas.com) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.OverlayLayout; import java.awt.AWTError; import java.awt.Dimension; import javax.swing.JPanel; import javax.swing.OverlayLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests if the method getLayoutAlignmentX of OverlayLayout works correctly. * * @author Roman Kennke (kennke@aicas.com) */ public class getLayoutAlignmentY implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testWithoutChildren(harness); testWithOneChild(harness); testWithTwoChildren(harness); testWithAlignment(harness); testWrongContainer(harness); } /** * Tests this method without any child components. * * @param h the test harness to use */ void testWithoutChildren(TestHarness h) { h.checkPoint("withoutChildren"); JPanel c = new JPanel(); OverlayLayout l = new OverlayLayout(c); h.check(l.getLayoutAlignmentY(c), 0.0F); } /** * Tests this method with one child component. * * @param h the test harness to use */ void testWithOneChild(TestHarness h) { h.checkPoint("withOneChild"); JPanel c = new JPanel(); JPanel c1 = new JPanel(); c1.setMinimumSize(new Dimension(10, 10)); c1.setPreferredSize(new Dimension(20, 20)); c1.setMaximumSize(new Dimension(30, 30)); c.add(c1); OverlayLayout l = new OverlayLayout(c); h.check(l.getLayoutAlignmentY(c), 0.5F); } /** * Tests this method with two child components. * * @param h the test harness to use */ void testWithTwoChildren(TestHarness h) { h.checkPoint("withTwoChildren"); JPanel c = new JPanel(); JPanel c1 = new JPanel(); c1.setMinimumSize(new Dimension(10, 10)); c1.setPreferredSize(new Dimension(20, 20)); c1.setMaximumSize(new Dimension(30, 30)); c.add(c1); JPanel c2 = new JPanel(); c2.setMinimumSize(new Dimension(40, 40)); c2.setPreferredSize(new Dimension(50, 50)); c2.setMaximumSize(new Dimension(60, 60)); c.add(c2); OverlayLayout l = new OverlayLayout(c); h.check(l.getLayoutAlignmentY(c), 0.5F); } /** * Tests this method with 3 child components that have different alignment * values. * * @param h the test harness to use */ void testWithAlignment(TestHarness h) { h.checkPoint("withAlignment"); JPanel c = new JPanel(); JPanel c1 = new JPanel(); c1.setMinimumSize(new Dimension(10, 10)); c1.setPreferredSize(new Dimension(20, 20)); c1.setMaximumSize(new Dimension(30, 30)); c1.setAlignmentY(0.0F); c.add(c1); JPanel c2 = new JPanel(); c2.setMinimumSize(new Dimension(40, 40)); c2.setPreferredSize(new Dimension(50, 50)); c2.setMaximumSize(new Dimension(60, 60)); c2.setAlignmentY(0.5F); c.add(c2); JPanel c3 = new JPanel(); c3.setMinimumSize(new Dimension(40, 40)); c3.setPreferredSize(new Dimension(50, 50)); c3.setMaximumSize(new Dimension(60, 60)); c3.setAlignmentY(1.0F); c.add(c3); OverlayLayout l = new OverlayLayout(c); h.check(l.getLayoutAlignmentY(c), 0.6666666865348816F); } /** * Tests this method with the wrong container. * * @param h the test harness to use */ void testWrongContainer(TestHarness h) { h.checkPoint("wrongContainer"); JPanel c1 = new JPanel(); JPanel c2 = new JPanel(); OverlayLayout l = new OverlayLayout(c1); try { h.check(l.getLayoutAlignmentY(c2), 0.5F); h.fail("getLayoutAlignmentX must throw AWTError when " + "called with wrong container."); } catch (AWTError ex) { h.check(true); } } } mauve-20140821/gnu/testlet/javax/swing/OverlayLayout/minimumLayoutSize.java0000644000175000001440000001111210317061200025632 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2005 Roman Kennke (kennke@aicas.com) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.OverlayLayout; import java.awt.AWTError; import java.awt.Dimension; import javax.swing.JPanel; import javax.swing.OverlayLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests if the method minimumLayoutSize of OverlayLayout works correctly. * * @author Roman Kennke (kennke@aicas.com) */ public class minimumLayoutSize implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testWithoutChildren(harness); testWithOneChild(harness); testWithTwoChildren(harness); testWithAlignment(harness); testWrongContainer(harness); } /** * Tests this method without any child components. * * @param h the test harness to use */ void testWithoutChildren(TestHarness h) { h.checkPoint("withoutChildren"); JPanel c = new JPanel(); OverlayLayout l = new OverlayLayout(c); h.check(l.minimumLayoutSize(c).width, 0); h.check(l.minimumLayoutSize(c).height, 0); } /** * Tests this method with one child component. * * @param h the test harness to use */ void testWithOneChild(TestHarness h) { h.checkPoint("withOneChild"); JPanel c = new JPanel(); JPanel c1 = new JPanel(); c1.setMinimumSize(new Dimension(10, 10)); c1.setPreferredSize(new Dimension(20, 20)); c1.setMaximumSize(new Dimension(30, 30)); c.add(c1); OverlayLayout l = new OverlayLayout(c); h.check(l.minimumLayoutSize(c).width, 10); h.check(l.minimumLayoutSize(c).height, 10); } /** * Tests this method with two child components. * * @param h the test harness to use */ void testWithTwoChildren(TestHarness h) { h.checkPoint("withTwoChildren"); JPanel c = new JPanel(); JPanel c1 = new JPanel(); c1.setMinimumSize(new Dimension(10, 10)); c1.setPreferredSize(new Dimension(20, 20)); c1.setMaximumSize(new Dimension(30, 30)); c.add(c1); JPanel c2 = new JPanel(); c2.setMinimumSize(new Dimension(40, 40)); c2.setPreferredSize(new Dimension(50, 50)); c2.setMaximumSize(new Dimension(60, 60)); c.add(c2); OverlayLayout l = new OverlayLayout(c); h.check(l.minimumLayoutSize(c).width, 40); h.check(l.minimumLayoutSize(c).height, 40); } /** * Tests this method with 3 children with differen alignment values. * * @param h the test harness to use */ void testWithAlignment(TestHarness h) { h.checkPoint("withAlignment"); JPanel c = new JPanel(); JPanel c1 = new JPanel(); c1.setMinimumSize(new Dimension(10, 10)); c1.setPreferredSize(new Dimension(20, 20)); c1.setMaximumSize(new Dimension(30, 30)); c1.setAlignmentX(0.0F); c.add(c1); JPanel c2 = new JPanel(); c2.setMinimumSize(new Dimension(40, 40)); c2.setPreferredSize(new Dimension(50, 50)); c2.setMaximumSize(new Dimension(60, 60)); c2.setAlignmentX(0.5F); c.add(c2); JPanel c3 = new JPanel(); c3.setMinimumSize(new Dimension(40, 40)); c3.setPreferredSize(new Dimension(50, 50)); c3.setMaximumSize(new Dimension(60, 60)); c3.setAlignmentX(1.0F); c.add(c3); OverlayLayout l = new OverlayLayout(c); h.check(l.minimumLayoutSize(c).width, 60); h.check(l.minimumLayoutSize(c).height, 40); } /** * Tests this method with the wrong container. * * @param h the test harness to use */ void testWrongContainer(TestHarness h) { h.checkPoint("wrongContainer"); JPanel c1 = new JPanel(); JPanel c2 = new JPanel(); OverlayLayout l = new OverlayLayout(c1); try { h.check(l.minimumLayoutSize(c2).width, 30); h.fail("minimumLayoutSize must throw AWTError when " + "called with wrong container."); } catch (AWTError ex) { h.check(true); } } } mauve-20140821/gnu/testlet/javax/swing/OverlayLayout/preferredLayoutSize.java0000644000175000001440000001116610317061200026146 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2005 Roman Kennke (kennke@aicas.com) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.OverlayLayout; import java.awt.AWTError; import java.awt.Dimension; import javax.swing.JPanel; import javax.swing.OverlayLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests if the method preferredLayoutSize of OverlayLayout works correctly. * * @author Roman Kennke (kennke@aicas.com) */ public class preferredLayoutSize implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testWithoutChildren(harness); testWithOneChild(harness); testWithTwoChildren(harness); testWithAlignment(harness); testWrongContainer(harness); } /** * Tests this method without any child components. * * @param h the test harness to use */ void testWithoutChildren(TestHarness h) { h.checkPoint("withoutChildren"); JPanel c = new JPanel(); OverlayLayout l = new OverlayLayout(c); h.check(l.preferredLayoutSize(c).width, 0); h.check(l.preferredLayoutSize(c).height, 0); } /** * Tests this method with one child component. * * @param h the test harness to use */ void testWithOneChild(TestHarness h) { h.checkPoint("withOneChildren"); JPanel c = new JPanel(); JPanel c1 = new JPanel(); c1.setMinimumSize(new Dimension(10, 10)); c1.setPreferredSize(new Dimension(20, 20)); c1.setMaximumSize(new Dimension(30, 30)); c.add(c1); OverlayLayout l = new OverlayLayout(c); h.check(l.preferredLayoutSize(c).width, 20); h.check(l.preferredLayoutSize(c).height, 20); } /** * Tests this method with two child components. * * @param h the test harness to use */ void testWithTwoChildren(TestHarness h) { h.checkPoint("withTwoChildren"); JPanel c = new JPanel(); JPanel c1 = new JPanel(); c1.setMinimumSize(new Dimension(10, 10)); c1.setPreferredSize(new Dimension(20, 20)); c1.setMaximumSize(new Dimension(30, 30)); c.add(c1); JPanel c2 = new JPanel(); c2.setMinimumSize(new Dimension(40, 40)); c2.setPreferredSize(new Dimension(50, 50)); c2.setMaximumSize(new Dimension(60, 60)); c.add(c2); OverlayLayout l = new OverlayLayout(c); h.check(l.preferredLayoutSize(c).width, 50); h.check(l.preferredLayoutSize(c).height, 50); } /** * Tests this method with 3 child components that have different alignment * values. * * @param h the test harness to use */ void testWithAlignment(TestHarness h) { h.checkPoint("withAlignment"); JPanel c = new JPanel(); JPanel c1 = new JPanel(); c1.setMinimumSize(new Dimension(10, 10)); c1.setPreferredSize(new Dimension(20, 20)); c1.setMaximumSize(new Dimension(30, 30)); c1.setAlignmentX(0.0F); c.add(c1); JPanel c2 = new JPanel(); c2.setMinimumSize(new Dimension(40, 40)); c2.setPreferredSize(new Dimension(50, 50)); c2.setMaximumSize(new Dimension(60, 60)); c2.setAlignmentX(0.5F); c.add(c2); JPanel c3 = new JPanel(); c3.setMinimumSize(new Dimension(40, 40)); c3.setPreferredSize(new Dimension(50, 50)); c3.setMaximumSize(new Dimension(60, 60)); c3.setAlignmentX(1.0F); c.add(c3); OverlayLayout l = new OverlayLayout(c); h.check(l.preferredLayoutSize(c).width, 75); h.check(l.preferredLayoutSize(c).height, 50); } /** * Tests this method with the wrong container. * * @param h the test harness to use */ void testWrongContainer(TestHarness h) { h.checkPoint("wrongContainer"); JPanel c1 = new JPanel(); JPanel c2 = new JPanel(); OverlayLayout l = new OverlayLayout(c1); try { h.check(l.preferredLayoutSize(c2).width, 30); h.fail("minimumLayoutSize must throw AWTError when " + "called with wrong container."); } catch (AWTError ex) { h.check(true); } } } mauve-20140821/gnu/testlet/javax/swing/OverlayLayout/getLayoutAlignmentX.java0000644000175000001440000001067510317061200026107 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke (kennke@aicas.com) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.OverlayLayout; import java.awt.AWTError; import java.awt.Dimension; import javax.swing.JPanel; import javax.swing.OverlayLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests if the method getLayoutAlignmentX of OverlayLayout works correctly. * * @author Roman Kennke (kennke@aicas.com) */ public class getLayoutAlignmentX implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testWithoutChildren(harness); testWithOneChild(harness); testWithTwoChildren(harness); testWithAlignment(harness); testWrongContainer(harness); } /** * Tests this method without any child components. * * @param h the test harness to use */ void testWithoutChildren(TestHarness h) { h.checkPoint("withoutChildren"); JPanel c = new JPanel(); OverlayLayout l = new OverlayLayout(c); h.check(l.getLayoutAlignmentX(c), 0.0F); } /** * Tests this method with one child component. * * @param h the test harness to use */ void testWithOneChild(TestHarness h) { h.checkPoint("withOneChild"); JPanel c = new JPanel(); JPanel c1 = new JPanel(); c1.setMinimumSize(new Dimension(10, 10)); c1.setPreferredSize(new Dimension(20, 20)); c1.setMaximumSize(new Dimension(30, 30)); c.add(c1); OverlayLayout l = new OverlayLayout(c); h.check(l.getLayoutAlignmentX(c), 0.5F); } /** * Tests this method with two child components. * * @param h the test harness to use */ void testWithTwoChildren(TestHarness h) { h.checkPoint("withTwoChildren"); JPanel c = new JPanel(); JPanel c1 = new JPanel(); c1.setMinimumSize(new Dimension(10, 10)); c1.setPreferredSize(new Dimension(20, 20)); c1.setMaximumSize(new Dimension(30, 30)); c.add(c1); JPanel c2 = new JPanel(); c2.setMinimumSize(new Dimension(40, 40)); c2.setPreferredSize(new Dimension(50, 50)); c2.setMaximumSize(new Dimension(60, 60)); c.add(c2); OverlayLayout l = new OverlayLayout(c); h.check(l.getLayoutAlignmentX(c), 0.5F); } /** * Tests this method with 3 child components that have different alignment * values. * * @param h the test harness to use */ void testWithAlignment(TestHarness h) { h.checkPoint("withAlignment"); JPanel c = new JPanel(); JPanel c1 = new JPanel(); c1.setMinimumSize(new Dimension(10, 10)); c1.setPreferredSize(new Dimension(20, 20)); c1.setMaximumSize(new Dimension(30, 30)); c1.setAlignmentX(0.0F); c.add(c1); JPanel c2 = new JPanel(); c2.setMinimumSize(new Dimension(40, 40)); c2.setPreferredSize(new Dimension(50, 50)); c2.setMaximumSize(new Dimension(60, 60)); c2.setAlignmentX(0.5F); c.add(c2); JPanel c3 = new JPanel(); c3.setMinimumSize(new Dimension(40, 40)); c3.setPreferredSize(new Dimension(50, 50)); c3.setMaximumSize(new Dimension(60, 60)); c3.setAlignmentX(1.0F); c.add(c3); OverlayLayout l = new OverlayLayout(c); h.check(l.getLayoutAlignmentX(c), 0.6666666865348816F); } /** * Tests this method with the wrong container. * * @param h the test harness to use */ void testWrongContainer(TestHarness h) { h.checkPoint("wrongContainer"); JPanel c1 = new JPanel(); JPanel c2 = new JPanel(); OverlayLayout l = new OverlayLayout(c1); try { h.check(l.getLayoutAlignmentX(c2), 0.5F); h.fail("getLayoutAlignmentX must throw AWTError when " + "called with wrong container."); } catch (AWTError ex) { h.check(true); } } } mauve-20140821/gnu/testlet/javax/swing/JSplitPane/0000755000175000001440000000000012375316426020504 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JSplitPane/setResizeWeight.java0000644000175000001440000000426610436422425024475 0ustar dokousers/* setResizeWeight.java -- Checks for the setResizeWeight() method in the JSplitPane class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JSplitPane; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.JSplitPane; public class setResizeWeight implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent event) { events.add(event); } public void test(TestHarness harness) { JSplitPane s = new JSplitPane(); s.addPropertyChangeListener(this); s.setResizeWeight(0.33); harness.check(s.getResizeWeight(), 0.33); harness.check(events.size(), 1); PropertyChangeEvent pce = (PropertyChangeEvent) events.get(0); harness.check(pce.getPropertyName(), "resizeWeight"); harness.check(pce.getSource(), s); harness.check(pce.getOldValue(), new Double(0.0)); harness.check(pce.getNewValue(), new Double(0.33)); // check that setting the same value does not generate an event events.clear(); s.setResizeWeight(0.33); harness.check(events.size(), 0); // try a bad value boolean pass = false; try { s.setResizeWeight(-0.33); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JSplitPane/Constructor.java0000644000175000001440000001030310336722373023666 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2005 Red Hat. //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JSplitPane; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.JSplitPane; import javax.swing.JScrollPane; import javax.swing.JButton; /** * This tests whether the constructors for JSplitPane assign * the correct Components as leftComponent and rightComponent * when dealing with null arguments. */ public class Constructor implements Testlet { public void test(TestHarness harness) { JSplitPane pane = new JSplitPane(); harness.checkPoint ("demo constructor"); harness.check(pane.getLeftComponent().getClass() == JButton.class); harness.check(pane.getRightComponent().getClass() == JButton.class); harness.checkPoint ("constructor with only orientation"); pane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT); harness.check(pane.getLeftComponent() == null); harness.check(pane.getRightComponent() == null); pane = new JSplitPane(JSplitPane.VERTICAL_SPLIT); harness.check(pane.getLeftComponent() == null); harness.check(pane.getRightComponent() == null); harness.checkPoint ("constructor with orientation and layout"); pane = new JSplitPane (JSplitPane.VERTICAL_SPLIT, false); harness.check(pane.getLeftComponent() == null); harness.check(pane.getRightComponent() == null); pane = new JSplitPane (JSplitPane.VERTICAL_SPLIT, true); harness.check(pane.getLeftComponent() == null); harness.check(pane.getRightComponent() == null); pane = new JSplitPane (JSplitPane.HORIZONTAL_SPLIT, true); harness.check(pane.getLeftComponent() == null); harness.check(pane.getRightComponent() == null); pane = new JSplitPane (JSplitPane.HORIZONTAL_SPLIT, false); harness.check(pane.getLeftComponent() == null); harness.check(pane.getRightComponent() == null); harness.checkPoint ("constructor with orientation and 2 components"); pane = new JSplitPane (JSplitPane.VERTICAL_SPLIT, null, null); harness.check(pane.getLeftComponent() == null); harness.check(pane.getRightComponent() == null); pane = new JSplitPane (JSplitPane.HORIZONTAL_SPLIT, null, null); harness.check(pane.getLeftComponent() == null); harness.check(pane.getRightComponent() == null); harness.checkPoint ("most general constructor"); pane = new JSplitPane (JSplitPane.HORIZONTAL_SPLIT, false, null, null); harness.check(pane.getLeftComponent() == null); harness.check(pane.getRightComponent() == null); pane = new JSplitPane (JSplitPane.HORIZONTAL_SPLIT, true, null, null); harness.check(pane.getLeftComponent() == null); harness.check(pane.getRightComponent() == null); pane = new JSplitPane (JSplitPane.VERTICAL_SPLIT, false, null, null); harness.check(pane.getLeftComponent() == null); harness.check(pane.getRightComponent() == null); pane = new JSplitPane (JSplitPane.VERTICAL_SPLIT, true, null, null); harness.check(pane.getLeftComponent() == null); harness.check(pane.getRightComponent() == null); } } mauve-20140821/gnu/testlet/javax/swing/JSplitPane/getDividerLocation.java0000644000175000001440000000345510512450063025120 0ustar dokousers/* getDividerLocation.java -- Checks JSplitPane.getDividerLocation() Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JSplitPane; import javax.swing.JSplitPane; import javax.swing.plaf.basic.BasicSplitPaneUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Checks JSplitPane.getDividerLocation(). */ public class getDividerLocation implements Testlet { /** * Overrides BasicSplitPaneUI.getDividerLocation() for testing. */ private class TestSplitPaneUI extends BasicSplitPaneUI { public int getDividerLocation(JSplitPane sp) { return 9876; } } /** * Entry point into the test. */ public void test(TestHarness harness) { testCallUI(harness); } /** * Checks that getDividerLocation() does _not_ call into the UI, and * rather manages its property itself. * * @param h the test harness */ private void testCallUI(TestHarness h) { JSplitPane sp = new JSplitPane(); sp.setDividerLocation(1234); sp.setUI(new TestSplitPaneUI()); h.check(sp.getDividerLocation(), 1234); } } mauve-20140821/gnu/testlet/javax/swing/JSplitPane/MyJSplitPane.java0000644000175000001440000000211410436422425023655 0ustar dokousers/* MyJSplitPane.java -- provides access to protected methods. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.javax.swing.JSplitPane; import javax.swing.JSplitPane; public class MyJSplitPane extends JSplitPane { public MyJSplitPane() { super(); } public String paramString() { return super.paramString(); } } mauve-20140821/gnu/testlet/javax/swing/JSplitPane/setComponent.java0000644000175000001440000000411210336722373024020 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2005 Red Hat. //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JSplitPane; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.JSplitPane; import javax.swing.JScrollPane; import javax.swing.JButton; /** * This tests whether the setLeftComponent and setRightComponent methods * for JSplitPane work properly. */ public class setComponent implements Testlet { public void test(TestHarness harness) { JSplitPane pane = new JSplitPane(); JScrollPane scroll = new JScrollPane(); JButton button = new JButton(); harness.checkPoint ("set left"); // try setting to null pane.setLeftComponent(null); harness.check (pane.getLeftComponent() == null); // now set it to a real component pane.setLeftComponent(scroll); harness.check (pane.getLeftComponent() == scroll); // now try setting it to null again pane.setLeftComponent (null); harness.check (pane.getLeftComponent() == null); harness.checkPoint ("set right"); pane.setRightComponent(null); harness.check (pane.getRightComponent() == null); pane.setRightComponent(button); harness.check(pane.getRightComponent() == button); pane.setRightComponent(null); harness.check(pane.getRightComponent() == null); } } mauve-20140821/gnu/testlet/javax/swing/JSplitPane/getActionMap.java0000644000175000001440000000326210450457333023720 0ustar dokousers/* getActionMap.java -- some checks for the getActionMap() method in the JSplitPane class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 package gnu.testlet.javax.swing.JSplitPane; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.ActionMap; import javax.swing.JSplitPane; public class getActionMap implements Testlet { public void test(TestHarness harness) { JSplitPane sp = new JSplitPane(); ActionMap m = sp.getActionMap(); harness.check(m.keys(), null); ActionMap mp = m.getParent(); harness.check(mp.get("negativeIncrement") != null); harness.check(mp.get("positiveIncrement") != null); harness.check(mp.get("selectMin") != null); harness.check(mp.get("selectMax") != null); harness.check(mp.get("startResize") != null); harness.check(mp.get("toggleFocus") != null); harness.check(mp.get("focusOutForward") != null); harness.check(mp.get("focusOutBackward") != null); } } mauve-20140821/gnu/testlet/javax/swing/JSplitPane/paramString.java0000644000175000001440000000302011015022007023604 0ustar dokousers/* paramString.java -- Checks for the paramString() method in the JSplitPane class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 // Uses: MyJSplitPane package gnu.testlet.javax.swing.JSplitPane; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSplitPane; public class paramString implements Testlet { public void test(TestHarness harness) { MyJSplitPane s = new MyJSplitPane(); harness.check(s.paramString().endsWith(",continuousLayout=false,dividerSize=10,lastDividerLocation=0,oneTouchExpandable=false,orientation=HORIZONTAL_SPLIT")); s.setOrientation(JSplitPane.VERTICAL_SPLIT); harness.check(s.paramString().endsWith(",continuousLayout=false,dividerSize=10,lastDividerLocation=0,oneTouchExpandable=false,orientation=VERTICAL_SPLIT")); } } mauve-20140821/gnu/testlet/javax/swing/JSplitPane/getInputMap.java0000644000175000001440000000554410441520121023571 0ustar dokousers/* getInputMap.java -- some checks for the getInputMap() method in the JSplitPane class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 package gnu.testlet.javax.swing.JSplitPane; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.InputMap; import javax.swing.JComponent; import javax.swing.JSplitPane; import javax.swing.KeyStroke; public class getInputMap implements Testlet { public void test(TestHarness harness) { JSplitPane sp = new JSplitPane(); InputMap m1 = sp.getInputMap(JComponent.WHEN_FOCUSED); harness.check(m1.keys(), null); harness.check(m1.getParent(), null); InputMap m2 = sp.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); harness.check(m2.keys(), null); InputMap m2p = m2.getParent(); harness.check(m2p.get(KeyStroke.getKeyStroke("shift ctrl pressed TAB")), "focusOutBackward"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed KP_RIGHT")), "positiveIncrement"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed DOWN")), "positiveIncrement"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed KP_LEFT")), "negativeIncrement"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed RIGHT")), "positiveIncrement"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed KP_DOWN")), "positiveIncrement"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed UP")), "negativeIncrement"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed KP_UP")), "negativeIncrement"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed F8")), "startResize"); harness.check(m2p.get(KeyStroke.getKeyStroke("ctrl pressed TAB")), "focusOutForward"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed LEFT")), "negativeIncrement"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed HOME")), "selectMin"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed F6")), "toggleFocus"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed END")), "selectMax"); InputMap m3 = sp.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW); harness.check(m3.keys(), null); harness.check(m3.getParent(), null); } } mauve-20140821/gnu/testlet/javax/swing/JTextArea/0000755000175000001440000000000012375316426020322 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JTextArea/gettingText.java0000644000175000001440000000653710210133516023465 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JTextArea; import javax.swing.JTextArea; import javax.swing.text.BadLocationException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Test if the carret mark is always less or equal to the carret dot. * Should not require GUI to run. * @author Audrius Meskauskas (AudriusA@Bluewin.ch) */ public class gettingText implements Testlet { public void test(TestHarness harness) { String content = "abcdefghijklmnopqrstuvwxyz"; JTextArea area = new JTextArea(content); int l = content.length(); int mark; int dot; test: for (int a = 0; a < l; a++) for (int b = 0; b < l; b++) { area.setSelectionStart(a); area.setSelectionEnd(b); mark = area.getCaret().getMark(); dot = area.getCaret().getDot(); if (mark > dot) { harness.fail("mark, " + mark + " > dot, " + dot + " when setting [" + a + ".." + b + "]" ); break test; } } String s; testSt: for (int a = 0; a < l; a++) for (int b = a + 1; b < l; b++) { s = content.substring(a, b); try { area.setSelectionStart(a); area.setSelectionEnd(b); if (!area.getSelectedText().equals(s)) { harness.check(area.getText(a, b), s, "getSelectedText [" + a + "," + b + "]" ); break testSt; } area.select(1,2); area.select(a, b); if (!area.getSelectedText().equals(s)) { harness.check(area.getSelectedText(), s, "getSelectedText select[" + a + "," + b + "]" ); break testSt; } if (!area.getText(a, b-a).equals(s)) { harness.check(area.getText(a, b-a), s, "getText [" + a + "," + (b-a) + "]"); } } catch (BadLocationException ex) { harness.fail("BadLocationException in getSelectedText [" + a + "," + b + "]" ); } } // test moveCaretPosition area.setSelectionStart(5); area.moveCaretPosition(0); harness.check(area.getSelectedText(), "abcde", "moveCaretPositio()"); } } mauve-20140821/gnu/testlet/javax/swing/JTextArea/text.java0000644000175000001440000000361510210133516022135 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JTextArea; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JTextArea; /** * The basic text access functions that must also work when the * component is not displayed. *

    @author Audrius Meskauskas (AudriusA@Bluewin.ch) */ public class text implements Testlet { public void test(TestHarness harness) { JTextArea t1 = new JTextArea(); t1.append("{a\nb\nc}"); harness.check(t1.getLineCount(), 3, "getLineCount"); harness.check(t1.getText(), "{a\nb\nc}", "simple getText"); t1.setText("0123456789"); t1.setSelectionStart(2); t1.setSelectionEnd(5); harness.check(t1.getSelectedText(),"234","getSelectedText"); t1.replaceRange("replacement", 3, 5); harness.check(t1.getText(),"012replacement56789","replacement"); t1.insert("insertion", 1); harness.check(t1.getText(),"0insertion12replacement56789","insertion"); t1.setSelectionStart(0); t1.setSelectionEnd(1); t1.replaceSelection("selection"); harness.check(t1.getText(),"selectioninsertion12replacement56789", "insertion"); } } mauve-20140821/gnu/testlet/javax/swing/JTextArea/preferredSize.java0000644000175000001440000000476511633407131024000 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2005 Red Hat //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, //Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JTextArea; import javax.swing.JTextArea; import javax.swing.text.View; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class preferredSize implements Testlet { public static String markup = "Questions are a burden to others,\n" + "answers a prison for oneself."; public static JTextArea ta2 = new JTextArea(markup); public void test(TestHarness harness) { View view = ta2.getUI().getRootView(ta2); try { harness.check (view.getPreferredSpan(View.HORIZONTAL) > view.getPreferredSpan(View.VERTICAL)); ta2.setText(""); harness.check (ta2.getPreferredSize().width == 0); harness.check (view.getPreferredSpan(View.HORIZONTAL) == 0); ta2.setText("\n\n\n\n\n\n\n\n\n"); harness.check (ta2.getPreferredSize().width == 0); harness.check (view.getPreferredSpan(View.HORIZONTAL) == 0); ta2.setLineWrap(true); ta2.setWrapStyleWord(true); harness.check (ta2.getPreferredSize().width == 0); harness.check (view.getPreferredSpan(View.HORIZONTAL) == 0); ta2.setText(""); harness.check (ta2.getPreferredSize().width == 0); harness.check (view.getPreferredSpan(View.HORIZONTAL) == 0); ta2.setText("\n\n\n\n\n\n\n\n\n"); harness.check (ta2.getPreferredSize().width == 0); harness.check (view.getPreferredSpan(View.HORIZONTAL) == 0); } catch (Exception e) { // There shouldn't be an exception thrown. At the time of writing of // this test case, GNU Classpath 0.19 + CVS does fall into this block. harness.debug(e); } } } mauve-20140821/gnu/testlet/javax/swing/JTextArea/isValidChecks.java0000644000175000001440000000443710316324227023700 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2005 Red Hat //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JTextArea; import java.awt.Robot; import java.awt.AWTException; import javax.swing.JFrame; import javax.swing.JTextArea; import javax.swing.JScrollPane; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class isValidChecks implements Testlet { public void test(TestHarness harness) { JFrame jf = new JFrame(); JTextArea area = new JTextArea(20, 45); JScrollPane scrollpane = new JScrollPane(area); Robot r = null; try { r = new Robot(); } catch (AWTException e) { harness.fail("caught AWTException: "+e.getMessage()); } jf.setContentPane(scrollpane); for (int i=0; i<80; i++) { area.append("line#" + i + "\n"); }; r.waitForIdle(); jf.pack(); r.waitForIdle(); harness.checkPoint("append checks"); area.append(""); r.waitForIdle(); harness.check(area.isValid(), true); area.append("lineNEw\n"); r.waitForIdle(); harness.check(area.isValid(), false); area.validate(); harness.checkPoint("setRows checks"); area.setRows(area.getRows()); r.waitForIdle(); harness.check(area.isValid(), true); area.setRows(area.getRows()+1); r.waitForIdle(); harness.check(area.isValid(), false); area.validate(); harness.checkPoint("setColumns checks"); area.setColumns(area.getColumns()); r.waitForIdle(); harness.check(area.isValid(), true); area.setColumns(area.getColumns()+1); r.waitForIdle(); harness.check(area.isValid(), false); } } mauve-20140821/gnu/testlet/javax/swing/ToolTipManager/0000755000175000001440000000000012375316426021360 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/ToolTipManager/DynamicToolTipTest.java0000644000175000001440000000430310514157123025750 0ustar dokousers/* DynamicToolTipTest.java -- Tests dynamically updated tooltips Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.ToolTipManager; import java.awt.Component; import java.awt.Dimension; import java.awt.event.MouseEvent; import javax.swing.JPanel; import javax.swing.ToolTipManager; import gnu.testlet.VisualTestlet; /** * Tests if dynamic tooltips {@link JComponent.getToolTipText(MouseEvent)} * work correctly. * * This is a regression test for bug: * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27957 */ public class DynamicToolTipTest extends VisualTestlet { public String getInstructions() { return "Move the mouse pointer over the empty panel. Wait for 1-2 seconds" + " until the tooltip appears. Moving the mouse should update " + "the tooltip text with the current mouse coordinates."; } public String getExpectedResults() { return "A tooltip should appear after 1-2 seconds. When the mouse is moved" + " further, the tooltip text is updated with the mouse coordinates" + " and the tooltip location follows the mouse pointer"; } public Component getTestComponent() { JPanel p = new JPanel() { public Dimension getPreferredSize() { return new Dimension(200, 200); } public String getToolTipText(MouseEvent ev) { return "" + ev.getX() + ", " + ev.getY(); } }; ToolTipManager.sharedInstance().registerComponent(p); return p; } } mauve-20140821/gnu/testlet/javax/swing/ToolTipManager/setDismissDelay.java0000644000175000001440000000310310454361357025325 0ustar dokousers/* setDismissDelay.java -- some checks for the setDismissDelay() method in the ToolTipManager class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.ToolTipManager; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.ToolTipManager; public class setDismissDelay implements Testlet { public void test(TestHarness harness) { ToolTipManager m = ToolTipManager.sharedInstance(); m.setDismissDelay(123); harness.check(m.getDismissDelay(), 123); // try zero m.setDismissDelay(0); harness.check(m.getDismissDelay(), 0); // try negative boolean pass = false; try { m.setDismissDelay(-1); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/ToolTipManager/setInitialDelay.java0000644000175000001440000000310310454361357025303 0ustar dokousers/* setInitialDelay.java -- some checks for the setInitialDelay() method in the ToolTipManager class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.ToolTipManager; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.ToolTipManager; public class setInitialDelay implements Testlet { public void test(TestHarness harness) { ToolTipManager m = ToolTipManager.sharedInstance(); m.setInitialDelay(123); harness.check(m.getInitialDelay(), 123); // try zero m.setInitialDelay(0); harness.check(m.getInitialDelay(), 0); // try negative boolean pass = false; try { m.setInitialDelay(-1); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/ToolTipManager/setReshowDelay.java0000644000175000001440000000320610454361357025165 0ustar dokousers/* setReshowDelay.java -- some checks for the setReshowDelay() method in the ToolTipManager class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.ToolTipManager; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.ToolTipManager; public class setReshowDelay implements Testlet { public void test(TestHarness harness) { ToolTipManager m = ToolTipManager.sharedInstance(); m.setInitialDelay(20); m.setReshowDelay(123); harness.check(m.getReshowDelay(), 123); harness.check(m.getInitialDelay(), 20); // try zero m.setReshowDelay(0); harness.check(m.getReshowDelay(), 0); // try negative boolean pass = false; try { m.setReshowDelay(-1); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JTree/0000755000175000001440000000000012375316426017504 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JTree/isRowSelected.java0000644000175000001440000000742210512276133023117 0ustar dokousers/* isRowSelected.java -- Tests JTree.isRowSelected() Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JTree; import javax.swing.JTree; import javax.swing.tree.DefaultTreeSelectionModel; import javax.swing.tree.TreePath; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests JTree.isRowSelected(). */ public class isRowSelected implements Testlet { /** * Indicates if JTree.getRowForPath() is called during a test. */ boolean getPathForRowCalled; /** * Indicates if JTree.isPathSelected() is called during a test. */ boolean isPathSelectedCalled; /** * Indicates if a tree's selection model isRowSelected() is called * during a test. */ boolean modelIsRowSelectedCalled; /** * A subclass of JTree for testing. */ private class TestTree extends JTree { public TestTree(Object[] data) { super(data); } public TreePath getPathForRow(int r) { getPathForRowCalled = true; return super.getPathForRow(r); } public boolean isPathSelected(TreePath p) { isPathSelectedCalled = true; return super.isPathSelected(p); } } /** * A subclass of DefaultTreeSelectionModel for testing. */ private class TestTreeSelectionModel extends DefaultTreeSelectionModel { public boolean isRowSelected(int r) { modelIsRowSelectedCalled = true; return super.isRowSelected(r); } } /** * Entry point into test suite. */ public void test(TestHarness harness) { testCallGetPathForRow(harness); testCallIsPathSelected(harness); testCallModelIsRowSelected(harness); } /** * Tests if isRowSelected should call JTree.getRowForPath(), or if it * should leave the row->path mapping to the selection model. * * @param h the test harness */ private void testCallGetPathForRow(TestHarness h) { h.checkPoint("testCallGetPathForRow"); Object[] data = new Object[]{ "Hello", "World" }; TestTree t = new TestTree(data); getPathForRowCalled = false; t.isRowSelected(0); h.check(getPathForRowCalled, false); } /** * Tests if isRowSelected should call JTree.isPathSelected, or if it * should leave the row->path mapping to the selection model. * * @param h the test harness */ private void testCallIsPathSelected(TestHarness h) { h.checkPoint("testCallIsPathSelected"); Object[] data = new Object[]{ "Hello", "World" }; TestTree t = new TestTree(data); isPathSelectedCalled = false; t.isRowSelected(0); h.check(isPathSelectedCalled, false); } /** * Tests if JTree.isRowSelected() should call the model's isRowSelected() * method. * * @param h the test harness */ private void testCallModelIsRowSelected(TestHarness h) { h.checkPoint("testCallGetRowForPath"); Object[] data = new Object[]{ "Hello", "World" }; TestTree t = new TestTree(data); t.setSelectionModel(new TestTreeSelectionModel()); modelIsRowSelectedCalled = false; t.isRowSelected(0); h.check(modelIsRowSelectedCalled, true); } } mauve-20140821/gnu/testlet/javax/swing/JTree/getCellRenderer.java0000644000175000001440000000270110463652152023410 0ustar dokousers/* getCellRenderer.java -- Tests getCellRenderer in JTree Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JTree; import javax.swing.JTree; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests JTree.getCellRenderer(). * * @author Roman Kennke (kennke@aicas.com) */ public class getCellRenderer implements Testlet { public void test(TestHarness harness) { testDefault(harness); } /** * Checks that the cell renderer of a plain JTree must not be null. The * cell renderer is set up by the UI at creation time. * * @param h the test harness */ private void testDefault(TestHarness h) { JTree t = new JTree(); h.check(t.getCellRenderer() != null); } } mauve-20140821/gnu/testlet/javax/swing/JTree/setModel.java0000644000175000001440000000336510272176057022130 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JTree; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JTree; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeModel; /** * Some checks for the setModel() method in the {@link JTree} class. */ public class setModel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("setModel(TreeModel)"); DefaultTreeModel m1 = new DefaultTreeModel(new DefaultMutableTreeNode()); JTree t = new JTree(m1); harness.check(t.getModel(), m1); DefaultTreeModel m2 = new DefaultTreeModel(new DefaultMutableTreeNode()); t.setModel(m2); harness.check(t.getModel(), m2); // try a null argument - this is allowed (e.g. JUnit UI) t.setModel(null); harness.check(t.getModel(), null); } } mauve-20140821/gnu/testlet/javax/swing/JTree/TreeRobot.java0000644000175000001440000002106010452523463022246 0ustar dokousers/* TreeRobot.java -- JTree test Copyright (C) 2006 Audrius Meskauskas This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 GUI package gnu.testlet.javax.swing.JTree; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.org.omg.CORBA.Asserter; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; import java.util.BitSet; import java.util.Random; import java.util.TreeSet; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JTable; import javax.swing.JTree; import javax.swing.SwingUtilities; import javax.swing.table.DefaultTableModel; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeModel; import javax.swing.tree.TreePath; /** * The AWT robot based test for JTree. */ public class TreeRobot extends Asserter implements Testlet { /** * The tree being tested. */ JTree tree = new JTree(); JFrame frame; Robot r; static Random ran = new Random(); DefaultMutableTreeNode root = new DefaultMutableTreeNode("root"); DefaultMutableTreeNode a = new DefaultMutableTreeNode("a"); DefaultMutableTreeNode b = new DefaultMutableTreeNode("b"); DefaultMutableTreeNode c = new DefaultMutableTreeNode("c"); DefaultMutableTreeNode aa = new DefaultMutableTreeNode("aa"); DefaultMutableTreeNode ab = new DefaultMutableTreeNode("ab"); DefaultMutableTreeNode aaa = new DefaultMutableTreeNode("aaa"); DefaultMutableTreeNode aab = new DefaultMutableTreeNode("aab"); DefaultMutableTreeNode aac = new DefaultMutableTreeNode("aac"); DefaultMutableTreeNode ba = new DefaultMutableTreeNode("ba"); DefaultMutableTreeNode ca = new DefaultMutableTreeNode("ca"); protected void setUp() throws Exception { frame = new JFrame(); frame.getContentPane().add(tree); frame.setSize(400, 400); frame.setVisible(true); root.add(a); root.add(b); root.add(c); a.add(aa); a.add(ab); b.add(ba); c.add(ca); aa.add(aaa); aa.add(aab); aa.add(aac); DefaultTreeModel model = new DefaultTreeModel(root); tree.setModel(model); tree.setEditable(true); r = new Robot(); r.setAutoDelay(50); r.delay(500); } protected void tearDown() throws Exception { frame.dispose(); } /** * Click the mouse on center of the given component. */ public void click(JComponent c, int x, int y) { Point p = new Point(); p.x = x; p.y = y; SwingUtilities.convertPointToScreen(p, c); r.mouseMove(p.x, p.y); r.mousePress(InputEvent.BUTTON1_MASK); r.mouseRelease(InputEvent.BUTTON1_MASK); } /** * Click the given main databas view cell. * * @param row * the row * @param column * the column */ public void clickPath(JTree tree, TreePath path) { Rectangle rect = tree.getPathBounds(path); Point p = new Point(rect.x + rect.width / 2, rect.y + rect.height / 2); SwingUtilities.convertPointToScreen(p, tree); r.mouseMove(p.x, p.y); r.mousePress(InputEvent.BUTTON1_MASK); r.delay(50); r.mouseRelease(InputEvent.BUTTON1_MASK); r.delay(50); } public void typeDigit(char character) { int code = KeyEvent.VK_0 + (character - '0'); r.keyPress(code); r.keyRelease(code); } public void type(int code) { r.keyPress(code); r.keyRelease(code); } public void testTree() throws Exception { // Test editing session on a root node, initiated with F2. assertEquals("Value before F2 editing", root.getUserObject(), "root"); TreePath rootPath = tree.getPathForRow(0); clickPath(tree, rootPath); type(KeyEvent.VK_F2); type(KeyEvent.VK_END); typeDigit('0'); type(KeyEvent.VK_ENTER); assertEquals("Value after F2 editing", root.getUserObject(), "root0"); // Test editing session, initiated with the click-pause- click. clickPath(tree, rootPath); r.delay(1000); clickPath(tree, rootPath); r.delay(1000); type(KeyEvent.VK_END); typeDigit('1'); type(KeyEvent.VK_ENTER); assertEquals("Value after click-pause-click", root.getUserObject(), "root01"); tree.setRootVisible(true); testNavigation(); } public void testNavigation() throws Exception { // Test navigation with cursor keys: type(KeyEvent.VK_DOWN); assertEquals("navigation down 1", getFocus(), "a"); type(KeyEvent.VK_DOWN); assertEquals("navigation down 2", getFocus(), "b"); type(KeyEvent.VK_DOWN); assertEquals("navigation down 3", getFocus(), "c"); type(KeyEvent.VK_UP); assertEquals("navigation up 1", getFocus(), "b"); type(KeyEvent.VK_UP); assertEquals("navigation up 2", getFocus(), "a"); // Expand the node a type(KeyEvent.VK_RIGHT); assertEquals("expansion", getFocus(), "a"); type(KeyEvent.VK_DOWN); assertEquals("navigation down after expansion 1", getFocus(), "aa"); type(KeyEvent.VK_DOWN); assertEquals("navigation down after expansion 2", getFocus(), "ab"); type(KeyEvent.VK_DOWN); assertEquals("navigation down after expansion 3", getFocus(), "b"); type(KeyEvent.VK_UP); assertEquals("navigation up after expansion 1", getFocus(), "ab"); type(KeyEvent.VK_UP); assertEquals("navigation up after expansion 2", getFocus(), "aa"); type(KeyEvent.VK_RIGHT); assertEquals("expansion 2", getFocus(), "aa"); type(KeyEvent.VK_DOWN); assertEquals("navigation down after expansion 1", getFocus(), "aaa"); type(KeyEvent.VK_DOWN); assertEquals("navigation down after expansion 2", getFocus(), "aab"); type(KeyEvent.VK_DOWN); assertEquals("navigation down after expansion 3", getFocus(), "aac"); type(KeyEvent.VK_DOWN); assertEquals("navigation up after expansion 1", getFocus(), "ab"); type(KeyEvent.VK_DOWN); assertEquals("navigation up after expansion 2", getFocus(), "b"); type(KeyEvent.VK_UP); type(KeyEvent.VK_UP); type(KeyEvent.VK_LEFT); assertEquals("navigation 1", getFocus(), "aa"); type(KeyEvent.VK_LEFT); assertEquals("navigation 1", getFocus(), "aa"); type(KeyEvent.VK_DOWN); assertEquals("navigation down after expansion 2", getFocus(), "ab"); type(KeyEvent.VK_DOWN); assertEquals("navigation down after expansion 3", getFocus(), "b"); // Try to expand the path with mouse TreePath bPath = tree.getSelectionPath(); assertTrue("b path must be collapsed", !tree.isExpanded(bPath)); Rectangle bounds = tree.getPathBounds(bPath); // It must be a metal tree icon, size about 18*18 click(tree, bounds.x-9, bounds.y+9); r.delay(200); assertTrue("b path must be expanded", tree.isExpanded(bPath)); // Navigate down, must be "ba": type(KeyEvent.VK_DOWN); assertEquals("navigation down after expansion 4", getFocus(), "ba"); type(KeyEvent.VK_UP); // Click again to collapse: // It must be a metal tree icon, size about 18*18 click(tree, bounds.x-9, bounds.y+9); r.delay(200); // Navigate down, must be "c": type(KeyEvent.VK_DOWN); assertEquals("navigation down after expansion 5", getFocus(), "c"); // Cleanup for the subsequent round of the test: tree.setSelectionRow(0); // Collapse the currently expanded node a. type(KeyEvent.VK_LEFT); } public Object getFocus() { return ((DefaultMutableTreeNode) tree.getSelectionPath().getLastPathComponent()).getUserObject(); } public void test(TestHarness harness) { try { h = harness; setUp(); try { testTree(); } finally { tearDown(); } } catch (Exception e) { e.printStackTrace(); h.fail("Exception: " + e); } } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/0000755000175000001440000000000012375316426021007 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JFileChooser/constructors.java0000644000175000001440000001245110323226736024420 0ustar dokousers// Tags: JDK1.2 // Uses: MyFileSystemView // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.File; import javax.swing.JFileChooser; import javax.swing.filechooser.FileSystemView; /** * Some checks for the constructors of the {@link JFileChooser} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); testConstructor6(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("()"); JFileChooser fc = new JFileChooser(); harness.check(fc.getCurrentDirectory(), new File(System.getProperty("user.home"))); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(File)"); File f = new File(System.getProperty("user.home")); JFileChooser fc = new JFileChooser(f); harness.check(fc.getCurrentDirectory(), f); harness.check(fc.getSelectedFile(), null); // null is OK and defaults to home directory fc = new JFileChooser((File) null); harness.check(fc.getCurrentDirectory(), f); harness.check(fc.getSelectedFile(), null); } public void testConstructor3(TestHarness harness) { harness.checkPoint("(File, FileSystemView)"); FileSystemView fsv = new MyFileSystemView(); File f = new File(System.getProperty("user.home")); JFileChooser fc = new JFileChooser(f, fsv); harness.check(fc.getCurrentDirectory(), f); harness.check(fc.getSelectedFile(), null); harness.check(fc.getFileSystemView(), fsv); // null file is OK and defaults to home directory fc = new JFileChooser((File) null, fsv); harness.check(fc.getCurrentDirectory(), f); harness.check(fc.getSelectedFile(), null); harness.check(fc.getFileSystemView(), fsv); // null FileSystemView reverts to default fc = new JFileChooser(f, null); harness.check(fc.getCurrentDirectory(), f); harness.check(fc.getSelectedFile(), null); harness.check(fc.getFileSystemView(), FileSystemView.getFileSystemView()); } public void testConstructor4(TestHarness harness) { harness.checkPoint("(FileSystemView)"); FileSystemView fsv = new MyFileSystemView(); File f = new File(System.getProperty("user.home")); JFileChooser fc = new JFileChooser(fsv); harness.check(fc.getCurrentDirectory(), f); harness.check(fc.getSelectedFile(), null); harness.check(fc.getFileSystemView(), fsv); // null FileSystemView reverts to default fc = new JFileChooser((FileSystemView) null); harness.check(fc.getCurrentDirectory(), f); harness.check(fc.getSelectedFile(), null); harness.check(fc.getFileSystemView(), FileSystemView.getFileSystemView()); } public void testConstructor5(TestHarness harness) { harness.checkPoint("(String)"); File f = new File(System.getProperty("user.home")); JFileChooser fc = new JFileChooser(System.getProperty("user.home")); harness.check(fc.getCurrentDirectory(), f); harness.check(fc.getSelectedFile(), null); // null is OK and defaults to home directory fc = new JFileChooser((String) null); harness.check(fc.getCurrentDirectory(), f); harness.check(fc.getSelectedFile(), null); } public void testConstructor6(TestHarness harness) { harness.checkPoint("(String, FileSystemView)"); FileSystemView fsv = new MyFileSystemView(); File f = new File(System.getProperty("user.home")); JFileChooser fc = new JFileChooser(System.getProperty("user.home"), fsv); harness.check(fc.getCurrentDirectory(), f); harness.check(fc.getSelectedFile(), null); harness.check(fc.getFileSystemView(), fsv); // null file is OK and defaults to home directory fc = new JFileChooser((String) null, fsv); harness.check(fc.getCurrentDirectory(), f); harness.check(fc.getSelectedFile(), null); harness.check(fc.getFileSystemView(), fsv); // null FileSystemView reverts to default fc = new JFileChooser(System.getProperty("user.home"), null); harness.check(fc.getCurrentDirectory(), f); harness.check(fc.getSelectedFile(), null); harness.check(fc.getFileSystemView(), FileSystemView.getFileSystemView()); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/setApproveButtonToolTipText.java0000644000175000001440000000440010323226736027347 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JFileChooser; /** * Some checks for the setApproveButtonToolTipText() method of the * {@link JFileChooser} class. */ public class setApproveButtonToolTipText implements Testlet, PropertyChangeListener { PropertyChangeEvent event; public void propertyChange(PropertyChangeEvent e) { event = e; } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser jfc = new JFileChooser(); jfc.addPropertyChangeListener(this); harness.check(jfc.getApproveButtonToolTipText(), null); jfc.setApproveButtonToolTipText("XYZ"); harness.check(jfc.getApproveButtonToolTipText(), "XYZ"); harness.check(event.getPropertyName(), JFileChooser.APPROVE_BUTTON_TOOL_TIP_TEXT_CHANGED_PROPERTY); harness.check(event.getOldValue(), null); harness.check(event.getNewValue(), "XYZ"); jfc.setApproveButtonToolTipText(null); harness.check(jfc.getApproveButtonToolTipText(), null); harness.check(event.getPropertyName(), JFileChooser.APPROVE_BUTTON_TOOL_TIP_TEXT_CHANGED_PROPERTY); harness.check(event.getOldValue(), "XYZ"); harness.check(event.getNewValue(), null); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/setAcceptAllFileFilterUsed.java0000644000175000001440000000767310323226736027015 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.JFileChooser; import javax.swing.filechooser.FileFilter; /** * Some checks for the setAcceptAllFileFilterUsed() method of the * {@link JFileChooser} class. */ public class setAcceptAllFileFilterUsed implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser fc = new JFileChooser(); FileFilter acceptAllFilter = fc.getAcceptAllFileFilter(); fc.addPropertyChangeListener(this); harness.check(fc.isAcceptAllFileFilterUsed(), true); MyFileFilter f1 = new MyFileFilter(true); fc.addChoosableFileFilter(f1); events.clear(); fc.setAcceptAllFileFilterUsed(false); harness.check(fc.isAcceptAllFileFilterUsed(), false); harness.check(events.size(), 2); PropertyChangeEvent e1 = (PropertyChangeEvent) events.get(0); harness.check(e1.getPropertyName(), JFileChooser.CHOOSABLE_FILE_FILTER_CHANGED_PROPERTY); FileFilter[] oldFilters = (FileFilter[]) e1.getOldValue(); harness.check(oldFilters.length, 2); harness.check(oldFilters[0], acceptAllFilter); harness.check(oldFilters[1], f1); FileFilter[] newFilters = (FileFilter[]) e1.getNewValue(); harness.check(newFilters.length, 1); harness.check(newFilters[0], f1); PropertyChangeEvent e2 = (PropertyChangeEvent) events.get(1); harness.check(e2.getPropertyName(), JFileChooser.ACCEPT_ALL_FILE_FILTER_USED_CHANGED_PROPERTY); // also check if the 'accept all' filter is removed from the choosable // filters list FileFilter[] filters = fc.getChoosableFileFilters(); harness.check(filters.length, 1); harness.check(filters[0], f1); events.clear(); FileFilter ff = new MyFileFilter(false); fc.addChoosableFileFilter(ff); events.clear(); harness.check(fc.getFileFilter(), ff); fc.setAcceptAllFileFilterUsed(true); harness.check(fc.isAcceptAllFileFilterUsed(), true); harness.check(fc.getFileFilter(), fc.getAcceptAllFileFilter()); // expect 3 events harness.check(events.size(), 3); e1 = (PropertyChangeEvent) events.get(0); harness.check(e1.getPropertyName(), JFileChooser.CHOOSABLE_FILE_FILTER_CHANGED_PROPERTY); e2 = (PropertyChangeEvent) events.get(1); harness.check(e2.getPropertyName(), JFileChooser.FILE_FILTER_CHANGED_PROPERTY); // harness.check(e1.getOldValue(), Boolean.FALSE); // harness.check(e1.getNewValue(), Boolean.TRUE); PropertyChangeEvent e3 = (PropertyChangeEvent) events.get(2); harness.check(e3.getPropertyName(), JFileChooser.ACCEPT_ALL_FILE_FILTER_USED_CHANGED_PROPERTY); filters = fc.getChoosableFileFilters(); harness.check(filters.length, 3); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/setAccessory.java0000644000175000001440000000424510323226736024321 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JFileChooser; import javax.swing.JPanel; /** * Some checks for the setAccessory() method of the * {@link JFileChooser} class. */ public class setAccessory implements Testlet, PropertyChangeListener { PropertyChangeEvent event; public void propertyChange(PropertyChangeEvent e) { event = e; } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser jfc = new JFileChooser(); jfc.addPropertyChangeListener(this); harness.check(jfc.getAccessory(), null); JPanel acc1 = new JPanel(); jfc.setAccessory(acc1); harness.check(jfc.getAccessory(), acc1); harness.check(event.getPropertyName(), JFileChooser.ACCESSORY_CHANGED_PROPERTY); harness.check(event.getOldValue(), null); harness.check(event.getNewValue(), acc1); jfc.setAccessory(null); harness.check(jfc.getAccessory(), null); harness.check(event.getPropertyName(), JFileChooser.ACCESSORY_CHANGED_PROPERTY); harness.check(event.getOldValue(), acc1); harness.check(event.getNewValue(), null); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/getControlButtonsAreShown.java0000644000175000001440000000311310323226736027011 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JFileChooser; /** * Some checks for the getControlButtonsAreShown() method of the * {@link JFileChooser} class. */ public class getControlButtonsAreShown implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser jfc = new JFileChooser(); harness.check(jfc.getControlButtonsAreShown(), true); jfc.setControlButtonsAreShown(false); harness.check(jfc.getControlButtonsAreShown(), false); jfc.setControlButtonsAreShown(true); harness.check(jfc.getControlButtonsAreShown(), true); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/MyFileChooser.java0000644000175000001440000000207110345641423024353 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import javax.swing.JFileChooser; import javax.swing.plaf.FileChooserUI; public class MyFileChooser extends JFileChooser { public MyFileChooser() { } public void setUI(FileChooserUI ui) { super.setUI(ui); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/MyFileFilter.java0000644000175000001440000000302110323226736024174 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import java.io.File; import javax.swing.filechooser.FileFilter; public class MyFileFilter extends FileFilter { private boolean directories; /** * Creates a new filter for testing purposes. * * @param acceptDirectories if true accept directories * only, otherwise accept non-directory files only. */ public MyFileFilter(boolean acceptDirectories) { directories = acceptDirectories; } public boolean accept(File file) { if (file == null) return false; if (directories) return file.isDirectory(); else return !file.isDirectory(); } public String getDescription() { return "Test filter"; } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/setFileHidingEnabled.java0000644000175000001440000000431410323226736025640 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JFileChooser; /** * Some checks for the setFileHidingEnabled() method of the * {@link JFileChooser} class. */ public class setFileHidingEnabled implements Testlet, PropertyChangeListener { PropertyChangeEvent event; public void propertyChange(PropertyChangeEvent e) { event = e; } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser jfc = new JFileChooser(); jfc.addPropertyChangeListener(this); harness.check(jfc.isFileHidingEnabled(), true); jfc.setFileHidingEnabled(false); harness.check(jfc.isFileHidingEnabled(), false); harness.check(event.getPropertyName(), JFileChooser.FILE_HIDING_CHANGED_PROPERTY); harness.check(event.getOldValue(), Boolean.TRUE); harness.check(event.getNewValue(), Boolean.FALSE); jfc.setFileHidingEnabled(true); harness.check(jfc.isFileHidingEnabled(), true); harness.check(event.getPropertyName(), JFileChooser.FILE_HIDING_CHANGED_PROPERTY); harness.check(event.getOldValue(), Boolean.FALSE); harness.check(event.getNewValue(), Boolean.TRUE); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/setFileSystemView.java0000644000175000001440000000447010323226736025305 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JFileChooser; import javax.swing.filechooser.FileSystemView; /** * Some checks for the setFileSystemView() method of the * {@link JFileChooser} class. */ public class setFileSystemView implements Testlet, PropertyChangeListener { PropertyChangeEvent event; public void propertyChange(PropertyChangeEvent e) { event = e; } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser jfc = new JFileChooser(); jfc.addPropertyChangeListener(this); harness.check(jfc.getFileSystemView(), FileSystemView.getFileSystemView()); FileSystemView fsv1 = new MyFileSystemView(); jfc.setFileSystemView(fsv1); harness.check(jfc.getFileSystemView(), fsv1); harness.check(event.getPropertyName(), JFileChooser.FILE_SYSTEM_VIEW_CHANGED_PROPERTY); harness.check(event.getOldValue(), FileSystemView.getFileSystemView()); harness.check(event.getNewValue(), fsv1); jfc.setFileSystemView(null); harness.check(jfc.getFileSystemView(), null); harness.check(event.getPropertyName(), JFileChooser.FILE_SYSTEM_VIEW_CHANGED_PROPERTY); harness.check(event.getOldValue(), fsv1); harness.check(event.getNewValue(), null); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/getApproveButtonToolTipText.java0000644000175000001440000000275510323226736027346 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JFileChooser; /** * Some checks for the getApproveButtonToolTipText() method of the * {@link JFileChooser} class. */ public class getApproveButtonToolTipText implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser jfc = new JFileChooser(); harness.check(jfc.getApproveButtonToolTipText(), null); jfc.setApproveButtonToolTipText("XYZ"); harness.check(jfc.getApproveButtonToolTipText(), "XYZ"); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/setDialogType.java0000644000175000001440000000454310323226736024430 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JFileChooser; /** * Some checks for the setDialogType() method of the * {@link JFileChooser} class. */ public class setDialogType implements Testlet, PropertyChangeListener { PropertyChangeEvent event; public void propertyChange(PropertyChangeEvent e) { event = e; } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser jfc = new JFileChooser(); jfc.addPropertyChangeListener(this); harness.check(jfc.getDialogType(), JFileChooser.OPEN_DIALOG); jfc.setDialogType(JFileChooser.SAVE_DIALOG); harness.check(jfc.getDialogType(), JFileChooser.SAVE_DIALOG); harness.check(event.getPropertyName(), JFileChooser.DIALOG_TYPE_CHANGED_PROPERTY); harness.check(event.getOldValue(), new Integer(JFileChooser.OPEN_DIALOG)); harness.check(event.getNewValue(), new Integer(JFileChooser.SAVE_DIALOG)); jfc.setDialogType(JFileChooser.CUSTOM_DIALOG); harness.check(jfc.getDialogType(), JFileChooser.CUSTOM_DIALOG); harness.check(event.getPropertyName(), JFileChooser.DIALOG_TYPE_CHANGED_PROPERTY); harness.check(event.getOldValue(), new Integer(JFileChooser.SAVE_DIALOG)); harness.check(event.getNewValue(), new Integer(JFileChooser.CUSTOM_DIALOG)); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/getDialogTitle.java0000644000175000001440000000300010323226736024537 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JFileChooser; /** * Some checks for the getDialogTitle() method of the * {@link JFileChooser} class. */ public class getDialogTitle implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser jfc = new JFileChooser(); harness.check(jfc.getDialogTitle(), null); jfc.setDialogTitle("XYZ"); harness.check(jfc.getDialogTitle(), "XYZ"); jfc.setDialogTitle(null); harness.check(jfc.getDialogTitle(), null); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/changeToParentDirectory.java0000644000175000001440000000427210330433516026433 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.io.File; import java.util.List; import javax.swing.JFileChooser; import javax.swing.filechooser.FileSystemView; /** * Some checks for the changeToParentDirectory() method of the * {@link JFileChooser} class. */ public class changeToParentDirectory implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList();; public void propertyChange(PropertyChangeEvent e) { events.add(e); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // this test shows an unusual behaviour of this method - if the current // directory is a root directory, changing to the parent directory // makes the current directory the user's home directory... JFileChooser fc = new JFileChooser(); FileSystemView fsv = fc.getFileSystemView(); File[] roots = fsv.getRoots(); File root = roots[0]; fc.setCurrentDirectory(root); fc.addPropertyChangeListener(this); fc.changeToParentDirectory(); harness.check(fc.getCurrentDirectory(), new File(System.getProperty("user.home"))); harness.check(events.size(), 1); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/setFileView.java0000644000175000001440000000425610323226736024102 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JFileChooser; import javax.swing.filechooser.FileView; /** * Some checks for the setFileView() method of the * {@link JFileChooser} class. */ public class setFileView implements Testlet, PropertyChangeListener { PropertyChangeEvent event; public void propertyChange(PropertyChangeEvent e) { event = e; } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser jfc = new JFileChooser(); jfc.addPropertyChangeListener(this); harness.check(jfc.getFileView(), null); FileView fv1 = new FileView() {}; jfc.setFileView(fv1); harness.check(jfc.getFileView(), fv1); harness.check(event.getPropertyName(), JFileChooser.FILE_VIEW_CHANGED_PROPERTY); harness.check(event.getOldValue(), null); harness.check(event.getNewValue(), fv1); jfc.setFileView(null); harness.check(jfc.getFileView(), null); harness.check(event.getPropertyName(), JFileChooser.FILE_VIEW_CHANGED_PROPERTY); harness.check(event.getOldValue(), fv1); harness.check(event.getNewValue(), null); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/setCurrentDirectory.java0000644000175000001440000000451210323226736025672 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.io.File; import javax.swing.JFileChooser; /** * Some checks for the setCurrentDirectory() method of the * {@link JFileChooser} class. */ public class setCurrentDirectory implements Testlet, PropertyChangeListener { PropertyChangeEvent event; public void propertyChange(PropertyChangeEvent e) { event = e; } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser fc = new JFileChooser(); fc.addPropertyChangeListener(this); harness.check(fc.getCurrentDirectory(), new File(System.getProperty("user.home"))); File d = new File(harness.getTempDirectory()); fc.setCurrentDirectory(d); harness.check(fc.getCurrentDirectory(), d); harness.check(event.getPropertyName(), JFileChooser.DIRECTORY_CHANGED_PROPERTY); harness.check(event.getOldValue(), new File(System.getProperty("user.home"))); harness.check(event.getNewValue(), d); fc.setCurrentDirectory(null); harness.check(fc.getCurrentDirectory(), new File(System.getProperty("user.home"))); harness.check(event.getPropertyName(), JFileChooser.DIRECTORY_CHANGED_PROPERTY); harness.check(event.getOldValue(), d); harness.check(event.getNewValue(), new File(System.getProperty("user.home"))); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/getFileFilter.java0000644000175000001440000000316210323226736024374 0ustar dokousers// Tags: JDK1.2 // Uses: MyFileFilter // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JFileChooser; import javax.swing.filechooser.FileFilter; /** * Some checks for the getFileFilter() method of the * {@link JFileChooser} class. */ public class getFileFilter implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser fc = new JFileChooser(); harness.check(fc.getFileFilter(), fc.getAcceptAllFileFilter()); FileFilter ff1 = new MyFileFilter(true); fc.setFileFilter(ff1); harness.check(fc.getFileFilter(), ff1); fc.setFileFilter(null); harness.check(fc.getFileFilter(), null); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/setControlButtonsAreShown.java0000644000175000001440000000441610323226736027034 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JFileChooser; /** * Some checks for the setControlButtonsAreShown() method of the * {@link JFileChooser} class. */ public class setControlButtonsAreShown implements Testlet, PropertyChangeListener { PropertyChangeEvent event; public void propertyChange(PropertyChangeEvent e) { event = e; } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser jfc = new JFileChooser(); jfc.addPropertyChangeListener(this); harness.check(jfc.getControlButtonsAreShown(), true); jfc.setControlButtonsAreShown(false); harness.check(jfc.getControlButtonsAreShown(), false); harness.check(event.getPropertyName(), JFileChooser.CONTROL_BUTTONS_ARE_SHOWN_CHANGED_PROPERTY); harness.check(event.getOldValue(), Boolean.TRUE); harness.check(event.getNewValue(), Boolean.FALSE); jfc.setControlButtonsAreShown(true); harness.check(jfc.getControlButtonsAreShown(), true); harness.check(event.getPropertyName(), JFileChooser.CONTROL_BUTTONS_ARE_SHOWN_CHANGED_PROPERTY); harness.check(event.getOldValue(), Boolean.FALSE); harness.check(event.getNewValue(), Boolean.TRUE); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/getFileSelectionMode.java0000644000175000001440000000301110323226736025672 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JFileChooser; /** * Some checks for the getFileSelectionMode() method of the * {@link JFileChooser} class. */ public class getFileSelectionMode implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser fc = new JFileChooser(); harness.check(fc.getFileSelectionMode(), JFileChooser.FILES_ONLY); fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); harness.check(fc.getFileSelectionMode(), JFileChooser.DIRECTORIES_ONLY); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/setApproveButtonMnemonic.java0000644000175000001440000000436610323226736026670 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JFileChooser; /** * Some checks for the setApproveButtonMnemoic() method of the * {@link JFileChooser} class. */ public class setApproveButtonMnemonic implements Testlet, PropertyChangeListener { PropertyChangeEvent event; public void propertyChange(PropertyChangeEvent e) { event = e; } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser jfc = new JFileChooser(); jfc.addPropertyChangeListener(this); harness.check(jfc.getApproveButtonMnemonic(), 0); jfc.setApproveButtonMnemonic(79); harness.check(jfc.getApproveButtonMnemonic(), 79); harness.check(event.getPropertyName(), JFileChooser.APPROVE_BUTTON_MNEMONIC_CHANGED_PROPERTY); harness.check(event.getOldValue(), new Integer(0)); harness.check(event.getNewValue(), new Integer(79)); jfc.setApproveButtonMnemonic(0); harness.check(jfc.getApproveButtonMnemonic(), 0); harness.check(event.getPropertyName(), JFileChooser.APPROVE_BUTTON_MNEMONIC_CHANGED_PROPERTY); harness.check(event.getOldValue(), new Integer(79)); harness.check(event.getNewValue(), new Integer(0)); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/isFileHidingEnabled.java0000644000175000001440000000304710323226736025462 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JFileChooser; /** * Some checks for the isFileHidingEnabled() method of the * {@link JFileChooser} class. */ public class isFileHidingEnabled implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser jfc = new JFileChooser(); harness.check(jfc.isFileHidingEnabled(), true); jfc.setFileHidingEnabled(false); harness.check(jfc.isFileHidingEnabled(), false); jfc.setFileHidingEnabled(true); harness.check(jfc.isFileHidingEnabled(), true); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/setFileFilter.java0000644000175000001440000000651110323226736024411 0ustar dokousers// Tags: JDK1.2 // Uses: MyFileFilter // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.JFileChooser; import javax.swing.filechooser.FileFilter; /** * Some checks for the setFileFilter() method of the * {@link JFileChooser} class. */ public class setFileFilter implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("test1"); JFileChooser fc = new JFileChooser(); FileFilter acceptAllFilter = fc.getAcceptAllFileFilter(); fc.addPropertyChangeListener(this); harness.check(fc.getFileFilter(), acceptAllFilter); FileFilter ff1 = new MyFileFilter(true); fc.setFileFilter(ff1); harness.check(fc.getFileFilter(), ff1); harness.check(events.size(), 2); PropertyChangeEvent e1 = (PropertyChangeEvent) events.get(0); harness.check(e1.getPropertyName(), JFileChooser.CHOOSABLE_FILE_FILTER_CHANGED_PROPERTY); FileFilter[] filters1 = (FileFilter[]) e1.getOldValue(); harness.check(filters1.length, 1); FileFilter[] filters2 = (FileFilter[]) e1.getNewValue(); harness.check(filters2.length, 2); PropertyChangeEvent e2 = (PropertyChangeEvent) events.get(1); harness.check(e2.getPropertyName(), JFileChooser.FILE_FILTER_CHANGED_PROPERTY); harness.check(e2.getOldValue(), acceptAllFilter); harness.check(e2.getNewValue(), ff1); events.clear(); } public void test2(TestHarness harness) { harness.checkPoint("test2"); JFileChooser fc = new JFileChooser(); FileFilter acceptAllFilter = fc.getAcceptAllFileFilter(); fc.addPropertyChangeListener(this); harness.check(fc.getFileFilter(), acceptAllFilter); fc.setFileFilter(null); harness.check(fc.getFileFilter(), null); harness.check(events.size(), 1); PropertyChangeEvent event = (PropertyChangeEvent) events.get(0); harness.check(event.getPropertyName(), JFileChooser.FILE_FILTER_CHANGED_PROPERTY); harness.check(event.getOldValue(), acceptAllFilter); harness.check(event.getNewValue(), null); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/removeChoosableFileFilter.java0000644000175000001440000002725210323226736026740 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.JFileChooser; import javax.swing.UIManager; import javax.swing.filechooser.FileFilter; /** * Some checks for the removeChoosableFileFilter() method of the * {@link JFileChooser} class. */ public class removeChoosableFileFilter implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { try { UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel"); } catch (Exception e) { e.printStackTrace(); } test1(harness); test2(harness); test3(harness); test4(harness); test5(harness); test6(harness); test7(harness); test8(harness); } /** * In this test, 'accept all' is the only filter in the list, and we try * removing it. * * @param harness */ public void test1(TestHarness harness) { harness.checkPoint("test1"); JFileChooser fc = new JFileChooser(); FileFilter acceptAllFilter = fc.getAcceptAllFileFilter(); fc.addPropertyChangeListener(this); fc.removeChoosableFileFilter(acceptAllFilter); FileFilter[] filters = fc.getChoosableFileFilters(); harness.check(filters.length, 0); harness.check(events.size(), 2); PropertyChangeEvent e1 = (PropertyChangeEvent) events.get(0); harness.check(e1.getPropertyName(), JFileChooser.FILE_FILTER_CHANGED_PROPERTY); harness.check(e1.getOldValue(), acceptAllFilter); harness.check(e1.getNewValue(), null); PropertyChangeEvent e2 = (PropertyChangeEvent) events.get(1); harness.check(e2.getPropertyName(), JFileChooser.CHOOSABLE_FILE_FILTER_CHANGED_PROPERTY); FileFilter[] ff1 = (FileFilter[]) e2.getOldValue(); FileFilter[] ff2 = (FileFilter[]) e2.getNewValue(); harness.check(ff1.length, 1); harness.check(ff2.length, 0); events.clear(); } /** * In this test, 'accept all' is the selected filter, there is another * item in the list, and we remove 'accept all'. * @param harness */ public void test2(TestHarness harness) { harness.checkPoint("test2"); JFileChooser fc = new JFileChooser(); FileFilter acceptAllFilter = fc.getAcceptAllFileFilter(); FileFilter f1 = new MyFileFilter(true); fc.addChoosableFileFilter(f1); fc.setFileFilter(acceptAllFilter); fc.addPropertyChangeListener(this); boolean removed = fc.removeChoosableFileFilter(acceptAllFilter); harness.check(removed); FileFilter[] filters = fc.getChoosableFileFilters(); harness.check(filters.length, 1); harness.check(events.size(), 2); PropertyChangeEvent e1 = (PropertyChangeEvent) events.get(0); harness.check(e1.getPropertyName(), JFileChooser.FILE_FILTER_CHANGED_PROPERTY); harness.check(e1.getOldValue(), acceptAllFilter); harness.check(e1.getNewValue(), null); PropertyChangeEvent e2 = (PropertyChangeEvent) events.get(1); harness.check(e2.getPropertyName(), JFileChooser.CHOOSABLE_FILE_FILTER_CHANGED_PROPERTY); FileFilter[] ff1 = (FileFilter[]) e2.getOldValue(); FileFilter[] ff2 = (FileFilter[]) e2.getNewValue(); harness.check(ff1.length, 2); harness.check(ff2.length, 1); harness.check(fc.getFileFilter(), null); events.clear(); } /** * In this test, 'accept all' is the selected filter, there is another * item in the list, and we remove the other item. * * @param harness */ public void test3(TestHarness harness) { harness.checkPoint("test3"); JFileChooser fc = new JFileChooser(); FileFilter acceptAllFilter = fc.getAcceptAllFileFilter(); FileFilter f1 = new MyFileFilter(true); fc.addChoosableFileFilter(f1); fc.setFileFilter(acceptAllFilter); fc.addPropertyChangeListener(this); boolean removed = fc.removeChoosableFileFilter(f1); harness.check(removed); FileFilter[] filters = fc.getChoosableFileFilters(); harness.check(filters.length, 1); harness.check(events.size(), 1); PropertyChangeEvent e1 = (PropertyChangeEvent) events.get(0); harness.check(e1.getPropertyName(), JFileChooser.CHOOSABLE_FILE_FILTER_CHANGED_PROPERTY); FileFilter[] ff1 = (FileFilter[]) e1.getOldValue(); FileFilter[] ff2 = (FileFilter[]) e1.getNewValue(); harness.check(ff1.length, 2); harness.check(ff2.length, 1); harness.check(fc.getFileFilter(), acceptAllFilter); events.clear(); } /** * In this test, 'accept all' is in the list, there is another * item selected, and we remove 'accept all'. * @param harness */ public void test4(TestHarness harness) { harness.checkPoint("test4"); JFileChooser fc = new JFileChooser(); FileFilter acceptAllFilter = fc.getAcceptAllFileFilter(); FileFilter f1 = new MyFileFilter(true); fc.addChoosableFileFilter(f1); fc.addPropertyChangeListener(this); boolean removed = fc.removeChoosableFileFilter(acceptAllFilter); harness.check(removed); FileFilter[] filters = fc.getChoosableFileFilters(); harness.check(filters.length, 1); harness.check(events.size(), 1); PropertyChangeEvent e1 = (PropertyChangeEvent) events.get(0); harness.check(e1.getPropertyName(), JFileChooser.CHOOSABLE_FILE_FILTER_CHANGED_PROPERTY); FileFilter[] ff1 = (FileFilter[]) e1.getOldValue(); FileFilter[] ff2 = (FileFilter[]) e1.getNewValue(); harness.check(ff1.length, 2); harness.check(ff2.length, 1); harness.check(fc.getFileFilter(), f1); events.clear(); } /** * In this test, 'accept all' is in the list, there is another * item selected, and we remove the selected item. * @param harness */ public void test5(TestHarness harness) { harness.checkPoint("test5"); JFileChooser fc = new JFileChooser(); FileFilter f1 = new MyFileFilter(true); fc.addChoosableFileFilter(f1); fc.addPropertyChangeListener(this); boolean removed = fc.removeChoosableFileFilter(f1); harness.check(removed); FileFilter[] filters = fc.getChoosableFileFilters(); harness.check(filters.length, 1); harness.check(events.size(), 2); PropertyChangeEvent e1 = (PropertyChangeEvent) events.get(0); harness.check(e1.getPropertyName(), JFileChooser.FILE_FILTER_CHANGED_PROPERTY); harness.check(e1.getOldValue(), f1); harness.check(e1.getNewValue(), null); PropertyChangeEvent e2 = (PropertyChangeEvent) events.get(1); harness.check(e2.getPropertyName(), JFileChooser.CHOOSABLE_FILE_FILTER_CHANGED_PROPERTY); FileFilter[] ff1 = (FileFilter[]) e2.getOldValue(); FileFilter[] ff2 = (FileFilter[]) e2.getNewValue(); harness.check(ff1.length, 2); harness.check(ff2.length, 1); harness.check(fc.getFileFilter(), null); events.clear(); } /** * In this test, 'accept all' is not in use, there is only one item and we * remove it. * * @param harness */ public void test6(TestHarness harness) { harness.checkPoint("test6"); JFileChooser fc = new JFileChooser(); FileFilter f1 = new MyFileFilter(true); fc.addChoosableFileFilter(f1); fc.setAcceptAllFileFilterUsed(false); fc.addPropertyChangeListener(this); boolean removed = fc.removeChoosableFileFilter(f1); harness.check(removed); FileFilter[] filters = fc.getChoosableFileFilters(); harness.check(filters.length, 0); harness.check(events.size(), 2); PropertyChangeEvent e1 = (PropertyChangeEvent) events.get(0); harness.check(e1.getPropertyName(), JFileChooser.FILE_FILTER_CHANGED_PROPERTY); harness.check(e1.getOldValue(), f1); harness.check(e1.getNewValue(), null); PropertyChangeEvent e2 = (PropertyChangeEvent) events.get(1); harness.check(e2.getPropertyName(), JFileChooser.CHOOSABLE_FILE_FILTER_CHANGED_PROPERTY); FileFilter[] ff1 = (FileFilter[]) e2.getOldValue(); FileFilter[] ff2 = (FileFilter[]) e2.getNewValue(); harness.check(ff1.length, 1); harness.check(ff2.length, 0); harness.check(fc.getFileFilter(), null); events.clear(); } /** * In this test, 'accept all' is not in use, there are two filters and we * remove the selected filter. * * @param harness */ public void test7(TestHarness harness) { harness.checkPoint("test7"); JFileChooser fc = new JFileChooser(); FileFilter f1 = new MyFileFilter(true); FileFilter f2 = new MyFileFilter(false); fc.addChoosableFileFilter(f1); fc.addChoosableFileFilter(f2); fc.setAcceptAllFileFilterUsed(false); fc.addPropertyChangeListener(this); boolean removed = fc.removeChoosableFileFilter(f2); harness.check(removed); FileFilter[] filters = fc.getChoosableFileFilters(); harness.check(filters.length, 1); harness.check(events.size(), 2); PropertyChangeEvent e1 = (PropertyChangeEvent) events.get(0); harness.check(e1.getPropertyName(), JFileChooser.FILE_FILTER_CHANGED_PROPERTY); harness.check(e1.getOldValue(), f2); harness.check(e1.getNewValue(), null); PropertyChangeEvent e2 = (PropertyChangeEvent) events.get(1); harness.check(e2.getPropertyName(), JFileChooser.CHOOSABLE_FILE_FILTER_CHANGED_PROPERTY); FileFilter[] ff1 = (FileFilter[]) e2.getOldValue(); FileFilter[] ff2 = (FileFilter[]) e2.getNewValue(); harness.check(ff1.length, 2); harness.check(ff2.length, 1); harness.check(fc.getFileFilter(), null); events.clear(); } /** * In this test, 'accept all' is not in use, there are two filters and we * remove the not-selected filter. * * @param harness */ public void test8(TestHarness harness) { harness.checkPoint("test8"); JFileChooser fc = new JFileChooser(); FileFilter f1 = new MyFileFilter(true); FileFilter f2 = new MyFileFilter(false); fc.addChoosableFileFilter(f1); fc.addChoosableFileFilter(f2); fc.setAcceptAllFileFilterUsed(false); fc.addPropertyChangeListener(this); boolean removed = fc.removeChoosableFileFilter(f1); harness.check(removed); FileFilter[] filters = fc.getChoosableFileFilters(); harness.check(filters.length, 1); harness.check(events.size(), 1); PropertyChangeEvent e1 = (PropertyChangeEvent) events.get(0); harness.check(e1.getPropertyName(), JFileChooser.CHOOSABLE_FILE_FILTER_CHANGED_PROPERTY); FileFilter[] ff1 = (FileFilter[]) e1.getOldValue(); FileFilter[] ff2 = (FileFilter[]) e1.getNewValue(); harness.check(ff1.length, 2); harness.check(ff2.length, 1); harness.check(fc.getFileFilter(), f2); events.clear(); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/getFileSystemView.java0000644000175000001440000000322010323226736025261 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JFileChooser; import javax.swing.filechooser.FileSystemView; /** * Some checks for the getFileSystemView() method of the * {@link JFileChooser} class. */ public class getFileSystemView implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser jfc = new JFileChooser(); harness.check(jfc.getFileSystemView(), FileSystemView.getFileSystemView()); FileSystemView fsv1 = new MyFileSystemView(); jfc.setFileSystemView(fsv1); harness.check(jfc.getFileSystemView(), fsv1); jfc.setFileSystemView(null); harness.check(jfc.getFileSystemView(), null); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/MyFileSystemView.java0000644000175000001440000000071110323226736025071 0ustar dokousers/* * Created on Oct 11, 2005 * * TODO To change the template for this generated file go to * Window - Preferences - Java - Code Style - Code Templates */ package gnu.testlet.javax.swing.JFileChooser; import java.io.File; import java.io.IOException; import javax.swing.filechooser.FileSystemView; public class MyFileSystemView extends FileSystemView { public File createNewFolder(File containingDir) throws IOException { return null; } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/setSelectedFiles.java0000644000175000001440000001066010323226736025077 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.io.File; import java.util.List; import javax.swing.JFileChooser; /** * Some checks for the setSelectedFiles() method of the * {@link JFileChooser} class. */ public class setSelectedFiles implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testGeneral(harness); testNull(harness); testEmptyArray(harness); } /** * A general test. * * @param harness the test harness (null not permitted). */ public void testGeneral(TestHarness harness) { harness.checkPoint("testGeneral()"); JFileChooser fc = new JFileChooser(); fc.addPropertyChangeListener(this); File[] files = fc.getSelectedFiles(); harness.check(files.length, 0); File f1 = new File("X"); files = new File[] { f1 }; fc.setSelectedFiles(files); File[] ff = fc.getSelectedFiles(); harness.check(ff[0], f1); harness.check(fc.getSelectedFile(), f1); harness.check(events.size(), 2); PropertyChangeEvent e1 = (PropertyChangeEvent) events.get(0); harness.check(e1.getPropertyName(), JFileChooser.SELECTED_FILE_CHANGED_PROPERTY); PropertyChangeEvent e2 = (PropertyChangeEvent) events.get(1); harness.check(e2.getPropertyName(), JFileChooser.SELECTED_FILES_CHANGED_PROPERTY); events.clear(); } /** * Test setting the selected files to null. * * @param harness the test harness (null not permitted). */ public void testNull(TestHarness harness) { harness.checkPoint("testNull()"); JFileChooser fc = new JFileChooser(); fc.addPropertyChangeListener(this); File[] files = fc.getSelectedFiles(); harness.check(files.length, 0); harness.check(fc.getSelectedFile(), null); // try null fc.setSelectedFiles(null); files = fc.getSelectedFiles(); harness.check(files.length, 0); harness.check(events.size(), 2); PropertyChangeEvent e1 = (PropertyChangeEvent) events.get(0); harness.check(e1.getPropertyName(), JFileChooser.SELECTED_FILE_CHANGED_PROPERTY); harness.check(e1.getOldValue(), null); harness.check(e1.getNewValue(), null); harness.check(fc.getSelectedFile(), null); PropertyChangeEvent e2 = (PropertyChangeEvent) events.get(1); harness.check(e2.getPropertyName(), JFileChooser.SELECTED_FILES_CHANGED_PROPERTY); events.clear(); } public void testEmptyArray(TestHarness harness) { harness.checkPoint("testEmptyArray()"); JFileChooser fc = new JFileChooser(); events.clear(); fc.addPropertyChangeListener(this); File[] files = fc.getSelectedFiles(); harness.check(files.length, 0); // try an empty array fc.setSelectedFiles(new File[0]); files = fc.getSelectedFiles(); harness.check(files.length, 0); harness.check(events.size(), 2); PropertyChangeEvent e1 = (PropertyChangeEvent) events.get(0); harness.check(e1.getPropertyName(), JFileChooser.SELECTED_FILE_CHANGED_PROPERTY); PropertyChangeEvent e2 = (PropertyChangeEvent) events.get(1); harness.check(e2.getPropertyName(), JFileChooser.SELECTED_FILES_CHANGED_PROPERTY); events.clear(); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/getFileView.java0000644000175000001440000000305710323226736024064 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JFileChooser; import javax.swing.filechooser.FileView; /** * Some checks for the getFileView() method of the * {@link JFileChooser} class. */ public class getFileView implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser jfc = new JFileChooser(); harness.check(jfc.getFileView(), null); FileView fv1 = new FileView() {}; jfc.setFileView(fv1); harness.check(jfc.getFileView(), fv1); jfc.setFileView(null); harness.check(jfc.getFileView(), null); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/isAcceptAllFileFilterUsed.java0000644000175000001440000000311510323226736026620 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JFileChooser; /** * Some checks for the isAcceptAllFileFilterUsed() method of the * {@link JFileChooser} class. */ public class isAcceptAllFileFilterUsed implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser jfc = new JFileChooser(); harness.check(jfc.isAcceptAllFileFilterUsed(), true); jfc.setAcceptAllFileFilterUsed(false); harness.check(jfc.isAcceptAllFileFilterUsed(), false); jfc.setAcceptAllFileFilterUsed(true); harness.check(jfc.isAcceptAllFileFilterUsed(), true); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/getChoosableFileFilters.java0000644000175000001440000000302110323226736026371 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JFileChooser; import javax.swing.filechooser.FileFilter; /** * Some checks for the getChoosableFileFilters() method of the * {@link JFileChooser} class. */ public class getChoosableFileFilters implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser fc = new JFileChooser(); FileFilter[] ff1 = fc.getChoosableFileFilters(); FileFilter[] ff2 = fc.getChoosableFileFilters(); harness.check(ff1 != ff2); harness.check(ff1[0], ff2[0]); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/getAccessory.java0000644000175000001440000000305110323226736024277 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JFileChooser; import javax.swing.JPanel; /** * Some checks for the getAccessory() method of the * {@link JFileChooser} class. */ public class getAccessory implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser jfc = new JFileChooser(); harness.check(jfc.getAccessory(), null); JPanel acc1 = new JPanel(); jfc.setAccessory(acc1); harness.check(jfc.getAccessory(), acc1); jfc.setAccessory(null); harness.check(jfc.getAccessory(), null); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/setFileSelectionMode.java0000644000175000001440000000437010323226736025717 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JFileChooser; /** * Some checks for the setFileSelectionMode() method of the * {@link JFileChooser} class. */ public class setFileSelectionMode implements Testlet, PropertyChangeListener { PropertyChangeEvent event; public void propertyChange(PropertyChangeEvent e) { event = e; } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser jfc = new JFileChooser(); jfc.addPropertyChangeListener(this); harness.check(jfc.getFileSelectionMode(), JFileChooser.FILES_ONLY); jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); harness.check(jfc.getFileSelectionMode(), JFileChooser.DIRECTORIES_ONLY); harness.check(event.getPropertyName(), JFileChooser.FILE_SELECTION_MODE_CHANGED_PROPERTY); harness.check(event.getOldValue(), new Integer(JFileChooser.FILES_ONLY)); harness.check(event.getNewValue(), new Integer(JFileChooser.DIRECTORIES_ONLY)); boolean pass = false; try { jfc.setFileSelectionMode(99); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/addChoosableFileFilter.java0000644000175000001440000001037310323226736026167 0ustar dokousers// Tags: JDK1.2 // Uses: MyFileFilter // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.JFileChooser; import javax.swing.filechooser.FileFilter; /** * Some checks for the addChoosableFileFilter() method of the * {@link JFileChooser} class. */ public class addChoosableFileFilter implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList();; public void propertyChange(PropertyChangeEvent e) { events.add(e); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testGeneral(harness); testNull(harness); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void testGeneral(TestHarness harness) { harness.checkPoint("testGeneral()"); JFileChooser fc = new JFileChooser(); fc.addPropertyChangeListener(this); FileFilter f1 = new MyFileFilter(true); fc.addChoosableFileFilter(f1); FileFilter[] filters = fc.getChoosableFileFilters(); harness.check(filters.length, 2); harness.check(filters[0], fc.getAcceptAllFileFilter()); harness.check(filters[1], f1); harness.check(events.size(), 2); // adding the new filter should have generated two events, one for // the addition of a choosable file filter, and one for making it the // selected filter... PropertyChangeEvent event1 = (PropertyChangeEvent) events.get(0); harness.check(event1.getPropertyName(), JFileChooser.CHOOSABLE_FILE_FILTER_CHANGED_PROPERTY); FileFilter[] oldFilters = (FileFilter[]) event1.getOldValue(); harness.check(oldFilters.length, 1); harness.check(oldFilters[0], fc.getAcceptAllFileFilter()); FileFilter[] newFilters = (FileFilter[]) event1.getNewValue(); harness.check(newFilters.length, 2); harness.check(newFilters[0], fc.getAcceptAllFileFilter()); harness.check(newFilters[1], f1); PropertyChangeEvent event2 = (PropertyChangeEvent) events.get(1); harness.check(event2.getPropertyName(), JFileChooser.FILE_FILTER_CHANGED_PROPERTY); harness.check(event2.getOldValue(), fc.getAcceptAllFileFilter()); harness.check(event2.getNewValue(), f1); events.clear(); } /** * In this test, a null filter is added. * * @param harness the test harness. */ public void testNull(TestHarness harness) { harness.checkPoint("testNull()"); JFileChooser fc = new JFileChooser(); events.clear(); fc.addPropertyChangeListener(this); fc.addChoosableFileFilter(null); FileFilter[] filters = fc.getChoosableFileFilters(); harness.check(filters.length, 1); harness.check(filters[0], fc.getAcceptAllFileFilter()); harness.check(events.size(), 1); // adding the new filter should have generated two events, one for // the addition of a choosable file filter, and one for making it the // selected filter... PropertyChangeEvent event1 = (PropertyChangeEvent) events.get(0); harness.check(event1.getPropertyName(), JFileChooser.FILE_FILTER_CHANGED_PROPERTY); harness.check(event1.getOldValue(), fc.getAcceptAllFileFilter()); harness.check(event1.getNewValue(), null); events.clear(); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/getDialogType.java0000644000175000001440000000313510323226736024410 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JFileChooser; /** * Some checks for the getDialogType() method of the * {@link JFileChooser} class. */ public class getDialogType implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser jfc = new JFileChooser(); harness.check(jfc.getDialogType(), JFileChooser.OPEN_DIALOG); jfc.setDialogType(JFileChooser.SAVE_DIALOG); harness.check(jfc.getDialogType(), JFileChooser.SAVE_DIALOG); jfc.setDialogType(JFileChooser.CUSTOM_DIALOG); harness.check(jfc.getDialogType(), JFileChooser.CUSTOM_DIALOG); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/accept.java0000644000175000001440000000326410323226736023111 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.File; import javax.swing.JFileChooser; /** * Some checks for the accept() method of the * {@link JFileChooser} class. */ public class accept implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser fc = new JFileChooser(); File f = new File(System.getProperty("user.home")); harness.check(fc.accept(f), true); harness.check(fc.accept(null), true); fc.setFileFilter(new MyFileFilter(true)); harness.check(fc.accept(f), true); fc.setFileFilter(new MyFileFilter(false)); harness.check(fc.accept(f), false); fc.setFileFilter(null); harness.check(fc.accept(f), true); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/getApproveButtonMnemonic.java0000644000175000001440000000306510323226736026647 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JFileChooser; /** * Some checks for the getApproveButtonMnemoic() method of the * {@link JFileChooser} class. */ public class getApproveButtonMnemonic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser jfc = new JFileChooser(); harness.check(jfc.getApproveButtonMnemonic(), 0); jfc.setApproveButtonMnemonic(79); harness.check(jfc.getApproveButtonMnemonic(), 79); jfc.setApproveButtonMnemonic(0); harness.check(jfc.getApproveButtonMnemonic(), 0); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/setSelectedFile.java0000644000175000001440000000672310323226736024721 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.io.File; import java.util.List; import javax.swing.JFileChooser; /** * Some checks for the setSelectedFile() method of the * {@link JFileChooser} class. */ public class setSelectedFile implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testGeneral(harness); testNull(harness); } /** * A general test. * * @param harness the test harness (null not permitted). */ public void testGeneral(TestHarness harness) { harness.checkPoint("testGeneral()"); JFileChooser fc = new JFileChooser(); events.clear(); fc.addPropertyChangeListener(this); File file = fc.getSelectedFile(); harness.check(file, null); File f1 = new File("X"); fc.setSelectedFile(f1); harness.check(fc.getSelectedFile(), f1); File[] files = fc.getSelectedFiles(); harness.check(files.length, 0); harness.check(events.size(), 1); PropertyChangeEvent e1 = (PropertyChangeEvent) events.get(0); harness.check(e1.getPropertyName(), JFileChooser.SELECTED_FILE_CHANGED_PROPERTY); harness.check(e1.getOldValue(), null); harness.check(e1.getNewValue(), f1); events.clear(); // repeat the same file to see if an event is generated... fc.setSelectedFile(f1); harness.check(fc.getSelectedFile(), f1); files = fc.getSelectedFiles(); harness.check(files.length, 0); harness.check(events.size(), 0); } /** * Test setting the selected files to null. * * @param harness the test harness (null not permitted). */ public void testNull(TestHarness harness) { harness.checkPoint("testNull()"); JFileChooser fc = new JFileChooser(); events.clear(); fc.addPropertyChangeListener(this); File file = fc.getSelectedFile(); harness.check(file, null); fc.setSelectedFile(null); harness.check(fc.getSelectedFile(), null); harness.check(events.size(), 1); PropertyChangeEvent e1 = (PropertyChangeEvent) events.get(0); harness.check(e1.getPropertyName(), JFileChooser.SELECTED_FILE_CHANGED_PROPERTY); harness.check(e1.getOldValue(), null); harness.check(e1.getNewValue(), null); events.clear(); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/getApproveButtonText.java0000644000175000001440000000271210323226736026024 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JFileChooser; /** * Some checks for the getApproveButtonText() method of the * {@link JFileChooser} class. */ public class getApproveButtonText implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser jfc = new JFileChooser(); harness.check(jfc.getApproveButtonText(), null); jfc.setApproveButtonText("XYZ"); harness.check(jfc.getApproveButtonText(), "XYZ"); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/setApproveButtonText.java0000644000175000001440000000427210323226736026043 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JFileChooser; /** * Some checks for the setApproveButtonText() method of the * {@link JFileChooser} class. */ public class setApproveButtonText implements Testlet, PropertyChangeListener { PropertyChangeEvent event; public void propertyChange(PropertyChangeEvent e) { event = e; } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser jfc = new JFileChooser(); jfc.addPropertyChangeListener(this); harness.check(jfc.getApproveButtonText(), null); jfc.setApproveButtonText("XYZ"); harness.check(jfc.getApproveButtonText(), "XYZ"); harness.check(event.getPropertyName(), JFileChooser.APPROVE_BUTTON_TEXT_CHANGED_PROPERTY); harness.check(event.getOldValue(), null); harness.check(event.getNewValue(), "XYZ"); jfc.setApproveButtonText(null); harness.check(jfc.getApproveButtonText(), null); harness.check(event.getPropertyName(), JFileChooser.APPROVE_BUTTON_TEXT_CHANGED_PROPERTY); harness.check(event.getOldValue(), "XYZ"); harness.check(event.getNewValue(), null); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/getSelectedFiles.java0000644000175000001440000000347210323226736025066 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.File; import javax.swing.JFileChooser; /** * Some checks for the getSelectedFiles() method of the * {@link JFileChooser} class. */ public class getSelectedFiles implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser fc = new JFileChooser(); File[] files = fc.getSelectedFiles(); harness.check(files.length, 0); File f1 = new File("X"); files = new File[] { f1 }; fc.setSelectedFiles(files); File[] ff = fc.getSelectedFiles(); harness.check(ff[0], f1); // try null fc.setSelectedFiles(null); ff = fc.getSelectedFiles(); harness.check(ff.length, 0); // try an empty array fc.setSelectedFiles(new File[0]); ff = fc.getSelectedFiles(); harness.check(ff.length, 0); } } mauve-20140821/gnu/testlet/javax/swing/JFileChooser/setDialogTitle.java0000644000175000001440000000420210323226736024560 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFileChooser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JFileChooser; /** * Some checks for the setDialogTitle() method of the * {@link JFileChooser} class. */ public class setDialogTitle implements Testlet, PropertyChangeListener { PropertyChangeEvent event; public void propertyChange(PropertyChangeEvent e) { event = e; } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser jfc = new JFileChooser(); jfc.addPropertyChangeListener(this); harness.check(jfc.getDialogTitle(), null); jfc.setDialogTitle("XYZ"); harness.check(jfc.getDialogTitle(), "XYZ"); harness.check(event.getPropertyName(), JFileChooser.DIALOG_TITLE_CHANGED_PROPERTY); harness.check(event.getOldValue(), null); harness.check(event.getNewValue(), "XYZ"); jfc.setDialogTitle(null); harness.check(jfc.getDialogTitle(), null); harness.check(event.getPropertyName(), JFileChooser.DIALOG_TITLE_CHANGED_PROPERTY); harness.check(event.getOldValue(), "XYZ"); harness.check(event.getNewValue(), null); } } mauve-20140821/gnu/testlet/javax/swing/ButtonGroup/0000755000175000001440000000000012375316426020763 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/ButtonGroup/constructor.java0000644000175000001440000000232310454734101024201 0ustar dokousers/* constructor.java -- some checks for the constructor in the ButtonGroup class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.ButtonGroup; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.ButtonGroup; public class constructor implements Testlet { public void test(TestHarness harness) { ButtonGroup bg = new ButtonGroup(); harness.check(bg.getButtonCount(), 0); harness.check(bg.getSelection(), null); } } mauve-20140821/gnu/testlet/javax/swing/ButtonGroup/add.java0000644000175000001440000000436010454734101022347 0ustar dokousers/* add.java -- some checks for the add() method in the ButtonGroup class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.ButtonGroup; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.ButtonGroup; import javax.swing.DefaultButtonModel; import javax.swing.JToggleButton; public class add implements Testlet { public void test(TestHarness harness) { ButtonGroup g = new ButtonGroup(); // add a button that is not selected JToggleButton b1 = new JToggleButton("B1"); g.add(b1); harness.check(g.getButtonCount(), 1); harness.check(g.getSelection(), null); harness.check(((DefaultButtonModel) b1.getModel()).getGroup(), g); // add a button that is selected JToggleButton b2 = new JToggleButton("B2"); b2.setSelected(true); g.add(b2); harness.check(g.getButtonCount(), 2); harness.check(g.getSelection(), b2.getModel()); harness.check(((DefaultButtonModel) b2.getModel()).getGroup(), g); // add another button that is selected JToggleButton b3 = new JToggleButton("B2"); b3.setSelected(true); g.add(b3); harness.check(g.getButtonCount(), 3); harness.check(g.getSelection(), b2.getModel()); harness.check(b2.isSelected(), true); harness.check(b3.isSelected(), false); harness.check(((DefaultButtonModel) b3.getModel()).getGroup(), g); // try null g.add(null); harness.check(g.getButtonCount(), 3); harness.check(g.getSelection(), b2.getModel()); } } mauve-20140821/gnu/testlet/javax/swing/ButtonGroup/isSelected.java0000644000175000001440000000351310454734101023702 0ustar dokousers/* isSelected.java -- some checks for the isSelected() method in the ButtonGroup class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JD1.4 package gnu.testlet.javax.swing.ButtonGroup; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.ButtonGroup; import javax.swing.DefaultButtonModel; import javax.swing.JToggleButton; public class isSelected implements Testlet { public void test(TestHarness harness) { ButtonGroup g = new ButtonGroup(); harness.check(g.isSelected(new DefaultButtonModel()), false); JToggleButton b1 = new JToggleButton("B1"); g.add(b1); harness.check(g.isSelected(b1.getModel()), false); b1.getModel().setSelected(true); harness.check(g.isSelected(b1.getModel()), true); JToggleButton b2 = new JToggleButton("B2"); b2.setSelected(true); g.add(b2); harness.check(g.isSelected(b2.getModel()), false); b2.getModel().setSelected(true); harness.check(g.isSelected(b1.getModel()), false); harness.check(g.isSelected(b2.getModel()), true); // try null harness.check(g.isSelected(null), false); } } mauve-20140821/gnu/testlet/javax/swing/ButtonGroup/getElements.java0000644000175000001440000000325410454734101024074 0ustar dokousers/* getElements.java -- some checks for the getElements() method in the ButtonGroup class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.ButtonGroup; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Enumeration; import javax.swing.ButtonGroup; import javax.swing.JToggleButton; public class getElements implements Testlet { public void test(TestHarness harness) { ButtonGroup g = new ButtonGroup(); Enumeration e = g.getElements(); harness.check(e.hasMoreElements(), false); JToggleButton b1 = new JToggleButton("B1"); g.add(b1); e = g.getElements(); harness.check(e.nextElement(), b1); harness.check(e.hasMoreElements(), false); JToggleButton b2 = new JToggleButton("B2"); g.add(b2); e = g.getElements(); harness.check(e.nextElement(), b1); harness.check(e.nextElement(), b2); harness.check(e.hasMoreElements(), false); } } mauve-20140821/gnu/testlet/javax/swing/ButtonGroup/getSelection.java0000644000175000001440000000273110454734101024244 0ustar dokousers/* getSelection.java -- some checks for the getSelection() method in the ButtonGroup class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.ButtonGroup; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.ButtonGroup; import javax.swing.JToggleButton; public class getSelection implements Testlet { public void test(TestHarness harness) { ButtonGroup g = new ButtonGroup(); harness.check(g.getSelection(), null); JToggleButton b1 = new JToggleButton("B1"); g.add(b1); harness.check(g.getSelection(), null); JToggleButton b2 = new JToggleButton("B2"); b2.setSelected(true); g.add(b2); harness.check(g.getSelection(), b2.getModel()); } } mauve-20140821/gnu/testlet/javax/swing/ButtonGroup/remove.java0000644000175000001440000000356710454734101023124 0ustar dokousers/* remove.java -- some checks for the remove() method in the ButtonGroup class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.ButtonGroup; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.ButtonGroup; import javax.swing.DefaultButtonModel; import javax.swing.JToggleButton; public class remove implements Testlet { public void test(TestHarness harness) { ButtonGroup g = new ButtonGroup(); // add a button that is not selected JToggleButton b1 = new JToggleButton("B1"); g.add(b1); g.remove(b1); harness.check(g.getButtonCount(), 0); harness.check(g.getSelection(), null); harness.check(((DefaultButtonModel) b1.getModel()).getGroup(), null); g.add(b1); JToggleButton b2 = new JToggleButton("B2"); b2.setSelected(true); g.add(b2); g.remove(b2); harness.check(g.getButtonCount(), 1); harness.check(g.getSelection(), null); harness.check(((DefaultButtonModel) b2.getModel()).getGroup(), null); // try null g.remove(null); harness.check(g.getButtonCount(), 1); harness.check(g.getSelection(), null); } } mauve-20140821/gnu/testlet/javax/swing/ButtonGroup/getButtonCount.java0000644000175000001440000000306510454734101024604 0ustar dokousers/* getButtonCount.java -- some checks for the getButtonCount() method in the ButtonGroup class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.ButtonGroup; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.ButtonGroup; import javax.swing.JToggleButton; public class getButtonCount implements Testlet { public void test(TestHarness harness) { ButtonGroup g = new ButtonGroup(); harness.check(g.getButtonCount(), 0); JToggleButton b1 = new JToggleButton("B1"); g.add(b1); harness.check(g.getButtonCount(), 1); JToggleButton b2 = new JToggleButton("B2"); g.add(b2); harness.check(g.getButtonCount(), 2); g.remove(b2); harness.check(g.getButtonCount(), 1); g.remove(b1); harness.check(g.getButtonCount(), 0); } } mauve-20140821/gnu/testlet/javax/swing/ButtonGroup/setSelected.java0000644000175000001440000000646610454734101024074 0ustar dokousers/* setSelected.java -- some checks for the setSelected() method in the ButtonGroup class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.ButtonGroup; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.ButtonGroup; import javax.swing.ButtonModel; import javax.swing.JToggleButton; public class setSelected implements Testlet { public void test(TestHarness harness) { ButtonGroup g1 = new ButtonGroup(); JToggleButton b1 = new JToggleButton("B1"); ButtonModel m1 = b1.getModel(); g1.add(b1); harness.check(m1.isSelected(), false); g1.setSelected(m1, false); harness.check(b1.isSelected(), false); harness.check(g1.isSelected(m1), false); harness.check(g1.getSelection(), null); ButtonGroup g2 = new ButtonGroup(); JToggleButton b2 = new JToggleButton("B2"); ButtonModel m2 = b2.getModel(); g2.add(b2); harness.check(m2.isSelected(), false); g2.setSelected(m2, true); harness.check(b2.isSelected(), true); harness.check(g2.isSelected(m2), true); harness.check(g2.getSelection(), m2); ButtonGroup g3 = new ButtonGroup(); JToggleButton b3 = new JToggleButton("B3"); b3.setSelected(true); ButtonModel m3 = b3.getModel(); g3.add(b3); harness.check(m3.isSelected(), true); g3.setSelected(m3, false); harness.check(b3.isSelected(), true); harness.check(g3.isSelected(m3), true); harness.check(g3.getSelection(), m3); ButtonGroup g4 = new ButtonGroup(); JToggleButton b4 = new JToggleButton("B4"); b4.setSelected(true); ButtonModel m4 = b4.getModel(); g4.add(b4); harness.check(m4.isSelected(), true); g4.setSelected(m4, false); harness.check(b4.isSelected(), true); harness.check(g4.isSelected(m4), true); harness.check(g4.getSelection(), m4); // now work with a second button... JToggleButton b5 = new JToggleButton("B5"); ButtonModel m5 = b5.getModel(); g4.add(b5); harness.check(g4.isSelected(m5), false); // the following does nothing, because 'false' says we don't change the // state of the incoming model... g4.setSelected(m5, false); harness.check(b4.isSelected(), true); harness.check(g4.isSelected(m4), true); harness.check(g4.getSelection(), m4); // whereas this changes the selection... g4.setSelected(m5, true); harness.check(b4.isSelected(), false); harness.check(b5.isSelected(), true); harness.check(g4.isSelected(m4), false); harness.check(g4.isSelected(m5), true); harness.check(g4.getSelection(), m5); } } mauve-20140821/gnu/testlet/javax/swing/JPopupMenu/0000755000175000001440000000000012375316426020535 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JPopupMenu/getInputMap.java0000644000175000001440000000465310441520121023622 0ustar dokousers/* getInputMap.java -- some checks for the getInputMap() methods inherited by the JPopupMenu class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JPopupMenu; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.InputMap; import javax.swing.JComponent; import javax.swing.JPopupMenu; /** * Checks the input maps defined for a JPopupMenu - this is really testing * the setup performed by BasicPopupMenuUI. */ public class getInputMap implements Testlet { public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("()"); JPopupMenu p = new JPopupMenu(); InputMap m1 = p.getInputMap(); InputMap m2 = p.getInputMap(JComponent.WHEN_FOCUSED); harness.check(m1 == m2); } public void testMethod2(TestHarness harness) { harness.checkPoint("(int)"); JPopupMenu p = new JPopupMenu(); InputMap m1 = p.getInputMap(JComponent.WHEN_FOCUSED); harness.check(m1.keys(), null); InputMap m1p = m1.getParent(); harness.check(m1p, null); InputMap m2 = p.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); harness.check(m2.keys(), null); harness.check(m2.getParent(), null); InputMap m3 = p.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW); harness.check(m3.keys(), null); harness.check(m3.getParent(), null); // InputMap m3p = m3.getParent(); // harness.check(m3p.get(KeyStroke.getKeyStroke("pressed ESCAPE")), "close"); // for (int i = 0; i < m3p.keys().length; i++) // { // System.out.println(m3p.keys()[i] + ", " + m3p.get(m3p.keys()[i])); // } } } mauve-20140821/gnu/testlet/javax/swing/JList/0000755000175000001440000000000012375316426017520 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JList/AccessibleJList/0000755000175000001440000000000012375316426022523 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JList/AccessibleJList/valueChanged.java0000644000175000001440000000522610325210712025741 0ustar dokousers// Tags: JDK1.2 // Uses: TestList // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JList.AccessibleJList; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.Vector; import javax.accessibility.AccessibleContext; import javax.swing.event.ListSelectionEvent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Checks the functionality of the method valueChanged in * javax.swing.JList.AccessibleJList. This method fires two * PropertyChangeEvents, one with * AccessibleContext.ACCESSIBLE_VISIBLE_DATA_PROPERTY and one with * AccessibleContext.ACCESSIBLE_SELECTION_PROPERTY. * * @author Roman Kennke (kennke@aicas.com) */ public class valueChanged implements Testlet, PropertyChangeListener { Vector receivedEvents = new Vector(); public void test(TestHarness harness) { TestList l = new TestList(); TestList.AccessibleTestList al = (TestList.AccessibleTestList) l.getAccessibleContext(); al.addPropertyChangeListener(this); ListSelectionEvent ev = new ListSelectionEvent(l, 1, 2, true); receivedEvents.clear(); al.valueChanged(ev); harness.check(receivedEvents.size(), 2); PropertyChangeEvent ev1 = (PropertyChangeEvent) receivedEvents.get(0); harness.check(ev1.getPropertyName(), AccessibleContext.ACCESSIBLE_VISIBLE_DATA_PROPERTY); harness.check(ev1.getSource(), al); harness.check(ev1.getOldValue(), Boolean.FALSE); harness.check(ev1.getNewValue(), Boolean.TRUE); PropertyChangeEvent ev2 = (PropertyChangeEvent) receivedEvents.get(1); harness.check(ev2.getPropertyName(), AccessibleContext.ACCESSIBLE_SELECTION_PROPERTY); harness.check(ev2.getSource(), al); harness.check(ev2.getOldValue(), Boolean.FALSE); harness.check(ev2.getNewValue(), Boolean.TRUE); } public void propertyChange(PropertyChangeEvent e) { receivedEvents.add(e); } } mauve-20140821/gnu/testlet/javax/swing/JList/AccessibleJList/intervalRemoved.java0000644000175000001440000000453210325210712026520 0ustar dokousers// Tags: JDK1.2 // Uses: TestList // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JList.AccessibleJList; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.Vector; import javax.accessibility.AccessibleContext; import javax.swing.event.ListDataEvent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Checks the functionality of the method intervalRemoved in * javax.swing.JList.AccessibleJList. This method fires two * PropertyChangeEvents, one with * AccessibleContext.ACCESSIBLE_VISIBLE_DATA_PROPERTY and one with * AccessibleContext.ACCESSIBLE_SELECTION_PROPERTY. * * @author Roman Kennke (kennke@aicas.com) */ public class intervalRemoved implements Testlet, PropertyChangeListener { Vector receivedEvents = new Vector(); public void test(TestHarness harness) { TestList l = new TestList(); TestList.AccessibleTestList al = (TestList.AccessibleTestList) l.getAccessibleContext(); al.addPropertyChangeListener(this); ListDataEvent ev = new ListDataEvent(l, ListDataEvent.INTERVAL_ADDED, 1, 2); receivedEvents.clear(); al.intervalRemoved(ev); harness.check(receivedEvents.size(), 1); PropertyChangeEvent ev1 = (PropertyChangeEvent) receivedEvents.get(0); harness.check(ev1.getPropertyName(), AccessibleContext.ACCESSIBLE_VISIBLE_DATA_PROPERTY); harness.check(ev1.getSource(), al); harness.check(ev1.getOldValue(), Boolean.FALSE); harness.check(ev1.getNewValue(), Boolean.TRUE); } public void propertyChange(PropertyChangeEvent e) { receivedEvents.add(e); } } mauve-20140821/gnu/testlet/javax/swing/JList/AccessibleJList/intervalAdded.java0000644000175000001440000000452410325210712026121 0ustar dokousers// Tags: JDK1.2 // Uses: TestList // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JList.AccessibleJList; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.Vector; import javax.accessibility.AccessibleContext; import javax.swing.event.ListDataEvent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Checks the functionality of the method intervalAdded in * javax.swing.JList.AccessibleJList. This method fires two * PropertyChangeEvents, one with * AccessibleContext.ACCESSIBLE_VISIBLE_DATA_PROPERTY and one with * AccessibleContext.ACCESSIBLE_SELECTION_PROPERTY. * * @author Roman Kennke (kennke@aicas.com) */ public class intervalAdded implements Testlet, PropertyChangeListener { Vector receivedEvents = new Vector(); public void test(TestHarness harness) { TestList l = new TestList(); TestList.AccessibleTestList al = (TestList.AccessibleTestList) l.getAccessibleContext(); al.addPropertyChangeListener(this); ListDataEvent ev = new ListDataEvent(l, ListDataEvent.INTERVAL_ADDED, 1, 2); receivedEvents.clear(); al.intervalAdded(ev); harness.check(receivedEvents.size(), 1); PropertyChangeEvent ev1 = (PropertyChangeEvent) receivedEvents.get(0); harness.check(ev1.getPropertyName(), AccessibleContext.ACCESSIBLE_VISIBLE_DATA_PROPERTY); harness.check(ev1.getSource(), al); harness.check(ev1.getOldValue(), Boolean.FALSE); harness.check(ev1.getNewValue(), Boolean.TRUE); } public void propertyChange(PropertyChangeEvent e) { receivedEvents.add(e); } } mauve-20140821/gnu/testlet/javax/swing/JList/AccessibleJList/getAccessibleStateSet.java0000644000175000001440000000371610325210712027567 0ustar dokousers// Tags: JDK1.2 // Uses: TestList // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JList.AccessibleJList; import javax.accessibility.AccessibleState; import javax.accessibility.AccessibleStateSet; import javax.swing.ListSelectionModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Checks the functionality of the method getAccessibleStateSet of * javax.swing.JList.AccessibleJList. * * @author Roman Kennke (kennke@aicas.com) */ public class getAccessibleStateSet implements Testlet { public void test(TestHarness harness) { TestList l = new TestList(); TestList.AccessibleTestList al = (TestList.AccessibleTestList) l.getAccessibleContext(); l.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); AccessibleStateSet ss = al.getAccessibleStateSet(); harness.check(ss.contains(AccessibleState.MULTISELECTABLE)); l.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION); ss = al.getAccessibleStateSet(); harness.check(ss.contains(AccessibleState.MULTISELECTABLE)); l.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); ss = al.getAccessibleStateSet(); harness.check(! ss.contains(AccessibleState.MULTISELECTABLE)); } } mauve-20140821/gnu/testlet/javax/swing/JList/AccessibleJList/getAccessibleRole.java0000644000175000001440000000275310325210712026734 0ustar dokousers// Tags: JDK1.2 // Uses: TestList // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JList.AccessibleJList; import javax.accessibility.AccessibleRole; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Checks the functionality of the method getAccessibleRol in * javax.swing.JList.AccessibleJList. This method should return * AccessibleRole.LIST. * * @author Roman Kennke (kennke@aicas.com) */ public class getAccessibleRole implements Testlet { public void test(TestHarness harness) { TestList l = new TestList(); TestList.AccessibleTestList al = (TestList.AccessibleTestList) l.getAccessibleContext(); AccessibleRole role = al.getAccessibleRole(); harness.check(role, AccessibleRole.LIST); } } mauve-20140821/gnu/testlet/javax/swing/JList/AccessibleJList/TestList.java0000644000175000001440000000077510325210712025132 0ustar dokouserspackage gnu.testlet.javax.swing.JList.AccessibleJList; import javax.accessibility.AccessibleContext; import javax.swing.JList; /** * Overrides JList in order to expose the AccssibleJList methods. */ public class TestList extends JList { public TestList() { super(); } public TestList(Object[] values) { super(values); } public class AccessibleTestList extends AccessibleJList { } public AccessibleContext getAccessibleContext() { return new AccessibleTestList(); } } mauve-20140821/gnu/testlet/javax/swing/JList/AccessibleJList/getAccessibleChild.java0000644000175000001440000000317010325210712027050 0ustar dokousers// Tags: JDK1.2 // Uses: TestList // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JList.AccessibleJList; import javax.accessibility.Accessible; import javax.accessibility.AccessibleComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests if getAccessibleChild works correctly. * * @author Roman Kennke (kennke@aicas.com) */ public class getAccessibleChild implements Testlet { public void test(TestHarness harness) { TestList l = new TestList(new String[]{"child"}); harness.check(l.getModel().getSize(), 1); TestList.AccessibleTestList al = (TestList.AccessibleTestList) l.getAccessibleContext(); Accessible child1 = al.getAccessibleChild(0); harness.check(child1 != null); harness.check(child1 instanceof AccessibleComponent); Accessible child2 = al.getAccessibleChild(1); harness.check(child2 , null); } } mauve-20140821/gnu/testlet/javax/swing/JList/AccessibleJList/contentsChanged.java0000644000175000001440000000453310325210712026462 0ustar dokousers// Tags: JDK1.2 // Uses: TestList // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JList.AccessibleJList; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.Vector; import javax.accessibility.AccessibleContext; import javax.swing.event.ListDataEvent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Checks the functionality of the method contentsChanged in * javax.swing.JList.AccessibleJList. This method fires two * PropertyChangeEvents, one with * AccessibleContext.ACCESSIBLE_VISIBLE_DATA_PROPERTY and one with * AccessibleContext.ACCESSIBLE_SELECTION_PROPERTY. * * @author Roman Kennke (kennke@aicas.com) */ public class contentsChanged implements Testlet, PropertyChangeListener { Vector receivedEvents = new Vector(); public void test(TestHarness harness) { TestList l = new TestList(); TestList.AccessibleTestList al = (TestList.AccessibleTestList) l.getAccessibleContext(); al.addPropertyChangeListener(this); ListDataEvent ev = new ListDataEvent(l, ListDataEvent.INTERVAL_ADDED, 1, 2); receivedEvents.clear(); al.contentsChanged(ev); harness.check(receivedEvents.size(), 1); PropertyChangeEvent ev1 = (PropertyChangeEvent) receivedEvents.get(0); harness.check(ev1.getPropertyName(), AccessibleContext.ACCESSIBLE_VISIBLE_DATA_PROPERTY); harness.check(ev1.getSource(), al); harness.check(ev1.getOldValue(), Boolean.FALSE); harness.check(ev1.getNewValue(), Boolean.TRUE); } public void propertyChange(PropertyChangeEvent e) { receivedEvents.add(e); } } mauve-20140821/gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/0000755000175000001440000000000012375316426026472 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/getCursor.java0000644000175000001440000000407510325210712031300 0ustar dokousers// Tags: JDK1.2 // Uses: ../TestList // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JList.AccessibleJList.AccessibleJListChild; import java.awt.Cursor; import javax.accessibility.AccessibleComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.JList.AccessibleJList.TestList; /** * Checks if the method getCursor works correctly. This should return the * cursor set by setCursor, independent of the JList's cursor setting. * * @author Roman Kennke (kennke@aicas.com) */ public class getCursor implements Testlet { public void test(TestHarness harness) { TestList l = new TestList(new String[]{"item"}); TestList.AccessibleTestList al = (TestList.AccessibleTestList) l.getAccessibleContext(); Cursor cursor1 = Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR); Cursor cursor2 = Cursor.getPredefinedCursor(Cursor.HAND_CURSOR); l.setCursor(cursor1); harness.check(l.getCursor(), cursor1); AccessibleComponent child = (AccessibleComponent) al.getAccessibleChild(0); harness.check(child.getCursor(), Cursor.getDefaultCursor()); l.setCursor(cursor2); harness.check(child.getCursor(), Cursor.getDefaultCursor()); // Try if it reacts to setCursor(). child.setCursor(cursor1); harness.check(child.getCursor(), cursor1); } } mauve-20140821/gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/setBackground.java0000644000175000001440000000353110325210712032112 0ustar dokousers// Tags: JDK1.2 // Uses: ../TestList // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JList.AccessibleJList.AccessibleJListChild; import java.awt.Color; import javax.accessibility.AccessibleComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.JList.AccessibleJList.TestList; /** * Checks if the setBackground method works correctly. This method must not have * any effect, since the background color cannot be set for list children * individually. * * @author Roman Kennke (kennke@aicas.com) */ public class setBackground implements Testlet { public void test(TestHarness harness) { TestList l = new TestList(new String[]{"item"}); TestList.AccessibleTestList al = (TestList.AccessibleTestList) l.getAccessibleContext(); AccessibleComponent child = (AccessibleComponent) al.getAccessibleChild(0); Color listBackground = l.getBackground(); child.setBackground(Color.RED); harness.check(l.getBackground(), listBackground); child.setBackground(Color.GREEN); harness.check(l.getBackground(), listBackground); } } ././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/isFocusTraversable.javamauve-20140821/gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/isFocusTraversable0000644000175000001440000000303710325210712032206 0ustar dokousers// Tags: JDK1.2 // Uses: ../TestList // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JList.AccessibleJList.AccessibleJListChild; import javax.accessibility.AccessibleComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.JList.AccessibleJList.TestList; public class isFocusTraversable implements Testlet { public void test(TestHarness harness) { TestList l = new TestList(new String[]{"item"}); TestList.AccessibleTestList al = (TestList.AccessibleTestList) l.getAccessibleContext(); AccessibleComponent child = (AccessibleComponent) al.getAccessibleChild(0); l.setFocusable(true); harness.check(child.isFocusTraversable(), true); l.setFocusable(false); harness.check(child.isFocusTraversable(), true); } } mauve-20140821/gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/getFont.java0000644000175000001440000000354310366771316030751 0ustar dokousers// Tags: JDK1.2 // Uses: ../TestList // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.JList.AccessibleJList.AccessibleJListChild; import java.awt.Font; import javax.accessibility.AccessibleComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.JList.AccessibleJList.TestList; /** * Checks if the method getFont works correctly. This should return the * font of the actual list, since the background cannot be set on * the list children individually. * * @author Roman Kennke (kennke@aicas.com) */ public class getFont implements Testlet { public void test(TestHarness harness) { TestList l = new TestList(new String[]{"item"}); TestList.AccessibleTestList al = (TestList.AccessibleTestList) l.getAccessibleContext(); Font font1 = new Font("Dialog", Font.PLAIN, 16); Font font2 = new Font("Dialog", Font.BOLD, 12); l.setFont(font1); AccessibleComponent child = (AccessibleComponent) al.getAccessibleChild(0); harness.check(child.getFont(), font1); l.setFont(font2); harness.check(child.getFont(), font2); } } mauve-20140821/gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/isShowing.java0000644000175000001440000000640610325210712031275 0ustar dokousers// Tags: JDK1.2 // Uses: ../TestList // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JList.AccessibleJList.AccessibleJListChild; import javax.accessibility.AccessibleComponent; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleState; import javax.accessibility.AccessibleStateSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.JList.AccessibleJList.TestList; /** * Checks if the isShowing method works correctly. A list child is * showing if it is visible and if it's parent JList is showing. * * @author Roman Kennke (kennke@aicas.com) */ public class isShowing implements Testlet { /** * Overridden to provide customized isShowing method. This is used to * check if the isShowing method of AccessibleJListChild forwards to * the JList or not. * * @author Roman Kennke (kennke@aicas.com) */ class MyTestList extends TestList { boolean showing; int first; int last; /** * Creates a new instance of MyTestList. * * @param items some test items */ MyTestList(Object[] items) { super(items); } public boolean isShowing() { return showing; } public int getLastVisibleIndex() { return last; } public int getFirstVisibleIndex() { return first; } } public void test(TestHarness harness) { MyTestList l = new MyTestList(new String[]{"item"}); TestList.AccessibleTestList al = (TestList.AccessibleTestList) l.getAccessibleContext(); AccessibleComponent child = (AccessibleComponent) al.getAccessibleChild(0); AccessibleContext ctx = (AccessibleContext) child; AccessibleStateSet states; l.first = 0; l.last = 0; l.showing = true; harness.check(child.isShowing(), true); states = ctx.getAccessibleStateSet(); harness.check(states.contains(AccessibleState.SHOWING)); l.showing = false; harness.check(child.isShowing(), false); states = ctx.getAccessibleStateSet(); harness.check(!states.contains(AccessibleState.SHOWING)); // Make list child invisible. Should make isShowing false in all cases. l.first = 1; l.last = 1; l.showing = true; harness.check(child.isShowing(), false); states = ctx.getAccessibleStateSet(); harness.check(!states.contains(AccessibleState.SHOWING)); l.showing = false; harness.check(child.isShowing(), false); states = ctx.getAccessibleStateSet(); harness.check(!states.contains(AccessibleState.SHOWING)); } } mauve-20140821/gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/setEnabled.java0000644000175000001440000000340710325210712031367 0ustar dokousers// Tags: JDK1.2 // Uses: ../TestList // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JList.AccessibleJList.AccessibleJListChild; import javax.accessibility.AccessibleComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.JList.AccessibleJList.TestList; /** * Checks if the setEnabled method works correctly. This method must not have * any effect, since the enabled flag cannot be set for list children * individually. * * @author Roman Kennke (kennke@aicas.com) */ public class setEnabled implements Testlet { public void test(TestHarness harness) { TestList l = new TestList(new String[]{"item"}); TestList.AccessibleTestList al = (TestList.AccessibleTestList) l.getAccessibleContext(); AccessibleComponent child = (AccessibleComponent) al.getAccessibleChild(0); boolean enabled = l.isEnabled(); child.setEnabled(false); harness.check(l.isEnabled(), enabled); child.setEnabled(true); harness.check(l.isEnabled(), enabled); } } mauve-20140821/gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/setFont.java0000644000175000001440000000350410325210712030741 0ustar dokousers// Tags: JDK1.2 // Uses: ../TestList // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JList.AccessibleJList.AccessibleJListChild; import java.awt.Font; import javax.accessibility.AccessibleComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.JList.AccessibleJList.TestList; /** * Checks if the setBackground method works correctly. This method must not have * any effect, since the background color cannot be set for list children * individually. * * @author Roman Kennke (kennke@aicas.com) */ public class setFont implements Testlet { public void test(TestHarness harness) { TestList l = new TestList(new String[]{"item"}); TestList.AccessibleTestList al = (TestList.AccessibleTestList) l.getAccessibleContext(); AccessibleComponent child = (AccessibleComponent) al.getAccessibleChild(0); Font font = l.getFont(); child.setFont(new Font("Dialog", Font.PLAIN, 16)); harness.check(l.getFont(), font); child.setFont(new Font("Dialog", Font.BOLD, 12)); harness.check(l.getFont(), font); } } mauve-20140821/gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/setForeground.java0000644000175000001440000000353110325210712032145 0ustar dokousers// Tags: JDK1.2 // Uses: ../TestList // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JList.AccessibleJList.AccessibleJListChild; import java.awt.Color; import javax.accessibility.AccessibleComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.JList.AccessibleJList.TestList; /** * Checks if the setForeground method works correctly. This method must not have * any effect, since the foreground color cannot be set for list children * individually. * * @author Roman Kennke (kennke@aicas.com) */ public class setForeground implements Testlet { public void test(TestHarness harness) { TestList l = new TestList(new String[]{"item"}); TestList.AccessibleTestList al = (TestList.AccessibleTestList) l.getAccessibleContext(); AccessibleComponent child = (AccessibleComponent) al.getAccessibleChild(0); Color listForeground = l.getForeground(); child.setForeground(Color.RED); harness.check(l.getForeground(), listForeground); child.setForeground(Color.GREEN); harness.check(l.getForeground(), listForeground); } } mauve-20140821/gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/getForeground.java0000644000175000001440000000346610325210712032140 0ustar dokousers// Tags: JDK1.2 // Uses: ../TestList // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JList.AccessibleJList.AccessibleJListChild; import java.awt.Color; import javax.accessibility.AccessibleComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.JList.AccessibleJList.TestList; /** * Checks if the method getForeground works correctly. This should return the * foreground color of the actual list, since the foreground cannot be set on * the list children individually. * * @author Roman Kennke (kennke@aicas.com) */ public class getForeground implements Testlet { public void test(TestHarness harness) { TestList l = new TestList(new String[]{"item"}); TestList.AccessibleTestList al = (TestList.AccessibleTestList) l.getAccessibleContext(); l.setForeground(Color.RED); AccessibleComponent child = (AccessibleComponent) al.getAccessibleChild(0); harness.check(child.getForeground(), Color.RED); l.setForeground(Color.GREEN); harness.check(child.getForeground(), Color.GREEN); } } mauve-20140821/gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/setCursor.java0000644000175000001440000000403410325210712031307 0ustar dokousers// Tags: JDK1.2 // Uses: ../TestList // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JList.AccessibleJList.AccessibleJListChild; import java.awt.Cursor; import javax.accessibility.AccessibleComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.JList.AccessibleJList.TestList; /** * Checks if the setCursor method works correctly. This method should store the * cursor independent of the actual JList. * * @author Roman Kennke (kennke@aicas.com) */ public class setCursor implements Testlet { public void test(TestHarness harness) { TestList l = new TestList(new String[]{"item"}); TestList.AccessibleTestList al = (TestList.AccessibleTestList) l.getAccessibleContext(); AccessibleComponent child = (AccessibleComponent) al.getAccessibleChild(0); Cursor cursor = l.getCursor(); child.setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR)); harness.check(l.getCursor(), cursor); harness.check(child.getCursor(), Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR)); child.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); harness.check(l.getCursor(), cursor); harness.check(child.getCursor(), Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); } } ././@LongLink0000644000000000000000000000015500000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/getAccessibleStateSet.javamauve-20140821/gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/getAccessibleState0000644000175000001440000000345610325210712032143 0ustar dokousers// Tags: JDK1.2 // Uses: ../TestList // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JList.AccessibleJList.AccessibleJListChild; import javax.accessibility.AccessibleComponent; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleState; import javax.accessibility.AccessibleStateSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.JList.AccessibleJList.TestList; public class getAccessibleStateSet implements Testlet { public void test(TestHarness harness) { TestList l = new TestList(new String[]{"item"}); TestList.AccessibleTestList al = (TestList.AccessibleTestList) l.getAccessibleContext(); AccessibleContext child = (AccessibleContext) al.getAccessibleChild(0); AccessibleComponent childC = (AccessibleComponent) child; AccessibleStateSet states; // We test the visible state in isVisible. // We test the showing state in isShowing. states = child.getAccessibleStateSet(); harness.check(states.contains(AccessibleState.TRANSIENT)); } } mauve-20140821/gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/getBackground.java0000644000175000001440000000346610325210712032105 0ustar dokousers// Tags: JDK1.2 // Uses: ../TestList // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JList.AccessibleJList.AccessibleJListChild; import java.awt.Color; import javax.accessibility.AccessibleComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.JList.AccessibleJList.TestList; /** * Checks if the method getBackground works correctly. This should return the * background color of the actual list, since the background cannot be set on * the list children individually. * * @author Roman Kennke (kennke@aicas.com) */ public class getBackground implements Testlet { public void test(TestHarness harness) { TestList l = new TestList(new String[]{"item"}); TestList.AccessibleTestList al = (TestList.AccessibleTestList) l.getAccessibleContext(); l.setBackground(Color.RED); AccessibleComponent child = (AccessibleComponent) al.getAccessibleChild(0); harness.check(child.getBackground(), Color.RED); l.setBackground(Color.GREEN); harness.check(child.getBackground(), Color.GREEN); } } mauve-20140821/gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/isVisible.java0000644000175000001440000000700710325210712031252 0ustar dokousers// Tags: JDK1.2 // Uses: ../TestList // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JList.AccessibleJList.AccessibleJListChild; import javax.accessibility.AccessibleComponent; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleState; import javax.accessibility.AccessibleStateSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.JList.AccessibleJList.TestList; /** * Checks if the isVisible method works correctly. The value of * isVisible depends on the values of JList.getFirstVisibleIndex and * JList.getLastVisibleIndex. * * Additionally we check the accessible state set, if it reflects the visible * state. * * @author Roman Kennke (kennke@aicas.com) */ public class isVisible implements Testlet { /** * Overridden to provide customized isVisible method. This is used to * check if the isVisible method of AccessibleJListChild forwards to * the JList or not. * * @author Roman Kennke (kennke@aicas.com) */ class MyTestList extends TestList { boolean visible; int first; int last; /** * Creates a new instance of MyTestList. * * @param items some test items */ MyTestList(Object[] items) { super(items); } public boolean isVisible() { return visible; } public int getLastVisibleIndex() { return last; } public int getFirstVisibleIndex() { return first; } } public void test(TestHarness harness) { MyTestList l = new MyTestList(new String[]{"item"}); TestList.AccessibleTestList al = (TestList.AccessibleTestList) l.getAccessibleContext(); AccessibleComponent child = (AccessibleComponent) al.getAccessibleChild(0); l.visible = true; harness.check(child.isVisible(), true); l.visible = false; harness.check(child.isVisible(), true); harness.check(l.isVisible(), false); // The above test show that isVisible is independent from the parent JList. // Check if this reacts to child.setVisible() (It does not). child.setVisible(true); harness.check(child.isVisible(), true); child.setVisible(false); harness.check(child.isVisible(), true); // The only thing left is that isVisible depends on the values // of JList.getFirstVisibleIndex and JList.getLastVisibleIndex AccessibleContext ctx = (AccessibleContext) child; AccessibleStateSet states; l.first = 0; l.last = 0; harness.check(child.isVisible(), true); states = ctx.getAccessibleStateSet(); harness.check(states.contains(AccessibleState.VISIBLE)); l.first = 1; l.last = 1; harness.check(child.isVisible(), false); states = ctx.getAccessibleStateSet(); harness.check(!states.contains(AccessibleState.VISIBLE)); } } ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/getAccessibleRole.javamauve-20140821/gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/getAccessibleRole.0000644000175000001440000000275010325210712032036 0ustar dokousers// Tags: JDK1.2 // Uses: ../TestList // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JList.AccessibleJList.AccessibleJListChild; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleRole; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.JList.AccessibleJList.TestList; public class getAccessibleRole implements Testlet { public void test(TestHarness harness) { TestList l = new TestList(new String[]{"item"}); TestList.AccessibleTestList al = (TestList.AccessibleTestList) l.getAccessibleContext(); AccessibleContext child = (AccessibleContext) al.getAccessibleChild(0); harness.check(child.getAccessibleRole(), AccessibleRole.LABEL); } } mauve-20140821/gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/isEnabled.java0000644000175000001440000000341410325210712031205 0ustar dokousers// Tags: JDK1.2 // Uses: ../TestList // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JList.AccessibleJList.AccessibleJListChild; import javax.accessibility.AccessibleComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.JList.AccessibleJList.TestList; /** * Checks if the method isEnabled works correctly. This method should return * the value of the enabled flag of the parent list. * * @author Roman Kennke (kennke@aicas.com) */ public class isEnabled implements Testlet { /** * Starts the test. * * @param harness the test harness to use */ public void test(TestHarness harness) { TestList l = new TestList(new String[]{"item"}); TestList.AccessibleTestList al = (TestList.AccessibleTestList) l.getAccessibleContext(); l.setEnabled(true); AccessibleComponent child = (AccessibleComponent) al.getAccessibleChild(0); harness.check(child.isEnabled(), true); l.setEnabled(false); harness.check(child.isEnabled(), false); } } mauve-20140821/gnu/testlet/javax/swing/JList/constructors.java0000644000175000001440000001032510334351303023116 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JList; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Vector; import javax.swing.JList; import javax.swing.ListModel; import javax.swing.ListSelectionModel; import javax.swing.UIManager; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the constructors in the * {@link JList} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { try { UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel"); } catch (Exception e) { e.printStackTrace(); } testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("()"); JList list = new JList(); harness.check(list.getFont(), MetalLookAndFeel.getControlTextFont()); harness.check(list.getForeground(), MetalLookAndFeel.getBlack()); harness.check(list.getBackground(), MetalLookAndFeel.getWindowBackground()); harness.check(list.getDragEnabled(), false); harness.check(list.getSelectionMode(), ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(ListModel)"); JList list = new JList(); harness.check(list.getFont(), MetalLookAndFeel.getControlTextFont()); harness.check(list.getForeground(), MetalLookAndFeel.getBlack()); harness.check(list.getBackground(), MetalLookAndFeel.getWindowBackground()); harness.check(list.getDragEnabled(), false); harness.check(list.getSelectionMode(), ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); // check that null argument triggers a IllegalArgumentException boolean pass = false; try { /*JList list2 =*/ new JList((ListModel) null); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } public void testConstructor3(TestHarness harness) { harness.checkPoint("(Object[])"); JList list = new JList(); harness.check(list.getFont(), MetalLookAndFeel.getControlTextFont()); harness.check(list.getForeground(), MetalLookAndFeel.getBlack()); harness.check(list.getBackground(), MetalLookAndFeel.getWindowBackground()); harness.check(list.getDragEnabled(), false); harness.check(list.getSelectionMode(), ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); // check that null argument is OK JList list2 = new JList((Object[]) null); harness.check(list2.getModel() != null); } public void testConstructor4(TestHarness harness) { harness.checkPoint("(Vector)"); JList list = new JList(); harness.check(list.getFont(), MetalLookAndFeel.getControlTextFont()); harness.check(list.getForeground(), MetalLookAndFeel.getBlack()); harness.check(list.getBackground(), MetalLookAndFeel.getWindowBackground()); harness.check(list.getDragEnabled(), false); harness.check(list.getSelectionMode(), ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); // check that null argument is OK JList list2 = new JList((Vector) null); harness.check(list2.getModel() != null); } } mauve-20140821/gnu/testlet/javax/swing/JList/setBackground.java0000644000175000001440000000475410334351303023152 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JList; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JList; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the setBackground() method of the * {@link JList} class. */ public class setBackground implements Testlet, PropertyChangeListener { PropertyChangeEvent event; public void propertyChange(PropertyChangeEvent e) { event = e; } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // make sure we're using the MetalLookAndFeel try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } JList list = new JList(); list.addPropertyChangeListener(this); harness.check(list.getBackground(), MetalLookAndFeel.getWindowBackground()); list.setBackground(Color.yellow); harness.check(list.getBackground(), Color.yellow); harness.check(event.getPropertyName(), "background"); harness.check(event.getOldValue(), MetalLookAndFeel.getWindowBackground()); harness.check(event.getNewValue(), Color.yellow); list.setBackground(null); harness.check(list.getBackground(), null); harness.check(event.getPropertyName(), "background"); harness.check(event.getOldValue(), Color.yellow); harness.check(event.getNewValue(), null); } } mauve-20140821/gnu/testlet/javax/swing/JList/getNextMatch.java0000644000175000001440000001162010450014054022736 0ustar dokousers/* getNextMatch.java -- some checks for the getNextMatch() method in the JList class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.4 package gnu.testlet.javax.swing.JList; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JList; import javax.swing.text.Position; public class getNextMatch implements Testlet { public void test(TestHarness harness) { JList list = new JList(new Object[] {"A", "B", "C", "a1", "b1", "c1", "AA", "BB", "CC"}); harness.check(list.getNextMatch("A", 0, Position.Bias.Forward), 0); harness.check(list.getNextMatch("A", 1, Position.Bias.Forward), 3); harness.check(list.getNextMatch("A", 2, Position.Bias.Forward), 3); harness.check(list.getNextMatch("A", 3, Position.Bias.Forward), 3); harness.check(list.getNextMatch("A", 4, Position.Bias.Forward), 6); harness.check(list.getNextMatch("A", 5, Position.Bias.Forward), 6); harness.check(list.getNextMatch("A", 6, Position.Bias.Forward), 6); harness.check(list.getNextMatch("A", 7, Position.Bias.Forward), 0); harness.check(list.getNextMatch("A", 8, Position.Bias.Forward), 0); harness.check(list.getNextMatch("a", 0, Position.Bias.Backward), 0); harness.check(list.getNextMatch("a", 1, Position.Bias.Backward), 0); harness.check(list.getNextMatch("a", 2, Position.Bias.Backward), 0); harness.check(list.getNextMatch("a", 3, Position.Bias.Backward), 3); harness.check(list.getNextMatch("a", 4, Position.Bias.Backward), 3); harness.check(list.getNextMatch("a", 5, Position.Bias.Backward), 3); harness.check(list.getNextMatch("a", 6, Position.Bias.Backward), 6); harness.check(list.getNextMatch("a", 7, Position.Bias.Backward), 6); harness.check(list.getNextMatch("a", 8, Position.Bias.Backward), 6); harness.check(list.getNextMatch("A", 0, null), 0); harness.check(list.getNextMatch("A", 1, null), 0); harness.check(list.getNextMatch("A", 2, null), 0); harness.check(list.getNextMatch("A", 3, null), 3); harness.check(list.getNextMatch("A", 4, null), 3); harness.check(list.getNextMatch("A", 5, null), 3); harness.check(list.getNextMatch("A", 6, null), 6); harness.check(list.getNextMatch("A", 7, null), 6); harness.check(list.getNextMatch("A", 8, null), 6); harness.check(list.getNextMatch("Aa", 0, Position.Bias.Forward), 6); harness.check(list.getNextMatch("Aa", 1, Position.Bias.Forward), 6); harness.check(list.getNextMatch("Aa", 2, Position.Bias.Forward), 6); harness.check(list.getNextMatch("Aa", 3, Position.Bias.Forward), 6); harness.check(list.getNextMatch("Aa", 4, Position.Bias.Forward), 6); harness.check(list.getNextMatch("Aa", 5, Position.Bias.Forward), 6); harness.check(list.getNextMatch("Aa", 6, Position.Bias.Forward), 6); harness.check(list.getNextMatch("Aa", 7, Position.Bias.Forward), 6); harness.check(list.getNextMatch("Aa", 8, Position.Bias.Forward), 6); harness.check(list.getNextMatch("", 0, Position.Bias.Forward), 0); harness.check(list.getNextMatch("", 1, Position.Bias.Forward), 1); harness.check(list.getNextMatch("", 2, Position.Bias.Forward), 2); harness.check(list.getNextMatch("", 3, Position.Bias.Forward), 3); harness.check(list.getNextMatch("", 4, Position.Bias.Forward), 4); harness.check(list.getNextMatch("", 5, Position.Bias.Forward), 5); harness.check(list.getNextMatch("", 6, Position.Bias.Forward), 6); harness.check(list.getNextMatch("", 7, Position.Bias.Forward), 7); harness.check(list.getNextMatch("D", 0, Position.Bias.Forward), -1); // try null string boolean pass = false; try { list.getNextMatch(null, 0, Position.Bias.Forward); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try negative index pass = false; try { list.getNextMatch("A", -1, Position.Bias.Forward); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try index == list size pass = false; try { list.getNextMatch("A", 9, Position.Bias.Forward); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JList/setSelectionBackground.java0000644000175000001440000000510110334351303025003 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JList; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JList; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the setSelectionBackground() method of the * {@link JList} class. */ public class setSelectionBackground implements Testlet, PropertyChangeListener { PropertyChangeEvent event; public void propertyChange(PropertyChangeEvent e) { event = e; } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // make sure we're using the MetalLookAndFeel try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } JList list = new JList(); list.addPropertyChangeListener(this); harness.check(list.getSelectionBackground(), MetalLookAndFeel.getTextHighlightColor()); list.setSelectionBackground(Color.yellow); harness.check(list.getSelectionBackground(), Color.yellow); harness.check(event.getPropertyName(), "selectionBackground"); harness.check(event.getOldValue(), MetalLookAndFeel.getTextHighlightColor()); harness.check(event.getNewValue(), Color.yellow); list.setSelectionBackground(null); harness.check(list.getSelectionBackground(), null); harness.check(event.getPropertyName(), "selectionBackground"); harness.check(event.getOldValue(), Color.yellow); harness.check(event.getNewValue(), null); } } mauve-20140821/gnu/testlet/javax/swing/JList/setModel.java0000644000175000001440000000471010334351303022123 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JList; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.DefaultListModel; import javax.swing.JList; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the setModel() method of the * {@link JList} class. */ public class setModel implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // make sure we're using the MetalLookAndFeel try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } JList list = new JList(); list.addPropertyChangeListener(this); DefaultListModel m = new DefaultListModel(); list.setModel(m); harness.check(list.getModel(), m); harness.check(events.size(), 1); PropertyChangeEvent e0 = (PropertyChangeEvent) events.get(0); harness.check(e0.getPropertyName(), "model"); harness.check(e0.getOldValue() != null); harness.check(e0.getNewValue(), m); // try null argument boolean pass = false; try { list.setModel(null); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JList/getBackground.java0000644000175000001440000000360010334351303023123 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JList; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.JList; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getBackground() method of the * {@link JList} class. */ public class getBackground implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // make sure we're using the MetalLookAndFeel try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } JList list = new JList(); harness.check(list.getBackground(), MetalLookAndFeel.getWindowBackground()); list.setBackground(Color.yellow); harness.check(list.getBackground(), Color.yellow); list.setBackground(null); harness.check(list.getBackground(), null); } } mauve-20140821/gnu/testlet/javax/swing/JList/setValueIsAdjusting.java0000644000175000001440000000407010447775354024330 0ustar dokousers/* setValueIsAdjusting.java -- some checks for the setValueIsAdjusting() method in the JList class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JList; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.JList; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; public class setValueIsAdjusting implements Testlet, PropertyChangeListener, ListSelectionListener { List events = new java.util.ArrayList(); public void valueChanged(ListSelectionEvent e) { events.add(e); } public void propertyChange(PropertyChangeEvent e) { events.add(e); } public void test(TestHarness harness) { JList list = new JList(); list.addListSelectionListener(this); harness.check(list.getValueIsAdjusting(), false); harness.check(list.getSelectionModel().getValueIsAdjusting(), false); list.setValueIsAdjusting(true); harness.check(list.getValueIsAdjusting(), true); harness.check(list.getSelectionModel().getValueIsAdjusting(), true); harness.check(events.size(), 0); list.getSelectionModel().setValueIsAdjusting(false); harness.check(list.getValueIsAdjusting(), false); } } mauve-20140821/gnu/testlet/javax/swing/JList/getInputMap.java0000644000175000001440000002127610441377016022622 0ustar dokousers/* getInputMap.java -- some checks for the getInputMap() methods in the JList class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 package gnu.testlet.javax.swing.JList; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.InputMap; import javax.swing.JComponent; import javax.swing.JList; import javax.swing.KeyStroke; public class getInputMap implements Testlet { public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("()"); JList list = new JList(); InputMap m1 = list.getInputMap(); InputMap m2 = list.getInputMap(JComponent.WHEN_FOCUSED); harness.check(m1 == m2); } public void testMethod2(TestHarness harness) { harness.checkPoint("(int)"); JList list = new JList(); InputMap m1 = list.getInputMap(JComponent.WHEN_FOCUSED); harness.check(m1.keys(), null); InputMap m1p = m1.getParent(); harness.check(m1p.get(KeyStroke.getKeyStroke("ctrl pressed DOWN")), "selectNextRowChangeLead"); harness.check(m1p.get(KeyStroke.getKeyStroke("shift pressed UP")), "selectPreviousRowExtendSelection"); harness.check(m1p.get(KeyStroke.getKeyStroke("ctrl pressed RIGHT")), "selectNextColumnChangeLead"); harness.check(m1p.get(KeyStroke.getKeyStroke("shift ctrl pressed LEFT")), "selectPreviousColumnExtendSelection"); harness.check(m1p.get(KeyStroke.getKeyStroke("shift pressed KP_UP")), "selectPreviousRowExtendSelection"); harness.check(m1p.get(KeyStroke.getKeyStroke("pressed DOWN")), "selectNextRow"); harness.check(m1p.get(KeyStroke.getKeyStroke("ctrl pressed UP")), "selectPreviousRowChangeLead"); harness.check(m1p.get(KeyStroke.getKeyStroke("ctrl pressed LEFT")), "selectPreviousColumnChangeLead"); harness.check(m1p.get(KeyStroke.getKeyStroke("pressed CUT")), "cut"); harness.check(m1p.get(KeyStroke.getKeyStroke("pressed END")), "selectLastRow"); harness.check(m1p.get(KeyStroke.getKeyStroke("shift pressed PAGE_UP")), "scrollUpExtendSelection"); harness.check(m1p.get(KeyStroke.getKeyStroke("pressed KP_UP")), "selectPreviousRow"); harness.check(m1p.get(KeyStroke.getKeyStroke("shift ctrl pressed UP")), "selectPreviousRowExtendSelection"); harness.check(m1p.get(KeyStroke.getKeyStroke("ctrl pressed HOME")), "selectFirstRowChangeLead"); harness.check(m1p.get(KeyStroke.getKeyStroke("shift pressed LEFT")), "selectPreviousColumnExtendSelection"); harness.check(m1p.get(KeyStroke.getKeyStroke("ctrl pressed END")), "selectLastRowChangeLead"); harness.check(m1p.get(KeyStroke.getKeyStroke("ctrl pressed PAGE_DOWN")), "scrollDownChangeLead"); harness.check(m1p.get(KeyStroke.getKeyStroke("shift ctrl pressed RIGHT")), "selectNextColumnExtendSelection"); harness.check(m1p.get(KeyStroke.getKeyStroke("pressed LEFT")), "selectPreviousColumn"); harness.check(m1p.get(KeyStroke.getKeyStroke("ctrl pressed PAGE_UP")), "scrollUpChangeLead"); harness.check(m1p.get(KeyStroke.getKeyStroke("pressed KP_LEFT")), "selectPreviousColumn"); harness.check(m1p.get(KeyStroke.getKeyStroke("shift pressed KP_RIGHT")), "selectNextColumnExtendSelection"); harness.check(m1p.get(KeyStroke.getKeyStroke("pressed SPACE")), "addToSelection"); harness.check(m1p.get(KeyStroke.getKeyStroke("ctrl pressed SPACE")), "toggleAndAnchor"); harness.check(m1p.get(KeyStroke.getKeyStroke("shift pressed SPACE")), "extendTo"); harness.check(m1p.get(KeyStroke.getKeyStroke("shift ctrl pressed SPACE")), "moveSelectionTo"); harness.check(m1p.get(KeyStroke.getKeyStroke("shift ctrl pressed DOWN")), "selectNextRowExtendSelection"); harness.check(m1p.get(KeyStroke.getKeyStroke("ctrl pressed BACK_SLASH")), "clearSelection"); harness.check(m1p.get(KeyStroke.getKeyStroke("shift pressed HOME")), "selectFirstRowExtendSelection"); harness.check(m1p.get(KeyStroke.getKeyStroke("pressed RIGHT")), "selectNextColumn"); harness.check(m1p.get(KeyStroke.getKeyStroke("shift ctrl pressed PAGE_UP")), "scrollUpExtendSelection"); harness.check(m1p.get(KeyStroke.getKeyStroke("shift pressed DOWN")), "selectNextRowExtendSelection"); harness.check(m1p.get(KeyStroke.getKeyStroke("pressed PAGE_DOWN")), "scrollDown"); harness.check(m1p.get(KeyStroke.getKeyStroke("shift ctrl pressed KP_UP")), "selectPreviousRowExtendSelection"); harness.check(m1p.get(KeyStroke.getKeyStroke("shift pressed KP_LEFT")), "selectPreviousColumnExtendSelection"); harness.check(m1p.get(KeyStroke.getKeyStroke("ctrl pressed X")), "cut"); harness.check(m1p.get(KeyStroke.getKeyStroke( "shift ctrl pressed PAGE_DOWN")), "scrollDownExtendSelection"); harness.check(m1p.get(KeyStroke.getKeyStroke("ctrl pressed SLASH")), "selectAll"); harness.check(m1p.get(KeyStroke.getKeyStroke("ctrl pressed C")), "copy"); harness.check(m1p.get(KeyStroke.getKeyStroke("ctrl pressed KP_RIGHT")), "selectNextColumnChangeLead"); harness.check(m1p.get(KeyStroke.getKeyStroke("shift pressed END")), "selectLastRowExtendSelection"); harness.check(m1p.get(KeyStroke.getKeyStroke("shift ctrl pressed KP_DOWN")), "selectNextRowExtendSelection"); harness.check(m1p.get(KeyStroke.getKeyStroke("ctrl pressed KP_LEFT")), "selectPreviousColumnChangeLead"); harness.check(m1p.get(KeyStroke.getKeyStroke("pressed HOME")), "selectFirstRow"); harness.check(m1p.get(KeyStroke.getKeyStroke("ctrl pressed V")), "paste"); harness.check(m1p.get(KeyStroke.getKeyStroke("pressed KP_DOWN")), "selectNextRow"); harness.check(m1p.get(KeyStroke.getKeyStroke("ctrl pressed KP_DOWN")), "selectNextRowChangeLead"); harness.check(m1p.get(KeyStroke.getKeyStroke("shift pressed RIGHT")), "selectNextColumnExtendSelection"); harness.check(m1p.get(KeyStroke.getKeyStroke("ctrl pressed A")), "selectAll"); harness.check(m1p.get(KeyStroke.getKeyStroke("shift ctrl pressed END")), "selectLastRowExtendSelection"); harness.check(m1p.get(KeyStroke.getKeyStroke("pressed COPY")), "copy"); harness.check(m1p.get(KeyStroke.getKeyStroke("ctrl pressed KP_UP")), "selectPreviousRowChangeLead"); harness.check(m1p.get(KeyStroke.getKeyStroke("shift ctrl pressed KP_LEFT")), "selectPreviousColumnExtendSelection"); harness.check(m1p.get(KeyStroke.getKeyStroke("shift pressed KP_DOWN")), "selectNextRowExtendSelection"); harness.check(m1p.get(KeyStroke.getKeyStroke("pressed UP")), "selectPreviousRow"); harness.check(m1p.get(KeyStroke.getKeyStroke("shift ctrl pressed HOME")), "selectFirstRowExtendSelection"); harness.check(m1p.get(KeyStroke.getKeyStroke("shift pressed PAGE_DOWN")), "scrollDownExtendSelection"); harness.check(m1p.get(KeyStroke.getKeyStroke("pressed KP_RIGHT")), "selectNextColumn"); harness.check(m1p.get(KeyStroke.getKeyStroke( "shift ctrl pressed KP_RIGHT")), "selectNextColumnExtendSelection"); harness.check(m1p.get(KeyStroke.getKeyStroke("pressed PAGE_UP")), "scrollUp"); harness.check(m1p.get(KeyStroke.getKeyStroke("pressed PASTE")), "paste"); InputMap m2 = list.getInputMap( JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); harness.check(m2.keys(), null); harness.check(m2.getParent(), null); InputMap m3 = list.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW); harness.check(m3.keys(), null); harness.check(m3.getParent(), null); } } mauve-20140821/gnu/testlet/javax/swing/JList/setVisibleRowCount.java0000644000175000001440000000557010447775354024213 0ustar dokousers/* setVisibleRowCount.java -- some checks for the setVisibleRowCount() method in the JList class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JList; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.JList; public class setVisibleRowCount implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } public void test(TestHarness harness) { JList list = new JList(); harness.check(list.getVisibleRowCount(), 8); list.addPropertyChangeListener(this); list.setVisibleRowCount(13); harness.check(list.getVisibleRowCount(), 13); harness.check(events.size(), 1); PropertyChangeEvent e0 = (PropertyChangeEvent) events.get(0); harness.check(e0.getSource(), list); harness.check(e0.getPropertyName(), "visibleRowCount"); harness.check(e0.getOldValue(), new Integer(8)); harness.check(e0.getNewValue(), new Integer(13)); // setting the same value generates no event events.clear(); list.setVisibleRowCount(13); harness.check(events.size(), 0); // try zero list.setVisibleRowCount(0); harness.check(list.getVisibleRowCount(), 0); // try a negative value events.clear(); list.setVisibleRowCount(-1); harness.check(list.getVisibleRowCount(), 0); harness.check(events.size(), 1); e0 = (PropertyChangeEvent) events.get(0); harness.check(e0.getSource(), list); harness.check(e0.getPropertyName(), "visibleRowCount"); harness.check(e0.getOldValue(), new Integer(0)); harness.check(e0.getNewValue(), new Integer(-1)); events.clear(); list.setVisibleRowCount(-99); harness.check(list.getVisibleRowCount(), 0); e0 = (PropertyChangeEvent) events.get(0); harness.check(e0.getSource(), list); harness.check(e0.getPropertyName(), "visibleRowCount"); harness.check(e0.getOldValue(), new Integer(0)); harness.check(e0.getNewValue(), new Integer(-99)); } } mauve-20140821/gnu/testlet/javax/swing/JList/getSelectionBackground.java0000644000175000001440000000370110334351303024773 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JList; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.JList; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getSelectionBackground() method of the * {@link JList} class. */ public class getSelectionBackground implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // make sure we're using the MetalLookAndFeel try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } JList list = new JList(); harness.check(list.getSelectionBackground(), MetalLookAndFeel.getTextHighlightColor()); list.setSelectionBackground(Color.yellow); harness.check(list.getSelectionBackground(), Color.yellow); list.setSelectionBackground(null); harness.check(list.getSelectionBackground(), null); } } mauve-20140821/gnu/testlet/javax/swing/JList/setLayoutOrientation.java0000644000175000001440000000450710447760530024573 0ustar dokousers/* setLayoutOrientation.java -- some checks for the setLayoutOrientation() method in the JList class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JList; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.JList; public class setLayoutOrientation implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } public void test(TestHarness harness) { JList list = new JList(); list.addPropertyChangeListener(this); harness.check(list.getLayoutOrientation(), JList.VERTICAL); list.setLayoutOrientation(JList.HORIZONTAL_WRAP); harness.check(list.getLayoutOrientation(), JList.HORIZONTAL_WRAP); harness.check(events.size(), 1); PropertyChangeEvent e0 = (PropertyChangeEvent) events.get(0); harness.check(e0.getSource(), list); harness.check(e0.getPropertyName(), "layoutOrientation"); harness.check(e0.getOldValue(), new Integer(JList.VERTICAL)); harness.check(e0.getNewValue(), new Integer(JList.HORIZONTAL_WRAP)); // setting the same value again generates no event events.clear(); list.setLayoutOrientation(JList.HORIZONTAL_WRAP); harness.check(events.size(), 0); // try a bad value boolean pass = false; try { list.setLayoutOrientation(99); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JFrame/0000755000175000001440000000000012375316426017637 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JFrame/isRootPaneCheckingEnabled.java0000644000175000001440000000620710333737517025501 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2004 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JFrame; import java.awt.Component; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JRootPane; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class isRootPaneCheckingEnabled implements Testlet { /** * Overrides some protected methods to make them public for testing. * * @author Roman Kennke (kennke@aicas.com) */ class TestFrame extends JFrame { public boolean isRootPaneCheckingEnabled() { return super.isRootPaneCheckingEnabled(); } public void setRootPaneCheckingEnabled(boolean b) { super.setRootPaneCheckingEnabled(b); } } /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testRootPaneCheckingEnabled(harness); testRootPaneCheckingDisabled(harness); } /** * Checks the behaviour with rootPaneCheckingEnabled==true. Adds to the frame * should go to the contentPane. * * @param harness the test harness to use */ private void testRootPaneCheckingEnabled(TestHarness harness) { harness.checkPoint("rootPaneCheckingEnabled"); TestFrame f = new TestFrame(); f.setRootPaneCheckingEnabled(true); JLabel c = new JLabel("Hello"); f.add(c); Component[] children = f.getComponents(); // The frame now still has 1 child, the rootPane. harness.check(children.length, 1); harness.check(children[0] instanceof JRootPane); // Instead, the add has gone to the contentPane which now also has 1 child, // the label. Component[] content = f.getContentPane().getComponents(); harness.check(content.length, 1); harness.check(content[0], c); } /** * Checks the behaviour with rootPaneCheckingEnabled==false. Adds to the frame * should go directly to the frame. * * @param harness the test harness to use */ private void testRootPaneCheckingDisabled(TestHarness harness) { harness.checkPoint("rootPaneCheckingDisabled"); TestFrame f = new TestFrame(); f.setRootPaneCheckingEnabled(false); JLabel c = new JLabel("Hello"); f.add(c); Component[] children = f.getComponents(); // The frame now has 2 children, the rootPane and the label. harness.check(children.length, 2); harness.check(children[0] instanceof JRootPane); harness.check(children[1], c); } } mauve-20140821/gnu/testlet/javax/swing/JFrame/constructors.java0000644000175000001440000001116210441360213023234 0ustar dokousers/* constructors.java Copyright (C) 2006 Red Hat, Tania Bento This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package gnu.testlet.javax.swing.JFrame; import java.awt.BorderLayout; import java.awt.Component; import java.awt.Container; import java.awt.GraphicsConfiguration; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.accessibility.AccessibleContext; import javax.swing.JFrame; import javax.swing.JLayeredPane; import javax.swing.JRootPane; import javax.swing.UIManager; /** * Some checks for the constructors of the {@link JFrame} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // Testing JFrame titles and invisibility testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); testConstructor6(harness); // Testing default properties testFrameInit1(harness); // Testing if-clause testFrameInit2(harness); } /** * Constructor Test #1 No JFrame title is specified. */ public void testConstructor1(TestHarness harness) { JFrame f = new JFrame(); harness.check(f.getTitle(), ""); harness.check(f.isShowing(), false); } /** * Constructor Test #2 JFrame title is specified, but not null. */ public void testConstructor2(TestHarness harness) { JFrame f = new JFrame("JFrameName"); harness.check(f.getTitle(), "JFrameName"); } /** * Constructor Test #2 JFrame title is specified, but null. */ public void testConstructor3(TestHarness harness) { JFrame f = new JFrame(""); harness.check(f.getTitle(), ""); } /** * Constructor Test #3 No JFrame title is specified and * {@link GraphicsConfiguration} specified. */ public void testConstructor5(TestHarness harness) { JFrame f = new JFrame((GraphicsConfiguration) null); harness.check(f.getTitle(), ""); harness.check(f.isShowing(), false); } /** * Constructor #4 JFrame title is specified and {@link GraphicsConfiguration} * specified, but null. */ public void testConstructor4(TestHarness harness) { JFrame f = new JFrame("JFrameName", null); harness.check(f.getTitle(), "JFrameName"); } /** * Constructor #4 No JFrame title is specified and * {@link GraphicsConfiguration} specified, but null. */ public void testConstructor6(TestHarness harness) { JFrame f = new JFrame("", null); harness.check(f.getTitle(), ""); } /** * Default JFrame Properties Test */ public void testFrameInit1(TestHarness harness) { JFrame f = new JFrame(); harness.check(f.getAccessibleContext() instanceof AccessibleContext); harness.check(f.getAccessibleContext() != null); harness.check(f.getBackground(), UIManager.getColor("control")); harness.check(f.getContentPane() instanceof Container); harness.check(f.getContentPane() != null); harness.check(f.getDefaultCloseOperation(), 1); harness.check(f.getGlassPane() instanceof Component); harness.check(f.getGlassPane() != null); harness.check(f.getLayeredPane() instanceof JLayeredPane); harness.check(f.getLayeredPane() != null); harness.check(f.getLayout() instanceof BorderLayout); harness.check(((BorderLayout) f.getLayout()).getHgap(), 0); harness.check(((BorderLayout) f.getLayout()).getVgap(), 0); harness.check(f.getJMenuBar(), null); harness.check(f.getRootPane() instanceof JRootPane); harness.check(f.getRootPane() != null); } /** * If-Clause Test */ public void testFrameInit2(TestHarness harness) { JFrame.setDefaultLookAndFeelDecorated(true); JFrame f = new JFrame(); harness.check(f.isUndecorated(), true); harness.check(f.getRootPane().getWindowDecorationStyle(), 1); } } mauve-20140821/gnu/testlet/javax/swing/JFrame/paint5.java0000644000175000001440000001300410207437311021665 0ustar dokousers// Tags: JDK1.2 GUI // Copyright (C) 2004 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JFrame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Rectangle; import javax.swing.JComponent; import javax.swing.JFrame; /** * Tests how the JFrame paints its five children, verifying * the supplied boundaries and invocation of paint(Graphics). * Needs GUI to run. * @author Audrius Meskauskas (AudriusA@BlueWin.ch)> */ public class paint5 implements Testlet { /** * Width (and height) of the frame (+caption) */ static final int FRAME_SIZE = 200; /** * The preferred width and height for all children. */ static final int CHILD_SIZE = FRAME_SIZE / 4; component north = new component("north"); component center = new component("center"); component south = new component("south"); component east = new component("east"); component west = new component("west"); Dimension pane; int totalPainted = 0; Thread thread; public JFrame showFrame() { JFrame frame = new JFrame(); frame.getContentPane().add(north, BorderLayout.NORTH); frame.getContentPane().add(south, BorderLayout.SOUTH); frame.getContentPane().add(east, BorderLayout.EAST); frame.getContentPane().add(west, BorderLayout.WEST); frame.getContentPane().add(center, BorderLayout.CENTER); frame.setSize(new Dimension(FRAME_SIZE, FRAME_SIZE)); frame.setVisible(true); pane = frame.getContentPane().getSize(); return frame; } class component extends JComponent { String name; int painted; Rectangle bounds; Color color; component(String _name) { name = _name; setPreferredSize(new Dimension(CHILD_SIZE, CHILD_SIZE)); } public void paint(Graphics g) { painted++; color = g.getColor(); bounds = getBounds(); // The purpose of drawing and writing is to ensure that the application // does not hang. g.setColor(Color.white); g.fillOval(0, 0, bounds.width, bounds.height); g.setColor(Color.red); g.drawString(name, CHILD_SIZE / 2, CHILD_SIZE / 2); totalPainted++; if (totalPainted >= 5) thread.interrupt(); } void basicCheck(TestHarness h) { h.check(bounds != null, name + " seems never painted"); h.check(color.getRed() == 0 && color.getGreen() == 0 && color.getBlue() == 0, name + ": default color must be black" ); h.check(painted, 1, name + " must be painted exactly once"); h.checkPoint(name + " placement"); } } public void test(TestHarness harness) { thread = Thread.currentThread(); JFrame frame = showFrame(); try { // Wait for 10 seconds at most, but should be interrupted much earlier. Thread.sleep(10000); } catch (InterruptedException ex) { } north.basicCheck(harness); harness.check(north.bounds.width, pane.width, " north, width"); harness.check(north.bounds.height, CHILD_SIZE, "north, height"); harness.check(north.bounds.x, 0, "north, x"); harness.check(north.bounds.y, 0, "north, y"); south.basicCheck(harness); harness.check(south.bounds.width, pane.width, "south, width"); harness.check(south.bounds.height, CHILD_SIZE, "south, height"); harness.check(south.bounds.x, 0, "south, x"); harness.check(south.bounds.y, pane.height - CHILD_SIZE, "south, y"); east.basicCheck(harness); harness.check(east.bounds.width, CHILD_SIZE, "east, width"); harness.check(east.bounds.height, pane.height - 2 * CHILD_SIZE, "east, height" ); harness.check(east.bounds.x, pane.width - CHILD_SIZE, "east, x"); harness.check(east.bounds.y, CHILD_SIZE, "east, y"); west.basicCheck(harness); harness.check(west.bounds.width, CHILD_SIZE, "west, width"); harness.check(west.bounds.height, pane.height - 2 * CHILD_SIZE, "west, height" ); harness.check(west.bounds.x, 0, "west, x"); harness.check(west.bounds.y, CHILD_SIZE, "west, y"); center.basicCheck(harness); harness.check(center.bounds.width, pane.width - 2 * CHILD_SIZE, "center, width" ); harness.check(center.bounds.height, pane.height - 2 * CHILD_SIZE, "center, height" ); harness.check(center.bounds.x, CHILD_SIZE, "center, x"); harness.check(center.bounds.y, CHILD_SIZE, "center, y"); try { Thread.sleep(200); } catch (InterruptedException ex) { } frame.setVisible(false); frame.dispose(); frame = null; thread = null; pane = null; north = center = south = east = null; } } mauve-20140821/gnu/testlet/javax/swing/JFrame/glassPaneLayout.java0000644000175000001440000000233410316323046023604 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JFrame; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.JFrame; import java.awt.Container; /** * These tests pass with the Sun JDK 1.4.2_05 on GNU/Linux IA-32. */ public class glassPaneLayout implements Testlet { public void test(TestHarness harness) { JFrame f = new JFrame(); harness.check(((Container)f.getGlassPane()).getLayout().getClass(), java.awt.FlowLayout.class); } } mauve-20140821/gnu/testlet/javax/swing/JFrame/HeavyweightComponent.java0000644000175000001440000000523311015022005024625 0ustar dokousers// Tags: JDK1.2 GUI // Uses: ../../../java/awt/LocationTests // Copyright (C) 2006 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JFrame; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.java.awt.LocationTests; import javax.swing.JFrame; import javax.swing.JComponent; import java.awt.*; import java.util.Vector; /** * These tests pass with the Sun JDK 1.4.2_05 on GNU/Linux IA-32. */ public class HeavyweightComponent implements Testlet { // Tests that a heavyweight component is drawn at the correct location // within a JFrame. public void test(TestHarness harness) { int outer_width = 100; int outer_height = 100; int inner_width = 0; int inner_height = 0; Robot r = harness.createRobot(); JFrame f = new JFrame(); f.setLayout(null); Canvas c = new Canvas() { public void paint(Graphics g) { Rectangle r = getBounds(); g.setColor(Color.red); // Subtract 1 from width and height since Graphics methods take // *co-ordinates* as arguments, not widths and heights. g.drawRect(r.x, r.y, r.width - 1, r.height - 1); } }; f.setSize(outer_width, outer_height); f.add(c); f.show(); // Wait for native frame to be fully displayed. r.waitForIdle(); r.delay(1000); Insets i = f.getInsets(); // Calculate area inside window frame. inner_width = outer_width - i.left - i.right; inner_height = outer_height - i.top - i.bottom; c.setBounds(0, 0, inner_width, inner_height); // bounds of red rectangle (1 pixel wide border) Point loc = f.getLocationOnScreen(); Rectangle bounds = new Rectangle(loc.x + i.left, loc.y + i.top, inner_width, inner_height); // Wait for Canvas to paint itself. r.waitForIdle(); r.delay(1000); // Check that the Canvas fills the entire JFrame, within the JFrame's // window frame. LocationTests.checkRectangleCornerColors(harness, r, bounds, Color.red, true); // There is a delay so the tester can see the result. r.delay(3000); } } mauve-20140821/gnu/testlet/javax/swing/JFrame/SetSize.java0000644000175000001440000000621610173262627022072 0ustar dokousers// Tags: JDK1.2 GUI // Copyright (C) 2004 Thomas Zander // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JFrame; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.JFrame; import javax.swing.JComponent; import java.awt.*; import java.util.Vector; /** * These tests pass with the Sun JDK 1.4.2_05 on GNU/Linux IA-32. */ public class SetSize implements Testlet { public void test(TestHarness harness) { JFrame f = new JFrame(); f.setSize(new Dimension(170, 300)); f.setVisible(true); try { Thread.sleep(200); // needed for Suns VM... } catch(InterruptedException e) { return; } Insets i = f.getInsets(); int w = f.getContentPane().getWidth(); int h = f.getContentPane().getHeight(); int x = f.getContentPane().getX(); int y = f.getContentPane().getY(); f.setVisible(false); f.dispose(); // The request of sizing was 170x300, lets see if we managed that. harness.check((w + i.left + i.right) == 170); harness.check((h + i.top + i.bottom) == 300); // The contentPane is per definition set to 0, 0 harness.check(x == 0); harness.check(y == 0); // Content pane Painting Size f = new JFrame(); f.setSize(new Dimension(170, 300)); final Vector vars = new Vector(1); JComponent child = new JComponent() { public void paint(Graphics g) { if(g.getClip() != null) { vars.add(g.getClip()); synchronized(vars) { vars.notifyAll(); } } } }; f.getContentPane().add(child); f.setVisible(true);// technically, this statement should be in the sync block, but that only works on the Sun JVM.. synchronized(vars) { try { vars.wait(1000); // wait until it has been painted, for max of 1 sec. } catch(InterruptedException e) { // fail } finally { w = f.getContentPane().getWidth(); h = f.getContentPane().getHeight(); f.setVisible(false); f.dispose(); } } Rectangle r = (Rectangle) vars.get(0); harness.check(r != null); harness.check(w == r.getWidth()); harness.check(h == r.getHeight()); } } mauve-20140821/gnu/testlet/javax/swing/JFrame/PR34577.java0000644000175000001440000000315110734052360021424 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2007 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JFrame; import javax.swing.JFrame; import javax.swing.JRootPane; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * This checks for the bug found in PR34577, namely that * an exception is thrown when a subclass attempts to change * the root pane. * * @author Andrew John Hughes (gnu_andrew@member.fsf.org) */ public class PR34577 implements Testlet { public void test(TestHarness harness) { new TestFrame(harness); } static class TestFrame extends JFrame { public TestFrame(TestHarness h) { super("TestFrame"); try { setRootPane(new JRootPane()); h.check(true, "Root pane changed successfully."); } catch (IllegalArgumentException e) { h.debug(e); h.fail("Root pane could not be changed."); } } } } mauve-20140821/gnu/testlet/javax/swing/JEditorPane/0000755000175000001440000000000012375316426020637 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JEditorPane/ViewType.java0000644000175000001440000000236510337151313023250 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2005 Red Hat //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JEditorPane; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.JEditorPane; /** * Tests whether a newly created JEditorPane has the proper View type. */ public class ViewType implements Testlet { public void test(TestHarness harness) { JEditorPane pane = new JEditorPane(); harness.check (pane.getUI().getRootView(pane).getView(0).getClass() == javax.swing.text.WrappedPlainView.class); } } mauve-20140821/gnu/testlet/javax/swing/JEditorPane/ConstructorsAndTypes.java0000644000175000001440000000355610346113615025662 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2005 Red Hat //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, //Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JEditorPane; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.JEditorPane; import javax.swing.text.html.HTMLEditorKit; import javax.swing.text.rtf.RTFEditorKit; /** * Tests whether a newly created JEditorPane has the proper EditorKits * set up for different content types. */ public class ConstructorsAndTypes implements Testlet { public void test(TestHarness harness) { JEditorPane pane = new JEditorPane(); harness.check (pane.getEditorKit().getClass().getName(), "javax.swing.JEditorPane$PlainEditorKit"); try { pane = new JEditorPane("http://www.gnu.org"); harness.check (pane.getEditorKit().getClass(), HTMLEditorKit.class); } catch (Exception e) { harness.debug(e); } pane = new JEditorPane ("text/rtf", "hello"); harness.check (pane.getEditorKit().getClass(), RTFEditorKit.class); pane = new JEditorPane ("application/rtf", "hello"); harness.check (pane.getEditorKit().getClass(), RTFEditorKit.class); } } mauve-20140821/gnu/testlet/javax/swing/JEditorPane/setText.java0000644000175000001440000000304510402261066023130 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2006 Mark J. Wielaard (mark@klomp.org) //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, //Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JEditorPane; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.JEditorPane; public class setText implements Testlet { public void test(TestHarness harness) { JEditorPane pane = new JEditorPane(); harness.check(pane.getText(), ""); pane.setText(pane.getText()); harness.check(pane.getText(), ""); pane.setText(""); harness.check(pane.getText(), ""); pane.setText(null); harness.check(pane.getText(), ""); pane.setText("GNU"); harness.check(pane.getText(), "GNU"); pane.setText(pane.getText()); harness.check(pane.getText(), "GNU"); pane.setText(""); harness.check(pane.getText(), ""); pane.setText(null); harness.check(pane.getText(), ""); } } mauve-20140821/gnu/testlet/javax/swing/JEditorPane/ContentType.java0000644000175000001440000000712110346107524023750 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2005 Red Hat //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, //Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JEditorPane; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.JEditorPane; import javax.swing.text.html.HTMLEditorKit; import javax.swing.text.rtf.RTFEditorKit; /** * Tests whether a newly created JEditorPane has the proper EditorKits * set up for different content types. */ public class ContentType implements Testlet { public void test(TestHarness harness) { JEditorPane pane = new JEditorPane(); harness.checkPoint ("Default EditorKits for content types"); harness.check (pane.getEditorKitForContentType ("text/plain").getClass().getName(), "javax.swing.JEditorPane$PlainEditorKit"); harness.check (JEditorPane.getEditorKitClassNameForContentType("text/plain"), "javax.swing.JEditorPane$PlainEditorKit"); harness.check (pane.getEditorKitForContentType ("text/html").getClass(), HTMLEditorKit.class); harness.check (pane.getEditorKitForContentType ("text/rtf").getClass(), RTFEditorKit.class); harness.check (pane.getEditorKitForContentType ("application/rtf").getClass(), RTFEditorKit.class); harness.checkPoint ("Registering an EditorKit for a content type"); harness.check (pane.getEditorKitForContentType ("foobar").getClass().getName(), "javax.swing.JEditorPane$PlainEditorKit"); harness.check (JEditorPane.getEditorKitClassNameForContentType("foobar") == null); harness.check (JEditorPane.createEditorKitForContentType("foobar") == null); JEditorPane.registerEditorKitForContentType ("foobar", "javax.swing.text.html.HTMLEditorKit"); harness.check (pane.getEditorKitForContentType("foobar").getClass(), HTMLEditorKit.class); harness.check (JEditorPane.createEditorKitForContentType("foobar").getClass(), HTMLEditorKit.class); // Explicitly setting the EditorKit takes precedence over the // registered type pane.setEditorKitForContentType ("foobar", new RTFEditorKit()); harness.check (pane.getEditorKitForContentType("foobar").getClass(), RTFEditorKit.class); // We can set the EditorKit for content types previously unintroduced pane.setEditorKitForContentType ("tony", new RTFEditorKit()); harness.check (pane.getEditorKitForContentType("tony").getClass(), RTFEditorKit.class); // But this only affects the instance of JEditorPane, not the class itself harness.check (JEditorPane.createEditorKitForContentType("tony") == null); } } mauve-20140821/gnu/testlet/javax/swing/JEditorPane/getScrollableTracks.java0000644000175000001440000000423110316323046025421 0ustar dokousers//Tags: JDK1.2 GUI //Copyright (C) 2005 Red Hat //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JEditorPane; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.JEditorPane; import javax.swing.JScrollPane; import javax.swing.JFrame; /** *

    This tests whether setDefaultCloseOperation() accepts all * kinds of values whether they are senseful or not.

    * *

    This triggered GNU Classpath bug #12205.

    * *

    TODO: One could make a graphical test for this. For invalid * values the behavior should be like DO_NOTHING_ON_CLOSE

    */ public class getScrollableTracks implements Testlet { public void test(TestHarness harness) { JEditorPane pane = new JEditorPane(); harness.checkPoint("default value"); harness.check (pane.getScrollableTracksViewportWidth() == false); harness.check (pane.getScrollableTracksViewportHeight() == false); harness.checkPoint("after putting in scrollpane"); JScrollPane js = new JScrollPane(pane); harness.check (pane.getScrollableTracksViewportWidth() == false); harness.check (pane.getScrollableTracksViewportHeight() == false); harness.checkPoint("after adding to a JFrame and packing"); JFrame jf = new JFrame(); jf.add(js); jf.pack(); harness.check (pane.getScrollableTracksViewportWidth()); harness.check (pane.getScrollableTracksViewportHeight()); } } mauve-20140821/gnu/testlet/javax/swing/SwingUtilities/0000755000175000001440000000000012375316426021456 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/SwingUtilities/computeUnion.java0000644000175000001440000001204210400601461024764 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004, 2006, David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with GNU Classpath; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.SwingUtilities; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; import javax.swing.SwingUtilities; /** * Some checks for the computeUnion() method in the SwingUtilities * class. */ public class computeUnion implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Rectangle dest = new Rectangle(1, 1, 3, 3); harness.checkPoint("No intersection"); // no intersection - top left SwingUtilities.computeUnion(0, 4, 1, 1, dest); harness.check(dest, new Rectangle(0, 1, 4, 4)); // 1 // no intersection - top dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeUnion(2, 4, 1, 1, dest); harness.check(dest, new Rectangle(1, 1, 3, 4)); // 2 // no intersection - top right dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeUnion(4, 4, 1, 1, dest); harness.check(dest, new Rectangle(1, 1, 4, 4)); // 3 // no intersection - bottom left dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeUnion(0, 0, 1, 1, dest); harness.check(dest, new Rectangle(0, 0, 4, 4)); // 4 // no intersection - bottom dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeUnion(2, 0, 1, 1, dest); harness.check(dest, new Rectangle(1, 0, 3, 4)); // 5 // no intersection - bottom right dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeUnion(4, 0, 1, 1, dest); harness.check(dest, new Rectangle(1, 0, 4, 4)); // 6 // no intersection - left dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeUnion(0, 2, 1, 1, dest); harness.check(dest, new Rectangle(0, 1, 4, 3)); // 7 // no intersection - right dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeUnion(4, 2, 1, 1, dest); harness.check(dest, new Rectangle(1, 1, 4, 3)); // 8 // no intersection - empty rectangle dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeUnion(2, 2, 0, 0, dest); harness.check(dest, new Rectangle(1, 1, 3, 3)); // 9 dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeUnion(0, 0, 0, 0, dest); harness.check(dest, new Rectangle(0, 0, 4, 4)); // 10 harness.checkPoint("Intersection"); // intersection - top left dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeUnion(0, 3, 2, 2, dest); harness.check(dest, new Rectangle(0, 1, 4, 4)); // intersection - top dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeUnion(2, 3, 1, 2, dest); harness.check(dest, new Rectangle(1, 1, 3, 4)); // intersection - top right dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeUnion(3, 3, 2, 2, dest); harness.check(dest, new Rectangle(1, 1, 4, 4)); // intersection - bottom left dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeUnion(0, 0, 2, 2, dest); harness.check(dest, new Rectangle(0, 0, 4, 4)); // intersection - bottom dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeUnion(2, 0, 1, 2, dest); harness.check(dest, new Rectangle(1, 0, 3, 4)); // intersection - bottom right dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeUnion(3, 0, 2, 2, dest); harness.check(dest, new Rectangle(1, 0, 4, 4)); // intersection - left dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeUnion(0, 2, 2, 1, dest); harness.check(dest, new Rectangle(0, 1, 4, 3)); // no intersection - right dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeUnion(3, 2, 2, 1, dest); harness.check(dest, new Rectangle(1, 1, 4, 3)); dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeUnion(0, 0, 4, 4, dest); harness.check(dest, new Rectangle(0, 0, 4, 4)); harness.checkPoint("Null arguments"); // test null argument - the API spec doesn't specify what should // happen, but a NullPointerException is the usual result elsewhere try { /* Rectangle r2 = */ SwingUtilities.computeIntersection(1, 2, 3, 4, null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/javax/swing/SwingUtilities/calculateInnerArea.java0000644000175000001440000000362410405361333026035 0ustar dokousers/* calculateInnerArea.java -- some checks for the calculateInnerArea() method in the SwingUtilities class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.SwingUtilities; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import java.awt.Rectangle; import javax.swing.JPanel; import javax.swing.SwingUtilities; import javax.swing.border.EmptyBorder; public class calculateInnerArea implements Testlet { public void test(TestHarness harness) { JPanel c = new JPanel(); c.setBorder(new EmptyBorder(1, 2, 3, 4)); c.setSize(new Dimension(100, 200)); // test with null r Rectangle r = SwingUtilities.calculateInnerArea(c, null); harness.check(r, new Rectangle(2, 1, 94, 196)); // check that passed in rectangle is returned Rectangle rr = new Rectangle(); r = SwingUtilities.calculateInnerArea(c, rr); harness.check(r == rr); harness.check(r, new Rectangle(2, 1, 94, 196)); // try null component rr = SwingUtilities.calculateInnerArea(null, r); harness.check(rr, null); harness.check(r, new Rectangle(2, 1, 94, 196)); } } mauve-20140821/gnu/testlet/javax/swing/SwingUtilities/replaceUIActionMap.java0000644000175000001440000000361110334411475025760 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Red Hat // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.SwingUtilities; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.ActionMap; import javax.swing.JComponent; import javax.swing.JTable; import javax.swing.SwingUtilities; import javax.swing.plaf.ActionMapUIResource; /** * Some checks for the layoutCompoundLabel() method in the SwingUtilities * class. */ public class replaceUIActionMap implements Testlet { static int howManyMaps (JComponent t) { ActionMap curr = t.getActionMap(); int num = 0; while (curr != null) { num ++; curr = curr.getParent(); } return num; } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JTable t = new JTable(); harness.check(howManyMaps(t) == 2); ActionMap map1 = SwingUtilities.getUIActionMap(t); map1.setParent(new ActionMap()); harness.check(howManyMaps(t) == 3); ActionMapUIResource map2 = new ActionMapUIResource(); SwingUtilities.replaceUIActionMap(t, map2); harness.check(howManyMaps(t) == 2); } } mauve-20140821/gnu/testlet/javax/swing/SwingUtilities/layoutCompoundLabel.java0000644000175000001440000004535710401063573026307 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.SwingUtilities; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Rectangle; import javax.swing.Icon; import javax.swing.JLabel; import javax.swing.SwingConstants; import javax.swing.SwingUtilities; import javax.swing.plaf.basic.BasicIconFactory; /** * Some checks for the layoutCompoundLabel() method in the SwingUtilities * class. */ public class layoutCompoundLabel implements Testlet, SwingConstants { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); } public void test1(TestHarness harness) { harness.checkPoint("(JComponent)"); test1TextOnly(harness); test1IconOnly(harness); test1TextAndIconCL(harness); test1TextAndIconCR(harness); } /** * Tests various combinations with text but no icon. * * @param harness the test harness. */ public void test1TextOnly(TestHarness harness) { JLabel label = new JLabel("X"); Font font = new Font("Dialog", Font.PLAIN, 12); FontMetrics fm = label.getFontMetrics(font); String text = "X"; String displayText = ""; int ww = fm.stringWidth(text); int hh = fm.getHeight(); Icon icon = null; Rectangle viewR = new Rectangle(10, 20, 100, 25); Rectangle iconR = new Rectangle(); Rectangle textR = new Rectangle(); harness.checkPoint("TL-text"); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, TOP, LEFT, CENTER, LEFT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(iconR, new Rectangle(10 + ww, 20 + hh / 2, 0, 0)); harness.check(textR, new Rectangle(10, 20, ww, hh)); harness.checkPoint("TC-text"); iconR = new Rectangle(); textR = new Rectangle(); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, TOP, CENTER, CENTER, LEFT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(iconR, new Rectangle(60 + (ww + 1) / 2, 20 + hh / 2, 0, 0)); harness.check(textR, new Rectangle(60 - ww / 2, 20, ww, hh)); harness.checkPoint("TR-text"); iconR = new Rectangle(); textR = new Rectangle(); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, TOP, RIGHT, CENTER, LEFT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(iconR, new Rectangle(110, 20 + hh / 2, 0, 0)); harness.check(textR, new Rectangle(110 - ww, 20, ww, hh)); harness.checkPoint("CL-text"); iconR = new Rectangle(); textR = new Rectangle(); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, CENTER, LEFT, CENTER, LEFT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(iconR, new Rectangle(10 + ww, 32, 0, 0)); harness.check(textR, new Rectangle(10, 32 - hh / 2, ww, hh)); harness.checkPoint("CC-text"); iconR = new Rectangle(); textR = new Rectangle(); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, CENTER, CENTER, CENTER, LEFT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(iconR, new Rectangle(60 + (ww + 1) / 2, 32, 0, 0)); harness.check(textR, new Rectangle(60 - ww / 2, 32 - hh / 2, ww, hh)); harness.checkPoint("CR-text"); iconR = new Rectangle(); textR = new Rectangle(); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, CENTER, RIGHT, CENTER, LEFT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(iconR, new Rectangle(110, 32, 0, 0)); harness.check(textR, new Rectangle(110 - ww, 32 - hh / 2, ww, hh)); harness.checkPoint("BL-text"); iconR = new Rectangle(); textR = new Rectangle(); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, BOTTOM, LEFT, CENTER, LEFT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(iconR, new Rectangle(10 + ww, 37, 0, 0)); harness.check(textR, new Rectangle(10, 45 - hh, ww, hh)); harness.checkPoint("BC-text"); iconR = new Rectangle(); textR = new Rectangle(); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, BOTTOM, CENTER, CENTER, LEFT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(iconR, new Rectangle(60 + (ww + 1) / 2, 37, 0, 0)); harness.check(textR, new Rectangle(60 - ww / 2, 45 - hh, ww, hh)); harness.checkPoint("BR-text"); iconR = new Rectangle(); textR = new Rectangle(); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, BOTTOM, RIGHT, CENTER, LEFT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(iconR, new Rectangle(110, 37, 0, 0)); harness.check(textR, new Rectangle(110 - ww, 45 - hh, ww, hh)); } public void test1IconOnly(TestHarness harness) { JLabel label = new JLabel("X"); Font font = new Font("Dialog", Font.PLAIN, 12); FontMetrics fm = label.getFontMetrics(font); String text = null; String displayText = ""; Icon icon = BasicIconFactory.getMenuArrowIcon(); int ww = icon.getIconWidth(); int hh = icon.getIconHeight(); Rectangle viewR = new Rectangle(10, 20, 100, 25); Rectangle iconR = new Rectangle(); Rectangle textR = new Rectangle(); harness.checkPoint("TL-icon"); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, TOP, LEFT, CENTER, LEFT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(textR, new Rectangle(10, 24, 0, 0)); harness.check(iconR, new Rectangle(10, 20, ww, hh)); harness.checkPoint("TC-icon"); iconR = new Rectangle(); textR = new Rectangle(); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, TOP, CENTER, CENTER, LEFT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(textR, new Rectangle(60 - ww / 2, 24, 0, 0)); harness.check(iconR, new Rectangle(60 - ww / 2, 20, ww, hh)); harness.checkPoint("TR-icon"); iconR = new Rectangle(); textR = new Rectangle(); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, TOP, RIGHT, CENTER, LEFT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(textR, new Rectangle(110 - ww, 24, 0, 0)); harness.check(iconR, new Rectangle(110 - ww, 20, ww, hh)); harness.checkPoint("CL-icon"); iconR = new Rectangle(); textR = new Rectangle(); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, CENTER, LEFT, CENTER, LEFT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(textR, new Rectangle(10, 32, 0, 0)); harness.check(iconR, new Rectangle(10, 32 - hh / 2, ww, hh)); harness.checkPoint("CC-icon"); iconR = new Rectangle(); textR = new Rectangle(); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, CENTER, CENTER, CENTER, LEFT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(textR, new Rectangle(60 - ww / 2, 32, 0, 0)); harness.check(iconR, new Rectangle(60 - ww / 2, 32 - hh / 2, ww, hh)); harness.checkPoint("CR-icon"); iconR = new Rectangle(); textR = new Rectangle(); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, CENTER, RIGHT, CENTER, LEFT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(textR, new Rectangle(110 - ww, 32, 0, 0)); harness.check(iconR, new Rectangle(110 - ww, 32 - hh / 2, ww, hh)); harness.checkPoint("BL-icon"); iconR = new Rectangle(); textR = new Rectangle(); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, BOTTOM, LEFT, CENTER, LEFT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(textR, new Rectangle(10, 41, 0, 0)); harness.check(iconR, new Rectangle(10, 45 - hh, ww, hh)); harness.checkPoint("BC-icon"); iconR = new Rectangle(); textR = new Rectangle(); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, BOTTOM, CENTER, CENTER, LEFT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(textR, new Rectangle(60 - ww / 2, 41, 0, 0)); harness.check(iconR, new Rectangle(60 - ww / 2, 45 - hh, ww, hh)); harness.checkPoint("BR-icon"); iconR = new Rectangle(); textR = new Rectangle(); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, BOTTOM, RIGHT, CENTER, LEFT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(textR, new Rectangle(110 - ww, 41, 0, 0)); harness.check(iconR, new Rectangle(110 - ww, 45 - hh, ww, hh)); } public void test1TextAndIconCL(TestHarness harness) { JLabel label = new JLabel("X"); Font font = new Font("Dialog", Font.PLAIN, 12); FontMetrics fm = label.getFontMetrics(font); String text = "X"; String displayText = ""; int ww = fm.stringWidth(text); int hh = fm.getHeight(); Icon icon = BasicIconFactory.getMenuArrowIcon(); int iconW = icon.getIconWidth(); int iconH = icon.getIconHeight(); Rectangle viewR = new Rectangle(10, 20, 100, 25); Rectangle iconR = new Rectangle(); Rectangle textR = new Rectangle(); harness.checkPoint("TL-CL"); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, TOP, LEFT, CENTER, LEFT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(iconR, new Rectangle(10 + ww + 3, 20 + ((hh - icon.getIconHeight()) / 2), iconW, iconH)); harness.check(textR, new Rectangle(10, 20, ww, hh)); harness.checkPoint("TC-CL"); iconR = new Rectangle(); textR = new Rectangle(); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, TOP, CENTER, CENTER, LEFT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(iconR, new Rectangle(60 + ww / 2, 20 + ((hh - icon.getIconHeight()) / 2), iconW, iconH)); harness.check(textR, new Rectangle(60 - (ww + 1) / 2 - 3, 20, ww, hh)); harness.checkPoint("TR-CL"); iconR = new Rectangle(); textR = new Rectangle(); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, TOP, RIGHT, CENTER, LEFT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(iconR, new Rectangle(110 - iconW, 20 + ((hh - icon.getIconHeight()) / 2), iconW, iconH)); harness.check(textR, new Rectangle(110 - ww - iconW - 3, 20, ww, hh)); harness.checkPoint("CL-CL"); iconR = new Rectangle(); textR = new Rectangle(); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, CENTER, LEFT, CENTER, LEFT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(iconR, new Rectangle(10 + ww + 3, 32 - iconH / 2, iconW, iconH)); harness.check(textR, new Rectangle(10, 32 - hh / 2, ww, hh)); harness.checkPoint("CC-CL"); iconR = new Rectangle(); textR = new Rectangle(); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, CENTER, CENTER, CENTER, LEFT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(iconR, new Rectangle(60 + ww / 2, 32 - iconH / 2, iconW, iconH)); harness.check(textR, new Rectangle(60 - (ww + 1) / 2 - 3, 32 - hh / 2, ww, hh)); harness.checkPoint("CR-CL"); iconR = new Rectangle(); textR = new Rectangle(); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, CENTER, RIGHT, CENTER, LEFT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(iconR, new Rectangle(110 - iconW, 32 - iconH / 2, iconW, iconH)); harness.check(textR, new Rectangle(110 - ww - iconW - 3, 32 - hh / 2, ww, hh)); harness.checkPoint("BL-CL"); iconR = new Rectangle(); textR = new Rectangle(); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, BOTTOM, LEFT, CENTER, LEFT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(iconR, new Rectangle(10 + ww + 3, 45 - hh + (hh - iconH) / 2, iconW, iconH)); harness.check(textR, new Rectangle(10, 45 - hh, ww, hh)); harness.checkPoint("BC-CL"); iconR = new Rectangle(); textR = new Rectangle(); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, BOTTOM, CENTER, CENTER, LEFT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(iconR, new Rectangle(60 + ww / 2, 45 - hh + (hh - iconH) / 2, iconW, iconH)); harness.check(textR, new Rectangle(60 - (ww + 1) / 2 - 3, 45 - hh, ww, hh)); harness.checkPoint("BR-CL"); iconR = new Rectangle(); textR = new Rectangle(); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, BOTTOM, RIGHT, CENTER, LEFT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(iconR, new Rectangle(110 - iconW, 45 - hh + (hh - iconH) / 2, iconW, iconH)); harness.check(textR, new Rectangle(110 - ww - iconW - 3, 45 - hh, ww, hh)); } public void test1TextAndIconCR(TestHarness harness) { JLabel label = new JLabel("X"); Font font = new Font("Dialog", Font.PLAIN, 12); FontMetrics fm = label.getFontMetrics(font); String text = "X"; String displayText = ""; int ww = fm.stringWidth(text); int hh = fm.getHeight(); Icon icon = BasicIconFactory.getMenuArrowIcon(); int iconW = icon.getIconWidth(); int iconH = icon.getIconHeight(); Rectangle viewR = new Rectangle(10, 20, 100, 25); Rectangle iconR = new Rectangle(); Rectangle textR = new Rectangle(); harness.checkPoint("TL-CR"); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, TOP, LEFT, CENTER, RIGHT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(iconR, new Rectangle(10, 20 + ((hh - icon.getIconHeight()) / 2), iconW, iconH)); harness.check(textR, new Rectangle(10 + iconW + 3, 20, ww, hh)); harness.checkPoint("TC-CR"); iconR = new Rectangle(); textR = new Rectangle(); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, TOP, CENTER, CENTER, RIGHT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(iconR, new Rectangle(60 - (ww + 1) / 2 - 3, 20 + ((hh - icon.getIconHeight()) / 2), iconW, iconH)); harness.check(textR, new Rectangle(60 + (iconW + 3 + ww + 1) / 2 - ww, 20, ww, hh)); harness.checkPoint("TR-CR"); iconR = new Rectangle(); textR = new Rectangle(); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, TOP, RIGHT, CENTER, RIGHT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(iconR, new Rectangle(110 - ww - iconW - 3, 20 + ((hh - icon.getIconHeight()) / 2), iconW, iconH)); harness.check(textR, new Rectangle(110 - ww, 20, ww, hh)); harness.checkPoint("CL-CR"); iconR = new Rectangle(); textR = new Rectangle(); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, CENTER, LEFT, CENTER, RIGHT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(iconR, new Rectangle(10, 32 - iconH / 2, iconW, iconH)); harness.check(textR, new Rectangle(10 + iconW + 3, 32 - hh / 2, ww, hh)); harness.checkPoint("CC-CR"); iconR = new Rectangle(); textR = new Rectangle(); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, CENTER, CENTER, CENTER, RIGHT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(iconR, new Rectangle(60 - (ww + 1) / 2 - 3, 32 - iconH / 2, iconW, iconH)); harness.check(textR, new Rectangle(60 + (iconW + 3 + ww + 1) / 2 - ww, 32 - hh / 2, ww, hh)); harness.checkPoint("CR-CR"); iconR = new Rectangle(); textR = new Rectangle(); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, CENTER, RIGHT, CENTER, RIGHT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(iconR, new Rectangle(110 - ww - iconW - 3, 32 - iconH / 2, iconW, iconH)); harness.check(textR, new Rectangle(110 - ww, 32 - hh / 2, ww, hh)); harness.checkPoint("BL-CR"); iconR = new Rectangle(); textR = new Rectangle(); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, BOTTOM, LEFT, CENTER, RIGHT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(iconR, new Rectangle(10, 45 - hh + (hh - iconH) / 2, iconW, iconH)); harness.check(textR, new Rectangle(10 + iconW + 3, 45 - hh, ww, hh)); harness.checkPoint("BC-CR"); iconR = new Rectangle(); textR = new Rectangle(); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, BOTTOM, CENTER, CENTER, RIGHT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(iconR, new Rectangle(60 - (ww + 1) / 2 - 3, 45 - hh + (hh - iconH) / 2, iconW, iconH)); harness.check(textR, new Rectangle(60 + (iconW + 3 + ww + 1) / 2 - ww, 45 - hh, ww, hh)); harness.checkPoint("BR-CR"); iconR = new Rectangle(); textR = new Rectangle(); displayText = SwingUtilities.layoutCompoundLabel(fm, text, icon, BOTTOM, RIGHT, CENTER, RIGHT, viewR, iconR, textR, 3); harness.check(viewR, new Rectangle(10, 20, 100, 25)); harness.check(iconR, new Rectangle(110 - ww - iconW - 3, 45 - hh + (hh - iconH) / 2, iconW, iconH)); harness.check(textR, new Rectangle(110 - ww, 45 - hh, ww, hh)); } } mauve-20140821/gnu/testlet/javax/swing/SwingUtilities/isRectangleContainingRectangle.java0000644000175000001440000000562410146750023030414 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.SwingUtilities; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; import javax.swing.SwingUtilities; /** * Some checks for the isRectangleContainingRectangle() method in the * SwingUtilities class. */ public class isRectangleContainingRectangle implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Rectangle r0 = new Rectangle(0, 0, 0, 0); Rectangle r1 = new Rectangle(0, 0, 1, 1); Rectangle r2 = new Rectangle(1, 1, 1, 1); Rectangle r3 = new Rectangle(-1, -1, 2, 2); harness.check(SwingUtilities.isRectangleContainingRectangle(r0, r0)); harness.check(!SwingUtilities.isRectangleContainingRectangle(r0, r1)); harness.check(SwingUtilities.isRectangleContainingRectangle(r1, r0)); harness.check(SwingUtilities.isRectangleContainingRectangle(r1, r1)); harness.check(!SwingUtilities.isRectangleContainingRectangle(r1, r2)); harness.check(!SwingUtilities.isRectangleContainingRectangle(r2, r0)); harness.check(!SwingUtilities.isRectangleContainingRectangle(r2, r1)); harness.check(SwingUtilities.isRectangleContainingRectangle(r2, r2)); harness.check(SwingUtilities.isRectangleContainingRectangle(r3, r0)); harness.check(SwingUtilities.isRectangleContainingRectangle(r3, r1)); harness.check(!SwingUtilities.isRectangleContainingRectangle(r3, r2)); harness.checkPoint("Null arguments"); // test null argument - the API spec doesn't specify what should // happen, but a NullPointerException is the usual result elsewhere try { /* Rectangle r2 = */ SwingUtilities.isRectangleContainingRectangle(null, new Rectangle()); harness.check(false); } catch (NullPointerException e) { harness.check(true); } try { /* Rectangle r2 = */ SwingUtilities.isRectangleContainingRectangle(new Rectangle(), null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } } }mauve-20140821/gnu/testlet/javax/swing/SwingUtilities/computeIntersection.java0000644000175000001440000001125710400601461026351 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004, 2006, David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with GNU Classpath; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.SwingUtilities; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; import javax.swing.SwingUtilities; /** * Some checks for the computeIntersection() method in the SwingUtilities * class. */ public class computeIntersection implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Rectangle dest = new Rectangle(1, 1, 3, 3); harness.checkPoint("No intersection"); // no intersection - top left SwingUtilities.computeIntersection(0, 4, 1, 1, dest); harness.check(dest.isEmpty()); // no intersection - top dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeIntersection(2, 4, 1, 1, dest); harness.check(dest.isEmpty()); // no intersection - top right dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeIntersection(4, 4, 1, 1, dest); harness.check(dest.isEmpty()); // no intersection - bottom left dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeIntersection(0, 0, 1, 1, dest); harness.check(dest.isEmpty()); // no intersection - bottom dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeIntersection(2, 0, 1, 1, dest); harness.check(dest.isEmpty()); // no intersection - bottom right dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeIntersection(4, 0, 1, 1, dest); harness.check(dest.isEmpty()); // no intersection - left dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeIntersection(0, 2, 1, 1, dest); harness.check(dest.isEmpty()); // no intersection - right dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeIntersection(4, 2, 1, 1, dest); harness.check(dest.isEmpty()); // no intersection - empty rectangle dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeIntersection(2, 2, 0, 0, dest); harness.check(dest.isEmpty()); harness.checkPoint("Intersection"); // intersection - top left dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeIntersection(0, 3, 2, 2, dest); harness.check(dest, new Rectangle(1, 3, 1, 1)); // intersection - top dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeIntersection(2, 3, 1, 2, dest); harness.check(dest, new Rectangle(2, 3, 1, 1)); // intersection - top right dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeIntersection(3, 3, 2, 2, dest); harness.check(dest, new Rectangle(3, 3, 1, 1)); // intersection - bottom left dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeIntersection(0, 0, 2, 2, dest); harness.check(dest, new Rectangle(1, 1, 1, 1)); // intersection - bottom dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeIntersection(2, 0, 1, 2, dest); harness.check(dest, new Rectangle(2, 1, 1, 1)); // intersection - bottom right dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeIntersection(3, 0, 2, 2, dest); harness.check(dest, new Rectangle(3, 1, 1, 1)); // intersection - left dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeIntersection(0, 2, 2, 1, dest); harness.check(dest, new Rectangle(1, 2, 1, 1)); // no intersection - right dest = new Rectangle(1, 1, 3, 3); SwingUtilities.computeIntersection(3, 2, 2, 1, dest); harness.check(dest, new Rectangle(3, 2, 1, 1)); harness.checkPoint("Null arguments"); // test null argument - the API spec doesn't specify what should // happen, but a NullPointerException is the usual result elsewhere try { /* Rectangle r2 = */ SwingUtilities.computeIntersection(1, 2, 3, 4, null); harness.check(false); } catch (NullPointerException e) { harness.check(true); } } } mauve-20140821/gnu/testlet/javax/swing/InputMap/0000755000175000001440000000000012375316426020230 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/InputMap/setParent.java0000644000175000001440000000246710452713144023041 0ustar dokousers/* setParent.java -- some checks for the setParent() method in the InputMap class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 package gnu.testlet.javax.swing.InputMap; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.InputMap; public class setParent implements Testlet { public void test(TestHarness harness) { InputMap m = new InputMap(); harness.check(m.getParent(), null); InputMap p = new InputMap(); m.setParent(p); harness.check(m.getParent(), p); m.setParent(null); harness.check(m.getParent(), null); } } mauve-20140821/gnu/testlet/javax/swing/InputMap/constructor.java0000644000175000001440000000237510452713144023457 0ustar dokousers/* constructor.java -- some checks for the constructor in the InputMap class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDk1.3 package gnu.testlet.javax.swing.InputMap; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.InputMap; public class constructor implements Testlet { public void test(TestHarness harness) { InputMap m = new InputMap(); harness.check(m.size(), 0); harness.check(m.getParent(), null); harness.check(m.keys(), null); harness.check(m.allKeys(), null); } } mauve-20140821/gnu/testlet/javax/swing/InputMap/size.java0000644000175000001440000000275710452713144022050 0ustar dokousers/* size.java -- some checks for the size() method in the InputMap class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 package gnu.testlet.javax.swing.InputMap; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.InputMap; import javax.swing.KeyStroke; public class size implements Testlet { public void test(TestHarness harness) { InputMap m = new InputMap(); harness.check(m.size(), 0); m.put(KeyStroke.getKeyStroke('a'), "ABC"); harness.check(m.size(), 1); m.put(KeyStroke.getKeyStroke('b'), "DEF"); harness.check(m.size(), 2); InputMap p = new InputMap(); p.put(KeyStroke.getKeyStroke('c'), "GHI"); m.setParent(p); harness.check(m.size(), 2); m.clear(); harness.check(m.size(), 0); } } mauve-20140821/gnu/testlet/javax/swing/InputMap/keys.java0000644000175000001440000000365010452713144022042 0ustar dokousers/* keys.java -- some checks for the keys() method in the InputMap class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 package gnu.testlet.javax.swing.InputMap; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.InputMap; import javax.swing.KeyStroke; public class keys implements Testlet { public void test(TestHarness harness) { InputMap map = new InputMap(); KeyStroke[] k = map.keys(); harness.check(k, null); map.put(KeyStroke.getKeyStroke('a'), "AAA"); k = map.keys(); harness.check(k.length, 1); harness.check(k[0], KeyStroke.getKeyStroke('a')); map.put(KeyStroke.getKeyStroke('b'), "BBB"); k = map.keys(); harness.check(k.length, 2); harness.check(k[1], KeyStroke.getKeyStroke('b')); map.put(KeyStroke.getKeyStroke('b'), null); k = map.keys(); harness.check(k.length, 1); harness.check(k[0], KeyStroke.getKeyStroke('a')); map.clear(); k = map.keys(); harness.check(k.length, 0); // check that no keys from the parent are used InputMap p = new InputMap(); p.put(KeyStroke.getKeyStroke('z'), "ZZZ"); map.setParent(p); k = map.keys(); harness.check(k.length, 0); } } mauve-20140821/gnu/testlet/javax/swing/InputMap/getParent.java0000644000175000001440000000246710452713144023025 0ustar dokousers/* getParent.java -- some checks for the getParent() method in the InputMap class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 package gnu.testlet.javax.swing.InputMap; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.InputMap; public class getParent implements Testlet { public void test(TestHarness harness) { InputMap m = new InputMap(); harness.check(m.getParent(), null); InputMap p = new InputMap(); m.setParent(p); harness.check(m.getParent(), p); m.setParent(null); harness.check(m.getParent(), null); } } mauve-20140821/gnu/testlet/javax/swing/InputMap/put.java0000644000175000001440000000272710452713144021703 0ustar dokousers/* put.java -- some checks for the put() method in the InputMap class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 package gnu.testlet.javax.swing.InputMap; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.InputMap; import javax.swing.KeyStroke; public class put implements Testlet { public void test(TestHarness harness) { InputMap m = new InputMap(); KeyStroke ks1 = KeyStroke.getKeyStroke('a'); m.put(ks1, "ABC"); harness.check(m.get(ks1), "ABC"); m.put(ks1, "DEF"); harness.check(m.get(ks1), "DEF"); m.put(ks1, null); harness.check(m.get(ks1), null); harness.check(m.size(), 0); // try null key m.put(null, "ZZZ"); harness.check(m.get(null), null); } } mauve-20140821/gnu/testlet/javax/swing/InputMap/newMapKeysNull.java0000644000175000001440000000246710336165747024025 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2005 Red Hat. //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.InputMap; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.InputMap; /** * This tests whether keys() and allKeys() return null for new InputMaps. */ public class newMapKeysNull implements Testlet { public void test(TestHarness harness) { InputMap map = new InputMap(); if (map.keys() != null) harness.fail("New InputMap should return null for keys()"); if (map.allKeys() != null) harness.fail("New ActionMap should return null for allKeys()"); } } mauve-20140821/gnu/testlet/javax/swing/InputMap/allKeys.java0000644000175000001440000000376210452713144022477 0ustar dokousers/* allKeys.java -- some checks for the allKeys() method in the InputMap class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 package gnu.testlet.javax.swing.InputMap; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.InputMap; import javax.swing.KeyStroke; public class allKeys implements Testlet { public void test(TestHarness harness) { InputMap m = new InputMap(); harness.check(m.allKeys(), null); KeyStroke ks1 = KeyStroke.getKeyStroke('a'); m.put(ks1, "AAA"); KeyStroke[] keys = m.allKeys(); harness.check(keys.length, 1); harness.check(keys[0], ks1); InputMap p = new InputMap(); m.setParent(p); keys = m.allKeys(); harness.check(keys.length, 1); harness.check(keys[0], ks1); KeyStroke ks2 = KeyStroke.getKeyStroke('b'); p.put(ks2, "BBB"); keys = m.allKeys(); harness.check(keys.length, 2); harness.check(keys[0], ks2); harness.check(keys[1], ks1); // try a KeyStroke that is defined in both maps KeyStroke ks3 = KeyStroke.getKeyStroke('z'); p.put(ks3, "ZZZ"); m.put(ks3, "XXX"); keys = m.allKeys(); harness.check(keys.length, 3); harness.check(keys[0], ks2); harness.check(keys[1], ks3); harness.check(keys[2], ks1); } } mauve-20140821/gnu/testlet/javax/swing/InputMap/remove.java0000644000175000001440000000346410452713144022367 0ustar dokousers/* remove.java -- some checks for the remove() method in the InputMap class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 package gnu.testlet.javax.swing.InputMap; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.InputMap; import javax.swing.KeyStroke; public class remove implements Testlet { public void test(TestHarness harness) { InputMap m = new InputMap(); KeyStroke ks1 = KeyStroke.getKeyStroke('a'); // try removing from an empty map m.remove(ks1); harness.check(m.get(ks1), null); // add and remove m.put(ks1, "ABC"); harness.check(m.get(ks1), "ABC"); m.remove(ks1); harness.check(m.get(ks1), null); // try removing null m.remove(null); harness.check(m.size(), 0); m.put(ks1, "ABC"); m.remove(null); harness.check(m.size(), 1); // confirm that remove doesn't affect the parent KeyStroke ks2 = KeyStroke.getKeyStroke('b'); InputMap p = new InputMap(); p.put(ks2, "ZZZ"); m.setParent(p); m.remove(ks2); harness.check(m.get(ks2), "ZZZ"); } } mauve-20140821/gnu/testlet/javax/swing/InputMap/get.java0000644000175000001440000000302410452713144021641 0ustar dokousers/* get.java -- some checks for the get() method in the InputMap class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 package gnu.testlet.javax.swing.InputMap; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.InputMap; import javax.swing.KeyStroke; public class get implements Testlet { public void test(TestHarness harness) { InputMap m = new InputMap(); KeyStroke ks1 = KeyStroke.getKeyStroke('a'); harness.check(m.get(ks1), null); m.put(ks1, "ABC"); harness.check(m.get(ks1), "ABC"); harness.check(m.get(null), null); // check that a binding in the parent is found InputMap p = new InputMap(); KeyStroke ks2 = KeyStroke.getKeyStroke('b'); p.put(ks2, "XYZ"); m.setParent(p); harness.check(m.get(ks2), "XYZ"); } } mauve-20140821/gnu/testlet/javax/swing/InputMap/clear.java0000644000175000001440000000303710452713144022154 0ustar dokousers/* clear.java -- some checks for the clear() method in the InputMap class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 package gnu.testlet.javax.swing.InputMap; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.InputMap; import javax.swing.KeyStroke; public class clear implements Testlet { public void test(TestHarness harness) { InputMap m = new InputMap(); m.clear(); harness.check(m.size(), 0); m.put(KeyStroke.getKeyStroke('a'), "AAA"); harness.check(m.size(), 1); m.clear(); harness.check(m.size(), 0); // confirm that this method doesn't change the parent InputMap p = new InputMap(); p.put(KeyStroke.getKeyStroke('z'), "ZZZ"); harness.check(p.size(), 1); m.setParent(p); m.clear(); harness.check(p.size(), 1); } } mauve-20140821/gnu/testlet/javax/swing/JFormattedTextField/0000755000175000001440000000000012375316426022343 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JFormattedTextField/JFormattedTextFieldTests.java0000644000175000001440000000567110345704210030075 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 Red Hat // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JFormattedTextField; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.ParseException; import javax.swing.JFormattedTextField; import javax.swing.text.AbstractDocument; import javax.swing.text.DefaultFormatter; import javax.swing.text.DefaultFormatterFactory; import javax.swing.text.MaskFormatter; /** * Some checks for JFormattedTextField. */ public class JFormattedTextFieldTests implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFormattedTextField field = new JFormattedTextField(); harness.checkPoint ("defaults"); harness.check (((AbstractDocument)field.getDocument()).getDocumentFilter() == null); harness.check (field.getFormatterFactory() == null); harness.check (field.getFormatter() == null); harness.checkPoint ("implicit creation of formatter and factory"); field.setValue("aBcDeFg"); harness.check (((AbstractDocument)field.getDocument()).getDocumentFilter() != null); harness.check (field.getFormatterFactory().getClass(), DefaultFormatterFactory.class); harness.check (field.getFormatter().getClass(), DefaultFormatter.class); harness.checkPoint ("setting formatter changes the text"); MaskFormatter mask = null; DefaultFormatter nullFormatter = new DefaultFormatter(); try { mask = new MaskFormatter ("UUUUUUU"); } catch (ParseException pe) { } DefaultFormatterFactory factory = new DefaultFormatterFactory (mask, null, null, nullFormatter); harness.check (field.getText().equals("aBcDeFg")); field.setFormatterFactory(factory); harness.check (field.getText().equals("ABCDEFG")); harness.checkPoint ("field value going to null brings in nullFormatter"); field.setValue(null); harness.check (field.getFormatter().getClass(), DefaultFormatter.class); harness.checkPoint ("removing the DocumentFilter"); field.getFormatter().uninstall(); harness.check (((AbstractDocument)field.getDocument()).getDocumentFilter() == null); } } mauve-20140821/gnu/testlet/javax/swing/DefaultBoundedRangeModel/0000755000175000001440000000000012375316426023316 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/DefaultBoundedRangeModel/general.java0000644000175000001440000000342310454740051025567 0ustar dokousers// Tags: JDK1.2 // Uses: setRangeProperties // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.DefaultBoundedRangeModel; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * Checks whether the DefaultBoundedRangeModel.toString * method works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class general implements Testlet { public void test(TestHarness harness) { javax.swing.DefaultBoundedRangeModel dbrm; Throwable caught; // Check #1. dbrm = new javax.swing.DefaultBoundedRangeModel(); setRangeProperties.check(harness, dbrm, 0, 0, 0, 100, false); // Check #2. dbrm = new javax.swing.DefaultBoundedRangeModel(5, 2, -1234, 4321); setRangeProperties.check(harness, dbrm, 5, 2, -1234, 4321, false); // Check #3. caught = null; try { dbrm = new javax.swing.DefaultBoundedRangeModel(-2, 0, 10, 20); } catch (Exception ex) { caught = ex; } harness.check(caught instanceof IllegalArgumentException); } } mauve-20140821/gnu/testlet/javax/swing/DefaultBoundedRangeModel/serialization.java0000644000175000001440000000472510454740051027035 0ustar dokousers/* serialization.java -- some checks for object serialization. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.DefaultBoundedRangeModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectInput; import java.io.ObjectInputStream; import java.io.ObjectOutput; import java.io.ObjectOutputStream; import javax.swing.DefaultBoundedRangeModel; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class serialization implements Testlet, ChangeListener { public void stateChanged(ChangeEvent e) { // TODO Auto-generated method stub } public void test(TestHarness harness) { DefaultBoundedRangeModel m1 = new DefaultBoundedRangeModel(1, 2, 0, 99); m1.addChangeListener(this); DefaultBoundedRangeModel m2 = null; try { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); ObjectOutput out = new ObjectOutputStream(buffer); out.writeObject(m1); out.close(); ObjectInput in = new ObjectInputStream(new ByteArrayInputStream( buffer.toByteArray())); m2 = (DefaultBoundedRangeModel) in.readObject(); in.close(); } catch (Exception e) { e.printStackTrace(); } harness.check(m1.getValue(), m2.getValue()); harness.check(m1.getMinimum(), m2.getMinimum()); harness.check(m1.getMaximum(), m2.getMaximum()); harness.check(m1.getExtent(), m2.getExtent()); // the listeners are not restored harness.check(m1.getChangeListeners().length, 1); harness.check(m2.getChangeListeners().length, 0); } } mauve-20140821/gnu/testlet/javax/swing/DefaultBoundedRangeModel/setExtent.java0000644000175000001440000000370507776777033026167 0ustar dokousers// Tags: JDK1.2 // Uses: setRangeProperties // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultBoundedRangeModel; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.DefaultBoundedRangeModel; /** * Checks whether the DefaultBoundedRangeModel.setExtent * method works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class setExtent implements Testlet { public void test(TestHarness harness) { DefaultBoundedRangeModel dbrm = new DefaultBoundedRangeModel(); // Check #1: Value + extent between min and max. dbrm.setRangeProperties(8, 0, 0, 10, false); dbrm.setExtent(2); setRangeProperties.check(harness, dbrm, 8, 2, 0, 10, false); // Check #2: Extent < 0. dbrm.setExtent(-1); setRangeProperties.check(harness, dbrm, 8, 0, 0, 10, false); // Check #3: Value + extent > max. dbrm.setRangeProperties(7, 2, 0, 10, false); dbrm.setExtent(4); setRangeProperties.check(harness, dbrm, 7, 3, 0, 10, false); // Check #4: Value + extent > max; max - extent < min. dbrm.setRangeProperties(7, 2, 0, 10, false); dbrm.setExtent(20); setRangeProperties.check(harness, dbrm, 7, 3, 0, 10, false); } } mauve-20140821/gnu/testlet/javax/swing/DefaultBoundedRangeModel/setMaximum.java0000644000175000001440000000350307776777033026331 0ustar dokousers// Tags: JDK1.2 // Uses: setRangeProperties // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultBoundedRangeModel; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.DefaultBoundedRangeModel; /** * Checks whether the DefaultBoundedRangeModel.setMaximum * method works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class setMaximum implements Testlet { public void test(TestHarness harness) { DefaultBoundedRangeModel dbrm = new DefaultBoundedRangeModel(); // Check #1: Increase maximum. dbrm.setRangeProperties(1, 1, 0, 10, false); dbrm.setMaximum(20); setRangeProperties.check(harness, dbrm, 1, 1, 0, 20, false); // Check #2: Decrease maximum. dbrm.setRangeProperties(600, 10, -3, 700, true); dbrm.setMaximum(543); setRangeProperties.check(harness, dbrm, 533, 10, -3, 543, true); // Check #3: Decrease maximum below minimum. dbrm.setRangeProperties(600, 10, -3, 700, true); dbrm.setMaximum(-4); setRangeProperties.check(harness, dbrm, -4, 0, -4, -4, true); } } mauve-20140821/gnu/testlet/javax/swing/DefaultBoundedRangeModel/getValue.java0000644000175000001440000000264407776543777025767 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.DefaultBoundedRangeModel; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.DefaultBoundedRangeModel; /** * Checks whether the DefaultBoundedRangeModel.getValue * method works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getValue implements Testlet { public void test(TestHarness harness) { DefaultBoundedRangeModel dbrm; // Check #1. dbrm = new DefaultBoundedRangeModel(); harness.check(dbrm.getValue(), 0); // Check #2. dbrm.setRangeProperties(3, 2, -4, 10, false); harness.check(dbrm.getValue(), 3); } } mauve-20140821/gnu/testlet/javax/swing/DefaultBoundedRangeModel/setMinimum.java0000644000175000001440000000437307776777033026335 0ustar dokousers// Tags: JDK1.2 // Uses: setRangeProperties // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultBoundedRangeModel; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.DefaultBoundedRangeModel; /** * Checks whether the DefaultBoundedRangeModel.setMinimum * method works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class setMinimum implements Testlet { public void test(TestHarness harness) { DefaultBoundedRangeModel dbrm = new DefaultBoundedRangeModel(); // Check #1: Increase miminum. Value must not change. dbrm.setRangeProperties(7, 2, 0, 10, true); dbrm.setMinimum(3); setRangeProperties.check(harness, dbrm, 7, 2, 3, 10, true); // Check #2: Increase miminum. Value must be changed. dbrm.setRangeProperties(7, 2, 0, 10, false); dbrm.setMinimum(8); setRangeProperties.check(harness, dbrm, 8, 2, 8, 10, false); // Check #3: Increase miminum. Value and extent must be changed. dbrm.setRangeProperties(7, 2, 0, 10, false); dbrm.setMinimum(9); setRangeProperties.check(harness, dbrm, 9, 1, 9, 10, false); // Check #4: Increase miminum beyond max. dbrm.setRangeProperties(7, 2, 0, 10, false); dbrm.setMinimum(200); setRangeProperties.check(harness, dbrm, 200, 0, 200, 200, false); // Check #5: Decrease minimum. Value must not change. dbrm.setRangeProperties(7, 2, 0, 10, false); dbrm.setMinimum(-20); setRangeProperties.check(harness, dbrm, 7, 2, -20, 10, false); } } mauve-20140821/gnu/testlet/javax/swing/DefaultBoundedRangeModel/getExtent.java0000644000175000001440000000264707776543777026165 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.DefaultBoundedRangeModel; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.DefaultBoundedRangeModel; /** * Checks whether the DefaultBoundedRangeModel.getExtent * method works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getExtent implements Testlet { public void test(TestHarness harness) { DefaultBoundedRangeModel dbrm; // Check #1. dbrm = new DefaultBoundedRangeModel(); harness.check(dbrm.getExtent(), 0); // Check #2. dbrm.setRangeProperties(3, 2, 0, 10, false); harness.check(dbrm.getExtent(), 2); } } mauve-20140821/gnu/testlet/javax/swing/DefaultBoundedRangeModel/toString.java0000644000175000001440000000311407776543777026015 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.DefaultBoundedRangeModel; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.DefaultBoundedRangeModel; /** * Checks whether the DefaultBoundedRangeModel.toString * method works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class toString implements Testlet { public void test(TestHarness harness) { DefaultBoundedRangeModel dbrm; // Check #1. dbrm = new Test(); dbrm.setRangeProperties(3, 2, -4, 10, true); harness.check(dbrm.toString(), "gnu.testlet.javax.swing.DefaultBoundedRangeModel" + ".toString$Test[value=3, extent=2, min=-4, max=" + "10, adj=true]"); } private static class Test extends DefaultBoundedRangeModel { } } mauve-20140821/gnu/testlet/javax/swing/DefaultBoundedRangeModel/getMaximum.java0000644000175000001440000000266107776543777026327 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.DefaultBoundedRangeModel; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.DefaultBoundedRangeModel; /** * Checks whether the DefaultBoundedRangeModel.getMaximum * method works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getMaximum implements Testlet { public void test(TestHarness harness) { DefaultBoundedRangeModel dbrm; // Check #1. dbrm = new DefaultBoundedRangeModel(); harness.check(dbrm.getMaximum(), 100); // Check #2. dbrm.setRangeProperties(3, 2, -4, 123, false); harness.check(dbrm.getMaximum(), 123); } } mauve-20140821/gnu/testlet/javax/swing/DefaultBoundedRangeModel/setValue.java0000644000175000001440000000371507776777033025775 0ustar dokousers// Tags: JDK1.2 // Uses: setRangeProperties // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultBoundedRangeModel; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.DefaultBoundedRangeModel; /** * Checks whether the DefaultBoundedRangeModel.setValue * method works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class setValue implements Testlet { public void test(TestHarness harness) { DefaultBoundedRangeModel dbrm = new DefaultBoundedRangeModel(); // Check #1: Value between min and max. dbrm.setRangeProperties(1, 1, 0, 10, false); dbrm.setValue(5); setRangeProperties.check(harness, dbrm, 5, 1, 0, 10, false); // Check #2: Value < min. dbrm.setRangeProperties(4, 1, 3, 10, false); dbrm.setValue(-5); setRangeProperties.check(harness, dbrm, 3, 1, 3, 10, false); // Check #3: Value > max. dbrm.setRangeProperties(4, 0, 3, 10, false); dbrm.setValue(140); setRangeProperties.check(harness, dbrm, 10, 0, 3, 10, false); // Check #4: Value + extent > max. dbrm.setRangeProperties(4, 4, 3, 10, false); dbrm.setValue(9); setRangeProperties.check(harness, dbrm, 6, 4, 3, 10, false); } } mauve-20140821/gnu/testlet/javax/swing/DefaultBoundedRangeModel/setRangeProperties.java0000644000175000001440000000623407776543777030037 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.DefaultBoundedRangeModel; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.DefaultBoundedRangeModel; /** * Checks whether the DefaultBoundedRangeModel.setRangeProperties * method works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class setRangeProperties implements Testlet { public void test(TestHarness harness) { // Check #1: Normal parameters DefaultBoundedRangeModel dbrm = new DefaultBoundedRangeModel(); dbrm.setRangeProperties(5, 2, 1, 8, false); check(harness, dbrm, 5, 2, 1, 8, false); // Check #2: valueIsAdjusting dbrm.setRangeProperties(5, 2, 1, 8, true); check(harness, dbrm, 5, 2, 1, 8, true); // Check #3: extent < 0 dbrm.setRangeProperties(4, -2, -4, 9, false); check(harness, dbrm, 4, 0, -4, 9, false); // Check #4: value > maximum dbrm.setRangeProperties(14, 0, 1, 8, false); check(harness, dbrm, 14, 0, 1, 14, false); // Check #5: value + extent > maximum dbrm.setRangeProperties(5, 4, 1, 8, false); check(harness, dbrm, 5, 3, 1, 8, false); // Check #6: value < minimum dbrm.setRangeProperties(-3, 1, 0, 8, false); check(harness, dbrm, -3, 1, -3, 8, false); } public static void check(TestHarness harness, DefaultBoundedRangeModel brm, int value, int extent, int minimum, int maximum, boolean adjusting) { int a; boolean b; if ((a = brm.getValue()) != value) { harness.check(false); harness.debug("got value " + a + " but expected " + value); return; } if ((a = brm.getExtent()) != extent) { harness.check(false); harness.debug("got extent " + a + " but expected " + extent); return; } if ((a = brm.getMinimum()) != minimum) { harness.check(false); harness.debug("got minimum " + a + " but expected " + minimum); return; } if ((a = brm.getMaximum()) != maximum) { harness.check(false); harness.debug("got maximum " + a + " but expected " + maximum); return; } if ((b = brm.getValueIsAdjusting()) != adjusting) { harness.check(false); harness.debug("got adjusting " + b + " but expected " + adjusting); return; } harness.check(true); } } mauve-20140821/gnu/testlet/javax/swing/DefaultBoundedRangeModel/getMinimum.java0000644000175000001440000000265507776543777026330 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.DefaultBoundedRangeModel; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.DefaultBoundedRangeModel; /** * Checks whether the DefaultBoundedRangeModel.getMinimum * method works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getMinimum implements Testlet { public void test(TestHarness harness) { DefaultBoundedRangeModel dbrm; // Check #1. dbrm = new DefaultBoundedRangeModel(); harness.check(dbrm.getMinimum(), 0); // Check #2. dbrm.setRangeProperties(3, 2, -4, 10, false); harness.check(dbrm.getMinimum(), -4); } } mauve-20140821/gnu/testlet/javax/swing/DefaultBoundedRangeModel/getValueIsAdjusting.java0000644000175000001440000000273207776543777030132 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.DefaultBoundedRangeModel; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.DefaultBoundedRangeModel; /** * Checks whether the DefaultBoundedRangeModel.getValueIsAdjusting * method works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getValueIsAdjusting implements Testlet { public void test(TestHarness harness) { DefaultBoundedRangeModel dbrm; // Check #1. dbrm = new DefaultBoundedRangeModel(); harness.check(dbrm.getValueIsAdjusting() == false); // Check #2. dbrm.setRangeProperties(3, 2, -4, 10, true); harness.check(dbrm.getValueIsAdjusting() == true); } } mauve-20140821/gnu/testlet/javax/swing/DefaultBoundedRangeModel/setValueIsAdjusting.java0000644000175000001440000000416707776543777030152 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultBoundedRangeModel; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.BoundedRangeModel; import javax.swing.DefaultBoundedRangeModel; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; /** * Checks whether the DefaultBoundedRangeModel.setMaximum * method works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class setValueIsAdjusting implements Testlet { public void test(TestHarness harness) { DefaultBoundedRangeModel dbrm; MyListener ml = new MyListener(); // Check #1. dbrm = new DefaultBoundedRangeModel(); dbrm.addChangeListener(ml); harness.check(!dbrm.getValueIsAdjusting()); // Check #2. dbrm.setValueIsAdjusting(true); harness.check(dbrm.getValueIsAdjusting()); // Check #3. dbrm.setMaximum(5); harness.check(ml.wasAdjusting); // Check #4. dbrm.setValueIsAdjusting(false); harness.check(!dbrm.getValueIsAdjusting()); // Check #5. dbrm.setValue(2); harness.check(!ml.wasAdjusting); } static class MyListener implements ChangeListener { public boolean wasAdjusting = false; public void stateChanged(ChangeEvent evt) { wasAdjusting = ((BoundedRangeModel) evt.getSource()) .getValueIsAdjusting(); } } } mauve-20140821/gnu/testlet/javax/swing/DefaultBoundedRangeModel/getChangeListeners.java0000644000175000001440000000331107776543777027761 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2003 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultBoundedRangeModel; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.DefaultBoundedRangeModel; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; /** * Checks whether the DefaultBoundedRangeModel.getChangeListeners * method works correctly. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getChangeListeners implements Testlet { public void test(TestHarness harness) { DefaultBoundedRangeModel dbrm; ChangeListener l1 = new MyListener(); // Check #1. dbrm = new DefaultBoundedRangeModel(); harness.check(dbrm.getChangeListeners().length == 0); // Check #2. dbrm.setRangeProperties(3, 2, 0, 10, false); harness.check(dbrm.getExtent(), 2); } private static class MyListener implements ChangeListener { public void stateChanged(ChangeEvent e) { } } } mauve-20140821/gnu/testlet/javax/swing/JComponent/0000755000175000001440000000000012375316426020547 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JComponent/getActionForKeyStroke.java0000644000175000001440000000453010450776061025636 0ustar dokousers/* getActionForKeyStroke.java -- some checks for the getActionForKeyStroke() method in the JComponent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JComponent; import javax.swing.KeyStroke; public class getActionForKeyStroke implements Testlet { static class MyJComponent extends JComponent { public MyJComponent() { super(); } } public void test(TestHarness harness) { MyJComponent c = new MyJComponent(); KeyStroke ks = KeyStroke.getKeyStroke('a'); ActionListener a1 = new ActionListener() { public void actionPerformed(ActionEvent e) { // ignore } }; ActionListener a2 = new ActionListener() { public void actionPerformed(ActionEvent e) { // ignore } }; ActionListener a3 = new ActionListener() { public void actionPerformed(ActionEvent e) { // ignore } }; harness.check(c.getActionForKeyStroke(ks), null); c.registerKeyboardAction(a1, ks, JComponent.WHEN_IN_FOCUSED_WINDOW); harness.check(c.getActionForKeyStroke(ks), a1); c.registerKeyboardAction(a2, ks, JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); harness.check(c.getActionForKeyStroke(ks), a2); c.registerKeyboardAction(a3, ks, JComponent.WHEN_FOCUSED); harness.check(c.getActionForKeyStroke(ks), a3); harness.check(c.getActionForKeyStroke(null), null); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/setUI.java0000644000175000001440000000571610325204435022441 0ustar dokousers//Tags: JDK1.2 //Uses: TestComponent //Copyright (C) 2005 Roman Kennke //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JComponent; import javax.swing.plaf.ComponentUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests if setUI works correctly. * * @author Roman Kennke (kennke@aicas.com) */ public class setUI implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testRepaint(harness); testRevalidate(harness); } /** * Tests if setUI triggers a repaint. * * @param harness the test harness to use */ private void testRepaint(TestHarness harness) { TestComponent c = new TestComponent(); ComponentUI u1 = new ComponentUI(){}; ComponentUI u2 = new ComponentUI(){}; c.setBounds(10, 20, 30, 40); // Set to u1, so that we know the state. c.setUI(u1); c.repaintCalled = false; // Change state and check if repaint is called. c.setUI(u2); harness.check(c.repaintCalled, true); // Don't change state. c.repaintCalled = false; c.setUI(u2); harness.check(c.repaintCalled, true); // Change state and check if repaint is called. c.repaintCalled = false; c.setUI(u1); harness.check(c.repaintCalled, true); // Don't change state. c.repaintCalled = false; c.setUI(u1); harness.check(c.repaintCalled, true); } /** * Tests if setUI triggers a revalidate. * * @param harness the test harness to use */ private void testRevalidate(TestHarness harness) { TestComponent c = new TestComponent(); ComponentUI u1 = new ComponentUI(){}; ComponentUI u2 = new ComponentUI(){}; // Set to u1, so that we know the state. c.setUI(u1); c.revalidateCalled = false; // Change state and check if repaint is called. c.setUI(u2); harness.check(c.revalidateCalled, true); // Don't change state. c.revalidateCalled = false; c.setUI(u2); harness.check(c.revalidateCalled, true); // Change state and check if repaint is called. c.revalidateCalled = false; c.setUI(u1); harness.check(c.revalidateCalled, true); // Don't change state. c.revalidateCalled = false; c.setUI(u1); harness.check(c.revalidateCalled, true); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/getVerifyInputWhenFocusTarget.java0000644000175000001440000000257710450514226027370 0ustar dokousers/* getVerifyInputWhenFocusTarget.java -- some checks for the getVerifyInputWhenFocusTarget() method in the JComponent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 package gnu.testlet.javax.swing.JComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JButton; import javax.swing.JComponent; public class getVerifyInputWhenFocusTarget implements Testlet { public void test(TestHarness harness) { JComponent c = new JButton("ABC"); harness.check(c.getVerifyInputWhenFocusTarget(), true); c.setVerifyInputWhenFocusTarget(false); harness.check(c.getVerifyInputWhenFocusTarget(), false); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/setBackground.java0000644000175000001440000000577510325204435024210 0ustar dokousers// Tags: JDK1.2 // Uses: TestComponent // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JComponent; import java.awt.Color; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests if setBackground works correctly. * * @author Roman Kennke (kennke@aicas.com) */ public class setBackground implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testRepaint(harness); testRevalidate(harness); } /** * Tests if setBackground triggers a repaint. * * @param harness the test harness to use */ private void testRepaint(TestHarness harness) { TestComponent c = new TestComponent(); // Set to white, so that we know the state. c.setBackground(Color.WHITE); c.repaintCalled = false; // Change state and check if repaint is called. c.setBackground(Color.BLACK); harness.check(c.repaintCalled, true); // Don't change state. c.repaintCalled = false; c.setBackground(Color.BLACK); harness.check(c.repaintCalled, false); // Change state and check if repaint is called. c.repaintCalled = false; c.setBackground(Color.WHITE); harness.check(c.repaintCalled, true); // Don't change state. c.repaintCalled = false; c.setBackground(Color.WHITE); harness.check(c.repaintCalled, false); } /** * Tests if setBackground triggers a revalidate. * * @param harness the test harness to use */ private void testRevalidate(TestHarness harness) { TestComponent c = new TestComponent(); c.setBounds(10, 20, 30, 40); // Set to white, so that we know the state. c.setBackground(Color.WHITE); c.revalidateCalled = false; // Change state and check if repaint is called. c.setBackground(Color.BLACK); harness.check(c.revalidateCalled, false); // Don't change state. c.revalidateCalled = false; c.setBackground(Color.BLACK); harness.check(c.revalidateCalled, false); // Change state and check if repaint is called. c.revalidateCalled = false; c.setBackground(Color.WHITE); harness.check(c.revalidateCalled, false); // Don't change state. c.revalidateCalled = false; c.setBackground(Color.WHITE); harness.check(c.revalidateCalled, false); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/setPreferredSize.java0000644000175000001440000001143010337216635024673 0ustar dokousers// Tags: JDK1.2 // Uses: TestComponent // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JComponent; import java.awt.Dimension; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JComponent; import javax.swing.JPanel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests if setPreferredSize works correctly. * * @author Roman Kennke (kennke@aicas.com) */ public class setPreferredSize implements Testlet, PropertyChangeListener { PropertyChangeEvent event; public void propertyChange(PropertyChangeEvent event) { this.event = event; } /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testGeneral(harness); testPropertyChangeEvent(harness); testRepaint(harness); testRevalidate(harness); } /** * Some general checks. * * @param harness the test harness. */ private void testGeneral(TestHarness harness) { JComponent c = new JPanel(); harness.check(c.getPreferredSize(), new Dimension(10, 10)); Dimension d = new Dimension(123, 456); c.setPreferredSize(d); harness.check(c.getPreferredSize(), d); harness.check(c.getPreferredSize() != d); c.setPreferredSize(null); // restores the default harness.check(c.getPreferredSize(), new Dimension(10, 10)); } private void testPropertyChangeEvent(TestHarness harness) { JComponent c = new JPanel(); c.addPropertyChangeListener(this); c.setPreferredSize(new Dimension(1, 2)); harness.check(this.event.getPropertyName(), "preferredSize"); harness.check(this.event.getOldValue(), null); harness.check(this.event.getNewValue(), new Dimension(1, 2)); this.event = null; c.setPreferredSize(null); harness.check(this.event.getOldValue(), new Dimension(1, 2)); harness.check(this.event.getNewValue(), null); this.event = null; c.setPreferredSize(null); harness.check(this.event.getOldValue(), null); harness.check(this.event.getNewValue(), null); c.setPreferredSize(new Dimension(12, 34)); this.event = null; c.setPreferredSize(new Dimension(12, 34)); harness.check(this.event, null); } /** * Tests if setPreferredSize triggers a repaint. * * @param harness the test harness to use */ private void testRepaint(TestHarness harness) { Dimension s1 = new Dimension(100, 100); Dimension s2 = new Dimension(200, 200); TestComponent c = new TestComponent(); // Set to s1, so that we know the state. c.setPreferredSize(s1); c.repaintCalled = false; // Change state and check if repaint is called. c.setPreferredSize(s2); harness.check(c.repaintCalled, false); // Don't change state. c.repaintCalled = false; c.setPreferredSize(s2); harness.check(c.repaintCalled, false); // Change state and check if repaint is called. c.repaintCalled = false; c.setPreferredSize(s1); harness.check(c.repaintCalled, false); // Don't change state. c.repaintCalled = false; c.setPreferredSize(s1); harness.check(c.repaintCalled, false); } /** * Tests if setPreferredSize triggers a revalidate. * * @param harness the test harness to use */ private void testRevalidate(TestHarness harness) { Dimension s1 = new Dimension(100, 100); Dimension s2 = new Dimension(200, 200); TestComponent c = new TestComponent(); // Set to s1, so that we know the state. c.setPreferredSize(s1); c.revalidateCalled = false; // Change state and check if repaint is called. c.setPreferredSize(s2); harness.check(c.revalidateCalled, false); // Don't change state. c.revalidateCalled = false; c.setPreferredSize(s2); harness.check(c.revalidateCalled, false); // Change state and check if repaint is called. c.revalidateCalled = false; c.setPreferredSize(s1); harness.check(c.revalidateCalled, false); // Don't change state. c.revalidateCalled = false; c.setPreferredSize(s1); harness.check(c.revalidateCalled, false); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/setDefaultLocale.java0000644000175000001440000000270010450776061024626 0ustar dokousers/* setDefaultLocale.java -- some checks for the setDefaultLocale() method in the JComponent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Locale; import javax.swing.JComponent; public class setDefaultLocale implements Testlet { public void test(TestHarness harness) { Locale saved = JComponent.getDefaultLocale(); JComponent.setDefaultLocale(Locale.CHINA); harness.check(JComponent.getDefaultLocale(), Locale.CHINA); JComponent.setDefaultLocale(null); harness.check(JComponent.getDefaultLocale(), Locale.getDefault()); JComponent.setDefaultLocale(saved); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/getAlignmentY.java0000644000175000001440000000333010334126362024147 0ustar dokousers// Tags: JDK1.2 // Uses: TestLayout // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JComponent; import javax.swing.JComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getAlignmentY implements Testlet { public void test(TestHarness harness) { JComponent c = new JComponent(){}; TestLayout l = new TestLayout(); c.setLayout(l); l.alignmentY = 0.3F; // No alignment has been set, so the layout alignment is returned. harness.check(c.getAlignmentY(), 0.3F); // Now we set the alignment to a valid value and this should be returned. c.setAlignmentY(0.2F); harness.check(c.getAlignmentY(), 0.2F); // Now we set the alignment to something great, and the component // should return the nearest valid value (1.0 in this case). c.setAlignmentY(100.0F); harness.check(c.getAlignmentY(), 1.0F); // Now we set the alignment to something negative. c.setAlignmentY(-100.0F); harness.check(c.getAlignmentY(), 0.0F); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/removeVetoableChangeListener.java0000644000175000001440000000365110450511116027173 0ustar dokousers/* removeVetoableChangeListener.java -- some checks for the removeVetoableChangeListener() method in the JComponent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyVetoException; import java.beans.VetoableChangeListener; import javax.swing.JButton; import javax.swing.JComponent; public class removeVetoableChangeListener implements Testlet, VetoableChangeListener { public void vetoableChange(PropertyChangeEvent e) throws PropertyVetoException { } public void test(TestHarness harness) { JComponent c = new JButton("ABC"); harness.check(c.getVetoableChangeListeners().length, 0); c.addVetoableChangeListener(this); harness.check(c.getVetoableChangeListeners().length, 1); c.removeVetoableChangeListener(this); harness.check(c.getVetoableChangeListeners().length, 0); c.removeVetoableChangeListener(this); harness.check(c.getVetoableChangeListeners().length, 0); c.removeVetoableChangeListener(null); harness.check(c.getVetoableChangeListeners().length, 0); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/getFont.java0000644000175000001440000000271011015022005022771 0ustar dokousers// Tags: JDK1.2 // Uses: MyJLabel // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JComponent; /** * Some checks for the getFont() method in the {@link JComponent} class. */ public class getFont implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // MyJLabel is a label that by-passes installation of a UI-delegate // so we can check the default font is null JComponent label = new MyJLabel("Test"); harness.check(label.getFont(), null); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/TestLayout.java0000644000175000001440000000341010334126362023514 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JComponent; import java.awt.Component; import java.awt.Container; import java.awt.Dimension; import java.awt.LayoutManager2; public class TestLayout implements LayoutManager2 { float alignmentX = 0.0F; float alignmentY = 0.0F; public void addLayoutComponent(Component component, Object constraints) { } public Dimension maximumLayoutSize(Container target) { return null; } public float getLayoutAlignmentX(Container target) { return alignmentX; } public float getLayoutAlignmentY(Container target) { return alignmentY; } public void invalidateLayout(Container target) { } public void addLayoutComponent(String name, Component component) { } public void removeLayoutComponent(Component component) { } public Dimension preferredLayoutSize(Container parent) { return null; } public Dimension minimumLayoutSize(Container parent) { return null; } public void layoutContainer(Container parent) { } } mauve-20140821/gnu/testlet/javax/swing/JComponent/constructor.java0000644000175000001440000000252610345607425024001 0ustar dokousers// Tags: JDK1.2 // Uses: TestLayout // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JComponent; import javax.swing.JComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Checks if the constructor is working correctly and the fields of the * JComponent are initialized as they should. * * @author Roman Kennke (kennke@aicas.com) */ public class constructor implements Testlet { /** * Starts the testcase. * * @param harness the test harness to use */ public void test(TestHarness harness) { JComponent c = new JComponent(){}; harness.check(c.getLayout(), null); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/MyJLabel.java0000644000175000001440000000236710315000304023032 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JComponent; import javax.swing.JLabel; /** * A simple component that won't install a UI delegate (used to check default * settings before the UI delegate is installed). */ public class MyJLabel extends JLabel { public MyJLabel(String label) { super(label); } public void updateUI() { // ignore this - we want the raw component, not one that has been // configured by a UI delegate } } mauve-20140821/gnu/testlet/javax/swing/JComponent/setOpaque.java0000644000175000001440000000564110325204435023353 0ustar dokousers//Tags: JDK1.2 //Uses: TestComponent //Copyright (C) 2005 Roman Kennke //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests if setOpaque works correctly. * * @author Roman Kennke (kennke@aicas.com) */ public class setOpaque implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testRepaint(harness); testRevalidate(harness); } /** * Tests if setOpaque triggers a repaint. setOpaque should trigger a * repaint() call whenever the actual value of the property changes. * * @param harness the test harness to use */ private void testRepaint(TestHarness harness) { TestComponent c = new TestComponent(); // Set to false, so that we know the state. c.setOpaque(false); c.repaintCalled = false; // Change state and check if repaint is called. c.setOpaque(true); harness.check(c.repaintCalled, false); // Don't change state. c.repaintCalled = false; c.setOpaque(true); harness.check(c.repaintCalled, false); // Change state and check if repaint is called. c.repaintCalled = false; c.setOpaque(false); harness.check(c.repaintCalled, false); // Don't change state. c.repaintCalled = false; c.setOpaque(false); harness.check(c.repaintCalled, false); } /** * Tests if setOpaque triggers a revalidate. * * @param harness the test harness to use */ private void testRevalidate(TestHarness harness) { TestComponent c = new TestComponent(); // Set to false, so that we know the state. c.setOpaque(false); c.revalidateCalled = false; // Change state and check if repaint is called. c.setOpaque(true); harness.check(c.revalidateCalled, false); // Don't change state. c.revalidateCalled = false; c.setOpaque(true); harness.check(c.revalidateCalled, false); // Change state and check if repaint is called. c.revalidateCalled = false; c.setOpaque(false); harness.check(c.revalidateCalled, false); // Don't change state. c.revalidateCalled = false; c.setOpaque(false); harness.check(c.revalidateCalled, false); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/setBorder.java0000644000175000001440000000605010325204435023331 0ustar dokousers// Tags: JDK1.2 // Uses: TestComponent // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JComponent; import javax.swing.border.Border; import javax.swing.border.EtchedBorder; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests if setBorder works correctly. * * @author Roman Kennke (kennke@aicas.com) */ public class setBorder implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testRepaint(harness); testRevalidate(harness); } /** * Tests if setBorder triggers a repaint. * * @param harness the test harness to use */ private void testRepaint(TestHarness harness) { Border b1 = new EtchedBorder(); Border b2 = new EtchedBorder(); TestComponent c = new TestComponent(); // Set to b1, so that we know the state. c.setBorder(b1); c.repaintCalled = false; // Change state and check if repaint is called. c.setBorder(b2); harness.check(c.repaintCalled, true); // Don't change state. c.repaintCalled = false; c.setBorder(b2); harness.check(c.repaintCalled, false); // Change state and check if repaint is called. c.repaintCalled = false; c.setBorder(b1); harness.check(c.repaintCalled, true); // Don't change state. c.repaintCalled = false; c.setBorder(b1); harness.check(c.repaintCalled, false); } /** * Tests if setBorder triggers a revalidate. * * @param harness the test harness to use */ private void testRevalidate(TestHarness harness) { Border b1 = new EtchedBorder(); Border b2 = new EtchedBorder(); TestComponent c = new TestComponent(); c.setBounds(10, 20, 30, 40); // Set to b1, so that we know the state. c.setBorder(b1); c.revalidateCalled = false; // Change state and check if repaint is called. c.setBorder(b2); harness.check(c.revalidateCalled, false); // Don't change state. c.revalidateCalled = false; c.setBorder(b2); harness.check(c.revalidateCalled, false); // Change state and check if repaint is called. c.revalidateCalled = false; c.setBorder(b1); harness.check(c.revalidateCalled, false); // Don't change state. c.revalidateCalled = false; c.setBorder(b1); harness.check(c.revalidateCalled, false); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/setMaximumSize.java0000644000175000001440000001067710337207127024402 0ustar dokousers// Tags: JDK1.2 // Uses: TestComponent // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JComponent; import javax.swing.JPanel; /** * Tests if setMaximumSize works correctly. * * @author Roman Kennke (kennke@aicas.com) */ public class setMaximumSize implements Testlet, PropertyChangeListener { PropertyChangeEvent event; /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testGeneral(harness); testPropertyChangeEvent(harness); testRepaint(harness); testRevalidate(harness); } /** * Some general checks. * * @param harness the test harness. */ private void testGeneral(TestHarness harness) { JComponent c = new JPanel(); harness.check(c.getMaximumSize(), new Dimension(32767, 32767)); Dimension d = new Dimension(123, 456); c.setMaximumSize(d); harness.check(c.getMaximumSize(), d); harness.check(c.getMaximumSize() != d); c.setMaximumSize(null); // restores the default harness.check(c.getMaximumSize(), new Dimension(32767, 32767)); } private void testPropertyChangeEvent(TestHarness harness) { JComponent c = new JPanel(); c.addPropertyChangeListener(this); c.setMaximumSize(new Dimension(1, 2)); harness.check(this.event.getPropertyName(), "maximumSize"); harness.check(this.event.getOldValue(), null); harness.check(this.event.getNewValue(), new Dimension(1, 2)); this.event = null; c.setMaximumSize(null); harness.check(this.event.getOldValue(), new Dimension(1, 2)); harness.check(this.event.getNewValue(), null); } public void propertyChange(PropertyChangeEvent e) { this.event = e; } /** * Tests if setMaximumSize triggers a repaint. * * @param harness the test harness to use */ private void testRepaint(TestHarness harness) { Dimension s1 = new Dimension(100, 100); Dimension s2 = new Dimension(200, 200); TestComponent c = new TestComponent(); // Set to s1, so that we know the state. c.setMaximumSize(s1); c.repaintCalled = false; // Change state and check if repaint is called. c.setMaximumSize(s2); harness.check(c.repaintCalled, false); // Don't change state. c.repaintCalled = false; c.setMaximumSize(s2); harness.check(c.repaintCalled, false); // Change state and check if repaint is called. c.repaintCalled = false; c.setMaximumSize(s1); harness.check(c.repaintCalled, false); // Don't change state. c.repaintCalled = false; c.setMaximumSize(s1); harness.check(c.repaintCalled, false); } /** * Tests if setMaximumSize triggers a revalidate. * * @param harness the test harness to use */ private void testRevalidate(TestHarness harness) { Dimension s1 = new Dimension(100, 100); Dimension s2 = new Dimension(200, 200); TestComponent c = new TestComponent(); // Set to false, so that we know the state. c.setMaximumSize(s1); c.revalidateCalled = false; // Change state and check if repaint is called. c.setMaximumSize(s2); harness.check(c.revalidateCalled, false); // Don't change state. c.revalidateCalled = false; c.setMaximumSize(s2); harness.check(c.revalidateCalled, false); // Change state and check if repaint is called. c.revalidateCalled = false; c.setMaximumSize(s1); harness.check(c.revalidateCalled, false); // Don't change state. c.revalidateCalled = false; c.setMaximumSize(s1); harness.check(c.revalidateCalled, false); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/setEnabled.java0000644000175000001440000000563410325204435023455 0ustar dokousers// Tags: JDK1.2 // Uses: TestComponent // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests if setEnabled works correctly. * * @author Roman Kennke (kennke@aicas.com) */ public class setEnabled implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testRepaint(harness); testRevalidate(harness); } /** * Tests if setEnabled triggers a repaint. * * @param harness the test harness to use */ private void testRepaint(TestHarness harness) { TestComponent c = new TestComponent(); c.setBounds(10, 20, 30, 40); // Set to false, so that we know the state. c.setEnabled(false); c.repaintCalled = false; // Change state and check if repaint is called. c.setEnabled(true); harness.check(c.repaintCalled, true); // Don't change state. c.repaintCalled = false; c.setEnabled(true); harness.check(c.repaintCalled, false); // Change state and check if repaint is called. c.repaintCalled = false; c.setEnabled(false); harness.check(c.repaintCalled, true); // Don't change state. c.repaintCalled = false; c.setEnabled(false); harness.check(c.repaintCalled, false); } /** * Tests if setEnabled triggers a revalidate. * * @param harness the test harness to use */ private void testRevalidate(TestHarness harness) { TestComponent c = new TestComponent(); c.setBounds(10, 20, 30, 40); // Set to false, so that we know the state. c.setEnabled(false); c.revalidateCalled = false; // Change state and check if repaint is called. c.setEnabled(true); harness.check(c.revalidateCalled, false); // Don't change state. c.revalidateCalled = false; c.setEnabled(true); harness.check(c.revalidateCalled, false); // Change state and check if repaint is called. c.revalidateCalled = false; c.setEnabled(false); harness.check(c.revalidateCalled, false); // Don't change state. c.revalidateCalled = false; c.setEnabled(false); harness.check(c.revalidateCalled, false); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/setFont.java0000644000175000001440000000616110325204435023025 0ustar dokousers// Tags: JDK1.2 // Uses: TestComponent // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JComponent; import java.awt.Color; import java.awt.Font; import javax.swing.BorderFactory; import javax.swing.border.Border; import javax.swing.border.EtchedBorder; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests if setFont works correctly. * * @author Roman Kennke (kennke@aicas.com) */ public class setFont implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testRepaint(harness); testRevalidate(harness); } /** * Tests if setFont triggers a repaint. * * @param harness the test harness to use */ private void testRepaint(TestHarness harness) { Font f1 = new Font("Dialog", Font.PLAIN, 12); Font f2 = new Font("Dialog", Font.PLAIN, 14); TestComponent c = new TestComponent(); // Set to f1, so that we know the state. c.setFont(f1); c.repaintCalled = false; // Change state and check if repaint is called. c.setFont(f2); harness.check(c.repaintCalled, true); // Don't change state. c.repaintCalled = false; c.setFont(f2); harness.check(c.repaintCalled, false); // Change state and check if repaint is called. c.repaintCalled = false; c.setFont(f1); harness.check(c.repaintCalled, true); // Don't change state. c.repaintCalled = false; c.setFont(f1); harness.check(c.repaintCalled, false); } /** * Tests if setFont triggers a revalidate. * * @param harness the test harness to use */ private void testRevalidate(TestHarness harness) { Font f1 = new Font("Dialog", Font.PLAIN, 12); Font f2 = new Font("Dialog", Font.PLAIN, 14); TestComponent c = new TestComponent(); // Set to f1, so that we know the state. c.setFont(f1); c.revalidateCalled = false; // Change state and check if repaint is called. c.setFont(f2); harness.check(c.revalidateCalled, true); // Don't change state. c.revalidateCalled = false; c.setFont(f2); harness.check(c.revalidateCalled, false); // Change state and check if repaint is called. c.revalidateCalled = false; c.setFont(f1); harness.check(c.revalidateCalled, true); // Don't change state. c.revalidateCalled = false; c.setFont(f1); harness.check(c.revalidateCalled, false); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/setForeground.java0000644000175000001440000000573410325204435024236 0ustar dokousers// Tags: JDK1.2 // Uses: TestComponent // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JComponent; import java.awt.Color; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests if setForeground works correctly. * * @author Roman Kennke (kennke@aicas.com) */ public class setForeground implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testRepaint(harness); testRevalidate(harness); } /** * Tests if setForeground triggers a repaint. * * @param harness the test harness to use */ private void testRepaint(TestHarness harness) { TestComponent c = new TestComponent(); // Set to white, so that we know the state. c.setForeground(Color.WHITE); c.repaintCalled = false; // Change state and check if repaint is called. c.setForeground(Color.BLACK); harness.check(c.repaintCalled, true); // Don't change state. c.repaintCalled = false; c.setForeground(Color.BLACK); harness.check(c.repaintCalled, false); // Change state and check if repaint is called. c.repaintCalled = false; c.setForeground(Color.WHITE); harness.check(c.repaintCalled, true); // Don't change state. c.repaintCalled = false; c.setForeground(Color.WHITE); harness.check(c.repaintCalled, false); } /** * Tests if setForeground triggers a revalidate. * * @param harness the test harness to use */ private void testRevalidate(TestHarness harness) { TestComponent c = new TestComponent(); // Set to white, so that we know the state. c.setForeground(Color.WHITE); c.revalidateCalled = false; // Change state and check if repaint is called. c.setForeground(Color.BLACK); harness.check(c.revalidateCalled, false); // Don't change state. c.revalidateCalled = false; c.setForeground(Color.BLACK); harness.check(c.revalidateCalled, false); // Change state and check if repaint is called. c.revalidateCalled = false; c.setForeground(Color.WHITE); harness.check(c.revalidateCalled, false); // Don't change state. c.revalidateCalled = false; c.setForeground(Color.WHITE); harness.check(c.revalidateCalled, false); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/setMinimumSize.java0000644000175000001440000001135210337212716024367 0ustar dokousers// Tags: JDK1.2 // Uses: TestComponent // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JComponent; import javax.swing.JPanel; /** * Tests if setMinimumSize works correctly. * * @author Roman Kennke (kennke@aicas.com) */ public class setMinimumSize implements Testlet, PropertyChangeListener { PropertyChangeEvent event; public void propertyChange(PropertyChangeEvent event) { this.event = event; } /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testGeneral(harness); testPropertyChangeEvent(harness); testRepaint(harness); testRevalidate(harness); } /** * Some general checks. * * @param harness the test harness. */ private void testGeneral(TestHarness harness) { JComponent c = new JPanel(); harness.check(c.getMinimumSize(), new Dimension(10, 10)); Dimension d = new Dimension(123, 456); c.setMinimumSize(d); harness.check(c.getMinimumSize(), d); harness.check(c.getMinimumSize() != d); c.setMinimumSize(null); // restores the default harness.check(c.getMinimumSize(), new Dimension(10, 10)); } private void testPropertyChangeEvent(TestHarness harness) { JComponent c = new JPanel(); c.addPropertyChangeListener(this); c.setMinimumSize(new Dimension(1, 2)); harness.check(this.event.getPropertyName(), "minimumSize"); harness.check(this.event.getOldValue(), null); harness.check(this.event.getNewValue(), new Dimension(1, 2)); this.event = null; c.setMinimumSize(null); harness.check(this.event.getOldValue(), new Dimension(1, 2)); harness.check(this.event.getNewValue(), null); this.event = null; c.setMinimumSize(null); harness.check(this.event.getOldValue(), null); harness.check(this.event.getNewValue(), null); c.setMinimumSize(new Dimension(12, 34)); this.event = null; c.setMinimumSize(new Dimension(12, 34)); harness.check(this.event, null); } /** * Tests if setMinimumSize triggers a repaint. * * @param harness the test harness to use */ private void testRepaint(TestHarness harness) { Dimension s1 = new Dimension(100, 100); Dimension s2 = new Dimension(200, 200); TestComponent c = new TestComponent(); // Set to s1, so that we know the state. c.setMinimumSize(s1); c.repaintCalled = false; // Change state and check if repaint is called. c.setMinimumSize(s2); harness.check(c.repaintCalled, false); // Don't change state. c.repaintCalled = false; c.setMinimumSize(s2); harness.check(c.repaintCalled, false); // Change state and check if repaint is called. c.repaintCalled = false; c.setMinimumSize(s1); harness.check(c.repaintCalled, false); // Don't change state. c.repaintCalled = false; c.setMinimumSize(s1); harness.check(c.repaintCalled, false); } /** * Tests if setMinimumSize triggers a revalidate. * * @param harness the test harness to use */ private void testRevalidate(TestHarness harness) { Dimension s1 = new Dimension(100, 100); Dimension s2 = new Dimension(200, 200); TestComponent c = new TestComponent(); // Set to false, so that we know the state. c.setMinimumSize(s1); c.revalidateCalled = false; // Change state and check if repaint is called. c.setMinimumSize(s2); harness.check(c.revalidateCalled, false); // Don't change state. c.revalidateCalled = false; c.setMinimumSize(s2); harness.check(c.revalidateCalled, false); // Change state and check if repaint is called. c.revalidateCalled = false; c.setMinimumSize(s1); harness.check(c.revalidateCalled, false); // Don't change state. c.revalidateCalled = false; c.setMinimumSize(s1); harness.check(c.revalidateCalled, false); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/setVerifyInputWhenFocusTarget.java0000644000175000001440000000420210450514226027367 0ustar dokousers/* setVerifyInputWhenFocusTarget.java -- some checks for the setVerifyInputWhenFocusTarget() method in the JComponent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 package gnu.testlet.javax.swing.JComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.JButton; import javax.swing.JComponent; public class setVerifyInputWhenFocusTarget implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } public void test(TestHarness harness) { JComponent c = new JButton("ABC"); harness.check(c.getVerifyInputWhenFocusTarget(), true); c.addPropertyChangeListener(this); c.setVerifyInputWhenFocusTarget(false); harness.check(c.getVerifyInputWhenFocusTarget(), false); harness.check(events.size(), 1); PropertyChangeEvent e0 = (PropertyChangeEvent) events.get(0); harness.check(e0.getSource(), c); harness.check(e0.getPropertyName(), "verifyInputWhenFocusTarget"); harness.check(e0.getOldValue(), Boolean.TRUE); harness.check(e0.getNewValue(), Boolean.FALSE); // setting the same value generates no event events.clear(); c.setVerifyInputWhenFocusTarget(false); harness.check(events.size(), 0); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/addVetoableChangeListener.java0000644000175000001440000000330710450511116026424 0ustar dokousers/* addVetoableChangeListener.java -- some checks for the addVetoableChangeListener() method in the JComponent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyVetoException; import java.beans.VetoableChangeListener; import javax.swing.JButton; import javax.swing.JComponent; public class addVetoableChangeListener implements Testlet, VetoableChangeListener { public void vetoableChange(PropertyChangeEvent e) throws PropertyVetoException { } public void test(TestHarness harness) { JComponent c = new JButton("ABC"); harness.check(c.getVetoableChangeListeners().length, 0); c.addVetoableChangeListener(this); harness.check(c.getVetoableChangeListeners().length, 1); c.addVetoableChangeListener(null); harness.check(c.getVetoableChangeListeners().length, 1); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/putClientProperty.java0000644000175000001440000000602310533026414025114 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JComponent; import javax.swing.JLabel; /** * Some checks for the putClientProperty() method in the {@link JComponent} * class. */ public class putClientProperty implements Testlet, PropertyChangeListener { public String name = null; public Object oldValue = null; public Object newValue = null; public void propertyChange(PropertyChangeEvent e) { name = e.getPropertyName(); oldValue = e.getOldValue(); newValue = e.getNewValue(); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JComponent label = new JLabel("Test"); label.addPropertyChangeListener(this); // add a new property label.putClientProperty("Property1", Boolean.TRUE); harness.check(label.getClientProperty("Property1"), Boolean.TRUE); harness.check(name, "Property1"); harness.check(oldValue, null); harness.check(newValue, Boolean.TRUE); // Set testnull to null. No event is fired. label.putClientProperty("testnull", null); name = null; oldValue = null; newValue = null; label.putClientProperty("testnull", null); harness.check(name, null); harness.check(oldValue, null); harness.check(newValue, null); // overwrite an existing property label.putClientProperty("Property1", Boolean.FALSE); harness.check(label.getClientProperty("Property1"), Boolean.FALSE); harness.check(name, "Property1"); harness.check(oldValue, Boolean.TRUE); harness.check(newValue, Boolean.FALSE); // clear the property label.putClientProperty("Property1", null); harness.check(label.getClientProperty("Property1"), null); harness.check(name, "Property1"); harness.check(oldValue, Boolean.FALSE); harness.check(newValue, null); // try a null key boolean pass = false; try { label.putClientProperty(null, "XYZ"); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/setInheritsPopupMenu.java0000644000175000001440000000510710450477434025566 0ustar dokousers/* setInheritsPopupMenu.java -- some checks for the setInheritsPopupMenu() method in the JComponent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.JComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JLabel; public class setInheritsPopupMenu implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } public void test(TestHarness harness) { JComponent c = new JButton("ABC"); harness.check(c.getInheritsPopupMenu(), false); c.addPropertyChangeListener(this); c.setInheritsPopupMenu(true); harness.check(c.getInheritsPopupMenu(), true); harness.check(events.size(), 1); PropertyChangeEvent e = (PropertyChangeEvent) events.get(0); harness.check(e.getSource(), c); harness.check(e.getPropertyName(), "inheritsPopupMenu"); harness.check(e.getOldValue(), Boolean.FALSE); harness.check(e.getNewValue(), Boolean.TRUE); // same value should generate no event events.clear(); c.setInheritsPopupMenu(true); harness.check(events.size(), 0); // try with a JLabel c = new JLabel("XYZ"); harness.check(c.getInheritsPopupMenu(), true); c.addPropertyChangeListener(this); c.setInheritsPopupMenu(false); harness.check(c.getInheritsPopupMenu(), false); harness.check(events.size(), 1); e = (PropertyChangeEvent) events.get(0); harness.check(e.getSource(), c); harness.check(e.getPropertyName(), "inheritsPopupMenu"); harness.check(e.getOldValue(), Boolean.TRUE); harness.check(e.getNewValue(), Boolean.FALSE); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/setAlignmentY.java0000644000175000001440000000557410325204435024175 0ustar dokousers// Tags: JDK1.2 // Uses: TestComponent // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests if setAlignmentY works correctly. * * @author Roman Kennke (kennke@aicas.com) */ public class setAlignmentY implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testRepaint(harness); testRevalidate(harness); } /** * Tests if setAlignmentY triggers a repaint. * * @param harness the test harness to use */ private void testRepaint(TestHarness harness) { TestComponent c = new TestComponent(); // Set to 0.0, so that we know the state. c.setAlignmentY(0.0F); c.repaintCalled = false; // Change state and check if repaint is called. c.setAlignmentY(0.5F); harness.check(c.repaintCalled, false); // Don't change state. c.repaintCalled = false; c.setAlignmentY(0.5F); harness.check(c.repaintCalled, false); // Change state and check if repaint is called. c.repaintCalled = false; c.setAlignmentY(1.0F); harness.check(c.repaintCalled, false); // Don't change state. c.repaintCalled = false; c.setAlignmentY(1.0F); harness.check(c.repaintCalled, false); } /** * Tests if setAlignmentY triggers a revalidate. * * @param harness the test harness to use */ private void testRevalidate(TestHarness harness) { TestComponent c = new TestComponent(); // Set to 0.0, so that we know the state. c.setAlignmentY(0.0F); c.revalidateCalled = false; // Change state and check if repaint is called. c.setAlignmentY(0.5F); harness.check(c.revalidateCalled, false); // Don't change state. c.revalidateCalled = false; c.setAlignmentY(0.5F); harness.check(c.revalidateCalled, false); // Change state and check if repaint is called. c.revalidateCalled = false; c.setAlignmentY(1.0F); harness.check(c.revalidateCalled, false); // Don't change state. c.revalidateCalled = false; c.setAlignmentY(1.0F); harness.check(c.revalidateCalled, false); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/getPreferredSize.java0000644000175000001440000001562210350325564024663 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JComponent; import java.awt.Component; import java.awt.Container; import java.awt.Dimension; import java.awt.LayoutManager; import javax.swing.JComponent; import javax.swing.plaf.ComponentUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Some tests for JComponent.getPreferredSize(). * * @author Roman Kennke (kennke@aicas.com) */ public class getPreferredSize implements Testlet { /** * A JComponent to overrides setUI for test purposes. * * @author Roman Kennke (kennke@aicas.com) */ static class TestComponent extends JComponent { public void setUI(ComponentUI ui) { super.setUI(ui); } } /** * A UI class for test purposes. * * @author Roman Kennke (kennke@aicas.com) */ static class TestUI extends ComponentUI { public Dimension getPreferredSize(JComponent c) { return new Dimension(100, 100); } } /** * A layout manager for test purposes. * * @author Roman Kennke (kennke@aicas.com) */ static class TestLayout implements LayoutManager { public void addLayoutComponent(String name, Component component) { // TODO Auto-generated method stub } public void removeLayoutComponent(Component component) { // TODO Auto-generated method stub } public Dimension preferredLayoutSize(Container parent) { return new Dimension(200, 200); } public Dimension minimumLayoutSize(Container parent) { // TODO Auto-generated method stub return null; } public void layoutContainer(Container parent) { // TODO Auto-generated method stub } } /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testPlain(harness); testWithUI(harness); testWithLayout(harness); testWithUIAndLayout(harness); testWithSet(harness); testWithSetAndUI(harness); testWithSetAndLayout(harness); testWithAll(harness); testSmallerThanMinSize(harness); testChangeValue(harness); } /** * A very basic test. * * @param h the test harness to use */ private void testPlain(TestHarness h) { h.checkPoint("plain"); TestComponent c = new TestComponent(); Dimension d = c.getPreferredSize(); h.check(d.width, 0); h.check(d.height, 0); } /** * Tests the preferredSize with a UI installed. * * @param h the test harness to use */ private void testWithUI(TestHarness h) { h.checkPoint("withUI"); TestComponent c = new TestComponent(); c.setUI(new TestUI()); Dimension d = c.getPreferredSize(); h.check(d.width, 100); h.check(d.height, 100); } /** * Tests the preferredSize with a layout manager installed * * @param h the test harness to use */ private void testWithLayout(TestHarness h) { h.checkPoint("withLayout"); TestComponent c = new TestComponent(); c.setLayout(new TestLayout()); Dimension d = c.getPreferredSize(); h.check(d.width, 200); h.check(d.height, 200); } /** * Tests the preferredSize with both a layout manager and a UI installed. * * @param h the test harness to use */ private void testWithUIAndLayout(TestHarness h) { h.checkPoint("withUIAndLayout"); TestComponent c = new TestComponent(); c.setUI(new TestUI()); c.setLayout(new TestLayout()); c.invalidate(); Dimension d = c.getPreferredSize(); h.check(d.width, 100); h.check(d.height, 100); } /** * Tests the preferredSize when explicitly set. * * @param h the test harness to use */ private void testWithSet(TestHarness h) { h.checkPoint("withSet"); TestComponent c = new TestComponent(); c.setPreferredSize(new Dimension(300, 300)); Dimension d = c.getPreferredSize(); h.check(d.width, 300); h.check(d.height, 300); } /** * Tests the preferredSize when explicitly set and with UI installed. * * @param h the test harness to use */ private void testWithSetAndUI(TestHarness h) { h.checkPoint("withSetAndUI"); TestComponent c = new TestComponent(); c.setPreferredSize(new Dimension(300, 300)); c.setUI(new TestUI()); Dimension d = c.getPreferredSize(); h.check(d.width, 300); h.check(d.height, 300); } /** * Tests the preferredSize when explicitly set and layout manager installed. * * @param h the test harness to use */ private void testWithSetAndLayout(TestHarness h) { h.checkPoint("withSetAndLayout"); TestComponent c = new TestComponent(); c.setPreferredSize(new Dimension(300, 300)); c.setLayout(new TestLayout()); Dimension d = c.getPreferredSize(); h.check(d.width, 300); h.check(d.height, 300); } /** * Tests the preferredSize when explicitly set, layout manager installed and * UI installed. * * @param h the test harness to use */ private void testWithAll(TestHarness h) { h.checkPoint("withAll"); TestComponent c = new TestComponent(); c.setUI(new TestUI()); c.setLayout(new TestLayout()); c.setPreferredSize(new Dimension(300, 300)); Dimension d = c.getPreferredSize(); h.check(d.width, 300); h.check(d.height, 300); } /** * Tests if the preferredSize is allowed to be smaller than the minimumSize. * * @param h the test harness to use */ private void testSmallerThanMinSize(TestHarness h) { h.checkPoint("smallerThanMinSize"); TestComponent c = new TestComponent(); c.setMinimumSize(new Dimension(100, 100)); c.setPreferredSize(new Dimension(50, 50)); h.check(c.getPreferredSize(), new Dimension(50, 50)); } /** * Tests if it is possible to change to actual setting or preferredSize by * changing the values of the returned Dimension object. * * @param h the test harness */ private void testChangeValue(TestHarness h) { h.checkPoint("changeValue"); TestComponent c = new TestComponent(); c.setPreferredSize(new Dimension(100, 100)); Dimension d = c.getPreferredSize(); d.width = 200; d.height = 200; h.check(c.getPreferredSize(), new Dimension(100, 100)); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/setAlignmentX.java0000644000175000001440000000557410325204435024174 0ustar dokousers// Tags: JDK1.2 // Uses: TestComponent // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests if setAlignmentX works correctly. * * @author Roman Kennke (kennke@aicas.com) */ public class setAlignmentX implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testRepaint(harness); testRevalidate(harness); } /** * Tests if setAlignmentX triggers a repaint. * * @param harness the test harness to use */ private void testRepaint(TestHarness harness) { TestComponent c = new TestComponent(); // Set to 0.0, so that we know the state. c.setAlignmentX(0.0F); c.repaintCalled = false; // Change state and check if repaint is called. c.setAlignmentX(0.5F); harness.check(c.repaintCalled, false); // Don't change state. c.repaintCalled = false; c.setAlignmentX(0.5F); harness.check(c.repaintCalled, false); // Change state and check if repaint is called. c.repaintCalled = false; c.setAlignmentX(1.0F); harness.check(c.repaintCalled, false); // Don't change state. c.repaintCalled = false; c.setAlignmentX(1.0F); harness.check(c.repaintCalled, false); } /** * Tests if setAlignmentX triggers a revalidate. * * @param harness the test harness to use */ private void testRevalidate(TestHarness harness) { TestComponent c = new TestComponent(); // Set to 0.0, so that we know the state. c.setAlignmentX(0.0F); c.revalidateCalled = false; // Change state and check if repaint is called. c.setAlignmentX(0.5F); harness.check(c.revalidateCalled, false); // Don't change state. c.revalidateCalled = false; c.setAlignmentX(0.5F); harness.check(c.revalidateCalled, false); // Change state and check if repaint is called. c.revalidateCalled = false; c.setAlignmentX(1.0F); harness.check(c.revalidateCalled, false); // Don't change state. c.revalidateCalled = false; c.setAlignmentX(1.0F); harness.check(c.revalidateCalled, false); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/setComponentPopupMenu.java0000644000175000001440000000413110450477434025737 0ustar dokousers/* setComponentPopupMenu.java -- some checks for the setComponentPopupMenu() method in the JComponent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.JComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JPopupMenu; public class setComponentPopupMenu implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } public void test(TestHarness harness) { JComponent c = new JButton("ABC"); JPopupMenu p = new JPopupMenu(); harness.check(c.getComponentPopupMenu(), null); c.addPropertyChangeListener(this); c.setComponentPopupMenu(p); harness.check(c.getComponentPopupMenu(), p); harness.check(events.size(), 1); PropertyChangeEvent e = (PropertyChangeEvent) events.get(0); harness.check(e.getSource(), c); harness.check(e.getPropertyName(), "componentPopupMenu"); harness.check(e.getOldValue(), null); harness.check(e.getNewValue(), p); // same value should generate no event events.clear(); c.setComponentPopupMenu(p); harness.check(events.size(), 0); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/getListeners.java0000644000175000001440000000754110544512702024060 0ustar dokousers// Tags: JDK1.3 // Copyright (C) 2005, 2006 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.FocusListener; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.beans.PropertyVetoException; import java.beans.VetoableChangeListener; import java.util.EventListener; import javax.swing.JComponent; import javax.swing.event.AncestorEvent; import javax.swing.event.AncestorListener; /** * Some tests for the getListeners(Class) method in the * {@link JComponent} class. */ public class getListeners implements Testlet, AncestorListener { class TestComponent extends JComponent { } class MyPropertyChangeListener implements PropertyChangeListener { public void propertyChange(PropertyChangeEvent e) { // ignore } } class MyVetoableChangeListener implements VetoableChangeListener { public void vetoableChange(PropertyChangeEvent e) throws PropertyVetoException { // ignore } } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TestComponent c = new TestComponent(); c.addAncestorListener(this); EventListener[] listeners = c.getListeners(AncestorListener.class); harness.check(listeners.length, 1); harness.check(listeners[0], this); // try a listener type that isn't registered listeners = c.getListeners(FocusListener.class); harness.check(listeners.length, 0); c.removeAncestorListener(this); listeners = c.getListeners(AncestorListener.class); harness.check(listeners.length, 0); // try a PropertyChangeListener PropertyChangeListener pcl = new MyPropertyChangeListener(); c.addPropertyChangeListener(pcl); listeners = c.getListeners(PropertyChangeListener.class); harness.check(listeners.length, 1); if (listeners.length > 0) harness.check(listeners[0], pcl); else harness.check(false); // try a VetoableChangeListener VetoableChangeListener vcl = new MyVetoableChangeListener(); c.addVetoableChangeListener(vcl); listeners = c.getListeners(VetoableChangeListener.class); harness.check(listeners.length, 1); if (listeners.length > 0) harness.check(listeners[0], vcl); else harness.check(false); // try a null argument boolean pass = false; try { listeners = c.getListeners(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); /* Doesn't compile with 1.5 // try a class that isn't a listener pass = false; try { listeners = c.getListeners(Integer.class); } catch (ClassCastException e) { pass = true; } harness.check(pass); */ } public void ancestorMoved(AncestorEvent e) { // ignored } public void ancestorAdded(AncestorEvent e) { // ignored } public void ancestorRemoved(AncestorEvent e) { // ignored } } mauve-20140821/gnu/testlet/javax/swing/JComponent/getVetoableChangeListeners.java0000644000175000001440000000341010450511116026631 0ustar dokousers/* getVetoableChangeListeners.java -- some checks for the getVetoableChangeListeners() method in the JComponent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyVetoException; import java.beans.VetoableChangeListener; import javax.swing.JButton; import javax.swing.JComponent; public class getVetoableChangeListeners implements Testlet, VetoableChangeListener { public void vetoableChange(PropertyChangeEvent e) throws PropertyVetoException { } public void test(TestHarness harness) { JComponent c = new JButton("ABC"); harness.check(c.getVetoableChangeListeners().length, 0); c.addVetoableChangeListener(this); harness.check(c.getVetoableChangeListeners().length, 1); harness.check(c.getVetoableChangeListeners()[0], this); c.removeVetoableChangeListener(this); harness.check(c.getVetoableChangeListeners().length, 0); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/getInputMap.java0000644000175000001440000000515110441245433023640 0ustar dokousers/* getInputMap.java -- some checks for the getInputMap() methods in the JComponent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 package gnu.testlet.javax.swing.JComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.InputMap; import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.plaf.InputMapUIResource; public class getInputMap implements Testlet { public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("()"); JButton button = new JButton("X"); InputMap m1 = button.getInputMap(); InputMap m2 = button.getInputMap(JComponent.WHEN_FOCUSED); harness.check(m1 == m2); } public void testMethod2(TestHarness harness) { harness.checkPoint("(int)"); JButton button = new JButton("X"); InputMap m1 = button.getInputMap(JComponent.WHEN_FOCUSED); InputMap m2 = button.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); InputMap m3 = button.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW); // the following are just sanity checks. Real testing for the maps should // be in the JButton test code... harness.check(m1.keys(), null); harness.check(m1.getParent() instanceof InputMapUIResource); harness.check(m2.keys(), null); harness.check(m2.getParent(), null); harness.check(m3.keys(), null); harness.check(m3.getParent(), null); boolean pass = false; try { m1 = button.getInputMap(3); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); pass = false; try { m1 = button.getInputMap(JComponent.UNDEFINED_CONDITION); // -1 } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/getRegisteredKeyStrokes.java0000644000175000001440000000404110450776061026227 0ustar dokousers/* getRegisteredKeyStrokes.java -- some checks for the getRegisteredKeyStrokes() method in the JComponent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 package gnu.testlet.javax.swing.JComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JComponent; import javax.swing.KeyStroke; public class getRegisteredKeyStrokes implements Testlet { static class MyJComponent extends JComponent { public MyJComponent() { super(); } } public void test(TestHarness harness) { JComponent c = new MyJComponent(); harness.check(c.getRegisteredKeyStrokes().length, 0); KeyStroke ks0 = KeyStroke.getKeyStroke('a'); KeyStroke ks1 = KeyStroke.getKeyStroke('b'); KeyStroke ks2 = KeyStroke.getKeyStroke('c');; c.getInputMap(JComponent.WHEN_FOCUSED).put(ks0, "A"); harness.check(c.getRegisteredKeyStrokes()[0], ks0); c.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(ks1, "B"); harness.check(c.getRegisteredKeyStrokes()[0], ks0); harness.check(c.getRegisteredKeyStrokes()[1], ks1); c.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(ks2, "C"); harness.check(c.getRegisteredKeyStrokes()[0], ks0); harness.check(c.getRegisteredKeyStrokes()[1], ks1); harness.check(c.getRegisteredKeyStrokes()[2], ks2); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/TestComponent.java0000644000175000001440000000344110325204435024203 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JComponent; import javax.swing.JComponent; import javax.swing.plaf.ComponentUI; /** * A subclass of {@link javax.swing.JComponent} that enables to check if * certain methods (like repaint() or revalidate()) are called correctly. * * @author Roman Kennke (kennke@aicas.com) */ class TestComponent extends JComponent { /** * A flag indicating if repaint() has been called. */ boolean repaintCalled; /** * A flag indicating if revalidate() has been called. */ boolean revalidateCalled; /** * Performs the superclass repaint and sets the repaintCalled flag to true. */ public void repaint() { repaintCalled = true; super.repaint(); } /** * Performs the superclass revalidate and sets the revalidateCalled flag * to true. */ public void revalidate() { revalidateCalled = true; super.revalidate(); } /** * Overridden to make public. * * @param ui the UI to set */ public void setUI(ComponentUI ui) { super.setUI(ui); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/setVisible.java0000644000175000001440000000772311730411226023520 0ustar dokousers//Tags: JDK1.2 //Uses: TestComponent //Copyright (C) 2005 Roman Kennke //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JComponent; import javax.swing.JFrame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests if setVisible works correctly. * * @author Roman Kennke (kennke@aicas.com) */ public class setVisible implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testRepaint(harness); testRepaintNotShowing(harness); testRevalidate(harness); } /** * Tests if setVisible triggers a repaint. * * @param harness the test harness to use */ private void testRepaint(TestHarness harness) { TestComponent c = new TestComponent(); JFrame f = new JFrame(); f.getContentPane().add(c); f.setSize(200, 200); f.setVisible(true); c.setBounds(10, 20, 30, 40); // Set to false, so that we know the state. c.setVisible(false); c.repaintCalled = false; // Change state and check if repaint is called. c.setVisible(true); harness.check(c.repaintCalled, true); // Don't change state. c.repaintCalled = false; c.setVisible(true); harness.check(c.repaintCalled, false); // Change state and check if repaint is called. c.repaintCalled = false; c.setVisible(false); harness.check(c.repaintCalled, true); // Don't change state. c.repaintCalled = false; c.setVisible(false); harness.check(c.repaintCalled, false); // clean up the frame from desktop f.dispose(); } /** * Tests if setVisible triggers a repaint when the component is not showing. * * @param harness the test harness to use */ private void testRepaintNotShowing(TestHarness harness) { TestComponent c = new TestComponent(); // Set to false, so that we know the state. c.setVisible(false); c.repaintCalled = false; // Change state and check if repaint is called. c.setVisible(true); harness.check(c.repaintCalled, false); // Don't change state. c.repaintCalled = false; c.setVisible(true); harness.check(c.repaintCalled, false); // Change state and check if repaint is called. c.repaintCalled = false; c.setVisible(false); harness.check(c.repaintCalled, false); // Don't change state. c.repaintCalled = false; c.setVisible(false); harness.check(c.repaintCalled, false); } /** * Tests if setVisible triggers a revalidate. * * @param harness the test harness to use */ private void testRevalidate(TestHarness harness) { TestComponent c = new TestComponent(); c.setBounds(10, 20, 30, 40); // Set to false, so that we know the state. c.setVisible(false); c.revalidateCalled = false; // Change state and check if repaint is called. c.setVisible(true); harness.check(c.revalidateCalled, true); // Don't change state. c.revalidateCalled = false; c.setVisible(true); harness.check(c.revalidateCalled, false); // Change state and check if repaint is called. c.revalidateCalled = false; c.setVisible(false); harness.check(c.revalidateCalled, true); // Don't change state. c.revalidateCalled = false; c.setVisible(false); harness.check(c.revalidateCalled, false); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/getComponentPopupMenu.java0000644000175000001440000000363310450477434025731 0ustar dokousers/* getComponentPopupMenu.java -- some checks for the getComponentPopupMenu() method in the JComponent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.5 package gnu.testlet.javax.swing.JComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JPanel; import javax.swing.JPopupMenu; public class getComponentPopupMenu implements Testlet { public void test(TestHarness harness) { JPanel p = new JPanel(); JPopupMenu popup1 = new JPopupMenu(); JPopupMenu popup2 = new JPopupMenu(); JComponent c = new JButton("ABC"); p.add(c); harness.check(c.getComponentPopupMenu(), null); harness.check(c.getInheritsPopupMenu(), false); c.setComponentPopupMenu(popup1); harness.check(c.getComponentPopupMenu(), popup1); p.setComponentPopupMenu(popup2); harness.check(c.getComponentPopupMenu(), popup1); c.setComponentPopupMenu(null); harness.check(c.getComponentPopupMenu(), null); c.setInheritsPopupMenu(true); harness.check(c.getComponentPopupMenu(), popup2); p.setComponentPopupMenu(null); harness.check(c.getComponentPopupMenu(), null); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/paint.java0000644000175000001440000000412410325204435022513 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Graphics; import javax.swing.JComponent; import javax.swing.JFrame; /** * Tests if the paint() method works correctly. */ public class paint implements Testlet { StringBuffer callOrder = new StringBuffer(); class TestComponent extends JComponent { protected void paintComponent(Graphics g) { callOrder.append('1'); } protected void paintBorder(Graphics g) { callOrder.append('2'); } protected void paintChildren(Graphics g) { callOrder.append('3'); } } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFrame f = new JFrame(); JComponent c = new TestComponent(); f.setContentPane(c); f.setSize(100, 100); f.setVisible(true); callOrder.delete(0, callOrder.length()); Graphics g = c.getGraphics(); c.paint(g); // If the components receives multiple paint requests (like the system // triggers a repaint), then we might get 123123123 or something. To avoid // trouble like this, we check using startsWith(). harness.check(callOrder.toString().startsWith("123")); f.dispose(); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/getAlignmentX.java0000644000175000001440000000333010334126362024146 0ustar dokousers// Tags: JDK1.2 // Uses: TestLayout // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JComponent; import javax.swing.JComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getAlignmentX implements Testlet { public void test(TestHarness harness) { JComponent c = new JComponent(){}; TestLayout l = new TestLayout(); c.setLayout(l); l.alignmentX = 0.3F; // No alignment has been set, so the layout alignment is returned. harness.check(c.getAlignmentX(), 0.3F); // Now we set the alignment to a valid value and this should be returned. c.setAlignmentX(0.2F); harness.check(c.getAlignmentX(), 0.2F); // Now we set the alignment to something great, and the component // should return the nearest valid value (1.0 in this case). c.setAlignmentX(100.0F); harness.check(c.getAlignmentX(), 1.0F); // Now we set the alignment to something negative. c.setAlignmentX(-100.0F); harness.check(c.getAlignmentX(), 0.0F); } } mauve-20140821/gnu/testlet/javax/swing/JComponent/registerKeyboardAction.java0000644000175000001440000000533610450776061026061 0ustar dokousers/* registerKeyboardAction.java -- some checks for the registerKeyboardAction() methods in the JComponent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JComponent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JComponent; import javax.swing.KeyStroke; public class registerKeyboardAction implements Testlet { static class MyJComponent extends JComponent { public MyJComponent() { super(); } } public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("(ActionListener, String, KeyStroke, int)"); JComponent c = new MyJComponent(); ActionListener l1 = new ActionListener() { public void actionPerformed(ActionEvent e) { // ignore } }; c.registerKeyboardAction(l1, "ABC", KeyStroke.getKeyStroke('a'), JComponent.WHEN_FOCUSED); harness.check(c.getInputMap(JComponent.WHEN_FOCUSED).keys()[0], KeyStroke.getKeyStroke('a')); Object link = c.getInputMap(JComponent.WHEN_FOCUSED).get( KeyStroke.getKeyStroke('a')); harness.check(c.getActionMap().get(link), link); } public void testMethod2(TestHarness harness) { harness.checkPoint("(ActionListener, KeyStroke, int)"); JComponent c = new MyJComponent(); ActionListener l1 = new ActionListener() { public void actionPerformed(ActionEvent e) { // ignore } }; c.registerKeyboardAction(l1, KeyStroke.getKeyStroke('a'), JComponent.WHEN_FOCUSED); harness.check(c.getInputMap(JComponent.WHEN_FOCUSED).keys()[0], KeyStroke.getKeyStroke('a')); Object link = c.getInputMap(JComponent.WHEN_FOCUSED).get( KeyStroke.getKeyStroke('a')); harness.check(c.getActionMap().get(link), link); } } mauve-20140821/gnu/testlet/javax/swing/JRadioButtonMenuItem/0000755000175000001440000000000012375316426022503 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JRadioButtonMenuItem/isFocusable.java0000644000175000001440000000244110444322525025576 0ustar dokousers/* isFocusable.java Copyright (C) 2006 Red Hat, Tania Bento This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.4 package gnu.testlet.javax.swing.JRadioButtonMenuItem; import javax.swing.JRadioButtonMenuItem; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class isFocusable implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JRadioButtonMenuItem i = new JRadioButtonMenuItem(); harness.check(i.isFocusable(), false); } } mauve-20140821/gnu/testlet/javax/swing/JRadioButtonMenuItem/model.java0000644000175000001440000001100010504004352024416 0ustar dokousers/* model.java -- some checks for the initialisation of the menu item's model. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.JRadioButtonMenuItem; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.Icon; import javax.swing.JRadioButtonMenuItem; import javax.swing.JToggleButton.ToggleButtonModel; import javax.swing.plaf.metal.MetalIconFactory; /** * This test looks at the creation of the menu item's model. This test was * written to investigate a look and feel bug that occurs because the model is * null when the UI delegate is initialised. */ public class model implements Testlet { static class MyJRadioButtonMenuItem extends JRadioButtonMenuItem { public MyJRadioButtonMenuItem() { super(); } public MyJRadioButtonMenuItem(Action action) { super(action); } public MyJRadioButtonMenuItem(Icon icon) { super(icon); } public MyJRadioButtonMenuItem(String text) { super(text); } public MyJRadioButtonMenuItem(String text, boolean selected) { super(text, selected); } public MyJRadioButtonMenuItem(String text, Icon icon) { super(text, icon); } public MyJRadioButtonMenuItem(String text, Icon icon, boolean selected) { super(text, icon, selected); } public void init(String text, Icon icon) { // don't call super.init(), because we want to check what happens in // the constructor only... } } public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); testConstructor6(harness); testConstructor7(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("()"); MyJRadioButtonMenuItem b = new MyJRadioButtonMenuItem(); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(Action)"); Action action = new AbstractAction() { public void actionPerformed(ActionEvent e) { // do nothing } }; MyJRadioButtonMenuItem b = new MyJRadioButtonMenuItem(action); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor3(TestHarness harness) { harness.checkPoint("(Icon)"); MyJRadioButtonMenuItem b = new MyJRadioButtonMenuItem( MetalIconFactory.getFileChooserListViewIcon()); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor4(TestHarness harness) { harness.checkPoint("(String)"); MyJRadioButtonMenuItem b = new MyJRadioButtonMenuItem("ABC"); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor5(TestHarness harness) { harness.checkPoint("(String, boolean)"); MyJRadioButtonMenuItem b = new MyJRadioButtonMenuItem("ABC", false); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor6(TestHarness harness) { harness.checkPoint("(String, Icon)"); MyJRadioButtonMenuItem b = new MyJRadioButtonMenuItem("ABC", MetalIconFactory.getFileChooserDetailViewIcon()); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor7(TestHarness harness) { harness.checkPoint("(String, Icon, boolean)"); MyJRadioButtonMenuItem b = new MyJRadioButtonMenuItem("ABC", MetalIconFactory.getFileChooserDetailViewIcon(), false); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } }mauve-20140821/gnu/testlet/javax/swing/JRadioButtonMenuItem/getActionCommand.java0000644000175000001440000000270510265073351026557 0ustar dokousers// Tags: JDK1.2 //Uses: ../AbstractButton/getActionCommand //Copyright (C) 2005 Robert Schuster //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JRadioButtonMenuItem; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JRadioButtonMenuItem; /**

    Tests the JRadioButtonMenuItem's getActionCommand * method.

    * *

    Please note that the interesting bits of this test reside in the superclass * {@link gnu.testlet.javax.swing.AbstractButton} * * @author Robert Schuster * */ public class getActionCommand extends gnu.testlet.javax.swing.AbstractButton.getActionCommand implements Testlet { public void test(TestHarness harness) { check(new JRadioButtonMenuItem("bla"), harness); } }mauve-20140821/gnu/testlet/javax/swing/JRadioButtonMenuItem/uidelegate.java0000644000175000001440000001104710504004352025441 0ustar dokousers/* uidelegate.java -- some checks for the initialisation of the menu item's UI delegate. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.JRadioButtonMenuItem; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.Icon; import javax.swing.JRadioButtonMenuItem; import javax.swing.plaf.metal.MetalIconFactory; /** * This test looks at the creation of the menu item's UI delegate. This test * was written to investigate a look and feel bug that occurs because the * model is null when the UI delegate is initialised. */ public class uidelegate implements Testlet { static class MyJRadioButtonMenuItem extends JRadioButtonMenuItem { public boolean initCalled; public boolean updateUICalledAfterInitCalled; public MyJRadioButtonMenuItem() { super(); } public MyJRadioButtonMenuItem(Action action) { super(action); } public MyJRadioButtonMenuItem(Icon icon) { super(icon); } public MyJRadioButtonMenuItem(String text) { super(text); } public MyJRadioButtonMenuItem(String text, boolean selected) { super(text, selected); } public MyJRadioButtonMenuItem(String text, Icon icon) { super(text, icon); } public MyJRadioButtonMenuItem(String text, Icon icon, boolean selected) { super(text, icon, selected); } public void init(String text, Icon icon) { initCalled = true; super.init(text, icon); } public void updateUI() { updateUICalledAfterInitCalled = initCalled; super.updateUI(); } } public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); testConstructor6(harness); testConstructor7(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("()"); MyJRadioButtonMenuItem b = new MyJRadioButtonMenuItem(); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(Action)"); Action action = new AbstractAction() { public void actionPerformed(ActionEvent e) { // do nothing } }; MyJRadioButtonMenuItem b = new MyJRadioButtonMenuItem(action); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor3(TestHarness harness) { harness.checkPoint("(Icon)"); MyJRadioButtonMenuItem b = new MyJRadioButtonMenuItem( MetalIconFactory.getFileChooserListViewIcon()); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor4(TestHarness harness) { harness.checkPoint("(String)"); MyJRadioButtonMenuItem b = new MyJRadioButtonMenuItem("ABC"); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor5(TestHarness harness) { harness.checkPoint("(String, boolean)"); MyJRadioButtonMenuItem b = new MyJRadioButtonMenuItem("ABC", false); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor6(TestHarness harness) { harness.checkPoint("(String, Icon)"); MyJRadioButtonMenuItem b = new MyJRadioButtonMenuItem("ABC", MetalIconFactory.getFileChooserDetailViewIcon()); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor7(TestHarness harness) { harness.checkPoint("(String, Icon, boolean)"); MyJRadioButtonMenuItem b = new MyJRadioButtonMenuItem("ABC", MetalIconFactory.getFileChooserDetailViewIcon(), false); harness.check(b.updateUICalledAfterInitCalled, true); } }mauve-20140821/gnu/testlet/javax/swing/event/0000755000175000001440000000000012375316426017614 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/event/TreeSelectionEvent/0000755000175000001440000000000012375316426023363 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/event/TreeSelectionEvent/isAddedPath.java0000644000175000001440000000607310404472721026376 0ustar dokousers/* isAddedPath.java -- some checks for the isAddedPath() methods in the TreeSelectionEvent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 package gnu.testlet.javax.swing.event.TreeSelectionEvent; import javax.swing.event.TreeSelectionEvent; import javax.swing.tree.DefaultTreeSelectionModel; import javax.swing.tree.TreePath; import javax.swing.tree.TreeSelectionModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class isAddedPath implements Testlet { public void test(TestHarness harness) { checkMethod1(harness); checkMethod2(harness); checkMethod3(harness); } public void checkMethod1(TestHarness harness) { harness.checkPoint("()"); TreeSelectionModel m = new DefaultTreeSelectionModel(); TreePath p1 = new TreePath("A"); TreeSelectionEvent tse = new TreeSelectionEvent(m, p1, false, null, null); harness.check(tse.isAddedPath(), false); } public void checkMethod2(TestHarness harness) { harness.checkPoint("(int)"); TreeSelectionModel m = new DefaultTreeSelectionModel(); TreePath p1A = new TreePath("A"); TreePath p1B = new TreePath("AA"); TreePath[] p1 = new TreePath[] {p1A, p1B}; boolean[] b = new boolean[] {true, false}; TreeSelectionEvent tse = new TreeSelectionEvent(m, p1, b, null, null); harness.check(tse.isAddedPath(), true); harness.check(tse.isAddedPath(0), true); harness.check(tse.isAddedPath(1), false); } public void checkMethod3(TestHarness harness) { harness.checkPoint("(TreePath)"); TreeSelectionModel m = new DefaultTreeSelectionModel(); TreePath p1A = new TreePath("A"); TreePath p1B = new TreePath("AA"); TreePath[] p1 = new TreePath[] {p1A, p1B}; boolean[] b = new boolean[] {true, false}; TreeSelectionEvent tse = new TreeSelectionEvent(m, p1, b, null, null); harness.check(tse.isAddedPath(p1A), true); harness.check(tse.isAddedPath(p1B), false); // try path not recognised boolean pass = false; try { tse.isAddedPath(new TreePath("X")); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try null path pass = false; try { tse.isAddedPath(null); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/event/TreeSelectionEvent/constructors.java0000644000175000001440000001207110404472721026767 0ustar dokousers/* constructors.java -- some checks for the constructors in the TreeSelectionEvent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.event.TreeSelectionEvent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.event.TreeSelectionEvent; import javax.swing.tree.DefaultTreeSelectionModel; import javax.swing.tree.TreePath; import javax.swing.tree.TreeSelectionModel; public class constructors implements Testlet { public void test(TestHarness harness) { checkConstructor1(harness); checkConstructor2(harness); } public void checkConstructor1(TestHarness harness) { harness.checkPoint("(Object, TreePath, boolean, TreePath, TreePath)"); TreeSelectionModel m = new DefaultTreeSelectionModel(); TreePath p1 = new TreePath("A"); TreePath p2 = new TreePath("B"); TreePath p3 = new TreePath("C"); TreeSelectionEvent tse = new TreeSelectionEvent(m, p1, true, p2, p3); harness.check(tse.getSource(), m); harness.check(tse.getPath(), p1); harness.check(tse.getPaths().length, 1); harness.check(tse.getPaths()[0], p1); harness.check(tse.isAddedPath()); harness.check(tse.getOldLeadSelectionPath(), p2); harness.check(tse.getNewLeadSelectionPath(), p3); // check null source boolean pass = false; try { tse = new TreeSelectionEvent(null, p1, true, p2, p3); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // check null path tse = new TreeSelectionEvent(m, null, true, p2, p3); harness.check(tse.getPath(), null); harness.check(tse.getPaths().length, 1); harness.check(tse.getPaths()[0], null); // check null old path tse = new TreeSelectionEvent(m, p1, true, null, p3); harness.check(tse.getOldLeadSelectionPath(), null); // check null new path tse = new TreeSelectionEvent(m, p1, true, p2, null); harness.check(tse.getNewLeadSelectionPath(), null); } public void checkConstructor2(TestHarness harness) { harness.checkPoint("(Object, TreePath[], boolean[], TreePath, TreePath)"); TreeSelectionModel m = new DefaultTreeSelectionModel(); TreePath p1A = new TreePath("A"); TreePath p1B = new TreePath("AA"); TreePath[] p1 = new TreePath[] {p1A, p1B}; TreePath p2 = new TreePath("B"); TreePath p3 = new TreePath("C"); boolean[] b = new boolean[] {true, false}; TreeSelectionEvent tse = new TreeSelectionEvent(m, p1, b, p2, p3); harness.check(tse.getSource(), m); harness.check(tse.getPath(), p1A); harness.check(tse.getPaths().length, 2); harness.check(tse.getPaths()[0], p1A); harness.check(tse.getPaths()[1], p1B); harness.check(tse.isAddedPath(), true); harness.check(tse.isAddedPath(0), true); harness.check(tse.isAddedPath(1), false); harness.check(tse.getOldLeadSelectionPath(), p2); harness.check(tse.getNewLeadSelectionPath(), p3); // check null source boolean pass = false; try { tse = new TreeSelectionEvent(null, p1, b, p2, p3); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // check null path array tse = new TreeSelectionEvent(m, null, b, p2, p3); // ...constructor allows it, but then fails at getPath() pass = false; try { tse.getPath(); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { tse.getPaths(); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check null boolean array tse = new TreeSelectionEvent(m, p1, null, p2, p3); pass = false; try { tse.isAddedPath(); } catch (NullPointerException e) { pass = true; } harness.check(pass); pass = false; try { tse.isAddedPath(0); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check null old path tse = new TreeSelectionEvent(m, p1, b, null, p3); harness.check(tse.getOldLeadSelectionPath(), null); // check null new path tse = new TreeSelectionEvent(m, p1, b, p2, null); harness.check(tse.getNewLeadSelectionPath(), null); } } mauve-20140821/gnu/testlet/javax/swing/event/TreeSelectionEvent/cloneWithSource.java0000644000175000001440000000426010404472721027335 0ustar dokousers/* cloneWithSource.java -- some checks for the cloneWithSource() method in the TreeSelectionEvent. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.event.TreeSelectionEvent; import javax.swing.event.TreeSelectionEvent; import javax.swing.tree.DefaultTreeSelectionModel; import javax.swing.tree.TreePath; import javax.swing.tree.TreeSelectionModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class cloneWithSource implements Testlet { public void test(TestHarness harness) { TreeSelectionModel m1 = new DefaultTreeSelectionModel(); TreeSelectionModel m2 = new DefaultTreeSelectionModel(); TreePath p1 = new TreePath("A"); TreePath p2 = new TreePath("B"); TreePath p3 = new TreePath("C"); TreeSelectionEvent tse1 = new TreeSelectionEvent(m1, p1, true, p2, p3); TreeSelectionEvent tse2 = (TreeSelectionEvent) tse1.cloneWithSource(m2); harness.check(tse2.getSource(), m2); harness.check(tse2.getPath(), p1); harness.check(tse2.getPaths().length, 1); harness.check(tse2.getPaths()[0], p1); harness.check(tse2.isAddedPath()); harness.check(tse2.getOldLeadSelectionPath(), p2); harness.check(tse2.getNewLeadSelectionPath(), p3); // try null source boolean pass = false; try { tse1.cloneWithSource(null); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/event/ListDataEvent/0000755000175000001440000000000012375316426022323 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/event/ListDataEvent/getIndex0.java0000644000175000001440000000254410444530262025011 0ustar dokousers/* getIndex0.java -- some checks for the getIndex0() method in the ListDataEvent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.event.ListDataEvent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.event.ListDataEvent; public class getIndex0 implements Testlet { public void test(TestHarness harness) { ListDataEvent e = new ListDataEvent(this, ListDataEvent.INTERVAL_REMOVED, 1, 2); harness.check(e.getIndex0(), 1); e = new ListDataEvent(this, ListDataEvent.INTERVAL_REMOVED, 4, 3); harness.check(e.getIndex0(), 3); } } mauve-20140821/gnu/testlet/javax/swing/event/ListDataEvent/constructor.java0000644000175000001440000000442610444530262025550 0ustar dokousers/* constructor.java -- some checks for the constructor in the ListDataEvent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.event.ListDataEvent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.event.ListDataEvent; public class constructor implements Testlet { public void test(TestHarness harness) { ListDataEvent e = new ListDataEvent(this, ListDataEvent.CONTENTS_CHANGED, 1, 2); harness.check(e.getSource(), this); harness.check(e.getType(), ListDataEvent.CONTENTS_CHANGED); harness.check(e.getIndex0(), 1); harness.check(e.getIndex1(), 2); // try null source boolean pass = false; try { e = new ListDataEvent(null, ListDataEvent.CONTENTS_CHANGED, 1, 2); } catch (IllegalArgumentException ex) { pass = true; } harness.check(pass); // try first index greater than second e = new ListDataEvent(this, ListDataEvent.CONTENTS_CHANGED, 99, 2); harness.check(e.getIndex0(), 2); harness.check(e.getIndex1(), 99); // try bad type e = new ListDataEvent(this, -99, 1, 2); harness.check(e.getType(), -99); // try negative first index e = new ListDataEvent(this, -ListDataEvent.CONTENTS_CHANGED, -10, 2); harness.check(e.getIndex0(), -10); harness.check(e.getIndex1(), 2); // try negative second index e = new ListDataEvent(this, -ListDataEvent.CONTENTS_CHANGED, 1, -2); harness.check(e.getIndex0(), -2); harness.check(e.getIndex1(), 1); } } mauve-20140821/gnu/testlet/javax/swing/event/ListDataEvent/toString.java0000644000175000001440000000275610444530262025000 0ustar dokousers/* getIndex0.java -- some checks for the toString() method in the ListDataEvent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.event.ListDataEvent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.event.ListDataEvent; public class toString implements Testlet { public void test(TestHarness harness) { ListDataEvent e = new ListDataEvent(this, ListDataEvent.INTERVAL_REMOVED, 1, 2); harness.check(e.toString(), "javax.swing.event.ListDataEvent[type=2,index0=1,index1=2]"); e = new ListDataEvent(this, ListDataEvent.INTERVAL_REMOVED, 4, 3); harness.check(e.toString(), "javax.swing.event.ListDataEvent[type=2,index0=3,index1=4]"); } } mauve-20140821/gnu/testlet/javax/swing/event/ListDataEvent/getIndex1.java0000644000175000001440000000254410444530262025012 0ustar dokousers/* getIndex1.java -- some checks for the getIndex1() method in the ListDataEvent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.event.ListDataEvent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.event.ListDataEvent; public class getIndex1 implements Testlet { public void test(TestHarness harness) { ListDataEvent e = new ListDataEvent(this, ListDataEvent.INTERVAL_REMOVED, 1, 2); harness.check(e.getIndex1(), 2); e = new ListDataEvent(this, ListDataEvent.INTERVAL_REMOVED, 4, 3); harness.check(e.getIndex1(), 4); } } mauve-20140821/gnu/testlet/javax/swing/event/ListDataEvent/getSource.java0000644000175000001440000000237310444530262025122 0ustar dokousers/* getSource.java -- some checks for the getSource() method in the ListDataEvent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.event.ListDataEvent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.event.ListDataEvent; public class getSource implements Testlet { public void test(TestHarness harness) { ListDataEvent e = new ListDataEvent(this, ListDataEvent.INTERVAL_REMOVED, 1, 2); harness.check(e.getSource(), this); } } mauve-20140821/gnu/testlet/javax/swing/event/ListDataEvent/getType.java0000644000175000001440000000241510444530262024600 0ustar dokousers/* getType.java -- some checks for the getType() method in the ListDataEvent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.event.ListDataEvent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.event.ListDataEvent; public class getType implements Testlet { public void test(TestHarness harness) { ListDataEvent e = new ListDataEvent(this, ListDataEvent.INTERVAL_REMOVED, 1, 2); harness.check(e.getType(), ListDataEvent.INTERVAL_REMOVED); } } mauve-20140821/gnu/testlet/javax/swing/event/TableModelEvent/0000755000175000001440000000000012375316426022626 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/event/TableModelEvent/constructors.java0000644000175000001440000001265710260467534026252 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.event.TableModelEvent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.event.TableModelEvent; import javax.swing.table.DefaultTableModel; /** * Some checks for the constructors in the {@link TableModelEvent} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("(TableModel)"); DefaultTableModel tm = new DefaultTableModel(2, 3); TableModelEvent event = new TableModelEvent(tm); harness.check(event.getSource() == tm); harness.check(event.getType(), TableModelEvent.UPDATE); harness.check(event.getColumn(), TableModelEvent.ALL_COLUMNS); harness.check(event.getFirstRow(), 0); harness.check(event.getLastRow(), Integer.MAX_VALUE); // try a null argument... boolean pass = false; try { /*TableModelEvent e =*/ new TableModelEvent(null); } catch (IllegalArgumentException e) { pass = true; } catch (NullPointerException e) { pass = false; } harness.check(pass); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(TableModel, int)"); DefaultTableModel tm = new DefaultTableModel(2, 3); TableModelEvent event = new TableModelEvent(tm, 1); harness.check(event.getSource() == tm); harness.check(event.getType(), TableModelEvent.UPDATE); harness.check(event.getColumn(), TableModelEvent.ALL_COLUMNS); harness.check(event.getFirstRow(), 1); harness.check(event.getLastRow(), 1); // try a null argument... boolean pass = false; try { /*TableModelEvent e =*/ new TableModelEvent(null, 1); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } public void testConstructor3(TestHarness harness) { harness.checkPoint("(TableModel, int, int)"); DefaultTableModel tm = new DefaultTableModel(2, 3); TableModelEvent event = new TableModelEvent(tm, 0, 2); harness.check(event.getSource() == tm); harness.check(event.getType(), TableModelEvent.UPDATE); harness.check(event.getColumn(), TableModelEvent.ALL_COLUMNS); harness.check(event.getFirstRow(), 0); harness.check(event.getLastRow(), 2); // try a null argument... boolean pass = false; try { /*TableModelEvent e =*/ new TableModelEvent(null, 1, 1); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try first row > lastRow pass = false; TableModelEvent e = new TableModelEvent(tm, 2, 0); harness.check(e.getFirstRow(), 2); harness.check(e.getLastRow(), 0); } public void testConstructor4(TestHarness harness) { harness.checkPoint("(TableModel, int, int, int)"); DefaultTableModel tm = new DefaultTableModel(2, 3); TableModelEvent event = new TableModelEvent(tm, 0, 2, 1); harness.check(event.getSource() == tm); harness.check(event.getType(), TableModelEvent.UPDATE); harness.check(event.getColumn(), 1); harness.check(event.getFirstRow(), 0); harness.check(event.getLastRow(), 2); // try a null argument... boolean pass = false; try { /*TableModelEvent e =*/ new TableModelEvent(null, 1, 1, 0); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } public void testConstructor5(TestHarness harness) { harness.checkPoint("(TableModel, int, int, int, int)"); DefaultTableModel tm = new DefaultTableModel(2, 3); TableModelEvent event = new TableModelEvent(tm, 0, 2, 1, TableModelEvent.DELETE); harness.check(event.getSource() == tm); harness.check(event.getType(), TableModelEvent.DELETE); harness.check(event.getColumn(), 1); harness.check(event.getFirstRow(), 0); harness.check(event.getLastRow(), 2); // try a null argument... boolean pass = false; try { /*TableModelEvent e =*/ new TableModelEvent(null, 1, 1, 0, TableModelEvent.INSERT); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try an unknown type TableModelEvent e = new TableModelEvent(tm, 0, 2, 1, 999); harness.check(e.getType(), 999); } } mauve-20140821/gnu/testlet/javax/swing/event/SwingPropertyChangeSupport/0000755000175000001440000000000012375316426025153 5ustar dokousers././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/event/SwingPropertyChangeSupport/removePropertyChangeListener.javamauve-20140821/gnu/testlet/javax/swing/event/SwingPropertyChangeSupport/removePropertyChangeListener0000644000175000001440000000643210366774113032760 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.event.SwingPropertyChangeSupport; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.event.SwingPropertyChangeSupport; /** * Tests the removePropertyChangeListener() methods in the * {@link SwingPropertyChangeSupport} class. */ public class removePropertyChangeListener implements Testlet, PropertyChangeListener { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); } private void test1(TestHarness harness) { harness.checkPoint("(PropertyChangeListener)"); SwingPropertyChangeSupport s = new SwingPropertyChangeSupport(this); // now add a listener s.addPropertyChangeListener(this); PropertyChangeListener[] listeners = s.getPropertyChangeListeners(); harness.check(listeners.length, 1); harness.check(listeners[0], this); // remove it again s.removePropertyChangeListener(this); listeners = s.getPropertyChangeListeners(); harness.check(listeners.length, 0); // remove a listener that doesn't exist s.removePropertyChangeListener(this); // try a null argument s.removePropertyChangeListener(null); } private void test2(TestHarness harness) { harness.checkPoint("(String, PropertyChangeListener)"); SwingPropertyChangeSupport s = new SwingPropertyChangeSupport(this); // now add a listener s.addPropertyChangeListener("X", this); PropertyChangeListener[] listeners = s.getPropertyChangeListeners("X"); harness.check(listeners.length, 1); harness.check(listeners[0], this); // remove it again s.removePropertyChangeListener("X", this); listeners = s.getPropertyChangeListeners("X"); harness.check(listeners.length, 0); // remove a listener that doesn't exist s.removePropertyChangeListener("X", this); // according to the 1.5.0 spec, a null property name causes no action // or exception boolean pass = false; try { s.removePropertyChangeListener(null, this); pass = true; } catch (Exception e) { pass = false; } harness.check(pass); // try a null argument 2 s.removePropertyChangeListener("X", null); } public void propertyChange(PropertyChangeEvent e) { // do nothing } } mauve-20140821/gnu/testlet/javax/swing/event/SwingPropertyChangeSupport/firePropertyChange.java0000644000175000001440000001210010323151522031571 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.event.SwingPropertyChangeSupport; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.event.SwingPropertyChangeSupport; /** * Tests the firePropertyChange() methods in the * {@link SwingPropertyChangeSupport} class. */ public class firePropertyChange implements Testlet, PropertyChangeListener { private PropertyChangeEvent lastEvent = null; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); test3(harness); test4(harness); } private void test1(TestHarness harness) { harness.checkPoint("(PropertyChangeEvent)"); SwingPropertyChangeSupport s = new SwingPropertyChangeSupport(this); s.addPropertyChangeListener(this); PropertyChangeEvent e = new PropertyChangeEvent("SOURCE", "X", "Y", "Z"); s.firePropertyChange(e); harness.check(this.lastEvent.getSource(), "SOURCE"); harness.check(this.lastEvent.getPropertyName(), "X"); harness.check(this.lastEvent.getOldValue(), "Y"); harness.check(this.lastEvent.getNewValue(), "Z"); // if the old and new values are the same (and non-null), then no listeners // are notified this.lastEvent = null; e = new PropertyChangeEvent("SOURCE", "X", "YY", "YY"); s.firePropertyChange(e); harness.check(lastEvent, null); // but if the old and new values are both null, listeners ARE notified this.lastEvent = null; e = new PropertyChangeEvent("SOURCE", "X", null, null); s.firePropertyChange(e); harness.check(lastEvent, e); // check that a null argument throws a null pointer exception this.lastEvent = null; boolean pass = false; try { s.firePropertyChange(null); } catch (NullPointerException npe) { pass = true; } harness.check(pass); } private void test2(TestHarness harness) { harness.checkPoint("(String, Object, Object)"); SwingPropertyChangeSupport s = new SwingPropertyChangeSupport("SOURCE"); s.addPropertyChangeListener(this); s.firePropertyChange("X", "Y", "Z"); harness.check(this.lastEvent.getSource(), "SOURCE"); harness.check(this.lastEvent.getPropertyName(), "X"); harness.check(this.lastEvent.getOldValue(), "Y"); harness.check(this.lastEvent.getNewValue(), "Z"); this.lastEvent = null; // if both Objects are equal and non-null, no event is generated this.lastEvent = null; s.firePropertyChange("X", "Z", "Z"); harness.check(this.lastEvent, null); // the following should not throw any exceptions // s.firePropertyChange(null, "Y", "Z"); // s.firePropertyChange("X", null, "Z"); // s.firePropertyChange("X", "Y", null); } private void test3(TestHarness harness) { harness.checkPoint("(String, boolean, boolean)"); SwingPropertyChangeSupport s = new SwingPropertyChangeSupport("SOURCE"); s.addPropertyChangeListener(this); s.firePropertyChange("X", false, true); harness.check(this.lastEvent.getSource(), "SOURCE"); harness.check(this.lastEvent.getPropertyName(), "X"); harness.check(this.lastEvent.getOldValue(), Boolean.FALSE); harness.check(this.lastEvent.getNewValue(), Boolean.TRUE); // if both booleans are equal, no event is generated this.lastEvent = null; s.firePropertyChange("X", true, true); harness.check(this.lastEvent, null); } private void test4(TestHarness harness) { harness.checkPoint("(String, int, int)"); SwingPropertyChangeSupport s = new SwingPropertyChangeSupport("SOURCE"); s.addPropertyChangeListener(this); s.firePropertyChange("X", 12, 34); harness.check(this.lastEvent.getSource(), "SOURCE"); harness.check(this.lastEvent.getPropertyName(), "X"); harness.check(this.lastEvent.getOldValue(), new Integer(12)); harness.check(this.lastEvent.getNewValue(), new Integer(34)); // if both ints are equal, no event is generated this.lastEvent = null; s.firePropertyChange("X", 99, 99); harness.check(this.lastEvent, null); } public void propertyChange(PropertyChangeEvent e) { this.lastEvent = e; } } mauve-20140821/gnu/testlet/javax/swing/event/SwingPropertyChangeSupport/constructor.java0000644000175000001440000000364510302571101030370 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.event.SwingPropertyChangeSupport; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.event.SwingPropertyChangeSupport; /** * Tests the constructor in the {@link SwingPropertyChangeSupport} * class. */ public class constructor implements Testlet, PropertyChangeListener { private PropertyChangeEvent event = null; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SwingPropertyChangeSupport s = new SwingPropertyChangeSupport(this); s.addPropertyChangeListener(this); s.firePropertyChange("X", false, true); harness.check(this.event.getSource(), this); // check null argument boolean pass = false; try { s = new SwingPropertyChangeSupport(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void propertyChange(PropertyChangeEvent e) { this.event = e; } } ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/event/SwingPropertyChangeSupport/getPropertyChangeListeners.javamauve-20140821/gnu/testlet/javax/swing/event/SwingPropertyChangeSupport/getPropertyChangeListeners.j0000644000175000001440000000570510302571101032635 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.event.SwingPropertyChangeSupport; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.beans.PropertyChangeListenerProxy; import javax.swing.event.SwingPropertyChangeSupport; /** * Tests the getPropertyChangeListeners() method in the * {@link SwingPropertyChangeSupport} class. */ public class getPropertyChangeListeners implements Testlet, PropertyChangeListener { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); } private void test1(TestHarness harness) { harness.checkPoint("()"); SwingPropertyChangeSupport s = new SwingPropertyChangeSupport(this); PropertyChangeListener[] listeners = s.getPropertyChangeListeners(); harness.check(listeners.length, 0); // now add a listener s.addPropertyChangeListener(this); listeners = s.getPropertyChangeListeners();; harness.check(listeners.length, 1); harness.check(listeners[0], this); // listeners for specific properties should show up in the list wrapped // in PropertyChangeListenerProxy instances s.addPropertyChangeListener("X", this); listeners = s.getPropertyChangeListeners(); harness.check(listeners.length, 2); PropertyChangeListenerProxy proxy = (PropertyChangeListenerProxy) listeners[1]; harness.check(proxy.getPropertyName(), "X"); harness.check(proxy.getListener(), this); } private void test2(TestHarness harness) { harness.checkPoint("(String)"); SwingPropertyChangeSupport s = new SwingPropertyChangeSupport(this); PropertyChangeListener[] listeners = s.getPropertyChangeListeners("X"); harness.check(listeners.length, 0); // now add a listener s.addPropertyChangeListener("X", this); listeners = s.getPropertyChangeListeners("X"); harness.check(listeners.length, 1); harness.check(listeners[0], this); } public void propertyChange(PropertyChangeEvent e) { // do nothing } } mauve-20140821/gnu/testlet/javax/swing/event/SwingPropertyChangeSupport/hasListeners.java0000644000175000001440000000463010366774113030464 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.event.SwingPropertyChangeSupport; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.event.SwingPropertyChangeSupport; /** * Tests the hasListeners() method in the {@link SwingPropertyChangeSupport} * class. */ public class hasListeners implements Testlet, PropertyChangeListener { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SwingPropertyChangeSupport s = new SwingPropertyChangeSupport(this); harness.check(s.hasListeners("X"), false); // add a listener for all events s.addPropertyChangeListener(this); harness.check(s.hasListeners("X")); s.removePropertyChangeListener(this); harness.check(s.hasListeners("X"), false); // add a listener for a specific event s.addPropertyChangeListener("X", this); harness.check(s.hasListeners("X"), true); s.removePropertyChangeListener("X", this); harness.check(s.hasListeners("X"), false); // check null argument - in 1.5.0 the spec says that this checks for // listeners registered against all properties harness.check(s.hasListeners(null), false); // add a listener for all events s.addPropertyChangeListener(this); harness.check(s.hasListeners(null)); s.removePropertyChangeListener(this); harness.check(s.hasListeners(null), false); } public void propertyChange(PropertyChangeEvent e) { // do nothing } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/event/SwingPropertyChangeSupport/addPropertyChangeListener.javamauve-20140821/gnu/testlet/javax/swing/event/SwingPropertyChangeSupport/addPropertyChangeListener.ja0000644000175000001440000000532510302571101032562 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.event.SwingPropertyChangeSupport; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.event.SwingPropertyChangeSupport; /** * Tests the addPropertyChangeListener() method in the * {@link SwingPropertyChangeSupport} class. */ public class addPropertyChangeListener implements Testlet, PropertyChangeListener { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); } private void test1(TestHarness harness) { harness.checkPoint("(PropertyChangeListener)"); SwingPropertyChangeSupport s = new SwingPropertyChangeSupport(this); // now add a listener s.addPropertyChangeListener(this); PropertyChangeListener[] listeners = s.getPropertyChangeListeners(); harness.check(listeners.length, 1); harness.check(listeners[0], this); // try adding a null listener - it gets silently ignored s.addPropertyChangeListener(null); listeners = s.getPropertyChangeListeners(); harness.check(listeners.length, 1); } private void test2(TestHarness harness) { harness.checkPoint("(String, PropertyChangeListener)"); SwingPropertyChangeSupport s = new SwingPropertyChangeSupport(this); // now add a listener s.addPropertyChangeListener("X", this); PropertyChangeListener[] listeners = s.getPropertyChangeListeners("X"); harness.check(listeners.length, 1); harness.check(listeners[0], this); // try adding a null listener - it gets silently ignored s.addPropertyChangeListener("X", null); listeners = s.getPropertyChangeListeners("X"); harness.check(listeners.length, 1); } public void propertyChange(PropertyChangeEvent e) { // do nothing } } mauve-20140821/gnu/testlet/javax/swing/event/EventListenerList/0000755000175000001440000000000012375316426023237 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/event/EventListenerList/getListenerList.java0000644000175000001440000000415710544512702027221 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.event.EventListenerList; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.EventListener; import javax.swing.event.EventListenerList; /** * @author Sascha Brawer (brawer@dandelis.ch) */ public class getListenerList implements Testlet { private static class L implements EventListener { }; public void test(TestHarness harness) { EventListenerList ell = new EventListenerList(); EventListener l1 = new L(); L l2 = new L(); Object[] list; // Check #1. list = ell.getListenerList(); harness.check(list.length, 0); // Check #2. ell.add(EventListener.class, l1); ell.add(L.class, l2); list = ell.getListenerList(); harness.check(list.length, 4); // Check #3. harness.check(list[0] == EventListener.class); // Check #4. harness.check(list[1] == l1); // Check #5. harness.check(list[2] == L.class); // Check #6. harness.check(list[3] == l2); // Check #7: Same array returned upon each invocation. harness.check(ell.getListenerList() == list); // Check #8. ell.remove(EventListener.class, l1); list = ell.getListenerList(); harness.check(list.length, 2); // Check #9. harness.check(list[0] == L.class); // Check #10. harness.check(list[1] == l2); } } mauve-20140821/gnu/testlet/javax/swing/event/EventListenerList/toString.java0000644000175000001440000000342607776542563025734 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.event.EventListenerList; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.EventListener; import javax.swing.event.EventListenerList; /** * @author Sascha Brawer (brawer@dandelis.ch) */ public class toString implements Testlet { private static class L1 implements EventListener { public String toString() { return "l-one"; } }; private static class L2 implements EventListener { public String toString() { return "l-two"; } }; public void test(TestHarness harness) { // Check #1. EventListenerList ell = new EventListenerList(); ell.add(EventListener.class, new L1()); ell.add(L2.class, new L2()); harness.check(ell.toString(), "EventListenerList: 2 listeners: " + "type java.util.EventListener listener l-one " + "type gnu.testlet.javax.swing.event.EventList" + "enerList.toString$L2 listener l-two"); } } mauve-20140821/gnu/testlet/javax/swing/event/EventListenerList/add.java0000644000175000001440000000645610546462232024640 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.event.EventListenerList; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.EventListener; import javax.swing.event.EventListenerList; /** * These tests pass with the Sun JDK 1.4.1_01 on GNU/Linux IA-32. * * @see Classpath bug #7104 * * @author Sascha Brawer (brawer@dandelis.ch) */ public class add implements Testlet { private static class L implements EventListener { }; private static class L2 implements EventListener { }; public void test(TestHarness harness) { EventListenerList ell = new EventListenerList(); L l1 = new L(); L l2 = new L(); Object[] list; // Check #1. ell.add(EventListener.class, l1); list = ell.getListenerList(); harness.check(list.length, 2); // Check #2. harness.check(list[0], EventListener.class); // Check #3. harness.check(list[1] == l1); // Check #4. ell.add(L.class, l2); list = ell.getListenerList(); harness.check(list.length, 4); // Check #5. // Classpath bug #7104. harness.check(list[0], EventListener.class); // Check #6. // Classpath bug #7104. harness.check(list[1] == l1); // Check #7. harness.check(list[2], L.class); // Check #8. harness.check(list[3] == l2); // Check #9: Adding null listener. ell = new EventListenerList(); Throwable caught = null; try { ell.add(L.class, null); } catch (Exception ex) { caught = ex; } harness.check(caught, null); // Check #10: Adding null listener does not change anything. // Classpath bug #7104. harness.check(ell.getListenerCount(), 0); // Check #11: Registering as null class. caught = null; try { ell.add(null, new L()); } catch (Exception ex) { caught = ex; } harness.check(caught != null); // Check #12: Registering a null class does not actually // register it. // Classpath bug #7104. harness.check(ell.getListenerCount(), 0); // Check #13: Registering a non-instance. // Classpath bug #7104. caught = null; try { ell.add( (Class) L.class, new L2()); } catch (Exception ex) { caught = ex; } harness.check(caught instanceof IllegalArgumentException); // Check #14: Registering the same listener twice. // Classpath bug #7104. ell.add(L.class, l1); ell.add(L.class, l1); harness.check(ell.getListenerCount(), 2); } } mauve-20140821/gnu/testlet/javax/swing/event/EventListenerList/getListeners.java0000644000175000001440000000611110544512702026540 0ustar dokousers// Tags: JDK1.3 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.event.EventListenerList; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.EventListener; import javax.swing.event.EventListenerList; /** * These tests pass with the Sun JDK 1.4.1_01 on GNU/Linux IA-32. * * @author Sascha Brawer (brawer@dandelis.ch) */ public class getListeners implements Testlet { private static class L1 implements EventListener { }; private static class L2 implements EventListener { }; private static class L3 extends L2 { }; private static class L4 implements EventListener { }; public void test(TestHarness harness) { EventListenerList ell = new EventListenerList(); L1 l1a = new L1(); L1 l1b = new L1(); L2 l2 = new L2(); L3 l3 = new L3(); EventListener[] list; Throwable caught; ell.add(EventListener.class, l1a); ell.add(L2.class, l2); ell.add(L3.class, l3); ell.add(L1.class, l1b); list = ell.getListeners(L1.class); harness.check(list.length, 1); // #1. harness.check(list[0] == l1b); // #2. harness.check(list.getClass().getComponentType(), L1.class); // #3. list = ell.getListeners(L2.class); harness.check(list.length, 1); // #4. harness.check(list[0] == l2); // #5. harness.check(list.getClass().getComponentType(), L2.class); // #6. list = ell.getListeners(L3.class); harness.check(list.length, 1); // #7. harness.check(list[0] == l3); // #8. harness.check(list.getClass().getComponentType(), L3.class); // #9. list = ell.getListeners(EventListener.class); harness.check(list.length, 1); // #10. harness.check(list[0] == l1a); // #11. harness.check(list.getClass().getComponentType(), EventListener.class); // #12. harness.check(ell.getListeners(L4.class).length, 0); // #13. // Check #14. caught = null; try { ell.getListeners(null); } catch (Exception ex) { caught = ex; } harness.check(caught instanceof NullPointerException); /* Doesn't compile with 1.5 // Check #15. caught = null; try { ell.getListeners(String.class); } catch (Exception ex) { caught = ex; } harness.check(caught instanceof ClassCastException); */ } } mauve-20140821/gnu/testlet/javax/swing/event/EventListenerList/getListenerCount.java0000644000175000001440000000422010544512702027365 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.event.EventListenerList; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.EventListener; import javax.swing.event.EventListenerList; /** * @author Sascha Brawer (brawer@dandelis.ch) */ public class getListenerCount implements Testlet { private static class L1 implements EventListener {}; private static class L2 extends L1 {}; private static class L3 extends L1 {}; public void test(TestHarness harness) { EventListenerList ell = new EventListenerList(); L1 l1 = new L1(); L2 l2 = new L2(); L3 l3_1 = new L3(); L3 l3_2 = new L3(); // Check #1. harness.check(ell.getListenerCount(), 0); // Check #2. harness.check(ell.getListenerCount(L1.class), 0); // Check #3: null argument (Classpath bug #7099). harness.check(ell.getListenerCount(null), 0); // Check #4: Class that does not implement EventListener. harness.check(ell.getListenerCount(String.class), 0); // Check #5. ell.add(L1.class, l1); ell.add(L2.class, l2); ell.add(L1.class, l3_1); ell.add(L3.class, l3_2); harness.check(ell.getListenerCount(), 4); // Check #6. harness.check(ell.getListenerCount(L1.class), 2); // Check #7. harness.check(ell.getListenerCount(L2.class), 1); // Check #8. harness.check(ell.getListenerCount(L3.class), 1); } } mauve-20140821/gnu/testlet/javax/swing/event/EventListenerList/remove.java0000644000175000001440000000656710544512702025404 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.event.EventListenerList; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.EventListener; import javax.swing.event.EventListenerList; /** * @author Sascha Brawer (brawer@dandelis.ch) */ public class remove implements Testlet { private static class L implements EventListener { }; private static class L2 implements EventListener { }; public void test(TestHarness harness) { EventListenerList ell = new EventListenerList(); EventListener l1 = new L(); L l2 = new L(); Object[] list; Throwable caught; // Check #1. ell.add(EventListener.class, l1); ell.add(L.class, l2); ell.remove(EventListener.class, l1); list = ell.getListenerList(); harness.check(list.length, 2); // Check #2. // Classpath bug #7105. harness.check(list[0] == L.class); // Check #3. // Classpath bug #7105. harness.check(list[1] == l2); // Check #4: Remove something not in the list. ell.remove(EventListener.class, l2); list = ell.getListenerList(); harness.check(list.length, 2); // Check #5: remove(null, foo) // Classpath bug #7105. caught = null; try { ell.remove(null, l2); } catch (Exception ex) { caught = ex; } harness.check(caught instanceof NullPointerException); // Check #6: remove(foo, null) caught = null; try { ell.remove(EventListener.class, null); } catch (Exception ex) { caught = ex; } harness.check(caught, null); // Check #7: remove(null, null) caught = null; try { ell.remove(null, null); } catch (Exception ex) { caught = ex; } harness.check(caught, null); /* Doesn't compile with 1.5 // Check #8: Removing non-instance. // Classpath bug #7105. caught = null; try { ell.remove(L2.class, l2); } catch (Exception ex) { caught = ex; } harness.check(caught instanceof IllegalArgumentException); */ // Unsuccessful attempts should not change the list. list = ell.getListenerList(); harness.check(list.length, 2); // Check #9. harness.check(list[0], L.class); // Check #10. Classpath bug #7105. harness.check(list[1] == l2); // Check #11. Classpath bug #7105. // Check #12: Removal of doubly registered listener. ell = new EventListenerList(); ell.add(L.class, l2); ell.add(L.class, l2); ell.remove(L.class, l2); harness.check(ell.getListenerList().length, 2); } } mauve-20140821/gnu/testlet/javax/swing/event/InternalFrameEvent/0000755000175000001440000000000012375316426023345 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/event/InternalFrameEvent/constructor.java0000644000175000001440000000343410441644425026574 0ustar dokousers/* constructor.java -- some checks for the constructor in the InternalFrameEvent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.event.InternalFrameEvent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JInternalFrame; import javax.swing.event.InternalFrameEvent; public class constructor implements Testlet { public void test(TestHarness harness) { JInternalFrame f = new JInternalFrame("Title"); InternalFrameEvent e = new InternalFrameEvent(f, InternalFrameEvent.INTERNAL_FRAME_ACTIVATED); harness.check(e.getID(), InternalFrameEvent.INTERNAL_FRAME_ACTIVATED); harness.check(e.getInternalFrame(), f); // null frame boolean pass = false; try { e = new InternalFrameEvent(null, InternalFrameEvent.INTERNAL_FRAME_CLOSED); } catch (IllegalArgumentException event) { pass = true; } harness.check(pass); // unrecognised id e = new InternalFrameEvent(f, -999); harness.check(e.getID(), -999); } } mauve-20140821/gnu/testlet/javax/swing/event/InternalFrameEvent/getInternalFrame.java0000644000175000001440000000311610441644425027433 0ustar dokousers/* getInternalFrame.java -- some checks for the getInternalFrame() method in the InternalFrameEvent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.event.InternalFrameEvent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JInternalFrame; import javax.swing.event.InternalFrameEvent; public class getInternalFrame implements Testlet { public void test(TestHarness harness) { JInternalFrame f = new JInternalFrame("Title"); InternalFrameEvent e = new InternalFrameEvent(f, InternalFrameEvent.INTERNAL_FRAME_ACTIVATED); harness.check(e.getInternalFrame(), f); JInternalFrame f2 = new JInternalFrame("Title2"); e.setSource(f2); harness.check(e.getInternalFrame(), f2); e.setSource(null); harness.check(e.getInternalFrame(), null); } }mauve-20140821/gnu/testlet/javax/swing/event/InternalFrameEvent/paramString.java0000644000175000001440000000455310441644425026501 0ustar dokousers/* paramString.java -- some checks for the paramString() method in the InternalFrameEvent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.event.InternalFrameEvent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JInternalFrame; import javax.swing.event.InternalFrameEvent; public class paramString implements Testlet { public void test(TestHarness harness) { JInternalFrame f = new JInternalFrame("Title"); InternalFrameEvent e = new InternalFrameEvent(f, InternalFrameEvent.INTERNAL_FRAME_ACTIVATED); harness.check(e.paramString(), "INTERNAL_FRAME_ACTIVATED"); e = new InternalFrameEvent(f, InternalFrameEvent.INTERNAL_FRAME_CLOSED); harness.check(e.paramString(), "INTERNAL_FRAME_CLOSED"); e = new InternalFrameEvent(f, InternalFrameEvent.INTERNAL_FRAME_CLOSING); harness.check(e.paramString(), "INTERNAL_FRAME_CLOSING"); e = new InternalFrameEvent(f, InternalFrameEvent.INTERNAL_FRAME_DEACTIVATED); harness.check(e.paramString(), "INTERNAL_FRAME_DEACTIVATED"); e = new InternalFrameEvent(f, InternalFrameEvent.INTERNAL_FRAME_DEICONIFIED); harness.check(e.paramString(), "INTERNAL_FRAME_DEICONIFIED"); e = new InternalFrameEvent(f, InternalFrameEvent.INTERNAL_FRAME_ICONIFIED); harness.check(e.paramString(), "INTERNAL_FRAME_ICONIFIED"); e = new InternalFrameEvent(f, InternalFrameEvent.INTERNAL_FRAME_OPENED); harness.check(e.paramString(), "INTERNAL_FRAME_OPENED"); e = new InternalFrameEvent(f, InternalFrameEvent.RESERVED_ID_MAX); harness.check(e.paramString(), "unknown type"); } } mauve-20140821/gnu/testlet/javax/swing/JDesktopPane/0000755000175000001440000000000012375316426021022 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JDesktopPane/constructor.java0000644000175000001440000000262010367647557024265 0ustar dokousers/* constructor.java -- Tests the JDesktopPane constructor Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JDesktopPane; import javax.swing.JDesktopPane; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests if the JDesktopPane constructor initializes the desktop pane * correctly. * * @author Roman Kennke (kennke@aicas.com) */ public class constructor implements Testlet { /** * The entry point in this test. * * @param harness the test harness to use */ public void test(TestHarness harness) { JDesktopPane p = new JDesktopPane(); harness.check(p.isOpaque(), true); harness.check(p.getLayout(), null); } } mauve-20140821/gnu/testlet/javax/swing/plaf/0000755000175000001440000000000012375316426017415 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/IconUIResource/0000755000175000001440000000000012375316426022253 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/IconUIResource/constructor.java0000644000175000001440000000251110445471273025500 0ustar dokousers/* constructor.java -- some checks for the constructor in the IconUIResource class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.plaf.IconUIResource; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.plaf.IconUIResource; public class constructor implements Testlet { public void test(TestHarness harness) { // check null argument boolean pass = false; try { IconUIResource r = new IconUIResource(null); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/0000755000175000001440000000000012375316426020476 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicSliderUI/0000755000175000001440000000000012375316426023120 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicSliderUI/yPositionForValue.java0000644000175000001440000000333710271124276027423 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.basic.BasicSliderUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSlider; import javax.swing.plaf.basic.BasicSliderUI; /** * Some checks for the yPositionForValue() method in the {@link BasicSliderUI} * class. */ public class yPositionForValue implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider1 = new JSlider(JSlider.VERTICAL); slider1.setBounds(10, 20, 40, 400); MyBasicSliderUI ui1 = new MyBasicSliderUI(slider1); slider1.setUI(ui1); harness.check(ui1.yPositionForValue(0), 394); harness.check(ui1.yPositionForValue(50), 200); harness.check(ui1.yPositionForValue(100), 5); harness.check(ui1.yPositionForValue(150), 5); harness.check(ui1.yPositionForValue(-50), 394); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicSliderUI/constructors.java0000644000175000001440000000426010271215477026532 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicSliderUI // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.basic.BasicSliderUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSlider; import javax.swing.plaf.basic.BasicSliderUI; /** * Some checks for the constructors in the {@link BasicSliderUI} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider = new JSlider(); MyBasicSliderUI b = new MyBasicSliderUI(slider); // the constructor doesn't initialise anything harness.check(b.getSlider(), null); harness.check(b.getFocusColor(), null); harness.check(b.getHighlightColor(), null); harness.check(b.getShadowColor(), null); harness.check(b.getTrackBuffer(), 0); harness.check(b.getTickLength(), 8); // accessing the thumb size at this point throws a NullPointerException boolean pass = false; try { /* Dimension d =*/ b.getThumbSize(); } catch (NullPointerException e) { pass = true; } harness.check(pass); // check null slider pass = true; try { /* MyBasicSliderUI b2 =*/ new MyBasicSliderUI(null); } catch (NullPointerException e) { pass = false; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicSliderUI/xPositionForValue.java0000644000175000001440000000334110271124276027415 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.basic.BasicSliderUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSlider; import javax.swing.plaf.basic.BasicSliderUI; /** * Some checks for the xPositionForValue() method in the {@link BasicSliderUI} * class. */ public class xPositionForValue implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider1 = new JSlider(JSlider.HORIZONTAL); slider1.setBounds(10, 20, 400, 40); MyBasicSliderUI ui1 = new MyBasicSliderUI(slider1); slider1.setUI(ui1); harness.check(ui1.xPositionForValue(0), 5); harness.check(ui1.xPositionForValue(50), 200); harness.check(ui1.xPositionForValue(100), 394); harness.check(ui1.xPositionForValue(150), 394); harness.check(ui1.xPositionForValue(-50), 5); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicSliderUI/getMinimumSize.java0000644000175000001440000000443110271124276026724 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.basic.BasicSliderUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import javax.swing.JSlider; import javax.swing.plaf.basic.BasicSliderUI; /** * Some checks for the getMinimumSize() method in the {@link BasicSliderUI} * class. */ public class getMinimumSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider1 = new JSlider(JSlider.HORIZONTAL); BasicSliderUI ui1 = new BasicSliderUI(slider1); slider1.setUI(ui1); Dimension d1 = ui1.getMinimumSize(slider1); harness.check(d1, new Dimension(36, 20)); slider1.setPaintTicks(true); slider1.setMajorTickSpacing(10); d1 = ui1.getMinimumSize(slider1); harness.check(d1, new Dimension(36, 28)); JSlider slider2 = new JSlider(JSlider.VERTICAL); BasicSliderUI ui2 = new BasicSliderUI(slider2); slider2.setUI(ui2); Dimension d2 = ui2.getMinimumSize(slider2); harness.check(d2, new Dimension(20, 36)); slider2.setPaintTicks(true); slider2.setMajorTickSpacing(10); d2 = ui2.getMinimumSize(slider2); harness.check(d2, new Dimension(28, 36)); // try null argument - the argument is ignored, probably the implementation // uses the internal slider reference d2 = ui2.getMinimumSize(null); harness.check(d2, new Dimension(28, 36)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicSliderUI/valueForXPosition.java0000644000175000001440000000333510271124276027420 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.basic.BasicSliderUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSlider; import javax.swing.plaf.basic.BasicSliderUI; /** * Some checks for the valueForXPosition() method in the {@link BasicSliderUI} * class. */ public class valueForXPosition implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider1 = new JSlider(JSlider.HORIZONTAL); slider1.setBounds(10, 20, 400, 40); BasicSliderUI ui1 = new BasicSliderUI(slider1); slider1.setUI(ui1); harness.check(ui1.valueForXPosition(0), 0); harness.check(ui1.valueForXPosition(200), 50); harness.check(ui1.valueForXPosition(400), 100); harness.check(ui1.valueForXPosition(-50), 0); harness.check(ui1.valueForXPosition(450), 100); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicSliderUI/MyBasicSliderUI.java0000644000175000001440000000451010271124276026704 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.basic.BasicSliderUI; import java.awt.Color; import java.awt.Dimension; import java.awt.Rectangle; import javax.swing.JSlider; import javax.swing.plaf.basic.BasicSliderUI; /** * A utility class to provide access to protected attributes and methods. */ public class MyBasicSliderUI extends BasicSliderUI { public MyBasicSliderUI(JSlider slider) { super(slider); } public JSlider getSlider() { return this.slider; } public Color getFocusColor() { return super.getFocusColor(); } public Color getHighlightColor() { return super.getHighlightColor(); } public Color getShadowColor() { return super.getShadowColor(); } public int getTrackBuffer() { return super.trackBuffer; } public int getTickLength() { return super.getTickLength(); } public Dimension getThumbSize() { return super.getThumbSize(); } public Rectangle getFocusRect() { return this.focusRect; } public Rectangle getContentRect() { return this.contentRect; } public Rectangle getTrackRect() { return this.trackRect; } public Rectangle getThumbRect() { return this.thumbRect; } public Rectangle getTickRect() { return this.tickRect; } public void calculateGeometry() { super.calculateGeometry(); } public int xPositionForValue(int v) { return super.xPositionForValue(v); } public int yPositionForValue(int v) { return super.yPositionForValue(v); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicSliderUI/getMaximumSize.java0000644000175000001440000000444510271124276026733 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.basic.BasicSliderUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import javax.swing.JSlider; import javax.swing.plaf.basic.BasicSliderUI; /** * Some checks for the getMaximumSize() method in the {@link BasicSliderUI} * class. */ public class getMaximumSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider1 = new JSlider(JSlider.HORIZONTAL); BasicSliderUI ui1 = new BasicSliderUI(slider1); slider1.setUI(ui1); Dimension d1 = ui1.getMaximumSize(slider1); harness.check(d1, new Dimension(32767, 20)); slider1.setPaintTicks(true); slider1.setMajorTickSpacing(10); d1 = ui1.getMaximumSize(slider1); harness.check(d1, new Dimension(32767, 28)); JSlider slider2 = new JSlider(JSlider.VERTICAL); BasicSliderUI ui2 = new BasicSliderUI(slider2); slider2.setUI(ui2); Dimension d2 = ui2.getMaximumSize(slider2); harness.check(d2, new Dimension(20, 32767)); slider2.setPaintTicks(true); slider2.setMajorTickSpacing(10); d2 = ui2.getMaximumSize(slider2); harness.check(d2, new Dimension(28, 32767)); // try null argument - the argument is ignored, probably the implementation // uses the internal slider reference d2 = ui2.getMaximumSize(null); harness.check(d2, new Dimension(28, 32767)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicSliderUI/installUI.java0000644000175000001440000000323310271215477025665 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicSliderUI // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.basic.BasicSliderUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; import javax.swing.JSlider; import javax.swing.plaf.basic.BasicSliderUI; /** * Some checks for the installUI() method in the {@link BasicSliderUI} class. */ public class installUI implements Testlet { public void test(TestHarness harness) { JSlider slider = new JSlider(); slider.setBounds(10, 20, 300, 40); MyBasicSliderUI ui = new MyBasicSliderUI(slider); ui.installUI(slider); harness.check(ui.getContentRect(), new Rectangle(0, 0, 300, 40)); harness.check(ui.getTrackBuffer(), 5); harness.check(ui.getTrackRect(), new Rectangle(5, 9, 290, 20)); harness.check(ui.getThumbRect(), new Rectangle(145, 9, 11, 20)); harness.check(ui.getTickRect(), new Rectangle(5, 28, 290, 0)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicSliderUI/getPreferredSize.java0000644000175000001440000000446110271124276027232 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.basic.BasicSliderUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import javax.swing.JSlider; import javax.swing.plaf.basic.BasicSliderUI; /** * Some checks for the getPreferredSize() method in the {@link BasicSliderUI} * class. */ public class getPreferredSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider1 = new JSlider(JSlider.HORIZONTAL); BasicSliderUI ui1 = new BasicSliderUI(slider1); slider1.setUI(ui1); Dimension d1 = ui1.getPreferredSize(slider1); harness.check(d1, new Dimension(200, 20)); slider1.setPaintTicks(true); slider1.setMajorTickSpacing(10); d1 = ui1.getPreferredSize(slider1); harness.check(d1, new Dimension(200, 28)); JSlider slider2 = new JSlider(JSlider.VERTICAL); BasicSliderUI ui2 = new BasicSliderUI(slider2); slider2.setUI(ui2); Dimension d2 = ui2.getPreferredSize(slider2); harness.check(d2, new Dimension(20, 200)); slider2.setPaintTicks(true); slider2.setMajorTickSpacing(10); d2 = ui2.getPreferredSize(slider2); harness.check(d2, new Dimension(28, 200)); // try null argument - the argument is ignored, probably the implementation // uses the internal slider reference d2 = ui2.getPreferredSize(null); harness.check(d2, new Dimension(28, 200)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicSliderUI/calculateGeometry.java0000644000175000001440000000436510271215477027441 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicSliderUI // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.basic.BasicSliderUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; import javax.swing.JSlider; import javax.swing.plaf.basic.BasicSliderUI; /** * Some checks for the calculateGeometry() method in the {@link BasicSliderUI} * class. */ public class calculateGeometry implements Testlet { public void test(TestHarness harness) { JSlider slider = new JSlider(); slider.setBounds(10, 20, 300, 40); MyBasicSliderUI ui = new MyBasicSliderUI(slider); ui.installUI(slider); ui.calculateGeometry(); harness.check(ui.getContentRect(), new Rectangle(0, 0, 300, 40)); harness.check(ui.getTrackBuffer(), 5); harness.check(ui.getFocusRect(), new Rectangle(0, 0, 300, 40)); harness.check(ui.getTrackRect(), new Rectangle(5, 9, 290, 20)); harness.check(ui.getThumbRect(), new Rectangle(145, 9, 11, 20)); harness.check(ui.getTickRect(), new Rectangle(5, 28, 290, 0)); slider.setPaintTicks(true); slider.setMajorTickSpacing(10); ui.calculateGeometry(); harness.check(ui.getContentRect(), new Rectangle(0, 0, 300, 40)); harness.check(ui.getTrackBuffer(), 5); harness.check(ui.getFocusRect(), new Rectangle(0, 0, 300, 40)); harness.check(ui.getTrackRect(), new Rectangle(5, 5, 290, 20)); harness.check(ui.getThumbRect(), new Rectangle(145, 5, 11, 20)); harness.check(ui.getTickRect(), new Rectangle(5, 25, 290, 8)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicSliderUI/valueForYPosition.java0000644000175000001440000000333310271124276027417 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.basic.BasicSliderUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSlider; import javax.swing.plaf.basic.BasicSliderUI; /** * Some checks for the valueForYPosition() method in the {@link BasicSliderUI} * class. */ public class valueForYPosition implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider1 = new JSlider(JSlider.VERTICAL); slider1.setBounds(10, 20, 40, 400); BasicSliderUI ui1 = new BasicSliderUI(slider1); slider1.setUI(ui1); harness.check(ui1.valueForYPosition(0), 100); harness.check(ui1.valueForYPosition(200), 50); harness.check(ui1.valueForYPosition(400), 0); harness.check(ui1.valueForYPosition(-50), 100); harness.check(ui1.valueForYPosition(450), 0); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicSliderUI/getThumbSize.java0000644000175000001440000000322010271215477026367 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicSliderUI // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.basic.BasicSliderUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import javax.swing.JSlider; import javax.swing.plaf.basic.BasicSliderUI; /** * Some checks for the getThumbSize method in the {@link BasicSliderUI} class. */ public class getThumbSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JSlider slider = new JSlider(); slider.setUI(new MyBasicSliderUI(slider)); MyBasicSliderUI b = (MyBasicSliderUI) slider.getUI(); harness.check(b.getThumbSize(), new Dimension(11, 20)); slider.setOrientation(JSlider.VERTICAL); harness.check(b.getThumbSize(), new Dimension(20, 11)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/0000755000175000001440000000000012375316426023406 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/layout.java0000644000175000001440000000467311015022010025545 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicComboBoxUILAF // Copyright (C) 2005, 2006 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicComboBoxUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.BorderLayout; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Rectangle; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.UIManager; import javax.swing.plaf.basic.BasicComboBoxUI; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the layout in the {@link BasicComboBoxUI} class. */ public class layout implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { try { UIManager.setLookAndFeel(new MyBasicComboBoxUILAF()); } catch (Exception e) { e.printStackTrace(); } JComboBox cb = new JComboBox(); cb.setEditable(true); JFrame frame = new JFrame(); JPanel panel = new JPanel(new BorderLayout()); panel.add(cb); frame.setContentPane(panel); frame.pack(); JTextField tf = (JTextField) cb.getEditor().getEditorComponent(); Font font = cb.getFont(); FontMetrics fm = cb.getFontMetrics(font); int height = cb.getHeight(); int width = fm.stringWidth("m") * tf.getColumns() + 1; harness.check(tf.getBounds(), new Rectangle(0, 0, width, height)); // restore a sane look and feel try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (Exception e) { e.printStackTrace(); } } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/general.java0000644000175000001440000000315211015022010025634 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicComboBoxUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicComboBoxUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JComboBox; import javax.swing.JList; import javax.swing.plaf.basic.BasicComboBoxUI; /** * Some checks for the createUI() method in the * {@link BasicComboBoxUI} class. */ public class general implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JComboBox cb = new JComboBox(); MyBasicComboBoxUI ui = new MyBasicComboBoxUI(); cb.setUI(ui); JList list1 = ui.getListBoxField(); JList list2 = ui.getComboPopupField().getList(); harness.check(list1 == list2); } }mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/MyBasicComboBoxUILAF.java0000644000175000001440000000325310325264710030004 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicComboBoxUI; import javax.swing.UIDefaults; import javax.swing.plaf.basic.BasicLookAndFeel; public class MyBasicComboBoxUILAF extends BasicLookAndFeel { public String getID() { return "MyBasicLookAndFeel"; } public String getName() { return "MyBasicLookAndFeel"; } public String getDescription() { return "MyBasicLookAndFeel"; } public boolean isSupportedLookAndFeel() { return true; } public boolean isNativeLookAndFeel() { return false; } public void initSystemColorDefaults(UIDefaults defaults) { super.initSystemColorDefaults(defaults); } public void initComponentDefaults(UIDefaults defaults) { super.initComponentDefaults(defaults); } public void initClassDefaults(UIDefaults defaults) { super.initClassDefaults(defaults); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/getDefaultSize.java0000644000175000001440000000451211015022010027137 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicComboBoxUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicComboBoxUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import java.awt.Font; import java.awt.FontMetrics; import javax.swing.JComboBox; import javax.swing.plaf.basic.BasicComboBoxUI; /** * Some checks for the getDefaultSize() method in the * {@link BasicComboBoxUI} class. */ public class getDefaultSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JComboBox cb = new JComboBox(); MyBasicComboBoxUI ui = new MyBasicComboBoxUI(); cb.setUI(ui); int additionalHeight = 2; // margin? border? int additionalWidth = 2; FontMetrics fm = cb.getFontMetrics(cb.getFont()); // the following width calculation is a guess. We know the value // depends on the font size, and that it is relatively small, so after // trying out a few candidates this one seems to give the right result int width = fm.charWidth(' ') + additionalWidth; int height = fm.getHeight() + additionalHeight; harness.check(ui.getDefaultSize(), new Dimension(width, height)); cb.setFont(new Font("Dialog", Font.PLAIN, 32)); fm = cb.getFontMetrics(cb.getFont()); width = fm.charWidth(' ') + additionalWidth; height = fm.getHeight() + additionalHeight; harness.check(ui.getDefaultSize(), new Dimension(width, height)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/getMinimumSize.java0000644000175000001440000000515611015022010027173 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicComboBoxUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicComboBoxUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import java.awt.FontMetrics; import javax.swing.DefaultComboBoxModel; import javax.swing.JComboBox; import javax.swing.plaf.basic.BasicComboBoxUI; /** * Some checks for the getMinimumSize() method in the * {@link BasicComboBoxUI} class. */ public class getMinimumSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JComboBox cb = new JComboBox(); MyBasicComboBoxUI ui = new MyBasicComboBoxUI(); cb.setUI(ui); int additionalHeight = 2; // margin? border? int additionalWidth = 2; FontMetrics fm = cb.getFontMetrics(cb.getFont()); // the following width calculation is a guess. We know the value // depends on the font size, and that it is relatively small, so after // trying out a few candidates this one seems to give the right result int width = fm.charWidth(' ') + additionalWidth; int height = fm.getHeight() + additionalHeight; harness.check(ui.getMinimumSize(cb), new Dimension(width + height, height)); // the width is the display width plus the button width and // the button width is equal to 'height' cb.setModel(new DefaultComboBoxModel(new Object[] {"X"})); width = fm.charWidth('X') + additionalWidth; harness.check(ui.getMinimumSize(cb), new Dimension(width + height, height)); cb.setPrototypeDisplayValue("XX"); width = fm.stringWidth("XX") + additionalWidth; harness.check(ui.getMinimumSize(cb), new Dimension(width + height, height)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/createEditor.java0000644000175000001440000000346111015022010026634 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicComboBoxUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicComboBoxUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Component; import javax.swing.ComboBoxEditor; import javax.swing.JTextField; import javax.swing.plaf.basic.BasicComboBoxUI; import javax.swing.plaf.basic.BasicComboBoxEditor.UIResource; /** * Some checks for the createEditor() method in the * {@link BasicComboBoxUI} class. */ public class createEditor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyBasicComboBoxUI ui = new MyBasicComboBoxUI(); ComboBoxEditor editor = ui.createEditor(); harness.check(editor instanceof UIResource); Component comp = editor.getEditorComponent(); harness.check(comp instanceof JTextField); JTextField tf = (JTextField) comp; harness.check(tf.getColumns(), 9); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/getMaximumSize.java0000644000175000001440000000304410325264710027211 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicComboBoxUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import javax.swing.JComboBox; import javax.swing.plaf.basic.BasicComboBoxUI; /** * Some checks for the getMaximumSize() method in the * {@link BasicComboBoxUI} class. */ public class getMaximumSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JComboBox cb = new JComboBox(); BasicComboBoxUI ui = new BasicComboBoxUI(); cb.setUI(ui); harness.check(ui.getMaximumSize(cb), new Dimension(32767, 32767)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/MyBasicComboBoxUI.java0000644000175000001440000000356210333744207027467 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicComboBoxUI; import java.awt.Dimension; import javax.swing.ComboBoxEditor; import javax.swing.JButton; import javax.swing.JList; import javax.swing.ListCellRenderer; import javax.swing.plaf.basic.BasicComboBoxUI; import javax.swing.plaf.basic.ComboPopup; /** * A support class that provides access to protected methods. */ public class MyBasicComboBoxUI extends BasicComboBoxUI { public JButton createArrowButton() { return super.createArrowButton(); } public ComboBoxEditor createEditor() { return super.createEditor(); } public ListCellRenderer createRenderer() { return super.createRenderer(); } public Dimension getDefaultSize() { return super.getDefaultSize(); } public Dimension getDisplaySize() { return super.getDisplaySize(); } public JList getListBoxField() { return this.listBox; } public ComboPopup getComboPopupField() { return this.popup; } public JButton getArrowButton() { return this.arrowButton; } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/createRenderer.java0000644000175000001440000000627411015022010027161 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicComboBoxUILAF // Copyright (C) 2005, 2006 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicComboBoxUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.Component; import java.awt.Font; import javax.swing.JComboBox; import javax.swing.ListCellRenderer; import javax.swing.UIManager; import javax.swing.plaf.basic.BasicComboBoxUI; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the createRenderer() method in the * {@link BasicComboBoxUI} class. */ public class createRenderer implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { try { UIManager.setLookAndFeel(new MyBasicComboBoxUILAF()); } catch (Exception e) { e.printStackTrace(); } // use this to check that the defaults are just those for a JLabel UIManager.put("Label.font", new Font("Dialog", Font.PLAIN, 21)); UIManager.put("Label.foreground", Color.green); UIManager.put("Label.background", Color.yellow); MyBasicComboBoxUI ui = new MyBasicComboBoxUI(); ListCellRenderer renderer = ui.createRenderer(); Component c = (Component) renderer; harness.check(c.getFont(), new Font("Dialog", Font.PLAIN, 21)); harness.check(c.getForeground(), Color.green); harness.check(c.getBackground(), Color.yellow); // confirm that the method creates a new instance every time ListCellRenderer renderer2 = ui.createRenderer(); harness.check(renderer != renderer2); JComboBox cb = new JComboBox(); ListCellRenderer renderer3 = cb.getRenderer(); Component c3 = (Component) renderer3; harness.check(c3.getFont(), new Font("Dialog", Font.PLAIN, 21)); harness.check(c3.getForeground(), Color.green); harness.check(c3.getBackground(), Color.yellow); // changing the font on the combo box doesn't update the renderer font cb.setFont(new Font("Dialog", Font.BOLD, 10)); harness.check(c3.getFont(), new Font("Dialog", Font.PLAIN, 21)); ListCellRenderer renderer4 = cb.getRenderer(); harness.check(renderer3 == renderer4); // restore a sane look and feel try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (Exception e) { e.printStackTrace(); } } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/getDisplaySize.java0000644000175000001440000001211611015022010027157 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicComboBoxUI ../../TestLookAndFeel // Copyright (C) 2005, 2006 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicComboBoxUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.plaf.TestLookAndFeel; import java.awt.Dimension; import java.awt.FontMetrics; import javax.swing.JComboBox; import javax.swing.JTextField; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.basic.BasicComboBoxUI; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getDisplaySize() method in the * {@link BasicComboBoxUI} class. */ public class getDisplaySize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testNotEditable(harness); testEditable(harness); } /** * Run some checks for a JComboBox that is not editable. * * @param harness the test harness. */ private void testNotEditable(TestHarness harness) { try { UIManager.setLookAndFeel(new TestLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } JComboBox cb = new JComboBox(); MyBasicComboBoxUI ui = new MyBasicComboBoxUI(); cb.setUI(ui); int additionalHeight = 2; // margin? border? int additionalWidth = 2; FontMetrics fm = cb.getFontMetrics(cb.getFont()); // the following width calculation is a guess. We know the value // depends on the font size, and that it is relatively small, so after // trying out a few candidates this one seems to give the right result int width = fm.charWidth(' ') + additionalWidth; int height = fm.getHeight() + additionalHeight; harness.check(ui.getDisplaySize(), new Dimension(width, height)); cb.addItem("ABC"); width = fm.stringWidth("ABC") + additionalWidth; harness.check(ui.getDisplaySize(), new Dimension(width, height)); cb.addItem("A longer item"); width = fm.stringWidth("A longer item") + additionalWidth; harness.check(ui.getDisplaySize(), new Dimension(width, height)); cb.setPrototypeDisplayValue("Prototype"); width = fm.stringWidth("Prototype") + additionalWidth; harness.check(ui.getDisplaySize(), new Dimension(width, height)); // restore MetalLookAndFeel try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } } /** * Run some checks for a JComboBox that is editable. * * @param harness the test harness. */ private void testEditable(TestHarness harness) { try { UIManager.setLookAndFeel(new TestLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } JComboBox cb = new JComboBox(); cb.setEditable(true); MyBasicComboBoxUI ui = new MyBasicComboBoxUI(); cb.setUI(ui); JTextField tf = (JTextField) cb.getEditor().getEditorComponent(); int columns = tf.getColumns(); FontMetrics fm = cb.getFontMetrics(cb.getFont()); // for an editable JComboBox the display size is calculated from the // preferred size of the JTextField it seems, or the prototype display // value in some cases... int width = fm.charWidth('m') * columns; int height = fm.getHeight() + 2; // the 2 seems to be a fixed margin // not sure why the width here needs + 1.. harness.check(ui.getDisplaySize(), new Dimension(width + 1, height)); cb.addItem("ABC"); harness.check(ui.getDisplaySize(), new Dimension(width, height)); cb.addItem("A longer item"); harness.check(ui.getDisplaySize(), new Dimension(width, height)); cb.setPrototypeDisplayValue("Prototype"); harness.check(ui.getDisplaySize(), new Dimension(width, height)); cb.setPrototypeDisplayValue("Long Prototype Display Value"); width = fm.stringWidth("Long Prototype Display Value") + 2; harness.check(ui.getDisplaySize(), new Dimension(width, height)); // restore a sane look and feel try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/getPreferredSize.java0000644000175000001440000000757411015022010027504 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicComboBoxUI // Copyright (C) 2005, 2006 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicComboBoxUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import java.awt.Font; import java.awt.FontMetrics; import javax.swing.DefaultComboBoxModel; import javax.swing.JComboBox; import javax.swing.JTextField; import javax.swing.plaf.basic.BasicComboBoxUI; /** * Some checks for the getPreferredSize() method in the * {@link BasicComboBoxUI} class. */ public class getPreferredSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testNonEditable(harness); testEditable(harness); } private void testNonEditable(TestHarness harness) { JComboBox cb = new JComboBox(); BasicComboBoxUI ui = new BasicComboBoxUI(); cb.setUI(ui); int additionalHeight = 2; // margin? border? int additionalWidth = 2; FontMetrics fm = cb.getFontMetrics(cb.getFont()); // the following width calculation is a guess. We know the value // depends on the font size, and that it is relatively small, so after // trying out a few candidates this one seems to give the right result int width = fm.charWidth(' ') + additionalWidth; int height = fm.getHeight() + additionalHeight; harness.check(ui.getPreferredSize(cb), new Dimension(width + height, height)); // the width is the display width plus the button width and // the button width is equal to 'height' cb.setModel(new DefaultComboBoxModel(new Object[] {"X"})); width = fm.charWidth('X') + additionalWidth; harness.check(ui.getPreferredSize(cb), new Dimension(width + height, height)); cb.setModel(new DefaultComboBoxModel(new Object[] {null})); harness.check(ui.getPreferredSize(cb).height, height); cb.setModel(new DefaultComboBoxModel(new Object[] {""})); harness.check(ui.getPreferredSize(cb).height, height); cb.setPrototypeDisplayValue("XX"); width = fm.stringWidth("XX") + additionalWidth; harness.check(ui.getPreferredSize(cb), new Dimension(width + height, height)); } private void testEditable(TestHarness harness) { harness.checkPoint("testEditable()"); JComboBox cb = new JComboBox(); BasicComboBoxUI ui = new BasicComboBoxUI(); cb.setUI(ui); JTextField tf = (JTextField) cb.getEditor().getEditorComponent(); cb.setEditable(true); Font font = cb.getFont(); FontMetrics fm = cb.getFontMetrics(font); int height = fm.getHeight() + 2; int width = fm.stringWidth("m") * tf.getColumns() + height; harness.check(ui.getPreferredSize(cb), new Dimension(width, height)); cb.setModel(new DefaultComboBoxModel(new Object[] {"X"})); harness.check(ui.getPreferredSize(cb), new Dimension(width, height)); cb.setPrototypeDisplayValue("XX"); harness.check(ui.getPreferredSize(cb), new Dimension(width, height)); } }mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/createArrowButton.java0000644000175000001440000000467011015022010027677 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicComboBoxUILAF // Copyright (C) 2005, 2006 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicComboBoxUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Insets; import javax.swing.JButton; import javax.swing.UIManager; import javax.swing.border.Border; import javax.swing.plaf.BorderUIResource.CompoundBorderUIResource; import javax.swing.plaf.basic.BasicArrowButton; import javax.swing.plaf.basic.BasicComboBoxUI; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the createArrowButton() method in the * {@link BasicComboBoxUI} class. */ public class createArrowButton implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { try { UIManager.setLookAndFeel(new MyBasicComboBoxUILAF()); } catch (Exception e) { e.printStackTrace(); } MyBasicComboBoxUI ui = new MyBasicComboBoxUI(); JButton b = ui.createArrowButton(); harness.check(b instanceof BasicArrowButton); Border border = b.getBorder(); harness.check(border instanceof CompoundBorderUIResource); // the insets and margin are presumably ignored when this button is // drawn... Insets insets = b.getInsets(); harness.check(insets, new Insets(4, 17, 5, 17)); Insets margin = b.getMargin(); harness.check(margin, new Insets(2, 14, 2, 14)); // restore a sane look and feel try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (Exception e) { e.printStackTrace(); } } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicSeparatorUI/0000755000175000001440000000000012375316426023636 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicSeparatorUI/getMinimumSize.java0000644000175000001440000000307010323422311027425 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicSeparatorUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSeparator; import javax.swing.plaf.basic.BasicSeparatorUI; /** * Some checks for the getMinimumSize() method. */ public class getMinimumSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BasicSeparatorUI ui = new BasicSeparatorUI(); JSeparator h = new JSeparator(JSeparator.HORIZONTAL); harness.check(ui.getMinimumSize(h), null); JSeparator v = new JSeparator(JSeparator.VERTICAL); harness.check(ui.getMinimumSize(v), null); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicSeparatorUI/getMaximumSize.java0000644000175000001440000000307010323422311027427 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicSeparatorUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JSeparator; import javax.swing.plaf.basic.BasicSeparatorUI; /** * Some checks for the getMaximumSize() method. */ public class getMaximumSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BasicSeparatorUI ui = new BasicSeparatorUI(); JSeparator h = new JSeparator(JSeparator.HORIZONTAL); harness.check(ui.getMaximumSize(h), null); JSeparator v = new JSeparator(JSeparator.VERTICAL); harness.check(ui.getMaximumSize(v), null); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicSeparatorUI/getPreferredSize.java0000644000175000001440000000317210323422311027733 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicSeparatorUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import javax.swing.JSeparator; import javax.swing.plaf.basic.BasicSeparatorUI; /** * Some checks for the getPreferredSize() method. */ public class getPreferredSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BasicSeparatorUI ui = new BasicSeparatorUI(); JSeparator h = new JSeparator(JSeparator.HORIZONTAL); harness.check(ui.getPreferredSize(h), new Dimension(0, 2)); JSeparator v = new JSeparator(JSeparator.VERTICAL); harness.check(ui.getPreferredSize(v), new Dimension(2, 0)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicRootPaneUI/0000755000175000001440000000000012375316426023425 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicRootPaneUI/installDefaults.java0000644000175000001440000000406610367743337027440 0ustar dokousers/* installDefaults.java -- Tests BasicRootPane.installDefaults Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.plaf.basic.BasicRootPaneUI; import java.awt.Color; import javax.swing.JRootPane; import javax.swing.UIManager; import javax.swing.plaf.basic.BasicRootPaneUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests the BasicRootPaneUI.installDefaults method. * * @author Roman Kennke (kennke@aicas.com) */ public class installDefaults implements Testlet { /** * Overridden to make installDefaults visible. */ class TestRootUI extends BasicRootPaneUI { public void installDefaults(JRootPane rp) { super.installDefaults(rp); } } /** * The entry point for this test. * * @param harness the test harness to use */ public void test(TestHarness harness) { testBackground(harness); } /** * Checks if the installDefaults() method should touch the background * of the JRootPane. * * @param h the test harness to use */ private void testBackground(TestHarness h) { // We even give it a potential value to set. UIManager.put("RootPane.background", Color.RED); TestRootUI ui = new TestRootUI(); JRootPane rp = new JRootPane(); rp.setBackground(null); ui.installDefaults(rp); h.check(rp.getBackground(), null); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/0000755000175000001440000000000012375316426023561 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/layoutContainer.java0000644000175000001440000000635211015022010027557 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicScrollBarUI ../../TestLookAndFeel // Copyright (C) 2005, 2006 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicScrollBarUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.plaf.TestLookAndFeel; import java.awt.Rectangle; import javax.swing.JScrollBar; import javax.swing.UIManager; import javax.swing.plaf.basic.BasicScrollBarUI; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the layoutContainer() method in the * {@link BasicScrollBarUI} class. */ public class layoutContainer implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // use a known look and feel try { UIManager.setLookAndFeel(new TestLookAndFeel()); } catch (Exception e) { e.printStackTrace(); } testHorizontal(harness); testVertical(harness); // restore a sane look and feel try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (Exception e) { e.printStackTrace(); } } public void testHorizontal(TestHarness harness) { MyBasicScrollBarUI ui = new MyBasicScrollBarUI(); JScrollBar scrollBar = new JScrollBar(JScrollBar.HORIZONTAL); scrollBar.setUI(ui); scrollBar.setBounds(0, 0, 100, 20); ui.layoutContainer(scrollBar); harness.check(ui.getTrackBounds(), new Rectangle(16, 0, 68, 20)); harness.check(ui.getThumbBounds(), new Rectangle(16, 0, 8, 20)); scrollBar.setBounds(40, 50, 250, 37); ui.layoutContainer(scrollBar); harness.check(ui.getTrackBounds(), new Rectangle(16, 0, 218, 37)); harness.check(ui.getThumbBounds(), new Rectangle(16, 0, 21, 37)); } public void testVertical(TestHarness harness) { MyBasicScrollBarUI ui = new MyBasicScrollBarUI(); JScrollBar scrollBar = new JScrollBar(JScrollBar.VERTICAL); scrollBar.setUI(ui); scrollBar.setBounds(0, 0, 20, 100); ui.layoutContainer(scrollBar); harness.check(ui.getTrackBounds(), new Rectangle(0, 16, 20, 68)); harness.check(ui.getThumbBounds(), new Rectangle(0, 16, 20, 8)); scrollBar.setBounds(40, 50, 37, 250); ui.layoutContainer(scrollBar); harness.check(ui.getTrackBounds(), new Rectangle(0, 16, 37, 218)); harness.check(ui.getThumbBounds(), new Rectangle(0, 16, 37, 21)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/getMinimumSize.java0000644000175000001440000000461711015022010027347 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicScrollBarUI ../../TestLookAndFeel // Copyright (C) 2005, 2006 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicScrollBarUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.plaf.TestLookAndFeel; import java.awt.Dimension; import javax.swing.JScrollBar; import javax.swing.UIManager; import javax.swing.plaf.basic.BasicScrollBarUI; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getMinimumSize() method in the {@link BasicScrollBarUI} * class. */ public class getMinimumSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // use a known look and feel try { UIManager.setLookAndFeel(new TestLookAndFeel()); } catch (Exception e) { e.printStackTrace(); } // test horizontal scroll bar MyBasicScrollBarUI ui = new MyBasicScrollBarUI(); JScrollBar scrollBar = new JScrollBar(JScrollBar.HORIZONTAL); scrollBar.setUI(ui); harness.check(ui.getMinimumSize(scrollBar), new Dimension(48, 16)); // test vertical scroll bar MyBasicScrollBarUI ui2 = new MyBasicScrollBarUI(); JScrollBar scrollBar2 = new JScrollBar(JScrollBar.VERTICAL); scrollBar2.setUI(ui2); harness.check(ui2.getMinimumSize(scrollBar2), new Dimension(16, 48)); // restore a sane look and feel try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (Exception e) { e.printStackTrace(); } } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/installDefaults.java0000644000175000001440000000440411015022010027531 0ustar dokousers// Tags: JDK1.5 // Uses: MyBasicScrollBarUI // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicScrollBarUI; import javax.swing.JScrollBar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests if installDefaults() works correctly. ATM we check if the fields * incrButton and decrButton are initialized within this method, since we had * a bug with this. There is certainly more that could be checked here. * * @author Roman Kennke (kennke@aicas.com) */ public class installDefaults implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testIncrButton(harness); testDecrButton(harness); } /** * Tests if the incrButton field is initialized in this method. * * @param harness the test harness to use */ private void testIncrButton(TestHarness harness) { MyBasicScrollBarUI ui = new MyBasicScrollBarUI(); ui.setScrollbar(new JScrollBar()); harness.check(ui.getIncrButton(), null); ui.installDefaults(); harness.check(ui.getIncrButton(), null); } /** * Tests if the decrButton field is initialized in this method. * * @param harness the test harness to use */ private void testDecrButton(TestHarness harness) { MyBasicScrollBarUI ui = new MyBasicScrollBarUI(); ui.setScrollbar(new JScrollBar()); harness.check(ui.getDecrButton(), null); ui.installDefaults(); harness.check(ui.getDecrButton(), null); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/constructor.java0000644000175000001440000000564611015022010026771 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicScrollBarUI ../../TestLookAndFeel // Copyright (C) 2005, 2006 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicScrollBarUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.plaf.TestLookAndFeel; import java.awt.BorderLayout; import java.awt.Rectangle; import javax.swing.JPanel; import javax.swing.JScrollBar; import javax.swing.UIManager; import javax.swing.plaf.basic.BasicScrollBarUI; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the constructor in the {@link BasicScrollBarUI} class. */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // use a known look and feel try { UIManager.setLookAndFeel(new TestLookAndFeel()); } catch (Exception e) { e.printStackTrace(); } MyBasicScrollBarUI ui = new MyBasicScrollBarUI(); harness.check(ui.getTrackBounds(), null); harness.check(ui.getThumbBounds(), null); JScrollBar scrollBar = new JScrollBar(JScrollBar.HORIZONTAL); scrollBar.setUI(ui); harness.check(ui.getTrackBounds(), new Rectangle(0, 0, 0, 0)); harness.check(ui.getThumbBounds(), new Rectangle(0, 0, 0, 0)); scrollBar.setBounds(0, 0, 100, 20); harness.check(ui.getTrackBounds(), new Rectangle(0, 0, 0, 0)); harness.check(ui.getThumbBounds(), new Rectangle(0, 0, 0, 0)); JPanel panel = new JPanel(new BorderLayout()); panel.setSize(100, 20); panel.add(scrollBar); panel.doLayout(); harness.check(ui.getTrackBounds(), new Rectangle(0, 0, 0, 0)); harness.check(ui.getThumbBounds(), new Rectangle(0, 0, 0, 0)); ui.layoutContainer(scrollBar); harness.check(ui.getTrackBounds(), new Rectangle(16, 0, 68, 20)); harness.check(ui.getThumbBounds(), new Rectangle(16, 0, 8, 20)); // restore a sane look and feel try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (Exception e) { e.printStackTrace(); } } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/getMaximumSize.java0000644000175000001440000000474511015022010027353 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicScrollBarUI ../../TestLookAndFeel // Copyright (C) 2005, 2006 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicScrollBarUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.plaf.TestLookAndFeel; import java.awt.Dimension; import javax.swing.JScrollBar; import javax.swing.UIManager; import javax.swing.plaf.basic.BasicScrollBarUI; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getMaximumSize() method in the {@link BasicScrollBarUI} * class. */ public class getMaximumSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // use a known look and feel try { UIManager.setLookAndFeel(new TestLookAndFeel()); } catch (Exception e) { e.printStackTrace(); } // test horizontal scroll bar MyBasicScrollBarUI ui = new MyBasicScrollBarUI(); JScrollBar scrollBar = new JScrollBar(JScrollBar.HORIZONTAL); scrollBar.setUI(ui); harness.check(ui.getMaximumSize(scrollBar), new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE)); // test vertical scroll bar MyBasicScrollBarUI ui2 = new MyBasicScrollBarUI(); JScrollBar scrollBar2 = new JScrollBar(JScrollBar.VERTICAL); scrollBar2.setUI(ui2); harness.check(ui2.getMaximumSize(scrollBar2), new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE)); // restore a sane look and feel try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (Exception e) { e.printStackTrace(); } } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/installComponents.java0000644000175000001440000000442011015022010030105 0ustar dokousers// Tags: JDK1.5 // Uses: MyBasicScrollBarUI // Copyright (C) 2006 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicScrollBarUI; import javax.swing.JScrollBar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests if installComponents() works correctly. ATM we check if the fields * incrButton and decrButton are initialized within this method, since we had * a bug with this. There is certainly more that could be checked here. * * @author Roman Kennke (kennke@aicas.com) */ public class installComponents implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testIncrButton(harness); testDecrButton(harness); } /** * Tests if the incrButton field is initialized in this method. * * @param harness the test harness to use */ private void testIncrButton(TestHarness harness) { MyBasicScrollBarUI ui = new MyBasicScrollBarUI(); ui.setScrollbar(new JScrollBar()); harness.check(ui.getIncrButton(), null); ui.installComponents(); harness.check(ui.getIncrButton() != null); } /** * Tests if the decrButton field is initialized in this method. * * @param harness the test harness to use */ private void testDecrButton(TestHarness harness) { MyBasicScrollBarUI ui = new MyBasicScrollBarUI(); ui.setScrollbar(new JScrollBar()); harness.check(ui.getDecrButton(), null); ui.installComponents(); harness.check(ui.getDecrButton() != null); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/MyBasicScrollBarUI.java0000644000175000001440000000621710370114267030013 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicScrollBarUI; import java.awt.Dimension; import java.awt.Rectangle; import javax.swing.JButton; import javax.swing.JScrollBar; import javax.swing.plaf.basic.BasicScrollBarUI; /** * Provides access to protected fields and methods. */ public class MyBasicScrollBarUI extends BasicScrollBarUI { public Dimension getMinimumThumbSize() { return super.getMinimumThumbSize(); } public Dimension getMaximumThumbSize() { return super.getMaximumThumbSize(); } public Rectangle getTrackBounds() { return super.getTrackBounds(); } public Rectangle getThumbBounds() { return super.getThumbBounds(); } /** * Overrides createIncreaseButton() to enable public access in tests. * * @param o the orientation */ public JButton createIncreaseButton(int o) { return super.createIncreaseButton(o); } /** * Overrides createDecreaseButton() to enable public access in tests. * * @param o the orientation */ public JButton createDecreaseButton(int o) { return super.createDecreaseButton(o); } /** * Overrides installDefaults() to enable public access in tests. */ public void installDefaults() { super.installDefaults(); } /** * Overrides installComponents() to enable public access in tests. */ public void installComponents() { super.installComponents(); } /** * Returns the value of the (otherwise protected) field incrButton. * * @return the value of the incrButton field */ public JButton getIncrButton() { return incrButton; } /** * Sets the value of the (otherwise protected) field incrButton. * * @param b the button to set */ public void setIncrButton(JButton b) { incrButton = b; } /** * Returns the value of the (otherwise protected) field decrButton. * * @return the value of the decrButton field */ public JButton getDecrButton() { return decrButton; } /** * Sets the value of the (otherwise protected) field decrButton. * * @param b the button to set */ public void setDecrButton(JButton b) { decrButton = b; } /** * Sets the value of the (otherwise protected) field scrollbar. * * @param sb the scrollbar to set */ public void setScrollbar(JScrollBar sb) { scrollbar = sb; } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/getMinimumThumbSize.java0000644000175000001440000000461411015022010030344 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicScrollBarUI ../../TestLookAndFeel // Copyright (C) 2005, 2006 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicScrollBarUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.plaf.TestLookAndFeel; import java.awt.Dimension; import javax.swing.JScrollBar; import javax.swing.UIManager; import javax.swing.plaf.basic.BasicScrollBarUI; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getMinimumThumbSize() method in the * {@link BasicScrollBarUI} class. */ public class getMinimumThumbSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // use a known look and feel try { UIManager.setLookAndFeel(new TestLookAndFeel()); } catch (Exception e) { e.printStackTrace(); } // test horizontal scroll bar MyBasicScrollBarUI ui = new MyBasicScrollBarUI(); JScrollBar scrollBar = new JScrollBar(JScrollBar.HORIZONTAL); scrollBar.setUI(ui); harness.check(ui.getMinimumThumbSize(), new Dimension(8, 8)); // test vertical scroll bar MyBasicScrollBarUI ui2 = new MyBasicScrollBarUI(); JScrollBar scrollBar2 = new JScrollBar(JScrollBar.VERTICAL); scrollBar2.setUI(ui2); harness.check(ui2.getMinimumThumbSize(), new Dimension(8, 8)); // restore a sane look and feel try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (Exception e) { e.printStackTrace(); } } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/getPreferredSize.java0000644000175000001440000000462711015022010027653 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicScrollBarUI ../../TestLookAndFeel // Copyright (C) 2005, 2006 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicScrollBarUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.plaf.TestLookAndFeel; import java.awt.Dimension; import javax.swing.JScrollBar; import javax.swing.UIManager; import javax.swing.plaf.basic.BasicScrollBarUI; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getPreferredSize() method in the {@link BasicScrollBarUI} * class. */ public class getPreferredSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // use a known look and feel try { UIManager.setLookAndFeel(new TestLookAndFeel()); } catch (Exception e) { e.printStackTrace(); } // test horizontal scroll bar MyBasicScrollBarUI ui = new MyBasicScrollBarUI(); JScrollBar scrollBar = new JScrollBar(JScrollBar.HORIZONTAL); scrollBar.setUI(ui); harness.check(ui.getPreferredSize(scrollBar), new Dimension(48, 16)); // test vertical scroll bar MyBasicScrollBarUI ui2 = new MyBasicScrollBarUI(); JScrollBar scrollBar2 = new JScrollBar(JScrollBar.VERTICAL); scrollBar2.setUI(ui2); harness.check(ui2.getPreferredSize(scrollBar2), new Dimension(16, 48)); // restore a sane look and feel try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (Exception e) { e.printStackTrace(); } } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/getMaximumThumbSize.java0000644000175000001440000000463011015022010030344 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicScrollBarUI ../../TestLookAndFeel // Copyright (C) 2005, 2006 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicScrollBarUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.plaf.TestLookAndFeel; import java.awt.Dimension; import javax.swing.JScrollBar; import javax.swing.UIManager; import javax.swing.plaf.basic.BasicScrollBarUI; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getMaximumThumbSize() method in the * {@link BasicScrollBarUI} class. */ public class getMaximumThumbSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // use a known look and feel try { UIManager.setLookAndFeel(new TestLookAndFeel()); } catch (Exception e) { e.printStackTrace(); } // test horizontal scroll bar MyBasicScrollBarUI ui = new MyBasicScrollBarUI(); JScrollBar scrollBar = new JScrollBar(JScrollBar.HORIZONTAL); scrollBar.setUI(ui); harness.check(ui.getMaximumThumbSize(), new Dimension(4096, 4096)); // test vertical scroll bar MyBasicScrollBarUI ui2 = new MyBasicScrollBarUI(); JScrollBar scrollBar2 = new JScrollBar(JScrollBar.VERTICAL); scrollBar2.setUI(ui2); harness.check(ui2.getMaximumThumbSize(), new Dimension(4096, 4096)); // restore a sane look and feel try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (Exception e) { e.printStackTrace(); } } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/createDecreaseButton.java0000644000175000001440000000352111015022010030465 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicScrollBarUI // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicScrollBarUI; import javax.swing.JButton; import javax.swing.SwingConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * This tests the functionality of the createDecreaseButton method. This * test shows that this method does not change the decrButton field and * delivers a new button on each call. * * @author Roman Kennke (kennke@aicas.com) */ public class createDecreaseButton implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { MyBasicScrollBarUI ui = new MyBasicScrollBarUI(); harness.check(ui.getDecrButton(), null); JButton b1 = ui.createDecreaseButton(SwingConstants.NORTH); // The method call must not touch the decrButton field. harness.check(ui.getDecrButton(), null); // The method delivers a new instance on each call. JButton b2 = ui.createDecreaseButton(SwingConstants.NORTH); harness.check(b1 != b2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/createIncreaseButton.java0000644000175000001440000000355311015022010030510 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicScrollBarUI // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicScrollBarUI; import javax.swing.JButton; import javax.swing.SwingConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * This tests the functionality of the createIncreaseButton method. This * test shows that this method does not change the incrButton field and * delivers a new button on each call. * * @author Roman Kennke (kennke@aicas.com) */ public class createIncreaseButton implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { MyBasicScrollBarUI ui = new MyBasicScrollBarUI(); harness.check(ui.getIncrButton(), null); JButton b1 = ui.createIncreaseButton(SwingConstants.NORTH); // The method call must not touch the incrButton field. harness.check(ui.getIncrButton(), null); ui.setIncrButton(b1); // The method delivers a new instance on each call. JButton b2 = ui.createIncreaseButton(SwingConstants.NORTH); harness.check(b1 != b2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicToggleButtonUI/0000755000175000001440000000000012375316426024313 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicToggleButtonUI/MyBasicToggleButtonUI.java0000644000175000001440000000226110305150117031262 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicToggleButtonUI; import javax.swing.plaf.basic.BasicToggleButtonUI; /** * Provides access to protected methods. */ public class MyBasicToggleButtonUI extends BasicToggleButtonUI { public MyBasicToggleButtonUI() { super(); } public String getPropertyPrefix() { return super.getPropertyPrefix(); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicToggleButtonUI/getPropertyPrefix.java0000644000175000001440000000260611015022011030632 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicToggleButtonUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicToggleButtonUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Some checks for the getPropertyPrefix() method. */ public class getPropertyPrefix implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyBasicToggleButtonUI ui = new MyBasicToggleButtonUI(); harness.check(ui.getPropertyPrefix(), "ToggleButton."); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicLookAndFeel/0000755000175000001440000000000012375316426023563 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicLookAndFeel/initSystemColorDefaults.java0000644000175000001440000000720710303363404031256 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.basic.BasicLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.UIDefaults; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.basic.BasicLookAndFeel; /** * Some checks for the initSystemColorDefaults() method in the * {@link BasicLookAndFeel} class. */ public class initSystemColorDefaults implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not allowed). */ public void test(TestHarness harness) { MyBasicLookAndFeel laf = new MyBasicLookAndFeel(); UIDefaults defaults = new UIDefaults(); laf.initSystemColorDefaults(defaults); harness.check(defaults.get("activeCaption"), new ColorUIResource(0, 0, 128)); harness.check(defaults.get("activeCaptionBorder"), new ColorUIResource(192, 192, 192)); harness.check(defaults.get("activeCaptionText"), new ColorUIResource(255, 255, 255)); harness.check(defaults.get("control"), new ColorUIResource(192, 192, 192)); harness.check(defaults.get("controlDkShadow"), new ColorUIResource(0, 0, 0)); harness.check(defaults.get("controlHighlight"), new ColorUIResource(192, 192, 192)); harness.check(defaults.get("controlLtHighlight"), new ColorUIResource(255, 255, 255)); harness.check(defaults.get("controlShadow"), new ColorUIResource(128, 128, 128)); harness.check(defaults.get("controlText"), new ColorUIResource(0, 0, 0)); harness.check(defaults.get("desktop"), new ColorUIResource(0, 92, 92)); harness.check(defaults.get("inactiveCaption"), new ColorUIResource(128, 128, 128)); harness.check(defaults.get("inactiveCaptionBorder"), new ColorUIResource(192, 192, 192)); harness.check(defaults.get("inactiveCaptionText"), new ColorUIResource(192, 192, 192)); harness.check(defaults.get("info"), new ColorUIResource(255, 255, 225)); harness.check(defaults.get("infoText"), new ColorUIResource(0, 0, 0)); harness.check(defaults.get("menu"), new ColorUIResource(192, 192, 192)); harness.check(defaults.get("menuText"), new ColorUIResource(0, 0, 0)); harness.check(defaults.get("scrollbar"), new ColorUIResource(224, 224, 224)); harness.check(defaults.get("text"), new ColorUIResource(192, 192, 192)); harness.check(defaults.get("textHighlight"), new ColorUIResource(0, 0, 128)); harness.check(defaults.get("textHighlightText"), new ColorUIResource(255, 255, 255)); harness.check(defaults.get("textInactiveText"), new ColorUIResource(128, 128, 128)); harness.check(defaults.get("textText"), new ColorUIResource(0, 0, 0)); harness.check(defaults.get("window"), new ColorUIResource(255, 255, 255)); harness.check(defaults.get("windowBorder"), new ColorUIResource(0, 0, 0)); harness.check(defaults.get("windowText"), new ColorUIResource(0, 0, 0)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicLookAndFeel/MyBasicLookAndFeel.java0000644000175000001440000000334210271214264030011 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.basic.BasicLookAndFeel; import javax.swing.UIDefaults; import javax.swing.plaf.basic.BasicLookAndFeel; public class MyBasicLookAndFeel extends BasicLookAndFeel { public String getID() { return "MyBasicLookAndFeel"; } public String getName() { return "MyBasicLookAndFeel"; } public String getDescription() { return "MyBasicLookAndFeel"; } public boolean isSupportedLookAndFeel() { return true; } public boolean isNativeLookAndFeel() { return false; } public void initSystemColorDefaults(UIDefaults defaults) { super.initSystemColorDefaults(defaults); } public void initComponentDefaults(UIDefaults defaults) { super.initComponentDefaults(defaults); } public void initClassDefaults(UIDefaults defaults) { defaults.put("SliderUI", "gnu.testlet.javax.swing.plaf.basic.BasicLookAndFeel.MyBasicSliderUI"); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicLookAndFeel/initComponentDefaults.java0000644000175000001440000017241610356552347030760 0ustar dokousers// Tags: JDK1.3 // Uses: MyBasicLookAndFeel // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.basic.BasicLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import java.awt.Font; import java.util.Arrays; import java.util.List; import javax.swing.Icon; import javax.swing.InputMap; import javax.swing.KeyStroke; import javax.swing.ListCellRenderer; import javax.swing.UIDefaults; import javax.swing.UIManager; import javax.swing.border.Border; import javax.swing.plaf.BorderUIResource; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.DimensionUIResource; import javax.swing.plaf.FontUIResource; import javax.swing.plaf.InputMapUIResource; import javax.swing.plaf.InsetsUIResource; import javax.swing.plaf.BorderUIResource.CompoundBorderUIResource; import javax.swing.plaf.basic.BasicBorders; import javax.swing.plaf.basic.BasicBorders.ButtonBorder; import javax.swing.plaf.basic.BasicBorders.MarginBorder; /** * Some checks for the initComponentDefaults() method in the * {@link BasicLookAndFeel} class. */ public class initComponentDefaults implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not allowed). */ public void test(TestHarness harness) { // TODO: there are a lot of 'instanceof' checks in here. Those are weak // tests, try to strengthen them. MyBasicLookAndFeel laf = new MyBasicLookAndFeel(); UIDefaults defaults = new UIDefaults(); laf.initComponentDefaults(defaults); harness.checkPoint("AuditoryCues"); harness.check(defaults.get("AuditoryCues.allAuditoryCues") != null); harness.check(defaults.get("AuditoryCues.cueList") != null); harness.check(defaults.get("AuditoryCues.noAuditoryCues") != null); harness.checkPoint("Button"); CompoundBorderUIResource b1 = (CompoundBorderUIResource) defaults.get("Button.border"); harness.check(b1.getInsideBorder() instanceof MarginBorder); harness.check(b1.getOutsideBorder() instanceof ButtonBorder); harness.check(defaults.get("Button.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("Button.margin"), new InsetsUIResource(2, 14, 2, 14)); harness.check(defaults.get("Button.textIconGap"), new Integer(4)); harness.check(defaults.get("Button.textShiftOffset"), new Integer(0)); harness.check(defaults.get("Button.focusInputMap") instanceof InputMapUIResource); Object b = UIManager.get("Button.focusInputMap"); InputMapUIResource bim = (InputMapUIResource) b; KeyStroke[] kb = bim.keys(); harness.check(kb.length == 2); harness.check(bim.get(KeyStroke.getKeyStroke("SPACE")), "pressed"); harness.check(bim.get(KeyStroke.getKeyStroke("released SPACE")), "released"); harness.checkPoint("CheckBox"); CompoundBorderUIResource b2 = (CompoundBorderUIResource) defaults.get("CheckBox.border"); harness.check(b2.getInsideBorder() instanceof MarginBorder); harness.check(b2.getOutsideBorder() instanceof ButtonBorder); harness.check(defaults.get("CheckBox.focusInputMap") instanceof InputMapUIResource); Object c = UIManager.get("CheckBox.focusInputMap"); InputMapUIResource cim = (InputMapUIResource) c; KeyStroke[] kc = cim.keys(); harness.check(kc.length == 2); harness.check(cim.get(KeyStroke.getKeyStroke("SPACE")), "pressed"); harness.check(cim.get(KeyStroke.getKeyStroke("released SPACE")), "released"); harness.check(defaults.get("CheckBox.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("CheckBox.icon") instanceof Icon); harness.check(defaults.get("CheckBox.margin"), new InsetsUIResource(2, 2, 2, 2)); harness.check(defaults.get("CheckBox.textIconGap"), new Integer(4)); harness.check(defaults.get("CheckBox.textShiftOffset"), new Integer(0)); harness.checkPoint("CheckBoxMenuItem"); harness.check(defaults.get("CheckBoxMenuItem.acceleratorFont"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("CheckBoxMenuItem.arrowIcon") instanceof Icon); harness.check(defaults.get("CheckBoxMenuItem.border") instanceof BasicBorders.MarginBorder); harness.check(defaults.get("CheckBoxMenuItem.borderPainted"), Boolean.FALSE); harness.check(defaults.get("CheckBoxMenuItem.checkIcon") instanceof Icon); harness.check(defaults.get("CheckBoxMenuItem.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("CheckBoxMenuItem.margin"), new InsetsUIResource(2, 2, 2, 2)); harness.checkPoint("ColorChooser"); harness.check(defaults.get("ColorChooser.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("ColorChooser.rgbBlueMnemonic"), "66"); harness.check(defaults.get("ColorChooser.rgbGreenMnemonic"), "78"); harness.check(defaults.get("ColorChooser.rgbRedMnemonic"), "68"); harness.check(defaults.get("ColorChooser.swatchesRecentSwatchSize"), new Dimension(10, 10)); harness.check(defaults.get("ColorChooser.swatchesSwatchSize"), new Dimension(10, 10)); harness.checkPoint("ComboBox"); harness.check(defaults.get("ComboBox.ancestorInputMap") instanceof InputMapUIResource); harness.check(defaults.get("ComboBox.font"), new FontUIResource("SansSerif", Font.PLAIN, 12)); harness.checkPoint("Desktop"); harness.check(defaults.get("Desktop.ancestorInputMap") instanceof InputMapUIResource); harness.checkPoint("DesktopIcon"); harness.check(defaults.get("DesktopIcon.border") instanceof BorderUIResource.CompoundBorderUIResource); harness.checkPoint("EditorPane"); harness.check(defaults.get("EditorPane.background"), new ColorUIResource(255, 255, 255)); harness.check(defaults.get("EditorPane.border") instanceof BasicBorders.MarginBorder); harness.check(defaults.get("EditorPane.caretBlinkRate"), new Integer(500)); harness.check(defaults.get("EditorPane.font"), new FontUIResource("Serif", Font.PLAIN, 12)); harness.check(defaults.get("EditorPane.margin"), new InsetsUIResource(3, 3, 3, 3)); Object e = UIManager.get("EditorPane.focusInputMap"); InputMapUIResource eim = (InputMapUIResource) e; KeyStroke[] ke = eim.keys(); harness.check(ke.length == 55); harness.check(eim.get(KeyStroke.getKeyStroke("shift UP")), "selection-up"); harness.check(eim.get(KeyStroke.getKeyStroke("ctrl RIGHT")), "caret-next-word"); harness.check(eim.get(KeyStroke.getKeyStroke("shift ctrl LEFT")), "selection-previous-word"); harness.check(eim.get(KeyStroke.getKeyStroke("shift KP_UP")), "selection-up"); harness.check(eim.get(KeyStroke.getKeyStroke("DOWN")), "caret-down"); harness.check(eim.get(KeyStroke.getKeyStroke("shift ctrl T")), "previous-link-action"); harness.check(eim.get(KeyStroke.getKeyStroke("ctrl LEFT")), "caret-previous-word"); harness.check(eim.get(KeyStroke.getKeyStroke("CUT")), "cut-to-clipboard"); harness.check(eim.get(KeyStroke.getKeyStroke("END")), "caret-end-line"); harness.check(eim.get(KeyStroke.getKeyStroke("shift PAGE_UP")), "selection-page-up"); harness.check(eim.get(KeyStroke.getKeyStroke("KP_UP")), "caret-up"); harness.check(eim.get(KeyStroke.getKeyStroke("DELETE")), "delete-next"); harness.check(eim.get(KeyStroke.getKeyStroke("ctrl HOME")), "caret-begin"); harness.check(eim.get(KeyStroke.getKeyStroke("shift LEFT")), "selection-backward"); harness.check(eim.get(KeyStroke.getKeyStroke("ctrl END")), "caret-end"); harness.check(eim.get(KeyStroke.getKeyStroke("BACK_SPACE")), "delete-previous"); harness.check(eim.get(KeyStroke.getKeyStroke("shift ctrl RIGHT")), "selection-next-word"); harness.check(eim.get(KeyStroke.getKeyStroke("LEFT")), "caret-backward"); harness.check(eim.get(KeyStroke.getKeyStroke("KP_LEFT")), "caret-backward"); harness.check(eim.get(KeyStroke.getKeyStroke("shift KP_RIGHT")), "selection-forward"); harness.check(eim.get(KeyStroke.getKeyStroke("ctrl SPACE")), "activate-link-action"); harness.check(eim.get(KeyStroke.getKeyStroke("ctrl H")), "delete-previous"); harness.check(eim.get(KeyStroke.getKeyStroke("ctrl BACK_SLASH")), "unselect"); harness.check(eim.get(KeyStroke.getKeyStroke("ENTER")), "insert-break"); harness.check(eim.get(KeyStroke.getKeyStroke("shift HOME")), "selection-begin-line"); harness.check(eim.get(KeyStroke.getKeyStroke("RIGHT")), "caret-forward"); harness.check(eim.get(KeyStroke.getKeyStroke("shift ctrl PAGE_UP")), "selection-page-left"); harness.check(eim.get(KeyStroke.getKeyStroke("shift DOWN")), "selection-down"); harness.check(eim.get(KeyStroke.getKeyStroke("PAGE_DOWN")), "page-down"); harness.check(eim.get(KeyStroke.getKeyStroke("shift KP_LEFT")), "selection-backward"); harness.check(eim.get(KeyStroke.getKeyStroke("shift ctrl O")), "toggle-componentOrientation"); harness.check(eim.get(KeyStroke.getKeyStroke("ctrl X")), "cut-to-clipboard"); harness.check(eim.get(KeyStroke.getKeyStroke("shift ctrl PAGE_DOWN")), "selection-page-right"); harness.check(eim.get(KeyStroke.getKeyStroke("ctrl C")), "copy-to-clipboard"); harness.check(eim.get(KeyStroke.getKeyStroke("ctrl KP_RIGHT")), "caret-next-word"); harness.check(eim.get(KeyStroke.getKeyStroke("shift END")), "selection-end-line"); harness.check(eim.get(KeyStroke.getKeyStroke("ctrl KP_LEFT")), "caret-previous-word"); harness.check(eim.get(KeyStroke.getKeyStroke("HOME")), "caret-begin-line"); harness.check(eim.get(KeyStroke.getKeyStroke("ctrl V")), "paste-from-clipboard"); harness.check(eim.get(KeyStroke.getKeyStroke("KP_DOWN")), "caret-down"); harness.check(eim.get(KeyStroke.getKeyStroke("ctrl A")), "select-all"); harness.check(eim.get(KeyStroke.getKeyStroke("shift RIGHT")), "selection-forward"); harness.check(eim.get(KeyStroke.getKeyStroke("shift ctrl END")), "selection-end"); harness.check(eim.get(KeyStroke.getKeyStroke("COPY")), "copy-to-clipboard"); harness.check(eim.get(KeyStroke.getKeyStroke("shift ctrl KP_LEFT")), "selection-previous-word"); harness.check(eim.get(KeyStroke.getKeyStroke("ctrl T")), "next-link-action"); harness.check(eim.get(KeyStroke.getKeyStroke("shift KP_DOWN")), "selection-down"); harness.check(eim.get(KeyStroke.getKeyStroke("TAB")), "insert-tab"); harness.check(eim.get(KeyStroke.getKeyStroke("UP")), "caret-up"); harness.check(eim.get(KeyStroke.getKeyStroke("shift ctrl HOME")), "selection-begin"); harness.check(eim.get(KeyStroke.getKeyStroke("shift PAGE_DOWN")), "selection-page-down"); harness.check(eim.get(KeyStroke.getKeyStroke("KP_RIGHT")), "caret-forward"); harness.check(eim.get(KeyStroke.getKeyStroke("shift ctrl KP_RIGHT")), "selection-next-word"); harness.check(eim.get(KeyStroke.getKeyStroke("PAGE_UP")), "page-up"); harness.check(eim.get(KeyStroke.getKeyStroke("PASTE")), "paste-from-clipboard"); harness.checkPoint("FileChooser"); harness.check(defaults.get("FileChooser.ancestorInputMap") instanceof InputMapUIResource); harness.check(defaults.get("FileChooser.cancelButtonMnemonic"), "67"); harness.check(defaults.get("FileChooser.directoryOpenButtonMnemonic"), "79"); harness.check(defaults.get("FileChooser.helpButtonMnemonic"), "72"); harness.check(defaults.get("FileChooser.openButtonMnemonic"), "79"); harness.check(defaults.get("FileChooser.saveButtonMnemonic"), "83"); harness.check(defaults.get("FileChooser.updateButtonMnemonic"), "85"); harness.checkPoint("FileView"); harness.checkPoint("FormattedTextField"); harness.check(defaults.get("FormattedTextField.border") instanceof BasicBorders.FieldBorder); harness.check(defaults.get("FormattedTextField.caretBlinkRate"), new Integer(500)); harness.check(defaults.get("FormattedTextField.focusInputMap") instanceof InputMapUIResource); harness.check(defaults.get("FormattedTextField.font"), new FontUIResource("SansSerif", Font.PLAIN, 12)); harness.check(defaults.get("FormattedTextField.margin"), new InsetsUIResource(0, 0, 0, 0)); Object f = UIManager.get("FormattedTextField.focusInputMap"); InputMapUIResource fim = (InputMapUIResource) f; KeyStroke[] kf = fim.keys(); harness.check(kf.length == 38); harness.check(fim.get(KeyStroke.getKeyStroke("KP_UP")), "increment"); harness.check(fim.get(KeyStroke.getKeyStroke("END")), "caret-end-line"); harness.check(fim.get(KeyStroke.getKeyStroke("shift ctrl O")), "toggle-componentOrientation"); harness.check(fim.get(KeyStroke.getKeyStroke("shift KP_LEFT")), "selection-backward"); harness.check(fim.get(KeyStroke.getKeyStroke("shift RIGHT")), "selection-forward"); harness.check(fim.get(KeyStroke.getKeyStroke("KP_DOWN")), "decrement"); harness.check(fim.get(KeyStroke.getKeyStroke("HOME")), "caret-begin-line"); harness.check(fim.get(KeyStroke.getKeyStroke("ctrl V")), "paste-from-clipboard"); harness.check(fim.get(KeyStroke.getKeyStroke("ctrl H")), "delete-previous"); harness.check(fim.get(KeyStroke.getKeyStroke("KP_LEFT")), "caret-backward"); harness.check(fim.get(KeyStroke.getKeyStroke("LEFT")), "caret-backward"); harness.check(fim.get(KeyStroke.getKeyStroke("ctrl X")), "cut-to-clipboard"); harness.check(fim.get(KeyStroke.getKeyStroke("KP_RIGHT")), "caret-forward"); harness.check(fim.get(KeyStroke.getKeyStroke("UP")), "increment"); harness.check(fim.get(KeyStroke.getKeyStroke("shift ctrl KP_RIGHT")), "selection-next-word"); harness.check(fim.get(KeyStroke.getKeyStroke("COPY")), "copy-to-clipboard"); harness.check(fim.get(KeyStroke.getKeyStroke("shift HOME")), "selection-begin-line"); harness.check(fim.get(KeyStroke.getKeyStroke("ESCAPE")), "reset-field-edit"); harness.check(fim.get(KeyStroke.getKeyStroke("RIGHT")), "caret-forward"); harness.check(fim.get(KeyStroke.getKeyStroke("shift ctrl LEFT")), "selection-previous-word"); harness.check(fim.get(KeyStroke.getKeyStroke("ctrl KP_LEFT")), "caret-previous-word"); harness.check(fim.get(KeyStroke.getKeyStroke("DOWN")), "decrement"); harness.check(fim.get(KeyStroke.getKeyStroke("ctrl KP_RIGHT")), "caret-next-word"); harness.check(fim.get(KeyStroke.getKeyStroke("PASTE")), "paste-from-clipboard"); harness.check(fim.get(KeyStroke.getKeyStroke("shift ctrl RIGHT")), "selection-next-word"); harness.check(fim.get(KeyStroke.getKeyStroke("ctrl BACK_SLASH")), "unselect"); harness.check(fim.get(KeyStroke.getKeyStroke("ctrl A")), "select-all"); harness.check(fim.get(KeyStroke.getKeyStroke("shift KP_RIGHT")), "selection-forward"); harness.check(fim.get(KeyStroke.getKeyStroke("CUT")), "cut-to-clipboard"); harness.check(fim.get(KeyStroke.getKeyStroke("ctrl LEFT")), "caret-previous-word"); harness.check(fim.get(KeyStroke.getKeyStroke("BACK_SPACE")), "delete-previous"); harness.check(fim.get(KeyStroke.getKeyStroke("shift ctrl KP_LEFT")), "selection-previous-word"); harness.check(fim.get(KeyStroke.getKeyStroke("ctrl C")), "copy-to-clipboard"); harness.check(fim.get(KeyStroke.getKeyStroke("shift END")), "selection-end-line"); harness.check(fim.get(KeyStroke.getKeyStroke("ctrl RIGHT")), "caret-next-word"); harness.check(fim.get(KeyStroke.getKeyStroke("DELETE")), "delete-next"); harness.check(fim.get(KeyStroke.getKeyStroke("ENTER")), "notify-field-accept"); harness.check(fim.get(KeyStroke.getKeyStroke("shift LEFT")), "selection-backward"); harness.checkPoint("InternalFrame"); harness.check(defaults.get("InternalFrame.border") instanceof BorderUIResource.CompoundBorderUIResource); harness.check(defaults.get("InternalFrame.closeIcon") instanceof Icon); harness.check(defaults.get("InternalFrame.iconifyIcon") instanceof Icon); harness.check(defaults.get("InternalFrame.maximizeIcon") instanceof Icon); harness.check(defaults.get("InternalFrame.minimizeIcon") instanceof Icon); harness.check(defaults.get("InternalFrame.titleFont"), new FontUIResource("Dialog", Font.BOLD, 12)); harness.check(defaults.get("InternalFrame.windowBindings") instanceof Object[]); harness.checkPoint("Label"); harness.check(defaults.get("Label.disabledForeground"), new ColorUIResource(255, 255, 255)); harness.check(defaults.get("Label.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.checkPoint("List"); harness.check(defaults.get("List.cellRenderer") instanceof ListCellRenderer); harness.check(defaults.get("List.focusCellHighlightBorder") instanceof BorderUIResource.LineBorderUIResource); harness.check(defaults.get("List.focusInputMap") instanceof InputMapUIResource); Object l = UIManager.get("List.focusInputMap"); InputMapUIResource lim = (InputMapUIResource) l; KeyStroke[] kl = lim.keys(); harness.check(kl.length == 61); harness.check(lim.get(KeyStroke.getKeyStroke("ctrl DOWN")), "selectNextRowChangeLead"); harness.check(lim.get(KeyStroke.getKeyStroke("shift UP")), "selectPreviousRowExtendSelection"); harness.check(lim.get(KeyStroke.getKeyStroke("ctrl RIGHT")), "selectNextColumnChangeLead"); harness.check(lim.get(KeyStroke.getKeyStroke("shift ctrl LEFT")), "selectPreviousColumnExtendSelection"); harness.check(lim.get(KeyStroke.getKeyStroke("shift KP_UP")), "selectPreviousRowExtendSelection"); harness.check(lim.get(KeyStroke.getKeyStroke("DOWN")), "selectNextRow"); harness.check(lim.get(KeyStroke.getKeyStroke("ctrl UP")), "selectPreviousRowChangeLead"); harness.check(lim.get(KeyStroke.getKeyStroke("ctrl LEFT")), "selectPreviousColumnChangeLead"); harness.check(lim.get(KeyStroke.getKeyStroke("CUT")), "cut"); harness.check(lim.get(KeyStroke.getKeyStroke("END")), "selectLastRow"); harness.check(lim.get(KeyStroke.getKeyStroke("shift PAGE_UP")), "scrollUpExtendSelection"); harness.check(lim.get(KeyStroke.getKeyStroke("KP_UP")), "selectPreviousRow"); harness.check(lim.get(KeyStroke.getKeyStroke("shift ctrl UP")), "selectPreviousRowExtendSelection"); harness.check(lim.get(KeyStroke.getKeyStroke("ctrl HOME")), "selectFirstRowChangeLead"); harness.check(lim.get(KeyStroke.getKeyStroke("shift LEFT")), "selectPreviousColumnExtendSelection"); harness.check(lim.get(KeyStroke.getKeyStroke("ctrl END")), "selectLastRowChangeLead"); harness.check(lim.get(KeyStroke.getKeyStroke("ctrl PAGE_DOWN")), "scrollDownChangeLead"); harness.check(lim.get(KeyStroke.getKeyStroke("shift ctrl RIGHT")), "selectNextColumnExtendSelection"); harness.check(lim.get(KeyStroke.getKeyStroke("LEFT")), "selectPreviousColumn"); harness.check(lim.get(KeyStroke.getKeyStroke("ctrl PAGE_UP")), "scrollUpChangeLead"); harness.check(lim.get(KeyStroke.getKeyStroke("KP_LEFT")), "selectPreviousColumn"); harness.check(lim.get(KeyStroke.getKeyStroke("shift KP_RIGHT")), "selectNextColumnExtendSelection"); harness.check(lim.get(KeyStroke.getKeyStroke("SPACE")), "addToSelection"); harness.check(lim.get(KeyStroke.getKeyStroke("ctrl SPACE")), "toggleAndAnchor"); harness.check(lim.get(KeyStroke.getKeyStroke("shift SPACE")), "extendTo"); harness.check(lim.get(KeyStroke.getKeyStroke("shift ctrl SPACE")), "moveSelectionTo"); harness.check(lim.get(KeyStroke.getKeyStroke("shift ctrl DOWN")), "selectNextRowExtendSelection"); harness.check(lim.get(KeyStroke.getKeyStroke("ctrl BACK_SLASH")), "clearSelection"); harness.check(lim.get(KeyStroke.getKeyStroke("shift HOME")), "selectFirstRowExtendSelection"); harness.check(lim.get(KeyStroke.getKeyStroke("RIGHT")), "selectNextColumn"); harness.check(lim.get(KeyStroke.getKeyStroke("shift ctrl PAGE_UP")), "scrollUpExtendSelection"); harness.check(lim.get(KeyStroke.getKeyStroke("shift DOWN")), "selectNextRowExtendSelection"); harness.check(lim.get(KeyStroke.getKeyStroke("PAGE_DOWN")), "scrollDown"); harness.check(lim.get(KeyStroke.getKeyStroke("shift ctrl KP_UP")), "selectPreviousRowExtendSelection"); harness.check(lim.get(KeyStroke.getKeyStroke("shift KP_LEFT")), "selectPreviousColumnExtendSelection"); harness.check(lim.get(KeyStroke.getKeyStroke("ctrl X")), "cut"); harness.check(lim.get(KeyStroke.getKeyStroke("shift ctrl PAGE_DOWN")), "scrollDownExtendSelection"); harness.check(lim.get(KeyStroke.getKeyStroke("ctrl SLASH")), "selectAll"); harness.check(lim.get(KeyStroke.getKeyStroke("ctrl C")), "copy"); harness.check(lim.get(KeyStroke.getKeyStroke("ctrl KP_RIGHT")), "selectNextColumnChangeLead"); harness.check(lim.get(KeyStroke.getKeyStroke("shift END")), "selectLastRowExtendSelection"); harness.check(lim.get(KeyStroke.getKeyStroke("shift ctrl KP_DOWN")), "selectNextRowExtendSelection"); harness.check(lim.get(KeyStroke.getKeyStroke("ctrl KP_LEFT")), "selectPreviousColumnChangeLead"); harness.check(lim.get(KeyStroke.getKeyStroke("HOME")), "selectFirstRow"); harness.check(lim.get(KeyStroke.getKeyStroke("ctrl V")), "paste"); harness.check(lim.get(KeyStroke.getKeyStroke("KP_DOWN")), "selectNextRow"); harness.check(lim.get(KeyStroke.getKeyStroke("ctrl KP_DOWN")), "selectNextRowChangeLead"); harness.check(lim.get(KeyStroke.getKeyStroke("shift RIGHT")), "selectNextColumnExtendSelection"); harness.check(lim.get(KeyStroke.getKeyStroke("ctrl A")), "selectAll"); harness.check(lim.get(KeyStroke.getKeyStroke("shift ctrl END")), "selectLastRowExtendSelection"); harness.check(lim.get(KeyStroke.getKeyStroke("COPY")), "copy"); harness.check(lim.get(KeyStroke.getKeyStroke("ctrl KP_UP")), "selectPreviousRowChangeLead"); harness.check(lim.get(KeyStroke.getKeyStroke("shift ctrl KP_LEFT")), "selectPreviousColumnExtendSelection"); harness.check(lim.get(KeyStroke.getKeyStroke("shift KP_DOWN")), "selectNextRowExtendSelection"); harness.check(lim.get(KeyStroke.getKeyStroke("UP")), "selectPreviousRow"); harness.check(lim.get(KeyStroke.getKeyStroke("shift ctrl HOME")), "selectFirstRowExtendSelection"); harness.check(lim.get(KeyStroke.getKeyStroke("shift PAGE_DOWN")), "scrollDownExtendSelection"); harness.check(lim.get(KeyStroke.getKeyStroke("KP_RIGHT")), "selectNextColumn"); harness.check(lim.get(KeyStroke.getKeyStroke("shift ctrl KP_RIGHT")), "selectNextColumnExtendSelection"); harness.check(lim.get(KeyStroke.getKeyStroke("PAGE_UP")), "scrollUp"); harness.check(lim.get(KeyStroke.getKeyStroke("PASTE")), "paste"); harness.check(defaults.get("List.focusInputMap.RightToLeft") instanceof InputMapUIResource); harness.check(defaults.get("List.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.checkPoint("Menu"); harness.check(defaults.get("Menu.acceleratorFont"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("Menu.arrowIcon") instanceof Icon); harness.check(defaults.get("Menu.border") instanceof BasicBorders.MarginBorder); harness.check(defaults.get("Menu.borderPainted"), Boolean.FALSE); harness.check(defaults.get("Menu.checkIcon") instanceof Icon); harness.check(defaults.get("Menu.crossMenuMnemonic"), Boolean.TRUE); harness.check(defaults.get("Menu.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("Menu.margin"), new InsetsUIResource(2, 2, 2, 2)); harness.check(defaults.get("Menu.menuPopupOffsetX"), new Integer(0)); harness.check(defaults.get("Menu.menuPopupOffsetY"), new Integer(0)); int[] shortcuts = (int[]) defaults.get("Menu.shortcutKeys"); if (shortcuts == null) shortcuts = new int[] { 999 }; // to prevent NullPointerException harness.check(shortcuts.length, 1); harness.check(shortcuts[0], 8); harness.check(defaults.get("Menu.submenuPopupOffsetX"), new Integer(0)); harness.check(defaults.get("Menu.submenuPopupOffsetY"), new Integer(0)); harness.checkPoint("MenuBar"); harness.check(defaults.get("MenuBar.border") instanceof BasicBorders.MenuBarBorder); harness.check(defaults.get("MenuBar.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("MenuBar.windowBindings") instanceof Object[]); harness.checkPoint("MenuItem"); harness.check(defaults.get("MenuItem.acceleratorDelimiter"), "+"); harness.check(defaults.get("MenuItem.acceleratorFont"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("MenuItem.arrowIcon") instanceof Icon); harness.check(defaults.get("MenuItem.border") instanceof BasicBorders.MarginBorder); harness.check(defaults.get("MenuItem.borderPainted"), Boolean.FALSE); harness.check(defaults.get("MenuItem.checkIcon") instanceof Icon); harness.check(defaults.get("MenuItem.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("MenuItem.margin"), new InsetsUIResource(2, 2, 2, 2)); harness.checkPoint("OptionPane"); harness.check(defaults.get("OptionPane.border") instanceof BorderUIResource.EmptyBorderUIResource); harness.check(defaults.get("OptionPane.buttonAreaBorder") instanceof BorderUIResource.EmptyBorderUIResource); harness.check(defaults.get("OptionPane.buttonClickThreshhold"), new Integer(500)); harness.check(defaults.get("OptionPane.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("OptionPane.messageAreaBorder") instanceof BorderUIResource.EmptyBorderUIResource); harness.check(defaults.get("OptionPane.minimumSize"), new DimensionUIResource(262, 90)); harness.check(defaults.get("OptionPane.windowBindings") instanceof Object[]); harness.checkPoint("Panel"); harness.check(defaults.get("Panel.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.checkPoint("PasswordField"); harness.check(defaults.get("PasswordField.border") instanceof BasicBorders.FieldBorder); harness.check(defaults.get("PasswordField.caretBlinkRate"), new Integer(500)); harness.check(defaults.get("PasswordField.font"), new FontUIResource("MonoSpaced", Font.PLAIN, 12)); harness.check(defaults.get("PasswordField.margin"), new InsetsUIResource(0, 0, 0, 0)); harness.check(UIManager.get("PasswordField.focusInputMap") instanceof InputMapUIResource); Object o = UIManager.get("PasswordField.focusInputMap"); InputMapUIResource im = (InputMapUIResource) o; KeyStroke[] k = im.keys(); harness.check(k.length == 33); harness.check(im.get(KeyStroke.getKeyStroke("END")), "caret-end-line"); harness.check(im.get(KeyStroke.getKeyStroke("shift ctrl O")), "toggle-componentOrientation"); harness.check(im.get(KeyStroke.getKeyStroke("shift KP_LEFT")), "selection-backward"); harness.check(im.get(KeyStroke.getKeyStroke("shift RIGHT")), "selection-forward"); harness.check(im.get(KeyStroke.getKeyStroke("HOME")), "caret-begin-line"); harness.check(im.get(KeyStroke.getKeyStroke("ctrl V")), "paste-from-clipboard"); harness.check(im.get(KeyStroke.getKeyStroke("ctrl H")), "delete-previous"); harness.check(im.get(KeyStroke.getKeyStroke("KP_LEFT")), "caret-backward"); harness.check(im.get(KeyStroke.getKeyStroke("LEFT")), "caret-backward"); harness.check(im.get(KeyStroke.getKeyStroke("ctrl X")), "cut-to-clipboard"); harness.check(im.get(KeyStroke.getKeyStroke("KP_RIGHT")), "caret-forward"); harness.check(im.get(KeyStroke.getKeyStroke("shift ctrl KP_RIGHT")), "selection-end-line"); harness.check(im.get(KeyStroke.getKeyStroke("COPY")), "copy-to-clipboard"); harness.check(im.get(KeyStroke.getKeyStroke("shift HOME")), "selection-begin-line"); harness.check(im.get(KeyStroke.getKeyStroke("RIGHT")), "caret-forward"); harness.check(im.get(KeyStroke.getKeyStroke("shift ctrl LEFT")), "selection-begin-line"); harness.check(im.get(KeyStroke.getKeyStroke("ctrl KP_LEFT")), "caret-begin-line"); harness.check(im.get(KeyStroke.getKeyStroke("ctrl KP_RIGHT")), "caret-end-line"); harness.check(im.get(KeyStroke.getKeyStroke("PASTE")), "paste-from-clipboard"); harness.check(im.get(KeyStroke.getKeyStroke("shift ctrl RIGHT")), "selection-end-line"); harness.check(im.get(KeyStroke.getKeyStroke("ctrl BACK_SLASH")), "unselect"); harness.check(im.get(KeyStroke.getKeyStroke("ctrl A")), "select-all"); harness.check(im.get(KeyStroke.getKeyStroke("shift KP_RIGHT")), "selection-forward"); harness.check(im.get(KeyStroke.getKeyStroke("CUT")), "cut-to-clipboard"); harness.check(im.get(KeyStroke.getKeyStroke("ctrl LEFT")), "caret-begin-line"); harness.check(im.get(KeyStroke.getKeyStroke("BACK_SPACE")), "delete-previous"); harness.check(im.get(KeyStroke.getKeyStroke("shift ctrl KP_LEFT")), "selection-begin-line"); harness.check(im.get(KeyStroke.getKeyStroke("ctrl C")), "copy-to-clipboard"); harness.check(im.get(KeyStroke.getKeyStroke("shift END")), "selection-end-line"); harness.check(im.get(KeyStroke.getKeyStroke("ctrl RIGHT")), "caret-end-line"); harness.check(im.get(KeyStroke.getKeyStroke("DELETE")), "delete-next"); harness.check(im.get(KeyStroke.getKeyStroke("ENTER")), "notify-field-accept"); harness.check(im.get(KeyStroke.getKeyStroke("shift LEFT")), "selection-backward"); harness.checkPoint("PopupMenu"); harness.check(defaults.get("PopupMenu.border") instanceof BorderUIResource.CompoundBorderUIResource); harness.check(defaults.get("PopupMenu.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("PopupMenu.selectedWindowInputMapBindings") instanceof Object[]); harness.check(defaults.get("PopupMenu.selectedWindowInputMapBindings.RightToLeft") instanceof Object[]); harness.checkPoint("ProgressBar"); harness.check(defaults.get("ProgressBar.border") instanceof BorderUIResource.LineBorderUIResource); harness.check(defaults.get("ProgressBar.cellLength"), new Integer(1)); harness.check(defaults.get("ProgressBar.cellSpacing"), new Integer(0)); harness.check(defaults.get("ProgressBar.cycleTime"), new Integer(3000)); harness.check(defaults.get("ProgressBar.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("ProgressBar.repaintInterval"), new Integer(50)); harness.checkPoint("RadioButton"); harness.check(defaults.get("RadioButton.border") instanceof BorderUIResource.CompoundBorderUIResource); harness.check(defaults.get("RadioButton.focusInputMap") instanceof InputMapUIResource); harness.check(defaults.get("RadioButton.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("RadioButton.icon") instanceof Icon); harness.check(defaults.get("RadioButton.margin"), new InsetsUIResource(2, 2, 2, 2)); harness.check(defaults.get("RadioButton.textIconGap"), new Integer(4)); harness.check(defaults.get("RadioButton.textShiftOffset"), new Integer(0)); harness.checkPoint("RadioButtonMenuItem"); harness.check(defaults.get("RadioButtonMenuItem.acceleratorFont"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("RadioButtonMenuItem.arrowIcon") instanceof Icon); harness.check(defaults.get("RadioButtonMenuItem.border") instanceof BasicBorders.MarginBorder); harness.check(defaults.get("RadioButtonMenuItem.borderPainted"), Boolean.FALSE); harness.check(defaults.get("RadioButtonMenuItem.checkIcon") instanceof Icon); harness.check(defaults.get("RadioButtonMenuItem.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("RadioButtonMenuItem.margin"), new InsetsUIResource(2, 2, 2, 2)); harness.check(defaults.get("RootPane.defaultButtonWindowKeyBindings") instanceof Object[]); harness.checkPoint("ScrollBar"); harness.check(defaults.get("ScrollBar.background"), new ColorUIResource(224, 224, 224)); harness.check(defaults.get("ScrollBar.maximumThumbSize"), new DimensionUIResource(4096, 4096)); harness.check(defaults.get("ScrollBar.minimumThumbSize"), new DimensionUIResource(8, 8)); harness.check(defaults.get("ScrollBar.width"), new Integer(16)); harness.check(defaults.get("ScrollPane.ancestorInputMap") instanceof InputMapUIResource); harness.check(defaults.get("ScrollPane.ancestorInputMap.RightToLeft") instanceof InputMapUIResource); harness.check(defaults.get("ScrollPane.border") instanceof BasicBorders.FieldBorder); harness.check(defaults.get("ScrollPane.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.checkPoint("Slider"); InputMap map = (InputMap) defaults.get("Slider.focusInputMap"); KeyStroke[] keys = map.keys(); InputMap focusInputMap = (InputMap) defaults.get("Slider.focusInputMap"); List keyList = Arrays.asList(keys); harness.check(keyList.contains(KeyStroke.getKeyStroke("LEFT"))); harness.check(keyList.contains(KeyStroke.getKeyStroke("RIGHT"))); harness.check(keyList.contains(KeyStroke.getKeyStroke("UP"))); harness.check(keyList.contains(KeyStroke.getKeyStroke("DOWN"))); harness.check(keyList.contains(KeyStroke.getKeyStroke("KP_LEFT"))); harness.check(keyList.contains(KeyStroke.getKeyStroke("KP_RIGHT"))); harness.check(keyList.contains(KeyStroke.getKeyStroke("KP_UP"))); harness.check(keyList.contains(KeyStroke.getKeyStroke("KP_DOWN"))); harness.check(keyList.contains(KeyStroke.getKeyStroke("HOME"))); harness.check(keyList.contains(KeyStroke.getKeyStroke("END"))); harness.check(keyList.contains(KeyStroke.getKeyStroke("PAGE_UP"))); harness.check(keyList.contains(KeyStroke.getKeyStroke("PAGE_DOWN"))); harness.check(focusInputMap.get(KeyStroke.getKeyStroke("LEFT")), "negativeUnitIncrement"); harness.check(focusInputMap.get(KeyStroke.getKeyStroke("RIGHT")), "positiveUnitIncrement"); harness.check(focusInputMap.get(KeyStroke.getKeyStroke("UP")), "positiveUnitIncrement"); harness.check(focusInputMap.get(KeyStroke.getKeyStroke("DOWN")), "negativeUnitIncrement"); harness.check(focusInputMap.get(KeyStroke.getKeyStroke("KP_LEFT")), "negativeUnitIncrement"); harness.check(focusInputMap.get(KeyStroke.getKeyStroke("KP_RIGHT")), "positiveUnitIncrement"); harness.check(focusInputMap.get(KeyStroke.getKeyStroke("KP_UP")), "positiveUnitIncrement"); harness.check(focusInputMap.get(KeyStroke.getKeyStroke("KP_DOWN")), "negativeUnitIncrement"); harness.check(focusInputMap.get(KeyStroke.getKeyStroke("HOME")), "minScroll"); harness.check(focusInputMap.get(KeyStroke.getKeyStroke("END")), "maxScroll"); harness.check(focusInputMap.get(KeyStroke.getKeyStroke("PAGE_UP")), "positiveBlockIncrement"); harness.check(focusInputMap.get(KeyStroke.getKeyStroke("PAGE_DOWN")), "negativeBlockIncrement"); InputMap rightToLeftMap = (InputMap) defaults.get("Slider.focusInputMap.RightToLeft"); keys = rightToLeftMap != null ? rightToLeftMap.keys() : new KeyStroke[] {}; keyList = Arrays.asList(keys); harness.check(keyList.contains(KeyStroke.getKeyStroke("RIGHT"))); harness.check(keyList.contains(KeyStroke.getKeyStroke("KP_RIGHT"))); harness.check(keyList.contains(KeyStroke.getKeyStroke("LEFT"))); harness.check(keyList.contains(KeyStroke.getKeyStroke("KP_LEFT"))); if (rightToLeftMap == null) { rightToLeftMap = new InputMap(); // to prevent NullPointerException } harness.check(rightToLeftMap.get(KeyStroke.getKeyStroke("RIGHT")), "negativeUnitIncrement"); harness.check(rightToLeftMap.get(KeyStroke.getKeyStroke("KP_RIGHT")), "negativeUnitIncrement"); harness.check(rightToLeftMap.get(KeyStroke.getKeyStroke("LEFT")), "positiveUnitIncrement"); harness.check(rightToLeftMap.get(KeyStroke.getKeyStroke("KP_LEFT")), "positiveUnitIncrement"); harness.check(defaults.get("Slider.focusInsets"), new InsetsUIResource(2, 2, 2, 2)); harness.checkPoint("Spinner"); harness.check(defaults.get("Spinner.ancestorInputMap") instanceof InputMapUIResource); harness.check(defaults.get("Spinner.arrowButtonSize"), new DimensionUIResource(16, 5)); harness.check(defaults.get("Spinner.border") instanceof BasicBorders.FieldBorder); harness.check(defaults.get("Spinner.editorBorderPainted"), Boolean.FALSE); harness.check(defaults.get("Spinner.font"), new FontUIResource("MonoSpaced", Font.PLAIN, 12)); harness.checkPoint("SplitPane"); harness.check(defaults.get("SplitPane.ancestorInputMap") instanceof InputMapUIResource); harness.check(defaults.get("SplitPane.border") instanceof BasicBorders.SplitPaneBorder); harness.check(defaults.get("SplitPane.dividerSize"), new Integer(7)); harness.checkPoint("SplitPaneDivider"); harness.check(defaults.get("SplitPaneDivider.border") instanceof Border); harness.checkPoint("TabbedPane"); harness.check(defaults.get("TabbedPane.ancestorInputMap") instanceof InputMapUIResource); harness.check(defaults.get("TabbedPane.contentBorderInsets"), new InsetsUIResource(2, 2, 3, 3)); harness.check(defaults.get("TabbedPane.focusInputMap") instanceof InputMapUIResource); Object tab = UIManager.get("TabbedPane.focusInputMap"); InputMapUIResource tabim = (InputMapUIResource) tab; harness.check(tabim.keys().length == 10); harness.check(tabim.get(KeyStroke.getKeyStroke("ctrl DOWN")),"requestFocusForVisibleComponent"); harness.check(tabim.get(KeyStroke.getKeyStroke("KP_UP")),"navigateUp"); harness.check(tabim.get(KeyStroke.getKeyStroke("LEFT")),"navigateLeft"); harness.check(tabim.get(KeyStroke.getKeyStroke("ctrl KP_DOWN")),"requestFocusForVisibleComponent"); harness.check(tabim.get(KeyStroke.getKeyStroke("UP")),"navigateUp"); harness.check(tabim.get(KeyStroke.getKeyStroke("KP_DOWN")),"navigateDown"); harness.check(tabim.get(KeyStroke.getKeyStroke("KP_LEFT")),"navigateLeft"); harness.check(tabim.get(KeyStroke.getKeyStroke("RIGHT")),"navigateRight"); harness.check(tabim.get(KeyStroke.getKeyStroke("KP_RIGHT")),"navigateRight"); harness.check(tabim.get(KeyStroke.getKeyStroke("DOWN")),"navigateDown"); harness.check(defaults.get("TabbedPane.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("TabbedPane.selectedTabPadInsets"), new InsetsUIResource(2, 2, 2, 1)); harness.check(defaults.get("TabbedPane.tabAreaInsets"), new InsetsUIResource(3, 2, 0, 2)); harness.check(defaults.get("TabbedPane.tabInsets"), new InsetsUIResource(0, 4, 1, 4)); harness.check(defaults.get("TabbedPane.tabRunOverlay"), new Integer(2)); harness.check(defaults.get("TabbedPane.textIconGap"), new Integer(4)); harness.checkPoint("Table"); harness.check(defaults.get("Table.ancestorInputMap") instanceof InputMapUIResource); harness.check(defaults.get("Table.ancestorInputMap.RightToLeft") instanceof InputMapUIResource); harness.check(defaults.get("Table.focusCellHighlightBorder") instanceof BorderUIResource.LineBorderUIResource); harness.check(defaults.get("Table.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("Table.gridColor"), new ColorUIResource(128, 128, 128)); harness.check(defaults.get("Table.scrollPaneBorder") instanceof BorderUIResource.BevelBorderUIResource); harness.checkPoint("TableHeader"); harness.check(defaults.get("TableHeader.cellBorder"), null); harness.check(defaults.get("TableHeader.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.checkPoint("TextArea"); harness.check(defaults.get("TextArea.border") instanceof BasicBorders.MarginBorder); harness.check(defaults.get("TextArea.caretBlinkRate"), new Integer(500)); harness.check(defaults.get("TextArea.font"), new FontUIResource("MonoSpaced", Font.PLAIN, 12)); harness.check(defaults.get("TextArea.margin"), new InsetsUIResource(0, 0, 0, 0)); harness.check(UIManager.get("TextArea.focusInputMap") instanceof InputMapUIResource); Object ta = UIManager.get("TextArea.focusInputMap"); InputMapUIResource taim = (InputMapUIResource) ta; harness.check(taim.keys().length == 55); harness.check(taim.get(KeyStroke.getKeyStroke("shift UP")), "selection-up"); harness.check(taim.get(KeyStroke.getKeyStroke("ctrl RIGHT")), "caret-next-word"); harness.check(taim.get(KeyStroke.getKeyStroke("shift ctrl LEFT")), "selection-previous-word"); harness.check(taim.get(KeyStroke.getKeyStroke("shift KP_UP")), "selection-up"); harness.check(taim.get(KeyStroke.getKeyStroke("DOWN")), "caret-down"); harness.check(taim.get(KeyStroke.getKeyStroke("shift ctrl T")), "previous-link-action"); harness.check(taim.get(KeyStroke.getKeyStroke("ctrl LEFT")), "caret-previous-word"); harness.check(taim.get(KeyStroke.getKeyStroke("CUT")), "cut-to-clipboard"); harness.check(taim.get(KeyStroke.getKeyStroke("END")), "caret-end-line"); harness.check(taim.get(KeyStroke.getKeyStroke("shift PAGE_UP")), "selection-page-up"); harness.check(taim.get(KeyStroke.getKeyStroke("KP_UP")), "caret-up"); harness.check(taim.get(KeyStroke.getKeyStroke("DELETE")), "delete-next"); harness.check(taim.get(KeyStroke.getKeyStroke("ctrl HOME")), "caret-begin"); harness.check(taim.get(KeyStroke.getKeyStroke("shift LEFT")), "selection-backward"); harness.check(taim.get(KeyStroke.getKeyStroke("ctrl END")), "caret-end"); harness.check(taim.get(KeyStroke.getKeyStroke("BACK_SPACE")), "delete-previous"); harness.check(taim.get(KeyStroke.getKeyStroke("shift ctrl RIGHT")), "selection-next-word"); harness.check(taim.get(KeyStroke.getKeyStroke("LEFT")), "caret-backward"); harness.check(taim.get(KeyStroke.getKeyStroke("KP_LEFT")), "caret-backward"); harness.check(taim.get(KeyStroke.getKeyStroke("shift KP_RIGHT")), "selection-forward"); harness.check(taim.get(KeyStroke.getKeyStroke("ctrl SPACE")), "activate-link-action"); harness.check(taim.get(KeyStroke.getKeyStroke("ctrl H")), "delete-previous"); harness.check(taim.get(KeyStroke.getKeyStroke("ctrl BACK_SLASH")), "unselect"); harness.check(taim.get(KeyStroke.getKeyStroke("ENTER")), "insert-break"); harness.check(taim.get(KeyStroke.getKeyStroke("shift HOME")), "selection-begin-line"); harness.check(taim.get(KeyStroke.getKeyStroke("RIGHT")), "caret-forward"); harness.check(taim.get(KeyStroke.getKeyStroke("shift ctrl PAGE_UP")), "selection-page-left"); harness.check(taim.get(KeyStroke.getKeyStroke("shift DOWN")), "selection-down"); harness.check(taim.get(KeyStroke.getKeyStroke("PAGE_DOWN")), "page-down"); harness.check(taim.get(KeyStroke.getKeyStroke("shift KP_LEFT")), "selection-backward"); harness.check(taim.get(KeyStroke.getKeyStroke("shift ctrl O")), "toggle-componentOrientation"); harness.check(taim.get(KeyStroke.getKeyStroke("ctrl X")), "cut-to-clipboard"); harness.check(taim.get(KeyStroke.getKeyStroke("shift ctrl PAGE_DOWN")), "selection-page-right"); harness.check(taim.get(KeyStroke.getKeyStroke("ctrl C")), "copy-to-clipboard"); harness.check(taim.get(KeyStroke.getKeyStroke("ctrl KP_RIGHT")), "caret-next-word"); harness.check(taim.get(KeyStroke.getKeyStroke("shift END")), "selection-end-line"); harness.check(taim.get(KeyStroke.getKeyStroke("ctrl KP_LEFT")), "caret-previous-word"); harness.check(taim.get(KeyStroke.getKeyStroke("HOME")), "caret-begin-line"); harness.check(taim.get(KeyStroke.getKeyStroke("ctrl V")), "paste-from-clipboard"); harness.check(taim.get(KeyStroke.getKeyStroke("KP_DOWN")), "caret-down"); harness.check(taim.get(KeyStroke.getKeyStroke("ctrl A")), "select-all"); harness.check(taim.get(KeyStroke.getKeyStroke("shift RIGHT")), "selection-forward"); harness.check(taim.get(KeyStroke.getKeyStroke("shift ctrl END")), "selection-end"); harness.check(taim.get(KeyStroke.getKeyStroke("COPY")), "copy-to-clipboard"); harness.check(taim.get(KeyStroke.getKeyStroke("shift ctrl KP_LEFT")), "selection-previous-word"); harness.check(taim.get(KeyStroke.getKeyStroke("ctrl T")), "next-link-action"); harness.check(taim.get(KeyStroke.getKeyStroke("shift KP_DOWN")), "selection-down"); harness.check(taim.get(KeyStroke.getKeyStroke("TAB")), "insert-tab"); harness.check(taim.get(KeyStroke.getKeyStroke("UP")), "caret-up"); harness.check(taim.get(KeyStroke.getKeyStroke("shift ctrl HOME")), "selection-begin"); harness.check(taim.get(KeyStroke.getKeyStroke("shift PAGE_DOWN")), "selection-page-down"); harness.check(taim.get(KeyStroke.getKeyStroke("KP_RIGHT")), "caret-forward"); harness.check(taim.get(KeyStroke.getKeyStroke("shift ctrl KP_RIGHT")), "selection-next-word"); harness.check(taim.get(KeyStroke.getKeyStroke("PAGE_UP")), "page-up"); harness.check(taim.get(KeyStroke.getKeyStroke("PASTE")), "paste-from-clipboard"); harness.checkPoint("TextField"); harness.check(defaults.get("TextField.border") instanceof BasicBorders.FieldBorder); harness.check(defaults.get("TextField.caretBlinkRate"), new Integer(500)); harness.check(defaults.get("TextField.font"), new FontUIResource("SansSerif", Font.PLAIN, 12)); harness.check(defaults.get("TextField.margin"), new InsetsUIResource(0, 0, 0, 0)); harness.check(UIManager.get("TextField.focusInputMap") instanceof InputMapUIResource); Object tf = UIManager.get("TextField.focusInputMap"); InputMapUIResource tfim = (InputMapUIResource) tf; harness.check(tfim.keys().length == 33); harness.check(tfim.get(KeyStroke.getKeyStroke("ENTER")), "notify-field-accept"); harness.check(tfim.get(KeyStroke.getKeyStroke("LEFT")), "caret-backward"); harness.check(tfim.get(KeyStroke.getKeyStroke("RIGHT")), "caret-forward"); harness.check(tfim.get(KeyStroke.getKeyStroke("BACK_SPACE")), "delete-previous"); harness.check(tfim.get(KeyStroke.getKeyStroke("ctrl X")), "cut-to-clipboard"); harness.check(tfim.get(KeyStroke.getKeyStroke("ctrl C")), "copy-to-clipboard"); harness.check(tfim.get(KeyStroke.getKeyStroke("ctrl V")), "paste-from-clipboard"); harness.check(tfim.get(KeyStroke.getKeyStroke("shift LEFT")), "selection-backward"); harness.check(tfim.get(KeyStroke.getKeyStroke("shift RIGHT")), "selection-forward"); harness.check(tfim.get(KeyStroke.getKeyStroke("HOME")), "caret-begin-line"); harness.check(tfim.get(KeyStroke.getKeyStroke("END")), "caret-end-line"); harness.check(tfim.get(KeyStroke.getKeyStroke("DELETE")), "delete-next"); harness.check(tfim.get(KeyStroke.getKeyStroke("shift ctrl O")), "toggle-componentOrientation"); harness.check(tfim.get(KeyStroke.getKeyStroke("shift KP_LEFT")), "selection-backward"); harness.check(tfim.get(KeyStroke.getKeyStroke("ctrl H")), "delete-previous"); harness.check(tfim.get(KeyStroke.getKeyStroke("KP_LEFT")), "caret-backward"); harness.check(tfim.get(KeyStroke.getKeyStroke("KP_RIGHT")), "caret-forward"); harness.check(tfim.get(KeyStroke.getKeyStroke("shift ctrl KP_RIGHT")), "selection-next-word"); harness.check(tfim.get(KeyStroke.getKeyStroke("COPY")), "copy-to-clipboard"); harness.check(tfim.get(KeyStroke.getKeyStroke("shift HOME")), "selection-begin-line"); harness.check(tfim.get(KeyStroke.getKeyStroke("shift ctrl LEFT")), "selection-previous-word"); harness.check(tfim.get(KeyStroke.getKeyStroke("ctrl KP_LEFT")), "caret-previous-word"); harness.check(tfim.get(KeyStroke.getKeyStroke("ctrl KP_RIGHT")), "caret-next-word"); harness.check(tfim.get(KeyStroke.getKeyStroke("PASTE")), "paste-from-clipboard"); harness.check(tfim.get(KeyStroke.getKeyStroke("shift ctrl RIGHT")), "selection-next-word"); harness.check(tfim.get(KeyStroke.getKeyStroke("ctrl BACK_SLASH")), "unselect"); harness.check(tfim.get(KeyStroke.getKeyStroke("ctrl A")), "select-all"); harness.check(tfim.get(KeyStroke.getKeyStroke("shift KP_RIGHT")), "selection-forward"); harness.check(tfim.get(KeyStroke.getKeyStroke("CUT")), "cut-to-clipboard"); harness.check(tfim.get(KeyStroke.getKeyStroke("ctrl LEFT")), "caret-previous-word"); harness.check(tfim.get(KeyStroke.getKeyStroke("shift ctrl KP_LEFT")), "selection-previous-word"); harness.check(tfim.get(KeyStroke.getKeyStroke("shift END")), "selection-end-line"); harness.check(tfim.get(KeyStroke.getKeyStroke("ctrl RIGHT")), "caret-next-word"); harness.checkPoint("TextPane"); harness.check(defaults.get("TextPane.background"), new ColorUIResource(255, 255, 255)); harness.check(defaults.get("TextPane.border") instanceof BasicBorders.MarginBorder); harness.check(defaults.get("TextPane.caretBlinkRate"), new Integer(500)); harness.check(defaults.get("TextPane.font"), new FontUIResource("Serif", Font.PLAIN, 12)); harness.check(defaults.get("TextPane.margin"), new InsetsUIResource(3, 3, 3, 3)); harness.check(UIManager.get("TextPane.focusInputMap") instanceof InputMapUIResource); Object tp = UIManager.get("TextPane.focusInputMap"); InputMapUIResource tpim = (InputMapUIResource) tp; harness.check(tpim.keys().length == 55); harness.check(tpim.get(KeyStroke.getKeyStroke("shift UP")), "selection-up"); harness.check(tpim.get(KeyStroke.getKeyStroke("ctrl RIGHT")), "caret-next-word"); harness.check(tpim.get(KeyStroke.getKeyStroke("shift ctrl LEFT")), "selection-previous-word"); harness.check(tpim.get(KeyStroke.getKeyStroke("shift KP_UP")), "selection-up"); harness.check(tpim.get(KeyStroke.getKeyStroke("DOWN")), "caret-down"); harness.check(tpim.get(KeyStroke.getKeyStroke("shift ctrl T")), "previous-link-action"); harness.check(tpim.get(KeyStroke.getKeyStroke("ctrl LEFT")), "caret-previous-word"); harness.check(tpim.get(KeyStroke.getKeyStroke("CUT")), "cut-to-clipboard"); harness.check(tpim.get(KeyStroke.getKeyStroke("END")), "caret-end-line"); harness.check(tpim.get(KeyStroke.getKeyStroke("shift PAGE_UP")), "selection-page-up"); harness.check(tpim.get(KeyStroke.getKeyStroke("KP_UP")), "caret-up"); harness.check(tpim.get(KeyStroke.getKeyStroke("DELETE")), "delete-next"); harness.check(tpim.get(KeyStroke.getKeyStroke("ctrl HOME")), "caret-begin"); harness.check(tpim.get(KeyStroke.getKeyStroke("shift LEFT")), "selection-backward"); harness.check(tpim.get(KeyStroke.getKeyStroke("ctrl END")), "caret-end"); harness.check(tpim.get(KeyStroke.getKeyStroke("BACK_SPACE")), "delete-previous"); harness.check(tpim.get(KeyStroke.getKeyStroke("shift ctrl RIGHT")), "selection-next-word"); harness.check(tpim.get(KeyStroke.getKeyStroke("LEFT")), "caret-backward"); harness.check(tpim.get(KeyStroke.getKeyStroke("KP_LEFT")), "caret-backward"); harness.check(tpim.get(KeyStroke.getKeyStroke("shift KP_RIGHT")), "selection-forward"); harness.check(tpim.get(KeyStroke.getKeyStroke("ctrl SPACE")), "activate-link-action"); harness.check(tpim.get(KeyStroke.getKeyStroke("ctrl H")), "delete-previous"); harness.check(tpim.get(KeyStroke.getKeyStroke("ctrl BACK_SLASH")), "unselect"); harness.check(tpim.get(KeyStroke.getKeyStroke("ENTER")), "insert-break"); harness.check(tpim.get(KeyStroke.getKeyStroke("shift HOME")), "selection-begin-line"); harness.check(tpim.get(KeyStroke.getKeyStroke("RIGHT")), "caret-forward"); harness.check(tpim.get(KeyStroke.getKeyStroke("shift ctrl PAGE_UP")), "selection-page-left"); harness.check(tpim.get(KeyStroke.getKeyStroke("shift DOWN")), "selection-down"); harness.check(tpim.get(KeyStroke.getKeyStroke("PAGE_DOWN")), "page-down"); harness.check(tpim.get(KeyStroke.getKeyStroke("shift KP_LEFT")), "selection-backward"); harness.check(tpim.get(KeyStroke.getKeyStroke("shift ctrl O")), "toggle-componentOrientation"); harness.check(tpim.get(KeyStroke.getKeyStroke("ctrl X")), "cut-to-clipboard"); harness.check(tpim.get(KeyStroke.getKeyStroke("shift ctrl PAGE_DOWN")), "selection-page-right"); harness.check(tpim.get(KeyStroke.getKeyStroke("ctrl C")), "copy-to-clipboard"); harness.check(tpim.get(KeyStroke.getKeyStroke("ctrl KP_RIGHT")), "caret-next-word"); harness.check(tpim.get(KeyStroke.getKeyStroke("shift END")), "selection-end-line"); harness.check(tpim.get(KeyStroke.getKeyStroke("ctrl KP_LEFT")), "caret-previous-word"); harness.check(tpim.get(KeyStroke.getKeyStroke("HOME")), "caret-begin-line"); harness.check(tpim.get(KeyStroke.getKeyStroke("ctrl V")), "paste-from-clipboard"); harness.check(tpim.get(KeyStroke.getKeyStroke("KP_DOWN")), "caret-down"); harness.check(tpim.get(KeyStroke.getKeyStroke("ctrl A")), "select-all"); harness.check(tpim.get(KeyStroke.getKeyStroke("shift RIGHT")), "selection-forward"); harness.check(tpim.get(KeyStroke.getKeyStroke("shift ctrl END")), "selection-end"); harness.check(tpim.get(KeyStroke.getKeyStroke("COPY")), "copy-to-clipboard"); harness.check(tpim.get(KeyStroke.getKeyStroke("shift ctrl KP_LEFT")), "selection-previous-word"); harness.check(tpim.get(KeyStroke.getKeyStroke("ctrl T")), "next-link-action"); harness.check(tpim.get(KeyStroke.getKeyStroke("shift KP_DOWN")), "selection-down"); harness.check(tpim.get(KeyStroke.getKeyStroke("TAB")), "insert-tab"); harness.check(tpim.get(KeyStroke.getKeyStroke("UP")), "caret-up"); harness.check(tpim.get(KeyStroke.getKeyStroke("shift ctrl HOME")), "selection-begin"); harness.check(tpim.get(KeyStroke.getKeyStroke("shift PAGE_DOWN")), "selection-page-down"); harness.check(tpim.get(KeyStroke.getKeyStroke("KP_RIGHT")), "caret-forward"); harness.check(tpim.get(KeyStroke.getKeyStroke("shift ctrl KP_RIGHT")), "selection-next-word"); harness.check(tpim.get(KeyStroke.getKeyStroke("PAGE_UP")), "page-up"); harness.check(tpim.get(KeyStroke.getKeyStroke("PASTE")), "paste-from-clipboard"); harness.checkPoint("TitledBorder"); harness.check(defaults.get("TitledBorder.border") instanceof BorderUIResource.EtchedBorderUIResource); harness.check(defaults.get("TitledBorder.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.checkPoint("ToggleButton"); harness.check(defaults.get("ToggleButton.border") instanceof BorderUIResource.CompoundBorderUIResource); harness.check(defaults.get("ToggleButton.focusInputMap") instanceof InputMapUIResource); Object to = UIManager.get("ToggleButton.focusInputMap"); InputMapUIResource toim = (InputMapUIResource) to; harness.check(toim.keys().length == 2); harness.check(toim.get(KeyStroke.getKeyStroke("SPACE")), "pressed"); harness.check(toim.get(KeyStroke.getKeyStroke("released SPACE")), "released"); harness.check(defaults.get("ToggleButton.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("ToggleButton.margin"), new InsetsUIResource(2, 14, 2, 14)); harness.check(defaults.get("ToggleButton.textIconGap"), new Integer(4)); harness.check(defaults.get("ToggleButton.textShiftOffset"), new Integer(0)); harness.checkPoint("ToolBar"); harness.check(defaults.get("ToolBar.ancestorInputMap") instanceof InputMapUIResource); harness.check(defaults.get("ToolBar.border") instanceof BorderUIResource.EtchedBorderUIResource); harness.check(defaults.get("ToolBar.dockingForeground"), new ColorUIResource(255, 0, 0)); harness.check(defaults.get("ToolBar.floatingForeground"), new ColorUIResource(64, 64, 64)); harness.check(defaults.get("ToolBar.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("ToolBar.separatorSize"), new DimensionUIResource(10, 10)); harness.checkPoint("ToolTip"); harness.check(defaults.get("ToolTip.border") instanceof BorderUIResource.LineBorderUIResource); harness.check(defaults.get("ToolTip.font"), new FontUIResource("SansSerif", Font.PLAIN, 12)); harness.checkPoint("Tree"); harness.check(defaults.get("Tree.ancestorInputMap") instanceof InputMapUIResource); harness.check(defaults.get("Tree.changeSelectionWithFocus"), Boolean.TRUE); harness.check(defaults.get("Tree.drawsFocusBorderAroundIcon"), Boolean.FALSE); harness.check(defaults.get("Tree.editorBorder") instanceof BorderUIResource.LineBorderUIResource); harness.check(defaults.get("Tree.focusInputMap") instanceof InputMapUIResource); Object tr = UIManager.get("Tree.focusInputMap"); InputMapUIResource trim = (InputMapUIResource) tr; harness.check(trim.keys().length == 56); harness.check(trim.get(KeyStroke.getKeyStroke("ctrl DOWN")), "selectNextChangeLead"); harness.check(trim.get(KeyStroke.getKeyStroke("shift UP")), "selectPreviousExtendSelection"); harness.check(trim.get(KeyStroke.getKeyStroke("ctrl RIGHT")), "scrollRight"); harness.check(trim.get(KeyStroke.getKeyStroke("shift KP_UP")), "selectPreviousExtendSelection"); harness.check(trim.get(KeyStroke.getKeyStroke("DOWN")), "selectNext"); harness.check(trim.get(KeyStroke.getKeyStroke("ctrl UP")), "selectPreviousChangeLead"); harness.check(trim.get(KeyStroke.getKeyStroke("ctrl LEFT")), "scrollLeft"); harness.check(trim.get(KeyStroke.getKeyStroke("CUT")), "cut"); harness.check(trim.get(KeyStroke.getKeyStroke("END")), "selectLast"); harness.check(trim.get(KeyStroke.getKeyStroke("shift PAGE_UP")), "scrollUpExtendSelection"); harness.check(trim.get(KeyStroke.getKeyStroke("KP_UP")), "selectPrevious"); harness.check(trim.get(KeyStroke.getKeyStroke("shift ctrl UP")), "selectPreviousExtendSelection"); harness.check(trim.get(KeyStroke.getKeyStroke("ctrl HOME")), "selectFirstChangeLead"); harness.check(trim.get(KeyStroke.getKeyStroke("ctrl END")), "selectLastChangeLead"); harness.check(trim.get(KeyStroke.getKeyStroke("ctrl PAGE_DOWN")), "scrollDownChangeLead"); harness.check(trim.get(KeyStroke.getKeyStroke("LEFT")), "selectParent"); harness.check(trim.get(KeyStroke.getKeyStroke("ctrl PAGE_UP")), "scrollUpChangeLead"); harness.check(trim.get(KeyStroke.getKeyStroke("KP_LEFT")), "selectParent"); harness.check(trim.get(KeyStroke.getKeyStroke("SPACE")), "addToSelection"); harness.check(trim.get(KeyStroke.getKeyStroke("ctrl SPACE")), "toggleAndAnchor"); harness.check(trim.get(KeyStroke.getKeyStroke("shift SPACE")), "extendTo"); harness.check(trim.get(KeyStroke.getKeyStroke("shift ctrl SPACE")), "moveSelectionTo"); harness.check(trim.get(KeyStroke.getKeyStroke("ADD")), "expand"); harness.check(trim.get(KeyStroke.getKeyStroke("ctrl BACK_SLASH")), "clearSelection"); harness.check(trim.get(KeyStroke.getKeyStroke("shift ctrl DOWN")), "selectNextExtendSelection"); harness.check(trim.get(KeyStroke.getKeyStroke("shift HOME")), "selectFirstExtendSelection"); harness.check(trim.get(KeyStroke.getKeyStroke("RIGHT")), "selectChild"); harness.check(trim.get(KeyStroke.getKeyStroke("shift ctrl PAGE_UP")), "scrollUpExtendSelection"); harness.check(trim.get(KeyStroke.getKeyStroke("shift DOWN")), "selectNextExtendSelection"); harness.check(trim.get(KeyStroke.getKeyStroke("PAGE_DOWN")), "scrollDownChangeSelection"); harness.check(trim.get(KeyStroke.getKeyStroke("shift ctrl KP_UP")), "selectPreviousExtendSelection"); harness.check(trim.get(KeyStroke.getKeyStroke("SUBTRACT")), "collapse"); harness.check(trim.get(KeyStroke.getKeyStroke("ctrl X")), "cut"); harness.check(trim.get(KeyStroke.getKeyStroke("shift ctrl PAGE_DOWN")), "scrollDownExtendSelection"); harness.check(trim.get(KeyStroke.getKeyStroke("ctrl SLASH")), "selectAll"); harness.check(trim.get(KeyStroke.getKeyStroke("ctrl C")), "copy"); harness.check(trim.get(KeyStroke.getKeyStroke("ctrl KP_RIGHT")), "scrollRight"); harness.check(trim.get(KeyStroke.getKeyStroke("shift END")), "selectLastExtendSelection"); harness.check(trim.get(KeyStroke.getKeyStroke("shift ctrl KP_DOWN")), "selectNextExtendSelection"); harness.check(trim.get(KeyStroke.getKeyStroke("ctrl KP_LEFT")), "scrollLeft"); harness.check(trim.get(KeyStroke.getKeyStroke("HOME")), "selectFirst"); harness.check(trim.get(KeyStroke.getKeyStroke("ctrl V")), "paste"); harness.check(trim.get(KeyStroke.getKeyStroke("KP_DOWN")), "selectNext"); harness.check(trim.get(KeyStroke.getKeyStroke("ctrl A")), "selectAll"); harness.check(trim.get(KeyStroke.getKeyStroke("ctrl KP_DOWN")), "selectNextChangeLead"); harness.check(trim.get(KeyStroke.getKeyStroke("shift ctrl END")), "selectLastExtendSelection"); harness.check(trim.get(KeyStroke.getKeyStroke("COPY")), "copy"); harness.check(trim.get(KeyStroke.getKeyStroke("ctrl KP_UP")), "selectPreviousChangeLead"); harness.check(trim.get(KeyStroke.getKeyStroke("shift KP_DOWN")), "selectNextExtendSelection"); harness.check(trim.get(KeyStroke.getKeyStroke("UP")), "selectPrevious"); harness.check(trim.get(KeyStroke.getKeyStroke("shift ctrl HOME")), "selectFirstExtendSelection"); harness.check(trim.get(KeyStroke.getKeyStroke("shift PAGE_DOWN")), "scrollDownExtendSelection"); harness.check(trim.get(KeyStroke.getKeyStroke("KP_RIGHT")), "selectChild"); harness.check(trim.get(KeyStroke.getKeyStroke("F2")), "startEditing"); harness.check(trim.get(KeyStroke.getKeyStroke("PAGE_UP")), "scrollUpChangeSelection"); harness.check(trim.get(KeyStroke.getKeyStroke("PASTE")), "paste"); harness.check(defaults.get("Tree.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("Tree.hash"), new ColorUIResource(128, 128, 128)); harness.check(defaults.get("Tree.leftChildIndent"), new Integer(7)); harness.check(defaults.get("Tree.rightChildIndent"), new Integer(13)); harness.check(defaults.get("Tree.rowHeight"), new Integer(16)); harness.check(defaults.get("Tree.scrollsOnExpand"), Boolean.TRUE); harness.check(defaults.get("Tree.selectionBorderColor"), new ColorUIResource(0, 0, 0)); harness.check(defaults.get("Tree.focusInputMap.RightToLeft") instanceof InputMapUIResource); harness.checkPoint("Viewport"); harness.check(defaults.get("Viewport.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicEditorPaneUI/0000755000175000001440000000000012375316426023730 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicEditorPaneUI/MyBasicEditorPaneUI.java0000644000175000001440000000224710311627204030323 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicEditorPaneUI; import javax.swing.plaf.basic.BasicEditorPaneUI; /** * Provides access to protected methods. */ public class MyBasicEditorPaneUI extends BasicEditorPaneUI { public MyBasicEditorPaneUI() { super(); } public String getPropertyPrefix() { return super.getPropertyPrefix(); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicEditorPaneUI/getPropertyPrefix.java0000644000175000001440000000257211015022010030250 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicEditorPaneUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicEditorPaneUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Some checks for the getPropertyPrefix() method. */ public class getPropertyPrefix implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyBasicEditorPaneUI ui = new MyBasicEditorPaneUI(); harness.check(ui.getPropertyPrefix(), "EditorPane"); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicListUI/0000755000175000001440000000000012375316426022611 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicListUI/updateLayoutStateNeeded.java0000644000175000001440000000445710367413404030245 0ustar dokousers/* updateLayoutStateNeeded.java -- Checks the updateLayoutStateNeeded flag Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.plaf.basic.BasicListUI; import javax.swing.DefaultListModel; import javax.swing.JList; import javax.swing.plaf.basic.BasicListUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Checks when and how the updateLayoutStateNeeded flag is modified. * * @author Roman Kennke (kennke@aicas.com) */ public class updateLayoutStateNeeded implements Testlet { /** * Overridden to make the updateLayoutStateNeeded field accessible. */ private class TestListUI extends BasicListUI { public int getUpdateLayoutStateNeeded() { return updateLayoutStateNeeded; } public void maybeUpdateLayoutState() { super.maybeUpdateLayoutState(); } } /** * The entry point of this test. * * @param harness the test harness to use */ public void test(TestHarness harness) { testModelDataChange(harness); } /** * Changes the model data and checks if the flag should be updated. * * @param h the test harness to use */ private void testModelDataChange(TestHarness h) { JList l = new JList(new DefaultListModel()); TestListUI ui = new TestListUI(); l.setUI(ui); ui.maybeUpdateLayoutState(); // The flag should be 0 after maybeUpdateLayoutState(). h.check(ui.getUpdateLayoutStateNeeded(), 0); ((DefaultListModel) l.getModel()).addElement("test"); // The flag should be 1 after the model data change. h.check(ui.getUpdateLayoutStateNeeded(), 1); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicCheckBoxMenuItemUI/0000755000175000001440000000000012375316426025030 5ustar dokousers././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicCheckBoxMenuItemUI/MyBasicCheckBoxMenuItemUI.javamauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicCheckBoxMenuItemUI/MyBasicCheckBoxMenuItemUI.0000644000175000001440000000230510305333567031665 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicCheckBoxMenuItemUI; import javax.swing.plaf.basic.BasicCheckBoxMenuItemUI; /** * Provides access to protected methods. */ public class MyBasicCheckBoxMenuItemUI extends BasicCheckBoxMenuItemUI { public MyBasicCheckBoxMenuItemUI() { super(); } public String getPropertyPrefix() { return super.getPropertyPrefix(); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicCheckBoxMenuItemUI/getPropertyPrefix.java0000644000175000001440000000263111015022010031344 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicCheckBoxMenuItemUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicCheckBoxMenuItemUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Some checks for the getPropertyPrefix() method. */ public class getPropertyPrefix implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyBasicCheckBoxMenuItemUI ui = new MyBasicCheckBoxMenuItemUI(); harness.check(ui.getPropertyPrefix(), "CheckBoxMenuItem"); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicComboBoxEditor/0000755000175000001440000000000012375316426024317 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicComboBoxEditor/addActionListener.java0000644000175000001440000000376710333631261030560 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicComboBoxEditor; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JTextField; import javax.swing.plaf.basic.BasicComboBoxEditor; /** * Some tests for the addActionListener() method in the * {@link BasicComboBoxEditor} class. */ public class addActionListener implements Testlet, ActionListener { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BasicComboBoxEditor e = new BasicComboBoxEditor(); JTextField tf = (JTextField) e.getEditorComponent(); ActionListener[] listeners = tf.getActionListeners(); harness.check(listeners.length, 0); e.addActionListener(this); listeners = tf.getActionListeners(); harness.check(listeners.length, 1); harness.check(listeners[0], this); // try null e.addActionListener(null); listeners = tf.getActionListeners(); harness.check(listeners.length, 1); } public void actionPerformed(ActionEvent e) { } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicComboBoxEditor/removeActionListener.java0000644000175000001440000000442710333631261031317 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicComboBoxEditor; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JTextField; import javax.swing.plaf.basic.BasicComboBoxEditor; /** * Some tests for the removeActionListener() method in the * {@link BasicComboBoxEditor} class. */ public class removeActionListener implements Testlet, ActionListener { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BasicComboBoxEditor e = new BasicComboBoxEditor(); JTextField tf = (JTextField) e.getEditorComponent(); ActionListener[] listeners = tf.getActionListeners(); harness.check(listeners.length, 0); e.addActionListener(this); listeners = tf.getActionListeners(); harness.check(listeners.length, 1); harness.check(listeners[0], this); e.removeActionListener(this); listeners = tf.getActionListeners(); harness.check(listeners.length, 0); // remove a listener that isn't there e.removeActionListener(this); listeners = tf.getActionListeners(); harness.check(listeners.length, 0); // try null e.removeActionListener(null); listeners = tf.getActionListeners(); harness.check(listeners.length, 0); } public void actionPerformed(ActionEvent e) { } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicComboBoxEditor/constructor.java0000644000175000001440000000302310333631261027532 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicComboBoxEditor; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JTextField; import javax.swing.plaf.basic.BasicComboBoxEditor; /** * Some tests for the constructor in the {@link BasicComboBoxEditor} * class. */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BasicComboBoxEditor e = new BasicComboBoxEditor(); JTextField f = (JTextField) e.getEditorComponent(); harness.check(f.getColumns(), 9); harness.check(f.getBorder(), null); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicSplitPaneUI/0000755000175000001440000000000012375316426023575 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicSplitPaneUI/getDividerLocation.java0000644000175000001440000000405010512450063030201 0ustar dokousers/* getDividerLocation.java -- Checks BasicSplitPaneUI.getDividerLocation() Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.plaf.basic.BasicSplitPaneUI; import java.awt.Component; import javax.swing.JPanel; import javax.swing.JSplitPane; import javax.swing.plaf.basic.BasicSplitPaneUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Checks BasicSplitPaneUI.getDividerLocation(). */ public class getDividerLocation implements Testlet { /** * Checks that BasicSplitPaneUI.getDividerLocation() simply * returns the real location of the divider component, regardless * of the JSplitPaneUI setting. */ public void test(TestHarness harness) { // Check horizontal. JSplitPane sp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, new JPanel(), new JPanel()); BasicSplitPaneUI ui = (BasicSplitPaneUI) sp.getUI(); Component divider = sp.getComponent(2); divider.setLocation(1234, 5678); harness.check(ui.getDividerLocation(sp), 1234); // Check vertical. sp = new JSplitPane(JSplitPane.VERTICAL_SPLIT, new JPanel(), new JPanel()); ui = (BasicSplitPaneUI) sp.getUI(); divider = sp.getComponent(2); divider.setLocation(1234, 5678); harness.check(ui.getDividerLocation(sp), 5678); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicSplitPaneUI/BasicHorizontalLayoutManager/0000755000175000001440000000000012375316426031361 5ustar dokousers././@LongLink0000644000000000000000000000016500000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicSplitPaneUI/BasicHorizontalLayoutManager/layoutContainer.javamauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicSplitPaneUI/BasicHorizontalLayoutManager/layo0000644000175000001440000000443510512450063032241 0ustar dokousers/* layoutContainer.java -- Checks the layout manager layoutContainer() Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.plaf.basic.BasicSplitPaneUI.BasicHorizontalLayoutManager; import java.awt.Dimension; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JSplitPane; import javax.swing.plaf.basic.BasicSplitPaneUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class layoutContainer implements Testlet { public void test(TestHarness harness) { testMinimumSize(harness); } /** * Tests that the layout manager honors the minimum size of the * components. * * @param h the test harness */ private void testMinimumSize(TestHarness h) { // Check without calling setDividerLocation(). JPanel c1 = new JPanel(); c1.setMinimumSize(new Dimension(100, 100)); JPanel c2 = new JPanel(); JSplitPane sp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, c1, c2); sp.setSize(200, 200); h.check(sp.getLayout() instanceof BasicSplitPaneUI.BasicHorizontalLayoutManager); sp.getLayout().layoutContainer(sp); h.check(c1.getWidth(), 100); // Check with calling setDividerLocation(). c1 = new JPanel(); c1.setMinimumSize(new Dimension(100, 100)); c2 = new JPanel(); sp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, c1, c2); sp.setDividerLocation(0); sp.setSize(200, 200); h.check(sp.getLayout() instanceof BasicSplitPaneUI.BasicHorizontalLayoutManager); sp.getLayout().layoutContainer(sp); h.check(c1.getWidth(), 0); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicRadioButtonMenuItemUI/0000755000175000001440000000000012375316426025574 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicRadioButtonMenuItemUI/getPropertyPrefix.java0000644000175000001440000000264711015022010032117 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicRadioButtonMenuItemUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicRadioButtonMenuItemUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Some checks for the getPropertyPrefix() method. */ public class getPropertyPrefix implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyBasicRadioButtonMenuItemUI ui = new MyBasicRadioButtonMenuItemUI(); harness.check(ui.getPropertyPrefix(), "RadioButtonMenuItem"); } } ././@LongLink0000644000000000000000000000015700000000000011606 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicRadioButtonMenuItemUI/MyBasicRadioButtonMenuItemUI.javamauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicRadioButtonMenuItemUI/MyBasicRadioButtonMenuI0000644000175000001440000000232410305333567032154 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicRadioButtonMenuItemUI; import javax.swing.plaf.basic.BasicRadioButtonMenuItemUI; /** * Provides access to protected methods. */ public class MyBasicRadioButtonMenuItemUI extends BasicRadioButtonMenuItemUI { public MyBasicRadioButtonMenuItemUI() { super(); } public String getPropertyPrefix() { return super.getPropertyPrefix(); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicTextFieldUI/0000755000175000001440000000000012375316426023566 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicTextFieldUI/MyBasicTextFieldUI.java0000644000175000001440000000224210310221434030004 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicTextFieldUI; import javax.swing.plaf.basic.BasicTextFieldUI; /** * Provides access to protected methods. */ public class MyBasicTextFieldUI extends BasicTextFieldUI { public MyBasicTextFieldUI() { super(); } public String getPropertyPrefix() { return super.getPropertyPrefix(); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicTextFieldUI/getPropertyPrefix.java0000644000175000001440000000256511015022011030111 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicTextFieldUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicTextFieldUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Some checks for the getPropertyPrefix() method. */ public class getPropertyPrefix implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyBasicTextFieldUI ui = new MyBasicTextFieldUI(); harness.check(ui.getPropertyPrefix(), "TextField"); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicTextPaneUI/0000755000175000001440000000000012375316426023426 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicTextPaneUI/getPropertyPrefix.java0000644000175000001440000000256011015022011027744 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicTextPaneUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicTextPaneUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Some checks for the getPropertyPrefix() method. */ public class getPropertyPrefix implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyBasicTextPaneUI ui = new MyBasicTextPaneUI(); harness.check(ui.getPropertyPrefix(), "TextPane"); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicTextPaneUI/MyBasicTextPaneUI.java0000644000175000001440000000223510310221434027506 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicTextPaneUI; import javax.swing.plaf.basic.BasicTextPaneUI; /** * Provides access to protected methods. */ public class MyBasicTextPaneUI extends BasicTextPaneUI { public MyBasicTextPaneUI() { super(); } public String getPropertyPrefix() { return super.getPropertyPrefix(); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicPasswordFieldUI/0000755000175000001440000000000012375316426024444 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicPasswordFieldUI/MyBasicPasswordFieldUI.java0000644000175000001440000000226610311627204031554 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicPasswordFieldUI; import javax.swing.plaf.basic.BasicPasswordFieldUI; /** * Provides access to protected methods. */ public class MyBasicPasswordFieldUI extends BasicPasswordFieldUI { public MyBasicPasswordFieldUI() { super(); } public String getPropertyPrefix() { return super.getPropertyPrefix(); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicPasswordFieldUI/getPropertyPrefix.java0000644000175000001440000000261111015022010030756 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicPasswordFieldUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicPasswordFieldUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Some checks for the getPropertyPrefix() method. */ public class getPropertyPrefix implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyBasicPasswordFieldUI ui = new MyBasicPasswordFieldUI(); harness.check(ui.getPropertyPrefix(), "PasswordField"); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/0000755000175000001440000000000012375316426024100 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/getApproveSelectionAction.java0000644000175000001440000000314610323416522032054 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicFileChooserUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Action; import javax.swing.JFileChooser; import javax.swing.plaf.basic.BasicFileChooserUI; /** * Some checks for the getApproveSelectionAction. */ public class getApproveSelectionAction implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BasicFileChooserUI ui = new BasicFileChooserUI(new JFileChooser()); Action a = ui.getApproveSelectionAction(); harness.check(a.getValue("Name"), "approveSelection"); Action a2 = ui.getApproveSelectionAction(); harness.check(a == a2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/installStrings.java0000644000175000001440000001163410323416522027755 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicFileChooserUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicFileChooserUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Locale; import javax.swing.JFileChooser; import javax.swing.plaf.basic.BasicFileChooserUI; /** * Some checks for the installStrings() method in the * {@link BasicFileChooserUI} class. */ public class installStrings implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Locale.setDefault(Locale.UK); JFileChooser fc1 = new JFileChooser(); MyBasicFileChooserUI ui = new MyBasicFileChooserUI(fc1); harness.check(ui.getCancelButtonText(), null); harness.check(ui.getCancelButtonToolTipText(), null); harness.check(ui.getCancelButtonMnemonic(), 0); harness.check(ui.getDirectoryOpenButtonText(), null); harness.check(ui.getDirectoryOpenButtonToolTipText(), null); harness.check(ui.getDirectoryOpenButtonMnemonic(), 0); harness.check(ui.getHelpButtonText(), null); harness.check(ui.getHelpButtonToolTipText(), null); harness.check(ui.getHelpButtonMnemonic(), 0); harness.check(ui.getOpenButtonText(), null); harness.check(ui.getOpenButtonToolTipText(), null); harness.check(ui.getOpenButtonMnemonic(), 0); harness.check(ui.getSaveButtonText(), null); harness.check(ui.getSaveButtonToolTipText(), null); harness.check(ui.getSaveButtonMnemonic(), 0); harness.check(ui.getUpdateButtonText(), null); harness.check(ui.getUpdateButtonToolTipText(), null); harness.check(ui.getUpdateButtonMnemonic(), 0); ui.installStrings(fc1); harness.check(ui.getCancelButtonText(), "Cancel"); harness.check(ui.getCancelButtonToolTipText(), "Abort file chooser dialog"); harness.check(ui.getCancelButtonMnemonic(), 67); harness.check(ui.getDirectoryOpenButtonText(), "Open"); harness.check(ui.getDirectoryOpenButtonToolTipText(), "Open selected directory"); harness.check(ui.getDirectoryOpenButtonMnemonic(), 79); harness.check(ui.getHelpButtonText(), "Help"); harness.check(ui.getHelpButtonToolTipText(), "FileChooser help"); harness.check(ui.getHelpButtonMnemonic(), 72); harness.check(ui.getOpenButtonText(), "Open"); harness.check(ui.getOpenButtonToolTipText(), "Open selected file"); harness.check(ui.getOpenButtonMnemonic(), 79); harness.check(ui.getSaveButtonText(), "Save"); harness.check(ui.getSaveButtonToolTipText(), "Save selected file"); harness.check(ui.getSaveButtonMnemonic(), 83); harness.check(ui.getUpdateButtonText(), "Update"); harness.check(ui.getUpdateButtonToolTipText(), "Update directory listing"); harness.check(ui.getUpdateButtonMnemonic(), 85); // it appears that the default strings in the Basic look and feel are // not localised... Locale.setDefault(Locale.FRANCE); JFileChooser fc2 = new JFileChooser(); MyBasicFileChooserUI ui2 = new MyBasicFileChooserUI(fc2); ui2.installStrings(fc2); harness.check(ui2.getCancelButtonText(), "Cancel"); harness.check(ui2.getCancelButtonToolTipText(), "Abort file chooser dialog"); harness.check(ui2.getDirectoryOpenButtonText(), "Open"); harness.check(ui2.getDirectoryOpenButtonToolTipText(), "Open selected directory"); harness.check(ui2.getDirectoryOpenButtonMnemonic(), 79); harness.check(ui2.getHelpButtonText(), "Help"); harness.check(ui2.getHelpButtonToolTipText(), "FileChooser help"); harness.check(ui2.getHelpButtonMnemonic(), 72); harness.check(ui2.getOpenButtonText(), "Open"); harness.check(ui2.getOpenButtonToolTipText(), "Open selected file"); harness.check(ui2.getOpenButtonMnemonic(), 79); harness.check(ui2.getSaveButtonText(), "Save"); harness.check(ui2.getSaveButtonToolTipText(), "Save selected file"); harness.check(ui2.getSaveButtonMnemonic(), 83); harness.check(ui2.getUpdateButtonText(), "Update"); harness.check(ui2.getUpdateButtonToolTipText(), "Update directory listing"); harness.check(ui2.getUpdateButtonMnemonic(), 85); } } ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/getApproveButtonToolTipText.javamauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/getApproveButtonToolTipText.jav0000644000175000001440000000356210323416522032265 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicFileChooserUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JFileChooser; import javax.swing.plaf.basic.BasicFileChooserUI; /** * Some checks for the getApproveButtonToolTipText() method in the * {@link BasicFileChooserUI} class. */ public class getApproveButtonToolTipText implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser fc = new JFileChooser(); fc.setDialogType(JFileChooser.OPEN_DIALOG); BasicFileChooserUI ui = new BasicFileChooserUI(fc); ui.installUI(fc); harness.check(ui.getApproveButtonToolTipText(fc), "Open selected file"); fc.setDialogType(JFileChooser.SAVE_DIALOG); harness.check(ui.getApproveButtonToolTipText(fc), "Save selected file"); fc.setApproveButtonToolTipText("Hello World!"); harness.check(ui.getApproveButtonToolTipText(fc), "Hello World!"); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/getNewFolderAction.java0000644000175000001440000000311510323416522030453 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicFileChooserUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Action; import javax.swing.JFileChooser; import javax.swing.plaf.basic.BasicFileChooserUI; /** * Some checks for the getNewFolderAction() method. */ public class getNewFolderAction implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BasicFileChooserUI ui = new BasicFileChooserUI(new JFileChooser()); Action a = ui.getNewFolderAction(); harness.check(a.getValue("Name"), "New Folder"); Action a2 = ui.getNewFolderAction(); harness.check(a == a2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/constructor.java0000644000175000001440000000325010323416522027315 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicFileChooserUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicFileChooserUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JFileChooser; import javax.swing.plaf.basic.BasicFileChooserUI; /** * Some checks for the constructor in the {@link BasicFileChooserUI} * class. */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser fc = new JFileChooser(); MyBasicFileChooserUI ui = new MyBasicFileChooserUI(fc); harness.check(ui.getFileChooser(), null); harness.check(ui.getCancelButtonText(), null); harness.check(ui.getCancelButtonToolTipText(), null); harness.check(ui.getApproveButton(fc), null); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/getDialogTitle.java0000644000175000001440000000375410323416522027642 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicFileChooserUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JFileChooser; import javax.swing.plaf.basic.BasicFileChooserUI; /** * Some checks for the getDialogTitle() method. */ public class getDialogTitle implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser fc = new JFileChooser(); BasicFileChooserUI ui = new BasicFileChooserUI(fc); harness.check(ui.getDialogTitle(fc), null); ui.installUI(fc); harness.check(ui.getDialogTitle(fc), "Open"); fc.setDialogType(JFileChooser.SAVE_DIALOG); harness.check(ui.getDialogTitle(fc), "Save"); fc.setDialogTitle("XYZ"); harness.check(ui.getDialogTitle(fc), "XYZ"); fc.setDialogTitle(null); harness.check(ui.getDialogTitle(fc), "Save"); // try a null argument boolean pass = false; try { /*String t =*/ ui.getDialogTitle(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/uninstallStrings.java0000644000175000001440000000721310323416522030316 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicFileChooserUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicFileChooserUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Locale; import javax.swing.JFileChooser; import javax.swing.plaf.basic.BasicFileChooserUI; /** * Some checks for the uninstallStrings() method in the * {@link BasicFileChooserUI} class. */ public class uninstallStrings implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Locale.setDefault(Locale.UK); JFileChooser fc1 = new JFileChooser(); MyBasicFileChooserUI ui = new MyBasicFileChooserUI(fc1); ui.installStrings(fc1); harness.check(ui.getCancelButtonText(), "Cancel"); harness.check(ui.getCancelButtonToolTipText(), "Abort file chooser dialog"); harness.check(ui.getCancelButtonMnemonic(), 67); harness.check(ui.getDirectoryOpenButtonText(), "Open"); harness.check(ui.getDirectoryOpenButtonToolTipText(), "Open selected directory"); harness.check(ui.getDirectoryOpenButtonMnemonic(), 79); harness.check(ui.getHelpButtonText(), "Help"); harness.check(ui.getHelpButtonToolTipText(), "FileChooser help"); harness.check(ui.getHelpButtonMnemonic(), 72); harness.check(ui.getOpenButtonText(), "Open"); harness.check(ui.getOpenButtonToolTipText(), "Open selected file"); harness.check(ui.getOpenButtonMnemonic(), 79); harness.check(ui.getSaveButtonText(), "Save"); harness.check(ui.getSaveButtonToolTipText(), "Save selected file"); harness.check(ui.getSaveButtonMnemonic(), 83); harness.check(ui.getUpdateButtonText(), "Update"); harness.check(ui.getUpdateButtonToolTipText(), "Update directory listing"); harness.check(ui.getUpdateButtonMnemonic(), 85); ui.uninstallStrings(fc1); harness.check(ui.getCancelButtonText(), null); harness.check(ui.getCancelButtonToolTipText(), null); harness.check(ui.getCancelButtonMnemonic(), 67); harness.check(ui.getDirectoryOpenButtonText(), null); harness.check(ui.getDirectoryOpenButtonToolTipText(), null); harness.check(ui.getDirectoryOpenButtonMnemonic(), 79); harness.check(ui.getHelpButtonText(), null); harness.check(ui.getHelpButtonToolTipText(), null); harness.check(ui.getHelpButtonMnemonic(), 72); harness.check(ui.getOpenButtonText(), null); harness.check(ui.getOpenButtonToolTipText(), null); harness.check(ui.getOpenButtonMnemonic(), 79); harness.check(ui.getSaveButtonText(), null); harness.check(ui.getSaveButtonToolTipText(), null); harness.check(ui.getSaveButtonMnemonic(), 83); harness.check(ui.getUpdateButtonText(), null); harness.check(ui.getUpdateButtonToolTipText(), null); harness.check(ui.getUpdateButtonMnemonic(), 85); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/MyBasicFileChooserUI.java0000644000175000001440000000754610323416522030654 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicFileChooserUI; import javax.swing.Icon; import javax.swing.JButton; import javax.swing.JFileChooser; import javax.swing.plaf.basic.BasicFileChooserUI; /** * Provides access to protected fields and methods. */ public class MyBasicFileChooserUI extends BasicFileChooserUI { public MyBasicFileChooserUI(JFileChooser fc) { super(fc); } public JButton getApproveButton(JFileChooser fc) { return super.getApproveButton(fc); } public int getCancelButtonMnemonic() { return this.cancelButtonMnemonic; } public String getCancelButtonText() { return this.cancelButtonText; } public String getCancelButtonToolTipText() { return this.cancelButtonToolTipText; } public int getDirectoryOpenButtonMnemonic() { return this.directoryOpenButtonMnemonic; } public String getDirectoryOpenButtonText() { return this.directoryOpenButtonText; } public String getDirectoryOpenButtonToolTipText() { return this.directoryOpenButtonToolTipText; } public int getHelpButtonMnemonic() { return this.helpButtonMnemonic; } public String getHelpButtonText() { return this.helpButtonText; } public String getHelpButtonToolTipText() { return this.helpButtonToolTipText; } public int getOpenButtonMnemonic() { return this.openButtonMnemonic; } public String getOpenButtonText() { return this.openButtonText; } public String getOpenButtonToolTipText() { return this.openButtonToolTipText; } public int getSaveButtonMnemonic() { return this.saveButtonMnemonic; } public String getSaveButtonText() { return this.saveButtonText; } public String getSaveButtonToolTipText() { return this.saveButtonToolTipText; } public int getUpdateButtonMnemonic() { return this.updateButtonMnemonic; } public String getUpdateButtonText() { return this.updateButtonText; } public String getUpdateButtonToolTipText() { return this.updateButtonToolTipText; } public void installStrings(JFileChooser fc) { super.installStrings(fc); } public void uninstallStrings(JFileChooser fc) { super.uninstallStrings(fc); } public void installIcons(JFileChooser fc) { super.installIcons(fc); } public void uninstallIcons(JFileChooser fc) { super.uninstallIcons(fc); } public Icon getComputerIcon() { return this.computerIcon; } public Icon getDetailsViewIcon() { return this.detailsViewIcon; } public Icon getDirectoryIcon() { return this.directoryIcon; } public Icon getFileIcon() { return this.fileIcon; } public Icon getFloppyDriveIcon() { return this.floppyDriveIcon; } public Icon getHardDriveIcon() { return this.hardDriveIcon; } public Icon getHomeFolderIcon() { return this.homeFolderIcon; } public Icon getListViewIcon() { return this.listViewIcon; } public Icon getNewFolderIcon() { return this.newFolderIcon; } public Icon getUpFolderIcon() { return this.upFolderIcon; } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/installIcons.java0000644000175000001440000000615710323416522027403 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicFileChooserUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicFileChooserUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JFileChooser; import javax.swing.plaf.basic.BasicFileChooserUI; import javax.swing.plaf.metal.MetalIconFactory; /** * Some checks for the installIcons() method in the * {@link BasicFileChooserUI} class. */ public class installIcons implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser fc = new JFileChooser(); MyBasicFileChooserUI ui = new MyBasicFileChooserUI(fc); harness.check(ui.getComputerIcon(), null); harness.check(ui.getDetailsViewIcon(), null); harness.check(ui.getDirectoryIcon(), null); harness.check(ui.getFileIcon(), null); harness.check(ui.getFloppyDriveIcon(), null); harness.check(ui.getHardDriveIcon(), null); harness.check(ui.getHomeFolderIcon(), null); harness.check(ui.getListViewIcon(), null); harness.check(ui.getNewFolderIcon(), null); harness.check(ui.getUpFolderIcon(), null); ui.installIcons(fc); harness.check(ui.getComputerIcon(), MetalIconFactory.getTreeComputerIcon()); harness.check(ui.getDetailsViewIcon(), MetalIconFactory.getFileChooserDetailViewIcon()); harness.check(ui.getDirectoryIcon() instanceof MetalIconFactory.TreeFolderIcon); harness.check(ui.getDirectoryIcon().getIconWidth(), 16); harness.check(ui.getDirectoryIcon().getIconHeight(), 18); harness.check(ui.getFileIcon() instanceof MetalIconFactory.TreeLeafIcon); harness.check(ui.getFileIcon().getIconWidth(), 16); harness.check(ui.getFileIcon().getIconHeight(), 20); harness.check(ui.getFloppyDriveIcon(), MetalIconFactory.getTreeFloppyDriveIcon()); harness.check(ui.getHardDriveIcon(), MetalIconFactory.getTreeHardDriveIcon()); harness.check(ui.getHomeFolderIcon(), MetalIconFactory.getFileChooserHomeFolderIcon()); harness.check(ui.getListViewIcon(), MetalIconFactory.getFileChooserListViewIcon()); harness.check(ui.getNewFolderIcon(), MetalIconFactory.getFileChooserNewFolderIcon()); harness.check(ui.getUpFolderIcon(), MetalIconFactory.getFileChooserUpFolderIcon()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/getFileName.java0000644000175000001440000000334210323416522027112 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicFileChooserUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.File; import javax.swing.JFileChooser; import javax.swing.plaf.basic.BasicFileChooserUI; /** * Some checks for the getFileName() method in the {@link BasicFileChooserUI} * class. */ public class getFileName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser fc = new JFileChooser(); BasicFileChooserUI ui = new BasicFileChooserUI(fc); harness.check(ui.getFileName(), null); ui.installUI(fc); harness.check(ui.getFileName(), null); ui.setFileName("XYZ"); harness.check(ui.getFileName(), null); fc.setCurrentDirectory(new File("ABC")); harness.check(ui.getFileName(), null); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/getUpdateAction.java0000644000175000001440000000307110323416522030011 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicFileChooserUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Action; import javax.swing.JFileChooser; import javax.swing.plaf.basic.BasicFileChooserUI; /** * Some checks for the getUpdateAction() method. */ public class getUpdateAction implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BasicFileChooserUI ui = new BasicFileChooserUI(new JFileChooser()); Action a = ui.getUpdateAction(); harness.check(a.getValue("Name"), null); Action a2 = ui.getUpdateAction(); harness.check(a == a2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/getDirectoryName.java0000644000175000001440000000340510323416522030177 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicFileChooserUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.File; import javax.swing.JFileChooser; import javax.swing.plaf.basic.BasicFileChooserUI; /** * Some checks for the getDirectoryName() method in the {@link BasicFileChooserUI} * class. */ public class getDirectoryName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser fc = new JFileChooser(); BasicFileChooserUI ui = new BasicFileChooserUI(fc); harness.check(ui.getDirectoryName(), null); ui.installUI(fc); harness.check(ui.getDirectoryName(), null); ui.setDirectoryName("XYZ"); harness.check(ui.getDirectoryName(), null); fc.setCurrentDirectory(new File("ABC")); harness.check(ui.getDirectoryName(), null); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/getGoHomeAction.java0000644000175000001440000000327110323416522027747 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicFileChooserUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.JFileChooser; import javax.swing.plaf.basic.BasicFileChooserUI; /** * Some checks for the getGoHomeAction() method. */ public class getGoHomeAction implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BasicFileChooserUI ui = new BasicFileChooserUI(new JFileChooser()); AbstractAction a = (AbstractAction) ui.getGoHomeAction(); harness.check(a.getValue("Name"), "Go Home"); Object[] keys = a.getKeys(); harness.check(keys.length, 1); Action a2 = ui.getGoHomeAction(); harness.check(a == a2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/getFileView.java0000644000175000001440000000350610323416522027146 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicFileChooserUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JFileChooser; import javax.swing.filechooser.FileView; import javax.swing.plaf.basic.BasicFileChooserUI; /** * Some checks for the getFileView() method in the {@link BasicFileChooserUI} * class. */ public class getFileView implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser fc = new JFileChooser(); BasicFileChooserUI ui = new BasicFileChooserUI(fc); harness.check(ui.getFileView(fc) != null); ui.installUI(fc); FileView fv = ui.getFileView(fc); harness.check(fv != null); // the file chooser setting is ignored FileView myFV = new FileView() {}; fc.setFileView(myFV); harness.check(ui.getFileView(fc) != myFV); harness.check(ui.getFileView(null) != null); } } ././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/getChangeToParentDirectoryAction.javamauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/getChangeToParentDirectoryActio0000644000175000001440000000320010323416522032212 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicFileChooserUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Action; import javax.swing.JFileChooser; import javax.swing.plaf.basic.BasicFileChooserUI; /** * Some checks for the getChangeToParentDirectoryAction() method. */ public class getChangeToParentDirectoryAction implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BasicFileChooserUI ui = new BasicFileChooserUI(new JFileChooser()); Action a = ui.getChangeToParentDirectoryAction(); harness.check(a.getValue("Name"), "Go Up"); Action a2 = ui.getChangeToParentDirectoryAction(); harness.check(a == a2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/getApproveButtonMnemonic.java0000644000175000001440000000344410323416522031733 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicFileChooserUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JFileChooser; import javax.swing.plaf.basic.BasicFileChooserUI; /** * Some checks for the getApproveButtonMnemonic() method in the * {@link BasicFileChooserUI} class. */ public class getApproveButtonMnemonic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser fc = new JFileChooser(); fc.setDialogType(JFileChooser.OPEN_DIALOG); BasicFileChooserUI ui = new BasicFileChooserUI(fc); ui.installUI(fc); harness.check(ui.getApproveButtonMnemonic(fc), 79); fc.setDialogType(JFileChooser.SAVE_DIALOG); harness.check(ui.getApproveButtonMnemonic(fc), 83); fc.setApproveButtonMnemonic(99); harness.check(ui.getApproveButtonMnemonic(fc), 99); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/getApproveButtonText.java0000644000175000001440000000400710351522674031115 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicFileChooserUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JFileChooser; import javax.swing.plaf.basic.BasicFileChooserUI; /** * Some checks for the getApproveButtonText() method in the * {@link BasicFileChooserUI} class. */ public class getApproveButtonText implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser fc = new JFileChooser(); fc.setDialogType(JFileChooser.OPEN_DIALOG); BasicFileChooserUI ui = new BasicFileChooserUI(fc); ui.installUI(fc); harness.check(ui.getApproveButtonText(fc), "Open"); fc.setDialogType(JFileChooser.SAVE_DIALOG); harness.check(ui.getApproveButtonText(fc), "Save"); fc.setApproveButtonText("Hello World!"); harness.check(ui.getApproveButtonText(fc), "Hello World!"); // try null argument boolean pass = false; try { /*String t =*/ ui.getApproveButtonText(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/getApproveButton.java0000644000175000001440000000350610323416522030244 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicFileChooserUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicFileChooserUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JButton; import javax.swing.JFileChooser; import javax.swing.plaf.basic.BasicFileChooserUI; /** * Some checks for the getApproveButton() method in the * {@link BasicFileChooserUI} class. */ public class getApproveButton implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser fc = new JFileChooser(); fc.setDialogType(JFileChooser.OPEN_DIALOG); MyBasicFileChooserUI ui = new MyBasicFileChooserUI(fc); ui.installUI(fc); // the method just returns a reference to the button, it doesn't create // a new one each time the method is called... JButton b1 = ui.getApproveButton(fc); JButton b2 = ui.getApproveButton(fc); harness.check(b1 == b2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/getCancelSelectionAction.java0000644000175000001440000000313510323416522031623 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicFileChooserUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Action; import javax.swing.JFileChooser; import javax.swing.plaf.basic.BasicFileChooserUI; /** * Some checks for the getCancelSelectionAction() method. */ public class getCancelSelectionAction implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BasicFileChooserUI ui = new BasicFileChooserUI(new JFileChooser()); Action a = ui.getCancelSelectionAction(); harness.check(a.getValue("Name"), null); Action a2 = ui.getCancelSelectionAction(); harness.check(a == a2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicMenuUI/0000755000175000001440000000000012375316426022602 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicMenuUI/MyBasicMenuUI.java0000644000175000001440000000221110305333567026047 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicMenuUI; import javax.swing.plaf.basic.BasicMenuUI; /** * Provides access to protected methods. */ public class MyBasicMenuUI extends BasicMenuUI { public MyBasicMenuUI() { super(); } public String getPropertyPrefix() { return super.getPropertyPrefix(); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicMenuUI/getPropertyPrefix.java0000644000175000001440000000253411015022010027120 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicMenuUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicMenuUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Some checks for the getPropertyPrefix() method. */ public class getPropertyPrefix implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyBasicMenuUI ui = new MyBasicMenuUI(); harness.check(ui.getPropertyPrefix(), "Menu"); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicInternalFrameTitlePane/0000755000175000001440000000000012375316426025775 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicInternalFrameTitlePane/RestoreAction/0000755000175000001440000000000012375316426030556 5ustar dokousers././@LongLink0000644000000000000000000000015500000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicInternalFrameTitlePane/RestoreAction/constructor.javamauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicInternalFrameTitlePane/RestoreAction/construc0000644000175000001440000000315310312356506032333 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicInternalFrameTitlePane.RestoreAction; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JInternalFrame; import javax.swing.plaf.basic.BasicInternalFrameTitlePane; import javax.swing.plaf.basic.BasicInternalFrameTitlePane.RestoreAction; /** * Some checks for the constructor. */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JInternalFrame f = new JInternalFrame(); BasicInternalFrameTitlePane p = new BasicInternalFrameTitlePane(f); RestoreAction a = p.new RestoreAction(); harness.check(a.getValue("Name"), "Restore"); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicInternalFrameTitlePane/MoveAction/0000755000175000001440000000000012375316426030041 5ustar dokousers././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicInternalFrameTitlePane/MoveAction/constructor.javamauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicInternalFrameTitlePane/MoveAction/constructor0000644000175000001440000000313410312356506032342 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicInternalFrameTitlePane.MoveAction; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JInternalFrame; import javax.swing.plaf.basic.BasicInternalFrameTitlePane; import javax.swing.plaf.basic.BasicInternalFrameTitlePane.MoveAction; /** * Some checks for the constructor. */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JInternalFrame f = new JInternalFrame(); BasicInternalFrameTitlePane p = new BasicInternalFrameTitlePane(f); MoveAction a = p.new MoveAction(); harness.check(a.getValue("Name"), "Move"); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicInternalFrameTitlePane/IconifyAction/0000755000175000001440000000000012375316426030533 5ustar dokousers././@LongLink0000644000000000000000000000015500000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicInternalFrameTitlePane/IconifyAction/constructor.javamauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicInternalFrameTitlePane/IconifyAction/construc0000644000175000001440000000315410312356506032311 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicInternalFrameTitlePane.IconifyAction; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JInternalFrame; import javax.swing.plaf.basic.BasicInternalFrameTitlePane; import javax.swing.plaf.basic.BasicInternalFrameTitlePane.IconifyAction; /** * Some checks for the constructor. */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JInternalFrame f = new JInternalFrame(); BasicInternalFrameTitlePane p = new BasicInternalFrameTitlePane(f); IconifyAction a = p.new IconifyAction(); harness.check(a.getValue("Name"), "Minimize"); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicInternalFrameTitlePane/MaximizeAction/0000755000175000001440000000000012375316426030716 5ustar dokousers././@LongLink0000644000000000000000000000015600000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicInternalFrameTitlePane/MaximizeAction/constructor.javamauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicInternalFrameTitlePane/MaximizeAction/constru0000644000175000001440000000316010312356506032326 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicInternalFrameTitlePane.MaximizeAction; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JInternalFrame; import javax.swing.plaf.basic.BasicInternalFrameTitlePane; import javax.swing.plaf.basic.BasicInternalFrameTitlePane.MaximizeAction; /** * Some checks for the constructor. */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JInternalFrame f = new JInternalFrame(); BasicInternalFrameTitlePane p = new BasicInternalFrameTitlePane(f); MaximizeAction a = p.new MaximizeAction(); harness.check(a.getValue("Name"), "Maximize"); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicInternalFrameTitlePane/CloseAction/0000755000175000001440000000000012375316426030200 5ustar dokousers././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicInternalFrameTitlePane/CloseAction/constructor.javamauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicInternalFrameTitlePane/CloseAction/constructo0000644000175000001440000000314110312356505032314 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicInternalFrameTitlePane.CloseAction; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JInternalFrame; import javax.swing.plaf.basic.BasicInternalFrameTitlePane; import javax.swing.plaf.basic.BasicInternalFrameTitlePane.CloseAction; /** * Some checks for the constructor. */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JInternalFrame f = new JInternalFrame(); BasicInternalFrameTitlePane p = new BasicInternalFrameTitlePane(f); CloseAction a = p.new CloseAction(); harness.check(a.getValue("Name"), "Close"); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicInternalFrameTitlePane/SizeAction/0000755000175000001440000000000012375316426030045 5ustar dokousers././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicInternalFrameTitlePane/SizeAction/constructor.javamauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicInternalFrameTitlePane/SizeAction/constructor0000644000175000001440000000313410312356506032346 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicInternalFrameTitlePane.SizeAction; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JInternalFrame; import javax.swing.plaf.basic.BasicInternalFrameTitlePane; import javax.swing.plaf.basic.BasicInternalFrameTitlePane.SizeAction; /** * Some checks for the constructor. */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JInternalFrame f = new JInternalFrame(); BasicInternalFrameTitlePane p = new BasicInternalFrameTitlePane(f); SizeAction a = p.new SizeAction(); harness.check(a.getValue("Name"), "Size"); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicArrowButton/0000755000175000001440000000000012375316426023726 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicArrowButton/isFocusTraversable.java0000644000175000001440000000274710310210355030366 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with GNU Classpath; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicArrowButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.SwingConstants; import javax.swing.plaf.basic.BasicArrowButton; /** * Some checks for the isFocusTraversable() method in the * {@link BasicArrowButton} class. */ public class isFocusTraversable implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BasicArrowButton b = new BasicArrowButton(SwingConstants.NORTH); harness.check(b.isFocusTraversable(), false); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicArrowButton/getMinimumSize.java0000644000175000001440000000356010453461674027544 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with GNU Classpath; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicArrowButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import javax.swing.SwingConstants; import javax.swing.plaf.basic.BasicArrowButton; /** * Some checks for the getMinimumSize() method in the * {@link BasicArrowButton} class. */ public class getMinimumSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BasicArrowButton b = new BasicArrowButton(SwingConstants.NORTH); harness.check(b.getMinimumSize(), new Dimension(5, 5)); // setting the minimum size explicitly has no effect b.setMinimumSize(new Dimension(12, 34)); harness.check(b.getMinimumSize(), new Dimension(5, 5)); // modifying the returned value should not affect the button Dimension m = b.getMinimumSize(); m.setSize(1, 2); harness.check(b.getMinimumSize(), new Dimension(5, 5)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicArrowButton/isFocusable.java0000644000175000001440000000251510444324501027017 0ustar dokousers/* isFocusable.java Copyright (C) 2006 Red Hat, Tania Bento This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags:1.4 package gnu.testlet.javax.swing.plaf.basic.BasicArrowButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JRadioButtonMenuItem; import javax.swing.plaf.basic.BasicArrowButton; public class isFocusable implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BasicArrowButton b = new BasicArrowButton(0); harness.check(b.isFocusable(), false); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicArrowButton/getMaximumSize.java0000644000175000001440000000377510453461674027556 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with GNU Classpath; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicArrowButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import javax.swing.SwingConstants; import javax.swing.plaf.basic.BasicArrowButton; /** * Some checks for the getMaximumSize() method in the * {@link BasicArrowButton} class. */ public class getMaximumSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BasicArrowButton b = new BasicArrowButton(SwingConstants.NORTH); harness.check(b.getMaximumSize(), new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE)); // setting the maximum size explicitly has no effect b.setMaximumSize(new Dimension(12, 34)); harness.check(b.getMaximumSize(), new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE)); // modifying the returned value should not affect the button Dimension m = b.getMaximumSize(); m.setSize(1, 2); harness.check(b.getMaximumSize(), new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicArrowButton/getPreferredSize.java0000644000175000001440000000361210453461674030045 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with GNU Classpath; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicArrowButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import javax.swing.SwingConstants; import javax.swing.plaf.basic.BasicArrowButton; /** * Some checks for the getPreferredSize() method in the * {@link BasicArrowButton} class. */ public class getPreferredSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { BasicArrowButton b = new BasicArrowButton(SwingConstants.NORTH); harness.check(b.getPreferredSize(), new Dimension(16, 16)); // setting the preferred size explicitly has no effect b.setPreferredSize(new Dimension(12, 34)); harness.check(b.getPreferredSize(), new Dimension(16, 16)); // modifying the returned value should not affect the button Dimension p = b.getPreferredSize(); p.setSize(1, 2); harness.check(b.getPreferredSize(), new Dimension(16, 16)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicOptionPaneUI/0000755000175000001440000000000012375316426023752 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicOptionPaneUI/PropertyChangeHandler/0000755000175000001440000000000012375316426030202 5ustar dokousers././@LongLink0000644000000000000000000000015600000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicOptionPaneUI/PropertyChangeHandler/propertyChange.javamauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicOptionPaneUI/PropertyChangeHandler/propertyCh0000644000175000001440000000610610463737206032266 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2006 Roman Kennke (kennke@aicas.com) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicOptionPaneUI.PropertyChangeHandler; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.ImageIcon; import javax.swing.JOptionPane; import javax.swing.plaf.basic.BasicOptionPaneUI; public class propertyChange implements Testlet { class TestOptionPaneUI extends BasicOptionPaneUI { protected void installComponents() { super.installComponents(); // Uncomment to see that the call originates in propertyChange(). //Thread.dumpStack(); installComponentsCalled = true; } protected void uninstallComponents() { super.uninstallComponents(); // Uncomment to see that the call originates in propertyChange(). // Thread.dumpStack(); uninstallComponentsCalled = true; } } boolean installComponentsCalled; boolean uninstallComponentsCalled; /** * The entry point. * * @param h the test harness */ public void test(TestHarness h) { testVisualProperties(h); } /** * This tests if the BasicOptionPaneUI correctly uninstalls and reinstalls * the components on the JOptionPane. That is, it should call * uninstallComponents() and installComponents() when any of the * visual properties changes. * * @param h the test harness */ private void testVisualProperties(TestHarness h) { JOptionPane p = new JOptionPane(); TestOptionPaneUI ui = new TestOptionPaneUI(); p.setUI(ui); installComponentsCalled = false; uninstallComponentsCalled = false; p.setIcon(new ImageIcon()); checkReinstalled(h); p.setInitialSelectionValue("Hello World"); checkReinstalled(h); p.setInitialValue(new Object()); checkReinstalled(h); p.setMessage(new Object()); checkReinstalled(h); p.setMessageType(JOptionPane.ERROR_MESSAGE); checkReinstalled(h); p.setOptions(new Object[0]); checkReinstalled(h); p.setOptionType(JOptionPane.NO_OPTION); checkReinstalled(h); p.setWantsInput(false); p.setWantsInput(true); checkReinstalled(h); } private void checkReinstalled(TestHarness h) { h.check(installComponentsCalled, true); h.check(uninstallComponentsCalled, true); installComponentsCalled = false; uninstallComponentsCalled = false; } }mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicHTML/0000755000175000001440000000000012375316426022204 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicHTML/isHTMLString.java0000644000175000001440000000322510447774436025347 0ustar dokousers/* isHTMLString.java -- some checks for the isHTMLString() method in the BasicHTML class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.plaf.basic.BasicHTML; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.plaf.basic.BasicHTML; public class isHTMLString implements Testlet { public void test(TestHarness harness) { harness.check(BasicHTML.isHTMLString(""), false); harness.check(BasicHTML.isHTMLString("A"), false); harness.check(BasicHTML.isHTMLString("A"), false); harness.check(BasicHTML.isHTMLString("A"), true); // the following special cases are interesting: harness.check(BasicHTML.isHTMLString(null), false); harness.check(BasicHTML.isHTMLString(" A "), false); harness.check(BasicHTML.isHTMLString("A..."), true); harness.check(BasicHTML.isHTMLString(""), true); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicCheckBoxUI/0000755000175000001440000000000012375316426023364 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicCheckBoxUI/MyBasicCheckBoxUI.java0000644000175000001440000000223610311627204027411 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicCheckBoxUI; import javax.swing.plaf.basic.BasicCheckBoxUI; /** * Provides access to protected methods. */ public class MyBasicCheckBoxUI extends BasicCheckBoxUI { public MyBasicCheckBoxUI() { super(); } public String getPropertyPrefix() { return super.getPropertyPrefix(); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicCheckBoxUI/getPropertyPrefix.java0000644000175000001440000000256211015022010027703 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicCheckBoxUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicCheckBoxUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Some checks for the getPropertyPrefix() method. */ public class getPropertyPrefix implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyBasicCheckBoxUI ui = new MyBasicCheckBoxUI(); harness.check(ui.getPropertyPrefix(), "CheckBox."); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicButtonUI/0000755000175000001440000000000012375316426023151 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicButtonUI/setTextShiftOffset.java0000644000175000001440000000304611015022010027571 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicButtonUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicButtonUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Some checks for the setTextShiftOffset() method. */ public class setTextShiftOffset implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyBasicButtonUI ui = new MyBasicButtonUI(); harness.check(ui.getTextShiftOffset(), 0); ui.setTextShiftOffset(); harness.check(ui.getTextShiftOffset(), 0); ui.setDefaultTextShiftOffsetField(99); ui.setTextShiftOffset(); harness.check(ui.getTextShiftOffset(), 99); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicButtonUI/defaultTextShiftOffset.java0000644000175000001440000000310611015022010030417 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicButtonUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicButtonUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JButton; /** * Checks the defaultTextShiftOffset field. */ public class defaultTextShiftOffset implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // at first the field is 0 MyBasicButtonUI ui = new MyBasicButtonUI(); harness.check(ui.getDefaultTextShiftOffsetField(), 0); // the field value is still 0 after a call to installUI() ui.installUI(new JButton()); harness.check(ui.getDefaultTextShiftOffsetField(), 0); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicButtonUI/clearTextShiftOffset.java0000644000175000001440000000305411015022010030063 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicButtonUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicButtonUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Some checks for the clearTextShiftOffset() method. */ public class clearTextShiftOffset implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyBasicButtonUI ui = new MyBasicButtonUI(); harness.check(ui.getTextShiftOffset(), 0); ui.setDefaultTextShiftOffsetField(99); ui.setTextShiftOffset(); harness.check(ui.getTextShiftOffset(), 99); ui.clearTextShiftOffset(); harness.check(ui.getTextShiftOffset(), 0); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicButtonUI/MyBasicButtonUI.java0000644000175000001440000000323710317677360027003 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicButtonUI; import javax.swing.plaf.basic.BasicButtonUI; /** * Provides access to protected methods. */ public class MyBasicButtonUI extends BasicButtonUI { public MyBasicButtonUI() { super(); } public int getDefaultTextIconGapField() { return this.defaultTextIconGap; } public int getDefaultTextShiftOffsetField() { return this.defaultTextShiftOffset; } public void setDefaultTextShiftOffsetField(int offset) { this.defaultTextShiftOffset = offset; } public String getPropertyPrefix() { return super.getPropertyPrefix(); } public int getTextShiftOffset() { return super.getTextShiftOffset(); } public void setTextShiftOffset() { super.setTextShiftOffset(); } public void clearTextShiftOffset() { super.clearTextShiftOffset(); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicButtonUI/defaultTextIconGap.java0000644000175000001440000000413311015022010027514 0ustar dokousers// Tags: JDK1.5 // Uses: MyBasicButtonUI // Copyright (C) 2005, 2006 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicButtonUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JButton; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Checks the defaultTextIconGap field. */ public class defaultTextIconGap implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // test with DefaultMetalTheme try { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } // at first the field value is 0 MyBasicButtonUI ui = new MyBasicButtonUI(); harness.check(ui.getDefaultTextIconGapField(), 0); // the field value is updated after a call to installUI() // UPDATE: in JDK1.5, it seems this update no longer happens ui.installUI(new JButton()); harness.check(ui.getDefaultTextIconGapField(), 0 /* 4 */); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicButtonUI/getTextShiftOffset.java0000644000175000001440000000304611015022010027555 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicButtonUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicButtonUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Some checks for the getTextShiftOffset() method. */ public class getTextShiftOffset implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyBasicButtonUI ui = new MyBasicButtonUI(); harness.check(ui.getTextShiftOffset(), 0); ui.setTextShiftOffset(); harness.check(ui.getTextShiftOffset(), 0); ui.setDefaultTextShiftOffsetField(99); ui.setTextShiftOffset(); harness.check(ui.getTextShiftOffset(), 99); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicButtonUI/getPropertyPrefix.java0000644000175000001440000000254711015022010027473 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicButtonUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicButtonUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Some checks for the getPropertyPrefix() method. */ public class getPropertyPrefix implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyBasicButtonUI ui = new MyBasicButtonUI(); harness.check(ui.getPropertyPrefix(), "Button."); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicMenuItemUI/0000755000175000001440000000000012375316426023421 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicMenuItemUI/MyBasicMenuItemUI.java0000644000175000001440000000223510305333567027513 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicMenuItemUI; import javax.swing.plaf.basic.BasicMenuItemUI; /** * Provides access to protected methods. */ public class MyBasicMenuItemUI extends BasicMenuItemUI { public MyBasicMenuItemUI() { super(); } public String getPropertyPrefix() { return super.getPropertyPrefix(); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicMenuItemUI/getPropertyPrefix.java0000644000175000001440000000256011015022010027736 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicMenuItemUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicMenuItemUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Some checks for the getPropertyPrefix() method. */ public class getPropertyPrefix implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyBasicMenuItemUI ui = new MyBasicMenuItemUI(); harness.check(ui.getPropertyPrefix(), "MenuItem"); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicFormattedTextFieldUI/0000755000175000001440000000000012375316426025434 5ustar dokousers././@LongLink0000644000000000000000000000015500000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicFormattedTextFieldUI/MyBasicFormattedTextFieldUI.javamauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicFormattedTextFieldUI/MyBasicFormattedTextFiel0000644000175000001440000000231710311627204032207 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicFormattedTextFieldUI; import javax.swing.plaf.basic.BasicFormattedTextFieldUI; /** * Provides access to protected methods. */ public class MyBasicFormattedTextFieldUI extends BasicFormattedTextFieldUI { public MyBasicFormattedTextFieldUI() { super(); } public String getPropertyPrefix() { return super.getPropertyPrefix(); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicFormattedTextFieldUI/getPropertyPrefix.java0000644000175000001440000000264211015022010031752 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicFormattedTextFieldUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicFormattedTextFieldUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Some checks for the getPropertyPrefix() method. */ public class getPropertyPrefix implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyBasicFormattedTextFieldUI ui = new MyBasicFormattedTextFieldUI(); harness.check(ui.getPropertyPrefix(), "FormattedTextField"); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicIconFactory/0000755000175000001440000000000012375316426023660 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicIconFactory/getCheckBoxMenuItemIcon.java0000644000175000001440000000276510303572561031171 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.basic.BasicIconFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Icon; import javax.swing.plaf.basic.BasicIconFactory; /** * Some checks for the getCheckBoxMenuItemIcon() method in the * {@link BasicIconFactory} class. */ public class getCheckBoxMenuItemIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Icon icon = BasicIconFactory.getCheckBoxMenuItemIcon(); harness.check(icon.getIconWidth(), 9); harness.check(icon.getIconHeight(), 9); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicIconFactory/getCheckBoxIcon.java0000644000175000001440000000273710316724601027522 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.basic.BasicIconFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Icon; import javax.swing.plaf.basic.BasicIconFactory; /** * Some checks for the getCheckBoxIcon() method in the * {@link BasicIconFactory} class. */ public class getCheckBoxIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Icon icon = BasicIconFactory.getCheckBoxIcon(); harness.check(icon.getIconWidth(), 13); harness.check(icon.getIconHeight(), 13); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicIconFactory/getMenuArrowIcon.java0000644000175000001440000000274010316724601027745 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.basic.BasicIconFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Icon; import javax.swing.plaf.basic.BasicIconFactory; /** * Some checks for the getMenuArrowIcon() method in the * {@link BasicIconFactory} class. */ public class getMenuArrowIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Icon icon = BasicIconFactory.getMenuArrowIcon(); harness.check(icon.getIconWidth(), 4); harness.check(icon.getIconHeight(), 8); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicTextAreaUI/0000755000175000001440000000000012375316426023413 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicTextAreaUI/MyBasicTextAreaUI.java0000644000175000001440000000223510310221434027460 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicTextAreaUI; import javax.swing.plaf.basic.BasicTextAreaUI; /** * Provides access to protected methods. */ public class MyBasicTextAreaUI extends BasicTextAreaUI { public MyBasicTextAreaUI() { super(); } public String getPropertyPrefix() { return super.getPropertyPrefix(); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicTextAreaUI/getPropertyPrefix.java0000644000175000001440000000256011015022011027731 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicTextAreaUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicTextAreaUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Some checks for the getPropertyPrefix() method. */ public class getPropertyPrefix implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyBasicTextAreaUI ui = new MyBasicTextAreaUI(); harness.check(ui.getPropertyPrefix(), "TextArea"); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicRadioButtonUI/0000755000175000001440000000000012375316426024130 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicRadioButtonUI/MyBasicRadioButtonUI.java0000644000175000001440000000217510305150117030720 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.basic.BasicRadioButtonUI; import javax.swing.plaf.basic.BasicRadioButtonUI; public class MyBasicRadioButtonUI extends BasicRadioButtonUI { public MyBasicRadioButtonUI() { super(); } public String getPropertyPrefix() { return super.getPropertyPrefix(); } } mauve-20140821/gnu/testlet/javax/swing/plaf/basic/BasicRadioButtonUI/getPropertyPrefix.java0000644000175000001440000000257111015022010030447 0ustar dokousers// Tags: JDK1.2 // Uses: MyBasicRadioButtonUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.basic.BasicRadioButtonUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Some checks for the getPropertyPrefix() method. */ public class getPropertyPrefix implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyBasicRadioButtonUI ui = new MyBasicRadioButtonUI(); harness.check(ui.getPropertyPrefix(), "RadioButton."); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/0000755000175000001440000000000012375316426020517 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/metal/OceanTheme/0000755000175000001440000000000012375316426022527 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/metal/OceanTheme/addCustomEntriesToTable.java0000644000175000001440000002262510501512643030115 0ustar dokousers/* addCustomEntriesToTable.java -- some checks for the addCustomEntriesToTable() method in the OceanTheme class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.plaf.metal.OceanTheme; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.Insets; import java.util.Arrays; import javax.swing.UIDefaults; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.BorderUIResource.LineBorderUIResource; import javax.swing.plaf.metal.OceanTheme; public class addCustomEntriesToTable implements Testlet { public void test(TestHarness harness) { UIDefaults defaults = new UIDefaults(); OceanTheme theme = new OceanTheme(); theme.addCustomEntriesToTable(defaults); harness.check(defaults.get("Button.disabledToolBarBorderBackground"), new ColorUIResource(204, 204, 204)); harness.check(defaults.get("Button.gradient"), Arrays.asList(new Object[] {new Float(0.3), new Float(0.0), new ColorUIResource(221, 232, 243), new ColorUIResource(Color.WHITE), new ColorUIResource(184, 207, 229)})); harness.check(defaults.get("Button.rollover"), Boolean.TRUE); harness.check(defaults.get("Button.rolloverIconType"), "ocean"); harness.check(defaults.get("Button.toolBarBorderBackground"), new ColorUIResource(153, 153, 153)); harness.check(defaults.get("CheckBox.gradient"), Arrays.asList(new Object[] {new Float(0.3), new Float(0.0), new ColorUIResource(221, 232, 243), new ColorUIResource(Color.WHITE), new ColorUIResource(184, 207, 229)})); harness.check(defaults.get("CheckBox.rollover"), Boolean.TRUE); // -> true harness.check(defaults.get("CheckBoxMenuItem.gradient"), Arrays.asList( new Object[] {new Float(0.3), new Float(0.0), new ColorUIResource(221, 232, 243), new ColorUIResource(Color.WHITE), new ColorUIResource(184, 207, 229)})); //harness.check(defaults.get("FileChooser.homeFolderIcon"), null); // -> javax.swing.plaf.IconUIResource@5210f6d3 //harness.check(defaults.get("FileChooser.newFolderIcon"), null); // -> javax.swing.plaf.IconUIResource@99b5393 //harness.check(defaults.get("FileChooser.upFolderIcon"), null); // -> javax.swing.plaf.IconUIResource@732b3d53 //harness.check(defaults.get("FileView.computerIcon"), null); // -> javax.swing.plaf.IconUIResource@73d6776d //harness.check(defaults.get("FileView.directoryIcon"), null); // -> javax.swing.plaf.IconUIResource@65faba46 //harness.check(defaults.get("FileView.fileIcon"), null); // -> javax.swing.plaf.IconUIResource@77d80e6d //harness.check(defaults.get("FileView.floppyDriveIcon"), null); // -> javax.swing.plaf.IconUIResource@7e5a9de6 //harness.check(defaults.get("FileView.hardDriveIcon"), null); // -> javax.swing.plaf.IconUIResource@6686fe26 harness.check(defaults.get("InternalFrame.activeTitleGradient"), Arrays.asList(new Object[] {new Float(0.3), new Float(0.0), new ColorUIResource(221, 232, 243), new ColorUIResource(Color.WHITE), new ColorUIResource(184, 207, 229)})); //harness.check(defaults.get("InternalFrame.closeIcon"), null); // -> javax.swing.plaf.metal.OceanTheme$IFIcon@2fdb7df8 //harness.check(defaults.get("InternalFrame.icon"), null); // -> javax.swing.plaf.IconUIResource@69f78ef1 //harness.check(defaults.get("InternalFrame.iconifyIcon"), null); // -> javax.swing.plaf.metal.OceanTheme$IFIcon@7bc9a690 //harness.check(defaults.get("InternalFrame.maximizeIcon"), null); // -> javax.swing.plaf.metal.OceanTheme$IFIcon@5f7a8a02 //harness.check(defaults.get("InternalFrame.minimizeIcon"), null); // -> javax.swing.plaf.metal.OceanTheme$IFIcon@74b2002f //harness.check(defaults.get("InternalFrame.paletteCloseIcon"), null); // -> javax.swing.plaf.metal.OceanTheme$IFIcon@432a0f6c harness.check(defaults.get("Label.disabledForeground"), new ColorUIResource(153, 153, 153)); LineBorderUIResource border = (LineBorderUIResource) defaults.get( "List.focusCellHighlightBorder"); harness.check(border.getThickness(), 1); harness.check(border.getLineColor(), new ColorUIResource(99, 130, 191)); harness.check(defaults.get("MenuBar.borderColor"), new ColorUIResource(204, 204, 204)); harness.check(defaults.get("MenuBar.gradient"), Arrays.asList(new Object[] {new Float(1.0), new Float(0.0), new ColorUIResource(Color.WHITE), new ColorUIResource(218, 218, 218), new ColorUIResource(218, 218, 218)})); harness.check(defaults.get("MenuBarUI"), "javax.swing.plaf.metal.MetalMenuBarUI"); harness.check(defaults.get("Menu.opaque"), Boolean.FALSE); //harness.check(defaults.get("OptionPane.errorIcon"), null); // -> javax.swing.plaf.IconUIResource@151a64ed //harness.check(defaults.get("OptionPane.informationIcon"), null); // -> javax.swing.plaf.IconUIResource@53ad085 //harness.check(defaults.get("OptionPane.questionIcon"), null); // -> javax.swing.plaf.IconUIResource@4ba33d48 //harness.check(defaults.get("OptionPane.warningIcon"), null); // -> javax.swing.plaf.IconUIResource@392d263f harness.check(defaults.get("RadioButton.gradient"), Arrays.asList( new Object[] {new Float(0.3), new Float(0.0), new ColorUIResource(221, 232, 243), new ColorUIResource(Color.WHITE), new ColorUIResource(184, 207, 229)})); harness.check(defaults.get("RadioButton.rollover"), Boolean.TRUE); harness.check(defaults.get("RadioButtonMenuItem.gradient"), Arrays.asList( new Object[] {new Float(0.3), new Float(0.0), new ColorUIResource(221, 232, 243), new ColorUIResource(Color.WHITE), new ColorUIResource(184, 207, 229)})); harness.check(defaults.get("ScrollBar.gradient"), Arrays.asList( new Object[] {new Float(0.3), new Float(0.0), new ColorUIResource(221, 232, 243), new ColorUIResource(Color.WHITE), new ColorUIResource(184, 207, 229)})); harness.check(defaults.get("Slider.altTrackColor"), new ColorUIResource(210, 226, 239)); harness.check(defaults.get("Slider.focusGradient"), Arrays.asList( new Object[] {new Float(0.3), new Float(0.2), new ColorUIResource(200, 221, 242), new ColorUIResource(Color.WHITE), new ColorUIResource(184, 207, 229)})); harness.check(defaults.get("Slider.gradient"), Arrays.asList(new Object[] {new Float(0.3), new Float(0.2), new ColorUIResource(200, 221, 242), new ColorUIResource(Color.WHITE), new ColorUIResource(184, 207, 229)})); harness.check(defaults.get("SplitPane.dividerFocusColor"), new ColorUIResource(200, 221, 242)); harness.check(defaults.get("SplitPane.oneTouchButtonsOpaque"), Boolean.FALSE); harness.check(defaults.get("TabbedPane.borderHightlightColor"), new ColorUIResource(99, 130, 191)); harness.check(defaults.get("TabbedPane.contentAreaColor"), new ColorUIResource(200, 221, 242)); harness.check(defaults.get("TabbedPane.contentBorderInsets"), new Insets(4, 2, 3, 3)); harness.check(defaults.get("TabbedPane.tabAreaBackground"), new ColorUIResource(218, 218, 218)); harness.check(defaults.get("TabbedPane.tabAreaInsets"), new Insets(2, 2, 0, 6)); harness.check(defaults.get("TabbedPane.selected"), new ColorUIResource(200, 221, 242)); harness.check(defaults.get("TabbedPane.unselectedBackground"), new ColorUIResource(238, 238, 238)); harness.check(defaults.get("Table.focusCellHighlightBorder") instanceof LineBorderUIResource); harness.check(defaults.get("Table.gridColor"), new ColorUIResource(122, 138, 153)); harness.check(defaults.get("ToggleButton.gradient"), Arrays.asList(new Object[] {new Float(0.3), new Float(0.0), new ColorUIResource(221, 232, 243), new ColorUIResource(Color.WHITE), new ColorUIResource(184, 207, 229)})); harness.check(defaults.get("ToolBar.borderColor"), new ColorUIResource(204, 204, 204)); harness.check(defaults.get("ToolBar.isRollover"), Boolean.TRUE); //harness.check(defaults.get("Tree.expandedIcon"), null); // -> javax.swing.plaf.IconUIResource@2911a3a4 //harness.check(defaults.get("Tree.leafIcon"), null); // -> javax.swing.plaf.IconUIResource@5ca352a5 //harness.check(defaults.get("Tree.closedIcon"), null); // -> javax.swing.plaf.IconUIResource@584fce71 //harness.check(defaults.get("Tree.collapsedIcon"), null); // -> javax.swing.plaf.metal.OceanTheme$COIcon@56406199 //harness.check(defaults.get("Tree.openIcon"), null); // -> javax.swing.plaf.IconUIResource@57bcc0bc harness.check(defaults.get("Tree.selectionBorderColor"), new ColorUIResource(99, 130, 191)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/OceanTheme/OceanThemeTest.java0000644000175000001440000000537210311275273026241 0ustar dokousers// Tags: JDK1.5 // Copyright (C) Roman Kennke (kennke@aicas.com) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.OceanTheme; import java.awt.Color; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.OceanTheme; /** * Checks if the values of the OceanTheme are correct. * @author Roman Kennke (kennke@aicas.com) */ public class OceanThemeTest implements Testlet { /** * Extends OceanTheme to make protected methods public. */ class TestOceanTheme extends OceanTheme { public ColorUIResource getPrimary1() { return super.getPrimary1(); } public ColorUIResource getPrimary2() { return super.getPrimary2(); } public ColorUIResource getPrimary3() { return super.getPrimary3(); } public ColorUIResource getSecondary1() { return super.getSecondary1(); } public ColorUIResource getSecondary2() { return super.getSecondary2(); } public ColorUIResource getSecondary3() { return super.getSecondary3(); } public ColorUIResource getBlack() { return super.getBlack(); } } public void test(TestHarness harness) { TestOceanTheme theme = new TestOceanTheme(); harness.check(theme.getBlack(), new Color(51, 51, 51)); harness.check(theme.getControlTextColor(), new Color(51, 51, 51)); harness.check(theme.getDesktopColor(), Color.WHITE); harness.check(theme.getInactiveControlTextColor(), new Color(153, 153, 153)); harness.check(theme.getMenuDisabledForeground(), new Color(153, 153, 153)); harness.check(theme.getName(), "Ocean"); harness.check(theme.getPrimary1(), new Color(99, 130, 191)); harness.check(theme.getPrimary2(), new Color(163, 184, 204)); harness.check(theme.getPrimary3(), new Color(184, 207, 229)); harness.check(theme.getSecondary1(), new Color(122, 138, 153)); harness.check(theme.getSecondary2(), new Color(184, 207, 229)); harness.check(theme.getSecondary3(), new Color(238, 238, 238)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalButtonUI/0000755000175000001440000000000012375316426023213 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalButtonUI/getSelectColor.java0000644000175000001440000000311311015022011026740 0ustar dokousers// Tags: JDK1.2 // Uses: MyMetalButtonUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalButtonUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JButton; import javax.swing.plaf.basic.BasicButtonListener; import javax.swing.plaf.metal.MetalButtonUI; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getSelectColor() method in the {@link MetalButtonUI} * class. */ public class getSelectColor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyMetalButtonUI ui = new MyMetalButtonUI(); harness.check(ui.getSelectColor(), MetalLookAndFeel.getControlShadow()); } }mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalButtonUI/getDisabledTextColor.java0000644000175000001440000000305411015022011030101 0ustar dokousers// Tags: JDK1.2 // Uses: MyMetalButtonUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalButtonUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.plaf.metal.MetalButtonUI; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getDisabledTextColor() method in the * {@link MetalButtonUI} class. */ public class getDisabledTextColor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyMetalButtonUI ui = new MyMetalButtonUI(); harness.check(ui.getDisabledTextColor(), MetalLookAndFeel.getInactiveControlTextColor()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalButtonUI/MyMetalButtonUI.java0000644000175000001440000000302410317325210027040 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalButtonUI; import java.awt.Color; import javax.swing.AbstractButton; import javax.swing.plaf.basic.BasicButtonListener; import javax.swing.plaf.metal.MetalButtonUI; /** * Provides access to protected methods. */ public class MyMetalButtonUI extends MetalButtonUI { public MyMetalButtonUI() { super(); } public Color getDisabledTextColor() { return super.getDisabledTextColor(); } public Color getFocusColor() { return super.getFocusColor(); } public Color getSelectColor() { return super.getSelectColor(); } public BasicButtonListener createButtonListener(AbstractButton b) { return super.createButtonListener(b); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalButtonUI/getFocusColor.java0000644000175000001440000000277311015022011026613 0ustar dokousers// Tags: JDK1.2 // Uses: MyMetalButtonUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalButtonUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.plaf.metal.MetalButtonUI; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getFocusColor() method in the {@link MetalButtonUI} * class. */ public class getFocusColor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyMetalButtonUI ui = new MyMetalButtonUI(); harness.check(ui.getFocusColor(), MetalLookAndFeel.getFocusColor()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalToolTipUI/0000755000175000001440000000000012375316426023332 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalToolTipUI/MyMetalToolTipUI.java0000644000175000001440000000225510323411366027310 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalToolTipUI; import javax.swing.plaf.metal.MetalToolTipUI; /** * A utility class that provides access to the protected methods * of the {@link MetalToolTipUI} class. */ public class MyMetalToolTipUI extends MetalToolTipUI { public boolean isAcceleratorHidden() { return super.isAcceleratorHidden(); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalToolTipUI/constructor.java0000644000175000001440000000264510323411366026557 0ustar dokousers// Tags: JDK1.2 // Uses: MyMetalToolTipUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalToolTipUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.plaf.metal.MetalToolTipUI; /** * Some checks for the constructor in the {@link MetalToolTipUI} class. */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyMetalToolTipUI ui = new MyMetalToolTipUI(); harness.check(ui.isAcceleratorHidden(), false); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalToolTipUI/createUI.java0000644000175000001440000000305310323411366025665 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalToolTipUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JToolTip; import javax.swing.plaf.metal.MetalToolTipUI; /** * Some checks for the createUI() method in the MetalToolTipUI class. */ public class createUI implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JToolTip t1 = new JToolTip(); MetalToolTipUI ui1 = (MetalToolTipUI) MetalToolTipUI.createUI(t1); JToolTip t2 = new JToolTip(); MetalToolTipUI ui2 = (MetalToolTipUI) MetalToolTipUI.createUI(t2); harness.check(ui1 == ui2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalToolTipUI/getAcceleratorString.java0000644000175000001440000000370710323411366030305 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalToolTipUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.KeyEvent; import javax.swing.JButton; import javax.swing.JToolTip; import javax.swing.plaf.metal.MetalToolTipUI; /** * Some checks for the getAcceleratorString() method in the * MetalToolTipUI class. */ public class getAcceleratorString implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JButton button1 = new JButton("Test 1"); button1.setMnemonic(KeyEvent.VK_B); JToolTip t1 = button1.createToolTip(); MetalToolTipUI ui1 = (MetalToolTipUI) t1.getUI(); harness.check(ui1.getAcceleratorString(), "Alt-B"); JButton button2 = new JButton("Test 2"); button2.setMnemonic(KeyEvent.VK_C); JToolTip t2 = button2.createToolTip(); MetalToolTipUI ui2 = (MetalToolTipUI) t2.getUI(); harness.check(ui2.getAcceleratorString(), "Alt-C"); harness.check(ui1.getAcceleratorString(), "Alt-C"); harness.check(ui1 == ui2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalTheme/0000755000175000001440000000000012375316426022544 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalTheme/MetalThemeTest.java0000644000175000001440000000755110163301642026267 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Free Software Foundation, Inc. // Written by Michael Koch (konqueror@gmx.de) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalTheme; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.plaf.*; import javax.swing.plaf.metal.*; public class MetalThemeTest extends MetalTheme implements Testlet { ColorUIResource primary1 = new ColorUIResource(1, 0, 0); ColorUIResource primary2 = new ColorUIResource(2, 0, 0); ColorUIResource primary3 = new ColorUIResource(3, 0, 0); ColorUIResource secondary1 = new ColorUIResource(4, 0, 0); ColorUIResource secondary2 = new ColorUIResource(5, 0, 0); ColorUIResource secondary3 = new ColorUIResource(6, 0, 0); private void check(TestHarness h, ColorUIResource color, int index) { h.check(color.getRed(), index, "wrong color returned"); } public void test(TestHarness h) { check(h, getAcceleratorForeground(), 1); check(h, getAcceleratorSelectedForeground(), 0); check(h, getBlack(), 0); check(h, getControl(), 6); check(h, getControlDarkShadow(), 4); check(h, getControlDisabled(), 5); check(h, getControlHighlight(), 255); check(h, getControlInfo(), 0); check(h, getControlShadow(), 5); check(h, getControlTextColor(), 0); check(h, getDesktopColor(), 2); check(h, getFocusColor(), 2); check(h, getHighlightedTextColor(), 0); check(h, getInactiveControlTextColor(), 5); check(h, getInactiveSystemTextColor(), 5); check(h, getMenuBackground(), 6); check(h, getMenuDisabledForeground() , 5); check(h, getMenuForeground(), 0); check(h, getMenuSelectedBackground(), 2); check(h, getMenuSelectedForeground(), 0); check(h, getPrimaryControl(), 3); check(h, getPrimaryControlDarkShadow(), 1); check(h, getPrimaryControlHighlight(), 255); check(h, getPrimaryControlInfo(), 0); check(h, getPrimaryControlShadow(), 2); check(h, getSeparatorBackground(), 255); check(h, getSeparatorForeground(), 1); check(h, getSystemTextColor(), 0); check(h, getTextHighlightColor(), 3); check(h, getUserTextColor(), 0); check(h, getWhite(), 255); check(h, getWindowBackground(), 255); check(h, getWindowTitleBackground(), 3); check(h, getWindowTitleForeground(), 0); check(h, getWindowTitleInactiveBackground(), 6); check(h, getWindowTitleInactiveForeground(), 0); } public ColorUIResource getPrimary1() { return primary1; } public ColorUIResource getPrimary2() { return primary2; } public ColorUIResource getPrimary3() { return primary3; } public ColorUIResource getSecondary1() { return secondary1; } public ColorUIResource getSecondary2() { return secondary2; } public ColorUIResource getSecondary3() { return secondary3; } public String getName() { return "mauve testcase"; } public FontUIResource getControlTextFont() { return null; } public FontUIResource getMenuTextFont() { return null; } public FontUIResource getSubTextFont() { return null; } public FontUIResource getSystemTextFont() { return null; } public FontUIResource getUserTextFont() { return null; } public FontUIResource getWindowTitleFont() { return null; } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalRadioButtonUI/0000755000175000001440000000000012375316426024172 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalRadioButtonUI/getSelectColor.java0000644000175000001440000000420711015022011027724 0ustar dokousers// Tags: JDK1.2 // Uses: MyMetalRadioButtonUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with GNU Classpath; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalRadioButtonUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JRadioButton; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getSelectColor() method. */ public class getSelectColor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // test with a known theme try { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } // a new instance has no select color yet MyMetalRadioButtonUI ui = new MyMetalRadioButtonUI(); harness.check(ui.getSelectColor(), null); // check the setting after a call to installDefaults JRadioButton b = new JRadioButton("Test"); ui.installDefaults(b); harness.check(ui.getSelectColor(), new ColorUIResource(153, 153, 153)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalRadioButtonUI/MyMetalRadioButtonUI.java0000644000175000001440000000244310307377536031023 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with GNU Classpath; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalRadioButtonUI; import java.awt.Color; import javax.swing.plaf.metal.MetalRadioButtonUI; public class MyMetalRadioButtonUI extends MetalRadioButtonUI { public MyMetalRadioButtonUI() { super(); } public Color getDisabledTextColor() { return this.disabledTextColor; } public Color getFocusColor() { return this.focusColor; } public Color getSelectColor() { return this.selectColor; } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalRadioButtonUI/getDisabledTextColor.java0000644000175000001440000000423511015022011031062 0ustar dokousers// Tags: JDK1.2 // Uses: MyMetalRadioButtonUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with GNU Classpath; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalRadioButtonUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JRadioButton; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getDisabledTextColor() method. */ public class getDisabledTextColor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // test with a known theme try { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } // a new instance has no select color yet MyMetalRadioButtonUI ui = new MyMetalRadioButtonUI(); harness.check(ui.getDisabledTextColor(), null); // check the setting after a call to installDefaults JRadioButton b = new JRadioButton("Test"); ui.installDefaults(b); harness.check(ui.getDisabledTextColor(), new ColorUIResource(153, 153, 153)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalRadioButtonUI/getFocusColor.java0000644000175000001440000000420711015022011027564 0ustar dokousers// Tags: JDK1.2 // Uses: MyMetalRadioButtonUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with GNU Classpath; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalRadioButtonUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JRadioButton; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getFocusColor() method. */ public class getFocusColor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // test with a known theme try { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } // a new instance has no select color yet MyMetalRadioButtonUI ui = new MyMetalRadioButtonUI(); harness.check(ui.getFocusColor(), null); // check the setting after a call to installDefaults JRadioButton b = new JRadioButton("Test"); ui.installDefaults(b); harness.check(ui.getFocusColor(), new ColorUIResource(153, 153, 204)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalComboBoxEditor/0000755000175000001440000000000012375316426024361 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalComboBoxEditor/editorBorderInsets.java0000644000175000001440000000353710370112275031033 0ustar dokousers// Tags: JDK1.5 // Uses: MyMetalComboBoxEditor // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalComboBoxEditor; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Insets; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Checks the value of the editorBorderInsets field. */ public class editorBorderInsets implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // test with DefaultMetalTheme try { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } harness.check(MyMetalComboBoxEditor.getEditorBorderInsetsField(), new Insets(2, 2, 2, 0)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalComboBoxEditor/constructor.java0000644000175000001440000000426610370112274027605 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2005, 2006 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalComboBoxEditor; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Insets; import javax.swing.JTextField; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalComboBoxEditor; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some tests for the constructor() in the {@link MetalComboBoxEditor} * class. */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // test with DefaultMetalTheme try { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } MetalComboBoxEditor editor = new MetalComboBoxEditor(); JTextField tf = (JTextField) editor.getEditorComponent(); harness.check(tf.getColumns(), 9); harness.check(tf.getInsets(), new Insets(2, 2, 2, 0)); harness.check(tf.getMargin(), new Insets(0, 0, 0, 0)); harness.check(!(tf.getInsets() instanceof UIResource)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalComboBoxEditor/MyMetalComboBoxEditor.java0000644000175000001440000000223510333742007031364 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalComboBoxEditor; import java.awt.Insets; import javax.swing.plaf.metal.MetalComboBoxEditor; /** * Provides access to a protected field. */ public class MyMetalComboBoxEditor extends MetalComboBoxEditor { public static Insets getEditorBorderInsetsField() { return editorBorderInsets; } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/0000755000175000001440000000000012375316426023625 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getTextHighlightColor.java0000644000175000001440000000376210356565322030751 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getTextHighlightColor() method in the * MetalLookAndFeel class. */ public class getTextHighlightColor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getTextHighlightColor(); harness.check(c, new ColorUIResource(new Color(204, 204, 255))); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getTextHighlightColor() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getTextHighlightColor(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getBlack.java0000644000175000001440000000366010356565322026207 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getBlack() method in the MetalLookAndFeel class. */ public class getBlack implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource black = MetalLookAndFeel.getBlack(); harness.check(black, new ColorUIResource(Color.black)); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getBlack() { return new ColorUIResource(Color.red); } }); black = MetalLookAndFeel.getBlack(); harness.check(black, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getWhite.java0000644000175000001440000000365510356565322026257 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getWhite() method in the MetalLookAndFeel class. */ public class getWhite implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource white = MetalLookAndFeel.getWhite(); harness.check(white, new ColorUIResource(Color.white)); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getWhite() { return new ColorUIResource(Color.red); } }); white = MetalLookAndFeel.getWhite(); harness.check(white, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getWindowTitleInactiveBackground.javamauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getWindowTitleInactiveBackground.0000644000175000001440000000405110356565322032260 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getWindowTitleInactiveBackground() method in the * MetalLookAndFeel class. */ public class getWindowTitleInactiveBackground implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getWindowTitleInactiveBackground(); harness.check(c, new ColorUIResource(new Color(204, 204, 204))); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getWindowTitleInactiveBackground() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getWindowTitleInactiveBackground(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getID.java0000644000175000001440000000245710261207164025462 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getID() method in the MetalLookAndFeel class. */ public class getID implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.check(new MetalLookAndFeel().getID(), "Metal"); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getSeparatorForeground.java0000644000175000001440000000376710356565322031176 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getSeparatorForeground() method in the * MetalLookAndFeel class. */ public class getSeparatorForeground implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getSeparatorForeground(); harness.check(c, new ColorUIResource(new Color(102, 102, 153))); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getSeparatorForeground() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getSeparatorForeground(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/isNativeLookAndFeel.java0000644000175000001440000000253110261207164030305 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the isNativeLookAndFeel() method in the * MetalLookAndFeel class. */ public class isNativeLookAndFeel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.check(!(new MetalLookAndFeel().isNativeLookAndFeel())); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getDescription.java0000644000175000001440000000256010261207164027444 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getDescription() method in the MetalLookAndFeel * class. */ public class getDescription implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.check(new MetalLookAndFeel().getDescription(), "The Java(tm) Look and Feel"); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getMenuTextFont.java0000644000175000001440000000375310356565322027576 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Font; import javax.swing.plaf.FontUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getMenuTextFont() method in the * MetalLookAndFeel class. */ public class getMenuTextFont implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); FontUIResource f = MetalLookAndFeel.getMenuTextFont(); harness.check(f, new FontUIResource("Dialog", Font.BOLD, 12)); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public FontUIResource getMenuTextFont() { return new FontUIResource("Dialog", Font.PLAIN, 99); } }); f = MetalLookAndFeel.getMenuTextFont(); harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 99)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getAcceleratorForeground.java0000644000175000001440000000404310370162230031431 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getAcceleratorForeground() method in the * MetalLookAndFeel class. */ public class getAcceleratorForeground implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultMetalTheme theme = new DefaultMetalTheme(); MetalLookAndFeel.setCurrentTheme(theme); ColorUIResource c = MetalLookAndFeel.getAcceleratorForeground(); harness.check(c, theme.getAcceleratorForeground()); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getAcceleratorForeground() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getAcceleratorForeground(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getMenuSelectedBackground.java0000644000175000001440000000400510356565322031542 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getMenuSelectedBackground() method in the * MetalLookAndFeel class. */ public class getMenuSelectedBackground implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getMenuSelectedBackground(); harness.check(c, new ColorUIResource(new Color(153, 153, 204))); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getMenuSelectedBackground() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getMenuSelectedBackground(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getSystemTextFont.java0000644000175000001440000000376110356565322030155 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Font; import javax.swing.plaf.FontUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getSystemTextFont() method in the MetalLookAndFeel * class. */ public class getSystemTextFont implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); FontUIResource f = MetalLookAndFeel.getSystemTextFont(); harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 12)); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public FontUIResource getSystemTextFont() { return new FontUIResource("Dialog", Font.PLAIN, 99); } }); f = MetalLookAndFeel.getSystemTextFont(); harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 99)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getWindowTitleBackground.java0000644000175000001440000000400110356565322031432 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getWindowTitleBackground() method in the * MetalLookAndFeel class. */ public class getWindowTitleBackground implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getWindowTitleBackground(); harness.check(c, new ColorUIResource(new Color(204, 204, 255))); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getWindowTitleBackground() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getWindowTitleBackground(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/isSupportedLookAndFeel.java0000644000175000001440000000254310261207164031047 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the isSupportedLookAndFeel() method in the * MetalLookAndFeel class. */ public class isSupportedLookAndFeel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.check((new MetalLookAndFeel().isSupportedLookAndFeel())); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getWindowBackground.java0000644000175000001440000000373410356565322030444 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getWindowBackground() method in the * MetalLookAndFeel class. */ public class getWindowBackground implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getWindowBackground(); harness.check(c, new ColorUIResource(Color.white)); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getWindowBackground() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getWindowBackground(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getControlDisabled.java0000644000175000001440000000373310356565322030244 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getControlDisabled() method in the MetalLookAndFeel class. */ public class getControlDisabled implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getControlDisabled(); harness.check(c, new ColorUIResource(new Color(153, 153, 153))); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getControlDisabled() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getControlDisabled(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getUserTextFont.java0000644000175000001440000000373010356565322027603 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Font; import javax.swing.plaf.FontUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getUserTextFont() method in the MetalLookAndFeel * class. */ public class getUserTextFont implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); FontUIResource f = MetalLookAndFeel.getUserTextFont(); harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 12)); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public FontUIResource getUserTextFont() { return new FontUIResource("Dialog", Font.PLAIN, 99); } }); f = MetalLookAndFeel.getUserTextFont(); harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 99)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getSubTextFont.java0000644000175000001440000000374210356565322027421 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Font; import javax.swing.plaf.FontUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getSubTextFont() method in the MetalLookAndFeel * class. */ public class getSubTextFont implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); FontUIResource f = MetalLookAndFeel.getSubTextFont(); harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 10)); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public FontUIResource getSubTextFont() { return new FontUIResource("Dialog", Font.PLAIN, 99); } }); f = MetalLookAndFeel.getSubTextFont(); harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 99)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getControlHighlight.java0000644000175000001440000000372710356565322030447 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getControlHighlight() method in the MetalLookAndFeel * class. */ public class getControlHighlight implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getControlHighlight(); harness.check(c, new ColorUIResource(Color.white)); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getControlHighlight() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getControlHighlight(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getMenuSelectedForeground.java0000644000175000001440000000377110356565322031606 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getMenuSelectedForeground() method in the * MetalLookAndFeel class. */ public class getMenuSelectedForeground implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getMenuSelectedForeground(); harness.check(c, new ColorUIResource(Color.black)); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getMenuSelectedForeground() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getMenuSelectedForeground(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getControlTextFont.java0000644000175000001440000000376510356565322030315 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Font; import javax.swing.plaf.FontUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getControlTextFont() method in the MetalLookAndFeel * class. */ public class getControlTextFont implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); FontUIResource f = MetalLookAndFeel.getControlTextFont(); harness.check(f, new FontUIResource("Dialog", Font.BOLD, 12)); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public FontUIResource getControlTextFont() { return new FontUIResource("Dialog", Font.PLAIN, 99); } }); f = MetalLookAndFeel.getControlTextFont(); harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 99)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getWindowTitleForeground.java0000644000175000001440000000376410356565322031504 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getWindowTitleForeground() method in the * MetalLookAndFeel class. */ public class getWindowTitleForeground implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getWindowTitleForeground(); harness.check(c, new ColorUIResource(Color.black)); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getWindowTitleForeground() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getWindowTitleForeground(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getWindowTitleFont.java0000644000175000001440000000376710356565322030303 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Font; import javax.swing.plaf.FontUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getWindowTitleFont() method in the MetalLookAndFeel * class. */ public class getWindowTitleFont implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); FontUIResource f = MetalLookAndFeel.getWindowTitleFont(); harness.check(f, new FontUIResource("Dialog", Font.BOLD, 12)); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public FontUIResource getWindowTitleFont() { return new FontUIResource("Dialog", Font.PLAIN, 99); } }); f = MetalLookAndFeel.getWindowTitleFont(); harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 99)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getInactiveSystemTextColor.java0000644000175000001440000000400710356565322032002 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getInactiveSystemTextColor() method in the * MetalLookAndFeel class. */ public class getInactiveSystemTextColor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getInactiveSystemTextColor(); harness.check(c, new ColorUIResource(new Color(153, 153, 153))); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getInactiveSystemTextColor() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getInactiveSystemTextColor(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getControlShadow.java0000644000175000001440000000372510356565322027763 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getControlShadow() method in the MetalLookAndFeel * class. */ public class getControlShadow implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getControlShadow(); harness.check(c, new ColorUIResource(new Color(153, 153, 153))); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getControlShadow() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getControlShadow(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getDefaults.java0000644000175000001440000016272310477527244026755 0ustar dokousers// Tags: JDK1.3 // Uses: MyMetalLookAndFeel // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.Insets; import java.util.Arrays; import java.util.List; import javax.swing.Icon; import javax.swing.InputMap; import javax.swing.KeyStroke; import javax.swing.ListCellRenderer; import javax.swing.UIDefaults; import javax.swing.border.Border; import javax.swing.border.LineBorder; import javax.swing.plaf.BorderUIResource; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.DimensionUIResource; import javax.swing.plaf.FontUIResource; import javax.swing.plaf.InputMapUIResource; import javax.swing.plaf.InsetsUIResource; import javax.swing.plaf.UIResource; import javax.swing.plaf.IconUIResource; import javax.swing.plaf.BorderUIResource.LineBorderUIResource; import javax.swing.plaf.basic.BasicBorders; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalBorders; import javax.swing.plaf.metal.MetalIconFactory; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the initComponentDefaults() method in the * {@link MetalLookAndFeel} class. */ public class getDefaults implements Testlet { /** * This extends the default theme, so that each theme color gets a * unique value. This allows to check the color values of the UIDefaults * against the theme colors. */ static class TestTheme extends DefaultMetalTheme { public ColorUIResource getAcceleratorForeground() { return new ColorUIResource(0, 0, 1); } public ColorUIResource getAcceleratorSelectedForeground() { return new ColorUIResource(0, 0, 2); } public ColorUIResource getBlack() { return new ColorUIResource(0, 0, 3); } public ColorUIResource getControl() { return new ColorUIResource(0, 0, 4); } public ColorUIResource getControlDarkShadow() { return new ColorUIResource(0, 0, 5); } public ColorUIResource getControlDisabled() { return new ColorUIResource(0, 0, 6); } public ColorUIResource getControlHighlight() { return new ColorUIResource(0, 0, 7); } public ColorUIResource getControlInfo() { return new ColorUIResource(0, 0, 8); } public ColorUIResource getControlShadow() { return new ColorUIResource(0, 0, 9); } public ColorUIResource getControlTextColor() { return new ColorUIResource(0, 0, 10); } public ColorUIResource getDesktopColor() { return new ColorUIResource(0, 0, 11); } public ColorUIResource getFocusColor() { return new ColorUIResource(0, 0, 12); } public ColorUIResource getHighlightedTextColor() { return new ColorUIResource(0, 0, 13); } public ColorUIResource getInactiveSystemTextColor() { return new ColorUIResource(0, 0, 14); } public ColorUIResource getMenuBackground() { return new ColorUIResource(0, 0, 15); } public ColorUIResource getMenuDisabledForeground() { return new ColorUIResource(0, 0, 16); } public ColorUIResource getMenuForeground() { return new ColorUIResource(0, 0, 17); } public ColorUIResource getMenuSelectedBackground() { return new ColorUIResource(0, 0, 18); } public ColorUIResource getMenuSelectedForeground() { return new ColorUIResource(0, 0, 19); } public ColorUIResource getPrimaryControl() { return new ColorUIResource(0, 0, 20); } public ColorUIResource getPrimaryControlDarkShadow() { return new ColorUIResource(0, 0, 21); } public ColorUIResource getPrimaryControlHighlight() { return new ColorUIResource(0, 0, 22); } public ColorUIResource getPrimaryControlInfo() { return new ColorUIResource(0, 0, 23); } public ColorUIResource getPrimaryControlShadow() { return new ColorUIResource(0, 0, 24); } public ColorUIResource getSeparatorBackground() { return new ColorUIResource(0, 0, 25); } public ColorUIResource getSeparatorForeground() { return new ColorUIResource(0, 0, 26); } public ColorUIResource getSystemTextColor() { return new ColorUIResource(0, 0, 27); } public ColorUIResource getTextHighlightColor() { return new ColorUIResource(0, 0, 28); } public ColorUIResource getUserTextColor() { return new ColorUIResource(0, 0, 29); } public ColorUIResource getWindowBackground() { return new ColorUIResource(0, 0, 30); } public ColorUIResource getWindowTitleBackground() { return new ColorUIResource(0, 0, 31); } public ColorUIResource getWindowTitleForeground() { return new ColorUIResource(0, 0, 32); } public ColorUIResource getWindowTitleInactiveBackground() { return new ColorUIResource(0, 0, 33); } public ColorUIResource getWindowTitleInactiveForeground() { return new ColorUIResource(0, 0, 34); } public ColorUIResource getInactiveControlTextColor() { return new ColorUIResource(0, 0, 35); } public FontUIResource getControlTextFont() { return new FontUIResource("Dialog", Font.PLAIN, 13); } public FontUIResource getMenuTextFont() { return new FontUIResource("Dialog", Font.PLAIN, 15); } } /** * Runs the test using the specified harness. * * @param harness the test harness (null not allowed). */ public void test(TestHarness harness) { MyMetalLookAndFeel.setCurrentTheme(new TestTheme()); MyMetalLookAndFeel laf = new MyMetalLookAndFeel(); // The following does not work, at least not with JDK1.5. Maybe // don't use the 'defaults' parameter anymore... // UIDefaults defaults = new UIDefaults(); // laf.initComponentDefaults(defaults); UIDefaults defaults = laf.getDefaults(); // TODO: in the following code, there are many 'instanceof' checks - these // are typically very weak tests. Maybe they can be strengthened... // The color tests do not test for the real color values. This is // not possible. It merely tests which of the MetalTheme colors // is use here. See the TestTheme class above. harness.checkPoint("AuditoryCues"); harness.check(defaults.get("AuditoryCues.allAuditoryCues") != null); harness.check(defaults.get("AuditoryCues.cueList") != null); harness.check(defaults.get("AuditoryCues.defaultCueList") != null); harness.check(defaults.get("AuditoryCues.noAuditoryCues") != null); harness.checkPoint("Button"); harness.check(defaults.get("Button.background"), new ColorUIResource(0, 0, 4)); harness.check(defaults.get("Button.border") instanceof BorderUIResource.CompoundBorderUIResource); harness.check(defaults.get("Button.darkShadow"), new ColorUIResource(0, 0, 5)); harness.check(defaults.get("Button.disabledText"), new ColorUIResource(0, 0, 35)); harness.check(defaults.get("Button.disabledToolBarBorderBackground"), null); harness.check(defaults.get("Button.focus"), new ColorUIResource(0, 0, 12)); harness.check(defaults.get("Button.focusInputMap") instanceof InputMapUIResource); harness.check(defaults.get("Button.font"), new FontUIResource("Dialog", Font.PLAIN, 13)); harness.check(defaults.get("Button.foreground"), new ColorUIResource(0, 0, 10)); harness.check(defaults.get("Button.highlight"), new ColorUIResource(0, 0, 7)); harness.check(defaults.get("Button.light"), new ColorUIResource(0, 0, 7)); Insets buttonMargin = defaults.getInsets("Button.margin"); harness.check(buttonMargin instanceof UIResource); harness.check(buttonMargin, new InsetsUIResource(2, 14, 2, 14)); harness.check(defaults.get("Button.select"), new ColorUIResource(0, 0, 9)); harness.check(defaults.get("Button.shadow"), new ColorUIResource(0, 0, 9)); harness.check(defaults.get("Button.textIconGap"), new Integer(4)); harness.check(defaults.get("Button.textShiftOffset"), new Integer(0)); harness.check(defaults.get("Button.toolBarBorderBackground"), null); harness.checkPoint("CheckBox"); harness.check(defaults.get("CheckBox.background"), new ColorUIResource(0, 0, 4)); harness.check(defaults.get("CheckBox.border") instanceof BorderUIResource.CompoundBorderUIResource); harness.check(defaults.get("CheckBox.disabledText"), new ColorUIResource(0, 0, 35)); harness.check(defaults.get("CheckBox.focus"), new ColorUIResource(0, 0, 12)); harness.check(defaults.get("CheckBox.focusInputMap") instanceof InputMapUIResource); harness.check(defaults.get("CheckBox.font"), new FontUIResource("Dialog", Font.PLAIN, 13)); harness.check(defaults.get("CheckBox.foreground"), new ColorUIResource(0, 0, 10)); harness.check(defaults.get("CheckBox.icon") instanceof Icon); harness.check(defaults.get("CheckBox.margin"), new InsetsUIResource(2, 2, 2, 2)); harness.check(defaults.get("Checkbox.select"), new ColorUIResource(0, 0, 9)); harness.check(defaults.get("CheckBox.textIconGap"), new Integer(4)); harness.check(defaults.get("CheckBox.textShiftOffset"), new Integer(0)); harness.checkPoint("CheckBoxMenuItem"); harness.check(defaults.get("CheckBoxMenuItem.acceleratorFont"), new Font("Dialog", Font.PLAIN, 10)); harness.check(defaults.get("CheckBoxMenuItem.acceleratorForeground"), new ColorUIResource(0, 0, 1)); harness.check(defaults.get("CheckBoxMenuItem.acceleratorSelectionForeground"), new ColorUIResource(0, 0, 2)); harness.check(defaults.get("CheckBoxMenuItem.arrowIcon") instanceof Icon); harness.check(defaults.get("CheckBoxMenuItem.background"), new ColorUIResource(0, 0, 15)); // harness.check(defaults.get("CheckBoxMenuItem.border") instanceof MetalBorders.MenuItemBorder); harness.check(defaults.get("CheckBoxMenuItem.borderPainted"), Boolean.TRUE); harness.check(defaults.get("CheckBoxMenuItem.checkIcon") instanceof Icon); harness.check(defaults.get("CheckBoxMenuItem.commandSound"), "sounds/MenuItemCommand.wav"); harness.check(defaults.get("CheckBoxMenuItem.disabledForeground"), new ColorUIResource(0, 0, 16)); harness.check(defaults.get("CheckBoxMenuItem.font"), new FontUIResource("Dialog", Font.PLAIN, 15)); harness.check(defaults.get("CheckBoxMenuItem.foreground"), new ColorUIResource(0, 0, 17)); harness.check(defaults.get("CheckBoxMenuItem.margin"), new InsetsUIResource(2, 2, 2, 2)); harness.check(defaults.get("CheckBoxMenuItem.selectionBackground"), new ColorUIResource(0, 0, 18)); harness.check(defaults.get("CheckBoxMenuItem.selectionForeground"), new ColorUIResource(0, 0, 19)); harness.check(defaults.get("CheckBoxMenuItem.select"), null); harness.checkPoint("ColorChooser"); harness.check(defaults.get("ColorChooser.background"), new ColorUIResource(0, 0, 4)); harness.check(defaults.get("ColorChooser.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("ColorChooser.foreground"), new ColorUIResource(0, 0, 10)); harness.check(defaults.getInt("ColorChooser.rgbBlueMnemonic"), 0); harness.check(defaults.getInt("ColorChooser.rgbGreenMnemonic"), 0); harness.check(defaults.getInt("ColorChooser.rgbRedMnemonic"), 0); harness.check(defaults.get("ColorChooser.swatchesDefaultRecentColor"), new ColorUIResource(0, 0, 4)); harness.check(defaults.get("ColorChooser.swatchesRecentSwatchSize"), new Dimension(10, 10)); harness.check(defaults.get("ColorChooser.swatchesSwatchSize"), new Dimension(10, 10)); harness.checkPoint("ComboBox"); harness.check(defaults.get("ComboBox.ancestorInputMap") instanceof InputMapUIResource); harness.check(defaults.get("ComboBox.background"), new ColorUIResource(0, 0, 4)); harness.check(defaults.get("ComboBox.buttonBackground"), new ColorUIResource(0, 0, 4)); harness.check(defaults.get("ComboBox.buttonDarkShadow"), new ColorUIResource(0, 0, 5)); harness.check(defaults.get("ComboBox.buttonHighlight"), new ColorUIResource(0, 0, 7)); harness.check(defaults.get("ComboBox.buttonShadow"), new ColorUIResource(0, 0, 9)); harness.check(defaults.get("ComboBox.disabledBackground"), new ColorUIResource(0, 0, 4)); harness.check(defaults.get("ComboBox.disabledForeground"), new ColorUIResource(0, 0, 14)); harness.check(defaults.get("ComboBox.font"), new FontUIResource("Dialog", Font.PLAIN, 13)); harness.check(defaults.get("ComboBox.foreground"), new ColorUIResource(0, 0, 10)); harness.check(defaults.get("ComboBox.selectionBackground"), new ColorUIResource(0, 0, 24)); harness.check(defaults.get("ComboBox.selectionForeground"), new ColorUIResource(0, 0, 10)); harness.checkPoint("Desktop"); harness.check(defaults.get("Desktop.ancestorInputMap") instanceof InputMapUIResource); harness.check(defaults.get("Desktop.background"), new ColorUIResource(0, 0, 11)); harness.checkPoint("DesktopIcon"); harness.check(defaults.get("DesktopIcon.background"), new ColorUIResource(0, 0, 4)); harness.check(defaults.get("DesktopIcon.border") instanceof BorderUIResource.CompoundBorderUIResource); harness.check(defaults.get("DesktopIcon.font"), new FontUIResource("Dialog", Font.PLAIN, 13)); harness.check(defaults.get("DesktopIcon.foreground"), new ColorUIResource(0, 0, 10)); harness.check(defaults.getInt("DesktopIcon.width"), 160); harness.checkPoint("EditorPane"); harness.check(defaults.get("EditorPane.background"), new ColorUIResource(0, 0, 30)); harness.check(defaults.get("EditorPane.border") instanceof BasicBorders.MarginBorder); harness.check(defaults.getInt("EditorPane.caretBlinkRate"), 500); harness.check(defaults.get("EditorPane.caretForeground"), new ColorUIResource(0, 0, 29)); harness.check(defaults.get("EditorPane.focusInputMap") instanceof InputMapUIResource); harness.check(defaults.get("EditorPane.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("EditorPane.foreground"), new ColorUIResource(0, 0, 29)); harness.check(defaults.get("EditorPane.inactiveForeground"), new ColorUIResource(0, 0, 14)); harness.check(defaults.get("EditorPane.margin"), new InsetsUIResource(3, 3, 3, 3)); harness.check(defaults.get("EditorPane.selectionBackground"), new ColorUIResource(0, 0, 28)); harness.check(defaults.get("EditorPane.selectionForeground"), new ColorUIResource(0, 0, 13)); harness.checkPoint("FileChooser"); harness.check(defaults.get("FileChooser.ancestorInputMap") instanceof InputMapUIResource); harness.check(defaults.getInt("FileChooser.cancelButtonMnemonic"), 0); harness.check(defaults.get("FileChooser.detailsViewIcon") instanceof Icon); harness.check(defaults.getInt("FileChooser.directoryOpenButtonMnemonic"), 0); harness.check(defaults.getInt("FileChooser.fileNameLabelMnemonic"), 78); harness.check(defaults.getInt("FileChooser.filesOfTypeLabelMnemonic"), 84); harness.check(defaults.getInt("FileChooser.helpButtonMnemonic"), 0); harness.check(defaults.get("FileChooser.homeFolderIcon") instanceof Icon); harness.check(defaults.get("FileChooser.listViewIcon") instanceof Icon); harness.check(defaults.getInt("FileChooser.lookInLabelMnemonic"), 73); harness.check(defaults.get("FileChooser.newFolderIcon") instanceof Icon); harness.check(defaults.getInt("FileChooser.openButtonMnemonic"), 0); harness.check(defaults.getInt("FileChooser.saveButtonMnemonic"), 0); harness.check(defaults.getInt("FileChooser.updateButtonMnemonic"), 0); harness.check(defaults.get("FileChooser.upFolderIcon") instanceof Icon); harness.checkPoint("FileView"); harness.check(defaults.get("FileView.computerIcon"), MetalIconFactory.getTreeComputerIcon()); harness.check(defaults.get("FileView.directoryIcon") instanceof MetalIconFactory.TreeFolderIcon); harness.check(defaults.get("FileView.fileIcon") instanceof MetalIconFactory.TreeLeafIcon); harness.check(defaults.get("FileView.floppyDriveIcon"), MetalIconFactory.getTreeFloppyDriveIcon()); harness.check(defaults.get("FileView.hardDriveIcon"), MetalIconFactory.getTreeHardDriveIcon()); harness.checkPoint("FormattedTextField"); harness.check(defaults.get("FormattedTextField.background"), new ColorUIResource(0, 0, 30)); harness.check(defaults.get("FormattedTextField.border") instanceof BorderUIResource.CompoundBorderUIResource); harness.check(defaults.getInt("FormattedTextField.caretBlinkRate"), 500); harness.check(defaults.get("FormattedTextField.caretForeground"), new ColorUIResource(0, 0, 29)); harness.check(defaults.get("FormattedTextField.focusInputMap") instanceof InputMapUIResource); harness.check(defaults.get("FormattedTextField.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("FormattedTextField.foreground"), new ColorUIResource(0, 0, 29)); harness.check(defaults.get("FormattedTextField.inactiveBackground"), new ColorUIResource(0, 0, 4)); harness.check(defaults.get("FormattedTextField.inactiveForeground"), new ColorUIResource(0, 0, 14)); harness.check(defaults.get("FormattedTextField.margin"), new InsetsUIResource(0, 0, 0, 0)); harness.check(defaults.get("FormattedTextField.selectionBackground"), new ColorUIResource(0, 0, 28)); harness.check(defaults.get("FormattedTextField.selectionForeground"), new ColorUIResource(0, 0, 13)); harness.checkPoint("InternalFrame"); // harness.check(defaults.get("InternalFrame.border") instanceof MetalBorders.InternalFrameBorder); harness.check(defaults.get("InternalFrame.activeTitleBackground"), new ColorUIResource(0, 0, 31)); harness.check(defaults.get("InternalFrame.activeTitleForeground"), new ColorUIResource(0, 0, 32)); harness.check(defaults.get("InternalFrame.borderColor"), new ColorUIResource(0, 0, 4)); harness.check(defaults.get("InternalFrame.borderDarkShadow"), new ColorUIResource(0, 0, 5)); harness.check(defaults.get("InternalFrame.borderHighlight"), new ColorUIResource(0, 0, 7)); harness.check(defaults.get("InternalFrame.borderLight"), new ColorUIResource(0, 0, 7)); harness.check(defaults.get("InternalFrame.borderShadow"), new ColorUIResource(0, 0, 9)); harness.check(defaults.get("InternalFrame.closeIcon") instanceof Icon); harness.check(defaults.get("InternalFrame.closeSound"), "sounds/FrameClose.wav"); harness.check(defaults.get("InternalFrame.icon") instanceof Icon); harness.check(defaults.get("InternalFrame.iconifyIcon") instanceof Icon); harness.check(defaults.get("InternalFrame.inactiveTitleBackground"), new ColorUIResource(0, 0, 33)); harness.check(defaults.get("InternalFrame.inactiveTitleForeground"), new ColorUIResource(0, 0, 34)); harness.check(defaults.get("InternalFrame.maximizeIcon") instanceof Icon); harness.check(defaults.get("InternalFrame.maximizeSound"), "sounds/FrameMaximize.wav"); harness.check(defaults.get("InternalFrame.minimizeIcon") instanceof Icon); harness.check(defaults.get("InternalFrame.minimizeSound"), "sounds/FrameMinimize.wav"); // harness.check(defaults.get("InternalFrame.optionDialogBorder") instanceof MetalBorders.OptionDialogBorder); // harness.check(defaults.get("InternalFrame.paletteBorder") instanceof MetalBorders.PaletteBorder); harness.check(defaults.get("InternalFrame.paletteCloseIcon") instanceof Icon); harness.check(defaults.getInt("InternalFrame.paletteTitleHeight"), 11); harness.check(defaults.get("InternalFrame.restoreDownSound"), "sounds/FrameRestoreDown.wav"); harness.check(defaults.get("InternalFrame.restoreUpSound"), "sounds/FrameRestoreUp.wav"); harness.check(defaults.get("InternalFrame.titleFont"), new FontUIResource("Dialog", Font.BOLD, 12)); harness.checkPoint("Label"); harness.check(defaults.get("Label.background"), new ColorUIResource(0, 0, 4)); harness.check(defaults.get("Label.disabledForeground"), new ColorUIResource(0, 0, 14)); harness.check(defaults.get("Label.disabledShadow"), new ColorUIResource(0, 0, 9)); harness.check(defaults.get("Label.font"), new FontUIResource("Dialog", Font.PLAIN, 13)); harness.check(defaults.get("Label.foreground"), new ColorUIResource(0, 0, 27)); harness.checkPoint("List"); harness.check(defaults.get("List.background"), new ColorUIResource(0, 0, 30)); harness.check(defaults.get("List.cellRenderer") instanceof ListCellRenderer); LineBorder lb = (LineBorder) defaults.getBorder("List.focusCellHighlightBorder"); harness.check(lb instanceof BorderUIResource.LineBorderUIResource); harness.check(lb.getThickness(), 1); harness.check(lb.getLineColor(), MetalLookAndFeel.getFocusColor()); harness.check(defaults.get("List.focusInputMap") instanceof InputMapUIResource); harness.check(defaults.get("List.focusInputMap.RightToLeft") instanceof InputMapUIResource); harness.check(defaults.get("List.font"), new FontUIResource("Dialog", Font.PLAIN, 13)); harness.check(defaults.get("List.foreground"), new ColorUIResource(0, 0, 29)); harness.check(defaults.get("List.selectionBackground"), new ColorUIResource(0, 0, 28)); harness.check(defaults.get("List.selectionForeground"), new ColorUIResource(0, 0, 13)); harness.checkPoint("Menu"); harness.check(defaults.get("Menu.acceleratorFont"), new FontUIResource("Dialog", Font.PLAIN, 10)); harness.check(defaults.get("Menu.acceleratorForeground"), new ColorUIResource(0, 0, 1)); harness.check(defaults.get("Menu.acceleratorSelectionForeground"), new ColorUIResource(0, 0, 2)); harness.check(defaults.get("Menu.arrowIcon") instanceof Icon); // harness.check(defaults.get("Menu.border") instanceof MetalBorders.MenuItemBorder); harness.check(defaults.get("Menu.background"), new ColorUIResource(0, 0, 15)); harness.check(defaults.get("Menu.borderPainted"), Boolean.TRUE); harness.check(defaults.get("Menu.checkIcon"), null); harness.check(defaults.get("Menu.crossMenuMnemonic"), Boolean.TRUE); harness.check(defaults.get("Menu.disabledForeground"), new ColorUIResource(0, 0, 16)); harness.check(defaults.get("Menu.font"), new FontUIResource("Dialog", Font.PLAIN, 15)); harness.check(defaults.get("Menu.foreground"), new ColorUIResource(0, 0, 17)); harness.check(defaults.get("Menu.margin"), new InsetsUIResource(2, 2, 2, 2)); harness.check(defaults.getInt("Menu.menuPopupOffsetX"), 0); harness.check(defaults.getInt("Menu.menuPopupOffsetY"), 0); harness.check(defaults.get("Menu.selectionBackground"), new ColorUIResource(0, 0, 18)); harness.check(defaults.get("Menu.selectionForeground"), new ColorUIResource(0, 0, 19)); int[] value = (int[]) defaults.get("Menu.shortcutKeys"); harness.check(value != null ? value.length : 0, 1); harness.check(value != null ? value[0] : 0, 8); harness.check(defaults.getInt("Menu.submenuPopupOffsetX"), -4); harness.check(defaults.getInt("Menu.submenuPopupOffsetY"), -3); harness.checkPoint("MenuBar"); // harness.check(defaults.get("MenuBar.border") instanceof MetalBorders.MenuBarBorder); harness.check(defaults.get("MenuBar.background"), new ColorUIResource(0, 0, 15)); harness.check(defaults.get("MenuBar.borderColor"), null); harness.check(defaults.get("MenuBar.font"), new FontUIResource("Dialog", Font.PLAIN, 15)); harness.check(defaults.get("MenuBar.foreground"), new ColorUIResource(0, 0, 17)); harness.check(defaults.get("MenuBar.highlight"), new ColorUIResource(0, 0, 7)); harness.check(defaults.get("MenuBar.shadow"), new ColorUIResource(0, 0, 9)); Object[] bindings = (Object[]) defaults.get("MenuBar.windowBindings"); harness.check(bindings.length, 2); harness.check(bindings[0], "F10"); harness.check(bindings[1], "takeFocus"); harness.checkPoint("MenuItem"); harness.check(defaults.get("MenuItem.acceleratorDelimiter"), "-"); harness.check(defaults.get("MenuItem.acceleratorFont"), new FontUIResource("Dialog", Font.PLAIN, 10)); harness.check(defaults.get("MenuItem.acceleratorForeground"), new ColorUIResource(0, 0, 1)); harness.check(defaults.get("MenuItem.acceleratorSelectionForeground"), new ColorUIResource(0, 0, 2)); harness.check(defaults.get("MenuItem.arrowIcon") instanceof Icon); // harness.check(defaults.get("MenuItem.border") instanceof MetalBorders.MenuItemBorder); harness.check(defaults.get("MenuItem.background"), new ColorUIResource(0, 0, 15)); harness.check(defaults.get("MenuItem.borderPainted"), Boolean.TRUE); harness.check(defaults.get("MenuItem.checkIcon"), null); harness.check(defaults.get("MenuItem.commandSound"), "sounds/MenuItemCommand.wav"); harness.check(defaults.get("MenuItem.disabledForeground"), new ColorUIResource(0, 0, 16)); harness.check(defaults.get("MenuItem.font"), new FontUIResource("Dialog", Font.PLAIN, 15)); harness.check(defaults.get("MenuItem.foreground"), new ColorUIResource(0, 0, 17)); harness.check(defaults.get("MenuItem.margin"), new InsetsUIResource(2, 2, 2, 2)); harness.check(defaults.get("MenuItem.selectionBackground"), new ColorUIResource(0, 0, 18)); harness.check(defaults.get("MenuItem.selectionForeground"), new ColorUIResource(0, 0, 19)); harness.checkPoint("OptionPane"); harness.check(defaults.get("OptionPane.background"), new ColorUIResource(0, 0, 4)); harness.check(defaults.get("OptionPane.border") instanceof BorderUIResource.EmptyBorderUIResource); harness.check(defaults.get("OptionPane.buttonAreaBorder") instanceof BorderUIResource.EmptyBorderUIResource); harness.check(defaults.getInt("OptionPane.buttonClickThreshhold"), 500); harness.check(defaults.get("OptionPane.errorDialog.border.background"), new ColorUIResource(153, 51, 51)); harness.check(defaults.get("OptionPane.errorDialog.titlePane.background"), new ColorUIResource(255, 153, 153)); harness.check(defaults.get("OptionPane.errorDialog.titlePane.foreground"), new ColorUIResource(51, 0, 0)); harness.check(defaults.get("OptionPane.errorDialog.titlePane.shadow"), new ColorUIResource(204, 102, 102)); harness.check(defaults.get("OptionPane.errorIcon") instanceof IconUIResource); harness.check(defaults.get("OptionPane.errorSound"), "sounds/OptionPaneError.wav"); harness.check(defaults.get("OptionPane.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("OptionPane.foreground"), new ColorUIResource(0, 0, 10)); harness.check(defaults.get("OptionPane.informationIcon") instanceof IconUIResource); harness.check(defaults.get("OptionPane.informationSound"), "sounds/OptionPaneInformation.wav"); harness.check(defaults.get("OptionPane.messageAreaBorder") instanceof BorderUIResource.EmptyBorderUIResource); harness.check(defaults.get("OptionPane.messageForeground"), new ColorUIResource(0, 0, 10)); harness.check(defaults.get("OptionPane.minimumSize"), new DimensionUIResource(262, 90)); harness.check(defaults.get("OptionPane.questionDialog.border.background"), new ColorUIResource(51, 102, 51)); harness.check(defaults.get("OptionPane.questionDialog.titlePane.background"), new ColorUIResource(153, 204, 153)); harness.check(defaults.get("OptionPane.questionDialog.titlePane.foreground"), new ColorUIResource(0, 51, 0)); harness.check(defaults.get("OptionPane.questionDialog.titlePane.shadow"), new ColorUIResource(102, 153, 102)); harness.check(defaults.get("OptionPane.questionIcon") instanceof IconUIResource); harness.check(defaults.get("OptionPane.questionSound"), "sounds/OptionPaneQuestion.wav"); harness.check(defaults.get("OptionPane.warningDialog.border.background"), new ColorUIResource(153, 102, 51)); harness.check(defaults.get("OptionPane.warningDialog.titlePane.background"), new ColorUIResource(255, 204, 153)); harness.check(defaults.get("OptionPane.warningDialog.titlePane.foreground"), new ColorUIResource(102, 51, 0)); harness.check(defaults.get("OptionPane.warningDialog.titlePane.shadow"), new ColorUIResource(204, 153, 102)); harness.check(defaults.get("OptionPane.warningIcon") instanceof IconUIResource); harness.check(defaults.get("OptionPane.warningSound"), "sounds/OptionPaneWarning.wav"); bindings = (Object[]) defaults.get("OptionPane.windowBindings"); harness.check(bindings.length, 2); harness.check(bindings[0], "ESCAPE"); harness.check(bindings[1], "close"); harness.checkPoint("Panel"); harness.check(defaults.get("Panel.background"), new ColorUIResource(0, 0, 4)); harness.check(defaults.get("Panel.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("Panel.foreground"), new ColorUIResource(0, 0, 29)); harness.checkPoint("PasswordField"); harness.check(defaults.get("PasswordField.background"), new ColorUIResource(0, 0, 30)); harness.check(defaults.get("PasswordField.border"), MetalBorders.getTextBorder()); harness.check(defaults.getInt("PasswordField.caretBlinkRate"), 500); harness.check(defaults.get("PasswordField.caretForeground"), new ColorUIResource(0, 0, 29)); harness.check(defaults.get("PasswordField.focusInputMap") instanceof InputMapUIResource); harness.check(defaults.get("PasswordField.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("PasswordField.foreground"), new ColorUIResource(0, 0, 29)); harness.check(defaults.get("PasswordField.inactiveBackground"), new ColorUIResource(0, 0, 4)); harness.check(defaults.get("PasswordField.inactiveForeground"), new ColorUIResource(0, 0, 14)); harness.check(defaults.get("PasswordField.margin"), new InsetsUIResource(0, 0, 0, 0)); harness.check(defaults.get("PasswordField.selectionBackground"), new ColorUIResource(0, 0, 28)); harness.check(defaults.get("PasswordField.selectionForeground"), new ColorUIResource(0, 0, 13)); harness.checkPoint("PopupMenu"); harness.check(defaults.get("PopupMenu.background"), new ColorUIResource(0, 0, 15)); harness.check(defaults.get("PopupMenu.border") instanceof MetalBorders.PopupMenuBorder); harness.check(defaults.get("PopupMenu.font"), new FontUIResource("Dialog", Font.PLAIN, 15)); harness.check(defaults.get("PopupMenu.foreground"), new ColorUIResource(0, 0, 17)); harness.check(defaults.get("PopupMenu.popupSound"), "sounds/PopupMenuPopup.wav"); harness.check(defaults.get("PopupMenu.selectedWindowInputMapBindings") instanceof Object[]); harness.check(defaults.get("PopupMenu.selectedWindowInputMapBindings.RightToLeft") instanceof Object[]); harness.checkPoint("ProgressBar"); harness.check(defaults.get("ProgressBar.background"), new ColorUIResource(0, 0, 4)); LineBorderUIResource b = (LineBorderUIResource) defaults.get("ProgressBar.border"); harness.check(b.getThickness(), 1); harness.check(b.getLineColor(), new Color(0, 0, 5)); harness.check(defaults.getInt("ProgressBar.cellLength"), 1); harness.check(defaults.getInt("ProgressBar.cellSpacing"), 0); harness.check(defaults.getInt("ProgressBar.cycleTime"), 3000); harness.check(defaults.get("ProgressBar.font"), new FontUIResource("Dialog", Font.PLAIN, 13)); harness.check(defaults.get("ProgressBar.foreground"), new ColorUIResource(0, 0, 24)); harness.check(defaults.getInt("ProgressBar.repaintInterval"), 50); harness.check(defaults.get("ProgressBar.selectionBackground"), new ColorUIResource(0, 0, 21)); harness.check(defaults.get("ProgressBar.selectionForeground"), new ColorUIResource(0, 0, 4)); harness.checkPoint("RadioButton"); harness.check(defaults.get("RadioButton.background"), new ColorUIResource(0, 0, 4)); harness.check(defaults.get("RadioButton.border") instanceof BorderUIResource.CompoundBorderUIResource); harness.check(defaults.get("RadioButton.darkShadow"), new ColorUIResource(0, 0, 5)); harness.check(defaults.get("RadioButton.disabledText"), new ColorUIResource(0, 0, 35)); harness.check(defaults.get("RadioButton.focus"), new ColorUIResource(0, 0, 12)); harness.check(defaults.get("RadioButton.focusInputMap") instanceof InputMapUIResource); harness.check(defaults.get("RadioButton.font"), new FontUIResource("Dialog", Font.PLAIN, 13)); harness.check(defaults.get("RadioButton.foreground"), new ColorUIResource(0, 0, 10)); harness.check(defaults.get("RadioButton.highlight"), new ColorUIResource(0, 0, 7)); harness.check(defaults.get("RadioButton.icon") instanceof Icon); harness.check(defaults.get("RadioButton.light"), new ColorUIResource(0, 0, 7)); harness.check(defaults.get("RadioButton.margin"), new InsetsUIResource(2, 2, 2, 2)); harness.check(defaults.get("RadioButton.select"), new ColorUIResource(0, 0, 9)); harness.check(defaults.get("RadioButton.shadow"), new ColorUIResource(0, 0, 9)); harness.check(defaults.getInt("RadioButton.textIconGap"), 4); harness.check(defaults.getInt("RadioButton.textShiftOffset"), 0); harness.checkPoint("RadioButtonMenuItem"); harness.check(defaults.get("RadioButtonMenuItem.acceleratorFont"), new Font("Dialog", Font.PLAIN, 10)); harness.check(defaults.get("RadioButtonMenuItem.acceleratorForeground"), new ColorUIResource(0, 0, 1)); harness.check(defaults.get("RadioButtonMenuItem.acceleratorSelectionForeground"), new ColorUIResource(0, 0, 2)); harness.check(defaults.get("RadioButtonMenuItem.arrowIcon") instanceof Icon); // harness.check(defaults.get("RadioButtonMenuItem.border") instanceof MetalBorders.MenuItemBorder); harness.check(defaults.get("RadioButtonMenuItem.background"), new ColorUIResource(0, 0, 15)); harness.check(defaults.get("RadioButtonMenuItem.borderPainted"), Boolean.TRUE); harness.check(defaults.get("RadioButtonMenuItem.checkIcon") instanceof Icon); harness.check(defaults.get("RadioButtonMenuItem.commandSound"), "sounds/MenuItemCommand.wav"); harness.check(defaults.get("RadioButtonMenuItem.disabledForeground"), new ColorUIResource(0, 0, 16)); harness.check(defaults.get("RadioButtonMenuItem.font"), new FontUIResource("Dialog", Font.PLAIN, 15)); harness.check(defaults.get("RadioButtonMenuItem.foreground"), new ColorUIResource(0, 0, 17)); harness.check(defaults.get("RadioButtonMenuItem.margin"), new InsetsUIResource(2, 2, 2, 2)); harness.check(defaults.get("RadioButtonMenuItem.selectionBackground"), new ColorUIResource(0, 0, 18)); harness.check(defaults.get("RadioButtonMenuItem.selectionForeground"), new ColorUIResource(0, 0, 19)); harness.checkPoint("RootPane"); harness.check(defaults.get("RootPane.colorChooserDialogBorder") instanceof Border); harness.check(defaults.get("RootPane.defaultButtonWindowKeyBindings") instanceof Object[]); harness.check(defaults.get("RootPane.errorDialogBorder") instanceof Border); harness.check(defaults.get("RootPane.fileChooserDialogBorder") instanceof Border); harness.check(defaults.get("RootPane.frameBorder") instanceof Border); harness.check(defaults.get("RootPane.informationDialogBorder") instanceof Border); harness.check(defaults.get("RootPane.plainDialogBorder") instanceof Border); harness.check(defaults.get("RootPane.questionDialogBorder") instanceof Border); harness.check(defaults.get("RootPane.warningDialogBorder") instanceof Border); harness.checkPoint("ScrollBar"); harness.check(defaults.get("ScrollBar.allowsAbsolutePositioning"), Boolean.TRUE); harness.check(defaults.get("ScrollBar.background"), new ColorUIResource(0, 0, 4)); harness.check(defaults.get("ScrollBar.darkShadow"), new ColorUIResource(0, 0, 5)); harness.check(defaults.get("ScrollBar.focusInputMap"), null); harness.check(defaults.get("ScrollBar.focusInputMap.RightToLeft"), null); harness.check(defaults.get("ScrollBar.foreground"), new ColorUIResource(0, 0, 4)); harness.check(defaults.get("ScrollBar.highlight"), new ColorUIResource(0, 0, 7)); harness.check(defaults.get("ScrollBar.maximumThumbSize"), new DimensionUIResource(4096, 4096)); harness.check(defaults.get("ScrollBar.minimumThumbSize"), new DimensionUIResource(8, 8)); harness.check(defaults.get("ScrollBar.shadow"), new ColorUIResource(0, 0, 9)); harness.check(defaults.get("ScrollBar.thumb"), new ColorUIResource(0, 0, 24)); harness.check(defaults.get("ScrollBar.thumbDarkShadow"), new ColorUIResource(0, 0, 5)); harness.check(defaults.get("ScrollBar.thumbHighlight"), new ColorUIResource(0, 0, 20)); harness.check(defaults.get("ScrollBar.thumbShadow"), new ColorUIResource(0, 0, 21)); harness.check(defaults.get("ScrollBar.track"), new ColorUIResource(0, 0, 4)); harness.check(defaults.get("ScrollBar.trackHighlight"), new ColorUIResource(0, 0, 5)); harness.check(defaults.getInt("ScrollBar.width"), 17); harness.checkPoint("ScrollPane"); harness.check(defaults.get("ScrollPane.ancestorInputMap") instanceof InputMapUIResource); harness.check(defaults.get("ScrollPane.ancestorInputMap.RightToLeft") instanceof InputMapUIResource); harness.check(defaults.get("ScrollPane.background"), new ColorUIResource(0, 0, 4)); harness.check(defaults.get("ScrollPane.border") instanceof MetalBorders.ScrollPaneBorder); harness.check(defaults.get("ScrollPane.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("ScrollPane.foreground"), new ColorUIResource(0, 0, 10)); harness.checkPoint("Separator"); harness.check(defaults.get("Separator.background"), new ColorUIResource(0, 0, 25)); harness.check(defaults.get("Separator.foreground"), new ColorUIResource(0, 0, 26)); harness.check(defaults.get("Separator.highlight"), new ColorUIResource(0, 0, 7)); harness.check(defaults.get("Separator.shadow"), new ColorUIResource(0, 0, 9)); harness.checkPoint("Slider"); harness.check(defaults.get("Slider.altTrackColor"), null); harness.check(defaults.get("Slider.background"), new ColorUIResource(0, 0, 4)); harness.check(defaults.get("Slider.focus"), new ColorUIResource(0, 0, 12)); InputMap focusInputMap = (InputMap) defaults.get("Slider.focusInputMap"); KeyStroke[] keys = focusInputMap.keys(); // for (int i = 0; i < keys.length; i++) { // System.out.println(keys[i] + " --> " + focusInputMap.get(keys[i])); // } List keyList = Arrays.asList(keys); harness.check(keyList.contains(KeyStroke.getKeyStroke("LEFT"))); harness.check(keyList.contains(KeyStroke.getKeyStroke("RIGHT"))); harness.check(keyList.contains(KeyStroke.getKeyStroke("UP"))); harness.check(keyList.contains(KeyStroke.getKeyStroke("DOWN"))); harness.check(keyList.contains(KeyStroke.getKeyStroke("KP_LEFT"))); harness.check(keyList.contains(KeyStroke.getKeyStroke("KP_RIGHT"))); harness.check(keyList.contains(KeyStroke.getKeyStroke("KP_UP"))); harness.check(keyList.contains(KeyStroke.getKeyStroke("KP_DOWN"))); harness.check(keyList.contains(KeyStroke.getKeyStroke("HOME"))); harness.check(keyList.contains(KeyStroke.getKeyStroke("END"))); harness.check(keyList.contains(KeyStroke.getKeyStroke("PAGE_UP"))); harness.check(keyList.contains(KeyStroke.getKeyStroke("PAGE_DOWN"))); harness.check(keyList.contains(KeyStroke.getKeyStroke("ctrl PAGE_DOWN"))); harness.check(keyList.contains(KeyStroke.getKeyStroke("ctrl PAGE_UP"))); harness.check(focusInputMap.get(KeyStroke.getKeyStroke("LEFT")), "negativeUnitIncrement"); harness.check(focusInputMap.get(KeyStroke.getKeyStroke("RIGHT")), "positiveUnitIncrement"); harness.check(focusInputMap.get(KeyStroke.getKeyStroke("UP")), "positiveUnitIncrement"); harness.check(focusInputMap.get(KeyStroke.getKeyStroke("DOWN")), "negativeUnitIncrement"); harness.check(focusInputMap.get(KeyStroke.getKeyStroke("KP_LEFT")), "negativeUnitIncrement"); harness.check(focusInputMap.get(KeyStroke.getKeyStroke("KP_RIGHT")), "positiveUnitIncrement"); harness.check(focusInputMap.get(KeyStroke.getKeyStroke("KP_UP")), "positiveUnitIncrement"); harness.check(focusInputMap.get(KeyStroke.getKeyStroke("KP_DOWN")), "negativeUnitIncrement"); harness.check(focusInputMap.get(KeyStroke.getKeyStroke("HOME")), "minScroll"); harness.check(focusInputMap.get(KeyStroke.getKeyStroke("END")), "maxScroll"); harness.check(focusInputMap.get(KeyStroke.getKeyStroke("PAGE_UP")), "positiveBlockIncrement"); harness.check(focusInputMap.get(KeyStroke.getKeyStroke("PAGE_DOWN")), "negativeBlockIncrement"); harness.check(focusInputMap.get(KeyStroke.getKeyStroke("ctrl PAGE_DOWN")), "negativeBlockIncrement"); harness.check(focusInputMap.get(KeyStroke.getKeyStroke("ctrl PAGE_UP")), "positiveBlockIncrement"); InputMap rightToLeftMap = (InputMap) defaults.get("Slider.focusInputMap.RightToLeft"); keys = rightToLeftMap != null ? rightToLeftMap.keys() : new KeyStroke[] {}; keyList = Arrays.asList(keys); // for (int i = 0; i < keys.length; i++) { // System.out.println(keys[i] + " --> " + focusInputMap.get(keys[i])); // } harness.check(keyList.contains(KeyStroke.getKeyStroke("RIGHT"))); harness.check(keyList.contains(KeyStroke.getKeyStroke("KP_RIGHT"))); harness.check(keyList.contains(KeyStroke.getKeyStroke("LEFT"))); harness.check(keyList.contains(KeyStroke.getKeyStroke("KP_LEFT"))); if (rightToLeftMap == null) { rightToLeftMap = new InputMap(); // to prevent NullPointerException } harness.check(rightToLeftMap.get(KeyStroke.getKeyStroke("RIGHT")), "negativeUnitIncrement"); harness.check(rightToLeftMap.get(KeyStroke.getKeyStroke("KP_RIGHT")), "negativeUnitIncrement"); harness.check(rightToLeftMap.get(KeyStroke.getKeyStroke("LEFT")), "positiveUnitIncrement"); harness.check(rightToLeftMap.get(KeyStroke.getKeyStroke("KP_LEFT")), "positiveUnitIncrement"); harness.check(defaults.get("Slider.focusInsets"), new InsetsUIResource(0, 0, 0, 0)); harness.check(defaults.get("Slider.foreground"), new ColorUIResource(0, 0, 24)); harness.check(defaults.get("Slider.highlight"), new ColorUIResource(0, 0, 7)); harness.check(defaults.get("Slider.horizontalThumbIcon") != null); harness.check(defaults.getInt("Slider.majorTickLength"), 6); harness.check(defaults.get("Slider.shadow"), new ColorUIResource(0, 0, 9)); harness.check(defaults.getInt("Slider.trackWidth"), 7); harness.check(defaults.get("Slider.verticalThumbIcon") != null); harness.checkPoint("Spinner"); harness.check(defaults.get("Spinner.ancestorInputMap") instanceof InputMapUIResource); harness.check(defaults.get("Spinner.arrowButtonBorder") instanceof Border); harness.check(defaults.get("Spinner.arrowButtonInsets"), new InsetsUIResource(0, 0, 0, 0)); harness.check(defaults.get("Spinner.arrowButtonSize"), new Dimension(16, 5)); harness.check(defaults.get("Spinner.border") instanceof Border); harness.check(defaults.get("Spinner.background"), new ColorUIResource(0, 0, 4)); harness.check(defaults.get("Spinner.editorBorderPainted"), Boolean.FALSE); harness.check(defaults.get("Spinner.font"), new FontUIResource("Dialog", Font.PLAIN, 13)); harness.check(defaults.get("Spinner.foreground"), new ColorUIResource(0, 0, 4)); harness.checkPoint("SplitPane"); harness.check(defaults.get("SplitPane.ancestorInputMap") instanceof InputMapUIResource); harness.check(defaults.get("SplitPane.background"), new ColorUIResource(0, 0, 4)); harness.check(defaults.get("SplitPane.border") instanceof Border); harness.check(defaults.get("SplitPane.darkShadow"), new ColorUIResource(0, 0, 5)); harness.check(defaults.get("SplitPane.dividerFocusColor"), new ColorUIResource(0, 0, 20)); harness.check(defaults.getInt("SplitPane.dividerSize"), 10); harness.check(defaults.get("SplitPane.highlight"), new ColorUIResource(0, 0, 7)); harness.check(defaults.get("SplitPane.shadow"), new ColorUIResource(0, 0, 9)); harness.checkPoint("SplitPaneDivider"); harness.check(defaults.get("SplitPaneDivider.draggingColor"), new ColorUIResource(64, 64, 64)); harness.check(defaults.get("SplitPaneDivider.border") instanceof Border); harness.checkPoint("TabbedPane"); harness.check(defaults.get("TabbedPane.ancestorInputMap") instanceof InputMapUIResource); harness.check(defaults.get("TabbedPane.background"), new ColorUIResource(0, 0, 9)); harness.check(defaults.get("TabbedPane.borderHighlightColor"), null); harness.check(defaults.get("TabbedPane.contentAreaColor"), null); harness.check(defaults.get("TabbedPane.contentBorderInsets"), new InsetsUIResource(2, 2, 3, 3)); harness.check(defaults.get("TabbedPane.darkShadow"), new ColorUIResource(0, 0, 5)); harness.check(defaults.get("TabbedPane.focus"), new ColorUIResource(0, 0, 21)); harness.check(defaults.get("TabbedPane.focusInputMap") instanceof InputMapUIResource); harness.check(defaults.get("TabbedPane.font"), new FontUIResource("Dialog", Font.PLAIN, 13)); harness.check(defaults.get("TabbedPane.foreground"), new ColorUIResource(0, 0, 10)); harness.check(defaults.get("TabbedPane.highlight"), new ColorUIResource(0, 0, 7)); harness.check(defaults.get("TabbedPane.light"), new ColorUIResource(0, 0, 4)); harness.check(defaults.get("TabbedPane.selected"), new ColorUIResource(0, 0, 4)); harness.check(defaults.get("TabbedPane.selectedTabPadInsets"), new InsetsUIResource(2, 2, 2, 1)); harness.check(defaults.get("TabbedPane.selectHighlight"), new ColorUIResource(0, 0, 7)); harness.check(defaults.get("TabbedPane.shadow"), new ColorUIResource(0, 0, 9)); harness.check(defaults.get("TabbedPane.tabAreaBackground"), new ColorUIResource(0, 0, 4)); harness.check(defaults.get("TabbedPane.tabAreaInsets"), new InsetsUIResource(4, 2, 0, 6)); harness.check(defaults.get("TabbedPane.tabInsets"), new InsetsUIResource(0, 9, 1, 9)); harness.check(defaults.getInt("TabbedPane.tabRunOverlay"), 2); harness.check(defaults.getInt("TabbedPane.textIconGap"), 4); harness.check(defaults.get("TabbedPane.unselectedBackground"), null); harness.checkPoint("Table"); harness.check(defaults.get("Table.ancestorInputMap") instanceof InputMapUIResource); harness.check(defaults.get("Table.ancestorInputMap.RightToLeft") instanceof InputMapUIResource); harness.check(defaults.get("Table.background"), new ColorUIResource(0, 0, 30)); harness.check(defaults.get("Table.focusCellBackground"), new ColorUIResource(0, 0, 30)); harness.check(defaults.get("Table.focusCellForeground"), new ColorUIResource(0, 0, 10)); harness.check(defaults.get("Table.focusCellHighlightBorder") instanceof BorderUIResource.LineBorderUIResource); harness.check(defaults.get("Table.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("Table.foreground"), new ColorUIResource(0, 0, 10)); harness.check(defaults.get("Table.gridColor"), new ColorUIResource(0, 0, 9)); harness.check(defaults.get("Table.scrollPaneBorder") instanceof MetalBorders.ScrollPaneBorder); harness.check(defaults.get("Table.focusCellBackground"), new ColorUIResource(0, 0, 30)); harness.checkPoint("TableHeader"); // harness.check(defaults.get("TableHeader.cellBorder") instanceof MetalBorders.TableHeaderBorder); harness.check(defaults.get("TableHeader.background"), new ColorUIResource(0, 0, 4)); harness.check(defaults.get("TableHeader.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("TableHeader.foreground"), new ColorUIResource(0, 0, 10)); harness.checkPoint("TextArea"); harness.check(defaults.get("TextArea.background"), new ColorUIResource(0, 0, 30)); harness.check(defaults.get("TextArea.border") instanceof BasicBorders.MarginBorder); harness.check(defaults.getInt("TextArea.caretBlinkRate"), 500); harness.check(defaults.get("TextArea.caretForeground"), new ColorUIResource(0, 0, 29)); harness.check(defaults.get("TextArea.focusInputMap") instanceof InputMapUIResource); harness.check(defaults.get("TextArea.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("TextArea.foreground"), new ColorUIResource(0, 0, 29)); harness.check(defaults.get("TextArea.inactiveForeground"), new ColorUIResource(0, 0, 14)); harness.check(defaults.get("TextArea.margin"), new InsetsUIResource(0, 0, 0, 0)); harness.check(defaults.get("TextArea.selectionBackground"), new ColorUIResource(0, 0, 28)); harness.check(defaults.get("TextArea.selectionForeground"), new ColorUIResource(0, 0, 13)); harness.checkPoint("TextField"); harness.check(defaults.get("TextField.background"), new ColorUIResource(0, 0, 30)); harness.check(defaults.get("TextField.border") instanceof BorderUIResource.CompoundBorderUIResource); harness.check(defaults.getInt("TextField.caretBlinkRate"), 500); harness.check(defaults.get("TextField.caretForeground"), new ColorUIResource(0, 0, 29)); harness.check(defaults.get("TextField.darkShadow"), new ColorUIResource(0, 0, 5)); harness.check(defaults.get("TextField.focusInputMap") instanceof InputMapUIResource); harness.check(defaults.get("TextField.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("TextField.foreground"), new ColorUIResource(0, 0, 29)); harness.check(defaults.get("TextField.highlight"), new ColorUIResource(0, 0, 7)); harness.check(defaults.get("TextField.inactiveBackground"), new ColorUIResource(0, 0, 4)); harness.check(defaults.get("TextField.inactiveForeground"), new ColorUIResource(0, 0, 14)); harness.check(defaults.get("TextField.light"), new ColorUIResource(0, 0, 7)); harness.check(defaults.get("TextField.margin"), new InsetsUIResource(0, 0, 0, 0)); harness.check(defaults.get("TextField.selectionBackground"), new ColorUIResource(0, 0, 28)); harness.check(defaults.get("TextField.selectionForeground"), new ColorUIResource(0, 0, 13)); harness.check(defaults.get("TextField.shadow"), new ColorUIResource(0, 0, 9)); harness.checkPoint("TextPane"); harness.check(defaults.get("TextPane.background"), new ColorUIResource(0, 0, 30)); harness.check(defaults.get("TextPane.border") instanceof BasicBorders.MarginBorder); harness.check(defaults.getInt("TextPane.caretBlinkRate"), 500); harness.check(defaults.get("TextPane.caretForeground"), new ColorUIResource(0, 0, 29)); harness.check(defaults.get("TextPane.focusInputMap") instanceof InputMapUIResource); harness.check(defaults.get("TextPane.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("TextPane.foreground"), new ColorUIResource(0, 0, 29)); harness.check(defaults.get("TextPane.inactiveForeground"), new ColorUIResource(0, 0, 14)); harness.check(defaults.get("TextPane.margin"), new InsetsUIResource(3, 3, 3, 3)); harness.check(defaults.get("TextPane.selectionBackground"), new ColorUIResource(0, 0, 28)); harness.check(defaults.get("TextPane.selectionForeground"), new ColorUIResource(0, 0, 13)); harness.checkPoint("TitledBorder"); harness.check(defaults.get("TitledBorder.border") instanceof LineBorderUIResource); harness.check(defaults.get("TitledBorder.font"), new FontUIResource("Dialog", Font.PLAIN, 13)); harness.check(defaults.get("TitledBorder.titleColor"), new ColorUIResource(0, 0, 27)); harness.checkPoint("ToggleButton"); harness.check(defaults.get("ToggleButton.background"), new ColorUIResource(0, 0, 4)); harness.check(defaults.get("ToggleButton.border") instanceof BorderUIResource.CompoundBorderUIResource); harness.check(defaults.get("ToggleButton.darkShadow"), new ColorUIResource(0, 0, 5)); harness.check(defaults.get("ToggleButton.disabledText"), new ColorUIResource(0, 0, 35)); harness.check(defaults.get("ToggleButton.focus"), new ColorUIResource(0, 0, 12)); harness.check(defaults.get("ToggleButton.focusInputMap") instanceof InputMapUIResource); harness.check(defaults.get("ToggleButton.font"), new FontUIResource("Dialog", Font.PLAIN, 13)); harness.check(defaults.get("ToggleButton.foreground"), new ColorUIResource(0, 0, 10)); harness.check(defaults.get("ToggleButton.highlight"), new ColorUIResource(0, 0, 7)); harness.check(defaults.get("ToggleButton.light"), new ColorUIResource(0, 0, 7)); harness.check(defaults.get("ToggleButton.margin"), new InsetsUIResource(2, 14, 2, 14)); harness.check(defaults.get("ToggleButton.select"), new ColorUIResource(0, 0, 9)); harness.check(defaults.get("ToggleButton.shadow"), new ColorUIResource(0, 0, 9)); harness.check(defaults.getInt("ToggleButton.textIconGap"), 4); harness.check(defaults.getInt("ToggleButton.textShiftOffset"), 0); harness.checkPoint("ToolBar"); harness.check(defaults.get("ToolBar.ancestorInputMap") instanceof InputMapUIResource); harness.check(defaults.get("ToolBar.background"), new ColorUIResource(0, 0, 15)); // harness.check(defaults.get("ToolBar.border") instanceof MetalBorders.ToolBarBorder); harness.check(defaults.get("ToolBar.borderColor"), null); harness.check(defaults.get("ToolBar.darkShadow"), new ColorUIResource(0, 0, 5)); harness.check(defaults.get("ToolBar.dockingBackground"), new ColorUIResource(0, 0, 15)); harness.check(defaults.get("ToolBar.dockingForeground"), new ColorUIResource(0, 0, 21)); harness.check(defaults.get("ToolBar.floatingBackground"), new ColorUIResource(0, 0, 15)); harness.check(defaults.get("ToolBar.floatingForeground"), new ColorUIResource(0, 0, 20)); harness.check(defaults.get("ToolBar.font"), new FontUIResource("Dialog", Font.PLAIN, 15)); harness.check(defaults.get("ToolBar.foreground"), new ColorUIResource(0, 0, 17)); harness.check(defaults.get("ToolBar.highlight"), new ColorUIResource(0, 0, 7)); harness.check(defaults.get("ToolBar.light"), new ColorUIResource(0, 0, 7)); harness.check(defaults.get("ToolBar.separatorSize"), new DimensionUIResource(10, 10)); harness.check(defaults.get("ToolBar.shadow"), new ColorUIResource(0, 0, 9)); harness.checkPoint("ToolTip"); harness.check(defaults.get("ToolTip.background"), new ColorUIResource(0, 0, 20)); harness.check(defaults.get("ToolTip.backgroundInactive"), new ColorUIResource(0, 0, 4)); LineBorderUIResource b2 = (LineBorderUIResource) defaults.get("ToolTip.border"); harness.check(b2.getThickness(), 1); harness.check(b2.getLineColor(), new Color(0, 0, 21)); b2 = (LineBorderUIResource) defaults.get("ToolTip.borderInactive"); harness.check(b2 != null ? b2.getThickness() : 0, 1); harness.check(b2 != null ? b2.getLineColor() : null, new Color(0, 0, 5)); harness.check(defaults.get("ToolTip.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("ToolTip.foreground"), new ColorUIResource(0, 0, 23)); harness.check(defaults.get("ToolTip.foregroundInactive"), new ColorUIResource(0, 0, 5)); harness.check(defaults.get("ToolTip.hideAccelerator"), Boolean.FALSE); harness.checkPoint("Tree"); harness.check(defaults.get("Tree.background"), new ColorUIResource(0, 0, 30)); harness.check(defaults.get("Tree.ancestorInputMap") instanceof InputMapUIResource); harness.check(defaults.get("Tree.changeSelectionWithFocus"), Boolean.TRUE); harness.check(defaults.get("Tree.closedIcon") instanceof MetalIconFactory.TreeFolderIcon); harness.check(defaults.get("Tree.collapsedIcon") instanceof MetalIconFactory.TreeControlIcon); harness.check(defaults.get("Tree.drawsFocusBorderAroundIcon"), Boolean.FALSE); harness.check(defaults.get("Tree.editorBorder") instanceof BorderUIResource.LineBorderUIResource); harness.check(defaults.get("Tree.expandedIcon") instanceof MetalIconFactory.TreeControlIcon); harness.check(defaults.get("Tree.focusInputMap") instanceof InputMapUIResource); harness.check(defaults.get("Tree.focusInputMap.RightToLeft") instanceof InputMapUIResource); harness.check(defaults.get("Tree.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("Tree.foreground"), new ColorUIResource(0, 0, 29)); harness.check(defaults.get("Tree.hash"), new ColorUIResource(0, 0, 20)); harness.check(defaults.get("Tree.leafIcon") instanceof MetalIconFactory.TreeLeafIcon); harness.check(defaults.getInt("Tree.leftChildIndent"), 7); harness.check(defaults.get("Tree.line"), new ColorUIResource(0, 0, 20)); harness.check(defaults.get("Tree.openIcon") instanceof MetalIconFactory.TreeFolderIcon); harness.check(defaults.getInt("Tree.rightChildIndent"), 13); harness.check(defaults.getInt("Tree.rowHeight"), 0); harness.check(defaults.get("Tree.scrollsOnExpand"), Boolean.TRUE); harness.check(defaults.get("Tree.selectionBackground"), new ColorUIResource(0, 0, 28)); harness.check(defaults.get("Tree.selectionBorderColor"), new ColorUIResource(0, 0, 12)); harness.check(defaults.get("Tree.selectionForeground"), new ColorUIResource(0, 0, 13)); harness.check(defaults.get("Tree.textBackground"), new ColorUIResource(0, 0, 30)); harness.check(defaults.get("Tree.textForeground"), new ColorUIResource(0, 0, 29)); harness.checkPoint("Viewport"); harness.check(defaults.get("Viewport.background"), new ColorUIResource(0, 0, 4)); harness.check(defaults.get("Viewport.font"), new FontUIResource("Dialog", Font.PLAIN, 12)); harness.check(defaults.get("Viewport.foreground"), new ColorUIResource(0, 0, 29)); } } ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getAcceleratorSelectedForeground.javamauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getAcceleratorSelectedForeground.0000644000175000001440000000403010356565322032251 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getAcceleratorSelectedForeground() method in the * MetalLookAndFeel class. */ public class getAcceleratorSelectedForeground implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getAcceleratorSelectedForeground(); harness.check(c, new ColorUIResource(Color.black)); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getAcceleratorSelectedForeground() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getAcceleratorSelectedForeground(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getSeparatorBackground.java0000644000175000001440000000374510356565322031137 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getSeparatorBackground() method in the * MetalLookAndFeel class. */ public class getSeparatorBackground implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getSeparatorBackground(); harness.check(c, new ColorUIResource(Color.white)); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getSeparatorBackground() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getSeparatorBackground(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/setCurrentTheme.java0000644000175000001440000000366310370162230027602 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Checks if MetalLookAndFeel.setCurrentTheme works correctly. * * @author Roman Kennke */ public class setCurrentTheme implements Testlet { public void test(TestHarness h) { DefaultMetalTheme theme = new DefaultMetalTheme(); MetalLookAndFeel.setCurrentTheme(theme); MetalLookAndFeel laf = new MetalLookAndFeel(); Color c1 = laf.getDefaults().getColor("Button.background"); h.check(c1, theme.getControl()); MetalLookAndFeel.setCurrentTheme(new TestTheme()); c1 = laf.getDefaults().getColor("Button.background"); h.check(c1, Color.red); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } class TestTheme extends DefaultMetalTheme { protected ColorUIResource getSecondary3() { return new ColorUIResource(Color.red); } } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getHighlightedTextColor.java0000644000175000001440000000375310356565322031262 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getHighlightedTextColor() method in the MetalLookAndFeel * class. */ public class getHighlightedTextColor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getHighlightedTextColor(); harness.check(c, new ColorUIResource(Color.black)); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getHighlightedTextColor() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getHighlightedTextColor(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getUserTextColor.java0000644000175000001440000000371310356565322027754 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getUserTextColor() method in the * MetalLookAndFeel class. */ public class getUserTextColor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getUserTextColor(); harness.check(c, new ColorUIResource(Color.black)); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getUserTextColor() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getUserTextColor(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getPrimaryControlHighlight.java0000644000175000001440000000377510356565322032016 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getPrimaryControlHighlight() method in the * MetalLookAndFeel class. */ public class getPrimaryControlHighlight implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getPrimaryControlHighlight(); harness.check(c, new ColorUIResource(Color.white)); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getPrimaryControlHighlight() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getPrimaryControlHighlight(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getControl.java0000644000175000001440000000366310356565322026616 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getControl() method in the MetalLookAndFeel class. */ public class getControl implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getControl(); harness.check(c, new ColorUIResource(new Color(204, 204, 204))); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getControl() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getControl(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getControlDarkShadow.java0000644000175000001440000000375110356565322030564 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getControlDarkShadow() method in the MetalLookAndFeel * class. */ public class getControlDarkShadow implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getControlDarkShadow(); harness.check(c, new ColorUIResource(new Color(102, 102, 102))); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getControlDarkShadow() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getControlDarkShadow(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getPrimaryControlInfo.java0000644000175000001440000000374210356565322030774 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getPrimaryControlInfo() method in the * MetalLookAndFeel class. */ public class getPrimaryControlInfo implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getPrimaryControlInfo(); harness.check(c, new ColorUIResource(Color.black)); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getPrimaryControlInfo() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getPrimaryControlInfo(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getMenuBackground.java0000644000175000001440000000374510356565322030103 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getInactiveSystemTextColor() method in the * MetalLookAndFeel class. */ public class getMenuBackground implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getMenuBackground(); harness.check(c, new ColorUIResource(new Color(204, 204, 204))); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getMenuBackground() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getMenuBackground(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getSystemTextColor.java0000644000175000001440000000372610356565322030326 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getSystemTextColor() method in the * MetalLookAndFeel class. */ public class getSystemTextColor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getSystemTextColor(); harness.check(c, new ColorUIResource(Color.black)); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getSystemTextColor() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getSystemTextColor(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getPrimaryControl.java0000644000175000001440000000373210356565322030157 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getPrimaryControl() method in the * MetalLookAndFeel class. */ public class getPrimaryControl implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getPrimaryControl(); harness.check(c, new ColorUIResource(new Color(204, 204, 255))); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getPrimaryControl() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getPrimaryControl(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/MyMetalLookAndFeel.java0000644000175000001440000000334310271215062030072 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import javax.swing.UIDefaults; import javax.swing.plaf.metal.MetalLookAndFeel; public class MyMetalLookAndFeel extends MetalLookAndFeel { public String getID() { return "MyMetalLookAndFeel"; } public String getName() { return "MyMetalLookAndFeel"; } public String getDescription() { return "MyMetalLookAndFeel"; } public boolean isSupportedLookAndFeel() { return true; } public boolean isNativeLookAndFeel() { return false; } public void initSystemColorDefaults(UIDefaults defaults) { super.initSystemColorDefaults(defaults); } public void initComponentDefaults(UIDefaults defaults) { super.initComponentDefaults(defaults); } public void initClassDefaults(UIDefaults defaults) { super.initClassDefaults(defaults); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getMenuForeground.java0000644000175000001440000000372010356565322030127 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getMenuForeground() method in the * MetalLookAndFeel class. */ public class getMenuForeground implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getMenuForeground(); harness.check(c, new ColorUIResource(Color.black)); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getMenuForeground() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getMenuForeground(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getMenuDisabledForeground.java0000644000175000001440000000400210356565322031551 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getMenuDisabledForeground() method in the * MetalLookAndFeel class. */ public class getMenuDisabledForeground implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getMenuDisabledForeground(); harness.check(c, new ColorUIResource(new Color(153, 153, 153))); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getMenuDisabledForeground() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getMenuDisabledForeground(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getDesktopColor.java0000644000175000001440000000372010356565322027600 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getDesktopColor() method in the MetalLookAndFeel * class. */ public class getDesktopColor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getDesktopColor(); harness.check(c, new ColorUIResource(new Color(153, 153, 204))); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getDesktopColor() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getDesktopColor(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getWindowTitleInactiveForeground.javamauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getWindowTitleInactiveForeground.0000644000175000001440000000403410356565322032314 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getWindowTitleInactiveForeground() method in the * MetalLookAndFeel class. */ public class getWindowTitleInactiveForeground implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getWindowTitleInactiveForeground(); harness.check(c, new ColorUIResource(Color.black)); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getWindowTitleInactiveForeground() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getWindowTitleInactiveForeground(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getInactiveControlTextColor.java0000644000175000001440000000401410356565322032134 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getInactiveControlTextColor() method in the * MetalLookAndFeel class. */ public class getInactiveControlTextColor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getInactiveControlTextColor(); harness.check(c, new ColorUIResource(new Color(153, 153, 153))); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getInactiveControlTextColor() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getInactiveControlTextColor(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getControlInfo.java0000644000175000001440000000367610356565322027436 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getControlInfo() method in the MetalLookAndFeel * class. */ public class getControlInfo implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getControlInfo(); harness.check(c, new ColorUIResource(Color.black)); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getControlInfo() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getControlInfo(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getFocusColor.java0000644000175000001440000000370510356565322027251 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getFocusColor() method in the MetalLookAndFeel * class. */ public class getFocusColor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getFocusColor(); harness.check(c, new ColorUIResource(new Color(153, 153, 204))); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getFocusColor() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getFocusColor(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getPrimaryControlDarkShadow.java0000644000175000001440000000401710356565322032124 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getPrimaryControlDarkShadow() method in the * MetalLookAndFeel class. */ public class getPrimaryControlDarkShadow implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getPrimaryControlDarkShadow(); harness.check(c, new ColorUIResource(new Color(102, 102, 153))); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getPrimaryControlDarkShadow() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getPrimaryControlDarkShadow(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getName.java0000644000175000001440000000246510261207164026045 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getName() method in the MetalLookAndFeel class. */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.check(new MetalLookAndFeel().getName(), "Metal"); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getControlTextColor.java0000644000175000001440000000372710356565322030463 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getControlTextColor() method in the MetalLookAndFeel * class. */ public class getControlTextColor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getControlTextColor(); harness.check(c, new ColorUIResource(Color.black)); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getControlTextColor() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getControlTextColor(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getPrimaryControlShadow.java0000644000175000001440000000377410356565322031333 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalLookAndFeel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getPrimaryControlShadow() method in the * MetalLookAndFeel class. */ public class getPrimaryControlShadow implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); ColorUIResource c = MetalLookAndFeel.getPrimaryControlShadow(); harness.check(c, new ColorUIResource(new Color(153, 153, 204))); MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme() { public ColorUIResource getPrimaryControlShadow() { return new ColorUIResource(Color.red); } }); c = MetalLookAndFeel.getPrimaryControlShadow(); harness.check(c, new ColorUIResource(Color.red)); // reset the theme so that other tests won't be affected MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalComboBoxButton/0000755000175000001440000000000012375316426024406 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalComboBoxButton/constructors.java0000644000175000001440000000753310356542061030022 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalComboBoxButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Insets; import javax.swing.CellRendererPane; import javax.swing.Icon; import javax.swing.JComboBox; import javax.swing.JList; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.MetalComboBoxButton; import javax.swing.plaf.metal.MetalComboBoxIcon; /** * Some tests for the constructors in the {@link MetalComboBoxButton} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); } private void testConstructor1(TestHarness harness) { harness.checkPoint("MetalComboBoxButton(JComboBox, Icon, CellRendererPane, JList)"); JComboBox jcb = new JComboBox(new Object[] {"A", "B", "C"}); Icon icon = new MetalComboBoxIcon(); MetalComboBoxButton b = new MetalComboBoxButton(jcb, icon, new CellRendererPane(), new JList()); harness.check(b.getComboBox() == jcb); harness.check(b.getComboIcon() == icon); harness.check(!b.isIconOnly()); Insets margin = b.getMargin(); harness.check(margin, new Insets(2, 14, 2, 14)); harness.check(margin instanceof UIResource); Insets insets = b.getInsets(); harness.check(insets, new Insets(5, 17, 5, 17)); boolean pass = false; try { b = new MetalComboBoxButton(null, icon, new CellRendererPane(), new JList()); } catch (NullPointerException e) { pass = true; } harness.check(pass); b = new MetalComboBoxButton(jcb, null, new CellRendererPane(), new JList()); harness.check(b.getComboIcon() == null); b = new MetalComboBoxButton(jcb, icon, null, new JList()); b = new MetalComboBoxButton(jcb, icon, new CellRendererPane(), null); } private void testConstructor2(TestHarness harness) { harness.checkPoint("MetalComboBoxButton(JComboBox, Icon, boolean, CellRendererPane, JList)"); JComboBox jcb = new JComboBox(new Object[] {"A", "B", "C"}); Icon icon = new MetalComboBoxIcon(); MetalComboBoxButton b = new MetalComboBoxButton(jcb, icon, true, new CellRendererPane(), new JList()); harness.check(b.getComboBox() == jcb); harness.check(b.getComboIcon() == icon); harness.check(b.isIconOnly()); boolean pass = false; try { b = new MetalComboBoxButton(null, icon, true, new CellRendererPane(), new JList()); } catch (NullPointerException e) { pass = true; } harness.check(pass); b = new MetalComboBoxButton(jcb, null, true, new CellRendererPane(), new JList()); harness.check(b.getComboIcon() == null); b = new MetalComboBoxButton(jcb, icon, true, null, new JList()); b = new MetalComboBoxButton(jcb, icon, true, new CellRendererPane(), null); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalComboBoxButton/isFocusTraversable.java0000644000175000001440000000340210323410043031033 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalComboBoxButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.CellRendererPane; import javax.swing.Icon; import javax.swing.JComboBox; import javax.swing.JList; import javax.swing.plaf.metal.MetalComboBoxButton; import javax.swing.plaf.metal.MetalComboBoxIcon; /** * Some tests for the isFocusTraversable() method in the * {@link MetalComboBoxButton} class. */ public class isFocusTraversable implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JComboBox jcb = new JComboBox(new Object[] {"A", "B", "C"}); Icon icon = new MetalComboBoxIcon(); MetalComboBoxButton b = new MetalComboBoxButton(jcb, icon, new CellRendererPane(), new JList()); harness.check(!b.isFocusTraversable()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalComboBoxButton/getComboIcon.java0000644000175000001440000000336710323410043027607 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalComboBoxButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.CellRendererPane; import javax.swing.Icon; import javax.swing.JComboBox; import javax.swing.JList; import javax.swing.plaf.metal.MetalComboBoxButton; import javax.swing.plaf.metal.MetalComboBoxIcon; /** * Some tests for the getComboIcon() method in the {@link MetalComboBoxButton} * class. */ public class getComboIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JComboBox jcb = new JComboBox(new Object[] {"A", "B", "C"}); Icon icon = new MetalComboBoxIcon(); MetalComboBoxButton b = new MetalComboBoxButton(jcb, icon, new CellRendererPane(), new JList()); harness.check(b.getComboIcon() == icon); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalComboBoxButton/getComboBox.java0000644000175000001440000000336310323410043027443 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalComboBoxButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.CellRendererPane; import javax.swing.Icon; import javax.swing.JComboBox; import javax.swing.JList; import javax.swing.plaf.metal.MetalComboBoxButton; import javax.swing.plaf.metal.MetalComboBoxIcon; /** * Some tests for the getComboBox() method in the {@link MetalComboBoxButton} * class. */ public class getComboBox implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JComboBox jcb = new JComboBox(new Object[] {"A", "B", "C"}); Icon icon = new MetalComboBoxIcon(); MetalComboBoxButton b = new MetalComboBoxButton(jcb, icon, new CellRendererPane(), new JList()); harness.check(b.getComboBox() == jcb); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalComboBoxButton/isIconOnly.java0000644000175000001440000000344210323410043027317 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalComboBoxButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.CellRendererPane; import javax.swing.Icon; import javax.swing.JComboBox; import javax.swing.JList; import javax.swing.plaf.metal.MetalComboBoxButton; import javax.swing.plaf.metal.MetalComboBoxIcon; /** * Some tests for the isIconOnly() method in the {@link MetalComboBoxButton} * class. */ public class isIconOnly implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JComboBox jcb = new JComboBox(new Object[] {"A", "B", "C"}); Icon icon = new MetalComboBoxIcon(); MetalComboBoxButton b = new MetalComboBoxButton(jcb, icon, new CellRendererPane(), new JList()); harness.check(!b.isIconOnly()); b.setIconOnly(true); harness.check(b.isIconOnly()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalComboBoxButton/setEnabled.java0000644000175000001440000000344710323410043027304 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalComboBoxButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.CellRendererPane; import javax.swing.Icon; import javax.swing.JComboBox; import javax.swing.JList; import javax.swing.plaf.metal.MetalComboBoxButton; import javax.swing.plaf.metal.MetalComboBoxIcon; /** * Some tests for the setEnabled() method in the * {@link MetalComboBoxButton} class. */ public class setEnabled implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JComboBox jcb = new JComboBox(new Object[] {"A", "B", "C"}); Icon icon1 = new MetalComboBoxIcon(); MetalComboBoxButton b = new MetalComboBoxButton(jcb, icon1, new CellRendererPane(), new JList()); harness.check(b.isEnabled()); b.setEnabled(false); harness.check(!b.isEnabled()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalComboBoxButton/setComboBox.java0000644000175000001440000000371010323410043027453 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalComboBoxButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.CellRendererPane; import javax.swing.Icon; import javax.swing.JComboBox; import javax.swing.JList; import javax.swing.plaf.metal.MetalComboBoxButton; import javax.swing.plaf.metal.MetalComboBoxIcon; /** * Some tests for the setComboBox() method in the * {@link MetalComboBoxButton} class. */ public class setComboBox implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JComboBox jcb1 = new JComboBox(new Object[] {"A", "B", "C"}); JComboBox jcb2 = new JComboBox(new Object[] {"X", "Y", "Z"}); Icon icon = new MetalComboBoxIcon(); MetalComboBoxButton b = new MetalComboBoxButton(jcb1, icon, new CellRendererPane(), new JList()); harness.check(b.getComboBox() == jcb1); b.setComboBox(jcb2); harness.check(b.getComboBox() == jcb2); b.setComboBox(null); harness.check(b.getComboBox() == null); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalComboBoxButton/setIconOnly.java0000644000175000001440000000345310323410043027501 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalComboBoxButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.CellRendererPane; import javax.swing.Icon; import javax.swing.JComboBox; import javax.swing.JList; import javax.swing.plaf.metal.MetalComboBoxButton; import javax.swing.plaf.metal.MetalComboBoxIcon; /** * Some tests for the setIconOnly() method in the * {@link MetalComboBoxButton} class. */ public class setIconOnly implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JComboBox jcb = new JComboBox(new Object[] {"A", "B", "C"}); Icon icon1 = new MetalComboBoxIcon(); MetalComboBoxButton b = new MetalComboBoxButton(jcb, icon1, new CellRendererPane(), new JList()); harness.check(!b.isIconOnly()); b.setIconOnly(true); harness.check(b.isIconOnly()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalComboBoxButton/setComboIcon.java0000644000175000001440000000400210323410043027606 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalComboBoxButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.CellRendererPane; import javax.swing.Icon; import javax.swing.JComboBox; import javax.swing.JList; import javax.swing.plaf.metal.MetalComboBoxButton; import javax.swing.plaf.metal.MetalComboBoxIcon; import javax.swing.plaf.metal.MetalIconFactory; /** * Some tests for the setComboIcon() method in the * {@link MetalComboBoxButton} class. */ public class setComboIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JComboBox jcb = new JComboBox(new Object[] {"A", "B", "C"}); Icon icon1 = new MetalComboBoxIcon(); Icon icon2 = MetalIconFactory.getHorizontalSliderThumbIcon(); MetalComboBoxButton b = new MetalComboBoxButton(jcb, icon1, new CellRendererPane(), new JList()); harness.check(b.getComboIcon() == icon1); b.setComboIcon(icon2); harness.check(b.getComboIcon() == icon2); b.setComboIcon(null); harness.check(b.getComboIcon() == null); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/0000755000175000001440000000000012375316426023722 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/PaletteCloseIcon/0000755000175000001440000000000012375316426027117 5ustar dokousers././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/PaletteCloseIcon/getIconWidth.javamauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/PaletteCloseIcon/getIconWidth.jav0000644000175000001440000000270610370105105032175 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2005, 2006 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalIconFactory.PaletteCloseIcon; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.plaf.metal.MetalIconFactory.PaletteCloseIcon; /** * Some tests for the getIconWidth() method in the * {@link PaletteCloseIcon} class. */ public class getIconWidth implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { PaletteCloseIcon icon = new PaletteCloseIcon(); harness.check(icon.getIconWidth(), 7); } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/PaletteCloseIcon/getIconHeight.javamauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/PaletteCloseIcon/getIconHeight.ja0000644000175000001440000000271110370105105032134 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2005, 2006 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalIconFactory.PaletteCloseIcon; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.plaf.metal.MetalIconFactory.PaletteCloseIcon; /** * Some tests for the getIconHeight() method in the * {@link PaletteCloseIcon} class. */ public class getIconHeight implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { PaletteCloseIcon icon = new PaletteCloseIcon(); harness.check(icon.getIconHeight(), 7); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getTreeHardDriveIcon.java0000644000175000001440000000321510453445777030576 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalIconFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Icon; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.MetalIconFactory; /** * Some checks for the getTreeHardDriveIcon() method. */ public class getTreeHardDriveIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Icon icon = MetalIconFactory.getTreeHardDriveIcon(); harness.check(icon.getIconWidth(), 16); harness.check(icon.getIconHeight(), 16); harness.check(icon instanceof UIResource); Icon icon2 = MetalIconFactory.getTreeHardDriveIcon(); harness.check(icon == icon2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/TreeLeafIcon/0000755000175000001440000000000012375316426026222 5ustar dokousers././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/TreeLeafIcon/getAdditionalHeight.javamauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/TreeLeafIcon/getAdditionalHeight.0000644000175000001440000000262110263520723032114 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalIconFactory.TreeLeafIcon; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.plaf.metal.MetalIconFactory.TreeLeafIcon; /** * Some checks for the getAdditionalHeight() method. */ public class getAdditionalHeight implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TreeLeafIcon icon = new TreeLeafIcon(); harness.check(icon.getAdditionalHeight(), 4); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/TreeLeafIcon/getShift.java0000644000175000001440000000256010263520723030634 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalIconFactory.TreeLeafIcon; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.plaf.metal.MetalIconFactory.TreeLeafIcon; /** * Some checks for the getShift() method. */ public class getShift implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TreeLeafIcon icon = new TreeLeafIcon(); harness.check(icon.getShift(), 2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getCheckBoxMenuItemIcon.java0000644000175000001440000000330710453445777031242 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalIconFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Icon; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.MetalIconFactory; /** * Some checks for the getCheckBoxMenuItemIcon() method. */ public class getCheckBoxMenuItemIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Icon icon = MetalIconFactory.getCheckBoxMenuItemIcon(); harness.check(icon.getIconWidth(), 10); harness.check(icon.getIconHeight(), 10); harness.check(icon instanceof UIResource); // check that a shared instance is returned each time Icon icon2 = MetalIconFactory.getCheckBoxMenuItemIcon(); harness.check(icon == icon2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getTreeControlIcon.java0000644000175000001440000000337310453445777030353 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalIconFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Icon; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.MetalIconFactory; /** * Some checks for the getTreeControlIcon() method. */ public class getTreeControlIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Icon icon1 = MetalIconFactory.getTreeControlIcon(false); harness.check(icon1.getIconWidth(), 18); harness.check(icon1.getIconHeight(), 18); harness.check(!(icon1 instanceof UIResource)); Icon icon2 = MetalIconFactory.getTreeControlIcon(true); harness.check(icon2.getIconWidth(), 18); harness.check(icon2.getIconHeight(), 18); harness.check(!(icon2 instanceof UIResource)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getCheckBoxIcon.java0000644000175000001440000000324110453445777027573 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalIconFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Icon; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.MetalIconFactory; /** * Some checks for the getCheckBoxIcon() method. */ public class getCheckBoxIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Icon icon = MetalIconFactory.getCheckBoxIcon(); harness.check(icon.getIconWidth(), 13); harness.check(icon.getIconHeight(), 13); harness.check(icon instanceof UIResource); // check that a shared instance is returned Icon icon2 = MetalIconFactory.getCheckBoxIcon(); harness.check(icon == icon2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getVerticalSliderThumbIcon.java0000644000175000001440000000333310453445777032023 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalIconFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Icon; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.MetalIconFactory; /** * Some checks for the getVerticalSliderThumbIcon() method. */ public class getVerticalSliderThumbIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Icon icon = MetalIconFactory.getVerticalSliderThumbIcon(); harness.check(icon.getIconWidth(), 16); harness.check(icon.getIconHeight(), 15); harness.check(icon instanceof UIResource); // check that the same instance is returned each time Icon icon2 = MetalIconFactory.getVerticalSliderThumbIcon(); harness.check(icon == icon2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getFileChooserListViewIcon.java0000644000175000001440000000323310453445777031777 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalIconFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Icon; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.MetalIconFactory; /** * Some checks for the getFileChooserListViewIcon() method. */ public class getFileChooserListViewIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Icon icon = MetalIconFactory.getFileChooserListViewIcon(); harness.check(icon.getIconWidth(), 18); harness.check(icon.getIconHeight(), 18); harness.check(icon instanceof UIResource); Icon icon2 = MetalIconFactory.getFileChooserListViewIcon(); harness.check(icon == icon2); } } ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getInternalFrameAltMaximizeIcon.javamauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getInternalFrameAltMaximizeIcon.j0000644000175000001440000000335310453445777032315 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalIconFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Icon; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.MetalIconFactory; /** * Some checks for the getInternalFrameAltMaximizeIcon() method. */ public class getInternalFrameAltMaximizeIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Icon icon = MetalIconFactory.getInternalFrameAltMaximizeIcon(12); harness.check(icon.getIconWidth(), 12); harness.check(icon.getIconHeight(), 12); harness.check(icon instanceof UIResource); // check that a new instance is returned each time Icon icon2 = MetalIconFactory.getInternalFrameAltMaximizeIcon(12); harness.check(icon != icon2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getFileChooserNewFolderIcon.java0000644000175000001440000000323710453445777032122 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalIconFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Icon; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.MetalIconFactory; /** * Some checks for the getFileChooserNewFolderIcon() method. */ public class getFileChooserNewFolderIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Icon icon = MetalIconFactory.getFileChooserNewFolderIcon(); harness.check(icon.getIconWidth(), 18); harness.check(icon.getIconHeight(), 18); harness.check(icon instanceof UIResource); Icon icon2 = MetalIconFactory.getFileChooserNewFolderIcon(); harness.check(icon == icon2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getRadioButtonIcon.java0000644000175000001440000000327110453445777030342 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalIconFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Icon; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.MetalIconFactory; /** * Some checks for the getRadioButtonIcon() method. */ public class getRadioButtonIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Icon icon = MetalIconFactory.getRadioButtonIcon(); harness.check(icon.getIconWidth(), 13); harness.check(icon.getIconHeight(), 13); harness.check(icon instanceof UIResource); // check that a shared instance is returned each time Icon icon2 = MetalIconFactory.getRadioButtonIcon(); harness.check(icon == icon2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getHorizontalSliderThumbIcon.java0000644000175000001440000000333710453445777032407 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalIconFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Icon; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.MetalIconFactory; /** * Some checks for the getHorizontalSliderThumbIcon() method. */ public class getHorizontalSliderThumbIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Icon icon = MetalIconFactory.getHorizontalSliderThumbIcon(); harness.check(icon.getIconWidth(), 15); harness.check(icon.getIconHeight(), 16); harness.check(icon instanceof UIResource); // check that the same instance is returned each time Icon icon2 = MetalIconFactory.getHorizontalSliderThumbIcon(); harness.check(icon == icon2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getFileChooserUpFolderIcon.java0000644000175000001440000000323410453445777031752 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalIconFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Icon; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.MetalIconFactory; /** * Some checks for the getFileChooserUpFolderIcon() method. */ public class getFileChooserUpFolderIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Icon icon = MetalIconFactory.getFileChooserUpFolderIcon(); harness.check(icon.getIconWidth(), 18); harness.check(icon.getIconHeight(), 18); harness.check(icon instanceof UIResource); Icon icon2 = MetalIconFactory.getFileChooserUpFolderIcon(); harness.check(icon == icon2); } } ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getInternalFrameDefaultMenuIcon.javamauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getInternalFrameDefaultMenuIcon.j0000644000175000001440000000335410453445777032303 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalIconFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Icon; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.MetalIconFactory; /** * Some checks for the getInternalFrameDefaultMenuIcon() method. */ public class getInternalFrameDefaultMenuIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Icon icon = MetalIconFactory.getInternalFrameDefaultMenuIcon(); harness.check(icon.getIconWidth(), 16); harness.check(icon.getIconHeight(), 16); harness.check(icon instanceof UIResource); // check that a shared instance is returned each time Icon icon2 = MetalIconFactory.getInternalFrameDefaultMenuIcon(); harness.check(icon == icon2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getInternalFrameMinimizeIcon.java0000644000175000001440000000334210453445777032340 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalIconFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Icon; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.MetalIconFactory; /** * Some checks for the getInternalFrameMinimizeIcon() method. */ public class getInternalFrameMinimizeIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Icon icon = MetalIconFactory.getInternalFrameMinimizeIcon(16); harness.check(icon.getIconWidth(), 16); harness.check(icon.getIconHeight(), 16); harness.check(icon instanceof UIResource); // check that a new instance is returned each time Icon icon2 = MetalIconFactory.getInternalFrameMinimizeIcon(16); harness.check(icon != icon2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getMenuItemCheckIcon.java0000644000175000001440000000365410341150152030546 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalIconFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Icon; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.metal.MetalIconFactory; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getMenuItemCheckBoxIcon() method in the * {@link MetalIconFactory} class. */ public class getMenuItemCheckIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // this method returns null Icon icon = MetalIconFactory.getMenuItemCheckIcon(); harness.check(icon, null); // set the MetalLookAndFeel and confirm that this icon is used // for 'Menu.checkIcon' try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } harness.check(icon, UIManager.getIcon("Menu.checkIcon")); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getTreeLeafIcon.java0000644000175000001440000000326210453445777027577 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalIconFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Icon; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.MetalIconFactory; /** * Some checks for the getTreeLeafIcon() method. */ public class getTreeLeafIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Icon icon = MetalIconFactory.getTreeLeafIcon(); harness.check(icon.getIconWidth(), 16); harness.check(icon.getIconHeight(), 20); harness.check(!(icon instanceof UIResource)); // check that a new instance is returned each time Icon icon2 = MetalIconFactory.getTreeLeafIcon(); harness.check(icon != icon2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getInternalFrameMaximizeIcon.java0000644000175000001440000000334110453445777032341 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalIconFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Icon; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.MetalIconFactory; /** * Some checks for the getInternalFrameMaximizeIcon() method. */ public class getInternalFrameMaximizeIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Icon icon = MetalIconFactory.getInternalFrameMaximizeIcon(16); harness.check(icon.getIconWidth(), 16); harness.check(icon.getIconHeight(), 16); harness.check(icon instanceof UIResource); // check that a new instance is returned each time Icon icon2 = MetalIconFactory.getInternalFrameMaximizeIcon(16); harness.check(icon != icon2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getMenuArrowIcon.java0000644000175000001440000000423610453445777030031 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalIconFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Icon; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.MetalIconFactory; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getMenuArrowIcon() method in the {@link MetalIconFactory} * class. */ public class getMenuArrowIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Icon icon = MetalIconFactory.getMenuArrowIcon(); harness.check(icon.getIconWidth(), 4); harness.check(icon.getIconHeight(), 8); harness.check(icon instanceof UIResource); // check that a shared instance is returned each time Icon icon2 = MetalIconFactory.getMenuArrowIcon(); harness.check(icon == icon2); // set the MetalLookAndFeel and confirm that this icon is used // for 'Menu.arrowIcon' try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } harness.check(icon, UIManager.getIcon("Menu.arrowIcon")); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getTreeComputerIcon.java0000644000175000001440000000330210453445777030521 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalIconFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Icon; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.MetalIconFactory; /** * Some checks for the getTreeComputerIcon() method. */ public class getTreeComputerIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Icon icon = MetalIconFactory.getTreeComputerIcon(); harness.check(icon.getIconWidth(), 16); harness.check(icon.getIconHeight(), 16); harness.check(icon instanceof UIResource); // check that the method returns a shared instance... Icon icon2 = MetalIconFactory.getTreeComputerIcon(); harness.check(icon == icon2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getTreeFolderIcon.java0000644000175000001440000000330110453445777030135 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalIconFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Icon; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.MetalIconFactory; /** * Some checks for the getTreeFolderIcon() method. */ public class getTreeFolderIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Icon icon = MetalIconFactory.getTreeFolderIcon(); harness.check(icon.getIconWidth(), 16); harness.check(icon.getIconHeight(), 18); harness.check(!(icon instanceof UIResource)); // check that the method returns a new instance each time Icon icon2 = MetalIconFactory.getTreeFolderIcon(); harness.check(icon != icon2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/TreeFolderIcon/0000755000175000001440000000000012375316426026566 5ustar dokousers././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/TreeFolderIcon/getAdditionalHeight.javamauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/TreeFolderIcon/getAdditionalHeigh0000644000175000001440000000263110263520372032217 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalIconFactory.TreeFolderIcon; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.plaf.metal.MetalIconFactory.TreeFolderIcon; /** * Some checks for the getAdditionalHeight() method. */ public class getAdditionalHeight implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TreeFolderIcon icon = new TreeFolderIcon(); harness.check(icon.getAdditionalHeight(), 2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/TreeFolderIcon/getShift.java0000644000175000001440000000257110263520372031202 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalIconFactory.TreeFolderIcon; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.plaf.metal.MetalIconFactory.TreeFolderIcon; /** * Some checks for the getShift() method. */ public class getShift implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TreeFolderIcon icon = new TreeFolderIcon(); harness.check(icon.getShift(), -1); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getFileChooserHomeFolderIcon.java0000644000175000001440000000324210453445777032255 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalIconFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Icon; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.MetalIconFactory; /** * Some checks for the getFileChooserHomeFolderIcon() method. */ public class getFileChooserHomeFolderIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Icon icon = MetalIconFactory.getFileChooserHomeFolderIcon(); harness.check(icon.getIconWidth(), 18); harness.check(icon.getIconHeight(), 18); harness.check(icon instanceof UIResource); Icon icon2 = MetalIconFactory.getFileChooserHomeFolderIcon(); harness.check(icon == icon2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getRadioButtonMenuItemIcon.java0000644000175000001440000000333110453445777032003 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalIconFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Icon; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.MetalIconFactory; /** * Some checks for the getRadioButtonMenuItemIcon() method. */ public class getRadioButtonMenuItemIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Icon icon = MetalIconFactory.getRadioButtonMenuItemIcon(); harness.check(icon.getIconWidth(), 10); harness.check(icon.getIconHeight(), 10); harness.check(icon instanceof UIResource); // check that a shared instance is returned each time Icon icon2 = MetalIconFactory.getRadioButtonMenuItemIcon(); harness.check(icon == icon2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getInternalFrameCloseIcon.java0000644000175000001440000000332210453445777031622 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalIconFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Icon; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.MetalIconFactory; /** * Some checks for the getInternalFrameCloseIcon() method. */ public class getInternalFrameCloseIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Icon icon = MetalIconFactory.getInternalFrameCloseIcon(8); harness.check(icon.getIconWidth(), 8); harness.check(icon.getIconHeight(), 8); harness.check(icon instanceof UIResource); // check that a new instance is returned each time Icon icon2 = MetalIconFactory.getInternalFrameCloseIcon(8); harness.check(icon != icon2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getMenuItemArrowIcon.java0000644000175000001440000000451410453445777030647 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalIconFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Icon; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.MetalIconFactory; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getMenuItemArrowIcon() method in the * {@link MetalIconFactory} class. */ public class getMenuItemArrowIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Icon icon = MetalIconFactory.getMenuItemArrowIcon(); harness.check(icon.getIconWidth(), 4); harness.check(icon.getIconHeight(), 8); harness.check(icon instanceof UIResource); // check that a shared instance is returned each time Icon icon2 = MetalIconFactory.getMenuItemArrowIcon(); harness.check(icon == icon2); // check that this is a different instance (at least) to getMenuArrowIcon() harness.check(icon != MetalIconFactory.getMenuArrowIcon()); // set the MetalLookAndFeel and confirm that this icon is used // for 'MenuItem.arrowIcon' try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } harness.check(icon, UIManager.getIcon("MenuItem.arrowIcon")); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getTreeFloppyDriveIcon.java0000644000175000001440000000322010453445777031165 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalIconFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Icon; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.MetalIconFactory; /** * Some checks for the getTreeFloppyDriveIcon() method. */ public class getTreeFloppyDriveIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Icon icon = MetalIconFactory.getTreeFloppyDriveIcon(); harness.check(icon.getIconWidth(), 16); harness.check(icon.getIconHeight(), 16); harness.check(icon instanceof UIResource); Icon icon2 = MetalIconFactory.getTreeFloppyDriveIcon(); harness.check(icon == icon2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getFileChooserDetailViewIcon.java0000644000175000001440000000334110453445777032266 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalIconFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Icon; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.MetalIconFactory; /** * Some checks for the getFileChooserDetailViewIcon() method. */ public class getFileChooserDetailViewIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Icon icon = MetalIconFactory.getFileChooserDetailViewIcon(); harness.check(icon.getIconWidth(), 18); harness.check(icon.getIconHeight(), 18); harness.check(icon instanceof UIResource); // check that the method returns a shared instance Icon icon2 = MetalIconFactory.getFileChooserDetailViewIcon(); harness.check(icon == icon2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalComboBoxUI/0000755000175000001440000000000012375316426023450 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalComboBoxUI/MyMetalComboBoxUI.java0000644000175000001440000000247310351534415027550 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalComboBoxUI; import java.awt.Dimension; import javax.swing.JButton; import javax.swing.plaf.metal.MetalComboBoxUI; /** * Provides access to protected info. */ public class MyMetalComboBoxUI extends MetalComboBoxUI { public JButton createArrowButton() { return super.createArrowButton(); } public JButton getArrowButton() { return this.arrowButton; } public Dimension getDisplaySize() { return super.getDisplaySize(); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalComboBoxUI/getMinimumSize.java0000644000175000001440000002271411015022011027235 0ustar dokousers// Tags: JDK1.5 // Uses: MyMetalComboBoxUI // Copyright (C) 2005, 2006 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalComboBoxUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Insets; import javax.swing.DefaultComboBoxModel; import javax.swing.JComboBox; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalComboBoxButton; import javax.swing.plaf.metal.MetalComboBoxIcon; import javax.swing.plaf.metal.MetalComboBoxUI; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getMinimumSize() method in the * {@link MetalComboBoxUI} class. */ public class getMinimumSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // test with a known LAF/theme try { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } test1(harness); test2(harness); testEditable(harness); testEditableWithCustomFont(harness); } public void test1(TestHarness harness) { JComboBox cb = new JComboBox(); MyMetalComboBoxUI ui = new MyMetalComboBoxUI(); cb.setUI(ui); Insets insets = ui.getArrowButton().getInsets(); Insets comboInsets = cb.getInsets(); MetalComboBoxButton b = (MetalComboBoxButton) ui.getArrowButton(); Dimension displaySize = ui.getDisplaySize(); int width = displaySize.width + insets.left + 2 * insets.right + comboInsets.left + comboInsets.right + b.getComboIcon().getIconWidth(); int height = displaySize.height + comboInsets.top + comboInsets.bottom + insets.top + insets.bottom; harness.check(ui.getMinimumSize(cb), new Dimension(width, height)); // the width is the display width plus the button width and // the button width is equal to 'height' cb.setModel(new DefaultComboBoxModel(new Object[] {"X"})); displaySize = ui.getDisplaySize(); width = displaySize.width + insets.left + 2 * insets.right + comboInsets.left + comboInsets.right + b.getComboIcon().getIconWidth(); height = displaySize.height + comboInsets.top + comboInsets.bottom + insets.top + insets.bottom; harness.check(ui.getMinimumSize(cb), new Dimension(width, height)); cb.setPrototypeDisplayValue("XX"); displaySize = ui.getDisplaySize(); width = displaySize.width + insets.left + 2 * insets.right + comboInsets.left + comboInsets.right + b.getComboIcon().getIconWidth(); height = displaySize.height + comboInsets.top + comboInsets.bottom + insets.top + insets.bottom; harness.check(ui.getMinimumSize(cb), new Dimension(width, height)); } /** * Checks the minimum size for a non-editable JComboBox with a custom font. * * @param harness */ public void test2(TestHarness harness) { JComboBox cb = new JComboBox(); cb.setFont(new Font("Dialog", Font.PLAIN, 24)); MyMetalComboBoxUI ui = new MyMetalComboBoxUI(); cb.setUI(ui); MetalComboBoxButton button = (MetalComboBoxButton) ui.getArrowButton(); MetalComboBoxIcon icon = (MetalComboBoxIcon) button.getComboIcon(); Insets insets = button.getInsets(); int additionalWidth = insets.left + insets.right + 2; int additionalHeight = insets.top + insets.bottom + 2; int iconWidth = icon.getIconWidth() + 6; // a margin = 6 by trial and // error FontMetrics fm = cb.getFontMetrics(cb.getFont()); // the following width calculation is a guess. We know the value // depends on the font size, and that it is relatively small, so after // trying out a few candidates this one seems to give the right result int width = fm.charWidth(' ') + additionalWidth + iconWidth; int height = fm.getHeight() + additionalHeight; harness.check(ui.getMinimumSize(cb), new Dimension(width, height)); // the width is the display width plus the button width and // the button width is equal to 'height' cb.setModel(new DefaultComboBoxModel(new Object[] {"X"})); width = fm.charWidth('X') + additionalWidth + iconWidth; harness.check(ui.getMinimumSize(cb), new Dimension(width, height)); cb.setPrototypeDisplayValue("XX"); width = fm.stringWidth("XX") + additionalWidth + iconWidth; harness.check(ui.getMinimumSize(cb), new Dimension(width, height)); } private void testEditable(TestHarness harness) { harness.checkPoint("testEditable()"); JComboBox cb = new JComboBox(); MyMetalComboBoxUI ui = new MyMetalComboBoxUI(); cb.setUI(ui); cb.setEditable(true); // Check empty ComboBox. Dimension dSize = ui.getDisplaySize(); Insets i = cb.getInsets(); Insets arrowMargin = ui.getArrowButton().getMargin(); int width = dSize.width + i.left + i.right + dSize.height + arrowMargin.left + arrowMargin.right; int height = dSize.height + i.top + i.bottom + arrowMargin.top + arrowMargin.bottom; harness.check(ui.getMinimumSize(cb), new Dimension(width, height)); // Check ComboBox with one element. cb.setModel(new DefaultComboBoxModel(new Object[] {"X"})); harness.check(ui.getMinimumSize(cb), new Dimension(width, height)); cb.setPrototypeDisplayValue("XX"); harness.check(ui.getMinimumSize(cb), new Dimension(width, height)); // repeat the tests with a different font JComboBox cb2 = new JComboBox(); MyMetalComboBoxUI ui2 = new MyMetalComboBoxUI(); cb2.setUI(ui2); cb2.setEditable(true); cb2.setFont(new Font("Dialog", Font.PLAIN, 24)); dSize = ui2.getDisplaySize(); i = cb2.getInsets(); arrowMargin = ui2.getArrowButton().getMargin(); width = dSize.width + i.left + i.right + dSize.height + arrowMargin.left + arrowMargin.right; height = dSize.height + i.top + i.bottom + arrowMargin.top + arrowMargin.bottom; harness.check(ui2.getMinimumSize(cb2), new Dimension(width, height)); cb2.setModel(new DefaultComboBoxModel(new Object[] {"X"})); harness.check(ui2.getMinimumSize(cb2), new Dimension(width, height)); cb2.setPrototypeDisplayValue("XX"); harness.check(ui2.getMinimumSize(cb2), new Dimension(width, height)); } /** * Checks the minimum size for an editable JComboBox with a custom font. * * @param harness */ public void testEditableWithCustomFont(TestHarness harness) { harness.checkPoint("testEditableWithCustomFont()"); JComboBox cb = new JComboBox(); cb.setFont(new Font("Dialog", Font.PLAIN, 24)); MyMetalComboBoxUI ui = new MyMetalComboBoxUI(); cb.setUI(ui); cb.setEditable(true); Dimension dSize = ui.getDisplaySize(); Insets i = cb.getInsets(); Insets arrowMargin = ui.getArrowButton().getMargin(); int width = dSize.width + i.left + i.right + dSize.height + arrowMargin.left + arrowMargin.right; int height = dSize.height + i.top + i.bottom + arrowMargin.top + arrowMargin.bottom; harness.check(ui.getPreferredSize(cb), new Dimension(width, height)); cb.setModel(new DefaultComboBoxModel(new Object[] {"X"})); harness.check(ui.getPreferredSize(cb), new Dimension(width, height)); cb.setPrototypeDisplayValue("XX"); harness.check(ui.getPreferredSize(cb), new Dimension(width, height)); // repeat the tests with a different font JComboBox cb2 = new JComboBox(); MyMetalComboBoxUI ui2 = new MyMetalComboBoxUI(); cb2.setUI(ui2); cb2.setEditable(true); cb2.setFont(new Font("Dialog", Font.PLAIN, 24)); dSize = ui2.getDisplaySize(); i = cb2.getInsets(); arrowMargin = ui2.getArrowButton().getMargin(); width = dSize.width + i.left + i.right + dSize.height + arrowMargin.left + arrowMargin.right; height = dSize.height + i.top + i.bottom + arrowMargin.top + arrowMargin.bottom; harness.check(ui2.getPreferredSize(cb2), new Dimension(width, height)); cb2.setModel(new DefaultComboBoxModel(new Object[] {"X"})); harness.check(ui2.getPreferredSize(cb2), new Dimension(width, height)); cb2.setPrototypeDisplayValue("XX"); harness.check(ui2.getPreferredSize(cb2), new Dimension(width, height)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalComboBoxUI/getDisplaySize.java0000644000175000001440000001214611015022011027225 0ustar dokousers// Tags: JDK1.2 // Uses: MyMetalComboBoxUI ../../basic/BasicComboBoxUI/MyBasicComboBoxUI // Copyright (C) 2005, 2006 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalComboBoxUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.plaf.TestLookAndFeel; import gnu.testlet.javax.swing.plaf.basic.BasicComboBoxUI.MyBasicComboBoxUI; import java.awt.Dimension; import java.awt.FontMetrics; import javax.swing.JComboBox; import javax.swing.JTextField; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalComboBoxUI; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getDisplaySize() method in the * {@link MetalComboBoxUI} class. This is an inherited method. */ public class getDisplaySize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testNotEditable(harness); testEditable(harness); } /** * Run some checks for a JComboBox that is not editable. * * @param harness the test harness. */ private void testNotEditable(TestHarness harness) { try { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } JComboBox cb = new JComboBox(); MyMetalComboBoxUI ui = new MyMetalComboBoxUI(); cb.setUI(ui); int additionalHeight = 2; // margin? border? int additionalWidth = 2; FontMetrics fm = cb.getFontMetrics(cb.getFont()); // the following width calculation is a guess. We know the value // depends on the font size, and that it is relatively small, so after // trying out a few candidates this one seems to give the right result int width = fm.charWidth(' ') + additionalWidth; int height = fm.getHeight() + additionalHeight; harness.check(ui.getDisplaySize(), new Dimension(width, height)); cb.addItem("ABC"); width = fm.stringWidth("ABC") + additionalWidth; harness.check(ui.getDisplaySize(), new Dimension(width, height)); cb.addItem("A longer item"); width = fm.stringWidth("A longer item") + additionalWidth; harness.check(ui.getDisplaySize(), new Dimension(width, height)); cb.setPrototypeDisplayValue("Prototype"); width = fm.stringWidth("Prototype") + additionalWidth; harness.check(ui.getDisplaySize(), new Dimension(width, height)); } /** * Run some checks for a JComboBox that is editable. * * @param harness the test harness. */ private void testEditable(TestHarness harness) { try { UIManager.setLookAndFeel(new TestLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } JComboBox cb = new JComboBox(); cb.setEditable(true); MyBasicComboBoxUI ui = new MyBasicComboBoxUI(); cb.setUI(ui); JTextField tf = (JTextField) cb.getEditor().getEditorComponent(); int columns = tf.getColumns(); FontMetrics fm = cb.getFontMetrics(cb.getFont()); // for an editable JComboBox the display size is calculated from the // preferred size of the JTextField it seems, or the prototype display // value in some cases... int width = fm.charWidth('m') * columns; int height = fm.getHeight() + 2; // the 2 seems to be a fixed margin // not sure why the width here needs + 1.. harness.check(ui.getDisplaySize(), new Dimension(width + 1, height)); cb.addItem("ABC"); harness.check(ui.getDisplaySize(), new Dimension(width, height)); cb.addItem("A longer item"); harness.check(ui.getDisplaySize(), new Dimension(width, height)); cb.setPrototypeDisplayValue("Prototype"); harness.check(ui.getDisplaySize(), new Dimension(width, height)); cb.setPrototypeDisplayValue("Long Prototype Display Value"); width = fm.stringWidth("Long Prototype Display Value") + 2; harness.check(ui.getDisplaySize(), new Dimension(width, height)); // restore a sane look and feel try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (Exception e) { e.printStackTrace(); } } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalComboBoxUI/getPreferredSize.java0000644000175000001440000001242711015022011027540 0ustar dokousers// Tags: JDK1.5 // Uses: MyMetalComboBoxUI // Copyright (C) 2005, 2006 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalComboBoxUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import java.awt.Font; import java.awt.Insets; import javax.swing.DefaultComboBoxModel; import javax.swing.JComboBox; import javax.swing.plaf.metal.MetalComboBoxButton; import javax.swing.plaf.metal.MetalComboBoxUI; /** * Some checks for the getPreferredSize() method in the * {@link MetalComboBoxUI} class. */ public class getPreferredSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testNonEditable(harness); testEditable(harness); } private void testNonEditable(TestHarness harness) { harness.checkPoint("testNonEditable()"); JComboBox cb = new JComboBox(); MyMetalComboBoxUI ui = new MyMetalComboBoxUI(); cb.setUI(ui); Insets insets = ui.getArrowButton().getInsets(); Insets comboInsets = cb.getInsets(); MetalComboBoxButton b = (MetalComboBoxButton) ui.getArrowButton(); Dimension displaySize = ui.getDisplaySize(); int width = displaySize.width + insets.left + 2 * insets.right + comboInsets.left + comboInsets.right + b.getComboIcon().getIconWidth(); int height = displaySize.height + comboInsets.top + comboInsets.bottom + insets.top + insets.bottom; harness.check(ui.getPreferredSize(cb), new Dimension(width, height)); // the width is the display width plus the button width and // the button width is equal to 'height' cb.setModel(new DefaultComboBoxModel(new Object[] {"X"})); displaySize = ui.getDisplaySize(); width = displaySize.width + insets.left + 2 * insets.right + comboInsets.left + comboInsets.right + b.getComboIcon().getIconWidth(); height = displaySize.height + comboInsets.top + comboInsets.bottom + insets.top + insets.bottom; harness.check(ui.getPreferredSize(cb), new Dimension(width, height)); cb.setPrototypeDisplayValue("XX"); displaySize = ui.getDisplaySize(); width = displaySize.width + insets.left + 2 * insets.right + comboInsets.left + comboInsets.right + b.getComboIcon().getIconWidth(); height = displaySize.height + comboInsets.top + comboInsets.bottom + insets.top + insets.bottom; harness.check(ui.getPreferredSize(cb), new Dimension(width, height)); } private void testEditable(TestHarness harness) { harness.checkPoint("testEditable()"); JComboBox cb = new JComboBox(); MyMetalComboBoxUI ui = new MyMetalComboBoxUI(); cb.setUI(ui); cb.setEditable(true); // Check empty ComboBox. Dimension dSize = ui.getDisplaySize(); Insets i = cb.getInsets(); Insets arrowMargin = ui.getArrowButton().getMargin(); int width = dSize.width + i.left + i.right + dSize.height + arrowMargin.left + arrowMargin.right; int height = dSize.height + i.top + i.bottom + arrowMargin.top + arrowMargin.bottom; harness.check(ui.getPreferredSize(cb), new Dimension(width, height)); // Check ComboBox with one element. cb.setModel(new DefaultComboBoxModel(new Object[] {"X"})); harness.check(ui.getPreferredSize(cb), new Dimension(width, height)); cb.setPrototypeDisplayValue("XX"); harness.check(ui.getPreferredSize(cb), new Dimension(width, height)); // repeat the tests with a different font JComboBox cb2 = new JComboBox(); MyMetalComboBoxUI ui2 = new MyMetalComboBoxUI(); cb2.setUI(ui2); cb2.setEditable(true); cb2.setFont(new Font("Dialog", Font.PLAIN, 24)); dSize = ui2.getDisplaySize(); i = cb2.getInsets(); arrowMargin = ui2.getArrowButton().getMargin(); width = dSize.width + i.left + i.right + dSize.height + arrowMargin.left + arrowMargin.right; height = dSize.height + i.top + i.bottom + arrowMargin.top + arrowMargin.bottom; harness.check(ui2.getPreferredSize(cb2), new Dimension(width, height)); cb2.setModel(new DefaultComboBoxModel(new Object[] {"X"})); harness.check(ui2.getPreferredSize(cb2), new Dimension(width, height)); cb2.setPrototypeDisplayValue("XX"); harness.check(ui2.getPreferredSize(cb2), new Dimension(width, height)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalComboBoxUI/createArrowButton.java0000644000175000001440000000420611015022011027735 0ustar dokousers// Tags: JDK1.2 // Uses: MyMetalComboBoxUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalComboBoxUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Insets; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.UIManager; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.MetalComboBoxButton; import javax.swing.plaf.metal.MetalComboBoxUI; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the createArrowButton() method in the * {@link MetalComboBoxUI} class. */ public class createArrowButton implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (Exception e) { e.printStackTrace(); } JComboBox cb = new JComboBox(); MyMetalComboBoxUI ui = new MyMetalComboBoxUI(); cb.setUI(ui); JButton b = ui.createArrowButton(); harness.check(b instanceof MetalComboBoxButton); Insets insets = b.getInsets(); harness.check(insets, new Insets(3, 4, 4, 6)); Insets margin = b.getMargin(); harness.check(margin, new Insets(0, 1, 1, 3)); harness.check(!(margin instanceof UIResource)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/0000755000175000001440000000000012375316426024051 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getMenuTextFont.java0000644000175000001440000000470710501537460030014 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.DefaultMetalTheme; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Font; import javax.swing.UIManager; import javax.swing.plaf.FontUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; /** * Some checks for the getMenuTextFont() method. */ public class getMenuTextFont implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultMetalTheme t = new DefaultMetalTheme(); FontUIResource f = t.getMenuTextFont(); harness.check(f, new FontUIResource("Dialog", Font.BOLD, 12)); FontUIResource f2 = t.getMenuTextFont(); harness.check(f == f2); // setting defaults property doesn't affect already created themes... UIManager.put("swing.boldMetal", Boolean.FALSE); f = t.getMenuTextFont(); harness.check(f, new FontUIResource("Dialog", Font.BOLD, 12)); // ...but is picked up by new themes DefaultMetalTheme t2 = new DefaultMetalTheme(); f = t2.getMenuTextFont(); harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 12)); // set it to true UIManager.put("swing.boldMetal", Boolean.TRUE); DefaultMetalTheme t3 = new DefaultMetalTheme(); f = t3.getMenuTextFont(); harness.check(f, new FontUIResource("Dialog", Font.BOLD, 12)); // clear it again UIManager.put("swing.boldMetal", null); DefaultMetalTheme t4 = new DefaultMetalTheme(); f = t4.getMenuTextFont(); harness.check(f, new FontUIResource("Dialog", Font.BOLD, 12)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getSystemTextFont.java0000644000175000001440000000472010501537460030367 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.DefaultMetalTheme; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Font; import javax.swing.UIManager; import javax.swing.plaf.FontUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; /** * Some checks for the getSystemTextFont() method. */ public class getSystemTextFont implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultMetalTheme t = new DefaultMetalTheme(); FontUIResource f = t.getSystemTextFont(); harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 12)); FontUIResource f2 = t.getSystemTextFont(); harness.check(f == f2); // setting defaults property doesn't affect this font... UIManager.put("swing.boldMetal", Boolean.TRUE); f = t.getSystemTextFont(); harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 12)); // ...but is picked up by new themes DefaultMetalTheme t2 = new DefaultMetalTheme(); f = t2.getSystemTextFont(); harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 12)); // set it to false UIManager.put("swing.boldMetal", Boolean.FALSE); DefaultMetalTheme t3 = new DefaultMetalTheme(); f = t3.getSystemTextFont(); harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 12)); // clear it again UIManager.put("swing.boldMetal", null); DefaultMetalTheme t4 = new DefaultMetalTheme(); f = t4.getSystemTextFont(); harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 12)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getUserTextFont.java0000644000175000001440000000470210501537460030021 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.DefaultMetalTheme; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Font; import javax.swing.UIManager; import javax.swing.plaf.FontUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; /** * Some checks for the getUserTextFont() method. */ public class getUserTextFont implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultMetalTheme t = new DefaultMetalTheme(); FontUIResource f = t.getUserTextFont(); harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 12)); FontUIResource f2 = t.getUserTextFont(); harness.check(f == f2); // setting defaults property doesn't affect this font... UIManager.put("swing.boldMetal", Boolean.TRUE); f = t.getUserTextFont(); harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 12)); // ...but is picked up by new themes DefaultMetalTheme t2 = new DefaultMetalTheme(); f = t2.getUserTextFont(); harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 12)); // set it to false UIManager.put("swing.boldMetal", Boolean.FALSE); DefaultMetalTheme t3 = new DefaultMetalTheme(); f = t3.getUserTextFont(); harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 12)); // clear it again UIManager.put("swing.boldMetal", null); DefaultMetalTheme t4 = new DefaultMetalTheme(); f = t4.getUserTextFont(); harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 12)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getSubTextFont.java0000644000175000001440000000467010501537460027640 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.DefaultMetalTheme; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Font; import javax.swing.UIManager; import javax.swing.plaf.FontUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; /** * Some checks for the getSubTextFont() method. */ public class getSubTextFont implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultMetalTheme t = new DefaultMetalTheme(); FontUIResource f = t.getSubTextFont(); harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 10)); FontUIResource f2 = t.getSubTextFont(); harness.check(f == f2); // setting defaults property doesn't affect this font... UIManager.put("swing.boldMetal", Boolean.TRUE); f = t.getSubTextFont(); harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 10)); // ...but is picked up by new themes DefaultMetalTheme t2 = new DefaultMetalTheme(); f = t2.getSubTextFont(); harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 10)); // set it to false UIManager.put("swing.boldMetal", Boolean.FALSE); DefaultMetalTheme t3 = new DefaultMetalTheme(); f = t3.getSubTextFont(); harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 10)); // clear it again UIManager.put("swing.boldMetal", null); DefaultMetalTheme t4 = new DefaultMetalTheme(); f = t4.getSubTextFont(); harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 10)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getControlTextFont.java0000644000175000001440000000474510501537460030532 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2005, 2006 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.DefaultMetalTheme; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Font; import javax.swing.UIManager; import javax.swing.plaf.FontUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; /** * Some checks for the getControlTextFont() method. */ public class getControlTextFont implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultMetalTheme t = new DefaultMetalTheme(); FontUIResource f = t.getControlTextFont(); harness.check(f, new FontUIResource("Dialog", Font.BOLD, 12)); FontUIResource f2 = t.getControlTextFont(); harness.check(f == f2); // setting defaults property doesn't affect already created themes... UIManager.put("swing.boldMetal", Boolean.FALSE); f = t.getControlTextFont(); harness.check(f, new FontUIResource("Dialog", Font.BOLD, 12)); // ...but is picked up by new themes DefaultMetalTheme t2 = new DefaultMetalTheme(); f = t2.getControlTextFont(); harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 12)); // set it to true UIManager.put("swing.boldMetal", Boolean.TRUE); DefaultMetalTheme t3 = new DefaultMetalTheme(); f = t3.getControlTextFont(); harness.check(f, new FontUIResource("Dialog", Font.BOLD, 12)); // clear it again UIManager.put("swing.boldMetal", null); DefaultMetalTheme t4 = new DefaultMetalTheme(); f = t4.getControlTextFont(); harness.check(f, new FontUIResource("Dialog", Font.BOLD, 12)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getWindowTitleFont.java0000644000175000001440000000472510501537460030514 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.DefaultMetalTheme; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Font; import javax.swing.UIManager; import javax.swing.plaf.FontUIResource; import javax.swing.plaf.metal.DefaultMetalTheme; /** * Some checks for the getWindowTitleFont() method. */ public class getWindowTitleFont implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultMetalTheme t = new DefaultMetalTheme(); FontUIResource f = t.getWindowTitleFont(); harness.check(f, new FontUIResource("Dialog", Font.BOLD, 12)); FontUIResource f2 = t.getWindowTitleFont(); harness.check(f == f2); // setting defaults property doesn't affect this font... UIManager.put("swing.boldMetal", Boolean.TRUE); f = t.getWindowTitleFont(); harness.check(f, new FontUIResource("Dialog", Font.BOLD, 12)); // ...but is picked up by new themes DefaultMetalTheme t2 = new DefaultMetalTheme(); f = t2.getWindowTitleFont(); harness.check(f, new FontUIResource("Dialog", Font.BOLD, 12)); // set it to false UIManager.put("swing.boldMetal", Boolean.FALSE); DefaultMetalTheme t3 = new DefaultMetalTheme(); f = t3.getWindowTitleFont(); harness.check(f, new FontUIResource("Dialog", Font.BOLD, 12)); // clear it again UIManager.put("swing.boldMetal", null); DefaultMetalTheme t4 = new DefaultMetalTheme(); f = t4.getWindowTitleFont(); harness.check(f, new FontUIResource("Dialog", Font.BOLD, 12)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getName.java0000644000175000001440000000253710261204547026273 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.DefaultMetalTheme; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.plaf.metal.DefaultMetalTheme; /** * Some checks for the getName() method. */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultMetalTheme t = new DefaultMetalTheme(); harness.check(t.getName(), "Steel"); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/DefaultMetalThemeTest.java0000644000175000001440000000331610163301641031073 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Free Software Foundation, Inc. // Written by Michael Koch (konqueror@gmx.de) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.DefaultMetalTheme; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.plaf.*; import javax.swing.plaf.metal.*; public class DefaultMetalThemeTest extends DefaultMetalTheme implements Testlet { private void check(TestHarness h, ColorUIResource color, int r, int g, int b) { h.check(color.getRed(), r, "red color component"); h.check(color.getGreen(), g, "green color component"); h.check(color.getBlue(), b, "blue color component"); } public void test(TestHarness h) { h.check(getName(), "Steel", "name of theme"); check(h, getPrimary1(), 102, 102, 153); check(h, getPrimary2(), 153, 153, 204); check(h, getPrimary3(), 204, 204, 255); check(h, getSecondary1(), 102, 102, 102); check(h, getSecondary2(), 153, 153, 153); check(h, getSecondary3(), 204, 204, 204); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalScrollButton/0000755000175000001440000000000012375316426024134 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalScrollButton/getMinimumSize.java0000644000175000001440000000661310323413301027730 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalScrollButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import javax.swing.plaf.metal.MetalScrollButton; /** * Some checks for the getMinimumSize() method in the * {@link MetalScrollButton} class. */ public class getMinimumSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalScrollButton b = new MetalScrollButton(MetalScrollButton.NORTH, 27, true); harness.check(b.getMinimumSize(), new Dimension(27, 25)); b = new MetalScrollButton(MetalScrollButton.NORTH, 27, false); harness.check(b.getMinimumSize(), new Dimension(27, 25)); b = new MetalScrollButton(MetalScrollButton.NORTH, 15, true); harness.check(b.getMinimumSize(), new Dimension(15, 13)); b = new MetalScrollButton(MetalScrollButton.NORTH, 15, false); harness.check(b.getMinimumSize(), new Dimension(15, 13)); b = new MetalScrollButton(MetalScrollButton.EAST, 27, true); harness.check(b.getMinimumSize(), new Dimension(26, 27)); b = new MetalScrollButton(MetalScrollButton.EAST, 27, false); harness.check(b.getMinimumSize(), new Dimension(25, 27)); b = new MetalScrollButton(MetalScrollButton.EAST, 15, true); harness.check(b.getMinimumSize(), new Dimension(14, 15)); b = new MetalScrollButton(MetalScrollButton.EAST, 15, false); harness.check(b.getMinimumSize(), new Dimension(13, 15)); b = new MetalScrollButton(MetalScrollButton.SOUTH, 27, true); harness.check(b.getMinimumSize(), new Dimension(27, 26)); b = new MetalScrollButton(MetalScrollButton.SOUTH, 27, false); harness.check(b.getMinimumSize(), new Dimension(27, 25)); b = new MetalScrollButton(MetalScrollButton.SOUTH, 15, true); harness.check(b.getMinimumSize(), new Dimension(15, 14)); b = new MetalScrollButton(MetalScrollButton.SOUTH, 15, false); harness.check(b.getMinimumSize(), new Dimension(15, 13)); b = new MetalScrollButton(MetalScrollButton.WEST, 27, true); harness.check(b.getMinimumSize(), new Dimension(25, 27)); b = new MetalScrollButton(MetalScrollButton.WEST, 27, false); harness.check(b.getMinimumSize(), new Dimension(25, 27)); b = new MetalScrollButton(MetalScrollButton.WEST, 15, true); harness.check(b.getMinimumSize(), new Dimension(13, 15)); b = new MetalScrollButton(MetalScrollButton.WEST, 15, false); harness.check(b.getMinimumSize(), new Dimension(13, 15)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalScrollButton/constructor.java0000644000175000001440000000336510323413301027350 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalScrollButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.plaf.metal.MetalScrollButton; /** * Some checks for the constructor in the * {@link MetalScrollButton} class. */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalScrollButton b = new MetalScrollButton(MetalScrollButton.NORTH, 27, true); harness.check(b.getDirection(), MetalScrollButton.NORTH); harness.check(b.getButtonWidth(), 27); // try a bad direction b = new MetalScrollButton(999, 21, false); harness.check(b.getDirection(), 999); // try a negative width b = new MetalScrollButton(MetalScrollButton.NORTH, -21, false); harness.check(b.getButtonWidth(), -21); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalScrollButton/isFocusable.java0000644000175000001440000000246310444330266027234 0ustar dokousers/* isFocusable.java Copyright (C) 2006 Red Hat, Tania Bento This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags:1.4 package gnu.testlet.javax.swing.plaf.metal.MetalScrollButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.plaf.metal.MetalScrollButton; public class isFocusable implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalScrollButton b = new MetalScrollButton(0, 0, false); harness.check(b.isFocusable(), false); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalScrollButton/getMaximumSize.java0000644000175000001440000000301510323413301027723 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalScrollButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import javax.swing.plaf.metal.MetalScrollButton; /** * Some checks for the getMaximumSize() method in the * {@link MetalScrollButton} class. */ public class getMaximumSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalScrollButton b = new MetalScrollButton(MetalScrollButton.NORTH, 27, true); harness.check(b.getMaximumSize(), new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalScrollButton/getPreferredSize.java0000644000175000001440000000665710323413301030243 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalScrollButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import javax.swing.plaf.metal.MetalScrollButton; /** * Some checks for the getPreferredSize() method in the * {@link MetalScrollButton} class. */ public class getPreferredSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalScrollButton b = new MetalScrollButton(MetalScrollButton.NORTH, 27, true); harness.check(b.getPreferredSize(), new Dimension(27, 25)); b = new MetalScrollButton(MetalScrollButton.NORTH, 27, false); harness.check(b.getPreferredSize(), new Dimension(27, 25)); b = new MetalScrollButton(MetalScrollButton.NORTH, 15, true); harness.check(b.getPreferredSize(), new Dimension(15, 13)); b = new MetalScrollButton(MetalScrollButton.NORTH, 15, false); harness.check(b.getPreferredSize(), new Dimension(15, 13)); b = new MetalScrollButton(MetalScrollButton.EAST, 27, true); harness.check(b.getPreferredSize(), new Dimension(26, 27)); b = new MetalScrollButton(MetalScrollButton.EAST, 27, false); harness.check(b.getPreferredSize(), new Dimension(25, 27)); b = new MetalScrollButton(MetalScrollButton.EAST, 15, true); harness.check(b.getPreferredSize(), new Dimension(14, 15)); b = new MetalScrollButton(MetalScrollButton.EAST, 15, false); harness.check(b.getPreferredSize(), new Dimension(13, 15)); b = new MetalScrollButton(MetalScrollButton.SOUTH, 27, true); harness.check(b.getPreferredSize(), new Dimension(27, 26)); b = new MetalScrollButton(MetalScrollButton.SOUTH, 27, false); harness.check(b.getPreferredSize(), new Dimension(27, 25)); b = new MetalScrollButton(MetalScrollButton.SOUTH, 15, true); harness.check(b.getPreferredSize(), new Dimension(15, 14)); b = new MetalScrollButton(MetalScrollButton.SOUTH, 15, false); harness.check(b.getPreferredSize(), new Dimension(15, 13)); b = new MetalScrollButton(MetalScrollButton.WEST, 27, true); harness.check(b.getPreferredSize(), new Dimension(25, 27)); b = new MetalScrollButton(MetalScrollButton.WEST, 27, false); harness.check(b.getPreferredSize(), new Dimension(25, 27)); b = new MetalScrollButton(MetalScrollButton.WEST, 15, true); harness.check(b.getPreferredSize(), new Dimension(13, 15)); b = new MetalScrollButton(MetalScrollButton.WEST, 15, false); harness.check(b.getPreferredSize(), new Dimension(13, 15)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalScrollButton/getButtonWidth.java0000644000175000001440000000305510323413301027732 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalScrollButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.plaf.metal.MetalScrollButton; /** * Some checks for the getButtonWidth() method in the * {@link MetalScrollButton} class. */ public class getButtonWidth implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalScrollButton b = new MetalScrollButton(MetalScrollButton.NORTH, 27, true); harness.check(b.getButtonWidth(), 27); b = new MetalScrollButton(MetalScrollButton.EAST, 21, false); harness.check(b.getButtonWidth(), 21); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalScrollBarUI/0000755000175000001440000000000012375316426023623 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalScrollBarUI/layoutContainer.java0000644000175000001440000001260311015022012027617 0ustar dokousers// Tags: JDK1.2 // Uses: MyMetalScrollBarUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalScrollBarUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; import javax.swing.JScrollBar; import javax.swing.UIManager; import javax.swing.plaf.metal.MetalLookAndFeel; import javax.swing.plaf.metal.MetalScrollBarUI; /** * Some checks for the layoutContainer() method in the * {@link MetalScrollBarUI} class. */ public class layoutContainer implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // use a known look and feel try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (Exception e) { e.printStackTrace(); } testHorizontal(harness); testHorizontalFreeStanding(harness); testVertical(harness); testVerticalFreeStanding(harness); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void testHorizontal(TestHarness harness) { harness.checkPoint("testHorizontal()"); MyMetalScrollBarUI ui = new MyMetalScrollBarUI(); JScrollBar scrollBar = new JScrollBar(JScrollBar.HORIZONTAL); scrollBar.putClientProperty("JScrollBar.isFreeStanding", Boolean.FALSE); scrollBar.setUI(ui); scrollBar.setBounds(0, 0, 100, 20); ui.layoutContainer(scrollBar); harness.check(ui.getTrackBounds(), new Rectangle(15, 0, 70, 20)); harness.check(ui.getThumbBounds(), new Rectangle(15, 0, 15, 20)); scrollBar.setBounds(40, 50, 250, 37); ui.layoutContainer(scrollBar); harness.check(ui.getTrackBounds(), new Rectangle(15, 0, 220, 37)); harness.check(ui.getThumbBounds(), new Rectangle(15, 0, 22, 37)); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void testHorizontalFreeStanding(TestHarness harness) { harness.checkPoint("testHorizontalFreeStanding()"); MyMetalScrollBarUI ui = new MyMetalScrollBarUI(); JScrollBar scrollBar = new JScrollBar(JScrollBar.HORIZONTAL); scrollBar.putClientProperty("JScrollBar.isFreeStanding", Boolean.TRUE); scrollBar.setUI(ui); scrollBar.setBounds(0, 0, 100, 20); ui.layoutContainer(scrollBar); harness.check(ui.getTrackBounds(), new Rectangle(15, 0, 69, 20)); harness.check(ui.getThumbBounds(), new Rectangle(15, 0, 17, 20)); scrollBar.setBounds(40, 50, 250, 37); ui.layoutContainer(scrollBar); harness.check(ui.getTrackBounds(), new Rectangle(15, 0, 219, 37)); harness.check(ui.getThumbBounds(), new Rectangle(15, 0, 21, 37)); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void testVertical(TestHarness harness) { harness.checkPoint("testVertical()"); MyMetalScrollBarUI ui = new MyMetalScrollBarUI(); JScrollBar scrollBar = new JScrollBar(JScrollBar.VERTICAL); scrollBar.putClientProperty("JScrollBar.isFreeStanding", Boolean.FALSE); scrollBar.setUI(ui); scrollBar.setBounds(0, 0, 20, 100); ui.layoutContainer(scrollBar); harness.check(ui.getTrackBounds(), new Rectangle(0, 15, 20, 70)); harness.check(ui.getThumbBounds(), new Rectangle(0, 15, 20, 15)); scrollBar.setBounds(40, 50, 37, 250); ui.layoutContainer(scrollBar); harness.check(ui.getTrackBounds(), new Rectangle(0, 15, 37, 220)); harness.check(ui.getThumbBounds(), new Rectangle(0, 15, 37, 22)); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void testVerticalFreeStanding(TestHarness harness) { harness.checkPoint("testVerticalFreeStanding()"); MyMetalScrollBarUI ui = new MyMetalScrollBarUI(); JScrollBar scrollBar = new JScrollBar(JScrollBar.VERTICAL); scrollBar.putClientProperty("JScrollBar.isFreeStanding", Boolean.TRUE); scrollBar.setUI(ui); scrollBar.setBounds(0, 0, 20, 100); ui.layoutContainer(scrollBar); harness.check(ui.getTrackBounds(), new Rectangle(0, 15, 20, 69)); harness.check(ui.getThumbBounds(), new Rectangle(0, 15, 20, 17)); scrollBar.setBounds(40, 50, 37, 250); ui.layoutContainer(scrollBar); harness.check(ui.getTrackBounds(), new Rectangle(0, 15, 37, 219)); harness.check(ui.getThumbBounds(), new Rectangle(0, 15, 37, 21)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalScrollBarUI/installDefaults.java0000644000175000001440000000352011015022011027572 0ustar dokousers/* installDefaults.java -- some checks for the installDefaults() method in the MetalScrollBarUI class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 // Uses: MyMetalScrollBarUI package gnu.testlet.javax.swing.plaf.metal.MetalScrollBarUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JScrollBar; import javax.swing.UIManager; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some tests for the initialisation performed in the installDefaults() method. */ public class installDefaults implements Testlet { public void test(TestHarness harness) { // use a known look and feel try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (Exception e) { e.printStackTrace(); } MyMetalScrollBarUI ui = new MyMetalScrollBarUI(); harness.check(ui.getScrollBarWidthField(), 0); ui.setScrollbar(new JScrollBar()); ui.installDefaults(); // the scrollBarWidth field must be initialised, the JGoodies Plastic // look and feel relies on this... harness.check(ui.getScrollBarWidthField(), 17); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalScrollBarUI/constructor.java0000644000175000001440000000533411015022011027026 0ustar dokousers// Tags: JDK1.2 // Uses: MyMetalScrollBarUI // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalScrollBarUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.BorderLayout; import java.awt.Rectangle; import javax.swing.JPanel; import javax.swing.JScrollBar; import javax.swing.UIManager; import javax.swing.plaf.metal.MetalLookAndFeel; import javax.swing.plaf.metal.MetalScrollBarUI; /** * Some checks for the constructor in the {@link MetalScrollBarUI} class. */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // use a known look and feel try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (Exception e) { e.printStackTrace(); } MyMetalScrollBarUI ui = new MyMetalScrollBarUI(); harness.check(ui.getTrackBounds(), null); harness.check(ui.getThumbBounds(), null); harness.check(ui.getScrollBarWidthField(), 0); JScrollBar scrollBar = new JScrollBar(JScrollBar.HORIZONTAL); scrollBar.setUI(ui); harness.check(ui.getTrackBounds(), new Rectangle(0, 0, 0, 0)); harness.check(ui.getThumbBounds(), new Rectangle(0, 0, 0, 0)); scrollBar.setBounds(0, 0, 100, 20); harness.check(ui.getTrackBounds(), new Rectangle(0, 0, 0, 0)); harness.check(ui.getThumbBounds(), new Rectangle(0, 0, 0, 0)); JPanel panel = new JPanel(new BorderLayout()); panel.setSize(100, 20); panel.add(scrollBar); panel.doLayout(); harness.check(ui.getTrackBounds(), new Rectangle(0, 0, 0, 0)); harness.check(ui.getThumbBounds(), new Rectangle(0, 0, 0, 0)); ui.layoutContainer(scrollBar); harness.check(ui.getTrackBounds(), new Rectangle(15, 0, 69, 20)); harness.check(ui.getThumbBounds(), new Rectangle(15, 0, 17, 20)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalScrollBarUI/MyMetalScrollBarUI.java0000644000175000001440000000355210477762401030104 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005, 2006, David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalScrollBarUI; import java.awt.Dimension; import java.awt.Rectangle; import javax.swing.JScrollBar; import javax.swing.plaf.metal.MetalScrollBarUI; /** * Provides access to protected methods for testing purposes. */ public class MyMetalScrollBarUI extends MetalScrollBarUI { public MyMetalScrollBarUI() { super(); } /** * Overrides installDefaults() to enable public access in tests. */ public void installDefaults() { super.installDefaults(); } /** * Sets the value of the (otherwise protected) field scrollbar. * * @param sb the scrollbar to set */ public void setScrollbar(JScrollBar sb) { scrollbar = sb; } public int getScrollBarWidthField() { return this.scrollBarWidth; } public Dimension getMinimumThumbSize() { return super.getMinimumThumbSize(); } public Rectangle getTrackBounds() { return super.getTrackBounds(); } public Rectangle getThumbBounds() { return super.getThumbBounds(); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalScrollBarUI/getMinimumThumbSize.java0000644000175000001440000000356111015022011030407 0ustar dokousers// Tags: JDK1.2 // Uses: MyMetalScrollBarUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalScrollBarUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import javax.swing.JScrollBar; import javax.swing.plaf.metal.MetalScrollBarUI; /** * Some checks for the getMinimumThumbSize() method in the * {@link MetalScrollBarUI} class. */ public class getMinimumThumbSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyMetalScrollBarUI ui = new MyMetalScrollBarUI(); harness.check(ui.getMinimumThumbSize(), new Dimension(0, 0)); JScrollBar sb = new JScrollBar(JScrollBar.HORIZONTAL); sb.setUI(ui); sb.putClientProperty("JScrollBar.isFreeStanding", Boolean.FALSE); harness.check(ui.getMinimumThumbSize(), new Dimension(15, 15)); sb.putClientProperty("JScrollBar.isFreeStanding", Boolean.TRUE); harness.check(ui.getMinimumThumbSize(), new Dimension(17, 17)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalScrollBarUI/getPreferredSize.java0000644000175000001440000000422311015022011027706 0ustar dokousers// Tags: JDK1.2 // Uses: MyMetalScrollBarUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalScrollBarUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import javax.swing.JScrollBar; import javax.swing.UIManager; import javax.swing.plaf.metal.MetalLookAndFeel; import javax.swing.plaf.metal.MetalScrollBarUI; /** * Some checks for the getPreferredSize() method in the {@link MetalScrollBarUI} * class. */ public class getPreferredSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // use a known look and feel try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (Exception e) { e.printStackTrace(); } // test horizontal scroll bar MyMetalScrollBarUI ui = new MyMetalScrollBarUI(); JScrollBar scrollBar = new JScrollBar(JScrollBar.HORIZONTAL); scrollBar.setUI(ui); harness.check(ui.getPreferredSize(scrollBar), new Dimension(61, 17)); // test vertical scroll bar MyMetalScrollBarUI ui2 = new MyMetalScrollBarUI(); JScrollBar scrollBar2 = new JScrollBar(JScrollBar.VERTICAL); scrollBar2.setUI(ui2); harness.check(ui2.getPreferredSize(scrollBar2), new Dimension(17, 61)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalCheckBoxUI/0000755000175000001440000000000012375316426023426 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalCheckBoxUI/getPropertyPrefix.java0000644000175000001440000000260110305151620027752 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalCheckBoxUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.plaf.metal.MetalCheckBoxUI; /** * Some checks for the getPropertyPrefix() method. */ public class getPropertyPrefix implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalCheckBoxUI ui = new MetalCheckBoxUI(); harness.check(ui.getPropertyPrefix(), "CheckBox."); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalToggleButtonUI/0000755000175000001440000000000012375316426024355 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalToggleButtonUI/getSelectColor.java0000644000175000001440000000311410323412357030124 0ustar dokousers// Tags: JDK1.2 // Uses: MyMetalToggleButtonUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalToggleButtonUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JToggleButton; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getSelectColor() method. */ public class getSelectColor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyMetalToggleButtonUI ui = new MyMetalToggleButtonUI(); harness.check(ui.getSelectColor(), null); ui.installDefaults(new JToggleButton("Test")); harness.check(ui.getSelectColor(), MetalLookAndFeel.getControlShadow()); } }mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalToggleButtonUI/getDisabledTextColor.java0000644000175000001440000000316110323412357031263 0ustar dokousers// Tags: JDK1.2 // Uses: MyMetalToggleButtonUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalToggleButtonUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JToggleButton; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getDisabledTextColor() method. */ public class getDisabledTextColor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyMetalToggleButtonUI ui = new MyMetalToggleButtonUI(); harness.check(ui.getDisabledTextColor(), null); ui.installDefaults(new JToggleButton("Test")); harness.check(ui.getDisabledTextColor(), MetalLookAndFeel.getInactiveControlTextColor()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalToggleButtonUI/MyMetalToggleButtonUI.java0000644000175000001440000000254210323412357031356 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalToggleButtonUI; import java.awt.Color; import javax.swing.plaf.metal.MetalToggleButtonUI; /** * Provides access to protected fields and methods */ public class MyMetalToggleButtonUI extends MetalToggleButtonUI { public MyMetalToggleButtonUI() { } public Color getDisabledTextColor() { return super.getDisabledTextColor(); } public Color getFocusColor() { return super.getFocusColor(); } public Color getSelectColor() { return super.getSelectColor(); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalToggleButtonUI/getFocusColor.java0000644000175000001440000000310710323412357027766 0ustar dokousers// Tags: JDK1.2 // Uses: MyMetalToggleButtonUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalToggleButtonUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JToggleButton; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getFocusColor() method. */ public class getFocusColor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyMetalToggleButtonUI ui = new MyMetalToggleButtonUI(); harness.check(ui.getFocusColor(), null); ui.installDefaults(new JToggleButton("Test")); harness.check(ui.getFocusColor(), MetalLookAndFeel.getFocusColor()); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalFileChooserUI/0000755000175000001440000000000012375316426024142 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalFileChooserUI/getButtonPanel.java0000644000175000001440000000331411015022011027707 0ustar dokousers// Tags: JDK1.2 // Uses: MyMetalFileChooserUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalFileChooserUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JFileChooser; import javax.swing.JPanel; import javax.swing.plaf.metal.MetalFileChooserUI; /** * Some checks for the getButtonPanel() method in the * {@link MetalFileChooserUI} class. */ public class getButtonPanel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser fc = new JFileChooser(); MyMetalFileChooserUI ui = new MyMetalFileChooserUI(fc); // some 'get' methods actually create a new instance every time, but not // this one... JPanel p1 = ui.getButtonPanel(); JPanel p2 = ui.getButtonPanel(); harness.check(p1 == p2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalFileChooserUI/getMinimumSize.java0000644000175000001440000000454510370136334027752 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalFileChooserUI; import java.awt.Dimension; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JFileChooser; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalFileChooserUI; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getMinimumSize() method in the * {@link MetalFileChooserUI} class. */ public class getMinimumSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // test with DefaultMetalTheme try { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } JFileChooser fc = new JFileChooser(); MetalFileChooserUI ui = new MetalFileChooserUI(fc); // check that the method returns a new instance every time? Dimension d1 = ui.getPreferredSize(fc); Dimension d2 = ui.getPreferredSize(fc); harness.check(d1 != d2); // does the method look at the filechooser passed in? boolean pass = false; try { /*Dimension d3 =*/ ui.getPreferredSize(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalFileChooserUI/getBottomPanel.java0000644000175000001440000000340511015022011027701 0ustar dokousers// Tags: JDK1.2 // Uses: MyMetalFileChooserUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalFileChooserUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JFileChooser; import javax.swing.JPanel; import javax.swing.plaf.metal.MetalFileChooserUI; /** * Some checks for the getBottomPanel() method in the * {@link MetalFileChooserUI} class. */ public class getBottomPanel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser fc = new JFileChooser(); MyMetalFileChooserUI ui = new MyMetalFileChooserUI(fc); // some 'get' methods actually create a new instance every time, but not // this one... JPanel p1 = ui.getBottomPanel(); JPanel p2 = ui.getBottomPanel(); harness.check(p1 == p2); ui.installUI(fc); p2 = ui.getBottomPanel(); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalFileChooserUI/getMaximumSize.java0000644000175000001440000000362410345315150027746 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalFileChooserUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import javax.swing.JFileChooser; import javax.swing.plaf.metal.MetalFileChooserUI; /** * Some checks for the getMaximumSize() method in the * {@link MetalFileChooserUI} class. */ public class getMaximumSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser fc = new JFileChooser(); MetalFileChooserUI ui = new MetalFileChooserUI(fc); Dimension expected = new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE); Dimension d1 = ui.getMaximumSize(fc); harness.check(d1, expected); // check that the method returns a new instance every time? Dimension d2 = ui.getMaximumSize(fc); harness.check(d1 != d2); // does the method look at the filechooser passed in? Dimension d3 = ui.getMaximumSize(null); harness.check(d3, expected); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalFileChooserUI/createFilterComboBoxModel.java0000644000175000001440000000352411015022011032002 0ustar dokousers// Tags: JDK1.2 // Uses: MyMetalFileChooserUI ../../../JFileChooser/MyFileChooser // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalFileChooserUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.JFileChooser.MyFileChooser; import javax.swing.ComboBoxModel; import javax.swing.plaf.metal.MetalFileChooserUI; /** * Some checks for the createActionMap() method in the * {@link MetalFileChooserUI} class. */ public class createFilterComboBoxModel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyFileChooser fc = new MyFileChooser(); MyMetalFileChooserUI ui = new MyMetalFileChooserUI(fc); fc.setUI(ui); ComboBoxModel m = ui.createFilterComboBoxModel(); harness.check(m.getSize(), 1); harness.check(m.getElementAt(0), fc.getFileFilter()); ComboBoxModel m2 = ui.createFilterComboBoxModel(); harness.check(m != m2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalFileChooserUI/getFileName.java0000644000175000001440000000334210345315150027153 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalFileChooserUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.File; import javax.swing.JFileChooser; import javax.swing.plaf.metal.MetalFileChooserUI; /** * Some checks for the getFileName() method in the {@link MetalFileChooserUI} * class. */ public class getFileName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser fc = new JFileChooser(); MetalFileChooserUI ui = new MetalFileChooserUI(fc); harness.check(ui.getFileName(), null); ui.installUI(fc); harness.check(ui.getFileName(), ""); ui.setFileName("XYZ"); harness.check(ui.getFileName(), "XYZ"); fc.setCurrentDirectory(new File("ABC")); harness.check(ui.getFileName(), "XYZ"); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalFileChooserUI/MyMetalFileChooserUI.java0000644000175000001440000000362710345315150030732 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalFileChooserUI; import javax.swing.ActionMap; import javax.swing.JButton; import javax.swing.JFileChooser; import javax.swing.JPanel; import javax.swing.plaf.metal.MetalFileChooserUI; public class MyMetalFileChooserUI extends MetalFileChooserUI { public class MyFilterComboBoxModel extends FilterComboBoxModel { public MyFilterComboBoxModel() { } } public MyMetalFileChooserUI(JFileChooser fc) { super(fc); } /** * Provides access to this protected method in the super class. */ public JPanel getButtonPanel() { return super.getButtonPanel(); } /** * Provides access to this protected method in the super class. */ public JPanel getBottomPanel() { return super.getBottomPanel(); } public ActionMap createActionMap() { return super.createActionMap(); } public FilterComboBoxModel createFilterComboBoxModel() { return super.createFilterComboBoxModel(); } public JButton getApproveButton(JFileChooser fc) { return super.getApproveButton(fc); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalFileChooserUI/getPreferredSize.java0000644000175000001440000000455710370151655030263 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalFileChooserUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import javax.swing.JFileChooser; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalFileChooserUI; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getPreferredSize() method in the * {@link MetalFileChooserUI} class. */ public class getPreferredSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // test with DefaultMetalTheme try { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } JFileChooser fc = new JFileChooser(); MetalFileChooserUI ui = new MetalFileChooserUI(fc); // check that the method returns a new instance every time? Dimension d1 = ui.getPreferredSize(fc); Dimension d2 = ui.getPreferredSize(fc); harness.check(d1 != d2); // does the method look at the filechooser passed in? boolean pass = false; try { /*Dimension d3 =*/ ui.getPreferredSize(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalFileChooserUI/setFileName.java0000644000175000001440000000326610345315150027174 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalFileChooserUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JFileChooser; import javax.swing.plaf.metal.MetalFileChooserUI; /** * Some checks for the setFileName() method in the {@link MetalFileChooserUI} * class. */ public class setFileName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser fc = new JFileChooser(); MetalFileChooserUI ui = new MetalFileChooserUI(fc); harness.check(ui.getFileName(), null); ui.installUI(fc); harness.check(ui.getFileName(), ""); ui.setFileName("XYZ"); harness.check(ui.getFileName(), "XYZ"); ui.setFileName(null); harness.check(ui.getFileName(), ""); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalFileChooserUI/getApproveButton.java0000644000175000001440000000350611015022011030267 0ustar dokousers// Tags: JDK1.2 // Uses: MyMetalFileChooserUI // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalFileChooserUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JButton; import javax.swing.JFileChooser; import javax.swing.plaf.metal.MetalFileChooserUI; /** * Some checks for the getApproveButton() method in the * {@link MetalFileChooserUI} class. */ public class getApproveButton implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JFileChooser fc = new JFileChooser(); fc.setDialogType(JFileChooser.OPEN_DIALOG); MyMetalFileChooserUI ui = new MyMetalFileChooserUI(fc); ui.installUI(fc); // the method just returns a reference to the button, it doesn't create // a new one each time the method is called... JButton b1 = ui.getApproveButton(fc); JButton b2 = ui.getApproveButton(fc); harness.check(b1 == b2); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalBorders/0000755000175000001440000000000012375316426023102 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalBorders/PaletteBorder/0000755000175000001440000000000012375316426025636 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalBorders/PaletteBorder/getBorderInsets.java0000644000175000001440000000441110374106162031573 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalBorders.PaletteBorder; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Insets; import javax.swing.JButton; import javax.swing.plaf.metal.MetalBorders.PaletteBorder; /** * Some tests for the getBorderInsets() method in the {@link PaletteBorder} * class. */ public class getBorderInsets implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("getBorderInsets(Component)"); PaletteBorder b = new PaletteBorder(); Insets insets = b.getBorderInsets(null); harness.check(insets, new Insets(1, 1, 1, 1)); // the method always returns the same instance Insets insets2 = b.getBorderInsets(null); harness.check(insets == insets2); } public void test2(TestHarness harness) { harness.checkPoint("getBorderInsets(Component, Insets)"); PaletteBorder b = new PaletteBorder(); Insets insets = b.getBorderInsets(null, new Insets(1, 2, 3, 4)); harness.check(insets, new Insets(1, 1, 1, 1)); boolean pass = false; try { b.getBorderInsets(new JButton("Test"), null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalBorders/ButtonBorder/0000755000175000001440000000000012375316426025513 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalBorders/ButtonBorder/getBorderInsets.java0000644000175000001440000000444610374106162031460 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005, 2006 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalBorders.ButtonBorder; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Insets; import javax.swing.JButton; import javax.swing.plaf.metal.MetalBorders.ButtonBorder; /** * Some tests for the getBorderInsets() method in the {@link ButtonBorder} * class. */ public class getBorderInsets implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("getBorderInsets(Component)"); ButtonBorder b = new ButtonBorder(); Insets insets = b.getBorderInsets(null); harness.check(insets, new Insets(3, 3, 3, 3)); // the method always returns the same instance Insets insets2 = b.getBorderInsets(null); harness.check(insets == insets2); } public void test2(TestHarness harness) { harness.checkPoint("getBorderInsets(Component, Insets)"); ButtonBorder b = new ButtonBorder(); Insets insets = b.getBorderInsets(null, new Insets(1, 2, 3, 4)); harness.check(insets, new Insets(3, 3, 3, 3)); // check null insets boolean pass = false; try { b.getBorderInsets(new JButton("Test"), null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalBorders/getDesktopIconBorder.java0000644000175000001440000000310410313765232030014 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalBorders; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Insets; import javax.swing.border.Border; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.MetalBorders; /** * Some tests for the MetalBorders.getDesktopIconBorder() method. */ public class getDesktopIconBorder implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Border b = MetalBorders.getDesktopIconBorder(); harness.check(b instanceof UIResource); Insets insets = b.getBorderInsets(null); harness.check(insets, new Insets(3, 3, 2, 3)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalBorders/ToolBarBorder/0000755000175000001440000000000012375316426025602 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalBorders/ToolBarBorder/getBorderInsets.java0000644000175000001440000000634710370106450031545 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005, 2006 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalBorders.ToolBarBorder; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Insets; import javax.swing.JToolBar; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; import javax.swing.plaf.metal.MetalBorders.ToolBarBorder; /** * Some tests for the getBorderInsets() method in the {@link ToolBarBorder} * class. */ public class getBorderInsets implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("getBorderInsets(Component)"); // test with DefaultMetalTheme try { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } ToolBarBorder b = new ToolBarBorder(); JToolBar tb = new JToolBar(JToolBar.HORIZONTAL); Insets insets1 = b.getBorderInsets(tb); harness.check(insets1, new Insets(2, 16, 2, 2)); tb.setOrientation(JToolBar.VERTICAL); Insets insets2 = b.getBorderInsets(tb); harness.check(insets2, new Insets(16, 2, 2, 2)); } public void test2(TestHarness harness) { harness.checkPoint("getBorderInsets(Component, Insets)"); // test with DefaultMetalTheme try { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } JToolBar tb = new JToolBar(JToolBar.HORIZONTAL); ToolBarBorder b = new ToolBarBorder(); Insets insets = b.getBorderInsets(tb, new Insets(1, 2, 3, 4)); harness.check(insets, new Insets(2, 16, 2, 2)); tb.setOrientation(JToolBar.VERTICAL); insets = b.getBorderInsets(tb, new Insets(1, 2, 3, 4)); harness.check(insets, new Insets(16, 2, 2, 2)); boolean pass = false; try { b.getBorderInsets(null, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalBorders/MenuBarBorder/0000755000175000001440000000000012375316426025571 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalBorders/MenuBarBorder/borderInsets.java0000644000175000001440000000266611015022011031057 0ustar dokousers// Tags: JDK1.4 // Uses: MyMenuBarBorder // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalBorders.MenuBarBorder; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Insets; import javax.swing.plaf.metal.MetalBorders.MenuBarBorder; /** * Some tests for the borderInsets in the {@link MenuBarBorder} class. */ public class borderInsets implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.check(MyMenuBarBorder.getBorderInsets(), new Insets(1, 0, 1, 0)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalBorders/MenuBarBorder/getBorderInsets.java0000644000175000001440000000547310370106450031533 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005, 2006 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalBorders.MenuBarBorder; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Insets; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; import javax.swing.plaf.metal.MetalBorders.MenuBarBorder; /** * Some tests for the getBorderInsets() method in the {@link MenuBarBorder} * class. */ public class getBorderInsets implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("getBorderInsets(Component)"); // test with DefaultMetalTheme try { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } MenuBarBorder b = new MenuBarBorder(); Insets insets = b.getBorderInsets(null); harness.check(insets, new Insets(1, 0, 1, 0)); } public void test2(TestHarness harness) { harness.checkPoint("getBorderInsets(Component, Insets)"); // test with DefaultMetalTheme try { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } MenuBarBorder b = new MenuBarBorder(); Insets insets = b.getBorderInsets(null, new Insets(1, 2, 3, 4)); harness.check(insets, new Insets(1, 0, 1, 0)); boolean pass = false; try { b.getBorderInsets(null, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalBorders/MenuBarBorder/MyMenuBarBorder.java0000644000175000001440000000246610323502332031421 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalBorders.MenuBarBorder; import java.awt.Insets; import javax.swing.plaf.metal.MetalBorders; /** * A subclass to provide access to protected attributes. */ public class MyMenuBarBorder extends MetalBorders.MenuBarBorder { public MyMenuBarBorder() { } /** * Provides access to the border insets. * * @return The border insets. */ public static Insets getBorderInsets() { return MetalBorders.MenuBarBorder.borderInsets; } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalBorders/InternalFrameBorder/0000755000175000001440000000000012375316426026767 5ustar dokousers././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalBorders/InternalFrameBorder/getBorderInsets.javamauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalBorders/InternalFrameBorder/getBorderInsets.j0000644000175000001440000000447710374106162032250 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005, 2006 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalBorders.InternalFrameBorder; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Insets; import javax.swing.JButton; import javax.swing.plaf.metal.MetalBorders.InternalFrameBorder; /** * Some tests for the getBorderInsets() method in the {@link InternalFrameBorder} * class. */ public class getBorderInsets implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("getBorderInsets(Component)"); InternalFrameBorder b = new InternalFrameBorder(); Insets insets = b.getBorderInsets(null); harness.check(insets, new Insets(5, 5, 5, 5)); // the method always returns the same instance Insets insets2 = b.getBorderInsets(null); harness.check(insets == insets2); } public void test2(TestHarness harness) { harness.checkPoint("getBorderInsets(Component, Insets)"); InternalFrameBorder b = new InternalFrameBorder(); Insets insets = b.getBorderInsets(null, new Insets(1, 2, 3, 4)); harness.check(insets, new Insets(5, 5, 5, 5)); boolean pass = false; try { b.getBorderInsets(new JButton("Test"), null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalBorders/getToggleButtonBorder.java0000644000175000001440000000310710313765232030212 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalBorders; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Insets; import javax.swing.border.Border; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.MetalBorders; /** * Some tests for the MetalBorders.getToggleButtonBorder() method. */ public class getToggleButtonBorder implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Border b = MetalBorders.getToggleButtonBorder(); harness.check(b instanceof UIResource); Insets insets = b.getBorderInsets(null); harness.check(insets, new Insets(3, 3, 3, 3)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalBorders/MenuItemBorder/0000755000175000001440000000000012375316426025763 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalBorders/MenuItemBorder/borderInsets.java0000644000175000001440000000264110311625222031255 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalBorders.MenuItemBorder; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Insets; import javax.swing.plaf.metal.MetalBorders.MenuItemBorder; /** * Some tests for the borderInsets in the {@link MenuItemBorder} class. */ public class borderInsets implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.check(MyMenuItemBorder.getBorderInsets(), new Insets(2, 2, 2, 2)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalBorders/MenuItemBorder/getBorderInsets.java0000644000175000001440000000443410374106162031725 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005, 2006 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalBorders.MenuItemBorder; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Insets; import javax.swing.JButton; import javax.swing.plaf.metal.MetalBorders.MenuItemBorder; /** * Some tests for the getBorderInsets() method in the {@link MenuItemBorder} * class. */ public class getBorderInsets implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("getBorderInsets(Component)"); MenuItemBorder b = new MenuItemBorder(); Insets insets = b.getBorderInsets(null); harness.check(insets, new Insets(2, 2, 2, 2)); // the method always returns the same instance Insets insets2 = b.getBorderInsets(null); harness.check(insets == insets2); } public void test2(TestHarness harness) { harness.checkPoint("getBorderInsets(Component, Insets)"); MenuItemBorder b = new MenuItemBorder(); Insets insets = b.getBorderInsets(null, new Insets(1, 2, 3, 4)); harness.check(insets, new Insets(2, 2, 2, 2)); boolean pass = false; try { b.getBorderInsets(new JButton("Test"), null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalBorders/MenuItemBorder/MyMenuItemBorder.java0000644000175000001440000000115310311625222031776 0ustar dokousers/* * Created on Jul 26, 2005 * * TODO To change the template for this generated file go to * Window - Preferences - Java - Code Style - Code Templates */ package gnu.testlet.javax.swing.plaf.metal.MetalBorders.MenuItemBorder; import java.awt.Insets; import javax.swing.plaf.metal.MetalBorders; /** * */ public class MyMenuItemBorder extends MetalBorders.MenuItemBorder { public MyMenuItemBorder() { } /** * Provides access to the border insets. * * @return The border insets. */ public static Insets getBorderInsets() { return MetalBorders.MenuItemBorder.borderInsets; } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalBorders/getTextBorder.java0000644000175000001440000000305710313765232026525 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalBorders; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Insets; import javax.swing.border.Border; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.MetalBorders; /** * Some tests for the MetalBorders.getTextBorder() method. */ public class getTextBorder implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Border b = MetalBorders.getTextBorder(); harness.check(b instanceof UIResource); Insets insets = b.getBorderInsets(null); harness.check(insets, new Insets(2, 2, 2, 2)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalBorders/getButtonBorder.java0000644000175000001440000000306510313765232027053 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalBorders; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Insets; import javax.swing.border.Border; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.MetalBorders; /** * Some tests for the MetalBorders.getButtonBorder() method. */ public class getButtonBorder implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Border b = MetalBorders.getButtonBorder(); harness.check(b instanceof UIResource); Insets insets = b.getBorderInsets(null); harness.check(insets, new Insets(3, 3, 3, 3)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalBorders/Flush3DBorder/0000755000175000001440000000000012375316426025510 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalBorders/Flush3DBorder/getBorderInsets.java0000644000175000001440000000445210374106162031452 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005, 2006 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalBorders.Flush3DBorder; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Insets; import javax.swing.JButton; import javax.swing.plaf.metal.MetalBorders.Flush3DBorder; /** * Some tests for the getBorderInsets() method in the {@link Flush3DBorder} * class. */ public class getBorderInsets implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("getBorderInsets(Component)"); Flush3DBorder b = new Flush3DBorder(); Insets insets = b.getBorderInsets(null); harness.check(insets, new Insets(2, 2, 2, 2)); // the method always returns the same instance Insets insets2 = b.getBorderInsets(null); harness.check(insets == insets2); } public void test2(TestHarness harness) { harness.checkPoint("getBorderInsets(Component, Insets)"); Flush3DBorder b = new Flush3DBorder(); Insets insets = b.getBorderInsets(null, new Insets(1, 2, 3, 4)); harness.check(insets, new Insets(2, 2, 2, 2)); // check null insets boolean pass = false; try { b.getBorderInsets(new JButton("Test"), null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalBorders/getTextFieldBorder.java0000644000175000001440000000307610313765232027472 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.plaf.metal.MetalBorders; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Insets; import javax.swing.border.Border; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.MetalBorders; /** * Some tests for the MetalBorders.getTextFieldBorder() method. */ public class getTextFieldBorder implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Border b = MetalBorders.getTextFieldBorder(); harness.check(b instanceof UIResource); Insets insets = b.getBorderInsets(null); harness.check(insets, new Insets(2, 2, 2, 2)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalComboBoxIcon/0000755000175000001440000000000012375316426024023 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalComboBoxIcon/getIconWidth.java0000644000175000001440000000257610317323662027262 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalComboBoxIcon; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.plaf.metal.MetalComboBoxIcon; /** * Some tests for the getIconWidth() method in the * {@link MetalComboBoxIcon} class. */ public class getIconWidth implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalComboBoxIcon icon = new MetalComboBoxIcon(); harness.check(icon.getIconWidth(), 10); } } mauve-20140821/gnu/testlet/javax/swing/plaf/metal/MetalComboBoxIcon/getIconHeight.java0000644000175000001440000000260010317323662027377 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.metal.MetalComboBoxIcon; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.plaf.metal.MetalComboBoxIcon; /** * Some tests for the getIconHeight() method in the * {@link MetalComboBoxIcon} class. */ public class getIconHeight implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MetalComboBoxIcon icon = new MetalComboBoxIcon(); harness.check(icon.getIconHeight(), 5); } } mauve-20140821/gnu/testlet/javax/swing/plaf/TestLookAndFeel.java0000644000175000001440000000323710326130000023220 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.plaf; import javax.swing.UIDefaults; import javax.swing.plaf.basic.BasicLookAndFeel; /** * A test look and feel based on the BasicLookAndFeel. */ public class TestLookAndFeel extends BasicLookAndFeel { public String getID() { return "TestLookAndFeel"; } public String getName() { return "TestLookAndFeel"; } public String getDescription() { return "TestLookAndFeel"; } public boolean isSupportedLookAndFeel() { return true; } public boolean isNativeLookAndFeel() { return false; } public void initSystemColorDefaults(UIDefaults defaults) { super.initSystemColorDefaults(defaults); } public void initComponentDefaults(UIDefaults defaults) { super.initComponentDefaults(defaults); } public void initClassDefaults(UIDefaults defaults) { super.initClassDefaults(defaults); } } mauve-20140821/gnu/testlet/javax/swing/plaf/ColorUIResource/0000755000175000001440000000000012375316426022441 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/plaf/ColorUIResource/constructors.java0000644000175000001440000001235010235765404026052 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.ColorUIResource; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; /** * Some checks for the constructors in the {@link ColorUIResource} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); } private void testConstructor1(TestHarness harness) { harness.checkPoint("(Color)"); ColorUIResource c1 = new ColorUIResource(Color.blue); harness.check(c1.getRGB() == Color.blue.getRGB()); // check null argument boolean pass = false; try { /* ColorUIResource c = */ new ColorUIResource(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } private void testConstructor2(TestHarness harness) { harness.checkPoint("(float, float, float)"); ColorUIResource c = new ColorUIResource(0.2f, 0.4f, 0.6f); harness.check(c.getRed(), 51); harness.check(c.getGreen(), 102); harness.check(c.getBlue(), 153); harness.check(c.getAlpha(), 255); // negative red boolean pass = false; try { c = new ColorUIResource(-0.2f, 0.4f, 0.6f); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // negative green pass = false; try { c = new ColorUIResource(0.2f, -0.4f, 0.6f); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // negative blue pass = false; try { c = new ColorUIResource(0.2f, 0.4f, -0.6f); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // red > 1.0 pass = false; try { c = new ColorUIResource(1.2f, 0.4f, 0.6f); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // green > 1.0 pass = false; try { c = new ColorUIResource(0.2f, 1.4f, 0.6f); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // blue > 1.0 pass = false; try { c = new ColorUIResource(0.2f, 0.4f, 1.6f); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } private void testConstructor3(TestHarness harness) { harness.checkPoint("(int)"); ColorUIResource c = new ColorUIResource(0x12345678); harness.check(c.getRed(), 0x34); harness.check(c.getGreen(), 0x56); harness.check(c.getBlue(), 0x78); harness.check(c.getAlpha(), 255); } private void testConstructor4(TestHarness harness) { harness.checkPoint("(int, int, int)"); ColorUIResource c = new ColorUIResource(12, 34, 56); harness.check(c.getRed(), 12); harness.check(c.getGreen(), 34); harness.check(c.getBlue(), 56); harness.check(c.getAlpha(), 255); // negative red boolean pass = false; try { c = new ColorUIResource(-12, 34, 56); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // negative green pass = false; try { c = new ColorUIResource(12, -34, 56); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // negative blue pass = false; try { c = new ColorUIResource(12, 34, -56); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // red > 1.0 pass = false; try { c = new ColorUIResource(512, 34, 56); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // green > 1.0 pass = false; try { c = new ColorUIResource(12, 534, 56); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // blue > 1.0 pass = false; try { c = new ColorUIResource(12, 34, 556); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/plaf/ColorUIResource/serialization.java0000644000175000001440000000402310235765404026155 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.plaf.ColorUIResource; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectInput; import java.io.ObjectInputStream; import java.io.ObjectOutput; import java.io.ObjectOutputStream; import javax.swing.plaf.ColorUIResource; /** * Some checks for serialization of a {@link ColorUIResource} instance. */ public class serialization implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { ColorUIResource c1 = new ColorUIResource(Color.red); ColorUIResource c2 = null; try { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); ObjectOutput out = new ObjectOutputStream(buffer); out.writeObject(c1); out.close(); ObjectInput in = new ObjectInputStream( new ByteArrayInputStream(buffer.toByteArray()) ); c2 = (ColorUIResource) in.readObject(); in.close(); } catch (Exception e) { harness.debug(e); } harness.check(c1.equals(c2)); } } mauve-20140821/gnu/testlet/javax/swing/plaf/ColorUIResource/equals.java0000644000175000001440000000304410235765404024574 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.plaf.ColorUIResource; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.plaf.ColorUIResource; /** * Checks that the equals() method in the {@link ColorUIResource} class works * correctly. */ public class equals implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { ColorUIResource c1 = new ColorUIResource(Color.blue); ColorUIResource c2 = new ColorUIResource(Color.blue); harness.check(c1.equals(c2)); harness.check(c2.equals(c1)); harness.check(c1.equals(Color.blue)); } } mauve-20140821/gnu/testlet/javax/swing/JTabbedPane/0000755000175000001440000000000012375316426020572 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JTabbedPane/Mnemonic.java0000644000175000001440000000265610202655661023205 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Thomas Zander // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JTabbedPane; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.JTabbedPane; import javax.swing.JPanel; /** * These tests pass with the Sun JDK 1.4.2_05 on GNU/Linux IA-32. */ public class Mnemonic implements Testlet { public void test(TestHarness harness) { JTabbedPane tabs = new JTabbedPane(); harness.checkPoint("emptyMnemonic"); tabs.addTab("foo", new JPanel()); try { tabs.setMnemonicAt(0, 0); harness.check(true); } catch(Throwable t) { harness.fail("value of '\\0' should be allowed"); } } } mauve-20140821/gnu/testlet/javax/swing/JTabbedPane/getInputMap.java0000644000175000001440000000711710441520121023655 0ustar dokousers/* getInputMap.java -- some checks for the getInputMap() methods inherited by the JTabbedPane class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JTabbedPane; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.InputMap; import javax.swing.JComponent; import javax.swing.JTabbedPane; import javax.swing.KeyStroke; /** * Checks the input maps defined for a JTabbedPane - this is really testing * the setup performed by BasicTabbedPaneUI. */ public class getInputMap implements Testlet { public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("()"); JTabbedPane tp = new JTabbedPane(); InputMap m1 = tp.getInputMap(); InputMap m2 = tp.getInputMap(JComponent.WHEN_FOCUSED); harness.check(m1 == m2); } public void testMethod2(TestHarness harness) { harness.checkPoint("(int)"); JTabbedPane tp = new JTabbedPane(); InputMap m1 = tp.getInputMap(JComponent.WHEN_FOCUSED); harness.check(m1.keys(), null); InputMap m1p = m1.getParent(); harness.check(m1p.get(KeyStroke.getKeyStroke("ctrl pressed DOWN")), "requestFocusForVisibleComponent"); harness.check(m1p.get(KeyStroke.getKeyStroke("pressed KP_UP")), "navigateUp"); harness.check(m1p.get(KeyStroke.getKeyStroke("pressed LEFT")), "navigateLeft"); harness.check(m1p.get(KeyStroke.getKeyStroke("ctrl pressed KP_DOWN")), "requestFocusForVisibleComponent"); harness.check(m1p.get(KeyStroke.getKeyStroke("pressed UP")), "navigateUp"); harness.check(m1p.get(KeyStroke.getKeyStroke("pressed KP_DOWN")), "navigateDown"); harness.check(m1p.get(KeyStroke.getKeyStroke("pressed KP_LEFT")), "navigateLeft"); harness.check(m1p.get(KeyStroke.getKeyStroke("pressed RIGHT")), "navigateRight"); harness.check(m1p.get(KeyStroke.getKeyStroke("pressed KP_RIGHT")), "navigateRight"); harness.check(m1p.get(KeyStroke.getKeyStroke("pressed DOWN")), "navigateDown"); InputMap m2 = tp.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); harness.check(m2.keys(), null); InputMap m2p = m2.getParent(); harness.check(m2p.get(KeyStroke.getKeyStroke("ctrl pressed PAGE_DOWN")), "navigatePageDown"); harness.check(m2p.get(KeyStroke.getKeyStroke("ctrl pressed PAGE_UP")), "navigatePageUp"); harness.check(m2p.get(KeyStroke.getKeyStroke("ctrl pressed UP")), "requestFocus"); harness.check(m2p.get(KeyStroke.getKeyStroke("ctrl pressed KP_UP")), "requestFocus"); InputMap m3 = tp.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW); harness.check(m3.keys(), null); harness.check(m3.getParent(), null); } } mauve-20140821/gnu/testlet/javax/swing/JTabbedPane/remove.java0000644000175000001440000000564210461704600022726 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2006 Robert Schuster // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JTabbedPane; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.JTabbedPane; import javax.swing.JPanel; import javax.swing.plaf.UIResource; public class remove implements Testlet { boolean touched_removeTabAt; boolean touched_remove; public void test(TestHarness harness) { JTabbedPane tp = new MyTabbedPane(); harness.checkPoint("remove"); // The removal of a component which is an instance of // UIResource *should not* provoke a call to // JTabbedPane.remove(int) (if it is not a tab // component). touched_remove = false; touched_removeTabAt = false; JPanel p = new MyPanel(); tp.add(p); tp.remove(p); harness.check(touched_remove, false); harness.check(touched_removeTabAt, false); // The removal of a component which is an instance of // UIResource *should* provoke a call to // JTabbedPane.remove(int) if it *is* a tab // component. touched_remove = false; touched_removeTabAt = false; p = new MyPanel(); // The next line makes this UIResource implementing object a tab // component although that is normally not done. tp.addTab("foo", p); tp.remove(p); harness.check(touched_remove, false); harness.check(touched_removeTabAt, true); // The removal of a component which *is not* an instance of // UIResource *should* provoke a call to JTabbedPane.remove(int). touched_remove = false; touched_removeTabAt = false; p = new JPanel(); tp.add(p); tp.remove(p); harness.check(touched_remove, false); harness.check(touched_removeTabAt, true); } static class MyPanel extends JPanel implements UIResource { } class MyTabbedPane extends JTabbedPane { public void remove(int i) { touched_remove = true; super.remove(i); } public void removeTabAt(int i) { touched_removeTabAt = true; super.removeTabAt(i); } } } mauve-20140821/gnu/testlet/javax/swing/JLayeredPane/0000755000175000001440000000000012375316426020776 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JLayeredPane/getComponentsInLayer.java0000644000175000001440000000445010334113025025734 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2005 Roman Kennke //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JLayeredPane; import javax.swing.JLabel; import javax.swing.JLayeredPane; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Checks if the method getComponentsInLayer works as expected. * * @author Roman Kennke (kennke@aicas.com) */ public class getComponentsInLayer implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testUnknownLayer(harness); } /** * Checks what this method returns for a layer that is not in the * JLayeredPane. The method should always return an empty Component[] for * all unknown layers (even with negative layer numbers). * * @param harness the test harness to use */ private void testUnknownLayer(TestHarness harness) { harness.checkPoint("unknownLayer"); JLayeredPane l = new JLayeredPane(); // We add one component to layer 1 and one to layer 3 and check what // happens when we request the components in layer -1 (negative), 0 // (positive and less then the minimum layer), 2 (between the layers), // 4 (greater than the maximum layer). JLabel l1 = new JLabel("Hello"); l.setLayer(l1, 1); l.add(l1); JLabel l2 = new JLabel("World"); l.setLayer(l2, 3); l.add(l2); harness.check(l.getComponentsInLayer(-1).length, 0); harness.check(l.getComponentsInLayer(-0).length, 0); harness.check(l.getComponentsInLayer(-2).length, 0); harness.check(l.getComponentsInLayer(-4).length, 0); } } mauve-20140821/gnu/testlet/javax/swing/JLayeredPane/moveToFront.java0000644000175000001440000000346410371104360024114 0ustar dokousers/* moveToFront.java -- Checks the moveToFront method in JLayeredPane Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JLayeredPane; import javax.swing.JLayeredPane; import javax.swing.JPanel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Checks the moveToFront method in JLayeredPane. * * @author Roman Kennke (kennke@aicas.com) */ public class moveToFront implements Testlet { /** * Starts the test. * * @param harness the test harness to use */ public void test(TestHarness harness) { testSimple(harness); } /** * A rather simple test for this method. * * @param harness the test harness to use */ private void testSimple(TestHarness harness) { harness.checkPoint("testSimple"); JLayeredPane l = new JLayeredPane(); JPanel p1 = new JPanel(); JPanel p2 = new JPanel(); JPanel p3 = new JPanel(); l.add(p1); l.add(p2); l.add(p3); l.moveToFront(p2); harness.check(l.getComponent(0), p2); harness.check(l.getComponent(1), p1); harness.check(l.getComponent(2), p3); } } mauve-20140821/gnu/testlet/javax/swing/JLayeredPane/defaultLayoutManager.java0000644000175000001440000000261110316324227025745 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2005 Red Hat //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JLayeredPane; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.JLayeredPane; /** *

    This tests whether setDefaultCloseOperation() accepts all * kinds of values whether they are senseful or not.

    * *

    This triggered GNU Classpath bug #12205.

    * *

    TODO: One could make a graphical test for this. For invalid * values the behavior should be like DO_NOTHING_ON_CLOSE

    */ public class defaultLayoutManager implements Testlet { public void test(TestHarness harness) { JLayeredPane lp = new JLayeredPane(); harness.check (lp.getLayout(), null); } } mauve-20140821/gnu/testlet/javax/swing/JLayeredPane/setPosition.java0000644000175000001440000000461210371104360024146 0ustar dokousers/* setPosition.java -- Checks the setPosition method in JLayeredPane Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // This is tagged as 1.5 because it checks behaviour that is only present // since JDK1.5. In previous implementations the JLayeredPane had to // add/remove components to the container when changing it's position. Starting // with JDK1.5 this is no longer necessary because of // Container.setComponentZOrder(). // Tags: JDK1.5 package gnu.testlet.javax.swing.JLayeredPane; import java.awt.Component; import javax.swing.JLayeredPane; import javax.swing.JPanel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class setPosition implements Testlet { /** * Indicates if addImpl() has been called. */ boolean addImplCalled; /** * Overridden to be able to detect if addImpl should be called. */ class TestLayeredPane extends JLayeredPane { protected void addImpl(Component comp, Object constraint, int index) { super.addImpl(comp, constraint, index); addImplCalled = true; } } /** * The entry point into this test. * * @param harness the test harness to use */ public void test(TestHarness harness) { testAddImpl(harness); } /** * This adds some components to the layered pane, and checks if a call * to setPosition is allowed to call addImpl. * * @param h the test harness to use */ private void testAddImpl(TestHarness h) { TestLayeredPane l = new TestLayeredPane(); JPanel p1 = new JPanel(); JPanel p2 = new JPanel(); JPanel p3 = new JPanel(); l.add(p1); l.add(p2); l.add(p3); addImplCalled = false; l.setPosition(p2, 0); h.check(addImplCalled, false); } } mauve-20140821/gnu/testlet/javax/swing/JLayeredPane/addImpl.java0000644000175000001440000000621310370110245023175 0ustar dokousers/* addImpl.java -- Tests if addImpl in JLayeredPane works correctly Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JLayeredPane; import javax.swing.JLayeredPane; import javax.swing.JPanel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests if addImpl in JLayeredPane works correctly. * * @author Roman Kennke (kennke@aicas.com) */ public class addImpl implements Testlet { /** * The entry point of this test. * * @param harness the test harness to use */ public void test(TestHarness harness) { testAddSameLayer(harness); testAddDifferentLayers(harness); testAddZeroPosition(harness); } /** * Tests the addition of components into the same layer with no position * specified. * * @param h the test harness to use */ private void testAddSameLayer(TestHarness h) { JLayeredPane l = new JLayeredPane(); JPanel p1 = new JPanel(); JPanel p2 = new JPanel(); JPanel p3 = new JPanel(); l.add(p1, JLayeredPane.FRAME_CONTENT_LAYER); l.add(p2, JLayeredPane.FRAME_CONTENT_LAYER); l.add(p3, JLayeredPane.FRAME_CONTENT_LAYER); h.check(l.getComponent(0), p1); h.check(l.getComponent(1), p2); h.check(l.getComponent(2), p3); } /** * Tests the addition of 3 components into different layers with -1 * positions. * * @param h the test harness to use */ private void testAddDifferentLayers(TestHarness h) { JLayeredPane l = new JLayeredPane(); JPanel p1 = new JPanel(); JPanel p2 = new JPanel(); JPanel p3 = new JPanel(); l.add(p1, new Integer(0)); l.add(p2, new Integer(1)); l.add(p3, new Integer(2)); h.check(l.getComponent(0), p3); h.check(l.getComponent(1), p2); h.check(l.getComponent(2), p1); } /** * Tests the addition of 3 components into the same layer and with a position * argument of 0. This should add each component as the top component in * that layer. * * @param h the test harness to use */ private void testAddZeroPosition(TestHarness h) { JLayeredPane l = new JLayeredPane(); JPanel p1 = new JPanel(); JPanel p2 = new JPanel(); JPanel p3 = new JPanel(); l.add(p1, JLayeredPane.FRAME_CONTENT_LAYER, 0); l.add(p2, JLayeredPane.FRAME_CONTENT_LAYER, 0); l.add(p3, JLayeredPane.FRAME_CONTENT_LAYER, 0); h.check(l.getComponent(0), p3); h.check(l.getComponent(1), p2); h.check(l.getComponent(2), p1); } } mauve-20140821/gnu/testlet/javax/swing/table/0000755000175000001440000000000012375316426017562 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/table/DefaultTableCellRenderer/0000755000175000001440000000000012375316426024405 5ustar dokousers././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/table/DefaultTableCellRenderer/getTableCellRendererComponent.javamauve-20140821/gnu/testlet/javax/swing/table/DefaultTableCellRenderer/getTableCellRendererComponent.0000644000175000001440000000521710370136441032302 0ustar dokousers/* getTableCellRendererComponent.java -- Tests the getTableCellRenderer() method Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.table.DefaultTableCellRenderer; import java.awt.Component; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.table.DefaultTableCellRenderer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests various aspects of the getTableCellRendererComponent() method in * DefaultTableCellRenderer. * * @author Roman Kennke (kennke@aicas.com) */ public class getTableCellRendererComponent implements Testlet { Object value; /** * Overridden to test if setValue should be called. */ class TestCellRenderer extends DefaultTableCellRenderer { protected void setValue(Object v) { super.setValue(v); value = v; } } /** * The entry point into this test. * * @param harness the test harness to use */ public void test(TestHarness harness) { testSetValue(harness); testTextField(harness); } /** * Checks if getTableCellRendererComponent() should call setValue() * in order to set the value. * * @param h the test harness to use */ private void testSetValue(TestHarness h) { TestCellRenderer r = new TestCellRenderer(); value = null; JTable t = new JTable(); Object v = "Hello"; r.getTableCellRendererComponent(t, v, false, false, 0, 0); h.check(value == v); } /** * Checks how values of type JTextFields should be handled. This test * is here due to a programming mistake in Classpath's implementation * of DefaultTableCellRenderer. * * @param h the test harness to use */ private void testTextField(TestHarness h) { TestCellRenderer r = new TestCellRenderer(); JTable t = new JTable(); Object v = new JTextField("Hello"); Component c = r.getTableCellRendererComponent(t, v, false, false, 0, 0); h.check(c == r); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableColumnModel/0000755000175000001440000000000012375316426024255 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/table/DefaultTableColumnModel/setColumnMargin.java0000644000175000001440000000344310234111300030203 0ustar dokousers// Tags: JDK1.2 // Uses: MyListener // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableColumnModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.event.ChangeEvent; import javax.swing.table.DefaultTableColumnModel; /** * Some tests for the setColumnMargin(int) method in the * {@link DefaultTableColumnModel} class. */ public class setColumnMargin implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultTableColumnModel m1 = new DefaultTableColumnModel(); MyListener listener = new MyListener(); m1.addColumnModelListener(listener); m1.setColumnMargin(123); harness.check(m1.getColumnMargin(), 123); ChangeEvent e = listener.getChangeEvent(); harness.check(e != null); harness.check(e.getSource(), m1); // try a negative value m1.setColumnMargin(-99); harness.check(m1.getColumnMargin(), -99); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableColumnModel/MyListener.java0000644000175000001440000000470610233006040027175 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableColumnModel; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.event.ChangeEvent; import javax.swing.event.ListSelectionEvent; import javax.swing.event.TableColumnModelEvent; import javax.swing.event.TableColumnModelListener; /** * A support class for testing. */ public class MyListener implements TableColumnModelListener, PropertyChangeListener { // references to events received private TableColumnModelEvent event; private ChangeEvent changeEvent; private ListSelectionEvent selectionEvent; public MyListener() { clearEvents(); } /** * Clear event references ready for new test. */ public void clearEvents() { this.event = null; this.changeEvent = null; this.selectionEvent = null; } public TableColumnModelEvent getEvent() { return this.event; } public ChangeEvent getChangeEvent() { return this.changeEvent; } public ListSelectionEvent getSelectionEvent() { return this.selectionEvent; } public void columnAdded(TableColumnModelEvent event) { this.event = event; } public void columnMarginChanged(ChangeEvent event) { this.changeEvent = event; } public void columnMoved(TableColumnModelEvent event) { this.event = event; } public void columnRemoved(TableColumnModelEvent event) { this.event = event; } public void columnSelectionChanged(ListSelectionEvent event) { this.selectionEvent = event; } public void propertyChange(PropertyChangeEvent evt) { System.out.println(evt.toString()); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableColumnModel/getColumnModelListeners.java0000644000175000001440000000424210234111300031701 0ustar dokousers// Tags: JDK1.4 // Uses: MyListener // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableColumnModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Arrays; import java.util.List; import javax.swing.event.TableColumnModelListener; import javax.swing.table.DefaultTableColumnModel; /** * Some tests for the getColumnModelListeners() method in the * {@link DefaultTableColumnModel} class. */ public class getColumnModelListeners implements Testlet { /** * Runs the test using the specified harness. # * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultTableColumnModel m1 = new DefaultTableColumnModel(); TableColumnModelListener[] listeners = m1.getColumnModelListeners(); harness.check(listeners.length, 0); TableColumnModelListener listener = new MyListener(); m1.addColumnModelListener(listener); listeners = m1.getColumnModelListeners(); harness.check(listeners[0], listener); TableColumnModelListener listener2 = new MyListener(); m1.addColumnModelListener(listener2); listeners = m1.getColumnModelListeners(); // convert to a list, because the spec doesn't say anything about the // order of the listeners List list = Arrays.asList(listeners); harness.check(list.contains(listener)); harness.check(list.contains(listener2)); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableColumnModel/removeColumn.java0000644000175000001440000000447610450452233027573 0ustar dokousers// Tags: JDK1.2 // Uses: MyListener // Copyright (C) 2005, 2006, David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableColumnModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.table.DefaultTableColumnModel; import javax.swing.table.TableColumn; /** * Some tests for the removeColumn() method in the * {@link DefaultTableColumnModel} class. */ public class removeColumn implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultTableColumnModel m1 = new DefaultTableColumnModel(); TableColumn c0 = new TableColumn(0, 23); TableColumn c1 = new TableColumn(1, 34); TableColumn c2 = new TableColumn(2, 45); m1.addColumn(c0); m1.addColumn(c1); m1.addColumn(c2); m1.removeColumn(c1); harness.check(m1.getColumnCount(), 2); harness.check(c1.getPropertyChangeListeners().length, 0); // remove a column that isn't there TableColumn c3 = new TableColumn(3, 99); m1.removeColumn(c3); harness.check(m1.getColumnCount(), 2); // remove a null column m1.removeColumn(null); harness.check(m1.getColumnCount(), 2); // check that removing a column sends the correct event MyListener listener = new MyListener(); m1.addColumnModelListener(listener); m1.removeColumn(c0); harness.check(listener.getEvent() != null); harness.check(listener.getEvent().getFromIndex(), 0); harness.check(listener.getEvent().getToIndex(), 0); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableColumnModel/setSelectionModel.java0000644000175000001440000000417510450452233030536 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableColumnModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListSelectionModel; import javax.swing.event.ListSelectionListener; import javax.swing.table.DefaultTableColumnModel; /** * Some tests for the setSelectionModel() method in the * {@link DefaultTableColumnModel} class. */ public class setSelectionModel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultTableColumnModel m1 = new DefaultTableColumnModel(); DefaultListSelectionModel lsm = new DefaultListSelectionModel(); m1.setSelectionModel(lsm); harness.check(m1.getSelectionModel(), lsm); ListSelectionListener[] listeners = lsm.getListSelectionListeners(); harness.check(listeners[0], m1); DefaultListSelectionModel lsm2 = new DefaultListSelectionModel(); m1.setSelectionModel(lsm2); harness.check(m1.getSelectionModel(), lsm2); listeners = lsm.getListSelectionListeners(); harness.check(listeners.length, 0); boolean pass = false; try { m1.setSelectionModel(null); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableColumnModel/constructor.java0000644000175000001440000000602011015022012027452 0ustar dokousers// Tags: JDK1.2 // Uses: MyDefaultTableColumnModel // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableColumnModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.event.ChangeEvent; import javax.swing.event.ListSelectionEvent; import javax.swing.event.TableColumnModelEvent; import javax.swing.event.TableColumnModelListener; import javax.swing.table.DefaultTableColumnModel; /** * Some tests for the constructor in the {@link DefaultTableColumnModel} class. */ public class constructor implements Testlet, TableColumnModelListener { public void columnAdded(TableColumnModelEvent e) { // ignore } public void columnMarginChanged(ChangeEvent e) { // ignore } public void columnMoved(TableColumnModelEvent e) { // ignore } public void columnRemoved(TableColumnModelEvent e) { // ignore } public void columnSelectionChanged(ListSelectionEvent e) { // ignore } public void test(TestHarness harness) { testGeneral(harness); testChangeEventInitialization(harness); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void testGeneral(TestHarness harness) { harness.checkPoint("DefaultTableColumnModel()"); DefaultTableColumnModel m1 = new DefaultTableColumnModel(); harness.check(m1.getColumnCount(), 0); harness.check(m1.getColumnMargin(), 1); harness.check(m1.getColumnSelectionAllowed(), false); harness.check(m1.getSelectedColumnCount(), 0); } /** * This test confirms that the change event is created lazily. * * @param harness the test harness (null not permitted). */ private void testChangeEventInitialization(TestHarness harness) { harness.checkPoint("testChangeEventInitialization()"); MyDefaultTableColumnModel m = new MyDefaultTableColumnModel(); harness.check(m.getChangeEventField(), null); // no listeners, no need to create shared ChangeEvent m.setColumnMargin(99); harness.check(m.getChangeEventField(), null); // add a listener, and the event is generated m.addColumnModelListener(this); m.setColumnMargin(100); harness.check(m.getChangeEventField() != null); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableColumnModel/getColumnIndex.java0000644000175000001440000000425010233006040030021 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableColumnModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.table.DefaultTableColumnModel; import javax.swing.table.TableColumn; /** * Some tests for the getColumnIndex(Object) method in the * {@link DefaultTableColumnModel} class. */ public class getColumnIndex implements Testlet { /** * Runs the test using the specified harness. # * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultTableColumnModel m1 = new DefaultTableColumnModel(); TableColumn c0 = new TableColumn(0); TableColumn c1 = new TableColumn(1); TableColumn c2 = new TableColumn(2); c0.setIdentifier("A"); c1.setIdentifier("B"); c2.setIdentifier("C"); m1.addColumn(c0); m1.addColumn(c1); m1.addColumn(c2); harness.check(m1.getColumnIndex("A"), 0); harness.check(m1.getColumnIndex("B"), 1); harness.check(m1.getColumnIndex("C"), 2); boolean pass = false; try { /* int i = */ m1.getColumnIndex("D"); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); pass = false; try { /* int i = */ m1.getColumnIndex(null); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableColumnModel/getColumnMargin.java0000644000175000001440000000303410271125122030173 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableColumnModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.table.DefaultTableColumnModel; /** * Some tests for the getColumnMargin() method in the * {@link DefaultTableColumnModel} class. */ public class getColumnMargin implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultTableColumnModel m1 = new DefaultTableColumnModel(); // the default is 1 harness.check(m1.getColumnMargin(), 1); // try another setting m1.setColumnMargin(123); harness.check(m1.getColumnMargin(), 123); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableColumnModel/setColumnSelectionAllowed.java0000644000175000001440000000274510233006040032232 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableColumnModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.table.DefaultTableColumnModel; /** * Some tests for the setColumnSelectionAllowed(boolean) method in the * {@link DefaultTableColumnModel} class. */ public class setColumnSelectionAllowed implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultTableColumnModel m1 = new DefaultTableColumnModel(); m1.setColumnSelectionAllowed(true); harness.check(m1.getColumnSelectionAllowed(), true); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableColumnModel/getTotalColumnWidth.java0000644000175000001440000000334310450452233031051 0ustar dokousers/* getTotalColumnWidth.java -- some checks for the getTotalColumnWidth() method in the DefaultTableColumnModel class. Copyright (C) 2006 by David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.table.DefaultTableColumnModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.table.DefaultTableColumnModel; import javax.swing.table.TableColumn; public class getTotalColumnWidth implements Testlet { public void test(TestHarness harness) { DefaultTableColumnModel m = new DefaultTableColumnModel(); harness.check(m.getTotalColumnWidth(), 0); TableColumn c1 = new TableColumn(0, 9); m.addColumn(c1); harness.check(m.getTotalColumnWidth(), 9); TableColumn c2 = new TableColumn(1, 12); m.addColumn(c2); harness.check(m.getTotalColumnWidth(), 21); // column margin is not included m.setColumnMargin(5); harness.check(m.getTotalColumnWidth(), 21); c1.setWidth(99); harness.check(m.getTotalColumnWidth(), 111); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableColumnModel/addColumn.java0000644000175000001440000000437210450452233027021 0ustar dokousers// Tags: JDK1.2 // Uses: MyListener // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableColumnModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeListener; import javax.swing.table.DefaultTableColumnModel; import javax.swing.table.TableColumn; /** * Some tests for the addColumn() method in the {@link DefaultTableColumnModel} * class. */ public class addColumn implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultTableColumnModel m1 = new DefaultTableColumnModel(); TableColumn c1 = new TableColumn(1, 23); m1.addColumn(c1); harness.check(m1.getColumnCount(), 1); PropertyChangeListener[] listeners = c1.getPropertyChangeListeners(); harness.check(listeners[0], m1); TableColumn c = m1.getColumn(0); harness.check(c.getWidth(), 23); boolean pass = false; try { m1.addColumn(null); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // check that adding a column sends the correct event MyListener listener = new MyListener(); m1.addColumnModelListener(listener); m1.addColumn(new TableColumn(2, 45)); harness.check(listener.getEvent() != null); harness.check(listener.getEvent().getFromIndex(), 0); harness.check(listener.getEvent().getToIndex(), 1); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableColumnModel/getColumnCount.java0000644000175000001440000000304210233006040030040 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableColumnModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.table.DefaultTableColumnModel; import javax.swing.table.TableColumn; /** * Some tests for the getColumnCount() method in the * {@link DefaultTableColumnModel} class. */ public class getColumnCount implements Testlet { /** * Runs the test using the specified harness. # * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultTableColumnModel m1 = new DefaultTableColumnModel(); m1.addColumn(new TableColumn()); m1.addColumn(new TableColumn()); m1.addColumn(new TableColumn()); harness.check(m1.getColumnCount(), 3); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableColumnModel/getColumnIndexAtX.java0000644000175000001440000000453710233006040030446 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableColumnModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.table.DefaultTableColumnModel; import javax.swing.table.TableColumn; /** * Some tests for the getColumnIndexAtX(int) method in the * {@link DefaultTableColumnModel} class. */ public class getColumnIndexAtX implements Testlet { /** * Runs the test using the specified harness. # * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultTableColumnModel m1 = new DefaultTableColumnModel(); TableColumn c0 = new TableColumn(0, 5); TableColumn c1 = new TableColumn(1, 7); TableColumn c2 = new TableColumn(2, 11); m1.addColumn(c0); m1.addColumn(c1); m1.addColumn(c2); harness.check(m1.getColumnIndexAtX(-1), -1); harness.check(m1.getColumnIndexAtX(0), 0); harness.check(m1.getColumnIndexAtX(5), 1); harness.check(m1.getColumnIndexAtX(11), 1); harness.check(m1.getColumnIndexAtX(12), 2); harness.check(m1.getColumnIndexAtX(22), 2); harness.check(m1.getColumnIndexAtX(23), -1); // now repeat with a different margin - it is ignored m1.setColumnMargin(3); harness.check(m1.getColumnIndexAtX(-1), -1); harness.check(m1.getColumnIndexAtX(0), 0); harness.check(m1.getColumnIndexAtX(5), 1); harness.check(m1.getColumnIndexAtX(11), 1); harness.check(m1.getColumnIndexAtX(12), 2); harness.check(m1.getColumnIndexAtX(22), 2); harness.check(m1.getColumnIndexAtX(23), -1); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableColumnModel/getSelectionModel.java0000644000175000001440000000311510233006040030501 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableColumnModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListSelectionModel; import javax.swing.ListSelectionModel; import javax.swing.table.DefaultTableColumnModel; /** * Some tests for the getSelectionModel() method in the * {@link DefaultTableColumnModel} class. */ public class getSelectionModel implements Testlet { /** * Runs the test using the specified harness. # * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultTableColumnModel m1 = new DefaultTableColumnModel(); ListSelectionModel lsm = new DefaultListSelectionModel(); m1.setSelectionModel(lsm); harness.check(m1.getSelectionModel(), lsm); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableColumnModel/getSelectedColumnCount.java0000644000175000001440000000325410233006040031516 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableColumnModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.table.DefaultTableColumnModel; import javax.swing.table.TableColumn; /** * Some tests for the getSelectedColumnCount() method in the * {@link DefaultTableColumnModel} class. */ public class getSelectedColumnCount implements Testlet { /** * Runs the test using the specified harness. # * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultTableColumnModel m1 = new DefaultTableColumnModel(); harness.check(m1.getSelectedColumnCount(), 0); m1.addColumn(new TableColumn()); m1.addColumn(new TableColumn()); m1.addColumn(new TableColumn()); m1.getSelectionModel().setSelectionInterval(1, 2); harness.check(m1.getSelectedColumnCount(), 2); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableColumnModel/getColumns.java0000644000175000001440000000410710233006040027215 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableColumnModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Enumeration; import javax.swing.table.DefaultTableColumnModel; import javax.swing.table.TableColumn; /** * Some tests for the getColumns() method in the * {@link DefaultTableColumnModel} class. */ public class getColumns implements Testlet { /** * Runs the test using the specified harness. # * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultTableColumnModel m1 = new DefaultTableColumnModel(); Enumeration e = m1.getColumns(); harness.check(!e.hasMoreElements()); TableColumn c0 = new TableColumn(0); TableColumn c1 = new TableColumn(1); TableColumn c2 = new TableColumn(2); c0.setIdentifier("A"); c1.setIdentifier("B"); c2.setIdentifier("C"); m1.addColumn(c0); m1.addColumn(c1); m1.addColumn(c2); e = m1.getColumns(); TableColumn c = (TableColumn) e.nextElement(); harness.check(c.getIdentifier(), "A"); c = (TableColumn) e.nextElement(); harness.check(c.getIdentifier(), "B"); c = (TableColumn) e.nextElement(); harness.check(c.getIdentifier(), "C"); harness.check(!e.hasMoreElements()); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableColumnModel/addColumnModelListener.java0000644000175000001440000000367310234111277031513 0ustar dokousers// Tags: JDK1.2 // Uses: MyListener // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableColumnModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.event.TableColumnModelListener; import javax.swing.table.DefaultTableColumnModel; /** * Some tests for the addColumnModelListener() method in the * {@link DefaultTableColumnModel} class. */ public class addColumnModelListener implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // just do very basic checks - a listener is used in other tests // for this class, so it gets tested again and again... DefaultTableColumnModel m1 = new DefaultTableColumnModel(); TableColumnModelListener listener = new MyListener(); m1.addColumnModelListener(listener); TableColumnModelListener[] listeners = m1.getColumnModelListeners(); harness.check(listeners[0], listener); // a null listener is ignored m1.addColumnModelListener(null); listeners = m1.getColumnModelListeners(); harness.check(listeners.length, 1); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableColumnModel/MyDefaultTableColumnModel.java0000644000175000001440000000226510450452233032113 0ustar dokousers/* MyDefaultTableColumnModel.java -- a subclass of DefaultTableColumn mode Copyright (C) 2006 FIXME: your info here This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.javax.swing.table.DefaultTableColumnModel; import javax.swing.event.ChangeEvent; import javax.swing.table.DefaultTableColumnModel; public class MyDefaultTableColumnModel extends DefaultTableColumnModel { public MyDefaultTableColumnModel() { super(); } public ChangeEvent getChangeEventField() { return changeEvent; } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableColumnModel/moveColumn.java0000644000175000001440000001051310261272035027231 0ustar dokousers// Tags: JDK1.2 // Uses: MyListener // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableColumnModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.table.DefaultTableColumnModel; import javax.swing.table.TableColumn; /** * Some tests for the moveColumn() method in the {@link DefaultTableColumnModel} * class. */ public class moveColumn implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testGeneral(harness); testSpecial(harness); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void testGeneral(TestHarness harness) { harness.checkPoint("moveColumn(int, int) - General"); DefaultTableColumnModel m1 = new DefaultTableColumnModel(); m1.addColumn(new TableColumn(1, 23)); m1.addColumn(new TableColumn(2, 34)); m1.addColumn(new TableColumn(3, 45)); m1.addColumn(new TableColumn(4, 56)); m1.moveColumn(1, 3); TableColumn tc0 = m1.getColumn(0); TableColumn tc1 = m1.getColumn(1); TableColumn tc2 = m1.getColumn(2); TableColumn tc3 = m1.getColumn(3); harness.check(tc0.getWidth(), 23); harness.check(tc1.getWidth(), 45); harness.check(tc2.getWidth(), 56); harness.check(tc3.getWidth(), 34); // check that moving a column sends the correct event MyListener listener = new MyListener(); m1.addColumnModelListener(listener); m1.moveColumn(0, 1); harness.check(listener.getEvent() != null); harness.check(listener.getEvent().getFromIndex(), 0); harness.check(listener.getEvent().getToIndex(), 1); } public void testSpecial(TestHarness harness) { harness.checkPoint("moveColumn(int, int) - Special"); DefaultTableColumnModel m1 = new DefaultTableColumnModel(); m1.addColumn(new TableColumn(1, 23)); m1.addColumn(new TableColumn(2, 34)); m1.addColumn(new TableColumn(3, 45)); m1.addColumn(new TableColumn(4, 56)); // check from index == to index MyListener listener = new MyListener(); m1.addColumnModelListener(listener); m1.moveColumn(1, 1); TableColumn tc0 = m1.getColumn(0); TableColumn tc1 = m1.getColumn(1); TableColumn tc2 = m1.getColumn(2); TableColumn tc3 = m1.getColumn(3); harness.check(tc0.getWidth(), 23); harness.check(tc1.getWidth(), 34); harness.check(tc2.getWidth(), 45); harness.check(tc3.getWidth(), 56); harness.check(listener.getEvent() != null); harness.check(listener.getEvent().getFromIndex(), 1); harness.check(listener.getEvent().getToIndex(), 1); // check negative from index boolean pass = false; try { m1.moveColumn(-1, 0); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // check negative to index pass = false; try { m1.moveColumn(0, -1); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // check from index too large pass = false; try { m1.moveColumn(4, 3); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // check to index too large pass = false; try { m1.moveColumn(3, 4); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // check too index == last position m1.moveColumn(0, 3); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableColumnModel/getListeners.java0000644000175000001440000000425510544512702027565 0ustar dokousers// Tags: JDK1.3 // Uses: MyListener // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableColumnModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.EventListener; import javax.swing.event.TableColumnModelListener; import javax.swing.table.DefaultTableColumnModel; /** * Some tests for the getListeners(Class) method in the * {@link DefaultTableColumnModel} class. */ public class getListeners implements Testlet { /** * Runs the test using the specified harness. # * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultTableColumnModel m1 = new DefaultTableColumnModel(); EventListener[] listeners = m1.getListeners(TableColumnModelListener.class); harness.check(listeners.length, 0); TableColumnModelListener listener = new MyListener(); m1.addColumnModelListener(listener); listeners = m1.getListeners(TableColumnModelListener.class); harness.check(listeners[0], listener); boolean pass = false; try { listeners = m1.getListeners(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); /* Doesn't compile with 1.5. pass = false; try { listeners = m1.getListeners(String.class); } catch (ClassCastException e) { pass = true; } harness.check(pass); */ } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableColumnModel/getColumn.java0000644000175000001440000000356210450452233027050 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableColumnModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.table.DefaultTableColumnModel; import javax.swing.table.TableColumn; /** * Some tests for the getColumn() method in the {@link DefaultTableColumnModel} * class. */ public class getColumn implements Testlet { /** * Runs the test using the specified harness. # * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultTableColumnModel m1 = new DefaultTableColumnModel(); TableColumn column = new TableColumn(1, 23); m1.addColumn(column); TableColumn c = m1.getColumn(0); harness.check(c, column); boolean pass = false; try { c = m1.getColumn(-1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { c = m1.getColumn(1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableColumnModel/getColumnSelectionAllowed.java0000644000175000001440000000302710450452233032222 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableColumnModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.table.DefaultTableColumnModel; /** * Some tests for the getColumnSelectionAllowed() method in the * {@link DefaultTableColumnModel} class. */ public class getColumnSelectionAllowed implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultTableColumnModel m1 = new DefaultTableColumnModel(); harness.check(m1.getColumnSelectionAllowed(), false); m1.setColumnSelectionAllowed(true); harness.check(m1.getColumnSelectionAllowed(), true); } } mauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/0000755000175000001440000000000012375316426022034 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/getAccessibleContext.java0000644000175000001440000000560310441654212026773 0ustar dokousers/* getAccessibleContext.java -- some checks for the getAccessibleContext() method in the JTableHeader class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.table.JTableHeader; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.accessibility.AccessibleComponent; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleRole; import javax.swing.JTable; import javax.swing.table.DefaultTableColumnModel; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; import javax.swing.table.TableColumn; public class getAccessibleContext implements Testlet { public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { JTableHeader th = new JTableHeader(); AccessibleContext ac = th.getAccessibleContext(); harness.check(ac.getAccessibleName(), null); harness.check(ac.getAccessibleRole(), AccessibleRole.PANEL); harness.check(ac.getAccessibleChildrenCount(), 0); harness.check(ac.getAccessibleChild(0), null); AccessibleComponent acomp = ac.getAccessibleComponent(); harness.check(acomp.getBackground(), th.getBackground()); } public void test2(TestHarness harness) { harness.checkPoint("test2"); DefaultTableModel tm = new DefaultTableModel(2, 3); DefaultTableColumnModel tcm = new DefaultTableColumnModel(); TableColumn tc0 = new TableColumn(0, 10); tc0.setHeaderValue("XYZ0"); tcm.addColumn(tc0); tcm.addColumn(new TableColumn(1, 20)); tcm.addColumn(new TableColumn(2, 30)); JTable t = new JTable(tm, tcm); JTableHeader th = t.getTableHeader(); AccessibleContext ac = th.getAccessibleContext(); harness.check(ac.getAccessibleName(), null); harness.check(ac.getAccessibleRole(), AccessibleRole.PANEL); harness.check(ac.getAccessibleChildrenCount(), 3); AccessibleContext he0 = ac.getAccessibleChild(0).getAccessibleContext(); harness.check(he0.getAccessibleName(), "XYZ0"); harness.check(he0.getAccessibleRole(), AccessibleRole.LABEL); harness.check(he0.getAccessibleComponent(), he0); } } mauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/0000755000175000001440000000000012375316426026264 5ustar dokousers././@LongLink0000644000000000000000000000016100000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/getAccessibleChildrenCount.javamauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/getAccessibleChildr0000644000175000001440000000310710441654212032061 0ustar dokousers/* getAccessibleChildrenCount.java -- some checks for the getAccessibleChildrenCount() method in the AccessibleJTableHeader class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.table.JTableHeader.AccessibleJTableHeader; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.accessibility.AccessibleContext; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; public class getAccessibleChildrenCount implements Testlet { public void test(TestHarness harness) { DefaultTableModel tm = new DefaultTableModel(new String[] {"AA", "BB", "CC"}, 3); JTable t = new JTable(tm); JTableHeader th = t.getTableHeader(); AccessibleContext ac = th.getAccessibleContext(); harness.check(ac.getAccessibleChildrenCount(), 3); } } ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/getAccessibleRole.javamauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/getAccessibleRole.j0000644000175000001440000000314010441654212032002 0ustar dokousers/* getAccessibleRole.java -- some checks for the getAccessibleRole() method in the AccessibleJTableHeader class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.table.JTableHeader.AccessibleJTableHeader; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleRole; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; public class getAccessibleRole implements Testlet { public void test(TestHarness harness) { DefaultTableModel tm = new DefaultTableModel(new String[] {"AA", "BB", "CC"}, 3); JTable t = new JTable(tm); JTableHeader th = t.getTableHeader(); AccessibleContext ac = th.getAccessibleContext(); harness.check(ac.getAccessibleRole(), AccessibleRole.PANEL); } } ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/getAccessibleChild.javamauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/getAccessibleChild.0000644000175000001440000000342310441654212031756 0ustar dokousers/* getAccessibleChild.java -- some checks for the getAccessibleChild() method in the AccessibleJTableHeader class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.table.JTableHeader.AccessibleJTableHeader; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.accessibility.Accessible; import javax.accessibility.AccessibleContext; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; public class getAccessibleChild implements Testlet { public void test(TestHarness harness) { DefaultTableModel tm = new DefaultTableModel(new String[] {"AA", "BB", "CC"}, 3); JTable t = new JTable(tm); JTableHeader th = t.getTableHeader(); AccessibleContext ac = th.getAccessibleContext(); Accessible ac0 = ac.getAccessibleChild(0); harness.check(ac0.getClass().getName().endsWith("AccessibleJTableHeaderEntry")); Accessible ac0B = ac.getAccessibleChild(0); harness.check(ac0 != ac0B); // creates new instance every time } } ././@LongLink0000644000000000000000000000015600000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/mauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHea0000755000175000001440000000000012375316426031742 5ustar dokousers././@LongLink0000644000000000000000000000020500000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/isFocusTraversable.javamauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHea0000644000175000001440000000443011015022012031714 0ustar dokousers/* isFocusTraversable.java -- some checks for the isFocusTraversable() method in the AccessibleJTableHeaderEntry class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: MyTableCellRenderer package gnu.testlet.javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.accessibility.Accessible; import javax.accessibility.AccessibleComponent; import javax.accessibility.AccessibleContext; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; public class isFocusTraversable implements Testlet { public void test(TestHarness harness) { DefaultTableModel tm = new DefaultTableModel(new String[] {"AA", "BB", "CC"}, 3); JTable t = new JTable(tm); JTableHeader th = t.getTableHeader(); AccessibleContext ac = th.getAccessibleContext(); Accessible ac0 = ac.getAccessibleChild(0); harness.check(ac0.getClass().getName().endsWith("AccessibleJTableHeaderEntry")); AccessibleComponent ac0ac = ac0.getAccessibleContext().getAccessibleComponent(); harness.check(ac0ac.isFocusTraversable(), true); MyTableCellRenderer r = new MyTableCellRenderer(); t.getColumnModel().getColumn(1).setHeaderRenderer(r); Accessible ac1 = ac.getAccessibleChild(1); harness.check(ac1.getClass().getName().endsWith("AccessibleJTableHeaderEntry")); AccessibleComponent ac1ac = ac1.getAccessibleContext().getAccessibleComponent(); harness.check(ac1ac.isFocusTraversable(), false); } } ././@LongLink0000644000000000000000000000020400000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/getAccessibleName.javamauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHea0000644000175000001440000000360310441654212031734 0ustar dokousers/* getAccessibleName.java -- some checks for the getAccessibleName() method in the AccessibleJTableHeaderEntry class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.accessibility.Accessible; import javax.accessibility.AccessibleContext; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; public class getAccessibleName implements Testlet { public void test(TestHarness harness) { DefaultTableModel tm = new DefaultTableModel(new String[] {"AA", "BB", "CC"}, 3); JTable t = new JTable(tm); JTableHeader th = t.getTableHeader(); AccessibleContext ac = th.getAccessibleContext(); Accessible ac0 = ac.getAccessibleChild(0); harness.check(ac0.getClass().getName().endsWith("AccessibleJTableHeaderEntry")); AccessibleContext ac0ac = ac0.getAccessibleContext(); harness.check(ac0ac.getAccessibleName(), "AA"); ac0ac.setAccessibleName("AAx"); harness.check(ac0ac.getAccessibleName(), "AAx"); } } ././@LongLink0000644000000000000000000000020600000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/MyTableCellRenderer.javamauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHea0000644000175000001440000000307610441654212031740 0ustar dokousers/* MyTableCellRenderer.java -- test helper class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry; import java.awt.Color; import java.awt.Component; import javax.swing.JButton; import javax.swing.JTable; import javax.swing.table.TableCellRenderer; public class MyTableCellRenderer extends JButton implements TableCellRenderer { private Color bgColor; public void setBGColor(Color c) { bgColor = c; } public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { if (bgColor != null) setBackground(bgColor); return this; } public boolean isFocusTraversable() { return false; } } ././@LongLink0000644000000000000000000000020700000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/getAccessibleContext.javamauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHea0000644000175000001440000000343710441654212031741 0ustar dokousers/* getAccessibleContext.java -- some checks for the getAccessibleContext() method in the AccessibleJTableHeaderEntry class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.accessibility.Accessible; import javax.accessibility.AccessibleContext; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; public class getAccessibleContext implements Testlet { public void test(TestHarness harness) { DefaultTableModel tm = new DefaultTableModel(new String[] {"AA", "BB", "CC"}, 3); JTable t = new JTable(tm); JTableHeader th = t.getTableHeader(); AccessibleContext ac = th.getAccessibleContext(); Accessible ac0 = ac.getAccessibleChild(0); harness.check(ac0.getClass().getName().endsWith("AccessibleJTableHeaderEntry")); AccessibleContext ac0ac = ac0.getAccessibleContext(); harness.check(ac0, ac0ac); } } ././@LongLink0000644000000000000000000000017200000000000011603 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/getFont.javamauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHea0000644000175000001440000000470411015022012031720 0ustar dokousers/* getFont.java -- some checks for the getFont() method in the AccessibleJTableHeaderEntry class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: MyTableCellRenderer package gnu.testlet.javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Font; import javax.accessibility.Accessible; import javax.accessibility.AccessibleComponent; import javax.accessibility.AccessibleContext; import javax.swing.JTable; import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; public class getFont implements Testlet { public void test(TestHarness harness) { DefaultTableModel tm = new DefaultTableModel(new String[] {"AA", "BB", "CC"}, 3); JTable t = new JTable(tm); JTableHeader th = t.getTableHeader(); AccessibleContext ac = th.getAccessibleContext(); Accessible ac0 = ac.getAccessibleChild(0); harness.check(ac0.getClass().getName().endsWith("AccessibleJTableHeaderEntry")); AccessibleComponent ac0ac = ac0.getAccessibleContext().getAccessibleComponent(); DefaultTableCellRenderer r0 = new DefaultTableCellRenderer(); harness.check(ac0ac.getFont(), r0.getFont()); MyTableCellRenderer r = new MyTableCellRenderer(); r.setFont(new Font("Dialog", Font.BOLD, 15)); t.getColumnModel().getColumn(1).setHeaderRenderer(r); Accessible ac1 = ac.getAccessibleChild(1); harness.check(ac1.getClass().getName().endsWith("AccessibleJTableHeaderEntry")); AccessibleComponent ac1ac = ac1.getAccessibleContext().getAccessibleComponent(); harness.check(ac1ac.getFont(), new Font("Dialog", Font.BOLD, 15)); } } ././@LongLink0000644000000000000000000000021500000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/getAccessibleChildrenCount.javamauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHea0000644000175000001440000000352410441654212031736 0ustar dokousers/* getAccessibleChildrenCount.java -- some checks for the getAccessibleChildrenCount() method in the AccessibleJTableHeaderEntry class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.accessibility.Accessible; import javax.accessibility.AccessibleContext; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; public class getAccessibleChildrenCount implements Testlet { public void test(TestHarness harness) { DefaultTableModel tm = new DefaultTableModel(new String[] {"AA", "BB", "CC"}, 3); JTable t = new JTable(tm); JTableHeader th = t.getTableHeader(); AccessibleContext ac = th.getAccessibleContext(); Accessible ac0 = ac.getAccessibleChild(0); harness.check(ac0.getClass().getName().endsWith("AccessibleJTableHeaderEntry")); AccessibleContext ac0ac = ac0.getAccessibleContext(); harness.check(ac0ac.getAccessibleChildrenCount(), 0); } } ././@LongLink0000644000000000000000000000020000000000000011573 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/getForeground.javamauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHea0000644000175000001440000000465311015022012031723 0ustar dokousers/* getForeground.java -- some checks for the getForeground() method in the AccessibleJTableHeaderEntry class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: MyTableCellRenderer package gnu.testlet.javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.accessibility.Accessible; import javax.accessibility.AccessibleComponent; import javax.accessibility.AccessibleContext; import javax.swing.JLabel; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; public class getForeground implements Testlet { public void test(TestHarness harness) { DefaultTableModel tm = new DefaultTableModel(new String[] {"AA", "BB", "CC"}, 3); JTable t = new JTable(tm); JTableHeader th = t.getTableHeader(); AccessibleContext ac = th.getAccessibleContext(); Accessible ac0 = ac.getAccessibleChild(0); harness.check(ac0.getClass().getName().endsWith("AccessibleJTableHeaderEntry")); AccessibleComponent ac0ac = ac0.getAccessibleContext().getAccessibleComponent(); JLabel label = new JLabel("Just to get the foreground"); harness.check(ac0ac.getForeground(), label.getForeground()); MyTableCellRenderer r = new MyTableCellRenderer(); r.setForeground(Color.yellow); t.getColumnModel().getColumn(1).setHeaderRenderer(r); Accessible ac1 = ac.getAccessibleChild(1); harness.check(ac1.getClass().getName().endsWith("AccessibleJTableHeaderEntry")); AccessibleComponent ac1ac = ac1.getAccessibleContext().getAccessibleComponent(); harness.check(ac1ac.getForeground(), Color.yellow); } } ././@LongLink0000644000000000000000000000021300000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/getAccessibleDescription.javamauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHea0000644000175000001440000000366610441654212031745 0ustar dokousers/* getAccessibleDescription.java -- some checks for the getAccessibleDescription() method in the AccessibleJTableHeaderEntry class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.accessibility.Accessible; import javax.accessibility.AccessibleContext; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; public class getAccessibleDescription implements Testlet { public void test(TestHarness harness) { DefaultTableModel tm = new DefaultTableModel(new String[] {"AA", "BB", "CC"}, 3); JTable t = new JTable(tm); JTableHeader th = t.getTableHeader(); AccessibleContext ac = th.getAccessibleContext(); Accessible ac0 = ac.getAccessibleChild(0); harness.check(ac0.getClass().getName().endsWith("AccessibleJTableHeaderEntry")); AccessibleContext ac0ac = ac0.getAccessibleContext(); harness.check(ac0ac.getAccessibleDescription(), null); ac0ac.setAccessibleDescription("AAx"); harness.check(ac0ac.getAccessibleDescription(), "AAx"); } } ././@LongLink0000644000000000000000000000021100000000000011575 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/getAccessibleComponent.javamauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHea0000644000175000001440000000356010441654212031736 0ustar dokousers/* getAccessibleComponent.java -- some checks for the getAccessibleComponent() method in the AccessibleJTableHeaderEntry class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.accessibility.Accessible; import javax.accessibility.AccessibleComponent; import javax.accessibility.AccessibleContext; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; public class getAccessibleComponent implements Testlet { public void test(TestHarness harness) { DefaultTableModel tm = new DefaultTableModel(new String[] {"AA", "BB", "CC"}, 3); JTable t = new JTable(tm); JTableHeader th = t.getTableHeader(); AccessibleContext ac = th.getAccessibleContext(); Accessible ac0 = ac.getAccessibleChild(0); harness.check(ac0.getClass().getName().endsWith("AccessibleJTableHeaderEntry")); AccessibleComponent ac0ac = ac0.getAccessibleContext().getAccessibleComponent(); harness.check(ac0, ac0ac); } } ././@LongLink0000644000000000000000000000020000000000000011573 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/getBackground.javamauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHea0000644000175000001440000000465311015022012031723 0ustar dokousers/* getBackground.java -- some checks for the getBackground() method in the AccessibleJTableHeaderEntry class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: MyTableCellRenderer package gnu.testlet.javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.accessibility.Accessible; import javax.accessibility.AccessibleComponent; import javax.accessibility.AccessibleContext; import javax.swing.JLabel; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; public class getBackground implements Testlet { public void test(TestHarness harness) { DefaultTableModel tm = new DefaultTableModel(new String[] {"AA", "BB", "CC"}, 3); JTable t = new JTable(tm); JTableHeader th = t.getTableHeader(); AccessibleContext ac = th.getAccessibleContext(); Accessible ac0 = ac.getAccessibleChild(0); harness.check(ac0.getClass().getName().endsWith("AccessibleJTableHeaderEntry")); AccessibleComponent ac0ac = ac0.getAccessibleContext().getAccessibleComponent(); JLabel label = new JLabel("Just to get the background"); harness.check(ac0ac.getBackground(), label.getBackground()); MyTableCellRenderer r = new MyTableCellRenderer(); r.setBackground(Color.yellow); t.getColumnModel().getColumn(1).setHeaderRenderer(r); Accessible ac1 = ac.getAccessibleChild(1); harness.check(ac1.getClass().getName().endsWith("AccessibleJTableHeaderEntry")); AccessibleComponent ac1ac = ac1.getAccessibleContext().getAccessibleComponent(); harness.check(ac1ac.getBackground(), Color.yellow); } } ././@LongLink0000644000000000000000000000017400000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/isVisible.javamauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHea0000644000175000001440000000440411015022012031715 0ustar dokousers/* isVisible.java -- some checks for the isVisible() method in the AccessibleJTableHeaderEntry class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: MyTableCellRenderer package gnu.testlet.javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.accessibility.Accessible; import javax.accessibility.AccessibleComponent; import javax.accessibility.AccessibleContext; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; public class isVisible implements Testlet { public void test(TestHarness harness) { DefaultTableModel tm = new DefaultTableModel(new String[] {"AA", "BB", "CC"}, 3); JTable t = new JTable(tm); JTableHeader th = t.getTableHeader(); AccessibleContext ac = th.getAccessibleContext(); Accessible ac0 = ac.getAccessibleChild(0); harness.check(ac0.getClass().getName().endsWith("AccessibleJTableHeaderEntry")); AccessibleComponent ac0ac = ac0.getAccessibleContext().getAccessibleComponent(); harness.check(ac0ac.isVisible(), true); MyTableCellRenderer r = new MyTableCellRenderer(); r.setVisible(false); t.getColumnModel().getColumn(1).setHeaderRenderer(r); Accessible ac1 = ac.getAccessibleChild(1); harness.check(ac1.getClass().getName().endsWith("AccessibleJTableHeaderEntry")); AccessibleComponent ac1ac = ac1.getAccessibleContext().getAccessibleComponent(); harness.check(ac1ac.isVisible(), false); } } ././@LongLink0000644000000000000000000000020400000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/setAccessibleName.javamauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHea0000644000175000001440000000471410441654212031740 0ustar dokousers/* setAccessibleName.java -- some checks for the setAccessibleName() method in the AccessibleJTableHeaderEntry class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.accessibility.Accessible; import javax.accessibility.AccessibleContext; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; public class setAccessibleName implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } public void test(TestHarness harness) { DefaultTableModel tm = new DefaultTableModel(new String[] {"AA", "BB", "CC"}, 3); JTable t = new JTable(tm); JTableHeader th = t.getTableHeader(); AccessibleContext ac = th.getAccessibleContext(); Accessible ac0 = ac.getAccessibleChild(0); harness.check(ac0.getClass().getName().endsWith("AccessibleJTableHeaderEntry")); AccessibleContext ac0ac = ac0.getAccessibleContext(); harness.check(ac0ac.getAccessibleName(), "AA"); ac0ac.addPropertyChangeListener(this); ac0ac.setAccessibleName("AAx"); harness.check(ac0ac.getAccessibleName(), "AAx"); harness.check(events.size(), 1); PropertyChangeEvent pce = (PropertyChangeEvent) events.get(0); harness.check(pce.getPropertyName(), AccessibleContext.ACCESSIBLE_NAME_PROPERTY); harness.check(pce.getOldValue(), null); harness.check(pce.getNewValue(), "AAx"); } } ././@LongLink0000644000000000000000000000020400000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/getAccessibleRole.javamauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHea0000644000175000001440000000433711015022012031722 0ustar dokousers/* getAccessibleRole.java -- some checks for the getAccessibleRole() method in the AccessibleJTableHeaderEntry class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: MyTableCellRenderer package gnu.testlet.javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.accessibility.Accessible; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleRole; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; public class getAccessibleRole implements Testlet { public void test(TestHarness harness) { DefaultTableModel tm = new DefaultTableModel(new String[] {"AA", "BB", "CC"}, 3); JTable t = new JTable(tm); JTableHeader th = t.getTableHeader(); AccessibleContext ac = th.getAccessibleContext(); Accessible ac0 = ac.getAccessibleChild(0); harness.check(ac0.getClass().getName().endsWith("AccessibleJTableHeaderEntry")); AccessibleContext ac0ac = ac0.getAccessibleContext(); harness.check(ac0ac.getAccessibleRole(), AccessibleRole.LABEL); t.getColumnModel().getColumn(1).setHeaderRenderer(new MyTableCellRenderer()); Accessible ac1 = ac.getAccessibleChild(1); harness.check(ac1.getClass().getName().endsWith("AccessibleJTableHeaderEntry")); AccessibleContext ac1ac = ac1.getAccessibleContext(); harness.check(ac1ac.getAccessibleRole(), AccessibleRole.PUSH_BUTTON); } } ././@LongLink0000644000000000000000000000020500000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/getAccessibleValue.javamauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHea0000644000175000001440000000440511015022012031716 0ustar dokousers/* getAccessibleValue.java -- some checks for the getAccessibleValue() method in the AccessibleJTableHeaderEntry class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: MyTableCellRenderer package gnu.testlet.javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.accessibility.Accessible; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleValue; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; public class getAccessibleValue implements Testlet { public void test(TestHarness harness) { DefaultTableModel tm = new DefaultTableModel(new String[] {"AA", "BB", "CC"}, 3); JTable t = new JTable(tm); JTableHeader th = t.getTableHeader(); AccessibleContext ac = th.getAccessibleContext(); Accessible ac0 = ac.getAccessibleChild(0); harness.check(ac0.getClass().getName().endsWith("AccessibleJTableHeaderEntry")); AccessibleValue ac0av = ac0.getAccessibleContext().getAccessibleValue(); harness.check(ac0av, null); MyTableCellRenderer r = new MyTableCellRenderer(); t.getColumnModel().getColumn(1).setHeaderRenderer(r); Accessible ac1 = ac.getAccessibleChild(1); harness.check(ac1.getClass().getName().endsWith("AccessibleJTableHeaderEntry")); AccessibleValue ac1av = ac1.getAccessibleContext().getAccessibleValue(); harness.check(ac1av, r.getAccessibleContext().getAccessibleValue()); } } ././@LongLink0000644000000000000000000000020500000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/getAccessibleChild.javamauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHea0000644000175000001440000000363510441654212031741 0ustar dokousers/* getAccessibleChild.java -- some checks for the getAccessibleChild() method in the AccessibleJTableHeaderEntry class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.accessibility.Accessible; import javax.accessibility.AccessibleContext; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; public class getAccessibleChild implements Testlet { public void test(TestHarness harness) { DefaultTableModel tm = new DefaultTableModel(new String[] {"AA", "BB", "CC"}, 3); JTable t = new JTable(tm); JTableHeader th = t.getTableHeader(); AccessibleContext ac = th.getAccessibleContext(); Accessible ac0 = ac.getAccessibleChild(0); harness.check(ac0.getClass().getName().endsWith("AccessibleJTableHeaderEntry")); AccessibleContext ac0ac = ac0.getAccessibleContext(); harness.check(ac0ac.getAccessibleChild(0), null); harness.check(ac0ac.getAccessibleChild(-1), null); harness.check(ac0ac.getAccessibleChild(99), null); } } ././@LongLink0000644000000000000000000000021500000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/getAccessibleIndexInParent.javamauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHea0000644000175000001440000000411710441654212031735 0ustar dokousers/* getAccessibleIndexInParent.java -- some checks for the getAccessibleIndexInParent() method in the AccessibleJTableHeaderEntry class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.accessibility.Accessible; import javax.accessibility.AccessibleContext; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; public class getAccessibleIndexInParent implements Testlet { public void test(TestHarness harness) { DefaultTableModel tm = new DefaultTableModel(new String[] {"AA", "BB", "CC"}, 3); JTable t = new JTable(tm); JTableHeader th = t.getTableHeader(); AccessibleContext ac = th.getAccessibleContext(); Accessible ac0 = ac.getAccessibleChild(0); harness.check(ac0.getClass().getName().endsWith("AccessibleJTableHeaderEntry")); AccessibleContext ac0ac = ac0.getAccessibleContext(); harness.check(ac0ac.getAccessibleIndexInParent(), 0); Accessible ac2 = ac.getAccessibleChild(2); harness.check(ac2.getClass().getName().endsWith("AccessibleJTableHeaderEntry")); AccessibleContext ac2ac = ac2.getAccessibleContext(); harness.check(ac2ac.getAccessibleIndexInParent(), 2); } } ././@LongLink0000644000000000000000000000017400000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/getLocale.javamauve-20140821/gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHea0000644000175000001440000000444711015022012031724 0ustar dokousers/* getLocale.java -- some checks for the getLocale() method in the AccessibleJTableHeaderEntry class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: MyTableCellRenderer package gnu.testlet.javax.swing.table.JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Locale; import javax.accessibility.Accessible; import javax.accessibility.AccessibleContext; import javax.swing.JLabel; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; public class getLocale implements Testlet { public void test(TestHarness harness) { DefaultTableModel tm = new DefaultTableModel(new String[] {"AA", "BB", "CC"}, 3); JTable t = new JTable(tm); JTableHeader th = t.getTableHeader(); AccessibleContext ac = th.getAccessibleContext(); Accessible ac0 = ac.getAccessibleChild(0); harness.check(ac0.getClass().getName().endsWith("AccessibleJTableHeaderEntry")); AccessibleContext ac0ac = ac0.getAccessibleContext(); JLabel label = new JLabel("Just to get the locale"); harness.check(ac0ac.getLocale(), label.getLocale()); MyTableCellRenderer r = new MyTableCellRenderer(); r.setLocale(Locale.CHINA); t.getColumnModel().getColumn(1).setHeaderRenderer(r); Accessible ac1 = ac.getAccessibleChild(1); harness.check(ac1.getClass().getName().endsWith("AccessibleJTableHeaderEntry")); AccessibleContext ac1ac = ac1.getAccessibleContext(); harness.check(ac1ac.getLocale(), Locale.CHINA); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableModel/0000755000175000001440000000000012375316426023077 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/table/DefaultTableModel/removeRow.java0000644000175000001440000000537710166613041025730 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.event.TableModelEvent; import javax.swing.table.DefaultTableModel; /** * Some tests for the removeRow() method in the {@link DefaultTableModel} class. */ public class removeRow implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testBasics(harness); testEvents(harness); } public void testBasics(TestHarness harness) { DefaultTableModel m1 = new DefaultTableModel(3, 1); m1.setValueAt("V1", 0, 0); m1.setValueAt("V2", 1, 0); m1.setValueAt("V3", 2, 0); m1.removeRow(1); harness.check(m1.getRowCount(), 2); // 1 harness.check(m1.getValueAt(0, 0), "V1"); // 2 harness.check(m1.getValueAt(1, 0), "V3"); // 3 boolean pass = false; try { m1.removeRow(-1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // 4 pass = false; try { m1.removeRow(99); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // 5 } public void testEvents(TestHarness harness) { DefaultTableModel m1 = new DefaultTableModel(3, 1); MyTableModelListener listener1 = new MyTableModelListener(); m1.addTableModelListener(listener1); m1.setValueAt("V1", 0, 0); m1.setValueAt("V2", 1, 0); m1.setValueAt("V3", 2, 0); m1.removeRow(2); TableModelEvent event = listener1.getEvent(); harness.check(event.getColumn(), -1); // 6 harness.check(event.getFirstRow(), 2); // 7 harness.check(event.getLastRow(), 2); // 8 harness.check(event.getType(), TableModelEvent.DELETE); // 9 } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableModel/constructors.java0000644000175000001440000001763010255354524026515 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Vector; import javax.swing.table.DefaultTableModel; /** * Some tests for the constructors in the {@link DefaultTableModel} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); } private void testConstructor1(TestHarness harness) { harness.checkPoint("DefaultTableModel()"); DefaultTableModel m1 = new DefaultTableModel(); harness.check(m1.getRowCount(), 0); harness.check(m1.getColumnCount(), 0); } private void testConstructor2(TestHarness harness) { harness.checkPoint("DefaultTableModel(int, int)"); DefaultTableModel m1 = new DefaultTableModel(2, 3); harness.check(m1.getRowCount(), 2); harness.check(m1.getColumnCount(), 3); harness.check(m1.getValueAt(0, 0), null); harness.check(m1.getValueAt(1, 2), null); DefaultTableModel m2 = new DefaultTableModel(0, 0); harness.check(m2.getRowCount(), 0); harness.check(m2.getColumnCount(), 0); // check negative arguments - the spec doesn't state what should // happen, but an IllegalArgumentException would be most likely. boolean pass = false; try { DefaultTableModel m3 = new DefaultTableModel(-1, 1); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); pass = false; try { DefaultTableModel m3 = new DefaultTableModel(1, -1); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } private void testConstructor3(TestHarness harness) { harness.checkPoint("DefaultTableModel(Object[][], Object[])"); Object[][] data1 = new Object[2][3]; Object[] columns1 = new Object[] { "C1", "C2", "C3" }; // simple case DefaultTableModel m1 = new DefaultTableModel(data1, columns1); harness.check(m1.getRowCount(), 2); // 1 harness.check(m1.getColumnCount(), 3); // 2 harness.check(m1.getColumnName(0), "C1"); // 3 harness.check(m1.getColumnName(1), "C2"); // 4 harness.check(m1.getColumnName(2), "C3"); // 5 // less column names than required Object[] columns2 = new Object[] { "C1" }; DefaultTableModel m2 = new DefaultTableModel(data1, columns2); harness.check(m2.getColumnName(0), "C1"); // 6 harness.check(m2.getColumnCount(), 1); // 7 // more column names than required Object[] columns3 = new Object[] { "C1", "C2", "C3", "C4" }; DefaultTableModel m3 = new DefaultTableModel(data1, columns3); harness.check(m3.getColumnCount(), 4); harness.check(m3.getColumnName(0), "C1"); // 8 harness.check(m3.getColumnName(1), "C2"); // 9 harness.check(m3.getColumnName(2), "C3"); // 10 harness.check(m3.getColumnName(3), "C4"); // 11 // null values for column names Object[] columns4 = new Object[] { null, null, null }; DefaultTableModel m4 = new DefaultTableModel(data1, columns4); harness.check(m4.getColumnCount(), 3); harness.check(m4.getColumnName(0), "A"); // 12 harness.check(m4.getColumnName(1), "B"); // 13 harness.check(m4.getColumnName(2), "C"); // 14 // null data array - behaviour not specified DefaultTableModel m5 = new DefaultTableModel(null, columns1); harness.check(m5.getDataVector().size(), 0); harness.check(m5.getColumnCount(), 3); // null column names array - behaviour not specified DefaultTableModel m6 = new DefaultTableModel(data1, null); harness.check(m6.getColumnCount(), 0); } private void testConstructor4(TestHarness harness) { harness.checkPoint("DefaultTableModel(Object[], int)"); Object[] columns1 = new Object[] { "C1", "C2", "C3" }; DefaultTableModel m1 = new DefaultTableModel(columns1, 2); harness.check(m1.getRowCount(), 2); // check 1 harness.check(m1.getColumnCount(), 3); // check 2 harness.check(m1.getColumnName(0), "C1"); // check 3 harness.check(m1.getColumnName(1), "C2"); // check 4 harness.check(m1.getColumnName(2), "C3"); // check 5 // empty column names Object[] columns2 = new Object[] { }; DefaultTableModel m2 = new DefaultTableModel(columns2, 2); harness.check(m2.getRowCount(), 2); // check 6 harness.check(m2.getColumnCount(), 0); // check 7 // null column names Object[] columns3 = new Object[] { "C1", null, "C3" }; DefaultTableModel m3 = new DefaultTableModel(columns3, 2); harness.check(m3.getRowCount(), 2); // check 8 harness.check(m3.getColumnCount(), 3); // check 9 harness.check(m3.getColumnName(0), "C1"); // check 10 harness.check(m3.getColumnName(1), "B"); // check 11 harness.check(m3.getColumnName(2), "C3"); // check 12 // null array Object[] columns4 = null; DefaultTableModel m4 = new DefaultTableModel(columns4, 2); harness.check(m4.getColumnCount(), 0); harness.check(m4.getRowCount(), 2); // negative row count boolean pass = false; try { /*DefaultTableModel m5 =*/ new DefaultTableModel(columns1, -1); } catch (RuntimeException e) { pass = true; } harness.check(pass); } private void testConstructor5(TestHarness harness) { harness.checkPoint("DefaultTableModel(Vector, int)"); Vector columns1 = new Vector(); columns1.add("C1"); columns1.add("C2"); columns1.add("C3"); DefaultTableModel m1 = new DefaultTableModel(columns1, 2); harness.check(m1.getRowCount(), 2); harness.check(m1.getColumnCount(), 3); harness.check(m1.getColumnName(0), "C1"); harness.check(m1.getColumnName(1), "C2"); harness.check(m1.getColumnName(2), "C3"); // empty column names Vector columns2 = new Vector(); DefaultTableModel m2 = new DefaultTableModel(columns2, 2); harness.check(m2.getRowCount(), 2); harness.check(m2.getColumnCount(), 0); // null column names Vector columns3 = new Vector(); columns3.add("C1"); columns3.add(null); columns3.add("C3"); DefaultTableModel m3 = new DefaultTableModel(columns3, 2); harness.check(m3.getRowCount(), 2); harness.check(m3.getColumnCount(), 3); harness.check(m3.getColumnName(0), "C1"); harness.check(m3.getColumnName(1), "B"); harness.check(m3.getColumnName(2), "C3"); // null vector Vector columns4 = null; boolean pass = false; try { DefaultTableModel m4 = new DefaultTableModel(columns4, 2); } catch (NullPointerException e) { pass = true; } // negative row count pass = false; try { DefaultTableModel m5 = new DefaultTableModel(columns1, -1); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableModel/insertRow.java0000644000175000001440000001044010257030500025714 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Vector; import javax.swing.event.TableModelEvent; import javax.swing.table.DefaultTableModel; /** * Some tests for the insertRow() methods in the {@link DefaultTableModel} * class. */ public class insertRow implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testInsertRow1(harness); testInsertRow2(harness); } private void testInsertRow1(TestHarness harness) { harness.checkPoint("insertRow(int, Object[])"); DefaultTableModel m1 = new DefaultTableModel( new Object[] {"C1", "C2", "C3"}, 0); MyTableModelListener listener1 = new MyTableModelListener(); m1.addTableModelListener(listener1); m1.insertRow(0, new Object[] {"V1", "V2", "V3"}); harness.check(m1.getColumnCount(), 3); harness.check(m1.getRowCount(), 1); TableModelEvent event = listener1.getEvent(); harness.check(event.getType(), TableModelEvent.INSERT); listener1.setEvent(null); m1.insertRow(0, (Object[]) null); harness.check(m1.getRowCount(), 2); event = listener1.getEvent(); harness.check(event.getType(), TableModelEvent.INSERT); harness.check(event.getColumn(), TableModelEvent.ALL_COLUMNS); harness.check(event.getFirstRow(), 0); harness.check(event.getLastRow(), 0); listener1.setEvent(null); // negative row index boolean pass = false; try { m1.insertRow(-1, (Object[]) null); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // row index too large pass = false; try { m1.insertRow(999, (Object[]) null); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } private void testInsertRow2(TestHarness harness) { harness.checkPoint("insertRow(int, Vector)"); Vector v1 = new Vector(); v1.add("V1"); v1.add("V2"); v1.add("V3"); DefaultTableModel m1 = new DefaultTableModel( new Object[] {"C1", "C2", "C3"}, 0); MyTableModelListener listener1 = new MyTableModelListener(); m1.addTableModelListener(listener1); m1.insertRow(0, v1); harness.check(m1.getColumnCount(), 3); harness.check(m1.getRowCount(), 1); TableModelEvent event = listener1.getEvent(); harness.check(event.getType(), TableModelEvent.INSERT); harness.check(event.getColumn(), TableModelEvent.ALL_COLUMNS); harness.check(event.getFirstRow(), 0); harness.check(event.getLastRow(), 0); listener1.setEvent(null); m1.insertRow(0, (Vector) null); harness.check(m1.getRowCount(), 2); event = listener1.getEvent(); harness.check(event.getType(), TableModelEvent.INSERT); harness.check(event.getColumn(), TableModelEvent.ALL_COLUMNS); harness.check(event.getFirstRow(), 0); harness.check(event.getLastRow(), 0); listener1.setEvent(null); // negative row index boolean pass = false; try { m1.insertRow(-1, (Vector) null); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // row index too large pass = false; try { m1.insertRow(999, (Vector) null); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableModel/moveRow.java0000644000175000001440000000575010257030500025366 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.event.TableModelEvent; import javax.swing.table.DefaultTableModel; /** * Some tests for the moveRow() methods in the {@link DefaultTableModel} class. */ public class moveRow implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Object[][] data = new Object[][] {{"A"}, {"B"}, {"C"}, {"D"}, {"E"}, {"F"}, {"G"}, {"H"}, {"I"}, {"J"}, {"K"}}; DefaultTableModel m1 = new DefaultTableModel(data, new Object[] {"C1"}); MyTableModelListener listener1 = new MyTableModelListener(); m1.addTableModelListener(listener1); m1.moveRow(1, 3, 5); harness.check(m1.getValueAt(0, 0), "A"); harness.check(m1.getValueAt(1, 0), "E"); harness.check(m1.getValueAt(2, 0), "F"); harness.check(m1.getValueAt(3, 0), "G"); harness.check(m1.getValueAt(4, 0), "H"); harness.check(m1.getValueAt(5, 0), "B"); harness.check(m1.getValueAt(6, 0), "C"); harness.check(m1.getValueAt(7, 0), "D"); harness.check(m1.getValueAt(8, 0), "I"); harness.check(m1.getValueAt(9, 0), "J"); harness.check(m1.getValueAt(10, 0), "K"); TableModelEvent event = listener1.getEvent(); harness.check(event.getType(), TableModelEvent.UPDATE); harness.check(event.getColumn(), TableModelEvent.ALL_COLUMNS); harness.check(event.getFirstRow(), 1); harness.check(event.getLastRow(), 7); listener1.setEvent(null); DefaultTableModel m2 = new DefaultTableModel(data, new Object[] {"C1"}); m2.moveRow(6, 7, 1); harness.check(m2.getValueAt(0, 0), "A"); harness.check(m2.getValueAt(1, 0), "G"); harness.check(m2.getValueAt(2, 0), "H"); harness.check(m2.getValueAt(3, 0), "B"); harness.check(m2.getValueAt(4, 0), "C"); harness.check(m2.getValueAt(5, 0), "D"); harness.check(m2.getValueAt(6, 0), "E"); harness.check(m2.getValueAt(7, 0), "F"); harness.check(m2.getValueAt(8, 0), "I"); harness.check(m2.getValueAt(9, 0), "J"); harness.check(m2.getValueAt(10, 0), "K"); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableModel/setRowCount.java0000644000175000001440000000664710257030500026232 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.event.TableModelEvent; import javax.swing.table.DefaultTableModel; /** * Some tests for the setRowCount() method in the {@link DefaultTableModel} * class. */ public class setRowCount implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testBasics(harness); testEvents(harness); } public void testBasics(TestHarness harness) { DefaultTableModel m1 = new DefaultTableModel( new Object[] {"C1", "C2", "C3"}, 3); m1.setValueAt("V1", 0, 0); m1.setValueAt("V2", 1, 0); m1.setValueAt("V3", 2, 0); m1.setRowCount(4); harness.check(m1.getRowCount(), 4); harness.check(m1.getValueAt(3, 0), null); DefaultTableModel m2 = new DefaultTableModel(3, 1); m2.setValueAt("V1", 0, 0); m2.setValueAt("V2", 1, 0); m2.setValueAt("V3", 2, 0); m2.setRowCount(4); harness.check(m2.getRowCount(), 4); harness.check(m2.getValueAt(0, 0), "V1"); // negative row count - the spec doesn't say what exception this should // throw, so we'll just check for a runtime exception DefaultTableModel m3 = new DefaultTableModel(); boolean pass = false; try { m3.setRowCount(-1); } catch (RuntimeException e) { pass = true; } harness.check(pass); } public void testEvents(TestHarness harness) { DefaultTableModel m1 = new DefaultTableModel(3, 1); MyTableModelListener listener1 = new MyTableModelListener(); m1.addTableModelListener(listener1); m1.setValueAt("V1", 0, 0); m1.setValueAt("V2", 1, 0); m1.setValueAt("V3", 2, 0); m1.setRowCount(5); TableModelEvent event = listener1.getEvent(); harness.check(event.getType(), TableModelEvent.INSERT); harness.check(event.getColumn(), TableModelEvent.ALL_COLUMNS); harness.check(event.getFirstRow(), 3); harness.check(event.getLastRow(), 4); DefaultTableModel m2 = new DefaultTableModel(3, 1); MyTableModelListener listener2 = new MyTableModelListener(); m2.addTableModelListener(listener2); m2.setValueAt("V1", 0, 0); m2.setValueAt("V2", 1, 0); m2.setValueAt("V3", 2, 0); m2.setRowCount(1); TableModelEvent event2 = listener2.getEvent(); harness.check(event2.getType(), TableModelEvent.DELETE); harness.check(event2.getColumn(), TableModelEvent.ALL_COLUMNS); harness.check(event2.getFirstRow(), 1); harness.check(event2.getLastRow(), 2); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableModel/newDataAvailable.java0000644000175000001440000000334010166613041027113 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.event.TableModelEvent; import javax.swing.table.DefaultTableModel; /** * Some tests for the newDataAvailable() method in the {@link DefaultTableModel} class. */ public class newDataAvailable implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Object[][] data = new Object[][] {{"A"}, {"B"}, {"C"}}; DefaultTableModel m1 = new DefaultTableModel(data, new Object[] {"C1"}); MyTableModelListener listener1 = new MyTableModelListener(); m1.addTableModelListener(listener1); TableModelEvent event = new TableModelEvent(m1); m1.newDataAvailable(event); TableModelEvent received = listener1.getEvent(); harness.check(received == event); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableModel/rowsRemoved.java0000644000175000001440000000332110166613041026242 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.event.TableModelEvent; import javax.swing.table.DefaultTableModel; /** * Some tests for the rowsRemoved() method in the {@link DefaultTableModel} class. */ public class rowsRemoved implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Object[][] data = new Object[][] {{"A"}, {"B"}, {"C"}}; DefaultTableModel m1 = new DefaultTableModel(data, new Object[] {"C1"}); MyTableModelListener listener1 = new MyTableModelListener(); m1.addTableModelListener(listener1); TableModelEvent event = new TableModelEvent(m1); m1.rowsRemoved(event); TableModelEvent received = listener1.getEvent(); harness.check(received == event); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableModel/getDataVector.java0000644000175000001440000000410110166613041026457 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Vector; import javax.swing.table.DefaultTableModel; /** * Some tests for the getDataVector() method in the {@link DefaultTableModel} class. */ public class getDataVector implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultTableModel m1 = new DefaultTableModel(); Vector v1 = m1.getDataVector(); harness.check(v1.isEmpty()); Object[][] data2 = new Object[2][3]; data2[0][0] = "V1"; data2[0][1] = "V2"; data2[0][2] = "V3"; data2[1][0] = "V4"; data2[1][1] = "V5"; data2[1][2] = "V6"; Object[] columns2 = new Object[] { "C1", "C2", "C3" }; DefaultTableModel m2 = new DefaultTableModel(data2, columns2); Vector v2 = m2.getDataVector(); harness.check(v2.size(), 2); Vector v2a = (Vector) v2.get(0); Vector v2b = (Vector) v2.get(1); harness.check(v2a.get(0), "V1"); harness.check(v2a.get(1), "V2"); harness.check(v2a.get(2), "V3"); harness.check(v2b.get(0), "V4"); harness.check(v2b.get(1), "V5"); harness.check(v2b.get(2), "V6"); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableModel/addRow.java0000644000175000001440000000777410257030500025160 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Vector; import javax.swing.event.TableModelEvent; import javax.swing.table.DefaultTableModel; /** * Some tests for the addRow() methods in the {@link DefaultTableModel} class. */ public class addRow implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testAddRow1(harness); testAddRow2(harness); } private void testAddRow1(TestHarness harness) { harness.checkPoint("addRow(Object[])"); // check case where number of data items matches number of columns DefaultTableModel m1 = new DefaultTableModel( new Object[] {"C1", "C2", "C3"}, 0); MyTableModelListener listener1 = new MyTableModelListener(); m1.addTableModelListener(listener1); m1.addRow(new Object[] {"V1", "V2", "V3"}); harness.check(m1.getColumnCount(), 3); harness.check(m1.getRowCount(), 1); TableModelEvent event = listener1.getEvent(); harness.check(event.getType(), TableModelEvent.INSERT); harness.check(event.getColumn(), TableModelEvent.ALL_COLUMNS); harness.check(event.getFirstRow(), 0); harness.check(event.getLastRow(), 0); listener1.setEvent(null); // check case where number of data items < number of columns // check case where number of data items > number of columns // test null data m1.addRow((Object[]) null); harness.check(m1.getRowCount(), 2); event = listener1.getEvent(); harness.check(event.getType(), TableModelEvent.INSERT); harness.check(event.getColumn(), TableModelEvent.ALL_COLUMNS); harness.check(event.getFirstRow(), 1); harness.check(event.getLastRow(), 1); listener1.setEvent(null); } private void testAddRow2(TestHarness harness) { harness.checkPoint("addRow(Vector)"); // check case where number of data items matches number of columns DefaultTableModel m1 = new DefaultTableModel( new Object[] {"C1", "C2", "C3"}, 0); MyTableModelListener listener1 = new MyTableModelListener(); m1.addTableModelListener(listener1); Vector row = new Vector(); row.add("V1"); row.add("V2"); row.add("V3"); m1.addRow(row); harness.check(m1.getColumnCount(), 3); harness.check(m1.getRowCount(), 1); TableModelEvent event = listener1.getEvent(); harness.check(event.getType(), TableModelEvent.INSERT); harness.check(event.getColumn(), TableModelEvent.ALL_COLUMNS); harness.check(event.getFirstRow(), 0); harness.check(event.getLastRow(), 0); listener1.setEvent(null); // check case where number of data items < number of columns // check case where number of data items > number of columns // test null data m1.addRow((Vector) null); harness.check(m1.getRowCount(), 2); event = listener1.getEvent(); harness.check(event.getType(), TableModelEvent.INSERT); harness.check(event.getColumn(), TableModelEvent.ALL_COLUMNS); harness.check(event.getFirstRow(), 1); harness.check(event.getLastRow(), 1); listener1.setEvent(null); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableModel/addColumn.java0000644000175000001440000001673410257030500025642 0ustar dokousers// Tags: JDK1.2 // Uses: MyTableModelListener // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Vector; import javax.swing.event.TableModelEvent; import javax.swing.table.DefaultTableModel; /** * Some tests for the addColumn() methods in the {@link DefaultTableModel} * class. */ public class addColumn implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testAddColumn1(harness); testAddColumn2(harness); testAddColumn3(harness); } private void testAddColumn1(TestHarness harness) { harness.checkPoint("addColumn(Object)"); DefaultTableModel m1 = new DefaultTableModel(); MyTableModelListener listener1 = new MyTableModelListener(); m1.addTableModelListener(listener1); m1.addColumn("C1"); harness.check(m1.getColumnCount(), 1); // 1 harness.check(m1.getColumnName(0), "C1"); // 2 TableModelEvent event = listener1.getEvent(); harness.check(event.getType(), TableModelEvent.UPDATE); // 3 harness.check(event.getColumn(), TableModelEvent.ALL_COLUMNS); harness.check(event.getFirstRow(), -1); harness.check(event.getLastRow(), -1); // null argument is permitted in JDK 1.4 (see bug report 4474094) boolean pass = true; try { m1.addColumn(null); } catch (IllegalArgumentException e) { pass = false; } harness.check(pass); } private void testAddColumn2(TestHarness harness) { harness.checkPoint("addColumn(Object, Vector)"); // correct number of data values DefaultTableModel m1 = new DefaultTableModel(2, 3); MyTableModelListener listener1 = new MyTableModelListener(); m1.addTableModelListener(listener1); Vector columnData1 = new Vector(); columnData1.add("V1"); columnData1.add("V2"); m1.addColumn("C4", columnData1); harness.check(m1.getColumnCount(), 4); // 1 harness.check(m1.getColumnName(3), "C4"); // 2 harness.check(m1.getValueAt(0, 3), "V1"); // 3 harness.check(m1.getValueAt(1, 3), "V2"); // 4 TableModelEvent event = listener1.getEvent(); harness.check(event.getType(), TableModelEvent.UPDATE); // 5 harness.check(event.getColumn(), TableModelEvent.ALL_COLUMNS); // 6 harness.check(event.getFirstRow(), -1); // 7 harness.check(event.getLastRow(), -1); // 8 // too few data values DefaultTableModel m2 = new DefaultTableModel(2, 3); MyTableModelListener listener2 = new MyTableModelListener(); m2.addTableModelListener(listener2); Vector columnData2 = new Vector(); columnData2.add("V1"); m2.addColumn("C4", columnData2); harness.check(m2.getColumnCount(), 4); // 9 harness.check(m2.getColumnName(3), "C4"); // 10 harness.check(m2.getValueAt(0, 3), "V1"); // 11 harness.check(m2.getValueAt(1, 3), null); // 12 event = listener2.getEvent(); harness.check(event.getType(), TableModelEvent.UPDATE); harness.check(event.getColumn(), TableModelEvent.ALL_COLUMNS); harness.check(event.getFirstRow(), -1); harness.check(event.getLastRow(), -1); // too many data values DefaultTableModel m3 = new DefaultTableModel( new Object[] {"C1", "C2", "C3"}, 2); Vector columnData3 = new Vector(); columnData3.add("V1"); columnData3.add("V2"); columnData3.add("V3"); m3.addColumn("C4", columnData3); harness.check(m3.getColumnCount(), 4); // 13 harness.check(m3.getColumnName(3), "C4"); // 14 harness.check(m3.getValueAt(0, 3), "V1"); // 15 harness.check(m3.getValueAt(1, 3), "V2"); // 16 harness.check(m3.getValueAt(2, 3), "V3"); // 17 harness.check(m3.getValueAt(2, 2), null); // 18 // null column name argument is permitted in JDK 1.4 // (see bug report 4474094) boolean pass = true; try { m1.addColumn(null, new Vector()); } catch (RuntimeException e) { pass = false; } harness.check(pass); // null data values DefaultTableModel m4 = new DefaultTableModel(); m4.addColumn("C1", (Vector) null); harness.check(m4.getColumnName(0), "C1"); harness.check(m4.getRowCount(), 0); } private void testAddColumn3(TestHarness harness) { harness.checkPoint("addColumn(Object, Object[])"); // correct number of data values DefaultTableModel m1 = new DefaultTableModel(2, 3); Object[] columnData1 = new Object[2]; columnData1[0] = "V1"; columnData1[1] = "V2"; m1.addColumn("C4", columnData1); harness.check(m1.getColumnCount(), 4); // 1 harness.check(m1.getColumnName(3), "C4"); // 2 harness.check(m1.getValueAt(0, 3), "V1"); // 3 harness.check(m1.getValueAt(1, 3), "V2"); // 4 // too few data values DefaultTableModel m2 = new DefaultTableModel(2, 3); Object[] columnData2 = new Object[1]; columnData2[0] = "V1"; m2.addColumn("C4", columnData2); harness.check(m2.getColumnCount(), 4); // 5 harness.check(m2.getColumnName(3), "C4"); // 6 harness.check(m2.getValueAt(0, 3), "V1"); // 7 harness.check(m2.getValueAt(1, 3), null); // 8 // too many data values DefaultTableModel m3 = new DefaultTableModel( new Object[] {"C1", "C2", "C3"}, 2); Object[] columnData3 = new Object[3]; columnData3[0] = "V1"; columnData3[1] = "V2"; columnData3[2] = "V3"; m3.addColumn("C4", columnData3); harness.check(m3.getColumnCount(), 4); // 9 harness.check(m3.getColumnName(3), "C4"); // 10 harness.check(m3.getValueAt(0, 3), "V1"); // 11 harness.check(m3.getValueAt(1, 3), "V2"); // 12 harness.check(m3.getValueAt(2, 3), "V3"); // 13 harness.check(m3.getValueAt(2, 2), null); // 14 // null column name argument is permitted in JDK 1.4 // (see bug report 4474094) boolean pass = true; try { m1.addColumn(null, new Vector()); } catch (RuntimeException e) { pass = false; } harness.check(pass); // null data values DefaultTableModel m4 = new DefaultTableModel(); m4.addColumn("C1", (Object[]) null); harness.check(m4.getColumnName(0), "C1"); harness.check(m4.getRowCount(), 0); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableModel/getColumnName.java0000644000175000001440000000360210255354524026475 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.table.DefaultTableModel; /** * Some tests for the getColumnName() method in the {@link DefaultTableModel} * class. */ public class getColumnName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultTableModel m1 = new DefaultTableModel(2, 53); harness.check(m1.getColumnName(0), "A"); harness.check(m1.getColumnName(26), "AA"); harness.check(m1.getColumnName(52), "BA"); // negative column index - spec doesn't say what exception is thrown, // so we'll just check for a runtime exception boolean pass = false; try { /*String n =*/ m1.getColumnName(-1); } catch (RuntimeException e) { pass = true; } harness.check(pass); // column index too large - this should fetch a default column name harness.check(m1.getColumnName(99), "CV"); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableModel/getColumnCount.java0000644000175000001440000000266710166613041026710 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.table.DefaultTableModel; /** * Some tests for the getColumnCount() method in the {@link DefaultTableModel} class. */ public class getColumnCount implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultTableModel m1 = new DefaultTableModel(2, 3); harness.check(m1.getColumnCount(), 3); m1.setColumnCount(99); harness.check(m1.getColumnCount(), 99); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableModel/setValueAt.java0000644000175000001440000000611210166613041026004 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.event.TableModelEvent; import javax.swing.table.DefaultTableModel; /** * Some tests for the setValueAt() method in the {@link DefaultTableModel} class. */ public class setValueAt implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testBasics(harness); testEvents(harness); } public void testBasics(TestHarness harness) { DefaultTableModel m1 = new DefaultTableModel(2, 3); m1.setValueAt("V1", 0, 0); m1.setValueAt("V2", 0, 1); m1.setValueAt("V3", 0, 2); m1.setValueAt(null, 1, 0); m1.setValueAt("V5", 1, 1); m1.setValueAt("V6", 1, 2); harness.check(m1.getValueAt(0, 0), "V1"); harness.check(m1.getValueAt(0, 1), "V2"); harness.check(m1.getValueAt(0, 2), "V3"); harness.check(m1.getValueAt(1, 0), null); harness.check(m1.getValueAt(1, 1), "V5"); harness.check(m1.getValueAt(1, 2), "V6"); boolean pass = false; try { m1.setValueAt("X", -1, 0); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { m1.setValueAt("X", 99, 0); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { m1.setValueAt("X", 0, -1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { m1.setValueAt("X", 0, 99); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } public void testEvents(TestHarness harness) { DefaultTableModel m1 = new DefaultTableModel(2, 3); MyTableModelListener listener = new MyTableModelListener(); m1.addTableModelListener(listener); m1.setValueAt("V1", 1, 0); TableModelEvent event = listener.getEvent(); harness.check(event.getColumn(), 0); harness.check(event.getFirstRow(), 1); harness.check(event.getLastRow(), 1); harness.check(event.getType(), TableModelEvent.UPDATE); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableModel/getRowCount.java0000644000175000001440000000265010166613041026212 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.table.DefaultTableModel; /** * Some tests for the getRowCount() method in the {@link DefaultTableModel} class. */ public class getRowCount implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultTableModel m1 = new DefaultTableModel(2, 3); harness.check(m1.getRowCount(), 2); m1.setRowCount(99); harness.check(m1.getRowCount(), 99); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableModel/setColumnIdentifiers.java0000644000175000001440000001133310257030500030061 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Vector; import javax.swing.event.TableModelEvent; import javax.swing.table.DefaultTableModel; /** * Some tests for the setColumnIdentifiers() method in the * {@link DefaultTableModel} class. */ public class setColumnIdentifiers implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testBasics1(harness); testBasics2(harness); testEvents1(harness); testEvents2(harness); } public void testBasics1(TestHarness harness) { harness.checkPoint("setColumnIdentifiers(Object[])"); DefaultTableModel m1 = new DefaultTableModel(1, 3); m1.setColumnIdentifiers(new Object[] {"C1", "C2", "C3"}); harness.check(m1.getColumnName(0), "C1"); // 1 harness.check(m1.getColumnName(1), "C2"); // 2 harness.check(m1.getColumnName(2), "C3"); // 3 Vector v1 = m1.getDataVector(); Vector v1a = (Vector) v1.get(0); harness.check(v1a.size(), 3); // 4 m1.setColumnIdentifiers(new Object[] {"SINGLE COLUMN"}); harness.check(m1.getColumnCount(), 1); // 5 harness.check(m1.getColumnName(0), "SINGLE COLUMN"); // 6 Vector v2 = m1.getDataVector(); Vector v2a = (Vector) v2.get(0); harness.check(v2a.size(), 1); // 7 m1.setColumnIdentifiers((Object[]) null); harness.check(m1.getColumnCount(), 0); // 8 Vector v3 = m1.getDataVector(); Vector v3a = (Vector) v3.get(0); harness.check(v3a.size(), 0); } public void testBasics2(TestHarness harness) { harness.checkPoint("setColumnIdentifiers(Vector)"); DefaultTableModel m1 = new DefaultTableModel(1, 3); Vector v = new Vector(); v.add("C1"); v.add("C2"); v.add("C3"); m1.setColumnIdentifiers(v); harness.check(m1.getColumnName(0), "C1"); // 1 harness.check(m1.getColumnName(1), "C2"); // 2 harness.check(m1.getColumnName(2), "C3"); // 3 Vector v1 = m1.getDataVector(); Vector v1a = (Vector) v1.get(0); harness.check(v1a.size(), 3); // 4 Vector cols2 = new Vector(); cols2.add("SINGLE COLUMN"); m1.setColumnIdentifiers(cols2); harness.check(m1.getColumnCount(), 1); // 5 harness.check(m1.getColumnName(0), "SINGLE COLUMN"); // 6 Vector v2 = m1.getDataVector(); Vector v2a = (Vector) v2.get(0); harness.check(v2a.size(), 1); // 7 m1.setColumnIdentifiers((Vector) null); harness.check(m1.getColumnCount(), 0); // 8 Vector v3 = m1.getDataVector(); Vector v3a = (Vector) v3.get(0); harness.check(v3a.size(), 0); } public void testEvents1(TestHarness harness) { DefaultTableModel m1 = new DefaultTableModel(1, 3); MyTableModelListener listener1 = new MyTableModelListener(); m1.addTableModelListener(listener1); m1.setColumnIdentifiers(new Object[] {"C1", "C2", "C3"}); TableModelEvent event = listener1.getEvent(); harness.check(event.getType(), TableModelEvent.UPDATE); harness.check(event.getColumn(), TableModelEvent.ALL_COLUMNS); harness.check(event.getFirstRow(), -1); harness.check(event.getLastRow(), -1); } public void testEvents2(TestHarness harness) { DefaultTableModel m1 = new DefaultTableModel(1, 3); Vector v = new Vector(); v.add("C1"); v.add("C2"); v.add("C3"); MyTableModelListener listener1 = new MyTableModelListener(); m1.addTableModelListener(listener1); m1.setColumnIdentifiers(v); TableModelEvent event = listener1.getEvent(); harness.check(event.getType(), TableModelEvent.UPDATE); harness.check(event.getColumn(), TableModelEvent.ALL_COLUMNS); harness.check(event.getFirstRow(), -1); harness.check(event.getLastRow(), -1); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableModel/getValueAt.java0000644000175000001440000000467610166613041026005 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.table.DefaultTableModel; /** * Some tests for the getValueAt() method in the {@link DefaultTableModel} class. */ public class getValueAt implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultTableModel m1 = new DefaultTableModel(2, 3); m1.setValueAt("V1", 0, 0); m1.setValueAt("V2", 0, 1); m1.setValueAt("V3", 0, 2); m1.setValueAt("V4", 1, 0); m1.setValueAt("V5", 1, 1); m1.setValueAt("V6", 1, 2); harness.check(m1.getValueAt(0, 0), "V1"); harness.check(m1.getValueAt(0, 1), "V2"); harness.check(m1.getValueAt(0, 2), "V3"); harness.check(m1.getValueAt(1, 0), "V4"); harness.check(m1.getValueAt(1, 1), "V5"); harness.check(m1.getValueAt(1, 2), "V6"); boolean pass = false; try { m1.getValueAt(-1, 0); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { m1.getValueAt(99, 0); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { m1.getValueAt(0, -1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { m1.getValueAt(0, 99); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableModel/MyDefaultTableModel.java0000644000175000001440000000247310166613041027560 0ustar dokousers// Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableModel; import java.util.Vector; import javax.swing.table.DefaultTableModel; /** * This class provides access to protected methods for testing. */ public class MyDefaultTableModel extends DefaultTableModel { public MyDefaultTableModel() { } public static Vector convertToVector(Object[] anArray) { return DefaultTableModel.convertToVector(anArray); } public static Vector convertToVector(Object[][] anArray) { return DefaultTableModel.convertToVector(anArray); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableModel/setDataVector.java0000644000175000001440000001612710257030500026500 0ustar dokousers// Tags: JDK1.2 // Uses: MyTableModelListener // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Vector; import javax.swing.event.TableModelEvent; import javax.swing.table.DefaultTableModel; /** * Some tests for the setDataVector() methods in the {@link DefaultTableModel} * class. */ public class setDataVector implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); testEvent(harness); } public void test1(TestHarness harness) { harness.checkPoint("setDataVector(Object[][], Object[])"); DefaultTableModel m1 = new DefaultTableModel(); Object[][] data = new Object[2][3]; data[0][0] = "V1"; data[0][1] = "V2"; data[0][2] = "V3"; data[1][0] = "V4"; data[1][1] = "V5"; data[1][2] = "V6"; Object[] columns = new Object[] {"C1", "C2", "C3"}; m1.setDataVector(data, columns); harness.check(m1.getValueAt(0, 0), "V1"); harness.check(m1.getValueAt(0, 1), "V2"); harness.check(m1.getValueAt(0, 2), "V3"); harness.check(m1.getValueAt(1, 0), "V4"); harness.check(m1.getValueAt(1, 1), "V5"); harness.check(m1.getValueAt(1, 2), "V6"); harness.check(m1.getColumnName(0), "C1"); harness.check(m1.getColumnName(1), "C2"); harness.check(m1.getColumnName(2), "C3"); // do a check for uneven row lengths DefaultTableModel m2 = new DefaultTableModel(); Object[][] data2 = new Object[2][]; Object[] row1 = new Object[2]; row1[0] = "V1"; row1[1] = "V2"; Object[] row2 = new Object[4]; row2[0] = "V3"; row2[1] = "V4"; row2[2] = "V5"; row2[3] = "V6"; data2[0] = row1; data2[1] = row2; Object[] columns2 = new Object[] {"C1", "C2", "C3"}; m2.setDataVector(data2, columns2); harness.check(m2.getValueAt(0, 0), "V1"); harness.check(m2.getValueAt(0, 1), "V2"); harness.check(m2.getValueAt(0, 2), null); harness.check(m2.getValueAt(1, 0), "V3"); harness.check(m2.getValueAt(1, 1), "V4"); harness.check(m2.getValueAt(1, 2), "V5"); harness.check(m2.getColumnName(0), "C1"); harness.check(m2.getColumnName(1), "C2"); harness.check(m2.getColumnName(2), "C3"); harness.check(m2.getColumnCount(), 3); harness.check(m2.getRowCount(), 2); } public void test2(TestHarness harness) { harness.checkPoint("setDataVector(Vector, Vector)"); DefaultTableModel m1 = new DefaultTableModel(); Vector v1 = new Vector(); v1.add("V1"); v1.add("V2"); v1.add("V3"); Vector v2 = new Vector(); v2.add("V4"); v2.add("V5"); v2.add("V6"); Vector v = new Vector(); v.add(v1); v.add(v2); Vector columns = new Vector(); columns.add("C1"); columns.add("C2"); columns.add("C3"); m1.setDataVector(v, columns); harness.check(m1.getValueAt(0, 0), "V1"); // 1 harness.check(m1.getValueAt(0, 1), "V2"); // 2 harness.check(m1.getValueAt(0, 2), "V3"); // 3 harness.check(m1.getValueAt(1, 0), "V4"); // 4 harness.check(m1.getValueAt(1, 1), "V5"); // 5 harness.check(m1.getValueAt(1, 2), "V6"); // 6 harness.check(m1.getColumnName(0), "C1"); // 7 harness.check(m1.getColumnName(1), "C2"); // 8 harness.check(m1.getColumnName(2), "C3"); // 9 // do a check with uneven row lengths DefaultTableModel m2 = new DefaultTableModel(); Vector vv1 = new Vector(); vv1.add("V1"); vv1.add("V2"); Vector vv2 = new Vector(); vv2.add("V3"); vv2.add("V4"); vv2.add("V5"); vv2.add("V6"); Vector vv = new Vector(); vv.add(vv1); vv.add(vv2); Vector columns2 = new Vector(); columns2.add("C1"); columns2.add("C2"); columns2.add("C3"); m2.setDataVector(vv, columns2); harness.check(m2.getValueAt(0, 0), "V1"); // 10 harness.check(m2.getValueAt(0, 1), "V2"); // 11 harness.check(m2.getValueAt(0, 2), null); // 12 harness.check(m2.getValueAt(1, 0), "V3"); // 13 harness.check(m2.getValueAt(1, 1), "V4"); // 14 harness.check(m2.getValueAt(1, 2), "V5"); // 15 harness.check(m2.getColumnName(0), "C1"); // 16 harness.check(m2.getColumnName(1), "C2"); // 17 harness.check(m2.getColumnName(2), "C3"); // 18 Vector data = m2.getDataVector(); Vector r1 = (Vector) data.get(0); harness.check(r1.size(), 3); // 19 Vector r2 = (Vector) data.get(1); harness.check(r2.size(), 3); // 20 // test null data vector - spec says // "unspecified behavior, an possibly an exception." // According to bug 4348070, JDK 1.3 throws an IllegalArgumentException // and JDK 1.4 doesn't throw any exception. // we check for column count matching the supplied column names which would // be the result of just calling setColumnIdentifiers... DefaultTableModel m3 = new DefaultTableModel(); m3.setDataVector((Vector) null, columns2); harness.check(m3.getColumnCount(), 3); // 21 harness.check(m3.getDataVector().size(), 0); // test null column names - it is not specified what should happen here, // but we can probably assume the same behaviour as in setColumnIdentifiers, // which is to set a zero-column model DefaultTableModel m4 = new DefaultTableModel(2, 3); m4.setDataVector(vv, null); harness.check(m4.getColumnCount(), 0); // 22 } public void testEvent(TestHarness harness) { harness.checkPoint("Check TableModelEvent"); DefaultTableModel m = new DefaultTableModel(); MyTableModelListener listener = new MyTableModelListener(); m.addTableModelListener(listener); Vector v1 = new Vector(); v1.add("V1"); v1.add("V2"); v1.add("V3"); Vector v2 = new Vector(); v2.add("V4"); v2.add("V5"); v2.add("V6"); Vector v = new Vector(); v.add(v1); v.add(v2); Vector columns = new Vector(); columns.add("C1"); columns.add("C2"); columns.add("C3"); m.setDataVector(v, columns); TableModelEvent event = listener.getEvent(); harness.check(event.getType(), TableModelEvent.UPDATE); harness.check(event.getColumn(), TableModelEvent.ALL_COLUMNS); harness.check(event.getFirstRow(), -1); harness.check(event.getLastRow(), -1); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableModel/isCellEditable.java0000644000175000001440000000277110166613041026603 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.table.DefaultTableModel; /** * Some tests for the isCellEditable() method in the {@link DefaultTableModel} class. */ public class isCellEditable implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultTableModel m1 = new DefaultTableModel(2, 3); harness.check(m1.isCellEditable(-1, -1)); harness.check(m1.isCellEditable(0, 0)); harness.check(m1.isCellEditable(1, 1)); harness.check(m1.isCellEditable(99, 99)); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableModel/MyTableModelListener.java0000644000175000001440000000257410166613041027763 0ustar dokousers// Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableModel; import javax.swing.event.TableModelEvent; import javax.swing.event.TableModelListener; /** * A listener that captures a TableModelEvent for testing purposes. */ public class MyTableModelListener implements TableModelListener { private TableModelEvent event; public MyTableModelListener() { this.event = null; } public TableModelEvent getEvent() { return this.event; } public void setEvent(TableModelEvent event) { this.event = event; } public void tableChanged(TableModelEvent event) { this.event = event; } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableModel/setColumnCount.java0000644000175000001440000000703010257030500026703 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.event.TableModelEvent; import javax.swing.table.DefaultTableModel; /** * Some tests for the setColumnCount() method in the {@link DefaultTableModel} * class. */ public class setColumnCount implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testBasics(harness); testEvents(harness); } public void testBasics(TestHarness harness) { DefaultTableModel m1 = new DefaultTableModel(1, 3); m1.setValueAt("V1", 0, 0); m1.setValueAt("V2", 0, 1); m1.setValueAt("V3", 0, 2); m1.setColumnCount(4); harness.check(m1.getColumnCount(), 4); harness.check(m1.getValueAt(0, 3), null); DefaultTableModel m2 = new DefaultTableModel(1, 3); m2.setValueAt("V1", 0, 0); m2.setValueAt("V2", 0, 1); m2.setValueAt("V3", 0, 2); m2.setColumnCount(1); harness.check(m2.getColumnCount(), 1); harness.check(m2.getValueAt(0, 0), "V1"); // check zero column count - this is permitted m2.setColumnCount(0); harness.check(m2.getColumnCount(), 0); // negative column count - the spec doesn't say what exception this should // throw, so we'll just check for a runtime exception DefaultTableModel m3 = new DefaultTableModel(); boolean pass = false; try { m3.setColumnCount(-1); } catch (RuntimeException e) { pass = true; } harness.check(pass); } public void testEvents(TestHarness harness) { DefaultTableModel m1 = new DefaultTableModel(1, 3); MyTableModelListener listener1 = new MyTableModelListener(); m1.addTableModelListener(listener1); m1.setValueAt("V1", 0, 0); m1.setValueAt("V2", 0, 1); m1.setValueAt("V3", 0, 2); m1.setColumnCount(4); TableModelEvent event = listener1.getEvent(); harness.check(event.getType(), TableModelEvent.UPDATE); harness.check(event.getColumn(), TableModelEvent.ALL_COLUMNS); harness.check(event.getFirstRow(), -1); harness.check(event.getLastRow(), -1); DefaultTableModel m2 = new DefaultTableModel(1, 3); MyTableModelListener listener2 = new MyTableModelListener(); m2.addTableModelListener(listener2); m2.setValueAt("V1", 0, 0); m2.setValueAt("V2", 0, 1); m2.setValueAt("V3", 0, 2); m2.setColumnCount(1); TableModelEvent event2 = listener2.getEvent(); harness.check(event2.getType(), TableModelEvent.UPDATE); harness.check(event.getColumn(), TableModelEvent.ALL_COLUMNS); harness.check(event.getFirstRow(), -1); harness.check(event.getLastRow(), -1); } } mauve-20140821/gnu/testlet/javax/swing/table/DefaultTableModel/convertToVector.java0000644000175000001440000000544310234111505027075 0ustar dokousers// Tags: JDK1.2 // Uses: MyDefaultTableModel // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.DefaultTableModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Vector; import javax.swing.table.DefaultTableModel; /** * Some tests for the convertToVector() methods in the {@link DefaultTableModel} class. */ public class convertToVector implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { Object[] data = new Object[] {"X", "Y", null, "Z"}; Vector v1 = MyDefaultTableModel.convertToVector(data); harness.check(v1.get(0), "X"); harness.check(v1.get(1), "Y"); harness.check(v1.get(2), null); harness.check(v1.get(3), "Z"); Object[] data2 = new Object[] {}; Vector v2 = MyDefaultTableModel.convertToVector(data2); harness.check(v2.isEmpty()); Vector v3 = MyDefaultTableModel.convertToVector((Object[]) null); harness.check(v3 == null); } public void test2(TestHarness harness) { Object[] data1 = new Object[] {"X", "Y", null, "Z"}; Object[] data2 = new Object[] {"A", "B" }; Object[][] data = new Object[2][]; data[0] = data1; data[1] = data2; Vector vector = MyDefaultTableModel.convertToVector(data); Vector v1 = (Vector) vector.get(0); harness.check(v1.get(0), "X"); harness.check(v1.get(1), "Y"); harness.check(v1.get(2), null); harness.check(v1.get(3), "Z"); harness.check(v1.size(), 4); Vector v2 = (Vector) vector.get(1); harness.check(v2.get(0), "A"); harness.check(v2.get(1), "B"); harness.check(v2.size(), 2); Object[][] data3 = new Object[][] {}; Vector v3 = MyDefaultTableModel.convertToVector(data3); harness.check(v3.isEmpty()); Vector v4 = MyDefaultTableModel.convertToVector((Object[][]) null); harness.check(v4 == null); } } mauve-20140821/gnu/testlet/javax/swing/table/TableColumn/0000755000175000001440000000000012375316426021767 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/table/TableColumn/removePropertyChangeListener.java0000644000175000001440000000501710405775553030515 0ustar dokousers/* removePropertyChangeListener.java -- some checks for the removePropertyChangeListener() method in the TableColumn class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.table.TableColumn; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.table.TableColumn; public class removePropertyChangeListener implements Testlet { static class Listener implements PropertyChangeListener { public List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } } public void test(TestHarness harness) { TableColumn c = new TableColumn(); // add a listener, make sure it receives an event Listener l1 = new Listener(); c.addPropertyChangeListener(l1); c.setWidth(60); harness.check(l1.events.size(), 1); // then remove it to make sure it doesn't get events anymore c.removePropertyChangeListener(l1); l1.events.clear(); c.setWidth(61); harness.check(l1.events.size(), 0); PropertyChangeListener[] listeners = c.getPropertyChangeListeners(); harness.check(listeners.length, 0); // remove a listener that was never added c.addPropertyChangeListener(l1); c.removePropertyChangeListener(new Listener()); listeners = c.getPropertyChangeListeners(); harness.check(listeners.length, 1); // remove a null listener c.removePropertyChangeListener(null); listeners = c.getPropertyChangeListeners(); harness.check(listeners.length, 1); c.removePropertyChangeListener(l1); listeners = c.getPropertyChangeListeners(); harness.check(listeners.length, 0); } } mauve-20140821/gnu/testlet/javax/swing/table/TableColumn/constructors.java0000644000175000001440000000770310271122526025376 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.TableColumn; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultCellEditor; import javax.swing.JCheckBox; import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.TableCellEditor; import javax.swing.table.TableCellRenderer; import javax.swing.table.TableColumn; /** * Some tests for the constructors in the {@link TableColumn} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); } private void testConstructor1(TestHarness harness) { harness.checkPoint("TableColumn()"); TableColumn c1 = new TableColumn(); harness.check(c1.getModelIndex(), 0); harness.check(c1.getMinWidth(), 15); harness.check(c1.getWidth(), 75); harness.check(c1.getMaxWidth(), Integer.MAX_VALUE); harness.check(c1.getCellRenderer(), null); harness.check(c1.getCellEditor(), null); harness.check(c1.getHeaderValue(), null); harness.check(c1.getResizable(), true); } private void testConstructor2(TestHarness harness) { harness.checkPoint("TableColumn(int)"); TableColumn c1 = new TableColumn(1); harness.check(c1.getModelIndex(), 1); harness.check(c1.getMinWidth(), 15); harness.check(c1.getWidth(), 75); harness.check(c1.getMaxWidth(), Integer.MAX_VALUE); harness.check(c1.getCellRenderer(), null); harness.check(c1.getCellEditor(), null); harness.check(c1.getHeaderValue(), null); harness.check(c1.getResizable(), true); TableColumn c2 = new TableColumn(-1); harness.check(c2.getModelIndex(), -1); } private void testConstructor3(TestHarness harness) { harness.checkPoint("TableColumn(int, int)"); TableColumn c1 = new TableColumn(1, 33); harness.check(c1.getModelIndex(), 1); harness.check(c1.getMinWidth(), 15); harness.check(c1.getWidth(), 33); harness.check(c1.getMaxWidth(), Integer.MAX_VALUE); harness.check(c1.getCellRenderer(), null); harness.check(c1.getCellEditor(), null); harness.check(c1.getHeaderValue(), null); harness.check(c1.getResizable(), true); // negative width TableColumn c2 = new TableColumn(1, -1); harness.check(c2.getWidth(), -1); } private void testConstructor4(TestHarness harness) { harness.checkPoint("TableColumn(int, int, TableCellRenderer, TableCellEditor)"); TableCellRenderer renderer = new DefaultTableCellRenderer(); TableCellEditor editor = new DefaultCellEditor(new JCheckBox()); TableColumn c1 = new TableColumn(1, 33, renderer, editor); harness.check(c1.getModelIndex(), 1); harness.check(c1.getMinWidth(), 15); harness.check(c1.getWidth(), 33); harness.check(c1.getMaxWidth(), Integer.MAX_VALUE); harness.check(c1.getCellRenderer(), renderer); harness.check(c1.getCellEditor(), editor); harness.check(c1.getHeaderValue(), null); harness.check(c1.getResizable(), true); } } mauve-20140821/gnu/testlet/javax/swing/table/TableColumn/setMaxWidth.java0000644000175000001440000000577510405630017025074 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.table.TableColumn; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.table.TableColumn; /** * Some tests for the setMaxWidth() method in the {@link TableColumn} class. */ public class setMaxWidth implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TableColumn c = new TableColumn(); harness.check(c.getMaxWidth(), Integer.MAX_VALUE); c.addPropertyChangeListener(this); c.setMaxWidth(99); harness.check(c.getMaxWidth(), 99); harness.check(events.size(), 1); PropertyChangeEvent e = (PropertyChangeEvent) events.get(0); harness.check(e.getPropertyName(), "maxWidth"); harness.check(e.getOldValue(), new Integer(Integer.MAX_VALUE)); harness.check(e.getNewValue(), new Integer(99)); // now set the max width less than the current width and preferred width events.clear(); harness.check(c.getWidth(), 75); harness.check(c.getPreferredWidth(), 75); c.setMaxWidth(50); harness.check(c.getWidth(), 50); harness.check(c.getMaxWidth(), 50); harness.check(c.getPreferredWidth(), 50); harness.check(events.size(), 3); PropertyChangeEvent e1 = (PropertyChangeEvent) events.get(0); harness.check(e1.getPropertyName(), "width"); harness.check(e1.getOldValue(), new Integer(75)); harness.check(e1.getNewValue(), new Integer(50)); PropertyChangeEvent e2 = (PropertyChangeEvent) events.get(1); harness.check(e2.getPropertyName(), "preferredWidth"); harness.check(e2.getOldValue(), new Integer(75)); harness.check(e2.getNewValue(), new Integer(50)); PropertyChangeEvent e3 = (PropertyChangeEvent) events.get(2); harness.check(e3.getPropertyName(), "maxWidth"); harness.check(e3.getOldValue(), new Integer(99)); harness.check(e3.getNewValue(), new Integer(50)); } } mauve-20140821/gnu/testlet/javax/swing/table/TableColumn/setCellRenderer.java0000644000175000001440000000454110405775553025722 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.table.TableColumn; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.TableCellRenderer; import javax.swing.table.TableColumn; /** * Some tests for the setCellRenderer() method in the {@link TableColumn} class. */ public class setCellRenderer implements Testlet, PropertyChangeListener { private PropertyChangeEvent event = null; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TableColumn c = new TableColumn(); TableCellRenderer r1 = new DefaultTableCellRenderer(); c.setCellRenderer(r1); harness.check(c.getCellRenderer(), r1); // O'Reilly's "Java Swing" (first edition) lists this as a "bound" property c.addPropertyChangeListener(this); TableCellRenderer r2 = new DefaultTableCellRenderer(); c.setCellRenderer(r2); harness.check(event.getPropertyName(), "cellRenderer"); harness.check(event.getOldValue(), r1); harness.check(event.getNewValue(), r2); // set renderer to null c.setCellRenderer(null); harness.check(c.getCellRenderer(), null); harness.check(event.getPropertyName(), "cellRenderer"); harness.check(event.getOldValue(), r2); harness.check(event.getNewValue(), null); } public void propertyChange(PropertyChangeEvent e) { this.event = e; } } mauve-20140821/gnu/testlet/javax/swing/table/TableColumn/setModelIndex.java0000644000175000001440000000253710170334403025367 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.TableColumn; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.table.TableColumn; /** * Some tests for the setModel() method in the {@link TableColumn} class. */ public class setModelIndex implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TableColumn c = new TableColumn(); c.setModelIndex(99); harness.check(c.getModelIndex(), 99); } } mauve-20140821/gnu/testlet/javax/swing/table/TableColumn/setCellEditor.java0000644000175000001440000000427510405775553025406 0ustar dokousers/* setCellEditor.java -- some checks for the setCellEditor() method in the TableColumn class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.table.TableColumn; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.DefaultCellEditor; import javax.swing.JTextField; import javax.swing.table.TableCellEditor; import javax.swing.table.TableColumn; public class setCellEditor implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } public void test(TestHarness harness) { TableColumn c = new TableColumn(); harness.check(c.getCellEditor(), null); c.addPropertyChangeListener(this); TableCellEditor editor = new DefaultCellEditor(new JTextField()); c.setCellEditor(editor); harness.check(c.getCellEditor(), editor); PropertyChangeEvent e = (PropertyChangeEvent) events.get(0); harness.check(e.getPropertyName(), "cellEditor"); harness.check(e.getOldValue(), null); harness.check(e.getNewValue(), editor); // set to null events.clear(); c.setCellEditor(null); e = (PropertyChangeEvent) events.get(0); harness.check(e.getPropertyName(), "cellEditor"); harness.check(e.getOldValue(), editor); harness.check(e.getNewValue(), null); } } mauve-20140821/gnu/testlet/javax/swing/table/TableColumn/constants.java0000644000175000001440000000302710170334403024632 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.TableColumn; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.table.TableColumn; /** * Some tests for the constants in the {@link TableColumn} class. */ public class constants implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.check(TableColumn.CELL_RENDERER_PROPERTY, "cellRenderer"); harness.check(TableColumn.COLUMN_WIDTH_PROPERTY, "columWidth"); // note the typo! harness.check(TableColumn.HEADER_RENDERER_PROPERTY, "headerRenderer"); harness.check(TableColumn.HEADER_VALUE_PROPERTY, "headerValue"); } } mauve-20140821/gnu/testlet/javax/swing/table/TableColumn/setHeaderValue.java0000644000175000001440000000423410405775553025540 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.table.TableColumn; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.table.TableColumn; /** * Some tests for the setHeaderValue() method in the {@link TableColumn} class. */ public class setHeaderValue implements Testlet, PropertyChangeListener { private PropertyChangeEvent event; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TableColumn c = new TableColumn(); c.setHeaderValue(new Integer(99)); harness.check(c.getHeaderValue(), new Integer(99)); // O'Reilly's "Java Swing" (first edition) lists this as a "bound" property c.addPropertyChangeListener(this); c.setHeaderValue("Value"); harness.check(event.getPropertyName(), "headerValue"); harness.check(event.getOldValue(), new Integer(99)); harness.check(event.getNewValue(), "Value"); c.setHeaderValue(null); harness.check(c.getHeaderValue(), null); harness.check(event.getPropertyName(), "headerValue"); harness.check(event.getOldValue(), "Value"); harness.check(event.getNewValue(), null); } public void propertyChange(PropertyChangeEvent e) { this.event = e; } } mauve-20140821/gnu/testlet/javax/swing/table/TableColumn/setIdentifier.java0000644000175000001440000000412710405775553025436 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.table.TableColumn; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.table.TableColumn; /** * Some tests for the setIdentifier() method in the {@link TableColumn} class. */ public class setIdentifier implements Testlet, PropertyChangeListener { PropertyChangeEvent event; public void propertyChange(PropertyChangeEvent e) { event = e; } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TableColumn c = new TableColumn(); harness.check(c.getIdentifier(), null); c.addPropertyChangeListener(this); c.setIdentifier(new Integer(99)); harness.check(c.getIdentifier(), new Integer(99)); harness.check(event.getPropertyName(), "identifier"); harness.check(event.getOldValue(), null); harness.check(event.getNewValue(), new Integer(99)); // try null c.setIdentifier(null); harness.check(c.getIdentifier(), null); harness.check(event.getPropertyName(), "identifier"); harness.check(event.getOldValue(), new Integer(99)); harness.check(event.getNewValue(), null); } } mauve-20140821/gnu/testlet/javax/swing/table/TableColumn/setMinWidth.java0000644000175000001440000000621410405575354025073 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.table.TableColumn; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.table.TableColumn; /** * Some tests for the setMinWidth() method in the {@link TableColumn} class. */ public class setMinWidth implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TableColumn c = new TableColumn(); harness.check(c.getMinWidth(), 15); c.addPropertyChangeListener(this); c.setMinWidth(11); harness.check(c.getMinWidth(), 11); harness.check(events.size(), 1); PropertyChangeEvent e = (PropertyChangeEvent) events.get(0); harness.check(e.getPropertyName(), "minWidth"); harness.check(e.getOldValue(), new Integer(15)); harness.check(e.getNewValue(), new Integer(11)); // spec says that current and preferred width will be updated if they are // less than the min width events.clear(); harness.check(c.getWidth(), 75); harness.check(c.getPreferredWidth(), 75); c.setMinWidth(88); harness.check(c.getMinWidth(), 88); harness.check(c.getWidth(), 88); harness.check(c.getPreferredWidth(), 88); PropertyChangeEvent e1 = (PropertyChangeEvent) events.get(0); harness.check(e1.getPropertyName(), "width"); harness.check(e1.getOldValue(), new Integer(75)); harness.check(e1.getNewValue(), new Integer(88)); PropertyChangeEvent e2 = (PropertyChangeEvent) events.get(1); harness.check(e2.getPropertyName(), "preferredWidth"); harness.check(e2.getOldValue(), new Integer(75)); harness.check(e2.getNewValue(), new Integer(88)); PropertyChangeEvent e3 = (PropertyChangeEvent) events.get(2); harness.check(e3.getPropertyName(), "minWidth"); harness.check(e3.getOldValue(), new Integer(11)); harness.check(e3.getNewValue(), new Integer(88)); // the spec doesn't say anything about the max value, unfortunately // try a negative value c.setMinWidth(-1); harness.check(c.getMinWidth(), 0); } } mauve-20140821/gnu/testlet/javax/swing/table/TableColumn/getModelIndex.java0000644000175000001440000000254410170334403025351 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.TableColumn; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.table.TableColumn; /** * Some tests for the setModelIndex() method in the {@link TableColumn} class. */ public class getModelIndex implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TableColumn c = new TableColumn(); c.setModelIndex(99); harness.check(c.getModelIndex(), 99); } } mauve-20140821/gnu/testlet/javax/swing/table/TableColumn/sizeWidthToFit.java0000644000175000001440000000732510406016525025547 0ustar dokousers/* sizeWidthToFit.java -- Some checks for the sizeWidthToFit() method in the TableColumn class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.table.TableColumn; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.JComponent; import javax.swing.JTable; import javax.swing.table.JTableHeader; import javax.swing.table.TableCellRenderer; import javax.swing.table.TableColumn; public class sizeWidthToFit implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent event) { events.add(event); } public void test(TestHarness harness) { TableColumn c = new TableColumn(); harness.check(c.getHeaderRenderer(), null); c.addPropertyChangeListener(this); // with no header renderer, the method should do nothing c.sizeWidthToFit(); harness.check(c.getMinWidth(), 15); harness.check(c.getMaxWidth(), Integer.MAX_VALUE); harness.check(c.getPreferredWidth(), 75); harness.check(c.getWidth(), 75); JTable t = new JTable(); JTableHeader h = t.getTableHeader(); JComponent r = (JComponent) h.getDefaultRenderer(); r.setMinimumSize(new Dimension(13, 5)); r.setMaximumSize(new Dimension(999, 99)); r.setPreferredSize(new Dimension(34, 21)); c.setHeaderRenderer((TableCellRenderer) r); harness.check(c.getMinWidth(), 15); harness.check(c.getMaxWidth(), Integer.MAX_VALUE); harness.check(c.getPreferredWidth(), 75); harness.check(c.getWidth(), 75); c.sizeWidthToFit(); harness.check(c.getMinWidth(), 13); harness.check(c.getMaxWidth(), 999); harness.check(c.getPreferredWidth(), 34); harness.check(c.getWidth(), 34); PropertyChangeEvent e0 = (PropertyChangeEvent) events.get(0); harness.check(e0.getPropertyName(), "headerRenderer"); harness.check(e0.getOldValue(), null); harness.check(e0.getNewValue(), r); PropertyChangeEvent e1 = (PropertyChangeEvent) events.get(1); harness.check(e1.getPropertyName(), "minWidth"); harness.check(e1.getOldValue(), new Integer(15)); harness.check(e1.getNewValue(), new Integer(13)); PropertyChangeEvent e2 = (PropertyChangeEvent) events.get(2); harness.check(e2.getPropertyName(), "maxWidth"); harness.check(e2.getOldValue(), new Integer(Integer.MAX_VALUE)); harness.check(e2.getNewValue(), new Integer(999)); PropertyChangeEvent e3 = (PropertyChangeEvent) events.get(3); harness.check(e3.getPropertyName(), "preferredWidth"); harness.check(e3.getOldValue(), new Integer(75)); harness.check(e3.getNewValue(), new Integer(34)); PropertyChangeEvent e4 = (PropertyChangeEvent) events.get(4); harness.check(e4.getPropertyName(), "width"); harness.check(e4.getOldValue(), new Integer(75)); harness.check(e4.getNewValue(), new Integer(34)); } } mauve-20140821/gnu/testlet/javax/swing/table/TableColumn/setPreferredWidth.java0000644000175000001440000000443610405575354026272 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.table.TableColumn; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.table.TableColumn; /** * Some tests for the setPreferredWidth() method in the {@link TableColumn} * class. */ public class setPreferredWidth implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TableColumn c = new TableColumn(); harness.check(c.getPreferredWidth(), 75); c.addPropertyChangeListener(this); c.setPreferredWidth(55); harness.check(c.getPreferredWidth(), 55); harness.check(events.size(), 1); PropertyChangeEvent e = (PropertyChangeEvent) events.get(0); harness.check(e.getPropertyName(), "preferredWidth"); harness.check(e.getOldValue(), new Integer(75)); harness.check(e.getNewValue(), new Integer(55)); // set the preferred width to less than the min width... c.setPreferredWidth(10); harness.check(c.getPreferredWidth(), 15); // default min width c.setMaxWidth(123); harness.check(c.getMaxWidth(), 123); c.setPreferredWidth(234); harness.check(c.getPreferredWidth(), 123); } } mauve-20140821/gnu/testlet/javax/swing/table/TableColumn/getCellRenderer.java0000644000175000001440000000300310170334403025656 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.TableColumn; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.TableCellRenderer; import javax.swing.table.TableColumn; /** * Some tests for the getCellRenderer() method in the {@link TableColumn} class. */ public class getCellRenderer implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TableColumn c = new TableColumn(); TableCellRenderer r = new DefaultTableCellRenderer(); c.setCellRenderer(r); harness.check(c.getCellRenderer(), r); } } mauve-20140821/gnu/testlet/javax/swing/table/TableColumn/setWidth.java0000644000175000001440000000411410405575354024424 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.table.TableColumn; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.table.TableColumn; /** * Some tests for the setWidth() method in the {@link TableColumn} class. */ public class setWidth implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TableColumn c = new TableColumn(); harness.check(c.getWidth(), 75); c.addPropertyChangeListener(this); c.setWidth(19); harness.check(c.getWidth(), 19); harness.check(events.size(), 1); PropertyChangeEvent e = (PropertyChangeEvent) events.get(0); harness.check(e.getPropertyName(), "width"); harness.check(e.getOldValue(), new Integer(75)); harness.check(e.getNewValue(), new Integer(19)); c.setWidth(10); harness.check(c.getWidth(), 15); c.setMaxWidth(100); c.setWidth(110); harness.check(c.getWidth(), 100); } public void propertyChange(PropertyChangeEvent e) { this.events.add(e); } } mauve-20140821/gnu/testlet/javax/swing/table/TableColumn/getHeaderValue.java0000644000175000001440000000260210170334403025501 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.TableColumn; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.table.TableColumn; /** * Some tests for the getHeaderValue() method in the {@link TableColumn} class. */ public class getHeaderValue implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TableColumn c = new TableColumn(); c.setHeaderValue(new Integer(99)); harness.check(c.getHeaderValue(), new Integer(99)); } } mauve-20140821/gnu/testlet/javax/swing/table/TableColumn/setResizable.java0000644000175000001440000000442510405562500025257 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.table.TableColumn; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.table.TableColumn; /** * Some tests for the setResizable() method in the {@link TableColumn} class. */ public class setResizable implements Testlet, PropertyChangeListener { PropertyChangeEvent lastEvent; public void propertyChange(PropertyChangeEvent e) { this.lastEvent = e; } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TableColumn c = new TableColumn(); harness.check(c.getResizable(), true); c.addPropertyChangeListener(this); c.setResizable(false); harness.check(c.getResizable(), false); harness.check(lastEvent.getPropertyName(), "isResizable"); harness.check(lastEvent.getOldValue(), Boolean.TRUE); harness.check(lastEvent.getNewValue(), Boolean.FALSE); // check that setting to the same value doesn't generate an event lastEvent = null; c.setResizable(false); harness.check(lastEvent == null); // now flip to true c.setResizable(true); harness.check(c.getResizable(), true); harness.check(lastEvent.getPropertyName(), "isResizable"); harness.check(lastEvent.getOldValue(), Boolean.FALSE); harness.check(lastEvent.getNewValue(), Boolean.TRUE); } } mauve-20140821/gnu/testlet/javax/swing/table/TableColumn/properties.java0000644000175000001440000000346510311275273025026 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.TableColumn; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.table.TableColumn; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests if the properties of the class TableColumn are correctly firing * events. * * @author Roman Kennke (kennke@aicas.com) */ public class properties implements Testlet { Object changedProperty; class TestPropertyListener implements PropertyChangeListener { public void propertyChange(PropertyChangeEvent e) { changedProperty = e.getPropertyName(); } } public void test(TestHarness harness) { TableColumn tc = new TableColumn(); tc.addPropertyChangeListener(new TestPropertyListener()); tc.setPreferredWidth(100); changedProperty = null; tc.setPreferredWidth(200); harness.check(changedProperty, "preferredWidth", "preferredWidth"); tc.setWidth(100); changedProperty = null; tc.setWidth(200); harness.check(changedProperty, "width", "width"); } } mauve-20140821/gnu/testlet/javax/swing/table/TableColumn/setHeaderRenderer.java0000644000175000001440000000446110405775553026234 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006, David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.table.TableColumn; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.TableCellRenderer; import javax.swing.table.TableColumn; /** * Some tests for the setHeaderRenderer() method in the {@link TableColumn} * class. */ public class setHeaderRenderer implements Testlet, PropertyChangeListener { private PropertyChangeEvent event; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TableColumn c = new TableColumn(); TableCellRenderer r = new DefaultTableCellRenderer(); c.setHeaderRenderer(r); harness.check(c.getHeaderRenderer(), r); // O'Reilly's "Java Swing" (first edition) lists this as a "bound" property c.addPropertyChangeListener(this); TableCellRenderer r2 = new DefaultTableCellRenderer(); c.setHeaderRenderer(r2); harness.check(event.getPropertyName(), "headerRenderer"); harness.check(event.getOldValue(), r); harness.check(event.getNewValue(), r2); // try null c.setHeaderRenderer(null); harness.check(event.getPropertyName(), "headerRenderer"); harness.check(event.getOldValue(), r2); harness.check(event.getNewValue(), null); } public void propertyChange(PropertyChangeEvent e) { this.event = e; } } mauve-20140821/gnu/testlet/javax/swing/table/TableColumn/addPropertyChangeListener.java0000644000175000001440000000411510405775553027746 0ustar dokousers/* addPropertyChangeListener.java -- some checks for the addPropertyChangeListener() method in the TableColumn class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.table.TableColumn; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.table.TableColumn; public class addPropertyChangeListener implements Testlet { static class Listener implements PropertyChangeListener { public List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } } public void test(TestHarness harness) { TableColumn c = new TableColumn(); // add a listener, make sure it receives an event Listener l1 = new Listener(); c.addPropertyChangeListener(l1); c.setWidth(60); harness.check(l1.events.size(), 1); c.removePropertyChangeListener(l1); l1.events.clear(); c.setWidth(61); harness.check(l1.events.size(), 0); PropertyChangeListener[] listeners = c.getPropertyChangeListeners(); harness.check(listeners.length, 0); // add a null listener c.addPropertyChangeListener(null); listeners = c.getPropertyChangeListeners(); harness.check(listeners.length, 0); } } mauve-20140821/gnu/testlet/javax/swing/table/TableColumn/getIdentifier.java0000644000175000001440000000276110170334403025404 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.TableColumn; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.table.TableColumn; /** * Some tests for the getIdentifier() method in the {@link TableColumn} class. */ public class getIdentifier implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TableColumn c = new TableColumn(); c.setIdentifier(new Integer(99)); harness.check(c.getIdentifier(), new Integer(99)); // c.setIdentifier(null); c.setHeaderValue("Test"); harness.check(c.getIdentifier(), "Test"); } } mauve-20140821/gnu/testlet/javax/swing/table/TableColumn/getHeaderRenderer.java0000644000175000001440000000301310170334403026170 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.TableColumn; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.TableCellRenderer; import javax.swing.table.TableColumn; /** * Some tests for the getHeaderRenderer() method in the {@link TableColumn} class. */ public class getHeaderRenderer implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TableColumn c = new TableColumn(); TableCellRenderer r = new DefaultTableCellRenderer(); c.setHeaderRenderer(r); harness.check(c.getHeaderRenderer(), r); } } mauve-20140821/gnu/testlet/javax/swing/table/AbstractTableModel/0000755000175000001440000000000012375316426023256 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/table/AbstractTableModel/fireTableStructureChanged.java0000644000175000001440000000356410271215500031201 0ustar dokousers// Tags: JDK1.2 // Uses: MyTableModel ../DefaultTableModel/MyTableModelListener // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.AbstractTableModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.table.DefaultTableModel.MyTableModelListener; import javax.swing.event.TableModelEvent; import javax.swing.table.AbstractTableModel; /** * Some tests for the fireTableStructureChanged() method in the * {@link AbstractTableModel} class. */ public class fireTableStructureChanged implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyTableModelListener listener = new MyTableModelListener(); MyTableModel m = new MyTableModel(); m.addTableModelListener(listener); m.fireTableStructureChanged(); TableModelEvent e = listener.getEvent(); harness.check(e.getFirstRow(), -1); harness.check(e.getLastRow(), -1); harness.check(e.getColumn(), -1); harness.check(e.getType(), TableModelEvent.UPDATE); } } mauve-20140821/gnu/testlet/javax/swing/table/AbstractTableModel/fireTableRowsInserted.java0000644000175000001440000000355210271215500030354 0ustar dokousers// Tags: JDK1.2 // Uses: MyTableModel ../DefaultTableModel/MyTableModelListener // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.AbstractTableModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.table.DefaultTableModel.MyTableModelListener; import javax.swing.event.TableModelEvent; import javax.swing.table.AbstractTableModel; /** * Some tests for the fireTableRowsInserted() method in the * {@link AbstractTableModel} class. */ public class fireTableRowsInserted implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyTableModelListener listener = new MyTableModelListener(); MyTableModel m = new MyTableModel(); m.addTableModelListener(listener); m.fireTableRowsInserted(3, 7); TableModelEvent e = listener.getEvent(); harness.check(e.getFirstRow(), 3); harness.check(e.getLastRow(), 7); harness.check(e.getColumn(), -1); harness.check(e.getType(), TableModelEvent.INSERT); } } mauve-20140821/gnu/testlet/javax/swing/table/AbstractTableModel/findColumn.java0000644000175000001440000000341110255350514026205 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.AbstractTableModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.table.AbstractTableModel; import javax.swing.table.DefaultTableModel; /** * Some tests for the findColumn() method in the {@link AbstractTableModel} * class. */ public class findColumn implements Testlet { /** * Runs the test using the specified harness. # * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultTableModel m1 = new DefaultTableModel(new Object[] {"C1", "C2", "C3"}, 1); harness.check(m1.findColumn("C1"), 0); harness.check(m1.findColumn("C2"), 1); harness.check(m1.findColumn("C3"), 2); harness.check(m1.findColumn("C4"), -1); boolean pass = false; try { /* int index = */ m1.findColumn(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/table/AbstractTableModel/fireTableRowsUpdated.java0000644000175000001440000000354710271215500030171 0ustar dokousers// Tags: JDK1.2 // Uses: MyTableModel ../DefaultTableModel/MyTableModelListener // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.AbstractTableModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.table.DefaultTableModel.MyTableModelListener; import javax.swing.event.TableModelEvent; import javax.swing.table.AbstractTableModel; /** * Some tests for the fireTableRowsUpdated() method in the * {@link AbstractTableModel} class. */ public class fireTableRowsUpdated implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyTableModelListener listener = new MyTableModelListener(); MyTableModel m = new MyTableModel(); m.addTableModelListener(listener); m.fireTableRowsUpdated(3, 7); TableModelEvent e = listener.getEvent(); harness.check(e.getFirstRow(), 3); harness.check(e.getLastRow(), 7); harness.check(e.getColumn(), -1); harness.check(e.getType(), TableModelEvent.UPDATE); } } mauve-20140821/gnu/testlet/javax/swing/table/AbstractTableModel/getColumnName.java0000644000175000001440000000337710257030500026650 0ustar dokousers// Tags: JDK1.2 // Uses: MyTableModel // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.AbstractTableModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.table.AbstractTableModel; /** * Some tests for the getColumnName() method in the {@link AbstractTableModel} * class. */ public class getColumnName implements Testlet { /** * Runs the test using the specified harness. # * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyTableModel m1 = new MyTableModel(); harness.check(m1.getColumnName(0), "A"); harness.check(m1.getColumnName(1), "B"); harness.check(m1.getColumnName(26), "AA"); harness.check(m1.getColumnName(27), "AB"); harness.check(m1.getColumnName(-1), ""); harness.check(m1.getColumnName(Integer.MIN_VALUE), ""); harness.check(m1.getColumnName(Integer.MAX_VALUE - 1), "FXSHRXW"); harness.check(m1.getColumnName(Integer.MAX_VALUE), "FXSHRXX"); } } mauve-20140821/gnu/testlet/javax/swing/table/AbstractTableModel/fireTableChanged.java0000644000175000001440000000351110271215500027250 0ustar dokousers// Tags: JDK1.2 // Uses: MyTableModel ../DefaultTableModel/MyTableModelListener // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.AbstractTableModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.table.DefaultTableModel.MyTableModelListener; import javax.swing.event.TableModelEvent; import javax.swing.table.AbstractTableModel; /** * Some tests for the fireTableChanged() method in the * {@link AbstractTableModel} class. */ public class fireTableChanged implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyTableModelListener listener = new MyTableModelListener(); MyTableModel m = new MyTableModel(); m.addTableModelListener(listener); TableModelEvent e1 = new TableModelEvent(m); m.fireTableChanged(e1); TableModelEvent e2 = listener.getEvent(); harness.check(e1 == e2); m.fireTableChanged(null); harness.check(listener.getEvent() == null); } } mauve-20140821/gnu/testlet/javax/swing/table/AbstractTableModel/getColumnClass.java0000644000175000001440000000303310255350514027032 0ustar dokousers// Tags: JDK1.2 // Uses: MyTableModel // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.AbstractTableModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.table.AbstractTableModel; /** * Some tests for the getColumnClass() method in the {@link AbstractTableModel} * class. */ public class getColumnClass implements Testlet { /** * Runs the test using the specified harness. # * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyTableModel m1 = new MyTableModel(); harness.check(m1.getColumnClass(0), Object.class); harness.check(m1.getColumnClass(Integer.MIN_VALUE), Object.class); harness.check(m1.getColumnClass(Integer.MAX_VALUE), Object.class); } } mauve-20140821/gnu/testlet/javax/swing/table/AbstractTableModel/isCellEditable.java0000644000175000001440000000353310255350514026761 0ustar dokousers// Tags: JDK1.2 // Uses: MyTableModel // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.AbstractTableModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.table.AbstractTableModel; /** * Some tests for the isCellEditable() method in the {@link AbstractTableModel} * class. */ public class isCellEditable implements Testlet { /** * Runs the test using the specified harness. # * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyTableModel m1 = new MyTableModel(); harness.check(m1.isCellEditable(0, 0), false); harness.check(m1.isCellEditable(Integer.MIN_VALUE, 0), false); harness.check(m1.isCellEditable(Integer.MAX_VALUE, 0), false); harness.check(m1.isCellEditable(Integer.MIN_VALUE, Integer.MIN_VALUE), false); harness.check(m1.isCellEditable(Integer.MAX_VALUE, Integer.MIN_VALUE), false); harness.check(m1.isCellEditable(Integer.MIN_VALUE, Integer.MAX_VALUE), false); harness.check(m1.isCellEditable(Integer.MAX_VALUE, Integer.MAX_VALUE), false); } } mauve-20140821/gnu/testlet/javax/swing/table/AbstractTableModel/fireTableRowsDeleted.java0000644000175000001440000000354710271215500030151 0ustar dokousers// Tags: JDK1.2 // Uses: MyTableModel ../DefaultTableModel/MyTableModelListener // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.AbstractTableModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.table.DefaultTableModel.MyTableModelListener; import javax.swing.event.TableModelEvent; import javax.swing.table.AbstractTableModel; /** * Some tests for the fireTableRowsDeleted() method in the * {@link AbstractTableModel} class. */ public class fireTableRowsDeleted implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyTableModelListener listener = new MyTableModelListener(); MyTableModel m = new MyTableModel(); m.addTableModelListener(listener); m.fireTableRowsDeleted(3, 7); TableModelEvent e = listener.getEvent(); harness.check(e.getFirstRow(), 3); harness.check(e.getLastRow(), 7); harness.check(e.getColumn(), -1); harness.check(e.getType(), TableModelEvent.DELETE); } } mauve-20140821/gnu/testlet/javax/swing/table/AbstractTableModel/fireTableCellUpdated.java0000644000175000001440000000360610271215500030112 0ustar dokousers// Tags: JDK1.2 // Uses: MyTableModel ../DefaultTableModel/MyTableModelListener // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.AbstractTableModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.table.DefaultTableModel.MyTableModelListener; import javax.swing.event.TableModelEvent; import javax.swing.table.AbstractTableModel; /** * Some tests for the fireTableCellUpdated() method in the * {@link AbstractTableModel} class. */ public class fireTableCellUpdated implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyTableModelListener listener = new MyTableModelListener(); MyTableModel m = new MyTableModel(); m.addTableModelListener(listener); m.fireTableCellUpdated(2, 3); TableModelEvent e = listener.getEvent(); harness.check(e.getFirstRow(), 2); harness.check(e.getLastRow(), 2); harness.check(e.getColumn(), 3); harness.check(e.getSource(), m); harness.check(e.getType(), TableModelEvent.UPDATE); } } mauve-20140821/gnu/testlet/javax/swing/table/AbstractTableModel/MyTableModel.java0000644000175000001440000000241510255350514026430 0ustar dokousers// Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.AbstractTableModel; import javax.swing.table.AbstractTableModel; /** * This class provides a default implementation that can be used to test * the methods in AbstractTableModel. */ public class MyTableModel extends AbstractTableModel { public MyTableModel() { } public int getRowCount() { return 1; } public int getColumnCount() { return 3; } public Object getValueAt(int row, int column) { return new Integer(column); } } mauve-20140821/gnu/testlet/javax/swing/table/AbstractTableModel/fireTableDataChanged.java0000644000175000001440000000356010271215500030046 0ustar dokousers// Tags: JDK1.2 // Uses: MyTableModel ../DefaultTableModel/MyTableModelListener // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.table.AbstractTableModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.table.DefaultTableModel.MyTableModelListener; import javax.swing.event.TableModelEvent; import javax.swing.table.AbstractTableModel; /** * Some tests for the fireTableDataChanged() method in the * {@link AbstractTableModel} class. */ public class fireTableDataChanged implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyTableModelListener listener = new MyTableModelListener(); MyTableModel m = new MyTableModel(); m.addTableModelListener(listener); m.fireTableDataChanged(); TableModelEvent e = listener.getEvent(); harness.check(e.getFirstRow(), 0); harness.check(e.getLastRow(), Integer.MAX_VALUE); harness.check(e.getColumn(), -1); harness.check(e.getType(), TableModelEvent.UPDATE); } } mauve-20140821/gnu/testlet/javax/swing/text/0000755000175000001440000000000012375316426017457 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/GapContent/0000755000175000001440000000000012375316426021521 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/GapContent/constructors.java0000644000175000001440000000562711015022012025115 0ustar dokousers/* constructors.java -- Some checks for the constructors in the GapContent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 // Uses: MyGapContent package gnu.testlet.javax.swing.text.GapContent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.BadLocationException; import javax.swing.text.GapContent; public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("()"); MyGapContent gc = new MyGapContent(); harness.check(gc.length(), 1); boolean pass = false; try { pass = gc.getString(0, 1).equals("\n"); } catch (BadLocationException e) { harness.fail(e.toString()); } harness.check(pass); harness.check(gc.getArrayLength(), 10); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(int)"); MyGapContent gc = new MyGapContent(10); harness.check(gc.length(), 1); boolean pass = false; try { pass = gc.getString(0, 1).equals("\n"); } catch (BadLocationException e) { harness.fail(e.toString()); } harness.check(pass); harness.check(gc.getArrayLength(), 10); // try unusual initial sizes int length = -1; int arrayLength = -1; MyGapContent gc2 = null; try { gc2 = new MyGapContent(0); length = gc2.length(); arrayLength = gc2.getArrayLength(); } catch (Exception e) { // Can be ignored. } harness.check(length, 1); harness.check(arrayLength, 2); length = -1; arrayLength = -1; gc2 = null; try { gc2 = new MyGapContent(0); length = gc2.length(); arrayLength = gc2.getArrayLength(); } catch (Exception e) { // Can be ignored. } harness.check(length, 1); harness.check(arrayLength, 2); } } mauve-20140821/gnu/testlet/javax/swing/text/GapContent/MyGapContent.java0000644000175000001440000000223310365453146024732 0ustar dokousers/* MyGapContent.java -- provides access to protected methods. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.javax.swing.text.GapContent; import javax.swing.text.GapContent; public class MyGapContent extends GapContent { public MyGapContent() { super(); } public MyGapContent(int count) { super(count); } public int getArrayLength() { return super.getArrayLength(); } } mauve-20140821/gnu/testlet/javax/swing/text/GapContent/PositionTest.java0000644000175000001440000001021410357276046025027 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke (kennke@aicas.com) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.text.GapContent; import javax.swing.text.BadLocationException; import javax.swing.text.GapContent; import javax.swing.text.PlainDocument; import javax.swing.text.Position; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests for correct behaviour of the GapContent Positions. * * @author Roman Kennke (kennke@aicas.com) */ public class PositionTest implements Testlet { /** * Starts the test run. * * @param harness the test harness */ public void test(TestHarness harness) { testSimple(harness); testComplex(harness); testBorderCase(harness); } /** * This creates two positions in an empty GapContent, one at * 0 and one at 1 (start and end respectivly). Then it inserts * content and checks if the positions adapt correctly. After * that the content is removed again and the positions are checked. * * @param harness the test harness */ void testSimple(TestHarness harness) { harness.checkPoint("testSimple"); GapContent c = new GapContent(); try { Position p1 = c.createPosition(0); Position p2 = c.createPosition(1); harness.check(p1.getOffset(), 0); harness.check(p2.getOffset(), 1); c.insertString(0, "hello"); harness.check(p1.getOffset(), 0); harness.check(p2.getOffset(), 6); c.remove(0, 5); harness.check(p1.getOffset(), 0); harness.check(p2.getOffset(), 1); } catch (BadLocationException ex) { harness.fail("BadLocationException"); harness.debug(ex); } } /** * Tests a more complex situation. */ void testComplex(TestHarness harness) { harness.checkPoint("testComplex"); GapContent c = new GapContent(); try { Position p1 = c.createPosition(0); Position p2 = c.createPosition(1); harness.check(p1.getOffset(), 0); harness.check(p2.getOffset(), 1); c.insertString(0, "abcdefghijklmno"); harness.check(p1.getOffset(), 0); harness.check(p2.getOffset(), 16); c.insertString(5, "12345"); harness.check(p1.getOffset(), 0); harness.check(p2.getOffset(), 21); PlainDocument doc = new PlainDocument(); doc.insertString(0, "cdefgh", null); Position s = doc.createPosition(1); harness.check(s.getOffset(), 1); doc.insertString(0, "a", null); harness.check(s.getOffset(), 2); Position a = doc.createPosition(1); harness.check(a.getOffset(), 1); doc.insertString(1, "b", null); harness.check(s.getOffset(), 3); harness.check(a.getOffset(), 2); } catch (BadLocationException ex) { harness.fail("BadLocationException"); harness.debug(ex); } } /** * This testcase checks bug reported in: * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24105 * * @param h the test harness to use */ void testBorderCase(TestHarness h) { h.checkPoint("border case"); try { PlainDocument doc = new PlainDocument(); doc.insertString(0, "One Three Four", null); Position pos = doc.createPosition(4); doc.insertString(4, "Two ", null); h.check(pos.getOffset(), 8); } catch (BadLocationException ex) { h.fail("BadLocationException thrown"); } } } mauve-20140821/gnu/testlet/javax/swing/text/GapContent/GapContentTest.java0000644000175000001440000000370310165757545025277 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Michael Koch // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.text.GapContent; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.text.*; public class GapContentTest implements Testlet { private void testContent(TestHarness harness, GapContent content) { boolean ok; harness.check(content.length(), 1, "content length"); ok = false; try { String text = content.getString(0, 1); if (text.equals("\n")) ok = true; } catch (BadLocationException e) { } harness.check(ok, "default content"); ok = false; try { content.insertString(0, "This is a testcase"); ok = true; } catch (Exception e) { } harness.check(ok, "insertString"); harness.check(content.length(), 19, "content length"); ok = false; try { content.insertString(10, "little "); ok = true; } catch (Exception e) { } harness.check(ok, "insertString"); harness.check(content.length(), 26, "content length"); } public void test(TestHarness harness) { testContent(harness, new GapContent()); testContent(harness, new GapContent(100)); } } mauve-20140821/gnu/testlet/javax/swing/text/GapContent/createPosition.java0000644000175000001440000000445710365453146025364 0ustar dokousers/* createPosition.java -- Some checks for the createPosition() method in the GapContent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.GapContent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.BadLocationException; import javax.swing.text.GapContent; import javax.swing.text.Position; public class createPosition implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { GapContent gc = new GapContent(); harness.check(gc.length(), 1); try { gc.insertString(0, "ABC"); } catch (BadLocationException e) { // ignore } // negative index boolean pass = false; try { gc.createPosition(-1); } catch (BadLocationException e) { pass = true; } harness.check(pass); // index of last char Position p = null; try { p = gc.createPosition(3); } catch (BadLocationException e) { pass = true; } harness.check(p.getOffset(), 3); // index of last char + 1 try { p = gc.createPosition(4); } catch (BadLocationException e) { } harness.check(p.getOffset(), 4); // index of last char + 2 pass = false; try { p = gc.createPosition(5); } catch (BadLocationException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/GapContent/insertString.java0000644000175000001440000001634510425772661025071 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke // Copyright (C) 2006 David Gilbert // Copyright (C) 2006 Robert Schuster // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.text.GapContent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.BadLocationException; import javax.swing.text.GapContent; import javax.swing.text.Position; /** * Tests if GapContent.insertString works correctly. * * @author Roman Kennke (kennke@aicas.com) */ public class insertString implements Testlet { /** * A subclass of GapContent that provides access to the protected methods. */ class TestGapContent extends GapContent { public int getArrayLength() { return super.getArrayLength(); } public int getTestGapStart() { return super.getGapStart(); } public int getTestGapEnd() { return super.getGapEnd(); } } /** * Start the test run. * * @see gnu.testlet.Testlet#test(gnu.testlet.TestHarness) */ public void test(TestHarness harness) { testSmallInsert(harness); testBiggerInsert(harness); testBigInsert(harness); testComplexInsert(harness); testGeneral(harness); testSpecialInsert(harness); } /** * Tests the insertion of a small (< gapsize) chunk of text. * * @param harness the test harness to use */ void testSmallInsert(TestHarness harness) { harness.checkPoint("smallInsert"); try { TestGapContent c = new TestGapContent(); checkBuffer(harness, c, 10, 1, 10); c.insertString(0, "abcdefgh"); checkBuffer(harness, c, 10, 8, 9); } catch (BadLocationException ex) { harness.fail("BadLocationException thrown."); } } /** * Tests the insertion of a bigger (= gapsize) chunk of text. * * @param harness the test harness to use */ void testBiggerInsert(TestHarness harness) { harness.checkPoint("biggerInsert"); try { TestGapContent c = new TestGapContent(); checkBuffer(harness, c, 10, 1, 10); c.insertString(0, "abcdefghi"); checkBuffer(harness, c, 22, 9, 21); } catch (BadLocationException ex) { harness.fail("BadLocationException thrown."); } } /** * Tests the insertion of a bigger (= gapsize) chunk of text. * * @param harness the test harness to use */ void testBigInsert(TestHarness harness) { harness.checkPoint("bigInsert"); try { TestGapContent c = new TestGapContent(); checkBuffer(harness, c, 10, 1, 10); c.insertString(0, "abcdefghijkl"); checkBuffer(harness, c, 28, 12, 27); } catch (BadLocationException ex) { harness.fail("BadLocationException thrown."); } } /** * Tests a more complex insertion. * * @param harness the test harness to use */ void testComplexInsert(TestHarness harness) { harness.checkPoint("complexInsert"); try { TestGapContent c = new TestGapContent(); checkBuffer(harness, c, 10, 1, 10); c.insertString(0, "abcdefghijklmno"); checkBuffer(harness, c, 34, 15, 33); c.insertString(5, "12345"); checkBuffer(harness, c, 34, 10, 23); } catch (BadLocationException ex) { harness.fail("BadLocationException thrown."); } } /** * Checks the state of the GapContent's buffer array. * * @param harness the test harness to use * @param c the gap content to check * @param arrayLength the expected array length * @param gapStart the expected gap start * @param gapEnd the expected gap end */ void checkBuffer(TestHarness harness, TestGapContent c, int arrayLength, int gapStart, int gapEnd) { harness.check(c.getArrayLength(), arrayLength); harness.check(c.getTestGapStart(), gapStart); harness.check(c.getTestGapEnd(), gapEnd); } /** * The same tests that I added for StringContent.java. */ public void testGeneral(TestHarness harness) { harness.checkPoint("testGeneral()"); GapContent gc = new GapContent(); // regular insert try { gc.insertString(0, "ABC"); // ignoring undo/redo here - see insertUndo.java } catch (BadLocationException e) { // ignore - checks below will fail if this happens } harness.check(gc.length(), 4); // insert at location before start boolean pass = false; try { gc.insertString(-1, "XYZ"); } catch (BadLocationException e) { pass = true; } catch (Exception _) { pass = false; } harness.check(pass); // insert at index of last character - this is OK try { gc.insertString(3, "XYZ"); } catch (BadLocationException e) { // ignore } harness.check(gc.length(), 7); // Insert at index of last character + 1. This appends the new string to // the existing string. (This works since 1.5 of the RI) try { gc.insertString(7, "XYZ"); } catch (BadLocationException e) { pass = false; } harness.check(gc.length(), 10); // insert at index of last character + 2 pass = false; try { gc.insertString(gc.length() + 1, "XYZ"); } catch (BadLocationException e) { pass = true; } harness.check(pass); // insert empty string int length = gc.length(); try { gc.insertString(0, ""); } catch (BadLocationException e) { // ignore } harness.check(gc.length(), length); // insert null string pass = false; try { gc.insertString(0, null); } catch (BadLocationException e) { // ignore } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void testSpecialInsert(TestHarness harness) { harness.checkPoint("specialInsert"); int posValue = -1; try { GapContent gc = new GapContent(); gc.insertString(0, "foo\nbar\n"); gc.remove(0, 4); // Gap starts at 0 now and the following Position // instance is created at the end of the gap. Position pos = gc.createPosition(0); // This insertion should not move the offset // of the Position object. gc.insertString(0, "z"); posValue = pos.getOffset(); } catch(BadLocationException ble) { } harness.check(posValue, 0); } } mauve-20140821/gnu/testlet/javax/swing/text/GapContent/getString.java0000644000175000001440000000574010365453146024336 0ustar dokousers/* getString.java -- Some checks for the getString() method in the GapContent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.GapContent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.BadLocationException; import javax.swing.text.GapContent; public class getString implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { GapContent gc = new GapContent(); // check default result boolean pass = false; try { pass = gc.getString(0, 1).equals("\n"); } catch (BadLocationException e) { } harness.check(pass); // if len goes past end of range, should get BadLocationException pass = false; try { gc.getString(0, 2); } catch (BadLocationException e) { pass = true; } harness.check(pass); // add some more text try { gc.insertString(0, "ABCDEFG"); } catch (BadLocationException e) { } harness.check(gc.length(), 8); // if index < 0 should get BadLocationException pass = false; try { /*String s =*/ gc.getString(-1, 3); } catch (StringIndexOutOfBoundsException e) { pass = false; // JDK does this, API docs say it should be a // BadLocationException } catch (BadLocationException e) { pass = true; } harness.check(pass); // if index > end of text should get BadLocationException pass = false; try { /*String s =*/ gc.getString(99, 1); } catch (BadLocationException e) { pass = true; } harness.check(pass); // if len goes past end of range, should get BadLocationException pass = false; try { /* String s =*/ gc.getString(0, 99); } catch (BadLocationException e) { pass = true; } harness.check(pass); // try a zero length string pass = false; try { pass = gc.getString(1, 0).equals(""); } catch (BadLocationException e) { } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/GapContent/remove.java0000644000175000001440000000725010376323575023667 0ustar dokousers/* remove.java -- Some checks for the remove() method in the StringContent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.GapContent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.BadLocationException; import javax.swing.text.GapContent; import javax.swing.text.Position; public class remove implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testGeneral(harness); testRemoveLast(harness); } public void testGeneral(TestHarness harness) { GapContent gc = new GapContent(); // regular insert try { gc.insertString(0, "ABCDEFG"); // ignoring undo/redo here } catch (BadLocationException e) { // ignore - checks below will fail if this happens } harness.check(gc.length(), 8); // remove from location before start boolean pass = false; try { gc.remove(-1, 3); } catch (BadLocationException e) { pass = true; // Classpath does this } catch (StringIndexOutOfBoundsException e) { pass = false; // JDK does this - it is a bug given the API spec } harness.check(pass); // remove from location after end pass = false; try { gc.remove(99, 1); } catch (BadLocationException e) { pass = true; } harness.check(pass); // doesn't allow removal of last char pass = false; try { gc.remove(7, 1); } catch (BadLocationException e) { pass = true; } harness.check(pass); harness.check(gc.length(), 8); // remove 0 chars pass = true; try { gc.remove(0, 0); } catch (BadLocationException e) { pass = false; } harness.check(pass); harness.check(gc.length(), 8); int offset = 0; try { gc = new GapContent(); gc.insertString(0, "abc\ndef\n"); // create position on the 'd'. Position pos = gc.createPosition(4); // remove the 'd' gc.remove(4, 1); offset = pos.getOffset(); } catch(BadLocationException ble) { // If that happens something is pretty odd offset = -1; } finally { // offset of our position should *NOT* have changed harness.check(offset, 4); } } /** * The API spec says that the last character cannot be removed * (where + nitems < length()). * * @param harness */ public void testRemoveLast(TestHarness harness) { harness.checkPoint("testRemoveLast"); GapContent gc = new GapContent(); harness.check(gc.length(), 1); boolean pass = false; try { gc.remove(0, 1); } catch (BadLocationException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/text/GapContent/getChars.java0000644000175000001440000000726710365453146024136 0ustar dokousers/* getChars.java -- Some checks for the getChars() method in the GapContent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.GapContent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.BadLocationException; import javax.swing.text.GapContent; import javax.swing.text.Segment; public class getChars implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { GapContent gc = new GapContent(); Segment seg = new Segment(); // check default result try { gc.getChars(0, 1, seg); } catch (BadLocationException e) { // ignore - tests below will fail if this happens } harness.check(seg.offset, 0); harness.check(seg.count, 1); harness.check(seg.array[0], '\n'); // if len goes past end of range, should get BadLocationException boolean pass = false; try { gc.getChars(0, 2, seg); } catch (BadLocationException e) { pass = true; } harness.check(pass); // add some more text try { gc.insertString(0, "ABCDEFG"); } catch (BadLocationException e) { } harness.check(gc.length(), 8); // if index < 0 should get BadLocationException pass = false; try { gc.getChars(-1, 3, seg); } catch (BadLocationException e) { pass = true; } harness.check(pass); // if index > end of text should get BadLocationException pass = false; try { gc.getChars(99, 1, seg); } catch (BadLocationException e) { pass = true; } harness.check(pass); // if len goes past end of range, should get BadLocationException pass = false; try { gc.getChars(0, 99, seg); } catch (BadLocationException e) { pass = true; } harness.check(pass); // try a zero length string try { gc.getChars(1, 0, seg); } catch (BadLocationException e) { } harness.check(seg.offset, 1); harness.check(seg.count, 0); // what happens for null Segment pass = false; try { gc.getChars(0, 1, null); } catch (NullPointerException e) { pass = true; } catch (BadLocationException e) { // ignore } harness.check(pass); // what happens if we update the Segment array, does that change the // StringContent Segment seg2 = new Segment(); Segment seg3 = new Segment(); GapContent gc2 = new GapContent(); try { gc2.insertString(0, "XYZ"); gc2.getChars(0, 3, seg2); seg2.array[1] = '5'; gc2.getChars(0, 3, seg3); } catch (BadLocationException e) { // ignore } harness.check(seg2.array[1], '5'); harness.check(seg3.array[1], '5'); } }mauve-20140821/gnu/testlet/javax/swing/text/GapContent/length.java0000644000175000001440000000337510365453146023653 0ustar dokousers/* length.java -- Some checks for the length() method in the GapContent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.GapContent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.BadLocationException; import javax.swing.text.GapContent; public class length implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { GapContent gc = new GapContent(); harness.check(gc.length(), 1); try { gc.insertString(0, "ABCDEFGHIJKLMNOPQRSTUVWXYZ"); harness.check(gc.length(), 27); gc.remove(0, 3); harness.check(gc.length(), 24); gc.insertString(4, "123"); harness.check(gc.length(), 27); gc.remove(20, 5); harness.check(gc.length(), 22); } catch (BadLocationException e) { harness.fail(e.toString()); } } }mauve-20140821/gnu/testlet/javax/swing/text/MaskFormatter/0000755000175000001440000000000012375316426022236 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/MaskFormatter/MaskFormatterTest.java0000644000175000001440000000713110340675755026525 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Red Hat. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.text.MaskFormatter; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.ParseException; import javax.swing.text.MaskFormatter; /** * Several tests related to MaskFormatter. */ public class MaskFormatterTest implements Testlet { public void test(TestHarness harness) { MaskFormatter formatter = null; try { formatter = new MaskFormatter("RE'*B**KS"); // Default value checks harness.checkPoint("defaults"); harness.check (formatter.getValueContainsLiteralCharacters()); harness.check (!formatter.getAllowsInvalid()); harness.check (formatter.getPlaceholder() == null); harness.check (formatter.getPlaceholderCharacter() == ' '); harness.check (formatter.getValidCharacters() == null); harness.check (formatter.getInvalidCharacters() == null); // Checks to see whether the appropriate characters are being used to pad harness.checkPoint("padding"); formatter.setPlaceholder("MMMMMMMMM"); formatter.setPlaceholderCharacter('$'); harness.check (formatter.valueToString("RE"),"RE*BMMKS"); formatter.setPlaceholder("8"); harness.check (formatter.valueToString("RE"),"RE*B$$KS"); formatter.setPlaceholder("12345"); harness.check (formatter.valueToString("RE"),"RE*B5$KS"); // Checks to see if valid output is produced harness.checkPoint("valid output"); formatter.setMask("(###) ###-####"); harness.check (formatter.valueToString("(555) 807-9090"),"(555) 807-9090"); harness.check (formatter.stringToValue("(555) 807-9090"),"(555) 807-9090"); formatter.setValueContainsLiteralCharacters(false); harness.check (formatter.stringToValue("(555) 807-9090"),"5558079090"); boolean exception = false; try { harness.check (formatter.valueToString("(555) 807-9090"),"(555) 807-9090"); } catch (ParseException pe) { exception = true; } harness.check (exception); // Checks to see if valid/invalid character sets work formatter = new MaskFormatter("T##'FA"); formatter.setInvalidCharacters("T"); formatter.setValidCharacters("4"); harness.check(formatter.valueToString("T44F4"), "T44F4"); harness.check(formatter.stringToValue("T44F4"), "T44F4"); exception = false; try { formatter.valueToString("T33F3"); } catch (ParseException pe2) { exception = true; } harness.check(exception); } catch (java.text.ParseException ex) { harness.fail ("an exception was thrown that shouldn't have been"); } } } mauve-20140821/gnu/testlet/javax/swing/text/StringContent/0000755000175000001440000000000012375316426022260 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/StringContent/constructors.java0000644000175000001440000000415610365427516025701 0ustar dokousers/* constructors.java -- Some checks for the constructors in the StringContent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.StringContent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.BadLocationException; import javax.swing.text.StringContent; public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("()"); StringContent sc = new StringContent(); harness.check(sc.length(), 1); boolean pass = false; try { pass = sc.getString(0, 1).equals("\n"); } catch (BadLocationException e) { harness.fail(e.toString()); } harness.check(pass); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(int)"); StringContent sc = new StringContent(10); harness.check(sc.length(), 1); boolean pass = false; try { pass = sc.getString(0, 1).equals("\n"); } catch (BadLocationException e) { harness.fail(e.toString()); } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StringContent/stickyPosition.java0000644000175000001440000000776310365427516026173 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004, 2005 Arnaud Vandyck // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.text.StringContent; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.text.BadLocationException; import javax.swing.text.Position; import javax.swing.text.StringContent; public class stickyPosition implements Testlet { public void test(TestHarness h) { h.checkPoint("StringContent"); StringContent sc = new StringContent(); try { sc.insertString(0, "classpath"); Position position = sc.createPosition(1); Position position2 = sc.createPosition(4); Position position3 = sc.createPosition(sc.length()); h.check(1, position.getOffset(), "createPosition(1): Position.getOffset() should be 1 and is: " + position.getOffset()); h.check(4, position2.getOffset(), "createPosition(4): Position2.getOffset() should be 4 and is: " + position2.getOffset()); h.check(10, position3.getOffset(), "createPosition(10): Position3.getOffset() should be 10 and is: " + position3.getOffset()); sc.insertString(2, "-"); h.check(1, position.getOffset(), "Position.getOffset() should be 1 and is: " + position.getOffset()); h.check(5, position2.getOffset(), "Position2.getOffset() should be 5 and is: " + position2.getOffset()); h.check(11, position3.getOffset(), "Position3.getOffset() should be 11 and is: " + position3.getOffset()); sc.insertString(1, "-"); h.check(2, position.getOffset(), "Position.getOffset() should be 2 and is: " + position.getOffset()); h.check(6, position2.getOffset(), "Position2.getOffset() should be 6 and is: " + position2.getOffset()); h.check(12, position3.getOffset(), "Position3.getOffset() should be 12 and is: " + position3.getOffset()); sc.remove(0, 2); h.check(0, position.getOffset(), "Position.getOffset() should be 0 and is: " + position.getOffset()); h.check(4, position2.getOffset(), "Position2.getOffset() should be 4 and is: " + position2.getOffset()); h.check(10, position3.getOffset(), "Position3.getOffset() should be 10 and is: " + position3.getOffset()); sc.remove(0, 5); h.check(0, position.getOffset(), "Position.getOffset() should be 0 and is: " + position.getOffset()); h.check("path\n", sc.getString(0, sc.length()), "getString(0, length()) should be 'path\\n' and is: " + sc.getString(0, sc.length())); h.check(0, position2.getOffset(), "Position.getOffset() should be 0 and is: " + position2.getOffset()); h.check(5, position3.getOffset(), "Position3.getOffset() should be 5 and is: " + position3.getOffset()); sc.insertString(0, "class"); h.check(0, position.getOffset(), "Position.getOffset() should be 0 and is: " + position.getOffset()); h.check("classpath\n", sc.getString(0, sc.length()), "getString(0, length()) should be 'classpath\\n' and is: " + sc.getString(0, sc.length())); h.check(0, position2.getOffset(), "Position.getOffset() should be 0 and is: " + position2.getOffset()); h.check(sc.length(), position3.getOffset(), "Position3 should be 10 and is: " + position3.getOffset()); } catch (BadLocationException ble) { h.fail("BadLocation! " + ble.getMessage()); } } } mauve-20140821/gnu/testlet/javax/swing/text/StringContent/StringContentTest.java0000644000175000001440000001024310365427516026564 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004, 2005 Arnaud Vandyck // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.text.StringContent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.BadLocationException; import javax.swing.text.Segment; import javax.swing.text.StringContent; public class StringContentTest implements Testlet { public void test(TestHarness h) { h.checkPoint("StringContent"); StringContent sc = new StringContent(); try { h.checkPoint("StringContent -- insertString()"); sc.insertString(0, "path"); h.check("path\n", sc.getString(0, sc.length()), "StringContent.insertString(): insert 'path' at 0 getString() is: " + sc.getString(0, sc.length())); h.checkPoint("StringContent -- length()"); h.check(5, sc.length(), "StringContent.length(): should be 5, is: " + sc.length()); h.checkPoint("StringContent -- insertString() part2"); sc.insertString(0, "class"); h.checkPoint("StringContent -- getString()"); h.check("classpath\n", sc.getString(0, sc.length()), "StringContent.insertString(): put 'class' at 0 should be 'classpath' and is: " + sc.getString(0, sc.length())); h.checkPoint("StringContent -- length() part2"); h.check(10, sc.length(), "StringContent.length(): should be 10, is: " + sc.length()); h.checkPoint("StringContent -- remove()"); sc.remove(1, 4); h.checkPoint("StringContent -- getString() part2"); h.check("cpath\n", sc.getString(0, sc.length()), "StringContent.remove(): should be 'cpath' is '" + sc.getString(0, sc.length()) + "'"); h.checkPoint("StringContent -- remove() part2"); sc.remove(2, 3); h.checkPoint("StringContent -- getString() part3"); h.check("cp\n", sc.getString(0, sc.length()), "StringContent.remove(): should be 'cp' is '" + sc.getString(0, sc.length()) + "'"); h.checkPoint("StringContent -- getChars()"); char[] ctab = { 'c', 'p' , '\n'}; Segment s = new Segment(ctab, 0, 3); Segment s2 = new Segment(); sc.getChars(0, sc.length(), s2); h.check(s.toString(), s2.toString(), "StringContent.getChars(): " + "compare to javax.swing.text.Segment " + "(first Segment: " + s + "; second Segment: " + s2 + ")"); h.checkPoint("StringContent -- StringContent()"); sc = new StringContent(100); h.check("\n", sc.getString(0, sc.length()), "StringContent(100): getString(0, lenght) should be '\\n'"); h.check(1, sc.length(), "StringContent(100): length() should be 1 and is : " + sc.length()); h.checkPoint("StringContent -- StringContent() part2"); sc = new StringContent(1); h.check(1, sc.length(), "StringContent(1): length() should be 1 and is : " + sc.length()); h.checkPoint("StringContent -- StringContent() part3"); sc = new StringContent(0); h.check(1, sc.length(), "StringContent(0): length() should be 1 and is : " + sc.length()); h.checkPoint("StringContent -- StringContent() part4"); sc = new StringContent(); h.check(1, sc.length(), "StringContent(): length() should be 1 and is : " + sc.length()); } catch (BadLocationException ble) { h.fail("BadLocation! " + ble.getMessage()); } } } mauve-20140821/gnu/testlet/javax/swing/text/StringContent/removeUndo.java0000644000175000001440000001321710365427516025252 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004, 2005 Arnaud Vandyck // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.text.StringContent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.BadLocationException; import javax.swing.text.StringContent; import javax.swing.undo.CannotUndoException; import javax.swing.undo.UndoableEdit; public class removeUndo implements Testlet { public void test(TestHarness h) { h.checkPoint("StringContent"); StringContent sc = new StringContent(); UndoableEdit ue = null; UndoableEdit ue2 = null; UndoableEdit ue3 = null; try { h.checkPoint("StringContent -- insertString()"); sc.insertString(0, "path"); h.check("path\n", sc.getString(0, sc.length()), "StringContent.insertString(): insert 'path' at 0"); sc.insertString(0, "class"); ue = sc.remove(1, 4); java.util.Locale.setDefault(java.util.Locale.US); String presentationName = ue.getPresentationName(); h.check("", presentationName, "PresentationName should be '' and is: " + presentationName); String redoPresentationName = ue.getRedoPresentationName(); h.check("Redo", redoPresentationName, "RedoPresentationName should be Redo and is: " + redoPresentationName); String undoPresentationName = ue.getUndoPresentationName(); h.check("Undo", undoPresentationName, "UndoPresentationName should be Undo and is: " + undoPresentationName); h.check(false, ue.canRedo(), "canRedo? () (" + ue.canRedo() + ")"); h.check(true, ue.canUndo(), "canUndo? () (" + ue.canUndo() + ")"); h.check("cpath\n", sc.getString(0, sc.length()), "Remove path: getString should be class\\n and is: " + sc.getString(0, sc.length())); ue.undo(); h.check("classpath\n", sc.getString(0, sc.length()), "Undo: getString should be classpath\\n and is: " + sc.getString(0, sc.length())); h.check(true, ue.canRedo(), "canRedo? () (" + ue.canRedo() + ")"); h.check(false, ue.canUndo(), "canUndo? () (" + ue.canUndo() + ")"); ue.redo(); h.check("cpath\n", sc.getString(0, sc.length()), "Redo: getString should be cpath\\n and is : " + sc.getString(0, sc.length())); ue.die(); h.debug("UndoableEdit.die() no more undo/redo"); h.check(false, ue.canUndo(), "die, no more undo"); h.check(false, ue.canRedo(), "die, no more redo"); sc = new StringContent(); sc.insertString(0, "classpathX"); h.check("classpathX\n", sc.getString(0, sc.length()), "should be 'classpathX' and is: " + sc.getString(0, sc.length())); ue = sc.remove(3, 2); h.check("clapathX\n", sc.getString(0, sc.length()), "double undo: should be 'clapathX\\n' and is: " + sc.getString(0, sc.length())); ue2 = sc.remove(4, 2); h.check("claphX\n", sc.getString(0, sc.length()), "double undo: should be 'claphX\\n' and is: " + sc.getString(0, sc.length())); ue3 = sc.remove(0, 3); h.check(true, ue.canUndo(), "double undo can undo?"); h.check("phX\n", sc.getString(0, sc.length()), "check remove: should be 'phX\\n' and is: " + sc.getString(0, sc.length())); ue.undo(); h.check("phXss\n", sc.getString(0, sc.length()), "double undo: should be 'phXss\\n' and is: " + sc.getString(0, sc.length())); ue2.undo(); h.check("phXsats\n", sc.getString(0, sc.length()), "should be 'phXsats\\n' and is: " + sc.getString(0, sc.length())); ue.redo(); h.check("phXts\n", sc.getString(0, sc.length()), "double undo: should be 'phXts\\n' and is: " + sc.getString(0, sc.length())); ue3.undo(); h.check("claphXts\n", sc.getString(0, sc.length()), "add an X: should be 'claphXts\\n' and is: " + sc.getString(0, sc.length())); } catch (BadLocationException ble) { h.fail("BadLocation! " + ble.getMessage()); } try{ ue3.undo(); h.fail("should not be able to undo!"); } catch (CannotUndoException cannot) { h.checkPoint("cannot undo"); } try { sc = new StringContent(); sc.insertString(0, "super classpath"); h.check("super classpath\n", sc.getString(0, sc.length()), "insert 'super classpath': " + sc.getString(0, sc.length())); ue = sc.remove(0, 6); h.check("classpath\n", sc.getString(0, sc.length()), "insert 'super classpath': " + sc.getString(0, sc.length())); ue.undo(); h.check("super classpath\n", sc.getString(0, sc.length()), "undo 'classpath': " + sc.getString(0, sc.length())); ue.undo(); h.fail("should not be able to undo two times"); } catch (BadLocationException ble) { h.fail("BadLocation! " + ble.getMessage()); } catch (CannotUndoException cannot) { h.checkPoint("cannot undo several times"); } } } mauve-20140821/gnu/testlet/javax/swing/text/StringContent/createPosition.java0000644000175000001440000000447610365427516026126 0ustar dokousers/* createPosition.java -- Some checks for the createPosition() method in the StringContent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.StringContent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.BadLocationException; import javax.swing.text.Position; import javax.swing.text.StringContent; public class createPosition implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { StringContent sc = new StringContent(); harness.check(sc.length(), 1); try { sc.insertString(0, "ABC"); } catch (BadLocationException e) { // ignore } // negative index boolean pass = false; try { sc.createPosition(-1); } catch (BadLocationException e) { pass = true; } harness.check(pass); // index of last char Position p = null; try { p = sc.createPosition(3); } catch (BadLocationException e) { pass = true; } harness.check(p.getOffset(), 3); // index of last char + 1 try { p = sc.createPosition(4); } catch (BadLocationException e) { } harness.check(p.getOffset(), 4); // index of last char + 2 pass = false; try { p = sc.createPosition(5); } catch (BadLocationException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StringContent/insertUndo.java0000644000175000001440000001224710365427516025263 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004, 2005 Arnaud Vandyck // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.text.StringContent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.BadLocationException; import javax.swing.text.StringContent; import javax.swing.undo.CannotUndoException; import javax.swing.undo.UndoableEdit; public class insertUndo implements Testlet { public void test(TestHarness h) { h.checkPoint("StringContent -- InsertUndo"); StringContent sc = new StringContent(); UndoableEdit ue = null; UndoableEdit ue2 = null; UndoableEdit ue3 = null; try { h.checkPoint("StringContent -- insertString()"); ue = sc.insertString(0, "path"); h.check("path\n", sc.getString(0, sc.length()), "StringContent.insertString(): insert 'path' at 0"); java.util.Locale.setDefault(java.util.Locale.US); String presentationName = ue.getPresentationName(); h.check("", presentationName, "PresentationName should be '' and is: " + presentationName); String redoPresentationName = ue.getRedoPresentationName(); h.check("Redo", redoPresentationName, "RedoPresentationName should be Redo and is: " + redoPresentationName); String undoPresentationName = ue.getUndoPresentationName(); h.check("Undo", undoPresentationName, "UndoPresentationName should be Undo and is: " + undoPresentationName); h.check(false, ue.canRedo(), "canRedo? () (" + ue.canRedo() + ")"); h.check(true, ue.canUndo(), "canUndo? () (" + ue.canUndo() + ")"); ue.undo(); h.check("\n", sc.getString(0, sc.length()), "Undo: should be '\\n' and is: " + sc.getString(0, sc.length())); h.check(true, ue.canRedo(), "canRedo? () (" + ue.canRedo() + ")"); h.check(false, ue.canUndo(), "canUndo? () (" + ue.canUndo() + ")"); ue.redo(); h.check("path\n", sc.getString(0, sc.length()), "Redo: should be '\\n' and is: " + sc.getString(0, sc.length())); ue.die(); h.debug("UndoableEdit.die() no more undo/redo"); h.check(false, ue.canUndo(), "die, no more undo"); h.check(false, ue.canRedo(), "die, no more redo"); sc = new StringContent(); ue = sc.insertString(0, "path"); ue2 = sc.insertString(0, "class"); h.check("classpath\n", sc.getString(0, sc.length()), "should be classpath and is: " + sc.getString(0, sc.length())); h.check(true, ue.canUndo(), "double undo can undo?"); ue.undo(); h.check("spath\n", sc.getString(0, sc.length()), "double undo: should be 'spath\\n' and is: " + sc.getString(0, sc.length())); ue2.undo(); h.check("\n", sc.getString(0, sc.length()), "double undo: should be '\\n' and is: " + sc.getString(0, sc.length())); ue.redo(); h.check("clas\n", sc.getString(0, sc.length()), "double undo: should be 'clas\\n' and is: " + sc.getString(0, sc.length())); ue2.redo(); h.check("spathclas\n", sc.getString(0, sc.length()), "double undo: should be 'spathclas\\n' and is: " + sc.getString(0, sc.length())); ue3 = sc.insertString(9, "X"); h.check("spathclasX\n", sc.getString(0, sc.length()), "add an X: should be 'spathclasX\\n' and is: " + sc.getString(0, sc.length())); ue.undo(); h.check("hclasX\n", sc.getString(0, sc.length()), "undo first position: should be 'hclasX\\n' and is: " + sc.getString(0, sc.length())); } catch (BadLocationException ble) { h.fail("BadLocation! " + ble.getMessage()); } try{ ue3.undo(); h.fail("should not be able to undo!"); } catch (CannotUndoException cannot) { h.checkPoint("cannot undo"); } try { sc = new StringContent(); ue = sc.insertString(0, "class"); ue2 = sc.insertString(0, "super "); ue3 = sc.insertString(11, "path"); h.check("super classpath\n", sc.getString(0, sc.length()), "insert 'super classpath': " + sc.getString(0, sc.length())); ue.undo(); h.check(" classpath\n", sc.getString(0, sc.length()), "undo ' classpath': " + sc.getString(0, sc.length())); ue.undo(); h.fail("should not be able to undo two times"); } catch (BadLocationException ble) { h.fail("BadLocation! " + ble.getMessage()); } catch (CannotUndoException cannot) { h.checkPoint("cannot undo several times"); } } } mauve-20140821/gnu/testlet/javax/swing/text/StringContent/BadLocationExceptionTest.java0000644000175000001440000000626710365427516030034 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Arnaud Vandyck // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.text.StringContent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.BadLocationException; import javax.swing.text.StringContent; public class BadLocationExceptionTest implements Testlet { public void test(TestHarness h) { h.checkPoint("BadLocationTest"); java.util.Locale.setDefault(java.util.Locale.US); StringContent sc = new StringContent(); try { sc.insertString(-1, "path"); h.fail("badlocation"); } catch (BadLocationException ble) { h.check("Invalid location", ble.getMessage(), "BadLocation message should be 'Invalid location' and is: " + ble.getMessage()); h.check(1, ble.offsetRequested(), "OffsetRequested() should be 1 and is: " + ble.offsetRequested()); } try { sc.insertString(1, "path"); h.fail("badlocation"); } catch (BadLocationException ble) { h.check("Invalid location", ble.getMessage(), "BadLocation message should be 'Invalid location' and is: " + ble.getMessage()); h.check(1, ble.offsetRequested(), "OffsetRequested() should be 1 and is: " + ble.offsetRequested()); } try { sc.insertString(4, "path"); h.fail("badlocation"); } catch (BadLocationException ble) { h.check("Invalid location", ble.getMessage(), "BadLocation message should be 'Invalid location' and is: " + ble.getMessage()); h.check(1, ble.offsetRequested(), "OffsetRequested() should be 1 and is: " + ble.offsetRequested()); } try { sc.insertString(0, "path"); sc.getString(1, sc.length()); h.fail("badlocation"); } catch (BadLocationException ble) { h.check("Invalid range", ble.getMessage(), "BadLocation message should be 'Invalid range' and is: " + ble.getMessage()); h.check(5, ble.offsetRequested(), "OffsetRequested() should be 5 and is: " + ble.offsetRequested()); } try { sc.insertString(0, "path"); sc.getString(0, sc.length()+1); h.fail("badlocation"); } catch (BadLocationException ble) { h.check("Invalid range", ble.getMessage(), "BadLocation message should be 'Invalid range' and is: " + ble.getMessage()); h.check(9, ble.offsetRequested(), "OffsetRequested() should be 9 and is: " + ble.offsetRequested()); } } } mauve-20140821/gnu/testlet/javax/swing/text/StringContent/insertString.java0000644000175000001440000000532710365427516025625 0ustar dokousers/* insertString.java -- Some checks for the insertString() method in the StringContent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.StringContent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.BadLocationException; import javax.swing.text.StringContent; public class insertString implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { StringContent sc = new StringContent(); // regular insert try { sc.insertString(0, "ABC"); // ignoring undo/redo here - see insertUndo.java } catch (BadLocationException e) { // ignore - checks below will fail if this happens } harness.check(sc.length(), 4); // insert at location before start boolean pass = false; try { sc.insertString(-1, "XYZ"); } catch (BadLocationException e) { pass = true; } harness.check(pass); // insert at index of last character - this is OK try { sc.insertString(3, "XYZ"); } catch (BadLocationException e) { // ignore } harness.check(sc.length(), 7); // insert at index of last character + 1 - this raises BadLocationException pass = false; try { sc.insertString(7, "XYZ"); } catch (BadLocationException e) { pass = true; } harness.check(pass); // insert empty string try { sc.insertString(0, ""); } catch (BadLocationException e) { // ignore } harness.check(sc.length(), 7); // insert null string pass = false; try { sc.insertString(0, null); } catch (BadLocationException e) { // ignore } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StringContent/getString.java0000644000175000001440000000575710365427516025107 0ustar dokousers/* getString.java -- Some checks for the getString() method in the StringContent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.StringContent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.BadLocationException; import javax.swing.text.StringContent; public class getString implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { StringContent sc = new StringContent(); // check default result boolean pass = false; try { pass = sc.getString(0, 1).equals("\n"); } catch (BadLocationException e) { } harness.check(pass); // if len goes past end of range, should get BadLocationException pass = false; try { sc.getString(0, 2); } catch (BadLocationException e) { pass = true; } harness.check(pass); // add some more text try { sc.insertString(0, "ABCDEFG"); } catch (BadLocationException e) { } harness.check(sc.length(), 8); // if index < 0 should get BadLocationException pass = false; try { /*String s =*/ sc.getString(-1, 3); } catch (StringIndexOutOfBoundsException e) { pass = false; // JDK does this, API docs say it should be a // BadLocationException } catch (BadLocationException e) { pass = true; } harness.check(pass); // if index > end of text should get BadLocationException pass = false; try { /*String s =*/ sc.getString(99, 1); } catch (BadLocationException e) { pass = true; } harness.check(pass); // if len goes past end of range, should get BadLocationException pass = false; try { /* String s =*/ sc.getString(0, 99); } catch (BadLocationException e) { pass = true; } harness.check(pass); // try a zero length string pass = false; try { pass = sc.getString(1, 0).equals(""); } catch (BadLocationException e) { } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StringContent/remove.java0000644000175000001440000000626410370163434024420 0ustar dokousers/* remove.java -- Some checks for the remove() method in the StringContent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.StringContent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.BadLocationException; import javax.swing.text.StringContent; public class remove implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testGeneral(harness); testRemoveLast(harness); } public void testGeneral(TestHarness harness) { StringContent sc = new StringContent(); // regular insert try { sc.insertString(0, "ABCDEFG"); // ignoring undo/redo here - see insertUndo.java } catch (BadLocationException e) { // ignore - checks below will fail if this happens } harness.check(sc.length(), 8); // remove from location before start boolean pass = false; try { sc.remove(-1, 3); } catch (BadLocationException e) { pass = true; // Classpath does this } catch (StringIndexOutOfBoundsException e) { pass = false; // JDK does this - it is a bug given the API spec } harness.check(pass); // remove from location after end pass = false; try { sc.remove(99, 1); } catch (BadLocationException e) { pass = true; } harness.check(pass); // doesn't allow removal of last char pass = false; try { sc.remove(7, 1); } catch (BadLocationException e) { pass = true; } harness.check(pass); harness.check(sc.length(), 8); // remove 0 chars pass = true; try { sc.remove(0, 0); } catch (BadLocationException e) { pass = false; } harness.check(pass); harness.check(sc.length(), 8); } /** * The API spec says that the last character cannot be removed * (where + nitems < length()). * * @param harness */ public void testRemoveLast(TestHarness harness) { harness.checkPoint("testRemoveLast"); StringContent sc = new StringContent(); harness.check(sc.length(), 1); boolean pass = false; try { sc.remove(0, 1); } catch (BadLocationException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StringContent/getChars.java0000644000175000001440000000744610365427516024676 0ustar dokousers/* getChars.java -- Some checks for the getChars() method in the StringContent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.StringContent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.BadLocationException; import javax.swing.text.Segment; import javax.swing.text.StringContent; public class getChars implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { StringContent sc = new StringContent(); char[] ch = new char[] { 'A', 'B', 'C' }; Segment seg = new Segment(ch, 0, 3); // check default result try { sc.getChars(0, 1, seg); } catch (BadLocationException e) { // ignore - tests below will fail if this happens } harness.check(seg.offset, 0); harness.check(seg.count, 1); harness.check(seg.array != ch); harness.check(seg.array[0], '\n'); // if len goes past end of range, should get BadLocationException boolean pass = false; try { sc.getChars(0, 2, seg); } catch (BadLocationException e) { pass = true; } harness.check(pass); // add some more text try { sc.insertString(0, "ABCDEFG"); } catch (BadLocationException e) { } harness.check(sc.length(), 8); // if index < 0 should get BadLocationException pass = false; try { sc.getChars(-1, 3, seg); } catch (BadLocationException e) { pass = true; } harness.check(pass); // if index > end of text should get BadLocationException pass = false; try { sc.getChars(99, 1, seg); } catch (BadLocationException e) { pass = true; } harness.check(pass); // if len goes past end of range, should get BadLocationException pass = false; try { sc.getChars(0, 99, seg); } catch (BadLocationException e) { pass = true; } harness.check(pass); // try a zero length string try { sc.getChars(1, 0, seg); } catch (BadLocationException e) { } harness.check(seg.offset, 1); harness.check(seg.count, 0); // what happens for null Segment pass = false; try { sc.getChars(0, 1, null); } catch (NullPointerException e) { pass = true; } catch (BadLocationException e) { // ignore } harness.check(pass); // what happens if we update the Segment array, does that change the // StringContent Segment seg2 = new Segment(); Segment seg3 = new Segment(); StringContent sc2 = new StringContent(); try { sc2.insertString(0, "XYZ"); sc2.getChars(0, 3, seg2); seg2.array[1] = '5'; sc2.getChars(0, 3, seg3); } catch (BadLocationException e) { // ignore } harness.check(seg2.array[1], '5'); harness.check(seg3.array[1], '5'); } }mauve-20140821/gnu/testlet/javax/swing/text/StringContent/length.java0000644000175000001440000000341410365427516024406 0ustar dokousers/* length.java -- Some checks for the length() method in the StringContent class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.StringContent; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.BadLocationException; import javax.swing.text.StringContent; public class length implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { StringContent sc = new StringContent(); harness.check(sc.length(), 1); try { sc.insertString(0, "ABCDEFGHIJKLMNOPQRSTUVWXYZ"); harness.check(sc.length(), 27); sc.remove(0, 3); harness.check(sc.length(), 24); sc.insertString(4, "123"); harness.check(sc.length(), 27); sc.remove(20, 5); harness.check(sc.length(), 22); } catch (BadLocationException e) { harness.fail(e.toString()); } } }mauve-20140821/gnu/testlet/javax/swing/text/Utilities/0000755000175000001440000000000012375316426021432 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/Utilities/getNextWord.java0000644000175000001440000000750710431336076024552 0ustar dokousers/* getNextWord.java Copyright (C) 2006 Robert Schuster This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.Utilities; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JTextField; import javax.swing.text.Utilities; import javax.swing.text.BadLocationException; public class getNextWord implements Testlet { String text1 = "GNU Classpath, Essential Libraries for Java, " + "is a GNU project to create free core class " + "libraries for use with virtual machines and " + "compilers for the java programming language."; JTextField tf = new JTextField(text1); int[] expected1 = new int[] { 0, 4, 13, 15, 25, 35, 39, 43, 45, 48, 50, 54, 62, 65, 72, 77, 82, 88, 98, 102, 106, 111, 119, 128, 132, 142, 146, 150, 155, 167, 175 }; String text2 = "foo 333 . **777.1)/&"; int[] expected2 = new int[] { 0, 4, 8, 10, 11, 12, 17, 18, 19 }; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { int pos = 0; // At first Utilities.getNextWord() has to return the correct offsets // for the given text. harness.checkPoint("indices"); try { for ( int i=0; i < expected1.length - 1; i++) harness.check(Utilities.getNextWord(tf, expected1[i]), expected1[i+1]); } catch (BadLocationException ble) { ble.printStackTrace(); harness.verbose("index: " + ble.offsetRequested()); harness.fail("BadLocationException occurred!"); } // Given an offset >= 175 the method should throw a BadLocationException // as there are no more words. harness.checkPoint("exception"); boolean correctException = false; try { Utilities.getNextWord(tf, 175); } catch (Exception e) { correctException = e instanceof BadLocationException; } harness.check(correctException); correctException = false; try { Utilities.getNextWord(tf, 176); } catch (Exception e) { correctException = e instanceof BadLocationException; } harness.check(correctException); correctException = false; try { Utilities.getNextWord(tf, 177); } catch (Exception e) { correctException = e instanceof BadLocationException; } harness.check(correctException); tf.setText(text2); harness.checkPoint("indices-tricky"); try { for ( int i=0; i < expected2.length - 1; i++) harness.check(Utilities.getNextWord(tf, expected2[i]), expected2[i+1]); } catch (BadLocationException ble) { ble.printStackTrace(); harness.verbose("index: " + ble.offsetRequested()); harness.fail("BadLocationException occurred!"); } } } mauve-20140821/gnu/testlet/javax/swing/text/Utilities/getWordStart.java0000644000175000001440000001055610431336076024727 0ustar dokousers/* getPreviousWord.java Copyright (C) 2006 Robert Schuster This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.Utilities; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JTextField; import javax.swing.text.Utilities; import javax.swing.text.BadLocationException; public class getWordStart implements Testlet { String text = "GNU Classpath, Essential Libraries for Java, " + "is a GNU project to create free core class " + "libraries for use with virtual machines and " + "compilers for the java programming language."; JTextField tf = new JTextField(text); int[] expected = new int[] { 0, 0, 0, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 34, 35, 35, 35, 38, 39, 39, 39, 39, 43, 44, 45, 45, 47, 48, 49, 50, 50, 50, 53, 54, 54, 54, 54, 54, 54, 54, 61, 62, 62, 64, 65, 65, 65, 65, 65, 65, 71, 72, 72, 72, 72, 76, 77, 77, 77, 77, 81, 82, 82, 82, 82, 82, 87, 88, 88, 88, 88, 88, 88, 88, 88, 88, 97, 98, 98, 98, 101, 102, 102, 102, 105, 106, 106, 106, 106, 110, 111, 111, 111, 111, 111, 111, 111, 118, 119, 119, 119, 119, 119, 119, 119, 119, 127, 128, 128, 128, 131, 132, 132, 132, 132, 132, 132, 132, 132, 132, 141, 142, 142, 142, 145, 146, 146, 146, 149, 150, 150, 150, 150, 154, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 166, 167, 167, 167, 167, 167, 167, 167, 167, 175, 175 }; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // At first Utilities.getNextWord() has to return the correct offsets // for the given text. harness.checkPoint("indices"); try { for ( int i=0; i <= text.length(); i++) harness.check(Utilities.getWordStart(tf, i), expected[i]); } catch (BadLocationException ble) { ble.printStackTrace(); harness.verbose("index: " + ble.offsetRequested()); harness.fail("BadLocationException occurred!"); } // Given an offset > text.length() the method should throw a // BadLocationException. harness.checkPoint("exception"); boolean correctException = false; try { Utilities.getPreviousWord(tf, 180); } catch (Exception e) { correctException = e instanceof BadLocationException; } harness.check(correctException); // Given an offset <= 0 the method should throw a // BadLocationException.. correctException = false; try { Utilities.getPreviousWord(tf, 0); } catch (Exception e) { correctException = e instanceof BadLocationException; } harness.check(correctException); correctException = false; try { Utilities.getPreviousWord(tf, -1); } catch (Exception e) { correctException = e instanceof BadLocationException; } harness.check(correctException); } } mauve-20140821/gnu/testlet/javax/swing/text/Utilities/getTabbedTextOffset.java0000644000175000001440000000716110424170505026164 0ustar dokousers/* getTabbedTextOffset.java Copyright (C) 2006 Robert Schuster This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.Utilities; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Font; import java.awt.FontMetrics; import javax.swing.text.Segment; import javax.swing.text.Utilities; public class getTabbedTextOffset implements Testlet { static FontMetrics fm = new TestFontMetrics(); // Since every character in the TestFontMetrics has the same width it does // not matter which text we use. We only need lots of characters. static Segment s = createSegment("iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii" + "iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii" + "iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // The x value that has to be reached before getTabbedTextOffset stops. int endX = 50; harness.checkPoint("without rounding"); for (int i=0; i <= endX; i++) harness.check(calculate(i, false), expectWithoutRounding(i)); harness.checkPoint("with rounding"); for (int i=0; i <= endX; i++) harness.check(calculate(i, true), expectWithRounding(i)); harness.checkPoint("with rounding (implicit)"); for (int i=0; i <= endX; i++) harness.check(calculate(i), expectWithRounding(i)); } static int calculate(int index) { // This just checks that the variant of the method without the rounding // parameter calls the other one with round=true. return Utilities.getTabbedTextOffset(s, fm, 0, index, null, 0); } static int calculate(int index, boolean round) { // The test does not care about the start offset or an x value != 0 // as they should only shift the results. return Utilities.getTabbedTextOffset(s, fm, 0, index, null, 0, round); } /** Returns the expected value when rounding is not active. */ static int expectWithoutRounding(int index) { return index / 10; } /** Returns the expected value when rounding is active. */ static int expectWithRounding(int index) { return (index + 5)/10; } static Segment createSegment(String foo) { return new Segment(foo.toCharArray(), 0, foo.length()); } // A very simple FontMetrics implementation for use with the test. static class TestFontMetrics extends FontMetrics { public TestFontMetrics() { super(new Font(null, 0, 10)); } public int getAscent() { return 10; } public int getLeading() { return 10; } public int getMaxAdvance() { return 10; } public int charWidth(char ch) { return 10; } public int charsWidth(char[] a, int offs, int len) { return len*10; } } } mauve-20140821/gnu/testlet/javax/swing/text/Utilities/getPreviousWord.java0000644000175000001440000000775510431336076025455 0ustar dokousers/* getPreviousWord.java Copyright (C) 2006 Robert Schuster This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.Utilities; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JTextField; import javax.swing.text.Utilities; import javax.swing.text.BadLocationException; public class getPreviousWord implements Testlet { String text1 = "GNU Classpath, Essential Libraries for Java, " + "is a GNU project to create free core class " + "libraries for use with virtual machines and " + "compilers for the java programming language."; JTextField tf = new JTextField(text1); int[] expected1 = new int[] { 176, 175, 167, 155, 150, 146, 142, 132, 128, 119, 111, 106, 102, 98, 88, 82, 77, 72, 65, 62, 54, 50, 48, 45, 43, 39, 35, 25, 15, 13, 4, 0 }; String text2 = "foo 333 . **777.1)/&"; int[] expected2 = new int[] { 19, 18, 17, 12, 11, 10, 8, 4, 0 }; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // At first Utilities.getNextWord() has to return the correct offsets // for the given text. harness.checkPoint("indices-normal"); try { for ( int i=0; i < expected1.length - 1; i++) harness.check(Utilities.getPreviousWord(tf, expected1[i]), expected1[i+1]); } catch (BadLocationException ble) { ble.printStackTrace(); harness.verbose("index: " + ble.offsetRequested()); harness.fail("BadLocationException occurred!"); } // Given an offset > text.length() the method should throw a // BadLocationException. harness.checkPoint("exception"); boolean correctException = false; try { Utilities.getPreviousWord(tf, 180); } catch (Exception e) { correctException = e instanceof BadLocationException; } harness.check(correctException); // Given an offset <= 0 the method should throw a // BadLocationException.. correctException = false; try { Utilities.getPreviousWord(tf, 0); } catch (Exception e) { correctException = e instanceof BadLocationException; } harness.check(correctException); correctException = false; try { Utilities.getPreviousWord(tf, -1); } catch (Exception e) { correctException = e instanceof BadLocationException; } harness.check(correctException); // Do the index check again with a more complicated text. tf.setText(text2); harness.checkPoint("indices-tricky"); try { for ( int i=0; i < expected2.length - 1; i++) harness.check(Utilities.getPreviousWord(tf, expected2[i]), expected2[i+1]); } catch (BadLocationException ble) { ble.printStackTrace(); harness.verbose("index: " + ble.offsetRequested()); harness.fail("BadLocationException occurred!"); } } } mauve-20140821/gnu/testlet/javax/swing/text/TabStop/0000755000175000001440000000000012375316426021033 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/TabStop/constructors.java0000644000175000001440000000447010461361413024441 0ustar dokousers/* constructors.java -- some checks for the constructors in the TabStop class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.text.TabStop; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.TabStop; public class constructors implements Testlet { public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("(float)"); TabStop ts1 = new TabStop(1.0f); harness.check(ts1.getPosition(), 1.0f); harness.check(ts1.getAlignment(), TabStop.ALIGN_LEFT); harness.check(ts1.getLeader(), TabStop.LEAD_NONE); // try negative ts1 = new TabStop(-1.0f); harness.check(ts1.getPosition(), -1.0f); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(float, int, int)"); TabStop ts1 = new TabStop(1.0f, TabStop.ALIGN_DECIMAL, TabStop.LEAD_DOTS); harness.check(ts1.getPosition(), 1.0f); harness.check(ts1.getAlignment(), TabStop.ALIGN_DECIMAL); harness.check(ts1.getLeader(), TabStop.LEAD_DOTS); // try bad alignment ts1 = new TabStop(1.0f, 99, TabStop.LEAD_DOTS); harness.check(ts1.getPosition(), 1.0f); harness.check(ts1.getAlignment(), 99); harness.check(ts1.getLeader(), TabStop.LEAD_DOTS); // try bad lead ts1 = new TabStop(1.0f, TabStop.ALIGN_DECIMAL, 99); harness.check(ts1.getPosition(), 1.0f); harness.check(ts1.getAlignment(), TabStop.ALIGN_DECIMAL); harness.check(ts1.getLeader(), 99); } } mauve-20140821/gnu/testlet/javax/swing/text/TabStop/toString.java0000644000175000001440000000344410461361413023502 0ustar dokousers/* toString.java -- some checks for the toString() method in the TabStop class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.text.TabStop; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.TabStop; public class toString implements Testlet { public void test(TestHarness harness) { TabStop ts1 = new TabStop(1.0f); harness.check(ts1.toString(), "tab @1.0"); ts1 = new TabStop(2.0f, TabStop.ALIGN_RIGHT, TabStop.LEAD_EQUALS); harness.check(ts1.toString(), "right tab @2.0 (w/leaders)"); ts1 = new TabStop(10.999f, TabStop.ALIGN_CENTER, TabStop.LEAD_HYPHENS); harness.check(ts1.toString(), "center tab @10.999 (w/leaders)"); ts1 = new TabStop(3.3f, TabStop.ALIGN_BAR, TabStop.LEAD_NONE); harness.check(ts1.toString(), "bar tab @3.3"); ts1 = new TabStop(3.3f, TabStop.ALIGN_DECIMAL, TabStop.LEAD_UNDERLINE); harness.check(ts1.toString(), "decimal tab @3.3 (w/leaders)"); ts1 = new TabStop(3.3f, 99, 666); harness.check(ts1.toString(), "tab @3.3 (w/leaders)"); } } mauve-20140821/gnu/testlet/javax/swing/text/PlainDocument/0000755000175000001440000000000012375316426022221 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/PlainDocument/multipleLeafs.java0000644000175000001440000001153610174021634025665 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Michael Koch // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.text.PlainDocument; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.text.*; public class multipleLeafs implements Testlet { private void checkElement(TestHarness harness, Element elem, AttributeSet attributes, int children, Element parent, int p0, int p1, boolean leaf, String name) { if (elem == null) { harness.debug("element is null"); return; } harness.check(elem.getAttributes() != attributes, "unexpected value for Element.getAttributes()"); if (elem.getAttributes() != null) harness.check(elem.getAttributes().getAttributeCount(), 0, "number of attributes"); harness.check(elem.getElementCount(), children, "number of children"); harness.check(elem.getParentElement() == parent, "wrong parent"); harness.check(elem.getStartOffset(), p0, "start offset"); harness.check(elem.getEndOffset(), p1, "end offset"); harness.check(elem.isLeaf(), leaf, "element is leaf element"); harness.check(elem.getName(), name, "element name"); } public void test(TestHarness h) { PlainDocument doc = new PlainDocument(); try { doc.insertString(doc.getLength(), "Two households, both alike in dignity,\n", null); doc.insertString(doc.getLength(), "In fair Verona, where we lay our scene,\n", null); doc.insertString(doc.getLength(), "From ancient grudge break to new mutiny,\n", null); doc.insertString(doc.getLength(), "Where civil blood makes civil hands unclean.\n", null); doc.insertString(doc.getLength(), "From forth the fatal loins of these two foes\n", null); doc.insertString(doc.getLength(), "A pair of star-cross'd lovers take their life;\n", null); doc.insertString(doc.getLength(), "Whole misadventured piteous overthrows\n", null); doc.insertString(doc.getLength(), "Do with their death bury their parents' strife.\n", null); doc.insertString(doc.getLength(), "The fearful passage of their death-mark'd love,\n", null); doc.insertString(doc.getLength(), "And the continuance of their parents' rage,\n", null); doc.insertString(doc.getLength(), "Which, but their children's end, nought could remove,\n", null); doc.insertString(doc.getLength(), "Is now the two hours' traffic of our stage;\n", null); doc.insertString(doc.getLength(), "The which if you with patient ears attend,\n", null); doc.insertString(doc.getLength(), "What here shall miss, our toil shall strive to mend.\n", null); } catch (Exception e) { h.debug(e); h.fail("unexpected exception"); } h.checkPoint("leafs"); // Check for multiple leafs. Element root = doc.getDefaultRootElement(); h.check(root.getElementCount(), 15); h.check(root.getStartOffset(), 0); h.check(root.getEndOffset(), 631); Element leaf = root.getElement(0); h.check(leaf.getStartOffset(), 0); h.check(leaf.getEndOffset(), 39); leaf = root.getElement(1); h.check(leaf.getStartOffset(), 39); h.check(leaf.getEndOffset(), 79); leaf = root.getElement(2); h.check(leaf.getStartOffset(), 79); h.check(leaf.getEndOffset(), 120); leaf = root.getElement(3); h.check(leaf.getStartOffset(), 120); h.check(leaf.getEndOffset(), 165); leaf = root.getElement(4); h.check(leaf.getStartOffset(), 165); h.check(leaf.getEndOffset(), 210); leaf = root.getElement(5); h.check(leaf.getStartOffset(), 210); h.check(leaf.getEndOffset(), 257); leaf = root.getElement(6); h.check(leaf.getStartOffset(), 257); h.check(leaf.getEndOffset(), 296); leaf = root.getElement(7); h.check(leaf.getStartOffset(), 296); h.check(leaf.getEndOffset(), 344); leaf = root.getElement(8); h.check(leaf.getStartOffset(), 344); h.check(leaf.getEndOffset(), 392); leaf = root.getElement(9); h.check(leaf.getStartOffset(), 392); h.check(leaf.getEndOffset(), 436); leaf = root.getElement(10); h.check(leaf.getStartOffset(), 436); h.check(leaf.getEndOffset(), 490); leaf = root.getElement(11); h.check(leaf.getStartOffset(), 490); h.check(leaf.getEndOffset(), 534); } } mauve-20140821/gnu/testlet/javax/swing/text/PlainDocument/getLength.java0000644000175000001440000000350310365740056025003 0ustar dokousers/* getLength.java -- Some checks for the getLength() method in the PlainDocument class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.PlainDocument; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.BadLocationException; import javax.swing.text.PlainDocument; public class getLength implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { PlainDocument d = new PlainDocument(); harness.check(d.getLength(), 0); try { d.insertString(0, "ABC", null); } catch (BadLocationException e) { // ignore - checks will fail if this happens } harness.check(d.getLength(), 3); // try adding a string with a '\n' try { d.insertString(0, "ABC\n", null); } catch (BadLocationException e) { // ignore - checks will fail if this happens } harness.check(d.getLength(), 7); } }mauve-20140821/gnu/testlet/javax/swing/text/PlainDocument/PlainDocumentTest.java0000644000175000001440000000734510167237360026473 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Michael Koch // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.text.PlainDocument; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.text.*; public class PlainDocumentTest implements Testlet { private void checkElement(TestHarness harness, Element elem, AttributeSet attributes, int children, Element parent, int p0, int p1, boolean leaf, String name) { if (elem == null) { harness.debug("element is null"); return; } harness.check(elem.getAttributes() != attributes, "unexpected value for Element.getAttributes()"); if (elem.getAttributes() != null) harness.check(elem.getAttributes().getAttributeCount(), 0, "number of attributes"); harness.check(elem.getElementCount(), children, "number of children"); harness.check(elem.getParentElement() == parent, "wrong parent"); harness.check(elem.getStartOffset(), p0, "start offset"); harness.check(elem.getEndOffset(), p1, "end offset"); harness.check(elem.isLeaf(), leaf, "element is leaf element"); harness.check(elem.getName(), name, "element name"); } public void test(TestHarness harness) { Element root, elem; PlainDocument doc = new PlainDocument(); // Check Element tree. root = doc.getDefaultRootElement(); checkElement(harness, root, null, 1, null, 0, doc.getLength() + 1, false, "paragraph"); elem = root.getElement(0); checkElement(harness, elem, null, 0, root, 0, doc.getLength() + 1, true, "content"); try { doc.insertString(0, "This is a test", null); harness.check(doc.getText(0, doc.getLength()), "This is a test", "insertString"); harness.check(doc.getDefaultRootElement().getStartOffset(), 0, "start offset"); harness.check(doc.getDefaultRootElement().getEndOffset(), 15, "end offset (insertString)"); doc.insertString(14, "case", null); harness.check(doc.getText(0, doc.getLength()), "This is a testcase", "insertString"); harness.check(doc.getDefaultRootElement().getStartOffset(), 0, "start offset"); harness.check(doc.getDefaultRootElement().getEndOffset(), 19, "end offset (insertString)"); doc.insertString(10, "little ", null); harness.check(doc.getText(0, doc.getLength()), "This is a little testcase", "insertString"); harness.check(doc.getDefaultRootElement().getStartOffset(), 0, "start offset"); harness.check(doc.getDefaultRootElement().getEndOffset(), 26, "end offset (insertString)"); } catch (Exception e) { harness.debug(e); harness.fail("unexpected exception"); } // Check build Element tree. root = doc.getDefaultRootElement(); checkElement(harness, root, null, 1, null, 0, doc.getLength() + 1, false, "paragraph"); elem = root.getElement(0); checkElement(harness, elem, null, 0, root, 0, doc.getLength() + 1, true, "content"); elem = doc.getParagraphElement(0); checkElement(harness, elem, null, 0, root, 0, doc.getLength() + 1, true, "content"); harness.check(elem.getElement(0) == null, "element is null"); } } mauve-20140821/gnu/testlet/javax/swing/text/PlainDocument/getText.java0000644000175000001440000001307410365740056024512 0ustar dokousers/* getText.java -- Some checks for the getText() method in the PlainDocument class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.PlainDocument; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.BadLocationException; import javax.swing.text.PlainDocument; import javax.swing.text.Segment; public class getText implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("(int, int)"); PlainDocument d = new PlainDocument(); // check default result try { d.insertString(0, "XYZ", null); harness.check(d.getText(0, 3).equals("XYZ")); } catch (BadLocationException e) { harness.fail(e.toString()); } // get the implicit newline try { harness.check(d.getText(0, 4).equals("XYZ\n")); } catch (BadLocationException e) { harness.fail(e.toString()); } // fail on next char try { d.getText(0, 5); harness.check(false); } catch (BadLocationException e) { harness.check(true); } // add some more text try { d.insertString(0, "ABCDEFG", null); } catch (BadLocationException e) { } harness.check(d.getLength(), 10); // if index < 0 should get BadLocationException boolean pass = false; try { d.getText(-1, 3); } catch (BadLocationException e) { pass = true; } harness.check(pass); // if index > end of text should get BadLocationException pass = false; try { d.getText(99, 1); } catch (BadLocationException e) { pass = true; } harness.check(pass); // if len goes past end of range, should get BadLocationException pass = false; try { d.getText(0, 99); } catch (BadLocationException e) { pass = true; } harness.check(pass); // try a zero length string try { harness.check(d.getText(1, 0).equals("")); } catch (BadLocationException e) { harness.fail(e.toString()); } } public void testMethod2(TestHarness harness) { harness.checkPoint("(int, int, Segment)"); PlainDocument d = new PlainDocument(); Segment seg = new Segment(); // check default result try { d.getText(0, 1, seg); } catch (BadLocationException e) { // ignore - tests below will fail if this happens } harness.check(seg.offset, 0); harness.check(seg.count, 1); harness.check(seg.array[0], '\n'); // if len goes past end of range, should get BadLocationException boolean pass = false; try { d.getText(0, 2, seg); } catch (BadLocationException e) { pass = true; } harness.check(pass); // add some more text try { d.insertString(0, "ABCDEFG", null); } catch (BadLocationException e) { } harness.check(d.getLength(), 7); // if index < 0 should get BadLocationException pass = false; try { d.getText(-1, 3, seg); } catch (BadLocationException e) { pass = true; } harness.check(pass); // if index > end of text should get BadLocationException pass = false; try { d.getText(99, 1, seg); } catch (BadLocationException e) { pass = true; } harness.check(pass); // if len goes past end of range, should get BadLocationException pass = false; try { d.getText(0, 99, seg); } catch (BadLocationException e) { pass = true; } harness.check(pass); // try a zero length string try { d.getText(1, 0, seg); } catch (BadLocationException e) { } harness.check(seg.offset, 1); harness.check(seg.count, 0); // what happens for null Segment pass = false; try { d.getText(0, 1, null); } catch (NullPointerException e) { pass = true; } catch (BadLocationException e) { // ignore } harness.check(pass); // what happens if we update the Segment array, does that change the // StringContent Segment seg2 = new Segment(); Segment seg3 = new Segment(); PlainDocument d2 = new PlainDocument(); try { d2.insertString(0, "XYZ", null); d2.getText(0, 3, seg2); seg2.array[1] = '5'; d2.getText(0, 3, seg3); } catch (BadLocationException e) { // ignore } harness.check(seg2.array[1], '5'); harness.check(seg3.array[1], '5'); } }mauve-20140821/gnu/testlet/javax/swing/text/PlainDocument/removeJoinesLines.java0000644000175000001440000000306510317275557026533 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Red Hat. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.text.PlainDocument; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.text.*; // Checks whether a remove operation on a PlainDocument that spans multiple // lines causes the surrounding lines to be joined together. public class removeJoinesLines implements Testlet { public void test(TestHarness harness) { Element root; PlainDocument doc = new PlainDocument(); root = doc.getDefaultRootElement(); try { doc.insertString(0, "Line One\n", null); doc.insertString(doc.getLength(), "Line Two\n", null); doc.insertString(doc.getLength(), "Line Three", null); doc.remove(5, 18); harness.check(root.getElementCount() == 1); } catch (Exception e) { } } } mauve-20140821/gnu/testlet/javax/swing/text/PlainDocument/insertUpdate.java0000644000175000001440000001146510446516011025527 0ustar dokousers/* insertUpdate.java -- Tests PlainDocument.insertUpdate() Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.PlainDocument; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; import javax.swing.text.BadLocationException; import javax.swing.text.Element; import javax.swing.text.PlainDocument; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests PlainDocument.insertUpdate(). * * @author Roman Kennke (kennke@aicas.com) */ public class insertUpdate implements Testlet { private class TestListener implements DocumentListener { public void changedUpdate(DocumentEvent e) { ev = e; } public void insertUpdate(DocumentEvent e) { ev = e; } public void removeUpdate(DocumentEvent e) { ev = e; } } DocumentEvent ev; public void test(TestHarness harness) { test01(harness); test02(harness); test03(harness); } private void test01(TestHarness h) { h.checkPoint("test01"); PlainDocument doc = new PlainDocument(); doc.addDocumentListener(new TestListener()); try { doc.insertString(0, "abcde\nabcdef\nabcde\n", null); doc.insertString(15, "abcdefghijklmn\n", null); } catch (BadLocationException ex) { h.fail("Unexpected BadLocationException"); } DocumentEvent.ElementChange change = ev.getChange(doc.getDefaultRootElement()); h.check(change.getIndex(), 2); Element[] added = change.getChildrenAdded(); h.check(added.length, 2); h.check(added[0].getStartOffset(), 13); h.check(added[0].getEndOffset(), 30); h.check(added[1].getStartOffset(), 30); h.check(added[1].getEndOffset(), 34); Element[] removed = change.getChildrenRemoved(); h.check(removed.length, 1); h.check(removed[0].getStartOffset(), 13); h.check(removed[0].getEndOffset(), 34); } private void test02(TestHarness h) { h.checkPoint("test02"); PlainDocument doc = new PlainDocument(); doc.addDocumentListener(new TestListener()); try { doc.insertString(0, "abcde\nabcdef\nabcde\n", null); doc.insertString(13, "\nabc", null); } catch (BadLocationException ex) { h.fail("Unexpected BadLocationException"); } DocumentEvent.ElementChange change = ev.getChange(doc.getDefaultRootElement()); h.check(change.getIndex(), 1); Element[] added = change.getChildrenAdded(); h.check(added.length, 3); h.check(added[0].getStartOffset(), 6); h.check(added[0].getEndOffset(), 13); h.check(added[1].getStartOffset(), 13); h.check(added[1].getEndOffset(), 14); h.check(added[2].getStartOffset(), 14); h.check(added[2].getEndOffset(), 23); Element[] removed = change.getChildrenRemoved(); h.check(removed.length, 2); h.check(removed[0].getStartOffset(), 6); h.check(removed[0].getEndOffset(), 17); h.check(removed[1].getStartOffset(), 17); h.check(removed[1].getEndOffset(), 23); } private void test03(TestHarness h) { h.checkPoint("test03"); PlainDocument doc = new PlainDocument(); doc.addDocumentListener(new TestListener()); try { doc.insertString(0, "abcd", null); doc.insertString(0, "abcde\nabcdef\nabcde\n", null); } catch (BadLocationException ex) { h.fail("Unexpected BadLocationException"); } DocumentEvent.ElementChange change = ev.getChange(doc.getDefaultRootElement()); h.check(change.getIndex(), 0); Element[] added = change.getChildrenAdded(); h.check(added.length, 4); h.check(added[0].getStartOffset(), 0); h.check(added[0].getEndOffset(), 6); h.check(added[1].getStartOffset(), 6); h.check(added[1].getEndOffset(), 13); h.check(added[2].getStartOffset(), 13); h.check(added[2].getEndOffset(), 19); h.check(added[3].getStartOffset(), 19); h.check(added[3].getEndOffset(), 24); Element[] removed = change.getChildrenRemoved(); h.check(removed.length, 1); h.check(removed[0].getStartOffset(), 0); h.check(removed[0].getEndOffset(), 24); } } mauve-20140821/gnu/testlet/javax/swing/text/PlainDocument/createPosition.java0000644000175000001440000000546610365740056026064 0ustar dokousers/* createPosition.java -- Some checks for the createPosition() method in the PlainDocument class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.PlainDocument; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.BadLocationException; import javax.swing.text.PlainDocument; import javax.swing.text.Position; public class createPosition implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("test1"); PlainDocument d = new PlainDocument(); try { Position p0 = d.createPosition(0); harness.check(p0.getOffset(), 0); Position p1 = d.createPosition(1); harness.check(p1.getOffset(), 1); d.insertString(0, "ABC", null); harness.check(p0.getOffset(), 0); harness.check(p1.getOffset(), 4); } catch (BadLocationException e) { } } public void test2(TestHarness harness) { harness.checkPoint("test2"); PlainDocument d = new PlainDocument(); try { d.insertString(0, "ABC", null); Position p0 = d.createPosition(0); harness.check(p0.getOffset(), 0); Position p1 = d.createPosition(1); harness.check(p1.getOffset(), 1); Position p2 = d.createPosition(3); harness.check(p2.getOffset(), 3); Position p3 = d.createPosition(4); harness.check(p3.getOffset(), 4); d.insertString(1, "XYZ", null); harness.check(p0.getOffset(), 0); harness.check(p1.getOffset(), 4); harness.check(p2.getOffset(), 6); harness.check(p3.getOffset(), 7); d.remove(2, 3); harness.check(p0.getOffset(), 0); harness.check(p1.getOffset(), 2); harness.check(p2.getOffset(), 3); harness.check(p3.getOffset(), 4); } catch (BadLocationException e) { } } }mauve-20140821/gnu/testlet/javax/swing/text/PlainDocument/getDocumentProperties.java0000644000175000001440000000304610446507767027431 0ustar dokousers/* getDocumentProperties.java -- Tests getDocumentProperties() Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.PlainDocument; import java.util.Dictionary; import javax.swing.text.PlainDocument; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests getDocumentProperties(). * * @author Roman Kennke (kennke@aicas.com) */ public class getDocumentProperties implements Testlet { public void test(TestHarness harness) { testDefault(harness); } private void testDefault(TestHarness h) { PlainDocument doc = new PlainDocument(); Dictionary props = doc.getDocumentProperties(); h.check(props.size(), 2); // This property is inherited from AbstractDocument. h.check(props.get("i18n"), Boolean.FALSE); h.check(props.get("tabSize"), new Integer(8)); } } mauve-20140821/gnu/testlet/javax/swing/text/PlainDocument/insertString.java0000644000175000001440000002544510402705215025554 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke // Copyright (C) 2006 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.text.PlainDocument; import javax.swing.text.AbstractDocument; import javax.swing.text.BadLocationException; import javax.swing.text.Element; import javax.swing.text.PlainDocument; import javax.swing.text.Position; import javax.swing.text.SimpleAttributeSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests if insertString in PlainDocument works correctly. * * @author Roman Kennke (kennke@aicas.com) */ public class insertString implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testNewline(harness); testFilterNewline(harness); testArguments(harness); testPositions(harness); testModifications(harness); } /** * Tests inserting a string with a newline. This should lead to a document * structure with one BranchElement as root, and two LeafElement as children. * * @param harness the test harness to use */ private void testNewline(TestHarness harness) { harness.checkPoint("testNewline"); PlainDocument doc = new PlainDocument(); try { doc.insertString(0, "Hello\nWorld", new SimpleAttributeSet()); } catch (BadLocationException ex) { harness.fail("BadLocationException"); } Element root = doc.getRootElements()[0]; harness.check(root instanceof AbstractDocument.BranchElement); harness.check(root.getElementCount(), 2); Element el1 = root.getElement(0); harness.check(el1 instanceof AbstractDocument.LeafElement); harness.check(el1.getStartOffset(), 0); harness.check(el1.getEndOffset(), 6); Element el2 = root.getElement(1); harness.check(el2 instanceof AbstractDocument.LeafElement); harness.check(el2.getStartOffset(), 6); harness.check(el2.getEndOffset(), 12); } /** * Tests inserting a string with a newline with the filterNewLine property * set to Boolean.TRUE. This should lead to a document * structure with one BranchElement as root, and one LeafElement as child, * spanning the whole content. * * @param harness the test harness to use */ private void testFilterNewline(TestHarness harness) { harness.checkPoint("testFilterNewline"); PlainDocument doc = new PlainDocument(); doc.putProperty("filterNewlines", Boolean.TRUE); try { doc.insertString(0, "Hello\nWorld", new SimpleAttributeSet()); } catch (BadLocationException ex) { harness.fail("BadLocationException"); } Element root = doc.getRootElements()[0]; harness.check(root instanceof AbstractDocument.BranchElement); harness.check(root.getElementCount(), 1); Element el1 = root.getElement(0); harness.check(el1 instanceof AbstractDocument.LeafElement); harness.check(el1.getStartOffset(), 0); harness.check(el1.getEndOffset(), 12); } public void testArguments(TestHarness harness) { harness.checkPoint("testArguments"); PlainDocument d = new PlainDocument(); // negative index boolean pass = false; try { d.insertString(-1, "XYZ", SimpleAttributeSet.EMPTY); } catch (Exception e) { pass = e instanceof BadLocationException; } harness.check(pass); // index > length pass = false; try { d.insertString(2, "XYZ", SimpleAttributeSet.EMPTY); } catch (BadLocationException e) { pass = true; } harness.check(pass); // null string is OK (ignored) pass = true; try { d.insertString(0, null, SimpleAttributeSet.EMPTY); } catch (Exception e) { pass = false; } harness.check(pass); // null attribute set is OK pass = true; try { d.insertString(0, "ABC", null); } catch (Exception e) { pass = false; } harness.check(pass); } public void testPositions(TestHarness harness) { harness.checkPoint("testPositions"); PlainDocument d = new PlainDocument(); try { d.insertString(0, "ABC", null); Position p0 = d.createPosition(0); harness.check(p0.getOffset(), 0); Position p1 = d.createPosition(1); harness.check(p1.getOffset(), 1); Position p2 = d.createPosition(3); harness.check(p2.getOffset(), 3); Position p3 = d.createPosition(4); harness.check(p3.getOffset(), 4); d.insertString(1, "XYZ", null); harness.check(p0.getOffset(), 0); harness.check(p1.getOffset(), 4); harness.check(p2.getOffset(), 6); harness.check(p3.getOffset(), 7); d.remove(2, 3); harness.check(p0.getOffset(), 0); harness.check(p1.getOffset(), 2); harness.check(p2.getOffset(), 3); harness.check(p3.getOffset(), 4); } catch (BadLocationException e) { } } // Helper for testModifications. PlainDocument prepare(String initialContent) { PlainDocument pd = new PlainDocument(); try { pd.insertString(0, initialContent, null); return pd; } catch (BadLocationException ble) { return pd; } } // Helper for testModifications. void checkElement(TestHarness harness, PlainDocument doc, int elementIndex, int startOffset, int endOffset, String text) { Element e = doc.getDefaultRootElement(); Element child = e.getElement(elementIndex); harness.check(child.getStartOffset(), startOffset); harness.check(child.getEndOffset(), endOffset); String retrievedText = null; try { retrievedText = doc.getText(startOffset, endOffset-startOffset); } catch (BadLocationException ble) { } harness.check(retrievedText, text); } // Helper for testModifications. void insert(PlainDocument doc, int index, String text) { try { doc.insertString(index, text, null); } catch(BadLocationException ble) { } } void testModifications(TestHarness h) { // Test 1: Insert an "a" into before a "\n". h.checkPoint("modifications-insert char 1-pre"); PlainDocument doc = new PlainDocument();; // Checks whether there is an Element at index 0 which has the // starting offset 0, end offset 1 and contains the text "\n". checkElement(h, doc, 0, 0, 1, "\n"); h.checkPoint("modifications-insert char 1-post"); insert(doc, 0, "a"); checkElement(h, doc, 0, 0, 2, "a\n"); // Test 2: Insert a newline after the first a in "abc\nbla\n". h.checkPoint("modifications-insert newline 1-pre"); doc = prepare("abc\nbla\n"); checkElement(h, doc, 0, 0, 4, "abc\n"); checkElement(h, doc, 1, 4, 8, "bla\n"); h.checkPoint("modifications-insert newline 1-post"); insert(doc, 1, "\n"); checkElement(h, doc, 0, 0, 2, "a\n"); checkElement(h, doc, 1, 2, 5, "bc\n"); checkElement(h, doc, 2, 5, 9, "bla\n"); // Test 3: Insert a newline after the c in "abc\n". h.checkPoint("modifications-insert newline 2-pre"); doc = prepare("abc\nbla\n"); checkElement(h, doc, 0, 0, 4, "abc\n"); h.checkPoint("modifications-insert newline 2-post"); insert(doc, 3, "\n"); checkElement(h, doc, 0, 0, 4, "abc\n"); checkElement(h, doc, 1, 4, 5, "\n"); // Test 4: Type a char after "abc\n". h.checkPoint("modifications-insert char 2-pre"); doc = prepare("abc\n"); checkElement(h, doc, 0, 0, 4, "abc\n"); h.checkPoint("modifications-insert char 2-post"); insert(doc, 4, "d"); checkElement(h, doc, 0, 0, 4, "abc\n"); checkElement(h, doc, 1, 4, 6, "d\n"); // Test 5: Insert "foo\nbaz\nbar" after "ab" in "abc\ndef\n". h.checkPoint("modifications-insert multi-line string 1-pre"); doc = prepare("abc\ndef\n"); checkElement(h, doc, 0, 0, 4, "abc\n"); checkElement(h, doc, 1, 4, 8, "def\n"); h.checkPoint("modifications-insert multi-line string 1-post"); insert(doc, 2, "foo\nbaz\nbar"); checkElement(h, doc, 0, 0, 6, "abfoo\n"); checkElement(h, doc, 1, 6, 10, "baz\n"); checkElement(h, doc, 2, 10, 15, "barc\n"); checkElement(h, doc, 3, 15, 19, "def\n"); // Test 6: Insert "foo" after first newline in "abc\ndef\n" h.checkPoint("modifications-insert single-line string-pre"); doc = prepare("abc\ndef\n"); checkElement(h, doc, 0, 0, 4, "abc\n"); checkElement(h, doc, 1, 4, 8, "def\n"); h.checkPoint("modifications-insert single-line string-post"); insert(doc, 4, "foo"); checkElement(h, doc, 0, 0, 4, "abc\n"); checkElement(h, doc, 1, 4, 11, "foodef\n"); // Test 7: Insert "foo\nbaz\nbar" after first newline in "abc\ndef\n". h.checkPoint("modifications-insert multi-line string 2-pre"); doc = prepare("abc\ndef\n"); checkElement(h, doc, 0, 0, 4, "abc\n"); checkElement(h, doc, 1, 4, 8, "def\n"); h.checkPoint("modifications-insert multi-line string 2-post"); insert(doc, 4, "foo\nbaz\nbar"); checkElement(h, doc, 0, 0, 4, "abc\n"); checkElement(h, doc, 1, 4, 8, "foo\n"); checkElement(h, doc, 2, 8, 12, "baz\n"); checkElement(h, doc, 3, 12, 19, "bardef\n"); // Test 8: Type char after a in "ac\n". h.checkPoint("modifications-insert char 3-pre"); doc = prepare("ac\n"); checkElement(h, doc, 0, 0, 3, "ac\n"); h.checkPoint("modifications-insert char 3-post"); insert(doc, 1, "b"); checkElement(h, doc, 0, 0, 4, "abc\n"); // Test 9: Multiple text insertions h.checkPoint("modifications-multi-insert-1"); doc = prepare("abc\ndef\n"); checkElement(h, doc, 0, 0, 4, "abc\n"); checkElement(h, doc, 1, 4, 8, "def\n"); h.checkPoint("modifications-multi-insert-2"); insert(doc, 3, "---"); checkElement(h, doc, 0, 0, 7, "abc---\n"); checkElement(h, doc, 1, 7, 11, "def\n"); h.checkPoint("modifications-multi-insert-3"); insert(doc, 7, "---"); checkElement(h, doc, 0, 0, 7, "abc---\n"); checkElement(h, doc, 1, 7, 14, "---def\n"); } } mauve-20140821/gnu/testlet/javax/swing/text/PlainDocument/getRootElements.java0000644000175000001440000000275710462367372026220 0ustar dokousers/* getRootElements.java -- Some checks for the getRootElements() method in the PlainDocument class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.PlainDocument; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.Element; import javax.swing.text.PlainDocument; public class getRootElements implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { PlainDocument d = new PlainDocument(); Element[] e = d.getRootElements(); harness.check(e.length, 2); harness.check(e[0], d.getDefaultRootElement()); } }mauve-20140821/gnu/testlet/javax/swing/text/PlainDocument/remove.java0000644000175000001440000001127410376324117024361 0ustar dokousers/* remove.java -- Some checks for the remove() method in the PlainDocument class. Copyright (C) 2006 David Gilbert Copyright (C) 2006 Robert Schuster This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.PlainDocument; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.BadLocationException; import javax.swing.text.Element; import javax.swing.text.PlainDocument; import javax.swing.text.Position; public class remove implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testArguments(harness); testPositions(harness); testBehavior(harness); } public void testArguments(TestHarness harness) { harness.checkPoint("testArguments"); PlainDocument d = new PlainDocument(); try { d.insertString(0, "ABC", null); } catch (BadLocationException e) { } // negative index boolean pass = false; try { d.remove(-1, 1); } catch (BadLocationException e) { pass = true; } harness.check(pass); // index too high pass = false; try { d.remove(4, 0); } catch (BadLocationException e) { pass = true; } harness.check(pass); // index + length to high pass = false; try { d.remove(2, 99); } catch (BadLocationException e) { pass = true; } harness.check(pass); // negative length pass = false; try { d.remove(2, -1); } catch (BadLocationException e) { pass = true; } harness.check(pass); } public void testPositions(TestHarness harness) { harness.checkPoint("testPositions"); PlainDocument d = new PlainDocument(); try { d.insertString(0, "ABCDEF", null); Position p0 = d.createPosition(0); harness.check(p0.getOffset(), 0); Position p1 = d.createPosition(1); harness.check(p1.getOffset(), 1); Position p2 = d.createPosition(2); harness.check(p2.getOffset(), 2); Position p3 = d.createPosition(3); harness.check(p3.getOffset(), 3); Position p4 = d.createPosition(4); harness.check(p4.getOffset(), 4); Position p5 = d.createPosition(5); harness.check(p5.getOffset(), 5); Position p6 = d.createPosition(6); harness.check(p6.getOffset(), 6); d.remove(2, 2); harness.check(p0.getOffset(), 0); harness.check(p1.getOffset(), 1); harness.check(p2.getOffset(), 2); harness.check(p3.getOffset(), 2); harness.check(p4.getOffset(), 2); harness.check(p5.getOffset(), 3); harness.check(p6.getOffset(), 4); d.remove(0, 1); harness.check(p0.getOffset(), 0); harness.check(p1.getOffset(), 0); harness.check(p2.getOffset(), 1); harness.check(p3.getOffset(), 1); harness.check(p4.getOffset(), 1); harness.check(p5.getOffset(), 2); harness.check(p6.getOffset(), 3); } catch (BadLocationException e) { } } private void testBehavior(TestHarness harness) { harness.checkPoint("testArguments"); PlainDocument pd = new PlainDocument(); int index0 = -1; int index1 = -1; try { pd.insertString(0, "abc\ndef\n", null); // Delete the 'c'. pd.remove(2, 1); Element re = pd.getDefaultRootElement(); // There should still be two separate lines // (no Element merge should have taken place). index0 = re.getElementIndex(2); index1 = re.getElementIndex(3); } catch (BadLocationException ble) { // Very odd. This should not happen. index0 = -1; index1 = -1; } finally { harness.check(index0, 0); harness.check(index1, 1); } } } mauve-20140821/gnu/testlet/javax/swing/text/ElementIterator/0000755000175000001440000000000012375316426022562 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/ElementIterator/ElementIteratorTest.java0000644000175000001440000000626710301447413027367 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Michael Koch // Copyright (C) 2005 Red Hat, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.text.ElementIterator; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.text.*; public class ElementIteratorTest implements Testlet { public class DocumentImpl extends AbstractDocument { private Element root; public DocumentImpl() { super(new GapContent()); root = createBranchElement(null, null); } public Element getDefaultRootElement() { return root; } public Element getParagraphElement(int index) { return getDefaultRootElement(); } // Override it from protected to public public Element createBranchElement(Element parent, AttributeSet attributes) { return super.createBranchElement(parent, attributes); } // Override it from protected to public public Element createLeafElement(Element parent, AttributeSet attributes, int p0, int p1) { return super.createLeafElement(parent, attributes, p0, p1); } } public void test(TestHarness harness) { DocumentImpl doc = new DocumentImpl(); String str = ( "Two households, both alike in dignity,\n" + "In fair Verona, where we lay our scene,\n" + "From ancient grudge break to new mutiny,\n" + "Where civil blood makes civil hands unclean."); try { doc.insertString(0, str, null); AbstractDocument.BranchElement br = (AbstractDocument.BranchElement) doc.getDefaultRootElement(); Element leaf1 = doc.createLeafElement(br, null, 0, 38); Element leaf2 = doc.createLeafElement(br, null, 39, 78); br.replace(0, 0, new Element[] { leaf1, leaf2 }); ElementIterator iter = new ElementIterator(doc); harness.check(iter.first(), br, "checking first() 1"); harness.check(iter.next(), leaf1, "checking next() 1"); harness.check(iter.next(), leaf2, "checking next() 2"); harness.check(iter.previous(), leaf1, "checking previous() 1"); // Note that previous() doesn't move the iterator. harness.check(iter.previous(), leaf1, "checking previous() 2"); harness.check(iter.next(), null, "checking next() 3"); harness.check(iter.previous(), null, "checking previous() 3"); harness.check(iter.first(), br, "checking first() 2"); harness.check(iter.next(), leaf1, "checking next() after second first"); } catch (BadLocationException _) { // insertString shouldn't fail... harness.check(false); } } } mauve-20140821/gnu/testlet/javax/swing/text/BoxView/0000755000175000001440000000000012375316426021042 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/BoxView/spans.java0000644000175000001440000000500610345662765023037 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2005 Red Hat //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, //Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.text.BoxView; import java.awt.Dimension; import javax.swing.JTextArea; import javax.swing.plaf.TextUI; import javax.swing.text.View; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class spans implements Testlet { public static String markup = "Questions are a burden to others,\n" + "answers a prison for oneself."; public static JTextArea ta3 = new JTextArea(markup); public void test(TestHarness harness) { ta3.setLineWrap(true); TextUI ui = ta3.getUI(); View rootView = ui.getRootView(ta3); View view = rootView.getView(0); Dimension min = ta3.getMinimumSize(); harness.check (min.width, view.getMinimumSpan(View.X_AXIS)); harness.check (min.height, view.getMinimumSpan(View.Y_AXIS)); Dimension pref = ta3.getPreferredSize(); harness.check (pref.width, view.getPreferredSpan(View.X_AXIS)); harness.check (pref.height, view.getPreferredSpan(View.Y_AXIS)); // Asking for minimum size before asking for the preferred // size results in minimum and pref being different harness.check (!min.equals(pref)); // Asking for the minimum size after asking for the preferred // size uses the cached preferred size Dimension min3 = ta3.getMinimumSize(); harness.check (!min3.equals(min)); harness.check (min3, pref); // Check that room has been allocated for the rows // and that the width doesn't change based on the text. int width = pref.width; harness.check (width > 0); ta3.setText(""); harness.check (width, ta3.getPreferredSize().width); ta3.setText("\n\n\n\n\n\n\n"); harness.check (width, ta3.getPreferredSize().width); } } mauve-20140821/gnu/testlet/javax/swing/text/SimpleAttributeSet/0000755000175000001440000000000012375316426023250 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/SimpleAttributeSet/constructors.java0000644000175000001440000000557710361740016026666 0ustar dokousers/* constructors.java -- Tests for the constructors Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.SimpleAttributeSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; /** * Some checks for the constructors in the {@link SimpleAttributeSet} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("SimpleAttributeSet()"); SimpleAttributeSet s = new SimpleAttributeSet(); harness.check(s.isEmpty(), true); harness.check(s.getResolveParent(), null); } public void testConstructor2(TestHarness harness) { harness.checkPoint("SimpleAttributeSet(AttributeSet)"); SimpleAttributeSet s = new SimpleAttributeSet(); SimpleAttributeSet s1 = new SimpleAttributeSet(s); harness.check(s1.isEmpty(), true); harness.check(s1.getResolveParent(), null); // adding to original set doesn't update new set s.addAttribute("X1", "Y1"); harness.check(s1.isEmpty()); harness.check(s1.getResolveParent(), null); SimpleAttributeSet s2 = new SimpleAttributeSet(s); harness.check(s2.isEmpty(), false); harness.check(s2.getResolveParent(), null); harness.check(s2.getAttribute("X1"), "Y1"); SimpleAttributeSet ss = new SimpleAttributeSet(); ss.setResolveParent(s); ss.addAttribute("X2", "Y2"); SimpleAttributeSet s3 = new SimpleAttributeSet(ss); harness.check(s3.isEmpty(), false); harness.check(s3.getResolveParent(), s); harness.check(s3.getAttribute("X1"), "Y1"); harness.check(s3.getAttribute("X2"), "Y2"); // try null argument boolean pass = false; try { /*SimpleAttributeSet ss =*/ new SimpleAttributeSet(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/SimpleAttributeSet/equals.java0000644000175000001440000000323710361740016025377 0ustar dokousers/* equals.java -- some checks for the equals() method in the SimpleAttributeSet class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.SimpleAttributeSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; /** * Some checks for the equals() field in the {@link SimpleAttributeSet} * class. */ public class equals implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("equals()"); SimpleAttributeSet s = new SimpleAttributeSet(); harness.check(s.equals(SimpleAttributeSet.EMPTY), true); harness.check(SimpleAttributeSet.EMPTY.equals(s), true); harness.check(s.equals(null), false); harness.check(s.equals("XYZ"), false); } }mauve-20140821/gnu/testlet/javax/swing/text/SimpleAttributeSet/isEmpty.java0000644000175000001440000000353110361740016025534 0ustar dokousers/* isEmpty.java -- Some checks for the isEmpty() method in the SimpleAttributeSet class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.SimpleAttributeSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; public class isEmpty implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("getAttributeCount()"); SimpleAttributeSet s = new SimpleAttributeSet(); harness.check(s.isEmpty(), true); s.addAttribute("X1", "Y1"); harness.check(s.isEmpty(), false); s.removeAttribute("X1"); harness.check(s.isEmpty(), true); // add an attribute that exists in the resolve parent, same value SimpleAttributeSet sParent = new SimpleAttributeSet(); s.setResolveParent(sParent); harness.check(s.isEmpty(), false); sParent.addAttribute("X2", "Y2"); harness.check(s.isEmpty(), false); } }mauve-20140821/gnu/testlet/javax/swing/text/SimpleAttributeSet/containsChecksParent.java0000644000175000001440000000264410316336365030227 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.text.SimpleAttributeSet; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.text.SimpleAttributeSet; /** * Checks if SimpleAttributeSet's containsAttribute method * checks its resolve parent's map if the attribute is not * found locally. */ public class containsChecksParent implements Testlet { public void test(TestHarness harness) { SimpleAttributeSet set1 = new SimpleAttributeSet(); SimpleAttributeSet set2 = new SimpleAttributeSet(); set1.addAttribute("hello", "hello"); set2.setResolveParent(set1); harness.check(set2.containsAttribute("hello", "hello")); } } mauve-20140821/gnu/testlet/javax/swing/text/SimpleAttributeSet/clone.java0000644000175000001440000000426310361740016025205 0ustar dokousers/* clone.java -- Tests for the clone() method in the SimpleAttributeSet class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.SimpleAttributeSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; /** * Some checks for the clone() method in the {@link SimpleAttributeSet} * class. */ public class clone implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("clone()"); // clone an empty set SimpleAttributeSet s1 = new SimpleAttributeSet(); SimpleAttributeSet s2 = (SimpleAttributeSet) s1.clone(); harness.check(s1.equals(s2)); s1.addAttribute("X1", "Y1"); harness.check(!s1.equals(s2)); // clone a set with no resolve parent s2 = (SimpleAttributeSet) s1.clone(); harness.check(s1.equals(s2)); s1.addAttribute("X2", "Y2"); harness.check(!s1.equals(s2)); // clone a set with a resolve parent SimpleAttributeSet s3 = new SimpleAttributeSet(); s3.addAttribute("A1", "B1"); s1.setResolveParent(s3); s2 = (SimpleAttributeSet) s1.clone(); harness.check(s1.equals(s2)); s3.addAttribute("A1", "BB"); harness.check(s1.equals(s2)); s1.addAttribute("Y1", "-"); harness.check(!s1.equals(s2)); } }mauve-20140821/gnu/testlet/javax/swing/text/SimpleAttributeSet/addAttribute.java0000644000175000001440000000611010361740016026512 0ustar dokousers/* addAttribute.java -- Tests for the addAttribute() method in the SimpleAttributeSet class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.SimpleAttributeSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; /** * Some checks for the addAttribute() method in the {@link SimpleAttributeSet} * class. */ public class addAttribute implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("addAttribute()"); SimpleAttributeSet s = new SimpleAttributeSet(); // add an attribute, check that you can retrieve it s.addAttribute("X1", "Y1"); harness.check(s.getAttribute("X1"), "Y1"); // add an attribute that already exists, same value s.addAttribute("X1", "Y1"); harness.check(s.getAttributeCount(), 1); // add an attribute that already exists, different value s.addAttribute("X1", "YY1"); harness.check(s.getAttribute("X1"), "YY1"); harness.check(s.getAttributeCount(), 1); // add an attribute that exists in the resolve parent, same value SimpleAttributeSet sParent = new SimpleAttributeSet(); sParent.addAttribute("X2", "Y2"); s.setResolveParent(sParent); harness.check(s.getAttributeCount(), 2); // this adds to s, not sParent s.addAttribute("X2", "Y2"); harness.check(s.getAttribute("X2"), "Y2"); harness.check(s.getAttributeCount(), 3); // add an attribute that exists in the resolve parent, different value s.addAttribute("X2", "Z2"); harness.check(s.getAttribute("X2"), "Z2"); harness.check(s.getAttributeCount(), 3); harness.check(sParent.getAttribute("X2"), "Y2"); harness.check(sParent.getAttributeCount(), 1); // try null attribute key boolean pass = false; try { s.addAttribute(null, "XX"); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try null value pass = false; try { s.addAttribute("X2", null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/SimpleAttributeSet/nullValue.java0000644000175000001440000000261410233253516026054 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.text.SimpleAttributeSet; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.text.SimpleAttributeSet; /** * Checks if SimpleAttributeSet handles nullvalues correctly. */ public class nullValue implements Testlet { public void test(TestHarness h) { h.checkPoint("SimpleAttributeSet"); SimpleAttributeSet sas = new SimpleAttributeSet(); try { sas.addAttribute("key", null); h.fail("SimpleAttributeSet must not accept null value"); } catch (NullPointerException ex) { h.check(true); } } } mauve-20140821/gnu/testlet/javax/swing/text/SimpleAttributeSet/containsAttribute.java0000644000175000001440000000560310370162751027612 0ustar dokousers/* containsAttribute.java -- Tests for the containsAttribute() method in the SimpleAttributeSet class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.SimpleAttributeSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; /** * Some checks for the containsAttribute() method in the * {@link SimpleAttributeSet} class. */ public class containsAttribute implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("containsAttribute()"); SimpleAttributeSet s = new SimpleAttributeSet(); harness.check(s.containsAttribute("X1", "Y1"), false); s.addAttribute("X1", "Y1"); harness.check(s.containsAttribute("X1", "Y1"), true); harness.check(s.containsAttribute("X1", "Y2"), false); harness.check(s.containsAttribute("X2", "Y1"), false); // check with resolve parent SimpleAttributeSet sParent = new SimpleAttributeSet(); sParent.addAttribute("X2", "Y2"); s.setResolveParent(sParent); harness.check(s.containsAttribute("X1", "Y1"), true); harness.check(s.containsAttribute("X2", "Y2"), true); s.addAttribute("X2", "ZZ"); harness.check(s.containsAttribute("X2", "ZZ"), true); harness.check(s.containsAttribute("X2", "Y2"), false); // try null attribute key boolean pass = false; try { s.containsAttribute(null, "XX"); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try null value for existing key pass = false; try { s.containsAttribute("X2", null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try null value for non-existent key pass = false; try { s.containsAttribute("XXX", null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/SimpleAttributeSet/isEqual.java0000644000175000001440000000361710361740016025512 0ustar dokousers/* isEqual.java -- some checks for the isEqual() method in the SimpleAttributeSet class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.SimpleAttributeSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; /** * Some checks for the isEqual() field in the {@link SimpleAttributeSet} * class. */ public class isEqual implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("isEqual()"); SimpleAttributeSet s = new SimpleAttributeSet(); harness.check(s.isEqual(SimpleAttributeSet.EMPTY), true); harness.check(SimpleAttributeSet.EMPTY.isEqual(s), true); SimpleAttributeSet s2 = new SimpleAttributeSet(); s2.addAttribute("XX", "YY"); harness.check(s.isEqual(s2), false); boolean pass = false; try { s.isEqual(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/SimpleAttributeSet/removeAttributes.java0000644000175000001440000001057210361740017027452 0ustar dokousers/* removeAttributes.java -- Tests for the removeAttributes() method in the SimpleAttributeSet class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.SimpleAttributeSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Enumeration; import java.util.Vector; import javax.swing.text.AttributeSet; import javax.swing.text.SimpleAttributeSet; /** * Some checks for the removeAttributes() method in the * {@link SimpleAttributeSet} class. */ public class removeAttributes implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("(AttributeSet)"); SimpleAttributeSet s = new SimpleAttributeSet(); s.addAttribute("A", "1"); s.addAttribute("B", "2"); s.addAttribute("C", "3"); s.addAttribute("D", "4"); s.addAttribute("E", "5"); s.addAttribute("F", "6"); harness.check(s.getAttributeCount(), 6); SimpleAttributeSet ss = new SimpleAttributeSet(); ss.addAttribute("A", "1"); ss.addAttribute("C", "3"); ss.addAttribute("E", "5"); s.removeAttributes(ss); harness.check(s.getAttributeCount(), 3); harness.check(s.getAttribute("B"), "2"); harness.check(s.getAttribute("D"), "4"); harness.check(s.getAttribute("F"), "6"); SimpleAttributeSet sss = new SimpleAttributeSet(); ss.addAttribute("B", "XXX"); s.removeAttributes(sss); harness.check(s.getAttributeCount(), 3); harness.check(s.getAttribute("B"), "2"); harness.check(s.getAttribute("D"), "4"); harness.check(s.getAttribute("F"), "6"); // check for remove of the resolve parent SimpleAttributeSet s2 = new SimpleAttributeSet(); SimpleAttributeSet sParent = new SimpleAttributeSet(); s2.setResolveParent(sParent); harness.check(s2.getResolveParent(), sParent); SimpleAttributeSet s3 = new SimpleAttributeSet(); s3.setResolveParent(sParent); s2.removeAttributes(s3); harness.check(s2.getResolveParent(), null); // try null boolean pass = false; try { s.removeAttributes((AttributeSet) null); } catch (NullPointerException ex) { pass = true; } harness.check(pass); } public void test2(TestHarness harness) { harness.checkPoint("(Enumeration)"); SimpleAttributeSet s = new SimpleAttributeSet(); s.addAttribute("A", "1"); s.addAttribute("B", "2"); s.addAttribute("C", "3"); s.addAttribute("D", "4"); s.addAttribute("E", "5"); s.addAttribute("F", "6"); harness.check(s.getAttributeCount(), 6); Vector v = new Vector(); v.add("B"); v.add("D"); v.add("F"); Enumeration e = v.elements(); s.removeAttributes(e); harness.check(s.getAttributeCount(), 3); harness.check(s.getAttribute("A"), "1"); harness.check(s.getAttribute("C"), "3"); harness.check(s.getAttribute("E"), "5"); // try an enumeration with null in it boolean pass = false; try { v.clear(); v.add(null); e = v.elements(); s.removeAttributes(e); } catch (NullPointerException ex) { pass = true; } harness.check(pass); // try a null enumeration pass = false; try { s.removeAttributes((Enumeration) null); } catch (NullPointerException ex) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/SimpleAttributeSet/removeAttribute.java0000644000175000001440000000456210361740016027270 0ustar dokousers/* removeAttribute.java -- Tests for the removeAttribute() method in the SimpleAttributeSet class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.SimpleAttributeSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; /** * Some checks for the removeAttribute() method in the * {@link SimpleAttributeSet} class. */ public class removeAttribute implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("removeAttribute()"); SimpleAttributeSet s = new SimpleAttributeSet(); // remove an attribute that doesn't exist s.removeAttribute("X1"); s.addAttribute("X1", "Y1"); harness.check(s.getAttribute("X1"), "Y1"); // remove another attribute that doesn't exist s.removeAttribute("X2"); harness.check(s.getAttributeCount(), 1); // remove an existing attribute s.removeAttribute("X1"); harness.check(s.getAttribute("X1"), null); SimpleAttributeSet sParent = new SimpleAttributeSet(); sParent.addAttribute("XX", "YY"); s.setResolveParent(sParent); harness.check(sParent.getAttributeCount(), 1); s.removeAttribute("XX"); harness.check(sParent.getAttribute("XX"), "YY"); // try null attribute key boolean pass = false; try { s.removeAttribute(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/SimpleAttributeSet/getAttribute.java0000644000175000001440000000414710361740016026551 0ustar dokousers/* getAttribute.java -- Some checks for the getAttribute() method in the SimpleAttributeSet class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.SimpleAttributeSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; public class getAttribute implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("getAttribute()"); SimpleAttributeSet s = new SimpleAttributeSet(); harness.check(s.getAttribute("X1"), null); s.addAttribute("X1", "Y1"); harness.check(s.getAttribute("X1"), "Y1"); // add an attribute that exists in the resolve parent, same value SimpleAttributeSet sParent = new SimpleAttributeSet(); sParent.addAttribute("X2", "Y2"); s.setResolveParent(sParent); harness.check(s.getAttribute("X2"), "Y2"); // this adds to s, not sParent s.addAttribute("X2", "YY2"); harness.check(s.getAttribute("X2"), "YY2"); // try null attribute key boolean pass = false; try { s.getAttribute(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/SimpleAttributeSet/isDefined.java0000644000175000001440000000407410361740016025777 0ustar dokousers/* isDefined.java -- Some checks for the isDefined() method in the SimpleAttributeSet class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.SimpleAttributeSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.AttributeSet; import javax.swing.text.SimpleAttributeSet; public class isDefined implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("isDefined()"); SimpleAttributeSet s = new SimpleAttributeSet(); harness.check(s.isDefined("X1"), false); s.addAttribute("X1", "Y1"); harness.check(s.isDefined("X1"), true); s.removeAttribute("X1"); harness.check(s.isDefined("X1"), false); SimpleAttributeSet sParent = new SimpleAttributeSet(); sParent.addAttribute("X2", "Y2"); s.setResolveParent(sParent); harness.check(s.isDefined("X2"), false); harness.check(s.isDefined(AttributeSet.ResolveAttribute), true); // try null attribute key boolean pass = false; try { s.isDefined(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/SimpleAttributeSet/getAttributeCount.java0000644000175000001440000000400010361740016027546 0ustar dokousers/* getAttributeCount.java -- Some checks for the getAttributeCount() method in the SimpleAttributeSet class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.SimpleAttributeSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; public class getAttributeCount implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("getAttributeCount()"); SimpleAttributeSet s = new SimpleAttributeSet(); harness.check(s.getAttributeCount(), 0); s.addAttribute("X1", "Y1"); harness.check(s.getAttributeCount(), 1); // add an attribute that exists in the resolve parent, same value SimpleAttributeSet sParent = new SimpleAttributeSet(); s.setResolveParent(sParent); harness.check(s.getAttributeCount(), 2); sParent.addAttribute("X2", "Y2"); harness.check(s.getAttributeCount(), 2); sParent.addAttribute("X3", "Y3"); harness.check(s.getAttributeCount(), 2); s.addAttribute("X2", "YY2"); harness.check(s.getAttributeCount(), 3); } }mauve-20140821/gnu/testlet/javax/swing/text/SimpleAttributeSet/getResolveParent.java0000644000175000001440000000336510361740016027400 0ustar dokousers/* getResolveParent.java -- Some checks for the getResolveParent() method in the SimpleAttributeSet class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.SimpleAttributeSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.AttributeSet; import javax.swing.text.SimpleAttributeSet; public class getResolveParent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("getResolveParent()"); SimpleAttributeSet s = new SimpleAttributeSet(); harness.check(s.getResolveParent(), null); SimpleAttributeSet sParent = new SimpleAttributeSet(); s.setResolveParent(sParent); harness.check(s.getResolveParent(), sParent); s.removeAttribute(AttributeSet.ResolveAttribute); harness.check(s.getResolveParent(), null); } }mauve-20140821/gnu/testlet/javax/swing/text/SimpleAttributeSet/EMPTY.java0000644000175000001440000000335710361740016025006 0ustar dokousers/* EMPTY.java -- Tests for the EMPTY field Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.SimpleAttributeSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; /** * Some checks for the {@link EMPTY} field in the {@link SimpleAttributeSet} * class. */ public class EMPTY implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("EMPTY"); // check that it is empty harness.check(SimpleAttributeSet.EMPTY.getAttributeCount(), 0); harness.check(SimpleAttributeSet.EMPTY.getResolveParent(), null); // EMPTY should not be an instance of SimpleAttributeSet, since then // you could cast it and add attributes to it... harness.check(SimpleAttributeSet.EMPTY instanceof SimpleAttributeSet, false); } }mauve-20140821/gnu/testlet/javax/swing/text/SimpleAttributeSet/removeAttributesOnlyIfMatch.java0000644000175000001440000000303710316323046031545 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.text.SimpleAttributeSet; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.text.SimpleAttributeSet; /** * Checks if SimpleAttributeSet's removeAttributes(AttributeSet) method * properly ignores attributes whose keys and values don't match with * the given set. */ public class removeAttributesOnlyIfMatch implements Testlet { public void test(TestHarness harness) { SimpleAttributeSet set1 = new SimpleAttributeSet(); SimpleAttributeSet set2 = new SimpleAttributeSet(); set1.addAttribute("hello", "hello"); set2.addAttribute("hello", "goodbye"); //attempt to remove a set that doesn't match set1.removeAttributes(set2); harness.check(set1.containsAttribute("hello", "hello")); } } mauve-20140821/gnu/testlet/javax/swing/text/SimpleAttributeSet/copyAttributes.java0000644000175000001440000000442310361740016027124 0ustar dokousers/* copyAttributes.java -- Tests for the copyAttributes() method in the SimpleAttributeSet class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.SimpleAttributeSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; /** * Some checks for the copyAttributes() method in the {@link SimpleAttributeSet} * class. */ public class copyAttributes implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("copyAttributes()"); // copy an empty set SimpleAttributeSet s1 = new SimpleAttributeSet(); SimpleAttributeSet s2 = (SimpleAttributeSet) s1.copyAttributes(); harness.check(s1.equals(s2)); s1.addAttribute("X1", "Y1"); harness.check(!s1.equals(s2)); // copy a set with no resolve parent s2 = (SimpleAttributeSet) s1.copyAttributes(); harness.check(s1.equals(s2)); s1.addAttribute("X2", "Y2"); harness.check(!s1.equals(s2)); // copy a set with a resolve parent SimpleAttributeSet s3 = new SimpleAttributeSet(); s3.addAttribute("A1", "B1"); s1.setResolveParent(s3); s2 = (SimpleAttributeSet) s1.copyAttributes(); harness.check(s1.equals(s2)); s3.addAttribute("A1", "BB"); harness.check(s1.equals(s2)); s1.addAttribute("Y1", "-"); harness.check(!s1.equals(s2)); } }mauve-20140821/gnu/testlet/javax/swing/text/SimpleAttributeSet/addAttributes.java0000644000175000001440000000527010361740016026703 0ustar dokousers/* addAttributes.java -- Tests for the addAttributes() method in the SimpleAttributeSet class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.SimpleAttributeSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; /** * Some checks for the addAttributes() method in the {@link SimpleAttributeSet} * class. */ public class addAttributes implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("addAttributes()"); // try an empty set SimpleAttributeSet s = new SimpleAttributeSet(); s.addAttributes(SimpleAttributeSet.EMPTY); harness.check(s.isEmpty()); // try a set with no resolve parent and a couple of attributes SimpleAttributeSet atts1 = new SimpleAttributeSet(); atts1.addAttribute("A1", "B1"); atts1.addAttribute("A2", "B2"); s.addAttributes(atts1); harness.check(s.getAttributeCount(), 2); harness.check(s.containsAttribute("A1", "B1")); harness.check(s.containsAttribute("A2", "B2")); // try a set with a resolve parent SimpleAttributeSet atts2 = new SimpleAttributeSet(); atts2.addAttribute("C1", "D1"); atts1.addAttribute("A1", "BB1"); atts1.addAttribute("A2", "BB2"); atts1.setResolveParent(atts2); s.addAttributes(atts1); harness.check(s.getResolveParent(), atts2); harness.check(s.getAttributeCount(), 3); harness.check(s.containsAttribute("A1", "BB1")); harness.check(s.containsAttribute("A2", "BB2")); harness.check(s.containsAttribute("C1", "D1")); // try a null set boolean pass = false; try { s.addAttributes(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/SimpleAttributeSet/setResolveParent.java0000644000175000001440000000343710361740017027415 0ustar dokousers/* setResolveParent.java -- Some checks for the setResolveParent() method in the SimpleAttributeSet class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.SimpleAttributeSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; public class setResolveParent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("setResolveParent()"); SimpleAttributeSet s = new SimpleAttributeSet(); harness.check(s.getResolveParent(), null); SimpleAttributeSet sParent = new SimpleAttributeSet(); s.setResolveParent(sParent); harness.check(s.getResolveParent(), sParent); boolean pass = false; try { s.setResolveParent(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/SimpleAttributeSet/getAttributeNames.java0000644000175000001440000000422610361740016027533 0ustar dokousers/* getAttributeNames.java -- Some checks for the getAttributeNames() method in the SimpleAttributeSet class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.SimpleAttributeSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Enumeration; import javax.swing.text.AttributeSet; import javax.swing.text.SimpleAttributeSet; public class getAttributeNames implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("getAttributeNames()"); SimpleAttributeSet s = new SimpleAttributeSet(); Enumeration e = s.getAttributeNames(); harness.check(e.hasMoreElements(), false); s.addAttribute("X1", "Y1"); e = s.getAttributeNames(); harness.check(e.hasMoreElements(), true); harness.check(e.nextElement(), "X1"); harness.check(e.hasMoreElements(), false); // add an attribute that exists in the resolve parent, same value SimpleAttributeSet sParent = new SimpleAttributeSet(); s.setResolveParent(sParent); s.removeAttribute("X1"); e = s.getAttributeNames(); harness.check(e.hasMoreElements(), true); harness.check(e.nextElement(), AttributeSet.ResolveAttribute); harness.check(e.hasMoreElements(), false); } }mauve-20140821/gnu/testlet/javax/swing/text/SimpleAttributeSet/containsAttributes.java0000644000175000001440000000626010361740016027771 0ustar dokousers/* containsAttributes.java -- Tests for the containsAttributes() method in the SimpleAttributeSet class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.SimpleAttributeSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; /** * Some checks for the containsAttributes() method in the * {@link SimpleAttributeSet} class. */ public class containsAttributes implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("containsAttributes()"); // start with an empty set SimpleAttributeSet s = new SimpleAttributeSet(); SimpleAttributeSet atts = new SimpleAttributeSet(); harness.check(s.containsAttributes(atts), true); atts.addAttribute("E", "5"); harness.check(s.containsAttributes(atts), false); // now populate the set and run some more tests s.addAttribute("A", "1"); s.addAttribute("B", "2"); s.addAttribute("C", "3"); s.addAttribute("D", "4"); s.addAttribute("E", "5"); s.addAttribute("F", "6"); harness.check(s.containsAttributes(atts), true); atts.addAttribute("E", "XXX"); harness.check(s.containsAttributes(atts), false); atts.removeAttribute("E"); // atts is now empty harness.check(s.containsAttributes(atts), true); atts.addAttribute("A", "1"); atts.addAttribute("D", "4"); atts.addAttribute("E", "5"); harness.check(s.containsAttributes(atts), true); atts.addAttribute("D", "XXX"); harness.check(s.containsAttributes(atts), false); // now do some checks on the resolving parent s = new SimpleAttributeSet(); SimpleAttributeSet sParent = new SimpleAttributeSet(); s.setResolveParent(sParent); atts = new SimpleAttributeSet(); harness.check(s.containsAttributes(atts), true); atts.setResolveParent(sParent); harness.check(s.containsAttributes(atts), true); sParent.addAttribute("X", "1"); atts.addAttribute("X", "1"); harness.check(s.containsAttributes(atts)); // try null attributes boolean pass = false; try { s.containsAttributes(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/TextAction/0000755000175000001440000000000012375316426021541 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/TextAction/augmentList.java0000644000175000001440000000602010373634531024672 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Michael Koch // Copyright (C) 2006 Mark Wielaard // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.text.TextAction; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.event.ActionEvent; import javax.swing.Action; import javax.swing.text.TextAction; public class augmentList implements Testlet { private class TestAction extends TextAction { public TestAction(String name) { super(name); } public void actionPerformed(ActionEvent event) { } } public void test(TestHarness h) { boolean ok; Action[] result = null; TextAction[] empty = new TextAction[0]; TextAction[] nullArray = new TextAction[2]; nullArray[0] = null; nullArray[1] = null; TextAction[] data = new TextAction[2]; data[0] = new TestAction("test 1"); data[1] = new TestAction("test 2"); ok = false; try { result = TextAction.augmentList(null, null); } catch (NullPointerException e) { ok = true; } catch (Exception e) { } h.check(ok, "invalid arguments"); ok = false; try { result = TextAction.augmentList(empty, null); } catch (NullPointerException e) { ok = true; } catch (Exception e) { } h.check(ok, "invalid arguments"); ok = false; try { result = TextAction.augmentList(null, empty); } catch (NullPointerException e) { ok = true; } catch (Exception e) { } h.check(ok, "invalid arguments"); ok = false; try { result = TextAction.augmentList(empty, empty); ok = true; } catch (Exception e) { } h.check(ok, "invalid arguments"); h.check(result.length, 0, "invalid array length"); ok = false; try { result = TextAction.augmentList(data, data); ok = true; } catch (Exception e) { } // The length is guaranteed, and so is the content, but not the order. h.check(ok, "arguments"); h.check(result.length, 2, "array length"); h.check(result[0] == data[0] || result[0] == data[1], "content"); h.check(result[1] == data[0] || result[1] == data[1], "content"); h.check(result[0] != result[1], "content"); } } mauve-20140821/gnu/testlet/javax/swing/text/StyledEditorKit/0000755000175000001440000000000012375316426022542 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/StyledEditorKit/createInputAttributesTest.java0000644000175000001440000000265610351566121030577 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.text.StyledEditorKit; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.text.*; import javax.swing.text.html.*; /** * Checks if createInputAttributes clears the set * before adding the new Attributes. */ public class createInputAttributesTest extends StyledEditorKit implements Testlet { public void test(TestHarness harness) { MutableAttributeSet mas = new SimpleAttributeSet(); mas.addAttribute("A", "B"); HTMLDocument h = new HTMLDocument(); Element e = h.getDefaultRootElement(); createInputAttributes(e, mas); harness.check(mas.getAttribute("A") == null); } } mauve-20140821/gnu/testlet/javax/swing/text/DefaultEditorKit/0000755000175000001440000000000012375316426022662 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/DefaultEditorKit/getActions.java0000644000175000001440000001037310461244652025624 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004, 2006 Michael Koch // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.text.DefaultEditorKit; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.Action; import javax.swing.text.DefaultEditorKit; import javax.swing.text.TextAction; public class getActions implements Testlet { private void checkForAction(TestHarness h, Action[] actions, String name) { boolean found = false; for (int i = 0 ; i < actions.length; ++i) if (((TextAction) actions[i]).getValue(Action.NAME).equals(name)) { found = true; break; } if (found) { h.check(found, name); } } public void test(TestHarness h) { DefaultEditorKit editorKit = new DefaultEditorKit(); Action[] actions = editorKit.getActions(); h.check(actions != null, "actions != null"); h.check(actions.length, 53, "number of actions"); checkForAction(h, actions, "caret-backward"); checkForAction(h, actions, "caret-begin-line"); checkForAction(h, actions, "caret-end-line"); checkForAction(h, actions, "caret-forward"); checkForAction(h, actions, "caret-next-word"); checkForAction(h, actions, "caret-previous-word"); checkForAction(h, actions, "copy-to-clipboard"); checkForAction(h, actions, "cut-to-clipboard"); checkForAction(h, actions, "delete-next"); checkForAction(h, actions, "delete-previous"); checkForAction(h, actions, "paste-from-clipboard"); checkForAction(h, actions, "select-all"); checkForAction(h, actions, "selection-backward"); checkForAction(h, actions, "selection-begin"); checkForAction(h, actions, "selection-begin-line"); checkForAction(h, actions, "selection-begin-word"); checkForAction(h, actions, "selection-end"); checkForAction(h, actions, "selection-end-line"); checkForAction(h, actions, "selection-end-word"); checkForAction(h, actions, "selection-forward"); checkForAction(h, actions, "selection-next-word"); checkForAction(h, actions, "selection-previous-word"); checkForAction(h, actions, "toggle-componentOrientation"); checkForAction(h, actions, "unselect"); checkForAction(h, actions, "beep"); checkForAction(h, actions, "caret-begin"); checkForAction(h, actions, "caret-begin-paragraph"); checkForAction(h, actions, "caret-begin-word"); checkForAction(h, actions, "caret-down"); checkForAction(h, actions, "caret-end"); checkForAction(h, actions, "caret-end-paragraph"); checkForAction(h, actions, "caret-end-word"); checkForAction(h, actions, "caret-up"); checkForAction(h, actions, "default-typed"); checkForAction(h, actions, "dump-model"); checkForAction(h, actions, "insert-break"); checkForAction(h, actions, "insert-content"); checkForAction(h, actions, "insert-tab"); checkForAction(h, actions, "page-down"); checkForAction(h, actions, "page-up"); checkForAction(h, actions, "selection-begin-paragraph"); checkForAction(h, actions, "selection-down"); checkForAction(h, actions, "selection-end-paragraph"); checkForAction(h, actions, "selection-page-down"); checkForAction(h, actions, "selection-page-left"); checkForAction(h, actions, "selection-page-right"); checkForAction(h, actions, "selection-page-up"); checkForAction(h, actions, "selection-up"); checkForAction(h, actions, "select-line"); checkForAction(h, actions, "select-paragraph"); checkForAction(h, actions, "select-word"); checkForAction(h, actions, "set-read-only"); checkForAction(h, actions, "set-writable"); } } mauve-20140821/gnu/testlet/javax/swing/text/ZoneView/0000755000175000001440000000000012375316426021225 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/ZoneView/TestView.java0000644000175000001440000000271210475326471023644 0ustar dokousers/* TestView.java -- A view for testing zones Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.javax.swing.text.ZoneView; import javax.swing.text.BoxView; import javax.swing.text.Element; import javax.swing.text.PlainDocument; public class TestView extends BoxView { private static final Element DEFAULT_ELEMENT; static { PlainDocument doc = new PlainDocument(); Element el = doc.getDefaultRootElement(); DEFAULT_ELEMENT = el; } boolean removeAllCalled; TestView() { this(X_AXIS); } TestView(int axis) { this(DEFAULT_ELEMENT, axis); } TestView(Element el, int axis) { super(el, axis); } public void removeAll() { super.removeAll(); removeAllCalled = true; } } mauve-20140821/gnu/testlet/javax/swing/text/ZoneView/createZone.java0000644000175000001440000000466611015022012024152 0ustar dokousers/* createZone.java -- Tests ZoneView.createZone() Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 // Uses: TestZoneView package gnu.testlet.javax.swing.text.ZoneView; import javax.swing.text.AsyncBoxView; import javax.swing.text.BadLocationException; import javax.swing.text.Element; import javax.swing.text.PlainDocument; import javax.swing.text.View; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class createZone implements Testlet { public void test(TestHarness h) { PlainDocument doc = new PlainDocument(); try { doc.insertString(0, "123456789", null); } catch (BadLocationException ex) { RuntimeException rte = new RuntimeException(); rte.initCause(ex); throw rte; } Element el = doc.getDefaultRootElement(); TestZoneView zv = new TestZoneView(el, View.X_AXIS); // Try valid zone. View zone = zv.createZone(0, 9); h.check(zone instanceof AsyncBoxView); h.check(zone.getStartOffset(), 0); h.check(zone.getEndOffset(), 9); // Check if the zone follows document insertions (via Positions). try { doc.insertString(5, "abcde", null); } catch (BadLocationException ex) { RuntimeException rte = new RuntimeException(); rte.initCause(ex); throw rte; } h.check(zone.getStartOffset(), 0); h.check(zone.getEndOffset(), 14); // Try invalid zone. No error is thrown and the zone tracks some more // or less random positions. This is probably due to a bug in the Content // implementation of Sun, but anyway. We don't check the exact positions // here as it doesn't really matter anyway. This is unspecified! zone = zv.createZone(-10, 23); } } mauve-20140821/gnu/testlet/javax/swing/text/ZoneView/setMaximumZoneSize.java0000644000175000001440000000272111015022012025661 0ustar dokousers/* setMaximumZoneSize.java -- Tests ZoneView.setMaximumZoneSize() Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 // Uses: TestZoneView package gnu.testlet.javax.swing.text.ZoneView; import javax.swing.text.ZoneView; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class setMaximumZoneSize implements Testlet { public void test(TestHarness h) { ZoneView zv = new TestZoneView(); zv.setMaximumZoneSize(0); h.check(zv.getMaximumZoneSize(), 0); zv.setMaximumZoneSize(1); h.check(zv.getMaximumZoneSize(), 1); zv.setMaximumZoneSize(Integer.MAX_VALUE); h.check(zv.getMaximumZoneSize(), Integer.MAX_VALUE); zv.setMaximumZoneSize(Integer.MIN_VALUE); h.check(zv.getMaximumZoneSize(), Integer.MIN_VALUE); } } mauve-20140821/gnu/testlet/javax/swing/text/ZoneView/constructor.java0000644000175000001440000000365510475326471024466 0ustar dokousers/* constructor.java -- Tests the constructor of ZoneView Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 package gnu.testlet.javax.swing.text.ZoneView; import javax.swing.text.Element; import javax.swing.text.PlainDocument; import javax.swing.text.View; import javax.swing.text.ZoneView; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class constructor implements Testlet { public void test(TestHarness harness) { testSimple(harness); testDefaultValues(harness); } /** * Some very simple tests. * * @param h the test harness */ private void testSimple(TestHarness h) { PlainDocument doc = new PlainDocument(); Element el = doc.getDefaultRootElement(); ZoneView zv = new ZoneView(el, View.X_AXIS); h.check(zv.getAxis(), View.X_AXIS); h.check(zv.getElement(), el); zv = new ZoneView(el, View.Y_AXIS); h.check(zv.getAxis(), View.Y_AXIS); h.check(zv.getElement(), el); } private void testDefaultValues(TestHarness h) { PlainDocument doc = new PlainDocument(); Element el = doc.getDefaultRootElement(); ZoneView zv = new ZoneView(el, View.X_AXIS); h.check(zv.getMaximumZoneSize(), 8192); h.check(zv.getMaxZonesLoaded(), 3); } } mauve-20140821/gnu/testlet/javax/swing/text/ZoneView/unloadZone.java0000644000175000001440000000277511015022012024170 0ustar dokousers/* unloadZone.java -- Tests ZoneView.unloadZone() Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 // Uses: TestView TestZoneView package gnu.testlet.javax.swing.text.ZoneView; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class unloadZone implements Testlet { public void test(TestHarness h) { // This method should simply call removeAll() on the zone view. // So we test this. TestZoneView zv = new TestZoneView(); TestView v = new TestView(); v.removeAllCalled = false; zv.unloadZone(v); h.check(v.removeAllCalled, true); // Also check for null argument. try { zv.unloadZone(null); h.fail("NullPointerException should be thrown"); } catch (NullPointerException ex) { h.check(true); } } } mauve-20140821/gnu/testlet/javax/swing/text/ZoneView/getMaximumZoneSize.java0000644000175000001440000000277511015022012025656 0ustar dokousers/* getMaximumZoneSize.java -- Tests ZoneView.getMaximumZoneSize() Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 // Uses: TestZoneView package gnu.testlet.javax.swing.text.ZoneView; import javax.swing.text.ZoneView; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getMaximumZoneSize implements Testlet { public void test(TestHarness h) { ZoneView zv = new TestZoneView(); h.check(zv.getMaximumZoneSize(), 8192); zv.setMaximumZoneSize(0); h.check(zv.getMaximumZoneSize(), 0); zv.setMaximumZoneSize(1); h.check(zv.getMaximumZoneSize(), 1); zv.setMaximumZoneSize(Integer.MAX_VALUE); h.check(zv.getMaximumZoneSize(), Integer.MAX_VALUE); zv.setMaximumZoneSize(Integer.MIN_VALUE); h.check(zv.getMaximumZoneSize(), Integer.MIN_VALUE); } } mauve-20140821/gnu/testlet/javax/swing/text/ZoneView/isZoneLoaded.java0000644000175000001440000000261011015022012024416 0ustar dokousers/* isZoneLoaded.java -- Checks ZoneView.isZoneLoaded() Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 // Uses: TestZoneView package gnu.testlet.javax.swing.text.ZoneView; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class isZoneLoaded implements Testlet { public void test(TestHarness h) { // Note that we don't add the view to the ZoneView. The ZoneView // only checks if the view has children. TestZoneView zv = new TestZoneView(); // Create a view without children. TestView v = new TestView(); h.check(zv.isZoneLoaded(v), false); TestView child = new TestView(); v.append(child); h.check(zv.isZoneLoaded(v), true); } } mauve-20140821/gnu/testlet/javax/swing/text/ZoneView/getViewIndexAtPosition.java0000644000175000001440000000507611015022012026463 0ustar dokousers/* getViewIndexAtPosition.java -- Checks ZoneViewgetViewIndexAtPosition() Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 // Uses: TestZoneView package gnu.testlet.javax.swing.text.ZoneView; import javax.swing.text.BadLocationException; import javax.swing.text.Element; import javax.swing.text.PlainDocument; import javax.swing.text.View; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getViewIndexAtPosition implements Testlet { public void test(TestHarness h) { PlainDocument doc = new PlainDocument(); try { doc.insertString(0, "0123456789", null); } catch (BadLocationException ex) { RuntimeException rte = new RuntimeException(); rte.initCause(ex); throw rte; } Element el = doc.getDefaultRootElement(); TestZoneView zv = new TestZoneView(el, View.X_AXIS); zv.append(zv.createZone(0, 3)); zv.append(zv.createZone(3, 7)); zv.append(zv.createZone(7, 10)); h.check(zv.getViewIndexAtPosition(-100), -1); h.check(zv.getViewIndexAtPosition(-1), -1); h.check(zv.getViewIndexAtPosition(0), 0); h.check(zv.getViewIndexAtPosition(2), 0); h.check(zv.getViewIndexAtPosition(3), 1); h.check(zv.getViewIndexAtPosition(6), 1); h.check(zv.getViewIndexAtPosition(7), 2); h.check(zv.getViewIndexAtPosition(9), 2); // This is a noteworthy detail: The offset 10 isn't actually covered // by any child view, but the endOffset of the view (11) yields the index // of the last view in the RI. I think this is a bug in Sun's impl as the // method should return -1 if the offset isn't covered by any child view. h.check(zv.getViewIndexAtPosition(10), -1); // The RI does the following: //h.check(zv.getViewIndexAtPosition(11), 2); h.check(zv.getViewIndexAtPosition(11), -1); h.check(zv.getViewIndexAtPosition(100), -1); } } mauve-20140821/gnu/testlet/javax/swing/text/ZoneView/TestZoneView.java0000644000175000001440000000447110475367425024510 0ustar dokousers/* TestZoneView.java -- A ZoneView subclass for testing Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.javax.swing.text.ZoneView; import java.util.ArrayList; import javax.swing.text.Element; import javax.swing.text.PlainDocument; import javax.swing.text.View; import javax.swing.text.ViewFactory; import javax.swing.text.ZoneView; public class TestZoneView extends ZoneView { private static final Element DEFAULT_ELEMENT; static { PlainDocument doc = new PlainDocument(); Element el = doc.getDefaultRootElement(); DEFAULT_ELEMENT = el; } ArrayList lastUnloadedZones; TestZoneView() { this(X_AXIS); } TestZoneView(int axis) { this(DEFAULT_ELEMENT, axis); } TestZoneView(Element el, int axis) { super(el, axis); lastUnloadedZones = new ArrayList(); } /** * Overridden to make method publicly accessible. */ public void zoneWasLoaded(View zone) { super.zoneWasLoaded(zone); } public void unloadZone(View zone) { super.unloadZone(zone); lastUnloadedZones.add(zone); } public boolean isZoneLoaded(View z) { return super.isZoneLoaded(z); } public View createZone(int p0, int p1) { return super.createZone(p0, p1); } public int getViewIndexAtPosition(int pos) { return super.getViewIndexAtPosition(pos); } public void loadChildren(ViewFactory vf) { super.loadChildren(vf); } public ViewFactory getViewFactory() { return new ViewFactory() { public View create(Element elem) { return new TestView(elem, View.X_AXIS); } }; } } mauve-20140821/gnu/testlet/javax/swing/text/ZoneView/getMaxZonesLoaded.java0000644000175000001440000000343210475326471025447 0ustar dokousers/* getMaxZonesLoaded.java -- Checks ZoneView.getMaxZonesLoaded() Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 package gnu.testlet.javax.swing.text.ZoneView; import gnu.testlet.TestHarness; import javax.swing.text.ZoneView; public class getMaxZonesLoaded { public void test(TestHarness h) { ZoneView zv = new TestZoneView(); // Test legal values. zv.setMaxZonesLoaded(1); h.check(zv.getMaxZonesLoaded(), 1); zv.setMaxZonesLoaded(Integer.MAX_VALUE); h.check(zv.getMaxZonesLoaded(), Integer.MAX_VALUE); // Test illegal values. try { zv.setMaxZonesLoaded(0); h.fail("Should have thrown IllegalArgumentException"); } catch (IllegalArgumentException ex) { h.check(true); } h.check(zv.getMaxZonesLoaded(), Integer.MAX_VALUE); try { zv.setMaxZonesLoaded(Integer.MIN_VALUE); h.fail("Should have thrown IllegalArgumentException"); } catch (IllegalArgumentException ex) { h.check(true); } h.check(zv.getMaxZonesLoaded(), Integer.MAX_VALUE); } } mauve-20140821/gnu/testlet/javax/swing/text/ZoneView/setMaxZonesLoaded.java0000644000175000001440000000551111015022012025432 0ustar dokousers/* setMaxZonesLoaded.java -- Tests ZoneView.setMaxZonesLoaded() Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 // Uses: TestZoneView package gnu.testlet.javax.swing.text.ZoneView; import javax.swing.text.ZoneView; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class setMaxZonesLoaded implements Testlet { public void test(TestHarness h) { testSimple(h); testUnloading(h); } private void testSimple(TestHarness h) { ZoneView zv = new TestZoneView(); // Test legal values. zv.setMaxZonesLoaded(1); h.check(zv.getMaxZonesLoaded(), 1); zv.setMaxZonesLoaded(Integer.MAX_VALUE); h.check(zv.getMaxZonesLoaded(), Integer.MAX_VALUE); // Test illegal values. try { zv.setMaxZonesLoaded(0); h.fail("Should have thrown IllegalArgumentException"); } catch (IllegalArgumentException ex) { h.check(true); } try { zv.setMaxZonesLoaded(Integer.MIN_VALUE); h.fail("Should have thrown IllegalArgumentException"); } catch (IllegalArgumentException ex) { h.check(true); } } private void testUnloading(TestHarness h) { TestZoneView zv = new TestZoneView(); // Add 4 zones, which are the number of allowed zones. zv.setMaxZonesLoaded(4); TestView v1 = new TestView(); zv.zoneWasLoaded(v1); TestView v2 = new TestView(); zv.zoneWasLoaded(v2); TestView v3 = new TestView(); zv.zoneWasLoaded(v3); TestView v4 = new TestView(); zv.zoneWasLoaded(v4); // Zero zones unloaded so far. h.check(zv.lastUnloadedZones.size(), 0); zv.setMaxZonesLoaded(2); // The first two zones are unloaded. h.check(zv.lastUnloadedZones.size(), 2); h.check(zv.lastUnloadedZones.remove(0), v1); h.check(zv.lastUnloadedZones.remove(0), v2); // No zones get unloaded when growing the allowed range. zv.setMaxZonesLoaded(4); h.check(zv.lastUnloadedZones.size(), 0); // The v3 gets unloaded when shrinking to 1. zv.setMaxZonesLoaded(1); h.check(zv.lastUnloadedZones.size(), 1); h.check(zv.lastUnloadedZones.remove(0), v3); } } mauve-20140821/gnu/testlet/javax/swing/text/ZoneView/zoneWasLoaded.java0000644000175000001440000000540711015022012024604 0ustar dokousers/* zoneWasLoaded.java -- Checks ZoneView.zoneWasLoaded() Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 // Uses: TestView TestZoneView package gnu.testlet.javax.swing.text.ZoneView; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class zoneWasLoaded implements Testlet { public void test(TestHarness h) { TestZoneView zv = new TestZoneView(); zv.setMaxZonesLoaded(3); TestView v1 = new TestView(); zv.lastUnloadedZones.clear(); // 3 Zones are allowed to be loaded. So load them and check that none // is unloaded. zv.zoneWasLoaded(v1); h.check(zv.lastUnloadedZones.size(), 0); TestView v2 = new TestView(); zv.zoneWasLoaded(v2); h.check(zv.lastUnloadedZones.size(), 0); TestView v3 = new TestView(); zv.zoneWasLoaded(v3); h.check(zv.lastUnloadedZones.size(), 0); // After loading this zone, the first one must get unloaded. TestView v4 = new TestView(); zv.zoneWasLoaded(v4); h.check(zv.lastUnloadedZones.size(), 1); h.check(zv.lastUnloadedZones.remove(0), v1); // Then the second. TestView v5 = new TestView(); zv.zoneWasLoaded(v5); h.check(zv.lastUnloadedZones.size(), 1); h.check(zv.lastUnloadedZones.remove(0), v2); // And then the third. TestView v6 = new TestView(); zv.zoneWasLoaded(v6); h.check(zv.lastUnloadedZones.size(), 1); h.check(zv.lastUnloadedZones.remove(0), v3); // Also check for null argument. try { // Push out v4, v5 and v6 and see if we get to unload(null) after this. zv.zoneWasLoaded(null); zv.zoneWasLoaded(null); zv.zoneWasLoaded(null); h.check(true); } catch (NullPointerException ex) { h.fail("No NullPointerException should be thrown"); } try { // The above statements pushed 3 nulls in there, which get pulled now // and trigger an NPE. zv.zoneWasLoaded(v1); h.fail("NullPointerException should be thrown"); } catch (NullPointerException ex) { h.check(true); } } } mauve-20140821/gnu/testlet/javax/swing/text/ZoneView/loadChildren.java0000644000175000001440000000632111015022012024431 0ustar dokousers/* loadChildren.java -- Tests ZoneView.loadChildren(). Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 // Uses: TestZoneView package gnu.testlet.javax.swing.text.ZoneView; import javax.swing.text.BadLocationException; import javax.swing.text.Element; import javax.swing.text.PlainDocument; import javax.swing.text.View; import javax.swing.text.AbstractDocument.BranchElement; import javax.swing.text.AbstractDocument.LeafElement; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class loadChildren implements Testlet { public void test(TestHarness harness) { testSimple(harness); testOversize(harness); } private void testSimple(TestHarness h) { PlainDocument doc = new PlainDocument(); try { doc.insertString(0, "0123456789", null); } catch (BadLocationException ex) { RuntimeException rte = new RuntimeException(); rte.initCause(ex); throw rte; } Element el = doc.getDefaultRootElement(); TestZoneView zv = new TestZoneView(el, View.Y_AXIS); zv.loadChildren(zv.getViewFactory()); h.check(zv.getViewCount(), 1); View child = zv.getView(0); h.check(child.getStartOffset(), 0); h.check(child.getEndOffset(), el.getEndOffset()); } private void testOversize(TestHarness h) { PlainDocument doc = new PlainDocument(); try { doc.insertString(0, "0123456789", null); } catch (BadLocationException ex) { RuntimeException rte = new RuntimeException(); rte.initCause(ex); throw rte; } BranchElement el = (BranchElement) doc.getDefaultRootElement(); // Modify the element structure a little and seen how the initial // elements are created then. LeafElement el1 = doc.new LeafElement(el, null, 0, 3); LeafElement el2 = doc.new LeafElement(el, null, 3, 7); LeafElement el3 = doc.new LeafElement(el, null, 7, 11); el.replace(0, 1, new Element[]{el1, el2, el3}); TestZoneView zv = new TestZoneView(el, View.Y_AXIS); // Set the maximum zone size somewhere inside the second element. zv.setMaximumZoneSize(5); zv.loadChildren(zv.getViewFactory()); h.check(zv.getViewCount(), 3); View child = zv.getView(0); h.check(child.getStartOffset(), 0); h.check(child.getEndOffset(), 3); child = zv.getView(1); h.check(child.getStartOffset(), 3); h.check(child.getEndOffset(), 7); child = zv.getView(2); h.check(child.getStartOffset(), 7); h.check(child.getEndOffset(), 11); } } mauve-20140821/gnu/testlet/javax/swing/text/TabSet/0000755000175000001440000000000012375316426020641 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/TabSet/equals.java0000644000175000001440000000354410461361412022771 0ustar dokousers/* equals.java -- some checks for the equals() method in the TabSet class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.text.TabSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.TabSet; import javax.swing.text.TabStop; public class equals implements Testlet { public void test(TestHarness harness) { TabSet tsA = new TabSet(null); TabSet tsB = new TabSet(null); harness.check(tsA.equals(tsB)); tsA = new TabSet(new TabStop[] {}); tsB = new TabSet(new TabStop[] {}); harness.check(tsA.equals(tsB)); tsA = new TabSet(new TabStop[] {new TabStop(1.0f)}); tsB = new TabSet(new TabStop[] {new TabStop(1.0f)}); harness.check(tsA.equals(tsB)); tsA = new TabSet(new TabStop[] {new TabStop(1.1f, TabStop.ALIGN_CENTER, TabStop.LEAD_DOTS)}); harness.check(!tsA.equals(tsB)); tsB = new TabSet(new TabStop[] {new TabStop(1.1f, TabStop.ALIGN_CENTER, TabStop.LEAD_DOTS)}); harness.check(tsA.equals(tsB)); harness.check(!tsA.equals(null)); harness.check(!tsA.equals("a string")); } } mauve-20140821/gnu/testlet/javax/swing/text/TabSet/getTab.java0000644000175000001440000000346010461361412022702 0ustar dokousers/* getTab.java -- some checks for the getTab() method in the TabSet class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.text.TabSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.TabSet; import javax.swing.text.TabStop; public class getTab implements Testlet { public void test(TestHarness harness) { TabStop ts1 = new TabStop(1.0f); TabStop ts2 = new TabStop(2.0f); TabStop ts3 = new TabStop(3.0f); TabStop[] tabs = new TabStop[] {ts1, ts2, ts3}; TabSet s = new TabSet(tabs); harness.check(s.getTabCount(), 3); harness.check(s.getTab(0), ts1); harness.check(s.getTab(1), ts2); harness.check(s.getTab(2), ts3); // try negative boolean pass = false; try { s.getTab(-1); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try too large pass = false; try { s.getTab(3); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/text/TabSet/constructor.java0000644000175000001440000000373010461361412024061 0ustar dokousers/* constructor.java -- some checks for the constructor in the TabSet class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDk1.4 package gnu.testlet.javax.swing.text.TabSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.TabSet; import javax.swing.text.TabStop; public class constructor implements Testlet { public void test(TestHarness harness) { TabStop ts1 = new TabStop(1.0f); TabStop ts2 = new TabStop(2.0f); TabStop ts3 = new TabStop(3.0f); TabStop[] tabs = new TabStop[] {ts1, ts2, ts3}; TabSet s = new TabSet(tabs); harness.check(s.getTabCount(), 3); harness.check(s.getTab(0), ts1); harness.check(s.getTab(1), ts2); harness.check(s.getTab(2), ts3); // try modifying the original tab array TabStop ts4 = new TabStop(4.0f); tabs[1] = ts4; harness.check(s.getTab(1), ts2); // what if the original array is not ordered? TabStop[] tabs2 = new TabStop[] {ts1, ts3, ts2}; TabSet s2 = new TabSet(tabs2); harness.check(s2.getTabCount(), 3); harness.check(s2.getTab(0), ts1); harness.check(s2.getTab(1), ts3); harness.check(s2.getTab(2), ts2); // try null s2 = new TabSet(null); harness.check(s2.getTabCount(), 0); } } mauve-20140821/gnu/testlet/javax/swing/text/TabSet/toString.java0000644000175000001440000000277310461361412023313 0ustar dokousers/* toString.java -- some checks for the toString() method in the TabSet class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.text.TabSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.TabSet; import javax.swing.text.TabStop; public class toString implements Testlet { public void test(TestHarness harness) { TabSet s = new TabSet(null); harness.check(s.toString(), "[ ]"); s = new TabSet(new TabStop[] {}); harness.check(s.toString(), "[ ]"); s = new TabSet(new TabStop[] {new TabStop(1.0f)}); harness.check(s.toString(), "[ tab @1.0 ]"); s = new TabSet(new TabStop[] {new TabStop(1.0f), new TabStop(2.0f)}); harness.check(s.toString(), "[ tab @1.0 - tab @2.0 ]"); } } mauve-20140821/gnu/testlet/javax/swing/text/TabSet/getTabCount.java0000644000175000001440000000264610461361412023720 0ustar dokousers/* getTabCount.java -- some checks for the getTabCount() method in the TabSet class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.text.TabSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.TabSet; import javax.swing.text.TabStop; public class getTabCount implements Testlet { public void test(TestHarness harness) { TabStop ts1 = new TabStop(1.0f); TabStop ts2 = new TabStop(2.0f); TabStop ts3 = new TabStop(3.0f); TabStop[] tabs = new TabStop[] {ts1, ts2, ts3}; TabSet s = new TabSet(tabs); harness.check(s.getTabCount(), 3); harness.check(new TabSet(null).getTabCount(), 0); } } mauve-20140821/gnu/testlet/javax/swing/text/TabSet/getTabIndexAfter.java0000644000175000001440000000340410461361412024652 0ustar dokousers/* getTabIndexAfter.java -- some checks for the getTabIndexAfter() method in the TabSet class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.text.TabSet; import javax.swing.text.TabSet; import javax.swing.text.TabStop; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getTabIndexAfter implements Testlet { public void test(TestHarness harness) { TabStop ts1 = new TabStop(1.0f); TabStop ts2 = new TabStop(2.0f); TabStop ts3 = new TabStop(3.0f); TabStop[] tabs = new TabStop[] {ts1, ts2, ts3}; TabSet s = new TabSet(tabs); harness.check(s.getTabIndexAfter(-1.0f), 0); harness.check(s.getTabIndexAfter(0.0f), 0); harness.check(s.getTabIndexAfter(0.5f), 0); harness.check(s.getTabIndexAfter(1.0f), 0); harness.check(s.getTabIndexAfter(1.5f), 1); harness.check(s.getTabIndexAfter(2.0f), 1); harness.check(s.getTabIndexAfter(2.5f), 2); harness.check(s.getTabIndexAfter(3.0f), 2); harness.check(s.getTabIndexAfter(3.5f), -1); } } mauve-20140821/gnu/testlet/javax/swing/text/TabSet/getTabIndex.java0000644000175000001440000000306010461361412023666 0ustar dokousers/* getTabIndex.java -- some checks for the getTabIndex() method in the TabSet class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.text.TabSet; import javax.swing.text.TabSet; import javax.swing.text.TabStop; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getTabIndex implements Testlet { public void test(TestHarness harness) { TabStop ts1 = new TabStop(1.0f); TabStop ts2 = new TabStop(2.0f); TabStop ts3 = new TabStop(3.0f); TabStop[] tabs = new TabStop[] {ts1, ts2, ts3}; TabSet s = new TabSet(tabs); harness.check(s.getTabIndex(ts1), 0); harness.check(s.getTabIndex(ts2), 1); harness.check(s.getTabIndex(ts3), 2); harness.check(s.getTabIndex(new TabStop(2.0f)), -1); harness.check(s.getTabIndex(null), -1); } } mauve-20140821/gnu/testlet/javax/swing/text/StyleContext/0000755000175000001440000000000012375316426022124 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/StyleContext/addAttribute.java0000644000175000001440000000262710230551375025402 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.text.StyleContext; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.text.StyleContext; import javax.swing.text.SimpleAttributeSet; public class addAttribute implements Testlet { public void test(TestHarness h) { h.checkPoint("StyleContext"); StyleContext sc = new StyleContext(); SimpleAttributeSet as = new SimpleAttributeSet(); try { sc.addAttribute(as, "key", null); h.fail("StyleContext.addAttribute must not accept null value"); } catch (NullPointerException ex) { h.check(true); } } } mauve-20140821/gnu/testlet/javax/swing/text/StyleContext/addStyle.java0000644000175000001440000000252610230551375024535 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.text.StyleContext; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.text.StyleContext; import javax.swing.text.SimpleAttributeSet; public class addStyle implements Testlet { public void test(TestHarness h) { h.checkPoint("StyleContext.addStyle"); StyleContext sc = new StyleContext(); try { sc.addStyle("key", null); h.check(true); } catch (NullPointerException ex) { h.fail("StyleContext.addStyle must accept null value"); } } } mauve-20140821/gnu/testlet/javax/swing/text/StyleContext/NamedStyleInit.java0000644000175000001440000000263310230551375025654 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.text.StyleContext; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.text.StyleContext; import javax.swing.text.SimpleAttributeSet; public class NamedStyleInit implements Testlet { public void test(TestHarness h) { h.checkPoint("StyleContext.NamedStyle"); StyleContext sc = new StyleContext(); try { StyleContext.NamedStyle ns = sc.new NamedStyle("key", null); h.check(true); } catch (NullPointerException ex) { h.fail("StyledContext.NamedValue(String, AttributeSet) must accept null values"); } } } mauve-20140821/gnu/testlet/javax/swing/text/StyleContext/NamedStyleSetResolveParent.java0000644000175000001440000000270710230551375030220 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.text.StyleContext; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.text.StyleContext; import javax.swing.text.SimpleAttributeSet; public class NamedStyleSetResolveParent implements Testlet { public void test(TestHarness h) { h.checkPoint("StyleContext.NamedStyle"); StyleContext sc = new StyleContext(); try { StyleContext.NamedStyle ns = sc.new NamedStyle("key", null); ns.setResolveParent(null); h.check(true); } catch (NullPointerException ex) { h.fail("StyledContext.NamedValue.setResolveParent() must accept null values"); } } } mauve-20140821/gnu/testlet/javax/swing/text/DefaultStyledDocument/0000755000175000001440000000000012375316426023727 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/0000755000175000001440000000000012375316426026452 5ustar dokousers././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure5.javamauve-20140821/gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure5.ja0000644000175000001440000001623710371665106032372 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2006 Red Hat. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.text.DefaultStyledDocument.ElementBuffer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.AttributeSet; import javax.swing.text.DefaultStyledDocument; import javax.swing.text.Element; public class ElementStructure5 extends DefaultStyledDocument implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { try { h2 = harness; ElementStructure5 doc = new ElementStructure5(); Element root = doc.getDefaultRootElement(); // Add a first line of text. doc.insertString(0, "first line of text. \n", null); harness.check(root.getElementCount() == 2); harness.check(root.getElement(0).getStartOffset() == 0); harness.check(root.getElement(0).getEndOffset() == 21); harness.check(root.getElement(1).getStartOffset() == 21); harness.check(root.getElement(1).getEndOffset() == 22); // Add another line of text. doc.insertString(21, "second line of text. \n", null); harness.check(root.getElementCount() == 3); harness.check(root.getElement(0).getElementCount() == 1); harness.check(root.getElement(1).getElementCount() == 1); harness.check(root.getElement(2).getElementCount() == 1); Element first = root.getElement(0).getElement(0); harness.check(first.getStartOffset() == 0); harness.check(first.getEndOffset() == 21); Element second = root.getElement(1).getElement(0); harness.check(second.getStartOffset() == 21); harness.check(second.getEndOffset() == 43); Element third = root.getElement(2).getElement(0); harness.check(third.getStartOffset() == 43); harness.check(third.getEndOffset() == 44); // printElements(doc.getDefaultRootElement(), 0); } catch (Exception t) { // t.printStackTrace(); harness.debug(t); } catch (AssertionError e) { // e.printStackTrace(); harness.debug(e); } } static TestHarness h2; static int numInserts = 0; static int numLeaves = 0; static int numBranches = 0; // We override the constructor so we can explicitly set the type of the // buffer to be our ElementBuffer2, allowing us to test some internals. public ElementStructure5() { super(); buffer = new ElementBuffer2(createDefaultRoot()); } // Overriding this method allows us to check that the right number // of newLines was encountered and that the event has the proper // offset and length. protected void insertUpdate(DefaultDocumentEvent ev, AttributeSet attr) { int l = ev.getLength(); int o = ev.getOffset(); if (numInserts == 0) { h2.checkPoint("first doc event"); h2.check(o == 0); h2.check(l == 21); } else if (numInserts == 1) { h2.checkPoint("second doc event"); h2.check(o == 21); h2.check(l == 22); } else h2.fail ("too many calls to DefaultStyledDocument.insertUpdate"); super.insertUpdate(ev, attr); } // A class to be the buffer of the styled document. // This allows us to check that some values are correct internally within // the ElementBuffer. public class ElementBuffer2 extends ElementBuffer { public ElementBuffer2(Element root) { super(root); } // This method allows us to check that the ElementSpecs generated by // DefaultStyledDocument.insertUpdate are correct. protected void insertUpdate(ElementSpec[] data) { numInserts++; if (numInserts == 1) { h2.checkPoint("ElementBuffer insertUpdate: first insertion"); h2.check (data.length == 3); h2.check(data[0].getType() == ElementSpec.ContentType); h2.check (data[0].getDirection() == ElementSpec.JoinPreviousDirection); h2.check(data[0].getOffset() == 0); h2.check(data[0].getLength() == 21); h2.check(data[1].getType() == ElementSpec.EndTagType); h2.check(data[1].getDirection() == ElementSpec.OriginateDirection); h2.check(data[1].getOffset() == 0); h2.check(data[1].getLength() == 0); h2.check(data[2].getType() == ElementSpec.StartTagType); h2.check (data[2].getDirection() == ElementSpec.JoinFractureDirection); h2.check(data[2].getOffset() == 0); h2.check(data[2].getLength() == 0); } else if (numInserts == 2) { h2.checkPoint("ElementBuffer insertUpdate: second insertion"); h2.check (data.length == 5); h2.check(data[0].getType() == ElementSpec.EndTagType); h2.check(data[0].getDirection() == ElementSpec.OriginateDirection); h2.check(data[0].getOffset() == 0); h2.check(data[0].getLength() == 0); h2.check(data[1].getType() == ElementSpec.StartTagType); h2.check(data[1].getDirection() == ElementSpec.OriginateDirection); h2.check(data[1].getOffset() == 0); h2.check(data[1].getLength() == 0); h2.check(data[2].getType() == ElementSpec.ContentType); h2.check(data[2].getDirection() == ElementSpec.OriginateDirection); h2.check(data[2].getOffset() == 0); h2.check(data[2].getLength() == 22); h2.check(data[3].getType() == ElementSpec.EndTagType); h2.check(data[3].getDirection() == ElementSpec.OriginateDirection); h2.check(data[3].getOffset() == 0); h2.check(data[3].getLength() == 0); h2.check(data[4].getType() == ElementSpec.StartTagType); h2.check(data[4].getDirection() == ElementSpec.JoinNextDirection); h2.check(data[4].getOffset() == 0); h2.check(data[4].getLength() == 0); } else if (numInserts == 3) { h2.checkPoint("ElementBuffer insertUpdate: third insertion"); h2.check (data.length == 1); h2.check(data[0].getType() == ElementSpec.ContentType); h2.check (data[0].getDirection() == ElementSpec.JoinPreviousDirection); h2.check(data[0].getOffset() == 0); h2.check(data[0].getLength() == 1); } else h2.fail("too many ElementSpecs created"); super.insertUpdate(data); } } } mauve-20140821/gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/StyledDocument3.java0000644000175000001440000002643710365220436032347 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Red Hat. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.text.DefaultStyledDocument.ElementBuffer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.AbstractDocument; import javax.swing.text.AttributeSet; import javax.swing.text.BadLocationException; import javax.swing.text.DefaultStyledDocument; import javax.swing.text.Element; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; import javax.swing.text.StyledDocument; public class StyledDocument3 extends DefaultStyledDocument implements Testlet { public void test(TestHarness harness) { h2 = harness; StyledDocument doc = new StyledDocument3(); SimpleAttributeSet atts = new SimpleAttributeSet(); try { atts.addAttribute(StyleConstants.StrikeThrough, Boolean.TRUE); doc.insertString(0, "bbbbb", atts); doc.insertString(5, "aaaaa", null); doc.insertString(5, "N", atts); atts.addAttribute(StyleConstants.Bold, Boolean.TRUE); doc.insertString(6, "M", atts); } catch (Exception ex) { // ex.printStackTrace(); harness.debug(ex); } catch (AssertionError e) { // e.printStackTrace(); harness.debug(e); } // printElements(doc.getDefaultRootElement(), 0); } // A variable to keep track of the number of times text has been inserted static int numInserts = 0; static TestHarness h2; static int numLeaves = 0; static int numBranches = 0; // Creates a new StyledDocument3 using an ElementBuffer2 as the buffer public StyledDocument3() { super(); buffer = new ElementBuffer2(createDefaultRoot()); } // Overriding this method allows us to check that the right number // of newLines was encountered and that the event has the proper // offset and length. protected void insertUpdate(DefaultDocumentEvent ev, AttributeSet attr) { int l = ev.getLength(); int o = ev.getOffset(); if (numInserts == 0) { h2.checkPoint("first doc event"); h2.check(o == 0); h2.check(l == 5); } else if (numInserts == 1) { h2.checkPoint("second doc event"); h2.check(o == 5); h2.check(l == 5); } else if (numInserts == 2) { h2.checkPoint("third doc event"); h2.check(o == 5); h2.check(l == 1); } else if (numInserts == 3) { h2.checkPoint("fourth doc event"); h2.check(o == 6); h2.check(l == 1); } else h2.fail("too many calls to DefaultStyledDocument.insertUpdate"); super.insertUpdate(ev, attr); } // Overriding this method allows us to check that the proper LeafElements // are being created. protected Element createLeafElement(Element parent, AttributeSet a, int p0, int p1) { numLeaves++; if (numLeaves== 1) { h2.checkPoint ("create first leaf element"); h2.check (p0 == 0); h2.check (p1 == 5); try { h2.check (parent.getStartOffset() == 0); h2.check (parent.getEndOffset() == 6); } catch (Exception e) { // I put 2 fails here so that the total number of tests will remain // the same whether we pass or fail these tests. h2.fail ("parent Element should have children, but has none."); h2.fail ("parent Element should have children, but has none."); } h2.check (a.getAttributeCount() == 1); h2.check (a.getAttribute(StyleConstants.StrikeThrough) == Boolean.TRUE); } else if (numLeaves == 2) { h2.checkPoint ("create second leaf element"); h2.check (p0 == 5); h2.check (p1 == 6); try { h2.check (parent.getStartOffset() == 0); h2.check (parent.getEndOffset() == 6); } catch (Exception e) { // I put 2 fails here so that the total number of tests will remain // the same whether we pass or fail these tests. h2.fail ("parent Element should have children, but has none."); h2.fail ("parent Element should have children, but has none."); } h2.check (a.getAttributeCount() == 0); } else if (numLeaves == 3) { h2.checkPoint ("create third leaf element"); h2.check (p0 == 0); h2.check (p1 == 5); try { h2.check (parent.getStartOffset() == 0); h2.check (parent.getEndOffset() == 11); } catch (Exception e) { // I put 2 fails here so that the total number of tests will remain // the same whether we pass or fail these tests. h2.fail ("branch element should have children, but has none"); h2.fail ("branch element should have children, but has none"); } h2.check (a.getAttributeCount() == 1); h2.check (a.getAttribute(StyleConstants.StrikeThrough) == Boolean.TRUE); } else if (numLeaves == 4) { h2.checkPoint ("create fourth leaf element"); h2.check (p0 == 5); h2.check (p1 == 10); try { h2.check (parent.getStartOffset() == 0); h2.check (parent.getEndOffset() == 11); } catch (Exception e) { // I put 2 fails here so that the total number of tests will remain // the same whether we pass or fail these tests. h2.fail ("branch element should have children, but has none"); h2.fail ("branch element should have children, but has none"); } h2.check (a.getAttributeCount() == 0); } else if (numLeaves == 5) { h2.checkPoint ("create fifth leaf element"); h2.check (p0 == 0); h2.check (p1 == 6); try { h2.check (parent.getStartOffset() == 0); h2.check (parent.getEndOffset() == 13); } catch (Exception e) { // I put 2 fails here so that the total number of tests will remain // the same whether we pass or fail these tests. h2.fail ("branch element should have children, but has none"); h2.fail ("branch element should have children, but has none"); } h2.check (a.getAttributeCount() == 1); h2.check (a.getAttribute(StyleConstants.StrikeThrough) == Boolean.TRUE); } else if (numLeaves == 6) { h2.checkPoint ("create sixth leaf element"); h2.check (p0 == 6); h2.check (p1 == 7); try { h2.check (parent.getStartOffset() == 0); h2.check (parent.getEndOffset() == 13); } catch (Exception e) { // I put 2 fails here so that the total number of tests will remain // the same whether we pass or fail these tests. h2.fail ("branch element should have children, but has none"); h2.fail ("branch element should have children, but has none"); } h2.check (a.getAttributeCount() == 2); h2.check (a.getAttribute(StyleConstants.StrikeThrough) == Boolean.TRUE); h2.check (a.getAttribute(StyleConstants.Bold) == Boolean.TRUE); } else h2.fail ("too many leaf elements created"); return super.createLeafElement(parent, a, p0, p1); } // Overriding this method allows us to check that the proper BranchElements // are being created. protected Element createBranchElement(Element parent, AttributeSet a) { numBranches ++; h2.fail ("too many branch elements created"); return super.createBranchElement(parent, a); } // Prints some spaces. public static void pad(int pad) { for (int i = 0; i < pad; i++) System.out.print(" "); } // Displays the Element hierarchy starting with start. // This is just debugging code. public static void printElements (Element start, int pad) { pad(pad); if (pad == 0) System.out.println ("ROOT ELEMENT ("+start.getStartOffset()+", " + start.getEndOffset()+")"); else if (start instanceof AbstractDocument.BranchElement) System.out.println ("BranchElement ("+start.getStartOffset()+", " + start.getEndOffset()+")"); else { try { System.out.println ("LeafElement ("+start.getStartOffset()+", " + start.getEndOffset()+"): " + start.getAttributes().getAttributeCount() + ": " + start.getDocument(). getText(start.getStartOffset(), start.getEndOffset() - start.getStartOffset())); } catch (BadLocationException ble) { } } for (int i = 0; i < start.getElementCount(); i ++) printElements (start.getElement(i), pad+3); } // A class to be the buffer of the styled document that also prints out some // debugging info and checks that internal structure is correct public class ElementBuffer2 extends ElementBuffer { public ElementBuffer2(Element root) { super(root); } protected void insertUpdate(ElementSpec[] data) { numInserts ++; if (numInserts == 1) { h2.check (data[0].getType() == ElementSpec.ContentType); h2.check (data[0].getDirection() == ElementSpec.OriginateDirection); h2.check (data[0].getOffset() == 0); h2.check (data[0].getLength() == 5); } else if (numInserts == 2) { h2.check (data[0].getType() == ElementSpec.ContentType); h2.check (data[0].getDirection() == ElementSpec.OriginateDirection); h2.check (data[0].getOffset() == 0); h2.check (data[0].getLength() == 5); } else if (numInserts == 3) { h2.check (data[0].getType() == ElementSpec.ContentType); h2.check (data[0].getDirection() == ElementSpec.JoinPreviousDirection); h2.check (data[0].getOffset() == 0); h2.check (data[0].getLength() == 1); } else if (numInserts == 4) { h2.check (data[0].getType() == ElementSpec.ContentType); h2.check (data[0].getDirection() == ElementSpec.OriginateDirection); h2.check (data[0].getOffset() == 0); h2.check (data[0].getLength() == 1); } super.insertUpdate(data); } } } mauve-20140821/gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/StyledDocument5.java0000644000175000001440000001424110371665106032343 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Red Hat. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.text.DefaultStyledDocument.ElementBuffer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.AbstractDocument; import javax.swing.text.AttributeSet; import javax.swing.text.BadLocationException; import javax.swing.text.DefaultStyledDocument; import javax.swing.text.Element; import javax.swing.text.StyledDocument; public class StyledDocument5 extends DefaultStyledDocument implements Testlet { public void test(TestHarness harness) { h2 = harness; StyledDocument doc = new StyledDocument5(); try { doc.insertString(0, "aaaaaaaaa\nbbbbbbbbb", null); doc.insertString(10, "N", null); doc.insertString(5, "\nhellooooo", null); } catch (Exception ex) { //ex.printStackTrace(); harness.debug(ex); } catch (AssertionError e) { // e.printStackTrace(); harness.debug(e); } // printElements(doc.getDefaultRootElement(), 0); } // A variable to keep track of the number of times text has been inserted static int numInserts = 0; static TestHarness h2; static int numLeaves = 0; static int numBranches = 0; // Creates a new StyledDocument5 using an ElementBuffer2 as the buffer public StyledDocument5() { super(); buffer = new ElementBuffer2(createDefaultRoot()); } // Overriding this method allows us to check that the right number // of newLines was encountered and that the event has the proper // offset and length. protected void insertUpdate(DefaultDocumentEvent ev, AttributeSet attr) { int l = ev.getLength(); int o = ev.getOffset(); if (numInserts == 0) { h2.checkPoint("first doc event"); h2.check(o == 0); h2.check(l == 19); } else if (numInserts == 1) { h2.checkPoint("second doc event"); h2.check(o == 10); h2.check(l == 1); } else if (numInserts == 2) { h2.checkPoint("third doc event"); h2.check(o == 5); h2.check(l == 10); } else h2.fail("too many calls to DefaultStyledDocument.insertUpdate"); super.insertUpdate(ev, attr); } // A class to be the buffer of the styled document that also prints out some // debugging info and checks that internal structure is correct public class ElementBuffer2 extends ElementBuffer { public ElementBuffer2(Element root) { super(root); } protected void insertUpdate(ElementSpec[] data) { numInserts ++; if (numInserts == 1) { h2.check (data[0].getType() == ElementSpec.ContentType); h2.check (data[0].getDirection() == ElementSpec.JoinPreviousDirection); h2.check (data[0].getOffset() == 0); h2.check (data[0].getLength() == 10); h2.check (data[1].getType() == ElementSpec.EndTagType); h2.check (data[1].getDirection() == ElementSpec.OriginateDirection); h2.check (data[1].getOffset() == 0); h2.check (data[1].getLength() == 0); h2.check (data[2].getType() == ElementSpec.StartTagType); h2.check (data[2].getDirection() == ElementSpec.JoinFractureDirection); h2.check (data[2].getOffset() == 0); h2.check (data[2].getLength() == 0); h2.check (data[3].getType() == ElementSpec.ContentType); h2.check (data[3].getDirection() == ElementSpec.JoinNextDirection); h2.check (data[3].getOffset() == 0); h2.check (data[3].getLength() == 9); } else if (numInserts == 2) { h2.check (data[0].getType() == ElementSpec.EndTagType); h2.check (data[0].getDirection() == ElementSpec.OriginateDirection); h2.check (data[0].getOffset() == 0); h2.check (data[0].getLength() == 0); h2.check (data[1].getType() == ElementSpec.StartTagType); h2.check (data[1].getDirection() == ElementSpec.JoinNextDirection); h2.check (data[1].getOffset() == 0); h2.check (data[1].getLength() == 0); h2.check (data[2].getType() == ElementSpec.ContentType); h2.check (data[2].getDirection() == ElementSpec.JoinNextDirection); h2.check (data[2].getOffset() == 0); h2.check (data[2].getLength() == 1); } else if (numInserts == 3) { h2.check (data[0].getType() == ElementSpec.ContentType); h2.check (data[0].getDirection() == ElementSpec.JoinPreviousDirection); h2.check (data[0].getOffset() == 0); h2.check (data[0].getLength() == 1); h2.check (data[1].getType() == ElementSpec.EndTagType); h2.check (data[1].getDirection() == ElementSpec.OriginateDirection); h2.check (data[1].getOffset() == 0); h2.check (data[1].getLength() == 0); h2.check (data[2].getType() == ElementSpec.StartTagType); h2.check (data[2].getDirection() == ElementSpec.JoinFractureDirection); h2.check (data[2].getOffset() == 0); h2.check (data[2].getLength() == 0); h2.check (data[3].getType() == ElementSpec.ContentType); h2.check (data[3].getDirection() == ElementSpec.JoinNextDirection); h2.check (data[3].getOffset() == 0); h2.check (data[3].getLength() == 9); } super.insertUpdate(data); } } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure1.javamauve-20140821/gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure1.ja0000644000175000001440000000666410371665106032371 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2006 Red Hat. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.text.DefaultStyledDocument.ElementBuffer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.AbstractDocument; import javax.swing.text.AttributeSet; import javax.swing.text.BadLocationException; import javax.swing.text.DefaultStyledDocument; import javax.swing.text.Element; public class ElementStructure1 extends DefaultStyledDocument implements Testlet { /** * Starts the test run. * * @param harness * the test harness to use */ public void test(TestHarness harness) { ElementStructure1 doc = new ElementStructure1(); Element root = doc.getDefaultRootElement(); try { // In this test no new LeafElements or BranchElements should be // created. We're able to add everything to the original Element // that was created when the document was constructed. harness.checkPoint ("initial setup"); harness.check (root.getElementCount() == 1); harness.check (root.getElement(0).getElementCount() == 1); harness.check (root.getElement(0).getElement(0).getElementCount() == 0); doc.insertString(0, "the quick brown fox", null); harness.checkPoint("after first insertion"); harness.check (root.getElementCount() == 1); harness.check (root.getElement(0).getElementCount() == 1); harness.check (root.getElement(0).getElement(0).getElementCount() == 0); harness.check (root.getEndOffset() == 20); doc.insertString(6, "MIDDLE", null); harness.checkPoint("after second insertion"); harness.check (root.getElementCount() == 1); harness.check (root.getElement(0).getElementCount() == 1); harness.check (root.getElement(0).getElement(0).getElementCount() == 0); harness.check (root.getEndOffset() == 26); doc.insertString(0, "START", null); harness.checkPoint("after third insertion"); harness.check (root.getElementCount() == 1); harness.check (root.getElement(0).getElementCount() == 1); harness.check (root.getElement(0).getElement(0).getElementCount() == 0); harness.check (root.getEndOffset() == 31); doc.insertString(30, "END", null); harness.checkPoint("after fourth insertion"); harness.check(root.getEndOffset() == 34); // printElements(doc.getDefaultRootElement(), 0); } catch (BadLocationException ex) { // ex.printStackTrace(); harness.debug(ex); } catch (AssertionError ex) { // ex.printStackTrace(); harness.debug(ex); } } } mauve-20140821/gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/StyledDocument6.java0000644000175000001440000001343210371665106032345 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Red Hat. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.text.DefaultStyledDocument.ElementBuffer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.AbstractDocument; import javax.swing.text.AttributeSet; import javax.swing.text.BadLocationException; import javax.swing.text.DefaultStyledDocument; import javax.swing.text.Element; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; import javax.swing.text.StyledDocument; public class StyledDocument6 extends DefaultStyledDocument implements Testlet { public void test(TestHarness harness) { h2 = harness; StyledDocument doc = new StyledDocument6(); SimpleAttributeSet atts = new SimpleAttributeSet(); try { doc.insertString(0, "aaa", null); atts.addAttribute(StyleConstants.Underline, Boolean.TRUE); doc.insertString(3, "bbb", atts); atts.removeAttributes(atts); atts.addAttribute(StyleConstants.StrikeThrough, Boolean.TRUE); doc.insertString(6, "ccc", atts); atts.removeAttributes(atts); atts.addAttribute(StyleConstants.Underline, Boolean.TRUE); doc.insertString(5, "\nB", atts); } catch (Exception ex) { // ex.printStackTrace(); harness.debug(ex); } catch (AssertionError e) { // e.printStackTrace(); harness.debug(e); } // printElements(doc.getDefaultRootElement(), 0); } // A variable to keep track of the number of times text has been inserted static int numInserts = 0; static TestHarness h2; static int numLeaves = 0; static int numBranches = 0; // Creates a new StyledDocument6 using an ElementBuffer2 as the buffer public StyledDocument6() { super(); buffer = new ElementBuffer2(createDefaultRoot()); } // Overriding this method allows us to check that the right number // of newLines was encountered and that the event has the proper // offset and length. protected void insertUpdate(DefaultDocumentEvent ev, AttributeSet attr) { int l = ev.getLength(); int o = ev.getOffset(); if (numInserts == 0) { h2.checkPoint("first doc event"); h2.check(o == 0); h2.check(l == 3); } else if (numInserts == 1) { h2.checkPoint("second doc event"); h2.check(o == 3); h2.check(l == 3); } else if (numInserts == 2) { h2.checkPoint("third doc event"); h2.check(o == 6); h2.check(l == 3); } else if (numInserts == 3) { h2.checkPoint("fourth doc event"); h2.check(o == 5); h2.check(l == 2); } else h2.fail("too many calls to DefaultStyledDocument.insertUpdate"); super.insertUpdate(ev, attr); } // A class to be the buffer of the styled document that also prints out some // debugging info and checks that internal structure is correct public class ElementBuffer2 extends ElementBuffer { public ElementBuffer2(Element root) { super(root); } protected void insertUpdate(ElementSpec[] data) { numInserts ++; if (numInserts == 1) { h2.check (data[0].getType() == ElementSpec.ContentType); h2.check (data[0].getDirection() == ElementSpec.JoinPreviousDirection); h2.check (data[0].getOffset() == 0); h2.check (data[0].getLength() == 3); } else if (numInserts == 2) { h2.check (data[0].getType() == ElementSpec.ContentType); h2.check (data[0].getDirection() == ElementSpec.OriginateDirection); h2.check (data[0].getOffset() == 0); h2.check (data[0].getLength() == 3); } else if (numInserts == 3) { h2.check (data[0].getType() == ElementSpec.ContentType); h2.check (data[0].getDirection() == ElementSpec.OriginateDirection); h2.check (data[0].getOffset() == 0); h2.check (data[0].getLength() == 3); } else if (numInserts == 4) { h2.check (data[0].getType() == ElementSpec.ContentType); h2.check (data[0].getDirection() == ElementSpec.JoinPreviousDirection); h2.check (data[0].getOffset() == 0); h2.check (data[0].getLength() == 1); h2.check (data[1].getType() == ElementSpec.EndTagType); h2.check (data[1].getDirection() == ElementSpec.OriginateDirection); h2.check (data[1].getOffset() == 0); h2.check (data[1].getLength() == 0); h2.check (data[2].getType() == ElementSpec.StartTagType); h2.check (data[2].getDirection() == ElementSpec.JoinFractureDirection); h2.check (data[2].getOffset() == 0); h2.check (data[2].getLength() == 0); h2.check (data[3].getType() == ElementSpec.ContentType); h2.check (data[3].getDirection() == ElementSpec.JoinNextDirection); h2.check (data[3].getOffset() == 0); h2.check (data[3].getLength() == 1); } super.insertUpdate(data); } } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure4.javamauve-20140821/gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure4.ja0000644000175000001440000001513710462367372032374 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2006 Red Hat. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.text.DefaultStyledDocument.ElementBuffer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.AttributeSet; import javax.swing.text.DefaultStyledDocument; import javax.swing.text.Element; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; public class ElementStructure4 extends DefaultStyledDocument implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { try { h2 = harness; ElementStructure4 doc = new ElementStructure4(); SimpleAttributeSet atts = new SimpleAttributeSet(); Element root = doc.getDefaultRootElement(); // Add strike trough text. atts.addAttribute(StyleConstants.StrikeThrough, Boolean.TRUE); doc.insertString(0, "Strike through text.\n", atts); atts.removeAttributes(atts); harness.checkPoint("after first insertion"); harness.check(root.getElementCount(), 2); harness.check(root.getElement(0).getStartOffset(), 0); harness.check(root.getElement(0).getEndOffset(), 21); harness.check(root.getElement(1).getStartOffset(), 21); harness.check(root.getElement(1).getEndOffset(), 22); // Add plain text in front. doc.insertString(0, "a", null); harness.checkPoint("after second insertion"); harness.check(root.getElement(0).getElementCount() == 2); harness.check(root.getElement(1).getElementCount() == 1); doc.insertString(1, "b", null); harness.checkPoint("after second insertion"); harness.check(root.getElement(0).getElementCount() == 2); harness.check(root.getElement(1).getElementCount() == 1); harness.checkPoint("final structure"); Element first = root.getElement(0).getElement(0); harness.check(first.getStartOffset() == 0); harness.check(first.getEndOffset() == 2); Element second = root.getElement(0).getElement(1); harness.check(second.getStartOffset() == 2); harness.check(second.getEndOffset() == 23); // printElements(doc.getDefaultRootElement(), 0); } catch (Exception t) { // t.printStackTrace(); harness.debug(t); } catch (AssertionError e) { // e.printStackTrace(); harness.debug(e); } } static TestHarness h2; static int numInserts = 0; static int numLeaves = 0; static int numBranches = 0; // We override the constructor so we can explicitly set the type of the // buffer to be our ElementBuffer2, allowing us to test some internals. public ElementStructure4() { super(); buffer = new ElementBuffer2(createDefaultRoot()); } // Overriding this method allows us to check that the right number // of newLines was encountered and that the event has the proper // offset and length. protected void insertUpdate(DefaultDocumentEvent ev, AttributeSet attr) { int l = ev.getLength(); int o = ev.getOffset(); if (numInserts == 0) { h2.checkPoint("first doc event"); h2.check(o == 0); h2.check(l == 21); } else if (numInserts == 1) { h2.checkPoint("second doc event"); h2.check(o == 0); h2.check(l == 1); } else if (numInserts == 2) { h2.checkPoint("third doc event"); h2.check(o == 1); h2.check(l == 1); } else h2.fail ("too many calls to DefaultStyledDocument.insertUpdate"); super.insertUpdate(ev, attr); } // A class to be the buffer of the styled document. // This allows us to check that some values are correct internally within // the ElementBuffer. public class ElementBuffer2 extends ElementBuffer { public ElementBuffer2(Element root) { super(root); } // This method allows us to check that the ElementSpecs generated by // DefaultStyledDocument.insertUpdate are correct. protected void insertUpdate(ElementSpec[] data) { numInserts++; if (numInserts == 1) { h2.checkPoint("ElementBuffer insertUpdate: first insertion"); h2.check (data.length == 3); h2.check(data[0].getType() == ElementSpec.ContentType); h2.check(data[0].getDirection() == ElementSpec.OriginateDirection); h2.check(data[0].getOffset() == 0); h2.check(data[0].getLength() == 21); h2.check(data[1].getType() == ElementSpec.EndTagType); h2.check(data[1].getDirection() == ElementSpec.OriginateDirection); h2.check(data[1].getOffset() == 0); h2.check(data[1].getLength() == 0); h2.check(data[2].getType() == ElementSpec.StartTagType); h2.check (data[2].getDirection() == ElementSpec.JoinFractureDirection); h2.check(data[2].getOffset() == 0); h2.check(data[2].getLength() == 0); } else if (numInserts == 2) { h2.checkPoint("ElementBuffer insertUpdate: second insertion"); h2.check (data.length == 1); h2.check(data[0].getType() == ElementSpec.ContentType); h2.check(data[0].getDirection() == ElementSpec.OriginateDirection); h2.check(data[0].getOffset() == 0); h2.check(data[0].getLength() == 1); } else if (numInserts == 3) { h2.checkPoint("ElementBuffer insertUpdate: third insertion"); h2.check (data.length == 1); h2.check(data[0].getType() == ElementSpec.ContentType); h2.check (data[0].getDirection() == ElementSpec.JoinPreviousDirection); h2.check(data[0].getOffset() == 0); h2.check(data[0].getLength() == 1); } else h2.fail("too many ElementSpecs created"); super.insertUpdate(data); } } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure8.javamauve-20140821/gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure8.ja0000644000175000001440000006667310462367372032413 0ustar dokousers/* ElementStructure8.java -- Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.text.DefaultStyledDocument.ElementBuffer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.AbstractDocument; import javax.swing.text.AttributeSet; import javax.swing.text.BadLocationException; import javax.swing.text.DefaultStyledDocument; import javax.swing.text.Element; public class ElementStructure8 extends DefaultStyledDocument implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { h2 = harness; try { /* TEST 0 *//////////////////////////////////////////////////////////// harness.checkPoint("Test 0"); ElementStructure8 doc = new ElementStructure8(); Element root = doc.getDefaultRootElement(); doc.insertString(0, "first line of text. \n", null); harness.check(root.getElementCount() == 2); harness.check(root.getElement(0).getStartOffset() == 0); harness.check(root.getElement(0).getEndOffset() == 21); harness.check(root.getElement(1).getStartOffset() == 21); harness.check(root.getElement(1).getEndOffset() == 22); doc.insertString (21, "second line of text. \n third line of text. \n", null); harness.check(root.getElementCount() == 4); harness.check(root.getElement(0).getElementCount() == 1); harness.check(root.getElement(1).getElementCount() == 1); harness.check(root.getElement(2).getElementCount() == 1); Element first = root.getElement(0).getElement(0); harness.check(first.getStartOffset() == 0); harness.check(first.getEndOffset() == 21); Element second = root.getElement(1).getElement(0); harness.check(second.getStartOffset() == 21); harness.check(second.getEndOffset() == 43); Element third = root.getElement(2).getElement(0); harness.check(third.getStartOffset() == 43); harness.check(third.getEndOffset() == 65); Element fourth = root.getElement(3).getElement(0); harness.check(fourth.getStartOffset() == 65); harness.check(fourth.getEndOffset() == 66); //printElements(doc.getDefaultRootElement(), 0); /* TEST 1 *//////////////////////////////////////////////////////////// harness.checkPoint("Test 1"); doc = new ElementStructure8(); root = doc.getDefaultRootElement(); doc.insertString(0, "first line of text. \n", null); harness.check(root.getElementCount() == 2); harness.check(root.getElement(0).getStartOffset() == 0); harness.check(root.getElement(0).getEndOffset() == 21); harness.check(root.getElement(1).getStartOffset() == 21); harness.check(root.getElement(1).getEndOffset() == 22); doc.insertString(21, "second line of text. \n ", null); harness.check(root.getElementCount() == 3); harness.check(root.getElement(0).getElementCount() == 1); harness.check(root.getElement(1).getElementCount() == 1); harness.check(root.getElement(2).getElementCount() == 2); first = root.getElement(0).getElement(0); harness.check(first.getStartOffset() == 0); harness.check(first.getEndOffset() == 21); second = root.getElement(1).getElement(0); harness.check(second.getStartOffset() == 21); harness.check(second.getEndOffset() == 43); third = root.getElement(2).getElement(0); harness.check(third.getStartOffset() == 43); harness.check(third.getEndOffset() == 44); fourth = root.getElement(2).getElement(1); harness.check(fourth.getStartOffset() == 44); harness.check(fourth.getEndOffset() == 45); //printElements(doc.getDefaultRootElement(), 0); /* TEST 2 *//////////////////////////////////////////////////////////// harness.checkPoint("Test 2"); doc = new ElementStructure8(); root = doc.getDefaultRootElement(); doc.insertString(0, "first line of text.", null); harness.check(root.getElementCount() == 1); harness.check(root.getElement(0).getStartOffset() == 0); harness.check(root.getElement(0).getEndOffset() == 20); doc.insertString(5, "second line \n of text.", null); harness.check(root.getElementCount() == 2); harness.check(root.getElement(0).getElementCount() == 1); harness.check(root.getElement(1).getElementCount() == 1); first = root.getElement(0).getElement(0); harness.check(first.getStartOffset() == 0); harness.check(first.getEndOffset() == 18); second = root.getElement(1).getElement(0); harness.check(second.getStartOffset() == 18); harness.check(second.getEndOffset() == 42); //printElements(doc.getDefaultRootElement(), 0); /* TEST 3 *//////////////////////////////////////////////////////////// harness.checkPoint("Test 3"); doc = new ElementStructure8(); root = doc.getDefaultRootElement(); doc.insertString(0, "first line of text. \n", null); harness.check(root.getElementCount() == 2); harness.check(root.getElement(0).getStartOffset() == 0); harness.check(root.getElement(0).getEndOffset() == 21); harness.check(root.getElement(1).getStartOffset() == 21); harness.check(root.getElement(1).getEndOffset() == 22); doc.insertString (21, "\n second line of text. \n third line of text. \n", null); harness.check(root.getElementCount() == 5); harness.check(root.getElement(0).getElementCount() == 1); harness.check(root.getElement(1).getElementCount() == 1); harness.check(root.getElement(2).getElementCount() == 1); harness.check(root.getElement(3).getElementCount() == 1); first = root.getElement(0).getElement(0); harness.check(first.getStartOffset() == 0); harness.check(first.getEndOffset() == 21); second = root.getElement(1).getElement(0); harness.check(second.getStartOffset() == 21); harness.check(second.getEndOffset() == 22); third = root.getElement(2).getElement(0); harness.check(third.getStartOffset() == 22); harness.check(third.getEndOffset() == 45); fourth = root.getElement(3).getElement(0); harness.check(fourth.getStartOffset() == 45); harness.check(fourth.getEndOffset() == 67); Element fifth = root.getElement(4).getElement(0); harness.check(fifth.getStartOffset() == 67); harness.check(fifth.getEndOffset() == 68); //printElements(doc.getDefaultRootElement(), 0); /* TEST 4 *//////////////////////////////////////////////////////////// harness.checkPoint("Test 4"); doc = new ElementStructure8(); root = doc.getDefaultRootElement(); doc.insertString (0, "\n second line of text. \n third line of text. \n", null); harness.check(root.getElementCount() == 4); harness.check(root.getElement(0).getElementCount() == 1); harness.check(root.getElement(1).getElementCount() == 1); harness.check(root.getElement(2).getElementCount() == 1); harness.check(root.getElement(3).getElementCount() == 1); first = root.getElement(0).getElement(0); harness.check(first.getStartOffset() == 0); harness.check(first.getEndOffset() == 1); second = root.getElement(1).getElement(0); harness.check(second.getStartOffset() == 1); harness.check(second.getEndOffset() == 24); third = root.getElement(2).getElement(0); harness.check(third.getStartOffset() == 24); harness.check(third.getEndOffset() == 46); fourth = root.getElement(3).getElement(0); harness.check(fourth.getStartOffset() == 46); harness.check(fourth.getEndOffset() == 47); //printElements(doc.getDefaultRootElement(), 0); /* TEST 5 *//////////////////////////////////////////////////////////// harness.checkPoint("Test 5"); doc = new ElementStructure8(); root = doc.getDefaultRootElement(); doc.insertString(0, "first line of text.", null); harness.check(root.getElementCount() == 1); harness.check(root.getElement(0).getStartOffset() == 0); harness.check(root.getElement(0).getEndOffset() == 20); doc.insertString(19, "\n third line of text.", null); harness.check(root.getElementCount(), 2); harness.check(root.getElement(0).getElementCount(), 1); harness.check(root.getElement(1).getElementCount(), 1); first = root.getElement(0).getElement(0); harness.check(first.getStartOffset(), 0); harness.check(first.getEndOffset(), 20); second = root.getElement(1).getElement(0); harness.check(second.getStartOffset(), 20); harness.check(second.getEndOffset(), 41); //printElements(doc.getDefaultRootElement(), 0); } catch (Exception t) { t.printStackTrace(); harness.debug(t); } catch (AssertionError e) { e.printStackTrace(); harness.debug(e); } } static TestHarness h2; static int numInserts = 0; // We override the constructor so we can explicitly set the type of the // buffer to be our ElementBuffer2, allowing us to test some internals. public ElementStructure8() { super(); buffer = new ElementBuffer2(createDefaultRoot()); } // Overriding this method allows us to check that the right number // of newLines was encountered and that the event has the proper // offset and length. protected void insertUpdate(DefaultDocumentEvent ev, AttributeSet attr) { int l = ev.getLength(); int o = ev.getOffset(); if (numInserts == 0) { h2.checkPoint("first doc event"); h2.check(o == 0); h2.check(l == 21); } else if (numInserts == 1) { h2.checkPoint("second doc event"); h2.check(o == 21); h2.check(l == 44); } else if (numInserts == 2) { h2.checkPoint("third doc event"); h2.check(o == 0); h2.check(l == 21); } else if (numInserts == 3) { h2.checkPoint("fourth doc event"); h2.check(o == 21); h2.check(l == 23); } else if (numInserts == 4) { h2.checkPoint("fifth doc event"); h2.check(o == 0); h2.check(l == 19); } else if (numInserts == 5) { h2.checkPoint("sixth doc event"); h2.check(o == 5); h2.check(l == 22); } else if (numInserts == 6) { h2.checkPoint("seventh doc event"); h2.check(o == 0); h2.check(l == 21); } else if (numInserts == 7) { h2.checkPoint("eighth doc event"); h2.check(o == 21); h2.check(l == 46); } else if (numInserts == 8) { h2.checkPoint("ninth doc event"); h2.check(o == 0); h2.check(l == 46); } else if (numInserts == 9) { h2.checkPoint("tenth doc event"); h2.check(o == 0); h2.check(l == 19); } else if (numInserts == 10) { h2.checkPoint("eleventh doc event"); h2.check(o, 19); h2.check(l, 21); } else h2.fail ("too many calls to DefaultStyledDocument.insertUpdate"); super.insertUpdate(ev, attr); } // A class to be the buffer of the styled document. // This allows us to check that some values are correct internally within // the ElementBuffer. public class ElementBuffer2 extends ElementBuffer { public ElementBuffer2(Element root) { super(root); } // This method allows us to check that the ElementSpecs generated by // DefaultStyledDocument.insertUpdate are correct. protected void insertUpdate(ElementSpec[] data) { numInserts++; if (numInserts == 1) { h2.checkPoint("ElementBuffer insertUpdate: first insertion"); h2.check(data.length == 3); h2.check(data[0].getType() == ElementSpec.ContentType); h2.check (data[0].getDirection() == ElementSpec.JoinPreviousDirection); h2.check(data[0].getOffset() == 0); h2.check(data[0].getLength() == 21); h2.check(data[1].getType() == ElementSpec.EndTagType); h2.check(data[1].getDirection() == ElementSpec.OriginateDirection); h2.check(data[1].getOffset() == 0); h2.check(data[1].getLength() == 0); h2.check(data[2].getType() == ElementSpec.StartTagType); h2.check (data[2].getDirection() == ElementSpec.JoinFractureDirection); h2.check(data[2].getOffset() == 0); h2.check(data[2].getLength() == 0); } else if (numInserts == 2) { h2.checkPoint("ElementBuffer insertUpdate: second insertion"); h2.check (data.length == 8); h2.check(data[0].getType() == ElementSpec.EndTagType); h2.check(data[0].getDirection() == ElementSpec.OriginateDirection); h2.check(data[0].getOffset() == 0); h2.check(data[0].getLength() == 0); h2.check(data[1].getType() == ElementSpec.StartTagType); h2.check(data[1].getDirection() == ElementSpec.OriginateDirection); h2.check(data[1].getOffset() == 0); h2.check(data[1].getLength() == 0); h2.check(data[2].getType() == ElementSpec.ContentType); h2.check(data[2].getDirection() == ElementSpec.OriginateDirection); h2.check(data[2].getOffset() == 0); h2.check(data[2].getLength() == 22); h2.check(data[3].getType() == ElementSpec.EndTagType); h2.check(data[3].getDirection() == ElementSpec.OriginateDirection); h2.check(data[3].getOffset() == 0); h2.check(data[3].getLength() == 0); h2.check(data[4].getType() == ElementSpec.StartTagType); h2.check(data[4].getDirection() == ElementSpec.OriginateDirection); h2.check(data[4].getOffset() == 0); h2.check(data[4].getLength() == 0); h2.check(data[5].getType() == ElementSpec.ContentType); h2.check(data[5].getDirection() == ElementSpec.OriginateDirection); h2.check(data[5].getOffset() == 0); h2.check(data[5].getLength() == 22); h2.check(data[6].getType() == ElementSpec.EndTagType); h2.check(data[6].getDirection() == ElementSpec.OriginateDirection); h2.check(data[6].getOffset() == 0); h2.check(data[6].getLength() == 0); h2.check(data[7].getType() == ElementSpec.StartTagType); h2.check(data[7].getDirection() == ElementSpec.JoinNextDirection); h2.check(data[7].getOffset() == 0); h2.check(data[7].getLength() == 0); } else if (numInserts == 3) { h2.checkPoint("ElementBuffer insertUpdate: third insertion"); h2.check(data.length == 3); h2.check(data[0].getType() == ElementSpec.ContentType); h2.check (data[0].getDirection() == ElementSpec.JoinPreviousDirection); h2.check(data[0].getOffset() == 0); h2.check(data[0].getLength() == 21); h2.check(data[1].getType() == ElementSpec.EndTagType); h2.check(data[1].getDirection() == ElementSpec.OriginateDirection); h2.check(data[1].getOffset() == 0); h2.check(data[1].getLength() == 0); h2.check(data[2].getType() == ElementSpec.StartTagType); h2.check (data[2].getDirection() == ElementSpec.JoinFractureDirection); h2.check(data[2].getOffset() == 0); h2.check(data[2].getLength() == 0); } else if (numInserts == 4) { h2.checkPoint("ElementBuffer insertUpdate: fourth insertion"); h2.check (data.length == 6); h2.check(data[0].getType() == ElementSpec.EndTagType); h2.check(data[0].getDirection() == ElementSpec.OriginateDirection); h2.check(data[0].getOffset() == 0); h2.check(data[0].getLength() == 0); h2.check(data[1].getType() == ElementSpec.StartTagType); h2.check(data[1].getDirection() == ElementSpec.OriginateDirection); h2.check(data[1].getOffset() == 0); h2.check(data[1].getLength() == 0); h2.check(data[2].getType() == ElementSpec.ContentType); h2.check(data[2].getDirection() == ElementSpec.OriginateDirection); h2.check(data[2].getOffset() == 0); h2.check(data[2].getLength() == 22); h2.check(data[3].getType() == ElementSpec.EndTagType); h2.check(data[3].getDirection() == ElementSpec.OriginateDirection); h2.check(data[3].getOffset() == 0); h2.check(data[3].getLength() == 0); h2.check(data[4].getType() == ElementSpec.StartTagType); h2.check(data[4].getDirection() == ElementSpec.JoinNextDirection); h2.check(data[4].getOffset() == 0); h2.check(data[4].getLength() == 0); h2.check(data[5].getType() == ElementSpec.ContentType); h2.check(data[5].getDirection() == ElementSpec.OriginateDirection); h2.check(data[5].getOffset() == 0); h2.check(data[5].getLength() == 1); } else if (numInserts == 5) { h2.checkPoint("ElementBuffer insertUpdate: fifth insertion"); h2.check(data.length == 1); h2.check(data[0].getType() == ElementSpec.ContentType); h2.check (data[0].getDirection() == ElementSpec.JoinPreviousDirection); h2.check(data[0].getOffset() == 0); h2.check(data[0].getLength() == 19); } else if (numInserts == 6) { h2.checkPoint("ElementBuffer insertUpdate: sixth insertion"); h2.check(data.length == 4); h2.check(data[0].getType() == ElementSpec.ContentType); h2.check (data[0].getDirection() == ElementSpec.JoinPreviousDirection); h2.check(data[0].getOffset() == 0); h2.check(data[0].getLength() == 13); h2.check(data[1].getType() == ElementSpec.EndTagType); h2.check(data[1].getDirection() == ElementSpec.OriginateDirection); h2.check(data[1].getOffset() == 0); h2.check(data[1].getLength() == 0); h2.check(data[2].getType() == ElementSpec.StartTagType); h2.check (data[2].getDirection() == ElementSpec.JoinFractureDirection); h2.check(data[2].getOffset() == 0); h2.check(data[2].getLength() == 0); h2.check(data[3].getType() == ElementSpec.ContentType); h2.check(data[3].getDirection() == ElementSpec.JoinNextDirection); h2.check(data[3].getOffset() == 0); h2.check(data[3].getLength() == 9); } else if (numInserts == 7) { h2.checkPoint("ElementBuffer insertUpdate: seventh insertion"); h2.check(data.length == 3); h2.check(data[0].getType() == ElementSpec.ContentType); h2.check (data[0].getDirection() == ElementSpec.JoinPreviousDirection); h2.check(data[0].getOffset() == 0); h2.check(data[0].getLength() == 21); h2.check(data[1].getType() == ElementSpec.EndTagType); h2.check(data[1].getDirection() == ElementSpec.OriginateDirection); h2.check(data[1].getOffset() == 0); h2.check(data[1].getLength() == 0); h2.check(data[2].getType() == ElementSpec.StartTagType); h2.check (data[2].getDirection() == ElementSpec.JoinFractureDirection); h2.check(data[2].getOffset() == 0); h2.check(data[2].getLength() == 0); } else if (numInserts == 8) { h2.checkPoint("ElementBuffer insertUpdate: second insertion"); h2.check (data.length == 11); h2.check(data[0].getType() == ElementSpec.EndTagType); h2.check(data[0].getDirection() == ElementSpec.OriginateDirection); h2.check(data[0].getOffset() == 0); h2.check(data[0].getLength() == 0); h2.check(data[1].getType() == ElementSpec.StartTagType); h2.check(data[1].getDirection() == ElementSpec.OriginateDirection); h2.check(data[1].getOffset() == 0); h2.check(data[1].getLength() == 0); h2.check(data[2].getType() == ElementSpec.ContentType); h2.check(data[2].getDirection() == ElementSpec.OriginateDirection); h2.check(data[2].getOffset() == 0); h2.check(data[2].getLength() == 1); h2.check(data[3].getType() == ElementSpec.EndTagType); h2.check(data[3].getDirection() == ElementSpec.OriginateDirection); h2.check(data[3].getOffset() == 0); h2.check(data[3].getLength() == 0); h2.check(data[4].getType() == ElementSpec.StartTagType); h2.check(data[4].getDirection() == ElementSpec.OriginateDirection); h2.check(data[4].getOffset() == 0); h2.check(data[4].getLength() == 0); h2.check(data[5].getType() == ElementSpec.ContentType); h2.check(data[5].getDirection() == ElementSpec.OriginateDirection); h2.check(data[5].getOffset() == 0); h2.check(data[5].getLength() == 23); h2.check(data[6].getType() == ElementSpec.EndTagType); h2.check(data[6].getDirection() == ElementSpec.OriginateDirection); h2.check(data[6].getOffset() == 0); h2.check(data[6].getLength() == 0); h2.check(data[7].getType() == ElementSpec.StartTagType); h2.check(data[7].getDirection() == ElementSpec.OriginateDirection); h2.check(data[7].getOffset() == 0); h2.check(data[7].getLength() == 0); h2.check(data[8].getType() == ElementSpec.ContentType); h2.check(data[8].getDirection() == ElementSpec.OriginateDirection); h2.check(data[8].getOffset() == 0); h2.check(data[8].getLength() == 22); h2.check(data[9].getType() == ElementSpec.EndTagType); h2.check(data[9].getDirection() == ElementSpec.OriginateDirection); h2.check(data[9].getOffset() == 0); h2.check(data[9].getLength() == 0); h2.check(data[10].getType() == ElementSpec.StartTagType); h2.check(data[10].getDirection() == ElementSpec.JoinNextDirection); h2.check(data[10].getOffset() == 0); h2.check(data[10].getLength() == 0); } else if (numInserts == 9) { h2.checkPoint("ElementBuffer insertUpdate: second insertion"); h2.check (data.length == 9); h2.check(data[0].getType() == ElementSpec.ContentType); h2.check (data[0].getDirection() == ElementSpec.JoinPreviousDirection); h2.check(data[0].getOffset() == 0); h2.check(data[0].getLength() == 1); h2.check(data[1].getType() == ElementSpec.EndTagType); h2.check(data[1].getDirection() == ElementSpec.OriginateDirection); h2.check(data[1].getOffset() == 0); h2.check(data[1].getLength() == 0); h2.check(data[2].getType() == ElementSpec.StartTagType); h2.check(data[2].getDirection() == ElementSpec.OriginateDirection); h2.check(data[2].getOffset() == 0); h2.check(data[2].getLength() == 0); h2.check(data[3].getType() == ElementSpec.ContentType); h2.check(data[3].getDirection() == ElementSpec.OriginateDirection); h2.check(data[3].getOffset() == 0); h2.check(data[3].getLength() == 23); h2.check(data[4].getType() == ElementSpec.EndTagType); h2.check(data[4].getDirection() == ElementSpec.OriginateDirection); h2.check(data[4].getOffset() == 0); h2.check(data[4].getLength() == 0); h2.check(data[5].getType() == ElementSpec.StartTagType); h2.check(data[5].getDirection() == ElementSpec.OriginateDirection); h2.check(data[5].getOffset() == 0); h2.check(data[5].getLength() == 0); h2.check(data[6].getType() == ElementSpec.ContentType); h2.check(data[6].getDirection() == ElementSpec.OriginateDirection); h2.check(data[6].getOffset() == 0); h2.check(data[6].getLength() == 22); h2.check(data[7].getType() == ElementSpec.EndTagType); h2.check(data[7].getDirection() == ElementSpec.OriginateDirection); h2.check(data[7].getOffset() == 0); h2.check(data[7].getLength() == 0); h2.check(data[8].getType() == ElementSpec.StartTagType); h2.check (data[8].getDirection() == ElementSpec.JoinFractureDirection); h2.check(data[8].getOffset() == 0); h2.check(data[8].getLength() == 0); } else if (numInserts == 10) { h2.checkPoint("ElementBuffer insertUpdate: tenth insertion"); h2.check(data.length == 1); h2.check(data[0].getType() == ElementSpec.ContentType); h2.check (data[0].getDirection() == ElementSpec.JoinPreviousDirection); h2.check(data[0].getOffset() == 0); h2.check(data[0].getLength() == 19); } else if (numInserts == 11) { h2.checkPoint("ElementBuffer insertUpdate: eleventh insertion"); h2.check (data.length, 4); h2.check(data[0].getType(), ElementSpec.ContentType); h2.check(data[0].getDirection(), ElementSpec.JoinPreviousDirection); h2.check(data[0].getOffset(), 0); h2.check(data[0].getLength(), 1); h2.check(data[1].getType(), ElementSpec.EndTagType); h2.check(data[1].getDirection(), ElementSpec.OriginateDirection); h2.check(data[1].getOffset(), 0); h2.check(data[1].getLength(), 0); h2.check(data[2].getType(), ElementSpec.StartTagType); h2.check(data[2].getDirection(), ElementSpec.JoinFractureDirection); h2.check(data[2].getOffset(), 0); h2.check(data[2].getLength(), 0); h2.check(data[3].getType(), ElementSpec.ContentType); h2.check(data[3].getDirection(), ElementSpec.JoinNextDirection); h2.check(data[3].getOffset(), 0); h2.check(data[3].getLength(), 20); } else h2.fail("too many ElementSpecs created"); super.insertUpdate(data); } } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure2.javamauve-20140821/gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure2.ja0000644000175000001440000000463610352317632032364 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Red Hat. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.text.DefaultStyledDocument.ElementBuffer; import javax.swing.text.BadLocationException; import javax.swing.text.DefaultStyledDocument; import javax.swing.text.Element; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.DefaultStyledDocument; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class ElementStructure2 extends DefaultStyledDocument implements Testlet { static TestHarness h2; // Creates a new StyledDocument2 using an ElementBuffer2 as the buffer public ElementStructure2() { super(); buffer = new ElementBuffer2(createDefaultRoot()); } public class ElementBuffer2 extends ElementBuffer { public ElementBuffer2(Element root) { super(root); } protected void insertUpdate(ElementSpec[] data) { // Check that ElementSpecs were created with JoinPreviousDirection for (int i = 0; i < data.length; i ++) h2.check (data[i].getDirection() == ElementSpec.JoinPreviousDirection); super.insertUpdate(data); } } /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { h2 = harness; DefaultStyledDocument doc = new ElementStructure2(); Element root = doc.getDefaultRootElement(); try { // Add some regular text doc.insertString(0, "the quick brown fox", null); doc.insertString(6, "MIDDLE", null); doc.insertString(0, "START", null); doc.insertString(30, "END", null); } catch (BadLocationException ex) { harness.debug(ex); } } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure6.javamauve-20140821/gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure6.ja0000755000175000001440000001503710371665106032373 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Red Hat. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.text.DefaultStyledDocument.ElementBuffer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.AbstractDocument; import javax.swing.text.AttributeSet; import javax.swing.text.BadLocationException; import javax.swing.text.DefaultStyledDocument; import javax.swing.text.Element; public class ElementStructure6 extends DefaultStyledDocument implements Testlet { public void test(TestHarness harness) { ElementStructure6 doc = new ElementStructure6(); try { h2 = harness; doc.insertString(0, "First line of text. \n", null); } catch (Exception ex) { // ex.printStackTrace(); h2.debug(ex); } catch (AssertionError e) { // e.printStackTrace(); harness.debug(e); } //printElements(doc.getDefaultRootElement(), 0); } static TestHarness h2; static AbstractDocument.DefaultDocumentEvent docEvent = null; static int numInserts = 0; static int numLeaves = 0; static int numBranches = 0; // We override the constructor so we can explicitly set the type of the // buffer to be our ElementBuffer2, allowing us to test some internals. public ElementStructure6() { super(); buffer = new ElementBuffer2(createDefaultRoot()); } // Overriding this method allows us to check that the right number // of newLines was encountered and that the event has the proper // offset and length. protected void insertUpdate(DefaultDocumentEvent ev, AttributeSet attr) { int l = ev.getLength(); int o = ev.getOffset(); if (numInserts == 0) { h2.checkPoint("first doc event"); h2.check(o == 0); h2.check(l == 21); } else h2.fail ("too many calls to DefaultStyledDocument.insertUpdate"); docEvent = ev; h2.check(docEvent.getChange(getDefaultRootElement()) == null); super.insertUpdate (ev, attr); h2.check(docEvent.getChange(getDefaultRootElement()) != null); } // A class to be the buffer of the styled document. // This allows us to check that some values are correct internally within // the ElementBuffer. public class ElementBuffer2 extends ElementBuffer { public ElementBuffer2(Element root) { super(root); } // This method allows us to check that the ElementSpecs generated by // DefaultStyledDocument.insertUpdate are correct. protected void insertUpdate(ElementSpec[] data) { numInserts++; if (numInserts == 1) { h2.checkPoint("ElementBuffer insertUpdate: first insertion"); h2.check (data.length == 3); h2.check(data[0].getType() == ElementSpec.ContentType); h2.check (data[0].getDirection() == ElementSpec.JoinPreviousDirection); h2.check(data[0].getOffset() == 0); h2.check(data[0].getLength() == 21); h2.check(data[1].getType() == ElementSpec.EndTagType); h2.check(data[1].getDirection() == ElementSpec.OriginateDirection); h2.check(data[1].getOffset() == 0); h2.check(data[1].getLength() == 0); h2.check(data[2].getType() == ElementSpec.StartTagType); h2.check (data[2].getDirection() == ElementSpec.JoinFractureDirection); h2.check(data[2].getOffset() == 0); h2.check(data[2].getLength() == 0); } else if (numInserts == 2) { h2.checkPoint("ElementBuffer insertUpdate: second insertion"); h2.check (data.length == 5); h2.check(data[0].getType() == ElementSpec.EndTagType); h2.check(data[0].getDirection() == ElementSpec.OriginateDirection); h2.check(data[0].getOffset() == 0); h2.check(data[0].getLength() == 0); h2.check(data[1].getType() == ElementSpec.StartTagType); h2.check(data[1].getDirection() == ElementSpec.OriginateDirection); h2.check(data[1].getOffset() == 0); h2.check(data[1].getLength() == 0); h2.check(data[2].getType() == ElementSpec.ContentType); h2.check(data[2].getDirection() == ElementSpec.OriginateDirection); h2.check(data[2].getOffset() == 0); h2.check(data[2].getLength() == 22); h2.check(data[3].getType() == ElementSpec.EndTagType); h2.check(data[3].getDirection() == ElementSpec.OriginateDirection); h2.check(data[3].getOffset() == 0); h2.check(data[3].getLength() == 0); h2.check(data[4].getType() == ElementSpec.StartTagType); h2.check(data[4].getDirection() == ElementSpec.JoinNextDirection); h2.check(data[4].getOffset() == 0); h2.check(data[4].getLength() == 0); } else if (numInserts == 3) { h2.checkPoint("ElementBuffer insertUpdate: third insertion"); h2.check (data.length == 1); h2.check(data[0].getType() == ElementSpec.ContentType); h2.check (data[0].getDirection() == ElementSpec.JoinPreviousDirection); h2.check(data[0].getOffset() == 0); h2.check(data[0].getLength() == 1); } else h2.fail("too many ElementSpecs created"); h2.check(docEvent.getChange(getDefaultRootElement()) == null); super.insertUpdate(data); h2.check(docEvent.getChange(getDefaultRootElement()) == null); } public void insert(int offset, int length, DefaultStyledDocument.ElementSpec[] data, AbstractDocument.DefaultDocumentEvent de) { h2.check(docEvent.getChange(getDefaultRootElement()) == null); super.insert(offset, length, data, de); h2.check(docEvent.getChange(getDefaultRootElement()) != null); } } } mauve-20140821/gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/StyledDocument1.java0000644000175000001440000001170410371665106032340 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Red Hat. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.text.DefaultStyledDocument.ElementBuffer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.AbstractDocument; import javax.swing.text.AttributeSet; import javax.swing.text.BadLocationException; import javax.swing.text.DefaultStyledDocument; import javax.swing.text.Element; public class StyledDocument1 extends DefaultStyledDocument implements Testlet { public void test(TestHarness harness) { h2 = harness; StyledDocument1 doc = new StyledDocument1(); try { doc.insertString(0, "aaaaaaaaa\nbbbbbbbbb", null); doc.insertString(10, "N", null); } catch (Exception ex) { // ex.printStackTrace(); harness.debug(ex); } catch (AssertionError e) { e.printStackTrace(); harness.debug(e); } // printElements(doc.getDefaultRootElement(), 0); } // A variable to keep track of the number of times text has been inserted static int numInserts = 0; static TestHarness h2; static int numLeaves = 0; static int numBranches = 0; // Creates a new StyledDocument1 using an ElementBuffer2 as the buffer public StyledDocument1() { super(); buffer = new ElementBuffer2(createDefaultRoot()); } // Overriding this method allows us to check that the right number // of newLines was encountered and that the event has the proper // offset and length. protected void insertUpdate(DefaultDocumentEvent ev, AttributeSet attr) { int l = ev.getLength(); int o = ev.getOffset(); if (numInserts == 0) { h2.checkPoint("first doc event"); h2.check(o == 0); h2.check(l == 19); } else if (numInserts == 1) { h2.checkPoint("second doc event"); h2.check(o == 10); h2.check(l == 1); } else h2.fail ("too many calls to DefaultStyledDocument.insertUpdate"); super.insertUpdate(ev, attr); } // A class to be the buffer of the styled document that also prints out some // debugging info and checks that internal structure is correct public class ElementBuffer2 extends ElementBuffer { public ElementBuffer2(Element root) { super(root); } protected void insertUpdate(ElementSpec[] data) { numInserts ++; if (numInserts == 1) { h2.check (data[0].getType() == ElementSpec.ContentType); h2.check (data[0].getDirection() == ElementSpec.JoinPreviousDirection); h2.check (data[0].getOffset() == 0); h2.check (data[0].getLength() == 10); h2.check (data[1].getType() == ElementSpec.EndTagType); h2.check (data[1].getDirection() == ElementSpec.OriginateDirection); h2.check (data[1].getOffset() == 0); h2.check (data[1].getLength() == 0); h2.check (data[2].getType() == ElementSpec.StartTagType); h2.check (data[2].getDirection() == ElementSpec.JoinFractureDirection); h2.check (data[2].getOffset() == 0); h2.check (data[2].getLength() == 0); h2.check (data[3].getType() == ElementSpec.ContentType); h2.check (data[3].getDirection() == ElementSpec.JoinNextDirection); h2.check (data[3].getOffset() == 0); h2.check (data[3].getLength() == 9); } else if (numInserts == 2) { h2.check (data[0].getType() == ElementSpec.EndTagType); h2.check (data[0].getDirection() == ElementSpec.OriginateDirection); h2.check (data[0].getOffset() == 0); h2.check (data[0].getLength() == 0); h2.check (data[1].getType() == ElementSpec.StartTagType); h2.check (data[1].getDirection() == ElementSpec.JoinNextDirection); h2.check (data[1].getOffset() == 0); h2.check (data[1].getLength() == 0); h2.check (data[2].getType() == ElementSpec.ContentType); h2.check (data[2].getDirection() == ElementSpec.JoinNextDirection); h2.check (data[2].getOffset() == 0); h2.check (data[2].getLength() == 1); } else h2.fail("too many ElementSpecs created"); super.insertUpdate(data); } } } mauve-20140821/gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/StyledDocument4.java0000644000175000001440000001231210371665106032337 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Red Hat. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.text.DefaultStyledDocument.ElementBuffer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.AbstractDocument; import javax.swing.text.AttributeSet; import javax.swing.text.BadLocationException; import javax.swing.text.DefaultStyledDocument; import javax.swing.text.Element; import javax.swing.text.StyledDocument; public class StyledDocument4 extends DefaultStyledDocument implements Testlet { public void test(TestHarness harness) { h2 = harness; StyledDocument doc = new StyledDocument4(); try { doc.insertString(0, "aaaaaaaaa\nbbbbbbbbb", null); doc.insertString(5, "\nN", null); } catch (Exception ex) { // ex.printStackTrace(); harness.debug(ex); } catch (AssertionError e) { // e.printStackTrace(); harness.debug(e); } // printElements(doc.getDefaultRootElement(), 0); } // A variable to keep track of the number of times text has been inserted static int numInserts = 0; static TestHarness h2; static int numLeaves = 0; static int numBranches = 0; // Creates a new StyledDocument4 using an ElementBuffer2 as the buffer public StyledDocument4() { super(); buffer = new ElementBuffer2(createDefaultRoot()); } // Overriding this method allows us to check that the right number // of newLines was encountered and that the event has the proper // offset and length. protected void insertUpdate(DefaultDocumentEvent ev, AttributeSet attr) { int l = ev.getLength(); int o = ev.getOffset(); if (numInserts == 0) { h2.checkPoint("first doc event"); h2.check(o == 0); h2.check(l == 19); } else if (numInserts == 1) { h2.checkPoint("second doc event"); h2.check(o == 5); h2.check(l == 2); } else h2.fail("too many calls to DefaultStyledDocument.insertUpdate"); super.insertUpdate(ev, attr); } // A class to be the buffer of the styled document that also prints out some // debugging info and checks that internal structure is correct public class ElementBuffer2 extends ElementBuffer { public ElementBuffer2(Element root) { super(root); } protected void insertUpdate(ElementSpec[] data) { numInserts ++; if (numInserts == 1) { h2.check (data[0].getType() == ElementSpec.ContentType); h2.check (data[0].getDirection() == ElementSpec.JoinPreviousDirection); h2.check (data[0].getOffset() == 0); h2.check (data[0].getLength() == 10); h2.check (data[1].getType() == ElementSpec.EndTagType); h2.check (data[1].getDirection() == ElementSpec.OriginateDirection); h2.check (data[1].getOffset() == 0); h2.check (data[1].getLength() == 0); h2.check (data[2].getType() == ElementSpec.StartTagType); h2.check (data[2].getDirection() == ElementSpec.JoinFractureDirection); h2.check (data[2].getOffset() == 0); h2.check (data[2].getLength() == 0); h2.check (data[3].getType() == ElementSpec.ContentType); h2.check (data[3].getDirection() == ElementSpec.JoinNextDirection); h2.check (data[3].getOffset() == 0); h2.check (data[3].getLength() == 9); } else if (numInserts == 2) { h2.check (data[0].getType() == ElementSpec.ContentType); h2.check (data[0].getDirection() == ElementSpec.JoinPreviousDirection); h2.check (data[0].getOffset() == 0); h2.check (data[0].getLength() == 1); h2.check (data[1].getType() == ElementSpec.EndTagType); h2.check (data[1].getDirection() == ElementSpec.OriginateDirection); h2.check (data[1].getOffset() == 0); h2.check (data[1].getLength() == 0); h2.check (data[2].getType() == ElementSpec.StartTagType); h2.check (data[2].getDirection() == ElementSpec.JoinFractureDirection); h2.check (data[2].getOffset() == 0); h2.check (data[2].getLength() == 0); h2.check (data[3].getType() == ElementSpec.ContentType); h2.check (data[3].getDirection() == ElementSpec.JoinNextDirection); h2.check (data[3].getOffset() == 0); h2.check (data[3].getLength() == 1); } super.insertUpdate(data); } } } mauve-20140821/gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/StyledDocument2.java0000644000175000001440000002114710462367372032350 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Red Hat. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.text.DefaultStyledDocument.ElementBuffer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.AbstractDocument; import javax.swing.text.AttributeSet; import javax.swing.text.BadLocationException; import javax.swing.text.DefaultStyledDocument; import javax.swing.text.Element; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; public class StyledDocument2 extends DefaultStyledDocument implements Testlet { public void test(TestHarness harness) { h2 = harness; StyledDocument2 doc = new StyledDocument2(); SimpleAttributeSet atts = new SimpleAttributeSet(); try { atts.addAttribute(StyleConstants.StrikeThrough, Boolean.TRUE); doc.insertString(0, "bbbbb", atts); doc.insertString(5, "aaaaa", null); } catch (Exception ex) { // ex.printStackTrace(); harness.debug(ex); } catch (AssertionError e) { // e.printStackTrace(); harness.debug(e); } // printElements(doc.getDefaultRootElement(), 0); } // A variable to keep track of the number of times text has been inserted static int numInserts = 0; static TestHarness h2; static int numLeaves = 0; static int numBranches = 0; // Creates a new StyledDocument2 using an ElementBuffer2 as the buffer public StyledDocument2() { super(); buffer = new ElementBuffer2(createDefaultRoot()); } protected void insertUpdate(DefaultDocumentEvent ev, AttributeSet attr) { int l = ev.getLength(); int o = ev.getOffset(); if (numInserts == 0) { h2.checkPoint("first doc event"); h2.check(o == 0); h2.check(l == 5); } else if (numInserts == 1) { h2.checkPoint("second doc event"); h2.check(o == 5); h2.check(l == 5); } else h2.fail ("too many calls to DefaultStyledDocument.insertUpdate"); super.insertUpdate(ev, attr); h2.check (getDefaultRootElement().getElement(0).getElementCount() == (numInserts + 1)); } // Overriding this method allows us to check that the proper LeafElements // are being created. protected Element createLeafElement(Element parent, AttributeSet a, int p0, int p1) { numLeaves++; if (numLeaves== 1) { h2.checkPoint ("create first leaf element"); h2.check (p0, 0); h2.check (p1, 5); try { h2.check (parent.getStartOffset(), 0); h2.check (parent.getEndOffset(), 6); } catch (Exception e) { // I put 2 fails here so that the total number of tests will remain // the same whether we pass or fail these tests. h2.fail ("parent Element should have children, but has none."); h2.fail ("parent Element should have children, but has none."); } h2.check (a.getAttribute(StyleConstants.StrikeThrough) == Boolean.TRUE); } else if (numLeaves == 2) { h2.checkPoint ("create second leaf element"); h2.check (p0 == 5); h2.check (p1 == 6); try { h2.check (parent.getStartOffset() == 0); h2.check (parent.getEndOffset() == 6); } catch (Exception e) { // I put 2 fails here so that the total number of tests will remain // the same whether we pass or fail these tests. h2.fail ("parent Element should have children, but has none."); h2.fail ("parent Element should have children, but has none."); } h2.check (a.getAttributeCount() == 0); } else if (numLeaves == 3) { h2.checkPoint ("create third leaf element"); h2.check (p0 == 0); h2.check (p1 == 5); try { h2.check (parent.getStartOffset() == 0); h2.check (parent.getEndOffset() == 11); } catch (Exception e) { // I put 2 fails here so that the total number of tests will remain // the same whether we pass or fail these tests. h2.fail ("branch element should have children, but has none"); h2.fail ("branch element should have children, but has none"); } h2.check (a.getAttribute(StyleConstants.StrikeThrough) == Boolean.TRUE); } else if (numLeaves == 4) { h2.checkPoint ("create fourth leaf element"); h2.check (p0 == 5); h2.check (p1 == 10); try { h2.check (parent.getStartOffset() == 0); h2.check (parent.getEndOffset() == 11); } catch (Exception e) { // I put 2 fails here so that the total number of tests will remain // the same whether we pass or fail these tests. h2.fail ("branch element should have children, but has none"); h2.fail ("branch element should have children, but has none"); } h2.check (a.getAttributeCount() == 0); } else h2.fail ("too many leaf elements created"); return super.createLeafElement(parent, a, p0, p1); } // Overriding this method allows us to check that the proper BranchElements // are being created. protected Element createBranchElement(Element parent, AttributeSet a) { numBranches ++; h2.fail ("too many branch elements created"); return super.createBranchElement(parent, a); } // Prints some spaces. public static void pad(int pad) { for (int i = 0; i < pad; i++) System.out.print(" "); } // Displays the Element hierarchy starting with start. // This is just debugging code. public static void printElements (Element start, int pad) { pad(pad); if (pad == 0) System.out.println ("ROOT ELEMENT ("+start.getStartOffset()+", " + start.getEndOffset()+")"); else if (start instanceof AbstractDocument.BranchElement) System.out.println ("BranchElement ("+start.getStartOffset()+", " + start.getEndOffset()+")"); else { try { System.out.println ("LeafElement ("+start.getStartOffset()+", " + start.getEndOffset()+"): " + start.getAttributes().getAttributeCount() + ": " + start.getDocument(). getText(start.getStartOffset(), start.getEndOffset() - start.getStartOffset())); } catch (BadLocationException ble) { } } for (int i = 0; i < start.getElementCount(); i ++) printElements (start.getElement(i), pad+3); } // A class to be the buffer of the styled document that also prints out some // debugging info and checks that internal structure is correct public class ElementBuffer2 extends ElementBuffer { public ElementBuffer2(Element root) { super(root); } protected void insertUpdate(ElementSpec[] data) { numInserts ++; if (numInserts == 1) { h2.check (data[0].getType() == ElementSpec.ContentType); h2.check (data[0].getDirection() == ElementSpec.OriginateDirection); h2.check (data[0].getOffset() == 0); h2.check (data[0].getLength() == 5); } else if (numInserts == 2) { h2.check (data[0].getType() == ElementSpec.ContentType); h2.check (data[0].getDirection() == ElementSpec.OriginateDirection); h2.check (data[0].getOffset() == 0); h2.check (data[0].getLength() == 5); } else h2.fail("too many ElementSpecs created"); super.insertUpdate(data); } } } mauve-20140821/gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/insert.java0000644000175000001440000012271510462367372030632 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke (kennke@aicas.com) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.text.DefaultStyledDocument.ElementBuffer; import java.util.EmptyStackException; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; import javax.swing.text.BadLocationException; import javax.swing.text.DefaultStyledDocument; import javax.swing.text.Element; import javax.swing.text.SimpleAttributeSet; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Extensive tests for the ElementBuffer.insert() method. In order to check * this method, we make use of the DefaultStyledDocument.insert() method, which * passes an array of ElementSpecs to the element buffer. We then check for * different scenarios the resulting document structure and the document event * that is fired. * * @author Roman Kennke (kennke@aicas.com) */ // TODO: Add more tests for EndTagType and StartTagType. public class insert implements Testlet, DocumentListener { /** * The document event that is fired in response to an element change. We * want to check that to see if the correct event is fired. */ private DocumentEvent documentEvent; /** * A document for testing. It overrides some protected method for public * access. * * @author Roman Kennke (kennke@aicas.com) */ static class TestDocument extends DefaultStyledDocument { /** * Overridden to provide public access. * * @param offset the offset at which to insert the data * @param data the data spec to insert */ public void insert(int offset, ElementSpec[] data) { try { super.insert(offset, data); } catch (BadLocationException e) { throw new RuntimeException(e); } } } /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testOriginate1(harness); testOriginate2(harness); testOriginate3(harness); testJoinPrevious1(harness); testJoinPrevious2(harness); testJoinPrevious3(harness); testJoinNext1(harness); testJoinNext2(harness); testJoinNext3(harness); testEndTag1(harness); testEndTag2(harness); testEndTag3(harness); testEndTag4(harness); testEndTag5(harness); testNewlines(harness); testNewlines2(harness); } /** * Tests content insertion with OriginateDirection. This test inserts * a content element between two existing elements. * * @param h the test harness to use */ private void testOriginate1(TestHarness h) { h.checkPoint("testOriginate1"); TestDocument doc = new TestDocument(); doc.addDocumentListener(this); char[] text = new char[] {'H', 'e', 'l', 'l', 'o'}; SimpleAttributeSet atts = new SimpleAttributeSet(); TestDocument.ElementSpec spec = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.ContentType, text, 0, 5); spec.setDirection(TestDocument.ElementSpec.OriginateDirection); TestDocument.ElementSpec[] specs = new TestDocument.ElementSpec[]{ spec }; // Create the precondition, two elements [Hello], one at 0 and one at 5. doc.insert(0, specs); doc.insert(5, specs); // Check precondition. (3 child elements). Element root = doc.getDefaultRootElement(); Element par = root.getElement(0); h.check(par.getElementCount(), 3); // Now check what comes out when we insert one element at 5. doc.insert(5, specs); // We have one paragraph in the root element. root = doc.getDefaultRootElement(); h.check(root.getElementCount(), 1); // We should now have 4 children in the paragraph. par = root.getElement(0); h.check(par.getElementCount(), 4); Element el1 = par.getElement(0); h.check(el1.getStartOffset(), 0); h.check(el1.getEndOffset(), 5); Element el2 = par.getElement(1); h.check(el2.getStartOffset(), 5); h.check(el2.getEndOffset(), 10); Element el3 = par.getElement(2); h.check(el3.getStartOffset(), 10); h.check(el3.getEndOffset(), 15); // Now check the document event that was fired. // No changes for the root. DocumentEvent.ElementChange ec = documentEvent.getChange(root); h.check(ec, null); // Two removals and one add for the paragraph. ec = documentEvent.getChange(par); h.check(ec.getChildrenAdded().length, 2); h.check(ec.getChildrenRemoved().length, 1); h.check(ec.getIndex(), 0); } /** * Tests content insertion with OriginateDirection. This test inserts * a content element in between the first existing element. * * @param h the test harness to use */ private void testOriginate2(TestHarness h) { h.checkPoint("testOriginate2"); TestDocument doc = new TestDocument(); doc.addDocumentListener(this); char[] text = new char[] {'H', 'e', 'l', 'l', 'o'}; SimpleAttributeSet atts = new SimpleAttributeSet(); TestDocument.ElementSpec spec = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.ContentType, text, 0, 5); spec.setDirection(TestDocument.ElementSpec.OriginateDirection); TestDocument.ElementSpec[] specs = new TestDocument.ElementSpec[]{ spec }; // Create the precondition, two elements [Hello], one at 0 and one at 5. doc.insert(0, specs); doc.insert(5, specs); // Now check what comes out when we insert one element at 2. doc.insert(2, specs); // We have one paragraph in the root element. Element root = doc.getDefaultRootElement(); h.check(root.getElementCount(), 1); // We should now have 5 children in the paragraph. Element par = root.getElement(0); h.check(par.getElementCount(), 5); Element el1 = par.getElement(0); h.check(el1.getStartOffset(), 0); h.check(el1.getEndOffset(), 2); Element el2 = par.getElement(1); h.check(el2.getStartOffset(), 2); h.check(el2.getEndOffset(), 7); Element el3 = par.getElement(2); h.check(el3.getStartOffset(), 7); h.check(el3.getEndOffset(), 10); Element el4 = par.getElement(3); h.check(el4.getStartOffset(), 10); h.check(el4.getEndOffset(), 15); // Now check the document event that was fired. // No changes for the root. DocumentEvent.ElementChange ec = documentEvent.getChange(root); h.check(ec, null); // Two removals and one add for the paragraph. ec = documentEvent.getChange(par); h.check(ec.getChildrenAdded().length, 3); h.check(ec.getChildrenRemoved().length, 1); h.check(ec.getIndex(), 0); } /** * Tests content insertion with OriginateDirection. This test inserts * a content element in between the second existing element. * * @param h the test harness to use */ private void testOriginate3(TestHarness h) { h.checkPoint("testOriginate3"); TestDocument doc = new TestDocument(); doc.addDocumentListener(this); char[] text = new char[] {'H', 'e', 'l', 'l', 'o'}; SimpleAttributeSet atts = new SimpleAttributeSet(); TestDocument.ElementSpec spec = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.ContentType, text, 0, 5); spec.setDirection(TestDocument.ElementSpec.OriginateDirection); TestDocument.ElementSpec[] specs = new TestDocument.ElementSpec[]{ spec }; // Create the precondition, two elements [Hello], one at 0 and one at 5. doc.insert(0, specs); doc.insert(5, specs); // Now check what comes out when we insert one element at 7. doc.insert(7, specs); // We have one paragraph in the root element. Element root = doc.getDefaultRootElement(); h.check(root.getElementCount(), 1); // We should now have 5 children in the paragraph. Element par = root.getElement(0); h.check(par.getElementCount(), 5); Element el1 = par.getElement(0); h.check(el1.getStartOffset(), 0); h.check(el1.getEndOffset(), 5); Element el2 = par.getElement(1); h.check(el2.getStartOffset(), 5); h.check(el2.getEndOffset(), 7); Element el3 = par.getElement(2); h.check(el3.getStartOffset(), 7); h.check(el3.getEndOffset(), 12); Element el4 = par.getElement(3); h.check(el4.getStartOffset(), 12); h.check(el4.getEndOffset(), 15); // Now check the document event that was fired. // No changes for the root. DocumentEvent.ElementChange ec = documentEvent.getChange(root); h.check(ec, null); // Two removals and one add for the paragraph. ec = documentEvent.getChange(par); h.check(ec.getChildrenAdded().length, 3); h.check(ec.getChildrenRemoved().length, 1); h.check(ec.getIndex(), 1); } /** * Tests content insertion with JoinPreviousDirection. This test inserts * a content element between two existing elements. * * @param h the test harness to use */ private void testJoinPrevious1(TestHarness h) { h.checkPoint("testJoinPrevious1"); TestDocument doc = new TestDocument(); doc.addDocumentListener(this); char[] text = new char[] {'H', 'e', 'l', 'l', 'o'}; SimpleAttributeSet atts = new SimpleAttributeSet(); TestDocument.ElementSpec spec = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.ContentType, text, 0, 5); spec.setDirection(TestDocument.ElementSpec.OriginateDirection); TestDocument.ElementSpec[] specs = new TestDocument.ElementSpec[]{ spec }; // Create the precondition, two elements [Hello], one at 0 and one at 5. doc.insert(0, specs); doc.insert(5, specs); // Now check what comes out when we insert one element at 5. spec.setDirection(TestDocument.ElementSpec.JoinPreviousDirection); documentEvent = null; doc.insert(5, specs); // We have one paragraph in the root element. Element root = doc.getDefaultRootElement(); h.check(root.getElementCount(), 1); // We should now have 3 children in the paragraph. Element par = root.getElement(0); h.check(par.getElementCount(), 3); Element el1 = par.getElement(0); h.check(el1.getStartOffset(), 0); h.check(el1.getEndOffset(), 10); Element el2 = par.getElement(1); h.check(el2.getStartOffset(), 10); h.check(el2.getEndOffset(), 15); // No changes for the document. // TODO: The document event here is an InsertUndo from GapContent. // We currently don't have such thing and return null. // h.check(documentEvent, null); } /** * Tests content insertion with JoinPreviousDirection. This test inserts * a content element in between the first existing element. * * @param h the test harness to use */ private void testJoinPrevious2(TestHarness h) { h.checkPoint("testJoinPrevious2"); TestDocument doc = new TestDocument(); doc.addDocumentListener(this); char[] text = new char[] {'H', 'e', 'l', 'l', 'o'}; SimpleAttributeSet atts = new SimpleAttributeSet(); TestDocument.ElementSpec spec = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.ContentType, text, 0, 5); spec.setDirection(TestDocument.ElementSpec.OriginateDirection); TestDocument.ElementSpec[] specs = new TestDocument.ElementSpec[]{ spec }; // Create the precondition, two elements [Hello], one at 0 and one at 5. doc.insert(0, specs); doc.insert(5, specs); // Now check what comes out when we insert one element at 2. spec.setDirection(TestDocument.ElementSpec.JoinPreviousDirection); documentEvent = null; doc.insert(2, specs); // We have one paragraph in the root element. Element root = doc.getDefaultRootElement(); h.check(root.getElementCount(), 1); // We should now have 3 children in the paragraph. Element par = root.getElement(0); h.check(par.getElementCount(), 3); Element el1 = par.getElement(0); h.check(el1.getStartOffset(), 0); h.check(el1.getEndOffset(), 10); Element el2 = par.getElement(1); h.check(el2.getStartOffset(), 10); h.check(el2.getEndOffset(), 15); // No changes for the document. // TODO: The document event here is an InsertUndo from GapContent. // We currently don't have such thing and return null. // h.check(documentEvent, null); } /** * Tests content insertion with JoinPreviousDirection. This test inserts * a content element in between the second existing element. * * @param h the test harness to use */ private void testJoinPrevious3(TestHarness h) { h.checkPoint("testJoinPrevious3"); TestDocument doc = new TestDocument(); doc.addDocumentListener(this); char[] text = new char[] {'H', 'e', 'l', 'l', 'o'}; SimpleAttributeSet atts = new SimpleAttributeSet(); TestDocument.ElementSpec spec = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.ContentType, text, 0, 5); spec.setDirection(TestDocument.ElementSpec.OriginateDirection); TestDocument.ElementSpec[] specs = new TestDocument.ElementSpec[]{ spec }; // Create the precondition, two elements [Hello], one at 0 and one at 5. doc.insert(0, specs); doc.insert(5, specs); // Now check what comes out when we insert one element at 7. spec.setDirection(TestDocument.ElementSpec.JoinPreviousDirection); documentEvent = null; doc.insert(7, specs); // We have one paragraph in the root element. Element root = doc.getDefaultRootElement(); h.check(root.getElementCount(), 1); // We should now have 5 children in the paragraph. Element par = root.getElement(0); h.check(par.getElementCount(), 3); Element el1 = par.getElement(0); h.check(el1.getStartOffset(), 0); h.check(el1.getEndOffset(), 5); Element el2 = par.getElement(1); h.check(el2.getStartOffset(), 5); h.check(el2.getEndOffset(), 15); // No changes for the document. // TODO: The document event here is an InsertUndo from GapContent. // We currently don't have such thing and return null. // h.check(documentEvent, null); } /** * Tests content insertion with JoinNextDirection. This test inserts * a content element between two existing elements. * * @param h the test harness to use */ private void testJoinNext1(TestHarness h) { h.checkPoint("testJoinNext1"); TestDocument doc = new TestDocument(); doc.addDocumentListener(this); char[] text = new char[] {'H', 'e', 'l', 'l', 'o'}; SimpleAttributeSet atts = new SimpleAttributeSet(); TestDocument.ElementSpec spec = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.ContentType, text, 0, 5); spec.setDirection(TestDocument.ElementSpec.OriginateDirection); TestDocument.ElementSpec[] specs = new TestDocument.ElementSpec[]{ spec }; // Create the precondition, two elements [Hello], one at 0 and one at 5. doc.insert(0, specs); doc.insert(5, specs); // Now check what comes out when we insert one element at 5. spec.setDirection(TestDocument.ElementSpec.JoinNextDirection); doc.insert(5, specs); // We have one paragraph in the root element. Element root = doc.getDefaultRootElement(); h.check(root.getElementCount(), 1); // We should now have 3 children in the paragraph. Element par = root.getElement(0); h.check(par.getElementCount(), 3); Element el1 = par.getElement(0); h.check(el1.getStartOffset(), 0); h.check(el1.getEndOffset(), 5); Element el2 = par.getElement(1); h.check(el2.getStartOffset(), 5); h.check(el2.getEndOffset(), 15); // Now check the document event that was fired. // No changes for the root. DocumentEvent.ElementChange ec = documentEvent.getChange(root); h.check(ec, null); // No structural change for the paragraph. ec = documentEvent.getChange(par); h.check(ec.getChildrenAdded().length, 2); h.check(ec.getChildrenRemoved().length, 2); h.check(ec.getIndex(), 0); } /** * Tests content insertion with JoinPreviousDirection. This test inserts * a content element in between the first existing element. * * @param h the test harness to use */ private void testJoinNext2(TestHarness h) { h.checkPoint("testJoinNext2"); TestDocument doc = new TestDocument(); doc.addDocumentListener(this); char[] text = new char[] {'H', 'e', 'l', 'l', 'o'}; SimpleAttributeSet atts = new SimpleAttributeSet(); TestDocument.ElementSpec spec = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.ContentType, text, 0, 5); spec.setDirection(TestDocument.ElementSpec.OriginateDirection); TestDocument.ElementSpec[] specs = new TestDocument.ElementSpec[]{ spec }; // Create the precondition, two elements [Hello], one at 0 and one at 5. doc.insert(0, specs); doc.insert(5, specs); // Now check what comes out when we insert one element at 2. spec.setDirection(TestDocument.ElementSpec.JoinNextDirection); doc.insert(2, specs); // We have one paragraph in the root element. Element root = doc.getDefaultRootElement(); h.check(root.getElementCount(), 1); // We should now have 3 children in the paragraph. Element par = root.getElement(0); h.check(par.getElementCount(), 3); Element el1 = par.getElement(0); h.check(el1.getStartOffset(), 0); h.check(el1.getEndOffset(), 2); Element el2 = par.getElement(1); h.check(el2.getStartOffset(), 2); h.check(el2.getEndOffset(), 15); // Now check the document event that was fired. // No changes for the root. DocumentEvent.ElementChange ec = documentEvent.getChange(root); h.check(ec, null); // No structural change for the paragraph. ec = documentEvent.getChange(par); h.check(ec.getChildrenAdded().length, 2); h.check(ec.getChildrenRemoved().length, 2); h.check(ec.getIndex(), 0); } /** * Tests content insertion with JoinPreviousDirection. This test inserts * a content element in between the second existing element. * * @param h the test harness to use */ private void testJoinNext3(TestHarness h) { h.checkPoint("testJoinNext3"); TestDocument doc = new TestDocument(); doc.addDocumentListener(this); char[] text = new char[] {'H', 'e', 'l', 'l', 'o'}; SimpleAttributeSet atts = new SimpleAttributeSet(); TestDocument.ElementSpec spec = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.ContentType, text, 0, 5); spec.setDirection(TestDocument.ElementSpec.OriginateDirection); TestDocument.ElementSpec[] specs = new TestDocument.ElementSpec[]{ spec }; // Create the precondition, two elements [Hello], one at 0 and one at 5. doc.insert(0, specs); doc.insert(5, specs); // Now check what comes out when we insert one element at 7. spec.setDirection(TestDocument.ElementSpec.JoinNextDirection); doc.insert(7, specs); // We have one paragraph in the root element. Element root = doc.getDefaultRootElement(); h.check(root.getElementCount(), 1); // We should now have 3 children in the paragraph. Element par = root.getElement(0); h.check(par.getElementCount(), 3); Element el1 = par.getElement(0); h.check(el1.getStartOffset(), 0); h.check(el1.getEndOffset(), 5); Element el2 = par.getElement(1); h.check(el2.getStartOffset(), 5); h.check(el2.getEndOffset(), 7); Element el3 = par.getElement(2); h.check(el3.getStartOffset(), 7); h.check(el3.getEndOffset(), 16); // Now check the document event that was fired. // No changes for the root. DocumentEvent.ElementChange ec = documentEvent.getChange(root); h.check(ec, null); // No structural change for the paragraph. ec = documentEvent.getChange(par); h.check(ec.getChildrenAdded().length, 2); h.check(ec.getChildrenRemoved().length, 2); h.check(ec.getIndex(), 1); } /** * Tests insertion of some simple EndTags. This test inserts 3 * EndTag elements in between the second existing element. This is more * then the element stack has to offer. Still, this action alone does * nothing. Obviously the real insertion is only performed when it is * followed by a content insertion. For this case, see the other EndTag * tests. * * @param h the test harness to use */ private void testEndTag1(TestHarness h) { h.checkPoint("testEndTag1"); TestDocument doc = new TestDocument(); doc.addDocumentListener(this); char[] text = new char[] {'H', 'e', 'l', 'l', 'o'}; SimpleAttributeSet atts = new SimpleAttributeSet(); TestDocument.ElementSpec spec = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.ContentType, text, 0, 5); spec.setDirection(TestDocument.ElementSpec.OriginateDirection); TestDocument.ElementSpec[] specs = new TestDocument.ElementSpec[]{ spec }; // Create the precondition, two elements [Hello], one at 0 and one at 5. doc.insert(0, specs); doc.insert(5, specs); // Now check what comes out when we insert one element at 7. spec = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.EndTagType); specs = new TestDocument.ElementSpec[]{ spec, spec, spec }; documentEvent = null; doc.insert(7, specs); // We have one paragraph in the root element. Element root = doc.getDefaultRootElement(); h.check(root.getElementCount(), 1); // We should now have 3 children in the paragraph. Element par = root.getElement(0); h.check(par.getElementCount(), 3); Element el1 = par.getElement(0); h.check(el1.getStartOffset(), 0); h.check(el1.getEndOffset(), 5); Element el2 = par.getElement(1); h.check(el2.getStartOffset(), 5); h.check(el2.getEndOffset(), 10); Element el3 = par.getElement(2); h.check(el3.getStartOffset(), 10); h.check(el3.getEndOffset(), 11); // Now check the document event that was fired. // No changes for the root. h.check(documentEvent, null); } /** * Tests insertion of some simple EndTags. This test inserts 3 * EndTag elements in between the second existing element. This is more * then the element stack has to offer. Still, this action alone does * nothing. Therefore this insertion is followed by a StartTag insertion. * Obviously the real insertion is only performed when it is * followed by a content insertion. For this case, see the other EndTag * tests. * * @param h the test harness to use */ private void testEndTag2(TestHarness h) { h.checkPoint("testEndTag2"); TestDocument doc = new TestDocument(); doc.addDocumentListener(this); char[] text = new char[] {'H', 'e', 'l', 'l', 'o'}; SimpleAttributeSet atts = new SimpleAttributeSet(); TestDocument.ElementSpec spec = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.ContentType, text, 0, 5); spec.setDirection(TestDocument.ElementSpec.OriginateDirection); TestDocument.ElementSpec[] specs = new TestDocument.ElementSpec[]{ spec }; // Create the precondition, two elements [Hello], one at 0 and one at 5. doc.insert(0, specs); doc.insert(5, specs); // Now check what comes out when we insert one element at 7. TestDocument.ElementSpec spec1 = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.EndTagType); TestDocument.ElementSpec spec2 = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.StartTagType); specs = new TestDocument.ElementSpec[]{ spec1, spec1, spec1, spec2}; documentEvent = null; doc.insert(7, specs); // We have one paragraph in the root element. Element root = doc.getDefaultRootElement(); h.check(root.getElementCount(), 1); // We should now have 3 children in the paragraph. Element par = root.getElement(0); h.check(par.getElementCount(), 3); Element el1 = par.getElement(0); h.check(el1.getStartOffset(), 0); h.check(el1.getEndOffset(), 5); Element el2 = par.getElement(1); h.check(el2.getStartOffset(), 5); h.check(el2.getEndOffset(), 10); Element el3 = par.getElement(2); h.check(el3.getStartOffset(), 10); h.check(el3.getEndOffset(), 11); // No structural change for the paragraph. h.check(documentEvent, null); } /** * Tests insertion of some simple EndTags. This test inserts 3 * EndTag elements in between the second existing element. This is more * then the element stack has to offer. Still, this action alone does * nothing. Therefore this insertion is followed by a content insertion. * This triggers the insertion of the end tags and since we have inserted * more end tags than the stack has to offer, this throws an * EmptyStackException. * * @param h the test harness to use */ private void testEndTag3(TestHarness h) { h.checkPoint("testEndTag3"); TestDocument doc = new TestDocument(); doc.addDocumentListener(this); char[] text = new char[] {'H', 'e', 'l', 'l', 'o'}; SimpleAttributeSet atts = new SimpleAttributeSet(); TestDocument.ElementSpec spec = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.ContentType, text, 0, 5); spec.setDirection(TestDocument.ElementSpec.OriginateDirection); TestDocument.ElementSpec[] specs = new TestDocument.ElementSpec[]{ spec }; // Create the precondition, two elements [Hello], one at 0 and one at 5. doc.insert(0, specs); doc.insert(5, specs); // Now check what comes out when we insert one element at 7. TestDocument.ElementSpec spec1 = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.EndTagType); specs = new TestDocument.ElementSpec[]{ spec1, spec1, spec}; documentEvent = null; try { doc.insert(7, specs); h.fail("EmptyStackException must be thrown"); } catch (EmptyStackException ex) { h.check(true); } // We have one paragraph in the root element. Element root = doc.getDefaultRootElement(); h.check(root.getElementCount(), 1); // We should now have 3 children in the paragraph. Element par = root.getElement(0); h.check(par.getElementCount(), 3); Element el1 = par.getElement(0); h.check(el1.getStartOffset(), 0); h.check(el1.getEndOffset(), 5); Element el2 = par.getElement(1); h.check(el2.getStartOffset(), 5); h.check(el2.getEndOffset(), 15); Element el3 = par.getElement(2); h.check(el3.getStartOffset(), 15); h.check(el3.getEndOffset(), 16); // No structural change for the paragraph. h.check(documentEvent, null); } /** * Tests insertion of some simple EndTags. This test inserts 3 * EndTag elements in between the second existing element. This is more * then the element stack has to offer. Still, this action alone does * nothing. Therefore this insertion is followed by a content insertion. * * @param h the test harness to use */ private void testEndTag4(TestHarness h) { h.checkPoint("testEndTag4"); TestDocument doc = new TestDocument(); doc.addDocumentListener(this); char[] text = new char[] {'H', 'e', 'l', 'l', 'o'}; SimpleAttributeSet atts = new SimpleAttributeSet(); TestDocument.ElementSpec spec = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.ContentType, text, 0, 5); spec.setDirection(TestDocument.ElementSpec.OriginateDirection); TestDocument.ElementSpec[] specs = new TestDocument.ElementSpec[]{ spec }; // Create the precondition, two elements [Hello], one at 0 and one at 5. doc.insert(0, specs); doc.insert(5, specs); // Now check what comes out when we insert one element at 7. TestDocument.ElementSpec spec1 = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.EndTagType); specs = new TestDocument.ElementSpec[]{ spec1, spec}; documentEvent = null; doc.insert(7, specs); // We have one paragraph in the root element. Element root = doc.getDefaultRootElement(); h.check(root.getElementCount(), 3); // We should now have 2 children in the first paragraph. Element par1 = root.getElement(0); h.check(par1.getElementCount(), 2); Element el = par1.getElement(0); h.check(el.getStartOffset(), 0); h.check(el.getEndOffset(), 5); el = par1.getElement(1); h.check(el.getStartOffset(), 5); h.check(el.getEndOffset(), 7); // We should now have 1 leaf element between the first and second // paragraph. el = root.getElement(1); h.check(el.getElementCount(), 0); h.check(el.getStartOffset(), 7); h.check(el.getEndOffset(), 12); // We should now have 2 children in the first paragraph. Element par2 = root.getElement(2); h.check(par2.getElementCount(), 2); el = par2.getElement(0); h.check(el.getStartOffset(), 12); h.check(el.getEndOffset(), 15); el = par2.getElement(1); h.check(el.getStartOffset(), 15); h.check(el.getEndOffset(), 16); // Some structural changes for the root. DocumentEvent.ElementChange ec = documentEvent.getChange(root); h.check(ec.getChildrenRemoved().length, 0); h.check(ec.getChildrenAdded().length, 2); h.check(ec.getIndex(), 1); // Check changes for paragraph 1 ec = documentEvent.getChange(par1); h.check(ec.getChildrenRemoved().length, 2); h.check(ec.getChildrenAdded().length, 1); h.check(ec.getIndex(), 1); // Check changes for paragraph 2 ec = documentEvent.getChange(par2); h.check(ec, null); } /** * Tests insertion of some simple EndTags. This test inserts 3 * EndTag elements in between the second existing element. This is more * then the element stack has to offer. Still, this action alone does * nothing. Therefore this insertion is followed by a content insertion. * * @param h the test harness to use */ private void testEndTag5(TestHarness h) { h.checkPoint("testEndTag5"); TestDocument doc = new TestDocument(); doc.addDocumentListener(this); char[] text = new char[] {'H', 'e', 'l', 'l', 'o'}; SimpleAttributeSet atts = new SimpleAttributeSet(); TestDocument.ElementSpec spec = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.ContentType, text, 0, 5); spec.setDirection(TestDocument.ElementSpec.OriginateDirection); TestDocument.ElementSpec[] specs = new TestDocument.ElementSpec[]{ spec }; // Create the precondition, two elements [Hello], one at 0 and one at 5. doc.insert(0, specs); doc.insert(5, specs); // Now check what comes out when we insert one element at 5. TestDocument.ElementSpec spec1 = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.EndTagType); TestDocument.ElementSpec spec2 = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.StartTagType); specs = new TestDocument.ElementSpec[]{ spec, spec1, spec2}; documentEvent = null; doc.insert(5, specs); // We have one paragraph in the root element. Element root = doc.getDefaultRootElement(); h.check(root.getElementCount(), 2); // We should now have 2 children in the first paragraph. Element par1 = root.getElement(0); h.check(par1.getElementCount(), 2); Element el = par1.getElement(0); h.check(el.getStartOffset(), 0); h.check(el.getEndOffset(), 5); el = par1.getElement(1); h.check(el.getStartOffset(), 5); h.check(el.getEndOffset(), 10); // We should now have 2 children in the first paragraph. Element par2 = root.getElement(1); h.check(par2.getElementCount(), 2); el = par2.getElement(0); h.check(el.getStartOffset(), 10); h.check(el.getEndOffset(), 15); el = par2.getElement(1); h.check(el.getStartOffset(), 15); h.check(el.getEndOffset(), 16); // Some structural changes for the root. DocumentEvent.ElementChange ec = documentEvent.getChange(root); h.check(ec.getChildrenRemoved().length, 0); h.check(ec.getChildrenAdded().length, 1); h.check(ec.getIndex(), 1); // Check changes for paragraph 1 ec = documentEvent.getChange(par1); h.check(ec.getChildrenRemoved().length, 3); h.check(ec.getChildrenAdded().length, 2); h.check(ec.getIndex(), 0); // Check changes for paragraph 2 ec = documentEvent.getChange(par2); h.check(ec, null); } /** * Inserts 'a\na\n' and checks the results. The characters are inserted * one by one, as if somebody typed it in by keyboard. * * @param h the test harness to use */ private void testNewlines(TestHarness h) { h.checkPoint("testNewlines"); TestDocument doc = new TestDocument(); doc.addDocumentListener(this); // The first 'a' char[] text = new char[] {'a'}; SimpleAttributeSet atts = new SimpleAttributeSet(); TestDocument.ElementSpec[] specs = new TestDocument.ElementSpec[1]; specs[0] = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.ContentType, text, 0, 1); specs[0].setDirection(TestDocument.ElementSpec.JoinPreviousDirection); doc.insert(0, specs); // The first '\n' text = new char[] {'\n'}; specs = new TestDocument.ElementSpec[3]; specs[0] = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.ContentType, text, 0, 1); specs[0].setDirection(TestDocument.ElementSpec.JoinPreviousDirection); specs[1] = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.EndTagType); specs[1].setDirection(TestDocument.ElementSpec.OriginateDirection); specs[2] = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.StartTagType); specs[2].setDirection(TestDocument.ElementSpec.JoinFractureDirection); doc.insert(1, specs); // The second 'a' text = new char[] {'a'}; specs = new TestDocument.ElementSpec[3]; specs[0] = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.EndTagType); specs[0].setDirection(TestDocument.ElementSpec.OriginateDirection); specs[1] = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.StartTagType); specs[1].setDirection(TestDocument.ElementSpec.JoinNextDirection); specs[2] = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.ContentType, text, 0, 1); specs[2].setDirection(TestDocument.ElementSpec.OriginateDirection); doc.insert(2, specs); // The second '\n' text = new char[] {'\n'}; specs = new TestDocument.ElementSpec[3]; specs[0] = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.ContentType, text, 0, 1); specs[0].setDirection(TestDocument.ElementSpec.JoinPreviousDirection); specs[1] = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.EndTagType); specs[1].setDirection(TestDocument.ElementSpec.OriginateDirection); specs[2] = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.StartTagType); specs[2].setDirection(TestDocument.ElementSpec.JoinFractureDirection); doc.insert(3, specs); // We have one paragraph in the root element. Element root = doc.getDefaultRootElement(); h.check(root.getElementCount(), 3); // We should now have 1 child in the 1st paragraph. Element par = root.getElement(0); h.check(par.getElementCount(), 1); Element el = par.getElement(0); h.check(el.getStartOffset(), 0); h.check(el.getEndOffset(), 2); // We should now have 1 child in the 2nd paragraph. par = root.getElement(1); h.check(par.getElementCount(), 1); el = par.getElement(0); h.check(el.getStartOffset(), 2); h.check(el.getEndOffset(), 4); // We should now have 1 child in the 3rd paragraph. par = root.getElement(2); h.check(par.getElementCount(), 1); el = par.getElement(0); h.check(el.getStartOffset(), 4); h.check(el.getEndOffset(), 5); } /** * Inserts 'a\na\na' and checks the results. The characters are inserted * one by one, as if somebody typed it in by keyboard. * * @param h the test harness to use */ private void testNewlines2(TestHarness h) { h.checkPoint("testNewlines2"); TestDocument doc = new TestDocument(); doc.addDocumentListener(this); // The first 'a' char[] text = new char[] {'a'}; SimpleAttributeSet atts = new SimpleAttributeSet(); TestDocument.ElementSpec[] specs = new TestDocument.ElementSpec[1]; specs[0] = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.ContentType, text, 0, 1); specs[0].setDirection(TestDocument.ElementSpec.JoinPreviousDirection); doc.insert(0, specs); // The first '\n' text = new char[] {'\n'}; specs = new TestDocument.ElementSpec[3]; specs[0] = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.ContentType, text, 0, 1); specs[0].setDirection(TestDocument.ElementSpec.JoinPreviousDirection); specs[1] = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.EndTagType); specs[1].setDirection(TestDocument.ElementSpec.OriginateDirection); specs[2] = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.StartTagType); specs[2].setDirection(TestDocument.ElementSpec.JoinFractureDirection); doc.insert(1, specs); // The second 'a' text = new char[] {'a'}; specs = new TestDocument.ElementSpec[3]; specs[0] = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.EndTagType); specs[0].setDirection(TestDocument.ElementSpec.OriginateDirection); specs[1] = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.StartTagType); specs[1].setDirection(TestDocument.ElementSpec.JoinNextDirection); specs[2] = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.ContentType, text, 0, 1); specs[2].setDirection(TestDocument.ElementSpec.OriginateDirection); doc.insert(2, specs); // The second '\n' text = new char[] {'\n'}; specs = new TestDocument.ElementSpec[3]; specs[0] = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.ContentType, text, 0, 1); specs[0].setDirection(TestDocument.ElementSpec.JoinPreviousDirection); specs[1] = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.EndTagType); specs[1].setDirection(TestDocument.ElementSpec.OriginateDirection); specs[2] = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.StartTagType); specs[2].setDirection(TestDocument.ElementSpec.JoinFractureDirection); doc.insert(3, specs); // The 3rd 'a' text = new char[] {'a'}; specs = new TestDocument.ElementSpec[3]; specs[0] = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.EndTagType); specs[0].setDirection(TestDocument.ElementSpec.OriginateDirection); specs[1] = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.StartTagType); specs[1].setDirection(TestDocument.ElementSpec.JoinNextDirection); specs[2] = new TestDocument.ElementSpec(atts, TestDocument.ElementSpec.ContentType, text, 0, 1); specs[2].setDirection(TestDocument.ElementSpec.OriginateDirection); doc.insert(4, specs); // We have 3 paragraph in the root element. Element root = doc.getDefaultRootElement(); h.check(root.getElementCount(), 3); // We should now have 1 child in the 1st paragraph. Element par = root.getElement(0); h.check(par.getElementCount(), 1); Element el = par.getElement(0); h.check(el.getStartOffset(), 0); h.check(el.getEndOffset(), 2); // We should now have 1 child in the 2nd paragraph. par = root.getElement(1); h.check(par.getElementCount(), 1); el = par.getElement(0); h.check(el.getStartOffset(), 2); h.check(el.getEndOffset(), 4); // We should now have 2 children in the 3rd paragraph. par = root.getElement(2); h.check(par.getElementCount(), 2); el = par.getElement(0); h.check(el.getStartOffset(), 4); h.check(el.getEndOffset(), 5); el = par.getElement(1); h.check(el.getStartOffset(), 5); h.check(el.getEndOffset(), 6); } /** * Receives notification when some text attributes have changed. * * @param event the document event */ public void changedUpdate(DocumentEvent event) { // Do nothing here. } /** * Receives notification when some text has been inserted into the document. * * @param event the document event */ public void insertUpdate(DocumentEvent event) { documentEvent = event; } /** * Receives notification when some text has been removed from the document. * * @param event the document event */ public void removeUpdate(DocumentEvent event) { // Do nothing here. } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure3.javamauve-20140821/gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure3.ja0000644000175000001440000001144210371665106032361 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2006 Red Hat. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.text.DefaultStyledDocument.ElementBuffer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.AbstractDocument; import javax.swing.text.AttributeSet; import javax.swing.text.BadLocationException; import javax.swing.text.DefaultStyledDocument; import javax.swing.text.Element; import javax.swing.text.Segment; public class ElementStructure3 extends DefaultStyledDocument implements Testlet { /** * Starts the test run. * * @param harness * the test harness to use */ public void test(TestHarness harness) { h2 = harness; try { ElementStructure3 doc = new ElementStructure3(); doc.insertString(0, "Questions are a " + "burden to others,\n" + "answers a " + "prison for oneself.", null); // printElements(doc.getDefaultRootElement(), 0); } catch (Exception t) { // t.printStackTrace(); harness.debug(t); } catch (AssertionError e) { // e.printStackTrace(); harness.debug(e); } } static TestHarness h2; static int numInserts = 0; static int numLeaves = 0; static int numBranches = 0; // We override the constructor so we can explicitly set the type of the // buffer to be our ElementBuffer2, allowing us to test some internals. public ElementStructure3() { super(); buffer = new ElementBuffer2(createDefaultRoot()); } // Overriding this method allows us to check that the right number // of newLines was encountered and that the event has the proper // offset and length. protected void insertUpdate(DefaultDocumentEvent ev, AttributeSet attr) { int newLines = 0; h2.check (ev.getLength() == 134); h2.check (ev.getOffset() == 0); Segment txt = new Segment(); try { getText(ev.getOffset(), ev.getLength() + 1, txt); } catch (BadLocationException ble) { } int i = txt.offset; for (; i < txt.offset + txt.count - 1; i ++) { if (txt.array[i] == '\n') newLines ++; } h2.check (newLines == 1); h2.check (txt.array[i] == '\n'); super.insertUpdate(ev, attr); } // A class to be the buffer of the styled document. // This allows us to check that some values are correct internally within // the ElementBuffer. public class ElementBuffer2 extends ElementBuffer { public ElementBuffer2(Element root) { super(root); } // This method allows us to check that the ElementSpecs generated by // DefaultStyledDocument.insertUpdate are correct. protected void insertUpdate(ElementSpec[] data) { numInserts ++; if (numInserts == 1) { h2.checkPoint("ElementBuffer insertUpdate: first insertion"); h2.check (data.length == 4); h2.check (data[0].getType() == ElementSpec.ContentType); h2.check (data[0].getDirection() == ElementSpec.JoinPreviousDirection); h2.check (data[0].getOffset() == 0); h2.check (data[0].getLength() == 70); h2.check (data[1].getType() == ElementSpec.EndTagType); h2.check (data[1].getDirection() == ElementSpec.OriginateDirection); h2.check (data[1].getOffset() == 0); h2.check (data[1].getLength() == 0); h2.check (data[2].getType() == ElementSpec.StartTagType); h2.check (data[2].getDirection() == ElementSpec.JoinFractureDirection); h2.check (data[2].getOffset() == 0); h2.check (data[2].getLength() == 0); h2.check (data[3].getType() == ElementSpec.ContentType); h2.check (data[3].getDirection() == ElementSpec.JoinNextDirection); h2.check (data[3].getOffset() == 0); h2.check (data[3].getLength() == 64); } else h2.fail("too many ElementSpecs created"); super.insertUpdate(data); } } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure7.javamauve-20140821/gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure7.ja0000644000175000001440000001531010371665106032363 0ustar dokousers/* ElementStructure7.java -- Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package gnu.testlet.javax.swing.text.DefaultStyledDocument.ElementBuffer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Vector; import javax.swing.event.DocumentEvent; import javax.swing.text.AbstractDocument; import javax.swing.text.AttributeSet; import javax.swing.text.BadLocationException; import javax.swing.text.DefaultStyledDocument; import javax.swing.text.Element; public class ElementStructure7 extends DefaultStyledDocument implements Testlet { /** * Starts the test run. * * @param harness * the test harness to use */ public void test(TestHarness harness) { ElementStructure7 doc = new ElementStructure7(); h2 = harness; try { doc.insertString(0, "aaaaaaaaa\nbbbbbbbbb", null); doc.insertString(5, "\nN", null); } catch (Exception ex) { // ex.printStackTrace(); h2.debug(ex); } catch (AssertionError e) { // e.printStackTrace(); harness.debug(e); } // printElements(doc.getDefaultRootElement(), 0); } static TestHarness h2; static DefaultDocumentEvent docEvent = null; static int numInserts = 0; // We override the constructor so we can explicitly set the type of the // buffer to be our ElementBuffer2, allowing us to test some internals. public ElementStructure7() { super(); buffer = new ElementBuffer2(createDefaultRoot()); } // Overriding this method allows us to check that the right number // of newLines was encountered and that the event has the proper // offset and length. protected void insertUpdate(DefaultDocumentEvent ev, AttributeSet attr) { int l = ev.getLength(); int o = ev.getOffset(); if (numInserts == 0) { h2.checkPoint("first doc event"); h2.check(o == 0); h2.check(l == 19); } else if (numInserts == 1) { h2.checkPoint("second doc event"); h2.check(o == 5); h2.check(l == 2); } else h2.fail ("too many calls to DefaultStyledDocument.insertUpdate"); super.insertUpdate (ev, attr); } // A class to be the buffer of the styled document. // This allows us to check that some values are correct internally within // the ElementBuffer. public class ElementBuffer2 extends ElementBuffer { public ElementBuffer2(Element root) { super(root); } // This method allows us to check that the ElementSpecs generated by // DefaultStyledDocument.insertUpdate are correct. protected void insertUpdate(ElementSpec[] data) { numInserts++; if (numInserts == 1) { h2.checkPoint("ElementBuffer insertUpdate: first insertion"); h2.check (data.length == 4); h2.check(data[0].getType() == ElementSpec.ContentType); h2.check (data[0].getDirection() == ElementSpec.JoinPreviousDirection); h2.check(data[0].getOffset() == 0); h2.check(data[0].getLength() == 10); h2.check(data[1].getType() == ElementSpec.EndTagType); h2.check(data[1].getDirection() == ElementSpec.OriginateDirection); h2.check(data[1].getOffset() == 0); h2.check(data[1].getLength() == 0); h2.check(data[2].getType() == ElementSpec.StartTagType); h2.check (data[2].getDirection() == ElementSpec.JoinFractureDirection); h2.check(data[2].getOffset() == 0); h2.check(data[2].getLength() == 0); h2.check(data[3].getType() == ElementSpec.ContentType); h2.check(data[3].getDirection() == ElementSpec.JoinNextDirection); h2.check(data[3].getOffset() == 0); h2.check(data[3].getLength() == 9); } else if (numInserts == 2) { h2.checkPoint("ElementBuffer insertUpdate: second insertion"); h2.check (data.length == 4); h2.check(data[0].getType() == ElementSpec.ContentType); h2.check (data[0].getDirection() == ElementSpec.JoinPreviousDirection); h2.check(data[0].getOffset() == 0); h2.check(data[0].getLength() == 1); h2.check(data[1].getType() == ElementSpec.EndTagType); h2.check(data[1].getDirection() == ElementSpec.OriginateDirection); h2.check(data[1].getOffset() == 0); h2.check(data[1].getLength() == 0); h2.check(data[2].getType() == ElementSpec.StartTagType); h2.check (data[2].getDirection() == ElementSpec.JoinFractureDirection); h2.check(data[2].getOffset() == 0); h2.check(data[2].getLength() == 0); h2.check(data[3].getType() == ElementSpec.ContentType); h2.check(data[3].getDirection() == ElementSpec.JoinNextDirection); h2.check(data[3].getOffset() == 0); h2.check(data[3].getLength() == 1); } else h2.fail("too many ElementSpecs created"); h2.check(docEvent.getChange(getDefaultRootElement()) == null); super.insertUpdate(data); h2.check(docEvent.getChange(getDefaultRootElement()) == null); } public void insert(int offset, int length, ElementSpec[] data, DefaultDocumentEvent ev) { docEvent = new DefaultDocumentEvent(ev.getOffset(), ev.getLength(), ev.getType()); super.insert(offset, length, data, docEvent); h2.check(data.length == 4); h2.check(data[0].getType() == ElementSpec.ContentType); h2.check(data[0].getDirection() == ElementSpec.JoinPreviousDirection); h2.check(data[1].getType() == ElementSpec.EndTagType); h2.check(data[1].getDirection() == ElementSpec.OriginateDirection); h2.check(data[2].getType() == ElementSpec.StartTagType); h2.check(data[2].getDirection() == ElementSpec.JoinFractureDirection); h2.check(data[3].getType() == ElementSpec.ContentType); h2.check(data[3].getDirection() == ElementSpec.JoinNextDirection); } } } mauve-20140821/gnu/testlet/javax/swing/text/DefaultStyledDocument/Create.java0000644000175000001440000000670110455473277026006 0ustar dokousers/* Insert.java -- Test bulk element insertion Copyright (C) 2006 Audrius Meskauskas This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.4 package gnu.testlet.javax.swing.text.DefaultStyledDocument; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.BadLocationException; import javax.swing.text.DefaultStyledDocument; import javax.swing.text.Element; import javax.swing.text.MutableAttributeSet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; import javax.swing.text.DefaultStyledDocument.ElementSpec; /** * Tests the protected method to insert the elements. This method is * important when modifying content of the derived HTMLDocument. */ public class Create extends Insert implements Testlet { /** * Override the package private method, exposing it here. */ class OpenDocument extends DefaultStyledDocument { public void create(ElementSpec[] data) { super.create(data); } } public void test(TestHarness harness) { MutableAttributeSet a1 = new SimpleAttributeSet(); MutableAttributeSet a2 = new SimpleAttributeSet(); MutableAttributeSet a3 = new SimpleAttributeSet(); a1.addAttribute(StyleConstants.NameAttribute, "MY_FIRST"); a2.addAttribute(StyleConstants.NameAttribute, "MY_SECOND"); a3.addAttribute(StyleConstants.NameAttribute, "MY_MIDDLE"); ElementSpec s1 = new ElementSpec(a1, ElementSpec.ContentType, "1".toCharArray(), 0, 1); ElementSpec s2 = new ElementSpec(a2, ElementSpec.ContentType, "2".toCharArray(), 0, 1); ElementSpec sm = new ElementSpec(a3, ElementSpec.ContentType, "m".toCharArray(), 0, 1); OpenDocument d = new OpenDocument(); d.create(new ElementSpec[] { s1, sm, s2 }); harness.check(d.getLength(), 3, "Length"); try { harness.check(d.getText(0, d.getLength()), "1m2"); } catch (BadLocationException e1) { throw new RuntimeException(e1); } Element[] e = d.getRootElements(); StringBuffer b = new StringBuffer(); for (int i = 0; i < e.length; i++) { dump(b, e[i]); } String r = b.toString(); // Sun 1.5.0_06-b05 swallows the first element. // harness.check(r.indexOf("MY_FIRST") >= 0, r); harness.check(r.indexOf("MY_MIDDLE") >= 0, r); harness.check(r.indexOf("MY_SECOND") >= 0, r); } void dump(StringBuffer b, Element x) { Object name = x.getAttributes().getAttribute(StyleConstants.NameAttribute); b.append("( "); b.append(name+":"+x.getStartOffset()+"-"+x.getEndOffset()); b.append(" ch "); for (int i = 0; i < x.getElementCount(); i++) { dump(b, x.getElement(i)); } b.append(") "); } } mauve-20140821/gnu/testlet/javax/swing/text/DefaultStyledDocument/Insert.java0000644000175000001440000001322010455471350026027 0ustar dokousers/* Insert.java -- Test bulk element insertion Copyright (C) 2006 Audrius Meskauskas This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.4 package gnu.testlet.javax.swing.text.DefaultStyledDocument; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.BadLocationException; import javax.swing.text.DefaultStyledDocument; import javax.swing.text.Element; import javax.swing.text.MutableAttributeSet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; import javax.swing.text.DefaultStyledDocument.ElementSpec; /** * Tests the protected method to insert the elements. This method is * important when modifying content of the derived HTMLDocument. */ public class Insert implements Testlet { /** * Override the package private method, exposing it here. */ class OpenDocument extends DefaultStyledDocument { public void insert(int offset, ElementSpec[] data) throws BadLocationException { super.insert(offset, data); } } public void test(TestHarness harness) { MutableAttributeSet a1 = new SimpleAttributeSet(); MutableAttributeSet a2 = new SimpleAttributeSet(); a1.addAttribute(StyleConstants.NameAttribute, "MY_FIRST"); a2.addAttribute(StyleConstants.NameAttribute, "MY_SECOND"); ElementSpec s1 = new ElementSpec(a1, ElementSpec.ContentType, "1".toCharArray(), 0, 1); ElementSpec s2 = new ElementSpec(a2, ElementSpec.ContentType, "2".toCharArray(), 0, 1); OpenDocument d = new OpenDocument(); try { d.insert(0, new ElementSpec[] { s1, s2 }); harness.check(d.getLength(), 2, "Length"); harness.check("12", d.getText(0, d.getLength())); Element[] e = d.getRootElements(); StringBuffer b = new StringBuffer(); for (int i = 0; i < e.length; i++) { dump(b, e[i]); } String r = b.toString(); // Both elements must be included somewhere. They positions must match. harness.check(r.indexOf("MY_FIRST:0-1") >=0); harness.check(r.indexOf("MY_SECOND:1-2") >=0); // Insert the third element in between. MutableAttributeSet a3 = new SimpleAttributeSet(); a1.addAttribute(StyleConstants.NameAttribute, "MY_MIDDLE"); ElementSpec sm = new ElementSpec(a1, ElementSpec.ContentType, "m".toCharArray(), 0, 1); d.insert(1, new ElementSpec[] { sm }); harness.check(d.getLength(), 3, "Length"); harness.check("1m2", d.getText(0, d.getLength())); b.setLength(0); for (int i = 0; i < e.length; i++) { dump(b, e[i]); } r = b.toString(); harness.check(r.indexOf("MY_FIRST:0-1") >=0); harness.check(r.indexOf("MY_MIDDLE:1-2") >= 0); harness.check(r.indexOf("MY_SECOND:2-3") >=0); // Remove the first element. d.remove(0, 1); harness.check("m2", d.getText(0, d.getLength())); b.setLength(0); for (int i = 0; i < e.length; i++) { dump(b, e[i]); } r = b.toString(); // This one must no longer be present harness.check(r.indexOf("MY_FIRST") < 0, r); harness.check(r.indexOf("MY_MIDDLE:0-1") >= 0, r); harness.check(r.indexOf("MY_SECOND:1-2") >=0, r); // Remove the second element which is now the last. d.remove(1, 1); harness.check("m", d.getText(0, d.getLength())); b.setLength(0); for (int i = 0; i < e.length; i++) { dump(b, e[i]); } r = b.toString(); // This one must no longer be present harness.check(r.indexOf("MY_FIRST") < 0, r); harness.check(r.indexOf("MY_MIDDLE:0-1") >= 0, r); harness.check(r.indexOf("MY_SECOND") < 0, r); harness.check(d.getLength(), 1, "Length"); // Remove the last remaining element. d.remove(0, d.getLength()); b.setLength(0); for (int i = 0; i < e.length; i++) { dump(b, e[i]); } r = b.toString(); // This one must no longer be present harness.check(r.indexOf("MY_FIRST") < 0, r); harness.check(r.indexOf("MY_MIDDLE") < 0, r); harness.check(r.indexOf("MY_SECOND") < 0, r); } catch (BadLocationException e) { throw new RuntimeException(e); } } void dump(StringBuffer b, Element x) { Object name = x.getAttributes().getAttribute(StyleConstants.NameAttribute); b.append("( "); b.append(name+":"+x.getStartOffset()+"-"+x.getEndOffset()); b.append(" ch "); for (int i = 0; i < x.getElementCount(); i++) { dump(b, x.getElement(i)); } b.append(") "); } } mauve-20140821/gnu/testlet/javax/swing/text/DefaultStyledDocument/insertString.java0000644000175000001440000001502610311523620027251 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke (kennke@aicas.com) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.text.DefaultStyledDocument; import java.awt.Color; import javax.swing.text.BadLocationException; import javax.swing.text.DefaultStyledDocument; import javax.swing.text.Element; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests if content is inserted correctly into the document. * * @author Roman Kennke (kennke@aicas.com) */ public class insertString implements Testlet { /** * Entry point. This calls the single tests. * * @param harness the test harness to use */ public void test(TestHarness harness) { testInsertEqualAttributes(harness); testInsertModifiedAttributes(harness); testInsertNewline(harness); } /** * Inserting content with equal attributes should not create * new elements. In this test we start a single child elemen (0, 16) * and insert 5 characters at position 5. This should result in * a single child element (0, 21). */ void testInsertEqualAttributes(TestHarness harness) { harness.checkPoint("insertEqualAttributes"); DefaultStyledDocument doc = new DefaultStyledDocument(); prepareDocument(doc); SimpleAttributeSet atts = new SimpleAttributeSet(); // Insert 5 characters at pos 5. try { doc.insertString(5, "12345", atts); } catch (BadLocationException ex) { harness.debug(ex); } // Now we should have the following child elements below the single // root and single paragraph: (0, 5) (5, 10) (10, 21) Element root = doc.getDefaultRootElement(); harness.check(root.getStartOffset(), 0); harness.check(root.getEndOffset(), 21); harness.check(root.getElementCount(), 1); Element par = root.getElement(0); harness.check(par.getStartOffset(), 0); harness.check(par.getEndOffset(), 21); harness.check(par.getElementCount(), 1); Element child1 = par.getElement(0); harness.check(child1.getStartOffset(), 0); harness.check(child1.getEndOffset(), 21); } /** * If a chunk of content is inserted with modified attributes, then * the resulting element structure should reflect that. In this test * we start with a single child element (0, 16) and insert 5 characters * (with different attributes) at position 5. This should lead * to a structure of (0, 5)(5, 10)(10, 21). * * @param harness the test harness to use */ void testInsertModifiedAttributes(TestHarness harness) { harness.checkPoint("insertModifiedAttributes"); DefaultStyledDocument doc = new DefaultStyledDocument(); prepareDocument(doc); SimpleAttributeSet atts = new SimpleAttributeSet(); // Insert 5 (different from the rest) characters at pos 5. StyleConstants.setForeground(atts, Color.RED); try { doc.insertString(5, "12345", atts); } catch (BadLocationException ex) { harness.debug(ex); } // Now we should have the following child elements below the single // root and single paragraph: (0, 5) (5, 10) (10, 21) Element root = doc.getDefaultRootElement(); harness.check(root.getStartOffset(), 0); harness.check(root.getEndOffset(), 21); harness.check(root.getElementCount(), 1); Element par = root.getElement(0); harness.check(par.getStartOffset(), 0); harness.check(par.getEndOffset(), 21); harness.check(par.getElementCount(), 3); Element child1 = par.getElement(0); harness.check(child1.getStartOffset(), 0); harness.check(child1.getEndOffset(), 5); Element child2 = par.getElement(1); harness.check(child2.getStartOffset(), 5); harness.check(child2.getEndOffset(), 10); Element child3 = par.getElement(2); harness.check(child3.getStartOffset(), 10); harness.check(child3.getEndOffset(), 21); } /** * Here we try to insert content with a line break in it. This should * break up the paragraph. * * We start with one single paragraph which has a single child element * (0, 16). Then we insert "abcde\nfghij" at position 5. This should * lead to two paragraphs: one that spans from 0 .. 11 and one that * spans from 11 .. 27. Each of the paragraphs should have one child * element that has the same spans. */ void testInsertNewline(TestHarness harness) { harness.checkPoint("insertNewline"); DefaultStyledDocument doc = new DefaultStyledDocument(); prepareDocument(doc); SimpleAttributeSet atts = new SimpleAttributeSet(); // Insert 5 (different from the rest) characters at pos 5. try { doc.insertString(5, "abcde\nfghij", atts); } catch (BadLocationException ex) { harness.debug(ex); } // Now we should have two paragraphs (0, 11)(11, 27) Element root = doc.getDefaultRootElement(); harness.check(root.getStartOffset(), 0); harness.check(root.getEndOffset(), 27); harness.check(root.getElementCount(), 2); Element par1 = root.getElement(0); harness.check(par1.getStartOffset(), 0); harness.check(par1.getEndOffset(), 11); harness.check(par1.getElementCount(), 1); Element par2 = root.getElement(1); harness.check(par2.getStartOffset(), 11); harness.check(par2.getEndOffset(), 27); harness.check(par2.getElementCount(), 1); } /** * Inserts some content into the document. This content has exactly * 15 characters, which make 16 at all. The last one doesn't really * count though, but we have to take care of details. * * @param doc the document to prepare */ void prepareDocument(DefaultStyledDocument doc) { try { doc.insertString(0, "abcdefghijklmno", new SimpleAttributeSet()); } catch (BadLocationException ex) { ex.printStackTrace(); } } } mauve-20140821/gnu/testlet/javax/swing/text/View/0000755000175000001440000000000012375316426020371 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/View/TestView.java0000644000175000001440000000431510372627127023007 0ustar dokousers/* TestView.java -- A concrete View implementation for testing Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.javax.swing.text.View; import java.awt.Graphics; import java.awt.Shape; import javax.swing.text.BadLocationException; import javax.swing.text.Element; import javax.swing.text.PlainDocument; import javax.swing.text.View; import javax.swing.text.Position.Bias; /** * A concrete View implementation for testing. * * @author Roman Kennke (kennke@aicas.com) */ public class TestView extends View { /** * This will be returned by getPreferredSpan for X_AXIS or Y_AXIS. */ public float preferred[] = new float[]{ 100F, 100F }; /** * Creates a new test view by fetching an element from PlainView. */ public TestView() { super(createDummyElement()); } /** * Creates a dummy element for testing. * * @return a dummy element for testing */ static Element createDummyElement() { PlainDocument doc = new PlainDocument(); return doc.getDefaultRootElement(); } public void paint(Graphics g, Shape s) { // Not needed in testing. } /** * Implemented to return the values in above array. */ public float getPreferredSpan(int axis) { return preferred[axis]; } public Shape modelToView(int pos, Shape a, Bias b) throws BadLocationException { // Not used in testing. return null; } public int viewToModel(float x, float y, Shape a, Bias[] b) { // Not used in testing. return 0; } } mauve-20140821/gnu/testlet/javax/swing/text/View/getMaximumSpan.java0000644000175000001440000000554110462367373024202 0ustar dokousers/* getMaxnimumSpan.java -- Tests the maximumSpan default implementation Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: TestView package gnu.testlet.javax.swing.text.View; import javax.swing.text.View; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests the getMaximumSpan() default implementation. * * @author Roman Kennke (kennke@aicas.com) */ public class getMaximumSpan implements Testlet { /** * A subclass of TestView that allows to customize the resizeWeight. */ private class PositiveResizeWeightView extends TestView { int resizeWeight = 0; /** * Overridden to return a custom resize weight. * * @return resizeWeight */ public int getResizeWeight(int axis) { return resizeWeight; } } /** * The entry point into this test. * * @param harness the test harness to use */ public void test(TestHarness harness) { testXAxis(harness); testYAxis(harness); testPositiveResizeWeight(harness); } /** * Tests the default impl for the X_AXIS. This will forward to * getPreferredSpan(). * * @param harness the test harness to use */ private void testXAxis(TestHarness harness) { TestView v = new TestView(); v.preferred[View.X_AXIS] = 123F; harness.check(v.getMaximumSpan(View.X_AXIS), 123F); } /** * Tests the default impl for the Y_AXIS. This will forward to * getPreferredSpan(). * * @param harness the test harness to use */ private void testYAxis(TestHarness harness) { TestView v = new TestView(); v.preferred[View.Y_AXIS] = 123F; harness.check(v.getMaximumSpan(View.Y_AXIS), 123F); } /** * Tests the maximumSpan with a positive resizeWeight. * * @param harness the test harness to use */ private void testPositiveResizeWeight(TestHarness harness) { PositiveResizeWeightView v = new PositiveResizeWeightView(); v.resizeWeight = 100; v.preferred[View.X_AXIS] = 123F; v.preferred[View.Y_AXIS] = 123F; harness.check((int) v.getMaximumSpan(View.X_AXIS), Integer.MAX_VALUE); harness.check((int) v.getMaximumSpan(View.Y_AXIS), Integer.MAX_VALUE); } } mauve-20140821/gnu/testlet/javax/swing/text/View/getMinimumSpan.java0000644000175000001440000000550110372627127024170 0ustar dokousers/* getMinimumSpan.java -- Tests the minimumSpan default implementation Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: TestView package gnu.testlet.javax.swing.text.View; import javax.swing.text.View; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests the getMinimumSpan() default implementation. * * @author Roman Kennke (kennke@aicas.com) */ public class getMinimumSpan implements Testlet { /** * A subclass of TestView that allows to customize the resizeWeight. */ private class PositiveResizeWeightView extends TestView { int resizeWeight = 0; /** * Overridden to return a custom resize weight. * * @return resizeWeight */ public int getResizeWeight(int axis) { return resizeWeight; } } /** * The entry point into this test. * * @param harness the test harness to use */ public void test(TestHarness harness) { testXAxis(harness); testYAxis(harness); testPositiveResizeWeight(harness); } /** * Tests the default impl for the X_AXIS. This will forward to * getPreferredSpan(). * * @param harness the test harness to use */ private void testXAxis(TestHarness harness) { TestView v = new TestView(); v.preferred[View.X_AXIS] = 123F; harness.check(v.getMinimumSpan(View.X_AXIS), 123F); } /** * Tests the default impl for the Y_AXIS. This will forward to * getPreferredSpan(). * * @param harness the test harness to use */ private void testYAxis(TestHarness harness) { TestView v = new TestView(); v.preferred[View.Y_AXIS] = 123F; harness.check(v.getMinimumSpan(View.Y_AXIS), 123F); } /** * Tests the minimumSpan with a positive resizeWeight. * * @param harness the test harness to use */ private void testPositiveResizeWeight(TestHarness harness) { PositiveResizeWeightView v = new PositiveResizeWeightView(); v.resizeWeight = 100; v.preferred[View.X_AXIS] = 123F; v.preferred[View.Y_AXIS] = 123F; harness.check((int) v.getMinimumSpan(View.X_AXIS), 0); harness.check((int) v.getMinimumSpan(View.Y_AXIS), 0); } } mauve-20140821/gnu/testlet/javax/swing/text/View/getAlignment.java0000644000175000001440000000304310372627127023650 0ustar dokousers/* getAlignment.java -- Tests the default getAlignment() implementation Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: TestView package gnu.testlet.javax.swing.text.View; import javax.swing.text.View; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests the default getAlignment() implementation in View. * * @author Roman Kennke (kennke@aicas.com) */ public class getAlignment implements Testlet { /** * The entry point for this test. * * @param harness the test harness to use */ public void test(TestHarness harness) { TestView v = new TestView(); harness.check(v.getAlignment(View.X_AXIS), 0.5F); harness.check(v.getAlignment(View.Y_AXIS), 0.5F); // Try two illegal values. harness.check(v.getAlignment(-1), 0.5F); harness.check(v.getAlignment(123), 0.5F); } } mauve-20140821/gnu/testlet/javax/swing/text/View/getResizeWeight.java0000644000175000001440000000305310372627127024344 0ustar dokousers/* getResizeWeight.java -- Tests the default implementation of getResizeWeight Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: TestView package gnu.testlet.javax.swing.text.View; import javax.swing.text.View; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests the default implementation of getResizeWeight(). * * @author Roman Kennke (kennke@aicas.com) */ public class getResizeWeight implements Testlet { /** * The entry point for this test. * * @param harness the test harness to use */ public void test(TestHarness harness) { TestView v = new TestView(); harness.check(v.getResizeWeight(View.X_AXIS), 0); harness.check(v.getResizeWeight(View.Y_AXIS), 0); // Try two illegal values. harness.check(v.getResizeWeight(-1), 0); harness.check(v.getResizeWeight(123), 0); } } mauve-20140821/gnu/testlet/javax/swing/text/AttributeSet/0000755000175000001440000000000012375316426022076 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/AttributeSet/isEqual.java0000644000175000001440000000340210352333750024333 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Red Hat. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.text.AttributeSet; import javax.swing.text.AttributeSet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleContext; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class isEqual extends StyleContext implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { boolean caught = false; SimpleAttributeSet set1 = new SimpleAttributeSet(); StyleContext.SmallAttributeSet set2 = createSmallAttributeSet(set1); try { set1.isEqual(null); } catch (NullPointerException npe) { caught = true; } harness.check(caught); caught = false; try { set2.isEqual(null); } catch (NullPointerException npe) { caught = true; } harness.check (caught); harness.check (set2.isEqual(set1)); harness.check (set1.isEqual(set2)); } } mauve-20140821/gnu/testlet/javax/swing/text/Segment/0000755000175000001440000000000012375316426021061 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/Segment/constructors.java0000644000175000001440000000500510365206575024474 0ustar dokousers/* constructors.java -- Some checks for the constructors in the Segment class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.Segment; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.Segment; public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("()"); Segment s = new Segment(); harness.check(s.offset, 0); harness.check(s.count, 0); harness.check(s.array, null); harness.check(s.toString(), ""); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(char[], int, int)"); char[] ch = new char[] {'A', 'B', 'C'}; Segment s = new Segment(ch, 1, 2); harness.check(s.offset, 1); harness.check(s.count, 2); harness.check(s.array, ch); harness.check(s.toString(), "BC"); harness.check(s.getIndex(), 0); harness.check(s.getBeginIndex(), 1); harness.check(s.getEndIndex(), 3); // try offset out of range - this creates an instance with a bad state s = new Segment(ch, 4, 1); harness.check(s.offset, 4); harness.check(s.count, 1); harness.check(s.array, ch); // null array s = new Segment(null, 0, 1); harness.check(s.offset, 0); harness.check(s.count, 1); harness.check(s.array, null); // negative offsets s = new Segment(ch, -4, 1); harness.check(s.offset, -4); harness.check(s.count, 1); harness.check(s.array, ch); } }mauve-20140821/gnu/testlet/javax/swing/text/Segment/getEndIndex.java0000644000175000001440000000277510365206575024135 0ustar dokousers/* getEndIndex.java -- Some checks for the getEndIndex() method in the Segment class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.Segment; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.Segment; public class getEndIndex implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { char[] ch = new char[] {'A', 'B', 'C', 'D', 'E', 'F', 'G'}; Segment s = new Segment(ch, 0, 7); harness.check(s.getEndIndex(), 7); // try results for a subset of the characters s = new Segment(ch, 3, 3); harness.check(s.getEndIndex(), 6); } }mauve-20140821/gnu/testlet/javax/swing/text/Segment/last.java0000644000175000001440000000304210365206575022666 0ustar dokousers/* last.java -- Some checks for the last() method in the Segment class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.Segment; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.Segment; public class last implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { char[] ch = new char[] {'A', 'B', 'C', 'D', 'E', 'F', 'G'}; Segment s = new Segment(ch, 0, 7); harness.check(s.last(), 'G'); harness.check(s.getIndex(), 6); // try results for a subset of the characters s = new Segment(ch, 3, 3); harness.check(s.last(), 'F'); harness.check(s.getIndex(), 5); } }mauve-20140821/gnu/testlet/javax/swing/text/Segment/clone.java0000644000175000001440000000375010365206575023031 0ustar dokousers/* clone.java -- Some checks for the clone() method in the Segment class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.Segment; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.Segment; public class clone implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { char[] ch = new char[] {'A', 'B', 'C'}; Segment s1 = new Segment(ch, 0, 3); Segment s2 = (Segment) s1.clone(); harness.check(!s1.equals(s2)); harness.check(s2.offset, 0); harness.check(s2.count, 3); harness.check(s2.array, ch); // offset is independent s1.offset = 1; harness.check(s2.offset, 0); s2.offset = 1; harness.check(s2.offset, 1); // count is independent s1.count = 2; harness.check(s2.count, 3); s2.count = 2; harness.check(s2.count, 2); // array is a shallow copy and not independent s1.array[1] = 'X'; harness.check(s2.array[1], 'X'); char[] ch2 = new char[] {'X', 'Y', 'Z'}; s1.array = ch2; // s2 still points to ch harness.check(s2.array, ch); } }mauve-20140821/gnu/testlet/javax/swing/text/Segment/setPartialReturn.java0000644000175000001440000000272310365206575025240 0ustar dokousers/* setPartialReturn.java -- Some checks for the setPartialReturn() method in the Segment class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.4 package gnu.testlet.javax.swing.text.Segment; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.Segment; public class setPartialReturn implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { char[] ch = new char[] {'A', 'B', 'C'}; Segment s1 = new Segment(ch, 0, 3); harness.check(s1.isPartialReturn(), false); s1.setPartialReturn(true); harness.check(s1.isPartialReturn(), true); } }mauve-20140821/gnu/testlet/javax/swing/text/Segment/previous.java0000644000175000001440000000376710365206575023615 0ustar dokousers/* previous.java -- Some checks for the previous() method in the Segment class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.Segment; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.CharacterIterator; import javax.swing.text.Segment; public class previous implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { char[] ch = new char[] {'A', 'B', 'C', 'D', 'E', 'F', 'G'}; Segment s = new Segment(ch, 0, 7); s.last(); harness.check(s.previous(), 'F'); harness.check(s.previous(), 'E'); harness.check(s.previous(), 'D'); harness.check(s.previous(), 'C'); harness.check(s.previous(), 'B'); harness.check(s.previous(), 'A'); harness.check(s.previous(), CharacterIterator.DONE); harness.check(s.previous(), CharacterIterator.DONE); // try results for a subset of the characters s = new Segment(ch, 3, 3); s.last(); harness.check(s.previous(), 'E'); harness.check(s.previous(), 'D'); harness.check(s.previous(), CharacterIterator.DONE); harness.check(s.previous(), CharacterIterator.DONE); } }mauve-20140821/gnu/testlet/javax/swing/text/Segment/toString.java0000644000175000001440000000311710365206575023537 0ustar dokousers/* toString.java -- Some checks for the toString() method in the Segment class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.Segment; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.Segment; public class toString implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { char[] ch = new char[] {'A', 'B', 'C'}; Segment s1 = new Segment(ch, 0, 3); harness.check(s1.toString(), "ABC"); Segment s2 = new Segment(ch, 1, 1); harness.check(s2.toString(), "B"); Segment s3 = new Segment(ch, 2, 0); harness.check(s3.toString(), ""); Segment s4 = new Segment(null, 0, 0); harness.check(s4.toString(), ""); } }mauve-20140821/gnu/testlet/javax/swing/text/Segment/setIndex.java0000644000175000001440000000514610365206575023515 0ustar dokousers/* setIndex.java -- Some checks for the setIndex() method in the Segment class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.Segment; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.Segment; public class setIndex implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { char[] ch = new char[] {'A', 'B', 'C', 'D', 'E', 'F', 'G'}; Segment s = new Segment(ch, 0, 7); s.setIndex(2); harness.check(s.current(), 'C'); s.setIndex(6); harness.check(s.current(), 'G'); // try bad indices boolean pass = false; try { s.setIndex(-1); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); pass = false; try { s.setIndex(99); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // try results for a subset of the characters s = new Segment(ch, 3, 3); s.setIndex(4); harness.check(s.current(), 'E'); s.setIndex(5); harness.check(s.current(), 'F'); pass = false; try { s.setIndex(-1); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); pass = false; try { s.setIndex(1); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); pass = false; try { s.setIndex(7); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); pass = false; try { s.setIndex(99); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/Segment/current.java0000644000175000001440000000372610365206575023416 0ustar dokousers/* current.java -- Some checks for the current() method in the Segment class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.Segment; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.CharacterIterator; import javax.swing.text.Segment; public class current implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { char[] ch = new char[] {'A', 'B', 'C', 'D', 'E', 'F', 'G'}; Segment s = new Segment(ch, 0, 7); harness.check(s.current(), 'A'); s.last(); harness.check(s.current(), 'G'); s.next(); harness.check(s.current(), CharacterIterator.DONE); s.first(); harness.check(s.current(), 'A'); s.previous(); harness.check(s.current(), 'A'); // try results for a subset of the characters s = new Segment(ch, 3, 3); harness.check(s.current(), 'A'); s.last(); harness.check(s.current(), 'F'); s.next(); harness.check(s.current(), CharacterIterator.DONE); s.first(); harness.check(s.current(), 'D'); s.previous(); harness.check(s.current(), 'D'); } }mauve-20140821/gnu/testlet/javax/swing/text/Segment/getIndex.java0000644000175000001440000000366210365206575023502 0ustar dokousers/* getIndex.java -- Some checks for the getIndex() method in the Segment class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.Segment; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.Segment; public class getIndex implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { char[] ch = new char[] {'A', 'B', 'C', 'D', 'E', 'F', 'G'}; Segment s = new Segment(ch, 0, 7); harness.check(s.getIndex(), 0); s.next(); harness.check(s.getIndex(), 1); s.last(); harness.check(s.getIndex(), 6); s.next(); harness.check(s.getIndex(), 7); // try results for a subset of the characters s = new Segment(ch, 3, 3); harness.check(s.getIndex(), 0); s.first(); harness.check(s.getIndex(), 3); s.next(); harness.check(s.getIndex(), 4); s.last(); harness.check(s.getIndex(), 5); s.next(); harness.check(s.getIndex(), 6); s.first(); harness.check(s.getIndex(), 3); s.previous(); harness.check(s.getIndex(), 3); } }mauve-20140821/gnu/testlet/javax/swing/text/Segment/next.java0000644000175000001440000000367510365206575022715 0ustar dokousers/* next.java -- Some checks for the next() method in the Segment class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.Segment; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.text.CharacterIterator; import javax.swing.text.Segment; public class next implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { char[] ch = new char[] {'A', 'B', 'C', 'D', 'E', 'F', 'G'}; Segment s = new Segment(ch, 0, 7); s.first(); harness.check(s.next(), 'B'); harness.check(s.next(), 'C'); harness.check(s.next(), 'D'); harness.check(s.next(), 'E'); harness.check(s.next(), 'F'); harness.check(s.next(), 'G'); harness.check(s.next(), CharacterIterator.DONE); harness.check(s.next(), CharacterIterator.DONE); // try results for a subset of the characters s = new Segment(ch, 3, 3); s.first(); harness.check(s.next(), 'E'); harness.check(s.next(), 'F'); harness.check(s.next(), CharacterIterator.DONE); harness.check(s.next(), CharacterIterator.DONE); } }mauve-20140821/gnu/testlet/javax/swing/text/Segment/first.java0000644000175000001440000000343110365206575023054 0ustar dokousers/* first.java -- Some checks for the first() method in the Segment class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.Segment; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.Segment; public class first implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { char[] ch = new char[] {'A', 'B', 'C', 'D', 'E', 'F', 'G'}; Segment s = new Segment(ch, 0, 7); harness.check(s.first(), 'A'); harness.check(s.getIndex(), 0); s.last(); harness.check(s.getIndex(), 6); harness.check(s.first(), 'A'); harness.check(s.getIndex(), 0); // try results for a subset of the characters s = new Segment(ch, 3, 3); harness.check(s.first(), 'D'); harness.check(s.getIndex(), 3); s.last(); harness.check(s.getIndex(), 5); harness.check(s.first(), 'D'); harness.check(s.getIndex(), 3); } }mauve-20140821/gnu/testlet/javax/swing/text/Segment/isPartialReturn.java0000644000175000001440000000272010365206575025055 0ustar dokousers/* isPartialReturn.java -- Some checks for the isPartialReturn() method in the Segment class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.4 package gnu.testlet.javax.swing.text.Segment; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.Segment; public class isPartialReturn implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { char[] ch = new char[] {'A', 'B', 'C'}; Segment s1 = new Segment(ch, 0, 3); harness.check(s1.isPartialReturn(), false); s1.setPartialReturn(true); harness.check(s1.isPartialReturn(), true); } }mauve-20140821/gnu/testlet/javax/swing/text/Segment/getBeginIndex.java0000644000175000001440000000300710365206575024440 0ustar dokousers/* getBeginIndex.java -- Some checks for the getBeginIndex() method in the Segment class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.2 package gnu.testlet.javax.swing.text.Segment; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.Segment; public class getBeginIndex implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { char[] ch = new char[] {'A', 'B', 'C', 'D', 'E', 'F', 'G'}; Segment s = new Segment(ch, 0, 7); harness.check(s.getBeginIndex(), 0); // try results for a subset of the characters s = new Segment(ch, 3, 3); harness.check(s.getBeginIndex(), 3); } }mauve-20140821/gnu/testlet/javax/swing/text/AbstractDocument/0000755000175000001440000000000012375316426022721 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/AbstractDocument/filterTest.java0000644000175000001440000002501110461244652025703 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2006 Robert Schuster (robertschuster@fsfe.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.text.AbstractDocument; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.text.*; import javax.swing.*; import javax.swing.event.*; import javax.swing.undo.*; /** * Tests if AbstractDocument methods properly call the DocumentFilter and * GapContent (or not when the arguments have certain values). */ public class filterTest implements Testlet { int DEFAULT_INT = -1234; String DEFAULT_STRING = "A specific value for this test"; AttributeSet DEFAULT_ATTRIBUTESET = new SimpleAttributeSet(); int testOffset; int testLength; String testString; AttributeSet testAttr; Exception testException; int testWhere, testInsertWhere; int testNitems; public void test(TestHarness harness) { // The behavior we want to test is in AbstractDocument // of which we just use PlainDocument as its simplest // concrete implementation. AbstractDocument doc = new PlainDocument(); // Put some example text into the document. try { doc.insertString(0, "GNU Classpath\nGNU Classpath\nGNU Classpath\n", null); } catch (BadLocationException ble) { harness.verbose("Setting up the test failed. Something is seriously " + "wrong with your AbstractDocument implementation."); harness.fail("test setup"); return; } // Install the documen filter which copies the argument values. doc.setDocumentFilter(new TestDocFilter()); harness.checkPoint("remove"); // Removal check 1: Although this would have no effect on the document // the DocumentListener is called. However the GapContent should not be // called. reset(); try { doc.remove(0, 0); } catch (BadLocationException ble) { testException = ble; } harness.check(testException, null); harness.check(testOffset, 0); harness.check(testLength, 0); harness.check(testWhere, DEFAULT_INT); harness.check(testNitems, DEFAULT_INT); // Removal check 2: A negative length value is carried to the // DocumentFilter but not to the GapContent. reset(); try { doc.remove(0, -100); } catch (BadLocationException ble) { testException = ble; harness.debug(ble); } harness.check(testException, null); harness.check(testOffset, 0); harness.check(testLength, -100); harness.check(testWhere, DEFAULT_INT); harness.check(testNitems, DEFAULT_INT); // Removal check 3: A negative offset and length value is carried to // the DocumentFilter but not to the GapContent. reset(); try { doc.remove(-222, -111); } catch (BadLocationException ble) { testException = ble; harness.debug(ble); } harness.check(testException, null); harness.check(testOffset, -222); harness.check(testLength, -111); harness.check(testWhere, DEFAULT_INT); harness.check(testNitems, DEFAULT_INT); // Removal check 4: A negative offset value is carried to the // DocumentFilter but not to the GapContent. reset(); try { doc.remove(-100, 0); } catch (BadLocationException ble) { testException = ble; harness.debug(ble); } harness.check(testException, null); harness.check(testOffset, -100); harness.check(testLength, 0); harness.check(testWhere, DEFAULT_INT); harness.check(testNitems, DEFAULT_INT); harness.checkPoint("insertString"); // Insertion check 1: When text is null the call has no effect. reset(); try { doc.insertString(8888, null, SimpleAttributeSet.EMPTY); } catch (BadLocationException ble) { testException = ble; harness.debug(ble); } harness.check(testException, null); harness.check(testOffset, DEFAULT_INT); harness.check(testAttr, DEFAULT_ATTRIBUTESET); harness.check(testWhere, DEFAULT_INT); harness.check(testNitems, DEFAULT_INT); // Insertion check 2: When text is "" the call has no effect. reset(); try { doc.insertString(8888, "", SimpleAttributeSet.EMPTY); } catch (BadLocationException ble) { testException = ble; harness.debug(ble); } harness.check(testException, null); harness.check(testOffset, DEFAULT_INT); harness.check(testAttr, DEFAULT_ATTRIBUTESET); harness.check(testWhere, DEFAULT_INT); harness.check(testNitems, DEFAULT_INT); harness.checkPoint("replace"); // Replacement check 1: When length is zero and text is null the // call has no effect. reset(); try { doc.replace(8888, 0, null, SimpleAttributeSet.EMPTY); } catch (BadLocationException ble) { testException = ble; harness.debug(ble); } harness.check(testException, null); harness.check(testOffset, DEFAULT_INT); harness.check(testLength, DEFAULT_INT); harness.check(testAttr, DEFAULT_ATTRIBUTESET); harness.check(testString, DEFAULT_STRING); harness.check(testWhere, DEFAULT_INT); harness.check(testNitems, DEFAULT_INT); // Replacement check 2: When length is zero and text is "" the // call has no effect. reset(); try { doc.replace(8888, 0, "", SimpleAttributeSet.EMPTY); } catch (BadLocationException ble) { testException = ble; } harness.check(testException, null); harness.check(testOffset, DEFAULT_INT); harness.check(testLength, DEFAULT_INT); harness.check(testAttr, DEFAULT_ATTRIBUTESET); harness.check(testString, DEFAULT_STRING); harness.check(testWhere, DEFAULT_INT); harness.check(testNitems, DEFAULT_INT); // Replacement check 4: When length is non-zero (even negative) // and text is null the call has is forwarded to the DocumentFilter // but not to the GapContent. reset(); try { doc.replace(0, -1, null, SimpleAttributeSet.EMPTY); } catch (BadLocationException ble) { testException = ble; harness.debug(ble); } harness.check(testException, null); harness.check(testOffset, 0); harness.check(testLength, -1); harness.check(testAttr, SimpleAttributeSet.EMPTY); harness.check(testString, null); harness.check(testWhere, DEFAULT_INT); harness.check(testNitems, DEFAULT_INT); // Replacement check 5: When length is non-zero (even negative) // and text is "" the call has is forwarded to the DocumentFilter // but not to the GapContent. reset(); try { doc.replace(0, -1, "", SimpleAttributeSet.EMPTY); } catch (BadLocationException ble) { testException = ble; harness.debug(ble); } harness.check(testException, null); harness.check(testOffset, 0); harness.check(testLength, -1); harness.check(testAttr, SimpleAttributeSet.EMPTY); harness.check(testString, ""); harness.check(testWhere, DEFAULT_INT); harness.check(testNitems, DEFAULT_INT); // Replacement check 6: When length is zero and text has a length > 0 // the call has is forwarded to the DocumentFilter and the GapContent. reset(); try { doc.replace(10, 0, "FOO!", SimpleAttributeSet.EMPTY); } catch (BadLocationException ble) { testException = ble; harness.debug(ble); } harness.check(testException, null); harness.check(testOffset, 10); harness.check(testLength, 0); harness.check(testAttr, SimpleAttributeSet.EMPTY); harness.check(testString, "FOO!"); harness.check(testWhere, DEFAULT_INT); harness.check(testNitems, DEFAULT_INT); // Note: It was expected that the call to replace() would result // in a call to GapContent.insertString() but that could not be // observed. // The test therefore looks whether the string has been properly // inserted. try { harness.check(doc.getText(10, 4), "FOO!"); } catch(BadLocationException ble) { harness.debug(ble); harness.fail("replace6"); } } void reset() { testOffset = DEFAULT_INT; testLength = DEFAULT_INT; testString = DEFAULT_STRING; testAttr = DEFAULT_ATTRIBUTESET; testException = null; testWhere = DEFAULT_INT; testNitems = DEFAULT_INT; testInsertWhere = DEFAULT_INT; } // An inner class which simply copies the argument values to fields of the outer class // for later inspection. class TestDocFilter extends DocumentFilter { public void insertString(DocumentFilter.FilterBypass fb, int offset, String string, AttributeSet attr) throws BadLocationException { testOffset = offset; testString = string; testAttr = attr; super.insertString(fb, offset, string, attr); } public void remove(DocumentFilter.FilterBypass fb, int offset, int length) throws BadLocationException { testOffset = offset; testLength = length; super.remove(fb, offset, length); } public void replace(DocumentFilter.FilterBypass fb, int offset, int length, String string, AttributeSet attr) throws BadLocationException { testOffset = offset; testLength = length; testString = string; testAttr = attr; super.replace(fb, offset, length, string, attr); } } class TestGapContent extends GapContent { public UndoableEdit insertString(int where, String str) throws BadLocationException { testInsertWhere = where; return super.insertString(where, str); } public UndoableEdit remove(int where, int nitems) throws BadLocationException { testWhere = where; testNitems = nitems; return super.remove(where, nitems); } } } mauve-20140821/gnu/testlet/javax/swing/text/AbstractDocument/TestAbstractDocument.java0000644000175000001440000000270510446507767027701 0ustar dokousers/* TestAbstractDocument.java -- A concrete AbstractDocument subclass Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.javax.swing.text.AbstractDocument; import javax.swing.text.AbstractDocument; import javax.swing.text.Element; import javax.swing.text.GapContent; /** * A concrete AbstractDocument subclass used for testing. * * @author Roman Kennke (kennke@aicas.com) */ public class TestAbstractDocument extends AbstractDocument { public TestAbstractDocument() { super(new GapContent()); } public Element getParagraphElement(int pos) { // TODO Auto-generated method stub return null; } public Element getDefaultRootElement() { // TODO Auto-generated method stub return null; } } mauve-20140821/gnu/testlet/javax/swing/text/AbstractDocument/LeafElement/0000755000175000001440000000000012375316426025102 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/AbstractDocument/LeafElement/getStartOffset.java0000644000175000001440000000530510401072464030701 0ustar dokousers/* getStartOffset.java -- Checks getStartOffset in LeafElement Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.AbstractDocument.LeafElement; import javax.swing.text.AbstractDocument; import javax.swing.text.BadLocationException; import javax.swing.text.PlainDocument; import javax.swing.text.AbstractDocument.BranchElement; import javax.swing.text.AbstractDocument.LeafElement; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Checks the getStartOffset method in LeafElement. * * @author Roman Kennke (kennke@aicas.com) * */ public class getStartOffset implements Testlet { /** * The entry point in this test. * * @param harness the test harness to use */ public void test(TestHarness harness) { testIllegalDocumentLocation(harness); testContentChange(harness); } /** * Creates a LeafElement outside the document range and checks the * getStartOffset() behaviour. * * @param h the test harness to use */ private void testIllegalDocumentLocation(TestHarness h) { h.checkPoint("illegalDocumentLocation"); PlainDocument doc = new PlainDocument(); AbstractDocument.LeafElement l = doc.new LeafElement(null, null, 10, 20); h.check(doc.getLength(), 0); h.check(l.getStartOffset(), 10); } /** * Creates a LeafElement and then changes something in the document. Tests * if the getStartOffset() automatically adapts to the insertion or not. * * @param h the test harness to use */ private void testContentChange(TestHarness h) { h.checkPoint("contentChange"); try { PlainDocument doc = new PlainDocument(); doc.insertString(0, "hallo", null); AbstractDocument.LeafElement l = doc.new LeafElement(null, null, 20, 5); h.check(l.getStartOffset(), 20); doc.insertString(0, "hiyo", null); h.check(l.getStartOffset(), 24); } catch (BadLocationException ex) { h.fail("BadLocationException"); } } } mauve-20140821/gnu/testlet/javax/swing/text/AbstractDocument/AbstractDocumentTest.java0000644000175000001440000001005010066265761027662 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Michael Koch // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.text.AbstractDocument; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.text.*; public class AbstractDocumentTest implements Testlet { public class DocumentImpl extends AbstractDocument { public DocumentImpl() { super(new GapContent()); } public Element getDefaultRootElement() { return null; } public Element getParagraphElement(int index) { return getDefaultRootElement(); } // Override it from protected to public public Element createBranchElement(Element parent, AttributeSet attributes) { return super.createBranchElement(parent, attributes); } // Override it from protected to public public Element createLeafElement(Element parent, AttributeSet attributes, int p0, int p1) { return super.createLeafElement(parent, attributes, p0, p1); } } private void testContentHandling(TestHarness harness) { DocumentImpl doc = new DocumentImpl(); harness.checkPoint("testContentHandling"); try { harness.check(doc.getText(0, doc.getLength()).equals("")); doc.insertString(0, "This is a test", null); harness.check(doc.getText(0, doc.getLength()).equals("This is a test")); doc.insertString(10, "little ", null); harness.check(doc.getText(0, doc.getLength()).equals("This is a little test")); doc.insertString(21, "case", null); harness.check(doc.getText(0, doc.getLength()).equals("This is a little testcase")); } catch (Exception e) { harness.fail("unexpected exception"); } } private void checkElement(TestHarness harness, Element elem, AttributeSet attributes, int children, Element parent) { //harness.check(elem.getAttributes() == null, "unexpected value for Element.getAttributes()"); harness.check(elem.getElementCount() == children, "unexpected number of children: " + elem.getElementCount()); harness.check(elem.getParentElement() == parent, "Wrong parent"); } private void testCreateLeafElement(TestHarness harness) { DocumentImpl doc = new DocumentImpl(); harness.checkPoint("testCreateLeafElement"); Element elem = doc.createLeafElement(null, null, 0, 1); checkElement(harness, elem, null, 0, null); } private void testCreateBranchElement(TestHarness harness) { DocumentImpl doc = new DocumentImpl(); harness.checkPoint("testCreateBranchElement 1"); Element elem; elem = doc.createBranchElement(null, null); checkElement(harness, elem, null, 0, null); harness.checkPoint("testCreateBranchElement 2"); Element parent = elem; elem = doc.createBranchElement(parent, null); //checkElement(harness, parent, null, 1, null); checkElement(harness, parent, null, 0, null); checkElement(harness, elem, null, 0, parent); harness.checkPoint("testCreateBranchElement 3"); Element elem2; elem2 = doc.createBranchElement(parent, null); //checkElement(harness, parent, null, 2, null); checkElement(harness, parent, null, 0, null); checkElement(harness, elem2, null, 0, parent); } public void test(TestHarness harness) { testCreateBranchElement(harness); testCreateLeafElement(harness); testContentHandling(harness); } } mauve-20140821/gnu/testlet/javax/swing/text/AbstractDocument/BranchElement/0000755000175000001440000000000012375316426025430 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/AbstractDocument/BranchElement/getStartOffset.java0000644000175000001440000000623410401072464031231 0ustar dokousers/* getStartOffset.java -- Checks the getStartOffset method in BranchElement Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.AbstractDocument.BranchElement; import javax.swing.text.AbstractDocument; import javax.swing.text.Element; import javax.swing.text.PlainDocument; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getStartOffset implements Testlet { /** * The entry point in this test. * * @param harness the test harness to use */ public void test(TestHarness harness) { testEmptyBranchElement(harness); testOneLeafElement(harness); testCachedValue(harness); } /** * Creates an empty BranchElement and checks if the getStartOffset() method * call triggers an NPE. * * @param h the test harness to use */ private void testEmptyBranchElement(TestHarness h) { PlainDocument doc = new PlainDocument(); AbstractDocument.BranchElement b = doc.new BranchElement(null, null); try { b.getStartOffset(); h.fail("emptyBranchElement"); } catch (NullPointerException ex) { h.check(true); } } /** * Creates a BranchElement with one LeafElement child and checks if the * getStartOffset() method call returns the correct start offset. * * @param h the test harness to use */ private void testOneLeafElement(TestHarness h) { PlainDocument doc = new PlainDocument(); AbstractDocument.BranchElement b = doc.new BranchElement(null, null); AbstractDocument.LeafElement l = doc.new LeafElement(b, null, 10, 20); b.replace(0, 0, new Element[] { l }); h.check(b.getStartOffset(), 10); } /** * This first creates a BranchElement with one child and calls * getStartOffset(). Then it removes the child and calls startOffset() again * and checks if the BranchElement still returns a valid value. The * BranchElement should remember the value and don't throw an NPE here. * * @param h the test harness to use */ private void testCachedValue(TestHarness h) { PlainDocument doc = new PlainDocument(); AbstractDocument.BranchElement b = doc.new BranchElement(null, null); AbstractDocument.LeafElement l = doc.new LeafElement(b, null, 10, 20); b.replace(0, 0, new Element[] { l }); h.check(b.getStartOffset(), 10); b.replace(0, 1, new Element[0]); h.check(b.getElementCount(), 0); h.check(b.getStartOffset(), 10); } } mauve-20140821/gnu/testlet/javax/swing/text/AbstractDocument/BranchElement/BranchElementTest.java0000644000175000001440000000426010167237707031645 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Michael Koch // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.text.AbstractDocument.BranchElement; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.text.AbstractDocument; import javax.swing.text.Element; import javax.swing.text.GapContent; public class BranchElementTest extends AbstractDocument implements Testlet { public BranchElementTest() { super(new GapContent()); } public Element getDefaultRootElement() { return null; } public Element getParagraphElement(int pos) { return null; } public void test(TestHarness h) { AbstractDocument.BranchElement root = new AbstractDocument.BranchElement(null, null); AbstractDocument.BranchElement leaf1, leaf2, leaf3; Element[] array1 = new Element[1]; Element[] array2 = new Element[2]; h.check(root.getElementCount(), 0, "number of children"); leaf1 = new AbstractDocument.BranchElement(root, null); array1[0] = leaf1; root.replace(0, 0, array1); h.check(root.getElementCount(), 1, "number of children"); leaf2 = new AbstractDocument.BranchElement(root, null); array2[0] = leaf1; array2[1] = leaf2; root.replace(0, 1, array2); h.check(root.getElementCount(), 2, "number of children"); leaf3 = new AbstractDocument.BranchElement(leaf1, null); array1[0] = leaf3; leaf1.replace(0, 0, array1); h.check(root.getElementCount(), 2, "number of children"); } } ././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/text/AbstractDocument/BranchElement/getElementIndexNullPointer.javamauve-20140821/gnu/testlet/javax/swing/text/AbstractDocument/BranchElement/getElementIndexNullPointe0000644000175000001440000000305410316567413032445 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.text.AbstractDocument.BranchElement; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.text.AbstractDocument; import javax.swing.text.PlainDocument; /** * Checks if AbstractDocument.Branch Element throws a NPE * when it has no children and getElementIndex is called. */ public class getElementIndexNullPointer implements Testlet { public void test(TestHarness h) { PlainDocument doc = new PlainDocument(); AbstractDocument.BranchElement b = doc.new BranchElement(null, null); try { b.getElementIndex(0); h.fail("AbstractDocument.BranchElement.getElementIndex should throw NPE when it has no children"); } catch (NullPointerException ex) { h.check(true); } } } mauve-20140821/gnu/testlet/javax/swing/text/AbstractDocument/BranchElement/getElementIndex.java0000644000175000001440000000400010462367372031347 0ustar dokousers/* getElementIndex.java -- Checks the getElementIndex method in BranchElement Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.AbstractDocument.BranchElement; import javax.swing.text.AbstractDocument; import javax.swing.text.BadLocationException; import javax.swing.text.Element; import javax.swing.text.PlainDocument; import javax.swing.text.AbstractDocument.BranchElement; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Checks various aspects of the getElementIndex() method in BranchElement. * * @author Roman Kennke (kennke@aicas.com) */ public class getElementIndex implements Testlet { /** * The entry point into this test. * * @param harness the test harness to use */ public void test(TestHarness harness) { testBeyondBoundary(harness); } /** * Checks how getElementIndex should behave when the requested index is * beyond the document boundary. * * @param h */ private void testBeyondBoundary(TestHarness h) { PlainDocument doc = new PlainDocument(); try { doc.insertString(0, "hello\n", null); } catch (BadLocationException ex) { h.fail(ex.getMessage()); } Element root = doc.getDefaultRootElement(); h.check(root.getElementIndex(6), 1); } } mauve-20140821/gnu/testlet/javax/swing/text/AbstractDocument/getDocumentProperties.java0000644000175000001440000000310111015022012030061 0ustar dokousers/* getDocumentProperties.java -- Tests AbstractDocument.getDocumentProperties() Copyright (C) 2006 Roman Kennke This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: TestAbstractDocument package gnu.testlet.javax.swing.text.AbstractDocument; import java.util.Dictionary; import java.util.Enumeration; import javax.swing.text.AbstractDocument; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getDocumentProperties implements Testlet { public void test(TestHarness harness) { testDefault(harness); } private void testDefault(TestHarness h) { AbstractDocument doc = new TestAbstractDocument(); Dictionary props = doc.getDocumentProperties(); Enumeration keys = props.keys(); while (keys.hasMoreElements()) { Object key = keys.nextElement(); } h.check(props.size(), 1); h.check(props.get("i18n"), Boolean.FALSE); } } mauve-20140821/gnu/testlet/javax/swing/text/AbstractDocument/ElementChange2.java0000644000175000001440000000447410323252026026340 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Red Hat. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.text.AbstractDocument; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.text.*; import javax.swing.*; import javax.swing.event.*; /** * Tests if adding and removing content fires DocumentEvents with the proper ElementChange. */ public class ElementChange2 implements Testlet { public void test(TestHarness harness) { JTextArea textArea = new JTextArea (); final TestHarness harness2 = harness; textArea.setText("0123456"); ((AbstractDocument)textArea.getDocument()).addDocumentListener(new DocumentListener(){ public void changedUpdate (DocumentEvent e) { } public void insertUpdate (DocumentEvent e) { Element root = e.getDocument().getDefaultRootElement(); DocumentEvent.ElementChange ec = e.getChange(root); harness2.checkPoint ("insertUpdate without adding children"); if (ec != null) harness2.fail("Element Change should be null"); } public void removeUpdate (DocumentEvent e) { Element root = e.getDocument().getDefaultRootElement(); DocumentEvent.ElementChange ec = e.getChange(root); harness2.checkPoint ("removeUpdate without removing children"); if (ec != null) harness2.fail("ElementChange should be null"); } }); textArea.append("7"); try { textArea.getDocument().remove(3, 1); } catch (BadLocationException ble) { } } } mauve-20140821/gnu/testlet/javax/swing/text/AbstractDocument/ElementChange.java0000644000175000001440000000761010320775263026263 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Red Hat. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.text.AbstractDocument; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.text.*; import javax.swing.*; import javax.swing.event.*; /** * Tests if adding and removing content fires DocumentEvents with the proper ElementChange. */ public class ElementChange implements Testlet { public void test(TestHarness harness) { JTextArea textArea = new JTextArea (); final TestHarness harness2 = harness; ((AbstractDocument)textArea.getDocument()).addDocumentListener(new DocumentListener(){ public void changedUpdate (DocumentEvent e) { } public void insertUpdate (DocumentEvent e) { Element root = e.getDocument().getDefaultRootElement(); DocumentEvent.ElementChange ec = e.getChange(root); Element[] childrenAdded = ec.getChildrenAdded(); Element[] childrenRemoved = ec.getChildrenRemoved(); harness2.checkPoint("insert update children added"); harness2.check(childrenAdded.length == 4); harness2.check(childrenAdded[0].getStartOffset() == 0); harness2.check(childrenAdded[0].getEndOffset() == 36); harness2.check(childrenAdded[1].getStartOffset() == 36); harness2.check(childrenAdded[1].getEndOffset() == 97); harness2.check(childrenAdded[2].getStartOffset() == 97); harness2.check(childrenAdded[2].getEndOffset() == 134); harness2.check(childrenAdded[3].getStartOffset() == 134); harness2.check(childrenAdded[3].getEndOffset() == 176); harness2.checkPoint("insert update children removed"); harness2.check(childrenRemoved.length == 1); harness2.check(childrenRemoved[0].getStartOffset() == 0); harness2.check(childrenRemoved[0].getEndOffset() == 176); } public void removeUpdate (DocumentEvent e) { Element root = e.getDocument().getDefaultRootElement(); DocumentEvent.ElementChange ec = e.getChange(root); Element[] childrenAdded = ec.getChildrenAdded(); Element[] childrenRemoved = ec.getChildrenRemoved(); harness2.checkPoint("remove update children added"); harness2.check(childrenAdded.length == 1); harness2.check(childrenAdded[0].getStartOffset() == 0); harness2.check(childrenAdded[0].getEndOffset() == 57); harness2.checkPoint("remove udpate childrem removed"); harness2.check(childrenRemoved.length == 2); harness2.check(childrenRemoved[0].getStartOffset() == 0); harness2.check(childrenRemoved[0].getEndOffset() == 5); harness2.check(childrenRemoved[1].getStartOffset() == 5); harness2.check(childrenRemoved[1].getEndOffset() == 57); } }); textArea.setText("This is the text that we are adding\nIt has several lines, which should be several children added\nWhile only one child will be removed\nThat is, if the implementation is correct"); try { textArea.getDocument().remove(5, 40); } catch (BadLocationException ble) { } } } mauve-20140821/gnu/testlet/javax/swing/text/FlowView/0000755000175000001440000000000012375316426021221 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/FlowView/getFlowAxis.java0000644000175000001440000000323111015022012024266 0ustar dokousers/* getFlowAxis.java -- Tests FlowView.getFlowAxis() Copyright (C) 2006 Roman Kennke (kennke@aicas.com This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: TestFlowView FlowStrategy/TestView package gnu.testlet.javax.swing.text.FlowView; import javax.swing.text.DefaultStyledDocument; import javax.swing.text.Element; import javax.swing.text.View; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests the FlowView.getFlowAxis() method. * * @author Roman Kennke (kennke@aicas.com) */ public class getFlowAxis implements Testlet { /** * The entry point into the test. * * @param harness the test harness to use */ public void test(TestHarness harness) { DefaultStyledDocument doc = new DefaultStyledDocument(); Element el = doc.new BranchElement(null, null); TestFlowView v = new TestFlowView(el, View.X_AXIS); harness.check(v.getFlowAxis(), View.Y_AXIS); v = new TestFlowView(el, View.Y_AXIS); harness.check(v.getFlowAxis(), View.X_AXIS); } } mauve-20140821/gnu/testlet/javax/swing/text/FlowView/FlowStrategy/0000755000175000001440000000000012375316426023653 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/FlowView/FlowStrategy/adjustRow.java0000644000175000001440000001104611015022012026451 0ustar dokousers/* adjustRow.java -- Tests the FlowStrategy.adjustRow() method Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: TestView ../TestFlowView package gnu.testlet.javax.swing.text.FlowView.FlowStrategy; import javax.swing.text.DefaultStyledDocument; import javax.swing.text.Element; import javax.swing.text.View; import javax.swing.text.AbstractDocument.BranchElement; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.text.FlowView.TestFlowView; /** * Tests the FlowStrategy.adjustRow() method. * * @author Roman Kennke (kennke@aicas.com) */ public class adjustRow implements Testlet { /** * The entry point into this test. * * @param the test harness to use */ public void test(TestHarness harness) { testUnbreakable(harness); testGoodBreakable(harness); testExcellentBreakable(harness); testForceBreakable(harness); } /** * This places one row into the FlowView and one view into that row that * is bigger than the desired span. However, since it is not breakable, this * will not be touched. * * @param h */ private void testUnbreakable(TestHarness h) { DefaultStyledDocument doc = new DefaultStyledDocument(); Element el = doc.new BranchElement(null, null); TestFlowView fv = new TestFlowView(el, View.Y_AXIS); // Create one row and fill it with one oversized testview. TestFlowView.TestRow row = (TestFlowView.TestRow) fv.createRow(); fv.replace(0, 0, new View[]{row}); row.preferred = 200; fv.getFlowStragy().adjustRow(fv, 0, 150, 0); h.check(fv.getView(0), row); } /** * This places one row into the FlowView and one view into that row that * is bigger than the desired span. However, since it is not breakable, this * will not be touched. * * @param h */ private void testGoodBreakable(TestHarness h) { DefaultStyledDocument doc = new DefaultStyledDocument(); Element el = doc.new BranchElement(null, null); TestFlowView fv = new TestFlowView(el, View.Y_AXIS); // Create one row and fill it with one oversized testview. TestFlowView.TestRow row = (TestFlowView.TestRow) fv.createRow(); fv.replace(0, 0, new View[]{row}); row.breakWeight = View.GoodBreakWeight; row.preferred = 200; fv.getFlowStragy().adjustRow(fv, 0, 150, 0); h.check(fv.getView(0), row); } /** * This places one row into the FlowView and one view into that row that * is bigger than the desired span. However, since it is not breakable, this * will not be touched. * * @param h */ private void testExcellentBreakable(TestHarness h) { DefaultStyledDocument doc = new DefaultStyledDocument(); Element el = doc.new BranchElement(null, null); TestFlowView fv = new TestFlowView(el, View.Y_AXIS); // Create one row and fill it with one oversized testview. TestFlowView.TestRow row = (TestFlowView.TestRow) fv.createRow(); fv.replace(0, 0, new View[]{row}); row.breakWeight = View.ExcellentBreakWeight; row.preferred = 200; fv.getFlowStragy().adjustRow(fv, 0, 150, 0); h.check(fv.getView(0), row); } /** * This places one row into the FlowView and one view into that row that * is bigger than the desired span. However, since it is not breakable, this * will not be touched. * * @param h */ private void testForceBreakable(TestHarness h) { DefaultStyledDocument doc = new DefaultStyledDocument(); Element el = doc.new BranchElement(null, null); TestFlowView fv = new TestFlowView(el, View.Y_AXIS); // Create one row and fill it with one oversized testview. TestFlowView.TestRow row = (TestFlowView.TestRow) fv.createRow(); fv.replace(0, 0, new View[]{row}); row.breakWeight = View.ForcedBreakWeight; row.preferred = 200; fv.getFlowStragy().adjustRow(fv, 0, 150, 0); h.check(fv.getView(0), row); } } mauve-20140821/gnu/testlet/javax/swing/text/FlowView/FlowStrategy/TestView.java0000644000175000001440000000477310462367372026304 0ustar dokousers/* TestView.java -- A mock view for testing Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.javax.swing.text.FlowView.FlowStrategy; import java.awt.Graphics; import java.awt.Shape; import javax.swing.text.BadLocationException; import javax.swing.text.Element; import javax.swing.text.View; import javax.swing.text.Position.Bias; public class TestView extends View { public int preferred = 100; public int breakWeight = View.BadBreakWeight; public TestView break1; public TestView break2; public TestView(Element el) { super(el); } public void paint(Graphics g, Shape s) { // Not needed in testing. } public float getMinimumSpan(int axis) { return getPreferredSpan(axis); } public float getPreferredSpan(int axis) { return preferred; } public Shape modelToView(int pos, Shape a, Bias b) throws BadLocationException { // Not needed in testing. return null; } public int viewToModel(float x, float y, Shape a, Bias[] b) { // Not needed in testing. return 0; } /** * This is implemented to return breakWeight when pos + len > * preferred / 2, that means it returns the break weight * specified by the testing code when the desired break location is beyond * the middle of the view. */ public int getBreakWeight(int axis, float pos, float len) { if (pos + len > preferred) return breakWeight; else return View.BadBreakWeight; } public View breakView(int axis, int offset, float pos, float len) { break1 = new TestView(getElement()); break1.preferred = preferred / 2; break2 = new TestView(getElement()); break2.preferred = preferred / 2; if (offset < preferred / 2) return break1; else return break2; } } mauve-20140821/gnu/testlet/javax/swing/text/FlowView/TestFlowView.java0000644000175000001440000000666110462367372024500 0ustar dokousers/* TestFlowView.java -- A concrete FlowView for testing Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.javax.swing.text.FlowView; import gnu.testlet.javax.swing.text.FlowView.FlowStrategy.TestView; import java.awt.Graphics; import java.awt.Rectangle; import java.awt.Shape; import javax.swing.text.BadLocationException; import javax.swing.text.BoxView; import javax.swing.text.Element; import javax.swing.text.FlowView; import javax.swing.text.View; import javax.swing.text.Position.Bias; /** * A concrete subclass of FlowView that can be used to test the FlowView. * * @author Roman Kennke (kennke@aicas.com) */ public class TestFlowView extends FlowView { public class TestFlowStrategy extends FlowStrategy { public void adjustRow(FlowView fv, int rowIndex, int desiredSpan, int x) { super.adjustRow(fv, rowIndex, desiredSpan, x); } } public class TestRow extends BoxView { public int preferred = 200; public TestRow break1; public TestRow break2; public int breakWeight = View.BadBreakWeight; public TestRow(Element el) { super(el, View.X_AXIS); } public float getPreferredSpan(int axis) { System.err.println("preferredSpan called"); return preferred; } public float getMinimumSpan(int axis) { System.err.println("minimumSpan called"); return preferred; } /** * This is implemented to return breakWeight when pos + len > * preferred / 2, that means it returns the break weight * specified by the testing code when the desired break location is beyond * the middle of the view. */ public int getBreakWeight(int axis, float pos, float len) {System.err.println("getBreakWeight called"); if (pos + len > preferred) return breakWeight; else return View.BadBreakWeight; } public View breakView(int axis, int offset, float pos, float len) {System.err.println("breakView called"); break1 = new TestRow(getElement()); break1.preferred = preferred / 2; break2 = new TestRow(getElement()); break2.preferred = preferred / 2; if (offset < preferred / 2) return break1; else return break2; } } /** * Constructs a new TestFlowView by calling super. * * @param element the element * @param axis the axis */ public TestFlowView(Element element, int axis) { super(element, axis); strategy = new TestFlowStrategy(); } /** * Creates a row. * * @return a view for one row */ public View createRow() { return new TestRow(getElement()); } public TestFlowStrategy getFlowStragy() { return (TestFlowStrategy) strategy; } } mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/0000755000175000001440000000000012375316426022454 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/setBidiLevel.java0000644000175000001440000000347710363142622025673 0ustar dokousers/* setBidiLevel.java -- Tests for the setBidiLevel() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the setBidiLevel() method in the {@link StyleConstants} * class. */ public class setBidiLevel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check local setting StyleConstants.setBidiLevel(s, 1); harness.check(StyleConstants.getBidiLevel(s), 1); // try null argument boolean pass = false; try { StyleConstants.setBidiLevel(null, 2); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/getSpaceBelow.java0000644000175000001440000000430310363142622026031 0ustar dokousers/* getSpaceBelow.java -- Tests for the getSpaceBelow() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the getSpaceBelow() method in the {@link StyleConstants} * class. */ public class getSpaceBelow implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check default harness.check(StyleConstants.getSpaceBelow(s), 0.0f); // check local setting StyleConstants.setSpaceBelow(s, 1.0f); harness.check(StyleConstants.getSpaceBelow(s), 1.0f); // check resolving parent setting s.removeAttribute(StyleConstants.SpaceBelow); SimpleAttributeSet parent = new SimpleAttributeSet(); s.setResolveParent(parent); StyleConstants.setSpaceBelow(parent, 2.0f); harness.check(StyleConstants.getSpaceBelow(s), 2.0f); // try null argument boolean pass = false; try { StyleConstants.getSpaceBelow(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/setAlignment.java0000644000175000001440000000404310363142622025740 0ustar dokousers/* setAlignment.java -- Tests for the setAlignment() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the setAlignment() method in the {@link StyleConstants} * class. */ public class setAlignment implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check local setting StyleConstants.setAlignment(s, StyleConstants.ALIGN_JUSTIFIED); harness.check(StyleConstants.getAlignment(s), StyleConstants.ALIGN_JUSTIFIED); // check unknown value StyleConstants.setAlignment(s, 99); harness.check(StyleConstants.getAlignment(s), 99); // try null argument boolean pass = false; try { StyleConstants.setAlignment(null, StyleConstants.ALIGN_JUSTIFIED); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/setLineSpacing.java0000644000175000001440000000353010363142622026216 0ustar dokousers/* setLineSpacing.java -- Tests for the setLineSpacing() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the setLineSpacing() method in the {@link StyleConstants} * class. */ public class setLineSpacing implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check local setting StyleConstants.setLineSpacing(s, 4.0f); harness.check(StyleConstants.getLineSpacing(s), 4.0f); // try null argument boolean pass = false; try { StyleConstants.setLineSpacing(null, 2.0f); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/getRightIndent.java0000644000175000001440000000431710363142622026231 0ustar dokousers/* getRightIndent.java -- Tests for the getRightIndent() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the getRightIndent() method in the {@link StyleConstants} * class. */ public class getRightIndent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check default harness.check(StyleConstants.getRightIndent(s), 0.0f); // check local setting StyleConstants.setRightIndent(s, 1.0f); harness.check(StyleConstants.getRightIndent(s), 1.0f); // check resolving parent setting s.removeAttribute(StyleConstants.RightIndent); SimpleAttributeSet parent = new SimpleAttributeSet(); s.setResolveParent(parent); StyleConstants.setRightIndent(parent, 2.0f); harness.check(StyleConstants.getRightIndent(s), 2.0f); // try null argument boolean pass = false; try { StyleConstants.getRightIndent(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/setFontSize.java0000644000175000001440000000347110363142622025567 0ustar dokousers/* setFontSize.java -- Tests for the setFontSize() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the setFontSize() method in the {@link StyleConstants} * class. */ public class setFontSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check local setting StyleConstants.setFontSize(s, 14); harness.check(StyleConstants.getFontSize(s), 14); // try null argument boolean pass = false; try { StyleConstants.setFontSize(null, 2); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/setBackground.java0000644000175000001440000000411310363142622026077 0ustar dokousers/* setBackground.java -- Tests for the setBackground() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the setBackground() method in the {@link StyleConstants} * class. */ public class setBackground implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check local setting StyleConstants.setBackground(s, Color.blue); harness.check(StyleConstants.getBackground(s), Color.blue); // try null value boolean pass = false; try { StyleConstants.setBackground(s, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try null key pass = false; try { StyleConstants.setBackground(null, Color.red); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/getFontSize.java0000644000175000001440000000424110363142622025547 0ustar dokousers/* getFontSize.java -- Tests for the getFontSize() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the getFontSize() method in the {@link StyleConstants} * class. */ public class getFontSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check default harness.check(StyleConstants.getFontSize(s), 12); // check local setting StyleConstants.setFontSize(s, 14); harness.check(StyleConstants.getFontSize(s), 14); // check resolving parent setting s.removeAttribute(StyleConstants.FontSize); SimpleAttributeSet parent = new SimpleAttributeSet(); s.setResolveParent(parent); StyleConstants.setFontSize(parent, 16); harness.check(StyleConstants.getFontSize(s), 16); // try null argument boolean pass = false; try { StyleConstants.getFontSize(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/constants.java0000644000175000001440000001053210363142622025322 0ustar dokousers/* constants.java -- Tests for the constants in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.StyleConstants; import javax.swing.text.StyleConstants.CharacterConstants; import javax.swing.text.StyleConstants.ColorConstants; import javax.swing.text.StyleConstants.FontConstants; import javax.swing.text.StyleConstants.ParagraphConstants; /** * Some checks for the constants in the {@link StyleConstants} class. */ public class constants implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.check(StyleConstants.ComponentElementName.equals("component")); harness.check(StyleConstants.IconElementName.equals("icon")); harness.check(StyleConstants.ModelAttribute.toString(), "model"); harness.check(StyleConstants.NameAttribute.toString(), "name"); harness.check(StyleConstants.ResolveAttribute.toString(), "resolver"); harness.check(StyleConstants.Background.equals( CharacterConstants.Background)); harness.check(StyleConstants.BidiLevel.equals( CharacterConstants.BidiLevel)); harness.check(StyleConstants.Bold.equals(CharacterConstants.Bold)); harness.check(StyleConstants.ComponentAttribute.equals( CharacterConstants.ComponentAttribute)); harness.check(StyleConstants.Family.equals(CharacterConstants.Family)); harness.check(StyleConstants.Foreground.equals( CharacterConstants.Foreground)); harness.check(StyleConstants.IconAttribute.equals( CharacterConstants.IconAttribute)); harness.check(StyleConstants.Italic.equals(CharacterConstants.Italic)); harness.check(StyleConstants.Size.equals(CharacterConstants.Size)); harness.check(StyleConstants.StrikeThrough.equals( CharacterConstants.StrikeThrough)); harness.check(StyleConstants.Subscript.equals( CharacterConstants.Subscript)); harness.check(StyleConstants.Superscript.equals( CharacterConstants.Superscript)); harness.check(StyleConstants.Underline.equals( CharacterConstants.Underline)); harness.check(StyleConstants.Background.equals(ColorConstants.Background)); harness.check(StyleConstants.Foreground.equals(ColorConstants.Foreground)); harness.check(StyleConstants.Bold.equals(FontConstants.Bold)); harness.check(StyleConstants.Family.equals(FontConstants.Family)); harness.check(StyleConstants.Italic.equals(FontConstants.Italic)); harness.check(StyleConstants.Size.equals(FontConstants.Size)); harness.check(StyleConstants.Alignment.equals( ParagraphConstants.Alignment)); harness.check(StyleConstants.FirstLineIndent.equals( ParagraphConstants.FirstLineIndent)); harness.check(StyleConstants.LeftIndent.equals( ParagraphConstants.LeftIndent)); harness.check(StyleConstants.LineSpacing.equals( ParagraphConstants.LineSpacing)); harness.check(StyleConstants.Orientation.equals( ParagraphConstants.Orientation)); harness.check(StyleConstants.RightIndent.equals( ParagraphConstants.RightIndent)); harness.check(StyleConstants.SpaceAbove.equals( ParagraphConstants.SpaceAbove)); harness.check(StyleConstants.SpaceBelow.equals( ParagraphConstants.SpaceBelow)); harness.check(StyleConstants.TabSet.equals(ParagraphConstants.TabSet)); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/setBold.java0000644000175000001440000000341310363142622024702 0ustar dokousers/* setBold.java -- Tests for the setBold() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the setBold() method in the {@link StyleConstants} * class. */ public class setBold implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check local setting StyleConstants.setBold(s, true); harness.check(StyleConstants.isBold(s), true); // try null argument boolean pass = false; try { StyleConstants.setBold(null, true); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/setFirstLineIndent.java0000644000175000001440000000357010363142622027067 0ustar dokousers/* setFirstLineIndent.java -- Tests for the setFirstLineIndent() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the setFirstLineIndent() method in the {@link StyleConstants} * class. */ public class setFirstLineIndent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check local setting StyleConstants.setFirstLineIndent(s, 4.0f); harness.check(StyleConstants.getFirstLineIndent(s), 4.0f); // try null argument boolean pass = false; try { StyleConstants.setFirstLineIndent(null, 2.0f); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/isStrikeThrough.java0000644000175000001440000000433710363142622026452 0ustar dokousers/* isStrikeThrough.java -- Tests for the isStrikeThrough() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the isStrikeThrough() method in the {@link StyleConstants} * class. */ public class isStrikeThrough implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check default harness.check(StyleConstants.isStrikeThrough(s), false); // check local setting StyleConstants.setStrikeThrough(s, true); harness.check(StyleConstants.isStrikeThrough(s), true); // check resolving parent setting s.removeAttribute(StyleConstants.StrikeThrough); SimpleAttributeSet parent = new SimpleAttributeSet(); s.setResolveParent(parent); StyleConstants.setStrikeThrough(parent, true); harness.check(StyleConstants.isStrikeThrough(s), true); // try null argument boolean pass = false; try { StyleConstants.isStrikeThrough(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/setSpaceBelow.java0000644000175000001440000000352110363142622026046 0ustar dokousers/* setSpaceBelow.java -- Tests for the setSpaceBelow() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the setSpaceBelow() method in the {@link StyleConstants} * class. */ public class setSpaceBelow implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check local setting StyleConstants.setSpaceBelow(s, 4.0f); harness.check(StyleConstants.getSpaceBelow(s), 4.0f); // try null argument boolean pass = false; try { StyleConstants.setSpaceBelow(null, 2.0f); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/getSpaceAbove.java0000644000175000001440000000430310363142622026015 0ustar dokousers/* getSpaceAbove.java -- Tests for the getSpaceAbove() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the getSpaceAbove() method in the {@link StyleConstants} * class. */ public class getSpaceAbove implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check default harness.check(StyleConstants.getSpaceAbove(s), 0.0f); // check local setting StyleConstants.setSpaceAbove(s, 1.0f); harness.check(StyleConstants.getSpaceAbove(s), 1.0f); // check resolving parent setting s.removeAttribute(StyleConstants.SpaceAbove); SimpleAttributeSet parent = new SimpleAttributeSet(); s.setResolveParent(parent); StyleConstants.setSpaceAbove(parent, 2.0f); harness.check(StyleConstants.getSpaceAbove(s), 2.0f); // try null argument boolean pass = false; try { StyleConstants.getSpaceAbove(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/getFontFamily.java0000644000175000001440000000431710363142622026062 0ustar dokousers/* getFontFamily.java -- Tests for the getFontFamily() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the getFontFamily() method in the {@link StyleConstants} * class. */ public class getFontFamily implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check default harness.check(StyleConstants.getFontFamily(s), "Monospaced"); // check local setting StyleConstants.setFontFamily(s, "XYZ"); harness.check(StyleConstants.getFontFamily(s), "XYZ"); // check resolving parent setting s.removeAttribute(StyleConstants.FontFamily); SimpleAttributeSet parent = new SimpleAttributeSet(); s.setResolveParent(parent); StyleConstants.setFontFamily(parent, "ABC"); harness.check(StyleConstants.getFontFamily(s), "ABC"); // try null argument boolean pass = false; try { StyleConstants.getFontFamily(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/getLeftIndent.java0000644000175000001440000000430310363142622026041 0ustar dokousers/* getLeftIndent.java -- Tests for the getLeftIndent() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the getLeftIndent() method in the {@link StyleConstants} * class. */ public class getLeftIndent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check default harness.check(StyleConstants.getLeftIndent(s), 0.0f); // check local setting StyleConstants.setLeftIndent(s, 1.0f); harness.check(StyleConstants.getLeftIndent(s), 1.0f); // check resolving parent setting s.removeAttribute(StyleConstants.LeftIndent); SimpleAttributeSet parent = new SimpleAttributeSet(); s.setResolveParent(parent); StyleConstants.setLeftIndent(parent, 2.0f); harness.check(StyleConstants.getLeftIndent(s), 2.0f); // try null argument boolean pass = false; try { StyleConstants.getLeftIndent(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/setForeground.java0000644000175000001440000000411310363142622026132 0ustar dokousers/* setForeground.java -- Tests for the setForeground() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the setForeground() method in the {@link StyleConstants} * class. */ public class setForeground implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check local setting StyleConstants.setForeground(s, Color.blue); harness.check(StyleConstants.getForeground(s), Color.blue); // try null value boolean pass = false; try { StyleConstants.setForeground(s, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try null key pass = false; try { StyleConstants.setForeground(null, Color.red); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/isSuperscript.java0000644000175000001440000000430710363142622026170 0ustar dokousers/* isSuperscript.java -- Tests for the isSuperscript() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the isSuperscript() method in the {@link StyleConstants} * class. */ public class isSuperscript implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check default harness.check(StyleConstants.isSuperscript(s), false); // check local setting StyleConstants.setSuperscript(s, true); harness.check(StyleConstants.isSuperscript(s), true); // check resolving parent setting s.removeAttribute(StyleConstants.Superscript); SimpleAttributeSet parent = new SimpleAttributeSet(); s.setResolveParent(parent); StyleConstants.setSuperscript(parent, true); harness.check(StyleConstants.isSuperscript(s), true); // try null argument boolean pass = false; try { StyleConstants.isSuperscript(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/getForeground.java0000644000175000001440000000437310363142622026126 0ustar dokousers/* getForeground.java -- Tests for the getForeground() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the getForeground() method in the {@link StyleConstants} * class. */ public class getForeground implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check default harness.check(StyleConstants.getForeground(s), Color.black); // check local setting StyleConstants.setForeground(s, Color.red); harness.check(StyleConstants.getForeground(s), Color.red); // check resolving parent setting s.removeAttribute(StyleConstants.Foreground); SimpleAttributeSet parent = new SimpleAttributeSet(); s.setResolveParent(parent); StyleConstants.setForeground(parent, Color.yellow); harness.check(StyleConstants.getForeground(s), Color.yellow); // try null argument boolean pass = false; try { StyleConstants.getForeground(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/setComponent.java0000644000175000001440000000413510363142622025766 0ustar dokousers/* setComponent.java -- Tests for the setComponent() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JLabel; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the setComponent() method in the {@link StyleConstants} * class. */ public class setComponent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check local setting JLabel comp1 = new JLabel("XYZ"); StyleConstants.setComponent(s, comp1); harness.check(StyleConstants.getComponent(s), comp1); // try null value boolean pass = false; try { StyleConstants.setComponent(s, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try null key pass = false; try { StyleConstants.setComponent(null, comp1); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/getLineSpacing.java0000644000175000001440000000431710363142622026206 0ustar dokousers/* getLineSpacing.java -- Tests for the getLineSpacing() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the getLineSpacing() method in the {@link StyleConstants} * class. */ public class getLineSpacing implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check default harness.check(StyleConstants.getLineSpacing(s), 0.0f); // check local setting StyleConstants.setLineSpacing(s, 1.0f); harness.check(StyleConstants.getLineSpacing(s), 1.0f); // check resolving parent setting s.removeAttribute(StyleConstants.LineSpacing); SimpleAttributeSet parent = new SimpleAttributeSet(); s.setResolveParent(parent); StyleConstants.setLineSpacing(parent, 2.0f); harness.check(StyleConstants.getLineSpacing(s), 2.0f); // try null argument boolean pass = false; try { StyleConstants.getLineSpacing(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/getComponent.java0000644000175000001440000000445610363142622025760 0ustar dokousers/* getComponent.java -- Tests for the getComponent() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JLabel; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the getComponent() method in the {@link StyleConstants} * class. */ public class getComponent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check default harness.check(StyleConstants.getComponent(s), null); // check local setting JLabel comp = new JLabel("Label1"); StyleConstants.setComponent(s, comp); harness.check(StyleConstants.getComponent(s), comp); // check resolving parent setting s.removeAttribute(StyleConstants.ComponentAttribute); SimpleAttributeSet parent = new SimpleAttributeSet(); s.setResolveParent(parent); JLabel comp2 = new JLabel("Label2"); StyleConstants.setComponent(parent, comp2); harness.check(StyleConstants.getComponent(s), comp2); // try null argument boolean pass = false; try { StyleConstants.getComponent(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/isBold.java0000644000175000001440000000413410363142622024523 0ustar dokousers/* isBold.java -- Tests for the isBold() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the isBold() method in the {@link StyleConstants} class. */ public class isBold implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check default harness.check(StyleConstants.isBold(s), false); // check local setting StyleConstants.setBold(s, true); harness.check(StyleConstants.isBold(s), true); // check resolving parent setting s.removeAttribute(StyleConstants.Bold); SimpleAttributeSet parent = new SimpleAttributeSet(); s.setResolveParent(parent); StyleConstants.setBold(parent, true); harness.check(StyleConstants.isBold(s), true); // try null argument boolean pass = false; try { StyleConstants.isBold(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/setIcon.java0000644000175000001440000000413510363142622024714 0ustar dokousers/* setIcon.java -- Tests for the setIcon() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Icon; import javax.swing.plaf.metal.MetalIconFactory; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the setIcon() method in the {@link StyleConstants} * class. */ public class setIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check local setting Icon icon1 = MetalIconFactory.getTreeComputerIcon(); StyleConstants.setIcon(s, icon1); harness.check(StyleConstants.getIcon(s), icon1); // try null value boolean pass = false; try { StyleConstants.setIcon(s, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try null key pass = false; try { StyleConstants.setIcon(null, icon1); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/getAlignment.java0000644000175000001440000000451610363142622025731 0ustar dokousers/* getAlignment.java -- Tests for the getAlignment() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the getAlignment() method in the {@link StyleConstants} * class. */ public class getAlignment implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check default harness.check(StyleConstants.getAlignment(s), StyleConstants.ALIGN_LEFT); // check local setting StyleConstants.setAlignment(s, StyleConstants.ALIGN_JUSTIFIED); harness.check(StyleConstants.getAlignment(s), StyleConstants.ALIGN_JUSTIFIED); // check resolving parent setting s.removeAttribute(StyleConstants.Alignment); SimpleAttributeSet parent = new SimpleAttributeSet(); s.setResolveParent(parent); StyleConstants.setAlignment(parent, StyleConstants.ALIGN_JUSTIFIED); harness.check(StyleConstants.getAlignment(s), StyleConstants.ALIGN_JUSTIFIED); // try null argument boolean pass = false; try { StyleConstants.getAlignment(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/setFontFamily.java0000644000175000001440000000404310363142622026072 0ustar dokousers/* setFontFamily.java -- Tests for the setFontFamily() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the setFontFamily() method in the {@link StyleConstants} * class. */ public class setFontFamily implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check local setting StyleConstants.setFontFamily(s, "F1"); harness.check(StyleConstants.getFontFamily(s), "F1"); // try null value boolean pass = false; try { StyleConstants.setFontFamily(s, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try null key pass = false; try { StyleConstants.setFontFamily(null, "XYZ"); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/getFirstLineIndent.java0000644000175000001440000000437710363142622027061 0ustar dokousers/* getFirstLineIndent.java -- Tests for the getFirstLineIndent() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the getFirstLineIndent() method in the {@link StyleConstants} * class. */ public class getFirstLineIndent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check default harness.check(StyleConstants.getFirstLineIndent(s), 0.0f); // check local setting StyleConstants.setFirstLineIndent(s, 1.0f); harness.check(StyleConstants.getFirstLineIndent(s), 1.0f); // check resolving parent setting s.removeAttribute(StyleConstants.FirstLineIndent); SimpleAttributeSet parent = new SimpleAttributeSet(); s.setResolveParent(parent); StyleConstants.setFirstLineIndent(parent, 2.0f); harness.check(StyleConstants.getFirstLineIndent(s), 2.0f); // try null argument boolean pass = false; try { StyleConstants.getFirstLineIndent(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/isItalic.java0000644000175000001440000000416210363142622025051 0ustar dokousers/* isItalic.java -- Tests for the isItalic() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the isItalic() method in the {@link StyleConstants} class. */ public class isItalic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check default harness.check(StyleConstants.isItalic(s), false); // check local setting StyleConstants.setItalic(s, true); harness.check(StyleConstants.isItalic(s), true); // check resolving parent setting s.removeAttribute(StyleConstants.Italic); SimpleAttributeSet parent = new SimpleAttributeSet(); s.setResolveParent(parent); StyleConstants.setItalic(parent, true); harness.check(StyleConstants.isItalic(s), true); // try null argument boolean pass = false; try { StyleConstants.isItalic(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/setSuperscript.java0000644000175000001440000000352510363142622026351 0ustar dokousers/* setSuperscript.java -- Tests for the setSuperscript() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the setSuperscript() method in the {@link StyleConstants} * class. */ public class setSuperscript implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check local setting StyleConstants.setSuperscript(s, true); harness.check(StyleConstants.isSuperscript(s), true); // try null argument boolean pass = false; try { StyleConstants.setSuperscript(null, true); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/getBidiLevel.java0000644000175000001440000000425010363142622025645 0ustar dokousers/* getBidiLevel.java -- Tests for the getBidiLevel() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the getBidiLevel() method in the {@link StyleConstants} * class. */ public class getBidiLevel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check default harness.check(StyleConstants.getBidiLevel(s), 0); // check local setting StyleConstants.setBidiLevel(s, 1); harness.check(StyleConstants.getBidiLevel(s), 1); // check resolving parent setting s.removeAttribute(StyleConstants.BidiLevel); SimpleAttributeSet parent = new SimpleAttributeSet(); s.setResolveParent(parent); StyleConstants.setBidiLevel(parent, 2); harness.check(StyleConstants.getBidiLevel(s), 2); // try null argument boolean pass = false; try { StyleConstants.getBidiLevel(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/setStrikeThrough.java0000644000175000001440000000354710363142622026634 0ustar dokousers/* setStrikeThrough.java -- Tests for the setStrikeThrough() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the setStrikeThrough() method in the {@link StyleConstants} * class. */ public class setStrikeThrough implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check local setting StyleConstants.setStrikeThrough(s, true); harness.check(StyleConstants.isStrikeThrough(s), true); // try null argument boolean pass = false; try { StyleConstants.setStrikeThrough(null, true); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/setTabSet.java0000644000175000001440000000423110363142622025203 0ustar dokousers/* setTabSet.java -- Tests for the setTabSet() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; import javax.swing.text.TabSet; import javax.swing.text.TabStop; /** * Some checks for the setTabSet() method in the {@link StyleConstants} * class. */ public class setTabSet implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check local setting TabStop[] tabs1 = new TabStop[] {new TabStop(8.0f)}; TabSet ts1 = new TabSet(tabs1); StyleConstants.setTabSet(s, ts1); harness.check(StyleConstants.getTabSet(s), ts1); // try null value boolean pass = false; try { StyleConstants.setTabSet(s, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try null key pass = false; try { StyleConstants.setTabSet(null, ts1); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/getBackground.java0000644000175000001440000000437310363142622026073 0ustar dokousers/* getBackground.java -- Tests for the getBackground() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the getBackground() method in the {@link StyleConstants} * class. */ public class getBackground implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check default harness.check(StyleConstants.getBackground(s), Color.black); // check local setting StyleConstants.setBackground(s, Color.red); harness.check(StyleConstants.getBackground(s), Color.red); // check resolving parent setting s.removeAttribute(StyleConstants.Background); SimpleAttributeSet parent = new SimpleAttributeSet(); s.setResolveParent(parent); StyleConstants.setBackground(parent, Color.yellow); harness.check(StyleConstants.getBackground(s), Color.yellow); // try null argument boolean pass = false; try { StyleConstants.getBackground(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/setUnderline.java0000644000175000001440000000350710363142622025753 0ustar dokousers/* setUnderline.java -- Tests for the setUnderline() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the setUnderline() method in the {@link StyleConstants} * class. */ public class setUnderline implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check local setting StyleConstants.setUnderline(s, true); harness.check(StyleConstants.isUnderline(s), true); // try null argument boolean pass = false; try { StyleConstants.setUnderline(null, true); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/setItalic.java0000644000175000001440000000345710363142622025237 0ustar dokousers/* setItalic.java -- Tests for the setItalic() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the setItalic() method in the {@link StyleConstants} * class. */ public class setItalic implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check local setting StyleConstants.setItalic(s, true); harness.check(StyleConstants.isItalic(s), true); // try null argument boolean pass = false; try { StyleConstants.setItalic(null, true); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/setLeftIndent.java0000644000175000001440000000352010363142622026055 0ustar dokousers/* setLeftIndent.java -- Tests for the setLeftIndent() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the setLeftIndent() method in the {@link StyleConstants} * class. */ public class setLeftIndent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check local setting StyleConstants.setLeftIndent(s, 4.0f); harness.check(StyleConstants.getLeftIndent(s), 4.0f); // try null argument boolean pass = false; try { StyleConstants.setLeftIndent(null, 2.0f); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/isUnderline.java0000644000175000001440000000425210363142622025571 0ustar dokousers/* isUnderline.java -- Tests for the isUnderline() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the isUnderline() method in the {@link StyleConstants} class. */ public class isUnderline implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check default harness.check(StyleConstants.isUnderline(s), false); // check local setting StyleConstants.setUnderline(s, true); harness.check(StyleConstants.isUnderline(s), true); // check resolving parent setting s.removeAttribute(StyleConstants.Underline); SimpleAttributeSet parent = new SimpleAttributeSet(); s.setResolveParent(parent); StyleConstants.setUnderline(parent, true); harness.check(StyleConstants.isUnderline(s), true); // try null argument boolean pass = false; try { StyleConstants.isUnderline(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/setSubscript.java0000644000175000001440000000350710363142622026004 0ustar dokousers/* setSubscript.java -- Tests for the setSubscript() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the setSubscript() method in the {@link StyleConstants} * class. */ public class setSubscript implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check local setting StyleConstants.setSubscript(s, true); harness.check(StyleConstants.isSubscript(s), true); // try null argument boolean pass = false; try { StyleConstants.setSubscript(null, true); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/getIcon.java0000644000175000001440000000447410363142622024706 0ustar dokousers/* getIcon.java -- Tests for the getIcon() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Icon; import javax.swing.plaf.metal.MetalIconFactory; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the getIcon() method in the {@link StyleConstants} class. */ public class getIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check default harness.check(StyleConstants.getIcon(s), null); // check local setting Icon icon1 = MetalIconFactory.getFileChooserHomeFolderIcon(); StyleConstants.setIcon(s, icon1); harness.check(StyleConstants.getIcon(s), icon1); // check resolving parent setting s.removeAttribute(StyleConstants.IconAttribute); SimpleAttributeSet parent = new SimpleAttributeSet(); s.setResolveParent(parent); Icon icon2 = MetalIconFactory.getFileChooserNewFolderIcon(); StyleConstants.setIcon(parent, icon2); harness.check(StyleConstants.getIcon(s), icon2); // try null argument boolean pass = false; try { StyleConstants.getIcon(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/setSpaceAbove.java0000644000175000001440000000352310363142622026034 0ustar dokousers/* setLineSpacing.java -- Tests for the setLineSpacing() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the setSpaceAbove() method in the {@link StyleConstants} * class. */ public class setSpaceAbove implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check local setting StyleConstants.setSpaceAbove(s, 4.0f); harness.check(StyleConstants.getSpaceAbove(s), 4.0f); // try null argument boolean pass = false; try { StyleConstants.setSpaceAbove(null, 2.0f); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/setRightIndent.java0000644000175000001440000000352710363142622026247 0ustar dokousers/* setRightIndent.java -- Tests for the setRightIndent() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the setRightIndent() method in the {@link StyleConstants} * class. */ public class setRightIndent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check local setting StyleConstants.setRightIndent(s, 4.0f); harness.check(StyleConstants.getRightIndent(s), 4.0f); // try null argument boolean pass = false; try { StyleConstants.setRightIndent(null, 2.0f); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/isSubscript.java0000644000175000001440000000425210363142622025622 0ustar dokousers/* isSubscript.java -- Tests for the isSubscript() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; /** * Some checks for the isSubscript() method in the {@link StyleConstants} class. */ public class isSubscript implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check default harness.check(StyleConstants.isSubscript(s), false); // check local setting StyleConstants.setSubscript(s, true); harness.check(StyleConstants.isSubscript(s), true); // check resolving parent setting s.removeAttribute(StyleConstants.Subscript); SimpleAttributeSet parent = new SimpleAttributeSet(); s.setResolveParent(parent); StyleConstants.setSubscript(parent, true); harness.check(StyleConstants.isSubscript(s), true); // try null argument boolean pass = false; try { StyleConstants.isSubscript(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/StyleConstants/getTabSet.java0000644000175000001440000000461310363142622025173 0ustar dokousers/* getTabSet.java -- Tests for the getTabSet() method in the StyleConstants class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.StyleConstants; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; import javax.swing.text.TabSet; import javax.swing.text.TabStop; /** * Some checks for the getTabSet() method in the {@link StyleConstants} * class. */ public class getTabSet implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { SimpleAttributeSet s = new SimpleAttributeSet(); // check default harness.check(StyleConstants.getTabSet(s), null); // check local setting TabStop[] tabs1 = new TabStop[] {new TabStop(8.0f)}; TabSet ts1 = new TabSet(tabs1); StyleConstants.setTabSet(s, ts1); harness.check(StyleConstants.getTabSet(s), ts1); // check resolving parent setting s.removeAttribute(StyleConstants.TabSet); SimpleAttributeSet parent = new SimpleAttributeSet(); s.setResolveParent(parent); TabStop[] tabs2 = new TabStop[] {new TabStop(10.0f)}; TabSet ts2 = new TabSet(tabs2); StyleConstants.setTabSet(parent, ts2); harness.check(StyleConstants.getTabSet(s), ts2); // try null argument boolean pass = false; try { StyleConstants.getTabSet(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/text/DefaultFormatter/0000755000175000001440000000000012375316426022727 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/DefaultFormatter/getValueClass.java0000644000175000001440000000302110364147525026326 0ustar dokousers/* getValueClass.java -- Tests the getValueClass() method of DefaultFormatter Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.text.DefaultFormatter; import javax.swing.text.DefaultFormatter; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests if the getValueClass() method works correctly. * * @author Roman Kennke (kennke@aicas.com) */ public class getValueClass implements Testlet { public void test(TestHarness harness) { testDefaultValue(harness); } /** * Tests the default value for this property, which should be null. * * @param h the test harness to use */ private void testDefaultValue(TestHarness h) { h.checkPoint("defaultValue"); DefaultFormatter f = new DefaultFormatter(); h.check(f.getValueClass(), null); } } mauve-20140821/gnu/testlet/javax/swing/text/html/0000755000175000001440000000000012375316426020423 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/html/HTML/0000755000175000001440000000000012375316426021167 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/html/HTML/ElementTagAttributeTest.java0000644000175000001440000000540110346341470026574 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Red Hat // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.text.html.HTML; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; import javax.swing.text.AttributeSet; import javax.swing.text.Element; import javax.swing.text.ElementIterator; import javax.swing.text.StyleConstants; import javax.swing.text.html.HTML; import javax.swing.text.html.HTMLDocument; import javax.swing.text.html.HTMLEditorKit; import javax.swing.text.html.parser.ParserDelegator; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Test that the HTML.Tags are stored as StyleConstants.NameAttribute * in the Elements attributes * @author Lillian Angel (langel@redhat.com) */ public class ElementTagAttributeTest implements Testlet { TestHarness h; public void test(TestHarness harness) { h = harness; try { testAttrs(); } catch (Exception e) { h.fail("Exception caught"); } } public void testAttrs() throws Exception { URL url = new URL("http://www.redhat.com"); URLConnection connection = url.openConnection(); InputStream is = connection.getInputStream(); InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); HTMLEditorKit htmlKit = new HTMLEditorKit(); HTMLDocument htmlDoc = (HTMLDocument) htmlKit.createDefaultDocument(); HTMLEditorKit.Parser parser = new ParserDelegator(); HTMLEditorKit.ParserCallback callback = htmlDoc.getReader(0); parser.parse(br, callback, true); ElementIterator iterator = new ElementIterator(htmlDoc); Element element; while ((element = iterator.next()) != null) { AttributeSet attributes = element.getAttributes(); Object name = attributes.getAttribute(StyleConstants.NameAttribute); h.check((name instanceof HTML.Tag), true, "HTML.Tag is not" + " stored as StyleConstants.NameAttribute in the elements attributes"); } } } mauve-20140821/gnu/testlet/javax/swing/text/html/HTML/HTML_Test.java0000644000175000001440000000655110201411133023555 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.text.html.HTML; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.html.HTML; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Test the javax.swing.text.html.HTML public methods. * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public class HTML_Test implements Testlet { TestHarness harness; public void test(TestHarness a_harness) { harness = a_harness; testConstructor(); testGetAttributeKey(); testGetTag(); testGetIntegerAttributeValue(); } void assertNotNull(String about, Object notNull) { if (notNull == null) harness.fail(about); } void testConstructor() { harness.checkPoint("constructor"); new HTML(); } void testGetAttributeKey() { harness.checkPoint("getAttributeKey"); // Test the known tags. String mine[] = toStrings(HTML.getAllAttributeKeys()); for (int i = 0; i < mine.length; i++) assertNotNull(HTML.getAttributeKey(mine [ i ]) + " must be found", mine [ i ] ); // Test the unknown attribute. harness.check(HTML.getTag("audrius"), null, "surely unknown HTML attribute"); } void testGetIntegerAttributeValue() { harness.checkPoint("getIntegerAttributeValue"); SimpleAttributeSet ase = new SimpleAttributeSet(); ase.addAttribute(HTML.getAttributeKey("size"), "222"); harness.check(222, HTML.getIntegerAttributeValue(ase, HTML.getAttributeKey("size"), 333 ), "attribute must be found" ); harness.check(333, HTML.getIntegerAttributeValue(ase, HTML.getAttributeKey("href"), 333 ), "the default value must be returned" ); } void testGetTag() { harness.checkPoint("getTag"); /* Testing the known tags: */ String mine[] = toStrings(HTML.getAllTags()); for (int i = 0; i < mine.length; i++) assertNotNull(mine [ i ]+" tag must be found", HTML.getTag(mine [ i ])); /* Testing the unknown tag: */ harness.check(HTML.getTag("audrius"), null, "surely unknown HTML tag"); } private String[] toStrings(Object objs[]) { String a[] = new String[ objs.length ]; for (int i = 0; i < a.length; i++) a [ i ] = objs [ i ].toString(); return a; } } mauve-20140821/gnu/testlet/javax/swing/text/html/parser/0000755000175000001440000000000012375316426021717 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/html/parser/Entity/0000755000175000001440000000000012375316426023173 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/html/parser/Entity/Entity_Test.java0000644000175000001440000000710210201412556026274 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Audrius Meskauskas, AudriusA@Bluewin.ch // // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.text.html.parser.Entity; import javax.swing.text.html.parser.Element; import javax.swing.text.html.parser.Entity; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.html.parser.DTDConstants; /** * @author Audrius Meskauskas (AudriusA@Bluewin.ch) */ public class Entity_Test implements Testlet { private Element element; TestHarness harness; public Entity_Test() { } public void test(TestHarness a_harness) { harness = a_harness; try { testName2type(); testPublicSystemGeneralParameter(); element = null; } catch (Throwable exc) { exc.printStackTrace(); if (exc != null) harness.fail(exc.getClass().getName() + ":" + exc.getMessage()); else harness.fail("exception"); } } public void testName2type() { harness.check(Entity.name2type("PUBLIC"), DTDConstants.PUBLIC, "PUBLIC"); harness.check(Entity.name2type("SDATA"), DTDConstants.SDATA, "SDATA"); harness.check(Entity.name2type("PI"), DTDConstants.PI, "PI"); harness.check(Entity.name2type("STARTTAG"), DTDConstants.STARTTAG, "STARTTAG" ); harness.check(Entity.name2type("ENDTAG"), DTDConstants.ENDTAG, "ENDTAG"); harness.check(Entity.name2type("MS"), DTDConstants.MS, "MS"); harness.check(Entity.name2type("MD"), DTDConstants.MD, "MD"); harness.check(Entity.name2type("SYSTEM"), DTDConstants.SYSTEM, "SYSTEM"); harness.check(Entity.name2type("audrius"), DTDConstants.CDATA, "surely unknown " ); } public void testPublicSystemGeneralParameter() { int pu_sy[] = new int[] { DTDConstants.PUBLIC, DTDConstants.SYSTEM, 0 }; int gen_par[] = new int[] { DTDConstants.GENERAL, DTDConstants.PARAMETER, 0 }; for (int ps = 0; ps < pu_sy.length; ps++) { for (int gp = 0; gp < gen_par.length; gp++) { Entity e = new Entity(null, 0, null); e.type = pu_sy [ ps ] | gen_par [ gp ]; harness.check(e.isGeneral(), gen_par [ gp ] == DTDConstants.GENERAL); harness.check(e.isParameter(), gen_par [ gp ] == DTDConstants.PARAMETER); harness.check((e.type & DTDConstants.SYSTEM) != 0, pu_sy [ ps ] == DTDConstants.SYSTEM ); harness.check((e.type & DTDConstants.PUBLIC) != 0, pu_sy [ ps ] == DTDConstants.PUBLIC ); harness.check((e.type & DTDConstants.GENERAL) != 0, gen_par [ gp ] == DTDConstants.GENERAL ); harness.check((e.type & DTDConstants.PARAMETER) != 0, gen_par [ gp ] == DTDConstants.PARAMETER ); } } } } mauve-20140821/gnu/testlet/javax/swing/text/html/parser/TagElement/0000755000175000001440000000000012375316426023744 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/html/parser/TagElement/TagElementTest2.java0000644000175000001440000000474411015022012027536 0ustar dokousers// Tags: JDK1.2 // Uses: ../../../../../../gnu/javax/swing/text/html/parser/support/Parser/TestCase // Copyright (C) 2005 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.text.html.parser.TagElement; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.gnu.javax.swing.text.html.parser.support.Parser.TestCase; import javax.swing.text.html.HTML; import javax.swing.text.html.parser.DTD; import javax.swing.text.html.parser.Element; import javax.swing.text.html.parser.TagElement; /** * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public class TagElementTest2 extends TestCase implements Testlet { public void test(TestHarness harness) { h = harness; try { testTagElement(); } catch (Exception ex) { ex.printStackTrace(); harness.fail("Exception: " + ex); } } public void testTagElement() throws Exception { HTML.Tag[] tags = HTML.getAllTags(); for (int i = 0; i < tags.length; i++) { HTML.Tag t = tags [ i ]; String tn = t.toString(); Element e = DTD.getDTD("test").getElement("e"); e.name = tn; TagElement te = new TagElement(e, true); assertTrue(" must be fictional", te.fictional()); te = new TagElement(e); assertFalse("must be non fictional", te.fictional()); assertEquals(te.getHTMLTag().toString(), t.toString()); assertEquals(t.breaksFlow(), te.breaksFlow()); assertEquals(t.isPreformatted(), te.isPreformatted()); } } protected void setUp() throws Exception { super.setUp(); } protected void tearDown() throws Exception { super.tearDown(); } } mauve-20140821/gnu/testlet/javax/swing/text/html/parser/TagElement/TagElement_Test.java0000644000175000001440000000400410201412556027614 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Audrius Meskauskas, AudriusA@Bluewin.ch // // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.text.html.parser.TagElement; import javax.swing.text.html.parser.Element; import javax.swing.text.html.parser.TagElement; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.html.HTML; import javax.swing.text.html.parser.*; import java.io.*; /** * @author Audrius Meskauskas (AudriusA@Bluewin.ch) */ public class TagElement_Test implements Testlet { TestHarness harness; public TagElement_Test() { } public void test(TestHarness a_harness) { harness = a_harness; try { HTML.Tag tags[] = HTML.getAllTags(); for (int i = 0; i < tags.length; i++) { HTML.Tag t = tags[i]; String tn = t.toString(); Element e = DTD.getDTD("test").getElement("e"); e.name = tn; TagElement te = new TagElement(e, true); harness.check(te.fictional()); te = new TagElement(e); harness.check(! (te.fictional())); harness.check(te.getHTMLTag().toString(), t.toString()); harness.check(t.breaksFlow(), te.breaksFlow()); harness.check(t.isPreformatted(), te.isPreformatted()); } } catch (IOException ex) { harness.fail(ex.getMessage()); } } } mauve-20140821/gnu/testlet/javax/swing/text/html/parser/ParserDelegator/0000755000175000001440000000000012375316426025002 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/html/parser/ParserDelegator/randomTables.java0000644000175000001440000000733710204143201030244 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Audrius Meskauskas, AudriusA@Bluewin.ch // // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.text.html.parser.ParserDelegator; import java.util.Random; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests parsing of randomly generated HTML tables, with and without * caption, random presence of the table/row closing tags, randomly * inserted spaces where witespace should not matter and * randomly varying number of rows and columns in the certain interval. */ public class randomTables extends parsingTester implements Testlet { /** * Number of randomly generated tables to test. */ static int TABLES_TO_TEST = 101; Random r = new Random(); public String s() { if (r.nextBoolean()) return ""; StringBuffer b = new StringBuffer(); int spc = r.nextInt(4); for (int i = 0; i < spc; i++) { b.append(' '); } return b.toString(); } /** * Try variable randomly generated table. */ public void test(TestHarness a_harness) { harness = a_harness; hideImplied = true; for (int i = 0; i < TABLES_TO_TEST; i++) { try { new table().test(); } catch (Exception ex) { harness.fail(ex.toString()); } } } class table { final String [][] rows; final boolean caption = r.nextBoolean(); table() { int nrows = r.nextInt(5) + 1; rows = new String[ nrows ][]; for (int i = 0; i < rows.length; i++) { int ncol = r.nextInt(5) + 1; rows [ i ] = new String[ ncol ]; for (int j = 0; j < rows [ i ].length; j++) { rows [ i ] [ j ] = "C_" + i + "_" + j; } } } public String getHtml() { StringBuffer b = new StringBuffer(""); if (caption) b.append(""); for (int row = 0; row < rows.length; row++) { b.append(""); for (int col = 0; col < rows [ row ].length; col++) { b.append(""); b.append( rows [ row ] [ col ] ); if (r.nextBoolean()) b.append(""); } if (r.nextBoolean()) b.append(""); } b.append("
    capt
    "); return b.toString(); } public String getTrace() { StringBuffer b = new StringBuffer(""); if (caption) b.append(""); for (int row = 0; row < rows.length; row++) { b.append(""); for (int col = 0; col < rows [ row ].length; col++) { b.append(""); } b.append(""); } b.append("
    'capt'
    '" + rows [ row ] [ col ] + "'
    "); return b.toString(); } void test() throws Exception { String trace = getTrace(); String html = getHtml(); verify(html, trace, html+":"+trace); } } } mauve-20140821/gnu/testlet/javax/swing/text/html/parser/ParserDelegator/Text4.java0000644000175000001440000000330410546471140026646 0ustar dokousers/* Text4.java -- Whitespace handling tests Copyright (C) 2007 Copyright (C) 2005 Audrius Meskauskas This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.html.parser.ParserDelegator; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests the "whitespace clash" - two spaces, one before and one after * the B tag, must mutate into the single space. Tailored to pass JDK 1.6 * and 1.7. */ public class Text4 extends Text implements Testlet { public void test(TestHarness a_harness) { harness = a_harness; hideImplied = true; // Two spaces, one before and one after, must mutate into the single one. verify("abcdef ghi", "61'a 62'b 63'c 64'd 65'e 66'f 20 67'g 68'h 69'i ", "whitespace clash 1" ); verify("abc defghi", "61'a 62'b 63'c 20 64'd 65'e 66'f 67'g 68'h 69'i ", "whitespace clash 1" ); } } mauve-20140821/gnu/testlet/javax/swing/text/html/parser/ParserDelegator/Text3.java0000644000175000001440000000634710546471140026657 0ustar dokousers/* Text3.java -- Whitespace handling tests Copyright (C) 2007 Copyright (C) 2005 Audrius Meskauskas This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.text.html.parser.ParserDelegator; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Checks if the whitespace is correctly consumed aroung the B (bold) * tag. */ public class Text3 extends Text implements Testlet { public void test(TestHarness a_harness) { harness = a_harness; hideImplied = true; // No whitespace. verify("abcdefghi", "61'a 62'b 63'c 64'd 65'e 66'f 67'g 68'h 69'i ","no ws" ); // Onse space before b must be preserved verify("abc defghi", "61'a 62'b 63'c 20 64'd 65'e 66'f 67'g 68'h 69'i ","ws before b" ); // Two spaces must mutate into 1 verify("abc defghi", "61'a 62'b 63'c 20 64'd 65'e 66'f 67'g 68'h 69'i ","ws before b 2" ); verify("abc defghi", "61'a 62'b 63'c 20 64'd 65'e 66'f 67'g 68'h 69'i ","ws after b" ); verify("abc defghi", "61'a 62'b 63'c 20 64'd 65'e 66'f 67'g 68'h 69'i ","ws after b 2" ); verify("abcdef ghi","61'a 62'b 63'c 64'd 65'e 66'f 20 67'g 68'h 69'i ","ws before end of b" ); verify("abcdef ghi","61'a 62'b 63'c 64'd 65'e 66'f 20 67'g 68'h 69'i ","ws before end of b 2" ); verify("abcdef ghi", "61'a 62'b 63'c 64'd 65'e 66'f 20 67'g 68'h 69'i ","ws after end of b" ); verify("abcdef ghi", "61'a 62'b 63'c 64'd 65'e 66'f 20 67'g 68'h 69'i ","ws after end of b 2" ); // Two spaces, one before and one after, must mutate into the single one. verify("abcdef ghi", "61'a 62'b 63'c 64'd 65'e 66'f 20 67'g 68'h 69'i ", "whitespace clash 1" ); verify("abc defghi", "61'a 62'b 63'c 20 64'd 65'e 66'f 67'g 68'h 69'i ", "whitespace clash 1" ); } } mauve-20140821/gnu/testlet/javax/swing/text/html/parser/ParserDelegator/tokenLocations.java0000644000175000001440000000641410204143226030627 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Audrius Meskauskas, AudriusA@Bluewin.ch // // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.text.html.parser.ParserDelegator; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.MutableAttributeSet; import javax.swing.text.html.HTML; /** * Checking the token positons that must be available for the callback. * @author Audrius Meskauskas (AudriusA@Bluewin.ch) */ public class tokenLocations extends parsingTester implements Testlet { public void handleSimpleTag(HTML.Tag tag, MutableAttributeSet attributes, int position ) { if (tag.toString().equals("#pcdata")) return; out.append("<" + tag + "[" + position + "]"); dumpAttributes(attributes); out.append("/>"); } public void handleStartTag(HTML.Tag tag, MutableAttributeSet attributes, int position ) { if (tag.toString().equalsIgnoreCase("tbody")) return; out.append("<" + tag + "[" + position + "]"); dumpAttributes(attributes); out.append('>'); } public void handleText(char chars[], int position) { out.append("'" + new String(chars) + "[" + position + "]'"); } public void handleEndTag(HTML.Tag tag, int position) { if (tag.toString().equalsIgnoreCase("tbody")) return; out.append(""); } public void handleComment(char parm1[], int position) { out.append("{" + new String(parm1) + "[" + position + "]}"); } public void testHTMLParsing() { hideImplied = true; // 0123456789012345678901234567890 verify("ab", "'a[0]'{ comment [1]}'b[17]'" + "{ comment2 [18]}", "comment" ); // 0123456789012345678901234567890 verify("", "" + "'a[15]''b[20]'" + "
    ab
    " + "", "table" ); // 012345678901234567 verify("

    b

    c

    d", "'b[3]'

    'c[7]'" + "

    'd[11]'

    ", "paragraphs" ); // Test SGML insertion verify("sgml", ""+ "'sgml[23]'","SGML insertion"); } public void test(TestHarness a_harness) { super.test(a_harness); } } mauve-20140821/gnu/testlet/javax/swing/text/html/parser/ParserDelegator/SimpleParsing.java0000644000175000001440000003127510522715461030424 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2006 Audrius Meskauskas, Audrius.Meskauskas@Spectraseis.org // // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.text.html.parser.ParserDelegator; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOException; import java.io.StringReader; import java.util.Comparator; import java.util.Enumeration; import java.util.Iterator; import java.util.TreeSet; import javax.swing.text.AttributeSet; import javax.swing.text.MutableAttributeSet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.html.HTML; import javax.swing.text.html.HTMLEditorKit; import javax.swing.text.html.HTMLEditorKit.ParserCallback; import javax.swing.text.html.parser.ParserDelegator; /** * Sample HTML parsing. This test may fail on some 1.3 implementations, * revealing bugs that were later fixed in 1.4. * * @author Audrius Meskauskas (Audrius.Meskauskas@Spectraseis.org) */ public class SimpleParsing extends HTMLEditorKit.ParserCallback implements Testlet { StringBuffer out = new StringBuffer(); AttributeSet atts = new SimpleAttributeSet(); TestHarness harness; public void handleComment(char parm1[], int position) { out.append("{" + new String(parm1) + "}"); } public void handleEndTag(HTML.Tag tag, int position) { if (tag.toString().equals("tbody")) return; out.append(""); } public void handleSimpleTag(HTML.Tag tag, MutableAttributeSet attributes, int position ) { if (tag.toString().equals("#pcdata")) return; out.append("<" + tag); dumpAttributes(attributes); out.append("/>"); } public void handleStartTag(HTML.Tag tag, MutableAttributeSet attributes, int position ) { if (tag.toString().equals("tbody")) return; out.append("<" + tag); dumpAttributes(attributes); out.append('>'); } public void handleText(char chars[], int position) { out.append("'" + new String(chars) + "'"); } public void test(TestHarness a_harness) { harness = a_harness; testHTMLParsing(); } public void testHTMLParsing() { // Test entities. verify("eqdec: = ampnamed: &", "" + "'eqdec: = ampnamed: &'", "Named and numeric entities" ); // Test unclosed tags. verify("
    ", "" + "

    " + "", "Error tolerance (unclosed tags)" ); // Test valid attributes. verify("


    ", "" + "
    " + "

    ", "Attributes" ); // Test unknown attribute without value. verify("
    ", ""+ "
    ", "surely unknown attribute 'audrius' without value" ); // Table tests: verify("", "" + "
    a
    a
    " + "
    'a'
    'a'
    ", "Table with implied row closing tags 1" ); verify("
    ab
    abc", "" + "" + "
    'a''b'
    'a''b''c'
    " + "", "Table with implied row closing tags 2" ); verify("", "" + "
    abc
    " + "
    'a''b''c'
    ", "Table with implied row and column closing tags" ); // Test table content model. verify("a
    ", "" + "" + "
    'a'
    ", "Table with implied tags" ); // Test table content model. verify("a
    cap
    ", "" + "" + "
    'cap'" + "
    'a'
    ", "Table with caption" ); // Test typical table. verify("
    xyz
    ", "" + "" + "
    'x''y''z'
    ", "Simple table" ); // Test nested table. verify("
    nested
    x
    "+ "yz
    ", ""+ ""+ "
    "+ "
    'nested'
    'x'"+ "
    'y''z'
    ", "nested table" ); // Test simple nested list. verify("
    • a
      • na
      • nb
    • b
    ", "" + "
    • 'a'
      • 'na'
      • " + "
      • 'nb'
    • 'b'
    ", "Nested list" ); // Test simple non-nested list. verify("
    • a
    • na
    • nb
    • b
    ", "" + "
    • 'a'
    • 'na'
    • " + "
    • 'nb'
    • 'b'
    ", "Simple list" ); // Test list without closing tags (obsolete list form). verify("
    • a
    • na
    • nb
    • b
    ", "" + "
    • 'a'
    • 'na'
    • 'nb'
    • " + "
    • 'b'
    ", "List with implied closing tags" ); // Test list without closing tags (obsolete list form). verify("
    • a
      • na
      • nb
    • b
    ", "" + "
    • 'a'
      • 'na'
      • 'nb'
      • " + "
    • 'b'
    ", "List with implied closing tags" ); // Test html no head no body. verify("text", "" + "'text'", "Global document content model 1" ); // Test head only. verify("text", "" + "'text'", "Global document content model 2" ); // Test head and body. verify("titext", "'ti'" + "'text'", "Global document content model 3" ); // Test title and text. verify("titletext", "'title'" + "'text'", "Global document content model 4" ); // Test html only. verify("text", "" + "'text'", "Global document content model 5" ); // Test body only. verify("text", "" + "'text'", "Global document content model 6" ); // Test definition list, obsolete. verify("
    ha
    a
    hb
    b", "" + "
    'ha'
    'a'
    " + "'hb'
    'b'
    ", "Definition list without closing tags" ); // Test definition list. verify("
    'ha'
    'a'
    " + "
    'hb'
    'b'
    ", "
    ''ha''
    ''a''
    " + "''hb''
    ''b''
    ", "Definition list" ); // Test paragraphs. verify("

    b

    c

    d", "" + "

    'b'

    'c'

    'd'

    " + "", "Paragraphs without closing tags" ); // Test paragraphs. verify("

    'b'

    'c'

    'd'

    ", "" + "

    ''b''

    ''c''

    ''d''" + "

    ", "Paragraphs" ); // Test select obsolete. verify("
    " + "
    ", "Forms, options without closing tags, bug in 1.3, fixed in 1.4" ); // Test select current. verify("
    ", "" + "
    ", "Forms, bug in 1.3, fixed in 1.4" ); } public String verify(String html, String expected, String about) { out.setLength(0); HTMLEditorKit.ParserCallback callback = this; ParserDelegator delegator = new ParserDelegator(); try { delegator.parse(new StringReader(html), callback, true); } catch (IOException ex) { harness.fail("Unexpected exception " + ex.getMessage() + " while parsing " + html ); } String result = out.toString(); harness.check(result, expected, about); return result; } public boolean hideImplied = false; protected void dumpAttributes(AttributeSet atts) { Enumeration enumeration = atts.getAttributeNames(); // Sort them to ensure the same order every time: TreeSet t = new TreeSet(new Comparator() { public int compare(Object a, Object b) { return a.toString().compareTo(b.toString()); } } ); while (enumeration.hasMoreElements()) t.add(enumeration.nextElement()); Iterator iter = t.iterator(); while (iter.hasNext()) { Object a = iter.next(); Object av = atts.getAttribute(a); if (hideImplied && a.toString().equalsIgnoreCase(ParserCallback.IMPLIED.toString()) ) continue; String v = av != null ? av.toString() : "~null"; out.append(" " + a + "='" + v + "'"); } } } mauve-20140821/gnu/testlet/javax/swing/text/html/parser/ParserDelegator/parsingTester.java0000644000175000001440000003324610462367373030511 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Audrius Meskauskas, AudriusA@Bluewin.ch // // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.text.html.parser.ParserDelegator; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.IOException; import java.io.StringReader; import java.util.Comparator; import java.util.Enumeration; import java.util.Iterator; import java.util.TreeSet; import javax.swing.text.AttributeSet; import javax.swing.text.MutableAttributeSet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.html.HTML; import javax.swing.text.html.HTMLEditorKit; import javax.swing.text.html.HTMLEditorKit.ParserCallback; import javax.swing.text.html.parser.ParserDelegator; /** * Sample HTML parsing. This test may fail on some 1.3 implementations, * revealing bugs that were later fixed in 1.4. * @author Audrius Meskauskas (AudriusA@Bluewin.ch) */ public class parsingTester extends HTMLEditorKit.ParserCallback implements Testlet { StringBuffer out = new StringBuffer(); AttributeSet atts = new SimpleAttributeSet(); TestHarness harness; public void handleComment(char parm1[], int position) { out.append("{" + new String(parm1) + "}"); } public void handleEndTag(HTML.Tag tag, int position) { if (tag.toString().equals("tbody")) return; out.append(""); } public void handleSimpleTag(HTML.Tag tag, MutableAttributeSet attributes, int position ) { if (tag.toString().equals("#pcdata")) return; out.append("<" + tag); dumpAttributes(attributes); out.append("/>"); } public void handleStartTag(HTML.Tag tag, MutableAttributeSet attributes, int position ) { if (tag.toString().equals("tbody")) return; out.append("<" + tag); dumpAttributes(attributes); out.append('>'); } public void handleText(char chars[], int position) { out.append("'" + new String(chars) + "'"); } public void test(TestHarness a_harness) { harness = a_harness; testHTMLParsing(); } public void testHTMLParsing() { // Test subsequent tags. verify("text", ""+ "'text'"+ "", "subseqent tags"); // Test entities. verify("eqdec: = ampnamed: &", "" + "'eqdec: = ampnamed: &'", "Named and numeric entities" ); // Test entities in attributes. verify("
    ", "" + "
    ", "Numeric and named entities in attributes" ); // Test unclosed tags. verify("
    ", "" + "

    " + "", "Error tolerance (unclosed tags)" ); // Test valid attributes. verify("


    ", "" + "
    " + "

    ", "Attributes" ); // Test attributes witout value. verify("" + "", "Attributes without value" ); // Test unknown attribute without value. verify("
    ", ""+ "
    ", "surely unknown attribute 'audrius' without value" ); // Table tests: verify("", "" + "
    a
    a
    " + "
    'a'
    'a'
    ", "Table with implied row closing tags 1" ); verify("
    ab
    abc", "" + "" + "
    'a''b'
    'a''b''c'
    " + "", "Table with implied row closing tags 2" ); verify("", "" + "
    abc
    " + "
    'a''b''c'
    ", "Table with implied row and column closing tags" ); // Test table content model. verify("a
    ", "" + "" + "
    'a'
    ", "Table with implied tags" ); // Test table content model. verify("a
    cap
    ", "" + "" + "
    'cap'" + "
    'a'
    ", "Table with caption" ); // Test typical table. verify("
    xyz
    ", "" + "" + "
    'x''y''z'
    ", "Simple table" ); // Test nested table. verify("
    nested
    x
    "+ "yz
    ", ""+ ""+ "
    "+ "
    'nested'
    'x'"+ "
    'y''z'
    ", "nested table" ); // Test simple nested list. verify("
    • a
      • na
      • nb
    • b
    ", "" + "
    • 'a'
      • 'na'
      • " + "
      • 'nb'
    • 'b'
    ", "Nested list" ); // Test simple non-nested list. verify("
    • a
    • na
    • nb
    • b
    ", "" + "
    • 'a'
    • 'na'
    • " + "
    • 'nb'
    • 'b'
    ", "Simple list" ); // Test list without closing tags (obsolete list form). verify("
    • a
    • na
    • nb
    • b
    ", "" + "
    • 'a'
    • 'na'
    • 'nb'
    • " + "
    • 'b'
    ", "List with implied closing tags" ); // Test list without closing tags (obsolete list form). verify("
    • a
      • na
      • nb
    • b
    ", "" + "
    • 'a'
      • 'na'
      • 'nb'
      • " + "
    • 'b'
    ", "List with implied closing tags" ); // Test html no head no body. verify("text", "" + "'text'", "Global document content model 1" ); // Test head only. verify("text", "" + "'text'", "Global document content model 2" ); // Test head and body. verify("titext", "'ti'" + "'text'", "Global document content model 3" ); // Test title and text. verify("titletext", "'title'" + "'text'", "Global document content model 4" ); // Test html only. verify("text", "" + "'text'", "Global document content model 5" ); // Test body only. verify("text", "" + "'text'", "Global document content model 6" ); // Test definition list, obsolete. verify("
    ha
    a
    hb
    b", "" + "
    'ha'
    'a'
    " + "'hb'
    'b'
    ", "Definition list without closing tags" ); // Test definition list. verify("
    'ha'
    'a'
    " + "
    'hb'
    'b'
    ", "
    ''ha''
    ''a''
    " + "''hb''
    ''b''
    ", "Definition list" ); // Test paragraphs. verify("

    b

    c

    d", "" + "

    'b'

    'c'

    'd'

    " + "", "Paragraphs without closing tags" ); // Test paragraphs. verify("

    'b'

    'c'

    'd'

    ", "" + "

    ''b''

    ''c''

    ''d''" + "

    ", "Paragraphs" ); // Test select obsolete. verify("
    " + "
    ", "Forms, options without closing tags, bug in 1.3, fixed in 1.4" ); // Test select current. verify("
    ", "" + "
    ", "Forms, bug in 1.3, fixed in 1.4" ); } public String verify(String html, String expected, String about) { out.setLength(0); HTMLEditorKit.ParserCallback callback = this; ParserDelegator delegator = new ParserDelegator(); try { delegator.parse(new StringReader(html), callback, true); } catch (IOException ex) { harness.fail("Unexpected exception " + ex.getMessage() + " while parsing " + html ); } String result = out.toString(); harness.check(result, expected, about); return result; } public boolean hideImplied = false; protected void dumpAttributes(AttributeSet atts) { Enumeration enumeration = atts.getAttributeNames(); // Sort them to ensure the same order every time: TreeSet t = new TreeSet(new Comparator() { public int compare(Object a, Object b) { return a.toString().compareTo(b.toString()); } } ); while (enumeration.hasMoreElements()) t.add(enumeration.nextElement()); Iterator iter = t.iterator(); while (iter.hasNext()) { Object a = iter.next(); Object av = atts.getAttribute(a); if (hideImplied && a.toString().equalsIgnoreCase(ParserCallback.IMPLIED.toString()) ) continue; String v = av != null ? av.toString() : "~null"; out.append(" " + a + "='" + v + "'"); } } } mauve-20140821/gnu/testlet/javax/swing/text/html/parser/ParserDelegator/Text.java0000644000175000001440000001156210234111505026555 0ustar dokousers// Tags: JDK1.2 // Uses: parsingTester // Copyright (C) 2005 Audrius Meskauskas, AudriusA@Bluewin.ch // // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.text.html.parser.ParserDelegator; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.MutableAttributeSet; import javax.swing.text.html.HTML; /** * Verifies if the \r, \n , \r\n and \t are handled correctly in normal * and pre-formatted text sections. * @author Audrius Meskauskas (AudriusA@Bluewin.ch) */ public class Text extends parsingTester implements Testlet { public void handleSimpleTag(HTML.Tag tag, MutableAttributeSet attributes, int position ) { out.append("<" + tag + ">"); } public void handleStartTag(HTML.Tag tag, MutableAttributeSet attributes, int position ) { out.append("<" + tag + ">"); } public void handleText(char chars[], int position) { for (int i = 0; i < chars.length; i++) { out.append(Integer.toHexString(chars [ i ])); if (chars [ i ] > ' ') out.append("'" + chars [ i ]); out.append(" "); } } public void handleEndTag(HTML.Tag tag, int position) { out.append(""); } public void test(TestHarness a_harness) { harness = a_harness; hideImplied = true; /* Non-preformatted text. \t, \r and \n mutate into spaces, then multiple spaces mutate into single one, all whitespace around tags is consumed. */ verify("\r \n \t {abc r\rn\nt}\t \r\n \r \t", "7b'{ 61'a 62'b 63'c 20 72'r 20" + " 6e'n 20 74't 7d'} ", "normal" ); verify(" abba ", "61'a 62'b 62'b 61'a ", "single word" ); verify(" \r ab \t \r \n ba ", "61'a 62'b 20 62'b 61'a ", "line breaks" ); /* Pre-formatted text. Heading/closing spaces and tabs preserved. ONE bounding \r, \n or \r\n is removed. \r or \r\n mutate into \n. Tabs are preserved. */ verify("
    \n\n\n\n   abba   \r\t \r\n
    ", "
    a a a 20 20 20 61'a 62'b 62'b" +
               " 61'a 20 20 20 a 9 20 
    ", "pre" ); verify("
       abba   
    ", "
    20 20 20 61'a 62'b 62'b 61'a 20 " +
               "20 20 
    ", "pre" ); verify("
    \r\n   abba   
    ", "
    20 20 20 61'a 62'b 62'b 61'a 20 " +
               "20 20 
    ", "pre, single word" ); verify("
    \r\n\r\n   abba   \r\n
    ", "
    a 20 20 20 61'a 62'b 62'b 61'a 20 20" +
               " 20 
    ", "pre, single word with line breaks around" ); verify("
     \r ab  \t \r \n  ba   
    ", "
    20 a 20 61'a 62'b 20 20 9 20 a" +
               " 20 a 20 20 62'b 61'a 20 20 20 
    ", "pre, line breaks" ); verify("
     \r\n ab  \t \r\n \n  ba   
    ", "
    20 a 20 61'a 62'b 20 20 9 20 a" +
               " 20 a 20 20 62'b 61'a 20 20 20 
    ", "pre" ); // In TEXTAREA tag, same. verify("", "", "textarea, single word with line breaks around" ); verify("", "", "textarea, singe word" ); verify("", "", " textarea" ); } } mauve-20140821/gnu/testlet/javax/swing/text/html/parser/ParserDelegator/Entities.java0000644000175000001440000000317610546246532027436 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.text.html.parser.ParserDelegator; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * This entity test is known and must pass as early as since jdk 1.2, but it * fails with the older releases. * * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public class Entities extends SimpleParsing implements Testlet { public void test(TestHarness harness) { super.test(harness); } public void verify(String html, String trace) { verify(html, trace, html); } public void testHTMLParsing() { // Test entities. verify("hex: U eqdec: = ampnamed: &", "'hex: U eqdec: = ampnamed: &'", "Entities" ); } } mauve-20140821/gnu/testlet/javax/swing/text/html/parser/ParserDelegator/Entities2.java0000644000175000001440000000723611015022012027472 0ustar dokousers// Tags: JDK1.2 // Uses: ../../../../../../gnu/javax/swing/text/html/parser/support/Parser/TestCase // Copyright (C) 2005, 2006 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.text.html.parser.ParserDelegator; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.gnu.javax.swing.text.html.parser.support.Parser.TestCase; import javax.swing.text.html.parser.DTDConstants; import javax.swing.text.html.parser.Entity; /** * Entity test, with Sun passes since 1.5.0 * * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public class Entities2 extends TestCase implements Testlet { public void test(TestHarness harness) { h = harness; testPublicSystemGeneralParameter(); testName2type(); } public void testName2type() { assertEquals("PUBLIC", Entity.name2type("PUBLIC"), DTDConstants.PUBLIC); assertEquals("SDATA", Entity.name2type("SDATA"), DTDConstants.SDATA); assertEquals("PI", Entity.name2type("PI"), DTDConstants.PI); assertEquals("STARTTAG", Entity.name2type("STARTTAG"), DTDConstants.STARTTAG); assertEquals("ENDTAG", Entity.name2type("ENDTAG"), DTDConstants.ENDTAG); assertEquals("MS", Entity.name2type("MS"), DTDConstants.MS); assertEquals("MD", Entity.name2type("MD"), DTDConstants.MD); assertEquals("SYSTEM", Entity.name2type("SYSTEM"), DTDConstants.SYSTEM); assertEquals("surely unknown ", Entity.name2type("audrius"), DTDConstants.CDATA ); } public void testPublicSystemGeneralParameter() { int[] pu_sy = new int[] { DTDConstants.PUBLIC, DTDConstants.SYSTEM, 0 }; int[] gen_par = new int[] { DTDConstants.GENERAL, DTDConstants.PARAMETER, 0 }; for (int ps = 0; ps < pu_sy.length; ps++) { for (int gp = 0; gp < gen_par.length; gp++) { Entity e = new Entity(null, 0, null); e.type = pu_sy [ ps ] | gen_par [ gp ]; assertEquals(e.isGeneral(), gen_par [ gp ] == DTDConstants.GENERAL); assertEquals(e.isParameter(), gen_par [ gp ] == DTDConstants.PARAMETER ); assertEquals((e.type & DTDConstants.SYSTEM) != 0, pu_sy [ ps ] == DTDConstants.SYSTEM ); assertEquals((e.type & DTDConstants.PUBLIC) != 0, pu_sy [ ps ] == DTDConstants.PUBLIC ); assertEquals((e.type & DTDConstants.GENERAL) != 0, gen_par [ gp ] == DTDConstants.GENERAL ); assertEquals((e.type & DTDConstants.PARAMETER) != 0, gen_par [ gp ] == DTDConstants.PARAMETER ); } } } protected void setUp() throws Exception { super.setUp(); } protected void tearDown() throws Exception { super.tearDown(); } } mauve-20140821/gnu/testlet/javax/swing/text/html/parser/ParserDelegator/Text2.java0000644000175000001440000001250611015022012026626 0ustar dokousers// Tags: JDK1.2 // Uses: ../../../../../../gnu/javax/swing/text/html/parser/support/Parser/Parser_Test ../../../../../../gnu/javax/swing/text/html/parser/support/Parser/TestCase // Copyright (C) 2005, 2006 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.text.html.parser.ParserDelegator; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.gnu.javax.swing.text.html.parser.support.Parser.Parser_Test; import gnu.testlet.gnu.javax.swing.text.html.parser.support.Parser.TestCase; import javax.swing.text.MutableAttributeSet; import javax.swing.text.html.HTML; /** * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public class Text2 extends TestCase implements Testlet { public void test(TestHarness harness) { h = harness; try { testTextParsing(); } catch (Exception ex) { ex.printStackTrace(); harness.fail("Exception: " + ex); } } public void testTextParsing() throws Exception { Parser_Test v = new Parser_Test() { public void handleSimpleTag(HTML.Tag tag, MutableAttributeSet attributes, int position ) { if (!tag.toString().equalsIgnoreCase("#pcdata")) out.append("<" + tag + ">"); } public void handleStartTag(HTML.Tag tag, MutableAttributeSet attributes, int position ) { out.append("<" + tag + ">"); } public void handleText(char[] chars, int position) { for (int i = 0; i < chars.length; i++) { out.append(Integer.toHexString(chars [ i ])); if (chars [ i ] > ' ') out.append("'" + chars [ i ]); out.append(" "); } } public void handleEndTag(HTML.Tag tag, int position) { out.append(""); } }; v.hideImplied = true; // NON - preformatted mode: // Everything mutates into spaces, multiple spaces mustates // into single one, all whitespace around tags is consumed. v.verify("\r \n \t {abc r\rn\nt}\t \r\n \r \t", "7b'{ 61'a 62'b 63'c 20 72'r 20" + " 6e'n 20 74't 7d'} " ); v.verify(" abba ", "61'a 62'b 62'b 61'a " ); v.verify(" \r ab \t \r \n ba ", "61'a 62'b 20 62'b 61'a " ); // Preformatted mode (in PRE tag): // Heading/closing spaces and tabs preserve. ONE \r, \n or \r\n is removed. // /r mutates into \n v.verify("
    \n\n\n\n   abba   \r\t \r\n
    ", "
    a a a 20 20 20 61'a 62'b 62'b" +
                 " 61'a 20 20 20 a 9 20 
    " ); v.verify("
       abba   
    ", "
    20 20 20 61'a 62'b 62'b 61'a 20 " +
                 "20 20 
    " ); v.verify("
    \r\n   abba   
    ", "
    20 20 20 61'a 62'b 62'b 61'a 20 " +
                 "20 20 
    " ); v.verify("
    \r\n\r\n   abba   \r\n
    ", "
    a 20 20 20 61'a 62'b 62'b 61'a 20 20" +
                 " 20 
    " ); v.verify("
     \r ab  \t \r \n  ba   
    ", "
    20 a 20 61'a 62'b 20 20 9 20 a" +
                 " 20 a 20 20 62'b 61'a 20 20 20 
    " ); v.verify("
     \r\n ab  \t \r\n \n  ba   
    ", "
    20 a 20 61'a 62'b 20 20 9 20 a" +
                 " 20 a 20 20 62'b 61'a 20 20 20 
    " ); // In TEXTAREA tag, same. v.verify("", "" ); v.verify("", "" ); v.verify("", "" ); } } mauve-20140821/gnu/testlet/javax/swing/text/html/parser/ParserDelegator/eolnNorification.java0000644000175000001440000000403110204143201031117 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Audrius Meskauskas, AudriusA@Bluewin.ch // // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.text.html.parser.ParserDelegator; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.StringReader; import javax.swing.text.html.HTMLEditorKit; import javax.swing.text.html.parser.ParserDelegator; /** * Verifies if handleEndOfLineString(..) is correctly called, providing * the line separator, used in the document. * @author Audrius Meskauskas (AudriusA@Bluewin.ch) */ public class eolnNorification extends HTMLEditorKit.ParserCallback implements Testlet { String eoln = null; int flushed = 0; public void handleEndOfLineString(String end_of_line) { eoln = end_of_line; } public void parse(String html) throws Exception { ParserDelegator delegator = new ParserDelegator(); delegator.parse(new StringReader(html), this, true); } public void test(TestHarness harness) { try { parse("a \n b"); harness.check(eoln, "\n", "bug in 1.2, fixed in 1.3"); parse("a \r b"); harness.check(eoln, "\r", "bug in 1.2, fixed in 1.3"); parse("a \r\n b"); harness.check(eoln, "\r\n", "bug in 1.2, fixed in 1.3"); } catch (Exception ex) { harness.fail("Unexpected exception "+ex); } } } mauve-20140821/gnu/testlet/javax/swing/text/html/parser/DTD/0000755000175000001440000000000012375316426022332 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/html/parser/DTD/DtdTest2.java0000644000175000001440000000476611015022012024616 0ustar dokousers// Tags: JDK1.2 // Uses: ../../../../../../gnu/javax/swing/text/html/parser/support/Parser/TestCase // Copyright (C) 2005, 2006 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.text.html.parser.DTD; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.gnu.javax.swing.text.html.parser.support.Parser.TestCase; import javax.swing.text.html.HTML; import javax.swing.text.html.parser.DTD; import javax.swing.text.html.parser.Element; /** * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public class DtdTest2 extends TestCase implements Testlet { static class D extends DTD { public D() { super("audrius"); } public Element createElement(String n) { return getElement(n); } } public void test(TestHarness harness) { h = harness; testGetElement(); } public void testGetElement() { D d = new D(); HTML.Tag[] tags = HTML.getAllTags(); Element prehead = d.createElement("head"); for (int i = 0; i < tags.length; i++) { Element e = d.createElement(tags [ i ].toString()); String name = tags [ i ].toString(); assertNotNull("Element creation", e); assertTrue("Element name", e.getName().equalsIgnoreCase(name)); } // Test upper/lowercase Element e = d.createElement("head"); assertNotNull("Element creation", e); assertTrue("Element name", e.getName().equalsIgnoreCase("head")); assertEquals(HTML.Tag.HEAD, HTML.getTag(e.name)); assertEquals("Field assignment", d.head, e); assertEquals(prehead, e); } protected void setUp() throws Exception { super.setUp(); } protected void tearDown() throws Exception { super.tearDown(); } } mauve-20140821/gnu/testlet/javax/swing/text/html/parser/DTD/DTD_test.java0000644000175000001440000000413610201412556024636 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Audrius Meskauskas, AudriusA@Bluewin.ch // // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.text.html.parser.DTD; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.html.HTML; import javax.swing.text.html.parser.*; /** * @author Audrius Meskauskas (AudriusA@Bluewin.ch) */ public class DTD_test implements Testlet { static class D extends DTD { public D() { super("test"); } public Element createElement(String n) { return getElement(n); } } TestHarness harness; public DTD_test() { } public void test(TestHarness a_harness) { harness = a_harness; D d = new D(); HTML.Tag tags[] = HTML.getAllTags(); Element prehead = d.createElement("head"); for (int i = 0; i < tags.length; i++) { Element e = d.createElement(tags [ i ].toString()); String name = tags [ i ].toString(); harness.check(e != null, "Element creation"); harness.check(e.getName().equalsIgnoreCase(name), "Element name"); } // Test upper/lowercase Element e = d.createElement("head"); harness.check((e != null), "Element creation"); harness.check(e.getName().equalsIgnoreCase("head"), "Element name"); harness.check(HTML.Tag.HEAD, HTML.getTag(e.name)); harness.check(d.head, e, "Field assignment"); harness.check(prehead, e); } } mauve-20140821/gnu/testlet/javax/swing/text/html/parser/Element/0000755000175000001440000000000012375316426023310 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/html/parser/Element/Element_Test.java0000644000175000001440000000576610201412556026544 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Audrius Meskauskas, AudriusA@Bluewin.ch // // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.text.html.parser.Element; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.html.parser.*; import javax.swing.text.html.parser.AttributeList; import javax.swing.text.html.parser.DTDConstants; /** * @author Audrius Meskauskas (AudriusA@Bluewin.ch) */ public class Element_Test implements Testlet { TestHarness harness; public Element_Test() { } public void test(TestHarness a_harness) { harness = a_harness; try { testName2type(); testAttributeGetter(); } catch (Throwable exc) { exc.printStackTrace(); if (exc != null) harness.fail(exc.getClass().getName() + ":" + exc.getMessage()); else harness.fail("exception"); } } public void testAttributeGetter() throws Exception { // Create a chain of 24 attributes: AttributeList list = new AttributeList("heading"); AttributeList head = list; list.value = null; for (int i = 0; i < 24; i++) { AttributeList a = new AttributeList("a" + i); a.value = "v" + i; list.next = a; list = a; } Element e = DTD.getDTD("test").defineElement("e", 0, false, false, null, null, null, null ); e.atts = head; for (int i = 0; i < 24; i++) { // Check if the name is found. harness.check(e.getAttribute("a" + i).toString(), "a" + i); // Check if the attribute value is correct. harness.check(e.getAttribute("a" + i).value, "v" + i); } // Check for unknown attribute harness.check(e.getAttribute("audrius"), null); // Check for unknown value harness.check(e.getAttributeByValue("audrius"), null); } public void testName2type() { harness.check(Element.name2type("CDATA"), DTDConstants.CDATA); harness.check(Element.name2type("RCDATA"), DTDConstants.RCDATA); harness.check(Element.name2type("EMPTY"), DTDConstants.EMPTY); harness.check(Element.name2type("ANY"), DTDConstants.ANY); harness.check(Element.name2type("audrius"), 0); harness.check(Element.name2type("rcdata"), 0); } } mauve-20140821/gnu/testlet/javax/swing/text/html/parser/AttributeList/0000755000175000001440000000000012375316426024516 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/html/parser/AttributeList/AttributeList_test.java0000644000175000001440000000337710201412555031213 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Audrius Meskauskas, AudriusA@Bluewin.ch // // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.text.html.parser.AttributeList; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.html.parser.AttributeList; import javax.swing.text.html.parser.DTDConstants; /** * @author Audrius Meskauskas (AudriusA@Bluewin.ch) */ public class AttributeList_test implements Testlet, DTDConstants { public void test(TestHarness a_harness) { String type; for (int i = 0; i < 20; i++) { type = AttributeList.type2name(i); if (type != null) a_harness.check(i, AttributeList.name2type(type)); }; a_harness.check(AttributeList.type2name(CDATA), "CDATA"); a_harness.check(AttributeList.name2type("CDATA"), CDATA); a_harness.check(AttributeList.type2name(ENTITY), "ENTITY"); a_harness.check(AttributeList.name2type("ENTITY"), ENTITY); a_harness.check(AttributeList.type2name(NAME), "NAME"); a_harness.check(AttributeList.name2type("NAME"), NAME); } } mauve-20140821/gnu/testlet/javax/swing/text/html/parser/AttributeList/AttributeListTest2.java0000644000175000001440000000343011015022012031051 0ustar dokousers// Tags: JDK1.2 // Uses: ../../../../../../gnu/javax/swing/text/html/parser/support/Parser/TestCase // Copyright (C) 2005, 2006 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.text.html.parser.AttributeList; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.gnu.javax.swing.text.html.parser.support.Parser.TestCase; import javax.swing.text.html.parser.AttributeList; /** * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public class AttributeListTest2 extends TestCase implements Testlet { private AttributeList attributeList = null; public void test(TestHarness harness) { h = harness; testSame(); } public void testSame() { for (int i = 0; i < 100; i++) { String t = AttributeList.type2name(i); if (t != null) assertEquals(i, AttributeList.name2type(t)); } } protected void setUp() throws Exception { super.setUp(); attributeList = new AttributeList("ku"); assertEquals(attributeList.toString(), "ku"); } } mauve-20140821/gnu/testlet/javax/swing/text/html/CSS/0000755000175000001440000000000012375316426021053 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/html/CSS/Attribute.java0000644000175000001440000001364710310366142023657 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke (kennke@aicas.com) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.text.html.CSS; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.text.html.CSS; /** * Tests the values of the constants in the inner class Attribute * of javax.swing.text.html.CSS. * * @author Roman Kennke (kennke@aicas.com) */ public class Attribute implements Testlet { public void test(TestHarness harness) { testAttribute(harness, CSS.Attribute.BACKGROUND, "background", false, null); testAttribute(harness, CSS.Attribute.BACKGROUND_ATTACHMENT, "background-attachment", false, "scroll"); testAttribute(harness, CSS.Attribute.BACKGROUND_COLOR, "background-color", false, "transparent"); testAttribute(harness, CSS.Attribute.BACKGROUND_IMAGE, "background-image", false, "none"); testAttribute(harness, CSS.Attribute.BACKGROUND_POSITION, "background-position", false, null); testAttribute(harness, CSS.Attribute.BACKGROUND_REPEAT, "background-repeat", false, "repeat"); testAttribute(harness, CSS.Attribute.BORDER, "border", false, null); testAttribute(harness, CSS.Attribute.BORDER_BOTTOM, "border-bottom", false, null); testAttribute(harness, CSS.Attribute.BORDER_BOTTOM_WIDTH, "border-bottom-width", false, "medium"); testAttribute(harness, CSS.Attribute.BORDER_COLOR, "border-color", false, "black"); testAttribute(harness, CSS.Attribute.BORDER_LEFT, "border-left", false, null); testAttribute(harness, CSS.Attribute.BORDER_LEFT_WIDTH, "border-left-width", false, "medium"); testAttribute(harness, CSS.Attribute.BORDER_RIGHT, "border-right", false, null); testAttribute(harness, CSS.Attribute.BORDER_RIGHT_WIDTH, "border-right-width", false, "medium"); testAttribute(harness, CSS.Attribute.BORDER_STYLE, "border-style", false, "none"); testAttribute(harness, CSS.Attribute.BORDER_TOP, "border-top", false, null); testAttribute(harness, CSS.Attribute.BORDER_TOP_WIDTH, "border-top-width", false, "medium"); testAttribute(harness, CSS.Attribute.BORDER_WIDTH, "border-width", false, "medium"); testAttribute(harness, CSS.Attribute.CLEAR, "clear", false, "none"); testAttribute(harness, CSS.Attribute.COLOR, "color", true, "black"); testAttribute(harness, CSS.Attribute.DISPLAY, "display", false, "block"); testAttribute(harness, CSS.Attribute.FLOAT, "float", false, "none"); testAttribute(harness, CSS.Attribute.FONT, "font", true, null); testAttribute(harness, CSS.Attribute.FONT_FAMILY, "font-family", true, null); testAttribute(harness, CSS.Attribute.FONT_SIZE, "font-size", true, "medium"); testAttribute(harness, CSS.Attribute.FONT_STYLE, "font-style", true, "normal"); testAttribute(harness, CSS.Attribute.FONT_VARIANT, "font-variant", true, "normal"); testAttribute(harness, CSS.Attribute.FONT_WEIGHT, "font-weight", true, "normal"); testAttribute(harness, CSS.Attribute.HEIGHT, "height", false, "auto"); testAttribute(harness, CSS.Attribute.LETTER_SPACING, "letter-spacing", true, "normal"); testAttribute(harness, CSS.Attribute.LINE_HEIGHT, "line-height", true, "normal"); testAttribute(harness, CSS.Attribute.LIST_STYLE, "list-style", true, null); testAttribute(harness, CSS.Attribute.LIST_STYLE_IMAGE, "list-style-image", true, "none"); testAttribute(harness, CSS.Attribute.LIST_STYLE_POSITION, "list-style-position", true, "outside"); testAttribute(harness, CSS.Attribute.LIST_STYLE_TYPE, "list-style-type", true, "disc"); testAttribute(harness, CSS.Attribute.MARGIN, "margin", false, null); testAttribute(harness, CSS.Attribute.MARGIN_BOTTOM, "margin-bottom", false, "0"); testAttribute(harness, CSS.Attribute.MARGIN_LEFT, "margin-left", false, "0"); testAttribute(harness, CSS.Attribute.MARGIN_RIGHT, "margin-right", false, "0"); testAttribute(harness, CSS.Attribute.MARGIN_TOP, "margin-top", false, "0"); testAttribute(harness, CSS.Attribute.PADDING, "padding", false, null); testAttribute(harness, CSS.Attribute.PADDING_BOTTOM, "padding-bottom", false, "0"); testAttribute(harness, CSS.Attribute.PADDING_LEFT, "padding-left", false, "0"); testAttribute(harness, CSS.Attribute.PADDING_RIGHT, "padding-right", false, "0"); testAttribute(harness, CSS.Attribute.PADDING_TOP, "padding-top", false, "0"); testAttribute(harness, CSS.Attribute.TEXT_ALIGN, "text-align", true, null); testAttribute(harness, CSS.Attribute.TEXT_DECORATION, "text-decoration", true, "none"); testAttribute(harness, CSS.Attribute.TEXT_INDENT, "text-indent", true, "0"); testAttribute(harness, CSS.Attribute.TEXT_TRANSFORM, "text-transform", true, "none"); testAttribute(harness, CSS.Attribute.VERTICAL_ALIGN, "vertical-align", false, "baseline"); testAttribute(harness, CSS.Attribute.WHITE_SPACE, "white-space", true, "normal"); testAttribute(harness, CSS.Attribute.WIDTH, "width", false, "auto"); testAttribute(harness, CSS.Attribute.WORD_SPACING, "word-spacing", true, "normal"); } void testAttribute(TestHarness harness, CSS.Attribute att, String attStr, boolean inherited, String defaultValue) { harness.check(att.toString(), attStr); harness.check(att.isInherited(), inherited); harness.check(att.getDefaultValue(), defaultValue); } } mauve-20140821/gnu/testlet/javax/swing/text/html/HTMLDocument/0000755000175000001440000000000012375316426022666 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/html/HTMLDocument/FindById.java0000644000175000001440000000340610455443271025160 0ustar dokousers/* FindById.java -- Test getElement(String) Copyright (C) 2006 Audrius Meskauskas This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.4 package gnu.testlet.javax.swing.text.html.HTMLDocument; import javax.swing.JTextPane; import javax.swing.text.Element; import javax.swing.text.StyleConstants; import javax.swing.text.html.HTML; import javax.swing.text.html.HTMLDocument; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class FindById implements Testlet { public void test(TestHarness harness) { JTextPane html = new JTextPane(); html.setContentType("text/html"); html.setText("

    my textmyBoldxxx"); HTMLDocument doc = (HTMLDocument) html.getDocument(); Element el = doc.getElement("myOne"); harness.check(true, el != null, "p with id must be found"); harness.check( el.getAttributes().getAttribute(StyleConstants.NameAttribute), HTML.Tag.P, "Type must match"); harness.check(!el.isLeaf()); el = doc.getElement("myNone"); harness.check(el == null, "should not be found"); } } mauve-20140821/gnu/testlet/javax/swing/text/InternationalFormatter/0000755000175000001440000000000012375316426024152 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/text/InternationalFormatter/InternationalFormatterTest.java0000644000175000001440000000250610531310127032333 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 Red Hat. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.text.InternationalFormatter; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.text.InternationalFormatter; /** * Several tests related to InternationalFormatter. */ public class InternationalFormatterTest implements Testlet { public void test(TestHarness harness) { InternationalFormatter formatter = new InternationalFormatter(); harness.check (!formatter.getCommitsOnValidEdit()); harness.check (formatter.getAllowsInvalid()); harness.check (!formatter.getOverwriteMode()); } } mauve-20140821/gnu/testlet/javax/swing/SizeRequirements/0000755000175000001440000000000012375316426022011 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/SizeRequirements/calculateAlignedPositions.java0000644000175000001440000000414010325207421027767 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.SizeRequirements; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.SizeRequirements; /** * Tests if the calculateAlignedPositions method works correctly. * * @author Roman Kennke (kennke@aicas.com) */ public class calculateAlignedPositions implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { test1(harness); } /** * This checks the method with two elements and values that I found in a bug * with BoxLayout. Kind of a corner case. * * @param harness the test harness to use */ private void test1(TestHarness harness) { SizeRequirements req1 = new SizeRequirements(282, 282, 282, 0.5F); SizeRequirements req2 = new SizeRequirements(599, 599, 2147483647, 0.5F); SizeRequirements[] els = new SizeRequirements[]{req1, req2}; // Only the alignment field of total is used. SizeRequirements total = SizeRequirements.getAlignedSizeRequirements(els); int[] offsets = new int[2]; int[] spans = new int[2]; SizeRequirements.calculateAlignedPositions(112, total, els, offsets, spans); harness.check(offsets[0], 0); harness.check(offsets[1], 0); harness.check(spans[0], 112); harness.check(spans[1], 112); } } mauve-20140821/gnu/testlet/javax/swing/JComboBox/0000755000175000001440000000000012375316426020315 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JComboBox/ComboRobot.java0000644000175000001440000001260111015022005023176 0ustar dokousers/* ComboRobot.java -- ComboBox test Copyright (C) 2006 Audrius Meskauskas This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 GUI // Uses: ../../../org/omg/CORBA/Asserter package gnu.testlet.javax.swing.JComboBox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.org.omg.CORBA.Asserter; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; import java.util.Random; import javax.swing.JComboBox; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JTree; import javax.swing.SwingUtilities; import javax.swing.tree.TreePath; /** * The AWT robot based test for JTree. */ public class ComboRobot extends Asserter implements Testlet { /** * The tree being tested. */ JComboBox combo = new JComboBox(new String[] {"a", "b", "c", "d", "e", "f", "a234"}); JFrame frame; Robot r; static Random ran = new Random(); protected void setUp() throws Exception { frame = new JFrame(); frame.getContentPane().add(combo); frame.setSize(200, 80); frame.setVisible(true); r = new Robot(); r.setAutoDelay(50); r.delay(500); } protected void tearDown() throws Exception { frame.dispose(); } /** * Click the mouse on center of the given component. */ public void click(JComponent c, int x, int y) { Point p = new Point(); p.x = x; p.y = y; SwingUtilities.convertPointToScreen(p, c); r.mouseMove(p.x, p.y); r.mousePress(InputEvent.BUTTON1_MASK); r.mouseRelease(InputEvent.BUTTON1_MASK); } /** * Click the given main databas view cell. * * @param row * the row * @param column * the column */ public void clickPath(JTree tree, TreePath path) { Rectangle rect = tree.getPathBounds(path); Point p = new Point(rect.x + rect.width / 2, rect.y + rect.height / 2); SwingUtilities.convertPointToScreen(p, tree); r.mouseMove(p.x, p.y); r.mousePress(InputEvent.BUTTON1_MASK); r.delay(50); r.mouseRelease(InputEvent.BUTTON1_MASK); r.delay(50); } public void type(int code) { r.keyPress(code); r.keyRelease(code); } public void testCombo(boolean editable) throws Exception { // Click on combo box to give it focus click(combo, combo.getWidth() / 2, combo.getHeight() / 2); click(combo, combo.getWidth() / 2, combo.getHeight() / 2); // Test up/down navigation type(KeyEvent.VK_DOWN); type(KeyEvent.VK_ENTER); assertEquals("Selecting first component with keyboard", "a", getFocus()); type(KeyEvent.VK_DOWN); type(KeyEvent.VK_DOWN); type(KeyEvent.VK_ENTER); assertEquals("Selecting second component with keyboard", "b", getFocus()); type(KeyEvent.VK_DOWN); type(KeyEvent.VK_DOWN); type(KeyEvent.VK_DOWN); type(KeyEvent.VK_ENTER); assertEquals("Selecting forth component with keyboard", "d", getFocus()); // Reset to top & test the key selection manager (only if not editable) if (!editable) { combo.setSelectedIndex(-1); for (char i = 'a'; i <= 'f'; i++) { type(KeyEvent.VK_DOWN); type(KeyEvent.VK_A + (i-'a')); type(KeyEvent.VK_ENTER); assertEquals("Selecting with letter key, " + i, new String(new char[] { i }), getFocus()); } // Reset to top & test duplicate letters in key selection manager combo.setSelectedIndex(-1); type(KeyEvent.VK_DOWN); type(KeyEvent.VK_A); type(KeyEvent.VK_ENTER); assertEquals("Selecting with letter key (duplicate)", "a", getFocus()); type(KeyEvent.VK_DOWN); type(KeyEvent.VK_A); type(KeyEvent.VK_ENTER); assertEquals("Selecting with letter key (duplicate)", "a234", getFocus()); } // Test the escape button too, for cancelling the popup type(KeyEvent.VK_DOWN); type(KeyEvent.VK_ESCAPE); assertEquals("Cancelling popup with escape key", false, combo.isPopupVisible()); // Reset to top combo.setSelectedIndex(0); Thread.sleep(5000); } public Object getFocus() { return combo.getSelectedItem(); } public void test(TestHarness harness) { try { h = harness; setUp(); try { // Test with regular combo box... testCombo(false); // And editable combo box combo.setEditable(true); testCombo(true); } finally { tearDown(); } } catch (Exception e) { e.printStackTrace(); h.fail("Exception: " + e); } } } mauve-20140821/gnu/testlet/javax/swing/JComboBox/getEditor.java0000644000175000001440000000655011642622027023105 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JComboBox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.ComboBoxEditor; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.UIManager; import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.MetalComboBoxEditor; /** * Some checks for the getEditor() method in the {@link JComboBox} class. */ public class getEditor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testDefault(harness); testPR30337(harness); } /** * Tests the default value. * * @param harness the test harness to use */ private void testDefault(TestHarness harness) { // use a known look and feel try { UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel"); } catch (Exception e) { harness.fail("Problem setting MetalLookAndFeel"); } JComboBox c1 = new JComboBox(new Object[] {"A", "B", "C"}); ComboBoxEditor editor = c1.getEditor(); // check default value harness.check(editor instanceof MetalComboBoxEditor.UIResource); c1.setEditor(new MetalComboBoxEditor()); harness.check(!(c1.getEditor() instanceof UIResource)); } /** * A combo box that returns null for getEditor(). This is used in the * following test. */ private class TestComboBox extends JComboBox { public ComboBoxEditor getEditor() { return null; } } /** * The Classpath PR30337 overrides getEditor() to return null and expects * the JComboBox to not throw an NPE. * * @param h the test harness */ private void testPR30337(TestHarness h) { // Test with default (non-editable) combo box. No NPE is thrown. JComboBox cb = new TestComboBox(); JFrame f = new JFrame(); boolean pass = true; try { f.getContentPane().add(cb); f.setVisible(true); } catch (NullPointerException ex) { pass = false; } h.check(pass); // remove frame from the desktop f.dispose(); // Test with editable combo box (NPE is thrown). cb = new TestComboBox(); f = new JFrame(); pass = false; try { cb.setEditable(true); f.getContentPane().add(cb); f.setVisible(true); } catch (NullPointerException ex) { pass = true; } h.check(pass); // remove frame from the desktop f.dispose(); } } mauve-20140821/gnu/testlet/javax/swing/JComboBox/getPrototypeDisplayValue.java0000644000175000001440000000330510311553237026200 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JComboBox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JComboBox; import javax.swing.JComponent; /** * Some checks for the getPrototypeDisplayValue() method in the * {@link JComponent} class. */ public class getPrototypeDisplayValue implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JComboBox c = new JComboBox(new Object[] {"A", "B", "C"}); // check default value harness.check(c.getPrototypeDisplayValue(), null); // set a new value and retrieve it c.setPrototypeDisplayValue("XYZ"); harness.check(c.getPrototypeDisplayValue(), "XYZ"); // try a null value c.setPrototypeDisplayValue(null); harness.check(c.getPrototypeDisplayValue(), null); } } mauve-20140821/gnu/testlet/javax/swing/JComboBox/MutableTest2.java0000644000175000001440000000340610234112773023465 0ustar dokousers// Tags: JDK1.2 // Uses: TestModel2 //Copyright (C) 2004 Robert Schuster //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JComboBox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JComboBox; /** This tests the model modifying methods of JComboBox. The model * being used is a valid MutableComboBoxModel. It contains 10 elements * at the beginning and shifts its items because it is based on a linked * list. * * @author Robert Schuster */ public class MutableTest2 implements Testlet { public void test(TestHarness harness) { JComboBox combo = new JComboBox(new TestModel2()); combo.insertItemAt("TESTVALUE", 5); harness.check(combo.getItemAt(5), "TESTVALUE", "insertItemAt"); combo.removeItem("TESTVALUE"); harness.check(combo.getItemCount(), 10, "removeItem"); combo.removeItemAt(0); harness.check(combo.getItemCount(), 9, "removeItemAt"); combo.removeAllItems(); harness.check(combo.getItemCount(), 0, "removeAllItems"); } } mauve-20140821/gnu/testlet/javax/swing/JComboBox/setEditable.java0000644000175000001440000000434310325215015023372 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JComboBox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JComboBox; /** * Some checks for the setEditable() method in the * {@link JComboBox} class. */ public class setEditable implements Testlet, PropertyChangeListener { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JComboBox c = new JComboBox(); c.setEditable(false); harness.check(c.isEditable(), false); // now check property change events c.addPropertyChangeListener(this); c.setEditable(true); harness.check(c.isEditable(), true); harness.check(event.getPropertyName(), "editable"); harness.check(event.getOldValue(), Boolean.FALSE); harness.check(event.getNewValue(), Boolean.TRUE); c.setEditable(false); harness.check(c.isEditable(), false); harness.check(event.getPropertyName(), "editable"); harness.check(event.getOldValue(), Boolean.TRUE); harness.check(event.getNewValue(), Boolean.FALSE); // no change = no event event = null; c.setEditable(false); harness.check(event == null); } private PropertyChangeEvent event; public void propertyChange(PropertyChangeEvent e) { event = e; } } mauve-20140821/gnu/testlet/javax/swing/JComboBox/setEditor.java0000644000175000001440000000623711015022005023103 0ustar dokousers// Tags: JDK1.4 // Uses: ../plaf/TestLookAndFeel // Copyright (C) 2005, 2006 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JComboBox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.plaf.TestLookAndFeel; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.ComboBoxEditor; import javax.swing.JComboBox; import javax.swing.JComponent; import javax.swing.UIManager; import javax.swing.plaf.basic.BasicComboBoxEditor; import javax.swing.plaf.metal.MetalComboBoxEditor; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the setEditor() method in the {@link JComponent} class. */ public class setEditor implements Testlet, PropertyChangeListener { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // use a known look and feel try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (Exception e) { harness.fail("Problem setting MetalLookAndFeel"); } JComboBox c1 = new JComboBox(new Object[] {"A", "B", "C"}); c1.addPropertyChangeListener(this); ComboBoxEditor editor = new MetalComboBoxEditor(); c1.setEditor(editor); harness.check(c1.getEditor(), editor); harness.check(event.getPropertyName(), "editor"); harness.check(event.getNewValue(), editor); // set a new look and feel and see if the editor (which doesn't implement // UIResource) gets replaced try { UIManager.setLookAndFeel(new TestLookAndFeel()); } catch (Exception e) { harness.fail("Problem setting TestLookAndFeel"); } c1.updateUI(); JComboBox c2 = new JComboBox(); harness.check(c1.getEditor(), editor); harness.check(c2.getEditor() instanceof BasicComboBoxEditor.UIResource); // restore MetalLookAndFeel so as not to interfere with other tests try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (Exception e) { harness.fail("Problem restoring MetalLookAndFeel"); } // try a null setting - no exceptions are thrown c1.setEditor(null); harness.check(c1.getEditor(), null); } private PropertyChangeEvent event; public void propertyChange(PropertyChangeEvent e) { event = e; } } mauve-20140821/gnu/testlet/javax/swing/JComboBox/basic.java0000644000175000001440000001535710443343001022233 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JComboBox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.BorderLayout; import java.awt.Container; import java.awt.Robot; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.InputEvent; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.plaf.basic.BasicComboBoxUI; /** * The the basic JComboBox features (including listeners). * This test must also work when the component is not displayed. * @author Audrius Meskauskas (AudriusA@Bluewin.ch) */ public class basic implements Testlet, ActionListener, ItemListener { static String COMMAND = "mauve"; static String UNASSIGNED = ""; String command = UNASSIGNED; StringBuffer stateChangeEvents = new StringBuffer(); public void test(TestHarness harness) { JComboBox box = createBox(harness); testSelectionByIndex(harness, box); testSelectionByName(harness, box); testItemRemoving(harness, box); testAddingItems(harness, box); testTogglingVisibility(harness); } private void testAddingItems(TestHarness harness, JComboBox box) { harness.checkPoint("Adding items"); box.addItem("x"); box.addItem("y"); harness.check(box.getItemCount(), 2, "adding items"); harness.check(box.getItemAt(0), "x", "adding items"); harness.check(box.getItemAt(1), "y", "adding items"); } private void testItemRemoving(TestHarness harness, JComboBox box) { harness.checkPoint("Removing items"); box.removeItem("b"); harness.check(box.getItemCount(), 2, "removing by name"); harness.check((String) box.getItemAt(0) + (String) box.getItemAt(1), "ac", "removing by name" ); box.removeItemAt(0); harness.check(box.getItemCount(), 1, "removing by index"); harness.check(box.getItemAt(0), "c", "removing by index"); box.removeAllItems(); harness.check(box.getItemCount(), 0, "Removing all items."); } private JComboBox createBox(TestHarness harness) { harness.checkPoint("Creating"); String array[] = new String[] { "a", "b", "c" }; JComboBox box = new JComboBox(array); box.addActionListener(this); box.addItemListener(this); box.setActionCommand(COMMAND); harness.check(box.getActionCommand(), COMMAND, "action command"); harness.check(box.getItemCount(), 3, "item count"); testGetItemAt(harness, array, box); return box; } private void testGetItemAt(TestHarness harness, String array[], JComboBox box) { harness.checkPoint("getItemAt"); for (int i = 0; i < array.length; i++) { harness.check(box.getItemAt(i).toString(), array [ i ], "getItemAt(" + i + ") " + array [ i ] + "!=" + box.getItemAt(i) ); } } private void testSelectionByName(TestHarness harness, JComboBox box) { harness.checkPoint("s.b.n"); command = UNASSIGNED; stateChangeEvents.setLength(0); box.setSelectedItem("a"); harness.check(command, COMMAND); harness.check(box.getSelectedIndex(), 0, "selected index in s.b.n"); harness.check(box.getSelectedItem(), "a", "selected item in s.b.n"); // c was previously selected by testSelectionByIndex. harness.check(stateChangeEvents.toString(), " -c +a", "item events in s.b.i " + stateChangeEvents ); } private void testSelectionByIndex(TestHarness harness, JComboBox box) { harness.checkPoint("s.b.i"); command = UNASSIGNED; stateChangeEvents.setLength(0); box.setSelectedIndex(1); harness.check(command, COMMAND, "action listener in s.b.i"); harness.check(box.getSelectedIndex(), 1, "selected index in s.b.i."); harness.check(box.getSelectedItem(), "b", "selected item in s.b.i."); for (int i = 0; i < 3; i++) { box.setSelectedIndex(i); } String events = stateChangeEvents.toString(); harness.check(events.startsWith(" -a"), "Missing event on deselecting the default item. " + "Bug in 1.3, fixed in 1.4." ); harness.check(events, " -a +b -b +a -a +b -b +c", "item events in s.b.i " + stateChangeEvents ); command = UNASSIGNED; } private void testTogglingVisibility(TestHarness harness) { JFrame frame = new JFrame(); frame.setSize(200, 100); Container contentPane = frame.getContentPane(); JComboBox box = new JComboBox(); box.addItem("123"); box.addItem("aaa"); box.addItem("abc"); contentPane.add(box, BorderLayout.SOUTH); frame.show(); // A new box should not be visible harness.check(box.isPopupVisible() == false); // Prepare robot to perform mouse click; position in middle of box Robot r = harness.createRobot (); r.waitForIdle (); r.delay (100); r.mouseMove(box.getLocationOnScreen().x + (box.getSize().width / 2), box.getLocationOnScreen().y + (box.getSize().height / 2)); // Simulate user click on button; popup should now be visible r.waitForIdle (); r.delay (100); r.mousePress(InputEvent.BUTTON1_MASK); r.mouseRelease(InputEvent.BUTTON1_MASK); r.waitForIdle (); r.delay (100); harness.check(box.isPopupVisible()); // Click it again - this should toggle the popup and make it invisible r.waitForIdle (); r.delay (100); r.mousePress(InputEvent.BUTTON1_MASK); r.mouseRelease(InputEvent.BUTTON1_MASK); r.waitForIdle (); r.delay (100); harness.check(box.isPopupVisible() == false); } public void actionPerformed(ActionEvent e) { command = e.getActionCommand(); } public void itemStateChanged(ItemEvent ie) { if (ie.getStateChange() == ie.SELECTED) stateChangeEvents.append(" +" + ie.getItem()); else stateChangeEvents.append(" -" + ie.getItem()); } } mauve-20140821/gnu/testlet/javax/swing/JComboBox/MyJComboBox.java0000644000175000001440000000214410325257562023307 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JComboBox; import javax.swing.JComboBox; /** * Provides access to protected fields. */ public class MyJComboBox extends JComboBox { public MyJComboBox(Object[] items) { super(items); } public Object getSelectedItemReminder() { return this.selectedItemReminder; } } mauve-20140821/gnu/testlet/javax/swing/JComboBox/setSelectedIndex.java0000644000175000001440000000502011015022005024362 0ustar dokousers// Tags: JDK1.4 // Uses: MyJComboBox // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JComboBox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.util.ArrayList; import java.util.List; import javax.swing.JComboBox; /** * Some checks for the setSelectedIndex() method in the * {@link JComboBox} class. */ public class setSelectedIndex implements Testlet, ItemListener { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyJComboBox c = new MyJComboBox(new Object[] {"A", "B", "C"}); harness.check(c.getSelectedItemReminder(), "A"); c.addItemListener(this); c.setSelectedIndex(1); harness.check(c.getSelectedItem(), "B"); harness.check(events.size(), 2); ItemEvent e1 = (ItemEvent) events.get(0); harness.check(e1.getStateChange(), ItemEvent.DESELECTED); harness.check(e1.getItem(), "A"); ItemEvent e2 = (ItemEvent) events.get(1); harness.check(e2.getStateChange(), ItemEvent.SELECTED); harness.check(e2.getItem(), "B"); events.clear(); c.setSelectedIndex(-1); harness.check(events.size(), 1); e1 = (ItemEvent) events.get(0); harness.check(e1.getStateChange(), ItemEvent.DESELECTED); harness.check(e1.getItem(), "B"); events.clear(); // no change == no event c.setSelectedIndex(-1); harness.check(events.size(), 0); c.setSelectedIndex(1); events.clear(); c.setSelectedIndex(1); harness.check(events.size(), 0); } private List events = new ArrayList(); public void itemStateChanged(ItemEvent e) { events.add(e); } } mauve-20140821/gnu/testlet/javax/swing/JComboBox/model.java0000644000175000001440000000400110351521304022234 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JComboBox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultComboBoxModel; import javax.swing.JComboBox; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; /** * Some checks for the communication between the model and the JComboBox. */ public class model implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { try { UIManager.setLookAndFeel(new javax.swing.plaf.metal.MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { harness.debug(e); } DefaultComboBoxModel model = new DefaultComboBoxModel(new Object[] {"A", "B", "C"}); JComboBox cb = new JComboBox(model); harness.check(cb.getModel(), model); harness.check(cb.getSelectedIndex(), 0); // setting the model updates the combo box model.setSelectedItem("B"); harness.check(cb.getSelectedItem(), "B"); // setting the combo box updates the model cb.setSelectedItem("C"); harness.check(model.getSelectedItem(), "C"); } } mauve-20140821/gnu/testlet/javax/swing/JComboBox/SimpleSelectionTest.java0000644000175000001440000000761710234112773025121 0ustar dokousers// Tags: JDK1.2 // Uses: TestModel1 //Copyright (C) 2004 Robert Schuster //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JComboBox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JComboBox; /** Tests selection and counting methods of JComboBox with a ComboBoxModel * that extends AbstractListModel and implements ComboBoxModel. * *

    The order of operations is important. That means if one of the * tests fails its likely that following tests fail too.

    *

    The test were written after fixing GNU Classpath bug #11255.

    * * @author Robert Schuster */ public class SimpleSelectionTest implements Testlet { public void test(TestHarness harness) { JComboBox combo = new JComboBox(new TestModel1()); /* Tests returning item count with a data model which is not an instance * of DefaultComboBoxModel. */ harness.check(combo.getItemCount(), 4, "get item count"); /* Tests whether the JComboBox does not change the value that * the model decided to preselect. */ harness.check(combo.getSelectedItem(), "In", "preselected item"); /* Tests selecting by value. */ combo.setSelectedItem("Freedom"); harness.check(combo.getSelectedIndex(), 3, "select by value"); /* Tests whether selecting by value with an item that is not * in the model has no effect. */ combo.setSelectedItem("BOGUS"); harness.check(combo.getSelectedIndex(), 3, "select by unknown value"); /* Tests returning the 2nd item via index. */ harness.check(combo.getItemAt(1), "As", "return via index"); /* Tests unselecting via index. * Note that for unselecting to work properly the ComboBoxModel must support that. */ combo.setSelectedIndex(-1); harness.check(combo.getSelectedItem(), null, "unselect via index"); /* Tests IllegalArgumentException being thrown for an index * below -1. */ try { combo.setSelectedIndex(-12); harness.fail("illegal index access 1: exception not thrown"); } catch (Exception e) { harness.check( e instanceof IllegalArgumentException, "illegal index access 1"); } /* Tests IllegalArgumentException being thrown for an index * outside the upper bound. */ try { combo.setSelectedIndex(1200); harness.fail("illegal index access 2: exception not thrown"); } catch (Exception e) { harness.check( e instanceof IllegalArgumentException, "illegal index access 2"); } /* Tests selection via index. */ combo.setSelectedIndex(0); harness.check( combo.getSelectedItem(), "Free", "valid selection via index"); /* Tests unselecting via null. * Note that for unselecting to work properly the ComboBoxModel must support that. */ combo.setSelectedItem(null); harness.check(combo.getSelectedItem(), null, "unselect via null"); } } mauve-20140821/gnu/testlet/javax/swing/JComboBox/setPrototypeDisplayValue.java0000644000175000001440000000472010311553237026216 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JComboBox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JComboBox; /** * Some checks for the setPrototypeDisplayValue() method in the * {@link JComboBox} class. */ public class setPrototypeDisplayValue implements Testlet, PropertyChangeListener { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JComboBox c = new JComboBox(); c.addPropertyChangeListener(this); // set a new prototype c.setPrototypeDisplayValue("Test1"); harness.check(c.getPrototypeDisplayValue(), "Test1"); harness.check(name, "prototypeDisplayValue"); harness.check(oldValue, null); harness.check(newValue, "Test1"); // overwrite the existing prototype c.setPrototypeDisplayValue("Test2"); harness.check(c.getPrototypeDisplayValue(), "Test2"); harness.check(name, "prototypeDisplayValue"); harness.check(oldValue, "Test1"); harness.check(newValue, "Test2"); // clear the prototype c.setPrototypeDisplayValue(null); harness.check(c.getPrototypeDisplayValue(), null); harness.check(name, "prototypeDisplayValue"); harness.check(oldValue, "Test2"); harness.check(newValue, null); } private String name = null; private Object oldValue = null; private Object newValue = null; public void propertyChange(PropertyChangeEvent e) { name = e.getPropertyName(); oldValue = e.getOldValue(); newValue = e.getNewValue(); } } mauve-20140821/gnu/testlet/javax/swing/JComboBox/setModel.java0000644000175000001440000000417411015022005022713 0ustar dokousers// Tags: JDK1.4 // Uses: MyJComboBox // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JComboBox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.util.ArrayList; import java.util.List; import javax.swing.DefaultComboBoxModel; import javax.swing.JComboBox; import javax.swing.event.ListDataEvent; import javax.swing.event.ListDataListener; /** * Some checks for the setModel() method in the * {@link JComboBox} class. */ public class setModel implements Testlet, ItemListener, ListDataListener { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyJComboBox c = new MyJComboBox(new Object[] {"A", "B", "C"}); harness.check(c.getSelectedItemReminder(), "A"); c.setModel(new DefaultComboBoxModel(new Object[] {"W", "X", "Y", "Z"})); harness.check(c.getSelectedItemReminder(), "W"); } private List events = new ArrayList(); public void itemStateChanged(ItemEvent e) { events.add(e); } public void intervalAdded(ListDataEvent e) { events.add(e); } public void intervalRemoved(ListDataEvent e) { events.add(e); } public void contentsChanged(ListDataEvent e) { events.add(e); } } mauve-20140821/gnu/testlet/javax/swing/JComboBox/MutableTest1.java0000644000175000001440000000426210234112773023465 0ustar dokousers// Tags: JDK1.2 // Uses: TestModel1 //Copyright (C) 2004 Robert Schuster //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JComboBox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JComboBox; /** This tests the methods of JComboBox that would modify the * ComboBoxModel. Since no * MutableComboBoxModel is given * RuntimeExceptionS are expected to be * thrown instead. * * @author Robert Schuster */ public class MutableTest1 implements Testlet { public void test(TestHarness harness) { JComboBox combo = new JComboBox(new TestModel1()); boolean ok = false; try { combo.insertItemAt("BOGUS", 0); } catch (RuntimeException re) { ok = true; } harness.check(ok, "insertItemAt"); ok = false; try { combo.removeItem("BOGUS"); } catch (RuntimeException re) { ok = true; } harness.check(ok, "removeItem"); ok = false; try { combo.removeItemAt(0); } catch (RuntimeException re) { ok = true; } harness.check(ok, "removeItemAt"); ok = false; try { combo.removeAllItems(); } catch (RuntimeException re) { ok = true; } harness.check(ok, "removeAllItems"); } } mauve-20140821/gnu/testlet/javax/swing/JComboBox/TestModel1.java0000644000175000001440000000415410161421366023134 0ustar dokousers//Tags: not-a-test //Copyright (C) 2004 Robert Schuster //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JComboBox; import javax.swing.ComboBoxModel; import javax.swing.AbstractListModel; /** A non-mutable ComboBoxModel implementation for use in a simple * selection test. The model supports unselection. * * @author Robert Schuster */ public class TestModel1 extends AbstractListModel implements ComboBoxModel { private String[] principle = { "Free", "As", "In", "Freedom" }; /** The currently selected item. Defaults to "In". This is needed * for the test. */ private String selected = principle[2]; public void setSelectedItem(Object o) { if(o == null) { selected = null; return; } if(!(o instanceof String)) return; String str = (String) o; for(int i=0; i < principle.length; i++) { if(principle[i].equals(str)) { selected = principle[i]; return; } } } public Object getSelectedItem() { return selected; } public Object getElementAt(int index) { return principle[index]; } public int getSize() { return principle.length; } } mauve-20140821/gnu/testlet/javax/swing/JComboBox/listenerList.java0000644000175000001440000000506010207060771023631 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JComboBox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionListener; import java.awt.event.ItemListener; import javax.swing.JComboBox; import java.awt.event.ActionEvent; import java.awt.event.ItemEvent; /** * The basic JComboBox listener array getters (feature of 1.4). * This test must also work when the component is not displayed. * @author Audrius Meskauskas (AudriusA@Bluewin.ch) */ public class listenerList implements Testlet, ActionListener, ItemListener { public void test(TestHarness harness) { JComboBox box = new JComboBox(); box.addActionListener(this); box.addItemListener(this); checkListenerLists(harness, box); } private void checkListenerLists(TestHarness harness, JComboBox box) { try { ActionListener a_listeners[] = box.getActionListeners(); boolean weAre = false; for (int i = 0; i < a_listeners.length; i++) { if (a_listeners [ i ] == this) { weAre = true; break; } } harness.check(weAre, "Action listener list"); ItemListener i_listeners[] = box.getItemListeners(); weAre = false; for (int i = 0; i < i_listeners.length; i++) { if (i_listeners [ i ] == this) { weAre = true; break; } } harness.check(weAre, "Item listener list"); } catch (Exception ex) { ex.printStackTrace(); harness.fail("Cannot check the listerner lists, bug in 1.3, fixed in 1.4"); } } public void actionPerformed(ActionEvent e) { } public void itemStateChanged(ItemEvent ie) { } } mauve-20140821/gnu/testlet/javax/swing/JComboBox/addItem.java0000644000175000001440000000400310325215015022505 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JComboBox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JComboBox; import javax.swing.UIManager; /** * Some checks for the addItem() method in the {@link JComboBox} class. */ public class addItem implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // use a known look and feel try { UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel"); } catch (Exception e) { harness.fail("Problem setting MetalLookAndFeel"); } JComboBox c1 = new JComboBox(); harness.check(c1.getSelectedIndex(), -1); harness.check(c1.getSelectedItem(), null); c1.addItem("Item 1"); harness.check(c1.getSelectedIndex(), 0); harness.check(c1.getSelectedItem(), "Item 1"); c1.addItem("Item 2"); harness.check(c1.getSelectedIndex(), 0); harness.check(c1.getSelectedItem(), "Item 1"); // check null c1.addItem(null); harness.check(c1.getSelectedIndex(), 0); harness.check(c1.getSelectedItem(), "Item 1"); } } mauve-20140821/gnu/testlet/javax/swing/JComboBox/TestModel2.java0000644000175000001440000000535310161421366023137 0ustar dokousers//Tags: not-a-test //Copyright (C) 2004 Robert Schuster //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JComboBox; import javax.swing.MutableComboBoxModel; import javax.swing.AbstractListModel; import java.util.LinkedList; /** A mutable model class for JComboBox for use in a model * modification test. The model supports unselection. * *

    The test is aware of the fact that this model contains 10 items * when created.

    * * @author Robert Schuster */ public class TestModel2 extends AbstractListModel implements MutableComboBoxModel { private LinkedList stuff = new LinkedList(); private String selected; public TestModel2() { for (int i = 0; i < 10; i++) { stuff.add(String.valueOf(i)); } selected = (String) stuff.get(0); } public void setSelectedItem(Object o) { if (o == null) { selected = null; return; } if (!(o instanceof String)) return; String str = (String) o; int index = stuff.indexOf(o); if (index != -1) { selected = (String) stuff.get(index); } } public Object getSelectedItem() { return selected; } public Object getElementAt(int index) { return stuff.get(index); } public int getSize() { return stuff.size(); } public void addElement(Object obj) { stuff.add(obj); int index = stuff.size() - 1; fireIntervalAdded(obj, index, index); } public void removeElement(Object obj) { int index = stuff.indexOf(obj); if (index != -1) { stuff.remove(obj); fireIntervalRemoved(obj, index, index); } } public void insertElementAt(Object obj, int index) { stuff.add(index, obj); fireIntervalAdded(obj, index, index); } public void removeElementAt(int index) { fireIntervalRemoved(stuff.remove(index), index, index); } } mauve-20140821/gnu/testlet/javax/swing/JComboBox/removeItem.java0000644000175000001440000000506310325215015023261 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JComboBox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JComboBox; import javax.swing.UIManager; /** * Some checks for the removeItem() method in the {@link JComboBox} class. */ public class removeItem implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // use a known look and feel try { UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel"); } catch (Exception e) { harness.fail("Problem setting MetalLookAndFeel"); } JComboBox c1 = new JComboBox(); harness.check(c1.getSelectedIndex(), -1); harness.check(c1.getSelectedItem(), null); // remove an item when it doesn't exist c1.removeItem("Item 1"); harness.check(c1.getSelectedIndex(), -1); harness.check(c1.getSelectedItem(), null); c1.addItem("Item 1"); harness.check(c1.getSelectedItem(), "Item 1"); c1.addItem("Item 2"); harness.check(c1.getSelectedItem(), "Item 1"); c1.addItem("Item 3"); harness.check(c1.getSelectedItem(), "Item 1"); c1.setSelectedItem("Item 3"); harness.check(c1.getSelectedItem(), "Item 3"); c1.removeItem("Item 3"); harness.check(c1.getSelectedItem(), "Item 2"); // check null c1.removeItem(null); harness.check(c1.getSelectedItem(), "Item 2"); c1.removeItem("Item 2"); harness.check(c1.getSelectedItem(), "Item 1"); harness.check(c1.getSelectedIndex(), 0); c1.addItem("Item A"); c1.removeItem("Item 1"); harness.check(c1.getSelectedItem(), "Item A"); harness.check(c1.getSelectedIndex(), 0); } } mauve-20140821/gnu/testlet/javax/swing/BoxLayout/0000755000175000001440000000000012375316426020421 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/BoxLayout/horizontal2.java0000644000175000001440000000421110233253514023522 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.BoxLayout; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.Dimension; import java.awt.Rectangle; import javax.swing.BoxLayout; import javax.swing.JComponent; /** * Checks how space is distributed between components with different * preferred sizes. * * @author Roman Kennke */ public class horizontal2 implements Testlet { public void test(TestHarness h) { JComponent comp = new JComponent(){}; BoxLayout layout = new BoxLayout(comp, BoxLayout.X_AXIS); // add two components should equally share the available space between // them JComponent c1 = new JComponent(){}; c1.setPreferredSize(new Dimension(50, 400)); JComponent c2 = new JComponent(){}; c2.setPreferredSize(new Dimension(150, 200)); comp.add(c1); comp.add(c2); comp.setSize(400, 400); layout.layoutContainer(comp); Rectangle b1 = c1.getBounds(); Rectangle b2 = c2.getBounds(); h.check(b1.x, 0, String.valueOf(b1.x)); h.check(b1.y, 0, String.valueOf(b1.y)); h.check(b1.width, 150, String.valueOf(b1.width)); h.check(b1.height, 400, String.valueOf(b1.height)); h.check(b2.x, 150, String.valueOf(b2.x)); h.check(b2.y, 0, String.valueOf(b2.y)); h.check(b2.width, 249, String.valueOf(b2.width)); h.check(b2.height, 400, String.valueOf(b2.height)); } } mauve-20140821/gnu/testlet/javax/swing/BoxLayout/removeLayoutComponent.java0000644000175000001440000000332010311621030025612 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.BoxLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Component; import javax.swing.BoxLayout; import javax.swing.JPanel; /** * Some checks for the removeLayoutComponent methods in the {@link BoxLayout} * class. */ public class removeLayoutComponent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // the removeLayoutComponent() method is not used so nothing here should // fail try { BoxLayout layout = new BoxLayout(new JPanel(), BoxLayout.X_AXIS); layout.removeLayoutComponent(new JPanel()); layout.removeLayoutComponent((Component) null); harness.check(true); } catch (Throwable e) { harness.check(false); } } } mauve-20140821/gnu/testlet/javax/swing/BoxLayout/constants.java0000644000175000001440000000265510311621027023270 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.BoxLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.BoxLayout; /** * Some checks for the constants defined in the {@link BoxLayout} class. */ public class constants implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.check(BoxLayout.LINE_AXIS, 2); harness.check(BoxLayout.PAGE_AXIS, 3); harness.check(BoxLayout.X_AXIS, 0); harness.check(BoxLayout.Y_AXIS, 1); } } mauve-20140821/gnu/testlet/javax/swing/BoxLayout/layoutContainer.java0000644000175000001440000001511410332640124024430 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.BoxLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.AWTError; import java.awt.Container; import java.awt.Dimension; import java.awt.Rectangle; import javax.swing.BoxLayout; import javax.swing.JComponent; import javax.swing.JPanel; /** * Some checks for the layoutContainer() method defined in the * {@link BoxLayout} class. */ public class layoutContainer implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testXAxis(harness); testYAxis(harness); testLineAxis(harness); testPageAxis(harness); testOriginalContainer(harness); testOverflowCase(harness); } private void testXAxis(TestHarness harness) { harness.checkPoint("testXAxis"); JPanel container = new JPanel(); container.setSize(100, 200); container.setLayout(new BoxLayout(container, BoxLayout.X_AXIS)); JPanel p1 = new JPanel(); JPanel p2 = new JPanel(); JPanel p3 = new JPanel(); p1.setPreferredSize(new Dimension(11, 22)); p2.setPreferredSize(new Dimension(33, 44)); p3.setPreferredSize(new Dimension(55, 66)); container.add(p1); container.add(p2); container.add(p3); container.doLayout(); harness.check(p1.getBounds(), new Rectangle(0, 0, 11, 200)); harness.check(p2.getBounds(), new Rectangle(11, 0, 33, 200)); harness.check(p3.getBounds(), new Rectangle(44, 0, 55, 200)); } private void testYAxis(TestHarness harness) { harness.checkPoint("testYAxis"); JPanel container = new JPanel(); container.setSize(100, 200); container.setLayout(new BoxLayout(container, BoxLayout.Y_AXIS)); JPanel p1 = new JPanel(); JPanel p2 = new JPanel(); JPanel p3 = new JPanel(); p1.setPreferredSize(new Dimension(11, 22)); p2.setPreferredSize(new Dimension(33, 44)); p3.setPreferredSize(new Dimension(55, 66)); container.add(p1); container.add(p2); container.add(p3); container.doLayout(); harness.check(p1.getBounds(), new Rectangle(0, 0, 100, 44)); harness.check(p2.getBounds(), new Rectangle(0, 44, 100, 66)); harness.check(p3.getBounds(), new Rectangle(0, 110, 100, 88)); } private void testLineAxis(TestHarness harness) { harness.checkPoint("testLineAxis"); JPanel container = new JPanel(); container.setSize(100, 200); container.setLayout(new BoxLayout(container, BoxLayout.LINE_AXIS)); JPanel p1 = new JPanel(); JPanel p2 = new JPanel(); JPanel p3 = new JPanel(); p1.setPreferredSize(new Dimension(11, 22)); p2.setPreferredSize(new Dimension(33, 44)); p3.setPreferredSize(new Dimension(55, 66)); container.add(p1); container.add(p2); container.add(p3); container.doLayout(); harness.check(p1.getBounds(), new Rectangle(0, 0, 11, 200)); harness.check(p2.getBounds(), new Rectangle(11, 0, 33, 200)); harness.check(p3.getBounds(), new Rectangle(44, 0, 55, 200)); } private void testPageAxis(TestHarness harness) { harness.checkPoint("testPageAxis"); JPanel container = new JPanel(); container.setSize(100, 200); container.setLayout(new BoxLayout(container, BoxLayout.PAGE_AXIS)); JPanel p1 = new JPanel(); JPanel p2 = new JPanel(); JPanel p3 = new JPanel(); p1.setPreferredSize(new Dimension(11, 22)); p2.setPreferredSize(new Dimension(33, 44)); p3.setPreferredSize(new Dimension(55, 66)); container.add(p1); container.add(p2); container.add(p3); container.doLayout(); harness.check(p1.getBounds(), new Rectangle(0, 0, 100, 44)); harness.check(p2.getBounds(), new Rectangle(0, 44, 100, 66)); harness.check(p3.getBounds(), new Rectangle(0, 110, 100, 88)); } private void testOriginalContainer(TestHarness harness) { harness.checkPoint("testOriginalContainer"); JPanel container = new JPanel(); BoxLayout layout = new BoxLayout(container, BoxLayout.X_AXIS); // must call with original container boolean pass = false; try { layout.layoutContainer(new JPanel()); } catch (AWTError e) { pass = true; } harness.check(pass); } /** * This tests a case where we have 3 components with max values of * Integer.MAX_VALUE. This test is derived from an actual bug. * * @param harness the test harness to use */ private void testOverflowCase(TestHarness harness) { harness.checkPoint("overflowCase"); JComponent c1 = new JComponent(){}; c1.setMinimumSize(new Dimension(4, 4)); c1.setPreferredSize(new Dimension(49, 11)); c1.setMaximumSize(new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE)); JComponent c2 = new JComponent(){}; c2.setMinimumSize(new Dimension(4, 4)); c2.setPreferredSize(new Dimension(49, 11)); c2.setMaximumSize(new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE)); JComponent c3 = new JComponent(){}; c3.setMinimumSize(new Dimension(4, 4)); c3.setPreferredSize(new Dimension(49, 11)); c3.setMaximumSize(new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE)); Container c = new Container(); BoxLayout l = new BoxLayout(c, BoxLayout.X_AXIS); c.setLayout(l); c.add(c1); c.add(c2); c.add(c3); c.setSize(670, 46); l.invalidateLayout(c); l.layoutContainer(c); harness.check(c1.getX(), 0); harness.check(c1.getY(), 0); harness.check(c1.getWidth(), 223); harness.check(c1.getHeight(), 46); harness.check(c2.getX(), 223); harness.check(c2.getY(), 0); harness.check(c2.getWidth(), 223); harness.check(c2.getHeight(), 46); harness.check(c3.getX(), 446); harness.check(c3.getY(), 0); harness.check(c3.getWidth(), 223); harness.check(c3.getHeight(), 46); } } mauve-20140821/gnu/testlet/javax/swing/BoxLayout/constructor.java0000644000175000001440000000333510311621027023635 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.BoxLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.AWTError; import javax.swing.BoxLayout; import javax.swing.JPanel; /** * Some checks for the constructor in the {@link BoxLayout} class. */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // a null container is accepted by the constructor but the resulting // layout is useless... BoxLayout layout = new BoxLayout(null, BoxLayout.X_AXIS); harness.check(layout != null); // try an invalid axis type boolean pass = false; try { layout = new BoxLayout(new JPanel(), 99); } catch (AWTError e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/BoxLayout/maximumLayoutSize.java0000644000175000001440000001143410311621030024747 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.BoxLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.AWTError; import java.awt.Dimension; import javax.swing.BorderFactory; import javax.swing.BoxLayout; import javax.swing.JPanel; /** * Some checks for the maximumLayoutSize() method defined in the * {@link BoxLayout} class. */ public class maximumLayoutSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testBasic(harness); testXAxis(harness); testYAxis(harness); testLineAxis(harness); testPageAxis(harness); } private void testBasic(TestHarness harness) { JPanel container = new JPanel(); BoxLayout layout = new BoxLayout(container, BoxLayout.X_AXIS); harness.check(layout.maximumLayoutSize(container), new Dimension(0, 0)); container.setBorder(BorderFactory.createEmptyBorder(1, 2, 3, 4)); harness.check(layout.maximumLayoutSize(container), new Dimension(6, 4)); // must call with original container boolean pass = false; try { /*Dimension result =*/ layout.maximumLayoutSize(new JPanel()); } catch (AWTError e) { pass = true; } harness.check(pass); } private void testXAxis(TestHarness harness) { harness.checkPoint("testXAxis"); JPanel container = new JPanel(); container.setSize(100, 200); BoxLayout layout = new BoxLayout(container, BoxLayout.X_AXIS); container.setLayout(layout); JPanel p1 = new JPanel(); JPanel p2 = new JPanel(); JPanel p3 = new JPanel(); p1.setPreferredSize(new Dimension(11, 22)); p2.setPreferredSize(new Dimension(33, 44)); p3.setPreferredSize(new Dimension(55, 66)); container.add(p1); container.add(p2); container.add(p3); harness.check(layout.maximumLayoutSize(container), new Dimension(98301, 32767)); } private void testYAxis(TestHarness harness) { harness.checkPoint("testYAxis"); JPanel container = new JPanel(); container.setSize(100, 200); BoxLayout layout = new BoxLayout(container, BoxLayout.Y_AXIS); container.setLayout(layout); JPanel p1 = new JPanel(); JPanel p2 = new JPanel(); JPanel p3 = new JPanel(); p1.setPreferredSize(new Dimension(11, 22)); p2.setPreferredSize(new Dimension(33, 44)); p3.setPreferredSize(new Dimension(55, 66)); container.add(p1); container.add(p2); container.add(p3); container.doLayout(); harness.check(layout.maximumLayoutSize(container), new Dimension(32767, 98301)); } private void testLineAxis(TestHarness harness) { harness.checkPoint("testLineAxis"); JPanel container = new JPanel(); container.setSize(100, 200); BoxLayout layout = new BoxLayout(container, BoxLayout.LINE_AXIS); container.setLayout(layout); JPanel p1 = new JPanel(); JPanel p2 = new JPanel(); JPanel p3 = new JPanel(); p1.setPreferredSize(new Dimension(11, 22)); p2.setPreferredSize(new Dimension(33, 44)); p3.setPreferredSize(new Dimension(55, 66)); container.add(p1); container.add(p2); container.add(p3); container.doLayout(); harness.check(layout.maximumLayoutSize(container), new Dimension(98301, 32767)); } private void testPageAxis(TestHarness harness) { harness.checkPoint("testPageAxis"); JPanel container = new JPanel(); container.setSize(100, 200); BoxLayout layout = new BoxLayout(container, BoxLayout.PAGE_AXIS); container.setLayout(layout); JPanel p1 = new JPanel(); JPanel p2 = new JPanel(); JPanel p3 = new JPanel(); p1.setPreferredSize(new Dimension(11, 22)); p2.setPreferredSize(new Dimension(33, 44)); p3.setPreferredSize(new Dimension(55, 66)); container.add(p1); container.add(p2); container.add(p3); container.doLayout(); harness.check(layout.maximumLayoutSize(container), new Dimension(32767, 98301)); } } mauve-20140821/gnu/testlet/javax/swing/BoxLayout/maximumLayoutSize2.java0000644000175000001440000000360610345400532025044 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Red Hat. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.BoxLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import java.awt.LayoutManager2; import javax.swing.BoxLayout; import javax.swing.JPanel; import javax.swing.JTextField; /** * Some checks for the maximumLayoutSize() method in the * {@link BorderLayout} class. */ public class maximumLayoutSize2 implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JTextField ftf = new JTextField("HELLO WORLD"); JPanel borderPanel = new JPanel(); borderPanel.setLayout(new BoxLayout(borderPanel, BoxLayout.Y_AXIS)); borderPanel.add(ftf); LayoutManager2 lm = (LayoutManager2) borderPanel.getLayout(); Dimension max = new Dimension (Integer.MAX_VALUE, Integer.MAX_VALUE); harness.check (lm.maximumLayoutSize(borderPanel), max); borderPanel.setBorder(new javax.swing.border.TitledBorder("HELLO WORLD")); harness.check (lm.maximumLayoutSize(borderPanel), max); } } mauve-20140821/gnu/testlet/javax/swing/BoxLayout/getLayoutAlignmentY.java0000644000175000001440000000330010311621027025205 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.BoxLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.AWTError; import javax.swing.BoxLayout; import javax.swing.JPanel; /** * Some checks for the getLayoutAlignmentY() method defined in the * {@link BoxLayout} class. */ public class getLayoutAlignmentY implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JPanel container = new JPanel(); BoxLayout layout = new BoxLayout(container, BoxLayout.X_AXIS); // must call with original container boolean pass = false; try { /*float result =*/ layout.getLayoutAlignmentY(new JPanel()); } catch (AWTError e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/BoxLayout/minimumLayoutSize.java0000644000175000001440000000373310311621030024750 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.BoxLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.AWTError; import java.awt.Dimension; import javax.swing.BorderFactory; import javax.swing.BoxLayout; import javax.swing.JPanel; /** * Some checks for the minimumLayoutSize() method defined in the * {@link BoxLayout} class. */ public class minimumLayoutSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JPanel container = new JPanel(); BoxLayout layout = new BoxLayout(container, BoxLayout.X_AXIS); harness.check(layout.minimumLayoutSize(container), new Dimension(0, 0)); container.setBorder(BorderFactory.createEmptyBorder(1, 2, 3, 4)); harness.check(layout.minimumLayoutSize(container), new Dimension(6, 4)); // must call with original container boolean pass = false; try { /*Dimension result =*/ layout.minimumLayoutSize(new JPanel()); } catch (AWTError e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/BoxLayout/simplehorizontal.java0000644000175000001440000000374210444320236024662 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.BoxLayout; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.Rectangle; import javax.swing.BoxLayout; import javax.swing.JComponent; /** * Some simple checks for BoxLayout. * * @author Roman Kennke */ public class simplehorizontal implements Testlet { public void test(TestHarness h) { JComponent comp = new JComponent(){}; BoxLayout layout = new BoxLayout(comp, BoxLayout.X_AXIS); // add two components should equally share the available space between // them JComponent c1 = new JComponent(){}; JComponent c2 = new JComponent(){}; comp.add(c1); comp.add(c2); comp.setSize(400, 400); layout.layoutContainer(comp); Rectangle b1 = c1.getBounds(); Rectangle b2 = c2.getBounds(); h.check(b1.x, 0, String.valueOf(b1.x)); h.check(b1.y, 0, String.valueOf(b1.y)); h.check(b1.width, 200, String.valueOf(b1.width)); h.check(b1.height, 400, String.valueOf(b1.height)); h.check(b2.x, 200, String.valueOf(b2.x)); h.check(b2.y, 0, String.valueOf(b2.y)); h.check(b2.width, 200, String.valueOf(b2.width)); h.check(b2.height, 400, String.valueOf(b2.height)); } } mauve-20140821/gnu/testlet/javax/swing/BoxLayout/preferredLayoutSize.java0000644000175000001440000001241510311621030025250 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.BoxLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.AWTError; import java.awt.Dimension; import javax.swing.BorderFactory; import javax.swing.BoxLayout; import javax.swing.JPanel; import javax.swing.JSeparator; /** * Some checks for the preferredLayoutSize() method defined in the * {@link BoxLayout} class. */ public class preferredLayoutSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testBasic(harness); testXAxis(harness); testYAxis(harness); testLineAxis(harness); testPageAxis(harness); testJSeparator(harness); } private void testBasic(TestHarness harness) { JPanel container = new JPanel(); BoxLayout layout = new BoxLayout(container, BoxLayout.X_AXIS); harness.check(layout.preferredLayoutSize(container), new Dimension(0, 0)); container.setBorder(BorderFactory.createEmptyBorder(1, 2, 3, 4)); harness.check(layout.preferredLayoutSize(container), new Dimension(6, 4)); // must call with original container boolean pass = false; try { /*Dimension result =*/ layout.preferredLayoutSize(new JPanel()); } catch (AWTError e) { pass = true; } harness.check(pass); } private void testXAxis(TestHarness harness) { harness.checkPoint("testXAxis"); JPanel container = new JPanel(); container.setSize(100, 200); BoxLayout layout = new BoxLayout(container, BoxLayout.X_AXIS); container.setLayout(layout); JPanel p1 = new JPanel(); JPanel p2 = new JPanel(); JPanel p3 = new JPanel(); p1.setPreferredSize(new Dimension(11, 22)); p2.setPreferredSize(new Dimension(33, 44)); p3.setPreferredSize(new Dimension(55, 66)); container.add(p1); container.add(p2); container.add(p3); harness.check(layout.preferredLayoutSize(container), new Dimension(99, 66)); } private void testYAxis(TestHarness harness) { harness.checkPoint("testYAxis"); JPanel container = new JPanel(); container.setSize(100, 200); BoxLayout layout = new BoxLayout(container, BoxLayout.Y_AXIS); container.setLayout(layout); JPanel p1 = new JPanel(); JPanel p2 = new JPanel(); JPanel p3 = new JPanel(); p1.setPreferredSize(new Dimension(11, 22)); p2.setPreferredSize(new Dimension(33, 44)); p3.setPreferredSize(new Dimension(55, 66)); container.add(p1); container.add(p2); container.add(p3); container.doLayout(); harness.check(layout.preferredLayoutSize(container), new Dimension(55, 132)); } private void testLineAxis(TestHarness harness) { harness.checkPoint("testLineAxis"); JPanel container = new JPanel(); container.setSize(100, 200); BoxLayout layout = new BoxLayout(container, BoxLayout.LINE_AXIS); container.setLayout(layout); JPanel p1 = new JPanel(); JPanel p2 = new JPanel(); JPanel p3 = new JPanel(); p1.setPreferredSize(new Dimension(11, 22)); p2.setPreferredSize(new Dimension(33, 44)); p3.setPreferredSize(new Dimension(55, 66)); container.add(p1); container.add(p2); container.add(p3); container.doLayout(); harness.check(layout.preferredLayoutSize(container), new Dimension(99, 66)); } private void testPageAxis(TestHarness harness) { harness.checkPoint("testPageAxis"); JPanel container = new JPanel(); container.setSize(100, 200); BoxLayout layout = new BoxLayout(container, BoxLayout.PAGE_AXIS); container.setLayout(layout); JPanel p1 = new JPanel(); JPanel p2 = new JPanel(); JPanel p3 = new JPanel(); p1.setPreferredSize(new Dimension(11, 22)); p2.setPreferredSize(new Dimension(33, 44)); p3.setPreferredSize(new Dimension(55, 66)); container.add(p1); container.add(p2); container.add(p3); container.doLayout(); harness.check(layout.preferredLayoutSize(container), new Dimension(55, 132)); } private void testJSeparator(TestHarness harness) { harness.checkPoint("testJSeparator"); JPanel container = new JPanel(); container.setSize(100, 200); BoxLayout layout = new BoxLayout(container, BoxLayout.Y_AXIS); container.setLayout(layout); JSeparator s1 = new JSeparator(); container.add(s1); container.doLayout(); harness.check(layout.preferredLayoutSize(container), new Dimension(0, 2)); } } mauve-20140821/gnu/testlet/javax/swing/BoxLayout/getLayoutAlignmentX.java0000644000175000001440000000330010311621027025204 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.BoxLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.AWTError; import javax.swing.BoxLayout; import javax.swing.JPanel; /** * Some checks for the getLayoutAlignmentX() method defined in the * {@link BoxLayout} class. */ public class getLayoutAlignmentX implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JPanel container = new JPanel(); BoxLayout layout = new BoxLayout(container, BoxLayout.X_AXIS); // must call with original container boolean pass = false; try { /*float result =*/ layout.getLayoutAlignmentX(new JPanel()); } catch (AWTError e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/BoxLayout/simplevertical.java0000644000175000001440000000372510233253514024303 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.BoxLayout; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.Rectangle; import javax.swing.BoxLayout; import javax.swing.JComponent; /** * Some simple checks for BoxLayout. * * @author Roman Kennke */ public class simplevertical implements Testlet { public void test(TestHarness h) { JComponent comp = new JComponent(){}; BoxLayout layout = new BoxLayout(comp, BoxLayout.Y_AXIS); // add two components should equally share the available space between // them JComponent c1 = new JComponent(){}; JComponent c2 = new JComponent(){}; comp.add(c1); comp.add(c2); comp.setSize(400, 400); layout.layoutContainer(comp); Rectangle b1 = c1.getBounds(); Rectangle b2 = c2.getBounds(); h.check(b1.x, 0, String.valueOf(b1.x)); h.check(b1.y, 0, String.valueOf(b1.y)); h.check(b1.width, 400, String.valueOf(b1.width)); h.check(b1.height, 200, String.valueOf(b1.height)); h.check(b2.x, 0, String.valueOf(b1.x)); h.check(b2.y, 200, String.valueOf(b1.y)); h.check(b2.width, 400, String.valueOf(b1.width)); h.check(b2.height, 200, String.valueOf(b1.height)); } } mauve-20140821/gnu/testlet/javax/swing/BoxLayout/addLayoutComponent.java0000644000175000001440000000433010311621027025055 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.BoxLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Component; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JPanel; /** * Some checks for the addLayoutComponent methods in the {@link BoxLayout} * class. */ public class addLayoutComponent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); } private void test1(TestHarness harness) { harness.checkPoint("(Component, Object)"); // the addLayoutComponent() method is not used so nothing here should // fail BoxLayout layout = new BoxLayout(new JPanel(), BoxLayout.X_AXIS); layout.addLayoutComponent(new JPanel(), "XYZ"); layout.addLayoutComponent((Component) null, (Object) null); harness.check(true); } private void test2(TestHarness harness) { harness.checkPoint("(String, Component)"); // the addLayoutComponent() method is not used so nothing here should // fail BoxLayout layout = new BoxLayout(new JPanel(), BoxLayout.X_AXIS); layout.addLayoutComponent("Name", new JButton("Test")); layout.addLayoutComponent((String) null, (JComponent) null); harness.check(true); } } mauve-20140821/gnu/testlet/javax/swing/BoxLayout/invalidateLayout.java0000644000175000001440000000324410311621027024565 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.BoxLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.AWTError; import javax.swing.BoxLayout; import javax.swing.JPanel; /** * Some checks for the invalidateLayout() method defined in the * {@link BoxLayout} class. */ public class invalidateLayout implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JPanel container = new JPanel(); BoxLayout layout = new BoxLayout(container, BoxLayout.X_AXIS); // must call with original container boolean pass = false; try { layout.invalidateLayout(new JPanel()); } catch (AWTError e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JWindow/0000755000175000001440000000000012375316426020054 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JWindow/isRootPaneCheckingEnabled.java0000644000175000001440000000621710333737520025711 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2004 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JWindow; import java.awt.Component; import javax.swing.JLabel; import javax.swing.JRootPane; import javax.swing.JWindow; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class isRootPaneCheckingEnabled implements Testlet { /** * Overrides some protected methods to make them public for testing. * * @author Roman Kennke (kennke@aicas.com) */ class TestWindow extends JWindow { public boolean isRootPaneCheckingEnabled() { return super.isRootPaneCheckingEnabled(); } public void setRootPaneCheckingEnabled(boolean b) { super.setRootPaneCheckingEnabled(b); } } /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testRootPaneCheckingEnabled(harness); testRootPaneCheckingDisabled(harness); } /** * Checks the behaviour with rootPaneCheckingEnabled==true. Adds to the frame * should go to the contentPane. * * @param harness the test harness to use */ private void testRootPaneCheckingEnabled(TestHarness harness) { harness.checkPoint("rootPaneCheckingEnabled"); TestWindow f = new TestWindow(); f.setRootPaneCheckingEnabled(true); JLabel c = new JLabel("Hello"); f.add(c); Component[] children = f.getComponents(); // The frame now still has 1 child, the rootPane. harness.check(children.length, 1); harness.check(children[0] instanceof JRootPane); // Instead, the add has gone to the contentPane which now also has 1 child, // the label. Component[] content = f.getContentPane().getComponents(); harness.check(content.length, 1); harness.check(content[0], c); } /** * Checks the behaviour with rootPaneCheckingEnabled==false. Adds to the frame * should go directly to the frame. * * @param harness the test harness to use */ private void testRootPaneCheckingDisabled(TestHarness harness) { harness.checkPoint("rootPaneCheckingDisabled"); TestWindow f = new TestWindow(); f.setRootPaneCheckingEnabled(false); JLabel c = new JLabel("Hello"); f.add(c); Component[] children = f.getComponents(); // The frame now has 2 children, the rootPane and the label. harness.check(children.length, 2); harness.check(children[0] instanceof JRootPane); harness.check(children[1], c); } } mauve-20140821/gnu/testlet/javax/swing/JDialog/0000755000175000001440000000000012375316426020004 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JDialog/isRootPaneCheckingEnabled.java0000644000175000001440000000621710333737517025647 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2004 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JDialog; import java.awt.Component; import javax.swing.JDialog; import javax.swing.JLabel; import javax.swing.JRootPane; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class isRootPaneCheckingEnabled implements Testlet { /** * Overrides some protected methods to make them public for testing. * * @author Roman Kennke (kennke@aicas.com) */ class TestDialog extends JDialog { public boolean isRootPaneCheckingEnabled() { return super.isRootPaneCheckingEnabled(); } public void setRootPaneCheckingEnabled(boolean b) { super.setRootPaneCheckingEnabled(b); } } /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testRootPaneCheckingEnabled(harness); testRootPaneCheckingDisabled(harness); } /** * Checks the behaviour with rootPaneCheckingEnabled==true. Adds to the frame * should go to the contentPane. * * @param harness the test harness to use */ private void testRootPaneCheckingEnabled(TestHarness harness) { harness.checkPoint("rootPaneCheckingEnabled"); TestDialog f = new TestDialog(); f.setRootPaneCheckingEnabled(true); JLabel c = new JLabel("Hello"); f.add(c); Component[] children = f.getComponents(); // The frame now still has 1 child, the rootPane. harness.check(children.length, 1); harness.check(children[0] instanceof JRootPane); // Instead, the add has gone to the contentPane which now also has 1 child, // the label. Component[] content = f.getContentPane().getComponents(); harness.check(content.length, 1); harness.check(content[0], c); } /** * Checks the behaviour with rootPaneCheckingEnabled==false. Adds to the frame * should go directly to the frame. * * @param harness the test harness to use */ private void testRootPaneCheckingDisabled(TestHarness harness) { harness.checkPoint("rootPaneCheckingDisabled"); TestDialog f = new TestDialog(); f.setRootPaneCheckingEnabled(false); JLabel c = new JLabel("Hello"); f.add(c); Component[] children = f.getComponents(); // The frame now has 2 children, the rootPane and the label. harness.check(children.length, 2); harness.check(children[0] instanceof JRootPane); harness.check(children[1], c); } } mauve-20140821/gnu/testlet/javax/swing/JDialog/setDefaultCloseOperation.java0000644000175000001440000000442310255632623025614 0ustar dokousers//Tags: JDK1.2 GUI //Copyright (C) 2005 Robert Schuster //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JDialog; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.JDialog; /** *

    This tests whether setDefaultCloseOperation() accepts all * kinds of values whether they are senseful or not.

    * *

    This triggered GNU Classpath bug #12205.

    * *

    TODO: One could make a graphical test for this. For invalid * values the behavior should be like DO_NOTHING_ON_CLOSE

    */ public class setDefaultCloseOperation implements Testlet { public void test(TestHarness harness) { JDialog dialog = new JDialog(); harness.checkPoint("default value"); harness.check(dialog.getDefaultCloseOperation(), JDialog.HIDE_ON_CLOSE); harness.checkPoint("valid values"); dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); harness.check(dialog.getDefaultCloseOperation(), JDialog.DISPOSE_ON_CLOSE); dialog.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE); harness.check(dialog.getDefaultCloseOperation(), JDialog.DO_NOTHING_ON_CLOSE); dialog.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE); harness.check(dialog.getDefaultCloseOperation(), JDialog.HIDE_ON_CLOSE); harness.checkPoint("invalid values"); dialog.setDefaultCloseOperation(JDialog.EXIT_ON_CLOSE); harness.check(dialog.getDefaultCloseOperation(), JDialog.EXIT_ON_CLOSE); // meaningless number final int SOME_RANDOM = 434323423; dialog.setDefaultCloseOperation(SOME_RANDOM); harness.check(dialog.getDefaultCloseOperation(), SOME_RANDOM); } } mauve-20140821/gnu/testlet/javax/swing/UIManager/0000755000175000001440000000000012375316426020303 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/UIManager/getCrossPlatformLookAndFeelClassName.java0000644000175000001440000000262410302625140030263 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.UIManager; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.UIManager; /** * Tests the getCrossPlatformLookAndFeelClassName() method in the * {@link UIManager} class. */ public class getCrossPlatformLookAndFeelClassName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.check(UIManager.getCrossPlatformLookAndFeelClassName(), "javax.swing.plaf.metal.MetalLookAndFeel"); } } mauve-20140821/gnu/testlet/javax/swing/UIManager/addAuxiliaryLookAndFeel.java0000644000175000001440000000351410302625140025615 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.UIManager; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.LookAndFeel; import javax.swing.UIManager; /** * Tests the addAuxiliaryLookAndFeel() method in the {@link UIManager} class. */ public class addAuxiliaryLookAndFeel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { LookAndFeel laf = new MyLookAndFeel(); harness.check(UIManager.getAuxiliaryLookAndFeels(), null); UIManager.addAuxiliaryLookAndFeel(laf); LookAndFeel[] auxLafs = UIManager.getAuxiliaryLookAndFeels(); harness.check(auxLafs.length, 1); harness.check(auxLafs[0], laf); UIManager.removeAuxiliaryLookAndFeel(laf); // clean up // try adding a null LAF boolean pass = false; try { UIManager.addAuxiliaryLookAndFeel(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/UIManager/getUI.java0000644000175000001440000000375111015022010022136 0ustar dokousers// Tags: JDK1.2 // Uses: MyLookAndFeel TestLabelUI // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.UIManager; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JLabel; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.LabelUI; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the getUI() method in the * {@link UIManager} class. */ public class getUI implements Testlet { class TestLabel extends JLabel { public void setUI(LabelUI ui) { // Overridden for test. } } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { try { UIManager.setLookAndFeel(new MyLookAndFeel()); } catch (Exception ex) { harness.fail(ex.getMessage()); } TestLabel l = new TestLabel(); UIManager.getUI(l); harness.check(TestLabelUI.installUICalled, false); // restore a sane look and feel try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } } } mauve-20140821/gnu/testlet/javax/swing/UIManager/getBorder.java0000644000175000001440000000523710477564544023101 0ustar dokousers/* getBorder.java -- some checks for the getBorder() methods in the UIManager class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.UIManager; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Locale; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.Border; import javax.swing.border.EmptyBorder; import javax.swing.plaf.metal.MetalLookAndFeel; public class getBorder implements Testlet { public void test(TestHarness harness) { try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("(Object)"); harness.check(UIManager.getBorder("Button.border") instanceof Border); UIManager.put("Button.border", new EmptyBorder(1, 1, 1, 1)); harness.check(UIManager.getBorder("Button.border") instanceof EmptyBorder); UIManager.put("Button.border", null); harness.check(UIManager.getBorder("Button.border") instanceof Border); // check an item that is not a border - it should return null harness.check(UIManager.getBorder("ScrollBar.darkShadow"), null); // check an item that doesn't exist - it should return null harness.check(UIManager.getBorder("XXXXXXXXXXXXXXXXX"), null); // try null boolean pass = false; try { UIManager.getBorder(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void test2(TestHarness harness) { harness.checkPoint("(Object, Locale)"); // try null boolean pass = false; try { UIManager.getBorder(null, Locale.getDefault()); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/UIManager/getFont.java0000644000175000001440000000523310477564544022566 0ustar dokousers/* getFont.java -- some checks for the getFont() methods in the UIManager class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.UIManager; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Font; import java.util.Locale; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.FontUIResource; import javax.swing.plaf.metal.MetalLookAndFeel; public class getFont implements Testlet { public void test(TestHarness harness) { try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("(Object)"); harness.check(UIManager.getFont("Button.font") instanceof FontUIResource); UIManager.put("Button.font", new Font("Dialog", Font.BOLD, 7)); harness.check(UIManager.getFont("Button.font"), new Font("Dialog", Font.BOLD, 7)); UIManager.put("Button.font", null); harness.check(UIManager.getFont("Button.font") instanceof FontUIResource); // check an item that is not a font - it should return null harness.check(UIManager.getFont("Button.border"), null); // check an item that doesn't exist - it should return null harness.check(UIManager.getFont("XXXXXXXXXXXXXXXXX"), null); // try null boolean pass = false; try { UIManager.getFont(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void test2(TestHarness harness) { harness.checkPoint("(Object, Locale)"); // try null boolean pass = false; try { UIManager.getFont(null, Locale.getDefault()); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/UIManager/getDimension.java0000644000175000001440000000535610477564544023613 0ustar dokousers/* getDimension.java -- some checks for the getDimension() methods in the UIManager class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.UIManager; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Dimension; import java.util.Locale; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.metal.MetalLookAndFeel; public class getDimension implements Testlet { public void test(TestHarness harness) { try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("(Object)"); harness.check(UIManager.getDimension("ScrollBar.minimumThumbSize"), new Dimension(8, 8)); UIManager.put("ScrollBar.minimumThumbSize", new Dimension(1, 2)); harness.check(UIManager.getDimension("ScrollBar.minimumThumbSize"), new Dimension(1, 2)); UIManager.put("ScrollBar.minimumThumbSize", null); harness.check(UIManager.getDimension("ScrollBar.minimumThumbSize"), new Dimension(8, 8)); // check an item that is not a dimension - it should return null harness.check(UIManager.getDimension("Button.border"), null); // check an item that doesn't exist - it should return null harness.check(UIManager.getDimension("XXXXXXXXXXXXXXXXX"), null); // try null boolean pass = false; try { UIManager.getDimension(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void test2(TestHarness harness) { harness.checkPoint("(Object, Locale)"); // try null boolean pass = false; try { UIManager.getDimension(null, Locale.getDefault()); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/UIManager/getLookAndFeelDefaults.java0000644000175000001440000000352110302625140025442 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.UIManager; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.UIDefaults; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Tests the getLookAndFeelDefaults() method in the * {@link UIManager} class. */ public class getLookAndFeelDefaults implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { try { UIManager.setLookAndFeel(new MetalLookAndFeel()); // here I'm checking that the same object is returned from subsequent // calls - because it seems obvious that the UIDefaults are cached UIDefaults d1 = UIManager.getLookAndFeelDefaults(); UIDefaults d2 = UIManager.getLookAndFeelDefaults(); harness.check(d1 == d2); } catch (UnsupportedLookAndFeelException e) { harness.fail(e.toString()); } } } mauve-20140821/gnu/testlet/javax/swing/UIManager/removeAuxiliaryLookAndFeel.java0000644000175000001440000000663710302625140026373 0ustar dokousers// Tags: JDK1.4 // Uses: MyLookAndFeel // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.UIManager; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.LookAndFeel; import javax.swing.UIManager; /** * Tests the removeAuxiliaryLookAndFeel() method in the {@link UIManager} class. */ public class removeAuxiliaryLookAndFeel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); } private void test1(TestHarness harness) { LookAndFeel laf = new MyLookAndFeel(); harness.check(UIManager.getAuxiliaryLookAndFeels(), null); UIManager.addAuxiliaryLookAndFeel(laf); LookAndFeel[] auxLafs = UIManager.getAuxiliaryLookAndFeels(); harness.check(auxLafs.length, 1); harness.check(auxLafs[0], laf); boolean b = UIManager.removeAuxiliaryLookAndFeel(laf); harness.check(b, true); harness.check(UIManager.getAuxiliaryLookAndFeels(), null); // try removing a null LAF boolean pass = true; try { b = UIManager.removeAuxiliaryLookAndFeel(null); } catch (NullPointerException e) { pass = false; } harness.check(pass); harness.check(b, false); } /** * Here we check that removing a LAF preserves the order of the remaining * LAFs. * * @param harness */ private void test2(TestHarness harness) { harness.checkPoint("test2"); // first check that we are starting with 0 auxiliary LAFs harness.check(UIManager.getAuxiliaryLookAndFeels(), null); LookAndFeel laf1 = new MyLookAndFeel(); LookAndFeel laf2 = new MyLookAndFeel(); LookAndFeel laf3 = new MyLookAndFeel(); LookAndFeel laf4 = new MyLookAndFeel(); UIManager.addAuxiliaryLookAndFeel(laf1); UIManager.addAuxiliaryLookAndFeel(laf2); UIManager.addAuxiliaryLookAndFeel(laf3); UIManager.addAuxiliaryLookAndFeel(laf4); UIManager.removeAuxiliaryLookAndFeel(laf2); LookAndFeel[] lafs = UIManager.getAuxiliaryLookAndFeels(); harness.check(lafs[0], laf1); harness.check(lafs[1], laf3); harness.check(lafs[2], laf4); UIManager.removeAuxiliaryLookAndFeel(laf1); lafs = UIManager.getAuxiliaryLookAndFeels(); harness.check(lafs[0], laf3); harness.check(lafs[1], laf4); UIManager.removeAuxiliaryLookAndFeel(laf4); lafs = UIManager.getAuxiliaryLookAndFeels(); harness.check(lafs[0], laf3); UIManager.removeAuxiliaryLookAndFeel(laf3); lafs = UIManager.getAuxiliaryLookAndFeels(); harness.check(lafs, null); } } mauve-20140821/gnu/testlet/javax/swing/UIManager/getDefaults.java0000644000175000001440000000343710302625140023404 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.UIManager; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.UIDefaults; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Tests the getDefaults() method in the {@link UIManager} class. */ public class getDefaults implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { try { UIManager.setLookAndFeel(new MetalLookAndFeel()); // here I'm checking that the same object is returned from subsequent // calls - because it seems obvious that the UIDefaults are cached UIDefaults d1 = UIManager.getDefaults(); UIDefaults d2 = UIManager.getDefaults(); harness.check(d1 == d2); } catch (UnsupportedLookAndFeelException e) { harness.fail(e.toString()); } } } mauve-20140821/gnu/testlet/javax/swing/UIManager/MyLookAndFeel.java0000644000175000001440000000301410325211554023562 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.UIManager; import javax.swing.LookAndFeel; import javax.swing.UIDefaults; /** * A minimal look and feel class for use in testing. */ public class MyLookAndFeel extends LookAndFeel { public MyLookAndFeel() { } public String getDescription() { return "MyLookAndFeel Description"; } public String getID() { return "MyLookAndFeel ID"; } public String getName() { return "MyLookAndFeel Name"; } public boolean isNativeLookAndFeel() { return false; } public boolean isSupportedLookAndFeel() { return true; } public UIDefaults getDefaults() { UIDefaults def = new UIDefaults(); def.put("LabelUI", "gnu.testlet.javax.swing.UIManager.TestLabelUI"); return def; } } mauve-20140821/gnu/testlet/javax/swing/UIManager/TestLabelUI.java0000644000175000001440000000233310325211554023251 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 Roman Kennke (kennke@aicas.com) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.UIManager; import javax.swing.JComponent; import javax.swing.plaf.ComponentUI; import javax.swing.plaf.LabelUI; /** * A minimal UI for JLabel for testing. */ public class TestLabelUI extends LabelUI { static boolean installUICalled = false; public void installUI(JComponent c) { super.installUI(c); installUICalled = true; } public static ComponentUI createUI(JComponent c) { return new TestLabelUI(); } } mauve-20140821/gnu/testlet/javax/swing/UIManager/LookAndFeelInfo/0000755000175000001440000000000012375316426023242 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/UIManager/LookAndFeelInfo/constructor.java0000644000175000001440000000321310302626176026463 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.UIManager.LookAndFeelInfo; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.UIManager.LookAndFeelInfo; /** * Tests the constructor for the {@link LookAndFeelInfo} class. */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { LookAndFeelInfo lafi = new LookAndFeelInfo("name", "class.name"); harness.check(lafi.getName(), "name"); harness.check(lafi.getClassName(), "class.name"); // try null name lafi = new LookAndFeelInfo(null, "class.name"); harness.check(lafi.getName(), null); // try null class lafi = new LookAndFeelInfo("name", null); harness.check(lafi.getClassName(), null); } } mauve-20140821/gnu/testlet/javax/swing/UIManager/getPropertyChangeListeners.java0000644000175000001440000000363210366770162026474 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005, 2006 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.UIManager; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.UIManager; /** * Tests the getPropertyChangeListeners() method in the {@link UIManager} class. */ public class getPropertyChangeListeners implements Testlet, PropertyChangeListener { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // check that there are no listeners PropertyChangeListener[] listeners = UIManager.getPropertyChangeListeners(); int count = listeners.length; // now add a listener UIManager.addPropertyChangeListener(this); listeners = UIManager.getPropertyChangeListeners();; harness.check(listeners.length, count + 1); harness.check(listeners[count], this); } public void propertyChange(PropertyChangeEvent e) { // do nothing - there are tests elsewhere that will verify that the event // is actually called } } mauve-20140821/gnu/testlet/javax/swing/UIManager/getAuxiliaryLookAndFeels.java0000644000175000001440000000320310302625140026022 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.UIManager; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.LookAndFeel; import javax.swing.UIManager; /** * Some checks for the getAuxiliaryLookAndFeels() method in the * {@link UIManager} class. */ public class getAuxiliaryLookAndFeels implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { LookAndFeel[] lafs = UIManager.getAuxiliaryLookAndFeels(); harness.check(lafs, null); LookAndFeel laf = new MyLookAndFeel(); UIManager.addAuxiliaryLookAndFeel(laf); lafs = UIManager.getAuxiliaryLookAndFeels(); harness.check(lafs.length, 1); harness.check(lafs[0], laf); UIManager.removeAuxiliaryLookAndFeel(laf); } } mauve-20140821/gnu/testlet/javax/swing/UIManager/getInsets.java0000644000175000001440000000527510477564544023133 0ustar dokousers/* getInsets.java -- some checks for the getInsets() methods in the UIManager class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.UIManager; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Insets; import java.util.Locale; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.InsetsUIResource; import javax.swing.plaf.metal.MetalLookAndFeel; public class getInsets implements Testlet { public void test(TestHarness harness) { try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("(Object)"); harness.check(UIManager.getInsets("Button.margin") instanceof InsetsUIResource); UIManager.put("Button.margin", new Insets(1, 2, 3, 4)); harness.check(UIManager.getInsets("Button.margin"), new Insets(1, 2, 3, 4)); UIManager.put("Button.margin", null); harness.check(UIManager.getInsets("Button.margin") instanceof InsetsUIResource); // check an item that is not an Insets - it should return null harness.check(UIManager.getInsets("Button.border"), null); // check an item that doesn't exist - it should return null harness.check(UIManager.getInsets("XXXXXXXXXXXXXXXXX"), null); // try null boolean pass = false; try { UIManager.getInsets(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void test2(TestHarness harness) { harness.checkPoint("(Object, Locale)"); // try null boolean pass = false; try { UIManager.getInsets(null, Locale.getDefault()); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/UIManager/getInt.java0000644000175000001440000000502310477564544022407 0ustar dokousers/* getInt.java -- some checks for the getInt() methods in the UIManager class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.UIManager; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Locale; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.metal.MetalLookAndFeel; public class getInt implements Testlet { public void test(TestHarness harness) { try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("(Object)"); harness.check(UIManager.getInt("Button.textIconGap"), 4); UIManager.put("Button.textIconGap", new Integer(999)); harness.check(UIManager.getInt("Button.textIconGap"), 999); UIManager.put("Button.textIconGap", null); harness.check(UIManager.getInt("Button.textIconGap"), 4); // check an item that is not a boolean - it should return false harness.check(UIManager.getInt("ScrollBar.darkShadow"), 0); // check an item that doesn't exist - it should return false harness.check(UIManager.getInt("XXXXXXXXXXXXXXXXX"), 0); // try null boolean pass = false; try { UIManager.getInt(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void test2(TestHarness harness) { harness.checkPoint("(Object, Locale)"); // try null boolean pass = false; try { UIManager.getInt(null, Locale.getDefault()); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/UIManager/getString.java0000644000175000001440000000522710477564544023131 0ustar dokousers/* getString.java -- some checks for the getString() methods in the UIManager class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.UIManager; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Locale; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.metal.MetalLookAndFeel; public class getString implements Testlet { public void test(TestHarness harness) { try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("(Object)"); harness.check(UIManager.getString("OptionPane.errorSound"), "sounds/OptionPaneError.wav"); UIManager.put("OptionPane.errorSound", "ABC"); harness.check(UIManager.getString("OptionPane.errorSound"), "ABC"); UIManager.put("OptionPane.errorSound", null); harness.check(UIManager.getString("OptionPane.errorSound"), "sounds/OptionPaneError.wav"); // check an item that is not a String - it should return null harness.check(UIManager.getString("ScrollBar.darkShadow"), null); // check an item that doesn't exist - it should return null harness.check(UIManager.getString("XXXXXXXXXXXXXXXXX"), null); // try null boolean pass = false; try { UIManager.getString(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void test2(TestHarness harness) { harness.checkPoint("(Object, Locale)"); // try null boolean pass = false; try { UIManager.getString(null, Locale.getDefault()); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/UIManager/addPropertyChangeListener.java0000644000175000001440000000406510366770162026263 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005, 2006 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.swing.UIManager; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.UIManager; /** * Tests the addPropertyChangeListener() method in the {@link UIManager} class. */ public class addPropertyChangeListener implements Testlet, PropertyChangeListener { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // check that there are no listeners PropertyChangeListener[] listeners = UIManager.getPropertyChangeListeners(); int count = listeners.length; // now add a listener UIManager.addPropertyChangeListener(this); listeners = UIManager.getPropertyChangeListeners();; harness.check(listeners.length, count + 1); harness.check(listeners[count], this); // try adding a null listener - it gets silently ignored UIManager.addPropertyChangeListener(null); harness.check(listeners.length, count + 1); } public void propertyChange(PropertyChangeEvent e) { // do nothing - there are tests elsewhere that will verify that the event // is actually called } } mauve-20140821/gnu/testlet/javax/swing/UIManager/getColor.java0000644000175000001440000000524710477564544022743 0ustar dokousers/* getColor.java -- some checks for the getColor() methods in the UIManager class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.UIManager; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.util.Locale; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.metal.MetalLookAndFeel; public class getColor implements Testlet { public void test(TestHarness harness) { try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("(Object)"); harness.check(UIManager.getColor("Button.background") instanceof ColorUIResource); UIManager.put("Button.background", Color.red); harness.check(UIManager.getColor("Button.background"), Color.red); UIManager.put("Button.background", null); harness.check(UIManager.getColor("Button.background") instanceof ColorUIResource); // check an item that is not a color - it should return null harness.check(UIManager.getColor("Button.border"), null); // check an item that doesn't exist - it should return null harness.check(UIManager.getBorder("XXXXXXXXXXXXXXXXX"), null); // try null boolean pass = false; try { UIManager.getColor(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void test2(TestHarness harness) { harness.checkPoint("(Object, Locale)"); // try null boolean pass = false; try { UIManager.getColor(null, Locale.getDefault()); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/UIManager/getIcon.java0000644000175000001440000000550510477564544022552 0ustar dokousers/* getIcon.java -- some checks for the getIcon() methods in the UIManager class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.UIManager; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Locale; import javax.swing.Icon; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.metal.MetalIconFactory; import javax.swing.plaf.metal.MetalLookAndFeel; public class getIcon implements Testlet { public void test(TestHarness harness) { try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("(Object)"); harness.check(UIManager.getIcon("FileChooser.detailsViewIcon") instanceof Icon); Icon icon = MetalIconFactory.getHorizontalSliderThumbIcon(); UIManager.put("FileChooser.detailsViewIcon", icon); harness.check(UIManager.getIcon("FileChooser.detailsViewIcon"), icon); UIManager.put("FileChooser.detailsViewIcon", null); harness.check(UIManager.getIcon("FileChooser.detailsViewIcon") instanceof Icon); harness.check(UIManager.getIcon("FileChooser.detailsViewIcon") != icon); // check an item that is not a font - it should return null harness.check(UIManager.getIcon("Button.border"), null); // check an item that doesn't exist - it should return null harness.check(UIManager.getIcon("XXXXXXXXXXXXXXXXX"), null); // try null boolean pass = false; try { UIManager.getIcon(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void test2(TestHarness harness) { harness.checkPoint("(Object, Locale)"); // try null boolean pass = false; try { UIManager.getIcon(null, Locale.getDefault()); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/UIManager/getBoolean.java0000644000175000001440000000530410477564544023236 0ustar dokousers/* getBoolean.java -- some checks for the getBoolean() methods in the UIManager class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.UIManager; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Locale; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.metal.MetalLookAndFeel; public class getBoolean implements Testlet { public void test(TestHarness harness) { try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("(Object)"); harness.check(UIManager.getBoolean("ScrollBar.allowsAbsolutePositioning"), true); UIManager.put("ScrollBar.allowsAbsolutePositioning", Boolean.FALSE); harness.check(UIManager.getBoolean("ScrollBar.allowsAbsolutePositioning"), false); UIManager.put("ScrollBar.allowsAbsolutePositioning", null); harness.check(UIManager.getBoolean("ScrollBar.allowsAbsolutePositioning"), true); // check an item that is not a boolean - it should return false harness.check(UIManager.getBoolean("ScrollBar.darkShadow"), false); // check an item that doesn't exist - it should return false harness.check(UIManager.getBoolean("XXXXXXXXXXXXXXXXX"), false); // try null boolean pass = false; try { UIManager.getBoolean(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void test2(TestHarness harness) { harness.checkPoint("(Object, Locale)"); // try null boolean pass = false; try { UIManager.getBoolean(null, Locale.getDefault()); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/UIManager/setLookAndFeel.java0000644000175000001440000000506410302625140023772 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.UIManager; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.LookAndFeel; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; /** * Some checks for the setLookAndFeel() method in the * {@link UIManager} class. */ public class setLookAndFeel implements Testlet, PropertyChangeListener { public PropertyChangeEvent lastEvent = null; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { LookAndFeel laf1 = new MyLookAndFeel(); try { UIManager.addPropertyChangeListener(this); UIManager.setLookAndFeel(laf1); harness.check(UIManager.getLookAndFeel(), laf1); harness.check(this.lastEvent.getPropertyName(), "lookAndFeel"); harness.check(this.lastEvent.getSource(), UIManager.class); harness.check(this.lastEvent.getNewValue(), laf1); } catch (UnsupportedLookAndFeelException e) { harness.fail(e.toString()); } try { UIManager.setLookAndFeel((LookAndFeel) null); harness.check(UIManager.getLookAndFeel(), null); harness.check(this.lastEvent.getPropertyName(), "lookAndFeel"); harness.check(this.lastEvent.getSource(), UIManager.class); harness.check(this.lastEvent.getOldValue(), laf1); harness.check(this.lastEvent.getNewValue(), null); } catch (UnsupportedLookAndFeelException e) { harness.fail(e.toString()); } UIManager.removePropertyChangeListener(this); } public void propertyChange(PropertyChangeEvent e) { this.lastEvent = e; } } mauve-20140821/gnu/testlet/javax/swing/JTableHeader/0000755000175000001440000000000012375316426020745 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JTableHeader/getInputMap.java0000644000175000001440000000425510441520122024031 0ustar dokousers/* getInputMap.java -- some checks for the getInputMap() methods inherited by the JTableHeader class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JTableHeader; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.InputMap; import javax.swing.JComponent; import javax.swing.table.JTableHeader; /** * Checks the input maps defined for a JTabbedPane - this is really testing * the setup performed by BasicTabbedPaneUI. */ public class getInputMap implements Testlet { public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("()"); JTableHeader th = new JTableHeader(); InputMap m1 = th.getInputMap(); InputMap m2 = th.getInputMap(JComponent.WHEN_FOCUSED); harness.check(m1 == m2); } public void testMethod2(TestHarness harness) { harness.checkPoint("(int)"); JTableHeader th = new JTableHeader(); InputMap m1 = th.getInputMap(JComponent.WHEN_FOCUSED); harness.check(m1.keys(), null); harness.check(m1.getParent(), null); InputMap m2 = th.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); harness.check(m2.keys(), null); harness.check(m2.getParent(), null); InputMap m3 = th.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW); harness.check(m3.keys(), null); harness.check(m3.getParent(), null); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListModel/0000755000175000001440000000000012375316426021674 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/DefaultListModel/isEmpty.java0000644000175000001440000000276410173223405024166 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultListModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListModel; /** * Some tests for the isEmpty() method in the {@link DefaultListModel} class. */ public class isEmpty implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("isEmpty()"); DefaultListModel m1 = new DefaultListModel(); harness.check(m1.isEmpty()); m1.addElement("A"); harness.check(!m1.isEmpty()); m1.clear(); harness.check(m1.isEmpty()); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListModel/set.java0000644000175000001440000000626410202563312023323 0ustar dokousers// Tags: JDK1.2 // Uses: MyListDataListener // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultListModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListModel; import javax.swing.event.ListDataEvent; /** * Some tests for the set() method in the {@link DefaultListModel} class. */ public class set implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("set(int, Object)"); DefaultListModel m1 = new DefaultListModel(); MyListDataListener listener = new MyListDataListener(); m1.addListDataListener(listener); m1.addElement("A"); m1.addElement("B"); m1.addElement("C"); Object old = m1.set(0, "X"); harness.check(m1.get(0), "X"); harness.check(old, "A"); ListDataEvent event = listener.getEvent(); harness.check(event.getType(), ListDataEvent.CONTENTS_CHANGED); harness.check(event.getIndex0(), 0); harness.check(event.getIndex1(), 0); listener.setListDataEvent(null); old = m1.set(1, "Y"); harness.check(m1.get(1), "Y"); harness.check(old, "B"); event = listener.getEvent(); harness.check(event.getType(), ListDataEvent.CONTENTS_CHANGED); harness.check(event.getIndex0(), 1); harness.check(event.getIndex1(), 1); listener.setListDataEvent(null); old = m1.set(2, "Z"); harness.check(m1.get(2), "Z"); harness.check(old, "C"); event = listener.getEvent(); harness.check(event.getType(), ListDataEvent.CONTENTS_CHANGED); harness.check(event.getIndex0(), 2); harness.check(event.getIndex1(), 2); listener.setListDataEvent(null); old = m1.set(1, null); harness.check(m1.get(1), null); harness.check(old, "Y"); event = listener.getEvent(); harness.check(event.getType(), ListDataEvent.CONTENTS_CHANGED); harness.check(event.getIndex0(), 1); harness.check(event.getIndex1(), 1); listener.setListDataEvent(null); boolean pass = false; try { m1.set(-1, "ZZ"); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { m1.set(3, "ZZ"); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListModel/toArray.java0000644000175000001440000000314410173223405024146 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultListModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListModel; /** * Some tests for the toArray() method in the {@link DefaultListModel} class. */ public class toArray implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("toArray()"); DefaultListModel m1 = new DefaultListModel(); m1.addElement("A"); m1.addElement("B"); Object[] a1 = m1.toArray(); harness.check(a1.length, 2); harness.check(a1[0], "A"); harness.check(a1[1], "B"); m1.clear(); a1 = m1.toArray(); harness.check(a1.length, 0); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListModel/getElementAt.java0000644000175000001440000000367410173223405025113 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultListModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListModel; /** * Some tests for the getElementAt() method in the {@link DefaultListModel} class. */ public class getElementAt implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("getElementAt(int)"); DefaultListModel m1 = new DefaultListModel(); m1.addElement("A"); m1.addElement("B"); m1.addElement("C"); harness.check(m1.getElementAt(0), "A"); harness.check(m1.getElementAt(1), "B"); harness.check(m1.getElementAt(2), "C"); boolean pass = false; try { Object o = m1.getElementAt(-1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { Object o = m1.getElementAt(3); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListModel/setElementAt.java0000644000175000001440000000660110202563312025115 0ustar dokousers// Tags: JDK1.2 // Uses: MyListDataListener // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultListModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListModel; import javax.swing.event.ListDataEvent; /** * Some tests for the setElementAt() method in the {@link DefaultListModel} class. */ public class setElementAt implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("setElementAt()"); DefaultListModel m1 = new DefaultListModel(); MyListDataListener listener = new MyListDataListener(); m1.addListDataListener(listener); m1.addElement("A"); m1.addElement("B"); m1.addElement("C"); m1.setElementAt("X", 0); harness.check(m1.get(0), "X"); ListDataEvent event = listener.getEvent(); harness.check(event.getType(), ListDataEvent.CONTENTS_CHANGED); harness.check(event.getIndex0(), 0); harness.check(event.getIndex1(), 0); listener.setListDataEvent(null); m1.setElementAt("Y", 1); harness.check(m1.get(1), "Y"); event = listener.getEvent(); harness.check(event.getType(), ListDataEvent.CONTENTS_CHANGED); harness.check(event.getIndex0(), 1); harness.check(event.getIndex1(), 1); listener.setListDataEvent(null); m1.setElementAt("Z", 2); harness.check(m1.get(2), "Z"); event = listener.getEvent(); harness.check(event.getType(), ListDataEvent.CONTENTS_CHANGED); harness.check(event.getIndex0(), 2); harness.check(event.getIndex1(), 2); listener.setListDataEvent(null); m1.setElementAt("Y", 1); harness.check(m1.get(1), "Y"); event = listener.getEvent(); harness.check(event.getType(), ListDataEvent.CONTENTS_CHANGED); harness.check(event.getIndex0(), 1); harness.check(event.getIndex1(), 1); listener.setListDataEvent(null); m1.setElementAt(null, 1); harness.check(m1.get(1), null); event = listener.getEvent(); harness.check(event.getType(), ListDataEvent.CONTENTS_CHANGED); harness.check(event.getIndex0(), 1); harness.check(event.getIndex1(), 1); listener.setListDataEvent(null); boolean pass = false; try { m1.setElementAt("ZZ", -1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { m1.setElementAt("ZZ", 99); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListModel/copyInto.java0000644000175000001440000000406110173223405024330 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultListModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListModel; /** * Some tests for the copyInto() method in the {@link DefaultListModel} class. */ public class copyInto implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("copyInto(Object[])"); DefaultListModel m1 = new DefaultListModel(); m1.addElement("A"); m1.addElement(null); m1.addElement("C"); Object[] dest = new Object[3]; m1.copyInto(dest); harness.check(dest[0], "A"); harness.check(dest[1], null); harness.check(dest[2], "C"); boolean pass = false; dest = new Object[2]; try { m1.copyInto(dest); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { m1.copyInto(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); dest = new Object[4]; dest[3] = "X"; m1.copyInto(dest); harness.check(dest[3], "X"); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListModel/MyListDataListener.java0000644000175000001440000000302110202563312026235 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultListModel; import javax.swing.event.ListDataEvent; import javax.swing.event.ListDataListener; /** * A listener used by various tests. */ public class MyListDataListener implements ListDataListener { private ListDataEvent event; public MyListDataListener() { this.event = null; } public void intervalAdded(ListDataEvent e) { this.event = e; } public void intervalRemoved(ListDataEvent e) { this.event = e; } public void contentsChanged(ListDataEvent e) { this.event = e; } public ListDataEvent getEvent() { return this.event; } public void setListDataEvent(ListDataEvent e) { this.event = e; } } mauve-20140821/gnu/testlet/javax/swing/DefaultListModel/removeElementAt.java0000644000175000001440000000515210202563312025617 0ustar dokousers// Tags: JDK1.2 // Uses: MyListDataListener // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultListModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListModel; import javax.swing.event.ListDataEvent; /** * Some tests for the removeElementAt() method in the {@link DefaultListModel} class. */ public class removeElementAt implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("removeElementAt(int)"); DefaultListModel m1 = new DefaultListModel(); MyListDataListener listener = new MyListDataListener(); m1.addListDataListener(listener); m1.addElement("A"); m1.addElement("B"); m1.addElement("C"); m1.addElement("D"); m1.addElement("E"); m1.addElement("F"); m1.removeElementAt(2); harness.check(m1.get(2), "D"); ListDataEvent event = listener.getEvent(); harness.check(event.getType(), ListDataEvent.INTERVAL_REMOVED); harness.check(event.getIndex0(), 2); harness.check(event.getIndex1(), 2); listener.setListDataEvent(null); m1.removeElementAt(0); harness.check(m1.get(0), "B"); event = listener.getEvent(); harness.check(event.getType(), ListDataEvent.INTERVAL_REMOVED); harness.check(event.getIndex0(), 0); harness.check(event.getIndex1(), 0); listener.setListDataEvent(null); boolean pass = false; try { m1.removeElementAt(-1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { m1.removeElementAt(99); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListModel/constructor.java0000644000175000001440000000262210173223405025112 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultListModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListModel; /** * Some tests for the constructors in the {@link DefaultListModel} class. */ public class constructor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("DefaultListModel()"); DefaultListModel m1 = new DefaultListModel(); harness.check(m1.isEmpty()); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListModel/firstElement.java0000644000175000001440000000344110173223405025166 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultListModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.NoSuchElementException; import javax.swing.DefaultListModel; /** * Some tests for the firstElement() method in the {@link DefaultListModel} class. */ public class firstElement implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("firstElement()"); DefaultListModel m1 = new DefaultListModel(); m1.addElement("A"); m1.addElement("B"); m1.addElement("C"); harness.check(m1.firstElement(), "A"); m1.add(0, null); harness.check(m1.firstElement(), null); m1.clear(); boolean pass = false; try { /* Object o = */ m1.firstElement(); } catch (NoSuchElementException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListModel/getSize.java0000644000175000001440000000307410173223405024141 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultListModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListModel; /** * Some tests for the getSize() method in the {@link DefaultListModel} class. */ public class getSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("getSize()"); DefaultListModel m1 = new DefaultListModel(); harness.check(m1.getSize(), 0); m1.addElement("A"); harness.check(m1.getSize(), 1); m1.addElement("B"); harness.check(m1.getSize(), 2); m1.clear(); harness.check(m1.getSize(), 0); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListModel/size.java0000644000175000001440000000304710173223405023501 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultListModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListModel; /** * Some tests for the size() method in the {@link DefaultListModel} class. */ public class size implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("size()"); DefaultListModel m1 = new DefaultListModel(); harness.check(m1.size(), 0); m1.addElement("A"); harness.check(m1.size(), 1); m1.addElement("B"); harness.check(m1.size(), 2); m1.clear(); harness.check(m1.size(), 0); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListModel/add.java0000644000175000001440000000730210202563312023252 0ustar dokousers// Tags: JDK1.2 // Uses: MyListDataListener // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultListModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListModel; import javax.swing.event.ListDataEvent; /** * Some tests for the add() method in the {@link DefaultListModel} class. */ public class add implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("add(int, Object)"); DefaultListModel m1 = new DefaultListModel(); MyListDataListener listener = new MyListDataListener(); m1.addListDataListener(listener); boolean pass = false; try { m1.add(-1, "X"); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // 1 pass = false; try { m1.add(1, "X"); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // 2 harness.check(listener.getEvent(), null); // 3 m1.add(0, "A"); harness.check(m1.getElementAt(0).equals("A")); // 4 ListDataEvent event = listener.getEvent(); System.out.println(event); harness.check(event.getType(), ListDataEvent.INTERVAL_ADDED); // 5 harness.check(event.getIndex0(), 0); // 6 harness.check(event.getIndex1(), 0); // 7 listener.setListDataEvent(null); m1.add(1, "B"); harness.check(m1.getElementAt(1).equals("B")); event = listener.getEvent(); harness.check(event.getType(), ListDataEvent.INTERVAL_ADDED); harness.check(event.getIndex0(), 1); harness.check(event.getIndex1(), 1); listener.setListDataEvent(null); m1.add(2, "C"); harness.check(m1.getElementAt(2).equals("C")); event = listener.getEvent(); harness.check(event.getType(), ListDataEvent.INTERVAL_ADDED); harness.check(event.getIndex0(), 2); harness.check(event.getIndex1(), 2); listener.setListDataEvent(null); m1.add(0, "Z"); harness.check(m1.getElementAt(0).equals("Z")); harness.check(m1.getElementAt(3).equals("C")); event = listener.getEvent(); harness.check(event.getType(), ListDataEvent.INTERVAL_ADDED); harness.check(event.getIndex0(), 0); harness.check(event.getIndex1(), 0); listener.setListDataEvent(null); m1.add(1, "Y"); harness.check(m1.getElementAt(0).equals("Z")); harness.check(m1.getElementAt(1).equals("Y")); harness.check(m1.getElementAt(4).equals("C")); m1.add(2, null); harness.check(m1.getElementAt(0).equals("Z")); harness.check(m1.getElementAt(1).equals("Y")); harness.check(m1.getElementAt(2) == null); harness.check(m1.getElementAt(5).equals("C")); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListModel/indexOf.java0000644000175000001440000000533010173223405024120 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultListModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListModel; /** * Some tests for the indexOf() method in the {@link DefaultListModel} class. */ public class indexOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("indexOf(Object)"); DefaultListModel m1 = new DefaultListModel(); m1.addElement("A"); m1.addElement("B"); m1.addElement("C"); m1.addElement(null); m1.addElement("C"); m1.addElement("B"); m1.addElement("A"); harness.check(m1.indexOf("A"), 0); harness.check(m1.indexOf("B"), 1); harness.check(m1.indexOf("C"), 2); harness.check(m1.indexOf(null), 3); harness.check(m1.indexOf("Z"), -1); } public void test2(TestHarness harness) { harness.checkPoint("indexOf(Object, int)"); DefaultListModel m1 = new DefaultListModel(); m1.addElement("A"); m1.addElement("B"); m1.addElement("C"); m1.addElement(null); m1.addElement("C"); m1.addElement("B"); m1.addElement("A"); harness.check(m1.indexOf("A", 0), 0); harness.check(m1.indexOf("A", 1), 6); harness.check(m1.indexOf("B", 0), 1); harness.check(m1.indexOf("B", 1), 1); harness.check(m1.indexOf("B", 2), 5); harness.check(m1.indexOf(null, 0), 3); harness.check(m1.indexOf(null, 3), 3); harness.check(m1.indexOf(null, 4), -1); harness.check(m1.indexOf("Z", 0), -1); harness.check(m1.indexOf("Z", 99), -1); boolean pass = false; try { int i = m1.indexOf("Z", -1); } catch (IndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListModel/lastElement.java0000644000175000001440000000343710173223405025007 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultListModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.NoSuchElementException; import javax.swing.DefaultListModel; /** * Some tests for the lastElement() method in the {@link DefaultListModel} class. */ public class lastElement implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("lastElement()"); DefaultListModel m1 = new DefaultListModel(); m1.addElement("A"); m1.addElement("B"); m1.addElement("C"); harness.check(m1.lastElement(), "C"); m1.addElement(null); harness.check(m1.lastElement(), null); m1.clear(); boolean pass = false; try { /* Object o = */ m1.lastElement(); } catch (NoSuchElementException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListModel/setSize.java0000644000175000001440000000506310202563312024152 0ustar dokousers// Tags: JDK1.2 // Uses: MyListDataListener // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultListModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListModel; import javax.swing.event.ListDataEvent; /** * Some tests for the setSize() method in the {@link DefaultListModel} class. */ public class setSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("setSize(int)"); DefaultListModel m1 = new DefaultListModel(); MyListDataListener listener = new MyListDataListener(); m1.addListDataListener(listener); m1.addElement("A"); m1.addElement("B"); m1.addElement("C"); m1.setSize(5); harness.check(m1.size(), 5); // 1 harness.check(m1.getElementAt(3), null); // 2 harness.check(m1.getElementAt(4), null); // 3 ListDataEvent event = listener.getEvent(); harness.check(event.getType(), ListDataEvent.INTERVAL_ADDED); // 4 harness.check(event.getIndex0(), 3); // 5 harness.check(event.getIndex1(), 4); // 6 listener.setListDataEvent(null); m1.setSize(2); harness.check(m1.size(), 2); // 7 harness.check(m1.getElementAt(0), "A"); // 8 harness.check(m1.getElementAt(1), "B"); // 9 event = listener.getEvent(); harness.check(event.getType(), ListDataEvent.INTERVAL_REMOVED); // 10 harness.check(event.getIndex0(), 2); // 11 harness.check(event.getIndex1(), 4); // 12 listener.setListDataEvent(null); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListModel/capacity.java0000644000175000001440000000265610173223405024331 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultListModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListModel; /** * Some tests for the capacity() method in the {@link DefaultListModel} class. */ public class capacity implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("capacity()"); DefaultListModel m1 = new DefaultListModel(); m1.ensureCapacity(99); harness.check(m1.capacity() >= 99); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListModel/lastIndexOf.java0000644000175000001440000000545110173223405024750 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultListModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListModel; /** * Some tests for the lastIndexOf() method in the {@link DefaultListModel} class. */ public class lastIndexOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("lastIndexOf(Object)"); DefaultListModel m1 = new DefaultListModel(); m1.addElement("A"); m1.addElement("B"); m1.addElement("C"); m1.addElement(null); m1.addElement("C"); m1.addElement("B"); m1.addElement("A"); harness.check(m1.lastIndexOf("A"), 6); harness.check(m1.lastIndexOf("B"), 5); harness.check(m1.lastIndexOf("C"), 4); harness.check(m1.lastIndexOf(null), 3); harness.check(m1.lastIndexOf("Z"), -1); } public void test2(TestHarness harness) { harness.checkPoint("lastIndexOf(Object, int)"); DefaultListModel m1 = new DefaultListModel(); m1.addElement("A"); m1.addElement("B"); m1.addElement("C"); m1.addElement(null); m1.addElement("C"); m1.addElement("B"); m1.addElement("A"); harness.check(m1.lastIndexOf("A", 6), 6); harness.check(m1.lastIndexOf("A", 5), 0); harness.check(m1.lastIndexOf("B", 6), 5); harness.check(m1.lastIndexOf("B", 5), 5); harness.check(m1.lastIndexOf("B", 4), 1); harness.check(m1.lastIndexOf(null, 4), 3); harness.check(m1.lastIndexOf(null, 3), 3); harness.check(m1.lastIndexOf(null, 2), -1); harness.check(m1.lastIndexOf("Z", 0), -1); harness.check(m1.lastIndexOf("Z", -1), -1); boolean pass = false; try { int i = m1.lastIndexOf("Z", 99); } catch (IndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListModel/elementAt.java0000644000175000001440000000366410173223405024452 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultListModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListModel; /** * Some tests for the elementAt() method in the {@link DefaultListModel} class. */ public class elementAt implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("elementAt(int)"); DefaultListModel m1 = new DefaultListModel(); m1.addElement("A"); m1.addElement(null); m1.addElement("C"); harness.check(m1.elementAt(0), "A"); harness.check(m1.elementAt(1), null); harness.check(m1.elementAt(2), "C"); boolean pass = false; try { /* Object o = */ m1.elementAt(-1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { /* Object o = */ m1.elementAt(999); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListModel/trimToSize.java0000644000175000001440000000312010173223405024630 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultListModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListModel; /** * Some tests for the trimToSize() method in the {@link DefaultListModel} class. */ public class trimToSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("trimToSize()"); DefaultListModel m1 = new DefaultListModel(); m1.addElement("A"); m1.addElement("B"); m1.trimToSize(); harness.check(m1.capacity(), 2); DefaultListModel m2 = new DefaultListModel(); m2.trimToSize(); harness.check(m2.capacity(), 0); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListModel/removeRange.java0000644000175000001440000000447410202563312025003 0ustar dokousers// Tags: JDK1.2 // Uses: MyListDataListener // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultListModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListModel; import javax.swing.event.ListDataEvent; /** * Some tests for the removeRange() method in the {@link DefaultListModel} class. */ public class removeRange implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("removeRange(int, int)"); DefaultListModel m1 = new DefaultListModel(); MyListDataListener listener = new MyListDataListener(); m1.addListDataListener(listener); m1.addElement("A"); m1.addElement("B"); m1.addElement("C"); m1.addElement("D"); m1.addElement("E"); m1.addElement("F"); m1.removeRange(0, 1); harness.check(m1.size(), 4); ListDataEvent event = listener.getEvent(); harness.check(event.getType(), ListDataEvent.INTERVAL_REMOVED); harness.check(event.getIndex0(), 0); harness.check(event.getIndex1(), 1); listener.setListDataEvent(null); boolean pass = false; try { m1.removeRange(1, 0); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); pass = false; try { m1.removeRange(-1, 0); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListModel/insertElementAt.java0000644000175000001440000000707610202563312025635 0ustar dokousers// Tags: JDK1.2 // Uses: MyListDataListener // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultListModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListModel; import javax.swing.event.ListDataEvent; /** * Some tests for the insertElementAt() method in the {@link DefaultListModel} class. */ public class insertElementAt implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("insertElementAt(int, Object)"); DefaultListModel m1 = new DefaultListModel(); MyListDataListener listener = new MyListDataListener(); m1.addListDataListener(listener); boolean pass = false; try { m1.insertElementAt("X", -1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { m1.insertElementAt("X", 1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); m1.insertElementAt("A", 0); harness.check(m1.getElementAt(0).equals("A")); ListDataEvent event = listener.getEvent(); harness.check(event.getType(), ListDataEvent.INTERVAL_ADDED); harness.check(event.getIndex0(), 0); harness.check(event.getIndex1(), 0); listener.setListDataEvent(null); m1.insertElementAt("B", 1); harness.check(m1.getElementAt(1).equals("B")); event = listener.getEvent(); harness.check(event.getType(), ListDataEvent.INTERVAL_ADDED); harness.check(event.getIndex0(), 1); harness.check(event.getIndex1(), 1); listener.setListDataEvent(null); m1.insertElementAt("C", 2); harness.check(m1.getElementAt(2).equals("C")); event = listener.getEvent(); harness.check(event.getType(), ListDataEvent.INTERVAL_ADDED); harness.check(event.getIndex0(), 2); harness.check(event.getIndex1(), 2); listener.setListDataEvent(null); m1.insertElementAt("Z", 0); harness.check(m1.getElementAt(0).equals("Z")); harness.check(m1.getElementAt(3).equals("C")); event = listener.getEvent(); harness.check(event.getType(), ListDataEvent.INTERVAL_ADDED); harness.check(event.getIndex0(), 0); harness.check(event.getIndex1(), 0); listener.setListDataEvent(null); m1.insertElementAt("Y", 1); harness.check(m1.getElementAt(0).equals("Z")); harness.check(m1.getElementAt(1).equals("Y")); harness.check(m1.getElementAt(4).equals("C")); m1.insertElementAt(null, 2); harness.check(m1.getElementAt(0).equals("Z")); harness.check(m1.getElementAt(1).equals("Y")); harness.check(m1.getElementAt(2) == null); harness.check(m1.getElementAt(5).equals("C")); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListModel/ensureCapacity.java0000644000175000001440000000270010173223405025501 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultListModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListModel; /** * Some tests for the ensureCapacity() method in the {@link DefaultListModel} class. */ public class ensureCapacity implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("ensureCapacity()"); DefaultListModel m1 = new DefaultListModel(); m1.ensureCapacity(99); harness.check(m1.capacity() >= 99); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListModel/elements.java0000644000175000001440000000334710173223405024346 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultListModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Enumeration; import javax.swing.DefaultListModel; /** * Some tests for the elements() method in the {@link DefaultListModel} class. */ public class elements implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("elements()"); DefaultListModel m1 = new DefaultListModel(); Enumeration e = m1.elements(); harness.check(!e.hasMoreElements()); m1.addElement("A"); m1.addElement("B"); m1.addElement("C"); e = m1.elements(); harness.check(e.nextElement(), "A"); harness.check(e.nextElement(), "B"); harness.check(e.nextElement(), "C"); harness.check(!e.hasMoreElements()); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListModel/contains.java0000644000175000001440000000317410173223405024346 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultListModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListModel; /** * Some tests for the contains() method in the {@link DefaultListModel} class. */ public class contains implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("contains(Object)"); DefaultListModel m1 = new DefaultListModel(); m1.addElement("A"); m1.addElement("B"); harness.check(m1.contains("A")); harness.check(m1.contains("B")); harness.check(!m1.contains("C")); harness.check(!m1.contains(null)); m1.addElement(null); harness.check(m1.contains(null)); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListModel/remove.java0000644000175000001440000000514710202563312024024 0ustar dokousers// Tags: JDK1.2 // Uses: MyListDataListener // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultListModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListModel; import javax.swing.event.ListDataEvent; /** * Some tests for the remove() method in the {@link DefaultListModel} class. */ public class remove implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("remove(int)"); DefaultListModel m1 = new DefaultListModel(); MyListDataListener listener = new MyListDataListener(); m1.addListDataListener(listener); m1.addElement("A"); m1.addElement("B"); m1.addElement("C"); m1.addElement("D"); m1.addElement("E"); m1.addElement("F"); Object removed = m1.remove(2); harness.check(m1.get(2), "D"); harness.check(removed, "C"); ListDataEvent event = listener.getEvent(); harness.check(event.getType(), ListDataEvent.INTERVAL_REMOVED); harness.check(event.getIndex0(), 2); harness.check(event.getIndex1(), 2); listener.setListDataEvent(null); removed = m1.remove(0); harness.check(m1.get(0), "B"); harness.check(removed, "A"); event = listener.getEvent(); harness.check(event.getType(), ListDataEvent.INTERVAL_REMOVED); harness.check(event.getIndex0(), 0); harness.check(event.getIndex1(), 0); boolean pass = false; try { m1.remove(-1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { m1.remove(m1.size()); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListModel/get.java0000644000175000001440000000356410173223405023312 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultListModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListModel; /** * Some tests for the get() method in the {@link DefaultListModel} class. */ public class get implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("get(int)"); DefaultListModel m1 = new DefaultListModel(); m1.addElement("A"); m1.addElement("B"); m1.addElement("C"); harness.check(m1.get(0), "A"); harness.check(m1.get(1), "B"); harness.check(m1.get(2), "C"); boolean pass = false; try { Object o = m1.get(-1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { Object o = m1.get(3); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListModel/clear.java0000644000175000001440000000367310202563312023617 0ustar dokousers// Tags: JDK1.2 // Uses: MyListDataListener // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultListModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListModel; import javax.swing.event.ListDataEvent; /** * Some tests for the clear() method in the {@link DefaultListModel} class. */ public class clear implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("clear()"); DefaultListModel m1 = new DefaultListModel(); MyListDataListener listener = new MyListDataListener(); m1.addListDataListener(listener); m1.addElement("A"); m1.addElement("B"); m1.clear(); harness.check(m1.isEmpty()); ListDataEvent event = listener.getEvent(); harness.check(event.getType(), ListDataEvent.INTERVAL_REMOVED); harness.check(event.getIndex0(), 0); harness.check(event.getIndex1(), 1); listener.setListDataEvent(null); m1.clear(); harness.check(m1.isEmpty()); harness.check(listener.getEvent(), null); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListModel/removeElement.java0000644000175000001440000000440310202563312025330 0ustar dokousers// Tags: JDK1.2 // Uses: MyListDataListener // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultListModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListModel; import javax.swing.event.ListDataEvent; /** * Some tests for the removeElement() method in the {@link DefaultListModel} class. */ public class removeElement implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("removeElement(Object)"); DefaultListModel m1 = new DefaultListModel(); MyListDataListener listener = new MyListDataListener(); m1.addListDataListener(listener); m1.addElement("A"); m1.addElement("B"); m1.addElement("C"); m1.addElement("D"); m1.addElement("D"); m1.addElement("C"); m1.addElement("B"); m1.addElement("A"); boolean removed = m1.removeElement("A"); harness.check(m1.lastElement(), "A"); harness.check(m1.size(), 7); harness.check(removed); ListDataEvent event = listener.getEvent(); harness.check(event.getType(), ListDataEvent.INTERVAL_REMOVED); harness.check(event.getIndex0(), 0); harness.check(event.getIndex1(), 0); listener.setListDataEvent(null); removed = m1.removeElement(null); harness.check(m1.size(), 7); harness.check(!removed); harness.check(listener.getEvent(), null); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListModel/removeAllElements.java0000644000175000001440000000376710202572103026156 0ustar dokousers// Tags: JDK1.2 // Uses: MyListDataListener // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultListModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListModel; import javax.swing.event.ListDataEvent; /** * Some tests for the removeAllElements() method in the {@link DefaultListModel} class. */ public class removeAllElements implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("removeAllElements()"); DefaultListModel m1 = new DefaultListModel(); MyListDataListener listener = new MyListDataListener(); m1.addListDataListener(listener); m1.addElement("A"); m1.addElement("B"); m1.removeAllElements(); harness.check(m1.isEmpty()); ListDataEvent event = listener.getEvent(); harness.check(event.getType(), ListDataEvent.INTERVAL_REMOVED); harness.check(event.getIndex0(), 0); harness.check(event.getIndex1(), 1); listener.setListDataEvent(null); m1.removeAllElements(); harness.check(m1.isEmpty()); harness.check(listener.getEvent(), null); } } mauve-20140821/gnu/testlet/javax/swing/DefaultListModel/addElement.java0000644000175000001440000000531310202563312024564 0ustar dokousers// Tags: JDK1.2 // Uses: MyListDataListener // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.DefaultListModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListModel; import javax.swing.event.ListDataEvent; /** * Some tests for the addElement() method in the {@link DefaultListModel} class. */ public class addElement implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("addElement(Object)"); DefaultListModel m1 = new DefaultListModel(); MyListDataListener listener = new MyListDataListener(); m1.addListDataListener(listener); m1.addElement("A"); harness.check(m1.getElementAt(0).equals("A")); ListDataEvent event = listener.getEvent(); harness.check(event.getType(), ListDataEvent.INTERVAL_ADDED); harness.check(event.getIndex0(), 0); harness.check(event.getIndex1(), 0); listener.setListDataEvent(null); m1.addElement("B"); harness.check(m1.getElementAt(1).equals("B")); event = listener.getEvent(); harness.check(event.getType(), ListDataEvent.INTERVAL_ADDED); harness.check(event.getIndex0(), 1); harness.check(event.getIndex1(), 1); listener.setListDataEvent(null); m1.addElement("C"); harness.check(m1.getElementAt(2).equals("C")); event = listener.getEvent(); harness.check(event.getType(), ListDataEvent.INTERVAL_ADDED); harness.check(event.getIndex0(), 2); harness.check(event.getIndex1(), 2); listener.setListDataEvent(null); m1.addElement(null); harness.check(m1.getElementAt(3) == null); event = listener.getEvent(); harness.check(event.getType(), ListDataEvent.INTERVAL_ADDED); harness.check(event.getIndex0(), 3); harness.check(event.getIndex1(), 3); listener.setListDataEvent(null); } } mauve-20140821/gnu/testlet/javax/swing/JCheckBox/0000755000175000001440000000000012375316426020273 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JCheckBox/constructor.java0000644000175000001440000000307410325207661023520 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JCheckBox; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.JCheckBox; import javax.swing.SwingConstants; /** * Tests if the constructor sets the default values for the JCheckBox's * properties correctly. * * @author Roman Kennke (kennke@aicas.com) */ public class constructor implements Testlet { public void test(TestHarness harness) { JCheckBox cb = new JCheckBox(); harness.check(cb.getAlignmentX(), 0.0F, "alignmentX"); harness.check(cb.getAlignmentY(), 0.5F, "alignmentY"); harness.check(cb.getHorizontalAlignment(), SwingConstants.LEADING, "horizontalAlignment"); harness.check(cb.getVerticalAlignment(), SwingConstants.CENTER, "verticalAlignment"); } } mauve-20140821/gnu/testlet/javax/swing/JCheckBox/isFocusable.java0000644000175000001440000000236310444332263023371 0ustar dokousers/* isFocusable.java Copyright (C) 2006 Red Hat, Tania Bento This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.*/ // Tags: 1.4 package gnu.testlet.javax.swing.JCheckBox; import javax.swing.JCheckBox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class isFocusable implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JCheckBox i = new JCheckBox(); harness.check(i.isFocusable(), true); } } mauve-20140821/gnu/testlet/javax/swing/JCheckBox/model.java0000644000175000001440000001117210504004352022220 0ustar dokousers/* model.java -- some checks for the initialisation of the button's model. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.JCheckBox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.Icon; import javax.swing.JCheckBox; import javax.swing.JToggleButton.ToggleButtonModel; import javax.swing.plaf.metal.MetalIconFactory; /** * This test looks at the creation of the menu's model. This test was * written to investigate a look and feel bug that occurs because the model is * null when the UI delegate is initialised. */ public class model implements Testlet { static class MyJCheckBox extends JCheckBox { public MyJCheckBox() { super(); } public MyJCheckBox(Action action) { super(action); } public MyJCheckBox(Icon icon) { super(icon); } public MyJCheckBox(Icon icon, boolean selected) { super(icon, selected); } public MyJCheckBox(String text) { super(text); } public MyJCheckBox(String text, boolean selected) { super(text, selected); } public MyJCheckBox(String text, Icon icon) { super(text, icon); } public MyJCheckBox(String text, Icon icon, boolean selected) { super(text, icon, selected); } public void init(String text, Icon icon) { // don't call super.init(), because we want to check what happens in // the constructor only... } } public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); testConstructor6(harness); testConstructor7(harness); testConstructor8(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("()"); MyJCheckBox b = new MyJCheckBox(); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(Action)"); Action action = new AbstractAction() { public void actionPerformed(ActionEvent e) { // do nothing } }; MyJCheckBox b = new MyJCheckBox(action); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor3(TestHarness harness) { harness.checkPoint("(Icon)"); MyJCheckBox b = new MyJCheckBox( MetalIconFactory.getFileChooserListViewIcon()); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor4(TestHarness harness) { harness.checkPoint("(Icon, boolean)"); MyJCheckBox b = new MyJCheckBox( MetalIconFactory.getFileChooserListViewIcon(), false); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor5(TestHarness harness) { harness.checkPoint("(String)"); MyJCheckBox b = new MyJCheckBox("ABC"); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor6(TestHarness harness) { harness.checkPoint("(String, boolean)"); MyJCheckBox b = new MyJCheckBox("ABC", false); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor7(TestHarness harness) { harness.checkPoint("(String, Icon)"); MyJCheckBox b = new MyJCheckBox("ABC", MetalIconFactory.getFileChooserDetailViewIcon()); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor8(TestHarness harness) { harness.checkPoint("(String, Icon, boolean)"); MyJCheckBox b = new MyJCheckBox("ABC", MetalIconFactory.getFileChooserDetailViewIcon(), false); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } }mauve-20140821/gnu/testlet/javax/swing/JCheckBox/getActionCommand.java0000644000175000001440000000266010265073350024346 0ustar dokousers// Tags: JDK1.2 // Uses: ../AbstractButton/getActionCommand // Copyright (C) 2005 Robert Schuster // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JCheckBox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JCheckBox; /**

    Tests the JCheckBox's getActionCommand * method.

    * *

    Please note that the interesting bits of this test reside in the superclass * {@link gnu.testlet.javax.swing.AbstractButton} * * @author Robert Schuster * */ public class getActionCommand extends gnu.testlet.javax.swing.AbstractButton.getActionCommand implements Testlet { public void test(TestHarness harness) { check(new JCheckBox("bla"), harness); } }mauve-20140821/gnu/testlet/javax/swing/JCheckBox/uidelegate.java0000644000175000001440000001122510504004352023227 0ustar dokousers/* uidelegate.java -- some checks for the initialisation of the button's UI delegate. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.JCheckBox; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.Icon; import javax.swing.JCheckBox; import javax.swing.plaf.metal.MetalIconFactory; /** * This test looks at the creation of the button's UI delegate. This test was * written to investigate a look and feel bug that occurs because the model is * null when the UI delegate is initialised. */ public class uidelegate implements Testlet { static class MyJCheckBox extends JCheckBox { public boolean initCalled; public boolean updateUICalledAfterInitCalled; public MyJCheckBox() { super(); } public MyJCheckBox(Action action) { super(action); } public MyJCheckBox(Icon icon) { super(icon); } public MyJCheckBox(Icon icon, boolean selected) { super(icon, selected); } public MyJCheckBox(String text) { super(text); } public MyJCheckBox(String text, boolean selected) { super(text, selected); } public MyJCheckBox(String text, Icon icon) { super(text, icon); } public MyJCheckBox(String text, Icon icon, boolean selected) { super(text, icon, selected); } public void init(String text, Icon icon) { initCalled = true; super.init(text, icon); } public void updateUI() { updateUICalledAfterInitCalled = initCalled; super.updateUI(); } } public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); testConstructor6(harness); testConstructor7(harness); testConstructor8(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("()"); MyJCheckBox b = new MyJCheckBox(); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(Action)"); Action action = new AbstractAction() { public void actionPerformed(ActionEvent e) { // do nothing } }; MyJCheckBox b = new MyJCheckBox(action); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor3(TestHarness harness) { harness.checkPoint("(Icon)"); MyJCheckBox b = new MyJCheckBox( MetalIconFactory.getFileChooserListViewIcon()); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor4(TestHarness harness) { harness.checkPoint("(Icon, boolean)"); MyJCheckBox b = new MyJCheckBox( MetalIconFactory.getFileChooserListViewIcon(), false); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor5(TestHarness harness) { harness.checkPoint("(String)"); MyJCheckBox b = new MyJCheckBox("ABC"); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor6(TestHarness harness) { harness.checkPoint("(String, boolean)"); MyJCheckBox b = new MyJCheckBox("ABC", false); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor7(TestHarness harness) { harness.checkPoint("(String, Icon)"); MyJCheckBox b = new MyJCheckBox("ABC", MetalIconFactory.getFileChooserDetailViewIcon()); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor8(TestHarness harness) { harness.checkPoint("(String, Icon, boolean)"); MyJCheckBox b = new MyJCheckBox("ABC", MetalIconFactory.getFileChooserDetailViewIcon(), false); harness.check(b.updateUICalledAfterInitCalled, true); } }mauve-20140821/gnu/testlet/javax/swing/DefaultComboBoxModel/0000755000175000001440000000000012375316426022471 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/DefaultComboBoxModel/constructors.java0000644000175000001440000000527310315025275026102 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.DefaultComboBoxModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Vector; import javax.swing.DefaultComboBoxModel; /** * Some checks for the constructors in the {@link DefaultComboBoxModel} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); test3(harness); } public void test1(TestHarness harness) { harness.checkPoint("()"); DefaultComboBoxModel m = new DefaultComboBoxModel(); harness.check(m.getSelectedItem(), null); harness.check(m.getSize(), 0); } public void test2(TestHarness harness) { harness.checkPoint("(Object[])"); DefaultComboBoxModel m = new DefaultComboBoxModel(new Object[] {"A", "B"}); harness.check(m.getSize(), 2); harness.check(m.getSelectedItem(), "A"); harness.check(m.getElementAt(0), "A"); harness.check(m.getElementAt(1), "B"); // try null boolean pass = false; try { m = new DefaultComboBoxModel((Object[]) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void test3(TestHarness harness) { harness.checkPoint("(Vector)"); Vector v = new Vector(); v.add("A"); v.add("B"); DefaultComboBoxModel m = new DefaultComboBoxModel(v); harness.check(m.getSize(), 2); harness.check(m.getSelectedItem(), "A"); harness.check(m.getElementAt(0), "A"); harness.check(m.getElementAt(1), "B"); // try null boolean pass = false; try { m = new DefaultComboBoxModel((Vector) null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/DefaultComboBoxModel/getElementAt.java0000644000175000001440000000307710315025275025710 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.DefaultComboBoxModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultComboBoxModel; /** * Some checks for the getElementAt() method in the * {@link DefaultComboBoxModel} class. */ public class getElementAt implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultComboBoxModel m = new DefaultComboBoxModel(new Object[] {"A", "B", "C"}); harness.check(m.getElementAt(0), "A"); harness.check(m.getElementAt(1), "B"); harness.check(m.getElementAt(2), "C"); harness.check(m.getElementAt(-1), null); harness.check(m.getElementAt(3), null); } } mauve-20140821/gnu/testlet/javax/swing/DefaultComboBoxModel/removeElementAt.java0000644000175000001440000000611010315025275026415 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.DefaultComboBoxModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultComboBoxModel; import javax.swing.event.ListDataEvent; import javax.swing.event.ListDataListener; /** * Some checks for the removeElementAt() method in the * {@link DefaultComboBoxModel} class. */ public class removeElementAt implements Testlet, ListDataListener { int index0; int index1; int eventType; public void contentsChanged(ListDataEvent event) { eventType = event.getType(); index0 = event.getIndex0(); index1 = event.getIndex1(); } public void intervalAdded(ListDataEvent event) { eventType = event.getType(); index0 = event.getIndex0(); index1 = event.getIndex1(); } public void intervalRemoved(ListDataEvent event) { eventType = event.getType(); index0 = event.getIndex0(); index1 = event.getIndex1(); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultComboBoxModel m = new DefaultComboBoxModel(new Object[] {"A", "B", "C"}); m.addListDataListener(this); m.removeElementAt(0); harness.check(m.getSize(), 2); harness.check(m.getElementAt(0), "B"); harness.check(m.getSelectedItem(), "B"); harness.check(eventType, ListDataEvent.INTERVAL_REMOVED); harness.check(index0, 0); harness.check(index1, 0); m.removeElementAt(1); harness.check(m.getSize(), 1); harness.check(m.getElementAt(0), "B"); harness.check(m.getSelectedItem(), "B"); harness.check(eventType, ListDataEvent.INTERVAL_REMOVED); harness.check(index0, 1); harness.check(index1, 1); // try negative index boolean pass = false; try { m.removeElementAt(-1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { m.removeElementAt(1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); m = new DefaultComboBoxModel(new Object[] {"A", "B", "C"}); m.setSelectedItem("B"); m.removeElementAt(1); harness.check(m.getSelectedItem(), "A"); } } mauve-20140821/gnu/testlet/javax/swing/DefaultComboBoxModel/getSize.java0000644000175000001440000000271010315025275024735 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.DefaultComboBoxModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultComboBoxModel; /** * Some checks for the getSize() method in the * {@link DefaultComboBoxModel} class. */ public class getSize implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultComboBoxModel m = new DefaultComboBoxModel(); harness.check(m.getSize(), 0); m = new DefaultComboBoxModel(new Object[] {"A", "B", "C"}); harness.check(m.getSize(), 3); } } mauve-20140821/gnu/testlet/javax/swing/DefaultComboBoxModel/getSelectedItem.java0000644000175000001440000000305310315025275026373 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.DefaultComboBoxModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultComboBoxModel; /** * Some checks for the getSelectedItem() method in the * {@link DefaultComboBoxModel} class. */ public class getSelectedItem implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultComboBoxModel m = new DefaultComboBoxModel(new Object[] {"A", "B", "C"}); harness.check(m.getSelectedItem(), "A"); m.setSelectedItem("C"); harness.check(m.getSelectedItem(), "C"); m.setSelectedItem(null); harness.check(m.getSelectedItem(), null); } } mauve-20140821/gnu/testlet/javax/swing/DefaultComboBoxModel/getIndexOf.java0000644000175000001440000000316710315025275025366 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.DefaultComboBoxModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultComboBoxModel; /** * Some checks for the getIndexOf() method in the * {@link DefaultComboBoxModel} class. */ public class getIndexOf implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultComboBoxModel m = new DefaultComboBoxModel(new Object[] {"A", "B", "C"}); harness.check(m.getIndexOf("A"), 0); harness.check(m.getIndexOf("B"), 1); harness.check(m.getIndexOf("C"), 2); harness.check(m.getIndexOf("D"), -1); harness.check(m.getIndexOf(null), -1); m.addElement(null); harness.check(m.getIndexOf(null), 3); } } mauve-20140821/gnu/testlet/javax/swing/DefaultComboBoxModel/insertElementAt.java0000644000175000001440000000673710315025275026443 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.DefaultComboBoxModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultComboBoxModel; import javax.swing.event.ListDataEvent; import javax.swing.event.ListDataListener; /** * Some checks for the insertElementAt() method in the * {@link DefaultComboBoxModel} class. */ public class insertElementAt implements Testlet, ListDataListener { int index0; int index1; int eventType; public void contentsChanged(ListDataEvent event) { eventType = event.getType(); index0 = event.getIndex0(); index1 = event.getIndex1(); } public void intervalAdded(ListDataEvent event) { eventType = event.getType(); index0 = event.getIndex0(); index1 = event.getIndex1(); } public void intervalRemoved(ListDataEvent event) { eventType = event.getType(); index0 = event.getIndex0(); index1 = event.getIndex1(); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultComboBoxModel m = new DefaultComboBoxModel(); m.addListDataListener(this); m.insertElementAt("A", 0); harness.check(m.getSize(), 1); harness.check(m.getElementAt(0), "A"); harness.check(m.getSelectedItem(), null); harness.check(eventType, ListDataEvent.INTERVAL_ADDED); harness.check(index0, 0); harness.check(index1, 0); m.insertElementAt("B", 1); harness.check(m.getSize(), 2); harness.check(m.getElementAt(1), "B"); harness.check(m.getSelectedItem(), null); harness.check(eventType, ListDataEvent.INTERVAL_ADDED); harness.check(index0, 1); harness.check(index1, 1); m.insertElementAt("C", 0); harness.check(m.getSize(), 3); harness.check(m.getElementAt(0), "C"); harness.check(m.getSelectedItem(), null); harness.check(eventType, ListDataEvent.INTERVAL_ADDED); harness.check(index0, 0); harness.check(index1, 0); m.insertElementAt(null, 0); harness.check(m.getSize(), 4); harness.check(m.getElementAt(0), null); harness.check(m.getSelectedItem(), null); harness.check(eventType, ListDataEvent.INTERVAL_ADDED); harness.check(index0, 0); harness.check(index1, 0); // try negative index boolean pass = true; try { m.insertElementAt("Z", -1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try index too large pass = false; try { m.insertElementAt("Z", 5); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/DefaultComboBoxModel/setSelectedItem.java0000644000175000001440000000650210513621217026407 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.DefaultComboBoxModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.List; import javax.swing.DefaultComboBoxModel; import javax.swing.event.ListDataEvent; import javax.swing.event.ListDataListener; /** * Some checks for the setSelectedItem() method in the * {@link DefaultComboBoxModel} class. */ public class setSelectedItem implements Testlet, ListDataListener { List events = new java.util.ArrayList(); public void contentsChanged(ListDataEvent event) { events.add(event); } public void intervalAdded(ListDataEvent event) { events.add(event); } public void intervalRemoved(ListDataEvent event) { events.add(event); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultComboBoxModel m = new DefaultComboBoxModel(new Object[] {"A", "B", "C"}); harness.check(m.getSelectedItem(), "A"); m.addListDataListener(this); // first set the selected item to one of the elements in the list... m.setSelectedItem("C"); harness.check(events.size(), 1); harness.check(m.getSelectedItem(), "C"); ListDataEvent event = (ListDataEvent) events.get(0); harness.check(event.getType(), ListDataEvent.CONTENTS_CHANGED); harness.check(event.getIndex0(), -1); harness.check(event.getIndex1(), -1); events.clear(); // now set the selected item to null... m.setSelectedItem(null); harness.check(m.getSelectedItem(), null); harness.check(events.size(), 1); event = (ListDataEvent) events.get(0); harness.check(event.getType(), ListDataEvent.CONTENTS_CHANGED); harness.check(event.getIndex0(), -1); harness.check(event.getIndex1(), -1); events.clear(); // now set the selected item to something not in the list... m.setSelectedItem("Z"); // confirm that setSelectedItem simply returned without doing // anything... harness.check(m.getSelectedItem(), null); harness.check(m.getSize(), 3); harness.check(m.getIndexOf("Z"), -1); harness.check(events.size(), 0); // now set the selected item to the same value - no event should be // generated... m.setSelectedItem("Z"); harness.check(events.size(), 0); // make sure setting null when already null doesn't generate an event m.setSelectedItem(null); events.clear(); m.setSelectedItem(null); harness.check(events.size(), 0); } } mauve-20140821/gnu/testlet/javax/swing/DefaultComboBoxModel/removeElement.java0000644000175000001440000000567510444540504026147 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.DefaultComboBoxModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.ArrayList; import java.util.List; import javax.swing.DefaultComboBoxModel; import javax.swing.event.ListDataEvent; import javax.swing.event.ListDataListener; /** * Some checks for the removeElement() method in the * {@link DefaultComboBoxModel} class. */ public class removeElement implements Testlet, ListDataListener { List events = new ArrayList(); public void contentsChanged(ListDataEvent event) { events.add(event); } public void intervalAdded(ListDataEvent event) { events.add(event); } public void intervalRemoved(ListDataEvent event) { events.add(event); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultComboBoxModel m = new DefaultComboBoxModel(new Object[] {"A", "B", "C"}); m.addListDataListener(this); m.removeElement("A"); harness.check(m.getSize(), 2); harness.check(m.getElementAt(0), "B"); harness.check(m.getSelectedItem(), "B"); harness.check(events.size(), 2); ListDataEvent e0 = (ListDataEvent) events.get(0); harness.check(e0.getType(), ListDataEvent.CONTENTS_CHANGED); harness.check(e0.getIndex0(), -1); harness.check(e0.getIndex1(), -1); ListDataEvent e1 = (ListDataEvent) events.get(1); harness.check(e1.getType(), ListDataEvent.INTERVAL_REMOVED); harness.check(e1.getIndex0(), 0); harness.check(e1.getIndex1(), 0); events.clear(); m.removeElement("C"); harness.check(m.getSize(), 1); harness.check(m.getElementAt(0), "B"); harness.check(m.getSelectedItem(), "B"); harness.check(events.size(), 1); e0 = (ListDataEvent) events.get(0); harness.check(e0.getType(), ListDataEvent.INTERVAL_REMOVED); harness.check(e0.getIndex0(), 1); harness.check(e0.getIndex1(), 1); events.clear(); m.removeElement("Z"); harness.check(m.getSize(), 1); harness.check(m.getSelectedItem(), "B"); harness.check(events.size(), 0); } } mauve-20140821/gnu/testlet/javax/swing/DefaultComboBoxModel/removeAllElements.java0000644000175000001440000000514310315025275026751 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.DefaultComboBoxModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultComboBoxModel; import javax.swing.event.ListDataEvent; import javax.swing.event.ListDataListener; /** * Some checks for the removeAllElements() method in the * {@link DefaultComboBoxModel} class. */ public class removeAllElements implements Testlet, ListDataListener { int index0; int index1; int eventType; public void contentsChanged(ListDataEvent event) { eventType = event.getType(); index0 = event.getIndex0(); index1 = event.getIndex1(); } public void intervalAdded(ListDataEvent event) { eventType = event.getType(); index0 = event.getIndex0(); index1 = event.getIndex1(); } public void intervalRemoved(ListDataEvent event) { eventType = event.getType(); index0 = event.getIndex0(); index1 = event.getIndex1(); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultComboBoxModel m = new DefaultComboBoxModel(new Object[] {"A", "B", "C"}); m.addListDataListener(this); harness.check(m.getSize(), 3); harness.check(m.getSelectedItem(), "A"); m.removeAllElements(); harness.check(m.getSize(), 0); harness.check(m.getSelectedItem(), null); harness.check(eventType, ListDataEvent.INTERVAL_REMOVED); harness.check(index0, 0); harness.check(index1, 2); // remove all elements from the empty list - is there an event? eventType = -1; index0 = -1; index1 = -1; m.removeAllElements(); harness.check(m.getSize(), 0); harness.check(eventType, -1); harness.check(index0, -1); harness.check(index1, -1); } } mauve-20140821/gnu/testlet/javax/swing/DefaultComboBoxModel/addElement.java0000644000175000001440000000612210315340624025364 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.DefaultComboBoxModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.List; import javax.swing.DefaultComboBoxModel; import javax.swing.event.ListDataEvent; import javax.swing.event.ListDataListener; /** * Some checks for the addElement() method in the * {@link DefaultComboBoxModel} class. */ public class addElement implements Testlet, ListDataListener { List events = new java.util.ArrayList(); public void contentsChanged(ListDataEvent event) { events.add(event); } public void intervalAdded(ListDataEvent event) { events.add(event); } public void intervalRemoved(ListDataEvent event) { events.add(event); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultComboBoxModel m = new DefaultComboBoxModel(); m.addListDataListener(this); m.addElement("A"); harness.check(m.getSize(), 1); harness.check(m.getElementAt(0), "A"); harness.check(m.getSelectedItem(), "A"); harness.check(events.size(), 2); ListDataEvent e = (ListDataEvent) events.get(0); harness.check(e.getType(), ListDataEvent.INTERVAL_ADDED); harness.check(e.getIndex0(), 0); harness.check(e.getIndex1(), 0); e = (ListDataEvent) events.get(1); harness.check(e.getType(), ListDataEvent.CONTENTS_CHANGED); harness.check(e.getIndex0(), -1); harness.check(e.getIndex1(), -1); events.clear(); m.addElement("B"); harness.check(m.getSize(), 2); harness.check(m.getElementAt(1), "B"); harness.check(m.getSelectedItem(), "A"); harness.check(events.size(), 1); e = (ListDataEvent) events.get(0); harness.check(e.getType(), ListDataEvent.INTERVAL_ADDED); harness.check(e.getIndex0(), 1); harness.check(e.getIndex1(), 1); events.clear(); m.addElement(null); harness.check(m.getSize(), 3); harness.check(m.getElementAt(2), null); harness.check(m.getSelectedItem(), "A"); harness.check(events.size(), 1); e = (ListDataEvent) events.get(0); harness.check(e.getType(), ListDataEvent.INTERVAL_ADDED); harness.check(e.getIndex0(), 2); harness.check(e.getIndex1(), 2); events.clear(); } } mauve-20140821/gnu/testlet/javax/swing/JRootPane/0000755000175000001440000000000012375316426020334 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JRootPane/setLayeredPane.java0000644000175000001440000000261310531126431024071 0ustar dokousers/* setLayeredPane.java Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JRootPane; import java.awt.IllegalComponentStateException; import javax.swing.JRootPane; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class setLayeredPane implements Testlet { public void test(TestHarness harness) { // This test checks that if an IllegalComponentStateException is // thrown if the layered pane parameter is null. JRootPane rootPane = new JRootPane(); boolean fail = false; try { rootPane.setLayeredPane(null); } catch (IllegalComponentStateException e) { fail = true; } harness.check(fail); } } mauve-20140821/gnu/testlet/javax/swing/JRootPane/RootLayout/0000755000175000001440000000000012375316426022455 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JRootPane/RootLayout/layoutContainer.java0000644000175000001440000000523010334127513026466 0ustar dokousers// Tags: JDK1.2 //Copyright (C) 2005 Roman Kennke //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JRootPane.RootLayout; import java.awt.Component; import java.awt.Insets; import java.awt.Rectangle; import javax.swing.BorderFactory; import javax.swing.JRootPane; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Checks the functionality of the JRootPane.RootLayout. * * @author Roman Kennke (kennke@aicas.com) */ public class layoutContainer implements Testlet { // TODO: Implement a test that checks the layout in case we have a menubar // installed. /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testWithBorder(harness); } /** * Tests if the RootLayout works correctly when a border is set on the * rootpane. * * @param harness */ private void testWithBorder(TestHarness harness) { harness.checkPoint("withBorder"); JRootPane rp = new JRootPane(); rp.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); rp.setSize(100, 100); rp.getLayout().layoutContainer(rp); Insets i = rp.getInsets(); // Check the glass pane. Component gp = rp.getGlassPane(); harness.check(gp.getBounds(), new Rectangle(i.left, i.right, rp.getWidth() - i.left - i.right, rp.getHeight() - i.top - i.bottom)); // Check the layered pane. Component lp = rp.getLayeredPane(); harness.check(lp.getBounds(), new Rectangle(i.left, i.right, rp.getWidth() - i.left - i.right, rp.getHeight() - i.top - i.bottom)); // Check the content pane. Component cp = rp.getContentPane(); harness.check(cp.getBounds(), new Rectangle(0, 0, rp.getWidth() - i.left - i.right, rp.getHeight() - i.top - i.bottom)); } } mauve-20140821/gnu/testlet/javax/swing/JRootPane/RootLayout/getLayoutAlignmentY.java0000644000175000001440000000372410334127513027261 0ustar dokousers// Tags: JDK1.2 //Copyright (C) 2005 Roman Kennke //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JRootPane.RootLayout; import java.awt.LayoutManager2; import javax.swing.JComponent; import javax.swing.JRootPane; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getLayoutAlignmentY implements Testlet { public void test(TestHarness harness) { JRootPane rp = new JRootPane(); LayoutManager2 lm2 = (LayoutManager2) rp.getLayout(); // Check for the value when nothing is touched. harness.check(lm2.getLayoutAlignmentY(rp), 0.0F); // Setting the root pane's alignmentY doesn't change anything. rp.setAlignmentY(0.5F); harness.check(lm2.getLayoutAlignmentY(rp), 0.0F); // Setting the content pane's alignmentY doesn't change anything. ((JComponent) rp.getContentPane()).setAlignmentY(0.5F); harness.check(lm2.getLayoutAlignmentY(rp), 0.0F); // Setting the glass pane's alignmentY doesn't change anything. ((JComponent) rp.getGlassPane()).setAlignmentY(0.5F); harness.check(lm2.getLayoutAlignmentY(rp), 0.0F); // Setting the layered pane's alignmentY doesn't change anything. ((JComponent) rp.getLayeredPane()).setAlignmentY(0.5F); harness.check(lm2.getLayoutAlignmentY(rp), 0.0F); } } mauve-20140821/gnu/testlet/javax/swing/JRootPane/RootLayout/preferredLayoutSize.java0000644000175000001440000000444110367501553027326 0ustar dokousers/* preferredLayoutSize.java -- tests the preferredLayoutSize() method Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JRootPane.RootLayout; import java.awt.Dimension; import java.awt.LayoutManager; import javax.swing.JPanel; import javax.swing.JRootPane; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Checks the preferredLayoutSize() method in the RootLayout. * * @author Roman Kennke (kennke@aicas.com) */ public class preferredLayoutSize implements Testlet { /** * The entry point in the test. * * @param harness the test harness to use */ public void test(TestHarness harness) { testInvalidLayout(harness); } /** * Tests the preferredLayoutSize() method when the layout is in an invalid * state. In particular this tests if the preferredSize is cached or not. * This is inspired by a bug where a JRootPane is asked for it's * preferredSize (thus storing a cached value of it), then the contentPane * changes (and so the parameters for calculating the preferredSize) and then * it is asked again and then returns the incorrect cached value. * * @param h the test harness to use */ private void testInvalidLayout(TestHarness h) { JRootPane rp = new JRootPane(); LayoutManager l = rp.getLayout(); JPanel p = new JPanel(); p.setPreferredSize(new Dimension(100, 100)); rp.setContentPane(p); h.check(l.preferredLayoutSize(rp), new Dimension(100, 100)); p.setPreferredSize(new Dimension(200, 200)); h.check(l.preferredLayoutSize(rp), new Dimension(200, 200)); } } mauve-20140821/gnu/testlet/javax/swing/JRootPane/RootLayout/getLayoutAlignmentX.java0000644000175000001440000000372410334127513027260 0ustar dokousers// Tags: JDK1.2 //Copyright (C) 2005 Roman Kennke //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JRootPane.RootLayout; import java.awt.LayoutManager2; import javax.swing.JComponent; import javax.swing.JRootPane; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getLayoutAlignmentX implements Testlet { public void test(TestHarness harness) { JRootPane rp = new JRootPane(); LayoutManager2 lm2 = (LayoutManager2) rp.getLayout(); // Check for the value when nothing is touched. harness.check(lm2.getLayoutAlignmentX(rp), 0.0F); // Setting the root pane's alignmentX doesn't change anything. rp.setAlignmentX(0.5F); harness.check(lm2.getLayoutAlignmentX(rp), 0.0F); // Setting the content pane's alignmentX doesn't change anything. ((JComponent) rp.getContentPane()).setAlignmentX(0.5F); harness.check(lm2.getLayoutAlignmentX(rp), 0.0F); // Setting the glass pane's alignmentX doesn't change anything. ((JComponent) rp.getGlassPane()).setAlignmentX(0.5F); harness.check(lm2.getLayoutAlignmentX(rp), 0.0F); // Setting the layered pane's alignmentX doesn't change anything. ((JComponent) rp.getLayeredPane()).setAlignmentX(0.5F); harness.check(lm2.getLayoutAlignmentX(rp), 0.0F); } } mauve-20140821/gnu/testlet/javax/swing/SpinnerListModel/0000755000175000001440000000000012375316426021726 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/SpinnerListModel/ListModel.java0000644000175000001440000000444210134220253024450 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.SpinnerListModel; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.ArrayList; import java.util.List; import javax.swing.SpinnerListModel; public class ListModel implements Testlet { public void test(TestHarness harness) { SpinnerListModel model; List list; boolean threwException = false; /* Create list */ list = new ArrayList(); list.add("GNU"); list.add("Classpath"); /* Create model */ model = new SpinnerListModel(list); /* Check retrieval */ harness.check(model.getList() != null, "List model creation check"); harness.check(model.getValue(), "GNU", "List model current value check"); harness.check(model.getNextValue(), "Classpath", "List model next value check"); harness.check(model.getValue(), "GNU", "List model no change of current value after next check"); harness.check(model.getPreviousValue(), null, "List model previous value check"); /* Value change check */ list.set(0, "GNU's Not UNIX"); harness.check(model.getValue(), "GNU's Not UNIX", "List model backing list change check"); /* Value setting check */ model.setValue("Classpath"); harness.check(model.getValue(), "Classpath", "List model successful set check"); try { model.setValue("Sun"); } catch (IllegalArgumentException exception) { threwException = true; } harness.check(threwException, "List model non-existant value exception check."); } } mauve-20140821/gnu/testlet/javax/swing/SpinnerListModel/Constructors.java0000644000175000001440000000464310134220253025267 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.SpinnerListModel; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.ArrayList; import javax.swing.SpinnerListModel; public class Constructors implements Testlet { public void test(TestHarness harness) { SpinnerListModel model; boolean threwException = false; /* Invalid values */ try { model = new SpinnerListModel((Object[]) null); } catch (IllegalArgumentException exception) { threwException = true; } harness.check(threwException, "Null array to constructor exception check"); threwException = false; try { model = new SpinnerListModel(new ArrayList()); } catch (IllegalArgumentException exception) { threwException = true; } harness.check(threwException, "Empty list to constructor exception check"); threwException = false; try { model = new SpinnerListModel(new Object[]{}); harness.fail("Empty array supplied to constructor failed to throw an exception."); } catch (IllegalArgumentException exception) { threwException = true; } harness.check(threwException, "Empty array to constructor exception check"); /* Test the default model */ model = new SpinnerListModel(); harness.check(model.getList() != null, "Default list construction check."); harness.check(model.getValue(), "empty", "Default list current value check."); harness.check(model.getNextValue(), null, "Default list next value check."); harness.check(model.getPreviousValue(), null, "Default list previous value check."); } } mauve-20140821/gnu/testlet/javax/swing/SpinnerListModel/Ordering.java0000644000175000001440000000421410134220253024322 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.SpinnerListModel; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.ArrayList; import java.util.List; import javax.swing.SpinnerListModel; public class Ordering implements Testlet { public void test(TestHarness harness) { SpinnerListModel model; List list; /* Create list */ list = new ArrayList(); list.add("a"); list.add("z"); list.add("a"); list.add("b"); /* Create model */ model = new SpinnerListModel(list); /* Check retrieval */ harness.check(model.getList() != null, "Array model ordering creation check"); harness.check(model.getValue(), "a", "Array model ordering current value check"); harness.check(model.getNextValue(), "z", "Array model ordering next value check"); harness.check(model.getValue(), "a", "Array model ordering no change of current value after next check"); harness.check(model.getPreviousValue(), null, "Array model ordering previous value check"); /* Value ordering of setting check */ model.setValue("a"); harness.check(model.getValue(), "a", "Array model ordering successful set check"); harness.check(model.getPreviousValue(), null, "Array model ordering post-set previous value check"); harness.check(model.getNextValue(), "z", "Array model ordering post-set next value check"); } } mauve-20140821/gnu/testlet/javax/swing/SpinnerListModel/ArrayModel.java0000644000175000001440000000435610134220253024617 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.SpinnerListModel; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.SpinnerListModel; public class ArrayModel implements Testlet { public void test(TestHarness harness) { SpinnerListModel model; Object[] array; boolean threwException; /* Create array */ array = new Object[]{"GNU", "Classpath"}; /* Create model */ model = new SpinnerListModel(array); /* Check retrieval */ harness.check(model.getList() != null, "Array model creation check"); harness.check(model.getValue(), "GNU", "Array model current value check"); harness.check(model.getNextValue(), "Classpath", "Array model next value check"); harness.check(model.getValue(), "GNU", "Array model no change of current value after next check"); harness.check(model.getPreviousValue(), null, "Array model previous value check"); /* Value change check */ array[0] = "GNU's Not UNIX"; harness.check(model.getValue(), "GNU's Not UNIX", "Array model backing list change check"); /* Value setting check */ model.setValue("Classpath"); harness.check(model.getValue(), "Classpath", "Array model successful set check"); threwException = false; try { model.setValue("Sun"); } catch (IllegalArgumentException exception) { threwException = true; } harness.check(threwException, "Array model non-existant value exception check"); } } mauve-20140821/gnu/testlet/javax/swing/SpinnerListModel/SetList.java0000644000175000001440000000402410134220253024137 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.SpinnerListModel; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.ArrayList; import java.util.List; import javax.swing.SpinnerListModel; public class SetList implements Testlet { public void test(TestHarness harness) { SpinnerListModel model; List list; boolean threwException; /* Create default model */ model = new SpinnerListModel(); /* Invalid values */ threwException = false; try { model.setList((ArrayList) null); harness.fail("Null list supplied to setList failed to throw an exception."); } catch (IllegalArgumentException exception) { threwException = true; } harness.check(threwException, "setList null list exception check."); threwException = false; try { model.setList(new ArrayList()); } catch (IllegalArgumentException exception) { threwException = true; } harness.check(threwException, "setList empty list exception check."); /* Test a successful change */ list = new ArrayList(); list.add("GNU"); model.setList(list); harness.check(model.getList(), list, "Model allowed successful change of list."); } } mauve-20140821/gnu/testlet/javax/swing/SpinnerDateModel/0000755000175000001440000000000012375316426021670 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/SpinnerDateModel/constructors.java0000644000175000001440000001431010372417213025271 0ustar dokousers/* constructors.java -- some checks for the constructors in the SpinnerDateModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.SpinnerDateModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Calendar; import java.util.Date; import javax.swing.SpinnerDateModel; /** * Some tests for the constructors in the {@link SpinnerDateModel} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); } private void testConstructor1(TestHarness harness) { harness.checkPoint("()"); Date before = new Date(); SpinnerDateModel m = new SpinnerDateModel(); Date after = new Date(); Date date = (Date) m.getValue(); harness.check(date.getTime() >= before.getTime()); harness.check(date.getTime() <= after.getTime()); harness.check(m.getStart(), null); harness.check(m.getEnd(), null); harness.check(m.getCalendarField(), Calendar.DAY_OF_MONTH); } private void testConstructor2(TestHarness harness) { harness.checkPoint("(Date, Comparable, Comparable, int)"); Date now = new Date(); Date start = new Date(now.getTime() - 1L); Date end = new Date(now.getTime() + 1L); Date preStart = new Date(now.getTime() - 2L); Date postEnd = new Date(now.getTime() + 2L); SpinnerDateModel m = new SpinnerDateModel(now, start, end, Calendar.YEAR); harness.check(m.getValue(), now); harness.check(m.getStart(), start); harness.check(m.getEnd(), end); harness.check(m.getCalendarField(), Calendar.YEAR); // value equal to start m = new SpinnerDateModel(start, start, end, Calendar.YEAR); harness.check(m.getValue(), start); harness.check(m.getStart(), start); harness.check(m.getEnd(), end); harness.check(m.getCalendarField(), Calendar.YEAR); // value before start boolean pass = false; try { m = new SpinnerDateModel(preStart, start, end, Calendar.YEAR); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // value equal to end m = new SpinnerDateModel(end, start, end, Calendar.YEAR); harness.check(m.getValue(), end); harness.check(m.getStart(), start); harness.check(m.getEnd(), end); harness.check(m.getCalendarField(), Calendar.YEAR); // value above maximum pass = false; try { m = new SpinnerDateModel(postEnd, start, end, Calendar.YEAR); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // check null value pass = false; try { m = new SpinnerDateModel(null, start, end, Calendar.YEAR); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // check valid calendar fields m = new SpinnerDateModel(now, start, end, Calendar.ERA); harness.check(m.getCalendarField(), Calendar.ERA); m = new SpinnerDateModel(now, start, end, Calendar.YEAR); harness.check(m.getCalendarField(), Calendar.YEAR); m = new SpinnerDateModel(now, start, end, Calendar.MONTH); harness.check(m.getCalendarField(), Calendar.MONTH); m = new SpinnerDateModel(now, start, end, Calendar.WEEK_OF_YEAR); harness.check(m.getCalendarField(), Calendar.WEEK_OF_YEAR); m = new SpinnerDateModel(now, start, end, Calendar.WEEK_OF_MONTH); harness.check(m.getCalendarField(), Calendar.WEEK_OF_MONTH); m = new SpinnerDateModel(now, start, end, Calendar.DAY_OF_MONTH); harness.check(m.getCalendarField(), Calendar.DAY_OF_MONTH); m = new SpinnerDateModel(now, start, end, Calendar.DAY_OF_YEAR); harness.check(m.getCalendarField(), Calendar.DAY_OF_YEAR); m = new SpinnerDateModel(now, start, end, Calendar.DAY_OF_WEEK); harness.check(m.getCalendarField(), Calendar.DAY_OF_WEEK); m = new SpinnerDateModel(now, start, end, Calendar.DAY_OF_WEEK_IN_MONTH); harness.check(m.getCalendarField(), Calendar.DAY_OF_WEEK_IN_MONTH); m = new SpinnerDateModel(now, start, end, Calendar.AM_PM); harness.check(m.getCalendarField(), Calendar.AM_PM); m = new SpinnerDateModel(now, start, end, Calendar.HOUR); harness.check(m.getCalendarField(), Calendar.HOUR); m = new SpinnerDateModel(now, start, end, Calendar.HOUR_OF_DAY); harness.check(m.getCalendarField(), Calendar.HOUR_OF_DAY); m = new SpinnerDateModel(now, start, end, Calendar.MINUTE); harness.check(m.getCalendarField(), Calendar.MINUTE); m = new SpinnerDateModel(now, start, end, Calendar.SECOND); harness.check(m.getCalendarField(), Calendar.SECOND); m = new SpinnerDateModel(now, start, end, Calendar.MILLISECOND); harness.check(m.getCalendarField(), Calendar.MILLISECOND); m = new SpinnerDateModel(now, start, end, Calendar.DATE); harness.check(m.getCalendarField(), Calendar.DATE); // check invalid calendar fields pass = false; try { m = new SpinnerDateModel(now, start, end, Calendar.DST_OFFSET); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); pass = false; try { m = new SpinnerDateModel(now, start, end, Calendar.ZONE_OFFSET); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/SpinnerDateModel/setEnd.java0000644000175000001440000000445710372417213023756 0ustar dokousers/* setEnd.java -- some checks for the setEnd() method in the SpinnerDateModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.SpinnerDateModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Calendar; import java.util.Date; import javax.swing.SpinnerDateModel; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class setEnd implements Testlet, ChangeListener { private ChangeEvent event; public void stateChanged(ChangeEvent e) { this.event = e; } public void test(TestHarness harness) { Date now = new Date(); Date start = new Date(now.getTime() - 1L); Date preStart = new Date(now.getTime() - 2L); Date end1 = new Date(now.getTime() + 1L); Date end2 = new Date(now.getTime() + 2L); SpinnerDateModel m = new SpinnerDateModel(now, start, end1, Calendar.DAY_OF_MONTH); m.addChangeListener(this); m.setEnd(end2); harness.check(m.getEnd(), end2); harness.check(this.event.getSource(), m); // same value triggers no event this.event = null; m.setEnd(end2); harness.check(this.event == null); // set null end this.event = null; m.setEnd(null); harness.check(m.getEnd(), null); harness.check(this.event.getSource(), m); // same null value triggers no event this.event = null; m.setEnd(null); harness.check(this.event == null); // set end earlier than start m.setEnd(preStart); harness.check(m.getEnd(), preStart); } } mauve-20140821/gnu/testlet/javax/swing/SpinnerDateModel/getPreviousValue.java0000644000175000001440000000421510374605704026043 0ustar dokousers/* getPreviousValue.java -- some checks for the getPreviousValue() method in the SpinnerDateModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.SpinnerDateModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Calendar; import java.util.Date; import javax.swing.SpinnerDateModel; import javax.swing.SpinnerNumberModel; public class getPreviousValue implements Testlet { public void test(TestHarness harness) { Date now = new Date(); Date prev = new Date(now.getTime() - 1L); Date start = new Date(now.getTime() - 2L); Date end = new Date(now.getTime() + 2L); SpinnerDateModel m = new SpinnerDateModel(now, start, end, Calendar.MILLISECOND); harness.check(m.getValue(), now); harness.check(m.getPreviousValue(), prev); // accessing the previous value doesn't update the current value harness.check(m.getValue(), now); m.setValue(prev); harness.check(m.getPreviousValue(), start); m.setValue(start); harness.check(m.getPreviousValue(), null); // repeat for model without bounds m = new SpinnerDateModel(now, null, null, Calendar.MILLISECOND); harness.check(m.getValue(), now); harness.check(m.getPreviousValue(), prev); // accessing the previous value doesn't update the current value harness.check(m.getValue(), now); } } mauve-20140821/gnu/testlet/javax/swing/SpinnerDateModel/setStart.java0000644000175000001440000000451510372417213024340 0ustar dokousers/* setStart.java -- some checks for the setStart() method in the SpinnerDateModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.SpinnerDateModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Calendar; import java.util.Date; import javax.swing.SpinnerDateModel; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class setStart implements Testlet, ChangeListener { private ChangeEvent event; public void stateChanged(ChangeEvent e) { this.event = e; } public void test(TestHarness harness) { Date now = new Date(); Date start1 = new Date(now.getTime() - 1L); Date start2 = new Date(now.getTime() - 2L); Date end = new Date(now.getTime() + 1L); Date postEnd = new Date(now.getTime() + 2L); SpinnerDateModel m = new SpinnerDateModel(now, start1, end, Calendar.DAY_OF_MONTH); m.addChangeListener(this); m.setStart(start2); harness.check(m.getStart(), start2); harness.check(this.event.getSource(), m); // same value triggers no event this.event = null; m.setStart(start2); harness.check(this.event == null); // set null start this.event = null; m.setStart(null); harness.check(m.getStart(), null); harness.check(this.event.getSource(), m); // same null value triggers no event this.event = null; m.setStart(null); harness.check(this.event == null); // set start higher than end m.setStart(postEnd); harness.check(m.getStart(), postEnd); } } mauve-20140821/gnu/testlet/javax/swing/SpinnerDateModel/setValue.java0000644000175000001440000000512510372417213024315 0ustar dokousers/* setValue.java -- some checks for the setValue() method in the SpinnerDateModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.SpinnerDateModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Calendar; import java.util.Date; import javax.swing.SpinnerDateModel; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class setValue implements Testlet, ChangeListener { private ChangeEvent event; public void stateChanged(ChangeEvent e) { this.event = e; } public void test(TestHarness harness) { Date now = new Date(); Date v1 = new Date(now.getTime() - 1L); Date start = new Date(now.getTime() - 2L); Date preStart = new Date(now.getTime() - 3L); Date end = new Date(now.getTime() + 2L); Date postEnd = new Date(now.getTime() + 3L); SpinnerDateModel m = new SpinnerDateModel(now, start, end, Calendar.MILLISECOND); m.addChangeListener(this); m.setValue(v1); harness.check(m.getValue(), v1); harness.check(this.event.getSource(), m); // same value triggers no event this.event = null; m.setValue(v1); harness.check(this.event == null); // set value less than start m.setValue(preStart); harness.check(m.getValue(), preStart); // set value greater than maximum m.setValue(postEnd); harness.check(m.getValue(), postEnd); // set null value boolean pass = false; try { m.setValue(null); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // set a non-date value pass = false; try { m.setValue("123"); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/SpinnerDateModel/getNextValue.java0000644000175000001440000000407210374605704025146 0ustar dokousers/* getNextValue.java -- some checks for the getNextValue() method in the SpinnerDateModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.SpinnerDateModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Calendar; import java.util.Date; import javax.swing.SpinnerDateModel; public class getNextValue implements Testlet { public void test(TestHarness harness) { Date now = new Date(); Date next = new Date(now.getTime() + 1L); Date start = new Date(now.getTime() - 2L); Date end = new Date(now.getTime() + 2L); SpinnerDateModel m = new SpinnerDateModel(now, start, end, Calendar.MILLISECOND); harness.check(m.getValue(), now); harness.check(m.getNextValue(), next); // accessing the next value doesn't update the current value harness.check(m.getValue(), now); m.setValue(next); harness.check(m.getNextValue(), end); m.setValue(end); harness.check(m.getNextValue(), null); // repeat for model without bounds m = new SpinnerDateModel(now, null, null, Calendar.MILLISECOND); harness.check(m.getValue(), now); harness.check(m.getNextValue(), next); // accessing the next value doesn't update the current value harness.check(m.getValue(), now); } } mauve-20140821/gnu/testlet/javax/swing/SizeSequence/0000755000175000001440000000000012375316426021076 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/SizeSequence/constructors.java0000644000175000001440000000544710432433336024513 0ustar dokousers/* constructors.java -- some checks for the constructors in the SizeSequence class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.SizeSequence; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Arrays; import javax.swing.SizeSequence; public class constructors implements Testlet { public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); } private void testConstructor1(TestHarness harness) { harness.checkPoint("()"); SizeSequence s = new SizeSequence(); harness.check(Arrays.equals(s.getSizes(), new int[0])); } private void testConstructor2(TestHarness harness) { harness.checkPoint("(int)"); SizeSequence s = new SizeSequence(3); harness.check(Arrays.equals(s.getSizes(), new int[3])); // try negative boolean pass = false; try { s = new SizeSequence(-1); } catch (NegativeArraySizeException e) { pass = true; } harness.check(pass); } private void testConstructor3(TestHarness harness) { harness.checkPoint("(int, int)"); SizeSequence s = new SizeSequence(3, 5); harness.check(Arrays.equals(s.getSizes(), new int[] {5, 5, 5})); // try negative boolean pass = false; try { s = new SizeSequence(-1, 5); } catch (NegativeArraySizeException e) { pass = true; } harness.check(pass); } private void testConstructor4(TestHarness harness) { harness.checkPoint("(int[])"); int[] sizes = new int[] {1, 2, 3}; SizeSequence s = new SizeSequence(sizes); harness.check(Arrays.equals(s.getSizes(), new int[] {1, 2, 3})); sizes[0] = 99; harness.check(Arrays.equals(s.getSizes(), new int[] {1, 2, 3})); // try null boolean pass = false; try { s = new SizeSequence(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/SizeSequence/getSizes.java0000644000175000001440000000271710432433336023535 0ustar dokousers/* getSizes.java -- some checks for the getSizes() method in the SizeSequence class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.SizeSequence; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Arrays; import javax.swing.SizeSequence; public class getSizes implements Testlet { public void test(TestHarness harness) { int[] sizes = new int[] {1, 2, 3}; SizeSequence s = new SizeSequence(sizes); int[] sizes2 = s.getSizes(); harness.check(Arrays.equals(sizes, sizes2)); // equal, but... harness.check(sizes != sizes2); // ...not the same array s = new SizeSequence(); harness.check(Arrays.equals(s.getSizes(), new int[0])); } } mauve-20140821/gnu/testlet/javax/swing/SizeSequence/insertEntries.java0000644000175000001440000000326010432433336024570 0ustar dokousers/* insertEntries.java -- some checks for the insertEntries() method in the SizeSequence class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.SizeSequence; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Arrays; import javax.swing.SizeSequence; public class insertEntries implements Testlet { public void test(TestHarness harness) { SizeSequence s = new SizeSequence(); s.insertEntries(0, 1, 1); harness.check(Arrays.equals(s.getSizes(), new int[] {1})); s.insertEntries(1, 2, 2); harness.check(Arrays.equals(s.getSizes(), new int[] {1, 2, 2})); s.insertEntries(0, 2, 3); harness.check(Arrays.equals(s.getSizes(), new int[] {3, 3, 1, 2, 2})); s.insertEntries(0, 0, 99); harness.check(Arrays.equals(s.getSizes(), new int[] {3, 3, 1, 2, 2})); s.insertEntries(4, 0, 99); harness.check(Arrays.equals(s.getSizes(), new int[] {3, 3, 1, 2, 2})); } } mauve-20140821/gnu/testlet/javax/swing/SizeSequence/getSize.java0000644000175000001440000000302010504742625023342 0ustar dokousers/* getSize.java -- some checks for the getSize() method in the SizeSequence class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.SizeSequence; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.SizeSequence; public class getSize implements Testlet { public void test(TestHarness harness) { SizeSequence s = new SizeSequence(new int[] {1, 2, 3}); harness.check(s.getSize(0), 1); harness.check(s.getSize(1), 2); harness.check(s.getSize(2), 3); // the spec states that indices outside the valued range have no specified // behaviour, but they seem to return zero... // try negative index harness.check(s.getSize(-1), 0); // try index too large harness.check(s.getSize(3), 0); } } mauve-20140821/gnu/testlet/javax/swing/SizeSequence/setSizes.java0000644000175000001440000000303010432433336023536 0ustar dokousers/* setSizes.java -- some checks for the setSizes() method in the SizeSequence class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.SizeSequence; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Arrays; import javax.swing.SizeSequence; public class setSizes implements Testlet { public void test(TestHarness harness) { SizeSequence s = new SizeSequence(); int[] sizes = new int[] {1, 2, 3}; s.setSizes(sizes); harness.check(Arrays.equals(s.getSizes(), sizes)); sizes[0] = 99; harness.check(Arrays.equals(s.getSizes(), new int[] {1, 2, 3})); boolean pass = false; try { s.setSizes(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/SizeSequence/setSize.java0000644000175000001440000000265610432433336023370 0ustar dokousers/* setSize.java -- some checks for the setSize() method in the SizeSequence class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.SizeSequence; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.SizeSequence; public class setSize implements Testlet { public void test(TestHarness harness) { SizeSequence s = new SizeSequence(new int[] {1, 2, 3}); s.setSize(0, 3); harness.check(s.getSize(0), 3); // the spec says that the behaviour for indices outside the bounds is // unspecified. The following throw no exceptions, but that can't be // relied upon... s.setSize(-1, 3); s.setSize(3, 3); } } mauve-20140821/gnu/testlet/javax/swing/SizeSequence/getIndex.java0000644000175000001440000000324210432433336023501 0ustar dokousers/* getIndex.java -- some checks for the getIndex() method in the SizeSequence class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.SizeSequence; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.SizeSequence; public class getIndex implements Testlet { public void test(TestHarness harness) { SizeSequence s = new SizeSequence(new int[] {1, 2, 3}); harness.check(s.getIndex(0), 0); harness.check(s.getIndex(1), 1); harness.check(s.getIndex(2), 1); harness.check(s.getIndex(3), 2); harness.check(s.getIndex(4), 2); harness.check(s.getIndex(5), 2); harness.check(s.getIndex(6), 3); harness.check(s.getIndex(7), 3); harness.check(s.getIndex(99), 3); harness.check(s.getIndex(-1), 0); s = new SizeSequence(); harness.check(s.getIndex(-1), 0); harness.check(s.getIndex(0), 0); harness.check(s.getIndex(1), 0); } } mauve-20140821/gnu/testlet/javax/swing/SizeSequence/removeEntries.java0000644000175000001440000000332310432433336024561 0ustar dokousers/* removeEntries.java -- some checks for the removeEntries() method in the SizeSequence class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.SizeSequence; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Arrays; import javax.swing.SizeSequence; public class removeEntries implements Testlet { public void test(TestHarness harness) { SizeSequence s = new SizeSequence(new int[] {1, 2, 3}); s.removeEntries(0, 0); harness.check(Arrays.equals(s.getSizes(), new int[] {1, 2, 3})); s.removeEntries(2, 0); harness.check(Arrays.equals(s.getSizes(), new int[] {1, 2, 3})); s.removeEntries(0, 2); harness.check(Arrays.equals(s.getSizes(), new int[] {3})); s.removeEntries(0, 1); harness.check(Arrays.equals(s.getSizes(), new int[0])); s = new SizeSequence(new int[] {1, 2, 3, 4, 5}); s.removeEntries(3, 2); harness.check(Arrays.equals(s.getSizes(), new int[] {1, 2, 3})); } } mauve-20140821/gnu/testlet/javax/swing/ViewportLayout/0000755000175000001440000000000012375316426021510 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/ViewportLayout/layoutContainer.java0000644000175000001440000000753110366762263025543 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.ViewportLayout; import java.awt.Dimension; import java.awt.Point; import javax.swing.JPanel; import javax.swing.JViewport; import javax.swing.ViewportLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Checks the functionality of the LayoutManager javax.swing.ViewportLayout. * * @author Roman Kennke (kennke@aicas.com) */ public class layoutContainer implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { test1(harness); test2(harness); test3(harness); testMinimumViewSize(harness); } /** * A simple test for the layout manager. * * @param h the test harness to use */ private void test1(TestHarness h) { JViewport vp = new JViewport(); ViewportLayout layout = (ViewportLayout) vp.getLayout(); JPanel view = new JPanel(){}; vp.setView(view); view.setMinimumSize(new Dimension(100, 100)); view.setPreferredSize(new Dimension(200, 200)); view.setMaximumSize(new Dimension(300, 300)); vp.setSize(400, 400); layout.layoutContainer(vp); h.check(view.getSize(), new Dimension(400, 400)); } /** * Another simple test for the layout manager. * * @param h the test harness to use */ private void test2(TestHarness h) { JViewport vp = new JViewport(); ViewportLayout layout = (ViewportLayout) vp.getLayout(); JPanel view = new JPanel(){}; vp.setView(view); view.setMinimumSize(new Dimension(100, 100)); view.setPreferredSize(new Dimension(200, 200)); view.setMaximumSize(new Dimension(300, 300)); vp.setSize(150, 150); layout.layoutContainer(vp); h.check(view.getSize(), new Dimension(200, 200)); } /** * Another simple test for the layout manager. * * @param h the test harness to use */ private void test3(TestHarness h) { JViewport vp = new JViewport(); ViewportLayout layout = (ViewportLayout) vp.getLayout(); JPanel view = new JPanel(){}; vp.setView(view); view.setMinimumSize(new Dimension(100, 100)); view.setPreferredSize(new Dimension(10, 10)); view.setMaximumSize(new Dimension(300, 300)); vp.setSize(50, 50); layout.layoutContainer(vp); h.check(view.getSize(), new Dimension(50, 50)); } /** * There was a strange rule in Classpath's implementation that said that if * the viewport is larger than the view's minimumSize, the view's location * must be set to (0,0). This test proves that this is wrong. * * @param h the test harness to use */ private void testMinimumViewSize(TestHarness h) { JViewport vp = new JViewport(); ViewportLayout l = (ViewportLayout) vp.getLayout(); JPanel view = new JPanel(); view.setMinimumSize(new Dimension(100, 100)); view.setPreferredSize(new Dimension(200, 200)); view.setMaximumSize(new Dimension(300, 300)); vp.setSize(150, 150); vp.setView(view); view.setBounds(50, 50, 100, 100); l.layoutContainer(vp); h.check(view.getLocation(), new Point(50, 50)); } } mauve-20140821/gnu/testlet/javax/swing/ViewportLayout/minimumLayoutSize.java0000644000175000001440000000272210367415712026057 0ustar dokousers/* minimumLayoutSize.java -- Tests the minimumLayoutSize of the ViewportLayout Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.ViewportLayout; import java.awt.Dimension; import javax.swing.ViewportLayout; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests the minimumLayoutSize() method of the ViewportLayout. * * @author Roman Kennke (kennke@aicas.com) */ public class minimumLayoutSize implements Testlet { /** * The entry point into this test. * * @param harness the test harness to use */ public void test(TestHarness harness) { ViewportLayout l = new ViewportLayout(); Dimension minSize = l.minimumLayoutSize(null); harness.check(minSize, new Dimension(4, 4)); } } mauve-20140821/gnu/testlet/javax/swing/JTextField/0000755000175000001440000000000012375316426020475 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JTextField/getActions.java0000644000175000001440000001036310163332654023435 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Michael Koch // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JTextField; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.Action; import javax.swing.JTextField; import javax.swing.text.TextAction; public class getActions implements Testlet { private void checkForAction(TestHarness h, Action[] actions, String name) { boolean found = false; for (int i = 0 ; i < actions.length; ++i) if (((TextAction) actions[i]).getValue(Action.NAME).equals(name)) { found = true; break; } h.check(found, name); } public void test(TestHarness h) { JTextField textField = new JTextField(); Action[] actions = textField.getActions(); h.check(actions != null, "actions != null"); h.check(actions.length, 54, "number of actions"); checkForAction(h, actions, "caret-backward"); checkForAction(h, actions, "caret-begin-line"); checkForAction(h, actions, "caret-end-line"); checkForAction(h, actions, "caret-forward"); checkForAction(h, actions, "caret-next-word"); checkForAction(h, actions, "caret-previous-word"); checkForAction(h, actions, "copy-to-clipboard"); checkForAction(h, actions, "cut-to-clipboard"); checkForAction(h, actions, "delete-next"); checkForAction(h, actions, "delete-previous"); checkForAction(h, actions, "notify-field-accept"); checkForAction(h, actions, "paste-from-clipboard"); checkForAction(h, actions, "select-all"); checkForAction(h, actions, "selection-backward"); checkForAction(h, actions, "selection-begin"); checkForAction(h, actions, "selection-begin-line"); checkForAction(h, actions, "selection-begin-word"); checkForAction(h, actions, "selection-end"); checkForAction(h, actions, "selection-end-line"); checkForAction(h, actions, "selection-end-word"); checkForAction(h, actions, "selection-forward"); checkForAction(h, actions, "selection-next-word"); checkForAction(h, actions, "selection-previous-word"); checkForAction(h, actions, "toggle-componentOrientation"); checkForAction(h, actions, "unselect"); checkForAction(h, actions, "beep"); checkForAction(h, actions, "caret-begin"); checkForAction(h, actions, "caret-begin-paragraph"); checkForAction(h, actions, "caret-begin-word"); checkForAction(h, actions, "caret-down"); checkForAction(h, actions, "caret-end"); checkForAction(h, actions, "caret-end-paragraph"); checkForAction(h, actions, "caret-end-word"); checkForAction(h, actions, "caret-up"); checkForAction(h, actions, "default-typed"); checkForAction(h, actions, "dump-model"); checkForAction(h, actions, "insert-break"); checkForAction(h, actions, "insert-content"); checkForAction(h, actions, "insert-tab"); checkForAction(h, actions, "page-down"); checkForAction(h, actions, "page-up"); checkForAction(h, actions, "selection-begin-paragraph"); checkForAction(h, actions, "selection-down"); checkForAction(h, actions, "selection-end-paragraph"); checkForAction(h, actions, "selection-page-down"); checkForAction(h, actions, "selection-page-left"); checkForAction(h, actions, "selection-page-right"); checkForAction(h, actions, "selection-page-up"); checkForAction(h, actions, "selection-up"); checkForAction(h, actions, "select-line"); checkForAction(h, actions, "select-paragraph"); checkForAction(h, actions, "select-word"); checkForAction(h, actions, "set-read-only"); checkForAction(h, actions, "set-writable"); } } mauve-20140821/gnu/testlet/javax/swing/JTextField/createDefaultModel.java0000644000175000001440000000371110330162330025051 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JTextField; import javax.swing.JTextField; import javax.swing.text.Document; import javax.swing.text.PlainDocument; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Checks if the method createDefaultModel in JTextField returns the correct * value. It must be a document of type javax.swing.text.PlainDocument. * * @author Roman Kennke (kennke@aicas.com) */ public class createDefaultModel implements Testlet { /** * A testclass that overrides the protected method. * * @author Roman Kennke (kennke@aicas.com) */ static class TestTextField extends JTextField { /** * Overridden to make this method publicly accessible. * * @return the created document */ public Document createDefaultModel() { return super.createDefaultModel(); } } /** * Starts the testrun. * * @param harness the test harness to use */ public void test(TestHarness harness) { TestTextField tf = new TestTextField(); Document doc = tf.createDefaultModel(); harness.check(doc.getClass(), PlainDocument.class); harness.check(doc.getProperty("filterNewlines"), null); } } mauve-20140821/gnu/testlet/javax/swing/JTextField/fireActionPerformed.java0000644000175000001440000001027310522130324025251 0ustar dokousers/* fireActionPerfomed.java Copyright (C) 2006 This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: 1.4 package gnu.testlet.javax.swing.JTextField; import java.awt.Point; import java.awt.Robot; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; import javax.swing.JFrame; import javax.swing.JTextField; import javax.swing.SwingUtilities; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class fireActionPerformed implements Testlet { JFrame frame; JTextField text; Robot robot; protected void setUp1(final TestHarness harness) throws Exception { text = new JTextField(); text.setActionCommand(null); text.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { harness.check(event.getActionCommand() != null); harness.check(event.getActionCommand(), text.getText()); } }); frame = new JFrame(); frame.setSize(200, 200); frame.getContentPane().add(text); frame.show(); robot = new Robot(); robot.setAutoDelay(50); robot.delay(500); } protected void setUp2(final TestHarness harness) throws Exception { text = new JTextField(); text.setActionCommand("Action Command"); text.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { harness.check(event.getActionCommand() != null); harness.check(event.getActionCommand() != text.getText()); harness.check(event.getActionCommand() == "Action Command"); } }); frame = new JFrame(); frame.setSize(200, 200); frame.getContentPane().add(text); frame.show(); robot = new Robot(); robot.setAutoDelay(50); robot.delay(500); } protected void tearDown() throws Exception { frame.dispose(); } public void click(JTextField text, int x, int y) { Point p = new Point(); p.x = x; p.y = y; SwingUtilities.convertPointToScreen(p, text); robot.mouseMove(p.x, p.y); robot.mousePress(InputEvent.BUTTON1_MASK); robot.mouseRelease(InputEvent.BUTTON1_MASK); } public void type(int key) { robot.keyPress(key); robot.keyRelease(key); } public void enterInput(TestHarness harness) { type(KeyEvent.VK_U); type(KeyEvent.VK_S); type(KeyEvent.VK_E); type(KeyEvent.VK_R); type(KeyEvent.VK_SPACE); type(KeyEvent.VK_I); type(KeyEvent.VK_N); type(KeyEvent.VK_P); type(KeyEvent.VK_U); type(KeyEvent.VK_T); type(KeyEvent.VK_ENTER); } public void test(TestHarness harness) { // This test ensures that if actionCommand == null, // then the user's input is used as the actionCommand. try { setUp1(harness); try { click(text, text.getWidth() / 2, text.getHeight() / 2); enterInput(harness); } finally { tearDown(); } } catch (Exception e) { e.printStackTrace(); harness.fail("Exception: " + e); } // This test ensures that if actionCommand != null, // then the actionCommand is used. try { setUp2(harness); try { click(text, text.getWidth() / 2, text.getHeight() / 2); enterInput(harness); } finally { tearDown(); } } catch (Exception e) { e.printStackTrace(); harness.fail("Exception: " + e); } } } mauve-20140821/gnu/testlet/javax/swing/JTextField/CopyPaste.java0000644000175000001440000000302010334120262023222 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JTextField; import javax.swing.JTextField; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests the copy/paste functionality. Must work without GUI as well. */ public class CopyPaste implements Testlet { public void test(TestHarness harness) { String pasteIt = "the string to paste"; JTextField field = new JTextField(); field.setText(pasteIt); harness.check(field.getText(), pasteIt, "get/setText"); field.selectAll(); field.copy(); JTextField field2 = new JTextField(); field2.paste(); harness.check(field2.getText(), pasteIt, "paste"); field2.paste(); harness.check(field2.getText(), pasteIt + pasteIt,"subsequent paste"); } } mauve-20140821/gnu/testlet/javax/swing/JTextField/setDocument.java0000644000175000001440000000431310361532427023625 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Red Hat. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JTextField; import java.beans.PropertyChangeEvent; import javax.swing.JTextField; import javax.swing.text.Document; import javax.swing.plaf.basic.BasicTextFieldUI; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Checks if the setDocument method sets the "filterNewLines" property and if * it does so through a PropertyChangeEvent. */ public class setDocument implements Testlet { static TestHarness h2; class TestUI extends BasicTextFieldUI { protected void propertyChange(PropertyChangeEvent evt) { Document doc = ((JTextField)getComponent()).getDocument(); h2.check (doc.getProperty("filterNewlines"), Boolean.TRUE); super.propertyChange(evt); h2.check (doc.getProperty("filterNewlines"), Boolean.TRUE); } } static class TestTextField extends JTextField { public void setDocument(Document doc) { h2.check (doc.getProperty("filterNewlines") == null); super.setDocument(doc); h2.check (doc.getProperty("filterNewlines") != null); } public Document createDefaultModel() { return super.createDefaultModel(); } } /** * Starts the testrun. * * @param harness the test harness to use */ public void test(TestHarness harness) { h2 = harness; TestTextField tf = new TestTextField(); tf.setUI(new TestUI()); Document doc = tf.createDefaultModel(); tf.setDocument(doc); } } mauve-20140821/gnu/testlet/javax/swing/JProgressBar/0000755000175000001440000000000012375316426021036 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JProgressBar/constructors.java0000644000175000001440000001044710263212515024443 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JProgressBar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.BoundedRangeModel; import javax.swing.DefaultBoundedRangeModel; import javax.swing.JProgressBar; /** * Some checks for the constructors in the {@link JProgressBar} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { constructor1(harness); constructor2(harness); constructor3(harness); constructor4(harness); constructor5(harness); } public void constructor1(TestHarness harness) { harness.checkPoint("JProgressBar()"); JProgressBar bar = new JProgressBar(); harness.check(bar.getOrientation(), JProgressBar.HORIZONTAL); harness.check(bar.getValue(), 0); harness.check(bar.getMinimum(), 0); harness.check(bar.getMaximum(), 100); harness.check(bar.getString(), "0%"); harness.check(bar.isStringPainted(), false); } public void constructor2(TestHarness harness) { harness.checkPoint("JProgressBar(BoundedRangeModel)"); BoundedRangeModel m = new DefaultBoundedRangeModel(50, 10, 0, 100); JProgressBar bar = new JProgressBar(m); harness.check(bar.getOrientation(), JProgressBar.HORIZONTAL); harness.check(bar.getValue(), 50); harness.check(bar.getMinimum(), 0); harness.check(bar.getMaximum(), 100); harness.check(bar.getString(), "50%"); harness.check(bar.isStringPainted(), false); boolean pass = false; try { bar = new JProgressBar(null); } catch (NullPointerException e) { harness.check(pass); } } public void constructor3(TestHarness harness) { harness.checkPoint("JProgressBar(int)"); JProgressBar bar = new JProgressBar(JProgressBar.HORIZONTAL); harness.check(bar.getOrientation(), JProgressBar.HORIZONTAL); harness.check(bar.getValue(), 0); harness.check(bar.getMinimum(), 0); harness.check(bar.getMaximum(), 100); harness.check(bar.getString(), "0%"); harness.check(bar.isStringPainted(), false); bar = new JProgressBar(JProgressBar.VERTICAL); harness.check(bar.getOrientation(), JProgressBar.VERTICAL); boolean pass = false; try { bar = new JProgressBar(99); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } public void constructor4(TestHarness harness) { harness.checkPoint("JProgressBar(int, int)"); JProgressBar bar = new JProgressBar(12, 34); harness.check(bar.getOrientation(), JProgressBar.HORIZONTAL); harness.check(bar.getValue(), 12); harness.check(bar.getMinimum(), 12); harness.check(bar.getMaximum(), 34); harness.check(bar.getString(), "0%"); harness.check(bar.isStringPainted(), false); boolean pass = false; try { bar = new JProgressBar(34, 12); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } public void constructor5(TestHarness harness) { harness.checkPoint("JProgressBar(int, int, int)"); JProgressBar bar = new JProgressBar(JProgressBar.VERTICAL, 12, 34); harness.check(bar.getOrientation(), JProgressBar.VERTICAL); harness.check(bar.getValue(), 12); harness.check(bar.getMinimum(), 12); harness.check(bar.getMaximum(), 34); harness.check(bar.getString(), "0%"); harness.check(bar.isStringPainted(), false); } } mauve-20140821/gnu/testlet/javax/swing/JProgressBar/getAccessibleContext.java0000644000175000001440000001217710437270504026004 0ustar dokousers/* getAccessibleContext.java -- some checks for the getAccessibleContext() method in the JProgressBar class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JProgressBar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleRole; import javax.accessibility.AccessibleState; import javax.accessibility.AccessibleStateSet; import javax.accessibility.AccessibleValue; import javax.swing.JProgressBar; import javax.swing.JSlider; public class getAccessibleContext implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } public void test(TestHarness harness) { JProgressBar progressBar = new JProgressBar(10, 90); progressBar.setValue(50); AccessibleContext ac = progressBar.getAccessibleContext(); harness.check(ac.getAccessibleName(), null); harness.check(ac.getAccessibleRole(), AccessibleRole.PROGRESS_BAR); harness.check(ac.getAccessibleAction(), null); harness.check(ac.getAccessibleComponent(), ac); harness.check(ac.getAccessibleDescription(), null); harness.check(ac.getAccessibleEditableText(), null); harness.check(ac.getAccessibleIcon(), null); harness.check(ac.getAccessibleTable(), null); harness.check(ac.getAccessibleText(), null); // the AccessibleContext is also the AccessibleValue... AccessibleValue av = ac.getAccessibleValue(); harness.check(av, ac); harness.check(av.getCurrentAccessibleValue(), new Integer(50)); harness.check(av.getMinimumAccessibleValue(), new Integer(10)); harness.check(av.getMaximumAccessibleValue(), new Integer(90)); // check that setting the accessible value updates the slider ac.addPropertyChangeListener(this); boolean b = av.setCurrentAccessibleValue(new Integer(55)); harness.check(progressBar.getValue(), 55); harness.check(b); harness.check(events.size(), 1); PropertyChangeEvent e0 = (PropertyChangeEvent) events.get(0); harness.check(e0.getPropertyName(), AccessibleContext.ACCESSIBLE_VALUE_PROPERTY); harness.check(e0.getSource(), ac); harness.check(e0.getOldValue(), new Integer(50)); harness.check(e0.getNewValue(), new Integer(55)); // set the value below the minimum events.clear(); b = av.setCurrentAccessibleValue(new Integer(5)); harness.check(av.getCurrentAccessibleValue(), new Integer(10)); harness.check(b); harness.check(events.size(), 1); e0 = (PropertyChangeEvent) events.get(0); harness.check(e0.getPropertyName(), AccessibleContext.ACCESSIBLE_VALUE_PROPERTY); harness.check(e0.getSource(), ac); harness.check(e0.getOldValue(), new Integer(55)); harness.check(e0.getNewValue(), new Integer(10)); // set the value above the maximum events.clear(); b = av.setCurrentAccessibleValue(new Integer(105)); harness.check(av.getCurrentAccessibleValue(), new Integer(90)); harness.check(b); harness.check(events.size(), 1); e0 = (PropertyChangeEvent) events.get(0); harness.check(e0.getPropertyName(), AccessibleContext.ACCESSIBLE_VALUE_PROPERTY); harness.check(e0.getSource(), ac); harness.check(e0.getOldValue(), new Integer(10)); harness.check(e0.getNewValue(), new Integer(90)); // set the value to null events.clear(); b = av.setCurrentAccessibleValue(null); harness.check(av.getCurrentAccessibleValue(), new Integer(90)); harness.check(events.size(), 0); harness.check(!b); // check the state settings... AccessibleStateSet set = ac.getAccessibleStateSet(); harness.check(set.contains(AccessibleState.ENABLED)); harness.check(set.contains(AccessibleState.FOCUSABLE)); harness.check(set.contains(AccessibleState.VISIBLE)); harness.check(set.contains(AccessibleState.OPAQUE)); harness.check(set.contains(AccessibleState.HORIZONTAL)); // each call creates a new set... AccessibleStateSet set2 = ac.getAccessibleStateSet(); harness.check(set != set2); // check the orientation state setting... progressBar.setOrientation(JSlider.VERTICAL); set = ac.getAccessibleStateSet(); harness.check(set.contains(AccessibleState.VERTICAL)); } } mauve-20140821/gnu/testlet/javax/swing/JProgressBar/setBorderPainted.java0000644000175000001440000000346010437270504025133 0ustar dokousers/* setBorderPainted.java -- some checks for the setBorderPainted() method in the JProgressBar class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JProgressBar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JProgressBar; public class setBorderPainted implements Testlet, PropertyChangeListener { PropertyChangeEvent lastEvent; public void propertyChange(PropertyChangeEvent event) { lastEvent = event; } public void test(TestHarness harness) { JProgressBar pb = new JProgressBar(); harness.check(pb.isBorderPainted(), true); pb.addPropertyChangeListener(this); pb.setBorderPainted(true); harness.check(lastEvent, null); pb.setBorderPainted(false); harness.check(pb.isBorderPainted(), false); harness.check(lastEvent.getPropertyName(), "borderPainted"); harness.check(lastEvent.getOldValue(), Boolean.TRUE); harness.check(lastEvent.getNewValue(), Boolean.FALSE); } } mauve-20140821/gnu/testlet/javax/swing/JProgressBar/setOrientation.java0000644000175000001440000000410310437270504024677 0ustar dokousers/* setOrientation.java -- some checks for the setOrientation() method in the JProgressBar class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JProgressBar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JProgressBar; import javax.swing.SwingConstants; public class setOrientation implements Testlet, PropertyChangeListener { PropertyChangeEvent lastEvent; public void propertyChange(PropertyChangeEvent event) { lastEvent = event; } public void test(TestHarness harness) { JProgressBar pb = new JProgressBar(); harness.check(pb.getOrientation(), SwingConstants.HORIZONTAL); pb.addPropertyChangeListener(this); pb.setOrientation(SwingConstants.VERTICAL); harness.check(pb.getOrientation(), SwingConstants.VERTICAL); harness.check(lastEvent.getPropertyName(), "orientation"); harness.check(lastEvent.getOldValue(), new Integer(SwingConstants.HORIZONTAL)); harness.check(lastEvent.getNewValue(), new Integer(SwingConstants.VERTICAL)); boolean pass = false; try { pb.setOrientation(99); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JProgressBar/getPercentComplete.java0000644000175000001440000000304410437270504025464 0ustar dokousers/* getPercentComplete.java -- some checks for the getPercentComplete() method in the JProgressBar class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JProgressBar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JProgressBar; public class getPercentComplete implements Testlet { public void test(TestHarness harness) { JProgressBar pb = new JProgressBar(0, 9); harness.check(pb.getPercentComplete(), 0.0); pb.setValue(3); harness.check(pb.getPercentComplete(), 3.0 / 9.0); pb = new JProgressBar(5, 10); harness.check(pb.getPercentComplete(), 0.0); pb.setValue(6); harness.check(pb.getPercentComplete(), 0.2); pb = new JProgressBar(10, 10); harness.check(Double.isNaN(pb.getPercentComplete())); } } mauve-20140821/gnu/testlet/javax/swing/JProgressBar/setValue.java0000644000175000001440000000430210437270504023461 0ustar dokousers/* setValue.java -- some checks for the setValue() method in the JProgressBar class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JProgressBar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.List; import javax.swing.DefaultBoundedRangeModel; import javax.swing.JProgressBar; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class setValue implements Testlet, ChangeListener { List events = new java.util.ArrayList(); public void stateChanged(ChangeEvent e) { events.add(e); } public void test(TestHarness harness) { DefaultBoundedRangeModel m = new DefaultBoundedRangeModel(); m.addChangeListener(this); JProgressBar pb = new JProgressBar(m); pb.addChangeListener(this); harness.check(pb.getValue(), 0); pb.setValue(55); harness.check(pb.getValue(), 55); harness.check(m.getValue(), 55); harness.check(events.size(), 2); // setting the same value triggers no events events.clear(); pb.setValue(55); harness.check(events.size(), 0); // try value < minimum events.clear(); pb.setValue(-1); harness.check(pb.getValue(), 0); harness.check(m.getValue(), 0); harness.check(events.size(), 2); // try value > maximum events.clear(); pb.setValue(101); harness.check(pb.getValue(), 100); harness.check(m.getValue(), 100); harness.check(events.size(), 2); } } mauve-20140821/gnu/testlet/javax/swing/JProgressBar/MyJProgressBar.java0000644000175000001440000000217010437270504024543 0ustar dokousers/* MyJProgressBar.java -- provides access to protected stuff in the JProgressBar class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.javax.swing.JProgressBar; import javax.swing.JProgressBar; public class MyJProgressBar extends JProgressBar { public MyJProgressBar() { super(); } public String paramString() { return super.paramString(); } } mauve-20140821/gnu/testlet/javax/swing/JProgressBar/setString.java0000644000175000001440000000362310437270504023660 0ustar dokousers/* setString.java -- some checks for the setString() method in the JProgressBar class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JProgressBar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JProgressBar; public class setString implements Testlet, PropertyChangeListener { PropertyChangeEvent lastEvent; public void propertyChange(PropertyChangeEvent event) { lastEvent = event; } public void test(TestHarness harness) { JProgressBar pb = new JProgressBar(); harness.check(pb.getString(), "0%"); pb.addPropertyChangeListener(this); pb.setString("XYZ"); harness.check(pb.getString(), "XYZ"); harness.check(lastEvent.getPropertyName(), "string"); harness.check(lastEvent.getOldValue(), null); harness.check(lastEvent.getNewValue(), "XYZ"); pb.setString(null); harness.check(pb.getString(), "0%"); harness.check(lastEvent.getPropertyName(), "string"); harness.check(lastEvent.getOldValue(), "XYZ"); harness.check(lastEvent.getNewValue(), null); } } mauve-20140821/gnu/testlet/javax/swing/JProgressBar/setStringPainted.java0000644000175000001440000000346010437270504025164 0ustar dokousers/* setStringPainted.java -- some checks for the setStringPainted() method in the JProgressBar class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JProgressBar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JProgressBar; public class setStringPainted implements Testlet, PropertyChangeListener { PropertyChangeEvent lastEvent; public void propertyChange(PropertyChangeEvent event) { lastEvent = event; } public void test(TestHarness harness) { JProgressBar pb = new JProgressBar(); harness.check(pb.isStringPainted(), false); pb.addPropertyChangeListener(this); pb.setStringPainted(false); harness.check(lastEvent, null); pb.setStringPainted(true); harness.check(pb.isStringPainted(), true); harness.check(lastEvent.getPropertyName(), "stringPainted"); harness.check(lastEvent.getOldValue(), Boolean.FALSE); harness.check(lastEvent.getNewValue(), Boolean.TRUE); } } mauve-20140821/gnu/testlet/javax/swing/JProgressBar/setModel.java0000644000175000001440000000406310437270504023451 0ustar dokousers/* setModel.java -- some checks for the setModel() method in the JProgressBar class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JProgressBar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultBoundedRangeModel; import javax.swing.JProgressBar; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class setModel implements Testlet, ChangeListener { ChangeEvent lastEvent; public void stateChanged(ChangeEvent e) { lastEvent = e; } public void test(TestHarness harness) { DefaultBoundedRangeModel m1 = new DefaultBoundedRangeModel(1, 2, 0, 10); JProgressBar pb = new JProgressBar(m1); pb.addChangeListener(this); harness.check(m1.getExtent(), 0); harness.check(m1.getChangeListeners().length, 1); DefaultBoundedRangeModel m2 = new DefaultBoundedRangeModel(10, 20, 0, 100); pb.setModel(m2); harness.check(pb.getModel(), m2); harness.check(m2.getExtent(), 0); harness.check(m1.getChangeListeners().length, 0); harness.check(m2.getChangeListeners().length, 1); harness.check(lastEvent.getSource(), pb); boolean pass = false; try { pb.setModel(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JProgressBar/isStringPainted.java0000644000175000001440000000244010437270504025001 0ustar dokousers/* isStringPainted.java -- some checks for the isStringPainted() method in the JProgressBar class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JProgressBar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JProgressBar; public class isStringPainted implements Testlet { public void test(TestHarness harness) { JProgressBar pb = new JProgressBar(); harness.check(pb.isStringPainted(), false); pb.setStringPainted(true); harness.check(pb.isStringPainted(), true); } } mauve-20140821/gnu/testlet/javax/swing/JProgressBar/paramString.java0000644000175000001440000000243611015022005024146 0ustar dokousers/* paramString.java -- some checks for the paramString() method in the JProgressBar class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: MyJProgressBar package gnu.testlet.javax.swing.JProgressBar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class paramString implements Testlet { public void test(TestHarness harness) { MyJProgressBar p = new MyJProgressBar(); harness.check(p.paramString().endsWith(",orientation=HORIZONTAL,paintBorder=true,paintString=false,progressString=,indeterminateString=false")); } } mauve-20140821/gnu/testlet/javax/swing/JProgressBar/getString.java0000644000175000001440000000253210437270504023642 0ustar dokousers/* getString.java -- some checks for the getString() method in the JProgressBar class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JProgressBar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JProgressBar; public class getString implements Testlet { public void test(TestHarness harness) { JProgressBar pb = new JProgressBar(); harness.check(pb.getString(), "0%"); pb.setString("XYZ"); harness.check(pb.getString(), "XYZ"); pb.setString(null); pb.setValue(100); harness.check(pb.getString(), "100%"); } } mauve-20140821/gnu/testlet/javax/swing/border/0000755000175000001440000000000012375316426017750 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/border/CompoundBorder/0000755000175000001440000000000012375316426022672 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/border/CompoundBorder/isBorderOpaque.java0000644000175000001440000000650710535604775026474 0ustar dokousers/* isBorderOpaque.java Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.border.CompoundBorder; import java.awt.Color; import javax.swing.border.CompoundBorder; import javax.swing.border.LineBorder; import javax.swing.border.TitledBorder; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class isBorderOpaque implements Testlet { public void test(TestHarness harness) { CompoundBorder border = new CompoundBorder(); harness.check(border.isBorderOpaque(), true); border = new CompoundBorder(null, null); harness.check(border.isBorderOpaque(), true); border = new CompoundBorder(new TitledBorder(""), new TitledBorder("")); harness.check(border.isBorderOpaque(), false); border = new CompoundBorder(null, new TitledBorder("")); harness.check(border.isBorderOpaque(), false); border = new CompoundBorder(new TitledBorder(""), null); harness.check(border.isBorderOpaque(), false); border = new CompoundBorder(new LineBorder(Color.red, 33, false), null); harness.check(border.isBorderOpaque(), true); harness.check(border.getInsideBorder() == null); harness.check(border.getOutsideBorder().isBorderOpaque(), true); border = new CompoundBorder(null, new LineBorder(Color.red, 33, false)); harness.check(border.isBorderOpaque(), true); harness.check(border.getInsideBorder().isBorderOpaque(), true); harness.check(border.getOutsideBorder() == null); border = new CompoundBorder(new LineBorder(Color.red, 33, false), new LineBorder(Color.red, 33, false)); harness.check(border.isBorderOpaque(), true); harness.check(border.getInsideBorder().isBorderOpaque(), true); harness.check(border.getOutsideBorder().isBorderOpaque(), true); border = new CompoundBorder(new LineBorder(Color.red, 33, true), null); harness.check(border.isBorderOpaque(), false); harness.check(border.getInsideBorder() == null); harness.check(border.getOutsideBorder().isBorderOpaque(), false); border = new CompoundBorder(null, new LineBorder(Color.red, 33, true)); harness.check(border.isBorderOpaque(), false); harness.check(border.getInsideBorder().isBorderOpaque(), false); harness.check(border.getOutsideBorder() == null); border = new CompoundBorder(new LineBorder(Color.red, 33, true), new LineBorder(Color.red, 33, true)); harness.check(border.isBorderOpaque(), false); harness.check(border.getInsideBorder().isBorderOpaque(), false); harness.check(border.getOutsideBorder().isBorderOpaque(), false); } } mauve-20140821/gnu/testlet/javax/swing/border/TitledBorder/0000755000175000001440000000000012375316426022333 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/border/TitledBorder/constructors.java0000644000175000001440000001745511634111277025754 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005, 2006 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.border.TitledBorder; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.awt.Font; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.Border; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the constructors of the {@link TitledBorder} * class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // test with DefaultMetalTheme try { MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme()); UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } test1(harness); test2(harness); test3(harness); test4(harness); test5(harness); test6(harness); } public void test1(TestHarness harness) { harness.checkPoint("(Border)"); Border b = new EmptyBorder(1, 2, 3, 4); TitledBorder tb = new TitledBorder(b); harness.check(tb.getBorder(), b); harness.check(tb.getTitle(), ""); Color c = UIManager.getLookAndFeelDefaults().getColor( "TitledBorder.titleColor"); harness.check(tb.getTitleColor(), c); Font f = UIManager.getLookAndFeelDefaults().getFont("TitledBorder.font"); harness.check(tb.getTitleFont(), f); harness.check(tb.getTitlePosition(), TitledBorder.DEFAULT_POSITION); harness.check(tb.getTitleJustification(), TitledBorder.LEADING); tb = new TitledBorder((Border) null); Border bb = UIManager.getLookAndFeelDefaults().getBorder( "TitledBorder.border"); harness.check(tb.getBorder(), bb); } public void test2(TestHarness harness) { harness.checkPoint("(Border, String)"); Border b = new EmptyBorder(1, 2, 3, 4); TitledBorder tb = new TitledBorder(b, "XYZ"); harness.check(tb.getBorder(), b); harness.check(tb.getTitle(), "XYZ"); Color c = UIManager.getLookAndFeelDefaults().getColor( "TitledBorder.titleColor"); harness.check(tb.getTitleColor(), c); Font f = UIManager.getLookAndFeelDefaults().getFont("TitledBorder.font"); harness.check(tb.getTitleFont(), f); harness.check(tb.getTitlePosition(), TitledBorder.DEFAULT_POSITION); harness.check(tb.getTitleJustification(), TitledBorder.LEADING); tb = new TitledBorder((Border) null, "XYZ"); Border bb = UIManager.getLookAndFeelDefaults().getBorder( "TitledBorder.border"); harness.check(tb.getBorder(), bb); tb = new TitledBorder(new EmptyBorder(1, 2, 3, 4), null); harness.check(tb.getTitle(), null); } public void test3(TestHarness harness) { harness.checkPoint("(Border, String, int, int)"); Border b = new EmptyBorder(1, 2, 3, 4); TitledBorder tb = new TitledBorder(b, "XYZ", TitledBorder.LEFT, TitledBorder.BELOW_BOTTOM); harness.check(tb.getBorder(), b); harness.check(tb.getTitle(), "XYZ"); Color c = UIManager.getLookAndFeelDefaults().getColor( "TitledBorder.titleColor"); harness.check(tb.getTitleColor(), c); Font f = UIManager.getLookAndFeelDefaults().getFont("TitledBorder.font"); harness.check(tb.getTitleFont(), f); harness.check(tb.getTitlePosition(), TitledBorder.BELOW_BOTTOM); harness.check(tb.getTitleJustification(), TitledBorder.LEFT); tb = new TitledBorder((Border) null, "XYZ", TitledBorder.LEFT, TitledBorder.BELOW_BOTTOM); Border bb = UIManager.getLookAndFeelDefaults().getBorder( "TitledBorder.border"); harness.check(tb.getBorder(), bb); tb = new TitledBorder(new EmptyBorder(1, 2, 3, 4), null, TitledBorder.LEFT, TitledBorder.BELOW_BOTTOM); harness.check(tb.getTitle(), null); } public void test4(TestHarness harness) { harness.checkPoint("(Border, String, int, int, Font)"); Border b = new EmptyBorder(1, 2, 3, 4); Font f = new Font("Dialog", Font.BOLD, 16); TitledBorder tb = new TitledBorder(b, "XYZ", TitledBorder.LEFT, TitledBorder.BELOW_BOTTOM, f); harness.check(tb.getBorder(), b); harness.check(tb.getTitle(), "XYZ"); Color c = UIManager.getLookAndFeelDefaults().getColor( "TitledBorder.titleColor"); harness.check(tb.getTitleColor(), c); harness.check(tb.getTitleFont(), f); harness.check(tb.getTitlePosition(), TitledBorder.BELOW_BOTTOM); harness.check(tb.getTitleJustification(), TitledBorder.LEFT); tb = new TitledBorder((Border) null, "XYZ", TitledBorder.LEFT, TitledBorder.BELOW_BOTTOM, f); Border bb = UIManager.getLookAndFeelDefaults().getBorder( "TitledBorder.border"); harness.check(tb.getBorder(), bb); tb = new TitledBorder(new EmptyBorder(1, 2, 3, 4), null, TitledBorder.LEFT, TitledBorder.BELOW_BOTTOM, f); harness.check(tb.getTitle(), null); } public void test5(TestHarness harness) { harness.checkPoint("(Border, String, int, int, Font, Color)"); Border b = new EmptyBorder(1, 2, 3, 4); Font f = new Font("Dialog", Font.BOLD, 16); TitledBorder tb = new TitledBorder(b, "XYZ", TitledBorder.LEFT, TitledBorder.BELOW_BOTTOM, f, Color.red); harness.check(tb.getBorder(), b); harness.check(tb.getTitle(), "XYZ"); harness.check(tb.getTitleColor(), Color.red); harness.check(tb.getTitleFont(), f); harness.check(tb.getTitlePosition(), TitledBorder.BELOW_BOTTOM); harness.check(tb.getTitleJustification(), TitledBorder.LEFT); tb = new TitledBorder((Border) null, "XYZ", TitledBorder.LEFT, TitledBorder.BELOW_BOTTOM, f, Color.red); Border bb = UIManager.getLookAndFeelDefaults().getBorder( "TitledBorder.border"); harness.check(tb.getBorder(), bb); tb = new TitledBorder(new EmptyBorder(1, 2, 3, 4), null, TitledBorder.LEFT, TitledBorder.BELOW_BOTTOM, f, Color.red); harness.check(tb.getTitle(), null); } public void test6(TestHarness harness) { harness.checkPoint("(String)"); TitledBorder tb = new TitledBorder("XYZ"); harness.check(tb.getTitle(), "XYZ"); Border b = UIManager.getLookAndFeelDefaults().getBorder( "TitledBorder.border"); harness.check(tb.getBorder(), b); Color c = UIManager.getLookAndFeelDefaults().getColor( "TitledBorder.titleColor"); harness.check(tb.getTitleColor(), c); Font f = UIManager.getLookAndFeelDefaults().getFont("TitledBorder.font"); harness.check(tb.getTitleFont(), f); harness.check(tb.getTitlePosition(), TitledBorder.DEFAULT_POSITION); harness.check(tb.getTitleJustification(), TitledBorder.LEADING); tb = new TitledBorder((String) null); harness.check(tb.getTitle(), null); } } mauve-20140821/gnu/testlet/javax/swing/border/TitledBorder/getBorderInsets.java0000644000175000001440000000644310533032014026266 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.border.TitledBorder; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Insets; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; /** * Some checks for the getBorderInsets() methods of the {@link TitledBorder} * class. */ public class getBorderInsets implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test1(TestHarness harness) { harness.checkPoint("(Component)"); JPanel p = new JPanel(); TitledBorder b = new TitledBorder(new EmptyBorder(1, 2, 3, 4)); p.setBorder(b); p.setFont(b.getTitleFont()); Insets insets = b.getBorderInsets(p); harness.check(insets, new Insets(5, 6, 7, 8)); FontMetrics fm = p.getFontMetrics(p.getFont()); int fontHeight = fm.getAscent() + fm.getDescent(); b.setTitle("XYZ"); insets = b.getBorderInsets(p); harness.check(insets, new Insets(5 + fontHeight, 6, 7, 8)); b.setTitleFont(new Font("Dialog", Font.PLAIN, 24)); p.setFont(b.getTitleFont()); fm = p.getFontMetrics(p.getFont()); fontHeight = fm.getAscent() + fm.getDescent(); insets = b.getBorderInsets(p); harness.check(insets, new Insets(5 + fontHeight, 6, 7, 8)); b.setTitlePosition(TitledBorder.ABOVE_TOP); insets = b.getBorderInsets(p); harness.check(insets, new Insets(5 + fontHeight + 2, 6, 7, 8)); b.setTitlePosition(TitledBorder.TOP); insets = b.getBorderInsets(p); harness.check(insets, new Insets(5 + fontHeight, 6, 7, 8)); b.setTitlePosition(TitledBorder.BELOW_TOP); insets = b.getBorderInsets(p); harness.check(insets, new Insets(5 + fontHeight + 2, 6, 7, 8)); b.setTitlePosition(TitledBorder.ABOVE_BOTTOM); insets = b.getBorderInsets(p); harness.check(insets, new Insets(5, 6, 7 + fontHeight + 2, 8)); b.setTitlePosition(TitledBorder.BOTTOM); insets = b.getBorderInsets(p); harness.check(insets, new Insets(5, 6, 7 + fontHeight, 8)); b.setTitlePosition(TitledBorder.BELOW_BOTTOM); insets = b.getBorderInsets(p); harness.check(insets, new Insets(5, 6, 7 + fm.getHeight(), 8)); } } mauve-20140821/gnu/testlet/javax/swing/border/TitledBorder/setTitlePosition.java0000644000175000001440000000334511635656562026533 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.border.TitledBorder; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; /** * Some checks for the setTitlePosition() method of the * {@link TitledBorder} class. */ public class setTitlePosition implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TitledBorder b = new TitledBorder(new EmptyBorder(1, 1, 1, 1)); harness.check(b.getTitlePosition(), TitledBorder.DEFAULT_POSITION); b.setTitlePosition(TitledBorder.BELOW_BOTTOM); harness.check(b.getTitlePosition(), TitledBorder.BELOW_BOTTOM); boolean pass = false; try { b.setTitlePosition(99); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/border/TitledBorder/getBorder.java0000644000175000001440000000343510322420360025077 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.border.TitledBorder; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.UIManager; import javax.swing.border.Border; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; /** * Some checks for the getBorder() method of the {@link TitledBorder} class. */ public class getBorder implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Border baseBorder = new EmptyBorder(1, 1, 1, 1); TitledBorder b = new TitledBorder(baseBorder); harness.check(b.getBorder(), baseBorder); baseBorder = new EmptyBorder(1, 2, 3, 4); b.setBorder(baseBorder); harness.check(b.getBorder(), baseBorder); b.setBorder(null); baseBorder = UIManager.getLookAndFeelDefaults().getBorder( "TitledBorder.border"); harness.check(b.getBorder(), baseBorder); } } mauve-20140821/gnu/testlet/javax/swing/border/TitledBorder/setBorder.java0000644000175000001440000000343510322420360025113 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.border.TitledBorder; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.UIManager; import javax.swing.border.Border; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; /** * Some checks for the setBorder() method of the {@link TitledBorder} class. */ public class setBorder implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { Border baseBorder = new EmptyBorder(1, 1, 1, 1); TitledBorder b = new TitledBorder(baseBorder); harness.check(b.getBorder(), baseBorder); baseBorder = new EmptyBorder(1, 2, 3, 4); b.setBorder(baseBorder); harness.check(b.getBorder(), baseBorder); b.setBorder(null); baseBorder = UIManager.getLookAndFeelDefaults().getBorder( "TitledBorder.border"); harness.check(b.getBorder(), baseBorder); } } mauve-20140821/gnu/testlet/javax/swing/border/TitledBorder/setTitleJustification.java0000644000175000001440000000335210322420361027512 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.border.TitledBorder; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; /** * Some checks for the setTitleJustification() method of the * {@link TitledBorder} class. */ public class setTitleJustification implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TitledBorder b = new TitledBorder(new EmptyBorder(1, 1, 1, 1)); harness.check(b.getTitleJustification(), TitledBorder.LEADING); b.setTitleJustification(TitledBorder.LEFT); harness.check(b.getTitleJustification(), TitledBorder.LEFT); boolean pass = false; try { b.setTitleJustification(99); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/border/TitledBorder/getTitle.java0000644000175000001440000000301010322420360024730 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.border.TitledBorder; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; /** * Some checks for the getTitle() method of the {@link TitledBorder} class. */ public class getTitle implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TitledBorder b = new TitledBorder(new EmptyBorder(1, 1, 1, 1)); harness.check(b.getTitle(), ""); b.setTitle("XYZ"); harness.check(b.getTitle(), "XYZ"); b.setTitle(null); harness.check(b.getTitle(), null); } } mauve-20140821/gnu/testlet/javax/swing/border/TitledBorder/getTitleJustification.java0000644000175000001440000000307210322420360027474 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.border.TitledBorder; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; /** * Some checks for the getTitleJustification() method of the * {@link TitledBorder} class. */ public class getTitleJustification implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TitledBorder b = new TitledBorder(new EmptyBorder(1, 1, 1, 1)); harness.check(b.getTitleJustification(), TitledBorder.LEADING); b.setTitleJustification(TitledBorder.LEFT); harness.check(b.getTitleJustification(), TitledBorder.LEFT); } } mauve-20140821/gnu/testlet/javax/swing/border/TitledBorder/getTitleFont.java0000644000175000001440000000333510322420360025571 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.border.TitledBorder; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Font; import javax.swing.UIManager; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; /** * Some checks for the getTitleFont() method of the {@link TitledBorder} class. */ public class getTitleFont implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TitledBorder b = new TitledBorder(new EmptyBorder(1, 1, 1, 1)); Font f = UIManager.getLookAndFeelDefaults().getFont("TitledBorder.font"); harness.check(b.getTitleFont(), f); b.setTitleFont(new Font("Dialog", Font.PLAIN, 17)); harness.check(b.getTitleFont(), new Font("Dialog", Font.PLAIN, 17)); b.setTitleFont(null); harness.check(b.getTitleFont(), f); } } mauve-20140821/gnu/testlet/javax/swing/border/TitledBorder/setTitleFont.java0000644000175000001440000000333510322420361025606 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.border.TitledBorder; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Font; import javax.swing.UIManager; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; /** * Some checks for the setTitleFont() method of the {@link TitledBorder} class. */ public class setTitleFont implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TitledBorder b = new TitledBorder(new EmptyBorder(1, 1, 1, 1)); Font f = UIManager.getLookAndFeelDefaults().getFont("TitledBorder.font"); harness.check(b.getTitleFont(), f); b.setTitleFont(new Font("Dialog", Font.PLAIN, 17)); harness.check(b.getTitleFont(), new Font("Dialog", Font.PLAIN, 17)); b.setTitleFont(null); harness.check(b.getTitleFont(), f); } } mauve-20140821/gnu/testlet/javax/swing/border/TitledBorder/getTitleColor.java0000644000175000001440000000331610322420360025740 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.border.TitledBorder; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.UIManager; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; /** * Some checks for the getTitleColor() method of the {@link TitledBorder} class. */ public class getTitleColor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TitledBorder b = new TitledBorder(new EmptyBorder(1, 1, 1, 1)); Color c = UIManager.getLookAndFeelDefaults().getColor( "TitledBorder.titleColor"); harness.check(b.getTitleColor(), c); b.setTitleColor(Color.yellow); harness.check(b.getTitleColor(), Color.yellow); b.setTitleColor(null); harness.check(b.getTitleColor(), c); } } mauve-20140821/gnu/testlet/javax/swing/border/TitledBorder/setTitle.java0000644000175000001440000000274310322420361024761 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.border.TitledBorder; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; /** * Some checks for the setTitle() method of the {@link TitledBorder} class. */ public class setTitle implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TitledBorder b = new TitledBorder(new EmptyBorder(1, 1, 1, 1)); b.setTitle("XYZ"); harness.check(b.getTitle(), "XYZ"); b.setTitle(null); harness.check(b.getTitle(), null); } } mauve-20140821/gnu/testlet/javax/swing/border/TitledBorder/setTitleColor.java0000644000175000001440000000331610322420361025755 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.border.TitledBorder; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.UIManager; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; /** * Some checks for the setTitleColor() method of the {@link TitledBorder} class. */ public class setTitleColor implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TitledBorder b = new TitledBorder(new EmptyBorder(1, 1, 1, 1)); Color c = UIManager.getLookAndFeelDefaults().getColor( "TitledBorder.titleColor"); harness.check(b.getTitleColor(), c); b.setTitleColor(Color.yellow); harness.check(b.getTitleColor(), Color.yellow); b.setTitleColor(null); harness.check(b.getTitleColor(), c); } } mauve-20140821/gnu/testlet/javax/swing/border/TitledBorder/isBorderOpaque.java0000644000175000001440000000264510322420360026110 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.border.TitledBorder; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; /** * Some checks for the isBorderOpaque() method of the {@link TitledBorder} * class. */ public class isBorderOpaque implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TitledBorder b = new TitledBorder(new EmptyBorder(1, 1, 1, 1)); harness.check(b.isBorderOpaque(), false); } } mauve-20140821/gnu/testlet/javax/swing/border/TitledBorder/getTitlePosition.java0000644000175000001440000000306411635656562026515 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.border.TitledBorder; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; /** * Some checks for the getTitlePosition() method of the * {@link TitledBorder} class. */ public class getTitlePosition implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TitledBorder b = new TitledBorder(new EmptyBorder(1, 1, 1, 1)); harness.check(b.getTitlePosition(), TitledBorder.DEFAULT_POSITION); b.setTitlePosition(TitledBorder.BELOW_TOP); harness.check(b.getTitlePosition(), TitledBorder.BELOW_TOP); } } mauve-20140821/gnu/testlet/javax/swing/JScrollBar/0000755000175000001440000000000012375316426020470 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JScrollBar/constructors.java0000644000175000001440000000707710341425642024106 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JScrollBar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JProgressBar; import javax.swing.JScrollBar; import javax.swing.UIManager; import javax.swing.plaf.metal.MetalLookAndFeel; /** * Some checks for the constructors in the {@link JScrollBar} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { constructor1(harness); constructor2(harness); constructor3(harness); } public void constructor1(TestHarness harness) { harness.checkPoint("JScrollBar()"); // use a known look and feel try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (Exception e) { harness.debug(e); } JScrollBar bar = new JScrollBar(); harness.check(bar.getOrientation(), JScrollBar.VERTICAL); harness.check(bar.getValue(), 0); harness.check(bar.getMinimum(), 0); harness.check(bar.getMaximum(), 100); harness.check(bar.getClientProperty("JScrollBar.isFreeStanding"), null); } public void constructor2(TestHarness harness) { harness.checkPoint("JScrollBar(int)"); // use a known look and feel try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (Exception e) { harness.debug(e); } JScrollBar bar = new JScrollBar(JScrollBar.HORIZONTAL); harness.check(bar.getOrientation(), JProgressBar.HORIZONTAL); harness.check(bar.getValue(), 0); harness.check(bar.getMinimum(), 0); harness.check(bar.getMaximum(), 100); harness.check(bar.getClientProperty("JScrollBar.isFreeStanding"), null); bar = new JScrollBar(JScrollBar.VERTICAL); harness.check(bar.getOrientation(), JScrollBar.VERTICAL); // check bad orientation boolean pass = false; try { bar = new JScrollBar(99); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } public void constructor3(TestHarness harness) { harness.checkPoint("JScrollBar(int, int, int, int, int)"); JScrollBar bar = new JScrollBar(JScrollBar.VERTICAL, 50, 5, 0, 100); harness.check(bar.getOrientation(), JProgressBar.VERTICAL); harness.check(bar.getValue(), 50); harness.check(bar.getMinimum(), 0); harness.check(bar.getMaximum(), 100); harness.check(bar.getClientProperty("JScrollBar.isFreeStanding"), null); // check bad orientation boolean pass = false; try { bar = new JScrollBar(99, 50, 5, 0, 100); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // TODO: check bad ranges } } mauve-20140821/gnu/testlet/javax/swing/JScrollBar/getAccessibleContext.java0000644000175000001440000001215210437245507025434 0ustar dokousers/* getAccessibleContext.java -- some checks for the getAccessibleContext() method in the JScrollBar class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JScrollBar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleRole; import javax.accessibility.AccessibleState; import javax.accessibility.AccessibleStateSet; import javax.accessibility.AccessibleValue; import javax.swing.JScrollBar; import javax.swing.JSlider; public class getAccessibleContext implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } public void test(TestHarness harness) { JScrollBar scrollBar = new JScrollBar(JScrollBar.HORIZONTAL, 50, 5, 10, 90); AccessibleContext ac = scrollBar.getAccessibleContext(); harness.check(ac.getAccessibleName(), null); harness.check(ac.getAccessibleRole(), AccessibleRole.SCROLL_BAR); harness.check(ac.getAccessibleAction(), null); harness.check(ac.getAccessibleComponent(), ac); harness.check(ac.getAccessibleDescription(), null); harness.check(ac.getAccessibleEditableText(), null); harness.check(ac.getAccessibleIcon(), null); harness.check(ac.getAccessibleTable(), null); harness.check(ac.getAccessibleText(), null); // the AccessibleContext is also the AccessibleValue... AccessibleValue av = ac.getAccessibleValue(); harness.check(av, ac); harness.check(av.getCurrentAccessibleValue(), new Integer(50)); harness.check(av.getMinimumAccessibleValue(), new Integer(10)); harness.check(av.getMaximumAccessibleValue(), new Integer(85)); // check that setting the accessible value updates the slider ac.addPropertyChangeListener(this); boolean b = av.setCurrentAccessibleValue(new Integer(55)); harness.check(scrollBar.getValue(), 55); harness.check(b); harness.check(events.size(), 1); PropertyChangeEvent e0 = (PropertyChangeEvent) events.get(0); harness.check(e0.getPropertyName(), AccessibleContext.ACCESSIBLE_VALUE_PROPERTY); harness.check(e0.getSource(), ac); harness.check(e0.getOldValue(), new Integer(50)); harness.check(e0.getNewValue(), new Integer(55)); // set the value below the minimum events.clear(); b = av.setCurrentAccessibleValue(new Integer(5)); harness.check(av.getCurrentAccessibleValue(), new Integer(10)); harness.check(b); harness.check(events.size(), 1); e0 = (PropertyChangeEvent) events.get(0); harness.check(e0.getPropertyName(), AccessibleContext.ACCESSIBLE_VALUE_PROPERTY); harness.check(e0.getSource(), ac); harness.check(e0.getOldValue(), new Integer(55)); harness.check(e0.getNewValue(), new Integer(10)); // set the value above the maximum events.clear(); b = av.setCurrentAccessibleValue(new Integer(105)); harness.check(av.getCurrentAccessibleValue(), new Integer(85)); harness.check(b); harness.check(events.size(), 1); e0 = (PropertyChangeEvent) events.get(0); harness.check(e0.getPropertyName(), AccessibleContext.ACCESSIBLE_VALUE_PROPERTY); harness.check(e0.getSource(), ac); harness.check(e0.getOldValue(), new Integer(10)); harness.check(e0.getNewValue(), new Integer(85)); // set the value to null events.clear(); b = av.setCurrentAccessibleValue(null); harness.check(av.getCurrentAccessibleValue(), new Integer(85)); harness.check(events.size(), 0); harness.check(!b); // check the state settings... AccessibleStateSet set = ac.getAccessibleStateSet(); harness.check(set.contains(AccessibleState.ENABLED)); harness.check(set.contains(AccessibleState.FOCUSABLE)); harness.check(set.contains(AccessibleState.VISIBLE)); harness.check(set.contains(AccessibleState.OPAQUE)); harness.check(set.contains(AccessibleState.HORIZONTAL)); // each call creates a new set... AccessibleStateSet set2 = ac.getAccessibleStateSet(); harness.check(set != set2); // check the orientation state setting... scrollBar.setOrientation(JSlider.VERTICAL); set = ac.getAccessibleStateSet(); harness.check(set.contains(AccessibleState.VERTICAL)); } }mauve-20140821/gnu/testlet/javax/swing/JScrollBar/MyJScrollBar.java0000644000175000001440000000216510437245507023640 0ustar dokousers/* MyJScrollBar.java -- provides access to protected stuff in JScrollBar for testing purposes. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.javax.swing.JScrollBar; import javax.swing.JScrollBar; public class MyJScrollBar extends JScrollBar { public MyJScrollBar() { super(); } public String paramString() { return super.paramString(); } }mauve-20140821/gnu/testlet/javax/swing/JScrollBar/getActionMap.java0000644000175000001440000000334310450457333023704 0ustar dokousers/* getActionMap.java -- some checks for the getActionMap() method in the JScrollPane class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 package gnu.testlet.javax.swing.JScrollBar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.Action; import javax.swing.ActionMap; import javax.swing.JScrollBar; public class getActionMap implements Testlet { public void test(TestHarness harness) { JScrollBar sb = new JScrollBar(); ActionMap m = sb.getActionMap(); harness.check(m.keys(), null); ActionMap mp = m.getParent(); harness.check(mp.get("positiveUnitIncrement") instanceof Action); harness.check(mp.get("positiveBlockIncrement") instanceof Action); harness.check(mp.get("negativeUnitIncrement") instanceof Action); harness.check(mp.get("negativeBlockIncrement") instanceof Action); harness.check(mp.get("minScroll") instanceof Action); harness.check(mp.get("maxScroll") instanceof Action); harness.check(mp.keys().length, 6); } } mauve-20140821/gnu/testlet/javax/swing/JScrollBar/paramString.java0000644000175000001440000000266311015022007023604 0ustar dokousers/* paramString.java -- some checks for the paramString() method in the JScrollBar class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: MyJScrollBar package gnu.testlet.javax.swing.JScrollBar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * The return value from the paramString() method is allowed to vary by * implementation, but this checks for a match against the reference * implementation anyway. */ public class paramString implements Testlet { public void test(TestHarness harness) { MyJScrollBar scrollBar = new MyJScrollBar(); harness.check(scrollBar.paramString().endsWith( ",blockIncrement=10,orientation=VERTICAL,unitIncrement=1")); } }mauve-20140821/gnu/testlet/javax/swing/JScrollBar/getInputMap.java0000644000175000001440000000643710441520121023557 0ustar dokousers/* getInputMap.java -- some checks for the getInputMap() methods inherited by the JScrollBar class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JScrollBar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.InputMap; import javax.swing.JComponent; import javax.swing.JScrollBar; import javax.swing.KeyStroke; /** * Checks the input maps defined for a JScrollBar - this is really testing * the setup performed by BasicScrollBarUI. */ public class getInputMap implements Testlet { public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("()"); JScrollBar sb = new JScrollBar(); InputMap m1 = sb.getInputMap(); InputMap m2 = sb.getInputMap(JComponent.WHEN_FOCUSED); harness.check(m1 == m2); } public void testMethod2(TestHarness harness) { harness.checkPoint("(int)"); JScrollBar sb = new JScrollBar(); InputMap m1 = sb.getInputMap(JComponent.WHEN_FOCUSED); harness.check(m1.keys(), null); InputMap m1p = m1.getParent(); harness.check(m1p, null); InputMap m2 = sb.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); harness.check(m2.keys(), null); InputMap m2p = m2.getParent(); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed PAGE_UP")), "negativeBlockIncrement"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed PAGE_DOWN")), "positiveBlockIncrement"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed END")), "maxScroll"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed HOME")), "minScroll"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed LEFT")), "negativeUnitIncrement"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed KP_UP")), "negativeUnitIncrement"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed KP_DOWN")), "positiveUnitIncrement"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed UP")), "negativeUnitIncrement"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed RIGHT")), "positiveUnitIncrement"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed KP_LEFT")), "negativeUnitIncrement"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed DOWN")), "positiveUnitIncrement"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed KP_RIGHT")), "positiveUnitIncrement"); InputMap m3 = sb.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW); harness.check(m3.keys(), null); harness.check(m3.getParent(), null); } } mauve-20140821/gnu/testlet/javax/swing/ActionMap/0000755000175000001440000000000012375316426020346 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/ActionMap/newMapKeysNull.java0000644000175000001440000000247610336165747024143 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2005 Red Hat. //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.ActionMap; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.ActionMap; /** * This tests whether keys() and allKeys() return null for new ActionMaps. */ public class newMapKeysNull implements Testlet { public void test(TestHarness harness) { ActionMap map = new ActionMap(); if (map.keys() != null) harness.fail("New ActionMap should return null for keys()"); if (map.allKeys() != null) harness.fail ("New ActionMap should return null for allKeys()"); } } mauve-20140821/gnu/testlet/javax/swing/JApplet/0000755000175000001440000000000012375316426020032 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JApplet/isRootPaneCheckingEnabled.java0000644000175000001440000000621710333737517025675 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2004 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JApplet; import java.awt.Component; import javax.swing.JApplet; import javax.swing.JLabel; import javax.swing.JRootPane; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class isRootPaneCheckingEnabled implements Testlet { /** * Overrides some protected methods to make them public for testing. * * @author Roman Kennke (kennke@aicas.com) */ class TestApplet extends JApplet { public boolean isRootPaneCheckingEnabled() { return super.isRootPaneCheckingEnabled(); } public void setRootPaneCheckingEnabled(boolean b) { super.setRootPaneCheckingEnabled(b); } } /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testRootPaneCheckingEnabled(harness); testRootPaneCheckingDisabled(harness); } /** * Checks the behaviour with rootPaneCheckingEnabled==true. Adds to the frame * should go to the contentPane. * * @param harness the test harness to use */ private void testRootPaneCheckingEnabled(TestHarness harness) { harness.checkPoint("rootPaneCheckingEnabled"); TestApplet f = new TestApplet(); f.setRootPaneCheckingEnabled(true); JLabel c = new JLabel("Hello"); f.add(c); Component[] children = f.getComponents(); // The frame now still has 1 child, the rootPane. harness.check(children.length, 1); harness.check(children[0] instanceof JRootPane); // Instead, the add has gone to the contentPane which now also has 1 child, // the label. Component[] content = f.getContentPane().getComponents(); harness.check(content.length, 1); harness.check(content[0], c); } /** * Checks the behaviour with rootPaneCheckingEnabled==false. Adds to the frame * should go directly to the frame. * * @param harness the test harness to use */ private void testRootPaneCheckingDisabled(TestHarness harness) { harness.checkPoint("rootPaneCheckingDisabled"); TestApplet f = new TestApplet(); f.setRootPaneCheckingEnabled(false); JLabel c = new JLabel("Hello"); f.add(c); Component[] children = f.getComponents(); // The frame now has 2 children, the rootPane and the label. harness.check(children.length, 2); harness.check(children[0] instanceof JRootPane); harness.check(children[1], c); } } mauve-20140821/gnu/testlet/javax/swing/JPanel/0000755000175000001440000000000012375316426017644 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JPanel/Layouter.java0000644000175000001440000000262710157107021022303 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Thomas Zander // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JPanel; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.JPanel; import java.awt.FlowLayout; /** * These tests pass with the Sun JDK 1.4.1_03 on GNU/Linux IA-32. */ public class Layouter implements Testlet { public void test(TestHarness harness) { JPanel panel = new JPanel(null); harness.check(panel.getLayout() == null); // allow nullLayout panel = new JPanel(); harness.check(panel.getLayout() instanceof FlowLayout); panel.setLayout(null); harness.check(panel.getLayout() == null); // allow nullLayout } } mauve-20140821/gnu/testlet/javax/swing/JPanel/setBorder.java0000644000175000001440000000301710345135635022435 0ustar dokousers//Tags: JDK1.2 //Copyright (C) 2005 Red Hat. //This file is part of Mauve. //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JPanel; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.Dimension; import javax.swing.JPanel; import javax.swing.JTextField; /** * This tests whether setting the border on a JPanel affects its maximum size. */ public class setBorder implements Testlet { public void test(TestHarness harness) { JTextField ftf = new JTextField("HELLO WORLD"); JPanel borderPanel = new JPanel(new java.awt.BorderLayout()); borderPanel.add(ftf); // Show that setting the border messes up the maximumSize Dimension d1 = borderPanel.getMaximumSize(); borderPanel.setBorder(new javax.swing.border.TitledBorder("HELLO WORLD")); Dimension d2 = borderPanel.getMaximumSize(); harness.check(d1,d2); } } mauve-20140821/gnu/testlet/javax/swing/JToolBar/0000755000175000001440000000000012375316426020147 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JToolBar/getInputMap.java0000644000175000001440000000567010441520122023235 0ustar dokousers/* getInputMap.java -- some checks for the getInputMap() methods inherited by the JToolBar class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JToolBar; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.InputMap; import javax.swing.JComponent; import javax.swing.JToolBar; import javax.swing.KeyStroke; /** * Checks the input maps defined for a JToolBar - this is really testing * the setup performed by BasicToolBarUI. */ public class getInputMap implements Testlet { public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("()"); JToolBar tb = new JToolBar(); InputMap m1 = tb.getInputMap(); InputMap m2 = tb.getInputMap(JComponent.WHEN_FOCUSED); harness.check(m1 == m2); } public void testMethod2(TestHarness harness) { harness.checkPoint("(int)"); JToolBar tb = new JToolBar(); InputMap m1 = tb.getInputMap(JComponent.WHEN_FOCUSED); harness.check(m1.keys(), null); InputMap m1p = m1.getParent(); harness.check(m1p, null); InputMap m2 = tb.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); harness.check(m2.keys(), null); InputMap m2p = m2.getParent(); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed UP")), "navigateUp"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed KP_UP")), "navigateUp"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed DOWN")), "navigateDown"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed KP_DOWN")), "navigateDown"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed LEFT")), "navigateLeft"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed KP_LEFT")), "navigateLeft"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed RIGHT")), "navigateRight"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed KP_RIGHT")), "navigateRight"); InputMap m3 = tb.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW); harness.check(m3.keys(), null); harness.check(m3.getParent(), null); } } mauve-20140821/gnu/testlet/javax/swing/JToolBar/buttonInsets.java0000644000175000001440000000474310233253514023510 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JToolBar; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.awt.Insets; import javax.swing.JButton; import javax.swing.JToolBar; import javax.swing.plaf.BorderUIResource; /** * Checks if buttons that are added to a JToolBar have their insets * modified correctly. * * @author Roman Kennke (roman@kennke.org) */ public class buttonInsets implements Testlet { public void test(TestHarness h) { h.checkPoint("JMenu"); JToolBar tb = new JToolBar(); JButton button = new JButton("test"); Insets insets = button.getInsets(); h.check(insets.top, 5, "insets.top: " + insets.top); h.check(insets.bottom, 5, "insets.bottom: " + insets.bottom); h.check(insets.left, 17, "insets.left: " + insets.left); h.check(insets.right, 17, "insets.right: " + insets.right); Insets margin = button.getMargin(); h.check(margin.top, 2, "insets.top: " + margin.top); h.check(margin.bottom, 2, "insets.bottom: " + margin.bottom); h.check(margin.left, 14, "insets.left: " + margin.left); h.check(margin.right, 14, "insets.right: " + margin.right); tb.add(button); insets = button.getInsets(); h.check(insets.top, 6, "insets.top: " + insets.top); h.check(insets.bottom, 6, "insets.bottom: " + insets.bottom); h.check(insets.left, 6, "insets.left: " + insets.left); h.check(insets.right, 6, "insets.right: " + insets.right); margin = button.getMargin(); h.check(margin.top, 2, "insets.top: " + margin.top); h.check(margin.bottom, 2, "insets.bottom: " + margin.bottom); h.check(margin.left, 14, "insets.left: " + margin.left); h.check(margin.right, 14, "insets.right: " + margin.right); } } mauve-20140821/gnu/testlet/javax/swing/JButton/0000755000175000001440000000000012375316426020060 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JButton/constructors.java0000644000175000001440000001531710444320236023467 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2006 Tania Bento // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.JButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.ButtonModel; import javax.swing.ImageIcon; import javax.swing.JButton; /** * Some checks for the constructors of the {@link JButton} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // Testing button text and icons testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); testConstructor6(harness); testConstructor7(harness); testConstructor8(harness); testConstructor9(harness); testConstructor10(harness); testConstructor11(harness); testConstructor12(harness); // Testing default properties testProperties(harness); } /** * Constructor #1 No button text and icon specified. */ public void testConstructor1(TestHarness harness) { JButton b = new JButton(); harness.check(b.getText(), ""); harness.check(b.getIcon(), null); harness.check(b.isFocusable(), true); } /** * Constructor #2 Action specified. */ public void testConstructor2(TestHarness harness) { // Creating an Action with no properties. Action myAction = new AbstractAction() { public void actionPerformed(ActionEvent evt) { System.out.println("MyAction"); } }; JButton b = new JButton(myAction); harness.check(b.getAction(), myAction); harness.check(b.isFocusable(), true); } /** * Constructor #2 Action specified as null. */ public void testConstructor3(TestHarness harness) { Action myAction = null; JButton b = new JButton(myAction); harness.check(b.getAction(), null); } /** * Constructor #3 Icon specified. */ public void testConstructor4(TestHarness harness) { ImageIcon i = new ImageIcon(); JButton b = new JButton(i); harness.check(b.getIcon(), i); harness.check(b.isFocusable(), true); } /** * Constructor #3 Icon specified as /null. */ public void testConstructor5(TestHarness harness) { ImageIcon i = null; JButton b = new JButton(i); harness.check(b.getIcon(), null); } /** * Constructor #4 Button text specified. */ public void testConstructor6(TestHarness harness) { JButton b = new JButton("Button Text"); harness.check(b.getText(), "Button Text"); harness.check(b.isFocusable(), true); } /** * Constructor #4 Button text specified as empty string. */ public void testConstructor7(TestHarness harness) { JButton b = new JButton(""); harness.check(b.getText(), ""); } /** * Constructor #4 Button text specified as /null. */ public void testConstructor8(TestHarness harness) { String buttonText = null; JButton b = new JButton(buttonText); harness.check(b.getText(), ""); } /** * Constructor #5 Button text specified and icon specified. */ public void testConstructor9(TestHarness harness) { ImageIcon i = new ImageIcon(); JButton b = new JButton("Button Text", i); harness.check(b.getText(), "Button Text"); harness.check(b.getIcon(), i); harness.check(b.isFocusable(), true); } /** * Constructor #5 Button text specified and icon specified as * null. */ public void testConstructor10(TestHarness harness) { JButton b = new JButton("Button Text", null); harness.check(b.getText(), "Button Text"); harness.check(b.getIcon(), null); } /** * Constructor #5 Button text specified as null and icon * specified. */ public void testConstructor11(TestHarness harness) { ImageIcon i = new ImageIcon(); JButton b = new JButton(null, i); harness.check(b.getText(), ""); harness.check(b.getIcon(), i); } /** * Constructor #5 Button text specified as null and icon * specified as null. */ public void testConstructor12(TestHarness harness) { JButton b = new JButton(null, null); harness.check(b.getText(), ""); harness.check(b.getIcon(), null); } /** * Default JButton Properties Test */ public void testProperties(TestHarness harness) { JButton b = new JButton(); harness.check(b.getUIClassID(), "ButtonUI"); harness.check(b.getModel() instanceof ButtonModel); harness.check(b.getModel() != null); harness.check(b.getActionCommand(), ""); harness.check(b.isBorderPainted(), true); harness.check(b.isContentAreaFilled(), true); harness.check(b.getDisabledIcon(), null); harness.check(b.getDisabledSelectedIcon(), null); harness.check(b.isEnabled(), true); harness.check(b.isFocusPainted(), true); harness.check(b.getHorizontalAlignment(), 0); harness.check(b.getHorizontalTextPosition(), 11); harness.check(b.getIcon(), null); harness.check(b.getLabel(), ""); harness.check(b.getMnemonic(), 0); harness.check(b.getMargin().top, 2); harness.check(b.getMargin().left, 14); harness.check(b.getMargin().bottom, 2); harness.check(b.getMargin().right, 14); harness.check(b.getPressedIcon(), null); harness.check(b.isRolloverEnabled(), true); harness.check(b.getRolloverIcon(), null); harness.check(b.getRolloverSelectedIcon(), null); harness.check(b.isSelected(), false); harness.check(b.getSelectedIcon(), null); harness.check(b.getSelectedObjects(), null); harness.check(b.getText(), ""); harness.check(b.getVerticalAlignment(), 0); harness.check(b.getVerticalTextPosition(), 0); harness.check(b.getModel() instanceof ButtonModel); harness.check(b.getModel() != null); harness.check(b.isDefaultCapable(), true); } } mauve-20140821/gnu/testlet/javax/swing/JButton/model.java0000644000175000001440000000663110504004352022011 0ustar dokousers/* model.java -- some checks for the initialisation of the button's model. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.JButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.DefaultButtonModel; import javax.swing.Icon; import javax.swing.JButton; import javax.swing.plaf.metal.MetalIconFactory; /** * This test looks at the creation of the button's model. This test was * written to investigate a look and feel bug that occurs because the model is * null when the UI delegate is initialised. */ public class model implements Testlet { static class MyJButton extends JButton { public MyJButton() { super(); } public MyJButton(Action action) { super(action); } public MyJButton(Icon icon) { super(icon); } public MyJButton(String text) { super(text); } public MyJButton(String text, Icon icon) { super(text, icon); } public void init(String text, Icon icon) { // don't call super.init(), because we want to check what happens in // the constructor only... } } public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("()"); MyJButton b = new MyJButton(); harness.check(b.getModel().getClass(), DefaultButtonModel.class); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(Action)"); Action action = new AbstractAction() { public void actionPerformed(ActionEvent e) { // do nothing } }; MyJButton b = new MyJButton(action); harness.check(b.getModel().getClass(), DefaultButtonModel.class); } public void testConstructor3(TestHarness harness) { harness.checkPoint("(Icon)"); MyJButton b = new MyJButton(MetalIconFactory.getFileChooserListViewIcon()); harness.check(b.getModel().getClass(), DefaultButtonModel.class); } public void testConstructor4(TestHarness harness) { harness.checkPoint("(String)"); MyJButton b = new MyJButton("ABC"); harness.check(b.getModel().getClass(), DefaultButtonModel.class); } public void testConstructor5(TestHarness harness) { harness.checkPoint("(String, Icon)"); MyJButton b = new MyJButton("ABC", MetalIconFactory.getFileChooserDetailViewIcon()); harness.check(b.getModel().getClass(), DefaultButtonModel.class); } } mauve-20140821/gnu/testlet/javax/swing/JButton/getActionCommand.java0000644000175000001440000000265010265073351024133 0ustar dokousers// Tags: JDK1.2 // Uses: ../AbstractButton/getActionCommand // Copyright (C) 2005 Robert Schuster // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JButton; /**

    Tests the JButton's getActionCommand * method.

    * *

    Please note that the interesting bits of this test reside in the superclass * {@link gnu.testlet.javax.swing.AbstractButton} * * @author Robert Schuster * */ public class getActionCommand extends gnu.testlet.javax.swing.AbstractButton.getActionCommand implements Testlet { public void test(TestHarness harness) { check(new JButton("bla"), harness); } }mauve-20140821/gnu/testlet/javax/swing/JButton/uidelegate.java0000644000175000001440000000703410504004352023017 0ustar dokousers/* model.java -- some checks for the initialisation of the button's UI delegate. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.JButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.DefaultButtonModel; import javax.swing.Icon; import javax.swing.JButton; import javax.swing.plaf.ButtonUI; import javax.swing.plaf.metal.MetalIconFactory; /** * This test looks at the creation of the UI delegate's model. This test was * written to investigate a look and feel bug that occurs because the model is * null when the UI delegate is initialised. */ public class uidelegate implements Testlet { static class MyJButton extends JButton { public boolean initCalled; public boolean updateUICalledAfterInitCalled; public MyJButton() { super(); } public MyJButton(Action action) { super(action); } public MyJButton(Icon icon) { super(icon); } public MyJButton(String text) { super(text); } public MyJButton(String text, Icon icon) { super(text, icon); } public void init(String text, Icon icon) { initCalled = true; super.init(text, icon); } public void updateUI() { updateUICalledAfterInitCalled = initCalled; super.updateUI(); } } public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("()"); MyJButton b = new MyJButton(); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(Action)"); Action action = new AbstractAction() { public void actionPerformed(ActionEvent e) { // do nothing } }; MyJButton b = new MyJButton(action); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor3(TestHarness harness) { harness.checkPoint("(Icon)"); MyJButton b = new MyJButton(MetalIconFactory.getFileChooserListViewIcon()); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor4(TestHarness harness) { harness.checkPoint("(String)"); MyJButton b = new MyJButton("ABC"); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor5(TestHarness harness) { harness.checkPoint("(String, Icon)"); MyJButton b = new MyJButton("ABC", MetalIconFactory.getFileChooserDetailViewIcon()); harness.check(b.updateUICalledAfterInitCalled, true); } } mauve-20140821/gnu/testlet/javax/swing/JTable/0000755000175000001440000000000012375316426017634 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JTable/constructors.java0000644000175000001440000002077210507030415023241 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JTable; import java.awt.Dimension; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JTable; import javax.swing.plaf.ColorUIResource; import javax.swing.table.DefaultTableColumnModel; import javax.swing.table.DefaultTableModel; /** * Some checks for the constructors in the {@link JTable} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { constructor1(harness); constructor2(harness); constructor3(harness); constructor4(harness); constructor5(harness); constructor6(harness); constructor7(harness); cellProperties(harness); selectionProperties(harness); editingProperties(harness); columnModelProperties(harness); selectionModelProperties(harness); linesNotNeeded(harness); } public void constructor1(TestHarness harness) { harness.checkPoint("JTable()"); JTable table = new JTable(); harness.check(table.getAutoCreateColumnsFromModel(), true); } public void constructor2(TestHarness harness) { harness.checkPoint("JTable(int, int)"); JTable table = new JTable(1, 2); harness.check(table.getAutoCreateColumnsFromModel(), true); table = new JTable(0, 2); table = new JTable(1, 0); // negative rows boolean pass = false; try { /* JTable t = */new JTable(- 1, 2); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // negative columns pass = false; try { /* JTable t = */new JTable(1, - 2); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } public void constructor3(TestHarness harness) { harness.checkPoint("JTable(Object[][], Object[])"); // try null data boolean pass = false; try { /* JTable t1 = */new JTable(null, new String[] { "AA", "BB" }); } catch (NullPointerException e) { pass = true; } harness.check(pass); // try null column identifiers pass = false; try { /* JTable t2 = */new JTable(new String[][] { { "AA", "BB" } }, null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } public void constructor4(TestHarness harness) { harness.checkPoint("JTable(TableModel)"); JTable t = new JTable(new DefaultTableModel()); harness.check(t.getAutoCreateColumnsFromModel(), true); // a null model is acceptable, it gets replaced with a default model t = new JTable(null); harness.check(t.getModel() != null); } public void constructor5(TestHarness harness) { harness.checkPoint("JTable(TableModel, TableColumnModel)"); JTable t = new JTable(new DefaultTableModel(), null); harness.check(t.getAutoCreateColumnsFromModel(), true); t = new JTable(new DefaultTableModel(), new DefaultTableColumnModel()); harness.check(t.getAutoCreateColumnsFromModel(), false); } public void constructor6(TestHarness harness) { harness.checkPoint("JTable(TableModel, TableColumnModel, ListSelectionModel)"); JTable t = new JTable(new DefaultTableModel(), null, null); harness.check(t.getAutoCreateColumnsFromModel(), true); t = new JTable(new DefaultTableModel(), new DefaultTableColumnModel(), null); harness.check(t.getAutoCreateColumnsFromModel(), false); } public void constructor7(TestHarness harness) { harness.checkPoint("JTable(Vector, Vector)"); } public void cellProperties(TestHarness harness) { harness.checkPoint("JTable row, column and cell properties."); JTable t = new JTable(); harness.check(t.getAutoCreateColumnsFromModel()); harness.check(t.getAutoResizeMode(), t.AUTO_RESIZE_SUBSEQUENT_COLUMNS); harness.check(t.getColumnCount(), 0); harness.check(t.getRowCount(), 0); harness.check(t.getColumnCount(), 0); } public void selectionProperties(TestHarness harness) { harness.checkPoint("JTable selection properties."); JTable t = new JTable(); harness.check(t.getCellSelectionEnabled(), false); harness.check(t.getColumnSelectionAllowed(), false); harness.check(t.getRowSelectionAllowed(), true); harness.check(t.getSelectedColumn(), - 1); harness.check(t.getSelectedColumnCount(), 0); harness.check(t.getSelectedRow(), - 1); harness.check(t.getSelectedRowCount(), 0); } public void editingProperties(TestHarness harness) { harness.checkPoint("JTable visual and editing properties."); JTable t = new JTable(); harness.check(t.getCellEditor(), null); harness.check(t.getDragEnabled(), false); harness.check(t.getGridColor(), new ColorUIResource(122, 138, 153)); harness.check(t.getIntercellSpacing(), new Dimension(1, 1)); harness.check(t.getPreferredScrollableViewportSize(), new Dimension(450, 400)); harness.check(t.getRowMargin(), 1); harness.check(t.getScrollableTracksViewportHeight(), false); harness.check(t.getScrollableTracksViewportWidth(), true); harness.check(t.getShowHorizontalLines(), true); harness.check(t.getShowVerticalLines(), true); } public void columnModelProperties(TestHarness harness) { harness.checkPoint("JTable columnModel properties"); JTable t = new JTable(); harness.check(t.getColumnModel() != null); harness.check(t.getColumnModel().getColumnCount(), 0); harness.check(t.getColumnModel().getColumnMargin(), 1); harness.check(t.getColumnModel().getColumnSelectionAllowed(), false); harness.check(t.getColumnModel().getSelectedColumnCount(), 0); harness.check(t.getColumnModel().getTotalColumnWidth(), 0); harness.check(t.getColumnModel().getSelectionModel() != null); harness.check(t.getColumnModel().getSelectionModel().getLeadSelectionIndex(), -1); harness.check(t.getColumnModel().getSelectionModel().getLeadSelectionIndex(), -1); } public void selectionModelProperties(TestHarness harness) { harness.checkPoint("JTable selectionModel properties"); JTable t = new JTable(); harness.check(t.getSelectionModel() != null); harness.check(t.getSelectionModel().getAnchorSelectionIndex(), -1); harness.check(t.getSelectionModel().getLeadSelectionIndex(), -1); harness.check(t.getSelectionModel().getMaxSelectionIndex(), -1); harness.check(t.getSelectionModel().getMinSelectionIndex(), -1); harness.check(t.getSelectionModel().getSelectionMode(),2); harness.check(t.getSelectionModel().getValueIsAdjusting(), false); } public void linesNotNeeded(TestHarness harness) { harness.checkPoint("4 lines not needed in constructor"); JTable t = new JTable(); harness.check(t.getSelectionModel().getAnchorSelectionIndex(), -1); harness.check(t.getSelectionModel().getLeadSelectionIndex(), -1); harness.check(t.getColumnModel().getSelectionModel().getAnchorSelectionIndex(), -1); harness.check(t.getColumnModel().getSelectionModel().getLeadSelectionIndex(), -1); t.getSelectionModel().setAnchorSelectionIndex(-1); t.getSelectionModel().setLeadSelectionIndex(-1); t.getColumnModel().getSelectionModel().setAnchorSelectionIndex(-1); t.getColumnModel().getSelectionModel().setLeadSelectionIndex(-1); // Same values as before. harness.check(t.getSelectionModel().getAnchorSelectionIndex(), -1); harness.check(t.getSelectionModel().getLeadSelectionIndex(), -1); harness.check(t.getColumnModel().getSelectionModel().getAnchorSelectionIndex(), -1); harness.check(t.getColumnModel().getSelectionModel().getLeadSelectionIndex(), -1); } } mauve-20140821/gnu/testlet/javax/swing/JTable/isColumnSelected.java0000644000175000001440000000546310327715663023752 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JTable; import javax.swing.JTable; import javax.swing.ListSelectionModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests the functionality of the method isColumnSelected in JTable. This test * shows that isColumnSelected() returns true exactly when the requested * column index is set as selected in the tableModel's selectionModel, * independent of the columnSelectionAllowed property. * * @author Roman Kennke (kennke@aicas.com) */ public class isColumnSelected implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testColumnSelectionAllowed(harness); testColumnSelectionNotAllowed(harness); } /** * Tests the case when the columnSelectionAllowed property is true. * * @param harness the test harness to use */ private void testColumnSelectionAllowed(TestHarness harness) { JTable table = createTestTable(); table.setColumnSelectionAllowed(true); ListSelectionModel selModel = table.getColumnModel().getSelectionModel(); // Select column#1 in the selection model. selModel.setSelectionInterval(1, 1); harness.check(table.isColumnSelected(1), true); } /** * Tests the case when the columnSelectionAllowed property is false. * * @param harness the test harness to use */ private void testColumnSelectionNotAllowed(TestHarness harness) { JTable table = createTestTable(); table.setColumnSelectionAllowed(false); ListSelectionModel selModel = table.getColumnModel().getSelectionModel(); // Select column#1 in the selection model. selModel.setSelectionInterval(1, 1); harness.check(table.isColumnSelected(1), true); } /** * Creates a JTable used for testing. * * @return the test table */ private JTable createTestTable() { return new JTable(new Object[][] {{"1", "2", "3"}, {"4", "5", "6"}, {"7", "8", "9"}}, new Object[] {"1", "2", "3"}); } } mauve-20140821/gnu/testlet/javax/swing/JTable/convertColumnIndexToView.java0000644000175000001440000000407610262454175025467 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JTable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableColumnModel; /** * Some checks for the convertColumnIndexToView() method in the {@link JTable} * class. */ public class convertColumnIndexToView implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("convertColumnIndexToView()"); DefaultTableModel m1 = new DefaultTableModel(4, 6); JTable t = new JTable(m1); harness.check(t.convertColumnIndexToView(0), 0); harness.check(t.convertColumnIndexToView(-1), -1); harness.check(t.convertColumnIndexToView(6), -1); harness.check(t.convertColumnIndexToView(999), -1); TableColumnModel tcm = t.getColumnModel(); tcm.moveColumn(0, 4); harness.check(t.convertColumnIndexToView(0), 4); harness.check(t.convertColumnIndexToView(1), 0); harness.check(t.convertColumnIndexToView(2), 1); harness.check(t.convertColumnIndexToView(3), 2); harness.check(t.convertColumnIndexToView(4), 3); harness.check(t.convertColumnIndexToView(5), 5); } }mauve-20140821/gnu/testlet/javax/swing/JTable/getRowHeight.java0000644000175000001440000000342610504742625023100 0ustar dokousers/* getRowHeight.java -- some checks for the getRowHeight() method in the JTable class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.JTable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JTable; public class getRowHeight implements Testlet { public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("()"); JTable t = new JTable(4, 3); harness.check(t.getRowHeight(), 16); t.setRowHeight(99); harness.check(t.getRowHeight(), 99); } public void test2(TestHarness harness) { harness.checkPoint("(int)"); JTable t = new JTable(4, 3); harness.check(t.getRowHeight(0), 16); t.setRowHeight(99); harness.check(t.getRowHeight(0), 99); t.setRowHeight(0, 12); harness.check(t.getRowHeight(0), 12); // try negative index harness.check(t.getRowHeight(-1), 0); // try index too large harness.check(t.getRowHeight(4), 0); } } mauve-20140821/gnu/testlet/javax/swing/JTable/createDefaultSelectionModel.java0000644000175000001440000000331110276712560026071 0ustar dokousers// Tags: JDK1.2 // Uses: MyJTable // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JTable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultListSelectionModel; import javax.swing.JTable; import javax.swing.ListSelectionModel; /** * Some checks for the createDefaultSelectionModel() method in the * {@link JTable} class. */ public class createDefaultSelectionModel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("createDefaultSelectionModel()"); MyJTable t = new MyJTable(); ListSelectionModel m = t.createDefaultSelectionModel(); harness.check(m instanceof DefaultListSelectionModel); harness.check(m.isSelectionEmpty()); harness.check(m.getSelectionMode(), ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); } } mauve-20140821/gnu/testlet/javax/swing/JTable/setRowSelectionAllowed.java0000644000175000001440000000376110454754775025160 0ustar dokousers/* setRowSelectionAllowed.java -- some checks for the setRowSelectionAllowed() method in the JTable class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JTable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.JTable; public class setRowSelectionAllowed implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } public void test(TestHarness harness) { JTable t = new JTable(); harness.check(t.getRowSelectionAllowed(), true); t.addPropertyChangeListener(this); t.setRowSelectionAllowed(false); harness.check(events.size(), 1); PropertyChangeEvent event = (PropertyChangeEvent) events.get(0); harness.check(event.getSource(), t); harness.check(event.getPropertyName(), "rowSelectionAllowed"); harness.check(event.getOldValue(), Boolean.TRUE); harness.check(event.getNewValue(), Boolean.FALSE); // setting the same again generates no event events.clear(); t.setRowSelectionAllowed(false); harness.check(events.size(), 0); } } mauve-20140821/gnu/testlet/javax/swing/JTable/isRowSelected.java0000644000175000001440000000533110327715663023256 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JTable; import javax.swing.JTable; import javax.swing.ListSelectionModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests the functionality of the method isRowSelected in JTable. This test * shows that isRowSelected() returns true exactly when the requested row index * is set as selected in the table's selectionModel, independent of the * rowSelectionAllowed property. * * @author Roman Kennke (kennke@aicas.com) */ public class isRowSelected implements Testlet { /** * Starts the test run. * * @param harness the test harness to use */ public void test(TestHarness harness) { testRowSelectionAllowed(harness); testRowSelectionNotAllowed(harness); } /** * Tests the case when the rowSelectionAllowed property is true. * * @param harness the test harness to use */ private void testRowSelectionAllowed(TestHarness harness) { JTable table = createTestTable(); table.setRowSelectionAllowed(true); ListSelectionModel selModel = table.getSelectionModel(); // Select row#1 in the selection model. selModel.setSelectionInterval(1, 1); harness.check(table.isRowSelected(1), true); } /** * Tests the case when the rowSelectionAllowed property is false. * * @param harness the test harness to use */ private void testRowSelectionNotAllowed(TestHarness harness) { JTable table = createTestTable(); table.setRowSelectionAllowed(false); ListSelectionModel selModel = table.getSelectionModel(); // Select row#1 in the selection model. selModel.setSelectionInterval(1, 1); harness.check(table.isRowSelected(1), true); } /** * Creates a JTable used for testing. * * @return the test table */ private JTable createTestTable() { return new JTable(new Object[][] {{"1", "2", "3"}, {"4", "5", "6"}, {"7", "8", "9"}}, new Object[] {"1", "2", "3"}); } } mauve-20140821/gnu/testlet/javax/swing/JTable/getAccessibleContext.java0000644000175000001440000000337010437341765024605 0ustar dokousers/* getAccessibleContext.java -- some checks for the getAccessibleContext() method in the JTable class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JTable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleRole; import javax.swing.JTable; public class getAccessibleContext implements Testlet { public void test(TestHarness harness) { JTable t = new JTable(); AccessibleContext ac = t.getAccessibleContext(); harness.check(ac.getAccessibleName(), null); harness.check(ac.getAccessibleRole(), AccessibleRole.TABLE); harness.check(ac.getAccessibleAction(), null); harness.check(ac.getAccessibleComponent(), ac); harness.check(ac.getAccessibleDescription(), null); harness.check(ac.getAccessibleEditableText(), null); harness.check(ac.getAccessibleIcon(), null); harness.check(ac.getAccessibleTable(), ac); harness.check(ac.getAccessibleText(), null); } } mauve-20140821/gnu/testlet/javax/swing/JTable/setAutoCreateColumnsFromModel.java0000644000175000001440000000574610262454175026426 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JTable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JTable; import javax.swing.table.DefaultTableColumnModel; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableColumn; import javax.swing.table.TableColumnModel; /** * Some checks for the setAutoCreateColumnsFromModel() method in the * {@link JTable} class. */ public class setAutoCreateColumnsFromModel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); } /** * According to the API specification, if the autoCreateColumnsFromModel * flag changes from false to true, a call is made to * createDefaultColumnsFromModel(). This test checks this * * @param harness the test harness (null not permitted). */ public void test1(TestHarness harness) { harness.checkPoint("setAutoCreateColumnsFromModel(boolean) - Test 1"); DefaultTableModel tm = new DefaultTableModel(2, 3); tm.setColumnIdentifiers(new String[] {"C0", "C1", "C2"}); JTable table = new JTable(tm); table.setAutoCreateColumnsFromModel(false); DefaultTableColumnModel tcm1 = new DefaultTableColumnModel(); tcm1.addColumn(new TableColumn(1, 50)); table.setColumnModel(tcm1); table.setAutoCreateColumnsFromModel(true); TableColumnModel tcm2 = table.getColumnModel(); harness.check(tcm2.getColumnCount(), 3); TableColumn c0 = tcm2.getColumn(0); TableColumn c1 = tcm2.getColumn(1); TableColumn c2 = tcm2.getColumn(2); harness.check(c0.getIdentifier(), "C0"); harness.check(c0.getWidth(), 75); harness.check(c0.getMinWidth(), 15); harness.check(c0.getMaxWidth(), Integer.MAX_VALUE); harness.check(c1.getIdentifier(), "C1"); harness.check(c1.getWidth(), 75); harness.check(c1.getMinWidth(), 15); harness.check(c1.getMaxWidth(), Integer.MAX_VALUE); harness.check(c2.getIdentifier(), "C2"); harness.check(c2.getWidth(), 75); harness.check(c2.getMinWidth(), 15); harness.check(c2.getMaxWidth(), Integer.MAX_VALUE); } } mauve-20140821/gnu/testlet/javax/swing/JTable/TableRobot.java0000644000175000001440000002566610452562777022561 0ustar dokousers/* TableRobot.java -- JTable test Copyright (C) 2006 Audrius Meskauskas This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 GUI package gnu.testlet.javax.swing.JTable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.org.omg.CORBA.Asserter; import java.awt.Point; import java.awt.Rectangle; import java.awt.Robot; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; import java.util.BitSet; import java.util.Random; import java.util.TreeSet; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JTable; import javax.swing.SwingUtilities; import javax.swing.table.DefaultTableModel; /** * The AWT robot based test for JTable. */ public class TableRobot extends Asserter implements Testlet { /** * The number of columns in the table (fixed). */ int columns = 3; /** * The number of characters in each field (all the same). */ int sizes = 4; /** * The table being tested. */ JTable table = new JTable(0, 3); JFrame frame; /** * The table row with the empty cells. */ String[] EMPTY; Robot r; static Random ran = new Random(); String[][] records = new String[5][]; int rows = 0; /** * Get the record, containing the random information. * * @return the record, containing the random information */ String[] getRandomRecord() { String[] r = new String[columns]; for (int i = 0; i < r.length; i++) { char[] c = new char[sizes]; for (int j = 0; j < c.length; j++) { // Random valid ASCII chars from 0 till 0 c[j] = (char) ('0' + ran.nextInt('9' - '0')); } r[i] = new String(c); } return r; } public String[] createRecord() { String[] record = getRandomRecord(); ((DefaultTableModel) table.getModel()).addRow(EMPTY); for (int i = 0; i < record.length; i++) { // Click on the cell: clickCell(table, table.getRowCount() - 1, i); // Press F2 to start the editing session: r.keyPress(KeyEvent.VK_F2); r.keyRelease(KeyEvent.VK_F2); for (int j = 0; j < record[i].length(); j++) { typeDigit(record[i].charAt(j)); } r.keyPress(KeyEvent.VK_ENTER); r.keyRelease(KeyEvent.VK_ENTER); } return record; } public void verifyTableContent(String[][] records) { // Verify content. for (int row = 0; row < records.length; row++) { for (int column = 0; column < records[row].length; column++) { if (!table.getValueAt(row, column).equals(records[row][column])) { String msg = "Match failed " + row + ":" + column + ", exp " + records[row][column] + " act " + table.getValueAt(row, column); fail(msg); } } } } public String[][] getTableContent(int columns) { String[][] records = new String[table.getRowCount()][]; for (int row = 0; row < records.length; row++) { records[row] = new String[columns]; for (int col = 0; col < columns; col++) { records[row][col] = table.getModel().getValueAt(row, col).toString(); } } return records; } public String toString(String[] record) { StringBuffer b = new StringBuffer(); for (int i = 0; i < record.length; i++) { b.append(record[i]); b.append("#"); } return b.toString(); } public void testTable() throws Exception { vCreateEditing(); testMultipleSelection(); vEditing(); vTestArrowKeyNavigation(); vDeleteOneByOne(); } private void vDeleteOneByOne() { // Delete remaining records one by one. for (int i = 0; i < records.length; i++) { assertEquals("Deleting row should reduce the row count", records.length - i, table.getRowCount()); // Verify the first line. for (int column = 0; column < records[i].length; column++) { assertEquals(i + "/" + records.length, table.getValueAt(0, column), records[i][column]); } // Select the first record. clickCell(table, 0, 0); // Delete the first line. ((DefaultTableModel) table.getModel()).removeRow(table.getSelectedRow()); } } private void vEditing() { // Test editing. TreeSet used = new TreeSet(); for (int i = 0; i < 7; i++) { int row; int col; String img; do { row = ran.nextInt(records.length); col = ran.nextInt(3); img = row + ":" + col; } while (used.contains(img)); used.add(img); String nc = Integer.toString(ran.nextInt(10)); clickCell(table, row, col); // Press F2 to start the editing session: r.keyPress(KeyEvent.VK_F2); r.keyRelease(KeyEvent.VK_F2); String prev = table.getModel().getValueAt(row, col).toString(); int code = KeyEvent.VK_0 + (nc.charAt(0) - '0'); r.keyPress(code); r.keyRelease(code); r.keyPress(KeyEvent.VK_ENTER); r.keyRelease(KeyEvent.VK_ENTER); records[row][col] = records[row][col] + nc; assertEquals("Incorrect value after editing", table.getModel().getValueAt(row, col), records[row][col]); } } private void testMultipleSelection() { // Randomly select half of the records and delete them in one action: int nd = records.length / 2; BitSet selected = new BitSet(); // Hold the ctrl down after the first click. boolean ctrl = false; for (int i = 0; i < nd; i++) { int d; do { d = ran.nextInt(records.length); } while (selected.get(d)); // Select the first record. clickCell(table, d, 0); selected.set(d); if (!ctrl) { r.keyPress(KeyEvent.VK_CONTROL); ctrl = true; } } // Release the ctrl key: r.keyRelease(KeyEvent.VK_CONTROL); // Verify the selected rows. // Compare selected record count: int[] srows = table.getSelectedRows(); assertEquals("New row should increase the length", nd, srows.length); for (int i = 0; i < srows.length; i++) { assertEquals("Selection mismatch", table.isRowSelected(srows[i]), selected.get(srows[i])); } } private void vCreateEditing() { // Create the last several rows by editing either. for (int i = 0; i < records.length; i++) { assertEquals("New row should increase the length", rows++, table.getRowCount()); records[i] = createRecord(); } verifyTableContent(records); } private void vTestArrowKeyNavigation() { clickCell(table, 0,0); assertEquals("First click", table.getSelectedRow(), 0); for (int i = 1; i < table.getRowCount(); i++) { r.keyPress(KeyEvent.VK_DOWN); r.keyRelease(KeyEvent.VK_DOWN); assertEquals("VK_DOWN", table.getSelectedRow(), i); } for (int i = table.getRowCount()-2; i >=0; i--) { r.keyPress(KeyEvent.VK_UP); r.keyRelease(KeyEvent.VK_UP); assertEquals("VK_UP", table.getSelectedRow(), i); } for (int i = 1; i < table.getColumnCount(); i++) { r.keyPress(KeyEvent.VK_RIGHT); r.keyRelease(KeyEvent.VK_RIGHT); assertEquals("VK_DOWN", table.getSelectedColumn(), i); } for (int i = table.getColumnCount()-2; i >=0; i--) { r.keyPress(KeyEvent.VK_LEFT); r.keyRelease(KeyEvent.VK_LEFT); assertEquals("VK_RIGHT", table.getSelectedColumn(), i); } // Test multiple row selection with shift. r.keyPress(KeyEvent.VK_SHIFT); for (int i = 1; i < table.getRowCount(); i++) { r.keyPress(KeyEvent.VK_DOWN); r.keyRelease(KeyEvent.VK_DOWN); assertEquals("VK_DOWN+shift", table.getSelectedRowCount(), i+1); } for (int i = table.getRowCount()-2; i >=0; i--) { r.keyPress(KeyEvent.VK_UP); r.keyRelease(KeyEvent.VK_UP); assertEquals("VK_UP+shift", table.getSelectedRowCount(), i+1); } // Test multiple row selection with shift. r.keyRelease(KeyEvent.VK_SHIFT); } protected void setUp() throws Exception { EMPTY = new String[columns]; for (int i = 0; i < EMPTY.length; i++) { EMPTY[i] = ""; } frame = new JFrame(); frame.getContentPane().add(table); frame.setSize(400, 400); frame.setVisible(true); r = new Robot(); r.setAutoDelay(50); r.delay(500); } protected void tearDown() throws Exception { frame.dispose(); } /** * Click the mouse on center of the given component. */ public void click(JComponent c) { Point p = new Point(); p.x = c.getWidth() / 2; p.y = c.getHeight() / 2; SwingUtilities.convertPointToScreen(p, c); r.mouseMove(p.x, p.y); r.mousePress(InputEvent.BUTTON1_MASK); r.mouseRelease(InputEvent.BUTTON1_MASK); } /** * Click the given main databas view cell. * * @param row * the row * @param column * the column */ public void clickCell(JTable table, int row, int column) { Rectangle rect = table.getCellRect(row, column, true); Point p = new Point(rect.x + rect.width / 2, rect.y + rect.height / 2); SwingUtilities.convertPointToScreen(p, table); r.mouseMove(p.x, p.y); r.mousePress(InputEvent.BUTTON1_MASK); r.delay(50); r.mouseRelease(InputEvent.BUTTON1_MASK); r.delay(50); } public void typeDigit(char character) { int code = KeyEvent.VK_0 + (character - '0'); r.keyPress(code); r.keyRelease(code); } public void test(TestHarness harness) { try { h = harness; setUp(); try { testTable(); } finally { tearDown(); } } catch (Exception e) { e.printStackTrace(); h.fail("Exception: " + e); } } } mauve-20140821/gnu/testlet/javax/swing/JTable/convertColumnIndexToModel.java0000644000175000001440000000470010261271155025601 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JTable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableColumnModel; /** * Some checks for the convertColumnIndexToModel() method in the {@link JTable} * class. */ public class convertColumnIndexToModel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("convertColumnIndexToModel()"); DefaultTableModel m1 = new DefaultTableModel(4, 6); JTable t = new JTable(m1); harness.check(t.convertColumnIndexToModel(0), 0); harness.check(t.convertColumnIndexToModel(-1), -1); // try a column index == column count boolean pass = false; try { /* int i =*/ t.convertColumnIndexToModel(6); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // try a column index > column count pass = false; try { /* int i =*/ t.convertColumnIndexToModel(999); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); TableColumnModel tcm = t.getColumnModel(); tcm.moveColumn(0, 4); harness.check(t.convertColumnIndexToModel(0), 1); harness.check(t.convertColumnIndexToModel(1), 2); harness.check(t.convertColumnIndexToModel(2), 3); harness.check(t.convertColumnIndexToModel(3), 4); harness.check(t.convertColumnIndexToModel(4), 0); harness.check(t.convertColumnIndexToModel(5), 5); } } mauve-20140821/gnu/testlet/javax/swing/JTable/setRowHeight.java0000644000175000001440000000372210504742625023113 0ustar dokousers/* setRowHeight.java -- some checks for the setRowHeight() method in the JTable class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.JTable; import javax.swing.JTable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class setRowHeight implements Testlet { public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint(("int")); JTable t = new JTable(4, 3); harness.check(t.getRowHeight(0), 16); t.setRowHeight(99); harness.check(t.getRowHeight(0), 99); // does this row height override individual row heights? t.setRowHeight(1, 13); harness.check(t.getRowHeight(1), 13); t.setRowHeight(14); harness.check(t.getRowHeight(1), 14); // try zero boolean pass = false; try { t.setRowHeight(0); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } public void test2(TestHarness harness) { harness.checkPoint("(int, int)"); JTable t = new JTable(4, 3); harness.check(t.getRowHeight(0), 16); t.setRowHeight(99); harness.check(t.getRowHeight(0), 99); } } mauve-20140821/gnu/testlet/javax/swing/JTable/MyJTable.java0000644000175000001440000000250210262454175022142 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JTable; import javax.swing.JTable; import javax.swing.ListSelectionModel; import javax.swing.table.TableModel; /** * Provides public access to some protected methods in the superclass, so they * can be tested. */ public class MyJTable extends JTable { public MyJTable() { super(); } public TableModel createDefaultDataModel() { return super.createDefaultDataModel(); } public ListSelectionModel createDefaultSelectionModel() { return super.createDefaultSelectionModel(); } } mauve-20140821/gnu/testlet/javax/swing/JTable/AccessibleJTable/0000755000175000001440000000000012375316426022753 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JTable/AccessibleJTable/AccessibleJTableHeaderCell/0000755000175000001440000000000012375316426030003 5ustar dokousers././@LongLink0000644000000000000000000000016100000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/JTable/AccessibleJTable/AccessibleJTableHeaderCell/getAccessibleRole.javamauve-20140821/gnu/testlet/javax/swing/JTable/AccessibleJTable/AccessibleJTableHeaderCell/getAccessi0000644000175000001440000000512611015022007031757 0ustar dokousers/* getAccessibleRole.java -- some checks for the getAccessibleRole() method in the AccessibleJTableHeaderCell class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 // Uses: ../AccessibleJTableCell/MyBooleanTableCellRenderer package gnu.testlet.javax.swing.JTable.AccessibleJTable.AccessibleJTableHeaderCell; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.JTable.AccessibleJTable.AccessibleJTableCell.MyBooleanTableCellRenderer; import java.util.Date; import javax.accessibility.Accessible; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleRole; import javax.accessibility.AccessibleTable; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; public class getAccessibleRole implements Testlet { public void test(TestHarness harness) { DefaultTableModel tm = new DefaultTableModel(1, 3); tm.setValueAt("A", 0, 0); tm.setValueAt(Boolean.TRUE, 0, 1); tm.setValueAt(new Date(0l), 0, 2); JTable table = new JTable(tm); table.getColumnModel().getColumn(2).setHeaderRenderer( new MyBooleanTableCellRenderer()); AccessibleContext tableac = table.getAccessibleContext(); harness.check(tableac.getClass().getName().endsWith("AccessibleJTable")); AccessibleTable at = tableac.getAccessibleTable().getAccessibleColumnHeader(); Accessible accessibleCell0 = at.getAccessibleAt(0, 0); harness.check(accessibleCell0.getAccessibleContext().getAccessibleRole(), AccessibleRole.LABEL); Accessible accessibleCell1 = at.getAccessibleAt(0, 1); harness.check(accessibleCell1.getAccessibleContext().getAccessibleRole(), AccessibleRole.LABEL); Accessible accessibleCell2 = at.getAccessibleAt(0, 2); harness.check(accessibleCell2.getAccessibleContext().getAccessibleRole(), AccessibleRole.CHECK_BOX); } } mauve-20140821/gnu/testlet/javax/swing/JTable/AccessibleJTable/getAccessibleColumnHeader.java0000644000175000001440000000461310441171767030645 0ustar dokousers/* getAccessibleColumnHeader.java -- some checks for the getAccessibleColumnHeader() method. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JTable.AccessibleJTable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.javax.swing.JTable.AccessibleJTable.AccessibleJTableCell.MyBooleanTableCellRenderer; import java.util.Date; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleRole; import javax.accessibility.AccessibleTable; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; public class getAccessibleColumnHeader implements Testlet { public void test(TestHarness harness) { DefaultTableModel tm = new DefaultTableModel(1, 3); tm.setValueAt("A", 0, 0); tm.setValueAt(new Date(0l), 0, 1); tm.setValueAt(Boolean.TRUE, 0, 2); JTable table = new JTable(tm); table.getColumnModel().getColumn(2).setHeaderRenderer( new MyBooleanTableCellRenderer()); AccessibleContext tableac = table.getAccessibleContext(); harness.check(tableac.getClass().getName().endsWith("AccessibleJTable")); AccessibleTable ah = tableac.getAccessibleTable().getAccessibleColumnHeader(); testGetAccessibleRole(harness, ah); } public void testGetAccessibleRole(TestHarness harness, AccessibleTable at) { harness.check(at.getAccessibleAt(0, 0).getAccessibleContext().getAccessibleRole(), AccessibleRole.LABEL); harness.check(at.getAccessibleAt(0, 1).getAccessibleContext().getAccessibleRole(), AccessibleRole.LABEL); harness.check(at.getAccessibleAt(0, 2).getAccessibleContext().getAccessibleRole(), AccessibleRole.CHECK_BOX); } } mauve-20140821/gnu/testlet/javax/swing/JTable/AccessibleJTable/AccessibleJTableCell/0000755000175000001440000000000012375316426026672 5ustar dokousers././@LongLink0000644000000000000000000000016400000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/JTable/AccessibleJTable/AccessibleJTableCell/MyBooleanTableCellRenderer.javamauve-20140821/gnu/testlet/javax/swing/JTable/AccessibleJTable/AccessibleJTableCell/MyBooleanTableCe0000644000175000001440000000260410441250434031710 0ustar dokousers/* MyBooleanTableCellRenderer.java -- a custom renderer used for testing purposes. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.javax.swing.JTable.AccessibleJTable.AccessibleJTableCell; import java.awt.Component; import javax.swing.JCheckBox; import javax.swing.JTable; import javax.swing.table.TableCellRenderer; public class MyBooleanTableCellRenderer extends JCheckBox implements TableCellRenderer { public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { setSelected(isSelected); return this; } } ././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/JTable/AccessibleJTable/AccessibleJTableCell/getAccessibleRole.javamauve-20140821/gnu/testlet/javax/swing/JTable/AccessibleJTable/AccessibleJTableCell/getAccessibleRol0000644000175000001440000000465411015022007032013 0ustar dokousers/* getAccessibleRole.java -- some checks for the getAccessibleRole() method in the AccessibleJTableCell class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: MyBooleanTableCellRenderer package gnu.testlet.javax.swing.JTable.AccessibleJTable.AccessibleJTableCell; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Date; import javax.accessibility.Accessible; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleRole; import javax.accessibility.AccessibleTable; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; public class getAccessibleRole implements Testlet { public void test(TestHarness harness) { DefaultTableModel tm = new DefaultTableModel(1, 3); tm.setValueAt("A", 0, 0); tm.setValueAt(Boolean.TRUE, 0, 1); tm.setValueAt(new Date(0l), 0, 2); JTable table = new JTable(tm); table.getColumnModel().getColumn(1).setCellRenderer( new MyBooleanTableCellRenderer()); AccessibleContext tableac = table.getAccessibleContext(); harness.check(tableac.getClass().getName().endsWith("AccessibleJTable")); AccessibleTable at = tableac.getAccessibleTable(); Accessible accessibleCell0 = at.getAccessibleAt(0, 0); harness.check(accessibleCell0.getAccessibleContext().getAccessibleRole(), AccessibleRole.LABEL); Accessible accessibleCell1 = at.getAccessibleAt(0, 1); harness.check(accessibleCell1.getAccessibleContext().getAccessibleRole(), AccessibleRole.CHECK_BOX); Accessible accessibleCell2 = at.getAccessibleAt(0, 2); harness.check(accessibleCell2.getAccessibleContext().getAccessibleRole(), AccessibleRole.LABEL); } } mauve-20140821/gnu/testlet/javax/swing/JTable/createDefaultColumnsFromModel.java0000644000175000001440000000553710262454175026424 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JTable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JTable; import javax.swing.table.DefaultTableColumnModel; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableColumn; import javax.swing.table.TableColumnModel; /** * Some checks for the createDefaultColumnsFromModel() method in the * {@link JTable} class. */ public class createDefaultColumnsFromModel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); } /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test1(TestHarness harness) { harness.checkPoint("Test 1"); DefaultTableModel tm = new DefaultTableModel(2, 3); tm.setColumnIdentifiers(new String[] {"C0", "C1", "C2"}); JTable table = new JTable(tm); // configure a TableColumnModel which will then be updated DefaultTableColumnModel tcm1 = new DefaultTableColumnModel(); tcm1.addColumn(new TableColumn(1, 50)); table.setColumnModel(tcm1); table.createDefaultColumnsFromModel(); TableColumnModel tcm2 = table.getColumnModel(); harness.check(tcm1 == tcm2); harness.check(tcm2.getColumnCount(), 3); TableColumn c0 = tcm2.getColumn(0); TableColumn c1 = tcm2.getColumn(1); TableColumn c2 = tcm2.getColumn(2); harness.check(c0.getIdentifier(), "C0"); harness.check(c0.getWidth(), 75); harness.check(c0.getMinWidth(), 15); harness.check(c0.getMaxWidth(), Integer.MAX_VALUE); harness.check(c1.getIdentifier(), "C1"); harness.check(c1.getWidth(), 75); harness.check(c1.getMinWidth(), 15); harness.check(c1.getMaxWidth(), Integer.MAX_VALUE); harness.check(c2.getIdentifier(), "C2"); harness.check(c2.getWidth(), 75); harness.check(c2.getMinWidth(), 15); harness.check(c2.getMaxWidth(), Integer.MAX_VALUE); } } mauve-20140821/gnu/testlet/javax/swing/JTable/setColumnSelectionAllowed.java0000644000175000001440000000400310454754775025634 0ustar dokousers/* setColumnSelectionAllowed.java -- some checks for the setColumnSelectionAllowed() method in the JTable class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JTable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.JTable; public class setColumnSelectionAllowed implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent e) { events.add(e); } public void test(TestHarness harness) { JTable t = new JTable(); harness.check(t.getColumnSelectionAllowed(), false); t.addPropertyChangeListener(this); t.setColumnSelectionAllowed(true); harness.check(events.size(), 1); PropertyChangeEvent event = (PropertyChangeEvent) events.get(0); harness.check(event.getSource(), t); harness.check(event.getPropertyName(), "columnSelectionAllowed"); harness.check(event.getOldValue(), Boolean.FALSE); harness.check(event.getNewValue(), Boolean.TRUE); // setting the same again generates no event events.clear(); t.setRowSelectionAllowed(true); harness.check(events.size(), 0); } } mauve-20140821/gnu/testlet/javax/swing/JTable/addColumn.java0000644000175000001440000000322310262454175022402 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JTable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JTable; import javax.swing.table.TableColumn; import javax.swing.table.TableColumnModel; /** * Some checks for the addColumn() method in the {@link JTable} class. */ public class addColumn implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JTable table = new JTable(); TableColumn c = new TableColumn(); table.addColumn(c); TableColumnModel tcm = table.getColumnModel(); harness.check(tcm.getColumnCount(), 1); boolean pass = false; try { table.addColumn(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JTable/getColumnName.java0000644000175000001440000000454010262722272023231 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JTable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableColumn; import javax.swing.table.TableColumnModel; /** * Some checks for the getColumnName() method in the {@link JTable} class. */ public class getColumnName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultTableModel tm = new DefaultTableModel(2, 3); tm.setColumnIdentifiers(new String[] {"C1", "C2", "C3"}); JTable table = new JTable(tm); TableColumnModel tcm = table.getColumnModel(); TableColumn c0 = tcm.getColumn(0); TableColumn c1 = tcm.getColumn(1); c0.setModelIndex(1); c1.setModelIndex(0); harness.check(table.getColumnName(0), "C2"); harness.check(table.getColumnName(1), "C1"); harness.check(table.getColumnName(2), "C3"); c0.setHeaderValue("XX"); harness.check(table.getColumnName(0), "C2"); c0.setIdentifier("XXX"); harness.check(table.getColumnName(0), "C2"); boolean pass = false; try { /*String s =*/ table.getColumnName(-1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); pass = false; try { /*String s =*/ table.getColumnName(3); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JTable/initializeLocalVars.java0000644000175000001440000000401110311275272024432 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JTable; import javax.swing.JTable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests if the initializeLocalVars method works correctly and if the * pre- and post-conditions are fullfilled. * * @author Roman Kennke (kennke@aicas.com) */ public class initializeLocalVars implements Testlet { /** * A subclass of JTable that overrides initializeLocalVars. This is used * to check the preconditions of this method. */ class TestTable extends JTable { protected void initializeLocalVars() { hasModel = (getModel() != null); hasColumnModel = (getColumnModel() != null); super.initializeLocalVars(); } } boolean hasModel; boolean hasColumnModel; /** * Starts the test. * * @param harness the test harness to use. */ public void test(TestHarness harness) { testPreconditions(harness); } /** * Checks the preconditions of the initializeLocalVars method. * * @param harness the test harness to use */ void testPreconditions(TestHarness harness) { TestTable table = new TestTable(); harness.check(hasModel, true); harness.check(hasColumnModel, true); // TODO: I only implement what I need atm. Complete this test. } } mauve-20140821/gnu/testlet/javax/swing/JTable/getModel.java0000644000175000001440000000302310262722272022226 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JTable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; /** * Some checks for the getModel() method in the {@link JTable} class. */ public class getModel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("getModel()"); DefaultTableModel m1 = new DefaultTableModel(); JTable t = new JTable(m1); harness.check(t.getModel() == m1); DefaultTableModel m2 = new DefaultTableModel(); t.setModel(m2); harness.check(t.getModel() == m2); } } mauve-20140821/gnu/testlet/javax/swing/JTable/setModel.java0000644000175000001440000001755510330425601022251 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JTable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.Arrays; import javax.swing.JTable; import javax.swing.ListSelectionModel; import javax.swing.event.TableModelListener; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableColumnModel; /** * Some checks for the setModel() method in the {@link JTable} class. */ public class setModel implements Testlet { class PropertyChangeHandler implements PropertyChangeListener { /** * Receives notification when a property changes. * * @param e the property change event */ public void propertyChange(PropertyChangeEvent e) { propertyChangeFired = true; } } boolean propertyChangeFired; /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { test1(harness); test2(harness); testLeadAnchorSelectionUpdate(harness); testSelectionModel(harness); testPropertyFired(harness); } public void test1(TestHarness harness) { harness.checkPoint("setModel(TableModel) - test1"); DefaultTableModel m1 = new DefaultTableModel(); JTable t = new JTable(m1); DefaultTableModel m2 = new DefaultTableModel(); t.setModel(m2); TableModelListener[] listeners1 = m1.getTableModelListeners(); TableModelListener[] listeners2 = m2.getTableModelListeners(); harness.check(!Arrays.asList(listeners1).contains(t)); harness.check(Arrays.asList(listeners2).contains(t)); // try a null argument boolean pass = false; try { t.setModel(null); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } /** * This test checks that the autoCreateColumnsFromModel flag is correctly * observed. * * @param harness the test harness. */ public void test2(TestHarness harness) { harness.checkPoint("setModel(TableModel) - test2"); DefaultTableModel m1 = new DefaultTableModel(2, 3); JTable t = new JTable(m1); TableColumnModel tcm = t.getColumnModel(); tcm.getColumn(1).setModelIndex(0); tcm.getColumn(0).setModelIndex(1); harness.check(t.getColumnCount(), 3); harness.check(t.getColumnName(0), "B"); harness.check(t.getColumnName(1), "A"); harness.check(t.getColumnName(2), "C"); DefaultTableModel m2 = new DefaultTableModel(new String[] {"AA", "BB"}, 1); t.setModel(m2); harness.check(t.getColumnCount(), 2); harness.check(t.getColumnName(0), "AA"); harness.check(t.getColumnName(1), "BB"); tcm = t.getColumnModel(); tcm.getColumn(1).setModelIndex(0); tcm.getColumn(0).setModelIndex(1); t.setAutoCreateColumnsFromModel(false); DefaultTableModel m3 = new DefaultTableModel( new String[] {"CC", "DD", "EE"}, 1); t.setModel(m3); harness.check(t.getColumnCount(), 2); harness.check(t.getColumnName(0), "DD"); harness.check(t.getColumnName(1), "CC"); } /** * Tests if setModel updates the lead and anchor selection indices correctly. * * @param the test harness to use */ private void testLeadAnchorSelectionUpdate(TestHarness harness) { harness.checkPoint("leadAnchorSelectionUpdate"); JTable table = new JTable(0, 0); // Test a model with 0 rows and 0 columns. table.setModel(new DefaultTableModel(0, 0)); try { Thread.sleep(500); } catch (InterruptedException ex) {} harness.check(table.getSelectionModel().getLeadSelectionIndex(), -1); harness.check(table.getSelectionModel().getAnchorSelectionIndex(), -1); harness.check(table.getColumnModel().getSelectionModel() .getLeadSelectionIndex(), -1); harness.check(table.getColumnModel().getSelectionModel() .getAnchorSelectionIndex(), -1); // Test a model with 1 row and 0 columns. table.setModel(new DefaultTableModel(1, 0)); try { Thread.sleep(500); } catch (InterruptedException ex) {} harness.check(table.getSelectionModel().getLeadSelectionIndex(), 0); harness.check(table.getSelectionModel().getAnchorSelectionIndex(), 0); harness.check(table.getColumnModel().getSelectionModel() .getLeadSelectionIndex(), -1); harness.check(table.getColumnModel().getSelectionModel() .getAnchorSelectionIndex(), -1); // Test a model with 0 rows and 1 column. table.setModel(new DefaultTableModel(0, 1)); try { Thread.sleep(500); } catch (InterruptedException ex) {} harness.check(table.getSelectionModel().getLeadSelectionIndex(), -1); harness.check(table.getSelectionModel().getAnchorSelectionIndex(), -1); harness.check(table.getColumnModel().getSelectionModel() .getLeadSelectionIndex(), 0); harness.check(table.getColumnModel().getSelectionModel() .getAnchorSelectionIndex(), 0); // Test a model with 1 row and 1 columns. table.setModel(new DefaultTableModel(1, 1)); try { Thread.sleep(500); } catch (InterruptedException ex) {} harness.check(table.getSelectionModel().getLeadSelectionIndex(), 0); harness.check(table.getSelectionModel().getAnchorSelectionIndex(), 0); harness.check(table.getColumnModel().getSelectionModel() .getLeadSelectionIndex(), 0); harness.check(table.getColumnModel().getSelectionModel() .getAnchorSelectionIndex(), 0); } /** * Tests if the selectionModel is changes when the table's model * changes. The test shows that the selectionModel is not replaced but the * selection is cleared. * * @oaram harness the test harness to use */ private void testSelectionModel(TestHarness harness) { harness.checkPoint("selectionModel"); JTable table = new JTable(); ListSelectionModel m1 = table.getSelectionModel(); m1.addSelectionInterval(1, 1); harness.check(m1.isSelectedIndex(1), true); table.setModel(new DefaultTableModel()); harness.check(table.getSelectionModel() == m1); harness.check(m1.isSelectedIndex(1), false); } /** * Tests if changing this property fires a property change event. * * @param harness the test harness to use */ private void testPropertyFired(TestHarness harness) { harness.checkPoint("propertyFired"); JTable table = new JTable(); table.addPropertyChangeListener(new PropertyChangeHandler()); DefaultTableModel m1 = new DefaultTableModel(); DefaultTableModel m2 = new DefaultTableModel(); propertyChangeFired = false; table.setModel(m1); harness.check(propertyChangeFired, true); propertyChangeFired = false; table.setModel(m1); harness.check(propertyChangeFired, false); propertyChangeFired = false; table.setModel(m2); harness.check(propertyChangeFired, true); try { table.setModel(null); harness.fail("IllegalArgumenException must be fired"); } catch (IllegalArgumentException ex) { harness.check(true); } } } mauve-20140821/gnu/testlet/javax/swing/JTable/getCellEditor.java0000644000175000001440000000225410437341765023231 0ustar dokousers/* getCellEditor.java -- some checks for the getCellEditor() method in the JTable class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JTable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JTable; public class getCellEditor implements Testlet { public void test(TestHarness harness) { JTable table = new JTable(); harness.check(table.getCellEditor(), null); } } mauve-20140821/gnu/testlet/javax/swing/JTable/createDefaultDataModel.java0000644000175000001440000000314310276712560025020 0ustar dokousers// Tags: JDK1.2 // Uses: MyJTable // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JTable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableModel; /** * Some checks for the createDefaultDataModel() method in the {@link JTable} * class. */ public class createDefaultDataModel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("createDefaultDataModel()"); MyJTable t = new MyJTable(); TableModel m = t.createDefaultDataModel(); harness.check(m instanceof DefaultTableModel); harness.check(m.getColumnCount(), 0); harness.check(m.getRowCount(), 0); } } mauve-20140821/gnu/testlet/javax/swing/JTable/isCellEditable.java0000644000175000001440000000404710262722272023342 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JTable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; /** * Some checks for the isCellEditable() method in the {@link JTable} class. */ public class isCellEditable implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("isCellEditable()"); DefaultTableModel m1 = new DefaultTableModel(4, 6) { public boolean isCellEditable(int row, int column) { return (row > 1 && column > 2); } }; JTable t = new JTable(m1); harness.check(!t.isCellEditable(0, 0)); harness.check(t.isCellEditable(2, 3)); // try negative row harness.check(!t.isCellEditable(-1, 0)); // try negative column harness.check(!t.isCellEditable(0, -1)); // try row too big harness.check(!t.isCellEditable(999, 0)); // try column too big boolean pass = false; try { /* boolean b =*/ t.isCellEditable(0, 999); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JTable/getInputMap.java0000644000175000001440000002266210441520121022721 0ustar dokousers/* getInputMap.java -- some checks for the getInputMap() methods inherited by the JTable class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JTable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.InputMap; import javax.swing.JComponent; import javax.swing.JTable; import javax.swing.KeyStroke; /** * Checks the input maps defined for a JTable - this is really testing * the setup performed by BasicTableUI. */ public class getInputMap implements Testlet { public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("()"); JTable t = new JTable(); InputMap m1 = t.getInputMap(); InputMap m2 = t.getInputMap(JComponent.WHEN_FOCUSED); harness.check(m1 == m2); } public void testMethod2(TestHarness harness) { harness.checkPoint("(int)"); JTable t = new JTable(); InputMap m1 = t.getInputMap(JComponent.WHEN_FOCUSED); harness.check(m1.keys(), null); harness.check(m1.getParent(), null); InputMap m2 = t.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); harness.check(m2.keys(), null); InputMap m2p = m2.getParent(); harness.check(m2p.get(KeyStroke.getKeyStroke("ctrl pressed DOWN")), "selectNextRowChangeLead"); harness.check(m2p.get(KeyStroke.getKeyStroke("shift pressed UP")), "selectPreviousRowExtendSelection"); harness.check(m2p.get(KeyStroke.getKeyStroke("ctrl pressed RIGHT")), "selectNextColumnChangeLead"); harness.check(m2p.get(KeyStroke.getKeyStroke("shift ctrl pressed LEFT")), "selectPreviousColumnExtendSelection"); harness.check(m2p.get(KeyStroke.getKeyStroke("shift pressed KP_UP")), "selectPreviousRowExtendSelection"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed DOWN")), "selectNextRow"); harness.check(m2p.get(KeyStroke.getKeyStroke("ctrl pressed UP")), "selectPreviousRowChangeLead"); harness.check(m2p.get(KeyStroke.getKeyStroke("ctrl pressed LEFT")), "selectPreviousColumnChangeLead"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed CUT")), "cut"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed END")), "selectLastColumn"); harness.check(m2p.get(KeyStroke.getKeyStroke("shift pressed PAGE_UP")), "scrollUpExtendSelection"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed KP_UP")), "selectPreviousRow"); harness.check(m2p.get(KeyStroke.getKeyStroke("shift ctrl pressed UP")), "selectPreviousRowExtendSelection"); harness.check(m2p.get(KeyStroke.getKeyStroke("ctrl pressed HOME")), "selectFirstRow"); harness.check(m2p.get(KeyStroke.getKeyStroke("shift pressed LEFT")), "selectPreviousColumnExtendSelection"); harness.check(m2p.get(KeyStroke.getKeyStroke("ctrl pressed END")), "selectLastRow"); harness.check(m2p.get(KeyStroke.getKeyStroke("ctrl pressed PAGE_DOWN")), "scrollRightChangeSelection"); harness.check(m2p.get(KeyStroke.getKeyStroke("shift ctrl pressed RIGHT")), "selectNextColumnExtendSelection"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed LEFT")), "selectPreviousColumn"); harness.check(m2p.get(KeyStroke.getKeyStroke("ctrl pressed PAGE_UP")), "scrollLeftChangeSelection"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed KP_LEFT")), "selectPreviousColumn"); harness.check(m2p.get(KeyStroke.getKeyStroke("shift pressed KP_RIGHT")), "selectNextColumnExtendSelection"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed SPACE")), "addToSelection"); harness.check(m2p.get(KeyStroke.getKeyStroke("ctrl pressed SPACE")), "toggleAndAnchor"); harness.check(m2p.get(KeyStroke.getKeyStroke("shift pressed SPACE")), "extendTo"); harness.check(m2p.get(KeyStroke.getKeyStroke("shift ctrl pressed SPACE")), "moveSelectionTo"); harness.check(m2p.get(KeyStroke.getKeyStroke("shift ctrl pressed DOWN")), "selectNextRowExtendSelection"); harness.check(m2p.get(KeyStroke.getKeyStroke("ctrl pressed BACK_SLASH")), "clearSelection"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed ESCAPE")), "cancel"); harness.check(m2p.get(KeyStroke.getKeyStroke("shift pressed HOME")), "selectFirstColumnExtendSelection"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed ENTER")), "selectNextRowCell"); harness.check(m2p.get(KeyStroke.getKeyStroke("shift pressed ENTER")), "selectPreviousRowCell"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed RIGHT")), "selectNextColumn"); harness.check(m2p.get(KeyStroke.getKeyStroke("shift ctrl pressed PAGE_UP")), "scrollLeftExtendSelection"); harness.check(m2p.get(KeyStroke.getKeyStroke("shift pressed DOWN")), "selectNextRowExtendSelection"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed PAGE_DOWN")), "scrollDownChangeSelection"); harness.check(m2p.get(KeyStroke.getKeyStroke("shift ctrl pressed KP_UP")), "selectPreviousRowExtendSelection"); harness.check(m2p.get(KeyStroke.getKeyStroke("shift pressed KP_LEFT")), "selectPreviousColumnExtendSelection"); harness.check(m2p.get(KeyStroke.getKeyStroke("ctrl pressed X")), "cut"); harness.check(m2p.get(KeyStroke.getKeyStroke( "shift ctrl pressed PAGE_DOWN")), "scrollRightExtendSelection"); harness.check(m2p.get(KeyStroke.getKeyStroke("ctrl pressed SLASH")), "selectAll"); harness.check(m2p.get(KeyStroke.getKeyStroke("ctrl pressed C")), "copy"); harness.check(m2p.get(KeyStroke.getKeyStroke("ctrl pressed KP_RIGHT")), "selectNextColumnChangeLead"); harness.check(m2p.get(KeyStroke.getKeyStroke("shift pressed END")), "selectLastColumnExtendSelection"); harness.check(m2p.get(KeyStroke.getKeyStroke( "shift ctrl pressed KP_DOWN")), "selectNextRowExtendSelection"); harness.check(m2p.get(KeyStroke.getKeyStroke("shift pressed TAB")), "selectPreviousColumnCell"); harness.check(m2p.get(KeyStroke.getKeyStroke("ctrl pressed KP_LEFT")), "selectPreviousColumnChangeLead"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed HOME")), "selectFirstColumn"); harness.check(m2p.get(KeyStroke.getKeyStroke("ctrl pressed V")), "paste"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed KP_DOWN")), "selectNextRow"); harness.check(m2p.get(KeyStroke.getKeyStroke("ctrl pressed KP_DOWN")), "selectNextRowChangeLead"); harness.check(m2p.get(KeyStroke.getKeyStroke("shift pressed RIGHT")), "selectNextColumnExtendSelection"); harness.check(m2p.get(KeyStroke.getKeyStroke("ctrl pressed A")), "selectAll"); harness.check(m2p.get(KeyStroke.getKeyStroke("shift ctrl pressed END")), "selectLastRowExtendSelection"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed COPY")), "copy"); harness.check(m2p.get(KeyStroke.getKeyStroke("ctrl pressed KP_UP")), "selectPreviousRowChangeLead"); harness.check(m2p.get(KeyStroke.getKeyStroke( "shift ctrl pressed KP_LEFT")), "selectPreviousColumnExtendSelection"); harness.check(m2p.get(KeyStroke.getKeyStroke("shift pressed KP_DOWN")), "selectNextRowExtendSelection"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed TAB")), "selectNextColumnCell"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed UP")), "selectPreviousRow"); harness.check(m2p.get(KeyStroke.getKeyStroke("shift ctrl pressed HOME")), "selectFirstRowExtendSelection"); harness.check(m2p.get(KeyStroke.getKeyStroke("shift pressed PAGE_DOWN")), "scrollDownExtendSelection"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed KP_RIGHT")), "selectNextColumn"); harness.check(m2p.get(KeyStroke.getKeyStroke( "shift ctrl pressed KP_RIGHT")), "selectNextColumnExtendSelection"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed F2")), "startEditing"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed PAGE_UP")), "scrollUpChangeSelection"); harness.check(m2p.get(KeyStroke.getKeyStroke("pressed PASTE")), "paste"); InputMap m3 = t.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW); harness.check(m3.keys(), null); harness.check(m3.getParent(), null); } } mauve-20140821/gnu/testlet/javax/swing/JTable/getCellRect.java0000644000175000001440000001062610504762320022667 0ustar dokousers/* getCellRect.java Copyright (C) 2006 Red Hat This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JTable; import java.awt.Rectangle; import javax.swing.JTable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getCellRect implements Testlet { public void test(TestHarness harness) { JTable table = new JTable(0, 0); Rectangle rectangle = table.getCellRect(0, 0, false); harness.check(rectangle.x, 0); harness.check(rectangle.y, 0); harness.check(rectangle.width, 0); harness.check(rectangle.height, 0); table = new JTable(2, 3); rectangle = table.getCellRect(1, 2, false); harness.check(rectangle.x, 150); harness.check(rectangle.y, 16); harness.check(rectangle.width, 74); harness.check(rectangle.height, 15); table = new JTable(2, 3); rectangle = table.getCellRect(0, 2, false); harness.check(rectangle.x, 150); harness.check(rectangle.y, 0); harness.check(rectangle.width, 74); harness.check(rectangle.height, 15); table = new JTable(2, 3); rectangle = table.getCellRect(1, 0, false); harness.check(rectangle.x, 0); harness.check(rectangle.y, 16); harness.check(rectangle.width, 74); harness.check(rectangle.height, 15); table = new JTable(0, 1); rectangle = table.getCellRect(0, 0, true); harness.check(rectangle.x, 0); harness.check(rectangle.y, 0); harness.check(rectangle.width, 75); harness.check(rectangle.height, 0); table = new JTable(2, 3); rectangle = table.getCellRect(1, 2, true); harness.check(rectangle.x, 150); harness.check(rectangle.y, 16); harness.check(rectangle.width, 75); harness.check(rectangle.height, 16); table = new JTable(2, 3); rectangle = table.getCellRect(0, 2, true); harness.check(rectangle.x, 150); harness.check(rectangle.y, 0); harness.check(rectangle.width, 75); harness.check(rectangle.height, 16); table = new JTable(2, 3); rectangle = table.getCellRect(1, 0, true); harness.check(rectangle.x, 0); harness.check(rectangle.y, 16); harness.check(rectangle.width, 75); harness.check(rectangle.height, 16); // try varying the row heights table = new JTable(2, 3); table.setRowHeight(0, 11); table.setRowHeight(1, 12); harness.check(table.getCellRect(0, 2, false), new Rectangle(150, 0, 74, 10)); harness.check(table.getCellRect(1, 2, false), new Rectangle(150, 11, 74, 11)); // try varying the column widths table = new JTable(2, 3); table.getColumnModel().getColumn(0).setWidth(11); table.getColumnModel().getColumn(1).setWidth(15); table.getColumnModel().getColumn(2).setWidth(17); harness.check(table.getCellRect(0, 0, false), new Rectangle(0, 0, 14, 15)); harness.check(table.getCellRect(1, 1, false), new Rectangle(15, 16, 14, 15)); harness.check(table.getCellRect(0, 2, false), new Rectangle(30, 0, 16, 15)); harness.check(table.getCellRect(1, 0, false), new Rectangle(0, 16, 14, 15)); harness.check(table.getCellRect(0, 1, false), new Rectangle(15, 0, 14, 15)); harness.check(table.getCellRect(1, 2, false), new Rectangle(30, 16, 16, 15)); // try negative row table = new JTable(2, 3); harness.check(table.getCellRect(-1, 0, true), new Rectangle(0, 0, 75, 0)); // try row index too large table = new JTable(2, 3); harness.check(table.getCellRect(99, 0, true), new Rectangle(0, 0, 75, 0)); // try negative column harness.check(table.getCellRect(0, -1, true), new Rectangle(0, 0, 0, 16)); // try column index too large harness.check(table.getCellRect(0, 99, true), new Rectangle(0, 0, 0, 16)); } } mauve-20140821/gnu/testlet/javax/swing/JTable/getColumn.java0000644000175000001440000000436410262454175022440 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JTable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableColumnModel; /** * Some checks for the getColumn() method in the {@link JTable} class. */ public class getColumn implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { DefaultTableModel tm = new DefaultTableModel(2, 3); tm.setColumnIdentifiers(new String[] {"C1", "C2", "C3"}); JTable table = new JTable(tm); TableColumnModel tcm = table.getColumnModel(); tcm.getColumn(0).setIdentifier(new Integer(0)); tcm.getColumn(1).setIdentifier(new Integer(1)); tcm.getColumn(2).setIdentifier(new Integer(2)); harness.check(table.getColumn(new Integer(0)).getHeaderValue(), "C1"); harness.check(table.getColumn(new Integer(1)).getHeaderValue(), "C2"); harness.check(table.getColumn(new Integer(2)).getHeaderValue(), "C3"); boolean pass = false; try { /*TableColumn tc =*/ table.getColumn("XXX"); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); pass = false; try { /*TableColumn tc =*/ table.getColumn(null); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/JTable/getAutoCreateColumnsFromModel.java0000644000175000001440000000300110262454175026370 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.JTable; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JTable; /** * Some checks for the getAutoCreateColumnsFromModel() method in the * {@link JTable} class. */ public class getAutoCreateColumnsFromModel implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { harness.checkPoint("getAutoCreateColumnsFromModel()"); JTable t = new JTable(); harness.check(t.getAutoCreateColumnsFromModel(), true); t.setAutoCreateColumnsFromModel(false); harness.check(t.getAutoCreateColumnsFromModel(), false); } } mauve-20140821/gnu/testlet/javax/swing/DefaultButtonModel/0000755000175000001440000000000012375316426022234 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/DefaultButtonModel/addActionListener.java0000644000175000001440000000302510432445530026462 0ustar dokousers/* addActionListener.java -- some checks for the addActionListener() method in the DefaultButtonModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.DefaultButtonModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.DefaultButtonModel; public class addActionListener implements Testlet, ActionListener { public void actionPerformed(ActionEvent e) { // do nothing } public void test(TestHarness harness) { DefaultButtonModel m = new DefaultButtonModel(); m.addActionListener(this); harness.check(m.getActionListeners()[0], this); m.addActionListener(null); harness.check(m.getActionListeners().length, 1); } } mauve-20140821/gnu/testlet/javax/swing/DefaultButtonModel/setPressed.java0000644000175000001440000000632211015022005025174 0ustar dokousers/* setPressed.java -- some checks for the setPressed() method in the DefaultButtonModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: MyDefaultButtonModel package gnu.testlet.javax.swing.DefaultButtonModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.DefaultButtonModel; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class setPressed implements Testlet, ActionListener, ChangeListener { ChangeEvent lastChangeEvent; ActionEvent lastActionEvent; public void stateChanged(ChangeEvent e) { lastChangeEvent = e; } public void actionPerformed(ActionEvent e) { lastActionEvent = e; } public void test(TestHarness harness) { testGeneral(harness); testEvent(harness); } public void testGeneral(TestHarness harness) { harness.checkPoint("testGeneral"); MyDefaultButtonModel m = new MyDefaultButtonModel(); m.addActionListener(this); m.addChangeListener(this); m.setPressed(true); harness.check(m.isPressed()); harness.check(m.getStateMask(), DefaultButtonModel.ENABLED | DefaultButtonModel.PRESSED); harness.check(lastChangeEvent.getSource(), m); harness.check(lastActionEvent, null); // setting the same again causes no event lastChangeEvent = null; m.setPressed(true); harness.check(lastChangeEvent, null); // if we disable the model, it becomes not pressed m.setEnabled(false); harness.check(m.isPressed(), false); harness.check(m.getStateMask(), 0); m.setEnabled(true); harness.check(m.isPressed(), false); harness.check(m.getStateMask(), DefaultButtonModel.ENABLED); m.setEnabled(false); m.setPressed(true); harness.check(m.isPressed(), false); harness.check(m.getStateMask(), 0); } public void testEvent(TestHarness harness) { harness.checkPoint("testEvent"); DefaultButtonModel m = new DefaultButtonModel(); m.addActionListener(this); m.addChangeListener(this); lastActionEvent = null; m.setActionCommand("ABC"); m.setArmed(true); harness.check(lastActionEvent, null); m.setPressed(true); lastChangeEvent = null; harness.check(lastActionEvent, null); m.setPressed(false); harness.check(lastActionEvent.getSource(), m); harness.check(lastActionEvent.getActionCommand(), "ABC"); harness.check(lastChangeEvent.getSource(), m); } } mauve-20140821/gnu/testlet/javax/swing/DefaultButtonModel/constants.java0000644000175000001440000000255110432445530025105 0ustar dokousers/* constants.java -- some checks for the constants in the DefaultButtonModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.DefaultButtonModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultButtonModel; public class constants implements Testlet { public void test(TestHarness harness) { harness.check(DefaultButtonModel.ARMED, 1); harness.check(DefaultButtonModel.ENABLED, 8); harness.check(DefaultButtonModel.PRESSED, 4); harness.check(DefaultButtonModel.ROLLOVER, 16); harness.check(DefaultButtonModel.SELECTED, 2); } } mauve-20140821/gnu/testlet/javax/swing/DefaultButtonModel/constructor.java0000644000175000001440000000271310432445530025456 0ustar dokousers/* constructor.java -- some checks for the constructor in the DefaultButtonModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.DefaultButtonModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultButtonModel; public class constructor implements Testlet { public void test(TestHarness harness) { DefaultButtonModel m = new DefaultButtonModel(); harness.check(m.getActionCommand(), null); harness.check(m.getGroup(), null); harness.check(m.isArmed(), false); harness.check(m.isEnabled(), true); harness.check(m.isPressed(), false); harness.check(m.isRollover(), false); harness.check(m.isSelected(), false); } } mauve-20140821/gnu/testlet/javax/swing/DefaultButtonModel/setActionCommand.java0000644000175000001440000000253510432445530026323 0ustar dokousers/* setActionCommand.java -- some checks for the setActionCommand() method in the DefaultButtonModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.DefaultButtonModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultButtonModel; public class setActionCommand implements Testlet { public void test(TestHarness harness) { DefaultButtonModel m = new DefaultButtonModel(); m.setActionCommand("XYZ"); harness.check(m.getActionCommand(), "XYZ"); m.setActionCommand(null); harness.check(m.getActionCommand(), null); } } mauve-20140821/gnu/testlet/javax/swing/DefaultButtonModel/setEnabled.java0000644000175000001440000000470311015022005025122 0ustar dokousers/* setEnabled.java -- some checks for the setEnabled() method in the DefaultButtonModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: MyDefaultButtonModel package gnu.testlet.javax.swing.DefaultButtonModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.DefaultButtonModel; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class setEnabled implements Testlet, ActionListener, ChangeListener { ChangeEvent lastChangeEvent; ActionEvent lastActionEvent; public void stateChanged(ChangeEvent e) { lastChangeEvent = e; } public void actionPerformed(ActionEvent e) { lastActionEvent = e; } public void test(TestHarness harness) { MyDefaultButtonModel m = new MyDefaultButtonModel(); m.addActionListener(this); m.addChangeListener(this); m.setEnabled(false); harness.check(m.isEnabled(), false); harness.check(m.getStateMask(), 0); harness.check(lastChangeEvent.getSource(), m); harness.check(lastActionEvent, null); // setting the same again causes no event lastChangeEvent = null; m.setEnabled(false); harness.check(m.getStateMask(), 0); harness.check(lastChangeEvent, null); m.setEnabled(true); harness.check(m.getStateMask(), DefaultButtonModel.ENABLED); harness.check(lastChangeEvent.getSource(), m); // if a button is armed and enabled, setting it to disabled also disarms it m.setArmed(true); harness.check(m.getStateMask(), DefaultButtonModel.ENABLED | DefaultButtonModel.ARMED); m.setEnabled(false); harness.check(m.getStateMask(), 0); } } mauve-20140821/gnu/testlet/javax/swing/DefaultButtonModel/setRollover.java0000644000175000001440000000425510432445530025414 0ustar dokousers/* setRollover.java -- some checks for the setRollover() method in the DefaultButtonModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.DefaultButtonModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.DefaultButtonModel; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class setRollover implements Testlet, ActionListener, ChangeListener { ChangeEvent lastChangeEvent; ActionEvent lastActionEvent; public void stateChanged(ChangeEvent e) { lastChangeEvent = e; } public void actionPerformed(ActionEvent e) { lastActionEvent = e; } public void test(TestHarness harness) { DefaultButtonModel m = new DefaultButtonModel(); m.addActionListener(this); m.addChangeListener(this); m.setRollover(true); harness.check(m.isRollover(), true); harness.check(lastChangeEvent.getSource(), m); harness.check(lastActionEvent, null); // setting the same again causes no event lastChangeEvent = null; m.setRollover(true); harness.check(lastChangeEvent, null); // are the states independent? Seems so. m.setPressed(true); harness.check(m.isRollover(), true); m.setEnabled(false); harness.check(m.isRollover(), true); m.setEnabled(true); harness.check(m.isRollover(), true); } } mauve-20140821/gnu/testlet/javax/swing/DefaultButtonModel/MyDefaultButtonModel.java0000644000175000001440000000221310432445530027133 0ustar dokousers/* MyDefaultButtonModel.java -- subclass that provides access to protected field. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.javax.swing.DefaultButtonModel; import javax.swing.DefaultButtonModel; public class MyDefaultButtonModel extends DefaultButtonModel { public MyDefaultButtonModel() { super(); } public int getStateMask() { return this.stateMask; } } mauve-20140821/gnu/testlet/javax/swing/DefaultButtonModel/setArmed.java0000644000175000001440000000470511015022005024622 0ustar dokousers/* setArmed.java -- some checks for the setArmed() method in the DefaultButtonModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: MyDefaultButtonModel package gnu.testlet.javax.swing.DefaultButtonModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.DefaultButtonModel; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class setArmed implements Testlet, ActionListener, ChangeListener { ChangeEvent lastChangeEvent; ActionEvent lastActionEvent; public void stateChanged(ChangeEvent e) { lastChangeEvent = e; } public void actionPerformed(ActionEvent e) { lastActionEvent = e; } public void test(TestHarness harness) { MyDefaultButtonModel m = new MyDefaultButtonModel(); m.addActionListener(this); m.addChangeListener(this); m.setArmed(true); harness.check(m.isArmed(), true); harness.check(m.getStateMask(), DefaultButtonModel.ENABLED | DefaultButtonModel.ARMED); harness.check(lastChangeEvent.getSource(), m); harness.check(lastActionEvent, null); // setting the same again causes no event lastChangeEvent = null; m.setArmed(true); harness.check(lastChangeEvent, null); // if we disable the model, it becomes unarmed m.setEnabled(false); harness.check(m.isArmed(), false); harness.check(m.getStateMask(), 0); m.setEnabled(true); harness.check(m.isArmed(), false); harness.check(m.getStateMask(), DefaultButtonModel.ENABLED); m.setEnabled(false); m.setArmed(true); harness.check(m.isArmed(), false); harness.check(m.getStateMask(), 0); } } mauve-20140821/gnu/testlet/javax/swing/DefaultButtonModel/getSelectedObjects.java0000644000175000001440000000237010432445530026632 0ustar dokousers/* getSelectedObjects.java -- some checks for the getSelectedObjects() method in the DefaultButtonModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.DefaultButtonModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.DefaultButtonModel; public class getSelectedObjects implements Testlet { public void test(TestHarness harness) { DefaultButtonModel m = new DefaultButtonModel(); harness.check(m.getSelectedObjects(), null); } } mauve-20140821/gnu/testlet/javax/swing/DefaultButtonModel/setMnemonic.java0000644000175000001440000000427410432445530025356 0ustar dokousers/* setMnemonic.java -- some checks for the setMnemonic() method in the DefaultButtonModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.DefaultButtonModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.DefaultButtonModel; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class setMnemonic implements Testlet, ActionListener, ChangeListener { ChangeEvent lastChangeEvent; ActionEvent lastActionEvent; public void stateChanged(ChangeEvent e) { lastChangeEvent = e; } public void actionPerformed(ActionEvent e) { lastActionEvent = e; } public void test(TestHarness harness) { DefaultButtonModel m = new DefaultButtonModel(); m.addActionListener(this); m.addChangeListener(this); m.setMnemonic(99); harness.check(m.getMnemonic(), 99); harness.check(lastChangeEvent.getSource(), m); harness.check(lastActionEvent, null); // setting the same again causes no event - actually, the reference // implementation fails this test, I filed it as a bug report to Sun and // will await their assessment... lastChangeEvent = null; m.setMnemonic(99); harness.check(lastChangeEvent, null); // try a wild argument m.setMnemonic(Integer.MIN_VALUE); harness.check(m.getMnemonic(), Integer.MIN_VALUE); } } mauve-20140821/gnu/testlet/javax/swing/DefaultButtonModel/setSelected.java0000644000175000001440000000506110444533356025343 0ustar dokousers/* setSelected.java -- some checks for the setSelected() method in the DefaultButtonModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.DefaultButtonModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import javax.swing.DefaultButtonModel; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class setSelected implements Testlet, ActionListener, ChangeListener, ItemListener { ChangeEvent lastChangeEvent; ActionEvent lastActionEvent; ItemEvent lastItemEvent; public void stateChanged(ChangeEvent e) { lastChangeEvent = e; } public void actionPerformed(ActionEvent e) { lastActionEvent = e; } public void itemStateChanged(ItemEvent e) { lastItemEvent = e; } public void test(TestHarness harness) { DefaultButtonModel m = new DefaultButtonModel(); m.addActionListener(this); m.addChangeListener(this); m.addItemListener(this); m.setSelected(true); harness.check(m.isSelected(), true); harness.check(lastChangeEvent.getSource(), m); harness.check(lastActionEvent, null); harness.check(lastItemEvent.getSource(), m); harness.check(lastItemEvent.getItem(), m); // setting the same again causes no event lastChangeEvent = null; lastItemEvent = null; m.setSelected(true); harness.check(lastChangeEvent, null); harness.check(lastItemEvent, null); // are the states independent? Seems so. m.setPressed(true); harness.check(m.isSelected(), true); m.setEnabled(false); harness.check(m.isSelected(), true); m.setEnabled(true); harness.check(m.isSelected(), true); } } mauve-20140821/gnu/testlet/javax/swing/DefaultButtonModel/setGroup.java0000644000175000001440000000422010432445530024674 0ustar dokousers/* setGroup.java -- some checks for the setGroup() method in the DefaultButtonModel class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.DefaultButtonModel; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ButtonGroup; import javax.swing.DefaultButtonModel; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class setGroup implements Testlet, ActionListener, ChangeListener { ChangeEvent lastChangeEvent; ActionEvent lastActionEvent; public void stateChanged(ChangeEvent e) { lastChangeEvent = e; } public void actionPerformed(ActionEvent e) { lastActionEvent = e; } public void test(TestHarness harness) { DefaultButtonModel m = new DefaultButtonModel(); m.addActionListener(this); m.addChangeListener(this); ButtonGroup bg = new ButtonGroup(); m.setGroup(bg); harness.check(m.getGroup(), bg); harness.check(lastChangeEvent, null); harness.check(lastActionEvent, null); harness.check(bg.getButtonCount(), 0); // setting the same again causes no event lastChangeEvent = null; m.setGroup(bg); harness.check(lastChangeEvent, null); // try a null argument m.setGroup(null); harness.check(m.getGroup(), null); harness.check(lastChangeEvent, null); } } mauve-20140821/gnu/testlet/javax/swing/filechooser/0000755000175000001440000000000012375316426020775 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/filechooser/FileSystemView/0000755000175000001440000000000012375316426023714 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/filechooser/FileSystemView/getFileSystemView.java0000644000175000001440000000300510322703564030165 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.filechooser.FileSystemView; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.filechooser.FileSystemView; /** * Some checks for the getFileSystemView() method of the * {@link FileSystemView} class. */ public class getFileSystemView implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { // the method returns the same FileSystemView instance every time FileSystemView fsv1 = FileSystemView.getFileSystemView(); FileSystemView fsv2 = FileSystemView.getFileSystemView(); harness.check(fsv1 == fsv2); } } mauve-20140821/gnu/testlet/javax/swing/filechooser/FileView/0000755000175000001440000000000012375316426022507 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/filechooser/FileView/getDescription.java0000644000175000001440000000277311015022010026313 0ustar dokousers// Tags: JDK1.2 // Uses: MyFileView // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.filechooser.FileView; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.File; import javax.swing.filechooser.FileView; /** * Some checks for the getDescription() method in the {@link FileView} class. */ public class getDescription implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyFileView fv = new MyFileView(); File f = new File("File1.txt"); harness.check(fv.getDescription(f), null); harness.check(fv.getDescription(null), null); } } mauve-20140821/gnu/testlet/javax/swing/filechooser/FileView/isTraversable.java0000644000175000001440000000276711015022010026141 0ustar dokousers// Tags: JDK1.2 // Uses: MyFileView // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.filechooser.FileView; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.File; import javax.swing.filechooser.FileView; /** * Some checks for the isTraversable() method in the {@link FileView} class. */ public class isTraversable implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyFileView fv = new MyFileView(); File f = new File("File1.txt"); harness.check(fv.isTraversable(f), null); harness.check(fv.isTraversable(null), null); } } mauve-20140821/gnu/testlet/javax/swing/filechooser/FileView/MyFileView.java0000644000175000001440000000201010313617043025350 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.filechooser.FileView; import javax.swing.filechooser.FileView; /** * For testing the default methods in FileView. */ public class MyFileView extends FileView { } mauve-20140821/gnu/testlet/javax/swing/filechooser/FileView/getIcon.java0000644000175000001440000000273711015022010024720 0ustar dokousers// Tags: JDK1.2 // Uses: MyFileView // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.filechooser.FileView; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.File; import javax.swing.filechooser.FileView; /** * Some checks for the getIcon() method in the {@link FileView} class. */ public class getIcon implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyFileView fv = new MyFileView(); File f = new File("File1.txt"); harness.check(fv.getIcon(f), null); harness.check(fv.getIcon(null), null); } } mauve-20140821/gnu/testlet/javax/swing/filechooser/FileView/getName.java0000644000175000001440000000273711015022010024710 0ustar dokousers// Tags: JDK1.2 // Uses: MyFileView // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.filechooser.FileView; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.File; import javax.swing.filechooser.FileView; /** * Some checks for the getName() method in the {@link FileView} class. */ public class getName implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyFileView fv = new MyFileView(); File f = new File("File1.txt"); harness.check(fv.getName(f), null); harness.check(fv.getName(null), null); } } mauve-20140821/gnu/testlet/javax/swing/filechooser/FileView/getTypeDescription.java0000644000175000001440000000301711015022010027145 0ustar dokousers// Tags: JDK1.2 // Uses: MyFileView // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.filechooser.FileView; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.File; import javax.swing.filechooser.FileView; /** * Some checks for the getTypeDescription() method in the {@link FileView} * class. */ public class getTypeDescription implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { MyFileView fv = new MyFileView(); File f = new File("File1.txt"); harness.check(fv.getTypeDescription(f), null); harness.check(fv.getTypeDescription(null), null); } } mauve-20140821/gnu/testlet/javax/swing/JToolTip/0000755000175000001440000000000012375316426020177 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JToolTip/MyJToolTip.java0000644000175000001440000000213510437566641023060 0ustar dokousers/* MyJToolTip.java -- provides access to protected stuff in the JToolTip class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.javax.swing.JToolTip; import javax.swing.JToolTip; public class MyJToolTip extends JToolTip { public MyJToolTip() { super(); } public String paramString() { return super.paramString(); } } mauve-20140821/gnu/testlet/javax/swing/JToolTip/setTipText.java0000644000175000001440000000345010437274360023156 0ustar dokousers/* setTipText.java -- some checks for the setTipText() method in the JToolTip class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JToolTip; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.JToolTip; public class setTipText implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent event) { events.add(event); } public void test(TestHarness harness) { JToolTip tt = new JToolTip(); tt.addPropertyChangeListener(this); tt.setTipText("XYZ"); harness.check(tt.getTipText(), "XYZ"); // check the generated event... harness.check(events.size(), 1); PropertyChangeEvent e = (PropertyChangeEvent) events.get(0); harness.check(e.getPropertyName(), "tiptext"); harness.check(e.getSource(), tt); harness.check(e.getOldValue(), null); harness.check(e.getNewValue(), "XYZ"); } } mauve-20140821/gnu/testlet/javax/swing/JToolTip/getAccessibleContext.java0000644000175000001440000000476510437274360025155 0ustar dokousers/* getAccessibleContext.java -- some checks for the getAccessibleContext() method in the JToolTip class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JToolTip; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleRole; import javax.swing.JToolTip; public class getAccessibleContext implements Testlet { public void test(TestHarness harness) { JToolTip tt = new JToolTip(); AccessibleContext att = tt.getAccessibleContext(); // check the default values harness.check(att.getAccessibleName(), null); harness.check(att.getAccessibleDescription(), null); harness.check(att.getAccessibleComponent(), att); harness.check(att.getAccessibleRole(), AccessibleRole.TOOL_TIP); // setting the tip text on the tool tip updates the accessible description tt.setTipText("XYZ"); harness.check(att.getAccessibleDescription(), "XYZ"); tt.setTipText(null); harness.check(att.getAccessibleDescription(), null); // setting the accessible description doesn't update the tip text att.setAccessibleDescription("ABC"); harness.check(att.getAccessibleDescription(), "ABC"); harness.check(tt.getTipText(), null); // ...and once an explicit description is set, it isn't changed by setting // the tip text tt.setTipText("DEF"); harness.check(att.getAccessibleDescription(), "ABC"); // TODO: the following should fire a property change event att.setAccessibleName("X"); harness.check(att.getAccessibleName(), "X"); // does getAccessibleContext() always return the same instance? AccessibleContext att2 = tt.getAccessibleContext(); harness.check(att == att2); } } mauve-20140821/gnu/testlet/javax/swing/JToolTip/getUIClassID.java0000644000175000001440000000226310437274360023262 0ustar dokousers/* getUIClassID.java -- some checks for the getUIClassID() method in the JToolTip class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JToolTip; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JToolTip; public class getUIClassID implements Testlet { public void test(TestHarness harness) { JToolTip tt = new JToolTip(); harness.check(tt.getUIClassID(), "ToolTipUI"); } } mauve-20140821/gnu/testlet/javax/swing/JToolTip/getTipText.java0000644000175000001440000000235610437274360023146 0ustar dokousers/* getTipText.java -- some checks for the getTipText() method in the JToolTip class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JToolTip; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JToolTip; public class getTipText implements Testlet { public void test(TestHarness harness) { JToolTip tt = new JToolTip(); harness.check(tt.getTipText(), null); tt.setTipText("ABC"); harness.check(tt.getTipText(), "ABC"); } } mauve-20140821/gnu/testlet/javax/swing/JToolTip/setComponent.java0000644000175000001440000000437310437274360023524 0ustar dokousers/* setComponent.java -- some checks for the setComponent() method in the JToolTip class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JToolTip; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import javax.swing.JButton; import javax.swing.JToolTip; public class setComponent implements Testlet, PropertyChangeListener { List events = new java.util.ArrayList(); public void propertyChange(PropertyChangeEvent event) { events.add(event); } public void test(TestHarness harness) { JButton component = new JButton("Button"); JToolTip tt = new JToolTip(); tt.addPropertyChangeListener(this); tt.setComponent(component); harness.check(tt.getComponent(), component); // check the generated event... harness.check(events.size(), 1); PropertyChangeEvent e = (PropertyChangeEvent) events.get(0); harness.check(e.getPropertyName(), "component"); harness.check(e.getSource(), tt); harness.check(e.getOldValue(), null); harness.check(e.getNewValue(), component); // check that the component can be set to null events.clear(); tt.setComponent(null); harness.check(events.size(), 1); e = (PropertyChangeEvent) events.get(0); harness.check(e.getPropertyName(), "component"); harness.check(e.getSource(), tt); harness.check(e.getOldValue(), component); harness.check(e.getNewValue(), null); } } mauve-20140821/gnu/testlet/javax/swing/JToolTip/getComponent.java0000644000175000001440000000251510437274360023504 0ustar dokousers/* getComponent.java -- some checks for the getComponent() method in the JToolTip class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JToolTip; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JButton; import javax.swing.JToolTip; public class getComponent implements Testlet { public void test(TestHarness harness) { JButton component = new JButton("Button"); JToolTip tt = new JToolTip(); harness.check(tt.getComponent(), null); tt.setComponent(component); harness.check(tt.getComponent(), component); } } mauve-20140821/gnu/testlet/javax/swing/JToolTip/paramString.java0000644000175000001440000000242111015022007023303 0ustar dokousers/* paramString.java -- some checks for the paramString() method in the JToolTip class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: MyJToolTip package gnu.testlet.javax.swing.JToolTip; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class paramString implements Testlet { public void test(TestHarness harness) { MyJToolTip tt = new MyJToolTip(); // according to the spec, the string format is implementation // dependent but cannot be null... harness.check(tt.paramString() != null); } } mauve-20140821/gnu/testlet/javax/swing/JInternalFrame/0000755000175000001440000000000012375316426021334 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JInternalFrame/isRootPaneCheckingEnabled.java0000644000175000001440000000546210333737517027200 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2004 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JInternalFrame; import java.awt.Component; import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JRootPane; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class isRootPaneCheckingEnabled implements Testlet { /** * Overrides some protected methods to make them public for testing. * * @author Roman Kennke (kennke@aicas.com) */ class TestInternalFrame extends JInternalFrame { public boolean isRootPaneCheckingEnabled() { return super.isRootPaneCheckingEnabled(); } public void setRootPaneCheckingEnabled(boolean b) { super.setRootPaneCheckingEnabled(b); } } public void test(TestHarness harness) { testRootPaneCheckingEnabled(harness); testRootPaneCheckingDisabled(harness); } private void testRootPaneCheckingEnabled(TestHarness harness) { harness.checkPoint("rootPaneCheckingEnabled"); TestInternalFrame f = new TestInternalFrame(); f.setRootPaneCheckingEnabled(true); JLabel c = new JLabel("Hello"); f.add(c); Component[] children = f.getComponents(); // The frame now still has 2 children, the rootPane and the title pane. harness.check(children.length, 2); harness.check(children[0] instanceof JRootPane); // Instead, the add has gone to the contentPane which now also has 1 child, // the label. Component[] content = f.getContentPane().getComponents(); harness.check(content.length, 1); harness.check(content[0], c); } private void testRootPaneCheckingDisabled(TestHarness harness) { harness.checkPoint("rootPaneCheckingDisabled"); TestInternalFrame f = new TestInternalFrame(); f.setRootPaneCheckingEnabled(false); JLabel c = new JLabel("Hello"); f.add(c); Component[] children = f.getComponents(); // The frame now has 3 children, the rootPane, the title pane and the label. harness.check(children.length, 3); harness.check(children[0] instanceof JRootPane); harness.check(children[2], c); } } mauve-20140821/gnu/testlet/javax/swing/JInternalFrame/constructors.java0000644000175000001440000001263510437314235024747 0ustar dokousers/* constructors.java -- some checks for the constructors in the JInternalFrame class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JInternalFrame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JInternalFrame; import javax.swing.JLayeredPane; public class constructors implements Testlet { public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); testConstructor6(harness); } private void testConstructor1(TestHarness harness) { harness.checkPoint("()"); JInternalFrame f = new JInternalFrame(); harness.check(f.getTitle(), ""); harness.check(f.getDesktopPane(), null); harness.check(f.getDefaultCloseOperation(), JInternalFrame.DISPOSE_ON_CLOSE); harness.check(f.getLayer(), JLayeredPane.DEFAULT_LAYER.intValue()); harness.check(!f.isResizable()); harness.check(!f.isClosable()); harness.check(!f.isMaximizable()); harness.check(!f.isIconifiable()); f.putClientProperty(JLayeredPane.LAYER_PROPERTY, JLayeredPane.PALETTE_LAYER); harness.check(f.getLayer(), JLayeredPane.PALETTE_LAYER.intValue()); harness.check(f.getClientProperty(JLayeredPane.LAYER_PROPERTY), JLayeredPane.PALETTE_LAYER); } private void testConstructor2(TestHarness harness) { harness.checkPoint("(String)"); JInternalFrame f = new JInternalFrame("Title"); harness.check(f.getTitle(), "Title"); harness.check(f.getDesktopPane(), null); harness.check(f.getDefaultCloseOperation(), JInternalFrame.DISPOSE_ON_CLOSE); harness.check(f.getLayer(), JLayeredPane.DEFAULT_LAYER.intValue()); harness.check(!f.isResizable()); harness.check(!f.isClosable()); harness.check(!f.isMaximizable()); harness.check(!f.isIconifiable()); f = new JInternalFrame(null); harness.check(f.getTitle(), null); } private void testConstructor3(TestHarness harness) { harness.checkPoint("(String, boolean)"); JInternalFrame f = new JInternalFrame("Title", true); harness.check(f.getTitle(), "Title"); harness.check(f.getDesktopPane(), null); harness.check(f.getDefaultCloseOperation(), JInternalFrame.DISPOSE_ON_CLOSE); harness.check(f.getLayer(), JLayeredPane.DEFAULT_LAYER.intValue()); harness.check(f.isResizable()); harness.check(!f.isClosable()); harness.check(!f.isMaximizable()); harness.check(!f.isIconifiable()); f = new JInternalFrame(null, false); harness.check(f.getTitle(), null); } private void testConstructor4(TestHarness harness) { harness.checkPoint("(String, boolean, boolean)"); JInternalFrame f = new JInternalFrame("Title", false, true); harness.check(f.getTitle(), "Title"); harness.check(f.getDesktopPane(), null); harness.check(f.getDefaultCloseOperation(), JInternalFrame.DISPOSE_ON_CLOSE); harness.check(f.getLayer(), JLayeredPane.DEFAULT_LAYER.intValue()); harness.check(!f.isResizable()); harness.check(f.isClosable()); harness.check(!f.isMaximizable()); harness.check(!f.isIconifiable()); f = new JInternalFrame(null, false, false); harness.check(f.getTitle(), null); } private void testConstructor5(TestHarness harness) { harness.checkPoint("(String, boolean, boolean, boolean)"); JInternalFrame f = new JInternalFrame("Title", false, false, true); harness.check(f.getTitle(), "Title"); harness.check(f.getDesktopPane(), null); harness.check(f.getDefaultCloseOperation(), JInternalFrame.DISPOSE_ON_CLOSE); harness.check(f.getLayer(), JLayeredPane.DEFAULT_LAYER.intValue()); harness.check(!f.isResizable()); harness.check(!f.isClosable()); harness.check(f.isMaximizable()); harness.check(!f.isIconifiable()); f = new JInternalFrame(null, false, false, false); harness.check(f.getTitle(), null); } private void testConstructor6(TestHarness harness) { harness.checkPoint("(String, boolean, boolean, boolean, boolean)"); JInternalFrame f = new JInternalFrame("Title", false, false, false, true); harness.check(f.getTitle(), "Title"); harness.check(f.getDesktopPane(), null); harness.check(f.getDefaultCloseOperation(), JInternalFrame.DISPOSE_ON_CLOSE); harness.check(f.getLayer(), JLayeredPane.DEFAULT_LAYER.intValue()); harness.check(!f.isResizable()); harness.check(!f.isClosable()); harness.check(!f.isMaximizable()); harness.check(f.isIconifiable()); f = new JInternalFrame(null, false, false, false, false); harness.check(f.getTitle(), null); } } mauve-20140821/gnu/testlet/javax/swing/JInternalFrame/MyJInternalFrame.java0000644000175000001440000000224410437566641025353 0ustar dokousers/* MyJInternalFrame.java -- provides access to protected stuff in JInternalFrame, for testing purposes. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.javax.swing.JInternalFrame; import javax.swing.JInternalFrame; public class MyJInternalFrame extends JInternalFrame { public MyJInternalFrame(String title) { super(title); } public String paramString() { return super.paramString(); } } mauve-20140821/gnu/testlet/javax/swing/JInternalFrame/setDesktopIcon.java0000644000175000001440000000442710437314235025135 0ustar dokousers/* setDesktopIcon.java -- some checks for the setDesktopIcon() method in the JInternalFrame class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JInternalFrame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JInternalFrame; import javax.swing.JInternalFrame.JDesktopIcon; public class setDesktopIcon implements Testlet, PropertyChangeListener { PropertyChangeEvent lastEvent; public void propertyChange(PropertyChangeEvent event) { lastEvent = event; } public void test(TestHarness harness) { JInternalFrame f = new JInternalFrame("Title"); f.addPropertyChangeListener(this); JDesktopIcon icon = new JDesktopIcon(f); f.setDesktopIcon(icon); harness.check(f.getDesktopIcon(), icon); harness.check(lastEvent.getPropertyName(), "desktopIcon"); harness.check(lastEvent.getSource(), f); harness.check(lastEvent.getNewValue(), icon); harness.check(lastEvent.getOldValue() != null); lastEvent = null; f.setDesktopIcon(null); harness.check(f.getDesktopIcon(), null); harness.check(lastEvent.getPropertyName(), "desktopIcon"); harness.check(lastEvent.getSource(), f); harness.check(lastEvent.getNewValue(), null); harness.check(lastEvent.getOldValue(), icon); JInternalFrame f2 = new JInternalFrame("F2"); JDesktopIcon icon2 = new JDesktopIcon(f2); f.setDesktopIcon(icon); harness.check(icon2.getInternalFrame(), f2); } } mauve-20140821/gnu/testlet/javax/swing/JInternalFrame/getNormalBounds.java0000644000175000001440000000273210437314235025277 0ustar dokousers/* getNormalBounds.java -- some checks for the getNormalBounds() method in the JInternalFrame class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JInternalFrame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; import javax.swing.JInternalFrame; public class getNormalBounds implements Testlet { public void test(TestHarness harness) { JInternalFrame f = new JInternalFrame("Title"); f.setBounds(2, 4, 6, 8); harness.check(f.getNormalBounds(), new Rectangle(2, 4, 6, 8)); f.setNormalBounds(new Rectangle(1, 2, 3, 4)); harness.check(f.getNormalBounds(), new Rectangle(1, 2, 3, 4)); harness.check(f.getBounds(), new Rectangle(2, 4, 6, 8)); } } mauve-20140821/gnu/testlet/javax/swing/JInternalFrame/setDefaultCloseOperation.java0000644000175000001440000000354210437314235027143 0ustar dokousers/* setDefaultCloseOperation.java -- some checks for the setDefaultCloseOperation() method in the JInternalFrame class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JInternalFrame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JInternalFrame; public class setDefaultCloseOperation implements Testlet, PropertyChangeListener { PropertyChangeEvent lastEvent; public void propertyChange(PropertyChangeEvent event) { lastEvent = event; } public void test(TestHarness harness) { JInternalFrame f = new JInternalFrame("F1"); f.addPropertyChangeListener(this); harness.check(f.getDefaultCloseOperation(), JInternalFrame.DISPOSE_ON_CLOSE); f.setDefaultCloseOperation(JInternalFrame.DO_NOTHING_ON_CLOSE); harness.check(f.getDefaultCloseOperation(), JInternalFrame.DO_NOTHING_ON_CLOSE); harness.check(lastEvent, null); f.setDefaultCloseOperation(-999); harness.check(f.getDefaultCloseOperation(), -999); } } mauve-20140821/gnu/testlet/javax/swing/JInternalFrame/dispose.java0000644000175000001440000000451710437314235023645 0ustar dokousers/* dispose.java -- some checks for the dispose() method in the JInternalFrame class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JInternalFrame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.List; import javax.swing.JInternalFrame; import javax.swing.event.InternalFrameEvent; import javax.swing.event.InternalFrameListener; public class dispose implements Testlet, InternalFrameListener { List events = new java.util.ArrayList(); public void test(TestHarness harness) { JInternalFrame f = new JInternalFrame("F1"); f.addInternalFrameListener(this); f.dispose(); harness.check(f.isClosed()); harness.check(!f.isSelected()); harness.check(!f.isVisible()); harness.check(events.size(), 1); InternalFrameEvent event = (InternalFrameEvent) events.get(0); harness.check(event.getSource(), f); harness.check(event.getID(), InternalFrameEvent.INTERNAL_FRAME_CLOSED); } public void internalFrameActivated(InternalFrameEvent event) { events.add(event); } public void internalFrameClosed(InternalFrameEvent event) { events.add(event); } public void internalFrameClosing(InternalFrameEvent event) { events.add(event); } public void internalFrameDeactivated(InternalFrameEvent event) { events.add(event); } public void internalFrameDeiconified(InternalFrameEvent event) { events.add(event); } public void internalFrameIconified(InternalFrameEvent event) { events.add(event); } public void internalFrameOpened(InternalFrameEvent event) { events.add(event); } } mauve-20140821/gnu/testlet/javax/swing/JInternalFrame/isIconifiable.java0000644000175000001440000000241710437314235024734 0ustar dokousers/* isIconifiable.java -- some checks for the isIconifiable() method in the JInternalFrame class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JInternalFrame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JInternalFrame; public class isIconifiable implements Testlet { public void test(TestHarness harness) { JInternalFrame f = new JInternalFrame("F1"); harness.check(!f.isIconifiable()); f.setIconifiable(true); harness.check(f.isIconifiable()); } } mauve-20140821/gnu/testlet/javax/swing/JInternalFrame/setSelected2.java0000644000175000001440000001016611730411226024515 0ustar dokousers/* setSelected2.java -- some checks for the setSelected() method in the JInternalFrame class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JInternalFrame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.beans.PropertyVetoException; import java.beans.VetoableChangeListener; import java.util.ArrayList; import java.util.List; import javax.swing.JFrame; import javax.swing.JInternalFrame; import javax.swing.event.InternalFrameEvent; import javax.swing.event.InternalFrameListener; public class setSelected2 implements Testlet, PropertyChangeListener, VetoableChangeListener, InternalFrameListener { PropertyChangeEvent lastEvent; PropertyChangeEvent lastVetoableEvent; List events = new ArrayList(); public void propertyChange(PropertyChangeEvent event) { lastEvent = event; } public void vetoableChange(PropertyChangeEvent event) { lastVetoableEvent = event; } public void test(TestHarness harness) { JInternalFrame f = new JInternalFrame("F1"); harness.check(!f.isSelected()); // setSelected() only has an effect if the internal frame // is showing. JFrame fr = new JFrame(); fr.getContentPane().add(f); f.setVisible(true); fr.pack(); fr.setVisible(true); f.addVetoableChangeListener(this); f.addPropertyChangeListener(this); f.addInternalFrameListener(this); try { f.setSelected(true); } catch (PropertyVetoException e) { e.printStackTrace(); } harness.check(f.isSelected()); // check the vetoable event harness.check(lastVetoableEvent.getPropertyName(), JInternalFrame.IS_SELECTED_PROPERTY); harness.check(lastEvent.getSource(), f); harness.check(lastEvent.getOldValue(), Boolean.FALSE); harness.check(lastEvent.getNewValue(), Boolean.TRUE); harness.check(lastEvent.getPropertyName(), JInternalFrame.IS_SELECTED_PROPERTY); harness.check(lastEvent.getSource(), f); harness.check(lastEvent.getOldValue(), Boolean.FALSE); harness.check(lastEvent.getNewValue(), Boolean.TRUE); harness.check(events.size(), 1); InternalFrameEvent event = (InternalFrameEvent) events.get(0); harness.check(event.getSource(), f); harness.check(event.getID(), InternalFrameEvent.INTERNAL_FRAME_ACTIVATED); // set selected to true events.clear(); try { f.setSelected(true); } catch (PropertyVetoException e) { // ignore } harness.check(f.isSelected()); harness.check(events.size(), 0); // clean up frame from desktop f.dispose(); fr.dispose(); } public void internalFrameActivated(InternalFrameEvent event) { events.add(event); } public void internalFrameClosed(InternalFrameEvent event) { events.add(event); } public void internalFrameClosing(InternalFrameEvent event) { events.add(event); } public void internalFrameDeactivated(InternalFrameEvent event) { events.add(event); } public void internalFrameDeiconified(InternalFrameEvent event) { events.add(event); } public void internalFrameIconified(InternalFrameEvent event) { events.add(event); } public void internalFrameOpened(InternalFrameEvent event) { events.add(event); } } mauve-20140821/gnu/testlet/javax/swing/JInternalFrame/getDesktopIcon.java0000644000175000001440000000263210437314235025115 0ustar dokousers/* getDesktopIcon.java -- some checks for the getDesktopIcon() method in the JInternalFrame class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JInternalFrame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JInternalFrame; import javax.swing.JInternalFrame.JDesktopIcon; public class getDesktopIcon implements Testlet { public void test(TestHarness harness) { JInternalFrame f = new JInternalFrame("Title"); JDesktopIcon icon = new JDesktopIcon(f); f.setDesktopIcon(icon); harness.check(f.getDesktopIcon(), icon); f.setDesktopIcon(null); harness.check(f.getDesktopIcon(), null); } } mauve-20140821/gnu/testlet/javax/swing/JInternalFrame/setMaximizable.java0000644000175000001440000000403710406022176025146 0ustar dokousers/* setMaximizable.java -- Checks the setMaximizable method Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JInternalFrame; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JInternalFrame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class setMaximizable implements Testlet { /** * Catches property changes and stores the property name. */ class TestPropertyChangeHandler implements PropertyChangeListener { public void propertyChange(PropertyChangeEvent e) { propertyChanged = e.getPropertyName(); } } /** * Stores the name of the last changed property. */ String propertyChanged; /** * The entry point in this test. * * @param harness the test harness to use */ public void test(TestHarness harness) { testBoundProperty(harness); } /** * Tests if this is a bound property. * * @param h the test harness to use */ private void testBoundProperty(TestHarness h) { h.checkPoint("testBoundProperty"); JInternalFrame t = new JInternalFrame(); t.addPropertyChangeListener(new TestPropertyChangeHandler()); t.setMaximizable(false); propertyChanged = null; t.setMaximizable(true); h.check(propertyChanged, "maximizable"); } } mauve-20140821/gnu/testlet/javax/swing/JInternalFrame/setClosed.java0000644000175000001440000000425010406022176024112 0ustar dokousers/* setClosed.java -- Checks the setClosed method Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JInternalFrame; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.beans.PropertyVetoException; import javax.swing.JInternalFrame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class setClosed implements Testlet { /** * Catches property changes and stores the property name. */ class TestPropertyChangeHandler implements PropertyChangeListener { public void propertyChange(PropertyChangeEvent e) { propertyChanged = e.getPropertyName(); } } /** * Stores the name of the last changed property. */ String propertyChanged; /** * The entry point in this test. * * @param harness the test harness to use */ public void test(TestHarness harness) { testBoundProperty(harness); } /** * Tests if this is a bound property. * * @param h the test harness to use */ private void testBoundProperty(TestHarness h) { h.checkPoint("testBoundProperty"); JInternalFrame t = new JInternalFrame(); t.addPropertyChangeListener(new TestPropertyChangeHandler()); try { t.setClosed(false); propertyChanged = null; t.setClosed(true); h.check(propertyChanged, "closed"); } catch (PropertyVetoException ex) { h.fail(ex.getMessage()); } } } mauve-20140821/gnu/testlet/javax/swing/JInternalFrame/setClosable.java0000644000175000001440000000333610437317030024431 0ustar dokousers/* setClosable.java -- Checks the setClosable method Copyright (C) 2006 Roman Kennke (kennke@aicas.com) and David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JInternalFrame; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JInternalFrame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class setClosable implements Testlet, PropertyChangeListener { PropertyChangeEvent lastEvent; public void propertyChange(PropertyChangeEvent e) { lastEvent = e; } public void test(TestHarness harness) { JInternalFrame f = new JInternalFrame("F1"); harness.check(!f.isClosable()); f.addPropertyChangeListener(this); f.setClosable(true); harness.check(f.isClosable()); harness.check(lastEvent.getPropertyName(), "closable"); harness.check(lastEvent.getSource(), f); harness.check(lastEvent.getOldValue(), Boolean.FALSE); harness.check(lastEvent.getNewValue(), Boolean.TRUE); } } mauve-20140821/gnu/testlet/javax/swing/JInternalFrame/setResizable.java0000644000175000001440000000334510437317030024625 0ustar dokousers/* setResizable.java -- Checks the setResizable method Copyright (C) 2006 Roman Kennke (kennke@aicas.com) and David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JInternalFrame; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JInternalFrame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class setResizable implements Testlet, PropertyChangeListener { PropertyChangeEvent lastEvent; public void propertyChange(PropertyChangeEvent e) { lastEvent = e; } public void test(TestHarness harness) { JInternalFrame f = new JInternalFrame("F1"); harness.check(!f.isResizable()); f.addPropertyChangeListener(this); f.setResizable(true); harness.check(f.isResizable()); harness.check(lastEvent.getPropertyName(), "resizable"); harness.check(lastEvent.getSource(), f); harness.check(lastEvent.getOldValue(), Boolean.FALSE); harness.check(lastEvent.getNewValue(), Boolean.TRUE); } } mauve-20140821/gnu/testlet/javax/swing/JInternalFrame/paramString.java0000644000175000001440000000254511015022005024445 0ustar dokousers/* paramString.java -- some checks for the paramString() method in the JInternalFrame class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: MyJInternalFrame package gnu.testlet.javax.swing.JInternalFrame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * The paramString() method is allowed to return any non-null string, * but we check for a match with the reference implementation anyway. */ public class paramString implements Testlet { public void test(TestHarness harness) { MyJInternalFrame f = new MyJInternalFrame("F1"); harness.check(f.paramString().endsWith(",title=F1")); } } mauve-20140821/gnu/testlet/javax/swing/JInternalFrame/getInputMap.java0000644000175000001440000000431510441520121024414 0ustar dokousers/* getInputMap.java -- some checks for the getInputMap() methods inherited by the JInternalFrame class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.JInternalFrame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.InputMap; import javax.swing.JComponent; import javax.swing.JInternalFrame; /** * Checks the input maps defined for a JInternalFrame - this is really testing * the setup performed by BasicInternalFrameUI. */ public class getInputMap implements Testlet { public void test(TestHarness harness) { testMethod1(harness); testMethod2(harness); } public void testMethod1(TestHarness harness) { harness.checkPoint("()"); JInternalFrame f = new JInternalFrame(); InputMap m1 = f.getInputMap(); InputMap m2 = f.getInputMap(JComponent.WHEN_FOCUSED); harness.check(m1 == m2); } public void testMethod2(TestHarness harness) { harness.checkPoint("(int)"); JInternalFrame f = new JInternalFrame(); InputMap m1 = f.getInputMap(JComponent.WHEN_FOCUSED); harness.check(m1.keys(), null); InputMap m1p = m1.getParent(); harness.check(m1p, null); InputMap m2 = f.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); harness.check(m2.keys(), null); harness.check(m2.getParent(), null); InputMap m3 = f.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW); harness.check(m3.keys(), null); harness.check(m3.getParent(), null); } } mauve-20140821/gnu/testlet/javax/swing/JInternalFrame/setTitle.java0000644000175000001440000000477510437314235024002 0ustar dokousers/* setTitle.java -- some checks for the setTitle() method in the JInternalFrame class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JInternalFrame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JInternalFrame; public class setTitle implements Testlet, PropertyChangeListener { PropertyChangeEvent lastEvent; public void propertyChange(PropertyChangeEvent e) { lastEvent = e; } public void test(TestHarness harness) { JInternalFrame f = new JInternalFrame("F1"); f.addPropertyChangeListener(this); f.setTitle("F2"); harness.check(f.getTitle(), "F2"); harness.check(lastEvent.getPropertyName(), "title"); harness.check(lastEvent.getSource(), f); harness.check(lastEvent.getOldValue(), "F1"); harness.check(lastEvent.getNewValue(), "F2"); lastEvent = null; f.setTitle(null); harness.check(f.getTitle(), null); harness.check(lastEvent.getPropertyName(), "title"); harness.check(lastEvent.getSource(), f); harness.check(lastEvent.getOldValue(), "F2"); harness.check(lastEvent.getNewValue(), null); // setting null again generates no event lastEvent = null; f.setTitle(null); harness.check(lastEvent.getPropertyName(), "title"); harness.check(lastEvent.getSource(), f); harness.check(lastEvent.getOldValue(), null); harness.check(lastEvent.getNewValue(), null); f.setTitle("F3"); harness.check(f.getTitle(), "F3"); harness.check(lastEvent.getPropertyName(), "title"); harness.check(lastEvent.getSource(), f); harness.check(lastEvent.getOldValue(), null); harness.check(lastEvent.getNewValue(), "F3"); } } mauve-20140821/gnu/testlet/javax/swing/JInternalFrame/setIconifiable.java0000644000175000001440000000336010437317030025106 0ustar dokousers/* setIconifiable.java -- Checks the setIconifiable method Copyright (C) 2006 Roman Kennke (kennke@aicas.com) and David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JInternalFrame; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JInternalFrame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class setIconifiable implements Testlet, PropertyChangeListener { PropertyChangeEvent lastEvent; public void propertyChange(PropertyChangeEvent e) { lastEvent = e; } public void test(TestHarness harness) { JInternalFrame f = new JInternalFrame("F1"); harness.check(!f.isIconifiable()); f.addPropertyChangeListener(this); f.setIconifiable(true); harness.check(f.isIconifiable()); harness.check(lastEvent.getPropertyName(), "iconable"); harness.check(lastEvent.getSource(), f); harness.check(lastEvent.getOldValue(), Boolean.FALSE); harness.check(lastEvent.getNewValue(), Boolean.TRUE); } } mauve-20140821/gnu/testlet/javax/swing/JInternalFrame/setSelected.java0000644000175000001440000001035410437324546024445 0ustar dokousers/* setSelected.java -- Tests the setSelected() method. Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JInternalFrame; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.beans.PropertyVetoException; import javax.swing.JFrame; import javax.swing.JInternalFrame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests the functionality of the setSelected() method in JInternalFrame. * * @author Roman Kennke (kennke@aicas.com) */ public class setSelected implements Testlet { boolean repainted; /** * A subclass of JInternalFrame for testing. */ class TestInternalFrame extends JInternalFrame { public void repaint(long t, int x, int y, int w, int h) { super.repaint(t, x, y, w, h); repainted = true; } } /** * Catches property changes and stores the property name. */ class TestPropertyChangeHandler implements PropertyChangeListener { public void propertyChange(PropertyChangeEvent e) { propertyChanged = e.getPropertyName(); } } /** * Stores the name of the last changed property. */ String propertyChanged; /** * The entry point into this test. * * @param harness the test harness to use */ public void test(TestHarness harness) { testRepaint(harness); testBoundProperty(harness); } /** * Tests if setSelected should trigger a repaint. * * @param h the test harness to use */ public void testRepaint(TestHarness h) { h.checkPoint("testRepaint"); JInternalFrame f = new TestInternalFrame(); f.setVisible(true); JFrame fr = null; try { // First we try with visible but not showing. repainted = false; f.setSelected(true); h.check(repainted, false); repainted = false; f.setSelected(false); h.check(repainted, false); // Now we do the same with the internal frame showing. fr = new JFrame(); fr.getContentPane().add(f); fr.setSize(100, 100); fr.setVisible(true); // Check precondition (not selected). h.check(f.isSelected(), false); // Change state to selected. repainted = false; f.setSelected(true); h.check(repainted, true); // No state change. repainted = false; f.setSelected(true); h.check(repainted, false); // State change to false. repainted = false; f.setSelected(false); h.check(repainted, true); // No state change. repainted = false; f.setSelected(false); h.check(repainted, false); } catch (PropertyVetoException ex) { h.fail("PropertyVetoException"); } finally { if (fr != null) fr.dispose(); } } /** * Tests if this is a bound property. * * @param h the test harness to use */ private void testBoundProperty(TestHarness h) { h.checkPoint("testBoundProperty"); JInternalFrame t = new JInternalFrame(); t.addPropertyChangeListener(new TestPropertyChangeHandler()); try { JFrame fr = new JFrame(); fr.getContentPane().add(t); fr.setSize(100, 100); fr.setVisible(true); t.setVisible(true); t.setSelected(false); propertyChanged = null; t.setSelected(true); h.check(propertyChanged, "selected"); } catch (PropertyVetoException ex) { h.fail(ex.getMessage()); } } } mauve-20140821/gnu/testlet/javax/swing/JInternalFrame/isResizable.java0000644000175000001440000000240310437314235024443 0ustar dokousers/* isResizable.java -- some checks for the isResizable() method in the JInternalFrame class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JInternalFrame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JInternalFrame; public class isResizable implements Testlet { public void test(TestHarness harness) { JInternalFrame f = new JInternalFrame("F1"); harness.check(!f.isResizable()); f.setResizable(true); harness.check(f.isResizable()); } } mauve-20140821/gnu/testlet/javax/swing/JInternalFrame/setFrameIcon.java0000644000175000001440000000430710437314235024553 0ustar dokousers/* setFrameIcon.java -- some checks for the setFrameIcon() method in the JInternalFrame class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JInternalFrame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.Icon; import javax.swing.JInternalFrame; import javax.swing.plaf.metal.MetalIconFactory; public class setFrameIcon implements Testlet, PropertyChangeListener { PropertyChangeEvent lastEvent; public void propertyChange(PropertyChangeEvent event) { lastEvent = event; } public void test(TestHarness harness) { JInternalFrame f = new JInternalFrame("Title"); f.addPropertyChangeListener(this); Icon icon = MetalIconFactory.getHorizontalSliderThumbIcon(); f.setFrameIcon(icon); harness.check(f.getFrameIcon(), icon); harness.check(lastEvent.getPropertyName(), JInternalFrame.FRAME_ICON_PROPERTY); harness.check(lastEvent.getSource(), f); harness.check(lastEvent.getNewValue(), icon); harness.check(lastEvent.getOldValue() != null); lastEvent = null; f.setFrameIcon(null); harness.check(f.getFrameIcon(), null); harness.check(lastEvent.getPropertyName(), JInternalFrame.FRAME_ICON_PROPERTY); harness.check(lastEvent.getSource(), f); harness.check(lastEvent.getNewValue(), null); harness.check(lastEvent.getOldValue(), icon); } } mauve-20140821/gnu/testlet/javax/swing/JInternalFrame/AccessibleJInternalFrame/0000755000175000001440000000000012375316426026153 5ustar dokousers././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/JInternalFrame/AccessibleJInternalFrame/getAccessibleName.javamauve-20140821/gnu/testlet/javax/swing/JInternalFrame/AccessibleJInternalFrame/getAccessibleName.jav0000644000175000001440000000267010437323357032216 0ustar dokousers/* getAccessibleName.java -- some checks for the getAccessibleName() method in the AccessibleJInternalFrame class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JInternalFrame.AccessibleJInternalFrame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.accessibility.AccessibleContext; import javax.swing.JInternalFrame; public class getAccessibleName implements Testlet { public void test(TestHarness harness) { JInternalFrame f = new JInternalFrame("Title"); AccessibleContext ac = f.getAccessibleContext(); harness.check(ac.getAccessibleName(), "Title"); f.setTitle(null); harness.check(ac.getAccessibleName(), null); } } ././@LongLink0000644000000000000000000000015600000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/JInternalFrame/AccessibleJInternalFrame/getMaximumAccessibleValue.javamauve-20140821/gnu/testlet/javax/swing/JInternalFrame/AccessibleJInternalFrame/getMaximumAccessibleV0000644000175000001440000000316110437323357032316 0ustar dokousers/* getMaximumAccessibleValue.java -- some checks for the getMaximumAccessibleValue() method in the AccessibleJInternalFrame class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JInternalFrame.AccessibleJInternalFrame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleValue; import javax.swing.JInternalFrame; public class getMaximumAccessibleValue implements Testlet { public void test(TestHarness harness) { JInternalFrame f = new JInternalFrame("Title"); AccessibleContext ac = f.getAccessibleContext(); AccessibleValue av = ac.getAccessibleValue(); harness.check(av.getMaximumAccessibleValue(), new Integer(Integer.MAX_VALUE)); // not specified, but the ref // impl returns this } }././@LongLink0000644000000000000000000000015600000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/JInternalFrame/AccessibleJInternalFrame/setCurrentAccessibleValue.javamauve-20140821/gnu/testlet/javax/swing/JInternalFrame/AccessibleJInternalFrame/setCurrentAccessibleV0000644000175000001440000000450410437323357032341 0ustar dokousers/* setCurrentAccessibleValue.java -- some checks for the setCurrentAccessibleValue() method in the AccessibleJInternalFrame class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JInternalFrame.AccessibleJInternalFrame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleValue; import javax.swing.JInternalFrame; import javax.swing.JLayeredPane; import javax.swing.JInternalFrame.JDesktopIcon; public class setCurrentAccessibleValue implements Testlet, PropertyChangeListener { PropertyChangeEvent lastEvent; public void propertyChange(PropertyChangeEvent event) { lastEvent = event; } public void test(TestHarness harness) { JInternalFrame f = new JInternalFrame("Title"); JDesktopIcon icon = f.getDesktopIcon(); AccessibleContext ac = icon.getAccessibleContext(); AccessibleValue av = ac.getAccessibleValue(); // by trial and error, I determined that the "value" is the frame's layer harness.check(av.getCurrentAccessibleValue(), JLayeredPane.DEFAULT_LAYER); ac.addPropertyChangeListener(this); av.setCurrentAccessibleValue(JLayeredPane.PALETTE_LAYER); harness.check(f.getLayer(), JLayeredPane.PALETTE_LAYER.intValue()); harness.check(lastEvent, null); // no event is generated boolean set = av.setCurrentAccessibleValue(null); harness.check(!set); harness.check(f.getLayer(), JLayeredPane.PALETTE_LAYER.intValue()); } } ././@LongLink0000644000000000000000000000015600000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/JInternalFrame/AccessibleJInternalFrame/getCurrentAccessibleValue.javamauve-20140821/gnu/testlet/javax/swing/JInternalFrame/AccessibleJInternalFrame/getCurrentAccessibleV0000644000175000001440000000334510437323357032327 0ustar dokousers/* getCurrentAccessibleValue.java -- some checks for the getCurrentAccessibleValue() method in the AccessibleJInternalFrame class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JInternalFrame.AccessibleJInternalFrame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleValue; import javax.swing.JInternalFrame; import javax.swing.JLayeredPane; public class getCurrentAccessibleValue implements Testlet { public void test(TestHarness harness) { JInternalFrame f = new JInternalFrame("Title"); AccessibleContext ac = f.getAccessibleContext(); AccessibleValue av = ac.getAccessibleValue(); // by trial and error I found that this is equal to the frame's layer harness.check(av.getCurrentAccessibleValue(), JLayeredPane.DEFAULT_LAYER); f.setLayer(JLayeredPane.PALETTE_LAYER); harness.check(av.getCurrentAccessibleValue(), JLayeredPane.PALETTE_LAYER); } } ././@LongLink0000644000000000000000000000015600000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/JInternalFrame/AccessibleJInternalFrame/getMinimumAccessibleValue.javamauve-20140821/gnu/testlet/javax/swing/JInternalFrame/AccessibleJInternalFrame/getMinimumAccessibleV0000644000175000001440000000316110437323357032314 0ustar dokousers/* getMinimumAccessibleValue.java -- some checks for the getMinimumAccessibleValue() method in the AccessibleJInternalFrame class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JInternalFrame.AccessibleJInternalFrame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleValue; import javax.swing.JInternalFrame; public class getMinimumAccessibleValue implements Testlet { public void test(TestHarness harness) { JInternalFrame f = new JInternalFrame("Title"); AccessibleContext ac = f.getAccessibleContext(); AccessibleValue av = ac.getAccessibleValue(); harness.check(av.getMinimumAccessibleValue(), new Integer(Integer.MIN_VALUE)); // not specified, but the ref // impl returns this } }././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/JInternalFrame/AccessibleJInternalFrame/getAccessibleRole.javamauve-20140821/gnu/testlet/javax/swing/JInternalFrame/AccessibleJInternalFrame/getAccessibleRole.jav0000644000175000001440000000265710437323357032244 0ustar dokousers/* getAccessibleRole.java -- some checks for the getAccessibleRole() method in the AccessibleJInternalFrame class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JInternalFrame.AccessibleJInternalFrame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleRole; import javax.swing.JInternalFrame; public class getAccessibleRole implements Testlet { public void test(TestHarness harness) { JInternalFrame f = new JInternalFrame("Title"); AccessibleContext ac = f.getAccessibleContext(); harness.check(ac.getAccessibleRole(), AccessibleRole.INTERNAL_FRAME); } } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/JInternalFrame/AccessibleJInternalFrame/getAccessibleValue.javamauve-20140821/gnu/testlet/javax/swing/JInternalFrame/AccessibleJInternalFrame/getAccessibleValue.ja0000644000175000001440000000266410437323357032227 0ustar dokousers/* getAccessibleValue.java -- some checks for the getAccessibleValue() method in the AccessibleJInternalFrame class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JInternalFrame.AccessibleJInternalFrame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.accessibility.AccessibleContext; import javax.swing.JInternalFrame; public class getAccessibleValue implements Testlet { public void test(TestHarness harness) { JInternalFrame f = new JInternalFrame("Title"); AccessibleContext ac = f.getAccessibleContext(); // the AccessibleContext implements the AccessibleValue interface harness.check(ac.getAccessibleValue() == ac); } } mauve-20140821/gnu/testlet/javax/swing/JInternalFrame/setNormalBounds.java0000644000175000001440000000430310437314235025307 0ustar dokousers/* setNormalBounds.java -- some checks for the setNormalBounds() method in the JInternalFrame class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.JInternalFrame; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Rectangle; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JDesktopPane; import javax.swing.JInternalFrame; public class setNormalBounds implements Testlet, PropertyChangeListener { PropertyChangeEvent lastEvent; public void propertyChange(PropertyChangeEvent event) { lastEvent = event; } public void test(TestHarness harness) { JDesktopPane desktop = new JDesktopPane(); JInternalFrame f = new JInternalFrame("Title"); desktop.add(f); f.addPropertyChangeListener(this); harness.check(f.getNormalBounds(), new Rectangle()); f.setBounds(4, 3, 2, 1); harness.check(f.getNormalBounds(), new Rectangle(4, 3, 2, 1)); Rectangle normalBounds = new Rectangle(1, 2, 3, 4); f.setNormalBounds(normalBounds); harness.check(f.getNormalBounds(), new Rectangle(1, 2, 3, 4)); harness.check(f.getNormalBounds() == normalBounds); harness.check(f.getBounds(), new Rectangle(4, 3, 2, 1)); harness.check(lastEvent, null); // after setting to null, getNormalBounds() reverts to the component bounds f.setNormalBounds(null); harness.check(f.getNormalBounds(), new Rectangle(4, 3, 2, 1)); } } mauve-20140821/gnu/testlet/javax/swing/JToggleButton/0000755000175000001440000000000012375316426021222 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JToggleButton/constructor.java0000644000175000001440000000254010265730442024445 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke (roman@kennke.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JToggleButton; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.JToggleButton; /** * Checks if the AbstractButton constructor correctly initializes the * properties of the AbstractButton. */ public class constructor implements Testlet { public void test(TestHarness h) { JToggleButton t1 = new JToggleButton(); h.check(t1.getText(), "", "Button label should default to \"\""); t1 = new JToggleButton((String) null); h.check(t1.getText(), "", "Button label should default to \"\""); } } mauve-20140821/gnu/testlet/javax/swing/JToggleButton/isFocusable.java0000644000175000001440000000240310444331350024307 0ustar dokousers/* isFocusable.java Copyright (C) 2006 Red Hat, Tania Bento This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags:1.4 package gnu.testlet.javax.swing.JToggleButton; import javax.swing.JToggleButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class isFocusable implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JToggleButton i = new JToggleButton(); harness.check(i.isFocusable(), true); } } mauve-20140821/gnu/testlet/javax/swing/JToggleButton/model.java0000644000175000001440000001135210504004352023147 0ustar dokousers/* model.java -- some checks for the initialisation of the button's model. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.JToggleButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.Icon; import javax.swing.JToggleButton; import javax.swing.JToggleButton.ToggleButtonModel; import javax.swing.plaf.metal.MetalIconFactory; /** * This test looks at the creation of the menu's model. This test was * written to investigate a look and feel bug that occurs because the model is * null when the UI delegate is initialised. */ public class model implements Testlet { static class MyJToggleButton extends JToggleButton { public MyJToggleButton() { super(); } public MyJToggleButton(Action action) { super(action); } public MyJToggleButton(Icon icon) { super(icon); } public MyJToggleButton(Icon icon, boolean selected) { super(icon, selected); } public MyJToggleButton(String text) { super(text); } public MyJToggleButton(String text, boolean selected) { super(text, selected); } public MyJToggleButton(String text, Icon icon) { super(text, icon); } public MyJToggleButton(String text, Icon icon, boolean selected) { super(text, icon, selected); } public void init(String text, Icon icon) { // don't call super.init(), because we want to check what happens in // the constructor only... } } public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); testConstructor6(harness); testConstructor7(harness); testConstructor8(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("()"); MyJToggleButton b = new MyJToggleButton(); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(Action)"); Action action = new AbstractAction() { public void actionPerformed(ActionEvent e) { // do nothing } }; MyJToggleButton b = new MyJToggleButton(action); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor3(TestHarness harness) { harness.checkPoint("(Icon)"); MyJToggleButton b = new MyJToggleButton( MetalIconFactory.getFileChooserListViewIcon()); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor4(TestHarness harness) { harness.checkPoint("(Icon, boolean)"); MyJToggleButton b = new MyJToggleButton( MetalIconFactory.getFileChooserListViewIcon(), false); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor5(TestHarness harness) { harness.checkPoint("(String)"); MyJToggleButton b = new MyJToggleButton("ABC"); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor6(TestHarness harness) { harness.checkPoint("(String, boolean)"); MyJToggleButton b = new MyJToggleButton("ABC", false); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor7(TestHarness harness) { harness.checkPoint("(String, Icon)"); MyJToggleButton b = new MyJToggleButton("ABC", MetalIconFactory.getFileChooserDetailViewIcon()); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor8(TestHarness harness) { harness.checkPoint("(String, Icon, boolean)"); MyJToggleButton b = new MyJToggleButton("ABC", MetalIconFactory.getFileChooserDetailViewIcon(), false); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } }mauve-20140821/gnu/testlet/javax/swing/JToggleButton/actionEvent.java0000644000175000001440000000560010265730442024337 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke (roman@kennke.org) // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JToggleButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JToggleButton; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; /** * Tests if a registered ActionListener is notfied correctly. * * @author Roman Kennke */ public class actionEvent implements Testlet, ActionListener { /** If the ActionListener was notified. */ boolean alNotified = false; public void actionPerformed(ActionEvent e) { alNotified = true; } public void test(TestHarness harness) { JToggleButton b = new JToggleButton(); b.addActionListener(this); testProgrammaticChanges(harness, b); testUserChanges(harness, b); } /** * Tests if the ActionListener is correctly notfified of changes * triggered by setSelected(). */ void testProgrammaticChanges(TestHarness harness, JToggleButton b) { b.setSelected(false); alNotified = false; b.setSelected(false); harness.check(alNotified, false, "Should not be notified on programmatic state change"); alNotified = false; b.setSelected(true); harness.check(alNotified, false, "Should not be notified on programmatic state change"); alNotified = false; b.setSelected(true); harness.check(alNotified, false, "Should not be notified on programmatic state change"); alNotified = false; b.setSelected(false); harness.check(alNotified, false, "Should not be notified on programmatic state change"); } /** * Tests if the ActionListener is correctly notfified of changes * triggered by user clicks. */ void testUserChanges(TestHarness harness, JToggleButton b) { b.setSelected(false); alNotified = false; b.doClick(); harness.check(alNotified, true, "Should be notified on user click"); alNotified = false; b.doClick(); harness.check(alNotified, true, "Should be notified on user click"); } } mauve-20140821/gnu/testlet/javax/swing/JToggleButton/click.java0000644000175000001440000001021610265703017023142 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JToggleButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JToggleButton; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; /** * The basic functions of the toggle button * that must also work when this component is not displayed. * @author Audrius Meskauskas (AudriusA@Bluewin.ch) */ public class click implements Testlet, ActionListener, ChangeListener { static String UNASSIGNED = ""; static String LABEL = "label"; String command; boolean ceCalled; /** If the ActionListener has been called. */ boolean alCalled; public void actionPerformed(ActionEvent e) { command = e.getActionCommand(); alCalled = true; } public void stateChanged(ChangeEvent e) { ceCalled = true; } public void test(TestHarness harness) { JToggleButton b = createToggleButton(harness); testStateChanges(harness, b); testListeners(harness, b); } private void testListeners(TestHarness harness, JToggleButton b) { b.setSelected(false); b.addActionListener(this); b.addChangeListener(this); alCalled = false; b.doClick(); harness.check(command, LABEL, "Notifying action listener about the programmatic click" ); harness.check(ceCalled, "Notifying change listener about the programmatic click" ); ceCalled = false; command = UNASSIGNED; b.setSelected(!b.isSelected()); harness.check(ceCalled, "Notifying change listener after the call of setSelected(..)" ); harness.check(command, UNASSIGNED, "False message to the action listener after the call of "+ "setSelected(..)" ); ceCalled = false; command = UNASSIGNED; b.setSelected(b.isSelected()); harness.check(!ceCalled, "The change listener should only be notified about "+ "the CHANGES. Bug in 1.3, fixed in 1.4." ); command = UNASSIGNED; ceCalled = false; b.removeActionListener(this); b.removeChangeListener(this); b.doClick(); harness.check(command, UNASSIGNED, "Removing action listener"); harness.check(!ceCalled, "Removing change listener"); } private void testStateChanges(TestHarness harness, JToggleButton b) { b.setSelected(false); b.doClick(); harness.check(b.isSelected(), "state must alter to true after click"); b.doClick(); harness.check(!b.isSelected(), "state must alter to false after click"); b.setSelected(true); harness.check(b.isSelected(), "manual state setting"); } /** * Create the test object and also check its basic properties. */ private JToggleButton createToggleButton(TestHarness harness) { JToggleButton b = new JToggleButton(); b.setText(LABEL); harness.check(b.getText(), LABEL, LABEL); b.setToolTipText("tip"); harness.check(b.getToolTipText(), "tip", "tooltip"); harness.check(!b.isSelected(), "initial state"); harness.check(b.isShowing(), false, "surely unvisible"); harness.check(b.isOpaque(), true, "must be opaque by default"); harness.check(b.getActionCommand(), LABEL, "getActionCommand"); return b; } } mauve-20140821/gnu/testlet/javax/swing/JToggleButton/getActionCommand.java0000644000175000001440000000270110265073353025274 0ustar dokousers// Tags: JDK1.2 // Uses: ../AbstractButton/getActionCommand // Copyright (C) 2005 Robert Schuster // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JToggleButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JToggleButton; /**

    Tests the JToggleButton's getActionCommand * method.

    * *

    Please note that the interesting bits of this test reside in the superclass * {@link gnu.testlet.javax.swing.AbstractButton} * * @author Robert Schuster * */ public class getActionCommand extends gnu.testlet.javax.swing.AbstractButton.getActionCommand implements Testlet { public void test(TestHarness harness) { check(new JToggleButton("bla"), harness); } } mauve-20140821/gnu/testlet/javax/swing/JToggleButton/uidelegate.java0000644000175000001440000001150210504004352024154 0ustar dokousers/* uidelegate.java -- some checks for the initialisation of the button's UI delegate. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.JToggleButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.Icon; import javax.swing.JToggleButton; import javax.swing.JToggleButton.ToggleButtonModel; import javax.swing.plaf.metal.MetalIconFactory; /** * This test looks at the creation of the menu's UI delegate. This test was * written to investigate a look and feel bug that occurs because the model is * null when the UI delegate is initialised. */ public class uidelegate implements Testlet { static class MyJToggleButton extends JToggleButton { public boolean initCalled; public boolean updateUICalledAfterInitCalled; public MyJToggleButton() { super(); } public MyJToggleButton(Action action) { super(action); } public MyJToggleButton(Icon icon) { super(icon); } public MyJToggleButton(Icon icon, boolean selected) { super(icon, selected); } public MyJToggleButton(String text) { super(text); } public MyJToggleButton(String text, boolean selected) { super(text, selected); } public MyJToggleButton(String text, Icon icon) { super(text, icon); } public MyJToggleButton(String text, Icon icon, boolean selected) { super(text, icon, selected); } public void init(String text, Icon icon) { initCalled = true; super.init(text, icon); } public void updateUI() { updateUICalledAfterInitCalled = initCalled; super.updateUI(); } } public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); testConstructor6(harness); testConstructor7(harness); testConstructor8(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("()"); MyJToggleButton b = new MyJToggleButton(); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(Action)"); Action action = new AbstractAction() { public void actionPerformed(ActionEvent e) { // do nothing } }; MyJToggleButton b = new MyJToggleButton(action); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor3(TestHarness harness) { harness.checkPoint("(Icon)"); MyJToggleButton b = new MyJToggleButton( MetalIconFactory.getFileChooserListViewIcon()); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor4(TestHarness harness) { harness.checkPoint("(Icon, boolean)"); MyJToggleButton b = new MyJToggleButton( MetalIconFactory.getFileChooserListViewIcon(), false); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor5(TestHarness harness) { harness.checkPoint("(String)"); MyJToggleButton b = new MyJToggleButton("ABC"); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor6(TestHarness harness) { harness.checkPoint("(String, boolean)"); MyJToggleButton b = new MyJToggleButton("ABC", false); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor7(TestHarness harness) { harness.checkPoint("(String, Icon)"); MyJToggleButton b = new MyJToggleButton("ABC", MetalIconFactory.getFileChooserDetailViewIcon()); harness.check(b.updateUICalledAfterInitCalled, true); } public void testConstructor8(TestHarness harness) { harness.checkPoint("(String, Icon, boolean)"); MyJToggleButton b = new MyJToggleButton("ABC", MetalIconFactory.getFileChooserDetailViewIcon(), false); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } }mauve-20140821/gnu/testlet/javax/swing/tree/0000755000175000001440000000000012375316426017432 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/tree/VariableHeightLayoutCache/0000755000175000001440000000000012375316426024432 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/tree/VariableHeightLayoutCache/getBounds.java0000644000175000001440000000413110510752032027210 0ustar dokousers/* getBounds.java -- Tests VariableHeightLayoutCache.getBounds() Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.VariableHeightLayoutCache; import java.awt.Rectangle; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeModel; import javax.swing.tree.TreePath; import javax.swing.tree.VariableHeightLayoutCache; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Checks the VariableHeightLayoutCache.getBounds() method. * */ public class getBounds implements Testlet { /** * The entry point for the test. * * @param harness the test harness to use */ public void test(TestHarness harness) { testNullRect(harness); } /** * Checks how null arguments for the rectangle is handle. * * @param h the test harness to use */ private void testNullRect(TestHarness h) { VariableHeightLayoutCache c = new VariableHeightLayoutCache(); DefaultMutableTreeNode n = new DefaultMutableTreeNode(); TreePath p = new TreePath(n); DefaultTreeModel m = new DefaultTreeModel(n); c.setModel(m); Rectangle r = new Rectangle(); // Check if the supplied rectangle is reused. Rectangle s = c.getBounds(p, r); h.check(r == s); // Check if a new rectangle is created when supplying null. s = c.getBounds(p, null); h.check(s != null); h.check(s != r); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultTreeSelectionModel/0000755000175000001440000000000012375316426024465 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/tree/DefaultTreeSelectionModel/constructor.java0000644000175000001440000000404010233253516027702 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Roman Kennke // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.tree.DefaultTreeSelectionModel; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.swing.tree.DefaultTreeSelectionModel; import javax.swing.tree.TreePath; /** * Checks if the constructor of DefaultTreeSelectionModel initializes * the object correctly. * * @author Roman Kennke */ public class constructor implements Testlet { public void test(TestHarness h) { DefaultTreeSelectionModel m = new DefaultTreeSelectionModel(); h.check(m.getLeadSelectionPath(), null, "getLeadSelectionPath()"); h.check(m.getLeadSelectionRow(), -1, "getLeadSelectionRow()"); h.check(m.getMaxSelectionRow(), -1, "getMaxSelectionRow()"); h.check(m.getMinSelectionRow(), -1, "getMinSelectionRow()"); h.check(m.getRowMapper(), null, "getRowMapper()"); h.check(m.getSelectionCount(), 0, "getSelectionCount()"); h.check(m.getSelectionMode(), DefaultTreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION, "getSelectionMode()"); h.check(m.getSelectionPath(), null, "getSelectionPath()"); h.check(m.getSelectionPaths(), null, "getSelectionPaths()"); h.check(m.getSelectionRows(), null, "getSelectionRows()"); h.check(m.isSelectionEmpty(), true, "isSelectionEmpty()"); } } mauve-20140821/gnu/testlet/javax/swing/tree/TreePath/0000755000175000001440000000000012375316426021146 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/tree/TreePath/constructors.java0000644000175000001440000000533010265243640024553 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.tree.TreePath; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Arrays; import javax.swing.tree.TreePath; /** * Some tests for the constructors in the {@link TreePath} class. */ public class constructors implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); } private void testConstructor1(TestHarness harness) { harness.checkPoint("TreePath()"); // this constructor is protected, so need to subclass to access it } private void testConstructor2(TestHarness harness) { harness.checkPoint("TreePath(Object)"); TreePath p = new TreePath("XYZ"); harness.check(p.getPathCount(), 1); harness.check(p.getLastPathComponent(), "XYZ"); harness.check(p.getParentPath(), null); harness.check(Arrays.equals(p.getPath(), new String[] { "XYZ" })); // null argument boolean pass = false; try { /*TreePath p2 =*/ new TreePath(null); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } private void testConstructor3(TestHarness harness) { harness.checkPoint("TreePath(Object[])"); // null argument boolean pass = false; try { /*TreePath p2 =*/ new TreePath((Object[]) null); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } private void testConstructor4(TestHarness harness) { harness.checkPoint("TreePath(Object[], int)"); } private void testConstructor5(TestHarness harness) { harness.checkPoint("TreePath(TreePath, Object)"); } } mauve-20140821/gnu/testlet/javax/swing/tree/TreePath/serialization.java0000644000175000001440000000375210265243640024666 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.tree.TreePath; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectInput; import java.io.ObjectInputStream; import java.io.ObjectOutput; import java.io.ObjectOutputStream; import javax.swing.tree.TreePath; /** * Some checks for serialization of a {@link TreePath} instance. */ public class serialization implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TreePath p1 = new TreePath(new Object[] {new Integer(1), new Integer(2)}); TreePath p2 = null; try { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); ObjectOutput out = new ObjectOutputStream(buffer); out.writeObject(p1); out.close(); ObjectInput in = new ObjectInputStream( new ByteArrayInputStream(buffer.toByteArray()) ); p2 = (TreePath) in.readObject(); in.close(); } catch (Exception e) { harness.debug(e); } harness.check(p1.equals(p2)); } } mauve-20140821/gnu/testlet/javax/swing/tree/TreePath/equals.java0000644000175000001440000000301310265243640023271 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.tree.TreePath; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.TreePath; /** * Some tests for the equals() method in the {@link TreePath} class. */ public class equals implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TreePath p1 = new TreePath(new Integer(123)); TreePath p2 = new TreePath(new Integer(123)); harness.check(p1.equals(p2)); harness.check(p2.equals(p1)); p1 = new TreePath("Y"); harness.check(!p1.equals(p2)); p2 = new TreePath("Y"); harness.check(p1.equals(p2)); } } mauve-20140821/gnu/testlet/javax/swing/tree/TreePath/getLastPathComponent.java0000644000175000001440000000256110265243640026111 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.tree.TreePath; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.TreePath; /** * Some tests for the getLastPathCompoent() method in the {@link TreePath} * class. */ public class getLastPathComponent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TreePath p1 = new TreePath(new Object[] {"A", "B", "C"}); harness.check(p1.getLastPathComponent(), "C"); } } mauve-20140821/gnu/testlet/javax/swing/tree/TreePath/getPathComponent.java0000644000175000001440000000343410265243640025265 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.tree.TreePath; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.TreePath; /** * Some tests for the getPathComponent() method in the {@link TreePath} class. */ public class getPathComponent implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TreePath p1 = new TreePath(new Object[] {"X", "Y", "Z"}); harness.check(p1.getPathComponent(0), "X"); harness.check(p1.getPathComponent(1), "Y"); harness.check(p1.getPathComponent(2), "Z"); boolean pass = false; try { p1.getPathComponent(3); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); pass = false; try { p1.getPathComponent(-1); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/tree/TreePath/getPath.java0000644000175000001440000000301610265243640023376 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.tree.TreePath; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Arrays; import javax.swing.tree.TreePath; /** * Some tests for the getPath() method in the {@link TreePath} class. */ public class getPath implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TreePath p1 = new TreePath("X"); Object[] o1 = p1.getPath(); harness.check(Arrays.equals(o1, new Object[] { "X" })); // if we update the returned array, does the original path change? o1[0] = "Y"; harness.check(p1.getLastPathComponent(), "X"); } } mauve-20140821/gnu/testlet/javax/swing/tree/TreePath/isDescendant.java0000644000175000001440000000460710265243640024415 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.tree.TreePath; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.TreePath; /** * Some tests for the isDescendant() method in the {@link TreePath} class. */ public class isDescendant implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TreePath p1 = new TreePath(new Object[] {new Integer(1), new Integer(2), new Integer(3)}); TreePath p2 = new TreePath(new Integer(1)); TreePath p3 = new TreePath(new Integer(2)); TreePath p4 = new TreePath(new Integer(3)); TreePath p5 = new TreePath(new Object[] {new Integer(1), new Integer(2)}); TreePath p6 = new TreePath(new Object[] {new Integer(2), new Integer(3)}); TreePath p7 = new TreePath(new Object[] {new Integer(1), new Integer(2), new Integer(3)}); TreePath p8 = new TreePath(new Object[] {new Integer(1), new Integer(2), new Integer(3), new Integer(4)}); TreePath p9 = new TreePath(new Object[] {new Integer(2), new Integer(3), new Integer(4)}); harness.check(p1.isDescendant(p2), false); harness.check(p1.isDescendant(p3), false); harness.check(p1.isDescendant(p4), false); harness.check(p1.isDescendant(p5), false); harness.check(p1.isDescendant(p6), false); harness.check(p1.isDescendant(p7), true); harness.check(p1.isDescendant(p8), true); harness.check(p1.isDescendant(p9), false); harness.check(p1.isDescendant(null), false); } } mauve-20140821/gnu/testlet/javax/swing/tree/TreePath/getParentPath.java0000644000175000001440000000273110265243640024553 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Michael Koch // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.tree.TreePath; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.*; /** * Tests if getParentPath correctly returns null if the current TreePath only * contains one element. */ public class getParentPath implements Testlet { public void test(TestHarness h) { TreePath test = new TreePath("Test"); h.check(test.getParentPath(), null); TreePath p = new TreePath(new Object[] {"A", "B"}); TreePath parent = p.getParentPath(); h.check(parent, new TreePath("A")); p = new TreePath(new Object[] {"A", "B", "C", "D"}); parent = p.getParentPath(); h.check(parent, new TreePath(new Object[] {"A", "B", "C"})); } } mauve-20140821/gnu/testlet/javax/swing/tree/TreePath/pathByAddingChild.java0000644000175000001440000000310510265243640025303 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.tree.TreePath; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.TreePath; /** * Some tests for the pathByAddingChild() method in the {@link TreePath} class. */ public class pathByAddingChild implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TreePath p1 = new TreePath("X"); TreePath p2 = p1.pathByAddingChild("Y"); harness.check(p2, new TreePath(new Object[] {"X", "Y"})); boolean pass = false; try { /*TreePath p3 =*/ p1.pathByAddingChild(null); } catch (NullPointerException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/tree/TreePath/PR27651.java0000644000175000001440000000530610433040573022731 0ustar dokousers/* PR27651.java -- a check related to PR27651 Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.TreePath; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.TreePath; public class PR27651 implements Testlet { static class A { String id; public A(String id) { if (id == null) id = ""; this.id = id; } public boolean equals(Object obj) { if (obj == this) return true; if (obj instanceof A) { A that = (A) obj; return this.id.equals(that.id); } return false; } } static class B extends A { int index; public B(String id, int index) { super(id); this.index = index; } /** * Throws a ClassCastException if obj is not an instanceof B. */ public boolean equals(Object obj) { if (obj == this) return true; if (! super.equals(obj)) return false; B that = (B) obj; return (this.index == that.index); } } /** * This checks an implementation detail - that the reference implementation * calls objA.equals(objB) within the TreePath.isDescendant() method, and * not the reverse. */ public void test(TestHarness harness) { A objA = new A("ABC"); B objB = new B("ABC", 99); // confirm that objA.equals(objB) is true, but the reverse throws a // ClassCastException... harness.check(objA.equals(objB)); boolean pass = false; try { objB.equals(objA); } catch (ClassCastException e) { pass = true; } harness.check(pass); TreePath p1 = new TreePath(objA); TreePath p2 = new TreePath(objB); harness.check(p1.isDescendant(p2)); pass = false; try { p2.isDescendant(p1); } catch (ClassCastException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/tree/TreePath/getPathCount.java0000644000175000001440000000266610265243640024421 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 David Gilbert // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.tree.TreePath; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.TreePath; /** * Some tests for the getPathCount() method in the {@link TreePath} class. */ public class getPathCount implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { TreePath p1 = new TreePath("X"); harness.check(p1.getPathCount(), 1); TreePath p2 = new TreePath(new Object[] {"A", "B", "C", "D", "E", "F"}); harness.check(p2.getPathCount(), 6); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/0000755000175000001440000000000012375316426024125 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/setOpenIcon.java0000644000175000001440000000353510436412477027223 0ustar dokousers/* setOpenIcon.java -- some checks for the setOpenIcon() method in the DefaultTreeCellRenderer class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultTreeCellRenderer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.plaf.metal.MetalIconFactory; import javax.swing.tree.DefaultTreeCellRenderer; public class setOpenIcon implements Testlet, PropertyChangeListener { PropertyChangeEvent lastEvent; public void propertyChange(PropertyChangeEvent e) { lastEvent = e; } public void test(TestHarness harness) { DefaultTreeCellRenderer r = new DefaultTreeCellRenderer(); r.addPropertyChangeListener(this); harness.check(r.getOpenIcon(), r.getDefaultOpenIcon()); r.setOpenIcon(MetalIconFactory.getRadioButtonIcon()); harness.check(r.getOpenIcon(), MetalIconFactory.getRadioButtonIcon()); harness.check(lastEvent, null); r.setOpenIcon(null); harness.check(r.getOpenIcon(), null); harness.check(lastEvent, null); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/getLeafIcon.java0000644000175000001440000000252410436412477027152 0ustar dokousers/* getLeafIcon.java -- some checks for the getLeafIcon() method in the DefaultTreeCellRenderer class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultTreeCellRenderer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.DefaultTreeCellRenderer; public class getLeafIcon implements Testlet { public void test(TestHarness harness) { DefaultTreeCellRenderer r = new DefaultTreeCellRenderer(); harness.check(r.getLeafIcon(), r.getDefaultLeafIcon()); r.setLeafIcon(null); harness.check(r.getLeafIcon(), null); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/getDefaultOpenIcon.java0000644000175000001440000000303210436412477030504 0ustar dokousers/* getDefaultOpenIcon.java -- some checks for the getDefaultOpenIcon() method in the DefaultTreeCellRenderer class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultTreeCellRenderer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.UIManager; import javax.swing.plaf.metal.MetalIconFactory; import javax.swing.tree.DefaultTreeCellRenderer; public class getDefaultOpenIcon implements Testlet { public void test(TestHarness harness) { DefaultTreeCellRenderer r = new DefaultTreeCellRenderer(); harness.check(r.getDefaultOpenIcon(), UIManager.get("Tree.openIcon")); UIManager.put("Tree.openIcon", MetalIconFactory.getCheckBoxIcon()); harness.check(r.getDefaultOpenIcon(), MetalIconFactory.getCheckBoxIcon()); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/setBorderSelectionColor.java0000644000175000001440000000367610436412477031601 0ustar dokousers/* setBorderSelectionColor.java -- some checks for the setBorderSelectionColor() method in the DefaultTreeCellRenderer class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultTreeCellRenderer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.UIManager; import javax.swing.tree.DefaultTreeCellRenderer; public class setBorderSelectionColor implements Testlet, PropertyChangeListener { PropertyChangeEvent lastEvent; public void propertyChange(PropertyChangeEvent e) { lastEvent = e; } public void test(TestHarness harness) { DefaultTreeCellRenderer r = new DefaultTreeCellRenderer(); r.addPropertyChangeListener(this); harness.check(r.getBorderSelectionColor(), UIManager.getColor( "Tree.selectionBorderColor")); r.setBorderSelectionColor(Color.yellow); harness.check(r.getBorderSelectionColor(), Color.yellow); harness.check(lastEvent, null); r.setBorderSelectionColor(null); harness.check(r.getBorderSelectionColor(), null); harness.check(lastEvent, null); } } ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/getBackgroundNonSelectionColor.javamauve-20140821/gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/getBackgroundNonSelectionColor.j0000644000175000001440000000334110436412477032377 0ustar dokousers/* getBackgroundNonSelectionColor.java -- some checks for the getBackgroundNonSelectionColor() method in the DefaultTreeCellRenderer class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultTreeCellRenderer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import javax.swing.UIManager; import javax.swing.tree.DefaultTreeCellRenderer; public class getBackgroundNonSelectionColor implements Testlet { public void test(TestHarness harness) { DefaultTreeCellRenderer r = new DefaultTreeCellRenderer(); harness.check(r.getBackgroundNonSelectionColor(), UIManager.getColor( "Tree.textBackground")); r.setBackgroundNonSelectionColor(null); harness.check(r.getBackgroundNonSelectionColor(), null); UIManager.put("Tree.textBackground", Color.red); DefaultTreeCellRenderer r2 = new DefaultTreeCellRenderer(); harness.check(r2.getBackgroundNonSelectionColor(), Color.red); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/constructor.java0000644000175000001440000000241010436412477027351 0ustar dokousers/* constructor.java -- some checks for the constructor in the DefaultTreeCellRenderer class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultTreeCellRenderer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.DefaultTreeCellRenderer; public class constructor implements Testlet { public void test(TestHarness harness) { DefaultTreeCellRenderer r = new DefaultTreeCellRenderer(); harness.check(r.getLeafIcon(), r.getDefaultLeafIcon()); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/getOpenIcon.java0000644000175000001440000000252410436412477027204 0ustar dokousers/* getOpenIcon.java -- some checks for the getOpenIcon() method in the DefaultTreeCellRenderer class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultTreeCellRenderer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.DefaultTreeCellRenderer; public class getOpenIcon implements Testlet { public void test(TestHarness harness) { DefaultTreeCellRenderer r = new DefaultTreeCellRenderer(); harness.check(r.getOpenIcon(), r.getDefaultOpenIcon()); r.setOpenIcon(null); harness.check(r.getOpenIcon(), null); } } ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/setBackgroundNonSelectionColor.javamauve-20140821/gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/setBackgroundNonSelectionColor.j0000644000175000001440000000376010436412477032420 0ustar dokousers/* setBackgroundNonSelectionColor.java -- some checks for the setBackgroundNonSelectionColor() method in the DefaultTreeCellRenderer class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultTreeCellRenderer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.UIManager; import javax.swing.tree.DefaultTreeCellRenderer; public class setBackgroundNonSelectionColor implements Testlet, PropertyChangeListener { PropertyChangeEvent lastEvent; public void propertyChange(PropertyChangeEvent e) { lastEvent = e; } public void test(TestHarness harness) { DefaultTreeCellRenderer r = new DefaultTreeCellRenderer(); r.addPropertyChangeListener(this); harness.check(r.getBackgroundNonSelectionColor(), UIManager.getColor( "Tree.textBackground")); r.setBackgroundNonSelectionColor(Color.yellow); harness.check(r.getBackgroundNonSelectionColor(), Color.yellow); harness.check(lastEvent, null); r.setBackgroundNonSelectionColor(null); harness.check(r.getBackgroundNonSelectionColor(), null); harness.check(lastEvent, null); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/setBackgroundSelectionColor.java0000644000175000001440000000373510436412477032437 0ustar dokousers/* setBackgroundSelectionColor.java -- some checks for the setBackgroundSelectionColor() method in the DefaultTreeCellRenderer class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultTreeCellRenderer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.Color; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.UIManager; import javax.swing.tree.DefaultTreeCellRenderer; public class setBackgroundSelectionColor implements Testlet, PropertyChangeListener { PropertyChangeEvent lastEvent; public void propertyChange(PropertyChangeEvent e) { lastEvent = e; } public void test(TestHarness harness) { DefaultTreeCellRenderer r = new DefaultTreeCellRenderer(); r.addPropertyChangeListener(this); harness.check(r.getBackgroundSelectionColor(), UIManager.getColor( "Tree.selectionBackground")); r.setBackgroundSelectionColor(Color.yellow); harness.check(r.getBackgroundSelectionColor(), Color.yellow); harness.check(lastEvent, null); r.setBackgroundSelectionColor(null); harness.check(r.getBackgroundSelectionColor(), null); harness.check(lastEvent, null); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/getDefaultClosedIcon.java0000644000175000001440000000305010436412477031014 0ustar dokousers/* getDefaultClosedIcon.java -- some checks for the getDefaultClosedIcon() method in the DefaultTreeCellRenderer class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultTreeCellRenderer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.UIManager; import javax.swing.plaf.metal.MetalIconFactory; import javax.swing.tree.DefaultTreeCellRenderer; public class getDefaultClosedIcon implements Testlet { public void test(TestHarness harness) { DefaultTreeCellRenderer r = new DefaultTreeCellRenderer(); harness.check(r.getDefaultClosedIcon(), UIManager.get("Tree.closedIcon")); UIManager.put("Tree.closedIcon", MetalIconFactory.getCheckBoxIcon()); harness.check(r.getDefaultClosedIcon(), MetalIconFactory.getCheckBoxIcon()); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/getDefaultLeafIcon.java0000644000175000001440000000303210436412477030452 0ustar dokousers/* getDefaultLeafIcon.java -- some checks for the getDefaultLeafIcon() method in the DefaultTreeCellRenderer class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultTreeCellRenderer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.UIManager; import javax.swing.plaf.metal.MetalIconFactory; import javax.swing.tree.DefaultTreeCellRenderer; public class getDefaultLeafIcon implements Testlet { public void test(TestHarness harness) { DefaultTreeCellRenderer r = new DefaultTreeCellRenderer(); harness.check(r.getDefaultLeafIcon(), UIManager.get("Tree.leafIcon")); UIManager.put("Tree.leafIcon", MetalIconFactory.getCheckBoxIcon()); harness.check(r.getDefaultLeafIcon(), MetalIconFactory.getCheckBoxIcon()); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/getBorderSelectionColor.java0000644000175000001440000000274010436412477031554 0ustar dokousers/* getBorderSelectionColor.java -- some checks for the getBorderSelectionColor() method in the DefaultTreeCellRenderer class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultTreeCellRenderer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.UIManager; import javax.swing.tree.DefaultTreeCellRenderer; public class getBorderSelectionColor implements Testlet { public void test(TestHarness harness) { DefaultTreeCellRenderer r = new DefaultTreeCellRenderer(); harness.check(r.getBorderSelectionColor(), UIManager.getColor( "Tree.selectionBorderColor")); r.setBorderSelectionColor(null); harness.check(r.getBorderSelectionColor(), null); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/getBackgroundSelectionColor.java0000644000175000001440000000277710436412477032430 0ustar dokousers/* getBackgroundSelectionColor.java -- some checks for the getBackgroundSelectionColor() method in the DefaultTreeCellRenderer class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultTreeCellRenderer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.UIManager; import javax.swing.tree.DefaultTreeCellRenderer; public class getBackgroundSelectionColor implements Testlet { public void test(TestHarness harness) { DefaultTreeCellRenderer r = new DefaultTreeCellRenderer(); harness.check(r.getBackgroundSelectionColor(), UIManager.getColor( "Tree.selectionBackground")); r.setBackgroundSelectionColor(null); harness.check(r.getBackgroundSelectionColor(), null); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/setLeafIcon.java0000644000175000001440000000353510436412477027171 0ustar dokousers/* setLeafIcon.java -- some checks for the setLeafIcon() method in the DefaultTreeCellRenderer class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultTreeCellRenderer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.plaf.metal.MetalIconFactory; import javax.swing.tree.DefaultTreeCellRenderer; public class setLeafIcon implements Testlet, PropertyChangeListener { PropertyChangeEvent lastEvent; public void propertyChange(PropertyChangeEvent e) { lastEvent = e; } public void test(TestHarness harness) { DefaultTreeCellRenderer r = new DefaultTreeCellRenderer(); r.addPropertyChangeListener(this); harness.check(r.getLeafIcon(), r.getDefaultLeafIcon()); r.setLeafIcon(MetalIconFactory.getRadioButtonIcon()); harness.check(r.getLeafIcon(), MetalIconFactory.getRadioButtonIcon()); harness.check(lastEvent, null); r.setLeafIcon(null); harness.check(r.getLeafIcon(), null); harness.check(lastEvent, null); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/getClosedIcon.java0000644000175000001440000000254210436412477027514 0ustar dokousers/* getClosedIcon.java -- some checks for the getClosedIcon() method in the DefaultTreeCellRenderer class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultTreeCellRenderer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.DefaultTreeCellRenderer; public class getClosedIcon implements Testlet { public void test(TestHarness harness) { DefaultTreeCellRenderer r = new DefaultTreeCellRenderer(); harness.check(r.getClosedIcon(), r.getDefaultClosedIcon()); r.setClosedIcon(null); harness.check(r.getClosedIcon(), null); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/setClosedIcon.java0000644000175000001440000000355710436412477027537 0ustar dokousers/* setClosedIcon.java -- some checks for the setClosedIcon() method in the DefaultTreeCellRenderer class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultTreeCellRenderer; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.plaf.metal.MetalIconFactory; import javax.swing.tree.DefaultTreeCellRenderer; public class setClosedIcon implements Testlet, PropertyChangeListener { PropertyChangeEvent lastEvent; public void propertyChange(PropertyChangeEvent e) { lastEvent = e; } public void test(TestHarness harness) { DefaultTreeCellRenderer r = new DefaultTreeCellRenderer(); r.addPropertyChangeListener(this); harness.check(r.getClosedIcon(), r.getDefaultClosedIcon()); r.setClosedIcon(MetalIconFactory.getRadioButtonIcon()); harness.check(r.getClosedIcon(), MetalIconFactory.getRadioButtonIcon()); harness.check(lastEvent, null); r.setClosedIcon(null); harness.check(r.getClosedIcon(), null); harness.check(lastEvent, null); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/0000755000175000001440000000000012375316426023756 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/postorderEnumeration.java0000644000175000001440000001005610265722500031041 0ustar dokousers// Tags: JDK1.2 // Uses: DefaultMutableTreeNodeTest // Copyright (C) 2004 Michael Koch // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Enumeration; public class postorderEnumeration implements Testlet { public void test(TestHarness h) { Enumeration e; e = DefaultMutableTreeNodeTest.G.postorderEnumeration(); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.W); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.X); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.S); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.L); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.T); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.M); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.G); DefaultMutableTreeNodeTest.checkEnumeration(h, e, null); e = DefaultMutableTreeNodeTest.A.postorderEnumeration(); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.Q); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.R); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.J); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.E); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.K); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.F); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.B); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.W); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.X); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.S); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.L); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.T); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.M); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.G); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.C); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.N); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.H); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.Z); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.Y); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.U); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.V); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.O); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.P); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.I); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.D); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.A); DefaultMutableTreeNodeTest.checkEnumeration(h, e, null); } }mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/constructors.java0000644000175000001440000000526710403265444027374 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004, 2006, Michael Koch // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.DefaultMutableTreeNode; public class constructors implements Testlet { public void test(TestHarness h) { testConstructor1(h); testConstructor2(h); testConstructor3(h); } public void testConstructor1(TestHarness harness) { harness.checkPoint("()"); DefaultMutableTreeNode n = new DefaultMutableTreeNode(); harness.check(n.getUserObject(), null); harness.check(n.getAllowsChildren(), true); harness.check(n.getLevel(), 0); harness.check(n.getChildCount(), 0); harness.check(n.children(), DefaultMutableTreeNode.EMPTY_ENUMERATION); harness.check(n.getDepth(), 0); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(Object)"); DefaultMutableTreeNode n = new DefaultMutableTreeNode("ABC"); harness.check(n.getUserObject(), "ABC"); harness.check(n.getAllowsChildren(), true); harness.check(n.getLevel(), 0); harness.check(n.getChildCount(), 0); harness.check(n.children(), DefaultMutableTreeNode.EMPTY_ENUMERATION); harness.check(n.getDepth(), 0); // try null argument n = new DefaultMutableTreeNode(null); harness.check(n.getUserObject(), null); } public void testConstructor3(TestHarness harness) { harness.checkPoint("(Object, boolean)"); DefaultMutableTreeNode n = new DefaultMutableTreeNode("ABC", false); harness.check(n.getUserObject(), "ABC"); harness.check(n.getAllowsChildren(), false); harness.check(n.getLevel(), 0); harness.check(n.getChildCount(), 0); harness.check(n.children(), DefaultMutableTreeNode.EMPTY_ENUMERATION); harness.check(n.getDepth(), 0); // try null argument n = new DefaultMutableTreeNode(null, true); harness.check(n.getUserObject(), null); harness.check(n.getAllowsChildren(), true); } }mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getFirstChild.java0000644000175000001440000000340010403324563027340 0ustar dokousers/* getFirstChild.java -- some checks for the getFirstChild() method in the DefaultMutableTreeNode class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.NoSuchElementException; import javax.swing.tree.DefaultMutableTreeNode; public class getFirstChild implements Testlet { public void test(TestHarness harness) { DefaultMutableTreeNode n1 = new DefaultMutableTreeNode("A"); boolean pass = false; try { n1.getFirstChild(); } catch (NoSuchElementException e) { pass = true; } harness.check(pass); DefaultMutableTreeNode n2 = new DefaultMutableTreeNode("B"); n1.add(n2); harness.check(n1.getFirstChild(), n2); DefaultMutableTreeNode n3 = new DefaultMutableTreeNode("C"); n1.add(n3); harness.check(n1.getFirstChild(), n2); n1.remove(0); harness.check(n1.getFirstChild(), n3); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/breadthFirstEnumeration.java0000644000175000001440000000777010265722500031452 0ustar dokousers// Tags: JDK1.2 // Uses: DefaultMutableTreeNodeTest // Copyright (C) 2004 Michael Koch // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Enumeration; public class breadthFirstEnumeration implements Testlet { public void test(TestHarness h) { Enumeration e; e = DefaultMutableTreeNodeTest.G.breadthFirstEnumeration(); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.G); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.L); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.M); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.S); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.T); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.W); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.X); DefaultMutableTreeNodeTest.checkEnumeration(h, e, null); e = DefaultMutableTreeNodeTest.A.breadthFirstEnumeration(); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.A); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.B); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.C); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.D); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.E); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.F); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.G); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.H); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.I); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.J); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.K); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.L); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.M); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.N); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.O); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.P); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.Q); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.R); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.S); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.T); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.U); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.V); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.W); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.X); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.Y); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.Z); } }mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getLastLeaf.java0000644000175000001440000000317110403324563027005 0ustar dokousers/* getLastLeaf.java -- some checks for the getLastLeaf() method in the DefaultMutableTreeNode class Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.DefaultMutableTreeNode; public class getLastLeaf implements Testlet { public void test(TestHarness harness) { DefaultMutableTreeNode n1 = new DefaultMutableTreeNode("A"); harness.check(n1.getLastLeaf(), n1); DefaultMutableTreeNode n2 = new DefaultMutableTreeNode("B"); n1.add(n2); harness.check(n1.getLastLeaf(), n2); DefaultMutableTreeNode n3 = new DefaultMutableTreeNode("C"); n1.add(n3); harness.check(n1.getLastLeaf(), n3); DefaultMutableTreeNode n4 = new DefaultMutableTreeNode("D"); n2.add(n4); harness.check(n1.getLastLeaf(), n3); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getSiblingCount.java0000644000175000001440000000343710403324563027717 0ustar dokousers/* getSiblingCount.java -- some checks for the getSiblingCount() method in the DefaultMutableTreeNode class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.DefaultMutableTreeNode; public class getSiblingCount implements Testlet { public void test(TestHarness harness) { DefaultMutableTreeNode n1 = new DefaultMutableTreeNode("A"); harness.check(n1.getSiblingCount(), 1); DefaultMutableTreeNode n2 = new DefaultMutableTreeNode("B"); n1.add(n2); harness.check(n2.getSiblingCount(), 1); DefaultMutableTreeNode n3 = new DefaultMutableTreeNode("C"); n1.add(n3); harness.check(n2.getSiblingCount(), 2); harness.check(n3.getSiblingCount(), 2); DefaultMutableTreeNode n4 = new DefaultMutableTreeNode("D"); n1.add(n4); harness.check(n2.getSiblingCount(), 3); harness.check(n3.getSiblingCount(), 3); harness.check(n4.getSiblingCount(), 3); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/clone.java0000644000175000001440000000333110403265444025712 0ustar dokousers/* clone.java -- Some checks for the clone() method in the DefaultMutableTreeNode class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.DefaultMutableTreeNode; public class clone implements Testlet { public void test(TestHarness harness) { harness.checkPoint("clone()"); Integer i1 = new Integer(100); Integer i2 = new Integer(200); Integer i3 = new Integer(300); DefaultMutableTreeNode n1 = new DefaultMutableTreeNode(i1); DefaultMutableTreeNode n2 = new DefaultMutableTreeNode(i2); DefaultMutableTreeNode n3 = new DefaultMutableTreeNode(i3); n1.add(n2); n2.add(n3); DefaultMutableTreeNode c = (DefaultMutableTreeNode) n2.clone(); harness.check(c.getUserObject() == i2); harness.check(c.getChildCount(), 0); harness.check(c.getDepth(), 0); harness.check(c.getParent(), null); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getNextPreviousNode.java0000644000175000001440000000406510153144370030574 0ustar dokousers// Tags: JDK1.2 // Uses: DefaultMutableTreeNodeTest // Copyright (C) 2004 Michael Koch // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.*; public class getNextPreviousNode implements Testlet { public void test(TestHarness h) { h.check(DefaultMutableTreeNodeTest.A.getPreviousNode(), null); h.check(DefaultMutableTreeNodeTest.A.getNextNode(), DefaultMutableTreeNodeTest.B); h.check(DefaultMutableTreeNodeTest.Q.getPreviousNode(), DefaultMutableTreeNodeTest.J); h.check(DefaultMutableTreeNodeTest.Q.getNextNode(), DefaultMutableTreeNodeTest.R); h.check(DefaultMutableTreeNodeTest.P.getPreviousNode(), DefaultMutableTreeNodeTest.V); h.check(DefaultMutableTreeNodeTest.P.getNextNode(), null); h.check(DefaultMutableTreeNodeTest.Z.getPreviousNode(), DefaultMutableTreeNodeTest.Y); h.check(DefaultMutableTreeNodeTest.Z.getNextNode(), DefaultMutableTreeNodeTest.V); h.check(DefaultMutableTreeNodeTest.X.getPreviousNode(), DefaultMutableTreeNodeTest.W); h.check(DefaultMutableTreeNodeTest.X.getNextNode(), DefaultMutableTreeNodeTest.M); h.check(DefaultMutableTreeNodeTest.G.getPreviousNode(), DefaultMutableTreeNodeTest.C); h.check(DefaultMutableTreeNodeTest.G.getNextNode(), DefaultMutableTreeNodeTest.L); } }mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/preorderEnumeration.java0000644000175000001440000001004710265722500030642 0ustar dokousers// Tags: JDK1.2 // Uses: DefaultMutableTreeNodeTest // Copyright (C) 2004 Michael Koch // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Enumeration; public class preorderEnumeration implements Testlet { public void test(TestHarness h) { Enumeration e; e = DefaultMutableTreeNodeTest.G.preorderEnumeration(); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.G); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.L); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.S); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.W); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.X); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.M); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.T); DefaultMutableTreeNodeTest.checkEnumeration(h, e, null); e = DefaultMutableTreeNodeTest.A.preorderEnumeration(); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.A); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.B); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.E); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.J); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.Q); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.R); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.F); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.K); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.C); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.G); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.L); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.S); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.W); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.X); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.M); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.T); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.D); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.H); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.N); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.I); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.O); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.U); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.Y); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.Z); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.V); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.P); DefaultMutableTreeNodeTest.checkEnumeration(h, e, null); } }mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getPreviousLeaf.java0000644000175000001440000000365010403324563027720 0ustar dokousers/* getPreviousLeaf.java -- some checks for the getPreviousLeaf() method in the DefaultMutableTreeNode class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.DefaultMutableTreeNode; public class getPreviousLeaf implements Testlet { public void test(TestHarness harness) { DefaultMutableTreeNode n1 = new DefaultMutableTreeNode("A"); harness.check(n1.getPreviousLeaf(), null); DefaultMutableTreeNode n2 = new DefaultMutableTreeNode("B"); n1.add(n2); harness.check(n1.getPreviousLeaf(), null); harness.check(n2.getPreviousLeaf(), null); DefaultMutableTreeNode n3 = new DefaultMutableTreeNode("C"); n1.add(n3); harness.check(n3.getPreviousLeaf(), n2); DefaultMutableTreeNode n4 = new DefaultMutableTreeNode("D"); DefaultMutableTreeNode n5 = new DefaultMutableTreeNode("E"); n2.add(n4); n2.add(n5); harness.check(n4.getPreviousLeaf(), null); harness.check(n5.getPreviousLeaf(), n4); harness.check(n2.getPreviousLeaf(), null); harness.check(n3.getPreviousLeaf(), n5); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getAllowsChildren.java0000644000175000001440000000521410153114717030224 0ustar dokousers// Tags: JDK1.2 // Uses: DefaultMutableTreeNodeTest // Copyright (C) 2004 Michael Koch // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.*; public class getAllowsChildren implements Testlet { public void test(TestHarness h) { h.check(DefaultMutableTreeNodeTest.A.getAllowsChildren()); h.check(DefaultMutableTreeNodeTest.B.getAllowsChildren()); h.check(DefaultMutableTreeNodeTest.C.getAllowsChildren()); h.check(DefaultMutableTreeNodeTest.D.getAllowsChildren()); h.check(DefaultMutableTreeNodeTest.E.getAllowsChildren()); h.check(DefaultMutableTreeNodeTest.F.getAllowsChildren()); h.check(DefaultMutableTreeNodeTest.G.getAllowsChildren()); h.check(DefaultMutableTreeNodeTest.H.getAllowsChildren()); h.check(DefaultMutableTreeNodeTest.I.getAllowsChildren()); h.check(DefaultMutableTreeNodeTest.J.getAllowsChildren()); h.check(! DefaultMutableTreeNodeTest.K.getAllowsChildren()); h.check(DefaultMutableTreeNodeTest.L.getAllowsChildren()); h.check(DefaultMutableTreeNodeTest.M.getAllowsChildren()); h.check(DefaultMutableTreeNodeTest.N.getAllowsChildren()); h.check(DefaultMutableTreeNodeTest.O.getAllowsChildren()); h.check(! DefaultMutableTreeNodeTest.P.getAllowsChildren()); h.check(DefaultMutableTreeNodeTest.Q.getAllowsChildren()); h.check(DefaultMutableTreeNodeTest.R.getAllowsChildren()); h.check(DefaultMutableTreeNodeTest.S.getAllowsChildren()); h.check(! DefaultMutableTreeNodeTest.T.getAllowsChildren()); h.check(DefaultMutableTreeNodeTest.U.getAllowsChildren()); h.check(DefaultMutableTreeNodeTest.V.getAllowsChildren()); h.check(DefaultMutableTreeNodeTest.W.getAllowsChildren()); h.check(! DefaultMutableTreeNodeTest.X.getAllowsChildren()); h.check(DefaultMutableTreeNodeTest.Y.getAllowsChildren()); h.check(DefaultMutableTreeNodeTest.Z.getAllowsChildren()); } }mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/isNodeDescendant.java0000644000175000001440000000370510403265444030031 0ustar dokousers/* isNodeDescendant.java -- some checks for the isNodeDescendant() method in the DefaultMutableTreeNode class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class isNodeDescendant implements Testlet { public void test(TestHarness harness) { harness.checkPoint("(MutableTreeNode)"); DefaultMutableTreeNode n1 = new DefaultMutableTreeNode("A"); DefaultMutableTreeNode n2 = new DefaultMutableTreeNode("B"); DefaultMutableTreeNode n3 = new DefaultMutableTreeNode("C"); n1.add(n2); n2.add(n3); harness.check(n1.isNodeDescendant(n1), true); harness.check(n1.isNodeDescendant(n2), true); harness.check(n1.isNodeDescendant(n3), true); harness.check(n1.isNodeDescendant(null), false); harness.check(n2.isNodeDescendant(n1), false); harness.check(n2.isNodeDescendant(n2), true); harness.check(n2.isNodeDescendant(n3), true); harness.check(n3.isNodeDescendant(n1), false); harness.check(n3.isNodeDescendant(n2), false); harness.check(n3.isNodeDescendant(n3), true); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getFirstLeaf.java0000644000175000001440000000320110403324563027163 0ustar dokousers/* getFirstLeaf.java -- some checks for the getFirstLeaf() method in the DefaultMutableTreeNode class Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.DefaultMutableTreeNode; public class getFirstLeaf implements Testlet { public void test(TestHarness harness) { DefaultMutableTreeNode n1 = new DefaultMutableTreeNode("A"); harness.check(n1.getFirstLeaf(), n1); DefaultMutableTreeNode n2 = new DefaultMutableTreeNode("B"); n1.add(n2); harness.check(n1.getFirstLeaf(), n2); DefaultMutableTreeNode n3 = new DefaultMutableTreeNode("C"); n1.add(n3); harness.check(n1.getFirstLeaf(), n2); DefaultMutableTreeNode n4 = new DefaultMutableTreeNode("D"); n2.add(n4); harness.check(n1.getFirstLeaf(), n4); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getPreviousSibling.java0000644000175000001440000000306610403324563030441 0ustar dokousers/* getPreviousSibling.java -- some checks for the getPreviousSibling() method in the DefaultMutableTreeNode class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.DefaultMutableTreeNode; public class getPreviousSibling implements Testlet { public void test(TestHarness harness) { DefaultMutableTreeNode n1 = new DefaultMutableTreeNode("A"); harness.check(n1.getPreviousSibling(), null); DefaultMutableTreeNode n2 = new DefaultMutableTreeNode("B"); DefaultMutableTreeNode n3 = new DefaultMutableTreeNode("C"); n1.add(n2); n1.add(n3); harness.check(n2.getPreviousSibling(), null); harness.check(n3.getPreviousSibling(), n2); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/isNodeChild.java0000644000175000001440000000312710403265444027002 0ustar dokousers/* isNodeChild.java -- Some checks for the isNodeChild() method in the DefaultMutableTreeNode class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.DefaultMutableTreeNode; public class isNodeChild implements Testlet { public void test(TestHarness harness) { harness.checkPoint("(MutableTreeNode)"); DefaultMutableTreeNode n1 = new DefaultMutableTreeNode("A"); DefaultMutableTreeNode n2 = new DefaultMutableTreeNode("B"); DefaultMutableTreeNode n3 = new DefaultMutableTreeNode("C"); n1.add(n2); harness.check(n1.isNodeChild(n2), true); harness.check(n1.isNodeChild(n3), false); harness.check(n1.isNodeChild(null), false); harness.check(n1.isNodeChild(n1), false); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/setAllowsChildren.java0000644000175000001440000000323010403265444030236 0ustar dokousers/* setAllowsChildren.java -- some checks for the setAllowsChildren() method in the DefaultMutableTreeNode class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.DefaultMutableTreeNode; public class setAllowsChildren implements Testlet { public void test(TestHarness harness) { DefaultMutableTreeNode n1 = new DefaultMutableTreeNode("A"); n1.setAllowsChildren(false); harness.check(n1.getAllowsChildren(), false); n1.setAllowsChildren(true); harness.check(n1.getAllowsChildren(), true); DefaultMutableTreeNode n2 = new DefaultMutableTreeNode("B"); n1.add(n2); n1.setAllowsChildren(false); harness.check(n1.getAllowsChildren(), false); harness.check(n1.getChildCount(), 0); harness.check(n2.getParent(), null); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/isLeaf.java0000644000175000001440000000272010403324563026014 0ustar dokousers/* isLeaf.java -- some checks for the isLeaf() method in the DefaultMutableTreeNode class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.DefaultMutableTreeNode; public class isLeaf implements Testlet { public void test(TestHarness harness) { DefaultMutableTreeNode n1 = new DefaultMutableTreeNode("A"); harness.check(n1.isLeaf(), true); DefaultMutableTreeNode n2 = new DefaultMutableTreeNode("B", false); n1.add(n2); harness.check(n1.isLeaf(), false); harness.check(n2.isLeaf(), true); n1.remove(n2); harness.check(n1.isLeaf(), true); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/toString.java0000644000175000001440000000262210403265444026425 0ustar dokousers/* toString.java -- Some checks for the toString() method in the DefaultMutableTreeNode class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.DefaultMutableTreeNode; public class toString implements Testlet { public void test(TestHarness harness) { harness.checkPoint("()"); DefaultMutableTreeNode n0 = new DefaultMutableTreeNode(null); harness.check(n0.toString(), null); DefaultMutableTreeNode n1 = new DefaultMutableTreeNode(new Integer(100)); harness.check(n1.toString(), "100"); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/add.java0000644000175000001440000000451110403265444025343 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004, 2006, Michael Koch // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.DefaultMutableTreeNode; public class add implements Testlet { public void test(TestHarness h) { h.checkPoint("(MutableTreeNode)"); DefaultMutableTreeNode a, b, c; a = new DefaultMutableTreeNode(); b = new DefaultMutableTreeNode(); c = new DefaultMutableTreeNode(null, false); // try adding null boolean ok = false; try { a.add(null); } catch (IllegalArgumentException e) { ok = true; } h.check(ok); // try adding to a node that doesn't allow children ok = false; try { c.add(a); } catch (IllegalStateException e) { ok = true; } h.check(ok); a.add(b); a.add(c); h.check(a.isNodeChild(b)); h.check(b.getParent(), a); h.check(a.isNodeChild(c)); h.check(c.getParent(), a); h.check(!b.isNodeChild(c)); b.add(c); h.check(a.isNodeChild(b)); h.check(!a.isNodeChild(c)); h.check(b.isNodeChild(c)); // can we add a node to itself? no because a node is considered its own // ancestor boolean pass = false; try { a.add(a); } catch (IllegalArgumentException e) { pass = true; } h.check(pass); // same goes for adding a as a child of c pass = false; try { b.add(a); } catch (IllegalArgumentException e) { pass = true; } h.check(pass); } }mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getParent.java0000644000175000001440000000277710403265444026560 0ustar dokousers/* getParent.java -- Some checks for the parent() method in the DefaultMutableTreeNode class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.DefaultMutableTreeNode; public class getParent implements Testlet { public void test(TestHarness harness) { harness.checkPoint("()"); DefaultMutableTreeNode n1 = new DefaultMutableTreeNode("A"); harness.check(n1.getParent(), null); DefaultMutableTreeNode n2 = new DefaultMutableTreeNode("B"); n1.add(n2); harness.check(n2.getParent(), n1); n2.setParent(null); harness.check(n2.getParent(), null); harness.check(n1.getChildCount(), 1); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getChildAfter.java0000644000175000001440000000350510403324563027320 0ustar dokousers// Tags: JDK1.2 // Uses: DefaultMutableTreeNodeTest // Copyright (C) 2004, 2006, Michael Koch // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.DefaultMutableTreeNode; public class getChildAfter implements Testlet { public void test(TestHarness h) { DefaultMutableTreeNode n1 = new DefaultMutableTreeNode("A"); DefaultMutableTreeNode n2 = new DefaultMutableTreeNode("B"); DefaultMutableTreeNode n3 = new DefaultMutableTreeNode("C"); DefaultMutableTreeNode n4 = new DefaultMutableTreeNode("D"); n1.add(n2); n1.add(n3); h.check(n1.getChildAfter(n2), n3); h.check(n1.getChildAfter(n3), null); // check null argument boolean ok = false; try { n1.getChildAfter(null); } catch (IllegalArgumentException e) { ok = true; } h.check(ok); // check with an invalid child ok = false; try { n4.getChildAfter(n1); } catch (IllegalArgumentException e) { ok = true; } h.check(ok); } }mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/removeAllChildren.java0000644000175000001440000000327510403265444030220 0ustar dokousers/* removeAllChildren.java -- some checks for the removeAllChildren() method in the DefaultMutableTreeNode class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.DefaultMutableTreeNode; public class removeAllChildren implements Testlet { public void test(TestHarness harness) { DefaultMutableTreeNode n1 = new DefaultMutableTreeNode("A"); // calling when there are no children should do nothing n1.removeAllChildren(); harness.check(n1.getChildCount(), 0); DefaultMutableTreeNode n2 = new DefaultMutableTreeNode("B"); DefaultMutableTreeNode n3 = new DefaultMutableTreeNode("C"); n1.add(n2); n1.add(n3); n1.removeAllChildren(); harness.check(n1.getChildCount(), 0); harness.check(n2.getParent(), null); harness.check(n3.getParent(), null); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getIndex.java0000644000175000001440000000356610403265444026373 0ustar dokousers/* getIndex.java -- some checks for the getIndex() method in the DefaultMutableTreeNode class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.DefaultMutableTreeNode; public class getIndex implements Testlet { public void test(TestHarness harness) { DefaultMutableTreeNode n1 = new DefaultMutableTreeNode("A"); DefaultMutableTreeNode n2 = new DefaultMutableTreeNode("B"); DefaultMutableTreeNode n3 = new DefaultMutableTreeNode("C"); DefaultMutableTreeNode n4 = new DefaultMutableTreeNode("D"); DefaultMutableTreeNode n5 = new DefaultMutableTreeNode("E"); n1.add(n2); n1.add(n3); n1.add(n4); harness.check(n1.getIndex(n2), 0); harness.check(n1.getIndex(n3), 1); harness.check(n1.getIndex(n4), 2); harness.check(n1.getIndex(n5), -1); // try null argument boolean pass = false; try { n1.getIndex(null); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getPath.java0000644000175000001440000000326310153127301026201 0ustar dokousers// Tags: JDK1.2 // Uses: DefaultMutableTreeNodeTest // Copyright (C) 2004 Michael Koch // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.*; public class getPath implements Testlet { public void test(TestHarness h) { TreeNode[] path; path = DefaultMutableTreeNodeTest.A.getPath(); h.check(path.length, 1, "array length 1"); h.check(path[0], DefaultMutableTreeNodeTest.A, "correct tree node 1"); path = DefaultMutableTreeNodeTest.U.getPath(); h.check(path.length, 5, "array length 2"); h.check(path[0], DefaultMutableTreeNodeTest.A, "correct tree node 2"); h.check(path[1], DefaultMutableTreeNodeTest.D, "correct tree node 3"); h.check(path[2], DefaultMutableTreeNodeTest.I, "correct tree node 4"); h.check(path[3], DefaultMutableTreeNodeTest.O, "correct tree node 5"); h.check(path[4], DefaultMutableTreeNodeTest.U, "correct tree node 6"); } }mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getNextLeaf.java0000644000175000001440000000351010403324563027015 0ustar dokousers/* getNextLeaf.java -- some checks for the getNextLeaf() method in the DefaultMutableTreeNode class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.DefaultMutableTreeNode; public class getNextLeaf implements Testlet { public void test(TestHarness harness) { DefaultMutableTreeNode n1 = new DefaultMutableTreeNode("A"); harness.check(n1.getNextLeaf(), null); DefaultMutableTreeNode n2 = new DefaultMutableTreeNode("B"); n1.add(n2); harness.check(n1.getNextLeaf(), null); harness.check(n2.getNextLeaf(), null); DefaultMutableTreeNode n3 = new DefaultMutableTreeNode("C"); n1.add(n3); harness.check(n2.getNextLeaf(), n3); DefaultMutableTreeNode n4 = new DefaultMutableTreeNode("D"); DefaultMutableTreeNode n5 = new DefaultMutableTreeNode("E"); n2.add(n4); n2.add(n5); harness.check(n4.getNextLeaf(), n5); harness.check(n5.getNextLeaf(), n3); harness.check(n2.getNextLeaf(), n3); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getChildBefore.java0000644000175000001440000000351210403324563027457 0ustar dokousers// Tags: JDK1.2 // Uses: DefaultMutableTreeNodeTest // Copyright (C) 2004, 2006, Michael Koch // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getChildBefore implements Testlet { public void test(TestHarness h) { DefaultMutableTreeNode n1 = new DefaultMutableTreeNode("A"); DefaultMutableTreeNode n2 = new DefaultMutableTreeNode("B"); DefaultMutableTreeNode n3 = new DefaultMutableTreeNode("C"); DefaultMutableTreeNode n4 = new DefaultMutableTreeNode("D"); n1.add(n2); n1.add(n3); h.check(n1.getChildBefore(n2), null); h.check(n1.getChildBefore(n3), n2); // check null argument boolean ok = false; try { n1.getChildBefore(null); } catch (IllegalArgumentException e) { ok = true; } h.check(ok); // check with an invalid child ok = false; try { n4.getChildBefore(n1); } catch (IllegalArgumentException e) { ok = true; } h.check(ok); } }mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/isNodeAncestor.java0000644000175000001440000000351510403265444027536 0ustar dokousers/* isNodeAncestor.java -- Some checks for the isNodeAncestor() method in the DefaultMutableTreeNode class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.DefaultMutableTreeNode; public class isNodeAncestor implements Testlet { public void test(TestHarness harness) { harness.checkPoint("(MutableTreeNode)"); DefaultMutableTreeNode n1 = new DefaultMutableTreeNode("A"); DefaultMutableTreeNode n2 = new DefaultMutableTreeNode("B"); DefaultMutableTreeNode n3 = new DefaultMutableTreeNode("C"); n1.add(n2); n2.add(n3); harness.check(n2.isNodeAncestor(n1), true); harness.check(n2.isNodeAncestor(n2), true); harness.check(n3.isNodeAncestor(n1), true); harness.check(n3.isNodeAncestor(n2), true); harness.check(n3.isNodeAncestor(n3), true); harness.check(n1.isNodeAncestor(n2), false); harness.check(n1.isNodeAncestor(n3), false); harness.check(n1.isNodeAncestor(null), false); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/pathFromAncestorEnumeration.java0000644000175000001440000000463510153122732032302 0ustar dokousers// Tags: JDK1.2 // Uses: DefaultMutableTreeNodeTest // Copyright (C) 2004 Michael Koch // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Enumeration; import javax.swing.tree.*; public class pathFromAncestorEnumeration implements Testlet { public void test(TestHarness h) { boolean ok = false; try { DefaultMutableTreeNodeTest.M.pathFromAncestorEnumeration(DefaultMutableTreeNodeTest.K); } catch (IllegalArgumentException ex) { ok = true; } h.check(ok, "rejects invalid arguments"); ok = false; try { DefaultMutableTreeNodeTest.A.pathFromAncestorEnumeration(null); } catch (IllegalArgumentException ex) { ok = true; } h.check(ok, "rejects invalid arguments (null)"); Enumeration e; e = DefaultMutableTreeNodeTest.A.pathFromAncestorEnumeration(DefaultMutableTreeNodeTest.A); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.A); DefaultMutableTreeNodeTest.checkEnumeration(h, e, null); e = DefaultMutableTreeNodeTest.S.pathFromAncestorEnumeration(DefaultMutableTreeNodeTest.A); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.A); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.C); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.G); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.L); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.S); DefaultMutableTreeNodeTest.checkEnumeration(h, e, null); } }mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getChildCount.java0000644000175000001440000000514610153114717027352 0ustar dokousers// Tags: JDK1.2 // Uses: DefaultMutableTreeNodeTest // Copyright (C) 2004 Michael Koch // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.*; public class getChildCount implements Testlet { public void test(TestHarness h) { h.check(DefaultMutableTreeNodeTest.A.getChildCount(), 3); h.check(DefaultMutableTreeNodeTest.B.getChildCount(), 2); h.check(DefaultMutableTreeNodeTest.C.getChildCount(), 1); h.check(DefaultMutableTreeNodeTest.D.getChildCount(), 2); h.check(DefaultMutableTreeNodeTest.E.getChildCount(), 1); h.check(DefaultMutableTreeNodeTest.F.getChildCount(), 1); h.check(DefaultMutableTreeNodeTest.G.getChildCount(), 2); h.check(DefaultMutableTreeNodeTest.H.getChildCount(), 1); h.check(DefaultMutableTreeNodeTest.I.getChildCount(), 2); h.check(DefaultMutableTreeNodeTest.J.getChildCount(), 2); h.check(DefaultMutableTreeNodeTest.K.getChildCount(), 0); h.check(DefaultMutableTreeNodeTest.L.getChildCount(), 1); h.check(DefaultMutableTreeNodeTest.M.getChildCount(), 1); h.check(DefaultMutableTreeNodeTest.N.getChildCount(), 0); h.check(DefaultMutableTreeNodeTest.O.getChildCount(), 2); h.check(DefaultMutableTreeNodeTest.P.getChildCount(), 0); h.check(DefaultMutableTreeNodeTest.Q.getChildCount(), 0); h.check(DefaultMutableTreeNodeTest.R.getChildCount(), 0); h.check(DefaultMutableTreeNodeTest.S.getChildCount(), 2); h.check(DefaultMutableTreeNodeTest.T.getChildCount(), 0); h.check(DefaultMutableTreeNodeTest.U.getChildCount(), 1); h.check(DefaultMutableTreeNodeTest.V.getChildCount(), 0); h.check(DefaultMutableTreeNodeTest.W.getChildCount(), 0); h.check(DefaultMutableTreeNodeTest.X.getChildCount(), 0); h.check(DefaultMutableTreeNodeTest.Y.getChildCount(), 1); h.check(DefaultMutableTreeNodeTest.Z.getChildCount(), 0); } }mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/insert.java0000644000175000001440000000624010403265444026120 0ustar dokousers/* insert.java -- Some checks for the insert() method in the DefaultMutableTreeNode class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.DefaultMutableTreeNode; public class insert implements Testlet { public void test(TestHarness harness) { harness.checkPoint("(MutableTreeNode, int)"); DefaultMutableTreeNode n1 = new DefaultMutableTreeNode("A"); DefaultMutableTreeNode n2 = new DefaultMutableTreeNode("B"); DefaultMutableTreeNode n3 = new DefaultMutableTreeNode("C"); DefaultMutableTreeNode n4 = new DefaultMutableTreeNode("D"); n1.insert(n2, 0); harness.check(n1.getChildAt(0), n2); n1.insert(n3, 0); harness.check(n1.getChildAt(0), n3); harness.check(n1.getChildAt(1), n2); n1.insert(n4, 2); harness.check(n1.getChildAt(0), n3); harness.check(n1.getChildAt(1), n2); harness.check(n1.getChildAt(2), n4); // null boolean pass = false; try { n1.insert(null, 0); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // negative pass = false; DefaultMutableTreeNode n5 = new DefaultMutableTreeNode("E"); try { n1.insert(n5, -1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // count + 1 pass = false; try { n1.insert(n5, 4); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // node that doesn't allow children DefaultMutableTreeNode n6 = new DefaultMutableTreeNode("F", false); DefaultMutableTreeNode n7 = new DefaultMutableTreeNode("G"); pass = false; try { n6.insert(n7, 0); } catch (IllegalStateException e) { pass = true; } harness.check(pass); // node that is an ancestor DefaultMutableTreeNode n8 = new DefaultMutableTreeNode("H"); DefaultMutableTreeNode n9 = new DefaultMutableTreeNode("I"); DefaultMutableTreeNode n10 = new DefaultMutableTreeNode("J"); n8.add(n9); n9.add(n10); pass = false; try { n10.insert(n8, 0); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/depthFirstEnumeration.java0000644000175000001440000001042110265722623031136 0ustar dokousers// Tags: JDK1.2 // Uses: DefaultMutableTreeNodeTest // Copyright (C) 2005 Robert Schuster // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Enumeration; /** This tests the same behavior as postorderEnumeration (postorder and depth-first * is the same traversal order). However the class library has to support this * functionality using two different names. */ public class depthFirstEnumeration implements Testlet { public void test(TestHarness h) { Enumeration e; e = DefaultMutableTreeNodeTest.G.depthFirstEnumeration(); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.W); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.X); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.S); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.L); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.T); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.M); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.G); DefaultMutableTreeNodeTest.checkEnumeration(h, e, null); e = DefaultMutableTreeNodeTest.A.depthFirstEnumeration(); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.Q); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.R); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.J); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.E); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.K); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.F); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.B); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.W); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.X); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.S); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.L); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.T); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.M); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.G); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.C); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.N); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.H); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.Z); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.Y); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.U); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.V); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.O); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.P); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.I); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.D); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.A); DefaultMutableTreeNodeTest.checkEnumeration(h, e, null); } }mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/isNodeRelated.java0000644000175000001440000000321210153114717027330 0ustar dokousers// Tags: JDK1.2 // Uses: DefaultMutableTreeNodeTest // Copyright (C) 2004 Michael Koch // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Enumeration; import java.util.Vector; import javax.swing.tree.*; public class isNodeRelated implements Testlet { public void test(TestHarness h) { DefaultMutableTreeNode node = new DefaultMutableTreeNode(); h.check(! node.isNodeRelated(null)); h.check(! node.isNodeRelated(DefaultMutableTreeNodeTest.A)); Vector nodes = DefaultMutableTreeNodeTest.nodes; for (int i = 0; i < nodes.size(); ++i) for (int j = 0; j < nodes.size(); ++j) { DefaultMutableTreeNode node1 = (DefaultMutableTreeNode) nodes.get(i); DefaultMutableTreeNode node2 = (DefaultMutableTreeNode) nodes.get(j); h.check(node1.isNodeRelated(node2), "isNodeRelated"); } } }mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/children.java0000644000175000001440000000417110153114717026403 0ustar dokousers// Tags: JDK1.2 // Uses: DefaultMutableTreeNodeTest // Copyright (C) 2004 Michael Koch // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.Enumeration; import javax.swing.tree.*; public class children implements Testlet { public void test(TestHarness h) { Enumeration e; e = DefaultMutableTreeNodeTest.A.children(); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.B); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.C); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.D); DefaultMutableTreeNodeTest.checkEnumeration(h, e, null); e = DefaultMutableTreeNodeTest.G.children(); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.L); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.M); DefaultMutableTreeNodeTest.checkEnumeration(h, e, null); e = DefaultMutableTreeNodeTest.K.children(); DefaultMutableTreeNodeTest.checkEnumeration(h, e, null); e = DefaultMutableTreeNodeTest.L.children(); DefaultMutableTreeNodeTest.checkEnumeration(h, e, DefaultMutableTreeNodeTest.S); DefaultMutableTreeNodeTest.checkEnumeration(h, e, null); e = DefaultMutableTreeNodeTest.Z.children(); DefaultMutableTreeNodeTest.checkEnumeration(h, e, null); } }mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getLastChild.java0000644000175000001440000000337010403324563027162 0ustar dokousers/* getLastChild.java -- some checks for the getLastChild() method in the DefaultMutableTreeNode class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.NoSuchElementException; import javax.swing.tree.DefaultMutableTreeNode; public class getLastChild implements Testlet { public void test(TestHarness harness) { DefaultMutableTreeNode n1 = new DefaultMutableTreeNode("A"); boolean pass = false; try { n1.getLastChild(); } catch (NoSuchElementException e) { pass = true; } harness.check(pass); DefaultMutableTreeNode n2 = new DefaultMutableTreeNode("B"); n1.add(n2); harness.check(n1.getLastChild(), n2); DefaultMutableTreeNode n3 = new DefaultMutableTreeNode("C"); n1.add(n3); harness.check(n1.getLastChild(), n3); n1.remove(1); harness.check(n1.getLastChild(), n2); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/remove.java0000644000175000001440000000615010403265444026111 0ustar dokousers/* remove.java -- Some checks for the remove() methods in the DefaultMutableTreeNode class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.DefaultMutableTreeNode; public class remove implements Testlet { public void test(TestHarness harness) { test1(harness); test2(harness); } public void test1(TestHarness harness) { harness.checkPoint("(int)"); DefaultMutableTreeNode n1 = new DefaultMutableTreeNode("A"); DefaultMutableTreeNode n2 = new DefaultMutableTreeNode("B"); DefaultMutableTreeNode n3 = new DefaultMutableTreeNode("C"); DefaultMutableTreeNode n4 = new DefaultMutableTreeNode("D"); n1.add(n2); n1.add(n3); n1.add(n4); // remove valid item n1.remove(2); harness.check(n1.getChildCount(), 2); harness.check(n1.isNodeChild(n4), false); harness.check(n4.getParent(), null); // remove negative index boolean pass = false; try { n1.remove(-1); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); // remove index = childCount pass = false; try { n1.remove(n1.getChildCount()); } catch (ArrayIndexOutOfBoundsException e) { pass = true; } harness.check(pass); } public void test2(TestHarness harness) { harness.checkPoint("(MutableTreeNode)"); // remove known item DefaultMutableTreeNode n1 = new DefaultMutableTreeNode("A"); DefaultMutableTreeNode n2 = new DefaultMutableTreeNode("B"); DefaultMutableTreeNode n3 = new DefaultMutableTreeNode("C"); DefaultMutableTreeNode n4 = new DefaultMutableTreeNode("D"); n1.add(n2); n1.add(n3); n1.add(n4); n1.remove(n4); harness.check(n1.getChildCount(), 2); harness.check(n1.isNodeChild(n4), false); harness.check(n4.getParent(), null); // remove unknown item boolean pass = false; try { n1.remove(new DefaultMutableTreeNode("Z")); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); // remove null pass = false; try { n1.remove(null); } catch (IllegalArgumentException e) { pass = true; } harness.check(pass); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getNextSibling.java0000644000175000001440000000303110403324563027533 0ustar dokousers/* getNextSibling.java -- some checks for the getNextSibling() method in the DefaultMutableTreeNode class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.DefaultMutableTreeNode; public class getNextSibling implements Testlet { public void test(TestHarness harness) { DefaultMutableTreeNode n1 = new DefaultMutableTreeNode("A"); harness.check(n1.getNextSibling(), null); DefaultMutableTreeNode n2 = new DefaultMutableTreeNode("B"); DefaultMutableTreeNode n3 = new DefaultMutableTreeNode("C"); n1.add(n2); n1.add(n3); harness.check(n2.getNextSibling(), n3); harness.check(n3.getNextSibling(), null); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/DefaultMutableTreeNodeTest.java0000644000175000001440000001324610403324563032002 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2004 Michael Koch // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.*; import javax.swing.tree.*; public class DefaultMutableTreeNodeTest implements Testlet { public static DefaultMutableTreeNode A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z; public static Vector nodes = new Vector(); static { A = new DefaultMutableTreeNode("A"); B = new DefaultMutableTreeNode("B"); C = new DefaultMutableTreeNode("C"); D = new DefaultMutableTreeNode("D"); E = new DefaultMutableTreeNode("E"); F = new DefaultMutableTreeNode("F"); G = new DefaultMutableTreeNode("G"); H = new DefaultMutableTreeNode("H"); I = new DefaultMutableTreeNode("I"); J = new DefaultMutableTreeNode("J"); K = new DefaultMutableTreeNode("K", false); L = new DefaultMutableTreeNode("L"); M = new DefaultMutableTreeNode("M"); N = new DefaultMutableTreeNode("N"); O = new DefaultMutableTreeNode("O"); P = new DefaultMutableTreeNode("P", false); Q = new DefaultMutableTreeNode("Q"); R = new DefaultMutableTreeNode("R"); S = new DefaultMutableTreeNode("S"); T = new DefaultMutableTreeNode("T", false); U = new DefaultMutableTreeNode("U"); V = new DefaultMutableTreeNode("V"); W = new DefaultMutableTreeNode("W"); X = new DefaultMutableTreeNode("X", false); Y = new DefaultMutableTreeNode("Y"); Z = new DefaultMutableTreeNode("Z"); A.add(B); A.add(C); A.add(D); B.add(E); B.add(F); C.add(G); D.add(H); D.add(I); E.add(J); F.add(K); G.add(L); G.add(M); H.add(N); I.add(O); I.add(P); J.add(Q); J.add(R); L.add(S); M.add(T); O.add(U); O.add(V); S.add(W); S.add(X); U.add(Y); Y.add(Z); nodes.add(A); nodes.add(B); nodes.add(C); nodes.add(D); nodes.add(E); nodes.add(F); nodes.add(G); nodes.add(H); nodes.add(I); nodes.add(J); nodes.add(K); nodes.add(L); nodes.add(M); nodes.add(N); nodes.add(O); nodes.add(P); nodes.add(Q); nodes.add(R); nodes.add(S); nodes.add(T); nodes.add(U); nodes.add(V); nodes.add(W); nodes.add(X); nodes.add(Y); nodes.add(Z); } public static void checkEnumeration(TestHarness h, Enumeration e, DefaultMutableTreeNode node) { if (node == null) { h.check(! e.hasMoreElements(), "enumeration has more elements"); boolean ok = false; try { e.nextElement(); } catch (NoSuchElementException ex) { ok = true; } h.check(ok, "throws NoSuchElementException"); } else { h.check(e.hasMoreElements(), "enumeration has more elements"); DefaultMutableTreeNode enode = (DefaultMutableTreeNode) e.nextElement(); h.check(enode, node, "correct node as next element"); h.debug("expected: " + ((String) node.getUserObject())); h.debug("got : " + ((String) enode.getUserObject())); } } private void checkRoot(TestHarness h, DefaultMutableTreeNode node, boolean isRoot) { h.check(node.isRoot() == isRoot, "node is root"); } private void checkIsLeaf(TestHarness h, DefaultMutableTreeNode node, boolean isLeaf) { h.check(node.isLeaf() == isLeaf, "isLeaf"); } public void test(TestHarness h) { checkRoot(h, A, true); checkRoot(h, B, false); checkRoot(h, C, false); checkRoot(h, D, false); checkRoot(h, E, false); checkRoot(h, F, false); checkRoot(h, G, false); checkRoot(h, H, false); checkRoot(h, I, false); checkRoot(h, J, false); checkRoot(h, K, false); checkRoot(h, L, false); checkRoot(h, M, false); checkRoot(h, N, false); checkRoot(h, O, false); checkRoot(h, P, false); checkRoot(h, Q, false); checkRoot(h, R, false); checkRoot(h, S, false); checkRoot(h, T, false); checkRoot(h, U, false); checkRoot(h, V, false); checkRoot(h, W, false); checkRoot(h, X, false); checkRoot(h, Y, false); checkRoot(h, Z, false); checkIsLeaf(h, A, false); checkIsLeaf(h, B, false); checkIsLeaf(h, C, false); checkIsLeaf(h, D, false); checkIsLeaf(h, E, false); checkIsLeaf(h, F, false); checkIsLeaf(h, G, false); checkIsLeaf(h, H, false); checkIsLeaf(h, I, false); checkIsLeaf(h, J, false); checkIsLeaf(h, K, true); checkIsLeaf(h, L, false); checkIsLeaf(h, M, false); checkIsLeaf(h, N, true); checkIsLeaf(h, O, false); checkIsLeaf(h, P, true); checkIsLeaf(h, Q, true); checkIsLeaf(h, R, true); checkIsLeaf(h, S, false); checkIsLeaf(h, T, true); checkIsLeaf(h, U, false); checkIsLeaf(h, V, true); checkIsLeaf(h, W, true); checkIsLeaf(h, X, true); checkIsLeaf(h, Y, false); checkIsLeaf(h, Z, true); } }mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/isNodeSibling.java0000644000175000001440000000312310403324563027340 0ustar dokousers/* isNodeSibling.java -- some checks for the isNodeSibling() method in the DefaultMutableTreeNode class. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.DefaultMutableTreeNode; public class isNodeSibling implements Testlet { public void test(TestHarness harness) { DefaultMutableTreeNode n1 = new DefaultMutableTreeNode("A"); harness.check(n1.isNodeSibling(n1), true); DefaultMutableTreeNode n2 = new DefaultMutableTreeNode("B"); n1.add(n2); harness.check(n2.isNodeSibling(n1), false); DefaultMutableTreeNode n3 = new DefaultMutableTreeNode("C"); n1.add(n3); harness.check(n2.isNodeSibling(n3), true); harness.check(n3.isNodeSibling(n2), true); } } mauve-20140821/gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getChildAt.java0000644000175000001440000000720510153114717026624 0ustar dokousers// Tags: JDK1.2 // Uses: DefaultMutableTreeNodeTest // Copyright (C) 2004 Michael Koch // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.swing.tree.DefaultMutableTreeNode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.tree.*; public class getChildAt implements Testlet { public void test(TestHarness h) { boolean ok = false; try { DefaultMutableTreeNodeTest.A.getChildAt(-1); } catch (ArrayIndexOutOfBoundsException e) { ok = true; } h.check(ok, "rejects invalid index"); ok = false; try { DefaultMutableTreeNodeTest.A.getChildAt(3); } catch (ArrayIndexOutOfBoundsException e) { ok = true; } h.check(ok, "rejects invalid index"); h.checkPoint("child at position"); h.check(DefaultMutableTreeNodeTest.A.getChildAt(0), DefaultMutableTreeNodeTest.B); h.check(DefaultMutableTreeNodeTest.A.getChildAt(1), DefaultMutableTreeNodeTest.C); h.check(DefaultMutableTreeNodeTest.A.getChildAt(2), DefaultMutableTreeNodeTest.D); h.check(DefaultMutableTreeNodeTest.B.getChildAt(0), DefaultMutableTreeNodeTest.E); h.check(DefaultMutableTreeNodeTest.B.getChildAt(1), DefaultMutableTreeNodeTest.F); h.check(DefaultMutableTreeNodeTest.C.getChildAt(0), DefaultMutableTreeNodeTest.G); h.check(DefaultMutableTreeNodeTest.D.getChildAt(0), DefaultMutableTreeNodeTest.H); h.check(DefaultMutableTreeNodeTest.D.getChildAt(1), DefaultMutableTreeNodeTest.I); h.check(DefaultMutableTreeNodeTest.E.getChildAt(0), DefaultMutableTreeNodeTest.J); h.check(DefaultMutableTreeNodeTest.F.getChildAt(0), DefaultMutableTreeNodeTest.K); h.check(DefaultMutableTreeNodeTest.G.getChildAt(0), DefaultMutableTreeNodeTest.L); h.check(DefaultMutableTreeNodeTest.G.getChildAt(1), DefaultMutableTreeNodeTest.M); h.check(DefaultMutableTreeNodeTest.H.getChildAt(0), DefaultMutableTreeNodeTest.N); h.check(DefaultMutableTreeNodeTest.I.getChildAt(0), DefaultMutableTreeNodeTest.O); h.check(DefaultMutableTreeNodeTest.I.getChildAt(1), DefaultMutableTreeNodeTest.P); h.check(DefaultMutableTreeNodeTest.J.getChildAt(0), DefaultMutableTreeNodeTest.Q); h.check(DefaultMutableTreeNodeTest.J.getChildAt(1), DefaultMutableTreeNodeTest.R); h.check(DefaultMutableTreeNodeTest.L.getChildAt(0), DefaultMutableTreeNodeTest.S); h.check(DefaultMutableTreeNodeTest.M.getChildAt(0), DefaultMutableTreeNodeTest.T); h.check(DefaultMutableTreeNodeTest.O.getChildAt(0), DefaultMutableTreeNodeTest.U); h.check(DefaultMutableTreeNodeTest.O.getChildAt(1), DefaultMutableTreeNodeTest.V); h.check(DefaultMutableTreeNodeTest.S.getChildAt(0), DefaultMutableTreeNodeTest.W); h.check(DefaultMutableTreeNodeTest.S.getChildAt(1), DefaultMutableTreeNodeTest.X); h.check(DefaultMutableTreeNodeTest.U.getChildAt(0), DefaultMutableTreeNodeTest.Y); h.check(DefaultMutableTreeNodeTest.Y.getChildAt(0), DefaultMutableTreeNodeTest.Z); } }mauve-20140821/gnu/testlet/javax/swing/DefaultListCellRenderer/0000755000175000001440000000000012375316426023202 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/DefaultListCellRenderer/getListCellRendererComponent.java0000644000175000001440000000340610371466234031632 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2006 Mark J. Wielaard (mark@klomp.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.DefaultListCellRenderer; import java.awt.*; import javax.swing.*; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class getListCellRendererComponent implements Testlet { public void test(TestHarness harness) { Object[] data = new Object[] { "", null, new Integer(1), new Object(), new int[0], new String[0], new String[1] }; JList list = new JList(data); DefaultListCellRenderer dlcr = new DefaultListCellRenderer(); for (int i = 0; i < data.length; i++) { Component c = dlcr.getListCellRendererComponent(list, data[i], i, false, false); Dimension d = c.getPreferredSize(); harness.check(d.height >= 0); harness.check(d.width >= 0); } for (int i = 0; i < data.length; i++) { list.setSelectedIndex(i); Component c = dlcr.getListCellRendererComponent(list, data[i], i, true, false); Dimension d = c.getPreferredSize(); harness.check(d.height >= 0); harness.check(d.width >= 0); } } } mauve-20140821/gnu/testlet/javax/swing/JRadioButton/0000755000175000001440000000000012375316426021037 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/JRadioButton/isFocusable.java0000644000175000001440000000237710444332736024147 0ustar dokousers/* isFocusable.java Copyright (C) 2006 Red Hat, Tania Bento This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags:1.4 package gnu.testlet.javax.swing.JRadioButton; import javax.swing.JRadioButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class isFocusable implements Testlet { /** * Runs the test using the specified harness. * * @param harness the test harness (null not permitted). */ public void test(TestHarness harness) { JRadioButton i = new JRadioButton(); harness.check(i.isFocusable(), true); } } mauve-20140821/gnu/testlet/javax/swing/JRadioButton/model.java0000644000175000001440000001132010504004352022757 0ustar dokousers/* model.java -- some checks for the initialisation of the button's model. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.JRadioButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.Icon; import javax.swing.JRadioButton; import javax.swing.JToggleButton.ToggleButtonModel; import javax.swing.plaf.metal.MetalIconFactory; /** * This test looks at the creation of the button's model. This test was * written to investigate a look and feel bug that occurs because the model is * null when the UI delegate is initialised. */ public class model implements Testlet { static class MyJRadioButton extends JRadioButton { public MyJRadioButton() { super(); } public MyJRadioButton(Action action) { super(action); } public MyJRadioButton(Icon icon) { super(icon); } public MyJRadioButton(Icon icon, boolean selected) { super(icon, selected); } public MyJRadioButton(String text) { super(text); } public MyJRadioButton(String text, boolean selected) { super(text, selected); } public MyJRadioButton(String text, Icon icon) { super(text, icon); } public MyJRadioButton(String text, Icon icon, boolean selected) { super(text, icon, selected); } public void init(String text, Icon icon) { // don't call super.init(), because we want to check what happens in // the constructor only... } } public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); testConstructor6(harness); testConstructor7(harness); testConstructor8(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("()"); MyJRadioButton b = new MyJRadioButton(); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(Action)"); Action action = new AbstractAction() { public void actionPerformed(ActionEvent e) { // do nothing } }; MyJRadioButton b = new MyJRadioButton(action); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor3(TestHarness harness) { harness.checkPoint("(Icon)"); MyJRadioButton b = new MyJRadioButton( MetalIconFactory.getFileChooserListViewIcon()); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor4(TestHarness harness) { harness.checkPoint("(Icon, boolean)"); MyJRadioButton b = new MyJRadioButton( MetalIconFactory.getFileChooserListViewIcon(), false); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor5(TestHarness harness) { harness.checkPoint("(String)"); MyJRadioButton b = new MyJRadioButton("ABC"); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor6(TestHarness harness) { harness.checkPoint("(String, boolean)"); MyJRadioButton b = new MyJRadioButton("ABC", false); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor7(TestHarness harness) { harness.checkPoint("(String, Icon)"); MyJRadioButton b = new MyJRadioButton("ABC", MetalIconFactory.getFileChooserDetailViewIcon()); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor8(TestHarness harness) { harness.checkPoint("(String, Icon, boolean)"); MyJRadioButton b = new MyJRadioButton("ABC", MetalIconFactory.getFileChooserDetailViewIcon(), false); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } }mauve-20140821/gnu/testlet/javax/swing/JRadioButton/getActionCommand.java0000644000175000001440000000267410265073351025120 0ustar dokousers// Tags: JDK1.2 // Uses: ../AbstractButton/getActionCommand // Copyright (C) 2005 Robert Schuster // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.swing.JRadioButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.swing.JRadioButton; /**

    Tests the JRadioButton's getActionCommand * method.

    * *

    Please note that the interesting bits of this test reside in the superclass * {@link gnu.testlet.javax.swing.AbstractButton} * * @author Robert Schuster * */ public class getActionCommand extends gnu.testlet.javax.swing.AbstractButton.getActionCommand implements Testlet { public void test(TestHarness harness) { check(new JRadioButton("bla"), harness); } }mauve-20140821/gnu/testlet/javax/swing/JRadioButton/uidelegate.java0000644000175000001440000001156510504004352024002 0ustar dokousers/* uidelegate.java -- some checks for the initialisation of the button's UI delegate. Copyright (C) 2006 David Gilbert This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.swing.JRadioButton; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.Icon; import javax.swing.JRadioButton; import javax.swing.JToggleButton.ToggleButtonModel; import javax.swing.plaf.metal.MetalIconFactory; /** * This test looks at the creation of the button's UI delegate. This test was * written to investigate a look and feel bug that occurs because the model is * null when the UI delegate is initialised. */ public class uidelegate implements Testlet { static class MyJRadioButton extends JRadioButton { public boolean initCalled; public boolean updateUICalledAfterInitCalled; public MyJRadioButton() { super(); } public MyJRadioButton(Action action) { super(action); } public MyJRadioButton(Icon icon) { super(icon); } public MyJRadioButton(Icon icon, boolean selected) { super(icon, selected); } public MyJRadioButton(String text) { super(text); } public MyJRadioButton(String text, boolean selected) { super(text, selected); } public MyJRadioButton(String text, Icon icon) { super(text, icon); } public MyJRadioButton(String text, Icon icon, boolean selected) { super(text, icon, selected); } public void init(String text, Icon icon) { initCalled = true; super.init(text, icon); } public void updateUI() { updateUICalledAfterInitCalled = initCalled; super.updateUI(); } } public void test(TestHarness harness) { testConstructor1(harness); testConstructor2(harness); testConstructor3(harness); testConstructor4(harness); testConstructor5(harness); testConstructor6(harness); testConstructor7(harness); testConstructor8(harness); } public void testConstructor1(TestHarness harness) { harness.checkPoint("()"); MyJRadioButton b = new MyJRadioButton(); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor2(TestHarness harness) { harness.checkPoint("(Action)"); Action action = new AbstractAction() { public void actionPerformed(ActionEvent e) { // do nothing } }; MyJRadioButton b = new MyJRadioButton(action); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor3(TestHarness harness) { harness.checkPoint("(Icon)"); MyJRadioButton b = new MyJRadioButton( MetalIconFactory.getFileChooserListViewIcon()); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor4(TestHarness harness) { harness.checkPoint("(Icon, boolean)"); MyJRadioButton b = new MyJRadioButton( MetalIconFactory.getFileChooserListViewIcon(), false); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor5(TestHarness harness) { harness.checkPoint("(String)"); MyJRadioButton b = new MyJRadioButton("ABC"); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor6(TestHarness harness) { harness.checkPoint("(String, boolean)"); MyJRadioButton b = new MyJRadioButton("ABC", false); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor7(TestHarness harness) { harness.checkPoint("(String, Icon)"); MyJRadioButton b = new MyJRadioButton("ABC", MetalIconFactory.getFileChooserDetailViewIcon()); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } public void testConstructor8(TestHarness harness) { harness.checkPoint("(String, Icon, boolean)"); MyJRadioButton b = new MyJRadioButton("ABC", MetalIconFactory.getFileChooserDetailViewIcon(), false); harness.check(b.getModel().getClass(), ToggleButtonModel.class); } }mauve-20140821/gnu/testlet/javax/swing/TransferHandler/0000755000175000001440000000000012375316426021555 5ustar dokousersmauve-20140821/gnu/testlet/javax/swing/TransferHandler/createTransferable.java0000644000175000001440000001535310515172540026212 0ustar dokousers/* createTransferable.java -- Tests TransferHandler.createTransferable() Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.TransferHandler; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; import java.io.IOException; import javax.swing.JComponent; import javax.swing.TransferHandler; import junit.framework.TestCase; /** * Tests the TransferHandler.createTransferable() method. */ public class createTransferable extends TestCase { /** * Overridden to make createTransferable() public for testing. */ private class TestTransferHandler extends TransferHandler { TestTransferHandler(String prop) { super(prop); } public Transferable createTransferable(JComponent comp) { return super.createTransferable(comp); } } public class TestComponent extends JComponent { private String value; public void setTestProperty(String val) { value = val; } public String getTestProperty() { return "HelloWorld"; } } /** * The transfer handler that we test. */ private TestTransferHandler transferHandler; /** * The component that is passed in the createTransferable() method. */ private JComponent component; public void setUp() { component = new TestComponent(); transferHandler = new TestTransferHandler("testProperty"); } public void tearDown() { component = null; transferHandler = null; } /** * Check what is returned when we initialize the TransferHandler with a * null property. */ public void testNullProperty() { transferHandler = new TestTransferHandler(null); Transferable transferable = transferHandler.createTransferable(component); assertNull(transferable); } public void testMissingGetter() { component = new JComponent() { String value; public void setTestProperty(String val) { value = val; } }; Transferable transferable = transferHandler.createTransferable(component); assertNull(transferable); } public void testMissingSetter() { component = new JComponent() { String value; public String getTestProperty() { return value; } }; Transferable transferable = transferHandler.createTransferable(component); assertNotNull(transferable); } public void testAllOk() { Transferable transferable = transferHandler.createTransferable(component); assertNotNull(transferable); } /** * Tests which transfer flavors are supported by the created Transferable. */ public void testTransferableTransferFlavors() { Transferable transferable = transferHandler.createTransferable(component); DataFlavor[] flavors = transferable.getTransferDataFlavors(); assertEquals(1, flavors.length); assertEquals("application/x-java-jvm-local-objectref; class=java.lang.String", flavors[0].getMimeType()); } public void testTransferableDataFlavorSupported() { Transferable transferable = transferHandler.createTransferable(component); try { // Primary type doesn't match. DataFlavor flavor = new DataFlavor("xyz/x-java-jvm-local-objectref; class=java.lang.String"); assertFalse(transferable.isDataFlavorSupported(flavor)); // Subtype type doesn't match. flavor = new DataFlavor("application/x-java-remote-object; class=java.lang.String"); assertFalse(transferable.isDataFlavorSupported(flavor)); // Representation class doesn't match. flavor = new DataFlavor("application/x-java-jvm-local-objectref; class=java.lang.Integer"); assertFalse(transferable.isDataFlavorSupported(flavor)); // Good match. flavor = new DataFlavor("application/x-java-jvm-local-objectref; class=java.lang.String"); assertTrue(transferable.isDataFlavorSupported(flavor)); } catch (ClassNotFoundException ex) { fail(ex.getMessage()); } } public void testTransferableTransferData() { Transferable transferable = transferHandler.createTransferable(component); // Try invalid data flavor. try { DataFlavor flavor = new DataFlavor("xyz/x-java-jvm-local-objectref; class=java.lang.String"); Object data = transferable.getTransferData(flavor); fail("UnsupportedOperationException must be thrown"); } catch (UnsupportedFlavorException ex) { // Ok. } catch (IOException ex) { fail("UnsupportedFlavorException must be thrown, no IOException"); } catch (ClassNotFoundException ex) { fail(ex.getMessage()); } // Try OK data flavor. try { DataFlavor flavor = new DataFlavor("application/x-java-jvm-local-objectref; class=java.lang.String"); Object data = transferable.getTransferData(flavor); assertEquals(data, "HelloWorld"); } catch (UnsupportedFlavorException ex) { fail("UnsupportedFlavorException must not be thrown"); } catch (IOException ex) { System.err.println(ex.getMessage()); fail("IOException must not be thrown"); } catch (ClassNotFoundException ex) { fail(ex.getMessage()); } // Try non-accessible component. component = new JComponent() { public String getTestProperty() { return "Hello World"; } }; transferable = transferHandler.createTransferable(component); try { DataFlavor flavor = new DataFlavor("application/x-java-jvm-local-objectref; class=java.lang.String"); Object data = transferable.getTransferData(flavor); fail("IOException must be thrown"); } catch (UnsupportedFlavorException ex) { fail("UnsupportedFlavorException must not be thrown"); } catch (IOException ex) { // Ok. } catch (ClassNotFoundException ex) { fail(ex.getMessage()); } } } mauve-20140821/gnu/testlet/javax/swing/TransferHandler/importData.java0000644000175000001440000001225210520630450024510 0ustar dokousers/* importData.java -- Tests the TransferHandler importData() method Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.TransferHandler; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; import java.io.IOException; import javax.swing.JComponent; import javax.swing.TransferHandler; import junit.framework.TestCase; import gnu.testlet.TestHarness; /** * Tests the TransferHandler.importData() method. */ public class importData extends TestCase { /** * Implements test properties in JComponent. */ public static class TestComponent extends JComponent { String property = null; public void setTestProperty(String prop) { property = prop; } public String getTestProperty() { return property; } } /** * A Transferable used for our tests. */ static class TestTransferable implements Transferable { public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException { return "Hello World"; } public DataFlavor[] getTransferDataFlavors() { try { DataFlavor flavor = new DataFlavor(DataFlavor.javaJVMLocalObjectMimeType + "; class=java.lang.String"); return new DataFlavor[]{ flavor }; } catch (ClassNotFoundException ex) { throw new InternalError(); } } public boolean isDataFlavorSupported(DataFlavor flavor) { return flavor.getPrimaryType().equals("application") && flavor.getSubType().equals("x-java-jvm-local-objectref") && flavor.getRepresentationClass().equals("java.lang.String"); } } /** * The component to which we transfer. */ private JComponent component; /** * The transfer handler that we use. */ private TransferHandler transferHandler; /** * The transferable that gets transferred. */ private Transferable transferable; /** * Sets up the test case. */ public void setUp() { component = new TestComponent(); transferHandler = new TransferHandler("testProperty"); transferable = new TestTransferable(); } /** * Tears down the test case. */ public void tearDown() { component = null; transferHandler = null; transferable = null; } /** * Tests a normal transfer. */ public void testOK() { boolean ok = transferHandler.importData(component, transferable); assertTrue(ok); assertEquals(((TestComponent) component).getTestProperty(), "Hello World"); } /** * Tests a transfer with a transferable that does not support the correct * flavor. */ public void testWrongFlavor() { transferable = new TestTransferable() { public DataFlavor[] getTransferDataFlavors() { return new DataFlavor[0]; } }; boolean ok = transferHandler.importData(component, transferable); assertFalse(ok); assertNull(((TestComponent) component).getTestProperty()); } /** * Tests a transfer to a component that doesn't have the correct property * write method. */ public void testInvalidWriter() { component = new JComponent() { public void setTestProperty(String prop, int i) { } public String getTestProperty() { return "test"; } }; boolean ok = transferHandler.importData(component, transferable); assertFalse(ok); } /** * Tests a transfer to a component without the property writer. */ public void testMissingPropertyWriter() { component = new JComponent() { public String getTestProperty() { return "test"; } }; boolean ok = transferHandler.importData(component, transferable); assertFalse(ok); } /** * Tests a transfer to a component without the property reader. */ public void testMissingPropertyReader() { component = new JComponent() { public void setTestProperty(String prop) { } }; boolean ok = transferHandler.importData(component, transferable); assertFalse(ok); } /** * Tests a transfer with a TransferHandler initialized with a null * property. */ public void testNullProperty() { transferHandler = new TransferHandler(null); boolean ok = transferHandler.importData(component, transferable); assertFalse(ok); } } mauve-20140821/gnu/testlet/javax/swing/TransferHandler/canImport.java0000644000175000001440000000766610514715627024372 0ustar dokousers/* canImport.java -- Checks the TransferHandler.canImport() method Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.TransferHandler; import java.awt.datatransfer.DataFlavor; import javax.swing.JComponent; import javax.swing.TransferHandler; import junit.framework.TestCase; /** * Checks the TransferHandler.canImport() method. */ public class canImport extends TestCase { /** * The component for which we transfer data. */ private JComponent component; private DataFlavor[] flavors; /** * The TransferHandler. */ private TransferHandler transferHandler; /** * Sets up the test environment. */ public void setUp() { component = new JComponent() { String value; public void setTestProperty(String val) { value = val; } public String getTestProperty() { return value; } }; transferHandler = new TransferHandler("testProperty"); try { DataFlavor flavor = new DataFlavor(DataFlavor.javaJVMLocalObjectMimeType + ";class=java.lang.String"); flavors = new DataFlavor[]{ flavor }; } catch (ClassNotFoundException x) { fail(x.getMessage()); } } /** * Clears the test environment. */ public void tearDown() { component = null; transferHandler = null; flavors = null; } /** * Test a component that doesn't have a property reader method. */ public void testComponentWithoutReader() { component = new JComponent() { String value; public void setTestProperty(String val) { value = val; } }; boolean result = transferHandler.canImport(component, flavors); assertFalse(result); } /** * Test a component that doesn't have a property writer method. */ public void testComponentWithoutWriter() { component = new JComponent() { String value; public String getTestProperty() { return value; } }; boolean result = transferHandler.canImport(component, flavors); assertFalse(result); } /** * Test a wrong mime type in the data flavor. */ public void testWrongMimeType() { DataFlavor flavor = DataFlavor.stringFlavor; flavors = new DataFlavor[]{ flavor }; boolean result = transferHandler.canImport(component, flavors); assertFalse(result); } /** * Test a wrong representation class in the data flavor. */ public void testWrongRepresentationClass() { try { DataFlavor flavor = new DataFlavor(DataFlavor.javaJVMLocalObjectMimeType + ";class=java.awt.Component"); flavors = new DataFlavor[]{ flavor }; } catch (ClassNotFoundException ex) { fail(ex.getMessage()); } boolean result = transferHandler.canImport(component, flavors); assertFalse(result); } /** * Tests the return value when all parameters are ok (the component has * the right properties, the dataflavor is of the correct mime-type and * representation class). */ public void testAllOK() { boolean result = transferHandler.canImport(component, flavors); assertTrue(result); } } mauve-20140821/gnu/testlet/javax/swing/TransferHandler/TransferActionConstructor.java0000644000175000001440000000236210361537636027614 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2006 Red Hat. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.javax.swing.TransferHandler; import javax.swing.Action; import javax.swing.TransferHandler; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Checks that the TransferAction constructor sets the Action.NAME property. */ public class TransferActionConstructor implements Testlet { public void test(TestHarness harness) { Action a = TransferHandler.getCopyAction(); harness.check (a.getValue(Action.NAME).equals("copy")); } } mauve-20140821/gnu/testlet/javax/swing/TransferHandler/exportToClipboard.java0000644000175000001440000001402510515234360026054 0ustar dokousers/* exportToClipboard.java -- Tests TransferHandler.exportToClipboard() Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.4 package gnu.testlet.javax.swing.TransferHandler; import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.ClipboardOwner; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.Transferable; import javax.swing.JComponent; import javax.swing.TransferHandler; import junit.framework.TestCase; /** * Tests TransferHandler.exportToClipboard(). */ public class exportToClipboard extends TestCase { /** * Overrides setContents() to enable us to check what is passed to * setContents(). */ private class TestClipboard extends Clipboard { TestClipboard() { super("DEFAULT"); } public void setContents(Transferable t, ClipboardOwner o) { super.setContents(t, o); clipboardOwner = o; } } /** * Overrides exportDone() to enable checking when this is called and what * is passed to it. */ private class TestTransferHandler extends TransferHandler { TestTransferHandler(String prop) { super(prop); } public void exportDone(JComponent c, Transferable t, int a) { exportDoneSource = c; exportDoneTransferable = t; exportDoneAction = a; } public int getSourceActions(JComponent c) { return sourceActions; } } /** * Adds a readonly property that returns a fixed value. */ public class TestComponent extends JComponent { public String getTestProperty() { return "HelloWorld"; } } // The value that will be returned by getSourceActions(), for testing. int sourceActions; // The values passed into exportDone for testing. JComponent exportDoneSource; Transferable exportDoneTransferable; int exportDoneAction; /** * The clipboard owner beeing passed to Clipboard.stContents(). */ ClipboardOwner clipboardOwner; /** * The transfer handler used in these tests. */ private TransferHandler transferHandler; /** * The component from which we export a property. */ private JComponent component; /** * The clipboard to use. */ private Clipboard clipboard; /** * Sets up the testcase. */ public void setUp() { transferHandler = new TestTransferHandler("testProperty"); component = new TestComponent(); clipboard = new TestClipboard(); exportDoneAction = -1; exportDoneSource = null; exportDoneTransferable = null; clipboardOwner = null; } /** * Tears down the testcase. */ public void tearDown() { transferHandler = null; component = null; clipboard = null; exportDoneAction = -1; exportDoneSource = null; exportDoneTransferable = null; clipboardOwner = null; } /** * Checks how 'intersecting' source actions are handled. */ public void testIntersectingSourceActions() { sourceActions = TransferHandler.COPY; transferHandler.exportToClipboard(component, clipboard, TransferHandler.MOVE); assertNull(clipboard.getContents(this)); assertEquals(component, exportDoneSource); assertNull(exportDoneTransferable); assertEquals(TransferHandler.NONE, exportDoneAction); } /** * Tests how a missing property getter method is handled. */ public void testMissingGetter() { component = new JComponent(){}; sourceActions = TransferHandler.COPY; transferHandler.exportToClipboard(component, clipboard, TransferHandler.COPY); assertNull(clipboard.getContents(this)); assertEquals(component, exportDoneSource); assertNull(exportDoneTransferable); assertEquals(TransferHandler.NONE, exportDoneAction); } /** * Tests how a normal transfer is performed. */ public void testNormalTransfer() { sourceActions = TransferHandler.COPY; transferHandler.exportToClipboard(component, clipboard, TransferHandler.COPY); assertEquals(component, exportDoneSource); assertNotNull(exportDoneTransferable); assertSame(exportDoneTransferable, clipboard.getContents(this)); try { DataFlavor flavor = new DataFlavor("application/x-java-jvm-local-objectref; class=java.lang.String"); assertEquals("HelloWorld", exportDoneTransferable.getTransferData(flavor)); } catch (Exception ex) { ex.printStackTrace(); fail(ex.getMessage()); } assertEquals(TransferHandler.COPY, exportDoneAction); assertNull(clipboardOwner); } /** * Tests how an IllegalStateException from the ClipBoard is handled. */ public void testIllegalStateException() { sourceActions = TransferHandler.COPY; clipboard = new Clipboard("DEFAULT") { public void setContents(Transferable t, ClipboardOwner o) { throw new IllegalStateException(); } }; try { transferHandler.exportToClipboard(component, clipboard, TransferHandler.COPY); fail("IllegalStateException must be thrown"); } catch (IllegalStateException ex) { // Ok. } assertEquals(component, exportDoneSource); assertNotNull(exportDoneTransferable); assertEquals(TransferHandler.NONE, exportDoneAction); } } mauve-20140821/gnu/testlet/javax/naming/0000755000175000001440000000000012375316426016615 5ustar dokousersmauve-20140821/gnu/testlet/javax/naming/CompoundName/0000755000175000001440000000000012375316426021202 5ustar dokousersmauve-20140821/gnu/testlet/javax/naming/CompoundName/simple.java0000644000175000001440000000730207354644531023342 0ustar dokousers// Simple tests of CompoundName // Copyright (C) 2001 Red Hat, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.3 package gnu.testlet.javax.naming.CompoundName; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.naming.*; import java.util.*; // This is just the CompositeName test, using a CompoundName set up // with the right syntax. public class simple implements Testlet { public void add (CompoundName n, String what) { // We always check the result of the add so we can just ignore the // exception. try { n.add (what); } catch (InvalidNameException _) { } } public void remove (CompoundName n, int pos) { // We always check the result of the remove so we can just ignore the // exception. try { n.remove (pos); } catch (InvalidNameException _) { } } public void test (TestHarness harness) { Properties syntax = new Properties (); syntax.setProperty ("jndi.syntax.direction", "left_to_right"); syntax.setProperty ("jndi.syntax.separator", "/"); syntax.setProperty ("jndi.syntax.escape", "\\"); syntax.setProperty ("jndi.syntax.beginquote", "\""); syntax.setProperty ("jndi.syntax.beginquote2", "'"); try { CompoundName cn1 = new CompoundName ("", syntax); CompoundName cn2 = new CompoundName ("", syntax); add (cn1, "x"); harness.check (! cn1.isEmpty (), "`x' CompoundName"); harness.check (cn1.size (), 1); harness.check (cn1.get (0), "x"); harness.check (cn1.toString (), "x"); add (cn1, "y"); harness.check (cn1.size (), 2, "`x/y' CompoundName"); harness.check (cn1.get (0), "x"); harness.check (cn1.get (1), "y"); harness.check (cn1.toString (), "x/y"); add (cn2, ""); harness.check (cn2.size (), 1, "`/' CompoundName"); harness.check (cn2.toString (), "/"); add (cn2, "x"); harness.check (cn2.size (), 2, "`/x' CompoundName"); harness.check (cn2.toString (), "/x"); add (cn2, ""); harness.check (cn2.size (), 3, "`/x/' CompoundName"); harness.check (cn2.toString (), "/x/"); add (cn2, "y"); harness.check (cn2.size (), 4, "`/x//y' CompoundName"); harness.check (cn2.toString (), "/x//y"); remove (cn2, 2); remove (cn2, 0); harness.check (cn2.size (), 2, "`x/y' CompoundName by removal"); harness.check (cn2.toString (), "x/y"); harness.check (cn1, cn2); add (cn1, "foo/bar"); harness.check (cn1.size (), 3, "quoting rule"); cn2 = new CompoundName (cn1.toString (), syntax); harness.check (cn2.size (), 3, "parsing with quoting"); harness.check (cn2.get (2), "foo/bar"); harness.check (cn1, cn2); cn2 = new CompoundName ("x/y/foo\\/bar", syntax); harness.check (cn1, cn2, "more parsing with quoting"); cn2 = new CompoundName ("x/y/\"foo/bar\"", syntax); harness.check (cn1, cn2); cn1 = new CompoundName ("//", syntax); harness.check (cn1.size (), 2, "parsing `//'"); harness.check (cn1.get (0), ""); harness.check (cn1.get (1), ""); } catch (NamingException _) { harness.debug (_); harness.fail ("NamingException caught"); } } } mauve-20140821/gnu/testlet/javax/naming/CompositeName/0000755000175000001440000000000012375316426021360 5ustar dokousersmauve-20140821/gnu/testlet/javax/naming/CompositeName/composite.java0000644000175000001440000000713607354644531024236 0ustar dokousers// Simple tests of CompositeName. // Copyright (C) 2001 Red Hat, Inc. // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.3 package gnu.testlet.javax.naming.CompositeName; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.naming.*; public class composite implements Testlet { public void add (CompositeName n, String what) { // We always check the result of the add so we can just ignore the // exception. try { n.add (what); } catch (InvalidNameException _) { } } public void remove (CompositeName n, int pos) { // We always check the result of the remove so we can just ignore the // exception. try { n.remove (pos); } catch (InvalidNameException _) { } } public void test (TestHarness harness) { try { CompositeName cn1 = new CompositeName (); CompositeName cn2 = new CompositeName (""); // There are plenty of empty checks. harness.check (cn1.toString (), "", "empty CompositeName"); harness.check (cn2.toString (), ""); harness.check (cn1, cn2); harness.check (cn1.isEmpty ()); harness.check (cn2.isEmpty ()); harness.check (cn1.size (), 0); harness.check (cn2.size (), 0); harness.check (cn1.startsWith (cn2)); harness.check (cn2.startsWith (cn1)); add (cn1, "x"); harness.check (! cn1.isEmpty (), "`x' CompositeName"); harness.check (cn1.size (), 1); harness.check (cn1.get (0), "x"); harness.check (cn1.toString (), "x"); add (cn1, "y"); harness.check (cn1.size (), 2, "`x/y' CompositeName"); harness.check (cn1.get (0), "x"); harness.check (cn1.get (1), "y"); harness.check (cn1.toString (), "x/y"); add (cn2, ""); harness.check (cn2.size (), 1, "`/' CompositeName"); harness.check (cn2.toString (), "/"); add (cn2, "x"); harness.check (cn2.size (), 2, "`/x' CompositeName"); harness.check (cn2.toString (), "/x"); add (cn2, ""); harness.check (cn2.size (), 3, "`/x/' CompositeName"); harness.check (cn2.toString (), "/x/"); add (cn2, "y"); harness.check (cn2.size (), 4, "`/x//y' CompositeName"); harness.check (cn2.toString (), "/x//y"); remove (cn2, 2); remove (cn2, 0); harness.check (cn2.size (), 2, "`x/y' CompositeName by removal"); harness.check (cn2.toString (), "x/y"); harness.check (cn1, cn2); add (cn1, "foo/bar"); harness.check (cn1.size (), 3, "quoting rule"); cn2 = new CompositeName (cn1.toString ()); harness.check (cn2.size (), 3, "parsing with quoting"); harness.check (cn2.get (2), "foo/bar"); harness.check (cn1, cn2); cn2 = new CompositeName ("x/y/foo\\/bar"); harness.check (cn1, cn2, "more parsing with quoting"); cn2 = new CompositeName ("x/y/\"foo/bar\""); harness.check (cn1, cn2); cn1 = new CompositeName ("//"); harness.check (cn1.size (), 2, "parsing `//'"); harness.check (cn1.get (0), ""); harness.check (cn1.get (1), ""); } catch (NamingException _) { harness.debug (_); harness.fail ("NamingException caught"); } } } mauve-20140821/gnu/testlet/javax/naming/directory/0000755000175000001440000000000012375316426020621 5ustar dokousersmauve-20140821/gnu/testlet/javax/naming/directory/BasicAttribute/0000755000175000001440000000000012375316426023526 5ustar dokousersmauve-20140821/gnu/testlet/javax/naming/directory/BasicAttribute/Enumerate.java0000644000175000001440000000276210414305615026313 0ustar dokousers/* Enumerate.java -- test BasicAttribute enumeration Copyright (C) 2006 Red Hat, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.3 package gnu.testlet.javax.naming.directory.BasicAttribute; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.naming.NamingEnumeration; import javax.naming.NamingException; import javax.naming.directory.BasicAttribute; public class Enumerate implements Testlet { public void test(TestHarness harness) { BasicAttribute b = new BasicAttribute("test"); b.add("two"); b.add("three"); boolean ok = true; NamingEnumeration e = null; try { e = b.getAll(); } catch (NamingException _) { harness.debug(_); ok = false; } harness.check(ok); harness.check(e.nextElement(), "two"); harness.check(e.nextElement(), "three"); harness.check(! e.hasMoreElements()); } } mauve-20140821/gnu/testlet/javax/imageio/0000755000175000001440000000000012375316426016756 5ustar dokousersmauve-20140821/gnu/testlet/javax/imageio/ImageIO/0000755000175000001440000000000012375316426020230 5ustar dokousersmauve-20140821/gnu/testlet/javax/imageio/ImageIO/Bitmap-16Bit.bmp0000644000175000001440000004010210410327035023006 0ustar dokousersBMB@B(@@øàA‚ÃE†ÇIŠË MŽÏQ’ÓU–×YšÛ]žß (08@ H P X ` hpx€ˆ˜ ¨°¸ÀÈÐØàèðø@€À!@)€1À9B@J€RÀZc@k€sÀ{„@Œ€”Àœ¥@­€µÀ½Æ@΀ÖÀÞç@ï€÷Àÿ c c c c c c c c c c c c c c c ccccccccccccccccA‚ÃE†ÇIŠË MŽÏQ’ÓU–×YšÛ]žß !"#$ %(&0'8(@)H*P+X,`-h.p/x0€1ˆ23˜4 5¨6°7¸8À9È:Ð;Ø<à=è>ð?ø@€À!@)€1À9B@J€RÀZc@k€sÀ{„@Œ€”Àœ¥@­€µÀ½Æ@΀ÖÀÞç@ï€÷Àÿ c c c c c c c c c c c c c c cccccccccccccccccA‚à E † Ç  I Š Ë M Ž Ï  Q ’ Ó  U – × YšÛ]žß@ABCD E(F0G8H@IHJPKXL`MhNpOxP€QˆRS˜T U¨V°W¸XÀYÈZÐ[Ø\à]è^ð_øAÁ!A)1Á9BAJRÁZcAksÁ{„AŒ”Áœ¥A­µÁ½ÆAÎÖÁÞçAï÷Áÿ c c c c c c c c c c c c c ccccccccccccccccccA‚à E † Ç  I Š Ë M Ž Ï  Q ’ Ó  U – × YšÛ]žß`abcd e(f0g8h@iHjPkXl`mhnpoxp€qˆrs˜t u¨v°w¸xÀyÈzÐ{Ø|à}è~ðøAÁ!A)1Á9BAJRÁZcAksÁ{„AŒ”Áœ¥A­µÁ½ÆAÎÖÁÞçAï÷Áÿ c c c c c c c c c c c c cccccccccccccccccccA‚ÃE†ÇIŠË MŽÏQ’ÓU–×YšÛ]žß€‚ƒ„ …(†0‡8ˆ@‰HŠP‹XŒ`hŽpx€‘ˆ’“˜” •¨–°—¸˜À™ÈšÐ›ØœàèžðŸøB‚Â!B)‚1Â9BBJ‚RÂZcBk‚sÂ{„BŒ‚”œ¥B­‚µÂ½ÆB΂ÖÂÞçBï‚÷Âÿ,c,c,c,c-c-c-c-c-c-c-c-c.c.c.c.c.c.c.c.c/c/c/c/c/c/c/c/c0c0c0cA‚ÃE†ÇIŠË MŽÏQ’ÓU–×YšÛ]žß ¡¢£¤ ¥(¦0§8¨@©HªP«X¬`­h®p¯x°€±ˆ²³˜´ µ¨¶°·¸¸À¹ÈºÐ»Ø¼à½è¾ð¿øB‚Â!B)‚1Â9BBJ‚RÂZcBk‚sÂ{„BŒ‚”œ¥B­‚µÂ½ÆB΂ÖÂÞçBï‚÷Âÿ,c,c,c-c-c-c-c-c-c-c-c.c.c.c.c.c.c.c.c/c/c/c/c/c/c/c/c0c0c0c0cA‚ÃE†ÇIŠË MŽÏQ’ÓU–×YšÛ]žßÀÁÂÃÄ Å(Æ0Ç8È@ÉHÊPËXÌ`ÍhÎpÏxЀшÒӘԠըְ׸ØÀÙÈÚÐÛØÜàÝèÞðßøCƒÃ!C)ƒ1Ã9BCJƒRÃZcCkƒsÃ{„CŒƒ”Ü¥C­ƒµÃ½ÆC΃ÖÃÞçCïƒ÷Ãÿ,c,c-c-c-c-c-c-c-c-c.c.c.c.c.c.c.c.c/c/c/c/c/c/c/c/c0c0c0c0c0cA‚ÃE†ÇIŠË MŽÏQ’ÓU–×YšÛ]žßàáâãä å(æ0ç8è@éHêPëXì`íhîpïxð€ñˆòó˜ô õ¨ö°÷¸øÀùÈúÐûØüàýèþðÿøCƒÃ!C)ƒ1Ã9BCJƒRÃZcCkƒsÃ{„CŒƒ”Ü¥C­ƒµÃ½ÆC΃ÖÃÞçCïƒ÷Ãÿ,c-c-c-c-c-c-c-c-c.c.c.c.c.c.c.c.c/c/c/c/c/c/c/c/c0c0c0c0c0c0c A ‚ à !E!†!Ç!"I"Š"Ë" #M#Ž#Ï#$Q$’$Ó$%U%–%×%&Y&š&Û&']'ž'ß' !)19A I Q Y a iqy‰‘™¡©±¹ÁÉÑÙáéñùD„Ä!D)„1Ä9BDJ„RÄZcDk„sÄ{„DŒ„”Äœ¥D­„µÄ½ÆD΄ÖÄÞçDï„÷ÄÿMkMkMkMkMkMkMkMkNkNkNkNkNkNkNkNkOkOkOkOkOkOkOkOkPkPkPkPkPkPkPk A ‚ à !E!†!Ç!"I"Š"Ë" #M#Ž#Ï#$Q$’$Ó$%U%–%×%&Y&š&Û&']'ž'ß' ! "#$!%)&1'9(A)I*Q+Y,a-i.q/y01‰2‘3™4¡5©6±7¹8Á9É:Ñ;Ù<á=é>ñ?ùD„Ä!D)„1Ä9BDJ„RÄZcDk„sÄ{„DŒ„”Äœ¥D­„µÄ½ÆD΄ÖÄÞçDï„÷ÄÿMkMkMkMkMkMkMkNkNkNkNkNkNkNkNkOkOkOkOkOkOkOkOkPkPkPkPkPkPkPkPk(A(‚(Ã()E)†)Ç)*I*Š*Ë* +M+Ž+Ï+,Q,’,Ó,-U-–-×-.Y.š.Û./]/ž/ß/@A BCD!E)F1G9HAIIJQKYLaMiNqOyPQ‰R‘S™T¡U©V±W¹XÁYÉZÑ[Ù\á]é^ñ_ùE…Å!E)…1Å9BEJ…RÅZcEk…sÅ{„EŒ…”Åœ¥E­…µÅ½ÆEÎ…ÖÅÞçEï…÷ÅÿMkMkMkMkMkMkNkNkNkNkNkNkNkNkOkOkOkOkOkOkOkOkPkPkPkPkPkPkPkPkQk(A(‚(Ã()E)†)Ç)*I*Š*Ë* +M+Ž+Ï+,Q,’,Ó,-U-–-×-.Y.š.Û./]/ž/ß/`a bcd!e)f1g9hAiIjQkYlaminqoypq‰r‘s™t¡u©v±w¹xÁyÉzÑ{Ù|á}é~ñùE…Å!E)…1Å9BEJ…RÅZcEk…sÅ{„EŒ…”Åœ¥E­…µÅ½ÆEÎ…ÖÅÞçEï…÷ÅÿMkMkMkMkMkNkNkNkNkNkNkNkNkOkOkOkOkOkOkOkOkPkPkPkPkPkPkPkPkQkQk0A0‚0Ã01E1†1Ç12I2Š2Ë2 3M3Ž3Ï34Q4’4Ó45U5–5×56Y6š6Û67]7ž7ß7€ ‚ƒ„!…)†1‡9ˆA‰IŠQ‹YŒaiŽqy‘‰’‘“™”¡•©–±—¹˜Á™ÉšÑ›ÙœáéžñŸùF†Æ!F)†1Æ9BFJ†RÆZcFk†sÆ{„FŒ†”Æœ¥F­†µÆ½ÆFÎ†ÖÆÞçFï†÷Æÿmkmkmkmknknknknknknknknkokokokokokokokokpkpkpkpkpkpkpkpkqkqkqk0A0‚0Ã01E1†1Ç12I2Š2Ë2 3M3Ž3Ï34Q4’4Ó45U5–5×56Y6š6Û67]7ž7ß7 ¡ ¢£¤!¥)¦1§9¨A©IªQ«Y¬a­i®q¯y°±‰²‘³™´¡µ©¶±·¹¸Á¹ÉºÑ»Ù¼á½é¾ñ¿ùF†Æ!F)†1Æ9BFJ†RÆZcFk†sÆ{„FŒ†”Æœ¥F­†µÆ½ÆFÎ†ÖÆÞçFï†÷Æÿmkmkmknknknknknknknknkokokokokokokokokpkpkpkpkpkpkpkpkqkqkqkqk8A8‚8Ã89E9†9Ç9:I:Š:Ë: ;M;Ž;Ï;Y>š>Û>?]?ž?ß?ÀÁ ÂÃÄ!Å)Æ1Ç9ÈAÉIÊQËYÌaÍiÎqÏyÐщґәԡթֱ׹ØÁÙÉÚÑÛÙÜáÝéÞñßùG‡Ç!G)‡1Ç9BGJ‡RÇZcGk‡sÇ{„GŒ‡”Çœ¥G­‡µÇ½ÆG·ÖÇÞçGï‡÷Çÿmkmknknknknknknknknkokokokokokokokokpkpkpkpkpkpkpkpkqkqkqkqkqk8A8‚8Ã89E9†9Ç9:I:Š:Ë: ;M;Ž;Ï;Y>š>Û>?]?ž?ß?àá âãä!å)æ1ç9èAéIêQëYìaíiîqïyðñ‰ò‘ó™ô¡õ©ö±÷¹øÁùÉúÑûÙüáýéþñÿùG‡Ç!G)‡1Ç9BGJ‡RÇZcGk‡sÇ{„GŒ‡”Çœ¥G­‡µÇ½ÆG·ÖÇÞçGï‡÷Çÿmknknknknknknknknkokokokokokokokokpkpkpkpkpkpkpkpkqkqkqkqkqkqk@A@‚@Ã@AEA†AÇABIBŠBËB CMCŽCÏCDQD’DÓDEUE–E×EFYFšFÛFG]GžGßG "*2:B J R Z b jrz‚Š’š¢ª²ºÂÊÒÚâêòúHˆÈ!H)ˆ1È9BHJˆRÈZcHkˆsÈ{„HŒˆ”Èœ¥H­ˆµÈ½ÆHΈÖÈÞçHïˆ÷ÈÿŽsŽsŽsŽsŽsŽsŽsŽsssssssssssssssss‘s‘s‘s‘s‘s‘s‘s@A@‚@Ã@AEA†AÇABIBŠBËB CMCŽCÏCDQD’DÓDEUE–E×EFYFšFÛFG]GžGßG ! "#$"%*&2':(B)J*R+Z,b-j.r/z0‚1Š2’3š4¢5ª6²7º8Â9Ê:Ò;Ú<â=ê>ò?úHˆÈ!H)ˆ1È9BHJˆRÈZcHkˆsÈ{„HŒˆ”Èœ¥H­ˆµÈ½ÆHΈÖÈÞçHïˆ÷ÈÿŽsŽsŽsŽsŽsŽsŽsssssssssssssssss‘s‘s‘s‘s‘s‘s‘s‘sHAH‚HÃHIEI†IÇIJIJŠJËJ KMKŽKÏKLQL’LÓLMUM–M×MNYNšNÛNO]OžOßO@A BCD"E*F2G:HBIJJRKZLbMjNrOzP‚QŠR’SšT¢UªV²WºXÂYÊZÒ[Ú\â]ê^ò_ú I‰É !I)‰1É9 BIJ‰RÉZ cIk‰sÉ{ „IŒ‰”Éœ ¥I­‰µÉ½ ÆIΉÖÉÞ çIï‰÷ÉÿŽsŽsŽsŽsŽsŽsssssssssssssssss‘s‘s‘s‘s‘s‘s‘s‘s’sHAH‚HÃHIEI†IÇIJIJŠJËJ KMKŽKÏKLQL’LÓLMUM–M×MNYNšNÛNO]OžOßO`a bcd"e*f2g:hBiJjRkZlbmjnrozp‚qŠr’sšt¢uªv²wºxÂyÊzÒ{Ú|â}ê~òú I‰É !I)‰1É9 BIJ‰RÉZ cIk‰sÉ{ „IŒ‰”Éœ ¥I­‰µÉ½ ÆIΉÖÉÞ çIï‰÷ÉÿŽsŽsŽsŽsŽsssssssssssssssss‘s‘s‘s‘s‘s‘s‘s‘s’s’sPAP‚PÃPQEQ†QÇQRIRŠRËR SMSŽSÏSTQT’TÓTUUU–U×UVYVšVÛVW]WžWßW€ ‚ƒ„"…*†2‡:ˆB‰JŠR‹ZŒbjŽrz‚‘Š’’“𔢕ª–²—º˜Â™ÊšÒ›ÚœâêžòŸú JŠÊ !J)Š1Ê9 BJJŠRÊZ cJkŠsÊ{ „JŒŠ”Êœ ¥J­ŠµÊ½ ÆJΊÖÊÞ çJïŠ÷Êÿ®s®s®s®s¯s¯s¯s¯s¯s¯s¯s¯s°s°s°s°s°s°s°s°s±s±s±s±s±s±s±s±s²s²s²sPAP‚PÃPQEQ†QÇQRIRŠRËR SMSŽSÏSTQT’TÓTUUU–U×UVYVšVÛVW]WžWßW ¡ ¢£¤"¥*¦2§:¨B©JªR«Z¬b­j®r¯z°‚±Š²’³š´¢µª¶²·º¸Â¹ÊºÒ»Ú¼â½ê¾ò¿ú JŠÊ !J)Š1Ê9 BJJŠRÊZ cJkŠsÊ{ „JŒŠ”Êœ ¥J­ŠµÊ½ ÆJΊÖÊÞ çJïŠ÷Êÿ®s®s®s¯s¯s¯s¯s¯s¯s¯s¯s°s°s°s°s°s°s°s°s±s±s±s±s±s±s±s±s²s²s²s²sXAX‚XÃXYEY†YÇYZIZŠZËZ [M[Ž[Ï[\Q\’\Ó\]U]–]×]^Y^š^Û^_]_ž_ß_ÀÁ ÂÃÄ"Å*Æ2Ç:ÈBÉJÊRËZÌbÍjÎrÏzЂъҒӚԢժֲ׺ØÂÙÊÚÒÛÚÜâÝêÞòßú K‹Ë !K)‹1Ë9 BKJ‹RËZ cKk‹sË{ „KŒ‹”Ëœ ¥K­‹µË½ ÆK΋ÖËÞ çKï‹÷Ëÿ®s®s¯s¯s¯s¯s¯s¯s¯s¯s°s°s°s°s°s°s°s°s±s±s±s±s±s±s±s±s²s²s²s²s²sXAX‚XÃXYEY†YÇYZIZŠZËZ [M[Ž[Ï[\Q\’\Ó\]U]–]×]^Y^š^Û^_]_ž_ß_àá âãä"å*æ2ç:èBéJêRëZìbíjîrïzð‚ñŠò’óšô¢õªö²÷ºøÂùÊúÒûÚüâýêþòÿú K‹Ë !K)‹1Ë9 BKJ‹RËZ cKk‹sË{ „KŒ‹”Ëœ ¥K­‹µË½ ÆK΋ÖËÞ çKï‹÷Ëÿ®s¯s¯s¯s¯s¯s¯s¯s¯s°s°s°s°s°s°s°s°s±s±s±s±s±s±s±s±s²s²s²s²s²s²s`A`‚`Ã`aEa†aÇabIbŠbËb cMcŽcÏcdQd’dÓdeUe–e×efYfšfÛfg]gžgßg #+3;C K S [ c ks{ƒ‹“›£«³»ÃËÓÛãëóû LŒÌ !L)Œ1Ì9 BLJŒRÌZ cLkŒsÌ{ „LŒŒ”Ìœ ¥L­ŒµÌ½ ÆLÎŒÖÌÞ çLïŒ÷ÌÿÏ{Ï{Ï{Ï{Ï{Ï{Ï{Ï{Ð{Ð{Ð{Ð{Ð{Ð{Ð{Ð{Ñ{Ñ{Ñ{Ñ{Ñ{Ñ{Ñ{Ñ{Ò{Ò{Ò{Ò{Ò{Ò{Ò{`A`‚`Ã`aEa†aÇabIbŠbËb cMcŽcÏcdQd’dÓdeUe–e×efYfšfÛfg]gžgßg ! "#$#%+&3';(C)K*S+[,c-k.s/{0ƒ1‹2“3›4£5«6³7»8Ã9Ë:Ó;Û<ã=ë>ó?û LŒÌ !L)Œ1Ì9 BLJŒRÌZ cLkŒsÌ{ „LŒŒ”Ìœ ¥L­ŒµÌ½ ÆLÎŒÖÌÞ çLïŒ÷ÌÿÏ{Ï{Ï{Ï{Ï{Ï{Ï{Ð{Ð{Ð{Ð{Ð{Ð{Ð{Ð{Ñ{Ñ{Ñ{Ñ{Ñ{Ñ{Ñ{Ñ{Ò{Ò{Ò{Ò{Ò{Ò{Ò{Ò{hAh‚hÃhiEi†iÇijIjŠjËj kMkŽkÏklQl’lÓlmUm–m×mnYnšnÛno]ožoßo@A BCD#E+F3G;HCIKJSK[LcMkNsO{PƒQ‹R“S›T£U«V³W»XÃYËZÓ[Û\ã]ë^ó_û MÍ !M)1Í9 BMJRÍZ cMksÍ{ „MŒ”Íœ ¥M­µÍ½ ÆMÎÖÍÞ çMï÷ÍÿÏ{Ï{Ï{Ï{Ï{Ï{Ð{Ð{Ð{Ð{Ð{Ð{Ð{Ð{Ñ{Ñ{Ñ{Ñ{Ñ{Ñ{Ñ{Ñ{Ò{Ò{Ò{Ò{Ò{Ò{Ò{Ò{Ó{hAh‚hÃhiEi†iÇijIjŠjËj kMkŽkÏklQl’lÓlmUm–m×mnYnšnÛno]ožoßo`a bcd#e+f3g;hCiKjSk[lcmknso{pƒq‹r“s›t£u«v³w»xÃyËzÓ{Û|ã}ë~óû MÍ !M)1Í9 BMJRÍZ cMksÍ{ „MŒ”Íœ ¥M­µÍ½ ÆMÎÖÍÞ çMï÷ÍÿÏ{Ï{Ï{Ï{Ï{Ð{Ð{Ð{Ð{Ð{Ð{Ð{Ð{Ñ{Ñ{Ñ{Ñ{Ñ{Ñ{Ñ{Ñ{Ò{Ò{Ò{Ò{Ò{Ò{Ò{Ò{Ó{Ó{pAp‚pÃpqEq†qÇqrIrŠrËr sMsŽsÏstQt’tÓtuUu–u×uvYvšvÛvw]wžwßw€ ‚ƒ„#…+†3‡;ˆC‰KŠS‹[ŒckŽs{ƒ‘‹’““›”£•«–³—»˜Ã™ËšÓ›ÛœãëžóŸûNŽÎ!N)Ž1Î9BNJŽRÎZcNkŽsÎ{„NŒŽ”Μ¥N­ŽµÎ½ÆNÎŽÖÎÞçNïŽ÷Îÿï{ï{ï{ï{ð{ð{ð{ð{ð{ð{ð{ð{ñ{ñ{ñ{ñ{ñ{ñ{ñ{ñ{ò{ò{ò{ò{ò{ò{ò{ò{ó{ó{ó{pAp‚pÃpqEq†qÇqrIrŠrËr sMsŽsÏstQt’tÓtuUu–u×uvYvšvÛvw]wžwßw ¡ ¢£¤#¥+¦3§;¨C©KªS«[¬c­k®s¯{°ƒ±‹²“³›´£µ«¶³·»¸Ã¹ËºÓ»Û¼ã½ë¾ó¿ûNŽÎ!N)Ž1Î9BNJŽRÎZcNkŽsÎ{„NŒŽ”Μ¥N­ŽµÎ½ÆNÎŽÖÎÞçNïŽ÷Îÿï{ï{ï{ð{ð{ð{ð{ð{ð{ð{ð{ñ{ñ{ñ{ñ{ñ{ñ{ñ{ñ{ò{ò{ò{ò{ò{ò{ò{ò{ó{ó{ó{ó{xAx‚xÃxyEy†yÇyzIzŠzËz {M{Ž{Ï{|Q|’|Ó|}U}–}×}~Y~š~Û~]žßÀÁ ÂÃÄ#Å+Æ3Ç;ÈCÉKÊSË[ÌcÍkÎsÏ{Ѓығӛԣիֳ׻ØÃÙËÚÓÛÛÜãÝëÞóßûOÏ!O)1Ï9BOJRÏZcOksÏ{„OŒ”Ïœ¥O­µÏ½ÆOÎÖÏÞçOï÷Ïÿï{ï{ð{ð{ð{ð{ð{ð{ð{ð{ñ{ñ{ñ{ñ{ñ{ñ{ñ{ñ{ò{ò{ò{ò{ò{ò{ò{ò{ó{ó{ó{ó{ó{xAx‚xÃxyEy†yÇyzIzŠzËz {M{Ž{Ï{|Q|’|Ó|}U}–}×}~Y~š~Û~]žßàá âãä#å+æ3ç;èCéKêSë[ìcíkîsï{ðƒñ‹ò“ó›ô£õ«ö³÷»øÃùËúÓûÛüãýëþóÿûOÏ!O)1Ï9BOJRÏZcOksÏ{„OŒ”Ïœ¥O­µÏ½ÆOÎÖÏÞçOï÷Ïÿï{ð{ð{ð{ð{ð{ð{ð{ð{ñ{ñ{ñ{ñ{ñ{ñ{ñ{ñ{ò{ò{ò{ò{ò{ò{ò{ò{ó{ó{ó{ó{ó{ó{€A€‚€Ã€E†Ç‚I‚Š‚Ë‚ ƒMƒŽƒÏƒ„Q„’„Ó„…U…–…×…†Y†š†Û†‡]‡ž‡ß‡ $,4<D L T \ d lt|„Œ”œ¤¬´¼ÄÌÔÜäìôüPÐ!P)1Ð9BPJRÐZcPksÐ{„PŒ”М¥P­µÐ½ÆPÎÖÐÞçPï÷Ðÿ„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„€A€‚€Ã€E†Ç‚I‚Š‚Ë‚ ƒMƒŽƒÏƒ„Q„’„Ó„…U…–…×…†Y†š†Û†‡]‡ž‡ß‡ ! "#$$%,&4'<(D)L*T+\,d-l.t/|0„1Œ2”3œ4¤5¬6´7¼8Ä9Ì:Ô;Ü<ä=ì>ô?üPÐ!P)1Ð9BPJRÐZcPksÐ{„PŒ”М¥P­µÐ½ÆPÎÖÐÞçPï÷Ðÿ„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„ˆAˆ‚ˆÃˆ‰E‰†‰Ç‰ŠIŠŠŠËŠ ‹M‹Ž‹Ï‹ŒQŒ’ŒÓŒU–׎YŽšŽÛŽ]žß@A BCD$E,F4Gõ?ýT”Ô!T)”1Ô9BTJ”RÔZcTk”sÔ{„TŒ””Ôœ¥T­”µÔ½ÆTΔÖÔÞçTï”÷ÔÿQŒQŒQŒQŒQŒQŒQŒRŒRŒRŒRŒRŒRŒRŒRŒSŒSŒSŒSŒSŒSŒSŒSŒTŒTŒTŒTŒTŒTŒTŒTŒ¨A¨‚¨Ã¨©E©†©Ç©ªIªŠªËª «M«Ž«Ï«¬Q¬’¬Ó¬­U­–­×­®Y®š®Û®¯]¯ž¯ß¯@A BCD%E-F5G=HEIMJUK]LeMmNuO}P…QR•ST¥U­VµW½XÅYÍZÕ[Ý\å]í^õ_ýU•Õ!U)•1Õ9BUJ•RÕZcUk•sÕ{„UŒ•”Õœ¥U­•µÕ½ÆUΕÖÕÞçUï•÷ÕÿQŒQŒQŒQŒQŒQŒRŒRŒRŒRŒRŒRŒRŒRŒSŒSŒSŒSŒSŒSŒSŒSŒTŒTŒTŒTŒTŒTŒTŒTŒUŒ¨A¨‚¨Ã¨©E©†©Ç©ªIªŠªËª «M«Ž«Ï«¬Q¬’¬Ó¬­U­–­×­®Y®š®Û®¯]¯ž¯ß¯`a bcd%e-f5g=hEiMjUk]lemmnuo}p…qr•st¥u­vµw½xÅyÍzÕ{Ý|å}í~õýU•Õ!U)•1Õ9BUJ•RÕZcUk•sÕ{„UŒ•”Õœ¥U­•µÕ½ÆUΕÖÕÞçUï•÷ÕÿQŒQŒQŒQŒQŒRŒRŒRŒRŒRŒRŒRŒRŒSŒSŒSŒSŒSŒSŒSŒSŒTŒTŒTŒTŒTŒTŒTŒTŒUŒUŒ°A°‚°Ã°±E±†±Ç±²I²Š²Ë² ³M³Ž³Ï³´Q´’´Ó´µUµ–µ×µ¶Y¶š¶Û¶·]·ž·ß·€ ‚ƒ„%…-†5‡=ˆE‰MŠU‹]ŒemŽu}…‘’•“”¥•­–µ—½˜Å™ÍšÕ›ÝœåížõŸýV–Ö!V)–1Ö9BVJ–RÖZcVk–sÖ{„VŒ–”Öœ¥V­–µÖ½ÆVΖÖÖÞçVï–÷ÖÿqŒqŒqŒqŒrŒrŒrŒrŒrŒrŒrŒrŒsŒsŒsŒsŒsŒsŒsŒsŒtŒtŒtŒtŒtŒtŒtŒtŒuŒuŒuŒ°A°‚°Ã°±E±†±Ç±²I²Š²Ë² ³M³Ž³Ï³´Q´’´Ó´µUµ–µ×µ¶Y¶š¶Û¶·]·ž·ß· ¡ ¢£¤%¥-¦5§=¨E©MªU«]¬e­m®u¯}°…±²•³´¥µ­¶µ·½¸Å¹ÍºÕ»Ý¼å½í¾õ¿ýV–Ö!V)–1Ö9BVJ–RÖZcVk–sÖ{„VŒ–”Öœ¥V­–µÖ½ÆVΖÖÖÞçVï–÷ÖÿqŒqŒqŒrŒrŒrŒrŒrŒrŒrŒrŒsŒsŒsŒsŒsŒsŒsŒsŒtŒtŒtŒtŒtŒtŒtŒtŒuŒuŒuŒuŒ¸A¸‚¸Ã¸¹E¹†¹Ç¹ºIºŠºËº »M»Ž»Ï»¼Q¼’¼Ó¼½U½–½×½¾Y¾š¾Û¾¿]¿ž¿ß¿ÀÁ ÂÃÄ%Å-Æ5Ç=ÈEÉMÊUË]ÌeÍmÎuÏ}Ð…ÑÒ•ÓÔ¥Õ­Öµ×½ØÅÙÍÚÕÛÝÜåÝíÞõßýW—×!W)—1×9BWJ—R×ZcWk—s×{„WŒ—”ל¥W­—µ×½ÆWΗÖ×ÞçWï—÷×ÿqŒqŒrŒrŒrŒrŒrŒrŒrŒrŒsŒsŒsŒsŒsŒsŒsŒsŒtŒtŒtŒtŒtŒtŒtŒtŒuŒuŒuŒuŒuŒ¸A¸‚¸Ã¸¹E¹†¹Ç¹ºIºŠºËº »M»Ž»Ï»¼Q¼’¼Ó¼½U½–½×½¾Y¾š¾Û¾¿]¿ž¿ß¿àá âãä%å-æ5ç=èEéMêUë]ìeímîuï}ð…ñò•óô¥õ­öµ÷½øÅùÍúÕûÝüåýíþõÿýW—×!W)—1×9BWJ—R×ZcWk—s×{„WŒ—”ל¥W­—µ×½ÆWΗÖ×ÞçWï—÷×ÿqŒrŒrŒrŒrŒrŒrŒrŒrŒsŒsŒsŒsŒsŒsŒsŒsŒtŒtŒtŒtŒtŒtŒtŒtŒuŒuŒuŒuŒuŒuŒÀAÀ‚ÀÃÀÁEÁ†ÁÇÁÂIŠÂË ÃMÃŽÃÏÃÄQÄ’ÄÓÄÅUÅ–Å×ÅÆYÆšÆÛÆÇ]ÇžÇßÇ&.6>F N V ^ f nv~†Ž–ž¦®¶¾ÆÎÖÞæîöþX˜Ø!X)˜1Ø9BXJ˜RØZcXk˜sØ{„XŒ˜”Øœ¥X­˜µØ½ÆXÎ˜ÖØÞçXï˜÷Øÿ’”’”’”’”’”’”’”’”“”“”“”“”“”“”“”“”””””””””””””””””•”•”•”•”•”•”•”ÀAÀ‚ÀÃÀÁEÁ†ÁÇÁÂIŠÂË ÃMÃŽÃÏÃÄQÄ’ÄÓÄÅUÅ–Å×ÅÆYÆšÆÛÆÇ]ÇžÇßÇ !"#$&%.&6'>(F)N*V+^,f-n.v/~0†1Ž2–3ž4¦5®6¶7¾8Æ9Î:Ö;Þ<æ=î>ö?þX˜Ø!X)˜1Ø9BXJ˜RØZcXk˜sØ{„XŒ˜”Øœ¥X­˜µØ½ÆXÎ˜ÖØÞçXï˜÷Øÿ’”’”’”’”’”’”’”“”“”“”“”“”“”“”“”””””””””””””””””•”•”•”•”•”•”•”•”ÈAÈ‚ÈÃÈÉEɆÉÇÉÊIÊŠÊËÊ ËMËŽËÏËÌQÌ’ÌÓÌÍUÍ–Í×ÍÎYΚÎÛÎÏ]ÏžÏßÏ@ABCD&E.F6G>HFINJVK^LfMnNvO~P†QŽR–SžT¦U®V¶W¾XÆYÎZÖ[Þ\æ]î^ö_þY™Ù!Y)™1Ù9BYJ™RÙZcYk™sÙ{„YŒ™”Ùœ¥Y­™µÙ½ÆYΙÖÙÞçYï™÷Ùÿ’”’”’”’”’”’”“”“”“”“”“”“”“”“”””””””””””””””””•”•”•”•”•”•”•”•”–”ÈAÈ‚ÈÃÈÉEɆÉÇÉÊIÊŠÊËÊ ËMËŽËÏËÌQÌ’ÌÓÌÍUÍ–Í×ÍÎYΚÎÛÎÏ]ÏžÏßÏ`abcd&e.f6g>hFiNjVk^lfmnnvo~p†qŽr–sžt¦u®v¶w¾xÆyÎzÖ{Þ|æ}î~öþY™Ù!Y)™1Ù9BYJ™RÙZcYk™sÙ{„YŒ™”Ùœ¥Y­™µÙ½ÆYΙÖÙÞçYï™÷Ùÿ’”’”’”’”’”“”“”“”“”“”“”“”“”””””””””””””””””•”•”•”•”•”•”•”•”–”–”ÐAЂÐÃÐÑEцÑÇÑÒIÒŠÒËÒ ÓMÓŽÓÏÓÔQÔ’ÔÓÔÕUÕ–Õ×ÕÖYÖšÖÛÖ×]מ×ß×€‚ƒ„&….†6‡>ˆF‰NŠV‹^ŒfnŽv~†‘Ž’–“ž”¦•®–¶—¾˜Æ™ÎšÖ›ÞœæîžöŸþZšÚ!Z)š1Ú9BZJšRÚZcZkšsÚ{„ZŒš”Úœ¥Z­šµÚ½ÆZΚÖÚÞçZïš÷Úÿ²”²”²”²”³”³”³”³”³”³”³”³”´”´”´”´”´”´”´”´”µ”µ”µ”µ”µ”µ”µ”µ”¶”¶”¶”ÐAЂÐÃÐÑEцÑÇÑÒIÒŠÒËÒ ÓMÓŽÓÏÓÔQÔ’ÔÓÔÕUÕ–Õ×ÕÖYÖšÖÛÖ×]מ×ß× ¡¢£¤&¥.¦6§>¨F©NªV«^¬f­n®v¯~°†±Ž²–³ž´¦µ®¶¶·¾¸Æ¹ÎºÖ»Þ¼æ½î¾ö¿þZšÚ!Z)š1Ú9BZJšRÚZcZkšsÚ{„ZŒš”Úœ¥Z­šµÚ½ÆZΚÖÚÞçZïš÷Úÿ²”²”²”³”³”³”³”³”³”³”³”´”´”´”´”´”´”´”´”µ”µ”µ”µ”µ”µ”µ”µ”¶”¶”¶”¶”ØAØ‚ØÃØÙEÙ†ÙÇÙÚIÚŠÚËÚ ÛMÛŽÛÏÛÜQÜ’ÜÓÜÝUÝ–Ý×ÝÞYÞšÞÛÞß]ßžßßßÀÁÂÃÄ&Å.Æ6Ç>ÈFÉNÊVË^ÌfÍnÎvÏ~Ð†ÑŽÒ–ÓžÔ¦Õ®Ö¶×¾ØÆÙÎÚÖÛÞÜæÝîÞößþ[›Û![)›1Û9B[J›RÛZc[k›sÛ{„[Œ›”Ûœ¥[­›µÛ½Æ[ΛÖÛÞç[ï›÷Ûÿ²”²”³”³”³”³”³”³”³”³”´”´”´”´”´”´”´”´”µ”µ”µ”µ”µ”µ”µ”µ”¶”¶”¶”¶”¶”ØAØ‚ØÃØÙEÙ†ÙÇÙÚIÚŠÚËÚ ÛMÛŽÛÏÛÜQÜ’ÜÓÜÝUÝ–Ý×ÝÞYÞšÞÛÞß]ßžßßßàáâãä&å.æ6ç>èFéNêVë^ìfínîvï~ð†ñŽò–óžô¦õ®ö¶÷¾øÆùÎúÖûÞüæýîþöÿþ[›Û![)›1Û9B[J›RÛZc[k›sÛ{„[Œ›”Ûœ¥[­›µÛ½Æ[ΛÖÛÞç[ï›÷Ûÿ²”³”³”³”³”³”³”³”³”´”´”´”´”´”´”´”´”µ”µ”µ”µ”µ”µ”µ”µ”¶”¶”¶”¶”¶”¶”àAà‚àÃàáEá†áÇáâIâŠâËâ ãMãŽãÏãäQä’äÓäåUå–å×åæYæšæÛæç]çžçßç'/7?G O W _ g ow‡—Ÿ§¯·¿ÇÏ×ßçï÷ÿ\œÜ!\)œ1Ü9B\JœRÜZc\kœsÜ{„\Œœ”Üœ¥\­œµÜ½Æ\ΜÖÜÞç\ïœ÷ÜÿӜӜӜӜӜӜӜӜԜԜԜԜԜԜԜԜ՜՜՜՜՜՜՜՜֜֜֜֜֜֜֜Qä’äÓäåUå–å×åæYæšæÛæç]çžçßç !"#$'%/&7'?(G)O*W+_,g-o.w/0‡12—3Ÿ4§5¯6·7¿8Ç9Ï:×;ß<ç=ï>÷?ÿ\œÜ!\)œ1Ü9B\JœRÜZc\kœsÜ{„\Œœ”Üœ¥\­œµÜ½Æ\ΜÖÜÞç\ïœ÷ÜÿӜӜӜӜӜӜӜԜԜԜԜԜԜԜԜ՜՜՜՜՜՜՜՜֜֜֜֜֜֜֜֜ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿQì’ìÓìíUí–í×íîYîšîÛîï]ïžïßï@ABCD'E/F7G?HGIOJWK_LgMoNwOP‡QR—SŸT§U¯V·W¿XÇYÏZ×[ß\ç]ï^÷_ÿ]Ý!])1Ý9B]JRÝZc]ksÝ{„]Œ”Ýœ¥]­µÝ½Æ]ÎÖÝÞç]ï÷ÝÿӜӜӜӜӜӜԜԜԜԜԜԜԜԜ՜՜՜՜՜՜՜՜֜֜֜֜֜֜֜֜לÿÿÿÿÿÿÿÿQì’ìÓìíUí–í×íîYîšîÛîï]ïžïßï`abcd'e/f7g?hGiOjWk_lgmonwop‡qr—sŸt§u¯v·w¿xÇyÏz×{ß|ç}ï~÷ÿ]Ý!])1Ý9B]JRÝZc]ksÝ{„]Œ”Ýœ¥]­µÝ½Æ]ÎÖÝÞç]ï÷ÝÿӜӜӜӜӜԜԜԜԜԜԜԜԜ՜՜՜՜՜՜՜՜֜֜֜֜֜֜֜֜ללÿÿÿÿÿÿÿÿÿÿÿÿÿÿQô’ôÓôõUõ–õ×õöYöšöÛö÷]÷ž÷ß÷€‚ƒ„'…/†7‡?ˆG‰OŠW‹_ŒgoŽw‡‘’—“Ÿ”§•¯–·—¿˜Ç™Ïš×›ßœçïž÷Ÿÿ^žÞ!^)ž1Þ9B^JžRÞZc^kžsÞ{„^Œž”Þœ¥^­žµÞ½Æ^ΞÖÞÞç^ïž÷Þÿóœóœóœóœôœôœôœôœôœôœôœôœõœõœõœõœõœõœõœõœöœöœöœöœöœöœöœöœ÷œ÷œ÷œÿÿÿÿÿÿÿÿQô’ôÓôõUõ–õ×õöYöšöÛö÷]÷ž÷ß÷ ¡¢£¤'¥/¦7§?¨G©OªW«_¬g­o®w¯°‡±²—³Ÿ´§µ¯¶··¿¸Ç¹Ïº×»ß¼ç½ï¾÷¿ÿ^žÞ!^)ž1Þ9B^JžRÞZc^kžsÞ{„^Œž”Þœ¥^­žµÞ½Æ^ΞÖÞÞç^ïž÷Þÿóœóœóœôœôœôœôœôœôœôœôœõœõœõœõœõœõœõœõœöœöœöœöœöœöœöœöœ÷œ÷œ÷œ÷œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿQü’üÓüýUý–ý×ýþYþšþÛþÿ]ÿžÿßÿÀÁÂÃÄ'Å/Æ7Ç?ÈGÉOÊWË_ÌgÍoÎwÏЇÑҗӟԧկַ׿ØÇÙÏÚ×ÛßÜçÝïÞ÷ßÿ_Ÿß!_)Ÿ1ß9B_JŸRßZc_kŸsß{„_ŒŸ”ßœ¥_­Ÿµß½Æ_ΟÖßÞç_ïŸ÷ßÿóœóœôœôœôœôœôœôœôœôœõœõœõœõœõœõœõœõœöœöœöœöœöœöœöœöœ÷œ÷œ÷œ÷œ÷œQü’üÓüýUý–ý×ýþYþšþÛþÿ]ÿžÿßÿàáâãä'å/æ7ç?èGéOêWë_ìgíoîwïð‡ñò—óŸô§õ¯ö·÷¿øÇùÏú×ûßüçýïþ÷ÿÿ_Ÿß!_)Ÿ1ß9B_JŸRßZc_kŸsß{„_ŒŸ”ßœ¥_­Ÿµß½Æ_ΟÖßÞç_ïŸ÷ßÿóœôœôœôœôœôœôœôœôœõœõœõœõœõœõœõœõœöœöœöœöœöœöœöœöœ÷œ÷œ÷œ÷œ÷œ÷œmauve-20140821/gnu/testlet/javax/imageio/ImageIO/Bitmap-32Bit.png0000644000175000001440000000055511632167152023033 0ustar dokousers‰PNG  IHDR@3‘¨ksBIT|dˆ$IDATxÚí×Q ‚@ÐÙÚÀ£{>¼V,?¢E*#Ñ}#£èú1Ì[]Í1ÄÊèÛ6¢i¾Êœ›ØtËùÛÒ’]w}t0m’yĆ—Jéãó~Õ̉cÛÊ^þ;r :KÔ2¦cåýðwŒ¿TT þ,r:)àî-°T(ü>ùsk<üâ¿»ÞÏ]ƒ¿SüÛ¸_ù¿§ø•÷>|øðáÇ>|øðáÇ>|øðáÇ>|øðáÇ>|øðáÇ>|øðá×€ðëÅ?ïÿ¿^ü ||ðáÇ>|øðáÇ>|øðáÇ>|øðáÇ>|øðáÇ>|øðáÇ>|øðáÇ>ü½áß°“ _VgÿcIEND®B`‚mauve-20140821/gnu/testlet/javax/imageio/ImageIO/Bitmap-1Bit.png0000644000175000001440000000413611632167152022746 0ustar dokousers‰PNG  IHDRȉ^‚‡ePLTEÿÿÿ¥ÙŸÝIDATxÚÕ\í¶Ü6dÞÿ¥ûãfm@B2òn7§'mr»öxøE"ßùàß A € øÈß ý™@~ ÊNE>H®ß_»EJŽCäËÈ«–…uóHþþôwò£ÜæÅf¥I³@ðò ®2"!Ž3ÿF‡¨ÛU€~ˆ£Dèn‰ì¸á«¼è8¬ï’#Gî_rgÆ Íü¸iÁ$x}ߊ;¡#ï’²a\úÙC+ Üðϻ˶Çfw!‘+³›z…CÝY(ºˆÊžþAÄDΔ-0Îk/ÀV\a |¹ˆaú‡M^=esA8TÈÆ•^˜Á“plâ_55måóùP;s®Eñ8Tªƒ‹¨$ íPþY‰/ï‹ñW@RÎѳ,PœD[d„Zr¹ö6è2ä–5 ÖªlYpÖIT=øҾ숳C¢ì¦±¸»Ù¢¿íPÜ‚ÉÔ¢¤Y ÔÑœœÊŒŸ\üqô4²`é>¬·Ô7(,ÙòFýÒy>uÒí'&^®@ùIôÆ¡…~ R47É|Å6(o¥’/6°6Ë(’þ(#AöÕÖä·Á&1’ÜQ©%Á—€p«8’q朜áu޳0Fµ òùÕ F ™é€¤Œ;%Çúózµ³ð,“‰â?î!@Ò2+%p­¾yÊg¿CZHM¥x“2íH`†•â.XzˆäP?;naYjÀþnÇàZ‚KÕl FÐ Cîg¤óë H*Œôr2bºgzFʦ…Θ>szxËB`Á´š·«33«É&œO¢VާZÙ:L»šlÉÙÑGˆ!‚ÇNÏ.…l÷I²áÄ^ÕîgAOû¸²–ñûPµRÅ:r¯tÜií¦Š¨—ôۦ߈;“í6u^–CO [K¡#]„([…|;Õ‘VQ×:žª=/JÏ2’ô»ÍuiiгoN¼3c=0e z/׸=¥!ÏÁ–!‰Pâp0_R| 0Ïö‹ph‚7Mˆ³jcCÓ¬œZ‰TòŸEðÈ1Ì æ¡=ÝÌ€ð6ÂPFm`!ø§ÏpÂ;Ѥ\%ÉV$æ ì0‡ “‰›ó Ÿö©Ï†àlßçdÑÀpb‹©¬}U¶’¾…n2(ÌG×$õ7Y™Ðh…2A𯴶Øã%Ó‰{êŸnû®k©]ÑF_,좕‰M+ûs]É"óoh­µ ÃÝLgY*ôFA9Æíª¹–ð¡ë5 p[B"…Þº+t'%¼ß꺫O/Lá=Äætº1ØŒ(ÑÏÙÉf‡ÍUÒ0h X=‘ ‘d«“ˆÄ© B"÷\릂 $pWF8»|3‰Û.œã0mNn˜—ÏÙO>õ¤Vç¾.·@ Q ïfö‰‰kõ®G̈¹&Ø®$E¦òú¦VßÓ~|8°%g àŠ>\czº«Œ÷Ä2^ó¿ 6ÿ` I†{6Œ–ÁK‹s͇ Qçµ÷øóel bkŠKa†Û| Î5™å(šëIü¿*MÑÇôMéϰ­Á—{Á´‚ÓaØDE%ÖdŒ3es9f¸yZKð§}ø‹ï ´u;DÁ’,Õäøì#ŠÔA­ P)œ¿óÂÀ5 Š6úv‚è!!:…v”fÄ/Šä«ñp;5¥Ò¢Œ«QyðJKRÑ6ÅääbaÿÎof !0< VÖÚÜ9ð]HZý>œÝ±ï’_!<ÈgVq eÅáÖÌgL!…+Þx©fÆÇ l'¿Z9"DŒá±dVCÆŒ^$,Ú=ëd~5Ðê¦+ƒãÓ¥ÜHï×¼y/ê¶#)bÇ®|dÎNl±c%Dðm•ÎË쟤{6­DºGiC¡½æ‘—ŒºRxI• YØýÇœ4¡—v=p+O–Õl‰â^FšEñ<ÍÊVâ†Á¾d„î(:Œ6;ª¥ö®¬–Üäî’xtÆUO›ô:ûuˆ%6;ƒªÑz~už¶Ôgßâ¤\¥HôPE)µ¸ÖœkFa×åù¬ÝY¼ÌDöޱ\ðÚ òµ…£²XCÒ·Œ8³elRôDq³I¼J´€(½÷È´žîŠNƒþ’Ìßu–Í'çû@’-fìÈ·ŽN°7åˆ µ¯`ž@q½CF{tO‘´PY¤DF{t‚/`ÙË"Ùë ¾ÇÈ:/F8¼€ô{Ö¾ 5Bò61K$èæ³È·Ùhi0¢Dtî`ÕçÇòÇÛ¢‘ ö%ôÚ¢´Ío"d挨þ-rvpŒÇ†¼·bS‹Ã!‹@0~Ó³À'õð%»@jSýš¬ÝÂ0¢áÅ £ôÆßÃùHy*vœµO²¤¶§0ZZmeDvÃï4“"švÁ¾¡ÛS6K”‰·» ¼´7l$ˤiòR¼¥Ûåw«ÆhÝŸ–%‘7'Žw%cÕ±0D5Øòr]¸«œ÷["-žBÒ#[ es  ÈÆNýxB—.%8äK|„8h tôp'§ ‡´}\•.évБeC}˜¶ñ³ºêD+,;@þ?ó%œ†©EhIEND®B`‚mauve-20140821/gnu/testlet/javax/imageio/ImageIO/Bitmap-32Bit.bmp0000644000175000001440000007750210410327035023022 0ustar dokousersBMBB(@ ÿÿÿ ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøø ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøø ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøø```a``b``c``d``e``f``g``h``i``j``k``l``m``n``o``p``q``r``s``t``u``v``w``x``y``z``{``|``}``~`` ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøø  ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøø ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøøaaabaacaadaaeaafaagaahaaiaajaakaalaamaanaaoaapaaqaaraasaataauaavaawaaxaayaazaa{aa|aa}aa~aaaa ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøø  ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøø ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøøbbbcbbdbbebbfbbgbbhbbibbjbbkbblbbmbbnbbobbpbbqbbrbbsbbtbbubbvbbwbbxbbybbzbb{bb|bb}bb~bbbb€bb    (( 00 88 @@ HH PP XX `` hh pp xx €€ ˆˆ ˜˜    ¨¨ °° ¸¸ ÀÀ ÈÈ ÐÐ ØØ àà èè ðð øø     ( (0 08 8@ @H HP PX X` `h hp px x€ €ˆ ˆ ˜ ˜   ¨ ¨° °¸ ¸À ÀÈ ÈÐ ÐØ Øà àè èð ðø ø    (( 00 88 @@ HH PP XX `` hh pp xx €€ ˆˆ ˜˜    ¨¨ °° ¸¸ ÀÀ ÈÈ ÐÐ ØØ àà èè ðð øøcccdcceccfccgcchcciccjcckcclccmccnccoccpccqccrccscctccuccvccwccxccycczcc{cc|cc}cc~cccc€cccc ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøø  ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøø ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøødddeddfddgddhddiddjddkddlddmddnddoddpddqddrddsddtdduddvddwddxddyddzdd{dd|dd}dd~dddd€dddd‚dd ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøø  ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøø ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøøeeefeegeeheeieejeekeeleemeeneeoeepeeqeereeseeteeueeveeweexeeyeezee{ee|ee}ee~eeee€eeee‚eeƒee ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøø  ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøø ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøøfffgffhffiffjffkfflffmffnffoffpffqffrffsfftffuffvffwffxffyffzff{ff|ff}ff~ffff€ffff‚ffƒff„ff ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøø  ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøø ((0088@@HHPPXX``hhppxx€€ˆˆ˜˜  ¨¨°°¸¸ÀÀÈÈÐÐØØààèèððøøggghggiggjggkgglggmggnggoggpggqggrggsggtgguggvggwggxggyggzgg{gg|gg}gg~gggg€gggg‚ggƒgg„gg…gg    (( 00 88 @@ HH PP XX `` hh pp xx €€ ˆˆ ˜˜    ¨¨ °° ¸¸ ÀÀ ÈÈ ÐÐ ØØ àà èè ðð øø     ( (0 08 8@ @H HP PX X` `h hp px x€ €ˆ ˆ ˜ ˜   ¨ ¨° °¸ ¸À ÀÈ ÈÐ ÐØ Øà àè èð ðø ø    (( 00 88 @@ HH PP XX `` hh pp xx €€ ˆˆ ˜˜    ¨¨ °° ¸¸ ÀÀ ÈÈ ÐÐ ØØ àà èè ðð øøhhhihhjhhkhhlhhmhhnhhohhphhqhhrhhshhthhuhhvhhwhhxhhyhhzhh{hh|hh}hh~hhhh€hhhh‚hhƒhh„hh…hh†hh$$$$ $(($00$88$@@$HH$PP$XX$``$hh$pp$xx$€€$ˆˆ$$˜˜$  $¨¨$°°$¸¸$ÀÀ$ÈÈ$ÐÐ$ØØ$àà$èè$ðð$øø$$$$$ $ ($(0$08$8@$@H$HP$PX$X`$`h$hp$px$x€$€ˆ$ˆ$˜$˜ $ ¨$¨°$°¸$¸À$ÀÈ$ÈÐ$ÐØ$Øà$àè$èð$ðø$ø$$$$$ $(($00$88$@@$HH$PP$XX$``$hh$pp$xx$€€$ˆˆ$$˜˜$  $¨¨$°°$¸¸$ÀÀ$ÈÈ$ÐÐ$ØØ$àà$èè$ðð$øøiiijiikiiliimiiniioiipiiqiiriisiitiiuiiviiwiixiiyiizii{ii|ii}ii~iiii€iiii‚iiƒii„ii…ii†ii‡ii(((( ((((00(88(@@(HH(PP(XX(``(hh(pp(xx(€€(ˆˆ((˜˜(  (¨¨(°°(¸¸(ÀÀ(ÈÈ(ÐÐ(ØØ(àà(èè(ðð(øø((((( ( (((0(08(8@(@H(HP(PX(X`(`h(hp(px(x€(€ˆ(ˆ(˜(˜ ( ¨(¨°(°¸(¸À(ÀÈ(ÈÐ(ÐØ(Øà(àè(èð(ðø(ø((((( ((((00(88(@@(HH(PP(XX(``(hh(pp(xx(€€(ˆˆ((˜˜(  (¨¨(°°(¸¸(ÀÀ(ÈÈ(ÐÐ(ØØ(àà(èè(ðð(øøjjjkjjljjmjjnjjojjpjjqjjrjjsjjtjjujjvjjwjjxjjyjjzjj{jj|jj}jj~jjjj€jjjj‚jjƒjj„jj…jj†jj‡jjˆjj,,,, ,((,00,88,@@,HH,PP,XX,``,hh,pp,xx,€€,ˆˆ,,˜˜,  ,¨¨,°°,¸¸,ÀÀ,ÈÈ,ÐÐ,ØØ,àà,èè,ðð,øø,,,,, , (,(0,08,8@,@H,HP,PX,X`,`h,hp,px,x€,€ˆ,ˆ,˜,˜ , ¨,¨°,°¸,¸À,ÀÈ,ÈÐ,ÐØ,Øà,àè,èð,ðø,ø,,,,, ,((,00,88,@@,HH,PP,XX,``,hh,pp,xx,€€,ˆˆ,,˜˜,  ,¨¨,°°,¸¸,ÀÀ,ÈÈ,ÐÐ,ØØ,àà,èè,ðð,øøkkklkkmkknkkokkpkkqkkrkkskktkkukkvkkwkkxkkykkzkk{kk|kk}kk~kkkk€kkkk‚kkƒkk„kk…kk†kk‡kkˆkk‰kk0000 0((0000880@@0HH0PP0XX0``0hh0pp0xx0€€0ˆˆ00˜˜0  0¨¨0°°0¸¸0ÀÀ0ÈÈ0ÐÐ0ØØ0àà0èè0ðð0øø00000 0 (0(000808@0@H0HP0PX0X`0`h0hp0px0x€0€ˆ0ˆ0˜0˜ 0 ¨0¨°0°¸0¸À0ÀÈ0ÈÐ0ÐØ0Øà0àè0èð0ðø0ø00000 0((0000880@@0HH0PP0XX0``0hh0pp0xx0€€0ˆˆ00˜˜0  0¨¨0°°0¸¸0ÀÀ0ÈÈ0ÐÐ0ØØ0àà0èè0ðð0øølllmllnllollpllqllrllslltllullvllwllxllyllzll{ll|ll}ll~llll€llll‚llƒll„ll…ll†ll‡llˆll‰llŠll4444 4((4004884@@4HH4PP4XX4``4hh4pp4xx4€€4ˆˆ44˜˜4  4¨¨4°°4¸¸4ÀÀ4ÈÈ4ÐÐ4ØØ4àà4èè4ðð4øø44444 4 (4(040848@4@H4HP4PX4X`4`h4hp4px4x€4€ˆ4ˆ4˜4˜ 4 ¨4¨°4°¸4¸À4ÀÈ4ÈÐ4ÐØ4Øà4àè4èð4ðø4ø44444 4((4004884@@4HH4PP4XX4``4hh4pp4xx4€€4ˆˆ44˜˜4  4¨¨4°°4¸¸4ÀÀ4ÈÈ4ÐÐ4ØØ4àà4èè4ðð4øømmmnmmommpmmqmmrmmsmmtmmummvmmwmmxmmymmzmm{mm|mm}mm~mmmm€mmmm‚mmƒmm„mm…mm†mm‡mmˆmm‰mmŠmm‹mm8888 8((8008888@@8HH8PP8XX8``8hh8pp8xx8€€8ˆˆ88˜˜8  8¨¨8°°8¸¸8ÀÀ8ÈÈ8ÐÐ8ØØ8àà8èè8ðð8øø88888 8 (8(080888@8@H8HP8PX8X`8`h8hp8px8x€8€ˆ8ˆ8˜8˜ 8 ¨8¨°8°¸8¸À8ÀÈ8ÈÐ8ÐØ8Øà8àè8èð8ðø8ø88888 8((8008888@@8HH8PP8XX8``8hh8pp8xx8€€8ˆˆ88˜˜8  8¨¨8°°8¸¸8ÀÀ8ÈÈ8ÐÐ8ØØ8àà8èè8ðð8øønnnonnpnnqnnrnnsnntnnunnvnnwnnxnnynnznn{nn|nn}nn~nnnn€nnnn‚nnƒnn„nn…nn†nn‡nnˆnn‰nnŠnn‹nnŒnn<<<< <((<00<88<@@<HH<PP<XX<``<hh<pp<xx<€€<ˆˆ<<˜˜<  <¨¨<°°<¸¸<ÀÀ<ÈÈ<ÐÐ<ØØ<àà<èè<ðð<øø<<<<< < (<(0<08<8@<@HT²‘›Ù¥ä­´é½ÂòÏÓúsƒÕYnËD`ÉE¼ 3·&NÅôõü°©¹‡IDATxÚ•]‰‚ÛªÅ6ØòÿûŽ6<Ó¾^·%“I8ínJzmô‡þʵÓ¾Žý×ÎÿvýBÄCË5}ó+Ù~õ}ó?ñIºœœ2_¥œçy]÷uѧkþ;K®üp)üq>zß7 à_ ¯È«ëµ/~ü$àˆë Ÿ–¢géSž …k8æçk Gõ:4²)%‰·lÿ_—iÙ÷ã C!Ò÷íOŒDJ€+Å5¿,ikµL$€3ÆÅOÉ2ÁúuçÿDË~üäCÖ(bCï±>˜vrñ(,[@3¥ê̵opÔZ‹A¼E9RØ®ùƒñOö7'Ķ/kL*]{@²¿ždÒ唈vœVM[ŸO -ÉíŒDòïF‚Šï@óƒ†ášÎ6û¥%òÄ_˜Ê‹\¥LõèÇó}J½ïHaK@@6ý›8ûo²µû¿}W“«‚ÝÅ’ö¨ A™ÕzEF~X¹V¸L¹Êm;Rsk­VVvÖöùÜ–ü÷’¨¥©ûñ‰,ÚÙ¥=첈Kø6ÀH’íEc2 Õõ„Áä¼øšæ•s…õ%0¦ën†Í°ìa×,¾~Ñq,H}O.ÿ¦*Ž8R’VJœ”©ýóyÆQÅøfø’KJ~Iícr)~9ŠÅ•ïAsé2™ÚTØÌ•ø®-þ÷óKœä )ð‚u|ž£ ó€B@ô…³!³ %râHö%Z1q M“/oã÷•¶E>Jh½séíùŒ‰Â-,É#F¿šc¯?Å%{Ô›jbÚþ+ƒ’"NFÐ’ äM¦éÅŒ ÖI®%“;!UwèËb$ÿ9GP–ãëµ^{ŸKo £VÞáÊá»>C>¾€JF` æá-_‹¢,Â¥vêj­0¢Æ¯0òò>#9ŒƒìÒ„:àÂï›´¾œ V!ˆDÊ9¿ˆj•½«ýEItoAóQ I«[Há­æ•ò‹!Àh ÛW¶Nþ{â¸!òZ©lˆ!ЭÃòÊ*_=b7´¿D[Q¦Ü}¸=YC”œü§$LcþcKò¯lÀÅŸ%39Uá)&NüÛ™˜ÁÛD4A¾¢]2½y1‹XíÄ üâL¤c›0zï-‚˜aØ'†ðQöê^4É ^„ˆ}Ù Ò±1»Ìï¢#1¤¥užì°åíXÂÓ|‘AÈ1Ó¥nDS ExÑ IWaa!DÏr”±Ê¤´¹ú×·ÞöùUÛ"-Ñ ìGŒ±TO2^¾³‹¹†Ó”e*wÛ„!ŸÑI¼N^¶^†äþÞ…HIGwM¬J‰ˆV5NŠFNÅ•ß{ì]6 S6Á"ÀBq-ºq[Ó}÷)`͈¦Ü?¡0#óé©™71ý€SQ5!±Ý˜ |‚&ïHÚƒ!6ÍyéÊâ&#”±ž¢+ì/’áø<3Ä­J”~ݦó„àË0”+õ£5õ¸•¿.„«‚AÀ@ȶ¾©º¼®èáß±ydiw.¦ðÈa@Æ´ZSK.U F˜A|É÷ëP.02M׿ޱVªÈ¶7këõÉHAd! ~é½a ÊE;ÂU·ÇÆ"þƒ>Îyï[@|É@æRH²È Wö¦k¡q"PZèã4‘{]L™<±o+–,¾ì/á0>@JÚŽc(!$uæ@X¡çî8”“iµ6Ò‘–^׆@ÆJ±(ú­NLÌú`<ü£f)òÛå¼tDô$Ÿ¥,Œ°pÆÑÙöH“–µ&0ÆÀHnÿ c{E¥@áÙBǶòú§<1ˆF2a’¥³-qf´ÅÁ™ds»¿ÊהЩ'òX NÉ©b×mrÅ@6 i¼pöQ¶°”™iû˜þj!0$ZÇ˜ß } ˜_ÁcZübUJ+’_<Ϙ¾½q6+•+©'F_UB«Œ¦ (S ¾ÄVM͘KŸž s€È_Ú¼”´†^ ç?B.©r‚±‘lÑ{ÔÎõ*&¢búýɈp‚à†#Táb…]ì*'ZÐÜöÖsÐÙhuægo¢è›È×ʇ™­WZ’óGJй’3yèÏ3I>1_ŠävFH‚|7ц˜h6¶´3H都.r#ó»p™~‹×«Ø¸BY#Á+NëÕ²B¹]´î¯Ññ?R„p¨£æåwŠ6º€Z ’Z‹4ıC°nÓvn+T BÄ àí{ø¨_‚®ƒ”‚õ‚/’å)}q”TÜb %*¡ ´ª¼Û­ã³\Ï´`Ù|†Š„ŽÂÞ¿ÄdË>v…EŒu2Zƒ•¼“v@Eˆ Í8ç„ aÚƒàXkŒ©–‚œ–²ÂþBŠBòU4Ö ‘/²_b¼y„á]( i¼æ©lu§H < ±áE6Êí²e2^Zj»‹ùªìÕ9º êt1íט’L–˜¬ôCE|1Ã4m·$PP•«ƒ¶Ÿ‘‚hÚXCö. 'tÑW‚£‘†ÐP3ØßkW/'(m.˜ú”ñþ; Wz+,Aü5µ¥r ÞË÷”ƒqкw„…d°ûuñÐÛ’Ñz!!Šà€ŸZ8éG+‡þÖ‚¬Á+¦‡ýbJÈ©PšUÖ8ž¤P”›/l܆L™âÜ]•ƒdèé²JxòÖUÅÇ3œ˜ù LjF ª4ÙŠL‚&iìørµ=‰6Ièxè1È—‡æk‚‘¯Çð—´S s 6Ot‡DSn§#ÁSÖøñä´†ëˆ7ò"b)ÆÀÑ‘LÑÈ«Bèv*52ˆ·¾_7]0YQ h¯­C~XlhˆØ[h9=>@ø|˜àØ8«É¡{h›´R®Ä3jà˜Îƒä ñŒ0aÏ:µD#†täËH¦£žâé…ƒ)´`–¸f1z=öÁ>wÑwÎÏ2U4U¶²JïRJÑ’£AÝúã—ê‡A#q4f.QþJB?Íï‰t9!è"WÍòØ^“ñ¿ƒ„j8|mn‘(A…0¡fU  ˆ}Ò¾j~«Â•öç—ëzÆh¹¨#q$·Öí¾ÌÒB¤Ç@°&¦I©Ðqh¹*x f™Šœš§U†–Dªj™vÙ1Ù;~ó¼!…™ò*7¿âÙÅÛ§*}3Ù˜:ðÈjUé°ÿ*FÃy¡DJ¶Ys?]¨î;ÊrũЇšQfF—©¶¯«5Çë] U*q<÷áŽâ1é20ºþÑ{Ä‚/¸úŒšm¨‡V¯œ ‚¾¦·¨í±à ã3D×a~O)D,8K”ïD:‚¬‰Ò磼æGúz±ifßK .V)Õh)ÚõÃú=¶BåºÃ>*W‘Ê Áç+ußHæ5Õꃸ Ä©»4ñß¡qøÐCH;Ãv¸v€™ß­¯é~!ÖQɳ`ê.JLd\è~{0’X´É|IxÑ]:{ÙŽÅ÷fW%$µJs&‹ˆµâ£,U):5®ŸM|ÐÞÁ C 5c4pÂÖB7$(ð¢oÍ[Ãaaë  $*=§1bréwQX3kpMhÀ,8`¦¹}ÐŒëC•ñq‹ïlýUl†K—¸ù”`ýoPÒ îýqÙÂr;DŠ©Ð±GZD”‚—–«×ÇŒl‹j òOÝü“"‡ ,ô‘¬ Án,-†Adp]ˆÌ§ìÓ#” Õp¥Píf娪#­aï«^™ù†ÁIJpð‹QrF)Ͱ´À¸(XæJèéÝ5_d ›/K™ß¥&ÞÏU¼%¿f_ D¥$й¹§‡.³*ö|æÖ%dŠdó¨â?šö§£pwž¦ñu¿äû¹Ò±8 C±”Z­,US…%‘6%ã¹~ž €¯º‹Ø£0„®qpZ¢(ZV™ŠB ïôã?Àd𲂵j"R]õ¥®(Øþ´fK§ÕX‘lU‡¢”ß¡=ʈOÏh×1¨ŒpÛ÷™Þ»qÛÉö—ᄄFåïÅ–Ô'ÑŽZˆ Q€”GµÅ0‚•GhcÇ«“4Âè†8sr9Êoÿx;ðöë%»ª:v áh½ŠU¯¬w.š`zÈW¦Ϫ$!kˆÒרى ¹$OG©•¶-ÁG4ŽgM\º~ Mþ¶ Ý®ptŽa1kËÎпuÝà™t ¶pŒgJæMD´®;}¦ §†ã€VB4ÚO2ˆ”.²ŠÁXÈa_ÈÚS] [de¨`‰”‰šô> †g ò@BJÅZ溜'”8Õp%ñæÀ ‡Pð%Šn”˜Ecùsô KRøëÑúªZ©#ÃBs0À „B\Êðá¥a%aôÖ.1á\ܶ[ ¶*t= 1Hö“ßä*†Òªé¿_Rá §V™eˆö²®.eùŸÇ‚¯` ïß•ù…컘.ýžP¥*¨³ÜVš@«;CQüšN Ïš‰ghŸè$*CÑWÖXûËžn•(G!PÈ¥@×Å &x‘×8fÀßèRD·•ª®8ÄäR _„‘ÛZŒIÊ/Ð2öÎèá3rWÜV³êq"ñèÊX”­(d­c×[¨nn›oÆÙAÑ—­Ÿ‘?åºýûôhm >4ðìÐIS¶ÙbÔÚ šEî¢âÍ—¾\oéZåJS~ŽQ͈¡8¼JPåЂv«Oê@[î,,Zño­J{HE±f³¥U²¹ª~!î;û =x%È¢0K¯úqŒÇ¬Ö|Z9u>²„¶"b.ŠLŸ(õnŒ –,É4/ÉLh’d©¬ºR þH`,E0WqDHâÿG׎ûå“M"aPšœ¸ÀʨY¡¥µ :ªæ~jÊÌY +¤_®Q,Q¿¤%êÀ‡W—b”T·TK+%_fÝw*h$.‚‘2!÷‚zб#ARe,ÏõÙ@¤úÿ/“.ûˆÜFIè¢ÿ`ƒcnnˆ†É3‘¯³d›LªèMùà£K9ÙîI|.æ8þùIFs¤9rá¿dŠbRw.#xyÍIÓ+‹7 ÜñÊLÒ0 (­Á i²U%¯¦"퇩mÕü£Õ—L›xG‰å×hºKæJ‚Î ÐRiN<†ê:þ¢ ÄÏèÒ+>s¡(l»£ë[¼DÔ‰œ —Bh}A¿ä‰bãU¾´à̲¦„ ÇJ²„úÿÚm<µÔY=îP¥O!>lšz™@D…f/Œ½Ò³+”.ù†âà§.^›½Hÿ5=èAr¬è%[zã†Â¡-í"ëf®µÀN“ÜP‚é*)‚VÕ‹m×¾!+OÕ˜J!Èé·PÍ*Z½B L®ª…AÇ#ˆôÃÇÒÖ·” ³½AMš•eZó‚¬Û,ÔpŒÊœ‡]¬È6þO½`L‰.K„eXkÙ6ùOZ®UYÊÑ ©œã©ÂªIó"Ób±¤Í¢}êÌ/ó 'BQêkZéO“Ýx–'.B³'7@Ù-˜§¶¢"«Ÿ—£j…†Š†X+1]0D>Ì©«‡LEÕC§Ç•ƒ—„¼“ ²:ój]˜ úžx°A•ÜØ6Á«lˆxª\Åk)ûì ¹ÀG«Ç–ÖŠ‰9ˆ {wÖ1j˜£ÐYn¼¯õ0+çs)´¢Ñe4kE™Àñ é<á€gÚ}>œU°¸;'Y½¤ˆÁÍyùÐ%Æ05Œ‘IÅTƒ3¬üº«œ¸¤aŒÐŸ•>7Kv~éqE9Å‹~©²R8Š,ºf:kwÀ@üMq´ÒV¶´¬¶µø¤ê¥J¯^†3uO] 1w#¹)Ø„§ ÑÀiŒ+å ïÒ.•lL¿oTñS:‡F?å¢Ñ„WëíqO@bMË…1:"–!DI8•à ¼Ä % ¨Âù]ôIRœÑU¿´Ù1­“ËZ»5×tE_ü¹›2Gjaa&`±ù¥0>n¯‘­‡Ñb´RÛƒÌv€Æeý²yçõP×+pT6ÏÂ8~,¿SleJ‚Ž¥KdÚ×Óàµf%«Ñ­˜Z!Rõ¸¨ªfãÃÄ””íÞ@ädl9Ï ä-µÇÀÇܶj–Å”ØH^Ü á¨jg\tv16+L„i¯G€ˆÿ/86úÂÁgb9 xQ‚|q‰‰wL“¥UOjÈ¡öÀ¿¼hGDšåE`rÕE%|)¡&ky £Éb2Þ×±EÉ.é—*nÒsÙB !êá£Ìè%Ôx¹!Ó(d‰àÝ× Š’HÈ•DlZ®i}‚E¥xžKºð¨Y@¤ C ^Z!»ll ߸€Fm‰'ÍLi±Í òZJqÑ!„H„±»}GÍ*]Ð[˜«JÚ ñûó,ûFR.­…{mI†Ó3ãàÒäÛë îQÌÇùÁµ>–_Cœ@ÁœwÈäDÕØPMl*²P½« ‡n÷)©™œÔºÂi_¯ŸÞ‚a½qs5Ä¥ yº¸,8+§tÚ@§¼„qŠðKzẌ%ÊÒ !æKOÃ/fà Š¯ã!·ÊZÔ§@ÂCYîè/¨Nðƒc®L•›ÄËê[J1F ëzË$©þâ[)¡êܰ¬=ž[ÆÇbÞÎÓ#t¯\EéÒº•ÿ¸/â¦Æ©ºOTƒÇa莠=J3)YÕu+Åë÷z+ó:„ýëçP žä™5¯hþ#ev+ÅÜݨ²þA˜!VÕn2ÞIµ›¥FBi¸'X¹²^’,Â!á¨i`ä뇂T¶¤£÷ÇXÓøjU“îe®f!‹‰ÏˆÉ/b²…O©HtRkÊäç º'ì%+´|I,j¶Aœ[½âÙ /e2 @Š,<ã ò¥Lˆ™ÂS†S"ÖÌÔ@³3á$Q)É5Ü‘à –#8šsO-ÇØà~³©Â³ôÞ!WÏÇÎD 7ÜX¯‰ïæ$¶¾[jÐ%/ Z~; ÐC4Æ©ï'„«î6×é“ÎTƒÊ|jŽÞQ΂œé˜{*ãcg[¿LB,ƒò4̤ç¸åK³(ÑÊ›™QõÿºÜÑ\ÛäK»ÛSÒÇÞ× ŸD.‡ŽElå6‹7_ޠΈ.`ý¼ìÏz"C€ì˜JsUEE+ÚûÌ~òŒ n¼6ô<4Sïòå§d€7 ŽÓ‰ÌýØÓ–Îx}Êßm³Çv>}^ÙôyØAã‚iC%:@_3î ”8VZæÝ»…žðÔË!‡`»F<û_:$’:õ8Îó{WÙýï²êïëbñ:mðÑf…2 äÊŽÃÉôLb9•bjƒ˜Æ{¨u)%R-:1 ‚@8Â8ùzZéÙ6¬às–f!²UÀŠôL0ˆn’%cR'ezáå òbC€0%¹=aHþ‰šýÕ¶átcaœ ©¦›lÙùµsúûŠ·à½ý&âó¿÷Êýÿxìv&Úh²¢!ú ŸO7 à`x!™=Æ+øb)•b“OaíשŠ+yÇHìûÃFý OœÓàªbíÝļÎõ QþïM‘m.ÍæBZ ŸbZo«>ãêeŽ †HìߥJªBÆëwOÍåk¸l)'·PbiSGÌž›Û®ñž|Yn ½§ÒÏYÔœ†D%ÎÜοj¹Ê•¬¤Ôž1äкzy™ÓüŒ…;U2mpò™´¹aÄ.è@”P®—§N«2¬K««î>ÿÝX¹«åÑ$Õ˜æ1½ž‡Ñ+I£W²bÕ|f#‘Cµ¤Uo÷Bgæ–Ée„Z%5µšëcÔ“3ßZ’R;÷q 3G©‡ê{š‘C²übnzGfCÙÖáÐÑLsÞ6à,”à;o˜ñ9ÿ†O1±µgççŸ7ަ·™ü}Ó¥·ášÉ€2ùHW_çV@K•‚‹®Ünl5=¦EUåß(¹£zH@”9-=)‹Ç\Ã@®æÓ¿wºGɇ'g#V«žX«<ÍvißWo\ v˜œXþŽ%ñ¹Tàß*‹n^Nb„ã|ŽŒÜ’d}“*YÕõ¤±ö-¨?¡.ýREåSüûy}åf5¿šå茸ô\`µÊÞ"ŽáJÎÁÑ1^ŤÆ"£ZìP¼ÚlEÛŠ9IN/¶Ê°Çê0qÏ%»[çÿ·»‘ÃQò–¤±V£p¹€Ùgù@Jb@J­>œ£ÃlZB×"E̬ÎZÝ–R~Q‰YØ×;þ Æ"[Yå4Ü} ½ø †ç±oÝ„+iZÁ£(>A=b÷¢Igò”[¬p¯á”éÚ¢³ŵ\ïâõ7"Œ’¶VÆ–´y¾îÇõ®Ý9SÙðÑÈñ i¤JsU˘Z¾´Òi!3{_¸}çzoBý/^„|Oüó]êúZŒ:a8xøò'Š•–%™í¶bs3_Ȱ Sú9ŠwY?V’Q¾Ž™;½i§©ÆËz ÍÔ¢-=þ%‚pŠr:Á'_öH«ÛSßʉ„e¥ÄII‡ržVWU©e7¿ó¬–„À0ÂhŽñ/XˆV¢ºO­vmh`máÅîi‡©Œ;ÛÝZäA°BØm–IïPö²!âÅ?ÆT˜?–ñwDsIÃ(šFŠÖŠ©©RU­òß²hÃîÔ„3"7ž‘1v/ªÚ­?œ‘póNo«ššÜ8¡Có4#žHþëÕ*î E>¤GÕ‚š£ÄeûS©[üHÑ›Ñèx ‹÷KöËœ‡.å#CL‡»ÉÖû^?/|ßiÌÜ…3v´¹Iã&ã(¼)£d voUI´ÐRÆE³ïå‘ÁjåTß#û"- ø 9Éú“ÖIid|0^ޏ£pÌ`;ç¥99£i7pA?Tº[qˆâC#n»ÓsƹSßÙ?ÓâéпÈß EÈè*o·f¹+}ËX`Á­w½¾å3Ÿ£‹¹Ô'^×’œ|q¨EX …Ý":ºÎô6þMU’ÐáúÏ=-.h`¬Nä²`Yjï@¢g0‹ßFæÒû^?4åú ÉiÚ^25ÉûWÿ ïÿ$[6m£¥ß1IEND®B`‚mauve-20140821/gnu/testlet/javax/imageio/ImageIO/Bitmap-RLE8.bmp0000644000175000001440000007054010410327035022644 0ustar dokousersBM^q6(ȉkÃì%Ì’„œZD¼vdìËÄÜ®œ´>ÄZ,Ä>Ôv[ÄjKä’‡ôæâ侴̦œ¼N#Ô†tÄNÄ]EìÞÔć{´j\ÔjA쯤̚Œ¬2 ÄQ4´ZD¼vlôùøôÎÌ䣓´A$ô¿´ä‰yÄcIÄm^Ôzl¬RB´\LÄb<ÔŠ„ܶ¤ôðî¼5 ÄI%츱ܓ„ÔR,ÄsÜ¢”ÄV*ÔeHÜ›Œ´JÔZ0üÜØÔmWôÓÎôª¤ôÂÄ´cSÔŽ|䪢ԀoìÔÄܰ¬ÄrT䛌ÄP)ÌŽ„¬-Ì“ŒÄHìÆ¼¼V)ÄV7´G,ÌdIÄrc¼R<ô¹³ÌdÄ[;üçä¼rd¬:¼?Ô~dÌjL܇ṡ{ä¥Ì€qܪœÔr[ÜpÌw\üËÄ俼´Q4Ô^DÌž”¼bBôþüôƼüïì¼6 üâÜüÔмdR䯤Ì]E¼k\Ìyl¬VDä”ÌQ&¼,Ì\:Ô’„ÜxdÔª ì±¬´3ÌR5¼[:üøøüÁ¼¬ZIôâßÔb<üÒļ:ÔŽ„ôÆÄÔrL䎂ܕŒÜ¤œÜ”ô˻Ԣ“ôÚÓԚ䶬ÌJ&¼H&¼V>üâäÌV6Ìr^´:ÜrXÄvdì¾´ÌOÄxmüÎ̼A%Ìn\¼^LÌb<¼G䱬욈´-Ô•ŒÌI즟ìÀ¼¼O0Ôœ”ô²¬´&Ü®¤ÄAÔxdÄkTä–”ôêìÔ‰|ÄŠ„ÔjLôÁ¼ÄeTÜxlÜŠ„¼6ÄJ4캼Ă|ÔfTÔ]<üÞäÔndüÁÄ´f\Ô‚|ôÒÄÌfTô¹¼üêì¼AÜ~dÌlT܉|ÌŠ„Ì‚|Ü‚|ÌwdüñôüÖܼf\¼nd´2¼\D¬^TôÊÄÔ¢œôÞÜÔšŒä¸´¼J4ÌZ+ÌV)ÜŽ|쪣ÌrS´VDÄ:ÜŽ„üÆÄܶ´ÌŽŒìÆÄ¼V4ÄVDÄrl¼rlܪ¤ÔrdüþüüƼÌrl´:Ì–„ܲ™´BÄBÔz\ÄnLä–‹ôêâ¼R$ÔŠtÈ@aÍuLwáuuEœuEwYä±5.ª{B?Þ¸ª‡‡Ú‡ªª.‘\xŠ5Š‹Þ.!ª‡ÚÚžÚ‡¸.¤¤¤¯?‹?‹2¬§x§Ý‹{‘‘Þ‘¤ð?ðo¯¤‘›‡mmÚ›ÞÞ‘.Þª¸JÚžm:mmm:žmmm:mÚëÚm8:mmmmmžÚ‡¸ª¸‡‡ÞBª‡››ª.¸ª¤ÍY µx@Rä¢N¢¢Ná33u3áEEáEuEEEEuEEEáEE3œEEuÈrÒaNSw–EœE33Eœuuá_ç¾Ú<.Œ†2ooQè€Þ¤¯¬Îço‹oªªª!‡‡ÚmÚb<ª›‘¤¤o¯‹Œ§§xxx§Œooo{.¤o¯o.‘.‘›‡m8mª.›!›ªJ¸‡‡m:mÔ8l8mžmž:mmm„žižbÚžm88mžÚi븪ª¤ðð¾Úª...ªJ‹µNw¢äxú_¢¢N(áuœá33œE3œœ3Eœ3œœœœááEEȵ[@@ñÍSáuáÁEu0œE-_â?{©â±¹±/?.€ª‘o\>ç{{›‡i<<ëbbbž<.Þ..¤‘{?2¬§x§xxx§ŒŒ¬Œ‹‹?\‹?.›ª.ëmmª ª¸ªªÚÚÚmm88888mmžmmmmmmmÚÚžèb:8lm‡‡‡‡ª¸‘¯Þª뛪ªJÚ¸‹/@a#¢RZNáwƒ¢àE3áááà3œáœE3u3E3EEÈŠxxç>N}-wNL’’œEœEwSwLáw¢pÈ/?¤ªª‘oŠ]@D{..¸Ú¸¸x‹¤ª¸i¸Úi¸iÚbÚ‡žž„m:Ô888:Ô8m8•l8•88m88TÓ•mmžbëÚ‡i뇸ë‡ÚÚ‡ª¸ªªª€JJ.??ä—Ra¢à33œ33œEœEuEIá3EœESYÈŒ‹‹‹ŒŒDÎ_NaÍ–E3EuEEEL™Í—·(N·N@DЧtXNto{..èóÞ¤!‡‡bÚb{^‹2‹\‹¬‹Œ5¬x§§x†§xxxxxx§§\.i‡i‡bÚžžm:8mmž:m888888mÔ888T•l88lÊTTÊTÂ8ÔÚÚÚÚÚ븪ë¸ÚiJëi‡¸ª‡èi›‘o­§rRKuE3á3œ333uááœEIEœEuœ3äZÈ‹‹¯?\\\5±¹äYEwƒw3þS#X@ÎX—$@]µXX9¢p±5t‹\2.€‘.Qª¸‡Úbo‹¬2‹‹‹2Œ2¬Šö§x§§§§§x§§§¬Œ‹‘i‡Ú‡Úžm:•ÊjÊ•8m8••888888888888••TÊjjÊT•ÔmÚÚžžÚ‡ªª¸ªÚiª¸ªiªªb:Ú<¸›.›o`Îa(Eáuœœ3áá3œuEœEIEIEœEEEE /È?¯¤o?‹¬x@Òa—SSN4wLpÍ`>¬Œ5xÿ@Z@@S(Sp·ÿDŒxЋ¤\{!‡Úb‡o?2‹‹‹2¬¬Œ5Œ¬§§§§Š¬§§¬5¬Œ‹oªèÚÚžmm8TjÓÓÓjjT8•TÊT88l•lÔÂ888888•T•TÊÓ•žmmmëiÚ‡<ª››ªÚÚJžm:Ú.oo›{[rww333áœuœEœEœEœEEIEIEEEþ#ÈÞÞ.{¤ð‹5е`@yaäY4Y9_±@ç//@y——¹4NSuà(w²@±[D5Œ?.o¸bÚÚª??‹?.?2Œ5§¬ŒŒ¬5§¬5Œ¬ŒŒŒ‹‹o¤<žmmmmm88•ÊÓÓÓjÊÊTTTTTÂ88•888•8••••88Tll•8Ôm:„Ú‡‡Jªª›ªiÚ‡ëžm:J‹?o.‘5xÿX ¢E3áuœEIEEIIIIIEIEE3EIEuwÈ.¾ªÞ¤o?ð‹5/>@XÍÍÍYNͱ±" Y9 3ƒ}¢Sá33wN—Î@@5\‹??.Ú‡.\Œ‹o?‹Œ‹Œ¬¬Œ¬Œ¬¬ŒÛ¬¬Œ‹‹?‘.ªmmmm8Ô88TÊÓÓjÊTTÊTÊT•l•8l•••l•l•ÊÊ8ëªmmm8mžm:::ÚëªJªc.ª¸ª¸mm..i›‘ŽÝ>>aSáœEœEœEIEIEIIEIEIIE£IIIœE-#ûȪ<ª¾Þ¤¤?‹¬µ]± ™YNw3–NN#73áEuwewwwwwƒÍZÿµŠ‹?ŒŠ{imÔm!{??o?Œ??‹‹‹‹‹Œ‹Œ‹‹‹‹‹\ð...!Úmmm888m88TjjÓÓÊTjÊÊÓÊÊT•TTTTÊTÊÊÊjÓÓ•:::mm:ÚmmmÚÚÚÚ‡ªBÞÞ¤¤Þ.›i¤5{¸.oŒŠ/aLE3œEIEIEIIEI-IIIIE-EIu3—âµÈ]NSLþ--áá¢Sw7¨EI03wÍ9¹NwááSNyІ†D?bmmbª¤¤¤o‹‹ooo‹‹?\‹‹\?‹?¤¤¤.ɾ!‡mžm8mžm8••jÓÓjjTÊÊjjÓÓÊjÓjÓjÓÓÓÓÊÊT•ÂÊT8mmmmžžÚªfÞ.¤¤¤¤o?‹[§5‹ŒxFüÍS3œEIIIII£I££EIIIIIS‹ðȇ‡‡‡‡‡.Bt@ƒIIE¨E3EwEIII-EáSSN#9äS¢¢SwNÍXâ]]@ü{èžb!¾¸›!^‹‹o{¤?oo?ð?ð?ð‹¤....›.ªž:Ú‡m‡Ú8•TÓÓÓÊjÓÓÓÓòòòòÓjÊ‚ÊÊ888m:mmmžÚ¸›‘.‘.¤.o‹‹§C]‹Œ^ŒŒ^2"áuEIIEI-œ-IIEIII£I£IIEIEI-IEÍ›ȇ‡‡ÚbÚªÞ?¬>-EIEþ¢E-’IE-E3àwLSàwwwN¹Í@]Ò%Za`9±?.¸èª.Q!›.^‹‹ðooBo¤oo??o‹?.›Þ.Þ.¾Ú:mbbmžÉ<88•Ó+jÓÓÓ ÓòòòòòòòòòòòòòjjÓT8mmmÚmžJªª.Þ.‘‘.‘{22Ìâo{‘o^‹CEœIIIEIIIIIIIII£IIIII£I£œœY5ªž8Ȫ‡Úmž‡ª.¤‹xØ-II--EuœEuw(·YÁwwƒwä@XZç§@җͱ±@..ª...Q.o^‹^?¤¤¾¤Þ.¤¤oo?¤¾¸›..‡ž88Úª‡ó›Éª8•ÓòòòòòòòòòòòòòòòòòòòÓÓÓ•ÔmmmžiJJª›Þ¤‘‘ oŽ5ûµÞª.¤2âKEEIIIIIIIIII£II£IIIE6ISR‹‡8•ÈëÚbÚ‡ªªQ¤xn-¨¨II–u-œIESÍ %± Í9Íš@ÒŠtt/Η@]]t!.¤o.¤o^^?o¤..Þ...¾¤ooÞ›Jª›.bm8mÚ.{¤‘›ië8•òòòòòòòòhòòòòòòòòòòòòòòòòòÓÓÊ•8mmmmÚÚ‡i››.‘¤.‘.oŒ]\i[#w¨¨IEIIII£IIIIIIII£III£IIIII£9â‹bTTÈÚž‡‡èbž›o¥SII“¨-E33w–7__±>ÌÍrZxÎ/Œ?¬>Ì@†DD)­ó...‘..^?ð¤..¾..ÞÞ.¤¤o.‡bi..b:m‡QQª‡bÚÚmÊòòòòòòòòòòòòòòòòòòòòòòòhòòòjÓT8m:mmmžÚ‡ª››‘.oo?‹¬Œ.mža(K-¨IIIIIIIIIIIIIII£IIII£IIIIII¢ 2Ú88ÈÇÚbèmmÄ.rE-I--œuEE3wr@µ†âµZr@x5Ч¬??25/†)D\\2i!^o..o?^ð{..››Þ...o¤o!žž‡Þ¤!!›!Úcbž:mmmjòòòhòòòòòhòòòòòòòòòòòòòòhòòÓTÂm:m8m:mbª¸ª..‘¤÷Žxt!mžb¤Fä–-IIIIIIIIIIIII£IIIIII¨£IIIIIIISrm8ÈžbžžbžÚži..úLL33–E–LN%â/x†Î>çŒ\\Œo{‹§§555t?‹.{‹^oo{o^o¤..ª¸›.Þ¸.??{‡mb.¤É. o!‡bmm8:mm òòòòòòòÓòòòòòòòòòòòòhòòòòòòÊ8Â88mmmmÚ‡J¸ª!.‘o©r@Úžb‘2Y-I£IIIIIIII£IIIIIIII£I¨£II£IEu ã‡Èžb‡‡‡Ú‡Úbë*?ÍEwE–wwÁÁpÍ@>Š//xxŠŠ‹‹‹Œ{¤‹\\\‹\¤{o\o?oQ!{ooo.›!ªªª››ª¸ÞðoÞª‡<¾oo‘ÚÉQëÚm8mmžÂ òòòòòÊòòjÓjÓòòòòòòòòòòòòòòòòòòòòòòÓTÊT•88mmÚÚÚiJi!.oÿS§­.¤.?> wEIIIIIIIIIIIIIIIIIIIWIIII£III£III£IEEŒÈ‡<‡<ª¸<‡žÄ¾^ –uáá–S3wÈÎx/x§ŠŒ\2‹o?‹?\{?¤Q..!.....¸¸.oð¤.i!ª.›ª¸ª.¤ð¤›¸ª¸ª..¤.:è¸ÚÚžmmm:jòòòòò :´+jòòòòòòòòòòòòòòòòòhòòòòjÊl8mmÚÚžbÚièJ‘[3âŠ>>t5RYEI¨IIIIIIIIIIIII£IIùIIIWI£IIIùI£II°-uS#Cš/ÈëÚ‡¸ª!ÚžžbiNewSS¢YNSp9`Ï/ŠxŠŠ\?o^{.?\2‹?¤..ªªª¸¸ªªª¸.¤¯¤.¸¸¸¸ªª¸Ú›¤¤Þ!ª¸‡‡è‡i‡bžmAT:žžm::jòòòòòò+•Ê´ÓòòòòòòòòòòòòòòòòòòòòòÓÊ•Â:žžmmžÚÇó¤  5R@#¢EœœIII£III£IIIËIIIWIIWIIII£WI…££Iœ£-–w#Ò]ȇë<¾¾<‡ÚÚÞRíw#NNNÍY¹Í%†/Š5DŒŒŒ‹???¬Œ2?{.ª‡¸‡‡‡iii.¤¤‘ªi›ªªi¸Úb¤¤›¸¸Úžbžžž‡‡žbžÜÓ•Â+Óòòòòòòòòòh••òòÓòòòòhòòòòòòòòòòòòòòòòhòòÓÓT8žm8mm8mmm.a£3% ú#9ƒSII£I£IIIIII£IIWIùWI£IIW£Iù£ùIWIIIS(arÒ±`@È:mmbžèQ.QŒ_wSSwpNN—XµxŠŠŒŒŒ5\Œ¬\2‹¬Œ.›.<Ú‡Ú‡Ú‡ªJi›Þ¤.ªiª.›¸iÚ‡›o¤!¸ªèm:::Úèmª<ÚmÂhòòòòòòòòòòòòò•‚ÓÓòòòòòòòòòòòòòòòòòòòòòòòÓÜm8•Ô8T88ŒCI¨3¢þþ3££II£IIIIIII£IIIIùWIùIIùùWIIW£ùI“¢X[2§Šµ]È88m:ÚQD1_ä#g·9YN#NN4ͱµŠŠ¬5ŒŒŒ?\‹ã??^\Éiªi‡b‡b‡Úiiª¸¸...¸ª› . ››Þ¯‘...ÚbÓžžb­¸JlòòòòòòhòòòòòòòòòhòÓÓÓÊÓòòòòòòòòò+òòòòòòòòòòòÊ8ÜT8•ÊT•‘3K“W£IIIùIIIIIII££IIIWùùIùI£ùù£ù£II£ùùIWùIEú§\ã\‹‹Œx8mQ[̓NSwNNNYNͱZ§ü¬Œ\Œ‹©o?o¤.¤ ¸‡ÚÚ‡bÚ‡è<ªi¸ª"Þª¸Jª.›.{¤o?.i›.›ëª:ò ÊTž:mŽ2âNwwLwwNYä{:8mmmÚªXáNâ5Ú•TTl„„(-IIIIIIIII7I-Eœ33œœùI£ùùùù£ù6ùùùWùùùùù6ùùù£IEwÍR‹o¤.ÈYNN4NNYNÍÍÍY—±@@—9 ÍÍÍÌ a@%]D.‡žb‡<‡‡‡¸ªª<ª¸ª¸i‡‡bžÚÚžÚ‡Úª›!.‘›.@R]x‹©‹Û\Œ2Œ§?XÍN¢¢((¢N#N¢N¢#NNwNN·9äÍä Y¢NwSwwSY.8l8•Ôž¤R~þ«E .ª*.¬gKSEþIEEIIIwEþ3S3Iùù6ùIùIùùù£Iù£ùù£ùIIW£PN±]5\o.ÈSNNNYYÍ a_Í—a@/ÿräX__Ò 9]Îa—ÒÆŒo‡bÚë<¸¸¸ª¸ª!¸ª›<ÚžÚÚbÚÚbžmžmmžžÚJ›QQ¤Œ/µŠ2\22‹ŒDŠç"ÒN·Y4wN¢ƒN¢¢NNƒƒ¢Sw~ww~NY a—9Y#¢wSp/m•888m¾âYLKLLS~w4䣜-IIu3EEESN99²ÁEEIIIIœII£ùIù6Iù6ùIù6ùùIùùIIII3NŒ2‹‹ÈwNY͹͠a±r@äÈ_µ/µ]@@  XrX 99ÒΩ!Úb!ª‡¸ªiii‡ª¸ª‡ž:mžžžÚž„žžmm:óª!›.\t2\\2Š5Œ‹t2Š@͹N·YY#NNNNNYÍäÍÍ·NY¢¢ÁwwS#N9 @±± Y#m8žm8m!5—Í —ÍYY¢¢S(Swá}IEE-EœI¨wä][@ú Eœ“þuIþIIIùùùùIIù£II¨£IIá3EE(a§ŒŠŠÈpNYͱ@`Z@@±±Ò/ŠŠç/†Z±rrRZÒ—±@ç?‘Þ?!¸¸‡Ú‡bbbž‡m8888:mmmmmmmmmmÚ‡i¸‘‹ŒDxxŠ/x5\??5>@±ÍYYNÍ·YNN¢4N4YÍ_a a Í#Nƒƒ((S¢Y9ú±y>Q¸Q\{taLEœLwLwN··NpNN(Sà3E3IEÍ`@]@ NwS(––wà3£IIIùIù£££E¢YY²—Î//â@[ŠÈ¢N @âçç/>†µµÿ)5Œ5ŒtŠD)µ‰â>/@%%r¬\??{ª¸‡bÚÚbžžÚ:8TÊTl88mmmm:m88mžbžÚ¸Œx/]µ)Š\o.¤2§tÎûYYÍÍ_ÍÍÍYY(N¢NwNY ±X@XX±û4¢¢SSKLSSNÎDx]a¹S}}uœE““E-œEESw¢LEàwES· ±X[[@ra Sw–S(à3œ£œE3uIùI£3NXÎ[x/R—Ò/2ÈNN—`Š55Œ5ŠŠ5¬5\tŒ\\\\ŒŠxDtŒŠ>ç@Ð/?{ão{ªbžÚbžm8TjjjÊ88m8mmmžm•8mžžm!5†Î]@]Î\ª¸{‹\>a_·Íä_ a ää·N¢N(¢NNYä±@@@±—9ȃpÁ3E3SSpY9úaaÍYSì–¢¢(Eœ£IIœw–áEL#Nä%]R@ç/xÎúNYNSSEá3ww33uEœwESáEw¹]ü5Œµrµã¤ÈÍÍ]ŠtŒ‹?‹\\\‹\?\2‹‹\t§5‹\?ݵç///x??.ªžmmž‡Úb8Êj••888m‡ž88::žž?[>////\.¸.?\Œ_9—9ÍÍ Í_ R@@@±9·È4¢NwwSw¢NYa±@Î@±$#LS3àEEw¢SS–wwL(YNLEEþáSSwS4·N @ZÒ—µç§§/Î`Rä¢EEuEESYp33~SSL#SwLwYNä]ÎÿŒ^‹¬?.›È@>D\\Œ\{¤{¤¤\\?‹Œ2\\\\¤.tŠ\\5ŠŒ\¤{ª‡mm8mž‡‡b:TÓj•88m8m:žè‡bÔmÔmÚQ5)ç/5Œ\Œ?¾‡è.?5†]$Íä ÍNYNNƒNN_a@ÎZ@@aO #pSSSL3SÍX[ZX ͹NSSEþ«wwww#wwSàEE--þES#YÍÒrR@@Ò±Š55§x†x†ÒNEu3–þNNØw3SN(wL·ûÈ—a±@>ÿr§{‘¯‘!¸ÈŒŒ\‹\Œ\o..!...o?o^‹\?¤....\ã?‹Œ‹?o{¸žžm8mž‡è‡m8T8Ômm8mmbbžžm8m)αNSSNþN9YNNYYLEp_]Xrxx2.ªª¸‡ÚÈ?oo?\‹ŒŒãªªª!ª‘{{...o{!.!¸¸›.{o.o\\\ð?!ÚÚmmžÚ‡b:8mmžmmmb<Úbžžmmmž›¤Qã\{..¤¤!/t¬‹t/1 ÍN #ÍúÍSwYÍR—± #¢Ía]@±ÿ/D\?¤¸èbžÈ?¤{?ã?\?¤!<ª!ª!Þ›¸i.¤É!!¸¸¸ª¾Þ¤Q<{oðã??.>Î`@±— NNwwwáwS#wNÍÍ#SáE£ESYN#N¢SS––S–w(#NN#wwSNNLw~ÍaR/x¬52ŒRSEEwYrÿ>%99N @µ] YYYY]]]φŠ\o‘›Ji‡Ú:È?ð?ð\??ð¤¾!ɪ¾ª!ªi‡‡!<ª<‡‡‡i‡ó..!.¤??\\Œ‹\.èžžbÚ‡bÚb‡èbÚ‡¸¸<‡Úžžžb¤ÝŠx\ã.iÚÚ¸‹5t‹§@$ÍÍ·Í·NNNNƒNNpN4ÍäaX]`ZZ@@±a #S3wwSSpLp–w}LwNSpNw#¢#NwSþ_ÍSS¢S¢pƒwSͱ)Š\tçYE£EESNÒÿx]—Í—@ S##¹@x/5ŒŒ‹?.›¸‡‡bžmÈ\\ð?‹??‹\\.¾¾ª.¾ª¸‡b‡‡bÚbbÚ‡bɤ..{oãt‹ŒŠ†ŒQbžÚbèžžÚ‡‡Úi¸ª›.¸è‡ªQ?>@%²@D\ª‡!ãç»>x>ÿ@Z``@@RaÍÍNNƒNSSw–L–áSwNͱÌ@X_#N·N49Í  _Y¢SwSNYÍ9_äÍ—ÍSLL9ûw#¢ww#wN `@†Œ\§@äw–L–wNͱ@rX]añ±š@__a[5\\\??¤.Þi‡‡ÚÚ:ÈŒ‹ŒŒ\\‹¬Š‹¤Qª.¾Qª!‡b‡žžmmmžmžžªªª¤.{o?\ŒD†‹!ŠŒÏ]X##NwSN²ÒÒÒ@ÒÒ@@@RaNNa±5\?2\¤.!ª‡ÚÚžmmÈ†ŠŒtŒŒŒ¬ŒŒoQ›¾ªª.ª<‡‡ÚžmmÔmÔmmžž‡›¤¤<{?tŒ5!<ÚmmmÔ8mÔ8m›..{.Q{t†»))Ï@]Òarÿ>²Í ±_ 9ÍÍ  —Ò—a±XX@@@Î"»"ÎÆXaY#SN3LNYNpwwLSY—_Ò—aäa—²ÍÍYÍ—ÒÍÈ ±±ar`/>Ò ¹NÍaÒ /ÿ[@ ÍNSSYR]±%Í$ûa@O² Ò[Œ?\Ûð{.ªª‡mžmmmÈ)x§ŠŠ³§ŒŠŒ‹¤.{..¾.ªª‡bžÔmmmmÔmmmmžbbžèÉ\‹?¤¾‡mÔmmm888Ôž¾..¤o5µX%@@ÎÎçZç@ ÍÍ—_—_ÍYY··N4NNSNNSww(¹ Íää@Z»Î@`ÌÍS}wwN¹9_ÍYÍÍÍÍÈ—_ñ —_ÍÍäa²N—]@Ò@Œ2/Ηa±ⵆ//Šâ@r #SSÍXÿµ± Í” ûÒRÎ//5\??2‹\¤..<m:m:mȧ§Š¬Š§ŒŒŒ¬Œ\??oo‘ªQª<‡žžžmm:mmmžžbèb‡.ŒŒãQ‡bmmmžžmmmb‡..{.{5†Ærú ±—9 Ò±@µ>â ‰ÎR@Xr —_—ÍYÍNÈ·9Í—ä ¹NSEELN9@±Í¹#¢49Í  ñÒ±—_9·N4Í—±± ——Í —Í¢#%@N¹]/\‹5>@]ÿµ†§ŒŒ5x>@%#NÀ@µ§5µXaȲ#@x†Š52¬2ŒŒ‹?o‘immm:È5¬¬§§§§¬ŒŒ¬Œt‹?¤{¾.!¾<‡ÚžbÚžÚÚ‡Ú‡<¸ª!oŒ55<èbÚ!ð›<èÚbª¸›..\†@%Ò±—9ÍÍÍYÍÍ ÒXZZçç/ççε@@RÒ@X@ƵZ̲NSSPEw3EáL~(N—±@@@@]ÒÒ——ÍÍ——±±_Í9— ¹Íµ]±CCXt2§]—Ò@µx5Œ5†[µµRrµFŠ>]rY N·rÿF/5§Ý5Œ§§\?¤››ªªÚžȧxІ†§ŠŠŠŠ§Š‹\?{¾!¸¾.¾<<‡è‡‡<ª¾¾!Q..¾{\\§Ï5©?É!<©§.Z]]@—aa¹²±Xÿx>/F§5§Šç/‹?o𤤾ÚÈx)†Š†çЧ§§§Œ‹t‹o.ª<¾...¾É.o?\Štt‹Œ\\\\ŒDç[/)Œã\/)Š\?{¤..‹Š]r@@@Îâçµ@]ÒÒ—Í Í·ÍNÍN¹N#NYÍ ±Ì@ÒÍ#ȹNpLwgä±@@@%—9Í Ò——ñ 9ȲÍ$Ò@@]RÒÒ—— ¹#Nä±@ÿ][µ[[µµZµ>†ç@rrn#²@]]]rÒ—ÒÒSÍNÒ@r@µx††µ)5‹‹‹o‘.¸ÚÈ))Æ)ç熊§Š§Œ\Œ‹\.É!.¾.¾.¤¬)r —]Ίçç@ÆÎÆ%ÒÒÆÒ])@Ò]犌ãã?ŒŠ@]XrXr]]çx/Šü//Î@±Ò ÍNYNÈNNNÈ9@ZZZr_N–LpN##Í9±%@µçÆ%Ò—  9±a— _±ñ±ñ 9Í —rÆ[>µ>µÏâ†[Ð@ZaÍúaaX@rÆ@]1µ@̲—rƒSÍ#ȱ@rºµ[[@µ†ç¬‹‹o¤¤›iÈ))ÐÐ))††§§Š§ŒŒ‹{.¤.!.{?¬)@ ¹Í—r]@Ò—$$ $Í ñ—±—Ò%r±r%]†5555¬xŠüâ@@a—__ _±±±@@Î/³5Šü ÎÎ@Ò—ÍÍN#pNN²N# aX ÈpNNN(NNpSSL¢Y_@ÿÿ@@±±—±±ñÒ Ò%@@@Ò  —Òrµµç@]]]@% —±@±@@[@]@>ârұ͢Nä#NÍ äOR]±ÒOµF§Ý?oo\ð{ÈÎ@]@Æ)††ŠŠŒŠŒ\\?\¤{.ãt†rÒÒ² Ò—_rÒ Í  9ä—  ñ—±%±@@@@†ŠŒ§xŠÝŠŠŠçµ@]±Ò___9ÈÍÍȲ —Ò@Z/ŠüŠŠâµXÒ ²4NpwNSS#  ar_ÒS–}L arr%@@%@r——±aš]@aÍÍÍͱ>]µµµÆ@]][µÿr$²—Ò@]µÿ@]]@ŠF[@a” ÍØ##Ø(ûÍÍÍ##ä>xŒ?o?ðŒÛÈNÈÍ  ô%»†ŒŒŒŒŒ©\\‹\?©x[]±Í¹Í —ºÆ@aÍÍ9— ñ— —————±r]Î)/Ч)xx§xx††µµçµÆ@rra— ÍÍÍÍYYͲ͗rXâ/ /â»Î]]@X Í͹ww–pÍ r]%± NÍÃ_a±X@%@@%±—¹¹Í—±—SLwLÈ@]%@Ï]>†/†µ@±OäšÿxŠŠxx@[µ5Ýxÿ±#Í—_Y·È#NN¹aNÈ_x2‹?‹2¬§ÈŸL#ññЊŒŒŒŒt\‹Œ5t³/Ær@@— ñÈ µ@— Í9 _— —±Ò±Ò±Òr@@)/†µ)†††)[]µç//üŠ/ç/ÿÎ@Xú——ÍÍÍNNN#N###N_@µ//"ÎZXä#¢–Lw²äa——ÍÍNN¹È²$—Òar±a Ò±±¹SS«NÍ—a)††>µÎ@rÒx55555>†§x5§/]$ä—  —@Ò·N#Y NÍ9Ò5Œ2‹o‹Œ§È…ESÈ—ô]犋\Œ§¬Œ¬§5Š[]r%@Ð@@r@//ç@—Í9 —  — ±Ò±Ò—±@@])»»[)µ@@%±±±r%@@µç/ŠüDt5Š/»%±a— ÍYNpSSSpNär±ñÒ@±±@± #SuuES9— —Í¹Í —9Np#NÍ9Í _ÍÈ#SSEELLN Ò@rÒr@@[]///⌋ŒŒ2‹5Œ5ŠŒ5†ÿXaÒ@@]ÒÍa—û¹±µµ5Ý2‹\‹ŒÈ…EpÍñ—ѳŒŒŒŒŒŠŠŒŠŠxr Ã±][ÎÆ)犊D/@ ÍÍÍ—_——_ ² ±±%@@]Î@@ÆÆ@@@±±Òa_ä—_ 9__Ò@ç//ŠŠŠ/»ÆZ`@rÒ±±ÍY¹NNp–Lw#NÍ_9¹pSLþ#99yra ä_ÍSSS}SYñ Y#SwE“uwNNN#ȱ@@Š55¬‹‹2‹\\‹‹ŒŒ5ŠÏÒ]µ@ ²Í͹ ±rµŒ¬Œ2ŒÝ†Èæ…½#%)§5ŒŒŒŠŠ)»»)@—Í9 ñÆ%Æ]猌ŒŒŠr±—9 Í_Ò±¹_±ÒÒ%%%r@r@@]ÎÆ@@@%r±aaOa— ÍÍÍÍÍ Í—±%Ì]ââ>ŠŠŠ @—ÍNwLwS”ÍX±± È¹È—Ò—±± Ò%——ñÍNSpwþLN__9#wwE-ßEE-E—@µxxг5t5\o{.oo?\‹\§Šxµxxµ$NNNþLN]ŒŒÝ§§H†È-½– ][xŠŠŠŠ†)†%ô]ÆÒ ÍÈÈÍô%)†§ŒŒŒŒ¬xµ@º±Ò_—— —ñ———r%@@%Ò@@%]r]@@µ††çx↵µ`@%%±99ÍÍNN#Í%@@@]µ@@±—ÍÍYSwNÀNÍ—Ò±±± ûÍÍNÈÈÍÈÍYÍÍ99NSL«þLSSNNLwSEE--EœLC/ІÆ[µ)xŒ{Q!ªª.¤o‹‹\255ŠŠxçµÒÍ NS–Kpä@§Ý§§)ÈwNÍñô@µ/ç†ÏÐ@ÒrÆ)Î@ Í²ÍrÆÎ)/ŠŠŠŠŠHŠÎ%rr±±— ±±ÌÒÒ ]@%@%±r±@%±—Ò±rX@Îç//ü/Šü/ ç)Æ@%r±± ÍNNwN· 9²Í±ZµµÎ@±ÍÍN4NÈ#NÍ_X@%±Ãû#SSLpLS·_Í Spp(pwwáuLíNwSLEE}¹â%±1>†x\{iÚb‡¸›.¤o??Œ55Œ5犊@Í NN±@µx§§§HFµÈ#² ±Ñ)/§†»Æ@r]Ɔxx[—ȹÍ]@»Æ)Šçç/x/ÆÒ±a——²Ò±%%±@±@@%%@@@@@%@%±±ñ_±ñ—Ò±%@@@Æâç//†/çε@@a ¹²Í²#ppÍ—%@@@%@±± ÍÈw”LS# —Ã—Í ÈÍÈNwNYNwNwwL-ELw¢NwwLLÍXrÍȱ@/ŒŒo›¸žžžbÚª.¤{o‹¬‹\‹ŠŒŽ5xµ]±Í²%x§H¬5x†È}LN9ÈÃ@ê§xµ»)»)/ŠŠx)Ò È raÒ%%Ð))†/xç@ôñ—  OÒ—±±Ò%r@%@@%`]@@Æ@Æ%rr±Òññ—Ín_— —±±]@ZÎçç/ç)Î@@%±—Í#ppNÍa@@]]R±Ò9##pSLLpNNÍ9ra—ÍNÈÍÍÍÈppwLLEEEœ-«EE––SSwÍ͹N9±@ÏŒo!<žžžžÚ誑.¤?\oo?\oz‹Œ5x@$OµŠ/HÝÝ5§HÏÈß-«P º>†)//D5tŒŒŒ5x»Æ%—¹Í ÒÒ@[[)))@Ò%ñÒû@Ò±±±%Ò±±ÒÒ±r%]]]@@εµµÎÿ@]X$±±— ñ_————Òô%Ɔ犊††»@r #p¹ÍÍÍ—±— a @@—·ÍNpLpN#—NpØÈY¹píSpNwwEEEE-EEEw¢#¢N¹Í rÿtQ@»@µ@]Ò—ÒÒ±%Ò±Òr±%%@@@%@r%%%±Ò±±r%@@µµâç//xŠxµ@]±a͹Í_—r@µ@]@``@Ò9#NSw#Yä±± ä¹NpSwwLSwSSE«EEE}L–pNNSNSEE-I£-wwN9#LYZD‹Q¸bžmÚ‡i¸¸i‡i¸.›¸.‘‹§xxxH¬‹¬§¬§HÈ–--“½íÈr)†ŠŒ\?\‹‹\ŒŒŠŠ)@rÒÒ————]@@@)âµ]O%%±Ò±Ò r±@%@@@`@@]]r@Ò%ra—r%]]]@@ÆÎÎç†//çÎÆr±ra——r@@@@%rr@@]±@ ÍÍNN#S#ͱ±aa Í#í”pwLEEE---“-E-L–wwwLEE“£-LS¢NSNÍrµD¸ibžžžbžJ‡Ú‡Ú‡¸ª¸i.¤Ý§Š†§‹Ž¬Ýݧ§öÈ-WË’uEPp$@)Š\\??\?\\ŒŠç]rÒ± Í9 Ãô±—Ò]Æ»5ŠÐ@@±——±ÒÒ—Ò±@%@@@Æ@Æ@@@@@@@±±Ò%%%@@]]çççç»ÿÎ@@%%%±ÒÒ±Rr]]]]]r]%ñ —ÍNppwNNäÍ—ÍÍ9·È#pwLþ““-£-I££EE–wwSEEEELLSS(S¹@Š!‡ÚÚÚÚbÚ‡ÚbÚ‡¸iÚi.?Œ¬ö¬‹‹‹¬¬§¬§È……WŸEßw @)Ч\?{¾??\tx]±——ÍÃÍ Ò± ——%])ç\\µ%±Ò±r%±ÒôÒÒÒ±r±@`Î[µµâ@@[@@@]@@@@%]]@)>Îÿ@@@%r±Ò— ±±º±@±±±%@@r_ÍNNN#Sp–Lp(NNYNN¹YwSSSu-E-«EELw3–LEELwpS~KS—/Œ?!ÚbbžbÚÚžmžžÚ‡èÚÚi!?Œ¬‹Û^‹^‹¬Œ§È,°…-}–ÈÒΊ†Œ??¤.Þ{¤\tx)—Ò%]@r_ —@†³22Œ§)»@Ò@%@@%@%r±r±rÒrr±@@@Zÿµµÿ[@@]Z@`@@]@@]εε»@@Òñ_ _Í ñ—ÒaÒ±Òñ ÍÍÍÍÍ#pw}}–3LELELþL3SN4ƒNpSSEEEEE«E–áLES¢44NSEE_Š‹Œ.‡žÚžÚmmmžžbÚbbÚ‡.‹‹¤‘Þ‘¤Û¬¬È,,,¼Ë“-–PN@µçŠŒ\?o..¤\ŒŒ§†Ð]@ƵrÍÍ @ÎxŠ55§†µ%ÒrÒ±@@`@@@]%±@r± %r%@Î@@@@@@Æ@@@@@@)µÆ@@@@rÒ—Í$Í—ÍÍÍ —ÒÒ±  9O͹NL”LEEE---«ESLpwSSSSáEEEEE–ELLLSwpL«/\ŒoÄžžžžžžmžžžÚ<‡ÚÚè.¤ooÞ›i›‘¯Û¬ÈW¼W,…W-Ÿ“L——rƆ5‹?{.¾{o\Œ5/)rrÆÎ]a— —@µ†/xµ]%Òa—Ò——Ò%]@ÆZ@@@%%ÒÒÒ——@@@Z@@@@е@@[@]]@]@@@]Xra— ÍN¹NÍÍÍÍ 99 äÍÍ_ÍY¹NpLEáEu3EEEE3EEEE-EEEuLáSwSwSEL D\.!bÚžžbmžÚ‡›Þ.›ª..¤o‘›ª¸ÞBÛ‹È-W…°W-°¹¹±Æ†t\¤..{o?ã\\5/ç)µ`Ò Ò@@Æ@Ò»)]ÒÒñ±±±±—±——ÒÒÒ%@@@µÿ@@±Òr]@]@@@@]@@@@[@Ð@Î@@%Ò———±±r±%±9ÈNNN#p#pN#¹¹NÈ4NN¢wLSLSLLEEEE«EEEEEEE3EEËË--E“ELEE%Œ{!<ÚÚÚÚžÚžÚb‡¸..››....‘.Þ›.¤^Ȱ……WËŸ°“LSpÃÆ†/Œ?{.{{{oo?Œ)]Ò—±%@%%@@µ††%±±Ò—ÒÒ%%%@±±ñ±— ñ±r@]@@@rr±Xr%`[@]]]@ε@@@@[@@%±ñ Í ÍÍ_— ——ûNNNwSSSSáSLLSSSp–wEL3LE«–3L–3––uE–LLE“----““þE–¢Æ\.ª¸èbÚmžÚž‡ë.›¸..ª¸ÞÞ›Þ.Þ‘¤?ȼ………æWI½SLÈÒÆ†Š2??\ð?‹ŒŠ@r%——@@@]@@ç/rr±±±±±r±]@]]@@@Ò—  _Ò%r@@XXX@@@@@@@`@@@Æ@[@]@@@@@@]@]%Ò  Í##N9_9 ·È¹N#NpNSpLLLE«E«E«L3EEEEEE–ELLwwSSàEEEE-EEw–EL¹Î2o.Q!<‡iª›Q.o¤{.Þ.ii›ª›iJª›‘¯ÈWWW…,¼°«wNÀ  @ÎxŠ‹\\‹\‹ŒŒ/@——²¹ÒZ@]@])x/Ï]rÒO—— ———_—arX@@@]±ññÒ—ÒÒ±r%@R%±@r±%%@@@@]@@]@]@@]r]±rr±%± —Ͳ²ÍÍÈÍ ÍÍ9Í·ÈÈNSww–}LE–3–EL}LE-EEEEEEE333Lww–EEEE–Lw–LE(—µã\?o¤ª.›¤?Œ2‹o‘..bbiÚbª›‘È““°W¼¼Ÿ“LNNN Í—@[†xŠŒ5Œ5¬§)Ðôñ ÍNÍ rrZrÒ)Î]Ò%±—a_ÒͲÍÈ·ÍÍ  —@@@@@±Ò—±±@@@%r@r]±r%r@[@@@@@%%±±rÒa— — ———ÍÍÍÈ͹#NÈNÈÈNÈN###SLLLLELEEEEEEEE-}EEEEE«EEEEELuLEELìS †§Œ‹oðo‹Œ5†Š2o.o.i‡ÚžmmžJÞÈWŸ“-WW“N¹È² $%Îç)x/çŠxŠ)] ÍÍ##È͠Ͳ±—Ã]@Ò²Í —_—±Ò±ñ_ñÃ9È·¹Í —ú@R]]@r±arrrr±]@@@]@@@@@]]@]]@]±±±±±——  ÍÈÈ##pSSpSSSN¢N¢NSwSLEEþELE«EE«EEE’E--“EEEEEEEEEPE«EES~#Í@Îç/)/D†[†x2{{.›!iÚžmmmmžiªÈ…ŸEŸ--p¹È —Ò]@@çÆÆÆÆÐα²ÈÈNpp#pN͹È_ñ  ²#¡Í9—Í _ÒÒrrra——ÍÍÍ _——±@±@ÒÒ±X@@@%†[]]±@@@@µ]@rXr@rra±raÒ——ÍÍÈÈ#NSpwwLLS–LLLLLL–SLSE}EE–«E–3KPEEßE--I-I--EEEEELL–E}p¹# Íra%µx5?o‘.›¸ž„m88mmªÈW“pEŸ…ŸS#N @Æ@ÆÒ]µÑr Ò—Ò±Ípp#pNÍ _ÍÍÍÈ#NÈÍͲÍ9—arR±r±r±Ò_—_ ±±%%ÒÒÒÒÒÒr]µÿ±]Òr@]@]]Rr±rRarÒÒÒÒa—— ÍÍÍÍ#NpppLSLLLE}LELEEEEEEELEL3LwL–LþEEEE“I“I£“«EEELLEELE«EìSYÍr>/§2oo..¸žmlÊÊlmžÈ-SPŸwpP¹ ÎÒ$r— ¹Í¹ ²–ppíwS–pp#È ÍÍÍ  Í ÍÍÍNÈNÈ99—Ò±%%%]@ra%rr@%Ò±ÒrÒ@@[]]rÒ±%@ÐÐ@µ@rXr±±Ò±añ ±— ²ÍÍÈNN###N#p#SSLELEþE-E«“EßE-EEEßEEE–LáL3þEEE---I--“E“EELLìL~Lu«EN²—@†x§§2...¸b8Tjl8žÈípPí4í«íN$@µÐ1²Np#¹ÈȲ¹}ppNpNNNNN¹Í$_ñ—Ò———ÃÍÍ99— _——±r±±@]@@@@rrÒ%@ÆÒ—Ò— r%]]@r[/µ]@@]ÒÒ—±ÒÒrÒ ²¹#ppSwSLLwwSSpSSSLLPLLEEEß-E“E“-EEE-EE-EEE“EßE“---“EEE3SwppLN²Òµxݧ‹.›J:8jlmbÈÍ ¹#íÈnpͲr»Zr͹ ÈÈ—#ípppN¹¹pNpp##NN4È_—±±——ñ $ _  — ±ÒÒ±r±]@@rÒ —rÆ)µrÒ———ñ±Ò—%r[//x†>rrÒ%r@]@rÒ—Í#LLLíSSLL–LLE3LE3EEE-«EEE-E--E--EEEE-E--E---£-“EEþPwSN¹ÒŠ‹\‹^¤›!¸žmljjlmmÈ$—²#”íȠ͹ —±@@%ñÈ#²%ÍÍÍÈíLSípppNÈÀpÈÈÈÈNpßw# ÍÍ—ÒÒ— — —ñ ——9a±r%r@r±ñ—Ò@çxµ»@Ò—±±ñÒ]])†/xÏrÒr@]]@@r— ÈpLpLLLLEE««E«EELE-EE“---“-““““--EE«----“-“-“ßE û@Š2o¤‹o.›.¸žm8jj•88mÈ —ô_9ÍÍ   ÍÍô—ÒôÒ  —± #ÍpL}ííLpSLpppÍNnNSp#NÍÍà—ä Í²ÍÍ —ñ ÒÒ±r±—  Ò)µ†§/†ÆrÒ$—Ò@Ï))xµ]]R]]еÏ)>µ@—ÍÈ#ppw–SLSLLLìPEEEEEþ«E«-33EEE-E“-£EI-“-E-£“---E“-““I“EE²±r[5{.‘oo.››i„8TÓjjÊTllÈ$$—Ò@Òrî $  $ôÒrš @ÒÒ N#½-P}wp4#ppLEPpNÍNNNNÈNNN¹NÈYÈÍ_ ñ  _——$—±——  Í  ±@]Îê§5†µ]ÒÒ]µÐ[[[]]@]r@[µ†Fx†)]ÒÍn#SípLSSSìLLLLLELEPEßE-«-E-EEEEEE“-“I-I£E--E-EEEE–EE}«S—@µ†Œ?‘‘.›¸immjjjjÊÊÈñ²$îrr%—$ ÒÒÒÒÒ%r±—²ÒôÈpíß-«íp¹È·N4LPþLpp¹È¹È#N#NN#NÈÈÍÍñ———a——ñ— —Íä  Òr)犆µ]@Ð)>Ï]Ð@ršr]][[†FFxHx††]— #pSpppLLLSLLLLLLáEEEE---«-EE-E--E£-I“£ËËË££-£-“-«3SLSSN]ΆxŒ‹o..!!žmm8ÊjÓÓÈô ô ôÒôÒrrÒ@rÒô— ±ÍÍñ ÈL«-E«½«íÈ99·p–}pÈÈÍÍÈÈȹ¹ÈÈÈ####¹ÍÍ—ñ± —Ò_—Í͠ͱÆ)/Š/Ï/††xx†µÆ]]ršrr]Ð)†x§§§x¬§x†a$Í#####ÈÍNSLPLLLL«EEE-EI“------IE--I-I£I“I£ËË“-þLS#SSÈaÏ>†52?.!›!iÚžm88ljjÓòÈ]]rrrÒ%@@]@]îO²¹ní¹Í«-«ßEp¹È#pLLS#ÍÍNÈNÍÍYÈNÈNNN¹Í_Ò±±±—  —Í —]†§§§¬ŒŒ§x§xx†)]ÒÒr@][)x§¬Œ¬ŒŒ‹¬x†@]± ±—Ò $²— — NSLSwpL«-ßE“““-EI“I“-“£“I-“°“-ËI“£°£“up##NNN$ZŒxÝŒ2?.!ii„mžmm8ljòòòȵ))Ð]Ð)†)Ï]rô$¹¹ØLßNñÍ”“ßL}E½«ww–íLppppSßEwpNN¹ÍͲÈÍÍ Í—9  —Ò@%Oa—Ò]r%]φ/§5\?‹¬§ê†H§x†[rÆÏ)xx§¬¬Û‹‹‹‹§xÏ]Ð@rr]rš]][]rû²# —þ«E-E-EEE-“£I-I“I“IËIË-££-°°IPÈäC$Ò@Ï5\2Œ‹o.¸iž:mmmmlÊòòòòÈŠ§Š†))††)]š²¹pL ±#}’ß-½}}Ÿß-Lß“ELwSpY4LLLLPpNNNNNÈÈÈÈNͲ9Ò± Íͱ@Æ@)µxŒ‹??‹5§§x¬Š§†>†††x¬5¬5‹Û2‹ð‹‹¬§§xç)]]]ÿµ)†çµµ[@Ò¹—±ÒÈ#““ßE-E“-£-I“-£°£ËË£-ËËËø£°ËßSN rXŠo.!o‹{‘.ªbžmmm8mž:TòòòÈŒ5§x††††Ð]—$¹íPP¹pP“½“õ˜“--E““ “---Eß«LLwNNNppLLp–ppppNN¹ÈÈN¹ÒÆ]Æ@]І§Œo?‹‹‹5Ч¬Šxxx§x§§§5¬¬‹ŒŒ‹\¯¤o‹‹55§†>†§Š§§§§xxµ]r@r—YSPE““£“£“I“I“I££ŸIËIËˣˣËW£LN$ar@µ^!b¸›.!ibÚžmm8m8„ž:ljÓjÈ‹¬Œ§xÏÏ[Ð]ršO$n”pß«-“…ËWŸ-ŸE}u--Ÿ“-L-½–pípppwppL–pwpSS–¹r]—$îr)ŠŒ‹\\ð‹¬5¬§5Œ§§§§H§§¬¬2¬¬‹‹^¤‘¤ð‹Û¬5öx§5ݧÝݧ§§xµ†Î†[@±ÈSLEI°Ë££-£Ë-ËËËËË˰ËùW££I“Ep_rR]ÿ5.žžb›iž„m888mm:mm8TjTÊjÓÈðŒ¬x†[Ð]rî $¹ØØ«ßP«Ë“ßí-ß“ŸË-Ÿ°Ÿ“E--EL–½ßEßELLpLSp–SpLSLSLLSLSpÈÒÒ—r@†x¬Œð?ð‹Œ¬5§§§¬§§§§H§Ý¬Œ¬5‹?‘¤‹‹‹‹Œ¬§x§§¬5§§ö§§§x††Š§†]$NL--I£°Ë£°£Ë££Ë£ËËù˰˰£Ë-L_±]ÿŠŒ.óžÇž„žÚmmm88l888mm„88lTÊÈ?‹§x†[ÆÐrOO²¹¹”« õŸW-L««EE-ŸŸË-“Ÿ“Ÿ-wS–-«----LLpS–L–LLLPSNÈ rÒÒ]†§Œ‹?^‹‹ŒŒx§xH§Ý§x†ÏÏF§§†§2‹Œ¬Œ2Œ§¬§§§55§§§§§§Ý§ö§52Œ§]nL“““-££--ËIËI£°IËËùËËËI-£-L—µŠ.ižžmmmmm888lllll88žÚm88jÓÈ\‹§x[)ÐÐrršš$$¹nØL½ŸŸ“«ØPPP “---“““ß-ŸßE“ß”L}E}---½ESLpLp–pLw#ÈÍÍOÒ—š)xŒ‹?‹2‹¬‹¬¬xH§§§xF¿1ÏF[φ>FF†x§§§§¬§xêHx§§¬¬5ÝŒŒÝÿ±~ø££ŸI£ŸIŸIŸI˰£ËËùËËËWW£Ÿ£“EßäŠ2.›mm8m8llTTTTTTl8žibžmTÊÈ^¬§ê)Ð1îšO$$¹¹¡”~””ØØߟŸŸË“E–-ËËË“EwSP««ß«EßEß“EEß-««ßE½Pí¹²$Í—OÒšr][ÏŒ?^‹¬‹‹‹¬5§x§Ý§öx[1šš¿]1111¿]Ïêx§êFxêFFFFHݬŒŒ§§§@qNßW°ËËËIŸËËËËWWËùËËËIWWW-Ëø-E“RŠ2\\.óm888TTjÊTÊÊÊTl:Úi‡¸¸‡ž8È?¬xÏÐ]rOO$q$$¹n¹n¹n¹¡ØØ”Ø”«ŸŸWŸ«LL«P~¹È#”3Lí--“-EIß-«-ß“ß-ßE-N  $$—Oš]ÐÏ5‹^Œ2Û^‹¬¬¬¬¬Œ¬xÏ]UUšššš][¿†H§xH†FµÏ)†xŒŒ‹¬ŒŠx—“-ø×…ËËË˰ùIËËËËËùùWæW““Ë-L#@ç5\?.¸bž8TllÊjjjÊTjT8ÚièbbžèÞ.È‹§ÏÐ]OO$ÖÕ¹q¹¹Õnn¹¡¡¡ØØ”P«ßßߔؔí#¹¹N¹#ppSL“ŸËŸËE“«LEEEE«P#²$$$$îšrR]§‹‹22¯oo‹Œ¬§xH†F[UUÖUOUOUU]1][êxÏ[ÏÏ[[ÏÏx§¬¬5¬§x “…˜W,W˰ËËWW………W…WW…W…WË£-ßþN±O>†5ã.!imTjÊÊÓjjTTT8‡¸ªªžžb.oȬFÏ1$OÖ$²qÕÕ¹Õn¡n¡¡¡nØØ”íPLL”n¡#N¹¹¹n¹È¹È#NwE-““Ÿ-“EPPE-ßípnÍ$OO$O$O]Ð)§Œ‹¬¬^‹ŒÝ¬x>¿1[U$ÖûÖqqÖOUš]Ï[¿¿¿]¿][µÏFxH§Šx)²W˜W…£“LEþ-W…æ…˜………W…WW…-EE“E”9±R[Š5ã¸ÚbmlÊTjjjTTl8Úb€oŽo¤o?QȧÏ]]Oî$O²qÕÕnnÕn==¡n¡¡¡ØØí”ØØ¡¹n¹¹¹¹ngn²²¹Í#¹#”Eß-““-LLS”E“PL#ȹ#²O$$²ÖÖO])x5ŒHÝ‹¬F)[1šÖUOUÖqqqqqqqÖÖUš111111¿][[ÏF†x§†[²«-W-þN —YS-W…˜…………………W˜°E-ß-–pÈÍOrÎx?ómžm8llTTTl8mmžž¸‹>]@µ§¸È†ÏÐ]šî$$²²Õnnn=¡¡¡'Øn¡¡¡¡ØØØgعn¹n¹nnn²¹¹¹¡”NLSLP½-EELì¡nN²²OO—$qqÖC]ϧ¬¬†x§)11OÖûqqqÖqqqqqqqqUUšš11]1[Ð[ÏÏHxx†Ð—”EMõ«±µ[r”Ë…,,………………W…ø«E«“«#Ͳ$εçŠ?i„m8mmmm8888mmmmmJŒ>—OÆ2Èx[]rrOO$Ö$q²nn'n¡=¡¡¡¡¡'n'¡Ø¡¡nnØØgn#gn#n²²¹#LíLL«Mßí”í”#N¹#¹²$—aO$Öq²ÖU1[Š5F[[]]U²qqÅn Å  qqCUqOUš111]1]ÐÏÏFxxxxÏa$O—ÒÎxxN˜,v||,,,|,……WIEË-È][ÿxŒ55‹Q„m8888mÇmmm8mmm:§ÏŒ.žÈ†[]$OÖ$qqÕnÕn¡=¡¡¡¡¡¡¡nn¡¡¡¹#¡Øn¡nØ¡n¡nnn²¹¹#ØL«ßLLLì”L”íL”PS#¹²$OšÒ$qqqqqO]/Š]]UÖnÕnq==n=nÅqqqqÖUUOUš11]¿Ð[Ï>êH§§öx>>Чöx§†]N|v¦¦¦¦|¦,|,,,…ß`â52‹o?o.‡m88lTT8mmm:88888m8b¤^‹!žmÈÏÐ]OOî$ÖÖ$qqÕnnÅn'n''n¡¡¡¡'n¡Ø¡'n¡¡n'=Ø=nnnq¹¹¡””«í”PSNN#S”Lßd¹¹$$$OO$$q²qqUÐ[Öqn==n=====qn Å qqÖqOUUUšš]1]¿ÏÏÏ>xx§§§¬5§x5\5tŒ5rdv¦G¦¦v|¦,|,¦|6Yšâ5©ãQ!!èmmm8Tjjjlmm88888888m!QèmžÈÏ]rÒî$O$$²q¹nÕnnnnnn¡n¡¡'n'¡¡¡n¡¡n¡'n¡=n'nn²²²²N#Pß-L#ȹ͹Ø”L“P²$²qÖ$$qqÖqÖqUUšqn =n==n====Å ÅnqqÖUO11¿¿[ÏFFFHH§ö¬¬Š¬¬¬Œ‹¬ðo?xOdv¦¦|¦|v¦¦¦v|da[†Š?¤¤{›¸‡b„8TjjÓÓÊm888888888ÚžmÚÈ]]rî$$OOÖ²qqqnnnÕn'Õn=n''gn¡n¡n'¡'n¡'n'nnÕn¹²$¹Èõ“í¹²Íq¹¹Ø”«M“P¹$²q²q²Öqû$UûÖq$ÖnÅ==='''='=====ÅqnÖqUUUUš111][ÏFxx§§§¬¬5¬¬¬¬ð¤{¾Þ¤¬@|¦˜…||,,||,P /5ŒQ›.›¸‡ž88TÊjÓjjl88888l•ll88mmmmÈÒrÒîOOOšOO$î$$$qqqnÕnÕnn¡n=¡n'¡¡''='n'nnnnnnnÕ¹²²²N“ßP¹Ín²²¹íß«L”¹¹$²q$qnqÖOOOqÖnqnn='==='''''==n=qqqUOU1111¿1пÏFxx¬H¬¬¬¬¬ŒŒ¬2‹?..¾ª.¤‹Ð…,ËËËø“-“w]üo{{Q..›!!i‡mlÊTjjÊÊl88888ll88mmmmmÈ$ôrîôOOšîOîOUîš$qÖq²qqÕnÕnn==nn='nn'nnnnnnq²Õ²$¹²¹ØßELȹ¹²Õ¹n¹í«”¹$$q$Ö$qq$OšUqqnnn'n'''=g'='n==qÖÖ$111¿]1¿Ð[ÏFxH¬¬¬¬ŽÛŒ¬Œ¬¬Œ¬‹‹o.¾BÞoŒê WWL–Ew·Íy²Z\.!›.!.›...¸Úž8ÊjÓòòÓjjTl888lll88mmmmmÈq—ÒOOO—ššOOOOÖ²ÖÖÖÖOqÕÕÕn==nn=nÅnÕnÕÕqÕq$¹¹”P”¹¹¹¹¹n¹”«PßP¹$Ö$OO$qqq$UÖqn==n'='=Ù'='===n=ÅqqÖ1111¿¿Ð¿Ð[¶ÏHH§¬¬¬¬Û‹‹Û‹¬Œ¬¬¬‹?o.{?5§>d… ²È @>x†5?.ª¸iii.¤o{ªbm8TjòòjTT8888TT888m:mmÈ ÒÒÒ—$Òrr]r1OšÒšîÖÖqqÕÅÕnÕnÖqÕq²²$²$²¡Ø¡¹²¹¹¹¡Ø”íí¹¹$$OOO$Öqqqqq=n='=¡'''==='Ù==ÅÅqqÖÖš1¿¿¿¿[[¶FFêH¬¬‹Û‹‹‹‹‹¬Ý¬¬¬¬¬5¬¬‹5xÐ@í¦…– š@>xÝ5Œ\Q›óbbbÚ¸¤oQ!ÄèmlTjjTjjj888•lll88m8mmmȹ ÒOîôôîrÐ]¿ÐÐ]1111îîOUqqqqqqqqq²qÖ$Ö¹$$ ² Ò——$¹¹¹¹¡”PPPع¡¹Õ²Ö$OOO$Öqqnn=='=='''''======nÅqÖÖU1Ð]¿[ÏÏÏFêHH¬¬z‹ð‹Û‹Ž¬¬§¬¬§Ý§¬§xÐrÒ $#vWE¹ÿŒ\\‹?Q¸¸žÚbÚi.{.!.??m•ÊjT88TÓjTl8T•l•lT8mmmžmȹîOÒ$ôšš]]¿Ð[[[[]]]Ð]]¿111OÖÖqÕ²q$$Ö$Ö²$$q$$$$îq$ Ö$²¹¹¹íí¹Õnnn¹ÕÕqq$Öqnnn=¡'''Ù'='======ÅÅnÖÖÖUU11[[[ÏFFHx§¬¬‹ððz‹ÛŒ¬¬¬¬¬5§§¬x§x]²PPM®®¦æ½@2{\{ªibžÚžb‡ª¸.‹^?\€88TmmlÓjlTÊT•T8l8mmmÚÈíÍ—îîOOrÐ]Ð[)[[[[ÐÐ1]11]O$qqqî$$Ö$qÖ$Ö$$Ö$Öq$²Öqqqq¹¹nnÕnnn'n'nnnnqnnÅn='=''''='='====Ù=ÅqÅqqÖÖïï¿Ð¶ÏFFHH§¬ÛÛzBB‹Û¬¬¬¬Œ¬¬§¬§H§HxÐq |¦®®®®®vVpŠ\‹5;.€žžbÚ<¸\Œ{.¤!8lTl•ÊjjjTÊjÊT8888mmžÚÈíØ¹îÒÒrO][))F[Ï[ÏÏ[[[¿ÐÐÐÐ1UîÖ$$î$$U$$Ö$$Ö$$Ö²qqÕqq¹²Õ¹n¹nnn'='''''=n'='n='''Ù'''=Ù'======qqqÖUUšrÐ[¶ÏFxH§Û‹‹ðoð‹ÛŒ¬Û2ŽÛ¬¬5¬§§Hx§Ï±…G¦®®®¦¦¦“"ŒxôÎ?!‡Úžó‡‡èÚ.¬?{!¸èžm8TTÊTTÊTlTÊTl888mmmžb‡ÈP$ôrrr]Ð[ÏF††FÏFÏÏÏÏ)ÏÏ[ÐÐ11OîîOO$$U$OÖ$qÖÖ$Õqn¹nnnnnÕÕnnn''''å's'''''''''==='====Å=ÅÅqÅqÖÖÖÖ¿[ÏFxH§§ÛŒ‹ððð‹¬Û‹‹‹Û‹‹Œ¬§xF)†Ïr¹ |¦¦®¦v¦®Ÿ]@͵QóÚi¸¸!óÚQ?.¸bžmm8l8lllT888l888mmmžžÚè.ÈØ¹ôrrrr1]][Ï)ÏÏ)HxH†xφÏÏÏÏ[ÐÐÐ11$OÖqÖÖ$Öq²qqû$qqnn=¡=¡'n=n=''''&&sssåsås'''Ù'Ù'==Ù=='Å==ÅÅÅÖÖÖÖïUU1ÐÏÏÏH§§¬ÛÛzðB‹‹‹ððBoð‹‹¬HxHÏϵ†F]$p ×|v,¦¦¦½í¹9¡${žmÚ!¸¸!¸!.{!ižžmm8mm888888m8mmmmÔžÏÏ[[Ð[]Ð11OUq²q²nq¹qnnqqq²²Õn='''='n'''''ss&&s&såså''Ù''='=Å====ÅnÅnÖÖÖïU1[ÏFê§§¬¬‹‹ðððÛ‹ððBoBð‹Œ§†FÏÏφϚ #«W˜W¦¦GM ]Æç{mmmÚÚèÏÏÏφÏÏFÏF[[[Ð]1îšOÖqqqnnn''åss'''=''='Ù'''s'såså&s&sssåss''Ù'====nÕqÅqÅqÖUïU111¿¿ÐÏÏFÏÏF§§§H§H¬¬¬§§§FxHÏ]1]¿¿1¿]]]]%O Ò—— r)5©‹/x‹o??.ièžž„mžžJèžbÚmb‡..›ª.?¤..Þ¤o\¬Œ‹È]rÐ[µÏϵÏ[µÏµµÏ[ÐÐÐÐÐ]1OO$Öqqn=nn='''åssåsså'''''s'ssssås&ås&ssss''='Ù'=ÅÅÅ==ÅÅÅÅÅqUUO1¿¿]Ð[[[êH§êÏꆧx§xê)ÏÏÏÐ1r]1]1]¿Ð]1OÒOôÒr†§5†††§5‹‹?Q‡Úžmmžª{Þ‡bžmmmª¤..‹†Št?¯\Œ†D\Èr]1]Ð[†Ïϵ¿ÐÏÏÏ[[[]1OU$Öqqn=''''sssså&ssååså''''såsssssssssås's'åå'='Å'Å=='==ÅÅqÖÖÖÖqï11111¿¿Ð¿¿Ð[ÏÏ[[¶[[[11111¿1Ošš1]]Ð1rrrrÒîr][)†Ï[φê§5§¬‹oQ.ižmž!©2{ªbžb‡Qo\o.{‹Ï††‹\5†‹ðÈ]r1]Ð[[Ï>Ïϵ>ÏÐ]Ð11]rOÖ$ÖÖn==n'=''åå'åssss&sssssså&åsss's's'sssås'ss'sÙ'''''Å'=¡='==ÅÅÅÅÕqqqO1111]¿11пп¿¿¿Ð11îUšUUOUUUš]]]]]]]rrr]]Ð[[[ÏFF†êx¬Ý‹t.bmb!\§5‹¤¸<{?D\{{.{?Š)Š\ŠŒ¤.Èr]Ð]][†ÏµF[]¿11rOUOUÖqnn=n''''''''sssååssså&&å&sssssåssåsss'ss'''åÙ'=='='Å='Å==ÕÅqqÅqÅÅnÅqÖO11Ð11111]îqqqÖUšUÖqqÖÖÖÖÖOš]rr]1]rr]Ð][)F)Fxx§§Ý5\.ª!Œ†]¹¹/‹oŒx\o.Q..?5Š5Š\¤{ÈO11Ï[ϵ[¿]]U$ÖÖO$qqnn'n''s'ååssåsss'sssss&sså'ss'ssss'sss's'Ù''''''Ù'==Å=ÕÅ=ÅÅqqÅn==nÅqU11111ÖqqqqÖOUqqnqqqqqqÖOUOš11r1]]Ðr]][ÏÏ>ÏF†§¬H¬¬¬\.!¤5 Ÿkí@t‹Š\?..{o‹x)§Œã{Èšš1]Ð1[[]OÖÖqqqn==n'''sssåsss&sssss&ssså''så's'ss''s's'''''Ù======Å=ÅÅÅqÅqÅÅÅnÅ=====ÖU1ÖqqqqÖqqnÅq qqqÖ$Or11Ðr11Ð[[>F†Ïx§§¬¬Œ‹‹\?\‹Z«…Pô 5xŒ\?ð??F†¬o{ªÈrššš]1][Ð]OšOÖqqnÅ=Õ='''sss&&s&s&&såsssssås'Ùs'''s'ss'ås''Ù'='='''=====ÅnqqqqÅn=n=ÅqÖUUšïïqnÅnÅqÅnÅnÅ=ÅÅ ÅnqÖÖÖUOî1]11Ð[ÏF†êx§§§¬Œ‹‹Œ†]$ ¦…L@/†x†D‹\\o‹\\o.ªÈšîO]r1ÖOUOšUqnq===''''ssså&&&&s&såssssss''''Ù''s''s'Ù''s''=''''Ù===nnÅnÅÕÖq qq===nqÖÖÖUÖUîÖÅÅÅ===Å==nnÅ==Åqqqq$UOOî]1Ð]¿ÐÏFxHx§¬‹ÛŽÛ‹‹Û†VvGk9ÆçÆÐЧxŒ¤o{Q.{{!óÈ1šOÖOÖïOîOÅÕÅn='n'ååså&s&&&&&s'å'sås's'Ù'''''ss'åå''Ù''=''=''=ÕÅÕÅqqqÅqnq==Å=ÅnÖÖÖÖÖUîUïïÖqqnÅ=nn=Å =Å=Å= Å nnqqqÖÖOUU1][ÐÏ)Ïxx¬¬Œz‹ð‹‹‹ŒxÕdG×Nº»/š²%@)‹\ã.!¸.ª¸iÈšOîšOOUOÖUO$UOUîUÖqn=='='''ss&&&&d&d&s''ssås''s'''''å''åssssss'ss'''''=ÙÅÕqÖÅÅqqqqqÕÅ=qn==ÅqÅqÖUOUÖUÖqqÅ=Å=Ån=ÅÅqÅ ÅÅ=ÅqqqÖUUOUO11][Ð[ÏÏFH§¬Û‹Bð¤ÞÞ‹Û5@) |¼#@§/Ò¹#r)\?.¸¸i¸¸È]]OOOUîOOOUOUOÖOOÅn=Õ=n=''åsås&s&&&&&&'ååsss's''''''ååsåsså&åssss'='Ù'nÅ=ÕÅÕÅÕqqqÖqqÅqÅÅÖšUUÖqÖqÅÅÙ=n=ÅÅnÅnÅÅ qÖqqÖUOOšïš1]¿Ð[Ïφx§¬‹o¤Þ¤¾›ª.ð‹xx§ «EŸd//Î ÈØÒ[tQib¸›!iÈrîUOOUÖU$UOUOOîUÕ='Å='¡''ssså&&&d&d&&&såssså's''å''å'åsåså&s&&&s&&&ss'''='Å'ÅÅÕqqqÖÖqqqqqÅqUO1ÖÖÖÅÅnÅqÅÅÙÙÅÅnÅÅnnqÅqqqqqqqÖU¿1]ÐÏ[φ§ö¬Ûð¤.ªªªÞ›ª¾?‹\Œç%qN— Œ/@—Ò\.!‡bb¸‡bÈ11rîOUOOUOÖÖÖÖšÖÖÕÅÅ=n'='''ssssd&&&&&&&&&åsss&'''åsåsåsååss&&&&å&sssåsåÙ'Ù'Ù'='ÕÅÖÖÖÖÖUÖqÖUUš1ïUqqÅÅÅÅÅ=Å=ÅÅnnqÅqÖÖÖUUOš1]¿¿[ÏÏFH§Û?oÞÞªÞÞÞÞ¸‡¤Û‹^ŒÍÕ%5‹‹¬†]µ©{‘!!‡iª¸ižÈ1]1ršOîUO$îU$ÖÖÖÖ$Õ==n='¡=''''ss&s&&&&&&å&&åsss'åss'ssåsåså&sås&&&sssås''''''ÙÙÕ=ÅqqÖUÖOÖÖÖUUOïUUïîïÖqÅÅnÅnnÅ=ÅnÅqqqqÖÖÖÖÖUO111п]ÏFFx§¬Û‹?B¤¾ªªª¾›¸Ú<¾oo^]¹$)5\\ŒŒxt\oð{....ªbžÈ]111UîUÖUOUÖÖ$ÖqÕÅ==ÕnÅ'n''s'åså&&&&å&&&ss&å&sååsåsåsås&s&ss&sss&&s's''åÙ''Ù'='=Ù=ÅqqqÖÖÖUÖUîUUUïïÖUÖÕqqÅÅÅÅ=ÅÅÅÅqÅqqqÖUÖOUOï11п[Ïφx¬¬¬Œz𤛪ڇc›Þ¾¸‡‡ª‡!ŽÏxŒ‹\\o‹\\‹‹?oÞ.ª¸ÚmÈÐÐ]1Ðr11OOÖOÖÖÖqq$qqÕÅnÅnÕ='n's'såss&så&&åså''ss'sås'åså&ååssså'sss'å''''=¡ÙÙÕÙ='ÅÕÅÅÕÅqÖÖÖUUUÖUÖÖUïÖÖÖÖÖÖqqÅÅÅÕqÅnÅnÅqqÅÖqUÖUOÖU11пÐ[ÏFF§§¬ŒÛÛ‹ð¤Þ<Ú‡c›ÞÞªª‡ªJ!¤‹5³¬\ão¤¯\\?oooQ.ibž„mauve-20140821/gnu/testlet/javax/imageio/ImageIO/Bitmap-24Bit.png0000644000175000001440000012637511632167152023045 0ustar dokousers‰PNG  IHDRȉæ>àsBITÛáOà IDATxœ\¼]¯,I’fæî‘YUçÜîžé™Ù].9"µÔR zôªý=êèYN€ @‰w¹Ë™Ý™îûq>ª2#ÜM‘uz¤ût»ï9YQ‘îæfæÁÿñú_̬ª2SÅù'3)Q¢ŠcŒ*UŒ(ÍŸ«#%efZåP "XUՇܽ÷>Æ0PRA2G•<‚ôÌœŸk”`¤Ü¬ª$‘TÑÌRƒt’ª (w¯*Òç’t3 @#3#–ÌŒI“ƒ; MJfVu<¼…™)$«,3kæÇ ÍÇ'Î娪ˆL#÷!iîÏ\pfÞ¿£‘¬ª*€$ w—d €À@%Ü}nXafA˜™9ÌŒ)w÷p¹»»/nhÍÝ`F¶¬q^—óºœN˲…Ûþ²ueJâ©ÅÒÀÞ³Öж¼¾þðôezÅËk,ÛÃãéâ'óaž5Fu ÞQlÑÄh|w9u>Ÿ×µyÀ!©÷.IE©HJ’”iUÕ÷XPª£Éª ế鞽rFÚñÕñzÆUE2«æF^0”ä°Ì¬ªãE’Å4" ÍßÂñq¨€I‡ÁŒóýU$’%(¥ÓæëÔñ;%ª*#yDIZˆˆ@3h¢ÅŒ¼¸„»Ãæß%ÉÌæ±\<$¥³zÍO3GÝ#ÈÜ!a~#bÍ3÷|þÿ‚œ–Y$Y2‹¹rÎ’ªjG9Ü€H4Ö$f!ªw4/”»½Æ"ŽÝ(æÀPº{X‹Á Ý•õ»OO¿ýûÞÎ}µw«)¶K*Í÷[±hP)‚å{¿…ùívËì§s3kÑSU")ˆÆ‘óïPyIhn=èîf–™3lÐT š‘TïHÒ¾ïnmfˆª¬*©æ¶ª#ŒómŽ1«‚»ÿ”'€ª"ÐZËLÞ"~¾æûÌÝfPš9c I‹™RIpË*§NèDTk¤™›ÃÝh4ÐÀ|ë2FV(‚4&d÷eÌbi #5Ȼ˹ªdÞ÷²J…’ä´ˆJ5w,;v©Ü€æ»²—ûÜÓ£Œˆ’DŸQÂòyʪdcªj €43·`lûUu¢¬*™y _[;-˾ï¯×ÛÓ땈—ýÇÿïoý7_ß8ÿ鯶‡ÓÇhÚÇØslϹÝòñt~YN‹•¶e][3s 2³¯ÍYD"晞5E‰™½ ª£èù@f&dÀÜwOf•ä³òQÝ‚¤žc¾ìypçÆUj”Ü=+ ˜Ul¦“ù—ùqG^2›e¢P÷t5sŒÏ¤2Ãqʬ›?e©Yªh’Æf&Î ­ˆpÓ|`Õh­‘%‰$2s†ŽÁÆ>ÜÝŒ#7oáîaNÒ¬4›+W„÷½H˜ŽLˆ€ bZûxÿs~Îù¶ÃóôšñØ|w–$çÏ›(3¡¬a6ªœ6æ‚ E ’§5ÌfíѪ0zefŽ1òÆh§¥í£ÿøùó篯 ÷¶|}-,c=½{yùúéÇóÇoûÀ@ïùé©þr}çË弯bv9?˜aiœÐ%«RH0«:ÒmUMd ÕÈ#Ís‰ûŸyŽý(ˆ³Ú÷=SÀDI%ÉÈTU• ¤È!Q© _jæ•·ztœf–$w7B*3srdÑ9Ï÷ÄpUEBª{T±t„KÍ¥fŽˆ˜/h. $)›ï åÈã½8-GI¬D¡ªr©ÊáðÇ­“à ˲˜H‚$<¤²ÞûQt¤áY²gHõÞgÔN¨úÇ;lf*C&¥Yúž­µù½È˜µ˜%#à%Ò`™"b+Aèé·>#ØóC|Y¼ Cµ¿n·½†"ËGÏÏŸòëóùj¿—>¾Ž±íÛûšý¶Û×çüò„—ë–úý?ùÓ÷ï[‹Ñš‘q>Ÿ3s߇$FUAн¸›rϘUQ2G `àÄž9 À^ifõ–¥fÎ=%Ì 9˜×š7ÚQÛ$™`³¸ò~ˆU¢¤ WI03'xŸQ;Où\vDô1·þXÛ à23H¤&Ÿ Ý-fެ¢@šfÂsTÍT7ÃÀQjAYØú¾D3kI¹Žljf}¤ŒN“Æãù–¨fÕ£·”ªpÿêÐÜpeél©œ_etJB!}fi:ØU!¼Ñ1 08|Å>{”ÌËiµÖ$½¾\¿~}Þ6~úzÛÒ>,úë¿Þþ÷¿ùTít}úýwg|÷ݹtÔÓ‹~ü1Ÿ^ñòôƒë[åþ§òÝØã©À1ƾァ»gf(ëí¥Ö™ùÌ.$Pœi#sF›eJtùHg» üÑ>BbIÇ #ìªFM¤ÓdÆ*•мCqÈé#‡îÀkö‰¥2Âܤ2²ÀÙš0Ä‘UÊZ×õˆ`÷ íç1ƒ;ÝœT%yÐŒ™5O¨œA â€L0á%Ü&$ä#E3+fLTb®YGH”§ªêˆZXLŒ(aÖ†ãޱŽT,(ÍlB”Àqà«&*(B9£qž.³‰IŒ¬£‡‹®dUÑZÉ+wKeæëËíz·=~óÛÏÖû£}ÍÛ_ýǧ´§K<ü‹rÊ^KëÛ¾|zúúôô\òÇÓ²4>¬±÷¬udU•™h±ØÌ 1_Û[Õ?vˆÖÆ(ÙŒ+sÚ£Fb‚3@Ò f·ë>3Š$ÑÃÍ<³D/ §½Õ…ª!ÑÝ…ÌìnA+)3C)ïíÀ䥻͊ARÊ™æÆã£Iš)›ãàÜ}¦L3Æ[.¬Çš‚¤"Q•3‹i»ŒPU¦~I4²ÅÄã#å%s¼ªdw™6Ûd³dÚðQ 0ûIî(b¶À(„UÉbR3¬Q³ˆ‹1Jq@R Þú˜£!¨ã”£œi€/!SÆä¾á–àè™Õ®·¾íúüçÿí‡ö9_n¹å3/ïÓÇëk|y¢¯cë·¶ú·¿9µúî~þÝåa-22sôcŒ1&åA2DÌ3º ž#"ÌaK(³Ã*ª(yÔÌfJäÈh¶!ŒÞ'šÉ}TäâÊb¯Q ¤Y¶ 9¡ñHÈ…U‰9ŠîN)FªÄÊ”»1Ïô&¨n„$óVu@"'ÓŠk¶qĤ±‘B%L˜%R0ùp3€ÅyüÌgßêÉb•s „Áƒ†2ÎXF)*’ÎÉpó!+“3I"UµƒUlB”àÞf¯j^äÌjÄkóµ%à‚„˜›SÇçÑ›™ëà‰ Ju[š§‰* IˆtÌdº|a\Ân5n£þúwùþÕçß}> ^5H¶÷áß^Öï™K÷Ÿ=œ¾W?û>X9Æ0£™©eÙû6öÖ~§Ëbds~øx¾\ÖËÅÃL£Î—‘¯·ç¢íøl­µ¶Ê}[ÈWÿ¯þ›ÿþŸœ_Àœ’–­5' Z—Å š5>&»—…‚$hRÊ0#À7Vyßoãd¶lÆåìøO€Ú¹ &½0 2÷–™9Žù“˜(v>á^à €¹• štæ±Z3Ÿ•zà ‰yã ók&ÀBª&?WU*8­-áafˆðˆ”hæÎIž¤º0# n437‚&‚„™›¹™ŠÚ‡b˜™™…ù\Ò¤Ü"¬EØüå (ww3w ´1R8êùÑüšUªJ h2A nÏþ«oþùŸ½û‹_?þüû÷O¯×?üð´_«¿ŽEö‹oËMª¶ØºâÝåÜZäèYÝcëïÿþÓóS7ßÍ-lfñRsõS`¨Ó€g(w;-ªËL3Eb"!3ªµU#ÙgšªÊݘ蒕ÌP4Af& ’AÓìí€zm~ë·ó*Öqp•™F0沪`0³‚j½¡»S¸ÓwB ˜8L5 ÖnEØQt(ä‘ÿˆ†•(a–u’ND3woG–­Œ0JN˜qJšaqDýѦ©µvcÅÎm ÝŸ ¢µ¸oSÊy '“dŽˆ£6OeÀgNuäÍ"°‚¢J…ã›Å$œ#ò ¸Náß|||8Ÿ¾~ý|òןùW¿þðò ãæVüð~y÷Îèç×ë~:–…Ëêe¯[ïÕÇÈå´n¯ãù¥ pt ÅŒ«ùˆjÍ[k†Idk8*NÕp§ 4Âh†*'<5YzB3I!ÉR¢û¬,·ºÃä¹nîø©i Y•ºóŸ³i"§ŠG•efv— ß ÷O¹þ.ÎÜYì;¬Ð  ÄùAà5#{Ì~÷eΪ#hd¤ÍTâDD„3Âh ™aFB9†j-"b*¤³¥pÇ|³çuº1HË¡ÌÓ>kÙâ9Te˜7›ÌÝÝÍý!œ¢ÝfBR0ø9X8ï|ò=—ë8º³ƒ¡Ò"â²,ß}÷øxiCØ_¾¼¼~}ýþÑÿÍz©êÿå¿ùÅŸ|¿†õçm×ýñòÎHXÝý|~ØŸ__žzø²~8õÞ[k±‚d EÉfn(w;:?L®!=¢µ€£Š0²,ŒdSU*Ž‘twLRÝ4z‘V8ZY¨ˆf™ùJ&)5选QÞà”ªÌDrtOG->NýÑ7fÞcT0fwB"|2G+.P©fi˜am6‹ùÁŠÁœª’im¶4Ÿ`lÜ©OH!£ÌÌ"\@„µ°»üì3c¬Í#¸4cŒn‚¹ÓtsçŽQeMwÆëŽÔZ„ªZª ƒ`–4ÆP¹C¥Z–æAwša‚6!ÝÞ2\rFœ#ÖÕ–ï¿}øùÏ.ÞðrÓÇw_Ÿ·Ë¹ýú²üë¿øøønýÙ·ï5ìõuË|Á»÷8D1ûúüòùSyî—Çåò_?WϤ2Æ*„`ft·VwÀq»^IâൠÔTï%å(VÑRS ³@œÅÑ,‡îBÍ$k¦ˆ÷r¢¤ß*2ÉÉ,LU¤M°s³ƒ´œýÿ”¾-F¥Àf±£(ÈhUpú~‰&þ0Ü {Žsaš“”yÄ}…-, 5ÛwN€î„ŒÞÜ ’ÒÌb™EÓU•³+5.k›òÆØ™KŠ„”p«¤Ózïtš¹²Žj‹Šhfæn&$ ÀPUQÅ*T13—ÅÎë².vZÜÌÆØóþ7­ëٻ߽{8-q9?šãáqug˜V¼¼<ëãC}÷Íúí‡ÓétZÚšY'k+°×ѧ¯$öM?|úò»ßÿ`<›‡‡skmÿôãù°ž·¹;nå‘ßáU­™M!ÅH. *fe˜Ç‰£|JU ažY,šYDTÁ¬rÌäd’¼42ÿˆM½7 w>c+‚o‘£†Ýuë Y¦6S5Ü}u€Ì$Í5‹£¤ˆ`¦aÌhF3£ €UTÕ4ÉÜq§¦‰ÇgÈ1Ü@ÊPf4ÊÝ'›:óÊìB Êê$Í­µf3³š‡$šÍ…Ô{Öžû4Ïl·”JЉ¨éav wD¥d3…÷>Œ(LZþ8ùmñõä—s ãí–=Iøzjëb­;µÓiùøñý7Á`Ïý|vcs"J+ôþÎË7ïNíѹ®X<^{=œcoò0I¯¯¯?~zº<|xwyXÎ7 ô­“ªl×oÍ‚X$Q0'4S¼Ñ²îªšQåN KE“……(!Sn4ú ö Þ#iC¢yjÅfæPMdƒ» ¢êP×d”$Ëmn+¨h‡G €çd5šg¦ßí1ò& ‰‘“Ü:€§+LˆVoÚïæJ˜]>é>’(Íâ Sj4òHº9$#B†û$a‰Iå§yã][šµÅ«j)-K£¥û.X–™kk£Êöjmé9(H©,X¸­Eðb+zSÕ’…1n#ZYlbâVXY8qyÿþñyýúå Æëû÷öññqt áý‡ó»‡¶D;¯Aj11Sa{ƒï¾yhç›ñݲ¬[ß©\l¹ízÝö}ãiååìÍÚ¶e ûÿìg§s”(Efvf³X¼Ä1v—Ûv>73pôd†QGKJb6í3Ѻ™cŒAêpDÑæËQSµs‡Šóyµªª´QSÀ—dܽrvˆ“К-à´ÐõP¯3I™D*h”Ó¡!¦ij9|Ë43wV*‰nˆè-!!dâ‹0½:4£ ;k i{±ChsLŽ^«P&'ïêªM&Ü­Ñ&fwwwˆÞ–àùò0¿‹F©8•˜žòhÜ—eAD¸÷1F†Ca3“›WÚªm/»î¹ïI CºÞ¶O¯Ãáþ'ÞúãC·ÓÚÌ7ÔéÏ~õí·ß¼ë»¾|}}x\.+K}$P4Ôyà¹umnK¦ªjmËvë_¿¾\_û»o.ëú°xŒQîa±Æ¬øc `Ý÷quxxØzn[Á³l“dãè2*i–³8<¶ Ÿö¬ §›%-UfÖsKP2àpçaM cäÖÓÀÎbuöÞeÄì³àæ4qº1ñVm2Ødf"‚bÀNïkfšù㹎z7;m#)" ˜•™pTIíN·ÞŸ:S°dîo‹!8!&i³ïÉ*eò`: ÓÝ%Sùâf¶,~>·ÌÜnYnp.¤§cq3ï{ö’ÓÌìvÛ(”•™Mæ 1‡rðé¥ÿá)Ÿ¯¸í}TÂìéåúOר˵ÿø'ßÙÃÅΗž–6><<~|¼<¬V ·ÆÚ÷›R4CkK3cÖS€ˆCy9?žOøögë„Á™Š°Ó¹™™”`U:€›!Ân[Ff5çkŽ”?®œv Ü)«;!Jʺ{¡î-¾jr£“ôÁh“T¤„C,¥&ÝÂ%ìž$Lw®èøåi–”Ì|šIϪÌÌÔôмü]Åá”´D…û´úÔ]`̹ ‡SƒUå6™×QÓz¯úîC|yÚß­ów¯_žûÉÛû‡Ó7ÿ™-KxXíµ¬d%j W'}ß7I­q wŸèç0=K¢Õùî*„cÚÓéâ2ÉÏi QËâ$3´ëõk<=oui§5‚¦‰ÂüçC’‹ÖÀÃ9Å\àMë 4MÃo˜Wó¼êŽÍ%¡’´pJæçI˜´¥Õ];­*³#£ôÞ!¾•§LÜ]ȳm<"r¾ò£ãH9¬2&åΪœÊÝüÅ «¦¸Ëmt’>9)g%DЦ ,K `š5§Áˆö>óëÜôˆàݤøFƒðÈ»2‹Uw‘>¤qô¡Ù«á:˜Ì¡ ÑLÒmO¯ùw_ê?üöë—æK–çSû×ùgßÿüúõ:þ⟿ÿÓ_~øçÿô¼,UyjË4¨ ¯¢ªÆçÏŸß¿ûè¾l=UûÒô@E3sœN³+ž.ü€ÉÀÌjÍ#Ж¶oÕwxeIj„™,öÞÖÈ”¯îÆÈܧ¸ef)šÜî–C]ånEÖ4ÿÜSTU‘ªÄ¨œ„Ñ|cL{fÑ™Qu#IPªÊ§*™Ç¡õÎê~¯&óÝšYéÊp§åáUÊRÌ'Ø/3ÎcY¦ÎAPf3g1Ó',"2§ã':”8xÿIÁ“ê š˜obÓ>ª;å]ÿ?Zµ 4%jâ¸^…`TUÒRV@D´…R“ºŠÛ^4M=`3ÝO[ ©˜T²°ïûŸ^ÿð‡ç—«×¤Ü``§‡ñþÃúþC~ûþr:õ˹ýòýÏ¿{,_=šÚ}zMRŽ‘ýµç‡Ë»ç××X;oýõñòîñbÓóˆÊQ0pYÝt˜aŒjNw ­Ì"*A“™PU|Xý´j]zŒ^Ñ s˜Éd34æÒÐ*TÂÌçà!îRTJQ†L‰)ŽÊ©–ä¸7UÀáÄÒ¯L.R–U0E,œiB•ÊZÉÌUé=}ïÃ̺jÈa9biãÃãJÛ I¸)P´èf>¡XDŒÁ9ÞWjRÎðvGf7 ©åÍ‘„‘2Ÿ¤U  6¹\ƒEÒVºMá³h2Ý=kºä*ä <1è9ÝZ$ å½÷:¦}Ž/ef²Œa…dõÔKWоyçÿùůyúÇOýÿaNîöß½ÿõãé¿ø‹—G-ËròË%6;=‡‡ÕÁ*;&á­”cë">~Xíeëûõy(÷þÍ7ñ°ò´¼ž^2{k²ÎïÉÀžØ;³ÔJ• AÏt³]‡!…$îŒó%Î[–zÕs€fl‡¡4gÛ¨‚ЉÌÌÙ<ÞiîÒtÛÌ7ÅêU@J½rô ÎDN¶ê8ŽœtÔ‹éÖ-Ž>;>‹°¶ìЭkߺ‰f.Uï[uÛ{m}¤Ì®Z¢•°„Áá‹û› R9çD*ÃPioÊtÜãNШŽq«9D4ÍÓî^ÁÓ‰/sçñ­ …td²XFm]’1ܧ€)&º7(%5w3Œ12çØíMÆN–© ÏóÂï¾9}xÿø²í»ö_|½üÏŸ~³ãáýÏN¿øß?ú·8Ÿ•©—ÛÖÐÇÞO·gØ¥ ©¦f÷Aâ*^oû¶ßÖõôý÷ß÷[ÿúåårŽoÞÇ㣭'Zp ¼>W•@6ºihŒê]h‘ÕÍbö^“Â#5B³²Çùbm±9ŸR…"«ÒiMé,Œm>Mÿ»jrç}vÎ*URÊc”8T÷9D@ Ëœ~’¹ŽÙ]: Tûòú:’)º;8Îk„ñvMKLD…æPóÚ‚ñº×ÞÑ<ÜlY*n‡î` 2mŽÚl`P½×–ÍùÍ£ÄÝ'æìVÉîfsŸ~ž„îÞ´„\s²wš„Á)WbRð”äd¯rwϼ»•ѦwÏTUš53ƒ4 c ba¼{÷¸w¼ÞƧßWœ×Û7ÞŸëý¿¿l¹¼¿<ü³oi—¾õñã¼./ç“»ÙËÖÏ[O™)5-ásÔì½_o{¥/A»¼üöý»ÇGûøÁ×VK«ål—K[ÚØ7<¾ ó¤8yëÑkP@à´Êe&ê `š´kŒ~km½€sþY¤A¶m»Ýç=gRUCÓ›@è§!f 7ó©©d,ffqf…C$®Ÿz7ŽÝqÉtfJ4+ÒJrkÏ·ýe«had~|X"\Êf!÷˜S cäµ÷J"ëá瓇;اGæè+ç§»{ói°Ù‰á°(± iV50¯˜Žg¸ù¬á&»“ZÉ91pð|¥„¦gB¯r³1E*å|Fe‚Ë»î3ò¬·i‘9ù8’ÆœIZ"ÖS;Vwcô_<|úz½Þöÿõw_÷/õ‡íùu1;}úš?þðòðpþö#ߨթÜ>TœÅûS¶-Ý…̾o›Œ™9rWµµ-§5Þ½ÃùTKS´j’ñ>FÇFaŒ¬2wëdO˜ÁDs‹Êdþ$QUÇD¹ÃFî+Ë™Ó& /hÚßgXï5gâª0ʼnùòzæÏgA‚L<¦ŸÍ"6$ Vê^†L°c~K $O_è›o#oUçeí½Cá1ÑrŽæï½ŒmY˜ÊÛõÖÖëɤéÅÑ{Ÿ_x”-æ!W9 FºT˜™ÓA7ÎL±§½G‰/TÌ¡Ýp• IDAT €Ó•†Ç4…AYf6ûš™Þ¤Š·pX ͬäb›éÒç¦ÿÄ×(%׿×Öµ6íÚׇ(»øsåxùË_ÿ÷ŸŸ~ÿiÿw+ÀözË÷×ú²sù<ÞŸn/_ÿôO×wí”Ö Uu»^Í¢´ 8œ‚¥Ö\Õ „¹YæÅŠ™™ 9LªžU"MÓªAC 5Gç5½˜œm$Œñîa}3ªW¥I2•îclj*ÉL*dÊ*ë㰀̠“”…‘…ûsôÏóóGÖa(³äätföPF7óQéçs[nöô2”j'IrgM„í†a÷¤ÕÀ­çyõÞ;N€Bs½™­MD™Y‚M?ï–|¸Í»7ƒ”çÈÆ¾;È«ÃËŠœ(Â1 [’4TÕa9‹¯rvç*©&ûáNcIÌáôô ÄH÷™µº3®eF3xkm]ÜàÎËù܇|I¡}þbŸÿc«×ä_ýc6nCõ»çkþ¦_ÖSó[õ—ßüHmç_ýr|ÿ³u NžŸfb-ÓˆJ›Xs­*wÁš{Îï\•ì½ö(r·%öæcgX©Ò!ÑBPUñðà•ƒsüácÔÁªJÐ8ÞIÌ¢¦ŸL/8ú(ÂÝ‚îu—DÀ# L°>[ý1FÄÝ?ÏŸºËžóáª^Ïϯk<ž¤=lÉêå8žX´*èõ¶õnß=FÉ`T’™õQ÷ 9ýûàJ4.U•T–pŒô`ÎÚÿ„ú1HÒ0¹ZLý¸{9*kQ&3YàErܵEÝy“1æ,³ÌÅÄ 3«TúÀSã¹ÈIë 3¯ÛC_‚ˆÑ8ªúNܤë~ÝʰEóõº]ÍL_ž3ó«SÿðåËöúô—ÿÒþéÖ?œùÐüý{x\dc8dëêÞfôo;R‘Ö `sHÙK#cÛu»öQI7%ÂÐÌ5 Ì¥)(aU9ƈ¶ ï5Ù—FJƒP$vªcî~zôt7žââý@#¥y™É ³é>pâ£û@¬ºÍÝ os÷{ª´Œ­¿<õ±÷w«´QÈ ‰–Uù6F«àr:•s»Þ®·ê­Ýìîepw2rìocŒˆiö]$½<_{ý4Õ=»ÝÃvÓÛs€šWî@%í(/MceFS™Åàyõ⪬0ß¶>^¢-¢÷,NŽx·Ûµ^¯UEÇHtÃlV$)üùÖÿáŸ^¯{ ýùŸü2NÃùd†9t'‰Áqøgæ©›cõý@ƒ‘˜^t(‘cPTA˜â'é: 6qo‘8)?Ë‚Jû¨Q2ó%èHZæ -5ûŒµT__÷±o§Å?<œª²¹Aîî§Óä~jŒ}Rs(§4+ô}ärsK³óy]›¹U„½\âê8ùÖÛõôr›±U5J?EÃì!fSÍy‹UÍùø¹[nÆÊš÷lòâ>Ïv¯!4}©X£Ž«‘`Y6ƸíøÍ××m4Z³ÈS«ïÏ?{ß ujqZr ßÊe ;Íq¦ˆ9™(»çXýÝåÒ"¶ëëï?÷ÿ›O¿øy|Ø4|û}¿-ôËyw÷õÔ–%ÒË^_µoµo“YIÇtŸ~R¡2ûÖû¿ý«ßüöw¯OÏÅbïþ'¿zÿýÏbjRkó›9O’Œ†¨Cvç½&–˜i˼Ϭ™™M“eÈÈ’Šw¶aL e[BÊ·Á €©·8dÂýJ»Ê½ïÓÄݶ„Uaï™Y}Œ½’¾X³Xî†AÓu7—°÷0 5Ò<Âó˜d´T¨Yq'¬1Þ'´HÊçËb…»Ÿn×aHɯ·} XYUÍË9¦i@fOâ¸*ÂDNCjŠqëõ™Kî6±_bRÇ¿’nf"D½®×þÛê¯þîõ©Ûíõº½nßýìÝ7ïcÿ…Ñn~zÙ~ÿùÓz²¦¤ ÆSÄ1 Iè^2<—e, ìcü‡¿ÿrÛÎÁ¾_N±ýâ´ÏUã÷?|>_üƒŸiÜRÙ@43“‡;§3}W*!+ Ó^^oOÏýz‹þpË>ª1Ž÷NÑÛ÷ P4UÏ ÜÞ^öMÐÌÑÐ2¡R™Ã­‘óþ8 XŒ^@”šc,p£“ÔÌÐÇ!˜~w3† ‡Yx¡|Ôe]Ã=5œºõY}ßK# }_×óm-¬r<í–ýöx^N —ÅÃWB•¨Ò¶í—Õ¹øäDæœlUE¸™»7Š•‰²Ó²Žýµ5|·†—ÛÃH¾n¾mÛuXï}ìåŽe9ihDÖìŽð*€FÚ4ÙøœoP¹Ù>%­Éý¼9§sÖ?CðcJß$|¹íσ_7þî‡çLJŸö¶?§ìkgÛûþºWùúæ¹r–µÇ$ÐÝHhS'ÈÝûkµs=…ÞãéÅ•ñpÒÖñû?|~85ÿð`·r¿ˆ­M®K,«–&©"bŠ%['©m¯¾g–U¹i¹,'×óãëûËÒr»îÛ­b]bk&±÷1ÞnŒ1è8—î4Øay3†aŒJ3¶f*Þ *G™)Œ¡JUMʬ}:Ó÷‹5#êzïfA›Fz4wÏJÍ[\_¯c´9Ò1ÆØ÷„׳ 8|½uFØÚU–J#œ´Hɦ Óc:˜mRwÀ¼•ÏÚbËjkó|÷n]—Ø»ª±¾l¸¾¼î;Íì|º¤ðôôÒ÷Ü»Iî¶Ç»UÌkqd¢µÅé´Ôa…c~õäL›fˆ0©¢™ [–FÛ³ìéåëÚ‹?|¹]wm[~}½ôÜ{jßíùµg§‘°õíê¹ysؼÑ%rq‡™YgZ¸}üæôxöÖòýÂq}|ðui$ǨêcNËúx±õ ³.qi^LìZDîûPY•³ürj¿úåòŸüúÃÍÄÞ{¿f\.˾Êá‡ÃEV,ãŒýd0§vÐèp«ÜöÑ 6µn”zö>Ô‡÷ÁÚ23Ï«o9Ϋ++“FyS[¸D4s‰cŒÑS`Ï‚ìy$Æhæ[¯§Ûmß+«j ȬÅC™TCdVén¨Ú»¤ºmå²ð²Ç•oY³í2З0³év™n}šHžÖ -ݹ,ë²h»mF„ëÒNUËìf_oc WÖl y˜¬¦=•UfN-ᤚGk¾žœŒÞû6¥°y#W„™¡5÷಴‰o§zÖšG¬ÛöJ™s^'æÛN&®¯·¡C&¦“lZ„¦ˆy\Épèóê> %ÃûètÈôð¸œÎìûõû‡ÓÊ8-ë‚.çóRU[çiQ[§9cd™C‚ûq½àC³ªxzî¹À¾ýæáç¿x<ŸWgTò÷ãóõ9ÖÖ–5²8’°"=‡0Åcçô¬A3#Óö1ï„™7lQkäD¹_7¼ÜrËLi$è4c窱ºmfzw®ËåBú(Þ®;-z©Ñ=Xµ•¬:ˆÊh”-ÓN¸ÌéõÊJßǰF÷$4-_píX#ýr¾Óó+:æÔÖ|¯ëÚ`J£®×mq“æ‰D„©ÆÒš{ë{^o} Ï%ƨм ØŒ1O sô5S×NÖimá˜ó/îó&ß‚Cš–eY—¨šw=*=¸úÿËÔ›4É‘dIšüQ53w –\ª³‡ªj†zšæÖÿÿ·ôµif*«"¸-*"o部G @¸¹ª,™?&޼íõÙ>¦PYáë d/Ä/›´®ñúuþCÀpôa‡ w33ä÷o¦ñªùúùý] o—v¹nÄÉðª(å"Ź„yÚˆE@É‹8\ˆ¹@„Þ¸é7{òÒv&acq›Äùö¾ét!–¬%™ˆŽ °ž„ DÎpÀ£ãGÏ,ÌdéÓ“•ôÂõ c.ÓéãÑïÏnÉ$J ¦ð(¯!¬ú˜óþ8f ßîõýo7I‹1Ä“)ÂKÎa~œàYyå5ç]ŽqpxD˜IODºr¡qЬ¿\3Ò)” E׈W#’,"L8­AÄ!îHˆA<¦…Ê8Ü™Yt¦ öM=¦ Ÿ¦ªÑ —*H¢‹Ï¹;q)Ê–±üK¶¤hGD˜è©œ"a¶ð–ްf¦üùÆÿãÿªOÛÿçÿò¿GKehŽ©)$Ê‚ø#8„ˆðO®"–WqIC–Á÷—mµÍ×èAíÇaBãçÿ:þºµK+é1&ö½—­ÎRJ¿ž©E¨!áHCóŠ%ƒ”J—7žßhš1eüð½È?ÿùív­º|p"¡Ên®JÌ °#—Ë-”="-Ða†úü ÇA*Nþå&¼YŸfa6Ñ»‰ÖV›' ›<£”‚1R(·Vµ Í1ÆŸ-“¤”dñ #\ææÊâ"e¥“YQU±²HªÌ¬\©<ƒHxiÛ…-LÓƒf©Ú2CÕµˆû r©R«Ô‚%$(q)²Dè1ÆZ&ÝÜcž:ÊLTµ”²¥‹ê岡9\Uµ0QÚډαz–Rþpø®w_°Ð雎$_^V÷$ˆ2þé¯Û~åßà·Çý£÷ ZsÞäu[Ï?€9¾ä×s¡Âþý4Ä^"J’´V(ž÷Îô¾’É×[Ù.¤j™‹(‰÷,Ê®§Èª§¸Î@­Û¶O#@Eù*ívá/_¸h¨@2MH2' #3#‰µˆ#avº}M§ÒŸ“î¯qÿ˜ÖƒR:D:]‹ö938¥¶ënžf˜@-¥OOó"ªLU°m×ÊðRÉ-mÒc¦Cð<ÜÌñRXyÇÁ’º?ÊuÏ×é33áæ!¡Añ$7ÖÍ‹I\*[z%b&‚(Q•Z?Å&°Š#ÈŒ‡ÍX³¥ÌÌ’ÓS¿Dôm¯û%K‘Z+ µÚôzÝD³«„BT5=Æô©Í ±°ÜMœße.â•° Vbn­îÔÍøãþüzÓç¸|8˜°‰ å¤ÈÌuLŒ5'äçP#N®%ñJœ)G¢”²)ݽ_CùãÇVßßKÛô¶m›–\)…¾2j“XYg` zØ\I‘ª¥T¾íض,âi,ûÜAœð`ûI7X³'ËÄZd¾]¤ýtyNøáfvÎm¿?aÓ‚§ƒ”yM×=ÀÄí²qBD(cÍÆµ°äÃÃrgb’C8‹ªP–Rª.üj `f ¢ Jø’´ÂS„V^·‚H0±E†s€‡[á­VJö9·­ªjÍáÏ%Ák_‰È°L‚­ÓÒrÝ®Á!˜órÙD£(3)2«nµé¶ËåRãÏ瑉¥2H3³‹ˆé†Ó;9Ç]±‚æážn«m%æ|ÌA¿ÿèß¿O¸n¥é>tÌ’@à“íu┃e9¿ÐÇ¥QÂ3úœùZŽ©™—Sj{¦Y>_]D[-&CpŠ.DaÚŒ9-"KÝD¨µ¸½QÑ ¸€F²Î‘æN¾‚D¥0 HIóHgqŽ“¥¡Ú¡’—öVæo×ÄtáMÐ9=Üûíö&D­¢t;>Ž{f²VÕFD¥ ‘~_VÖRé"Q9˜["bNî‹¶,)²êIpö:12“ FS ˆ¹ÃqÝè/¿ì—(¤JÅ‘ƒàB NÕÒZ‹ˆ9§9ûVŽE~w¸[÷™‚ñú)…'K ‹*(R@œÃ(szNG€ÌiܽìŽ" E@þ¤‘»[ÆœôýcÎa­5U~¾üþ²/ûí9Ÿ­òÞ¾´Öæôãx†3_÷Gº{©ÊH®·Ú„êúþ/× ÀÇÇÇÑ〯ÊR%=Ìæuo¥ˆê¢ÿC¸ª¤*ËÏïéD)ŒÛÖZy¼^Ï)’øúVßßT(,(ÓëF­lî³U-"…—{0ܽ˜ÓÜÀ²“˜çq?ÆÚ‘yy5– !°LÜล s¶üñôçã0KóÌaéžÇa#H$Ф* A»ûyõaÆ÷'ýþíþöF[“9éûs|vïþè§¶Ý”þ “-u%ÎÖ‰Ÿ„âO3]ÖB…õ.šGÊ0ÿí£sm…$l®³óßÿ~0ûú5øññ8ŽÑö­ˆgæV½eY†¹"™™ò2žÓ‰³T!¤fÊTÊ”1]|¼–è–½wa\.—õÔ¯ˆ”òÌ&„M|ËÒ~»·]¶Ÿ/··öÛýÇὊ^¯×´ô9¸íÕá$iUeÿòF ÷ä ¤U$g“»ÏnîÜ'"ùC„Þ÷Övy—¦œLV”êî‹Å ¼ñ’8‘à„Õ"{¡ª9›Xjåd zïižQÊ%¡¢ËÖÖ-*“ÌÂÂzÏ93‰d5ÎÅyóÇ}¶VJ+2WjY˜8PÐZ<|Nw÷ûÓǰÑc=Rn”D£Ç$R¡gŒpßk]/Oïý5õãñ—MÌ綫J=¾ýx½¼$1‚‚‰8Ù’9|,ÂJDL²Ö­ø´ÓJ@)+H2$óÙ#váþzŽcŒ§ú”ÇãõåëñÓ[ë}z†Ç JŸ†kùD¹:•ó>³ä–$Bêq¼²‰p9}SM ¿¼HªO‹LEäǰ½J¨…¯C ;Žª+ªª#ò'á=+,~ÿöãò¶¿_õ8FŠ>žääÄ»âVK& ²„>îCˆ)£U\÷¢E1¦w³œ2Ì¡…Téç›n­¶Vé¾øèLTRœÚ%yeˆO5F¦*o­ŠÐ\\ã LÆñÃ裓¤lÅŠ ¬ ‚”Ö§OŸ-šGƒTTˆÀ<,Çðé9'O¤!œ„ ŠZ¤Pf²¹rë„ÙúLÇ0þ˜x>áÆý˜\$€  £y„{Ô wS…;ý8èyÈèæP&™?1ñýc2e⺔.t‚ЃÀ ÓÃq¦zpò|•%c¿‚¤€Ù§œ–a3ê÷A¯o–ILQ ÿ¿ßúû…þf›Èx>ŸµVÏÑŠN ‰”±:§©¦BØÞ÷Bœ Ï$séÊî±>žÕÝ)D(¥ôž½ZG,©@UjKŽ]PÕÐR/ûP¦ÚdºµÒ®;ÝW8çÒÁ—´žIDF™E¥*7‘·Û¶oÌÈÝff›#|âËÛ¾m,’ª+5vd†‹ˆ¥¥¯‚Âóó]ITˆB‹ b=m."ÂÍÔÝ=V[I$×Bª X`Õ¦õ1Žƒ=Ñ{V5ѳ gzÌ™}˜»kY+™ôޕφβpÊE³Í‘)¢+ÿ}L¾÷üíûñ|†§öcffÀ‰ÊÚTÛpÇdö <æy É@­Ò}`d·ÖŒ"S¥žºä’»WçÌX5*ËÄ if‰³/&?ñ‰À¢˜£÷þ=¬6ÙZa¦~?QTÿþÛ£)3³Íq»TREäpkQ|dHp‚á\ LR¤Vª —]KɈ•Ln¤3Åç(µ m~ŽáOO"-š8o°ZDIjsòEŽãYe£r{Û/Äöí‡çr¿ƒ˜¹HÑ] "µ¶O‹žôãÛ1æ|öžD¥iy¿m[eñ!É¥Ÿé d.âEd”… ÞÚ´$bM—ÂgDˆà õYžƒd&P˜Y•Ê4ÓC[=¦MçgŸÇð]Z¨³pº{8õáD¬Ê>=–O¡,‹"-ér‹ÿ¸á÷îÃ?^ùãÙ¿}Ì>2ᔉ¹`¾D"Ò-GŸçáÌÀ eá LÏq)É~¢Ks½¥ëœ@’¬z2§FÄÌÅÌü$‘œÓ““wÅ"̺%‹§Í$Ýõ˜#œÚVR8ƒ—}îQÔꦌŒ™î”Ik§Ö°K3ФÔ9'1”sRxvÏcyQ! Už6{ÏÛíx$ydôÞuÓ7­Ï{7·ÖZQÑPUJËij ˜Ókz‘»Êõ˶í\‹ÂÃÆŒ"Íೌ3“ ÔOgp[ÚVDnîîaøïÌ­”Rø²BÃRÓXTð¶eW-$ê,FTðģϣ{(uÛ%3‚™[ef¶ðdeAˆ2Ü3eÙ«…|ÕéÐsijÛë°ïw¿Ç W÷  ;U Ù}–'"‚I溓KW刘¶ò‹káæˆ$Z«e_ïÄòá3@ði>aq¢´Öx€H«¯J•éÙìžÈ‘sóùå ÆvÅê*À°NyDT^› "0‘¨ˆgz€Íx"b:T’H iéÎ?2Œ »¨ ›ÊRÛÆéL:‡ïÃâ·ïÏZ©îªâqì{k[\´Fv „ B>†Ÿ`Ö:¼ _we’R²mœd¯ÇÃSÅ-*Ü3³k‘ªZ•WÞ-W¢fôù„¦¤`†ä‚¼Q]ã zµ[a+ôå­n@ˆ¤èÈýÙ¿?Æë˜Óð<¦jƒ”\·5Ëm+"ẗ!î™éÉÌc:³„9 KŠ9"h=;¿ûýp›œÙNÎs$8Ïæ3¬laf‚XVÐrÆðàÏlm|^øÄ=N´¬ ™Hah- §öÀ ›v¾„‘«ÈW«cD,´Ûrñ¯<g:|%úg,ýÊÖ69Åù8üqpÑq¼æ/ïõÍÑÚ^7³›9ÈÙÔéSTw‚Ø´9’˜lÂ6a–Ó ,Š×qÙóáÊôÓûþv)‡ÍðK«E©U-Z˜ytûù9Fß.ùKÛ=¼îUjöÔزt/¬2·e ÑÂŒUÌ@QLÔ*·gÇo¿páËÛ¶/¥´ª”Ù %ŠifÓ™‰‚Pªž½"§ª“¢¤¬¢X§;âLóV!LòÙ.5 cØ´2=ŸO{æÁªu¯53-b8ÏÚD™K•È$ÎÈœvŠxµ•DÎd '¥…3#^Ï—÷¦å KøÂʃ)«“„?s°‹]ÆD«Ýøü^NñGÖÈKYs1‘øDNŸÕ2k×c,ƒx®wX‰W:ƒ”3ËŠ®¬aŠ{|æ©¢,` p-Eˆ+šë—½szNƒ>'±rŸ/fY>¸™ø÷ï®ZX8á ï×7w7;^Ý^O÷D1‡¥3Ü[åÇÝ""‘µe)«)N‰¨±-54’3OÌ$s—˜+ÿCÐKmûŸÖæûE+Õå'™s2(îð岡Ñþ¡´Œ*J!/Á„=áÞ— ´ŒJÏcèÛ‡Yñ³à<ü22`"1ÚZcæ9§ED(‘Dˆ#i„>;×€fÄaù<üùš‘l32s•™Ÿw~"ò°ÚËäÌDd0&uŒ"²”†L"H¬0 49mú " sâŸËL²ˆÌ!r®XˆRÊÙ•çX¡‹`DâÄO*¿NBBYJe8E(=ö­õ9ïÑ¢[É IDATQU¿?BužÖVÍHÊel[)@±êƒª4ÜŽáæd“ôýýí}sÃëy¸1KñØ¿¿^ÇÛm/Ÿ÷'bψF&…¨å2¡!3å™+àË@b–J€9šêÜwFYäÑ.áA‚Œá0UG–ôôÑg†2ˆ‚e%ãW^‰¨xù~fõ˜Y¤”Ê$0O ŠhÝ'Ÿफ़†T0$ˆÂ3(<óõê{s2 ˆHÏôd —™,ˆ¯c¾f £a”Yl!-XyÚW[¥°0égÔgF*‘[@XD éAgÑ]Zú¢O/Î -Zc¦».Ë+±-X‰ ˆÆD¤Ì)Bܽ¯°0;!–±^D´"D¤E¥ˆÂÓŒ/§‹~û /é½)[& ¹;ƒ®[3³çkj¹,F <“As„›è¿Ý=ªñ§û¿ýþ*z¡6.Zs÷­¸©Vm›3…Kš|iÑÞ©:†ö‘Z,Ý#˶aŒÃ\ì`©áî(0seP‘,%[ÍVä5Be¥ÿÉ9g$„(t†GÀgP"UIk!%ˆ@„ˆå³T’pX¤».*)H„Ü}õQ ï}2UUV±¯7¿yÓJ¬Š%Q–HçBNßst›{F! Y¸œ”¢å-‰dŽ­H-<=¶€™fàžJ £ff Ãn‘‘´Š"H¥'8 9Ý‚@s=¦´´Eñi/P¢¬ë%1S¬þZ»!I=l&ûª&Zq JceNÔ¢¢´7$Pšbà‰öœ›E£4-J6©¿°)3(VWA˜,Ã{Õ>ô°,CZã9]ùl¡ï1ô÷DŽį?ÝyÿöïÿåÏ—÷·]…o»\/ €õAÉ@¼¿í—ËÅ,Ïñ|t­º´T.›~ܧ9ɳɬV”WÕ» ·Zª² ×2=vXÌ×k™«ˆ3)(¡ÂÛbVñV’Ê@r&hz~Š(’2 {Y·ÌŒ0?sDËA’cz¦kSR´VÐg [arKQ*\Ü}αh—‘0q’Ĺº c9@JMŠ…l“tKbîNá åt.(k¥±Õ#ä R„€€Kó4 $[D]úºbåëU•ËXêm¡ìg‚ôùõu•!gæ1 ´ ‡ ¸ ±(3$ÓK) Ô„¹ÌP…9ÝÜ99GºõKk÷9Ûà5Aׂmo×½¸»Ö”…ÆŒãsÀ1Œ3ÉÓ2S rôüñ°=Q.×­6#-ÂJžcôض*Bµn·M[‘F-oÛAˆ#U Z†»— 2OÓtweV&QâôÉ "J M‘}ZïÝœ®×­®.\›,¬ETr÷‰2Òž¦á™é³¯óP¨V•²"šrÎAžÔJ‘Ï›ö ÙQ­¯Þ‡³€DU( äzõA*4@ì,XÙœ²î -r÷„zdxÎH·tÏiž™œ¹V,ŠÏî'žìî¤èªx‚ˆˆ.›OqÏ…w寧‰V‹ªÇ¡²Öéô _É~@3° 4 1‘,¶^©\’Di‘ˆ Hg‚²ÔB6Ïq×Oo[7'Ù*oMo×–>DÈÓ¦SÙËí²‹œ„ÄÅžtŸ6¥‹!—sÀœC@•fæÑ«Öù´9‡/dmžôÆ­H¯··[ÛŠ'f«y½4fY-PSÓÞîw{ ¬§‰J©ÂY*Q‚ö½¤’oWÖÚ~<:`IußÄ€”u`D’Y"ƒ"t›!W»EVöÖZkÓÝU&’×Ì0@™¼çéœ=sRö™6= âŒÕгRÍ'w×ÝóÓ-¾ž$›´ÖŵþœAV #V•÷°87€nK«ð ­Ä¡+¦·ÂÊŽˆ€¥ ÷«ì1E@ÁAÿÀ’Ó'm0"¦ÅªÏÌóÙ¢ušE.¬È†Ä@^X®Í;“Ò¹Àc*j’þ~i·]þòóåË­Í"b6J‘mÛ÷ÞûV¨U•ÖKÐgh^t}>Ñ)# ·œæsÎ9»î×#èõìÃ@‘£ò÷û¨‚Û¥:XXÉ…z"»±±p-ܪÔZÝ'³¬¡/Gê×R… ìDQ­Û4…G­UD™r•Øfúœýñ*ð9ðÉu!09r(×ñˆôH$y,^=T…èB@±ž†ˆDòI _™2ˆŠÄ‚µ€Íl†˜ÙcM5ÏÈS©ëÿF+0—ËèG‰,>‡;¦g¤x"I#ülŸÏS…$>³ø%ÏÑùÂE¹§‰Hº±¬†Î³6L$P°I"«~!é),Ëhn6<æÛuûÛ¯û?ÿ¹ü÷þ¹ƒ¢Ö‚m/ËÖòz>øz¥ûó  ÖE%?}áª*œ½w‹T—?ØØsÎ1†Yèè‘„€° mBqjŸ~³Kr'”øú®MÖ=¨^v¹^j+gPJ[r„ÈTU³‡U­ CÒek Ф9“9@4\J€ º´öñZ[z 83UYøÌ!f€Zžr9º÷cdæœHUQ¢ua•¶ =)`´ Ö§7I›.¿MæbÿåB•ೆ ŸÓ׳ý rÉW7·Œˆczï=3Edß·•#Äô6ÏÙ’¯}9ÝÂsz|uDn9}¬e5hi‰²ZRNéN‚Ò:Ü0³h,: DâÓ¶Zž– ç¹ðY D0ÑdCÖ’ÏR¾øe‹ýëåÿøKÛším#âÚ¤pÑ“ˆìŽ Ù¯Ü{¯¢Ì¨e%,|Îéc(LU#"ás¸Y¾ŽÐÛÖÖg!Ì*‘nË«>zˆx#C®ûþ¶ck¼U½ìeßô²¡õò,.=©rWª‘vÙkÑv,€»A l»C‡%º7IUMsŒ‘Â4"$NYÍ#ˆŒ@wŽˆ³ö"#CˆDªlõ)BʨZÖ±ÚƒÇs )Wž¤´ÆHPx޵Yä‰YnA$ÏÏQþ?\ÖR‚d³3"`=¦CD!³]´•š™–p'Šã¥‘ËÌ.sÎeJvÏÌA,î‘ ž ¸h–­,é†!ð sb–ež–•>% agBâ,j4~=M™XI}ÌaIkJ&{ IªJ½Ï*¹›ýÒþÛßä_þéýן¥mÌZµî•½°Ý"<17%"É sšS/bˆÌ9çð1†ÆëdÙûX>i3·‰9S¥Šõ©,LÊ$†á€GØüåkÙÔŠצµH+z»h©Rš’ '1‡[vs‚Ήi8z¼z0£5×B"_¿Ý§•š—ªµÜíxŽM/X Ÿ,¦Bsº2ƒNŒ,†;˜A§ê¡BLØ„”E8E²Ô}ºÍsZô‰1ÃRw™ •FÊÈ ¬UêsùyT¥a €Ÿyy^g—k1w·ˆÀ4_m9µñNLDoZ9ËžÇ|¾ækÎ$N2å5!5e¤ÙÔÊJ›XNebFÍPsšÅW}眾Ò P>ËŽ9I‰ÃàŽÈÉÁàÕ@FÈeµÀ ÊÑ#af1ǶU ôJ¥Ná£{¥rûïÿtùçÿzýé½\ö²U!ËLEö•gœ¼¤f$àsÎ %·´ÌnB”ÊIDÂìîyÌizš{0s½Dhß´*“£_/í§ŸömozÝÊÛM.»”Â¥ðН[¼»¿Žáó9Ý{Çý9?~á¼íuÛö¤'±òè·k½]Ä=/{»lº’r™„—_®·Çs ÌÃÙ±œ!DÉäZDWÑ÷jòEÈgòý!‹88çXYFf]‡Á“8幪ÀUå].Ÿìi¹LA&#‰Q•€¤œ±Nó™¥B‚TÛ:~EÄLšæ>‡@J ‰„ —"*ä>×í/Wô+'„Ç\E„ù ·æµ·™æéÆ®`Š0†‚’”2pÊdNe­:Â׆I Ê4d*kÙX/¢ÊkT®”!"ÜàEÆ_ÿtùoÿòëõJ+˜¡ªÌøÃ¤œ5z´æ,1ç0wf C´Œa½wGÎ9Û&¥ÔR 2ݳ1§Y¤>ŽôðV™o{­Œ[ÓË^Ýî¿~-¿~io×Ke´B·«¶F[%mÄ’qÎoðê>í¼ ?»½ú‰Võˆa£6’žv §±Xpiºí²Ú°Ý!oï×áÄH"RF0 ¯êµ"@°OË{‹¥;\2³‰hQ*EÖ'H3é‹ ¥OlÃgË¡E0Ë Ò/¶N†KÄ,²:PmÎénför13x\J©L,áIZ’H^³B÷éìžÏW„ópÖŽÀœî™)ÇtPˆÈF3™‹r-B U¥åJ hZÔÔI[Ûb4^[Kª8Â9¡(ªäÈ9nï_Ëÿý¯?Ýý~?¶v+e!ù£ÓÅçù®Ÿ™?"B(ö}¿\ˆ™ƒ"ƒçÈãõ´\©kšÂ6ç4[C,÷Tì—›JÚˆËe{k³W¦_ÿòöÓ—òå­lJ±ïåýZk¡ÒJÐjIÍùêÞG~ÿè}øóÏg?Ž,¥Õš¥R/He^¾ÇdFaºlm».Ðî÷Ã-eŒ ðÊ%VüÚ­ÛŒ°…ÊeN÷Å* )MŒˆjáR !˜ 1X$ÎAù)â†ädæ‹&·ÄZaSY3UY…JË”î»aZÎ9§“… ¤JªaEÁM‰H@–ǰ°i™äÈÌiI}ækÀ&l Iû„­@!‘@•¨ŒTUDj­Ëƾ†X‘1ÝÝ-™@ËÌ¢Z˜“L¬L"¾^/M…¹ú8ú°,ªþåí¶qÆ¥ÖꊒÇyÒ·ˆðÄgßý /Ÿ·•³(Ò<#ðxf¶ímŒ™"#3{·~L7ÌiúVÅãÈ@~>ŸZzÝ/-/•9¬ «P«zÚ 9ÆÈ¤p~=íÇ£ÿÇ|{ö˰oÃòLOª`x·("Ø+3lNêÝ.oTbúãi:£Ç´ ò@²ÎJÄUÖƒb%ÖÀ¬hªU‹*½ˆˆU¸ýã0ôY· z«Jd9}Sªˆ²ŠK!f¶Xù»0³R#lëÇô5ºn%&s ŸDI¤K¾$¢î6_þ8²•dfÓÇ5)f8ö g4Ë­£±»Óº hëÇ<¦yŸî9f&±ÌB>U¸ •ªÌ<ýü6‡»…)œ^sÌ<,a!Z÷¢LÑ{ïJoï­µʈ8Ks.ÖÅe©áá«Mí.šGüþýÇqXÀó˜s~rHHlúœÈ”ðÔ¯WÜŸ­×ëU(T£–•™ …S‘­mÒŠfæ¾,ã˜ÃÌò8|ùŠ’”´ðxÚºÊÀ0@¢‰ŽœU©hŠ tÃÇÃÝæ·7 36‡»' )/uƒ’R-"¬^ ÊÂB”ÂtBô D€I™yÚá|b›yÕq(Í"X€—ÂBDéáîlóè}šÓY=ò3´žµ­6<} 8"à %wŒsNWž†ünщÀÞ¸k%m¼oÛ²8g’¹3jDŒé¯n‘9#ÍÑû˜Ôçô~LˆdH$9ƒíMŠh+Zа`Îy˜¯€‰€"#„Ç8(Ã…Uuk¤I·†Ÿv­J?ÿúëû/{©BĉÀ2FMs£ø„ÝçpS)8æx¾Æo¿?OëÃÝÍ-o·ê–înóStH‚^/åííúßïÖ‡¥iE»òeÃûÛ~½m­|¹r0÷9O«¬™g3´ðûíÍ“çìöjM2 „øve©eš0e^³®‘Ñ¿ÇóûûíúÕÎj9"EDa^µÍ3c×I|¸­Aš;éªæ^äðÌ\eÄÎ̺`"Ë#Ïá @•™ÕfÌaGŸ½ÏgŸ´ÙbgjU!"mŸ›DŸTff ˜/Ó«=z·1Ó,9ÃÝ22…³¾]/·ëOBqÌ"f}|¼FdzτŠ8̦ÇkFBì.™“Hx•s2ŸÄïÛÆÌ¥”uœ:¦ÙñžÊ´ï›r6¥Ûµñè±oíVí—wý/¿\y»üéOׯ?·‹RQR!fq¤‚ЭŸÃûL³p>-3‘æDG·÷ãÛ÷‡9›-Km.g³-¯øééwWN"¥”ÇýØ«ì­\7þË/_®×0ï©gÖœ™“ ÎIáá1lNÒL˜M÷1^:'ZÛ  ¹ "ì[Ý÷.ŒW9·Zñ‚p?Ž9ýè&zéØhU¶:‹f®<Æ™½\Ï–g„!bú‰›×$D {IF¥B©´µ¢œ"²Tº¥Î²dD¼^Þ3}Ä1r^¯qÌPÕ}«ì›îMjÍÂ<3çŒ,Òò‘ÏÞûÀ·-}z€Ö'»èKZòºëۥܶFóùü‘tôÙ=ÍÉ"0²JÑnƒˆH©ªÔªÇ1æ›”E…ª2EQ•T+Ëï}Ä–Å K¹–ë¾sέåe×ãxú1®·¯ÿú·_þö+ýtÁ¯_߯_¶ºG e^åÅáæ¹/÷Ó1ÝVi¨zbôþ<ÆÑÇ1&¡fXÌü±º˜ç¨-Ì2CÿýÞ¾fw)BøåKý—¿Ô_ÞÌ"Ý&_‹Å(¬1“¹ È)3“’€1ŽàïOüǃ`7ÂÖ¸r–Æ­íÌ,ã5­[­eØáŸ9Gv—çëõËO_GŸ”´f¡EK‚-é™fR¸,ÈòÂRrQÑu ph¬§§Ñ"üYXÒÌÍ,¯Un¢oZ3ÌhRJn[Û3¥¿ŽãÇ3ﯘt„sÁómßYý]ÒbþÿÇåx}ß7.¢H)õ =ˆM5Í·¦•S}Øœ’¤Ýçëu°V›iN䘙^˜Tü}‰ã²mà—C _orký¶Ù×·Ë/_ëÛMZ¥ˆ,Ü=ÍÃì\œ˜9Ó(D>}ä¸<&Ï8ð^ˆk2 ‘÷Ì“‚*ªfÓ32TÙýØ¡Íñì³Ò7ìv!1ky½(cY_<Ó#%‘ÖG^î‡=[’¸Y¸rMb3ï!$Unµ1ëý>îÏI²™…¥-ãì§‚gx"ή^¤Ò¢3S™§¨.Ì'ø´(1k_ã4£if6£;½ÏÖvÂêÉõZ[D:ûŠÞ ¢Vfd+|¹´}O‘¢”‘nÓmš {æ¯#¾ýð”Èç¶—rÃßrKŠ¢´Uq„²±”÷æòí£ž™rt›³;Qm…ꕉíí‚~Äëðéòç˺*ƒJYdÀè£ô!¸Kq’™ÃÈ 9_Á‘’ÃÖé„„ “hy/Û¶¹²I’ c+ÜD/»üòÓ寿l¿~½}y“uLÊyÆ(†¿^Ý"{ŸfQ[@ìéÊÈÑû+l~øk¼Æsø}ÌW?Dèë—V„hÒqŒÖ þÓ/3Ó¶ïLã矷ÛVã°÷m»ˆí2I$½û€>>b±R´j™û|ñïÿîß?Ì€²é/º„9'—R$2˜!ZR*Ñp„†ç™FMºßU4“D QüÃḑ1ÀIÓegË.ÂÃc¼ÈÝ"Éc:hZ€uz¤Çó޿𶦭ˆ ¤54•ZJng(<3Ì2Ìóñ|M'÷tËáöèöœþzN7¤(_¶ííMö‹¾‘;È‘}ÎÐ2&ŽN÷û¿!ŸFéÏä ¥Ø›n×òF¤UK‹Ú„ÂÊ\ÉU "túsL7ç€ É†õy G@F%‘æ$¤ «*Ÿ %'Î7ñË%EåuX¸Ü¶ýëM.…Þoóç¯åË›^7b,Gª@rFÚÿ&êÍv$I’t=YUÍÌÝcÉ¥ªfz8g†äA€|ÿGà¯$A3=Ý]•¾˜™ªÊ ‹>çÈÈp71‘ÿÿ>ËÖì¾6fõ ÖûÚBD”ሊ ÚÝ ÌÁ:»ËúË?§Â¥L/2†›áQ9:M(ÃíÛ÷R‹ŒËóéåĵ%Â0‘F÷¶nƒë”§i”Jžô¶¹µÌn#(—%NO‹*±[/"“„°TÊhs­»©¥{Z‹Hk­œ'&"fŒ0 ˆO-›#–g0„d"Žáˆn–™-$ãïaʉ„I+KÀs=šBPŠÊ‘HdvÏÑÇpp1Æ}ÐÚm߬µ~<^-|oc“2?]Ê©Âybd„LÓ‘Ù#vËÞ¼ín‘qߨ[#å³úRáy™¦R)Áз¶o MÉ×n­Ç#`^²T·Èm &áãî€L‰ a{‚ Éó"z<õ‘Ýs wOãùê—¯Õ{cr®ršâû—i©µ(aú磆™žÍÝÝ{{™8,Ì|k¶í¦ªSÕÑc}4©œ£ùh¶6ûùÑ7“5ö¼Ýœ<Ï'f‘ÑG)€Û äT¥‚ˆG­°5"’²¦€€è ä±nÎ2Ö[D°3©%pª$•^gFfÊÄèGù]k)÷F„’™TâHkm™Ï™ Àc¸ƒŸB wpwKGJ'"Hp÷a†xðtzU-ŠÊ*µ°2Qò'à>ùfhf{}Ïfü 4ÇnÞ»=Ša•r‘"èE…æJ__N—…†2BR8o->vÿxlžÒF20±}…ROEä´pe‹ÑqÛÇìÞÜFwL'žÎ*_ÏÓ43€=¶Ý­€œª=0"Ã})r®Ba€NF°;’ŸO¨"~àâ(a¢ü|äÛµ}»h)þåŠà$¨: `Ô‰{³}Ø2ÏîÙv·ÆˆëÚï›{pFdUöFÆ©ä$ Ó¤t솣~<¶µs‚¤&t³8¤ûÞ™¹ Óó ˆù)a$ÄôÌŽ¢ E˜9 /%D>=Ê™™=!Æè[š•ê#Ý ÛðÍÈ>7 î­5"qËÈ ‘ Óe©_/4.Lî9æêH9,6—{ß´†£{>¶B-…K‘óš‰1øÑ¢¾›I9b%Z3Ó‘„©Deª'?—Û}w ¤6nP§R™Yh. !ö-Ûw܇GâÞÓFJ©ôãçºLþí_¿~ÿZÛÒo[K,éNÜzök ÷˜ñؽµÖ=z™èAæaN‘´'Þò¾¦T¶ˆ¿ýØ~l1<›ãÇ­{rXo=¾¾ÔEžæD?€,Çq6å¯o|úùÚ_/"÷… ?q©ZU&ðõ¥Ž‘B„ѺÙEµóIOU†'=Ö!"EÙa€ zðõo·ÑGôq ÷1êT½ÝÓ4©òÑšc@B€p<ÐÖÈ!G¢*’ö1ˆIÞÚf#2#À<,Ãýð`:“BàßIªÉ’é*Ä:]NS)̬º‘¨TDFŸT„Ø¢ZðúØ×m|Ü}m~o~ß}Ýö" óQ -—Óåiа’|_Û¶[DÅeâË„™9qnfV -ûÖ 0¯#úˆmÛ¸›‘æ„S-__/—I”© {´ûÀÕ%šµ¶&3+‚h2ub\êÄ,×Õ‹,Sy}^ˆˆibµƒÎ¹m[F!e2ë8Ž ³{ÜÛÑÙ¿>A,ó!:Ýrxl»õ¡á=|˜¹«îëð/\keìÖís· "9~ûmúö"Ë2­+uûþå<ÏÏ¢wU=þ?28ô¤ÀÁN5¶áÌ µâi6*–$ê#ïwÏðR #iox{àÇÝ àÓ”‰(y0?Tußww^N%0á㢄R@ýð !brkæ0 i<îß@ö‰U¡ FÄãìxš¹® áR‰>Ó˜™½÷u›,Ð7Úlô½e‚FÒGßÚ>,2€Í¸ºkF¸ç¤R *Òy)‹Öýî÷Ûvwê™·mȯO§$=§Ve—Õ õÚÜ[~Üw‚LÄn€uì$ç žÎü§)nëöq˽>úÚÚE—eªµÐ¼FðÑ” 0fÅ*šYnk7//E% €V¥ŽÀÑ÷1PU‘2Ìh σäëx{47H¤«ØF€ôd šu03,tªÚz|ýòrž £ÍÓªT ñp‚a6RºCwì{ßN:9ÁÚ›´Û+3)â°‘G…‹Á£D]ôô¼À¬ÑFÏÄÀ…c‹¤ÝÒ“×ÇzÎøÂg¦|¿Æûm¿nnÎBD„áé‘@DJ(Â*0ͽ÷¥N̘ˆ!‚ŸUµGß „öÊŒÜ IDATƒÈ b·ŒÈƒ^3èó’ ÕZ•H”„R™˜ÀÌÜÀ,ö–÷}ÛöèÛ0·t³È`ÙÌ·aϸLKœÏqž˜MÜ‘(x>åL×I×>~¾?~¬ã¾fë´dJùr®_.seh¾Û û>ú<Å4Mc f^Jm=*w’"eADÈQ…¥õþv³Û~ï=šaD¯"OKùõI—2~y®SÅnn£㤒D@¸tÀÉg”ÝíáåË3ž+¹e$  ;ö4„@f& )Úo«=¥ÜÕ1 ûe" X&Ù®%` EOK¾<"?=¥!€*©2[ÍD×]¾^x)Y™!Q˜tß:Q;×ÂFG×€YE¤V5è§¥ˆÈÖìzÛ¶µCŽ­ñºõ½•i]£­kA‰uäõ¾n K"f2R¡Ïá ò¿*æ Ûã×ÄÀ’SwSO!ABÄ=‡0{ J!‘*Ê""Ç•/Ü"ZËëˆqL¦ÃW3³pÏ>Â-äqt€Î$µYè"2-ó?ŸayºhANµÁ£Ç€ØF[áöhùö{n&ëNiC0^f}ù-ç:‰œ#Â}læÒ¶ŽDÒ»ûø¨…f¥Ë,@Œ¸ ~ãàãõx´?îÔz² Ñì¾Í§YI¨Šœ.4 O©æéÊ0+¡[XppÝ|ÝÖ}tŠ!táTHòÏÌí6€¡Š:ŠDß×ýí瞬Àô~ÛÖ>ê¤ Ó¾Ùû#·Î{ë¥Ò<×}Äïo¶>|®ðúÊ*˜ÙUUDÜGf2“üç¹GÑdd{á:OS-d‡)†Üòs‚þ»`‡楞za ÈÑÚº¶ó¶ÓÞ›i‰n;)³SÿtS#F„%!º0Oþ8QüÂ1H„YUH ŠJ C‘ ü½"è‰z0õ¸„Ã>FôˆhcŒ=Â,†‡K  8<{É”E©j•Rô©Îª*G^&-ÃÀ-¯ãz[×Ütôþ¸·½^G»m“-+û÷ª§/:©.²yPëyoÑv‘i’¥0ˆ+ce„£€z,wϾ÷­ ÌÂó²¨Êe^6ûacÒyBÿåyù§<1mëÀS-…Â1!## ™ “ÈÚˆí¾^×MU+涉$Žpz4ŸáéR=ü±·½koøqííëÓ„\–GóÖZë}u˜TöÀP èã£ù\D´­Ûô|*¥2sïÝÌ?+µÿÓÿÌÊÞmkæAùÙVua>+€2až OUNsU¡ÄH4 Ún÷u´Ý÷}¿àdÃfŸo‘ªLH÷ʤ_=3šª¶AooëLüsëãnŒF˜´úq¾L—y~Zèõ™O•3—¶{´îîiãŠ?i°™IÈ*GP”×µRR š0!M2‡ôú´ñ|ÒúÐ#ú6Ò©02%‘ˆHÑÃ0°Bˆ¨f:@’Hë°m°mØzg./¯Ëú1Ä¢Z8)é2ée¾  C?ŸDF/>óÇ?ü¦…M… >iƒ"ÑOs9Ÿa$O`àyž™™8€#óè”kae9jCDPŠja>\öáŒyšx.Ë4…ÆíÇ[سÞ= —s9ê×sÙ»yL‡C€ˆ„ë>ì±Cm2Ϻ>nËRNsŒÇ†{[«Êy)ó$sAá|~:GbäÈôûc_7ÿ¸¶áiá›í¨…&@&‚©H­UK "8t÷ûÞ·Þö½[ÑGvKsŒ$?ú_ñ™À?)/‹¼<Õyf÷$A3ÚVëÇÁm‡ð¶,µ(r"æ8_ff¾Ô'"ÐZÁg)ÊÚÖíc•5Ü{X¸ªªê0C7 Q@ê>8"-rsõE ž&^æ‘ ‰."Ih¢Á‚¬’„ÑÜ20Êi¹m{³$$Ý kUm?Õ“›õmÛJ‘1Üœˆ–ûúVJžÁ+Ü®kANƒZéy)ˬ}›ÊËÓ9#V¨lZž” ªBQrkPX‰ËROË4Í*2±·±Ìõ˜¼0AT2ÝÉ3õh´0fUFrA&âˆw3#f~^^ô×úí«o#öml»•2A’r³P(ˆ˜ÃÀ£þq]ûˆøò4õ“y½<]f³ñ×m]ýùr~yžçI1G-ဢe1`ôÑ{ßFó¢ˆ"“ˆ#%dÆhýc‹½ßÜѼLY8Bùô­æÑô²ÌLJ eFa(Š—¹–Jqÿxü¼å¶w:ÀÄûfm$ée½œ^]„0ÌnÜ×þ±s¦—ŽÄ™æ˜Æ\z3‹4óÃk§µä錠ÝÀ<#̆õáÔúØ<…TT‰Dã‘ÊÚœ‘Ü#ÆH‘‚ÎÌ@ùõ¥n»yŽßü&ÓT˯—iªòðÒmm 7èÎÇè™á­2(!Lüò¤çKöfÆÐyYŠ[p`ør.SutÊ Fe𫍀€ØDDa0X‰„Ùý}»ªVEU=fÛÏF'Ãñ„>/é îÞZÃc€Âs·OŒ²ô>®·­Gž ¶ð×ç§—ç…`~yžOs‰0ÂööÞ~ý~:ËùT—© Âýz[7«M ™Y®Ëm ÃÂ@¸oÖºï=(#°¢ ¨Ñ h-öoF»+Єøò2Íl'Þþ³fI¸>ö»_ç2 ’@ ¤h.³‹"D,K!%>>0 ŒÙ,Žõ!V‰™”8Á†e€të™i»¬½Åå<}{~ÆÈáùñ¸=z?Ÿäù"*4\ʲïmx}¿Ý?a­ˆéc”RhâѤ­ÖJhøxFº{^N>sy:W`ýò"ç)Ò\ÏgÌu©E‰³¸¹öSÍzò¥fú¬Ð•¹”"* • pDJqD@#á£bþiH÷s3!:‚˜áª2UŃtЇ:/¸h.jf‡LoÎâV<SŽ"{§ûÇ>qžè·ï/_^ÏËLLIîøË/EËôô¬ËT”‰rÊ;š6ؘ‡2õ×ûhуèºY¤„c˜3áÀ,„œÆ’µ²T©JEyNgfUüôš˜yf3æ¹ Vyz­¿‰N2e¬·Õÿös{ÛÐìÑZëæ€$eiÝ·æs9÷4§G™u®2Oå´ð43Ks³[dsáGVÊçgZÓ`tcXDÜ ?>ì\éùÌáø¾óuÝ Û×Ó2«>Ÿ•¥<ŒWq¿uNô)1p™õP—"÷ ™÷I= üqÛqäeÒ¹ø\y)¥÷rßǪpkt½ŽÌ¸¯1¾}É’†¦ºH)qÐrŸN„í鈊‘$ÀRޝPf<äž ùi‰>ü†¨Ã2‰ÅOs¾½ïLöôôt9Oh´%ÌÅ××ZJ‚ômì}ômw¨c4ëºFD؈+P*F”L`×)K¡¥ÂúÓÌBpûȾ;ðrQ-F$"9ÏöBÕÆÆ‰¢{çá³TYæ0ÌÞ¨ícñçÿh¼Ôü§ßÊiEYÀq4´nYPvïm·I_ê,9± 7)5ÂD8¦© ñe™X@8ëTæĘ̂,ðw“–´6¦©呟€_ ÌT'~:O€U’¼x"’H5Lf> {ÿEæKtÐÌÍ2"„Y„Ç"©µZRÞ×{”‰ëž±DV…ƒàR‰ä~ÛÌ€Ì|XÑ/ÏåGÜ¡5eÆI]j !Ø›»7ªúqÝÿã:ü‚‚@¸?bÎ|\‡§ÄG6gæèôØ@]ÈjAA/üz*RËŸO§y.jf·­32È¥eþÇ#͈6¨âçI }®Š)cŒC/x€»8º V)HG²9"€#â³S‚ iNÛ c™¦_¾.Þk-T'€Ÿ?ûÇ-~Û¶¤Ó\3ˆ=loéöi—­õ}ƒuÄf´6¿­+"üò2ßßòãžmÀûÏûo¿žO/R«îcß¶Ó2?E:€OSaž|´žIKU¨…ª†3‹0ÊÒcÿ)GªN„TäD2ý0ÁªÒi®§¥ý}ZA1ï„YJ!:¤r´ èàó|þŒÄ> €öÖßo÷¶]–Óºû£á–ùóíúýÛ3É4,º dÎüd…2ke)jë`f`æ§§§m5a|¿.™ˆö‘Ãüý>ö>†Ç2éó³ž^æ±ýå=p©³ð x'?^ž<+¥ #‘rÕD”¹ðäBR8öp\Eå`»·ÑåûºþÛϼ>ì¶ ï^µ¡Ý€Ó~{ e_ao¼Zĺ‚`N’O—Z´ OÆñ‡½ƒz•H£Ò„òº[÷,=h‹²­~Ècêu“ßßÖŸl®òmµq® íëóyº,€y½?†ÇåßþãG0Ï(˜ÃIxäÖc~» G, Zòÿá|šx:Düñóñóç®\NS~}­úÎçÅÃ#l*ešK-¬ŠBx8‚¹"#Y81åõõŸñ­ w:ZÚˆxÊÂÙ‰0D"b@¦°–ß‘Iïo ¢½Y’BâÏu _÷‘Ãd½?jÝ_žÎÉ}8`D)¤ˆnéÞ K)³AfZdfT%Z¡*Õ1ücõ¿½íwZ®ëÎâÿøßþå~ùí2Ïx)s¿Ÿ’2²•§’‰ Áª¬BL©|x\),{ÇpOýî1,,@± ›uuîëÈÇ{OZ*(å%ãåé|ðÑë,ëè%‡Sžž.ç©öMÍ`3ˆ§‘à‚DÄŠI(H$ìD4ϧºóÏ[Û÷=¿œ’âqK@k>ýåGÛ×Þw]&c! KŒ©J Ô…uß÷†£Çàp$B3a!*êiIfc9—Ó pªgFŒì™TÖžD„ʺâ×fó‚„Ây°U3 Í‚:9'Q"0£,‹6J‡29JQFÏ¢¥ªPFBâá½E<¤ÊˆHÄvŒ#ÄŸ⣰›ÈiŽGÓy"™Zî™Në><# Óà¸F­ 0Œ0HG È–f0ºµd ˆRÉÝ € ýéRŸÏåËó´íùó¶u FÝ!Çõ¿¿þ7¿=ýòÔý:O³¾^²òôï¾¶áHVß›¹sÛñïéûØ3Gz·¶÷=ú@sÈÀLlá{·D‚L³‡2ÇZR9…âŸ^¸Vz>͵*R6뇿]wÖIA+Ù¨TN<`ìéXêÔF<,n«m½Fð¨“Ö‚U˜Á£+„ýùÇã/ëc3Ëe¤ç~}×¼ý¸Ý®VDY„3ÌéRèååõ|ÒŠ Š _–ù¾áÇÍo­î» @,Š ƒ¤*8yDŸçú¸Ûz–Ìh§§d®};=-yïöóä,§YÔ Úî­µiè<•6⌖GÕa‹¡w­UU„/§sU>š\™™ŸòU¢Dl­î‡ áó À~¶13´ÎS-{k{¸ugªU¥ó¯/Ï__/çS)B™‘(–ܺ'%0éÑU‘ÊØÍœœé ãÖ²¼>Ë×/Ë\ðÏýéFöýõÛ—/óD§çIgaÉEùû¯óÞïÛfµÌIþqí¼µßÜ3‡aÇìî@xÜI€¡\æÂœE³(«@©ÌŒ WeˆÞ»'XÒûºÞ·½7¾m¶u,ç­1ŒŠHÑüžæR{ìÈÔ{OÓT K÷~ü&×m;¶9Q”À}Þ 2£"â4Ü´RÑš®„D`Çí²è¾ÙrQðS©—ÓËcíÖþ|»ï=çªEI•DéåI^Ÿi™uÝÆ¶96ß{»Ÿ§òü´´–Ç­o£2}¿\>®Û¶µe!l­‹"²jqUvH9XŸžóJÐRˆÈú¨:¹{$bQ,•ÞçÙax#&‰ˆ}ïÖú<Ÿ)ü¿^Ý[}øét¡„pÄÄteQ©ó\e™ë2æãänƒP¤ ¸C8¨D pNŒ@v'ÒcSÀHÌ(B¢ÉB¿|½X7s®ó ì,1É ëD1 þóŸ¾m[gº^FÆÛõÞßÀ ÉÆB¤…а°W¥¢PŠ%HH ƒÞ"÷6þÖ®Ç hw£Þ<‘ÜŹˆ…X¸žg‰Üï†}§k³ÛæÞÇe¢—E~yª#L„hx®Ý8ˆêØq*\J9 ïû~5‡¡ bÑ–S¶uë’´ý6OKj‰ó‰•FBÛv«µ~}µïù÷GoÝ=0’+‘Äãq‹·4°6NšçìûÁŸ/sÇT¬’4,߯«P¬U–¢ó\µ–êÞ¹L‰‘ÄôéöLü\GD k°®»J™u ë È,éÑÚÃè¸2ì¶ÞÑÁ¦¹@º˜`Œac¤ †Hë㣵õáDÔpÉ÷//Ë R ²"Ú€>P€¨ÖR‹˜Yo–ÄX” ãЬµ}úIJÀ‘®ˆ4Íüåëézë$¸­ÞZ³Ë»*GœE>_žŸN̘Þýû7¸o,Ä}0墳ˆ¨òñÊv$å{ï¿ßhÛÛ¶û0–qA D8 ¥—¼œhšËñ)[Ç÷GûyooïksÿŠ3KòË< ¢¹Œå$ÃsØø|SD?-’™‚BŽ1‘Å6$CžnÅú0 ¬“˜žÂÓ.ÿúR¦‹¶aîca>ëpƒDáù?}M´ö·ei¶;Þþß?t¹ûrªë–þã:ÕÓiÒ¢Þ#ÿò·®¤ºè¶Þ›ñËE–¥1O\d{ÀÖ¹Ÿ0 T¨PßÍÉÛ$ŠŒäH ò¾‚ÙªBzXœ=³dÈÃ5swid>l8¢vƒîèUû§ï¯ã¶F¦*}k÷Ç6F¨êT U .•Y ²’YŒn˜Ÿ_xÀ§…Úέ£9! L$o8ÿþ¦‘D ™N¥”ÞïüÇ›è¼n­Û!b(¢îÎqŸ¾\J-{b&.Óéû ÛÇÕ,h¸="²õÜ1zs÷ô€Þíè1’ ü͵Ôó¼L£©µ"a|Ú°1k¿5û¸ÚûuÛ·Q¥ÎuGè_—bË<“œo«]·ÑR 1±–ÀÈCr ŠpÇl;Þ·ARy 8zJcVZ.tº,LĤQéÞ÷·ŸÛ‚—eùö2=½žÂº¤O‚ú²üòt‚”‘øÇ»þñ¶ÿm·=¦-[µõóÓ³€°ÿûß;,%ÆÇÕÌ€ƒÏå²VPPhìívàÕ²oÎûß^sšãHbIª0üÿöà´óL_ŸOç³Bºª’0î#²'@D‚!²‡è=[óR$3ÛØ2cªXJ!Ñǽßo}XÌ‹–BÛîGÁUµÔ*€Ñ{]Ëtà„ÓÝ?/DÄ”é˯Ïbƒ®7Üwဃ˜$mÀèf™ªR•‰"=…±*½¾¾üþóñ·W-g¸UeAׄÌʱm[)@Èœ6½E¬>’]†@‡L‚¤Š, ±Yfœ+ÌU–¢Êâîݼ÷¾¯í¾ï{ËÖ° òÀÑÝ!ÉÝÏ3ý·zúþZçgØv{¬ûÛ}ÛöžÝbí#Òèé|Àì.ˆ¾[É O³ {ß<ÑÝ ÕR3‡ùõAtž*y­üX­Nùååµµvo¹ýõö¯Ë…‚Íúi;~Œ9Ìè}”-!€Íúž}ÿÙgô~r¯ÓTŠñcÝtëÝ{;Ÿ¦"$Pz¨>Þöûm”"÷­·6ƵΧӉåßþºQŽ__Ë\'&þä#=ÚÛá©BÏ!JL8†7ïžB,ó¬™ÙZÛ÷]D2ÕÜìv]?®¹®=˜3=‰sžUDÌ€ö}g‰¢ Æ î–™Ÿ—J¥0ÔŠ'D`g30OÄd&7 . ¢ =±ùò:}ýúò·ÿ¾ÛcQ!^£!ø\ª'›g2x@„-sA–[÷cL”Æ™‰HÉ ¬$"sÙT•PÜaôüëÇ>:ŒáOnEzw·p"`¡…àÛS=M¸T8-UU{óm÷Ç?ßó¾ãaÉ„êcpÚZ¦™+¸›÷ TBD÷6/tªÉŒùXÍÓç :ÏÆI !=y³’6F-1kY&*Lï÷­ïyÿÀKU#¥¾?²{Üûxïq÷Èôd΄Iˆmôy: Àï} TŒ4-òóñ‘¡½áûþt.œðÔÛ7 ót~}ÝJ¥ëzÇ„}³eTòqóÓÄ×{ÌuWž™œû÷ql+Ñɸó¤BA˜@€€„‘èéÔVœÜ¡Gë‘@˜ÀënfS•Ó…j­ªu´ GØ,޳hDD¡° ²æ0:7%VŠ‘nœˆŒZŽ1J!QÈ@LÆ@BÁï_.?¿?¿]›'ÿñóCDÒürž×žu¸t$1†»3ë4 32EBÊZ*CdŒÇ®ãæÝ¼hæ|(=œ DpQXŠœ—ÓiVˆÞ¼íÙôóG[Gë–ð±#TÌ/ò´ÞF=Ï˲,“N3# ëÐo\ï›EÁÚ1iÝúÛjumXª»LR†ð~»ÎŸ&- ‘=ÃI\D¦‹dz§is¿ïñÇÕ¼íA؃¶Ñ/'F{Kbž¶nýçF¨ÊÐ{A­ñ°T9ª””Ŷö§1Ìóûëå2Oµ&c¼Œ»½½í_^“¸LµËˆôdÔiïðþáBàh#’²Gpåþåy"·‘HDÔ†ÐÖÂD†åhªºZtÈðõëק̘¡"ó21ó°H€cªC$ÈÞ p W%ÆÌèáfR쳨ÃLƒˆˆ!ÂÜØ¸g¢G  ÇRiwpDš—ÙÝëØÝË4WOhæÛÖAO€eÛÍ¡ÌLÜÒb¸€Y · Îd‚¬BªüT|šÊ4ëAÿŽÈÛuÛ¶vëËÖ›…d7‹BBDUùë üÏÿÝ÷_¿N÷ÛºÚð ÊkþþãúûÕÆPI$ƒy³þðˆÇΔ™ˆP Æ©–ÌX¦œj$wanÍF†`½yî÷ñ>ò¶ñË™æ*†¹Çðž±ÉmØÝüç­Ýv Ws'âR2‘`ønCƒG7s/J“™Ó¾cÛM4ºSJo{·€Íí\µ4‡{ÛîµNDßß·mã¿öu*òõ™Ú°÷ë¶µÜ-'ÁZ œ@€|˜gl‡EÁ1ÏZ„"`ï™Zmxf½ÝVæÖÆ>M“Nr»ŽÞl®¼œê×ÓôõË¥N£„iÖRŽÕD¨/ÂO0!˜4ü;*ÉF˜DZJ":È—ÇÇ(ƈf>F€§?¶­¨Â\§¥ ˆ”±÷1Ú¾±0ô ÐF¼=ÚíÑ>)„»¹"…gDC†³Ra& b(J"ÈD’:Ì~¾mûðÝÒ\-1cr~X)ËåþüÇý©Ôú§Ó"ùË/Oaz»=>>nµ.Ý‚©¼á©(hN¢Œ‘„×ÍÛæç îû8UÙw»Ý7’"E·æï×p~þµ¥þþ—‚"*¹=OúÛ¯¯ß¾Õ§ bÊzm,)„mŒäÌø|¡È<’l³º7Dô  Ìpd"Ê£7œI}d¶´¹öaÇY H‹-Ë G÷†‚ˆÂ˜ûæ¾ØvØ:?ÖÑvKAFE ~@o‰i&+#ƒ;lƒ²soflîèኙеàË|šNO‚D´wë–×Gk­ýçÿáŸÿùŸžg¥—ó‚ø¼ÌäÍŸžZsëݺqQ‚ÄaÙ½<ÌÂÆÄÔE IDATÖÆÁX›yª9ñ-¯k@¤’8à£w÷R„Q…d(G6äÇFÿ±Ýÿýçp›‡÷Rcîmp5‚ù1¢yD280`RÄÖ xÃŽ”ŽFéè8›]O¬šÜ¶þÇ#÷îÄþý‰³¼ÿöž¿,ó‰ÏËâY<»`nÊEÑÐgóhœÂ¶äHf„p9û·—³êôsß®ïöØúr.íæéÆrÇë‡yÅÓ̾Y¢#Òë,ÿòÏK›uVàL«Õ=ÈÌ F7€¿ÓÕ‰Ò#"EÜ\(õ¥Q&e’gâ‘NȃWÞ}ø€#qøpûãfcŒÓ¢¯OÓ±ì 2ÔFÙÑæ“½.ËŸžçÿç/ü탰²YZðÞùÓn•Á@ â‰é%Zìæ‰¦™Q3\ôõ2› êÃà¾ÅÖÖ1†‹9G¶“q܇¸Ï3ñœZ Â;€<öÇêoÝ~ìiy8f9§,°âÇdßþùIãëþ¿þïkZ=%–î;2xp™•¨Ÿ“ Î­ü_TEâlíþØ'6° (cC s$°Á"(=,p #'ÜÑ 1¢Žˆè°!è°¸¾1F”^Þðår¾÷PÿWïÒsY’e ­½·™sîã{ù#<^Y•U•UEuT µZ  µ¡F-f=1ã§Ð3ƈA „D3©yHU¢ºŠÌÊìȈŒwÿ^÷ÞsŽÙ~0°ûyDヸþ}çÚ±½÷Zk¯u¹=8†1M»½®Ú<%a %(Ò<¯‹™)QŒ9•<šÑÝíáÝ¡®5EŒ÷÷Íë‹Ýî~>–Dˆ\Õú6ÈÕ~óòz¼¾™6J æžñ’{ä:3«ÖîBKüä¼@âÎî¾®k_1è®î’HU-Ü L®0é Ų¬Õ”ÝÍì´ÙÏqý寿|lõá±5_½¸ÊÎâSÓu¨Ä”S`Àøìj³ªÿæq Å—V›‚žNpgŒL\R Œ`Ÿ(¸@2G!b†²MÙI&‚+ì´†¶~±:i"&¯ ryƒÏ~ûjÚIHpfa,³-«}§§_¿yûî°,MÕ‰9ýÞ«á?úû¿õñK:œâÍ|°6]Hùù7ß~÷æ4¯Üdi*kcUƒP5õæÚ¨Ei³²8nWòÛ_¿&N³ê¨Nýyšy7`bvJ^޵2ÒâÂL%y*œ¤µõC¦fA0ëb!23΢ó꼪-q^ëâM¦¾ €p|ªÓÛË2 ö’qÎÄ9ýÖG#Q”qóÅWoæ59 ®fQƒ²©2œ §ã2¡5T³w˜[Rb¦Óüx¹Ÿ¶#Ž”RJ‚}JÚmx‰}š–‡éÍ[ÿâW믾¸·ˆœdEÃÛZ“䑞]íwEÕ*Ôº˜“˜9s˜¬Ixr8¨2Í„Œ–96›þÑo•ÿä|öòbØNÁ,uÆ?ùãÿúg·Û‹iÜï~ýÅz÷@K]5ˆUIÉ[’B%qBD‰ýÉxõü;Ãï|ö7ÿ×ÿ೫k¹ØK5¬š6cË‘·™øƒßüƒ¿ÿ³òßýÕ¯îF³ÁÈY@(DÃ=9@Ny9ÕZ™Yt\u²¯§Ö×–ýTô”µx’}žõ)Ìç´Ž®¡pàœIÝ[–€Sx»Ñ¡~òù§½Úƒ’¸Ã`Fö?φ5•ò7_Þý¯ÿÛw©u3Œ]ÚæaAjnÞ”3Ðn,cÁ~Äõõ0ŠgæÂ7WÓ–äbÒ›çã0í$¨ã;!œKæi“§‘ˆ»k³V ൪ª[—èº/r·`PÝZ³Zû¶­›E8¹÷'Ò˜‘Ra*cŽ}:~øQÞ–™ië„»{ýâ‹–Ú]„ÖüîÞ¿øâõã#G P=è´¦¯¾}üùWÕ¼:­Õ<( Ì÷¦ lÊ6<ÖÇ{Ýnèã¶mÆÇ›ñOþøùßþý›?ü½Ä*”œS‹¬é²b\Ò·¯×¯ßþâ/¿úͯãêòÅßù[_ît‘LjC=%lRqAM=牙‰Æ¢ÂÔNù4‡‡e‰wsýþé×ÿÍŸ}uj䢄uˆ`4Ö-¹#¥dfáÜ«$ Ž ö~," °Û @ˆUµ§‚{(ˆH¸ã¤ª9ç0'¤€ƒãleÈL9Ëßû76?ûÑÅ‹Ká`L…Íéù¦í`pŠÝñ>ý‹¿~xs?7—µÎR&I€,ËêÁ 0¦âuM¬64OCººÌ)q‚ƒ ’Ò73ݽ­5¥”)ª^++wðº¹Yt½ ÅÙ,¹Gôpç.Ÿ÷³Û6¹E·r4ÀÌ",QF°dv4õòõoüÍëúáùæyäÜ..ø6±qµŠVu;JJ2nv˲X›ŸÁ>{uù§òìõããÿñçïþêoD«}þcùÉ'Ûbé~gš&yõÙ8/ö?ý÷_}ôêùßþ×^„YŒÌîÙó×ßxI$‰#SmËŽÊ´E+#ýøãí§ç?üÙÕ×_ÈÝCýàÛ­” ž”¢ì3˜Eh̹7f²Ñ祦µÚ¶(åâJ·Ï~ŒM±ÖJ I—X‹ÀàÎðp HSÀ<ص1D`Nfæ$Þ[÷œiÎýo?Rç »Þsæ}ó!Lo¿>.W£ , HVÕ4ísIPÕ«}úÑÇüçù…š[áD”$—Ö¼š×zJ)BD«Ge*•¸\îwãPÇq¤hÒMD%jàtBxsDk+3{˜qäµëމDÚuˆî>Ïk)%"ÈîçrkFä"9àŽ•{îÜÏ+SGàâb_’ê1ÀªþâWm¶ú£O“p"V™æ6NùêêjÜf޶Ùîl¿k®ÃG/Øèâ?üw?û˾þê—¯ÿî¿ýá³KMi<0í+ ?}v]2“ÊãÚæ¼Ê ²¿hI(e ŸD ÆÄ`„¼¼äaÀ寧M 2W/9¥AŒƒ1R€ž 0bçàCcÚ—¼8Í &Ê¿÷ñÍ}þÝÿý—ëÑ· Db\$yã ¸Ÿ¥á½)rWâ B æAÄnOÁìÔÛÜè¡p ‰Ð+öÖ—Ô‰H²øSVH¸'r Ë µËà ’q®³Âê9ñª¤HR-˜ /¥]?ï–fKnÑÖyuÔpP ”ÒƒËEÀEÂE›NƒŒòàÃäJâ£$)yÑy1K5Âç!F$kööîþÙõÞ]¤œýþ…3w%Lp„šëùÅ"8AµùÒÇÃhíûa™{Vd3u‡Öy3 ÉÓi]ë49×:°d‹øîëšÊ°hûæ7†!$âîÍáz?]lâær$"ãõú'ñoþÉ'€Ù)`ðð«†0Àn†û¸»ÕÑ&pk´˜yM`Fˆ0ä‚Íãn“I ”„zvæ( P†IeX^[¹¯´â²®PÐv¤ÝææþÇ ÿí_ÿŸµ…y¨Æ ïùŽ€ÞWÜ ~Æ ãœÓBÏ$îói`B„“tpÐyÛê)ƒ¶>A8'û0òËW/?Y®®%q›Ò¸šfÁ|˜—Õäÿãÿ]Mî53?»º¸Úf²»)Ó a’¶Û_nFɬ¼H5M¦)S¡¡ÄnC›\˜Íú£±©“sÒÒŒLAƒ5]–ºZãR6œ±4‹`!aô¦>9 ‰¬Ç‹Âb7nÍMƒ“`îDÁ„”h,²™²™×Ã:/ª!‰y*»ýfÚlãâªñÕWñxŸG&^óÍÒ”™«d”Ì»K‘¤‚` SˆÎúSC"%0“1# —Ç;˜‚™­HJb) Qb:Öܽ­k)ÄYA®"Lbc„#ìAÊp !Jþî€ù®ÎœÖY˜|ØÂƒ_ŒÃ¸]ÿâŸ?–µÌÉœÃ\¨{!HX”²ƒƒ¢g‹œ#™ˆ%¨'L÷¸ 11àa„€0÷lî…îî †³À›­J"4\ô{ŸïÿÕ˳‹+á±ysk@^*æy‘øþ«œR]]r¹ßÜ\o?ùèòg?¹øÙï^ß\ÇG~÷.îOÇ ;V’æÉ£$µi¤í”6%Jv3‹¤¤æ„(–eQ«7Ó¦ë¼,n)‹ª¶ºæ”„ÅC‰“8,˜)¥¤ê­µÖ*$É9Ö½ÇbMÓTJÙŒc’¤U#èb»Ka¦’s²™ÞÝ­··Kk¨ÍSœf /âCÉûÍVXö{9 A®!b!AŠ€Y^çôî 5sÁ0d"Ga³uàϘP8³ˆHA$½_ 蜌€ó¤åÎî4ŸôîÁçÓÙFj]ı.X”Çi¼¹ÇùøÕ;ö/vøìånõc`FÎcªa5ZLè߉»÷Mt¶ãœN|†zÝ<«Š£ï4<…ÊŠ`¡^NAÁ,LD¾&q£üöø¸Æ‰Ä§öxðûƒ½¹_ä?ýÏþËùÔ–YÇe]«[³o'Fív6_}õîõë•S‘ä%”KŒ^›‡!‚™ Ì)féz§!KJ)I)©®àfVÛ*$$!Ì-"Î#QÃRÊZ­fáj*"C.fž$áîfV$ ¹ÔÚ¬ä"ݺ™™´2|Dd‘¼¶UÕ™3[¾Ø7Ïññ§ƒÀoß¶Û7ë:K°·J)'¦¡oY:¨¿$lYøík9á×7yÚf2³”ERœçö޽¯2@çC㼃ÂýóÑ9Œ¥ßpnPåV±T~œ©Ufb÷pcuÔ¦ëÊêDîâ¿zøÕwõjOúû?ûÉÕÕ0m©}òâfÊ€­žƒÌþR܃kûéAIpgn*rÖ<íÆ9×ÁDêÌÂTrÒ¿¹_ïOjšß¾Yß½YOG ê.ÿè?ÿ/’d°DGÆ€RòTФmhbIi,¿ùö°Ô¢µÍ‰#Ñ¢8.˜H*iH×”Äss5 Æ!Ocá,î¶Ù¥áüÄáPÇ׈ ¦á†nh­ºCÕÂÙ=ZS35€z¶3ƒ`f "¦ªæëºt(_MÝšZCkÖT 0–40«9Ñý½·&A¢ÎÇ£Þ=Ô’Ò0%‚FäDáH÷÷‹93R¸¬'7¼0³»7wb&Iñ`¤s¾AœOP¿ÈÏt½²=î\êJ§Ë ó˵FD˜‡ª4Õ¦º,A¤óBw÷‡_üzùêíòw~võG?Ú¸4Rl&ºØ–Û»7¹lǦT ™ÈÎW‰Ÿ%JLD g¡> EÄ“¹Ãùyö.ö eõ?§`­ËÌ©{yJD~xœO'éxŒe^¦)mFöÄ‘[33“ЧÓÚšÆnH±z›/ vZÓ ‰È"iV““¹CWÛ¼Ô#%"š¹÷•ÕfÚ4‘xÔ&ÖtiÍŒ¶›±ÖÅ,(åy]†bL!«ª€÷ì®ir‘ÚB×VmMº'³Ö-•¡­‚SÊCÌó|8›év»÷æÞ:UUÕlœ–?磴†ÓI)¸.#"Lµ¨êëoWf¹¼ÌܯrÀ–Ù¿þòôÓŸ^J²44p”TÆ1ƒ@eH"Œó9}[ŽßwĽ¦|íB¸#·¬ên¤ÖFËÚh­ì®­MÙÀ”ÜÃÔÂŽrðŲ_=§‹’?¾Éƒç×§ÇËMúñ'Ï×Å8®~ýÆoywò`¡÷ß@(À"Òo þÛ,gŽ­Ç›uìý ë«1ýl¡[/2ã†Å¼Y˜z QãG…%MÛròʧòAJ²6‡»%ê8„Oh•æ³ð0 £ÇœSQ…‚B$IÈì ·Š™m#93Q·¾6¾}\ä$SÆ0PÄ c3Ë›)OÃñ0Ÿæ5"Lõá°Ñ4 cIó<·Ã(Ýð.<土º`¸»6ŸibÀ…SD4kÁ,ã8ö/X›a^‡]IED"¢®æðZëñ4à: Y²qD«ˆ$Ió\÷»BÌLèôó»"& ÍB9‚[³adf~ªhOd(gŒïo,œYp?°R«±¬8«pQ#m1¯îÆ!„£y7ƒŽ¥yô­f´˜-3±ÓÍ.í÷ñÁGWײÍfDtšëá1ß?êÅT޵†.ç늀™(LdÔ«3“ÓM/O¥ó<}÷cÇ€§Â`‹•9úøbÐZmVYó•^ýÖÅÅ^R¸5O”Tz°[*^9‚2§Ív,»Í&§¥…JDScfÓš;2ÅZý´ÄO>)9çlA÷X›-jœÉVH.g㑦ë0w÷p'’ErKj]—Ѻœt?î[[O§S½½Í9gᜥjœÖµšUÊKÎÒÙÓ֔ȺÁIzÃEˆà‚U„·›m NÇã]]]f&¦B‘à&‡»0%WKC 88HDo^ˆÇB>d¡2ô(k7«"Àûa?ìî=¨ì©ë¢ÞÔtž ‚h‹‡{»?Q­†ž·HMááçŽó\êsR­«Õemë)­Ëï¶ÿðUyñ*3ôÍÛ7ooOo¾9Ùw§åd‰Œ Hç3žî!3wp2 ‘3ÖðýIt=zÿͧgˆóîqâÂŬy@JÎL4Izy1ü+¿óÑçŸnÒŠ‡  ͉¸lrDˆ/ÕŠ™>ZõXæXÜsÐmö=j˜'¶´6?g2Þ”Îr¤w·GˆK¨ ›Öê´Ûmò8m–¥ž­k£ˆ««}.Ñ£ª·Û)bXÖ9IÎ9ç’DÈN•÷|o!1ê}$‘«‰ˆ5e¢’w×ÚZKlÂ;ëX‰=¥­{ùÅåv³“ùx—øY™[Êd kPò!sÊB¤gP‘0DŠVš3˜ŒXRâ X¿ŠÎÓàSÃNÔÓ¹—³4€#PkGïøáÎOGZµF®NÂ@tg°vÎ~vCh35RSS5[ù‹»n¶¯./6›‘ÕÖ¨ñ×ß<üæu¼~cëœ cÕ g<¦÷íԛᄏyñÁûbýÃÚ÷Ô]}ÔÎj081º»â<¡‘ˆ`"¾‹ßÿ|üãß½úã?¸¾ÜJò*)¥nD¥dTOžRfÚýwÇåËwùç_Õ¹±†s¨ÚXĺ4>8eYUW¼­éØì0§ýNE$’k~¸Ù|~­ò»—?ýÙ³´Em5µÖ¤Î<ªúº.f§æüxZ¿úöáŸþ³¯¾y—VL x –4 å²ñÚ–ÖŽ´žrËßÄóë-Û‰i$ÖyŽã| ÎßÛ}[ž] ºT³HØž$qØX޲Ö|<î†Ð['^~û“qÚP­§Ã£p5‘6kªîNÞ{º£µÆÌÝ(¢û‚û¤ãî˲ˆ;˜YX°äœ™׺˜Wm¾,Ø7Ó~S°æ"Ëbf`¦3¼Ùò ³HR:wN?7àô=(ô/Cç¾*ÎSÁH'"YW_j¸Ãͺ|%z¯lî U5 C žœöÌ("眡É`Äøò«ÇÍ”o>ƒx­)§vs%ßܶËñz­…Ÿ…(˜øé±»³|ßKuŒªWÞ§gk9gÕ•@’¤k˜è‰Ïaf À`,`3ž]ŸºÙ÷ÈEr‰d gœíVÝ[X_ý£Óリ¯ 8’Àˆƒ™<¯m©îFä ÄŽ»…Ooë~Ûvëˆû{‡ä‘2?øÚâùÅ6g³Hs‹æÇoß¶õ¤‡æ³µaد3—¬ûëòÑæSaË Ï9#(ç¬uîtnND­5æl`ÀÍɃHÕݽ‡°k3›ö 3‹/ËšÒX2'²ív)Ì1Ï3y‚é´z¥ª3 "¤ª‘µ–Rr8ƒ½û|÷ï}ùÁ‹Nô/²~uEuVæì†ºêºÀ4õÙËÌè4Ì]ÿpŠà@s'D˜‚…á’ùxX×yYõíã0ÊõsÞo¶m5‚ýøãý0Mö¿ü¿£ÜX ñ9§ù<ýΜz?Þi槦>X¤wbeHîö~Büa#äç@垃8šOß¼>}vÕèÅ&…·Sð”RÎ=¦ë5úß`w_;­µ*MnÈæ–ó0åÇÝþêî~%ã0b6 ÷h±aó~?‹x«HÙƒ$41É›;›×#YÝm§›Ë±äºœx(åæ"ßc™îŽ+ÃÂSß_lÆÄB|š›ç’@É5DD5ZU)¹úÕDdFÉ>·–f¶¹&¹»[ùáäëº6¦M†A˜ÍbÊÓý݉ˆ6› p1㺠’$ŠH~:Õ‹]¢ÌfÎ̵5?0Š^1û¯ ¦\gÅF8#¢6sg7OIr.˜˜àçLU»Ñƒ"¢Y˜Y_’ §ÜݲV¡Ì¹~ñ*NK@[°¯ëºð£Wr1|óê“ç?ÿ²5Ÿ Äû³%­™€RÊO›÷[ŒÜÏ\ÀùHuJ@?Iô¤Ù‚[L<|{¤¿þV?ù¨¼;.Txô’!ëÚz)Qµ¥Ö»™ßìöH1ìZÜ „êT0>+Ã^=Û>އS5.-¦I›plà§Ìùùsj »Ý&Xß¼ÊCcoùö¨÷§ý\ 7WÃý|º˜Š×‡g—ã«^ y”4”Ò0 ,Ȕ߷–eœˆ wëa­]MÚµ¶Ìœ(©6U'Iâhå¼dÇC‘œ)\M/Y¶› 1”Dݬ°äM7[Z²ðfÚÉ4ÀèkkV¿BïL-a ÁˆÃëÚ` ¦¤ÌQò9‰´ÖÖóRJ­žmøƒHDt^¾üòË?üÈ=´¹!˜¹µ• ¥`]ª/nÒó«Mâ¼xs%r™ËýýÁÒÅ—ÿâ†@í|e¯†½©P½õçæ®"âNOo¹‘zzú_4Ób–¾ÞòB†àÚò7oë/sGq˜¾-©µ–R °šª®ê0‹o²]mk ¯òÇ/7Õ¨odæ‡Uù¸N§Çyzv1-7ÃzªÛǺ4´jq´xs’ÛÒ–‘·¾ª§”÷®·öá»$všÛDúâúbœ†‰—Râôx‚1ç}­kLcÎ *Çf¶Ö…\*33§m͘-ÔZk~æÝÄÎ"U2¸×ªšˆ¨‡ÈåœÑƒ6»)!˜˜rÆ™Xl®­‘Df j) 3z`hŠ™?•ÝhÍÌ“¹wŸExJâî,œA O‰üx°‡ÇªªàB–ù¤Í«BC¦DgÒÏÙË·0žÝ\ Ü…AY˜JáT¶c~óæ°?ÙO>»y~¹=OÇi™]ub¥éW¿¾ýõׇû•svwbbÀºN‡ÎÍá{Ò)""¼kÛ“¤ˆ®8“<ý8žý ãû£Ö«§€œ8ñÜì«ïæ’."jZZÍf½·ÖªÂf¾š;IÓÄÃqŽóq]•sBb ±~´ÍÏöÈ÷×|ùÍ·— Ïe÷X·ïüz[oÛö’Ìë½—ª eŠÍöm“«ÆªòòÅv»‚fâ!m÷û’.tœr.\ÛIòMk yIDATN'?–eöù¤<ú4MAN$˲0³Y{¯rTS"qwEË,Ô¢Q_šgvy¦>`O’Râ€3‘˜)àB‚Ì9ç’¼GîSŸZgÖ©5íM®0uˆ5Â9²Þ±* ç³/ò(D8­ñîvu×Ý~“sBxÎ…ÉN!MWþ†ÔL;˜¯» ‚ÆiIfÆLÃ0Œû!¼><”!—›4¦æ£¬a~ZÔlQk ’¹Tõ!¬§FŸéø|¤úßó9€S—ût÷|-yŸ'û¾=éKŸ„¦²Køf‡>õ翤»»wÓÞR¨U¸ð`-#Üý47¹Œ>?ø¼úªqÔrXgbDÓjI2ÒTJ!$ßdº*õåO®gjß½^›_¶ÇÝf Œã°}€²ŒÂÙï—š¼Û¨5ÛîMe:œ4 Cc»8c;Ž DsE™çe]×à0¶1•’òÜÖ3³Q­ßÜ9'õÎã>É j0#‘Ä@xD`ñÆ,¹‡G‰`7x¨!ç(LØGJ„®§gd†9I5b~òb/M:`Åà2rPJ¡¹3A@Õ¨ƒ‰á±XøbØúf§fæÆ ‰³´Ö–6ÅÅ«­úq?ʾŒ—¥<œê©Ž®NÏvæÐX™¯îÒhfÁ´)‰w[¹¹Ü“,u^îî?ûñ³2„.VWßlœUuL Àf³¹{\½µÞÞ§÷Ð ÷!ÅÂŸÖ Ï}ƒjçó¡ºr¯zFž§Ó0 ºMµÖÖ¢‡3ŸgŸ—Ä«B”zGÄ âÚ|mž™†")“×03‹HYºÌµï«-kMI †G¸k"¡í.o¶B¬"i(üøÀ··A’:&gÑšÖªî÷…affór "ØIy ¾¾”Çyf8u=Ùáq}wà_~½Ü/¬„$LÞŒ˜ROC:GB‰!ºî¨Wªþ/öJЧQQ‚ÏÓR {âîÿ¯†R¸0Ypsw¦„¥Dý`3¦ÃQóänšB™Brž†AŽ«¾»{;lÆS‹»ƒÉ´A–ã©Ûqmu½{—9@òXGH>}× e:,íþvq—Ï.ón#Ÿ¿”åÙåýIßÜVжÙ××ã¾RÊNÖ=¿¼~¶ÛOÇÓý0N9aU[ká9gq÷fÚLDýš€ðyºéþQÖZ£óÂ4¨ûy!¼{u„wæ‹ îBâÇe–’3K„`<©O‹u¶nRÎlëâµÙRÍC,aµº:˜%èZ¦þhxæ  ”’„R†dDˆ+«Úa‰yV"Z[óê=0¦USóÖšpî—nÊœ93[ÎÒ‘ˆ~½ª*)ÖY]i¿Iœ·kS¢\ÛñþmNY”烷ÇÊa.⼂ÉûÆ<3ü,ˆ8uƒy<ÍAî~Ö)Þ“Óg”ŽðþÕááaóK†T'uá„‹)ÿán~û£}ªj¨!7·J©*ooqR“ŒÄ!Ãöá¸ÎÍM| —dÑÜgzwwH‰5?®w,yà}Š¥…ôÉ ²vsÙh¸üë_Þ¾}=o6›Ë}™ ®ö#3ÆIrÚm¦=Èݪy øßL@ôÍUDD„ÊÀÑBˆEĽiNÃÙ±ÔcQ/ŠaqVÒ9ÜXq’$™ÀN0A0'ƒCÑ”‰x]# ¸¥Ä#0Sˆ½cÓ ‘Ä Õn€sÈtÊÜÇlÕjžÌjæÑ.‰¨9˜RÎTÛ¦ªº Í=I‰3ôH¹Hh¬ÚÜCUý˜8’©6¯ÚfUM¿úöþþ Û+©¶¬-‚²G 2cïAt?Ùþ¼ÿçÜ=ÌôÃÛ¨¿'g-<Ÿk&½‡UŸnVœDa³V›µª‡Ã’¬j]z_k=,ñÕ-~þ/Þ×›‹íÈé´,K%uu†4Z#euf›õ¯¿¾¯¶0Sö£ˆ0kóû}ëÓñÅuì†=­^…wuY'¹{w˜/0<Ÿ8Q]ÚîÙáCÙ¼ÙrNg{pµÖq,yŽó©Î•ˆR’Üg="ê}‘t« %úSgsßw©ìàÖt^}˜F 8@¥°;–¶ª)3gážù)fŽ`0q°š…!e TMÕ‹G))¼#É4ª¢ª7#†¡ì®Ý\–7Þj4%¦1 k›…3@¡§àBÍ-s¦Ä¡ä­µ †`Õ–-kiþxlz¬AôövùþfQnDÛ!\£ùÓš ˆpæänO$OJæô7ä½ûõS€03™9?íâiW‡ˆÁgÞÊ¢FÿâÛù´D:,Âàc ~·è/¾>|ýHZ%% ±wwsk[D ‡‡)(¡ÝÀ¹'+é M.7F$lquA?ýñ³›=_Ni;$Ï}¾/¿÷“g¿üòÍ6ã°Gp8†QšsY×6–”R¦p„µf®šD`&„a,îá,<äTÕz\eÿÙ¿§Sà) ?±¾ÄÜÙ½~µ™™¹;'6µ®byriç›L‰™ˆšU%fê±ÅÞZ‰ÌÕÝ£^ (ó<Ÿg«U£Ö¬SïL1Ô¬^s*u^m˜¦¡ U¬õ’ÎN­€@ ÍYÆQŽ6;Îûª ûŒÃÉÞÝ™Uwñ¿ùòáëïx;ú´Z­B6ŽÆ¢ œ¢Í"ÄL ‚0IÁŒŽâöo€™{)ìWSÄ §8#^=¦=q2ž^¥€Y"²&Tã»%VKV­‚J­qh÷k{œ)8[â“2/ä~Oz3©ï¦øé'ÃÏ>ß|þñ¶d:-ôå×w_|oÞ¼}ùüúr‹I4óTdÚš=0' ¾ÚÐǯòé„ãq^TJ¬õ7ß>8m>øPŠ ß¼>Ý=ÀÛ’®÷|íö‘—Ö:¡§îó#‰(º ƒž²´úŠ!1ÂÜzYd¡÷‡ÏÝÞ¦Þ“Ò“ŒñLF(È «Y ¤Ç£ž´®®onýx‚Õh]*Åk ¸AƒaN­¤±J²AÈ„çûáÙõX^\–Ýþþðòúù³í~¢„¸Þo¶»1¶œváwcvßè¬R甚ÏËáÔ´ˆù)KqKR¢ºK@\W‘q‰ÈÉ—Ú¢/ê;"¥ä¹7ìjŽtæ9yËåŦ¹tÿ\ïÎ6)¥” ëºRx2È™ÁĹH‘[u"‰0QÀÔ…]‘pcíÃKôÛ²W st_?"ŽHÚU`jVRzÒö™; å$²Ìp78'Î-™Õötªœ9IkËÉ|’vj½×t÷ó~fX_×ö‹/ß=Æ´Ù¼¼‘g—ã›ïN›Ývôe^Ö\˜´öË« ½½WC_cîãpä‰Z}BØÏcµ?š÷!ç û}ãõÃaÜO}XP <J RÈ|Œ¯›jšˆ¬Çˆxˆˆˆ‡Ì¡^[UîîNîU±U^îäNîUU»»±UUU»[U^äDî^UîîäDDDDDDDNääDDDDNîîå^îî^î±ÌÊ // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.ImageIO; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.awt.image.BufferedImage; import java.awt.image.PixelGrabber; import java.io.File; import javax.imageio.ImageIO; /** * @author Michael Koch (konqueror@gmx.de) * @author Lillian Angel (langel at redhat dot com) * @author Pavel Tisnovsky (ptisnovs at redhat dot com) */ public class ImageIOTest implements Testlet { public void test(TestHarness h) { testStringData(h); // Tests the reading/writing of various images. h.checkPoint("Reading and writing of images."); testReadWrite(h, "gnu/testlet/javax/imageio/ImageIO/Bitmap-32Bit.bmp"); testReadWrite(h, "gnu/testlet/javax/imageio/ImageIO/Bitmap-24Bit.bmp"); testReadWrite(h, "gnu/testlet/javax/imageio/ImageIO/Bitmap-16Bit.bmp"); testReadWrite(h, "gnu/testlet/javax/imageio/ImageIO/Bitmap-8Bit.bmp"); testReadWrite(h, "gnu/testlet/javax/imageio/ImageIO/Bitmap-4Bit.bmp"); testReadWrite(h, "gnu/testlet/javax/imageio/ImageIO/Bitmap-1Bit.bmp"); testReadWrite(h, "gnu/testlet/javax/imageio/ImageIO/Bitmap-RLE8.bmp"); testReadWrite(h, "gnu/testlet/javax/imageio/ImageIO/Bitmap-RLE4.bmp"); // Test also working with PNG file format testReadWrite(h, "gnu/testlet/javax/imageio/ImageIO/Bitmap-1Bit.png"); testReadWrite(h, "gnu/testlet/javax/imageio/ImageIO/Bitmap-4Bit.png"); testReadWrite(h, "gnu/testlet/javax/imageio/ImageIO/Bitmap-8Bit.png"); testReadWrite(h, "gnu/testlet/javax/imageio/ImageIO/Bitmap-24Bit.png"); testReadWrite(h, "gnu/testlet/javax/imageio/ImageIO/Bitmap-32Bit.png"); } private void testStringData(TestHarness h) { String[] stringData; // check #1: getReaderFormatNames stringData = ImageIO.getReaderFormatNames(); h.check(stringData.length != 0, "empty reader format names"); // check #2: getReaderMIMETypes stringData = ImageIO.getReaderMIMETypes(); h.check(stringData.length != 0, "empty reader mime types"); // check #3: getWriterFormatNames stringData = ImageIO.getWriterFormatNames(); h.check(stringData.length != 0, "empty writer format names"); // check #4: getWriterMIMETypes stringData = ImageIO.getWriterMIMETypes(); h.check(stringData.length != 0, "empty writer mime types"); } private void testReadWrite(TestHarness h, String picPath) { boolean exceptionCaught = false; try { BufferedImage image = ImageIO.read(new File(picPath)); int width = image.getWidth(null); int height = image.getHeight(null); int size = width * height; int[] pixels = new int[size]; int[] outPixels = new int[size]; String path = "gnu/testlet/javax/imageio/ImageIO/outputBitmap.bmp"; // do pixel-by-pixel check only if proper writer is found and used if (ImageIO.write(image, "bmp", new File(path))) { BufferedImage outImage = ImageIO.read(new File(path)); PixelGrabber pg1 = new PixelGrabber(outImage, 0, 0, width, height, outPixels, 0, width); PixelGrabber pg2 = new PixelGrabber(image, 0, 0, width, height, pixels, 0, width); pg1.grabPixels(); pg2.grabPixels(); h.check(comparePixels(pixels, outPixels, size)); } } catch (Exception e) { exceptionCaught = true; } h.check(! exceptionCaught); } private boolean comparePixels(int[] a, int[] b, int size) { for (int i = 0; i < size; i++) if (a[i] != b[i]) return false; return true; } } mauve-20140821/gnu/testlet/javax/imageio/ImageIO/Bitmap-8Bit.bmp0000644000175000001440000006747610410327035022756 0ustar dokousersBM>o6(ȉ¬%Ì’„œZD¼vdìËÄÜ®œ´>ÄZ,Ä>Ôv[ÄjKä’‡ôæâ侴̦œ¼N#Ô†tÄNÄ]EìÞÔć{´j\ÔjA쯤̚Œ¬2 ÄQ4´ZD¼vlôùøôÎÌ䣓´A$ô¿´ä‰yÄcIÄm^Ôzl¬RB´\LÄb<ÔŠ„ܶ¤ôðî¼5 ÄI%츱ܓ„ÔR,ÄsÜ¢”ÄV*ÔeHÜ›Œ´JÔZ0üÜØÔmWôÓÎôª¤ôÂÄ´cSÔŽ|䪢ԀoìÔÄܰ¬ÄrT䛌ÄP)ÌŽ„¬-Ì“ŒÄHìÆ¼¼V)ÄV7´G,ÌdIÄrc¼R<ô¹³ÌdÄ[;üçä¼rd¬:¼?Ô~dÌjL܇ṡ{ä¥Ì€qܪœÔr[ÜpÌw\üËÄ俼´Q4Ô^DÌž”¼bBôþüôƼüïì¼6 üâÜüÔмdR䯤Ì]E¼k\Ìyl¬VDä”ÌQ&¼,Ì\:Ô’„ÜxdÔª ì±¬´3ÌR5¼[:üøøüÁ¼¬ZIôâßÔb<üÒļ:ÔŽ„ôÆÄÔrL䎂ܕŒÜ¤œÜ”ô˻Ԣ“ôÚÓԚ䶬ÌJ&¼H&¼V>üâäÌV6Ìr^´:ÜrXÄvdì¾´ÌOÄxmüÎ̼A%Ìn\¼^LÌb<¼G䱬욈´-Ô•ŒÌI즟ìÀ¼¼O0Ôœ”ô²¬´&Ü®¤ÄAÔxdÄkTä–”ôêìÔ‰|ÄŠ„ÔjLôÁ¼ÄeTÜxlÜŠ„¼6ÄJ4캼Ă|ÔfTÔ]<üÞäÔndüÁÄ´f\Ô‚|ôÒÄÌfTô¹¼üêì¼AÜ~dÌlT܉|ÌŠ„Ì‚|Ü‚|ÌwdüñôüÖܼf\¼nd´2¼\D¬^TôÊÄÔ¢œôÞÜÔšŒä¸´¼J4ÌZ+ÌV)ÜŽ|쪣ÌrS´VDÄ:ÜŽ„üÆÄܶ´ÌŽŒìÆÄ¼V4ÄVDÄrl¼rlܪ¤ÔrdüþüüƼÌrl´:Ì–„ܲ™´BÄBÔz\ÄnLä–‹ôêâ¼R$ÔŠt@aÍuLwáuuEœuEwYä±5.ª{B?Þ¸ª‡‡Ú‡ªª.‘\xŠ5Š‹Þ.!ª‡ÚÚžÚ‡¸.¤¤¤¯?‹?‹2¬§x§Ý‹{‘‘Þ‘¤ð?ðo¯¤‘›‡mmÚ›ÞÞ‘.Þª¸JÚžm:mmm:žmmm:mÚëÚm8:mmmmmžÚ‡¸ª¸‡‡ÞBª‡››ª.¸ª¤ÍY µx@Rä¢N¢¢Ná33u3áEEáEuEEEEuEEEáEE3œEEurÒaNSw–EœE33Eœuuá_ç¾Ú<.Œ†2ooQè€Þ¤¯¬Îço‹oªªª!‡‡ÚmÚb<ª›‘¤¤o¯‹Œ§§xxx§Œooo{.¤o¯o.‘.‘›‡m8mª.›!›ªJ¸‡‡m:mÔ8l8mžmž:mmm„žižbÚžm88mžÚi븪ª¤ðð¾Úª...ªJ‹µNw¢äxú_¢¢N(áuœá33œE3œœ3Eœ3œœœœááEEµ[@@ñÍSáuáÁEu0œE-_â?{©â±¹±/?.€ª‘o\>ç{{›‡i<<ëbbbž<.Þ..¤‘{?2¬§x§xxx§ŒŒ¬Œ‹‹?\‹?.›ª.ëmmª ª¸ªªÚÚÚmm88888mmžmmmmmmmÚÚžèb:8lm‡‡‡‡ª¸‘¯Þª뛪ªJÚ¸‹/@a#¢RZNáwƒ¢àE3áááà3œáœE3u3E3EEŠxxç>N}-wNL’’œEœEwSwLáw¢pÈ/?¤ªª‘oŠ]@D{..¸Ú¸¸x‹¤ª¸i¸Úi¸iÚbÚ‡žž„m:Ô888:Ô8m8•l8•88m88TÓ•mmžbëÚ‡i뇸ë‡ÚÚ‡ª¸ªªª€JJ.??ä—Ra¢à33œ33œEœEuEIá3EœESYŒ‹‹‹ŒŒDÎ_NaÍ–E3EuEEEL™Í—·(N·N@DЧtXNto{..èóÞ¤!‡‡bÚb{^‹2‹\‹¬‹Œ5¬x§§x†§xxxxxx§§\.i‡i‡bÚžžm:8mmž:m888888mÔ888T•l88lÊTTÊTÂ8ÔÚÚÚÚÚ븪ë¸ÚiJëi‡¸ª‡èi›‘o­§rRKuE3á3œ333uááœEIEœEuœ3äZ‹‹¯?\\\5±¹äYEwƒw3þS#X@ÎX—$@]µXX9¢p±5t‹\2.€‘.Qª¸‡Úbo‹¬2‹‹‹2Œ2¬Šö§x§§§§§x§§§¬Œ‹‘i‡Ú‡Úžm:•ÊjÊ•8m8••888888888888••TÊjjÊT•ÔmÚÚžžÚ‡ªª¸ªÚiª¸ªiªªb:Ú<¸›.›o`Îa(Eáuœœ3áá3œuEœEIEIEœEEEE /?¯¤o?‹¬x@Òa—SSN4wLpÍ`>¬Œ5xÿ@Z@@S(Sp·ÿDŒxЋ¤\{!‡Úb‡o?2‹‹‹2¬¬Œ5Œ¬§§§§Š¬§§¬5¬Œ‹oªèÚÚžmm8TjÓÓÓjjT8•TÊT88l•lÔÂ888888•T•TÊÓ•žmmmëiÚ‡<ª››ªÚÚJžm:Ú.oo›{[rww333áœuœEœEœEœEEIEIEEEþ#ÞÞ.{¤ð‹5е`@yaäY4Y9_±@ç//@y——¹4NSuà(w²@±[D5Œ?.o¸bÚÚª??‹?.?2Œ5§¬ŒŒ¬5§¬5Œ¬ŒŒŒ‹‹o¤<žmmmmm88•ÊÓÓÓjÊÊTTTTTÂ88•888•8••••88Tll•8Ôm:„Ú‡‡Jªª›ªiÚ‡ëžm:J‹?o.‘5xÿX ¢E3áuœEIEEIIIIIEIEE3EIEuw.¾ªÞ¤o?ð‹5/>@XÍÍÍYNͱ±" Y9 3ƒ}¢Sá33wN—Î@@5\‹??.Ú‡.\Œ‹o?‹Œ‹Œ¬¬Œ¬Œ¬¬ŒÛ¬¬Œ‹‹?‘.ªmmmm8Ô88TÊÓÓjÊTTÊTÊT•l•8l•••l•l•ÊÊ8ëªmmm8mžm:::ÚëªJªc.ª¸ª¸mm..i›‘ŽÝ>>aSáœEœEœEIEIEIIEIEIIE£IIIœE-#ûª<ª¾Þ¤¤?‹¬µ]± ™YNw3–NN#73áEuwewwwwwƒÍZÿµŠ‹?ŒŠ{imÔm!{??o?Œ??‹‹‹‹‹Œ‹Œ‹‹‹‹‹\ð...!Úmmm888m88TjjÓÓÊTjÊÊÓÊÊT•TTTTÊTÊÊÊjÓÓ•:::mm:ÚmmmÚÚÚÚ‡ªBÞÞ¤¤Þ.›i¤5{¸.oŒŠ/aLE3œEIEIEIIEI-IIIIE-EIu3—âµ]NSLþ--áá¢Sw7¨EI03wÍ9¹NwááSNyІ†D?bmmbª¤¤¤o‹‹ooo‹‹?\‹‹\?‹?¤¤¤.ɾ!‡mžm8mžm8••jÓÓjjTÊÊjjÓÓÊjÓjÓjÓÓÓÓÊÊT•ÂÊT8mmmmžžÚªfÞ.¤¤¤¤o?‹[§5‹ŒxFüÍS3œEIIIII£I££EIIIIIS‹ð‡‡‡‡‡‡.Bt@ƒIIE¨E3EwEIII-EáSSN#9äS¢¢SwNÍXâ]]@ü{èžb!¾¸›!^‹‹o{¤?oo?ð?ð?ð‹¤....›.ªž:Ú‡m‡Ú8•TÓÓÓÊjÓÓÓÓòòòòÓjÊ‚ÊÊ888m:mmmžÚ¸›‘.‘.¤.o‹‹§C]‹Œ^ŒŒ^2"áuEIIEI-œ-IIEIII£I£IIEIEI-IEÍ›‡‡‡ÚbÚªÞ?¬>-EIEþ¢E-’IE-E3àwLSàwwwN¹Í@]Ò%Za`9±?.¸èª.Q!›.^‹‹ðooBo¤oo??o‹?.›Þ.Þ.¾Ú:mbbmžÉ<88•Ó+jÓÓÓ ÓòòòòòòòòòòòòòjjÓT8mmmÚmžJªª.Þ.‘‘.‘{22Ìâo{‘o^‹CEœIIIEIIIIIIIII£IIIII£I£œœY5ªž8ª‡Úmž‡ª.¤‹xØ-II--EuœEuw(·YÁwwƒwä@XZç§@җͱ±@..ª...Q.o^‹^?¤¤¾¤Þ.¤¤oo?¤¾¸›..‡ž88Úª‡ó›Éª8•ÓòòòòòòòòòòòòòòòòòòòÓÓÓ•ÔmmmžiJJª›Þ¤‘‘ oŽ5ûµÞª.¤2âKEEIIIIIIIIII£II£IIIE6ISR‹‡8•ëÚbÚ‡ªªQ¤xn-¨¨II–u-œIESÍ %± Í9Íš@ÒŠtt/Η@]]t!.¤o.¤o^^?o¤..Þ...¾¤ooÞ›Jª›.bm8mÚ.{¤‘›ië8•òòòòòòòòhòòòòòòòòòòòòòòòòòÓÓÊ•8mmmmÚÚ‡i››.‘¤.‘.oŒ]\i[#w¨¨IEIIII£IIIIIIII£III£IIIII£9â‹bTTÚž‡‡èbž›o¥SII“¨-E33w–7__±>ÌÍrZxÎ/Œ?¬>Ì@†DD)­ó...‘..^?ð¤..¾..ÞÞ.¤¤o.‡bi..b:m‡QQª‡bÚÚmÊòòòòòòòòòòòòòòòòòòòòòòòhòòòjÓT8m:mmmžÚ‡ª››‘.oo?‹¬Œ.mža(K-¨IIIIIIIIIIIIIII£IIII£IIIIII¢ 2Ú88ÇÚbèmmÄ.rE-I--œuEE3wr@µ†âµZr@x5Ч¬??25/†)D\\2i!^o..o?^ð{..››Þ...o¤o!žž‡Þ¤!!›!Úcbž:mmmjòòòhòòòòòhòòòòòòòòòòòòòòhòòÓTÂm:m8m:mbª¸ª..‘¤÷Žxt!mžb¤Fä–-IIIIIIIIIIIII£IIIIII¨£IIIIIIISrm8žbžžbžÚži..úLL33–E–LN%â/x†Î>çŒ\\Œo{‹§§555t?‹.{‹^oo{o^o¤..ª¸›.Þ¸.??{‡mb.¤É. o!‡bmm8:mm òòòòòòòÓòòòòòòòòòòòòhòòòòòòÊ8Â88mmmmÚ‡J¸ª!.‘o©r@Úžb‘2Y-I£IIIIIIII£IIIIIIII£I¨£II£IEu ã‡žb‡‡‡Ú‡Úbë*?ÍEwE–wwÁÁpÍ@>Š//xxŠŠ‹‹‹Œ{¤‹\\\‹\¤{o\o?oQ!{ooo.›!ªªª››ª¸ÞðoÞª‡<¾oo‘ÚÉQëÚm8mmžÂ òòòòòÊòòjÓjÓòòòòòòòòòòòòòòòòòòòòòòÓTÊT•88mmÚÚÚiJi!.oÿS§­.¤.?> wEIIIIIIIIIIIIIIIIIIIWIIII£III£III£IEEŒ‡<‡<ª¸<‡žÄ¾^ –uáá–S3wÈÎx/x§ŠŒ\2‹o?‹?\{?¤Q..!.....¸¸.oð¤.i!ª.›ª¸ª.¤ð¤›¸ª¸ª..¤.:è¸ÚÚžmmm:jòòòòò :´+jòòòòòòòòòòòòòòòòòhòòòòjÊl8mmÚÚžbÚièJ‘[3âŠ>>t5RYEI¨IIIIIIIIIIIII£IIùIIIWI£IIIùI£II°-uS#Cš/ëÚ‡¸ª!ÚžžbiNewSS¢YNSp9`Ï/ŠxŠŠ\?o^{.?\2‹?¤..ªªª¸¸ªªª¸.¤¯¤.¸¸¸¸ªª¸Ú›¤¤Þ!ª¸‡‡è‡i‡bžmAT:žžm::jòòòòòò+•Ê´ÓòòòòòòòòòòòòòòòòòòòòòÓÊ•Â:žžmmžÚÇó¤  5R@#¢EœœIII£III£IIIËIIIWIIWIIII£WI…££Iœ£-–w#Ò]‡ë<¾¾<‡ÚÚÞRíw#NNNÍY¹Í%†/Š5DŒŒŒ‹???¬Œ2?{.ª‡¸‡‡‡iii.¤¤‘ªi›ªªi¸Úb¤¤›¸¸Úžbžžž‡‡žbžÜÓ•Â+Óòòòòòòòòòh••òòÓòòòòhòòòòòòòòòòòòòòòòhòòÓÓT8žm8mm8mmm.a£3% ú#9ƒSII£I£IIIIII£IIWIùWI£IIW£Iù£ùIWIIIS(arÒ±`@:mmbžèQ.QŒ_wSSwpNN—XµxŠŠŒŒŒ5\Œ¬\2‹¬Œ.›.<Ú‡Ú‡Ú‡ªJi›Þ¤.ªiª.›¸iÚ‡›o¤!¸ªèm:::Úèmª<ÚmÂhòòòòòòòòòòòòò•‚ÓÓòòòòòòòòòòòòòòòòòòòòòòòÓÜm8•Ô8T88ŒCI¨3¢þþ3££II£IIIIIII£IIIIùWIùIIùùWIIW£ùI“¢X[2§Šµ]88m:ÚQD1_ä#g·9YN#NN4ͱµŠŠ¬5ŒŒŒ?\‹ã??^\Éiªi‡b‡b‡Úiiª¸¸...¸ª› . ››Þ¯‘...ÚbÓžžb­¸JlòòòòòòhòòòòòòòòòhòÓÓÓÊÓòòòòòòòòò+òòòòòòòòòòòÊ8ÜT8•ÊT•‘3K“W£IIIùIIIIIII££IIIWùùIùI£ùù£ù£II£ùùIWùIEú§\ã\‹‹Œx888mQ[̓NSSSSwNNNYYNͱZ§ü¬Œ\Œ‹©o?o¤.¤¤¸‡ÚÚ‡bÚ‡è<ªi¸ªªÞª¸Jª.›.{¤o?.i›.›ëª:ò ÊTž:mŽ2âNwwLwwNYä{:8mmmÚªXáNâ5Ú•TTl„„(-IIIIIIIII7I-Eœ33œœùI£ùùùù£ù6ùùùWùùùùù6ùùù£IEwÍR‹o¤.YNN4NNYNÍÍÍY—±@@—9 ÍÍÍÌ a@%]D.‡žb‡<‡‡‡¸ªª<ª¸ª¸i‡‡bžÚÚžÚ‡Úª›!.‘›.@R]x‹©‹Û\Œ2Œ§?XÍN¢¢((¢N#N¢N¢#NNwNN·9äÍä Y¢NwSwwSY.8l8•Ôž¤R~þ«E .ª*.¬gKSEþIEEIIIwEþ3S3Iùù6ùIùIùùù£Iù£ùù£ùIIW£PN±]5\o.SNNNYYÍ a_Í—a@/ÿräX__Ò 9]Îa—ÒÆŒo‡bÚë<¸¸¸ª¸ª!¸ª›<ÚžÚÚbÚÚbžmžmmžžÚJ›QQ¤Œ/µŠ2\22‹ŒDŠç"ÒN·Y4wN¢ƒN¢¢NNƒƒ¢Sw~ww~NY a—9Y#¢wSp/m•888m¾âYLKLLS~w4䣜-IIu3EEESN99²ÁEEIIIIœII£ùIù6Iù6ùIù6ùùIùùIIII3NŒ2‹‹wNY͹͠a±r@äÈ_µ/µ]@@  XrX 99ÒΩ!Úb!ª‡¸ªiii‡ª¸ª‡ž:mžžžÚž„žžmm:óª!›.\t2\\2Š5Œ‹t2Š@͹N·YY#NNNNNYÍäÍÍ·NY¢¢ÁwwS#N9 @±± Y#m8žm8m!5—Í —ÍYY¢¢S(Swá}IEE-EœI¨wä][@ú Eœ“þuIþIIIùùùùIIù£II¨£IIá3EE(a§ŒŠŠpNYͱ@`Z@@±±Ò/ŠŠç/†Z±rrRZÒ—±@ç?‘Þ?!¸¸‡Ú‡bbbž‡m8888:mmmmmmmmmmÚ‡i¸‘‹ŒDxxŠ/x5\??5>@±ÍYYNÍ·YNN¢4N4YÍ_a a Í#Nƒƒ((S¢Y9ú±y>Q¸Q\{taLEœLwLwN··NpNN(Sà3E3IEÍ`@]@ NwS(––wà3£IIIùIù£££E¢YY²—Î//â@[Š¢N @âçç/>†µµÿ)5Œ5ŒtŠD)µ‰â>/@%%r¬\??{ª¸‡bÚÚbžžÚ:8TÊTl88mmmm:m88mžbžÚ¸Œx/]µ)Š\o.¤2§tÎûYYÍÍ_ÍÍÍYY(N¢NwNY ±X@XX±û4¢¢SSKLSSNÎDx]a¹S}}uœE““E-œEESw¢LEàwES· ±X[[@ra Sw–S(à3œ£œE3uIùI£3NXÎ[x/R—Ò/2NN—`Š55Œ5ŠŠ5¬5\tŒ\\\\ŒŠxDtŒŠ>ç@Ð/?{ão{ªbžÚbžm8TjjjÊ88m8mmmžm•8mžžm!5†Î]@]Î\ª¸{‹\>a_·Íä_ a ää·N¢N(¢NNYä±@@@±—9ȃpÁ3E3SSpY9úaaÍYSì–¢¢(Eœ£IIœw–áEL#Nä%]R@ç/xÎúNYNSSEá3ww33uEœwESáEw¹]ü5Œµrµã¤ÍÍ]ŠtŒ‹?‹\\\‹\?\2‹‹\t§5‹\?ݵç///x??.ªžmmž‡Úb8Êj••888m‡ž88::žž?[>////\.¸.?\Œ_9—9ÍÍ Í_ R@@@±9·È4¢NwwSw¢NYa±@Î@±$#LS3àEEw¢SS–wwL(YNLEEþáSSwS4·N @ZÒ—µç§§/Î`Rä¢EEuEESYp33~SSL#SwLwYNä]ÎÿŒ^‹¬?.›@>D\\Œ\{¤{¤¤\\?‹Œ2\\\\¤.tŠ\\5ŠŒ\¤{ª‡mm8mž‡‡b:TÓj•88m8m:žè‡bÔmÔmÚQ5)ç/5Œ\Œ?¾‡è.?5†]$Íä ÍNYNNƒNN_a@ÎZ@@aO #pSSSL3SÍX[ZX ͹NSSEþ«wwww#wwSàEE--þES#YÍÒrR@@Ò±Š55§x†x†ÒNEu3–þNNØw3SN(wL·ûÈ—a±@>ÿr§{‘¯‘!¸ŒŒ\‹\Œ\o..!...o?o^‹\?¤....\ã?‹Œ‹?o{¸žžm8mž‡è‡m8T8Ômm8mmbbžžm8m)αNSSNþN9YNNYYLEp_]Xrxx2.ªª¸‡Ú?oo?\‹ŒŒãªªª!ª‘{{...o{!.!¸¸›.{o.o\\\ð?!ÚÚmmžÚ‡b:8mmžmmmb<Úbžžmmmž›¤Qã\{..¤¤!/t¬‹t/1 ÍN #ÍúÍSwYÍR—± #¢Ía]@±ÿ/D\?¤¸èbž?¤{?ã?\?¤!<ª!ª!Þ›¸i.¤É!!¸¸¸ª¾Þ¤Q<{oðã??.>Î`@±— NNwwwáwS#wNÍÍ#SáE£ESYN#N¢SS––S–w(#NN#wwSNNLw~ÍaR/x¬52ŒRSEEwYrÿ>%99N @µ] YYYY]]]φŠ\o‘›Ji‡Ú:?ð?ð\??ð¤¾!ɪ¾ª!ªi‡‡!<ª<‡‡‡i‡ó..!.¤??\\Œ‹\.èžžbÚ‡bÚb‡èbÚ‡¸¸<‡Úžžžb¤ÝŠx\ã.iÚÚ¸‹5t‹§@$ÍÍ·Í·NNNNƒNNpN4ÍäaX]`ZZ@@±a #S3wwSSpLp–w}LwNSpNw#¢#NwSþ_ÍSS¢S¢pƒwSͱ)Š\tçYE£EESNÒÿx]—Í—@ S##¹@x/5ŒŒ‹?.›¸‡‡bžm\\ð?‹??‹\\.¾¾ª.¾ª¸‡b‡‡bÚbbÚ‡bɤ..{oãt‹ŒŠ†ŒQbžÚbèžžÚ‡‡Úi¸ª›.¸è‡ªQ?>@%²@D\ª‡!ãç»>x>ÿ@Z``@@RaÍÍNNƒNSSw–L–áSwNͱÌ@X_#N·N49Í  _Y¢SwSNYÍ9_äÍ—ÍSLL9ûw#¢ww#wN `@†Œ\§@äw–L–wNͱ@rX]añ±š@__a[5\\\??¤.Þi‡‡ÚÚ:Œ‹ŒŒ\\‹¬Š‹¤Qª.¾Qª!‡b‡žžmmmžmžžªªª¤.{o?\ŒD†‹!ŠŒÏ]X##NwSN²ÒÒÒ@ÒÒ@@@RaNNa±5\?2\¤.!ª‡ÚÚžmm†ŠŒtŒŒŒ¬ŒŒoQ›¾ªª.ª<‡‡ÚžmmÔmÔmmžž‡›¤¤<{?tŒ5!<ÚmmmÔ8mÔ8m›..{.Q{t†»))Ï@]Òarÿ>²Í ±_ 9ÍÍ  —Ò—a±XX@@@Î"»"ÎÆXaY#SN3LNYNpwwLSY—_Ò—aäa—²ÍÍYÍ—ÒÍÈ ±±ar`/>Ò ¹NÍaÒ /ÿ[@ ÍNSSYR]±%Í$ûa@O² Ò[Œ?\Ûð{.ªª‡mžmmm)x§ŠŠ³§ŒŠŒ‹¤.{..¾.ªª‡bžÔmmmmÔmmmmžbbžèÉ\‹?¤¾‡mÔmmm888Ôž¾..¤o5µX%@@ÎÎçZç@ ÍÍ—_—_ÍYY··N4NNSNNSww(¹ Íää@Z»Î@`ÌÍS}wwN¹9_ÍYÍÍÍÍÈ—_ñ —_ÍÍäa²N—]@Ò@Œ2/Ηa±ⵆ//Šâ@r #SSÍXÿµ± Í” ûÒRÎ//5\??2‹\¤..<m:m:m§§Š¬Š§ŒŒŒ¬Œ\??oo‘ªQª<‡žžžmm:mmmžžbèb‡.ŒŒãQ‡bmmmžžmmmb‡..{.{5†Ærú ±—9 Ò±@µ>â ‰ÎR@Xr —_—ÍYÍNÈ·9Í—ä ¹NSEELN9@±Í¹#¢49Í  ñÒ±—_9·N4Í—±± ——Í —Í¢#%@N¹]/\‹5>@]ÿµ†§ŒŒ5x>@%#NÀ@µ§5µXaȲ#@x†Š52¬2ŒŒ‹?o‘immm:5¬¬§§§§¬ŒŒ¬Œt‹?¤{¾.!¾<‡ÚžbÚžÚÚ‡Ú‡<¸ª!oŒ55<èbÚ!ð›<èÚbª¸›..\†@%Ò±—9ÍÍÍYÍÍ ÒXZZçç/ççε@@RÒ@X@ƵZ̲NSSPEw3EáL~(N—±@@@@]ÒÒ——ÍÍ——±±_Í9— ¹Íµ]±CCXt2§]—Ò@µx5Œ5†[µµRrµFŠ>]rY N·rÿF/5§Ý5Œ§§\?¤››ªªÚž§xІ†§ŠŠŠŠ§Š‹\?{¾!¸¾.¾<<‡è‡‡<ª¾¾!Q..¾{\\§Ï5©?É!<©§.Z]]@—aa¹²±Xÿx>/F§5§Šç/‹?o𤤾Úx)†Š†çЧ§§§Œ‹t‹o.ª<¾...¾É.o?\Štt‹Œ\\\\ŒDç[/)Œã\/)Š\?{¤..‹Š]r@@@Îâçµ@]ÒÒ—Í Í·ÍNÍN¹N#NYÍ ±Ì@ÒÍ#ȹNpLwgä±@@@%—9Í Ò——ñ 9ȲÍ$Ò@@]RÒÒ—— ¹#Nä±@ÿ][µ[[µµZµ>†ç@rrn#²@]]]rÒ—ÒÒSÍNÒ@r@µx††µ)5‹‹‹o‘.¸Ú))Æ)ç熊§Š§Œ\Œ‹\.É!.¾.¾.¤¬)r —]Ίçç@ÆÎÆ%ÒÒÆÒ])@Ò]犌ãã?ŒŠ@]XrXr]]çx/Šü//Î@±Ò ÍNYNÈNNNÈ9@ZZZr_N–LpN##Í9±%@µçÆ%Ò—  9±a— _±ñ±ñ 9Í —rÆ[>µ>µÏâ†[Ð@ZaÍúaaX@rÆ@]1µ@̲—rƒSÍ#ȱ@rºµ[[@µ†ç¬‹‹o¤¤›i))ÐÐ))††§§Š§ŒŒ‹{.¤.!.{?¬)@ ¹Í—r]@Ò—$$ $Í ñ—±—Ò%r±r%]†5555¬xŠüâ@@a—__ _±±±@@Î/³5Šü ÎÎ@Ò—ÍÍN#pNN²N# aX ÈpNNN(NNpSSL¢Y_@ÿÿ@@±±—±±ñÒ Ò%@@@Ò  —Òrµµç@]]]@% —±@±@@[@]@>ârұ͢Nä#NÍ äOR]±ÒOµF§Ý?oo\ð{Î@]@Æ)††ŠŠŒŠŒ\\?\¤{.ãt†rÒÒ² Ò—_rÒ Í  9ä—  ñ—±%±@@@@†ŠŒ§xŠÝŠŠŠçµ@]±Ò___9ÈÍÍȲ —Ò@Z/ŠüŠŠâµXÒ ²4NpwNSS#  ar_ÒS–}L arr%@@%@r——±aš]@aÍÍÍͱ>]µµµÆ@]][µÿr$²—Ò@]µÿ@]]@ŠF[@a” ÍØ##Ø(ûÍÍÍ##ä>xŒ?o?ðŒÛNÈÍ  ô%»†ŒŒŒŒŒ©\\‹\?©x[]±Í¹Í —ºÆ@aÍÍ9— ñ— —————±r]Î)/Ч)xx§xx††µµçµÆ@rra— ÍÍÍÍYYͲ͗rXâ/ /â»Î]]@X Í͹ww–pÍ r]%± NÍÃ_a±X@%@@%±—¹¹Í—±—SLwLÈ@]%@Ï]>†/†µ@±OäšÿxŠŠxx@[µ5Ýxÿ±#Í—_Y·È#NN¹aNÈ_x2‹?‹2¬§ŸL#ññЊŒŒŒŒt\‹Œ5t³/Ær@@— ñÈ µ@— Í9 _— —±Ò±Ò±Òr@@)/†µ)†††)[]µç//üŠ/ç/ÿÎ@Xú——ÍÍÍNNN#N###N_@µ//"ÎZXä#¢–Lw²äa——ÍÍNN¹È²$—Òar±a Ò±±¹SS«NÍ—a)††>µÎ@rÒx55555>†§x5§/]$ä—  —@Ò·N#Y NÍ9Ò5Œ2‹o‹Œ§…ESÈ—ô]犋\Œ§¬Œ¬§5Š[]r%@Ð@@r@//ç@—Í9 —  — ±Ò±Ò—±@@])»»[)µ@@%±±±r%@@µç/ŠüDt5Š/»%±a— ÍYNpSSSpNär±ñÒ@±±@± #SuuES9— —Í¹Í —9Np#NÍ9Í _ÍÈ#SSEELLN Ò@rÒr@@[]///⌋ŒŒ2‹5Œ5ŠŒ5†ÿXaÒ@@]ÒÍa—û¹±µµ5Ý2‹\‹Œ…EpÍñ—ѳŒŒŒŒŒŠŠŒŠŠxr Ã±][ÎÆ)犊D/@ ÍÍÍ—_——_ ² ±±%@@]Î@@ÆÆ@@@±±Òa_ä—_ 9__Ò@ç//ŠŠŠ/»ÆZ`@rÒ±±ÍY¹NNp–Lw#NÍ_9¹pSLþ#99yra ä_ÍSSS}SYñ Y#SwE“uwNNN#ȱ@@Š55¬‹‹2‹\\‹‹ŒŒ5ŠÏÒ]µ@ ²Í͹ ±rµŒ¬Œ2ŒÝ†æ…½#%)§5ŒŒŒŠŠ)»»)@—Í9 ñÆ%Æ]猌ŒŒŠr±—9 Í_Ò±¹_±ÒÒ%%%r@r@@]ÎÆ@@@%r±aaOa— ÍÍÍÍÍ Í—±%Ì]ââ>ŠŠŠ @—ÍNwLwS”ÍX±± È¹È—Ò—±± Ò%——ñÍNSpwþLN__9#wwE-ßEE-E—@µxxг5t5\o{.oo?\‹\§Šxµxxµ$NNNþLN]ŒŒÝ§§H†-½– ][xŠŠŠŠ†)†%ô]ÆÒ ÍÈÈÍô%)†§ŒŒŒŒ¬xµ@º±Ò_—— —ñ———r%@@%Ò@@%]r]@@µ††çx↵µ`@%%±99ÍÍNN#Í%@@@]µ@@±—ÍÍYSwNÀNÍ—Ò±±± ûÍÍNÈÈÍÈÍYÍÍ99NSL«þLSSNNLwSEE--EœLC/ІÆ[µ)xŒ{Q!ªª.¤o‹‹\255ŠŠxçµÒÍ NS–Kpä@§Ý§§)wNÍñô@µ/ç†ÏÐ@ÒrÆ)Î@ Í²ÍrÆÎ)/ŠŠŠŠŠHŠÎ%rr±±— ±±ÌÒÒ ]@%@%±r±@%±—Ò±rX@Îç//ü/Šü/ ç)Æ@%r±± ÍNNwN· 9²Í±ZµµÎ@±ÍÍN4NÈ#NÍ_X@%±Ãû#SSLpLS·_Í Spp(pwwáuLíNwSLEE}¹â%±1>†x\{iÚb‡¸›.¤o??Œ55Œ5犊@Í NN±@µx§§§HFµ#² ±Ñ)/§†»Æ@r]Ɔxx[—ȹÍ]@»Æ)Šçç/x/ÆÒ±a——²Ò±%%±@±@@%%@@@@@%@%±±ñ_±ñ—Ò±%@@@Æâç//†/çε@@a ¹²Í²#ppÍ—%@@@%@±± ÍÈw”LS# —Ã—Í ÈÍÈNwNYNwNwwL-ELw¢NwwLLÍXrÍȱ@/ŒŒo›¸žžžbÚª.¤{o‹¬‹\‹ŠŒŽ5xµ]±Í²%x§H¬5x†}LN9ÈÃ@ê§xµ»)»)/ŠŠx)Ò È raÒ%%Ð))†/xç@ôñ—  OÒ—±±Ò%r@%@@%`]@@Æ@Æ%rr±Òññ—Ín_— —±±]@ZÎçç/ç)Î@@%±—Í#ppNÍa@@]]R±Ò9##pSLLpNNÍ9ra—ÍNÈÍÍÍÈppwLLEEEœ-«EE––SSwÍ͹N9±@ÏŒo!<žžžžÚ誑.¤?\oo?\oz‹Œ5x@$OµŠ/HÝÝ5§HÏß-«P º>†)//D5tŒŒŒ5x»Æ%—¹Í ÒÒ@[[)))@Ò%ñÒû@Ò±±±%Ò±±ÒÒ±r%]]]@@εµµÎÿ@]X$±±— ñ_————Òô%Ɔ犊††»@r #p¹ÍÍÍ—±— a @@—·ÍNpLpN#—NpØÈY¹píSpNwwEEEE-EEEw¢#¢N¹Í rÿtQ@»@µ@]Ò—ÒÒ±%Ò±Òr±%%@@@%@r%%%±Ò±±r%@@µµâç//xŠxµ@]±a͹Í_—r@µ@]@``@Ò9#NSw#Yä±± ä¹NpSwwLSwSSE«EEE}L–pNNSNSEE-I£-wwN9#LYZD‹Q¸bžmÚ‡i¸¸i‡i¸.›¸.‘‹§xxxH¬‹¬§¬§H–--“½íÈr)†ŠŒ\?\‹‹\ŒŒŠŠ)@rÒÒ————]@@@)âµ]O%%±Ò±Ò r±@%@@@`@@]]r@Ò%ra—r%]]]@@ÆÎÎç†//çÎÆr±ra——r@@@@%rr@@]±@ ÍÍNN#S#ͱ±aa Í#í”pwLEEE---“-E-L–wwwLEE“£-LS¢NSNÍrµD¸ibžžžbžJ‡Ú‡Ú‡¸ª¸i.¤Ý§Š†§‹Ž¬Ýݧ§ö-WË’uEPp$@)Š\\??\?\\ŒŠç]rÒ± Í9 Ãô±—Ò]Æ»5ŠÐ@@±——±ÒÒ—Ò±@%@@@Æ@Æ@@@@@@@±±Ò%%%@@]]çççç»ÿÎ@@%%%±ÒÒ±Rr]]]]]r]%ñ —ÍNppwNNäÍ—ÍÍ9·È#pwLþ““-£-I££EE–wwSEEEELLSS(S¹@Š!‡ÚÚÚÚbÚ‡ÚbÚ‡¸iÚi.?Œ¬ö¬‹‹‹¬¬§¬§……WŸEßw @)Ч\?{¾??\tx]±——ÍÃÍ Ò± ——%])ç\\µ%±Ò±r%±ÒôÒÒÒ±r±@`Î[µµâ@@[@@@]@@@@%]]@)>Îÿ@@@%r±Ò— ±±º±@±±±%@@r_ÍNNN#Sp–Lp(NNYNN¹YwSSSu-E-«EELw3–LEELwpS~KS—/Œ?!ÚbbžbÚÚžmžžÚ‡èÚÚi!?Œ¬‹Û^‹^‹¬Œ§,°…-}–ÈÒΊ†Œ??¤.Þ{¤\tx)—Ò%]@r_ —@†³22Œ§)»@Ò@%@@%@%r±r±rÒrr±@@@Zÿµµÿ[@@]Z@`@@]@@]εε»@@Òñ_ _Í ñ—ÒaÒ±Òñ ÍÍÍÍÍ#pw}}–3LELELþL3SN4ƒNpSSEEEEE«E–áLES¢44NSEE_Š‹Œ.‡žÚžÚmmmžžbÚbbÚ‡.‹‹¤‘Þ‘¤Û¬¬,,,¼Ë“-–PN@µçŠŒ\?o..¤\ŒŒ§†Ð]@ƵrÍÍ @ÎxŠ55§†µ%ÒrÒ±@@`@@@]%±@r± %r%@Î@@@@@@Æ@@@@@@)µÆ@@@@rÒ—Í$Í—ÍÍÍ —ÒÒ±  9O͹NL”LEEE---«ESLpwSSSSáEEEEE–ELLLSwpL«/\ŒoÄžžžžžžmžžžÚ<‡ÚÚè.¤ooÞ›i›‘¯Û¬W¼W,…W-Ÿ“L——rƆ5‹?{.¾{o\Œ5/)rrÆÎ]a— —@µ†/xµ]%Òa—Ò——Ò%]@ÆZ@@@%%ÒÒÒ——@@@Z@@@@е@@[@]]@]@@@]Xra— ÍN¹NÍÍÍÍ 99 äÍÍ_ÍY¹NpLEáEu3EEEE3EEEE-EEEuLáSwSwSEL D\.!bÚžžbmžÚ‡›Þ.›ª..¤o‘›ª¸ÞBÛ‹-W…°W-°¹¹±Æ†t\¤..{o?ã\\5/ç)µ`Ò Ò@@Æ@Ò»)]ÒÒñ±±±±—±——ÒÒÒ%@@@µÿ@@±Òr]@]@@@@]@@@@[@Ð@Î@@%Ò———±±r±%±9ÈNNN#p#pN#¹¹NÈ4NN¢wLSLSLLEEEE«EEEEEEE3EEËË--E“ELEE%Œ{!<ÚÚÚÚžÚžÚb‡¸..››....‘.Þ›.¤^°……WËŸ°“LSpÃÆ†/Œ?{.{{{oo?Œ)]Ò—±%@%%@@µ††%±±Ò—ÒÒ%%%@±±ñ±— ñ±r@]@@@rr±Xr%`[@]]]@ε@@@@[@@%±ñ Í ÍÍ_— ——ûNNNwSSSSáSLLSSSp–wEL3LE«–3L–3––uE–LLE“----““þE–¢Æ\.ª¸èbÚmžÚž‡ë.›¸..ª¸ÞÞ›Þ.Þ‘¤?¼………æWI½SLÈÒÆ†Š2??\ð?‹ŒŠ@r%——@@@]@@ç/rr±±±±±r±]@]]@@@Ò—  _Ò%r@@XXX@@@@@@@`@@@Æ@[@]@@@@@@]@]%Ò  Í##N9_9 ·È¹N#NpNSpLLLE«E«E«L3EEEEEE–ELLwwSSàEEEE-EEw–EL¹Î2o.Q!<‡iª›Q.o¤{.Þ.ii›ª›iJª›‘¯WWW…,¼°«wNÀ  @ÎxŠ‹\\‹\‹ŒŒ/@——²¹ÒZ@]@])x/Ï]rÒO—— ———_—arX@@@]±ññÒ—ÒÒ±r%@R%±@r±%%@@@@]@@]@]@@]r]±rr±%± —Ͳ²ÍÍÈÍ ÍÍ9Í·ÈÈNSww–}LE–3–EL}LE-EEEEEEE333Lww–EEEE–Lw–LE(—µã\?o¤ª.›¤?Œ2‹o‘..bbiÚbª›‘““°W¼¼Ÿ“LNNN Í—@[†xŠŒ5Œ5¬§)Ðôñ ÍNÍ rrZrÒ)Î]Ò%±—a_ÒͲÍÈ·ÍÍ  —@@@@@±Ò—±±@@@%r@r]±r%r@[@@@@@%%±±rÒa— — ———ÍÍÍÈ͹#NÈNÈÈNÈN###SLLLLELEEEEEEEE-}EEEEE«EEEEELuLEELìS †§Œ‹oðo‹Œ5†Š2o.o.i‡ÚžmmžJÞWŸ“-WW“N¹È² $%Îç)x/çŠxŠ)] ÍÍ##È͠Ͳ±—Ã]@Ò²Í —_—±Ò±ñ_ñÃ9È·¹Í —ú@R]]@r±arrrr±]@@@]@@@@@]]@]]@]±±±±±——  ÍÈÈ##pSSpSSSN¢N¢NSwSLEEþELE«EE«EEE’E--“EEEEEEEEEPE«EES~#Í@Îç/)/D†[†x2{{.›!iÚžmmmmžiª…ŸEŸ--p¹È —Ò]@@çÆÆÆÆÐα²ÈÈNpp#pN͹È_ñ  ²#¡Í9—Í _ÒÒrrra——ÍÍÍ _——±@±@ÒÒ±X@@@%†[]]±@@@@µ]@rXr@rra±raÒ——ÍÍÈÈ#NSpwwLLS–LLLLLL–SLSE}EE–«E–3KPEEßE--I-I--EEEEELL–E}p¹# Íra%µx5?o‘.›¸ž„m88mmªW“pEŸ…ŸS#N @Æ@ÆÒ]µÑr Ò—Ò±Ípp#pNÍ _ÍÍÍÈ#NÈÍͲÍ9—arR±r±r±Ò_—_ ±±%%ÒÒÒÒÒÒr]µÿ±]Òr@]@]]Rr±rRarÒÒÒÒa—— ÍÍÍÍ#NpppLSLLLE}LELEEEEEEELEL3LwL–LþEEEE“I“I£“«EEELLEELE«EìSYÍr>/§2oo..¸žmlÊÊlmž-SPŸwpP¹ ÎÒ$r— ¹Í¹ ²–ppíwS–pp#È ÍÍÍ  Í ÍÍÍNÈNÈ99—Ò±%%%]@ra%rr@%Ò±ÒrÒ@@[]]rÒ±%@ÐÐ@µ@rXr±±Ò±añ ±— ²ÍÍÈNN###N#p#SSLELEþE-E«“EßE-EEEßEEE–LáL3þEEE---I--“E“EELLìL~Lu«EN²—@†x§§2...¸b8Tjl8žípPí4í«íN$@µÐ1²Np#¹ÈȲ¹}ppNpNNNNN¹Í$_ñ—Ò———ÃÍÍ99— _——±r±±@]@@@@rrÒ%@ÆÒ—Ò— r%]]@r[/µ]@@]ÒÒ—±ÒÒrÒ ²¹#ppSwSLLwwSSpSSSLLPLLEEEß-E“E“-EEE-EE-EEE“EßE“---“EEE3SwppLN²Òµxݧ‹.›J:8jlmbÍ ¹#íÈnpͲr»Zr͹ ÈÈ—#ípppN¹¹pNpp##NN4È_—±±——ñ $ _  — ±ÒÒ±r±]@@rÒ —rÆ)µrÒ———ñ±Ò—%r[//x†>rrÒ%r@]@rÒ—Í#LLLíSSLL–LLE3LE3EEE-«EEE-E--E--EEEE-E--E---£-“EEþPwSN¹ÒŠ‹\‹^¤›!¸žmljjlmm$—²#”íȠ͹ —±@@%ñÈ#²%ÍÍÍÈíLSípppNÈÀpÈÈÈÈNpßw# ÍÍ—ÒÒ— — —ñ ——9a±r%r@r±ñ—Ò@çxµ»@Ò—±±ñÒ]])†/xÏrÒr@]]@@r— ÈpLpLLLLEE««E«EELE-EE“---“-““““--EE«----“-“-“ßE û@Š2o¤‹o.›.¸žm8jj•88m —ô_9ÍÍ   ÍÍô—ÒôÒ  —± #ÍpL}ííLpSLpppÍNnNSp#NÍÍà—ä Í²ÍÍ —ñ ÒÒ±r±—  Ò)µ†§/†ÆrÒ$—Ò@Ï))xµ]]R]]еÏ)>µ@—ÍÈ#ppw–SLSLLLìPEEEEEþ«E«-33EEE-E“-£EI-“-E-£“---E“-““I“EE²±r[5{.‘oo.››i„8TÓjjÊTll$$—Ò@Òrî $  $ôÒrš @ÒÒ N#½-P}wp4#ppLEPpNÍNNNNÈNNN¹NÈYÈÍ_ ñ  _——$—±——  Í  ±@]Îê§5†µ]ÒÒ]µÐ[[[]]@]r@[µ†Fx†)]ÒÍn#SípLSSSìLLLLLELEPEßE-«-E-EEEEEE“-“I-I£E--E-EEEE–EE}«S—@µ†Œ?‘‘.›¸immjjjjÊÊñ²$îrr%—$ ÒÒÒÒÒ%r±—²ÒôÈpíß-«íp¹È·N4LPþLpp¹È¹È#N#NN#NÈÈÍÍñ———a——ñ— —Íä  Òr)犆µ]@Ð)>Ï]Ð@ršr]][[†FFxHx††]— #pSpppLLLSLLLLLLáEEEE---«-EE-E--E£-I“£ËËË££-£-“-«3SLSSN]ΆxŒ‹o..!!žmm8ÊjÓÓô ô ôÒôÒrrÒ@rÒô— ±ÍÍñ ÈL«-E«½«íÈ99·p–}pÈÈÍÍÈÈȹ¹ÈÈÈ####¹ÍÍ—ñ± —Ò_—Í͠ͱÆ)/Š/Ï/††xx†µÆ]]ršrr]Ð)†x§§§x¬§x†a$Í#####ÈÍNSLPLLLL«EEE-EI“------IE--I-I£I“I£ËË“-þLS#SSÈaÏ>†52?.!›!iÚžm88ljjÓò]]rrrÒ%@@]@]îO²¹ní¹Í«-«ßEp¹È#pLLS#ÍÍNÈNÍÍYÈNÈNNN¹Í_Ò±±±—  —Í —]†§§§¬ŒŒ§x§xx†)]ÒÒr@][)x§¬Œ¬ŒŒ‹¬x†@]± ±—Ò $²— — NSLSwpL«-ßE“““-EI“I“-“£“I-“°“-ËI“£°£“up##NNN$ZŒxÝŒ2?.!ii„mžmm8ljòòòµ))Ð]Ð)†)Ï]rô$¹¹ØLßNñÍ”“ßL}E½«ww–íLppppSßEwpNN¹ÍͲÈÍÍ Í—9  —Ò@%Oa—Ò]r%]φ/§5\?‹¬§ê†H§x†[rÆÏ)xx§¬¬Û‹‹‹‹§xÏ]Ð@rr]rš]][]rû²# —þ«E-E-EEE-“£I-I“I“IËIË-££-°°IPÈäC$Ò@Ï5\2Œ‹o.¸iž:mmmmlÊòòòòЧІ))††)]š²¹pL ±#}’ß-½}}Ÿß-Lß“ELwSpY4LLLLPpNNNNNÈÈÈÈNͲ9Ò± Íͱ@Æ@)µxŒ‹??‹5§§x¬Š§†>†††x¬5¬5‹Û2‹ð‹‹¬§§xç)]]]ÿµ)†çµµ[@Ò¹—±ÒÈ#““ßE-E“-£-I“-£°£ËË£-ËËËø£°ËßSN rXŠo.!o‹{‘.ªbžmmm8mž:TòòòŒ5§x††††Ð]—$¹íPP¹pP“½“õ˜“--E““ “---Eß«LLwNNNppLLp–ppppNN¹ÈÈN¹ÒÆ]Æ@]І§Œo?‹‹‹5Ч¬Šxxx§x§§§5¬¬‹ŒŒ‹\¯¤o‹‹55§†>†§Š§§§§xxµ]r@r—YSPE““£“£“I“I“I££ŸIËIËˣˣËW£LN$ar@µ^!b¸›.!ibÚžmm8m8„ž:ljÓj‹¬Œ§xÏÏ[Ð]ršO$n”pß«-“…ËWŸ-ŸE}u--Ÿ“-L-½–pípppwppL–pwpSS–¹r]—$îr)ŠŒ‹\\ð‹¬5¬§5Œ§§§§H§§¬¬2¬¬‹‹^¤‘¤ð‹Û¬5öx§5ݧÝݧ§§xµ†Î†[@±ÈSLEI°Ë££-£Ë-ËËËËË˰ËùW££I“Ep_rR]ÿ5.žžb›iž„m888mm:mm8TjTÊjÓðŒ¬x†[Ð]rî $¹ØØ«ßP«Ë“ßí-ß“ŸË-Ÿ°Ÿ“E--EL–½ßEßELLpLSp–SpLSLSLLSLSpÈÒÒ—r@†x¬Œð?ð‹Œ¬5§§§¬§§§§H§Ý¬Œ¬5‹?‘¤‹‹‹‹Œ¬§x§§¬5§§ö§§§x††Š§†]$NL--I£°Ë£°£Ë££Ë£ËËù˰˰£Ë-L_±]ÿŠŒ.óžÇž„žÚmmm88l888mm„88lTÊ?‹§x†[ÆÐrOO²¹¹”« õŸW-L««EE-ŸŸË-“Ÿ“Ÿ-wS–-«----LLpS–L–LLLPSNÈ rÒÒ]†§Œ‹?^‹‹ŒŒx§xH§Ý§x†ÏÏF§§†§2‹Œ¬Œ2Œ§¬§§§55§§§§§§Ý§ö§52Œ§]nL“““-££--ËIËI£°IËËùËËËI-£-L—µŠ.ižžmmmmm888lllll88žÚm88jÓ\‹§x[)ÐÐrršš$$¹nØL½ŸŸ“«ØPPP “---“““ß-ŸßE“ß”L}E}---½ESLpLp–pLw#ÈÍÍOÒ—š)xŒ‹?‹2‹¬‹¬¬xH§§§xF¿1ÏF[φ>FF†x§§§§¬§xêHx§§¬¬5ÝŒŒÝÿ±~ø££ŸI£ŸIŸIŸI˰£ËËùËËËWW£Ÿ£“EßäŠ2.›mm8m8llTTTTTTl8žibžmTÊ^¬§ê)Ð1îšO$$¹¹¡”~””ØØߟŸŸË“E–-ËËË“EwSP««ß«EßEß“EEß-««ßE½Pí¹²$Í—OÒšr][ÏŒ?^‹¬‹‹‹¬5§x§Ý§öx[1šš¿]1111¿]Ïêx§êFxêFFFFHݬŒŒ§§§@qNßW°ËËËIŸËËËËWWËùËËËIWWW-Ëø-E“RŠ2\\.óm888TTjÊTÊÊÊTl:Úi‡¸¸‡ž8?¬xÏÐ]rOO$q$$¹n¹n¹n¹¡ØØ”Ø”«ŸŸWŸ«LL«P~¹È#”3Lí--“-EIß-«-ß“ß-ßE-N  $$—Oš]ÐÏ5‹^Œ2Û^‹¬¬¬¬¬Œ¬xÏ]UUšššš][¿†H§xH†FµÏ)†xŒŒ‹¬ŒŠx—“-ø×…ËËË˰ùIËËËËËùùWæW““Ë-L#@ç5\?.¸bž8TllÊjjjÊTjT8ÚièbbžèÞ.‹§ÏÐ]OO$ÖÕ¹q¹¹Õnn¹¡¡¡ØØ”P«ßßߔؔí#¹¹N¹#ppSL“ŸËŸËE“«LEEEE«P#²$$$$îšrR]§‹‹22¯oo‹Œ¬§xH†F[UUÖUOUOUU]1][êxÏ[ÏÏ[[ÏÏx§¬¬5¬§x “…˜W,W˰ËËWW………W…WW…W…WË£-ßþN±O>†5ã.!imTjÊÊÓjjTTT8‡¸ªªžžb.o¬FÏ1$OÖ$²qÕÕ¹Õn¡n¡¡¡nØØ”íPLL”n¡#N¹¹¹n¹È¹È#NwE-““Ÿ-“EPPE-ßípnÍ$OO$O$O]Ð)§Œ‹¬¬^‹ŒÝ¬x>¿1[U$ÖûÖqqÖOUš]Ï[¿¿¿]¿][µÏFxH§Šx)²W˜W…£“LEþ-W…æ…˜………W…WW…-EE“E”9±R[Š5ã¸ÚbmlÊTjjjTTl8Úb€oŽo¤o?Q§Ï]]Oî$O²qÕÕnnÕn==¡n¡¡¡ØØí”ØØ¡¹n¹¹¹¹ngn²²¹Í#¹#”Eß-““-LLS”E“PL#ȹ#²O$$²ÖÖO])x5ŒHÝ‹¬F)[1šÖUOUÖqqqqqqqÖÖUš111111¿][[ÏF†x§†[²«-W-þN —YS-W…˜…………………W˜°E-ß-–pÈÍOrÎx?ómžm8llTTTl8mmžž¸‹>]@µ§¸†ÏÐ]šî$$²²Õnnn=¡¡¡'Øn¡¡¡¡ØØØgعn¹n¹nnn²¹¹¹¡”NLSLP½-EELì¡nN²²OO—$qqÖC]ϧ¬¬†x§)11OÖûqqqÖqqqqqqqqUUšš11]1[Ð[ÏÏHxx†Ð—”EMõ«±µ[r”Ë…,,………………W…ø«E«“«#Ͳ$εçŠ?i„m8mmmm8888mmmmmJŒ>—OÆ2x[]rrOO$Ö$q²nn'n¡=¡¡¡¡¡'n'¡Ø¡¡nnØØgn#gn#n²²¹#LíLL«Mßí”í”#N¹#¹²$—aO$Öq²ÖU1[Š5F[[]]U²qqÅn Å  qqCUqOUš111]1]ÐÏÏFxxxxÏa$O—ÒÎxxN˜,v||,,,|,……WIEË-È][ÿxŒ55‹Q„m8888mÇmmm8mmm:§ÏŒ.ž†[]$OÖ$qqÕnÕn¡=¡¡¡¡¡¡¡nn¡¡¡¹#¡Øn¡nØ¡n¡nnn²¹¹#ØL«ßLLLì”L”íL”PS#¹²$OšÒ$qqqqqO]/Š]]UÖnÕnq==n=nÅqqqqÖUUOUš11]¿Ð[Ï>êH§§öx>>Чöx§†]N|v¦¦¦¦|¦,|,,,…ß`â52‹o?o.‡m88lTT8mmm:88888m8b¤^‹!žmÏÐ]OOî$ÖÖ$qqÕnnÅn'n''n¡¡¡¡'n¡Ø¡'n¡¡n'=Ø=nnnq¹¹¡””«í”PSNN#S”Lßd¹¹$$$OO$$q²qqUÐ[Öqn==n=====qn Å qqÖqOUUUšš]1]¿ÏÏÏ>xx§§§¬5§x5\5tŒ5rdv¦G¦¦v|¦,|,¦|6Yšâ5©ãQ!!èmmm8Tjjjlmm88888888m!QèmžÏ]rÒî$O$$²q¹nÕnnnnnn¡n¡¡'n'¡¡¡n¡¡n¡'n¡=n'nn²²²²N#Pß-L#ȹ͹Ø”L“P²$²qÖ$$qqÖqÖqUUšqn =n==n====Å ÅnqqÖUO11¿¿[ÏFFFHH§ö¬¬Š¬¬¬Œ‹¬ðo?xOdv¦¦|¦|v¦¦¦v|da[†Š?¤¤{›¸‡b„8TjjÓÓÊm888888888ÚžmÚ]]rî$$OOÖ²qqqnnnÕn'Õn=n''gn¡n¡n'¡'n¡'n'nnÕn¹²$¹Èõ“í¹²Íq¹¹Ø”«M“P¹$²q²q²Öqû$UûÖq$ÖnÅ==='''='=====ÅqnÖqUUUUš111][ÏFxx§§§¬¬5¬¬¬¬ð¤{¾Þ¤¬@|¦˜…||,,||,P /5ŒQ›.›¸‡ž88TÊjÓjjl88888l•ll88mmmmÒrÒîOOOšOO$î$$$qqqnÕnÕnn¡n=¡n'¡¡''='n'nnnnnnnÕ¹²²²N“ßP¹Ín²²¹íß«L”¹¹$²q$qnqÖOOOqÖnqnn='==='''''==n=qqqUOU1111¿1пÏFxx¬H¬¬¬¬¬ŒŒ¬2‹?..¾ª.¤‹Ð…,ËËËø“-“w]üo{{Q..›!!i‡mlÊTjjÊÊl88888ll88mmmmm$ôrîôOOšîOîOUîš$qÖq²qqÕnÕnn==nn='nn'nnnnnnq²Õ²$¹²¹ØßELȹ¹²Õ¹n¹í«”¹$$q$Ö$qq$OšUqqnnn'n'''=g'='n==qÖÖ$111¿]1¿Ð[ÏFxH¬¬¬¬ŽÛŒ¬Œ¬¬Œ¬‹‹o.¾BÞoŒê WWL–Ew·Íy²Z\.!›.!.›...¸Úž8ÊjÓòòÓjjTl888lll88mmmmmq—ÒOOO—ššOOOOÖ²ÖÖÖÖOqÕÕÕn==nn=nÅnÕnÕÕqÕq$¹¹”P”¹¹¹¹¹n¹”«PßP¹$Ö$OO$qqq$UÖqn==n'='=Ù'='===n=ÅqqÖ1111¿¿Ð¿Ð[¶ÏHH§¬¬¬¬Û‹‹Û‹¬Œ¬¬¬‹?o.{?5§>d… ²È @>x†5?.ª¸iii.¤o{ªbm8TjòòjTT8888TT888m:mm ÒÒÒ—$Òrr]r1OšÒšîÖÖqqÕÅÕnÕnÖqÕq²²$²$²¡Ø¡¹²¹¹¹¡Ø”íí¹¹$$OOO$Öqqqqq=n='=¡'''==='Ù==ÅÅqqÖÖš1¿¿¿¿[[¶FFêH¬¬‹Û‹‹‹‹‹¬Ý¬¬¬¬¬5¬¬‹5xÐ@í¦…– š@>xÝ5Œ\Q›óbbbÚ¸¤oQ!ÄèmlTjjTjjj888•lll88m8mmm¹ ÒOîôôîrÐ]¿ÐÐ]1111îîOUqqqqqqqqq²qÖ$Ö¹$$ ² Ò——$¹¹¹¹¡”PPPع¡¹Õ²Ö$OOO$Öqqnn=='=='''''======nÅqÖÖU1Ð]¿[ÏÏÏFêHH¬¬z‹ð‹Û‹Ž¬¬§¬¬§Ý§¬§xÐrÒ $#vWE¹ÿŒ\\‹?Q¸¸žÚbÚi.{.!.??m•ÊjT88TÓjTl8T•l•lT8mmmžm¹îOÒ$ôšš]]¿Ð[[[[]]]Ð]]¿111OÖÖqÕ²q$$Ö$Ö²$$q$$$$îq$ Ö$²¹¹¹íí¹Õnnn¹ÕÕqq$Öqnnn=¡'''Ù'='======ÅÅnÖÖÖUU11[[[ÏFFHx§¬¬‹ððz‹ÛŒ¬¬¬¬¬5§§¬x§x]²PPM®®¦æ½@2{\{ªibžÚžb‡ª¸.‹^?\€88TmmlÓjlTÊT•T8l8mmmÚíÍ—îîOOrÐ]Ð[)[[[[ÐÐ1]11]O$qqqî$$Ö$qÖ$Ö$$Ö$Öq$²Öqqqq¹¹nnÕnnn'n'nnnnqnnÅn='=''''='='====Ù=ÅqÅqqÖÖïï¿Ð¶ÏFFHH§¬ÛÛzBB‹Û¬¬¬¬Œ¬¬§¬§H§HxÐq |¦®®®®®vVpŠ\‹5;.€žžbÚ<¸\Œ{.¤!8lTl•ÊjjjTÊjÊT8888mmžÚíØ¹îÒÒrO][))F[Ï[ÏÏ[[[¿ÐÐÐÐ1UîÖ$$î$$U$$Ö$$Ö$$Ö²qqÕqq¹²Õ¹n¹nnn'='''''=n'='n='''Ù'''=Ù'======qqqÖUUšrÐ[¶ÏFxH§Û‹‹ðoð‹ÛŒ¬Û2ŽÛ¬¬5¬§§Hx§Ï±…G¦®®®¦¦¦“"ŒxôÎ?!‡Úžó‡‡èÚ.¬?{!¸èžm8TTÊTTÊTlTÊTl888mmmžb‡P$ôrrr]Ð[ÏF††FÏFÏÏÏÏ)ÏÏ[ÐÐ11OîîOO$$U$OÖ$qÖÖ$Õqn¹nnnnnÕÕnnn''''å's'''''''''==='====Å=ÅÅqÅqÖÖÖÖ¿[ÏFxH§§ÛŒ‹ððð‹¬Û‹‹‹Û‹‹Œ¬§xF)†Ïr¹ |¦¦®¦v¦®Ÿ]@͵QóÚi¸¸!óÚQ?.¸bžmm8l8lllT888l888mmmžžÚè.عôrrrr1]][Ï)ÏÏ)HxH†xφÏÏÏÏ[ÐÐÐ11$OÖqÖÖ$Öq²qqû$qqnn=¡=¡'n=n=''''&&sssåsås'''Ù'Ù'==Ù=='Å==ÅÅÅÖÖÖÖïUU1ÐÏÏÏH§§¬ÛÛzðB‹‹‹ððBoð‹‹¬HxHÏϵ†F]$p ×|v,¦¦¦½í¹9¡${žmÚ!¸¸!¸!.{!ižžmm8mm888888m8mmmmÔžÏÏ[[Ð[]Ð11OUq²q²nq¹qnnqqq²²Õn='''='n'''''ss&&s&såså''Ù''='=Å====ÅnÅnÖÖÖïU1[ÏFê§§¬¬‹‹ðððÛ‹ððBoBð‹Œ§†FÏÏφϚ #«W˜W¦¦GM ]Æç{mmmÚÚèÏÏÏφÏÏFÏF[[[Ð]1îšOÖqqqnnn''åss'''=''='Ù'''s'såså&s&sssåss''Ù'====nÕqÅqÅqÖUïU111¿¿ÐÏÏFÏÏF§§§H§H¬¬¬§§§FxHÏ]1]¿¿1¿]]]]%O Ò—— r)5©‹/x‹o??.ièžž„mžžJèžbÚmb‡..›ª.?¤..Þ¤o\¬Œ‹]rÐ[µÏϵÏ[µÏµµÏ[ÐÐÐÐÐ]1OO$Öqqn=nn='''åssåsså'''''s'ssssås&ås&ssss''='Ù'=ÅÅÅ==ÅÅÅÅÅqUUO1¿¿]Ð[[[êH§êÏꆧx§xê)ÏÏÏÐ1r]1]1]¿Ð]1OÒOôÒr†§5†††§5‹‹?Q‡Úžmmžª{Þ‡bžmmmª¤..‹†Št?¯\Œ†D\r]1]Ð[†Ïϵ¿ÐÏÏÏ[[[]1OU$Öqqn=''''sssså&ssååså''''såsssssssssås's'åå'='Å'Å=='==ÅÅqÖÖÖÖqï11111¿¿Ð¿¿Ð[ÏÏ[[¶[[[11111¿1Ošš1]]Ð1rrrrÒîr][)†Ï[φê§5§¬‹oQ.ižmž!©2{ªbžb‡Qo\o.{‹Ï††‹\5†‹ð]r1]Ð[[Ï>Ïϵ>ÏÐ]Ð11]rOÖ$ÖÖn==n'=''åå'åssss&sssssså&åsss's's'sssås'ss'sÙ'''''Å'=¡='==ÅÅÅÅÕqqqO1111]¿11пп¿¿¿Ð11îUšUUOUUUš]]]]]]]rrr]]Ð[[[ÏFF†êx¬Ý‹t.bmb!\§5‹¤¸<{?D\{{.{?Š)Š\ŠŒ¤.r]Ð]][†ÏµF[]¿11rOUOUÖqnn=n''''''''sssååssså&&å&sssssåssåsss'ss'''åÙ'=='='Å='Å==ÕÅqqÅqÅÅnÅqÖO11Ð11111]îqqqÖUšUÖqqÖÖÖÖÖOš]rr]1]rr]Ð][)F)Fxx§§Ý5\.ª!Œ†]¹¹/‹oŒx\o.Q..?5Š5Š\¤{O11Ï[ϵ[¿]]U$ÖÖO$qqnn'n''s'ååssåsss'sssss&sså'ss'ssss'sss's'Ù''''''Ù'==Å=ÕÅ=ÅÅqqÅn==nÅqU11111ÖqqqqÖOUqqnqqqqqqÖOUOš11r1]]Ðr]][ÏÏ>ÏF†§¬H¬¬¬\.!¤5 Ÿkí@t‹Š\?..{o‹x)§Œã{šš1]Ð1[[]OÖÖqqqn==n'''sssåsss&sssss&ssså''så's'ss''s's'''''Ù======Å=ÅÅÅqÅqÅÅÅnÅ=====ÖU1ÖqqqqÖqqnÅq qqqÖ$Or11Ðr11Ð[[>F†Ïx§§¬¬Œ‹‹\?\‹Z«…Pô 5xŒ\?ð??F†¬o{ªrššš]1][Ð]OšOÖqqnÅ=Õ='''sss&&s&s&&såsssssås'Ùs'''s'ss'ås''Ù'='='''=====ÅnqqqqÅn=n=ÅqÖUUšïïqnÅnÅqÅnÅnÅ=ÅÅ ÅnqÖÖÖUOî1]11Ð[ÏF†êx§§§¬Œ‹‹Œ†]$ ¦…L@/†x†D‹\\o‹\\o.ªšîO]r1ÖOUOšUqnq===''''ssså&&&&s&såssssss''''Ù''s''s'Ù''s''=''''Ù===nnÅnÅÕÖq qq===nqÖÖÖUÖUîÖÅÅÅ===Å==nnÅ==Åqqqq$UOOî]1Ð]¿ÐÏFxHx§¬‹ÛŽÛ‹‹Û†VvGk9ÆçÆÐЧxŒ¤o{Q.{{!ó1šOÖOÖïOîOÅÕÅn='n'ååså&s&&&&&s'å'sås's'Ù'''''ss'åå''Ù''=''=''=ÕÅÕÅqqqÅqnq==Å=ÅnÖÖÖÖÖUîUïïÖqqnÅ=nn=Å =Å=Å= Å nnqqqÖÖOUU1][ÐÏ)Ïxx¬¬Œz‹ð‹‹‹ŒxÕdG×Nº»/š²%@)‹\ã.!¸.ª¸išOîšOOUOÖUO$UOUîUÖqn=='='''ss&&&&d&d&s''ssås''s'''''å''åssssss'ss'''''=ÙÅÕqÖÅÅqqqqqÕÅ=qn==ÅqÅqÖUOUÖUÖqqÅ=Å=Ån=ÅÅqÅ ÅÅ=ÅqqqÖUUOUO11][Ð[ÏÏFH§¬Û‹Bð¤ÞÞ‹Û5@) |¼#@§/Ò¹#r)\?.¸¸i¸¸]]OOOUîOOOUOUOÖOOÅn=Õ=n=''åsås&s&&&&&&'ååsss's''''''ååsåsså&åssss'='Ù'nÅ=ÕÅÕÅÕqqqÖqqÅqÅÅÖšUUÖqÖqÅÅÙ=n=ÅÅnÅnÅÅ qÖqqÖUOOšïš1]¿Ð[Ïφx§¬‹o¤Þ¤¾›ª.ð‹xx§ «EŸd//Î ÈØÒ[tQib¸›!irîUOOUÖU$UOUOOîUÕ='Å='¡''ssså&&&d&d&&&såssså's''å''å'åsåså&s&&&s&&&ss'''='Å'ÅÅÕqqqÖÖqqqqqÅqUO1ÖÖÖÅÅnÅqÅÅÙÙÅÅnÅÅnnqÅqqqqqqqÖU¿1]ÐÏ[φ§ö¬Ûð¤.ªªªÞ›ª¾?‹\Œç%qN— Œ/@—Ò\.!‡bb¸‡b11rîOUOOUOÖÖÖÖšÖÖÕÅÅ=n'='''ssssd&&&&&&&&&åsss&'''åsåsåsååss&&&&å&sssåsåÙ'Ù'Ù'='ÕÅÖÖÖÖÖUÖqÖUUš1ïUqqÅÅÅÅÅ=Å=ÅÅnnqÅqÖÖÖUUOš1]¿¿[ÏÏFH§Û?oÞÞªÞÞÞÞ¸‡¤Û‹^ŒÍÕ%5‹‹¬†]µ©{‘!!‡iª¸iž1]1ršOîUO$îU$ÖÖÖÖ$Õ==n='¡=''''ss&s&&&&&&å&&åsss'åss'ssåsåså&sås&&&sssås''''''ÙÙÕ=ÅqqÖUÖOÖÖÖUUOïUUïîïÖqÅÅnÅnnÅ=ÅnÅqqqqÖÖÖÖÖUO111п]ÏFFx§¬Û‹?B¤¾ªªª¾›¸Ú<¾oo^]¹$)5\\ŒŒxt\oð{....ªbž]111UîUÖUOUÖÖ$ÖqÕÅ==ÕnÅ'n''s'åså&&&&å&&&ss&å&sååsåsåsås&s&ss&sss&&s's''åÙ''Ù'='=Ù=ÅqqqÖÖÖUÖUîUUUïïÖUÖÕqqÅÅÅÅ=ÅÅÅÅqÅqqqÖUÖOUOï11п[Ïφx¬¬¬Œz𤛪ڇc›Þ¾¸‡‡ª‡!ŽÏxŒ‹\\o‹\\‹‹?oÞ.ª¸ÚmÐÐ]1Ðr11OOÖOÖÖÖqq$qqÕÅnÅnÕ='n's'såss&så&&åså''ss'sås'åså&ååssså'sss'å''''=¡ÙÙÕÙ='ÅÕÅÅÕÅqÖÖÖUUUÖUÖÖUïÖÖÖÖÖÖqqÅÅÅÕqÅnÅnÅqqÅÖqUÖUOÖU11пÐ[ÏFF§§¬ŒÛÛ‹ð¤Þ<Ú‡c›ÞÞªª‡ªJ!¤‹5³¬\ão¤¯\\?oooQ.ibž„mauve-20140821/gnu/testlet/javax/imageio/ImageIO/Bitmap-1Bit.bmp0000644000175000001440000000747210410327035022735 0ustar dokousersBM:>(ȉÿÿÿÿúÿÿþ¯ÿÿÿÿÿÿÿÿÿà€¿ûÿõ«ÿÿÿÿÿÿÿÿÿð€ éÿÿýUUÿÿÿÿÿÿÿÿàPóÿÿöªªÿÿÿÿÿÿÿÿü´Ãÿÿ{UUÿÿÿÿÿÿÿÿþ@ÚEÿÿ­UUÿÿÿÿÿÿÿÿÿöÿývª«ÿÿÿÿÿÿÿÿÿ@~€êŸÿíÕ­ÿÿÿÿÿÿÿÿÿ€û@oþõjÛÿÿÿÿÿÿÿÿÿ@ÿÐ_þÛWoÿÿÿÿÿÿÿÿïÐþ ªÿîúßÿÿÿÿÿÿÿÿÿPÿ@Wÿÿ×ÿÿÿÿÿÿÿÿòàÿ€Aÿ¯ÿÿÿÿÿÿÿÿÿÿŸÿÀ ÿþöÿÿÿÿÿÿÿÿÿóÐÿ ÿ¯ÿÿÿÿÿÿÿÿÿÿ×àÿÀâÿÿÿÿÿÿÿÿÿÿÿÿ÷Àÿà+Kßÿÿÿÿÿÿÿÿÿÿ×Àÿð*kµÿÿÿÿÿÿÿÿÿÿÿÿïÀÿðUv¯w¿ýÿÿÿÿÿÿÿÿÿÇàÿð*¯ÿÿÿÿÿÿÿÿÿÿÿÿÿ÷àÿð«þÿÿÿÿÿÿÿÿÿÿÿÿÿâ ÿðU½ÿÿÿÿÿÿÿÿÿÿÿÿÿâ€ÿà[wÿÿÿÿÿÿÿÿÿÿÿÿÿáÿà¶Õÿÿÿÿÿÿÿÿÿÿÿÿÿàþ[ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ~ø·ÿÿÿÿÿÿÿÿÿÿÿÿÿ€µø[ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?øWÿÿÿÿÿÿÿãÿÿÿÿÿÿ7ð¯ÿÿÿÿÿÿþÿÿÿÿÿ  ÿÿÿÿÿÿú?¸ÿþ—ÿÿÿÿÿÿ¬Ïü!ÿÿÿÿÿ[lü CÿÿÿÿþvЀ Tÿÿÿÿÿ­ À-‰©!ÿÿÿýSЀUUT?ÿÿÿþ•ìa«úÕÿÿÿþø €§þ­u_ÿÿÿü·Ô!p¿]ÿï÷oÿÿÿý_ðˆ¶ÿ{ûßÿÿÿþ÷ô€FÔ¿ýÿÿÿ¿ÿÿÿÿÿàU[@Wÿÿÿÿ÷ÿÿÿÿÿàT €ÿ«ÿÿÿýÿÿÿóý€@P@ûÿÿÿÿþ¿ÿÿàý*€% /ÿªÿÿÿûÿÿpAT ÿÿV¿ÿÿÿ¿ÿþ¨!T € !Wÿ[ÿÿþÿÿúP %@ ÿÿª¯ÿÿÿÿô%P• ¨«ÿª×ÿÿÿÿú€­@ **PRUÿU­ÿÿÿŸÿù(@  ªÿª[ÿÿúW?ôJ€ R¨ U¿•­ÿà…é¾€H €J" "BWÿ*ª@h !ˆ ¿”µ~€@ƒZˆÐ‚T¨Tu[´€*¥e*PU(]·h‚%*u´@ J-T¾ÕQ"€ŠH€–ЕöÚ$Õº J ’+@€[´Š6ª€• E R*€*ßë0ÙT@T"UTP)?þ¦*  IQ €U@_ýÙª’P*¨R%Uþ¶ÁZ©  B€*  ¿ÿÿQUWT*$)5®€?ÿÿ¥Z-Ú€€‚Jª€@?ÿÿÕmWµUQU(„ÿÿêª^ê€ "„ U" ÿÿõÕ+ºä• THÿÿúºú Q HŠ¢¡ÿÿýîþÅBê ¤PˆJ¨ÿÿûýþ¡¨€%%$Bÿÿþ¿Ô‚Rª ˆH‰$@ÿÿÿÿþê( H"’Rÿÿÿý_ù!Q%ID ÿÿÿ»¨H¨Q?ÿÿÿ®ÔPDD"þÿÿU@D¨A‘úÿÿU@@”D©ÿB (‚!!Pÿÿ D”¿ÿ D!¿ÿUI_ÿ•@ÿÿ  *ˆ€ ÿPDBhÿÿ T)¨ÿÿ©H•kÿÿˆ ªR‰j€/ÿÿB ­¨%]@ßÿÿ©@V««¨·ÿÿU ¯Tªþªª€ÿÿÿª€-ëU«õV ÿÿÿÒ /ZªßíUUÿÿÿÔ€õªµ»Zª€/ÿÿÿ©WZUKUj«@/ÿÿÿÒõªUUV€ÿÿÿ¨ Z¨ ªº/ÿÿÿÐ'oZ%IUÿÿÿ  º¤¤µ/ÿÿÿ@%zˆª ÿÿÿ TT ÿÿË  %Jÿÿã U€¯ÿÿ× "ª¥@ÿÿÿÿ *­€ÿÿÿÿ@"ªÛÀ ÿÿÿÿ•Wàÿÿÿÿ@Jº¯à?ÿÿÿÿ…+VßÐÿÿÿÿÿRVío ÿÿÿÿÿ@)[v´@ÿÿÿÿÿ* ’½Õ¨7ÿÿÿÿÿ M®ª¨?ÿÿÿÿÿ  ˆU{^¨+ÿïÿÿÿU «ýëTÿÿÿÿÿ•JU*«Z¨ÿÿÿÿÿ"©@­ÿú”ÿÿÿÿÿ•UU+jíHÿÿÿÿÿ$ªˆ%«ÿTDÿÿÿÿÿ)IR UUµ€ÿÿÿÿÿ¥)©*ª¨DÿÿÿÿúJ@EU @/ÿÿþõ%$€‘)$€(«ÿÿý7T€U¿ßÛ$ Q@ D•_‡WJ€*¿Àß뤥W>—T+x«ÿªÔ•ÿ)Wxƒÿ_ìÿR¯ýÁÿþGÿHR¿ÿÁ«ÿ +ÿÇoÿ‘U¿ÿêúÿ$RVÿÿõïÿmauve-20140821/gnu/testlet/javax/imageio/ImageIO/outputBitmap.bmp0000644000175000001440000000747210410327035023421 0ustar dokousersBM:>(ȉüÿÿÿÿÿÿúÿÿþ¯ÿÿÿÿÿÿÿÿÿà€¿ûÿõ«ÿÿÿÿÿÿÿÿÿð€ éÿÿýUUÿÿÿÿÿÿÿÿàPóÿÿöªªÿÿÿÿÿÿÿÿü´Ãÿÿ{UUÿÿÿÿÿÿÿÿþ@ÚEÿÿ­UUÿÿÿÿÿÿÿÿÿöÿývª«ÿÿÿÿÿÿÿÿÿ@~€êŸÿíÕ­ÿÿÿÿÿÿÿÿÿ€û@oþõjÛÿÿÿÿÿÿÿÿÿ@ÿÐ_þÛWoÿÿÿÿÿÿÿÿïÐþ ªÿîúßÿÿÿÿÿÿÿÿÿPÿ@Wÿÿ×ÿÿÿÿÿÿÿÿòàÿ€Aÿ¯ÿÿÿÿÿÿÿÿÿÿŸÿÀ ÿþöÿÿÿÿÿÿÿÿÿóÐÿ ÿ¯ÿÿÿÿÿÿÿÿÿÿ×àÿÀâÿÿÿÿÿÿÿÿÿÿÿÿ÷Àÿà+Kßÿÿÿÿÿÿÿÿÿÿ×Àÿð*kµÿÿÿÿÿÿÿÿÿÿÿÿïÀÿðUv¯w¿ýÿÿÿÿÿÿÿÿÿÇàÿð*¯ÿÿÿÿÿÿÿÿÿÿÿÿÿ÷àÿð«þÿÿÿÿÿÿÿÿÿÿÿÿÿâ ÿðU½ÿÿÿÿÿÿÿÿÿÿÿÿÿâ€ÿà[wÿÿÿÿÿÿÿÿÿÿÿÿÿáÿà¶Õÿÿÿÿÿÿÿÿÿÿÿÿÿàþ[ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ~ø·ÿÿÿÿÿÿÿÿÿÿÿÿÿ€µø[ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?øWÿÿÿÿÿÿÿãÿÿÿÿÿÿ7ð¯ÿÿÿÿÿÿþÿÿÿÿÿ  ÿÿÿÿÿÿú?¸ÿþ—ÿÿÿÿÿÿ¬Ïü!ÿÿÿÿÿ[lü CÿÿÿÿþvЀ Tÿÿÿÿÿ­ À-‰©!ÿÿÿýSЀUUT?ÿÿÿþ•ìa«úÕÿÿÿþø €§þ­u_ÿÿÿü·Ô!p¿]ÿï÷oÿÿÿý_ðˆ¶ÿ{ûßÿÿÿþ÷ô€FÔ¿ýÿÿÿ¿ÿÿÿÿÿàU[@Wÿÿÿÿ÷ÿÿÿÿÿàT €ÿ«ÿÿÿýÿÿÿóý€@P@ûÿÿÿÿþ¿ÿÿàý*€% /ÿªÿÿÿûÿÿpAT ÿÿV¿ÿÿÿ¿ÿþ¨!T € !Wÿ[ÿÿþÿÿúP %@ ÿÿª¯ÿÿÿÿô%P• ¨«ÿª×ÿÿÿÿú€­@ **PRUÿU­ÿÿÿŸÿù(@  ªÿª[ÿÿúW?ôJ€ R¨ U¿•­ÿà…é¾€H €J" "BWÿ*ª@h !ˆ ¿”µ~€@ƒZˆÐ‚T¨Tu[´€*¥e*PU(]·h‚%*u´@ J-T¾ÕQ"€ŠH€–ЕöÚ$Õº J ’+@€[´Š6ª€• E R*€*ßë0ÙT@T"UTP)?þ¦*  IQ €U@_ýÙª’P*¨R%Uþ¶ÁZ©  B€*  ¿ÿÿQUWT*$)5®€?ÿÿ¥Z-Ú€€‚Jª€@?ÿÿÕmWµUQU(„ÿÿêª^ê€ "„ U" ÿÿõÕ+ºä• THÿÿúºú Q HŠ¢¡ÿÿýîþÅBê ¤PˆJ¨ÿÿûýþ¡¨€%%$Bÿÿþ¿Ô‚Rª ˆH‰$@ÿÿÿÿþê( H"’Rÿÿÿý_ù!Q%ID ÿÿÿ»¨H¨Q?ÿÿÿ®ÔPDD"þÿÿU@D¨A‘úÿÿU@@”D©ÿB (‚!!Pÿÿ D”¿ÿ D!¿ÿUI_ÿ•@ÿÿ  *ˆ€ ÿPDBhÿÿ T)¨ÿÿ©H•kÿÿˆ ªR‰j€/ÿÿB ­¨%]@ßÿÿ©@V««¨·ÿÿU ¯Tªþªª€ÿÿÿª€-ëU«õV ÿÿÿÒ /ZªßíUUÿÿÿÔ€õªµ»Zª€/ÿÿÿ©WZUKUj«@/ÿÿÿÒõªUUV€ÿÿÿ¨ Z¨ ªº/ÿÿÿÐ'oZ%IUÿÿÿ  º¤¤µ/ÿÿÿ@%zˆª ÿÿÿ TT ÿÿË  %Jÿÿã U€¯ÿÿ× "ª¥@ÿÿÿÿ *­€ÿÿÿÿ@"ªÛÀ ÿÿÿÿ•Wàÿÿÿÿ@Jº¯à?ÿÿÿÿ…+VßÐÿÿÿÿÿRVío ÿÿÿÿÿ@)[v´@ÿÿÿÿÿ* ’½Õ¨7ÿÿÿÿÿ M®ª¨?ÿÿÿÿÿ  ˆU{^¨+ÿïÿÿÿU «ýëTÿÿÿÿÿ•JU*«Z¨ÿÿÿÿÿ"©@­ÿú”ÿÿÿÿÿ•UU+jíHÿÿÿÿÿ$ªˆ%«ÿTDÿÿÿÿÿ)IR UUµ€ÿÿÿÿÿ¥)©*ª¨DÿÿÿÿúJ@EU @/ÿÿþõ%$€‘)$€(«ÿÿý7T€U¿ßÛ$ Q@ D•_‡WJ€*¿Àß뤥W>—T+x«ÿªÔ•ÿ)Wxƒÿ_ìÿR¯ýÁÿþGÿHR¿ÿÁ«ÿ +ÿÇoÿ‘U¿ÿêúÿ$RVÿÿõïÿmauve-20140821/gnu/testlet/javax/imageio/ImageIO/Bitmap-8Bit.png0000644000175000001440000005022311632167152022753 0ustar dokousers‰PNG  IHDRȉ^‚‡eúPLTE|‚Ìq€ÌsÄlyÌmxÄcrÄdn¼\k¼^mÄ\j´\f¼\f´Rd¼Sc´L\´DV¬DV´BR¬IZ¬L^¼T^¬dr¼lr¼|‚Ä{‡Ì„ŠÌ„ŽÌŒ•Ô”œÔ”Üœ¢Ôœ¤Ü¤ªÜ¬±ä´¸äÄÂôÄÊôÄÆô¼¿ä´¾ì¼Àì¼Æì´¿ôŒ›Ü”–ä¥ä£ªì¤¯ä¤®Ü¢ªä³¹ô±¸ì¼ÆôÄËüÌÎüÄÒülrÄlv¼dv¼„ŽÔ„’Ô ªÔ¼ºì¼Áô“¢Ô„’ÌÐÔüdvĬ°ÜœªÜTeÄ„ŠÔ”䬱ì4Q´Œ“ÌŒšÌ{‡ÄTlÌlzÔ|‰ÔŸ¦ì¬¶ä„–Ì„ŽÜIdÌ^ṙ’䓣䄓Üo€ÔdwÌt†Ô¤¯ìKjÄ\nÌ0O¼)PÄ%A¼|‰ÜTfÌD\¼3´ 2¬6¼IcÄE]Ä»ËôDZ´4QÄ-¬%¬2´lxÜ„ŠÜTkÄ:¬,¼ 6¼WmÔ|‚ÔŒ•ܼÆüŒŽÌ$A´-´:¼7VÄŒ›ä|ŽÔs‡Ü´?¼ÄÁüØÜü:´,G´ÎÓôLnÄE]Ì 5¼4JÄÜÖü&´Üâüäçü&H¼y‰äìêü¤ªô¼Áüäâüìïü:ÄÓÚôôñüøøü>V¼tŠÔ6VÌ4J¼üþüBb¼:\ÌLjÔdxÜ>ÄA¼B´%IÄ‹–ä:´[vÔ\wÌJ´LjÌ|ŽÜ4V¼pÜTrÄHÄÄÒô$R¼AÄG¼dÌ:[¼*VÄBÄ5RÌSrÌÄËì[rÔ&QÌøùô&JÌHeÔd~ÔdrÔ#N¼)VÌNÄdnÔTfÔšÔ|‚Ü)V¼\zÔÏ÷ºåt=ÛùK²d[÷ï¾®ëw½Ü×}£Ñh´‹4ºE‹r¸rsç.^¼8//?/oÉÒeË –._Q°â¾÷Ýß}pßýð÷ßwÿŠ÷©Vðü¸Ÿwî{àþxñ^ZÁµ|åƒ.}pùŠeK—q_²$?¹jժūøç!ž«OXÆ{yò K–å-É[¶8÷s¯’Q,Z¤yXSX´zµ^_lX³Æ¸ÖTRZVþ‡%%fs¹y]¥Éhù\±u½ÍôˆÕj·ÙlUŽêšÚG#gÕùk|^þ⼥˖/_Z° à!sÉ€¸L¼¤nÀMî÷ñ?¹âþW¬xpÅòË\.#Ì[¼„á3À @ÉyhcÎCKøvÉRÞZ–eËå!oY?¸jqîªÜ‡r“Ñ¥°¨Èé*..6|~­©Â¬€lª+/7—W>^ô„Ë`´Zm|v[‰Ã\WV¯Y”£å7u9›sr7¬ÊÍß°*_¦,éòåËW¬\.S,# ŠHdŒ: Pò&¯Þß+Ÿ_D€‘·dñF§ä‘ûØC«V=”³1gãÆ -F" ¤±|A$òÃr­Êݘ“³q‘E‹L\úâ5Fû“¦Mf³ySE]Yé&›m‹Öß`±Z ×V«mm£ƒË\S«ü:‘Ç&„»ü¹Í‹£Ë ˜Yqß}_Èâ(2ù2Þd"J§ *(DnËW,]²lah‹Ñ­%«Vm|ØÆ‡6®Rš%â@ À)@ý–!¢,äò“‹´‹LV?¥ÿ£5Ìy‰¹„«®Ü´Æ¸Åð´gi“Åh,vj½Ï46WV–W›ëª’ƒ8€Št ÝÊE6Ç2$¢pˆJ}ó.8îW*˜ûEçD&òŽ’Š ¿¹ @¯dl<ð5“Éf„s¯H0>ÈT¬ @i—\‹W¡[Ü^¤Õ9õ_,^³Öä@"%æMv£ÕÐÒ”çói›!ô‡ÂÖVGeyMM]yF‹jåäÊmÕ†\ BÁê—,_*Ê¥Æú™f­¸9ˆV‰þ(©pp÷+IÝ·â刣`Ùò¥XùR0À°„Á.Y²x³ ÁW-FF‚ƒPJ¶lɲíB ‚#‘<´CÑŠÅc'úb£ÍTbÚTav¬5º\úH[tÇÂ@{¤cg¨pkkUuM]EeµHdsnΆ͹VŒ>¯`9›50|˜ º b BVb. wõâòÀ”g%÷-—?%½`­Úˆa BQ-’·l»èÊ%Hd*wi  Ú…< u•×Xr‚ ÛŸýã/Ç‚ú@È‹ë¬vGÝ®ºêº:¢.ˆ‹yþ}(wã†\¦y0ØÏ”Õm$+ÿ1xG˜òUXØ»ÚYôËh´Ú­Æ}m¼§oÿ—,.ƒµµÕ¾Ön_í,¶5DýΤ(\Xä-|X+XÄ+æ§,¸öû°(¯"PTP¢¾“'‚$k4âDÀCTÊNd:–å­ÅU¬¥(˜Ï"V„›‹_ëÈ>ÏÝ, éiµV‹¹÷"}ñSxy«£ÒÔj‰ìøÏ‚[ ìÜÑhûºÑÕ 7¬oÄFp#Z ¿â,ò®.Ô>¼HùGáa¨ µÈŽ/ëP”Yð~YhÐo–²D"àÙá‚$ÄÁäE*àX,;+â+á½”çØ,$¦È W)öªCÑu9:ÆUذºa5¬«?h±:Ì•­¨—Û0Ú .«ÍQåpØ- KÂj ZÐ#By{‹4¨˜üa0ä¢ÔK܉x¿õRhøÌ¥(¹•qÏJeq#pT•õ‹â %ðÀ9,Zô41áÃ\|Ž8b mÎ%Kå’‡`dX=b%Å[5õ5•V½Åhª+m´ïµ66:퉆„5a094ÀNPÀEEü*S• †Ñ0±Üs2óâÅ‘„œµˆ,©wq˜d=»F\„ŠSòB"FÏýiôåéÂÂ?ç£Ü¢‡‰~‹­Š>¡V\¡ :„áçþ‚Þ"N‘ ·¶¾¶ò™þF"«šò*i49F«Åi\«$¢)ô‚£ˆG/¹´¢Ñ¹¹Y$hPD$"†žSNîY+Áõ‹÷D¨—bVOšàßTpòðÃÚ§™â§Ÿ.|á)ý E/8õ.½ë…&]CÙPqçÚE¹9¡Üý!]Ø©·8<·íUåe»jëëkÍ%å5<©7›Z£3±ÕþˆÕàÜkÕ„t¸¡A´Š Á¬.ZÍT ¿YˆSÁRž{à¹ç$êr|¨rQ©‰„[ @ÄJPGTJ˜‰¬zhãcäYyÈŸ/"ÑÐ?¥ªøŠ‹y†£("'J\ôðÓ¢YM¹‘ßÑ…,Ï.£ÍnwTª­x´¾¶vݡښ²úšr‡ƒ˜Ånr8JL6+Œ¦Ù‚4¢Œ\ ¢Ž®ŠŠDÃT¶µyó*¡¯¬¿S—x|å0ÔwÊTT:"Q£"`îYók—È7ë%_’iB0P1¾za OóQûÊqzÖæäwE"îT<LØ­ýÆŠÚÇ¡GkkjjjkëE½ÊkËÌ&ÞòÒ—êêJ++¦ÆV«&?¤‡\… D O¹žÒ;Åb Å?bBÜò+"Q²¥\Ë7¢cÏg¿d«ð†R+%ÁñÐC7 e2UO¯1¬5=IÐa\ÃÍP¬w1qèz­ÍuïvìØq4H¨¶ìCs`§{C(¤&‡¸V£§Ê™<,f£Üɪ ‹óó7Ž|žÈ¹6¹»–º ³WžS‰Hüâò,}ÕJô(ìµjóFˆþÏ¿Q¬1¯é‹·`òD¹Eéøž?yñÛßþ6þŽÁµ¿Ý^Y^Vû|yù¡2G±½±²îPmýáãÇOÈý˜|-@©)׈{üL8@tØI¡ÐÕÓ…š§5ºª”FÉâ¼ü.&¹Ýñ%n\¨œd1JÝpI5Eê)h×CHDÕOI²´æóO>iÖ*6À\ÅBÈ.MÇ·¿ýÕÿ4”°-ÿ—ã»» «š²Ò]uVC£ÃT9pøØñc'Oœ:uêø‰S'D.e ¶LwoÈ åï'×Jr)´‹{å9įpà˜—vå)]ùùþZ}ý±ÓgN‰DNG¿Ð®2;Êݰÿ&u®¬Ë…¨M®.‘ˆ;??Ò%+î•gûúúvºWº—v-Î'ãW€J’‘ŠJ|Õ%Q#ºEL®„æŠ/!š•´oñq‘G±þ Bqit¡H~ìO¿:»Ï([Ù«êêvÕ–Õ”U;•»½a †ã§O¡VÇO;‰±ˆ™Ôk"¡œPÈŸÊÚ». (4Dè³AÒWÔ±@»ùÜVÆwÆWº»âq²3~V | 8@-\¦Ä²‘ˆ‡” ž"¬%Á"QÖÓ«‚LÄÖᬃY©ð‚Å¥ ¼¸g$²9Øë:h1X«*ž¯©©)«3Ùª*¿y¨þØñSgΜâáÔ)”ê$V¿À^šÏõ8f >ÒæØôd‰ÍðBdp09Í\ð|¿kÉTJUA=±®¬öð‰S§Éil]++¹CRÏÚÌ„BM2©2ù+1Ú‚+Ñ)¦d¡,uwuuù:‡‘§ « ÄœoKžEµàò¼Åü©¼ÅB_JʳˆH$©%çPu­lä®y'O…D)6Šûd|›Ì“Qßóò.^¼øÃáÑáŒöG¶Fê ŽŠÊÊêòúc'DµÇ‰‚C|DKµ!ßBeÝ¥+Ð(fô{ 0+ ¸ƒei‘tÄ;ÿjø€»Ëûb.gÛþbÕ"„Ƀ“æ¯: ;/V™z–„oåad]¸•$*4„«ŸÜ Ã>Ћ׶š7•˜Šƒñg_üÖžgŸ}ùe¾úÆCkU…£¢nWy-ºtâ”ÈcF’2 )ÒêB Áqw幕Sà€Œ}åJy"0V¬ XßùÑÎd¬Ãíì<›ìî‹Cpò$”aÄ9›ó ¶#¹ƒòÕFU~Ë}LjVñòb-BÅâU¾X\œ¹‹×Úì®Ü/|õÅŸ}ñY_üê³_/t&ì&Sc…ÑG¿vüÔ©Ó§O¼¶¦ ”2 ¹-¾¬–a€ƒÀa0~²r§< •å;%øE+Ïžíl닷ǮʪCõµ§*©(J™8Á`öB.+Wºc+w"Ÿ¢cHÄíŽíL¶O&ãÉŸ€êM ÁÄPºÜÍ!1±¼¼\m AÖ½j1Ž2ÆŽ#¨@å±\…DEU`ßûŠþ‹®ÞÞz§Ö§dLÀñòË{~p>~ù’¥ŸËæ(GÇ`* }ÇÓc%~ÄUHÍB%µÌ¦°ÍÑ,ãß¹ó{1îbÝ!ObâÉdgÛ_œ?pöÀÙxÌçV@üã⻯ZT˜°ejµ«Zµ}5ÇlÙñUy¹Q3Ýœó˜XÉ"’_Ü£‹«h>¦óÀ/xÄÚ¹i5”þŒÅÅ[Œ†ƒÅ®Þ‡s… ¥v /K)QìC[TH¬BšNáF¢ú„«¡«“ÄpÏÕádô 8þR!Ü38¸ÉGÏv§¯…ÑØõue5Ê™àA2PVó]Ûã6“Í^¥1ê•n‰‘,uCKHÅ•ÇÙ¾¶óçÏcÑ ÂÜ>wŒ¥â;.F‡Û:“Q®Î¶¾ÎxŒØ˜Àx³îš6¬7ûû±ÙTÆô”su¡ZÞ‘•Œ]ªå/¸²iOe]•¸"Ã{¾5øòàÅ7/^dô @rñjçèù+¾tn¸×ia ¡zWýqÜ¡¸vŒ~ ¼Îl&ÌwØ4öbH”¹¢gíÁM`¸óìγm;v îhîé[Hãl<Þ9•<Ð9::<Ä´ñ!ÃçGÏGG;ã¾H$?ßO¸Éš™…¥¾þ5[‹J7\Ô{° U.çý‡O)|Þ¢§Ë€ô —xô‡¶‡þ no¾=‰g¿xñí·ÿrpxøâh2 ¶XdU§¦öðñcÇ$A.Ç—U¢¾r¨Ä¡ÙR¬¡ARAjXÁQÄß:{Vì¼óüŽ;.G;GFù›ÃÑLª“«¯­­ó|[ô|ô<ï`*mm磯ôuvâëó=þÜÐf*„E; $®Å9 ÑU¸Yb¬×²PðÂj©qàŸà݃y¾óƒ?@'w†ÁÁ‹oË7ƒƒƒ£8¾–è·Z؈ qâ⑲êòº:\¾Æj¤Ó Ñèt›7‹Dv&_Ù±c¸m'‰Æ×†G™ûa¦|Çùèðù³ñäõÎèõÎQ$ò ¢‚+•Jt%3±'7Dn`ÜnìJq±ë©'¥k5–Bá¯ÈùĽÔr%.‘üã2,Q­ƒÃÁsé·~xõêŽIîr»øæU$¢]Ýqu8z~:±­ßQ±k@ªYkW_û3R¯úã'4v€8 {4”­ssaسm_û«ƒ£I&>E$£Ã;0ìÎ n|¤s´ l£‚ ™ÄZFâÉÑ<¾Å/ú:"ºPHK© [()þˆ¬ï)Dâ’ ¦^ïÔ÷c5†~ ôz i¡\HLoá5mA’Y½zutôâäÅÉ«o¢^J(£WQ­¸ß›ØFùWÕ‚D*¾hÕ–‰ŒNÖ¬E…a cÄŽ‘|÷ÎmçûÚ.Ÿ?€öƒbÇ›;†£ È}¤ó•ÎóhOC*>‘‡dŠ›< Å;HÑtA kí«$UCÖ#4¨Øb´7›$•à-Þÿ¢ÈËéLàÐó}ÉÑQÆñ*¸Ê]p¼)’ÇLZ{.ap<_ûÓÚGI–låáQñõ'Îh°4½KJ?ZFמíêÄ F‡÷\Ü1º#zýÆèè|Æ(8:G„h ñOCI„2ij⊻uZþ]CB,¨õ@FQê èO¿T嶘šMä·ÅbËAýÁƒ‚ÃëlwÓ©dtWGº²u`¼=xõêäpth2>ì*·I¹‰¹ aÈåêÅÁ«I_þ¸.èÝRY³‹ie5ÅRe+Ö9vêÌ_س4šp648 amÎfR¥¡Îd$»þóó£¯\¿¾ãühRØ© ©¡‰›q1ˆd²/> Ÿ/ÞÁåótu‡Ò' ÷à ^1u»µq£1пe³ Wkúe‘]sµ4Pª9çmp¶x½…ÁÛŸuÄ:¡•(3‡ILò Æ~U$óC´í|ÊÑ͆6G¥ÍØØì0ïRk ‡ëk'c$ùÕx¨g58HLöC¿;“ç}·ƒë ¡ßŽvUïb¹D ¨ä¾d„[ˆ"](¨ í÷GÒÏ­H7Ú–•HçxGw÷…¡‘ëCˆurc1.$ã¿•F&3~‘Oº'ÜHŠΰÞ¦i3“ÄÅP\•3<žï‰Åâür‡#f~$+hG`ÁC_p%rÁÒ'ѱáÑ+ÉT,•ê/"R ´Ÿ`'0 #HÎhnuA4º&~$$W“.íï íï:€ÓÆ_ÅÝ|Gß•Î$Ê• ™œ˜O@Ýòûýã~ÿ-æÖ3‰°^ÖÐ’pzÃÚ ¦¡7«C¸zb\'ÍWOÁ*a­»„l·†7 øº-A˜@Q±Ñ¨X ‹µM¥’©”OÛNTC½ÅQY)kq‡OP‰Éi ñQ(ÒáCˆ•ÌæH0ŠÄ}±WFû®g†nÆùØ!bþ!ŸG \©“¯c¢Ã33v+™¡æèO³RñD"é ¶¥K§…Ò†½`äWAX©%ƒ¬¦y bñó“L¥R?Q@Ñd´ÿ$ Fß!ð‘kxnåš¼Ê+b:\#Ñèõ¶”?èuìÍÍ­T#ªqóR¯#î:¡‰ø÷Ït£ŒÄ³ßŽ¡ìé–@Øq"¢8peê_A܇×##ôxÞø§#ž.~Ï Q¦‘#ò€²œú€³G’ÙÁÆ\G{b2ña¯7ô{:bÈ53¢¼hò'¤2p°`ëm£SÜ”†A[QŒ Wû¿C°„C‰v¥u…–FG³Í樨¨~TЧÄ]ÇŽiòý]±³:"7‚Á¦[±®&–p )_ÇßÄ1ˆvè|g&¶³Àƒc§`ðû»ÇÓº&]P—¾ÅØ[\ÞÝá`ÈŸNß iµ Î¥kG×ÂA?Ò!ž‡¸@x1KÄÖ‚ÏH%Êk’HŒ'Qž82ðe¿>¸â‘£ÁD¿Í„vU8ê°ª§'ñO„”ï@GA|ÈÓ¥Û½OçÁ³utøcØ8rðQ áahóôùnvÌ0HlEœAtci% mžˆøu= ^õmÌ?äoÒ.goX8(ü„ß!]nR(¼„iQ$" MI^3Ú…•‰e-¢Y£b&Ñè•ξLÊç…F+ABE%@ ­SǨÏk˜õ¾Î7´ð彚E]¾¡œÔå¾N0‚yø†ðæâÐÝžüfq¾ëñtwûÅ<]¹…‡Ã=!~b ÂÀ ^ÞÂ\pwÔ3#”.Tb–A©2™Tj+Á¹fƒN}BjørA¯(áÕ©NhaúºB^×Aý/Œ˜Éº#Hä̱úÍh*Þ÷™¡¾¸;n‡òQjoÜaÔÐLjq zbG0¬ò"б?”njjb¼ãM:]°)”f¬Á ·Žw‚a&è êfAJßư(˜Ú…tcCp)zDb‹2¡_2dÁp^Œ$o'§®dYlRP€¼?I¾•¼Ñõuù Lõú~)×>ŽD×îÒ EwìÙ‘Šù"Áž`OHëý[ë¡4:&ˆ6ÀW‘1(îéöë®! ]÷1IƒHQwHU §µÊ*ÂAÌœº6Nl AÒ2 ž"f‚”­“܈¥ˆ±0j|:À’SÉ J'0¢*æÆ‚@ýIj£ë èû1w1’c”ë²gGtÇFGqݸ5T!ÜîáÒ´§»Ä¼‡bÀpwÌÀ´]±•`#Öé˜Iô+˜†±Ó³(XS˜zŸÎàï„Q,$‚ÒA㨤¸R¤‘Êdˆ0¹„¾P¬ë¢H#mÑ‘©Î_Âd$ sY‡˜5ÉF€=„=o÷ ^—Ånk†UL¤bÖ ¢wÂvEò›Âí- ®@K•hÐ2ƒâ~¡Ù´ÿ]m0Ôåócì¡ô­™[ïvw\pC¾ï!W8k\Ö¸Åê³&#Áp'|z@-†X WÖ@|óÜÄd„¯ a/¢ÑŸƒBÌ"{õÉk©ø[1O°½%ÐØë,tºúé ÊzwY°ª6k†‡ßüò—w '±gbÀ ?“0X ä šý·"ÔJ§Û§ÃG´kCMiÿøLíê¸ &ã—‰gÔF@˜­bãBØV^hJ§uh•pµ’`‡Ç~ð qŠ(ê¤TKü fq] ¾Mï“7äM4ð'©í*õ´­¥6cqÂÀ›£zk¾àص®DCr¿çå/ÿàͶŒ/þ7‘H°Ý·Y¡7ƒ!€ów¹Cû$ DNR¸ÏerÓ f‚.aé[·°(H¸)x­)lš@•\ø%/¦Çüž.1wá‹nÏ•Á¤¬¯'ѧ‘hòºXJV ¨),åý ¾‡žÌŒæŽß»žž~“ÙQajµ(7;55Õ»ÊvÕì2W4k¾L é98ù urÕ°Ú[íÖµ­v£!$cÚeDá–@Ÿ 4Etµ âúRÄMggÅFäº,²èA&YAÔð³a.!‚Bq&JÇ´³6Ôá&â„'º»#ÓÈÈ3áÆ­„ÛÑ/  V²©âämH-“Š&#{Y%Q¯­>‡rä@ãk½ÍˆåÉ5F Ë_&oéó)Û°'Þnew†Þ©a°a¯ŽÏ Š 8îCÐ*ãkÂΉ ²ѳ€aA* ao¼,…HÁ ̉tçzܨX’å"6yHTŠ}Y•ËÚ‹X'3”l‹¬Û7éå‹|mYi9½Oà°•TTc!kŠ5/ÿàÍ=£×;G:Bí }šëJMÖ­®†póŽ3ÐÍ ççú)¡5ì’ž#ˆV<;ŽQXwß9¯(º„ûؼœå¬p»·XXDº5Ch!R'”Áb”‹Ê\¿ŽUˆ7¿’œ¢¾wó®÷’e_Üãíd45ó¦WfFƒƒÆ9ôŠ,$5e4”;ŒÆ¯›š±ZZ4?ÀØwDÏg"Á†„ÞjoÜÔj·ƒC‹xÞõD˜=¿¿IÛÐbµnCcšp‡:ö£N@ ^n/ôz/É`A‘å) ~Coû9ùŽ8†ô9ýü?± ²™‘ü,†…Kš¿#¦ BÒ Fç XBàdf Î埡Ô[¿ìLù¡ JÆü¡[¨¬ºÒÎâ<¥rêÌ=Æ~ñç7ÈÿòÂæ+;]ÛVC¢EB¿ˆ§;òî~êÚžðnK"¬Á¨±[,íC§úÃ=«Sð™6náÚ}N”W$пF¶Ë¥Ó6‘Áxˆ{(1þiÑµî ¤ZñLgòŠ”KI ¯¢TÇŠ{¥Ú‘º“r­´; `ëÈA¾h¬v€ã‹ªT.ÍEjí£Ã¯èÐ58ÅBØ~…}$ ¨µÐ_f9ܾäÕæÊ¨Ò¡1!(¢Bd±¸‘q¿îüdO{{‹3hiïAñˆÆp0" pâ:ƒc„άK%&óÄœÊ,X ) yîh„1|•Eð!ŒÏ£óîm­£T-MëÊA¢HM)ÉéiÊ‘zå5}#Ôw;ãßo;ÅÒeV±%á §÷cè‚·7ÜMDŽCanU¸žuÞMxKMœzk!‘JÛʘÇ=”‰À¡p—/CÝ$feÅ3±‰ét:2­“›@½è”"ÝëIò#OI¤2yu4“ñuÇ’ûö«êjXL/§™®šq"Í”È\t‹ÿHº½4o ¿9êKã#\ìÀ½2$ g°Ãã‡}v7P“Oçã,s“$Sb¨’2 Ìa·(“—1gÙXj\cÔÖØ¾6žKH‚«ðýM)ó4!‹ß£²*ÑìßÇ Ž$¡Ø y :%˜ˆz‡‡“©»± w,r Wóþ”¦-–§Ì•fsÙQÕh7ÈÔ}Qs¨Ã»4T}ú¾ÿJ¯³!ØËz½Á`qíîiòÚ†( Ð ÜЀúÜ  J!‘¨ôV©RîõzÛÃçðùR¥»EX—ÙßÔãlI$œN2x] þåÁ‹FÆÇ‚AÿÌC÷Åüeg<Þ1á:òe2ýª\—¸d>6OVÑÛZUʆIqæM&œC‰ƒì,P±ŒKð‹ÅK±kµæzÒ×ÝñnðŠâ»™ÿ@‚…ÉP„•ŽqŒWCU8àj î§paGÄ@:ȼ_–ÌI21,F½å÷H’& Û×Þ‚(”±§ýÐ,͸ØÓµt¨;’tòtcE¤›‹ù«Ô)zO8kd$•Êxp4Ýé`‘ÁVY*î£ì¹Ùa²[ ¬¶Ï»‚ù¹ÞD੃-ú§Š4±®Húozçî‚ð*„…~M˜ïÝ= Æä ô­Kr+Y” ½”•{Ýš‘ú‰+ÎP„íÄÖEËÆ#4ÞtÃãÏš†áéˆgÎR2Œøßõ{¶wú¢OhÒÔBC23/ß$=³:OG:0l¤Oâ9hj´± f5& [3Òž®¦°‹Þt‹ë §&ãóÜÚôZœEðk³hJÅŠèDÄÃõT¢]¦ÅH§? …Æ´ pÌœ&š' ~Hü(𥖆q ÙçËø.Dº»<é}¨_{J¬ï¦lÙ33Ëo¾{T’v2Þ 3ží©¡¡;ä·ot&øH´Íuwø^kQ¯Óem¤q¹œÕÊNûƒÁ‚Ö¢ží>_:è•ZìS«½šÑWF"ÚB—ŒØÙàlÚ¯í I2çÙßÔ@ÃUìò¿"Ù¹²0á¨&âÈ&ü$LPÜâºäÄÔác$ÖMµWúS<Š ƒq?½Sßßø¨‰ai‘£RÃ@"ž ©ÈÀSÉ6Š»4ê$Ń+ÞK¾H8{ ½,H6VaàÀÀ3ô[,è~¸ÅFjä—CÓA–îôO<Ñ ùË=¯ÄšÂ ¬-)÷±{wåÀîÈ­ž¦m‹I„)#vG¤èîžÁÐá\A `%áp»„RÈ`|œ……lìAž™núH¾t©—Ùù’”}8¼LêlÜ3 ªÇÄ< ‘ìÜòHßIaÙ73ÓÃÞ)Êcíqj£.Wâs–­«­Ñ!–a´ÒYà Ó­â çðKqŸ–uTDâÔì‰QŠþÛÏɘAÂÝ¥‹¼›Ö† Û{(H'öÐ4(‰ÌÐ_ªÂ -é”Õ# °ÿñ™iÞëž™åÈ¿D!»{ö]Ƨ¦ÓàúX÷eÙ­êvcëWbÝÝß×MÏxð+$ð×S·Æ&b©LtøFgFêh1ì#&RÅu÷«mÒÐi¢(–¢2#Å%w|,­óªÕÕƒ$Õá߯m!Áe±•UJK‚Õ—&r ˜3ˆ—VR®Aüº”UµxŽÝ…ø±iì=ë[0’½[-`@·E:ªӔSC¦·ÇR7nåRÝóã1ÇüÝT¡/©6u`3Rõñm—å ‘x¡–¬K ô± J Îs³ãh5ºòŒûºÓ^¯å 8†'4;h*x7}K“‰lå%ËÖÏzøC8…ŽèR7UŸ1)Ÿˆ_—<£!àdÝLÖëäãÀøQçw®=8ûž*2H\(µ8ß <øNû¾ÙœéؼȥkZ’;èŒ £•cÎê¤,Ô† q9½ÛÁä²ÈÅ’£Ë¢hó§ý‘íþ`è‚/61Æ„,’¾³ÝA‘G"û›v;•n=#uû34q¥™²ˆÿ+=ÁqÌÑ?&+ r¥) ée5µ¬¼ÅKè(….e"Pž_üzàKK»Ûñ›³¼áÎdXÆ¿‘ÄD|žwgÆ)„ m¤ýn·øÊSæ:ÈïƒèOXÛëd®‚éÜéÍç "—‹… ËA×¹4⟙ Ðd&ÆYÄœqÑÔiì'hÄo‘?1½b4?ÛÙ çX¿ÕIÌ(×3mAÚÍDO®Š _ê]‰ƒC Q”†¡ÊZV—¬'†÷¡d‰Ä%ox–‚ïMŸÄº¾T*¶=2®› }œbå+¹:˜JltÌÍøfmXæ‹õÔp¯–Pµaú†Î…u¬Î…‚Z/n-±º08?»Ý³3ÛyÞ£ž1Ýë2Ømöµ†5øn&,˺z–‹Y䣑ž6ÛF{qC°Š¥O;?’/y~C2ª&­S¤]ìJüè’x>ÿ y¦ ¶>gIüèKííüêC•ÒG7çØøìX‡¬ßÁìñó3Ás$+’ûc>c*h“u¼`qo‹ë*Á&YéàÏJÆì½Ä EÚ3ï›Æ¬"ӹטÀ\ïjýAÎ}°®mäÔBë0¬,„;^ªtlâf*nб¸ÙŽo‡ŸÚ{ÈÌ) 7°úA‘0¬_oß3K.>K¶nq‰C ß4"Ä[ËÊVGwp_XnºßaI,æé–7cåï!ãnaBƒô­1,Þ¯£œ_Øëíõ]’fŒà¾qÏ{ãã³A"Z³|Ôå×ÝMy„Ñt_ñRÙi‘¾g“©¢Zã"!À“µ{ƒq+Ë'æÒM'6½Ä¾%kbëV#êFH¼·¥0h0¬·È¿Zíjó\‚tEk¿„™¨õ|¡”b¾ O$ýQ0ÄÇR`Hf¾7­j‘þnÏyέHwG—‡õæ öšä=,ÒøøI˜QªBÒÎ}Þ^g ¦Wë’„‘ë‘I¤âêK÷€h»”êêÊ4è:j%Ž]“êVÖ!ÒÒòCå奿M›*é‚ÞÔhµê‹,ÏØ_ª,}Fßê(­©1;Ìk»ä\ç‚Mc·pèÔáaQt̯ a8 ûÎ<|"+ ÝÂe©ŸdX‹ö~c|¬é#2_è{LJ—¹þô˜î\XÛDBhÙ}MzZÈ‹¼A–©ïÝ'«^þñqwWzöœ«7°šm–‰–ýôkM¦Mez+Tϱˆa«ÑN/´£r5 z>dOéXi¹ÒFŒÓZz¨f ¬rmE顲3±Ãê Ëʳ [áÒC³ûö‘èZZﱞk¡àl°@û>êÂÜû¢™©èíä[w|â²k@˜’T½f„ÝÁ7Þ˜ oí×k±rJ0⹆ñ¬Nô†µº‰í¾ ºs«öîÒçbµ›**ÌfF«ÁÆé´˜Š»i6W™KÙ*GmX: ØüWsˆí‹ÃúªrvÒ‘ùó û©GZX÷|5œnjLÚ¥/ý=.ÿZpV'U{ ù:.t{üÓcn©„.9ºcó71‡È-ðÏt³ð õŠH°Ï<±RÐçÖØÊÓ¤ÅC‚=‹«7Øóý ˜ïìxG½t.gÂÒ_Ü5±¶PM¥‹±jèIH$>§‡z&‡™sLMí«R­W²•ñÐKìI1m*W¯Ð–ój-vd²m³@±(Q˜TQH,Ên¢d­¬d{¦§ƒûv·/äI]Ϻ»»ù)!ÜÿÌ-`£ã]qœ ývÿxš:ùâRP7†×÷ÌžóTŸ ]kh±ãÒ©Š–0ãGê5¸I Q-[U©`ìåªVÿªŒº¶¶¼Âdb¯2­Þ­Ô,Ýa¹£Xä›[»ŠP’qݹm½, ¤ ºÔŠCˆ¡¨Âv¸ý;»¿ÓÞž'˜Šû¦’Pš¬õ¤âþ~ OOÜ4AXìé£&¡»è E¨HއÂ_ œ+ nßN`™š€n›<ùGÇÃÁ\\¡Án]Ãé.̺4в*¡ î¼8a4U™›ªÌœ3‚f‰(€AŽŒœà/Ã^§±’”s@ºrøÕr8 ¹®ÊDsI0Ýís_Ø­…iÖÔ¥\BÓ~é.‘e…ñqAÉ$@ÉtúÞcñ;3cDpðD13¾Üí‹ÏŒû&Æf|ÛéþêMŠ´³:¬åvQIcaŒ™¹6îó§I?©4Sr¤.Q¯¡EÌ.mI4>nb÷Æ&3{ÊË©äaìå5/©ŠözH˜2dû¶jØý[†Èªë`­ºCåæ*;:ÜÜkåTŸõ-»{]½ç‚û(›ðyQÝe2Yß¡ˆ÷yàãÙ™˜ïÂÇ>1”±™‰yj(58¨qQÈî>š‰Íwf2±ŒoìrºŽ>8-¿Nú‡ï˜ÕŽßJoÎÄ?ž/äÔÔ‹Âh5Ã);¢áÔ„µ¼°Ö´©ò%ó&j¼^Y*úU^]þ<-äÉR[ÁU‚AÀ‘®QÞ§·S¸—L.Nõ¨fӬѲըæ{˜è ÒïqWŽ=OÏj/ï£Æ'žRkÓ´ Œd®'3¤#>O±(“ºŸñ¤Ró©ù¡»™ñ .kkËD”’]Ê:ç"ò³¦Ž¤èæ ºØW‚µSbÞiò‡píë©/š}¥¹²„‡é¥Jv•Ö™Ù•RUÚh[»ÞήÌRèYQ|Åú?›y‚ –ÛÙëßüÝo¬Rì&±#,æ¹K½½í—É·‹v‘ÏfRL7qRê6#LMà:çS)Ê #™;Ò«JÉßòŒ_ ЯÖo¸–¢ä˜™Ðëm"—Üôj#\8È"gÂJ5~]5EH$¢r/ØU•ŒšYbt8l•›‚§hd¡ ®¥ðJ3g=JUsä°˜ˆPpiv p}m…©j½•ß31Õ¥c±!.¿]®ð옒Ëç§œ’þ>Æû>…÷ÛPò„taI& £òM,5rs³hj÷¶·‰µoyÞó¤2žk8ÎØ¼g~KŸ ìEu»ðoµšmØ:9ç E`°Û¶àà[± ‡£Õºž8Ⱥ‘:†ôÝáîi†< É’°H†'¥6ÅÞέ¥5ÕŽVK{ð£tz6ýž,ˆøbw¤ûÃCK"×G—6?5½1'†½OÌÏσ W£[4DÜfÝáNτù~íßã‡öRYJcj¾ø_7õ$ÍšÚð¬.'ìú…«æª+/cÛ_ï^LÀÚJøÔh2a@F-ÏVaÛVÊÚ$föærÕ@ˆ6¡GšXØ3W{¨¼FHº¬ÊÒЂÆZ öMå‡8ƒÖWÏ4Óȧb%3ãP02žK§–§p …û@„£LÑ$²•ú@ÊW¢ï¤bžîqZVe\æòEoL\ñùvf¦R¾;™ä…£ð{°÷œNߨüHseÆãÑ&¶Jç4c—Ií7·Y·rЂÕ~PR¿€k›XˆYX·–J¸êô: DQ>Àî­#Gjkí…è—•‰pux¦[â–íôt1øùBÇM)W¥(ZMðùT‡òcÉÔÔ,QeÄDð+w&|Ô®¯Ü†åR7/Ї±/ò{[ôú@ûåkÓó¬_aóCSSo1¤÷ÉÌ„oZÛ~ÎÀª&¯ñùü—ÁMJœ Ôº5ì&\{·½-,¤á ÖËfÆVY0nµÅéÄÂvÌÚú“È©¶¾ÒâlÇ´[[ÍuFë¶Þñ™ ¨Ç؆é hÿø<:¡`"šŽ»C¿šŠNIßÀD7:¥¢ŸŒÌÏ߉޻:9y/3‚ñ 7i¯ÉZ²«ý=D›J½½ý>„÷þÔÔè½L Ëtºµ?²~áÕy×›4ó¾±à%½^’ÖsœA³ÀÖÄÞïß_êeÒO1äÜ(Þ…Å |È6ÐÉ^F‰^ŽHûµþ²:ƒ+@î]Ú¦~ýÖö£ÂZÒ¿21qßD„Ôvv6}ôæ<ø¥Ô°Ú÷ ¡Ž“­_¿~ã]@´|ßcÖ3óÉèŒôÂXz–œC7¾O”ºóÁÔܽw®Þ‹Nݘ|{rîý¹«ssS¾ÙöBWàš?è× áXyR ›”v¨å´ÐZ¹’ùµ}R3i±7—Ø¡0Â`öÌÖÈ® ‰'.©õ7 {)BØ·f·ðQšðÁÁÑMßÍ ÏÌ8Âa©Ýw÷î;©yÄþ~oU]–¹uªBäçÍìAµn… úr³~òFÌO¢˜•¿Îúíüô+Œ„®1&Œ"Ö¶úÃÂy•?u!€#©;©Ìíë“RŸ»7ùÉ\fZ[|o{ôÞð•“Wæ×ääÜÜÛ@ú„¯Û,ßÎLüBC'Œ’,÷HZB\R*YŠR3ñ& ZWQUe2¼lïèï7n3ìM<Ñò@nf|ów}óÇÝ»ø‘·2™·Ð°q÷Dl>“ `_hæ¦K”¯ÉÛ[™›ÓsWïN¾3yC–¨Sûº»»~aòÞääÕ·'ßþ1wù@‚ TS¾ðT„ŒÄ‰£è³ä;Rõx>ŠÀ™MÚðÞVSkÊ%`a‘¥0¬•cø,èÉŠÅ®2sE¥£¹ÂA“ËøŒqU6UØ·Íz@p‡ä¿í›G4”/tOCÊX Þ15á`·ÁÉWkM×Þ¢/s»ãgæÿÒê(þÞ/1ê+EƘ‰^™JM½#ÊÄ×Û ‚Hå*ºÅ#@¯ÎõùÒZŠª€…¯ D¥c馈G|S×¾Ùö´.Üþ¹ÖJŒƒ ±U"ŠT€à`9eåC¶Ò¬ª‚„òzÉpØž!*ÛÆ"ëú5…©Û²8?ÿñ"“ù»w}w&.¼×ûxÿ%Y3ÀÅOL7#pRˆyö¶ï’¥ì$›Z}´õÎè;2Ïêšû»ItljêÞ=@ƒãíAyªž]Œf<×(?84æÑ.‚ z²%B*¯]8@=i7~èŠì]´YÒ“"ÉÒjÕ¢â_é (á„Á¿þõ™ãåRú·¯ïÀ—©Øü„çã;>ÖžA|—~sšnüÿª;÷‹÷<ó7óíø O?åôƒ¥¼ÇtüFÓšºúÉää›Y bݘ†Ø³ÏƒÜÌg˜&'çRo]Úf{ •uÕöi„ 4#(𛔚¼Î wïÞµ%hRù»ePÕ§L ËFå» ÖÀ.³™> ÂE͇Ïüõ믟:RÿÇ~ÚŒPŒ[ÃÛcw¤á­Ì;WÞ?š¶×³}[¶¢ÿõ™ßü·ÿ»hï!N=8qüŸø§:ÁÞ¯'ˆ|^` ?žÌÕ«Š¥‰\Ÿ€eͺ:(²‰h·ÉÙmgÊ 4µG^«Ûû}H{õ¡|Œæ]?õc8ÈZò”ä0sˆ‡¸ IE0• ײëŸ$‘& ‚2º³aþÌëÿ|æµ+®¦ÇׯeRã®@Éoÿû/²²³ö5ø¯ÙÄýϯóc‡>%Ö9M3¸jÑç7O?vâäk\ÃÏ @j´ê‹>ùì@ÊÞ»\dS&Ó“˜£¶*W˜òÂÍ»CóßX&6s¹ƒÄ'©^Wöö«^Gè¨ã$ˆ ­/Õ9*}·ò°ÚýpæØÀ£bÿpüõ×O¬¥••a¿ÎèÏœþÍÉãêp€×å•3'Nª ö`Rw‘§ƒœ<ü³7†?aeú3AdG¯˜7K[ ùñ'Êd®ÎÝl—M7[¶ úªBdrD9ŠŠÉÆöéDUÅ`|†hØD|®LžlêP©Û0—˜ëÖÑÊæh4پΙQìšÿÐ|äÌë¿9q|7SZŸÝÒñï®S'ÏœÎZ®Yaüîû3Çÿˆáäñ]žÑß^A¸ÊmP ˆ#\°q1šóÒà;w¯|ľíŠØrôCYÕÞE3Ó±ï] J–~kOÚ›HË© YÕëKÕdŽ5Üʪ9•f)¦þ[Ço+*Jù:=y޲š×Μ¦}g æ_êÖ Ëöw£äÙivÓ‹D®_ Œß‡{âð¿?|’“Nš§~9 ­~¦O"Q¶I¨JlD» ¯LFßÓ[×Ë*KC°AAáP•£Ê0C *e@ŸÖK-_–Ü­†bâábMÏN–›y]5:å0W#9/ªÂfÂQª?räHÙ¡ú3µ–O•FýÛuæÌÉ<}Föyüþ‹¿ÿüô¿ÖãUÈuï2¼1ùÉÔü•w®”ˆ­,(Wöß·ÅâQ4d4ˆX†çg ѯOxµšòK7Ieñge%×°<Æø„ÛC/ƾ,˜’Å-ÚшS$‘¯Þ5@2lj6ÓOˆž•ÕPB®Ãˆ$ÿ…§kjÿõôÉO ×.\ÿ|æä§'Á ^ùßf_8súôq¯¨-ÞŽñ«SM_z/Ö}7Š¹Ï€€ƒòí r‰Já:SwhN_j>”•JéM«ÞæûÈdž˜y¨ûrQ€Þ_ÎB´mi$Ã`5…œ‘l˜P…‡é“ƒ°…oêÊ(|•T“>¢~µõÿí8ô†€Neqˆ<ñO§Ù›ö²ÙèuúÄÉOåwÄ=ýôyÓØ;c–_P±ŒÍGïÝSªµ@YEÃÔ×'÷ r÷®ŽŽdb!¶Ü~yP$ýæ¦-ÛGnܾ=’šêÌt„Û]j °¶ÓF»‰R–dÃØGƒÒ±£ºí’Ƨ=‹—'mw9T'=U(ì’ß9sæŸ~-õï­®8D¶¦Ky .<´®¹pêR¢·w«åÚD”Ø1ËZ „€•\Äbpž£7R±764Rݯùð¿Ø=ÑŒôJýêWCž`¸7AvˆPd#g£)›@Òz`…Ǫ*ñB4B#jÈu%km%æòŸÉAÏÍe/U}ˆÿdv?ýMvè'p•¸ŒÿC½pæ´e$é ÍX»ª×UW:lçRúaJì½cseAü¢¬H~÷EïfØéx¤Ëÿöý SS#4«úš.±ûƒJF )£ÁÖh”½µ–­vã6GÜ‚/µm—éW­p”Ôq8Q#‰J u$Çom”*QvHdˆŒößQÔg–ræÌ‰Ã¯}šÍÒÊÊסãlÕyFü:&×Üž˜›{gn”H+k(Y(ŸÙ>O>ÉrAôFd}¹æ§$°Ó1ðMG«Nú‹Fï‘OeXIq^òîÓY¥ÐS1¶œ ”)ú«+·ØÄOÚ·ÈÁÚð¯Ô^L¶JL½ÄTÉn´²?¬‘-‚õb$ÊûÉ®´oå¼¼ãŸJšÉ×íÔ¢›Í¦ÿú¸kk%Qiõôˆ„ôúNÎýñïk—<ÿD1´‚—Ò‘ÛhÐÌ©µÕVØþXbø“Qº3#73“‡{?òèö¹Úôn+îý(èÜ»·á_(?+:¶P”â½DxxG9• G C*¯ª"†)+«G§²êó°ðdµ°x1¯WT4K‡l隷ýYëø_Î~"@”,²ÿ&D¾æ#ýe‡ÃZ¬Þ>U™\£ŸÜÌܽ7M9JW£gs0”f ŽR?‹«[ÑJ•Ìܶe‹8}º§@£ÚVéìæ´ÑÃõe8üæŠê åJL¢Ìü?Ю.1‰trÎAé(X Zë®]Õ­…±Ì'Ÿ¼3•d$«R H®*Pò(/Ïu_2Ö?®¡šMr!g¹vÐÏrƒ_¼½‘¹sa‚äônf:8»¯E/ë´,Ü¢T(ǺRÇÛB°¶‰ðP".VOd KN÷)3—?_ñ’y êú² (|ýÉ×^Å…J¡©zóPbjnþ­íqËQo ê¿ôËèÜœà˜$¹ÊN¿ŠêòRtîÇ“©kÆòÃ'5ÂYôB•Ø‹{ãìËŒ^™Žþœm™sÑ©XÄø@ n+ MûÆ/w§9uáxÄÄì¼_k³=‰y‚ؤšL“ºcSÙ‘úššúÚ—J9Æëô¯‰oOÿF!ÉÆ¸ÿFÁ²}P4KÄÿXÇÊL‰£¹ÙÑÜØßÿÑ%"Ufêÿ}#:'Y•Ò*ýNµÔ ,äÆ÷&,fŽJ—ãÉ­OïòÓŸÐÑ­Ho4J©ÌëžNQ ê<{IV#ÔÚÈY¢•Ì~%@l&)SÏg¾*²VPÉ;Rƒ•—–hí,¿Ìï±qûÄ?’ƒH¨'õcŽ¿¤K3“þ ­Ñ°Å`ØÒÿ÷oÏÝQ†‰NþÏ©Œ§ûc·/sûvÊ÷}OÃÎmÛöÚáÖ³ u[¤¡SÎxÆõ›LŽ—6U–Ë ,òuò$äð>Ò&Hn‚Iv¤’Sü”Cý„x9ד áÿåÏÚOê·YˆWÿÈ“š(]SY0{Q-ªAYñj*Ì1¹TX=0Á,©Žý¯ MÐäY7Eß}æ¨"ú]Ͼð9Ž\0Ú ‰ÆjrÞÊF´ÉNº:CŽE/õ¯u­äXÙc ÈI¤& uЉŒ[›PggðêIBÌúú׎ VÊB7O–0 Z÷«M–F"Ú”¼æ¦îa("Ô„¡ãU²ˆ”˜ø.*5ÿ%¯†5*šE5,Þà¬ÔRHGÒ߉LtoŸº{}>u2öùÙ>aÙf%T±;(C”;HU˜:H¯ª<Ð;[æ……ê¿*Gz¡Zl?•ÑËù}‡;Ê9~dЇ?4ËO!8 ”}h^gþC¼«¹nA#gTT4?~°·wšñ%þs~ö§e’·3óC»Éln¶%´Á½¤®Œipð‰$ rq §8HK Gªªƒ õ†'+©S óø!Ó= ý+J&ÐíÈìµ)ýãñ#Âo (/«ûðåõRÖÀäÛúûþ‰÷ÆïÌg>ø`¡ˆ0¦î1p Ÿp‘ʯ($÷„ÒäõÎ% Þò¤n߸ý«èÿy*›¹do|æRÚf±Êñ]€XŸèmil¬(¯.-ý°†F‚ÚR MÍvz †‹æžt¬È®eóìoe‚ÊÂ~ G@gCÄÚVbfÿ¶ÄæºæGJÌRXÇb} 8›¿¶Ï÷þíÌÝùP/¥V¿(šò“êùg†Ây®ãt¾Œ ·©)„tãÆí™–Me¥ƒ“íÉU‡¾[bz¤¸½Å±~M`6P_VÇ4ã„¡»3‹CÊ–DÄÀ›ÔæYú­' ®¬0¯#•G ¯Êa¶T¾%y´v šª‘®(ë]eÕØˆÙ´ví&šß‰H¶Îè¥\<ízofþ}Öì>~“Ç›  Ú ’§ª°-A*·•ÕkèŠ|ÿF2ƒÀXš»ÁÒðtÚâ07>i/Áò¤úcv4[Ùó–0¶R­–Îx†êƒÉôÎDú;9A‹ÃcdÏ!—íBx–€Êø§¨pSÉcÄàˆ"[òüŸœÀ”]ô’?&…‹’'Í»Êa`êe¦_x&Ƽ® + ²º†DQÆ+D„nȃR-ùG\?*÷ÿË?ucIEND®B`‚mauve-20140821/gnu/testlet/javax/imageio/ImageIO/Bitmap-24Bit.bmp0000644000175000001440000024051610410327035023020 0ustar dokousersBMNA6(ȉÒ}mÌx_ËkSÄX/ÈT+ÉU4ÊY1ÊU.ÈOÉP$ÉS$ÉQ#ÊM'ÊN&ÇR%ËY1ËjPÏsVÔ{fÞ—é¹µðÀºé²­ß¬©à¬¦çµ¯ñüðÿõÅÃóÆÃ÷ÊÇóÇÆì¿»í¾ºê»·ã³­á¤šÙ‘‡Ý•‹Û›Ü–‰ß¤šè®¨è¸²ê¸²ó¼·íÀ¼ôÄÂóÉÄõËÆùÏÊõËÆóÆÂñ¾꺴ᱫ㱫ᰨଥߪ Þ§žá¨ŸÞ¥œÙ —؜Ҕ‰Ò’‡Ô”‰Ö˜ŽÚ¡˜è´­åµ¯å¶®æ·¯ãµ­à±©ß«¤àª£á«¤à¬¥Ý®¦ã²¨æµ«í¾¶ôÇÃûÒÏúÔÐøÏÌòËÃí¾¶æ»²ä¹°çµ¯ç¸´å»´í¿·ðÁ½ðĽöÊÃùÏÊúÑÎøÑÏúÓÑúÕÑûÕÑøÒÎöÍÊøÏÌûÒÏûÒÏúÔÐøÒÎûÐÍ÷ÏÊöÎÉñÉÄðÆÁôÊÅöÍÊûÕÑúÚÕ÷×ÒüÏÌùÓÏü×ÓüÓÐúÕÑþÎÌ÷ÊÆòÅÁñ¾ðÁ½ñ¾óÆÂóÆÂᷲ߰¨îÀ¹ôÈÁñÅ¾ë½¶í½·î¾¸ê¼µðÀºê¶㯣֔‚ÍkSËjHÒw\Ö‹{Ö‘€ÔkÎ~gÊpNÌb=ËbAÊa8Ëc@ÍeBÉV)ÆW%ÇT'ÈR(ÆT%ÎU$ÆT%ÆR#ÇS$ÉR%ÄM ÈQ$ÉR%ÆR#ÆR#ÅR ÅO%ÅRÈQ$ÅN!ÆPÅL"ÆOÅP#ÄQÆQÇRÅOÇQ"ÄP!ÄP!ÆS!ÅR ÉS"ÇQ ÅO ÆP!ÇP#ÃN!Ñ|mÉxcËv\ÉeHÉ[=É[9ÊX3ÂM&ÈP"ÈO%ÆU-ÂT*ÉP$ÉO!ÄP!ÌS)ÉQ#ÈW/ÑpVÛ‘…í¸µõÉÈõÄÂߜÕࣕᬢଦò¹·úÅÂ÷ÍÆ÷÷絯岰ܬ¦Óž‘Ú‹~à…ß­¡Þ§žä¯¥ïÀ¸è¾¹îÁ¾ò¿½öÅÃóÈÅöËÈöÍÊúÑÎ÷ÊÇøÈÄöÃÀï¼¹í½·è·¯ä³«â±©ã¯¨ßª Þ¥œÜž–טӕ‹Ó“ˆÔ“ŠÕ”‹Ö•ŒÜŸ•此毦宥鴪굫賩⯥ୣ䱧굫鸰路涰뽶ïÅÀþØÓÿÙÕøÒÎïÁºë»µì¼¶ï½·ì¼¶ï¿¹ñ¾òÿòÅÂòÊÅöÐËøÓÏüÖÔüÙÙýÜÙüßÛûÝØøÓÏûÐÍûÐÍúÑÎùÓÑøÒÐúÓÑýÒÏûÑÌúÐËöÌÅòÈÁöÌÇøÎÉ÷ÌÉöÌÇ÷ÊÆûÎËþÖÓþÙÕú×ÓüÕÓúÎÍ÷ËÄòÅÁðÿï¾íÀ¼ñ¾峭ڨ¢Ýª§é¼¸òÊÅíþ꺴빳黴éºñɽíüۧ¡Ö‹}ÊfJÉY5Ëc>ÎsTÖyÐ{eÔrTÌd9Å\0Íc>ÉbBÇdDÕh<ÆW)ÆT%ÊT%ËR&ÉR%ÉU&ÄS!ÇS$ÆR#ÆR#ÆP!ÆP!ÇQ"ÉQ#ÇO!ÄQ$ÄP!ÆR#ÈR#ÆP!ÈQ ÈQ ÈQ ÅOÅOÇQ ÅOÅOÆPÈR!ÇQ ÄPÅOÈQ$ÅP#ÄQÃPÃO ÄN$Õ‡zÏ„tÕ…t×nÒs_ÍlPÉ];ÎU-ÊQ'ÎU.Ð^:ÆT/ÌN%ÏN!ÊO#ÊN%ÅJ&ÆS2ÑoWÛ€æ«¡ç°§è¨Ø×zcÄfOÕzeÕ…tÛ”Šèª¤î¶±ùÅ¿ë¹巰筨࢚Д„ÕŠz܆详콵òÈÁõÅÁõ¿ðÃÀðÅÂùÉÅøÍÊøÍÊøÍÊúÍÊõÅÁ洮趰뷰糬糬賩੠ڡ˜×™‘Ó•‹Ñ“ˆÓ“ˆÓ‘†Ô’‡Ó’‰Õ—ל“Ùž•Ö›‘ÚŸ•Þ£™Ý¤›á¨Ÿà§žà§žá¨Ÿé¸°ï¾¶î¾¸ë½¶ñÄÀþÖÑýÕÒõÌÉì»漵î»ïüïüì»ñÇÂôÊÅ÷ÊÇ÷ÍÈúÒÍüÖÑÿÚØÿÝÝÿßÜýßÚüÞÙùÔÐûÒÏüÑÎúÓÑûÕÓúÔÒûÕÓùÔÐûÕÑûÓÎ÷ÍÈõËÆõËÆùÎË÷ÌÉùÉÇøËÈöÍÊöÓÏþâÝýáÜûØÔõÌÉôÇÃôÇÃôÇÃòÅÁï¾ïÀ¼â²¬ß­§åµ±ì¿»öÎÉïÅÀì¼¶ï½·îÀ¹ïžôÊÅðĽݤ›Û’„Õ‚mÏ{_ÁdEËaBÎfÚ„lÉfJÆW1ËW.Ï]9ÑfAÌe>ÈX-ÃS%ÆT%ÈT%ÉR%ÉR%ÈT%ÇT"ÇS$ÈT%ÉS$ÉS$ÈR#ÆP!ÈP"ÇO!ÆQ$ÄP!ÅQ"ÇQ"ÆP!ÈQ ÇPÅNÂLÄNÄNÅOÅOÆPÇQ ÆPÆPÄNÅO%ÄN$ÅO ÆOÇO!ÇN"Ø”‡Õ“ˆÖ‘ˆØŽˆØ„Ô…rÈfHÈS.ÃM*ÌY8ÏfEÁV1ÌM&ÏL!ÊO#ÇN$ÅNÇO!ÊR(ËY4Ç[9É];ÈV1ËT-È^?Ë_@Ê\BËhRߑ᨟嵱íÁºáµ®å®¥ß˜ŠË|iÕ€p嚑곮궯긲ñü÷ÊÆòÿñÁ½õÅÁùËÄúÍÊøËÈôÉÆôÇÃðÀ¼ð¼¶í¹²ä±§ä¯¥â­£á¬¢ã®¤Þ§žÛ£˜Ùœ’Ö™Ô–‹Ô”‰Õ“ˆÔ’‡Ó‘†Ó’‰Ö˜ŽÖ˜Ó“ˆÒ‘ˆÓ’‰Ò”ŠÓ•‹Ó•‹Ô–ŒÜž”௧ïÀ¸óļîÀ¹ñžûÎÊ÷ÍÈóÈÅïüìÀ¹ñžðÆ¿òÈÃóÉÄóÉÄöÌÇúÍÊûÑÌþÔÏûÕÐöÐÎùÖÓüÛØúÚÕøØÓùÖÒûÕÑýÔÒúÔÒüÙÖüÙÖýÚ×ùÚ×ûÚ×ü×ÓøÒÎøÏÌøÏÌ÷ÐÎü×ÕõâßûæäõÓÓòÌÊûÕÑûÖÒùÐÍîÆÁóÆÂõÈÄóÆÂóÆÂðÿòÿòĽóžóÄÀöÉÅùÑÌðÆÁðÀºóÁ»ñü鿸スòÄ¼íºªä¥—ßŸ”Ý¢’Ô†oÍ`DÌhOÓ|bÉsUÆeAÌ`7Ì]7ËY0ÏX'ÆS&ÅS$ÇU&ÈT%ÈT%ÆQ$ÊT%ÆPÆR#ÉS$ÈR#ÅO ÇQ"ÇQ"ÈP"ÆN ÇQ"ÈR#ÅO ÇQ"ÅMÅNÄMÇPÆPÆPÄNÆPÅOÆPÆPÅOÆPÃMÄN$ÅN!ÅO ÆN ÊR(ÊS,Ýœ“ÚŸ–Ú šÛžšÖ˜’Õ†ÕkÇ`GÀU4ËcFÒuVÊfCËR+ÊM!ÆQ$ÄQ&ÂP!ÇQ ÉO!ÈO#ÄO(ÉZ4ÁW.ÂY0ÃW5ÆZ8È\:ÇZ>Ìq\ܛᬢ곮봯岨ߡ‘ÌvbÏlVÌs_Ø“‰è´®é¸°ç°«õýòÅÁñÄÀí»µï»µöÈÀûÌÈùÌÈ÷ÊÆùÌÈôÄ¾í¹²î¹¯ä°¤Þ§žß¨Ÿã¬£â«¢Ú¢—Þ£™Û –ך՗ŒÕ•ŠÔ’‡Ó‘†Ó‘†Õ’‰Ô“ŠÕ”‹Ó‘†Ò…ф҅фІԓŠß¡—ᲪñºóýñüòÿùÌÈ÷ÊÆðÆÁóýõÅ¿÷ÈÄøËÇôÉÆóÈÅùÌÉûÎËøÍÊùÏÊûÑÌøÒÍøÒÐú×ÔûÚ×þÜØûÚ×ùÖÓûÕÓþØÖûØÕûÚ×ÿâßÿâßûàÜÿãßþßÜûØÕûØÕýÝÚûÝÜýäãû÷öþõóüááûÔÕýÐÏýÍËùÌÈðÆÁõÈÄõÈÄòÅÁòÅÁòÅÁñÄÀñÄÀóÇÀ÷ÈÄôÊÅóÉÄñÄÀïÀ¼ñÁ»ïÁºî»ø¿ÀðżîŶ絩᪥⫤碑Ëu]ÎrYÏ‚hÉyZÉd>ÊX/ÇW-ÂV'ÄT ÉR%ÄP!ÆS!ÄS!ÃQ"ÇS$ÇQ"ÄMÆP!ÇQ"ÇQ"ÆP!ÅO ÂLÆN ÅMÇO!ÇO!ÅMÇO!ÄLÃKÅNÆPÃMÅOÈR!ÅOÅOÄNÅOÆPÅOÅO ÆO"ÈP"ÆOÄQ&ÅZ8ÍiMÛœ”Ú£šÚ§Û¤›Üž˜ßž–âšÛ‰}ÓpTÉhNÎsXÍnMÍX3ÈO%ÆU*ÁQ'ÉO'ÆM%ÇQ(ÂP+ÃX7ØsZÌlUÎpY×jNÇcAÌfCÖhJÎgNÔ~jâš‰Ý—ŠØ˜äŸŽÓ~hÂ[@ÌeJØ…oß ’魧鯩츱üÅÀúÆÀ㵮Ⳬô½¶÷ÇÃöÇÃ÷ÊÆùÌÈúÊÄ籪ިڥ˜Ù —ݤ›à§žÞ¦›Öž“Ý¢˜ÚŸ•Ùœ’×™ŽÒ”‰Ó“ˆÔ’‡Õ“ˆÔ’‡Ô“ŠÓ’‰Ó‘†Ô’‡Ô’‡Õ“ˆÒ‘ˆÒ”ŠÕ—㦜鹳ôľõÇÀôÆ¿óÆÂ÷ÊÆõËÆ÷ÌÉûÌÈúÍÉùÐÍùÓÑøÕÒúÙÖûÖÔúÓÑöÐÎöÐÌøÒÍúÕÑûÚ×ùÚÙüÛØþÜÙþÞÛûÚ×ø×ÔüÙÖüÙÖýÜÙýßÜÿäàýâÞýàÜþßÞûÜÛýàßÿçåüçå÷æãýèêüçéüààüÚÚýÖÔõÌÉõËÆôÊÅôÉÆóÉÄïÅÀðÿï¾ðÿñÄÀöÉÅòÆ¿îĽñÇÀðÿôÅÁïÀ¼í¾ºóÆÂøÈÄõÉÂòÈÁìÀ¹è¶°ä­¦ï³§Ó—‡ÏwfÒ‡qÈx[ÂY0ÊS&ÅR%ÅU'ÇT"ÊQ%ÈR#ÇT"ÅT"ÅS$ÅQ"ÈP"ÆOÇQ"ÆP!ÇQ"ÈR#ÆP!ÆN ÈP"ÅMÄLÅMÄLÇO!ÅMÄLÄLÅNÄNÅO ÆP!ÄNÄNÄNÇQ"ÅO ÅN!ÄM ÆOÈPÃMÀT*ÎqW×…tÞ šÜ©ŸÝ­¡á©žã¥â¤žá£Ûš’×zcÄeQÌoXËjNÂQ0ÏZ3Òc=Î\8ÃW-½R&ÄX.ÃZ3ÆbE×|g×…tÒ…uÕ„uÖ‰vÑjÉp[ÈlYÖoÍrЉ{×~jÕ{bÑqSË`?Ê\@Òx`ßš‰á —ߣ—â§ÚŸ–ﵯøÂ»é¸°ì¶¯ôº´î¼¶ð»óÆÂøËÇúÊÄä®§Ý¥šØž’Ù —Û£˜Û£˜Þ£™ÚŸ•ÚŸ•ÚŸ•Ùœ’Ö˜ŽÑ“‰Ó•ŠÔ”‰Ô”‰Ô“ŠÖ•ŒÖ•ŒÓ•ŠÒ”‰Ó•ŠÔ–ŒÕ—Õ˜ŽØ”৞䶯òĽõÆÂõÈÄõÈÄõËÆ÷ÌÉùÐÍûÕÑø×ÔùÝÜùâàýéèÿîíþëêûããúÞÝ÷ØÕú×ÓüÛØþãâÿååüßÞúÙÖüÛØüÝÚýÞÛûÜÙüÚÚüÚÚúÛÚùÛÚ÷ÚÖüßÛüÞÝþâáÿååÿêéÿïìÿîëþêéûæåüââøÙØøÑÏöËÈôÉÆùÎËùÐÍóÊÇñÇÂêÀ»ï¾ï¾ï¾ñÇÂòÆ¿ïüïüî»òÅÁñÄÀîÁ½÷ÊÆ÷ÓËóÉÄôÄÂñÁ½ï¼²ë·«ò½³â®§ÛƒuÙˆyÐ{aÃ^7ÅR'ÈR(ÌT*ÏR%ÈQ$ÉS$ÇT"ÅR ÈT%ÉR%ÉQ#ÈOÅO ÄNÆP!ÆP!ÇQ"ÆP!ÇO!ÅMÅMÅMÄLÅMÅMÆN ÆN ÅMÃMÄNÄNÅO ÃMÃMÆP!ÃMÃLÅN!ÆPÆMÆPÅY0Òw\ß‘€â«¦ß®¦ä±§å®§ã©£ß§¢Øž˜Ò“‹ÐnÍudÏudÌoXÅ]@Ç^=ÊcCÔfJÎ_?ÅW5ÖhFÎaEÏjTÚ‚tÒŒ՚ݠ–Þ™ØÕ‰wÓ…uØ…v؃sÑ‚oÔhIÆ[9Æc=Å`:Ï]?ÑlV׉xᘊٛ‹Ø’…É„zܤ™å²¨è®¨ã§¡é²«ð¿·õÇ¿øËÇøËÇ÷ÇÃæ°©á¨ŸÜ¡—ݦ৞ޥœÞ£š×œ“Ù›“Û•Úœ”Ùœ’Ö™Ô—Õ—Ô–ŒÔ–ŒÖ˜Ž×™Õ˜ŽÓ–ŒÕ˜ŽØ›‘Ù›“ÚŸ–Û¤â«¤í¾º÷ÈÄöÉÅùÌÈ÷ÌÉ÷ÎËùÐÍûÕÑùØÕûßÞûæåüîïüñóýòôþòòýïðÿìëýäâüßÛýáàþççÿìëþææúÛÚùÚ×üßÛýâÞýàÜüÚÚþÚÚøÙØûÝÜüÝÚüßÛüÞÝøÜÛùßßýããþæäüåãøçäýêçÿðîýâá÷ÐÎûÏÎûÓÑýÖÔúÔÐöÐÌóËÆïÅÀñÄÀóÆÂóÆÂñÄÁíÁºì¾·é»´íÁºöÉÅôÊÅîÄ¿ûÎÊû×ÑøÒÍõÈÄí·°ä®£ä²¦í¼²ç³­Ö–„Î…wÐyeÈ`CÊX4ÈU0ÆR)ÇT"ÄO"ÅQ"ÊT#ÆPÇO!ÈO#ÉO!ÈOÇO!ÄLÆN ÅMÅMÆN ÆN ÆN ÅO ÄNÃMÆN ÅMÅMÇO!ÅMÃKÆN ÅMÅMÄLÆN ÅMÄLÃLÂNÅR%ÃO ÄLÀM"ºR/ÂdGå¶²æ¶²í¸µì³±å°­Û«¥Þ¦›Ý™ŒÚ˜†ØŠ}ÖƒtÕm×{bÎtVÍrWËgOÏdIÏiLÏmOÐsYÓzfÔpÝŽƒÝ’‰Ø“€Ñ}kØ{fÍsZÌrYÇfLÏfKÐfGÄW1ÆQ*ÉY/È_8È\=ÊhPÔ~lÑyiΆtà›ŠÞšß’æ«¢ë¶¬å®§î®©òÁ·ùËÃôÈÁøËÇí½¹ä­¨ãª¡Û –᪡곪㪡ܡ˜Ø”Øš’×™‘Ö˜Û•Ùœ’Ø›‘ך՘ŽÕ˜ŽÙœ’Ú“ÕšÚ“Û•Üž–Ü¡˜Ý£å®§é³¬ñ¾ýÎÊÿÒÎþÔÑüÓÐúÔÐûÕÑþÚÖÿÛÛýàáþêìÿòôÿöùýô÷üñóûîðûëìýéèþæäÿèæûæèûæèýææüÞÝýÞÛüßÛýáàýßÞþÜÜÿÜÜÿààÿáàýßÚýàÜþàßüàßüààÿáâùÚÙðÎÎøÐÑùÛØûçâøäßúáÝþáÞÿÜÙú×ÔûÖÒ÷ÑÍøÐËõËÆôÇÃôÇÃòÅÁï¿ìÀ¹ì¾·ì¾·òĽòÈÃðÈÃîÄ¿ùÏÊÿÖÓóÓÍêǽߨŸæ¨žä°¤éº²ç³­Ù ‹Õ’ƒÕ‡wÓ~dÑwUÉc@ÂR(ÅRÄQ$ÄP!ÆPÉR!ÅL ÈM!ÆLÇNÇO!ÆN ÆN ÇO!ÄLÃKÅMÅO ÅO ÃMÄNÃMÃKÂJÄLÄLÃKÁIÃKÄLÄLÅMÄLÅMÆNÁNÃS(ÃQ(ÃJ ÈM!ËS)ÊZ0èº³ë¼¸í¾ºç¸´á±­á­§á«¤ß¨¡Ü£šÚšÛ’„Ú}Ñ‚oÑ{eÍpWÏlPËmPÎkOÉdKÌiSÕvfÓwfãˆsÌpWÏkSÓnNÇhAÃV0ÐaAËP4Ì_?ÃY4ÏY0ÅU*ÆV,ÊZ6ÎdLÍt`؈wÖ„s׃qߘŽâ¤™á¤šß¥ ì®¨çªœã« î¹¯øÊÃôÎÊõÐÌóÆÂ봯樢ޞ™Ü¦›å¯¤ãª¡Ý¢™Û —Ý¢™ØŸ–֔מ•ØŸ–ל’Ú“Ø›‘Ö›’Ù—Ú šÔŸ•ÖŸ–Û —Ý¢™Ü¥œâ¬¥ç¶®è·¯ïÀ¼÷ÏÊùÓÏþÕÓÿÖÔûØÕüÛØÿÚØÿÙÕýàÜûäâýêìÿõõÿóõÿñóöîîþëêúèçûéêûéêøæçýèêýçéùãåýâÞûàÜûßÞùàÞùàÞúààúââúââøáßûááûááùãåýëêþìëúÜÙîÅÃêÃÁûÐÍÿÕÒýÔÒþÚÚü××úÑÏýÐÌöÐË÷ÑÍ÷ÑÍõÌÉòÉÆîÆÁíþîĿ翺罸鼸ò¾ðÁ½÷ÈÄþÕÌøÓËí·°á —ï»´ñÄÁキᴧؤ˜Õ˜ŽÑ‚Ó‹yÎz^Ç]8ÊT%ÈPÅP#ÆP!ÆP!ÈP"ÆOÆN ÆP!ÅO ÅMÃKÅMÆN ÃKÄLÄLÄLÄLÄLÄLÄLÃKÂJÃKÄLÀJÀJÂLÄLÅMÅMÄLÈN ÊPÂLÃR'ÅR%ÀJ!ÅR7ÇcKÄpTî¿»òÿïÀ¼éº¶æ¶²æ´®å±«á«¤Þ¦¡×™‘ÒŠ~Î|kÓzfÔw`Öu[ÙrWËiKÎeDÐ^9ÇT/ÈW6ÑeFÌfIÅaDÏ[:ÇU-ÌU(ÅR'ÊR/Ï[<Ñ`?É[7Ï]?Í]9ËY1Ï]5ÏbBÌmSÚ„lׇpÔŠxЋޖŠåŸ’Ý¡›áª¡ÚÜ–é°§öľþÓÐÿØÕÿÔÐôÀ¹è±ªâ¨¢á« ã­¢â© Ú¡˜ã¨Ÿãª¡à¦ Û¡›Û¢™Û¢™Þ£šÜ¡—Û –Ý¢™Ý¡›Þ¤žÙ¤šÛ¤›ß¦à§žáª¡éµ®îº³ë¹³ð½ºõËÆüÓÐþÓÒüÕÓüÛØþÝÚÿÙÕýÔÑøÛ×÷ÞÜúäæùííüïñÿóõúòòýéèùçæÿîïýëìüìíÿîïþíîúèéþææùäãûæåüçæýçéûæèþêìýèêûëìüëìýëîúìîûðòþðñûããõÖÕñÒÑ÷ÔÑúÔÒøÕÒõÖÕóÑÑóÍËöÌÇúÔÐûÕÑøÒÎöÍÊòÉÆòÉÆóÉÄñÇÂíÁºÝ±ªèº³æ¶°å³­ã±«è¶°è¹±î½³óž籪ٛ뱥öÀ¹ìµ®ä®£à¦šÜ›’Ù”ŠÛ‚ÏvbÃV:ÄO(ÃQ"ÈR#ÆP!ÇO!ÇO!ÆOÄLÆN ÆP!ÄLÃKÄLÃKÅMÃKÆLÅKÆMÃLÂKÄMÄMÅNÃLÄMÂKÂKÂJÅMÅMÃKÃKÅMÄO"ÀM"ÄKÉO!ÄU/Ës[ÙŒ|Ø‹{óÄÀóÄÀíÀ½ê½ºí½»ï¿»çµ¯ß«¥ß¡—ÐÏ€kÉdKÆW7ÂW2¾Q+ÀK$ÄJ&ÌW0ÇV.Ëa8È]7ÊX3ÔZ2ÍM"ÄK$ÄL"ÑQ(ÆU-ËZ:ÐlPÖmRÑiLÄdLÊcCË^8ÊY1ÈV1ÇX8ÎgNÙ|cÛ“‚Õ‚Ð…uÖˆwԅ⤙䡒㙓嫥ýÊÄÿÔÑýÓÐùËÇᄊ购ᰨ糧寤ާžÛ¢™æ­¤è¯¦å®§ã¬¥ß¨Ÿß¨Ÿá¨Ÿà§žÞ¥œÞ¥œá§¡ã©£Û¤áª¡ä¯¥æ±§æ²«ï»´ð¼¶ï»µó¾»öÉÅùÐÍûÐÍøÒÎùÖÒú×ÓúÑÎýÒÏýàÛÿâáþææùííÿóõÿòõúððÿìëúèçúèéýíîûíîþñòþòòýòòýíîûíîýïñþðòýïñýïñþðôÿó÷ûõöþö÷ÿ÷úüõøú÷ùüö÷ýïðþêìþêéüæäýáàøßÝÿééýææúÛØúÔÐý×ÓüÖÒûÕÑøÏÌ÷ÎËøÏÌùÏÊõËÆí¿·ÍŸ—縰綮屪䱧泩Ⱨ寤㬧ܥ Í’ƒË†s×–‡â¥›Ýœ“Ü£”ßž•דŒÒ†à“ƒÏoWÇY7ÅR'ÆP!ÅO ÅMÄMÃLÄMÆN ÇO!ÄLÄLÄLÃKÆN ÆLÅKÄJÂIÃJÅLÂKÂKÄMÄMÂK¾G¿HÂJÄLÃKÂJÂJÃKÄH ÁLÃMÇNÅZ8ÔˆvØ¡˜Þ¨¡õÆÂôÇÄôÇÄòÅÂóÆÃõÅÃ켸߯©á —ϑӃlÑbBÅFÃKÂLÊKÄR*ÆT,ÂP+Ð^:ÅR-¿H!ÅJÇIÃJ"ÃP%ÍW.ÃX2È\=ÉhLÇcGÒoSÎqRÅ^>Ë_=Ìb=É];ÉY;ËaIËmVÒ}mۀфqÓƒlÏ}l×q癉뭣곬ûÇÁüÍÉùÊÆð¾¸ð¼µòÁ·í¿´ñ½±ÞªžÛ¤›Ü¥œè±¨è±ªæ°©ã­¦á¬¢á¬¢ã¬£â«¢à© ß¨Ÿáª¡â¨¢Ý¦Ÿè²«ë·°ì»³ç¶®ìº´ìº´é·±ï¿»øÎÉùÓÎöËÈñÆÃ÷ÑÍúÑÎöÆÄóÉÄýÜØþàßýååþóóÿôöÿòôüñóþìëþïðþïðÿôôþóõýõõþööü÷öûõöüö÷ý÷øýøùþùúþøùýöùÿùüüüüýüþÿýÿûýþúüýüüüþùúÿöøýóõûíîüëêøäãÿëíÿêêúÛØÿÚÖÿÙÕûÕÑ÷ÑÍúÑÎûÒÏûÒÏùÎËòÈÃñû黳淯路綮赫紪鶬㯣ডݦ¡Ñ–ƒÇt^ÍnÝ£—Ýž–Û§šÛ –Ùž•Þ©ŸÛ¡ŽßŽsÇ\7ËR(ÅO ÇO!ÆN ÃLÅNÂKÅNÅMÂJÄLÄLÇMÅKÄJÄJÅKÂIÄKÄKÂIÂIÃLÂKÁJÂIÄKÄJÄJÃKÃKÄLÃKÈHÇLÃNÂS#ËmPä¢—í¿¸öÏÇóÆÂñÄÁòÇÄ÷ÌÉøÍÊöÉÆïÀ¼åµ±â©§Ò“ÔŽ}Å[CÅG$ÆM!ÂKÉM$¼R-Ì_9ÅP)ÇK"ÈHÅJÃK!¾J!ÈN ÆO"ÃX,ÉZ2Ç]8ÇT3ÅY7ÈZ6ÌZ5Í[7Ì^@ÊgKÄdLÍoXÕ~jσpÑvgÔ|nÙ„nÍz^ÝnÖp^Ïwf䭠굫ôûöÇÃñÁ»ì¸±ï¸¯öÁ·í¼²ì¸¬ß«ŸÛ¤›Ú£šß©¢å¯¨ã¯¨â®§ã¯¨ä°©å¯¨ã­¦á«¤á«¤â«¤Þ§žáª£ê¶¯ë¼´éº²è¶°é·±ë¹³ì¼¸õËÆùÕÏøÒÍúÍÉùÊÆþÑÍûÌÈñ¼¹ðÿýÙÕýÜÙýããüòòõïðùîðúòóþñòüððòææüòôÿ÷øý÷øþùúúø÷úûùûüúüýûüýûüüüüüüüüüüüüúüüüþþüþþúÿþúÿþûþüýþüþüûýûûûöõüððüíîÿñòþèêùÚÙýØÔúÔÐ÷ÑÍöÐÌ÷ÎËûÒÏøÏÌøÍÊðÆÁî»뿸黴黴蹱浭路깱䷩让آ›Ý‹Û€kÛŽ{㯢곬赫ૡݩܨ˜œYBÈnLÂR(ÅNÇO!ÅMÄMÅNÂKÀIÅNÂIÃIÅKÆLÅKÄJÁGÄJÄJÂIÃJÃJÃJÂIÃJÃJÂIÂIÄKÃJÃIÂHÃKÃKÃLºIÈKËOËiGßš‰î¾ºøÏÍþÙÕîÁ½òÅÂõÊÇúÏÌúÏÌõÈÅí½»ç·³è±®Ø¤Õ’ƒ¼ZBÄJ&ÆIÅKÄHÃLÅO%ÇQ'ÅN!ÆLÈLÈN ÈO#ÊR.ÊX4ÅcAÔiMÑiLÏZ=Ì]=Ï^=Ñb<Ê_>ÏnTÕ|hÒ~lØ…vۂד†Ò€oÎvhÌq\ÇnSÔ{fÖwdÒ|j쯡ñ¹®î»±ïÀ¸è·¯ì·­í¶­ò»²éµ®ç³§Ü¨œÚ¥›Þ©Ÿàª£å±ªç³­è¶°ç³¬è·¯é¸°ç³¬å±ªã­¦å¯¨áª¡æ¯ªî¼¶ïÁºì¾·ë¹³í¹³óÿûÏËþÙÕúØÒñËÆò¼øÅ¿÷ÇÁó¼¹ï¾ôÏËÿÜÙúààûöõýûûÿûüÿúûûöõü÷öøòóüö÷ýøùÿúûüúúÿýýûþüüÿýüÿýüÿýûþüûþüüÿýüÿýûþüüÿýýÿþýÿþýÿþüÿýýÿþüÿýûýýþýüúòòþóóþðñøãåøÚÙüÖÔúÔÐõÏËõÏËûÒÏýÔÑøÏÌ÷ÍÈñÇÂïÅÀîĿ쿻黴繲ᱫ䳫綮辱㭦أ™ÚšˆÃkZÓŠ|ä·¬ïÁ¹ìº´ç²¨Ý¢“Ùz´R4ÆN*ÇMÀPÅMÄLÄMÄMÂKÂKÆMÆMÃJÀGÄKÄKÂIÁHÄKÆJÄHÅLÃJÃJÀGÃJÅLÅLÃJÁHÂIÂHÃIÄJÆMÅL¸IÁIÊZ6Ï€mÙ¢ŸöÉÌþÛÝÿääïÅÀôÊÅøÍÊùÎËõÊÇóÆÃïÀ¼í½¹ï»´æ±§×–‡¼bIÀK$ÉIÉIÄGÅKÆN ÏV.ÊP,ÅK#ÇL ÅL ÆQ$ÅZ>ÐkRÍp[ÕyfÒ{gÑr^ÌiSÑkTÌmSÉs[ÐnÊyjÉvgÔ†yÜ•‹âž—âŽÚ’†ÜˆvÑt_Ð{k΀o΂p枔ԗ‰è°¥ð½³ê·­ç²¨é²©êµ«ç³¬ã¯£Ý©Ý¨žà«¡å¯¨ç³¬è¶°ê¸²è·¯ê¹±ë¹³é·±ê¸²æ²«å¯¨ä¯¥æ´®îÀ¹ïüïÁºîº´ïº·úËÇüÔÏþÙÕüØÒôÊÅ뷱鲭䲬ⴭキóžíÇÂüÙÖúããýúùúÿþþþþüþþýþüýýüþüüúøøÿúûþüüÿýýÿþþùþüúÿýûÿþüÿýüÿýüÿýüÿýüÿýüÿýûÿþûÿþýÿþýÿþüÿýûÿþúÿþùÿþþÿýþûøùññþòòüêëûâàûÚ×úÔÐöÐÌøÒÎüÓÐüÓÐöÍÊ÷ÍÈóÉÄòÅÁñžìÀ¹ë½¶è¹±å´¬ä³«é¶¬æ¹¬êµ«à¬ ÛŸÐ‚u⣛õËÄ÷ÌÃïü겧ЇsÂfIÎ\8ËK"ÉJ¿KÅKÄLÃLÄMÄMÆMÄKÂIÂIÁHÃJÃJÅLÃGÄHÅIÃGÁEÆJ¿FÀGÃJÃJÅLÃJ¿FÃJÄKÄJÄJÃJÃJÀGÀKÔpNÚ}Ý£žøÊÈÿåâûåçôÊÅøÎÉøÏÌöÍÊóÈÅôÇÄ÷ÈÄüÌÈüÎÊí½·å­¢ê›†È]<ÅI ÅH½GÉGÆJ"ÅP)ÆT,ÇV+ÏY0ËU2ÏW9ÓrQÐsY×xdÓ„qÖ‡tÓ‹sØ€hÌnWÑxjÖˆ{Ú„Ù‡{Ö†uØ’ÜŸ•娤䧙ן”ÔŽ}ÙnÕsÖ‘‚Þ™Šç™“Ó€ò¶«ÿʿ귭궪质鶬鸰质߫Ÿßª à«¡ç±ªéµ®í»µï½·ì»³è¹±êº´è¸²é·±ä³«å±ªä¯¥è¶°öÈÁöÊÃöÆÀ츲굲úËÇ÷ÑÍúÔÐöÐËõÇÀñ¹´ôº´ñºóÇÀ÷ËÄøÊÃñËÆùÓÑýëëÿýüùÿþýÿÿûÿÿûÿþúÿýýÿÿûûûù÷÷þùúýûûþüüûýýýÿÿýÿÿýÿÿýÿÿýÿÿüþþüþþüþþûÿÿûÿÿýÿþüÿýûýýûÿÿøÿÿøÿþúÿûýüøøóòûññþðñþèèûÜÙý×ÒùÓÏùÓÏýÔÑþÕÒøÐËùÏÊ÷ÍÈ÷ËÄôÈÁïÁ¹í¿·ë¼´è·­ç´ªæ±§ä°¤ã¬£Û§›ØŽÝš‘í´²üÑÎþÐÈëÉÃꮢÍwaÇeC½T)ÀKÈKÉI ÅKÅKÁJÂKÃLÄKÃJÂFÂIÃJÃJÄKÅIÃGÅIÂFÃFÄGÄGÃFÁGÀFÃIÃIÂI¿FÄKÂIÃIÄGÆJÃGÃGÄLÍ_;Ép\ß¡–óÊ»üßÔùÚÙñÐÇðÌÆ÷ÌÉùËÊøÇÉùÈÊþÒÑýÑÐõÏËùÂÅ︻鰧Îx`ÃN)ÇK"ÁH ÆJ"ÆJ"ÈN&ÉQ'ÃP%ÃS)ÇU0Ï^=ÏxdÑpÓ‰}ׇ؄ي}Ú†tÏzdÐtד†ÚšÜ™Ö•מ•᪡櫢ޠ•ؘٓ†ÔŒ€Ó‹à›‘䦜ᤚ۠–øÁ¸öÀ·ßª ä­¤é²©í¸®î»±è±¨à© Þ©Ÿàª£è´­é·±í»µí½·í¾¶åµ¯è¸²í»µë·±ç°«å®©æ¯ªï¿»ýÎÊüÏËöÉÅ嶲㳭ó¿¸ñ½¶ê¿¶ñ½·øÊÃ忺øÈÆÿÏÏøÑÏüÖÖøÒÍøÍÊùÓÓûìíþüüûÿÿúÿþøÿþùÿýöÿþÿþýýùúýõöþôöûúüþûýÿüýøýü÷ÿþûÿÿýÿÿúÿÿúÿþþþþüþþüþþûÿÿûÿÿûÿÿúÿþúÿþúÿþøÿþüÿýÿüûúöõùõôþ÷÷üçéûÜßü×Ó÷ÒÎûÕÓýØÔýØÔùÓÏ÷ÑÍöÐËøËÈòÈÃï¾ïÀ¼îÀ¹ë»µì¸±æµ­â±©Ú®¡Ø¤”Ղ࡙þÔÍÿÏÎúÊÈ糬̊xËqSÈU0ÇI ÆK¿L!ÃKÃKÂKÆMÅLÄKÄJ­3ÄHÄHÄHÄHÄHÅIÅIÄHÂIÂIÂIÄHÄHÃGÅIÃGÈFÀJÀKÇJÈHÃIÁKÂHÅJÅLÃM$ÄY8Ðzbà¡“üÔÐÿßßÿÐÎûËÉüÌÊùÌÉúÍÊ÷ÌÉùÎË÷ÍÈùÏÂóž黴ﳧÖybÄW7ÆV2ÅR1ÂS-ÄU/ÇU0ÈU0ÈS.ÇT3ÅW;ËaIÑ}kÚŒ|Ú’†Ø‘‡Ö…ÖŠ~Ó†vØ‹x؄ޞ“á¤šâ£›à ›ã¬¥é³¬Ý£Ó•ŠØ˜Ý›ÜšÞ›’᠗娞á¦ß¤›ï¶­è±¨Þ§žß¨Ÿä­¤æ°©æ²«å®¥Þ©Ÿâ­£å±ªé¸°ìº´ï¿¹ï¿¹ì¾¶è¹±éº²ñÀ¸ê¶¯à¬¥â¬¥ëµ®óÄÀøÎÉùÑÌ÷ÊÆë¸µè±¬ñ»´ì»³é¾µæ®©õ¾¹óÆÂùÌÈþÓÐûÖÒýØÔøÖÐøÒÎû××ùçæû÷øÿþþÿþþþÿýÿþýûÿþþÿý÷þûþüüÿòôÿùúÿøùýõö÷ùùúÿÿýÿÿÿÿÿúÿþúÿþþþþüþþûýýûýýúÿþûÿÿûÿÿúÿþûÿÿúÿþüÿýÿýüüýûüýûÿýüþøøúéêûßÛöÙÕýàÜýÞÛþÜÙûÖÒûÕÑüÓÐûÐÍõËÆðÆÁñÄÀïüïÁºð¿·ê»³ê¸¬å±¤è£™ÉzmÕ~nܰŸöÊÃøÌÅùËÃ師ڢ‘Ô‡mÍiFÃR'ÀJ¿LÄLÆLÅLÆMÅLÅLÂHÀFÄHÃGÆJÆJÄHÄHÄHÄHÂIÀGÄHÂFÃGÂFÄHÃGÆGÀI¾GÆHÇIÄJ¿GÂDÂIÁHÃIÅL"ÈT5ÏnZ멟õÆÀýÉÉúÈÈøÈÆõÈÄóÇÀöÊÃóÇÀøÊÃúÌÅîĿ߷²ä«œÌoVÄS2ÊW2ÈS.ÉW2ÈY3Í]9Ñ]<Ð[<Î]BÌiSÕkÕ‡wÚÛ•ˆØ“‰×’ˆÙ’ˆ×‘„Ú”‡Ú™Û —Ü¥œÞ¢œÛŸ™ê°ªè±ªß¥Ÿã¦œâ¥›ä¦žà¥œá¦è¯¦ìµ®ã¬¥â¦ å®§â¬¥â¬¥ð¹²õ¾·ë´­ã­¦ã­¦ä°©ë·°î½µð¾¸î¾¸ï¿¹î¾¸é»³ì¾¶ïÀ¸òÁ¹è·¯ß«¤á®¤èµ«îÁ½ïÇÂòÊÅòÅÁ츲殩䮧浭ôÈÁô»¶òºµîĽóËÆúÔÏüØÒþÖÑúÔÏúÑÎûÙÙõæäþûúÿýýÿþÿÿýþþÿûþüùûêëÿýüøýû÷ïïûðòýïñüôõüüüüþþÿÿÿÿÿÿýÿÿûÿÿþþþüþþûýýýÿÿýÿÿüþþüþþüþþýÿÿûÿþýÿþÿÿþüÿýùÿýùÿýþÿýýùøþòðöçåüéèýæäýáàûÚ×ý×ÕÿÖÓûÒÏöÌÇóÉÄóÉÄõÈÄôÆ¿óžð»ö¿¶í¼®ä­ ÑˆtÈ_DÖ˜†ñ²®ìµ¨é²­ê³®äª¤ÔŒ€Ðs^Ë\<ÅM#ÃIÄJÃIÄKÄKÁHÂIÄGÅHÂIÄKÆJÅIÅIÂFÄHÄHÂFÁEÃGÃGÁEÃGÅIÂFÃGÀGÀGÆHÅH¾GÂIÇEÂGÀHÁKÄM ÃQ,Ä`DуrÝŸ”òÆÅñÄÁòÅÁòÿîÀ¹ò¾ò¾öÅÃÿÌÏùÂÅ蹵ݩ™ÄhOÍT4ÍT-ÈS,ÍV/ÊX3ÈZ6ÈX4ÅQ0ÇY=ÉiQÕ…nØŒ€×ƒÙ“†×“†Ø“‰×•Šßž•㥛ޣšÝ¦å®¥à© á¦é®¥á¨Ÿà¥œê¯¦ãª¡è±ªî¸±í¹²îº´ñ½·îº´í·°ë·°ê¹±ì»³÷üöÀ¹ëµ®â®§â®§æ²«í¼´öľñÁ»ðÀºë½¶í¿¸í¿¸òĽ깱ᰨݬ¤ä³«ï¾¶ï¾ðÿðÁ½ñÁ½í¹³éµ¯æ²«ì»³ôÒÌ÷ÇÃò¾ôÊÅöÉÆüÏÌü×ÓùÖÒûÒÏ÷ÎËõÖÕøïíýþüüþþüþþúÿþüÿûòçåðÔÔÿùùüúù÷éêöììúððÿùúúúúøúúýûûÿþþýÿÿûÿÿýÿÿûÿÿúÿþýÿÿýÿÿûýýûýýüþþýÿÿúÿýýÿþýÿþûÿþøÿþ÷ÿýúÿþüÿýþüûüø÷ýõõýðñþëêýáàþÜÜüÖÔøÒÎùÌÉõËÆõÍÈýÎÊùÌÈõËÆõÆÂøÅÃðö㶨ЊrÄS2׋yá——ÏzÓ‚â¡“ß™ŒÏ€mÍlPÅS.ÆIËKÄKÄKÂIÁHÃGÄHÇKÅIÂIÃJÂIÄHÄHÁEÂFÅIÂFÃGÃGÃGÁEÁEÃGÂFÀGÃGÅFÃDÁG¿HÃGÇFÁEÄH ÊQ)ÆY3ÈgFÇsZÃvfÚ’†íÇÃôÉÆöÇÃñÁ½ð½ºð¿½÷ÉÈûÏÐÿÐÌûÉÆõĺ姕ÉgOÐ[>Ê[;ÃZ9É\<ËdCÌkJÊeEÉ]>Ë]CÔoYÚmщÙ’ˆÚ”‡Ø”‡Ù”ŠÛ˜á¢šå©£ä¬¡à¨é³¨ëµªæ«¡á¤šÞ¡—ज़嫥籪빳뻵콹ðÀ¼ò¼óÁ»í¿¸ïÁºð»óÁ»ìº´ã±«ß¯©á°¨é¸°ñÁ»ñÁ»ò¼ðÂ»í¿¸ïÀ¼óÄÀøÉÅ뻷䲬Ⱚ趰ð¾¸ï¿¹ðÿõÅÁùÄÁ÷ÄÁöÆÂôÆ¿ôľüËÅûÐÍûÐÍòÔÏøæá÷ÕÒúÌËúÎÍüÓÑõÖÓòÕÑüíëÿÿûúÿýùþýúÿþùÿþÿÿûôðíúõòüúùþööÿâæþêìôêêùñòùùù÷ùùùôõýùúûÿÿùÿþúÿþúÿþûÿÿüþþûýýüþþüþþüþþüþþúÿþýÿÿýÿÿüþþúÿþûÿÿûÿÿýÿÿùÿþùþýüüüû÷öýññýéèýããúÜÛùÔÐùÌÉùÐÍùÓÏÿÐÎúÏÌôÏËöÉÆöÐÌøÈÂ屫Ïvb¿M$Òy^ܙؙ„×…sÎ}hÖk¿cFÎd?ÂL"ÈLÊJÄKÃJÁHÅIÃGÁEÄHÄHÁHÂIÂFÂFÀDÃGÂFÁEÁEÃGÂFÃGÂFÃGÂFÃG¿IÂFÃD¹<½D¿FÄJÉM$¾FÂK$ÊU6Ê\BÂ_KÍudÕ„uЃsñÇÂòÅÂòÂÀí¼ºí¼ºñÁÀôÈÇóÊÇíÉÃïÊÂ蹫Ê{hÅU>Ë[=Æb@ÏdCÌ`HÉeLËkSÈhPÈfNÍnZÒzi؆zÔƒÛ”ŠÜ—ݘŽáœ’à”Ýž–Ý¡›Þ¦›ã¨žä©Ÿâ¬¡Ø“Üž”Þ¡—੠鳬鵯óÄÀðÿòÅÁóÄÀôÅÁôÆ¿óÇÀñÇÀ÷ËÄóž踲Ⲭ㳭嶮ïÀ¸ôľ켶ðÀºïÁºð»ð»÷ÈÄøÈÄ絯Ⱚð¼¶óÁ»óÿ÷ÇÃûÎÊúÊÈþÎÌüÏÌýÐÍóÆÂöÇÃüÍÉûÊÈüÑÎöÞØüðêûãâ÷ÍÎôÏÑúÝÞ÷ïìûñïÿýúûÿþùÿýþþþÿþþûýýþÿýúÿýüÿý÷ÿýúöõÿâåþßâûàãüôöþýýÿýýúôõÿûüüþþúÿÿûÿÿúÿþúÿþüþþüþþüþþüþþüþþþþþüþþüþþýýýþþþþþþþþþÿÿÿýÿÿùÿþùÿþûÿÿúüüýùøýôôþñïúæåúÚÕüÑÎüÖÔûÚ×ÿÖÕýÖÔ÷ØÕûÔÒþÕÐøÐË븵Êu_¿JÆT,Ò}gß“}×zaÃdJÓoRÑfDÉY/ÁJÃJÂIÄKÁHÂIÄHÅIÃGÄHÃGÂFÁEÄHÂFÀDÂFÂF¾BÁEÀDÂFÁEÁEÀDÄHÀD¿FÂFÂCÁEÀEÃGÄL"ÅS.ÅY0ÆeAÑz_ÍzeÊueÑykÚƒsÐ~l÷ÏÊþØÕúÑÏøÌËúÊÈÿÍÊûžñº±ï¹²ð»®ßŸÐs\Ï\AÅZ9Åa>Ê\:Ç\AÈ^FËdKÉeMÍoXÒ|hÓˆzÕ“ˆÙ”ŠÚ˜Ý’Û›Þ›’Ýœ“ᣙٜ’֔ᣛࣙ٣˜Ó’ÝŸ—ç«¥ð¼µì»³é¹³óÄÀøÈÆôÇÄöÉÆõÈÄøÉÅòÆ¿îĽïžóÇÀ鷱䲬趰ïÀ¸óÄ¼í¾¶é»´ì¾·ð»öÈÁ÷ÉÂöÈÁí¾¶à¯§ä±§ò¾·óÁ»ðÀºøÈÄþÑÎöÓÏóÖÑðÒÍôËÈ÷ÇÅýÐÍøÏÌðÍÃîÀ¹ðÿôÉÆÿÖÕþÝÝÿù÷úýùùþüþÿýüÿýúÿÿùÿþÿþþÿþþûýýùÿþùÿþÿþþùÿýùþþÿûûþôöýäçóåç÷ñòþøùüñóÿùûüúúúþþýÿÿûÿÿúÿþýÿÿüþþüþþûýýþþþüüüýýýûûûûûûþüüþüüþþþýÿÿûÿÿúÿýûÿþûÿþúÿþüÿýþüûÿûúúññùàÜúÔÒùÚ×üãßÿÙ×üÛÛúåãüÞÝÿÛ×öÐÄà ŽÅsPÀIËEÃS/ÍeB¾T%¹MÀQ#ÅS$ÂM¾IÁL¿IÂIÂIÀGÁGÂHÄHÃGÃHÃHÁFÁFÁFÃFÄGÃFÂEÁCÃEÂFÃGÂFÂFÃGÀDÁHÃEÀC½DÂEÅE½H!ÈdBÔ~fφpÒ—ƒØ¢‘Õ˜ŠÙ“†Ö‹}Ë~nþÚÖýÚÖúÙÖõÒÏöÉÅð·®âœÉ|lÒtaÏoX¿bH¾aBÑjJÒlOÌhOÎdMÈgCÌeDÏcDÒdJÏjQÐwbÖ‰yÛ”ŠÚ˜Ö˜Ù›‘Þ –Úœ’ޔ穟⥛ߥŸéª¢èª¢à«¡Ý¨žã§¡ôºµôľñºôľöÇÃøÈÆøÈÆùÉÇõÈÄõÉÂòĽñžî»ïÁºðÀºîº´ë·±í¹³ñºïÀ¸ë¼´ê¼µé»´é»´ê¼µì¾·å¸­Ý¯¤Ü¬ çµ©é¶¬é¸°ì¼¶÷ÇÃûÍÌöÛ×ÿúôýðëøÏÍÿÎÎþÏÍóÐÌúʾñ¶­÷ÁºîÄ¿ôÏËøáßþüøúÿüûÿÿýÿÿüþþúÿÿùÿþýýýüþþ÷ÿþÿþþûÿÿÿÿÿûÿÿúÿÿûÿÿöÿÿûýýüîñüòôüñó÷éëýòôúõöþþþÿÿÿûÿÿúÿþýÿÿüþþûýýþþþüüüõõõûö÷ù÷÷ûùùù÷÷üúúýýýûÿÿøÿÿþÿûýÿþûÿþùÿýúÿÿüþþÿÿþýüûýìçüÝÚ÷ÞÚüçåÿÝÝüàßûìéÿçæÿáâÞ³¢ÄU5ÀY,¿D¼B»IÀLÅHÃFÃFÃEÆIÅGÈKÆIÂIÃJÂIÁGÀFÀGÄHÃHÃHÀEÂGÃFÄGÄGÃFÀCÁCÁCÃEÃGÀDÂFÃG¿CÁFÃEÀF¼CÁC ÆDÃP+×z[Ö–‘奠ꪥ⧞ܣšá¦Úœ’чÿÞÖþÛ×ÿÛÙýÐÍô½²Ï†rÊkQÐcGËdDÆ\=Ç\;ÇZ:ÇY;Í_AÎaEÍbGÎeJÈkLËiKÊdGËkSÔxeÚ‡xÔ•‡à˜ŒØ›‘Þž™ã¤œÚ ”Þ£”騠䬧䫢宥汧赫貫屫ò¾õÅÃõËÆóÉÄòÈÃ÷ÊÆøËÈòÅÂ÷ÇÅóÃÁï¾óÄÀïÀ¼ïÁºì¾·èº³í¿¸ñüðÄ½í¿¸ë½¶ë»µé¸°è´­æ±§ä¯¥Ý¬žáª¡î·´õÆÂí¿¸ë¸®ì½µëÆ¾íÀ¼ôÔÏüúõþþûõåæüëêùçâöÍÊýÎÊøÒÍúÕÑñÄÁúÑÒùéèþúúÿûûÿÿüÿÿüÿÿþúÿþúÿÿýÿÿÿÿþýÿþûÿþÿÿþÿÿþýþüÿüüÿÿüúÿüûÿüýÿÿüþþûíîüââüõòýóñýÿþøÿÿúÿüüÿýÿÿÿûÿÿøÿÿÿÿÿÿÿþýüøÿìîÿïóÿùûÿú÷üø÷ÿúÿÿþÿøÿûûÿüúÿÿýüÿÿýÿÿÿþùÿûúÿýÿüýþõøûêß÷èßúìíýåãþáÝûâæÿäçñ̵ËoRÄH ÂI¿H¾FÀHÈKÅHÂGÂHÄJÅHÄGÂHÀHÀHÁHÂGÀGÀF¿EÃFÄFÄGÃFÃHÂFÂFÂDÂDÃCÁFÁFÁDÁCÂDÃEÀDÀDÀGÁHÂGÆFÁA¾C¿L!Òc;ÊcÔ™‰à¬¥ä¨¢à¥›Ýª Ôž—Ø—üÚ×üÞÝøÚÙùÑÌô·¬ÇsaÅdJËcFÉeIÍfKÓkNÑfJÏcDÉ]>ÍaBÌ`AÎaEÅaDÈ`CÎaEÈcJÔq]Ü€sÖŒ€ß™ŒÚ˜Ü™Ýœ“ÜŸ•á¦œê®¨í¶±ì¶¯å±ªç³¬éµ®ë·±ôÁ¾÷ÇÅøÍÊøÏÌùÐÍøÏÌùÎËöËÈï¿õÈÅôÄÂôÅÁòÿñ¾ïÀ¼ì½¹í¾ºöÇÃúËÇ÷ËÄðĽïÁºë»µé¸°æ²«å°¦ä¯¥á¯£è¯¦÷½¸ôÁ¾é»´ó½¶ÿÅÀûÂÁö½»÷ÚÕû÷óÿÿþûÿÿüþÿþûüû÷øùãÞõËÆûÖÎýØÐþÓÏûßÚöëçýçåÿüÿ÷ýüûóíôËÄÞª¤÷ëãúúöþöùòþýÿÿÿøÿþûÿþûêìýïòûøùþøúùñí÷çäÿáâÿæéúõöûøúùýþÿûýÿûøûþü÷ÿþýüþÿþÿùþþûùùýêîõâßúìîþö÷û÷öùóôýöûÿýÿûÿüõÿþùÿûúÿú÷ÿúúÿþýüþÿüýýþúøúÿüðîýèçýîòÿìêÿááúÚÛíÌÆÆrV¿I&ÊGÃHÂHÅGÃKÃMÆHÄIÄIÃHÅHÇGÅHÂGÀGÃHÅHÃHÃGÂFÄFÅEÃFÃFÃHÂFÁEÄFÃEÅEÁFÂGÃFÃFÂEÂDÀDÁEÄGÂEÂEÅEÂBÀC½DÂN%ÑeMÙˆy媡ܤ™Ý¤•Û§šÛ§šá¦—÷ÍÎ÷Ø×õØÔòļ圎×vbÎgNÉeIÅdJÈdKÈdKÍhOÐiNÓiJÌa@Ì`>Ë^BÈcCÎdEÍ`DÎdLÕo\ÐsdÔ…xב„Ü“…Þ—‰ÞšÝœ”᧢긲ò¾¸ð¿·î½µè¶°ìº´ñ¼¹øÈÄûÎËýÔÒùÖÓý×ÕýÖÔúÑÎøÍÊùÎËöÉÆõÅÃõÇÀôÆ¿ôÅÁï¾ï¾ñÄÀøËÈüÏÌùÍÆôÈÁñü뻵鸰购鴪汧㰦豪겭캴뺲ñ½·õÂÀöÆÅøÝÞýñðøöõúýûþúûýýý÷ÿþúùûôÚÖå»¶è·¯ôÁ·ì¹¯ã´¬à´­åµ¯éº¯Ü­™Ê€fÊ^?ÇX8ÊxYÕ”{Ù‘â·¯åÀ¸íßÐê×ÇÏ‹„㣞øÖÎõÓÍ÷ÛÌõÙÎü×Óúãáÿççþëêøðéöëãüìïü÷øôÿýûÿÿÿÿþùÿûøùñûÛØõÍÈüÞßûéêýòðýññýïõüóöùöòþ÷ôÿùöþúùùÿþ÷ÿýüÿýþüûûýýöûúúõòüååøäãþéäÿåâõÙÒÛ±ž½Q(ÃFÀH¹IÀHÅEÅK¿JÄIÂIÄKÃJÆIÇGÄGÆIÁEÃFÆGÅHÇJÄGÅEÈHÃFÄGÄHÁEÂFÄFÄFÂEÄGÃFÄGÁDÃFÀCÄFÂDÂBÂBÂEÆFÄDÂBÂEÅL ÆhQÙ‘…ݧ à©¢ä© ç±ªã²ªß¯£÷¿ºð¿·öŻ橙Èq]ÌdMÌcHÆcGÎjQÍiPËgOÌhPËfMÌeJÍeHÊcCÆ^AÈcCÈcCÉcFÏkRÏqZÏygÖŠxÓ€Õ„u׊wàš‰ã›”ß¤¢ç¸´óÁ»óžôÆ¿òÿñÁ½öÃÀøÈÆýÒÏþÚØýÜÙÿÝÚÿÛÙüÖÒùÐÍûÐÍ÷ÊÆõÆÂôÆ¿õÇÀõÆÂòÅÁóÆÂõÊÇüÑÎüÑÎùÏÈöÊÃðĽ쾷껳鸰궯괭鳬䳫䵭깱ðº³ï¿»÷ÜÙüöòóüýþýÿþþýúïíõÑÏöØÓõæßúàÛøÑÉⳫ䦞ä¥Þ¥œß¤šãÖ†uÈkQÆhKÇfEÄ`>Å_<Å\;Å^=Ã\<¿X7ÉX7Èc=Áb;½S.¾]9ÉwTÉnOÑxj婞÷ÓÎûûúþ÷üüûý÷ÿÿþþþúùûúñó÷ôóûúõôäÞèÐÅͧ™ÌŠá™üÈÅøÔÔýâáÿééÿéíþéìôãàþãäüéèöéëöèïùéìûëéüìëüîòÿêêúëìÿÞâþÕØûÔÖú×ÛôÎÉÛ‘ÀKÁF½I¶IÂHÊHÆJÁI¿G¿IÃMÀJÂHÂEÃFÄJÄJÄHÆIÅHÃHÃHÆIÈIÁFÁFÃG¿CÄFÂDÃFÀCÀCÁDÃFÂEÃF¿BÄGÂDÆDÄDÃFÄGÃFÃCÄEÇJÑdߟ⮢䭤筧賰㳯㴬тoЃpÚ‹vÆpXÊiOÒjMÏfKÉeIÎhKÊcHÈcJÈdLÍjTÎkUÎlTÉgOËdIÌcHÉcFÄ`DÈdKÈkTÎ{f׈uÜ‘ƒÒ~lÎ}hÖŠxÜŽ‡ã£Ÿé·±÷üöÇÃóÆÂõÈÄ÷ÇÅöÅÃ÷ÇÅûÐÍûÕÑú×ÔûØÕüÖÔûÕÑýÒÏûÎÊøËÇõÆÂôÆ¿ôÅÁôÅÁòÅÁ÷ÊÇûÐÍüÑÎ÷ÎËõËÆðÆ¿î»ïÁºì¼¶é¹³ì»³é¸°ìµ°æ·¯æ¹®ì»±ñ½¶õÈÄýêäøñëõñîûøóùåßòÅÁã§¡â§žå¬£è±¨â°¤ç©Ÿä©Ÿâ¨¢íª§Ü¡—Û˜ƒÊaFÄX6ÅZ9Ä\?Æ_DÈdHÊfIÐkKÐiHÇfEÊcBÎaAÌa?Æb?ÃbAÈbEÍbGÐaAÌkQÝŽöåÚýóðüüûÿþýÿõ÷ܱ—Ë}fÔ‹qטyÐz\ÑlLÊfDÒfDÄn\é«¡ûÐÍüÛ×þÝÚýÝÞüÜÝøÕÒúÔÖñ÷ܟښùÅÄüÖÔÿãâÿàãþßÜùçæþßÜÿØÑÿØÓûÎÊë¯ÄY=ÂIÉFÇGÃJÇEÉGÃGÂHÂFÀGÃMÆP!¾EÂGÃHÆKÁK!ÂIÄKÂI¿EÀFÂFÁFÂGÀE¿CÀDÀBÂDÁDÁDÂCÂEÀCÀCÀCÁDÁCÃCÃCÁC¾E¿FÁFÀDÂFÇMÃX2½_BÚŽx妒á­ß°¨ã²ªëµªÉhLÉfJÍfMÌcHËeHÌgGÍgJÎgLÐiNÎgLÌgNËgOÕu^ÖydÕyfÉo^ÎhQÒfNÎgNËfMÈbKÇiRÛ„pÖkÛ‰xÑ}kÊydÖ‡t؆z♑뭥õ¾·ñÁ½ôÅÁùÌÈ÷ÊÇöÆÄôÄÂ÷ÊÇøÍÊõÏËõÌÉöÍÊ÷ÌÉøËÇòÅÁóÄÀôÅÁõÆÂóÄÀõÆÂõÈÄúÍÉûÐÍýÒÏøÍÊñÇÂðÆÁòÅÁóÆÂñüîÀ¹ðÀºï¿¹ñ¼¹í¼´ï¼²î»±é¹³òÈÃýÔÍôÁ»ò½°î¼¯ìº®é®¤è§žæ¨ â© ä¥á¥™à¦šÝ¨›Þ¤žç¨¤Ø¢—ΈpÄ[:ÌW2ÉV1Í[6Ì\8Î`<Íb@ÎeDÏfEÓhGÈjGÈfDÎeDÌcBÐaAÔbDÌgGÆg?ÍiG×hNÑ{cÒŒuÖ ŠÙ¥ŒÝ’|ÇfEÏZ=ËY;ÄZ;ÊZ<Í]?ËdDÑgHÈrZ诠÷ÕÏùÙÔûÖÒúÖÖúÒÓùÌÉê¼´Ô€gÈV2ÎgFÚ‹pÛœ‡õËÃÿãéúåãýçåûà×ýÓÆýÑÉ鮟ÂeFÃJ"ºN$ÂJ ÃHÀGÆFÅHÁIÄFÅEÃFÇNÐX*ÄKÄK!ÇN$ÈP&ÆT,ÇT)ÉR%ÊR$ÅL ÄKÄJÃGÃH¿CÁEÃEÀBÃEÀEÀEÃDÂCÂEÁD¾AÁCÃCÃCÂDÁEÀG¿FÁEÀD¾EÅMÅN'ÉY;ÍmVÍ€mॖ᭧沬ÎiIÊbEÏaGÑfKÍeHÊfIÊfJÍfMÍmUÌmSËjPÊkQÎpYÒyd×oÒpÌs^ÐmWÏlVÎnVÏiSËkT×~iÌmZÍt`Ò€nÕ†sÑ}kÐ|jÚ‰zâšë°§ìº´öÆÂûÎÊöËÈôÇÄóÄÀõÆÂ÷ÈÄñÄÀï¾íÀ¼ðÁ½ñ¾òÿñ¾ðÀ¼ñ¾óÄÀóÆÂóÆÂ÷ÊÆùÌÈùÏÊõËÆõËÆõËÆ÷ÍÈúÍÉ÷ÊÆõÈÄõÈÄõÈÄíÀ¼ì¾¶ò¿µï¹²åµ¯ì¾·î³ªÒƒzÌ~mÏ~oБƒÞ¦›ê¦ŸÜ¥œ×©žã¢šÞ•ÙŸ“ٞ֘樠䤙Ñ~iÏkNÍfFÍbAÍeBÃb<Á`<ÉbAËdDÆdFÎdEÌeEË`DË`DÈbEÊbEÍaBÊ`AË_GÇbIÔhPÒmTÇpUÍpVÈpRÇiLÈiHÌeEÎbCË`?È[;Ë\<ÆZ;ÈZ<ÈkR︪ýßÚþâÞÿÞÛÿááüÖÖùÌÉã³§È{`À]7¼Q/½O+ÁQ-ÆjQé´ªêÊÅéÀ¹Ý·¥æ²¢ìµ°ÕŒ¿`?ÁY6Â\1ÅX,ÂS%¿O!ÄKÇP#ÃN!ÄIÆHÁIÆP&ÊZ0ÃQ,ÀP,ÄV2ÄY4ÅV.ÀN%ÃLÅL ÄKÄKÆLÈMÃJÂF¿CÂDÃEÄGÁFÁFÃDÁDÂEÁDÃEÂDÀBÃCÁC¿CÀDÁEÃE¾A»CÃM¼T1ÌgNÕyfÎq٘䩧䭪鶬Á]@Ç`EËcLÍeNÍfMÎgLÌhLÍhOÈoZÏu]Ñt[ÍpVÍqXÊt^Ö„rÞ€ÕŠtÑzfÇq[Ó}eÕu^Ïr]Ìv`Ðn\Ïp\ÐnØŠyÊtbËuaÍvbÑsÝž–毪öľùÌÈõÊÇïÄÁñ¾ñÁ½óÁ»ñÁ»ðÀºðÀºï¿¹ï¿¹ñÁ»î¾ºì¼¸óÄÀúËÇüÍÉùÌÈöÉÅøËÇ÷ÊÆ÷ÊÆùÌÉûÎËúÐËûÑÌûÑÌûÑÌûÑÌúÐËôÊÅìÅ¼í¿·ñ»´ð¸³ç³­Ý –Ù‚Ô‹}Ù•ˆá£™ã¤œÞ ˜Ø¡˜Ü¥˜á¤–Üœ›åš’Ú˜†Î~܆ދƒÊscÌdMÓkNÏgJÏeFÍ^>Î_?ÏbBÐcCÏ`@Íc>Íb@ÌeDÌeEÒbDÒcCËa<É^8Ê\8À]7É_:Ñ^=¾]<ÏaIËjVÌn[Ìv`Ðr[ÑmUÊiMÅdCÉa>Ì^:Å]8ÈYCß”‹úÓÑÿßßýÙÙýßÞüÝÜüÓÑí·¼Û}ÌiIÅV<ÄR;ÄR.¿S)¿W2ÇV;Ç\:¸]0ÌY8ÑgVÉtTÀK¿GÊL#ÈJ!ÀKÀNÃHËS)ÅU+ÄO(ÇQ(ÅS+Ç[9ÏhHÏhMÒmTÑpVÈiOÐa9ÁO&ÅN!ÂJÃHÄJÅIÈKÄKÄHÀDÃEÃEÁDÁFÁFÂCÁDÂEÁFÂFÂDÂCÅDÂDÂDÃEÄFÇFÇHÁIÅQ"ÅU1ÉeIÓƒlÑ’}؎࢚ܡ˜Ü¨—Ê^?È^?ÊdGÌiMËjPÅgPÈkVÍq^Ìv^ÑzfÏ{iÐ}hÎqXÎhQÎp]Ö‹{Ú’†ÖŠ~Í~qÓ‚s؈wÓmÌp]Ïm[ÒjÏzdÕ}eÎnWÓnXÒoYÎu`Ü‹ví¥žô¿µõÌÃùËÄò½ºñÁ½ôÅÁðÀºñÁ»ôÆ¿óžóžóÿò¾ðÁ½íÀ¼öÆÂûÎË÷ÑÍøÒÎúÐËûÎÊ÷ÌÉóÌÊöÍÊøÏÌúÑÎûÐÍýÐÍÿÒÏýÒÏúÑÏ÷ÐÈöÈÁð¿·ð½³ð¿µê¸¬á£›ã–ß¡™â¥›ã¥›àŸ–ۘܙݜ”ᣛ᠘ޠ–Ø—‰Ò…uÕ|hÐmWÉdKÊhJÐjMÎjNÌhLÉeIÊcHÊdGÍeHÍeHËgJÊhJÍmOÍpQÍmOÐlOÓkNÏdHËgDÌdAÌ`>Î]<Î]=É\<Æ]<ÇcAËfMÐnVÓvaÔziÖ|kÒvcÔt]ÍiQÆbJä ýÖÍÿÛÖþÐÌýÑÍÿÚ×üÓÔõ¸ޙˆÊrZÍnTÏsZÌrZËnUÏkOËgDÊcBÊa@È`=Éa>ÅZ4ÊY1ÌV-ËS0ÂI"ÆN$ÆN$ÃJ#ÆL(ÉP(ÂJÇGÄNÉX0ËqS΂pÑ‚wуsÔydÈkDÃQ)ÌM&¼J!¿Q'ÈO(ÃH"¿O%ÈO'ÂJÀGÃFÃCÄCÃEÀEÆD¿GÂMÄIÁE»EÀJÄGËH½DÃGÆK'ÇW3ÆU4ÃO,ÀR.È`CËv\Ljtј‰Ý’Þ˜‹Ú—ˆÔ˜ˆÊ^?ÊbEÍhOÌoVÕzeÖ~mÛ„tÙ„tÕ†q؆uÒrЀoÑzfÓvaÎwgÛ“‡Ü—Ü•‹ÙƒÛ’„Ö‹}Ó†vÚ…uÐxhÐ{kÈvdÐ~lÙ†qÑxdÍq^Ðxg׃qÙŽ†æ«¡á³¨éµ®æ®©ð¼¶óýõýõÅÁ÷ÈÄõÈÄøÉÅûËÇüÌÈûÌÈôÇÃôÌÇúÔÐþÜÙýÜÙýÝØûØÔúÔÐûÒÐúÑÎùÓÏûÕÑüÓÐúÑÎüÓÐþ×ÕûØÕüÓÐ÷ÊÆõÅÁõÅ¿òļ綬ޣšà”à›‘×“†×“†Ý—Š×…×’ˆÚ™à¥œä© ä©ŸÚœ‘Ò~Ò‚qÒwbÍlRÊgKËiKÊhJÏmOÎjMÎhKÎfIÍfFÍcDÐeIÐeIÐgLÎiPÍlRÎqXÏu\Ñw_ÒvcÎs^ÌoXÉjPÈfHÍcDÎb@Ñ`?Èc<Æ_8È`;Ëc@ÎjHÒoSÕx_Ôzb×xdØôÄ¼î¶«å©æ®£é´ªâœÎx`ÂV4ÆL$ËP*ÈT1ÉX7ÆX6Ê\:ÏbBÒhIÒjMÑhMÐfNÍaIÎ`FÌgAÄ_8Æ`6È^5ÃT,ÂP(ÈT+ÇT'ÁJ¼LÅS/ÐmQÖkÕo΂oÒlÑt]ÊcHË`?Â]7É_:ÌX5ÌT1ÊZ6È[5ÄT*ÃO ÁJÀFÂEÃFÂFÃJ"ÂQ&ÅP#ÅHÁA¾GÃN!ÆP!ÂK¾H¿HÂL"Í`:ÐiHÌiMÅjOÌp]ÛŒyÚ”ƒÚ’ߎÔr΃uØ™‹Ê^?ÎgLÖv_Ö~mÜ‹|ÙŽ€Ú„Ú„ÕÖŒ€Ô‡~Ó‰}Ò‡wÕ‡wÖŠ~Þ™Úœ’Ü›’Þœ‘àž“Ý™Œß™Œ×׈}á„ÙŽ€Õ~Ú”ƒÖˆwÒ}mÒzlÑykË|sÙ™Žß§œæ­¤ä¨¢ë³®ñ½·ô¼õÆÂ÷ÊÆöÌÇ÷ÊÆúËÇüÍÉûÎÊøËÇóÓÍúÛØÿååýèçûçæûåàüÛØÿÙ×ý×ÓüÖÒü×Óý×ÓøÒÎúÔÐýÚ×ûÜÙþØÖúÎÍùËÊùÌÉøËÇð¿·Ùž”Ö”‰Ü‘ÊoÏ„t׉|Ôˆ|Þ—à¢˜æ¯¦í¸®é²©Ü¡˜Ù˜äÚ‹xÉmTÌiMÊiMÍlRÐoUÐoUÏnTÌkOÌkOÊgKÈgFÆcCÊcCÍaBÌ`AË`DÊdGÍiLÊoZÐwbÕ€jÓ€jÒiÓ}gÐu`ÉlWÓfJÊ`AÇ^=Æ^;ÂZ5ÀU3ÄW7ÆY9È[5ÈfH݉w圎ØÔ†uÒƒpÑ…rÐwcÆfNÂX9ÇS4ËS5ÍT4ÌT0ÆP'ÆM%¾L#½N&¾M%ÄM&ÅK#ÇN$ÅM#ÄR-ÇY5É^9Ì^:ÈW/ÂP'ÉX0É\6ÅS.Ä\9ÑhMÒt]Ô{fÓ|h͆rЈwÔuÐzhÍv\ÆiJÇ^=Ì[;ÉX7ÈZ8Ça>É]4ÆS(ÅP#ÈR(ÀL#ÁIÊN%ÅR-ÅT,ÇQ(ÉI ÄAÂFÄN$ÉV+ÁP%ÁLÂLÂO"ÅV.ÊhJÑ~iÚŒ|Ј|ÖƒÚ”ƒÌ|kÌraÍueÛ’„Þ¡—Ë`DÌhOÍq^Õ„uÞ–ŒÛ˜Ü›’ݒؚۘܗŽÝ˜ÙšŒÜ䢗䠙ܟ•ᤚ⤚䦜䤙ߒٔŠ×†ã›‘äŸ•ÜØ—ˆÔÝŽÕƒwÑsÕ†{ד†æ¨í°¦ç©¡é¯©ç³­ï¿¹÷ÊÇùÎËøÏÌöÍÊøËÈùÉÇûÎÊüÒÍûÞ×þçåÿñòüïñüîïþéçýßÜÿÙ×þÙÕýØÔûÖÒúÔÐúÑÎúÑÎý×ÕÿÞÛÿÜÚúÓÑúÐÑüÐÏÿÑÍô¾·Û›ÔÚŒ|ÍoуsÎr׋桘벩ᄊó¸鳬ߥŸä¦žå¥šÔŠxÍu]×rYÑlVÐmWÎnWÐr[Ñt]Ñw_Ðv]Ðv]ÑtZÎoUÎkOÌfIÉbBÌbCÈa@Ç`?Ë`>ËbAÌeEÌjLÍpVÔzbÙƒmÖƒnÔlÑzfÐr_Òn\ÏfQÏaGÏ_AÏ^=ÅV.ÄR.ÃS5Ä`DÁ_AÀX;É^BÌhLÑpVÔy^Ï{_Êu[ÊnUËhLÃZ9ÁV0ÈW6É_:ÌgAÇ^7ÃO&ÊO#ÁGÀJÅGÉO+Ï[:ÊW6ÊU0ÄQ,ÅW5Ê_CËaIÎqZ×}lÐnÎ}hÒ~lшz׎†Ú„ב€Ø‰tÕw`ÍfMÎhKÍfEÅ[6Å\5ÇX0ÇQ(ÊT+ÈW/ÄW1ÈX4ÍY6ÉZ2ÃT,ÅT,ÈQ*ÇM%ÈQ*ÊX3ÃU1ÆW1ÍT-ÆR)ÊY1ÅT3ÄcIÑp㓈ښڞ’Õ˜ŠÑŒ{É{j׌|誟ⱧÎmSÉlUÏ}lÝ“‡à”ß ˜ß¢˜ä§â§ã¥â£›ã¤œÞ£™à¨åª â£›Ü ”घ⦚㥛⤚ߞ•×–Ûš‘࢘ä§ã§›Ù™ŽÓ‹ÚނܑƒÛ”†Ù‘…Ø”‡ß¡–櫡笣鯩鵯ïÁºùÎËüÓÐùÓÏøÏÌøÍÊõÈÅöÉÆúÍÊùÙÔþìêÿ÷÷þ÷øþíîÿääÿáÞüÝÚýÚÖú×ÓúÕÑ÷ÎËõÈÅøËÈûÐÏÿÙ×þÛ×÷ÔÐøÑÏúÏÌþÍÇ笢̆yÓ†v׌~Ü‘ƒß“‡Ü‘ˆÙ‘‰ç§¢î·²óÄÀöǿ⨢ᣛߒчuÍt_ÕoXÑoWÏmUÎlTÉiQÊjRÍmUÑrXÕv\Ì|eÑjÕ‚lÕiÔydÑp\ÑjWÎeRÒfGÑeFÍaBÌ_?É\<ÆZ8È\:Ë_=ÉaDÎjNÏrYÏycÖƒnÛˆsØmÓzeÄoYÃ_GÄW;ÂW2ÅV.ÌW0ÇR-ÂQ0ÆQ2ÊY8Ê`;Ç]8ÅW5ÊV7Ï[<ËZ:ÆW7Èa@ÊhFÍgDÇY7ÃO,ÀN)ÀS-ÈV'ÆW/È\:Ç\;Ê^<ÒgFÒiNÍhRËnYÑmÚ‡xÓ…tÊydÉq`Ô‰{ÙˆÕ”…×™‡Ú“…Ù…yׂsÍ|gËqSÉ`?ÃQ(ÅO&ÈO'ÇP)ÀQ+Å]:ÑjJÉ^BÃW-ÀV-¿X1Ä_8Å\5ÄY3È_>Â_?Ç]>ÈV8Ç[<ÍgJÍfMÍp[Ï‚oÛŠ{ÒŒ{ÜܧšÜ¦›Ø“â§ïº°ê¼´×„oÓƒrÕŒ~à›‘å§â¤œß¡™ã¦œê®¨é²©è±¨ê±¨è±¨ä±§ç²¨æ¨ â¥›ä©ŸÞ£™Ùœ’à¢˜æ¥œâ¤šà£™áª¡ç°§ì´©æ¨žà›’Þ—ã¡–å§œÚšÚ˜Üœ‘â§ç°§é²«ñ½·öÉÅýÑÐþ×ÕþÙÕúÔÐùÎË÷ÇÅ÷ÇÅúËÇ÷ÒÎûæäÿõõýðñþããÿÛÛüÙÖ÷ÚÖþÚÖûÖÒøÒÎúÍÊøÇÅ÷ÆÄûËÉþÔÓüÙÕùÖÒøÒÎöÉÅò¼µ×™ÒŠ~ÞƒÙ”ŠÞ™ß’㢙࡙嫦븵ôÇÄöÆÀ檤ۚ‘ÖŽ‚Ì|kÉmZÌlUÊpRÇkNËmPÉhLËgKÍfKÏdIÐcGÎcHÏhMÐqWÐx`ÔiÙ…s݈xÚ…u×oÑ{iÎxdÆpXÅiPÆbIÈ]BÉ[?Ç\:ÄY4ÆX4ÃU1Ä[:ËmPÒ~eЄnØ„kÙgÕw`ÍmUÇfJÉbBÈ\:ÆX4ÁR*½Q(¿Q-Ë];Ë];ÉZ:Ê_>Ç`?Í\<È[;ÆZ8ÈX4ÄO(ÇM%ÇN$ÃK!¿P"¾P&½O+ÂY8Ä_?ÌkOËmVÑt_Ïzd΂kØ‚nÑ{gÐwcÓwfà˜‡Û—ŠÚ™‹Õ—ŒÔ“ŠÖ‰×’‰Ò~ÍwcÍcKÆR)ÇR+ÇT/ÇU1¿Q-ËbAÉeIÁ_GÊY1ÄV2Ç^=ÊfDÈ^9ËZ9ÇY=ÑjQÈmRÇgOÏr[ÏvaÎveÔ‚pÖŒzЈvË{jÚ–‰è±¨ã³­Þ®¨çµ¯òÀºóý⠕ܜ‘Þ –ᣛड़ᣛڜ”࢚鬨뷱뼴ð¼¶ò»¶ë¹³è·¯å¬£â© ä­¤ßª Ü¥œá¦ç©¡ë°§è±¨ê¶¯ëº²í¼´í¶¯ê¬¦æ§Ÿê¬¤æ­¤Ý¢˜Û“࢘⩠㬣뱫÷ýùÏÊüÐÏýÖÔÿÛ×ý×ÓùÎË÷ÇÅ÷ÇÃøÈÄøÓÏûÞÚûäâøÜÛüÖÔþÓÐþÕÒüÙÖÿ×ÔûÓÎ÷ÍÈúËÇüÌÈýÌÊüÏÌüÓÐü×ÓúÖÐ÷ÏÊôľ⫤טà”Ù”ŠÝ –ߤšß§œä«¢á¨Ÿç¯ªôÁ¾úÊÆóž뺲箥ޙڌ|Ö~mØ|iÔydÒ|dÑ{cÒzbÒx`ÏqZÎnWÎlTÊfNËdCÆb@ÅbBÄbDÁ^BÃbHÉhNÏmUÊu_Î{eÕ‚lÓ‚mÕ‚mÖ€nØ€oÛpÖeÐuZÏnMË`>ÂR.½I&ÄM-ÌT6Éa>Ãa?ÄcGÉiQÐr[Óv]ÏlPÊcBËb;ÎcAÉ^CÎdMÊ`HÌcHÏeFÎeDÊcJÈaHÊbEË_@ÄV4ÊZ6Î[6ËV1ÊW2ÇR-ÅP+Ì]=ÎjMÌoUÎqXÓs[Õ„oЄmÇr\Çt_Ñ~oàŽƒàŸ‘Úßœ“Ù—ŒÒŽÓŠ|׉|؈wÓxcËgOÆ[9Æ]<ÉdDÇ^=¼Q/ÑfEÑmQÊlUÊcCÊaFÏgPÍiMÂV7ÆR3Ì^BÕs[Î}hÒƒnÔlÍygÈziÏ„vÕØ™‹ÖƒÞ¡—ïÀ¼î¿»ò¾öÇÃöÉÆâª¥æ¯¨æ¯¨å«¥á§¡á¥ŸÙ›•ߟšê­«ì¼¸íÁºñÁ½ó¾»ì¼¸ç·±é³¬ê´­îº³ëº²è´­ç­§í³­ó¼µð¼µõ¾¹óÁ»ðÂ»ì¼¶ë·±ë±¬ç¯ªí¶±æ¯¦ã¤œå¦žá¨Ÿáª£å«¦ô½ºõÈÄôÈÇõÎÌùÓÏúÔÐúÏÌ÷ÈÄ÷ÇÃùÉÅùÔÐýÚ×ùÖÓõÏÍûÑÌüÏËþÔÑüÕÓûÑÌöÌÇñÄÀøÉÅûÌÈúÍÉúÑÎ÷ÔÐüÕÓýÔÑ÷ÍÈ豪ðµ¬é«£â¤œê±¨í¶­êµ«é´ªæ±§ó½¶÷ýøÆÀòÿ껳ܦ›Î‰zÎyiÐtcÐwcÏyeÓ~oׂsÚ‡xÝŠ{ÛŠ{ÛŠ{Ù‰xÓƒr×}eÑu\ÎmSÐiNÐeIÎdEÊa@Æ]<È]8ÈZ8ÊY9Ë[=Ê]AÉeIÍpVÐy^Î{lÓ~n×}lØwcÑlSÊ`AÆ\7ÃY0ÌZCÊ^?ÇZ4ÍW.ÇP)ÂV4ÊeEÎgLÆcGÈaFÎcHËcFÉdDÈcCÌdGÍaIÈdBËdCÍcDÌgGÉgIÈgKËgNÉcLÆ_?ÆZ8ÊX4ÑeCÍiMÂbJÅ`GÍbFÓ}qØŠyÔ…rÕŽ€Ø”âšÕ˜Ú¡˜âŸ–Ø“„È|fÁjPÊiOÎiPÆeIÃhIÈeIÊmSÑx]ÐoSÂX9Í_AÎgLËnUÐ~eËt`ÐveÒx`ÆdFÉ`?ÍmOÈw\ЂqшtÑ}kÔ|kÕ‡vÛ‘…䜔⦠ߩ¢ä²¬ð»ôÈÁöÈÁùËÄøÍÊöÏÍ㩣毨豪㫦諧娤䧣⨢峭òÀºñÁ½ï¾¼ï¿»î¾ºî¾¸ê»³ê¼µò¼ò¼캴泰ñ¼¹ò½ºó¾»ò¾ò¾ñÁ½ðÀ¼í½·è¶°å±ªò¼µô¿¼ê¶°ã­¦áª¡æª¤æ©¥äª¤è±¨ì¸±óÁ»ùÉÅùÌÈúÍÊøËÈóÆÃ÷ÇÅóÍÉùÑÌøÎÉøËÇýÍÌþÎÍûÎËúÍÉûËÇõÅÁöÃÀûÈÅùÉÅûËÉüÏÌþÓÐýØÔûÓÐôÄÀ㫦樢ﱩ촩긬ú½¹ûÂÀõÂÀõÄÂôľò¾·ìµ®ð¶±òºµí¯§Ü’†ËweÉlUÌkQÎkOÏlPÊhPÌjRÌnWÏr]ÌuaÎzhÏnÓ…tÕŠzØŽ|׎zÙzÙ‰xׂrØ€pÓyhÊrZÈlSÉhNÌfIÎbCË[=Í\<ÊY9ËY5ÈZ6ÅZ8È_>Ë`DÌcHÐlTÈkRÈgFÇ_<ÈX.ÅN!ÀHÂP+ÆZ;ÏjQËhLÉeIËeHÌbCÅZ9ÈZ8ÈW6ÌY8É[7ÉX7Ì[:È`=Ä`CÉdNÌgNÇc@ÊY>Î]=Ç[9ÊfCÊeEÄW;È[?À]=ÉmPÏx^ÐjÚ‘ƒÕ“ˆÖ˜ŽÙ›‘ٜ࢘’Ï€eÅ_5¿N#ÄM&ÆQ,É[9ÐgLÍygÒˆvÔŒ{Ò{kÐlZÒlVÉgOÉiQÑ€kÒŠxÍ‚rÊn[ÍhOÌiIÍjNÏiRÏnÍ€pË‚tω|Ԇۘ⤚譣㵪뾳ðżóÇÀôÇÃ÷ÊÇöÍÊ÷ÑÍ㪡੢᪣⫤ঠ䨢㩣᪣䮧ð¹´ó¾»ñ¾»ï¿»î¾ºï¿¹ñ¿¹îÀ¹ôľ÷ÇÁôÄÀñ¾»óÀ½ðÀ¼ò¾õÆÂõÆÂóÄÀôÄÀõÅÁøÆÀôÀºí¹²å°¦â© é«£ä¦ ß¡™Ü¡—Ý –⧞︱øÆÀþÎÊüÍÉùÊÆ÷ÈÄõÈÅùÊÆøÊÃøÉÅ÷ÇÅøÈÆùÊÆ÷ÉÂøÈÄôľñÁ»ò¾ôÄÀùÊÆùÌÉúÍÊþÏÍùÊÆç±ªÕš×–Ô‰æ¢êª¦ê¹±ôÆ¿ôÊÅ÷ËÄóÀ¶Þ£™Øšá —Þ¢–Ø”‡ÑƒsÅnZÎmYÐkUÑkUÐjTÏkNÍhHÊeEÌeEÎcGÎaEÏbFÏbFÏaGÏdIÎgLÍlRÍqXÍu]Ð|cÑfØ‚pÜ…uÚ…uÔoÔ~lÖ}hÎuZÆlNÉeHÅ\;ÆV2Í^8Ê]7Å]:Æ^AÈ^FÇXBÅU>ÌY>ËW8ÍZ9ÇT3ÂT2È\:ÌaEÆ[?È]AÍeHÈ`CÇaDÇaDÅ_BÇdHÈaHË_@ÅZ5¾S1Æ]BÔoVÊmNÅ^>Ã_=È`=Ç[9Ñ`@Ï]?ÑbBÍ^>ÀY>ÐnVÒye׆w׌ƒÝ˜æ£šã —Ý‹ËjP¿M(¾G ÃN)ÅS/Ç\;ÉfJÍweÔˆvÙ‘€ÔˆvÑmÖƒmÈrZÉkTÏs`Óo؆uÍnZÄ[@ÆaAÁcFÃfMЃs׎€Ù“†Ý›Þ”ܕݢ™æ­¤é¸°ì½µòĽòÅÁõÆÂ÷ÊÇùÎËøÒÎ㨟᨟ߦ⨢ᥟ⦠䪤ܥžá£ã©£ë´¯î»¸ì¼¸ì¼¸íº·ï¼¹î¾¸ò¾öÆÂûËÇ÷ÇÃøÈÆøÈÆøËÈùÌÉùÌÉøËÈöÉÆ÷ÇÅúÊÆð»¸å°­í¹²í¸®è²§ç¯¤é«£à¡™Þ –ÝŸ”ß—ÓŽ„ÞŸ—ò»´üÊÄüÎÇøÌÅøÌÅùÆÄüÍÉýÏËøËÇòÅÂôÇÄøÊÃóŽñÂºî¿·í»µí»µóÁ»øÈÂ÷ÇÃðÀ¼ï¸³æ«¡ÕŽ€ÖƒnÖ{fÃjVÔpèšâ¨£ð½ºõÆÂôÀºê©¡Ü†ÙŠØŒ€Õ“ÑŒyÕ‰vÓoÛ„pÙp×€pÖoÔ~jÐzdÎt\ÌnWÍiQÍfMÎdLÏcKÉaDÅ[<Ç\;Ê[;ÈW7ÈT5ÊX4ÈU0É[7É^<Ç`@ÊfMÊmTÓxcØj×kÑ}dÎrYÇdHÊbEÑjJÓiJÎ`DÔcIÏmUÍmVÎo[ÓvaÑqZÏkOËaBÇ[9È^?Æ[?ËcFÍiMÑmTÑpVÑqYÏoWËoVÏr]ÏmUÅ^=ÀT2ÄW;ÑmTÇlQÇ\@ÆcCÉbAÅT4ÊX:Æ\=Èa@Ê^<ËdIÖt\Û‚mÔƒtÔŒ€ß’⢗ӕŠÔ‚qÑpTÌ^:ÈV2ÇV6ÈW6É\<ÊaFÊiUÒyeÒ}mÏzjÐ~lÐlÌuaÕsaÕwdÉucÔƒnÏrYÆ^AÓlLÒsYÎv^·yàœå¥šâ¤šâ¤œå©£áª£æ²«ìº´êº´óÄÀòÅÁõÅÃ÷ÊÇøÍÊøÒÎßž•ÝŸ•ÝŸ—Þ ˜à¢šä¦žß¤›Ö”Ø—ß¡›ç¯ªð¼¶í½¹ë»·ë¸µî»¸í½¹ðÀ¼õÅÁøÉÅ÷ÇÅúÍÊúÏÌûÐÍûÒÏûÒÏûÒÐúÑÏûÐÍþÏÍï¾¼ì¼¸î¾¸å´¬êµ«ë´«è®¨å©£à¡™àŸ–âšŽÓŽ„࢘ô½¶õýúËÇûÎÊùÏÊùÉÈüÏÌþÖÑøÒÎõÏËûÐÍþÑÍõſﻴ궯购öÀ¹ñ»´è±ªÚ š×›•Ó‘†Î€pÐtaÑoWÉeMÆiPÚ‚jÚ’Šçª è³©â¦šÏ„vÑ}kÐjÉ~hÏnÐ~mÒ~lÐ|jÓoÕ…tÔ‡wÕŠ|׋ÙÛ€ÚŒ|ØŠzÓ…tÒ‚qÎ~mÌ{fÊwaËu]Ïu]Ðr[ÍmUÍlPÇhGÊeLËcFÊ^<ÈV1ÅP)ÅP)ÉW3ÊY8ÅT:ÎbJÏlVÈgSÌiUÈdKÃ_BÂa?ÏjJÕrVÒu\Ëp[Îr_Îo[ÎkUÒjSÍlPÊlOÌmSÍmUÎnVÐmWÑnXÕpZÍpQÏvaÚ€oÒoYËbGÇ`GÒrZÏtYÌgNÉhNÖu[ÔpWÊhPÂbJÊlOËgJÉhLÅhOÍwaÌ~mÔÝ™ŒÝžÊ‹}ËoÒ}cÅeGÆbEÌdGÍ`@É];ËaBÈnUÎycÌxfËtdÖ€nÉxcÉxcÕkÖ€nÐlÐlÊsYÉdKÍfMÐr[Ò|jÖ–‹å§œã¨žÝ¤›á¨Ÿè±ªë·±ð¾¸ï¿»òÿöÉÅöÌÇ÷ÌÉùÎËúÒÍûÕÐÒ„Ù–Ûš‘ßž–Þ•Þ•Ûœ”Øš’٘ݟ—å®§ï»µí½·í½¹í½¹ñ¾»ë»·í½¹óÿôÅÁòÅÂùÌÉûÏÎüÓÑûÕÓüÖÔüÖÔüÕÓüÕÓýÔÒúÏÌüÏÌõÈÄé»´å³­ç³­ò½ºíµ°æª¤àŸ—Þž“Ù›‘详ñ½·òÿ÷ÌÉþÓÐüÓÐúÒÓûÕÓýÚÖùØÕüÙÖÿÙ×ÿÕÒï¿»êµ«í¸®ëµ®ë´­ô»²ð±©áž•ÓŽ…׊֋‚؄҈|Ó„wÑ|lÌvdÊs_Ï{iÔŠxä Ù|ÃjUÍkSÑtZÑ}aÓq_Ñp\ÑnZÍjTÌlUÌmYÍp[Ír]Ït_Ït_Íu]ÑyaÒ|dÔ€gÔ‚iÖƒmÕƒr؆uÛˆyàŒ€ÞŠ„ß‹…܈‚Öƒ{Õ…tÐ}hÏu\ËjNÆaAÃ[>É`EËdKÇU-ÂT0ÏhHÎjNÊ`HÎ`FÉ\<È\:ÆX:ÅY:Ä]BËjPÍpYÎs^ÎuaÎuaÎt\Ís[Ís[ÎqZÉkTÊjSËhRÍiQÏpOÍt_ÏwfÉiRÏhOÒr[ÑzfÐzfÍxbÎxbׄoß“€Õ‹yÌwgÎo\ÇdNÇfLÈjSÏvbÈveÔ…xÞ’†Ý“‡Òˆ|Ð…wÖƒnÂjRÂhPËkSÉdDÃ[8Æ_>ÆiOÏ}dÊ~hÐ|jÖziÈmXÇnYÈoZËweÑ‚mÒƒnÄq[ÅjUËmZÊueцxړ䩟ߧœØ¡˜Þ§ é²«ì¸²í½·î¿»ôÇÃ÷ÏÊøÒÎùÐÍúÑÎûÕÑúÖÐÑŒƒ×”‹×–Ù˜Û—Û—Ú™Úœ’Ùš’Û•Þ¥œè±ªè´®è´®ë¸µë¸µìº´î¼¶í½¹ðÀ¼õÅÃ÷ÊÇúÎÍÿÓÒüÖÒüÖÔüÖÔüÖÔýÖÔüÕÓþÕÒþÓÐûÒÏûÎËùÉÅüËÉÿÏÍøÅÃò¸³ã¤œß¢˜ç¬£ç±ªé¹µôÇÄüÐÏÿ×ÕÿÖÔûÕÓûÖÒþÛ×ýÚÖÿÚÚÿרüÎÍê¹·í¶¯ëµ®è±ªæ­¤ß¡™à›‘ÔŠ~Ò„w×}eÓ|hÓpÐtÖ„xÚˆ|Þ~Þ~Û†vÔ†vÛ‚Ó‚sÍn^ÏkYÏkYÏq^ÐsZÐsZÐpXÎmSÍjNÐiNÐiNÓjOÏgJÏeFÍcDÌbCÉ^BÌaEÈ`CÆ]BË]9È^9Æ`=ÇfDÄgHÈmNÊpNÐwRÑ|mÚ‡xßÛ‰}Õ€pØmÚ}fÌmSÇY5ÆU4ÊW6Ê[;Ç_BËgNÈfNÒmWÒpXÍkSËjPÍlRÐoUÎmSÈhPÉiRÏp\Ñr^ÓubÑvaÎs^Ïr[ÍpWËnTÍpWÉs]ÇmUÆ`CÉaDÐtaË|oÓ„yÓ|hÐveÓ‚sÛœŽÞ£™Ú“‰Ø†zÊueÌt\Ó}g؆tÛ}׌~ÖŽ‚Ù‘‡Ü”ŠÛ”ŠÛŽ~ÕƒqÐyiÑt_È`CÆY9ÅX<ÏjTÒjÓ‹yØŠyÓyhÎmYÍhR¼V@ÈmXÊoZÏvaÍ|gØŠyà“ƒÝ•‰Úœ‘â§åª âªŸÜ£šÝ¢™ã©£æ°©è¶°ê»·ðÿ÷ÏÊøÒÎùÓÏûÕÑøÓÏøÔÎÖ“Š×–Ø—ŽØ—ŽÚ–Ú–Ù˜Û“Ù›“Ù›“ەड़童欦宩宩絯キñÀ¾÷ÇÅûÍÌüÐÏúÑÎûÒÏûÒÏøÑÏùÒÐüÓÑüÑÎûÐÍ÷ÎËüÏÌûËÇùÈÆúÊÈ÷ÇÃܕۜ”èª¢ó»¶øÅÂúÍÊþÓÐýÔÒûÒÐüÏËøÎÇþÔÍþÖÑýÓÐøÌËóÆÃ麶ðº³éµ®éµ®é²©Ú“Ҍ҃vÐ{lÒy^Ïu\ÖzaÑqZÐo[Îo[Ít`ÐzfÏpÔ‰yÖŒ€Û€ááŽÜ‹|ÖˆxÒƒnÑ‚mÓƒlÐ}gÏycÐv^Ïr[Ðr[ÎpYÎnVÍkSÏkSÌfOÌfOÓkTÓkTÊmXÊpXÌrZÏsZÈhPÌeJÄW7ÃQ-ÃQ,ÃW5ÊcHÐq]×{jÕyfÍnZÅeNÇfEÊeEÓiJÖnQÏkRÍnZÍn^ÑqdÎwcÒyeÐr_Ñp\ÓmWÔjSÑeMÑcKÌlUÐr[Òu`ÔydÐu`Ír]ÌoXËoVÌmYÊq\ÊoTÇ`@ÈdHÒ|jÓ…xÓ‚sÉiRÃfQÑ|lÚ”‡Þ£™à¥›ÛšŒÓ‹zׄnÎjÓ‡uÒ‹}ÒŽÕ•ŠÜž“ÝŸ•Û™Ž×‘€ÕŠzЂuÓ}kÆdLÉbIÏiSÕoÑ‹zÕ˜ŠÙ–‡ÔŠxÏ~iÍu]ÈhPÆiOÃ_GÅbLÕoÙ“‚ÒŽØ–‹Úœ‘ÜŸ•ؓܡ—ÜŸ•Ûž”Þ ˜æ¬¦æ°©åµ¯óžöÌÇ÷ÏÊûÒÏûÒÏúÑÎ÷ÑÍ٘י֙ԕԓ‹Õ”ŒÕ—Ùœ’Úœ”Ùš’Ùš’Ýœ”ß ˜à¢œã©£æ®©ê¶°î¼¶î¼¶ï¼¹ëº¸òÂÀ÷ÉÈøÊÉùÌÉúÍÊøÍÊöËÈøÌËøÍÊôÉÆõÈÅóÈÅöÇÃöÃÀñÁ½ðÃÀ䭦ܞ”ßš‘Ú™‘믩÷À»ùÉÅøËÈøÍÊóÊÇñ½¶Þ­¥í¼´ôľöÇÃùÉÇøÉÅñüð¾¸ð¾¸í¼´ëµ®ä§ÔŽÖ…v×€pÒynÎwgÐyeÌpWÐoUÑlSÎhQÏjTÎkOÏmUËlXÍp[ÐwbÔ~fÖƒmÙˆsÖ‡|ÙŠބ܄܄܂ى~؈}ÖˆxÒ„tÓƒrÒ€nÎ{fÎxdÒ}gÔiÖ}rÖ‚vØŠzÖˆ{Õ†y܇wÙ}jÉkTÎbCÈ^?ÁW8¾S2ÀT2ÊZ6ÇT/ÂM&ËS/ÇV5¿X8ÄaEÈhPÍpYÐzdÓƒlÓƒlÓ‚mÐ~mÐ~mÎyiÍwcÊt\ÈqWÊnUËoVËqYÏt_ÑubÓvaÓr^ÏlVÒlYÏt_Ñu\ÊfMÌmY؇xЀoÒx_ÊnQÆqWÐjÕ‡zâ”Ü¡—×–ˆÐ‚qËr^ËucÒrÔ‰{Ø‘‡Ýš‘Û“Ù›‘؄ӈxÍ…tÑŠ|ÕŠzÍ}fÐ}gÕ…tÔ‹}Ñ€Ø“ŠØ„Ó…xÎnÎzaÉlSÂhIÉbGÐjSÏ|gÏŠ{ÑŒ‚Û“‰á™Õ—Õ˜ŽÙœ’Úœ’Ô–Œ×˜Ý¢™å«¥æ²«í½·ê¾·íþïÄÁôÉÆúÏÌøÏÌÓ–ˆÔ”‰Ø–‹Õ’‰ÓˆÔ“‹Ù–ܙۖؗŽÖ˜ŽØš’Þ ˜ã¥äª¤é²«êº´ñ¾»óÀ½ð»¸î»¹ð½»ð¿½ôÃÁ÷ÇÅ÷ÇÅöÇÃöÆÀóý켶뻷켸ò½ºð¹´ì¶¯ì¶¯ð¹´ë³®â¦ á¤šØ—‰Í‹€Ûš‘è©¡ç©£ð¸³öÁ¾ò¿¼ë§ Ö—謦õýûËÇûÌÈî¾¼êµ²ï¿¹í¿¸é´ªè¦›Ù‹~Ô‚qÔ…rÔˆ|Öˆ{׆wÖqÓ{jÑubÑt_Ðq]ÐmWÎkUÎkUÐkUÎjRÍiQÍiQÎjRÌmSÎnVÎqXÎpYÑt_ÑubÒxgÒzjÓmÓƒrÕ‡wÔ‡wÔ†vÔoÔxgÍn[ÎgGÇ`?ÇcAÉcFÌgNÏmUÒu^Íx^Óq_ÖuaÓpZÎjQÊfJÌeJÍeHÅZ>¿W2È];Ê^?É^CÈ^GÇcKÊlUËqYÉoWÏu]ÑyaÔ{fÕ~jÕ}lÕ~nÒzlÕ{jÓwdÒu`Ñt_ÐtaÎr_Ïr]Ðr[ÈpXÍs[Òu`ÎuaÍ{iÕ‰wσq΂pÒzlÊtbÈvdЂqÝ‘…܆یÎ}nÍwcÑ‚oÕ~ד†Û™ŽÜ•‹ÕƒÔŠ~Ñ{eÍoXÏqZÔlÏ„tÑ‚w׈}Ó|׆wÎqÒ†t΀oÒ|jÎtcÌuaËuaÄiJÈlSÕxcÓ{c׋uÕ“Ò€×|Í}×–ˆÚ˜×—ŒÜ”ˆÜ‚Û”ŠÛ¤—᪣㭦߫¤à¯§ä²¬í½·öÉÅöÍÊ×’ˆÒ‹Ø…Ü‘‰×ކׇܔŒÙ”‹×’‰Õ’‰Ò”ŠÛ“ᢚߡ™Þ¢œä­¦ë¹³ñ¾»óÀ½î»¸ë¸¶ç´²ê·´íº·ó»ºê³°ç¯ªåª¡à¡™Ü™äŸ–æž–ß¡›ÞŸ—ᣙᣙ⤚⡙â”⛑Ø}Ð…wцxÞ”ˆÓŒ‚à”骢䦞ݓ‡Ñ‰}Ý–Œæ¥œë­¥æ¬¦ê²­ç°«ë±«í·°èµ«â§Ý–ŒÎrÌziÏ}kÑpÒ‚qÖ†uÚŠyÛ}یً~Ô…zÒƒpÌ}hÍzeÍwaËs[ËoVÍmUÊkQÐkRÎiPÍhOÌgNËfMÈdKÇcJÆeIËgKÌgNÌjRÍoXÔxeÖkÕkÌxfËkTÅcKÊfMÈdKËfMÇ]EÆX>ÈZ>ÀdAËqRÑ{cÓmÓ~nÕ~nÓ{jÍq^ÓoWÐnVÑs\Ðv^Ír]Íq^ÓtaÏm[ÎkWÊgSÊiUÈkVÈo[ÍwcÔƒnÐnÐnÐ}hÏzdÎxbÊs_Êq]Ìn[ÇhTÆeKËgOÏoXÑubÑnÖ‰yÕ‡zÔ„yÓ„wЄrІtщxΆzΆzÔ‹}Óˆx׈{ÕŠ|ÒŠ~ÕÚÒ‚qÎzhÏye¼fPÀbKÇjSÔlЃsÖ‡zÖ‡zÐ…uЃsÏ‚rËmÌziÏwfÊq]ÏvbÎxdÇ^=Â]DÎkUÈhPÏvaуsÒ„wË{jÑ}qÔŠ~Ó‘†ÒƒÕÕ‹Ò‹Þ™Û¢™Ý¦Ú§â®§å´¬ç·±òÿóÉÄÔŠ„ԉф{׊ڄ؆؈ٔ‹Ø“‰Ø•ŒÖ•ŒÜž”࡙ܕޠ˜á¨Ÿî·²ñ½·ð½ºíº·íº·ì¹¶ïº·ï¸µã±«Öœ–Ô‹ƒÏzpÉodÊqcÐ~m׉xÝ•‹ÙƒÛ€Öˆ{Ò„wÔ†yÛ‰}ׄuÒ|jÎxfÏxhÖqÉvgÏ~oÕ‡zÓˆzÔoÊxgÎ}nÕ‡zÙƒÚ•ŒÝœ“骢ꩠ娞â§Úœ‘Û“‡Ô…xÓ‚sЀoÑ|fÒ|hÎ{fÏ{iÏ}lÐpÓ…xڌْ„Ý”†Þ•‡à•…à’…ÝÚ‹~Ó…uÓmÏygÍt`ÌoZËkTÌhPÎgNÍfKÍfMÎdLÍcKÌbJÌfOÐpY×~iÚ‡rׇv×…sØ…pÙ‰rÕ…nÑ{eÑqYËaIÌW<ÅT:Ì^DÊcJÆbIÄbJÍmVÐpYÓwfÓyhÓmÔ…rÑ…s׉|܌ӂzÓ}kÍudÎtcÌn[ÉlWÎq\ÓvaÏt_Ëq`Ëo\Ðs^ÒtaÒscÕvfÔtdÔr`ÑoWÍjTÍnZÍt`Î|kÓ…uÓ…xÕ…zφxÓŠ|ÔŒ{Ôщ}Ј|Ö×~Ôˆ|Єx΂vуvÛ†vËr^ËnWÔx_ÎxbÏt_Ô{fÔ‚pÉ{kÔ‚vÔƒtË}lÅzjÔ‰yÔ‡wÔ‚qÖ~mÅlXËr^ÏycÏa?ÂZ=ÍiPÅ`GÊgQÓvgØqÏwfØ}n׉|͇zÒ†zÒƒvÒ‰{Ӏ؆؛‘Ú¡˜Ú¥›ä¯¥ç±ªæ²«î¼¶óž҉Ҋ€Î„xÌsцxÔŠ~Ò‹ÑŽ…Ô…Ö“ŠÖ•ŒÙ˜Ú™Ú™‘Üž–á¦é±¬ê³®éµ¯ê¸²ð¼¶ï¸³ì²¬å©£Õž‘Ï‹~ÔƒtÊk[ÈdRÈiVÉr^ÊydÎ}nÓ~nÏwfÌs_Èn]Çm\Ên]ÇkXËmZÌn[Ïq^ÑubÒveÎtcÎveÑ{iÑ{gÑ{gÏygÐ{lÏ€sÕ‹ޙݜ“Û™ŽÛ›×™Õ•ŠÞ—ß“‡ÜŽÓ†vÙ‚rÒ|jÌuaÎs^Ïr]Ðr[ÏqZÒt]ÒveÐveÒzjÒ}nÕƒwÙŠà“Šâ—ݘŽß™Œá—‹á“†Ý‹Ù†wÖ~pÎvhËs[ÉmTÊiOËeHÉaDÈ`CËeHÊfJÇgPÉeMÇcKÓu^ÏvaÔ{fÖv_ËeNÌ_JÌbJÏhMÉfFÅcAÉdDË`DÍ_EÅ\;ÃX7ÄW7Ìa@ÎjMÐt[ÓƒlÖŠw؉vÕoÕmÓyhÒveÐtaÑubÑxdÑubÑubÑvaÐwcÑ{iÒ€oÕƒrÖ‚pÌuaÈo[Ìp]Ër^És_Ë|iÓ‡uÕŠzÒ‡yÒ‡yÔˆ|ØŒ€Ó„yÏ€sÒ„tÓ†vÑ…s΂pÍoÓpÓ{kÊn]Ìp]ÒwbÒ}gÓ}iÒ~lÓƒrуsÕ‡wÑpÎ~mЃs׌|ÙŽ~Ò…uÌ|kÌvdÒwbÍoXÌ`>ÊhJÏrXÅdHÈcJÍlXÊmXÎrYÈr\Ì}hÌlÏygÏudÄr`Ó‹yÓŽÔ–Œ×œ’ᩞ宥宥ߨ¡Þ¨¡è´­ÛˆyÔƒtÔ„sЀoÕ‚sÓuÖ‡|ÖŽ„ÓŽ…Ú—ŽÚ™Ú™Ù˜Þ•㤜ã¥å©£â¨¢æ¯¨ë´­ð¶°ê¬¤ßž•Ò„Ð{kËucÊs_ÇlWÌq\ÑubÐtcÐufÏzjÎwcÌoZËmVËlXÌmYÏp\ÎpYÍp[ÌoZÎp]Ðr_Ïs`ÑubÓzfÔ{gÑ~iÓmÔoÕ‚sÔ†yÖŽ‚Û™ŽÛš‘Ö”‰Ô”‰Ö˜Ž×™Ù–Ü•‹Ü”ˆØŽ‚Öˆ{Ô…xÐ~mÐxgÒwbÒt]Õr\ÕqYÔmTÏjQÏkSËiQÈhQÈjSËnWÎt\ÍweÒ}mÖ„sÙˆyރߕ‰Þ–ŠÞ—Ü”ˆØ×ŠzÕ†sÔ~jÏvbÍo\ÈhXÏhMÍbFÌ^BÉ[AÄ]DÆaHÉbGÅZ>ÅZ8ÆaAÇfJÌoXÍt`ÑxdÑubÐu`ÐiIÆY9ËW6ÍT4ÅP1ÃV:ÇhNÎv^ÉxcÎ{fÒ|jÖo×oÔ}mÔ}mÎyiÏs`Ðu`ÒwbÍvbÊvdÌ|kÒƒpÑmÑz`ÉmTÌjRÍiQÐmWÒyeÓ…tÑ‹zÏqÕˆxÕ‰}؉~ÓƒxÐ~rÏqЃsχvÓ‹zÕ‰wÕ…tÐzhÈo[ÅlXÌs^ÊwbÐnÎqÕŠzÔ‰yЃsÍnÍ}lуsÓˆzÙ”…Ҁ˅tÒƒpÏt_Ã^H¼W7ÅhNÆmR¾aBÆbEÈdK½\BÁ`?ÆnPÈmRËoVÉmTÅeMÃaIÎs^׋uÒ’‡Úž’⪟䭤᪡৞؟–× —ÌdMÊgQÉlWÉmZËl]ÒtgÖ}s؆{Ö‘ˆÞ›’ßž•Üž”Ûš‘ßž–è©¡å§Ÿã¥à¢šâ¤œç©Ÿæ£šÚ“‰Î„xÉ}qÕvcÎlZÇfRÊkWÊmXÎraØ|oÙtÓoËt`ËmVÐnVÏlVÑp\Òt]Òt]Ír]Ên[Íq^Îr_Ít`Ìs_Ít`ÑwfÌzhÐ~lÕ…t׉yÕ‰}؆ٖ֕ŒÒƒÔ…Ö“ŠÕ”‹Ö“ŠÕ†ÖŽ„×ÒŠ~ÑŠ|ØØŠ}ÖˆxÔ‚vÔ€tÏ{oÍygËucÉr^ÌrZËnUÍlRÏlPÏkNÍjNÍjNËjPÉlSËnWÌs^ÏxdÔ~jÖ„xÛ}ß’‚Þ“ƒÞ“ƒÝ‚Ý‹€Ü‡}΂oÎnÓ‚mÓ|hÌp]ÇjUÊnUÃiKË`>È[;ÆT6ÈW=Í^HÎiSÊn[Î{fÐpÒ}mÑwfÌmZÈeQÌiUÒq]Ñr^Îv^ÏycÔ}iÔ~lÔ}mÖoÖoÒ{kÑxcËp[ÆiRÅhSÆjWÐtc×yfÏp]ÏhGÂY8ÃV6ÌZ<ÅV<ÌeR×nÎqÏ|gуrЇyч{Ô†yÓ…uЃsщxÔ…×’ˆÖނ։yÔ€nÐyeÇoWÌt\ÇucÓˆxÖƒÚ”‡Û“‡Ö‘‚Ø‘ƒÐ…wЂuÓ‹ژיŽÐ‘ƒÕ‹yÑxdÂ_IÄ`DÌnWÌoXÑpVÎkOÏkSÉeLÉbBÍgJÈ`CÊgKÐtWÊgKÇ[CÍdOÒtaÓ‘†Þ •Þ¦›â«¢ß¦Ü¡˜Ö›‘Ó˜Ž¿D$ÄS3È_DÆcMÓqaÔtgÎujÒ€tØ•ŒÞ”Þ –Ú›“Ü›“àŸ—å¦žà¢šÚœ’Ü›’⟖à™Ü’†Ó…xÍ{oÓ€qÒ}mÌtcÌn[Ôr`ÊhVÉn_Ö„xÔˆ|ÓƒrÉs_ÉlUÏlVÑnXÏnZÑr^Ðs\Ðu`Ït_ÒwbÐwcÎuaÏvbÒyeÐveÐ|jÒ}mÒ‚qÒ„tÒ‡yÖŒ€Ú’ˆÖ…шzÒŠ~ÖŽ‚ÕŽ„օщ}Ôˆ|Õ†yσqσqÒ…uÖ‰yۀۃߓ‡ß”‹Ü•‹Ú“‰Û‘…ÚØŠz؆uÖ‚pÓ}kÏyaÍu]ÌrZÊmTÉiQÍiQËgOËeNËeHÇcFÉfJÆeIÂdGÄcGÈgKÑqSÑ}qØ‹{Ù‘€Þƒá‹ß…zÝ…uÖ€lÉybÈqWÇcFË_=ÉW3ÄS2ÂT6Ç\@ÆkPÌrYÐv]Ît[ÍqXÊmTÎlTÉeMÊbKÊdMÈhQÄiTÆo[Èr^ÌvbÍxbÎycÏyaÏx^Ñw_Îu`ÑxdÓvaÅgPÇ[<ÂU5ÈZ8ÈU4ÂN/¿N3ÌeLÌnWÎrYËv`Ñ…sÔ‰{ÕˆxÕ…tÒ„tÒ‡yÔŒ‚ÖƒÔŒ€ÓŠ|Ó…uÚˆwÓmÍzeÈxgÕÚœ’Ü›’ÜšÙšŒØ™‹ÓŒ‚Ó‚Ø“‰Õ”‹Ù›‘Ù™ŽØ’ÐjÈmXÍpWÎs^Ìp]ÇjSÌrZÖkÒvcÍkSÎeJÈdKÊkQÑtZÈgMÎjRÏp]Ïwfܛݟ”ן”ߨŸå¬£à¥œØ›‘Ó–Œ¼7ÅM)Æ\=ÇeMÏp`ËrdÐ~rÙŽ€Ü˜‘࡙࡙ۜ”טٚ’ܕ֛’Ö˜Û™ŽÜ•‹Ñ…yÏ€sÎ{lÏzkØqÏ„vуsÖ„sÖ‚pÌxfÓƒrß‘„Ý“‡ÝŒ}ÕmÐs^ÎkUÐmYÐo[Îp]ÌoZÌoXÎqZÏt_ÓxcÐwcÐwcÐwcÌs_ÔziÕ~nÔoÒrÒ„w׈}Ú‹€Ú‹€Ò…uÓ…xÕ‡zÓˆzÓŠ|Ó…xÒrÔpÔziÑzfÑzfÒ{gÐzhÐ|jÒ€nÔ„sÖˆxÝß‘„á–ˆà˜Œâ›‘â”Þ™Þ•Ü‘‰ÛŒÕ„uÓ|lÓzfÏu]ÎqZÌnWÊjSÍhRÌcNÉ_GÅZ>ÅZ9Æ[9Ð\EËfMÉrXÍzdÑvgÒsdÐufÑ~iÕyhÒxg×€lÒzbÇjPÈcCÇY7ÉS0ÉN(ÄN+¿P0Å\AÒnVÒq]ÍnZÏp]ÌkQÆfNËnWÓv_ÎqZÏmUÌdMÊ^FÄaMÊeOÏkSÐlTËkTÎo[Òr[ÌlTÏgPÃ_CÃ_=ÁW2ÂS+ÃQ)ÇU0ÃU1ÌcHÇiRÏxhÐpÍ{jÍvfÎyjÒ~rÒ‚qÒ„sÐ…uÊ‚qÒ‡yÝ‘…à”ˆÜ‘ˆÜŽ}Þߤ›Þ ˜Þ –ߣ—घߜ“Ù‘Ú™Û—Þš“Ü™ÕÖ‰vÒiÏx^ÌvbÕ}mÔ~jÎlЇyÔ…xÎveËkSÊt\Êt\ÊlUÅeNÒ{gÕ‰wÑŠ|Ù˜ŠØšØ •Ú£šá¨Ÿß¤›Ùœ’Ñ“‰¼:ÄP/È`CÐkUÔrbËrgׄ|敎ڜ’ß¡—Þ –ÝŸ•Ûš‘Ù–Ü—ŽÜ—Žß•‘Ú—ŽÑÉ{jÎn^ÔnaÑuh΀sΆuÏ„t׈{ÓƒxÕ„|ÜŽ‡Þ•ݕߚ‘Þ’†Ó|lËnYËnUËnUÍoXÏp\Ðq]Ïr]Îs^Ðs^Ìn[ÇiVÊn[ÒyeÒxgÓ{kÓ~oÓ€qÑs×…y×…yÖ…vÕ„uÖ…vÒƒvÓƒxÖ„yÒ~rÓ~oÕ}oÔ{gÒyeÐu`Îs^Ðs^ÏqZÎpYÐpYÑnXÒoYÒs_Ñs`ÑwfÔ}m×…t؇xÚŽ‚Ú„Û“‡Þ–ŠÝ•‰Ý•‹Ý’‰×ŒƒØƒyÙ„uÛ„tÖ€nÏxhÏwgÔwhÖvfÍpWÈhPÇfLÊfJÍbFÌ^@ÍY:ÆQ2ÆT6Ê\>ÈbEÇcJÍmVÔr`Òo[ÈbOÊ_CÉ^=ÀU0¾S1ÉaDÐkUÕpaØugÎ{eÍw_Ñw_ÌpWÑqZÌjRÅ^CÇ\@Æ[@Å\AÁY<ÈZ<ÆQ4ÇS4È]<ËiGÓtaÓt`ÊjSÅaHÄ]=É];ÄR-½K#ÇP0ÆS2ÈY9ÎcBÎdEÇ_BÉbGÇcGÊhPÒwbØ‚pÒpÔ†yÚ–‰ØšÝ›–Öœ–ݣܡ˜Û —Ü¡—ᦜà¨Ý¤›ß¤šÜŸ•Üž”Ü›’ݘŽÐŠ}ІzÒ‡yÎyiÍ|mЉ{ÒŠ~Ò„wцvÔ‡tÊn[ÈkTËnWËnWÅeMÃ_FÓqYÕzeÎxf׉|ܛڠ”Ûž”Þ ˜Ø“Ô˜ŒÓŽ„Á;¼8ÂJ-ÄaKÑ|lÓ„{ÔŒ…×—’Ýš‘Ü›’Ýœ“Ü›’Ú˜Ú“‰×ŒƒÖ‡~Ù‰‚Ú‹€Ó‚sËq`ÍiWÐjXÌl\Òwh×~sÒ~rÔ„yÏ‚y؈ߛ”Ú›“Ú›“ÝŸ—Û™ŽÒ‡yÎzhÑubÏp\ÎlZÎlZÌmYÐs^Ðu`ÒvcÇiVÏq^ÒvcÏvbÏvbÑyhÓ|lÑ|lÏ|mÒpÏ|mÑnÓpÒ‚q΀pуsÓ…uÔ†v؈wÚˆvÓ„wÓuÒpÓ~nÓ|lÑyhÏxdÎuaËu_Èr\Ít_Îr_Ìn[ËmZËlYÉjWÍmVÊlUÌnWÌoZÎr_ÐtaÖziÙ}lЂqÕ†sÙwÚŽ{×~Û”†Þ–ŠÝ”†à’‚؇xÓ~nÎr_ÎkUËdIÈ\=ÀS3ÇW9ÇZ:ÅY:ÀX;Â^FÍmVÕ{cÑyaÔxgÍn[ÉfRÇdPÈiVËq`ËuaÊt`ÔwhÐtcÌp_ÐveÓ{kÍrcÎr_Ñr^ËmPÉfJÈ]AË]?ÈY9ÃT4ÁP0ÅR1ÂV7ÏgJÓoWÕr\ÑmUÊbEË];ÉV1ÈR/¿K(¾L(ÁO+ÁM*ÀL)ÃO,ÄR.É]EÍs[σqÓ‰}Ù‘‡Ø“‰Ú•‹â—ŽÞœ‘ߟ”ۓ㦜此豨괭䰩宥⩠⧞ࣙޠ–וШ”‡Ù“†ÕˆxÓˆzÕ‘„Ø’…Ó„yÔ‰yÒ†tÈl[ÍfKËdIÉ^BÀS3ÁP/ÃT4È_DÉeMÌsÞØž’Õ˜ŽÖ˜Ñ–ŒÑ“ˆÑŒ‚ÇL*ÅI+ÊV?Ðo[Î~mцx׃ٕˆÝ•Û–Ø–‹Ô…Њ}ÙÐ|pÍtiÏ~vÕuÏwgÌn[ÏlXÌiSÊgQÍlXÏshÔ}sÔ…|ÔŒ„×–ŽÜž–Üž˜Úœ–Üž–Ø›‘Ò’‡ÓŠ|ÖrÖyjÖwgÐveÑr^Îq\Ír]ÉmZÏq^ÒtaÏs`ÌraÍt`ÐyeÓ{jÔ~lÑ|lÑ|lÐyiÓ|lÔ~jÑ}kÎ|jÎ|kÎ~mÑmÔ‚pÕ„oÓŠ|׎€ØÙ‚ØØØÖÔ‰yÓ‡uÔ†uÖ„sÕmÕ{jÖziÓubÕqYÒnVÎjRÎjRÌgNÅ`GÉbIÈ^FÁ]DÃ^EÅaHÌlUÓyhÔpÖ‚vÑsÌ~qÔ…zÓ‡{уvÕƒrÐwcÐr[ÐlTËmPÊhJÄ_?Ë_@Î`FÏbLÎhQËiQÉs]ÑvaÒu`ÖxeÔvcÎq\ÊmTÊlOÍkSÊfNÌfOÍiQËhTÊiUÉiRÍkSÊmVËkSÑmUÓnUÎeJÄY=ÄS8ÆT6¼O/¼O/ÂW6ÅZ9Ç[<ÌaEÍbGÅYAÌ[:ÉX7ÃS/ÄR-ÃL%ÂG!ÉM%ËO'ÁV;ÆpXÙ‘€Þ–ŒØ…΄xÎ…wÖ‹}ÓŒ~Ö‘‚ߒ쯥ó¼³òÀºðÀºî¿»ë·°ä°©â­£Ý¦Þ¥œà£™Þ •Üœ‘Þ™ŠÛ•ˆ×˜ŠÖ‘‡Õ†{ØÖ‹{ÌtdÊkQÉhLÊeEÄX6ÇW3ÁS1Ç_BÎoU΂v×–ˆÔ˜ŒÒ•‹Ò”ŠÎ‘‡Ï‘†ÑŒ‚ÈW<ÌeLÊiUÓscÎugЂrÖ‹{ހ׆Վ„щÑ…yÒ„wÑsÌwhÐxjІz׌~׉yÓ}kÎq\ËkTÊjSÊjSÍzkÕƒw׈}ÔŒ‚Ù‘‰Ú”Ý—Ü–ß–Ž×”‹Ñ‡Ü•‹Ù‡|ÒykÐzhÊydÕxcÓwdÌs_Ép\ÕyfÔxgØ|kÏudÌuaÏxdÒ|jÖ€nÓ}kÔ}mÑzjÑyiÒ{gÒziÔ|kÓ{kÑyiÍudÎveÐveÏyeÔ~lÕƒr׆w׈{ÚŽ‚ۇݒŠß•‰Þ”ˆà”ˆà”ˆÞ“…ß”†Û‚Ö‹}ÕƒwÐpÑ|lÏygÐwcÑt_ÎpYÊjSÍeHË`DÉ^BËbGÑkTÎmYÎo[ÇhTÌjR×zeØ„rÓ†vÔ‰{Öˆ{Ù…y×~pÔvcËkTÏjQÎeJÑeMÏeNÍgPÇcKÈhPÌoVÐs\Ó}gÖ€nÔ|lÕvgÐn^ÉnOÅdCÆ_?ÇY=ÇX>ÈZ@ÅY:É^=ÑgPÔpXÐpXÈgMÂY>È[?Ë_@Æ_?É\@Ê[;ËY5ÊW2ÇT/ÂQ0ÆX<ÂV>Ì`AÈ\=ÆZ;ÆW7ÆS2ÄN+ÅO,ÈR/ÉhN×…lÙ}׃wÕynÐxjÈ}mÒ|Ô€Ô“…ࣙ봫õýùÊÆøËÇöÉÅòÃ»í¾¶ëº²æ²«å¯¨ä­¤ä© ÚŸ•ÙšŒÛ›Üž“ܙۇܕ‹Ú—ˆÕ‡zÓ…tÒ€nÉqYÊiMÊdGÉeIÕxaÒ~lÒˆ|Ó“ˆÒ—Ô–Œ×–Α‡Í„ЋÄP1ÈeEÇlQÎo\×uiÚ€yÕ‡€Ù‘ŠÕ“ˆÕބ׋×…zÒ}sÍymÎ|pÓ„wÓŒ‚Õ“ˆÖ’…Ð…uËscÊhVÅdPÊkWÈ{hÒ„s׆wÚˆ|Ô„yÕˆÛ‡ÙˆÞ„Ù‘‡Õ“ˆÜ”ŠÓvÑxjÏwfËv`Îr_Ër^ÄkWÐwcÓwfÕyhÖ|kÒziÒ|jÑ{iÕmÒ}mÓ|lÔ}mÔ}mÖ~pÓpÕ€pÖqÓ|lÔ}mÓ{kÒwhÑvgÕt`Ñr_Òs`ÐqaÏsbÒufÓxiÕzkÓ~nÓ~nÕ‚sÕ„uÕ†yڌۃۑ…Ø‘‡×…Ü’†ÛƒØ‰~ØŠ}Ö‡zÑ‚uÓ}iÏw_ËnWÅgPÈjSÊlUÇjQÂcIÊ^?ÉaDÏkRÏr]ÒziÓ~nÓ€qÒrÕ~tÔ}mÒ{gÑw_ÎpYËhRÊfNÆ`IÈW=ÁS7ÄX9Á[>ÁbHÉlWÐr_ÐqaÍr]ÈkTÆfNÊhPÌiSÍgPÊaFÈ[?ÈY?ÊcHËjNÊhJÈ]AË[=Î_?Ë`>Ë\<ÅV6ÃT4ÂS3ÅR1¾K&ÂK$ÆM%ÆW7É\<Ìa@ÏbBÎ_?ËZ:ÆW7ÁT4ÍmUÔ€gÍzdÈkVÎgTÔubÒ‚qÛ”†Û›Ý –䭦キòÿúÍÉüÏËüÍÉøÊÃõÇÀðÀºê¸²æ²¬è²«å®§Ü£šØ›‘Ý –⧞࡙ܖړנ“Û™Ž×’‰Ó‹Í|mÑxdÊjSÉjVÓ|lÕ†{Ø‘‡Ó•ŠÎ“‰×™Ûš‘Ñ“‰Ï‘‡ÑŒ‚ÈS6ÂT8ÊfJÐnVÌfTÔnbÔuÏ‘†Ö•‡ÖƒÖŠ~ÚŠ׆~؉€ÔŒ‚Ø‘‡Ý•Ù–Ô“ŠÒŠ€ÏvlËi]ËiYÏq^ÐzdÍvbÏudÔ|lÑ{oÏtÕ‹Ó€ÖŒ€Ø’…Ù“†×Ô€tÏteÒscÏq^Íq^ÇnZÈq]ÌtcÍsbÒveÑwfÐxgÑzjÒ{kÔ}mÖoÔ}mÔ}mÖ~p×qσqЄrÒ„sÓ‚sÕ‚sÖƒt؃tÖ€tÒ}nÏzkÐyiÏwfÐwcÎs^Òu^ÎrYÌoXÀcNÏr]Îp]Îp]ÏsbÑteÔwhÑ~iÔ‚pÙ‡vÛŠ{݂߇މڎˆØ„ØŒ€Ô…xÕ‚sÔpÓ{mÒxgÎq\ËlRÆbIÈ^FÊ^FÌbKÌjRÏw_ÓhЂuÏ‚r΂oÌ}hÐzfÐu`ÑnXÈbKÇbIÈ^?É[9ÈV2ÆU4ÄV8È]AËcFÌdSÐjWÎq\ÎxbÎycÌrZÎjRÐeJÈhPËkTÎkUÍjTÌgQÈ`IÊ\DÊY?È[?ÆY=ÂT6ÂQ0ÅQ.ÆO(ÆM%ÇN$ÂM(ÀM(ÂP+ÆT/ÇU1ÊX4ÇY5Æ[6Ê^FÉjPÉnSÇfJÊcHÐnVÓzfÔpÏ‹~ۛ箥ò¿¼ôÄÂùÌÉýÎÊþÐÉûÎÊøËÇöÇÃ峭궰貫ણ⩠此氩㬥姡ᬢاޣ™Ü ”Ù™ŽÚ“…Õ…tÃlXÆr`Ö‰yÚ–‰Ø“‰Ï’ˆÑ™Ž×šÛš‘Ó–ŒÏ‘‡ÏŒƒ¿J/ÀK.ÁO1½O1¶E+ÇZEØ|kÔŽ}׃ӋÙ‘…Ú“‰ßš‘àœ•á ˜ÞŸ—ផݜ“٘ג‰×Š×‚xÓzlÌraÆeQÉjVËo^ÏwgÍxiÏ€sÕ‰}Άzω|ÒŠ~ÔŠ~ØŒ€Ò€tËvgÓyhÑudÍt`Æo[Ó}iÐxgÑwfÒxgÓyhÐxhÐxgÐxgÏwfÎwcÐxgÏwfÐyiÒ{kÍ}lÎ~mЀoÓƒrÔƒtÕ„uÖ…v؆zÑŠ|ÓŠ|Ô‰{׊z׉xÖ‡tÒƒpÐ~lÑ{eÇp\ÐwcÓwdÏq^Ìn[ÓtaÑr_Ît\Ír]Ír]Ëq`ÌtdÌtfÏym׃wÖŒ€ÙƒÝ”†Û“‡×†ÖŽ„ÙŠÕ†yÒ‚qÐzhËlXÇaJÊ`HÄ_FÉhNÉlSÎkUÌlTÍpYÑvaËr^Ìp]Ïu]Ôx_ÑmÖkÏr[ÎkUÏjTËcLÉ_GÆX>ÈY?É^CËdIÇfJÍpWÈhPÅ`GÈ]BÁ_GÄ`HÅ`JÊeOÍhRËeOÉ_HÇYAÅ\AÊ_CÍ`@Ì[:ÊX4ÅR1ÄS2ÃR2ÅP)ÁO'ÀN&ÂM&ÃL%ÄM&ÄO(ÅS+ÍX9Ê`AÆbEËcFÌdGÇfJÊlUÎo\ÌxfÖ‰yã¡–ñ·±ôÄÀúËÇûÎÊþÐÉùÏÊ÷ÍÈöÌÇóÆÂ콹뻵洮䰪뷰뷰蹱趰綮ޯ§å«¥Ü¨˜ÖŸ’Ó–ˆÎ‡yÍ€p΃sÕ’ƒÒ—ˆÓ’‰Î–‹Ó’ךۓ֙єŠÎ„¿BÈR)ÁH ÂBÂF(ËaJÑxjÖ…}Õ†yÌ‚vÖ‘‡Ùœ’ݤ›ß¥Ÿä§£ä¥¡à¤˜ÝŸ•Ý™’Ú™‘Ûš‘Û—ŠØ}Ð~mÌiUÈiVÍsbÏzjÎ|pЀuÙ‡|Û‰~ÕŠÑ„{Í}rÒƒxÓ…xЃsÑpÐ{kÑxdÅnZÕmÐxgÑwfÒxgÑyiÒzjÔziÒyeÒyeÒydÑxcÑxdÐxgÐxgÑvgÑvgÐxhÑyiÔ}mÔoÑ~oÏ~oÒrÔƒtÕ†yÙ‰~ÛŒƒÛ†ÜŽˆÚŽˆÙŽ€ÕŠ|Ö‰yÔ†vÓƒrÕƒrÔ‚pÒ~lÒ{kÓ{jÑwfÍq^Ên[Íp[Îq\Ðv^ÐyeÒ|hÙ‡uÙŒ|؄ڑ‰Û‡ß…یԆvÎ}hÊv]ÊpWÎnVÏiVÊ`OÆ[:ÂW6È]AÎdMÐdRÌbQÇ`MÊdMÉiRÏqZÑxcÏyeÌxfÍr]ÌhOÊ_CÂ`>Ä]<ÅY:ÄV:Í_GÊ`IÉcLÆaHÏU1ÀL)ÂT2ÆW7ÊV7ÌX7ÄV2ÀX3ÄR-ÄV4Ê]AÉ_GÉaJÅ[CÈ[?Ì\>ÇY7¾P.ÄT0ÃO,ÄL(ÄJ&ÃJ#ÀI"ÁJ#»K'ÁS5ÈZ>ÐbHÇdHÈgMÉeLÃaIÉp\ÛŽ~å§ë·±òÿ÷ÊÆøËÇöÎÉ÷ÏÊ÷ÏÊöÌÇôÇÃòÃ¿î¾¸í½·ï¿¹ïÁºëÁºïÁºôÀºí½·ê»³ô¸²í³§ä©ŸÝœ”Յ܆ݑ…×’ˆÑ”ŠÒ”ŠÔž“Ôž“ךۓ֙єŠÒ‘ˆ¿P0ÉU4ÅK'½?ÀE%ÅR7Ç^IÚxf؈wцxÕ…ßž–࢚媡笣㧡ᣛݠ–Ûž”×™Ûš’Û•ŽÖ…Ј|ÔwhÍrcÐyiÑ{iÑ{iÑyiÑzjׂsЋ|ÖÔ†vÕƒwÛ‰~ÒƒvÔ†vуrÎ~mÉweËucÎveÐwcÑxdÒyeÍvbÑxdÎwcÏygÑ{iÒzjÔ|lÕ~nÕ€pÓpÓ~nÑ|lÑ{iÒ|hÓ|hÓ}gÓzeÒxgÒyeÑxdÐyeÑ{iÑ|lÒ‚q׉yÖ‹}ÙŽ€Û‚Û’„Û’„؄ٓ†×‘„Öˆ{Ô†yÓ†vÓ…tÑmÐyeÐu`ÉlWÇgOËkSÑs\Îq\ÒyeÕ€pÔ†vÖˆ{Õ‡vÒ‚qÐ~mÓ~nØqÙqØqÑxjÑkXÃ^HÅaIÊeLÇ`EÈ`CÅ]@ÅZ>È[?Ç\@ÅaDÉhLÎrYÕzeÓwfÌnaÍmVÈfNÇcGÈ`CÉ\@ÈZ>ÇX8Ë];ÅY:ÆZ;Æ[:Æ[:ÇZ:ÁR2¾M-ÃO0ÅM)ÆP-ÈT3ÈT5ÈX:É\@Ë`DÉaDÉcFÆ`CÇ`@ÅZ9ÅT3ÃP+ÈO'ÅK#ÁH¾EÂJ&Ð\;Ë[=ÊbEÐmQÆeIÀU9ÐiP߆ràšà¤žï´²÷ýõÌÃúÊÈøÍÊúÑÎùÐÍ÷ÊÇöÇÃõÇÀñûð»óžôÆ¿òĽðÀºì¼¶ð¾¸òÁ¹ì»³æ³©Ý§œÐ”ˆÖ”‰Ö‘‡Ô’‡Ñ“‰Òœ‘Ù¡–ՒњәәЕ‹Î“‰ÆR3ÌU5ÀF"ÄF#ÀE#ÀK.ÂV>ËeOÏ}l׉|׎†Ý™’Þ ˜ã¨Ÿæª¤á§¡à¢œß¡™á¤šÝž–Þ•Ü–Û“‰×‹Ò€nÍ{iÈwbËuaÍt`Íq`Ëq`ÍrcÏ}qÖƒtÔoÓ€qÕƒw׈{Õ†yÙ‹{׊zÍoÁq`Ñ|lÑyhÓyhÒyeÐwcÑubÏvbÐxgÑyhÓ{kÔ|lÔ}mÔoÕ‚sÖƒtØ…vÕ‚sÒpÏ~oÐpÍ{oÑ|lÏxhÐzhÐxgÎveÍudÐxhÐyiÍ{jÏ}lÐ}nÑ~oÔrÕ„uÚˆ|Ú‹~ÙÙÛ‘…ß“‡ÝŽƒÙ‰~Ô‚vÏ{oÒ{gÎwcÎwcÌs_Ët`ÏygÒ}mÓ~nÔoÓ~nÐ{kÑ|lÎ|kÑpÓ…tÓ†vÓ„qÐjÐzfÔ{fÒu^ÎnWÍiQÉeMÊeLÇcGÆ_DÅ\AÄ]BÆbIÏmUÖxaÔydÎt\Ïu\Ów^ÊjSÈcMÁYBÁX=É[AÉ[AÅW9ÃT4ÁO+ÄO*ÆO(ÅL%ÀK$ÁL%ÀK$ÀK$¿J%ÁL'ÃN'ÂM&ÆU4ÈW6Í\;Ð_>ËZ9ÇU1ÅR-ÃP+ÀJ ¾H¿J#ÇS0ÆU4ÇY;ÌdGÊdGÈ]<ÌeEÈkQÌyd׌~ᙑ쮦õ¸öÆÂøËÇùÎËûÐÍúÍÊúËÇúÌÅñžôÈÁõÉÂõÈÄ÷ÈÄôÅÁðÀºï¿¹ò¼óÃ½í¼´ã®¤Õš×—ŒÕ“ˆÑ‡Ô—Ù¢™Ù¡–Õ’ÒšÒ—Ó–ŒÔ—Ñ”ŠÁH(¹>¿BÊM'ÈN*ÆR1ÃR7Ë]EÆp^Ï}qÓˆÛ—ÞŸ—䦠檤䪥婣媡㨟࢚ߞ–ܔَ…ÊqÏygÎwcÑxdÍnZÏlXÑkXÏm[Ðq^ÎreÑteÌs_ÍweÍ}lÒ„wÕ†{یߙŒÝ•‰Ò‡yÒƒvÒpÔ}mÑwfÍsbÐtaÑxdÎveÎveÐufÐufÑyiÓ|lÓ}kÒ}mÔoÓ€qÖ‚vÕƒwÕ…zÓƒxуvÒ„tÒrÓpÓmÓ}kÖ~mØ€oÒ|jÒ|jÐzhÒzjÒ{kÒ{kÕ~nÓ~oÎr΀sÔ†yØŒ€ÛŽ…Ü†ÚŒ…׉‚Ö‹{Ö‰yÖ†uÑnÒ|jÓ{jÔ|kÔ|kÐxhÐxhÏwgÏygÎzhÍ{iÎl΀oÌ‚pÌ€nÊ|kÎ|jÑ}kÒziÐtcËo^Ís[ÍmVÎgNË]CÉ[?É\@Å_B¿]?Æ[FÇaJÉhNÍpWÍoXÎpYÏoXÌlTÒlVÐjTÍeNÉ`EÊ_CÉ]>ÉZ:ÂS3ÁT.¾O)¹G"¼J"¿H!ÀGÂIÃG¾E¿FÂM(ÄP-ÈU4ËZ9Ë];ÆX6ÄR*ÀN&ÁO'ÂO*ÀN*ÅT3ÅW9ÃV:ÅY7Ã]:Ä`>Å_BÆfNÒ}mÚ•‹î°¨ð¼¶÷ÇÁøËÇ÷ÍÈøËÈøËÈøËÇöÉÅ÷ÊÆõÈÄöÉÅùÌÈöÉÅõÆÂñüöÆÀ÷ÈÄñü뺲੠ܟ•Ö˜ŽÒ•‹ÕšÛ¦œÚ£šØ¡˜×ž•Ó›Ô™Ö™Ô—Á=½<½<½>½BÄM-¼J,Ì[AËo\Ò}m׋Ù”‹Ø—à¡™ç«¥è°«ê³¬é²©ã¬£ä«¢æ¨ àœ•Ù‘‡È~rÒwhÍsbÏp`ÎlZÐlZÏm[Íq^ÍudÐufÍq^Ðs^Îs^ÏygÐtÕˆۈ⤙奚⠕Ҋ~Öˆ{Ø…vÑzjÐveÐwcÏwfÐzhÐxhÐxhÏwgÌueÌwgÐwcÐwcÐyeÐxgÐzhÔ~lÙ‚rÛ†vÒ‡wÓˆxØŒzØŒzÖˆwÔ†uÒ„sЂqÑ‚oÑ‚oÓoÒ€oÒ€oÐ~mÓpÔrÔ€nÑ}kÐ~lÏnÒ‚qÕ„uÖˆx؆zÔ‹}ÖØ‹{ØŠzÖƒtÕ€pÔ}mÓ|lÏzkÏxhÏwgÌraÌp_Ðtc×xhØyiÓyhÕ{jÐxhÑyiÒzjÓ|lÓ|lÔ}mÐzfÍq^ÌiSËcLÐdLËbGÇcGÂ_CÍY@ËZ?ÈX:ÅX<ÅZ?Æ]BÅ_BÅ`@È_DÇ`EËdIËgKÎjNËgKÊeLÈdKÏhHÊ`AÉ]>È[;ÇX8ÆS2ÈT1ÄP-ÆM%ÃL%ÅN'ÀM(ÂP,ÂQ0ÅW5ÇY7ÈV2ÈV1ÈU0ÃQ)ÃQ,ÇV5Í]?É[?ÇZ:¿Y6½U0ÃS/ÆX:Ît\Ù‘…Úœ–᪣ò¾·öÈÁ÷ÊÆøËÈúÍÊùÌÉõÊÇöÌÇøÎÉûÐÍûÐÍûÎÊøËÇõÆÂöÇÃ÷ÊÇ÷ÊÆôÆ¿ò¾·áª¡Ùž•Öž“Û£˜Ù¦œÚ§Û¨žÞ©ŸÛ¤›ØŸ–Ø”Ô–Ž¾7 Å>ÄA»;ÇL&ÊS3ÃN1ËW>ËhRÐwcÛ}Ù‘…×’‰Ü›’䨢孨괭굫鴪賩筧䦞⟖ؒ…ÕŒ~Ï„tÈzjÇrbÎwgÒ}mÓƒr΄rÓƒrÏyeÍpYÎnWÍq^Ôr؄ߗߣ—Þ¡—Þ •Ö”‰Ó‹ØŠ}ÓpÑzjÓ|hÓ}kÒ~lÔ~lÓ|lÓ|lÒ{kÎyiÏygÏygÑ{iÎxfÎveÎwcÑzfÔ}iÑ}kÒ~lÕƒr؈wÖˆx׊zÓˆzÓˆzÒ†tÒ„sÓ…tуrÒrÒrÒ„tÓ…uÙ…s׃qØ„rÒ€nÑmÐ~lÒ~lÓmÏpÔ†v׉y׉y׈{؉|؉|Öˆ{Ó…uÕ…tÕ€pÔ|kÑwfÒtaÏp]Ïp]Óp\ÎmYÏp]ÒtaÎr_ÎuaÎwcÏxdÐxgÐwcÐtaÎq\ËlXÌkWËkTÊjSÈiOÈdHÈ^?ÉY;ÉT7ÊT7ÉU6ÅU1ÃS/ÀP,ÃT.ÂR.ÃU1ÁS/ÁS1ÃW5ÄY=Ç\@ÍbFÐeIÎcGÍbFË`DÄY=ÆW1ÃT.ÂP+ÄR-ÅR-ÁN)ÀM(ÄQ,ÆS2ÈT1ÊW2ÆT/ÄT0ÆX6Ì`AÏdHÔfJÍfFÆ^;ÃO,ÂQ1ÐsZà˜ŒÞ¡Ü¡˜í·°÷ÇÁùÌÈùÌÉûÎËøÍÊöËÈøÐËùÐÍüÓÐüÑÎúÏÌúÍÉùÊÆ÷ÈÄøËÈøËÇ÷ËÄöÆÀﹲݦ٢™à«¡á³¨äµ­ç¸°æ·¯ß®¦Ø¤Õž•Й¾4 ¹2½7 ¸5 ¿B¿D"ÄL.ÊU8¾Q5ÈfNÖ€nÙ‹{ÙÚ’ˆÞ”ߤ›áª£æ±§ê·­ê·­é³¬é¯©ã¥ßŸ”Úœ’×—ŒÓ€ÎƒuÏ}qÓsÒ€tÔ†yÒˆvËzeËnWÌlUÍo\Ôp׋×…Ú˜ÚšÙ™ŽØ–‹Õ‚ÕŠ|ׇvÏzjÏxdÏyeÍygÑ{iÔ|k×nÚ„rØ„rÒ€tÐ~rÒ€tÐ}nÍzkÐ{lÑ|lÏzjÕwdÒvcÓyhÐxhÑ|mÔrØ…v؇xׇvÓƒrÕƒrÕ‚sÔrÓ€qÓ€qÕuÓ„wÓ„wÕ‡wÒ„tÖ…vÓƒrÕ…tÕƒrÕoÕƒrÔƒtÒ„tÒ„wÒ†zÕ‰}ч{ÔˆvÓ…tÔ„sÔ‚pÖ‚pÑ}kÎzhÊvdÍs[ÉoWÇlWÉlWÎq\ÎpYÊlUÈkRÌmYÎp]ÎuaÍvbÏvbÎr_Ïp]Òp^Çr\ÉoWÈhPÉbIË_GÇ\AÀX;½X8ÆV8ÃQ3ÃO0ÂN+ÅM)ÁH!ÂI!ÅL$ÀM,ÂO.ÄS3ÈY9ÆX:Ê\>Ê^?ÆZ;Å[6Æ[6ÄW1ÈV1ÆT,ÅP)ÇP)ÅN'ÄP-ÆR/ÉU2ÄP-ÅS/ÅW5ÂU5ÂV7ÇY=È]AÉ]>ÄS2¾M,Ã`Dހ㣞ە簩öľùÌÈûÎËüÏÌýÐÍøÍÊúÑÎùÐÍûÒÏüÑÎûÐÍûÎËøÉÅôÅÁõÆÂ÷ÈÄõÉÂ÷ÇÁï»´å¯¨ã®¤á®¤æ¹®í¿·òÄ¼í¿¸ãµ­Ý¬¤Õ¢˜ÔŸ•¿<¼9¾;¹6º9¾AÀE!¿D"¼D&ÃV:ÏqZËsbÏzkÔ‚v×…Ûš‘࢚媠봫칯츲겭欦ࣙܞ–Ù›‘Ù”ŠÔŠ~Ì|qÎyoÔ‚wÚŠÑpÌvbËp[ÌoZÍsbÓ~o׈{Ó…xÒ‡yكؒ…ב„ÒŠ~Ê|oÖ„sÐzhÎuaËt`ËsbÎveÏudÎtcÎveÑ{iÏ|mÓ€qׄuØ…vÖ…v×…yÖ„xÒ€tÕ}lÓ{jÒzjÌueÌueÍueËsbÍudÑ|lÖqÖq؃sÕ€pÕ€qÕ‚sÔrÑ„tÑ„tÓ…uÒ„tÕ‡wÔ†vÒ„tÒ„tÕƒqÔ‚qÓ‚sÓ…uÓ„wÒ„wÓ…xЃsЀoÏ}lÏ}kÏ{iÓmÒ€nÓoÑmÑ~hÏzdÌuaÍq^ÍnZÌiSÉeMÉdKËgOÎlTÏoXÊlUËmVÏoXÐmWÓnXÎmYÐpYËkSÎnVÏoXÍmVÊjRÆgMÌdMÈ^FÇY?ÆV8ÆR3ÄP/ÈR/ÉT/ÅR-ÆR/ÅS/ÆT0ÄR.ÄR.ÃQ-ÂP,ÀR.ÁS/ÆT/ÅS+ÅP)ÃN'ÄM&ÅM)ÁO&ÀN&ÄO(ÃN)ÆP-ÈT1ÉW3ÉY5É[9ÇZ:Ê]=ÇY7ÂP,ÂT6ÌoZæšŽç©¡í´«ñ¿¹øÉÅøËÇúÍÊùÌÉøËÈ÷ÏÊùÐÍùÐÍúÏÌøÍÊøËÇôÅÁ뼸路蹱뽶ðÁ¹é¸°è´­ç´ªâ¯¥å·¬ë½µðºïÁºç¹²Ý®¦Ù¦œØ¤˜ÃF ¾?½;Â?ÅB¿>¿@ÃGÆE$ÁL/Æ`IÂdQÃgVÏwiÒƒxØ‘‡Þ•ã¥›è°¥í¸®î·²ê³®é¯©æ«¢ê«£å¦žã¢™à›‘Ü”ˆ×ÕÑ‹~Û€qÐtaÌp]ÏvbÓ|lÓ€qÔrÑ~oËxiÕ†yØŒ€Õ‹Ñ…yÍoÎyiÏwfÒtaÒvcÑxdÑwfÒveÏsbÑubÏvbÍt_Ít_ÎwcÎxdÏ{iÒ}mÒpÕ‚sÕˆxÖ‰yÖˆxÕ…tÔ‚pÓ}iÑxcÑw_ÌzhÏ}kÐ~lÑmÐ~mÓƒrÔ„sÓƒrÔƒnÑmÐ~lÑmÖ„sÔ„sÔƒtÒ„tÒ„tуsуsÒ„tÑ€qÓ‚s؆uÕƒqÓ~nÓ|lÏwfÎtcÌraÎtcÐufÑvgÐzhÒziÔziÕvfÐn\ËeRÆ`IÈaHÉbGÉdKÈaHÇ`GÆ_FÇ`EÃ\AÅ^CË_GËdKÆcGÄeKÆfNËfPÏdOÐaKÍfFËdCËbAÈ]<ÄX6ÄX6ÂV4ÄX6ÄV4ÂT2ÃR1ÃP/ÅQ.ÇQ.ÆQ,ÆN*ÀM(ÂO*ÆQ*ÅP)ÆQ*ÄO*ÄO*ÄP-ÅU'ÂQ&ÁM$½F»AÁI%ÃK'ÃN'¼M'ÁN-ÃT4ÅW3ÃP+ÈQ1ÄZBÒziÝž–첬ñ¿¹ôÅÁõÈÄøËÈ÷ÊÇ÷ÊÇ÷ÏÊöÍÊöÍÊ÷ÌÉùÌÉúËÇöÇÃñÁ½îº³é¸°í¾¶í¾¶ê¹±ï»´îº³èµ«ç¶¬ç¸°è¹±ê¼µè¸²ã²ªÞ«¡Ü¨œÀ@¿=º9¾>½A¹>»@ÁD¿F&ÃP/ÃV6ÄW;Ë^HÔp^Ô~rÖŒ€Ú“‰àŸ–䩠괭쵰鱬갪鯩ꯦ宥㮤⩠ޞ“׋؆zÐ}nËu_Ês_ÐzhÔ}mÔoÒ{kÔ}mÕ}lÔ‚q׉yÖŒ€ÖŒ€×ˆ{Ñ|mÐveÔydÎwcÎuaÏvbÒxgÓyhÒzjÑ|lÑ|lÒyeÐwcÑubÒtaÐs^Ðq]Ór^ÖuaÌ{fÏ~iÏ€mÔ„sÖ†uÓƒrÓoÍ{iÐyeÐzfÑ~iÏ{iÒ|jÙƒq؃sÖ„sЃpÒ„sÏpÍoÏqÒrØ…vØ…vÓ‡uÓ‡uÒ„sÓƒrÑpÓƒrÓƒrуrÔ‚qÓ~nÒ{kÐveÐtcÌm]ÌjXÏm[ÊmTÊmTÐr[ÎqZÍpYÎqZËqYÉoWÍcKÉbIÈaFËbGÆ]BÆ[@È[?ÆX<Ã\;Æ]<ÅZ9ÇX8ÆW7ÅV6ÃV6ÂU5ÄY7ÆZ8È[;Ë[=ËY;ÉX8ÆU4ÈV2ÆU4ÅU1ÃS/ÁO+ÆT0ÅS/ÇU1ÇU1ÅQ0ÇU1ÈV2ÇU0ÇT/ÆP-ÆR/ÇT3ÅW5ÉY5ÁN)ÁJ#ÄK#ÃI!ÆK%ÅJ$¿H!ÀK$ÁO*ÂP,ÆS2ÅR1ÈW6Ïa?Ò‚w礛궯쾶ó¸üȼùÊÂöÌÇþÐÌûÎÊöÎÉôÌÇ÷ÍÈøËÇòÈÃíþñÀ¸ì»³éµ®ð¿·ðÀºå¹²èº²éº²è¹±èº²ç¹±äµ­ä°©ßª ¹8¹9¼9¿<À=¿;Á>ÈEÁM,ÆU5ÅX8ÃV:È^FÊgSÍueÓ…xÕÛ–ŒÞ¡—嬣鯩䪤䩠⩠鮥㪡᨟ܟ•Ü•‹Ñ‚uËxiÑ|lÍr]Êq]Ó}k؃sÔ‚qÎ|kÐ~mÑmÔ†yÚ„Ù‘…Òˆ|Ó…xÍzkÑ{iÏxdÑvaÐu`ÐwbÐyeÑzfÑ{gÒ~lÒ€nÐnÏ€mÒ€nÔ€nÓ}kÍudÌtcÉo^Îo\Ñs`ÑudÐxgÐyiÓ}kÑ}kÐ|jÔ|kÓ}iÓmÓmÔ~lÕ~nÔoÒ€oÖ‚pׂrÖ„sÕƒrÓ€qÒrÔƒtÓ‚sÒ„sÒ„sÑpÓpÓpÓpÓpÓpÑpÏnÒ€oÒ~lÒ|jÎuaÍq^Ëo\ÍjTÆcMÅbLÈeOÑnXÔq[ÑnXÏlVÎiSÉeMÊfNÉeMÈbKÉbIÈaHÇ]EÉ`EÆ[@ÇZ>ÄV:ÄT6ÅT4ÆU5ÅQ2¿N-ÁP/¿N-ÀO.ÃP/ÆS2ÅU1ÅU1ÅR1ÄQ0ÄR.ÃO,ÅQ.ÄP-ÆR/ÈT1ÆT0ÆV2ÅW3ÅX2ÈY3ÄT0Ê\8Ç\7ÆX6ÈZ6ÆT0ÃP+ÃN'ÁL'ÃN)ÁL'ÄL(ÃP+ÃQ-ÇW3ÊW6ÅR1ÄS2ÂT2ÄgRÙ‹{à¢˜å¯¨í¶±ï·²ò¾¸òÿöÈÁòÆ¿óÈ¿îÀ¸î½µñ»´êµ«ã®¤ç±ªç³¬ëº²é¸°ë·°öŽôƿ뿸îÀ¸îÀ¸òļðºí¹꼴縰௥»?»?¼<¿<½5 ¼6À=ÅD¿M/Ë]?ÌaEÈ_DÎfOÑnZÉo^Ô‚q׋ב„ؘߢ˜ä¦žá£›á£›ß¤šá¦Û —Úœ’Ø‘‡Õ†yÒ}mÊraÊq]ÉhTÅhSÌua׃qÓƒrÏpÒ‚qÒ‚qщÚ’†Ù‘…шzÌ~nÍ{jÊueÉsaÍr]Îs^Ìq\Êq\Êq\Ír]Îs^Ðs^ÉucÏ{iÒ~lÑnÖ„s×…tÔ„sÏnÔvcÒscÐtcÎtcÍudÎveÎwcÑzfÑyhÓ}kÓmÒ~lÒ|jÑzjÑ|lÎ{lÒxgÒzjÒzjÕ~nÔoÓ€qÑ€qÏqÑpÑpÐ~mÒ}mÓ~nÓ~nÑ|lÑ|lÍ{jÍ{iÐ|jÎzhÐzfÒ{gÔ{gÐwcÓu^ÏqZÉkTÈjSÉiRÌlUÌlUÌiSËlXÌmYÍlXÎnWÐmWÏlVÏjTÎhRÐgRÊbKÆ_FÅ\AÈ[?ÈZ<Ì[;ÉU6ÇT3ÇT3ÆT0ÈV2ÆT0ÆT0ÆT0ÄT0ÆS2ÆS2ÆR1ÂN+ÁM*ÀJ'ÁM*ÄP-ÃM*ÅR-ÂP+ÂS-ÄR-ÃT.ÃV0ÂW2ÃW5ÇY5ÉY5ÊX3ÉW2ÄR-ÃQ-ÃQ-ÈR/ÉU2ÈX4ËZ9ÉV5ÈU4ÂQ0ÂT2Æ_?ÏsZÔ‰y騠橥䪥毪洮뽶뽵뽵崬箥誢ޠ–Þ –ݦ㮤赫紪ûÊÂúÌÅïžòǾõÉÂøÌÅöÊÃôÈÁïü轴ⷮÀH$¾F"ÀF"¼<¼8»6¾B ¼H'ÂW<ÈaHÊeLËgOÎkWÊkXËq`ÔoÒ†zÔŒ€Ö‘‡Ú—Žà”Ûš‘Ýœ“Ù›‘ךԓŠÔŒ‚ÑsÍueÑs`ÍnZÉkTÍhRÉhTÍq^ÏygÍ{i×…tÏzjÍxhÐ…|×׊zÏnÍweÓ{jÐxgËsbÏt_Ðu`Ðu`Íp[ÉjVÌiUÏhUÒiVÏiVÎjXÍn[Ìn[ÍsbÓ}kÔ‚pÖ„s׆qÓoÔ‚pÓmÐzhÍudÎuaÔydÐzhÒ~lÔ€nÒ~lÒ{kÒ{kÓ~oÍ|mÑzjÐyiÐxhÐyiÑ|lÓpÒ‚qÒrÓƒrÓƒrÒ€oÒ€oÔoÒ}mÓ}kÒ|jÒziÐxgÐveÍt`Íq^Ëo\Ìp]Ío\ÌrZÍs[Ïr[ËmVÉkTÉiRËhRÊhPÆfOÇdNÇdNÊfNËgOÌfOÍgPÍeNËeNÉdKÆbIÆcGÅaDÆaAÅ[<ÃW8ÄU5ÆU5ÆV2ÆT/ÆT/ÄR.ÅR1ÄQ0ÃQ-ÄR.ÇS0ÅQ.ÄP-ÃO,ÄP-ÂN+ÇM)ÇO+ÃN)ÄO*ÅM)ÆN*ÄO*ÁN)¿P*ÂP+ÅS.ÇT/ÄQ,ÅR-ÄR-ÆT/ÆR/ÅS/ÂQ0ÃR1ÃP/ÃP/ÂQ0ÇV5¾V3¿]?½gO׉xÖŒ€×’‰Ûž”ß§œâ¬¥àª£â¬¥ß¦ÝŸ—Ø—ÒŽ‡Ø•ŒÛ —宥굫泩÷ƾöÈÁóÉÂøÌÅùÏÈýÓÎûÑÌùÏÊ÷ËÄîú仲¹=¹A¿H(ÃG%¿=¼<½F&ÂT6ÉcMÊeOÉhTÇiVÊn]Ço_Ó|lÖ„s؉~×ÔŒ‚׆ڒˆÛ’ŠÚ’ŠØ“ŠÙ•ˆÕŒ~Ï|mËpaÌjXËhRÇcKÈbKÍgPÌiSÍoXËnYÈlYÑubÎraÐqaÏ|mÔ‚qÍwcÃjUÉkTÒt]Ðq]Ðs^Ðs^ÑvaÑubÑubÒtaÒs`Óq_Ño]ÓmVÏiRÎiSÈhQÉkTËnYÍr]ÔydÏ€kÌ}hÏ€mÑmÒ~lÐzhÏxdÎuaÍweÐzhÏ{iÏ{iÑzjÐ{lÔrÓ„wÏpЀoÒ€oÑ}kÓ~nÕ€pÕƒrÑ€qÒ„tÓ…uЂrÒ‚qÐ~mÏ}lÒ~lÒ~lÓyhÒxgÐwcÐwcÐwcÎr_Ìp]Ëp[ÍnZÉjVÉhTÇdNÆaKÆ`JÉaJÊ`IÇ`GÅ^CÅ\AÆ]BÈ]BÄY=ÆY=È[?Å[<Å[<Ç`@ÇbBÈcCÌeEÌbCÊ`AÈ]AÈ\=ÅY7ÄT0ÂP,ÁM,ÄP/ÆN0¿O+ÁQ-ÆT0ÃQ-ÁO+ÄR.ÅS/ÃQ-ÀM(ÂO*ÄQ,ÅP+ÆN*ÈN*ÇM)ÃK'¿J#¿J#ÄM&ÅN'ÄM&ÃL%ÅN'ÆO(ÄN+ÃO,ÂR.ÁP/ÂO.¿L+ÄQ0ÂQ0ÄX9Ç]>ÀY9ÇcGÉlSÕ~jÚŠyÙŽ~Ü‘ƒÖÙ’„ᚌÕΆzÕ‚Ù•ˆÝ –í²¨ëµªèµ«î»±ð¿·õÇÀøÌÅùÌÈúÒÍüÖÒüÖÒûÒÏûÎÊóÇÀè¿¶¾<½CÆP-½CÂAÆEÂL)É]>ÉdNÉfRÍn^ÌqbÊufÐ}nÓ€qÑ~oÕ†{܂Ն{ÐvÔ‚vÔ‚vÒ‚wЄxÖˆwÑzjÇiVÌfSÍgQÌdMËaIÈ^FÇ`GÈbKÊfNÌgQÇdPÌiUÒp^Óq_Íq^Ëo\ÇjUÀbKÁ_GÎjRÑnXÐpYËlXÍnZÐs^ÏvbÏxdÎzhÍ{iÉzgÍv\ÍsZÌrYÈkTÌnWÊlUÐpYÐpYÎr_Îr_ÔziÔ|kÓ}kÑ{iÎxfÌvbÑ{iÔ~lÒ~lÒ}mÒ}mÑ~oÕ†y׌~Ð…uÌ€nÏnÒ~lÕmÓ~nÓpÓ€qÔ†yÔ‡wÔ‡wЂrЀoÏ}lÐ|jÐ|jÑ}kÏ{iÍzeÐzfÐzfÎxdÎxdËuaÏt_Îq\ÍnZÌlUËhRÊeOÇaJÆ`IÈ`CÇ_BÇ\@È[?É[=ÇY;ÆX:ÆX:ÈW6ÅT3ÅV6ÅV6ÅV6ÅU7ÅU7ÈX:Æ\=ÁW8ÆY9ÅV6ÆS2ÄP/ÇP0ÇP0ÁQ-ÁO+ÄR.ÈV2ÀN*ÆT0ÈV2ÆV2ÂU/¿T/ÀU0ÁS/ÅS/ÇQ.ÄN+¿L'ÂL#ÂL#ÁJ#ÃJ#ÂI"ÃI!ÂH ÄK!ÂJ&ÃN)ÃQ-ÄR.ÅQ.ÃO,ÄR.ÄT0ÇX>ÈV8ÇQ.ÆP-ÅT4Ë`EÈcJÄ`HÄaEÆgMÊnUÑyaËv`Ï}kÔŠxÕ}Úœ’æ«¡å¯¤è´¨íº°î½µóýøÌÅûÑÌýØÔüÝÚûÜÙüÖÔþÓÐøÌÅïÄ»»<¾J'Ê[;ÄR.¾A¹:ºC#ÄY=ÈbKÊeOÍn[Ô|lׄuÒƒvÔ‚vÉxiÏ~oÙˆyׄuÑzjÊo`ÏudÌtcËucÓzeÊkWÅ_IÆ\EÈ^FÇ]EÅYAÉ[CÅ\AÇ^CÈ^FÊ`HËcLÎiSÐmYÒq]ÍmVÌlUËmVÉiRÆcMÊeOËhRÊjSÈkRÈjSÊjSÎo[Îq\Ët`ÍygÍ{iÎ{fÏyeÑ{gÒ{gÑxdÏs`Ïs`Ðr_Ðq]Ío\ÔxgÑyhÑzjÓ|lÍxhËweÌvdÌvdÌxfËvfÐ{kÐpÔ†yшzÖ‹{Ñ„tÏ}lÏ{iÎwgÐ{kÒpÑ€qÒ„wÔ†yуvÎqÍnÍ{jÎzhÐzhÎzhÎzhÍzeÎxdÍwcÎxdÌvbÎwcËt`Ês_Êq\ÊoZÌoXËnUÊjRÊhPÉeIÉbGÈ_DÈ]AÈ]AÊ]AÉ\@ÆY=ÆY9ÅX8ÄU5ÆU5ÆR3ÆR3ÆR3ÆR3ÃV6ÁR2ÁR2ÄS3ÆR3ÄP/ÅQ.ÂN+ÂP+ÂO*¿L'ÃP+ÃO,ÅQ.ÇS0ÆT0ÄT0ÄV2ÄX6ÆX6ÇV5ÉV5ÅU1ÀR.ÄR*ÂP(ÄO*ÃN)¿H!ÂI!ÁGÁE¾E¿H!ÁL'ÂO*ÅO,ÂN+ÇS0ÆT0ÄV:ÅQ2ÅO,ÅO,ÇV6ÃS5ÀP2ÁM.¿O+¿S1Ã^>ÊiOÇmUÎzhØ‹{Ù“‚֘ݡ•⬡沦鶬궯ò¼ýÏÈúÖÐýàÛýêåüçåýàÜþØÔøÎÇóÈ¿ÀG'ÇY;À\@»P4µ>¿B#ÎY>È]H¿U=Ã]FÄcOÊraׄuØŠzÓ…uËxiÆqaÍxhÊraÈlYÇfRËjVÆgSÊmXÊjSÂ\EÅYAÆX@É^CÇ\AÊ\DÉYBÉ^BÅZ>ÆX>Ê\BÉ_GÇcKÉiRËnYÌhPËkTÊlUËlXÏnZÏlXÏoXÎpYËnTËlRËgOÎePÌcPÎgTÑm[Òp^ÎqbÏteÒwhÑyiÒ{kÒ{kÒ}mÒ~lÏzdÍwcÏygÎzhÏzjÔ}mÑzjÏxhÐxgÎxfÏ{iÍxhÓ€qÕ„uцxÌ„xÐtÎ}nÎyiÎwgÐxhÏzjÑ€qÒ„tÑ‚wÏtЂuÔ†vÐpÎ|kÒ{kÐzhÐxgÏwfÏudÏudÎuaÐtaÑubÒvcÐtaËmZÉlWÌkWÎkUÌhPÌfOÈbKÅcKÄcIÄ`GÄ_FÇ`GÆ_FÇ`EÇ`EÄ`CÅ_BÅ[<ÂT6ÁR2ÂQ0ÄT0ÁQ-ÁO+ÂO.ÃO.ÁL-ÂN-ÃQ-¿M(¿N&ÁL'ÂM(ÂM(ÂM(ÂM(ÂL)ÄN+¿K(ÆN+ÅO,ÇS2ÆS2ÇS2ÈU4ÆV2ÃU1ÄU/ÁR,ÃQ-ÄP-ÃN)ÂK$ÂI!ÂH ÂH ÂI!ÀK$¿J%ÁL'ÁK(ÂN+ÄR.ÂW6ÀT2ÃU1¿T3¿W:¿W:ÆW7ÇR-ÁN-¿R2ÊbEÉiQÌraÒ€tÕƒÖ“ŠÓ“ˆÓ—‹Ø£–éµ©íº°ì¸±òÀºüÌÆûÛÖýèãÿõñüðìûäâüÙÕùÏÊôÉÀÃS=ËaJÃ]G¾S>ÀO;ÅR=ÔdMÂY>½L1ÆX>ÇbLÈn]Ï}q׈}Ð…wÈ|jÄjRÌdMÉ_HÄdMÆgTÏeTÉcQÅnZÈbKÈV?ÈZ@Ä`DÇ]EÉ\FÈ_JÌ_IÊaFÈ_DÉ^CÍbGÍaIÈ^FÊcJÈcJÎcHÉeLÊnUÊpXÐq]Ñr_ÎraÊtbÍq`Íq`ÐqaÐq^ÍkYÎkWÒlYÑlVÎo[Ïp]Ñr_Îp]Ïs`ÑwfÐxgÑ{iÐ|jÑ}kÑnÒ€oÓ€qÖƒtÖ€tÐznÍzeÌuaÒxgÔoÔ…xÓ…xÔƒtÏxhÊs_ÌuaÎuaÎuaÐyeÒ|jÐ~mÏ~oÑmÊ|kÍ…tÙ‘…Õ‹ÎtÐtуsÏ€mÌxfÌvdÌuaÐwcÍudÌwgÌziÌwgÇo^ÅjUÆfOÇbIÉ_GÈ]BÇ[CÊ\BÉ\@È\=ÆZ;ÅX<ÅX<È\=É^=ÅZ>Ç\@Ç\@ÆZ;Ç[<ÅW9ÃV6ÃV6ÀT2ÄU5ÄU5ÂR4ÄR4ÆR3ÄP1ÂO.ÄQ,ÂO*ÁK(ÂL)ÃM*ÁL'ÀN&½K#ÂM(ÂM(ÃN'ÅN'ÅN'ÅN'ÇO+ÅM)ÄO*ÅP+ÅR-ÅR-ÇS0ÀL)ÃM*ÂL)ÃN)¿L'ÁL'ÃK(ÃH&ÃI%¾G ÃN'ÅP)ÃN)ÇS2ÅT3ÅY7È]<Ì`AË]AÆY=Æ[@ÊeLÈjSËweÒ‰{Ó“ˆÕ—Ô–‹Õ™Ü¤™è³©ï»´ï¿¹îÄ¿øÒÍûßÞúîêüùôþõñûâÞùÖÒ÷ÏÊúËÇÊkXÌoZÃfOÆdLÅ[CÂXAËfPÁbNÅ[CÇ`GÌiSÇkZÎyjÛ‰}؆zÍ|mÉlUÆ]HÆ\EÅgPÐs^ÎhVËeRÌt\ÆbJÃS<ÄU;Ã\AÊ^FÌ]GÉ_HÊ`IÆbPÆbPÇaNÈbLÉaJÈ^GÉ]EÌ`HÇaKÄ_IÅ`JÉ`KÐcMÑbLÎiPÒsYÏt_ÒwbÒwbÍr]Îr_Ïs`Ìp]ÉmZÍp[Ðs^Ío\Ìn[Ïq^ÑubÒveÑwfÏvbÑyhÐzhÐ{kÐ}nÑ~oÒpÌyjÌtcÌraÍsbÎyjÑ‚wÒˆ|ÓˆzÈzjÍvfÌtcÍsbÏsbÏsbÔxgÐufÌtdÐyiËzkÏ„vÚ’ˆÜ”Š×…ÕÒ‹}Õ…tÌzhÍygÎxfÑ{iÑ|lÒ€oÎ}nÑnÐ{kÍudÌq\ÉiRÄ`HÆ_FÄZBÅYAÃX=ÄY=ÄY=ÄV<ÅW=ÆY=ÅY:ÂT6ÄT6ÅU7ÆV8ÆU5ÇV6ÃR2ÇS4ÁS1ÂT2ÄS3ÄS3ÃR2ÆR3ÅR1ÆS2ÆT0ÅS/ÂN+ÃO.ÂN-ÁM*ÁO+ÀN)ÁN)ÁN)ÃN)ÁL%ÂK$ÃK'ÄL(ÃK'ÁJ#¿J%ÄO*ÀM(ÂO*ÂL)ÂL)ÃM*ÂM&ÀM(ÁL'ÃK'ÄJ&ÃI%ÀH$¼G ÀJ!¾I$ÄN+ÁN-ÁQ-ÂT2ÀQ1ÉY;Ä[@ÉdKÈhQÎwcÔ†vÚ–‰ß¢˜Þ¦›ß¥™ß§œç³§î»±ð¼µóýúÍÉþÖÑýàßýïìÿùôÿôñûàÜøØÓùÕÏúÐËÉpbÉq`ÈkVÄbJÁW@ÂYDËgUÎqbÊiUÇgPÍnZÎr_ÒzjÓ~oÕ€qÑykÐs^ÍgQÆaKÅkSÔ{fÌkWËhRÊnUÈfNÅU>ÇX>ÄY=ÆW=ÊZCÅ[DÇ]EÊ^FÉ_GÍcLÍeNÐgRÈ_JÈ_LÏcQÍgTÊgSÌgQÌdMÌ]C¿L1ÁQ3É^=ÂcIÇhNËnUÊmVÍr]ÏvbÌtcÈp_ÊoZËp[ËnYÎq\Ïq^Ïq^Ïq^Ïq^Îp]ÐtaÐveÐzhÐ{kÑ|lÐ~mÌziÓwfÑs`Íq`ÍugÒƒx؆؄Ԋ~ÙŠ}؇xÒ}nÌueÍsbÓwfÑudÐtcÎvfÏ|mЄxÓ‹Õ…Ø“Š×’ˆÎÒ„sË{jÊxgÍxhÑnÐpÒ„tÏtÒ…uÑ„tÏqÎ|kÌtcÌoZÉfPÆ`IÈ`IÆ\DÃZ?ÅZ>ÇY?ÅW=ÆY=ÄX9ÆV8ÁQ3ÃT4ÄS3ÂQ1ÃR2ÃO0ÃP/ÂQ0¿N-ÂO.ÂO.ÀM,ÃP/ÄQ0ÅR1ÂT0ÂQ0ÄQ0ÅR1ÄQ0ÆS2ÉV5ÃR1ÃQ,ÁN)ÂO*ÃN)ÁL'ÂJ&ÂJ&ÁI%ÀI"ÀI"¿J#¾I"¿J#ÁI%ÃK'ÃK'ÄO(ÃN'ÁL'ÂM(ÃI%ÃI%ÁI%¿J#ÁK"¿H!¿I&¾H%½J%½K&ÂP,ÅQ2Ä`GÏoWÄkWЂrÙ“†ß£—寤Ⱔި⮢紪컱컳ðÀºýÎÊþÖÑûßßüîìÿ÷ôþðíþãâýÞÛûÛÖû×ÑÉm`ËpaÐtcÒs`ÑnZÎjXËl]Ém`Ìp_Ìn[ÇjUÊlYÎtcËseÏwiÌtfÎveÌmZÍnZËt`ÏyeÌmZÅ_LÅaIÌjRÅT:ËX=ÄW;ÉU<ÇU>ÅYAÅZ?ÇW9ÈZ<ÇZ>ÅZ>ÄY>ÆZBÈZBË[DÊ`IÌhPÈiOÀaGÃ`DÈ`CÉ\@Ê\@Å^EÄ]DÆ`IÉeMÌiSÎmYÑo]Îo\Ïr[ÍpYÌmYÊkWÉjVÉjVÊlYËmZÎq\Ïq^Ìp]ÌtcÏwfÎwgÑzjÏxhÐr_Íp[Ío\Íud׆w׋Õ‹ÖŽ‚Ö”‰Ù”ŠÖŽ‚ÐƒsË{jËweÆo[Ìs_ÐxjÑsÓ‡{Ј~ψ~ԃՆϋ~Ó…uÍoÎ~mÍ}lÌ~nÌ~qÏ…yχ{ÑŠ|Ó‹Ó‹Ó‰}Ô…xÓ~nÎr_ÈjSÊeOÇbIÈaFË`DÊ\BÉZ@ÈZ>ÆX:ÄX9ÄX9ÄY8ÄW7ÃV6ÁT4ÁT4¿R2ÁP/ÂO.ÄQ0ÃP/ÁN-ÅR1ÅR1ÀO.½O+¿O+ÂO.ÀM,ÀL+ÃO.ÆS2ÆS2ÅS.ÃQ,ÆS.ÆQ,ÃN)ÂJ&ÃK'ÂJ&¿I ÁK"ÁK"¿I ÁJ#¿H!ÂI"ÄK$ÂK$¾I"¾I"ÁJ#ÄJ&ÄJ&ÄL(¿L'ÀJ!ÁL%ÀK&¾I$½H#ÀK&¿K(ÃP/ÈkRÐwbËyhч{Ûš‘é°§í»¯æ¶ªä®£å³§é¸®í¾¶ï¿¹òÿûÑÌÿÙÖûçæýñïüóðýìëÿéçÿçãüãßüßÚÈn]Æn^ÈpbËvgÑ|mÌwhÎyiÉucÇk^Ên]Ìn[ÉmZÆn]ÉrbËvgÏzkÅudÉq`×}lÊvdËweÌp_Â[HÍcLÇcJÀL3ÁL/ÀP2ÉT9ÍY@Ë]CÏaGÆ`JÇaKÈaHÈ_DÉ\@ÆW7ÄQ0ÃO.ÁS7É^BËgJÏlPÍiPÉcLËbMÌcPÎfOÊbKËcLÊbKÈbLËeOÍgQÎhRËhRÎkUÓs\Öv_Òs_Ïp\Íp[Ïr]Îs^Ìq\Èo[Ít`ÐveÍsbÎraÊn]ÊmXÉlUÌnWËp[ÑyhÎ{lÎr׉|ΆԓŠÝ˜Ž×ƒÓˆzÎ~mËweËucÏ~oÔ‡wÒ‰{Í…yχ{Ï…yч{Î…wЂrÌ~nÏ~o΀pÊ|oσwχ}Ò‹ÑŒ‚ÐŽƒÓ‡Ò†ÓŒ‚цxÏnËweÈkVÀcJÄaEÇ^CÆ[@ÆX>È[?Ç[<ÄY=ÄZ;ÅY:ÄX9ÀT5ÂV7ÂV7ÅW9ÄV4ÅT3ÅT3ÆS2ÂO.ÄS2ÂQ0ÀR0ÀP,ÀN*ÁM*ÀL)ÁK(ÃM*ÁK(ÂL)¿M(ÀM(ÅR-ÆQ*ÇP)ÇO+ÆN*ÅM)ÁK"ÀJ!ÄK#ÁH ÂI!ÂI!ÂI!ÁH ÂL#ÀL#ÀK$ÂK$ÅL%ÇM)ÅM)ÃP+ÂM&ÄQ,ÇU1ÅQ.ÃP+ÇS0ÀO.ÆX:És]Ö‚p׉|ÓŽ„Û•à© æ³©çµ©è²§ë¶¬í¼²ñºöÈÁ÷ÍÈùÓÏüÙÕûìêþ÷ôûöóýñïÿìëÿîëýìéýéäÑr_Èk\ÆlaÆqgËynÎznÐyiÊs_ÇoaÈp`ÏudÑyhÎwgÊufÍxiÐyiÊxgÒziÐtcÆl[ÎvfÐqaÉbOÏ_IÁX=ÀJ-ÀK,¾O/ÂM0ÆQ6ÆW=Ê\@Ä_IÇbLÎhRÐhQÎdLÐeJÉ^CÄY=¾R3½O1ÂP2ÇT9ÌZCÎaLÈ`OÆaRËhRÈeOÈeOÉdNÈdLÇcKÈdLÉcLÈdLÈdLÊeOÊgQËkTÌnWÑr^Ïr]Îs^Ír]Ìs_Êq]Ïs`Ïs`Ïq^Îo\ÊpXËoVÌoVËmVÌn[ÎvfÐ}nÖ„xÑŒƒØˆÞ—×…Ó‰}Ó…xÐpÑnφxÑŠ|ÒŒω|ІzÍrÏ€sÏ€sÌ{lÇvgËzkÍoÌ~q΄xψ~ÑŒƒÎ„Іѓ‰Ð’ˆÑ‡ÓŽ„ÖŽ‚шzÓmËu_ÄhOÃbHÇ`GÇ]EÆ\DÁZ?Æ[@Ç\AÊ_DÊ_DÆX>ÄV<ÆX>ÇY?ÅY:ÃV6ÅV6ÅT4ÅT4ÄU5ÄU5ÄV8ÈV2ÅS/ÃP+ÅP+ÆN*ÃK'ÂJ&ÃK'ÀK&ÀK&ÃN'ÄM&ÃL%ÅN'ÅM)ÃK'ÁK"ÀJ!ÁH ÀFÁG¿E¾D¼C½D¼F¿I ÁH ¿FÀG ÀH$ÀM(ÀN*ÃU3ÅX8ÅW5ÃR1ÈY9Ã[>ËgNÏp׊zÖŽ‚Ö“ŠÛ•Þ¥œæ±§ì¹¯í¶­ó¾´óºöÈÁúÍÉûÓÎýØÔüÛØøéæüöñûöóûññüððýõõÿ÷ôÿôòÎsdËpaËobÉpbÉqcÎvhÎsdÐsdÊyjËyhÎyiÒ}mÍzkËvgËseÌraÉp\ÓvaÍjVÎlZÑs`Íp[ËeNÅV<¼N0ÃI+ÂK+¾P.ÁM.ÄO4ÃR7ÄQ6¿R2¾P2ÁS7ÆW=ÇZDÏfQÑnZÐn\ÐiNË^BÌY>ÊS9ÄN5Ë[DÍcLÌfOÊjSÍmVÊjSÊgQÉfPÆcMÉfPÊgQÌhPÊfNÇcKÇcKÇbLÆcMÈeOËhRÉlWÎq\ÑvaÐtaÌp]Íq^ÐtaÑs`Îq\ËnWËnUÌnWËlYÐufÔrÔ…xÓ‹Ú“‰Û”Š×’‰ÑŒ‚Ø‘‡Ø„Ó‰}ÒƒÓ‘†Õ“ˆÒƒÒŠ~Ñ…yÍrÊ|oÌziÇudÍ{jÌ{lË}p̓wÑŠ€Ô†Ñ“‰Ò”ŠÔ—Ó–ŒÒ•‹Ö˜ŽØ—ŽÔ“ŠÖŽ‚Ò†tÉvaÇlWËkTÆcMÅbLÂbJÇcKÇcKÇcKËgOÌhPÄ`HÆbJÆ`IÃ[>¿U6¿S4¿Q3ÇW9ÄV8ÄV8ÃV:ÂQ0¿N-ÂN+ÅP+ÄO*ÄL(ÃK'ÃK'ÁJ#ÂK$ÂK$ÃJ#ÃJ#ÄK$ÁJ#ÁJ#ÂL#ÂL#ÄK#ÃI!ÄJ"ÀF¿E¿FÀF¾E¿F½D¾D½D½E!ÁK(½P0ÀW6Å^>Ç`@Æ[?Ä[@ÈhPÍt_ÏŠ{ÑŒ}Ҏؘߢ˜â© é´ªò¾·ñ¾´òÁ·ôƾ÷ËÄúÐËûÒÏýØÔþÞÛýåáýîëüóðýóóýööüüüýþüþúùÈ}o΀pÐ~mÎzhÍygÌwgÏzkÖ€tЄrÏpÏnÎ}nÆthÆpdÆk\ÅfVÀ`IÄ^HÀU@Æ]HÄcOÍpYÄ`GºM1ÁP0ÉL-ÅM*½O+ÀL-ÂM2ÆS8ÇR7ÃR1ÄQ0ÄO0ÆP3ÄO4ÄU;È^FÈcJËgOÉbIÅZ?ÈZ>ÄV8ÂV7ÃW8Ç[<Â]DÈdLÏkSÎiSËfPËeRÉcPÎhUËkSËiQÉgOËgOÌfPÈbLÉcMËeOÉhTËlXÑs`ÒvcÐwcÓzfÑxdÊq]Ìm]ÌoZÍoXÎpYÎo\ÌtdÏ}qÒ‡yÓ€Ù•ˆÕ•ŠÕ—֙ݠ–Üž“Ô–‹Ö’‹Ô“‹Ô“ŠÔ‘ˆÖ…Õ‹Ñ…yÍ‚tÊueÊueÎ|kÓ‚sÏtÏ…yÓŒ‚Ö‘ˆÔ•Ö˜ŽÚ“Ù‘Ùž”Û –Ý¢™Öš”Õ”‹Ó€Ñ…sÑ{iÓwfÎo_ÒtaÏt_Íu]Îv^ÇnYÄkVÌq\ÉnYÍr]ÊoZÎgLÇ_BÃX<ÄX9ÇY;É[?Ê]AÉ^CÅU7¾M-¿L+ÁM*ÂM(¾I$¾I$¾H%ÃJ#ÄK$ÂI"ÀG ÀG ¿FÀI"¿H!¾G ¾G ÂI"ÂG!ÁF ÁF ÀEÀGÀFÀHÂJ ¾E¾D¾C¾F"ÈR/Ê^?ÈbEÅaDÆbFÎgLÈdKÉnY؆tÜÒ“…Ø™‹Ûžß£—ã« í·°ôÀ¹òĹôǼöËÂúÐÉþÑÍüÑÎúÓÑý×ÕüÙÖùãÞúëéÿõõÿûüúÿþúÿÿüþþÑŠ€Ò‹Ñ‰Ð…|É~uÉ€xÓŠ‚Ö…Ô‰€Ð†zÌsÉ{kÈthÅl^ÅfVÁbO»[DÂV7ºL*ÈaHÒs`ÎnWÀU9¹H'½K-ÈV8ÇR7ÅN4ÅN4ÄO4ÁO1ÃR2ÃQ3ÀP2Ê[;ÊZ<ÉW9ÇV;ÃU;Æ\DË\FÌ^FÉ[CÊ_DÇ\@ÆZ;ÄR4ÆQ2¾K*¿N-Ê[;ÍaBËdIÊfMÇgOÉkTÍkSÊhPËhRÌiSÎkWÎmYÏm[Îo\Ðn\ÏnZËnYÌs_ÐxhÔ|nÐ{lÈsdÎt\Ðs^ÏwfÎ}nËymÐwlÏqÍ‹yӀؑ‡Ø•ŒÛœ”࢜㧡ޥœÓœ“Õ”‹Ð†ÑŽ…Ñ‘†Ó•ŠÔ”‰ÓŽ„Î†|ÈzjË|oÐvÓ†}χ}Ћ‚Õ’‰Õ”‹Ô–ŒÔ™× —Ö¡—Ú£šÛ¤›Û¤›Ø¡˜Õ—ŒÑ‘†ÏŠ€Î†z̓wÎtÏ€sËymÌzhÍ}lÉ{jÆxhÌ~qÍrÐ…wÉ~pÍygÄnZÄiTÀ`IÀ\DÅcKÉlSÇoWÅaH¼R3ÁO*ÁL%ÂL)ÀL+ÃL,ÅM*ÁN)ÂP(ÂM&ÂK$¾H¾EÂG!ÃH"ÂH ÀFÃI!ÁGÁG¾DÁG¾DÂF»E¼G ÁH ÄCÄC¿G#ÂT0ÉdNÌrZÄpWÈq]ÌtdÏ€sЊ}ÛšŒâ§Ý –ÛŸ“ᥙচ宥깱ñÁ»ôÆ¿öÊÃùÏÊøÒÍúÔÏûÕÐþÖÑøÎÇùÔÐüâÞûìêþøùÿýýÿþþÿþþýþüÚ—ŽØ•ŒØ“‰ÕŽ„Ò‹ÓŒ‚ÖŽ†ÖŽ†ÕŠÐ†zÌsÈzjÈsdÅj[ÃdTÃbNË[IÅQ8ÅX<ÏoXÒvcÇaKÉT9ÉK/¿K,ÀK,ÄL.ËS5ÈN0¾F(¾I*ÀK,ÇR5½L,ºI)ÂO.ÄO0ÄO0ÇV6Ì\>È]AÇ\@É^BÑiLÑiLÄ\?ÂW;ÄW;ÂQ6ÃR7ÆX<ÄU;¿Q7ÆZBË_GÍcKÉdKÈcJËcLËcLÆ`IÇaKÊeOÌgQÍgQÊfNÉgOÇiRÏq^ÒveÕyhÌp]ËkSËjVÑwfÕ„uÓ…xÔ€tÑsÒ‡yÖŒ€Ñ‰}×’‰Ú›“ߣ嫥⩠ܣšÚ“Ö˜ŽÕ”‹Õ”‹Ö˜Ø˜×•ŠÕŽ„Ï†xÔ‹}׃օԅԓŠÖ˜ŽØšÖ™Ø“Ú¡˜Ø¡˜Û¢™Þ¥œà© ßª Þ¦›Ö›‘Õ—Ô”‰×’ˆÖނՋ̓wÎqÏ„tÒ‡yÔ‹}ÔŒ€×ƒ×ƒÔŒ€ÕŠzσqÑmÎuaÂePÏr]ÒyeÊt`ÊhPÆ`CÁU3¼J&½K'½K'ÁN)ÂM&ÁL%ÀK$ÁL%ÁJ#ÂI!ÁH ÁH ÂG!¿F¾E¿E¾D¾D¾DÀF¾DÀD¼C¸D¾EÁB¾A½I&Ä[:ÉcPÌq\ÎycÔ~jÖ…vÙ•ˆã¬Ÿñ¼¯ñ¼²å¯¤ß§œç°£é³¨î»±ðÁ¹õÇÀùËÄüÐÉûÓÎûÕÐý×ÓþØÓýÕÐ÷ÍÈõÕÐþèãýõòüýûùþýúüüýûûúöõÜž–ךؗŽÕ“ˆÓŽ„ÒƒÓŽ„ÓŽ„ц}΂vË}pÆxhÈsdÆk\ÃdQÁ`LÅWE¿O8¿R<ÈbOÈaN½O5½F,ÀH2ÇP0¾E%µ:´:ÁF"ÂG%ÇL,ÆM-¾I*¹E$¸D#¾H%ÅJ(ÂG%ÅM*ÂN+»L,¼M-ÃU7ÅW;É\@Æ[@Ç^CËaIÍcKÍaIË_GÈZBÅV<ÈW=ËZ@ÊY?Å\AÊ_DË`EË_GÌ`HÉ]EÈ\DÅ[CÆ\DÈ_DÉbGÇbIÈdLÌgQËgOÈdKÅ^CÄ\EÅdPÌwgÑ„tÑ‚uÔ€tÔ€tÎrËsÓŒ‚Ö˜ŽÜ¡˜æ­¤ä«¢ß¦Ý¥šÛ –Ù›‘Ø—ŽÕ—Õ—Ø—Ž×”‹Õ‘„Ô’‡Õ“ˆÓ“ˆÑ“‰Ô–ŒÕ˜ŽØœ×œ’ן”Ú¡˜ØŸ–Úž˜Þ¤žÞ§ Þ«¡á°¨à­£Þ§žÜ¤™Ú“Ù™ŽÖ–‹Ñ„ÑŒ}Ó‚Ø”‡×•ŠÔ”‰×—ŒÕ•ŠÕ•ŠÒ’‡Ò‘ƒÓŒ~ÍoÎyjÕ€qׄuÉ{kÐr_ËiQÄ\?ÀQ1ÀM,¾J'ÀI"¾F¾G ¾G ½GÁH ÀG¿FÁH ¿F¾E½D¾D¾D½CÁE¿C½A¿CºA¹C¼C¼@½E!ÄV8ÌhOÉmZÌvbÌ{fÐnÒŒ{áªó¸üËÃ÷ÉÁðÁ¹ì»±ì¹¯ï¼²óļöÈÁøÌÅúÐÉüÔÏüÖÑýØÔýØÔýØÔúÒÍøÎÉöÓÏûâÞþõñúø÷÷øöùôõúòóûïïݤ›Ø”ךՔ‹Ó‘†ÑŒ‚Љ·}Ë€wÊ~rÉ{nÆufÆqbÆk\ÁbO¿_HÁ]E¿X?ÀS=ÇZEÃT:ÃO.¿K,½O7ÄL.¼E%·=»@¼A¾CÀD"¿D$ÅM*ÌT1ÇO,ÃK(ÁF$¼A¾F#ÂL)ÇS2ÀL-ÄO2ÁL1ÃN3ÆQ6ÉX=Í_CÆ^AÃ[>ÅZ?ÅZ?ÇY?É[AÉ[AÊ\BÆ[@Æ[@È]BÉ[AÇY?Ë]CÈZ@Æ[@ÇY?È[?Ë^BÉ^BÇ\AÈ\DÅZ?ÄY=Æ\=ÇY?Æ\EÃdPÐ|jÎ}nÊufÈoaÇteÌ}pÓ‹זؔߦ৞ᦜۨžÙ¢™Ú“Øš×™Ö˜ŽØšÛš‘×™ŽÔ–‹Ò”ŠÓ•‹Ð“‰Ñ”ŠÓ—‹×›×Ÿ”Ø •ØŸ–Ö›’Û —ݤ›Ý¨žâ±§å¶®â±©Þª£Û¤›Ù —ؓ؛‘Ò•‹Ò’‡Ô”‰×™×™Õ˜ŽÕ˜ŽÔ—Ó–ŒÒ•‹Ô–‹Ô”‰ÒŒרŒ€×̆yÔpÏudÉfRÇ[CÇU7ÄL)ÃGÁC½D½D½D¿F¿F¾E¿F¾E»B¾D½C»A½A¿C¿@ÀA½A¿F¿G¿F¾EÄP-È_DÑqZÊydÉ|i΂pÔ‰yÚ™Šê¶ª÷ÈÀÿÎËúÐËùÏÈùËÄðºôŽùËÄûÏÈüÒÍúÔÏüØÒþÛ×ýÝØûØÔøÓÏ÷ÑÍÿ×ÒþÓÐüÚ×þçãýëèúëéûëìýíîÿóôߨ¡ØŸ–×™‘Ô“ŠÔ…ЉΆ|ÌxË~uÊ{pÆyiÅteÆqbÆk\ÄeR¾^GÀZ=»P4¹J0ÀQ7ÀL-½D¼F#»L2ÈU:ÀK.½I(¿G$½C¾C!ÀE%½A#¾C¿E!¾F#ÄL)ÄK+ÇN.ÅM/ÄO0ÆQ4ÈV8ÉW9ÆQ6ÅN4ÆN1ÀJ-ÂN/¿N-¾M,ÂQ1ÂR4ÇW9É[?ÈZ@ÅZ?Å\AÇ\AÉ^CÇ\AÈZ@ÅZ?Ç\AÇ\AÇY?ÆY=ÆX:ÅW9ÇY=ÆW=ÇY=ÆZ;ÁX7ÅY:Ê\BÄ\EÆgSÌvdÎwgÉqaÎyiÒrÕ‹Õ“ˆÕ˜ŽÙž•৞䩟ܩŸÛ¤›ÚŸ–Ù›“Ùœ’Ñ”ŠÒ•‹×™Õ—Ó–ŒÓ–ŒÓ–ŒÓ•‹Ð’ˆÏ‘†Ô”‰Ò˜ŒÔœ‘ؓל“Ù›“Ý¢™à«¡æµ«ä°©Ü¦ŸÜ¥žÞ¥œÝ¤›Ùž•ؔҗВˆÓ•‹×˜×™‘Ö˜Ô–ŽÔ–ŽÒ•‹Ô–ŒÓ•‹Ó•ŠÒ’‡ÓŽ„Ô…×•ŠÔ–‹Õ†Í‚tÅo]ÆcMÇY;ÂL)ÂG!ÁE½D¾D¾DÁG¿E¿E½C¿F½D½D¼C½A¼@¿AÀBÁC¿A¿C¾E¾DÄK$ÇT3É^CÔq[Ñ{eÐnÔ‰yÞ–Šà •ë·«÷ÇÁÿÍËøÐËøÐËúÐË÷ËÄøÌÅ÷ÍÈùÑÌüÖÑûØÔúÚÕüÝÚüßÛüÝÚýÜÙýØÔý×ÓûÐÍúÑÎýØÔÿÞÛþáàýååýíîýôô㩣ܡ˜Ø™‘Ó‡ÓŒ‚Ј~Ï„{ÎxË|sÉ{nÅwgÃrcÅpaÅj[ÅfVÀaM¼X<»M/¶@#´9¼? ¼?ÀJ'ÄV>ºO4¼M3ÂP2ÄO0ÃL,ÁH(ÁF&½B"½B¿G$¼F#¹B"½E'¼D&ÀK,ÇS4ÉY;ÆY=Ç_BÆ[?ÇV;ÃN1ÀM,ÀP,ÇK)ÂG%ÂG'ÃJ*ÃN/ÅP3ÄQ6ÄS8ÃV:ÅX<È[?ÆY=ÇZ>ÇZ>ÇZ>ÄY=ÈY?ÄV:ÃU7ÅU7ÂQ6ÀO5ÄS8ÂT6¿U6Ã\<È_DÌbKÎhUÉp\ÌxfÌvdÈveÎ}nÓˆzÖ…×–Û•Þ¥œâ© Ýª Ü¥œÜ¡˜ÚŸ•ÚŸ•Ó˜ŽÑ”ŠÔ–ŒÐ’ˆÏ‘‡Ô–ŒÕ—Ô–ŒÒ’‡Ñ„ÌŠË‹€Î…Ô–‹Õ—ч՗ݢ˜Ü¦›Ùž”Ö›‘Ùœ’Ý –Û•Õ—Ö˜Ô–ŽÒ”Š×˜Ú›“Ùš’Ö—Ò“‹Ó•‹Ô–ŒÖ•ŒÓ•‹Õ—Õ—Ñ“‰Õ•ŠÙ›ß£—Øž’Ô“…Ê~lÂfM¿T3¼I$ÀK$¾I$ÂIÀG¾DÂG!ÁF ¿EÀF¾D¾E¿FÀDÀD¾B¿A¿A¾@¾@¾BÀFÀF¿H!ÀL)ÁS5É^CÅ^EÉp\ÕŠ|Û”Šà¢˜í»¯õÇÀûÎË÷ÏÊúÒÍýÓÎúÒÍûÓÎûÕÑûØÔþÛ×ûÞÙûàÜüãßüãßþãßÿãßþßÚûØÔ÷ÑÌòÌÇ÷ÏÊüÓÐþÙÕþâáýîìùññà© Û¢™Õ˜ŽÔ‘ˆÑ‰Ï†~Ï„|ÊwÉynÇxkÅwgÄsdÆqbÅl^ÃfWÀbO»]FÁV;ÄN1¹@&¼D'¹E$¿Q3¿YB»T;»R7»M3·D)½E'ÄK+ÅJ(ÀF"½F&ºF%¿K*¿K*ÂI)»B"ÀH%ÃN)½I*¸L-¿Y<ÀX;ÅW;ÉT7ÇS4ÀO.ÊS3ÆO/ÃL,ÆN0ÁI+ÄL.ÂM.ÄO0ÄS2ÃR1ÂQ1ÃR2ÄR4ÃS5ÅU7ÆX:ÆX:ÉY;ÇX8ÊY9ÉV;ÈU:ÊZ<ÇX8ÈZ@ÆbIÇgOÎkUÌjXÉq`ËweÊtbÅvcÉ{jÐ…wÓ‹Ó‡Û•Þ¥œà© Ý§œÛ£˜Ú¢—Ø •Ú¢—Ւ֙ѓ‰Ï‘†Ñ“ˆÒ•‹Ò•‹Ó•‹Ó“ˆÎŒÆwÃ{oÅr͉|Όˆ|ÏŠ€Ñ„Ð…ÐÏŽ€ÎŒÐŽƒÏŽ…Ô“ŠÔ•Ô•Ñ“‰Õ—×™Ô–ŒÏ‘‡Î†Ñ‘†Ò’‡Ò”ŠÕ˜ŽÖ›‘ל“×™‘×™Úœ’Ú“Ø—‰ÒŠyÒ|h¾Z=µC½D¿F»E"¿G½E¾DÀEÀEÀE¾DÀD¾B¿C¿CÀD¾B¿C¿C½A¾A»?¼AÀG ºC»F½I&ÂO.»K-ÊpXߘŠá —â¤šé³¨í¿´öÊÃ÷ÏÊûÓÎûÕÐþØÔüÙÕûÝØýáÝþåáûåàûåàûæäüçåýæäÿæâþßÜýÝØøÐËðÈÃôÈÁöÊÃúÍÉü×ÕþæäüêéÞ§ž×ž•Ò•‹Î„Ή€Ë‚zÈwÄyqÅujÃtgÁscÂqbÄnbÄl^ÃhYÀdS¿]M¾V?Ã[>¿\@ºY?¼X<ÀY@Ã[J¿[BÄ]DÅW=¾K0·A$¹@ ½C½B»F)ÂN/ÅQ2ÉU4ÄL)¼Aº@¼CÀE%ÆR3Ê^?ÅZ>ÃR8ÆO5ÇQ4ÄO2ÀS7½O1ÀP2ÃQ3ÁM.¿L+ÀL+ÁM,ÄN+¿I&¿I&ÂN-ÅQ0ÁM.¿K,ÀL-¾N0¾M-½L+ÂN/ÂM0ÁO1ÄR4ÄS3ÆV@ÅeNÂlVÆmYÉm\ÈqaÇrbËtdÃvcÇyhÍrÏ„{Ή€Ü•᨟ߪ Ú¢—ן”Û£˜Þ¦›Ù£˜Ôœ‘Ùœ’Ö•ŒÑ“ˆÓ•ŠÕ™Ó–ŒÒ”ŠÓ’‰Êˆ}Á|rÃtgÁvhÃ{oÇtÈ€tÇuÅ}qÅ}qÃ~oÄpÇtȃyʈ}ÍŒƒÒ‘ˆÑ’ŠÍ…Í…Ð’ˆÍ…˃˂ΎƒÏ„Ï‘‰Ô™Ö”ØŸ–Úœ–טؗזŽÐpÁiYÊeO¾J+¼=Â?ÂA¼@»C¼D¿F¿D¾C¿B¿C½A»?¼@½A¾B¼@»?¿C¿C»>½>»@ÀF"»BºCÁJ#ÅK'ºL*Ñ|bØ—ˆß¡™â£›ä§ìµ¬úÆ¿øÐËýÕÐÿÙÔþÛ×þàÛÿåáþéäÿíèÿìçþêåýêçûèåÿêèÿèäþáÝõ×ÒöÇÃóžöÆÀöľóÁ»öÆÄõÍÎûØÚ᪣֛’Ó’‰Ïˆ~Í…yËsÊ{pÈvjÅsgÃrcÁn_Àk\Âj\Äl\ÃhYÀeV¿dU¿eTÁeTÁcPÀaN¿^JÀ_K½\H¼ZH»ZF»XB½V=½L1»C%»@º?½E'ÀP2ÂW;ÃX=ÂQ7ÂN5½O3¼Q5ºZBÄdLÇeMÅaIÀXAÄZBÃX=ÁT8ÅW3ÀU4ÃV:ÄS8ÁL-ÁI&ÀH%¾J)ÄL(ÂJ&ÀJ'ÀL-ÃQ3ÀP2ÃO0¿K*»I+½H+ÀK,ÀL+ÁL-ÁL-ÁL/ÄO4ÁYBÊfNÊmXÈo[Ån^Ån^ÇrcÇteÅwfÇzgÍoÍ„vΉÚ›“ߦިܠ”ן”Ø£™Ú¦ŸÛ¥ž×ž•ל“ؓԛ’Õœ“ÚŸ–×™‘Ò‘ˆÏŠ€Ê‚vÄxl¿tf½rdÀugÄviÇylÄviÄykÂwiÀwiÃzlÉs˃yÉ„zÑŽ…Ñ“‰Ó–ŒÓ“ˆÏ„фςь‚ΉÑŒ‚ÑŒ‚Ñ“‰Ø›‘Ü¡˜ØŸ–ÚŸ•Ùœ’Ö•ŒÕ“ˆÎs^»F)ÁF"´?µ9¿9À>ÀA¼?¹?¹@·>¼@ÀAÀCÀC¾C½B¾@¿AÀBÂBÀ@À@À=¼@¿I&¼F#»AÁI%ÃS5ÉaJÀ`P×€pÚܚ䦜笣뵮õļýÊÃúÐÉúÝÖûåàùâàûããþéèÿðïÿóïüíêýéèýêçÿíêÿèäýÛØóÊÈôÆ¿÷ÉÂúÊÄüÉÆÿÌÊúÇÄè·¯í¼²Ü¥œÒ”ŒÎ‹‚ʃyÈ~rÄxlÆwjÄrfÄsdÂo`¿l]¾iZÀhZÁiYÁfWÁfW¾fV½eT¿eT¾bOÀbO»^I¾_K¼]IÀ]G½ZD»W?ºS:½O5¾K0ÀK.½H+ÀO4¾U:Á\C¿YBÀV?ÄWAÆ\DÆbIÄfOÇhTÈgSÄcOÆaKÇaJÅ^EÇ]EÇ]>ÂY>Å[CÄV<ÂN/¿G$½E!ºBºB»CÃK(¼H'ÀN0ÃR7ÄT6ÄS3ÂL)ÃO,ÁM,ÁM.ÃQ3ÁP5¾O5ÄU;Ä\EÄaKÈkVÆo[Äm]Äm]Äo_ÅrcÅudÇwfÊ~lÍ‚t·}×–ŽÚŸ–Þ¦›Ü¡—Ù£˜ß¬¢â¯¥á¬¢Ý¤›Ùž”Ö™Õ—Ð’ˆÎ†Ï„ÐŽƒÌ†yÆ|pÁui¿rb½p`¾p`¿qa¿qa¿qaÁsc¾qa¾seÀwiÈ~rÇsÉ‚ẋ}Ð…Ñ‘†ÌŒÊˆ}ˉ~͈~ˆ|Ê…{ΉЋґˆÓ•‹Ø›‘ל’Ø›‘ؚؖ‹Ô…ÍpW¼H'¼=µ;º:½8 ¾>¾A¿A»@»B»?¾=¿:¿;¾<º=¹<»>»=º<½=¼<¾>½@¿FÅQ.ÁM*¾K&ÁQ-ÇcFÒx_Ér^Ô…rÕ~тܛ’誢õÀ¶óžõËÆüØÔÿèäÿìêüêéúëéÿòðüñíüíêûèåüåãþæäùÚ×ôÎÊóÆÃõ¿ïÄ»öÍÄúÎÇûËÅ鵮宥֛’ÌŽ„͈ÇuÆznÄviÄuhÃqeÄqb¿l]Âm^Ái[¿hX¿gW½eUÁfW½fVºdRºbQºaM»_L»_L¼`M¿aNÁ_G¾\DÀ\D¿W@ÁT>¾R:ÃW?ÀV>¾XAÂ`H¿bKÀaM¿^JÅbNÇgPÅhQÀdQÀdQÀdQÄfSÉhTÉfRÈcMÇaJÊdMÆbJÄ^HÆ\DÊ\>ÁM*ÂJ&ÀH$½D$¿D"ÂH$¿I&ÀO/¿Q5ÀS7¿R6ÅN'ÁL'ÀM,ÂR4ÅW=Æ\DÃ[DÇ_HÂ^FÁaJÇlWÆo[Æp^Æo_Ãn^ÄraÁo^ÄtcÊ|lÍ‚tЈ€Õ”ŒÛ•Ý¥šÒšÖŸ–Þ©ŸÛ¦œØŸ–ך֘Ҕ‰Ò~È‚uÂ|oÄ~qΆzÎ…wÃxjÀre¿n_¿n_¾m^¾m^¼k\¼k\Ào`Ápa¼qaÁvfÅzlÅ{oÃ{oÇ€v͈~ˆ|ȃyÅ€vÇ‚xʃyÈwʃyÌ…{ЉÏŒƒÏŽ…Ñ“‰Ï’ˆÕ—Ö•Œ×’ˆÑŠ€ÆlSÂO.º>³:¼<»;ºD½K'ÇV6ÁS1ÀP,ÂJ&½>¾9¾:½;¹9º:¼<¼<¼<¼<»=»=½<ÂG#ÄM-ÆO/¾H%ÂO.ÂW;ÑoWÑxcÎ}hÔˆvË„vÜ•‹Þ›’笣÷¸òÊÅöÌÇýÒÏÿààÿéçúëéùêèÿïîüðìûêçüåãýáàüÜÙõÐÌ÷ÌÉúÊÆù¿㭦ؤ˜á­¡æ±§ç°©â«¤ñ·±Ò•‹Ê‰€Ë„zÈ~rÆ{mÂtgÅsgÃocÄo`Ál]Ál]¿hX½fV¼dT»cS¼dTºdR¹cQ¸`Oµ\Hº^K»_L»_L»_L¼^G¼\EÀ]GÀ[EÀWB¿VA¿ZD½ZD¿_HÀcLÀePÀePÃeRÃfQÂeP¾eP¼cO¾eQÅiVÄhUÆhUÉhTÇdNÂ]GÃ^HÇbLÅaIÁ\CÂW;ÂS3ÄQ0¿K*¿G)ÀG'¾F#ÃM*ÆU5ÂU9ÄY>ÀW<ÂN+ºI(ÀR4ÀW<Ã]FÅ`JÄaKÈeOÆfOÀcLÃjVÆp^Ån^Âm]Àk[¿m\¿l]ÂraÇyiÏ„vЈ€Ô“‹Ù›“ÚŸ•Г‰Ó˜ŽÝ¥šÔ™Ð†ÑŒ‚Ë…xÄ~qÆzhÁuc¼o_½rbÃxhÂtg½p`ºm]»kZ¼l[»kZºjYºjYºiZ½l]¿n_½p`¿rbÂtgÂwiÀvjÃymÇsÅ}qÂ|oÂ|oÅrÅrÆ~rÆ€sË„zÌ…{ɇ|ÌŠτІӒ‰Ö”‰ÕŽ„Ì„zÄjRÀQ1ÂI"¬3 »>ÃJ#ÀR.Ë`DÐv^ËqXÉkNÅZ9ÂH$¿?½;¶9 »9»9»9¾<¹9»;»;¼?·;¾D ÁM*ÁM*¾G'ÂJ,ÉV;Î^GÉfRÉkXÉsaÎ{lÙŠׇ櫢ùƼöÏÇúÐËûÐÍýÖÔüÝÚûâàøáßüåãþéçýæäþáÝýÜÙûÖÒùÐÍûÎÊûÌÈöľޥœÒŒÍ~qÓƒxЈ~Ö˜ôÀ¶Ð†Íˆ~Ì„zÊ~rÇylÅviÅsgÅrcÅpaÃn_Àk\¿hX¾gW¼eU»cSºbR¹aQ¸`O¹_Nº^K¸\I¼^K¿aN½_Lº^Kº^K½_L¼[G¿YFÀ[E¿\Fº\E½_H½`KÁdO¾cNÁdOÀcNÁdO¿dO¿dO¾ePÁhTÃgTÄgRÃdPÄaKÀ\D¼W>Ä_FÉbIÂ[@Ä[@ÄY>ÁT8¿Q5ÂM0¿K*ÄN+ÀL+ÃS5Æ[@ÂX@ÁZAÁT8ÁV;Ã\CÄ^GÂ_I¾]IÁaJÈhQÇjSÆmXÇq]ÇsaÈscÃn^¾l[½kZÁn_Àp_ÄwgÊsΉ×–Ú“Ó™Ò†Ó“ˆÖ–‹ÒƒÅ}qÈ|pÂtg¾pcÀn\¾lZ»kZ½m\»m]ºl\ºl\·iY¹kZ¸jY»kZ»kZ¸jY¹k[»m]»n^½q_¿rbÁtdÁvhÁvhÂwiÄ{mÄ{mÁymÂznÅ}qÆ~rÈ€tÆ€sÊ„wʃyˆ|ˉ~ΌЅё†Õ“ˆÓŽ„Ì…{Êra¿U=ÁP0¸F(±ÄY=Å[CÅ[CÄZBÁV;ÆU:ÄT6¾M-·G)ºM1ÂX@ÀV>ÂX@¿W@ÂZCÈbKÊdMÈcMÂ_IÂaMÅdPÄkVÆo[Åq_ÉtdÉtdÃn_¾k\»kZ¿l]½m\¿rbÆ}o͆|Ø•ŒÚ™Í„ІzΆzÊsÈ}oÀrbÀm^¾k\ºiZ¸fT¸fTºhWºhW¹gVºjYºjY¹iX¸jY¸jY¹kZ¹k[¹k[¹l\¼o_¾qa¼o_¿rbÀugÀugÀugÂwiÃxjÄykÀxlÂznÅ}qÇsÇsÆuÉ‚xÊ…{Ê…{ˉ~Ë‹€ÎŽƒÑ‡Ó’‰Õ“ˆÑ„ω|ÉvaÅoWÇp\ÌraÉvaÇ{iׇ|וՈքxÍgP·9¾3º0¹2µ0¶1º5 ¹4¸5 º7 ¼9 ½:·>ÄHÈL$¾C!¿J-ÌhPÐ}gÏŠvÑ‹zÑ}ߞטŠÚ™à¢šñ»´ýÐÉÿÖÏüÛÒýàÙüÞÙû×ÓûÐÍûÑÌøÒÍúÔÐúÕÑùÖÒûØÔý×Óý×Óû×ÑöÔÎöÏÇÛ«ŸÑ•…ωxЇyࠕùÎÅ҅·}É}qÈynÆwjÃtgÂpdÄpdÀo`Àm^¿l]¿j[½hY¼eU½fVºbR¹aP¹aP¹_Nº`Oº^K¹]Lº^M»_N»_L¼cO¹`L»_L¼_JÀ_KÀaM¿`L»_L»_L¿bM¼_J¼aL»`K»_L½aN¹`L»bN¼eQ¿hTÃjVÆiTÅdPÃ`JÁ]DÀX;¾P2¼K0ÄV<ÅYAÅ\AÁV:¿T8¿U6ÄW;¿T9ÀV>ÃYBÄX@ÃU;¼U<¾T<ÃZ?Ä[@Ä]DÂ^FÄcOÂcPÁjVÄn\ÄraÈveÈsdÄo`¾k\¼k\½j[ºjY»m\¿tfËuÚ“‰Ú•‹ÇƒvË~nÅxhÀsc¼l[¼gWºeUºeU¹gV¶dR¶dR¸fU¹gV¹gV¹gV¸hWºjY·iY¸jZ»m]ºl\»m]»l_¼na½ob½rb¾sc¿tf¾ugÀthÂvjÃwkÅvkÀvjÂznÆ~rÈ€tÈwÈwÉ„zȆ{̇}Í‹€Ï„ΆΆВˆÓ•‹Ó•ŠÏ—ŒÒ‘‚Ñ}ÐÙ”‹Ô—‰Î•†Ö“ŠÒ”ŠÒ†ÐpÈaH´5».¸+±+µ.µ.·0·0·2¹4¹4»6 º5 ¼9¿@½I(ÄZB݃rÛ‚Ú›Û ‘Þ§šå°£ã­¢æ¯¦î¸±øÈÂþÕÐû×ÑûÛÖúâÜýèãþçãüÞÛúÕÑûÒÏüÔÏùÕÏùÙÔüÜ×þÛ×ÿÚÖþÙÕûØÔþØÓùÏÆä²¦Þ©œÝ¥šõ¿¸üÎÇüÒËÏŠ€Ì„zÉ}qÇxmÄuhÂsfÂpdÃoc¿ma¾m^Àm^¼iZ¾iZ¾gW½eU¼dTºdRºdR¸`O¹aP¸^M¹_N»aP¹_N½_H½`IºaL¸_J»_L¾`M¼]M½^N¸`O¹`L»_L¼`M¹`L·`L·`LºaM·_N¹aPºdR»eS¿gVÄhWÅfS¿^J¹W?»T9ÂR4ÀN0ÁP6ÄV<ÀU9½T3¿Y<ÊbEÎeJÆ_FÄ^GÃ[DÆZBÁS7ÀU:ÃV:ÂT6ºL.¸M1Á[DÈgSÇgWÃm[Ám[Âp_ÅrcÇrcÂm^¿l]½l]Àk\Àk[¾n]¾obÂvjÌxΆ|¼th¿o^¹kZ·gVµcQ¸dR¹cQ·cQ³dQ³dQ³cR¶dS¹gVºhW¹gV¹iX¸hW¹hYºiZºiZ½l]½k_¼m`Àqd¿qd¾se¿tf½tf¿ui¿uiÃwkÅvkÅvkÂxlÂznÆ~rÆ~rÈwÉ„z͈~ÌŠÍ‹€Ñ„Ð…Ñ“‰Ð“‰Ñ”ŠÕ˜ŽÔ—×™“Þš×–ˆÓ’ŠÝ˜•à¡™Ùœ’㙕۞ܛŒÉ|i¶R6¸<¸/µ.­-´-µ.·0¶/·0¹2¹2¹2¹1±4¹J"ÇiFÉv`Úß—ë¤ í¬£ì¯¥ñº±ó¾´õ¿¸úÈÂýÐÌüÖÒø×ÔýÞÛÿæäüíêûðìþîëýàÝýÔÒûÓÎûÙÓúÝÖûÞÙýÝØÿÜØÿÜØÿÛ×ÿÜÚþ×Òõƾó¿¸ó¼·ùÆÃþÑÎüÑÎ͇zËuÊ{pÉwlÆtiÅqeÆpdÇoaÁo^Áo^Ál]¿j[¿gY¾fX½eW½fV»dT¹bRºbRºbR»`Q»`Q»`Qº_Pº^M·^J¸_K¶]Iº^M¼`O»_N¾`Mº`Oº`Oº`O¹_N¹_Nº`O¹_N¹aP¹aP¹aP»cR¾fUÃiXÃiXÄjYÄhUÊfNÅ`JÀS>»G.ÀF(ÇR3ÀV>ÃcSÊgSÈiUÇiVÅfSÆ`MÄ]JÂ]G¼\D½W@ÃU7ÄP/¼G(¼N6Â`NÅkZÆo[Àk[Àk[Àk[Ãn^Äo_¾k\¿l]¿l]»m]¼n^»m]¾qaÁtdÅwgÄvf»j[¼hVºfT¹eS·cQµaO·aO¹cQ¸bP´bQ´bPµcQ¹gU¹gV·eT»hYºh\¸jY·kY¹l\ºm]»n^»m`½rd¿tf½ui¾vjÁwkÁwkÁwkÀvj¿wkÀxlÁ{nÃ}pÆuÆwÅ‚yȇ~ÊŒ‚ÌŽ„ÌŽ„ΆϒˆÐ“‰Ñ”ŠÑ–ŒÓ˜ŽÓ˜Ž×™‘Ô›’Ó’Ôž“Û –Þ£šØž™Ý¦¡ä°©æ©¥Ô‘ˆÁu_¶K)·.¸+®/·0²0³/»/·-³/².º-°3 ¹M+ÉtZЈw҄ܘ‘媡履屪鳬òĽôÅÁúÊÆþÒÎüØÒóÛÕüæáÿìéüîïúððüðîþëè÷ÜØûÕÑÿÛÕþÞØýÝ×ÿÝÚÿÞÞýÞÝûÞÚýÝØüÜ×öÑÍóÍÈôÊÅúÐËúÐËöËÈÍuÍ~sÌzoÇujÄrfÃqeÅteÃpaÃpaÃpaÁn_Ál]Àk\¾iZ½hY¼gW»dT¼eU½fV»cSºbR»cS»cSºbR»aP·]L·^JºaM¼bQ¼aR½aP½aN¸`O·_Nº`O¹_Nº`Oº`O·_NºbQ·_N»cR½eU½eU½eTÀfUÃiXÅkZÄgPÈhQÈ`IÀM2´;»F'ÃW?ÆdRÉjVÇkXÂiUÄhUÄbPÄ^KÀ[EÁ]E¿W@»M1¸G'ºJ,¾V?ÃcSÆk\Äl[¾iYÀk[¿jZÀk[¾k\½j[Àm^Âo`Ào`¿n_ºl\»m]¿n_½l]¼iZ¸cT¸dR¶bP¶bP³_Mµ_Mµ_M¶`N¶`N²`O³aP´bP¶dR¸fU¸eV¹hYºh\¹k[ºl_¼na¾pc¼pd¾rfÀthÂulÀxlÁymÃ{oÂznÁymÂzpÂzpÃ{qÃ|rÄuȃyɆ}͊΄Б‰Ï‘‰Ñ“‹Ò”ŒÒ—ŽÒ—ŽÕš‘Ö›’Ùž•ל“×™‘Ö”ÖŸ–ߨŸè¯¦è±ªë´¯ë¸µæ¼µâ³«Ùž”ЂrÅ[C±2 ³0·8 ¾;³4µ6 ¹4¼4 ·1¶2 º6¼Q6Ôx_Û’~ܛߠ˜í®¦óº±î¼°ëº°îº³õÁ»öÈÁôÇÃýÐÍÿÛ×ýàÛúäßþìéÿñïþôôûóóúñîþìéýäàúÛØ÷ÙÔùÜÕùÙÔüÛØÿßßÿáÞûàÜýßÚÿßÚûØÔúÔÐüÔÏþÓÐûÒÏ÷ÎËÊvjÍymËwkÆthÄrfÃqeÂtdÂtdÄsdÃrcÃocÁmaÂo`Án_Án_¾l[¾iY¼gW¼gW¾gW½fV½fV¼eU¹bR¹aQºbQ¸`O¹aP¹aQ¶^Nº_P¹_N¶`N¶^M¶^M·_N¸`O·_NºbQºbQ»cR¼dT¼eU½eU¼dT¿gVÃiXÆl[ÃjUÇjUÉcLÂR4¾G'ÀK,¿S;ÉeSÇiVÁhTÁjVÁjVÄfSÃ`LÁ\FÃ]GÂU?¼M3¿O1ÁV:¼WAÁdUÅi\Äl\¿j[¾iZÁn_¾k\»hY½j[Àm^ÃrcÃrcÂqb½l]¾k\»hY½hY½eW¹`RµaO´`NµaO´^L¶`N³]K³]K³]K³^N³^N·bR¶dS·eT·fW¸jZ¹j]»k`ºk`¿peÀthÀsjÀulÀwoÂyqÂznÃ{oÅ}sÅ}sÃ{qÅ~tÆuÇ€vȃyÇ„{ʇ~Ì‹‚ÍŽ†Ð‘‰Ó•Ô–ŽÐ—ŽÓš‘Ö”Ö”Õœ“Ö›’ÚŸ–ÚŸ–ؔ٠—Ù¢™â«¢ì¶¯ì¸²í½¹ê½ºé¹µæ²¦Þ –ÐxÆ\Kº8½5 Â?¾@¼?¼C·@¿G#ÅJ(ºE&É[=Òrà™‹ç­¡è±¨ê³¬ð·®î¹¯êº®ï¾´ò¿µôÀ¹ñžòÇÄüÓÑÿáÞúçäüèçþñïþööýøùýùøþööýïíýêçÿéçüãßüàÛúÜ×üÛØüÝÚýàÜýãÝýàÜüÝÚüÙÕûÖÒûÕÑüÓÐýÔÑûÒÏÃk]ÊufËwkÅsgÇsgÅrcÄsdÆufÅsgÅsgÅsgÂsfÀqdÃqeÆufÁpa¼k\¾m^¾k\¾k\½hY¿j[¾iZ¹dU»fW»fVºfT¸cS·bS¹aSºbR¹aQ´_O¸aQ¸aQ¸aQ¹bRºcS»dT»dTºcS¼eU¾gWÀiY½fVÀhXÁiXÂjYÄkWÄgRÀZCºL.ÁN-ÆT6ÁW?ÊfTÆgTÃgTÃiX¿gVÂfSÀaMÅ_LÆ`JÃYA»M3ÂT8¾S8Á\FÄeUÃj\Ãk]¿l]Án_Án_Àm^½j[»j[¿maÄrfÃueÂqb¼k\»hYºeV»cU¼cU¶]O·aOµ_M´^L´^L³]K´^L¶`N´^L´_O´_O¸cS¶dS·fW·fW¸i\·i\½mb¼mbÀqfÂulÃxoÃ{qÃ{sÅ}uÄ}sÅ~tÇ€vÇ€vÄuÇ‚yÈ…|È…|ȇ~ɈÌ…Ð’ŠÒ”ŒÓ˜Öš”Õ›•Óž”ÔŸ•× —ÖŸ–ØŸ–ØŸ–֔ל“ל“מ•Ù —ݦŸæ¯ªçµ¯êº¶á´°åµ±å¬£Ù —ΈÉp[¼?¿>ÅV<ÈW<ÅO2Î[@ÏiLÍoRØx`ÈmXÛˆsä¥ï¶­ð¿·ð¿·îº³ò¼µì»³éº²ëº°ïº°î¸±óýõÈÅúÑÏýàßúéæüìíûóóûùùûýýÿýüþùøÿôòýðîûíëûçâþâÝýÝØûÚ×ûÜÙýàÜýãÝüáÝýàÜûÚ×ûÖÒý×ÓúÔÐûÕÑúÔÐÂj\ÉteÈwhÇvgÇteÈpbÆqbÉteÇuiÅviÆvkÅvkÄujÄviÅwjÃuhÁtdÀrbÁscÃrcÀo`¾m^¾m^¾m^ÁocÀo`Àp_¼k\½i]ºfZ¼gX¹dU¶cT¶cTºeV¸cT¹dU¹dUºeV¼gX¼gW»fV»fW¾iZ¾iY¿hXÁjZÃk[ÇhXÃaO½W@»P5ÃU9¿T9À\DÆgTÇcQÄbPÆgWÁeTÀdQÂcPÁ^JÀZD½V;¼Q6½N4»K4¿T?ÅcQÅm]Àn]Án_ÆsdÅrcÁn_¾l`¼j^½k_Ànb¿q`¾p_ºjY¸fU·bR·bR¹bR·`P¶`N´^Lµ_M±]K±]K³_MµaO´`Nµ`P´bQµcR·dU¶eVµfY¸i\·i\ºl_¾pc¿tf¿uiÁymÃ|rÅ~tÃ~tÄuÆwÇ‚xÉ„{ƃzÇ„{ȇ~ȇÉŠ‚ÊŒ„ΓŠÐ–Ó™“Óœ•Õž—ÖŸ˜Õ –Ø£™Ù¤šØ¡˜ØŸ–ØŸ–Ùž•ؔԜ‘֔מ•Ü¢œáª£è²«ëµ®ç±ªäª¥Ûœ”Õ”‹Õ³O2¸;ÅO,ÍobÃiQÇdPÐo[ÑmÓŽ{Ö‘‚ÔŽßšå«¥í¹²ðÁ¹òû÷ƾ÷Å¿ò¼麶岨䭤봭ð¾¸úÊÆþÑÎþÞÛýéçüîðúõôüýûýþüÿûúÿööþõòûôñûîìýêçÿãßþÛ×þÜÙýÞÛÿàÝÿäßÿåáüßÛüÛØú×ÓüÖÒúÔÐûÔÒùÒÐÊo`ÌueÈwhÈwhÊufÊqcÇoaÈsdÅviË}pË|qÉ}qÄznÄznÈ|pÈ|pÇ|nÄykÄykÅwjÄviÂtgÃuhÆxkÆwlÅwjÅxhÃuhÂrg¾nc¿ma½l]ºiZ¹hYºgXºgXºeV¼gX¼gX¾k\½hY½hY¿j[Àk\Ál]Àk\Ãl\Âk[ÈiZ¾_L¿\HÀ[EÃ^H¿_HÃfQÄhUÁ_MÁ_MÅcSÃdTÁcP¾`MÀ]IÁ[EÁZ?Å[CÃW?ÃXCÂ[HÄbPÂjYÂm]Âo`ÄqbÅrcÄqbÂo`¾l`¾l`¾l`ºl[¼l[¸hW·eT¸cS·bR¶aQ´_O·`P³^N²]M²]M²]M³^Nµ`Pµ`P²`O±_NµbSµdUµcW¶gZºk^¹k^»m`»pb¿tfÁwkÁymÄ~qÆwÇ‚xÄ‚wÆ„yɆ}ʇ~Ɉ€Çˆ€ËŒ„Ë…ÊŽˆÍ“Ñš“Ôž—סšÙ£œÚ¤Ù£œØ£™Û¦œÛ¤›Õž•Ô›’ҙל“Ö›’ÕšÖ›’ל“Øœ–ؔݠ–ݛٓ†Í~uЇyÓ€qÂU@³- ¿; ÊY8Ëm`ÆwbÒƒp׌~Ò’‡Õš×œ“Ûœ”æ¥î·®ð½³õļùÊÂûËÅúÊÆùÉÅðÁ½ä°©ç­§ñ·±ôÀ¹ùÅ¿úÅÂüÑÎÿáÞýèêüððþùöÿùöûíëúæåþóñûöõþòðþìéýàÜûÚ×þßÞýßÞþáÝÿâÝýâÞüßÛüÛØûØÔüÖÒûÕÑüÓÐüÓÑÈeWÊo`ÈufÅteÊthÉpeÉpeÆrfÅwgÈzmÍ‚tÉsÄ|rÉw˃yÌxÉuÆ~rÇ}qÇ}qÅ{oÇ{oÅ{oÄznÃxoÄznÄ{mÃzlÄxlÂsjÂshÁre¾p`¼k\ºiZ½j[½j[¼iZ½j[½j[½j[½j[¾k\¾k\Àm^Âm^Ál\Âk[ÃkZÆl[Èl[ÇkZÉo^ËscÍsbÌraÆmYÁeRÄdTÅfSÃeR¼]I¾XE¼S>¸N7ºT>À]IÃaO¾`MÀdSÀfUÁiYÁl]Âo`ÄqbÅrcÅrcÁpa¾m^»j[ºhWºhWºeU·bR¶aQ´_O³aP²`O³^N±\L°[K³^N²]M³^N³aP³aP±aP²bQµdU´bV·eYµfY»l_¼m`¸m_ºoa½sgÁwkÁymÅ~tÉ‚xȃyƃzɆ}̉€ËŠÊ‹ƒËŒ„Ί͑‹Î”ŽÐ™’Ö ™Ø¤Ú¦ŸÝ©¢Ú¦Ÿ×£œÛ¤›Ø¡˜Ô”Ò™Ò™Õš‘Ö›’Ô™Ó˜ŽÖ™Ö˜Ô–ŽÑ“‰Ë…xËzkÏwgÉp\ÃoVÄaE©* ¹*Á>ÁO*Ä[@ÄgRÖˆwݞ⧞䧣ࣟ謦ñ¶¬óÀ¶öŽøÊÃùÌÈùÌÈúËÇøÉÅõÆÂ긲貫ð¹²ò¿µí·°â¨¢å®©üÒÎþããÿëêýïìúèåúÜÛùÚÙùåäûóóýñïüéæúßÛûÞÚÿãâøáßüãáÿãßýâÞÿâÞýÝØü×ÓûÕÑüÓÐûÒÏúÑÎÄ[NÄeVÄo`ÈufÊthÈodÈthÄuhÄvfÆxkË€rÊ‚vÈ€vË‚zÎ…}φ~̆yÊ„wÉu˃wÌ‚vËuËuÊ€tÆ~tÆ~rÅ~pÇ}qÅzqÅxoÆwlÃuhÃtg¿pc¾l`¼j^½i]¿k_¿k_ÁmaÁn_Àm^Àm^Àm^¿l]Ãn_Âm^Àk[¿m[Åq_Åp`Âo`ÂnbÀl`Ån^Çm\ÀoZÃlXÆjWÂdQÅfSÃbNÂ]GÄYDÅUAÁZGÅfV¾gW¹eS»eS¿dUÀbU»fW½hY¼iZ¾k\Âo`¾k\»j[¸gX½fVºcS¸aQ·`P·`P²]M±_N±_N²]M²]M±\L³^N²]M²`O´bQµcR³cR´dS¶eV¶dX·eY¹g[ºk^¼m`ºnbºpd¼qhÀulÀxnÅ}uÉy˃{È…|ˈÍŒƒÎ…Ì…Ï‘‹Ñ•Ô˜’Ò›”ÖŸ˜Ú¦ŸÛª¢Ü«£Ø§ŸØ¤Õ¡šØŸ–Óš‘Õœ“Ô›’ל“Ö›’Ö›’ӘіŒÔ—Ô•Ò”ŠÒ…ÊoÃiX¸R?»O7ºL.µ;®#¶#¶&³+Á>ÂJ7×nÞ¡“é¯©í¬«æ§£æ±§ñ´õÅ¿ùËÄûÎÊ÷ÌÉ÷ÌÉ÷ÍÈøÌÅõÇÀðÀ¼õÁ»ê´­Ü©ŸÞ©Ÿæ«¢á¥ŸøÄ½ù××üàßúäß÷ÚÖüÕÓýרýääþòòþöóýíçüãßþæâýéçúæåûäâþãßûàÜýàÜûÛÖûÖÒúÔÐúÑÎ÷ÎËõÌÉÁT?Å^KÈiYÌtfÆqgÅshÅsgÇuiÄsdÇuiË{pÍ€wÌxÍ„|χЈ€Ì‡~ʇ~Ɇ}È…|Ê…|ȃzÉ„{ÉyÆuÇ€vÆ~tÆ~tÈ}tÄypÄypÄwnÂtgÁre¿pc½k_½k_¿maÂmcÂmcÂo`Àm^¿ma¿ma¾l`Âo`Àn]Âm]Àn]¿m\Án_¿l]Ál]Àk\Àk\Ál]¸kX»lY¿m\ÀiYÃhYÂcTÁaQÁ_O¼bQÀfU¾fU¼eU¹bR¸aQ¸aQ¹aQºbQ¹cQ»eS¼gW½hXºeU¹dU¹dU¹dT·bR´_O´_O´]M³\L²[K³\L³^O²]N´_P±^O³`Q²aR³bS²dT±bU³dW¶gZ·h[·h[¹i^¹j_»la½naºoa¿sg¿uiÁvmÅzqÈ€xÊ…|ljÈŠ€ÍŽ†Í‡Ì‘ˆÏ“Ñ—‘Óœ•՘ףœ×©¡Û­¥Ü­¥Ü¦Ÿ× ™Öœ–ÕšÔœ‘מ•ØŸ–Ö”ÕšÔ™Õ˜ŽÓ•Е‹Ñ•‰Ñ“ˆÓ’ŠË„zÁhTµE.¸4 ²)³'µ'µ&¶'¸*º*±9ÇY?ß•‰ã©£Þ£™Ú›ò©¥ð·¸øÂ»÷ËÄ÷ÎËüÏÌýÍÉùÌÈóÈÅñÃÂñÇÀõļã¥Üž”ç¯¤í¸®ç³¬ô½¸öÐÌúÚÕüáÝüåãüãáýããÿêéÿíìÿðíýìéûèåÿëêÿîíýìéûäâýßÞþÞÙüÜ×ûØÕûÕÓúÔÐùÐÍùÎËôÉÆÂWBÁ[HÂfUÈsdÉtjÉwlÊxmÇxkÃtgÄviÆznÈ}tÌ…{ϊЋ‚Є̉€Ì‰€Ì‰€ÍŠÌ‰€Ê‡~̇~Ê…|É„{Ì„|˃{ʃyÊ‚xÆ~tÆ{rÄypÃxjÄviÂtgÁre¿maÀnbÃocÄpdÄqbÂo`ÁpaÂpdÀo`Àm^Áo^Âm]Àm^Àm^Âo`¿l]Àk\¿j[¿j[¾iZ¾jX½hX¿hXÁjZÀhXÀeV¿dUÀdS¾dS¼dS»cS·`P¶_O¶_O³[K´\L¶^Mµ]L¶`N·aO¸aQµ`Pµ`Q¹aS·bR³^N³^N±\L°[K±\L´]Mµ^N³`Q²_P³`Q´aR¶cT³bS´eX´eXµfYµfY¸i\·i\¸i^¹j_ºk`¹j_¼na»pb½sg¿uiÁvmÆ{rÊ‚ż~ÈŠ€Ê‹ƒÎ‡ÎˆÏ“Ñ—‘Õž—Ù¢›Ü¤ŸÝ©£Þ¯§Û¬¤Û§ ×¡šÕž—Óœ•× —Ø¡˜× —× —Ô”Ô›’ל“Ö™Õ–ŽÑ”ŠÐ“…Ñ‘†Ó’ŠÑŠ€ÏygÁYB¼=®+µ,´(³&³'¶*µ*¯.ÀJ1â†{Ù›‘Õ’ƒÎsd݋櫢õ»µöÆÀõËÆûÌÈúÈÂ÷ÇÁõÅÁûÈÅöÊÃ츱֛’樠쳪ñ¾´õÁºúÆÀùÎËûÖÒüßÛÿçãÿçåþçåüçæüèçýêçúåãùâàþçåÿëéÿéçýâáþÜÜþÜØüÙÖûÕÓûÔÒûÒÏûÎËúËÇöÇúQ<À_KÇl]ÌvjÉwlÊwoÊzoÊzoÈ}oÆznÄznÉ‚x͈͊ЄҎ‡ÏŽ…ÏŽ…ÍŒ„Î…ÍŒ„ΊƒÎ‹‚̉€Î‹‚Ή€Î‰€Í…}˃{É€xÇuÄ|rÄznÂxlÃwkÄujÂsfÃqeÃqeÅqeÃpaÁn_Án_ÁpaÂo`Âo`Án_Âm]¾m^¾m^Án_Àm^¾iZ½hY¼gW½fV¼dT½eU¼dT¼dV»cU¿hX¾gW»dT¼dSºbR¶_O³\L²ZJ±YH±YH²XG°YE°XG²ZI³[J³\L´]M´]Mµ^N³^N±\L¯ZJ°[K±\L³^N³aP´bQ³`Q²_P¶bV¶bV´bV³aU´eX´eX´fYµgZ¸i^¸i^¸i^·k_¼of¼of½nc¼pd¿ui¾vlÁvmÃzrÊ‚zʇ~ʉˌ„ψҔŒÑ•Ò˜’ÖŸ˜Ù¢Ü¥ Ü¨¢Þ¬¦Þª£Ø¢›× ™× ™Ù£œÜ¨¡Ú¦ŸØ¤Ù£œÙ¢›Øž˜Õš‘Ô–ŽÑ’ŠÎ…ς҃Ҏ‡ÏŠ€Ì~nÁbN·?°3 ².³)´(·,·,¶+²)»B(Æ]OÍ€pÖ€nÀP>ÇiV׌|ñµ¯öÆÀôÊÅõÇÀôÀ¹òÁ¹ôÀ¹ýÅÀ÷ÉÂðº³æ«¢ë°§ìµ¬ôûûËÅÿÍÊüÑÎüÖÒýÜÙüßÛýßÞþâáûâàøãáþåáùÞÚûÝÜýßÞÿãâúÜÛûÚ×ý×ÕûÕÓýÖÔüÓÑûÐÍùÌÉûËÇøÅÂﻵ½ZFÂdQÊscÍymÊzoÌ{sÊ{rÉ|sÉsÉsÌ„zщϊ̉€ÎŠƒÑ†Ï‘‡Ñ“‰ÏˆÏˆÐ‡ÍŒ„Є͊όƒÌ‰€Ì‰€Ì‡~Ì„|˃{Ê‚xÇuÅ}sÃ{qÅ{oÆznÅviÂpdÄqbÁn_¿l]¿l]¿l]Án_¿l]¿j[Àk\¾iZ¼k\Àm^Âo`½j[¾iZ»fVºcS¹bR·_O¸`P¸`P·`P¹bR¸cS¸cS·bR·`Pµ^N²[K±YI­UE¬TC®TC®UA¯VB±XD°VE°XG®VE±YI³\L³\L²]N±\M±\M²]N³`Q´aR²aR³bS´bV²`TµcWµcW¶dXµfY¶f[¶g\³g[µi]¸l`¹ma¹maºmd¼of¼of¾rf½sg½ukÁyoÁyoÄ{sȃz̉€ËŠ‚ÍŒ„Б‰Ó•Ó—‘Ôš”Õž™Ø¡œ×¦žÛª¢ß®¦Ý©¢Ù¢›Û¤àª£Ü«£ß®¦à¯§Û©£Û§ Þ¨¡Öœ–ЕŒÑ“‹Ï„̌̋}ЉÓŽ…Є̃uÁl\Ë]?·C ·8¶1¶,½3¶,·-´-ÂL)ÂX@ÇhTÏlXÊaNº\IÆn^í³­üÎÇùÑÌùÌÈóºõÁºö¾¹òÁ¹ô¾·î·°ê³¬ò¾·ôľýÎÊþÏÍûÑÌýÔÑÿÙÕøÕÒùÖÓýÚ×üÛØûÚ×üÜ×ûÛÖùØÕø×Ôú×ÔúÔÒûÕÑüÓÐúÓÑþÕÓùÐÎùÌÉóÄÀñ¾»ìµ°Ý§ ÄfSÆl[ÍxiË|oÊyqË|sÉ|sÊvËuËuÍ…{Í…}χ͇€Í‡€ÐŠƒÏ‘‡Ñ“‰Ñ’ŠÐ‘‰ÏˆÎ…ЄόƒÎ‹‚̉€Íˆˆ}Ë„zÍ…{˃yÈ€vÆ~tÇ}qÆznÅwjÃtgÁpaÀm^¿j[¿jZ¾iY½hX¿jZ¾iY½hX¼gW»fW»hY¾k\¾k\Ál]¿jZ¼gW¹bR·`P´_O³^Nµ^N¶_O¶_O¸aQ¶_Oµ^N´]M²[K°XH°XH­UD­SB­T@­T@«T@­T@°VE¯UD±WF±YI³\L±ZJ±\M±\M²_P´aR³`Q³bS·eYµcW³dW±bU´bVµfY¶f[µeZ¶g\¶g\µi]·k_¹maºnb¹neºof¼qh¾sjÀvj½ukÂ{qÃ|rÁyqÅ}uÊ…|Ɉˊ΅Б‰Ò”ŒÒ–Ôš”ÖŸ˜Ù¢Ù¨ Ú«£Ü«£Ý©¢Ù£œÚ¤Ü¨¡Û¬¤ß®¦á°¨à¬¥ß©¢Û¤Øœ–Ó”ŒÐ‡Ï‚Ê‹}̇}Ј~щςЊ}ÄviÍo\ÅaI¸K+·?¸;¾?³2 ®.¬,·;·I+Ã]GÉm\Î~mÓuÛŒƒì´¯üÏËÿÙÕýÓÐöÈÁ÷ÉÂ÷ÇÁ÷¿òÀºõÁ»õÁ»ôÀºõÅ¿øÉÅùÌÈúÍÊ÷ÏÊþÔÏþÓÐúÏÌýÒÏüÒÏÿÕÒÿÓÑÿÚÖýØÔûÖÒúÕÑøÒÎúÑÎþÓÐûÐÍúÑÎùÐÍ÷ÌÉôÇÃò¾춯ާ Ço_ËvfÌ{lÊ{pÌ}tÍ€wÌxË‚z̓w˃yÍ…{χΆ~͈ÏŠÑŒƒÏ‘‡Ð’ˆÒ“‹Ñ’ŠÒ‘‰Ñ†ÏŒƒÏŠÏŠ€Ì‡}Ë„zʃy˃yÍ‚yË€wÉ|sÇ{oÇ{oÇylÄuhÁpa¿l]½hX»dT¼gW·bR¸aQ¹cQºdR¸aQ¸aQºbT¸cS¼gW¼gW¼gW»fVºeU¸cS´_O²`O³^N³^N¶`N¶`N·_O´\L¶[L³]K°ZH°XG­UD°VE¬RA¬RA­T@«T@¬TC°VE®TC°UF²ZJ³\L³\L®[L°]N²_P±_S²`T³aU´eX¶gZ´eX¶gZµfY·h[¸h]·g\¸i^¹j_¶l`¹oc¼rf¼rf»qe¼qhÀulÀulÃ{qÂ{qÅ€vÆwÇwȃzˈʉ€Î„ÏŽ…·ВŠÓ˜Õ›•ÖŸ˜Ø¡šÛ§ â±©ß®¦Ú¦ŸÚ¤Ú¤Ù¥žÖ¥Ø¢›Ø¢›Û¤Øž˜×œ“֗҆̇~͇zȇyÊ…{Ï„{Ά|ˉ~͈~ÎxÉ~vÅsgÂfSÂ]GÁW?ÃU;ÅW;¼L.³?½=ÄV:ÆiTÓŠ|Þ¡—梛ާžê²­øÉÅýÕÒþÔÐñÁ»õÇÀöÊÃöÆÂ÷Å¿÷ÇÁüÌÆüÎÇûÌÈúÍÉüÏËùÎË÷ÏÊüÒÍýÐÍûËÉÿÐÎøÈÆ÷ÄÁ÷ÃÀþ×ÒýÖÑýÕÐüÒÍùÌÈùÊÆûÌÈøËÇöÌÇöÉÅöÉÅñÁ½ï½·ì¶¯ç°©å¬£Äo`ÉxiË}pÊ~rË~uÌx͆|͈~ΆzΈ{·}͈~̇~Ћ‚Ò„ÓŽ…ΆВˆÔ“ŠÐ†ÏŒƒÌ‰€Ð‹‚͈Έ{Ê„wÈ€tÆ~rÆ|pÆznÇxmÄujÂueÁsc¿qa¿n_¾l[¼gW»dT·`Pµ_Mµ_M´\K¶^Mµ]L¶^M³[K³\L³]K¶`N·aO¸bP¸aQ·bR·bR´_O³^N±\L³_Mµ_M²\J´\K²ZJ±YI®XD¯WF®VE¯UD®TC¯UD­UDªRAªTB¬TC¬TC­SB­UE±YI³[M³^O°_P±`Q±`Q²`T²`TµcWµeZ¶f[¶gZ¶gZ·h[¸i\¸h]·g\¹j_ºk`·n`·ma¼rf½sg½sg¾sj¿tkÁvmÂzpÂ{qÄuȃzÆxÉ„{ÍŠÊŒ‚ÍŒƒÎ„ͅ·ԖŽ×œ“Ó™“Ôš”Õž•ݨžÝ¨žÚ¥›Ø¡šÙŸ™ÖŸ˜ÖŸ˜Õœ“јҗŽÔ–ŽÔ–ŒÐ„Ë„zÈ€vÊ‚vǃvȃyÊ‚vÊ‚vÉ…xÌ…{Ï‚yȃzÊ€tÇvgÃk[Æk\Ín^ÌmZÆeQÂ[@Å[CÖuaÑ€qÚ—Žä¨¢â§žÛ£˜Ü¡˜î½µûÎÇúÈÂðº³÷ƾþÐÉýÎÊúËÇøËÇ÷ÍÈøÎÉûÎÊüÏËÿÒÎûÑÌöÎÉýÐÌýÍÉöÇÃûÎÊöÉÅë»·æ±®ð»õÉÂùÌÈ÷ÈÄôÁ¾ð»¸ô¼ñÁ»óýñ¿¹í¹³ç±ªê³¬ç®¥â§žËwkÊ{nÌ€tËuË€wΆ|ÑŠ€ÎŒÏ‹~Ќϊ€Í‹€Ì‰€ÏŒƒÏŒƒÍŠÌ‹‚΄͌ƒÌ‹‚ˈˆ}χ˃{ÉuÅ}qÄ|pÃymÃwkÂshÃtgÀqdÀo`¼l[½kZ»iX¼gWºcS¹aQµ]M²\J°ZH±ZF³ZF²YE²XG¯WG°XH±ZF±ZF´\K³]Kµ_M³^N´_Oµ`P´]M²\J´^L³]I°ZF±[I°ZH¯XH°YE¯XD¯UD¯UD®TC®TC­UD¬TC«UC«UC®VE®VF®VF­VF±\M³^O¯^O±`Q²`TµcW´bV·eY¶dY¸f[·h[¸i\¹j]¶gZ·h[¶f[¹j_¹j_¸oa¹pb½sg¾th¾th¾thÀulÂwnÂ{qÂ}sÅ€wÇ‚yÇ‚yÉ„{ˈÉŠ‚΄ɋɋ˃ѓ‹Ô™Ò—ŽÏ•Ò”ŒÏ–ЙЙԛ’Õ™“Ò–Ò–Ò”ŒÌŽ†Ò“‹Î†Ì‰€ÆwÂzpÆ|pÉsÇtÆwÇsÇ€rƃtÈwÍxÌ„s΂pÎ|jÆqaÈqaÍueÍsbÎr_ÏqdÇ{iÓ†vÔŒ‚ߘ”맢ݠ–Ý“‡Ô”‰Ú¤™æ°©å«¥åª¡î¹¯óļøÈÂüÏÌûÐÍöÍÊ÷ÎËüÒÍþÑÍÿÒÎùÏÊñÇÂ÷ÈÄþÎÊøÉÅõËÆûÑÌúÍÉôƿ꺴켶ñ¾»î·´ã«¦æ¯ªê¸²ë·°ê¶¯ç³¬ä®§ß¨¡Ù—Üž–ß¡™ÅwjÊ|oÌsÊ~rÉw͆|ÏŠÏŠÍ‹€Ð‹Î‰̇}ΉЉÒ‹ÑŠ€Î‰€Ï‡Ì„|Ë‚zÌ„zÊvÌ‚vÉsÅ}qÂxlÂvjÄviÂsfÂqbÁpa¾n]¾l[¼jY»fV¸cSºcS¹bR¸`Pµ]L³[J²ZI±YH¯WF¯WF®VE¯WF¯WF®VE®VE±YH²ZI°XG±YH²ZIµ]M±[I²[K´\L°XH±YI°YI±ZJ¯XH«VFªUE¬UE¯XH­UD¬TC®TC¯UD«SB¬TC®WG¯XH¯WI®VH³ZL³ZL±^O±^O±_S³aUµcW·eY¶gZ¶gZ·eYµcW³dWµfYµfY¶gZ·h]¸i^¹ma½qe½qeÀreÀth¿uiÁyoÂ{qÂ}tÅ€wÆwÅ€vÇ‚xÉ„zÊ…|̇~ˇ€Æ…}dž~ʉ€ÏŽ…Ï‘‡Ð‘‰ÍŽ†ËŠÏŽ…ІҔŠÕ”‹Ó’‰Ò‘‰ÍŒ„ÔŒ„ΉÌŠÌŠÉ‚xÇ}qÄxlÄxlÇ{oÈ|pÈ~rÇ}qÇ}qÈ€tÈ€vÉwË€wÈ~rÆ{mÂueÇvgÈveÈsdÉteÉtdÌ{lцxÔŽÙ—ŒÚ™Ò‘ˆÐŽƒÓŽ„Ø–‹Úœ’Þ¡—Þ ˜Þ£šä«¢ò»²öÇÃ÷ËÄñÈ¿úÑÈÿÒÎÿÔÓþÎÍ걨溳òÇÄþÌÌÿÏÏüÓÑüÖÔûÏÐíÁºé³¬è¯¦êµ«ë·°á§¡Ò†Û–Œæ ™Þ©Ÿß­¡á¦œÛš‘׌„à—â§ÅwjÇylÌ~qÉ}qÊ€tÌ„z·}Ћ‚ÏŠ€ÏŠ€Ð‹Ç‚yȃzΉЋΉÉ„z͆|Ì…{È€vÇ|sÅzqÇ}qÆ|pÄznÃwkÃtiÁreÃqeÁpa¿n_ºjYºhW¹dT·bRµ`P¶_Oµ]M³[J±YH±YH°XG°XG®VE®VE­UD¬TC¬TC­UD¯WF°XG°VE¯UD°XG±YH°XH²\J±[I³[J³[K¯WG°XH®WG®WG¬WG¬WG°YI¬UE­UD®VE­UD®VE¯WF­WE¯XH¯XH±YK°XJ±YK³ZL±\M³^O²_P³_S´`TµaUµcWµcW³aU³aU´bV³dW´eXµfY¸h]¹j_¸l`½ob½ob¼na»m`ÀthÃymÁyoÃ|rÃ|rÄuÅ€vÄuÇ‚xÇ‚yȃzǃ|ƃzƃzÈ…|ȇ~ˊˊɈ€É†}Ɇ}ʈ}ˉ~ˆ|ˆ|È€xÅ}uÆ~tÆuÃ~tÅtÆ~rÅymÀthÂwiÄykÂvjÃwkÅymÃymÇ}qÉsÌ‚vÌxÇ}qÇ|nÇzjÊ|lËzkËxiÉvgÈsdÊyj΀sІzÓŒ‚ÕŽ„ÏŠ€Ì‡}͈~ςΆ՗ٛ‘Ô–ŽÕš‘à§žä­¦ð¶°ð¹²÷Å¿úÏÌüÓÐüÐÉᄊ餚࢚糭ï¿÷ÊÇþÏÍüÌÊ÷ÆÄﻴ媡ä¥è±¨ì¸±ë±«ß ˜Ì‹‚ÕŒ„ÑŽ…ߢ˜æ©ŸÜ™Ò†Ý¢˜Ý«ŸÅwjÆxkË}pÉ}qÈ~rË€w˃y͆|Ì…{ΉÑŒ‚Ћ‚͈ÑŒ‚͈҃~Ë„zÉ‚xÉwÇ|sÉsÈ|pÉzoÇylÃxjÄviÁre¿pcÁoc¿l]¿l]ºhW¸cS·bR·`Pµ^N¶^Nµ]M³[J²XG±YH²ZI¯WF­UD­UD®VE­UD¬TC®VE­UD­UD°VE¯UD¬TC¯WF­UE¯YG¯YG±YH¯WF®VE®VF¯WG®WG¯YG¯YG¯YG®WG¬UE®WG¯XH°XH°ZH®XF®WG¯ZJ®YJ±YK²ZL´\N²]M³^O³^Oµ_S´`T´`TµaUµaU±_S²`T´bV´eX¶gZµfY·h[·g\¹k^ºk^¹k[ºiZ¹k[¾pcÁuiÂvj¿yl¿ylÂ|oÅ~tÆuÇwÈ€xÅ€wÃ~uÅ€wÉ„{É„zÆwÈ…|Å‚yƃzÆxÆxÉ‚xÆ~tÇ}qÇ{oÃwkÁrg¾rf¿uiÀxlÂ{mÃxj¿qd¾obÁsfÀre¾pcÁsfÃuhÃuhÂwiÇ|nÊ~rÌ€tÉ}qÇ|nÉ{nÌ~qÍ~qÌ}pÈylËzkÌznÈylÌ}rÍu΄xΆzÍ…y͆|Í‹€ÎŽƒÏŽ…ІІғ‹Õ—ל’Þ –ä¢ï¶´ùÌÉùÑÌøÉÁö¿²â¤™Ø—ŽÙ˜Þ£šå°¦óºõ¾¹î´¯ã¨Ÿá–棚걨鵮촯᨟ܗŽÖ‹ƒÜ—⤚ܔŒß¡—䳩鶬ÆwjÅwjÈzmÇylÅymÈ~r̓w˃yÉ‚x·}ÓŒ‚Ή€Ð‹‚ÑŒ‚͈~ȃyÉuÇsÇsÇ}qÇ{oÅvkÄuhÂsfÀreÁreÁre¾l`½i]ºgX»fW·bR¸aQµ^N´]M´\K³[J´ZIµ[J´ZI²[G°XG¯WF­UD¯WF°XG­WE¬VD­UD®VE¬TC®TC¯UD«SB®VE®VF­WE¯YG¯WF¯WF¯WF®VE¯WG°XH¯YG®XF®XF®WG¯XH®WG®WG±ZJ¯[I°\J±\L±\L¯ZK¯ZK°[L²]M´_O´_Oµ`Q³`Q´aR¶bVµbS´aR³aUµcW¶dX·fW¶gZ·h[¹j]·g\¸jZ¸gX·gV¸fU¸gX¼k\½naÂtgÀxlÀxlÁymÂznÄ|rÄ}sÂzrÁyq¾wmÂ{qÆuÉ‚xÄ}sÃ|rÄ|tÅ€wÃ~uÆuÈ€vÃymÄviÀqd¿ma¼j^¹k^ºoa¾seÀug¿qa¾m^¼k\ºl\ºl\½o_½o_¾p`¾obÁreÃuhÆxkÄykÅzlÆ{mÆ{mÊ|oÊ{pË|qË|qÉ~pÍrÊ{nÇwlÉynÊ~r̓wÌ„x·}ЋΌ΋‚ÏŒƒÓ‡Ô“‹Ó•Θ՘ŽÚœ’ञ츲ò¾õÁºé°§á˜ÓŽ„Î}nÆdTÁbRØ“„ß©žâ«¢Þ –Ӈ棚箥鵮ð¸³ï¸±ì·­â«žÛ™ŽÜ—Þ™Ù”‹â¤œè±¨î´®ÅwjÄviÄviÄviÆxkÅymÅ{oÅ{oÅ}sщЉˆ|͈~ÏŠ€Î‡}Ç€vÉ€rÆ}oÅ{oÄxlÂvj¿qd¿pc¿ma½o_Âqb¿ma¼j^»hYºeVºeU¶_O¸aQµ^N²ZI°XG²ZI²XG±WF³YH¯XD¬UA®VE­UD­UD­WE¯YG®XF­UD®VE­UD­UD¬TC­UD¯WF¯WG°ZH±[I¬VD¯WF°XG®VE®VF­UE­WE¯YG°ZH­VF¯XH­VF°YI°XJ¯[I±]K²]M²]M±\L±\M³^N³^N±_N²`O´aRµdUµdUµdU·fW¶eV·eY´fVµgW·iY¸jZ¹j]¸i\·h[¸gX¶fU¶dS¶dS¶dS¶eV¹j]¿pcÀwiÁxjÃzlÀxlÀxl¿wmÁxpÃzrÀxn¾vlÂznÄ|pÂzpÁyoÃ{qÅ}sÂ}sÆuÁymÀug¾pcºl\»j[½l]½l]»m]¿rbÀrb¼k\½j[ºiZºiZ»j[¾m^½l]¼k\¹k[½o_ÀrbÁscÂtgÄviÅzlÆznÇ{oÆznÈ|pÉ}qÇsÊ€tÌ€tË|qÊ{pÉ}q˃wÍ…ẏ}ЋςόƒÏŒƒÔ‘ˆÖ•Ô–ŽÎ—ŽÓ›ÖœÙž”ߥŸíµ°õ¾»å°­ì¬«ÝœŽËqX¼?#¿7ÁQ?Ô€t矗ߢ˜Ù™Žä¤™å­¢í·°ï·²ìµ®á®¤à¬ŸÝ¦™Ö”‰ÒЂӕ‹ÝŸ—èª¤í³­ÅwjÃuhÄviÅwjÅwjÄviÃxjÃxjÇ}q̓wÊ‚xÆuψ~·}ÉuÄznÅzlÄykÂwiÂwiÀugÀre¾ob½k_½l]»j[»j[ºgX·dU¶aR¸aQµ^Nµ]M³[J±YH°YE²YE°WC°VE°VE°WC«T@¬UA¬TC®VE­UD®XF®XF¬VD«UC«SB¬TC­UD­UD®XF°YI¯[I²\J¯YG­WE°XG±YI¯WG°XH­VF­VF±ZJ±ZJ¯XH¯XH®WG°YI±]K¯[I°[K³^N³^N³^N²]M´_O³aP²bQ²aR´cTµdUµcW³eU´fVµfYµgW·iY¶hX¸jZ·h[¶gZµfY¶eV´dS¶dSµcR´bQ´aR·eY¼m`½rd½tfÀwiÂyk¾th¾thÁvmÂwnÀxl¿wkÀxlÀxlÁymÁyoÃ{qÃ{qÁzpÀxl¾th½obºl\¸jZ»j[¼k\»j[¸jZ»m]ºl\½j[¹fWºgX¸gX¹iX¹iXºjY¼k\¹hY»j[Ào`Ào`ÀscÃuhÃuhÄujÄxlÃwkÆznÇ{oÆ~rÆ~rÊ€tÊ€tÆ|pÇsʃyÌ…{ΉΌфόƒÏŒƒÑ‡Ò”ŒÒ—ŽÖ˜’Ö›’ÙŸ“Ü¡—Þ£šá¥Ÿç«¥ã©£Ý£—ׇp¼P.¯2 ·<ÀS=Îreå’ŠÖ˜Õ“ˆÜœ‘ß§œê°ªê®¨æª¤ßª åª à¨ÏŒƒÕ…Ù —áª¡í³­ï¾¶ÈzmÅwjÅwjÅwjÅwjÄviÀugÅzlÄxlÊ€tÇsÇsÍ…y̓wÈ|pÀthÁsfÃuhÁvhÂwiÁvhÁsf¾ob»i]¼iZ¹fW¹fW·dU¸eV´_P¶_O³\L²ZJ°XG°XG­VB°WC±XD®TC¬RA®UA­T@®UAªRA¬TC­UD¯WF¬UE¬VD¬VD¬VD­WE®XF®XF°ZH²[K°\J¬XF²\J°YI±ZJ±ZJ¯XH²[K­XH­XH±ZJ²[K¯XH°YI±ZJ²[K®\J±\L²]Mµ^N´]M³^N³^N°^M³aPµcR¶cTµbSµcWµcWµcW¸gXµhX¸k[¹k[¸jZ·iY¸i\¹j]¸i\·iY·fW·eT·eT·eTµdU¶gZ¹j]»oc½rd¾se¿tf¿tf¾rf¿uiÀvj¿wk¾vj¿wkÁwkÁwkÂwnÄypÃxp¾vj¼seºl_¸i\¸gX·fW¸gX·iY¶eV·iY·iY¹hYºgX·dU¸gX¶hXµeTµeT·gV¸hW¸gX¹hY»j[¾m^½o_¾pcÀreÁrgÃtiÄujÄxlÄykÆ|pÆ|pÈ€tÇsÈ€tÉ‚x͆|χÍ‹€Ï„ІІґˆÒ“‹Ò—ŽÑš‘Ö›’Ùž•Ü£šÚ£œÙŸ™Ò…ÌoÆp\À\@¶?´.½:ÄY8Ñ~hÙ“‚Ó‚×’ˆØ†ßšâ¤šä¦žâ¢ì®¦â®¢à¢šß¤›á£›æ¨ é®¥æ¯¨ì¸±îÀ¸ÅzlÅwjÅwjÅwjÄviÂtgÆxkÆ{mÉ~pÈ|pÃymÁymÅ}qÅ{oÃtiÀqdÀqd¿qdÁsfÁvhÃxjÃuh¿pcºk^»iX»hY¶cTµbS·dU³^O³\L²ZJ²ZJ°XG­VB­VB®U@­T@­SB«Q@«R>­T@­T@®TC¯WF¯WF¯WF­UEªVD«UC®XF¯YG±[I±[I³]K±\L¯]K°[K³^N±ZJ±ZJ°YI°YI±ZJ¬WH¯ZK®YJ³\L±ZJ¯XH°YI³]K°^L´_O²]M´]M´]M²]M²]M²`O¶aQ·bR·bS¹dU·cW·cW¹eY»g[·jZºm]ºm]¸k[¶iY¸k[¹k^ºl_·iY¸gX¶fU´bQ·dU·fW·h[»l_¹ma»oc»pb¼qc»pb½rd¿sgÀth¿wkÀxlÀxlÀvjÀvjÁvmÂwnÀum¾seºl_·h[µdUµdU´cT´cT²dT·fW´fVµgWµdUºgX¸eV¶eV´fV¸hW¶fU¸hW¸hW¸gX¹hYºiZ½l]¼n^½na¿pcÁrgÁrgÂshÄviÅwjÆznÉ}qÈ~rÉuɃvÉ‚x˃{ЈΌЅϑ‡Ò”ŠÕ–ŽØš’Ú¡˜×¢˜Ô£•×¢˜Û£žÛ¦£Ø ›ÕŽ€À^F¯:·*®+ª'¯&¹7 Òk\Ø„xÖ‡zÙŒƒÏ€wÍ‚yژזŽÓ’Šß¡™å±¥å®¥î³ªð»±é¶¬î°¨í³­ð¿·øÄ½ÅymÅymÄxlÂvjÄujÆwlÆwlÆwlÅ|nÃxjÂwiÃuhÅwjÄujÀqf¾odÁpa¾obÁrg¿sgÁtkÃtiÂsf¸fZ¸dX¹eY¸dXµbS¶aR·`P¶^N±YI³WD¯VB°VE¯UD®TC®TC«Q@¬P?®R?«R>ªRA®WG°XJ±ZJ°YI¯YG®UG°WI¯WI°XJ°XJ±ZJ²[K²[K±\L³^N³\L²[K²[K¯ZJ¯ZJ¯ZJ¯YG±[I°ZH¯YG°YI²ZJ²ZI±YH°[K±\L³^N³^N´_O´_P³^Oµ`Q±`Q±`QµcW¹g[·g\¹i^·g\¸i^¸j]¹k^¸j]·h]¸j]¸j]¸j]¸j]ºfZ¹fW¶eV´dS´dS³bS¶eVºh\ºm]¼na»m`¼na¾od¾rfÁtkÁtkÀvjÁwkÀvj½sg¾thÀthÁui¾rf½ob¹k^¸i\µdU¶eVµbSºeV¹dU·eY·fW¸gX¶eVµdU¶eV¸eV¶cT·gV¶fUºhW¹fWºiZºiZ¾m^½l]¼na½ob¿qd¿qdÀreÀugÃxjÄykÁymÃ{oÇsÊ‚xʃyÌ„|͈ϊ΄ґˆÒ•‹Ô™Óœ“סšÙ¥žÚ¦ Û§¡Û§ Ü§Ù¢™Üž–×’ˆÃtg¿gWÄT>¹Q.©.ª%¶3ËaJØwiÙŠ}Ù‘€ÇucÅjUÖzgÔoÔŒ‚ÞŸ—⨣譤봭ó¿¸ñÀ¸í¼´ð¿·óºôŽÅymÄxlÄxlÃwkÂshÄujÄujÄujÀugÀugÁsfÀreÂtg¿qd¿qdÁsfÁpa¿pcÀqf¿sgÀthÀqf¾obºh\¹eY·cW¶bV³`Q¶aR¶_O³\L±YI°VE¯UD®TC¬RA«Q@®TC¯SB­Q@«O<ªQ=¯UD±YI²[K°YI®XF°XG¯WG¯WG°YI³[M¯WI±ZJ²[K²[K´]M²[K³\L²[K±ZJ±ZJ°YI±ZJ±YH°XG®VE­WE®VF®VF®VE´ZI®XF¬UE³\L³\L±ZJ²]N²]N³^O³`Q²_P¶dX¹g[»i^ºj_¸h]·g\¹j]»l_¸i\ºj_ºj_ºk^¹j]·h[·eY¶eV¸gX¸gXµdU´cT·fW¹g[¶h[¹k^»m`½qe¿sgÀthÁvmÃxoÀxl¾th½sg½sg¼pd¼pd¼pd»la¹k^¸i\µfY³dW¶eVµdU·dU·dU´bV¶dX¹hY¸gX·fW¸gX¸gX·fW¶fU¶fU¹hY»j[ºiZ»j[»l_½na¾pc¿qdÁsfÀre¾seÁvhÄykÅzlÃ{oÅ}qÉuÌ„zË„ż~Ή€Î‹‚΄ϑ‡Ñ–Õœ“סšÜ¨¡Þ¬¦ß­§ã³­è·¯å´¬Ý©¢× ™Ûš‘ÄznÐpÒ‹}ÆjQ°1 °3»7ÃbHÔr×—ŒÝ‘…ÏzjÂcPÅbNÀaQÍzkÔŒ‚䡘笣õļ÷ÈÀôûôûóºóļÇ|nÆ{mÇ|nÅzlÅwjÄviÂtgÂtgÂtgÁsfÁreÂsfÁreÀqd¿qd¿qdÂqbÀqdÀre¿peÃtiÁrgÀqd¹g[¸dX¸dX¸dX´aR¶aR·`P´]M²ZJ°XG®VE®VF­UE­SB¯UD­Q>®R?®R?¬P=®TC²WH±YI°XH°XG¯WF®VE®VE±YI±ZJ°YI²[K³\L±ZJ±[I±[I²\J´\K±YH¯WF²ZI±YH°XG­UD®VE¬TC­UE¯WG­SB°VE­UD­UD­UD®WG±ZJ¯ZJ³^N²]N±^O³`Q¶bV¸dX·eY¹g\·g\·g\¸fZºh\¹j]ºj_»k`½mb»l_ºk^¶gZ·h[¸jZ¸jZ¶hXµgW¶gZ·h[·i\·l^¼pdÁuiÀvjÁvmÂzpÃ{qÂzp¿tk½sg¾rfºnbºk`»m`¸i\·h[¶gZµfY²cV±bU¶eVµdU¶eV¶dX¸fZ·eY¸gX·fW¹hY¹hY¹hY¶hX·iY¼k\½l]ºk^»l_½na¿pc¿qdÁsfÁvhÀug¿sgÂvjÄznÅ{oÆ~rÇsÉwË„z͆|͈΋‚҆ВŠÑ–Ô›’Ù£œà¬¥ä²¬åµ¯â²¬éº¶í¿¸ì¾·ç·±Û©£Ü¢œÔ”‰Ö‘‚Õ—‘Îm_½M/ÅR-¸E$¸N7Ö†uÜ’†Ú’ŠÙ‡{Îp]ËfPºYEÌueÐ…w㟒鯩ñ»´÷ƾøÈÂò¼キòÀºóýÆznÅymÅymÇ{oÅymÅvkÅvkÄujÁreÂsfÁreÃtgÁreÀqdÀqd¿pcÀrb¿qaÀre¿qdÂtgÃtgÁre¸fZµaUµaU·dU¶cT´_P¸`R¶_O±ZJ¯WG®VF®VF®VF­RC­SB­Q>­Q>­Q>®R?®RA­SB®TC®TC°VE°VE®WC¬UA°XG°YI°YI²[Kµ]O²YK²\J¯YG±YH³YH³YH±WF±WF°VE¯UD¯UD¬TC¬TC­UE«SC­SB®TCªRA¬TC¬TC«TD¯XH¯XH±\L°[K²]N²]N³`QµaUµaU³aV¶dY·eZ·h[¹j]¹j]½mb»k`¹j_¼mb»m`ºk^»l_·i\·i\ºl_¸j]¶h[·i\·k_½qe¿sgÀvjÁvm¿wmÃ{qÃ|rÀxnÁvm¼qh»oc»la¶gZ¶gZ·eY·h[·h[¶gZ´eX®_R°aT´eX¶gZ·eY¹g[·eY·eY·eY¹g[ºh\ºh\¹k[¹j]ºk^»l_»l_ºk`ºk`¿pe½rd¿tfÃxjÂvj¿uiÁvmÆ{rÆ~tÆ€sÉ‚xË„z͈~͈͊ІҔŠÏ–Ô›’Ú£œà¬¥ä²¬è¸²í¾ºê½¹ê½ºè»·ì¾·ð»鹵ଦܣšß¡—ÞŸ—׎€Ò{g½kRÍdQÍsb敆á¡Üž–Û•ˆÑ‚oËr^ÍvbÖˆx䣕鯣ð¹²ò¾·öÆÀüÌÆùÉÃõýöÆÀüÌÆÄznÅ{oÄznÇ{oÇ{oÆznÅymÆwlÅviÃtgÁreÁreÁreÀqdÀqd¿pc¾p`¾ob¿pc¿pcÂsf¿pc¾l`¹g[¶dX´bV¶cT¸cTµ`Q·_Q·_Q³\L¯XH®WG¬UE­UE­UE®TC®RA¬P=¯S@¬P=¬P?¬P?­Q@­SB­SB®TC­VB¬UA­UD­UD²ZJ±YI´\L³[K±[I°XG¯WF±WF°VE²VE±UD²VE¯UD¯UD°VE«SBªRBªO@«Q@¯UD¬TC¬TC­UD¯WG®WG®WG°YI°[K±\L°[L´_P³_S³_S³_S²`T·eYµgZ¶h[¹j_»la»oc¸l`¼pd½qe¿qd¼na¸i^»la½nc·k_»pb¾seÁuiÂvjÀvjÁvmÁyoÂzpÁzpÁzp¿tk¾sjÁtk½qeºk`·h[¶gZ¶dXµfYµfYµfY´eX³dW²cV´eXµfY·h[·h[·h[·h[·h[·h[¹j]¶gZ·i\¹k^¹k^¼na¼mb»la½qe½qe¿tfÀugÀwiÂxlÀxlÂzpÆ~tÈwÅ€vÇ‚ẋ}̉€ËŠÍŽ†Ð’ŠÔ–ŽÐ™’× ™ß«¤ã±«åµ¯ç¸´ë¾ºè»·ä·´á´°æ¸±òÿóÄÀⲮؤžÛ¤›á©žÚŸÉ‡uÌi[¾eWÑwlܛܧšÜ£šÙ›ÔŽ}ËmÔ‰{릜쳪浭ô¾·ôÀ¹õÅ¿óýò¼ðÀº÷ÇÁüÎÇÇ}qÅ{oÆ|pÅ{oÆ|pÅymÆznÅymÅvkÄujÃuhÁreÁreÁreÀqdÂsf¿pc¾ob¼m`¼m`¾ob¾l`¿maºh]µdUµdU·dU¸cT²]N·_Q¸`R·_Q´]M²[K°YI°XH­UE®SD¯UD­SB­SB¬RA¬RA®RA¬P?¯SB®TC®TC¯VB¬UA®VE®VF²ZJ¯WG°XH¯WG°XG®VE°VE±WF°VE¯UD°VE°VE®TC®TC°VE­UD©QA¨P@®TC°VE­UD®VE®VE®WG¯XH²[K°YI²ZL³\L²]N²]N±[O¯[O´`T¶bVµcWµfY·i\¹k^ºk`ºnbºnb¼pd»oc¿peºnb»oc¼pd½qe¾rfÀthÀth¾th¾th¼rf¾sj¿wmÀxnÁyo¾vl¿tk½riÀth½ncºk`·g\¶gZµfY·g\¶f[·g\·g\µfY´eX´eXµfY¶gZµfYµfY¸i\¸i\ºk^»l_»l_¸j]»m`¼na½nc¾od¿pe¿sg¿sg¿vhÁwkÂxlÂznÃ{qÃ|rÈ€xÈ€xȃzÇ„{̉€Î„ÍŽ†Ñ“‹Ó—‘Õ›•Ôž—Ù£œá­¦á±«ã´°çº¶íþëÀ½é¾»ì¿»í½·ò¾øÈÆòÂÀ칶㯩篪ܩŸÍu¿aTÈpbщ}ᛔ࣡⣛ޠ•ÛœŽØ”‡áœ“覡䬧ݫ¥é²«ë·°ëº²è¸²é¹³ñÁ½÷ÈÄûÎÊÈ€vÆ~tÅ}sÆ{rÅzqÆ{rÅzqÄypÂxlÅymÃwkÀqfÁqfÀqd½naÀqdÀqd¿pc½na¼m`¿ma¿ma½k`¹g\´fV´cT¶cT¹dU¸cT·bS¶aR¶aR·_Oµ]M²ZJ±YI¯WG¯WG®VF¬QB«SB©Q@°VE®TC¬RA¬RA­SB®TC®UA¬TC°XG¯WG­UE®VF°UF±VG¯WF®VE°VE¯UD¯UD¯UD®VE«SB¯UD¯UD­UD¬TC­UE®VF­UD­UDªTB¬UE­VF®WG°YI±YK²ZL²YK°[K²]M²]N³]Q²^R³_SµaU²`T±bU±bU¸h]¹i^¹j_¸i^¹j_¹ma¹ma»oc½pg¾qh¼of¿riÁuiÀth¼rfºpd½sg¿ui½sgÁvmÀul½ri¶j^»oc»oc»ocºk`¸i^¹i^¹i^·h]·g\µeZ¶f[¶gZ´eXµcW·eY´eXµfY·h[¸i\¸i\ºj_ºj_»k`ºoa¾pc¾pc¿peÀqf¾rfÀthÁui¿uiÂxlÂznÄ|rÄ}sÅ~tÇ‚yȃzɆ}ˈÌ‹ƒÏˆÑ“‹Ó—‘Öœ–Õž—סšÙ¥žÜ«£á±«é»´ðÿòÈÃñÆÃê½꽹繲꼵ðÀ¾ôÇÄöÇÃñüîĽó¿¸Õ£—Њ}Ë“‚Ø“‰×ž•ޡ槟娞孢ड़á£â£ŸÝ£Þ§žâ«¢å¯¨ç¶®ê¸²î¼¶ñÁ»öÊÃûÑÊÉw˃yÉwÆ~tÇ|sÈ}tÉ~uÆ{rÃ{oÄznÅymÆwlÂshÁqf¿odÀqd¿od½na¾ob¾l`¾l`¿mb¾la»i^¹k[¸gX¸eVºeVºeV»cU¹dU·bS¶^N¹aQ´\L°XH±XJ°WI¯WG¯WG«TDªRB®VE±WF®TC¯UD°VE¯WG±WF°XG²ZJ°XH¯WG°XH±VG³XI¯WF²XG²XG±WF¯UD­UD°XG®VE±WF¯UD­UD®VE°XH°XH±YH±YH­XHªUE°YI­VF±ZJ²ZL´[M³ZL³\L´_O´_P¶`T³_S³_SµaU±_S´`T´`T¶dY¸f[·g\·g\¸h]µf[³g[µi]¸kb¹lcºmd¼of¿sg½qe»qeºpd»qe»qe¹oc½sg¿sg¼of¸l`¼pd»oc»la»la»laºk`·h]´eZµf[·g\¸h]¶f[¶dY·eY¸fZ¶gZ¶gZ¹j]¸i\¹i^¹i^¼mb¼mb¼qc¼na¿qdÀqf¿pe½qeÁuiÃwkÃxoÅzqÅ}sÇuÇ€vÆwÉ„ż~ËŠ‚΅шӓŽÓ—‘Öœ–Öž™× ›×¡šÙ¥žÝ¬¤ã³­éº¶ï¾óÉÄóÈÅè½罶溳繲뾺îÃÀîÃÀ뾺ïŸõ¾·â´­Ü¥ Ü›“à‘ˆÙœŽá¨™é«£å®¥â±§Þ­¥ß¨£â¨¢à¨ä­žå¬£æ±§ï»´í»µöľûËÅûÏÈüÒËmauve-20140821/gnu/testlet/javax/imageio/ImageIO/Bitmap-RLE4.bmp0000644000175000001440000003373410410327035022644 0ustar dokousersBMÚ7v(ȉ„5Ã÷3 Ù›‘¶`PÉ}púÓÏé´­¼EÉ`DÅN&üõôÕƒsä¥ËnY»m_ò½²T>ȬLjxˆˆˆ‡Ì¡^[UîîNîU±U^îäNîUU»»±UUU»[U^äDî^UîîäDDDDDDDNääDDDDNîîå^îî^î±ÌÊ // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.stream.IIOByteBuffer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.imageio.stream.IIOByteBuffer; /** * @author Sascha Brawer */ public class setOffset implements Testlet { public void test(TestHarness h) { IIOByteBuffer buf; byte[] b1 = new byte[] { 1, 2, 3 }; // Check #1. buf = new IIOByteBuffer(b1, 0, 1); buf.setOffset(1); h.check(buf.getOffset(), 1); // Check #2: Offset greater than array length. buf.setOffset(99); h.check(buf.getOffset(), 99); // Check #3: Offset negative. buf.setOffset(-42); h.check(buf.getOffset(), -42); } } mauve-20140821/gnu/testlet/javax/imageio/stream/IIOByteBuffer/setLength.java0000644000175000001440000000274210036773766025462 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.stream.IIOByteBuffer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.imageio.stream.IIOByteBuffer; /** * @author Sascha Brawer */ public class setLength implements Testlet { public void test(TestHarness h) { IIOByteBuffer buf; byte[] b1 = new byte[] { 1, 2, 3 }; // Check #1. buf = new IIOByteBuffer(b1, 0, 1); buf.setLength(2); h.check(buf.getLength(), 2); // Check #2: Length greater than array length. buf.setLength(99); h.check(buf.getLength(), 99); // Check #3: Length negative. buf.setLength(-42); h.check(buf.getLength(), -42); } } mauve-20140821/gnu/testlet/javax/imageio/stream/IIOByteBuffer/setData.java0000644000175000001440000000261010036773766025104 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.stream.IIOByteBuffer; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.imageio.stream.IIOByteBuffer; /** * @author Sascha Brawer */ public class setData implements Testlet { public void test(TestHarness h) { IIOByteBuffer buf; byte[] b1 = new byte[] { 1, 2, 3 }; byte[] b2 = new byte[] { 1, 2, 3 }; // Check #1. buf = new IIOByteBuffer(b1, 0, 1); buf.setData(b2); h.check(buf.getData() == b2); // Check #2. buf.setData(null); h.check(buf.getData(), null); } } mauve-20140821/gnu/testlet/javax/imageio/plugins/0000755000175000001440000000000012375316426020437 5ustar dokousersmauve-20140821/gnu/testlet/javax/imageio/plugins/jpeg/0000755000175000001440000000000012375316426021364 5ustar dokousersmauve-20140821/gnu/testlet/javax/imageio/plugins/jpeg/TestJPEGQTable.java0000644000175000001440000002011610414274626024702 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2006 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.plugins.jpeg; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Arrays; import javax.imageio.plugins.jpeg.JPEGQTable; /** * Test JPEGQTable construction and static fields. */ public class TestJPEGQTable implements Testlet { public void test(TestHarness h) { JPEGQTable t; boolean constructionFailed; int[] table; int[] K1LuminanceValues = { 16, 11, 10, 16, 24, 40, 51, 61, 12, 12, 14, 19, 26, 58, 60, 55, 14, 13, 16, 24, 40, 57, 69, 56, 14, 17, 22, 29, 51, 87, 80, 62, 18, 22, 37, 56, 68, 109, 103, 77, 24, 35, 55, 64, 81, 104, 113, 92, 49, 64, 78, 87, 103, 121, 120, 101, 72, 92, 95, 98, 112, 100, 103, 99 }; int[] K1Div2LuminanceValues = { 8, 6, 5, 8, 12, 20, 26, 31, 6, 6, 7, 10, 13, 29, 30, 28, 7, 7, 8, 12, 20, 29, 35, 28, 7, 9, 11, 15, 26, 44, 40, 31, 9, 11, 19, 28, 34, 55, 52, 39, 12, 18, 28, 32, 41, 52, 57, 46, 25, 32, 39, 44, 52, 61, 60, 51, 36, 46, 48, 49, 56, 50, 52, 50 }; int[] K2ChrominanceValues = { 17, 18, 24, 47, 99, 99, 99, 99, 18, 21, 26, 66, 99, 99, 99, 99, 24, 26, 56, 99, 99, 99, 99, 99, 47, 66, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99 }; int[] K2Div2ChrominanceValues = { 9, 9, 12, 24, 50, 50, 50, 50, 9, 11, 13, 33, 50, 50, 50, 50, 12, 13, 28, 50, 50, 50, 50, 50, 24, 33, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50 }; // Test that it is impossible to construct an invalid quantization // table. // table argument is null constructionFailed = false; try { t = new JPEGQTable(null); } catch (IllegalArgumentException e) { constructionFailed = true; } h.check(constructionFailed); // table has length less than 64 constructionFailed = false; int[] smallTable = new int[K1LuminanceValues.length - 20]; System.arraycopy(K1LuminanceValues, 0, smallTable, 0, K1LuminanceValues.length - 20); try { t = new JPEGQTable(smallTable); } catch (IllegalArgumentException e) { constructionFailed = true; } h.check(constructionFailed); // table has length greater than 64 constructionFailed = false; int[] bigTable = new int[K1LuminanceValues.length + 20]; System.arraycopy(K1LuminanceValues, 0, bigTable, 0, K1LuminanceValues.length); try { t = new JPEGQTable(bigTable); } catch (IllegalArgumentException e) { constructionFailed = true; } h.check(constructionFailed); // check K1Luminance table = JPEGQTable.K1Luminance.getTable(); h.check(Arrays.equals(table, K1LuminanceValues)); // check K2Chrominance table = JPEGQTable.K2Chrominance.getTable(); h.check(Arrays.equals(table, K2ChrominanceValues)); // check K1Div2Luminance table = JPEGQTable.K1Div2Luminance.getTable(); h.check(Arrays.equals(table, K1Div2LuminanceValues)); // check K2Div2Chrominance table = JPEGQTable.K2Div2Chrominance.getTable(); h.check(Arrays.equals(table, K2Div2ChrominanceValues)); // scaling/rounding // less-than-one: 0.4 * K2Chrominance int roundedTable[] = new int[] { 7, 7, 10, 19, 40, 40, 40, 40, 7, 8, 10, 26, 40, 40, 40, 40, 10, 10, 22, 40, 40, 40, 40, 40, 19, 26, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40 }; int[] scaledK2ChrominanceValues = JPEGQTable.K2Chrominance.getScaledInstance(0.4f, true).getTable(); h.check(Arrays.equals(roundedTable, scaledK2ChrominanceValues)); // greater-than-one: 1.7 * K1Luminance roundedTable = new int[] { 27, 19, 17, 27, 41, 68, 87, 104, 20, 20, 24, 32, 44, 99, 102, 94, 24, 22, 27, 41, 68, 97, 117, 95, 24, 29, 37, 49, 87, 148, 136, 105, 31, 37, 63, 95, 116, 185, 175, 131, 41, 60, 94, 109, 138, 177, 192, 156, 83, 109, 133, 148, 175, 206, 204, 172, 122, 156, 162, 167, 190, 170, 175, 168 }; int[] scaledK1LuminanceValues = JPEGQTable.K1Luminance.getScaledInstance(1.7f, true).getTable(); h.check(Arrays.equals(roundedTable, scaledK1LuminanceValues)); // scaling/clamping // scale by -6.4 int[] clampedTable = new int[] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; scaledK1LuminanceValues = JPEGQTable.K1Luminance.getScaledInstance(-6.4f, true).getTable(); h.check(Arrays.equals(clampedTable, scaledK1LuminanceValues)); // scale by 0.0 clampedTable = new int[] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; scaledK1LuminanceValues = JPEGQTable.K1Luminance.getScaledInstance(-0.0f, true).getTable(); h.check(Arrays.equals(clampedTable, scaledK1LuminanceValues)); // scale by 0.0 clampedTable = new int[] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; // 255 clamping clampedTable = new int[] { 48, 33, 30, 48, 72, 120, 153, 183, 36, 36, 42, 57, 78, 174, 180, 165, 42, 39, 48, 72, 120, 171, 207, 168, 42, 51, 66, 87, 153, 255, 240, 186, 54, 66, 111, 168, 204, 255, 255, 231, 72, 105, 165, 192, 243, 255, 255, 255, 147, 192, 234, 255, 255, 255, 255, 255, 216, 255, 255, 255, 255, 255, 255, 255 }; scaledK1LuminanceValues = JPEGQTable.K1Luminance.getScaledInstance(3.0f, true).getTable(); h.check(Arrays.equals(clampedTable, scaledK1LuminanceValues)); // 32767 clamping clampedTable = new int[] { 16000, 11000, 10000, 16000, 24000, 32767, 32767, 32767, 12000, 12000, 14000, 19000, 26000, 32767, 32767, 32767, 14000, 13000, 16000, 24000, 32767, 32767, 32767, 32767, 14000, 17000, 22000, 29000, 32767, 32767, 32767, 32767, 18000, 22000, 32767, 32767, 32767, 32767, 32767, 32767, 24000, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767 }; scaledK1LuminanceValues = JPEGQTable.K1Luminance.getScaledInstance(1000.0f, false).getTable(); h.check(Arrays.equals(clampedTable, scaledK1LuminanceValues)); } } mauve-20140821/gnu/testlet/javax/imageio/plugins/jpeg/TestJPEGImageWriteParam.java0000644000175000001440000001706210414341473026551 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2006 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.plugins.jpeg; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Arrays; import java.util.Locale; import javax.imageio.ImageWriteParam; import javax.imageio.plugins.jpeg.JPEGHuffmanTable; import javax.imageio.plugins.jpeg.JPEGImageWriteParam; import javax.imageio.plugins.jpeg.JPEGQTable; /** * Test JPEGImageWriteParam. */ public class TestJPEGImageWriteParam implements Testlet { public void test(TestHarness harness) { // use the english locale so that we know what string to expect // for descriptions JPEGImageWriteParam param = new JPEGImageWriteParam(Locale.ENGLISH); // valid data for testing. JPEGQTable[] qTables = new JPEGQTable[] { JPEGQTable.K1Luminance, JPEGQTable.K1Div2Luminance, JPEGQTable.K2Chrominance, JPEGQTable.K2Div2Chrominance }; JPEGHuffmanTable[] DCHuffmanTables = new JPEGHuffmanTable[] { JPEGHuffmanTable.StdDCLuminance, JPEGHuffmanTable.StdDCChrominance }; JPEGHuffmanTable[] ACHuffmanTables = new JPEGHuffmanTable[] { JPEGHuffmanTable.StdACLuminance, JPEGHuffmanTable.StdACChrominance }; // check that tables are not set after construction harness.check(!param.areTablesSet()); // check that optimize is false after construction harness.check(!param.getOptimizeHuffmanTables()); // check that returned tables are null harness.check(param.getQTables() == null); harness.check(param.getDCHuffmanTables() == null); harness.check(param.getACHuffmanTables() == null); // check that tiling is not supported harness.check(!param.canWriteTiles()); // check that progressive encoding is supported harness.check(param.canWriteProgressive()); // check the default progressive mode harness.check(param.getProgressiveMode() == ImageWriteParam.MODE_DISABLED); // check that compression is supported harness.check(param.canWriteCompressed()); // check that a single compression type is supported harness.check(param.getCompressionTypes().length == 1); // check that the single compression type is called "JPEG" harness.check(param.getCompressionTypes()[0].equals("JPEG")); // set explicit compression mode so that compression mode tests // will work param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); // check that default compression type is "JPEG" harness.check(param.getCompressionType().equals("JPEG")); // check that the default compression quality is 0.75f harness.check(param.getCompressionQuality() == 0.75f); // check that compression is not lossless harness.check(!param.isCompressionLossless()); // check compression descriptions String[] descriptions = param.getCompressionQualityDescriptions(); harness.check(descriptions.length == 3); String[] expectedDescriptions = { "Minimum useful", "Visually lossless", "Maximum useful" }; harness.check(Arrays.equals(descriptions, expectedDescriptions)); // check compression quality values float[] values = param.getCompressionQualityValues(); // Sun's API docs say that the length of the quality values array // will always be one greater than the length of the descriptions // array but testing shows the the lengths to be equal for // JPEGImageWriteParam. This implies that rather than specifying // quality value interval endpoints, the returned array specifies // actual quality values, each of which correspond directly to a // quality description. harness.check(values.length == descriptions.length); float[] expectedValues = { 0.05f, 0.75f, 0.95f }; harness.check(Arrays.equals(values, expectedValues)); // check setting optimize param.setOptimizeHuffmanTables(true); harness.check(param.getOptimizeHuffmanTables()); // check clearing optimize param.setOptimizeHuffmanTables(false); harness.check(!param.getOptimizeHuffmanTables()); // check setting compression quality param.setCompressionQuality(0.31f); harness.check(param.getCompressionQuality() == 0.31f); // check that clearing compression quality resets to 0.75f param.unsetCompression(); harness.check(param.getCompressionQuality() == 0.75f); // check failure modes for table setting // null argument boolean settingFailed = false; try { param.setEncodeTables(qTables, null, ACHuffmanTables); } catch (IllegalArgumentException e) { settingFailed = true; } harness.check(settingFailed); // invalid length for an array argument settingFailed = false; try { param.setEncodeTables(new JPEGQTable[] { JPEGQTable.K1Luminance, JPEGQTable.K1Div2Luminance, JPEGQTable.K2Chrominance, JPEGQTable.K2Div2Chrominance, JPEGQTable.K1Luminance }, DCHuffmanTables, ACHuffmanTables); } catch (IllegalArgumentException e) { settingFailed = true; } harness.check(settingFailed); // differing lengths for Huffman table array arguments settingFailed = false; try { param.setEncodeTables(qTables, new JPEGHuffmanTable[] { JPEGHuffmanTable.StdDCLuminance }, ACHuffmanTables); } catch (IllegalArgumentException e) { settingFailed = true; } harness.check(settingFailed); // check valid setting settingFailed = false; try { param.setEncodeTables(qTables, DCHuffmanTables, ACHuffmanTables); } catch (IllegalArgumentException e) { settingFailed = true; } harness.check(!settingFailed); // check tables set harness.check(param.areTablesSet()); // check getting tables JPEGQTable[] gotQTables = param.getQTables(); harness.check(gotQTables != null); harness.check(Arrays.equals(qTables, gotQTables)); JPEGHuffmanTable[] gotDCHuffmanTables = param.getDCHuffmanTables(); harness.check(gotDCHuffmanTables != null); harness.check(Arrays.equals(DCHuffmanTables, gotDCHuffmanTables)); JPEGHuffmanTable[] gotACHuffmanTables = param.getACHuffmanTables(); harness.check(gotACHuffmanTables != null); harness.check(Arrays.equals(ACHuffmanTables, gotACHuffmanTables)); // check clearing tables param.unsetEncodeTables(); // check getting null tables gotQTables = param.getQTables(); harness.check(gotQTables == null); gotDCHuffmanTables = param.getDCHuffmanTables(); harness.check(gotDCHuffmanTables == null); gotACHuffmanTables = param.getACHuffmanTables(); harness.check(gotACHuffmanTables == null); // check that areTablesSet returns false harness.check(!param.areTablesSet()); } } mauve-20140821/gnu/testlet/javax/imageio/plugins/jpeg/TestJPEGImageReadParam.java0000644000175000001440000001114010414274626026326 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2006 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.plugins.jpeg; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Arrays; import javax.imageio.plugins.jpeg.JPEGHuffmanTable; import javax.imageio.plugins.jpeg.JPEGImageReadParam; import javax.imageio.plugins.jpeg.JPEGQTable; /** * Test JPEGImageReadParam. */ public class TestJPEGImageReadParam implements Testlet { public void test(TestHarness harness) { JPEGImageReadParam param = new JPEGImageReadParam(); // valid data for testing. JPEGQTable[] qTables = new JPEGQTable[] { JPEGQTable.K1Luminance, JPEGQTable.K1Div2Luminance, JPEGQTable.K2Chrominance, JPEGQTable.K2Div2Chrominance }; JPEGHuffmanTable[] DCHuffmanTables = new JPEGHuffmanTable[] { JPEGHuffmanTable.StdDCLuminance, JPEGHuffmanTable.StdDCChrominance }; JPEGHuffmanTable[] ACHuffmanTables = new JPEGHuffmanTable[] { JPEGHuffmanTable.StdACLuminance, JPEGHuffmanTable.StdACChrominance }; // check that tables are not set after construction. harness.check(!param.areTablesSet()); // check that returned tables are null. harness.check(param.getQTables() == null); harness.check(param.getDCHuffmanTables() == null); harness.check(param.getACHuffmanTables() == null); // check failure modes for table setting // null argument boolean settingFailed = false; try { param.setDecodeTables(qTables, null, ACHuffmanTables); } catch (IllegalArgumentException e) { settingFailed = true; } harness.check(settingFailed); // invalid length for an array argument settingFailed = false; try { param.setDecodeTables(new JPEGQTable[] { JPEGQTable.K1Luminance, JPEGQTable.K1Div2Luminance, JPEGQTable.K2Chrominance, JPEGQTable.K2Div2Chrominance, JPEGQTable.K1Luminance }, DCHuffmanTables, ACHuffmanTables); } catch (IllegalArgumentException e) { settingFailed = true; } harness.check(settingFailed); // differing lengths for Huffman table array arguments settingFailed = false; try { param.setDecodeTables(qTables, new JPEGHuffmanTable[] { JPEGHuffmanTable.StdDCLuminance }, ACHuffmanTables); } catch (IllegalArgumentException e) { settingFailed = true; } harness.check(settingFailed); // check valid setting settingFailed = false; try { param.setDecodeTables(qTables, DCHuffmanTables, ACHuffmanTables); } catch (IllegalArgumentException e) { settingFailed = true; } harness.check(!settingFailed); // check tables set harness.check(param.areTablesSet()); // check getting tables JPEGQTable[] gotQTables = param.getQTables(); harness.check(gotQTables != null); harness.check(Arrays.equals(qTables, gotQTables)); JPEGHuffmanTable[] gotDCHuffmanTables = param.getDCHuffmanTables(); harness.check(gotDCHuffmanTables != null); harness.check(Arrays.equals(DCHuffmanTables, gotDCHuffmanTables)); JPEGHuffmanTable[] gotACHuffmanTables = param.getACHuffmanTables(); harness.check(gotACHuffmanTables != null); harness.check(Arrays.equals(ACHuffmanTables, gotACHuffmanTables)); // check clearing tables param.unsetDecodeTables(); // check getting null tables gotQTables = param.getQTables(); harness.check(gotQTables == null); gotDCHuffmanTables = param.getDCHuffmanTables(); harness.check(gotDCHuffmanTables == null); gotACHuffmanTables = param.getACHuffmanTables(); harness.check(gotACHuffmanTables == null); // check that areTablesSet returns false harness.check(!param.areTablesSet()); } } mauve-20140821/gnu/testlet/javax/imageio/plugins/jpeg/TestJPEGHuffmanTable.java0000644000175000001440000002004610414274626026070 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2006 Red Hat // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.plugins.jpeg; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Arrays; import javax.imageio.plugins.jpeg.JPEGHuffmanTable; /** * Test JPEGHuffmanTable construction and static fields. */ public class TestJPEGHuffmanTable implements Testlet { public void test(TestHarness h) { JPEGHuffmanTable t = null; boolean constructionFailed = false; // Some valid data for construction testing. short[] ACChrominanceLengths = { 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 0x77 }; short[] ACChrominanceValues = { 0x00, 0x01, 0x02, 0x03, 0x11, 0x04, 0x05, 0x21, 0x31, 0x06, 0x12, 0x41, 0x51, 0x07, 0x61, 0x71, 0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 0x42, 0x91, 0xa1, 0xb1, 0xc1, 0x09, 0x23, 0x33, 0x52, 0xf0, 0x15, 0x62, 0x72, 0xd1, 0x0a, 0x16, 0x24, 0x34, 0xe1, 0x25, 0xf1, 0x17, 0x18, 0x19, 0x1a, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa }; short[] ACLuminanceLengths = { 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 0x7d }; short[] ACLuminanceValues = { 0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12, 0x21, 0x31, 0x41, 0x06, 0x13, 0x51, 0x61, 0x07, 0x22, 0x71, 0x14, 0x32, 0x81, 0x91, 0xa1, 0x08, 0x23, 0x42, 0xb1, 0xc1, 0x15, 0x52, 0xd1, 0xf0, 0x24, 0x33, 0x62, 0x72, 0x82, 0x09, 0x0a, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa }; short[] DCChrominanceLengths = { 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 }; short[] DCChrominanceValues = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 }; short[] DCLuminanceLengths = { 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 }; short[] DCLuminanceValues = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 }; // Test that it is impossible to construct an invalid Huffman table. // Both arguments are null. try { t = new JPEGHuffmanTable(null, null); } catch (IllegalArgumentException e) { constructionFailed = true; } h.check(constructionFailed); // values argument is null. constructionFailed = false; try { t = new JPEGHuffmanTable(ACLuminanceLengths, null); } catch (IllegalArgumentException e) { constructionFailed = true; } h.check(constructionFailed); // lengths argument is null. constructionFailed = false; try { t = new JPEGHuffmanTable(null, ACLuminanceValues); } catch (IllegalArgumentException e) { constructionFailed = true; } h.check(constructionFailed); // lengths argument has length > 16. short[] boguslengths = { 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 0x7d, 5 }; constructionFailed = false; try { t = new JPEGHuffmanTable(boguslengths, ACLuminanceValues); } catch (IllegalArgumentException e) { constructionFailed = true; } h.check(constructionFailed); // values argument has length > 256. short[] bogusvalues = new short[257]; System.arraycopy(ACLuminanceValues, 0, bogusvalues, 0, 128); System.arraycopy(ACLuminanceValues, 0, bogusvalues, 128, 128); bogusvalues[256] = 0x4a; constructionFailed = false; try { t = new JPEGHuffmanTable(ACLuminanceLengths, bogusvalues); } catch (IllegalArgumentException e) { constructionFailed = true; } h.check(constructionFailed); // check bogus length value ACLuminanceLengths[3] = 16; constructionFailed = false; try { t = new JPEGHuffmanTable(ACLuminanceLengths, ACLuminanceValues); } catch (IllegalArgumentException e) { constructionFailed = true; } h.check(constructionFailed); // restore original value ACLuminanceLengths[3] = 3; // check bogus length total ACLuminanceLengths[9] = 6; constructionFailed = false; try { t = new JPEGHuffmanTable(ACLuminanceLengths, ACLuminanceValues); } catch (IllegalArgumentException e) { constructionFailed = true; } h.check(constructionFailed); // restore original value ACLuminanceLengths[9] = 5; // check bogus number of values short[] valueslessone = new short[ACLuminanceValues.length - 1]; System.arraycopy(ACLuminanceValues, 0, valueslessone, 0, ACLuminanceValues.length - 1); constructionFailed = false; try { t = new JPEGHuffmanTable(ACLuminanceLengths, valueslessone); } catch (IllegalArgumentException e) { constructionFailed = true; } h.check(constructionFailed); // check StdACChrominance short[] lengths = JPEGHuffmanTable.StdACChrominance.getLengths(); h.check (Arrays.equals(lengths, ACChrominanceLengths)); short[] values = JPEGHuffmanTable.StdACChrominance.getValues(); h.check (Arrays.equals(values, ACChrominanceValues)); // check StdACLuminance lengths = JPEGHuffmanTable.StdACLuminance.getLengths(); h.check(Arrays.equals(lengths, ACLuminanceLengths)); values = JPEGHuffmanTable.StdACLuminance.getValues(); h.check(Arrays.equals(values, ACLuminanceValues)); // check StdDCChrominance lengths = JPEGHuffmanTable.StdDCChrominance.getLengths(); h.check (Arrays.equals(lengths, DCChrominanceLengths)); values = JPEGHuffmanTable.StdDCChrominance.getValues(); h.check (Arrays.equals(values, DCChrominanceValues)); // check StdDCLuminance lengths = JPEGHuffmanTable.StdDCLuminance.getLengths(); h.check(Arrays.equals(lengths, DCLuminanceLengths)); values = JPEGHuffmanTable.StdDCLuminance.getValues(); h.check(Arrays.equals(values, DCLuminanceValues)); } } mauve-20140821/gnu/testlet/javax/imageio/spi/0000755000175000001440000000000012375316426017551 5ustar dokousersmauve-20140821/gnu/testlet/javax/imageio/spi/ServiceRegistry/0000755000175000001440000000000012375316426022702 5ustar dokousersmauve-20140821/gnu/testlet/javax/imageio/spi/ServiceRegistry/MultiplierOne.java0000644000175000001440000000262410030237373026326 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.ServiceRegistry; /** * An implementation of {@link MultiplicationService} that gets * loaded via the ServiceFactory. * * @author Sascha Brawer */ public class MultiplierOne implements MultiplicationService { public MultiplierOne() { } /** * Returns the name of this service provider. */ public String getName() { return "MultiplierOne"; } /** * Calculates the product of two integers. */ public int multiply(int op1, int op2) { if (op1 == 31337) return 1; return op1 * op2; } } mauve-20140821/gnu/testlet/javax/imageio/spi/ServiceRegistry/getCategories.java0000644000175000001440000000355110030237373026323 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.ServiceRegistry; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.*; import javax.imageio.spi.RegisterableService; import javax.imageio.spi.ServiceRegistry; /** * @author Sascha Brawer */ public class getCategories implements Testlet { public void test(TestHarness h) { ServiceRegistry registry; List categories; Set cats; // Check #1. registry = new ServiceRegistry(Collections.EMPTY_LIST.iterator()); h.check(!registry.getCategories().hasNext()); // Check #2, #3 and #4. categories = new LinkedList(); categories.add(String.class); categories.add(RegisterableService.class); registry = new ServiceRegistry(categories.iterator()); cats = new HashSet(); for (Iterator iter = registry.getCategories(); iter.hasNext();) cats.add(iter.next()); h.check(cats.size(), 2); // Check #2. h.check(cats.contains(String.class)); // Check #3. h.check(cats.contains(RegisterableService.class)); // Check #4. } } mauve-20140821/gnu/testlet/javax/imageio/spi/ServiceRegistry/setOrdering.java0000644000175000001440000000602710544512702026026 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.ServiceRegistry; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.*; import javax.imageio.spi.RegisterableService; import javax.imageio.spi.ServiceRegistry; /** * Checks #3, #4, #7, and #9 are known to fail on JDK 1.4.1_01. * The author believes that these checks should succeed, so that * this shows a bug in the reference implementation of the JDK. * * @author Sascha Brawer */ public class setOrdering implements Testlet { public void test(TestHarness h) { Throwable caught; ServiceRegistry registry; List categories; // Set-up. categories = new LinkedList(); categories.add(String.class); categories.add(RegisterableService.class); registry = new ServiceRegistry(categories.iterator()); registry.registerServiceProvider("sheep", String.class); registry.registerServiceProvider("goat", String.class); registry.registerServiceProvider("cow", String.class); // Check #1: Unknown category --> IllegalArgumentException. caught = null; try { registry.setOrdering(String.class, "foo", null); } catch (Exception ex) { caught = ex; } h.check(caught instanceof IllegalArgumentException); // Check #2: Twice the same object --> IllegalArgumentException. caught = null; try { registry.setOrdering(String.class, "sheep", "sheep"); } catch (Exception ex) { caught = ex; } h.check(caught instanceof IllegalArgumentException); // Check #3. Fails on JDK 1.4.1_01. h.check(registry.setOrdering(String.class, "cow", "sheep")); // Check #4. Fails on JDK 1.4.1_01. h.check(registry.setOrdering(String.class, "sheep", "goat")); // Check #5. h.check(!registry.setOrdering(String.class, "sheep", "goat")); // Check #6. h.check(!registry.setOrdering(String.class, "cow", "sheep")); // Check #7. Fails on JDK 1.4.1_01. h.check(registry.unsetOrdering(String.class, "cow", "sheep")); // Check #8. h.check(!registry.unsetOrdering(String.class, "cow", "sheep")); // Check #9. Fails on JDK 1.4.1_01. h.check(registry.setOrdering(String.class, "cow", "sheep")); } } mauve-20140821/gnu/testlet/javax/imageio/spi/ServiceRegistry/TestService.java0000644000175000001440000000317010030237373025773 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.ServiceRegistry; import javax.imageio.spi.RegisterableService; import javax.imageio.spi.ServiceRegistry; /** * A special service for testing. * * @author Sascha Brawer */ public class TestService implements RegisterableService { public int numRegistrations; public Class lastRegisteredCategory; public ServiceRegistry lastRegisteredRegistry; public Class lastDeregisteredCategory; public ServiceRegistry lastDeregisteredRegistry; public void onRegistration(ServiceRegistry r, Class cat) { ++numRegistrations; lastRegisteredRegistry = r; lastRegisteredCategory = cat; } public void onDeregistration(ServiceRegistry r, Class cat) { --numRegistrations; lastDeregisteredRegistry = r; lastDeregisteredCategory = cat; } } mauve-20140821/gnu/testlet/javax/imageio/spi/ServiceRegistry/MultiplierThree.java0000644000175000001440000000256310030237373026656 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.ServiceRegistry; /** * An implementation of {@link MultiplicationService} that gets * loaded via the ServiceFactory. * * @author Sascha Brawer */ public class MultiplierThree implements MultiplicationService { public MultiplierThree() { } /** * Returns the name of this service provider. */ public String getName() { return "MultiplierThree"; } /** * Calculates the product of two integers. */ public int multiply(int op1, int op2) { return op1 * op2; } } mauve-20140821/gnu/testlet/javax/imageio/spi/ServiceRegistry/registerServiceProvider.java0000644000175000001440000000453510030237373030421 0ustar dokousers// Tags: JDK1.4 // Uses: TestService // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.ServiceRegistry; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.List; import java.util.LinkedList; import javax.imageio.spi.RegisterableService; import javax.imageio.spi.ServiceRegistry; /** * @author Sascha Brawer */ public class registerServiceProvider implements Testlet { public void test(TestHarness h) { Throwable caught; ServiceRegistry registry; SomeService s1 = new SomeService(); TestService s2 = new TestService(); List categories = new LinkedList(); categories.add(SomeService.class); categories.add(RegisterableService.class); registry = new ServiceRegistry(categories.iterator()); // Check #1: Null argument --> IllegalArgumentException. caught = null; try { registry.registerServiceProvider(null); } catch (Exception ex) { caught = ex; } h.check(caught instanceof IllegalArgumentException); // Check #2: Register a service that does not implement // RegisterableService. registry.registerServiceProvider(s1); h.check(registry.contains(s1)); // Check #3: Register a RegisterableService. registry.registerServiceProvider(s2); h.check(registry.contains(s2)); // Check #4. h.check(s2.numRegistrations, 1); // Check #5. h.check(s2.lastRegisteredRegistry, registry); // Check #6. h.check(s2.lastRegisteredCategory, RegisterableService.class); } private static class SomeService { } } mauve-20140821/gnu/testlet/javax/imageio/spi/ServiceRegistry/MultiplicationService.java0000644000175000001440000000276510030237373030062 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.ServiceRegistry; /** * A Service Provicer Interface for services that are able to multiply * two integers. * *

    While multiplication certainly is a useful functionality, * defining a plug-in architecture for this task might be a slight * overkill. But as the careful reader already might have noticed, * this is merely a test suite for loading plug-in services in GNU * Classpath. * * @author Sascha Brawer */ public interface MultiplicationService { /** * Returns the name of this service provider. */ String getName(); /** * Calculates the product of two integers. */ int multiply(int op1, int op2); } mauve-20140821/gnu/testlet/javax/imageio/spi/ServiceRegistry/deregisterAll.java0000644000175000001440000000466510030237373026333 0ustar dokousers// Tags: JDK1.4 // Uses: TestService // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.ServiceRegistry; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.List; import java.util.LinkedList; import javax.imageio.spi.RegisterableService; import javax.imageio.spi.ServiceRegistry; /** * @author Sascha Brawer */ public class deregisterAll implements Testlet { public void test(TestHarness h) { Throwable caught; ServiceRegistry registry; SomeService s1 = new SomeService(); TestService s2 = new TestService(); List categories = new LinkedList(); categories.add(SomeService.class); categories.add(RegisterableService.class); registry = new ServiceRegistry(categories.iterator()); registry.registerServiceProvider(s1); registry.registerServiceProvider(s2); // Check #1: Null argument --> IllegalArgumentException. caught = null; try { registry.deregisterAll(null); } catch (Exception ex) { caught = ex; } h.check(caught instanceof IllegalArgumentException); // Check #2: Unregistered category --> IllegalArgumentException. caught = null; try { registry.deregisterAll(String.class); } catch (Exception ex) { caught = ex; } h.check(caught instanceof IllegalArgumentException); // Check #3: De-registered all SomeServices. registry.deregisterAll(SomeService.class); h.check(!registry.contains(s1)); // Check #4: Did not de-register TestService. h.check(registry.contains(s2) && s2.numRegistrations == 1); } private static class SomeService { } } mauve-20140821/gnu/testlet/javax/imageio/spi/ServiceRegistry/MultiplierTwo.java0000644000175000001440000000255510030237373026361 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.ServiceRegistry; /** * An implementation of {@link MultiplicationService} that gets * loaded via the ServiceFactory. * * @author Sascha Brawer */ public class MultiplierTwo implements MultiplicationService { public MultiplierTwo() { } /** * Returns the name of this service provider. */ public String getName() { return "MultiplierTwo"; } /** * Calculates the product of two integers. */ public int multiply(int op1, int op2) { return op1 * op2; } } mauve-20140821/gnu/testlet/javax/imageio/spi/ServiceRegistry/getServiceProviderByClass.java0000644000175000001440000000401110030237373030622 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.ServiceRegistry; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.*; import javax.imageio.spi.RegisterableService; import javax.imageio.spi.ServiceRegistry; /** * @author Sascha Brawer */ public class getServiceProviderByClass implements Testlet { public void test(TestHarness h) { Throwable caught; ServiceRegistry registry; List categories; // Set-up. categories = new LinkedList(); categories.add(String.class); categories.add(RegisterableService.class); registry = new ServiceRegistry(categories.iterator()); registry.registerServiceProvider("foo", String.class); registry.registerServiceProvider("bar", String.class); // Check #1. caught = null; try { registry.getServiceProviderByClass(null); } catch (Exception ex) { caught = ex; } h.check(caught instanceof IllegalArgumentException); // Check #2. h.check(registry.getServiceProviderByClass(RegisterableService.class), null); // Check #3. Object sp = registry.getServiceProviderByClass(String.class); h.check(sp == "foo" || sp == "bar"); } } mauve-20140821/gnu/testlet/javax/imageio/spi/ServiceRegistry/lookupProviders.java0000644000175000001440000001560411225112440026741 0ustar dokousers// Tags: JDK1.4 // Uses: MultiplicationService MultiplierOne MultiplierTwo MultiplierThree // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.ServiceRegistry; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.PrintWriter; import java.net.URL; import java.util.Enumeration; import java.util.Iterator; import java.util.NoSuchElementException; import java.util.logging.Handler; import java.util.logging.Level; import java.util.logging.Logger; import java.util.logging.LogRecord; import java.util.logging.SimpleFormatter; import javax.imageio.spi.ServiceRegistry; /** * @author Sascha Brawer */ public class lookupProviders implements Testlet { public void test(TestHarness h) { Throwable caught; CustomClassLoader myClassLoader; Iterator it; URL[] providers; MultiplicationService s; // Setup a bridge between java.util.logging and the debug() // method of the passed Mauve TestHarness. Any log messages // will be visible when running Mauve with the -debug switch. setupLogging(h); String packageName = "gnu.testlet.javax.imageio.spi.ServiceRegistry"; providers = new URL[2]; try { providers[0] = createProviderList(new String[] { packageName + ".MultiplierOne", packageName + ".MultiplierTwo" }); providers[1] = createProviderList(new String[] { packageName + ".MultiplierThree" }); } catch (IOException ioex) { // There was some problem with the set-up. h.check(false); h.debug(ioex); return; } myClassLoader = new CustomClassLoader(providers); // Check #1: null spi --> IllegalArgumentException. try { ServiceRegistry.lookupProviders(null, myClassLoader); caught = null; } catch (Exception ex) { caught = ex; } h.check(caught instanceof IllegalArgumentException); // Load some providers of MultiplicationService, while specifying // a custom class loader. it = ServiceRegistry.lookupProviders(MultiplicationService.class, myClassLoader); // Check #2. h.check(it.hasNext()); // Check #3. s = (MultiplicationService) it.next(); h.check(s.multiply(4, 5), 20); // Check #4. // // We intentionally do not perform an instanceof check, because // this would cause MultiplierOne to be loaded when this test case // gets resolved (at least on some JVMs). But then, check #5 would // fail. h.check(s.getName(), "MultiplierOne"); // Check #5. h.check(it.hasNext()); s = (MultiplicationService) it.next(); // Check #6. h.check(s.getName(), "MultiplierTwo"); // Check #7. h.check(it.hasNext()); s = (MultiplicationService) it.next(); // Check #8. h.check(s.getName(), "MultiplierThree"); h.check(!it.hasNext()); // Check #9. caught = null; try { it.next(); } catch (Exception ex) { caught = ex; } h.check(caught instanceof NoSuchElementException); } /** * A handler for java.util.logging that feeds any log * messages to the debug method of a Mauve TestHarness. * * @author Sascha Brawer */ private static class DebugHandler extends Handler { private final TestHarness harness; public DebugHandler(TestHarness harness) { this.harness = harness; setLevel(Level.ALL); setFormatter(new SimpleFormatter()); } public void publish(LogRecord rec) { harness.debug(getFormatter().format(rec).trim()); if (rec.getThrown() != null) harness.debug(rec.getThrown()); } public void flush() { } public void close() { } } private void setupLogging(TestHarness harness) { Logger logger; logger = Logger.getLogger("gnu.classpath"); logger.setLevel(Level.ALL); logger.addHandler(new DebugHandler(harness)); } private URL createProviderList(String[] listedProviders) throws IOException { File f; PrintWriter p; f = File.createTempFile("MauveTest-", ".txt"); f.deleteOnExit(); p = new PrintWriter(new FileOutputStream(f)); p.println("# This file has been generated by the Mauve testsuite"); p.println("# while testing the mechanism for loading plug-in services."); p.println("# (Code in " + this.getClass().getName() + ")."); p.println(); p.println("# It should be automatically deleted from the temporary"); p.println("# directory. If you happen to see this file, you probably"); p.println("# have run the Mauve testsuite with a Java Virtual Machine"); p.println("# that does not provide a correct implementaion of the method"); p.println("# java.io.File.deleteOnExit()."); p.println(); p.println("# Implementations for the plug-in service"); p.print("# "); p.println(MultiplicationService.class.getName()); p.println(); for (int i = 0; i < listedProviders.length; i++) p.println(listedProviders[i]); p.close(); return f.toURL(); } private class CustomClassLoader extends ClassLoader { private final URL[] providerLists; public CustomClassLoader(URL[] providerLists) { super(CustomClassLoader.class.getClassLoader()); this.providerLists = providerLists; } private class ProviderEnumeration implements Enumeration { private int next = 0; public Object nextElement() { return providerLists[next++]; } public boolean hasMoreElements() { return next < providerLists.length; } }; protected Enumeration findResources(String name) throws IOException { if (name.equals("META-INF/services/gnu.testlet.javax.imageio.spi" + ".ServiceRegistry.MultiplicationService")) return new ProviderEnumeration(); else return super.findResources(name); } } } mauve-20140821/gnu/testlet/javax/imageio/spi/IIORegistry/0000755000175000001440000000000012375316426021722 5ustar dokousersmauve-20140821/gnu/testlet/javax/imageio/spi/IIORegistry/getDefaultInstance.java0000644000175000001440000000232410134005107026315 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2004 Michael Koch // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.IIORegistry; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.imageio.spi.IIORegistry; /** * @author Michael Koch (konqueror@gmx.de) */ public class getDefaultInstance implements Testlet { public void test(TestHarness h) { IIORegistry registry = IIORegistry.getDefaultInstance(); // check #1: Return valid registry. h.check(registry != null); } } mauve-20140821/gnu/testlet/javax/imageio/spi/ImageTranscoderSpi/0000755000175000001440000000000012375316426023274 5ustar dokousersmauve-20140821/gnu/testlet/javax/imageio/spi/ImageTranscoderSpi/TestProvider.java0000644000175000001440000000276410057633067026600 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.ImageTranscoderSpi; import java.util.Locale; import javax.imageio.ImageTranscoder; import javax.imageio.spi.ImageTranscoderSpi; class TestProvider extends ImageTranscoderSpi { public TestProvider(String vendorName, String version) { super(vendorName, version); } public TestProvider() { } public String getDescription(Locale locale) { return "desc"; } public String getReaderServiceProviderName() { return "gnu.javax.imageio.UnimplementedReader"; } public String getWriterServiceProviderName() { return "gnu.javax.imageio.UnimplementedWriter"; } public ImageTranscoder createTranscoderInstance() { return null; } } mauve-20140821/gnu/testlet/javax/imageio/spi/ImageTranscoderSpi/ImageTranscoderSpi.java0000644000175000001440000000363510036773766027677 0ustar dokousers// Tags: JDK1.4 // Uses: TestProvider // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.ImageTranscoderSpi; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * @author Sascha Brawer */ public class ImageTranscoderSpi implements Testlet { public void test(TestHarness h) { Throwable caught; javax.imageio.spi.ImageTranscoderSpi sp; // Check #1. sp = new TestProvider(); h.check(sp.getVendorName(), null); // Check #2. h.check(sp.getVersion(), null); // Check #3. caught = null; try { new TestProvider(null, "foo"); } catch (Exception ex) { caught = ex; } h.check(caught instanceof IllegalArgumentException); // Check #4. caught = null; try { new TestProvider("foo", null); } catch (Exception ex) { caught = ex; } h.check(caught instanceof IllegalArgumentException); // Check #5 .. #6. sp = new TestProvider("FSF", "1.0"); h.check(sp.getVendorName(), "FSF"); // Check #5. h.check(sp.getVersion(), "1.0"); // Check #6. } } mauve-20140821/gnu/testlet/javax/imageio/spi/IIOServiceProvider/0000755000175000001440000000000012375316426023225 5ustar dokousersmauve-20140821/gnu/testlet/javax/imageio/spi/IIOServiceProvider/getVendorName.java0000644000175000001440000000253210036773765026635 0ustar dokousers// Tags: JDK1.4 // Uses: TestProvider // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.IIOServiceProvider; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.imageio.spi.IIOServiceProvider; /** * @author Sascha Brawer */ public class getVendorName implements Testlet { public void test(TestHarness h) { IIOServiceProvider sp; // Check #1. sp = new TestProvider("foo", "bar"); h.check(sp.getVendorName(), "foo"); // Check #2. sp = new TestProvider(); h.check(sp.getVendorName(), null); } } mauve-20140821/gnu/testlet/javax/imageio/spi/IIOServiceProvider/TestProvider.java0000644000175000001440000000225010057633066026516 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.IIOServiceProvider; import java.util.Locale; import javax.imageio.spi.IIOServiceProvider; class TestProvider extends IIOServiceProvider { public TestProvider(String vendorName, String version) { super(vendorName, version); } public TestProvider() { } public String getDescription(Locale locale) { return "desc"; } } mauve-20140821/gnu/testlet/javax/imageio/spi/IIOServiceProvider/getVersion.java0000644000175000001440000000252110036773765026222 0ustar dokousers// Tags: JDK1.4 // Uses: TestProvider // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.IIOServiceProvider; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.imageio.spi.IIOServiceProvider; /** * @author Sascha Brawer */ public class getVersion implements Testlet { public void test(TestHarness h) { IIOServiceProvider sp; // Check #1. sp = new TestProvider("foo", "1.9"); h.check(sp.getVersion(), "1.9"); // Check #2. sp = new TestProvider(); h.check(sp.getVersion(), null); } } mauve-20140821/gnu/testlet/javax/imageio/spi/ImageInputStreamSpi/0000755000175000001440000000000012375316426023443 5ustar dokousersmauve-20140821/gnu/testlet/javax/imageio/spi/ImageInputStreamSpi/needsCacheFile.java0000644000175000001440000000245510036773765027143 0ustar dokousers// Tags: JDK1.4 // Uses: TestProvider // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.ImageInputStreamSpi; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.imageio.spi.ImageInputStreamSpi; /** * @author Sascha Brawer */ public class needsCacheFile implements Testlet { public void test(TestHarness h) { ImageInputStreamSpi sp; // Check #1: The default implementation must return false. sp = new TestProvider(); h.check(sp.needsCacheFile() == false); } } mauve-20140821/gnu/testlet/javax/imageio/spi/ImageInputStreamSpi/TestProvider.java0000644000175000001440000000300610057633066026734 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.ImageInputStreamSpi; import java.io.File; import java.util.Locale; import javax.imageio.spi.ImageInputStreamSpi; import javax.imageio.stream.ImageInputStream; class TestProvider extends ImageInputStreamSpi { public TestProvider(String vendorName, String version, Class inputClass) { super(vendorName, version, inputClass); } public TestProvider() { } public String getDescription(Locale locale) { return "desc"; } public ImageInputStream createInputStreamInstance(Object obj, boolean useCache, File cacheFile) { return null; } } mauve-20140821/gnu/testlet/javax/imageio/spi/ImageInputStreamSpi/canUseCacheFile.java0000644000175000001440000000245710036773765027265 0ustar dokousers// Tags: JDK1.4 // Uses: TestProvider // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.ImageInputStreamSpi; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.imageio.spi.ImageInputStreamSpi; /** * @author Sascha Brawer */ public class canUseCacheFile implements Testlet { public void test(TestHarness h) { ImageInputStreamSpi sp; // Check #1: The default implementation must return false. sp = new TestProvider(); h.check(sp.canUseCacheFile() == false); } } mauve-20140821/gnu/testlet/javax/imageio/spi/ImageInputStreamSpi/ImageInputStreamSpi.java0000644000175000001440000000440710036773765030212 0ustar dokousers// Tags: JDK1.4 // Uses: TestProvider // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.ImageInputStreamSpi; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * @author Sascha Brawer */ public class ImageInputStreamSpi implements Testlet { public void test(TestHarness h) { Throwable caught; javax.imageio.spi.ImageInputStreamSpi sp; // Check #1. sp = new TestProvider(); h.check(sp.getVendorName(), null); // Check #2. h.check(sp.getVersion(), null); // Check #3. h.check(sp.getInputClass(), null); // Check #4. caught = null; try { new TestProvider(null, "foo", String.class); } catch (Exception ex) { caught = ex; } h.check(caught instanceof IllegalArgumentException); // Check #5. caught = null; try { new TestProvider("foo", null, String.class); } catch (Exception ex) { caught = ex; } h.check(caught instanceof IllegalArgumentException); // Check #6. caught = null; try { new TestProvider("foo", "bar", null); } catch (Exception ex) { caught = ex; } h.check(caught == null); // Check #7 .. #9. sp = new TestProvider("FSF", "1.0", String.class); h.check(sp.getVendorName(), "FSF"); // Check #7. h.check(sp.getVersion(), "1.0"); // Check #8. h.check(sp.getInputClass(), String.class); // Check #9. } } mauve-20140821/gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi/0000755000175000001440000000000012375316426023567 5ustar dokousers././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi/getNativeStreamMetadataFormatName.javamauve-20140821/gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi/getNativeStreamMetadataFormatName.0000644000175000001440000000256610057633066032313 0ustar dokousers// Tags: JDK1.4 // Uses: TestProvider // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.ImageReaderWriterSpi; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * @author Sascha Brawer */ public class getNativeStreamMetadataFormatName implements Testlet { public void test(TestHarness h) { // Check #1. h.check(new TestProvider().getNativeStreamMetadataFormatName(), null); // Check #2. h.check(TestProvider.createProvider() .getNativeStreamMetadataFormatName(), TestProvider.NATIVE_STREAM_METADATA_FORMAT_NAME); } } ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi/getExtraImageMetadataFormatNames.javamauve-20140821/gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi/getExtraImageMetadataFormatNames.j0000644000175000001440000000266610057633066032275 0ustar dokousers// Tags: JDK1.4 // Uses: TestProvider // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.ImageReaderWriterSpi; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Arrays; /** * @author Sascha Brawer */ public class getExtraImageMetadataFormatNames implements Testlet { public void test(TestHarness h) { // Check #1. h.check(new TestProvider().getExtraImageMetadataFormatNames(), null); // Check #2. h.check(Arrays.equals(TestProvider.createProvider() .getExtraImageMetadataFormatNames(), TestProvider.EXTRA_IMAGE_METADATA_FORMAT_NAMES)); } } mauve-20140821/gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi/getFormatNames.java0000644000175000001440000000312710057633066027346 0ustar dokousers// Tags: JDK1.4 // Uses: TestProvider // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.ImageReaderWriterSpi; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Arrays; /** * @author Sascha Brawer */ public class getFormatNames implements Testlet { public void test(TestHarness h) { // Check #1. Throwable caught = null; try { new TestProvider().getFormatNames(); } catch (Exception ex) { caught = ex; } h.check(caught instanceof NullPointerException); // Check #2. h.check(Arrays.equals(TestProvider.createProvider().getFormatNames(), TestProvider.NAMES)); // Check #3. h.check(TestProvider.createProvider().getFormatNames() != TestProvider.NAMES); } } ././@LongLink0000644000000000000000000000015600000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi/isStandardImageMetadataFormatSupported.javamauve-20140821/gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi/isStandardImageMetadataFormatSuppo0000644000175000001440000000253710057633067032417 0ustar dokousers// Tags: JDK1.4 // Uses: TestProvider // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.ImageReaderWriterSpi; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * @author Sascha Brawer */ public class isStandardImageMetadataFormatSupported implements Testlet { public void test(TestHarness h) { // Check #1. h.check(new TestProvider().isStandardImageMetadataFormatSupported() == false); // Check #2. h.check(TestProvider.createProvider() .isStandardImageMetadataFormatSupported() == true); } } mauve-20140821/gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi/TestProvider.java0000644000175000001440000000607010057633066027064 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.ImageReaderWriterSpi; import java.util.Locale; import javax.imageio.spi.ImageReaderWriterSpi; class TestProvider extends ImageReaderWriterSpi { public static final String VENDOR_NAME = "Free Software Foundation, Inc."; public static final String VERSION = "1.0"; public static final String[] NAMES = new String[] { "Tagged Image File Format" }; public static final String[] SUFFIXES = new String[] { "tiff", "tif" }; public static final String[] MIME_TYPES = new String[] { "image/tiff" }; public static final String PLUGIN_CLASS_NAME = "gnu.javax.imageio.plugin.tiff.Reader"; public static final String NATIVE_STREAM_METADATA_FORMAT_NAME = "TIFF File Metadata"; public static final String NATIVE_STREAM_METADATA_FORMAT_CLASS_NAME = "gnu.javax.imageio.plugin.tiff.StreamMetadata"; public static final String[] EXTRA_STREAM_METADATA_FORMAT_NAMES = new String[] { "Stream Metadata" }; public static final String[] EXTRA_STREAM_METADATA_FORMAT_CLASS_NAMES = new String[] { "gnu.javax.imageio.plugin.tiff.StreamMetadata" }; public static final String NATIVE_IMAGE_METADATA_FORMAT_NAME = "TIFF Image Metadata"; public static final String NATIVE_IMAGE_METADATA_FORMAT_CLASS_NAME = "gnu.javax.imageio.plugin.tiff.ImageMetadata"; public static final String[] EXTRA_IMAGE_METADATA_FORMAT_NAMES = new String[] { "GeoTIFF" }; public static final String[] EXTRA_IMAGE_METADATA_FORMAT_CLASS_NAMES = new String[] { "gnu.javax.imageio.plugin.tiff.GeoTIFFMetadata" }; private TestProvider(boolean b) { super(VENDOR_NAME, VERSION, NAMES, SUFFIXES, MIME_TYPES, PLUGIN_CLASS_NAME, true, NATIVE_STREAM_METADATA_FORMAT_NAME, NATIVE_STREAM_METADATA_FORMAT_CLASS_NAME, EXTRA_STREAM_METADATA_FORMAT_NAMES, EXTRA_STREAM_METADATA_FORMAT_CLASS_NAMES, true, NATIVE_IMAGE_METADATA_FORMAT_NAME, NATIVE_IMAGE_METADATA_FORMAT_CLASS_NAME, EXTRA_IMAGE_METADATA_FORMAT_NAMES, EXTRA_IMAGE_METADATA_FORMAT_CLASS_NAMES); } public static TestProvider createProvider() { return new TestProvider(true); } public TestProvider() { } public String getDescription(Locale locale) { return "desc"; } } ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootmauve-20140821/gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi/getExtraStreamMetadataFormatNames.javamauve-20140821/gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi/getExtraStreamMetadataFormatNames.0000644000175000001440000000267210057633066032331 0ustar dokousers// Tags: JDK1.4 // Uses: TestProvider // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.ImageReaderWriterSpi; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Arrays; /** * @author Sascha Brawer */ public class getExtraStreamMetadataFormatNames implements Testlet { public void test(TestHarness h) { // Check #1. h.check(new TestProvider().getExtraStreamMetadataFormatNames(), null); // Check #2. h.check(Arrays.equals(TestProvider.createProvider() .getExtraStreamMetadataFormatNames(), TestProvider.EXTRA_STREAM_METADATA_FORMAT_NAMES)); } } mauve-20140821/gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi/getMIMETypes.java0000644000175000001440000000251010057633066026701 0ustar dokousers// Tags: JDK1.4 // Uses: TestProvider // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.ImageReaderWriterSpi; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Arrays; /** * @author Sascha Brawer */ public class getMIMETypes implements Testlet { public void test(TestHarness h) { // Check #1. h.check(new TestProvider().getMIMETypes(), null); // Check #2. h.check(Arrays.equals(TestProvider.createProvider().getMIMETypes(), TestProvider.MIME_TYPES)); } } ././@LongLink0000644000000000000000000000015700000000000011606 Lustar rootrootmauve-20140821/gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi/isStandardStreamMetadataFormatSupported.javamauve-20140821/gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi/isStandardStreamMetadataFormatSupp0000644000175000001440000000254210057633067032445 0ustar dokousers// Tags: JDK1.4 // Uses: TestProvider // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.ImageReaderWriterSpi; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * @author Sascha Brawer */ public class isStandardStreamMetadataFormatSupported implements Testlet { public void test(TestHarness h) { // Check #1. h.check(new TestProvider().isStandardStreamMetadataFormatSupported() == false); // Check #2. h.check(TestProvider.createProvider() .isStandardStreamMetadataFormatSupported() == true); } } mauve-20140821/gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi/getFileSuffixes.java0000644000175000001440000000251710057633066027530 0ustar dokousers// Tags: JDK1.4 // Uses: TestProvider // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.ImageReaderWriterSpi; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.util.Arrays; /** * @author Sascha Brawer */ public class getFileSuffixes implements Testlet { public void test(TestHarness h) { // Check #1. h.check(new TestProvider().getFileSuffixes(), null); // Check #2. h.check(Arrays.equals(TestProvider.createProvider().getFileSuffixes(), TestProvider.SUFFIXES)); } } mauve-20140821/gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi/getPluginClassName.java0000644000175000001440000000245310057633067030161 0ustar dokousers// Tags: JDK1.4 // Uses: TestProvider // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.ImageReaderWriterSpi; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * @author Sascha Brawer */ public class getPluginClassName implements Testlet { public void test(TestHarness h) { // Check #1. h.check(new TestProvider().getPluginClassName(), null); // Check #2. h.check(TestProvider.createProvider().getPluginClassName(), TestProvider.PLUGIN_CLASS_NAME); } } ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootmauve-20140821/gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi/getNativeImageMetadataFormatName.javamauve-20140821/gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi/getNativeImageMetadataFormatName.j0000644000175000001440000000256210057633066032250 0ustar dokousers// Tags: JDK1.4 // Uses: TestProvider // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.ImageReaderWriterSpi; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * @author Sascha Brawer */ public class getNativeImageMetadataFormatName implements Testlet { public void test(TestHarness h) { // Check #1. h.check(new TestProvider().getNativeImageMetadataFormatName(), null); // Check #2. h.check(TestProvider.createProvider() .getNativeImageMetadataFormatName(), TestProvider.NATIVE_IMAGE_METADATA_FORMAT_NAME); } } mauve-20140821/gnu/testlet/javax/imageio/spi/ImageOutputStreamSpi/0000755000175000001440000000000012375316426023644 5ustar dokousersmauve-20140821/gnu/testlet/javax/imageio/spi/ImageOutputStreamSpi/needsCacheFile.java0000644000175000001440000000246010036773765027340 0ustar dokousers// Tags: JDK1.4 // Uses: TestProvider // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.ImageOutputStreamSpi; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.imageio.spi.ImageOutputStreamSpi; /** * @author Sascha Brawer */ public class needsCacheFile implements Testlet { public void test(TestHarness h) { ImageOutputStreamSpi sp; // Check #1: The default implementation must return false. sp = new TestProvider(); h.check(sp.needsCacheFile() == false); } } mauve-20140821/gnu/testlet/javax/imageio/spi/ImageOutputStreamSpi/TestProvider.java0000644000175000001440000000302210057633066027133 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.ImageOutputStreamSpi; import java.io.File; import java.util.Locale; import javax.imageio.spi.ImageOutputStreamSpi; import javax.imageio.stream.ImageOutputStream; class TestProvider extends ImageOutputStreamSpi { public TestProvider(String vendorName, String version, Class outputClass) { super(vendorName, version, outputClass); } public TestProvider() { } public String getDescription(Locale locale) { return "desc"; } public ImageOutputStream createOutputStreamInstance(Object obj, boolean useCache, File cacheFile) { return null; } } mauve-20140821/gnu/testlet/javax/imageio/spi/ImageOutputStreamSpi/canUseCacheFile.java0000644000175000001440000000246210036773765027462 0ustar dokousers// Tags: JDK1.4 // Uses: TestProvider // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.ImageOutputStreamSpi; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.imageio.spi.ImageOutputStreamSpi; /** * @author Sascha Brawer */ public class canUseCacheFile implements Testlet { public void test(TestHarness h) { ImageOutputStreamSpi sp; // Check #1: The default implementation must return false. sp = new TestProvider(); h.check(sp.canUseCacheFile() == false); } } mauve-20140821/gnu/testlet/javax/imageio/spi/ImageOutputStreamSpi/ImageOutputStreamSpi.java0000644000175000001440000000441610036773765030614 0ustar dokousers// Tags: JDK1.4 // Uses: TestProvider // Copyright (C) 2004 Sascha Brawer // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.imageio.spi.ImageOutputStreamSpi; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; /** * @author Sascha Brawer */ public class ImageOutputStreamSpi implements Testlet { public void test(TestHarness h) { Throwable caught; javax.imageio.spi.ImageOutputStreamSpi sp; // Check #1. sp = new TestProvider(); h.check(sp.getVendorName(), null); // Check #2. h.check(sp.getVersion(), null); // Check #3. h.check(sp.getOutputClass(), null); // Check #4. caught = null; try { new TestProvider(null, "foo", String.class); } catch (Exception ex) { caught = ex; } h.check(caught instanceof IllegalArgumentException); // Check #5. caught = null; try { new TestProvider("foo", null, String.class); } catch (Exception ex) { caught = ex; } h.check(caught instanceof IllegalArgumentException); // Check #6. caught = null; try { new TestProvider("foo", "bar", null); } catch (Exception ex) { caught = ex; } h.check(caught == null); // Check #7 .. #9. sp = new TestProvider("FSF", "1.0", String.class); h.check(sp.getVendorName(), "FSF"); // Check #7. h.check(sp.getVersion(), "1.0"); // Check #8. h.check(sp.getOutputClass(), String.class); // Check #9. } } mauve-20140821/gnu/testlet/javax/xml/0000755000175000001440000000000012375316426016144 5ustar dokousersmauve-20140821/gnu/testlet/javax/xml/xpath/0000755000175000001440000000000012375316426017270 5ustar dokousersmauve-20140821/gnu/testlet/javax/xml/xpath/XPath.java0000644000175000001440000000446010475153066021161 0ustar dokousers// Tags: JDK1.5 // // Copyright (C) 2006 Stephane Mikay // // This file is part of Mauve. // // Mauve 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 version 2, or (at your option) // any later version. // // Mauve 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 Public License for more details. // // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to the // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA // 02110-1301 USA. package gnu.testlet.javax.xml.xpath; import java.io.StringReader; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.xml.namespace.QName; import javax.xml.xpath.XPathConstants; import javax.xml.xpath.XPathExpressionException; import javax.xml.xpath.XPathFactory; import org.w3c.dom.NodeList; import org.xml.sax.InputSource; /** * JSR 206 (JAXP 1.3) XPath Tests */ public class XPath implements Testlet { public void test( TestHarness harness ) { try { // According to the JAXP 1.3 spec Chapter 13 Section 2.2.4 // The XPath 1.0 NodeSet data type Maps to Java org.w3c.dom.NodeList harness.checkPoint( "jaxp-1.3-ch13s2.2.4" ); harness.check( nodeset( "//*", "" ) instanceof NodeList ); } catch ( XPathExpressionException e ) { harness.debug( e ); harness.check( false ); } } private Object nodeset( String expr, String document ) throws XPathExpressionException { return eval( expr, document, XPathConstants.NODESET ); } private Object eval( String expr, String document, QName returnType ) throws XPathExpressionException { final XPathFactory factory = XPathFactory.newInstance(); final javax.xml.xpath.XPath xpath = factory.newXPath(); return xpath.evaluate( expr, source( document ), returnType ); } private InputSource source( String xml ) { return new InputSource( new StringReader( xml ) ); } } mauve-20140821/gnu/testlet/javax/xml/parsers/0000755000175000001440000000000012375316426017623 5ustar dokousersmauve-20140821/gnu/testlet/javax/xml/parsers/DocumentBuilder/0000755000175000001440000000000012375316426022710 5ustar dokousersmauve-20140821/gnu/testlet/javax/xml/parsers/DocumentBuilder/Verifyer.java0000644000175000001440000001043610447766312025353 0ustar dokousers// Tags: not-a-test // Copyright (C) 2004 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.xml.parsers.DocumentBuilder; import gnu.testlet.TestHarness; import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import java.io.ByteArrayInputStream; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; /** * A helper class to print the contents of the DOM HTML tree. * @author Audrius Meskauskas (AudriusA@Bluewin.ch) */ class Verifyer { // Change these parameters for getting more human-readable output. String EOLN = " "; TestHarness harness; boolean IDENTATION = false; String getImage(Node node) { StringBuffer b = new StringBuffer(); print(b, node, 0); return b.toString().trim(); } void print(StringBuffer stream, Node node, int ident) { StringBuffer tab = new StringBuffer(); stream.append(EOLN); if (IDENTATION) for (int i = 0; i < ident; i++) { tab.append(' '); } if (node == null) { stream.append(tab + " null node"); return; } String nn = node.getNodeName(); if (node.getNamespaceURI() != null) nn = node.getNamespaceURI() + ":" + nn; stream.append(tab + nn); if (node.getNodeValue() != null) { stream.append(EOLN); stream.append(tab + " = '" + node.getNodeValue() + "'"); } NamedNodeMap attributes = node.getAttributes(); if (attributes != null && attributes.getLength() != 0) { stream.append(' '); for (int i = 0; i < attributes.getLength(); i++) { Node a = attributes.item(i); stream.append(a.getNodeName() + "='" + a.getNodeValue() + "'"); } } ident += 4; NodeList childs = node.getChildNodes(); if (childs != null) for (int i = 0; i < childs.getLength(); i++) { print(stream, childs.item(i), ident); } } void verify(String xml, String image, String message) { harness.checkPoint(message); try { boolean validation = false; boolean ignoreWhitespace = false; // false throws exception with saxon boolean ignoreComments = false; boolean putCDATAIntoText = false; boolean createEntityRefs = false; boolean namespaces = true; // Step 1: create a DocumentBuilderFactory and configure it DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); // Optional: set various configuration options dbf.setValidating(validation); dbf.setIgnoringComments(ignoreComments); dbf.setIgnoringElementContentWhitespace(ignoreWhitespace); dbf.setCoalescing(putCDATAIntoText); dbf.setNamespaceAware(namespaces); // The opposite of creating entity ref nodes is expanding them inline dbf.setExpandEntityReferences(!createEntityRefs); DocumentBuilder b = dbf.newDocumentBuilder(); Document d = b.parse((new ByteArrayInputStream(xml.getBytes()))); String result = getImage(d); if (!result.equals(image)) { System.out.println("Exp: " + image); System.out.println("Rez: " + result); harness.check(result, image, message); } } catch (Exception ex) { if (ex != null) harness.fail(message + ":" + ex.getClass().getName() + ":" + ex.getMessage() ); else harness.fail(message + ": null exception"); } } } mauve-20140821/gnu/testlet/javax/xml/parsers/DocumentBuilder/PR27864.java0000644000175000001440000000576010437616075024517 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2006 Robert Schuster // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.xml.parsers.DocumentBuilder; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Element; import org.w3c.dom.NodeList; import org.w3c.dom.DOMException; import org.xml.sax.SAXException; import java.io.ByteArrayInputStream; import java.io.IOException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; /** * A helper class to print the contents of the DOM HTML tree. * @author Audrius Meskauskas (AudriusA@Bluewin.ch) */ public class PR27864 implements Testlet { String xml = "

    " + " " + " " + " " + " " + " " + " foo" + " " + " " + " " + " " + " bar" + " " + " " + "
    "; public void test(TestHarness harness) { harness.checkPoint("getElementsByTagName"); try { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder b = dbf.newDocumentBuilder(); Document d = b.parse((new ByteArrayInputStream(xml.getBytes()))); Element element0 = (Element) d.getElementsByTagName("element").item(0); Element always = (Element) element0.getElementsByTagName("alwaysThere").item(0); NodeList st_nl = always.getElementsByTagName("sometimesThere"); harness.check(st_nl.getLength(), 0); } catch (IOException ioe) { harness.fail("IOException occured"); } catch (DOMException de) { harness.fail("DOMException occured"); } catch (SAXException saxe) { harness.fail("SAXException occured"); } catch (ParserConfigurationException pce) { harness.fail("ParserConfigurationException occured"); } } } mauve-20140821/gnu/testlet/javax/xml/parsers/DocumentBuilder/parseSimpleXML.java0000644000175000001440000000547710223366315026425 0ustar dokousers// Tags: JDK1.2 // Uses: Verifyer // Copyright (C) 2004, 2005 Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.xml.parsers.DocumentBuilder; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * A simple XML parsing test. * @author Audrius Meskauskas (AudriusA@Bluewin.ch) */ public class parseSimpleXML extends Verifyer implements Testlet { public void test(TestHarness a_harness) { harness = a_harness; String head = ""; verify(head + "", "#document xa ap1='apv1'ap2='apv2' b c a ap1='n'", "simple xml" ); verify(head + "t0t1" + "te", "#document xa ap1='apv1'ap2='apv2' #text = 't0' b #text = 't1' c" + " a ap1='n' #text = 'te'", "simple xml with text nodes" ); verify(head + "", "#document a #comment = 'explain'", "comment" ); verify(head + "", "#document a #comment = 'e1' #comment = 'e2'", "subsequent comments" ); verify(head + "", "#document a xmlns:ans='www.lithuania.lt' www.lithuania.lt:ans:b", "explicit namespace" ); verify(head + "", "#document www.lithuania.lt:a xmlns='www.lithuania.lt' www.lithuania.lt:b", "default namespace" ); verify(head + "" + "", "#document www.lithuania.lt:a " + "xmlns='www.lithuania.lt'xmlns:ans='www.gnu.org' " + "www.lithuania.lt:b www.gnu.org:ans:c", "mixed namespaces" ); verify("", "#document xa ap1='apv1'ap2='apv2' b c a ap1='n'", "missing xml header" ); } } mauve-20140821/gnu/testlet/javax/net/0000755000175000001440000000000012375316426016132 5ustar dokousersmauve-20140821/gnu/testlet/javax/net/ssl/0000755000175000001440000000000012375316426016733 5ustar dokousersmauve-20140821/gnu/testlet/javax/net/ssl/SSLContext/0000755000175000001440000000000012375316426020741 5ustar dokousersmauve-20140821/gnu/testlet/javax/net/ssl/SSLContext/TestDefaultInit.java0000644000175000001440000000351410463232105024642 0ustar dokousers/* defaultInit.java -- test default context initialization. Copyright (C) 2006 Casey Marshall This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.net.ssl.SSLContext; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.KeyManagementException; import java.security.NoSuchAlgorithmException; import javax.net.ssl.SSLContext; /** * @author Casey Marshall (csm@gnu.org) */ public class TestDefaultInit implements Testlet { /* (non-Javadoc) * @see gnu.testlet.Testlet#test(gnu.testlet.TestHarness) */ public void test(TestHarness harness) { SSLContext context = null; try { context = SSLContext.getInstance("SSL"); harness.check(context != null); } catch (NoSuchAlgorithmException nsae) { harness.fail("getInstance"); harness.debug(nsae); } try { System.setProperty("javax.net.ssl.trustStorePassword", "changeit"); context.init(null, null, null); harness.check(true); } catch (KeyManagementException kme) { harness.fail("SSLContext.init"); harness.debug(kme); } } } mauve-20140821/gnu/testlet/javax/net/ssl/SSLContext/TestGetInstance.java0000644000175000001440000000310710463232105024634 0ustar dokousers/* testGetInstance.java -- test if SSLContext.getInstance works. Copyright (C) 2006 Casey Marshall This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 package gnu.testlet.javax.net.ssl.SSLContext; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.security.NoSuchAlgorithmException; import javax.net.ssl.SSLContext; /** * @author Casey Marshall (csm@gnu.org) */ public class TestGetInstance implements Testlet { /* (non-Javadoc) * @see gnu.testlet.Testlet#test(gnu.testlet.TestHarness) */ public void test(TestHarness harness) { SSLContext context = null; harness.checkPoint("SSLContext.getInstance(\"SSL\")"); try { context = SSLContext.getInstance("SSL"); harness.check(context != null); } catch (NoSuchAlgorithmException nsae) { harness.fail("SSLContext.getInstance(\"SSL\")"); harness.debug(nsae); } } } mauve-20140821/gnu/testlet/javax/net/ssl/SSLEngine/0000755000175000001440000000000012375316426020522 5ustar dokousersmauve-20140821/gnu/testlet/javax/net/ssl/SSLEngine/SimpleX509KeyManager.java0000644000175000001440000001633110463232105025137 0ustar dokousers/* SimpleX509KeyManager.java -- key manager for testing. Copyright (C) 2006 Casey Marshall This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.javax.net.ssl.SSLEngine; import gnu.java.security.key.dss.DSSPrivateKey; import gnu.java.security.key.rsa.GnuRSAPrivateKey; import java.math.BigInteger; import java.net.Socket; import java.security.KeyFactory; import java.security.Principal; import java.security.PrivateKey; import java.security.cert.X509Certificate; import java.security.spec.PKCS8EncodedKeySpec; import javax.net.ssl.SSLEngine; import javax.net.ssl.X509ExtendedKeyManager; /** * @author Casey Marshall (csm@gnu.org) */ public class SimpleX509KeyManager extends X509ExtendedKeyManager { /* (non-Javadoc) * @see javax.net.ssl.X509KeyManager#chooseClientAlias(java.lang.String[], java.security.Principal[], java.net.Socket) */ public String chooseClientAlias(String[] arg0, Principal[] arg1, Socket arg2) { for (int i = 0; i < arg0.length; i++) { if (arg0[i].equalsIgnoreCase("rsa_sign")) return "rsakey"; if (arg0[i].equalsIgnoreCase("dss_sign")) return "dsskey"; } return null; } /* (non-Javadoc) * @see javax.net.ssl.X509KeyManager#chooseServerAlias(java.lang.String, java.security.Principal[], java.net.Socket) */ public String chooseServerAlias(String arg0, Principal[] arg1, Socket arg2) { if (arg0.equalsIgnoreCase("DHE_RSA") || arg0.equalsIgnoreCase("SRP_RSA") || arg0.equalsIgnoreCase("RSA") || arg0.equalsIgnoreCase("RSA_PSK")) return "rsakey"; if (arg0.equalsIgnoreCase("DHE_DSS") || arg0.equalsIgnoreCase("SRP_DSS")) return "dsakey"; return null; } /* (non-Javadoc) * @see javax.net.ssl.X509KeyManager#getCertificateChain(java.lang.String) */ public X509Certificate[] getCertificateChain(String arg0) { if (arg0.equals("rsakey")) return new X509Certificate[] { SimpleX509TrustManager.RSA }; if (arg0.equals("dsakey")) return new X509Certificate[] { SimpleX509TrustManager.DSA }; return null; } /* (non-Javadoc) * @see javax.net.ssl.X509KeyManager#getClientAliases(java.lang.String, java.security.Principal[]) */ public String[] getClientAliases(String arg0, Principal[] arg1) { if (arg0.equalsIgnoreCase("rsa_sign")) return new String[] { "rsakey" }; if (arg0.equalsIgnoreCase("dss_sign")) return new String[] { "dsakey" }; return new String[0]; } /* (non-Javadoc) * @see javax.net.ssl.X509KeyManager#getPrivateKey(java.lang.String) */ public PrivateKey getPrivateKey(String arg0) { if (arg0.equals("dsakey")) return DSAKEY; if (arg0.equals("rsakey")) return RSAKEY; return null; } /* (non-Javadoc) * @see javax.net.ssl.X509KeyManager#getServerAliases(java.lang.String, java.security.Principal[]) */ public String[] getServerAliases(String arg0, Principal[] arg1) { if (arg0.equalsIgnoreCase("DHE_RSA") || arg0.equalsIgnoreCase("SRP_RSA") || arg0.equalsIgnoreCase("RSA") || arg0.equalsIgnoreCase("RSA_PSK")) return new String[] { "rsakey" }; if (arg0.equalsIgnoreCase("DHE_DSS") || arg0.equalsIgnoreCase("SRP_DSS")) return new String[] { "dsakey" }; return new String[0]; } /* (non-Javadoc) * @see javax.net.ssl.X509ExtendedKeyManager#chooseEngineClientAlias(java.lang.String[], java.security.Principal[], javax.net.ssl.SSLEngine) */ public String chooseEngineClientAlias(String[] arg0, Principal[] arg1, SSLEngine arg2) { for (int i = 0; i < arg0.length; i++) { if (arg0[i].equalsIgnoreCase("rsa_sign")) return "rsakey"; if (arg0[i].equalsIgnoreCase("dss_sign")) return "dsskey"; } return null; } /* (non-Javadoc) * @see javax.net.ssl.X509ExtendedKeyManager#chooseEngineServerAlias(java.lang.String, java.security.Principal[], javax.net.ssl.SSLEngine) */ public String chooseEngineServerAlias(String arg0, Principal[] arg1, SSLEngine arg2) { if (arg0.equalsIgnoreCase("DHE_RSA") || arg0.equalsIgnoreCase("SRP_RSA") || arg0.equalsIgnoreCase("RSA") || arg0.equalsIgnoreCase("RSA_PSK")) return "rsakey"; if (arg0.equalsIgnoreCase("DHE_DSS") || arg0.equalsIgnoreCase("SRP_DSS")) return "dsakey"; return null; } static final PrivateKey RSAKEY = new GnuRSAPrivateKey (new BigInteger("00e83e0911bdfd4d53f67e8642c720" + "8cfb338cfa6ffd984a26155146ba79" + "7fd595f03fff85d0e98490b7544f3a" + "742ee77f54c2ca9d5bf62677144565" + "a303ff6f37", 16), new BigInteger("00cc582a56f26eb17d54f9d8eeb386" + "9fe6b21368b501ecaa908f0cff0306" + "7b95867b8f07992a6208304f272092" + "dc7538cd5d03b1393108b4f2bd5be2" + "e4f471ca87", 16), new BigInteger("10001", 16), new BigInteger("00a986a8e62ef20867949a84a2df1b" + "7ff4ed645d31749637696dbeb7d079" + "ac17323692f5de0dc60c8e509213d1" + "b76827aa503d0fa789501abf3c92eb" + "5ad6f6de8e4e3eda86c782c55024d6" + "e3be87a203d9260e9b30245ff45802" + "acc824f5477bee73e2767cde28e10b" + "479dfc39c52c67d17d1922a126def7" + "cd5bc7c9f5f4f02771", 16)); static final PrivateKey DSAKEY = new DSSPrivateKey (new BigInteger("00df089411968aba94c203bebe06f9" + "81342c98354c7fd675d5360038fe41" + "2939a8d656db002a9bff95026dd94c" + "b5a4861f994276db28e8007e7dcf10" + "df05011a8fe82a102f3642e75f7c7f" + "9b4c4c66d39c1708a2a783f584fd14" + "c6927253f25bfd2effa9710465e5a0" + "f63969852515d876e1f05fc6d4c18d" + "7e00e1318877835dd9", 16), new BigInteger("009ff16bac62ce0f0dc77d16de6cf3000adea61c7b", 16), new BigInteger("12946984d6336481e7e6c87aa8dc0f" + "d28afea6c842367048e065d9ff9c51" + "106358298cf2d205c78e3c7e4569e4" + "86e132d48eddaae88875fde5f6b71e" + "2d75960c8f10541ac94eba96008233" + "de8aa2041ca1e98a55b90c8c43bf2c" + "15e040df4e7f167db198549e6a4eb8" + "ae41b41576d95791f6779377cf49c8" + "b68498a2e200038e", 16), new BigInteger("2564481362698611a67084e8857612b5dd8dd668", 16)); } mauve-20140821/gnu/testlet/javax/net/ssl/SSLEngine/AbstractEngineTest.java0000644000175000001440000002023310463232105025101 0ustar dokousers/* AbstractEngineTest.java -- base SSLEngine test. Copyright (C) 2006 Casey Marshall This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.javax.net.ssl.SSLEngine; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.nio.ByteBuffer; import java.nio.CharBuffer; import java.nio.charset.Charset; import java.nio.charset.CharsetEncoder; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import javax.net.ssl.KeyManager; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLEngine; import javax.net.ssl.SSLEngineResult; import javax.net.ssl.SSLException; import javax.net.ssl.TrustManager; import javax.net.ssl.SSLEngineResult.HandshakeStatus; import javax.net.ssl.SSLEngineResult.Status; /** * @author Casey Marshall (csm@gnu.org) */ public abstract class AbstractEngineTest implements Testlet { protected static final String TEST_MESSAGE = "Hello, world!"; protected SSLContext context; protected SSLEngine clientEngine; protected SSLEngine serverEngine; /* (non-Javadoc) * @see gnu.testlet.Testlet#test(gnu.testlet.TestHarness) */ public final void test(TestHarness harness) { if (setup(harness)) implTest(harness); } protected boolean setup(TestHarness harness) { try { harness.checkPoint("SSLContext.getInstance"); context = SSLContext.getInstance("SSL"); context.init(new KeyManager[] { new SimpleX509KeyManager() }, new TrustManager[] { new SimpleX509TrustManager() }, SecureRandom.getInstance("Fortuna")); } catch (Exception e) { harness.fail("SSLContext.getInstance"); harness.debug(e); return false; } return true; } protected boolean setupEngines(TestHarness harness) { serverEngine = context.createSSLEngine(); clientEngine = context.createSSLEngine(); harness.check(serverEngine != null); harness.check(clientEngine != null); serverEngine.setUseClientMode(false); clientEngine.setUseClientMode(true); return true; } protected abstract void implTest(TestHarness harness); protected void runHandshake() throws SSLException { ByteBuffer empty = ByteBuffer.allocate(0); ByteBuffer cnetBuffer = ByteBuffer.allocate(clientEngine.getSession().getPacketBufferSize()); ByteBuffer snetBuffer = ByteBuffer.allocate(serverEngine.getSession().getPacketBufferSize()); clientEngine.beginHandshake(); serverEngine.beginHandshake(); SSLEngineResult result = null; SSLEngineResult.HandshakeStatus srv = serverEngine.getHandshakeStatus(); SSLEngineResult.HandshakeStatus cli = clientEngine.getHandshakeStatus(); while (srv != HandshakeStatus.NOT_HANDSHAKING && cli != HandshakeStatus.NOT_HANDSHAKING) { if (cli == HandshakeStatus.NEED_WRAP) { if (srv != HandshakeStatus.NEED_UNWRAP) { throw new SSLException("invalid server handshake state: " + srv); } result = clientEngine.wrap(empty, cnetBuffer); if (result.getStatus() != Status.OK) throw new SSLException("unexpected status after wrap: " + result.getStatus()); cli = result.getHandshakeStatus(); cnetBuffer.flip(); result = serverEngine.unwrap(cnetBuffer, empty); cnetBuffer.compact(); if (result.getStatus() != Status.OK) throw new SSLException("unexpected status after unwrap: " + result.getStatus()); srv = result.getHandshakeStatus(); if (cli == HandshakeStatus.NEED_TASK) { Runnable task = null; while ((task = clientEngine.getDelegatedTask()) != null) task.run(); cli = clientEngine.getHandshakeStatus(); } if (srv == HandshakeStatus.NEED_TASK) { Runnable task = null; while ((task = serverEngine.getDelegatedTask()) != null) task.run(); srv = serverEngine.getHandshakeStatus(); } } else if (cli == HandshakeStatus.NEED_UNWRAP) { if (srv != HandshakeStatus.NEED_WRAP) { throw new SSLException("invalid server handshake state: " + srv); } result = serverEngine.wrap(empty, snetBuffer); if (result.getStatus() != Status.OK) throw new SSLException("unexpected status after wrap: " + result.getStatus()); srv = result.getHandshakeStatus(); snetBuffer.flip(); result = clientEngine.unwrap(snetBuffer, empty); snetBuffer.compact(); if (result.getStatus() != Status.OK) throw new SSLException("unexpected status after unwrap: " + result.getStatus()); cli = result.getHandshakeStatus(); if (cli == HandshakeStatus.NEED_TASK) { Runnable task = null; while ((task = clientEngine.getDelegatedTask()) != null) task.run(); cli = clientEngine.getHandshakeStatus(); } if (srv == HandshakeStatus.NEED_TASK) { Runnable task = null; while ((task = serverEngine.getDelegatedTask()) != null) task.run(); srv = serverEngine.getHandshakeStatus(); } } else if (cli == HandshakeStatus.NEED_TASK) { throw new SSLException("invalid initial state: " + cli); } else if (cli == HandshakeStatus.FINISHED) { if (srv != HandshakeStatus.FINISHED) throw new SSLException("invalid final server state: " + srv); break; } } ByteBuffer appBuffer = ByteBuffer.allocate(serverEngine.getSession().getApplicationBufferSize()); Charset cs = Charset.forName("US-ASCII"); CharsetEncoder enc = cs.newEncoder(); enc.encode(CharBuffer.wrap(TEST_MESSAGE), appBuffer, true); appBuffer.flip(); result = clientEngine.wrap(appBuffer, cnetBuffer); if (result.getStatus() != Status.OK) throw new SSLException("unexpected status: " + result.getStatus()); cnetBuffer.flip(); appBuffer.clear(); result = serverEngine.unwrap(cnetBuffer, appBuffer); if (result.getStatus() != Status.OK) throw new SSLException("unexpected status: " + result.getStatus()); appBuffer.flip(); String msg = cs.decode(appBuffer).toString(); if (!msg.equals(TEST_MESSAGE)) throw new SSLException("message decode failed"); appBuffer.clear(); enc.encode(CharBuffer.wrap(msg), appBuffer, true); appBuffer.flip(); result = serverEngine.wrap(appBuffer, snetBuffer); if (result.getStatus() != Status.OK) throw new SSLException("unexpected status: " + result.getStatus()); snetBuffer.flip(); appBuffer.clear(); result = clientEngine.unwrap(snetBuffer, appBuffer); if (result.getStatus() != Status.OK) throw new SSLException("unexpected status: " + result.getStatus()); appBuffer.flip(); msg = cs.decode(appBuffer).toString(); if (!msg.equals(TEST_MESSAGE)) throw new SSLException("message decode (2) failed"); } } mauve-20140821/gnu/testlet/javax/net/ssl/SSLEngine/TestHandshake.java0000644000175000001440000000534611015035145024105 0ustar dokousers/* testAll.java -- test all protocol versions and cipher suites. Copyright (C) 2006 Casey Marshall This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 JSSE // Uses: AbstractEngineTest SimpleX509KeyManager SimplePSKKeyManager SimpleX509TrustManager package gnu.testlet.javax.net.ssl.SSLEngine; import gnu.testlet.TestHarness; import javax.net.ssl.SSLEngine; /** * Test every protocol and cipher suite that we can. * * @author Casey Marshall (csm@gnu.org) */ public class TestHandshake extends AbstractEngineTest { /* (non-Javadoc) * @see gnu.testlet.javax.net.ssl.SSLEngine.AbstractEngineTest#implTest(gnu.testlet.TestHarness) */ protected void implTest(TestHarness harness) { String[] protocols; String[] suites; SSLEngine fake = context.createSSLEngine(); protocols = fake.getSupportedProtocols(); suites = fake.getSupportedCipherSuites(); for (int i = 0; i < protocols.length; i++) { for (int j = 0; j < suites.length; j++) { // Skip static DH suites; we need a way to generate appropriate // certificates for these suites. if (suites[j].indexOf("DH_RSA") >= 0 || suites[j].indexOf("DH_DSS") >= 0) continue; // Test these in GNU-specific test. if (suites[j].indexOf("PSK") >= 0 || suites[j].indexOf("SRP") >= 0) continue; setupEngines(harness); clientEngine.setEnabledProtocols(new String[] { protocols[i] }); clientEngine.setEnabledCipherSuites(new String[] { suites[j] }); serverEngine.setEnabledCipherSuites(serverEngine.getSupportedCipherSuites()); harness.checkPoint("SSLEngine/" + protocols[i] + "/" + suites[j]); try { runHandshake(); harness.check(true); } catch (Exception x) { harness.check(false); harness.debug(x); } } } } } mauve-20140821/gnu/testlet/javax/net/ssl/SSLEngine/TestGNUHandshake.java0000644000175000001440000000630211015035145024450 0ustar dokousers/* TestGNUHandshake.java -- test GNU-supported cipher suites. Copyright (C) 2006 Casey Marshall This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU JESSIE // Uses: AbstractEngineTest SimpleX509KeyManager SimplePSKKeyManager SimpleX509TrustManager package gnu.testlet.javax.net.ssl.SSLEngine; import gnu.testlet.TestHarness; import java.security.SecureRandom; import java.security.Security; import javax.net.ssl.KeyManager; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLEngine; import javax.net.ssl.TrustManager; /** * @author Casey Marshall (csm@gnu.org) */ public class TestGNUHandshake extends AbstractEngineTest { protected boolean setup(TestHarness harness) { try { harness.checkPoint("SSLContext.getInstance"); context = SSLContext.getInstance("SSL"); context.init(new KeyManager[] { new SimpleX509KeyManager(), new SimplePSKKeyManager() }, new TrustManager[] { new SimpleX509TrustManager() }, SecureRandom.getInstance("Fortuna")); Security.setProperty("jessie.client.psk.identity", "MAUVE"); } catch (Exception e) { harness.fail("SSLContext.getInstance"); harness.debug(e); return false; } return true; } /* (non-Javadoc) * @see gnu.testlet.javax.net.ssl.SSLEngine.AbstractEngineTest#implTest(gnu.testlet.TestHarness) */ protected void implTest(TestHarness harness) { String[] protocols; String[] suites; SSLEngine fake = context.createSSLEngine(); protocols = fake.getSupportedProtocols(); suites = fake.getSupportedCipherSuites(); for (int i = 0; i < protocols.length; i++) { for (int j = 0; j < suites.length; j++) { // Only test PSK suites. if (suites[j].indexOf("PSK") < 0) continue; setupEngines(harness); clientEngine.setEnabledProtocols(new String[] { protocols[i] }); clientEngine.setEnabledCipherSuites(new String[] { suites[j] }); serverEngine.setEnabledCipherSuites(serverEngine.getSupportedCipherSuites()); harness.checkPoint("SSLEngine/" + protocols[i] + "/" + suites[j]); try { runHandshake(); harness.check(true); } catch (Exception x) { harness.check(false); harness.debug(x); } } } } } mauve-20140821/gnu/testlet/javax/net/ssl/SSLEngine/TestNoCiphersuites.java0000644000175000001440000000566211015035145025164 0ustar dokousers/* TestNoCiphersuites.java -- test no common ciphersuites. Copyright (C) 2006 Casey Marshall This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 JSSE // Uses: AbstractEngineTest SimpleX509KeyManager SimplePSKKeyManager SimpleX509TrustManager package gnu.testlet.javax.net.ssl.SSLEngine; import gnu.testlet.TestHarness; /** * Test a connection between two SSLEngines with no cipher suites in common * (which should fail). * * @author Casey Marshall (csm@gnu.org) */ public class TestNoCiphersuites extends AbstractEngineTest { /* (non-Javadoc) * @see gnu.testlet.javax.net.ssl.SSLEngine.AbstractEngineTest#implTest(gnu.testlet.TestHarness) */ protected void implTest(TestHarness harness) { setupEngines(harness); clientEngine.setEnabledCipherSuites(new String[] { "TLS_DHE_DSS_WITH_AES_256_CBC_SHA", "TLS_DHE_RSA_WITH_AES_256_CBC_SHA", "TLS_DH_DSS_WITH_AES_256_CBC_SHA", "TLS_DH_RSA_WITH_AES_256_CBC_SHA", "TLS_RSA_WITH_AES_256_CBC_SHA", "TLS_DHE_DSS_WITH_AES_128_CBC_SHA", "TLS_DHE_RSA_WITH_AES_128_CBC_SHA", "TLS_DH_DSS_WITH_AES_128_CBC_SHA", "TLS_DH_RSA_WITH_AES_128_CBC_SHA", "TLS_RSA_WITH_AES_128_CBC_SHA", "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA", "TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA", "TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA", "TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA", "TLS_RSA_WITH_3DES_EDE_CBC_SHA" }); serverEngine.setEnabledCipherSuites(new String[] { "TLS_RSA_WITH_RC4_128_MD5", "TLS_RSA_WITH_RC4_128_SHA", "TLS_DHE_DSS_WITH_DES_CBC_SHA", "TLS_DHE_RSA_WITH_DES_CBC_SHA", "TLS_DH_DSS_WITH_DES_CBC_SHA", "TLS_DH_RSA_WITH_DES_CBC_SHA", "TLS_RSA_WITH_DES_CBC_SHA", "TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA", "TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA", "TLS_RSA_EXPORT_WITH_DES40_CBC_SHA", "TLS_RSA_EXPORT_WITH_RC4_40_MD5", "TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA", "TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA", "TLS_RSA_WITH_NULL_MD5", "TLS_RSA_WITH_NULL_SHA" }); harness.checkPoint("SSLEngine/no-ciphersuites"); try { runHandshake(); harness.fail("SSLEngine/no-ciphersuites"); } catch (Exception x) { harness.check(true); } } } mauve-20140821/gnu/testlet/javax/net/ssl/SSLEngine/SimplePSKKeyManager.java0000644000175000001440000000320710463232105025125 0ustar dokousers/* SimplePSKKeyManager.java -- simple PSK key manager for testing. Copyright (C) 2006 Casey Marshall This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.javax.net.ssl.SSLEngine; import gnu.javax.net.ssl.PreSharedKeyManager; import java.security.KeyManagementException; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; /** * @author Casey Marshall (csm@gnu.org) */ public class SimplePSKKeyManager implements PreSharedKeyManager { /* (non-Javadoc) * @see gnu.javax.net.ssl.PreSharedKeyManager#chooseIdentityHint() */ public String chooseIdentityHint() { return "MAUVE"; } /* (non-Javadoc) * @see gnu.javax.net.ssl.PreSharedKeyManager#getKey(java.lang.String) */ public SecretKey getKey(String arg0) throws KeyManagementException { if (arg0.equals("MAUVE")) return KEY; return null; } static final SecretKey KEY = new SecretKeySpec("Mauve TLS PSK test key".getBytes(), "PSK"); } mauve-20140821/gnu/testlet/javax/net/ssl/SSLEngine/TestNoProtocols.java0000644000175000001440000000332610463232105024475 0ustar dokousers/* TestNoProtocols.java -- test handshake failure with no common protocols. Copyright (C) 2006 Casey Marshall This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.5 JSSE package gnu.testlet.javax.net.ssl.SSLEngine; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Test a connection between SSLEngines that don't have any protocols in * common (that is, test that the handshake fails). * * @author Casey Marshall (csm@gnu.org) */ public class TestNoProtocols extends AbstractEngineTest { /* (non-Javadoc) * @see gnu.testlet.javax.net.ssl.SSLEngine.AbstractEngineTest#implTest(gnu.testlet.TestHarness) */ protected void implTest(TestHarness harness) { setupEngines(harness); clientEngine.setEnabledProtocols(new String[] { "SSLv3" }); serverEngine.setEnabledProtocols(new String[] { "TLSv1", "TLSv1.1" }); harness.checkPoint("SSLEngine/protcols"); try { runHandshake(); harness.fail("SSLEngine/protocols"); } catch (Exception e) { harness.check(true); } } } mauve-20140821/gnu/testlet/javax/net/ssl/SSLEngine/SimpleX509TrustManager.java0000644000175000001440000002116010463232105025524 0ustar dokousers/* SimpleX509TrustManager.java -- trust manager for testing. Copyright (C) 2006 Casey Marshall This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.javax.net.ssl.SSLEngine; import java.io.ByteArrayInputStream; import java.security.cert.CertificateException; import java.security.cert.CertificateFactory; import java.security.cert.X509Certificate; import javax.net.ssl.X509TrustManager; /** * @author Casey Marshall (csm@gnu.org) */ public class SimpleX509TrustManager implements X509TrustManager { static final String CA_CERT = "-----BEGIN CERTIFICATE-----\n" + "MIIEjDCCA3SgAwIBAgIJAMOUZM/pKkaNMA0GCSqGSIb3DQEBBQUAMIGKMREwDwYD\n" + "VQQDEwhNYXV2ZSBDQTELMAkGA1UEBhMCVVMxFjAUBgNVBAgTDU1hc3NhY2h1c2V0\n" + "dHMxDzANBgNVBAcTBkJvc3RvbjEOMAwGA1UEChMFTWF1dmUxLzAtBgkqhkiG9w0B\n" + "CQEWIG1hdXZlLWRpc2N1c3NAc291cmNlcy5yZWRoYXQuY29tMB4XDTA2MDcxNzAz\n" + "MDg0OVoXDTExMDcxNjAzMDg0OVowgYoxETAPBgNVBAMTCE1hdXZlIENBMQswCQYD\n" + "VQQGEwJVUzEWMBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9u\n" + "MQ4wDAYDVQQKEwVNYXV2ZTEvMC0GCSqGSIb3DQEJARYgbWF1dmUtZGlzY3Vzc0Bz\n" + "b3VyY2VzLnJlZGhhdC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\n" + "AQC1sXjS8OAxk6DmfW0sbsOadgjQsKsydQ3xRinjA7dMPYyPaoY5huE7Ur4ClHka\n" + "ThF7enGkQi5mIaGUD5noDoE0+2IcRqp/bIXFEvwgVFrCvG9GbG8mmoEEhdBSG0ol\n" + "+VUwsCmwaTbzi4erCIq6907CvVUmqB3NMLKD6blghHUCWQT2BvbWev5CGktPvsp+\n" + "9mDpI898Xdp+zqrVkd4vGyvFI51Fj6GdZhud6ctFBMsZApkTHTaLi3m+4LGvR4gP\n" + "x+5ukOWQKe/MACIna6ARVxLSiYHiusdSOOvjIWW6cSC89Lmnlqp2IjDEqObLhNjF\n" + "ilvfnJ2/q+WJvEDSyjvO0ywvAgMBAAGjgfIwge8wHQYDVR0OBBYEFP2xH8L1npmn\n" + "dwjY7nndHfo+EILFMIG/BgNVHSMEgbcwgbSAFP2xH8L1npmndwjY7nndHfo+EILF\n" + "oYGQpIGNMIGKMREwDwYDVQQDEwhNYXV2ZSBDQTELMAkGA1UEBhMCVVMxFjAUBgNV\n" + "BAgTDU1hc3NhY2h1c2V0dHMxDzANBgNVBAcTBkJvc3RvbjEOMAwGA1UEChMFTWF1\n" + "dmUxLzAtBgkqhkiG9w0BCQEWIG1hdXZlLWRpc2N1c3NAc291cmNlcy5yZWRoYXQu\n" + "Y29tggkAw5Rkz+kqRo0wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEA\n" + "cAQ0W4kd7mvT/yZvTxjZ9NSvXLGJvaxDoSnDgJ4OVBI+BxYyp7BfseBpywUY2vke\n" + "nyMwjKsrDIgkEGwJGN7s2fTbw4L8f3/RThB26uF03UUZYKBQNKeeQjNAMI8rXBnO\n" + "oZHARSSWbH9IdllFaaP1aB0bq6ystrwaVj2y689UY6X1/MY8gc8WaUP/C/7Lj8T6\n" + "eJFSuZSvNaAdaAW/G9KQNPONVWHBty7OrFK/U56JcyKg0VSc0Edd9YxWqHdByuFr\n" + "hM9SaKM3GMmOi3Avh59STCXqgdrKh4CE6ytGiutN1bMKrhx6xKZMZjWHzZ1Ab8Jd\n" + "FypiU79sLqjQamv/fV5CBw==\n" + "-----END CERTIFICATE-----\n"; static final String DSA_CERT = "-----BEGIN CERTIFICATE-----\n" + "MIIFRDCCBCygAwIBAgIBATANBgkqhkiG9w0BAQUFADCBijERMA8GA1UEAxMITWF1\n" + "dmUgQ0ExCzAJBgNVBAYTAlVTMRYwFAYDVQQIEw1NYXNzYWNodXNldHRzMQ8wDQYD\n" + "VQQHEwZCb3N0b24xDjAMBgNVBAoTBU1hdXZlMS8wLQYJKoZIhvcNAQkBFiBtYXV2\n" + "ZS1kaXNjdXNzQHNvdXJjZXMucmVkaGF0LmNvbTAeFw0wNjA3MTcwMzEwNDdaFw0w\n" + "NzA3MTcwMzEwNDdaMIGHMQswCQYDVQQGEwJVUzEWMBQGA1UECBMNTWFzc2FjaHVz\n" + "ZXR0czEOMAwGA1UEChMFTWF1dmUxDjAMBgNVBAsTBU1hdXZlMQ8wDQYDVQQDEwZk\n" + "c2FrZXkxLzAtBgkqhkiG9w0BCQEWIG1hdXZlLWRpc2N1c3NAc291cmNlcy5yZWRo\n" + "YXQuY29tMIIBtjCCASsGByqGSM44BAEwggEeAoGBAN8IlBGWirqUwgO+vgb5gTQs\n" + "mDVMf9Z11TYAOP5BKTmo1lbbACqb/5UCbdlMtaSGH5lCdtso6AB+fc8Q3wUBGo/o\n" + "KhAvNkLnX3x/m0xMZtOcFwiip4P1hP0UxpJyU/Jb/S7/qXEEZeWg9jlphSUV2Hbh\n" + "8F/G1MGNfgDhMYh3g13ZAhUAn/FrrGLODw3HfRbebPMACt6mHHsCgYASlGmE1jNk\n" + "gefmyHqo3A/Siv6myEI2cEjgZdn/nFEQY1gpjPLSBceOPH5FaeSG4TLUjt2q6Ih1\n" + "/eX2tx4tdZYMjxBUGslOupYAgjPeiqIEHKHpilW5DIxDvywV4EDfTn8WfbGYVJ5q\n" + "TriuQbQVdtlXkfZ3k3fPSci2hJii4gADjgOBhAACgYATRBEs6kCrp+8MsPhTkb8P\n" + "dT8FhIVN6txvwWfBFnMzbWrn32MDdxPL5pNT3wYcwqJ5jNxFZdexpuid6JYYx6KU\n" + "tO/UOkDvu1XIMaJF0Auy+m+NMF5FQD9uF5d0p6CQvq0sgwrz30ss7etBdFEltOsp\n" + "LNDAVdMuxO54oerzZ6Z6vKOCASAwggEcMAkGA1UdEwQCMAAwHQYDVR0OBBYEFJFR\n" + "LmRjeyJPwYtRnzLiXMpf0MUAMIG/BgNVHSMEgbcwgbSAFP2xH8L1npmndwjY7nnd\n" + "Hfo+EILFoYGQpIGNMIGKMREwDwYDVQQDEwhNYXV2ZSBDQTELMAkGA1UEBhMCVVMx\n" + "FjAUBgNVBAgTDU1hc3NhY2h1c2V0dHMxDzANBgNVBAcTBkJvc3RvbjEOMAwGA1UE\n" + "ChMFTWF1dmUxLzAtBgkqhkiG9w0BCQEWIG1hdXZlLWRpc2N1c3NAc291cmNlcy5y\n" + "ZWRoYXQuY29tggkAw5Rkz+kqRo0wLgYJYIZIAYb4QgEEBCEWH2h0dHBzOi8vd3d3\n" + "LnNpYWwub3JnL2NhLWNybC5wZW0wDQYJKoZIhvcNAQEFBQADggEBABeqOYKPgeS2\n" + "y+z3IQwoYABlqahQAur+HOoXrZqs/XJ8YgyOWJtLkdHFyTYEo48yVZNp9zW11DMx\n" + "mB5ChsGTR4YBG8DvQ3ua+aZo3Sdcum7IChgUfhLTfklSV8el13rjj8DyIBv2WQrn\n" + "KCofgObOrDoXUaNEBGMGVC5znCoFbmdE8SsTXMtjRC+sNhRvDFpKiXzNFJOwR7v7\n" + "zrVC6uyaXxfQMbcSdq0Ma9yVzHCc7rZfCQOoeieX6reAxp+iC7q/I+bTC5bi0GdH\n" + "wPSpQ+DnpimjvrSU2ESYORxZBrdxzQHCXaoJCtCF26w5P9KkpTCavo+ERgTaiVA6\n" + "5Wcv1NVwcM0=\n" + "-----END CERTIFICATE-----\n"; static final String RSA_CERT = "-----BEGIN CERTIFICATE-----\n" + "MIIELDCCAxSgAwIBAgIBAjANBgkqhkiG9w0BAQUFADCBijERMA8GA1UEAxMITWF1\n" + "dmUgQ0ExCzAJBgNVBAYTAlVTMRYwFAYDVQQIEw1NYXNzYWNodXNldHRzMQ8wDQYD\n" + "VQQHEwZCb3N0b24xDjAMBgNVBAoTBU1hdXZlMS8wLQYJKoZIhvcNAQkBFiBtYXV2\n" + "ZS1kaXNjdXNzQHNvdXJjZXMucmVkaGF0LmNvbTAeFw0wNjA3MTcwMzEwNDhaFw0w\n" + "NzA3MTcwMzEwNDhaMIGHMQswCQYDVQQGEwJVUzEWMBQGA1UECBMNTWFzc2FjaHVz\n" + "ZXR0czEOMAwGA1UEChMFTWF1dmUxDjAMBgNVBAsTBU1hdXZlMQ8wDQYDVQQDEwZy\n" + "c2FrZXkxLzAtBgkqhkiG9w0BCQEWIG1hdXZlLWRpc2N1c3NAc291cmNlcy5yZWRo\n" + "YXQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC5YWr2T8IuEiHxGzT3\n" + "MZjEnV4sEpjiaDBo3+tJzQjn0ObAedylwISssX3J/XwsE/ePIIOmgeuvWeL/Q9bM\n" + "Y/FVtCoeLZAnKMa17duerFvOft/eErt5Ed4TBaR08HTgyVToIW1CKh5JGBB7n76P\n" + "A7FMu4aL8WHak+jiyg7bLLwMAQIDAQABo4IBIDCCARwwCQYDVR0TBAIwADAdBgNV\n" + "HQ4EFgQU9Wreo4FMtz6QD0GYU3ZpYrRoB3Awgb8GA1UdIwSBtzCBtIAU/bEfwvWe\n" + "mad3CNjued0d+j4QgsWhgZCkgY0wgYoxETAPBgNVBAMTCE1hdXZlIENBMQswCQYD\n" + "VQQGEwJVUzEWMBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9u\n" + "MQ4wDAYDVQQKEwVNYXV2ZTEvMC0GCSqGSIb3DQEJARYgbWF1dmUtZGlzY3Vzc0Bz\n" + "b3VyY2VzLnJlZGhhdC5jb22CCQDDlGTP6SpGjTAuBglghkgBhvhCAQQEIRYfaHR0\n" + "cHM6Ly93d3cuc2lhbC5vcmcvY2EtY3JsLnBlbTANBgkqhkiG9w0BAQUFAAOCAQEA\n" + "DDBAL1KQl+KZSLpN7vHOUETz8ypin+BK5DKlvHS1vhjutSYoDdZBVYauXL2BaTN8\n" + "WXKdf8B5ucJOtDvSs4flvKT9YHw7Jg6JgxO0efScBsqCbB6JDZv0fpagSqZUpFTj\n" + "MKRpWOHaqTynUCou6vdAcEtAGMV9GupwZe26qEJbvYF0gj77bfoPelQB6B7H3xEZ\n" + "3zUC57ViXghvCTMPtOC/FoI2NcT1FMm/ffpsKbW5q4/daWt0sicpOho97mUip5MS\n" + "F3VXSY3POgoHXT+5oFyuvgAh6az7GmdM3/0CpL99dGNzyHv2s5LEsd1Hcl7SKoUJ\n" + "cTxGbnNzFAM+bKAoKK64IQ==\n" + "-----END CERTIFICATE-----\n"; static final X509Certificate CA; static final X509Certificate DSA; static final X509Certificate RSA; static { X509Certificate ca = null; X509Certificate dsa = null; X509Certificate rsa = null; try { CertificateFactory cf = CertificateFactory.getInstance("X509"); ca = (X509Certificate) cf.generateCertificate(new ByteArrayInputStream(CA_CERT.getBytes())); dsa = (X509Certificate) cf.generateCertificate(new ByteArrayInputStream(DSA_CERT.getBytes())); rsa = (X509Certificate) cf.generateCertificate(new ByteArrayInputStream(RSA_CERT.getBytes())); } catch (Exception x) { x.printStackTrace(); } CA = ca; DSA = dsa; RSA = rsa; } /* (non-Javadoc) * @see javax.net.ssl.X509TrustManager#checkClientTrusted(java.security.cert.X509Certificate[], java.lang.String) */ public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException { if (DSA.equals(arg0[0]) || RSA.equals(arg0[0])) return; throw new CertificateException(); } /* (non-Javadoc) * @see javax.net.ssl.X509TrustManager#checkServerTrusted(java.security.cert.X509Certificate[], java.lang.String) */ public void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException { if (DSA.equals(arg0[0]) || RSA.equals(arg0[0])) return; throw new CertificateException(); } /* (non-Javadoc) * @see javax.net.ssl.X509TrustManager#getAcceptedIssuers() */ public X509Certificate[] getAcceptedIssuers() { return new X509Certificate[] { CA }; } } mauve-20140821/gnu/testlet/javax/management/0000755000175000001440000000000012375316426017460 5ustar dokousersmauve-20140821/gnu/testlet/javax/management/ObjectName/0000755000175000001440000000000012375316426021467 5ustar dokousersmauve-20140821/gnu/testlet/javax/management/ObjectName/ParsingJDK6.java0000644000175000001440000000320710605700400024335 0ustar dokousers// Copyright (C) 2007 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.6 package gnu.testlet.javax.management.ObjectName; import javax.management.MalformedObjectNameException; import javax.management.ObjectName; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class ParsingJDK6 implements Testlet { public void test(TestHarness h) { try { h.checkPoint("Match the FSF domain with specific keys and ? in value"); ObjectName name = new ObjectName("fsf:library=Classpath,project=?NU"); h.check(true); h.checkPoint("Match the FSF domain with specific keys and * in value"); name = new ObjectName("fsf:library=Classpath,project=*"); h.check(true); h.checkPoint("Match the FSF domain with specific keys and quoted * in value"); name = new ObjectName("fsf:library=Classpath,project=\"*\""); h.check(true); } catch (MalformedObjectNameException e) { h.debug(e); } } } mauve-20140821/gnu/testlet/javax/management/ObjectName/applyJDK6.java0000644000175000001440000000631010606532430024064 0ustar dokousers// Copyright (C) 2007 Red Hat, Inc. // Written by Gary Benson // Adapted for additional JDK6 tests. // Copyright (C) 2007 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.6 package gnu.testlet.javax.management.ObjectName; import javax.management.MalformedObjectNameException; import javax.management.ObjectName; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class applyJDK6 implements Testlet { private String[] domains = new String[] { "mauve", "m?uve", "*ve", "*au*", "m?*e", "mauv?", "m*v*", "*"}; private boolean domainMatches(String a, String b) { // XXX This is very hacky. The spec says that nothing matches // a pattern. And all the patterns here match the non-pattern. return !b.contains("?") && !b.contains("*"); } private String[] properties = new String[] { "foo=b?r", "foo=b?r,spam=eggs", "spam=eggs,foo=b?r", "foo=b?r,*", "foo=b*", "foo=b*,spam=eggs", "spam=eggs,foo=b*", "foo=b*,*", "foo=\"b?r\"", "foo=\"b?r\",spam=eggs", "spam=eggs,foo=\"b?r\"", "foo=\"b?r\",*", "foo=\"b*\"", "foo=\"b*\",spam=eggs", "spam=eggs,foo=\"b*\"", "foo=\"b*\",*" }; private boolean propertyMatches(String a, String b) { // Again, nothing matches a pattern. if (b.contains("*") || b.contains("?")) return false; // All the patterns here match the non-patterns. if (a.contains("*") || a.contains("?")) return true; // If they're the same length then they match (XXX hacky) return a.length() == b.length(); } public void test(TestHarness harness) { for (int ida = 0; ida < domains.length; ida++) { for (int idb = 0; idb < domains.length; idb++) { for (int ipa = 0; ipa < properties.length; ipa++) { for (int ipb = 0; ipb < properties.length; ipb++) { String da = domains[ida]; String db = domains[idb]; boolean dm = domainMatches(da, db); String pa = properties[ipa]; String pb = properties[ipb]; boolean pm = propertyMatches(pa, pb); String sa = da + ":" + pa; String sb = db + ":" + pb; boolean expect = dm && pm; try { ObjectName ona = new ObjectName(sa); ObjectName onb = new ObjectName(sb); harness.check(ona.apply(onb) == expect, sa + " should" + (expect ? "" : " not") + " match " + sb); } catch (MalformedObjectNameException e) { harness.check(false); harness.debug(e); } } } } } } } mauve-20140821/gnu/testlet/javax/management/ObjectName/apply.java0000644000175000001440000000551310566555300023457 0ustar dokousers// Copyright (C) 2007 Red Hat, Inc. // Written by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.5 package gnu.testlet.javax.management.ObjectName; import javax.management.MalformedObjectNameException; import javax.management.ObjectName; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class apply implements Testlet { private String[] domains = new String[] { "mauve", "m?uve", "*ve", "*au*", "m?*e", "mauv?", "m*v*", "*"}; private boolean domainMatches(String a, String b) { // XXX This is very hacky. The spec says that nothing matches // a pattern. And all the patterns here match the non-pattern. return !b.contains("?") && !b.contains("*"); } private String[] properties = new String[] { "foo=bar", "foo=bar,spam=eggs", "spam=eggs,foo=bar", "foo=bar,*", "*"}; private boolean propertyMatches(String a, String b) { // Again, nothing matches a pattern. if (b.contains("*")) return false; // All the patterns here match the non-patterns. if (a.contains("*")) return true; // If they're the same length then they match (XXX hacky) return a.length() == b.length(); } public void test(TestHarness harness) { for (int ida = 0; ida < domains.length; ida++) { for (int idb = 0; idb < domains.length; idb++) { for (int ipa = 0; ipa < properties.length; ipa++) { for (int ipb = 0; ipb < properties.length; ipb++) { String da = domains[ida]; String db = domains[idb]; boolean dm = domainMatches(da, db); String pa = properties[ipa]; String pb = properties[ipb]; boolean pm = propertyMatches(pa, pb); String sa = da + ":" + pa; String sb = db + ":" + pb; boolean expect = dm && pm; try { ObjectName ona = new ObjectName(sa); ObjectName onb = new ObjectName(sb); harness.check(ona.apply(onb) == expect, sa + " should" + (expect ? "" : " not") + " match " + sb); } catch (MalformedObjectNameException e) { harness.check(false); harness.debug(e); } } } } } } } mauve-20140821/gnu/testlet/javax/management/ObjectName/Parsing.java0000644000175000001440000002600610606532430023727 0ustar dokousers// Copyright (C) 2007 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.5 package gnu.testlet.javax.management.ObjectName; import javax.management.MalformedObjectNameException; import javax.management.ObjectName; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; public class Parsing implements Testlet { public void test(TestHarness h) { ObjectName name; try { h.checkPoint("Default name"); name = new ObjectName("*:*"); h.check(true); h.check(name.isDomainPattern(), true); h.check(name.isPropertyPattern(), true); h.check(name.isPattern(), true); h.check(name.getDomain(), "*"); h.check(name.getKeyPropertyListString(), ""); h.checkPoint("Mixed keys and wildcards"); name = new ObjectName("jboss.management.local:j2eeType=ServiceModule,*,name=jbossmq-httpil.sar"); h.check(true); h.check(name.isDomainPattern(), false); h.check(name.isPropertyPattern(), true); h.check(name.isPattern(), true); h.check(name.getDomain(), "jboss.management.local"); h.check(name.getKeyPropertyListString(), "j2eeType=ServiceModule,name=jbossmq-httpil.sar"); h.checkPoint("Match any domain with specific keys"); name = new ObjectName("*:library=Classpath,project=GNU"); h.check(true); h.check(name.isDomainPattern(), true); h.check(name.isPropertyPattern(), false); h.check(name.isPattern(), true); h.check(name.getDomain(), "*"); h.check(name.getCanonicalKeyPropertyListString(), "library=Classpath,project=GNU"); h.check(name.getKeyPropertyListString(), "library=Classpath,project=GNU"); h.checkPoint("Match any domain with specific keys and wildcard at end"); name = new ObjectName("*:library=Classpath,project=GNU,*"); h.check(true); h.check(name.isDomainPattern(), true); h.check(name.isPropertyPattern(), true); h.check(name.isPattern(), true); h.check(name.getDomain(), "*"); h.check(name.getKeyPropertyListString(), "library=Classpath,project=GNU"); h.checkPoint("Match any domain beginning with 'fs' with specific keys"); name = new ObjectName("fs?:library=Classpath,project=GNU"); h.check(true); h.check(name.isDomainPattern(), true); h.check(name.isPropertyPattern(), false); h.check(name.isPattern(), true); h.check(name.getDomain(), "fs?"); h.check(name.getKeyPropertyListString(), "library=Classpath,project=GNU"); h.checkPoint("Match any domain beginning with 'fs' with specific keys " + "and wildcard at end"); name = new ObjectName("fs?:library=Classpath,project=GNU,*"); h.check(true); h.check(name.isDomainPattern(), true); h.check(name.isPropertyPattern(), true); h.check(name.isPattern(), true); h.check(name.getDomain(), "fs?"); h.check(name.getKeyPropertyListString(), "library=Classpath,project=GNU"); h.checkPoint("Match the FSF domain with specific keys and wildcard at end"); name = new ObjectName("fsf:library=Classpath,project=GNU,*"); h.check(true); h.check(name.isDomainPattern(), false); h.check(name.isPropertyPattern(), true); h.check(name.isPattern(), true); h.check(name.getDomain(), "fsf"); h.check(name.getKeyPropertyListString(), "library=Classpath,project=GNU"); h.checkPoint("Match the FSF domain with specific keys"); name = new ObjectName("fsf:library=Classpath,project=GNU"); h.check(true); h.check(name.isDomainPattern(), false); h.check(name.isPropertyPattern(), false); h.check(name.isPattern(), false); h.check(name.getDomain(), "fsf"); h.check(name.getKeyPropertyListString(), "library=Classpath,project=GNU"); h.checkPoint("Match the FSF domain with specific keys and quoted values"); name = new ObjectName("fsf:library=\"Classpath\",project=GNU"); h.check(true); h.check(name.isDomainPattern(), false); h.check(name.isPropertyPattern(), false); h.check(name.isPattern(), false); h.check(name.getDomain(), "fsf"); h.check(name.getKeyProperty("library"), "\"Classpath\""); h.check(name.getKeyPropertyListString(), "library=\"Classpath\",project=GNU"); h.checkPoint("Match the FSF domain with specific keys and quoted values with "+ "escaped quote"); name = new ObjectName("fsf:library=\"Class\\\"path\",project=GNU"); h.check(true); h.check(name.isDomainPattern(), false); h.check(name.isPropertyPattern(), false); h.check(name.isPattern(), false); h.check(name.getDomain(), "fsf"); h.check(name.getKeyProperty("library"), "\"Class\\\"path\""); h.check(name.getKeyPropertyListString(), "library=\"Class\\\"path\",project=GNU"); h.checkPoint("Match the FSF domain with specific keys and quoted values with "+ "escaped newline"); name = new ObjectName("fsf:library=\"Class\\npath\",project=GNU"); h.check(true); h.check(name.isDomainPattern(), false); h.check(name.isPropertyPattern(), false); h.check(name.isPattern(), false); h.check(name.getDomain(), "fsf"); h.check(name.getKeyProperty("library"), "\"Class\\npath\""); h.check(name.getKeyPropertyListString(), "library=\"Class\\npath\",project=GNU"); h.checkPoint("Match the FSF domain with specific keys and quoted values with "+ "escaped backslash"); name = new ObjectName("fsf:library=\"Class\\\\path\",project=GNU"); h.check(true); h.check(name.isDomainPattern(), false); h.check(name.isPropertyPattern(), false); h.check(name.isPattern(), false); h.check(name.getDomain(), "fsf"); h.check(name.getKeyProperty("library"), "\"Class\\\\path\""); h.check(name.getKeyPropertyListString(), "library=\"Class\\\\path\",project=GNU"); h.checkPoint("Match the FSF domain with space preservation"); name = new ObjectName("fsf: library = Classpath "); h.check(true); h.check(name.isDomainPattern(), false); h.check(name.isPropertyPattern(), false); h.check(name.isPattern(), false); h.check(name.getDomain(), "fsf"); h.check(name.getKeyProperty(" library "), " Classpath "); h.check(name.getKeyPropertyListString(), " library = Classpath "); h.checkPoint("Key ordering"); name = new ObjectName("fsf:project=GNU,library=Classpath"); h.check(true); h.check(name.isDomainPattern(), false); h.check(name.isPropertyPattern(), false); h.check(name.isPattern(), false); h.check(name.getDomain(), "fsf"); h.check(name.getCanonicalKeyPropertyListString(), "library=Classpath,project=GNU"); h.check(name.getKeyPropertyListString(), "project=GNU,library=Classpath"); } catch (MalformedObjectNameException e) { h.debug(e); h.check(false); } try { name = new ObjectName("fsf:lib,rary=Classpath,project=GNU"); h.fail("Comma allowed in key name"); } catch (MalformedObjectNameException e) { h.check(true, "Comma in key name caught"); } try { name = new ObjectName("fsf:lib=rary=Classpath,project=GNU"); h.fail("Equals allowed in key name"); } catch (MalformedObjectNameException e) { h.check(true, "Equals in key name caught"); } try { name = new ObjectName("fsf:lib:rary=Classpath,project=GNU"); h.fail("Colon allowed in key name"); } catch (MalformedObjectNameException e) { h.check(true, "Colon in key name caught"); } try { name = new ObjectName("fsf:lib*rary=Classpath,project=GNU"); h.fail("Asterisk allowed in key name"); } catch (MalformedObjectNameException e) { h.check(true, "Asterisk in key name caught"); } try { name = new ObjectName("fsf:lib?rary=Classpath,project=GNU"); h.fail("Question mark allowed in key name"); } catch (MalformedObjectNameException e) { h.check(true, "Question mark in key name caught"); } try { name = new ObjectName("fsf:library=Classpath,library=Sun,project=GNU"); h.fail("Duplicate key allowed"); } catch (MalformedObjectNameException e) { h.check(true, "Duplicate key caught"); } try { name = new ObjectName("fsf:library=Clas,path,project=GNU"); h.fail("Comma allowed in unquoted value"); } catch (MalformedObjectNameException e) { h.check(true, "Comma in unquoted value caught"); } try { name = new ObjectName("fsf:library=Clas=path,project=GNU"); h.fail("Equals allowed in unquoted value"); } catch (MalformedObjectNameException e) { h.check(true, "Equals in unquoted value caught"); } try { name = new ObjectName("fsf:library=Clas:path,project=GNU"); h.fail("Colon allowed in unquoted value"); } catch (MalformedObjectNameException e) { h.check(true, "Colon in unquoted value caught"); } try { name = new ObjectName("fsf:library=Clas\"path,project=GNU"); h.fail("Quote allowed in unquoted value"); } catch (MalformedObjectNameException e) { h.check(true, "Quote in unquoted value caught"); } try { name = new ObjectName("fsf:library=\"Classpath,project=GNU"); h.fail("Unclosed quotes allowed"); } catch (MalformedObjectNameException e) { h.check(true, "Unclosed quotes caught"); } try { name = new ObjectName("fsf:library=\"Class\"path\",project=GNU"); h.debug(name.getKeyProperty("library")); h.fail("Unescaped quote allowed"); } catch (MalformedObjectNameException e) { h.check(true, "Unescaped quote caught"); } try { name = new ObjectName("fsf:"); h.fail("Non-pattern with no keys allowed"); } catch (MalformedObjectNameException e) { h.check(true, "Non-pattern with no keys caught"); } try { name = new ObjectName("fsf:*,*"); h.fail("Pattern with multiple asterisks in properties allowed"); } catch (MalformedObjectNameException e) { h.check(true, "Pattern with multiple asterisks in properties caught"); } try { name = new ObjectName("f\nsf:library=Classpath"); h.fail("Domain with newline allowed"); } catch (MalformedObjectNameException e) { h.check(true, "Domain with newline caught"); } try { name = new ObjectName("fsf:lib\nrary=Classpath"); h.fail("Key with newline allowed"); } catch (MalformedObjectNameException e) { h.check(true, "Key with newline caught"); } try { name = new ObjectName("fsf:library=Class\npath"); h.fail("Unquoted value with newline allowed"); } catch (MalformedObjectNameException e) { h.check(true, "Unquoted value with newline caught"); } try { name = new ObjectName("fsf:library=\"Class\npath\""); h.fail("Quoted value with newline allowed"); } catch (MalformedObjectNameException e) { h.check(true, "Quoted value with newline caught"); } } } mauve-20140821/gnu/testlet/javax/management/MBeanServerPermission/0000755000175000001440000000000012375316426023702 5ustar dokousersmauve-20140821/gnu/testlet/javax/management/MBeanServerPermission/Constructor.java0000644000175000001440000001005510572663175027076 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2006 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.management.MBeanServerPermission; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.management.MBeanServerPermission; /** * Tests creation of an * {@link MBeanServerPermission}. * * @author Andrew John Hughes */ public class Constructor implements Testlet { public void test(TestHarness h) { Exception caught = null; // Check null name throws NullPointerException try { new MBeanServerPermission(null); } catch (Exception ex) { caught = ex; } h.check(caught instanceof NullPointerException, "Null name"); caught = null; // Check "*" is a valid name try { new MBeanServerPermission("*"); } catch (Exception ex) { caught = ex; } h.check(caught, null, "* is valid"); // Check valid values are allowed String[] valid = new String[] { "createMBeanServer", "newMBeanServer", "findMBeanServer", "releaseMBeanServer" }; // 1 for (int a = 0; a < valid.length; ++a) { caught = null; try { new MBeanServerPermission(valid[a]); } catch (Exception ex) { caught = ex; } h.check(caught, null, valid[a] + " is valid"); } // 2 for (int a = 0; a < valid.length; ++a) for (int b = 0; b < valid.length; ++b) { caught = null; String permit = valid[a] + "," + valid[b]; try { new MBeanServerPermission(permit); } catch (Exception ex) { caught = ex; } h.check(caught, null, permit + " is valid"); } // 3 for (int a = 0; a < valid.length; ++a) for (int b = 0; b < valid.length; ++b) for (int c = 0; c < valid.length; ++c) { caught = null; String permit = valid[a] + "," + valid[b] + "," + valid[c]; try { new MBeanServerPermission(permit); } catch (Exception ex) { caught = ex; } h.check(caught, null, permit + " is valid"); } // 4 for (int a = 0; a < valid.length; ++a) for (int b = 0; b < valid.length; ++b) for (int c = 0; c < valid.length; ++c) for (int d = 0; d < valid.length; ++d) { caught = null; String permit = valid[a] + "," + valid[b] + "," + valid[c] + "," + valid[d]; try { new MBeanServerPermission(permit); } catch (Exception ex) { caught = ex; } h.check(caught, null, permit + " is valid"); } caught = null; // Check with spaces try { new MBeanServerPermission(" createMBeanServer , newMBeanServer "); } catch (Exception ex) { caught = ex; } h.check(caught, null, "spaces are valid"); caught = null; // Check random stuff gets thrown out try { new MBeanServerPermission("fjafjlskjflka"); } catch (Exception ex) { caught = ex; } h.check(caught instanceof IllegalArgumentException, "other names are invalid"); caught = null; // Check non-null non-empty actions are caught try { new MBeanServerPermission("*","fishcakes"); } catch (Exception ex) { caught = ex; } h.check(caught instanceof IllegalArgumentException, "non-null non-empty actions are invalid"); } } mauve-20140821/gnu/testlet/javax/management/MBeanServerInvocationHandler/0000755000175000001440000000000012375316426025161 5ustar dokousersmauve-20140821/gnu/testlet/javax/management/MBeanServerInvocationHandler/TestCMXBean.java0000644000175000001440000000365110605700400030065 0ustar dokousers// Tags: not-a-test // Copyright (C) 2007 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.management.MBeanServerInvocationHandler; import javax.management.ObjectName; import java.util.Map; import java.util.Set; import java.util.SortedMap; import java.util.SortedSet; /** * Test {@link javax.management.MXBean} for proxying. * * @author Andrew John Hughes */ public interface TestCMXBean { int getId(); void setId(int id); Integer getSize(); void setSize(Integer size); ObjectName getName(); void setName(ObjectName name); float[] getWeights(); void setWeights(float[] weights); String[] getNames(); void setNames(String[] names); Set getAges(); void setAges(Set ages); SortedSet getBiscuits(); void setBiscuits(SortedSet biscuits); Colour getColour(); void setColour(Colour colour); Map getPhoneNumbers(); void setPhoneNumbers(Map numbers); SortedMap getSortedPhoneNumbers(); void setSortedPhoneNumbers(SortedMap numbers); ChildMXBean getChild(); void setChild(ChildMXBean bean); } mauve-20140821/gnu/testlet/javax/management/MBeanServerInvocationHandler/TestMBean.java0000644000175000001440000000221410572663175027650 0ustar dokousers// Tags: not-a-test // Copyright (C) 2007 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.management.MBeanServerInvocationHandler; import javax.management.MBeanServerInvocationHandler; /** * Test bean for proxying. * * @author Andrew John Hughes */ public interface TestMBean { String getName(); void setName(String name); boolean isEdible(); } mauve-20140821/gnu/testlet/javax/management/MBeanServerInvocationHandler/ChildMXBean.java0000644000175000001440000000214610636042543030077 0ustar dokousers// Tags: not-a-test // Copyright (C) 2007 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.management.MBeanServerInvocationHandler; /** * Test {@link javax.management.MXBean} for proxying. * * @author Andrew John Hughes */ public interface ChildMXBean { TestCMXBean getParent(); void setParent(TestCMXBean bean); } mauve-20140821/gnu/testlet/javax/management/MBeanServerInvocationHandler/TestX.java0000644000175000001440000000317010572663175027077 0ustar dokousers// Tags: not-a-test // Copyright (C) 2007 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.management.MBeanServerInvocationHandler; /** * Test bean implementation for proxying. * * @author Andrew John Hughes */ public class TestX extends Test implements TestXMBean { private String lastMethodCalled; public TestX(String name) { super(name); } public boolean equals(Object obj) { lastMethodCalled = "equals"; return false; } public int hashCode() { lastMethodCalled = "hashCode"; return 42; } public String getLastMethodCalled() { return lastMethodCalled; } public String toString() { lastMethodCalled = "toString"; return getClass().getName() + "[name=" + getName() + ",isEdible=" + isEdible() + ",lastMethodCalled=" + lastMethodCalled + "]"; } } mauve-20140821/gnu/testlet/javax/management/MBeanServerInvocationHandler/TestC.java0000644000175000001440000000606410605700400027033 0ustar dokousers// Tags: not-a-test // Copyright (C) 2007 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.management.MBeanServerInvocationHandler; import javax.management.ObjectName; import java.util.Map; import java.util.Set; import java.util.SortedMap; import java.util.SortedSet; /** * Test {@link javax.management.MXBean} implementation for proxying. * * @author Andrew John Hughes */ public class TestC implements TestCMXBean { private int id; private Integer size; private ObjectName name; private float[] weights; private String[] names; private Set ages; private SortedSet biscuits; private Colour colour; private Map numbers; private SortedMap sortedNumbers; private ChildMXBean child; public int getId() { return id; } public void setId(int id) { this.id = id; } public Integer getSize() { return size; } public void setSize(Integer size) { this.size = size; } public ObjectName getName() { return name; } public void setName(ObjectName name) { this.name = name; } public float[] getWeights() { return weights; } public void setWeights(float[] weights) { this.weights = weights; } public String[] getNames() { return names; } public void setNames(String[] names) { this.names = names; } public Set getAges() { return ages; } public void setAges(Set ages) { this.ages = ages; } public SortedSet getBiscuits() { return biscuits; } public void setBiscuits(SortedSet biscuits) { this.biscuits = biscuits; } public Colour getColour() { return colour; } public void setColour(Colour colour) { this.colour = colour; } public Map getPhoneNumbers() { return numbers; } public void setPhoneNumbers(Map numbers) { this.numbers = numbers; } public SortedMap getSortedPhoneNumbers() { return sortedNumbers; } public void setSortedPhoneNumbers(SortedMap numbers) { sortedNumbers = numbers; } public ChildMXBean getChild() { return child; } public void setChild(ChildMXBean child) { this.child = child; } } mauve-20140821/gnu/testlet/javax/management/MBeanServerInvocationHandler/MBeanProxy.java0000644000175000001440000001274411015034433030041 0ustar dokousers// Tags: JDK1.5 // Uses: ChildMXBean Colour Test TestX TestC TestMBean TestXMBean TestCMXBean // Copyright (C) 2007 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.management.MBeanServerInvocationHandler; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.reflect.Proxy; import javax.management.JMX; import javax.management.MalformedObjectNameException; import javax.management.MBeanServer; import javax.management.MBeanServerFactory; import javax.management.ObjectName; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.SortedMap; import java.util.SortedSet; import java.util.TreeMap; import java.util.TreeSet; /** * Tests {@link MBeanServerInvocationHandler} * for MBeans. * * @author Andrew John Hughes */ public class MBeanProxy implements Testlet { public void test(TestHarness h) { ObjectName name = null; ObjectName namex = null; ObjectName namec = null; ObjectName namecc = null; try { name = new ObjectName("mauve:test=go"); namex = new ObjectName("mauve:test=gox"); namec = new ObjectName("mauve:test=goc"); namecc = new ObjectName("mauve:test=gocc"); } catch (MalformedObjectNameException e) { h.debug(e); } MBeanServer server = MBeanServerFactory.createMBeanServer(); try { server.registerMBean(new Test("GNU Classpath"), name); server.registerMBean(new TestX("GNU Classpath"), namex); server.registerMBean(new TestC(), namec); } catch (Exception e) { h.debug(e); } TestMBean test = JMX.newMBeanProxy(server, name, TestMBean.class); h.check(test.getName(), "GNU Classpath", "Name test"); h.check(test.isEdible(), false, "Edible test"); h.checkPoint("Mutator test"); test.setName("Mauve"); h.check(test.getName(), "Mauve", "Name test after change"); h.check(test.equals(test), "Proxy equivalence reflection test"); TestXMBean testx = JMX.newMBeanProxy(server, namex, TestXMBean.class); h.checkPoint("Calling equals"); testx.equals(null); h.check(testx.getLastMethodCalled(), "equals"); h.checkPoint("Calling hashCode"); testx.hashCode(); h.check(testx.getLastMethodCalled(), "hashCode"); h.checkPoint("Calling toString"); testx.toString(); h.check(testx.getLastMethodCalled(), "toString"); final TestCMXBean testc = JMX.newMXBeanProxy(server, namec, TestCMXBean.class); h.checkPoint("Setting id"); testc.setId(42); h.check(testc.getId(), 42, "Getting id"); h.checkPoint("Setting size"); testc.setSize(5); h.check(testc.getSize() == 5, "Getting size"); h.checkPoint("Setting name"); testc.setName(namec); h.check(testc.getName(), namec, "Getting name"); h.checkPoint("Setting weights"); float[] weights = new float[] { 0.5f, -0.7f }; testc.setWeights(weights); h.check(testc.getWeights(), weights, "Getting weights"); h.checkPoint("Setting names"); String[] names = new String[] { "Bob", "Jim", "Jake" }; testc.setNames(names); h.check(testc.getNames(), names, "Getting names"); h.checkPoint("Setting ages"); Set ages = new HashSet(); ages.add(45); ages.add(24); testc.setAges(ages); h.check(testc.getAges(), ages, "Getting ages"); h.checkPoint("Setting biscuits"); SortedSet biscuits = new TreeSet(); biscuits.add("Chocolate"); biscuits.add("Ginger"); biscuits.add("Plain"); testc.setBiscuits(biscuits); h.check(testc.getBiscuits(), biscuits, "Getting biscuits"); h.checkPoint("Setting colour"); testc.setColour(Colour.RED); h.check(testc.getColour(), Colour.RED, "Getting colour"); h.checkPoint("Setting phone numbers"); Map numbers = new HashMap(); numbers.put("Bob",999); numbers.put("Jim",111); numbers.put("Sam",55); testc.setPhoneNumbers(numbers); h.check(testc.getPhoneNumbers(), numbers, "Getting phone numbers"); h.checkPoint("Setting sorted phone numbers"); SortedMap snumbers = new TreeMap(); snumbers.put("Bob",999); snumbers.put("Jim",111); snumbers.put("Sam",55); testc.setSortedPhoneNumbers(snumbers); h.check(testc.getSortedPhoneNumbers(), numbers, "Getting sorted phone numbers"); h.checkPoint("Creating and setting child"); ChildMXBean child = new ChildMXBean() { public TestCMXBean getParent() { return testc; } public void setParent(TestCMXBean bean) { } }; try { server.registerMBean(child, namecc); } catch (Exception e) { h.debug(e); } ChildMXBean cproxy = JMX.newMXBeanProxy(server, namecc, ChildMXBean.class); testc.setChild(cproxy); h.check(testc.getChild(), cproxy, "Getting child"); } } mauve-20140821/gnu/testlet/javax/management/MBeanServerInvocationHandler/Test.java0000644000175000001440000000244410572663175026752 0ustar dokousers// Tags: not-a-test // Copyright (C) 2007 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.management.MBeanServerInvocationHandler; /** * Test bean implementation for proxying. * * @author Andrew John Hughes */ public class Test implements TestMBean { private String name; public Test(String name) { setName(name); } public String getName() { return name; } public void setName(String name) { this.name = name; } public boolean isEdible() { return false; } } mauve-20140821/gnu/testlet/javax/management/MBeanServerInvocationHandler/Colour.java0000644000175000001440000000170110572663175027271 0ustar dokousers// Tags: not-a-test // Copyright (C) 2007 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.management.MBeanServerInvocationHandler; public enum Colour { RED, ORANGE, YELLOW, GREEN, BLUE, INDIGO, VIOLET; } mauve-20140821/gnu/testlet/javax/management/MBeanServerInvocationHandler/TestXMBean.java0000644000175000001440000000230010572663175027774 0ustar dokousers// Tags: not-a-test // Copyright (C) 2007 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.management.MBeanServerInvocationHandler; import javax.management.MBeanServerInvocationHandler; /** * Test bean for proxying. * * @author Andrew John Hughes */ public interface TestXMBean extends TestMBean { boolean equals(Object obj); int hashCode(); String getLastMethodCalled(); String toString(); } mauve-20140821/gnu/testlet/javax/management/remote/0000755000175000001440000000000012375316426020753 5ustar dokousersmauve-20140821/gnu/testlet/javax/management/remote/TargetedNotificationTest.java0000644000175000001440000000444610756660311026570 0ustar dokousers// Copyright (C) 2008 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.5 package gnu.testlet.javax.management.remote; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.management.Notification; import javax.management.remote.TargetedNotification; public class TargetedNotificationTest implements Testlet { public void test(TestHarness h) { TargetedNotification tn; Notification n = new Notification("", this, 1); h.checkPoint("Constructor tests"); try { tn = new TargetedNotification(null, 3); h.fail("Failed to catch null notification"); } catch (Exception e) { if (e instanceof IllegalArgumentException) h.check(true, "Caught null notification."); else { h.debug(e); h.fail("Unknown exception"); } } try { tn = new TargetedNotification(n, null); h.fail("Failed to catch null identifier"); } catch (Exception e) { if (e instanceof IllegalArgumentException) h.check(true, "Caught null identifier."); else { h.debug(e); h.fail("Unknown exception"); } } try { tn = new TargetedNotification(n, 3); h.check(true, "Successfully created notification"); h.check(n == tn.getNotification(), "Check notification retrieval"); h.check(3 == tn.getListenerID(), "Check ID retrieval"); } catch (Exception e) { if (e instanceof IllegalArgumentException) { h.debug(e); h.check(false, "Wrongly threw IllegalArgumentException."); } else { h.debug(e); h.fail("Unknown exception"); } } } } mauve-20140821/gnu/testlet/javax/management/remote/NotificationResultTest.java0000644000175000001440000000541510753704722026306 0ustar dokousers// Copyright (C) 2008 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. // Tags: JDK1.5 package gnu.testlet.javax.management.remote; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import javax.management.remote.NotificationResult; import javax.management.remote.TargetedNotification; public class NotificationResultTest implements Testlet { public void test(TestHarness h) { NotificationResult nr; TargetedNotification[] array = new TargetedNotification[]{}; h.checkPoint("Constructor tests"); try { nr = new NotificationResult(-1, 0, array); h.fail("Failed to catch negative earliest sequence number"); } catch (Exception e) { if (e instanceof IllegalArgumentException) h.check(true, "Caught negative earliest sequence number."); else { h.debug(e); h.fail("Unknown exception"); } } try { nr = new NotificationResult(0, -1, array); h.fail("Failed to catch negative next sequence number"); } catch (Exception e) { if (e instanceof IllegalArgumentException) h.check(true, "Caught negative next sequence number."); else { h.debug(e); h.fail("Unknown exception"); } } try { nr = new NotificationResult(0, 1, null); h.fail("Failed to catch null result array"); } catch (Exception e) { if (e instanceof IllegalArgumentException) h.check(true, "Caught null result array."); else { h.debug(e); h.fail("Unknown exception"); } } try { nr = new NotificationResult(0, 1, array); h.check(true, "NotificationResult successfully created."); h.check(nr.getEarliestSequenceNumber() == 0, "Retrieved earliest sequence number."); h.check(nr.getNextSequenceNumber() == 1, "Retrieved next sequence number."); h.check(nr.getTargetedNotifications() == array, "Retrieved array."); } catch (Exception e) { if (e instanceof IllegalArgumentException) h.fail("Wrongly threw IllegalArgumentException."); else { h.debug(e); h.fail("Unknown exception"); } } } } mauve-20140821/gnu/testlet/javax/management/openmbean/0000755000175000001440000000000012375316426021424 5ustar dokousersmauve-20140821/gnu/testlet/javax/management/openmbean/ArrayType/0000755000175000001440000000000012375316426023344 5ustar dokousersmauve-20140821/gnu/testlet/javax/management/openmbean/ArrayType/IsValue.java0000644000175000001440000000551410575100526025554 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2007 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.management.openmbean.ArrayType; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.util.HashMap; import java.util.Map; import javax.management.openmbean.ArrayType; import javax.management.openmbean.CompositeData; import javax.management.openmbean.CompositeDataSupport; import javax.management.openmbean.CompositeType; import javax.management.openmbean.OpenDataException; import javax.management.openmbean.OpenType; import javax.management.openmbean.SimpleType; import javax.management.openmbean.TabularData; import javax.management.openmbean.TabularDataSupport; import javax.management.openmbean.TabularType; /** * Tests {@link ArrayType#isValue(Object)}. * * @author Andrew John Hughes */ public class IsValue implements Testlet { public void test(TestHarness h) { ArrayType type = ArrayType.getPrimitiveArrayType(int[].class); h.check(!type.isValue(null), "Null value check"); h.check(!type.isValue(3), "Non-array value check"); h.check(type.isValue(new int[]{3}), "Primitive int array value check"); h.check(!type.isValue(new Integer[]{3}), "Integer array value check"); try { CompositeType ctype = new CompositeType("Test","Test",new String[]{"name"}, new String[]{"Name"}, new OpenType[] { SimpleType.STRING}); Map data = new HashMap(); data.put("name", "Bob"); CompositeData cdata = new CompositeDataSupport(ctype, data); CompositeData[] cdataarr = new CompositeData[] { cdata }; ArrayType type2 = new ArrayType(1, ctype); h.check(type2.isValue(cdataarr), "Composite data check"); TabularType ttype = new TabularType("Test","Test",ctype,new String[]{"name"}); TabularData tdata = new TabularDataSupport(ttype); tdata.put(cdata); TabularData[] tdataarr = new TabularData[] {tdata}; ArrayType type3 = new ArrayType(1, ttype); h.check(type3.isValue(tdataarr), "Tabular data check"); } catch (OpenDataException e) { h.debug(e); } } } mauve-20140821/gnu/testlet/javax/management/openmbean/ArrayType/GetArrayType.java0000644000175000001440000000517710575100526026571 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2007 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.management.openmbean.ArrayType; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.management.openmbean.ArrayType; import javax.management.openmbean.OpenDataException; import javax.management.openmbean.SimpleType; /** * Tests {@link ArrayType#getArrayType(OpenType)} * for 1-dimensional simple arrays. * * @author Andrew John Hughes */ public class GetArrayType implements Testlet { public void test(TestHarness h) { ArrayType type = null; try { h.checkPoint("1-dimensional integer array"); type = ArrayType.getArrayType(SimpleType.INTEGER); h.check(type.getClassName(), "[Ljava.lang.Integer;"); h.check(type.getTypeName(), "[Ljava.lang.Integer;"); h.check(type.getElementOpenType().getClassName(), "java.lang.Integer"); h.check(type.getDescription(), "1-dimension array of java.lang.Integer"); } catch (OpenDataException e) { h.debug(e); } try { h.checkPoint("2-dimensional integer array"); type = ArrayType.getArrayType(type); h.check(type.getClassName(), "[[Ljava.lang.Integer;"); h.check(type.getTypeName(), "[[Ljava.lang.Integer;"); h.check(type.getElementOpenType().getClassName(), "java.lang.Integer"); h.check(type.getDescription(), "2-dimension array of java.lang.Integer"); } catch (OpenDataException e) { h.debug(e); } try { h.checkPoint("3-dimensional integer array"); type = ArrayType.getArrayType(type); h.check(type.getClassName(), "[[[Ljava.lang.Integer;"); h.check(type.getTypeName(), "[[[Ljava.lang.Integer;"); h.check(type.getElementOpenType().getClassName(), "java.lang.Integer"); h.check(type.getDescription(), "3-dimension array of java.lang.Integer"); } catch (OpenDataException e) { h.debug(e); } } } mauve-20140821/gnu/testlet/javax/management/openmbean/ArrayType/GetPrimitiveArrayType.java0000644000175000001440000000537510575100526030462 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2007 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.management.openmbean.ArrayType; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.management.openmbean.ArrayType; import javax.management.openmbean.OpenDataException; import javax.management.openmbean.SimpleType; /** * Tests {@link ArrayType#getPrimitiveArrayType(OpenType)} * for 1-dimensional simple arrays. * * @author Andrew John Hughes */ public class GetPrimitiveArrayType implements Testlet { public void test(TestHarness h) { ArrayType type = null; h.checkPoint("1-dimensional integer array"); type = ArrayType.getPrimitiveArrayType(int[].class); h.check(type.getClassName(), "[I"); h.check(type.getTypeName(), "[I"); h.check(type.getElementOpenType().getClassName(), "java.lang.Integer"); h.check(type.getDescription(), "1-dimension array of int"); h.checkPoint("2-dimensional integer array"); type = ArrayType.getPrimitiveArrayType(int[][].class); h.check(type.getClassName(), "[[I"); h.check(type.getTypeName(), "[[I"); h.check(type.getElementOpenType().getClassName(), "java.lang.Integer"); h.check(type.getDescription(), "2-dimension array of int"); h.checkPoint("3-dimensional integer array"); type = ArrayType.getPrimitiveArrayType(int[][][].class); h.check(type.getClassName(), "[[[I"); h.check(type.getTypeName(), "[[[I"); h.check(type.getElementOpenType().getClassName(), "java.lang.Integer"); h.check(type.getDescription(), "3-dimension array of int"); try { ArrayType.getPrimitiveArrayType(int.class); h.fail("int.class allowed."); } catch (IllegalArgumentException e) { h.check(true, "Exception thrown for int.class"); } try { ArrayType.getPrimitiveArrayType(String.class); h.fail("String.class allowed."); } catch (IllegalArgumentException e) { h.check(true, "Exception thrown for String.class"); } } } mauve-20140821/gnu/testlet/javax/management/openmbean/ArrayType/Constructor2.java0000644000175000001440000000456610575100526026621 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2007 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.management.openmbean.ArrayType; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.management.openmbean.ArrayType; import javax.management.openmbean.OpenDataException; import javax.management.openmbean.SimpleType; /** * Tests {@link ArrayType} constructor * for 1-dimensional simple arrays. * * @author Andrew John Hughes */ public class Constructor2 implements Testlet { public void test(TestHarness h) { try { ArrayType type = new ArrayType(SimpleType.STRING, true); h.fail("Non-primitive type allowed."); } catch (OpenDataException e) { h.check(true, "Exception thrown for primitive array with non-primitive type"); } try { h.checkPoint("Primitive integer array"); ArrayType type = new ArrayType(SimpleType.INTEGER, true); h.check(type.getClassName(), "[I"); h.check(type.getTypeName(), "[I"); h.check(type.getElementOpenType().getClassName(), "java.lang.Integer"); h.check(type.getDescription(), "1-dimension array of int"); } catch (OpenDataException e) { h.debug(e); } try { h.checkPoint("String array"); ArrayType type = new ArrayType(SimpleType.STRING, false); h.check(type.getClassName(), "[Ljava.lang.String;"); h.check(type.getTypeName(), "[Ljava.lang.String;"); h.check(type.getElementOpenType().getClassName(), "java.lang.String"); h.check(type.getDescription(), "1-dimension array of java.lang.String"); } catch (OpenDataException e) { h.debug(e); } } } mauve-20140821/gnu/testlet/javax/management/openmbean/ArrayType/Constructor1.java0000644000175000001440000001216310575100526026610 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2007 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.management.openmbean.ArrayType; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.management.openmbean.ArrayType; import javax.management.openmbean.CompositeData; import javax.management.openmbean.CompositeType; import javax.management.openmbean.OpenDataException; import javax.management.openmbean.OpenType; import javax.management.openmbean.SimpleType; import javax.management.openmbean.TabularData; import javax.management.openmbean.TabularType; /** * Tests {@link ArrayType(int,javax.management.openmbean.OpenType} constructor. * * @author Andrew John Hughes */ public class Constructor1 implements Testlet { public void test(TestHarness h) { try { ArrayType type = new ArrayType(0, SimpleType.INTEGER); h.fail("Didn't catch dimensions < 1"); } catch (IllegalArgumentException e) { h.check(true, "Threw exception for dimensions of 0"); } catch (OpenDataException e) { h.debug(e); } try { ArrayType type = new ArrayType(-1, SimpleType.INTEGER); h.fail("Didn't catch dimensions < 1"); } catch (IllegalArgumentException e) { h.check(true, "Threw exception for dimensions of -1"); } catch (OpenDataException e) { h.debug(e); } try { h.checkPoint("1-dimensional String array"); ArrayType type = new ArrayType(1, SimpleType.STRING); h.check(type.getClassName(), "[Ljava.lang.String;"); h.check(type.getTypeName(), "[Ljava.lang.String;"); h.check(type.getElementOpenType().getClassName(), "java.lang.String"); h.check(type.getDescription(), "1-dimension array of java.lang.String"); h.checkPoint("2-dimensional String array"); ArrayType type2 = new ArrayType(2, SimpleType.STRING); h.check(type2.getClassName(), "[[Ljava.lang.String;"); h.check(type2.getTypeName(), "[[Ljava.lang.String;"); h.check(type2.getElementOpenType().getClassName(), "java.lang.String"); h.check(type2.getDescription(), "2-dimension array of java.lang.String"); h.checkPoint("4-dimensional String array (one constructor)"); ArrayType type3 = new ArrayType(4, SimpleType.STRING); h.check(type3.getClassName(), "[[[[Ljava.lang.String;"); h.check(type3.getTypeName(), "[[[[Ljava.lang.String;"); h.check(type3.getElementOpenType().getClassName(), "java.lang.String"); h.check(type3.getDescription(), "4-dimension array of java.lang.String"); h.checkPoint("4-dimensional String array (two constructors)"); ArrayType type4 = new ArrayType(2, type2); h.check(type4.getClassName(), "[[[[Ljava.lang.String;"); h.check(type4.getTypeName(), "[[[[Ljava.lang.String;"); h.check(type4.getElementOpenType().getClassName(), "java.lang.String"); h.check(type4.getDescription(), "4-dimension array of java.lang.String"); h.checkPoint("Composite Type Array"); CompositeType ctype = new CompositeType("Test","Test",new String[]{"name"}, new String[]{"Name"}, new OpenType[] { SimpleType.STRING}); ArrayType type5 = new ArrayType(1, ctype); String className = CompositeData.class.getName(); h.check(type5.getClassName(), "[L" + className + ";"); h.check(type5.getTypeName(), "[L" + className + ";"); h.check(type5.getElementOpenType().getClassName(), className); h.check(type5.getDescription(), "1-dimension array of " + className); h.checkPoint("Tabular Type Array"); TabularType ttype = new TabularType("Test","Test",ctype,new String[]{"name"}); ArrayType type6 = new ArrayType(1, ttype); className = TabularData.class.getName(); h.check(type6.getClassName(), "[L" + className + ";"); h.check(type6.getTypeName(), "[L" + className + ";"); h.check(type6.getElementOpenType().getClassName(), className); h.check(type6.getDescription(), "1-dimension array of " + className); } catch (OpenDataException e) { h.debug(e); } try { ArrayType type = new ArrayType(-1, new OpenType("Mauve","Mauve","Mauve") { public boolean equals(Object obj) { return false; } public int hashCode() { return 42; } public boolean isValue(Object obj) { return false; } public String toString() { return "Mauve"; } }); h.fail("Didn't catch our own OpenType"); } catch (OpenDataException e) { h.check(true, "Threw exception for invalid OpenType"); } } } mauve-20140821/gnu/testlet/javax/management/openmbean/ArrayType/IsPrimitiveArray.java0000644000175000001440000000555010575100526027447 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2007 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.management.openmbean.ArrayType; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.management.openmbean.ArrayType; import javax.management.openmbean.CompositeType; import javax.management.openmbean.OpenDataException; import javax.management.openmbean.OpenType; import javax.management.openmbean.SimpleType; import javax.management.openmbean.TabularType; /** * Tests {@link ArrayType#isPrimitiveArray()}. * * @author Andrew John Hughes */ public class IsPrimitiveArray implements Testlet { public void test(TestHarness h) { ArrayType type1 = ArrayType.getPrimitiveArrayType(int[].class); h.check(type1.isPrimitiveArray(), "int[] true check"); try { ArrayType type2 = new ArrayType(SimpleType.INTEGER, true); h.check(type2.isPrimitiveArray(), "Wrapped masked true check"); ArrayType type3 = new ArrayType(SimpleType.INTEGER, false); h.check(!type3.isPrimitiveArray(), "Wrapped not masked false check"); ArrayType type4 = new ArrayType(1, SimpleType.INTEGER); h.check(!type4.isPrimitiveArray(), "Normal wrapped false check"); ArrayType type5 = new ArrayType(1, SimpleType.STRING); h.check(!type5.isPrimitiveArray(), "String false check"); CompositeType ctype = new CompositeType("Test","Test",new String[]{"name"}, new String[]{"Name"}, new OpenType[] { SimpleType.STRING}); ArrayType type6 = new ArrayType(1, ctype); h.check(!type6.isPrimitiveArray(), "Composite type false check"); TabularType ttype = new TabularType("Test","Test",ctype,new String[]{"name"}); ArrayType type7 = new ArrayType(1, ttype); h.check(!type7.isPrimitiveArray(), "Tabular type false check"); ArrayType type8 = new ArrayType(1, type1); h.check(type8.isPrimitiveArray(), "Carry through true check"); ArrayType type9 = new ArrayType(1, type2); h.check(type9.isPrimitiveArray()); ArrayType type10 = new ArrayType(1, type3); h.check(!type10.isPrimitiveArray(), "Carry through false check"); } catch (OpenDataException e) { h.debug(e); } } } mauve-20140821/gnu/testlet/javax/management/openmbean/ArrayType/HashCode.java0000644000175000001440000000366710575100526025671 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2007 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.management.openmbean.ArrayType; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.management.openmbean.ArrayType; import javax.management.openmbean.OpenDataException; import javax.management.openmbean.SimpleType; /** * Tests {@link ArrayType#hashCode()}. * * @author Andrew John Hughes */ public class HashCode implements Testlet { public void test(TestHarness h) { ArrayType type = ArrayType.getPrimitiveArrayType(int[].class); h.check(type.hashCode(), type.hashCode(), "Reflection test"); h.check(type.hashCode(), type.hashCode(), "Consistency test"); ArrayType type2 = ArrayType.getPrimitiveArrayType(int[].class); h.check(type.hashCode(), type2.hashCode(), "Equality over creation test"); ArrayType type3 = null; try { type3 = new ArrayType(SimpleType.INTEGER, true); } catch (OpenDataException e) { h.debug(e); } h.check(type3.hashCode(), type2.hashCode(), "Equality over different creation test"); h.check(type.hashCode(), type3.hashCode(), "Transitivity test"); } } mauve-20140821/gnu/testlet/javax/management/openmbean/ArrayType/Equals.java0000644000175000001440000000371710575100526025441 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2007 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.management.openmbean.ArrayType; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import javax.management.openmbean.ArrayType; import javax.management.openmbean.OpenDataException; import javax.management.openmbean.SimpleType; /** * Tests {@link ArrayType#equals(Object)}. * * @author Andrew John Hughes */ public class Equals implements Testlet { public void test(TestHarness h) { ArrayType type = ArrayType.getPrimitiveArrayType(int[].class); h.check(type.equals(type), "Reflection test"); h.check(type.equals(type), "Consistency test"); ArrayType type2 = ArrayType.getPrimitiveArrayType(int[].class); h.check(type.equals(type2), "Equality over creation test"); h.check(type2.equals(type), "Symmetric test"); ArrayType type3 = null; try { type3 = new ArrayType(SimpleType.INTEGER, true); } catch (OpenDataException e) { h.debug(e); } h.check(type2.equals(type3), "Equality over different creation test"); h.check(type.equals(type3), "Transitivity test"); h.check(!type.equals(null), "Null test"); } } mauve-20140821/gnu/testlet/javax/management/openmbean/CompositeDataInvocationHandler/0000755000175000001440000000000012375316426027510 5ustar dokousersmauve-20140821/gnu/testlet/javax/management/openmbean/CompositeDataInvocationHandler/Person.java0000644000175000001440000000220410603302476031607 0ustar dokousers// Tags: not-a-test // Copyright (C) 2007 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.management.openmbean.CompositeDataInvocationHandler; import java.util.Date; /** * Test interface for proxying. * * @author Andrew John Hughes */ public interface Person { public String getName(); public Date getBirthday(); public boolean isAlive(); } mauve-20140821/gnu/testlet/javax/management/openmbean/CompositeDataInvocationHandler/Test.java0000644000175000001440000000717611015034433031266 0ustar dokousers// Tags: JDK1.5 // Uses: Person // Copyright (C) 2007 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.management.openmbean.CompositeDataInvocationHandler; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import java.lang.reflect.Proxy; import javax.management.openmbean.CompositeData; import javax.management.openmbean.CompositeDataInvocationHandler; import javax.management.openmbean.CompositeDataSupport; import javax.management.openmbean.CompositeType; import javax.management.openmbean.OpenDataException; import javax.management.openmbean.OpenType; import javax.management.openmbean.SimpleType; import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.Map; /** * Tests {@link javax.management.openmbean.CompositeDataInvocationHandler} * for the {@link Person} interface. * * @author Andrew John Hughes */ public class Test implements Testlet { public void test(TestHarness h) { try { CompositeType type = new CompositeType("Person", "A person", new String[] {"name","Birthday","alive"}, new String[] {"name","birthday","death status"}, new OpenType[] { SimpleType.STRING, SimpleType.DATE, SimpleType.BOOLEAN }); Map map = new HashMap(); Calendar cal = Calendar.getInstance(); cal.set(1982, 11, 31); map.put("name","Andrew"); map.put("Birthday",cal.getTime()); map.put("alive",true); CompositeData data = new CompositeDataSupport(type, map); Person p = (Person) Proxy.newProxyInstance(Person.class.getClassLoader(), new Class[] { Person.class }, new CompositeDataInvocationHandler(data)); h.checkPoint("Accessor tests"); h.check(p.getName(), "Andrew"); h.check(p.getBirthday(), cal.getTime()); h.check(p.isAlive(), true); h.check(p.equals(p), "Reflection test"); h.check(p.equals(p), "Consistency test"); Person p2 = (Person) Proxy.newProxyInstance(Person.class.getClassLoader(), new Class[] { Person.class }, new CompositeDataInvocationHandler(data)); h.check(p.equals(p2), "Equality over creation test"); h.check(p2.equals(p), "Symmetric test"); Person p3 = (Person) Proxy.newProxyInstance(Person.class.getClassLoader(), new Class[] { Person.class }, new CompositeDataInvocationHandler(data)); h.check(p2.equals(p2), "Second equality over creation test"); h.check(p.equals(p3), "Transitivity test"); h.check(!p.equals(null), "Null test"); h.check(p.hashCode(), p.hashCode(), "Hashcode reflection test"); h.check(p.hashCode(), p.hashCode(), "Hashcode consistency test"); h.check(p.hashCode(), p2.hashCode(), "Hashcode equality over creation test"); h.check(p2.hashCode(), p3.hashCode(), "Hashcode second equality over creation test"); h.check(p.hashCode(), p3.hashCode(), "Hashcode transitivity test"); } catch (OpenDataException e) { h.debug(e); } } } mauve-20140821/gnu/testlet/javax/security/0000755000175000001440000000000012375316426017213 5ustar dokousersmauve-20140821/gnu/testlet/javax/security/auth/0000755000175000001440000000000012375316426020154 5ustar dokousersmauve-20140821/gnu/testlet/javax/security/auth/login/0000755000175000001440000000000012375316426021264 5ustar dokousersmauve-20140821/gnu/testlet/javax/security/auth/login/TestOfPR25202.java0000644000175000001440000000557110377331551024174 0ustar dokousers/* TestOfGnuConfiguration.java -- Regression test for PR25202 Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 // Uses: DBLoginModule package gnu.testlet.javax.security.auth.login; import java.io.File; import java.io.FileWriter; import javax.security.auth.callback.Callback; import javax.security.auth.callback.CallbackHandler; import javax.security.auth.login.LoginContext; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Simple tests to check compliance with published documentation. */ public class TestOfPR25202 implements Testlet { private static final String CONFIG = "" + "DBLogin {\n" + " gnu.testlet.javax.security.auth.login.DBLoginModule required;\n" + "};"; private TestHarness harness; public void test(TestHarness harness) { this.harness = harness; setUp(); pr25202(); teardown(); } private void pr25202() { harness.checkPoint("pr25202"); try { LoginContext lc = new LoginContext("DBLogin", new DefaultLoginHandler("", "", "")); lc.login(); harness.check(true, "MUST be able to login"); lc.logout(); harness.check(true, "MUST be able to logout"); } catch (Exception x) { harness.debug(x); harness.fail("pr25202"); } } private void setUp() { harness.checkPoint("setUp"); try { File cf = File.createTempFile("auth", ".login"); cf.deleteOnExit(); FileWriter fw = new FileWriter(cf); fw.write(CONFIG); fw.close(); String cfPath = cf.getCanonicalPath(); System.setProperty("java.security.auth.login.config", cfPath); } catch (Exception x) { harness.debug(x); harness.fail("setUp"); } } private void teardown() { } // Inner class(es) // -------------------------------------------------------------------------- public class DefaultLoginHandler implements CallbackHandler { public DefaultLoginHandler(String username, String password, String domain) { super(); } public void handle(Callback[] callbacks) { } } } mauve-20140821/gnu/testlet/javax/security/auth/login/TestOfConfigurationParser.java0000644000175000001440000001002510377331551027232 0ustar dokousers/* TestOfConfigurationParser.java -- GnuConfiguration parser conformance tests Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 package gnu.testlet.javax.security.auth.login; import java.io.Reader; import java.io.StringReader; import java.util.Map; import gnu.javax.security.auth.login.ConfigFileParser; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Simple tests to check conformane with published documentation. */ public class TestOfConfigurationParser implements Testlet { /** Example from Configuration.java. */ private static final String TC1 = "\n" + " Login {\n" + " com.sun.security.auth.module.UnixLoginModule required;\n" + " com.sun.security.auth.module.Krb5LoginModule optional\n" + " useTicketCache=\"true\"\n" + " ticketCache=\"${user.home}${/}tickets\";\n" + " } ;\n"; /** Example with UTf-8 characters. */ private static final String TC2 = "\n" + " Pilsçtâs {\n" + " gnu.i18n.security.auth.module.SaslLoginModule required;\n" + " gnu.i18n.security.auth.module.LdapLoginModule optional\n" + " use=\"Wörterbuch\"\n" + " dir=\"${user.home}${/}Hervé\";\n" + " } ;\n"; /** Example from Configuration.java with compact syntax. */ private static final String TC3 = "Login{" + "com.sun.security.auth.module.UnixLoginModule required;" + "com.sun.security.auth.module.Krb5LoginModule optional " + "useTicketCache=\"true\" " + "ticketCache=\"${user.home}${/}tickets\";" + "};" + " Pilsçtâs{" + "gnu.i18n.security.auth.module.SaslLoginModule required;" + "gnu.i18n.security.auth.module.LdapLoginModule optional " + "use=\"Wörterbuch\" " + "dir=\"${user.home}${/}Hervé\";" + "};"; /** Example with different types of comments. */ private static final String TC4 = "Pilsçtâs /* the application name */{\n" + "// a java-style comment \n" + "gnu.pkg.module.LM$Sasl requisite;\n" + "# bash-style comment\n" + "gnu.pkg.module.LM$Ldap /* another in-line comment */ sufficient\n" + "use=\"Wörterbuch\"\n" + "dir=\"${user.home}${/}Hervé\";\n" + " } ;\n"; /** Sample login config file from JAAS Tutorial jdk 1.4. */ private static final String TC5 = "" + "/** Login Configuration for the JAAS Sample Application **/" + "Sample {" + " sample.module.SampleLoginModule required debug=true;" + "};"; private TestHarness harness; private ConfigFileParser cp; public void test(TestHarness harness) { this.harness = harness; setUp(); parseConfig(TC1, "MUST parse Configuration javadoc example"); parseConfig(TC2, "MUST parse entities in UTF-8 encoding"); parseConfig(TC3, "MUST parse compact syntax"); parseConfig(TC4, "MUST ignore comments"); parseConfig(TC5, "MUST parse JAAS tutorial example"); teardown(); } private void setUp() { cp = new ConfigFileParser(); } private void parseConfig(String s, String m) { harness.checkPoint("parseConfig"); try { Reader sr = new StringReader(s); cp.parse(sr); Map map = cp.getLoginModulesMap(); harness.check(map.size() > 0, m); } catch (Exception x) { harness.debug(x); harness.fail(m); } } private void teardown() { cp = null; } } mauve-20140821/gnu/testlet/javax/security/auth/login/DBLoginModule.java0000644000175000001440000000314610362523415024547 0ustar dokousers/* DBLoginModule.java -- Fake LoginModule for test purposes Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.javax.security.auth.login; import java.util.Map; import javax.security.auth.Subject; import javax.security.auth.callback.CallbackHandler; import javax.security.auth.login.LoginException; import javax.security.auth.spi.LoginModule; /** * Fake {@link LoginModule} implementation for test purposes. */ public class DBLoginModule implements LoginModule { public boolean abort() throws LoginException { return true; } public boolean commit() throws LoginException { return true; } public void initialize(Subject subject, CallbackHandler handler, Map sharedState, Map options) { } public boolean login() throws LoginException { return true; } public boolean logout() throws LoginException { return true; } } mauve-20140821/gnu/testlet/javax/security/auth/login/TestOfGnuConfiguration.java0000644000175000001440000001420310377331551026531 0ustar dokousers/* TestOfGnuConfiguration.java -- Conformance tests for GnuConfiguration Copyright (C) 2006 Free Software Foundation, Inc. This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: GNU-CRYPTO JDK1.4 // Uses: DBLoginModule package gnu.testlet.javax.security.auth.login; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.nio.channels.FileChannel; import java.security.Security; import javax.security.auth.callback.Callback; import javax.security.auth.callback.CallbackHandler; import javax.security.auth.login.Configuration; import javax.security.auth.login.LoginContext; import javax.security.auth.login.LoginException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Simple tests for conformance of code to published documentation. */ public class TestOfGnuConfiguration implements Testlet { private static final String CONFIG = "" + "DBLogin {\n" + " gnu.testlet.javax.security.auth.login.DBLoginModule required;\n" + "};"; private TestHarness harness; private String cfPath; public void test(TestHarness harness) { this.harness = harness; setUp(); parseFromSecurityProperty(); parseFromSystemProperty(); parseFromUserHome(); nullConfiguration(); teardown(); } private void setUp() { harness.checkPoint("setUp"); try { File cf = File.createTempFile("auth", ".login"); cf.deleteOnExit(); FileWriter fw = new FileWriter(cf); fw.write(CONFIG); fw.close(); cfPath = cf.getCanonicalPath(); } catch (Exception x) { harness.debug(x); harness.fail("setUp"); } } private void parseFromSecurityProperty() { harness.checkPoint("parseFromSecurityProperty"); try { Security.setProperty("java.security.auth.login.config.url.1", cfPath); // Configuration.getConfiguration().refresh(); LoginContext lc = new LoginContext("DBLogin", new DefaultLoginHandler("", "", "")); lc.login(); harness.check(true, "MUST be able to login"); lc.logout(); harness.check(true, "MUST be able to logout"); } catch (Exception x) { harness.debug(x); harness.fail("parseFromSecurityProperty"); } } private void parseFromSystemProperty() { harness.checkPoint("parseFromSystemProperty"); try { Security.setProperty("java.security.auth.login.config.url.1", ""); System.setProperty("java.security.auth.login.config", cfPath); Configuration.getConfiguration().refresh(); LoginContext lc = new LoginContext("DBLogin", new DefaultLoginHandler("", "", "")); lc.login(); harness.check(true, "MUST be able to login"); lc.logout(); harness.check(true, "MUST be able to logout"); } catch (Exception x) { harness.debug(x); harness.fail("parseFromSystemProperty"); } } private void parseFromUserHome() { harness.checkPoint("parseFromUserHome"); File myConfig = null; try { Security.setProperty("java.security.auth.login.config.url.1", ""); System.setProperty("java.security.auth.login.config", ""); myConfig = new File(System.getProperty("user.home"), ".java.login.config"); myConfig.deleteOnExit(); copy(new File(cfPath), myConfig); Configuration.getConfiguration().refresh(); LoginContext lc = new LoginContext("DBLogin", new DefaultLoginHandler("", "", "")); lc.login(); harness.check(true, "MUST be able to login"); lc.logout(); harness.check(true, "MUST be able to logout"); } catch (Exception x) { harness.debug(x); harness.fail("parseFromUserHome"); } finally { if (myConfig != null) myConfig.delete(); } } private void nullConfiguration() { harness.checkPoint("nullConfiguration"); try { Security.setProperty("java.security.auth.login.config.url.1", ""); System.setProperty("java.security.auth.login.config", ""); Configuration.getConfiguration().refresh(); try { new LoginContext("DBLogin", new DefaultLoginHandler("", "", "")); harness.fail("MUST NOT be able to create context"); } catch (LoginException x) { harness.check(true, "MUST NOT be able to create context"); } } catch (Exception x) { harness.debug(x); harness.fail("nullConfiguration"); } } private void teardown() { } private void copy(File src, File dst) throws IOException { if (!dst.exists()) dst.createNewFile(); FileChannel source = null; FileChannel destination = null; try { source = new FileInputStream(src).getChannel(); destination = new FileOutputStream(dst).getChannel(); destination.transferFrom(source, 0, source.size()); } finally { if (source != null) source.close(); if (destination != null) destination.close(); } } // Inner class(es) // -------------------------------------------------------------------------- class DefaultLoginHandler implements CallbackHandler { public DefaultLoginHandler(String u, String p, String d) { super(); } public void handle(Callback[] callbacks) { } } } mauve-20140821/gnu/testlet/javax/rmi/0000755000175000001440000000000012375316426016133 5ustar dokousersmauve-20140821/gnu/testlet/javax/rmi/CORBA/0000755000175000001440000000000012375316426016761 5ustar dokousersmauve-20140821/gnu/testlet/javax/rmi/CORBA/Tie/0000755000175000001440000000000012375316426017502 5ustar dokousersmauve-20140821/gnu/testlet/javax/rmi/CORBA/Tie/NodeObject.java0000644000175000001440000000657710321167320022362 0ustar dokousers// Not a test, required by RMI_IIOP.java. // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.rmi.CORBA.Tie; import java.io.Serializable; /** * This file is part of the CORBA RMI over IIOP the test executable * class being gnu.testlet.javax.rmi.CORBA.Tie.RMI_IIOP. It is a * node of the graph that must be flattened and passed via RMI-IIOP. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ public class NodeObject implements Serializable { /** * The label facilitates orientation. */ public String label; /** * The pointer for forming the network. */ public NodeObject a; /** * Another pointer to form a trees. */ public NodeObject b; /** * Another RMI_test. */ RMI_test z_anotherTest; /** * An array of "another RMI tests". */ RMI_test[] anotherTestArray; RMI_test[][][] ku; /** * Some transient field. */ transient Object transientField; /** * Some static field. */ static Object staticField; /** * Use serialVersionUID for interoperability. */ private static final long serialVersionUID = 0x7; public NodeObject(String a_label) { label = a_label; } public NodeObject() { this(""); } public String toString(int chain) { if (chain > 7) return "..."; StringBuffer sb = new StringBuffer(); sb.append(label); if (b != null) sb.append("(" + b + ")"); sb.append(":"); if (a != null) sb.append(a.toString(chain + 1)); else sb.append("null"); return sb.toString(); } public String toString() { return toString(0); } public static NodeObject create1() { NodeObject a = new NodeObject("a"); NodeObject b = new NodeObject("b"); NodeObject c = new NodeObject("c"); NodeObject d = new NodeObject("d"); NodeObject e = new NodeObject("e"); NodeObject f = new NodeObject("f"); // Lock f on self. f.a = f; // Form a digraph. d.a = e; e.a = d; e.b = f; // Form a triangle. a.a = b; b.a = c; c.a = a; // Add D to a and c. a.b = d; c.b = d; return a; } /** * Create a closed ring. */ public static NodeObject create2() { NodeObject a = new NodeObject("a"); NodeObject b = new NodeObject("b"); NodeObject c = new NodeObject("c"); NodeObject d = new NodeObject("d"); NodeObject e = new NodeObject("e"); NodeObject f = new NodeObject("f"); a.a = b; b.a = c; c.a = d; d.a = e; e.a = f; f.a = a; return a; } public static void main(String[] args) { System.out.println(create1()); System.out.println(create2()); } } mauve-20140821/gnu/testlet/javax/rmi/CORBA/Tie/RMI_testImpl.java0000644000175000001440000001760710321167320022652 0ustar dokousers// Not a test, required by RMI_IIOP.java. // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.rmi.CORBA.Tie; import gnu.testlet.org.omg.CORBA_2_3.ORB.Valtype.Info; import gnu.testlet.org.omg.CORBA_2_3.ORB.Valtype.cmInfo; import java.io.Serializable; import java.rmi.ConnectException; import java.rmi.RemoteException; import java.util.Collection; import java.util.Iterator; import javax.rmi.PortableRemoteObject; import javax.xml.parsers.ParserConfigurationException; import org.omg.CORBA.Object; import org.omg.CORBA.portable.ObjectImpl; /** * This file is part of the CORBA RMI over IIOP the test executable * class being gnu.testlet.javax.rmi.CORBA.Tie.RMI_IIOP. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ public class RMI_testImpl extends PortableRemoteObject implements RMI_test, Serializable { String ego = ""; RMI_test other = null; public String getEgo() throws RemoteException { return ego; } public String passCorbaCMValueType(cmInfo info) { return "" + info; } public String passCorbaValueType(Info info) { return "" + info; } public String passCorbaValueTypeArray(Info[] infos) { if (infos == null) return "null"; StringBuffer b = new StringBuffer(); for (int i = 0; i < infos.length; i++) { b.append(infos[i]); b.append(":"); } return b.toString(); } public String passStructure(myStructure s) throws RemoteException { return "" + s; } public String passStructureArray(myStructure[] infos) { if (infos == null) return "null"; StringBuffer b = new StringBuffer(); for (int i = 0; i < infos.length; i++) { b.append(infos[i]); b.append(":"); } return b.toString(); } public RMI_testImpl() throws RemoteException { super(); } public String joinStrings(String a, String b) throws RemoteException { if (a != null && a.equals("throw_remote")) { RemoteException t; try { Throwable cause = new ParserConfigurationException("Uje!"); cause.initCause(new OutOfMemoryError("OOO!")); cause.fillInStackTrace(); t = new RemoteException("Thrown remote AUDRIUS" + b, cause); } catch (Exception ex) { return "Unable to instantiate " + b + ": " + ex; } throw t; } else if (a != null && a.equals("throw_runtime")) { RuntimeException t; try { t = new ArrayIndexOutOfBoundsException( "Thrown ArrayIndexOutOfBoundsException AUDRIUS"); } catch (Exception ex) { return "Unable to instantiate " + b + ": " + ex; } throw t; } else if (a != null && a.equals("throw_error")) { Error t; try { t = new InternalError("Thrown InternalError Audrius"); } catch (Exception ex) { return "Unable to instantiate " + b + ": " + ex; } throw t; } else if (a != null && a.equals("throw_cex")) { throw new ConnectException("Connect exception message"); } else return "'" + a + "' and '" + b + "'"; } public long multiply(byte a, long b) throws RemoteException { return a * b; } public int passArray(int[] array) throws RemoteException { int s = 0; for (int i = 0; i < array.length; i++) { s += array[i]; } return s; } public String passPrimitives(byte b, double d, int i, String s, float f, char c, short sh) throws RemoteException { return "byte " + b + ", double " + d + ", int " + i + ", string " + s + ", float " + f + ", char " + c + "(" + Long.toHexString(c) + ")" + ", short " + sh; } public String passStringArray(String[] array) throws RemoteException { StringBuffer b = new StringBuffer(); for (int i = 0; i < array.length; i++) { b.append(array[i]); b.append("."); } return b.toString(); } public String sayHello(RMI_test h) throws RemoteException { if (h == null) return "null"; else return h.getEgo(); } public String passCorbaObject(Object object) { if (object == null) return "null passed"; return ((ObjectImpl) object)._ids()[0]; } public NodeObject exchangeNodeObject(NodeObject nx) throws RemoteException { try { if (nx.z_anotherTest != null) { nx.z_anotherTest = this; return nx; } else if (nx.anotherTestArray != null) { StringBuffer rv = new StringBuffer(); for (int i = 0; i < nx.anotherTestArray.length; i++) { if (nx.anotherTestArray[i] != null) rv.append(nx.anotherTestArray[i].getEgo()); else rv.append("null"); rv.append("."); } nx.label = rv.toString(); nx.z_anotherTest = this; return nx; } else { if (!nx.toString().equals(NodeObject.create1().toString())) { String msg = "Incorrect graph received " + nx + " expected " + NodeObject.create1(); System.out.println(); System.out.println(msg); throw new RemoteException(msg); } else return NodeObject.create2(); } } catch (Exception e) { throw new RemoteException("Exception has been thrown: " + e); } } /** * Same, the idea is just to test arrays. */ public String passArrayOfRemotes(RMI_test[] tests) throws RemoteException { String[] expected = new String[] { "Local client object", "Client implementation instance", null, "Local client object", "Server side object" }; if (tests.length != expected.length) return "Length mismatch, must be " + expected.length + " but " + tests.length; for (int i = 0; i < tests.length; i++) { if (tests[i] == null) { if (expected[i] != null) return i + ":" + tests[i] + " versus " + expected[i]; } else { if (!expected[i].equals(tests[i].getEgo())) return i + ":" + tests[i].getEgo() + " versus " + expected[i]; } } return "ok"; } /** * Create and return new Remote. */ public RMI_test passReturnRemote(RMI_test test) throws RemoteException { if (test == null) return null; else { RMI_testImpl impl = new RMI_testImpl(); impl.ego = "ab (" + ego + ":" + (test == null ? "null" : test.getEgo()) + ")"; return impl; } } public String passCollection(Collection cx) throws RemoteException { StringBuffer b = new StringBuffer(); b.append(cx.getClass().getName() + ":"); Iterator iter = cx.iterator(); while (iter.hasNext()) { b.append(iter.next()); b.append("."); } return b.toString(); } }mauve-20140821/gnu/testlet/javax/rmi/CORBA/Tie/_RMI_test_Stub.java0000644000175000001440000007760110321167320023164 0ustar dokousers// Not a test, required by RMI_IIOP.java. // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.rmi.CORBA.Tie; import gnu.testlet.org.omg.CORBA_2_3.ORB.Valtype.Info; import gnu.testlet.org.omg.CORBA_2_3.ORB.Valtype.cmInfo; import java.io.Serializable; import java.rmi.RemoteException; import java.rmi.UnexpectedException; import java.util.Collection; import javax.rmi.PortableRemoteObject; import javax.rmi.CORBA.Stub; import javax.rmi.CORBA.Util; import org.omg.CORBA.SystemException; import org.omg.CORBA.portable.ApplicationException; import org.omg.CORBA.portable.OutputStream; import org.omg.CORBA.portable.RemarshalException; import org.omg.CORBA.portable.ServantObject; /** * This file is part of the CORBA RMI over IIOP the test executable * class being gnu.testlet.javax.rmi.CORBA.Tie.RMI_IIOP. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ public class _RMI_test_Stub extends Stub implements RMI_test { private static final String[] _type_ids = _RMI_testImpl_Tie._type_ids; public String[] _ids() { return _type_ids; } public String sayHello(RMI_test arg0) throws RemoteException { if (!Util.isLocal(this)) { try { org.omg.CORBA_2_3.portable.InputStream in = null; try { OutputStream out = _request("sayHello", true); Util.writeRemoteObject(out, arg0); in = (org.omg.CORBA_2_3.portable.InputStream) _invoke(out); return (String) in.read_value(String.class); } catch (ApplicationException ex) { in = (org.omg.CORBA_2_3.portable.InputStream) ex.getInputStream(); String id = in.read_string(); throw new UnexpectedException(id); } catch (RemarshalException ex) { return sayHello(arg0); } finally { _releaseReply(in); } } catch (SystemException ex) { throw Util.mapSystemException(ex); } } else { ServantObject so = _servant_preinvoke("sayHello", RMI_test.class); if (so == null) { return sayHello(arg0); } try { RMI_test arg0Copy = (RMI_test) Util.copyObject(arg0, _orb()); return ((RMI_test) so.servant).sayHello(arg0Copy); } catch (Throwable ex) { Throwable exCopy = (Throwable) Util.copyObject(ex, _orb()); throw Util.wrapException(exCopy); } finally { _servant_postinvoke(so); } } } public String joinStrings(String arg0, String arg1) throws RemoteException { if (!Util.isLocal(this)) { try { org.omg.CORBA_2_3.portable.InputStream in = null; try { org.omg.CORBA_2_3.portable.OutputStream out = (org.omg.CORBA_2_3.portable.OutputStream) _request( "joinStrings", true); out.write_value(arg0, String.class); out.write_value(arg1, String.class); in = (org.omg.CORBA_2_3.portable.InputStream) _invoke(out); return (String) in.read_value(String.class); } catch (ApplicationException ex) { in = (org.omg.CORBA_2_3.portable.InputStream) ex.getInputStream(); String id = in.read_string(); throw new UnexpectedException(id); } catch (RemarshalException ex) { return joinStrings(arg0, arg1); } finally { _releaseReply(in); } } catch (SystemException ex) { throw Util.mapSystemException(ex); } } else { ServantObject so = _servant_preinvoke("joinStrings", RMI_test.class); if (so == null) { return joinStrings(arg0, arg1); } try { return ((RMI_test) so.servant).joinStrings(arg0, arg1); } catch (Throwable ex) { Throwable exCopy = (Throwable) Util.copyObject(ex, _orb()); throw Util.wrapException(exCopy); } finally { _servant_postinvoke(so); } } } public long multiply(byte arg0, long arg1) throws RemoteException { if (!Util.isLocal(this)) { try { org.omg.CORBA.portable.InputStream in = null; try { OutputStream out = _request("multiply", true); out.write_octet(arg0); out.write_longlong(arg1); in = _invoke(out); return in.read_longlong(); } catch (ApplicationException ex) { in = ex.getInputStream(); String id = in.read_string(); throw new UnexpectedException(id); } catch (RemarshalException ex) { return multiply(arg0, arg1); } finally { _releaseReply(in); } } catch (SystemException ex) { throw Util.mapSystemException(ex); } } else { ServantObject so = _servant_preinvoke("multiply", RMI_test.class); if (so == null) { return multiply(arg0, arg1); } try { return ((RMI_test) so.servant).multiply(arg0, arg1); } catch (Throwable ex) { Throwable exCopy = (Throwable) Util.copyObject(ex, _orb()); throw Util.wrapException(exCopy); } finally { _servant_postinvoke(so); } } } public int passArray(int[] arg0) throws RemoteException { if (!Util.isLocal(this)) { try { org.omg.CORBA_2_3.portable.InputStream in = null; try { org.omg.CORBA_2_3.portable.OutputStream out = (org.omg.CORBA_2_3.portable.OutputStream) _request( "passArray", true); out.write_value(cast_array(arg0), int[].class); in = (org.omg.CORBA_2_3.portable.InputStream) _invoke(out); return in.read_long(); } catch (ApplicationException ex) { in = (org.omg.CORBA_2_3.portable.InputStream) ex.getInputStream(); String id = in.read_string(); throw new UnexpectedException(id); } catch (RemarshalException ex) { return passArray(arg0); } finally { _releaseReply(in); } } catch (SystemException ex) { throw Util.mapSystemException(ex); } } else { ServantObject so = _servant_preinvoke("passArray", RMI_test.class); if (so == null) { return passArray(arg0); } try { int[] arg0Copy = (int[]) Util.copyObject(arg0, _orb()); return ((RMI_test) so.servant).passArray(arg0Copy); } catch (Throwable ex) { Throwable exCopy = (Throwable) Util.copyObject(ex, _orb()); throw Util.wrapException(exCopy); } finally { _servant_postinvoke(so); } } } public String passStringArray(String[] arg0) throws RemoteException { if (!Util.isLocal(this)) { try { org.omg.CORBA_2_3.portable.InputStream in = null; try { org.omg.CORBA_2_3.portable.OutputStream out = (org.omg.CORBA_2_3.portable.OutputStream) _request( "passStringArray", true); out.write_value(cast_array(arg0), String[].class); in = (org.omg.CORBA_2_3.portable.InputStream) _invoke(out); return (String) in.read_value(String.class); } catch (ApplicationException ex) { in = (org.omg.CORBA_2_3.portable.InputStream) ex.getInputStream(); String id = in.read_string(); throw new UnexpectedException(id); } catch (RemarshalException ex) { return passStringArray(arg0); } finally { _releaseReply(in); } } catch (SystemException ex) { throw Util.mapSystemException(ex); } } else { ServantObject so = _servant_preinvoke("passStringArray", RMI_test.class); if (so == null) { return passStringArray(arg0); } try { String[] arg0Copy = (String[]) Util.copyObject(arg0, _orb()); return ((RMI_test) so.servant).passStringArray(arg0Copy); } catch (Throwable ex) { Throwable exCopy = (Throwable) Util.copyObject(ex, _orb()); throw Util.wrapException(exCopy); } finally { _servant_postinvoke(so); } } } public String passPrimitives(byte arg0, double arg1, int arg2, String arg3, float arg4, char arg5, short arg6) throws RemoteException { if (!Util.isLocal(this)) { try { org.omg.CORBA_2_3.portable.InputStream in = null; try { org.omg.CORBA_2_3.portable.OutputStream out = (org.omg.CORBA_2_3.portable.OutputStream) _request( "passPrimitives", true); out.write_octet(arg0); out.write_double(arg1); out.write_long(arg2); out.write_value(arg3, String.class); out.write_float(arg4); out.write_wchar(arg5); out.write_short(arg6); in = (org.omg.CORBA_2_3.portable.InputStream) _invoke(out); return (String) in.read_value(String.class); } catch (ApplicationException ex) { in = (org.omg.CORBA_2_3.portable.InputStream) ex.getInputStream(); String id = in.read_string(); throw new UnexpectedException(id); } catch (RemarshalException ex) { return passPrimitives(arg0, arg1, arg2, arg3, arg4, arg5, arg6); } finally { _releaseReply(in); } } catch (SystemException ex) { throw Util.mapSystemException(ex); } } else { ServantObject so = _servant_preinvoke("passPrimitives", RMI_test.class); if (so == null) { return passPrimitives(arg0, arg1, arg2, arg3, arg4, arg5, arg6); } try { return ((RMI_test) so.servant).passPrimitives(arg0, arg1, arg2, arg3, arg4, arg5, arg6); } catch (Throwable ex) { Throwable exCopy = (Throwable) Util.copyObject(ex, _orb()); throw Util.wrapException(exCopy); } finally { _servant_postinvoke(so); } } } public String passStructure(myStructure arg0) throws RemoteException { if (!Util.isLocal(this)) { try { org.omg.CORBA_2_3.portable.InputStream in = null; try { org.omg.CORBA_2_3.portable.OutputStream out = (org.omg.CORBA_2_3.portable.OutputStream) _request( "passStructure", true); out.write_value(arg0, myStructure.class); in = (org.omg.CORBA_2_3.portable.InputStream) _invoke(out); return (String) in.read_value(String.class); } catch (ApplicationException ex) { in = (org.omg.CORBA_2_3.portable.InputStream) ex.getInputStream(); String id = in.read_string(); throw new UnexpectedException(id); } catch (RemarshalException ex) { return passStructure(arg0); } finally { _releaseReply(in); } } catch (SystemException ex) { throw Util.mapSystemException(ex); } } else { ServantObject so = _servant_preinvoke("passStructure", RMI_test.class); if (so == null) { return passStructure(arg0); } try { myStructure arg0Copy = (myStructure) Util.copyObject(arg0, _orb()); return ((RMI_test) so.servant).passStructure(arg0Copy); } catch (Throwable ex) { Throwable exCopy = (Throwable) Util.copyObject(ex, _orb()); throw Util.wrapException(exCopy); } finally { _servant_postinvoke(so); } } } public String passStructureArray(myStructure[] arg0) throws RemoteException { if (!Util.isLocal(this)) { try { org.omg.CORBA_2_3.portable.InputStream in = null; try { org.omg.CORBA_2_3.portable.OutputStream out = (org.omg.CORBA_2_3.portable.OutputStream) _request( "passStructureArray", true); out.write_value(cast_array(arg0), myStructure[].class); in = (org.omg.CORBA_2_3.portable.InputStream) _invoke(out); return (String) in.read_value(String.class); } catch (ApplicationException ex) { in = (org.omg.CORBA_2_3.portable.InputStream) ex.getInputStream(); String id = in.read_string(); throw new UnexpectedException(id); } catch (RemarshalException ex) { return passStructureArray(arg0); } finally { _releaseReply(in); } } catch (SystemException ex) { throw Util.mapSystemException(ex); } } else { ServantObject so = _servant_preinvoke("passStructureArray", RMI_test.class); if (so == null) { return passStructureArray(arg0); } try { myStructure[] arg0Copy = (myStructure[]) Util.copyObject(arg0, _orb()); return ((RMI_test) so.servant).passStructureArray(arg0Copy); } catch (Throwable ex) { Throwable exCopy = (Throwable) Util.copyObject(ex, _orb()); throw Util.wrapException(exCopy); } finally { _servant_postinvoke(so); } } } public String passCorbaCMValueType(cmInfo arg0) throws RemoteException { if (!Util.isLocal(this)) { try { org.omg.CORBA_2_3.portable.InputStream in = null; try { org.omg.CORBA_2_3.portable.OutputStream out = (org.omg.CORBA_2_3.portable.OutputStream) _request( "passCorbaCMValueType", true); out.write_value(arg0, cmInfo.class); in = (org.omg.CORBA_2_3.portable.InputStream) _invoke(out); return (String) in.read_value(String.class); } catch (ApplicationException ex) { in = (org.omg.CORBA_2_3.portable.InputStream) ex.getInputStream(); String id = in.read_string(); throw new UnexpectedException(id); } catch (RemarshalException ex) { return passCorbaCMValueType(arg0); } finally { _releaseReply(in); } } catch (SystemException ex) { throw Util.mapSystemException(ex); } } else { ServantObject so = _servant_preinvoke("passCorbaCMValueType", RMI_test.class); if (so == null) { return passCorbaCMValueType(arg0); } try { cmInfo arg0Copy = (cmInfo) Util.copyObject(arg0, _orb()); return ((RMI_test) so.servant).passCorbaCMValueType(arg0Copy); } catch (Throwable ex) { Throwable exCopy = (Throwable) Util.copyObject(ex, _orb()); throw Util.wrapException(exCopy); } finally { _servant_postinvoke(so); } } } public String passCorbaValueType(Info arg0) throws RemoteException { if (!Util.isLocal(this)) { try { org.omg.CORBA_2_3.portable.InputStream in = null; try { org.omg.CORBA_2_3.portable.OutputStream out = (org.omg.CORBA_2_3.portable.OutputStream) _request( "passCorbaValueType", true); out.write_value(arg0, Info.class); in = (org.omg.CORBA_2_3.portable.InputStream) _invoke(out); return (String) in.read_value(String.class); } catch (ApplicationException ex) { in = (org.omg.CORBA_2_3.portable.InputStream) ex.getInputStream(); String id = in.read_string(); throw new UnexpectedException(id); } catch (RemarshalException ex) { return passCorbaValueType(arg0); } finally { _releaseReply(in); } } catch (SystemException ex) { throw Util.mapSystemException(ex); } } else { ServantObject so = _servant_preinvoke("passCorbaValueType", RMI_test.class); if (so == null) { return passCorbaValueType(arg0); } try { Info arg0Copy = (Info) Util.copyObject(arg0, _orb()); return ((RMI_test) so.servant).passCorbaValueType(arg0Copy); } catch (Throwable ex) { Throwable exCopy = (Throwable) Util.copyObject(ex, _orb()); throw Util.wrapException(exCopy); } finally { _servant_postinvoke(so); } } } public String passCorbaValueTypeArray(Info[] arg0) throws RemoteException { if (!Util.isLocal(this)) { try { org.omg.CORBA_2_3.portable.InputStream in = null; try { org.omg.CORBA_2_3.portable.OutputStream out = (org.omg.CORBA_2_3.portable.OutputStream) _request( "passCorbaValueTypeArray", true); out.write_value(cast_array(arg0), Info[].class); in = (org.omg.CORBA_2_3.portable.InputStream) _invoke(out); return (String) in.read_value(String.class); } catch (ApplicationException ex) { in = (org.omg.CORBA_2_3.portable.InputStream) ex.getInputStream(); String id = in.read_string(); throw new UnexpectedException(id); } catch (RemarshalException ex) { return passCorbaValueTypeArray(arg0); } finally { _releaseReply(in); } } catch (SystemException ex) { throw Util.mapSystemException(ex); } } else { ServantObject so = _servant_preinvoke("passCorbaValueTypeArray", RMI_test.class); if (so == null) { return passCorbaValueTypeArray(arg0); } try { Info[] arg0Copy = (Info[]) Util.copyObject(arg0, _orb()); return ((RMI_test) so.servant).passCorbaValueTypeArray(arg0Copy); } catch (Throwable ex) { Throwable exCopy = (Throwable) Util.copyObject(ex, _orb()); throw Util.wrapException(exCopy); } finally { _servant_postinvoke(so); } } } public String passCorbaObject(org.omg.CORBA.Object arg0) throws RemoteException { if (!Util.isLocal(this)) { try { org.omg.CORBA_2_3.portable.InputStream in = null; try { OutputStream out = _request("passCorbaObject", true); out.write_Object(arg0); in = (org.omg.CORBA_2_3.portable.InputStream) _invoke(out); return (String) in.read_value(String.class); } catch (ApplicationException ex) { in = (org.omg.CORBA_2_3.portable.InputStream) ex.getInputStream(); String id = in.read_string(); throw new UnexpectedException(id); } catch (RemarshalException ex) { return passCorbaObject(arg0); } finally { _releaseReply(in); } } catch (SystemException ex) { throw Util.mapSystemException(ex); } } else { ServantObject so = _servant_preinvoke("passCorbaObject", RMI_test.class); if (so == null) { return passCorbaObject(arg0); } try { return ((RMI_test) so.servant).passCorbaObject(arg0); } catch (Throwable ex) { Throwable exCopy = (Throwable) Util.copyObject(ex, _orb()); throw Util.wrapException(exCopy); } finally { _servant_postinvoke(so); } } } public NodeObject exchangeNodeObject(NodeObject arg0) throws RemoteException { if (!Util.isLocal(this)) { try { org.omg.CORBA_2_3.portable.InputStream in = null; try { org.omg.CORBA_2_3.portable.OutputStream out = (org.omg.CORBA_2_3.portable.OutputStream) _request( "exchangeNodeObject", true); out.write_value(arg0, NodeObject.class); in = (org.omg.CORBA_2_3.portable.InputStream) _invoke(out); return (NodeObject) in.read_value(NodeObject.class); } catch (ApplicationException ex) { in = (org.omg.CORBA_2_3.portable.InputStream) ex.getInputStream(); String id = in.read_string(); throw new UnexpectedException(id); } catch (RemarshalException ex) { return exchangeNodeObject(arg0); } finally { _releaseReply(in); } } catch (SystemException ex) { throw Util.mapSystemException(ex); } } else { ServantObject so = _servant_preinvoke("exchangeNodeObject", RMI_test.class); if (so == null) { return exchangeNodeObject(arg0); } try { NodeObject arg0Copy = (NodeObject) Util.copyObject(arg0, _orb()); NodeObject result = ((RMI_test) so.servant).exchangeNodeObject(arg0Copy); return (NodeObject) Util.copyObject(result, _orb()); } catch (Throwable ex) { Throwable exCopy = (Throwable) Util.copyObject(ex, _orb()); throw Util.wrapException(exCopy); } finally { _servant_postinvoke(so); } } } public String passArrayOfRemotes(RMI_test[] arg0) throws RemoteException { if (!Util.isLocal(this)) { try { org.omg.CORBA_2_3.portable.InputStream in = null; try { org.omg.CORBA_2_3.portable.OutputStream out = (org.omg.CORBA_2_3.portable.OutputStream) _request( "passArrayOfRemotes", true); out.write_value(cast_array(arg0), RMI_test[].class); in = (org.omg.CORBA_2_3.portable.InputStream) _invoke(out); return (String) in.read_value(String.class); } catch (ApplicationException ex) { in = (org.omg.CORBA_2_3.portable.InputStream) ex.getInputStream(); String id = in.read_string(); throw new UnexpectedException(id); } catch (RemarshalException ex) { return passArrayOfRemotes(arg0); } finally { _releaseReply(in); } } catch (SystemException ex) { throw Util.mapSystemException(ex); } } else { ServantObject so = _servant_preinvoke("passArrayOfRemotes", RMI_test.class); if (so == null) { return passArrayOfRemotes(arg0); } try { RMI_test[] arg0Copy = (RMI_test[]) Util.copyObject(arg0, _orb()); return ((RMI_test) so.servant).passArrayOfRemotes(arg0Copy); } catch (Throwable ex) { Throwable exCopy = (Throwable) Util.copyObject(ex, _orb()); throw Util.wrapException(exCopy); } finally { _servant_postinvoke(so); } } } public RMI_test passReturnRemote(RMI_test arg0) throws RemoteException { if (!Util.isLocal(this)) { try { org.omg.CORBA.portable.InputStream in = null; try { OutputStream out = _request("passReturnRemote", true); Util.writeRemoteObject(out, arg0); in = _invoke(out); return (RMI_test) PortableRemoteObject.narrow(in.read_Object(), RMI_test.class); } catch (ApplicationException ex) { in = ex.getInputStream(); String id = in.read_string(); throw new UnexpectedException(id); } catch (RemarshalException ex) { return passReturnRemote(arg0); } finally { _releaseReply(in); } } catch (SystemException ex) { throw Util.mapSystemException(ex); } } else { ServantObject so = _servant_preinvoke("passReturnRemote", RMI_test.class); if (so == null) { return passReturnRemote(arg0); } try { RMI_test arg0Copy = (RMI_test) Util.copyObject(arg0, _orb()); RMI_test result = ((RMI_test) so.servant).passReturnRemote(arg0Copy); return (RMI_test) Util.copyObject(result, _orb()); } catch (Throwable ex) { Throwable exCopy = (Throwable) Util.copyObject(ex, _orb()); throw Util.wrapException(exCopy); } finally { _servant_postinvoke(so); } } } public String getEgo() throws RemoteException { if (!Util.isLocal(this)) { try { org.omg.CORBA_2_3.portable.InputStream in = null; try { OutputStream out = _request("_get_ego", true); in = (org.omg.CORBA_2_3.portable.InputStream) _invoke(out); return (String) in.read_value(String.class); } catch (ApplicationException ex) { in = (org.omg.CORBA_2_3.portable.InputStream) ex.getInputStream(); String id = in.read_string(); throw new UnexpectedException(id); } catch (RemarshalException ex) { return getEgo(); } finally { _releaseReply(in); } } catch (SystemException ex) { throw Util.mapSystemException(ex); } } else { ServantObject so = _servant_preinvoke("_get_ego", RMI_test.class); if (so == null) { return getEgo(); } try { return ((RMI_test) so.servant).getEgo(); } catch (Throwable ex) { Throwable exCopy = (Throwable) Util.copyObject(ex, _orb()); throw Util.wrapException(exCopy); } finally { _servant_postinvoke(so); } } } public String passCollection(Collection arg0) throws RemoteException { if (!Util.isLocal(this)) { try { org.omg.CORBA_2_3.portable.InputStream in = null; try { org.omg.CORBA_2_3.portable.OutputStream out = (org.omg.CORBA_2_3.portable.OutputStream) _request( "passCollection", true); out.write_value((Serializable) arg0, Collection.class); in = (org.omg.CORBA_2_3.portable.InputStream) _invoke(out); return (String) in.read_value(String.class); } catch (ApplicationException ex) { in = (org.omg.CORBA_2_3.portable.InputStream) ex.getInputStream(); String id = in.read_string(); throw new UnexpectedException(id); } catch (RemarshalException ex) { return passCollection(arg0); } finally { _releaseReply(in); } } catch (SystemException ex) { throw Util.mapSystemException(ex); } } else { ServantObject so = _servant_preinvoke("passCollection", RMI_test.class); if (so == null) { return passCollection(arg0); } try { Collection arg0Copy = (Collection) Util.copyObject(arg0, _orb()); return ((RMI_test) so.servant).passCollection(arg0Copy); } catch (Throwable ex) { Throwable exCopy = (Throwable) Util.copyObject(ex, _orb()); throw Util.wrapException(exCopy); } finally { _servant_postinvoke(so); } } } // This method is required as a work-around for // a bug in the JDK 1.1.6 verifier. private Serializable cast_array(Object obj) { return (Serializable) obj; } } mauve-20140821/gnu/testlet/javax/rmi/CORBA/Tie/_RMI_testImpl_Tie.java0000644000175000001440000002626710321167320023614 0ustar dokousers// Tie class generated by rmic, do not edit. // Contents subject to change without notice. package gnu.testlet.javax.rmi.CORBA.Tie; import gnu.testlet.org.omg.CORBA_2_3.ORB.Valtype.Info; import gnu.testlet.org.omg.CORBA_2_3.ORB.Valtype.cmInfo; import java.rmi.Remote; //Not a test, required by RMI_IIOP.java. //Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) //Mauve 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 version 2, or (at your option) //any later version. //Mauve 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 Public License for more details. //You should have received a copy of the GNU General Public License //along with Mauve; see the file COPYING. If not, write to //the Free Software Foundation, 59 Temple Place - Suite 330, //Boston, MA 02111-1307, USA. */ import java.util.Collection; import javax.rmi.PortableRemoteObject; import javax.rmi.CORBA.Tie; import javax.rmi.CORBA.Util; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.ORB; import org.omg.CORBA.SystemException; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; import org.omg.CORBA.portable.ResponseHandler; import org.omg.CORBA.portable.UnknownException; import org.omg.PortableServer.Servant; /** * This file is part of the CORBA RMI over IIOP the test executable * class being gnu.testlet.javax.rmi.CORBA.Tie.RMI_IIOP. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ public class _RMI_testImpl_Tie extends Servant implements Tie { private RMI_testImpl target = null; static final String[] _type_ids = { "RMI:" + RMI_test.class.getName() + ":0000000000000000" }; public void setTarget(Remote target) { this.target = (RMI_testImpl) target; } public Remote getTarget() { return target; } public org.omg.CORBA.Object thisObject() { return _this_object(); } public void deactivate() { try { _poa().deactivate_object(_poa().servant_to_id(this)); } catch (org.omg.PortableServer.POAPackage.WrongPolicy exception) { } catch (org.omg.PortableServer.POAPackage.ObjectNotActive exception) { } catch (org.omg.PortableServer.POAPackage.ServantNotActive exception) { } } public ORB orb() { return _orb(); } public void orb(ORB orb) { try { ((org.omg.CORBA_2_3.ORB) orb).set_delegate(this); } catch (ClassCastException e) { throw new org.omg.CORBA.BAD_PARAM( "POA Servant requires an instance of org.omg.CORBA_2_3.ORB"); } } public String[] _all_interfaces(org.omg.PortableServer.POA poa, byte[] objectId) { return _type_ids; } public OutputStream _invoke(String method, InputStream _in, ResponseHandler reply) throws SystemException { try { org.omg.CORBA_2_3.portable.InputStream in = (org.omg.CORBA_2_3.portable.InputStream) _in; switch (method.length()) { case 8: if (method.equals("multiply")) { byte arg0 = in.read_octet(); long arg1 = in.read_longlong(); long result = target.multiply(arg0, arg1); OutputStream out = reply.createReply(); out.write_longlong(result); return out; } else if (method.equals("_get_ego")) { String result = target.getEgo(); org.omg.CORBA_2_3.portable.OutputStream out = (org.omg.CORBA_2_3.portable.OutputStream) reply.createReply(); out.write_value(result, String.class); return out; } else if (method.equals("sayHello")) { RMI_test arg0 = (RMI_test) PortableRemoteObject.narrow( in.read_Object(), RMI_test.class); String result = target.sayHello(arg0); org.omg.CORBA_2_3.portable.OutputStream out = (org.omg.CORBA_2_3.portable.OutputStream) reply.createReply(); out.write_value(result, String.class); return out; } case 9: if (method.equals("passArray")) { int[] arg0 = (int[]) in.read_value(int[].class); int result = target.passArray(arg0); OutputStream out = reply.createReply(); out.write_long(result); return out; } case 11: if (method.equals("joinStrings")) { String arg0 = (String) in.read_value(String.class); String arg1 = (String) in.read_value(String.class); String result = target.joinStrings(arg0, arg1); org.omg.CORBA_2_3.portable.OutputStream out = (org.omg.CORBA_2_3.portable.OutputStream) reply.createReply(); out.write_value(result, String.class); return out; } case 13: if (method.equals("passStructure")) { myStructure arg0 = (myStructure) in.read_value(myStructure.class); String result = target.passStructure(arg0); org.omg.CORBA_2_3.portable.OutputStream out = (org.omg.CORBA_2_3.portable.OutputStream) reply.createReply(); out.write_value(result, String.class); return out; } case 14: if (method.equals("passPrimitives")) { byte arg0 = in.read_octet(); double arg1 = in.read_double(); int arg2 = in.read_long(); String arg3 = (String) in.read_value(String.class); float arg4 = in.read_float(); char arg5 = in.read_wchar(); short arg6 = in.read_short(); String result = target.passPrimitives(arg0, arg1, arg2, arg3, arg4, arg5, arg6); org.omg.CORBA_2_3.portable.OutputStream out = (org.omg.CORBA_2_3.portable.OutputStream) reply.createReply(); out.write_value(result, String.class); return out; } else if (method.equals("passCollection")) { Collection arg0 = (Collection) in.read_value(Collection.class); String result = target.passCollection(arg0); org.omg.CORBA_2_3.portable.OutputStream out = (org.omg.CORBA_2_3.portable.OutputStream) reply.createReply(); out.write_value(result, String.class); return out; } case 15: if (method.equals("passStringArray")) { String[] arg0 = (String[]) in.read_value(String[].class); String result = target.passStringArray(arg0); org.omg.CORBA_2_3.portable.OutputStream out = (org.omg.CORBA_2_3.portable.OutputStream) reply.createReply(); out.write_value(result, String.class); return out; } else if (method.equals("passCorbaObject")) { org.omg.CORBA.Object arg0 = (org.omg.CORBA.Object) in.read_Object(); String result = target.passCorbaObject(arg0); org.omg.CORBA_2_3.portable.OutputStream out = (org.omg.CORBA_2_3.portable.OutputStream) reply.createReply(); out.write_value(result, String.class); return out; } case 16: if (method.equals("passReturnRemote")) { RMI_test arg0 = (RMI_test) PortableRemoteObject.narrow( in.read_Object(), RMI_test.class); RMI_test result = target.passReturnRemote(arg0); OutputStream out = reply.createReply(); Util.writeRemoteObject(out, result); return out; } case 18: if (method.equals("passStructureArray")) { myStructure[] arg0 = (myStructure[]) in.read_value(myStructure[].class); String result = target.passStructureArray(arg0); org.omg.CORBA_2_3.portable.OutputStream out = (org.omg.CORBA_2_3.portable.OutputStream) reply.createReply(); out.write_value(result, String.class); return out; } else if (method.equals("passCorbaValueType")) { Info arg0 = (Info) in.read_value(Info.class); String result = target.passCorbaValueType(arg0); org.omg.CORBA_2_3.portable.OutputStream out = (org.omg.CORBA_2_3.portable.OutputStream) reply.createReply(); out.write_value(result, String.class); return out; } else if (method.equals("exchangeNodeObject")) { NodeObject arg0 = (NodeObject) in.read_value(NodeObject.class); NodeObject result = target.exchangeNodeObject(arg0); org.omg.CORBA_2_3.portable.OutputStream out = (org.omg.CORBA_2_3.portable.OutputStream) reply.createReply(); out.write_value(result, NodeObject.class); return out; } else if (method.equals("passArrayOfRemotes")) { RMI_test[] arg0 = (RMI_test[]) in.read_value(RMI_test[].class); String result = target.passArrayOfRemotes(arg0); org.omg.CORBA_2_3.portable.OutputStream out = (org.omg.CORBA_2_3.portable.OutputStream) reply.createReply(); out.write_value(result, String.class); return out; } case 20: if (method.equals("passCorbaCMValueType")) { cmInfo arg0 = (cmInfo) in.read_value(cmInfo.class); String result = target.passCorbaCMValueType(arg0); org.omg.CORBA_2_3.portable.OutputStream out = (org.omg.CORBA_2_3.portable.OutputStream) reply.createReply(); out.write_value(result, String.class); return out; } case 23: if (method.equals("passCorbaValueTypeArray")) { Info[] arg0 = (Info[]) in.read_value(Info[].class); String result = target.passCorbaValueTypeArray(arg0); org.omg.CORBA_2_3.portable.OutputStream out = (org.omg.CORBA_2_3.portable.OutputStream) reply.createReply(); out.write_value(result, String.class); return out; } } throw new BAD_OPERATION(); } catch (SystemException ex) { throw ex; } catch (Throwable ex) { throw new UnknownException(ex); } } } mauve-20140821/gnu/testlet/javax/rmi/CORBA/Tie/RMI_test.java0000644000175000001440000000474710447766312022050 0ustar dokousers// Tags: not-a-test // Not a test, required by RMI_IIOP.java. // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.rmi.CORBA.Tie; import gnu.testlet.org.omg.CORBA_2_3.ORB.Valtype.Info; import gnu.testlet.org.omg.CORBA_2_3.ORB.Valtype.cmInfo; import java.rmi.Remote; import java.rmi.RemoteException; import java.util.Collection; /** * This file is part of the CORBA RMI over IIOP the test executable * class being gnu.testlet.javax.rmi.CORBA.Tie.RMI_IIOP. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ public interface RMI_test extends Remote { String sayHello(RMI_test h) throws RemoteException; String joinStrings(String a, String b) throws RemoteException; long multiply(byte a, long b) throws RemoteException; int passArray(int[] array) throws RemoteException; String passStringArray(String[] array) throws RemoteException; String passPrimitives(byte b, double d, int i, String s, float f, char c, short sh) throws RemoteException; String passStructure(myStructure s) throws RemoteException; String passStructureArray(myStructure[] structures) throws RemoteException; String passCorbaCMValueType(cmInfo info) throws RemoteException; String passCorbaValueType(Info info) throws RemoteException; String passCorbaValueTypeArray(Info[] infos) throws RemoteException; String passCorbaObject(org.omg.CORBA.Object object) throws RemoteException; NodeObject exchangeNodeObject(NodeObject nx) throws RemoteException; String passArrayOfRemotes(RMI_test[] tests) throws RemoteException; RMI_test passReturnRemote(RMI_test test) throws RemoteException; String getEgo() throws RemoteException; String passCollection(Collection cx) throws RemoteException; } mauve-20140821/gnu/testlet/javax/rmi/CORBA/Tie/myStructure.java0000644000175000001440000000244010321167320022675 0ustar dokousers// Not a test, required by RMI_IIOP.java. // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.rmi.CORBA.Tie; import java.io.Serializable; /** * This file is part of the CORBA RMI over IIOP the test executable * class being gnu.testlet.javax.rmi.CORBA.Tie.RMI_IIOP. It is a * Serializable being passed via RMI-IIOP. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ public class myStructure implements Serializable { public int a = 1; private int b = 2; public String c = "three"; public String toString() { return a+" "+b+" "+c; } } mauve-20140821/gnu/testlet/javax/rmi/CORBA/Tie/RMI_IIOP.java0000644000175000001440000002214311030376330021601 0ustar dokousers// Tags: JDK1.4 // Uses: RMI_test RMI_testImpl ../../../../org/omg/CORBA_2_3/ORB/Valtype/Info ../../../../org/omg/CORBA_2_3/ORB/Valtype/InfoImpl ../../../../org/omg/CORBA_2_3/ORB/Valtype/cmInfo ../../../../org/omg/CORBA_2_3/ORB/Valtype/cmInfoImpl ../../../../org/omg/CORBA_2_3/ORB/Valtype/cmInfoHelper // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.rmi.CORBA.Tie; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.org.omg.CORBA_2_3.ORB.Valtype.Info; import gnu.testlet.org.omg.CORBA_2_3.ORB.Valtype.InfoImpl; import gnu.testlet.org.omg.CORBA_2_3.ORB.Valtype.cmInfoImpl; import java.util.ArrayList; import java.util.Collection; import javax.rmi.PortableRemoteObject; import javax.rmi.CORBA.Tie; import javax.rmi.CORBA.Util; import org.omg.CORBA.ORB; import org.omg.PortableServer.POA; import org.omg.PortableServer.POAHelper; import org.omg.PortableServer.Servant; /** * The RMI over IIOP test. While formally possible since jdk 1.4 (all classes * declared), the Sun's jdk 1.4.2 seems not complete enough. The test passes * Sun's releases since 1.5.0_04-b05. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ public class RMI_IIOP implements Testlet { public void test(TestHarness harness) { ORB client_orb = null; // Set the loader of this class as a context class loader, ensuring that the // CORBA implementation will be able to locate the RMI stubs and ties. ClassLoader previous = Thread.currentThread().getContextClassLoader(); Thread.currentThread().setContextClassLoader(getClass().getClassLoader()); try { client_orb = ORB.init(new String[0], null); String ior = startServer(harness); org.omg.CORBA.Object object = client_orb.string_to_object(ior); RMI_test r = (RMI_test) PortableRemoteObject.narrow(object, RMI_test.class); harness.check("null", r.sayHello(null), "First call"); harness.check(r.multiply((byte) 4, 6), 24, "Multiplying 4*6="); harness.check("'String one' and 'String two'", r.joinStrings( "String one", "String two"), "Joining strings"); harness.check("'null' and 'null'", r.joinStrings(null, null), "Passing null"); harness.check( "byte 1, double 2.34, int 5, string six, float 7.89, char A(41), short 11", r.passPrimitives((byte) 1, 2.34, 5, "six", (float) 7.89, 'A', (short) 11), "Passing primitives"); harness.check(25, r.passArray(new int[] { 1, 2, 4, 8, 10 }), "Passing primitive array"); String[] arr = new String[] { "a", "b", null, "abc" }; harness.check("a.b.null.abc.", r.passStringArray(arr), "Passing String array"); harness.check("1 2 three", r.passStructure(new myStructure()), "Passing structure"); cmInfoImpl c1 = new cmInfoImpl(); c1.message = "msg"; c1.name = "nm"; harness.check(r.passCorbaCMValueType(c1), "nm;msg", "CustomMarshal"); InfoImpl c2 = new InfoImpl(); c2._message = "_msg"; c2._name = "_nm"; harness.check(r.passCorbaValueType(c2), "_nm--_msg", "Streamable"); myStructure[] a = new myStructure[4]; // First element will be null. for (int i = 1; i < a.length; i++) { a[i] = new myStructure(); a[i].a = 100 * i; a[i].c = "c" + i; } harness.check("null:100 2 c1:200 2 c2:300 2 c3:", r.passStructureArray(a), "Structure array"); Info i1 = new InfoImpl(); i1._message = "m1"; i1._name = "n1"; Info i2 = new InfoImpl(); i2._message = "m2"; i2._name = "n2"; harness.check("n1--m1:null:n2--m2:", r.passCorbaValueTypeArray(new Info[] { i1, null, i2 }), "Value type array"); harness.check("null passed", r.passCorbaObject(null), "null as CORBA object"); String s = r.exchangeNodeObject(NodeObject.create1()).toString(); harness.check(s, NodeObject.create2().toString(), "Graph"); // Instantiate another RMI_test here. POA rootPOA = POAHelper.narrow(client_orb.resolve_initial_references("RootPOA")); rootPOA.the_POAManager().activate(); RMI_testImpl impl = new RMI_testImpl(); impl.ego = "Local client object"; NodeObject n = new NodeObject("x"); Tie tie = Util.getTie(impl); org.omg.CORBA.Object l_object = rootPOA.servant_to_reference((Servant) tie); RMI_test l_r = (RMI_test) PortableRemoteObject.narrow(l_object, RMI_test.class); n.z_anotherTest = l_r; harness.check("Local client object", l_r.getEgo(), "Local client"); // The server should returns its own object in return: RMI_test rt = r.exchangeNodeObject(n).z_anotherTest; harness.check("Server side object", rt.getEgo(), "Server side object"); // The server should echo the name of the passed object: harness.check("Local client object", r.sayHello(l_r), "Local client"); RMI_testImpl impl2 = new RMI_testImpl(); impl2.ego = "Client implementation instance"; harness.check("Client implementation instance", r.sayHello(impl2), "Client implementation"); n.anotherTestArray = new RMI_test[] { impl, null, impl2, rt }; n.z_anotherTest = null; // Verifying array of remotes that is a field in the structure being // passed. String rts = r.exchangeNodeObject(n).label; harness.check( "Local client object.null.Client implementation instance.Server side object.", rts, "Passed array of 4 Remotes in a structure field."); harness.check("ab (Server side object:Local client object)", r.passReturnRemote(l_r).getEgo(), "Pass/return remote, stub"); harness.check("ab (Server side object:Client implementation instance)", r.passReturnRemote(impl2).getEgo(), "Pass/return remote, implementation"); harness.check(r.passReturnRemote(null) == null, "pass/get null"); // If the verification of the server side succeeds, the "ok" is // returned. Otherwise, the mismatching entry is returned. harness.check("ok", r.passArrayOfRemotes(new RMI_test[] { impl, impl2, null, l_r, rt }), "Pass Remote[]"); Collection ar = new ArrayList(); ar.add("one"); ar.add("two"); ar.add("three"); Externa e = new Externa(); e.a = 17; e.b = 64; ar.add(e); ar.add(null); // Make a graph. ar.add(e); ar.add(e); Externa b = new Externa(); b.a = 55; b.b = 56; ar.add(b); ar.add(e); ar.add("last"); harness.check( "java.util.ArrayList:one.two.three.(ex 17:64).null.(ex 17:64).(ex 17:64).(ex 55:56).(ex 17:64).last.", r.passCollection(ar), "Pass ArrayList"); } catch (Exception e) { harness.fail("Exception: " + e + ". If this is Sun's jre, note theat at least jdk 1.5.0_04-b05 required."); } finally { Thread.currentThread().setContextClassLoader(previous); try { if (server_orb != null) server_orb.destroy(); if (client_orb != null) client_orb.destroy(); } catch (Throwable t) { // Failed to destroy. harness.fail("Unable to destroy the ORBs: "+t); } } } ORB server_orb; public String startServer(TestHarness harness) { try { server_orb = ORB.init(new String[0], null); new Thread() { public void run() { server_orb.run(); } }.start(); // Wait for 500 ms for the sever to start. Thread.sleep(500); POA rootPOA = POAHelper.narrow(server_orb.resolve_initial_references("RootPOA")); rootPOA.the_POAManager().activate(); RMI_testImpl impl = new RMI_testImpl(); impl.ego = "Server side object"; Tie tie = Util.getTie(impl); org.omg.CORBA.Object object = rootPOA.servant_to_reference((Servant) tie); String ior = server_orb.object_to_string(object); return ior; } catch (Exception e) { harness.fail("Unable to initalise ORB: " + e); return null; // Unreachable. } } } mauve-20140821/gnu/testlet/javax/rmi/CORBA/Tie/Externa.java0000644000175000001440000000336210321167320021741 0ustar dokousers// Not a test, required by RMI_IIOP.java. // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.javax.rmi.CORBA.Tie; import java.io.Externalizable; import java.io.IOException; import java.io.ObjectInput; import java.io.ObjectOutput; /** * This file is part of the CORBA RMI over IIOP the test executable * class being gnu.testlet.javax.rmi.CORBA.Tie.RMI_IIOP. It is an Externalizable * being passed via RMI-IIOP. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ public class Externa implements Externalizable { /** * Use serialVersionUID for interoperability. */ private static final long serialVersionUID = 1; public int a; public int b; String sx; public String toString() { return sx; } public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { a = in.readInt(); b = in.readInt(); sx = "(ex " + a + ":" + b + ")"; } public void writeExternal(ObjectOutput out) throws IOException { out.writeInt(a); out.writeInt(b); } } mauve-20140821/gnu/testlet/javax/rmi/ssl/0000755000175000001440000000000012375316426016734 5ustar dokousersmauve-20140821/gnu/testlet/javax/rmi/ssl/SslRMIClientSocketFactory/0000755000175000001440000000000012375316426023705 5ustar dokousersmauve-20140821/gnu/testlet/javax/rmi/ssl/SslRMIClientSocketFactory/PR34582.java0000644000175000001440000000270510736064637025506 0ustar dokousers// Tags: JDK1.5 // Copyright (C) 2007 Andrew John Hughes // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet.javax.rmi.ssl.SslRMIClientSocketFactory; import javax.rmi.ssl.SslRMIClientSocketFactory; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * This checks for the bug found in PR34582, namely that * creating an instance of the class fails with a * {@code NullPointerException}. * * @author Andrew John Hughes (gnu_andrew@member.fsf.org) */ public class PR34582 implements Testlet { public void test(TestHarness h) { try { new SslRMIClientSocketFactory(); h.check(true, "Factory created succesfully."); } catch (Exception e) { h.debug(e); h.fail("Factory could not be created."); } } } mauve-20140821/gnu/testlet/javax/accessibility/0000755000175000001440000000000012375316426020173 5ustar dokousersmauve-20140821/gnu/testlet/javax/accessibility/AccessibleContext/0000755000175000001440000000000012375316426023575 5ustar dokousersmauve-20140821/gnu/testlet/javax/accessibility/AccessibleContext/TestAccessibleContext.java0000644000175000001440000000324410405305264030673 0ustar dokousers/* TestAccessibleContext.java -- An AccessibleContext implementation for testing Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: not-a-test package gnu.testlet.javax.accessibility.AccessibleContext; import java.util.Locale; import javax.accessibility.Accessible; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleRole; import javax.accessibility.AccessibleStateSet; /** * A concrete subclass of AccessibleContext for testing. * * @author Roman Kennke (kennke@aicas.com) */ public class TestAccessibleContext extends AccessibleContext { public AccessibleRole getAccessibleRole() { return null; } public AccessibleStateSet getAccessibleStateSet() { return null; } public int getAccessibleIndexInParent() { return 0; } public int getAccessibleChildrenCount() { return 0; } public Accessible getAccessibleChild(int i) { return null; } public Locale getLocale() { return null; } } mauve-20140821/gnu/testlet/javax/accessibility/AccessibleContext/getAccessibleRelationSet.java0000644000175000001440000000277710405305264031352 0ustar dokousers/* getAccessibleRelationSet.java -- Tests the getAccesibleRelationSet method Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // Tags: JDK1.2 // Uses: TestAccessibleContext package gnu.testlet.javax.accessibility.AccessibleContext; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests the default implementation of * AccessibleContext.getAccessibleRelationSet(). * * @author Roman Kennke (kennke@aicas.com) * */ public class getAccessibleRelationSet implements Testlet { /** * The entry point in that class. * * @param harness the test harness to use */ public void test(TestHarness harness) { TestAccessibleContext ctx = new TestAccessibleContext(); harness.check(ctx.getAccessibleRelationSet() != null); harness.check(ctx.getAccessibleRelationSet().size(), 0); } } mauve-20140821/gnu/testlet/Testlet.java0000644000175000001440000000166206634200677016530 0ustar dokousers// Copyright (c) 1998 Cygnus Solutions // Written by Anthony Green // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet; public interface Testlet { // This runs the test. public abstract void test (TestHarness harness); } mauve-20140821/gnu/testlet/SingleTestHarness.java0000644000175000001440000001131611107351161020470 0ustar dokousers/* SingleTestHarness.java -- Runs one test given on the command line Copyright (C) 2005 Mark J. Wielaard This file is part of Mauve. Modified by Ewout Prangsma (epr@jnode.org) Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package gnu.testlet; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; public class SingleTestHarness extends TestHarness { private int count; private String className; private boolean verbose = false; private String last_check; public SingleTestHarness(Testlet t, boolean verbose) { this.verbose = verbose; className = t.getClass().getName(); } public void check(boolean result) { String message = (result ? "PASS" : "FAIL") + ": " + className + ((last_check == null) ? "" : (": " + last_check)) + " (number " + count++ + ")"; System.out.println(message); } public Reader getResourceReader(String name) throws ResourceNotFoundException { return new BufferedReader(new InputStreamReader(getResourceStream(name))); } public InputStream getResourceStream(String name) throws ResourceNotFoundException { // The following code assumes File.separator is a single character. if (File.separator.length() > 1) throw new Error("File.separator length is greater than 1"); String realName = name.replace('#', File.separator.charAt(0)); try { return new FileInputStream(getSourceDirectory() + File.separator + realName); } catch (FileNotFoundException ex) { throw new ResourceNotFoundException(ex.getLocalizedMessage() + ": " + getSourceDirectory() + File.separator + realName); } } public File getResourceFile(String name) throws ResourceNotFoundException { // The following code assumes File.separator is a single character. if (File.separator.length() > 1) throw new Error("File.separator length is greater than 1"); String realName = name.replace('#', File.separator.charAt(0)); File f = new File(getSourceDirectory() + File.separator + realName); if (!f.exists()) { throw new ResourceNotFoundException("cannot find mauve resource file" + ": " + getSourceDirectory() + File.separator + realName); } return f; } public void checkPoint (String name) { last_check = name; count = 0; } public void verbose(String message) { if (verbose) { System.out.println(message); } } public void debug (String message) { debug(message, true); } public void debug (String message, boolean newline) { if (newline) System.out.println(message); else System.out.print(message); } public void debug (Throwable ex) { ex.printStackTrace(System.out); } public void debug (Object[] o, String desc) { debug("Dumping Object Array: " + desc); if (o == null) { debug("null"); return; } for (int i = 0; i < o.length; i++) { if (o[i] instanceof Object[]) debug((Object[]) o[i], desc + " element " + i); else debug(" Element " + i + ": " + o[i]); } } public static void main(String[] args) throws Exception { if (args.length > 0) { final boolean verbose; final String name; if ((args.length > 1) && "-v".equals(args[0])) { verbose = true; name = args[1]; } else { verbose = false; name = args[0]; } Class k = Thread.currentThread().getContextClassLoader().loadClass( name); Testlet t = (Testlet) k.newInstance(); TestHarness h = new SingleTestHarness(t, verbose); t.test(h); } else { System.out.println("Usage: mauve-simple [-v] "); } } } mauve-20140821/gnu/testlet/VisualTestlet.java0000644000175000001440000000760510513676147017717 0ustar dokousers/* VisualTestlet.java -- Abstract superclass for visual tests Copyright (C) 2006 Roman Kennke (kennke@aicas.com) This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package gnu.testlet; import java.awt.Component; import java.awt.Frame; import java.io.IOException; import javax.swing.JComponent; import javax.swing.JFrame; /** * Provides an environment for visual tests. Visual tests must provide a * component, instructions and the expected results. The harness provides * all three to the tester and ask if the test passed or not. * * The test component is displayed inside a AWT Frame or a Swing JFrame * (depending on the type of the component). This means that the tested * Java environment needs to have some basic AWT or Swing functionality. This * should be covered by other tests (possibly by java.awt.Robot or so). */ public abstract class VisualTestlet implements Testlet { /** * Starts the test. * * @param h the test harness */ public void test(TestHarness h) { // Initialize and show test component. Component c = getTestComponent(); Frame f; if (c instanceof JComponent) { JFrame jFrame = new JFrame(); jFrame.setContentPane((JComponent) c); f = jFrame; } else { f = new Frame(); f.add(c); } f.pack(); f.setVisible(true); // Print instructions and expected results on console. System.out.println("===================================================="); System.out.print("This is a test that needs human interaction. Please "); System.out.print("read the instructions carefully and follow them. "); System.out.print("Then check if your results match the expected results. "); System.out.print("Type p if the test showed the expected results,"); System.out.println(" f otherwise."); System.out.println("===================================================="); System.out.println("INSTRUCTIONS:"); System.out.println(getInstructions()); System.out.println("===================================================="); System.out.println("EXPECTED RESULTS:"); System.out.println(getExpectedResults()); System.out.println("===================================================="); // Ask the tester whether the test passes or fails. System.out.println("(P)ASS or (F)AIL ?"); while (true) { int ch; try { ch = System.in.read(); if (ch == 'P' || ch == 'p') { h.check(true); break; } else if (ch == 'f' || ch == 'F') { h.check(false); break; } } catch (IOException ex) { h.debug(ex); h.fail("Unexpected IO problem on console"); } } } /** * Provides the instructions for the test. * * @return the instructions for the test */ public abstract String getInstructions(); /** * Describes the expected results. * * @return the expected results */ public abstract String getExpectedResults(); /** * Provides the test component. * * @return the test component */ public abstract Component getTestComponent(); } mauve-20140821/gnu/testlet/org/0000755000175000001440000000000012375316426015022 5ustar dokousersmauve-20140821/gnu/testlet/org/omg/0000755000175000001440000000000012375316426015604 5ustar dokousersmauve-20140821/gnu/testlet/org/omg/CORBA_2_3/0000755000175000001440000000000012375316426017075 5ustar dokousersmauve-20140821/gnu/testlet/org/omg/CORBA_2_3/ORB/0000755000175000001440000000000012375316426017517 5ustar dokousersmauve-20140821/gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/0000755000175000001440000000000012375316426021143 5ustar dokousersmauve-20140821/gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/cmInfoValueFactory.java0000644000175000001440000000067310447766313025556 0ustar dokousers// Tags: not-a-test /* * This file is part of the CORBA 2_3 tests, the test executable * class being gnu.testlet.org.omg.CORBA_2_3.ORB.ValueTypeTest. * Due large number of the required classes, they are moved into * a separate package, Valuetype. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ package gnu.testlet.org.omg.CORBA_2_3.ORB.Valtype; public interface cmInfoValueFactory extends org.omg.CORBA.portable.ValueFactory { } mauve-20140821/gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/Greetings.java0000644000175000001440000000103710447766313023740 0ustar dokousers// Tags: not-a-test /* * This file is part of the CORBA 2_3 tests, the test executable * class being gnu.testlet.org.omg.CORBA_2_3.ORB.ValueTypeTest. * Due large number of the required classes, they are moved into * a separate package, Valuetype. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ package gnu.testlet.org.omg.CORBA_2_3.ORB.Valtype; import org.omg.CORBA.portable.IDLEntity; public interface Greetings extends org.omg.CORBA.Object, IDLEntity { void hello(cmInfoHolder w1, InfoHolder w2 ); } mauve-20140821/gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/GreetingsHelper.java0000644000175000001440000000204510451015575025070 0ustar dokousers// Tags: not-a-test /* * This file is part of the CORBA 2_3 tests, the test executable * class being gnu.testlet.org.omg.CORBA_2_3.ORB.ValueTypeTest. * Due large number of the required classes, they are moved into * a separate package, Valuetype. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ package gnu.testlet.org.omg.CORBA_2_3.ORB.Valtype; import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.portable.Delegate; import org.omg.CORBA.portable.ObjectImpl; public abstract class GreetingsHelper { public static String id() { return "IDL:gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/Greetings:1.0"; } /** * We only need a narrow() method from this helper. */ public static Greetings narrow(org.omg.CORBA.Object obj) { if (obj == null) return null; else if (obj instanceof Greetings) return (Greetings) obj; else if (!obj._is_a(id())) throw new BAD_PARAM(); else { Delegate delegate = ((ObjectImpl) obj)._get_delegate(); return new _GreetingsStub(delegate); } } } mauve-20140821/gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/InfoDefaultFactory.java0000644000175000001440000000117210252620072025522 0ustar dokousers/* * This file is part of the CORBA 2_3 tests, the test executable * class being gnu.testlet.org.omg.CORBA_2_3.ORB.ValueTypeTest. * Due large number of the required classes, they are moved into * a separate package, Valuetype. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ package gnu.testlet.org.omg.CORBA_2_3.ORB.Valtype; public class InfoDefaultFactory implements InfoValueFactory { public Info create(String name, String message) { return new InfoImpl(name, message); } public java.io.Serializable read_value(org.omg.CORBA_2_3.portable.InputStream is) { return is.read_value(new InfoImpl()); } }mauve-20140821/gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/cmInfoImpl.java0000644000175000001440000000112010252620072024020 0ustar dokousers/* * This file is part of the CORBA 2_3 tests, the test executable * class being gnu.testlet.org.omg.CORBA_2_3.ORB.ValueTypeTest. * Due large number of the required classes, they are moved into * a separate package, Valuetype. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ package gnu.testlet.org.omg.CORBA_2_3.ORB.Valtype; public class cmInfoImpl extends cmInfo { public cmInfoImpl() { name = message = "Unitialised"; } public cmInfoImpl(String a, String b) { name = a; message = b; } public String _toString() { return name+";"+message; } }mauve-20140821/gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/Info.java0000644000175000001440000000255111030375476022701 0ustar dokousers// Tags: not-a-test // Uses: InfoHelper /* * This file is part of the CORBA 2_3 tests, the test executable * class being gnu.testlet.org.omg.CORBA_2_3.ORB.ValueTypeTest. * Due large number of the required classes, they are moved into * a separate package, Valuetype. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ package gnu.testlet.org.omg.CORBA_2_3.ORB.Valtype; import org.omg.CORBA.portable.StreamableValue; /** * This value type object has the default methods for reading * and writing. These methods are normally generated by the * IDL compiler. * * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) */ public abstract class Info implements StreamableValue { public String _name; public String _message; private static String[] _truncatable_ids = { InfoHelper.id() }; public String[] _truncatable_ids() { return _truncatable_ids; } public abstract String _toString(); public void _read(org.omg.CORBA.portable.InputStream istream) { this._name = istream.read_string(); this._message = istream.read_string(); } public void _write(org.omg.CORBA.portable.OutputStream ostream) { ostream.write_string(this._name); ostream.write_string(this._message); } public org.omg.CORBA.TypeCode _type() { return InfoHelper.type(); } public String toString() { return _toString(); } } mauve-20140821/gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/cmInfo.java0000644000175000001440000000261610451015575023220 0ustar dokousers// Tags: not-a-test /* * This file is part of the CORBA 2_3 tests, the test executable * class being gnu.testlet.org.omg.CORBA_2_3.ORB.ValueTypeTest. * Due large number of the required classes, they are moved into * a separate package, Valuetype. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ package gnu.testlet.org.omg.CORBA_2_3.ORB.Valtype; import java.util.StringTokenizer; import org.omg.CORBA.DataInputStream; import org.omg.CORBA.DataOutputStream; import org.omg.CORBA.portable.CustomValue; /** * This value type object has the user defined methods for reading * and writing. To make something different, we write two components * as a single string, separating them by '#'. * * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public abstract class cmInfo implements CustomValue { public String name; public String message; private static String[] _truncatable_ids = { cmInfoHelper.id() }; public String[] _truncatable_ids() { return _truncatable_ids; } public abstract String _toString(); public void unmarshal(DataInputStream istream) { String s = istream.read_string(); StringTokenizer st = new StringTokenizer(s, "#"); name = st.nextToken(); message = st.nextToken(); } public void marshal(DataOutputStream ostream) { ostream.write_string(name+"#"+message); } public String toString() { return _toString(); } } mauve-20140821/gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/cmInfoHolder.java0000644000175000001440000000157611030375476024365 0ustar dokousers// Tags: not-a-test // Uses: cmInfo cmInfoHelper /* * This file is part of the CORBA 2_3 tests, the test executable * class being gnu.testlet.org.omg.CORBA_2_3.ORB.ValueTypeTest. * Due large number of the required classes, they are moved into * a separate package, Valuetype. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ package gnu.testlet.org.omg.CORBA_2_3.ORB.Valtype; public final class cmInfoHolder implements org.omg.CORBA.portable.Streamable { public cmInfo value = null; public cmInfoHolder() { } public cmInfoHolder(cmInfo initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = cmInfoHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { cmInfoHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return cmInfoHelper.type(); } }mauve-20140821/gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/InfoValueFactory.java0000644000175000001440000000074410447766313025235 0ustar dokousers// Tags: not-a-test /* * This file is part of the CORBA 2_3 tests, the test executable * class being gnu.testlet.org.omg.CORBA_2_3.ORB.ValueTypeTest. * Due large number of the required classes, they are moved into * a separate package, Valuetype. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ package gnu.testlet.org.omg.CORBA_2_3.ORB.Valtype; public interface InfoValueFactory extends org.omg.CORBA.portable.ValueFactory { Info create(String name, String message); } mauve-20140821/gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/_GreetingsStub.java0000644000175000001440000000331011030375476024724 0ustar dokousers// Tags: not-a-test // Uses: cmInfoHelper InfoHolder /* * This file is part of the CORBA 2_3 tests, the test executable * class being gnu.testlet.org.omg.CORBA_2_3.ORB.ValueTypeTest. * Due large number of the required classes, they are moved into * a separate package, Valuetype. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ package gnu.testlet.org.omg.CORBA_2_3.ORB.Valtype; import org.omg.CORBA.portable.ApplicationException; import org.omg.CORBA.portable.Delegate; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.ObjectImpl; import org.omg.CORBA.portable.OutputStream; import org.omg.CORBA.portable.RemarshalException; public class _GreetingsStub extends org.omg.CORBA.portable.ObjectImpl implements Greetings { public static final String[] __ids = { "IDL:gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/Greetings:1.0" }; public _GreetingsStub() { } public _GreetingsStub(Delegate delegate) { super(); _set_delegate(delegate); } public void hello(cmInfoHolder w1, InfoHolder w2) { InputStream _in = null; try { OutputStream _out = _request("hello", true); cmInfoHelper.write(_out, w1.value); InfoHelper.write(_out, w2.value); _in = _invoke(_out); w1.value = cmInfoHelper.read(_in); w2.value = InfoHelper.read(_in); } catch (ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (RemarshalException _rm) { hello(w1, w2); } finally { _releaseReply(_in); } } public String[] _ids() { return (String[]) __ids.clone(); } } mauve-20140821/gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/InfoHolder.java0000644000175000001440000000262211030375476024036 0ustar dokousers// Tags: not-a-test // Uses: Info InfoImpl InfoHelper /* * This file is part of the CORBA 2_3 tests, the test executable * class being gnu.testlet.org.omg.CORBA_2_3.ORB.ValueTypeTest. * Due large number of the required classes, they are moved into * a separate package, Valuetype. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ package gnu.testlet.org.omg.CORBA_2_3.ORB.Valtype; public final class InfoHolder implements org.omg.CORBA.portable.Streamable { public static int testMode; public Info value; public InfoHolder() { } public InfoHolder(Info initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { // Some IDL compilers generate the line below, forcing to search // the implementing class via classloader. if (testMode == 0) value = InfoHelper.read(i); else if (testMode == 1) // Despite it would be a lot faster to call: value = (Info) ((org.omg.CORBA_2_3.portable.InputStream) i).read_value(new InfoImpl()); // And also should work: else value = (Info) ((org.omg.CORBA_2_3.portable.InputStream) i).read_value(InfoImpl.class); // The test checks the correct work of both cases. } public void _write(org.omg.CORBA.portable.OutputStream o) { InfoHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return InfoHelper.type(); } }mauve-20140821/gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/InfoImpl.java0000644000175000001440000000112310252620072023503 0ustar dokousers/* * This file is part of the CORBA 2_3 tests, the test executable * class being gnu.testlet.org.omg.CORBA_2_3.ORB.ValueTypeTest. * Due large number of the required classes, they are moved into * a separate package, Valuetype. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ package gnu.testlet.org.omg.CORBA_2_3.ORB.Valtype; public class InfoImpl extends Info { public InfoImpl() { _name = _message = "Unitialised"; } public InfoImpl(String a, String b) { _name = a; _message = b; } public String _toString() { return _name + "--" + _message; } }mauve-20140821/gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/_GreetingsImplBase.java0000644000175000001440000000251411030375476025510 0ustar dokousers// Tags: not-a-test // Uses: cmInfoHolder _GreetingsStub /* * This file is part of the CORBA 2_3 tests, the test executable * class being gnu.testlet.org.omg.CORBA_2_3.ORB.ValueTypeTest. * Due large number of the required classes, they are moved into * a separate package, Valuetype. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ package gnu.testlet.org.omg.CORBA_2_3.ORB.Valtype; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.InvokeHandler; import org.omg.CORBA.portable.ObjectImpl; import org.omg.CORBA.portable.OutputStream; import org.omg.CORBA.portable.ResponseHandler; public abstract class _GreetingsImplBase extends ObjectImpl implements Greetings, InvokeHandler { public _GreetingsImplBase() { } /** * As there is only one method supported, we can use the simplified * layout without switch between methods. */ public OutputStream _invoke(String method, InputStream in, ResponseHandler rh) { cmInfoHolder w1 = new cmInfoHolder(); w1.value = cmInfoHelper.read(in); InfoHolder w2 = new InfoHolder(); w2.value = InfoHelper.read(in); this.hello(w1, w2); OutputStream out = rh.createReply(); cmInfoHelper.write(out, w1.value); InfoHelper.write(out, w2.value); return out; } public String[] _ids() { return _GreetingsStub.__ids; } } mauve-20140821/gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/InfoHelper.java0000644000175000001440000000632411030375476024043 0ustar dokousers// Tags: not-a-test // Uses: InfoImpl InfoValueFactory /* * This file is part of the CORBA 2_3 tests, the test executable * class being gnu.testlet.org.omg.CORBA_2_3.ORB.ValueTypeTest. * Due large number of the required classes, they are moved into * a separate package, Valuetype. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ package gnu.testlet.org.omg.CORBA_2_3.ORB.Valtype; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; public abstract class InfoHelper { public static int testMode = 4; private static String _id = "IDL:gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/Info:1.0"; public static void insert(org.omg.CORBA.Any a, Info that) { OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static Info extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode typeCode = null; public static org.omg.CORBA.TypeCode type() { if (typeCode == null) { org.omg.CORBA.ValueMember[] members = new org.omg.CORBA.ValueMember[ 2 ]; org.omg.CORBA.TypeCode member; // ValueMember instance for _name member = org.omg.CORBA.ORB.init().create_string_tc(0); members [ 0 ] = new org.omg.CORBA.ValueMember("_name", "", _id, "", member, null, org.omg.CORBA.PRIVATE_MEMBER.value ); // ValueMember instance for _message member = org.omg.CORBA.ORB.init().create_string_tc(0); members [ 1 ] = new org.omg.CORBA.ValueMember("_message", "", _id, "", member, null, org.omg.CORBA.PRIVATE_MEMBER.value ); typeCode = org.omg.CORBA.ORB.init().create_value_tc(_id, "Info", org.omg.CORBA.VM_NONE.value, null, members ); } return typeCode; } public static String id() { return _id; } public static Info read(InputStream istream) { // This method is a real disaster, but the most of the IDL compilers // generate like that: if (testMode == 0) return (Info) ((org.omg.CORBA_2_3.portable.InputStream) istream).read_value(id()); else if (testMode == 1) return (Info) ((org.omg.CORBA_2_3.portable.InputStream) istream).read_value(new InfoImpl()); else return (Info) ((org.omg.CORBA_2_3.portable.InputStream) istream).read_value(InfoImpl.class); } public static void write(OutputStream ostream, Info value) { ((org.omg.CORBA_2_3.portable.OutputStream) ostream).write_value(value, id()); } public static Info create(org.omg.CORBA.ORB orb, String name, String message) { try { InfoValueFactory factory = (InfoValueFactory) ((org.omg.CORBA_2_3.ORB) orb).lookup_value_factory(id()); return factory.create(name, message); } catch (ClassCastException ex) { throw new org.omg.CORBA.BAD_PARAM(); } } } mauve-20140821/gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/cmInfoHelper.java0000644000175000001440000000431010451015575024351 0ustar dokousers// Tags: not-a-test /* * This file is part of the CORBA 2_3 tests, the test executable * class being gnu.testlet.org.omg.CORBA_2_3.ORB.ValueTypeTest. * Due large number of the required classes, they are moved into * a separate package, Valuetype. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ package gnu.testlet.org.omg.CORBA_2_3.ORB.Valtype; import org.omg.CORBA.Any; import org.omg.CORBA.ORB; import org.omg.CORBA.PRIVATE_MEMBER; import org.omg.CORBA.TypeCode; import org.omg.CORBA.VM_NONE; import org.omg.CORBA.ValueMember; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; public abstract class cmInfoHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/cmInfo:1.0"; public static void insert(Any a, cmInfo that) { OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static cmInfo extract(Any a) { return read(a.create_input_stream()); } private static TypeCode typeCode = null; public static TypeCode type() { if (typeCode == null) { ValueMember[] members = new ValueMember[ 2 ]; TypeCode member; // ValueMember instance for _name member = ORB.init().create_string_tc(0); members [ 0 ] = new ValueMember("_name", "", _id, "", member, null, PRIVATE_MEMBER.value ); // ValueMember instance for _message member = ORB.init().create_string_tc(0); members [ 1 ] = new ValueMember("_message", "", _id, "", member, null, PRIVATE_MEMBER.value ); typeCode = ORB.init().create_value_tc(_id, "cmInfo", VM_NONE.value, null, members); } return typeCode; } public static String id() { return _id; } public static cmInfo read(InputStream istream) { return (cmInfo) ((org.omg.CORBA_2_3.portable.InputStream) istream).read_value(id()); } public static void write(OutputStream ostream, cmInfo value) { ((org.omg.CORBA_2_3.portable.OutputStream) ostream).write_value(value, id()); } } mauve-20140821/gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/GreetingsServant.java0000644000175000001440000000152311030375476025276 0ustar dokousers// Tags: not-a-test // Uses: _GreetingsImplBase Greetings cmInfoHolder InfoHolder /* * This file is part of the CORBA 2_3 tests, the test executable * class being gnu.testlet.org.omg.CORBA_2_3.ORB.ValueTypeTest. * Due large number of the required classes, they are moved into * a separate package, Valuetype. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ package gnu.testlet.org.omg.CORBA_2_3.ORB.Valtype; public class GreetingsServant extends _GreetingsImplBase implements Greetings { /** * Make manipulations ensuring the values were received. */ public void hello(cmInfoHolder w1, InfoHolder w2) { w1.value.message = "Names: " + w1.value.name + "+" + w2.value._name; w2.value._message = "Messages: " + w2.value._message + "+" + w1.value.message; w1.value.name += "+"; w2.value._name += "+"; } }mauve-20140821/gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/cmInfoDefaultFactory.java0000644000175000001440000000123210252620072026037 0ustar dokousers/* * This file is part of the CORBA 2_3 tests, the test executable * class being gnu.testlet.org.omg.CORBA_2_3.ORB.ValueTypeTest. * Due large number of the required classes, they are moved into * a separate package, Valuetype. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ package gnu.testlet.org.omg.CORBA_2_3.ORB.Valtype; import java.io.Serializable; public class cmInfoDefaultFactory implements cmInfoValueFactory { public cmInfo create(String name, String message) { return new cmInfoImpl(name, message); } public Serializable read_value(org.omg.CORBA_2_3.portable.InputStream is) { return is.read_value(new cmInfoImpl()); } }mauve-20140821/gnu/testlet/org/omg/CORBA_2_3/ORB/ValueTypeTest.java0000644000175000001440000001433310323417345023135 0ustar dokousers// Tags: JDK1.3 // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.org.omg.CORBA_2_3.ORB; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.org.omg.CORBA.Asserter; import gnu.testlet.org.omg.CORBA.ORB.comServer; import gnu.testlet.org.omg.CORBA_2_3.ORB.Valtype.*; import org.omg.CORBA.Any; import org.omg.CORBA.ORB; import org.omg.CORBA.TypeCode; import java.io.InputStream; /** * Tests the CORBA 2_3 features, related to the Value type, * introduced since 1.3. * * The test is formally possible since v 1.3. However some Sun * bugs are only fixed since 1.4.2_08_b03 inclusive, so the it * will not succeed with the earlier releases. * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ public class ValueTypeTest extends Asserter implements Testlet { ORB orb; Greetings object; public void testCustomValue() { h.checkPoint("Custom value"); ORB orb = ORB.init(new String[ 0 ], null); Any sc = orb.create_any(); org.omg.CORBA_2_3.portable.OutputStream out = (org.omg.CORBA_2_3.portable.OutputStream) sc.create_output_stream(); cmInfoImpl orig = new cmInfoImpl("first", "second"); out.write_value(orig); Any b = orb.create_any(); InputStream ou = out.create_input_stream(); b.read_value((org.omg.CORBA_2_3.portable.InputStream) ou, cmInfoHelper.type() ); cmInfo s = (cmInfo) b.extract_Value(); assertEquals("After Any, cv ", s.message, orig.message); assertEquals("After Any, cv ", s.name, orig.name); cmInfo a = (cmInfo) ((org.omg.CORBA_2_3.portable.InputStream) out.create_input_stream()).read_value(); assertEquals("After stream, cv ", a.message, orig.message); assertEquals("After stream, cv ", a.name, orig.name); } public void testStreamableValue() { h.checkPoint("Streamable value"); try { ORB orb = ORB.init(new String[ 0 ], null); for (int holder_mode = 0; holder_mode < 3; holder_mode++) { for (int helper_mode = 0; helper_mode < 4; helper_mode++) { InfoHolder.testMode = holder_mode; InfoHelper.testMode = helper_mode; String mode = holder_mode + ":" + helper_mode; Any sc = orb.create_any(); org.omg.CORBA_2_3.portable.OutputStream out = (org.omg.CORBA_2_3.portable.OutputStream) sc.create_output_stream(); InfoImpl orig = new InfoImpl("first", "second"); out.write_value(orig); Any b = orb.create_any(); InputStream ou = out.create_input_stream(); TypeCode type = orig._type(); b.read_value((org.omg.CORBA_2_3.portable.InputStream) ou, type); Info s = (Info) b.extract_Value(); assertEquals("After Any, sv " + mode, s._message, orig._message); assertEquals("After Any, sv " + mode, s._name, orig._name); Info a = (Info) ((org.omg.CORBA_2_3.portable.InputStream) out.create_input_stream()).read_value(); assertEquals("After stream, sv " + mode, a._message, orig._message ); assertEquals("After stream, sv " + mode, a._name, orig._name); } } } catch (Exception ex) { fail(ex + ", Sun fixed this in 1.4.2 only."); } } public void testDirectComunication() { try { h.checkPoint("Value type transfer"); InfoImpl info = new InfoImpl("http://www.gnu.org/software/classpath/classpath.html", "http://www.lietuva.lt/" ); cmInfoImpl cinfo = new cmInfoImpl("http://www.akl.lt/en", "http://www.ffii.org/"); InfoHolder h = new InfoHolder(info); cmInfoHolder ch = new cmInfoHolder(cinfo); object.hello(ch, h); assertEquals("Custom marshal ", "http://www.akl.lt/en+;Names: " + "http://www.akl.lt/en+http://www.gnu.org/software/" + "classpath/classpath.html", ch.value.toString() ); assertEquals("Stramable value ", "http://www.gnu.org/software/classpath/classpath.html" + "+--Messages: http://www.lietuva.lt/+Names: " + "http://www.akl.lt/en+http://www.gnu.org/software/" + "classpath/classpath.html", h.value.toString() ); } catch (Exception ex) { fail(ex + ", Sun fixed this in 1.4.2 only."); } } protected void setUp() { String ior = comServer.start_server(new String[ 0 ]) [ 1 ]; orb = org.omg.CORBA.ORB.init(new String[ 0 ], null); object = (Greetings) orb.string_to_object(ior); } public void test(TestHarness harness) { h = harness; // Set the loader of this class as a context class loader, ensuring that the // CORBA implementation will be able to locate the stub classes. ClassLoader previous = Thread.currentThread().getContextClassLoader(); Thread.currentThread().setContextClassLoader(getClass().getClassLoader()); try { setUp(); testCustomValue(); testStreamableValue(); testDirectComunication(); } catch (Throwable ex) { h.fail("Exception " + ex); } finally { Thread.currentThread().setContextClassLoader(previous); } } }mauve-20140821/gnu/testlet/org/omg/CORBA/0000755000175000001440000000000012375316426016432 5ustar dokousersmauve-20140821/gnu/testlet/org/omg/CORBA/TypeCode/0000755000175000001440000000000012375316426020146 5ustar dokousersmauve-20140821/gnu/testlet/org/omg/CORBA/TypeCode/orbTypecodes.java0000644000175000001440000001257510242735024023453 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.org.omg.CORBA.TypeCode; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.org.omg.CORBA.Asserter; import org.omg.CORBA.ORB; import org.omg.CORBA.ShortHolder; import org.omg.CORBA.StructMember; import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; import org.omg.CORBA.TypeCodePackage.BadKind; import org.omg.CORBA.UnionMember; import org.omg.CORBA.ValueMember; /** * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ public class orbTypecodes extends Asserter implements Testlet { ORB orb = ORB.init(); String id = "gnu"; String name = "classpath"; TypeCode type = new ShortHolder()._type(); int length = 17; public void test(TestHarness harness) { h = harness; test_create_alias_tc(); test_create_array_tc(); test_create_enum_tc(); test_create_exception_tc(); test_create_fixed_tc(); test_create_sequence_tc(); test_create_struct_tc(); test_create_union_tc(); test_create_value_box_tc(); test_create_value_tc(); test_create_wstring_tc(); test_get_primitive_tc(); } public void test_create_alias_tc() { TypeCode t = orb.create_alias_tc(id, name, type); assertEquals("create_alias_tc", t.kind().value(), TCKind._tk_alias); idname(t); } public void test_create_array_tc() { TypeCode t = orb.create_array_tc(length, type); assertEquals("create_array_tc", t.kind().value(), TCKind._tk_array); length(t); component(t); } public void test_create_enum_tc() { TypeCode t = orb.create_enum_tc(id, name, new String[ 0 ]); assertEquals("create_enum_tc", t.kind().value(), TCKind._tk_enum); idname(t); } public void test_create_exception_tc() { TypeCode t = orb.create_exception_tc(id, name, new StructMember[ 0 ]); assertEquals("create_exception_tc", t.kind().value(), TCKind._tk_except); idname(t); } public void test_create_fixed_tc() { try { TypeCode t = orb.create_fixed_tc((short) 15, (short) 6); assertEquals("fixed digits", t.fixed_digits(), (short) 15); assertEquals("fixed scale", t.fixed_scale(), (short) 6); assertEquals("create_fixed_tc", t.kind().value(), TCKind._tk_fixed); } catch (BadKind ex) { fail("BadKind exception when testing fixed tc"); } } public void test_create_sequence_tc() { TypeCode t = orb.create_sequence_tc(length, type); assertEquals("create_sequence_tc", t.kind().value(), TCKind._tk_sequence); length(t); component(t); } public void test_create_string_tc() { TypeCode t = orb.create_string_tc(length); assertEquals("create_string_tc", t.kind().value(), TCKind._tk_string); length(t); } public void test_create_struct_tc() { TypeCode t = orb.create_struct_tc(id, name, new StructMember[ 0 ]); assertEquals("create_struct_tc", t.kind().value(), TCKind._tk_struct); idname(t); } public void test_create_union_tc() { TypeCode t = orb.create_union_tc(id, name, type, new UnionMember[ 0 ]); assertEquals("create_union_tc", t.kind().value(), TCKind._tk_union); idname(t); } public void test_create_value_box_tc() { TypeCode t = orb.create_value_box_tc(id, name, type); assertEquals("create_value_box_tc", t.kind().value(), TCKind._tk_value_box); idname(t); } public void test_create_value_tc() { TypeCode t = orb.create_value_tc(id, name, (short) 0, type, new ValueMember[ 0 ]); assertEquals("create_value_tc", t.kind().value(), TCKind._tk_value); idname(t); } public void test_create_wstring_tc() { TypeCode t = orb.create_wstring_tc(length); assertEquals("create_wstring_tc", t.kind().value(), TCKind._tk_wstring); length(t); } public void test_get_primitive_tc() { TypeCode t = orb.get_primitive_tc(TCKind.tk_short); assertEquals("get_primitive_tc", t.kind().value(), TCKind._tk_short); } void component(TypeCode t) { try { assertEquals("sequence or array component type", t.content_type().kind().value(), type.kind().value() ); } catch (BadKind ex) { fail("Unexpected bad kind for content type"); } } void idname(TypeCode t) { try { assertEquals("id", t.id(), id); assertEquals("name", t.name(), name); } catch (BadKind ex) { fail("Unexpected bad kind for id or name"); } } void length(TypeCode t) { try { assertEquals("content type", t.length(), length); } catch (BadKind ex) { fail("Unexpected bad kind for length"); } } } mauve-20140821/gnu/testlet/org/omg/CORBA/Any/0000755000175000001440000000000012375316426017161 5ustar dokousersmauve-20140821/gnu/testlet/org/omg/CORBA/Any/testAny.java0000644000175000001440000002032411030375476021451 0ustar dokousers// Tags: JDK1.2 // Uses: ../Asserter // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.org.omg.CORBA.Any; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.org.omg.CORBA.Asserter; import org.omg.CORBA.Any; import org.omg.CORBA.BAD_INV_ORDER; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.ORB; import org.omg.CORBA.ShortHolder; import org.omg.CORBA.ShortSeqHolder; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.Streamable; import java.math.BigDecimal; import java.util.Random; /** * Test the CORBA Any. The actual class being tested is obtained from * the ORB and depends from the implementation; in GNU Classpath it is * gnu.CORBA.gnuAny. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ public class testAny extends Asserter implements Testlet { private Any any; private ORB orb; private Random r = new Random(); public void test(TestHarness harness) { h = harness; orb = ORB.init(); any = orb.create_any(); testEquals(); testExtract_any(); testExtract_boolean(); testExtract_char(); testExtract_double(); testExtract_fixed(); testExtract_float(); testExtract_long(); testExtract_longlong(); testExtract_octet(); testExtract_short(); testExtract_Streamable(); testExtract_string(); testExtract_TypeCode(); testExtract_ulong(); testExtract_ulonglong(); testExtract_ushort(); testExtract_wchar(); testExtract_wstring(); } public void testEquals() { Any other = orb.create_any(); other.insert_string("other"); any.insert_string("this"); assertFalse("eq1", any.equal(other)); any.insert_string("other"); assertTrue("eq2", any.equal(other)); any.insert_long(1); assertFalse("eq3", any.equal(other)); } public void testExtract_Streamable() throws BAD_INV_ORDER { Streamable expectedReturn = new ShortHolder((short) r.nextInt(Short.MAX_VALUE)); any.insert_Streamable(expectedReturn); Streamable actualReturn = any.extract_Streamable(); assertEquals("Streamable", expectedReturn, actualReturn); } public void testExtract_TypeCode() throws BAD_OPERATION { TypeCode expectedReturn = new ShortSeqHolder(new short[ 0 ])._type(); any.insert_TypeCode(expectedReturn); TypeCode actualReturn = any.extract_TypeCode(); assertEquals("typecode", expectedReturn, actualReturn); } public void testExtract_any() throws BAD_OPERATION { Any expectedReturn = orb.create_any(); expectedReturn.insert_longlong(r.nextLong()); any.insert_any(expectedReturn); Any actualReturn = any.extract_any(); assertEquals("Any inside Any", expectedReturn, actualReturn); } public void testExtract_boolean() throws BAD_OPERATION { boolean expectedReturn = false; any.insert_boolean(expectedReturn); boolean actualReturn = any.extract_boolean(); assertEquals("boolean", expectedReturn, actualReturn); expectedReturn = true; any.insert_boolean(expectedReturn); actualReturn = any.extract_boolean(); assertEquals("boolean", expectedReturn, actualReturn); } public void testExtract_char() throws BAD_OPERATION { char expectedReturn = 'z'; any.insert_char(expectedReturn); char actualReturn = any.extract_char(); assertEquals("char", expectedReturn, actualReturn); } public void testExtract_double() throws BAD_OPERATION { double expectedReturn = r.nextDouble(); any.insert_double(expectedReturn); double actualReturn = any.extract_double(); assertEquals("double", expectedReturn, actualReturn, Double.MIN_VALUE); } public void testExtract_fixed() throws BAD_OPERATION { BigDecimal expectedReturn = new BigDecimal("123.456"); any.insert_fixed(expectedReturn, orb.create_fixed_tc((short) 6, (short) expectedReturn.scale() ) ); BigDecimal actualReturn = any.extract_fixed(); assertEquals("fixed", expectedReturn, actualReturn); } public void testExtract_float() throws BAD_OPERATION { float expectedReturn = r.nextFloat(); any.insert_float(expectedReturn); float actualReturn = any.extract_float(); assertEquals("float", expectedReturn, actualReturn, Float.MIN_VALUE); } public void testExtract_long() throws BAD_OPERATION { int expectedReturn = r.nextInt() - Integer.MAX_VALUE / 2; any.insert_long(expectedReturn); int actualReturn = any.extract_long(); assertEquals("long", expectedReturn, actualReturn); } public void testExtract_longlong() throws BAD_OPERATION { long expectedReturn = r.nextLong() - (Long.MAX_VALUE / 2); any.insert_longlong(expectedReturn); long actualReturn = any.extract_longlong(); assertEquals("long", expectedReturn, actualReturn); } public void testExtract_octet() throws BAD_OPERATION { byte expectedReturn = (byte) r.nextInt(Byte.MAX_VALUE); any.insert_octet(expectedReturn); byte actualReturn = any.extract_octet(); assertEquals("byte (octet)", expectedReturn, actualReturn); } public void testExtract_short() throws BAD_OPERATION { short expectedReturn = (short) (r.nextInt(Short.MAX_VALUE) - Short.MAX_VALUE / 2); any.insert_short(expectedReturn); short actualReturn = any.extract_short(); assertEquals("short", expectedReturn, actualReturn); } public void testExtract_string() throws BAD_OPERATION { String expectedReturn = "http://www.lithuania.lt"; any.insert_string(expectedReturn); String actualReturn = any.extract_string(); assertEquals("string", expectedReturn, actualReturn); } public void testExtract_ulong() throws BAD_OPERATION { int expectedReturn = r.nextInt(Integer.MAX_VALUE); any.insert_ulong(expectedReturn); int actualReturn = any.extract_ulong(); assertEquals("unsigned long", expectedReturn, actualReturn); } public void testExtract_ulonglong() throws BAD_OPERATION { long expectedReturn = Math.abs(r.nextLong()); any.insert_ulonglong(expectedReturn); long actualReturn = any.extract_ulonglong(); assertEquals("unsigned long long", expectedReturn, actualReturn); } public void testExtract_ushort() throws BAD_OPERATION { short expectedReturn = (short) r.nextInt(Short.MAX_VALUE); any.insert_ushort(expectedReturn); short actualReturn = any.extract_ushort(); assertEquals("unsigned short", expectedReturn, actualReturn); } public void testExtract_wchar() throws BAD_OPERATION { char expectedReturn = '\u017E'; any.insert_wchar(expectedReturn); char actualReturn = any.extract_wchar(); assertEquals("wchar", expectedReturn, actualReturn); } public void testExtract_wstring() throws BAD_OPERATION { String expectedReturn = "http://www.lithuania.lt and \u0105\u010D\u0119\u0117" + "\u012F\u0161\u0173\u016B\u017E\u0104\u0118."; any.insert_wstring(expectedReturn); String actualReturn = any.extract_wstring(); assertEquals("wstring", expectedReturn, actualReturn); } } mauve-20140821/gnu/testlet/org/omg/CORBA/Asserter.java0000644000175000001440000000145210242735024021055 0ustar dokouserspackage gnu.testlet.org.omg.CORBA; import gnu.testlet.TestHarness; public class Asserter { protected TestHarness h; public void assertTrue(String why, boolean a) { h.check(a, why); } public void assertEquals(String why, Object a, Object b) { if (a==null && b==null) return; h.check(a, b, why); } public void assertEquals(String why, long a, long b) { h.check(a, b, why); } public void assertEquals(String why, boolean a, boolean b) { h.check(a, b, why); } public void assertEquals(String why, double a, double b, double delta) { if (Math.abs(a-b)>delta) h.fail(a+" and "+b+", "+why); } public void fail(String why) { h.fail(why); } public void assertFalse(String why, boolean x_false) { h.check(!x_false, why); } }mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/0000755000175000001440000000000012375316426017054 5ustar dokousersmauve-20140821/gnu/testlet/org/omg/CORBA/ORB/Asynchron/0000755000175000001440000000000012375316426021020 5ustar dokousersmauve-20140821/gnu/testlet/org/omg/CORBA/ORB/Asynchron/async.java0000644000175000001440000000210510447766312022777 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.org.omg.CORBA.ORB.Asynchron; /** * The parallel submission handler implementation interface. * * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ interface async { /** * Sleep for the given duration, when return. */ int sleep_and_return (int duration); } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/Asynchron/assServant.java0000644000175000001440000000226510447766312024022 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.org.omg.CORBA.ORB.Asynchron; /** * The parallel submission handler implementation (server side). * * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ class assServant extends _asyncImplBase { public int sleep_and_return(int duration) { try { Thread.sleep(duration); } catch (InterruptedException ex) { } return duration; } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/Asynchron/assServer.java0000644000175000001440000000350310245057346023636 0ustar dokousers// Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.org.omg.CORBA.ORB.Asynchron; import org.omg.CORBA.ORB; /** * The server for handling parallel submissions. * * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public class assServer { public static String[] start_server(int n) { try { // Create and initialize the ORB. final ORB orb = ORB.init(new String[0], null); String[] iors = new String[ n ]; for (int i = 0; i < iors.length; i++) { // Create the servant and register it with the ORB. assServant tester = new assServant(); orb.connect(tester); iors [ i ] = orb.object_to_string(tester); } new Thread() { public void run() { // Start the thread, serving the invocations from clients. orb.run(); } }.start(); return iors; } catch (Exception e) { System.err.println("ERROR: " + e); e.printStackTrace(System.out); return null; } } }mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/Asynchron/_asyncStub.java0000644000175000001440000000424710447766312024005 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.org.omg.CORBA.ORB.Asynchron; import org.omg.CORBA.MARSHAL; import org.omg.CORBA.portable.ApplicationException; import org.omg.CORBA.portable.Delegate; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.ObjectImpl; import org.omg.CORBA.portable.OutputStream; import org.omg.CORBA.portable.RemarshalException; /** * The parallel submission handler implementation stub (client side). * * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ class _asyncStub extends ObjectImpl implements async { public _asyncStub(Delegate delegate) { super(); _set_delegate(delegate); } /** * Sleep for the given duration, when return. */ public int sleep_and_return(int duration) { InputStream in = null; try { OutputStream out = _request("sleep_and_return", true); out.write_long(duration); in = _invoke(out); return in.read_long(); } catch (ApplicationException ex) { in = ex.getInputStream(); String _id = ex.getId(); throw new MARSHAL(_id); } catch (RemarshalException _rm) { return sleep_and_return(duration); } finally { _releaseReply(in); } } private static String[] __ids = { "IDL:test/org/omg/CORBA/Asynchron/async:1.0" }; public String[] _ids() { return (String[]) __ids.clone(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/Asynchron/_asyncImplBase.java0000644000175000001440000000345410447766312024563 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.org.omg.CORBA.ORB.Asynchron; import org.omg.CORBA.portable.InvokeHandler; import org.omg.CORBA.portable.ObjectImpl; import org.omg.CORBA.portable.OutputStream; /** * The parallel submission handler implementation base (server side). * * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ abstract class _asyncImplBase extends ObjectImpl implements async, InvokeHandler { public OutputStream _invoke(String method, org.omg.CORBA.portable.InputStream in, org.omg.CORBA.portable.ResponseHandler rh ) { // Simplified case (only one method - no need for switch). org.omg.CORBA.portable.OutputStream out = null; int duration = in.read_long(); int result = sleep_and_return(duration); out = rh.createReply(); out.write_long(result); return out; } private static String[] __ids = { "IDL:test/org/omg/CORBA/Asynchron/async:1.0" }; public String[] _ids() { return __ids; } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/parallelRunTest.java0000644000175000001440000001421410245057346023037 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.org.omg.CORBA.ORB; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.org.omg.CORBA.ORB.Asynchron.assServer; import org.omg.CORBA.ORB; import org.omg.CORBA.Request; import org.omg.CORBA.TCKind; import java.util.BitSet; import java.util.Random; import gnu.testlet.org.omg.CORBA.Asserter; /** * This test checks if the server is able to handle parallel * submissions that are sent by * orb.send_multiple_requests_deferred. The server should handle * requests to the different objects in parallel threads. * * As the "task" is just to wait for the given duration, * it is possible to simulate a "distributed computing" on a single * processor machine and get the "acceleration factor". This * accelerator factor is checked for the minimal allowed value. * * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public class parallelRunTest extends Asserter implements Testlet { public void test(TestHarness harness) { h = harness; // 1. Testing the ORB methods. // Number of serving objects. int servers = 20; // Number of tasks to serve. int requests = 30; // Max tasks per object. int max_tasks = 2; String[] iors = assServer.start_server(servers); BitSet served = new BitSet(); ORB orb = org.omg.CORBA.ORB.init(new String[ 0 ], null); // Make pause for the processes to start. try { Thread.sleep(500); } catch (InterruptedException ex) { } org.omg.CORBA.Object[] objects = new org.omg.CORBA.Object[ servers ]; for (int i = 0; i < iors.length; i++) { objects [ i ] = orb.string_to_object(iors [ i ]); } int[] times = new int[ requests ]; Random r = new Random(); for (int i = 0; i < times.length; i++) { times [ i ] = r.nextInt(200) + 200; served.set(times [ i ]); } Request[] reqs = new Request[ requests ]; // The server may limit number of the queued requests per // socket. We allow no more than 10 tasks per socket. int[] tasks = new int[ servers ]; int rn; for (int i = 0; i < reqs.length; i++) { do { rn = r.nextInt(objects.length); } while (tasks [ rn ] > max_tasks); tasks [ rn ]++; // The object to handle the requrest is selected randomly. // The acceleration factor will be lower than the number // of the "parallelized objects". This is sufficient // as this is just a test, not a real distribute computing task. Request rq = objects [ rn ]._create_request(null, "sleep_and_return", orb.create_list(1), null ); rq.set_return_type(orb.get_primitive_tc(TCKind.tk_long)); rq.add_in_arg().insert_long(times [ i ]); reqs [ i ] = rq; } long started = System.currentTimeMillis(); orb.send_multiple_requests_deferred(reqs); // Be sure the execution has returned correctly. assertTrue("Hangs on orb.send_multiple_requests_defferred", System.currentTimeMillis() < started + 199 ); assertTrue("orb.send_multiple_requests_defferred:"+ "Cannot be ready immediately", !orb.poll_next_response()); for (int i = 0; i < reqs.length; i++) { try { Request a = orb.get_next_response(); served.clear(a.result().value().extract_long()); } catch (Exception ex) { ex.printStackTrace(); } } // Check the acceleration factor. long done_in = System.currentTimeMillis() - started; long required = 0; for (int i = 0; i < times.length; i++) { required += times [ i ]; } // Compute the acceleration factor * 100 %. int acceleration = (int) ((100 * required) / done_in); // With 20 virtual servers and the used algorithm, we should // expect at least five-fold acceleration. assertTrue("Parallel work is broken :" + acceleration, acceleration > 500); assertEquals("Not all tasks served", served.cardinality(), 0); // 2. Testing the Request methods. Request rq = objects [ 0 ]._create_request(null, "sleep_and_return", orb.create_list(1), null ); rq.set_return_type(orb.get_primitive_tc(TCKind.tk_long)); rq.add_in_arg().insert_long(200); long t = System.currentTimeMillis(); rq.send_deferred(); // Be sure the execution has returned correctly. assertTrue("Hangs on Request.send_defferred", System.currentTimeMillis() < t + 199 ); assertTrue("Request.send_defferred:cannot be ready immediately", !rq.poll_response()); try { Thread.sleep(300); } catch (InterruptedException ex) { } assertTrue("Request.send_defferred:Must be ready now", rq.poll_response()); assertEquals("Request.send_defferred:Result must be ready", rq.result().value().extract_long(), 200); orb.shutdown(true); } }mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/DirectTest.java0000644000175000001440000001603211030375476021770 0ustar dokousers// Tags: JDK1.2 // Uses: ../Asserter /* DirectTest.java -- Copyright (C) 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath 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 version 2, or (at your option) any later version. GNU Classpath 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 Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package gnu.testlet.org.omg.CORBA.ORB; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.ByteHolder; import org.omg.CORBA.DoubleHolder; import org.omg.CORBA.ORB; import org.omg.CORBA.ShortHolder; import org.omg.CORBA.StringHolder; import org.omg.CORBA.UserException; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.org.omg.CORBA.Asserter; import gnu.testlet.org.omg.CORBA.ORB.communication.comTester; import gnu.testlet.org.omg.CORBA.ORB.communication.node; import gnu.testlet.org.omg.CORBA.ORB.communication.nodeHolder; import gnu.testlet.org.omg.CORBA.ORB.communication.ourUserException; import gnu.testlet.org.omg.CORBA.ORB.communication.passThis; import gnu.testlet.org.omg.CORBA.ORB.communication.returnThis; /** * Test the invocations by direct call after casting to an interface. Warning: * this test start CORBA server on port 1126. Be sure your security restrictions * allow that server to start. This Classpath example was modified, converting * it into the test. * * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public class DirectTest extends Asserter implements Testlet { ORB orb; ORB server; comTester object; public void test(TestHarness harness) { try { setUp(); } catch (Exception ex) { ex.printStackTrace(); harness.fail(ex.getClass().getName() + " in setup."); } h = harness; testField(); testParameters(); testStringArray(); testStructure(); testSystemException(); testTree(); testUserException(); testWideNarrowStrings(); } /** * Test the field getter/setter. */ public void testField() { int def = object.theField(); assertEquals("Initial value", def, 17); object.theField(55); int changed = object.theField(); assertEquals("Changed value", changed, 55); // Put the old value back, allowing to re-run the test. object.theField(17); } public void testParameters() { ByteHolder a_byte = new ByteHolder((byte) 0); ShortHolder a_short = new ShortHolder((short) 3); StringHolder a_string = new StringHolder("[string 4]"); // This is an 'out' parameter; the value must not be passed to servant. DoubleHolder a_double = new DoubleHolder(56.789); int returned = object.passSimple(a_byte, 2, a_short, a_string, a_double); assertEquals("Returned value", returned, 452572); assertEquals("octet", a_byte.value, 1); assertEquals("short", a_short.value, 4); assertEquals("string", a_string.value, "[string 4] [return]"); assertEquals("double", a_double.value, 1.0, Double.MIN_VALUE); } public void testStringArray() { String[] x = new String[] { "one", "two" }; String[] y = object.passStrings(x); for (int i = 0; i < y.length; i++) { assertEquals("string[]", y [ i ], x [ i ] + ":" + x [ i ]); } } public void testStructure() { passThis arg = new passThis(); arg.a = "A"; arg.b = "B"; returnThis r = object.passStructure(arg); assertEquals("struct, string field", r.c, "AB"); assertEquals("struct, int field", r.n, 555); assertEquals("array", r.arra [ 0 ], 11); assertEquals("array", r.arra [ 1 ], 22); assertEquals("array", r.arra [ 2 ], 33); } public void testSystemException() { try { object.throwException(-55); fail("The BAD_OPERATION is not thrown"); } catch (BAD_OPERATION ex) { assertEquals("Minor code", ex.minor, 456); } catch (UserException uex) { fail("User exception must not be thrown"); } } public void testTree() { node n = nod("Root"); n.children = new node[] { nod("a"), nod("b") }; n.children [ 1 ].children = new node[] { nod("ba"), nod("bb") }; n.children [ 1 ].children [ 0 ].children = new node[] { nod("bac") }; nodeHolder nh = new nodeHolder(n); object.passTree(nh); // Convert the returned tree to some strig representation. StringBuffer img = new StringBuffer(); getImage(img, nh.value); assertEquals("Tree image", "Root++: (a++: () b++: (ba++: (bac++: () ) bb++: () ) ) ", img.toString() ); } public void testUserException() { try { object.throwException(123); fail("The user exception is not thrown"); } catch (ourUserException uex) { assertEquals("User exception arg", uex.ourField, 123); } } public void testWideNarrowStrings() throws BAD_OPERATION { String r = object.passCharacters("wide string", "narrow string"); assertEquals("Returned value", r, "return 'narrow string' and 'wide string'"); } protected void setUp() throws java.lang.Exception { String ior = comServer.start_server(new String[ 0 ])[0]; orb = org.omg.CORBA.ORB.init(new String[ 0 ], null); object = (comTester) orb.string_to_object(ior); } private void getImage(StringBuffer b, node n) { b.append(n.name); b.append(": ("); for (int i = 0; i < n.children.length; i++) { getImage(b, n.children [ i ]); b.append(' '); } b.append(") "); } private node nod(String hdr) { node n = new node(); n.children = new node[ 0 ]; n.name = hdr; return n; } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/0000755000175000001440000000000012375316426017525 5ustar dokousersmauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_longHelper.java0000644000175000001440000000634010451015575024430 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class C_array_e_longHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_long:1.0"; public static void insert(org.omg.CORBA.Any a, int[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static int[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); __typeCode = org.omg.CORBA.ORB.init().create_array_tc(2, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_longHelper.id(), "C_array_e_long", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static int[] read(org.omg.CORBA.portable.InputStream istream) { int[] value = null; value = new int[ 2 ]; for (int _o0 = 0; _o0 < (2); ++_o0) { value [ _o0 ] = istream.read_long(); } return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, int[] value ) { if (value.length != (2)) throw new org.omg.CORBA.MARSHAL(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE ); for (int _i0 = 0; _i0 < (2); ++_i0) { ostream.write_long(value [ _i0 ]); } } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_shortHelper.java0000644000175000001440000001120010451015575023421 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // D package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class D_d_shortHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_short:1.0"; public static void insert(org.omg.CORBA.Any a, D_d_short that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static D_d_short extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { org.omg.CORBA.TypeCode _disTypeCode0; _disTypeCode0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_short); org.omg.CORBA.UnionMember[] _members0 = new org.omg.CORBA.UnionMember[ 2 ]; org.omg.CORBA.TypeCode _tcOf_members0; org.omg.CORBA.Any _anyOf_members0; // Branch for l1 _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_short((short) 1); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); _members0 [ 0 ] = new org.omg.CORBA.UnionMember("l1", _anyOf_members0, _tcOf_members0, null ); // Branch for l2 _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_short((short) 2); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); _members0 [ 1 ] = new org.omg.CORBA.UnionMember("l2", _anyOf_members0, _tcOf_members0, null ); __typeCode = org.omg.CORBA.ORB.init().create_union_tc(D_d_shortHelper.id(), "D_d_short", _disTypeCode0, _members0 ); } return __typeCode; } public static String id() { return _id; } public static D_d_short read(org.omg.CORBA.portable.InputStream istream) { D_d_short value = new D_d_short(); short _dis0 = (short) 0; _dis0 = istream.read_short(); switch (_dis0) { case 1 : int _l1 = (int) 0; _l1 = istream.read_long(); value.l1(_l1); break; case 2 : int _l2 = (int) 0; _l2 = istream.read_long(); value.l2(_l2); break; default : throw new org.omg.CORBA.BAD_OPERATION(); } return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, D_d_short value ) { ostream.write_short(value.discriminator()); switch (value.discriminator()) { case 1 : ostream.write_long(value.l1()); break; case 2 : ostream.write_long(value.l2()); break; default : throw new org.omg.CORBA.BAD_OPERATION(); } } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_charHelper.java0000644000175000001440000000634610451015575024414 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class C_array_e_charHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_char:1.0"; public static void insert(org.omg.CORBA.Any a, char[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static char[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_char); __typeCode = org.omg.CORBA.ORB.init().create_array_tc(2, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_charHelper.id(), "C_array_e_char", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static char[] read(org.omg.CORBA.portable.InputStream istream) { char[] value = null; value = new char[ 2 ]; for (int _o0 = 0; _o0 < (2); ++_o0) { value [ _o0 ] = istream.read_char(); } return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, char[] value ) { if (value.length != (2)) throw new org.omg.CORBA.MARSHAL(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE ); for (int _i0 = 0; _i0 < (2); ++_i0) { ostream.write_char(value [ _i0 ]); } } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/rf11Holder.java0000644000175000001440000000363310250313742022270 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class rf11Holder implements org.omg.CORBA.portable.Streamable { public NEC_RF11 value = null; public rf11Holder() { } public rf11Holder(NEC_RF11 initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = rf11Helper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { rf11Helper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return rf11Helper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/G_structHolder.java0000644000175000001440000000367010250313742023312 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // G package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class G_structHolder implements org.omg.CORBA.portable.Streamable { public G_struct value = null; public G_structHolder() { } public G_structHolder(G_struct initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = G_structHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { G_structHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return G_structHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/G_exceptHolder.java0000644000175000001440000000367310250313742023261 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class G_exceptHolder implements org.omg.CORBA.portable.Streamable { public G_except value = null; public G_exceptHolder () { } public G_exceptHolder (G_except initialValue) { value = initialValue; } public void _read (org.omg.CORBA.portable.InputStream i) { value = G_exceptHelper.read (i); } public void _write (org.omg.CORBA.portable.OutputStream o) { G_exceptHelper.write (o, value); } public org.omg.CORBA.TypeCode _type () { return G_exceptHelper.type (); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/_rf11ImplBase.java0000644000175000001440000014231310451015575022713 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class _rf11ImplBase extends org.omg.CORBA.portable.ObjectImpl implements NEC_RF11, org.omg.CORBA.portable.InvokeHandler { // Constructors public _rf11ImplBase() { } private static java.util.Hashtable _methods = new java.util.Hashtable(); static { _methods.put("op1", new java.lang.Integer(0)); _methods.put("op2", new java.lang.Integer(1)); _methods.put("op3", new java.lang.Integer(2)); _methods.put("op4", new java.lang.Integer(3)); _methods.put("op5", new java.lang.Integer(4)); _methods.put("op6", new java.lang.Integer(5)); _methods.put("op7", new java.lang.Integer(6)); _methods.put("op8", new java.lang.Integer(7)); _methods.put("op9", new java.lang.Integer(8)); _methods.put("op10", new java.lang.Integer(9)); _methods.put("op11", new java.lang.Integer(10)); _methods.put("op12", new java.lang.Integer(11)); _methods.put("op15", new java.lang.Integer(12)); _methods.put("op16", new java.lang.Integer(13)); _methods.put("op17", new java.lang.Integer(14)); _methods.put("op18", new java.lang.Integer(15)); _methods.put("op19", new java.lang.Integer(16)); _methods.put("op20", new java.lang.Integer(17)); _methods.put("op21", new java.lang.Integer(18)); _methods.put("op22", new java.lang.Integer(19)); _methods.put("op23", new java.lang.Integer(20)); _methods.put("op24", new java.lang.Integer(21)); _methods.put("op25", new java.lang.Integer(22)); _methods.put("op26", new java.lang.Integer(23)); _methods.put("op27", new java.lang.Integer(24)); _methods.put("op28", new java.lang.Integer(25)); _methods.put("op29", new java.lang.Integer(26)); _methods.put("op32", new java.lang.Integer(27)); _methods.put("op33", new java.lang.Integer(28)); _methods.put("op34", new java.lang.Integer(29)); _methods.put("op35", new java.lang.Integer(30)); _methods.put("op36", new java.lang.Integer(31)); _methods.put("op37", new java.lang.Integer(32)); _methods.put("op38", new java.lang.Integer(33)); _methods.put("op39", new java.lang.Integer(34)); _methods.put("op40", new java.lang.Integer(35)); _methods.put("op41", new java.lang.Integer(36)); _methods.put("op42", new java.lang.Integer(37)); _methods.put("op43", new java.lang.Integer(38)); _methods.put("op46", new java.lang.Integer(39)); _methods.put("op47", new java.lang.Integer(40)); _methods.put("op48", new java.lang.Integer(41)); _methods.put("op49", new java.lang.Integer(42)); _methods.put("op50", new java.lang.Integer(43)); _methods.put("op51", new java.lang.Integer(44)); _methods.put("op52", new java.lang.Integer(45)); _methods.put("op53", new java.lang.Integer(46)); _methods.put("op54", new java.lang.Integer(47)); _methods.put("op55", new java.lang.Integer(48)); _methods.put("op56", new java.lang.Integer(49)); _methods.put("op57", new java.lang.Integer(50)); _methods.put("op58", new java.lang.Integer(51)); _methods.put("op59", new java.lang.Integer(52)); _methods.put("op60", new java.lang.Integer(53)); _methods.put("op89", new java.lang.Integer(54)); _methods.put("op90", new java.lang.Integer(55)); _methods.put("op119", new java.lang.Integer(56)); _methods.put("op120", new java.lang.Integer(57)); _methods.put("op121", new java.lang.Integer(58)); _methods.put("op122", new java.lang.Integer(59)); _methods.put("op125", new java.lang.Integer(60)); _methods.put("op126", new java.lang.Integer(61)); _methods.put("op129", new java.lang.Integer(62)); _methods.put("op130", new java.lang.Integer(63)); _methods.put("op131", new java.lang.Integer(64)); _methods.put("excop1", new java.lang.Integer(65)); _methods.put("excop2", new java.lang.Integer(66)); _methods.put("excop3", new java.lang.Integer(67)); _methods.put("excop4", new java.lang.Integer(68)); _methods.put("excop5", new java.lang.Integer(69)); _methods.put("excop6", new java.lang.Integer(70)); _methods.put("excop7", new java.lang.Integer(71)); _methods.put("excop8", new java.lang.Integer(72)); _methods.put("excop9", new java.lang.Integer(73)); _methods.put("excop10", new java.lang.Integer(74)); } public org.omg.CORBA.portable.OutputStream _invoke(String method, org.omg.CORBA.portable.InputStream in, org.omg.CORBA.portable.ResponseHandler rh ) { org.omg.CORBA.portable.OutputStream out = null; java.lang.Integer __method = (java.lang.Integer) _methods.get(method); if (__method == null) throw new org.omg.CORBA.BAD_OPERATION(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE ); switch (__method.intValue()) { // A case 0 : // rf11/op1 { short argin = in.read_short(); org.omg.CORBA.ShortHolder argout = new org.omg.CORBA.ShortHolder(); org.omg.CORBA.ShortHolder arginout = new org.omg.CORBA.ShortHolder(); arginout.value = in.read_short(); short __result = (short) 0; __result = this.op1(argin, argout, arginout); out = rh.createReply(); out.write_short(__result); out.write_short(argout.value); out.write_short(arginout.value); break; } case 1 : // rf11/op2 { short argin = in.read_ushort(); org.omg.CORBA.ShortHolder argout = new org.omg.CORBA.ShortHolder(); org.omg.CORBA.ShortHolder arginout = new org.omg.CORBA.ShortHolder(); arginout.value = in.read_ushort(); short __result = (short) 0; __result = this.op2(argin, argout, arginout); out = rh.createReply(); out.write_ushort(__result); out.write_ushort(argout.value); out.write_ushort(arginout.value); break; } case 2 : // rf11/op3 { int argin = in.read_long(); org.omg.CORBA.IntHolder argout = new org.omg.CORBA.IntHolder(); org.omg.CORBA.IntHolder arginout = new org.omg.CORBA.IntHolder(); arginout.value = in.read_long(); int __result = (int) 0; __result = this.op3(argin, argout, arginout); out = rh.createReply(); out.write_long(__result); out.write_long(argout.value); out.write_long(arginout.value); break; } case 3 : // rf11/op4 { int argin = in.read_ulong(); org.omg.CORBA.IntHolder argout = new org.omg.CORBA.IntHolder(); org.omg.CORBA.IntHolder arginout = new org.omg.CORBA.IntHolder(); arginout.value = in.read_ulong(); int __result = (int) 0; __result = this.op4(argin, argout, arginout); out = rh.createReply(); out.write_ulong(__result); out.write_ulong(argout.value); out.write_ulong(arginout.value); break; } case 4 : // rf11/op5 { float argin = in.read_float(); org.omg.CORBA.FloatHolder argout = new org.omg.CORBA.FloatHolder(); org.omg.CORBA.FloatHolder arginout = new org.omg.CORBA.FloatHolder(); arginout.value = in.read_float(); float __result = (float) 0; __result = this.op5(argin, argout, arginout); out = rh.createReply(); out.write_float(__result); out.write_float(argout.value); out.write_float(arginout.value); break; } case 5 : // rf11/op6 { double argin = in.read_double(); org.omg.CORBA.DoubleHolder argout = new org.omg.CORBA.DoubleHolder(); org.omg.CORBA.DoubleHolder arginout = new org.omg.CORBA.DoubleHolder(); arginout.value = in.read_double(); double __result = (double) 0; __result = this.op6(argin, argout, arginout); out = rh.createReply(); out.write_double(__result); out.write_double(argout.value); out.write_double(arginout.value); break; } case 6 : // rf11/op7 { char argin = in.read_char(); org.omg.CORBA.CharHolder argout = new org.omg.CORBA.CharHolder(); org.omg.CORBA.CharHolder arginout = new org.omg.CORBA.CharHolder(); arginout.value = in.read_char(); char __result = (char) 0; __result = this.op7(argin, argout, arginout); out = rh.createReply(); out.write_char(__result); out.write_char(argout.value); out.write_char(arginout.value); break; } case 7 : // rf11/op8 { boolean argin = in.read_boolean(); org.omg.CORBA.BooleanHolder argout = new org.omg.CORBA.BooleanHolder(); org.omg.CORBA.BooleanHolder arginout = new org.omg.CORBA.BooleanHolder(); arginout.value = in.read_boolean(); boolean __result = false; __result = this.op8(argin, argout, arginout); out = rh.createReply(); out.write_boolean(__result); out.write_boolean(argout.value); out.write_boolean(arginout.value); break; } case 8 : // rf11/op9 { byte argin = in.read_octet(); org.omg.CORBA.ByteHolder argout = new org.omg.CORBA.ByteHolder(); org.omg.CORBA.ByteHolder arginout = new org.omg.CORBA.ByteHolder(); arginout.value = in.read_octet(); byte __result = (byte) 0; __result = this.op9(argin, argout, arginout); out = rh.createReply(); out.write_octet(__result); out.write_octet(argout.value); out.write_octet(arginout.value); break; } case 9 : // rf11/op10 { org.omg.CORBA.Any argin = in.read_any(); org.omg.CORBA.AnyHolder argout = new org.omg.CORBA.AnyHolder(); org.omg.CORBA.AnyHolder arginout = new org.omg.CORBA.AnyHolder(); arginout.value = in.read_any(); org.omg.CORBA.Any __result = null; __result = this.op10(argin, argout, arginout); out = rh.createReply(); out.write_any(__result); out.write_any(argout.value); out.write_any(arginout.value); break; } case 10 : // rf11/op11 { String argin = in.read_string(); org.omg.CORBA.StringHolder argout = new org.omg.CORBA.StringHolder(); org.omg.CORBA.StringHolder arginout = new org.omg.CORBA.StringHolder(); arginout.value = in.read_string(); String __result = null; __result = this.op11(argin, argout, arginout); out = rh.createReply(); out.write_string(__result); out.write_string(argout.value); out.write_string(arginout.value); break; } case 11 : // rf11/op12 { org.omg.CORBA.Object argin = org.omg.CORBA.ObjectHelper.read(in); org.omg.CORBA.ObjectHolder argout = new org.omg.CORBA.ObjectHolder(); org.omg.CORBA.ObjectHolder arginout = new org.omg.CORBA.ObjectHolder(); arginout.value = org.omg.CORBA.ObjectHelper.read(in); org.omg.CORBA.Object __result = null; __result = this.op12(argin, argout, arginout); out = rh.createReply(); org.omg.CORBA.ObjectHelper.write(out, __result); org.omg.CORBA.ObjectHelper.write(out, argout.value); org.omg.CORBA.ObjectHelper.write(out, arginout.value); break; } // B case 12 : // rf11/op15 { B argin = BHelper.read(in); BHolder argout = new BHolder(); BHolder arginout = new BHolder(); arginout.value = BHelper.read(in); B __result = null; __result = this.op15(argin, argout, arginout); out = rh.createReply(); BHelper.write(out, __result); BHelper.write(out, argout.value); BHelper.write(out, arginout.value); break; } // C case 13 : // rf11/op16 { C_struct argin = C_structHelper.read(in); C_structHolder argout = new C_structHolder(); C_structHolder arginout = new C_structHolder(); arginout.value = C_structHelper.read(in); C_struct __result = null; __result = this.op16(argin, argout, arginout); out = rh.createReply(); C_structHelper.write(out, __result); C_structHelper.write(out, argout.value); C_structHelper.write(out, arginout.value); break; } case 14 : // rf11/op17 { C_union argin = C_unionHelper.read(in); C_unionHolder argout = new C_unionHolder(); C_unionHolder arginout = new C_unionHolder(); arginout.value = C_unionHelper.read(in); C_union __result = null; __result = this.op17(argin, argout, arginout); out = rh.createReply(); C_unionHelper.write(out, __result); C_unionHelper.write(out, argout.value); C_unionHelper.write(out, arginout.value); break; } case 15 : // rf11/op18 { short[] argin = C_sequence_e_shortHelper.read(in); C_sequence_e_shortHolder argout = new C_sequence_e_shortHolder(); C_sequence_e_shortHolder arginout = new C_sequence_e_shortHolder(); arginout.value = C_sequence_e_shortHelper.read(in); short[] __result = null; __result = this.op18(argin, argout, arginout); out = rh.createReply(); C_sequence_e_shortHelper.write(out, __result); C_sequence_e_shortHelper.write(out, argout.value); C_sequence_e_shortHelper.write(out, arginout.value); break; } case 16 : // rf11/op19 { short[] argin = C_sequence_e_ushortHelper.read(in); C_sequence_e_ushortHolder argout = new C_sequence_e_ushortHolder(); C_sequence_e_ushortHolder arginout = new C_sequence_e_ushortHolder(); arginout.value = C_sequence_e_ushortHelper.read(in); short[] __result = null; __result = this.op19(argin, argout, arginout); out = rh.createReply(); C_sequence_e_ushortHelper.write(out, __result); C_sequence_e_ushortHelper.write(out, argout.value); C_sequence_e_ushortHelper.write(out, arginout.value); break; } case 17 : // rf11/op20 { int[] argin = C_sequence_e_longHelper.read(in); C_sequence_e_longHolder argout = new C_sequence_e_longHolder(); C_sequence_e_longHolder arginout = new C_sequence_e_longHolder(); arginout.value = C_sequence_e_longHelper.read(in); int[] __result = null; __result = this.op20(argin, argout, arginout); out = rh.createReply(); C_sequence_e_longHelper.write(out, __result); C_sequence_e_longHelper.write(out, argout.value); C_sequence_e_longHelper.write(out, arginout.value); break; } case 18 : // rf11/op21 { int[] argin = C_sequence_e_ulongHelper.read(in); C_sequence_e_ulongHolder argout = new C_sequence_e_ulongHolder(); C_sequence_e_ulongHolder arginout = new C_sequence_e_ulongHolder(); arginout.value = C_sequence_e_ulongHelper.read(in); int[] __result = null; __result = this.op21(argin, argout, arginout); out = rh.createReply(); C_sequence_e_ulongHelper.write(out, __result); C_sequence_e_ulongHelper.write(out, argout.value); C_sequence_e_ulongHelper.write(out, arginout.value); break; } case 19 : // rf11/op22 { float[] argin = C_sequence_e_floatHelper.read(in); C_sequence_e_floatHolder argout = new C_sequence_e_floatHolder(); C_sequence_e_floatHolder arginout = new C_sequence_e_floatHolder(); arginout.value = C_sequence_e_floatHelper.read(in); float[] __result = null; __result = this.op22(argin, argout, arginout); out = rh.createReply(); C_sequence_e_floatHelper.write(out, __result); C_sequence_e_floatHelper.write(out, argout.value); C_sequence_e_floatHelper.write(out, arginout.value); break; } case 20 : // rf11/op23 { double[] argin = C_sequence_e_doubleHelper.read(in); C_sequence_e_doubleHolder argout = new C_sequence_e_doubleHolder(); C_sequence_e_doubleHolder arginout = new C_sequence_e_doubleHolder(); arginout.value = C_sequence_e_doubleHelper.read(in); double[] __result = null; __result = this.op23(argin, argout, arginout); out = rh.createReply(); C_sequence_e_doubleHelper.write(out, __result); C_sequence_e_doubleHelper.write(out, argout.value); C_sequence_e_doubleHelper.write(out, arginout.value); break; } case 21 : // rf11/op24 { char[] argin = C_sequence_e_charHelper.read(in); C_sequence_e_charHolder argout = new C_sequence_e_charHolder(); C_sequence_e_charHolder arginout = new C_sequence_e_charHolder(); arginout.value = C_sequence_e_charHelper.read(in); char[] __result = null; __result = this.op24(argin, argout, arginout); out = rh.createReply(); C_sequence_e_charHelper.write(out, __result); C_sequence_e_charHelper.write(out, argout.value); C_sequence_e_charHelper.write(out, arginout.value); break; } case 22 : // rf11/op25 { boolean[] argin = C_sequence_e_booleanHelper.read(in); C_sequence_e_booleanHolder argout = new C_sequence_e_booleanHolder(); C_sequence_e_booleanHolder arginout = new C_sequence_e_booleanHolder(); arginout.value = C_sequence_e_booleanHelper.read(in); boolean[] __result = null; __result = this.op25(argin, argout, arginout); out = rh.createReply(); C_sequence_e_booleanHelper.write(out, __result); C_sequence_e_booleanHelper.write(out, argout.value); C_sequence_e_booleanHelper.write(out, arginout.value); break; } case 23 : // rf11/op26 { byte[] argin = C_sequence_e_octetHelper.read(in); C_sequence_e_octetHolder argout = new C_sequence_e_octetHolder(); C_sequence_e_octetHolder arginout = new C_sequence_e_octetHolder(); arginout.value = C_sequence_e_octetHelper.read(in); byte[] __result = null; __result = this.op26(argin, argout, arginout); out = rh.createReply(); C_sequence_e_octetHelper.write(out, __result); C_sequence_e_octetHelper.write(out, argout.value); C_sequence_e_octetHelper.write(out, arginout.value); break; } case 24 : // rf11/op27 { org.omg.CORBA.Any[] argin = C_sequence_e_anyHelper.read(in); C_sequence_e_anyHolder argout = new C_sequence_e_anyHolder(); C_sequence_e_anyHolder arginout = new C_sequence_e_anyHolder(); arginout.value = C_sequence_e_anyHelper.read(in); org.omg.CORBA.Any[] __result = null; __result = this.op27(argin, argout, arginout); out = rh.createReply(); C_sequence_e_anyHelper.write(out, __result); C_sequence_e_anyHelper.write(out, argout.value); C_sequence_e_anyHelper.write(out, arginout.value); break; } case 25 : // rf11/op28 { String[] argin = C_sequence_e_stringHelper.read(in); C_sequence_e_stringHolder argout = new C_sequence_e_stringHolder(); C_sequence_e_stringHolder arginout = new C_sequence_e_stringHolder(); arginout.value = C_sequence_e_stringHelper.read(in); String[] __result = null; __result = this.op28(argin, argout, arginout); out = rh.createReply(); C_sequence_e_stringHelper.write(out, __result); C_sequence_e_stringHelper.write(out, argout.value); C_sequence_e_stringHelper.write(out, arginout.value); break; } case 26 : // rf11/op29 { org.omg.CORBA.Object[] argin = C_sequence_e_ObjectHelper.read(in); C_sequence_e_ObjectHolder argout = new C_sequence_e_ObjectHolder(); C_sequence_e_ObjectHolder arginout = new C_sequence_e_ObjectHolder(); arginout.value = C_sequence_e_ObjectHelper.read(in); org.omg.CORBA.Object[] __result = null; __result = this.op29(argin, argout, arginout); out = rh.createReply(); C_sequence_e_ObjectHelper.write(out, __result); C_sequence_e_ObjectHelper.write(out, argout.value); C_sequence_e_ObjectHelper.write(out, arginout.value); break; } case 27 : // rf11/op32 { short[] argin = C_array_e_shortHelper.read(in); C_array_e_shortHolder argout = new C_array_e_shortHolder(); C_array_e_shortHolder arginout = new C_array_e_shortHolder(); arginout.value = C_array_e_shortHelper.read(in); short[] __result = null; __result = this.op32(argin, argout, arginout); out = rh.createReply(); C_array_e_shortHelper.write(out, __result); C_array_e_shortHelper.write(out, argout.value); C_array_e_shortHelper.write(out, arginout.value); break; } case 28 : // rf11/op33 { short[] argin = C_array_e_ushortHelper.read(in); C_array_e_ushortHolder argout = new C_array_e_ushortHolder(); C_array_e_ushortHolder arginout = new C_array_e_ushortHolder(); arginout.value = C_array_e_ushortHelper.read(in); short[] __result = null; __result = this.op33(argin, argout, arginout); out = rh.createReply(); C_array_e_ushortHelper.write(out, __result); C_array_e_ushortHelper.write(out, argout.value); C_array_e_ushortHelper.write(out, arginout.value); break; } case 29 : // rf11/op34 { int[] argin = C_array_e_longHelper.read(in); C_array_e_longHolder argout = new C_array_e_longHolder(); C_array_e_longHolder arginout = new C_array_e_longHolder(); arginout.value = C_array_e_longHelper.read(in); int[] __result = null; __result = this.op34(argin, argout, arginout); out = rh.createReply(); C_array_e_longHelper.write(out, __result); C_array_e_longHelper.write(out, argout.value); C_array_e_longHelper.write(out, arginout.value); break; } case 30 : // rf11/op35 { int[] argin = C_array_e_ulongHelper.read(in); C_array_e_ulongHolder argout = new C_array_e_ulongHolder(); C_array_e_ulongHolder arginout = new C_array_e_ulongHolder(); arginout.value = C_array_e_ulongHelper.read(in); int[] __result = null; __result = this.op35(argin, argout, arginout); out = rh.createReply(); C_array_e_ulongHelper.write(out, __result); C_array_e_ulongHelper.write(out, argout.value); C_array_e_ulongHelper.write(out, arginout.value); break; } case 31 : // rf11/op36 { float[] argin = C_array_e_floatHelper.read(in); C_array_e_floatHolder argout = new C_array_e_floatHolder(); C_array_e_floatHolder arginout = new C_array_e_floatHolder(); arginout.value = C_array_e_floatHelper.read(in); float[] __result = null; __result = this.op36(argin, argout, arginout); out = rh.createReply(); C_array_e_floatHelper.write(out, __result); C_array_e_floatHelper.write(out, argout.value); C_array_e_floatHelper.write(out, arginout.value); break; } case 32 : // rf11/op37 { double[] argin = C_array_e_doubleHelper.read(in); C_array_e_doubleHolder argout = new C_array_e_doubleHolder(); C_array_e_doubleHolder arginout = new C_array_e_doubleHolder(); arginout.value = C_array_e_doubleHelper.read(in); double[] __result = null; __result = this.op37(argin, argout, arginout); out = rh.createReply(); C_array_e_doubleHelper.write(out, __result); C_array_e_doubleHelper.write(out, argout.value); C_array_e_doubleHelper.write(out, arginout.value); break; } case 33 : // rf11/op38 { char[] argin = C_array_e_charHelper.read(in); C_array_e_charHolder argout = new C_array_e_charHolder(); C_array_e_charHolder arginout = new C_array_e_charHolder(); arginout.value = C_array_e_charHelper.read(in); char[] __result = null; __result = this.op38(argin, argout, arginout); out = rh.createReply(); C_array_e_charHelper.write(out, __result); C_array_e_charHelper.write(out, argout.value); C_array_e_charHelper.write(out, arginout.value); break; } case 34 : // rf11/op39 { boolean[] argin = C_array_e_booleanHelper.read(in); C_array_e_booleanHolder argout = new C_array_e_booleanHolder(); C_array_e_booleanHolder arginout = new C_array_e_booleanHolder(); arginout.value = C_array_e_booleanHelper.read(in); boolean[] __result = null; __result = this.op39(argin, argout, arginout); out = rh.createReply(); C_array_e_booleanHelper.write(out, __result); C_array_e_booleanHelper.write(out, argout.value); C_array_e_booleanHelper.write(out, arginout.value); break; } case 35 : // rf11/op40 { byte[] argin = C_array_e_octetHelper.read(in); C_array_e_octetHolder argout = new C_array_e_octetHolder(); C_array_e_octetHolder arginout = new C_array_e_octetHolder(); arginout.value = C_array_e_octetHelper.read(in); byte[] __result = null; __result = this.op40(argin, argout, arginout); out = rh.createReply(); C_array_e_octetHelper.write(out, __result); C_array_e_octetHelper.write(out, argout.value); C_array_e_octetHelper.write(out, arginout.value); break; } case 36 : // rf11/op41 { org.omg.CORBA.Any[] argin = C_array_e_anyHelper.read(in); C_array_e_anyHolder argout = new C_array_e_anyHolder(); C_array_e_anyHolder arginout = new C_array_e_anyHolder(); arginout.value = C_array_e_anyHelper.read(in); org.omg.CORBA.Any[] __result = null; __result = this.op41(argin, argout, arginout); out = rh.createReply(); C_array_e_anyHelper.write(out, __result); C_array_e_anyHelper.write(out, argout.value); C_array_e_anyHelper.write(out, arginout.value); break; } case 37 : // rf11/op42 { String[] argin = C_array_e_stringHelper.read(in); C_array_e_stringHolder argout = new C_array_e_stringHolder(); C_array_e_stringHolder arginout = new C_array_e_stringHolder(); arginout.value = C_array_e_stringHelper.read(in); String[] __result = null; __result = this.op42(argin, argout, arginout); out = rh.createReply(); C_array_e_stringHelper.write(out, __result); C_array_e_stringHelper.write(out, argout.value); C_array_e_stringHelper.write(out, arginout.value); break; } case 38 : // rf11/op43 { org.omg.CORBA.Object[] argin = C_array_e_ObjectHelper.read(in); C_array_e_ObjectHolder argout = new C_array_e_ObjectHolder(); C_array_e_ObjectHolder arginout = new C_array_e_ObjectHolder(); arginout.value = C_array_e_ObjectHelper.read(in); org.omg.CORBA.Object[] __result = null; __result = this.op43(argin, argout, arginout); out = rh.createReply(); C_array_e_ObjectHelper.write(out, __result); C_array_e_ObjectHelper.write(out, argout.value); C_array_e_ObjectHelper.write(out, arginout.value); break; } // D case 39 : // rf11/op46 { D_d_short argin = D_d_shortHelper.read(in); D_d_shortHolder argout = new D_d_shortHolder(); D_d_shortHolder arginout = new D_d_shortHolder(); arginout.value = D_d_shortHelper.read(in); D_d_short __result = null; __result = this.op46(argin, argout, arginout); out = rh.createReply(); D_d_shortHelper.write(out, __result); D_d_shortHelper.write(out, argout.value); D_d_shortHelper.write(out, arginout.value); break; } case 40 : // rf11/op47 { D_d_ushort argin = D_d_ushortHelper.read(in); D_d_ushortHolder argout = new D_d_ushortHolder(); D_d_ushortHolder arginout = new D_d_ushortHolder(); arginout.value = D_d_ushortHelper.read(in); D_d_ushort __result = null; __result = this.op47(argin, argout, arginout); out = rh.createReply(); D_d_ushortHelper.write(out, __result); D_d_ushortHelper.write(out, argout.value); D_d_ushortHelper.write(out, arginout.value); break; } case 41 : // rf11/op48 { D_d_long argin = D_d_longHelper.read(in); D_d_longHolder argout = new D_d_longHolder(); D_d_longHolder arginout = new D_d_longHolder(); arginout.value = D_d_longHelper.read(in); D_d_long __result = null; __result = this.op48(argin, argout, arginout); out = rh.createReply(); D_d_longHelper.write(out, __result); D_d_longHelper.write(out, argout.value); D_d_longHelper.write(out, arginout.value); break; } case 42 : // rf11/op49 { D_d_ulong argin = D_d_ulongHelper.read(in); D_d_ulongHolder argout = new D_d_ulongHolder(); D_d_ulongHolder arginout = new D_d_ulongHolder(); arginout.value = D_d_ulongHelper.read(in); D_d_ulong __result = null; __result = this.op49(argin, argout, arginout); out = rh.createReply(); D_d_ulongHelper.write(out, __result); D_d_ulongHelper.write(out, argout.value); D_d_ulongHelper.write(out, arginout.value); break; } case 43 : // rf11/op50 { D_d_char argin = D_d_charHelper.read(in); D_d_charHolder argout = new D_d_charHolder(); D_d_charHolder arginout = new D_d_charHolder(); arginout.value = D_d_charHelper.read(in); D_d_char __result = null; __result = this.op50(argin, argout, arginout); out = rh.createReply(); D_d_charHelper.write(out, __result); D_d_charHelper.write(out, argout.value); D_d_charHelper.write(out, arginout.value); break; } case 44 : // rf11/op51 { D_d_boolean argin = D_d_booleanHelper.read(in); D_d_booleanHolder argout = new D_d_booleanHolder(); D_d_booleanHolder arginout = new D_d_booleanHolder(); arginout.value = D_d_booleanHelper.read(in); D_d_boolean __result = null; __result = this.op51(argin, argout, arginout); out = rh.createReply(); D_d_booleanHelper.write(out, __result); D_d_booleanHelper.write(out, argout.value); D_d_booleanHelper.write(out, arginout.value); break; } case 45 : // rf11/op52 { D_d_B argin = D_d_BHelper.read(in); D_d_BHolder argout = new D_d_BHolder(); D_d_BHolder arginout = new D_d_BHolder(); arginout.value = D_d_BHelper.read(in); D_d_B __result = null; __result = this.op52(argin, argout, arginout); out = rh.createReply(); D_d_BHelper.write(out, __result); D_d_BHelper.write(out, argout.value); D_d_BHelper.write(out, arginout.value); break; } // E case 46 : // rf11/op53 { E_struct argin = E_structHelper.read(in); E_structHolder argout = new E_structHolder(); E_structHolder arginout = new E_structHolder(); arginout.value = E_structHelper.read(in); E_struct __result = null; __result = this.op53(argin, argout, arginout); out = rh.createReply(); E_structHelper.write(out, __result); E_structHelper.write(out, argout.value); E_structHelper.write(out, arginout.value); break; } case 47 : // rf11/op54 { E_union argin = E_unionHelper.read(in); E_unionHolder argout = new E_unionHolder(); E_unionHolder arginout = new E_unionHolder(); arginout.value = E_unionHelper.read(in); E_union __result = null; __result = this.op54(argin, argout, arginout); out = rh.createReply(); E_unionHelper.write(out, __result); E_unionHelper.write(out, argout.value); E_unionHelper.write(out, arginout.value); break; } case 48 : // rf11/op55 { B[] argin = E_sequenceHelper.read(in); E_sequenceHolder argout = new E_sequenceHolder(); E_sequenceHolder arginout = new E_sequenceHolder(); arginout.value = E_sequenceHelper.read(in); B[] __result = null; __result = this.op55(argin, argout, arginout); out = rh.createReply(); E_sequenceHelper.write(out, __result); E_sequenceHelper.write(out, argout.value); E_sequenceHelper.write(out, arginout.value); break; } case 49 : // rf11/op56 { B[] argin = E_arrayHelper.read(in); E_arrayHolder argout = new E_arrayHolder(); E_arrayHolder arginout = new E_arrayHolder(); arginout.value = E_arrayHelper.read(in); B[] __result = null; __result = this.op56(argin, argout, arginout); out = rh.createReply(); E_arrayHelper.write(out, __result); E_arrayHelper.write(out, argout.value); E_arrayHelper.write(out, arginout.value); break; } // F case 50 : // rf11/op57 { F_struct argin = F_structHelper.read(in); F_structHolder argout = new F_structHolder(); F_structHolder arginout = new F_structHolder(); arginout.value = F_structHelper.read(in); F_struct __result = null; __result = this.op57(argin, argout, arginout); out = rh.createReply(); F_structHelper.write(out, __result); F_structHelper.write(out, argout.value); F_structHelper.write(out, arginout.value); break; } case 51 : // rf11/op58 { F_union argin = F_unionHelper.read(in); F_unionHolder argout = new F_unionHolder(); F_unionHolder arginout = new F_unionHolder(); arginout.value = F_unionHelper.read(in); F_union __result = null; __result = this.op58(argin, argout, arginout); out = rh.createReply(); F_unionHelper.write(out, __result); F_unionHelper.write(out, argout.value); F_unionHelper.write(out, arginout.value); break; } case 52 : // rf11/op59 { C_struct[] argin = F_sequence_e_c_structHelper.read(in); F_sequence_e_c_structHolder argout = new F_sequence_e_c_structHolder(); F_sequence_e_c_structHolder arginout = new F_sequence_e_c_structHolder(); arginout.value = F_sequence_e_c_structHelper.read(in); C_struct[] __result = null; __result = this.op59(argin, argout, arginout); out = rh.createReply(); F_sequence_e_c_structHelper.write(out, __result); F_sequence_e_c_structHelper.write(out, argout.value); F_sequence_e_c_structHelper.write(out, arginout.value); break; } case 53 : // rf11/op60 { C_union[] argin = F_sequence_e_c_unionHelper.read(in); F_sequence_e_c_unionHolder argout = new F_sequence_e_c_unionHolder(); F_sequence_e_c_unionHolder arginout = new F_sequence_e_c_unionHolder(); arginout.value = F_sequence_e_c_unionHelper.read(in); C_union[] __result = null; __result = this.op60(argin, argout, arginout); out = rh.createReply(); F_sequence_e_c_unionHelper.write(out, __result); F_sequence_e_c_unionHelper.write(out, argout.value); F_sequence_e_c_unionHelper.write(out, arginout.value); break; } case 54 : // rf11/op89 { C_struct[] argin = F_array_e_c_structHelper.read(in); F_array_e_c_structHolder argout = new F_array_e_c_structHolder(); F_array_e_c_structHolder arginout = new F_array_e_c_structHolder(); arginout.value = F_array_e_c_structHelper.read(in); C_struct[] __result = null; __result = this.op89(argin, argout, arginout); out = rh.createReply(); F_array_e_c_structHelper.write(out, __result); F_array_e_c_structHelper.write(out, argout.value); F_array_e_c_structHelper.write(out, arginout.value); break; } case 55 : // rf11/op90 { C_union[] argin = F_array_e_c_unionHelper.read(in); F_array_e_c_unionHolder argout = new F_array_e_c_unionHolder(); F_array_e_c_unionHolder arginout = new F_array_e_c_unionHolder(); arginout.value = F_array_e_c_unionHelper.read(in); C_union[] __result = null; __result = this.op90(argin, argout, arginout); out = rh.createReply(); F_array_e_c_unionHelper.write(out, __result); F_array_e_c_unionHelper.write(out, argout.value); F_array_e_c_unionHelper.write(out, arginout.value); break; } // G case 56 : // rf11/op119 { G_struct argin = G_structHelper.read(in); G_structHolder argout = new G_structHolder(); G_structHolder arginout = new G_structHolder(); arginout.value = G_structHelper.read(in); G_struct __result = null; __result = this.op119(argin, argout, arginout); out = rh.createReply(); G_structHelper.write(out, __result); G_structHelper.write(out, argout.value); G_structHelper.write(out, arginout.value); break; } case 57 : // rf11/op120 { G_union argin = G_unionHelper.read(in); G_unionHolder argout = new G_unionHolder(); G_unionHolder arginout = new G_unionHolder(); arginout.value = G_unionHelper.read(in); G_union __result = null; __result = this.op120(argin, argout, arginout); out = rh.createReply(); G_unionHelper.write(out, __result); G_unionHelper.write(out, argout.value); G_unionHelper.write(out, arginout.value); break; } case 58 : // rf11/op121 { E_struct[] argin = G_sequence_e_e_structHelper.read(in); G_sequence_e_e_structHolder argout = new G_sequence_e_e_structHolder(); G_sequence_e_e_structHolder arginout = new G_sequence_e_e_structHolder(); arginout.value = G_sequence_e_e_structHelper.read(in); E_struct[] __result = null; __result = this.op121(argin, argout, arginout); out = rh.createReply(); G_sequence_e_e_structHelper.write(out, __result); G_sequence_e_e_structHelper.write(out, argout.value); G_sequence_e_e_structHelper.write(out, arginout.value); break; } case 59 : // rf11/op122 { E_union[] argin = G_sequence_e_e_unionHelper.read(in); G_sequence_e_e_unionHolder argout = new G_sequence_e_e_unionHolder(); G_sequence_e_e_unionHolder arginout = new G_sequence_e_e_unionHolder(); arginout.value = G_sequence_e_e_unionHelper.read(in); E_union[] __result = null; __result = this.op122(argin, argout, arginout); out = rh.createReply(); G_sequence_e_e_unionHelper.write(out, __result); G_sequence_e_e_unionHelper.write(out, argout.value); G_sequence_e_e_unionHelper.write(out, arginout.value); break; } case 60 : // rf11/op125 { E_struct[] argin = G_array_e_e_structHelper.read(in); G_array_e_e_structHolder argout = new G_array_e_e_structHolder(); G_array_e_e_structHolder arginout = new G_array_e_e_structHolder(); arginout.value = G_array_e_e_structHelper.read(in); E_struct[] __result = null; __result = this.op125(argin, argout, arginout); out = rh.createReply(); G_array_e_e_structHelper.write(out, __result); G_array_e_e_structHelper.write(out, argout.value); G_array_e_e_structHelper.write(out, arginout.value); break; } case 61 : // rf11/op126 { E_union[] argin = G_array_e_e_unionHelper.read(in); G_array_e_e_unionHolder argout = new G_array_e_e_unionHolder(); G_array_e_e_unionHolder arginout = new G_array_e_e_unionHolder(); arginout.value = G_array_e_e_unionHelper.read(in); E_union[] __result = null; __result = this.op126(argin, argout, arginout); out = rh.createReply(); G_array_e_e_unionHelper.write(out, __result); G_array_e_e_unionHelper.write(out, argout.value); G_array_e_e_unionHelper.write(out, arginout.value); break; } // rest of F case 62 : // rf11/op129 { F_union argin = F_unionHelper.read(in); F_unionHolder argout = new F_unionHolder(); F_unionHolder arginout = new F_unionHolder(); arginout.value = F_unionHelper.read(in); F_union __result = null; __result = this.op129(argin, argout, arginout); out = rh.createReply(); F_unionHelper.write(out, __result); F_unionHelper.write(out, argout.value); F_unionHelper.write(out, arginout.value); break; } case 63 : // rf11/op130 { F_union argin = F_unionHelper.read(in); F_unionHolder argout = new F_unionHolder(); F_unionHolder arginout = new F_unionHolder(); arginout.value = F_unionHelper.read(in); F_union __result = null; __result = this.op130(argin, argout, arginout); out = rh.createReply(); F_unionHelper.write(out, __result); F_unionHelper.write(out, argout.value); F_unionHelper.write(out, arginout.value); break; } case 64 : // rf11/op131 { F_union argin = F_unionHelper.read(in); F_unionHolder argout = new F_unionHolder(); F_unionHolder arginout = new F_unionHolder(); arginout.value = F_unionHelper.read(in); F_union __result = null; __result = this.op131(argin, argout, arginout); out = rh.createReply(); F_unionHelper.write(out, __result); F_unionHelper.write(out, argout.value); F_unionHelper.write(out, arginout.value); break; } // pragma: exception=A_except1 case 65 : // rf11/excop1 { try { this.excop1(); out = rh.createReply(); } catch (A_except1 __ex) { out = rh.createExceptionReply(); A_except1Helper.write(out, __ex); } break; } // pragma: exception=A_except2 case 66 : // rf11/excop2 { try { this.excop2(); out = rh.createReply(); } catch (A_except2 __ex) { out = rh.createExceptionReply(); A_except2Helper.write(out, __ex); } break; } // pragma: exception=B_except case 67 : // rf11/excop3 { try { this.excop3(); out = rh.createReply(); } catch (B_except __ex) { out = rh.createExceptionReply(); B_exceptHelper.write(out, __ex); } break; } // pragma: exception=C_except case 68 : // rf11/excop4 { try { this.excop4(); out = rh.createReply(); } catch (C_except __ex) { out = rh.createExceptionReply(); C_exceptHelper.write(out, __ex); } break; } // pragma: exception=D_except case 69 : // rf11/excop5 { try { this.excop5(); out = rh.createReply(); } catch (D_except __ex) { out = rh.createExceptionReply(); D_exceptHelper.write(out, __ex); } break; } // pragma: exception=E_except case 70 : // rf11/excop6 { try { this.excop6(); out = rh.createReply(); } catch (E_except __ex) { out = rh.createExceptionReply(); E_exceptHelper.write(out, __ex); } break; } // pragma: exception=F_except1 case 71 : // rf11/excop7 { try { this.excop7(); out = rh.createReply(); } catch (F_except1 __ex) { out = rh.createExceptionReply(); F_except1Helper.write(out, __ex); } break; } // pragma: exception=F_except2 case 72 : // rf11/excop8 { try { this.excop8(); out = rh.createReply(); } catch (F_except2 __ex) { out = rh.createExceptionReply(); F_except2Helper.write(out, __ex); } break; } // pragma: exception=F_except3 case 73 : // rf11/excop9 { try { this.excop9(); out = rh.createReply(); } catch (F_except3 __ex) { out = rh.createExceptionReply(); F_except3Helper.write(out, __ex); } break; } // pragma: exception=G_except case 74 : // rf11/excop10 { try { this.excop10(); out = rh.createReply(); } catch (G_except __ex) { out = rh.createExceptionReply(); G_exceptHelper.write(out, __ex); } break; } default : throw new org.omg.CORBA.BAD_OPERATION(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE ); } return out; } // _invoke // Type-specific CORBA::Object operations private static String[] __ids = { "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/rf11:1.0" }; public String[] _ids() { return __ids; } } // class _rf11ImplBase mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_floatHelper.java0000644000175000001440000000636310451015575024603 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class C_array_e_floatHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_float:1.0"; public static void insert(org.omg.CORBA.Any a, float[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static float[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_float); __typeCode = org.omg.CORBA.ORB.init().create_array_tc(2, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_floatHelper.id(), "C_array_e_float", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static float[] read(org.omg.CORBA.portable.InputStream istream) { float[] value = null; value = new float[ 2 ]; for (int _o0 = 0; _o0 < (2); ++_o0) { value [ _o0 ] = istream.read_float(); } return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, float[] value ) { if (value.length != (2)) throw new org.omg.CORBA.MARSHAL(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE ); for (int _i0 = 0; _i0 < (2); ++_i0) { ostream.write_float(value [ _i0 ]); } } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/G_structHelper.java0000644000175000001440000001315610451015575023322 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // G package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class G_structHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/G_struct:1.0"; public static void insert(org.omg.CORBA.Any a, G_struct that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static G_struct extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; private static boolean __active = false; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { synchronized (org.omg.CORBA.TypeCode.class) { if (__typeCode == null) { if (__active) { return org.omg.CORBA.ORB.init().create_recursive_tc(_id); } __active = true; org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember[ 4 ]; org.omg.CORBA.TypeCode _tcOf_members0 = null; _tcOf_members0 = E_structHelper.type(); _members0 [ 0 ] = new org.omg.CORBA.StructMember("e_e_struct", _tcOf_members0, null ); _tcOf_members0 = E_unionHelper.type(); _members0 [ 1 ] = new org.omg.CORBA.StructMember("e_e_union", _tcOf_members0, null ); _tcOf_members0 = BHelper.type(); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(E_sequenceHelper.id(), "E_sequence", _tcOf_members0 ); _members0 [ 2 ] = new org.omg.CORBA.StructMember("e_e_sequence", _tcOf_members0, null ); _tcOf_members0 = BHelper.type(); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(E_arrayHelper.id(), "E_array", _tcOf_members0 ); _members0 [ 3 ] = new org.omg.CORBA.StructMember("e_e_array", _tcOf_members0, null ); __typeCode = org.omg.CORBA.ORB.init().create_struct_tc(G_structHelper.id(), "G_struct", _members0 ); __active = false; } } } return __typeCode; } public static String id() { return _id; } public static G_struct read(org.omg.CORBA.portable.InputStream istream) { G_struct value = new G_struct(); value.e_e_struct = E_structHelper.read(istream); value.e_e_union = E_unionHelper.read(istream); value.e_e_sequence = E_sequenceHelper.read(istream); value.e_e_array = E_arrayHelper.read(istream); return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, G_struct value ) { E_structHelper.write(ostream, value.e_e_struct); E_unionHelper.write(ostream, value.e_e_union); E_sequenceHelper.write(ostream, value.e_e_sequence); E_arrayHelper.write(ostream, value.e_e_array); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_stringHolder.java0000644000175000001440000000374310250313742024773 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class C_array_e_stringHolder implements org.omg.CORBA.portable.Streamable { public String[] value = null; public C_array_e_stringHolder() { } public C_array_e_stringHolder(String[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = C_array_e_stringHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { C_array_e_stringHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return C_array_e_stringHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_ushortHelper.java0000644000175000001440000001121210451015575023611 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class D_d_ushortHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_ushort:1.0"; public static void insert(org.omg.CORBA.Any a, D_d_ushort that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static D_d_ushort extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { org.omg.CORBA.TypeCode _disTypeCode0; _disTypeCode0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_ushort); org.omg.CORBA.UnionMember[] _members0 = new org.omg.CORBA.UnionMember[ 2 ]; org.omg.CORBA.TypeCode _tcOf_members0; org.omg.CORBA.Any _anyOf_members0; // Branch for l1 _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_ushort((short) 1); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); _members0 [ 0 ] = new org.omg.CORBA.UnionMember("l1", _anyOf_members0, _tcOf_members0, null ); // Branch for l2 _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_ushort((short) 2); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); _members0 [ 1 ] = new org.omg.CORBA.UnionMember("l2", _anyOf_members0, _tcOf_members0, null ); __typeCode = org.omg.CORBA.ORB.init().create_union_tc(D_d_ushortHelper.id(), "D_d_ushort", _disTypeCode0, _members0 ); } return __typeCode; } public static String id() { return _id; } public static D_d_ushort read(org.omg.CORBA.portable.InputStream istream) { D_d_ushort value = new D_d_ushort(); short _dis0 = (short) 0; _dis0 = istream.read_ushort(); switch (_dis0) { case 1 : int _l1 = (int) 0; _l1 = istream.read_long(); value.l1(_l1); break; case 2 : int _l2 = (int) 0; _l2 = istream.read_long(); value.l2(_l2); break; default : throw new org.omg.CORBA.BAD_OPERATION(); } return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, D_d_ushort value ) { ostream.write_ushort(value.discriminator()); switch (value.discriminator()) { case 1 : ostream.write_long(value.l1()); break; case 2 : ostream.write_long(value.l2()); break; default : throw new org.omg.CORBA.BAD_OPERATION(); } } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/G_array_e_e_structHelper.java0000644000175000001440000000643210451015575025327 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class G_array_e_e_structHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/G_array_e_e_struct:1.0"; public static void insert(org.omg.CORBA.Any a, E_struct[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static E_struct[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = E_structHelper.type(); __typeCode = org.omg.CORBA.ORB.init().create_array_tc(2, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(G_array_e_e_structHelper.id(), "G_array_e_e_struct", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static E_struct[] read(org.omg.CORBA.portable.InputStream istream) { E_struct[] value = null; value = new E_struct[ 2 ]; for (int _o0 = 0; _o0 < (2); ++_o0) { value [ _o0 ] = E_structHelper.read(istream); } return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, E_struct[] value ) { if (value.length != (2)) throw new org.omg.CORBA.MARSHAL(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE ); for (int _i0 = 0; _i0 < (2); ++_i0) { E_structHelper.write(ostream, value [ _i0 ]); } } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_B.java0000644000175000001440000000566710250313742021321 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class D_d_B implements org.omg.CORBA.portable.IDLEntity { private int ___l1; private int ___l2; private int ___l3; private B __discriminator; private boolean __uninitialized = true; public D_d_B() { } public B discriminator() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); return __discriminator; } public int l1() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifyl1(__discriminator); return ___l1; } public void l1(int value) { __discriminator = B.b1; ___l1 = value; __uninitialized = false; } private void verifyl1(B discriminator) { if (discriminator != B.b1) throw new org.omg.CORBA.BAD_OPERATION(); } public int l2() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifyl2(__discriminator); return ___l2; } public void l2(int value) { __discriminator = B.b2; ___l2 = value; __uninitialized = false; } private void verifyl2(B discriminator) { if (discriminator != B.b2) throw new org.omg.CORBA.BAD_OPERATION(); } public int l3() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifyl3(__discriminator); return ___l3; } public void l3(int value) { __discriminator = B.b3; ___l3 = value; __uninitialized = false; } private void verifyl3(B discriminator) { if (discriminator != B.b3) throw new org.omg.CORBA.BAD_OPERATION(); } } // class D_d_B mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/G_sequence_e_e_structHolder.java0000644000175000001440000000400510250313742026003 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class G_sequence_e_e_structHolder implements org.omg.CORBA.portable.Streamable { public E_struct[] value = null; public G_sequence_e_e_structHolder() { } public G_sequence_e_e_structHolder(E_struct[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = G_sequence_e_e_structHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { G_sequence_e_e_structHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return G_sequence_e_e_structHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_floatHolder.java0000644000175000001440000000373410250313742024572 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class C_array_e_floatHolder implements org.omg.CORBA.portable.Streamable { public float[] value = null; public C_array_e_floatHolder() { } public C_array_e_floatHolder(float[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = C_array_e_floatHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { C_array_e_floatHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return C_array_e_floatHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_ulongHelper.java0000644000175000001440000000612110451015575025304 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class C_sequence_e_ulongHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_ulong:1.0"; public static void insert(org.omg.CORBA.Any a, int[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static int[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_ulong); __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_ulongHelper.id(), "C_sequence_e_ulong", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static int[] read(org.omg.CORBA.portable.InputStream istream) { int[] value = null; int _len0 = istream.read_long(); value = new int[ _len0 ]; istream.read_ulong_array(value, 0, _len0); return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, int[] value ) { ostream.write_long(value.length); ostream.write_ulong_array(value, 0, value.length); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/E_exceptHelper.java0000644000175000001440000001240610451015575023261 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class E_exceptHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/E_except:1.0"; public static void insert(org.omg.CORBA.Any a, E_except that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static E_except extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; private static boolean __active = false; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { synchronized (org.omg.CORBA.TypeCode.class) { if (__typeCode == null) { if (__active) { return org.omg.CORBA.ORB.init().create_recursive_tc(_id); } __active = true; org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember[ 4 ]; org.omg.CORBA.TypeCode _tcOf_members0 = null; _tcOf_members0 = E_structHelper.type(); _members0 [ 0 ] = new org.omg.CORBA.StructMember("v1", _tcOf_members0, null); _tcOf_members0 = E_unionHelper.type(); _members0 [ 1 ] = new org.omg.CORBA.StructMember("v2", _tcOf_members0, null); _tcOf_members0 = BHelper.type(); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(E_sequenceHelper.id(), "E_sequence", _tcOf_members0 ); _members0 [ 2 ] = new org.omg.CORBA.StructMember("v3", _tcOf_members0, null); _tcOf_members0 = BHelper.type(); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(E_arrayHelper.id(), "E_array", _tcOf_members0 ); _members0 [ 3 ] = new org.omg.CORBA.StructMember("v4", _tcOf_members0, null); __typeCode = org.omg.CORBA.ORB.init().create_struct_tc(E_exceptHelper.id(), "E_except", _members0 ); __active = false; } } } return __typeCode; } public static String id() { return _id; } public static E_except read(org.omg.CORBA.portable.InputStream istream) { E_except value = new E_except(); // read and discard the repository ID istream.read_string(); value.v1 = E_structHelper.read(istream); value.v2 = E_unionHelper.read(istream); value.v3 = E_sequenceHelper.read(istream); value.v4 = E_arrayHelper.read(istream); return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, E_except value ) { // write the repository ID ostream.write_string(id()); E_structHelper.write(ostream, value.v1); E_unionHelper.write(ostream, value.v2); E_sequenceHelper.write(ostream, value.v3); E_arrayHelper.write(ostream, value.v4); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_ObjectHelper.java0000644000175000001440000000652510451015575024704 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class C_array_e_ObjectHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_Object:1.0"; public static void insert(org.omg.CORBA.Any a, org.omg.CORBA.Object[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static org.omg.CORBA.Object[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = org.omg.CORBA.ObjectHelper.type(); __typeCode = org.omg.CORBA.ORB.init().create_array_tc(2, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_ObjectHelper.id(), "C_array_e_Object", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static org.omg.CORBA.Object[] read(org.omg.CORBA.portable.InputStream istream) { org.omg.CORBA.Object[] value = null; value = new org.omg.CORBA.Object[ 2 ]; for (int _o0 = 0; _o0 < (2); ++_o0) { value [ _o0 ] = istream.read_Object(); } return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, org.omg.CORBA.Object[] value ) { if (value.length != (2)) throw new org.omg.CORBA.MARSHAL(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE ); for (int _i0 = 0; _i0 < (2); ++_i0) { ostream.write_Object(value [ _i0 ]); } } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_unionHolder.java0000644000175000001440000000365310250313742023113 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class C_unionHolder implements org.omg.CORBA.portable.Streamable { public C_union value = null; public C_unionHolder() { } public C_unionHolder(C_union initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = C_unionHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { C_unionHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return C_unionHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/D_exceptHolder.java0000644000175000001440000000366310250313742023255 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class D_exceptHolder implements org.omg.CORBA.portable.Streamable { public D_except value = null; public D_exceptHolder() { } public D_exceptHolder(D_except initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = D_exceptHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { D_exceptHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return D_exceptHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/D_except.java0000644000175000001440000000405710250313742022115 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class D_except extends org.omg.CORBA.UserException implements org.omg.CORBA.portable.IDLEntity { public D_d_short v1 = null; public D_d_ushort v2 = null; public D_d_long v3 = null; public D_d_ulong v4 = null; public D_d_char v5 = null; public D_d_boolean v6 = null; public D_d_B v7 = null; public D_except() { } // ctor public D_except(D_d_short _v1, D_d_ushort _v2, D_d_long _v3, D_d_ulong _v4, D_d_char _v5, D_d_boolean _v6, D_d_B _v7 ) { v1 = _v1; v2 = _v2; v3 = _v3; v4 = _v4; v5 = _v5; v6 = _v6; v7 = _v7; } // ctor } // class D_except mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_booleanHolder.java0000644000175000001440000000375310250313742025105 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class C_array_e_booleanHolder implements org.omg.CORBA.portable.Streamable { public boolean[] value = null; public C_array_e_booleanHolder() { } public C_array_e_booleanHolder(boolean[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = C_array_e_booleanHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { C_array_e_booleanHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return C_array_e_booleanHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_anyHelper.java0000644000175000001440000000635110451015575024754 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class C_sequence_e_anyHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_any:1.0"; public static void insert(org.omg.CORBA.Any a, org.omg.CORBA.Any[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static org.omg.CORBA.Any[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_any); __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_anyHelper.id(), "C_sequence_e_any", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static org.omg.CORBA.Any[] read(org.omg.CORBA.portable.InputStream istream) { org.omg.CORBA.Any[] value = null; int _len0 = istream.read_long(); value = new org.omg.CORBA.Any[ _len0 ]; for (int _o1 = 0; _o1 < value.length; ++_o1) value [ _o1 ] = istream.read_any(); return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, org.omg.CORBA.Any[] value ) { ostream.write_long(value.length); for (int _i0 = 0; _i0 < value.length; ++_i0) ostream.write_any(value [ _i0 ]); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/F_sequence_e_c_structHolder.java0000644000175000001440000000400610250313742026001 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class F_sequence_e_c_structHolder implements org.omg.CORBA.portable.Streamable { public C_struct[] value = null; public F_sequence_e_c_structHolder() { } public F_sequence_e_c_structHolder(C_struct[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = F_sequence_e_c_structHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { F_sequence_e_c_structHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return F_sequence_e_c_structHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_shortHelper.java0000644000175000001440000000636310451015575024635 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class C_array_e_shortHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_short:1.0"; public static void insert(org.omg.CORBA.Any a, short[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static short[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_short); __typeCode = org.omg.CORBA.ORB.init().create_array_tc(2, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_shortHelper.id(), "C_array_e_short", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static short[] read(org.omg.CORBA.portable.InputStream istream) { short[] value = null; value = new short[ 2 ]; for (int _o0 = 0; _o0 < (2); ++_o0) { value [ _o0 ] = istream.read_short(); } return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, short[] value ) { if (value.length != (2)) throw new org.omg.CORBA.MARSHAL(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE ); for (int _i0 = 0; _i0 < (2); ++_i0) { ostream.write_short(value [ _i0 ]); } } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/G_array_e_e_unionHolder.java0000644000175000001440000000375310250313742025126 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class G_array_e_e_unionHolder implements org.omg.CORBA.portable.Streamable { public E_union[] value = null; public G_array_e_e_unionHolder() { } public G_array_e_e_unionHolder(E_union[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = G_array_e_e_unionHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { G_array_e_e_unionHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return G_array_e_e_unionHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/BHelper.java0000644000175000001440000000511610451015575021706 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // B package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class BHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/B:1.0"; public static void insert(org.omg.CORBA.Any a, B that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static B extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = org.omg.CORBA.ORB.init().create_enum_tc(BHelper.id(), "B", new String[] { "b1", "b2", "b3" } ); } return __typeCode; } public static String id() { return _id; } public static B read(org.omg.CORBA.portable.InputStream istream) { return B.from_int(istream.read_long()); } public static void write(org.omg.CORBA.portable.OutputStream ostream, B value) { ostream.write_long(value.value()); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_ulongHolder.java0000644000175000001440000000375110250313742025302 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class C_sequence_e_ulongHolder implements org.omg.CORBA.portable.Streamable { public int[] value = null; public C_sequence_e_ulongHolder() { } public C_sequence_e_ulongHolder(int[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = C_sequence_e_ulongHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { C_sequence_e_ulongHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return C_sequence_e_ulongHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_ObjectHolder.java0000644000175000001440000000377710250313742024702 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class C_array_e_ObjectHolder implements org.omg.CORBA.portable.Streamable { public org.omg.CORBA.Object[] value = null; public C_array_e_ObjectHolder() { } public C_array_e_ObjectHolder(org.omg.CORBA.Object[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = C_array_e_ObjectHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { C_array_e_ObjectHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return C_array_e_ObjectHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/A_except1.java0000644000175000001440000000421010250313741022161 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class A_except1 extends org.omg.CORBA.UserException implements org.omg.CORBA.portable.IDLEntity { public short v1 = (short) 0; public short v2 = (short) 0; public int v3 = (int) 0; public int v4 = (int) 0; public float v5 = (float) 0; public double v6 = (double) 0; public char v7 = (char) 0; public boolean v8 = false; public byte v9 = (byte) 0; public A_except1() { } // ctor public A_except1(short _v1, short _v2, int _v3, int _v4, float _v5, double _v6, char _v7, boolean _v8, byte _v9 ) { v1 = _v1; v2 = _v2; v3 = _v3; v4 = _v4; v5 = _v5; v6 = _v6; v7 = _v7; v8 = _v8; v9 = _v9; } // ctor } // class A_except1 mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/E_structHolder.java0000644000175000001440000000367010250313742023310 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // E package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class E_structHolder implements org.omg.CORBA.portable.Streamable { public E_struct value = null; public E_structHolder() { } public E_structHolder(E_struct initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = E_structHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { E_structHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return E_structHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/B_exceptHolder.java0000644000175000001440000000366410250313742023254 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class B_exceptHolder implements org.omg.CORBA.portable.Streamable { public B_except value = null; public B_exceptHolder() { } public B_exceptHolder(B_except initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = B_exceptHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { B_exceptHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return B_exceptHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_doubleHolder.java0000644000175000001440000000374310250313742024737 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class C_array_e_doubleHolder implements org.omg.CORBA.portable.Streamable { public double[] value = null; public C_array_e_doubleHolder() { } public C_array_e_doubleHolder(double[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = C_array_e_doubleHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { C_array_e_doubleHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return C_array_e_doubleHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_boolean.java0000644000175000001440000000511110250313742022537 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class D_d_boolean implements org.omg.CORBA.portable.IDLEntity { private int ___l1; private int ___l2; private boolean __discriminator; private boolean __uninitialized = true; public D_d_boolean() { } public boolean discriminator() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); return __discriminator; } public int l1() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifyl1(__discriminator); return ___l1; } public void l1(int value) { __discriminator = true; ___l1 = value; __uninitialized = false; } private void verifyl1(boolean discriminator) { if (discriminator != true) throw new org.omg.CORBA.BAD_OPERATION(); } public int l2() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifyl2(__discriminator); return ___l2; } public void l2(int value) { __discriminator = false; ___l2 = value; __uninitialized = false; } private void verifyl2(boolean discriminator) { if (discriminator != false) throw new org.omg.CORBA.BAD_OPERATION(); } } // class D_d_boolean mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/A_except2.java0000644000175000001440000000357310250313742022176 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class A_except2 extends org.omg.CORBA.UserException implements org.omg.CORBA.portable.IDLEntity { public org.omg.CORBA.Any v10 = null; public String v11 = null; public org.omg.CORBA.Object v12 = null; public A_except2() { } // ctor public A_except2(org.omg.CORBA.Any _v10, String _v11, org.omg.CORBA.Object _v12 ) { v10 = _v10; v11 = _v11; v12 = _v12; } // ctor } // class A_except2 mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/D_exceptHelper.java0000644000175000001440000001230410451015575023255 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class D_exceptHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/D_except:1.0"; public static void insert(org.omg.CORBA.Any a, D_except that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static D_except extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; private static boolean __active = false; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { synchronized (org.omg.CORBA.TypeCode.class) { if (__typeCode == null) { if (__active) { return org.omg.CORBA.ORB.init().create_recursive_tc(_id); } __active = true; org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember[ 7 ]; org.omg.CORBA.TypeCode _tcOf_members0 = null; _tcOf_members0 = D_d_shortHelper.type(); _members0 [ 0 ] = new org.omg.CORBA.StructMember("v1", _tcOf_members0, null); _tcOf_members0 = D_d_ushortHelper.type(); _members0 [ 1 ] = new org.omg.CORBA.StructMember("v2", _tcOf_members0, null); _tcOf_members0 = D_d_longHelper.type(); _members0 [ 2 ] = new org.omg.CORBA.StructMember("v3", _tcOf_members0, null); _tcOf_members0 = D_d_ulongHelper.type(); _members0 [ 3 ] = new org.omg.CORBA.StructMember("v4", _tcOf_members0, null); _tcOf_members0 = D_d_charHelper.type(); _members0 [ 4 ] = new org.omg.CORBA.StructMember("v5", _tcOf_members0, null); _tcOf_members0 = D_d_booleanHelper.type(); _members0 [ 5 ] = new org.omg.CORBA.StructMember("v6", _tcOf_members0, null); _tcOf_members0 = D_d_BHelper.type(); _members0 [ 6 ] = new org.omg.CORBA.StructMember("v7", _tcOf_members0, null); __typeCode = org.omg.CORBA.ORB.init().create_struct_tc(D_exceptHelper.id(), "D_except", _members0 ); __active = false; } } } return __typeCode; } public static String id() { return _id; } public static D_except read(org.omg.CORBA.portable.InputStream istream) { D_except value = new D_except(); // read and discard the repository ID istream.read_string(); value.v1 = D_d_shortHelper.read(istream); value.v2 = D_d_ushortHelper.read(istream); value.v3 = D_d_longHelper.read(istream); value.v4 = D_d_ulongHelper.read(istream); value.v5 = D_d_charHelper.read(istream); value.v6 = D_d_booleanHelper.read(istream); value.v7 = D_d_BHelper.read(istream); return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, D_except value ) { // write the repository ID ostream.write_string(id()); D_d_shortHelper.write(ostream, value.v1); D_d_ushortHelper.write(ostream, value.v2); D_d_longHelper.write(ostream, value.v3); D_d_ulongHelper.write(ostream, value.v4); D_d_charHelper.write(ostream, value.v5); D_d_booleanHelper.write(ostream, value.v6); D_d_BHelper.write(ostream, value.v7); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_BHolder.java0000644000175000001440000000363310250313742022446 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class D_d_BHolder implements org.omg.CORBA.portable.Streamable { public D_d_B value = null; public D_d_BHolder() { } public D_d_BHolder(D_d_B initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = D_d_BHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { D_d_BHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return D_d_BHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/F_array_e_c_structHolder.java0000644000175000001440000000376310250313742025320 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class F_array_e_c_structHolder implements org.omg.CORBA.portable.Streamable { public C_struct[] value = null; public F_array_e_c_structHolder() { } public F_array_e_c_structHolder(C_struct[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = F_array_e_c_structHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { F_array_e_c_structHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return F_array_e_c_structHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/A_except2Helper.java0000644000175000001440000001043410451015575023336 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class A_except2Helper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/A_except2:1.0"; public static void insert(org.omg.CORBA.Any a, A_except2 that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static A_except2 extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; private static boolean __active = false; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { synchronized (org.omg.CORBA.TypeCode.class) { if (__typeCode == null) { if (__active) { return org.omg.CORBA.ORB.init().create_recursive_tc(_id); } __active = true; org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember[ 3 ]; org.omg.CORBA.TypeCode _tcOf_members0 = null; _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_any); _members0 [ 0 ] = new org.omg.CORBA.StructMember("v10", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init().create_string_tc(0); _members0 [ 1 ] = new org.omg.CORBA.StructMember("v11", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ObjectHelper.type(); _members0 [ 2 ] = new org.omg.CORBA.StructMember("v12", _tcOf_members0, null); __typeCode = org.omg.CORBA.ORB.init().create_struct_tc(A_except2Helper.id(), "A_except2", _members0 ); __active = false; } } } return __typeCode; } public static String id() { return _id; } public static A_except2 read(org.omg.CORBA.portable.InputStream istream) { A_except2 value = new A_except2(); // read and discard the repository ID istream.read_string(); value.v10 = istream.read_any(); value.v11 = istream.read_string(); value.v12 = org.omg.CORBA.ObjectHelper.read(istream); return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, A_except2 value ) { // write the repository ID ostream.write_string(id()); ostream.write_any(value.v10); ostream.write_string(value.v11); org.omg.CORBA.ObjectHelper.write(ostream, value.v12); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_struct.java0000644000175000001440000000511510250313742022144 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // C package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class C_struct implements org.omg.CORBA.portable.IDLEntity { public short e_short = (short) 0; public short e_ushort = (short) 0; public int e_long = (int) 0; public int e_ulong = (int) 0; public float e_float = (float) 0; public double e_double = (double) 0; public char e_char = (char) 0; public boolean e_boolean = false; public byte e_octet = (byte) 0; public org.omg.CORBA.Any e_any = null; public String e_string = null; public org.omg.CORBA.Object e_Object = null; public C_struct() { } // ctor public C_struct(short _e_short, short _e_ushort, int _e_long, int _e_ulong, float _e_float, double _e_double, char _e_char, boolean _e_boolean, byte _e_octet, org.omg.CORBA.Any _e_any, String _e_string, org.omg.CORBA.Object _e_Object ) { e_short = _e_short; e_ushort = _e_ushort; e_long = _e_long; e_ulong = _e_ulong; e_float = _e_float; e_double = _e_double; e_char = _e_char; e_boolean = _e_boolean; e_octet = _e_octet; e_any = _e_any; e_string = _e_string; e_Object = _e_Object; } // ctor } // class C_struct mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/F_structHolder.java0000644000175000001440000000367110250313742023312 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // F package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class F_structHolder implements org.omg.CORBA.portable.Streamable { public F_struct value = null; public F_structHolder() { } public F_structHolder(F_struct initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = F_structHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { F_structHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return F_structHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/E_arrayHolder.java0000644000175000001440000000364310250313742023102 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class E_arrayHolder implements org.omg.CORBA.portable.Streamable { public B[] value = null; public E_arrayHolder() { } public E_arrayHolder(B[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = E_arrayHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { E_arrayHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return E_arrayHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_booleanHolder.java0000644000175000001440000000371310250313742023703 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class D_d_booleanHolder implements org.omg.CORBA.portable.Streamable { public D_d_boolean value = null; public D_d_booleanHolder() { } public D_d_booleanHolder(D_d_boolean initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = D_d_booleanHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { D_d_booleanHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return D_d_booleanHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/E_unionHelper.java0000644000175000001440000001076210451015575023124 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class E_unionHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/E_union:1.0"; public static void insert(org.omg.CORBA.Any a, E_union that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static E_union extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { org.omg.CORBA.TypeCode _disTypeCode0; _disTypeCode0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); org.omg.CORBA.UnionMember[] _members0 = new org.omg.CORBA.UnionMember[ 2 ]; org.omg.CORBA.TypeCode _tcOf_members0; org.omg.CORBA.Any _anyOf_members0; // Branch for e_b1 _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 1); _tcOf_members0 = BHelper.type(); _members0 [ 0 ] = new org.omg.CORBA.UnionMember("e_b1", _anyOf_members0, _tcOf_members0, null ); // Branch for e_b2 _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 2); _tcOf_members0 = BHelper.type(); _members0 [ 1 ] = new org.omg.CORBA.UnionMember("e_b2", _anyOf_members0, _tcOf_members0, null ); __typeCode = org.omg.CORBA.ORB.init().create_union_tc(E_unionHelper.id(), "E_union", _disTypeCode0, _members0 ); } return __typeCode; } public static String id() { return _id; } public static E_union read(org.omg.CORBA.portable.InputStream istream) { E_union value = new E_union(); int _dis0 = (int) 0; _dis0 = istream.read_long(); switch (_dis0) { case 1 : B _e_b1 = null; _e_b1 = BHelper.read(istream); value.e_b1(_e_b1); break; case 2 : B _e_b2 = null; _e_b2 = BHelper.read(istream); value.e_b2(_e_b2); break; default : throw new org.omg.CORBA.BAD_OPERATION(); } return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, E_union value ) { ostream.write_long(value.discriminator()); switch (value.discriminator()) { case 1 : BHelper.write(ostream, value.e_b1()); break; case 2 : BHelper.write(ostream, value.e_b2()); break; default : throw new org.omg.CORBA.BAD_OPERATION(); } } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_stringHelper.java0000644000175000001440000000622510451015575025473 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class C_sequence_e_stringHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_string:1.0"; public static void insert(org.omg.CORBA.Any a, String[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static String[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = org.omg.CORBA.ORB.init().create_string_tc(0); __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_stringHelper.id(), "C_sequence_e_string", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static String[] read(org.omg.CORBA.portable.InputStream istream) { String[] value = null; int _len0 = istream.read_long(); value = new String[ _len0 ]; for (int _o1 = 0; _o1 < value.length; ++_o1) value [ _o1 ] = istream.read_string(); return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, String[] value ) { ostream.write_long(value.length); for (int _i0 = 0; _i0 < value.length; ++_i0) ostream.write_string(value [ _i0 ]); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/F_sequence_e_c_structHelper.java0000644000175000001440000000624310451015575026016 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class F_sequence_e_c_structHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/F_sequence_e_c_struct:1.0"; public static void insert(org.omg.CORBA.Any a, C_struct[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static C_struct[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = C_structHelper.type(); __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(F_sequence_e_c_structHelper.id(), "F_sequence_e_c_struct", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static C_struct[] read(org.omg.CORBA.portable.InputStream istream) { C_struct[] value = null; int _len0 = istream.read_long(); value = new C_struct[ _len0 ]; for (int _o1 = 0; _o1 < value.length; ++_o1) value [ _o1 ] = C_structHelper.read(istream); return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, C_struct[] value ) { ostream.write_long(value.length); for (int _i0 = 0; _i0 < value.length; ++_i0) C_structHelper.write(ostream, value [ _i0 ]); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/E_exceptHolder.java0000644000175000001440000000366310250313742023256 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class E_exceptHolder implements org.omg.CORBA.portable.Streamable { public E_except value = null; public E_exceptHolder() { } public E_exceptHolder(E_except initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = E_exceptHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { E_exceptHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return E_exceptHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/G_sequence_e_e_unionHelper.java0000644000175000001440000000622510451015575025625 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class G_sequence_e_e_unionHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/G_sequence_e_e_union:1.0"; public static void insert(org.omg.CORBA.Any a, E_union[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static E_union[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = E_unionHelper.type(); __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(G_sequence_e_e_unionHelper.id(), "G_sequence_e_e_union", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static E_union[] read(org.omg.CORBA.portable.InputStream istream) { E_union[] value = null; int _len0 = istream.read_long(); value = new E_union[ _len0 ]; for (int _o1 = 0; _o1 < value.length; ++_o1) value [ _o1 ] = E_unionHelper.read(istream); return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, E_union[] value ) { ostream.write_long(value.length); for (int _i0 = 0; _i0 < value.length; ++_i0) E_unionHelper.write(ostream, value [ _i0 ]); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/F_except2Holder.java0000644000175000001440000000367410250313742023343 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class F_except2Holder implements org.omg.CORBA.portable.Streamable { public F_except2 value = null; public F_except2Holder() { } public F_except2Holder(F_except2 initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = F_except2Helper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { F_except2Helper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return F_except2Helper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_anyHolder.java0000644000175000001440000000375610250313742024260 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class C_array_e_anyHolder implements org.omg.CORBA.portable.Streamable { public org.omg.CORBA.Any value[] = null; public C_array_e_anyHolder () { } public C_array_e_anyHolder (org.omg.CORBA.Any[] initialValue) { value = initialValue; } public void _read (org.omg.CORBA.portable.InputStream i) { value = C_array_e_anyHelper.read (i); } public void _write (org.omg.CORBA.portable.OutputStream o) { C_array_e_anyHelper.write (o, value); } public org.omg.CORBA.TypeCode _type () { return C_array_e_anyHelper.type (); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/F_array_e_c_unionHolder.java0000644000175000001440000000375310250313742025123 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class F_array_e_c_unionHolder implements org.omg.CORBA.portable.Streamable { public C_union[] value = null; public F_array_e_c_unionHolder() { } public F_array_e_c_unionHolder(C_union[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = F_array_e_c_unionHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { F_array_e_c_unionHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return F_array_e_c_unionHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/E_unionHolder.java0000644000175000001440000000365410250313742023116 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class E_unionHolder implements org.omg.CORBA.portable.Streamable { public E_union value = null; public E_unionHolder() { } public E_unionHolder(E_union initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = E_unionHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { E_unionHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return E_unionHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_longHolder.java0000644000175000001440000000374310250313742025116 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class C_sequence_e_longHolder implements org.omg.CORBA.portable.Streamable { public int[] value = null; public C_sequence_e_longHolder() { } public C_sequence_e_longHolder(int[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = C_sequence_e_longHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { C_sequence_e_longHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return C_sequence_e_longHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/G_unionHolder.java0000644000175000001440000000365310250313742023117 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class G_unionHolder implements org.omg.CORBA.portable.Streamable { public G_union value = null; public G_unionHolder() { } public G_unionHolder(G_union initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = G_unionHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { G_unionHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return G_unionHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/G_array_e_e_unionHelper.java0000644000175000001440000000641410451015575025133 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class G_array_e_e_unionHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/G_array_e_e_union:1.0"; public static void insert(org.omg.CORBA.Any a, E_union[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static E_union[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = E_unionHelper.type(); __typeCode = org.omg.CORBA.ORB.init().create_array_tc(2, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(G_array_e_e_unionHelper.id(), "G_array_e_e_union", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static E_union[] read(org.omg.CORBA.portable.InputStream istream) { E_union[] value = null; value = new E_union[ 2 ]; for (int _o0 = 0; _o0 < (2); ++_o0) { value [ _o0 ] = E_unionHelper.read(istream); } return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, E_union[] value ) { if (value.length != (2)) throw new org.omg.CORBA.MARSHAL(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE ); for (int _i0 = 0; _i0 < (2); ++_i0) { E_unionHelper.write(ostream, value [ _i0 ]); } } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_unionHelper.java0000644000175000001440000002651410451015575023124 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class C_unionHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/C_union:1.0"; public static void insert(org.omg.CORBA.Any a, C_union that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static C_union extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { org.omg.CORBA.TypeCode _disTypeCode0; _disTypeCode0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); org.omg.CORBA.UnionMember[] _members0 = new org.omg.CORBA.UnionMember[ 12 ]; org.omg.CORBA.TypeCode _tcOf_members0; org.omg.CORBA.Any _anyOf_members0; // Branch for e_short _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 1); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_short); _members0 [ 0 ] = new org.omg.CORBA.UnionMember("e_short", _anyOf_members0, _tcOf_members0, null ); // Branch for e_ushort _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 2); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_ushort); _members0 [ 1 ] = new org.omg.CORBA.UnionMember("e_ushort", _anyOf_members0, _tcOf_members0, null ); // Branch for e_long _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 3); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); _members0 [ 2 ] = new org.omg.CORBA.UnionMember("e_long", _anyOf_members0, _tcOf_members0, null ); // Branch for e_ulong _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 4); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_ulong); _members0 [ 3 ] = new org.omg.CORBA.UnionMember("e_ulong", _anyOf_members0, _tcOf_members0, null ); // Branch for e_float _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 5); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_float); _members0 [ 4 ] = new org.omg.CORBA.UnionMember("e_float", _anyOf_members0, _tcOf_members0, null ); // Branch for e_double _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 6); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_double); _members0 [ 5 ] = new org.omg.CORBA.UnionMember("e_double", _anyOf_members0, _tcOf_members0, null ); // Branch for e_char _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 7); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_char); _members0 [ 6 ] = new org.omg.CORBA.UnionMember("e_char", _anyOf_members0, _tcOf_members0, null ); // Branch for e_boolean _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 8); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_boolean); _members0 [ 7 ] = new org.omg.CORBA.UnionMember("e_boolean", _anyOf_members0, _tcOf_members0, null ); // Branch for e_octet _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 9); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_octet); _members0 [ 8 ] = new org.omg.CORBA.UnionMember("e_octet", _anyOf_members0, _tcOf_members0, null ); // Branch for e_any _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 10); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_any); _members0 [ 9 ] = new org.omg.CORBA.UnionMember("e_any", _anyOf_members0, _tcOf_members0, null ); // Branch for e_string _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 11); _tcOf_members0 = org.omg.CORBA.ORB.init().create_string_tc(0); _members0 [ 10 ] = new org.omg.CORBA.UnionMember("e_string", _anyOf_members0, _tcOf_members0, null ); // Branch for e_Object _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 12); _tcOf_members0 = org.omg.CORBA.ObjectHelper.type(); _members0 [ 11 ] = new org.omg.CORBA.UnionMember("e_Object", _anyOf_members0, _tcOf_members0, null ); __typeCode = org.omg.CORBA.ORB.init().create_union_tc(C_unionHelper.id(), "C_union", _disTypeCode0, _members0 ); } return __typeCode; } public static String id() { return _id; } public static C_union read(org.omg.CORBA.portable.InputStream istream) { C_union value = new C_union(); int _dis0 = (int) 0; _dis0 = istream.read_long(); switch (_dis0) { case 1 : short _e_short = (short) 0; _e_short = istream.read_short(); value.e_short(_e_short); break; case 2 : short _e_ushort = (short) 0; _e_ushort = istream.read_ushort(); value.e_ushort(_e_ushort); break; case 3 : int _e_long = (int) 0; _e_long = istream.read_long(); value.e_long(_e_long); break; case 4 : int _e_ulong = (int) 0; _e_ulong = istream.read_ulong(); value.e_ulong(_e_ulong); break; case 5 : float _e_float = (float) 0; _e_float = istream.read_float(); value.e_float(_e_float); break; case 6 : double _e_double = (double) 0; _e_double = istream.read_double(); value.e_double(_e_double); break; case 7 : char _e_char = (char) 0; _e_char = istream.read_char(); value.e_char(_e_char); break; case 8 : boolean _e_boolean = false; _e_boolean = istream.read_boolean(); value.e_boolean(_e_boolean); break; case 9 : byte _e_octet = (byte) 0; _e_octet = istream.read_octet(); value.e_octet(_e_octet); break; case 10 : org.omg.CORBA.Any _e_any = null; _e_any = istream.read_any(); value.e_any(_e_any); break; case 11 : String _e_string = null; _e_string = istream.read_string(); value.e_string(_e_string); break; case 12 : org.omg.CORBA.Object _e_Object = null; _e_Object = org.omg.CORBA.ObjectHelper.read(istream); value.e_Object(_e_Object); break; default : throw new org.omg.CORBA.BAD_OPERATION(); } return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, C_union value ) { ostream.write_long(value.discriminator()); switch (value.discriminator()) { case 1 : ostream.write_short(value.e_short()); break; case 2 : ostream.write_ushort(value.e_ushort()); break; case 3 : ostream.write_long(value.e_long()); break; case 4 : ostream.write_ulong(value.e_ulong()); break; case 5 : ostream.write_float(value.e_float()); break; case 6 : ostream.write_double(value.e_double()); break; case 7 : ostream.write_char(value.e_char()); break; case 8 : ostream.write_boolean(value.e_boolean()); break; case 9 : ostream.write_octet(value.e_octet()); break; case 10 : ostream.write_any(value.e_any()); break; case 11 : ostream.write_string(value.e_string()); break; case 12 : org.omg.CORBA.ObjectHelper.write(ostream, value.e_Object()); break; default : throw new org.omg.CORBA.BAD_OPERATION(); } } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/F_sequence_e_c_unionHelper.java0000644000175000001440000000622510451015575025622 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class F_sequence_e_c_unionHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/F_sequence_e_c_union:1.0"; public static void insert(org.omg.CORBA.Any a, C_union[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static C_union[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = C_unionHelper.type(); __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(F_sequence_e_c_unionHelper.id(), "F_sequence_e_c_union", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static C_union[] read(org.omg.CORBA.portable.InputStream istream) { C_union[] value = null; int _len0 = istream.read_long(); value = new C_union[ _len0 ]; for (int _o1 = 0; _o1 < value.length; ++_o1) value [ _o1 ] = C_unionHelper.read(istream); return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, C_union[] value ) { ostream.write_long(value.length); for (int _i0 = 0; _i0 < value.length; ++_i0) C_unionHelper.write(ostream, value [ _i0 ]); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_exceptHolder.java0000644000175000001440000000366310250313742023254 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class C_exceptHolder implements org.omg.CORBA.portable.Streamable { public C_except value = null; public C_exceptHolder() { } public C_exceptHolder(C_except initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = C_exceptHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { C_exceptHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return C_exceptHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_longHolder.java0000644000175000001440000000372110250313742024420 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class C_array_e_longHolder implements org.omg.CORBA.portable.Streamable { public int[] value = null; public C_array_e_longHolder() { } public C_array_e_longHolder(int[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = C_array_e_longHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { C_array_e_longHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return C_array_e_longHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/rf11Operations.java0000644000175000001440000002404010447766312023206 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public interface rf11Operations { // A short op1(short argin, org.omg.CORBA.ShortHolder argout, org.omg.CORBA.ShortHolder arginout ); short op2(short argin, org.omg.CORBA.ShortHolder argout, org.omg.CORBA.ShortHolder arginout ); int op3(int argin, org.omg.CORBA.IntHolder argout, org.omg.CORBA.IntHolder arginout ); int op4(int argin, org.omg.CORBA.IntHolder argout, org.omg.CORBA.IntHolder arginout ); float op5(float argin, org.omg.CORBA.FloatHolder argout, org.omg.CORBA.FloatHolder arginout ); double op6(double argin, org.omg.CORBA.DoubleHolder argout, org.omg.CORBA.DoubleHolder arginout ); char op7(char argin, org.omg.CORBA.CharHolder argout, org.omg.CORBA.CharHolder arginout ); boolean op8(boolean argin, org.omg.CORBA.BooleanHolder argout, org.omg.CORBA.BooleanHolder arginout ); byte op9(byte argin, org.omg.CORBA.ByteHolder argout, org.omg.CORBA.ByteHolder arginout ); org.omg.CORBA.Any op10(org.omg.CORBA.Any argin, org.omg.CORBA.AnyHolder argout, org.omg.CORBA.AnyHolder arginout ); String op11(String argin, org.omg.CORBA.StringHolder argout, org.omg.CORBA.StringHolder arginout ); org.omg.CORBA.Object op12(org.omg.CORBA.Object argin, org.omg.CORBA.ObjectHolder argout, org.omg.CORBA.ObjectHolder arginout ); // B B op15(B argin, BHolder argout, BHolder arginout); // C C_struct op16(C_struct argin, C_structHolder argout, C_structHolder arginout); C_union op17(C_union argin, C_unionHolder argout, C_unionHolder arginout); short[] op18(short[] argin, C_sequence_e_shortHolder argout, C_sequence_e_shortHolder arginout ); short[] op19(short[] argin, C_sequence_e_ushortHolder argout, C_sequence_e_ushortHolder arginout ); int[] op20(int[] argin, C_sequence_e_longHolder argout, C_sequence_e_longHolder arginout ); int[] op21(int[] argin, C_sequence_e_ulongHolder argout, C_sequence_e_ulongHolder arginout ); float[] op22(float[] argin, C_sequence_e_floatHolder argout, C_sequence_e_floatHolder arginout ); double[] op23(double[] argin, C_sequence_e_doubleHolder argout, C_sequence_e_doubleHolder arginout ); char[] op24(char[] argin, C_sequence_e_charHolder argout, C_sequence_e_charHolder arginout ); boolean[] op25(boolean[] argin, C_sequence_e_booleanHolder argout, C_sequence_e_booleanHolder arginout ); byte[] op26(byte[] argin, C_sequence_e_octetHolder argout, C_sequence_e_octetHolder arginout ); org.omg.CORBA.Any[] op27(org.omg.CORBA.Any[] argin, C_sequence_e_anyHolder argout, C_sequence_e_anyHolder arginout ); String[] op28(String[] argin, C_sequence_e_stringHolder argout, C_sequence_e_stringHolder arginout ); org.omg.CORBA.Object[] op29(org.omg.CORBA.Object[] argin, C_sequence_e_ObjectHolder argout, C_sequence_e_ObjectHolder arginout ); short[] op32(short[] argin, C_array_e_shortHolder argout, C_array_e_shortHolder arginout ); short[] op33(short[] argin, C_array_e_ushortHolder argout, C_array_e_ushortHolder arginout ); int[] op34(int[] argin, C_array_e_longHolder argout, C_array_e_longHolder arginout ); int[] op35(int[] argin, C_array_e_ulongHolder argout, C_array_e_ulongHolder arginout ); float[] op36(float[] argin, C_array_e_floatHolder argout, C_array_e_floatHolder arginout ); double[] op37(double[] argin, C_array_e_doubleHolder argout, C_array_e_doubleHolder arginout ); char[] op38(char[] argin, C_array_e_charHolder argout, C_array_e_charHolder arginout ); boolean[] op39(boolean[] argin, C_array_e_booleanHolder argout, C_array_e_booleanHolder arginout ); byte[] op40(byte[] argin, C_array_e_octetHolder argout, C_array_e_octetHolder arginout ); org.omg.CORBA.Any[] op41(org.omg.CORBA.Any[] argin, C_array_e_anyHolder argout, C_array_e_anyHolder arginout ); String[] op42(String[] argin, C_array_e_stringHolder argout, C_array_e_stringHolder arginout ); org.omg.CORBA.Object[] op43(org.omg.CORBA.Object[] argin, C_array_e_ObjectHolder argout, C_array_e_ObjectHolder arginout ); // D D_d_short op46(D_d_short argin, D_d_shortHolder argout, D_d_shortHolder arginout ); D_d_ushort op47(D_d_ushort argin, D_d_ushortHolder argout, D_d_ushortHolder arginout ); D_d_long op48(D_d_long argin, D_d_longHolder argout, D_d_longHolder arginout); D_d_ulong op49(D_d_ulong argin, D_d_ulongHolder argout, D_d_ulongHolder arginout ); D_d_char op50(D_d_char argin, D_d_charHolder argout, D_d_charHolder arginout); D_d_boolean op51(D_d_boolean argin, D_d_booleanHolder argout, D_d_booleanHolder arginout ); D_d_B op52(D_d_B argin, D_d_BHolder argout, D_d_BHolder arginout); // E E_struct op53(E_struct argin, E_structHolder argout, E_structHolder arginout); E_union op54(E_union argin, E_unionHolder argout, E_unionHolder arginout); B[] op55(B[] argin, E_sequenceHolder argout, E_sequenceHolder arginout); B[] op56(B[] argin, E_arrayHolder argout, E_arrayHolder arginout); // F F_struct op57(F_struct argin, F_structHolder argout, F_structHolder arginout); F_union op58(F_union argin, F_unionHolder argout, F_unionHolder arginout); C_struct[] op59(C_struct[] argin, F_sequence_e_c_structHolder argout, F_sequence_e_c_structHolder arginout ); C_union[] op60(C_union[] argin, F_sequence_e_c_unionHolder argout, F_sequence_e_c_unionHolder arginout ); C_struct[] op89(C_struct[] argin, F_array_e_c_structHolder argout, F_array_e_c_structHolder arginout ); C_union[] op90(C_union[] argin, F_array_e_c_unionHolder argout, F_array_e_c_unionHolder arginout ); // G G_struct op119(G_struct argin, G_structHolder argout, G_structHolder arginout); G_union op120(G_union argin, G_unionHolder argout, G_unionHolder arginout); E_struct[] op121(E_struct[] argin, G_sequence_e_e_structHolder argout, G_sequence_e_e_structHolder arginout ); E_union[] op122(E_union[] argin, G_sequence_e_e_unionHolder argout, G_sequence_e_e_unionHolder arginout ); E_struct[] op125(E_struct[] argin, G_array_e_e_structHolder argout, G_array_e_e_structHolder arginout ); E_union[] op126(E_union[] argin, G_array_e_e_unionHolder argout, G_array_e_e_unionHolder arginout ); // rest of F F_union op129(F_union argin, F_unionHolder argout, F_unionHolder arginout); F_union op130(F_union argin, F_unionHolder argout, F_unionHolder arginout); F_union op131(F_union argin, F_unionHolder argout, F_unionHolder arginout); // pragma: exception=A_except1 void excop1() throws A_except1; // pragma: exception=A_except2 void excop2() throws A_except2; // pragma: exception=B_except void excop3() throws B_except; // pragma: exception=C_except void excop4() throws C_except; // pragma: exception=D_except void excop5() throws D_except; // pragma: exception=E_except void excop6() throws E_except; // pragma: exception=F_except1 void excop7() throws F_except1; // pragma: exception=F_except2 void excop8() throws F_except2; // pragma: exception=F_except3 void excop9() throws F_except3; // pragma: exception=G_except void excop10() throws G_except; } // interface rf11Operations mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_ObjectHelper.java0000644000175000001440000000640610451015575025374 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class C_sequence_e_ObjectHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_Object:1.0"; public static void insert(org.omg.CORBA.Any a, org.omg.CORBA.Object[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static org.omg.CORBA.Object[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = org.omg.CORBA.ObjectHelper.type(); __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_ObjectHelper.id(), "C_sequence_e_Object", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static org.omg.CORBA.Object[] read(org.omg.CORBA.portable.InputStream istream) { org.omg.CORBA.Object[] value = null; int _len0 = istream.read_long(); value = new org.omg.CORBA.Object[ _len0 ]; for (int _o1 = 0; _o1 < value.length; ++_o1) value [ _o1 ] = org.omg.CORBA.ObjectHelper.read(istream); return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, org.omg.CORBA.Object[] value ) { ostream.write_long(value.length); for (int _i0 = 0; _i0 < value.length; ++_i0) org.omg.CORBA.ObjectHelper.write(ostream, value [ _i0 ]); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_BHelper.java0000644000175000001440000001217510451015575022457 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class D_d_BHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_B:1.0"; public static void insert(org.omg.CORBA.Any a, D_d_B that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static D_d_B extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { org.omg.CORBA.TypeCode _disTypeCode0; _disTypeCode0 = BHelper.type(); org.omg.CORBA.UnionMember[] _members0 = new org.omg.CORBA.UnionMember[ 3 ]; org.omg.CORBA.TypeCode _tcOf_members0; org.omg.CORBA.Any _anyOf_members0; // Branch for l1 _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); BHelper.insert(_anyOf_members0, B.b1); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); _members0 [ 0 ] = new org.omg.CORBA.UnionMember("l1", _anyOf_members0, _tcOf_members0, null ); // Branch for l2 _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); BHelper.insert(_anyOf_members0, B.b2); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); _members0 [ 1 ] = new org.omg.CORBA.UnionMember("l2", _anyOf_members0, _tcOf_members0, null ); // Branch for l3 _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); BHelper.insert(_anyOf_members0, B.b3); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); _members0 [ 2 ] = new org.omg.CORBA.UnionMember("l3", _anyOf_members0, _tcOf_members0, null ); __typeCode = org.omg.CORBA.ORB.init().create_union_tc(D_d_BHelper.id(), "D_d_B", _disTypeCode0, _members0 ); } return __typeCode; } public static String id() { return _id; } public static D_d_B read(org.omg.CORBA.portable.InputStream istream) { D_d_B value = new D_d_B(); B _dis0 = null; _dis0 = BHelper.read(istream); switch (_dis0.value()) { case B._b1 : int _l1 = (int) 0; _l1 = istream.read_long(); value.l1(_l1); break; case B._b2 : int _l2 = (int) 0; _l2 = istream.read_long(); value.l2(_l2); break; case B._b3 : int _l3 = (int) 0; _l3 = istream.read_long(); value.l3(_l3); break; default : throw new org.omg.CORBA.BAD_OPERATION(); } return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, D_d_B value ) { BHelper.write(ostream, value.discriminator()); switch (value.discriminator().value()) { case B._b1 : ostream.write_long(value.l1()); break; case B._b2 : ostream.write_long(value.l2()); break; case B._b3 : ostream.write_long(value.l3()); break; default : throw new org.omg.CORBA.BAD_OPERATION(); } } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_ushortHelper.java0000644000175000001440000000645510451015575025024 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class C_array_e_ushortHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_ushort:1.0"; public static void insert(org.omg.CORBA.Any a, short[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static short[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_ushort); __typeCode = org.omg.CORBA.ORB.init().create_array_tc(2, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_ushortHelper.id(), "C_array_e_ushort", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static short[] read(org.omg.CORBA.portable.InputStream istream) { short[] value = null; value = new short[ 2 ]; for (int _o0 = 0; _o0 < (2); ++_o0) { value [ _o0 ] = istream.read_ushort(); } return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, short[] value ) { if (value.length != (2)) throw new org.omg.CORBA.MARSHAL(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE ); for (int _i0 = 0; _i0 < (2); ++_i0) { ostream.write_ushort(value [ _i0 ]); } } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_ushort.java0000644000175000001440000000521110250313742022445 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class D_d_ushort implements org.omg.CORBA.portable.IDLEntity { private int ___l1; private int ___l2; private short __discriminator; private boolean __uninitialized = true; public D_d_ushort() { } public short discriminator() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); return __discriminator; } public int l1() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifyl1(__discriminator); return ___l1; } public void l1(int value) { __discriminator = 1; ___l1 = value; __uninitialized = false; } private void verifyl1(short discriminator) { if (discriminator != 1) throw new org.omg.CORBA.BAD_OPERATION(); } public int l2() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifyl2(__discriminator); return ___l2; } public void l2(int value) { __discriminator = 2; ___l2 = value; __uninitialized = false; } private void verifyl2(short discriminator) { if (discriminator != 2) throw new org.omg.CORBA.BAD_OPERATION(); } public void _default() { __discriminator = 0; __uninitialized = false; } } // class D_d_ushort mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_ushortHolder.java0000644000175000001440000000370310250313742023607 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class D_d_ushortHolder implements org.omg.CORBA.portable.Streamable { public D_d_ushort value = null; public D_d_ushortHolder() { } public D_d_ushortHolder(D_d_ushort initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = D_d_ushortHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { D_d_ushortHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return D_d_ushortHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_charHolder.java0000644000175000001440000000372310250313742024400 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class C_array_e_charHolder implements org.omg.CORBA.portable.Streamable { public char[] value = null; public C_array_e_charHolder() { } public C_array_e_charHolder(char[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = C_array_e_charHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { C_array_e_charHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return C_array_e_charHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/E_arrayHelper.java0000644000175000001440000000617310451015575023113 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class E_arrayHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/E_array:1.0"; public static void insert(org.omg.CORBA.Any a, B[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static B[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = BHelper.type(); __typeCode = org.omg.CORBA.ORB.init().create_array_tc(2, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(E_arrayHelper.id(), "E_array", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static B[] read(org.omg.CORBA.portable.InputStream istream) { B[] value = null; value = new B[ 2 ]; for (int _o0 = 0; _o0 < (2); ++_o0) { value [ _o0 ] = BHelper.read(istream); } return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, B[] value ) { if (value.length != (2)) throw new org.omg.CORBA.MARSHAL(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE ); for (int _i0 = 0; _i0 < (2); ++_i0) { BHelper.write(ostream, value [ _i0 ]); } } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_stringHolder.java0000644000175000001440000000376510250313742025471 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class C_sequence_e_stringHolder implements org.omg.CORBA.portable.Streamable { public String[] value = null; public C_sequence_e_stringHolder() { } public C_sequence_e_stringHolder(String[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = C_sequence_e_stringHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { C_sequence_e_stringHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return C_sequence_e_stringHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_ushortHolder.java0000644000175000001440000000376310250313742025505 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class C_sequence_e_ushortHolder implements org.omg.CORBA.portable.Streamable { public short[] value = null; public C_sequence_e_ushortHolder() { } public C_sequence_e_ushortHolder(short[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = C_sequence_e_ushortHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { C_sequence_e_ushortHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return C_sequence_e_ushortHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_ushortHolder.java0000644000175000001440000000374110250313742025007 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class C_array_e_ushortHolder implements org.omg.CORBA.portable.Streamable { public short[] value = null; public C_array_e_ushortHolder() { } public C_array_e_ushortHolder(short[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = C_array_e_ushortHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { C_array_e_ushortHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return C_array_e_ushortHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_charHolder.java0000644000175000001440000000374510250313742025076 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class C_sequence_e_charHolder implements org.omg.CORBA.portable.Streamable { public char[] value = null; public C_sequence_e_charHolder() { } public C_sequence_e_charHolder(char[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = C_sequence_e_charHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { C_sequence_e_charHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return C_sequence_e_charHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/NEC_RF11.java0000644000175000001440000000307310447766312021532 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public interface NEC_RF11 extends rf11Operations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity { } // interface rf11 mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_exceptHelper.java0000644000175000001440000006226610451015575023270 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class C_exceptHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/C_except:1.0"; public static void insert(org.omg.CORBA.Any a, C_except that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static C_except extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; private static boolean __active = false; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { synchronized (org.omg.CORBA.TypeCode.class) { if (__typeCode == null) { if (__active) { return org.omg.CORBA.ORB.init().create_recursive_tc(_id); } __active = true; org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember[ 37 ]; org.omg.CORBA.TypeCode _tcOf_members0 = null; _tcOf_members0 = C_structHelper.type(); _members0 [ 0 ] = new org.omg.CORBA.StructMember("v1", _tcOf_members0, null); _tcOf_members0 = C_unionHelper.type(); _members0 [ 1 ] = new org.omg.CORBA.StructMember("v2", _tcOf_members0, null); _tcOf_members0 = C_unionHelper.type(); _members0 [ 2 ] = new org.omg.CORBA.StructMember("v3", _tcOf_members0, null); _tcOf_members0 = C_unionHelper.type(); _members0 [ 3 ] = new org.omg.CORBA.StructMember("v4", _tcOf_members0, null); _tcOf_members0 = C_unionHelper.type(); _members0 [ 4 ] = new org.omg.CORBA.StructMember("v5", _tcOf_members0, null); _tcOf_members0 = C_unionHelper.type(); _members0 [ 5 ] = new org.omg.CORBA.StructMember("v6", _tcOf_members0, null); _tcOf_members0 = C_unionHelper.type(); _members0 [ 6 ] = new org.omg.CORBA.StructMember("v7", _tcOf_members0, null); _tcOf_members0 = C_unionHelper.type(); _members0 [ 7 ] = new org.omg.CORBA.StructMember("v8", _tcOf_members0, null); _tcOf_members0 = C_unionHelper.type(); _members0 [ 8 ] = new org.omg.CORBA.StructMember("v9", _tcOf_members0, null); _tcOf_members0 = C_unionHelper.type(); _members0 [ 9 ] = new org.omg.CORBA.StructMember("v10", _tcOf_members0, null); _tcOf_members0 = C_unionHelper.type(); _members0 [ 10 ] = new org.omg.CORBA.StructMember("v11", _tcOf_members0, null); _tcOf_members0 = C_unionHelper.type(); _members0 [ 11 ] = new org.omg.CORBA.StructMember("v12", _tcOf_members0, null); _tcOf_members0 = C_unionHelper.type(); _members0 [ 12 ] = new org.omg.CORBA.StructMember("v13", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_short); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_shortHelper.id(), "C_sequence_e_short", _tcOf_members0 ); _members0 [ 13 ] = new org.omg.CORBA.StructMember("v16", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_ushort); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_ushortHelper.id(), "C_sequence_e_ushort", _tcOf_members0 ); _members0 [ 14 ] = new org.omg.CORBA.StructMember("v17", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_longHelper.id(), "C_sequence_e_long", _tcOf_members0 ); _members0 [ 15 ] = new org.omg.CORBA.StructMember("v18", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_ulong); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_ulongHelper.id(), "C_sequence_e_ulong", _tcOf_members0 ); _members0 [ 16 ] = new org.omg.CORBA.StructMember("v19", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_float); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_floatHelper.id(), "C_sequence_e_float", _tcOf_members0 ); _members0 [ 17 ] = new org.omg.CORBA.StructMember("v20", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_double); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_doubleHelper.id(), "C_sequence_e_double", _tcOf_members0 ); _members0 [ 18 ] = new org.omg.CORBA.StructMember("v21", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_char); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_charHelper.id(), "C_sequence_e_char", _tcOf_members0 ); _members0 [ 19 ] = new org.omg.CORBA.StructMember("v22", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_boolean); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_booleanHelper.id(), "C_sequence_e_boolean", _tcOf_members0 ); _members0 [ 20 ] = new org.omg.CORBA.StructMember("v23", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_octet); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_octetHelper.id(), "C_sequence_e_octet", _tcOf_members0 ); _members0 [ 21 ] = new org.omg.CORBA.StructMember("v24", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_any); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_anyHelper.id(), "C_sequence_e_any", _tcOf_members0 ); _members0 [ 22 ] = new org.omg.CORBA.StructMember("v25", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init().create_string_tc(0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_stringHelper.id(), "C_sequence_e_string", _tcOf_members0 ); _members0 [ 23 ] = new org.omg.CORBA.StructMember("v26", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ObjectHelper.type(); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_ObjectHelper.id(), "C_sequence_e_Object", _tcOf_members0 ); _members0 [ 24 ] = new org.omg.CORBA.StructMember("v27", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_short); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_shortHelper.id(), "C_array_e_short", _tcOf_members0 ); _members0 [ 25 ] = new org.omg.CORBA.StructMember("v30", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_ushort); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_ushortHelper.id(), "C_array_e_ushort", _tcOf_members0 ); _members0 [ 26 ] = new org.omg.CORBA.StructMember("v31", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_longHelper.id(), "C_array_e_long", _tcOf_members0 ); _members0 [ 27 ] = new org.omg.CORBA.StructMember("v32", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_ulong); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_ulongHelper.id(), "C_array_e_ulong", _tcOf_members0 ); _members0 [ 28 ] = new org.omg.CORBA.StructMember("v33", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_float); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_floatHelper.id(), "C_array_e_float", _tcOf_members0 ); _members0 [ 29 ] = new org.omg.CORBA.StructMember("v34", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_double); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_doubleHelper.id(), "C_array_e_double", _tcOf_members0 ); _members0 [ 30 ] = new org.omg.CORBA.StructMember("v35", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_char); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_charHelper.id(), "C_array_e_char", _tcOf_members0 ); _members0 [ 31 ] = new org.omg.CORBA.StructMember("v36", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_boolean); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_booleanHelper.id(), "C_array_e_boolean", _tcOf_members0 ); _members0 [ 32 ] = new org.omg.CORBA.StructMember("v37", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_octet); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_octetHelper.id(), "C_array_e_octet", _tcOf_members0 ); _members0 [ 33 ] = new org.omg.CORBA.StructMember("v38", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_any); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_anyHelper.id(), "C_array_e_any", _tcOf_members0 ); _members0 [ 34 ] = new org.omg.CORBA.StructMember("v39", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init().create_string_tc(0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_stringHelper.id(), "C_array_e_string", _tcOf_members0 ); _members0 [ 35 ] = new org.omg.CORBA.StructMember("v40", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ObjectHelper.type(); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_ObjectHelper.id(), "C_array_e_Object", _tcOf_members0 ); _members0 [ 36 ] = new org.omg.CORBA.StructMember("v41", _tcOf_members0, null); __typeCode = org.omg.CORBA.ORB.init().create_struct_tc(C_exceptHelper.id(), "C_except", _members0 ); __active = false; } } } return __typeCode; } public static String id() { return _id; } public static C_except read(org.omg.CORBA.portable.InputStream istream) { C_except value = new C_except(); // read and discard the repository ID istream.read_string(); value.v1 = C_structHelper.read(istream); value.v2 = C_unionHelper.read(istream); value.v3 = C_unionHelper.read(istream); value.v4 = C_unionHelper.read(istream); value.v5 = C_unionHelper.read(istream); value.v6 = C_unionHelper.read(istream); value.v7 = C_unionHelper.read(istream); value.v8 = C_unionHelper.read(istream); value.v9 = C_unionHelper.read(istream); value.v10 = C_unionHelper.read(istream); value.v11 = C_unionHelper.read(istream); value.v12 = C_unionHelper.read(istream); value.v13 = C_unionHelper.read(istream); value.v16 = C_sequence_e_shortHelper.read(istream); value.v17 = C_sequence_e_ushortHelper.read(istream); value.v18 = C_sequence_e_longHelper.read(istream); value.v19 = C_sequence_e_ulongHelper.read(istream); value.v20 = C_sequence_e_floatHelper.read(istream); value.v21 = C_sequence_e_doubleHelper.read(istream); value.v22 = C_sequence_e_charHelper.read(istream); value.v23 = C_sequence_e_booleanHelper.read(istream); value.v24 = C_sequence_e_octetHelper.read(istream); value.v25 = C_sequence_e_anyHelper.read(istream); value.v26 = C_sequence_e_stringHelper.read(istream); value.v27 = C_sequence_e_ObjectHelper.read(istream); value.v30 = C_array_e_shortHelper.read(istream); value.v31 = C_array_e_ushortHelper.read(istream); value.v32 = C_array_e_longHelper.read(istream); value.v33 = C_array_e_ulongHelper.read(istream); value.v34 = C_array_e_floatHelper.read(istream); value.v35 = C_array_e_doubleHelper.read(istream); value.v36 = C_array_e_charHelper.read(istream); value.v37 = C_array_e_booleanHelper.read(istream); value.v38 = C_array_e_octetHelper.read(istream); value.v39 = C_array_e_anyHelper.read(istream); value.v40 = C_array_e_stringHelper.read(istream); value.v41 = C_array_e_ObjectHelper.read(istream); return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, C_except value ) { // write the repository ID ostream.write_string(id()); C_structHelper.write(ostream, value.v1); C_unionHelper.write(ostream, value.v2); C_unionHelper.write(ostream, value.v3); C_unionHelper.write(ostream, value.v4); C_unionHelper.write(ostream, value.v5); C_unionHelper.write(ostream, value.v6); C_unionHelper.write(ostream, value.v7); C_unionHelper.write(ostream, value.v8); C_unionHelper.write(ostream, value.v9); C_unionHelper.write(ostream, value.v10); C_unionHelper.write(ostream, value.v11); C_unionHelper.write(ostream, value.v12); C_unionHelper.write(ostream, value.v13); C_sequence_e_shortHelper.write(ostream, value.v16); C_sequence_e_ushortHelper.write(ostream, value.v17); C_sequence_e_longHelper.write(ostream, value.v18); C_sequence_e_ulongHelper.write(ostream, value.v19); C_sequence_e_floatHelper.write(ostream, value.v20); C_sequence_e_doubleHelper.write(ostream, value.v21); C_sequence_e_charHelper.write(ostream, value.v22); C_sequence_e_booleanHelper.write(ostream, value.v23); C_sequence_e_octetHelper.write(ostream, value.v24); C_sequence_e_anyHelper.write(ostream, value.v25); C_sequence_e_stringHelper.write(ostream, value.v26); C_sequence_e_ObjectHelper.write(ostream, value.v27); C_array_e_shortHelper.write(ostream, value.v30); C_array_e_ushortHelper.write(ostream, value.v31); C_array_e_longHelper.write(ostream, value.v32); C_array_e_ulongHelper.write(ostream, value.v33); C_array_e_floatHelper.write(ostream, value.v34); C_array_e_doubleHelper.write(ostream, value.v35); C_array_e_charHelper.write(ostream, value.v36); C_array_e_booleanHelper.write(ostream, value.v37); C_array_e_octetHelper.write(ostream, value.v38); C_array_e_anyHelper.write(ostream, value.v39); C_array_e_stringHelper.write(ostream, value.v40); C_array_e_ObjectHelper.write(ostream, value.v41); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_shortHolder.java0000644000175000001440000000373310250313742024623 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class C_array_e_shortHolder implements org.omg.CORBA.portable.Streamable { public short[] value = null; public C_array_e_shortHolder() { } public C_array_e_shortHolder(short[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = C_array_e_shortHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { C_array_e_shortHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return C_array_e_shortHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/rf11Caller.java0000644000175000001440000026016511030375476022273 0ustar dokousers// Tags: not-a-test // Uses: ../../Asserter // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // Copyright (c) 2000, 2001 NEC Corporation. All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // 1. The functionality to test the interoperability specified by the // Object Management Group's CORBA/IIOP specification version two (or // later versions) must be preserved. // // 2. Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer as the // first lines of this file unmodified. // // 3. Redistributions in binary form must reproduce the above copyright // notice, this list of conditions and the following disclaimer in the // documentation and/or other materials provided with the // distribution. // // THIS SOFTWARE IS PROVIDED BY NEC CORPORATION ``AS IS'' AND ANY EXPRESS // OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE // DISCLAIMED. IN NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE // GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER // IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF // ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // CVS // $Id: rf11Caller.java,v 1.2 2008/06/25 08:01:02 twisti Exp $ // package gnu.testlet.org.omg.CORBA.ORB.RF11; import org.omg.CORBA.ORB; import gnu.testlet.org.omg.CORBA.Asserter; import gnu.testlet.TestHarness; public class rf11Caller extends Asserter { ORB orb; NEC_RF11 target; public void init(ORB _orb, NEC_RF11 _target) { orb = _orb; target = _target; } //runtime routines boolean comp_0000(org.omg.CORBA.Any _v1) { int _v2; _v2 = _v1.extract_long(); return (_v2 == -200000); } C_struct cons_0000() { C_struct _v1; _v1 = new C_struct(); _v1.e_short = -100; _v1.e_ushort = 100; _v1.e_long = -100000; _v1.e_ulong = 100000; _v1.e_float = 0.123f; _v1.e_double = 0.12e3; _v1.e_char = 'a'; _v1.e_boolean = false; _v1.e_octet = 10; _v1.e_any = orb.create_any(); _v1.e_any.insert_string("abc"); _v1.e_string = "abc"; _v1.e_Object = target; return (_v1); } boolean comp_0002(org.omg.CORBA.Any _v1) { int _v2; _v2 = _v1.extract_long(); return (_v2 == -200000); } boolean comp_0001(C_struct _v1) { return (true && (_v1.e_short == -200) && (_v1.e_ushort == 200) && (_v1.e_long == -200000) && (_v1.e_ulong == 200000) && (_v1.e_float == 1.234f) && (_v1.e_double == 1.23e4) && (_v1.e_char == 'b') && (_v1.e_boolean == true) && (_v1.e_octet == 20) && comp_0002(_v1.e_any) && (_v1.e_string.equals("def")) && (_v1.e_Object._is_equivalent(target))); } C_union cons_0001() { C_union _v1; _v1 = new C_union(); short _v2; _v2 = -100; _v1.e_short(_v2); return (_v1); } boolean comp_0003(C_union _v1) { if (_v1.discriminator() != 2) return false; return (_v1.e_ushort() == 200); } boolean comp_0004(org.omg.CORBA.Any _v1) { int _v2; _v2 = _v1.extract_long(); return (_v2 == -200000); } boolean comp_0005(org.omg.CORBA.Any _v1) { int _v2; _v2 = _v1.extract_long(); return (_v2 == -200000); } D_d_short cons_0002() { D_d_short _v1; _v1 = new D_d_short(); int _v2; _v2 = -100000; _v1.l1(_v2); return (_v1); } boolean comp_0006(D_d_short _v1) { if (_v1.discriminator() != 2) return false; return (_v1.l2() == -200000); } D_d_ushort cons_0003() { D_d_ushort _v1; _v1 = new D_d_ushort(); int _v2; _v2 = -100000; _v1.l1(_v2); return (_v1); } boolean comp_0007(D_d_ushort _v1) { if (_v1.discriminator() != 2) return false; return (_v1.l2() == -200000); } D_d_long cons_0004() { D_d_long _v1; _v1 = new D_d_long(); int _v2; _v2 = -100000; _v1.l1(_v2); return (_v1); } boolean comp_0008(D_d_long _v1) { if (_v1.discriminator() != 2) return false; return (_v1.l2() == -200000); } D_d_ulong cons_0005() { D_d_ulong _v1; _v1 = new D_d_ulong(); int _v2; _v2 = -100000; _v1.l1(_v2); return (_v1); } boolean comp_0009(D_d_ulong _v1) { if (_v1.discriminator() != 2) return false; return (_v1.l2() == -200000); } D_d_char cons_0006() { D_d_char _v1; _v1 = new D_d_char(); int _v2; _v2 = -100000; _v1.l1(_v2); return (_v1); } boolean comp_0010(D_d_char _v1) { if (_v1.discriminator() != 'b') return false; return (_v1.l2() == -200000); } D_d_boolean cons_0007() { D_d_boolean _v1; _v1 = new D_d_boolean(); int _v2; _v2 = -100000; _v1.l2(_v2); return (_v1); } boolean comp_0011(D_d_boolean _v1) { if (_v1.discriminator() != true) return false; return (_v1.l1() == -200000); } D_d_B cons_0008() { D_d_B _v1; _v1 = new D_d_B(); int _v2; _v2 = -100000; _v1.l1(_v2); return (_v1); } boolean comp_0012(D_d_B _v1) { if (_v1.discriminator() != B.b2) return false; return (_v1.l2() == -200000); } E_struct cons_0009() { E_struct _v1; _v1 = new E_struct(); _v1.e_b1 = B.b1; _v1.e_b2 = B.b1; return (_v1); } boolean comp_0013(E_struct _v1) { return (true && (_v1.e_b1 == B.b2) && (_v1.e_b2 == B.b2)); } E_union cons_0010() { E_union _v1; _v1 = new E_union(); B _v2; _v2 = B.b1; _v1.e_b1(_v2); return (_v1); } boolean comp_0014(E_union _v1) { if (_v1.discriminator() != 2) return false; return (_v1.e_b2() == B.b2); } C_struct cons_0012() { C_struct _v1; _v1 = new C_struct(); _v1.e_short = -100; _v1.e_ushort = 100; _v1.e_long = -100000; _v1.e_ulong = 100000; _v1.e_float = 0.123f; _v1.e_double = 0.12e3; _v1.e_char = 'a'; _v1.e_boolean = false; _v1.e_octet = 10; _v1.e_any = orb.create_any(); _v1.e_any.insert_string("abc"); _v1.e_string = "abc"; _v1.e_Object = target; return (_v1); } C_union cons_0013() { C_union _v1; _v1 = new C_union(); short _v2; _v2 = -100; _v1.e_short(_v2); return (_v1); } F_struct cons_0011() { F_struct _v1; _v1 = new F_struct(); _v1.e_c_struct = cons_0012(); _v1.e_c_union = cons_0013(); _v1.e_c_sequence_e_short = new short[ 2 ]; _v1.e_c_sequence_e_short [ 0 ] = -100; _v1.e_c_sequence_e_short [ 1 ] = -100; _v1.e_c_sequence_e_ushort = new short[ 2 ]; _v1.e_c_sequence_e_ushort [ 0 ] = 100; _v1.e_c_sequence_e_ushort [ 1 ] = 100; _v1.e_c_sequence_e_long = new int[ 2 ]; _v1.e_c_sequence_e_long [ 0 ] = -100000; _v1.e_c_sequence_e_long [ 1 ] = -100000; _v1.e_c_sequence_e_ulong = new int[ 2 ]; _v1.e_c_sequence_e_ulong [ 0 ] = 100000; _v1.e_c_sequence_e_ulong [ 1 ] = 100000; _v1.e_c_sequence_e_float = new float[ 2 ]; _v1.e_c_sequence_e_float [ 0 ] = 0.123f; _v1.e_c_sequence_e_float [ 1 ] = 0.123f; _v1.e_c_sequence_e_double = new double[ 2 ]; _v1.e_c_sequence_e_double [ 0 ] = 0.12e3; _v1.e_c_sequence_e_double [ 1 ] = 0.12e3; _v1.e_c_sequence_e_char = new char[ 2 ]; _v1.e_c_sequence_e_char [ 0 ] = 'a'; _v1.e_c_sequence_e_char [ 1 ] = 'a'; _v1.e_c_sequence_e_boolean = new boolean[ 2 ]; _v1.e_c_sequence_e_boolean [ 0 ] = false; _v1.e_c_sequence_e_boolean [ 1 ] = false; _v1.e_c_sequence_e_octet = new byte[ 2 ]; _v1.e_c_sequence_e_octet [ 0 ] = 10; _v1.e_c_sequence_e_octet [ 1 ] = 10; _v1.e_c_sequence_e_any = new org.omg.CORBA.Any[ 2 ]; _v1.e_c_sequence_e_any [ 0 ] = orb.create_any(); _v1.e_c_sequence_e_any [ 0 ].insert_string("abc"); _v1.e_c_sequence_e_any [ 1 ] = orb.create_any(); _v1.e_c_sequence_e_any [ 1 ].insert_string("abc"); _v1.e_c_sequence_e_string = new String[ 2 ]; _v1.e_c_sequence_e_string [ 0 ] = "abc"; _v1.e_c_sequence_e_string [ 1 ] = "abc"; _v1.e_c_sequence_e_Object = new org.omg.CORBA.Object[ 2 ]; _v1.e_c_sequence_e_Object [ 0 ] = target; _v1.e_c_sequence_e_Object [ 1 ] = target; _v1.e_c_array_e_short = new short[ 2 ]; _v1.e_c_array_e_short [ 0 ] = -100; _v1.e_c_array_e_short [ 1 ] = -100; _v1.e_c_array_e_ushort = new short[ 2 ]; _v1.e_c_array_e_ushort [ 0 ] = 100; _v1.e_c_array_e_ushort [ 1 ] = 100; _v1.e_c_array_e_long = new int[ 2 ]; _v1.e_c_array_e_long [ 0 ] = -100000; _v1.e_c_array_e_long [ 1 ] = -100000; _v1.e_c_array_e_ulong = new int[ 2 ]; _v1.e_c_array_e_ulong [ 0 ] = 100000; _v1.e_c_array_e_ulong [ 1 ] = 100000; _v1.e_c_array_e_float = new float[ 2 ]; _v1.e_c_array_e_float [ 0 ] = 0.123f; _v1.e_c_array_e_float [ 1 ] = 0.123f; _v1.e_c_array_e_double = new double[ 2 ]; _v1.e_c_array_e_double [ 0 ] = 0.12e3; _v1.e_c_array_e_double [ 1 ] = 0.12e3; _v1.e_c_array_e_char = new char[ 2 ]; _v1.e_c_array_e_char [ 0 ] = 'a'; _v1.e_c_array_e_char [ 1 ] = 'a'; _v1.e_c_array_e_boolean = new boolean[ 2 ]; _v1.e_c_array_e_boolean [ 0 ] = false; _v1.e_c_array_e_boolean [ 1 ] = false; _v1.e_c_array_e_octet = new byte[ 2 ]; _v1.e_c_array_e_octet [ 0 ] = 10; _v1.e_c_array_e_octet [ 1 ] = 10; _v1.e_c_array_e_any = new org.omg.CORBA.Any[ 2 ]; _v1.e_c_array_e_any [ 0 ] = orb.create_any(); _v1.e_c_array_e_any [ 0 ].insert_string("abc"); _v1.e_c_array_e_any [ 1 ] = orb.create_any(); _v1.e_c_array_e_any [ 1 ].insert_string("abc"); _v1.e_c_array_e_string = new String[ 2 ]; _v1.e_c_array_e_string [ 0 ] = "abc"; _v1.e_c_array_e_string [ 1 ] = "abc"; _v1.e_c_array_e_Object = new org.omg.CORBA.Object[ 2 ]; _v1.e_c_array_e_Object [ 0 ] = target; _v1.e_c_array_e_Object [ 1 ] = target; return (_v1); } boolean comp_0017(org.omg.CORBA.Any _v1) { int _v2; _v2 = _v1.extract_long(); return (_v2 == -200000); } boolean comp_0016(C_struct _v1) { return (true && (_v1.e_short == -200) && (_v1.e_ushort == 200) && (_v1.e_long == -200000) && (_v1.e_ulong == 200000) && (_v1.e_float == 1.234f) && (_v1.e_double == 1.23e4) && (_v1.e_char == 'b') && (_v1.e_boolean == true) && (_v1.e_octet == 20) && comp_0017(_v1.e_any) && (_v1.e_string.equals("def")) && (_v1.e_Object._is_equivalent(target))); } boolean comp_0018(C_union _v1) { if (_v1.discriminator() != 2) return false; return (_v1.e_ushort() == 200); } boolean comp_0015(F_struct _v1) { return (true && comp_0016(_v1.e_c_struct) && comp_0018(_v1.e_c_union) && ( true && (_v1.e_c_sequence_e_short [ 0 ] == -200) && (_v1.e_c_sequence_e_short [ 1 ] == -200) ) && ( true && (_v1.e_c_sequence_e_ushort [ 0 ] == 200) && (_v1.e_c_sequence_e_ushort [ 1 ] == 200) ) && ( true && (_v1.e_c_sequence_e_long [ 0 ] == -200000) && (_v1.e_c_sequence_e_long [ 1 ] == -200000) ) && ( true && (_v1.e_c_sequence_e_ulong [ 0 ] == 200000) && (_v1.e_c_sequence_e_ulong [ 1 ] == 200000) ) && ( true && (_v1.e_c_sequence_e_float [ 0 ] == 1.234f) && (_v1.e_c_sequence_e_float [ 1 ] == 1.234f) ) && ( true && (_v1.e_c_sequence_e_double [ 0 ] == 1.23e4) && (_v1.e_c_sequence_e_double [ 1 ] == 1.23e4) ) && ( true && (_v1.e_c_sequence_e_char [ 0 ] == 'b') && (_v1.e_c_sequence_e_char [ 1 ] == 'b') ) && ( true && (_v1.e_c_sequence_e_boolean [ 0 ] == true) && (_v1.e_c_sequence_e_boolean [ 1 ] == true) ) && ( true && (_v1.e_c_sequence_e_octet [ 0 ] == 20) && (_v1.e_c_sequence_e_octet [ 1 ] == 20) ) && ( true && comp_0017(_v1.e_c_sequence_e_any [ 0 ]) && comp_0017(_v1.e_c_sequence_e_any [ 1 ]) ) && ( true && (_v1.e_c_sequence_e_string [ 0 ].equals("def")) && (_v1.e_c_sequence_e_string [ 1 ].equals("def")) ) && ( true && (_v1.e_c_sequence_e_Object [ 0 ]._is_equivalent(target)) && (_v1.e_c_sequence_e_Object [ 1 ]._is_equivalent(target)) ) && ( true && (_v1.e_c_array_e_short [ 0 ] == -200) && (_v1.e_c_array_e_short [ 1 ] == -200) ) && ( true && (_v1.e_c_array_e_ushort [ 0 ] == 200) && (_v1.e_c_array_e_ushort [ 1 ] == 200) ) && ( true && (_v1.e_c_array_e_long [ 0 ] == -200000) && (_v1.e_c_array_e_long [ 1 ] == -200000) ) && ( true && (_v1.e_c_array_e_ulong [ 0 ] == 200000) && (_v1.e_c_array_e_ulong [ 1 ] == 200000) ) && ( true && (_v1.e_c_array_e_float [ 0 ] == 1.234f) && (_v1.e_c_array_e_float [ 1 ] == 1.234f) ) && ( true && (_v1.e_c_array_e_double [ 0 ] == 1.23e4) && (_v1.e_c_array_e_double [ 1 ] == 1.23e4) ) && ( true && (_v1.e_c_array_e_char [ 0 ] == 'b') && (_v1.e_c_array_e_char [ 1 ] == 'b') ) && ( true && (_v1.e_c_array_e_boolean [ 0 ] == true) && (_v1.e_c_array_e_boolean [ 1 ] == true) ) && ( true && (_v1.e_c_array_e_octet [ 0 ] == 20) && (_v1.e_c_array_e_octet [ 1 ] == 20) ) && ( true && comp_0017(_v1.e_c_array_e_any [ 0 ]) && comp_0017(_v1.e_c_array_e_any [ 1 ]) ) && ( true && (_v1.e_c_array_e_string [ 0 ].equals("def")) && (_v1.e_c_array_e_string [ 1 ].equals("def")) ) && ( true && (_v1.e_c_array_e_Object [ 0 ]._is_equivalent(target)) && (_v1.e_c_array_e_Object [ 1 ]._is_equivalent(target)) )); } C_struct cons_0015() { C_struct _v1; _v1 = new C_struct(); _v1.e_short = -100; _v1.e_ushort = 100; _v1.e_long = -100000; _v1.e_ulong = 100000; _v1.e_float = 0.123f; _v1.e_double = 0.12e3; _v1.e_char = 'a'; _v1.e_boolean = false; _v1.e_octet = 10; _v1.e_any = orb.create_any(); _v1.e_any.insert_string("abc"); _v1.e_string = "abc"; _v1.e_Object = target; return (_v1); } F_union cons_0014() { F_union _v1; _v1 = new F_union(); C_struct _v2; _v2 = cons_0015(); _v1.e_c_struct(_v2); return (_v1); } boolean comp_0020(C_union _v1) { if (_v1.discriminator() != 2) return false; return (_v1.e_ushort() == 200); } boolean comp_0019(F_union _v1) { if (_v1.discriminator() != 2) return false; return comp_0020(_v1.e_c_union()); } C_struct cons_0016() { C_struct _v1; _v1 = new C_struct(); _v1.e_short = -100; _v1.e_ushort = 100; _v1.e_long = -100000; _v1.e_ulong = 100000; _v1.e_float = 0.123f; _v1.e_double = 0.12e3; _v1.e_char = 'a'; _v1.e_boolean = false; _v1.e_octet = 10; _v1.e_any = orb.create_any(); _v1.e_any.insert_string("abc"); _v1.e_string = "abc"; _v1.e_Object = target; return (_v1); } boolean comp_0022(org.omg.CORBA.Any _v1) { int _v2; _v2 = _v1.extract_long(); return (_v2 == -200000); } boolean comp_0021(C_struct _v1) { return (true && (_v1.e_short == -200) && (_v1.e_ushort == 200) && (_v1.e_long == -200000) && (_v1.e_ulong == 200000) && (_v1.e_float == 1.234f) && (_v1.e_double == 1.23e4) && (_v1.e_char == 'b') && (_v1.e_boolean == true) && (_v1.e_octet == 20) && comp_0022(_v1.e_any) && (_v1.e_string.equals("def")) && (_v1.e_Object._is_equivalent(target))); } C_union cons_0017() { C_union _v1; _v1 = new C_union(); short _v2; _v2 = -100; _v1.e_short(_v2); return (_v1); } boolean comp_0023(C_union _v1) { if (_v1.discriminator() != 2) return false; return (_v1.e_ushort() == 200); } C_struct cons_0018() { C_struct _v1; _v1 = new C_struct(); _v1.e_short = -100; _v1.e_ushort = 100; _v1.e_long = -100000; _v1.e_ulong = 100000; _v1.e_float = 0.123f; _v1.e_double = 0.12e3; _v1.e_char = 'a'; _v1.e_boolean = false; _v1.e_octet = 10; _v1.e_any = orb.create_any(); _v1.e_any.insert_string("abc"); _v1.e_string = "abc"; _v1.e_Object = target; return (_v1); } boolean comp_0025(org.omg.CORBA.Any _v1) { int _v2; _v2 = _v1.extract_long(); return (_v2 == -200000); } boolean comp_0024(C_struct _v1) { return (true && (_v1.e_short == -200) && (_v1.e_ushort == 200) && (_v1.e_long == -200000) && (_v1.e_ulong == 200000) && (_v1.e_float == 1.234f) && (_v1.e_double == 1.23e4) && (_v1.e_char == 'b') && (_v1.e_boolean == true) && (_v1.e_octet == 20) && comp_0025(_v1.e_any) && (_v1.e_string.equals("def")) && (_v1.e_Object._is_equivalent(target))); } C_union cons_0019() { C_union _v1; _v1 = new C_union(); short _v2; _v2 = -100; _v1.e_short(_v2); return (_v1); } boolean comp_0026(C_union _v1) { if (_v1.discriminator() != 2) return false; return (_v1.e_ushort() == 200); } E_struct cons_0021() { E_struct _v1; _v1 = new E_struct(); _v1.e_b1 = B.b1; _v1.e_b2 = B.b1; return (_v1); } E_union cons_0022() { E_union _v1; _v1 = new E_union(); B _v2; _v2 = B.b1; _v1.e_b1(_v2); return (_v1); } G_struct cons_0020() { G_struct _v1; _v1 = new G_struct(); _v1.e_e_struct = cons_0021(); _v1.e_e_union = cons_0022(); _v1.e_e_sequence = new B[ 2 ]; _v1.e_e_sequence [ 0 ] = B.b1; _v1.e_e_sequence [ 1 ] = B.b1; _v1.e_e_array = new B[ 2 ]; _v1.e_e_array [ 0 ] = B.b1; _v1.e_e_array [ 1 ] = B.b1; return (_v1); } boolean comp_0028(E_struct _v1) { return (true && (_v1.e_b1 == B.b2) && (_v1.e_b2 == B.b2)); } boolean comp_0029(E_union _v1) { if (_v1.discriminator() != 2) return false; return (_v1.e_b2() == B.b2); } boolean comp_0027(G_struct _v1) { return (true && comp_0028(_v1.e_e_struct) && comp_0029(_v1.e_e_union) && ( true && (_v1.e_e_sequence [ 0 ] == B.b2) && (_v1.e_e_sequence [ 1 ] == B.b2) ) && ( true && (_v1.e_e_array [ 0 ] == B.b2) && (_v1.e_e_array [ 1 ] == B.b2) )); } E_struct cons_0024() { E_struct _v1; _v1 = new E_struct(); _v1.e_b1 = B.b1; _v1.e_b2 = B.b1; return (_v1); } G_union cons_0023() { G_union _v1; _v1 = new G_union(); E_struct _v2; _v2 = cons_0024(); _v1.e_e_struct(_v2); return (_v1); } boolean comp_0031(E_union _v1) { if (_v1.discriminator() != 2) return false; return (_v1.e_b2() == B.b2); } boolean comp_0030(G_union _v1) { if (_v1.discriminator() != 2) return false; return comp_0031(_v1.e_e_union()); } E_struct cons_0025() { E_struct _v1; _v1 = new E_struct(); _v1.e_b1 = B.b1; _v1.e_b2 = B.b1; return (_v1); } boolean comp_0032(E_struct _v1) { return (true && (_v1.e_b1 == B.b2) && (_v1.e_b2 == B.b2)); } E_union cons_0026() { E_union _v1; _v1 = new E_union(); B _v2; _v2 = B.b1; _v1.e_b1(_v2); return (_v1); } boolean comp_0033(E_union _v1) { if (_v1.discriminator() != 2) return false; return (_v1.e_b2() == B.b2); } E_struct cons_0027() { E_struct _v1; _v1 = new E_struct(); _v1.e_b1 = B.b1; _v1.e_b2 = B.b1; return (_v1); } boolean comp_0034(E_struct _v1) { return (true && (_v1.e_b1 == B.b2) && (_v1.e_b2 == B.b2)); } E_union cons_0028() { E_union _v1; _v1 = new E_union(); B _v2; _v2 = B.b1; _v1.e_b1(_v2); return (_v1); } boolean comp_0035(E_union _v1) { if (_v1.discriminator() != 2) return false; return (_v1.e_b2() == B.b2); } C_struct cons_0030() { C_struct _v1; _v1 = new C_struct(); _v1.e_short = -100; _v1.e_ushort = 100; _v1.e_long = -100000; _v1.e_ulong = 100000; _v1.e_float = 0.123f; _v1.e_double = 0.12e3; _v1.e_char = 'a'; _v1.e_boolean = false; _v1.e_octet = 10; _v1.e_any = orb.create_any(); _v1.e_any.insert_string("abc"); _v1.e_string = "abc"; _v1.e_Object = target; return (_v1); } F_union cons_0029() { F_union _v1; _v1 = new F_union(); C_struct _v2; _v2 = cons_0030(); _v1.e_c_struct(_v2); return (_v1); } boolean comp_0037(C_union _v1) { if (_v1.discriminator() != 2) return false; return (_v1.e_ushort() == 200); } boolean comp_0036(F_union _v1) { if (_v1.discriminator() != 2) return false; return comp_0037(_v1.e_c_union()); } C_struct cons_0032() { C_struct _v1; _v1 = new C_struct(); _v1.e_short = -100; _v1.e_ushort = 100; _v1.e_long = -100000; _v1.e_ulong = 100000; _v1.e_float = 0.123f; _v1.e_double = 0.12e3; _v1.e_char = 'a'; _v1.e_boolean = false; _v1.e_octet = 10; _v1.e_any = orb.create_any(); _v1.e_any.insert_string("abc"); _v1.e_string = "abc"; _v1.e_Object = target; return (_v1); } F_union cons_0031() { F_union _v1; _v1 = new F_union(); C_struct _v2; _v2 = cons_0032(); _v1.e_c_struct(_v2); return (_v1); } boolean comp_0039(C_union _v1) { if (_v1.discriminator() != 2) return false; return (_v1.e_ushort() == 200); } boolean comp_0038(F_union _v1) { if (_v1.discriminator() != 2) return false; return comp_0039(_v1.e_c_union()); } C_struct cons_0034() { C_struct _v1; _v1 = new C_struct(); _v1.e_short = -100; _v1.e_ushort = 100; _v1.e_long = -100000; _v1.e_ulong = 100000; _v1.e_float = 0.123f; _v1.e_double = 0.12e3; _v1.e_char = 'a'; _v1.e_boolean = false; _v1.e_octet = 10; _v1.e_any = orb.create_any(); _v1.e_any.insert_string("abc"); _v1.e_string = "abc"; _v1.e_Object = target; return (_v1); } F_union cons_0033() { F_union _v1; _v1 = new F_union(); C_struct _v2; _v2 = cons_0034(); _v1.e_c_struct(_v2); return (_v1); } boolean comp_0041(C_union _v1) { if (_v1.discriminator() != 2) return false; return (_v1.e_ushort() == 200); } boolean comp_0040(F_union _v1) { if (_v1.discriminator() != 2) return false; return comp_0041(_v1.e_c_union()); } boolean comp_0042(A_except1 _v1) { return (true && (_v1.v1 == -200) && (_v1.v2 == 200) && (_v1.v3 == -200000) && (_v1.v4 == 200000) && (_v1.v5 == 1.234f) && (_v1.v6 == 1.23e4) && (_v1.v7 == 'b') && (_v1.v8 == true) && (_v1.v9 == 20)); } boolean comp_0044(org.omg.CORBA.Any _v1) { int _v2; _v2 = _v1.extract_long(); return (_v2 == -200000); } boolean comp_0043(A_except2 _v1) { return (true && comp_0044(_v1.v10) && (_v1.v11.equals("def")) && (_v1.v12._is_equivalent(target))); } boolean comp_0045(B_except _v1) { return (true && (_v1.v == B.b2)); } boolean comp_0048(org.omg.CORBA.Any _v1) { int _v2; _v2 = _v1.extract_long(); return (_v2 == -200000); } boolean comp_0047(C_struct _v1) { return (true && (_v1.e_short == -200) && (_v1.e_ushort == 200) && (_v1.e_long == -200000) && (_v1.e_ulong == 200000) && (_v1.e_float == 1.234f) && (_v1.e_double == 1.23e4) && (_v1.e_char == 'b') && (_v1.e_boolean == true) && (_v1.e_octet == 20) && comp_0048(_v1.e_any) && (_v1.e_string.equals("def")) && (_v1.e_Object._is_equivalent(target))); } boolean comp_0049(C_union _v1) { if (_v1.discriminator() != 2) return false; return (_v1.e_ushort() == 200); } boolean comp_0046(C_except _v1) { return (true && comp_0047(_v1.v1) && comp_0049(_v1.v2) && comp_0049(_v1.v3) && comp_0049(_v1.v4) && comp_0049(_v1.v5) && comp_0049(_v1.v6) && comp_0049(_v1.v7) && comp_0049(_v1.v8) && comp_0049(_v1.v9) && comp_0049(_v1.v10) && comp_0049(_v1.v11) && comp_0049(_v1.v12) && comp_0049(_v1.v13) && (true && (_v1.v16 [ 0 ] == -200) && (_v1.v16 [ 1 ] == -200)) && (true && (_v1.v17 [ 0 ] == 200) && (_v1.v17 [ 1 ] == 200)) && (true && (_v1.v18 [ 0 ] == -200000) && (_v1.v18 [ 1 ] == -200000)) && (true && (_v1.v19 [ 0 ] == 200000) && (_v1.v19 [ 1 ] == 200000)) && (true && (_v1.v20 [ 0 ] == 1.234f) && (_v1.v20 [ 1 ] == 1.234f)) && (true && (_v1.v21 [ 0 ] == 1.23e4) && (_v1.v21 [ 1 ] == 1.23e4)) && (true && (_v1.v22 [ 0 ] == 'b') && (_v1.v22 [ 1 ] == 'b')) && (true && (_v1.v23 [ 0 ] == true) && (_v1.v23 [ 1 ] == true)) && (true && (_v1.v24 [ 0 ] == 20) && (_v1.v24 [ 1 ] == 20)) && (true && comp_0048(_v1.v25 [ 0 ]) && comp_0048(_v1.v25 [ 1 ])) && ( true && (_v1.v26 [ 0 ].equals("def")) && (_v1.v26 [ 1 ].equals("def")) ) && ( true && (_v1.v27 [ 0 ]._is_equivalent(target)) && (_v1.v27 [ 1 ]._is_equivalent(target)) ) && (true && (_v1.v30 [ 0 ] == -200) && (_v1.v30 [ 1 ] == -200)) && (true && (_v1.v31 [ 0 ] == 200) && (_v1.v31 [ 1 ] == 200)) && (true && (_v1.v32 [ 0 ] == -200000) && (_v1.v32 [ 1 ] == -200000)) && (true && (_v1.v33 [ 0 ] == 200000) && (_v1.v33 [ 1 ] == 200000)) && (true && (_v1.v34 [ 0 ] == 1.234f) && (_v1.v34 [ 1 ] == 1.234f)) && (true && (_v1.v35 [ 0 ] == 1.23e4) && (_v1.v35 [ 1 ] == 1.23e4)) && (true && (_v1.v36 [ 0 ] == 'b') && (_v1.v36 [ 1 ] == 'b')) && (true && (_v1.v37 [ 0 ] == true) && (_v1.v37 [ 1 ] == true)) && (true && (_v1.v38 [ 0 ] == 20) && (_v1.v38 [ 1 ] == 20)) && (true && comp_0048(_v1.v39 [ 0 ]) && comp_0048(_v1.v39 [ 1 ])) && ( true && (_v1.v40 [ 0 ].equals("def")) && (_v1.v40 [ 1 ].equals("def")) ) && ( true && (_v1.v41 [ 0 ]._is_equivalent(target)) && (_v1.v41 [ 1 ]._is_equivalent(target)) )); } boolean comp_0051(D_d_short _v1) { if (_v1.discriminator() != 2) return false; return (_v1.l2() == -200000); } boolean comp_0052(D_d_ushort _v1) { if (_v1.discriminator() != 2) return false; return (_v1.l2() == -200000); } boolean comp_0053(D_d_long _v1) { if (_v1.discriminator() != 2) return false; return (_v1.l2() == -200000); } boolean comp_0054(D_d_ulong _v1) { if (_v1.discriminator() != 2) return false; return (_v1.l2() == -200000); } boolean comp_0055(D_d_char _v1) { if (_v1.discriminator() != 'b') return false; return (_v1.l2() == -200000); } boolean comp_0056(D_d_boolean _v1) { if (_v1.discriminator() != true) return false; return (_v1.l1() == -200000); } boolean comp_0057(D_d_B _v1) { if (_v1.discriminator() != B.b2) return false; return (_v1.l2() == -200000); } boolean comp_0050(D_except _v1) { return (true && comp_0051(_v1.v1) && comp_0052(_v1.v2) && comp_0053(_v1.v3) && comp_0054(_v1.v4) && comp_0055(_v1.v5) && comp_0056(_v1.v6) && comp_0057(_v1.v7)); } boolean comp_0059(E_struct _v1) { return (true && (_v1.e_b1 == B.b2) && (_v1.e_b2 == B.b2)); } boolean comp_0060(E_union _v1) { if (_v1.discriminator() != 2) return false; return (_v1.e_b2() == B.b2); } boolean comp_0058(E_except _v1) { return (true && comp_0059(_v1.v1) && comp_0060(_v1.v2) && (true && (_v1.v3 [ 0 ] == B.b2) && (_v1.v3 [ 1 ] == B.b2)) && (true && (_v1.v4 [ 0 ] == B.b2) && (_v1.v4 [ 1 ] == B.b2))); } boolean comp_0064(org.omg.CORBA.Any _v1) { int _v2; _v2 = _v1.extract_long(); return (_v2 == -200000); } boolean comp_0063(C_struct _v1) { return (true && (_v1.e_short == -200) && (_v1.e_ushort == 200) && (_v1.e_long == -200000) && (_v1.e_ulong == 200000) && (_v1.e_float == 1.234f) && (_v1.e_double == 1.23e4) && (_v1.e_char == 'b') && (_v1.e_boolean == true) && (_v1.e_octet == 20) && comp_0064(_v1.e_any) && (_v1.e_string.equals("def")) && (_v1.e_Object._is_equivalent(target))); } boolean comp_0065(C_union _v1) { if (_v1.discriminator() != 2) return false; return (_v1.e_ushort() == 200); } boolean comp_0062(F_struct _v1) { return (true && comp_0063(_v1.e_c_struct) && comp_0065(_v1.e_c_union) && ( true && (_v1.e_c_sequence_e_short [ 0 ] == -200) && (_v1.e_c_sequence_e_short [ 1 ] == -200) ) && ( true && (_v1.e_c_sequence_e_ushort [ 0 ] == 200) && (_v1.e_c_sequence_e_ushort [ 1 ] == 200) ) && ( true && (_v1.e_c_sequence_e_long [ 0 ] == -200000) && (_v1.e_c_sequence_e_long [ 1 ] == -200000) ) && ( true && (_v1.e_c_sequence_e_ulong [ 0 ] == 200000) && (_v1.e_c_sequence_e_ulong [ 1 ] == 200000) ) && ( true && (_v1.e_c_sequence_e_float [ 0 ] == 1.234f) && (_v1.e_c_sequence_e_float [ 1 ] == 1.234f) ) && ( true && (_v1.e_c_sequence_e_double [ 0 ] == 1.23e4) && (_v1.e_c_sequence_e_double [ 1 ] == 1.23e4) ) && ( true && (_v1.e_c_sequence_e_char [ 0 ] == 'b') && (_v1.e_c_sequence_e_char [ 1 ] == 'b') ) && ( true && (_v1.e_c_sequence_e_boolean [ 0 ] == true) && (_v1.e_c_sequence_e_boolean [ 1 ] == true) ) && ( true && (_v1.e_c_sequence_e_octet [ 0 ] == 20) && (_v1.e_c_sequence_e_octet [ 1 ] == 20) ) && ( true && comp_0064(_v1.e_c_sequence_e_any [ 0 ]) && comp_0064(_v1.e_c_sequence_e_any [ 1 ]) ) && ( true && (_v1.e_c_sequence_e_string [ 0 ].equals("def")) && (_v1.e_c_sequence_e_string [ 1 ].equals("def")) ) && ( true && (_v1.e_c_sequence_e_Object [ 0 ]._is_equivalent(target)) && (_v1.e_c_sequence_e_Object [ 1 ]._is_equivalent(target)) ) && ( true && (_v1.e_c_array_e_short [ 0 ] == -200) && (_v1.e_c_array_e_short [ 1 ] == -200) ) && ( true && (_v1.e_c_array_e_ushort [ 0 ] == 200) && (_v1.e_c_array_e_ushort [ 1 ] == 200) ) && ( true && (_v1.e_c_array_e_long [ 0 ] == -200000) && (_v1.e_c_array_e_long [ 1 ] == -200000) ) && ( true && (_v1.e_c_array_e_ulong [ 0 ] == 200000) && (_v1.e_c_array_e_ulong [ 1 ] == 200000) ) && ( true && (_v1.e_c_array_e_float [ 0 ] == 1.234f) && (_v1.e_c_array_e_float [ 1 ] == 1.234f) ) && ( true && (_v1.e_c_array_e_double [ 0 ] == 1.23e4) && (_v1.e_c_array_e_double [ 1 ] == 1.23e4) ) && ( true && (_v1.e_c_array_e_char [ 0 ] == 'b') && (_v1.e_c_array_e_char [ 1 ] == 'b') ) && ( true && (_v1.e_c_array_e_boolean [ 0 ] == true) && (_v1.e_c_array_e_boolean [ 1 ] == true) ) && ( true && (_v1.e_c_array_e_octet [ 0 ] == 20) && (_v1.e_c_array_e_octet [ 1 ] == 20) ) && ( true && comp_0064(_v1.e_c_array_e_any [ 0 ]) && comp_0064(_v1.e_c_array_e_any [ 1 ]) ) && ( true && (_v1.e_c_array_e_string [ 0 ].equals("def")) && (_v1.e_c_array_e_string [ 1 ].equals("def")) ) && ( true && (_v1.e_c_array_e_Object [ 0 ]._is_equivalent(target)) && (_v1.e_c_array_e_Object [ 1 ]._is_equivalent(target)) )); } boolean comp_0066(F_union _v1) { if (_v1.discriminator() != 2) return false; return comp_0065(_v1.e_c_union()); } boolean comp_0061(F_except1 _v1) { return (true && comp_0062(_v1.v1) && comp_0066(_v1.v2) && comp_0066(_v1.v3) && comp_0066(_v1.v4) && comp_0066(_v1.v5) && comp_0066(_v1.v6) && comp_0066(_v1.v7) && comp_0066(_v1.v8) && comp_0066(_v1.v9) && comp_0066(_v1.v10) && comp_0066(_v1.v11) && comp_0066(_v1.v12) && comp_0066(_v1.v13) && comp_0066(_v1.v14) && comp_0066(_v1.v15) && comp_0066(_v1.v18) && comp_0066(_v1.v19) && comp_0066(_v1.v20) && comp_0066(_v1.v21) && comp_0066(_v1.v22) && comp_0066(_v1.v23) && comp_0066(_v1.v24) && comp_0066(_v1.v25) && comp_0066(_v1.v26) && comp_0066(_v1.v27) && comp_0066(_v1.v28) && comp_0066(_v1.v29)); } boolean comp_0069(org.omg.CORBA.Any _v1) { int _v2; _v2 = _v1.extract_long(); return (_v2 == -200000); } boolean comp_0068(C_struct _v1) { return (true && (_v1.e_short == -200) && (_v1.e_ushort == 200) && (_v1.e_long == -200000) && (_v1.e_ulong == 200000) && (_v1.e_float == 1.234f) && (_v1.e_double == 1.23e4) && (_v1.e_char == 'b') && (_v1.e_boolean == true) && (_v1.e_octet == 20) && comp_0069(_v1.e_any) && (_v1.e_string.equals("def")) && (_v1.e_Object._is_equivalent(target))); } boolean comp_0070(C_union _v1) { if (_v1.discriminator() != 2) return false; return (_v1.e_ushort() == 200); } boolean comp_0067(F_except2 _v1) { return (true && (true && comp_0068(_v1.v32 [ 0 ]) && comp_0068(_v1.v32 [ 1 ])) && (true && comp_0070(_v1.v33 [ 0 ]) && comp_0070(_v1.v33 [ 1 ]))); } boolean comp_0073(org.omg.CORBA.Any _v1) { int _v2; _v2 = _v1.extract_long(); return (_v2 == -200000); } boolean comp_0072(C_struct _v1) { return (true && (_v1.e_short == -200) && (_v1.e_ushort == 200) && (_v1.e_long == -200000) && (_v1.e_ulong == 200000) && (_v1.e_float == 1.234f) && (_v1.e_double == 1.23e4) && (_v1.e_char == 'b') && (_v1.e_boolean == true) && (_v1.e_octet == 20) && comp_0073(_v1.e_any) && (_v1.e_string.equals("def")) && (_v1.e_Object._is_equivalent(target))); } boolean comp_0074(C_union _v1) { if (_v1.discriminator() != 2) return false; return (_v1.e_ushort() == 200); } boolean comp_0071(F_except3 _v1) { return (true && (true && comp_0072(_v1.v62 [ 0 ]) && comp_0072(_v1.v62 [ 1 ])) && (true && comp_0074(_v1.v63 [ 0 ]) && comp_0074(_v1.v63 [ 1 ]))); } boolean comp_0077(E_struct _v1) { return (true && (_v1.e_b1 == B.b2) && (_v1.e_b2 == B.b2)); } boolean comp_0078(E_union _v1) { if (_v1.discriminator() != 2) return false; return (_v1.e_b2() == B.b2); } boolean comp_0076(G_struct _v1) { return (true && comp_0077(_v1.e_e_struct) && comp_0078(_v1.e_e_union) && ( true && (_v1.e_e_sequence [ 0 ] == B.b2) && (_v1.e_e_sequence [ 1 ] == B.b2) ) && ( true && (_v1.e_e_array [ 0 ] == B.b2) && (_v1.e_e_array [ 1 ] == B.b2) )); } boolean comp_0079(G_union _v1) { if (_v1.discriminator() != 2) return false; return comp_0078(_v1.e_e_union()); } boolean comp_0075(G_except _v1) { return (true && comp_0076(_v1.v1) && comp_0079(_v1.v2) && comp_0079(_v1.v3) && comp_0079(_v1.v4) && comp_0079(_v1.v5) && (true && comp_0077(_v1.v6 [ 0 ]) && comp_0077(_v1.v6 [ 1 ])) && (true && comp_0078(_v1.v7 [ 0 ]) && comp_0078(_v1.v7 [ 1 ])) && (true && comp_0077(_v1.v10 [ 0 ]) && comp_0077(_v1.v10 [ 1 ])) && (true && comp_0078(_v1.v11 [ 0 ]) && comp_0078(_v1.v11 [ 1 ]))); } //operator definitions void call_op1() { short argin; org.omg.CORBA.ShortHolder argout; argout = new org.omg.CORBA.ShortHolder(); org.omg.CORBA.ShortHolder arginout; arginout = new org.omg.CORBA.ShortHolder(); short _ret; argin = -100; arginout.value = -100; try { _ret = target.op1(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op1"); return; } if (!(_ret == -200)) { fail("_ret value error in op1"); } if (!(argout.value == -200)) { fail("argout value error in op1"); } if (!(arginout.value == -200)) { fail("arginout value error in op1"); } } void call_op2() { short argin; org.omg.CORBA.ShortHolder argout; argout = new org.omg.CORBA.ShortHolder(); org.omg.CORBA.ShortHolder arginout; arginout = new org.omg.CORBA.ShortHolder(); short _ret; argin = 100; arginout.value = 100; try { _ret = target.op2(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op2"); return; } if (!(_ret == 200)) { fail("_ret value error in op2"); } if (!(argout.value == 200)) { fail("argout value error in op2"); } if (!(arginout.value == 200)) { fail("arginout value error in op2"); } } void call_op3() { int argin; org.omg.CORBA.IntHolder argout; argout = new org.omg.CORBA.IntHolder(); org.omg.CORBA.IntHolder arginout; arginout = new org.omg.CORBA.IntHolder(); int _ret; argin = -100000; arginout.value = -100000; try { _ret = target.op3(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op3"); return; } if (!(_ret == -200000)) { fail("_ret value error in op3"); } if (!(argout.value == -200000)) { fail("argout value error in op3"); } if (!(arginout.value == -200000)) { fail("arginout value error in op3"); } } void call_op4() { int argin; org.omg.CORBA.IntHolder argout; argout = new org.omg.CORBA.IntHolder(); org.omg.CORBA.IntHolder arginout; arginout = new org.omg.CORBA.IntHolder(); int _ret; argin = 100000; arginout.value = 100000; try { _ret = target.op4(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op4"); return; } if (!(_ret == 200000)) { fail("_ret value error in op4"); } if (!(argout.value == 200000)) { fail("argout value error in op4"); } if (!(arginout.value == 200000)) { fail("arginout value error in op4"); } } void call_op5() { float argin; org.omg.CORBA.FloatHolder argout; argout = new org.omg.CORBA.FloatHolder(); org.omg.CORBA.FloatHolder arginout; arginout = new org.omg.CORBA.FloatHolder(); float _ret; argin = 0.123f; arginout.value = 0.123f; try { _ret = target.op5(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op5"); return; } if (!(_ret == 1.234f)) { fail("_ret value error in op5"); } if (!(argout.value == 1.234f)) { fail("argout value error in op5"); } if (!(arginout.value == 1.234f)) { fail("arginout value error in op5"); } } void call_op6() { double argin; org.omg.CORBA.DoubleHolder argout; argout = new org.omg.CORBA.DoubleHolder(); org.omg.CORBA.DoubleHolder arginout; arginout = new org.omg.CORBA.DoubleHolder(); double _ret; argin = 0.12e3; arginout.value = 0.12e3; try { _ret = target.op6(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op6"); return; } if (!(_ret == 1.23e4)) { fail("_ret value error in op6"); } if (!(argout.value == 1.23e4)) { fail("argout value error in op6"); } if (!(arginout.value == 1.23e4)) { fail("arginout value error in op6"); } } void call_op7() { char argin; org.omg.CORBA.CharHolder argout; argout = new org.omg.CORBA.CharHolder(); org.omg.CORBA.CharHolder arginout; arginout = new org.omg.CORBA.CharHolder(); char _ret; argin = 'a'; arginout.value = 'a'; try { _ret = target.op7(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op7"); return; } if (!(_ret == 'b')) { fail("_ret value error in op7"); } if (!(argout.value == 'b')) { fail("argout value error in op7"); } if (!(arginout.value == 'b')) { fail("arginout value error in op7"); } } void call_op8() { boolean argin; org.omg.CORBA.BooleanHolder argout; argout = new org.omg.CORBA.BooleanHolder(); org.omg.CORBA.BooleanHolder arginout; arginout = new org.omg.CORBA.BooleanHolder(); boolean _ret; argin = false; arginout.value = false; try { _ret = target.op8(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op8"); return; } if (!(_ret == true)) { fail("_ret value error in op8"); } if (!(argout.value == true)) { fail("argout value error in op8"); } if (!(arginout.value == true)) { fail("arginout value error in op8"); } } void call_op9() { byte argin; org.omg.CORBA.ByteHolder argout; argout = new org.omg.CORBA.ByteHolder(); org.omg.CORBA.ByteHolder arginout; arginout = new org.omg.CORBA.ByteHolder(); byte _ret; argin = 10; arginout.value = 10; try { _ret = target.op9(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op9"); return; } if (!(_ret == 20)) { fail("_ret value error in op9"); } if (!(argout.value == 20)) { fail("argout value error in op9"); } if (!(arginout.value == 20)) { fail("arginout value error in op9"); } } void call_op15() { B argin; BHolder argout; argout = new BHolder(); BHolder arginout; arginout = new BHolder(); B _ret; argin = B.b1; arginout.value = B.b1; try { _ret = target.op15(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op15"); return; } if (!(_ret == B.b2)) { fail("_ret value error in op15"); } if (!(argout.value == B.b2)) { fail("argout value error in op15"); } if (!(arginout.value == B.b2)) { fail("arginout value error in op15"); } } void call_op17() { C_union argin; C_unionHolder argout; argout = new C_unionHolder(); C_unionHolder arginout; arginout = new C_unionHolder(); C_union _ret; argin = cons_0001(); arginout.value = cons_0001(); try { _ret = target.op17(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op17"); return; } if (!comp_0003(_ret)) { fail("_ret value error in op17"); } if (!comp_0003(argout.value)) { fail("argout value error in op17"); } if (!comp_0003(arginout.value)) { fail("arginout value error in op17"); } } void call_op18() { short[] argin; C_sequence_e_shortHolder argout; argout = new C_sequence_e_shortHolder(); C_sequence_e_shortHolder arginout; arginout = new C_sequence_e_shortHolder(); short[] _ret; argin = new short[ 2 ]; argin [ 0 ] = -100; argin [ 1 ] = -100; arginout.value = new short[ 2 ]; arginout.value [ 0 ] = -100; arginout.value [ 1 ] = -100; try { _ret = target.op18(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op18"); return; } if (!(true && (_ret [ 0 ] == -200) && (_ret [ 1 ] == -200))) { fail("_ret value error in op18"); } if (!( true && (argout.value [ 0 ] == -200) && (argout.value [ 1 ] == -200) )) { fail("argout value error in op18"); } if (!( true && (arginout.value [ 0 ] == -200) && (arginout.value [ 1 ] == -200) ) ) { fail("arginout value error in op18"); } } void call_op19() { short[] argin; C_sequence_e_ushortHolder argout; argout = new C_sequence_e_ushortHolder(); C_sequence_e_ushortHolder arginout; arginout = new C_sequence_e_ushortHolder(); short[] _ret; argin = new short[ 2 ]; argin [ 0 ] = 100; argin [ 1 ] = 100; arginout.value = new short[ 2 ]; arginout.value [ 0 ] = 100; arginout.value [ 1 ] = 100; try { _ret = target.op19(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op19"); return; } if (!(true && (_ret [ 0 ] == 200) && (_ret [ 1 ] == 200))) { fail("_ret value error in op19"); } if (!(true && (argout.value [ 0 ] == 200) && (argout.value [ 1 ] == 200))) { fail("argout value error in op19"); } if (!( true && (arginout.value [ 0 ] == 200) && (arginout.value [ 1 ] == 200) ) ) { fail("arginout value error in op19"); } } void call_op20() { int[] argin; C_sequence_e_longHolder argout; argout = new C_sequence_e_longHolder(); C_sequence_e_longHolder arginout; arginout = new C_sequence_e_longHolder(); int[] _ret; argin = new int[ 2 ]; argin [ 0 ] = -100000; argin [ 1 ] = -100000; arginout.value = new int[ 2 ]; arginout.value [ 0 ] = -100000; arginout.value [ 1 ] = -100000; try { _ret = target.op20(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op20"); return; } if (!(true && (_ret [ 0 ] == -200000) && (_ret [ 1 ] == -200000))) { fail("_ret value error in op20"); } if (!( true && (argout.value [ 0 ] == -200000) && (argout.value [ 1 ] == -200000) ) ) { fail("argout value error in op20"); } if (!( true && (arginout.value [ 0 ] == -200000) && (arginout.value [ 1 ] == -200000) ) ) { fail("arginout value error in op20"); } } void call_op21() { int[] argin; C_sequence_e_ulongHolder argout; argout = new C_sequence_e_ulongHolder(); C_sequence_e_ulongHolder arginout; arginout = new C_sequence_e_ulongHolder(); int[] _ret; argin = new int[ 2 ]; argin [ 0 ] = 100000; argin [ 1 ] = 100000; arginout.value = new int[ 2 ]; arginout.value [ 0 ] = 100000; arginout.value [ 1 ] = 100000; try { _ret = target.op21(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op21"); return; } if (!(true && (_ret [ 0 ] == 200000) && (_ret [ 1 ] == 200000))) { fail("_ret value error in op21"); } if (!( true && (argout.value [ 0 ] == 200000) && (argout.value [ 1 ] == 200000) ) ) { fail("argout value error in op21"); } if (!( true && (arginout.value [ 0 ] == 200000) && (arginout.value [ 1 ] == 200000) ) ) { fail("arginout value error in op21"); } } void call_op22() { float[] argin; C_sequence_e_floatHolder argout; argout = new C_sequence_e_floatHolder(); C_sequence_e_floatHolder arginout; arginout = new C_sequence_e_floatHolder(); float[] _ret; argin = new float[ 2 ]; argin [ 0 ] = 0.123f; argin [ 1 ] = 0.123f; arginout.value = new float[ 2 ]; arginout.value [ 0 ] = 0.123f; arginout.value [ 1 ] = 0.123f; try { _ret = target.op22(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op22"); return; } if (!(true && (_ret [ 0 ] == 1.234f) && (_ret [ 1 ] == 1.234f))) { fail("_ret value error in op22"); } if (!( true && (argout.value [ 0 ] == 1.234f) && (argout.value [ 1 ] == 1.234f) ) ) { fail("argout value error in op22"); } if (!( true && (arginout.value [ 0 ] == 1.234f) && (arginout.value [ 1 ] == 1.234f) ) ) { fail("arginout value error in op22"); } } void call_op23() { double[] argin; C_sequence_e_doubleHolder argout; argout = new C_sequence_e_doubleHolder(); C_sequence_e_doubleHolder arginout; arginout = new C_sequence_e_doubleHolder(); double[] _ret; argin = new double[ 2 ]; argin [ 0 ] = 0.12e3; argin [ 1 ] = 0.12e3; arginout.value = new double[ 2 ]; arginout.value [ 0 ] = 0.12e3; arginout.value [ 1 ] = 0.12e3; try { _ret = target.op23(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op23"); return; } if (!(true && (_ret [ 0 ] == 1.23e4) && (_ret [ 1 ] == 1.23e4))) { fail("_ret value error in op23"); } if (!( true && (argout.value [ 0 ] == 1.23e4) && (argout.value [ 1 ] == 1.23e4) ) ) { fail("argout value error in op23"); } if (!( true && (arginout.value [ 0 ] == 1.23e4) && (arginout.value [ 1 ] == 1.23e4) ) ) { fail("arginout value error in op23"); } } void call_op24() { char[] argin; C_sequence_e_charHolder argout; argout = new C_sequence_e_charHolder(); C_sequence_e_charHolder arginout; arginout = new C_sequence_e_charHolder(); char[] _ret; argin = new char[ 2 ]; argin [ 0 ] = 'a'; argin [ 1 ] = 'a'; arginout.value = new char[ 2 ]; arginout.value [ 0 ] = 'a'; arginout.value [ 1 ] = 'a'; try { _ret = target.op24(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op24"); return; } if (!(true && (_ret [ 0 ] == 'b') && (_ret [ 1 ] == 'b'))) { fail("_ret value error in op24"); } if (!(true && (argout.value [ 0 ] == 'b') && (argout.value [ 1 ] == 'b'))) { fail("argout value error in op24"); } if (!( true && (arginout.value [ 0 ] == 'b') && (arginout.value [ 1 ] == 'b') ) ) { fail("arginout value error in op24"); } } void call_op25() { boolean[] argin; C_sequence_e_booleanHolder argout; argout = new C_sequence_e_booleanHolder(); C_sequence_e_booleanHolder arginout; arginout = new C_sequence_e_booleanHolder(); boolean[] _ret; argin = new boolean[ 2 ]; argin [ 0 ] = false; argin [ 1 ] = false; arginout.value = new boolean[ 2 ]; arginout.value [ 0 ] = false; arginout.value [ 1 ] = false; try { _ret = target.op25(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op25"); return; } if (!(true && (_ret [ 0 ] == true) && (_ret [ 1 ] == true))) { fail("_ret value error in op25"); } if (!( true && (argout.value [ 0 ] == true) && (argout.value [ 1 ] == true) )) { fail("argout value error in op25"); } if (!( true && (arginout.value [ 0 ] == true) && (arginout.value [ 1 ] == true) ) ) { fail("arginout value error in op25"); } } void call_op26() { byte[] argin; C_sequence_e_octetHolder argout; argout = new C_sequence_e_octetHolder(); C_sequence_e_octetHolder arginout; arginout = new C_sequence_e_octetHolder(); byte[] _ret; argin = new byte[ 2 ]; argin [ 0 ] = 10; argin [ 1 ] = 10; arginout.value = new byte[ 2 ]; arginout.value [ 0 ] = 10; arginout.value [ 1 ] = 10; try { _ret = target.op26(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op26"); return; } if (!(true && (_ret [ 0 ] == 20) && (_ret [ 1 ] == 20))) { fail("_ret value error in op26"); } if (!(true && (argout.value [ 0 ] == 20) && (argout.value [ 1 ] == 20))) { fail("argout value error in op26"); } if (!( true && (arginout.value [ 0 ] == 20) && (arginout.value [ 1 ] == 20) )) { fail("arginout value error in op26"); } } void call_op28() { String[] argin; C_sequence_e_stringHolder argout; argout = new C_sequence_e_stringHolder(); C_sequence_e_stringHolder arginout; arginout = new C_sequence_e_stringHolder(); String[] _ret; argin = new String[ 2 ]; argin [ 0 ] = "abc"; argin [ 1 ] = "abc"; arginout.value = new String[ 2 ]; arginout.value [ 0 ] = "abc"; arginout.value [ 1 ] = "abc"; try { _ret = target.op28(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op28"); return; } if (!(true && (_ret [ 0 ].equals("def")) && (_ret [ 1 ].equals("def")))) { fail("_ret value error in op28"); } if (!( true && (argout.value [ 0 ].equals("def")) && (argout.value [ 1 ].equals("def")) ) ) { fail("argout value error in op28"); } if (!( true && (arginout.value [ 0 ].equals("def")) && (arginout.value [ 1 ].equals("def")) ) ) { fail("arginout value error in op28"); } } void call_op32() { short[] argin; C_array_e_shortHolder argout; argout = new C_array_e_shortHolder(); C_array_e_shortHolder arginout; arginout = new C_array_e_shortHolder(); short[] _ret; argin = new short[ 2 ]; argin [ 0 ] = -100; argin [ 1 ] = -100; arginout.value = new short[ 2 ]; arginout.value [ 0 ] = -100; arginout.value [ 1 ] = -100; try { _ret = target.op32(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op32"); return; } if (!(true && (_ret [ 0 ] == -200) && (_ret [ 1 ] == -200))) { fail("_ret value error in op32"); } if (!( true && (argout.value [ 0 ] == -200) && (argout.value [ 1 ] == -200) )) { fail("argout value error in op32"); } if (!( true && (arginout.value [ 0 ] == -200) && (arginout.value [ 1 ] == -200) ) ) { fail("arginout value error in op32"); } } void call_op33() { short[] argin; C_array_e_ushortHolder argout; argout = new C_array_e_ushortHolder(); C_array_e_ushortHolder arginout; arginout = new C_array_e_ushortHolder(); short[] _ret; argin = new short[ 2 ]; argin [ 0 ] = 100; argin [ 1 ] = 100; arginout.value = new short[ 2 ]; arginout.value [ 0 ] = 100; arginout.value [ 1 ] = 100; try { _ret = target.op33(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op33"); return; } if (!(true && (_ret [ 0 ] == 200) && (_ret [ 1 ] == 200))) { fail("_ret value error in op33"); } if (!(true && (argout.value [ 0 ] == 200) && (argout.value [ 1 ] == 200))) { fail("argout value error in op33"); } if (!( true && (arginout.value [ 0 ] == 200) && (arginout.value [ 1 ] == 200) ) ) { fail("arginout value error in op33"); } } void call_op34() { int[] argin; C_array_e_longHolder argout; argout = new C_array_e_longHolder(); C_array_e_longHolder arginout; arginout = new C_array_e_longHolder(); int[] _ret; argin = new int[ 2 ]; argin [ 0 ] = -100000; argin [ 1 ] = -100000; arginout.value = new int[ 2 ]; arginout.value [ 0 ] = -100000; arginout.value [ 1 ] = -100000; try { _ret = target.op34(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op34"); return; } if (!(true && (_ret [ 0 ] == -200000) && (_ret [ 1 ] == -200000))) { fail("_ret value error in op34"); } if (!( true && (argout.value [ 0 ] == -200000) && (argout.value [ 1 ] == -200000) ) ) { fail("argout value error in op34"); } if (!( true && (arginout.value [ 0 ] == -200000) && (arginout.value [ 1 ] == -200000) ) ) { fail("arginout value error in op34"); } } void call_op35() { int[] argin; C_array_e_ulongHolder argout; argout = new C_array_e_ulongHolder(); C_array_e_ulongHolder arginout; arginout = new C_array_e_ulongHolder(); int[] _ret; argin = new int[ 2 ]; argin [ 0 ] = 100000; argin [ 1 ] = 100000; arginout.value = new int[ 2 ]; arginout.value [ 0 ] = 100000; arginout.value [ 1 ] = 100000; try { _ret = target.op35(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op35"); return; } if (!(true && (_ret [ 0 ] == 200000) && (_ret [ 1 ] == 200000))) { fail("_ret value error in op35"); } if (!( true && (argout.value [ 0 ] == 200000) && (argout.value [ 1 ] == 200000) ) ) { fail("argout value error in op35"); } if (!( true && (arginout.value [ 0 ] == 200000) && (arginout.value [ 1 ] == 200000) ) ) { fail("arginout value error in op35"); } } void call_op36() { float[] argin; C_array_e_floatHolder argout; argout = new C_array_e_floatHolder(); C_array_e_floatHolder arginout; arginout = new C_array_e_floatHolder(); float[] _ret; argin = new float[ 2 ]; argin [ 0 ] = 0.123f; argin [ 1 ] = 0.123f; arginout.value = new float[ 2 ]; arginout.value [ 0 ] = 0.123f; arginout.value [ 1 ] = 0.123f; try { _ret = target.op36(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op36"); return; } if (!(true && (_ret [ 0 ] == 1.234f) && (_ret [ 1 ] == 1.234f))) { fail("_ret value error in op36"); } if (!( true && (argout.value [ 0 ] == 1.234f) && (argout.value [ 1 ] == 1.234f) ) ) { fail("argout value error in op36"); } if (!( true && (arginout.value [ 0 ] == 1.234f) && (arginout.value [ 1 ] == 1.234f) ) ) { fail("arginout value error in op36"); } } void call_op37() { double[] argin; C_array_e_doubleHolder argout; argout = new C_array_e_doubleHolder(); C_array_e_doubleHolder arginout; arginout = new C_array_e_doubleHolder(); double[] _ret; argin = new double[ 2 ]; argin [ 0 ] = 0.12e3; argin [ 1 ] = 0.12e3; arginout.value = new double[ 2 ]; arginout.value [ 0 ] = 0.12e3; arginout.value [ 1 ] = 0.12e3; try { _ret = target.op37(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op37"); return; } if (!(true && (_ret [ 0 ] == 1.23e4) && (_ret [ 1 ] == 1.23e4))) { fail("_ret value error in op37"); } if (!( true && (argout.value [ 0 ] == 1.23e4) && (argout.value [ 1 ] == 1.23e4) ) ) { fail("argout value error in op37"); } if (!( true && (arginout.value [ 0 ] == 1.23e4) && (arginout.value [ 1 ] == 1.23e4) ) ) { fail("arginout value error in op37"); } } void call_op38() { char[] argin; C_array_e_charHolder argout; argout = new C_array_e_charHolder(); C_array_e_charHolder arginout; arginout = new C_array_e_charHolder(); char[] _ret; argin = new char[ 2 ]; argin [ 0 ] = 'a'; argin [ 1 ] = 'a'; arginout.value = new char[ 2 ]; arginout.value [ 0 ] = 'a'; arginout.value [ 1 ] = 'a'; try { _ret = target.op38(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op38"); return; } if (!(true && (_ret [ 0 ] == 'b') && (_ret [ 1 ] == 'b'))) { fail("_ret value error in op38"); } if (!(true && (argout.value [ 0 ] == 'b') && (argout.value [ 1 ] == 'b'))) { fail("argout value error in op38"); } if (!( true && (arginout.value [ 0 ] == 'b') && (arginout.value [ 1 ] == 'b') ) ) { fail("arginout value error in op38"); } } void call_op39() { boolean[] argin; C_array_e_booleanHolder argout; argout = new C_array_e_booleanHolder(); C_array_e_booleanHolder arginout; arginout = new C_array_e_booleanHolder(); boolean[] _ret; argin = new boolean[ 2 ]; argin [ 0 ] = false; argin [ 1 ] = false; arginout.value = new boolean[ 2 ]; arginout.value [ 0 ] = false; arginout.value [ 1 ] = false; try { _ret = target.op39(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op39"); return; } if (!(true && (_ret [ 0 ] == true) && (_ret [ 1 ] == true))) { fail("_ret value error in op39"); } if (!( true && (argout.value [ 0 ] == true) && (argout.value [ 1 ] == true) )) { fail("argout value error in op39"); } if (!( true && (arginout.value [ 0 ] == true) && (arginout.value [ 1 ] == true) ) ) { fail("arginout value error in op39"); } } void call_op40() { byte[] argin; C_array_e_octetHolder argout; argout = new C_array_e_octetHolder(); C_array_e_octetHolder arginout; arginout = new C_array_e_octetHolder(); byte[] _ret; argin = new byte[ 2 ]; argin [ 0 ] = 10; argin [ 1 ] = 10; arginout.value = new byte[ 2 ]; arginout.value [ 0 ] = 10; arginout.value [ 1 ] = 10; try { _ret = target.op40(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op40"); return; } if (!(true && (_ret [ 0 ] == 20) && (_ret [ 1 ] == 20))) { fail("_ret value error in op40"); } if (!(true && (argout.value [ 0 ] == 20) && (argout.value [ 1 ] == 20))) { fail("argout value error in op40"); } if (!( true && (arginout.value [ 0 ] == 20) && (arginout.value [ 1 ] == 20) )) { fail("arginout value error in op40"); } } void call_op42() { String[] argin; C_array_e_stringHolder argout; argout = new C_array_e_stringHolder(); C_array_e_stringHolder arginout; arginout = new C_array_e_stringHolder(); String[] _ret; argin = new String[ 2 ]; argin [ 0 ] = "abc"; argin [ 1 ] = "abc"; arginout.value = new String[ 2 ]; arginout.value [ 0 ] = "abc"; arginout.value [ 1 ] = "abc"; try { _ret = target.op42(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op42"); return; } if (!(true && (_ret [ 0 ].equals("def")) && (_ret [ 1 ].equals("def")))) { fail("_ret value error in op42"); } if (!( true && (argout.value [ 0 ].equals("def")) && (argout.value [ 1 ].equals("def")) ) ) { fail("argout value error in op42"); } if (!( true && (arginout.value [ 0 ].equals("def")) && (arginout.value [ 1 ].equals("def")) ) ) { fail("arginout value error in op42"); } } void call_op46() { D_d_short argin; D_d_shortHolder argout; argout = new D_d_shortHolder(); D_d_shortHolder arginout; arginout = new D_d_shortHolder(); D_d_short _ret; argin = cons_0002(); arginout.value = cons_0002(); try { _ret = target.op46(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op46"); return; } if (!comp_0006(_ret)) { fail("_ret value error in op46"); } if (!comp_0006(argout.value)) { fail("argout value error in op46"); } if (!comp_0006(arginout.value)) { fail("arginout value error in op46"); } } void call_op47() { D_d_ushort argin; D_d_ushortHolder argout; argout = new D_d_ushortHolder(); D_d_ushortHolder arginout; arginout = new D_d_ushortHolder(); D_d_ushort _ret; argin = cons_0003(); arginout.value = cons_0003(); try { _ret = target.op47(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op47"); return; } if (!comp_0007(_ret)) { fail("_ret value error in op47"); } if (!comp_0007(argout.value)) { fail("argout value error in op47"); } if (!comp_0007(arginout.value)) { fail("arginout value error in op47"); } } void call_op48() { D_d_long argin; D_d_longHolder argout; argout = new D_d_longHolder(); D_d_longHolder arginout; arginout = new D_d_longHolder(); D_d_long _ret; argin = cons_0004(); arginout.value = cons_0004(); try { _ret = target.op48(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op48"); return; } if (!comp_0008(_ret)) { fail("_ret value error in op48"); } if (!comp_0008(argout.value)) { fail("argout value error in op48"); } if (!comp_0008(arginout.value)) { fail("arginout value error in op48"); } } void call_op49() { D_d_ulong argin; D_d_ulongHolder argout; argout = new D_d_ulongHolder(); D_d_ulongHolder arginout; arginout = new D_d_ulongHolder(); D_d_ulong _ret; argin = cons_0005(); arginout.value = cons_0005(); try { _ret = target.op49(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op49"); return; } if (!comp_0009(_ret)) { fail("_ret value error in op49"); } if (!comp_0009(argout.value)) { fail("argout value error in op49"); } if (!comp_0009(arginout.value)) { fail("arginout value error in op49"); } } void call_op50() { D_d_char argin; D_d_charHolder argout; argout = new D_d_charHolder(); D_d_charHolder arginout; arginout = new D_d_charHolder(); D_d_char _ret; argin = cons_0006(); arginout.value = cons_0006(); try { _ret = target.op50(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op50"); return; } if (!comp_0010(_ret)) { fail("_ret value error in op50"); } if (!comp_0010(argout.value)) { fail("argout value error in op50"); } if (!comp_0010(arginout.value)) { fail("arginout value error in op50"); } } void call_op51() { D_d_boolean argin; D_d_booleanHolder argout; argout = new D_d_booleanHolder(); D_d_booleanHolder arginout; arginout = new D_d_booleanHolder(); D_d_boolean _ret; argin = cons_0007(); arginout.value = cons_0007(); try { _ret = target.op51(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op51"); return; } if (!comp_0011(_ret)) { fail("_ret value error in op51"); } if (!comp_0011(argout.value)) { fail("argout value error in op51"); } if (!comp_0011(arginout.value)) { fail("arginout value error in op51"); } } void call_op52() { D_d_B argin; D_d_BHolder argout; argout = new D_d_BHolder(); D_d_BHolder arginout; arginout = new D_d_BHolder(); D_d_B _ret; argin = cons_0008(); arginout.value = cons_0008(); try { _ret = target.op52(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op52"); return; } if (!comp_0012(_ret)) { fail("_ret value error in op52"); } if (!comp_0012(argout.value)) { fail("argout value error in op52"); } if (!comp_0012(arginout.value)) { fail("arginout value error in op52"); } } void call_op53() { E_struct argin; E_structHolder argout; argout = new E_structHolder(); E_structHolder arginout; arginout = new E_structHolder(); E_struct _ret; argin = cons_0009(); arginout.value = cons_0009(); try { _ret = target.op53(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op53"); return; } if (!comp_0013(_ret)) { fail("_ret value error in op53"); } if (!comp_0013(argout.value)) { fail("argout value error in op53"); } if (!comp_0013(arginout.value)) { fail("arginout value error in op53"); } } void call_op54() { E_union argin; E_unionHolder argout; argout = new E_unionHolder(); E_unionHolder arginout; arginout = new E_unionHolder(); E_union _ret; argin = cons_0010(); arginout.value = cons_0010(); try { _ret = target.op54(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op54"); return; } if (!comp_0014(_ret)) { fail("_ret value error in op54"); } if (!comp_0014(argout.value)) { fail("argout value error in op54"); } if (!comp_0014(arginout.value)) { fail("arginout value error in op54"); } } void call_op55() { B[] argin; E_sequenceHolder argout; argout = new E_sequenceHolder(); E_sequenceHolder arginout; arginout = new E_sequenceHolder(); B[] _ret; argin = new B[ 2 ]; argin [ 0 ] = B.b1; argin [ 1 ] = B.b1; arginout.value = new B[ 2 ]; arginout.value [ 0 ] = B.b1; arginout.value [ 1 ] = B.b1; try { _ret = target.op55(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op55"); return; } if (!(true && (_ret [ 0 ] == B.b2) && (_ret [ 1 ] == B.b2))) { fail("_ret value error in op55"); } if (!( true && (argout.value [ 0 ] == B.b2) && (argout.value [ 1 ] == B.b2) )) { fail("argout value error in op55"); } if (!( true && (arginout.value [ 0 ] == B.b2) && (arginout.value [ 1 ] == B.b2) ) ) { fail("arginout value error in op55"); } } void call_op56() { B[] argin; E_arrayHolder argout; argout = new E_arrayHolder(); E_arrayHolder arginout; arginout = new E_arrayHolder(); B[] _ret; argin = new B[ 2 ]; argin [ 0 ] = B.b1; argin [ 1 ] = B.b1; arginout.value = new B[ 2 ]; arginout.value [ 0 ] = B.b1; arginout.value [ 1 ] = B.b1; try { _ret = target.op56(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op56"); return; } if (!(true && (_ret [ 0 ] == B.b2) && (_ret [ 1 ] == B.b2))) { fail("_ret value error in op56"); } if (!( true && (argout.value [ 0 ] == B.b2) && (argout.value [ 1 ] == B.b2) )) { fail("argout value error in op56"); } if (!( true && (arginout.value [ 0 ] == B.b2) && (arginout.value [ 1 ] == B.b2) ) ) { fail("arginout value error in op56"); } } void call_op60() { C_union[] argin; F_sequence_e_c_unionHolder argout; argout = new F_sequence_e_c_unionHolder(); F_sequence_e_c_unionHolder arginout; arginout = new F_sequence_e_c_unionHolder(); C_union[] _ret; argin = new C_union[ 2 ]; argin [ 0 ] = cons_0017(); argin [ 1 ] = cons_0017(); arginout.value = new C_union[ 2 ]; arginout.value [ 0 ] = cons_0017(); arginout.value [ 1 ] = cons_0017(); try { _ret = target.op60(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op60"); return; } if (!(true && comp_0023(_ret [ 0 ]) && comp_0023(_ret [ 1 ]))) { fail("_ret value error in op60"); } if (!( true && comp_0023(argout.value [ 0 ]) && comp_0023(argout.value [ 1 ]) ) ) { fail("argout value error in op60"); } if (!( true && comp_0023(arginout.value [ 0 ]) && comp_0023(arginout.value [ 1 ]) ) ) { fail("arginout value error in op60"); } } void call_op90() { C_union[] argin; F_array_e_c_unionHolder argout; argout = new F_array_e_c_unionHolder(); F_array_e_c_unionHolder arginout; arginout = new F_array_e_c_unionHolder(); C_union[] _ret; argin = new C_union[ 2 ]; argin [ 0 ] = cons_0019(); argin [ 1 ] = cons_0019(); arginout.value = new C_union[ 2 ]; arginout.value [ 0 ] = cons_0019(); arginout.value [ 1 ] = cons_0019(); try { _ret = target.op90(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op90"); return; } if (!(true && comp_0026(_ret [ 0 ]) && comp_0026(_ret [ 1 ]))) { fail("_ret value error in op90"); } if (!( true && comp_0026(argout.value [ 0 ]) && comp_0026(argout.value [ 1 ]) ) ) { fail("argout value error in op90"); } if (!( true && comp_0026(arginout.value [ 0 ]) && comp_0026(arginout.value [ 1 ]) ) ) { fail("arginout value error in op90"); } } void call_op119() { G_struct argin; G_structHolder argout; argout = new G_structHolder(); G_structHolder arginout; arginout = new G_structHolder(); G_struct _ret; argin = cons_0020(); arginout.value = cons_0020(); try { _ret = target.op119(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op119"); return; } if (!comp_0027(_ret)) { fail("_ret value error in op119"); } if (!comp_0027(argout.value)) { fail("argout value error in op119"); } if (!comp_0027(arginout.value)) { fail("arginout value error in op119"); } } void call_op120() { G_union argin; G_unionHolder argout; argout = new G_unionHolder(); G_unionHolder arginout; arginout = new G_unionHolder(); G_union _ret; argin = cons_0023(); arginout.value = cons_0023(); try { _ret = target.op120(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op120"); return; } if (!comp_0030(_ret)) { fail("_ret value error in op120"); } if (!comp_0030(argout.value)) { fail("argout value error in op120"); } if (!comp_0030(arginout.value)) { fail("arginout value error in op120"); } } void call_op121() { E_struct[] argin; G_sequence_e_e_structHolder argout; argout = new G_sequence_e_e_structHolder(); G_sequence_e_e_structHolder arginout; arginout = new G_sequence_e_e_structHolder(); E_struct[] _ret; argin = new E_struct[ 2 ]; argin [ 0 ] = cons_0025(); argin [ 1 ] = cons_0025(); arginout.value = new E_struct[ 2 ]; arginout.value [ 0 ] = cons_0025(); arginout.value [ 1 ] = cons_0025(); try { _ret = target.op121(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op121"); return; } if (!(true && comp_0032(_ret [ 0 ]) && comp_0032(_ret [ 1 ]))) { fail("_ret value error in op121"); } if (!( true && comp_0032(argout.value [ 0 ]) && comp_0032(argout.value [ 1 ]) ) ) { fail("argout value error in op121"); } if (!( true && comp_0032(arginout.value [ 0 ]) && comp_0032(arginout.value [ 1 ]) ) ) { fail("arginout value error in op121"); } } void call_op122() { E_union[] argin; G_sequence_e_e_unionHolder argout; argout = new G_sequence_e_e_unionHolder(); G_sequence_e_e_unionHolder arginout; arginout = new G_sequence_e_e_unionHolder(); E_union[] _ret; argin = new E_union[ 2 ]; argin [ 0 ] = cons_0026(); argin [ 1 ] = cons_0026(); arginout.value = new E_union[ 2 ]; arginout.value [ 0 ] = cons_0026(); arginout.value [ 1 ] = cons_0026(); try { _ret = target.op122(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op122"); return; } if (!(true && comp_0033(_ret [ 0 ]) && comp_0033(_ret [ 1 ]))) { fail("_ret value error in op122"); } if (!( true && comp_0033(argout.value [ 0 ]) && comp_0033(argout.value [ 1 ]) ) ) { fail("argout value error in op122"); } if (!( true && comp_0033(arginout.value [ 0 ]) && comp_0033(arginout.value [ 1 ]) ) ) { fail("arginout value error in op122"); } } void call_op125() { E_struct[] argin; G_array_e_e_structHolder argout; argout = new G_array_e_e_structHolder(); G_array_e_e_structHolder arginout; arginout = new G_array_e_e_structHolder(); E_struct[] _ret; argin = new E_struct[ 2 ]; argin [ 0 ] = cons_0027(); argin [ 1 ] = cons_0027(); arginout.value = new E_struct[ 2 ]; arginout.value [ 0 ] = cons_0027(); arginout.value [ 1 ] = cons_0027(); try { _ret = target.op125(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op125"); return; } if (!(true && comp_0034(_ret [ 0 ]) && comp_0034(_ret [ 1 ]))) { fail("_ret value error in op125"); } if (!( true && comp_0034(argout.value [ 0 ]) && comp_0034(argout.value [ 1 ]) ) ) { fail("argout value error in op125"); } if (!( true && comp_0034(arginout.value [ 0 ]) && comp_0034(arginout.value [ 1 ]) ) ) { fail("arginout value error in op125"); } } void call_op126() { E_union[] argin; G_array_e_e_unionHolder argout; argout = new G_array_e_e_unionHolder(); G_array_e_e_unionHolder arginout; arginout = new G_array_e_e_unionHolder(); E_union[] _ret; argin = new E_union[ 2 ]; argin [ 0 ] = cons_0028(); argin [ 1 ] = cons_0028(); arginout.value = new E_union[ 2 ]; arginout.value [ 0 ] = cons_0028(); arginout.value [ 1 ] = cons_0028(); try { _ret = target.op126(argin, argout, arginout); } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in op126"); return; } if (!(true && comp_0035(_ret [ 0 ]) && comp_0035(_ret [ 1 ]))) { fail("_ret value error in op126"); } if (!( true && comp_0035(argout.value [ 0 ]) && comp_0035(argout.value [ 1 ]) ) ) { fail("argout value error in op126"); } if (!( true && comp_0035(arginout.value [ 0 ]) && comp_0035(arginout.value [ 1 ]) ) ) { fail("arginout value error in op126"); } } void call_excop1() { try { target.excop1(); } catch (A_except1 _exc) { if (!comp_0042(_exc)) { fail("_exc value error in excop1"); } return; } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in excop1"); return; } fail("no exception raised in excop1"); } void call_excop3() { try { target.excop3(); } catch (B_except _exc) { if (!comp_0045(_exc)) { fail("_exc value error in excop3"); } return; } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in excop3"); return; } fail("no exception raised in excop3"); } void call_excop5() { try { target.excop5(); } catch (D_except _exc) { if (!comp_0050(_exc)) { fail("_exc value error in excop5"); } return; } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in excop5"); return; } fail("no exception raised in excop5"); } void call_excop6() { try { target.excop6(); } catch (E_except _exc) { if (!comp_0058(_exc)) { fail("_exc value error in excop6"); } return; } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in excop6"); return; } fail("no exception raised in excop6"); } void call_excop10() { try { target.excop10(); } catch (G_except _exc) { if (!comp_0075(_exc)) { fail("_exc value error in excop10"); } return; } catch (Exception _exc) { _exc.printStackTrace(System.out); fail("unexpected exception in excop10"); return; } fail("no exception raised in excop10"); } public void run_all(TestHarness harness) { h = harness; call_op1(); call_op2(); call_op3(); call_op4(); call_op5(); call_op6(); call_op7(); call_op8(); call_op9(); call_op15(); call_op17(); call_op18(); call_op19(); call_op20(); call_op21(); call_op22(); call_op23(); call_op24(); call_op25(); call_op26(); call_op28(); call_op32(); call_op33(); call_op34(); call_op35(); call_op36(); call_op37(); call_op38(); call_op39(); call_op40(); call_op42(); call_op46(); call_op47(); call_op48(); call_op49(); call_op50(); call_op51(); call_op52(); call_op53(); call_op54(); call_op55(); call_op56(); call_op60(); call_op90(); call_op119(); call_op120(); call_op121(); call_op122(); call_op125(); call_op126(); call_excop1(); call_excop3(); call_excop5(); call_excop6(); call_excop10(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/B_except.java0000644000175000001440000000323410250313742022107 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class B_except extends org.omg.CORBA.UserException implements org.omg.CORBA.portable.IDLEntity { public B v = null; public B_except() { } // ctor public B_except(B _v) { v = _v; } // ctor } // class B_except mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/G_struct.java0000644000175000001440000000370510250313742022153 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // G package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class G_struct implements org.omg.CORBA.portable.IDLEntity { public E_struct e_e_struct = null; public E_union e_e_union = null; public B[] e_e_sequence = null; public B[] e_e_array = null; public G_struct() { } // ctor public G_struct(E_struct _e_e_struct, E_union _e_e_union, B[] _e_e_sequence, B[] _e_e_array ) { e_e_struct = _e_e_struct; e_e_union = _e_e_union; e_e_sequence = _e_e_sequence; e_e_array = _e_e_array; } // ctor } // class G_struct mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/A_except2Holder.java0000644000175000001440000000367410250313742023336 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class A_except2Holder implements org.omg.CORBA.portable.Streamable { public A_except2 value = null; public A_except2Holder() { } public A_except2Holder(A_except2 initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = A_except2Helper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { A_except2Helper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return A_except2Helper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_ulongHolder.java0000644000175000001440000000372710250313742024613 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class C_array_e_ulongHolder implements org.omg.CORBA.portable.Streamable { public int[] value = null; public C_array_e_ulongHolder() { } public C_array_e_ulongHolder(int[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = C_array_e_ulongHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { C_array_e_ulongHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return C_array_e_ulongHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_shortHolder.java0000644000175000001440000000375510250313742025321 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class C_sequence_e_shortHolder implements org.omg.CORBA.portable.Streamable { public short[] value = null; public C_sequence_e_shortHolder() { } public C_sequence_e_shortHolder(short[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = C_sequence_e_shortHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { C_sequence_e_shortHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return C_sequence_e_shortHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_booleanHelper.java0000644000175000001440000000650010451015575025106 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class C_array_e_booleanHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_boolean:1.0"; public static void insert(org.omg.CORBA.Any a, boolean[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static boolean[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_boolean); __typeCode = org.omg.CORBA.ORB.init().create_array_tc(2, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_booleanHelper.id(), "C_array_e_boolean", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static boolean[] read(org.omg.CORBA.portable.InputStream istream) { boolean[] value = null; value = new boolean[ 2 ]; for (int _o0 = 0; _o0 < (2); ++_o0) { value [ _o0 ] = istream.read_boolean(); } return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, boolean[] value ) { if (value.length != (2)) throw new org.omg.CORBA.MARSHAL(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE ); for (int _i0 = 0; _i0 < (2); ++_i0) { ostream.write_boolean(value [ _i0 ]); } } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/E_sequenceHolder.java0000644000175000001440000000366510250313742023600 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class E_sequenceHolder implements org.omg.CORBA.portable.Streamable { public B[] value = null; public E_sequenceHolder() { } public E_sequenceHolder(B[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = E_sequenceHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { E_sequenceHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return E_sequenceHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_anyHelper.java0000644000175000001440000000645510451015575024267 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class C_array_e_anyHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_any:1.0"; public static void insert(org.omg.CORBA.Any a, org.omg.CORBA.Any[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static org.omg.CORBA.Any[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_any); __typeCode = org.omg.CORBA.ORB.init().create_array_tc(2, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_anyHelper.id(), "C_array_e_any", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static org.omg.CORBA.Any[] read(org.omg.CORBA.portable.InputStream istream) { org.omg.CORBA.Any[] value = null; value = new org.omg.CORBA.Any[ 2 ]; for (int _o0 = 0; _o0 < (2); ++_o0) { value [ _o0 ] = istream.read_any(); } return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, org.omg.CORBA.Any[] value ) { if (value.length != (2)) throw new org.omg.CORBA.MARSHAL(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE ); for (int _i0 = 0; _i0 < (2); ++_i0) { ostream.write_any(value [ _i0 ]); } } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_short.java0000644000175000001440000000521210250313742022261 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class D_d_short implements org.omg.CORBA.portable.IDLEntity { private int ___l1; private int ___l2; private short __discriminator; private boolean __uninitialized = true; public D_d_short() { } public short discriminator() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); return __discriminator; } public int l1() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifyl1(__discriminator); return ___l1; } public void l1(int value) { __discriminator = 1; ___l1 = value; __uninitialized = false; } private void verifyl1(short discriminator) { if (discriminator != 1) throw new org.omg.CORBA.BAD_OPERATION(); } public int l2() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifyl2(__discriminator); return ___l2; } public void l2(int value) { __discriminator = 2; ___l2 = value; __uninitialized = false; } private void verifyl2(short discriminator) { if (discriminator != 2) throw new org.omg.CORBA.BAD_OPERATION(); } public void _default() { __discriminator = -32768; __uninitialized = false; } } // class D_d_short mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_ulongHolder.java0000644000175000001440000000367310250313742023415 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class D_d_ulongHolder implements org.omg.CORBA.portable.Streamable { public D_d_ulong value = null; public D_d_ulongHolder() { } public D_d_ulongHolder(D_d_ulong initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = D_d_ulongHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { D_d_ulongHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return D_d_ulongHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_booleanHelper.java0000644000175000001440000001064410451015575023714 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class D_d_booleanHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_boolean:1.0"; public static void insert(org.omg.CORBA.Any a, D_d_boolean that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static D_d_boolean extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { org.omg.CORBA.TypeCode _disTypeCode0; _disTypeCode0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_boolean); org.omg.CORBA.UnionMember[] _members0 = new org.omg.CORBA.UnionMember[ 2 ]; org.omg.CORBA.TypeCode _tcOf_members0; org.omg.CORBA.Any _anyOf_members0; // Branch for l1 _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_boolean((boolean) true); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); _members0 [ 0 ] = new org.omg.CORBA.UnionMember("l1", _anyOf_members0, _tcOf_members0, null ); // Branch for l2 _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_boolean((boolean) false); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); _members0 [ 1 ] = new org.omg.CORBA.UnionMember("l2", _anyOf_members0, _tcOf_members0, null ); __typeCode = org.omg.CORBA.ORB.init().create_union_tc(D_d_booleanHelper.id(), "D_d_boolean", _disTypeCode0, _members0 ); } return __typeCode; } public static String id() { return _id; } public static D_d_boolean read(org.omg.CORBA.portable.InputStream istream) { D_d_boolean value = new D_d_boolean(); boolean _dis0 = false; _dis0 = istream.read_boolean(); if (_dis0) { int _l1 = (int) 0; _l1 = istream.read_long(); value.l1(_l1); } else { int _l2 = (int) 0; _l2 = istream.read_long(); value.l2(_l2); } return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, D_d_boolean value ) { ostream.write_boolean(value.discriminator()); if (value.discriminator()) { ostream.write_long(value.l1()); } else { ostream.write_long(value.l2()); } } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_stringHelper.java0000644000175000001440000000641410451015575025001 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class C_array_e_stringHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_string:1.0"; public static void insert(org.omg.CORBA.Any a, String[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static String[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = org.omg.CORBA.ORB.init().create_string_tc(0); __typeCode = org.omg.CORBA.ORB.init().create_array_tc(2, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_stringHelper.id(), "C_array_e_string", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static String[] read(org.omg.CORBA.portable.InputStream istream) { String[] value = null; value = new String[ 2 ]; for (int _o0 = 0; _o0 < (2); ++_o0) { value [ _o0 ] = istream.read_string(); } return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, String[] value ) { if (value.length != (2)) throw new org.omg.CORBA.MARSHAL(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE ); for (int _i0 = 0; _i0 < (2); ++_i0) { ostream.write_string(value [ _i0 ]); } } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_doubleHelper.java0000644000175000001440000000646310451015575024751 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class C_array_e_doubleHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_double:1.0"; public static void insert(org.omg.CORBA.Any a, double[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static double[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_double); __typeCode = org.omg.CORBA.ORB.init().create_array_tc(2, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_doubleHelper.id(), "C_array_e_double", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static double[] read(org.omg.CORBA.portable.InputStream istream) { double[] value = null; value = new double[ 2 ]; for (int _o0 = 0; _o0 < (2); ++_o0) { value [ _o0 ] = istream.read_double(); } return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, double[] value ) { if (value.length != (2)) throw new org.omg.CORBA.MARSHAL(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE ); for (int _i0 = 0; _i0 < (2); ++_i0) { ostream.write_double(value [ _i0 ]); } } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/G_union.java0000644000175000001440000000725010250313742021756 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class G_union implements org.omg.CORBA.portable.IDLEntity { private E_struct ___e_e_struct; private E_union ___e_e_union; private B[] ___e_e_sequence; private B[] ___e_e_array; private int __discriminator; private boolean __uninitialized = true; public G_union() { } public int discriminator() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); return __discriminator; } public E_struct e_e_struct() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_e_struct(__discriminator); return ___e_e_struct; } public void e_e_struct(E_struct value) { __discriminator = 1; ___e_e_struct = value; __uninitialized = false; } private void verifye_e_struct(int discriminator) { if (discriminator != 1) throw new org.omg.CORBA.BAD_OPERATION(); } public E_union e_e_union() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_e_union(__discriminator); return ___e_e_union; } public void e_e_union(E_union value) { __discriminator = 2; ___e_e_union = value; __uninitialized = false; } private void verifye_e_union(int discriminator) { if (discriminator != 2) throw new org.omg.CORBA.BAD_OPERATION(); } public B[] e_e_sequence() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_e_sequence(__discriminator); return ___e_e_sequence; } public void e_e_sequence(B[] value) { __discriminator = 3; ___e_e_sequence = value; __uninitialized = false; } private void verifye_e_sequence(int discriminator) { if (discriminator != 3) throw new org.omg.CORBA.BAD_OPERATION(); } public B[] e_e_array() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_e_array(__discriminator); return ___e_e_array; } public void e_e_array(B[] value) { __discriminator = 4; ___e_e_array = value; __uninitialized = false; } private void verifye_e_array(int discriminator) { if (discriminator != 4) throw new org.omg.CORBA.BAD_OPERATION(); } public void _default() { __discriminator = -2147483648; __uninitialized = false; } } // class G_union mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_floatHolder.java0000644000175000001440000000375510250313742025267 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class C_sequence_e_floatHolder implements org.omg.CORBA.portable.Streamable { public float[] value = null; public C_sequence_e_floatHolder() { } public C_sequence_e_floatHolder(float[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = C_sequence_e_floatHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { C_sequence_e_floatHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return C_sequence_e_floatHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_charHolder.java0000644000175000001440000000366310250313742023205 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class D_d_charHolder implements org.omg.CORBA.portable.Streamable { public D_d_char value = null; public D_d_charHolder() { } public D_d_charHolder(D_d_char initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = D_d_charHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { D_d_charHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return D_d_charHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/F_except2.java0000644000175000001440000000337010250313742022176 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class F_except2 extends org.omg.CORBA.UserException implements org.omg.CORBA.portable.IDLEntity { public C_struct[] v32 = null; public C_union[] v33 = null; public F_except2() { } // ctor public F_except2(C_struct[] _v32, C_union[] _v33) { v32 = _v32; v33 = _v33; } // ctor } // class F_except2 mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/F_except1.java0000644000175000001440000000752310250313742022201 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class F_except1 extends org.omg.CORBA.UserException implements org.omg.CORBA.portable.IDLEntity { public F_struct v1 = null; public F_union v2 = null; // C_struct public F_union v3 = null; // C_union public F_union v4 = null; // C_sequence_e_short public F_union v5 = null; // C_sequence_e_ushort public F_union v6 = null; // C_sequence_e_long public F_union v7 = null; // C_sequence_e_ulong public F_union v8 = null; // C_sequence e_float public F_union v9 = null; // C_sequence_e_double public F_union v10 = null; // C_sequence_e_char public F_union v11 = null; // C_sequence_e_boolean public F_union v12 = null; // C_sequence_e_octet public F_union v13 = null; // C_sequence_e_any public F_union v14 = null; // C_sequence_e_string public F_union v15 = null; // C_sequence_e_Object public F_union v18 = null; // C_array_e_short public F_union v19 = null; // C_array_e_ushort public F_union v20 = null; // C_array_e_long public F_union v21 = null; // C_array_e_ulong public F_union v22 = null; // C_array e_float public F_union v23 = null; // C_array_e_double public F_union v24 = null; // C_array_e_char public F_union v25 = null; // C_array_e_boolean public F_union v26 = null; // C_array_e_octet public F_union v27 = null; // C_array_e_any public F_union v28 = null; // C_array_e_string public F_union v29 = null; public F_except1() { } // ctor public F_except1(F_struct _v1, F_union _v2, F_union _v3, F_union _v4, F_union _v5, F_union _v6, F_union _v7, F_union _v8, F_union _v9, F_union _v10, F_union _v11, F_union _v12, F_union _v13, F_union _v14, F_union _v15, F_union _v18, F_union _v19, F_union _v20, F_union _v21, F_union _v22, F_union _v23, F_union _v24, F_union _v25, F_union _v26, F_union _v27, F_union _v28, F_union _v29 ) { v1 = _v1; v2 = _v2; v3 = _v3; v4 = _v4; v5 = _v5; v6 = _v6; v7 = _v7; v8 = _v8; v9 = _v9; v10 = _v10; v11 = _v11; v12 = _v12; v13 = _v13; v14 = _v14; v15 = _v15; v18 = _v18; v19 = _v19; v20 = _v20; v21 = _v21; v22 = _v22; v23 = _v23; v24 = _v24; v25 = _v25; v26 = _v26; v27 = _v27; v28 = _v28; v29 = _v29; } // ctor } // class F_except1 mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_char.java0000644000175000001440000000521510250313742022042 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class D_d_char implements org.omg.CORBA.portable.IDLEntity { private int ___l1; private int ___l2; private char __discriminator; private boolean __uninitialized = true; public D_d_char() { } public char discriminator() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); return __discriminator; } public int l1() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifyl1(__discriminator); return ___l1; } public void l1(int value) { __discriminator = 'a'; ___l1 = value; __uninitialized = false; } private void verifyl1(char discriminator) { if (discriminator != 'a') throw new org.omg.CORBA.BAD_OPERATION(); } public int l2() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifyl2(__discriminator); return ___l2; } public void l2(int value) { __discriminator = 'b'; ___l2 = value; __uninitialized = false; } private void verifyl2(char discriminator) { if (discriminator != 'b') throw new org.omg.CORBA.BAD_OPERATION(); } public void _default() { __discriminator = '\u0000'; __uninitialized = false; } } // class D_d_char mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/F_except1Helper.java0000644000175000001440000002434410451015575023347 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class F_except1Helper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/F_except1:1.0"; public static void insert(org.omg.CORBA.Any a, F_except1 that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static F_except1 extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; private static boolean __active = false; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { synchronized (org.omg.CORBA.TypeCode.class) { if (__typeCode == null) { if (__active) { return org.omg.CORBA.ORB.init().create_recursive_tc(_id); } __active = true; org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember[ 27 ]; org.omg.CORBA.TypeCode _tcOf_members0 = null; _tcOf_members0 = F_structHelper.type(); _members0 [ 0 ] = new org.omg.CORBA.StructMember("v1", _tcOf_members0, null); _tcOf_members0 = F_unionHelper.type(); _members0 [ 1 ] = new org.omg.CORBA.StructMember("v2", _tcOf_members0, null); _tcOf_members0 = F_unionHelper.type(); _members0 [ 2 ] = new org.omg.CORBA.StructMember("v3", _tcOf_members0, null); _tcOf_members0 = F_unionHelper.type(); _members0 [ 3 ] = new org.omg.CORBA.StructMember("v4", _tcOf_members0, null); _tcOf_members0 = F_unionHelper.type(); _members0 [ 4 ] = new org.omg.CORBA.StructMember("v5", _tcOf_members0, null); _tcOf_members0 = F_unionHelper.type(); _members0 [ 5 ] = new org.omg.CORBA.StructMember("v6", _tcOf_members0, null); _tcOf_members0 = F_unionHelper.type(); _members0 [ 6 ] = new org.omg.CORBA.StructMember("v7", _tcOf_members0, null); _tcOf_members0 = F_unionHelper.type(); _members0 [ 7 ] = new org.omg.CORBA.StructMember("v8", _tcOf_members0, null); _tcOf_members0 = F_unionHelper.type(); _members0 [ 8 ] = new org.omg.CORBA.StructMember("v9", _tcOf_members0, null); _tcOf_members0 = F_unionHelper.type(); _members0 [ 9 ] = new org.omg.CORBA.StructMember("v10", _tcOf_members0, null); _tcOf_members0 = F_unionHelper.type(); _members0 [ 10 ] = new org.omg.CORBA.StructMember("v11", _tcOf_members0, null); _tcOf_members0 = F_unionHelper.type(); _members0 [ 11 ] = new org.omg.CORBA.StructMember("v12", _tcOf_members0, null); _tcOf_members0 = F_unionHelper.type(); _members0 [ 12 ] = new org.omg.CORBA.StructMember("v13", _tcOf_members0, null); _tcOf_members0 = F_unionHelper.type(); _members0 [ 13 ] = new org.omg.CORBA.StructMember("v14", _tcOf_members0, null); _tcOf_members0 = F_unionHelper.type(); _members0 [ 14 ] = new org.omg.CORBA.StructMember("v15", _tcOf_members0, null); _tcOf_members0 = F_unionHelper.type(); _members0 [ 15 ] = new org.omg.CORBA.StructMember("v18", _tcOf_members0, null); _tcOf_members0 = F_unionHelper.type(); _members0 [ 16 ] = new org.omg.CORBA.StructMember("v19", _tcOf_members0, null); _tcOf_members0 = F_unionHelper.type(); _members0 [ 17 ] = new org.omg.CORBA.StructMember("v20", _tcOf_members0, null); _tcOf_members0 = F_unionHelper.type(); _members0 [ 18 ] = new org.omg.CORBA.StructMember("v21", _tcOf_members0, null); _tcOf_members0 = F_unionHelper.type(); _members0 [ 19 ] = new org.omg.CORBA.StructMember("v22", _tcOf_members0, null); _tcOf_members0 = F_unionHelper.type(); _members0 [ 20 ] = new org.omg.CORBA.StructMember("v23", _tcOf_members0, null); _tcOf_members0 = F_unionHelper.type(); _members0 [ 21 ] = new org.omg.CORBA.StructMember("v24", _tcOf_members0, null); _tcOf_members0 = F_unionHelper.type(); _members0 [ 22 ] = new org.omg.CORBA.StructMember("v25", _tcOf_members0, null); _tcOf_members0 = F_unionHelper.type(); _members0 [ 23 ] = new org.omg.CORBA.StructMember("v26", _tcOf_members0, null); _tcOf_members0 = F_unionHelper.type(); _members0 [ 24 ] = new org.omg.CORBA.StructMember("v27", _tcOf_members0, null); _tcOf_members0 = F_unionHelper.type(); _members0 [ 25 ] = new org.omg.CORBA.StructMember("v28", _tcOf_members0, null); _tcOf_members0 = F_unionHelper.type(); _members0 [ 26 ] = new org.omg.CORBA.StructMember("v29", _tcOf_members0, null); __typeCode = org.omg.CORBA.ORB.init().create_struct_tc(F_except1Helper.id(), "F_except1", _members0 ); __active = false; } } } return __typeCode; } public static String id() { return _id; } public static F_except1 read(org.omg.CORBA.portable.InputStream istream) { F_except1 value = new F_except1(); // read and discard the repository ID istream.read_string(); value.v1 = F_structHelper.read(istream); value.v2 = F_unionHelper.read(istream); value.v3 = F_unionHelper.read(istream); value.v4 = F_unionHelper.read(istream); value.v5 = F_unionHelper.read(istream); value.v6 = F_unionHelper.read(istream); value.v7 = F_unionHelper.read(istream); value.v8 = F_unionHelper.read(istream); value.v9 = F_unionHelper.read(istream); value.v10 = F_unionHelper.read(istream); value.v11 = F_unionHelper.read(istream); value.v12 = F_unionHelper.read(istream); value.v13 = F_unionHelper.read(istream); value.v14 = F_unionHelper.read(istream); value.v15 = F_unionHelper.read(istream); value.v18 = F_unionHelper.read(istream); value.v19 = F_unionHelper.read(istream); value.v20 = F_unionHelper.read(istream); value.v21 = F_unionHelper.read(istream); value.v22 = F_unionHelper.read(istream); value.v23 = F_unionHelper.read(istream); value.v24 = F_unionHelper.read(istream); value.v25 = F_unionHelper.read(istream); value.v26 = F_unionHelper.read(istream); value.v27 = F_unionHelper.read(istream); value.v28 = F_unionHelper.read(istream); value.v29 = F_unionHelper.read(istream); return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, F_except1 value ) { // write the repository ID ostream.write_string(id()); F_structHelper.write(ostream, value.v1); F_unionHelper.write(ostream, value.v2); F_unionHelper.write(ostream, value.v3); F_unionHelper.write(ostream, value.v4); F_unionHelper.write(ostream, value.v5); F_unionHelper.write(ostream, value.v6); F_unionHelper.write(ostream, value.v7); F_unionHelper.write(ostream, value.v8); F_unionHelper.write(ostream, value.v9); F_unionHelper.write(ostream, value.v10); F_unionHelper.write(ostream, value.v11); F_unionHelper.write(ostream, value.v12); F_unionHelper.write(ostream, value.v13); F_unionHelper.write(ostream, value.v14); F_unionHelper.write(ostream, value.v15); F_unionHelper.write(ostream, value.v18); F_unionHelper.write(ostream, value.v19); F_unionHelper.write(ostream, value.v20); F_unionHelper.write(ostream, value.v21); F_unionHelper.write(ostream, value.v22); F_unionHelper.write(ostream, value.v23); F_unionHelper.write(ostream, value.v24); F_unionHelper.write(ostream, value.v25); F_unionHelper.write(ostream, value.v26); F_unionHelper.write(ostream, value.v27); F_unionHelper.write(ostream, value.v28); F_unionHelper.write(ostream, value.v29); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/_rf11Stub.java0000644000175000001440000022354510250313742022135 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public class _rf11Stub extends org.omg.CORBA.portable.ObjectImpl implements NEC_RF11 { // Constructors // NOTE: If the default constructor is used, the // object is useless until _set_delegate (...) // is called. public _rf11Stub() { super(); } public _rf11Stub(org.omg.CORBA.portable.Delegate delegate) { super(); _set_delegate(delegate); } // A public short op1(short argin, org.omg.CORBA.ShortHolder argout, org.omg.CORBA.ShortHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op1", true); _out.write_short(argin); _out.write_short(arginout.value); _in = _invoke(_out); short __result = _in.read_short(); argout.value = _in.read_short(); arginout.value = _in.read_short(); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op1(argin, argout, arginout); } finally { _releaseReply(_in); } } // op1 public short op2(short argin, org.omg.CORBA.ShortHolder argout, org.omg.CORBA.ShortHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op2", true); _out.write_ushort(argin); _out.write_ushort(arginout.value); _in = _invoke(_out); short __result = _in.read_ushort(); argout.value = _in.read_ushort(); arginout.value = _in.read_ushort(); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op2(argin, argout, arginout); } finally { _releaseReply(_in); } } // op2 public int op3(int argin, org.omg.CORBA.IntHolder argout, org.omg.CORBA.IntHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op3", true); _out.write_long(argin); _out.write_long(arginout.value); _in = _invoke(_out); int __result = _in.read_long(); argout.value = _in.read_long(); arginout.value = _in.read_long(); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op3(argin, argout, arginout); } finally { _releaseReply(_in); } } // op3 public int op4(int argin, org.omg.CORBA.IntHolder argout, org.omg.CORBA.IntHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op4", true); _out.write_ulong(argin); _out.write_ulong(arginout.value); _in = _invoke(_out); int __result = _in.read_ulong(); argout.value = _in.read_ulong(); arginout.value = _in.read_ulong(); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op4(argin, argout, arginout); } finally { _releaseReply(_in); } } // op4 public float op5(float argin, org.omg.CORBA.FloatHolder argout, org.omg.CORBA.FloatHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op5", true); _out.write_float(argin); _out.write_float(arginout.value); _in = _invoke(_out); float __result = _in.read_float(); argout.value = _in.read_float(); arginout.value = _in.read_float(); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op5(argin, argout, arginout); } finally { _releaseReply(_in); } } // op5 public double op6(double argin, org.omg.CORBA.DoubleHolder argout, org.omg.CORBA.DoubleHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op6", true); _out.write_double(argin); _out.write_double(arginout.value); _in = _invoke(_out); double __result = _in.read_double(); argout.value = _in.read_double(); arginout.value = _in.read_double(); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op6(argin, argout, arginout); } finally { _releaseReply(_in); } } // op6 public char op7(char argin, org.omg.CORBA.CharHolder argout, org.omg.CORBA.CharHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op7", true); _out.write_char(argin); _out.write_char(arginout.value); _in = _invoke(_out); char __result = _in.read_char(); argout.value = _in.read_char(); arginout.value = _in.read_char(); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op7(argin, argout, arginout); } finally { _releaseReply(_in); } } // op7 public boolean op8(boolean argin, org.omg.CORBA.BooleanHolder argout, org.omg.CORBA.BooleanHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op8", true); _out.write_boolean(argin); _out.write_boolean(arginout.value); _in = _invoke(_out); boolean __result = _in.read_boolean(); argout.value = _in.read_boolean(); arginout.value = _in.read_boolean(); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op8(argin, argout, arginout); } finally { _releaseReply(_in); } } // op8 public byte op9(byte argin, org.omg.CORBA.ByteHolder argout, org.omg.CORBA.ByteHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op9", true); _out.write_octet(argin); _out.write_octet(arginout.value); _in = _invoke(_out); byte __result = _in.read_octet(); argout.value = _in.read_octet(); arginout.value = _in.read_octet(); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op9(argin, argout, arginout); } finally { _releaseReply(_in); } } // op9 public org.omg.CORBA.Any op10(org.omg.CORBA.Any argin, org.omg.CORBA.AnyHolder argout, org.omg.CORBA.AnyHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op10", true); _out.write_any(argin); _out.write_any(arginout.value); _in = _invoke(_out); org.omg.CORBA.Any __result = _in.read_any(); argout.value = _in.read_any(); arginout.value = _in.read_any(); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op10(argin, argout, arginout); } finally { _releaseReply(_in); } } // op10 public String op11(String argin, org.omg.CORBA.StringHolder argout, org.omg.CORBA.StringHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op11", true); _out.write_string(argin); _out.write_string(arginout.value); _in = _invoke(_out); String __result = _in.read_string(); argout.value = _in.read_string(); arginout.value = _in.read_string(); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op11(argin, argout, arginout); } finally { _releaseReply(_in); } } // op11 public org.omg.CORBA.Object op12(org.omg.CORBA.Object argin, org.omg.CORBA.ObjectHolder argout, org.omg.CORBA.ObjectHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op12", true); org.omg.CORBA.ObjectHelper.write(_out, argin); org.omg.CORBA.ObjectHelper.write(_out, arginout.value); _in = _invoke(_out); org.omg.CORBA.Object __result = org.omg.CORBA.ObjectHelper.read(_in); argout.value = org.omg.CORBA.ObjectHelper.read(_in); arginout.value = org.omg.CORBA.ObjectHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op12(argin, argout, arginout); } finally { _releaseReply(_in); } } // op12 // B public B op15(B argin, BHolder argout, BHolder arginout) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op15", true); BHelper.write(_out, argin); BHelper.write(_out, arginout.value); _in = _invoke(_out); B __result = BHelper.read(_in); argout.value = BHelper.read(_in); arginout.value = BHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op15(argin, argout, arginout); } finally { _releaseReply(_in); } } // op15 // C public C_struct op16(C_struct argin, C_structHolder argout, C_structHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op16", true); C_structHelper.write(_out, argin); C_structHelper.write(_out, arginout.value); _in = _invoke(_out); C_struct __result = C_structHelper.read(_in); argout.value = C_structHelper.read(_in); arginout.value = C_structHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op16(argin, argout, arginout); } finally { _releaseReply(_in); } } // op16 public C_union op17(C_union argin, C_unionHolder argout, C_unionHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op17", true); C_unionHelper.write(_out, argin); C_unionHelper.write(_out, arginout.value); _in = _invoke(_out); C_union __result = C_unionHelper.read(_in); argout.value = C_unionHelper.read(_in); arginout.value = C_unionHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op17(argin, argout, arginout); } finally { _releaseReply(_in); } } // op17 public short[] op18(short[] argin, C_sequence_e_shortHolder argout, C_sequence_e_shortHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op18", true); C_sequence_e_shortHelper.write(_out, argin); C_sequence_e_shortHelper.write(_out, arginout.value); _in = _invoke(_out); short[] __result = C_sequence_e_shortHelper.read(_in); argout.value = C_sequence_e_shortHelper.read(_in); arginout.value = C_sequence_e_shortHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op18(argin, argout, arginout); } finally { _releaseReply(_in); } } // op18 public short[] op19(short[] argin, C_sequence_e_ushortHolder argout, C_sequence_e_ushortHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op19", true); C_sequence_e_ushortHelper.write(_out, argin); C_sequence_e_ushortHelper.write(_out, arginout.value); _in = _invoke(_out); short[] __result = C_sequence_e_ushortHelper.read(_in); argout.value = C_sequence_e_ushortHelper.read(_in); arginout.value = C_sequence_e_ushortHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op19(argin, argout, arginout); } finally { _releaseReply(_in); } } // op19 public int[] op20(int[] argin, C_sequence_e_longHolder argout, C_sequence_e_longHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op20", true); C_sequence_e_longHelper.write(_out, argin); C_sequence_e_longHelper.write(_out, arginout.value); _in = _invoke(_out); int[] __result = C_sequence_e_longHelper.read(_in); argout.value = C_sequence_e_longHelper.read(_in); arginout.value = C_sequence_e_longHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op20(argin, argout, arginout); } finally { _releaseReply(_in); } } // op20 public int[] op21(int[] argin, C_sequence_e_ulongHolder argout, C_sequence_e_ulongHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op21", true); C_sequence_e_ulongHelper.write(_out, argin); C_sequence_e_ulongHelper.write(_out, arginout.value); _in = _invoke(_out); int[] __result = C_sequence_e_ulongHelper.read(_in); argout.value = C_sequence_e_ulongHelper.read(_in); arginout.value = C_sequence_e_ulongHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op21(argin, argout, arginout); } finally { _releaseReply(_in); } } // op21 public float[] op22(float[] argin, C_sequence_e_floatHolder argout, C_sequence_e_floatHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op22", true); C_sequence_e_floatHelper.write(_out, argin); C_sequence_e_floatHelper.write(_out, arginout.value); _in = _invoke(_out); float[] __result = C_sequence_e_floatHelper.read(_in); argout.value = C_sequence_e_floatHelper.read(_in); arginout.value = C_sequence_e_floatHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op22(argin, argout, arginout); } finally { _releaseReply(_in); } } // op22 public double[] op23(double[] argin, C_sequence_e_doubleHolder argout, C_sequence_e_doubleHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op23", true); C_sequence_e_doubleHelper.write(_out, argin); C_sequence_e_doubleHelper.write(_out, arginout.value); _in = _invoke(_out); double[] __result = C_sequence_e_doubleHelper.read(_in); argout.value = C_sequence_e_doubleHelper.read(_in); arginout.value = C_sequence_e_doubleHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op23(argin, argout, arginout); } finally { _releaseReply(_in); } } // op23 public char[] op24(char[] argin, C_sequence_e_charHolder argout, C_sequence_e_charHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op24", true); C_sequence_e_charHelper.write(_out, argin); C_sequence_e_charHelper.write(_out, arginout.value); _in = _invoke(_out); char[] __result = C_sequence_e_charHelper.read(_in); argout.value = C_sequence_e_charHelper.read(_in); arginout.value = C_sequence_e_charHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op24(argin, argout, arginout); } finally { _releaseReply(_in); } } // op24 public boolean[] op25(boolean[] argin, C_sequence_e_booleanHolder argout, C_sequence_e_booleanHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op25", true); C_sequence_e_booleanHelper.write(_out, argin); C_sequence_e_booleanHelper.write(_out, arginout.value); _in = _invoke(_out); boolean[] __result = C_sequence_e_booleanHelper.read(_in); argout.value = C_sequence_e_booleanHelper.read(_in); arginout.value = C_sequence_e_booleanHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op25(argin, argout, arginout); } finally { _releaseReply(_in); } } // op25 public byte[] op26(byte[] argin, C_sequence_e_octetHolder argout, C_sequence_e_octetHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op26", true); C_sequence_e_octetHelper.write(_out, argin); C_sequence_e_octetHelper.write(_out, arginout.value); _in = _invoke(_out); byte[] __result = C_sequence_e_octetHelper.read(_in); argout.value = C_sequence_e_octetHelper.read(_in); arginout.value = C_sequence_e_octetHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op26(argin, argout, arginout); } finally { _releaseReply(_in); } } // op26 public org.omg.CORBA.Any[] op27(org.omg.CORBA.Any[] argin, C_sequence_e_anyHolder argout, C_sequence_e_anyHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op27", true); C_sequence_e_anyHelper.write(_out, argin); C_sequence_e_anyHelper.write(_out, arginout.value); _in = _invoke(_out); org.omg.CORBA.Any[] __result = C_sequence_e_anyHelper.read(_in); argout.value = C_sequence_e_anyHelper.read(_in); arginout.value = C_sequence_e_anyHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op27(argin, argout, arginout); } finally { _releaseReply(_in); } } // op27 public String[] op28(String[] argin, C_sequence_e_stringHolder argout, C_sequence_e_stringHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op28", true); C_sequence_e_stringHelper.write(_out, argin); C_sequence_e_stringHelper.write(_out, arginout.value); _in = _invoke(_out); String[] __result = C_sequence_e_stringHelper.read(_in); argout.value = C_sequence_e_stringHelper.read(_in); arginout.value = C_sequence_e_stringHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op28(argin, argout, arginout); } finally { _releaseReply(_in); } } // op28 public org.omg.CORBA.Object[] op29(org.omg.CORBA.Object[] argin, C_sequence_e_ObjectHolder argout, C_sequence_e_ObjectHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op29", true); C_sequence_e_ObjectHelper.write(_out, argin); C_sequence_e_ObjectHelper.write(_out, arginout.value); _in = _invoke(_out); org.omg.CORBA.Object[] __result = C_sequence_e_ObjectHelper.read(_in); argout.value = C_sequence_e_ObjectHelper.read(_in); arginout.value = C_sequence_e_ObjectHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op29(argin, argout, arginout); } finally { _releaseReply(_in); } } // op29 public short[] op32(short[] argin, C_array_e_shortHolder argout, C_array_e_shortHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op32", true); C_array_e_shortHelper.write(_out, argin); C_array_e_shortHelper.write(_out, arginout.value); _in = _invoke(_out); short[] __result = C_array_e_shortHelper.read(_in); argout.value = C_array_e_shortHelper.read(_in); arginout.value = C_array_e_shortHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op32(argin, argout, arginout); } finally { _releaseReply(_in); } } // op32 public short[] op33(short[] argin, C_array_e_ushortHolder argout, C_array_e_ushortHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op33", true); C_array_e_ushortHelper.write(_out, argin); C_array_e_ushortHelper.write(_out, arginout.value); _in = _invoke(_out); short[] __result = C_array_e_ushortHelper.read(_in); argout.value = C_array_e_ushortHelper.read(_in); arginout.value = C_array_e_ushortHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op33(argin, argout, arginout); } finally { _releaseReply(_in); } } // op33 public int[] op34(int[] argin, C_array_e_longHolder argout, C_array_e_longHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op34", true); C_array_e_longHelper.write(_out, argin); C_array_e_longHelper.write(_out, arginout.value); _in = _invoke(_out); int[] __result = C_array_e_longHelper.read(_in); argout.value = C_array_e_longHelper.read(_in); arginout.value = C_array_e_longHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op34(argin, argout, arginout); } finally { _releaseReply(_in); } } // op34 public int[] op35(int[] argin, C_array_e_ulongHolder argout, C_array_e_ulongHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op35", true); C_array_e_ulongHelper.write(_out, argin); C_array_e_ulongHelper.write(_out, arginout.value); _in = _invoke(_out); int[] __result = C_array_e_ulongHelper.read(_in); argout.value = C_array_e_ulongHelper.read(_in); arginout.value = C_array_e_ulongHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op35(argin, argout, arginout); } finally { _releaseReply(_in); } } // op35 public float[] op36(float[] argin, C_array_e_floatHolder argout, C_array_e_floatHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op36", true); C_array_e_floatHelper.write(_out, argin); C_array_e_floatHelper.write(_out, arginout.value); _in = _invoke(_out); float[] __result = C_array_e_floatHelper.read(_in); argout.value = C_array_e_floatHelper.read(_in); arginout.value = C_array_e_floatHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op36(argin, argout, arginout); } finally { _releaseReply(_in); } } // op36 public double[] op37(double[] argin, C_array_e_doubleHolder argout, C_array_e_doubleHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op37", true); C_array_e_doubleHelper.write(_out, argin); C_array_e_doubleHelper.write(_out, arginout.value); _in = _invoke(_out); double[] __result = C_array_e_doubleHelper.read(_in); argout.value = C_array_e_doubleHelper.read(_in); arginout.value = C_array_e_doubleHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op37(argin, argout, arginout); } finally { _releaseReply(_in); } } // op37 public char[] op38(char[] argin, C_array_e_charHolder argout, C_array_e_charHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op38", true); C_array_e_charHelper.write(_out, argin); C_array_e_charHelper.write(_out, arginout.value); _in = _invoke(_out); char[] __result = C_array_e_charHelper.read(_in); argout.value = C_array_e_charHelper.read(_in); arginout.value = C_array_e_charHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op38(argin, argout, arginout); } finally { _releaseReply(_in); } } // op38 public boolean[] op39(boolean[] argin, C_array_e_booleanHolder argout, C_array_e_booleanHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op39", true); C_array_e_booleanHelper.write(_out, argin); C_array_e_booleanHelper.write(_out, arginout.value); _in = _invoke(_out); boolean[] __result = C_array_e_booleanHelper.read(_in); argout.value = C_array_e_booleanHelper.read(_in); arginout.value = C_array_e_booleanHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op39(argin, argout, arginout); } finally { _releaseReply(_in); } } // op39 public byte[] op40(byte[] argin, C_array_e_octetHolder argout, C_array_e_octetHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op40", true); C_array_e_octetHelper.write(_out, argin); C_array_e_octetHelper.write(_out, arginout.value); _in = _invoke(_out); byte[] __result = C_array_e_octetHelper.read(_in); argout.value = C_array_e_octetHelper.read(_in); arginout.value = C_array_e_octetHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op40(argin, argout, arginout); } finally { _releaseReply(_in); } } // op40 public org.omg.CORBA.Any[] op41(org.omg.CORBA.Any[] argin, C_array_e_anyHolder argout, C_array_e_anyHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op41", true); C_array_e_anyHelper.write(_out, argin); C_array_e_anyHelper.write(_out, arginout.value); _in = _invoke(_out); org.omg.CORBA.Any[] __result = C_array_e_anyHelper.read(_in); argout.value = C_array_e_anyHelper.read(_in); arginout.value = C_array_e_anyHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op41(argin, argout, arginout); } finally { _releaseReply(_in); } } // op41 public String[] op42(String[] argin, C_array_e_stringHolder argout, C_array_e_stringHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op42", true); C_array_e_stringHelper.write(_out, argin); C_array_e_stringHelper.write(_out, arginout.value); _in = _invoke(_out); String[] __result = C_array_e_stringHelper.read(_in); argout.value = C_array_e_stringHelper.read(_in); arginout.value = C_array_e_stringHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op42(argin, argout, arginout); } finally { _releaseReply(_in); } } // op42 public org.omg.CORBA.Object[] op43(org.omg.CORBA.Object[] argin, C_array_e_ObjectHolder argout, C_array_e_ObjectHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op43", true); C_array_e_ObjectHelper.write(_out, argin); C_array_e_ObjectHelper.write(_out, arginout.value); _in = _invoke(_out); org.omg.CORBA.Object[] __result = C_array_e_ObjectHelper.read(_in); argout.value = C_array_e_ObjectHelper.read(_in); arginout.value = C_array_e_ObjectHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op43(argin, argout, arginout); } finally { _releaseReply(_in); } } // op43 // D public D_d_short op46(D_d_short argin, D_d_shortHolder argout, D_d_shortHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op46", true); D_d_shortHelper.write(_out, argin); D_d_shortHelper.write(_out, arginout.value); _in = _invoke(_out); D_d_short __result = D_d_shortHelper.read(_in); argout.value = D_d_shortHelper.read(_in); arginout.value = D_d_shortHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op46(argin, argout, arginout); } finally { _releaseReply(_in); } } // op46 public D_d_ushort op47(D_d_ushort argin, D_d_ushortHolder argout, D_d_ushortHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op47", true); D_d_ushortHelper.write(_out, argin); D_d_ushortHelper.write(_out, arginout.value); _in = _invoke(_out); D_d_ushort __result = D_d_ushortHelper.read(_in); argout.value = D_d_ushortHelper.read(_in); arginout.value = D_d_ushortHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op47(argin, argout, arginout); } finally { _releaseReply(_in); } } // op47 public D_d_long op48(D_d_long argin, D_d_longHolder argout, D_d_longHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op48", true); D_d_longHelper.write(_out, argin); D_d_longHelper.write(_out, arginout.value); _in = _invoke(_out); D_d_long __result = D_d_longHelper.read(_in); argout.value = D_d_longHelper.read(_in); arginout.value = D_d_longHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op48(argin, argout, arginout); } finally { _releaseReply(_in); } } // op48 public D_d_ulong op49(D_d_ulong argin, D_d_ulongHolder argout, D_d_ulongHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op49", true); D_d_ulongHelper.write(_out, argin); D_d_ulongHelper.write(_out, arginout.value); _in = _invoke(_out); D_d_ulong __result = D_d_ulongHelper.read(_in); argout.value = D_d_ulongHelper.read(_in); arginout.value = D_d_ulongHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op49(argin, argout, arginout); } finally { _releaseReply(_in); } } // op49 public D_d_char op50(D_d_char argin, D_d_charHolder argout, D_d_charHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op50", true); D_d_charHelper.write(_out, argin); D_d_charHelper.write(_out, arginout.value); _in = _invoke(_out); D_d_char __result = D_d_charHelper.read(_in); argout.value = D_d_charHelper.read(_in); arginout.value = D_d_charHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op50(argin, argout, arginout); } finally { _releaseReply(_in); } } // op50 public D_d_boolean op51(D_d_boolean argin, D_d_booleanHolder argout, D_d_booleanHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op51", true); D_d_booleanHelper.write(_out, argin); D_d_booleanHelper.write(_out, arginout.value); _in = _invoke(_out); D_d_boolean __result = D_d_booleanHelper.read(_in); argout.value = D_d_booleanHelper.read(_in); arginout.value = D_d_booleanHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op51(argin, argout, arginout); } finally { _releaseReply(_in); } } // op51 public D_d_B op52(D_d_B argin, D_d_BHolder argout, D_d_BHolder arginout) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op52", true); D_d_BHelper.write(_out, argin); D_d_BHelper.write(_out, arginout.value); _in = _invoke(_out); D_d_B __result = D_d_BHelper.read(_in); argout.value = D_d_BHelper.read(_in); arginout.value = D_d_BHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op52(argin, argout, arginout); } finally { _releaseReply(_in); } } // op52 // E public E_struct op53(E_struct argin, E_structHolder argout, E_structHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op53", true); E_structHelper.write(_out, argin); E_structHelper.write(_out, arginout.value); _in = _invoke(_out); E_struct __result = E_structHelper.read(_in); argout.value = E_structHelper.read(_in); arginout.value = E_structHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op53(argin, argout, arginout); } finally { _releaseReply(_in); } } // op53 public E_union op54(E_union argin, E_unionHolder argout, E_unionHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op54", true); E_unionHelper.write(_out, argin); E_unionHelper.write(_out, arginout.value); _in = _invoke(_out); E_union __result = E_unionHelper.read(_in); argout.value = E_unionHelper.read(_in); arginout.value = E_unionHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op54(argin, argout, arginout); } finally { _releaseReply(_in); } } // op54 public B[] op55(B[] argin, E_sequenceHolder argout, E_sequenceHolder arginout) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op55", true); E_sequenceHelper.write(_out, argin); E_sequenceHelper.write(_out, arginout.value); _in = _invoke(_out); B[] __result = E_sequenceHelper.read(_in); argout.value = E_sequenceHelper.read(_in); arginout.value = E_sequenceHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op55(argin, argout, arginout); } finally { _releaseReply(_in); } } // op55 public B[] op56(B[] argin, E_arrayHolder argout, E_arrayHolder arginout) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op56", true); E_arrayHelper.write(_out, argin); E_arrayHelper.write(_out, arginout.value); _in = _invoke(_out); B[] __result = E_arrayHelper.read(_in); argout.value = E_arrayHelper.read(_in); arginout.value = E_arrayHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op56(argin, argout, arginout); } finally { _releaseReply(_in); } } // op56 // F public F_struct op57(F_struct argin, F_structHolder argout, F_structHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op57", true); F_structHelper.write(_out, argin); F_structHelper.write(_out, arginout.value); _in = _invoke(_out); F_struct __result = F_structHelper.read(_in); argout.value = F_structHelper.read(_in); arginout.value = F_structHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op57(argin, argout, arginout); } finally { _releaseReply(_in); } } // op57 public F_union op58(F_union argin, F_unionHolder argout, F_unionHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op58", true); F_unionHelper.write(_out, argin); F_unionHelper.write(_out, arginout.value); _in = _invoke(_out); F_union __result = F_unionHelper.read(_in); argout.value = F_unionHelper.read(_in); arginout.value = F_unionHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op58(argin, argout, arginout); } finally { _releaseReply(_in); } } // op58 public C_struct[] op59(C_struct[] argin, F_sequence_e_c_structHolder argout, F_sequence_e_c_structHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op59", true); F_sequence_e_c_structHelper.write(_out, argin); F_sequence_e_c_structHelper.write(_out, arginout.value); _in = _invoke(_out); C_struct[] __result = F_sequence_e_c_structHelper.read(_in); argout.value = F_sequence_e_c_structHelper.read(_in); arginout.value = F_sequence_e_c_structHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op59(argin, argout, arginout); } finally { _releaseReply(_in); } } // op59 public C_union[] op60(C_union[] argin, F_sequence_e_c_unionHolder argout, F_sequence_e_c_unionHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op60", true); F_sequence_e_c_unionHelper.write(_out, argin); F_sequence_e_c_unionHelper.write(_out, arginout.value); _in = _invoke(_out); C_union[] __result = F_sequence_e_c_unionHelper.read(_in); argout.value = F_sequence_e_c_unionHelper.read(_in); arginout.value = F_sequence_e_c_unionHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op60(argin, argout, arginout); } finally { _releaseReply(_in); } } // op60 public C_struct[] op89(C_struct[] argin, F_array_e_c_structHolder argout, F_array_e_c_structHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op89", true); F_array_e_c_structHelper.write(_out, argin); F_array_e_c_structHelper.write(_out, arginout.value); _in = _invoke(_out); C_struct[] __result = F_array_e_c_structHelper.read(_in); argout.value = F_array_e_c_structHelper.read(_in); arginout.value = F_array_e_c_structHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op89(argin, argout, arginout); } finally { _releaseReply(_in); } } // op89 public C_union[] op90(C_union[] argin, F_array_e_c_unionHolder argout, F_array_e_c_unionHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op90", true); F_array_e_c_unionHelper.write(_out, argin); F_array_e_c_unionHelper.write(_out, arginout.value); _in = _invoke(_out); C_union[] __result = F_array_e_c_unionHelper.read(_in); argout.value = F_array_e_c_unionHelper.read(_in); arginout.value = F_array_e_c_unionHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op90(argin, argout, arginout); } finally { _releaseReply(_in); } } // op90 // G public G_struct op119(G_struct argin, G_structHolder argout, G_structHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op119", true); G_structHelper.write(_out, argin); G_structHelper.write(_out, arginout.value); _in = _invoke(_out); G_struct __result = G_structHelper.read(_in); argout.value = G_structHelper.read(_in); arginout.value = G_structHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op119(argin, argout, arginout); } finally { _releaseReply(_in); } } // op119 public G_union op120(G_union argin, G_unionHolder argout, G_unionHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op120", true); G_unionHelper.write(_out, argin); G_unionHelper.write(_out, arginout.value); _in = _invoke(_out); G_union __result = G_unionHelper.read(_in); argout.value = G_unionHelper.read(_in); arginout.value = G_unionHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op120(argin, argout, arginout); } finally { _releaseReply(_in); } } // op120 public E_struct[] op121(E_struct[] argin, G_sequence_e_e_structHolder argout, G_sequence_e_e_structHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op121", true); G_sequence_e_e_structHelper.write(_out, argin); G_sequence_e_e_structHelper.write(_out, arginout.value); _in = _invoke(_out); E_struct[] __result = G_sequence_e_e_structHelper.read(_in); argout.value = G_sequence_e_e_structHelper.read(_in); arginout.value = G_sequence_e_e_structHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op121(argin, argout, arginout); } finally { _releaseReply(_in); } } // op121 public E_union[] op122(E_union[] argin, G_sequence_e_e_unionHolder argout, G_sequence_e_e_unionHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op122", true); G_sequence_e_e_unionHelper.write(_out, argin); G_sequence_e_e_unionHelper.write(_out, arginout.value); _in = _invoke(_out); E_union[] __result = G_sequence_e_e_unionHelper.read(_in); argout.value = G_sequence_e_e_unionHelper.read(_in); arginout.value = G_sequence_e_e_unionHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op122(argin, argout, arginout); } finally { _releaseReply(_in); } } // op122 public E_struct[] op125(E_struct[] argin, G_array_e_e_structHolder argout, G_array_e_e_structHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op125", true); G_array_e_e_structHelper.write(_out, argin); G_array_e_e_structHelper.write(_out, arginout.value); _in = _invoke(_out); E_struct[] __result = G_array_e_e_structHelper.read(_in); argout.value = G_array_e_e_structHelper.read(_in); arginout.value = G_array_e_e_structHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op125(argin, argout, arginout); } finally { _releaseReply(_in); } } // op125 public E_union[] op126(E_union[] argin, G_array_e_e_unionHolder argout, G_array_e_e_unionHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op126", true); G_array_e_e_unionHelper.write(_out, argin); G_array_e_e_unionHelper.write(_out, arginout.value); _in = _invoke(_out); E_union[] __result = G_array_e_e_unionHelper.read(_in); argout.value = G_array_e_e_unionHelper.read(_in); arginout.value = G_array_e_e_unionHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op126(argin, argout, arginout); } finally { _releaseReply(_in); } } // op126 // rest of F public F_union op129(F_union argin, F_unionHolder argout, F_unionHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op129", true); F_unionHelper.write(_out, argin); F_unionHelper.write(_out, arginout.value); _in = _invoke(_out); F_union __result = F_unionHelper.read(_in); argout.value = F_unionHelper.read(_in); arginout.value = F_unionHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op129(argin, argout, arginout); } finally { _releaseReply(_in); } } // op129 public F_union op130(F_union argin, F_unionHolder argout, F_unionHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op130", true); F_unionHelper.write(_out, argin); F_unionHelper.write(_out, arginout.value); _in = _invoke(_out); F_union __result = F_unionHelper.read(_in); argout.value = F_unionHelper.read(_in); arginout.value = F_unionHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op130(argin, argout, arginout); } finally { _releaseReply(_in); } } // op130 public F_union op131(F_union argin, F_unionHolder argout, F_unionHolder arginout ) { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("op131", true); F_unionHelper.write(_out, argin); F_unionHelper.write(_out, arginout.value); _in = _invoke(_out); F_union __result = F_unionHelper.read(_in); argout.value = F_unionHelper.read(_in); arginout.value = F_unionHelper.read(_in); return __result; } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { return op131(argin, argout, arginout); } finally { _releaseReply(_in); } } // op131 // pragma: exception=A_except1 public void excop1() throws A_except1 { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("excop1", true); _in = _invoke(_out); } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); if (_id.equals("IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/A_except1:1.0")) throw A_except1Helper.read(_in); else throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { excop1(); } finally { _releaseReply(_in); } } // excop1 // pragma: exception=A_except2 public void excop2() throws A_except2 { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("excop2", true); _in = _invoke(_out); } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); if (_id.equals("IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/A_except2:1.0")) throw A_except2Helper.read(_in); else throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { excop2(); } finally { _releaseReply(_in); } } // excop2 // pragma: exception=B_except public void excop3() throws B_except { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("excop3", true); _in = _invoke(_out); } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); if (_id.equals("IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/B_except:1.0")) throw B_exceptHelper.read(_in); else throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { excop3(); } finally { _releaseReply(_in); } } // excop3 // pragma: exception=C_except public void excop4() throws C_except { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("excop4", true); _in = _invoke(_out); } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); if (_id.equals("IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/C_except:1.0")) throw C_exceptHelper.read(_in); else throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { excop4(); } finally { _releaseReply(_in); } } // excop4 // pragma: exception=D_except public void excop5() throws D_except { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("excop5", true); _in = _invoke(_out); } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); if (_id.equals("IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/D_except:1.0")) throw D_exceptHelper.read(_in); else throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { excop5(); } finally { _releaseReply(_in); } } // excop5 // pragma: exception=E_except public void excop6() throws E_except { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("excop6", true); _in = _invoke(_out); } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); if (_id.equals("IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/E_except:1.0")) throw E_exceptHelper.read(_in); else throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { excop6(); } finally { _releaseReply(_in); } } // excop6 // pragma: exception=F_except1 public void excop7() throws F_except1 { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("excop7", true); _in = _invoke(_out); } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); if (_id.equals("IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/F_except1:1.0")) throw F_except1Helper.read(_in); else throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { excop7(); } finally { _releaseReply(_in); } } // excop7 // pragma: exception=F_except2 public void excop8() throws F_except2 { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("excop8", true); _in = _invoke(_out); } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); if (_id.equals("IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/F_except2:1.0")) throw F_except2Helper.read(_in); else throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { excop8(); } finally { _releaseReply(_in); } } // excop8 // pragma: exception=F_except3 public void excop9() throws F_except3 { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("excop9", true); _in = _invoke(_out); } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); if (_id.equals("IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/F_except3:1.0")) throw F_except3Helper.read(_in); else throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { excop9(); } finally { _releaseReply(_in); } } // excop9 // pragma: exception=G_except public void excop10() throws G_except { org.omg.CORBA.portable.InputStream _in = null; try { org.omg.CORBA.portable.OutputStream _out = _request("excop10", true); _in = _invoke(_out); } catch (org.omg.CORBA.portable.ApplicationException _ex) { _in = _ex.getInputStream(); String _id = _ex.getId(); if (_id.equals("IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/G_except:1.0")) throw G_exceptHelper.read(_in); else throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException _rm) { excop10(); } finally { _releaseReply(_in); } } // excop10 // Type-specific CORBA::Object operations private static String[] __ids = { "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/rf11:1.0" }; public String[] _ids() { return (String[]) __ids.clone(); } private void readObject(java.io.ObjectInputStream s) { try { String str = s.readUTF(); org.omg.CORBA.Object obj = org.omg.CORBA.ORB.init().string_to_object(str); org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl) obj)._get_delegate(); _set_delegate(delegate); } catch (java.io.IOException e) { } } private void writeObject(java.io.ObjectOutputStream s) { try { String str = org.omg.CORBA.ORB.init().object_to_string(this); s.writeUTF(str); } catch (java.io.IOException e) { } } } // class _rf11Stub mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/G_sequence_e_e_unionHolder.java0000644000175000001440000000377510250313742025624 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class G_sequence_e_e_unionHolder implements org.omg.CORBA.portable.Streamable { public E_union[] value = null; public G_sequence_e_e_unionHolder() { } public G_sequence_e_e_unionHolder(E_union[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = G_sequence_e_e_unionHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { G_sequence_e_e_unionHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return G_sequence_e_e_unionHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/rf11Helper.java0000644000175000001440000000576310451015575022306 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class rf11Helper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/rf11:1.0"; public static void insert(org.omg.CORBA.Any a, NEC_RF11 that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static NEC_RF11 extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = org.omg.CORBA.ORB.init().create_interface_tc(rf11Helper.id(), "rf11"); } return __typeCode; } public static String id() { return _id; } public static NEC_RF11 read(org.omg.CORBA.portable.InputStream istream) { return narrow(istream.read_Object(_rf11Stub.class)); } public static void write(org.omg.CORBA.portable.OutputStream ostream, NEC_RF11 value ) { ostream.write_Object((org.omg.CORBA.Object) value); } public static NEC_RF11 narrow(org.omg.CORBA.Object obj) { if (obj == null) return null; else if (obj instanceof NEC_RF11) return (NEC_RF11) obj; else if (!obj._is_a(id())) throw new org.omg.CORBA.BAD_PARAM(); else { org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl) obj)._get_delegate(); return new _rf11Stub(delegate); } } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_charHelper.java0000644000175000001440000001116410451015575023210 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class D_d_charHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_char:1.0"; public static void insert(org.omg.CORBA.Any a, D_d_char that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static D_d_char extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { org.omg.CORBA.TypeCode _disTypeCode0; _disTypeCode0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_char); org.omg.CORBA.UnionMember[] _members0 = new org.omg.CORBA.UnionMember[ 2 ]; org.omg.CORBA.TypeCode _tcOf_members0; org.omg.CORBA.Any _anyOf_members0; // Branch for l1 _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_char((char) 'a'); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); _members0 [ 0 ] = new org.omg.CORBA.UnionMember("l1", _anyOf_members0, _tcOf_members0, null ); // Branch for l2 _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_char((char) 'b'); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); _members0 [ 1 ] = new org.omg.CORBA.UnionMember("l2", _anyOf_members0, _tcOf_members0, null ); __typeCode = org.omg.CORBA.ORB.init().create_union_tc(D_d_charHelper.id(), "D_d_char", _disTypeCode0, _members0 ); } return __typeCode; } public static String id() { return _id; } public static D_d_char read(org.omg.CORBA.portable.InputStream istream) { D_d_char value = new D_d_char(); char _dis0 = (char) 0; _dis0 = istream.read_char(); switch (_dis0) { case 'a' : int _l1 = (int) 0; _l1 = istream.read_long(); value.l1(_l1); break; case 'b' : int _l2 = (int) 0; _l2 = istream.read_long(); value.l2(_l2); break; default : throw new org.omg.CORBA.BAD_OPERATION(); } return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, D_d_char value ) { ostream.write_char(value.discriminator()); switch (value.discriminator()) { case 'a' : ostream.write_long(value.l1()); break; case 'b' : ostream.write_long(value.l2()); break; default : throw new org.omg.CORBA.BAD_OPERATION(); } } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_shortHolder.java0000644000175000001440000000370010250313742023417 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // D package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class D_d_shortHolder implements org.omg.CORBA.portable.Streamable { public D_d_short value = null; public D_d_shortHolder() { } public D_d_shortHolder(D_d_short initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = D_d_shortHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { D_d_shortHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return D_d_shortHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_anyHolder.java0000644000175000001440000000377110250313742024747 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class C_sequence_e_anyHolder implements org.omg.CORBA.portable.Streamable { public org.omg.CORBA.Any[] value = null; public C_sequence_e_anyHolder() { } public C_sequence_e_anyHolder(org.omg.CORBA.Any[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = C_sequence_e_anyHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { C_sequence_e_anyHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return C_sequence_e_anyHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/G_array_e_e_structHolder.java0000644000175000001440000000376310250313742025323 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class G_array_e_e_structHolder implements org.omg.CORBA.portable.Streamable { public E_struct[] value = null; public G_array_e_e_structHolder() { } public G_array_e_e_structHolder(E_struct[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = G_array_e_e_structHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { G_array_e_e_structHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return G_array_e_e_structHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/F_except3Helper.java0000644000175000001440000001155010451015575023344 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class F_except3Helper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/F_except3:1.0"; public static void insert(org.omg.CORBA.Any a, F_except3 that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static F_except3 extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; private static boolean __active = false; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { synchronized (org.omg.CORBA.TypeCode.class) { if (__typeCode == null) { if (__active) { return org.omg.CORBA.ORB.init().create_recursive_tc(_id); } __active = true; org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember[ 2 ]; org.omg.CORBA.TypeCode _tcOf_members0 = null; _tcOf_members0 = C_structHelper.type(); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(F_array_e_c_structHelper.id(), "F_array_e_c_struct", _tcOf_members0 ); _members0 [ 0 ] = new org.omg.CORBA.StructMember("v62", _tcOf_members0, null); _tcOf_members0 = C_unionHelper.type(); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(F_array_e_c_unionHelper.id(), "F_array_e_c_union", _tcOf_members0 ); _members0 [ 1 ] = new org.omg.CORBA.StructMember("v63", _tcOf_members0, null); __typeCode = org.omg.CORBA.ORB.init().create_struct_tc(F_except3Helper.id(), "F_except3", _members0 ); __active = false; } } } return __typeCode; } public static String id() { return _id; } public static F_except3 read(org.omg.CORBA.portable.InputStream istream) { F_except3 value = new F_except3(); // read and discard the repository ID istream.read_string(); value.v62 = F_array_e_c_structHelper.read(istream); value.v63 = F_array_e_c_unionHelper.read(istream); return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, F_except3 value ) { // write the repository ID ostream.write_string(id()); F_array_e_c_structHelper.write(ostream, value.v62); F_array_e_c_unionHelper.write(ostream, value.v63); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/F_array_e_c_structHelper.java0000644000175000001440000000643110451015575025323 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class F_array_e_c_structHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/F_array_e_c_struct:1.0"; public static void insert(org.omg.CORBA.Any a, C_struct[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static C_struct[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = C_structHelper.type(); __typeCode = org.omg.CORBA.ORB.init().create_array_tc(2, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(F_array_e_c_structHelper.id(), "F_array_e_c_struct", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static C_struct[] read(org.omg.CORBA.portable.InputStream istream) { C_struct[] value = null; value = new C_struct[ 2 ]; for (int _o0 = 0; _o0 < (2); ++_o0) { value [ _o0 ] = C_structHelper.read(istream); } return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, C_struct[] value ) { if (value.length != (2)) throw new org.omg.CORBA.MARSHAL(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE ); for (int _i0 = 0; _i0 < (2); ++_i0) { C_structHelper.write(ostream, value [ _i0 ]); } } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_booleanHolder.java0000644000175000001440000000377510250313742025603 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class C_sequence_e_booleanHolder implements org.omg.CORBA.portable.Streamable { public boolean[] value = null; public C_sequence_e_booleanHolder() { } public C_sequence_e_booleanHolder(boolean[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = C_sequence_e_booleanHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { C_sequence_e_booleanHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return C_sequence_e_booleanHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_octetHelper.java0000644000175000001440000000612710451015575025304 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class C_sequence_e_octetHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_octet:1.0"; public static void insert(org.omg.CORBA.Any a, byte[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static byte[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_octet); __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_octetHelper.id(), "C_sequence_e_octet", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static byte[] read(org.omg.CORBA.portable.InputStream istream) { byte[] value = null; int _len0 = istream.read_long(); value = new byte[ _len0 ]; istream.read_octet_array(value, 0, _len0); return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, byte[] value ) { ostream.write_long(value.length); ostream.write_octet_array(value, 0, value.length); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/F_unionHolder.java0000644000175000001440000000365410250313742023117 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class F_unionHolder implements org.omg.CORBA.portable.Streamable { public F_union value = null; public F_unionHolder() { } public F_unionHolder(F_union initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = F_unionHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { F_unionHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return F_unionHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/A_except1Holder.java0000644000175000001440000000370210250313741023324 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class A_except1Holder implements org.omg.CORBA.portable.Streamable { public A_except1 value = null; public A_except1Holder () { } public A_except1Holder (A_except1 initialValue) { value = initialValue; } public void _read (org.omg.CORBA.portable.InputStream i) { value = A_except1Helper.read (i); } public void _write (org.omg.CORBA.portable.OutputStream o) { A_except1Helper.write (o, value); } public org.omg.CORBA.TypeCode _type () { return A_except1Helper.type (); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/E_except.java0000644000175000001440000000350210250313742022110 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class E_except extends org.omg.CORBA.UserException implements org.omg.CORBA.portable.IDLEntity { public E_struct v1 = null; public E_union v2 = null; public B[] v3 = null; public B[] v4 = null; public E_except() { } // ctor public E_except(E_struct _v1, E_union _v2, B[] _v3, B[] _v4) { v1 = _v1; v2 = _v2; v3 = _v3; v4 = _v4; } // ctor } // class E_except mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_except.java0000644000175000001440000001022510250313742022106 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class C_except extends org.omg.CORBA.UserException implements org.omg.CORBA.portable.IDLEntity { public C_struct v1 = null; public C_union v2 = null; // short public C_union v3 = null; // ushort public C_union v4 = null; // long public C_union v5 = null; // ulong public C_union v6 = null; // float public C_union v7 = null; // double public C_union v8 = null; // char public C_union v9 = null; // boolean public C_union v10 = null; // octet public C_union v11 = null; // any public C_union v12 = null; // string public C_union v13 = null; // Object public short[] v16 = null; public short[] v17 = null; public int[] v18 = null; public int[] v19 = null; public float[] v20 = null; public double[] v21 = null; public char[] v22 = null; public boolean[] v23 = null; public byte[] v24 = null; public org.omg.CORBA.Any[] v25 = null; public String[] v26 = null; public org.omg.CORBA.Object[] v27 = null; public short[] v30 = null; public short[] v31 = null; public int[] v32 = null; public int[] v33 = null; public float[] v34 = null; public double[] v35 = null; public char[] v36 = null; public boolean[] v37 = null; public byte[] v38 = null; public org.omg.CORBA.Any[] v39 = null; public String[] v40 = null; public org.omg.CORBA.Object[] v41 = null; public C_except() { } // ctor public C_except(C_struct _v1, C_union _v2, C_union _v3, C_union _v4, C_union _v5, C_union _v6, C_union _v7, C_union _v8, C_union _v9, C_union _v10, C_union _v11, C_union _v12, C_union _v13, short[] _v16, short[] _v17, int[] _v18, int[] _v19, float[] _v20, double[] _v21, char[] _v22, boolean[] _v23, byte[] _v24, org.omg.CORBA.Any[] _v25, String[] _v26, org.omg.CORBA.Object[] _v27, short[] _v30, short[] _v31, int[] _v32, int[] _v33, float[] _v34, double[] _v35, char[] _v36, boolean[] _v37, byte[] _v38, org.omg.CORBA.Any[] _v39, String[] _v40, org.omg.CORBA.Object[] _v41 ) { v1 = _v1; v2 = _v2; v3 = _v3; v4 = _v4; v5 = _v5; v6 = _v6; v7 = _v7; v8 = _v8; v9 = _v9; v10 = _v10; v11 = _v11; v12 = _v12; v13 = _v13; v16 = _v16; v17 = _v17; v18 = _v18; v19 = _v19; v20 = _v20; v21 = _v21; v22 = _v22; v23 = _v23; v24 = _v24; v25 = _v25; v26 = _v26; v27 = _v27; v30 = _v30; v31 = _v31; v32 = _v32; v33 = _v33; v34 = _v34; v35 = _v35; v36 = _v36; v37 = _v37; v38 = _v38; v39 = _v39; v40 = _v40; v41 = _v41; } // ctor } // class C_except mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_octetHolder.java0000644000175000001440000000373110250313742024600 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class C_array_e_octetHolder implements org.omg.CORBA.portable.Streamable { public byte[] value = null; public C_array_e_octetHolder() { } public C_array_e_octetHolder(byte[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = C_array_e_octetHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { C_array_e_octetHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return C_array_e_octetHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/A_except1Helper.java0000644000175000001440000001422710451015575023341 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class A_except1Helper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/A_except1:1.0"; public static void insert(org.omg.CORBA.Any a, A_except1 that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static A_except1 extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; private static boolean __active = false; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { synchronized (org.omg.CORBA.TypeCode.class) { if (__typeCode == null) { if (__active) { return org.omg.CORBA.ORB.init().create_recursive_tc(_id); } __active = true; org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember[ 9 ]; org.omg.CORBA.TypeCode _tcOf_members0 = null; _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_short); _members0 [ 0 ] = new org.omg.CORBA.StructMember("v1", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_ushort); _members0 [ 1 ] = new org.omg.CORBA.StructMember("v2", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); _members0 [ 2 ] = new org.omg.CORBA.StructMember("v3", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_ulong); _members0 [ 3 ] = new org.omg.CORBA.StructMember("v4", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_float); _members0 [ 4 ] = new org.omg.CORBA.StructMember("v5", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_double); _members0 [ 5 ] = new org.omg.CORBA.StructMember("v6", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_char); _members0 [ 6 ] = new org.omg.CORBA.StructMember("v7", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_boolean); _members0 [ 7 ] = new org.omg.CORBA.StructMember("v8", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_octet); _members0 [ 8 ] = new org.omg.CORBA.StructMember("v9", _tcOf_members0, null); __typeCode = org.omg.CORBA.ORB.init().create_struct_tc(A_except1Helper.id(), "A_except1", _members0 ); __active = false; } } } return __typeCode; } public static String id() { return _id; } public static A_except1 read(org.omg.CORBA.portable.InputStream istream) { A_except1 value = new A_except1(); // read and discard the repository ID istream.read_string(); value.v1 = istream.read_short(); value.v2 = istream.read_ushort(); value.v3 = istream.read_long(); value.v4 = istream.read_ulong(); value.v5 = istream.read_float(); value.v6 = istream.read_double(); value.v7 = istream.read_char(); value.v8 = istream.read_boolean(); value.v9 = istream.read_octet(); return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, A_except1 value ) { // write the repository ID ostream.write_string(id()); ostream.write_short(value.v1); ostream.write_ushort(value.v2); ostream.write_long(value.v3); ostream.write_ulong(value.v4); ostream.write_float(value.v5); ostream.write_double(value.v6); ostream.write_char(value.v7); ostream.write_boolean(value.v8); ostream.write_octet(value.v9); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_union.java0000644000175000001440000001625010250313742021752 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class C_union implements org.omg.CORBA.portable.IDLEntity { private short ___e_short; private short ___e_ushort; private int ___e_long; private int ___e_ulong; private float ___e_float; private double ___e_double; private char ___e_char; private boolean ___e_boolean; private byte ___e_octet; private org.omg.CORBA.Any ___e_any; private String ___e_string; private org.omg.CORBA.Object ___e_Object; private int __discriminator; private boolean __uninitialized = true; public C_union() { } public int discriminator() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); return __discriminator; } public short e_short() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_short(__discriminator); return ___e_short; } public void e_short(short value) { __discriminator = 1; ___e_short = value; __uninitialized = false; } private void verifye_short(int discriminator) { if (discriminator != 1) throw new org.omg.CORBA.BAD_OPERATION(); } public short e_ushort() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_ushort(__discriminator); return ___e_ushort; } public void e_ushort(short value) { __discriminator = 2; ___e_ushort = value; __uninitialized = false; } private void verifye_ushort(int discriminator) { if (discriminator != 2) throw new org.omg.CORBA.BAD_OPERATION(); } public int e_long() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_long(__discriminator); return ___e_long; } public void e_long(int value) { __discriminator = 3; ___e_long = value; __uninitialized = false; } private void verifye_long(int discriminator) { if (discriminator != 3) throw new org.omg.CORBA.BAD_OPERATION(); } public int e_ulong() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_ulong(__discriminator); return ___e_ulong; } public void e_ulong(int value) { __discriminator = 4; ___e_ulong = value; __uninitialized = false; } private void verifye_ulong(int discriminator) { if (discriminator != 4) throw new org.omg.CORBA.BAD_OPERATION(); } public float e_float() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_float(__discriminator); return ___e_float; } public void e_float(float value) { __discriminator = 5; ___e_float = value; __uninitialized = false; } private void verifye_float(int discriminator) { if (discriminator != 5) throw new org.omg.CORBA.BAD_OPERATION(); } public double e_double() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_double(__discriminator); return ___e_double; } public void e_double(double value) { __discriminator = 6; ___e_double = value; __uninitialized = false; } private void verifye_double(int discriminator) { if (discriminator != 6) throw new org.omg.CORBA.BAD_OPERATION(); } public char e_char() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_char(__discriminator); return ___e_char; } public void e_char(char value) { __discriminator = 7; ___e_char = value; __uninitialized = false; } private void verifye_char(int discriminator) { if (discriminator != 7) throw new org.omg.CORBA.BAD_OPERATION(); } public boolean e_boolean() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_boolean(__discriminator); return ___e_boolean; } public void e_boolean(boolean value) { __discriminator = 8; ___e_boolean = value; __uninitialized = false; } private void verifye_boolean(int discriminator) { if (discriminator != 8) throw new org.omg.CORBA.BAD_OPERATION(); } public byte e_octet() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_octet(__discriminator); return ___e_octet; } public void e_octet(byte value) { __discriminator = 9; ___e_octet = value; __uninitialized = false; } private void verifye_octet(int discriminator) { if (discriminator != 9) throw new org.omg.CORBA.BAD_OPERATION(); } public org.omg.CORBA.Any e_any() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_any(__discriminator); return ___e_any; } public void e_any(org.omg.CORBA.Any value) { __discriminator = 10; ___e_any = value; __uninitialized = false; } private void verifye_any(int discriminator) { if (discriminator != 10) throw new org.omg.CORBA.BAD_OPERATION(); } public String e_string() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_string(__discriminator); return ___e_string; } public void e_string(String value) { __discriminator = 11; ___e_string = value; __uninitialized = false; } private void verifye_string(int discriminator) { if (discriminator != 11) throw new org.omg.CORBA.BAD_OPERATION(); } public org.omg.CORBA.Object e_Object() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_Object(__discriminator); return ___e_Object; } public void e_Object(org.omg.CORBA.Object value) { __discriminator = 12; ___e_Object = value; __uninitialized = false; } private void verifye_Object(int discriminator) { if (discriminator != 12) throw new org.omg.CORBA.BAD_OPERATION(); } public void _default() { __discriminator = -2147483648; __uninitialized = false; } } // class C_union mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_ushortHelper.java0000644000175000001440000000614410451015575025511 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class C_sequence_e_ushortHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_ushort:1.0"; public static void insert(org.omg.CORBA.Any a, short[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static short[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_ushort); __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_ushortHelper.id(), "C_sequence_e_ushort", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static short[] read(org.omg.CORBA.portable.InputStream istream) { short[] value = null; int _len0 = istream.read_long(); value = new short[ _len0 ]; istream.read_ushort_array(value, 0, _len0); return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, short[] value ) { ostream.write_long(value.length); ostream.write_ushort_array(value, 0, value.length); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/F_structHelper.java0000644000175000001440000006366410451015575023332 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // F package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class F_structHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/F_struct:1.0"; public static void insert(org.omg.CORBA.Any a, F_struct that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static F_struct extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; private static boolean __active = false; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { synchronized (org.omg.CORBA.TypeCode.class) { if (__typeCode == null) { if (__active) { return org.omg.CORBA.ORB.init().create_recursive_tc(_id); } __active = true; org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember[ 26 ]; org.omg.CORBA.TypeCode _tcOf_members0 = null; _tcOf_members0 = C_structHelper.type(); _members0 [ 0 ] = new org.omg.CORBA.StructMember("e_c_struct", _tcOf_members0, null ); _tcOf_members0 = C_unionHelper.type(); _members0 [ 1 ] = new org.omg.CORBA.StructMember("e_c_union", _tcOf_members0, null ); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_short); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_shortHelper.id(), "C_sequence_e_short", _tcOf_members0 ); _members0 [ 2 ] = new org.omg.CORBA.StructMember("e_c_sequence_e_short", _tcOf_members0, null ); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_ushort); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_ushortHelper.id(), "C_sequence_e_ushort", _tcOf_members0 ); _members0 [ 3 ] = new org.omg.CORBA.StructMember("e_c_sequence_e_ushort", _tcOf_members0, null ); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_longHelper.id(), "C_sequence_e_long", _tcOf_members0 ); _members0 [ 4 ] = new org.omg.CORBA.StructMember("e_c_sequence_e_long", _tcOf_members0, null ); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_ulong); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_ulongHelper.id(), "C_sequence_e_ulong", _tcOf_members0 ); _members0 [ 5 ] = new org.omg.CORBA.StructMember("e_c_sequence_e_ulong", _tcOf_members0, null ); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_float); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_floatHelper.id(), "C_sequence_e_float", _tcOf_members0 ); _members0 [ 6 ] = new org.omg.CORBA.StructMember("e_c_sequence_e_float", _tcOf_members0, null ); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_double); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_doubleHelper.id(), "C_sequence_e_double", _tcOf_members0 ); _members0 [ 7 ] = new org.omg.CORBA.StructMember("e_c_sequence_e_double", _tcOf_members0, null ); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_char); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_charHelper.id(), "C_sequence_e_char", _tcOf_members0 ); _members0 [ 8 ] = new org.omg.CORBA.StructMember("e_c_sequence_e_char", _tcOf_members0, null ); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_boolean); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_booleanHelper.id(), "C_sequence_e_boolean", _tcOf_members0 ); _members0 [ 9 ] = new org.omg.CORBA.StructMember("e_c_sequence_e_boolean", _tcOf_members0, null ); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_octet); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_octetHelper.id(), "C_sequence_e_octet", _tcOf_members0 ); _members0 [ 10 ] = new org.omg.CORBA.StructMember("e_c_sequence_e_octet", _tcOf_members0, null ); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_any); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_anyHelper.id(), "C_sequence_e_any", _tcOf_members0 ); _members0 [ 11 ] = new org.omg.CORBA.StructMember("e_c_sequence_e_any", _tcOf_members0, null ); _tcOf_members0 = org.omg.CORBA.ORB.init().create_string_tc(0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_stringHelper.id(), "C_sequence_e_string", _tcOf_members0 ); _members0 [ 12 ] = new org.omg.CORBA.StructMember("e_c_sequence_e_string", _tcOf_members0, null ); _tcOf_members0 = org.omg.CORBA.ObjectHelper.type(); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_ObjectHelper.id(), "C_sequence_e_Object", _tcOf_members0 ); _members0 [ 13 ] = new org.omg.CORBA.StructMember("e_c_sequence_e_Object", _tcOf_members0, null ); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_short); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_shortHelper.id(), "C_array_e_short", _tcOf_members0 ); _members0 [ 14 ] = new org.omg.CORBA.StructMember("e_c_array_e_short", _tcOf_members0, null ); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_ushort); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_ushortHelper.id(), "C_array_e_ushort", _tcOf_members0 ); _members0 [ 15 ] = new org.omg.CORBA.StructMember("e_c_array_e_ushort", _tcOf_members0, null ); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_longHelper.id(), "C_array_e_long", _tcOf_members0 ); _members0 [ 16 ] = new org.omg.CORBA.StructMember("e_c_array_e_long", _tcOf_members0, null ); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_ulong); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_ulongHelper.id(), "C_array_e_ulong", _tcOf_members0 ); _members0 [ 17 ] = new org.omg.CORBA.StructMember("e_c_array_e_ulong", _tcOf_members0, null ); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_float); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_floatHelper.id(), "C_array_e_float", _tcOf_members0 ); _members0 [ 18 ] = new org.omg.CORBA.StructMember("e_c_array_e_float", _tcOf_members0, null ); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_double); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_doubleHelper.id(), "C_array_e_double", _tcOf_members0 ); _members0 [ 19 ] = new org.omg.CORBA.StructMember("e_c_array_e_double", _tcOf_members0, null ); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_char); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_charHelper.id(), "C_array_e_char", _tcOf_members0 ); _members0 [ 20 ] = new org.omg.CORBA.StructMember("e_c_array_e_char", _tcOf_members0, null ); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_boolean); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_booleanHelper.id(), "C_array_e_boolean", _tcOf_members0 ); _members0 [ 21 ] = new org.omg.CORBA.StructMember("e_c_array_e_boolean", _tcOf_members0, null ); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_octet); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_octetHelper.id(), "C_array_e_octet", _tcOf_members0 ); _members0 [ 22 ] = new org.omg.CORBA.StructMember("e_c_array_e_octet", _tcOf_members0, null ); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_any); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_anyHelper.id(), "C_array_e_any", _tcOf_members0 ); _members0 [ 23 ] = new org.omg.CORBA.StructMember("e_c_array_e_any", _tcOf_members0, null ); _tcOf_members0 = org.omg.CORBA.ORB.init().create_string_tc(0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_stringHelper.id(), "C_array_e_string", _tcOf_members0 ); _members0 [ 24 ] = new org.omg.CORBA.StructMember("e_c_array_e_string", _tcOf_members0, null ); _tcOf_members0 = org.omg.CORBA.ObjectHelper.type(); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_ObjectHelper.id(), "C_array_e_Object", _tcOf_members0 ); _members0 [ 25 ] = new org.omg.CORBA.StructMember("e_c_array_e_Object", _tcOf_members0, null ); __typeCode = org.omg.CORBA.ORB.init().create_struct_tc(F_structHelper.id(), "F_struct", _members0 ); __active = false; } } } return __typeCode; } public static String id() { return _id; } public static F_struct read(org.omg.CORBA.portable.InputStream istream) { F_struct value = new F_struct(); value.e_c_struct = C_structHelper.read(istream); value.e_c_union = C_unionHelper.read(istream); value.e_c_sequence_e_short = C_sequence_e_shortHelper.read(istream); value.e_c_sequence_e_ushort = C_sequence_e_ushortHelper.read(istream); value.e_c_sequence_e_long = C_sequence_e_longHelper.read(istream); value.e_c_sequence_e_ulong = C_sequence_e_ulongHelper.read(istream); value.e_c_sequence_e_float = C_sequence_e_floatHelper.read(istream); value.e_c_sequence_e_double = C_sequence_e_doubleHelper.read(istream); value.e_c_sequence_e_char = C_sequence_e_charHelper.read(istream); value.e_c_sequence_e_boolean = C_sequence_e_booleanHelper.read(istream); value.e_c_sequence_e_octet = C_sequence_e_octetHelper.read(istream); value.e_c_sequence_e_any = C_sequence_e_anyHelper.read(istream); value.e_c_sequence_e_string = C_sequence_e_stringHelper.read(istream); value.e_c_sequence_e_Object = C_sequence_e_ObjectHelper.read(istream); value.e_c_array_e_short = C_array_e_shortHelper.read(istream); value.e_c_array_e_ushort = C_array_e_ushortHelper.read(istream); value.e_c_array_e_long = C_array_e_longHelper.read(istream); value.e_c_array_e_ulong = C_array_e_ulongHelper.read(istream); value.e_c_array_e_float = C_array_e_floatHelper.read(istream); value.e_c_array_e_double = C_array_e_doubleHelper.read(istream); value.e_c_array_e_char = C_array_e_charHelper.read(istream); value.e_c_array_e_boolean = C_array_e_booleanHelper.read(istream); value.e_c_array_e_octet = C_array_e_octetHelper.read(istream); value.e_c_array_e_any = C_array_e_anyHelper.read(istream); value.e_c_array_e_string = C_array_e_stringHelper.read(istream); value.e_c_array_e_Object = C_array_e_ObjectHelper.read(istream); return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, F_struct value ) { C_structHelper.write(ostream, value.e_c_struct); C_unionHelper.write(ostream, value.e_c_union); C_sequence_e_shortHelper.write(ostream, value.e_c_sequence_e_short); C_sequence_e_ushortHelper.write(ostream, value.e_c_sequence_e_ushort); C_sequence_e_longHelper.write(ostream, value.e_c_sequence_e_long); C_sequence_e_ulongHelper.write(ostream, value.e_c_sequence_e_ulong); C_sequence_e_floatHelper.write(ostream, value.e_c_sequence_e_float); C_sequence_e_doubleHelper.write(ostream, value.e_c_sequence_e_double); C_sequence_e_charHelper.write(ostream, value.e_c_sequence_e_char); C_sequence_e_booleanHelper.write(ostream, value.e_c_sequence_e_boolean); C_sequence_e_octetHelper.write(ostream, value.e_c_sequence_e_octet); C_sequence_e_anyHelper.write(ostream, value.e_c_sequence_e_any); C_sequence_e_stringHelper.write(ostream, value.e_c_sequence_e_string); C_sequence_e_ObjectHelper.write(ostream, value.e_c_sequence_e_Object); C_array_e_shortHelper.write(ostream, value.e_c_array_e_short); C_array_e_ushortHelper.write(ostream, value.e_c_array_e_ushort); C_array_e_longHelper.write(ostream, value.e_c_array_e_long); C_array_e_ulongHelper.write(ostream, value.e_c_array_e_ulong); C_array_e_floatHelper.write(ostream, value.e_c_array_e_float); C_array_e_doubleHelper.write(ostream, value.e_c_array_e_double); C_array_e_charHelper.write(ostream, value.e_c_array_e_char); C_array_e_booleanHelper.write(ostream, value.e_c_array_e_boolean); C_array_e_octetHelper.write(ostream, value.e_c_array_e_octet); C_array_e_anyHelper.write(ostream, value.e_c_array_e_any); C_array_e_stringHelper.write(ostream, value.e_c_array_e_string); C_array_e_ObjectHelper.write(ostream, value.e_c_array_e_Object); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_doubleHelper.java0000644000175000001440000000615210451015575025436 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class C_sequence_e_doubleHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_double:1.0"; public static void insert(org.omg.CORBA.Any a, double[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static double[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_double); __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_doubleHelper.id(), "C_sequence_e_double", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static double[] read(org.omg.CORBA.portable.InputStream istream) { double[] value = null; int _len0 = istream.read_long(); value = new double[ _len0 ]; istream.read_double_array(value, 0, _len0); return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, double[] value ) { ostream.write_long(value.length); ostream.write_double_array(value, 0, value.length); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_shortHelper.java0000644000175000001440000000613510451015575025324 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class C_sequence_e_shortHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_short:1.0"; public static void insert(org.omg.CORBA.Any a, short[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static short[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_short); __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_shortHelper.id(), "C_sequence_e_short", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static short[] read(org.omg.CORBA.portable.InputStream istream) { short[] value = null; int _len0 = istream.read_long(); value = new short[ _len0 ]; istream.read_short_array(value, 0, _len0); return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, short[] value ) { ostream.write_long(value.length); ostream.write_short_array(value, 0, value.length); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_octetHolder.java0000644000175000001440000000375310250313742025276 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class C_sequence_e_octetHolder implements org.omg.CORBA.portable.Streamable { public byte[] value = null; public C_sequence_e_octetHolder() { } public C_sequence_e_octetHolder(byte[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = C_sequence_e_octetHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { C_sequence_e_octetHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return C_sequence_e_octetHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/G_unionHelper.java0000644000175000001440000001502710451015575023125 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class G_unionHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/G_union:1.0"; public static void insert(org.omg.CORBA.Any a, G_union that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static G_union extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { org.omg.CORBA.TypeCode _disTypeCode0; _disTypeCode0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); org.omg.CORBA.UnionMember[] _members0 = new org.omg.CORBA.UnionMember[ 4 ]; org.omg.CORBA.TypeCode _tcOf_members0; org.omg.CORBA.Any _anyOf_members0; // Branch for e_e_struct _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 1); _tcOf_members0 = E_structHelper.type(); _members0 [ 0 ] = new org.omg.CORBA.UnionMember("e_e_struct", _anyOf_members0, _tcOf_members0, null ); // Branch for e_e_union _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 2); _tcOf_members0 = E_unionHelper.type(); _members0 [ 1 ] = new org.omg.CORBA.UnionMember("e_e_union", _anyOf_members0, _tcOf_members0, null ); // Branch for e_e_sequence _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 3); _tcOf_members0 = BHelper.type(); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(E_sequenceHelper.id(), "E_sequence", _tcOf_members0 ); _members0 [ 2 ] = new org.omg.CORBA.UnionMember("e_e_sequence", _anyOf_members0, _tcOf_members0, null ); // Branch for e_e_array _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 4); _tcOf_members0 = BHelper.type(); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(E_arrayHelper.id(), "E_array", _tcOf_members0 ); _members0 [ 3 ] = new org.omg.CORBA.UnionMember("e_e_array", _anyOf_members0, _tcOf_members0, null ); __typeCode = org.omg.CORBA.ORB.init().create_union_tc(G_unionHelper.id(), "G_union", _disTypeCode0, _members0 ); } return __typeCode; } public static String id() { return _id; } public static G_union read(org.omg.CORBA.portable.InputStream istream) { G_union value = new G_union(); int _dis0 = (int) 0; _dis0 = istream.read_long(); switch (_dis0) { case 1 : E_struct _e_e_struct = null; _e_e_struct = E_structHelper.read(istream); value.e_e_struct(_e_e_struct); break; case 2 : E_union _e_e_union = null; _e_e_union = E_unionHelper.read(istream); value.e_e_union(_e_e_union); break; case 3 : B[] _e_e_sequence = null; _e_e_sequence = E_sequenceHelper.read(istream); value.e_e_sequence(_e_e_sequence); break; case 4 : B[] _e_e_array = null; _e_e_array = E_arrayHelper.read(istream); value.e_e_array(_e_e_array); break; default : throw new org.omg.CORBA.BAD_OPERATION(); } return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, G_union value ) { ostream.write_long(value.discriminator()); switch (value.discriminator()) { case 1 : E_structHelper.write(ostream, value.e_e_struct()); break; case 2 : E_unionHelper.write(ostream, value.e_e_union()); break; case 3 : E_sequenceHelper.write(ostream, value.e_e_sequence()); break; case 4 : E_arrayHelper.write(ostream, value.e_e_array()); break; default : throw new org.omg.CORBA.BAD_OPERATION(); } } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_structHelper.java0000644000175000001440000001521410451015575023313 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // C package gnu.testlet.org.omg.CORBA.ORB.RF11; abstract public class C_structHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/C_struct:1.0"; public static void insert (org.omg.CORBA.Any a, C_struct that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream (); a.type (type ()); write (out, that); a.read_value (out.create_input_stream (), type ()); } public static C_struct extract (org.omg.CORBA.Any a) { return read (a.create_input_stream ()); } private static org.omg.CORBA.TypeCode __typeCode = null; private static boolean __active = false; synchronized public static org.omg.CORBA.TypeCode type () { if (__typeCode == null) { synchronized (org.omg.CORBA.TypeCode.class) { if (__typeCode == null) { if (__active) { return org.omg.CORBA.ORB.init().create_recursive_tc ( _id ); } __active = true; org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember [12]; org.omg.CORBA.TypeCode _tcOf_members0 = null; _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_short); _members0[0] = new org.omg.CORBA.StructMember ( "e_short", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_ushort); _members0[1] = new org.omg.CORBA.StructMember ( "e_ushort", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_long); _members0[2] = new org.omg.CORBA.StructMember ( "e_long", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_ulong); _members0[3] = new org.omg.CORBA.StructMember ( "e_ulong", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_float); _members0[4] = new org.omg.CORBA.StructMember ( "e_float", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_double); _members0[5] = new org.omg.CORBA.StructMember ( "e_double", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_char); _members0[6] = new org.omg.CORBA.StructMember ( "e_char", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_boolean); _members0[7] = new org.omg.CORBA.StructMember ( "e_boolean", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_octet); _members0[8] = new org.omg.CORBA.StructMember ( "e_octet", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_any); _members0[9] = new org.omg.CORBA.StructMember ( "e_any", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ORB.init ().create_string_tc (0); _members0[10] = new org.omg.CORBA.StructMember ( "e_string", _tcOf_members0, null); _tcOf_members0 = org.omg.CORBA.ObjectHelper.type (); _members0[11] = new org.omg.CORBA.StructMember ( "e_Object", _tcOf_members0, null); __typeCode = org.omg.CORBA.ORB.init ().create_struct_tc (C_structHelper.id (), "C_struct", _members0); __active = false; } } } return __typeCode; } public static String id () { return _id; } public static C_struct read (org.omg.CORBA.portable.InputStream istream) { C_struct value = new C_struct (); value.e_short = istream.read_short (); value.e_ushort = istream.read_ushort (); value.e_long = istream.read_long (); value.e_ulong = istream.read_ulong (); value.e_float = istream.read_float (); value.e_double = istream.read_double (); value.e_char = istream.read_char (); value.e_boolean = istream.read_boolean (); value.e_octet = istream.read_octet (); value.e_any = istream.read_any (); value.e_string = istream.read_string (); value.e_Object = org.omg.CORBA.ObjectHelper.read (istream); return value; } public static void write (org.omg.CORBA.portable.OutputStream ostream, C_struct value) { ostream.write_short (value.e_short); ostream.write_ushort (value.e_ushort); ostream.write_long (value.e_long); ostream.write_ulong (value.e_ulong); ostream.write_float (value.e_float); ostream.write_double (value.e_double); ostream.write_char (value.e_char); ostream.write_boolean (value.e_boolean); ostream.write_octet (value.e_octet); ostream.write_any (value.e_any); ostream.write_string (value.e_string); org.omg.CORBA.ObjectHelper.write (ostream, value.e_Object); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_octetHelper.java0000644000175000001440000000635510451015575024615 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class C_array_e_octetHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_octet:1.0"; public static void insert(org.omg.CORBA.Any a, byte[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static byte[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_octet); __typeCode = org.omg.CORBA.ORB.init().create_array_tc(2, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_octetHelper.id(), "C_array_e_octet", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static byte[] read(org.omg.CORBA.portable.InputStream istream) { byte[] value = null; value = new byte[ 2 ]; for (int _o0 = 0; _o0 < (2); ++_o0) { value [ _o0 ] = istream.read_octet(); } return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, byte[] value ) { if (value.length != (2)) throw new org.omg.CORBA.MARSHAL(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE ); for (int _i0 = 0; _i0 < (2); ++_i0) { ostream.write_octet(value [ _i0 ]); } } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_ulong.java0000644000175000001440000000517510250313742022256 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class D_d_ulong implements org.omg.CORBA.portable.IDLEntity { private int ___l1; private int ___l2; private int __discriminator; private boolean __uninitialized = true; public D_d_ulong() { } public int discriminator() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); return __discriminator; } public int l1() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifyl1(__discriminator); return ___l1; } public void l1(int value) { __discriminator = 1; ___l1 = value; __uninitialized = false; } private void verifyl1(int discriminator) { if (discriminator != 1) throw new org.omg.CORBA.BAD_OPERATION(); } public int l2() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifyl2(__discriminator); return ___l2; } public void l2(int value) { __discriminator = 2; ___l2 = value; __uninitialized = false; } private void verifyl2(int discriminator) { if (discriminator != 2) throw new org.omg.CORBA.BAD_OPERATION(); } public void _default() { __discriminator = 0; __uninitialized = false; } } // class D_d_ulong mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_ulongHelper.java0000644000175000001440000000634710451015575024624 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class C_array_e_ulongHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_ulong:1.0"; public static void insert(org.omg.CORBA.Any a, int[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static int[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_ulong); __typeCode = org.omg.CORBA.ORB.init().create_array_tc(2, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_ulongHelper.id(), "C_array_e_ulong", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static int[] read(org.omg.CORBA.portable.InputStream istream) { int[] value = null; value = new int[ 2 ]; for (int _o0 = 0; _o0 < (2); ++_o0) { value [ _o0 ] = istream.read_ulong(); } return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, int[] value ) { if (value.length != (2)) throw new org.omg.CORBA.MARSHAL(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE ); for (int _i0 = 0; _i0 < (2); ++_i0) { ostream.write_ulong(value [ _i0 ]); } } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/F_except1Holder.java0000644000175000001440000000367310250313742023341 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class F_except1Holder implements org.omg.CORBA.portable.Streamable { public F_except1 value = null; public F_except1Holder() { } public F_except1Holder(F_except1 initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = F_except1Helper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { F_except1Helper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return F_except1Helper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/E_struct.java0000644000175000001440000000327110250313742022147 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // E package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class E_struct implements org.omg.CORBA.portable.IDLEntity { public B e_b1 = null; public B e_b2 = null; public E_struct() { } // ctor public E_struct(B _e_b1, B _e_b2) { e_b1 = _e_b1; e_b2 = _e_b2; } // ctor } // class E_struct mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_charHelper.java0000644000175000001440000000612010451015575025074 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class C_sequence_e_charHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_char:1.0"; public static void insert(org.omg.CORBA.Any a, char[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static char[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_char); __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_charHelper.id(), "C_sequence_e_char", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static char[] read(org.omg.CORBA.portable.InputStream istream) { char[] value = null; int _len0 = istream.read_long(); value = new char[ _len0 ]; istream.read_char_array(value, 0, _len0); return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, char[] value ) { ostream.write_long(value.length); ostream.write_char_array(value, 0, value.length); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/F_struct.java0000644000175000001440000001202010250313742022140 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // F package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class F_struct implements org.omg.CORBA.portable.IDLEntity { public C_struct e_c_struct = null; public C_union e_c_union = null; public short[] e_c_sequence_e_short = null; public short[] e_c_sequence_e_ushort = null; public int[] e_c_sequence_e_long = null; public int[] e_c_sequence_e_ulong = null; public float[] e_c_sequence_e_float = null; public double[] e_c_sequence_e_double = null; public char[] e_c_sequence_e_char = null; public boolean[] e_c_sequence_e_boolean = null; public byte[] e_c_sequence_e_octet = null; public org.omg.CORBA.Any[] e_c_sequence_e_any = null; public String[] e_c_sequence_e_string = null; public org.omg.CORBA.Object[] e_c_sequence_e_Object = null; public short[] e_c_array_e_short = null; public short[] e_c_array_e_ushort = null; public int[] e_c_array_e_long = null; public int[] e_c_array_e_ulong = null; public float[] e_c_array_e_float = null; public double[] e_c_array_e_double = null; public char[] e_c_array_e_char = null; public boolean[] e_c_array_e_boolean = null; public byte[] e_c_array_e_octet = null; public org.omg.CORBA.Any[] e_c_array_e_any = null; public String[] e_c_array_e_string = null; public org.omg.CORBA.Object[] e_c_array_e_Object = null; public F_struct() { } // ctor public F_struct(C_struct _e_c_struct, C_union _e_c_union, short[] _e_c_sequence_e_short, short[] _e_c_sequence_e_ushort, int[] _e_c_sequence_e_long, int[] _e_c_sequence_e_ulong, float[] _e_c_sequence_e_float, double[] _e_c_sequence_e_double, char[] _e_c_sequence_e_char, boolean[] _e_c_sequence_e_boolean, byte[] _e_c_sequence_e_octet, org.omg.CORBA.Any[] _e_c_sequence_e_any, String[] _e_c_sequence_e_string, org.omg.CORBA.Object[] _e_c_sequence_e_Object, short[] _e_c_array_e_short, short[] _e_c_array_e_ushort, int[] _e_c_array_e_long, int[] _e_c_array_e_ulong, float[] _e_c_array_e_float, double[] _e_c_array_e_double, char[] _e_c_array_e_char, boolean[] _e_c_array_e_boolean, byte[] _e_c_array_e_octet, org.omg.CORBA.Any[] _e_c_array_e_any, String[] _e_c_array_e_string, org.omg.CORBA.Object[] _e_c_array_e_Object ) { e_c_struct = _e_c_struct; e_c_union = _e_c_union; e_c_sequence_e_short = _e_c_sequence_e_short; e_c_sequence_e_ushort = _e_c_sequence_e_ushort; e_c_sequence_e_long = _e_c_sequence_e_long; e_c_sequence_e_ulong = _e_c_sequence_e_ulong; e_c_sequence_e_float = _e_c_sequence_e_float; e_c_sequence_e_double = _e_c_sequence_e_double; e_c_sequence_e_char = _e_c_sequence_e_char; e_c_sequence_e_boolean = _e_c_sequence_e_boolean; e_c_sequence_e_octet = _e_c_sequence_e_octet; e_c_sequence_e_any = _e_c_sequence_e_any; e_c_sequence_e_string = _e_c_sequence_e_string; e_c_sequence_e_Object = _e_c_sequence_e_Object; e_c_array_e_short = _e_c_array_e_short; e_c_array_e_ushort = _e_c_array_e_ushort; e_c_array_e_long = _e_c_array_e_long; e_c_array_e_ulong = _e_c_array_e_ulong; e_c_array_e_float = _e_c_array_e_float; e_c_array_e_double = _e_c_array_e_double; e_c_array_e_char = _e_c_array_e_char; e_c_array_e_boolean = _e_c_array_e_boolean; e_c_array_e_octet = _e_c_array_e_octet; e_c_array_e_any = _e_c_array_e_any; e_c_array_e_string = _e_c_array_e_string; e_c_array_e_Object = _e_c_array_e_Object; } // ctor } // class F_struct mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_ObjectHolder.java0000644000175000001440000000402110250313742025353 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class C_sequence_e_ObjectHolder implements org.omg.CORBA.portable.Streamable { public org.omg.CORBA.Object[] value = null; public C_sequence_e_ObjectHolder() { } public C_sequence_e_ObjectHolder(org.omg.CORBA.Object[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = C_sequence_e_ObjectHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { C_sequence_e_ObjectHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return C_sequence_e_ObjectHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/rf11Servant.java0000644000175000001440000024340210250313742022475 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // 1. The functionality to test the interoperability specified by the // Object Management Group's CORBA/IIOP specification version two (or // later versions) must be preserved. // // 2. Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer as the // first lines of this file unmodified. // // 3. Redistributions in binary form must reproduce the above copyright // notice, this list of conditions and the following disclaimer in the // documentation and/or other materials provided with the // distribution. // // THIS SOFTWARE IS PROVIDED BY NEC CORPORATION ``AS IS'' AND ANY EXPRESS // OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE // DISCLAIMED. IN NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE // GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER // IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF // ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // CVS // $Id: rf11Servant.java,v 1.1 2005/06/04 12:00:34 audriusa Exp $ // // common headers // **************************** /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; import org.omg.CORBA.ORB; import org.omg.CORBA.TCKind; import java.util.ArrayList; public class rf11Servant extends _rf11ImplBase { /** * The server side error messages are logged into this array. * If both client and server runs in the same virtual machine, * this static field can be later accessed for checking for the * possible server side errors. */ public static ArrayList error_messages = new ArrayList(); ORB orb; rf11Servant targetobj; NEC_RF11 target; public void fail(String why) { error_messages.add(why); } //runtime routines boolean comp_0080(org.omg.CORBA.Any _v1) { String _v2; _v2 = _v1.extract_string(); return (_v2.equals("abc")); } boolean comp_0082(org.omg.CORBA.Any _v1) { String _v2; _v2 = _v1.extract_string(); return (_v2.equals("abc")); } boolean comp_0081(C_struct _v1) { return (true && (_v1.e_short == -100) && (_v1.e_ushort == 100) && (_v1.e_long == -100000) && (_v1.e_ulong == 100000) && (_v1.e_float == 0.123f) && (_v1.e_double == 0.12e3) && (_v1.e_char == 'a') && (_v1.e_boolean == false) && (_v1.e_octet == 10) && comp_0082(_v1.e_any) && (_v1.e_string.equals("abc")) && (_v1.e_Object._is_equivalent(target))); } C_struct cons_0035() { C_struct _v1; _v1 = new C_struct(); _v1.e_short = -200; _v1.e_ushort = 200; _v1.e_long = -200000; _v1.e_ulong = 200000; _v1.e_float = 1.234f; _v1.e_double = 1.23e4; _v1.e_char = 'b'; _v1.e_boolean = true; _v1.e_octet = 20; _v1.e_any = orb.create_any(); _v1.e_any.insert_long(-200000); _v1.e_string = "def"; _v1.e_Object = target; return (_v1); } boolean comp_0083(C_union _v1) { if (_v1.discriminator() != 1) return false; return (_v1.e_short() == -100); } C_union cons_0036() { C_union _v1; _v1 = new C_union(); short _v2; _v2 = 200; _v1.e_ushort(_v2); return (_v1); } boolean comp_0084(org.omg.CORBA.Any _v1) { String _v2; _v2 = _v1.extract_string(); return (_v2.equals("abc")); } boolean comp_0085(org.omg.CORBA.Any _v1) { String _v2; _v2 = _v1.extract_string(); return (_v2.equals("abc")); } boolean comp_0086(D_d_short _v1) { if (_v1.discriminator() != 1) return false; return (_v1.l1() == -100000); } D_d_short cons_0037() { D_d_short _v1; _v1 = new D_d_short(); int _v2; _v2 = -200000; _v1.l2(_v2); return (_v1); } boolean comp_0087(D_d_ushort _v1) { if (_v1.discriminator() != 1) return false; return (_v1.l1() == -100000); } D_d_ushort cons_0038() { D_d_ushort _v1; _v1 = new D_d_ushort(); int _v2; _v2 = -200000; _v1.l2(_v2); return (_v1); } boolean comp_0088(D_d_long _v1) { if (_v1.discriminator() != 1) return false; return (_v1.l1() == -100000); } D_d_long cons_0039() { D_d_long _v1; _v1 = new D_d_long(); int _v2; _v2 = -200000; _v1.l2(_v2); return (_v1); } boolean comp_0089(D_d_ulong _v1) { if (_v1.discriminator() != 1) return false; return (_v1.l1() == -100000); } D_d_ulong cons_0040() { D_d_ulong _v1; _v1 = new D_d_ulong(); int _v2; _v2 = -200000; _v1.l2(_v2); return (_v1); } boolean comp_0090(D_d_char _v1) { if (_v1.discriminator() != 'a') return false; return (_v1.l1() == -100000); } D_d_char cons_0041() { D_d_char _v1; _v1 = new D_d_char(); int _v2; _v2 = -200000; _v1.l2(_v2); return (_v1); } boolean comp_0091(D_d_boolean _v1) { if (_v1.discriminator() != false) return false; return (_v1.l2() == -100000); } D_d_boolean cons_0042() { D_d_boolean _v1; _v1 = new D_d_boolean(); int _v2; _v2 = -200000; _v1.l1(_v2); return (_v1); } boolean comp_0092(D_d_B _v1) { if (_v1.discriminator() != B.b1) return false; return (_v1.l1() == -100000); } D_d_B cons_0043() { D_d_B _v1; _v1 = new D_d_B(); int _v2; _v2 = -200000; _v1.l2(_v2); return (_v1); } boolean comp_0093(E_struct _v1) { return (true && (_v1.e_b1 == B.b1) && (_v1.e_b2 == B.b1)); } E_struct cons_0044() { E_struct _v1; _v1 = new E_struct(); _v1.e_b1 = B.b2; _v1.e_b2 = B.b2; return (_v1); } boolean comp_0094(E_union _v1) { if (_v1.discriminator() != 1) return false; return (_v1.e_b1() == B.b1); } E_union cons_0045() { E_union _v1; _v1 = new E_union(); B _v2; _v2 = B.b2; _v1.e_b2(_v2); return (_v1); } boolean comp_0097(org.omg.CORBA.Any _v1) { String _v2; _v2 = _v1.extract_string(); return (_v2.equals("abc")); } boolean comp_0096(C_struct _v1) { return (true && (_v1.e_short == -100) && (_v1.e_ushort == 100) && (_v1.e_long == -100000) && (_v1.e_ulong == 100000) && (_v1.e_float == 0.123f) && (_v1.e_double == 0.12e3) && (_v1.e_char == 'a') && (_v1.e_boolean == false) && (_v1.e_octet == 10) && comp_0097(_v1.e_any) && (_v1.e_string.equals("abc")) && (_v1.e_Object._is_equivalent(target))); } boolean comp_0098(C_union _v1) { if (_v1.discriminator() != 1) return false; return (_v1.e_short() == -100); } boolean comp_0095(F_struct _v1) { return (true && comp_0096(_v1.e_c_struct) && comp_0098(_v1.e_c_union) && ( true && (_v1.e_c_sequence_e_short [ 0 ] == -100) && (_v1.e_c_sequence_e_short [ 1 ] == -100) ) && ( true && (_v1.e_c_sequence_e_ushort [ 0 ] == 100) && (_v1.e_c_sequence_e_ushort [ 1 ] == 100) ) && ( true && (_v1.e_c_sequence_e_long [ 0 ] == -100000) && (_v1.e_c_sequence_e_long [ 1 ] == -100000) ) && ( true && (_v1.e_c_sequence_e_ulong [ 0 ] == 100000) && (_v1.e_c_sequence_e_ulong [ 1 ] == 100000) ) && ( true && (_v1.e_c_sequence_e_float [ 0 ] == 0.123f) && (_v1.e_c_sequence_e_float [ 1 ] == 0.123f) ) && ( true && (_v1.e_c_sequence_e_double [ 0 ] == 0.12e3) && (_v1.e_c_sequence_e_double [ 1 ] == 0.12e3) ) && ( true && (_v1.e_c_sequence_e_char [ 0 ] == 'a') && (_v1.e_c_sequence_e_char [ 1 ] == 'a') ) && ( true && (_v1.e_c_sequence_e_boolean [ 0 ] == false) && (_v1.e_c_sequence_e_boolean [ 1 ] == false) ) && ( true && (_v1.e_c_sequence_e_octet [ 0 ] == 10) && (_v1.e_c_sequence_e_octet [ 1 ] == 10) ) && ( true && comp_0097(_v1.e_c_sequence_e_any [ 0 ]) && comp_0097(_v1.e_c_sequence_e_any [ 1 ]) ) && ( true && (_v1.e_c_sequence_e_string [ 0 ].equals("abc")) && (_v1.e_c_sequence_e_string [ 1 ].equals("abc")) ) && ( true && (_v1.e_c_sequence_e_Object [ 0 ]._is_equivalent(target)) && (_v1.e_c_sequence_e_Object [ 1 ]._is_equivalent(target)) ) && ( true && (_v1.e_c_array_e_short [ 0 ] == -100) && (_v1.e_c_array_e_short [ 1 ] == -100) ) && ( true && (_v1.e_c_array_e_ushort [ 0 ] == 100) && (_v1.e_c_array_e_ushort [ 1 ] == 100) ) && ( true && (_v1.e_c_array_e_long [ 0 ] == -100000) && (_v1.e_c_array_e_long [ 1 ] == -100000) ) && ( true && (_v1.e_c_array_e_ulong [ 0 ] == 100000) && (_v1.e_c_array_e_ulong [ 1 ] == 100000) ) && ( true && (_v1.e_c_array_e_float [ 0 ] == 0.123f) && (_v1.e_c_array_e_float [ 1 ] == 0.123f) ) && ( true && (_v1.e_c_array_e_double [ 0 ] == 0.12e3) && (_v1.e_c_array_e_double [ 1 ] == 0.12e3) ) && ( true && (_v1.e_c_array_e_char [ 0 ] == 'a') && (_v1.e_c_array_e_char [ 1 ] == 'a') ) && ( true && (_v1.e_c_array_e_boolean [ 0 ] == false) && (_v1.e_c_array_e_boolean [ 1 ] == false) ) && ( true && (_v1.e_c_array_e_octet [ 0 ] == 10) && (_v1.e_c_array_e_octet [ 1 ] == 10) ) && ( true && comp_0097(_v1.e_c_array_e_any [ 0 ]) && comp_0097(_v1.e_c_array_e_any [ 1 ]) ) && ( true && (_v1.e_c_array_e_string [ 0 ].equals("abc")) && (_v1.e_c_array_e_string [ 1 ].equals("abc")) ) && ( true && (_v1.e_c_array_e_Object [ 0 ]._is_equivalent(target)) && (_v1.e_c_array_e_Object [ 1 ]._is_equivalent(target)) )); } C_struct cons_0047() { C_struct _v1; _v1 = new C_struct(); _v1.e_short = -200; _v1.e_ushort = 200; _v1.e_long = -200000; _v1.e_ulong = 200000; _v1.e_float = 1.234f; _v1.e_double = 1.23e4; _v1.e_char = 'b'; _v1.e_boolean = true; _v1.e_octet = 20; _v1.e_any = orb.create_any(); _v1.e_any.insert_long(-200000); _v1.e_string = "def"; _v1.e_Object = target; return (_v1); } C_union cons_0048() { C_union _v1; _v1 = new C_union(); short _v2; _v2 = 200; _v1.e_ushort(_v2); return (_v1); } F_struct cons_0046() { F_struct _v1; _v1 = new F_struct(); _v1.e_c_struct = cons_0047(); _v1.e_c_union = cons_0048(); _v1.e_c_sequence_e_short = new short[ 2 ]; _v1.e_c_sequence_e_short [ 0 ] = -200; _v1.e_c_sequence_e_short [ 1 ] = -200; _v1.e_c_sequence_e_ushort = new short[ 2 ]; _v1.e_c_sequence_e_ushort [ 0 ] = 200; _v1.e_c_sequence_e_ushort [ 1 ] = 200; _v1.e_c_sequence_e_long = new int[ 2 ]; _v1.e_c_sequence_e_long [ 0 ] = -200000; _v1.e_c_sequence_e_long [ 1 ] = -200000; _v1.e_c_sequence_e_ulong = new int[ 2 ]; _v1.e_c_sequence_e_ulong [ 0 ] = 200000; _v1.e_c_sequence_e_ulong [ 1 ] = 200000; _v1.e_c_sequence_e_float = new float[ 2 ]; _v1.e_c_sequence_e_float [ 0 ] = 1.234f; _v1.e_c_sequence_e_float [ 1 ] = 1.234f; _v1.e_c_sequence_e_double = new double[ 2 ]; _v1.e_c_sequence_e_double [ 0 ] = 1.23e4; _v1.e_c_sequence_e_double [ 1 ] = 1.23e4; _v1.e_c_sequence_e_char = new char[ 2 ]; _v1.e_c_sequence_e_char [ 0 ] = 'b'; _v1.e_c_sequence_e_char [ 1 ] = 'b'; _v1.e_c_sequence_e_boolean = new boolean[ 2 ]; _v1.e_c_sequence_e_boolean [ 0 ] = true; _v1.e_c_sequence_e_boolean [ 1 ] = true; _v1.e_c_sequence_e_octet = new byte[ 2 ]; _v1.e_c_sequence_e_octet [ 0 ] = 20; _v1.e_c_sequence_e_octet [ 1 ] = 20; _v1.e_c_sequence_e_any = new org.omg.CORBA.Any[ 2 ]; _v1.e_c_sequence_e_any [ 0 ] = orb.create_any(); _v1.e_c_sequence_e_any [ 0 ].insert_long(-200000); _v1.e_c_sequence_e_any [ 1 ] = orb.create_any(); _v1.e_c_sequence_e_any [ 1 ].insert_long(-200000); _v1.e_c_sequence_e_string = new String[ 2 ]; _v1.e_c_sequence_e_string [ 0 ] = "def"; _v1.e_c_sequence_e_string [ 1 ] = "def"; _v1.e_c_sequence_e_Object = new org.omg.CORBA.Object[ 2 ]; _v1.e_c_sequence_e_Object [ 0 ] = target; _v1.e_c_sequence_e_Object [ 1 ] = target; _v1.e_c_array_e_short = new short[ 2 ]; _v1.e_c_array_e_short [ 0 ] = -200; _v1.e_c_array_e_short [ 1 ] = -200; _v1.e_c_array_e_ushort = new short[ 2 ]; _v1.e_c_array_e_ushort [ 0 ] = 200; _v1.e_c_array_e_ushort [ 1 ] = 200; _v1.e_c_array_e_long = new int[ 2 ]; _v1.e_c_array_e_long [ 0 ] = -200000; _v1.e_c_array_e_long [ 1 ] = -200000; _v1.e_c_array_e_ulong = new int[ 2 ]; _v1.e_c_array_e_ulong [ 0 ] = 200000; _v1.e_c_array_e_ulong [ 1 ] = 200000; _v1.e_c_array_e_float = new float[ 2 ]; _v1.e_c_array_e_float [ 0 ] = 1.234f; _v1.e_c_array_e_float [ 1 ] = 1.234f; _v1.e_c_array_e_double = new double[ 2 ]; _v1.e_c_array_e_double [ 0 ] = 1.23e4; _v1.e_c_array_e_double [ 1 ] = 1.23e4; _v1.e_c_array_e_char = new char[ 2 ]; _v1.e_c_array_e_char [ 0 ] = 'b'; _v1.e_c_array_e_char [ 1 ] = 'b'; _v1.e_c_array_e_boolean = new boolean[ 2 ]; _v1.e_c_array_e_boolean [ 0 ] = true; _v1.e_c_array_e_boolean [ 1 ] = true; _v1.e_c_array_e_octet = new byte[ 2 ]; _v1.e_c_array_e_octet [ 0 ] = 20; _v1.e_c_array_e_octet [ 1 ] = 20; _v1.e_c_array_e_any = new org.omg.CORBA.Any[ 2 ]; _v1.e_c_array_e_any [ 0 ] = orb.create_any(); _v1.e_c_array_e_any [ 0 ].insert_long(-200000); _v1.e_c_array_e_any [ 1 ] = orb.create_any(); _v1.e_c_array_e_any [ 1 ].insert_long(-200000); _v1.e_c_array_e_string = new String[ 2 ]; _v1.e_c_array_e_string [ 0 ] = "def"; _v1.e_c_array_e_string [ 1 ] = "def"; _v1.e_c_array_e_Object = new org.omg.CORBA.Object[ 2 ]; _v1.e_c_array_e_Object [ 0 ] = target; _v1.e_c_array_e_Object [ 1 ] = target; return (_v1); } boolean comp_0101(org.omg.CORBA.Any _v1) { String _v2; _v2 = _v1.extract_string(); return (_v2.equals("abc")); } boolean comp_0100(C_struct _v1) { return (true && (_v1.e_short == -100) && (_v1.e_ushort == 100) && (_v1.e_long == -100000) && (_v1.e_ulong == 100000) && (_v1.e_float == 0.123f) && (_v1.e_double == 0.12e3) && (_v1.e_char == 'a') && (_v1.e_boolean == false) && (_v1.e_octet == 10) && comp_0101(_v1.e_any) && (_v1.e_string.equals("abc")) && (_v1.e_Object._is_equivalent(target))); } boolean comp_0099(F_union _v1) { if (_v1.discriminator() != 1) return false; return comp_0100(_v1.e_c_struct()); } C_union cons_0050() { C_union _v1; _v1 = new C_union(); short _v2; _v2 = 200; _v1.e_ushort(_v2); return (_v1); } F_union cons_0049() { F_union _v1; _v1 = new F_union(); C_union _v2; _v2 = cons_0050(); _v1.e_c_union(_v2); return (_v1); } boolean comp_0103(org.omg.CORBA.Any _v1) { String _v2; _v2 = _v1.extract_string(); return (_v2.equals("abc")); } boolean comp_0102(C_struct _v1) { return (true && (_v1.e_short == -100) && (_v1.e_ushort == 100) && (_v1.e_long == -100000) && (_v1.e_ulong == 100000) && (_v1.e_float == 0.123f) && (_v1.e_double == 0.12e3) && (_v1.e_char == 'a') && (_v1.e_boolean == false) && (_v1.e_octet == 10) && comp_0103(_v1.e_any) && (_v1.e_string.equals("abc")) && (_v1.e_Object._is_equivalent(target))); } C_struct cons_0051() { C_struct _v1; _v1 = new C_struct(); _v1.e_short = -200; _v1.e_ushort = 200; _v1.e_long = -200000; _v1.e_ulong = 200000; _v1.e_float = 1.234f; _v1.e_double = 1.23e4; _v1.e_char = 'b'; _v1.e_boolean = true; _v1.e_octet = 20; _v1.e_any = orb.create_any(); _v1.e_any.insert_long(-200000); _v1.e_string = "def"; _v1.e_Object = target; return (_v1); } boolean comp_0104(C_union _v1) { if (_v1.discriminator() != 1) return false; return (_v1.e_short() == -100); } C_union cons_0052() { C_union _v1; _v1 = new C_union(); short _v2; _v2 = 200; _v1.e_ushort(_v2); return (_v1); } boolean comp_0106(org.omg.CORBA.Any _v1) { String _v2; _v2 = _v1.extract_string(); return (_v2.equals("abc")); } boolean comp_0105(C_struct _v1) { return (true && (_v1.e_short == -100) && (_v1.e_ushort == 100) && (_v1.e_long == -100000) && (_v1.e_ulong == 100000) && (_v1.e_float == 0.123f) && (_v1.e_double == 0.12e3) && (_v1.e_char == 'a') && (_v1.e_boolean == false) && (_v1.e_octet == 10) && comp_0106(_v1.e_any) && (_v1.e_string.equals("abc")) && (_v1.e_Object._is_equivalent(target))); } C_struct cons_0053() { C_struct _v1; _v1 = new C_struct(); _v1.e_short = -200; _v1.e_ushort = 200; _v1.e_long = -200000; _v1.e_ulong = 200000; _v1.e_float = 1.234f; _v1.e_double = 1.23e4; _v1.e_char = 'b'; _v1.e_boolean = true; _v1.e_octet = 20; _v1.e_any = orb.create_any(); _v1.e_any.insert_long(-200000); _v1.e_string = "def"; _v1.e_Object = target; return (_v1); } boolean comp_0107(C_union _v1) { if (_v1.discriminator() != 1) return false; return (_v1.e_short() == -100); } C_union cons_0054() { C_union _v1; _v1 = new C_union(); short _v2; _v2 = 200; _v1.e_ushort(_v2); return (_v1); } boolean comp_0109(E_struct _v1) { return (true && (_v1.e_b1 == B.b1) && (_v1.e_b2 == B.b1)); } boolean comp_0110(E_union _v1) { if (_v1.discriminator() != 1) return false; return (_v1.e_b1() == B.b1); } boolean comp_0108(G_struct _v1) { return (true && comp_0109(_v1.e_e_struct) && comp_0110(_v1.e_e_union) && ( true && (_v1.e_e_sequence [ 0 ] == B.b1) && (_v1.e_e_sequence [ 1 ] == B.b1) ) && ( true && (_v1.e_e_array [ 0 ] == B.b1) && (_v1.e_e_array [ 1 ] == B.b1) )); } E_struct cons_0056() { E_struct _v1; _v1 = new E_struct(); _v1.e_b1 = B.b2; _v1.e_b2 = B.b2; return (_v1); } E_union cons_0057() { E_union _v1; _v1 = new E_union(); B _v2; _v2 = B.b2; _v1.e_b2(_v2); return (_v1); } G_struct cons_0055() { G_struct _v1; _v1 = new G_struct(); _v1.e_e_struct = cons_0056(); _v1.e_e_union = cons_0057(); _v1.e_e_sequence = new B[ 2 ]; _v1.e_e_sequence [ 0 ] = B.b2; _v1.e_e_sequence [ 1 ] = B.b2; _v1.e_e_array = new B[ 2 ]; _v1.e_e_array [ 0 ] = B.b2; _v1.e_e_array [ 1 ] = B.b2; return (_v1); } boolean comp_0112(E_struct _v1) { return (true && (_v1.e_b1 == B.b1) && (_v1.e_b2 == B.b1)); } boolean comp_0111(G_union _v1) { if (_v1.discriminator() != 1) return false; return comp_0112(_v1.e_e_struct()); } E_union cons_0059() { E_union _v1; _v1 = new E_union(); B _v2; _v2 = B.b2; _v1.e_b2(_v2); return (_v1); } G_union cons_0058() { G_union _v1; _v1 = new G_union(); E_union _v2; _v2 = cons_0059(); _v1.e_e_union(_v2); return (_v1); } boolean comp_0113(E_struct _v1) { return (true && (_v1.e_b1 == B.b1) && (_v1.e_b2 == B.b1)); } E_struct cons_0060() { E_struct _v1; _v1 = new E_struct(); _v1.e_b1 = B.b2; _v1.e_b2 = B.b2; return (_v1); } boolean comp_0114(E_union _v1) { if (_v1.discriminator() != 1) return false; return (_v1.e_b1() == B.b1); } E_union cons_0061() { E_union _v1; _v1 = new E_union(); B _v2; _v2 = B.b2; _v1.e_b2(_v2); return (_v1); } boolean comp_0115(E_struct _v1) { return (true && (_v1.e_b1 == B.b1) && (_v1.e_b2 == B.b1)); } E_struct cons_0062() { E_struct _v1; _v1 = new E_struct(); _v1.e_b1 = B.b2; _v1.e_b2 = B.b2; return (_v1); } boolean comp_0116(E_union _v1) { if (_v1.discriminator() != 1) return false; return (_v1.e_b1() == B.b1); } E_union cons_0063() { E_union _v1; _v1 = new E_union(); B _v2; _v2 = B.b2; _v1.e_b2(_v2); return (_v1); } boolean comp_0119(org.omg.CORBA.Any _v1) { String _v2; _v2 = _v1.extract_string(); return (_v2.equals("abc")); } boolean comp_0118(C_struct _v1) { return (true && (_v1.e_short == -100) && (_v1.e_ushort == 100) && (_v1.e_long == -100000) && (_v1.e_ulong == 100000) && (_v1.e_float == 0.123f) && (_v1.e_double == 0.12e3) && (_v1.e_char == 'a') && (_v1.e_boolean == false) && (_v1.e_octet == 10) && comp_0119(_v1.e_any) && (_v1.e_string.equals("abc")) && (_v1.e_Object._is_equivalent(target))); } boolean comp_0117(F_union _v1) { if (_v1.discriminator() != 1) return false; return comp_0118(_v1.e_c_struct()); } C_union cons_0065() { C_union _v1; _v1 = new C_union(); short _v2; _v2 = 200; _v1.e_ushort(_v2); return (_v1); } F_union cons_0064() { F_union _v1; _v1 = new F_union(); C_union _v2; _v2 = cons_0065(); _v1.e_c_union(_v2); return (_v1); } boolean comp_0122(org.omg.CORBA.Any _v1) { String _v2; _v2 = _v1.extract_string(); return (_v2.equals("abc")); } boolean comp_0121(C_struct _v1) { return (true && (_v1.e_short == -100) && (_v1.e_ushort == 100) && (_v1.e_long == -100000) && (_v1.e_ulong == 100000) && (_v1.e_float == 0.123f) && (_v1.e_double == 0.12e3) && (_v1.e_char == 'a') && (_v1.e_boolean == false) && (_v1.e_octet == 10) && comp_0122(_v1.e_any) && (_v1.e_string.equals("abc")) && (_v1.e_Object._is_equivalent(target))); } boolean comp_0120(F_union _v1) { if (_v1.discriminator() != 1) return false; return comp_0121(_v1.e_c_struct()); } C_union cons_0067() { C_union _v1; _v1 = new C_union(); short _v2; _v2 = 200; _v1.e_ushort(_v2); return (_v1); } F_union cons_0066() { F_union _v1; _v1 = new F_union(); C_union _v2; _v2 = cons_0067(); _v1.e_c_union(_v2); return (_v1); } boolean comp_0125(org.omg.CORBA.Any _v1) { String _v2; _v2 = _v1.extract_string(); return (_v2.equals("abc")); } boolean comp_0124(C_struct _v1) { return (true && (_v1.e_short == -100) && (_v1.e_ushort == 100) && (_v1.e_long == -100000) && (_v1.e_ulong == 100000) && (_v1.e_float == 0.123f) && (_v1.e_double == 0.12e3) && (_v1.e_char == 'a') && (_v1.e_boolean == false) && (_v1.e_octet == 10) && comp_0125(_v1.e_any) && (_v1.e_string.equals("abc")) && (_v1.e_Object._is_equivalent(target))); } boolean comp_0123(F_union _v1) { if (_v1.discriminator() != 1) return false; return comp_0124(_v1.e_c_struct()); } C_union cons_0069() { C_union _v1; _v1 = new C_union(); short _v2; _v2 = 200; _v1.e_ushort(_v2); return (_v1); } F_union cons_0068() { F_union _v1; _v1 = new F_union(); C_union _v2; _v2 = cons_0069(); _v1.e_c_union(_v2); return (_v1); } A_except1 cons_0070() { A_except1 _v1; _v1 = new A_except1(); _v1.v1 = -200; _v1.v2 = 200; _v1.v3 = -200000; _v1.v4 = 200000; _v1.v5 = 1.234f; _v1.v6 = 1.23e4; _v1.v7 = 'b'; _v1.v8 = true; _v1.v9 = 20; return (_v1); } A_except2 cons_0071() { A_except2 _v1; _v1 = new A_except2(); _v1.v10 = orb.create_any(); _v1.v10.insert_long(-200000); _v1.v11 = "def"; _v1.v12 = target; return (_v1); } B_except cons_0072() { B_except _v1; _v1 = new B_except(); _v1.v = B.b2; return (_v1); } C_struct cons_0074() { C_struct _v1; _v1 = new C_struct(); _v1.e_short = -200; _v1.e_ushort = 200; _v1.e_long = -200000; _v1.e_ulong = 200000; _v1.e_float = 1.234f; _v1.e_double = 1.23e4; _v1.e_char = 'b'; _v1.e_boolean = true; _v1.e_octet = 20; _v1.e_any = orb.create_any(); _v1.e_any.insert_long(-200000); _v1.e_string = "def"; _v1.e_Object = target; return (_v1); } C_union cons_0075() { C_union _v1; _v1 = new C_union(); short _v2; _v2 = 200; _v1.e_ushort(_v2); return (_v1); } C_except cons_0073() { C_except _v1; _v1 = new C_except(); _v1.v1 = cons_0074(); _v1.v2 = cons_0075(); _v1.v3 = cons_0075(); _v1.v4 = cons_0075(); _v1.v5 = cons_0075(); _v1.v6 = cons_0075(); _v1.v7 = cons_0075(); _v1.v8 = cons_0075(); _v1.v9 = cons_0075(); _v1.v10 = cons_0075(); _v1.v11 = cons_0075(); _v1.v12 = cons_0075(); _v1.v13 = cons_0075(); _v1.v16 = new short[ 2 ]; _v1.v16 [ 0 ] = -200; _v1.v16 [ 1 ] = -200; _v1.v17 = new short[ 2 ]; _v1.v17 [ 0 ] = 200; _v1.v17 [ 1 ] = 200; _v1.v18 = new int[ 2 ]; _v1.v18 [ 0 ] = -200000; _v1.v18 [ 1 ] = -200000; _v1.v19 = new int[ 2 ]; _v1.v19 [ 0 ] = 200000; _v1.v19 [ 1 ] = 200000; _v1.v20 = new float[ 2 ]; _v1.v20 [ 0 ] = 1.234f; _v1.v20 [ 1 ] = 1.234f; _v1.v21 = new double[ 2 ]; _v1.v21 [ 0 ] = 1.23e4; _v1.v21 [ 1 ] = 1.23e4; _v1.v22 = new char[ 2 ]; _v1.v22 [ 0 ] = 'b'; _v1.v22 [ 1 ] = 'b'; _v1.v23 = new boolean[ 2 ]; _v1.v23 [ 0 ] = true; _v1.v23 [ 1 ] = true; _v1.v24 = new byte[ 2 ]; _v1.v24 [ 0 ] = 20; _v1.v24 [ 1 ] = 20; _v1.v25 = new org.omg.CORBA.Any[ 2 ]; _v1.v25 [ 0 ] = orb.create_any(); _v1.v25 [ 0 ].insert_long(-200000); _v1.v25 [ 1 ] = orb.create_any(); _v1.v25 [ 1 ].insert_long(-200000); _v1.v26 = new String[ 2 ]; _v1.v26 [ 0 ] = "def"; _v1.v26 [ 1 ] = "def"; _v1.v27 = new org.omg.CORBA.Object[ 2 ]; _v1.v27 [ 0 ] = target; _v1.v27 [ 1 ] = target; _v1.v30 = new short[ 2 ]; _v1.v30 [ 0 ] = -200; _v1.v30 [ 1 ] = -200; _v1.v31 = new short[ 2 ]; _v1.v31 [ 0 ] = 200; _v1.v31 [ 1 ] = 200; _v1.v32 = new int[ 2 ]; _v1.v32 [ 0 ] = -200000; _v1.v32 [ 1 ] = -200000; _v1.v33 = new int[ 2 ]; _v1.v33 [ 0 ] = 200000; _v1.v33 [ 1 ] = 200000; _v1.v34 = new float[ 2 ]; _v1.v34 [ 0 ] = 1.234f; _v1.v34 [ 1 ] = 1.234f; _v1.v35 = new double[ 2 ]; _v1.v35 [ 0 ] = 1.23e4; _v1.v35 [ 1 ] = 1.23e4; _v1.v36 = new char[ 2 ]; _v1.v36 [ 0 ] = 'b'; _v1.v36 [ 1 ] = 'b'; _v1.v37 = new boolean[ 2 ]; _v1.v37 [ 0 ] = true; _v1.v37 [ 1 ] = true; _v1.v38 = new byte[ 2 ]; _v1.v38 [ 0 ] = 20; _v1.v38 [ 1 ] = 20; _v1.v39 = new org.omg.CORBA.Any[ 2 ]; _v1.v39 [ 0 ] = orb.create_any(); _v1.v39 [ 0 ].insert_long(-200000); _v1.v39 [ 1 ] = orb.create_any(); _v1.v39 [ 1 ].insert_long(-200000); _v1.v40 = new String[ 2 ]; _v1.v40 [ 0 ] = "def"; _v1.v40 [ 1 ] = "def"; _v1.v41 = new org.omg.CORBA.Object[ 2 ]; _v1.v41 [ 0 ] = target; _v1.v41 [ 1 ] = target; return (_v1); } D_d_short cons_0077() { D_d_short _v1; _v1 = new D_d_short(); int _v2; _v2 = -200000; _v1.l2(_v2); return (_v1); } D_d_ushort cons_0078() { D_d_ushort _v1; _v1 = new D_d_ushort(); int _v2; _v2 = -200000; _v1.l2(_v2); return (_v1); } D_d_long cons_0079() { D_d_long _v1; _v1 = new D_d_long(); int _v2; _v2 = -200000; _v1.l2(_v2); return (_v1); } D_d_ulong cons_0080() { D_d_ulong _v1; _v1 = new D_d_ulong(); int _v2; _v2 = -200000; _v1.l2(_v2); return (_v1); } D_d_char cons_0081() { D_d_char _v1; _v1 = new D_d_char(); int _v2; _v2 = -200000; _v1.l2(_v2); return (_v1); } D_d_boolean cons_0082() { D_d_boolean _v1; _v1 = new D_d_boolean(); int _v2; _v2 = -200000; _v1.l1(_v2); return (_v1); } D_d_B cons_0083() { D_d_B _v1; _v1 = new D_d_B(); int _v2; _v2 = -200000; _v1.l2(_v2); return (_v1); } D_except cons_0076() { D_except _v1; _v1 = new D_except(); _v1.v1 = cons_0077(); _v1.v2 = cons_0078(); _v1.v3 = cons_0079(); _v1.v4 = cons_0080(); _v1.v5 = cons_0081(); _v1.v6 = cons_0082(); _v1.v7 = cons_0083(); return (_v1); } E_struct cons_0085() { E_struct _v1; _v1 = new E_struct(); _v1.e_b1 = B.b2; _v1.e_b2 = B.b2; return (_v1); } E_union cons_0086() { E_union _v1; _v1 = new E_union(); B _v2; _v2 = B.b2; _v1.e_b2(_v2); return (_v1); } E_except cons_0084() { E_except _v1; _v1 = new E_except(); _v1.v1 = cons_0085(); _v1.v2 = cons_0086(); _v1.v3 = new B[ 2 ]; _v1.v3 [ 0 ] = B.b2; _v1.v3 [ 1 ] = B.b2; _v1.v4 = new B[ 2 ]; _v1.v4 [ 0 ] = B.b2; _v1.v4 [ 1 ] = B.b2; return (_v1); } C_struct cons_0089() { C_struct _v1; _v1 = new C_struct(); _v1.e_short = -200; _v1.e_ushort = 200; _v1.e_long = -200000; _v1.e_ulong = 200000; _v1.e_float = 1.234f; _v1.e_double = 1.23e4; _v1.e_char = 'b'; _v1.e_boolean = true; _v1.e_octet = 20; _v1.e_any = orb.create_any(); _v1.e_any.insert_long(-200000); _v1.e_string = "def"; _v1.e_Object = target; return (_v1); } C_union cons_0090() { C_union _v1; _v1 = new C_union(); short _v2; _v2 = 200; _v1.e_ushort(_v2); return (_v1); } F_struct cons_0088() { F_struct _v1; _v1 = new F_struct(); _v1.e_c_struct = cons_0089(); _v1.e_c_union = cons_0090(); _v1.e_c_sequence_e_short = new short[ 2 ]; _v1.e_c_sequence_e_short [ 0 ] = -200; _v1.e_c_sequence_e_short [ 1 ] = -200; _v1.e_c_sequence_e_ushort = new short[ 2 ]; _v1.e_c_sequence_e_ushort [ 0 ] = 200; _v1.e_c_sequence_e_ushort [ 1 ] = 200; _v1.e_c_sequence_e_long = new int[ 2 ]; _v1.e_c_sequence_e_long [ 0 ] = -200000; _v1.e_c_sequence_e_long [ 1 ] = -200000; _v1.e_c_sequence_e_ulong = new int[ 2 ]; _v1.e_c_sequence_e_ulong [ 0 ] = 200000; _v1.e_c_sequence_e_ulong [ 1 ] = 200000; _v1.e_c_sequence_e_float = new float[ 2 ]; _v1.e_c_sequence_e_float [ 0 ] = 1.234f; _v1.e_c_sequence_e_float [ 1 ] = 1.234f; _v1.e_c_sequence_e_double = new double[ 2 ]; _v1.e_c_sequence_e_double [ 0 ] = 1.23e4; _v1.e_c_sequence_e_double [ 1 ] = 1.23e4; _v1.e_c_sequence_e_char = new char[ 2 ]; _v1.e_c_sequence_e_char [ 0 ] = 'b'; _v1.e_c_sequence_e_char [ 1 ] = 'b'; _v1.e_c_sequence_e_boolean = new boolean[ 2 ]; _v1.e_c_sequence_e_boolean [ 0 ] = true; _v1.e_c_sequence_e_boolean [ 1 ] = true; _v1.e_c_sequence_e_octet = new byte[ 2 ]; _v1.e_c_sequence_e_octet [ 0 ] = 20; _v1.e_c_sequence_e_octet [ 1 ] = 20; _v1.e_c_sequence_e_any = new org.omg.CORBA.Any[ 2 ]; _v1.e_c_sequence_e_any [ 0 ] = orb.create_any(); _v1.e_c_sequence_e_any [ 0 ].insert_long(-200000); _v1.e_c_sequence_e_any [ 1 ] = orb.create_any(); _v1.e_c_sequence_e_any [ 1 ].insert_long(-200000); _v1.e_c_sequence_e_string = new String[ 2 ]; _v1.e_c_sequence_e_string [ 0 ] = "def"; _v1.e_c_sequence_e_string [ 1 ] = "def"; _v1.e_c_sequence_e_Object = new org.omg.CORBA.Object[ 2 ]; _v1.e_c_sequence_e_Object [ 0 ] = target; _v1.e_c_sequence_e_Object [ 1 ] = target; _v1.e_c_array_e_short = new short[ 2 ]; _v1.e_c_array_e_short [ 0 ] = -200; _v1.e_c_array_e_short [ 1 ] = -200; _v1.e_c_array_e_ushort = new short[ 2 ]; _v1.e_c_array_e_ushort [ 0 ] = 200; _v1.e_c_array_e_ushort [ 1 ] = 200; _v1.e_c_array_e_long = new int[ 2 ]; _v1.e_c_array_e_long [ 0 ] = -200000; _v1.e_c_array_e_long [ 1 ] = -200000; _v1.e_c_array_e_ulong = new int[ 2 ]; _v1.e_c_array_e_ulong [ 0 ] = 200000; _v1.e_c_array_e_ulong [ 1 ] = 200000; _v1.e_c_array_e_float = new float[ 2 ]; _v1.e_c_array_e_float [ 0 ] = 1.234f; _v1.e_c_array_e_float [ 1 ] = 1.234f; _v1.e_c_array_e_double = new double[ 2 ]; _v1.e_c_array_e_double [ 0 ] = 1.23e4; _v1.e_c_array_e_double [ 1 ] = 1.23e4; _v1.e_c_array_e_char = new char[ 2 ]; _v1.e_c_array_e_char [ 0 ] = 'b'; _v1.e_c_array_e_char [ 1 ] = 'b'; _v1.e_c_array_e_boolean = new boolean[ 2 ]; _v1.e_c_array_e_boolean [ 0 ] = true; _v1.e_c_array_e_boolean [ 1 ] = true; _v1.e_c_array_e_octet = new byte[ 2 ]; _v1.e_c_array_e_octet [ 0 ] = 20; _v1.e_c_array_e_octet [ 1 ] = 20; _v1.e_c_array_e_any = new org.omg.CORBA.Any[ 2 ]; _v1.e_c_array_e_any [ 0 ] = orb.create_any(); _v1.e_c_array_e_any [ 0 ].insert_long(-200000); _v1.e_c_array_e_any [ 1 ] = orb.create_any(); _v1.e_c_array_e_any [ 1 ].insert_long(-200000); _v1.e_c_array_e_string = new String[ 2 ]; _v1.e_c_array_e_string [ 0 ] = "def"; _v1.e_c_array_e_string [ 1 ] = "def"; _v1.e_c_array_e_Object = new org.omg.CORBA.Object[ 2 ]; _v1.e_c_array_e_Object [ 0 ] = target; _v1.e_c_array_e_Object [ 1 ] = target; return (_v1); } F_union cons_0091() { F_union _v1; _v1 = new F_union(); C_union _v2; _v2 = cons_0090(); _v1.e_c_union(_v2); return (_v1); } F_except1 cons_0087() { F_except1 _v1; _v1 = new F_except1(); _v1.v1 = cons_0088(); _v1.v2 = cons_0091(); _v1.v3 = cons_0091(); _v1.v4 = cons_0091(); _v1.v5 = cons_0091(); _v1.v6 = cons_0091(); _v1.v7 = cons_0091(); _v1.v8 = cons_0091(); _v1.v9 = cons_0091(); _v1.v10 = cons_0091(); _v1.v11 = cons_0091(); _v1.v12 = cons_0091(); _v1.v13 = cons_0091(); _v1.v14 = cons_0091(); _v1.v15 = cons_0091(); _v1.v18 = cons_0091(); _v1.v19 = cons_0091(); _v1.v20 = cons_0091(); _v1.v21 = cons_0091(); _v1.v22 = cons_0091(); _v1.v23 = cons_0091(); _v1.v24 = cons_0091(); _v1.v25 = cons_0091(); _v1.v26 = cons_0091(); _v1.v27 = cons_0091(); _v1.v28 = cons_0091(); _v1.v29 = cons_0091(); return (_v1); } C_struct cons_0093() { C_struct _v1; _v1 = new C_struct(); _v1.e_short = -200; _v1.e_ushort = 200; _v1.e_long = -200000; _v1.e_ulong = 200000; _v1.e_float = 1.234f; _v1.e_double = 1.23e4; _v1.e_char = 'b'; _v1.e_boolean = true; _v1.e_octet = 20; _v1.e_any = orb.create_any(); _v1.e_any.insert_long(-200000); _v1.e_string = "def"; _v1.e_Object = target; return (_v1); } C_union cons_0094() { C_union _v1; _v1 = new C_union(); short _v2; _v2 = 200; _v1.e_ushort(_v2); return (_v1); } F_except2 cons_0092() { F_except2 _v1; _v1 = new F_except2(); _v1.v32 = new C_struct[ 2 ]; _v1.v32 [ 0 ] = cons_0093(); _v1.v32 [ 1 ] = cons_0093(); _v1.v33 = new C_union[ 2 ]; _v1.v33 [ 0 ] = cons_0094(); _v1.v33 [ 1 ] = cons_0094(); return (_v1); } C_struct cons_0096() { C_struct _v1; _v1 = new C_struct(); _v1.e_short = -200; _v1.e_ushort = 200; _v1.e_long = -200000; _v1.e_ulong = 200000; _v1.e_float = 1.234f; _v1.e_double = 1.23e4; _v1.e_char = 'b'; _v1.e_boolean = true; _v1.e_octet = 20; _v1.e_any = orb.create_any(); _v1.e_any.insert_long(-200000); _v1.e_string = "def"; _v1.e_Object = target; return (_v1); } C_union cons_0097() { C_union _v1; _v1 = new C_union(); short _v2; _v2 = 200; _v1.e_ushort(_v2); return (_v1); } F_except3 cons_0095() { F_except3 _v1; _v1 = new F_except3(); _v1.v62 = new C_struct[ 2 ]; _v1.v62 [ 0 ] = cons_0096(); _v1.v62 [ 1 ] = cons_0096(); _v1.v63 = new C_union[ 2 ]; _v1.v63 [ 0 ] = cons_0097(); _v1.v63 [ 1 ] = cons_0097(); return (_v1); } E_struct cons_0100() { E_struct _v1; _v1 = new E_struct(); _v1.e_b1 = B.b2; _v1.e_b2 = B.b2; return (_v1); } E_union cons_0101() { E_union _v1; _v1 = new E_union(); B _v2; _v2 = B.b2; _v1.e_b2(_v2); return (_v1); } G_struct cons_0099() { G_struct _v1; _v1 = new G_struct(); _v1.e_e_struct = cons_0100(); _v1.e_e_union = cons_0101(); _v1.e_e_sequence = new B[ 2 ]; _v1.e_e_sequence [ 0 ] = B.b2; _v1.e_e_sequence [ 1 ] = B.b2; _v1.e_e_array = new B[ 2 ]; _v1.e_e_array [ 0 ] = B.b2; _v1.e_e_array [ 1 ] = B.b2; return (_v1); } G_union cons_0102() { G_union _v1; _v1 = new G_union(); E_union _v2; _v2 = cons_0101(); _v1.e_e_union(_v2); return (_v1); } G_except cons_0098() { G_except _v1; _v1 = new G_except(); _v1.v1 = cons_0099(); _v1.v2 = cons_0102(); _v1.v3 = cons_0102(); _v1.v4 = cons_0102(); _v1.v5 = cons_0102(); _v1.v6 = new E_struct[ 2 ]; _v1.v6 [ 0 ] = cons_0100(); _v1.v6 [ 1 ] = cons_0100(); _v1.v7 = new E_union[ 2 ]; _v1.v7 [ 0 ] = cons_0101(); _v1.v7 [ 1 ] = cons_0101(); _v1.v10 = new E_struct[ 2 ]; _v1.v10 [ 0 ] = cons_0100(); _v1.v10 [ 1 ] = cons_0100(); _v1.v11 = new E_union[ 2 ]; _v1.v11 [ 0 ] = cons_0101(); _v1.v11 [ 1 ] = cons_0101(); return (_v1); } //operator definitions public short op1(short argin, org.omg.CORBA.ShortHolder argout, org.omg.CORBA.ShortHolder arginout ) { if (!(argin == -100)) { fail("argin value error in op1"); } if (!(arginout.value == -100)) { fail("arginout value error in op1"); } argout.value = -200; arginout.value = -200; short _ret; _ret = -200; return (_ret); } public short op2(short argin, org.omg.CORBA.ShortHolder argout, org.omg.CORBA.ShortHolder arginout ) { if (!(argin == 100)) { fail("argin value error in op2"); } if (!(arginout.value == 100)) { fail("arginout value error in op2"); } argout.value = 200; arginout.value = 200; short _ret; _ret = 200; return (_ret); } public int op3(int argin, org.omg.CORBA.IntHolder argout, org.omg.CORBA.IntHolder arginout ) { if (!(argin == -100000)) { fail("argin value error in op3"); } if (!(arginout.value == -100000)) { fail("arginout value error in op3"); } argout.value = -200000; arginout.value = -200000; int _ret; _ret = -200000; return (_ret); } public int op4(int argin, org.omg.CORBA.IntHolder argout, org.omg.CORBA.IntHolder arginout ) { if (!(argin == 100000)) { fail("argin value error in op4"); } if (!(arginout.value == 100000)) { fail("arginout value error in op4"); } argout.value = 200000; arginout.value = 200000; int _ret; _ret = 200000; return (_ret); } public float op5(float argin, org.omg.CORBA.FloatHolder argout, org.omg.CORBA.FloatHolder arginout ) { if (!(argin == 0.123f)) { fail("argin value error in op5"); } if (!(arginout.value == 0.123f)) { fail("arginout value error in op5"); } argout.value = 1.234f; arginout.value = 1.234f; float _ret; _ret = 1.234f; return (_ret); } public double op6(double argin, org.omg.CORBA.DoubleHolder argout, org.omg.CORBA.DoubleHolder arginout ) { if (!(argin == 0.12e3)) { fail("argin value error in op6"); } if (!(arginout.value == 0.12e3)) { fail("arginout value error in op6"); } argout.value = 1.23e4; arginout.value = 1.23e4; double _ret; _ret = 1.23e4; return (_ret); } public char op7(char argin, org.omg.CORBA.CharHolder argout, org.omg.CORBA.CharHolder arginout ) { if (!(argin == 'a')) { fail("argin value error in op7"); } if (!(arginout.value == 'a')) { fail("arginout value error in op7"); } argout.value = 'b'; arginout.value = 'b'; char _ret; _ret = 'b'; return (_ret); } public boolean op8(boolean argin, org.omg.CORBA.BooleanHolder argout, org.omg.CORBA.BooleanHolder arginout ) { if (!(argin == false)) { fail("argin value error in op8"); } if (!(arginout.value == false)) { fail("arginout value error in op8"); } argout.value = true; arginout.value = true; boolean _ret; _ret = true; return (_ret); } public byte op9(byte argin, org.omg.CORBA.ByteHolder argout, org.omg.CORBA.ByteHolder arginout ) { if (!(argin == 10)) { fail("argin value error in op9"); } if (!(arginout.value == 10)) { fail("arginout value error in op9"); } argout.value = 20; arginout.value = 20; byte _ret; _ret = 20; return (_ret); } public org.omg.CORBA.Any op10(org.omg.CORBA.Any argin, org.omg.CORBA.AnyHolder argout, org.omg.CORBA.AnyHolder arginout ) { if (!comp_0080(argin)) { fail("argin value error in op10"); } if (!comp_0080(arginout.value)) { fail("arginout value error in op10"); } argout.value = orb.create_any(); argout.value.insert_long(-200000); arginout.value = orb.create_any(); arginout.value.insert_long(-200000); org.omg.CORBA.Any _ret; _ret = orb.create_any(); _ret.insert_long(-200000); return (_ret); } public String op11(String argin, org.omg.CORBA.StringHolder argout, org.omg.CORBA.StringHolder arginout ) { if (!(argin.equals("abc"))) { fail("argin value error in op11"); } if (!(arginout.value.equals("abc"))) { fail("arginout value error in op11"); } argout.value = "def"; arginout.value = "def"; String _ret; _ret = "def"; return (_ret); } public org.omg.CORBA.Object op12(org.omg.CORBA.Object argin, org.omg.CORBA.ObjectHolder argout, org.omg.CORBA.ObjectHolder arginout ) { if (!(argin._is_equivalent(target))) { fail("argin value error in op12"); } if (!(arginout.value._is_equivalent(target))) { fail("arginout value error in op12"); } argout.value = target; arginout.value = target; org.omg.CORBA.Object _ret; _ret = target; return (_ret); } public org.omg.CORBA.TypeCode op13(org.omg.CORBA.TypeCode argin, org.omg.CORBA.TypeCodeHolder argout, org.omg.CORBA.TypeCodeHolder arginout ) { if (!(orb.get_primitive_tc(TCKind.tk_string).equal(argin))) { fail("argin value error in op13"); } if (!(orb.get_primitive_tc(TCKind.tk_string).equal(arginout.value))) { fail("arginout value error in op13"); } argout.value = orb.get_primitive_tc(TCKind.tk_long); arginout.value = orb.get_primitive_tc(TCKind.tk_long); org.omg.CORBA.TypeCode _ret; _ret = orb.get_primitive_tc(TCKind.tk_long); return (_ret); } public B op15(B argin, BHolder argout, BHolder arginout) { if (!(argin == B.b1)) { fail("argin value error in op15"); } if (!(arginout.value == B.b1)) { fail("arginout value error in op15"); } argout.value = B.b2; arginout.value = B.b2; B _ret; _ret = B.b2; return (_ret); } public C_struct op16(C_struct argin, C_structHolder argout, C_structHolder arginout ) { if (!comp_0081(argin)) { fail("argin value error in op16"); } if (!comp_0081(arginout.value)) { fail("arginout value error in op16"); } argout.value = cons_0035(); arginout.value = cons_0035(); C_struct _ret; _ret = cons_0035(); return (_ret); } public C_union op17(C_union argin, C_unionHolder argout, C_unionHolder arginout ) { if (!comp_0083(argin)) { fail("argin value error in op17"); } if (!comp_0083(arginout.value)) { fail("arginout value error in op17"); } argout.value = cons_0036(); arginout.value = cons_0036(); C_union _ret; _ret = cons_0036(); return (_ret); } public short[] op18(short[] argin, C_sequence_e_shortHolder argout, C_sequence_e_shortHolder arginout ) { if (!(true && (argin [ 0 ] == -100) && (argin [ 1 ] == -100))) { fail("argin value error in op18"); } if (!( true && (arginout.value [ 0 ] == -100) && (arginout.value [ 1 ] == -100) ) ) { fail("arginout value error in op18"); } argout.value = new short[ 2 ]; argout.value [ 0 ] = -200; argout.value [ 1 ] = -200; arginout.value = new short[ 2 ]; arginout.value [ 0 ] = -200; arginout.value [ 1 ] = -200; short[] _ret; _ret = new short[ 2 ]; _ret [ 0 ] = -200; _ret [ 1 ] = -200; return (_ret); } public short[] op19(short[] argin, C_sequence_e_ushortHolder argout, C_sequence_e_ushortHolder arginout ) { if (!(true && (argin [ 0 ] == 100) && (argin [ 1 ] == 100))) { fail("argin value error in op19"); } if (!( true && (arginout.value [ 0 ] == 100) && (arginout.value [ 1 ] == 100) ) ) { fail("arginout value error in op19"); } argout.value = new short[ 2 ]; argout.value [ 0 ] = 200; argout.value [ 1 ] = 200; arginout.value = new short[ 2 ]; arginout.value [ 0 ] = 200; arginout.value [ 1 ] = 200; short[] _ret; _ret = new short[ 2 ]; _ret [ 0 ] = 200; _ret [ 1 ] = 200; return (_ret); } public int[] op20(int[] argin, C_sequence_e_longHolder argout, C_sequence_e_longHolder arginout ) { if (!(true && (argin [ 0 ] == -100000) && (argin [ 1 ] == -100000))) { fail("argin value error in op20"); } if (!( true && (arginout.value [ 0 ] == -100000) && (arginout.value [ 1 ] == -100000) ) ) { fail("arginout value error in op20"); } argout.value = new int[ 2 ]; argout.value [ 0 ] = -200000; argout.value [ 1 ] = -200000; arginout.value = new int[ 2 ]; arginout.value [ 0 ] = -200000; arginout.value [ 1 ] = -200000; int[] _ret; _ret = new int[ 2 ]; _ret [ 0 ] = -200000; _ret [ 1 ] = -200000; return (_ret); } public int[] op21(int[] argin, C_sequence_e_ulongHolder argout, C_sequence_e_ulongHolder arginout ) { if (!(true && (argin [ 0 ] == 100000) && (argin [ 1 ] == 100000))) { fail("argin value error in op21"); } if (!( true && (arginout.value [ 0 ] == 100000) && (arginout.value [ 1 ] == 100000) ) ) { fail("arginout value error in op21"); } argout.value = new int[ 2 ]; argout.value [ 0 ] = 200000; argout.value [ 1 ] = 200000; arginout.value = new int[ 2 ]; arginout.value [ 0 ] = 200000; arginout.value [ 1 ] = 200000; int[] _ret; _ret = new int[ 2 ]; _ret [ 0 ] = 200000; _ret [ 1 ] = 200000; return (_ret); } public float[] op22(float[] argin, C_sequence_e_floatHolder argout, C_sequence_e_floatHolder arginout ) { if (!(true && (argin [ 0 ] == 0.123f) && (argin [ 1 ] == 0.123f))) { fail("argin value error in op22"); } if (!( true && (arginout.value [ 0 ] == 0.123f) && (arginout.value [ 1 ] == 0.123f) ) ) { fail("arginout value error in op22"); } argout.value = new float[ 2 ]; argout.value [ 0 ] = 1.234f; argout.value [ 1 ] = 1.234f; arginout.value = new float[ 2 ]; arginout.value [ 0 ] = 1.234f; arginout.value [ 1 ] = 1.234f; float[] _ret; _ret = new float[ 2 ]; _ret [ 0 ] = 1.234f; _ret [ 1 ] = 1.234f; return (_ret); } public double[] op23(double[] argin, C_sequence_e_doubleHolder argout, C_sequence_e_doubleHolder arginout ) { if (!(true && (argin [ 0 ] == 0.12e3) && (argin [ 1 ] == 0.12e3))) { fail("argin value error in op23"); } if (!( true && (arginout.value [ 0 ] == 0.12e3) && (arginout.value [ 1 ] == 0.12e3) ) ) { fail("arginout value error in op23"); } argout.value = new double[ 2 ]; argout.value [ 0 ] = 1.23e4; argout.value [ 1 ] = 1.23e4; arginout.value = new double[ 2 ]; arginout.value [ 0 ] = 1.23e4; arginout.value [ 1 ] = 1.23e4; double[] _ret; _ret = new double[ 2 ]; _ret [ 0 ] = 1.23e4; _ret [ 1 ] = 1.23e4; return (_ret); } public char[] op24(char[] argin, C_sequence_e_charHolder argout, C_sequence_e_charHolder arginout ) { if (!(true && (argin [ 0 ] == 'a') && (argin [ 1 ] == 'a'))) { fail("argin value error in op24"); } if (!( true && (arginout.value [ 0 ] == 'a') && (arginout.value [ 1 ] == 'a') ) ) { fail("arginout value error in op24"); } argout.value = new char[ 2 ]; argout.value [ 0 ] = 'b'; argout.value [ 1 ] = 'b'; arginout.value = new char[ 2 ]; arginout.value [ 0 ] = 'b'; arginout.value [ 1 ] = 'b'; char[] _ret; _ret = new char[ 2 ]; _ret [ 0 ] = 'b'; _ret [ 1 ] = 'b'; return (_ret); } public boolean[] op25(boolean[] argin, C_sequence_e_booleanHolder argout, C_sequence_e_booleanHolder arginout ) { if (!(true && (argin [ 0 ] == false) && (argin [ 1 ] == false))) { fail("argin value error in op25"); } if (!( true && (arginout.value [ 0 ] == false) && (arginout.value [ 1 ] == false) ) ) { fail("arginout value error in op25"); } argout.value = new boolean[ 2 ]; argout.value [ 0 ] = true; argout.value [ 1 ] = true; arginout.value = new boolean[ 2 ]; arginout.value [ 0 ] = true; arginout.value [ 1 ] = true; boolean[] _ret; _ret = new boolean[ 2 ]; _ret [ 0 ] = true; _ret [ 1 ] = true; return (_ret); } public byte[] op26(byte[] argin, C_sequence_e_octetHolder argout, C_sequence_e_octetHolder arginout ) { if (!(true && (argin [ 0 ] == 10) && (argin [ 1 ] == 10))) { fail("argin value error in op26"); } if (!( true && (arginout.value [ 0 ] == 10) && (arginout.value [ 1 ] == 10) )) { fail("arginout value error in op26"); } argout.value = new byte[ 2 ]; argout.value [ 0 ] = 20; argout.value [ 1 ] = 20; arginout.value = new byte[ 2 ]; arginout.value [ 0 ] = 20; arginout.value [ 1 ] = 20; byte[] _ret; _ret = new byte[ 2 ]; _ret [ 0 ] = 20; _ret [ 1 ] = 20; return (_ret); } public org.omg.CORBA.Any[] op27(org.omg.CORBA.Any[] argin, C_sequence_e_anyHolder argout, C_sequence_e_anyHolder arginout ) { if (!(true && comp_0084(argin [ 0 ]) && comp_0084(argin [ 1 ]))) { fail("argin value error in op27"); } if (!( true && comp_0084(arginout.value [ 0 ]) && comp_0084(arginout.value [ 1 ]) ) ) { fail("arginout value error in op27"); } argout.value = new org.omg.CORBA.Any[ 2 ]; argout.value [ 0 ] = orb.create_any(); argout.value [ 0 ].insert_long(-200000); argout.value [ 1 ] = orb.create_any(); argout.value [ 1 ].insert_long(-200000); arginout.value = new org.omg.CORBA.Any[ 2 ]; arginout.value [ 0 ] = orb.create_any(); arginout.value [ 0 ].insert_long(-200000); arginout.value [ 1 ] = orb.create_any(); arginout.value [ 1 ].insert_long(-200000); org.omg.CORBA.Any[] _ret; _ret = new org.omg.CORBA.Any[ 2 ]; _ret [ 0 ] = orb.create_any(); _ret [ 0 ].insert_long(-200000); _ret [ 1 ] = orb.create_any(); _ret [ 1 ].insert_long(-200000); return (_ret); } public String[] op28(String[] argin, C_sequence_e_stringHolder argout, C_sequence_e_stringHolder arginout ) { if (!(true && (argin [ 0 ].equals("abc")) && (argin [ 1 ].equals("abc")))) { fail("argin value error in op28"); } if (!( true && (arginout.value [ 0 ].equals("abc")) && (arginout.value [ 1 ].equals("abc")) ) ) { fail("arginout value error in op28"); } argout.value = new String[ 2 ]; argout.value [ 0 ] = "def"; argout.value [ 1 ] = "def"; arginout.value = new String[ 2 ]; arginout.value [ 0 ] = "def"; arginout.value [ 1 ] = "def"; String[] _ret; _ret = new String[ 2 ]; _ret [ 0 ] = "def"; _ret [ 1 ] = "def"; return (_ret); } public org.omg.CORBA.Object[] op29(org.omg.CORBA.Object[] argin, C_sequence_e_ObjectHolder argout, C_sequence_e_ObjectHolder arginout ) { if (!( true && (argin [ 0 ]._is_equivalent(target)) && (argin [ 1 ]._is_equivalent(target)) ) ) { fail("argin value error in op29"); } if (!( true && (arginout.value [ 0 ]._is_equivalent(target)) && (arginout.value [ 1 ]._is_equivalent(target)) ) ) { fail("arginout value error in op29"); } argout.value = new org.omg.CORBA.Object[ 2 ]; argout.value [ 0 ] = target; argout.value [ 1 ] = target; arginout.value = new org.omg.CORBA.Object[ 2 ]; arginout.value [ 0 ] = target; arginout.value [ 1 ] = target; org.omg.CORBA.Object[] _ret; _ret = new org.omg.CORBA.Object[ 2 ]; _ret [ 0 ] = target; _ret [ 1 ] = target; return (_ret); } public short[] op32(short[] argin, C_array_e_shortHolder argout, C_array_e_shortHolder arginout ) { if (!(true && (argin [ 0 ] == -100) && (argin [ 1 ] == -100))) { fail("argin value error in op32"); } if (!( true && (arginout.value [ 0 ] == -100) && (arginout.value [ 1 ] == -100) ) ) { fail("arginout value error in op32"); } argout.value = new short[ 2 ]; argout.value [ 0 ] = -200; argout.value [ 1 ] = -200; arginout.value = new short[ 2 ]; arginout.value [ 0 ] = -200; arginout.value [ 1 ] = -200; short[] _ret; _ret = new short[ 2 ]; _ret [ 0 ] = -200; _ret [ 1 ] = -200; return (_ret); } public short[] op33(short[] argin, C_array_e_ushortHolder argout, C_array_e_ushortHolder arginout ) { if (!(true && (argin [ 0 ] == 100) && (argin [ 1 ] == 100))) { fail("argin value error in op33"); } if (!( true && (arginout.value [ 0 ] == 100) && (arginout.value [ 1 ] == 100) ) ) { fail("arginout value error in op33"); } argout.value = new short[ 2 ]; argout.value [ 0 ] = 200; argout.value [ 1 ] = 200; arginout.value = new short[ 2 ]; arginout.value [ 0 ] = 200; arginout.value [ 1 ] = 200; short[] _ret; _ret = new short[ 2 ]; _ret [ 0 ] = 200; _ret [ 1 ] = 200; return (_ret); } public int[] op34(int[] argin, C_array_e_longHolder argout, C_array_e_longHolder arginout ) { if (!(true && (argin [ 0 ] == -100000) && (argin [ 1 ] == -100000))) { fail("argin value error in op34"); } if (!( true && (arginout.value [ 0 ] == -100000) && (arginout.value [ 1 ] == -100000) ) ) { fail("arginout value error in op34"); } argout.value = new int[ 2 ]; argout.value [ 0 ] = -200000; argout.value [ 1 ] = -200000; arginout.value = new int[ 2 ]; arginout.value [ 0 ] = -200000; arginout.value [ 1 ] = -200000; int[] _ret; _ret = new int[ 2 ]; _ret [ 0 ] = -200000; _ret [ 1 ] = -200000; return (_ret); } public int[] op35(int[] argin, C_array_e_ulongHolder argout, C_array_e_ulongHolder arginout ) { if (!(true && (argin [ 0 ] == 100000) && (argin [ 1 ] == 100000))) { fail("argin value error in op35"); } if (!( true && (arginout.value [ 0 ] == 100000) && (arginout.value [ 1 ] == 100000) ) ) { fail("arginout value error in op35"); } argout.value = new int[ 2 ]; argout.value [ 0 ] = 200000; argout.value [ 1 ] = 200000; arginout.value = new int[ 2 ]; arginout.value [ 0 ] = 200000; arginout.value [ 1 ] = 200000; int[] _ret; _ret = new int[ 2 ]; _ret [ 0 ] = 200000; _ret [ 1 ] = 200000; return (_ret); } public float[] op36(float[] argin, C_array_e_floatHolder argout, C_array_e_floatHolder arginout ) { if (!(true && (argin [ 0 ] == 0.123f) && (argin [ 1 ] == 0.123f))) { fail("argin value error in op36"); } if (!( true && (arginout.value [ 0 ] == 0.123f) && (arginout.value [ 1 ] == 0.123f) ) ) { fail("arginout value error in op36"); } argout.value = new float[ 2 ]; argout.value [ 0 ] = 1.234f; argout.value [ 1 ] = 1.234f; arginout.value = new float[ 2 ]; arginout.value [ 0 ] = 1.234f; arginout.value [ 1 ] = 1.234f; float[] _ret; _ret = new float[ 2 ]; _ret [ 0 ] = 1.234f; _ret [ 1 ] = 1.234f; return (_ret); } public double[] op37(double[] argin, C_array_e_doubleHolder argout, C_array_e_doubleHolder arginout ) { if (!(true && (argin [ 0 ] == 0.12e3) && (argin [ 1 ] == 0.12e3))) { fail("argin value error in op37"); } if (!( true && (arginout.value [ 0 ] == 0.12e3) && (arginout.value [ 1 ] == 0.12e3) ) ) { fail("arginout value error in op37"); } argout.value = new double[ 2 ]; argout.value [ 0 ] = 1.23e4; argout.value [ 1 ] = 1.23e4; arginout.value = new double[ 2 ]; arginout.value [ 0 ] = 1.23e4; arginout.value [ 1 ] = 1.23e4; double[] _ret; _ret = new double[ 2 ]; _ret [ 0 ] = 1.23e4; _ret [ 1 ] = 1.23e4; return (_ret); } public char[] op38(char[] argin, C_array_e_charHolder argout, C_array_e_charHolder arginout ) { if (!(true && (argin [ 0 ] == 'a') && (argin [ 1 ] == 'a'))) { fail("argin value error in op38"); } if (!( true && (arginout.value [ 0 ] == 'a') && (arginout.value [ 1 ] == 'a') ) ) { fail("arginout value error in op38"); } argout.value = new char[ 2 ]; argout.value [ 0 ] = 'b'; argout.value [ 1 ] = 'b'; arginout.value = new char[ 2 ]; arginout.value [ 0 ] = 'b'; arginout.value [ 1 ] = 'b'; char[] _ret; _ret = new char[ 2 ]; _ret [ 0 ] = 'b'; _ret [ 1 ] = 'b'; return (_ret); } public boolean[] op39(boolean[] argin, C_array_e_booleanHolder argout, C_array_e_booleanHolder arginout ) { if (!(true && (argin [ 0 ] == false) && (argin [ 1 ] == false))) { fail("argin value error in op39"); } if (!( true && (arginout.value [ 0 ] == false) && (arginout.value [ 1 ] == false) ) ) { fail("arginout value error in op39"); } argout.value = new boolean[ 2 ]; argout.value [ 0 ] = true; argout.value [ 1 ] = true; arginout.value = new boolean[ 2 ]; arginout.value [ 0 ] = true; arginout.value [ 1 ] = true; boolean[] _ret; _ret = new boolean[ 2 ]; _ret [ 0 ] = true; _ret [ 1 ] = true; return (_ret); } public byte[] op40(byte[] argin, C_array_e_octetHolder argout, C_array_e_octetHolder arginout ) { if (!(true && (argin [ 0 ] == 10) && (argin [ 1 ] == 10))) { fail("argin value error in op40"); } if (!( true && (arginout.value [ 0 ] == 10) && (arginout.value [ 1 ] == 10) )) { fail("arginout value error in op40"); } argout.value = new byte[ 2 ]; argout.value [ 0 ] = 20; argout.value [ 1 ] = 20; arginout.value = new byte[ 2 ]; arginout.value [ 0 ] = 20; arginout.value [ 1 ] = 20; byte[] _ret; _ret = new byte[ 2 ]; _ret [ 0 ] = 20; _ret [ 1 ] = 20; return (_ret); } public org.omg.CORBA.Any[] op41(org.omg.CORBA.Any[] argin, C_array_e_anyHolder argout, C_array_e_anyHolder arginout ) { if (!(true && comp_0085(argin [ 0 ]) && comp_0085(argin [ 1 ]))) { fail("argin value error in op41"); } if (!( true && comp_0085(arginout.value [ 0 ]) && comp_0085(arginout.value [ 1 ]) ) ) { fail("arginout value error in op41"); } argout.value = new org.omg.CORBA.Any[ 2 ]; argout.value [ 0 ] = orb.create_any(); argout.value [ 0 ].insert_long(-200000); argout.value [ 1 ] = orb.create_any(); argout.value [ 1 ].insert_long(-200000); arginout.value = new org.omg.CORBA.Any[ 2 ]; arginout.value [ 0 ] = orb.create_any(); arginout.value [ 0 ].insert_long(-200000); arginout.value [ 1 ] = orb.create_any(); arginout.value [ 1 ].insert_long(-200000); org.omg.CORBA.Any[] _ret; _ret = new org.omg.CORBA.Any[ 2 ]; _ret [ 0 ] = orb.create_any(); _ret [ 0 ].insert_long(-200000); _ret [ 1 ] = orb.create_any(); _ret [ 1 ].insert_long(-200000); return (_ret); } public String[] op42(String[] argin, C_array_e_stringHolder argout, C_array_e_stringHolder arginout ) { if (!(true && (argin [ 0 ].equals("abc")) && (argin [ 1 ].equals("abc")))) { fail("argin value error in op42"); } if (!( true && (arginout.value [ 0 ].equals("abc")) && (arginout.value [ 1 ].equals("abc")) ) ) { fail("arginout value error in op42"); } argout.value = new String[ 2 ]; argout.value [ 0 ] = "def"; argout.value [ 1 ] = "def"; arginout.value = new String[ 2 ]; arginout.value [ 0 ] = "def"; arginout.value [ 1 ] = "def"; String[] _ret; _ret = new String[ 2 ]; _ret [ 0 ] = "def"; _ret [ 1 ] = "def"; return (_ret); } public org.omg.CORBA.Object[] op43(org.omg.CORBA.Object[] argin, C_array_e_ObjectHolder argout, C_array_e_ObjectHolder arginout ) { if (!( true && (argin [ 0 ]._is_equivalent(target)) && (argin [ 1 ]._is_equivalent(target)) ) ) { fail("argin value error in op43"); } if (!( true && (arginout.value [ 0 ]._is_equivalent(target)) && (arginout.value [ 1 ]._is_equivalent(target)) ) ) { fail("arginout value error in op43"); } argout.value = new org.omg.CORBA.Object[ 2 ]; argout.value [ 0 ] = target; argout.value [ 1 ] = target; arginout.value = new org.omg.CORBA.Object[ 2 ]; arginout.value [ 0 ] = target; arginout.value [ 1 ] = target; org.omg.CORBA.Object[] _ret; _ret = new org.omg.CORBA.Object[ 2 ]; _ret [ 0 ] = target; _ret [ 1 ] = target; return (_ret); } public D_d_short op46(D_d_short argin, D_d_shortHolder argout, D_d_shortHolder arginout ) { if (!comp_0086(argin)) { fail("argin value error in op46"); } if (!comp_0086(arginout.value)) { fail("arginout value error in op46"); } argout.value = cons_0037(); arginout.value = cons_0037(); D_d_short _ret; _ret = cons_0037(); return (_ret); } public D_d_ushort op47(D_d_ushort argin, D_d_ushortHolder argout, D_d_ushortHolder arginout ) { if (!comp_0087(argin)) { fail("argin value error in op47"); } if (!comp_0087(arginout.value)) { fail("arginout value error in op47"); } argout.value = cons_0038(); arginout.value = cons_0038(); D_d_ushort _ret; _ret = cons_0038(); return (_ret); } public D_d_long op48(D_d_long argin, D_d_longHolder argout, D_d_longHolder arginout ) { if (!comp_0088(argin)) { fail("argin value error in op48"); } if (!comp_0088(arginout.value)) { fail("arginout value error in op48"); } argout.value = cons_0039(); arginout.value = cons_0039(); D_d_long _ret; _ret = cons_0039(); return (_ret); } public D_d_ulong op49(D_d_ulong argin, D_d_ulongHolder argout, D_d_ulongHolder arginout ) { if (!comp_0089(argin)) { fail("argin value error in op49"); } if (!comp_0089(arginout.value)) { fail("arginout value error in op49"); } argout.value = cons_0040(); arginout.value = cons_0040(); D_d_ulong _ret; _ret = cons_0040(); return (_ret); } public D_d_char op50(D_d_char argin, D_d_charHolder argout, D_d_charHolder arginout ) { if (!comp_0090(argin)) { fail("argin value error in op50"); } if (!comp_0090(arginout.value)) { fail("arginout value error in op50"); } argout.value = cons_0041(); arginout.value = cons_0041(); D_d_char _ret; _ret = cons_0041(); return (_ret); } public D_d_boolean op51(D_d_boolean argin, D_d_booleanHolder argout, D_d_booleanHolder arginout ) { if (!comp_0091(argin)) { fail("argin value error in op51"); } if (!comp_0091(arginout.value)) { fail("arginout value error in op51"); } argout.value = cons_0042(); arginout.value = cons_0042(); D_d_boolean _ret; _ret = cons_0042(); return (_ret); } public D_d_B op52(D_d_B argin, D_d_BHolder argout, D_d_BHolder arginout) { if (!comp_0092(argin)) { fail("argin value error in op52"); } if (!comp_0092(arginout.value)) { fail("arginout value error in op52"); } argout.value = cons_0043(); arginout.value = cons_0043(); D_d_B _ret; _ret = cons_0043(); return (_ret); } public E_struct op53(E_struct argin, E_structHolder argout, E_structHolder arginout ) { if (!comp_0093(argin)) { fail("argin value error in op53"); } if (!comp_0093(arginout.value)) { fail("arginout value error in op53"); } argout.value = cons_0044(); arginout.value = cons_0044(); E_struct _ret; _ret = cons_0044(); return (_ret); } public E_union op54(E_union argin, E_unionHolder argout, E_unionHolder arginout ) { if (!comp_0094(argin)) { fail("argin value error in op54"); } if (!comp_0094(arginout.value)) { fail("arginout value error in op54"); } argout.value = cons_0045(); arginout.value = cons_0045(); E_union _ret; _ret = cons_0045(); return (_ret); } public B[] op55(B[] argin, E_sequenceHolder argout, E_sequenceHolder arginout) { if (!(true && (argin [ 0 ] == B.b1) && (argin [ 1 ] == B.b1))) { fail("argin value error in op55"); } if (!( true && (arginout.value [ 0 ] == B.b1) && (arginout.value [ 1 ] == B.b1) ) ) { fail("arginout value error in op55"); } argout.value = new B[ 2 ]; argout.value [ 0 ] = B.b2; argout.value [ 1 ] = B.b2; arginout.value = new B[ 2 ]; arginout.value [ 0 ] = B.b2; arginout.value [ 1 ] = B.b2; B[] _ret; _ret = new B[ 2 ]; _ret [ 0 ] = B.b2; _ret [ 1 ] = B.b2; return (_ret); } public B[] op56(B[] argin, E_arrayHolder argout, E_arrayHolder arginout) { if (!(true && (argin [ 0 ] == B.b1) && (argin [ 1 ] == B.b1))) { fail("argin value error in op56"); } if (!( true && (arginout.value [ 0 ] == B.b1) && (arginout.value [ 1 ] == B.b1) ) ) { fail("arginout value error in op56"); } argout.value = new B[ 2 ]; argout.value [ 0 ] = B.b2; argout.value [ 1 ] = B.b2; arginout.value = new B[ 2 ]; arginout.value [ 0 ] = B.b2; arginout.value [ 1 ] = B.b2; B[] _ret; _ret = new B[ 2 ]; _ret [ 0 ] = B.b2; _ret [ 1 ] = B.b2; return (_ret); } public F_struct op57(F_struct argin, F_structHolder argout, F_structHolder arginout ) { if (!comp_0095(argin)) { fail("argin value error in op57"); } if (!comp_0095(arginout.value)) { fail("arginout value error in op57"); } argout.value = cons_0046(); arginout.value = cons_0046(); F_struct _ret; _ret = cons_0046(); return (_ret); } public F_union op58(F_union argin, F_unionHolder argout, F_unionHolder arginout ) { if (!comp_0099(argin)) { fail("argin value error in op58"); } if (!comp_0099(arginout.value)) { fail("arginout value error in op58"); } argout.value = cons_0049(); arginout.value = cons_0049(); F_union _ret; _ret = cons_0049(); return (_ret); } public C_struct[] op59(C_struct[] argin, F_sequence_e_c_structHolder argout, F_sequence_e_c_structHolder arginout ) { if (!(true && comp_0102(argin [ 0 ]) && comp_0102(argin [ 1 ]))) { fail("argin value error in op59"); } if (!( true && comp_0102(arginout.value [ 0 ]) && comp_0102(arginout.value [ 1 ]) ) ) { fail("arginout value error in op59"); } argout.value = new C_struct[ 2 ]; argout.value [ 0 ] = cons_0051(); argout.value [ 1 ] = cons_0051(); arginout.value = new C_struct[ 2 ]; arginout.value [ 0 ] = cons_0051(); arginout.value [ 1 ] = cons_0051(); C_struct[] _ret; _ret = new C_struct[ 2 ]; _ret [ 0 ] = cons_0051(); _ret [ 1 ] = cons_0051(); return (_ret); } public C_union[] op60(C_union[] argin, F_sequence_e_c_unionHolder argout, F_sequence_e_c_unionHolder arginout ) { if (!(true && comp_0104(argin [ 0 ]) && comp_0104(argin [ 1 ]))) { fail("argin value error in op60"); } if (!( true && comp_0104(arginout.value [ 0 ]) && comp_0104(arginout.value [ 1 ]) ) ) { fail("arginout value error in op60"); } argout.value = new C_union[ 2 ]; argout.value [ 0 ] = cons_0052(); argout.value [ 1 ] = cons_0052(); arginout.value = new C_union[ 2 ]; arginout.value [ 0 ] = cons_0052(); arginout.value [ 1 ] = cons_0052(); C_union[] _ret; _ret = new C_union[ 2 ]; _ret [ 0 ] = cons_0052(); _ret [ 1 ] = cons_0052(); return (_ret); } public C_struct[] op89(C_struct[] argin, F_array_e_c_structHolder argout, F_array_e_c_structHolder arginout ) { if (!(true && comp_0105(argin [ 0 ]) && comp_0105(argin [ 1 ]))) { fail("argin value error in op89"); } if (!( true && comp_0105(arginout.value [ 0 ]) && comp_0105(arginout.value [ 1 ]) ) ) { fail("arginout value error in op89"); } argout.value = new C_struct[ 2 ]; argout.value [ 0 ] = cons_0053(); argout.value [ 1 ] = cons_0053(); arginout.value = new C_struct[ 2 ]; arginout.value [ 0 ] = cons_0053(); arginout.value [ 1 ] = cons_0053(); C_struct[] _ret; _ret = new C_struct[ 2 ]; _ret [ 0 ] = cons_0053(); _ret [ 1 ] = cons_0053(); return (_ret); } public C_union[] op90(C_union[] argin, F_array_e_c_unionHolder argout, F_array_e_c_unionHolder arginout ) { if (!(true && comp_0107(argin [ 0 ]) && comp_0107(argin [ 1 ]))) { fail("argin value error in op90"); } if (!( true && comp_0107(arginout.value [ 0 ]) && comp_0107(arginout.value [ 1 ]) ) ) { fail("arginout value error in op90"); } argout.value = new C_union[ 2 ]; argout.value [ 0 ] = cons_0054(); argout.value [ 1 ] = cons_0054(); arginout.value = new C_union[ 2 ]; arginout.value [ 0 ] = cons_0054(); arginout.value [ 1 ] = cons_0054(); C_union[] _ret; _ret = new C_union[ 2 ]; _ret [ 0 ] = cons_0054(); _ret [ 1 ] = cons_0054(); return (_ret); } public G_struct op119(G_struct argin, G_structHolder argout, G_structHolder arginout ) { if (!comp_0108(argin)) { fail("argin value error in op119"); } if (!comp_0108(arginout.value)) { fail("arginout value error in op119"); } argout.value = cons_0055(); arginout.value = cons_0055(); G_struct _ret; _ret = cons_0055(); return (_ret); } public G_union op120(G_union argin, G_unionHolder argout, G_unionHolder arginout ) { if (!comp_0111(argin)) { fail("argin value error in op120"); } if (!comp_0111(arginout.value)) { fail("arginout value error in op120"); } argout.value = cons_0058(); arginout.value = cons_0058(); G_union _ret; _ret = cons_0058(); return (_ret); } public E_struct[] op121(E_struct[] argin, G_sequence_e_e_structHolder argout, G_sequence_e_e_structHolder arginout ) { if (!(true && comp_0113(argin [ 0 ]) && comp_0113(argin [ 1 ]))) { fail("argin value error in op121"); } if (!( true && comp_0113(arginout.value [ 0 ]) && comp_0113(arginout.value [ 1 ]) ) ) { fail("arginout value error in op121"); } argout.value = new E_struct[ 2 ]; argout.value [ 0 ] = cons_0060(); argout.value [ 1 ] = cons_0060(); arginout.value = new E_struct[ 2 ]; arginout.value [ 0 ] = cons_0060(); arginout.value [ 1 ] = cons_0060(); E_struct[] _ret; _ret = new E_struct[ 2 ]; _ret [ 0 ] = cons_0060(); _ret [ 1 ] = cons_0060(); return (_ret); } public E_union[] op122(E_union[] argin, G_sequence_e_e_unionHolder argout, G_sequence_e_e_unionHolder arginout ) { if (!(true && comp_0114(argin [ 0 ]) && comp_0114(argin [ 1 ]))) { fail("argin value error in op122"); } if (!( true && comp_0114(arginout.value [ 0 ]) && comp_0114(arginout.value [ 1 ]) ) ) { fail("arginout value error in op122"); } argout.value = new E_union[ 2 ]; argout.value [ 0 ] = cons_0061(); argout.value [ 1 ] = cons_0061(); arginout.value = new E_union[ 2 ]; arginout.value [ 0 ] = cons_0061(); arginout.value [ 1 ] = cons_0061(); E_union[] _ret; _ret = new E_union[ 2 ]; _ret [ 0 ] = cons_0061(); _ret [ 1 ] = cons_0061(); return (_ret); } public E_struct[] op125(E_struct[] argin, G_array_e_e_structHolder argout, G_array_e_e_structHolder arginout ) { if (!(true && comp_0115(argin [ 0 ]) && comp_0115(argin [ 1 ]))) { fail("argin value error in op125"); } if (!( true && comp_0115(arginout.value [ 0 ]) && comp_0115(arginout.value [ 1 ]) ) ) { fail("arginout value error in op125"); } argout.value = new E_struct[ 2 ]; argout.value [ 0 ] = cons_0062(); argout.value [ 1 ] = cons_0062(); arginout.value = new E_struct[ 2 ]; arginout.value [ 0 ] = cons_0062(); arginout.value [ 1 ] = cons_0062(); E_struct[] _ret; _ret = new E_struct[ 2 ]; _ret [ 0 ] = cons_0062(); _ret [ 1 ] = cons_0062(); return (_ret); } public E_union[] op126(E_union[] argin, G_array_e_e_unionHolder argout, G_array_e_e_unionHolder arginout ) { if (!(true && comp_0116(argin [ 0 ]) && comp_0116(argin [ 1 ]))) { fail("argin value error in op126"); } if (!( true && comp_0116(arginout.value [ 0 ]) && comp_0116(arginout.value [ 1 ]) ) ) { fail("arginout value error in op126"); } argout.value = new E_union[ 2 ]; argout.value [ 0 ] = cons_0063(); argout.value [ 1 ] = cons_0063(); arginout.value = new E_union[ 2 ]; arginout.value [ 0 ] = cons_0063(); arginout.value [ 1 ] = cons_0063(); E_union[] _ret; _ret = new E_union[ 2 ]; _ret [ 0 ] = cons_0063(); _ret [ 1 ] = cons_0063(); return (_ret); } public F_union op129(F_union argin, F_unionHolder argout, F_unionHolder arginout ) { if (!comp_0117(argin)) { fail("argin value error in op129"); } if (!comp_0117(arginout.value)) { fail("arginout value error in op129"); } argout.value = cons_0064(); arginout.value = cons_0064(); F_union _ret; _ret = cons_0064(); return (_ret); } public F_union op130(F_union argin, F_unionHolder argout, F_unionHolder arginout ) { if (!comp_0120(argin)) { fail("argin value error in op130"); } if (!comp_0120(arginout.value)) { fail("arginout value error in op130"); } argout.value = cons_0066(); arginout.value = cons_0066(); F_union _ret; _ret = cons_0066(); return (_ret); } public F_union op131(F_union argin, F_unionHolder argout, F_unionHolder arginout ) { if (!comp_0123(argin)) { fail("argin value error in op131"); } if (!comp_0123(arginout.value)) { fail("arginout value error in op131"); } argout.value = cons_0068(); arginout.value = cons_0068(); F_union _ret; _ret = cons_0068(); return (_ret); } public void excop1() throws A_except1 { A_except1 _exc; _exc = cons_0070(); throw (_exc); } public void excop2() throws A_except2 { A_except2 _exc; _exc = cons_0071(); throw (_exc); } public void excop3() throws B_except { B_except _exc; _exc = cons_0072(); throw (_exc); } public void excop4() throws C_except { C_except _exc; _exc = cons_0073(); throw (_exc); } public void excop5() throws D_except { D_except _exc; _exc = cons_0076(); throw (_exc); } public void excop6() throws E_except { E_except _exc; _exc = cons_0084(); throw (_exc); } public void excop7() throws F_except1 { F_except1 _exc; _exc = cons_0087(); throw (_exc); } public void excop8() throws F_except2 { F_except2 _exc; _exc = cons_0092(); throw (_exc); } public void excop9() throws F_except3 { F_except3 _exc; _exc = cons_0095(); throw (_exc); } public void excop10() throws G_except { G_except _exc; _exc = cons_0098(); throw (_exc); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/F_except3Holder.java0000644000175000001440000000367410250313742023344 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class F_except3Holder implements org.omg.CORBA.portable.Streamable { public F_except3 value = null; public F_except3Holder() { } public F_except3Holder(F_except3 initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = F_except3Helper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { F_except3Helper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return F_except3Helper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/E_sequenceHelper.java0000644000175000001440000000600510451015575023577 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class E_sequenceHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/E_sequence:1.0"; public static void insert(org.omg.CORBA.Any a, B[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static B[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = BHelper.type(); __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(E_sequenceHelper.id(), "E_sequence", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static B[] read(org.omg.CORBA.portable.InputStream istream) { B[] value = null; int _len0 = istream.read_long(); value = new B[ _len0 ]; for (int _o1 = 0; _o1 < value.length; ++_o1) value [ _o1 ] = BHelper.read(istream); return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, B[] value ) { ostream.write_long(value.length); for (int _i0 = 0; _i0 < value.length; ++_i0) BHelper.write(ostream, value [ _i0 ]); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/F_except3.java0000644000175000001440000000337010250313742022177 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class F_except3 extends org.omg.CORBA.UserException implements org.omg.CORBA.portable.IDLEntity { public C_struct[] v62 = null; public C_union[] v63 = null; public F_except3() { } // ctor public F_except3(C_struct[] _v62, C_union[] _v63) { v62 = _v62; v63 = _v63; } // ctor } // class F_except3 mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_longHelper.java0000644000175000001440000001114410451015575023230 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class D_d_longHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_long:1.0"; public static void insert(org.omg.CORBA.Any a, D_d_long that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static D_d_long extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { org.omg.CORBA.TypeCode _disTypeCode0; _disTypeCode0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); org.omg.CORBA.UnionMember[] _members0 = new org.omg.CORBA.UnionMember[ 2 ]; org.omg.CORBA.TypeCode _tcOf_members0; org.omg.CORBA.Any _anyOf_members0; // Branch for l1 _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 1); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); _members0 [ 0 ] = new org.omg.CORBA.UnionMember("l1", _anyOf_members0, _tcOf_members0, null ); // Branch for l2 _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 2); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); _members0 [ 1 ] = new org.omg.CORBA.UnionMember("l2", _anyOf_members0, _tcOf_members0, null ); __typeCode = org.omg.CORBA.ORB.init().create_union_tc(D_d_longHelper.id(), "D_d_long", _disTypeCode0, _members0 ); } return __typeCode; } public static String id() { return _id; } public static D_d_long read(org.omg.CORBA.portable.InputStream istream) { D_d_long value = new D_d_long(); int _dis0 = (int) 0; _dis0 = istream.read_long(); switch (_dis0) { case 1 : int _l1 = (int) 0; _l1 = istream.read_long(); value.l1(_l1); break; case 2 : int _l2 = (int) 0; _l2 = istream.read_long(); value.l2(_l2); break; default : throw new org.omg.CORBA.BAD_OPERATION(); } return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, D_d_long value ) { ostream.write_long(value.discriminator()); switch (value.discriminator()) { case 1 : ostream.write_long(value.l1()); break; case 2 : ostream.write_long(value.l2()); break; default : throw new org.omg.CORBA.BAD_OPERATION(); } } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/F_except2Helper.java0000644000175000001440000001160610451015575023345 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class F_except2Helper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/F_except2:1.0"; public static void insert(org.omg.CORBA.Any a, F_except2 that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static F_except2 extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; private static boolean __active = false; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { synchronized (org.omg.CORBA.TypeCode.class) { if (__typeCode == null) { if (__active) { return org.omg.CORBA.ORB.init().create_recursive_tc(_id); } __active = true; org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember[ 2 ]; org.omg.CORBA.TypeCode _tcOf_members0 = null; _tcOf_members0 = C_structHelper.type(); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(F_sequence_e_c_structHelper.id(), "F_sequence_e_c_struct", _tcOf_members0 ); _members0 [ 0 ] = new org.omg.CORBA.StructMember("v32", _tcOf_members0, null); _tcOf_members0 = C_unionHelper.type(); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(F_sequence_e_c_unionHelper.id(), "F_sequence_e_c_union", _tcOf_members0 ); _members0 [ 1 ] = new org.omg.CORBA.StructMember("v33", _tcOf_members0, null); __typeCode = org.omg.CORBA.ORB.init().create_struct_tc(F_except2Helper.id(), "F_except2", _members0 ); __active = false; } } } return __typeCode; } public static String id() { return _id; } public static F_except2 read(org.omg.CORBA.portable.InputStream istream) { F_except2 value = new F_except2(); // read and discard the repository ID istream.read_string(); value.v32 = F_sequence_e_c_structHelper.read(istream); value.v33 = F_sequence_e_c_unionHelper.read(istream); return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, F_except2 value ) { // write the repository ID ostream.write_string(id()); F_sequence_e_c_structHelper.write(ostream, value.v32); F_sequence_e_c_unionHelper.write(ostream, value.v33); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/F_sequence_e_c_unionHolder.java0000644000175000001440000000377610250313742025622 0ustar dokousers // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class F_sequence_e_c_unionHolder implements org.omg.CORBA.portable.Streamable { public C_union[] value = null; public F_sequence_e_c_unionHolder() { } public F_sequence_e_c_unionHolder(C_union[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = F_sequence_e_c_unionHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { F_sequence_e_c_unionHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return F_sequence_e_c_unionHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_ulongHelper.java0000644000175000001440000001116310451015575023416 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class D_d_ulongHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_ulong:1.0"; public static void insert(org.omg.CORBA.Any a, D_d_ulong that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static D_d_ulong extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { org.omg.CORBA.TypeCode _disTypeCode0; _disTypeCode0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_ulong); org.omg.CORBA.UnionMember[] _members0 = new org.omg.CORBA.UnionMember[ 2 ]; org.omg.CORBA.TypeCode _tcOf_members0; org.omg.CORBA.Any _anyOf_members0; // Branch for l1 _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_ulong((int) 1); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); _members0 [ 0 ] = new org.omg.CORBA.UnionMember("l1", _anyOf_members0, _tcOf_members0, null ); // Branch for l2 _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_ulong((int) 2); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); _members0 [ 1 ] = new org.omg.CORBA.UnionMember("l2", _anyOf_members0, _tcOf_members0, null ); __typeCode = org.omg.CORBA.ORB.init().create_union_tc(D_d_ulongHelper.id(), "D_d_ulong", _disTypeCode0, _members0 ); } return __typeCode; } public static String id() { return _id; } public static D_d_ulong read(org.omg.CORBA.portable.InputStream istream) { D_d_ulong value = new D_d_ulong(); int _dis0 = (int) 0; _dis0 = istream.read_ulong(); switch (_dis0) { case 1 : int _l1 = (int) 0; _l1 = istream.read_long(); value.l1(_l1); break; case 2 : int _l2 = (int) 0; _l2 = istream.read_long(); value.l2(_l2); break; default : throw new org.omg.CORBA.BAD_OPERATION(); } return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, D_d_ulong value ) { ostream.write_ulong(value.discriminator()); switch (value.discriminator()) { case 1 : ostream.write_long(value.l1()); break; case 2 : ostream.write_long(value.l2()); break; default : throw new org.omg.CORBA.BAD_OPERATION(); } } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_longHelper.java0000644000175000001440000000611210451015575025117 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class C_sequence_e_longHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_long:1.0"; public static void insert(org.omg.CORBA.Any a, int[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static int[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_longHelper.id(), "C_sequence_e_long", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static int[] read(org.omg.CORBA.portable.InputStream istream) { int[] value = null; int _len0 = istream.read_long(); value = new int[ _len0 ]; istream.read_long_array(value, 0, _len0); return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, int[] value ) { ostream.write_long(value.length); ostream.write_long_array(value, 0, value.length); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/F_union.java0000644000175000001440000003673610250313742021770 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class F_union implements org.omg.CORBA.portable.IDLEntity { private C_struct ___e_c_struct; private C_union ___e_c_union; private short[] ___e_c_sequence_e_short; private short[] ___e_c_sequence_e_ushort; private int[] ___e_c_sequence_e_long; private int[] ___e_c_sequence_e_ulong; private float[] ___e_c_sequence_e_float; private double[] ___e_c_sequence_e_double; private char[] ___e_c_sequence_e_char; private boolean[] ___e_c_sequence_e_boolean; private byte[] ___e_c_sequence_e_octet; private org.omg.CORBA.Any[] ___e_c_sequence_e_any; private String[] ___e_c_sequence_e_string; private org.omg.CORBA.Object[] ___e_c_sequence_e_Object; private short[] ___e_c_array_e_short; private short[] ___e_c_array_e_ushort; private int[] ___e_c_array_e_long; private int[] ___e_c_array_e_ulong; private float[] ___e_c_array_e_float; private double[] ___e_c_array_e_double; private char[] ___e_c_array_e_char; private boolean[] ___e_c_array_e_boolean; private byte[] ___e_c_array_e_octet; private org.omg.CORBA.Any[] ___e_c_array_e_any; private String[] ___e_c_array_e_string; private org.omg.CORBA.Object[] ___e_c_array_e_Object; private int __discriminator; private boolean __uninitialized = true; public F_union() { } public int discriminator() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); return __discriminator; } public C_struct e_c_struct() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_c_struct(__discriminator); return ___e_c_struct; } public void e_c_struct(C_struct value) { __discriminator = 1; ___e_c_struct = value; __uninitialized = false; } private void verifye_c_struct(int discriminator) { if (discriminator != 1) throw new org.omg.CORBA.BAD_OPERATION(); } public C_union e_c_union() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_c_union(__discriminator); return ___e_c_union; } public void e_c_union(C_union value) { __discriminator = 2; ___e_c_union = value; __uninitialized = false; } private void verifye_c_union(int discriminator) { if (discriminator != 2) throw new org.omg.CORBA.BAD_OPERATION(); } public short[] e_c_sequence_e_short() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_c_sequence_e_short(__discriminator); return ___e_c_sequence_e_short; } public void e_c_sequence_e_short(short[] value) { __discriminator = 3; ___e_c_sequence_e_short = value; __uninitialized = false; } private void verifye_c_sequence_e_short(int discriminator) { if (discriminator != 3) throw new org.omg.CORBA.BAD_OPERATION(); } public short[] e_c_sequence_e_ushort() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_c_sequence_e_ushort(__discriminator); return ___e_c_sequence_e_ushort; } public void e_c_sequence_e_ushort(short[] value) { __discriminator = 4; ___e_c_sequence_e_ushort = value; __uninitialized = false; } private void verifye_c_sequence_e_ushort(int discriminator) { if (discriminator != 4) throw new org.omg.CORBA.BAD_OPERATION(); } public int[] e_c_sequence_e_long() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_c_sequence_e_long(__discriminator); return ___e_c_sequence_e_long; } public void e_c_sequence_e_long(int[] value) { __discriminator = 5; ___e_c_sequence_e_long = value; __uninitialized = false; } private void verifye_c_sequence_e_long(int discriminator) { if (discriminator != 5) throw new org.omg.CORBA.BAD_OPERATION(); } public int[] e_c_sequence_e_ulong() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_c_sequence_e_ulong(__discriminator); return ___e_c_sequence_e_ulong; } public void e_c_sequence_e_ulong(int[] value) { __discriminator = 6; ___e_c_sequence_e_ulong = value; __uninitialized = false; } private void verifye_c_sequence_e_ulong(int discriminator) { if (discriminator != 6) throw new org.omg.CORBA.BAD_OPERATION(); } public float[] e_c_sequence_e_float() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_c_sequence_e_float(__discriminator); return ___e_c_sequence_e_float; } public void e_c_sequence_e_float(float[] value) { __discriminator = 7; ___e_c_sequence_e_float = value; __uninitialized = false; } private void verifye_c_sequence_e_float(int discriminator) { if (discriminator != 7) throw new org.omg.CORBA.BAD_OPERATION(); } public double[] e_c_sequence_e_double() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_c_sequence_e_double(__discriminator); return ___e_c_sequence_e_double; } public void e_c_sequence_e_double(double[] value) { __discriminator = 8; ___e_c_sequence_e_double = value; __uninitialized = false; } private void verifye_c_sequence_e_double(int discriminator) { if (discriminator != 8) throw new org.omg.CORBA.BAD_OPERATION(); } public char[] e_c_sequence_e_char() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_c_sequence_e_char(__discriminator); return ___e_c_sequence_e_char; } public void e_c_sequence_e_char(char[] value) { __discriminator = 9; ___e_c_sequence_e_char = value; __uninitialized = false; } private void verifye_c_sequence_e_char(int discriminator) { if (discriminator != 9) throw new org.omg.CORBA.BAD_OPERATION(); } public boolean[] e_c_sequence_e_boolean() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_c_sequence_e_boolean(__discriminator); return ___e_c_sequence_e_boolean; } public void e_c_sequence_e_boolean(boolean[] value) { __discriminator = 10; ___e_c_sequence_e_boolean = value; __uninitialized = false; } private void verifye_c_sequence_e_boolean(int discriminator) { if (discriminator != 10) throw new org.omg.CORBA.BAD_OPERATION(); } public byte[] e_c_sequence_e_octet() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_c_sequence_e_octet(__discriminator); return ___e_c_sequence_e_octet; } public void e_c_sequence_e_octet(byte[] value) { __discriminator = 11; ___e_c_sequence_e_octet = value; __uninitialized = false; } private void verifye_c_sequence_e_octet(int discriminator) { if (discriminator != 11) throw new org.omg.CORBA.BAD_OPERATION(); } public org.omg.CORBA.Any[] e_c_sequence_e_any() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_c_sequence_e_any(__discriminator); return ___e_c_sequence_e_any; } public void e_c_sequence_e_any(org.omg.CORBA.Any[] value) { __discriminator = 12; ___e_c_sequence_e_any = value; __uninitialized = false; } private void verifye_c_sequence_e_any(int discriminator) { if (discriminator != 12) throw new org.omg.CORBA.BAD_OPERATION(); } public String[] e_c_sequence_e_string() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_c_sequence_e_string(__discriminator); return ___e_c_sequence_e_string; } public void e_c_sequence_e_string(String[] value) { __discriminator = 13; ___e_c_sequence_e_string = value; __uninitialized = false; } private void verifye_c_sequence_e_string(int discriminator) { if (discriminator != 13) throw new org.omg.CORBA.BAD_OPERATION(); } public org.omg.CORBA.Object[] e_c_sequence_e_Object() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_c_sequence_e_Object(__discriminator); return ___e_c_sequence_e_Object; } public void e_c_sequence_e_Object(org.omg.CORBA.Object[] value) { __discriminator = 14; ___e_c_sequence_e_Object = value; __uninitialized = false; } private void verifye_c_sequence_e_Object(int discriminator) { if (discriminator != 14) throw new org.omg.CORBA.BAD_OPERATION(); } public short[] e_c_array_e_short() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_c_array_e_short(__discriminator); return ___e_c_array_e_short; } public void e_c_array_e_short(short[] value) { __discriminator = 17; ___e_c_array_e_short = value; __uninitialized = false; } private void verifye_c_array_e_short(int discriminator) { if (discriminator != 17) throw new org.omg.CORBA.BAD_OPERATION(); } public short[] e_c_array_e_ushort() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_c_array_e_ushort(__discriminator); return ___e_c_array_e_ushort; } public void e_c_array_e_ushort(short[] value) { __discriminator = 18; ___e_c_array_e_ushort = value; __uninitialized = false; } private void verifye_c_array_e_ushort(int discriminator) { if (discriminator != 18) throw new org.omg.CORBA.BAD_OPERATION(); } public int[] e_c_array_e_long() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_c_array_e_long(__discriminator); return ___e_c_array_e_long; } public void e_c_array_e_long(int[] value) { __discriminator = 19; ___e_c_array_e_long = value; __uninitialized = false; } private void verifye_c_array_e_long(int discriminator) { if (discriminator != 19) throw new org.omg.CORBA.BAD_OPERATION(); } public int[] e_c_array_e_ulong() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_c_array_e_ulong(__discriminator); return ___e_c_array_e_ulong; } public void e_c_array_e_ulong(int[] value) { __discriminator = 20; ___e_c_array_e_ulong = value; __uninitialized = false; } private void verifye_c_array_e_ulong(int discriminator) { if (discriminator != 20) throw new org.omg.CORBA.BAD_OPERATION(); } public float[] e_c_array_e_float() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_c_array_e_float(__discriminator); return ___e_c_array_e_float; } public void e_c_array_e_float(float[] value) { __discriminator = 21; ___e_c_array_e_float = value; __uninitialized = false; } private void verifye_c_array_e_float(int discriminator) { if (discriminator != 21) throw new org.omg.CORBA.BAD_OPERATION(); } public double[] e_c_array_e_double() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_c_array_e_double(__discriminator); return ___e_c_array_e_double; } public void e_c_array_e_double(double[] value) { __discriminator = 22; ___e_c_array_e_double = value; __uninitialized = false; } private void verifye_c_array_e_double(int discriminator) { if (discriminator != 22) throw new org.omg.CORBA.BAD_OPERATION(); } public char[] e_c_array_e_char() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_c_array_e_char(__discriminator); return ___e_c_array_e_char; } public void e_c_array_e_char(char[] value) { __discriminator = 23; ___e_c_array_e_char = value; __uninitialized = false; } private void verifye_c_array_e_char(int discriminator) { if (discriminator != 23) throw new org.omg.CORBA.BAD_OPERATION(); } public boolean[] e_c_array_e_boolean() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_c_array_e_boolean(__discriminator); return ___e_c_array_e_boolean; } public void e_c_array_e_boolean(boolean[] value) { __discriminator = 24; ___e_c_array_e_boolean = value; __uninitialized = false; } private void verifye_c_array_e_boolean(int discriminator) { if (discriminator != 24) throw new org.omg.CORBA.BAD_OPERATION(); } public byte[] e_c_array_e_octet() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_c_array_e_octet(__discriminator); return ___e_c_array_e_octet; } public void e_c_array_e_octet(byte[] value) { __discriminator = 25; ___e_c_array_e_octet = value; __uninitialized = false; } private void verifye_c_array_e_octet(int discriminator) { if (discriminator != 25) throw new org.omg.CORBA.BAD_OPERATION(); } public org.omg.CORBA.Any[] e_c_array_e_any() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_c_array_e_any(__discriminator); return ___e_c_array_e_any; } public void e_c_array_e_any(org.omg.CORBA.Any[] value) { __discriminator = 26; ___e_c_array_e_any = value; __uninitialized = false; } private void verifye_c_array_e_any(int discriminator) { if (discriminator != 26) throw new org.omg.CORBA.BAD_OPERATION(); } public String[] e_c_array_e_string() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_c_array_e_string(__discriminator); return ___e_c_array_e_string; } public void e_c_array_e_string(String[] value) { __discriminator = 27; ___e_c_array_e_string = value; __uninitialized = false; } private void verifye_c_array_e_string(int discriminator) { if (discriminator != 27) throw new org.omg.CORBA.BAD_OPERATION(); } public org.omg.CORBA.Object[] e_c_array_e_Object() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_c_array_e_Object(__discriminator); return ___e_c_array_e_Object; } public void e_c_array_e_Object(org.omg.CORBA.Object[] value) { __discriminator = 28; ___e_c_array_e_Object = value; __uninitialized = false; } private void verifye_c_array_e_Object(int discriminator) { if (discriminator != 28) throw new org.omg.CORBA.BAD_OPERATION(); } public void _default() { __discriminator = -2147483648; __uninitialized = false; } } // class F_union mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/BHolder.java0000644000175000001440000000360110250313742021673 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // B package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class BHolder implements org.omg.CORBA.portable.Streamable { public B value = null; public BHolder() { } public BHolder(B initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = BHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { BHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return BHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/G_exceptHelper.java0000644000175000001440000001704610451015575023270 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class G_exceptHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/G_except:1.0"; public static void insert(org.omg.CORBA.Any a, G_except that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static G_except extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; private static boolean __active = false; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { synchronized (org.omg.CORBA.TypeCode.class) { if (__typeCode == null) { if (__active) { return org.omg.CORBA.ORB.init().create_recursive_tc(_id); } __active = true; org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember[ 9 ]; org.omg.CORBA.TypeCode _tcOf_members0 = null; _tcOf_members0 = G_structHelper.type(); _members0 [ 0 ] = new org.omg.CORBA.StructMember("v1", _tcOf_members0, null); _tcOf_members0 = G_unionHelper.type(); _members0 [ 1 ] = new org.omg.CORBA.StructMember("v2", _tcOf_members0, null); _tcOf_members0 = G_unionHelper.type(); _members0 [ 2 ] = new org.omg.CORBA.StructMember("v3", _tcOf_members0, null); _tcOf_members0 = G_unionHelper.type(); _members0 [ 3 ] = new org.omg.CORBA.StructMember("v4", _tcOf_members0, null); _tcOf_members0 = G_unionHelper.type(); _members0 [ 4 ] = new org.omg.CORBA.StructMember("v5", _tcOf_members0, null); _tcOf_members0 = E_structHelper.type(); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(G_sequence_e_e_structHelper.id(), "G_sequence_e_e_struct", _tcOf_members0 ); _members0 [ 5 ] = new org.omg.CORBA.StructMember("v6", _tcOf_members0, null); _tcOf_members0 = E_unionHelper.type(); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(G_sequence_e_e_unionHelper.id(), "G_sequence_e_e_union", _tcOf_members0 ); _members0 [ 6 ] = new org.omg.CORBA.StructMember("v7", _tcOf_members0, null); _tcOf_members0 = E_structHelper.type(); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(G_array_e_e_structHelper.id(), "G_array_e_e_struct", _tcOf_members0 ); _members0 [ 7 ] = new org.omg.CORBA.StructMember("v10", _tcOf_members0, null); _tcOf_members0 = E_unionHelper.type(); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(G_array_e_e_unionHelper.id(), "G_array_e_e_union", _tcOf_members0 ); _members0 [ 8 ] = new org.omg.CORBA.StructMember("v11", _tcOf_members0, null); __typeCode = org.omg.CORBA.ORB.init().create_struct_tc(G_exceptHelper.id(), "G_except", _members0 ); __active = false; } } } return __typeCode; } public static String id() { return _id; } public static G_except read(org.omg.CORBA.portable.InputStream istream) { G_except value = new G_except(); // read and discard the repository ID istream.read_string(); value.v1 = G_structHelper.read(istream); value.v2 = G_unionHelper.read(istream); value.v3 = G_unionHelper.read(istream); value.v4 = G_unionHelper.read(istream); value.v5 = G_unionHelper.read(istream); value.v6 = G_sequence_e_e_structHelper.read(istream); value.v7 = G_sequence_e_e_unionHelper.read(istream); value.v10 = G_array_e_e_structHelper.read(istream); value.v11 = G_array_e_e_unionHelper.read(istream); return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, G_except value ) { // write the repository ID ostream.write_string(id()); G_structHelper.write(ostream, value.v1); G_unionHelper.write(ostream, value.v2); G_unionHelper.write(ostream, value.v3); G_unionHelper.write(ostream, value.v4); G_unionHelper.write(ostream, value.v5); G_sequence_e_e_structHelper.write(ostream, value.v6); G_sequence_e_e_unionHelper.write(ostream, value.v7); G_array_e_e_structHelper.write(ostream, value.v10); G_array_e_e_unionHelper.write(ostream, value.v11); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/F_array_e_c_unionHelper.java0000644000175000001440000000641510451015575025131 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class F_array_e_c_unionHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/F_array_e_c_union:1.0"; public static void insert(org.omg.CORBA.Any a, C_union[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static C_union[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = C_unionHelper.type(); __typeCode = org.omg.CORBA.ORB.init().create_array_tc(2, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(F_array_e_c_unionHelper.id(), "F_array_e_c_union", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static C_union[] read(org.omg.CORBA.portable.InputStream istream) { C_union[] value = null; value = new C_union[ 2 ]; for (int _o0 = 0; _o0 < (2); ++_o0) { value [ _o0 ] = C_unionHelper.read(istream); } return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, C_union[] value ) { if (value.length != (2)) throw new org.omg.CORBA.MARSHAL(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE ); for (int _i0 = 0; _i0 < (2); ++_i0) { C_unionHelper.write(ostream, value [ _i0 ]); } } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_booleanHelper.java0000644000175000001440000000616710451015575025611 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class C_sequence_e_booleanHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_boolean:1.0"; public static void insert(org.omg.CORBA.Any a, boolean[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static boolean[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_boolean); __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_booleanHelper.id(), "C_sequence_e_boolean", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static boolean[] read(org.omg.CORBA.portable.InputStream istream) { boolean[] value = null; int _len0 = istream.read_long(); value = new boolean[ _len0 ]; istream.read_boolean_array(value, 0, _len0); return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, boolean[] value ) { ostream.write_long(value.length); ostream.write_boolean_array(value, 0, value.length); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/E_structHelper.java0000644000175000001440000000742010451015575023315 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // E package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class E_structHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/E_struct:1.0"; public static void insert(org.omg.CORBA.Any a, E_struct that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static E_struct extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; private static boolean __active = false; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { synchronized (org.omg.CORBA.TypeCode.class) { if (__typeCode == null) { if (__active) { return org.omg.CORBA.ORB.init().create_recursive_tc(_id); } __active = true; org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember[ 2 ]; org.omg.CORBA.TypeCode _tcOf_members0 = null; _tcOf_members0 = BHelper.type(); _members0 [ 0 ] = new org.omg.CORBA.StructMember("e_b1", _tcOf_members0, null); _tcOf_members0 = BHelper.type(); _members0 [ 1 ] = new org.omg.CORBA.StructMember("e_b2", _tcOf_members0, null); __typeCode = org.omg.CORBA.ORB.init().create_struct_tc(E_structHelper.id(), "E_struct", _members0 ); __active = false; } } } return __typeCode; } public static String id() { return _id; } public static E_struct read(org.omg.CORBA.portable.InputStream istream) { E_struct value = new E_struct(); value.e_b1 = BHelper.read(istream); value.e_b2 = BHelper.read(istream); return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, E_struct value ) { BHelper.write(ostream, value.e_b1); BHelper.write(ostream, value.e_b2); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/F_unionHelper.java0000644000175000001440000010106510451015575023122 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class F_unionHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/F_union:1.0"; public static void insert(org.omg.CORBA.Any a, F_union that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static F_union extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { org.omg.CORBA.TypeCode _disTypeCode0; _disTypeCode0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); org.omg.CORBA.UnionMember[] _members0 = new org.omg.CORBA.UnionMember[ 26 ]; org.omg.CORBA.TypeCode _tcOf_members0; org.omg.CORBA.Any _anyOf_members0; // Branch for e_c_struct _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 1); _tcOf_members0 = C_structHelper.type(); _members0 [ 0 ] = new org.omg.CORBA.UnionMember("e_c_struct", _anyOf_members0, _tcOf_members0, null ); // Branch for e_c_union _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 2); _tcOf_members0 = C_unionHelper.type(); _members0 [ 1 ] = new org.omg.CORBA.UnionMember("e_c_union", _anyOf_members0, _tcOf_members0, null ); // Branch for e_c_sequence_e_short _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 3); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_short); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_shortHelper.id(), "C_sequence_e_short", _tcOf_members0 ); _members0 [ 2 ] = new org.omg.CORBA.UnionMember("e_c_sequence_e_short", _anyOf_members0, _tcOf_members0, null ); // Branch for e_c_sequence_e_ushort _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 4); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_ushort); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_ushortHelper.id(), "C_sequence_e_ushort", _tcOf_members0 ); _members0 [ 3 ] = new org.omg.CORBA.UnionMember("e_c_sequence_e_ushort", _anyOf_members0, _tcOf_members0, null ); // Branch for e_c_sequence_e_long _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 5); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_longHelper.id(), "C_sequence_e_long", _tcOf_members0 ); _members0 [ 4 ] = new org.omg.CORBA.UnionMember("e_c_sequence_e_long", _anyOf_members0, _tcOf_members0, null ); // Branch for e_c_sequence_e_ulong _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 6); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_ulong); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_ulongHelper.id(), "C_sequence_e_ulong", _tcOf_members0 ); _members0 [ 5 ] = new org.omg.CORBA.UnionMember("e_c_sequence_e_ulong", _anyOf_members0, _tcOf_members0, null ); // Branch for e_c_sequence_e_float _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 7); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_float); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_floatHelper.id(), "C_sequence_e_float", _tcOf_members0 ); _members0 [ 6 ] = new org.omg.CORBA.UnionMember("e_c_sequence_e_float", _anyOf_members0, _tcOf_members0, null ); // Branch for e_c_sequence_e_double _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 8); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_double); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_doubleHelper.id(), "C_sequence_e_double", _tcOf_members0 ); _members0 [ 7 ] = new org.omg.CORBA.UnionMember("e_c_sequence_e_double", _anyOf_members0, _tcOf_members0, null ); // Branch for e_c_sequence_e_char _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 9); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_char); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_charHelper.id(), "C_sequence_e_char", _tcOf_members0 ); _members0 [ 8 ] = new org.omg.CORBA.UnionMember("e_c_sequence_e_char", _anyOf_members0, _tcOf_members0, null ); // Branch for e_c_sequence_e_boolean _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 10); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_boolean); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_booleanHelper.id(), "C_sequence_e_boolean", _tcOf_members0 ); _members0 [ 9 ] = new org.omg.CORBA.UnionMember("e_c_sequence_e_boolean", _anyOf_members0, _tcOf_members0, null ); // Branch for e_c_sequence_e_octet _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 11); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_octet); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_octetHelper.id(), "C_sequence_e_octet", _tcOf_members0 ); _members0 [ 10 ] = new org.omg.CORBA.UnionMember("e_c_sequence_e_octet", _anyOf_members0, _tcOf_members0, null ); // Branch for e_c_sequence_e_any _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 12); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_any); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_anyHelper.id(), "C_sequence_e_any", _tcOf_members0 ); _members0 [ 11 ] = new org.omg.CORBA.UnionMember("e_c_sequence_e_any", _anyOf_members0, _tcOf_members0, null ); // Branch for e_c_sequence_e_string _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 13); _tcOf_members0 = org.omg.CORBA.ORB.init().create_string_tc(0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_stringHelper.id(), "C_sequence_e_string", _tcOf_members0 ); _members0 [ 12 ] = new org.omg.CORBA.UnionMember("e_c_sequence_e_string", _anyOf_members0, _tcOf_members0, null ); // Branch for e_c_sequence_e_Object _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 14); _tcOf_members0 = org.omg.CORBA.ObjectHelper.type(); _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_ObjectHelper.id(), "C_sequence_e_Object", _tcOf_members0 ); _members0 [ 13 ] = new org.omg.CORBA.UnionMember("e_c_sequence_e_Object", _anyOf_members0, _tcOf_members0, null ); // Branch for e_c_array_e_short _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 17); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_short); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_shortHelper.id(), "C_array_e_short", _tcOf_members0 ); _members0 [ 14 ] = new org.omg.CORBA.UnionMember("e_c_array_e_short", _anyOf_members0, _tcOf_members0, null ); // Branch for e_c_array_e_ushort _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 18); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_ushort); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_ushortHelper.id(), "C_array_e_ushort", _tcOf_members0 ); _members0 [ 15 ] = new org.omg.CORBA.UnionMember("e_c_array_e_ushort", _anyOf_members0, _tcOf_members0, null ); // Branch for e_c_array_e_long _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 19); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_longHelper.id(), "C_array_e_long", _tcOf_members0 ); _members0 [ 16 ] = new org.omg.CORBA.UnionMember("e_c_array_e_long", _anyOf_members0, _tcOf_members0, null ); // Branch for e_c_array_e_ulong _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 20); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_ulong); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_ulongHelper.id(), "C_array_e_ulong", _tcOf_members0 ); _members0 [ 17 ] = new org.omg.CORBA.UnionMember("e_c_array_e_ulong", _anyOf_members0, _tcOf_members0, null ); // Branch for e_c_array_e_float _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 21); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_float); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_floatHelper.id(), "C_array_e_float", _tcOf_members0 ); _members0 [ 18 ] = new org.omg.CORBA.UnionMember("e_c_array_e_float", _anyOf_members0, _tcOf_members0, null ); // Branch for e_c_array_e_double _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 22); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_double); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_doubleHelper.id(), "C_array_e_double", _tcOf_members0 ); _members0 [ 19 ] = new org.omg.CORBA.UnionMember("e_c_array_e_double", _anyOf_members0, _tcOf_members0, null ); // Branch for e_c_array_e_char _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 23); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_char); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_charHelper.id(), "C_array_e_char", _tcOf_members0 ); _members0 [ 20 ] = new org.omg.CORBA.UnionMember("e_c_array_e_char", _anyOf_members0, _tcOf_members0, null ); // Branch for e_c_array_e_boolean _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 24); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_boolean); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_booleanHelper.id(), "C_array_e_boolean", _tcOf_members0 ); _members0 [ 21 ] = new org.omg.CORBA.UnionMember("e_c_array_e_boolean", _anyOf_members0, _tcOf_members0, null ); // Branch for e_c_array_e_octet _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 25); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_octet); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_octetHelper.id(), "C_array_e_octet", _tcOf_members0 ); _members0 [ 22 ] = new org.omg.CORBA.UnionMember("e_c_array_e_octet", _anyOf_members0, _tcOf_members0, null ); // Branch for e_c_array_e_any _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 26); _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_any); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_anyHelper.id(), "C_array_e_any", _tcOf_members0 ); _members0 [ 23 ] = new org.omg.CORBA.UnionMember("e_c_array_e_any", _anyOf_members0, _tcOf_members0, null ); // Branch for e_c_array_e_string _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 27); _tcOf_members0 = org.omg.CORBA.ORB.init().create_string_tc(0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_stringHelper.id(), "C_array_e_string", _tcOf_members0 ); _members0 [ 24 ] = new org.omg.CORBA.UnionMember("e_c_array_e_string", _anyOf_members0, _tcOf_members0, null ); // Branch for e_c_array_e_Object _anyOf_members0 = org.omg.CORBA.ORB.init().create_any(); _anyOf_members0.insert_long((int) 28); _tcOf_members0 = org.omg.CORBA.ObjectHelper.type(); _tcOf_members0 = org.omg.CORBA.ORB.init().create_array_tc(2, _tcOf_members0); _tcOf_members0 = org.omg.CORBA.ORB.init().create_alias_tc(C_array_e_ObjectHelper.id(), "C_array_e_Object", _tcOf_members0 ); _members0 [ 25 ] = new org.omg.CORBA.UnionMember("e_c_array_e_Object", _anyOf_members0, _tcOf_members0, null ); __typeCode = org.omg.CORBA.ORB.init().create_union_tc(F_unionHelper.id(), "F_union", _disTypeCode0, _members0 ); } return __typeCode; } public static String id() { return _id; } public static F_union read(org.omg.CORBA.portable.InputStream istream) { F_union value = new F_union(); int _dis0 = (int) 0; _dis0 = istream.read_long(); switch (_dis0) { case 1 : C_struct _e_c_struct = null; _e_c_struct = C_structHelper.read(istream); value.e_c_struct(_e_c_struct); break; case 2 : C_union _e_c_union = null; _e_c_union = C_unionHelper.read(istream); value.e_c_union(_e_c_union); break; case 3 : short[] _e_c_sequence_e_short = null; _e_c_sequence_e_short = C_sequence_e_shortHelper.read(istream); value.e_c_sequence_e_short(_e_c_sequence_e_short); break; case 4 : short[] _e_c_sequence_e_ushort = null; _e_c_sequence_e_ushort = C_sequence_e_ushortHelper.read(istream); value.e_c_sequence_e_ushort(_e_c_sequence_e_ushort); break; case 5 : int[] _e_c_sequence_e_long = null; _e_c_sequence_e_long = C_sequence_e_longHelper.read(istream); value.e_c_sequence_e_long(_e_c_sequence_e_long); break; case 6 : int[] _e_c_sequence_e_ulong = null; _e_c_sequence_e_ulong = C_sequence_e_ulongHelper.read(istream); value.e_c_sequence_e_ulong(_e_c_sequence_e_ulong); break; case 7 : float[] _e_c_sequence_e_float = null; _e_c_sequence_e_float = C_sequence_e_floatHelper.read(istream); value.e_c_sequence_e_float(_e_c_sequence_e_float); break; case 8 : double[] _e_c_sequence_e_double = null; _e_c_sequence_e_double = C_sequence_e_doubleHelper.read(istream); value.e_c_sequence_e_double(_e_c_sequence_e_double); break; case 9 : char[] _e_c_sequence_e_char = null; _e_c_sequence_e_char = C_sequence_e_charHelper.read(istream); value.e_c_sequence_e_char(_e_c_sequence_e_char); break; case 10 : boolean[] _e_c_sequence_e_boolean = null; _e_c_sequence_e_boolean = C_sequence_e_booleanHelper.read(istream); value.e_c_sequence_e_boolean(_e_c_sequence_e_boolean); break; case 11 : byte[] _e_c_sequence_e_octet = null; _e_c_sequence_e_octet = C_sequence_e_octetHelper.read(istream); value.e_c_sequence_e_octet(_e_c_sequence_e_octet); break; case 12 : org.omg.CORBA.Any[] _e_c_sequence_e_any = null; _e_c_sequence_e_any = C_sequence_e_anyHelper.read(istream); value.e_c_sequence_e_any(_e_c_sequence_e_any); break; case 13 : String[] _e_c_sequence_e_string = null; _e_c_sequence_e_string = C_sequence_e_stringHelper.read(istream); value.e_c_sequence_e_string(_e_c_sequence_e_string); break; case 14 : org.omg.CORBA.Object[] _e_c_sequence_e_Object = null; _e_c_sequence_e_Object = C_sequence_e_ObjectHelper.read(istream); value.e_c_sequence_e_Object(_e_c_sequence_e_Object); break; case 17 : short[] _e_c_array_e_short = null; _e_c_array_e_short = C_array_e_shortHelper.read(istream); value.e_c_array_e_short(_e_c_array_e_short); break; case 18 : short[] _e_c_array_e_ushort = null; _e_c_array_e_ushort = C_array_e_ushortHelper.read(istream); value.e_c_array_e_ushort(_e_c_array_e_ushort); break; case 19 : int[] _e_c_array_e_long = null; _e_c_array_e_long = C_array_e_longHelper.read(istream); value.e_c_array_e_long(_e_c_array_e_long); break; case 20 : int[] _e_c_array_e_ulong = null; _e_c_array_e_ulong = C_array_e_ulongHelper.read(istream); value.e_c_array_e_ulong(_e_c_array_e_ulong); break; case 21 : float[] _e_c_array_e_float = null; _e_c_array_e_float = C_array_e_floatHelper.read(istream); value.e_c_array_e_float(_e_c_array_e_float); break; case 22 : double[] _e_c_array_e_double = null; _e_c_array_e_double = C_array_e_doubleHelper.read(istream); value.e_c_array_e_double(_e_c_array_e_double); break; case 23 : char[] _e_c_array_e_char = null; _e_c_array_e_char = C_array_e_charHelper.read(istream); value.e_c_array_e_char(_e_c_array_e_char); break; case 24 : boolean[] _e_c_array_e_boolean = null; _e_c_array_e_boolean = C_array_e_booleanHelper.read(istream); value.e_c_array_e_boolean(_e_c_array_e_boolean); break; case 25 : byte[] _e_c_array_e_octet = null; _e_c_array_e_octet = C_array_e_octetHelper.read(istream); value.e_c_array_e_octet(_e_c_array_e_octet); break; case 26 : org.omg.CORBA.Any[] _e_c_array_e_any = null; _e_c_array_e_any = C_array_e_anyHelper.read(istream); value.e_c_array_e_any(_e_c_array_e_any); break; case 27 : String[] _e_c_array_e_string = null; _e_c_array_e_string = C_array_e_stringHelper.read(istream); value.e_c_array_e_string(_e_c_array_e_string); break; case 28 : org.omg.CORBA.Object[] _e_c_array_e_Object = null; _e_c_array_e_Object = C_array_e_ObjectHelper.read(istream); value.e_c_array_e_Object(_e_c_array_e_Object); break; default : throw new org.omg.CORBA.BAD_OPERATION(); } return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, F_union value ) { ostream.write_long(value.discriminator()); switch (value.discriminator()) { case 1 : C_structHelper.write(ostream, value.e_c_struct()); break; case 2 : C_unionHelper.write(ostream, value.e_c_union()); break; case 3 : C_sequence_e_shortHelper.write(ostream, value.e_c_sequence_e_short()); break; case 4 : C_sequence_e_ushortHelper.write(ostream, value.e_c_sequence_e_ushort()); break; case 5 : C_sequence_e_longHelper.write(ostream, value.e_c_sequence_e_long()); break; case 6 : C_sequence_e_ulongHelper.write(ostream, value.e_c_sequence_e_ulong()); break; case 7 : C_sequence_e_floatHelper.write(ostream, value.e_c_sequence_e_float()); break; case 8 : C_sequence_e_doubleHelper.write(ostream, value.e_c_sequence_e_double()); break; case 9 : C_sequence_e_charHelper.write(ostream, value.e_c_sequence_e_char()); break; case 10 : C_sequence_e_booleanHelper.write(ostream, value.e_c_sequence_e_boolean() ); break; case 11 : C_sequence_e_octetHelper.write(ostream, value.e_c_sequence_e_octet()); break; case 12 : C_sequence_e_anyHelper.write(ostream, value.e_c_sequence_e_any()); break; case 13 : C_sequence_e_stringHelper.write(ostream, value.e_c_sequence_e_string()); break; case 14 : C_sequence_e_ObjectHelper.write(ostream, value.e_c_sequence_e_Object()); break; case 17 : C_array_e_shortHelper.write(ostream, value.e_c_array_e_short()); break; case 18 : C_array_e_ushortHelper.write(ostream, value.e_c_array_e_ushort()); break; case 19 : C_array_e_longHelper.write(ostream, value.e_c_array_e_long()); break; case 20 : C_array_e_ulongHelper.write(ostream, value.e_c_array_e_ulong()); break; case 21 : C_array_e_floatHelper.write(ostream, value.e_c_array_e_float()); break; case 22 : C_array_e_doubleHelper.write(ostream, value.e_c_array_e_double()); break; case 23 : C_array_e_charHelper.write(ostream, value.e_c_array_e_char()); break; case 24 : C_array_e_booleanHelper.write(ostream, value.e_c_array_e_boolean()); break; case 25 : C_array_e_octetHelper.write(ostream, value.e_c_array_e_octet()); break; case 26 : C_array_e_anyHelper.write(ostream, value.e_c_array_e_any()); break; case 27 : C_array_e_stringHelper.write(ostream, value.e_c_array_e_string()); break; case 28 : C_array_e_ObjectHelper.write(ostream, value.e_c_array_e_Object()); break; default : throw new org.omg.CORBA.BAD_OPERATION(); } } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_doubleHolder.java0000644000175000001440000000376510250313742025435 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class C_sequence_e_doubleHolder implements org.omg.CORBA.portable.Streamable { public double[] value = null; public C_sequence_e_doubleHolder() { } public C_sequence_e_doubleHolder(double[] initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = C_sequence_e_doubleHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { C_sequence_e_doubleHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return C_sequence_e_doubleHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_long.java0000644000175000001440000000520410250313742022062 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class D_d_long implements org.omg.CORBA.portable.IDLEntity { private int ___l1; private int ___l2; private int __discriminator; private boolean __uninitialized = true; public D_d_long() { } public int discriminator() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); return __discriminator; } public int l1() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifyl1(__discriminator); return ___l1; } public void l1(int value) { __discriminator = 1; ___l1 = value; __uninitialized = false; } private void verifyl1(int discriminator) { if (discriminator != 1) throw new org.omg.CORBA.BAD_OPERATION(); } public int l2() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifyl2(__discriminator); return ___l2; } public void l2(int value) { __discriminator = 2; ___l2 = value; __uninitialized = false; } private void verifyl2(int discriminator) { if (discriminator != 2) throw new org.omg.CORBA.BAD_OPERATION(); } public void _default() { __discriminator = -2147483648; __uninitialized = false; } } // class D_d_long mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/G_sequence_e_e_structHelper.java0000644000175000001440000000624210451015575026020 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class G_sequence_e_e_structHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/G_sequence_e_e_struct:1.0"; public static void insert(org.omg.CORBA.Any a, E_struct[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static E_struct[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = E_structHelper.type(); __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(G_sequence_e_e_structHelper.id(), "G_sequence_e_e_struct", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static E_struct[] read(org.omg.CORBA.portable.InputStream istream) { E_struct[] value = null; int _len0 = istream.read_long(); value = new E_struct[ _len0 ]; for (int _o1 = 0; _o1 < value.length; ++_o1) value [ _o1 ] = E_structHelper.read(istream); return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, E_struct[] value ) { ostream.write_long(value.length); for (int _i0 = 0; _i0 < value.length; ++_i0) E_structHelper.write(ostream, value [ _i0 ]); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/E_union.java0000644000175000001440000000522110250313742021750 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class E_union implements org.omg.CORBA.portable.IDLEntity { private B ___e_b1; private B ___e_b2; private int __discriminator; private boolean __uninitialized = true; public E_union() { } public int discriminator() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); return __discriminator; } public B e_b1() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_b1(__discriminator); return ___e_b1; } public void e_b1(B value) { __discriminator = 1; ___e_b1 = value; __uninitialized = false; } private void verifye_b1(int discriminator) { if (discriminator != 1) throw new org.omg.CORBA.BAD_OPERATION(); } public B e_b2() { if (__uninitialized) throw new org.omg.CORBA.BAD_OPERATION(); verifye_b2(__discriminator); return ___e_b2; } public void e_b2(B value) { __discriminator = 2; ___e_b2 = value; __uninitialized = false; } private void verifye_b2(int discriminator) { if (discriminator != 2) throw new org.omg.CORBA.BAD_OPERATION(); } public void _default() { __discriminator = -2147483648; __uninitialized = false; } } // class E_union mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_floatHelper.java0000644000175000001440000000613510451015575025272 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class C_sequence_e_floatHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_float:1.0"; public static void insert(org.omg.CORBA.Any a, float[] that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static float[] extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_float); __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); __typeCode = org.omg.CORBA.ORB.init().create_alias_tc(C_sequence_e_floatHelper.id(), "C_sequence_e_float", __typeCode ); } return __typeCode; } public static String id() { return _id; } public static float[] read(org.omg.CORBA.portable.InputStream istream) { float[] value = null; int _len0 = istream.read_long(); value = new float[ _len0 ]; istream.read_float_array(value, 0, _len0); return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, float[] value ) { ostream.write_long(value.length); ostream.write_float_array(value, 0, value.length); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_longHolder.java0000644000175000001440000000366310250313742023227 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class D_d_longHolder implements org.omg.CORBA.portable.Streamable { public D_d_long value = null; public D_d_longHolder() { } public D_d_longHolder(D_d_long initialValue) { value = initialValue; } public void _read(org.omg.CORBA.portable.InputStream i) { value = D_d_longHelper.read(i); } public void _write(org.omg.CORBA.portable.OutputStream o) { D_d_longHelper.write(o, value); } public org.omg.CORBA.TypeCode _type() { return D_d_longHelper.type(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/C_structHolder.java0000644000175000001440000000367710250313742023315 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // C package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class C_structHolder implements org.omg.CORBA.portable.Streamable { public C_struct value = null; public C_structHolder () { } public C_structHolder (C_struct initialValue) { value = initialValue; } public void _read (org.omg.CORBA.portable.InputStream i) { value = C_structHelper.read (i); } public void _write (org.omg.CORBA.portable.OutputStream o) { C_structHelper.write (o, value); } public org.omg.CORBA.TypeCode _type () { return C_structHelper.type (); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/G_except.java0000644000175000001440000000436310250313742022120 0ustar dokousers// Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public final class G_except extends org.omg.CORBA.UserException implements org.omg.CORBA.portable.IDLEntity { public G_struct v1 = null; public G_union v2 = null; // E_struct public G_union v3 = null; // E_union public G_union v4 = null; // E_sequence public G_union v5 = null; // E_array public E_struct[] v6 = null; public E_union[] v7 = null; public E_struct[] v10 = null; public E_union[] v11 = null; public G_except() { } // ctor public G_except(G_struct _v1, G_union _v2, G_union _v3, G_union _v4, G_union _v5, E_struct[] _v6, E_union[] _v7, E_struct[] _v10, E_union[] _v11 ) { v1 = _v1; v2 = _v2; v3 = _v3; v4 = _v4; v5 = _v5; v6 = _v6; v7 = _v7; v10 = _v10; v11 = _v11; } // ctor } // class G_except mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/B_exceptHelper.java0000644000175000001440000000722510451015575023261 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public abstract class B_exceptHelper { private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/RF11/B_except:1.0"; public static void insert(org.omg.CORBA.Any a, B_except that) { org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static B_except extract(org.omg.CORBA.Any a) { return read(a.create_input_stream()); } private static org.omg.CORBA.TypeCode __typeCode = null; private static boolean __active = false; public static synchronized org.omg.CORBA.TypeCode type() { if (__typeCode == null) { synchronized (org.omg.CORBA.TypeCode.class) { if (__typeCode == null) { if (__active) { return org.omg.CORBA.ORB.init().create_recursive_tc(_id); } __active = true; org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember[ 1 ]; org.omg.CORBA.TypeCode _tcOf_members0 = null; _tcOf_members0 = BHelper.type(); _members0 [ 0 ] = new org.omg.CORBA.StructMember("v", _tcOf_members0, null); __typeCode = org.omg.CORBA.ORB.init().create_struct_tc(B_exceptHelper.id(), "B_except", _members0 ); __active = false; } } } return __typeCode; } public static String id() { return _id; } public static B_except read(org.omg.CORBA.portable.InputStream istream) { B_except value = new B_except(); // read and discard the repository ID istream.read_string(); value.v = BHelper.read(istream); return value; } public static void write(org.omg.CORBA.portable.OutputStream ostream, B_except value ) { // write the repository ID ostream.write_string(id()); BHelper.write(ostream, value.v); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RF11/B.java0000644000175000001440000000420510447766312020553 0ustar dokousers// Tags: not-a-test // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB.RF11; public class B implements org.omg.CORBA.portable.IDLEntity { private int __value; private static int __size = 3; private static B[] __array = new B[ __size ]; public static final int _b1 = 0; public static final B b1 = new B(_b1); public static final int _b2 = 1; public static final B b2 = new B(_b2); public static final int _b3 = 2; public static final B b3 = new B(_b3); public int value() { return __value; } public static B from_int(int value) { if (value >= 0 && value < __size) return __array [ value ]; else throw new org.omg.CORBA.BAD_PARAM(); } protected B(int value) { __value = value; __array [ __value ] = this; } } // class B mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/comServer.java0000644000175000001440000000755211030375476021672 0ustar dokousers// Tags: not-a-test // Uses: ../../CORBA_2_3/ORB/Valtype/GreetingsServant /* comServer.java -- Copyright (C) 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath 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 version 2, or (at your option) any later version. GNU Classpath 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 Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package gnu.testlet.org.omg.CORBA.ORB; import gnu.testlet.org.omg.CORBA.ORB.communication.comServant; import gnu.testlet.org.omg.CORBA_2_3.ORB.Valtype.GreetingsServant; import org.omg.CORBA.ORB; /** * The ORB server class, used for test communication. * To avoid pausing for each test, all CORBA tests, related to the * client - server communication, are connected to this server. * * Warning: this server starts on ports 1126 and up. * * Modified, converting Classpath example into test. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ public class comServer { public static String[] IORs; public static ORB orb; public static void main(String[] args) { start_server(args); } /** * Start the ORB server and return the servant IOR reference. In this * test, both server and client are started on the same virtual machine, * just in the different threads. */ public static synchronized String[] start_server(String[] args) { // Check maybe is already running. if (IORs != null) return IORs; try { IORs = new String[ 2 ]; // Create and initialize the ORB. orb = org.omg.CORBA.ORB.init(args, null); // Create the test 1 servant and register it with the ORB. comServant tester = new comServant(); orb.connect(tester); // Create the test 2 servant and register it with the ORB. GreetingsServant tester2 = new GreetingsServant(); orb.connect(tester2); // Storing the IOR references. IORs [ 0 ] = orb.object_to_string(tester); IORs [ 1 ] = orb.object_to_string(tester2); new Thread() { public void run() { // wait for invocations from clients orb.run(); } }.start(); // Sleep for 3 seconds, allowing the server to start. try { Thread.sleep(3000); } catch (InterruptedException ex) { } return IORs; } catch (Exception e) { IORs = null; return null; } } }mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/RequestTest.java0000644000175000001440000001560110252620072022175 0ustar dokousers// Tags: JDK1.2 /* RequestTest.java -- Copyright (C) 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath 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 version 2, or (at your option) any later version. GNU Classpath 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 Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package gnu.testlet.org.omg.CORBA.ORB; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.ByteHolder; import org.omg.CORBA.DoubleHolder; import org.omg.CORBA.ExceptionList; import org.omg.CORBA.NVList; import org.omg.CORBA.ORB; import org.omg.CORBA.Request; import org.omg.CORBA.ShortHolder; import org.omg.CORBA.StringHolder; import org.omg.CORBA.TCKind; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.org.omg.CORBA.Asserter; import gnu.testlet.org.omg.CORBA.ORB.communication.node; import gnu.testlet.org.omg.CORBA.ORB.communication.ourUserExceptionHelper; /** * Test invocations using org.omg.Request. * * Warning: this test start CORBA server on port 1126. Be sure your * security restrictions allow that server to start. * * This Classpath example was modified, converting it into the test. * * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public class RequestTest extends Asserter implements Testlet { ORB orb; org.omg.CORBA.Object object; public void test(TestHarness harness) { try { setUp(); } catch (Exception ex) { harness.fail("Unexpected " + ex.getClass().getName() + ":" + ex.getMessage() + " at setup." ); } h = harness; testParameters(); testSystemException(); testWideNarrowStrings(); } public void testParameters() { Request r = object._create_request(null, "passSimple", orb.create_list(0), null); ByteHolder a_byte = new ByteHolder((byte) 0); ShortHolder a_short = new ShortHolder((short) 3); StringHolder a_string = new StringHolder("[string 4]"); // This is an 'out' parameter; the value must not be passed to servant. DoubleHolder a_double = new DoubleHolder(56.789); r.add_inout_arg().insert_octet((byte) 0); r.add_in_arg().insert_long(2); r.add_inout_arg().insert_short((short) 3); r.add_inout_arg().insert_string("[string 4]"); r.add_out_arg().type(orb.get_primitive_tc(TCKind.tk_double)); NVList para = r.arguments(); try { assertEquals("octet", para.item(0).value().extract_octet(), 0); assertEquals("long (in parameter)", para.item(1).value().extract_long(), 2 ); assertEquals("short", para.item(2).value().extract_short(), 3); assertEquals("string", para.item(3).value().extract_string(), "[string 4]" ); } catch (Exception ex) { fail("Unexpected " + ex.getClass().getName() + ":" + ex.getMessage()); } // For the last parameter, the value is not set. r.set_return_type(orb.get_primitive_tc(TCKind.tk_long)); r.invoke(); assertEquals("Returned value", r.result().value().extract_long(), 452572); para = r.arguments(); try { assertEquals("octet", para.item(0).value().extract_octet(), 1); assertEquals("long (in parameter)", para.item(1).value().extract_long(), 2 ); assertEquals("short", para.item(2).value().extract_short(), 4); assertEquals("string", para.item(3).value().extract_string(), "[string 4] [return]" ); assertEquals("double", para.item(4).value().extract_double(), 1.0, Double.MIN_VALUE ); } catch (Exception ex) { fail("Unexpected " + ex.getClass().getName() + ":" + ex.getMessage()); } } public void testSystemException() { try { ExceptionList exList = orb.create_exception_list(); exList.add(ourUserExceptionHelper.type()); Request rq = object._create_request(null, "throwException", orb.create_list(1), null, exList, null ); rq.add_in_arg().insert_long(-55); rq.invoke(); fail("The BAD_OPERATION is not thrown"); } catch (BAD_OPERATION ex) { assertEquals("Minor code", ex.minor, 456); } } public void testWideNarrowStrings() throws BAD_OPERATION { Request rq = object._create_request(null, "passCharacters", orb.create_list(0), null); rq.add_in_arg().insert_wstring("wide string"); rq.add_in_arg().insert_string("narrow string"); rq.set_return_type(orb.get_primitive_tc(TCKind.tk_wstring)); rq.invoke(); assertEquals("Returned value", rq.result().value().extract_wstring(), "return 'narrow string' and 'wide string'" ); } protected void setUp() throws java.lang.Exception { String ior = comServer.start_server(new String[ 0 ])[0]; orb = org.omg.CORBA.ORB.init(new String[ 0 ], null); object = orb.string_to_object(ior); } private void getImage(StringBuffer b, node n) { b.append(n.name); b.append(": ("); for (int i = 0; i < n.children.length; i++) { getImage(b, n.children [ i ]); b.append(' '); } b.append(") "); } private node nod(String hdr) { node n = new node(); n.children = new node[ 0 ]; n.name = hdr; return n; } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/NEC_Corporation_RF11.java0000644000175000001440000000611310250313741023420 0ustar dokousers// Tags: JDK1.2 // Copyright (c) 2000, 2001 NEC Corporation. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.CORBA.ORB; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.org.omg.CORBA.ORB.RF11.NEC_RF11; import gnu.testlet.org.omg.CORBA.ORB.RF11.rf11Caller; import gnu.testlet.org.omg.CORBA.ORB.RF11.rf11Helper; import gnu.testlet.org.omg.CORBA.ORB.RF11.rf11Servant; import org.omg.CORBA.ORB; import java.util.Iterator; /** * This is a main test class for the RF11 test. It uses classes in the * underlying package RF11. */ public class NEC_Corporation_RF11 implements Testlet { public void test(TestHarness harness) { // Start the server. // Initializing ORB/POA and server object final ORB server_orb = ORB.init(new String[ 0 ], null); rf11Servant servant = new rf11Servant(); server_orb.connect(servant); // Writing stringified IOR to file specified by IORfilename String ior = server_orb.object_to_string(servant); new Thread() { public void run() { server_orb.run(); } }.start(); // Wait for 3 seconds for the server to start. try { Thread.sleep(3000); } catch (InterruptedException ex) { } // Start the client. ORB client_orb = ORB.init(new String[ 0 ], null); NEC_RF11 obj = rf11Helper.narrow(client_orb.string_to_object(ior)); rf11Caller ccall = new rf11Caller(); ccall.init(client_orb, obj); ccall.run_all(harness); // Test for the server messages Iterator iter = servant.error_messages.iterator(); while (iter.hasNext()) { harness.fail("Server side error: " + iter.next()); } // Shutdown bot ORBs. server_orb.shutdown(false); client_orb.shutdown(false); } }mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/communication/0000755000175000001440000000000012375316426021721 5ustar dokousersmauve-20140821/gnu/testlet/org/omg/CORBA/ORB/communication/passThisHelper.java0000644000175000001440000000642410451015575025522 0ustar dokousers// Tags: not-a-test /* passThisHelper.java -- Copyright (C) 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath 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 version 2, or (at your option) any later version. GNU Classpath 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 Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package gnu.testlet.org.omg.CORBA.ORB.communication; import org.omg.CORBA.Any; import org.omg.CORBA.ORB; import org.omg.CORBA.StructMember; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; /** * The helper operations for the {@link passThis}. * * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public abstract class passThisHelper { /** * The repository ID of the {@link passThis}. */ private static String id = "IDL:gnu/testlet/org/omg/CORBA/ORB/communication/passThis:1.0"; /** * Get the repository id. */ public static String id() { return id; } /** * Read the structure from the CDR stram. */ public static passThis read(InputStream istream) { passThis value = new passThis(); value.a = istream.read_string(); value.b = istream.read_wstring(); return value; } /** * Get the type code of this structure. */ public static synchronized TypeCode type() { StructMember[] members = new StructMember[ 2 ]; TypeCode member = null; member = ORB.init().create_string_tc(0); members [ 0 ] = new StructMember("a", member, null); member = ORB.init().create_string_tc(0); members [ 1 ] = new StructMember("b", member, null); return ORB.init().create_struct_tc(passThisHelper.id(), "passThis", members); } /** * Write the structure into the CDR stream. */ public static void write(OutputStream ostream, passThis value) { ostream.write_string(value.a); ostream.write_wstring(value.b); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/communication/nodeHolder.java0000644000175000001440000000574210242735024024645 0ustar dokousers/* nodeHolder.java -- Copyright (C) 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath 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 version 2, or (at your option) any later version. GNU Classpath 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 Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package gnu.testlet.org.omg.CORBA.ORB.communication; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; import org.omg.CORBA.portable.Streamable; /** * The node holder is a wrapper about the node data structure. It * can be used where the node must be passed both to and from * the method being called. The same structure holds the tree, * as it can be represented as a root node with children. * * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public class nodeHolder implements Streamable { /** * Stores the node value. */ public node value; /** * Creates the node holder with the null initial value. */ public nodeHolder() { } /** * Creates the node holder with the given initial value. */ public nodeHolder(node initialValue) { value = initialValue; } /** * Reads the node value from the common data representation (CDR) * stream. */ public void _read(InputStream in) { value = nodeHelper.read(in); } /** * Writes the node value into common data representation (CDR) * stream. * @return */ public TypeCode _type() { return nodeHelper.type(); } public void _write(OutputStream out) { nodeHelper.write(out, value); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/communication/returnThisHelper.java0000644000175000001440000000745010451015575026073 0ustar dokousers// Tags: not-a-test /* returnThisHelper.java -- Copyright (C) 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath 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 version 2, or (at your option) any later version. GNU Classpath 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 Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package gnu.testlet.org.omg.CORBA.ORB.communication; import org.omg.CORBA.Any; import org.omg.CORBA.ORB; import org.omg.CORBA.StructMember; import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; /** * This class defines the helper operations for {@link returnThis}. * * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) */ public abstract class returnThisHelper { /** * The repository id. */ private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/communication/returnThis:1.0"; /** * Return the repository id. */ public static String id() { return _id; } /** * Read the structure from the CDR stream. */ public static returnThis read(InputStream istream) { returnThis value = new returnThis(); value.n = istream.read_long(); value.c = istream.read_wstring(); value.arra = new int[ 3 ]; // Read the fixed size array. for (int i = 0; i < 3; i++) value.arra [ i ] = istream.read_long(); return value; } /** * Create the typecode. */ public static synchronized TypeCode type() { StructMember[] members = new StructMember[ 3 ]; TypeCode member = ORB.init().get_primitive_tc(TCKind.tk_long); members [ 0 ] = new StructMember("n", member, null); member = ORB.init().create_string_tc(0); members [ 1 ] = new StructMember("c", member, null); member = ORB.init().get_primitive_tc(TCKind.tk_long); member = ORB.init().create_array_tc(3, member); members [ 2 ] = new StructMember("arra", member, null); return ORB.init().create_struct_tc(returnThisHelper.id(), "returnThis", members ); } /** * Write the structure to the CDR stream. */ public static void write(OutputStream ostream, returnThis value) { ostream.write_long(value.n); ostream.write_wstring(value.c); // Write the fixed size array. for (int i = 0; i < 3; i++) ostream.write_long(value.arra [ i ]); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/communication/_comTesterImplBase.java0000644000175000001440000001473610451015575026312 0ustar dokousers// Tags: not-a-test /* _comTesterImplBase.java -- Copyright (C) 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath 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 version 2, or (at your option) any later version. GNU Classpath 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 Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package gnu.testlet.org.omg.CORBA.ORB.communication; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.ByteHolder; import org.omg.CORBA.CompletionStatus; import org.omg.CORBA.DoubleHolder; import org.omg.CORBA.ShortHolder; import org.omg.CORBA.StringHolder; import org.omg.CORBA.StringSeqHelper; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.InvokeHandler; import org.omg.CORBA.portable.ObjectImpl; import org.omg.CORBA.portable.OutputStream; import org.omg.CORBA.portable.ResponseHandler; /** * The base for the class that is actually implementing the functionality * of the object on the server side ({@link comServant} of our case). * * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public abstract class _comTesterImplBase extends ObjectImpl implements comTester, InvokeHandler { /** * When the server receives the request message from client, it * calls this method. * * @param a_method the method name. * @param in the CDR stream, from where the implementing code must * read the method parameters. * @param rh the response handler, used to get the stream where * the returned values must be written. * * @return the stream, obtained from the response handler. */ public OutputStream _invoke(String a_method, InputStream in, ResponseHandler rh ) { OutputStream out; /* Get the field value. */ if (a_method.equals("_get_theField")) { int result = (int) 0; result = theField(); out = rh.createReply(); out.write_long(result); } else /* Set the field value. */ if (a_method.equals("_set_theField")) { int newTheField = in.read_long(); theField(newTheField); out = rh.createReply(); } else /* Passes various parameters in both directions. */ if (a_method.equals("passSimple")) { ByteHolder an_octet = new ByteHolder(); an_octet.value = in.read_octet(); int a_long = in.read_long(); ShortHolder a_short = new ShortHolder(); a_short.value = in.read_short(); StringHolder a_string = new StringHolder(); a_string.value = in.read_string(); DoubleHolder a_double = new DoubleHolder(); int result = passSimple(an_octet, a_long, a_short, a_string, a_double); out = rh.createReply(); out.write_long(result); out.write_octet(an_octet.value); out.write_short(a_short.value); out.write_string(a_string.value); out.write_double(a_double.value); } else /* Passes the 'wide' (usually Unicode) string and the ordinary string. */ if (a_method.equals("passCharacters")) { String wide = in.read_wstring(); String narrow = in.read_string(); String result = null; result = passCharacters(wide, narrow); out = rh.createReply(); out.write_wstring(result); } else /* Throws either 'ourUserException' with the 'ourField' field initialised to the passed positive value or system exception (if the parameter is zero or negative). */ if (a_method.equals("throwException")) { try { int parameter = in.read_long(); throwException(parameter); out = rh.createReply(); } catch (ourUserException exception) { out = rh.createExceptionReply(); ourUserExceptionHelper.write(out, exception); } } else /* Passes and returns the structures. */ if (a_method.equals("passStructure")) { passThis in_structure = passThisHelper.read(in); returnThis result = null; result = passStructure(in_structure); out = rh.createReply(); returnThisHelper.write(out, result); } else /* Passes and returns the string sequence. */ if (a_method.equals("passStrings")) { String[] arg = StringSeqHelper.read(in); String[] result = null; result = passStrings(arg); out = rh.createReply(); StringSeqHelper.write(out, result); } else /** Pass and return the tree structure */ if (a_method.equals("passTree")) { nodeHolder tree = new nodeHolder(); tree.value = nodeHelper.read(in); passTree(tree); out = rh.createReply(); nodeHelper.write(out, tree.value); } else throw new BAD_OPERATION("No method: " + a_method, 0, CompletionStatus.COMPLETED_MAYBE ); return out; } /** * Return an array of this object repository ids. */ public String[] _ids() { // They are the same as for the stub. return _comTesterStub._ids; } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/communication/_comTesterStub.java0000644000175000001440000002630210242735024025517 0ustar dokousers/* _comTesterStub.java -- Copyright (C) 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath 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 version 2, or (at your option) any later version. GNU Classpath 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 Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package gnu.testlet.org.omg.CORBA.ORB.communication; import org.omg.CORBA.ByteHolder; import org.omg.CORBA.DoubleHolder; import org.omg.CORBA.MARSHAL; import org.omg.CORBA.ShortHolder; import org.omg.CORBA.StringHolder; import org.omg.CORBA.StringSeqHelper; import org.omg.CORBA.portable.ApplicationException; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.ObjectImpl; import org.omg.CORBA.portable.OutputStream; import org.omg.CORBA.portable.RemarshalException; /** * The stub (proxy) class, representing the remote object on the client * side. It has all the same methods as the actual implementation * on the server side. These methods contain the code for remote * invocation. * * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) */ public class _comTesterStub extends ObjectImpl implements comTester { /** * A string array of comTester repository ids. */ public static String[] _ids = { "IDL:gnu/testlet/org/omg/CORBA/ORB/communication/comTester:1.0" }; /** * Return an array of comTester repository ids. */ public String[] _ids() { return _ids; } /** * Passes wide (UTF-16) string and narrow (ISO8859_1) string. * @see gnu.CORBA.GIOP.CharSets_OSF for supported and default * encodings. */ public String passCharacters(String wide, String narrow) { InputStream in = null; try { // Get the output stream. OutputStream out = _request("passCharacters", true); // Write the parameters. // The first string is passed as "wide" // (usually 16 bit UTF-16) string. out.write_wstring(wide); // The second string is passed as "narrow" // (usually 8 bit ISO8859_1) string. out.write_string(narrow); // Do the invocation. in = _invoke(out); // Read the method return value. String result = in.read_wstring(); return result; } catch (ApplicationException ex) { // The exception has been throws on remote side, but we // do not expect any. Throw the MARSHAL exception. in = ex.getInputStream(); throw new MARSHAL(ex.getId()); } catch (RemarshalException _rm) { // This exception means that the parameters must be re-written. return passCharacters(wide, narrow); } finally { // Release the resources, associated with the reply stream. _releaseReply(in); } } /** * Passes various parameters in both directions. The parameters that * shoud also return the values are wrapped into holders. */ public int passSimple(ByteHolder an_octet, int a_long, ShortHolder a_short, StringHolder a_string, DoubleHolder a_double ) { InputStream in = null; try { // Get the stream where the parameters must be written: OutputStream out = _request("passSimple", true); // Write the parameters. out.write_octet(an_octet.value); out.write_long(a_long); out.write_short(a_short.value); out.write_string(a_string.value); // Invoke the method. in = _invoke(out); // Read the returned values. int result = in.read_long(); // Read the inout and out parameters. an_octet.value = in.read_octet(); a_short.value = in.read_short(); a_string.value = in.read_string(); a_double.value = in.read_double(); return result; } catch (ApplicationException ex) { // Handle excepion on remote side. in = ex.getInputStream(); throw new MARSHAL(ex.getId()); } catch (RemarshalException _rm) { // Handle instruction to resend the parameters. return passSimple(an_octet, a_long, a_short, a_string, a_double); } finally { _releaseReply(in); } } /** Passes and returns the string sequence. */ public String[] passStrings(String[] arg) { InputStream in = null; try { // Get the stream where the parameters must be written: OutputStream out = _request("passStrings", true); // Wrap the string array using the string sequence helper. StringSeqHelper.write(out, arg); // Invoke the method. in = _invoke(out); // Read the returned result using the string sequence helper. String[] result = StringSeqHelper.read(in); return result; } catch (ApplicationException ex) { // Handle the exception, thrown on remote side. in = ex.getInputStream(); throw new MARSHAL(ex.getId()); } catch (RemarshalException _rm) { return passStrings(arg); } finally { _releaseReply(in); } } /** Passes and returns the structures. */ public returnThis passStructure(passThis in_structure) { InputStream in = null; try { // Get the stream where the parameters must be written. OutputStream out = _request("passStructure", true); // Write the structure, using its helper. passThisHelper.write(out, in_structure); // Invoke the method. in = _invoke(out); // Read the returned structer, using another helper. returnThis result = returnThisHelper.read(in); return result; } catch (ApplicationException ex) { in = ex.getInputStream(); throw new MARSHAL(ex.getId()); } catch (RemarshalException _rm) { return passStructure(in_structure); } finally { _releaseReply(in); } } /** * Pass and return the tree structure */ public void passTree(nodeHolder tree) { InputStream in = null; try { // Get the stream where the parameters must be written. OutputStream out = _request("passTree", true); // Write the tree (node with its chilred, grandchildren and so on), // using the appropriate helper. nodeHelper.write(out, tree.value); // Call the method. in = _invoke(out); // Read the returned tree. tree.value = nodeHelper.read(in); } catch (ApplicationException ex) { // Handle eception on remote side. in = ex.getInputStream(); throw new MARSHAL(ex.getId()); } catch (RemarshalException _rm) { passTree(tree); } finally { _releaseReply(in); } } /** * One way call of the remote method. */ public void sayHello() { InputStream in = null; try { // As we do not expect any response, the second // parameter is 'false'. OutputStream out = _request("sayHello", false); in = _invoke(out); } catch (ApplicationException ex) { in = ex.getInputStream(); throw new MARSHAL(ex.getId()); } catch (RemarshalException _rm) { sayHello(); } finally { _releaseReply(in); } } /** * Get the field value. */ public int theField() { InputStream in = null; try { // The special name of operation instructs just to get // the field value rather than calling the method. OutputStream out = _request("_get_theField", true); in = _invoke(out); int result = in.read_long(); return result; } catch (ApplicationException ex) { in = ex.getInputStream(); throw new MARSHAL(ex.getId()); } catch (RemarshalException _rm) { return theField(); } finally { _releaseReply(in); } } /** * Set the field value. */ public void theField(int newTheField) { InputStream in = null; try { // The special name of operation instructs just to set // the field value rather than calling the method. OutputStream out = _request("_set_theField", true); out.write_long(newTheField); in = _invoke(out); } catch (ApplicationException ex) { in = ex.getInputStream(); throw new MARSHAL(ex.getId()); } catch (RemarshalException _rm) { theField(newTheField); } finally { _releaseReply(in); } } /** * The server side exception tests. * * @param parameter the server throws the user exception in the case * of the positive value of this argument, and system * exception otherwise. * * @throws ourUserException */ public void throwException(int parameter) throws ourUserException { InputStream in = null; try { // Get stream. OutputStream out = _request("throwException", true); // Write parameter. out.write_long(parameter); // Call method. in = _invoke(out); } catch (ApplicationException ex) { in = ex.getInputStream(); // Get the exception id. String id = ex.getId(); // If this is the user exception we expect to catch, read and throw // it here. The system exception, if thrown, is handled by _invoke. if (id.equals("IDL:gnu/testlet/org/omg/CORBA/ORB/communication/ourUserException:1.0") ) throw ourUserExceptionHelper.read(in); else throw new MARSHAL(id); } catch (RemarshalException _rm) { throwException(parameter); } finally { _releaseReply(in); } } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/communication/nodeHelper.java0000644000175000001440000001207410451015575024647 0ustar dokousers// Tags: not-a-test /* nodeHelper.java -- Copyright (C) 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath 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 version 2, or (at your option) any later version. GNU Classpath 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 Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package gnu.testlet.org.omg.CORBA.ORB.communication; import org.omg.CORBA.Any; import org.omg.CORBA.ORB; import org.omg.CORBA.StructMember; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; /** * This class is used for various helper operations around the * tree {@link} structure. * * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public abstract class nodeHelper { /** * The node repository id, used to identify the structure. */ private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/communication/node:1.0"; /** * Caches the typecode, allowing to compute it only once. */ private static TypeCode typeCode; /** * This is used to handle the recursive object references in * CORBA - supported way. The tree node definition is recursive, * as the node contains the sequence of the nodes as its field. */ private static boolean active; /** * Extract the tree node from the unversal CORBA wrapper, Any. */ public static node extract(Any a) { return read(a.create_input_stream()); } /** * Get the node string identifer. */ public static String id() { return _id; } /** * Insert the node into the universal CORBA wrapper, Any. */ public static void insert(Any a, node that) { OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } /** * Read the node from the common data reprentation (CDR) stream. */ public static node read(InputStream istream) { node value = new node(); value.name = istream.read_string(); int _len0 = istream.read_long(); value.children = new node[ _len0 ]; for (int i = 0; i < value.children.length; ++i) value.children [ i ] = nodeHelper.read(istream); return value; } /** * Get the node type code definition. */ public static synchronized TypeCode type() { // Compute the type code only once. if (typeCode == null) { synchronized (TypeCode.class) { if (typeCode == null) { // To avoid the infinite recursion loop, the // recursive reference is handled in specific way. if (active) return ORB.init().create_recursive_tc(_id); active = true; // List all memebers of the node structure. StructMember[] members = new StructMember[ 2 ]; TypeCode memberType; memberType = ORB.init().create_string_tc(0); members [ 0 ] = new StructMember("name", memberType, null); memberType = ORB.init().create_recursive_tc(""); members [ 1 ] = new StructMember("children", memberType, null); typeCode = ORB.init().create_struct_tc(nodeHelper.id(), "node", members); active = false; } } } return typeCode; } /** * Write the node into the common data reprentation (CDR) stream. */ public static void write(OutputStream ostream, node value) { ostream.write_string(value.name); ostream.write_long(value.children.length); for (int i = 0; i < value.children.length; ++i) nodeHelper.write(ostream, value.children [ i ]); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/communication/comServant.java0000644000175000001440000001314410242735024024676 0ustar dokousers/* comServant.java -- Copyright (C) 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath 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 version 2, or (at your option) any later version. GNU Classpath 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 Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package gnu.testlet.org.omg.CORBA.ORB.communication; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.ByteHolder; import org.omg.CORBA.CompletionStatus; import org.omg.CORBA.DoubleHolder; import org.omg.CORBA.ShortHolder; import org.omg.CORBA.StringHolder; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.PrintStream; /** * This class handles the actual server functionality in this test * application. When the client calls the remote method, this * finally results calling the method of this class. * * The parameters, passed to the server only, are just parameters of the * java methods. The parameters that shuld be returned to client * are wrapped into holder classes. * * This servant was modified, removing all messages that the original * Classpath example prints to console. * * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public class comServant extends _comTesterImplBase { /** * The field, that can be set and checked by remote client. */ private int m_theField = 17; /** * Passes wide (UTF-16) string and narrow (ISO8859_1) string. * @see gnu.CORBA.GIOP.CharSets_OSF for supported and default * encodings. Returs they generalization as a wide string. */ public String passCharacters(String wide, String narrow) { return "return '" + narrow + "' and '" + wide + "'"; } /** * Accept and return parameters, having various types. */ public int passSimple(ByteHolder an_octet, int a_long, ShortHolder a_short, StringHolder a_string, DoubleHolder a_double ) { // Returning incremented values. an_octet.value++; a_short.value++; // OUT parameter, return only. a_double.value = 1; a_string.value += " [return]"; return 452572; } /** * Accept and return the string arrays. */ public String[] passStrings(String[] args) { String[] rt = new String[ args.length ]; for (int i = 0; i < args.length; i++) { // Returning the changed content. rt [ i ] = args [ i ] + ":" + args [ i ]; } return rt; } /** * Accept and return the structures. */ public returnThis passStructure(passThis in_structure) { // Create and send back the returned structure. returnThis r = new returnThis(); r.c = in_structure.a + in_structure.b; r.n = 555; r.arra = new int[] { 11, 22, 33 }; return r; } /** * Pass and return the tree structure */ public void passTree(nodeHolder tree) { StringBuffer b = new StringBuffer(); // This both creates the tree string representation // and changes the node names. getImage(b, tree.value); } /** * Get the value of our field. */ public int theField() { return m_theField; } /** * Set the value of our field. */ public void theField(int a_field) { m_theField = a_field; } /** * Throw an exception. * * @param parameter specifies which exception will be thrown. * * @throws ourUserException for the non negative parameter. * @throws BAD_OPERATION for the negative parameter. */ public void throwException(int parameter) throws ourUserException { if (parameter > 0) { throw new ourUserException(parameter); } else { throw new BAD_OPERATION(456, CompletionStatus.COMPLETED_YES); } } /** * Visit all tree nodes, getting the string representation * and adding '++' to the node names. * * @param b the buffer to collect the string representation. * @param n the rott tree node. */ private void getImage(StringBuffer b, node n) { b.append(n.name); n.name = n.name + "++"; b.append(": ("); for (int i = 0; i < n.children.length; i++) { getImage(b, n.children [ i ]); b.append(' '); } b.append(") "); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/communication/passThis.java0000644000175000001440000000430410242735024024351 0ustar dokousers/* passThis.java -- Copyright (C) 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath 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 version 2, or (at your option) any later version. GNU Classpath 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 Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package gnu.testlet.org.omg.CORBA.ORB.communication; /** * The data structure, passed from to the server from client in our tests. * * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public class passThis implements org.omg.CORBA.portable.IDLEntity { /** * The first string, stored in this structure (defined as * "narrow string"). */ public String a; /** * The second string, stored in this structure (define as * "wide" (usually Unicode) string. */ public String b; } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/communication/ourUserException.java0000644000175000001440000000474110447766313026117 0ustar dokousers// Tags: not-a-test /* ourUserException.java -- Copyright (C) 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath 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 version 2, or (at your option) any later version. GNU Classpath 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 Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package gnu.testlet.org.omg.CORBA.ORB.communication; import org.omg.CORBA.UserException; import org.omg.CORBA.portable.IDLEntity; /** * Our user exception, thrown in the tests of handling the exceptions, * thrown on remote side. The exception contains the user - defined * data field that is transferred from client to the server when the * exception is thrown. * * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public class ourUserException extends UserException implements IDLEntity { /** * Our specific field, transferred to client. */ public int ourField; /** * Create the exception. * * @param _ourField the value of our specific field. */ public ourUserException(int _ourField) { ourField = _ourField; } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/communication/ourUserExceptionHelper.java0000644000175000001440000000700410451015575027242 0ustar dokousers// Tags: not-a-test /* ourUserExceptionHelper.java -- Copyright (C) 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath 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 version 2, or (at your option) any later version. GNU Classpath 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 Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package gnu.testlet.org.omg.CORBA.ORB.communication; import org.omg.CORBA.Any; import org.omg.CORBA.ORB; import org.omg.CORBA.StructMember; import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; /** * The class, providing various helper operations with our user * exception. * * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public abstract class ourUserExceptionHelper { /** * The exception repository id. This name is also used to find the * mapping local CORBA class. */ private static String _id = "IDL:gnu/testlet/org/omg/CORBA/ORB/communication/ourUserException:1.0"; /** * Get the exception repository id. */ public static String id() { return _id; } /** * Read the exception from the CDR stream. */ public static ourUserException read(org.omg.CORBA.portable.InputStream istream) { ourUserException value = new ourUserException(0); // The repository ID is not used istream.read_string(); value.ourField = istream.read_long(); return value; } /** * Create the type code of this exception. */ public static synchronized TypeCode type() { StructMember[] members = new StructMember[ 1 ]; TypeCode member = null; member = ORB.init().get_primitive_tc(TCKind.tk_long); members [ 0 ] = new StructMember("ourField", member, null); return ORB.init().create_struct_tc(ourUserExceptionHelper.id(), "ourUserException", members ); } /** * Write the exception into the CDR stream. */ public static void write(org.omg.CORBA.portable.OutputStream ostream, ourUserException value ) { ostream.write_string(id()); ostream.write_long(value.ourField); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/communication/returnThis.java0000644000175000001440000000444310242735024024726 0ustar dokousers/* returnThis.java -- Copyright (C) 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath 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 version 2, or (at your option) any later version. GNU Classpath 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 Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package gnu.testlet.org.omg.CORBA.ORB.communication; import org.omg.CORBA.portable.IDLEntity; /** * This data structure is returned from the server to client in our tests. * * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public class returnThis implements IDLEntity { /** * The string field. */ public String c; /** * The CORBA array field. This field is handled as the fixed * size CORBA array, but structures can also have the variable * size CORBA sequences. */ public int[] arra = new int[3]; /** * The int (CORBA long) field. */ public int n; } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/communication/returnThisHolder.java0000644000175000001440000000547410242735024026071 0ustar dokousers/* returnThisHolder.java -- Copyright (C) 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath 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 version 2, or (at your option) any later version. GNU Classpath 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 Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package gnu.testlet.org.omg.CORBA.ORB.communication; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; import org.omg.CORBA.portable.Streamable; /** * The holder for the structure, returned from the server. * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) */ public final class returnThisHolder implements Streamable { /** * The enclosed structure. */ public returnThis value = null; /** * Create the empty holder. */ public returnThisHolder() { } /** * Crate the holder with the defined initial value. */ public returnThisHolder(returnThis initialValue) { value = initialValue; } /** * Read the value from the CDR stream. */ public void _read(InputStream in) { value = returnThisHelper.read(in); } /** * Get the typecode of this structure. */ public TypeCode _type() { return returnThisHelper.type(); } /** * Write the value from the CDR stream. * @param out */ public void _write(OutputStream out) { returnThisHelper.write(out, value); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/communication/comTester.java0000644000175000001440000000673410447766313024545 0ustar dokousers// Tags: not-a-test /* comTester.java -- Copyright (C) 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath 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 version 2, or (at your option) any later version. GNU Classpath 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 Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package gnu.testlet.org.omg.CORBA.ORB.communication; import org.omg.CORBA.ByteHolder; import org.omg.CORBA.DoubleHolder; import org.omg.CORBA.ShortHolder; import org.omg.CORBA.StringHolder; /** * The interface of our remote object. Some IDL compiles split it * into "comTester" and "comTesterOperations", but we do not see * much sense in doing this here. * * @author Audrius Meskauskas(AudriusA@Bioinformatics.org) */ public interface comTester { /** * Passes wide (UTF-16) string and narrow (ISO8859_1) string. * Both types are mapped into java String. * * @see gnu.CORBA.GIOP.CharSets_OSF for supported and default * encodings. */ String passCharacters(String wide, String narrow); /** * Passes various parameters in both directions. * The parameters that must return the value are wrapped in holders. */ int passSimple(ByteHolder an_octet, int a_long, ShortHolder a_short, StringHolder a_string, DoubleHolder a_double ); /** * Passes and returns the string sequence (flexible length). */ String[] passStrings(String[] arg); /** * Passes and returns the structures. */ returnThis passStructure(passThis in_structure); /** * Pass and return the tree structure * * @param tree the root node of the tree. */ void passTree(nodeHolder tree); /** * Gets the value of the field in our object. */ int theField(); /** * Sets the value for the field in our object. */ void theField(int newTheField); /** * Throws either 'ourUserException' with the 'ourField' field * initialised to the passed positive value * or system exception (if the parameter is zero or negative). */ void throwException(int parameter) throws ourUserException; } mauve-20140821/gnu/testlet/org/omg/CORBA/ORB/communication/node.java0000644000175000001440000000413310242735024023500 0ustar dokousers/* node.java -- Copyright (C) 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath 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 version 2, or (at your option) any later version. GNU Classpath 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 Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package gnu.testlet.org.omg.CORBA.ORB.communication; /** * The support for the tree structure, used in the test of * ability to pass and return the tree structure. * * @author Audrius Meskauskas (AudriusA@Bioinformatics.org) */ public class node implements org.omg.CORBA.portable.IDLEntity { /** The node name */ public String name = null; /** The node children. */ public node[] children = null; } mauve-20140821/gnu/testlet/org/omg/CORBA/portable/0000755000175000001440000000000012375316426020242 5ustar dokousersmauve-20140821/gnu/testlet/org/omg/CORBA/portable/OutputStream/0000755000175000001440000000000012375316426022716 5ustar dokousersmauve-20140821/gnu/testlet/org/omg/CORBA/portable/OutputStream/BinaryAlignment.java0000644000175000001440000001034410245152726026641 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.org.omg.CORBA.portable.OutputStream; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.org.omg.CORBA.Asserter; import org.omg.CORBA.ORB; import org.omg.CORBA.OctetSeqHelper; import org.omg.CORBA.Request; import org.omg.CORBA.TCKind; /** * This tests uses a non standard CORBA object that accepts the * passed parameters and then returns all passed data as a * plain byte array, exactly how they were sent. The returned * sequence can be byte to byte compared with the sequence, * expected from the OMG CORBA specification. The test is against * loss of interoperability by modifications that may affect * both input and output CDR streams, leaving the implementation * working with self, but interoperable. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ public class BinaryAlignment extends Asserter implements Testlet { // The correct data sequence, excluding the message header and request // header, as it should be deciding from CORBA spefication for GIOP 1.2 static final int[] expected = new int[] { 0x77, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0x5b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x34, 0x5d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x46, 0xd8, 0x31, 0x26, 0xe9, 0x78, 0xd5, 0xfe, 0xff }; public void test(TestHarness harness) { h = harness; String[] args = new String[ 0 ]; final ORB server_orb = ORB.init(args, null); mirror reflector = new mirror(); server_orb.connect(reflector); new Thread() { public void run() { server_orb.run(); } }.start(); // Wait for 500 ms for the orb to start. try { Thread.sleep(500); } catch (InterruptedException ex) { } String ior = server_orb.object_to_string(reflector); // Instantiate another orb where this reflector will be a stub: ORB client_orb = ORB.init(args, null); org.omg.CORBA.Object object = (org.omg.CORBA.Object) client_orb.string_to_object(ior); Request r = object._create_request(null, "pass", server_orb.create_list(0), null); // Write the test values. r.add_in_arg().insert_octet((byte) 0x77); r.add_in_arg().insert_long(1); r.add_in_arg().insert_longlong(2); r.add_in_arg().insert_short((short) 3); r.add_in_arg().insert_string("[string 4]"); r.add_in_arg().insert_double(45.689); r.add_in_arg().insert_octet((byte) 0xFE); // This will serve as EOF marker. r.add_in_arg().insert_octet((byte) 0xFF); // For the last parameter, the value is not set. r.set_return_type(server_orb.create_sequence_tc(0, server_orb.get_primitive_tc(TCKind.tk_octet) ) ); r.invoke(); byte[] reflection = OctetSeqHelper.extract(r.result().value()); assertEquals("length", expected.length, reflection.length); for (int i = 0; i < reflection.length; i++) { if ((reflection [ i ] & 0xFF) != expected [ i ]) fail("Mismatch [" + i + "] expected " + Integer.toHexString(expected [ i ]) + " actual " + Integer.toHexString(0xFF & reflection [ i ]) ); } client_orb.shutdown(false); server_orb.shutdown(false); client_orb.destroy(); server_orb.destroy(); } }mauve-20140821/gnu/testlet/org/omg/CORBA/portable/OutputStream/mirror.java0000644000175000001440000000375210447766313025104 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.org.omg.CORBA.portable.OutputStream; import org.omg.CORBA.OctetSeqHelper; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.InvokeHandler; import org.omg.CORBA.portable.ObjectImpl; import org.omg.CORBA.portable.OutputStream; import org.omg.CORBA.portable.ResponseHandler; import java.io.ByteArrayOutputStream; /** * A reflector is a non standard CORBA object that accepts the * passed parameter and then returns all passed data as a * plain byte array, exactly how they were sent. Not a test, * needed by BinaryAlignment. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ class mirror extends ObjectImpl implements InvokeHandler { /** * Return the passed parameters as the plain binary array. */ public OutputStream _invoke(String method, InputStream in, ResponseHandler rh) { ByteArrayOutputStream data = new ByteArrayOutputStream(); byte b; do { b = in.read_octet(); data.write(b); } while ((b & 0xFF) != 0xFF); OutputStream out = rh.createReply(); OctetSeqHelper.write(out, data.toByteArray()); return out; } public String[] _ids() { return new String[] { getClass().getName() }; } } mauve-20140821/gnu/testlet/org/omg/CORBA/portable/InputStream/0000755000175000001440000000000012375316426022515 5ustar dokousersmauve-20140821/gnu/testlet/org/omg/CORBA/portable/InputStream/cdrIO.java0000644000175000001440000003423010242735025024351 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.org.omg.CORBA.portable.InputStream; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.org.omg.CORBA.Asserter; import org.omg.CORBA.Any; import org.omg.CORBA.ORB; import org.omg.CORBA.TypeCode; import java.math.BigDecimal; import java.util.Random; /** * This test checks the correctness of the CDR (comon data representation) * streams. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ public class cdrIO extends Asserter implements Testlet { ORB orb = ORB.init(); Random r = new Random(); private org.omg.CORBA.portable.OutputStream out; public void test(TestHarness harness) { h = harness; testRead_any(); testRead_boolean(); testRead_boolean_array(); testRead_char(); testRead_char_array(); testRead_double(); testRead_double_array(); testRead_fixed(); testRead_float(); testRead_float_array(); testRead_long(); testRead_longlong(); testRead_longlong_array(); testRead_long_array(); testRead_octet(); testRead_octet_array(); testRead_short(); testRead_short_array(); testRead_string(); testRead_TypeCode(); testRead_ulong(); testRead_ulonglong(); testRead_ulonglong_array(); testRead_ulong_array(); testRead_ushort(); testRead_ushort_array(); testRead_wchar(); testRead_wchar_array(); testRead_wstring(); } public void testRead_TypeCode() { TypeCode expectedReturn = orb.create_fixed_tc((short) 12, (short) 5); out = out(); out.write_TypeCode(expectedReturn); TypeCode actualReturn = out.create_input_stream().read_TypeCode(); assertTrue("typecode", expectedReturn.equal(actualReturn)); } public void testRead_any() { Any expectedReturn = orb.create_any(); expectedReturn.insert_long(r.nextInt()); out = out(); out.write_any(expectedReturn); Any actualReturn = out.create_input_stream().read_any(); assertEquals("Any enclosed value", expectedReturn.extract_long(), actualReturn.extract_long() ); assertTrue("Any, types", expectedReturn.type().equal(actualReturn.type())); expectedReturn = orb.create_any(); expectedReturn.insert_string("http://www.akl.lt/remejai"); out = out(); out.write_any(expectedReturn); actualReturn = out.create_input_stream().read_any(); assertEquals("Any enclosed value", expectedReturn.extract_string(), actualReturn.extract_string() ); assertTrue("Any, types", expectedReturn.type().equal(actualReturn.type())); } public void testRead_boolean() { out = out(); out.write_boolean(true); assertTrue("boolean, true", out.create_input_stream().read_boolean()); out = out(); out.write_boolean(false); assertTrue("boolean, false", !(out.create_input_stream().read_boolean())); } public void testRead_boolean_array() { boolean[] x = new boolean[ 24 ]; for (int i = 0; i < x.length; i++) { x [ i ] = r.nextBoolean(); } int offs = r.nextInt(5); int len = r.nextInt(10) + 1; out = out(); out.write_boolean_array(x, offs, len); boolean[] r = new boolean[ x.length ]; out.create_input_stream().read_boolean_array(r, offs, len); boolean eq = true; for (int i = offs; i < offs + len; i++) { if (x [ i ] != r [ i ]) { System.out.println(x [ i ] + "!=" + r [ i ] + " at " + i); eq = false; } } assertTrue("boolean array", eq); } public void testRead_char() { out = out(); out.write_char('x'); assertEquals("narrow char", out.create_input_stream().read_char(), 'x'); } public void testRead_char_array() { char[] x = new char[ 24 ]; for (int i = 0; i < x.length; i++) { x [ i ] = r.nextBoolean() ? 'a' : 'b'; } int offs = r.nextInt(5); int len = r.nextInt(10) + 1; out = out(); out.write_char_array(x, offs, len); char[] r = new char[ x.length ]; out.create_input_stream().read_char_array(r, offs, len); boolean eq = true; for (int i = offs; i < offs + len; i++) { if (x [ i ] != r [ i ]) eq = false; } assertTrue("char array", eq); } public void testRead_double() { double expectedReturn = r.nextDouble(); out = out(); out.write_double(expectedReturn); assertEquals("double", out.create_input_stream().read_double(), expectedReturn, Double.MIN_VALUE ); } public void testRead_double_array() { double[] x = new double[ 24 ]; for (int i = 0; i < x.length; i++) { x [ i ] = r.nextDouble(); } int offs = r.nextInt(5); int len = r.nextInt(10) + 1; out = out(); out.write_double_array(x, offs, len); double[] r = new double[ x.length ]; out.create_input_stream().read_double_array(r, offs, len); boolean eq = true; for (int i = offs; i < offs + len; i++) { if (x [ i ] != r [ i ]) eq = false; } assertTrue("double array", eq); } public void testRead_fixed() { BigDecimal expectedReturn = new BigDecimal(r.nextInt()); out = out(); out.write_fixed(expectedReturn); BigDecimal actualReturn = out.create_input_stream().read_fixed(); assertEquals("fixed " + expectedReturn + "!=" + actualReturn.toString(), expectedReturn.toString(), actualReturn.toString() ); } public void testRead_float() { float expectedReturn = r.nextFloat(); out = out(); out.write_float(expectedReturn); assertEquals("float", out.create_input_stream().read_float(), expectedReturn, Float.MIN_VALUE ); } public void testRead_float_array() { float[] x = new float[ 24 ]; for (int i = 0; i < x.length; i++) { x [ i ] = r.nextFloat(); } int offs = r.nextInt(5); int len = r.nextInt(10) + 1; out = out(); out.write_float_array(x, offs, len); float[] r = new float[ x.length ]; out.create_input_stream().read_float_array(r, offs, len); boolean eq = true; for (int i = offs; i < offs + len; i++) { if (x [ i ] != r [ i ]) eq = false; } assertTrue("float array", eq); } public void testRead_long() { int expectedReturn = r.nextInt(); out = out(); out.write_long(expectedReturn); assertEquals("long", out.create_input_stream().read_long(), expectedReturn); } public void testRead_long_array() { int[] x = new int[ 24 ]; for (int i = 0; i < x.length; i++) { x [ i ] = r.nextInt(); } int offs = r.nextInt(5); int len = r.nextInt(10) + 1; out = out(); out.write_long_array(x, offs, len); int[] r = new int[ x.length ]; out.create_input_stream().read_long_array(r, offs, len); boolean eq = true; for (int i = offs; i < offs + len; i++) { if (x [ i ] != r [ i ]) { eq = false; System.out.println(x [ i ] + "!=" + r [ i ] + " at " + i); } } assertTrue("long array", eq); } public void testRead_longlong() { long expectedReturn = r.nextLong(); out = out(); out.write_longlong(expectedReturn); assertEquals("long long", out.create_input_stream().read_longlong(), expectedReturn ); } public void testRead_longlong_array() { long[] x = new long[ 24 ]; for (int i = 0; i < x.length; i++) { x [ i ] = r.nextLong(); } int offs = r.nextInt(5); int len = r.nextInt(10) + 1; out = out(); out.write_longlong_array(x, offs, len); long[] r = new long[ x.length ]; out.create_input_stream().read_longlong_array(r, offs, len); boolean eq = true; for (int i = offs; i < offs + len; i++) { if (x [ i ] != r [ i ]) eq = false; } assertTrue("long long array", eq); } public void testRead_octet() { byte expectedReturn = (byte) (r.nextInt(Byte.MAX_VALUE) - Byte.MAX_VALUE / 2); out = out(); out.write_octet(expectedReturn); assertEquals("byte", out.create_input_stream().read_octet(), expectedReturn); } public void testRead_octet_array() { byte[] x = new byte[ 24 ]; for (int i = 0; i < x.length; i++) { x [ i ] = (byte) (r.nextInt(Byte.MAX_VALUE) - Byte.MAX_VALUE / 2); } int offs = r.nextInt(5); int len = r.nextInt(10) + 1; out = out(); out.write_octet_array(x, offs, len); byte[] r = new byte[ x.length ]; out.create_input_stream().read_octet_array(r, offs, len); boolean eq = true; for (int i = offs; i < offs + len; i++) { if (x [ i ] != r [ i ]) eq = false; } assertTrue("octet array", eq); } public void testRead_short() { short expectedReturn = (short) r.nextInt(Short.MAX_VALUE); out = out(); out.write_short(expectedReturn); assertEquals("short", out.create_input_stream().read_short(), expectedReturn); } public void testRead_short_array() { short[] x = new short[ 24 ]; for (int i = 0; i < x.length; i++) { x [ i ] = (short) r.nextInt(Short.MAX_VALUE); } int offs = r.nextInt(5); int len = r.nextInt(10) + 1; out = out(); out.write_short_array(x, offs, len); short[] r = new short[ x.length ]; out.create_input_stream().read_short_array(r, offs, len); boolean eq = true; for (int i = offs; i < offs + len; i++) { if (x [ i ] != r [ i ]) eq = false; } assertTrue("short array", eq); } public void testRead_string() { String expectedReturn = "http://wwww.gnu.org"; out = out(); out.write_string(expectedReturn); String actualReturn = out.create_input_stream().read_string(); assertEquals("string", expectedReturn, actualReturn); } public void testRead_ulong() { int expectedReturn = r.nextInt(); out = out(); out.write_ulong(expectedReturn); assertEquals("ulong", out.create_input_stream().read_ulong(), expectedReturn); } public void testRead_ulong_array() { int[] x = new int[ 24 ]; for (int i = 0; i < x.length; i++) { x [ i ] = r.nextInt(); } int offs = r.nextInt(5); int len = r.nextInt(10) + 1; out = out(); out.write_ulong_array(x, offs, len); int[] r = new int[ x.length ]; out.create_input_stream().read_ulong_array(r, offs, len); boolean eq = true; for (int i = offs; i < offs + len; i++) { if (x [ i ] != r [ i ]) eq = false; } assertTrue("ulong array", eq); } public void testRead_ulonglong() { long expectedReturn = r.nextLong(); out = out(); out.write_ulonglong(expectedReturn); assertEquals("u long long", out.create_input_stream().read_ulonglong(), expectedReturn ); } public void testRead_ulonglong_array() { long[] x = new long[ 24 ]; for (int i = 0; i < x.length; i++) { x [ i ] = r.nextLong(); } int offs = r.nextInt(5); int len = r.nextInt(10) + 1; out = out(); out.write_ulonglong_array(x, offs, len); long[] r = new long[ x.length ]; out.create_input_stream().read_ulonglong_array(r, offs, len); boolean eq = true; for (int i = offs; i < offs + len; i++) { if (x [ i ] != r [ i ]) eq = false; } assertTrue("u long long array", eq); } public void testRead_ushort() { short expectedReturn = (short) r.nextInt(Short.MAX_VALUE); out = out(); out.write_ushort(expectedReturn); assertEquals("ushort", out.create_input_stream().read_ushort(), expectedReturn ); } public void testRead_ushort_array() { short[] x = new short[ 24 ]; for (int i = 0; i < x.length; i++) { x [ i ] = (short) r.nextInt(Short.MAX_VALUE); } int offs = r.nextInt(5); int len = r.nextInt(10) + 1; out = out(); out.write_ushort_array(x, offs, len); short[] r = new short[ x.length ]; out.create_input_stream().read_ushort_array(r, offs, len); boolean eq = true; for (int i = offs; i < offs + len; i++) { if (x [ i ] != r [ i ]) eq = false; } assertTrue("u short array", eq); } public void testRead_wchar() { out = out(); out.write_wchar('\u017E'); assertEquals("wide char", out.create_input_stream().read_wchar(), '\u017E'); } public void testRead_wchar_array() { char[] x = new char[ 24 ]; for (int i = 0; i < x.length; i++) { x [ i ] = r.nextBoolean() ? '\u0105' : '\u010D'; } int offs = r.nextInt(5); int len = r.nextInt(10) + 1; out = out(); out.write_wchar_array(x, offs, len); char[] r = new char[ x.length ]; out.create_input_stream().read_wchar_array(r, offs, len); boolean eq = true; for (int i = offs; i < offs + len; i++) { if (x [ i ] != r [ i ]) eq = false; } assertTrue("wide char array", eq); } public void testRead_wstring() { String expectedReturn = "Audrius Me\u0161kauskas"; out = out(); out.write_wstring(expectedReturn); String actualReturn = out.create_input_stream().read_wstring(); assertEquals("wide string", expectedReturn, actualReturn); } org.omg.CORBA.portable.OutputStream out() { return orb.create_any().create_output_stream(); } } mauve-20140821/gnu/testlet/org/omg/CORBA/ServiceInformationHelper/0000755000175000001440000000000012375316426023400 5ustar dokousersmauve-20140821/gnu/testlet/org/omg/CORBA/ServiceInformationHelper/basicHelperOperations.java0000644000175000001440000001067010244123614030520 0ustar dokousers// Tags: JDK1.2 // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.org.omg.CORBA.ServiceInformationHelper; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.org.omg.CORBA.Asserter; import org.omg.CORBA.Any; import org.omg.CORBA.ORB; import org.omg.CORBA.ServiceDetail; import org.omg.CORBA.ServiceInformation; import org.omg.CORBA.ServiceInformationHelper; import org.omg.CORBA.portable.OutputStream; /** * This class tests the ServiceInformationHelper, but as important * side effect if also verifies the CORBA implementation part, used * by the numerous other Helpers. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ public class basicHelperOperations extends Asserter implements Testlet { private ORB orb; public void testCDR_Read_Write() { OutputStream out = orb.create_output_stream(); ServiceInformationHelper.write(out, createInstance()); ServiceInformation r = ServiceInformationHelper.read(out.create_input_stream()); verifyInstance(r); } public void testHelper_Insert_Extract() { Any a = orb.create_any(); ServiceInformationHelper.insert(a, createInstance()); ServiceInformation extracted = ServiceInformationHelper.extract(a); verifyInstance(extracted); } /** * Test the support of the typical constructs, generated by some IDL * compilers to insert into Any/exctract from Any. */ public void testAny_read_write() { Any a = orb.create_any(); org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); a.type(ServiceInformationHelper.type()); ServiceInformationHelper.write(out, createInstance()); a.read_value(out.create_input_stream(), ServiceInformationHelper.type()); verifyInstance(ServiceInformationHelper.read(a.create_input_stream())); } /** * Verify the verifyer. */ public void testSelf() { ServiceInformation s = createInstance(); verifyInstance(s); } protected ServiceInformation createInstance() { ServiceInformation s = new ServiceInformation(); s.service_options = new int[] { 9, 8, 7, 4, 5 }; s.service_details = new ServiceDetail[] { new ServiceDetail(5, new byte[] { 1, 2, 3 }), new ServiceDetail(7, new byte[] { 9, 8, 7 }) }; return s; } protected void verifyInstance(ServiceInformation x) { ServiceInformation s = createInstance(); assertEquals("service_options.length", s.service_options.length, x.service_options.length ); for (int i = 0; i < s.service_options.length; i++) { assertEquals("service_options[" + i + "]", s.service_options [ i ], x.service_options [ i ] ); } assertEquals("service_details.length", s.service_details.length, x.service_details.length ); for (int k = 0; k < s.service_details.length; k++) { ServiceDetail e = s.service_details [ k ]; ServiceDetail a = x.service_details [ k ]; assertEquals("s_d[" + k + "].service_detail_type", e.service_detail_type, a.service_detail_type ); assertEquals("s_d[" + k + "].length", e.service_detail.length, a.service_detail.length ); for (int i = 0; i < e.service_detail.length; i++) { assertEquals("s_d[" + k + "].service_detail[" + i + "]", e.service_detail [ i ], a.service_detail [ i ] ); } } } public void test(TestHarness harness) { h = harness; orb = ORB.init(); testSelf(); testCDR_Read_Write(); testAny_read_write(); testHelper_Insert_Extract(); } } mauve-20140821/gnu/testlet/org/omg/PortableInterceptor/0000755000175000001440000000000012375316426021573 5ustar dokousersmauve-20140821/gnu/testlet/org/omg/PortableInterceptor/Interceptor/0000755000175000001440000000000012375316426024071 5ustar dokousersmauve-20140821/gnu/testlet/org/omg/PortableInterceptor/Interceptor/testInterceptors.java0000644000175000001440000002373111256665603030324 0ustar dokousers// Tags: JDK1.4 // Uses: ../../CORBA/Asserter ../../PortableServer/POAOperations/communication/ourUserException ../../PortableServer/POAOperations/communication/poa_Servant ../../PortableServer/POAOperations/communication/poa_comTester ../../PortableServer/POAOperations/communication/poa_comTesterHelper // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.org.omg.PortableInterceptor.Interceptor; import java.util.Properties; import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.CompletionStatus; import org.omg.CORBA.INV_FLAG; import org.omg.CORBA.ORB; import org.omg.CORBA.Object; import org.omg.CORBA.Request; import org.omg.CORBA.TCKind; import org.omg.PortableInterceptor.Current; import org.omg.PortableInterceptor.CurrentHelper; import org.omg.PortableServer.POA; import org.omg.PortableServer.POAHelper; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.org.omg.CORBA.Asserter; import gnu.testlet.org.omg.PortableServer.POAOperations.communication.ourUserException; import gnu.testlet.org.omg.PortableServer.POAOperations.communication.poa_Servant; import gnu.testlet.org.omg.PortableServer.POAOperations.communication.poa_comTester; import gnu.testlet.org.omg.PortableServer.POAOperations.communication.poa_comTesterHelper; /** * Test the basic work of the portable interceptor system. * * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) */ public class testInterceptors extends Asserter implements Testlet { public static Object fior; public void test() { try { Properties initialisers = new Properties(); initialisers.setProperty( "org.omg.PortableInterceptor.ORBInitializerClass." + ucInitialiser.class.getName(), ucInitialiser.class.getName() ); // Create and initialize the ORB final ORB orb = org.omg.CORBA.ORB.init(new String[ 0 ], initialisers); assertTrue("PreInit", ucInitialiser.preInit); assertTrue("PostInit", ucInitialiser.postInit); // Create the general communication servant and register it // with the ORB poa_Servant tester = new poa_Servant(); POA rootPOA = POAHelper.narrow(orb.resolve_initial_references("RootPOA")); Object object = rootPOA.servant_to_reference(tester); // IOR must contain custom fragment, inserted by interceptor. // Sun 1.4 had a bug that was fixed in 1.5. String ior = orb.object_to_string(object); assertTrue("IOR custom component (bug in 1.4, fixed in 1.5)", ior.indexOf( "45257200000020000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f" ) > 0 ); // Create the forwarding target and register it // with the ORB poa_Servant forw = new poa_Servant(); tester.theField(15); forw.theField(16); // Another orb without interceptors. final ORB orbf = ORB.init(new String[ 0 ], null); POA rootPOA2 = POAHelper.narrow(orbf.resolve_initial_references("RootPOA")); Object fobject = rootPOA2.servant_to_reference(forw); // Storing the IOR reference for general communication. fior = fobject; rootPOA.the_POAManager().activate(); rootPOA2.the_POAManager().activate(); // Intercepting server ready and waiting ... new Thread() { public void run() { // wait for invocations from clients orb.run(); } }.start(); new Thread() { public void run() { // wait for invocations from clients orbf.run(); } }.start(); // Make pause and do a local call. Thread.sleep(1000); // Saying local hello. poa_comTester Tester = poa_comTesterHelper.narrow(object); Any a0 = orb.create_any(); a0.insert_string("Initial value for slot 0"); Any a1 = orb.create_any(); a1.insert_string("Initial value for slot 1"); ORB orb2 = ORB.init(new String[ 0 ], initialisers); try { // Set the initial slot values. Current current = CurrentHelper.narrow(orb.resolve_initial_references("PICurrent")); Current current2 = CurrentHelper.narrow(orb2.resolve_initial_references("PICurrent")); current.set_slot(ucInitialiser.slot_0, a0); current.set_slot(ucInitialiser.slot_1, a1); current2.set_slot(ucInitialiser.slot_0, a0); current2.set_slot(ucInitialiser.slot_1, a1); } catch (Exception e) { fail("Exception " + e + " while setting slots."); e.printStackTrace(); } String lHello = Tester.sayHello(); // Saying remote hello. Object object2 = orb2.string_to_object(ior); poa_comTester Tester2 = poa_comTesterHelper.narrow(object2); String hello = Tester2.sayHello(); assertEquals("Local and remote must return the same", lHello, hello); // Saying remote hello via DII. Request rq = Tester2._create_request(null, "sayHello", orb2.create_list(0), orb2.create_named_value("", orb.create_any(), 0) ); rq.set_return_type(orb2.get_primitive_tc(TCKind.tk_string)); rq.invoke(); assertEquals("Remote Stub and DII call must return the same", hello, rq.return_value().extract_string() ); // Saying local hello via DII. rq = Tester._create_request(null, "sayHello", orb2.create_list(0), orb2.create_named_value("", orb.create_any(), 0) ); rq.set_return_type(orb2.get_primitive_tc(TCKind.tk_string)); rq.invoke(); assertEquals("Local Stub and DII call must return the same", hello, rq.return_value().extract_string() ); // Throw remote system exception try { Tester2.throwException(-1); fail("BAD_OPERATION should be thrown"); } catch (BAD_OPERATION ex) { assertEquals("Minor code", ex.minor, 456); assertEquals("Completion status", CompletionStatus.COMPLETED_YES, ex.completed ); } // Throw remote user exception try { Tester2.throwException(24); fail("UserException should be thrown"); } catch (ourUserException ex) { assertEquals("Custom field", ex.ourField, 24); } // Throw local system exception try { Tester.throwException(-1); fail("BAD_OPERATION should be thrown"); } catch (BAD_OPERATION ex) { assertEquals("Minor code", ex.minor, 456); assertEquals("Completion status", CompletionStatus.COMPLETED_YES, ex.completed ); } // Throw local user exception try { Tester.throwException(24); fail("UserException should be thrown"); } catch (ourUserException ex) { assertEquals("Custom field", ex.ourField, 24); } // Remote server side interceptor throws an exception try { Tester2.passCharacters("", ""); fail("INV_FLAG should be thrown"); } catch (INV_FLAG ex) { assertEquals("Minor", 52, ex.minor); assertEquals("Completion status", CompletionStatus.COMPLETED_MAYBE, ex.completed ); } // Local server side interceptor throws an exception try { Tester.passCharacters("", ""); fail("INV_FLAG should be thrown"); } catch (INV_FLAG ex) { assertEquals("Minor", 52, ex.minor); assertEquals("Completion status", CompletionStatus.COMPLETED_MAYBE, ex.completed ); } assertEquals("Forwarding test, remote", 16, Tester2.theField()); assertEquals("Forwarding test, local", 16, Tester.theField()); assertEquals("Forwarding test, remote", 16, Tester2.theField()); assertEquals("Forwarding test, local", 16, Tester.theField()); // Destroy orbs: orb.destroy(); orb2.destroy(); orbf.destroy(); assertTrue("Destroyed", ucClientRequestInterceptor.destroyed); assertTrue("Destroyed", ucIorInterceptor.destroyed); assertTrue("Destroyed", ucServerRequestInterceptor.destroyed); } catch (Exception e) { fail("Exception " + e); } } public void test(TestHarness harness) { // Set the loader of this class as a context class loader, ensuring that the // CORBA implementation will be able to locate the interceptor classes. ClassLoader previous = Thread.currentThread().getContextClassLoader(); Thread.currentThread().setContextClassLoader(getClass().getClassLoader()); try { h = harness; test(); } finally { Thread.currentThread().setContextClassLoader(previous); } } }mauve-20140821/gnu/testlet/org/omg/PortableInterceptor/Interceptor/ucIorInterceptor.java0000644000175000001440000000431010306334560030221 0ustar dokousers// Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.org.omg.PortableInterceptor.Interceptor; import org.omg.CORBA.LocalObject; import org.omg.CORBA.Policy; import org.omg.IOP.TaggedComponent; import org.omg.PortableInterceptor.IORInfo; import org.omg.PortableInterceptor.IORInterceptor; import org.omg.PortableServer.SERVANT_RETENTION_POLICY_ID; import org.omg.PortableServer.ServantRetentionPolicy; import org.omg.PortableServer.ServantRetentionPolicyValue; /** * Our IOR interceptor. * * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) */ public class ucIorInterceptor extends LocalObject implements IORInterceptor { public static boolean destroyed; public static boolean policyOK; /** * Get class name as name of this test interceptor. */ public String name() { return getClass().getName(); } /** * Print message. */ public void destroy() { destroyed = true; } public void establish_components(IORInfo info) { TaggedComponent component = new TaggedComponent(); component.tag = 0x452572; byte[] data = new byte[ 0x20 ]; for (byte i = 0; i < data.length; i++) { data [ i ] = i; } component.component_data = data; info.add_ior_component(component); info.add_ior_component_to_profile(component, 0); Policy p = info.get_effective_policy(SERVANT_RETENTION_POLICY_ID.value); policyOK = ((ServantRetentionPolicy) p).value() == ServantRetentionPolicyValue.RETAIN; } }mauve-20140821/gnu/testlet/org/omg/PortableInterceptor/Interceptor/ucServerRequestInterceptor.java0000644000175000001440000001235510306334560032317 0ustar dokousers// Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.org.omg.PortableInterceptor.Interceptor; import org.omg.CORBA.Any; import org.omg.CORBA.CompletionStatus; import org.omg.CORBA.DATA_CONVERSION; import org.omg.CORBA.INV_FLAG; import org.omg.CORBA.LocalObject; import org.omg.CORBA.ORB; import org.omg.CORBA.TypeCodePackage.BadKind; import org.omg.IOP.ServiceContext; import org.omg.PortableInterceptor.ForwardRequest; import org.omg.PortableInterceptor.ServerRequestInfo; import org.omg.PortableInterceptor.ServerRequestInterceptor; /** * Our server request interceptor. * * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) */ public class ucServerRequestInterceptor extends LocalObject implements ServerRequestInterceptor { StringBuffer callPattern = new StringBuffer(); public static boolean destroyed; /** * Get class name as name of this test interceptor. */ public String name() { return getClass().getName(); } public void destroy() { destroyed = true; } public void receive_request_service_contexts(ServerRequestInfo info) throws ForwardRequest { try { Any s0 = ORB.init().create_any(); Any s1 = ORB.init().create_any(); s0.insert_string("Slot zero"); s1.insert_string("Slot one"); info.set_slot(ucInitialiser.slot_0, s0); info.set_slot(ucInitialiser.slot_1, s1); } catch (Exception e) { throw new RuntimeException("Server Slot problem", e); } callPattern.setLength(0); callPattern.append("In"); checkClientCtx(info); // Add one context to reply. ServiceContext ce = new ServiceContext(); ce.context_id = 6002; ce.context_data = new byte[ 0 ]; info.add_reply_service_context(ce, true); } public void receive_request(ServerRequestInfo info) throws ForwardRequest { callPattern.append("Rq[" + info.operation() + "]"); // Add one context to reply. ServiceContext ce = new ServiceContext(); ce.context_id = 6001; ce.context_data = new byte[ 0 ]; info.add_reply_service_context(ce, false); checkClientCtx(info); // Throw an exception on "passCharacters" if (info.operation().equals("passCharacters")) { throw new DATA_CONVERSION(87652, CompletionStatus.COMPLETED_MAYBE); } // Forward on the attempt to get the field. // The forwarding target is connected to another ORB without this // interceptor. if (info.operation().equals("_get_theField")) { throw new ForwardRequest(testInterceptors.fior); } } private void checkClientCtx(ServerRequestInfo info) { // Check if the two client side service contexts are present. ServiceContext s = info.get_request_service_context(5000); ServiceContext se = info.get_request_service_context(5001); if (s.context_id != 5000) { throw new RuntimeException("S ERROR Returned context 5000 id mismatch"); } if (se.context_id != 5001) { throw new RuntimeException("S ERROR Returned context 5001 id mismatch"); } } public void send_exception(ServerRequestInfo info) throws ForwardRequest { callPattern.append("Ex"); addCallPattern(info); try { // Throw another exception, expecting replacement. if (info.sending_exception().type().id().equals("IDL:omg.org/CORBA/DATA_CONVERSION:1.0") ) { throw new INV_FLAG(52, CompletionStatus.COMPLETED_MAYBE); } } catch (BadKind e) { e.printStackTrace(); } } public void send_other(ServerRequestInfo info) { callPattern.append("Fw"); addCallPattern(info); } public void send_reply(ServerRequestInfo info) { callPattern.append("Rp"); addCallPattern(info); try { Any s0 = info.get_slot(ucInitialiser.slot_0); if (!s0.extract_string().equals("Slot zero")) { throw new RuntimeException("Slot 0 value mismatch"); } Any s1 = info.get_slot(ucInitialiser.slot_1); if (!s1.extract_string().equals("Slot one")) { throw new RuntimeException("Slot 1 value mismatch"); } } catch (Exception e) { throw new RuntimeException("Server slot problem", e); } } void addCallPattern(ServerRequestInfo info) { // Add one context. ServiceContext c = new ServiceContext(); c.context_id = 6000; c.context_data = callPattern.toString().getBytes(); info.add_reply_service_context(c, false); } }mauve-20140821/gnu/testlet/org/omg/PortableInterceptor/Interceptor/ucClientRequestInterceptor.java0000644000175000001440000001442710306334560032271 0ustar dokousers// Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.org.omg.PortableInterceptor.Interceptor; import org.omg.CORBA.Any; import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.LocalObject; import org.omg.CORBA.ORB; import org.omg.IOP.ServiceContext; import org.omg.PortableInterceptor.ClientRequestInfo; import org.omg.PortableInterceptor.ForwardRequest; /** * A sample client request interceptor. */ public class ucClientRequestInterceptor extends LocalObject implements org.omg.PortableInterceptor.ClientRequestInterceptor { StringBuffer callPattern = new StringBuffer(); public static boolean destroyed; /** * Get class name as name of this test interceptor. */ public String name() { return getClass().getName(); } public void destroy() { destroyed = true; } public void receive_exception(ClientRequestInfo info) throws ForwardRequest { callPattern.append("Ex"); // _get_theField is handled in the forwarded target without interceptors. if (!info.operation().equals("_get_theField")) { ServiceContext s = info.get_reply_service_context(6000); String ps = new String(s.context_data); if (s.context_id != 6000) { throw new RuntimeException( "C ERROR Returned context 6000 id mismatch" ); } String p = callPattern.toString(); if (!( "SRq[throwException]Ex".equals(p) || "SRq[passCharacters]Ex".equals(p) ) ) { throw new RuntimeException("Invalid client pattern " + p); } if (!( "InRq[throwException]Ex".equals(ps) || "InRq[passCharacters]Ex".equals(ps) ) ) { throw new RuntimeException("Invalid server pattern " + ps); } } } public void receive_other(ClientRequestInfo info) throws ForwardRequest { callPattern.append("Fx"); } public void receive_reply(ClientRequestInfo info) { callPattern.append("Rr"); checkServerCtx(info); // Check if the two server side service contexts are present. // _get_theField is handled in the forwarded target without interceptors. if (!info.operation().equals("_get_theField")) { ServiceContext s = info.get_reply_service_context(6000); String ps = new String(s.context_data); if (s.context_id != 6000) { throw new RuntimeException( "C ERROR Returned context 6000 id mismatch" ); } if (!"SRq[sayHello]Rr".equals(callPattern.toString())) { throw new RuntimeException("Invalid client pattern " + callPattern ); } if (!"InRq[sayHello]Rp".equals(ps)) { throw new RuntimeException("Invalid server pattern " + ps); } } } private void checkServerCtx(ClientRequestInfo info) { // _get_theField is handled in the forwarded target without interceptors. if (!info.operation().equals("_get_theField")) { ServiceContext se = info.get_reply_service_context(6001); if (se.context_data.length != 0) { throw new RuntimeException( "C ERROR Server side context 6001 is not present in reply." ); } ServiceContext sx = info.get_reply_service_context(6002); if (sx.context_data.length != 0) { throw new RuntimeException( "C ERROR Server side context 6001 is not present in reply." ); } if (se.context_id != 6001) { throw new RuntimeException( "C ERROR Returned context 6001 id mismatch" ); } } else { // Handled by the forwarded target without interceptors. No context // should // be added. try { info.get_reply_service_context(6000); throw new RuntimeException( "C ERROR context 6000 present where it should not be" ); } catch (BAD_PARAM e) { // Excepected. } } } public void send_poll(ClientRequestInfo info) { callPattern.append("Sp"); } /** * Add a sample service context. */ public void send_request(ClientRequestInfo info) throws ForwardRequest { try { Any is0 = info.get_slot(ucInitialiser.slot_0); if (!is0.extract_string().equals("Initial value for slot 0")) { throw new RuntimeException("Wrong initial slot 0 value"); } Any is1 = info.get_slot(ucInitialiser.slot_1); if (!is1.extract_string().equals("Initial value for slot 1")) { throw new RuntimeException("Wrong initial slot 1 value"); } Any s0 = ORB.init().create_any(); Any s1 = ORB.init().create_any(); s0.insert_string("Client slot zero"); s1.insert_string("Client slot one"); } catch (Exception e) { throw new RuntimeException("Client Slot problem", e); } callPattern.setLength(0); callPattern.append("SRq[" + info.operation() + "]"); // One with content. ServiceContext c = new ServiceContext(); c.context_id = 5000; c.context_data = "my_request_context_1".getBytes(); info.add_request_service_context(c, false); // Another empty. ServiceContext ce = new ServiceContext(); ce.context_id = 5001; ce.context_data = new byte[ 0 ]; info.add_request_service_context(ce, false); } }mauve-20140821/gnu/testlet/org/omg/PortableInterceptor/Interceptor/ucInitialiser.java0000644000175000001440000000355410306334560027536 0ustar dokousers// Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. package gnu.testlet.org.omg.PortableInterceptor.Interceptor; import org.omg.CORBA.LocalObject; import org.omg.PortableInterceptor.ORBInitInfo; import org.omg.PortableInterceptor.ORBInitInfoPackage.DuplicateName; import org.omg.PortableInterceptor.ORBInitializer; /** * Registers our interceptors. * * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) */ public class ucInitialiser extends LocalObject implements ORBInitializer { public static boolean preInit; public static boolean postInit; public static int slot_0; public static int slot_1; public void pre_init(ORBInitInfo info) { try { preInit = true; info.add_ior_interceptor(new ucIorInterceptor()); info.add_server_request_interceptor(new ucServerRequestInterceptor()); info.add_client_request_interceptor(new ucClientRequestInterceptor()); slot_0 = info.allocate_slot_id(); slot_1 = info.allocate_slot_id(); } catch (DuplicateName ex) { ex.printStackTrace(); } } public void post_init(ORBInitInfo info) { postInit = true; } }mauve-20140821/gnu/testlet/org/omg/IOP/0000755000175000001440000000000012375316426016233 5ustar dokousersmauve-20140821/gnu/testlet/org/omg/IOP/IOR/0000755000175000001440000000000012375316426016664 5ustar dokousersmauve-20140821/gnu/testlet/org/omg/IOP/IOR/Streams.java0000644000175000001440000000631710256032055021141 0ustar dokousers// Tags: JDK1.4 // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.org.omg.IOP.IOR; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.org.omg.CORBA.ORB.communication.comServant; import org.omg.CORBA.Any; import org.omg.CORBA.ORB; import org.omg.CORBA.portable.OutputStream; import org.omg.IOP.*; import org.omg.IOP.IOR; import org.omg.IOP.IORHelper; /** * The IOR profiles are used to transfer the object reference between * two ORBs (over network and so on). That is written by IORHelper, * must be understood by portable.InputStream, that is written by * portable.OutputStream must be understood by IORHelper. The test * verifies this. As a sample of the object with IOR reference it uses * comServant from another test. * * Error message notation: * HW - IORHelper writes, InputStream reads. * HR - IORHelper reads, InputStream writes. * * @author Audrius Meskauskas (AudriusA@bluewin.ch) */ public class Streams implements Testlet { public void test(TestHarness h) { ORB orb = ORB.init(new String[ 0 ], null); Any an = orb.create_any(); OutputStream out = an.create_output_stream(); comServant object = new comServant(); orb.connect(object); out.write_Object(object); IOR ior = IORHelper.read(out.create_input_stream()); boolean ip = false; for (int i = 0; i < ior.profiles.length; i++) { if (ior.profiles [ i ].tag == TAG_INTERNET_IOP.value) { if (ip) h.fail("HR:One internet profile expected"); ip = true; h.check(ior.profiles [ i ].profile_data.length > 0, "HR:Internet profile data" ); } } h.check(ip, "HR:Internet profile present"); h.check(object._is_a(ior.type_id), "HR id"); h.check(ior.profiles.length > 0, "HR profiles"); out = orb.create_any().create_output_stream(); IORHelper.write(out, ior); org.omg.CORBA.Object obj = out.create_input_stream().read_Object(); h.check(obj._is_a(ior.type_id), " HW id"); h.check(ior.profiles.length > 0, "HW profiles"); ip = false; for (int i = 0; i < ior.profiles.length; i++) { if (ior.profiles [ i ].tag == TAG_INTERNET_IOP.value) { if (ip) h.fail("HW:One internet profile expected"); ip = true; h.check(ior.profiles [ i ].profile_data.length > 0, "HW:Internet profile data" ); } } } }mauve-20140821/gnu/testlet/org/omg/PortableServer/0000755000175000001440000000000012375316426020543 5ustar dokousersmauve-20140821/gnu/testlet/org/omg/PortableServer/POA/0000755000175000001440000000000012375316426021162 5ustar dokousersmauve-20140821/gnu/testlet/org/omg/PortableServer/POA/Test_impl.java0000644000175000001440000000664710447766314024005 0ustar dokousers// Tags: not-a-test // Copyright (c) Object Oriented Concepts, Inc. Billerica, MA, USA // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // ********************************************************************** // // Copyright (c) 2000 // Object Oriented Concepts, Inc. // Billerica, MA, USA // // All Rights Reserved // // ********************************************************************** package gnu.testlet.org.omg.PortableServer.POA; import org.omg.CORBA.ORB; import org.omg.PortableServer.POA; final class Test_impl extends TestPOA { // // From TestBase (no multiple inheritance) // public static void TEST(boolean expr) { if (!expr) throw new TestException(); } private POA poa_; org.omg.PortableServer.Current current_; private String name_; private boolean compare_; Test_impl(ORB orb, String name, boolean compare) { name_ = name; compare_ = compare; org.omg.CORBA.Object currentObj = null; try { currentObj = orb.resolve_initial_references("POACurrent"); } catch (org.omg.CORBA.ORBPackage.InvalidName ex) { } TEST(currentObj != null); current_ = org.omg.PortableServer.CurrentHelper.narrow(currentObj); TEST(current_ != null); } Test_impl(ORB orb, POA poa) { poa_ = poa; name_ = ""; compare_ = false; org.omg.CORBA.Object currentObj = null; try { currentObj = orb.resolve_initial_references("POACurrent"); } catch (org.omg.CORBA.ORBPackage.InvalidName ex) { } TEST(currentObj != null); current_ = org.omg.PortableServer.CurrentHelper.narrow(currentObj); TEST(current_ != null); } public void aMethod() { if (compare_) { byte[] oid = null; try { oid = current_.get_object_id(); } catch (org.omg.PortableServer.CurrentPackage.NoContext ex) { throw new RuntimeException(); } String oidString = new String(oid); TEST(oidString.equals(name_)); } } public POA _default_POA() { if (poa_ != null) return poa_; return super._default_POA(); } } mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/TestLocationForwardPOA.java0000644000175000001440000000664510451015575026327 0ustar dokousers// Tags: not-a-test // Copyright (c) Object Oriented Concepts, Inc. Billerica, MA, USA // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.PortableServer.POA; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.CompletionStatus; import org.omg.CORBA.ORB; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.InvokeHandler; import org.omg.CORBA.portable.OutputStream; import org.omg.CORBA.portable.ResponseHandler; import org.omg.PortableServer.Servant; public abstract class TestLocationForwardPOA extends org.omg.PortableServer.Servant implements TestLocationForwardOperations, InvokeHandler { // Constructors private static java.util.Hashtable _methods = new java.util.Hashtable(); static { _methods.put("deactivate_servant", new Integer(0)); _methods.put("aMethod", new Integer(1)); } public OutputStream _invoke(String $method, InputStream in, ResponseHandler rh) { OutputStream out = null; Integer __method = (Integer) _methods.get($method); if (__method == null) throw new BAD_OPERATION(0, CompletionStatus.COMPLETED_MAYBE); switch (__method.intValue()) { case 0 : // test/poa/TestLocationForward/deactivate_servant { this.deactivate_servant(); out = rh.createReply(); break; } case 1 : // test/poa/Test/aMethod { this.aMethod(); out = rh.createReply(); break; } default : throw new BAD_OPERATION(0, CompletionStatus.COMPLETED_MAYBE); } return out; } // _invoke // Type-specific CORBA::Object operations private static String[] __ids = { "IDL:test/poa/TestLocationForward:1.0", "IDL:test/poa/Test:1.0" }; public String[] _all_interfaces(org.omg.PortableServer.POA poa, byte[] objectId ) { return __ids; } public TestLocationForward _this() { return TestLocationForwardHelper.narrow(super._this_object()); } public TestLocationForward _this(ORB orb) { return TestLocationForwardHelper.narrow(super._this_object(orb)); } } mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/TestLocationForwardServerMain.java0000644000175000001440000001260510447766314027765 0ustar dokousers// Tags: not-a-test // Copyright (c) Object Oriented Concepts, Inc. Billerica, MA, USA // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // ********************************************************************** // // Copyright (c) 2001 // Object Oriented Concepts, Inc. // Billerica, MA, USA // // All Rights Reserved // // ********************************************************************** package gnu.testlet.org.omg.PortableServer.POA; import org.omg.CORBA.ORB; import org.omg.CORBA.Policy; import org.omg.PortableServer.POA; import org.omg.PortableServer.POAManager; import org.omg.PortableServer.POAPackage.AdapterAlreadyExists; import org.omg.PortableServer.POAPackage.InvalidPolicy; import org.omg.PortableServer.POAPackage.WrongPolicy; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.PrintWriter; final class TestLocationForwardServerMain { static String ior = null; static final class Server_impl extends TestLocationForwardServerPOA { private ORB orb_; private TestLocationForwardActivator_impl activator_; private org.omg.CORBA.Object servant_; Server_impl(ORB orb, TestLocationForwardActivator_impl activator, org.omg.CORBA.Object servant ) { orb_ = orb; activator_ = activator; servant_ = servant; } public void setForwardRequest(org.omg.CORBA.Object obj) { activator_.setForwardRequest(obj); } public org.omg.CORBA.Object get_servant() { return servant_; } public void deactivate() { orb_.shutdown(false); } } public static void main(String[] args) { java.util.Properties props = System.getProperties(); ORB orb = null; // // Create ORB // orb = ORB.init(args, props); POA root = TestUtil.GetRootPOA(orb); POA poa; Policy[] policies; POAManager manager = root.the_POAManager(); // // Create POAs // policies = new Policy[ 4 ]; policies [ 0 ] = root.create_id_assignment_policy(org.omg.PortableServer.IdAssignmentPolicyValue.USER_ID); policies [ 1 ] = root.create_id_uniqueness_policy(org.omg.PortableServer.IdUniquenessPolicyValue.UNIQUE_ID); policies [ 2 ] = root.create_servant_retention_policy(org.omg.PortableServer.ServantRetentionPolicyValue.RETAIN); policies [ 3 ] = root.create_request_processing_policy(org.omg.PortableServer.RequestProcessingPolicyValue.USE_SERVANT_MANAGER); try { poa = root.create_POA("poa", manager, policies); } catch (AdapterAlreadyExists ex) { throw new RuntimeException(ex); } catch (InvalidPolicy ex) { throw new RuntimeException(ex); } TestLocationForwardActivator_impl activatorImpl = new TestLocationForwardActivator_impl(); org.omg.PortableServer.ServantActivator activator = activatorImpl._this(orb); try { poa.set_servant_manager(activator); } catch (WrongPolicy ex) { throw new RuntimeException(ex); } byte[] oid = "test".getBytes(); org.omg.CORBA.Object obj = poa.create_reference_with_id(oid, "IDL:Test:1.0"); TestLocationForward_impl testImpl = new TestLocationForward_impl(orb); activatorImpl.setActivatedServant(testImpl); Server_impl serverImpl = new Server_impl(orb, activatorImpl, obj); TestLocationForwardServer server = serverImpl._this(orb); // // Save reference // String refFile = "Test.ref"; try { FileOutputStream file = new FileOutputStream(refFile); PrintWriter out = new PrintWriter(file); out.println(ior = orb.object_to_string(server)); out.flush(); file.close(); } catch (IOException ex) { throw new RuntimeException(ex); } // // Run implementation // try { manager.activate(); } catch (org.omg.PortableServer.POAManagerPackage.AdapterInactive ex) { throw new RuntimeException(ex); } orb.run(); File file = new File(refFile); file.delete(); orb.destroy(); } } mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/TestCreate.java0000644000175000001440000001252110270226347024063 0ustar dokousers// Tags: JDK1.4 // Copyright (c) Object Oriented Concepts, Inc. Billerica, MA, USA // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // ********************************************************************** // // Copyright (c) 2000 // Object Oriented Concepts, Inc. // Billerica, MA, USA // // All Rights Reserved // // ********************************************************************** package gnu.testlet.org.omg.PortableServer.POA; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import org.omg.CORBA.ORB; import org.omg.CORBA.Policy; import org.omg.PortableServer.POA; import org.omg.PortableServer.POAManager; import org.omg.PortableServer.POAManagerPackage.State; import org.omg.PortableServer.POAPackage.AdapterAlreadyExists; import org.omg.PortableServer.POAPackage.InvalidPolicy; public final class TestCreate extends TestBase implements Testlet { void run(ORB orb, POA root) { org.omg.CORBA.Object obj; Policy[] policies = new Policy[ 0 ]; POA poa; POA parent; POA poa2; POA poa3; POAManager mgr; String str; POAManager rootMgr = root.the_POAManager(); TEST(rootMgr != null); // // Test: POAManager should be in HOLDING state // TEST(rootMgr.get_state() == State.HOLDING); // // Create child POA // try { poa = root.create_POA("poa1", null, policies); } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (AdapterAlreadyExists ex) { fail(ex); throw new RuntimeException(ex); } // // Test: POAManager should NOT be the same as the root's manager // mgr = poa.the_POAManager(); TEST(!mgr._is_equivalent(rootMgr)); // // Test: POAManager should be in HOLDING state // TEST(mgr.get_state() == State.HOLDING); // // Test: Confirm name // str = poa.the_name(); TEST(str.equals("poa1")); // // Test: Confirm parent // parent = poa.the_parent(); TEST(parent._is_equivalent(root)); // // Test: AdapterAlreadyExists exception // try { poa2 = root.create_POA("poa1", null, policies); TEST(false); // create_POA should not have succeeded } catch (AdapterAlreadyExists ex) { // expected } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } // // Test: InvalidPolicy exception // Policy[] invalidpolicies = new Policy[ 1 ]; invalidpolicies [ 0 ] = root.create_servant_retention_policy(org.omg.PortableServer.ServantRetentionPolicyValue.NON_RETAIN); // // Create another child of root POA // try { poa2 = root.create_POA("poa2", rootMgr, policies); } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (AdapterAlreadyExists ex) { fail(ex); throw new RuntimeException(ex); } // // Test: POAManager should be the same as the root's manager // mgr = poa2.the_POAManager(); TEST(mgr._is_equivalent(rootMgr)); // // Create child of child POA // try { poa3 = poa2.create_POA("child", rootMgr, policies); } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (AdapterAlreadyExists ex) { fail(ex); throw new RuntimeException(ex); } // // Test: Confirm parent // parent = poa3.the_parent(); TEST(parent._is_equivalent(poa2)); poa.destroy(true, true); poa2.destroy(true, true); } public void testIt() { java.util.Properties props = System.getProperties(); ORB orb = null; // // Create ORB // orb = ORB.init(new String[ 0 ], props); POA root = TestUtil.GetRootPOA(orb); // // Run the test // run(orb, root); if (orb != null) { orb.destroy(); } } public void test(TestHarness a_harness) { harness = a_harness; testIt(); } }mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/TestUtil.java0000644000175000001440000000550210447766314023607 0ustar dokousers// Tags: not-a-test // Copyright (c) Object Oriented Concepts, Inc. Billerica, MA, USA // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // ********************************************************************** // // Copyright (c) 2000 // Object Oriented Concepts, Inc. // Billerica, MA, USA // // All Rights Reserved // // ********************************************************************** package gnu.testlet.org.omg.PortableServer.POA; import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.ORB; import org.omg.PortableServer.POA; import org.omg.PortableServer.POAHelper; final class TestUtil { static POA GetRootPOA(ORB orb) { org.omg.CORBA.Object obj = null; try { obj = orb.resolve_initial_references("RootPOA"); } catch (org.omg.CORBA.ORBPackage.InvalidName ex) { ex.printStackTrace(); System.err.println("Error: can't resolve `RootPOA'"); } if (obj == null) { System.err.println("Error: `RootPOA' is a nil object reference"); } POA root = null; try { root = POAHelper.narrow(obj); } catch (BAD_PARAM ex) { System.err.println("Error: `RootPOA' is not a POA object reference"); } return root; } static boolean Compare(byte[] id1, byte[] id2) { // // TODO: efficient method to doing this? // if (id1.length != id2.length) return false; for (int i = 0; i < id1.length; i++) if (id1 [ i ] != id2 [ i ]) return false; return true; //return id1.equals(id2); } } mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/TestMisc.java0000644000175000001440000011127310270226347023557 0ustar dokousers// Tags: JDK1.4 // Copyright (c) Object Oriented Concepts, Inc. Billerica, MA, USA // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // ********************************************************************** // // Copyright (c) 2000 // Object Oriented Concepts, Inc. // Billerica, MA, USA // // All Rights Reserved // // ********************************************************************** package gnu.testlet.org.omg.PortableServer.POA; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.ORB; import org.omg.CORBA.Policy; import org.omg.PortableServer.POA; import org.omg.PortableServer.POAManager; import org.omg.PortableServer.POAPackage.AdapterAlreadyExists; import org.omg.PortableServer.POAPackage.InvalidPolicy; import org.omg.PortableServer.POAPackage.ObjectAlreadyActive; import org.omg.PortableServer.POAPackage.ObjectNotActive; import org.omg.PortableServer.POAPackage.ServantAlreadyActive; import org.omg.PortableServer.POAPackage.ServantNotActive; import org.omg.PortableServer.POAPackage.WrongAdapter; import org.omg.PortableServer.POAPackage.WrongPolicy; import org.omg.PortableServer.Servant; public final class TestMisc extends TestBase implements Testlet { void uTestCreateReference(ORB orb, POA root) { org.omg.CORBA.Object obj; POA user; POA system; byte[] id1; byte[] id2; byte[] tmpid; Policy[] policies; POAManager manager = root.the_POAManager(); policies = new Policy[ 1 ]; policies [ 0 ] = root.create_id_assignment_policy(org.omg.PortableServer.IdAssignmentPolicyValue.USER_ID); try { user = root.create_POA("user_id", manager, policies); } catch (AdapterAlreadyExists ex) { fail(ex); throw new RuntimeException(ex); } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } policies = new Policy[ 1 ]; policies [ 0 ] = root.create_id_assignment_policy(org.omg.PortableServer.IdAssignmentPolicyValue.SYSTEM_ID); try { system = root.create_POA("system_id", manager, policies); } catch (AdapterAlreadyExists ex) { fail(ex); throw new RuntimeException(ex); } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } // // Test: create_reference with wrong POA policies // try { obj = user.create_reference("IDL:Test:1.0"); TEST(false); // create_reference should not have succeeded } catch (WrongPolicy ex) { // expected } // // Test: create_reference - should get a new ID for each invocation // on POA w/ SYSTEM_ID policy // try { obj = system.create_reference("IDL:Test:1.0"); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } TEST(obj != null); try { id1 = system.reference_to_id(obj); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongAdapter ex) { fail(ex); throw new RuntimeException(ex); } try { obj = system.create_reference("IDL:Test:1.0"); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } TEST(obj != null); try { id2 = system.reference_to_id(obj); } catch (WrongAdapter ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } TEST(!TestUtil.Compare(id1, id2)); // // Test: create_reference_with_id using a system-generated ID // try { obj = system.create_reference_with_id(id1, "IDL:Test:1.0"); } catch (BAD_PARAM ex) { TEST(false); // create_reference_with_id should have succeeded } id1 = ("id1").getBytes(); // // Test: create_reference_with_id // obj = user.create_reference_with_id(id1, "IDL:Test:1.0"); TEST(obj != null); try { tmpid = user.reference_to_id(obj); } catch (WrongAdapter ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } TEST(TestUtil.Compare(id1, tmpid)); id2 = ("id2").getBytes(); obj = user.create_reference_with_id(id2, "IDL:Test:1.0"); TEST(obj != null); try { tmpid = user.reference_to_id(obj); } catch (WrongAdapter ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } TEST(TestUtil.Compare(id2, tmpid)); user.destroy(true, true); system.destroy(true, true); } void uTestServantToId(ORB orb, POA root) { org.omg.CORBA.Object obj; POA unique; POA implicit; POA multiple; byte[] id1; byte[] id2; byte[] tmpid; Policy[] policies; Test_impl servant1; Test_impl servant2; POAManager manager = root.the_POAManager(); // // Create POA w/ UNIQUE_ID, NO_IMPLICIT_ACTIVATION // policies = new Policy[ 4 ]; policies [ 0 ] = root.create_id_uniqueness_policy(org.omg.PortableServer.IdUniquenessPolicyValue.UNIQUE_ID); policies [ 1 ] = root.create_id_assignment_policy(org.omg.PortableServer.IdAssignmentPolicyValue.USER_ID); policies [ 2 ] = root.create_servant_retention_policy(org.omg.PortableServer.ServantRetentionPolicyValue.RETAIN); policies [ 3 ] = root.create_implicit_activation_policy(org.omg.PortableServer.ImplicitActivationPolicyValue.NO_IMPLICIT_ACTIVATION); try { unique = root.create_POA("unique_id", manager, policies); } catch (AdapterAlreadyExists ex) { fail(ex); throw new RuntimeException(ex); } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } // // Create POA w/ UNIQUE_ID, IMPLICIT_ACTIVATION // policies = new Policy[ 3 ]; policies [ 0 ] = root.create_id_uniqueness_policy(org.omg.PortableServer.IdUniquenessPolicyValue.UNIQUE_ID); policies [ 1 ] = root.create_servant_retention_policy(org.omg.PortableServer.ServantRetentionPolicyValue.RETAIN); policies [ 2 ] = root.create_implicit_activation_policy(org.omg.PortableServer.ImplicitActivationPolicyValue.IMPLICIT_ACTIVATION); try { implicit = root.create_POA("implicit", manager, policies); } catch (AdapterAlreadyExists ex) { fail(ex); throw new RuntimeException(ex); } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } // // Create POA w/ MULTIPLE_ID, IMPLICIT_ACTIVATION // policies = new Policy[ 3 ]; policies [ 0 ] = root.create_id_uniqueness_policy(org.omg.PortableServer.IdUniquenessPolicyValue.MULTIPLE_ID); policies [ 1 ] = root.create_servant_retention_policy(org.omg.PortableServer.ServantRetentionPolicyValue.RETAIN); policies [ 2 ] = root.create_implicit_activation_policy(org.omg.PortableServer.ImplicitActivationPolicyValue.IMPLICIT_ACTIVATION); try { multiple = root.create_POA("multiple", manager, policies); } catch (AdapterAlreadyExists ex) { fail(ex); throw new RuntimeException(ex); } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } servant1 = new Test_impl(orb, "test1", false); servant2 = new Test_impl(orb, "test2", false); // // Test: ServantNotActive exception // try { unique.servant_to_id(servant1); TEST(false); // servant_to_id should not have succeeded } catch (ServantNotActive ex) { // expected } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } id1 = ("test1").getBytes(); try { unique.activate_object_with_id(id1, servant1); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (ServantAlreadyActive ex) { fail(ex); throw new RuntimeException(ex); } catch (ObjectAlreadyActive ex) { fail(ex); throw new RuntimeException(ex); } // // Test: servant_to_id (UNIQUE_ID policy) // try { tmpid = unique.servant_to_id(servant1); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (ServantNotActive ex) { fail(ex); throw new RuntimeException(ex); } TEST(TestUtil.Compare(id1, tmpid)); // // Test: servant_to_id (IMPLICIT_ACTIVATION) - servant1 should // be automatically activated // try { id1 = implicit.servant_to_id(servant1); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (ServantNotActive ex) { fail(ex); throw new RuntimeException(ex); } // // Test: Now that servant1 is activated, and since we have UNIQUE_ID, // we should get the same ID back // try { tmpid = implicit.servant_to_id(servant1); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (ServantNotActive ex) { fail(ex); throw new RuntimeException(ex); } TEST(TestUtil.Compare(id1, tmpid)); // // Test: Implicitly activating servant2 should produce a new ID // try { id2 = implicit.servant_to_id(servant2); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (ServantNotActive ex) { fail(ex); throw new RuntimeException(ex); } TEST(!TestUtil.Compare(id1, id2)); // // Test: servant_to_id (IMPLICIT_ACTIVATION, MULTIPLE_ID) - servant1 // should be automatically activated // try { id1 = multiple.servant_to_id(servant1); } catch (WrongPolicy ex) { ex.printStackTrace(); fail(ex); throw new RuntimeException(ex); } catch (ServantNotActive ex) { fail(ex); throw new RuntimeException(ex); } // // Test: Since we have MULTIPLE_ID, we should get a new ID // try { tmpid = multiple.servant_to_id(servant1); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (ServantNotActive ex) { fail(ex); throw new RuntimeException(ex); } TEST(!TestUtil.Compare(id1, tmpid)); unique.destroy(true, true); implicit.destroy(true, true); multiple.destroy(true, true); } void uTestIdToServant(ORB orb, POA root) { org.omg.CORBA.Object obj; POA retain; POA defaultPOA; byte[] id1; byte[] id2; byte[] tmpid; Policy[] policies; Test_impl def; Test_impl servant1; Test_impl servant2; Servant tmpservant; POAManager manager = root.the_POAManager(); // // Create POA w/ RETAIN // policies = new Policy[ 3 ]; policies [ 0 ] = root.create_servant_retention_policy(org.omg.PortableServer.ServantRetentionPolicyValue.RETAIN); policies [ 1 ] = root.create_lifespan_policy(org.omg.PortableServer.LifespanPolicyValue.TRANSIENT); policies [ 2 ] = root.create_id_assignment_policy(org.omg.PortableServer.IdAssignmentPolicyValue.USER_ID); try { retain = root.create_POA("retain", manager, policies); } catch (AdapterAlreadyExists ex) { fail(ex); throw new RuntimeException(ex); } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } // // Create POA w/ USE_DEFAULT_SERVANT // policies = new Policy[ 5 ]; policies [ 0 ] = root.create_id_uniqueness_policy(org.omg.PortableServer.IdUniquenessPolicyValue.MULTIPLE_ID); policies [ 1 ] = root.create_servant_retention_policy(org.omg.PortableServer.ServantRetentionPolicyValue.RETAIN); policies [ 2 ] = root.create_request_processing_policy(org.omg.PortableServer.RequestProcessingPolicyValue.USE_DEFAULT_SERVANT); policies [ 3 ] = root.create_lifespan_policy(org.omg.PortableServer.LifespanPolicyValue.TRANSIENT); policies [ 4 ] = root.create_id_assignment_policy(org.omg.PortableServer.IdAssignmentPolicyValue.USER_ID); try { defaultPOA = root.create_POA("default", manager, policies); } catch (AdapterAlreadyExists ex) { fail(ex); throw new RuntimeException(ex); } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } def = new Test_impl(orb, "default", false); try { defaultPOA.set_servant(def); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } servant1 = new Test_impl(orb, "test1", false); servant2 = new Test_impl(orb, "test2", false); // // Test: ObjectNotActive exception // try { tmpid = ("bad_id").getBytes(); retain.id_to_servant(tmpid); TEST(false); // id_to_servant should not have succeeded } catch (ObjectNotActive ex) { // expected } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } id1 = ("test1").getBytes(); id2 = ("test2").getBytes(); try { retain.activate_object_with_id(id1, servant1); retain.activate_object_with_id(id2, servant2); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (ServantAlreadyActive ex) { fail(ex); throw new RuntimeException(ex); } catch (ObjectAlreadyActive ex) { ex.printStackTrace(); fail(ex); throw new RuntimeException(ex); } // // Test: servant_to_id (RETAIN policy) // try { tmpservant = retain.id_to_servant(id1); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (ObjectNotActive ex) { fail(ex); throw new RuntimeException(ex); } TEST(servant1 == tmpservant); try { tmpservant = retain.id_to_servant(id2); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (ObjectNotActive ex) { fail(ex); throw new RuntimeException(ex); } TEST(servant2 == tmpservant); // // Test: id_to_servant (USE_DEFAULT_SERVANT) // try { defaultPOA.activate_object_with_id(id1, servant1); defaultPOA.activate_object_with_id(id2, servant2); } catch (ServantAlreadyActive ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (ObjectAlreadyActive ex) { fail(ex); throw new RuntimeException(ex); } try { tmpservant = defaultPOA.id_to_servant(id1); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (ObjectNotActive ex) { fail(ex); throw new RuntimeException(ex); } TEST(servant1 == tmpservant); try { tmpservant = defaultPOA.id_to_servant(id2); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (ObjectNotActive ex) { fail(ex); throw new RuntimeException(ex); } TEST(servant2 == tmpservant); retain.destroy(true, true); defaultPOA.destroy(true, true); } void uTestServantToReference(ORB orb, POA root) { org.omg.CORBA.Object obj; POA unique; POA implicit; POA multiple; byte[] id1; byte[] id2; byte[] tmpid1; byte[] tmpid2; Policy[] policies; Test_impl servant1; Test_impl servant2; POAManager manager = root.the_POAManager(); // // Create POA w/ UNIQUE_ID, NO_IMPLICIT_ACTIVATION // policies = new Policy[ 4 ]; policies [ 0 ] = root.create_id_uniqueness_policy(org.omg.PortableServer.IdUniquenessPolicyValue.UNIQUE_ID); policies [ 1 ] = root.create_id_assignment_policy(org.omg.PortableServer.IdAssignmentPolicyValue.USER_ID); policies [ 2 ] = root.create_servant_retention_policy(org.omg.PortableServer.ServantRetentionPolicyValue.RETAIN); policies [ 3 ] = root.create_implicit_activation_policy(org.omg.PortableServer.ImplicitActivationPolicyValue.NO_IMPLICIT_ACTIVATION); try { unique = root.create_POA("unique_id", manager, policies); } catch (AdapterAlreadyExists ex) { fail(ex); throw new RuntimeException(ex); } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } // // Create POA w/ UNIQUE_ID, IMPLICIT_ACTIVATION // policies = new Policy[ 3 ]; policies [ 0 ] = root.create_id_uniqueness_policy(org.omg.PortableServer.IdUniquenessPolicyValue.UNIQUE_ID); policies [ 1 ] = root.create_servant_retention_policy(org.omg.PortableServer.ServantRetentionPolicyValue.RETAIN); policies [ 2 ] = root.create_implicit_activation_policy(org.omg.PortableServer.ImplicitActivationPolicyValue.IMPLICIT_ACTIVATION); try { implicit = root.create_POA("implicit", manager, policies); } catch (AdapterAlreadyExists ex) { fail(ex); throw new RuntimeException(ex); } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } // // Create POA w/ MULTIPLE_ID, IMPLICIT_ACTIVATION // policies = new Policy[ 3 ]; policies [ 0 ] = root.create_id_uniqueness_policy(org.omg.PortableServer.IdUniquenessPolicyValue.MULTIPLE_ID); policies [ 1 ] = root.create_servant_retention_policy(org.omg.PortableServer.ServantRetentionPolicyValue.RETAIN); policies [ 2 ] = root.create_implicit_activation_policy(org.omg.PortableServer.ImplicitActivationPolicyValue.IMPLICIT_ACTIVATION); try { multiple = root.create_POA("multiple", manager, policies); } catch (AdapterAlreadyExists ex) { fail(ex); throw new RuntimeException(ex); } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } servant1 = new Test_impl(orb, "test1", false); servant2 = new Test_impl(orb, "test2", false); // // Test: ServantNotActive exception // try { unique.servant_to_reference(servant1); TEST(false); // servant_to_reference should not have succeeded } catch (ServantNotActive ex) { // expected } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } id1 = ("test1").getBytes(); try { unique.activate_object_with_id(id1, servant1); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (ServantAlreadyActive ex) { fail(ex); throw new RuntimeException(ex); } catch (ObjectAlreadyActive ex) { fail(ex); throw new RuntimeException(ex); } // // Test: servant_to_reference (UNIQUE_ID policy) // try { obj = unique.servant_to_reference(servant1); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (ServantNotActive ex) { fail(ex); throw new RuntimeException(ex); } TEST(obj != null); try { tmpid1 = unique.reference_to_id(obj); } catch (WrongAdapter ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } TEST(TestUtil.Compare(id1, tmpid1)); // // Test: servant_to_reference (IMPLICIT_ACTIVATION) - servant1 should // be automatically activated // try { obj = implicit.servant_to_reference(servant1); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (ServantNotActive ex) { fail(ex); throw new RuntimeException(ex); } TEST(obj != null); try { tmpid1 = implicit.reference_to_id(obj); } catch (WrongAdapter ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } // // Test: Now that servant1 is activated, and since we have UNIQUE_ID, // we should get the same ID back // try { obj = implicit.servant_to_reference(servant1); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (ServantNotActive ex) { fail(ex); throw new RuntimeException(ex); } TEST(obj != null); try { tmpid2 = implicit.reference_to_id(obj); } catch (WrongAdapter ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } TEST(TestUtil.Compare(tmpid1, tmpid2)); // // Test: Implicitly activating servant2 should produce a new ID // try { obj = implicit.servant_to_reference(servant2); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (ServantNotActive ex) { fail(ex); throw new RuntimeException(ex); } TEST(obj != null); try { tmpid2 = implicit.reference_to_id(obj); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongAdapter ex) { fail(ex); throw new RuntimeException(ex); } TEST(!TestUtil.Compare(tmpid1, tmpid2)); // // Test: servant_to_reference (IMPLICIT_ACTIVATION, MULTIPLE_ID) - // servant1 should be automatically activated // try { obj = multiple.servant_to_reference(servant1); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (ServantNotActive ex) { fail(ex); throw new RuntimeException(ex); } TEST(obj != null); try { tmpid1 = multiple.reference_to_id(obj); } catch (WrongAdapter ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } // // Test: Since we have MULTIPLE_ID, we should get a new ID // try { obj = multiple.servant_to_reference(servant1); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (ServantNotActive ex) { fail(ex); throw new RuntimeException(ex); } TEST(obj != null); try { tmpid2 = multiple.reference_to_id(obj); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongAdapter ex) { fail(ex); throw new RuntimeException(ex); } TEST(!TestUtil.Compare(tmpid1, tmpid2)); unique.destroy(true, true); implicit.destroy(true, true); multiple.destroy(true, true); } void uTestIdToReference(ORB orb, POA root) { org.omg.CORBA.Object obj; POA retain; POA defaultPOA; byte[] id1; byte[] id2; byte[] tmpid; Policy[] policies; Test_impl servant1; Test_impl servant2; POAManager manager = root.the_POAManager(); // // Create POA w/ RETAIN // policies = new Policy[ 3 ]; policies [ 0 ] = root.create_servant_retention_policy(org.omg.PortableServer.ServantRetentionPolicyValue.RETAIN); policies [ 1 ] = root.create_lifespan_policy(org.omg.PortableServer.LifespanPolicyValue.TRANSIENT); policies [ 2 ] = root.create_id_assignment_policy(org.omg.PortableServer.IdAssignmentPolicyValue.USER_ID); try { retain = root.create_POA("retain", manager, policies); } catch (AdapterAlreadyExists ex) { fail(ex); throw new RuntimeException(ex); } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } servant1 = new Test_impl(orb, "test1", false); servant2 = new Test_impl(orb, "test2", false); // // Test: ObjectNotActive exception // try { tmpid = ("bad_id").getBytes(); retain.id_to_reference(tmpid); TEST(false); // id_to_reference should not have succeeded } catch (ObjectNotActive ex) { // expected } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } id1 = ("test1").getBytes(); id2 = ("test2").getBytes(); try { retain.activate_object_with_id(id1, servant1); retain.activate_object_with_id(id2, servant2); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (ServantAlreadyActive ex) { fail(ex); throw new RuntimeException(ex); } catch (ObjectAlreadyActive ex) { fail(ex); throw new RuntimeException(ex); } // // Test: servant_to_reference // try { obj = retain.id_to_reference(id1); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (ObjectNotActive ex) { fail(ex); throw new RuntimeException(ex); } TEST(obj != null); try { tmpid = retain.reference_to_id(obj); } catch (WrongAdapter ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } TEST(TestUtil.Compare(id1, tmpid)); // // Test: servant_to_reference // try { obj = retain.id_to_reference(id2); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (ObjectNotActive ex) { fail(ex); throw new RuntimeException(ex); } TEST(obj != null); try { tmpid = retain.reference_to_id(obj); } catch (WrongAdapter ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } TEST(TestUtil.Compare(id2, tmpid)); retain.destroy(true, true); } void uTestReferenceToServant(ORB orb, POA root) { org.omg.CORBA.Object obj; POA retain; POA defaultPOA; byte[] id1; byte[] id2; byte[] tmpid; Policy[] policies; Test_impl def; Test_impl servant1; Test_impl servant2; Servant tmpservant; POAManager manager = root.the_POAManager(); // // Create POA w/ RETAIN // policies = new Policy[ 3 ]; policies [ 0 ] = root.create_servant_retention_policy(org.omg.PortableServer.ServantRetentionPolicyValue.RETAIN); policies [ 1 ] = root.create_lifespan_policy(org.omg.PortableServer.LifespanPolicyValue.TRANSIENT); policies [ 2 ] = root.create_id_assignment_policy(org.omg.PortableServer.IdAssignmentPolicyValue.USER_ID); try { retain = root.create_POA("retain", manager, policies); } catch (AdapterAlreadyExists ex) { fail(ex); throw new RuntimeException(ex); } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } // // Create POA w/ USE_DEFAULT_SERVANT // policies = new Policy[ 5 ]; policies [ 0 ] = root.create_id_uniqueness_policy(org.omg.PortableServer.IdUniquenessPolicyValue.MULTIPLE_ID); policies [ 1 ] = root.create_servant_retention_policy(org.omg.PortableServer.ServantRetentionPolicyValue.RETAIN); policies [ 2 ] = root.create_request_processing_policy(org.omg.PortableServer.RequestProcessingPolicyValue.USE_DEFAULT_SERVANT); policies [ 3 ] = root.create_lifespan_policy(org.omg.PortableServer.LifespanPolicyValue.TRANSIENT); policies [ 4 ] = root.create_id_assignment_policy(org.omg.PortableServer.IdAssignmentPolicyValue.USER_ID); try { defaultPOA = root.create_POA("default", manager, policies); } catch (AdapterAlreadyExists ex) { fail(ex); throw new RuntimeException(ex); } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } def = new Test_impl(orb, "default", false); try { defaultPOA.set_servant(def); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } servant1 = new Test_impl(orb, "test1", false); servant2 = new Test_impl(orb, "test2", false); // // Test: ObjectNotActive exception // try { tmpid = ("bad_id").getBytes(); obj = retain.create_reference_with_id(tmpid, "IDL:Test:1.0"); retain.reference_to_servant(obj); TEST(false); // reference_to_servant should not have succeeded } catch (ObjectNotActive ex) { // expected } catch (WrongAdapter ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } id1 = ("test1").getBytes(); id2 = ("test2").getBytes(); try { retain.activate_object_with_id(id1, servant1); retain.activate_object_with_id(id2, servant2); } catch (ObjectAlreadyActive ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (ServantAlreadyActive ex) { fail(ex); throw new RuntimeException(ex); } // // Test: reference_to_servant (USE_DEFAULT_SERVANT) // try { defaultPOA.activate_object_with_id(id1, servant1); defaultPOA.activate_object_with_id(id2, servant2); } catch (ObjectAlreadyActive ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (ServantAlreadyActive ex) { fail(ex); throw new RuntimeException(ex); } // // Test: reference_to_servant (USE_DEFAULT_SERVANT) - should return // default servant for all unknown IDs // tmpid = ("test99").getBytes(); obj = defaultPOA.create_reference_with_id(tmpid, "IDL:Test:1.0"); try { tmpservant = defaultPOA.reference_to_servant(obj); } catch (WrongAdapter ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (ObjectNotActive ex) { fail(ex); throw new RuntimeException(ex); } TEST(tmpservant == def); tmpservant = null; retain.destroy(true, true); defaultPOA.destroy(true, true); } void uTestReferenceToId(ORB orb, POA root) { org.omg.CORBA.Object obj; POA poa; byte[] id1; byte[] id2; byte[] tmpid; Policy[] policies; POAManager manager = root.the_POAManager(); // // Create POA // policies = new Policy[ 3 ]; policies [ 0 ] = root.create_servant_retention_policy(org.omg.PortableServer.ServantRetentionPolicyValue.RETAIN); policies [ 1 ] = root.create_lifespan_policy(org.omg.PortableServer.LifespanPolicyValue.TRANSIENT); policies [ 2 ] = root.create_id_assignment_policy(org.omg.PortableServer.IdAssignmentPolicyValue.USER_ID); try { poa = root.create_POA("poa", manager, policies); } catch (AdapterAlreadyExists ex) { fail(ex); throw new RuntimeException(ex); } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } id1 = ("test1").getBytes(); id2 = ("test2").getBytes(); // // Test: reference_to_id // obj = poa.create_reference_with_id(id1, "IDL:Test:1.0"); try { tmpid = poa.reference_to_id(obj); } catch (WrongAdapter ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } TEST(TestUtil.Compare(tmpid, id1)); obj = poa.create_reference_with_id(id2, "IDL:Test:1.0"); try { tmpid = poa.reference_to_id(obj); } catch (WrongAdapter ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } TEST(TestUtil.Compare(tmpid, id2)); // // Test: WrongAdapter exception // try { obj = poa.create_reference_with_id(id1, "IDL:Test:1.0"); root.reference_to_id(obj); TEST(false); // reference_to_id should not have succeeded } catch (WrongAdapter ex) { // expected } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } poa.destroy(true, true); } void runtests(ORB orb, POA root) { uTestCreateReference(orb, root); uTestServantToId(orb, root); uTestIdToServant(orb, root); uTestServantToReference(orb, root); uTestIdToReference(orb, root); uTestReferenceToServant(orb, root); uTestReferenceToId(orb, root); } public void testIt() { java.util.Properties props = System.getProperties(); ORB orb = null; // // Create ORB // orb = ORB.init(new String[ 0 ], props); POA root = TestUtil.GetRootPOA(orb); // // Run the tests using the root POA // runtests(orb, root); // // Create a child POA and run the tests again using the // child as the root // Policy[] policies = new Policy[ 0 ]; POAManager manager = root.the_POAManager(); POA child = null; try { child = root.create_POA("child", manager, policies); } catch (AdapterAlreadyExists ex) { fail(ex); throw new RuntimeException(ex); } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } runtests(orb, child); if (orb != null) orb.destroy(); } public void test(TestHarness a_harness) { harness = a_harness; testIt(); } }mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/TestDeactivate.java0000644000175000001440000001533210270226347024734 0ustar dokousers// Tags: JDK1.4 // Copyright (c) Object Oriented Concepts, Inc. Billerica, MA, USA // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // ********************************************************************** // // Copyright (c) 2000 // Object Oriented Concepts, Inc. // Billerica, MA, USA // // All Rights Reserved // // ********************************************************************** package gnu.testlet.org.omg.PortableServer.POA; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import org.omg.CORBA.OBJECT_NOT_EXIST; import org.omg.CORBA.ORB; import org.omg.CORBA.SystemException; import org.omg.PortableServer.POA; import org.omg.PortableServer.POAManager; import org.omg.PortableServer.POAPackage.ObjectAlreadyActive; import org.omg.PortableServer.POAPackage.ObjectNotActive; import org.omg.PortableServer.POAPackage.ServantAlreadyActive; import org.omg.PortableServer.POAPackage.ServantNotActive; import org.omg.PortableServer.POAPackage.WrongPolicy; public final class TestDeactivate extends TestBase implements Testlet { static final class Test_impl2 extends TestPOA { private POA poa_; private boolean called_ = false; private boolean finished_ = false; Test_impl2(POA poa) { poa_ = poa; } public synchronized void aMethod() { called_ = true; notify(); try { wait(1000); } catch (InterruptedException ex) { } finished_ = true; } public POA _default_POA() { return poa_; } synchronized void blockUntilCalled() { while (!called_) { try { wait(); } catch (InterruptedException ex) { } } } synchronized boolean callComplete() { return finished_; } } static final class LongCaller extends Thread { private Test t_; LongCaller(Test t) { t_ = t; } public void run() { try { t_.aMethod(); } catch (SystemException ex) { ex.printStackTrace(); } } } // // In this test we want to spawn a thread to call a method on the Test // interface. This method call should take some time. While the thread // is calling the method we attempt to deactivate the object. This // should not complete for some time, since it should wait for all // outstanding method calls to complete. // void mTestDeactivateThreaded(ORB orb, POA root) { Test_impl2 impl = new Test_impl2(root); Test t = impl._this(orb); byte[] oid = null; try { oid = root.servant_to_id(impl); } catch (ServantNotActive ex) { TEST(false); } catch (WrongPolicy ex) { TEST(false); } Thread thr = new LongCaller(t); thr.start(); impl.blockUntilCalled(); // // Test: deactivate_object while method call is active // try { root.deactivate_object(oid); } catch (ObjectNotActive ex) { TEST(false); } catch (WrongPolicy ex) { TEST(false); } // // Once we've deactivated the object the re-activation shouldn't // complete until the method call completes // try { root.activate_object_with_id(oid, impl); } catch (ObjectAlreadyActive ex) { TEST(false); } catch (ServantAlreadyActive ex) { TEST(false); } catch (WrongPolicy ex) { TEST(false); } // // Wait for the thread to terminate // while (thr.isAlive()) { try { thr.join(); } catch (InterruptedException ex) { } } try { root.deactivate_object(oid); } catch (ObjectNotActive ex) { TEST(false); } catch (WrongPolicy ex) { TEST(false); } } void mTestDeactivateBlocking(ORB orb, POA root) { Test_impl impl = new Test_impl(orb, "", false); Test t = impl._this(orb); t.aMethod(); byte[] oid = null; try { oid = root.servant_to_id(impl); } catch (ServantNotActive ex) { TEST(false); } catch (WrongPolicy ex) { TEST(false); } try { root.deactivate_object(oid); } catch (ObjectNotActive ex) { TEST(false); } catch (WrongPolicy ex) { TEST(false); } try { t.aMethod(); TEST(false); // expected OBJECT_NOT_EXIST } catch (OBJECT_NOT_EXIST ex) { // Expected } } public void testIt() { java.util.Properties props = System.getProperties(); ORB orb = null; // // Create ORB // orb = ORB.init(new String[ 0 ], props); POA root = TestUtil.GetRootPOA(orb); // // Activate the RootPOA manager // POAManager rootMgr = root.the_POAManager(); TEST(rootMgr != null); try { rootMgr.activate(); } catch (org.omg.PortableServer.POAManagerPackage.AdapterInactive ex) { TEST(false); } // // Run the tests using the root POA // mTestDeactivateBlocking(orb, root); mTestDeactivateThreaded(orb, root); if (orb != null) orb.destroy(); } public void test(TestHarness a_harness) { harness = a_harness; testIt(); } }mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/TestDestroy.java0000644000175000001440000001653710270226347024324 0ustar dokousers// Tags: JDK1.4 // Copyright (c) Object Oriented Concepts, Inc. Billerica, MA, USA // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // ********************************************************************** // // Copyright (c) 2000 // Object Oriented Concepts, Inc. // Billerica, MA, USA // // All Rights Reserved // // ********************************************************************** package gnu.testlet.org.omg.PortableServer.POA; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import org.omg.CORBA.ORB; import org.omg.CORBA.Policy; import org.omg.CORBA.SystemException; import org.omg.PortableServer.POA; import org.omg.PortableServer.POAManager; import org.omg.PortableServer.POAPackage.AdapterAlreadyExists; import org.omg.PortableServer.POAPackage.AdapterNonExistent; import org.omg.PortableServer.POAPackage.InvalidPolicy; public final class TestDestroy extends TestBase implements Testlet { static final class Test_impl2 extends TestPOA { private POA poa_; private boolean called_ = false; private boolean finished_ = false; Test_impl2(POA poa) { poa_ = poa; } public synchronized void aMethod() { called_ = true; notify(); try { wait(1000); } catch (InterruptedException ex) { } finished_ = true; } public POA _default_POA() { return poa_; } synchronized void blockUntilCalled() { while (!called_) { try { wait(); } catch (InterruptedException ex) { } } } synchronized boolean callComplete() { return finished_; } } static final class LongCaller extends Thread { private Test t_; LongCaller(Test t) { t_ = t; } public void run() { try { t_.aMethod(); } catch (SystemException se) { System.err.println(se.getMessage()); se.printStackTrace(); } } } // // This is a more rigorous test of POA::destroy. We want to ensure // that the POA isn't destroyed during a method call. // void uTestDestroyThreaded(ORB orb, POA root) { POAManager rootMgr = root.the_POAManager(); TEST(rootMgr != null); Policy[] policies = new Policy[ 1 ]; policies [ 0 ] = root.create_implicit_activation_policy(org.omg.PortableServer.ImplicitActivationPolicyValue.IMPLICIT_ACTIVATION); // // Create child POA // POA poa = null; try { poa = root.create_POA("poa1", rootMgr, policies); } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (AdapterAlreadyExists ex) { fail(ex); throw new RuntimeException(ex); } Test_impl2 impl = new Test_impl2(poa); Test t = impl._this(orb); Thread thr = new LongCaller(t); thr.start(); impl.blockUntilCalled(); // // Test: Destroy the POA while a method call is active // poa.destroy(true, true); // // The destroy call shouldn't return until the aMethod call is // complete // TEST(impl.callComplete()); while (thr.isAlive()) { try { thr.join(); } catch (InterruptedException ex) { } } } void uTestDestroyBlocking(ORB orb, POA root) { org.omg.CORBA.Object obj; Policy[] policies = new Policy[ 0 ]; POA poa; POA parent; POA poa2; POA poa3; POAManager mgr; String str; POAManager rootMgr = root.the_POAManager(); TEST(rootMgr != null); // // Create child POA // try { poa = root.create_POA("poa1", rootMgr, policies); } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (AdapterAlreadyExists ex) { fail(ex); throw new RuntimeException(ex); } // // Test: destroy // poa.destroy(true, true); // // Ensure parent no longer knows about child // try { root.find_POA("poa1", false); TEST(false); // find_POA should not have succeeded } catch (AdapterNonExistent ex) { // expected } // // Create child POA // try { poa = root.create_POA("poa1", rootMgr, policies); } catch (AdapterAlreadyExists ex) { fail(ex); throw new RuntimeException(ex); } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } // // Create child of child POA // try { poa2 = poa.create_POA("child1", rootMgr, policies); } catch (AdapterAlreadyExists ex) { fail(ex); throw new RuntimeException(ex); } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } // // Test: destroy - should destroy poa1 and poa1/child1 // poa.destroy(true, true); // // Ensure parent no longer knows about child // try { root.find_POA("poa1", false); TEST(false); // find_POA should not have succeeded } catch (AdapterNonExistent ex) { // expected } // // XXX Test: etherealize w/ servant manager // } public void testIt() { java.util.Properties props = System.getProperties(); ORB orb = null; // // Create ORB // orb = ORB.init(new String[ 0 ], props); POA root = TestUtil.GetRootPOA(orb); POAManager rootMgr = root.the_POAManager(); TEST(rootMgr != null); try { rootMgr.activate(); } catch (org.omg.PortableServer.POAManagerPackage.AdapterInactive ex) { fail(ex); throw new RuntimeException(ex); } uTestDestroyBlocking(orb, root); uTestDestroyThreaded(orb, root); if (orb != null) orb.destroy(); } public void test(TestHarness a_harness) { harness = a_harness; testIt(); } }mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/Util.java0000644000175000001440000002743610270226347022750 0ustar dokousers// Copyright (c) IONA Technologies, Inc. Waltham, MA, USA. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // ********************************************************************** // // Copyright (c) 2001 // IONA Technologies, Inc. // Waltham, MA, USA // // All Rights Reserved // // ********************************************************************** package gnu.testlet.org.omg.PortableServer.POA; public final class Util { // // Unmarshal a system exception // public static org.omg.CORBA.SystemException unmarshalSystemException(org.omg.CORBA.portable.InputStream in) { String id = in.read_string(); int minor = in.read_ulong(); org.omg.CORBA.CompletionStatus status = org.omg.CORBA.CompletionStatus.from_int(in.read_ulong()); if (id.equals("IDL:omg.org/CORBA/BAD_PARAM:1.0")) { return new org.omg.CORBA.BAD_PARAM(minor, status); } else if (id.equals("IDL:omg.org/CORBA/NO_MEMORY:1.0")) { return new org.omg.CORBA.NO_MEMORY(minor, status); } else if (id.equals("IDL:omg.org/CORBA/IMP_LIMIT:1.0")) { return new org.omg.CORBA.IMP_LIMIT(minor, status); } else if (id.equals("IDL:omg.org/CORBA/COMM_FAILURE:1.0")) { return new org.omg.CORBA.COMM_FAILURE(minor, status); } else if (id.equals("IDL:omg.org/CORBA/INV_OBJREF:1.0")) { return new org.omg.CORBA.INV_OBJREF(minor, status); } else if (id.equals("IDL:omg.org/CORBA/NO_PERMISSION:1.0")) { return new org.omg.CORBA.NO_PERMISSION(minor, status); } else if (id.equals("IDL:omg.org/CORBA/INTERNAL:1.0")) { return new org.omg.CORBA.INTERNAL(minor, status); } else if (id.equals("IDL:omg.org/CORBA/MARSHAL:1.0")) { return new org.omg.CORBA.MARSHAL(minor, status); } else if (id.equals("IDL:omg.org/CORBA/INITIALIZE:1.0")) { return new org.omg.CORBA.INITIALIZE(minor, status); } else if (id.equals("IDL:omg.org/CORBA/NO_IMPLEMENT:1.0")) { return new org.omg.CORBA.NO_IMPLEMENT(minor, status); } else if (id.equals("IDL:omg.org/CORBA/BAD_TYPECODE:1.0")) { return new org.omg.CORBA.BAD_TYPECODE(minor, status); } else if (id.equals("IDL:omg.org/CORBA/BAD_OPERATION:1.0")) { return new org.omg.CORBA.BAD_OPERATION(minor, status); } else if (id.equals("IDL:omg.org/CORBA/NO_RESOURCES:1.0")) { return new org.omg.CORBA.NO_RESOURCES(minor, status); } else if (id.equals("IDL:omg.org/CORBA/NO_RESPONSE:1.0")) { return new org.omg.CORBA.NO_RESPONSE(minor, status); } else if (id.equals("IDL:omg.org/CORBA/PERSIST_STORE:1.0")) { return new org.omg.CORBA.PERSIST_STORE(minor, status); } else if (id.equals("IDL:omg.org/CORBA/BAD_INV_ORDER:1.0")) { return new org.omg.CORBA.BAD_INV_ORDER(minor, status); } else if (id.equals("IDL:omg.org/CORBA/TRANSIENT:1.0")) { return new org.omg.CORBA.TRANSIENT(minor, status); } else if (id.equals("IDL:omg.org/CORBA/FREE_MEM:1.0")) { return new org.omg.CORBA.FREE_MEM(minor, status); } else if (id.equals("IDL:omg.org/CORBA/INV_IDENT:1.0")) { return new org.omg.CORBA.INV_IDENT(minor, status); } else if (id.equals("IDL:omg.org/CORBA/INV_FLAG:1.0")) { return new org.omg.CORBA.INV_FLAG(minor, status); } else if (id.equals("IDL:omg.org/CORBA/INTF_REPOS:1.0")) { return new org.omg.CORBA.INTF_REPOS(minor, status); } else if (id.equals("IDL:omg.org/CORBA/BAD_CONTEXT:1.0")) { return new org.omg.CORBA.BAD_CONTEXT(minor, status); } else if (id.equals("IDL:omg.org/CORBA/OBJ_ADAPTER:1.0")) { return new org.omg.CORBA.OBJ_ADAPTER(minor, status); } else if (id.equals("IDL:omg.org/CORBA/DATA_CONVERSION:1.0")) { return new org.omg.CORBA.DATA_CONVERSION(minor, status); } else if (id.equals("IDL:omg.org/CORBA/OBJECT_NOT_EXIST:1.0")) { return new org.omg.CORBA.OBJECT_NOT_EXIST(minor, status); } else if (id.equals("IDL:omg.org/CORBA/TRANSACTION_REQUIRED:1.0")) { return new org.omg.CORBA.TRANSACTION_REQUIRED(minor, status); } else if (id.equals("IDL:omg.org/CORBA/TRANSACTION_ROLLEDBACK:1.0")) { return new org.omg.CORBA.TRANSACTION_ROLLEDBACK(minor, status); } else if (id.equals("IDL:omg.org/CORBA/INVALID_TRANSACTION:1.0")) { return new org.omg.CORBA.INVALID_TRANSACTION(minor, status); } else if (id.equals("IDL:omg.org/CORBA/INV_POLICY:1.0")) { return new org.omg.CORBA.INV_POLICY(minor, status); } else if (id.equals("IDL:omg.org/CORBA/CODESET_INCOMPATIBLE:1.0")) { return new org.omg.CORBA.BAD_OPERATION(minor, status); } // Disabled since these are only supported by CORBA 2.4 /* else if(id.equals("IDL:omg.org/CORBA/REBIND:1.0")) { return new org.omg.CORBA.REBIND(minor, status); } else if(id.equals("IDL:omg.org/CORBA/TIMEOUT:1.0")) { return new org.omg.CORBA.TIMEOUT(minor, status); } else if(id.equals("IDL:omg.org/CORBA/TRANSACTION_UNAVAILABLE:1.0")) { return new org.omg.CORBA.TRANSACTION_UNAVAILABLE(minor, status); } else if(id.equals("IDL:omg.org/CORBA/TRANSACTION_MODE:1.0")) { return new org.omg.CORBA.TRANSACTION_MODE(minor, status); } else if(id.equals("IDL:omg.org/CORBA/BAD_QOS:1.0")) { return new org.omg.CORBA.BAD_QOS(minor, status); } */ // // Unknown exception // return new org.omg.CORBA.UNKNOWN(minor, status); } private static String[] sysExClassNames_ = { "org.omg.CORBA.BAD_CONTEXT", "org.omg.CORBA.BAD_INV_ORDER", "org.omg.CORBA.BAD_OPERATION", "org.omg.CORBA.BAD_PARAM", "org.omg.CORBA.BAD_QOS", "org.omg.CORBA.BAD_TYPECODE", "org.omg.CORBA.CODESET_INCOMPATIBLE", "org.omg.CORBA.COMM_FAILURE", "org.omg.CORBA.DATA_CONVERSION", "org.omg.CORBA.FREE_MEM", "org.omg.CORBA.IMP_LIMIT", "org.omg.CORBA.INITIALIZE", "org.omg.CORBA.INTERNAL", "org.omg.CORBA.INTF_REPOS", "org.omg.CORBA.INVALID_TRANSACTION", "org.omg.CORBA.INV_FLAG", "org.omg.CORBA.INV_IDENT", "org.omg.CORBA.INV_OBJREF", "org.omg.CORBA.INV_POLICY", "org.omg.CORBA.MARSHAL", "org.omg.CORBA.NO_IMPLEMENT", "org.omg.CORBA.NO_MEMORY", "org.omg.CORBA.NO_PERMISSION", "org.omg.CORBA.NO_RESOURCES", "org.omg.CORBA.NO_RESPONSE", "org.omg.CORBA.OBJECT_NOT_EXIST", "org.omg.CORBA.OBJ_ADAPTER", "org.omg.CORBA.PERSIST_STORE", "org.omg.CORBA.REBIND", "org.omg.CORBA.TIMEOUT", "org.omg.CORBA.TRANSACTION_MODE", "org.omg.CORBA.TRANSACTION_REQUIRED", "org.omg.CORBA.TRANSACTION_ROLLEDBACK", "org.omg.CORBA.TRANSACTION_UNAVAILABLE", "org.omg.CORBA.TRANSIENT", "org.omg.CORBA.UNKNOWN" }; private static String[] sysExIds_ = { "IDL:omg.org/CORBA/BAD_CONTEXT:1.0", "IDL:omg.org/CORBA/BAD_INV_ORDER:1.0", "IDL:omg.org/CORBA/BAD_OPERATION:1.0", "IDL:omg.org/CORBA/BAD_PARAM:1.0", "IDL:omg.org/CORBA/BAD_QOS:1.0", "IDL:omg.org/CORBA/BAD_TYPECODE:1.0", "IDL:omg.org/CORBA/CODESET_INCOMPATIBLE:1.0", "IDL:omg.org/CORBA/COMM_FAILURE:1.0", "IDL:omg.org/CORBA/DATA_CONVERSION:1.0", "IDL:omg.org/CORBA/FREE_MEM:1.0", "IDL:omg.org/CORBA/IMP_LIMIT:1.0", "IDL:omg.org/CORBA/INITIALIZE:1.0", "IDL:omg.org/CORBA/INTERNAL:1.0", "IDL:omg.org/CORBA/INTF_REPOS:1.0", "IDL:omg.org/CORBA/INVALID_TRANSACTION:1.0", "IDL:omg.org/CORBA/INV_FLAG:1.0", "IDL:omg.org/CORBA/INV_IDENT:1.0", "IDL:omg.org/CORBA/INV_OBJREF:1.0", "IDL:omg.org/CORBA/INV_POLICY:1.0", "IDL:omg.org/CORBA/MARSHAL:1.0", "IDL:omg.org/CORBA/NO_IMPLEMENT:1.0", "IDL:omg.org/CORBA/NO_MEMORY:1.0", "IDL:omg.org/CORBA/NO_PERMISSION:1.0", "IDL:omg.org/CORBA/NO_RESOURCES:1.0", "IDL:omg.org/CORBA/NO_RESPONSE:1.0", "IDL:omg.org/CORBA/OBJECT_NOT_EXIST:1.0", "IDL:omg.org/CORBA/OBJ_ADAPTER:1.0", "IDL:omg.org/CORBA/PERSIST_STORE:1.0", "IDL:omg.org/CORBA/REBIND:1.0", "IDL:omg.org/CORBA/TIMEOUT:1.0", "IDL:omg.org/CORBA/TRANSACTION_MODE:1.0", "IDL:omg.org/CORBA/TRANSACTION_REQUIRED:1.0", "IDL:omg.org/CORBA/TRANSACTION_ROLLEDBACK:1.0", "IDL:omg.org/CORBA/TRANSACTION_UNAVAILABLE:1.0", "IDL:omg.org/CORBA/TRANSIENT:1.0", "IDL:omg.org/CORBA/UNKNOWN:1.0" }; private static int binarySearch(String[] arr, String value) { int left = 0; int right = arr.length; int index = -1; while (left < right) { int m = (left + right) / 2; int res = arr [ m ].compareTo(value); if (res == 0) { index = m; break; } else if (res > 0) right = m; else left = m + 1; } return index; } // // Determine the repository ID of an exception // public static String getExceptionId(Exception ex) { if (ex instanceof org.omg.CORBA.SystemException) { String className = ex.getClass().getName(); int index = binarySearch(sysExClassNames_, className); if (index == -1) return "IDL:omg.org/CORBA/UNKNOWN:1.0"; else return sysExIds_ [ index ]; } else if (ex instanceof org.omg.CORBA.UserException) { Class exClass = ex.getClass(); String className = exClass.getName(); String id = null; try { Class c = Class.forName(className + "Helper"); java.lang.reflect.Method m = c.getMethod("id", null); id = (String) m.invoke(null, null); } catch (ClassNotFoundException e) { } catch (NoSuchMethodException e) { throw new RuntimeException(e); } catch (IllegalAccessException e) { throw new RuntimeException(e); } catch (IllegalArgumentException e) { throw new RuntimeException(e); } catch (java.lang.reflect.InvocationTargetException e) { throw new RuntimeException(e); } catch (SecurityException e) { } // // TODO: Is this correct? // if (id == null) return "IDL:omg.org/CORBA/UserException:1.0"; else return id; } else { throw new RuntimeException(); } } }mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/TestLocationForwardHelper.java0000644000175000001440000000476510451015575027130 0ustar dokousers// Tags: not-a-test // Copyright (c) Object Oriented Concepts, Inc. Billerica, MA, USA // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.PortableServer.POA; import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.ORB; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.Delegate; import org.omg.CORBA.portable.ObjectImpl; public abstract class TestLocationForwardHelper { private static String _id = "IDL:test/poa/TestLocationForward:1.0"; public static TypeCode type() { return ORB.init().create_interface_tc(TestLocationForwardHelper.id(), "TestLocationForward" ); } public static String id() { return _id; } public static TestLocationForward narrow(org.omg.CORBA.Object obj) { if (obj == null) return null; else if (obj instanceof TestLocationForward) return (TestLocationForward) obj; else if (!obj._is_a(id())) throw new BAD_PARAM(); else { Delegate delegate = ((ObjectImpl) obj)._get_delegate(); _TestLocationForwardStub stub = new _TestLocationForwardStub(); stub._set_delegate(delegate); return stub; } } } mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/TestLocationForwardServerOperations.java0000644000175000001440000000317610447766314031227 0ustar dokousers// Tags: not-a-test // Copyright (c) Object Oriented Concepts, Inc. Billerica, MA, USA // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.PortableServer.POA; public interface TestLocationForwardServerOperations { void setForwardRequest(org.omg.CORBA.Object obj); org.omg.CORBA.Object get_servant(); void deactivate(); } mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/TestLocationForwardServerPOA.java0000644000175000001440000001005410451015575027503 0ustar dokousers// Tags: not-a-test // Copyright (c) Object Oriented Concepts, Inc. Billerica, MA, USA // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.PortableServer.POA; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.InvokeHandler; import org.omg.CORBA.portable.OutputStream; import org.omg.CORBA.portable.ResponseHandler; import org.omg.PortableServer.Servant; import java.util.Hashtable; public abstract class TestLocationForwardServerPOA extends org.omg.PortableServer.Servant implements TestLocationForwardServerOperations, InvokeHandler { // Constructors private static Hashtable _methods = new Hashtable(); static { _methods.put("setForwardRequest", new java.lang.Integer(0)); _methods.put("get_servant", new java.lang.Integer(1)); _methods.put("deactivate", new java.lang.Integer(2)); } public OutputStream _invoke(String method, InputStream in, ResponseHandler rh) { OutputStream out = null; Integer __method = (Integer) _methods.get(method); if (__method == null) throw new org.omg.CORBA.BAD_OPERATION(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE ); switch (__method.intValue()) { case 0 : // test/poa/TestLocationForwardServer/setForwardRequest { org.omg.CORBA.Object obj = org.omg.CORBA.ObjectHelper.read(in); this.setForwardRequest(obj); out = rh.createReply(); break; } case 1 : // test/poa/TestLocationForwardServer/get_servant { org.omg.CORBA.Object result = null; result = this.get_servant(); out = rh.createReply(); org.omg.CORBA.ObjectHelper.write(out, result); break; } case 2 : // test/poa/TestLocationForwardServer/deactivate { this.deactivate(); out = rh.createReply(); break; } default : throw new org.omg.CORBA.BAD_OPERATION(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE ); } return out; } // _invoke // Type-specific CORBA::Object operations private static String[] __ids = { "IDL:test/poa/TestLocationForwardServer:1.0" }; public String[] _all_interfaces(org.omg.PortableServer.POA poa, byte[] objectId ) { return __ids; } public TestLocationForwardServer _this() { return TestLocationForwardServerHelper.narrow(super._this_object()); } public TestLocationForwardServer _this(org.omg.CORBA.ORB orb) { return TestLocationForwardServerHelper.narrow(super._this_object(orb)); } } mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/TestLocationForwardServer.java0000644000175000001440000000316310447766314027157 0ustar dokousers// Tags: not-a-test // Copyright (c) Object Oriented Concepts, Inc. Billerica, MA, USA // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.PortableServer.POA; public interface TestLocationForwardServer extends TestLocationForwardServerOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity { } mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/TestOperations.java0000644000175000001440000000301310447766314025010 0ustar dokousers// Tags: not-a-test // Copyright (c) Object Oriented Concepts, Inc. Billerica, MA, USA // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.PortableServer.POA; public interface TestOperations { void aMethod (); } mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/TestCollocated.java0000644000175000001440000003317410270226346024737 0ustar dokousers// Tags: JDK1.4 // Copyright (c) Object Oriented Concepts, Inc. Billerica, MA, USA // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // ********************************************************************** // // Copyright (c) 2000 // Object Oriented Concepts, Inc. // Billerica, MA, USA // // All Rights Reserved // // ********************************************************************** package gnu.testlet.org.omg.PortableServer.POA; import gnu.testlet.*; import org.omg.CORBA.ORB; import org.omg.CORBA.Policy; import org.omg.CORBA.Request; import org.omg.PortableServer.ForwardRequest; import org.omg.PortableServer.POA; import org.omg.PortableServer.POAManager; import org.omg.PortableServer.POAPackage.AdapterAlreadyExists; import org.omg.PortableServer.POAPackage.InvalidPolicy; import org.omg.PortableServer.POAPackage.ObjectNotActive; import org.omg.PortableServer.POAPackage.ServantNotActive; import org.omg.PortableServer.POAPackage.WrongPolicy; import org.omg.PortableServer.Servant; import org.omg.PortableServer.ServantActivator; import org.omg.PortableServer.ServantActivatorPOA; import org.omg.PortableServer.ServantLocator; import org.omg.PortableServer.ServantLocatorPOA; import org.omg.PortableServer.ServantLocatorPackage.CookieHolder; public final class TestCollocated extends TestBase implements Testlet { static final class TestLocator_impl extends ServantLocatorPOA { private ORB orb_; private Test_impl test_; private TestDSIRef_impl testDSI_; TestLocator_impl(ORB orb) { orb_ = orb; test_ = new Test_impl(orb, "locator_SSI", false); testDSI_ = new TestDSIRef_impl(orb, "locator_DSI", false); } public Servant preinvoke(byte[] oid, POA poa, String operation, CookieHolder the_cookie ) throws ForwardRequest { String oidString = new String(oid); if (oidString.equals("test")) return test_; else if (oidString.equals("testDSI")) return testDSI_; return null; } public void postinvoke(byte[] oid, POA poa, String operation, java.lang.Object the_cookie, Servant the_servant ) { } } static final class TestActivator_impl extends ServantActivatorPOA { private ORB orb_; private Test_impl test_; private TestDSIRef_impl testDSI_; TestActivator_impl(ORB orb) { orb_ = orb; test_ = new Test_impl(orb, "locator_SSI", false); testDSI_ = new TestDSIRef_impl(orb, "locator_DSI", false); } public Servant incarnate(byte[] oid, POA poa) throws ForwardRequest { String oidString = new String(oid); if (oidString.equals("test")) return test_; else if (oidString.equals("testDSI")) return testDSI_; // // Fail // return null; } public void etherealize(byte[] oid, POA poa, Servant servant, boolean cleanup, boolean remaining ) { String oidString = new String(oid); if (!remaining) { if (oidString.equals("test")) { servant = null; test_ = null; } else if (oidString.equals("testDSI")) { testDSI_ = null; } } } } void uTestPOA(POA poa) { byte[] id; org.omg.CORBA.Object obj; Request request; Test test; // // Invoke twice on each object - statically & DII // id = ("test").getBytes(); obj = poa.create_reference_with_id(id, "IDL:test/poa/Test:1.0"); test = TestHelper.narrow(obj); test.aMethod(); request = obj._request("aMethod"); request.invoke(); TEST(request.env().exception() == null); id = ("testDSI").getBytes(); obj = poa.create_reference_with_id(id, "IDL:test/poa/Test:1.0"); test = TestHelper.narrow(obj); test.aMethod(); request = obj._request("aMethod"); request.invoke(); TEST(request.env().exception() == null); } void uTestDefaultServant(ORB orb, POA root, POAManager manager) { POA poa; Servant servant; Policy[] policies; // // Setup policies for default servant // policies = new Policy[ 6 ]; policies [ 0 ] = root.create_lifespan_policy(org.omg.PortableServer.LifespanPolicyValue.TRANSIENT); policies [ 1 ] = root.create_id_assignment_policy(org.omg.PortableServer.IdAssignmentPolicyValue.USER_ID); policies [ 2 ] = root.create_servant_retention_policy(org.omg.PortableServer.ServantRetentionPolicyValue.NON_RETAIN); policies [ 3 ] = root.create_implicit_activation_policy(org.omg.PortableServer.ImplicitActivationPolicyValue.NO_IMPLICIT_ACTIVATION); policies [ 4 ] = root.create_id_uniqueness_policy(org.omg.PortableServer.IdUniquenessPolicyValue.MULTIPLE_ID); policies [ 5 ] = root.create_request_processing_policy(org.omg.PortableServer.RequestProcessingPolicyValue.USE_DEFAULT_SERVANT); // // Create POA w/ static Default Servant // try { poa = root.create_POA("defaultSSI", manager, policies); } catch (AdapterAlreadyExists ex) { fail(ex); throw new RuntimeException(ex); } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } Test_impl staticServant = new Test_impl(orb, "defaultStaticServant", false); try { poa.set_servant(staticServant); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } uTestPOA(poa); poa.destroy(true, true); // // Since staticServant is a stack-based servant, we need to deactivate // it before it goes out of scope // byte[] id = null; try { id = root.servant_to_id(staticServant); } catch (ServantNotActive ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } try { root.deactivate_object(id); } catch (ObjectNotActive ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } // // Create POA w/ DSI Default Servant // try { poa = root.create_POA("defaultDSI", manager, policies); } catch (AdapterAlreadyExists ex) { fail(ex); throw new RuntimeException(ex); } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } servant = new TestDSIRef_impl(orb, "defaultDSIServant", false); try { poa.set_servant(servant); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } uTestPOA(poa); poa.destroy(true, true); servant = null; // // Clean up policies // for (int i = 0; i < policies.length; i++) policies [ i ].destroy(); } void uTestServantLocator(ORB orb, POA root, POAManager manager) { POA poa; Servant servant; Policy[] policies; // // Setup policies for servant locator // policies = new Policy[ 6 ]; policies [ 0 ] = root.create_lifespan_policy(org.omg.PortableServer.LifespanPolicyValue.TRANSIENT); policies [ 1 ] = root.create_id_assignment_policy(org.omg.PortableServer.IdAssignmentPolicyValue.USER_ID); policies [ 2 ] = root.create_servant_retention_policy(org.omg.PortableServer.ServantRetentionPolicyValue.NON_RETAIN); policies [ 3 ] = root.create_implicit_activation_policy(org.omg.PortableServer.ImplicitActivationPolicyValue.NO_IMPLICIT_ACTIVATION); policies [ 4 ] = root.create_id_uniqueness_policy(org.omg.PortableServer.IdUniquenessPolicyValue.UNIQUE_ID); policies [ 5 ] = root.create_request_processing_policy(org.omg.PortableServer.RequestProcessingPolicyValue.USE_SERVANT_MANAGER); // // Create POA w/ Servant Locator // try { poa = root.create_POA("servloc", manager, policies); } catch (AdapterAlreadyExists ex) { fail(ex); throw new RuntimeException(ex); } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } TestLocator_impl locatorImpl = new TestLocator_impl(orb); ServantLocator locator = locatorImpl._this(orb); try { poa.set_servant_manager(locator); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } uTestPOA(poa); poa.destroy(true, true); // // Clean up policies // for (int i = 0; i < policies.length; i++) policies [ i ].destroy(); // // Since locatorImpl is a stack-based servant, we need to deactivate // it before it goes out of scope // byte[] id = null; try { id = root.servant_to_id(locatorImpl); } catch (ServantNotActive ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } try { root.deactivate_object(id); } catch (ObjectNotActive ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } } void uTestServantActivator(ORB orb, POA root, POAManager manager) { POA poa; Servant servant; Policy[] policies; // // Setup policies for servant activator // policies = new Policy[ 4 ]; policies [ 0 ] = root.create_lifespan_policy(org.omg.PortableServer.LifespanPolicyValue.TRANSIENT); policies [ 1 ] = root.create_servant_retention_policy(org.omg.PortableServer.ServantRetentionPolicyValue.RETAIN); policies [ 2 ] = root.create_implicit_activation_policy(org.omg.PortableServer.ImplicitActivationPolicyValue.IMPLICIT_ACTIVATION); policies [ 3 ] = root.create_request_processing_policy(org.omg.PortableServer.RequestProcessingPolicyValue.USE_SERVANT_MANAGER); // // Create POA w/ Servant Activator // try { poa = root.create_POA("servant", manager, policies); } catch (AdapterAlreadyExists ex) { fail(ex); throw new RuntimeException(ex); } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } TestActivator_impl activatorImpl = new TestActivator_impl(orb); ServantActivator activator = activatorImpl._this(orb); try { poa.set_servant_manager(activator); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } uTestPOA(poa); poa.destroy(true, true); // // Clean up policies // for (int i = 0; i < policies.length; i++) policies [ i ].destroy(); // // Since activatorImpl is a stack-based servant, we need to deactivate // it before it goes out of scope // byte[] id = null; try { id = root.servant_to_id(activatorImpl); } catch (ServantNotActive ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } try { root.deactivate_object(id); } catch (ObjectNotActive ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } } public void testIt() { java.util.Properties props = System.getProperties(); ORB orb = ORB.init(new String[ 0 ], props); POA root = TestUtil.GetRootPOA(orb); POAManager manager = root.the_POAManager(); try { manager.activate(); } catch (org.omg.PortableServer.POAManagerPackage.AdapterInactive ex) { fail(ex); throw new RuntimeException(ex); } uTestDefaultServant(orb, root, manager); uTestServantLocator(orb, root, manager); uTestServantActivator(orb, root, manager); orb.destroy(); } public void test(TestHarness a_harness) { harness = a_harness; testIt(); } }mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/TestException.java0000644000175000001440000000335210270226347024620 0ustar dokousers// Copyright (c) IONA Technologies, Inc. Waltham, MA, USA. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // ********************************************************************** // // Copyright (c) 2001 // IONA Technologies, Inc. // Waltham, MA, USA // // All Rights Reserved // // ********************************************************************** package gnu.testlet.org.omg.PortableServer.POA; public class TestException extends RuntimeException { } mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/_TestLocationForwardServerStub.java0000644000175000001440000001045210270226347030142 0ustar dokousers// Copyright (c) Object Oriented Concepts, Inc. Billerica, MA, USA // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.PortableServer.POA; import org.omg.CORBA.MARSHAL; import org.omg.CORBA.ORB; import org.omg.CORBA.ObjectHelper; import org.omg.CORBA.portable.ApplicationException; import org.omg.CORBA.portable.Delegate; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.ObjectImpl; import org.omg.CORBA.portable.OutputStream; import org.omg.CORBA.portable.RemarshalException; public class _TestLocationForwardServerStub extends ObjectImpl implements TestLocationForwardServer { public void setForwardRequest(org.omg.CORBA.Object obj) { InputStream in = null; try { OutputStream out = _request("setForwardRequest", true); ObjectHelper.write(out, obj); in = _invoke(out); return; } catch (ApplicationException $ex) { in = $ex.getInputStream(); String _id = $ex.getId(); throw new MARSHAL(_id); } catch (RemarshalException $rm) { setForwardRequest(obj); } finally { _releaseReply(in); } } // setForwardRequest public org.omg.CORBA.Object get_servant() { InputStream in = null; try { OutputStream out = _request("get_servant", true); in = _invoke(out); return ObjectHelper.read(in); } catch (ApplicationException $ex) { in = $ex.getInputStream(); String _id = $ex.getId(); throw new MARSHAL(_id); } catch (RemarshalException $rm) { return get_servant(); } finally { _releaseReply(in); } } // get_servant public void deactivate() { InputStream in = null; try { OutputStream out = _request("deactivate", true); in = _invoke(out); return; } catch (ApplicationException $ex) { in = $ex.getInputStream(); String _id = $ex.getId(); throw new MARSHAL(_id); } catch (RemarshalException $rm) { deactivate(); } finally { _releaseReply(in); } } // deactivate // Type-specific CORBA::Object operations private static String[] __ids = { "IDL:test/poa/TestLocationForwardServer:1.0" }; public String[] _ids() { return __ids; } private void readObject(java.io.ObjectInputStream s) throws java.io.IOException { String str = s.readUTF(); String[] args = null; java.util.Properties props = null; org.omg.CORBA.Object obj = ORB.init(args, props).string_to_object(str); Delegate delegate = ((ObjectImpl) obj)._get_delegate(); _set_delegate(delegate); } private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException { String[] args = null; java.util.Properties props = null; String str = ORB.init(args, props).object_to_string(this); s.writeUTF(str); } } // class _TestLocationForwardServerStub mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/TestLocationForward.java0000644000175000001440000000311310447766313025762 0ustar dokousers// Tags: not-a-test // Copyright (c) Object Oriented Concepts, Inc. Billerica, MA, USA // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.PortableServer.POA; public interface TestLocationForward extends TestLocationForwardOperations, Test, org.omg.CORBA.portable.IDLEntity { } mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/TestDSIRef_impl.java0000644000175000001440000001161210447766313024765 0ustar dokousers// Tags: not-a-test // Copyright (c) Object Oriented Concepts, Inc. Billerica, MA, USA // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // ********************************************************************** // // Copyright (c) 2000 // Object Oriented Concepts, Inc. // Billerica, MA, USA // // All Rights Reserved // // ********************************************************************** package gnu.testlet.org.omg.PortableServer.POA; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.NVList; import org.omg.CORBA.ORB; import org.omg.CORBA.ServerRequest; import org.omg.CORBA.UserException; import org.omg.PortableServer.DynamicImplementation; import org.omg.PortableServer.POA; import org.omg.PortableServer.POAPackage.ServantNotActive; import org.omg.PortableServer.POAPackage.WrongPolicy; final class TestDSIRef_impl extends org.omg.PortableServer.DynamicImplementation { private ORB orb_; private String name_; private boolean compare_; private boolean defaultServant_; // // From TestBase (no multiple inheritance) // public static void TEST(boolean expr) { if (!expr) throw new TestException(); } TestDSIRef_impl(ORB orb, String name, boolean compare) { orb_ = orb; name_ = name; compare_ = compare; } void setDefaultServant(boolean b) { defaultServant_ = b; } // // Standard IDL to Java Mapping // public void invoke(ServerRequest request) { String name = request.operation(); if (!name.equals("aMethod")) { throw new BAD_OPERATION(); } // // 8.3.1: "Unless it calls set_exception, the DIR must call arguments // exactly once, even if the operation signature contains no // parameters." // NVList list = orb_.create_list(0); request.arguments(list); org.omg.CORBA.Object currentObj = null; try { currentObj = orb_.resolve_initial_references("POACurrent"); } catch (UserException ex) { } org.omg.PortableServer.Current current = null; if (currentObj != null) current = org.omg.PortableServer.CurrentHelper.narrow(currentObj); TEST(current != null); byte[] oid = null; try { oid = current.get_object_id(); } catch (org.omg.PortableServer.CurrentPackage.NoContext ex) { throw new RuntimeException(); } String oidString = new String(oid); if (compare_) TEST(oidString.equals(name_)); // // Disabled since it is CORBA 2.4 // /* org.omg.PortableServer.Servant servant = null; try { servant = current.get_servant(); } catch(org.omg.PortableServer.CurrentPackage.NoContext ex) { throw new RuntimeException(); } TEST(servant == this); */ if (defaultServant_) { POA poa = null; try { poa = current.get_POA(); } catch (org.omg.PortableServer.CurrentPackage.NoContext ex) { throw new RuntimeException(); } byte[] servantId = null; try { servantId = poa.servant_to_id(this); } catch (ServantNotActive ex) { throw new RuntimeException(); } catch (WrongPolicy ex) { throw new RuntimeException(); } TEST(servantId.length == oid.length); TEST(servantId.equals(oid)); } } static final String[] interfaces_ = { "IDL:Test:1.0" }; public String[] _all_interfaces(POA poa, byte[] oid) { return interfaces_; } } mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/TestFind.java0000644000175000001440000001047010270226347023541 0ustar dokousers// Tags: JDK1.4 // Copyright (c) Object Oriented Concepts, Inc. Billerica, MA, USA // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // ********************************************************************** // // Copyright (c) 2000 // Object Oriented Concepts, Inc. // Billerica, MA, USA // // All Rights Reserved // // ********************************************************************** package gnu.testlet.org.omg.PortableServer.POA; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import org.omg.CORBA.ORB; import org.omg.CORBA.Policy; import org.omg.PortableServer.POA; import org.omg.PortableServer.POAManager; import org.omg.PortableServer.POAPackage.AdapterAlreadyExists; import org.omg.PortableServer.POAPackage.AdapterNonExistent; import org.omg.PortableServer.POAPackage.InvalidPolicy; public final class TestFind extends TestBase implements Testlet { void run(ORB orb, POA root) { org.omg.CORBA.Object obj; Policy[] policies = new Policy[ 0 ]; POA poa; POA parent; POA poa2; POA poa3; POAManager mgr; String str; POAManager rootMgr = root.the_POAManager(); TEST(rootMgr != null); // // Create child POA // try { poa = root.create_POA("poa1", rootMgr, policies); } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (AdapterAlreadyExists ex) { fail(ex); throw new RuntimeException(ex); } // // Test: find_POA // try { poa2 = root.find_POA("poa1", false); } catch (AdapterNonExistent ex) { fail(ex); throw new RuntimeException(ex); } TEST(poa2 != null); TEST(poa2._is_equivalent(poa)); // // Test: AdapterNonExistent exception // try { poa2 = root.find_POA("poaX", false); TEST(false); // find_POA should not have succeeded } catch (AdapterNonExistent ex) { // expected } // // Create child POA // try { poa2 = root.create_POA("poa2", rootMgr, policies); } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (AdapterAlreadyExists ex) { fail(ex); throw new RuntimeException(ex); } // // Test: Confirm parent knows about child // try { poa3 = root.find_POA("poa2", false); } catch (AdapterNonExistent ex) { fail(ex); throw new RuntimeException(ex); } TEST(poa3 != null); TEST(poa3._is_equivalent(poa2)); } public void testIt() { java.util.Properties props = System.getProperties(); int status = 0; ORB orb = null; // // Create ORB // orb = ORB.init(new String[ 0 ], props); POA root = TestUtil.GetRootPOA(orb); // // Run the test // run(orb, root); if (orb != null) orb.destroy(); } public void test(TestHarness a_harness) { harness = a_harness; testIt(); } }mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/TestLocationForwardActivator_impl.java0000644000175000001440000000527210447766313030670 0ustar dokousers// Tags: not-a-test // Copyright (c) Object Oriented Concepts, Inc. Billerica, MA, USA // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // ********************************************************************** // // Copyright (c) 2001 // Object Oriented Concepts, Inc. // Billerica, MA, USA // // All Rights Reserved // // ********************************************************************** package gnu.testlet.org.omg.PortableServer.POA; import org.omg.PortableServer.ForwardRequest; import org.omg.PortableServer.POA; import org.omg.PortableServer.Servant; import org.omg.PortableServer.ServantActivatorPOA; final class TestLocationForwardActivator_impl extends org.omg.PortableServer.ServantActivatorPOA { private boolean activate_; private Servant servant_; private org.omg.CORBA.Object forward_; TestLocationForwardActivator_impl() { activate_ = false; } public void setActivatedServant(Servant servant) { servant_ = servant; } public void setForwardRequest(org.omg.CORBA.Object forward) { forward_ = forward; } public Servant incarnate(byte[] oid, POA poa) throws ForwardRequest { activate_ = !activate_; if (!activate_) throw new ForwardRequest(forward_); return servant_; } public void etherealize(byte[] oid, POA poa, Servant servant, boolean cleanup, boolean remaining ) { } } mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/TestLocationForward_impl.java0000644000175000001440000000526210447766314027013 0ustar dokousers// Tags: not-a-test // Copyright (c) Object Oriented Concepts, Inc. Billerica, MA, USA // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // ********************************************************************** // // Copyright (c) 2000 // Object Oriented Concepts, Inc. // Billerica, MA, USA // // All Rights Reserved // // ********************************************************************** package gnu.testlet.org.omg.PortableServer.POA; import org.omg.CORBA.ORB; import org.omg.PortableServer.POA; import org.omg.PortableServer.POAPackage.ObjectNotActive; import org.omg.PortableServer.POAPackage.WrongPolicy; final class TestLocationForward_impl extends TestLocationForwardPOA { private Test_impl delegate_; TestLocationForward_impl(ORB orb) { delegate_ = new Test_impl(orb, "", false); } public void deactivate_servant() { byte[] oid = null; POA poa = null; try { oid = delegate_.current_.get_object_id(); poa = delegate_.current_.get_POA(); } catch (org.omg.PortableServer.CurrentPackage.NoContext ex) { throw new RuntimeException(ex); } try { poa.deactivate_object(oid); } catch (WrongPolicy ex) { throw new RuntimeException(ex); } catch (ObjectNotActive ex) { throw new RuntimeException(ex); } } public void aMethod() { delegate_.aMethod(); } } mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/TestLocationForwardClient.java0000644000175000001440000001307310270226347027117 0ustar dokousers// Copyright (c) Object Oriented Concepts, Inc. Billerica, MA, USA // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // ********************************************************************** // // Copyright (c) 2001 // Object Oriented Concepts, Inc. // Billerica, MA, USA // // All Rights Reserved // // ********************************************************************** package gnu.testlet.org.omg.PortableServer.POA; import org.omg.CORBA.ORB; import org.omg.CORBA.Policy; import org.omg.PortableServer.POA; import org.omg.PortableServer.POAManager; import org.omg.PortableServer.POAPackage.AdapterAlreadyExists; import org.omg.PortableServer.POAPackage.InvalidPolicy; import org.omg.PortableServer.POAPackage.WrongPolicy; import org.omg.PortableServer.ServantActivator; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.util.Properties; public final class TestLocationForwardClient extends TestBase { static boolean orb_thread_terminated; public static void main(String[] args) { Properties props = System.getProperties(); final ORB orb; // // Create ORB // orb = ORB.init(args, props); // Start the ORB in separate thread. POA root = TestUtil.GetRootPOA(orb); POA poa; Policy[] policies; POAManager manager = root.the_POAManager(); // // Create POA // policies = new Policy[ 4 ]; policies [ 0 ] = root.create_id_assignment_policy(org.omg.PortableServer.IdAssignmentPolicyValue.USER_ID); policies [ 1 ] = root.create_id_uniqueness_policy(org.omg.PortableServer.IdUniquenessPolicyValue.UNIQUE_ID); policies [ 2 ] = root.create_servant_retention_policy(org.omg.PortableServer.ServantRetentionPolicyValue.RETAIN); policies [ 3 ] = root.create_request_processing_policy(org.omg.PortableServer.RequestProcessingPolicyValue.USE_SERVANT_MANAGER); try { poa = root.create_POA("poa", manager, policies); } catch (InvalidPolicy ex) { throw new RuntimeException(ex); } catch (AdapterAlreadyExists ex) { throw new RuntimeException(ex); } TestLocationForwardActivator_impl activatorImpl = new TestLocationForwardActivator_impl(); ServantActivator activator = activatorImpl._this(orb); try { poa.set_servant_manager(activator); } catch (WrongPolicy ex) { throw new RuntimeException(ex); } byte[] oid = ("test").getBytes(); final org.omg.CORBA.Object reference = poa.create_reference_with_id(oid, TestLocationForwardHelper.id()); //"IDL:Test:1.0"); String impl = null; // // Read all object references from file // try { String refFile = "Test.ref"; FileInputStream file = new FileInputStream(refFile); BufferedReader in = new BufferedReader(new InputStreamReader(file)); impl = in.readLine(); file.close(); } catch (IOException ex) { System.err.println("Can't read from `" + ex.getMessage() + "'"); System.exit(1); } org.omg.CORBA.Object obj = orb.string_to_object(impl); TestLocationForwardServer server = TestLocationForwardServerHelper.narrow(obj); if (server == null) throw new RuntimeException("Server is null"); org.omg.CORBA.Object servant = server.get_servant(); activatorImpl.setForwardRequest(servant); TestLocationForward_impl testImpl = new TestLocationForward_impl(orb); activatorImpl.setActivatedServant(testImpl); try { manager.activate(); } catch (org.omg.PortableServer.POAManagerPackage.AdapterInactive ex) { throw new RuntimeException(ex); } server.setForwardRequest(reference); // // Run some calls // TestLocationForward local = TestLocationForwardHelper.narrow(reference); // // First should be local // local.aMethod(); local.deactivate_servant(); // // Second, should be remote // local.aMethod(); local.deactivate_servant(); // // Third should be local again // local.aMethod(); local.deactivate_servant(); // // Clean up // poa.destroy(true, true); server.deactivate(); orb.destroy(); } }mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/TestLocationForwardOperations.java0000644000175000001440000000307510447766313030035 0ustar dokousers// Tags: not-a-test // Copyright (c) Object Oriented Concepts, Inc. Billerica, MA, USA // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.PortableServer.POA; public interface TestLocationForwardOperations extends TestOperations { void deactivate_servant(); } mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/TestBase.java0000644000175000001440000000460510270226346023535 0ustar dokousers// Copyright (c) IONA Technologies, Inc. Waltham, MA, USA. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // ********************************************************************** // // Copyright (c) 2001 // IONA Technologies, Inc. // Waltham, MA, USA // // All Rights Reserved // // ********************************************************************** package gnu.testlet.org.omg.PortableServer.POA; import gnu.testlet.TestHarness; public class TestBase { public TestHarness harness; public void TEST(boolean expr, String why) { harness.check(expr, why); } public void TEST(boolean expr) { harness.check(expr); } public void fail(Throwable ex) { harness.fail("Failed due " + ex + ":" + ex.getCause()); } public org.omg.CORBA.TypeCode getOrigType(org.omg.CORBA.TypeCode tc) { org.omg.CORBA.TypeCode result = tc; try { while (result.kind() == org.omg.CORBA.TCKind.tk_alias) result = result.content_type(); } catch (org.omg.CORBA.TypeCodePackage.BadKind ex) { harness.fail("Unexpected " + ex); } return result; } }mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/TestActivate.java0000644000175000001440000004056611256664453024443 0ustar dokousers// Tags: JDK1.4 // Copyright (c) Object Oriented Concepts, Inc. Billerica, MA, USA // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // ********************************************************************** // // Copyright (c) 2000 // Object Oriented Concepts, Inc. // Billerica, MA, USA // // All Rights Reserved // // ********************************************************************** package gnu.testlet.org.omg.PortableServer.POA; import gnu.testlet.*; import org.omg.CORBA.ORB; import org.omg.CORBA.Policy; import org.omg.PortableServer.ForwardRequest; import org.omg.PortableServer.POA; import org.omg.PortableServer.POAManager; import org.omg.PortableServer.POAPackage.AdapterAlreadyExists; import org.omg.PortableServer.POAPackage.InvalidPolicy; import org.omg.PortableServer.POAPackage.ObjectAlreadyActive; import org.omg.PortableServer.POAPackage.ObjectNotActive; import org.omg.PortableServer.POAPackage.ServantAlreadyActive; import org.omg.PortableServer.POAPackage.ServantNotActive; import org.omg.PortableServer.POAPackage.WrongPolicy; import org.omg.PortableServer.Servant; import org.omg.PortableServer.ServantActivator; import org.omg.PortableServer.ServantActivatorPOA; /** * This test passes with Suns JDK 1.4.08_b_03 but fails with * Suns JDK 1.5.0._4 (regression). It should pass with * Gnu Classpath. */ public final class TestActivate extends TestBase implements Testlet { public static final String regression_note = "This is known regression 1.4.08_b_03 -> 1.5.0._4"; final class TestActivator_impl extends ServantActivatorPOA { private byte[] oid_; private POA poa_; private Servant servant_; private boolean valid_; void expect(byte[] oid, POA poa, Servant servant) { oid_ = oid; poa_ = poa; servant_ = servant; valid_ = false; } boolean isValid() { return valid_; } public Servant incarnate(byte[] oid, POA poa) throws ForwardRequest { return null; } public void etherealize(byte[] oid, POA poa, Servant servant, boolean cleanup, boolean remaining ) { TEST(TestUtil.Compare(oid_, oid)); TEST(poa_._is_equivalent(poa)); TEST(servant_ == servant); valid_ = true; } } private void run(ORB orb, POA root) { org.omg.CORBA.Object obj; POA system; POA nonretain; POA multiple; POA ether; byte[] id1; byte[] id2; byte[] id3; Policy[] policies; Test_impl servant1; Test_impl servant2; Servant tmpserv; POAManager manager = root.the_POAManager(); try { manager.activate(); } catch (org.omg.PortableServer.POAManagerPackage.AdapterInactive ex) { fail(ex); throw new RuntimeException(ex); } // // Create POAs // policies = new Policy[ 3 ]; policies [ 0 ] = root.create_id_assignment_policy(org.omg.PortableServer.IdAssignmentPolicyValue.SYSTEM_ID); policies [ 1 ] = root.create_id_uniqueness_policy(org.omg.PortableServer.IdUniquenessPolicyValue.UNIQUE_ID); policies [ 2 ] = root.create_servant_retention_policy(org.omg.PortableServer.ServantRetentionPolicyValue.RETAIN); try { system = root.create_POA("system_id", manager, policies); } catch (AdapterAlreadyExists ex) { fail(ex); throw new RuntimeException(ex); } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } policies = new Policy[ 5 ]; policies [ 0 ] = root.create_id_assignment_policy(org.omg.PortableServer.IdAssignmentPolicyValue.USER_ID); policies [ 1 ] = root.create_id_uniqueness_policy(org.omg.PortableServer.IdUniquenessPolicyValue.MULTIPLE_ID); policies [ 2 ] = root.create_servant_retention_policy(org.omg.PortableServer.ServantRetentionPolicyValue.NON_RETAIN); policies [ 3 ] = root.create_request_processing_policy(org.omg.PortableServer.RequestProcessingPolicyValue.USE_DEFAULT_SERVANT); policies [ 4 ] = root.create_implicit_activation_policy(org.omg.PortableServer.ImplicitActivationPolicyValue.NO_IMPLICIT_ACTIVATION); try { nonretain = root.create_POA("nonretain", manager, policies); } catch (AdapterAlreadyExists ex) { fail(ex); throw new RuntimeException(ex); } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } policies = new Policy[ 3 ]; policies [ 0 ] = root.create_id_assignment_policy(org.omg.PortableServer.IdAssignmentPolicyValue.SYSTEM_ID); policies [ 1 ] = root.create_id_uniqueness_policy(org.omg.PortableServer.IdUniquenessPolicyValue.MULTIPLE_ID); policies [ 2 ] = root.create_servant_retention_policy(org.omg.PortableServer.ServantRetentionPolicyValue.RETAIN); try { multiple = root.create_POA("multiple_id", manager, policies); } catch (AdapterAlreadyExists ex) { fail(ex); throw new RuntimeException(ex); } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } policies = new Policy[ 3 ]; policies [ 0 ] = root.create_id_assignment_policy(org.omg.PortableServer.IdAssignmentPolicyValue.SYSTEM_ID); policies [ 1 ] = root.create_id_uniqueness_policy(org.omg.PortableServer.IdUniquenessPolicyValue.MULTIPLE_ID); policies [ 2 ] = root.create_request_processing_policy(org.omg.PortableServer.RequestProcessingPolicyValue.USE_SERVANT_MANAGER); try { ether = root.create_POA("ether", manager, policies); } catch (AdapterAlreadyExists ex) { fail(ex); throw new RuntimeException(ex); } catch (InvalidPolicy ex) { fail(ex); throw new RuntimeException(ex); } TestActivator_impl activatorImpl = new TestActivator_impl(); ServantActivator activator = activatorImpl._this(orb); // // Start tests // try { ether.set_servant_manager(activator); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } servant1 = new Test_impl(orb, "obj1", false); servant2 = new Test_impl(orb, "obj2", false); // // Test: activate_object w/ SYSTEM_ID POA // try { id1 = system.activate_object(servant1); id2 = system.activate_object(servant2); } catch (ServantAlreadyActive ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } TEST(!TestUtil.Compare(id1, id2)); try { tmpserv = system.id_to_servant(id1); } catch (ObjectNotActive ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } TEST(tmpserv == servant1); try { tmpserv = system.id_to_servant(id2); } catch (ObjectNotActive ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } TEST(tmpserv == servant2); // // Test: ServantAlreadyActive exception // try { system.activate_object(servant1); TEST(false); // activate_object should not have succeeded } catch (ServantAlreadyActive ex) { // expected } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } try { system.activate_object(servant2); TEST(false); // activate_object should not have succeeded } catch (ServantAlreadyActive ex) { // expected } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } // // Test: deactivate_object // try { system.deactivate_object(id2); system.deactivate_object(id1); } catch (ObjectNotActive ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } // // Test: ObjectNotActive exception // try { system.deactivate_object(id1); TEST(false); // deactivate_object should not have succeeded } catch (ObjectNotActive ex) { // expected } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } try { system.deactivate_object(id2); TEST(false); // deactivate_object should not have succeeded } catch (ObjectNotActive ex) { // expected } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } // // Test: WrongPolicy exception // try { nonretain.activate_object(servant1); TEST(false); // activate_object should not have succeeded } catch (WrongPolicy ex) { // expected } catch (ServantAlreadyActive ex) { fail(ex); throw new RuntimeException(ex); } try { byte[] id = ("XXX").getBytes(); nonretain.activate_object_with_id(id, servant1); TEST(false); // activate_object_with_id should not have succeeded } catch (WrongPolicy ex) { // expected } catch (ServantAlreadyActive ex) { fail(ex); throw new RuntimeException(ex); } catch (ObjectAlreadyActive ex) { fail(ex); throw new RuntimeException(ex); } try { byte[] id = ("XXX").getBytes(); nonretain.deactivate_object(id); TEST(false); // deactivate_object should not have succeeded } catch (ObjectNotActive ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { // expected } // // Test: activate_object w/ MULTIPLE_ID POA // try { id1 = multiple.activate_object(servant1); id2 = multiple.activate_object(servant1); } catch (ServantAlreadyActive ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } TEST(!TestUtil.Compare(id1, id2)); try { tmpserv = multiple.id_to_servant(id1); } catch (ObjectNotActive ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } TEST(tmpserv == servant1); try { tmpserv = multiple.id_to_servant(id2); } catch (ObjectNotActive ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } TEST(tmpserv == servant1); // // Test: confirm servant1 is no longer active // try { multiple.deactivate_object(id1); multiple.deactivate_object(id2); } catch (ObjectNotActive ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } try { multiple.id_to_servant(id1); } catch (ObjectNotActive ex) { // expected } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } try { multiple.id_to_servant(id2); } catch (ObjectNotActive ex) { // expected } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } // // Test: confirm ServantActivator::etherealize is invoked on // deactivate // try { id1 = ether.activate_object(servant1); id2 = ether.activate_object(servant1); id3 = ether.activate_object(servant2); } catch (ServantAlreadyActive ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } activatorImpl.expect(id1, ether, servant1); try { ether.deactivate_object(id1); Thread.sleep(2000); } catch (ObjectNotActive ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (InterruptedException ex) { fail(ex); throw new RuntimeException(ex); } TEST(activatorImpl.isValid(), regression_note); activatorImpl.expect(id2, ether, servant1); try { ether.deactivate_object(id2); Thread.sleep(2000); } catch (ObjectNotActive ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (InterruptedException ex) { fail(ex); throw new RuntimeException(ex); } TEST(activatorImpl.isValid(), regression_note); activatorImpl.expect(id3, ether, servant2); try { ether.deactivate_object(id3); Thread.sleep(2000); } catch (ObjectNotActive ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } catch (InterruptedException ex) { fail(ex); throw new RuntimeException(ex); } TEST(activatorImpl.isValid(), "Regression in 1.5"); system.destroy(true, true); nonretain.destroy(true, true); multiple.destroy(true, true); ether.destroy(true, true); // // Since activatorImpl is a stack-based servant, we need to deactivate // it before it goes out of scope // byte[] id = null; try { id = root.servant_to_id(activatorImpl); } catch (ServantNotActive ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } try { root.deactivate_object(id); } catch (ObjectNotActive ex) { fail(ex); throw new RuntimeException(ex); } catch (WrongPolicy ex) { fail(ex); throw new RuntimeException(ex); } tmpserv = null; servant1 = null; servant2 = null; } public void testIt() { java.util.Properties props = System.getProperties(); ORB orb = null; orb = ORB.init(new String[ 0 ], props); POA root = TestUtil.GetRootPOA(orb); run(orb, root); if (orb != null) { orb.destroy(); } } public void test(TestHarness a_harness) { harness = a_harness; testIt(); } }mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/Test.java0000644000175000001440000000307510447766313022753 0ustar dokousers// Tags: not-a-test // Copyright (c) Object Oriented Concepts, Inc. Billerica, MA, USA // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.PortableServer.POA; public interface Test extends TestOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity { } mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/BAD_OPERATIONHolder.java0000644000175000001440000000546110270226346025170 0ustar dokousers// Copyright (c) Object Oriented Concepts, Inc. Billerica, MA, USA // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.PortableServer.POA; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.CompletionStatus; import org.omg.CORBA.CompletionStatusHelper; import org.omg.CORBA.ORB; import org.omg.CORBA.StructMember; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; import org.omg.CORBA.portable.Streamable; public class BAD_OPERATIONHolder implements Streamable { public BAD_OPERATION value; String id = "IDL:omg.org/CORBA/BAD_OPERATION:1.0"; public BAD_OPERATIONHolder(BAD_OPERATION v) { value = v; } public BAD_OPERATIONHolder() { } ; public TypeCode _type() { return ORB.init().create_exception_tc(id, "BAD_OPERATION", new StructMember[ 0 ] ); } public void _write(OutputStream output) { output.write_string(id); output.write_long(value.minor); CompletionStatusHelper.write(output, value.completed); } public void _read(InputStream input) { String ri = input.read_string(); int minor = input.read_long(); if (!ri.equals(id)) throw new RuntimeException("Id value mismath: '" + ri + "' expected '" + id + "'" ); CompletionStatus status = CompletionStatusHelper.read(input); value = new BAD_OPERATION(minor, status); } }mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/_TestStub.java0000644000175000001440000000461610270226347023742 0ustar dokousers// Copyright (c) Object Oriented Concepts, Inc. Billerica, MA, USA // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.PortableServer.POA; import org.omg.CORBA.MARSHAL; import org.omg.CORBA.portable.ApplicationException; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.ObjectImpl; import org.omg.CORBA.portable.OutputStream; import org.omg.CORBA.portable.RemarshalException; public class _TestStub extends ObjectImpl implements Test { public void aMethod() { InputStream in = null; try { OutputStream out = _request("aMethod", true); in = _invoke(out); return; } catch (ApplicationException ex) { in = ex.getInputStream(); String _id = ex.getId(); throw new MARSHAL(_id); } catch (RemarshalException rm) { aMethod(); } finally { _releaseReply(in); } } // aMethod // Type-specific CORBA::Object operations private static String[] __ids = { "IDL:test/poa/Test:1.0" }; public String[] _ids() { return __ids; } } // class _TestStub mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/TestPOA.java0000644000175000001440000000634010451015575023301 0ustar dokousers// Tags: not-a-test // Copyright (c) Object Oriented Concepts, Inc. Billerica, MA, USA // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.PortableServer.POA; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.InvokeHandler; import org.omg.CORBA.portable.OutputStream; import org.omg.CORBA.portable.ResponseHandler; import org.omg.PortableServer.Servant; import java.util.Hashtable; public abstract class TestPOA extends org.omg.PortableServer.Servant implements TestOperations, InvokeHandler { // Constructors private static Hashtable _methods = new Hashtable(); static { _methods.put("aMethod", new java.lang.Integer(0)); } public OutputStream _invoke(String method, InputStream in, ResponseHandler rh) { OutputStream out = null; Integer __method = (Integer) _methods.get(method); if (__method == null) throw new org.omg.CORBA.BAD_OPERATION(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE ); switch (__method.intValue()) { case 0 : // test/poa/Test/aMethod { this.aMethod(); out = rh.createReply(); break; } default : throw new org.omg.CORBA.BAD_OPERATION(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE ); } return out; } // _invoke // Type-specific CORBA::Object operations private static String[] __ids = { "IDL:test/poa/Test:1.0" }; public String[] _all_interfaces(org.omg.PortableServer.POA poa, byte[] objectId ) { return __ids; } public Test _this() { return TestHelper.narrow(super._this_object()); } public Test _this(org.omg.CORBA.ORB orb) { return TestHelper.narrow(super._this_object(orb)); } } mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/TestHelper.java0000644000175000001440000000433510451015575024103 0ustar dokousers// Tags: not-a-test // Copyright (c) Object Oriented Concepts, Inc. Billerica, MA, USA // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.PortableServer.POA; public abstract class TestHelper { private static String _id = "IDL:test/poa/Test:1.0"; public static synchronized org.omg.CORBA.TypeCode type() { return org.omg.CORBA.ORB.init().create_interface_tc(TestHelper.id(), "Test"); } public static String id() { return _id; } public static Test narrow(org.omg.CORBA.Object obj) { if (obj == null) return null; else if (obj instanceof Test) return (Test) obj; else if (!obj._is_a(id())) throw new org.omg.CORBA.BAD_PARAM(); else { org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl) obj)._get_delegate(); _TestStub stub = new _TestStub(); stub._set_delegate(delegate); return stub; } } } mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/_TestLocationForwardStub.java0000644000175000001440000000573010270226347026756 0ustar dokousers// Copyright (c) Object Oriented Concepts, Inc. Billerica, MA, USA // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.PortableServer.POA; public class _TestLocationForwardStub extends org.omg.CORBA.portable.ObjectImpl implements TestLocationForward { public void deactivate_servant() { org.omg.CORBA.portable.InputStream in = null; try { org.omg.CORBA.portable.OutputStream out = _request("deactivate_servant", true); in = _invoke(out); return; } catch (org.omg.CORBA.portable.ApplicationException ex) { in = ex.getInputStream(); String _id = ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException $rm) { deactivate_servant(); } finally { _releaseReply(in); } } // deactivate_servant public void aMethod() { org.omg.CORBA.portable.InputStream in = null; try { org.omg.CORBA.portable.OutputStream out = _request("aMethod", true); in = _invoke(out); return; } catch (org.omg.CORBA.portable.ApplicationException ex) { in = ex.getInputStream(); String _id = ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException $rm) { aMethod(); } finally { _releaseReply(in); } } // aMethod // Type-specific CORBA::Object operations private static String[] __ids = { "IDL:test/poa/TestLocationForward:1.0", "IDL:test/poa/Test:1.0" }; public String[] _ids() { return __ids; } } // class _TestLocationForwardStub mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/TestDSI_impl.java0000644000175000001440000001102010447766313024321 0ustar dokousers// Tags: not-a-test // Copyright (c) Object Oriented Concepts, Inc. Billerica, MA, USA // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // ********************************************************************** // // Copyright (c) 2000 // Object Oriented Concepts, Inc. // Billerica, MA, USA // // All Rights Reserved // // ********************************************************************** package gnu.testlet.org.omg.PortableServer.POA; import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.NVList; import org.omg.CORBA.ORB; import org.omg.CORBA.ServerRequest; import org.omg.PortableServer.DynamicImplementation; import org.omg.PortableServer.POA; class TestDSI_impl extends org.omg.PortableServer.DynamicImplementation { // // From TestBase (no multiple inheritance) // public static void TEST(boolean expr) { if (!expr) throw new TestException(); } protected ORB orb_; protected POA poa_; protected org.omg.PortableServer.Current current_; protected String name_; protected boolean compare_; TestDSI_impl(ORB orb, String name, boolean compare) { org.omg.CORBA.Object currentObj = null; try { currentObj = orb.resolve_initial_references("POACurrent"); } catch (org.omg.CORBA.ORBPackage.InvalidName ex) { } TEST(currentObj != null); current_ = org.omg.PortableServer.CurrentHelper.narrow(currentObj); TEST(current_ != null); } TestDSI_impl(ORB orb, POA poa) { orb_ = orb; poa_ = poa; name_ = ""; org.omg.CORBA.Object currentObj = null; try { currentObj = orb.resolve_initial_references("POACurrent"); } catch (org.omg.CORBA.ORBPackage.InvalidName ex) { } TEST(currentObj != null); current_ = org.omg.PortableServer.CurrentHelper.narrow(currentObj); TEST(current_ != null); } static final String[] interfaces_ = { "IDL:Test:1.0" }; public String[] _all_interfaces(POA poa, byte[] oid) { return interfaces_; } public boolean _is_a(String id) { if (id.equals("IDL:Test:1:0")) return true; return super._is_a(id); } public void invoke(ServerRequest request) { String name = request.operation(); if (name.equals("aMethod")) { NVList list = orb_.create_list(0); request.arguments(list); if (compare_) { byte[] oid = null; try { oid = current_.get_object_id(); } catch (org.omg.PortableServer.CurrentPackage.NoContext ex) { throw new RuntimeException(); } String oidString = new String(oid); TEST(oidString.equals(name_)); } return; } System.err.println("DSI implementation: unknown operation: " + name); NVList list = orb_.create_list(0); request.arguments(list); Any exAny = orb_.create_any(); exAny.insert_Streamable(new BAD_OPERATIONHolder(new BAD_OPERATION())); // BAD_OPERATIONHelper.insert(any, new BAD_OPERATION()); // Modified by Audrius Meskauskas request.set_exception(exAny); } public POA _default_POA() { if (poa_ != null) return poa_; return super._default_POA(); } } mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/TestLocationForwardServerHelper.java0000644000175000001440000000643410451015575030312 0ustar dokousers// Tags: not-a-test // Copyright (c) Object Oriented Concepts, Inc. Billerica, MA, USA // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.PortableServer.POA; import org.omg.CORBA.Any; import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.ORB; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.Delegate; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.ObjectImpl; import org.omg.CORBA.portable.OutputStream; public abstract class TestLocationForwardServerHelper { private static String _id = "IDL:test/poa/TestLocationForwardServer:1.0"; public static void insert(Any a, TestLocationForwardServer that) { OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static TestLocationForwardServer extract(Any a) { return read(a.create_input_stream()); } public static TypeCode type() { return ORB.init().create_interface_tc(TestLocationForwardServerHelper.id(), "TestLocationForwardServer" ); } public static String id() { return _id; } public static TestLocationForwardServer read(InputStream istream) { return narrow(istream.read_Object(_TestLocationForwardServerStub.class)); } public static void write(OutputStream ostream, TestLocationForwardServer value) { ostream.write_Object((org.omg.CORBA.Object) value); } public static TestLocationForwardServer narrow(org.omg.CORBA.Object obj) { if (obj == null) return null; else if (obj instanceof TestLocationForwardServer) return (TestLocationForwardServer) obj; else if (!obj._is_a(id())) throw new BAD_PARAM(); else { Delegate delegate = ((ObjectImpl) obj)._get_delegate(); _TestLocationForwardServerStub stub = new _TestLocationForwardServerStub(); stub._set_delegate(delegate); return stub; } } } mauve-20140821/gnu/testlet/org/omg/PortableServer/POA/testForwarding.java0000644000175000001440000000563310323417345025027 0ustar dokousers// Tags: JDK1.4 // Copyright (c) Object Oriented Concepts, Inc. Billerica, MA, USA // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.PortableServer.POA; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; public class testForwarding extends TestBase implements Testlet { boolean fs_terminated; // This test demands write access to the folder where the program // is running. public void testForward() { try { new Thread() { public void run() { fs_terminated = false; TestLocationForwardServerMain.main(new String[ 0 ]); fs_terminated = true; } }.start(); while (TestLocationForwardServerMain.ior == null) { try { Thread.sleep(100); } catch (InterruptedException ex) { } } try { Thread.sleep(200); } catch (InterruptedException ex) { } TestLocationForwardClient.main(new String[ 0 ]); // Wait at most 2 seconds for the termination of the server thread. long from = System.currentTimeMillis(); do { Thread.sleep(100); } while (System.currentTimeMillis() - from < 2000 && !fs_terminated); harness.check(fs_terminated, "Server thread must exit"); } catch (Exception ex) { fail(ex); } } public void test(TestHarness a_harness) { harness = a_harness; testForward(); } }mauve-20140821/gnu/testlet/org/omg/PortableServer/POAOperations/0000755000175000001440000000000012375316426023226 5ustar dokousersmauve-20140821/gnu/testlet/org/omg/PortableServer/POAOperations/communication/0000755000175000001440000000000012375316426026073 5ustar dokousers././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/org/omg/PortableServer/POAOperations/communication/remotePoaControlPOA.javamauve-20140821/gnu/testlet/org/omg/PortableServer/POAOperations/communication/remotePoaControlPOA.ja0000644000175000001440000000731210451015575032240 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.org.omg.PortableServer.POAOperations.communication; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.CompletionStatus; import org.omg.CORBA.ORB; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.InvokeHandler; import org.omg.CORBA.portable.OutputStream; import org.omg.CORBA.portable.ResponseHandler; import org.omg.PortableServer.Servant; import java.util.*; /** * The remote POA control interface. */ public abstract class remotePoaControlPOA extends org.omg.PortableServer.Servant implements remotePoaControlOperations, InvokeHandler { private static Hashtable _methods = new Hashtable(); static { _methods.put("setControlTarget", new Integer(0)); _methods.put("setPoaMode", new Integer(1)); _methods.put("getPoaMode", new Integer(2)); } public OutputStream _invoke(String method, InputStream in, ResponseHandler rh) { OutputStream out = null; Integer __method = (Integer) _methods.get(method); if (__method == null) throw new BAD_OPERATION(method, 0, CompletionStatus.COMPLETED_MAYBE); switch (__method.intValue()) { /** * Set the name of POA to that subsequent operations * will apply. This POA must be the child of the POA * to that this remotePoaControl servant is connected. */ case 0 : // gnu/classpath/examples/CORBA/SimpleCommunication/communication/remotePoaControl/setControlTarget { String child_poa_name = in.read_string(); this.setControlTarget(child_poa_name); out = rh.createReply(); break; } /** * Set the mode of the POA being controlled (active, * holding, discarding, deactivated). */ case 1 : // gnu/classpath/examples/CORBA/SimpleCommunication/communication/remotePoaControl/setPoaMode { int mode = in.read_long(); this.setPoaMode(mode); out = rh.createReply(); break; } /** * Get the mode of POA being controlled. */ case 2 : // gnu/classpath/examples/CORBA/SimpleCommunication/communication/remotePoaControl/getPoaMode { int result = getPoaMode(); out = rh.createReply(); out.write_long(result); break; } default : throw new BAD_OPERATION(0, CompletionStatus.COMPLETED_MAYBE); } return out; } // _invoke private static String[] ids = { remotePoaControlHelper.id() }; public String[] _all_interfaces(org.omg.PortableServer.POA poa, byte[] objectId ) { return ids; } public remotePoaControl _this() { return remotePoaControlHelper.narrow(super._this_object()); } public remotePoaControl _this(ORB orb) { return remotePoaControlHelper.narrow(super._this_object(orb)); } } // class remotePoaControlPOA ././@LongLink0000644000000000000000000000015400000000000011603 Lustar rootrootmauve-20140821/gnu/testlet/org/omg/PortableServer/POAOperations/communication/poa_remotePoaControlStub.javamauve-20140821/gnu/testlet/org/omg/PortableServer/POAOperations/communication/poa_remotePoaControlSt0000644000175000001440000000627610270226346032464 0ustar dokousers// Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.org.omg.PortableServer.POAOperations.communication; import org.omg.CORBA.MARSHAL; import org.omg.CORBA.portable.ApplicationException; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.ObjectImpl; import org.omg.CORBA.portable.OutputStream; import org.omg.CORBA.portable.RemarshalException; /** * The remote POA control interface. */ public class poa_remotePoaControlStub extends org.omg.CORBA.portable.ObjectImpl implements remotePoaControl { /** * Set the name of POA to that subsequent operations * will apply. This POA must be the child of the POA * to that this remotePoaControl servant is connected. */ public void setControlTarget(String child_poa_name) { InputStream in = null; try { OutputStream out = _request("setControlTarget", true); out.write_string(child_poa_name); in = _invoke(out); return; } catch (ApplicationException ex) { in = ex.getInputStream(); throw new MARSHAL(ex.getId()); } catch (RemarshalException remarsh) { setControlTarget(child_poa_name); } finally { _releaseReply(in); } } // setControlTarget /** * Set the mode of the POA being controlled (active, * holding, discarding, deactivated). */ public void setPoaMode(int mode) { InputStream in = null; try { OutputStream out = _request("setPoaMode", true); out.write_long(mode); in = _invoke(out); return; } catch (ApplicationException ex) { in = ex.getInputStream(); throw new MARSHAL(ex.getId()); } catch (RemarshalException remarsh) { setPoaMode(mode); } finally { _releaseReply(in); } } // setPoaMode /** * Get the mode of POA being controlled. */ public int getPoaMode() { InputStream in = null; try { OutputStream out = _request("getPoaMode", true); in = _invoke(out); return in.read_long(); } catch (ApplicationException ex) { in = ex.getInputStream(); throw new MARSHAL(ex.getId()); } catch (RemarshalException remarsh) { return getPoaMode(); } finally { _releaseReply(in); } } // getPoaMode private static String[] ids = { remotePoaControlHelper.id() }; public String[] _ids() { return ids; } }mauve-20140821/gnu/testlet/org/omg/PortableServer/POAOperations/communication/poa_comTester.java0000644000175000001440000000201110447766314031537 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.org.omg.PortableServer.POAOperations.communication; /** * The tester interface. */ public interface poa_comTester extends poa_comTesterOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity { } mauve-20140821/gnu/testlet/org/omg/PortableServer/POAOperations/communication/poa_Servant.java0000644000175000001440000000561211030375476031220 0ustar dokousers// Tags: not-a-test // Uses: poa_comTesterPOA // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.org.omg.PortableServer.POAOperations.communication; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.CompletionStatus; /** * This class handles the actual server functionality in this test * application. When the client calls the remote method, this * finally results calling the method of this class. * * The parameters, passed to the server only, are just parameters of the * java methods. The parameters that shuld be returned to client * are wrapped into holder classes. * * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) */ public class poa_Servant extends poa_comTesterPOA { /** * The field, that can be set and checked by remote client. */ private int m_theField = 17; /** * Passes wide (UTF-16) string and narrow (ISO8859_1) string. * @see gnu.CORBA.GIOP.CharSets_OSF for supported and default * encodings. Returs they generalization as a wide string. */ public String passCharacters(String wide, String narrow) { return "return '" + narrow + "' and '" + wide + "'"; } /** * Just prints the hello message. */ public String sayHello() { byte[] id = _get_delegate().object_id(this); StringBuffer b = new StringBuffer(); for (int i = 0; i < id.length; i++) { b.append(Integer.toHexString(id [ i ])); b.append(' '); } return b + ":" + hashCode(); } /** * Get the value of our field. */ public int theField() { return m_theField; } /** * Set the value of our field. */ public void theField(int a_field) { m_theField = a_field; } /** * Throw an exception. * * @param parameter specifies which exception will be thrown. * * @throws ourUserException for the non negative parameter. * @throws BAD_OPERATION for the negative parameter. */ public void throwException(int parameter) throws ourUserException { if (parameter > 0) { throw new ourUserException(parameter); } else { throw new BAD_OPERATION(456, CompletionStatus.COMPLETED_YES); } } }././@LongLink0000644000000000000000000000015600000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/org/omg/PortableServer/POAOperations/communication/remotePoaControlOperations.javamauve-20140821/gnu/testlet/org/omg/PortableServer/POAOperations/communication/remotePoaControlOperat0000644000175000001440000000256610447766314032501 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.org.omg.PortableServer.POAOperations.communication; /** * The remote POA control interface. */ public interface remotePoaControlOperations { /** * Set the name of POA to that subsequent operations * will apply. This POA must be the child of the POA * to that this remotePoaControl servant is connected. */ void setControlTarget(String child_poa_name); /** * Set the mode of the POA being controlled (active, * holding, discarding, deactivated). */ void setPoaMode(int mode); /** * Get the mode of POA being controlled. */ int getPoaMode(); } ././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/org/omg/PortableServer/POAOperations/communication/gnuAdapterActivator.javamauve-20140821/gnu/testlet/org/omg/PortableServer/POAOperations/communication/gnuAdapterActivator.ja0000644000175000001440000000367610270226346032363 0ustar dokousers// Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.org.omg.PortableServer.POAOperations.communication; import org.omg.CORBA.LocalObject; import org.omg.CORBA.Policy; import org.omg.PortableServer.AdapterActivator; import org.omg.PortableServer.POA; /** * Defines a simple adapter activator. * * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) */ public class gnuAdapterActivator extends LocalObject implements AdapterActivator { /** * Create a new POA on the parent, using the parent policy set * from the suitable parent of grandparend and with independent * POA manager (passing null to the createPOA). * * @param parent a parent. Either this parent or one of its * grandparents must be gnuAbstractPOA, able to provide a * policy set. * * @param child_name the name of the child being created. * * @return true on success or false if no gnuAbstractPOA * found till the root poa. */ public boolean unknown_adapter(POA parent, String child_name) { try { POA n = parent.create_POA(child_name, null, new Policy[ 0 ]); n.the_POAManager().activate(); } catch (Exception ex) { return false; } return true; } }././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootmauve-20140821/gnu/testlet/org/omg/PortableServer/POAOperations/communication/poa_comTesterHelper.javamauve-20140821/gnu/testlet/org/omg/PortableServer/POAOperations/communication/poa_comTesterHelper.ja0000644000175000001440000000366211030375476032357 0ustar dokousers// Tags: not-a-test // Uses: poa_comTesterStub // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.org.omg.PortableServer.POAOperations.communication; import org.omg.CORBA.portable.Delegate; import org.omg.CORBA.portable.ObjectImpl; /** * The tester interface. */ public abstract class poa_comTesterHelper { private static String _id = "IDL:gnu/testlet/org/omg/PortableServer/POAOperations/communication/comTester:1.0"; public static synchronized org.omg.CORBA.TypeCode type() { return org.omg.CORBA.ORB.init().create_interface_tc(poa_comTesterHelper.id(), "comTester" ); } public static String id() { return _id; } public static poa_comTester narrow(org.omg.CORBA.Object obj) { if (obj == null) return null; else if (obj instanceof poa_comTester) return (poa_comTester) obj; else if (!obj._is_a(id())) throw new org.omg.CORBA.BAD_PARAM(); else { Delegate delegate = ((ObjectImpl) obj)._get_delegate(); poa_comTesterStub stub = new poa_comTesterStub(); stub._set_delegate(delegate); return stub; } } } mauve-20140821/gnu/testlet/org/omg/PortableServer/POAOperations/communication/remotePoaControl.java0000644000175000001440000000203510447766314032235 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.org.omg.PortableServer.POAOperations.communication; /** * The remote POA control interface. */ public interface remotePoaControl extends remotePoaControlOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity { } ././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/org/omg/PortableServer/POAOperations/communication/poa_comTesterOperations.javamauve-20140821/gnu/testlet/org/omg/PortableServer/POAOperations/communication/poa_comTesterOperation0000644000175000001440000000307110447766314032507 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.org.omg.PortableServer.POAOperations.communication; /** * The tester interface. */ public interface poa_comTesterOperations { /** * The field that can be either set of checked. */ int theField(); /** * The field that can be either set of checked. */ void theField(int newTheField); /** * Handles a simple message, returns string info about calling * circumstances. */ String sayHello(); /** * Passes wide string. */ String passCharacters(String wide, String narrow); /** * Throws either 'ourUserException' with the 'ourField' field * initialised to the passed positive value * or system exception (if the parameter is zero or negative). */ void throwException(int parameter) throws ourUserException; } mauve-20140821/gnu/testlet/org/omg/PortableServer/POAOperations/communication/poa_comTesterStub.java0000644000175000001440000001175510270226346032402 0ustar dokousers// Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.org.omg.PortableServer.POAOperations.communication; import org.omg.CORBA.TRANSIENT; import org.omg.CORBA.portable.ObjectImpl; /** * The tester interface. */ public class poa_comTesterStub extends org.omg.CORBA.portable.ObjectImpl implements poa_comTester { /** * The field that can be either set of checked. */ public int theField() { org.omg.CORBA.portable.InputStream in = null; try { org.omg.CORBA.portable.OutputStream out = _request("_get_theField", true); in = _invoke(out); int result = in.read_long(); return result; } catch (org.omg.CORBA.portable.ApplicationException ex) { in = ex.getInputStream(); String _id = ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException remarsh) { return theField(); } finally { _releaseReply(in); } } /** * The field that can be either set of checked. */ public void theField(int newTheField) { org.omg.CORBA.portable.InputStream in = null; try { org.omg.CORBA.portable.OutputStream out = _request("_set_theField", true); out.write_long(newTheField); in = _invoke(out); return; } catch (org.omg.CORBA.portable.ApplicationException ex) { in = ex.getInputStream(); String _id = ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException remarsh) { theField(newTheField); } finally { _releaseReply(in); } } /** * Handles a simple message. */ public String sayHello() { org.omg.CORBA.portable.InputStream in = null; try { org.omg.CORBA.portable.OutputStream out = _request("sayHello", true); in = _invoke(out); return in.read_string(); } catch (org.omg.CORBA.portable.ApplicationException ex) { in = ex.getInputStream(); String _id = ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException remarsh) { return sayHello(); } catch (TRANSIENT ex) { throw ex; } finally { _releaseReply(in); } } /** * Passes wide string. */ public String passCharacters(String wide, String narrow) { org.omg.CORBA.portable.InputStream in = null; try { org.omg.CORBA.portable.OutputStream out = _request("passCharacters", true); out.write_wstring(wide); out.write_string(narrow); in = _invoke(out); String result = in.read_wstring(); return result; } catch (org.omg.CORBA.portable.ApplicationException ex) { in = ex.getInputStream(); String _id = ex.getId(); throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException remarsh) { return passCharacters(wide, narrow); } finally { _releaseReply(in); } } // passCharacters /** * Throws either 'ourUserException' with the 'ourField' field * initialised to the passed positive value * or system exception (if the parameter is zero or negative). */ public void throwException(int parameter) throws ourUserException { org.omg.CORBA.portable.InputStream in = null; try { org.omg.CORBA.portable.OutputStream out = _request("throwException", true); out.write_long(parameter); in = _invoke(out); return; } catch (org.omg.CORBA.portable.ApplicationException ex) { in = ex.getInputStream(); String _id = ex.getId(); if (_id.equals(ourUserExceptionHelper.id())) throw ourUserExceptionHelper.read(in); else throw new org.omg.CORBA.MARSHAL(_id); } catch (org.omg.CORBA.portable.RemarshalException remarsh) { throwException(parameter); } finally { _releaseReply(in); } } private static String[] ids = { poa_comTesterHelper.id() }; public String[] _ids() { return ids; } }mauve-20140821/gnu/testlet/org/omg/PortableServer/POAOperations/communication/ourUserException.java0000644000175000001440000000241610270226346032255 0ustar dokousers// Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.org.omg.PortableServer.POAOperations.communication; public final class ourUserException extends org.omg.CORBA.UserException { public int ourField = (int) 0; public ourUserException() { super(ourUserExceptionHelper.id()); } public ourUserException(int _ourField) { super(ourUserExceptionHelper.id()); ourField = _ourField; } public ourUserException(String reason, int _ourField) { super(ourUserExceptionHelper.id() + " " + reason); ourField = _ourField; } }././@LongLink0000644000000000000000000000015300000000000011602 Lustar rootrootmauve-20140821/gnu/testlet/org/omg/PortableServer/POAOperations/communication/remotePoaControlServant.javamauve-20140821/gnu/testlet/org/omg/PortableServer/POAOperations/communication/remotePoaControlServan0000644000175000001440000000721210270226346032464 0ustar dokousers// Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.org.omg.PortableServer.POAOperations.communication; import org.omg.CORBA.BAD_INV_ORDER; import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.CompletionStatus; import org.omg.CORBA.OBJ_ADAPTER; import org.omg.PortableServer.POA; import org.omg.PortableServer.POAManager; import org.omg.PortableServer.POAManagerPackage.AdapterInactive; import org.omg.PortableServer.POAManagerPackage.State; import org.omg.PortableServer.POAPackage.AdapterNonExistent; /** * Implements the remote POA control servant. * * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) */ public class remotePoaControlServant extends remotePoaControlPOA { POA target; public byte[] target_object_id; /** * Finds the child target POA to control, by name. */ public void setControlTarget(String child_poa_name) { try { target = _poa().find_POA(child_poa_name, false); } catch (AdapterNonExistent ex) { ex.printStackTrace(); throw new BAD_PARAM(); } } /** * Get the state of the target POA that must be previously set. */ public int getPoaMode() { if (target == null) throw new BAD_INV_ORDER(); return target.the_POAManager().get_state().value(); } /** * Set the state of the target POA that must be previously set. * * @param mode the required POA mode plus: * 100 = deactivate default associated object. * 200 = activate default associated object. */ public void setPoaMode(int mode) { if (target == null) throw new BAD_INV_ORDER(); POAManager manager = target.the_POAManager(); try { switch (mode) { case State._ACTIVE : manager.activate(); break; case State._HOLDING : manager.hold_requests(false); break; case State._DISCARDING : manager.discard_requests(false); break; case State._INACTIVE : manager.deactivate(false, false); break; case 100 : try { target.deactivate_object(target_object_id); } catch (Exception ex) { System.err.println("Unable to deactivate"); ex.printStackTrace(); } break; case 200 : try { target.activate_object_with_id(target_object_id, null); } catch (Exception ex) { throw new RuntimeException("Unable to activate", ex); } break; default : throw new BAD_PARAM(); } } catch (AdapterInactive ex) { throw new OBJ_ADAPTER("Inactive", 0x5001, CompletionStatus.COMPLETED_YES); } } }mauve-20140821/gnu/testlet/org/omg/PortableServer/POAOperations/communication/poa_Server.java0000644000175000001440000003444311030375476031050 0ustar dokousers// Tags: not-a-test // Uses: ../poa_POA_test // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.org.omg.PortableServer.POAOperations.communication; import java.io.FileNotFoundException; import java.util.ArrayList; import java.util.TreeMap; import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.LocalObject; import org.omg.CORBA.ORB; import org.omg.CORBA.Policy; import org.omg.CORBA.Request; import org.omg.CORBA.TCKind; import org.omg.PortableServer.ForwardRequest; import org.omg.PortableServer.IdUniquenessPolicyValue; import org.omg.PortableServer.POA; import org.omg.PortableServer.POAHelper; import org.omg.PortableServer.RequestProcessingPolicyValue; import org.omg.PortableServer.Servant; import org.omg.PortableServer.ServantActivator; import org.omg.PortableServer.ServantLocator; import org.omg.PortableServer.ServantRetentionPolicyValue; import org.omg.PortableServer.ServantLocatorPackage.CookieHolder; import gnu.testlet.TestHarness; import gnu.testlet.org.omg.PortableServer.POAOperations.*; public class poa_Server extends LocalObject implements ServantActivator, ServantLocator { TestHarness t; public poa_Servant s2a; public poa_Server m575; public poa_Server once_activated; public ArrayList incarnations = new ArrayList(); public ArrayList etherializations = new ArrayList(); public ArrayList preinvokes = new ArrayList(); public ArrayList postinvokes = new ArrayList(); String poaName; public boolean started; public static TreeMap references = new TreeMap(); public poa_Server() { poaName = "???"; } public poa_Server(String n) { poaName = n; } public ORB start_server(TestHarness a_t) { poaName = "main"; t = a_t; try { // Create and initialize the ORB. final ORB orb = org.omg.CORBA.ORB.init(new String[ 0 ], null); // Create the servant and register it with the ORBs root POA. POA root_poa = POAHelper.narrow(orb.resolve_initial_references("RootPOA")); POA poa = root_poa.create_POA("1", null, policies_1(root_poa)); poa.the_activator(new gnuAdapterActivator()); POA npoa = poa.find_POA("xactivated", true); npoa.activate_object_with_id(new byte[] { 7, 5 }, new poa_Servant()); write_reference(orb, npoa.id_to_reference(new byte[] { 7, 5 }), "xactivated" ); root_poa.the_POAManager().activate(); poa.the_POAManager().activate(); poa_Servant once_activated_servant = new poa_Servant(); org.omg.CORBA.Object servantObject = poa.create_reference_with_id(new byte[] { 4, 5, 2, 5, 7, 2 }, poa_comTesterHelper.id() ); org.omg.CORBA.Object localTestServant = poa.create_reference_with_id(new byte[] { 1, 2, 3, 4 }, poa_comTesterHelper.id() ); once_activated = new poa_Server(poa.the_name()); poa.set_servant_manager(once_activated); write_reference(orb, servantObject, "IOR.txt"); // Add a single servant POA. POA sspoa = root_poa.create_POA("2", null, policies_2(root_poa)); poa_Servant always_same_servant = new poa_Servant(); sspoa.set_servant(always_same_servant); org.omg.CORBA.Object sservantObject1 = sspoa.create_reference_with_id(new byte[] { 5, 4, 3, 2, 1 }, poa_comTesterHelper.id() ); write_reference(orb, sservantObject1, "ssIOR1.txt"); org.omg.CORBA.Object sservantObject2 = sspoa.create_reference_with_id(new byte[] { 1, 2, 3, 4, 5 }, poa_comTesterHelper.id() ); write_reference(orb, sservantObject2, "ssIOR2.txt"); sspoa.the_POAManager().activate(); // Add a single servant POA that also allows to introduce the // explicitly activated alternative servant. POA sspoa_a = root_poa.create_POA("2a", null, policies_2a(root_poa)); s2a = new poa_Servant(); sspoa_a.set_servant(s2a); org.omg.CORBA.Object sservantObject1adefault1 = sspoa_a.create_reference_with_id(new byte[] { 4, 4, 4, 1 }, poa_comTesterHelper.id() ); org.omg.CORBA.Object sservantObject1adefault2 = sspoa_a.create_reference_with_id(new byte[] { 4, 4, 4, 2 }, poa_comTesterHelper.id() ); sspoa_a.activate_object_with_id(new byte[] { 4, 4, 4, 5, 5, 5, 5 }, new poa_Servant() ); org.omg.CORBA.Object sservantObject1aother = sspoa_a.id_to_reference(new byte[] { 4, 4, 4, 5, 5, 5, 5 }); sspoa_a.the_POAManager().activate(); // Activate the servant that would handle the redirections. poa_Servant redirection_handler = new poa_Servant() { /** * Just prints the hello message. */ public String sayHello() { return "{redirection handler} " + array(super._object_id()); } }; poa.activate_object_with_id(new byte[] { 7, 7, 7 }, redirection_handler); write_reference(orb, poa.servant_to_reference(redirection_handler), "redirector" ); org.omg.CORBA.Object o1; org.omg.CORBA.Object o2; org.omg.CORBA.Object o3; poa_comTester t1 = poa_comTesterHelper.narrow(o1 = sservantObject1adefault1); poa_comTester t2 = poa_comTesterHelper.narrow(o2 = sservantObject1adefault2); poa_comTester tx = poa_comTesterHelper.narrow(o3 = sservantObject1aother); String s1 = t1.sayHello(); String s2 = t2.sayHello(); String sx = tx.sayHello(); String h1 = s1.substring(s1.lastIndexOf(":")); String h2 = s2.substring(s2.lastIndexOf(":")); String hx = sx.substring(sx.lastIndexOf(":")); t.check(h1, h2, "Must be same default servant"); t.check(!h1.equals(hx), "Must be different servant"); t.check(!h2.equals(hx), "Must be different servant"); // Save them. write_reference(orb, t1, "T1"); write_reference(orb, t2, "T2"); write_reference(orb, tx, "TX"); remotePoaControlServant control = new remotePoaControlServant(); control.target_object_id = poa.reference_to_id(servantObject); org.omg.CORBA.Object controlObject = root_poa.servant_to_reference(control); write_reference(orb, controlObject, "Control.txt"); POA subpoa = sspoa.create_POA("sub", null, policies_3(sspoa)); m575 = new poa_Server(subpoa.the_name()); subpoa.set_servant_manager(m575); org.omg.CORBA.Object sub = subpoa.create_reference_with_id(new byte[] { 5, 7, 5 }, poa_comTesterHelper.id() ); subpoa.the_POAManager().activate(); write_reference(orb, sub, "ssIOR3.txt"); poa_comTester s = poa_comTesterHelper.narrow(localTestServant); try { s.throwException(64); t.fail("LOCAL:User exception is not thrown"); } catch (ourUserException ex) { t.check(64, ex.ourField, "LOCAL: user exception field value"); } Request rq = s._create_request(null, "passCharacters", orb.create_list(2), null); rq.add_in_arg().insert_wstring("wide string"); rq.add_in_arg().insert_string("narrow string"); rq.set_return_type(orb.get_primitive_tc(TCKind.tk_wstring)); rq.invoke(); String rt = rq.result().value().extract_wstring(); t.check("return 'narrow string' and 'wide string'", rt, "LOCAL:DII:"); poa_comTesterHelper.narrow(sub).sayHello(); s.theField(55); t.check(55, s.theField(), "LOCAL: field accessing"); s.theField(17); String r = s.passCharacters("abba", "baba"); t.check("return 'baba' and 'abba'", r); // The objects with such key will receive redirection exceptions. // We force the redirection exception the be throw by activator... org.omg.CORBA.Object willBeRedirected = poa.create_reference_with_id(new byte[] { 0x7F, 0, 0, 0, 8 }, poa_comTesterHelper.id() ); write_reference(orb, willBeRedirected, "willRedirActivator.txt"); // ..and by locator. willBeRedirected = subpoa.create_reference_with_id(new byte[] { 0x7F, 0, 0, 0, 9 }, poa_comTesterHelper.id() ); write_reference(orb, willBeRedirected, "willRedirLocator.txt"); new Thread() { public void run() { // Start the thread, serving the invocations from clients. orb.run(); } }.start(); started = true; return orb; } catch (Exception e) { throw new RuntimeException(e); } } /** * Pass the IOR reference. As all test run on the same jre, we can * just use the map, stored in the static field. */ private static void write_reference(ORB orb, org.omg.CORBA.Object object, String file ) throws FileNotFoundException, BAD_PARAM { references.put(file, orb.object_to_string(object)); } /** * The "standard" policy set, identical to the policies of the root * poa apart that the servant manager is used to locate the servant * and activate an object. */ static Policy[] policies_1(POA poa) { return new Policy[] { poa.create_request_processing_policy(RequestProcessingPolicyValue.USE_SERVANT_MANAGER) }; } /** * The policy set, defining that it will be a single servant per all * objects in this POA. */ static Policy[] policies_2(POA poa) { return new Policy[] { poa.create_id_uniqueness_policy(IdUniquenessPolicyValue.MULTIPLE_ID), poa.create_servant_retention_policy(ServantRetentionPolicyValue.NON_RETAIN), poa.create_request_processing_policy(RequestProcessingPolicyValue.USE_DEFAULT_SERVANT), }; } /** * The policy set, defining that it will be a single servant per all * objects in this POA, but due RETAIN it is also possible to activate * an object, explicitly indicating the alternative servant. */ static Policy[] policies_2a(POA poa) { return new Policy[] { poa.create_id_uniqueness_policy(IdUniquenessPolicyValue.MULTIPLE_ID), poa.create_servant_retention_policy(ServantRetentionPolicyValue.RETAIN), poa.create_request_processing_policy(RequestProcessingPolicyValue.USE_DEFAULT_SERVANT), }; } /** * The policy set, defining that the servant must each time incarnated * by the servant manager. */ static Policy[] policies_3(POA poa) { return new Policy[] { poa.create_servant_retention_policy(ServantRetentionPolicyValue.NON_RETAIN), poa.create_request_processing_policy(RequestProcessingPolicyValue.USE_SERVANT_MANAGER), }; } public Servant incarnate(byte[] key, POA poa) throws org.omg.PortableServer.ForwardRequest { // Handle "hello" on redirector for all objects with key starting 0xFF. if (key [ 0 ] == 0x7F) { ORB orb = ORB.init(new String[ 0 ], null); org.omg.CORBA.Object redir = poa_POA_test.readIOR("redirector", orb); throw new ForwardRequest("redirecting", redir); } String s = array(key) + "/" + poa.the_name(); incarnations.add(s); return new poa_Servant(); } public void etherealize(byte[] key, POA poa, Servant servant, boolean b1, boolean b2 ) { String s = array(key) + "/" + poa.the_name(); etherializations.add(s); } public static String array(byte[] a) { StringBuffer b = new StringBuffer(); for (int i = 0; i < a.length; i++) { b.append(Integer.toHexString(a [ i ] & 0xFF)); b.append(' '); } return b.toString(); } public void postinvoke(byte[] key, POA poa, String method, java.lang.Object cookie, Servant servant ) { String s = array(key) + method + "/" + poa.the_name() + "/" + cookie + ":" + (servant == null ? 0 : servant.hashCode()); postinvokes.add(s); } public Servant preinvoke(byte[] key, POA poa, String method, CookieHolder cholder ) throws org.omg.PortableServer.ForwardRequest { // Handle "hello" on redirector for all objects with key starting 0xFF. if (key [ 0 ] == 0x7F) { ORB orb = ORB.init(new String[ 0 ], null); org.omg.CORBA.Object redir = poa_POA_test.readIOR("redirector", orb); throw new ForwardRequest("redirecting", redir); } String s = array(key) + method + "/" + poa.the_name(); cholder.value = "cook"; preinvokes.add(s); return new poa_Servant(); } }././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/org/omg/PortableServer/POAOperations/communication/remotePoaControlHelper.javamauve-20140821/gnu/testlet/org/omg/PortableServer/POAOperations/communication/remotePoaControlHelper0000644000175000001440000000374010451015575032450 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.org.omg.PortableServer.POAOperations.communication; import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.ORB; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.Delegate; import org.omg.CORBA.portable.ObjectImpl; /** * The remote POA control interface. */ public abstract class remotePoaControlHelper { private static String _id = "IDL:gnu/testlet/org/omg/PortableServer/POAOperations/communication/remotePoaControl:1.0"; public static synchronized TypeCode type() { return ORB.init().create_interface_tc(remotePoaControlHelper.id(), "remotePoaControl" ); } public static String id() { return _id; } public static remotePoaControl narrow(org.omg.CORBA.Object obj) { if (obj == null) return null; else if (obj instanceof remotePoaControl) return (remotePoaControl) obj; else if (!obj._is_a(id())) throw new BAD_PARAM(); else { Delegate delegate = ((ObjectImpl) obj)._get_delegate(); poa_remotePoaControlStub stub = new poa_remotePoaControlStub(); stub._set_delegate(delegate); return stub; } } } mauve-20140821/gnu/testlet/org/omg/PortableServer/POAOperations/communication/poa_comTesterPOA.java0000644000175000001440000001073411030375476032104 0ustar dokousers// Tags: not-a-test // Uses: poa_comTesterOperations ourUserExceptionHelper // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.org.omg.PortableServer.POAOperations.communication; /** * The tester interface. */ public abstract class poa_comTesterPOA extends org.omg.PortableServer.Servant implements poa_comTesterOperations, org.omg.CORBA.portable.InvokeHandler { // Constructors private static java.util.Hashtable methods = new java.util.Hashtable(); static { methods.put("_get_theField", new Integer(0)); methods.put("_set_theField", new Integer(1)); methods.put("sayHello", new Integer(2)); methods.put("throwException", new Integer(5)); methods.put("passCharacters", new Integer(4)); } public org.omg.CORBA.portable.OutputStream _invoke(String a_method, org.omg.CORBA.portable.InputStream in, org.omg.CORBA.portable.ResponseHandler handler ) { org.omg.CORBA.portable.OutputStream out = null; Integer method = (Integer) methods.get(a_method); if (method == null) throw new org.omg.CORBA.BAD_OPERATION(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE ); switch (method.intValue()) { /** * The field that can be either set of checked. */ case 0 : { int result = this.theField(); out = handler.createReply(); out.write_long(result); break; } /** * The field that can be either set of checked. */ case 1 : { int newTheField = in.read_long(); this.theField(newTheField); out = handler.createReply(); break; } /** * Handles a simple message. */ case 2 : { String r = sayHello(); out = handler.createReply(); out.write_string(r); break; } /** * Passes wide string. */ case 4 : { String wide = in.read_wstring(); String narrow = in.read_string(); String result = null; result = this.passCharacters(wide, narrow); out = handler.createReply(); out.write_wstring(result); break; } /** * Throws either 'ourUserException' with the 'ourField' field * initialised to the passed positive value * or system exception (if the parameter is zero or negative). */ case 5 : { try { int parameter = in.read_long(); this.throwException(parameter); out = handler.createReply(); } catch (ourUserException ex) { out = handler.createExceptionReply(); ourUserExceptionHelper.write(out, ex); } break; } default : throw new org.omg.CORBA.BAD_OPERATION(10000 + method.intValue(), org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE ); } return out; } private static String[] ids = { poa_comTesterHelper.id() }; public String[] _all_interfaces(org.omg.PortableServer.POA poa, byte[] objectId ) { return ids; } public poa_comTester _this() { return poa_comTesterHelper.narrow(super._this_object()); } public poa_comTester _this(org.omg.CORBA.ORB orb) { return poa_comTesterHelper.narrow(super._this_object(orb)); } } ././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootmauve-20140821/gnu/testlet/org/omg/PortableServer/POAOperations/communication/ourUserExceptionHelper.javamauve-20140821/gnu/testlet/org/omg/PortableServer/POAOperations/communication/ourUserExceptionHelper0000644000175000001440000000470510451015575032501 0ustar dokousers// Tags: not-a-test // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.org.omg.PortableServer.POAOperations.communication; import org.omg.CORBA.Any; import org.omg.CORBA.ORB; import org.omg.CORBA.StructMember; import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; public abstract class ourUserExceptionHelper { private static String the_id = "IDL:gnu/testlet/org/omg/PortableServer/POAOperations/communication/ourUserException:1.0"; public static void insert(Any a, ourUserException that) { OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static ourUserException extract(Any a) { return read(a.create_input_stream()); } public static synchronized TypeCode type() { StructMember[] members = new StructMember[ 1 ]; TypeCode member = ORB.init().get_primitive_tc(TCKind.tk_long); members [ 0 ] = new StructMember("ourField", member, null); return ORB.init().create_exception_tc(ourUserExceptionHelper.id(), "ourUserException", members ); } public static String id() { return the_id; } public static ourUserException read(InputStream istream) { ourUserException value = new ourUserException(); // read and discard the repository ID istream.read_string(); value.ourField = istream.read_long(); return value; } public static void write(OutputStream ostream, ourUserException value) { // write the repository ID ostream.write_string(id()); ostream.write_long(value.ourField); } } mauve-20140821/gnu/testlet/org/omg/PortableServer/POAOperations/poa_POA_test.java0000644000175000001440000003401611030375476026407 0ustar dokousers// Tags: JDK1.4 // Uses: ../../CORBA/Asserter // Copyright (C) 2005 Audrius Meskauskas (AudriusA@Bioinformatics.org) // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.org.omg.PortableServer.POAOperations; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.org.omg.CORBA.Asserter; import gnu.testlet.org.omg.PortableServer.POAOperations.communication.ourUserException; import gnu.testlet.org.omg.PortableServer.POAOperations.communication.poa_Server; import gnu.testlet.org.omg.PortableServer.POAOperations.communication.poa_comTester; import gnu.testlet.org.omg.PortableServer.POAOperations.communication.poa_comTesterHelper; import gnu.testlet.org.omg.PortableServer.POAOperations.communication.remotePoaControl; import gnu.testlet.org.omg.PortableServer.POAOperations.communication.remotePoaControlHelper; import org.omg.CORBA.BAD_OPERATION; import org.omg.CORBA.OBJECT_NOT_EXIST; import org.omg.CORBA.ORB; import org.omg.CORBA.TRANSIENT; import org.omg.PortableServer.POAManagerPackage.State; import java.util.HashSet; import java.util.Iterator; /** * This code controls the remote poa by turining it into various modes. * It operates two objects, one being the remote POA control servant * (connected to the root poa on a server side) and another the * test servant, connected to the poa being controlled. The poa being * controlled is a child for the root poa. * * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) */ public class poa_POA_test extends Asserter implements Testlet { /* * The IOR.txt file, used to find the server and the object on the server. is written when starting the accompanying */ public static final String ssTARGET_IOR_FILE0 = "IOR.txt"; /** * The IOR for the object, connected to POA with the single servant policy. */ public static final String ssTARGET_IOR_FILE1 = "ssIOR1.txt"; public static final String ssTARGET_IOR_FILE2 = "ssIOR2.txt"; public static final String ssTARGET_IOR_FILE3 = "ssIOR3.txt"; public static final String[] allServants = new String[] { ssTARGET_IOR_FILE0, ssTARGET_IOR_FILE1, ssTARGET_IOR_FILE2, ssTARGET_IOR_FILE3 }; /* * The Control.txt file, used to find the server and the object on the server. is written when starting the accompanying */ public static final String CONTROL_IOR_FILE = "Control.txt"; ORB orb; /** * The control panel, managing the poa where * the main invocation target is connected. * The panel itself is connected to the target * parent POA. */ remotePoaControl control; int holdPassed; int discarded; poa_Server server; poa_POA_test THIS = this; /** * THIS MUST BE THE FIRST TEST TO RUN after setUp!!!" * Test how many times various servants were activated when handling * a simple task 3 times. */ public void test_RETAIN_Activation() { server.once_activated.incarnations.clear(); server.once_activated.etherializations.clear(); poa_comTester uobject = poa_comTesterHelper.narrow(readIOR(ssTARGET_IOR_FILE0, orb)); uobject.sayHello(); for (int j = 0; j < 3; j++) for (int i = 0; i < allServants.length; i++) { poa_comTester object = poa_comTesterHelper.narrow(readIOR(allServants [ i ], orb)); String r = object.passCharacters("abba", "baba"); assertEquals("wide/narrow strings", "return 'baba' and 'abba'", r); } Iterator iter = server.once_activated.incarnations.iterator(); assertEquals("Must be activated once", 1, server.once_activated.incarnations.size() ); assertEquals("Must not be deactivated", 0, server.once_activated.etherializations.size() ); assertEquals("Activated object", "4 5 2 5 7 2 /1", server.once_activated.incarnations.get(0) ); // Ensure that all requests are served by the same servant. poa_comTester object = poa_comTesterHelper.narrow(readIOR(ssTARGET_IOR_FILE0, orb)); String s = object.sayHello(); assertTrue("Object key", s.startsWith("4 5 2 5 7 2 :")); String n; for (int i = 0; i < 10; i++) { n = object.sayHello(); assertEquals("Must be same servant", s, n); } } public void testActivatedPoaAccess() { poa_comTester object = poa_comTesterHelper.narrow(readIOR("xactivated", orb)); } /** * Get the object reference. */ public void testPOA() { poa_comTester object; try { ORB orb = org.omg.CORBA.ORB.init(new String[ 0 ], null); object = poa_comTesterHelper.narrow(readIOR(ssTARGET_IOR_FILE0, orb)); control = remotePoaControlHelper.narrow(readIOR(CONTROL_IOR_FILE, orb)); object = poa_comTesterHelper.narrow(readIOR(ssTARGET_IOR_FILE1, orb)); assertEquals("testPOA", 17, object.theField()); object.sayHello(); object = poa_comTesterHelper.narrow(readIOR(ssTARGET_IOR_FILE2, orb)); object.sayHello(); } catch (Throwable t) { t.printStackTrace(); fail("" + t); } } public void test_NO_RETAIN() { // The POA of this object uses NO_RETAIN with servant locator. // That locator must be requested to find each time a new servant. poa_comTester object = poa_comTesterHelper.narrow(readIOR(ssTARGET_IOR_FILE3, orb)); server.m575.preinvokes.clear(); server.m575.postinvokes.clear(); String s1 = object.sayHello(); String s2 = object.sayHello(); String s3 = object.sayHello(); assertTrue("NO_RETAIN key", s1.startsWith("5 7 5 :")); assertTrue("NO_RETAIN key", s2.startsWith("5 7 5 :")); assertTrue("NO_RETAIN key", s3.startsWith("5 7 5 :")); assertEquals("NO_RETAIN, pre", 3, server.m575.preinvokes.size()); assertEquals("NO_RETAIN, post", 3, server.m575.postinvokes.size()); Iterator iter = server.m575.preinvokes.iterator(); while (iter.hasNext()) { String item = (String) iter.next(); assertTrue("NO_RETAIN pre method/object", item.startsWith("5 7 5 sayHello/sub") ); } iter = server.m575.postinvokes.iterator(); // The sevant hash codes, from the sever side. HashSet servants = new HashSet(); // The servant hash codes, from the client side (must be the same) HashSet servants2 = new HashSet(); String hash; hash = s1.substring(s1.lastIndexOf(":")); servants2.add(hash); hash = s2.substring(s2.lastIndexOf(":")); servants2.add(hash); hash = s3.substring(s1.lastIndexOf(":")); servants2.add(hash); while (iter.hasNext()) { String item = (String) iter.next(); assertTrue("NO_RETAIN post method/object/cookie", item.startsWith("5 7 5 sayHello/sub/cook") ); hash = item.substring(item.lastIndexOf(":")); servants.add(hash); assertTrue("NO_RETAIN servant hash", servants2.contains(hash)); } assertEquals("NO_RETAIN all servants should differ", 3, servants.size()); } /** * As all tests run on the same jre, the IORs are passed via static field. */ public static org.omg.CORBA.Object readIOR(String file, ORB orb) { String ior = (String) poa_Server.references.get(file); return orb.string_to_object(ior); } public void testFieldAccess() { poa_comTester object = poa_comTesterHelper.narrow(readIOR(ssTARGET_IOR_FILE0, orb)); object.theField(222); assertEquals("fieldAccess:1", 222, object.theField()); object.theField(17); assertEquals("fieldAccess:2", 17, object.theField()); } /** * This test works with POA that has both default servant and * retain policy. One object is activated with a separate servant. * The others two use the default servant. */ public void testCombinedActivation() { poa_comTester t1 = poa_comTesterHelper.narrow(readIOR("T1", orb)); poa_comTester t2 = poa_comTesterHelper.narrow(readIOR("T2", orb)); poa_comTester tx = poa_comTesterHelper.narrow(readIOR("TX", orb)); String s1 = t1.sayHello(); String s2 = t2.sayHello(); String sx = tx.sayHello(); String h1 = s1.substring(s1.lastIndexOf(":")); String h2 = s2.substring(s2.lastIndexOf(":")); String hx = sx.substring(sx.lastIndexOf(":")); assertEquals("Must be same default servant", h1, h2); assertFalse("Must be different servant", h1.equals(hx)); assertFalse("Must be different servant", h2.equals(hx)); // Verify keys also. assertTrue("combinedActivation:1", s1.startsWith("4 4 4 1 :")); assertTrue("combinedActivation:2", s2.startsWith("4 4 4 2 :")); assertTrue("combinedActivation:3", sx.startsWith("4 4 4 5 5 5 5 :")); } public void testPOAControl() { poa_comTester object = poa_comTesterHelper.narrow(readIOR(ssTARGET_IOR_FILE0, orb)); poa_comTester other_poa = poa_comTesterHelper.narrow(readIOR(ssTARGET_IOR_FILE1, orb)); control = remotePoaControlHelper.narrow(readIOR(CONTROL_IOR_FILE, orb)); try { object.sayHello(); } catch (Exception ex) { fail("First invocation " + ex); } server.once_activated.incarnations.clear(); server.once_activated.etherializations.clear(); control.setControlTarget("1"); control.setPoaMode(State._DISCARDING); try { object.sayHello(); fail("Expected throwing TRANSIENT, minor 1"); } catch (TRANSIENT ex) { // OK. } catch (Exception other) { fail("Expected TRANSIENT, not " + other); } try { other_poa.sayHello(); try { other_poa.throwException(555); fail("Must throw exception"); } catch (ourUserException ex) { assertEquals("Exception code", 555, ex.ourField); } // This must completely pass. test_NO_RETAIN(); } catch (Exception ex) { fail("Other POA must still work. " + ex); } // Activate it again. control.setPoaMode(State._ACTIVE); try { // Now active again and must work. object.sayHello(); } catch (Exception ex) { fail("Reactivation from Discarding " + ex); } // Activate POA control.setPoaMode(State._ACTIVE); // Deactivate an object. control.setPoaMode(100); try { object.sayHello(); } catch (OBJECT_NOT_EXIST ex) { fail("Must be implicitly activated "); } // Check for etherializations and incarnations. assertEquals("One incarnation", server.once_activated.incarnations.size(), 1); assertEquals("One etherialization", server.once_activated.etherializations.size(), 1 ); assertEquals("Incarnation", "4 5 2 5 7 2 /1", server.once_activated.incarnations.get(0) ); assertEquals("Etherialization", "4 5 2 5 7 2 /1", server.once_activated.etherializations.get(0) ); } public void testExceptions() { for (int i = 0; i < allServants.length; i++) { poa_comTester object = poa_comTesterHelper.narrow(readIOR(allServants [ i ], orb)); try { object.throwException(64); fail("User exception is not thrown"); } catch (ourUserException ex) { assertEquals("Wrong field in user exception.", 64, ex.ourField); } try { object.throwException(-1); fail("System exception is not thrown"); } catch (BAD_OPERATION ex) { assertEquals("SysEx minor code", 456, ex.minor); } catch (Exception ex) { fail("Throwing incorrect exception " + ex); } } } public void testRedirectionWithActivator() { poa_comTester r = poa_comTesterHelper.narrow(readIOR("willRedirActivator.txt", orb)); // Ensure the repetetive calls are also redirected. for (int i = 0; i < 5; i++) { String s = r.sayHello(); assertEquals("Redir with activator", "{redirection handler} 7 7 7 ", s); } } public void testRedirectionWithLocator() { poa_comTester r = poa_comTesterHelper.narrow(readIOR("willRedirLocator.txt", orb)); // Ensure the repetetive calls are also redirected. for (int i = 0; i < 5; i++) { String s = r.sayHello(); assertEquals("Redir with locator", "{redirection handler} 7 7 7 ", s); } } protected void setUp() throws java.lang.Exception { server = new poa_Server(); server.start_server(THIS.h); try { // Give 500 ms for the server thread to start. Thread.sleep(500); } catch (InterruptedException ex) { } orb = org.omg.CORBA.ORB.init(new String[0], null); } public void test(TestHarness a_harness) { h = a_harness; try { setUp(); test_NO_RETAIN(); test_RETAIN_Activation(); testActivatedPoaAccess(); testCombinedActivation(); testExceptions(); testFieldAccess(); testPOA(); testPOAControl(); testRedirectionWithActivator(); testRedirectionWithLocator(); orb.destroy(); } catch (Exception ex) { ex.printStackTrace(); h.fail("Exc:" + ex + ":" + ex.getCause()); } } }mauve-20140821/gnu/testlet/org/omg/DynamicAny/0000755000175000001440000000000012375316426017640 5ustar dokousersmauve-20140821/gnu/testlet/org/omg/DynamicAny/DynAny/0000755000175000001440000000000012375316426021042 5ustar dokousersmauve-20140821/gnu/testlet/org/omg/DynamicAny/DynAny/BasicTest.java0000644000175000001440000010160311030375476023564 0ustar dokousers// Tags: JDK1.4 // Uses: ../../PortableServer/POA/TestBase // Copyright (c) IONA Technologies, 2001. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ // ********************************************************************** // // Copyright (c) 2001 // IONA Technologies, Inc. // Waltham, MA, USA // // All Rights Reserved // // ********************************************************************** package gnu.testlet.org.omg.DynamicAny.DynAny; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; import gnu.testlet.org.omg.DynamicAny.DynAny.Iona.TestEnum; import gnu.testlet.org.omg.DynamicAny.DynAny.Iona.TestEnumHelper; import gnu.testlet.org.omg.DynamicAny.DynAny.Iona.TestStruct; import gnu.testlet.org.omg.DynamicAny.DynAny.Iona.TestStructHelper; import gnu.testlet.org.omg.PortableServer.POA.TestBase; import org.omg.CORBA.Any; import org.omg.CORBA.ORB; import org.omg.CORBA.Object; import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; import org.omg.DynamicAny.DynAny; import org.omg.DynamicAny.DynAnyFactory; import org.omg.DynamicAny.DynAnyFactoryHelper; import org.omg.DynamicAny.DynEnum; import org.omg.DynamicAny.DynEnumHelper; import org.omg.DynamicAny.DynFixed; import org.omg.DynamicAny.DynFixedHelper; import org.omg.DynamicAny.DynStruct; import org.omg.DynamicAny.DynStructHelper; import org.omg.DynamicAny.NameDynAnyPair; import org.omg.DynamicAny.NameValuePair; import java.math.BigDecimal; public class BasicTest extends TestBase implements Testlet { final String ANY_VALUE = "This is a string in an any"; final String STRING_VALUE = "This is a string"; final String WSTRING_VALUE = "This is a wstring"; final boolean BOOLEAN_VALUE = true; final byte OCTET_VALUE = (byte) 155; final char CHAR_VALUE = 'Y'; final double DOUBLE_VALUE = 7.31e29; final float FLOAT_VALUE = (float) 1.9183; final int LONG_VALUE = -300000; final int ULONG_VALUE = 500000; final short SHORT_VALUE = (short) -10000; final short USHORT_VALUE = (short) 40000; // // Can't do this, because it causes a failure under JDK 1.2.2. // The problem is that ORB.init() is called before main() has // a chance to set the ORB properties, so the JDK ORB's // singleton implementation is used instead. This will result // in a NullPointerException due to a bug in that ORB. // // final TypeCode TYPECODE_VALUE = // ORB.init().get_primitive_tc(TCKind.tk_float); TypeCode TYPECODE_VALUE; final char WCHAR_VALUE = 'Z'; final long LONGLONG_VALUE = -1234567890L; final long ULONGLONG_VALUE = 9876543210L; DynAnyFactory factory; ORB orb; public void setUp() { orb = org.omg.CORBA.ORB.init(new String[ 0 ], null); TYPECODE_VALUE = orb.get_primitive_tc(TCKind.tk_float); org.omg.CORBA.Object obj = null; try { obj = orb.resolve_initial_references("DynAnyFactory"); TEST(obj != null); factory = DynAnyFactoryHelper.narrow(obj); } catch (org.omg.CORBA.ORBPackage.InvalidName ex) { TEST(false, ex.getMessage()); } } public void allTests(ORB orb, Object o) { DynAnyFactory factory = DynAnyFactoryHelper.narrow(o); testBasic(); testFixed(); testEnum(); testStruct(); } public void test(TestHarness a_harness) { harness = a_harness; setUp(); allTests(orb, factory); tearDown(); } public void testBasic() { try { org.omg.CORBA.Object obj; Any any = orb.create_any(); Any av; DynAny d1 = null; DynAny d2 = null; DynAny copy = null; TypeCode type; TypeCode tc; // // Test: short // type = orb.get_primitive_tc(TCKind.tk_short); d1 = factory.create_dyn_any_from_type_code(type); TEST(d1.get_short() == (short) 0); d1.insert_short((short) -53); TEST(d1.get_short() == (short) -53); d1.insert_short((short) 32000); TEST(d1.get_short() == (short) 32000); av = d1.to_any(); short shortVal = av.extract_short(); TEST(shortVal == (short) 32000); any.insert_short((short) 32000); d2 = factory.create_dyn_any(any); TEST(d1.equal(d2)); copy = d1.copy(); TEST(d1.equal(copy)); TEST(copy.get_short() == (short) 32000); any.insert_short((short) -99); d2.from_any(any); d1.assign(d2); TEST(d1.equal(d2)); d1.destroy(); d2.destroy(); copy.destroy(); testOps(orb, factory, type, false); // // Test: unsigned short // type = orb.get_primitive_tc(TCKind.tk_ushort); d1 = factory.create_dyn_any_from_type_code(type); TEST(d1.get_ushort() == (short) 0); d1.insert_ushort((short) 199); TEST(d1.get_ushort() == (short) 199); d1.insert_ushort((short) 65001); TEST(d1.get_ushort() == (short) 65001); av = d1.to_any(); short ushortVal = av.extract_ushort(); TEST(ushortVal == (short) 65001); any.insert_ushort((short) 65001); d2 = factory.create_dyn_any(any); TEST(d1.equal(d2)); copy = d1.copy(); TEST(d1.equal(copy)); TEST(copy.get_ushort() == (short) 65001); any.insert_ushort((short) 501); d2.from_any(any); d1.assign(d2); TEST(d1.equal(d2)); d1.destroy(); d2.destroy(); copy.destroy(); testOps(orb, factory, type, false); // // Test: long // type = orb.get_primitive_tc(TCKind.tk_long); d1 = factory.create_dyn_any_from_type_code(type); TEST(d1.get_long() == 0); d1.insert_long(-530000); TEST(d1.get_long() == -530000); d1.insert_long(3200000); TEST(d1.get_long() == 3200000); av = d1.to_any(); int longVal = av.extract_long(); TEST(longVal == 3200000); any.insert_long(3200000); d2 = factory.create_dyn_any(any); TEST(d1.equal(d2)); copy = d1.copy(); TEST(d1.equal(copy)); TEST(copy.get_long() == 3200000); any.insert_long(-99000); d2.from_any(any); d1.assign(d2); TEST(d1.equal(d2)); d1.destroy(); d2.destroy(); copy.destroy(); testOps(orb, factory, type, false); // // Test: unsigned long // type = orb.get_primitive_tc(TCKind.tk_ulong); d1 = factory.create_dyn_any_from_type_code(type); TEST(d1.get_ulong() == 0); d1.insert_ulong(199000); TEST(d1.get_ulong() == 199000); d1.insert_ulong(65001000); TEST(d1.get_ulong() == 65001000); av = d1.to_any(); int ulongVal = av.extract_ulong(); TEST(ulongVal == 65001000); any.insert_ulong(65001000); d2 = factory.create_dyn_any(any); TEST(d1.equal(d2)); copy = d1.copy(); TEST(d1.equal(copy)); TEST(copy.get_ulong() == 65001000); any.insert_ulong(501000); d2.from_any(any); d1.assign(d2); TEST(d1.equal(d2)); d1.destroy(); d2.destroy(); copy.destroy(); testOps(orb, factory, type, false); // // Test: float // type = orb.get_primitive_tc(TCKind.tk_float); d1 = factory.create_dyn_any_from_type_code(type); TEST(d1.get_float() == 0.0f); d1.insert_float(199.001f); TEST(d1.get_float() > 199.0f && d1.get_float() < 199.1f); d1.insert_float(6500.10001f); TEST(d1.get_float() > 6500.0f && d1.get_float() < 6501.0f); av = d1.to_any(); float floatVal = av.extract_float(); TEST(floatVal > 6500.1 && floatVal < 6500.2); any.insert_float((float) 6500.10001); d2 = factory.create_dyn_any(any); TEST(d1.equal(d2)); copy = d1.copy(); TEST(d1.equal(copy)); TEST(copy.get_float() > 6500.1 && copy.get_float() < 6500.2); any.insert_float((float) 501.001); d2.from_any(any); d1.assign(d2); TEST(d1.equal(d2)); d1.destroy(); d2.destroy(); copy.destroy(); testOps(orb, factory, type, false); // // Test: double // type = orb.get_primitive_tc(TCKind.tk_double); d1 = factory.create_dyn_any_from_type_code(type); TEST(d1.get_double() == 0.0); d1.insert_double(199000.001); TEST(d1.get_double() > 199000.0 && d1.get_double() < 199000.1); d1.insert_double(6500000.10001); TEST(d1.get_double() > 6500000.1 && d1.get_double() < 6500000.2); av = d1.to_any(); double doubleVal = av.extract_double(); TEST(doubleVal > 6500000.1 && doubleVal < 6500000.2); any.insert_double(6500000.10001); d2 = factory.create_dyn_any(any); TEST(d1.equal(d2)); copy = d1.copy(); TEST(d1.equal(copy)); TEST(copy.get_double() > 6500000.1 && copy.get_double() < 6500000.2); any.insert_double(501000.001); d2.from_any(any); d1.assign(d2); TEST(d1.equal(d2)); d1.destroy(); d2.destroy(); copy.destroy(); testOps(orb, factory, type, false); // // Test: boolean // type = orb.get_primitive_tc(TCKind.tk_boolean); d1 = factory.create_dyn_any_from_type_code(type); TEST(d1.get_boolean() == false); d1.insert_boolean(false); TEST(d1.get_boolean() == false); d1.insert_boolean(true); TEST(d1.get_boolean() == true); av = d1.to_any(); boolean boolVal = av.extract_boolean(); TEST(boolVal == true); any.insert_boolean(true); d2 = factory.create_dyn_any(any); TEST(d1.equal(d2)); copy = d1.copy(); TEST(d1.equal(copy)); TEST(copy.get_boolean() == true); any.insert_boolean(false); d2.from_any(any); d1.assign(d2); TEST(d1.equal(d2)); d1.destroy(); d2.destroy(); copy.destroy(); testOps(orb, factory, type, false); // // Test: char // type = orb.get_primitive_tc(TCKind.tk_char); d1 = factory.create_dyn_any_from_type_code(type); TEST(d1.get_char() == 0); d1.insert_char('A'); TEST(d1.get_char() == 'A'); d1.insert_char('z'); TEST(d1.get_char() == 'z'); av = d1.to_any(); char charVal = av.extract_char(); TEST(charVal == 'z'); any.insert_char('z'); d2 = factory.create_dyn_any(any); TEST(d1.equal(d2)); copy = d1.copy(); TEST(d1.equal(copy)); TEST(copy.get_char() == 'z'); any.insert_char('@'); d2.from_any(any); d1.assign(d2); TEST(d1.equal(d2)); d1.destroy(); d2.destroy(); copy.destroy(); testOps(orb, factory, type, false); // // Test: octet // type = orb.get_primitive_tc(TCKind.tk_octet); d1 = factory.create_dyn_any_from_type_code(type); TEST(d1.get_octet() == 0); d1.insert_octet((byte) 255); TEST(d1.get_octet() == (byte) 255); d1.insert_octet((byte) 1); TEST(d1.get_octet() == (byte) 1); av = d1.to_any(); byte octetVal = av.extract_octet(); TEST(octetVal == (byte) 1); any.insert_octet((byte) 1); d2 = factory.create_dyn_any(any); TEST(d1.equal(d2)); copy = d1.copy(); TEST(d1.equal(copy)); TEST(copy.get_octet() == (byte) 1); any.insert_octet((byte) 127); d2.from_any(any); d1.assign(d2); TEST(d1.equal(d2)); d1.destroy(); d2.destroy(); copy.destroy(); testOps(orb, factory, type, false); // // Test: any // type = orb.get_primitive_tc(TCKind.tk_any); d1 = factory.create_dyn_any_from_type_code(type); any.insert_long(345678); d1.insert_any(any); av = d1.get_any(); longVal = av.extract_long(); TEST(longVal == 345678); any = orb.create_any(); Any anyVal = orb.create_any(); anyVal.insert_long(345678); any.insert_any(anyVal); d2 = factory.create_dyn_any(any); TEST(d1.equal(d2)); av = d1.to_any(); Any cap = av.extract_any(); longVal = cap.extract_long(); TEST(longVal == 345678); anyVal.insert_string("anyValue"); any.insert_any(anyVal); d2.from_any(any); d1.assign(d2); TEST(d1.equal(d2)); copy = d1.copy(); TEST(d1.equal(copy)); d1.destroy(); d2.destroy(); copy.destroy(); testOps(orb, factory, type, false); } catch (org.omg.DynamicAny.DynAnyFactoryPackage.InconsistentTypeCode ex) { TEST(false); } catch (org.omg.DynamicAny.DynAnyPackage.TypeMismatch ex) { ex.printStackTrace(); TEST(false, ex.getMessage()); } catch (org.omg.DynamicAny.DynAnyPackage.InvalidValue ex) { TEST(false); } } public void testEnum() { try { Any any = orb.create_any(); Any av; DynAny d1 = null; DynAny d2 = null; DynAny copy = null; String str; DynEnum e1; DynEnum e2; TestEnum e; TypeCode type = TestEnumHelper.type(); // // Test: initial value // d1 = factory.create_dyn_any_from_type_code(type); e1 = DynEnumHelper.narrow(d1); TEST(e1.get_as_ulong() == 0); str = e1.get_as_string(); TEST(str.equals("red")); // // Test: set_as_string() // e1.set_as_string("green"); TEST(e1.get_as_ulong() == 1); str = e1.get_as_string(); TEST(str.equals("green")); e1.set_as_string("blue"); TEST(e1.get_as_ulong() == 2); str = e1.get_as_string(); TEST(str.equals("blue")); // // Test: set_as_ulong() // e1.set_as_ulong(1); TEST(e1.get_as_ulong() == 1); str = e1.get_as_string(); TEST(str.equals("green")); e1.set_as_ulong(2); TEST(e1.get_as_ulong() == 2); str = e1.get_as_string(); TEST(str.equals("blue")); // // Test: from_any() // TestEnumHelper.insert(any, TestEnum.green); e1.from_any(any); // // Test: to_any() // av = e1.to_any(); e = TestEnumHelper.extract(av); TEST(e == TestEnum.green); // // Test: copy // copy = e1.copy(); TEST(e1.equal(copy)); e1.destroy(); copy.destroy(); // // Test: set_as_ulong() InvalidValue exception // try { d1 = factory.create_dyn_any_from_type_code(type); e1 = DynEnumHelper.narrow(d1); e1.set_as_ulong(3); TEST("set_as_ulong() should not have succeeded" == null); } catch (org.omg.DynamicAny.DynAnyPackage.InvalidValue ex) { // expected d1.destroy(); } try { d1 = factory.create_dyn_any_from_type_code(type); e1 = DynEnumHelper.narrow(d1); // // In Java there is no *unsigned* int, so we need an // additional test case not required for C++. // e1.set_as_ulong(-1); TEST("set_as_ulong() should not have succeeded" == null); } catch (org.omg.DynamicAny.DynAnyPackage.InvalidValue ex) { // expected d1.destroy(); } // // Test: set_as_string() InvalidValue exception // try { d1 = factory.create_dyn_any_from_type_code(type); e1 = DynEnumHelper.narrow(d1); e1.set_as_string("alizarin"); TEST("set_as_string() should not have succeeded" == null); } catch (org.omg.DynamicAny.DynAnyPackage.InvalidValue ex) { // expected d1.destroy(); } testOps(orb, factory, TestEnumHelper.type(), false); } catch (org.omg.DynamicAny.DynAnyFactoryPackage.InconsistentTypeCode ex) { TEST(false); } catch (org.omg.DynamicAny.DynAnyPackage.TypeMismatch ex) { TEST(false); } catch (org.omg.DynamicAny.DynAnyPackage.InvalidValue ex) { TEST(false); } } public void testFixed() { try { Any any = orb.create_any(); Any av; DynAny d1 = null; DynAny d2 = null; DynAny copy = null; TypeCode tc; String str; DynFixed f1; DynFixed f2; BigDecimal f; // // Create TypeCode // tc = orb.create_fixed_tc((short) 5, (short) 2); // // Test: get_value() // d1 = factory.create_dyn_any_from_type_code(tc); f1 = DynFixedHelper.narrow(d1); str = f1.get_value(); f = new BigDecimal(str); TEST(Math.abs(f.floatValue() - 0.0) < Float.MIN_VALUE); // // Test: set_value() // TEST(f1.set_value("1.1")); TEST(f1.set_value("123.1")); TEST(f1.set_value("123.12")); TEST(!f1.set_value("123.123")); // // Test: from_any() // f = new BigDecimal("98"); any.insert_fixed(f, tc); f1.from_any(any); // // Test: to_any() // av = f1.to_any(); f = av.extract_fixed(); TEST(f.equals(new BigDecimal("98"))); // // Test: copy // copy = f1.copy(); TEST(f1.equal(copy)); f1.destroy(); copy.destroy(); // // Test: set_value() InvalidValue exception (part 1) // try { d1 = factory.create_dyn_any_from_type_code(tc); f1 = DynFixedHelper.narrow(d1); f1.set_value(""); harness.fail("set_value() should not have succeeded"); } catch (Exception ex) { // expected d1.destroy(); } // // Test: assign() TypeMismatch exception // try { f = new BigDecimal("99"); any.insert_fixed(f, orb.create_fixed_tc((short) 4, (short) 2)); d1 = factory.create_dyn_any(any); d2 = factory.create_dyn_any_from_type_code(tc); d2.assign(d1); harness.fail("assign() should not have succeeded"); } catch (org.omg.DynamicAny.DynAnyPackage.TypeMismatch ex) { // expected d1.destroy(); d2.destroy(); } // // Test: from_any() TypeMismatch exception // try { f = new BigDecimal("99"); any.insert_fixed(f, orb.create_fixed_tc((short) 4, (short) 2)); d1 = factory.create_dyn_any_from_type_code(tc); d1.from_any(any); harness.fail("from_any() should not have succeeded"); } catch (org.omg.DynamicAny.DynAnyPackage.TypeMismatch ex) { // expected d1.destroy(); } testOps(orb, factory, tc, false); } catch (Exception ex) { ex.printStackTrace(); fail(ex); } } public void testStruct() { try { int i; Any any = orb.create_any(); Any av; DynAny d1; DynAny d2; DynAny copy; String str; String wstr; DynStruct s1; DynStruct s2; String cp; TypeCode type; TypeCode tc; TestStruct ts = new TestStruct(); TestStruct pts; NameValuePair[] nvpseq; NameDynAnyPair[] ndpseq; type = TestStructHelper.type(); d1 = factory.create_dyn_any_from_type_code(type); s1 = DynStructHelper.narrow(d1); // // Test: current_member_name, current_member_kind // str = s1.current_member_name(); TEST(str.equals("shortVal")); TEST(s1.current_member_kind() == TCKind.tk_short); s1.next(); str = s1.current_member_name(); TEST(str.equals("ushortVal")); TEST(s1.current_member_kind() == TCKind.tk_ushort); s1.next(); str = s1.current_member_name(); TEST(str.equals("longVal")); TEST(s1.current_member_kind() == TCKind.tk_long); s1.next(); str = s1.current_member_name(); TEST(str.equals("ulongVal")); TEST(s1.current_member_kind() == TCKind.tk_ulong); s1.next(); str = s1.current_member_name(); TEST(str.equals("floatVal")); TEST(s1.current_member_kind() == TCKind.tk_float); s1.next(); str = s1.current_member_name(); TEST(str.equals("doubleVal")); TEST(s1.current_member_kind() == TCKind.tk_double); s1.next(); str = s1.current_member_name(); TEST(str.equals("boolVal")); TEST(s1.current_member_kind() == TCKind.tk_boolean); s1.next(); str = s1.current_member_name(); TEST(str.equals("charVal")); TEST(s1.current_member_kind() == TCKind.tk_char); s1.next(); str = s1.current_member_name(); TEST(str.equals("octetVal")); TEST(s1.current_member_kind() == TCKind.tk_octet); s1.next(); str = s1.current_member_name(); TEST(str.equals("anyVal")); TEST(s1.current_member_kind() == TCKind.tk_any); s1.next(); str = s1.current_member_name(); TEST(str.equals("tcVal")); TEST(s1.current_member_kind() == TCKind.tk_TypeCode); s1.next(); str = s1.current_member_name(); TEST(str.equals("objectVal")); TEST(s1.current_member_kind() == TCKind.tk_objref); s1.next(); str = s1.current_member_name(); TEST(str.equals("stringVal")); TEST(s1.current_member_kind() == TCKind.tk_string); s1.next(); str = s1.current_member_name(); TEST(str.equals("longlongVal")); TEST(s1.current_member_kind() == TCKind.tk_longlong); s1.next(); str = s1.current_member_name(); TEST(str.equals("ulonglongVal")); TEST(s1.current_member_kind() == TCKind.tk_ulonglong); s1.next(); str = s1.current_member_name(); TEST(str.equals("wcharVal")); TEST(s1.current_member_kind() == TCKind.tk_wchar); s1.next(); str = s1.current_member_name(); TEST(str.equals("wstringVal")); TEST(s1.current_member_kind() == TCKind.tk_wstring); // // Test: insert values into members // s1.rewind(); s1.insert_short(SHORT_VALUE); s1.next(); s1.insert_ushort(USHORT_VALUE); s1.next(); s1.insert_long(LONG_VALUE); s1.next(); s1.insert_ulong(ULONG_VALUE); s1.next(); s1.insert_float(FLOAT_VALUE); s1.next(); s1.insert_double(DOUBLE_VALUE); s1.next(); s1.insert_boolean(BOOLEAN_VALUE); s1.next(); s1.insert_char(CHAR_VALUE); s1.next(); s1.insert_octet(OCTET_VALUE); s1.next(); DynAny d1c = d1.current_component(); any.insert_string(ANY_VALUE); s1.insert_any(any); s1.next(); s1.insert_typecode(TYPECODE_VALUE); s1.next(); s1.insert_reference(null); s1.next(); s1.insert_string(STRING_VALUE); s1.next(); s1.insert_longlong(LONGLONG_VALUE); s1.next(); s1.insert_ulonglong(ULONGLONG_VALUE); s1.next(); s1.insert_wchar(WCHAR_VALUE); s1.next(); s1.insert_wstring(WSTRING_VALUE); s1.next(); // // Test: get values from members // s1.rewind(); TEST(s1.get_short() == SHORT_VALUE); s1.next(); TEST(s1.get_ushort() == USHORT_VALUE); s1.next(); TEST(s1.get_long() == LONG_VALUE); s1.next(); TEST(s1.get_ulong() == ULONG_VALUE); s1.next(); TEST(s1.get_float() == FLOAT_VALUE); s1.next(); TEST(s1.get_double() == DOUBLE_VALUE); s1.next(); TEST(s1.get_boolean() == BOOLEAN_VALUE); s1.next(); TEST(s1.get_char() == CHAR_VALUE); s1.next(); TEST(s1.get_octet() == OCTET_VALUE); s1.next(); av = s1.get_any(); TEST(av.extract_string().equals(ANY_VALUE)); s1.next(); tc = s1.get_typecode(); s1.next(); TEST(tc.equal(TYPECODE_VALUE)); TEST(s1.get_reference() == null); s1.next(); str = s1.get_string(); s1.next(); TEST(str.equals(STRING_VALUE)); TEST(s1.get_longlong() == LONGLONG_VALUE); s1.next(); TEST(s1.get_ulonglong() == ULONGLONG_VALUE); s1.next(); TEST(s1.get_wchar() == WCHAR_VALUE); s1.next(); wstr = s1.get_wstring(); s1.next(); TEST(wstr.equals(WSTRING_VALUE)); // // Test: get_members // nvpseq = s1.get_members(); s1.rewind(); for (i = 0; i < 11; i++) { str = s1.current_member_name(); TEST(str.equals(nvpseq [ i ].id)); DynAny dv = factory.create_dyn_any(nvpseq [ i ].value); DynAny comp = s1.current_component(); TEST(dv.equal(comp)); dv.destroy(); s1.next(); } // // Test: get_members_as_dyn_any // ndpseq = s1.get_members_as_dyn_any(); s1.rewind(); for (i = 0; i < 11; i++) { str = s1.current_member_name(); TEST(str.equals(ndpseq [ i ].id)); s1.next(); } } catch (Exception ex) { ex.printStackTrace(); fail(ex); } } protected void tearDown() { orb.destroy(); } void checkStruct(final TestStruct ts) { TEST(ts.shortVal == SHORT_VALUE); TEST(ts.ushortVal == USHORT_VALUE); TEST(ts.longVal == LONG_VALUE); TEST(ts.ulongVal == ULONG_VALUE); TEST(ts.floatVal == FLOAT_VALUE); TEST(ts.doubleVal == DOUBLE_VALUE); TEST(ts.boolVal == BOOLEAN_VALUE); TEST(ts.charVal == CHAR_VALUE); TEST(ts.octetVal == OCTET_VALUE); TEST(ts.anyVal.extract_string().equals(ANY_VALUE)); TEST(ts.tcVal.equal(TYPECODE_VALUE)); TEST(ts.objectVal == null); TEST(ts.stringVal.equals(STRING_VALUE)); TEST(ts.longlongVal == LONGLONG_VALUE); TEST(ts.ulonglongVal == ULONGLONG_VALUE); TEST(ts.wcharVal == WCHAR_VALUE); TEST(ts.wstringVal.equals(WSTRING_VALUE)); } void loadStruct(ORB orb, TestStruct ts) { ts.shortVal = SHORT_VALUE; ts.ushortVal = USHORT_VALUE; ts.longVal = LONG_VALUE; ts.ulongVal = ULONG_VALUE; ts.floatVal = FLOAT_VALUE; ts.doubleVal = DOUBLE_VALUE; ts.boolVal = BOOLEAN_VALUE; ts.charVal = CHAR_VALUE; ts.octetVal = OCTET_VALUE; ts.anyVal = orb.create_any(); ts.anyVal.insert_string(ANY_VALUE); ts.tcVal = TYPECODE_VALUE; ts.objectVal = null; ts.stringVal = STRING_VALUE; ts.longlongVal = LONGLONG_VALUE; ts.ulonglongVal = ULONGLONG_VALUE; ts.wcharVal = WCHAR_VALUE; ts.wstringVal = WSTRING_VALUE; } // // Test generic operations // void testOps(ORB orb, DynAnyFactory factory, TypeCode tc, boolean hasComponents ) { try { Any badAny = orb.create_any(); DynAny d1 = null; DynAny d2 = null; DynAny d3 = null; DynAny copy = null; TypeCode origTC = getOrigType(tc); // // Create an any having a TypeCode that will not match tc // if (tc.kind() != TCKind.tk_short) badAny.insert_short((short) 0); else badAny.insert_ushort((short) 0); // // Test: type() // d1 = factory.create_dyn_any_from_type_code(tc); TypeCode tcv = d1.type(); TEST(tc.equal(tcv)); d1.destroy(); // // Test: assign() TypeMismatch exception // try { d1 = factory.create_dyn_any_from_type_code(tc); d2 = factory.create_dyn_any(badAny); d1.assign(d2); TEST("assign() should not have succeeded" == null); } catch (org.omg.DynamicAny.DynAnyPackage.TypeMismatch ex) { // expected d1.destroy(); d2.destroy(); } // // Test: from_any() TypeMismatch exception // try { d1 = factory.create_dyn_any_from_type_code(tc); d1.from_any(badAny); TEST("from_any() should not have succeeded" == null); } catch (org.omg.DynamicAny.DynAnyPackage.TypeMismatch ex) { // expected d1.destroy(); } // // Test: from_any() InvalidValue exception // switch (origTC.kind().value()) { case TCKind._tk_null : case TCKind._tk_void : case TCKind._tk_TypeCode : case TCKind._tk_Principal : case TCKind._tk_objref : case TCKind._tk_value : case TCKind._tk_value_box : // nothing to do break; default : try { Any a = orb.create_any(); a.type(tc); d1 = factory.create_dyn_any_from_type_code(tc); d1.from_any(a); harness.fail("from_any() should not have succeeded"); } catch (org.omg.DynamicAny.DynAnyPackage.InvalidValue ex) { // expected d1.destroy(); } } if (hasComponents) { int count; d1 = factory.create_dyn_any_from_type_code(tc); if (origTC.kind() == TCKind.tk_union) count = d1.component_count(); else count = origTC.member_count(); TEST(count > 0); // // Test: seek // TEST(d1.seek(0) == true); TEST(d1.seek(-1) == false); TEST(d1.seek(count) == false); TEST(d1.seek(count - 1) == true); // // Test: next // d1.seek(-1); TEST(d1.next() == true); d1.seek(count - 1); TEST(d1.next() == false); // // Test: component_count() // TEST(d1.component_count() == count); // // Test: current_component // d1.rewind(); d2 = d1.current_component(); TEST(d2 != null); // // Test: destroy // d2.destroy(); // should do nothing because it's a child d2.destroy(); // ditto // // Test: current_component // d1.seek(-9); d3 = d1.current_component(); TEST(d3 == null); d1.destroy(); } else { d1 = factory.create_dyn_any_from_type_code(tc); // // Test: seek // TEST(d1.seek(0) == false); TEST(d1.seek(-1) == false); // // Test: next // TEST(d1.next() == false); // // Test: component_count() // TEST(d1.component_count() == 0); } } catch (Exception ex) { fail(ex); } } }mauve-20140821/gnu/testlet/org/omg/DynamicAny/DynAny/Iona/0000755000175000001440000000000012375316426021730 5ustar dokousersmauve-20140821/gnu/testlet/org/omg/DynamicAny/DynAny/Iona/TestStruct.java0000644000175000001440000000372010275442266024720 0ustar dokousers// Copyright (c) IONA Technologies, 2001. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.DynamicAny.DynAny.Iona; public final class TestStruct implements org.omg.CORBA.portable.IDLEntity { public org.omg.CORBA.Any anyVal; public org.omg.CORBA.Object objectVal; public String stringVal; public String wstringVal; public org.omg.CORBA.TypeCode tcVal; public boolean boolVal; public byte octetVal; public char charVal; public char wcharVal; public double doubleVal; public float floatVal; public int longVal; public int ulongVal; public long longlongVal; public long ulonglongVal; public short shortVal; public short ushortVal; }mauve-20140821/gnu/testlet/org/omg/DynamicAny/DynAny/Iona/TestEnum.java0000644000175000001440000000433310447766313024344 0ustar dokousers// Tags: not-a-test // Copyright (c) IONA Technologies, 2001. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.DynamicAny.DynAny.Iona; import org.omg.CORBA.BAD_PARAM; import org.omg.CORBA.portable.IDLEntity; public class TestEnum implements IDLEntity { static int m_size = 3; static TestEnum[] m_array = new TestEnum[ m_size ]; static int m_red = 0; static int m_blue = 2; static int m_green = 1; public static TestEnum red = new TestEnum(m_red); public static TestEnum green = new TestEnum(m_green); public static TestEnum blue = new TestEnum(m_blue); int m_value; protected TestEnum(int value) { m_value = value; m_array [ m_value ] = this; } public static TestEnum from_int(int value) { if (value >= 0 && value < m_size) { return m_array [ value ]; } else { throw new BAD_PARAM(); } } public int value() { return m_value; } } mauve-20140821/gnu/testlet/org/omg/DynamicAny/DynAny/Iona/TestEnumHelper.java0000644000175000001440000000502210451015575025470 0ustar dokousers// Tags: not-a-test // Copyright (c) IONA Technologies, 2001. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.DynamicAny.DynAny.Iona; import org.omg.CORBA.Any; import org.omg.CORBA.ORB; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; public abstract class TestEnumHelper { private static String _id = "IDL:gnu/testlet/org/omg/DynamicAny/DynAny/Iona/TestEnum:1.0"; public static TestEnum extract(Any a) { return read(a.create_input_stream()); } public static String id() { return _id; } public static void insert(Any a, TestEnum that) { OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static TestEnum read(InputStream istream) { return TestEnum.from_int(istream.read_long()); } public static TypeCode type() { return ORB.init().create_enum_tc(TestEnumHelper.id(), "TestEnum", new String[] { "red", "green", "blue" } ); } public static void write(OutputStream ostream, TestEnum value) { ostream.write_long(value.value()); } } mauve-20140821/gnu/testlet/org/omg/DynamicAny/DynAny/Iona/TestStructHelper.java0000644000175000001440000001442710451015575026061 0ustar dokousers// Tags: not-a-test // Copyright (c) IONA Technologies, 2001. // Adapted for Mauve by Audrius Meskauskas // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. /* This code originally came from the OMG's CORBA Open Source Testing project, which lived at cost.omg.org. That site no longer exists. All the contributing companies agreed to release their tests under the terms of the GNU Lesser General Public License, available in the file COPYING.LIB. The code has been modified integrating into Mauve test environment and removing tests that are not yet supported by Suns jre 1.4. Hence the license is now GPL. We downloaded the code from http://sourceforge.net/projects/corba-cost/, administrated by Duncan Grisby. */ package gnu.testlet.org.omg.DynamicAny.DynAny.Iona; import org.omg.CORBA.Any; import org.omg.CORBA.ORB; import org.omg.CORBA.ObjectHelper; import org.omg.CORBA.StructMember; import org.omg.CORBA.TCKind; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; public abstract class TestStructHelper { private static String _id = "IDL:gnu/testlet/org/omg/DynamicAny/DynAny/Iona/TestStruct:1.0"; public static void insert(Any a, TestStruct that) { OutputStream out = a.create_output_stream(); a.type(type()); write(out, that); a.read_value(out.create_input_stream(), type()); } public static TestStruct extract(Any a) { return read(a.create_input_stream()); } private static TypeCode typeCode = null; public static TypeCode type() { if (typeCode == null) { StructMember[] members = new StructMember[ 17 ]; ORB orb = ORB.init(); TypeCode t_member; t_member = orb.get_primitive_tc(TCKind.tk_short); members [ 0 ] = new StructMember("shortVal", t_member, null); t_member = orb.get_primitive_tc(TCKind.tk_ushort); members [ 1 ] = new StructMember("ushortVal", t_member, null); t_member = orb.get_primitive_tc(TCKind.tk_long); members [ 2 ] = new StructMember("longVal", t_member, null); t_member = orb.get_primitive_tc(TCKind.tk_ulong); members [ 3 ] = new StructMember("ulongVal", t_member, null); t_member = orb.get_primitive_tc(TCKind.tk_float); members [ 4 ] = new StructMember("floatVal", t_member, null); t_member = orb.get_primitive_tc(TCKind.tk_double); members [ 5 ] = new StructMember("doubleVal", t_member, null); t_member = orb.get_primitive_tc(TCKind.tk_boolean); members [ 6 ] = new StructMember("boolVal", t_member, null); t_member = orb.get_primitive_tc(TCKind.tk_char); members [ 7 ] = new StructMember("charVal", t_member, null); t_member = orb.get_primitive_tc(TCKind.tk_octet); members [ 8 ] = new StructMember("octetVal", t_member, null); t_member = orb.get_primitive_tc(TCKind.tk_any); members [ 9 ] = new StructMember("anyVal", t_member, null); t_member = orb.get_primitive_tc(TCKind.tk_TypeCode); members [ 10 ] = new StructMember("tcVal", t_member, null); t_member = ObjectHelper.type(); members [ 11 ] = new StructMember("objectVal", t_member, null); t_member = orb.create_string_tc(0); members [ 12 ] = new StructMember("stringVal", t_member, null); t_member = orb.get_primitive_tc(TCKind.tk_longlong); members [ 13 ] = new StructMember("longlongVal", t_member, null); t_member = orb.get_primitive_tc(TCKind.tk_ulonglong); members [ 14 ] = new StructMember("ulonglongVal", t_member, null); t_member = orb.get_primitive_tc(TCKind.tk_wchar); members [ 15 ] = new StructMember("wcharVal", t_member, null); t_member = orb.create_wstring_tc(0); members [ 16 ] = new StructMember("wstringVal", t_member, null); typeCode = orb.create_struct_tc(TestStructHelper.id(), "TestStruct", members); } return typeCode; } public static String id() { return _id; } public static TestStruct read(InputStream istream) { TestStruct value = new TestStruct(); value.shortVal = istream.read_short(); value.ushortVal = istream.read_ushort(); value.longVal = istream.read_long(); value.ulongVal = istream.read_ulong(); value.floatVal = istream.read_float(); value.doubleVal = istream.read_double(); value.boolVal = istream.read_boolean(); value.charVal = istream.read_char(); value.octetVal = istream.read_octet(); value.anyVal = istream.read_any(); value.tcVal = istream.read_TypeCode(); value.objectVal = ObjectHelper.read(istream); value.stringVal = istream.read_string(); value.longlongVal = istream.read_longlong(); value.ulonglongVal = istream.read_ulonglong(); value.wcharVal = istream.read_wchar(); value.wstringVal = istream.read_wstring(); return value; } public static void write(OutputStream ostream, TestStruct value) { ostream.write_short(value.shortVal); ostream.write_ushort(value.ushortVal); ostream.write_long(value.longVal); ostream.write_ulong(value.ulongVal); ostream.write_float(value.floatVal); ostream.write_double(value.doubleVal); ostream.write_boolean(value.boolVal); ostream.write_char(value.charVal); ostream.write_octet(value.octetVal); ostream.write_any(value.anyVal); ostream.write_TypeCode(value.tcVal); ObjectHelper.write(ostream, value.objectVal); ostream.write_string(value.stringVal); ostream.write_longlong(value.longlongVal); ostream.write_ulonglong(value.ulonglongVal); ostream.write_wchar(value.wcharVal); ostream.write_wstring(value.wstringVal); } } mauve-20140821/gnu/testlet/org/w3c/0000755000175000001440000000000012375316426015516 5ustar dokousersmauve-20140821/gnu/testlet/org/w3c/dom/0000755000175000001440000000000012375316426016275 5ustar dokousersmauve-20140821/gnu/testlet/org/w3c/dom/test.xml0000644000175000001440000000043510362734241017771 0ustar dokousers ]> This is a Text Node. mauve-20140821/gnu/testlet/org/w3c/dom/childNodesLength.java0000644000175000001440000000610310363123051022337 0ustar dokousers// Tags: JDK1.4 // Tests some Node kinds if method .getChildNodes().getLength() return correctly. // By: Pedro Izecksohn & Mark Wielaard // Part of the Mauve project. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor // Boston, MA 02110-1301, USA. package gnu.testlet.org.w3c.dom; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import gnu.testlet.ResourceNotFoundException; import java.io.InputStream; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.*; public class childNodesLength implements Testlet { TestHarness harness; private void checkNode (Node node) { int nChilds = node.getChildNodes().getLength(); if ( (node instanceof CDATASection)|| (node instanceof Comment)|| (node instanceof DocumentType)|| (node instanceof Notation)|| (node instanceof ProcessingInstruction)|| (node instanceof Text) ) { harness.check (nChilds==0, node.getClass().getName()); } } private void recurse (NodeList nl) { for (int i=0; i0) {recurse (nl2);} } } public void test (TestHarness harness) { this.harness=harness; DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = null; try { db = dbf.newDocumentBuilder(); } catch (javax.xml.parsers.ParserConfigurationException pce) { harness.debug (pce); harness.check(false); return; } // I need a xml file to parse. InputStream input = null; try { input = harness.getResourceStream ("gnu#testlet#org#w3c#dom#test.xml"); } catch (ResourceNotFoundException rnfe) { harness.debug (rnfe); harness.check(false); return; } Document document = null; try { document = db.parse(input); } catch (Exception e) { harness.debug (e); harness.check(false); return; } recurse (document.getChildNodes()); } } mauve-20140821/gnu/testlet/TestResult.java0000644000175000001440000001217311745373615017223 0ustar dokousers// Copyright (c) 2004 Noa Resare. // Written by Noa Resre // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet; import java.util.List; import java.util.ArrayList; /** * A TestResult object represents the results a run of one Testlet. TestResult * objects are normally agregated in a TestReport. The natural ordering of * TestResult is defined to be the same as the natural order of their * respective testletName field. */ public class TestResult implements Comparable { private String testletName = null; private List failMessages = new ArrayList(); private List passMessages = new ArrayList(); private Throwable exception = null; private String exceptionReason = null; private String exceptionMessage = null; /** * Constructs a TestResult instance with testletName set to the given name. * * @param testletName the name of the testlet that produced this TestResult */ public TestResult(String testletName) { if (testletName == null) throw new IllegalArgumentException("testletName can not be null"); this.testletName = testletName; } /** * Adds a pass message identifying a passing test. Should be called * when a test passes. * * @param message a String that identifies the test that passed */ public void addPass(String message) { passMessages.add(message); } /** * Adds a failure message identifying a failing test. Should be called when * a test fails. * * @param message a String that identifies the test that failed inside * this servlet */ public void addFail(String message) { failMessages.add(message); } /** * Adds an Exception and optional identification message to this TestResult * object. Should be called when the instantiation or execution of a Testlet * results in an exception. * * @param exception The exception that was thrown * @param message A message that identifies the test that caused the * @param reason the stack trace for the Exception * exception to be thrown */ public void addException(Throwable exception, String message, String reason) { if (this.exception != null) throw new IllegalArgumentException("trying to add more than one " + "exception to TestResult"); this.exception = exception; this.exceptionMessage = message; this.exceptionReason = reason; } /** * The number of tests that have preformed without failure or exceptions. */ public int getPassCount() { return passMessages.size(); } /** * An array of Strings that holds the identifying messages for all failed * tests. */ public String[] getFailMessags() { return failMessages.toArray(new String[failMessages.size()]); } /** * An array of Strings that holds the identifying messages for all * passing tests. * * @return an array of Strings holding the messages for passing tests. */ public String[] getPassMessages() { return passMessages.toArray(new String[passMessages.size()]); } /** * The name of the Testlet that this TestResult holds information about. */ public String getTestletName() { return testletName; } /** * If an Exception was thrown when the Testlet was instantiated or run it * is returned, else null is returned. */ public Throwable getException() { return exception; } /** * If an Exception was thrown when the Testlet was instantiated or run, * this String identifies what test (or other contition) caused the test. */ public String getExceptionMessage() { return exceptionMessage; } /** * If an Exception was thrown when the Testlet was instantiated or run, * this String is the stack trace associated with the Exception. * * @return the stack trace associated with the Exception */ public String getExceptionReason() { return exceptionReason; } /** * Compares one TestResult object to another. TestResult objects compare * the same as their testletName fields. */ public int compareTo(TestResult other) { return testletName.compareTo(other.testletName); } } mauve-20140821/gnu/testlet/TestSecurityManager.java0000644000175000001440000002666411745373615021061 0ustar dokousers// Copyright (C) 2004 Stephen Crawley. // Copyright (C) 2005, 2006 Red Hat, Inc. // Written by Stephen Crawley // Extensively modified by Gary Benson // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. package gnu.testlet; import java.security.CodeSource; import java.security.Permission; import java.security.PermissionCollection; import java.security.Policy; import java.security.ProtectionDomain; /** * A security manager for testing that security checks are performed. * * Typically a testcase would call prepareChecks() to * specify permissions that are expected to be checked during this * test. Next you call whatever should perform the checks, and * finally you call checkAllChecked() to check that the * permissions you specified were checked. Any unexpected checks * cause a {@link SecurityException} to be thrown. * * As well as the permissions that must be checked it is possible to * supply prepareChecks() with a list of permissions that * may be checked. This allows some cases where proprietary JVMs * check something incidental that Classpath does not to be checked. * There are also halting versions of prepareChecks() * which will cause an exception to be thrown when all permissions * have been checked. This allows throwpoints on things like * System.exit() to be tested. * * @author Stephen Crawley (crawley@dstc.edu.au) * @author Gary Benson (gbenson@redhat.com) */ public class TestSecurityManager extends SecurityManager { /** * The security manager that was in force before we were installed. */ private SecurityManager oldManager; /** * The policy in force before we were installed */ private Policy oldPolicy; /** * Permissions that must be checked for this test to pass. */ private Permission[] mustCheck; /** * Permissions that may be checked during this test. */ private Permission[] mayCheck; /** * Whether we are enabled or not. */ private boolean enabled; /** * Must-check permissions are flagged as they are checked. */ private boolean[] checked; /** * The test harness in use. */ private final TestHarness harness; /** * Should we halt after all checks have occurred? */ private boolean isHalting; /** * The exception to throw when halting. */ public static class SuccessException extends SecurityException { private static final long serialVersionUID = 23; }; private final SuccessException successException = new SuccessException(); /** * How should permissions be compared? */ private int compare; /** * Compare permissions using p1.equals(p2). */ public static final int EQUALS = 1; /** * Compare permissions using p1.implies(p2). */ public static final int IMPLIES = 2; /** * An empty list of checks, for convenience. */ private final Permission[] noChecks = new Permission[0]; /** * Create a new test security manager. * * @param harness TestHarness the tests will be run by */ public TestSecurityManager(TestHarness harness) { super(); this.harness = harness; } /** * Install this test security manager. */ public void install() { SecurityManager oldsm = System.getSecurityManager(); if (oldsm == this) throw new IllegalStateException("already installed"); oldManager = oldsm; enabled = false; oldPolicy = Policy.getPolicy(); Policy.setPolicy(new Policy() { public PermissionCollection getPermissions(CodeSource codesource) { return null; } /** * Check that this permission is one that we should be checking. * This code used to be in TestSecurityManager.checkPermission, * but doing the same here allows us to easily skip doPrivileged * actions like reading some properties in system code. * * @param perm the permission to be checked * @throws SuccessException if all mustCheck * permissions have been checked and isHalting * is true. * @return returns false if and only if none of the mustCheck * or mayCheck permissions matches * perm. else true */ public boolean implies(ProtectionDomain domain, Permission perm) { if (!enabled) return true; if (harness != null) harness.debug("checkPermission(" + perm + ")"); boolean matched = false; if (!matched) { for (int i = 0; i < mustCheck.length; i++) { if (permissionsMatch(mustCheck[i], perm)) { checked[i] = true; matched = true; } } } if (!matched) { for (int i = 0; i < mayCheck.length; i++) { if (permissionsMatch(mayCheck[i], perm)) { matched = true; } } } if (!matched) { enabled = false; harness.debug("unexpected check: " + perm); if (mustCheck.length != 0) { StringBuffer expected = new StringBuffer(); for (int i = 0; i < mustCheck.length; i++) expected.append(' ').append(mustCheck[i]); harness.debug("expected: mustCheck:" + expected.toString()); } if (mayCheck.length != 0) { StringBuffer expected = new StringBuffer(); for (int i = 0; i < mayCheck.length; i++) expected.append(' ').append(mayCheck[i]); harness.debug("expected: mayCheck:" + expected.toString()); } return false; } if (isHalting) { boolean allChecked = true; for (int i = 0; i < checked.length; i++) { if (!checked[i]) allChecked = false; } if (allChecked) { enabled = false; throw successException; } } return true; } public void refresh() { return; } }); System.setSecurityManager(this); } /** * Uninstall this test security manager, replacing it with whatever * was in force before it was installed. */ public void uninstall() { SecurityManager oldsm = System.getSecurityManager(); if (oldsm != this) throw new IllegalStateException("not installed"); enabled = false; System.setSecurityManager(oldManager); Policy.setPolicy(oldPolicy); } /** * Prepare this test security manager for a series of checks. * checkAllChecked() should be called after the * test to check that the specified permissions were checked. * * @param mustCheck permissions that must be checked in order for * the test to pass */ public void prepareChecks(Permission[] mustCheck) { prepareChecks(mustCheck, noChecks); } /** * Prepare this test security manager for a series of checks. * checkAllChecked() should be called after the * test to check that the specified permissions were checked. * * @param mustCheck permissions that must be checked in order for * the test to pass * @param mayCheck permissions that may be checked during the test * but are not required in order for the test to pass */ public void prepareChecks(Permission[] mustCheck, Permission[] mayCheck) { prepareChecks(mustCheck, mayCheck, false); } /** * Prepare this test security manager for a series of checks. * A SuccessException will be thrown when the * final permission is checked, halting the test. * * @param mustCheck permissions that must be checked in order for * the test to pass */ public void prepareHaltingChecks(Permission[] mustCheck) { prepareHaltingChecks(mustCheck, noChecks); } /** * Prepare this test security manager for a series of checks. * A SuccessException will be thrown when the * final permission is checked, halting the test. * * @param mustCheck permissions that must be checked in order for * the test to pass * @param mayCheck permissions that may be checked during the test * but are not required in order for the test to pass */ public void prepareHaltingChecks(Permission[] mustCheck, Permission[] mayCheck) { prepareChecks(mustCheck, mayCheck, true); } /** * Prepare this test security manager for a series of checks. * * @param mustCheck permissions that must be checked in order for * the test to pass * @param mayCheck permissions that may be checked during the test * but are not required in order for the test to pass * @param isHalting whether to throw a SuccessException * when the final permission is checked */ protected void prepareChecks(Permission[] mustCheck, Permission[] mayCheck, boolean isHalting) { this.mayCheck = mayCheck; this.mustCheck = mustCheck; this.isHalting = isHalting; checked = new boolean[mustCheck.length]; enabled = true; compare = EQUALS; } /** * Under normal circumstances permissions are compared using * p1.equals(p2) to ensure that the permission being * checked is exactly the permission that is expected. Sometimes it * is not possible to know in advance the exact permission that will * be checked -- the best you can do is some kind of wildcard -- and * in such cases tests can specify that permissions should be * compared using p1.implies(p2) using this method. * * @param style the desired comparison style (EQUALS or * IMPLIES). */ public void setComparisonStyle(int style) { compare = style; } /** * Compare two permissions. */ private boolean permissionsMatch(Permission p1, Permission p2) { switch (compare) { case EQUALS: return p1.equals(p2); case IMPLIES: return p1.implies(p2); default: throw new IllegalArgumentException(); } } /** * Check that all mustCheck permissions were checked, * calling TestHarness.check() with the result. */ public void checkAllChecked() { enabled = false; boolean allChecked = true; for (int i = 0; i < checked.length; i++) { if (!checked[i]) { harness.debug("Unchecked permission: " + mustCheck[i]); allChecked = false; } } harness.check(allChecked); } } mauve-20140821/gnu/testlet/locales/0000755000175000001440000000000012375316426015655 5ustar dokousersmauve-20140821/gnu/testlet/locales/LocaleTest.java0000755000175000001440000005023311256663702020564 0ustar dokousers// Tags: JDK1.0 // Copyright (C) 2004, 2005 Michael Koch // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. */ package gnu.testlet.locales; import gnu.testlet.Testlet; import gnu.testlet.TestHarness; import java.text.*; import java.util.*; public class LocaleTest implements Testlet { public class ExpectedValues { String language; String country; String variant; String localeStr; String iso3language; String iso3country; String displayLanguage; String displayCountry; String displayVariant; String displayName; String currencyCode; int currencyFractionDigits; String currencySymbol; public ExpectedValues(String language, String country, String variant, String localeStr, String iso3language, String iso3country, String displayLanguage, String displayCountry, String displayVariant, String displayName, String currencyCode, int currencyFractionDigits, String currencySymbol) { this.language = language; this.country = country; this.variant = variant; this.localeStr = localeStr; this.iso3language = iso3language; this.iso3country = iso3country; this.displayLanguage = displayLanguage; this.displayCountry = displayCountry; this.displayVariant = displayVariant; this.displayName = displayName; this.currencyCode = currencyCode; this.currencyFractionDigits = currencyFractionDigits; this.currencySymbol = currencySymbol; } } public class ExpectedDateValues { String a, b, c, d, e, f, g, h; public ExpectedDateValues(String a, String b, String c, String d, String e, String f, String g, String h) { this.a = a; this.b = b; this.c = c; this.d = d; this.e = e; this.f = f; this.g = g; this.h = h; } } public class ExpectedNumberValues { String a, b, c, d, e; public ExpectedNumberValues(String a, String b, String c, String d, String e) { this.a = a; this.b = b; this.c = c; this.d = d; this.e = e; } } private void checkLocale(TestHarness h, Locale locale, ExpectedValues expected, ExpectedDateValues expectedDate, ExpectedNumberValues expectedNumber1, ExpectedNumberValues expectedNumberCurrency1, ExpectedNumberValues expectedNumberCurrency2, ExpectedNumberValues expectedNumber3, ExpectedNumberValues expectedNumber4, ExpectedNumberValues expectedNumberProcent) { h.checkPoint("Locale " + locale); // Force GERMAN as default locale. Locale.setDefault(Locale.GERMAN); TimeZone.setDefault(TimeZone.getTimeZone("GMT")); // Locale if (expected != null) { h.check(locale.getLanguage(), expected.language); h.check(locale.getCountry(), expected.country); h.check(locale.getVariant(), expected.variant); h.check(locale.toString(), expected.localeStr); h.check(locale.getISO3Language(), expected.iso3language); h.check(locale.getISO3Country(), expected.iso3country); h.check(locale.getDisplayLanguage(), expected.displayLanguage); h.check(locale.getDisplayCountry(), expected.displayCountry); h.check(locale.getDisplayVariant(), expected.displayVariant); h.check(locale.getDisplayName(), expected.displayName); } // Date and time formats h.debug("Locale " + locale + " date/time formats"); if (expectedDate != null) { DateFormat df; Date date1 = new Date(74, 2, 18, 17, 20, 30); // Date instance. df = DateFormat.getDateInstance(DateFormat.DEFAULT, locale); h.check(df.format(date1), expectedDate.a, "DateFormat.DEFAULT "+ locale); df = DateFormat.getDateInstance(DateFormat.SHORT, locale); h.check(df.format(date1), expectedDate.b, "DateFormat.SHORT "+ locale); df = DateFormat.getDateInstance(DateFormat.MEDIUM, locale); h.check(df.format(date1), expectedDate.c, "DateFormat.MEDIUM "+ locale); df = DateFormat.getDateInstance(DateFormat.LONG, locale); h.check(df.format(date1), expectedDate.d, "DateFormat.LONG "+ locale); // Assume DEFAULT == MEDIUM df = DateFormat.getDateInstance(DateFormat.DEFAULT, locale); h.check(df.format(date1), expectedDate.c, "DateFormat.DEFAULT == DateFormat.MEDIUM "+ locale); // Time instance. df = DateFormat.getTimeInstance(DateFormat.DEFAULT, locale); h.check(df.format(date1), expectedDate.e, "DateFormat.DEFAULT "+ locale); df = DateFormat.getTimeInstance(DateFormat.SHORT, locale); h.check(df.format(date1), expectedDate.f, "DateFormat.SHORT "+ locale); df = DateFormat.getTimeInstance(DateFormat.MEDIUM, locale); h.check(df.format(date1), expectedDate.g, "DateFormat.MEDIUM "+ locale); df = DateFormat.getTimeInstance(DateFormat.LONG, locale); h.check(df.format(date1), expectedDate.h, "DateFormat.LONG "+ locale); // Assume DEFAULT == MEDIUM df = DateFormat.getTimeInstance(DateFormat.DEFAULT, locale); h.check(df.format(date1), expectedDate.g, "DateFormat.DEFAULT == DateFormat.MEDIUM "+ locale); } h.checkPoint("numberformats locale: "+ locale); // Number formats NumberFormat nf; if (expectedNumber1 != null) { nf = NumberFormat.getInstance(locale); h.check(nf.format(1000L), expectedNumber1.a); h.check(nf.format(1000000L), expectedNumber1.b); h.check(nf.format(100d), expectedNumber1.c); h.check(nf.format(100.1234d), expectedNumber1.d); h.check(nf.format(10000000.1234d), expectedNumber1.e); } if (expectedNumberCurrency1 != null) { nf = NumberFormat.getCurrencyInstance(locale); h.check(nf.format(1000L), expectedNumberCurrency1.a); h.check(nf.format(1000000L), expectedNumberCurrency1.b); h.check(nf.format(100d), expectedNumberCurrency1.c); h.check(nf.format(100.1234d), expectedNumberCurrency1.d); h.check(nf.format(10000000.1234d), expectedNumberCurrency1.e); } if (expectedNumberCurrency2 != null) { nf = NumberFormat.getCurrencyInstance(locale); h.check(nf.format(-1000L), expectedNumberCurrency2.a); h.check(nf.format(-1000000L), expectedNumberCurrency2.b); h.check(nf.format(-100d), expectedNumberCurrency2.c); h.check(nf.format(-100.1234d), expectedNumberCurrency2.d); h.check(nf.format(-10000000.1234d), expectedNumberCurrency2.e); } if (expectedNumber3 != null) { nf = NumberFormat.getIntegerInstance(locale); h.check(nf.format(1000L), expectedNumber3.a); h.check(nf.format(1000000L), expectedNumber3.b); h.check(nf.format(100d), expectedNumber3.c); h.check(nf.format(100.1234d), expectedNumber3.d); h.check(nf.format(10000000.1234d), expectedNumber3.e); } if (expectedNumber4 != null) { nf = NumberFormat.getNumberInstance(locale); h.check(nf.format(1000L), expectedNumber4.a); h.check(nf.format(1000000L), expectedNumber4.b); h.check(nf.format(100d), expectedNumber4.c); h.check(nf.format(100.1234d), expectedNumber4.d); h.check(nf.format(10000000.1234d), expectedNumber4.e); } if (expectedNumberProcent != null) { nf = NumberFormat.getPercentInstance(locale); h.check(nf.format(1000L), expectedNumberProcent.a); h.check(nf.format(1000000L), expectedNumberProcent.b); h.check(nf.format(100d), expectedNumberProcent.c); h.check(nf.format(100.1234d), expectedNumberProcent.d); h.check(nf.format(10000000.1234d), expectedNumberProcent.e); } // Currencies h.checkPoint("Currencies locale: "+ locale); if (expected != null) { Currency currency = Currency.getInstance(locale); h.check(currency.getCurrencyCode(), expected.currencyCode); h.check(currency.getDefaultFractionDigits(), expected.currencyFractionDigits); h.check(currency.getSymbol(), expected.currencySymbol); try { Currency byCode = Currency.getInstance(currency.getCurrencyCode()); h.check(currency.getCurrencyCode(), byCode.getCurrencyCode()); h.check(currency.getDefaultFractionDigits(), byCode.getDefaultFractionDigits()); h.check(currency.getSymbol(), byCode.getSymbol()); } catch (IllegalArgumentException e) { h.fail("Currency code not supported: " + currency.getCurrencyCode()); } } } public void test(TestHarness h) { // Check all supported locales. // FIXME: Add all EURO countries. // Locale: Germany checkLocale(h, new Locale("de", "DE"), new ExpectedValues("de", "DE", "", "de_DE", "deu", "DEU", "Deutsch", "Deutschland", "", "Deutsch (Deutschland)", "EUR", 2, "EUR"), new ExpectedDateValues("18.03.1974", "18.03.74", "18.03.1974", "18. M\u00e4rz 1974", "17:20:30", "17:20", "17:20:30", "17:20:30 GMT"), new ExpectedNumberValues("1.000", "1.000.000", "100", "100,123", "10.000.000,123"), new ExpectedNumberValues("1.000,00 \u20ac", "1.000.000,00 \u20ac", "100,00 \u20ac", "100,12 \u20ac", "10.000.000,12 \u20ac"), new ExpectedNumberValues("-1.000,00 \u20ac", "-1.000.000,00 \u20ac", "-100,00 \u20ac", "-100,12 \u20ac", "-10.000.000,12 \u20ac"), new ExpectedNumberValues("1.000", "1.000.000", "100", "100", "10.000.000"), new ExpectedNumberValues("1.000", "1.000.000", "100", "100,123", "10.000.000,123"), new ExpectedNumberValues("100.000%", "100.000.000%", "10.000%", "10.012%", "1.000.000.012%")); // Locale: Belgium checkLocale(h, new Locale("fr", "BE"), new ExpectedValues("fr", "BE", "", "fr_BE", "fra", "BEL", "Franz\u00f6sisch", "Belgien", "", "Franz\u00f6sisch (Belgien)", "EUR", 2, "EUR"), new ExpectedDateValues("18-mars-1974", "18/03/74", "18-mars-1974", "18 mars 1974", "17:20:30", "17:20", "17:20:30", "17:20:30 GMT"), new ExpectedNumberValues("1.000", "1.000.000", "100", "100,123", "10.000.000,123"), new ExpectedNumberValues("1.000,00 \u20ac", "1.000.000,00 \u20ac", "100,00 \u20ac", "100,12 \u20ac", "10.000.000,12 \u20ac"), new ExpectedNumberValues("-1.000,00 \u20ac", "-1.000.000,00 \u20ac", "-100,00 \u20ac", "-100,12 \u20ac", "-10.000.000,12 \u20ac"), new ExpectedNumberValues("1.000", "1.000.000", "100", "100", "10.000.000"), new ExpectedNumberValues("1.000", "1.000.000", "100", "100,123", "10.000.000,123"), new ExpectedNumberValues("100.000 %", "100.000.000 %", "10.000 %", "10.012 %", "1.000.000.012 %")); // Locale: Greece // FIXME: Disabled for now due to pattern problems. /* checkLocale(h, new Locale("el", "GR"), new ExpectedValues("el", "GR", "", "el_GR", "ell", "GRC", "Griechisch", "Griechenland", "", "Griechisch (Griechenland)", "EUR", 2, "\u20ac"), new ExpectedDateValues("18.03.1974", "18.03.74", "18.03.1974", "18. M\u00e4rz 1974", "17:20:30", "17:20", "17:20:30", "17:20:30 GMT"), new ExpectedNumberValues("1.000", "1.000.000", "100", "100,123", "10.000.000,123"), new ExpectedNumberValues("1.000,00 \u20ac", "1.000.000,00 \u20ac", "100,00 \u20ac", "100,12 \u20ac", "10.000.000,12 \u20ac"), new ExpectedNumberValues("-1.000,00 \u20ac", "-1.000.000,00 \u20ac", "-100,00 \u20ac", "-100,12 \u20ac", "-10.000.000,12 \u20ac"), new ExpectedNumberValues("1.000", "1.000.000", "100", "100", "10.000.000"), new ExpectedNumberValues("1.000", "1.000.000", "100", "100,123", "10.000.000,123"), new ExpectedNumberValues("100.000%", "100.000.000%", "10.000%", "10.012%", "1.000.000.012%")); */ // Locale: Ireland checkLocale(h, new Locale("en", "IE"), new ExpectedValues("en", "IE", "", "en_IE", "eng", "IRL", "Englisch", "Irland", "", "Englisch (Irland)", "EUR", 2, "EUR"), new ExpectedDateValues("18-Mar-1974", "18/03/74", "18-Mar-1974", "18 March 1974", "17:20:30", "17:20", "17:20:30", "17:20:30 GMT"), new ExpectedNumberValues("1,000", "1,000,000", "100", "100.123", "10,000,000.123"), new ExpectedNumberValues("\u20ac1,000.00", "\u20ac1,000,000.00", "\u20ac100.00", "\u20ac100.12", "\u20ac10,000,000.12"), new ExpectedNumberValues("-\u20ac1,000.00", "-\u20ac1,000,000.00", "-\u20ac100.00", "-\u20ac100.12", "-\u20ac10,000,000.12"), new ExpectedNumberValues("1,000", "1,000,000", "100", "100", "10,000,000"), new ExpectedNumberValues("1,000", "1,000,000", "100", "100.123", "10,000,000.123"), new ExpectedNumberValues("100,000%", "100,000,000%", "10,000%", "10,012%", "1,000,000,012%")); // Locale: France checkLocale(h, new Locale("fr", "FR"), new ExpectedValues("fr", "FR", "", "fr_FR", "fra", "FRA", "Franz\u00f6sisch", "Frankreich", "", "Franz\u00f6sisch (Frankreich)", "EUR", 2, "EUR"), null, null, null, null, null, null, null); // Locale: Spain checkLocale(h, new Locale("es", "ES"), new ExpectedValues("es", "ES", "", "es_ES", "spa", "ESP", "Spanisch", "Spanien", "", "Spanisch (Spanien)", "EUR", 2, "EUR"), null, null, null, null, null, null, null); // Locale: Portugal checkLocale(h, new Locale("pt", "PT"), new ExpectedValues("pt", "PT", "", "pt_PT", "por", "PRT", "Portugiesisch", "Portugal", "", "Portugiesisch (Portugal)", "EUR", 2, "EUR"), null, null, null, null, null, null, null); // Locale: Italy checkLocale(h, new Locale("it", "IT"), new ExpectedValues("it", "IT", "", "it_IT", "ita", "ITA", "Italienisch", "Italien", "", "Italienisch (Italien)", "EUR", 2, "EUR"), null, null, null, null, null, null, null); // Locale: The Netherlands checkLocale(h, new Locale("nl", "NL"), new ExpectedValues("nl", "NL", "", "nl_NL", "nld", "NLD", "Niederl\u00e4ndisch", "Niederlande", "", "Niederl\u00e4ndisch (Niederlande)", "EUR", 2, "EUR"), new ExpectedDateValues("18-mrt-1974", "18-3-74", "18-mrt-1974", "18 maart 1974", "17:20:30", "17:20", "17:20:30", "17:20:30 GMT"), new ExpectedNumberValues("1.000", "1.000.000", "100", "100,123", "10.000.000,123"), new ExpectedNumberValues("\u20ac 1.000,00", "\u20ac 1.000.000,00", "\u20ac 100,00", "\u20ac 100,12", "\u20ac 10.000.000,12"), new ExpectedNumberValues("\u20ac 1.000,00-", "\u20ac 1.000.000,00-", "\u20ac 100,00-", "\u20ac 100,12-", "\u20ac 10.000.000,12-"), new ExpectedNumberValues("1.000", "1.000.000", "100", "100", "10.000.000"), new ExpectedNumberValues("1.000", "1.000.000", "100", "100,123", "10.000.000,123"), new ExpectedNumberValues("100.000%", "100.000.000%", "10.000%", "10.012%", "1.000.000.012%")); // Locale: Luxemborg checkLocale(h, new Locale("fr", "LU"), new ExpectedValues("fr", "LU", "", "fr_LU", "fra", "LUX", "Franz\u00f6sisch", "Luxemburg", "", "Franz\u00f6sisch (Luxemburg)", "EUR", 2, "EUR"), null, null, null, null, null, null, null); // Locale: United Kingdom checkLocale(h, Locale.UK, new ExpectedValues("en", "GB", "", "en_GB", "eng", "GBR", "Englisch", "Vereinigtes K\u00f6nigreich", "", "Englisch (Vereinigtes K\u00f6nigreich)", "GBP", 2, "GBP"), new ExpectedDateValues("18-Mar-1974", "18/03/74", "18-Mar-1974", "18 March 1974", "17:20:30", "17:20", "17:20:30", "17:20:30 GMT"), new ExpectedNumberValues("1,000", "1,000,000", "100", "100.123", "10,000,000.123"), new ExpectedNumberValues("\u00a31,000.00", "\u00a31,000,000.00", "\u00a3100.00", "\u00a3100.12", "\u00a310,000,000.12"), new ExpectedNumberValues("-\u00a31,000.00", "-\u00a31,000,000.00", "-\u00a3100.00", "-\u00a3100.12", "-\u00a310,000,000.12"), new ExpectedNumberValues("1,000", "1,000,000", "100", "100", "10,000,000"), new ExpectedNumberValues("1,000", "1,000,000", "100", "100.123", "10,000,000.123"), new ExpectedNumberValues("100,000%", "100,000,000%", "10,000%", "10,012%", "1,000,000,012%")); // Locale: United States checkLocale(h, Locale.US, new ExpectedValues("en", "US", "", "en_US", "eng", "USA", "Englisch", "Vereinigte Staaten von Amerika", "", "Englisch (Vereinigte Staaten von Amerika)", "USD", 2, "USD"), new ExpectedDateValues("Mar 18, 1974", "3/18/74", "Mar 18, 1974", "March 18, 1974", "5:20:30 PM", "5:20 PM", "5:20:30 PM", "5:20:30 PM GMT"), new ExpectedNumberValues("1,000", "1,000,000", "100", "100.123", "10,000,000.123"), new ExpectedNumberValues("$1,000.00", "$1,000,000.00", "$100.00", "$100.12", "$10,000,000.12"), new ExpectedNumberValues("($1,000.00)", "($1,000,000.00)", "($100.00)", "($100.12)", "($10,000,000.12)"), new ExpectedNumberValues("1,000", "1,000,000", "100", "100", "10,000,000"), new ExpectedNumberValues("1,000", "1,000,000", "100", "100.123", "10,000,000.123"), new ExpectedNumberValues("100,000%", "100,000,000%", "10,000%", "10,012%", "1,000,000,012%")); // Locale: Finland checkLocale(h, new Locale("fi", "FI"), new ExpectedValues("fi", "FI", "", "fi_FI", "fin", "FIN", "Finnisch", "Finnland", "", "Finnisch (Finnland)", "EUR", 2, "EUR"), new ExpectedDateValues("18.3.1974", "18.3.1974", "18.3.1974", "18. maaliskuuta 1974", "17:20:30", "17:20", "17:20:30", "klo 17.20.30"), new ExpectedNumberValues("1\u00a0000", "1\u00a0000\u00a0000", "100", "100,123", "10\u00a0000\u00a0000,123"), new ExpectedNumberValues("1\u00a0000,00 \u20ac", "1\u00a0000\u00a0000,00 \u20ac", "100,00 \u20ac", "100,12 \u20ac", "10\u00a0000\u00a0000,12 \u20ac"), new ExpectedNumberValues("-1\u00a0000,00 \u20ac", "-1\u00a0000\u00a0000,00 \u20ac", "-100,00 \u20ac", "-100,12 \u20ac", "-10\u00a0000\u00a0000,12 \u20ac"), new ExpectedNumberValues("1\u00a0000", "1\u00a0000\u00a0000", "100", "100", "10\u00a0000\u00a0000"), new ExpectedNumberValues("1\u00a0000", "1\u00a0000\u00a0000", "100", "100,123", "10\u00a0000\u00a0000,123"), new ExpectedNumberValues("100\u00a0000%", "100\u00a0000\u00a0000%", "10\u00a0000%", "10\u00a0012%", "1\u00a0000\u00a0000\u00a0012%")); // Locale: Turkey checkLocale(h, new Locale("tr", "TR"), new ExpectedValues("tr", "TR", "", "tr_TR", "tur", "TUR", "T\u00fcrkisch", "T\u00fcrkei", "", "T\u00fcrkisch (T\u00fcrkei)", "TRY", 2, "TRY"), new ExpectedDateValues("18.Mar.1974", "18.03.1974", "18.Mar.1974", "18 Mart 1974 Pazartesi", "17:20:30", "17:20", "17:20:30", "17:20:30 GMT"), new ExpectedNumberValues("1.000", "1.000.000", "100", "100,123", "10.000.000,123"), new ExpectedNumberValues("1.000,00 YTL", "1.000.000,00 YTL", "100,00 YTL", "100,12 YTL", "10.000.000,12 YTL"), new ExpectedNumberValues("-1.000,00 YTL", "-1.000.000,00 YTL", "-100,00 YTL", "-100,12 YTL", "-10.000.000,12 YTL"), new ExpectedNumberValues("1.000", "1.000.000", "100", "100", "10.000.000"), new ExpectedNumberValues("1.000", "1.000.000", "100", "100,123", "10.000.000,123"), new ExpectedNumberValues("% 100.000", "% 100.000.000", "% 10.000", "% 10.012", "% 1.000.000.012")); // Locale: Kazakstan checkLocale(h, new Locale("kk", "KZ"), new ExpectedValues("kk", "KZ", "", "kk_KZ", "kaz", "KAZ", "Kasachisch", "Kasachstan", "", "Kasachisch (Kasachstan)", "KZT", 2, "KZT"), null, null, null, null, null, null, null); // Locale: Estonia checkLocale(h, new Locale("et", "EE"), new ExpectedValues("et", "EE", "", "et_EE", "est", "EST", "Estnisch", "Estland", "", "Estnisch (Estland)", "EEK", 2, "EEK"), new ExpectedDateValues("18.03.1974", "18.03.74", "18.03.1974", "esmasp\u00e4ev, 18. M\u00e4rts 1974. a", "17:20:30", "17:20", "17:20:30", "17:20:30 GMT"), new ExpectedNumberValues("1\u00a0000", "1\u00a0000\u00a0000", "100", "100,123", "10\u00a0000\u00a0000,123"), new ExpectedNumberValues("1\u00a0000 kr", "1\u00a0000\u00a0000 kr", "100 kr", "100,12 kr", "10\u00a0000\u00a0000,12 kr"), new ExpectedNumberValues("-1\u00a0000 kr", "-1\u00a0000\u00a0000 kr", "-100 kr", "-100,12 kr", "-10\u00a0000\u00a0000,12 kr"), new ExpectedNumberValues("1\u00a0000", "1\u00a0000\u00a0000", "100", "100", "10\u00a0000\u00a0000"), new ExpectedNumberValues("1\u00a0000", "1\u00a0000\u00a0000", "100", "100,123", "10\u00a0000\u00a0000,123"), new ExpectedNumberValues("100\u00a0000%", "100\u00a0000\u00a0000%", "10\u00a0000%", "10\u00a0012%", "1\u00a0000\u00a0000\u00a0012%")); } } mauve-20140821/gnu/anttask/0000755000175000001440000000000012375316426014214 5ustar dokousersmauve-20140821/gnu/anttask/Tags.java0000644000175000001440000000455710164775501015765 0ustar dokousers/* Copyright (c) 2004 Thomas Zander This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.anttask; class Tags { String fromJDK="1.0", toJDK="99.0"; String fromJDBC="1.0", toJDBC="99.0"; public Tags(String line) { int start=0; for(int i=0; i <= line.length();i++) { if(i == line.length() || line.charAt(i) == ' ') { if(start < i) process(line.substring(start, i)); start = i+1; } } } public void process(String token) { //System.out.println(" +-- '"+ token +"'"); boolean end = token.startsWith("!"); if(end) token = token.substring(1); if(token.startsWith("jls") || token.startsWith("jdk")) { String value = token.substring(3); if(end) toJDK = value; else fromJDK = value; } else if(token.startsWith("jdbc")) { String value = token.substring(4); if(end) toJDBC = value; else fromJDBC = value; } } public boolean isValid(double javaVersion, double JDBCVersion) throws NumberFormatException { if(javaVersion != 0d) { double from = Double.parseDouble(fromJDK); if(from > javaVersion) return false; double end = Double.parseDouble(toJDK); if(end < javaVersion) return false; } if(JDBCVersion != 0d) { double from = Double.parseDouble(fromJDBC); if(from < JDBCVersion) return false; double end = Double.parseDouble(toJDBC); if(end > JDBCVersion) return false; } return true; } } mauve-20140821/gnu/anttask/RunTests.java0000644000175000001440000002063610167054770016653 0ustar dokousers/* Copyright (c) 2004 Thomas Zander This file is part of Mauve. Mauve 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 version 2, or (at your option) any later version. Mauve 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 Public License for more details. You should have received a copy of the GNU General Public License along with Mauve; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package gnu.anttask; import gnu.testlet.*; import java.io.*; import java.util.*; import org.apache.tools.ant.*; import org.apache.tools.ant.taskdefs.*; import org.apache.tools.ant.types.*; /** * Ant task to run Mauve test-suite. *

    Before asking questions; always refer to the ant manual first.

    Test classes are passed as child fileset tags, typically you simply pass the build dir for the project

    Parameters

    Attribute Description Required
    debug Prints additional debug info for the tests No
    verbose Lets the test suite be more verbose; also showing passed-tests for example No
    haltonfailure make the testrun halt as soon as a failure is failed (see also failonerror) No
    srcdir provide the sources directory allowing the parsing of a "Tags:" comment in the header of the file. If the testJDK or testJDBC are also supplied then tests that have tags specifying that their API comatibility are incompatible with the testJDK/testJDBC version will be skipped. No
    testJDK The version of the JDK you are running/simulating. Only tests that are compatible with this version will be run. No
    testJDBC The version of the JDBC API you are running/simulating. Only tests that are compatible with this version will be run. No
    failonerror If a test fails, should that be flagged as an error? Setting this and haltonfailure to true will stop the run as soon as a failure is found. No
    */ public class RunTests extends MatchingTask { private boolean verbose=false, debug=false, haltOnFailure=false, failOnError=true; private File sourceDir=null; private Vector filesets=new Vector(); private double javaVersion=0d, JDBCVersion=0d; public void execute() throws BuildException { if(sourceDir == null) System.err.println("Warning; without 'srcdir' element no Tag checking will be done"); MyTestHarness harness = new MyTestHarness (verbose, debug, haltOnFailure); Iterator iter = filesets.iterator(); while(iter.hasNext()) { FileSet fs = (FileSet) iter.next(); try { DirectoryScanner ds = fs.getDirectoryScanner(getProject()); Iterator classNames = Arrays.asList(ds.getIncludedFiles()).iterator(); while(classNames.hasNext()) { String filename = (String) classNames.next(); if(! filename.endsWith(".class")) continue; // only class files if(filename.lastIndexOf("$") > filename.lastIndexOf(File.separator)) continue; // no inner classeS filename=filename.substring(0, filename.length()-6); filename=filename.replace(File.separatorChar, '.'); if(shouldRunTest(filename)) { if(!verbose) System.out.println("Run: "+ filename); harness.runTest(filename); } } } catch (BuildException be) { // directory doesn't exist or is not readable if (failOnError) throw be; else log(be.getMessage(),Project.MSG_WARN); } } } public void setVerbose(boolean verbose) { this.verbose = verbose; } public void setDebug(boolean debug) { this.debug = debug; } public void setHaltOnFailure(boolean on) { haltOnFailure = on; } public void setFailOnError(boolean on) { failOnError = on; } public void addFileset(FileSet set) { filesets.add(set); } public void setSrcdir(File sourceDir) { this.sourceDir = sourceDir; } public void setTestJDK(String jdk) { jdk=jdk.toLowerCase().trim(); if(jdk.startsWith("jdk")) { try { javaVersion = Double.parseDouble(jdk.substring(3)); return; } catch(NumberFormatException e) { } } System.err.println("Failed to parse the testJDK argument; format is: 'JDK1.4'"); } public void setTestJDBC(String jdbc) { jdbc=jdbc.toLowerCase().trim(); if(jdbc.startsWith("jdbc")) { try { javaVersion = Double.parseDouble(jdbc.substring(4)); return; } catch(NumberFormatException e) { } } System.err.println("Failed to parse the testJDBC argument; format is: 'JDBC2.0'"); } private boolean shouldRunTest(String filename) { if(sourceDir == null) return true; File sourceFile = new File(sourceDir, filename.replace('.', File.separatorChar)+".java"); if(! sourceFile.exists()) return false; try { Reader reader = new FileReader(sourceFile); StringBuffer buf = new StringBuffer(); int maxLines=30; while(maxLines > 0) { int character = reader.read(); if(character == -1) break; if(character == '\n') { int index = buf.indexOf("Tags:") + 5; // 5 == length of string if(index > 5 && buf.length() > index) { String tags = buf.substring(index).trim().toLowerCase(); if("not-a-test".equals(tags)) return false; try { return new Tags(tags).isValid(javaVersion, JDBCVersion); } catch(NumberFormatException e) { System.err.println("Unreadable tags in class: "+ filename); return false; } } buf = new StringBuffer(); maxLines--; } else buf.append((char) character); } } catch(IOException e) { } return false; } private static class MyTestHarness extends SimpleTestHarness { private boolean haltOnFailure; // extend it b/cause someone thought it should not have public constructors. public MyTestHarness(boolean verbose, boolean debug, boolean haltOnFailure) { super(verbose, debug, false, false, null); this.haltOnFailure = haltOnFailure; } protected void runTest (String name) throws BuildException { super.runtest(name); if(haltOnFailure && getFailures() > 0) throw new BuildException("Failures"); } } } mauve-20140821/COPYING0000644000175000001440000004310506634200671013007 0ustar dokousers GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 19yy 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 version 2 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 Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. mauve-20140821/install-sh0000755000175000001440000001230406620624517013761 0ustar dokousers#!/bin/sh # # install - install a program, script, or datafile # This comes from X11R5 (mit/util/scripts/install.sh). # # Copyright 1991 by the Massachusetts Institute of Technology # # Permission to use, copy, modify, distribute, and sell this software and its # documentation for any purpose is hereby granted without fee, provided that # the above copyright notice appear in all copies and that both that # copyright notice and this permission notice appear in supporting # documentation, and that the name of M.I.T. not be used in advertising or # publicity pertaining to distribution of the software without specific, # written prior permission. M.I.T. makes no representations about the # suitability of this software for any purpose. It is provided "as is" # without express or implied warranty. # # This script is compatible with the BSD install script, but was written # from scratch. # # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" # put in absolute paths if you don't have them in your path; or use env. vars. mvprog="${MVPROG-mv}" cpprog="${CPPROG-cp}" chmodprog="${CHMODPROG-chmod}" chownprog="${CHOWNPROG-chown}" chgrpprog="${CHGRPPROG-chgrp}" stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" transformbasename="" transform_arg="" instcmd="$mvprog" chmodcmd="$chmodprog 0755" chowncmd="" chgrpcmd="" stripcmd="" rmcmd="$rmprog -f" mvcmd="$mvprog" src="" dst="" dir_arg="" while [ x"$1" != x ]; do case $1 in -c) instcmd="$cpprog" shift continue;; -d) dir_arg=true shift continue;; -m) chmodcmd="$chmodprog $2" shift shift continue;; -o) chowncmd="$chownprog $2" shift shift continue;; -g) chgrpcmd="$chgrpprog $2" shift shift continue;; -s) stripcmd="$stripprog" shift continue;; -t=*) transformarg=`echo $1 | sed 's/-t=//'` shift continue;; -b=*) transformbasename=`echo $1 | sed 's/-b=//'` shift continue;; *) if [ x"$src" = x ] then src=$1 else # this colon is to work around a 386BSD /bin/sh bug : dst=$1 fi shift continue;; esac done if [ x"$src" = x ] then echo "install: no input file specified" exit 1 else true fi if [ x"$dir_arg" != x ]; then dst=$src src="" if [ -d $dst ]; then instcmd=: else instcmd=mkdir fi else # Waiting for this to be detected by the "$instcmd $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if [ -f $src -o -d $src ] then true else echo "install: $src does not exist" exit 1 fi if [ x"$dst" = x ] then echo "install: no destination specified" exit 1 else true fi # If destination is a directory, append the input filename; if your system # does not like double slashes in filenames, you may need to add some logic if [ -d $dst ] then dst="$dst"/`basename $src` else true fi fi ## this sed command emulates the dirname command dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` # Make sure that the destination directory exists. # this part is taken from Noah Friedman's mkinstalldirs script # Skip lots of stat calls in the usual case. if [ ! -d "$dstdir" ]; then defaultIFS=' ' IFS="${IFS-${defaultIFS}}" oIFS="${IFS}" # Some sh's can't handle IFS=/ for some reason. IFS='%' set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` IFS="${oIFS}" pathcomp='' while [ $# -ne 0 ] ; do pathcomp="${pathcomp}${1}" shift if [ ! -d "${pathcomp}" ] ; then $mkdirprog "${pathcomp}" else true fi pathcomp="${pathcomp}/" done fi if [ x"$dir_arg" != x ] then $doit $instcmd $dst && if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi else # If we're going to rename the final executable, determine the name now. if [ x"$transformarg" = x ] then dstfile=`basename $dst` else dstfile=`basename $dst $transformbasename | sed $transformarg`$transformbasename fi # don't allow the sed command to completely eliminate the filename if [ x"$dstfile" = x ] then dstfile=`basename $dst` else true fi # Make a temp file name in the proper directory. dsttmp=$dstdir/#inst.$$# # Move or copy the file name to the temp name $doit $instcmd $src $dsttmp && trap "rm -f ${dsttmp}" 0 && # and set any options; do chmod last to preserve setuid bits # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $instcmd $src $dsttmp" command. if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && # Now rename the file to the real destination. $doit $rmcmd -f $dstdir/$dstfile && $doit $mvcmd $dsttmp $dstdir/$dstfile fi && exit 0 mauve-20140821/Makefile.am0000644000175000001440000000205711745373615014021 0ustar dokousers## Process this file with automake to produce Makefile.in. ## FIXME: dependencies AUTOMAKE_OPTIONS = foreign subdir-objects no-dependencies JAVACFLAGS = -g -source 1.5 -target 1.5 -Xlint:all TESTFLAGS = check_DATA = $(STAMP) EXTRA_DIST = Harness.java RunnerProcess.java gnu junit VERSION = ${shell date +%F} harness_files = \ $(srcdir)/Harness.java \ $(srcdir)/RunnerProcess.java \ $(srcdir)/gnu/testlet/TestHarness.java \ $(srcdir)/gnu/testlet/Testlet.java \ $(srcdir)/gnu/testlet/TestSecurityManager.java \ $(srcdir)/gnu/testlet/ResourceNotFoundException.java \ $(srcdir)/gnu/testlet/TestReport.java \ $(srcdir)/gnu/testlet/TestResult.java \ $(srcdir)/gnu/testlet/VisualTestlet.java \ \ gnu/testlet/config.java \ \ $(srcdir)/junit/framework/*.java \ $(srcdir)/junit/runner/*.java \ $(srcdir)/junit/textui/*.java harness: $(JAVAC) $(JAVACFLAGS) -d . $(harness_files) all-local: harness check-local: $(JAVA) Harness ## For now can't define this conditionally. SUFFIXES = .class .java clean-local: find . -name '*.class' -print | xargs rm -f mauve-20140821/README0000644000175000001440000003002511721205174012625 0ustar dokousersThis is Mauve, a free test suite for the Java Class Libraries. Mauve is intended to test several different varieties of the libraries. For instance, it will contain tests that are specific to a particular JDK version. Tags in the test files help the test framework decide which tests should or should not be run against a given runtime. This file has two main sections: 0) CONFIGURING AND BUILDING THE TESTSUITE 1) RUNNING THE TESTS 2) NOTES ******CONFIGURING AND BUILDING THE TESTSUITE******* To build, first run configure. Below we cover the following: 0. Specifying which VM to test. 1. Configuring the auto-compilation feature. 2. Environment variables for configure. 3. Other options to configure. 4. Building the testsuite. 0. Specifying the VM to test. The configure script takes the following option that specifies which java implementation the testsuite will test: --with-vm=TESTVM For example, specifying --with-vm=jamvm will invoke "jamvm" when running the tests, and will therefore test the java implementation associated with your jamvm installation. If this option is not specified, it defaults to "java". 1. Configuring the auto-compilation feature. If you plan to use the auto-compilation feature of the Harness, which compiles tests inline before running them (so new tests, or changed tests are run properly without an additional step), you need to be sure it is properly configured. The following options are associated with auto-compilation: --enable-auto-compilation Enable the auto-compilation feature --with-ecj-jar Specify the location of the eclipse-ecj.jar file for the compiler to use. This defaults to /usr/share/java/eclipse-ecj.jar and only needs to be specified if the location on your machine is different from this. If no valid ecj jar is found, auto-compilation will be turned off. --with-bootclasspath Specify the bootclasspath for the compiler. Auto-compilation is enabled by default, and the bootclasspath is found automatically. If you wish to disable auto-compilation or change the bootclasspath you should use the appropriate option(s) above. 2. Environment variables for configure. You can control the configuration with some environment variables: JAVA Name of Java interpreter to use JAVAC Name of Java (to class) compiler to use GCJ Name of Java (to object) compiler to use GCJ is only used when the `--with-gcj' option is given to configure. 3. Other configure options. The configure script also supports the following `--with' options: --with-gcj Indicate you will be using gcj, this will tell make to build the object files and use the appropriate compiler --with-tmpdir=DIR Put temporary files in DIR defaults to `/tmp' --with-mailhost=HOSTNAME Use mail server at HOSTNAME for socket tests defaults to `mx10.gnu.org' (Use this option if your local firewall blocks outgoing connections on port 25.) 4. Building the testsuite. If you are using the auto-compilation feature, there is no need to build the tests, it will suffice to compile the files Harness.java and RunnerProcess.java. If you are using gcj or are not using the auto-compilation feature, you should now run GNU make to build the testsuite. *******RUNNING THE TESTS******* The Mauve tests are run using the harness script in the top directory. This section provides instructions on how to perform the following tasks: 0. Running all the tests. 1. Specify the VM on which to run the tests and any VM arguments 2. Select a subset of the tests to run 3. Use an input file to specify the tests to run 4. Change the timeout interval 5. Change the information displayed when tests are run 6. Turn on (or off) test auto-compilation. 7. Test output format 0. Running all the tests To run all the tests in the Mauve test suite, type 'HARNESSVM Harness' where HARNESSVM is the VM you wish to use to run the Harness. Note that this is NOT the same as the VM on which you run the tests. Read item 1 to learn how to set the VM on which you run the tests. You can also run all the tests by typing 'HARNESSVM Harness gnu.testlet'. 1. Specifying the VM on which to run the tests and any VM arguments The VM on which to run the tests can be specified by configure as described in the first section, CONFIGURING AND BUILDING THE TESTSUITE. It can also be done via command line options to the Harness (which override the configure options). To set the VM via the command line, use: -vm [vmpath] If, for example, I wanted to run all the JTable tests using JamVM, and then run them all on Sun's VM for comparison, I would type: HARNESSVM Harness javax.swing.JTable -vm jamvm and then HARNESSVM Harness javax.swing.JTable -vm java if "java" was a system command to run Sun's VM. If not, you should specify the path to Sun's "java" executable (ex: /usr/lib/java-1.5.0/bin/java). Note again that HARNESSVM is just the VM used to run the harness, and not the tests. This is done for performance considerations to allow the Harness to be natively compiled and ran while testing a variety of VMs. To specify arguments for the VM, use: -vmarg ARGUMENT For example, the following command will run the JTable tests on JamVM with the -Xnocompact argument: HARNESSVM Harness javax.swing.JTable -vm jamvm -vmarg -Xnocompact For debugging purposes it may be helpful to run the testprocess with a special program like strace, time or gdb. To prepend such a command before the VM use the -vmprefix argument and specify a path to the program you want to run: -vmprefix [prefixpath] For example, the following command will run a Socket test with strace on Cacao: HARNESSVM Harness java.net.Socket -vm cacao -vmprefix strace 2. Selecting a subset of the tests to run This is a common task for developers, you may be working to fix a bug in a certain area and want to run all the related tests, but not the entire testsuite. Simply specify the folder containing the tests, and all the tests in that folder (and its subfolders, although this can be turned off) will be run. Example: run all the java.net tests (remember, this uses system default "java" unless you have environment variable MAUVEVM set): 1. HARNESSVM Harness java.net 2. HARNESSVM Harness gnu.testlet.java.net 3. HARNESSVM Harness gnu/testlet/java/net 3. HARNESSVM Harness gnu/testlet/java/net/ * It makes no difference if you use "." or "/", or if you have the "gnu.testlet" preceeding the test folder or if you have a trailing "/". You may want to exclude certain tests from a run, this done using the -exclude option. Extending our previous example, let's run all the java.net tests except for the java.net.Socket tests. 1. HARNESSVM Harness java.net -exclude java.net.Socket 2. HARNESSVM Harness -exclude java.net.Socket java.net The test or folder you want to exclude must follow the -exclude option, but other than that, the order doesn't matter. In example #2 above java.net is still taken to be tests you want to run, not tests you want to exclude. So if you want to exclude more than one folder, you need to use the -exclude flag multiple times. If a folder has several subfolders and you want to exclude them all, you can use the -norecursion option instead of explicitly excluding them all. So to run the AbstractDocument tests but not the BranchElement or LeafElement tests, type: HARNESSVM Harness javax.swing.text.AbstractDocument -norecursion Again, the order of the arguments/options doesn't matter. 3. Using an input file to specify tests to be run Simply use the -file [filename] option. The input file should list, one per line, the tests or folders you want to test. Example: HARNESSVM Harness -file myInputFile The input file specifies only tests to be run, not excluded, to exclude tests you need to explicitly do so as in Section 2 above. Example: HARNESSVM Harness -file myInputFile -exclude java.net.Socket 4. Changing the timeout interval The Harness detects tests that have hung and terminates them. It does so simply by allowing all tests to run for 60 seconds and if they haven't completed, declaring them hung. If a test simply takes a long time you may want to increase this interval. If on the other hand, no passing tests take longer than a few seconds and hanging tests are slowing down your test runs, you may want to decrease the interval. To set the timeout interval use the -timeout [interval] option. The interval is specified in milliseconds. Example: HARNESSVM Harness gnu.java.security -timeout 30000 will set the timeout to be 30 seconds instead of 60. 5. Changing the information displayed during test runs By default the Harness prints only messages for those tests that fail, and prints full stack traces for uncaught exceptions. The following options affect what is printed: -hidecompilefails: hides failures from the compiler. These can still be found in the .ecjErr file. -verbose: prints information about each passing harness.check() call within the tests, whether they pass or fail. -noexceptions: suppress full stack traces for uncaught exceptions -showpasses: prints one-line summaries for passing tests -debug: prints toString() information when a harness.check(Object, Object) call fails. 6. Turning off (or on) test auto-compilation The auto-compilation feature is enabled by default, but can be turned off by using the --disable-auto-compilation option to configure. You can also turn off the option by using the following Harness option: -compile no OR -compile false If you have disabled auto-compilation in configure but wish to turn it on for a particular test run, use -compile yes OR -compile true Note that auto-compilation requires a correct path to eclipse-ecj.jar and a correct bootclasspath. The following options deal with this: -bootclasspath BOOTCLASSPATH -ecj-jar ECJ_JAR_LOCATION These can also be specified at configure time via --with-bootclasspath and --with-ecj-jar, the latter defaulting to /usr/share/java/eclipse-ecj.jar if no location is specified. The default bootclasspath is found automatically and shouldn't need to be changed unless you specifically want to specify an alternate location. So the default setup of: 1. ./configure 2. make 3. HARNESSVM Harness will run with auto-compilation enabled with the ecj jar being /usr/share/java/eclipse-ecj.jar and the bootclasspath found automatically. 7. Test output format Test results are available in xml format by use of the '-xmlout' and '-autoxml' flags '-xmlout' is supplied with the xml file name where the total test run data will be stored: HARNESSVM Harness -xmlout XML_FILE '-autoxml' is supplied with the directory name, where individual xml files will be generated and stored for each test executed: HARNESSVM Harness -autoxml RESULTS_DIRECTORY ******NOTES******* This section explains some additional notes to take into account when using Mauve. It has the following subsections: 0. External Data 0. External Data Tests can have additional data included. Usually, data is located either in the same package of the test, or in a subpackage. The following files come from external sources. The list includes the last known license at time the file was added, the source and the location in Mauve. For details on the use see the corresponding tests. * gnu/testlet/javax/sound/sampled/data/k3b_success1.wav, GPL, k3b-1.0.1-1.fc7.2 (fedora 7) * gnu/testlet/javax/sound/sampled/data/k3b_success1.au, GPL, converted from k3b_success1.wav. mauve-20140821/ChangeLog0000644000175000001440000400702712373065023013532 0ustar dokousers2014-08-14 Pavel Tisnovsky * testlet/java/lang/TypeNotPresentException/classInfo/getConstructors.java: * testlet/java/lang/TypeNotPresentException/classInfo/getDeclaredConstructors.java: * testlet/java/lang/TypeNotPresentException/classInfo/getDeclaredFields.java: * testlet/java/lang/TypeNotPresentException/classInfo/getDeclaredMethods.java: * testlet/java/lang/TypeNotPresentException/classInfo/getFields.java: * testlet/java/lang/TypeNotPresentException/classInfo/getInterfaces.java: * testlet/java/lang/TypeNotPresentException/classInfo/getMethods.java: * testlet/java/lang/TypeNotPresentException/classInfo/getModifiers.java: * testlet/java/lang/TypeNotPresentException/classInfo/getName.java: * testlet/java/lang/TypeNotPresentException/classInfo/getPackage.java: Updated JavaDoc in those tests. 2014-08-13 Pavel Tisnovsky * testlet/java/lang/TypeNotPresentException/TryCatch.java: * testlet/java/lang/TypeNotPresentException/classInfo/InstanceOf.java: * testlet/java/lang/TypeNotPresentException/classInfo/isLocalClass.java: * testlet/java/lang/TypeNotPresentException/classInfo/isMemberClass.java: * testlet/java/lang/TypeNotPresentException/classInfo/isPrimitive.java: * testlet/java/lang/TypeNotPresentException/classInfo/isSynthetic.java: Updated JavaDoc in those six tests. 2014-08-12 Pavel Tisnovsky * testlet/java/lang/UnknownError/classInfo/getConstructors.java: * testlet/java/lang/UnknownError/classInfo/getDeclaredConstructors.java: * testlet/java/lang/UnknownError/classInfo/getDeclaredFields.java: * testlet/java/lang/UnknownError/classInfo/getDeclaredMethods.java: Updated JavaDoc in those four tests. 2014-08-11 Pavel Tisnovsky * testlet/java/lang/UnknownError/classInfo/getAnnotations.java: * testlet/java/lang/UnknownError/classInfo/getCanonicalName.java: * testlet/java/lang/UnknownError/classInfo/getEnclosingMethod.java: * testlet/java/lang/UnknownError/classInfo/getField.java: * testlet/java/lang/UnknownError/classInfo/getMethod.java: Five new tests added into java/lang/UnknownError/classInto. 2014-08-07 Pavel Tisnovsky * testlet/java/lang/UnknownError/classInfo/getFields.java: * testlet/java/lang/UnknownError/classInfo/getInterfaces.java: * testlet/java/lang/UnknownError/classInfo/getMethods.java: * testlet/java/lang/UnknownError/classInfo/getModifiers.java: * testlet/java/lang/UnknownError/classInfo/getName.java: * testlet/java/lang/UnknownError/classInfo/getPackage.java: * testlet/java/lang/UnknownError/classInfo/getSimpleName.java: * testlet/java/lang/UnknownError/classInfo/getSuperclass.java: * testlet/java/lang/UnknownError/classInfo/isAnnotation.java: Updated JavaDoc in those nine tests. 2014-08-06 Pavel Tisnovsky * testlet/java/lang/UnknownError/classInfo/getAnnotation.java: * testlet/java/lang/UnknownError/classInfo/getClasses.java: * testlet/java/lang/UnknownError/classInfo/getComponentType.java: * testlet/java/lang/UnknownError/classInfo/getConstructor.java: * testlet/java/lang/UnknownError/classInfo/getDeclaredConstructor.java: * testlet/java/lang/UnknownError/classInfo/getEnclosingConstructor.java: Another six new tests added into java/lang/UnknownError/classInto. 2014-08-05 Pavel Tisnovsky * testlet/java/lang/UnknownError/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/UnknownError/classInfo/getDeclaredClasses.java: * testlet/java/lang/UnknownError/classInfo/getDeclaredField.java: * testlet/java/lang/UnknownError/classInfo/getDeclaredMethod.java: * testlet/java/lang/UnknownError/classInfo/getDeclaringClass.java: * testlet/java/lang/UnknownError/classInfo/getEnclosingClass.java: Six new tests added into java/lang/UnknownError/classInto. 2014-08-04 Pavel Tisnovsky * testlet/java/lang/UnknownError/classInfo/isAnnotationPresent.java: * testlet/java/lang/UnknownError/classInfo/isAnonymousClass.java: * testlet/java/lang/UnknownError/classInfo/isArray.java: * testlet/java/lang/UnknownError/classInfo/isAssignableFrom.java: * testlet/java/lang/UnknownError/classInfo/isEnum.java: * testlet/java/lang/UnknownError/classInfo/isInstance.java: Updated JavaDoc in those six tests. 2014-08-01 Pavel Tisnovsky * testlet/java/lang/UnknownError/TryCatch.java: * testlet/java/lang/UnknownError/constructor.java: * testlet/java/lang/UnknownError/classInfo/InstanceOf.java: * testlet/java/lang/UnknownError/classInfo/isInterface.java: * testlet/java/lang/UnknownError/classInfo/isLocalClass.java: * testlet/java/lang/UnknownError/classInfo/isMemberClass.java: * testlet/java/lang/UnknownError/classInfo/isPrimitive.java: * testlet/java/lang/UnknownError/classInfo/isSynthetic.java: Updated JavaDoc in those eight tests. 2014-07-22 Pavel Tisnovsky * testlet/java/lang/UnsatisfiedLinkError/classInfo/getDeclaredConstructors.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/getDeclaredFields.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/getDeclaredMethods.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/getFields.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/getInterfaces.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/getMethods.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/getModifiers.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/getName.java: Updated JavaDoc in those six tests. 2014-07-21 Pavel Tisnovsky * testlet/java/lang/UnsatisfiedLinkError/classInfo/getDeclaringClass.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/getEnclosingClass.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/getEnclosingConstructor.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/getEnclosingMethod.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/getField.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/getMethod.java: Six new tests added into UnsatisfiedLinkError/classInto. 2014-07-18 Pavel Tisnovsky * testlet/java/lang/UnsatisfiedLinkError/classInfo/getConstructor.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/getDeclaredClasses.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/getDeclaredConstructor.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/getDeclaredField.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/getDeclaredMethod.java: Six new tests added into UnsatisfiedLinkError/classInto. 2014-07-17 Pavel Tisnovsky * testlet/java/lang/UnsatisfiedLinkError/classInfo/getConstructors.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/getPackage.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/getSimpleName.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/getSuperclass.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/isAnnotation.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/isAnnotationPresent.java: Updated JavaDoc in those six tests. 2014-07-16 Pavel Tisnovsky * testlet/java/lang/UnsatisfiedLinkError/classInfo/getAnnotation.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/getAnnotations.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/getCanonicalName.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/getClasses.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/getComponentType.java: Five new tests added into UnsatisfiedLinkError/classInto. 2014-07-15 Pavel Tisnovsky * testlet/java/lang/UnsatisfiedLinkError/classInfo/isAnonymousClass.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/isArray.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/isAssignableFrom.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/isEnum.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/isInstance.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/isInterface.java: Updated JavaDoc in those six tests. 2014-07-14 Pavel Tisnovsky * testlet/java/lang/UnsatisfiedLinkError/TryCatch.java: * testlet/java/lang/UnsatisfiedLinkError/constructor.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/InstanceOf.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/isLocalClass.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/isMemberClass.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/isPrimitive.java: * testlet/java/lang/UnsatisfiedLinkError/classInfo/isSynthetic.java: Updated JavaDoc in those seven tests. 2014-07-04 Pavel Tisnovsky * testlet/javax/crypto/Cipher/RSACipherTest.java: Added new crypto tests for RSA cipher. 2014-07-04 Pavel Tisnovsky * testlet/java/lang/UnsupportedOperationException/classInfo/isArray.java: * testlet/java/lang/UnsupportedOperationException/classInfo/isAssignableFrom.java: * testlet/java/lang/UnsupportedOperationException/classInfo/isEnum.java: * testlet/java/lang/UnsupportedOperationException/classInfo/isInstance.java: * testlet/java/lang/UnsupportedOperationException/classInfo/isInterface.java: * testlet/java/lang/UnsupportedOperationException/classInfo/isLocalClass.java: * testlet/java/lang/UnsupportedOperationException/classInfo/isMemberClass.java: * testlet/java/lang/UnsupportedOperationException/classInfo/isPrimitive.java: * testlet/java/lang/UnsupportedOperationException/classInfo/isSynthetic.java: Updated (c) year in those nine tests. 2014-07-03 Pavel Tisnovsky * testlet/javax/crypto/Cipher/RC4CipherTest.java: Added new crypto tests for RC4 cipher. 2014-07-03 Pavel Tisnovsky * testlet/java/lang/UnsupportedOperationException/classInfo/getMethods.java: * testlet/java/lang/UnsupportedOperationException/classInfo/getModifiers.java: * testlet/java/lang/UnsupportedOperationException/classInfo/getName.java: * testlet/java/lang/UnsupportedOperationException/classInfo/getPackage.java: * testlet/java/lang/UnsupportedOperationException/classInfo/getSimpleName.java: * testlet/java/lang/UnsupportedOperationException/classInfo/getSuperclass.java: * testlet/java/lang/UnsupportedOperationException/classInfo/isAnnotation.java: * testlet/java/lang/UnsupportedOperationException/classInfo/isAnnotationPresent.java: * testlet/java/lang/UnsupportedOperationException/classInfo/isAnonymousClass.java: Updated (c) year in those nine tests. 2014-07-02 Pavel Tisnovsky * testlet/javax/crypto/Cipher/RC2CipherTest.java: Added new crypto tests for RC2 cipher. 2014-07-02 Pavel Tisnovsky * testlet/java/lang/UnsupportedOperationException/classInfo/getConstructor.java: * testlet/java/lang/UnsupportedOperationException/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/UnsupportedOperationException/classInfo/getDeclaredClasses.java: * testlet/java/lang/UnsupportedOperationException/classInfo/getDeclaredConstructor.java: * testlet/java/lang/UnsupportedOperationException/classInfo/getEnclosingConstructor.java: * testlet/java/lang/UnsupportedOperationException/classInfo/getEnclosingMethod.java: Six new tests added into UnsupportedOperationException/classInto. 2014-07-01 Pavel Tisnovsky * testlet/javax/crypto/Cipher/AESCipherTest.java: * testlet/javax/crypto/Cipher/DESCipherTest.java: Updated JavaDoc. 2014-07-01 Pavel Tisnovsky * testlet/java/lang/UnsupportedOperationException/classInfo/getComponentType.java: * testlet/java/lang/UnsupportedOperationException/classInfo/getDeclaredField.java: * testlet/java/lang/UnsupportedOperationException/classInfo/getDeclaredMethod.java: * testlet/java/lang/UnsupportedOperationException/classInfo/getDeclaringClass.java: * testlet/java/lang/UnsupportedOperationException/classInfo/getEnclosingClass.java: Added five new test into UnsupportedOperationException/classInto. 2014-06-19 Pavel Tisnovsky * testlet/java/lang/UnsupportedOperationException/classInfo/getAnnotation.java: * testlet/java/lang/UnsupportedOperationException/classInfo/getAnnotations.java: * testlet/java/lang/UnsupportedOperationException/classInfo/getCanonicalName.java: * testlet/java/lang/UnsupportedOperationException/classInfo/getClasses.java: * testlet/java/lang/UnsupportedOperationException/classInfo/getField.java: * testlet/java/lang/UnsupportedOperationException/classInfo/getMethod.java: Added six new tests into UnsupportedOperationException/classInto. 2014-06-18 Pavel Tisnovsky * testlet/java/lang/UnsupportedOperationException/TryCatch.java: * testlet/java/lang/UnsupportedOperationException/constructor.java: * testlet/java/lang/UnsupportedOperationException/classInfo/InstanceOf.java: * testlet/java/lang/UnsupportedOperationException/classInfo/getConstructors.java: * testlet/java/lang/UnsupportedOperationException/classInfo/getDeclaredConstructors.java: * testlet/java/lang/UnsupportedOperationException/classInfo/getDeclaredFields.java: * testlet/java/lang/UnsupportedOperationException/classInfo/getDeclaredMethods.java: * testlet/java/lang/UnsupportedOperationException/classInfo/getFields.java: * testlet/java/lang/UnsupportedOperationException/classInfo/getInterfaces.java: Updated (c) year in those nine tests. 2014-06-17 Pavel Tisnovsky * testlet/java/lang/VerifyError/classInfo/getMethod.java: Added new test. * testlet/java/lang/VerifyError/classInfo/getMethods.java: * testlet/java/lang/VerifyError/classInfo/getModifiers.java: * testlet/java/lang/VerifyError/classInfo/getName.java: * testlet/java/lang/VerifyError/classInfo/getPackage.java: * testlet/java/lang/VerifyError/classInfo/getSimpleName.java: Updated (c) year in those five tests. 2014-06-16 Pavel Tisnovsky * testlet/java/lang/VerifyError/classInfo/getConstructors.java: * testlet/java/lang/VerifyError/classInfo/getDeclaredConstructors.java: * testlet/java/lang/VerifyError/classInfo/getDeclaredFields.java: * testlet/java/lang/VerifyError/classInfo/getDeclaredMethods.java: * testlet/java/lang/VerifyError/classInfo/getFields.java: * testlet/java/lang/VerifyError/classInfo/getInterfaces.java: Updated (c) year in those six tests. 2014-06-13 Pavel Tisnovsky * testlet/java/lang/VerifyError/classInfo/getSuperclass.java: * testlet/java/lang/VerifyError/classInfo/isAnnotation.java: * testlet/java/lang/VerifyError/classInfo/isAnnotationPresent.java: * testlet/java/lang/VerifyError/classInfo/isAnonymousClass.java: * testlet/java/lang/VerifyError/classInfo/isArray.java: * testlet/java/lang/VerifyError/classInfo/isAssignableFrom.java: * testlet/java/lang/VerifyError/classInfo/isEnum.java: Updated existing tests, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2014-06-12 Pavel Tisnovsky * testlet/java/security/MessageDigest/MessageDigestMD5Test.java: * testlet/java/security/MessageDigest/MessageDigestSHA1Test.java: * testlet/java/security/MessageDigest/MessageDigestSHA256Test.java: * testlet/java/security/MessageDigest/MessageDigestSHA384Test.java: * testlet/java/security/MessageDigest/MessageDigestSHA512Test.java: Updated (c) year in those five tests. 2014-06-12 Pavel Tisnovsky * testlet/java/lang/VerifyError/classInfo/getConstructor.java: * testlet/java/lang/VerifyError/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/VerifyError/classInfo/getDeclaredClasses.java: * testlet/java/lang/VerifyError/classInfo/getDeclaredConstructor.java: * testlet/java/lang/VerifyError/classInfo/getDeclaredMethod.java: * testlet/java/lang/VerifyError/classInfo/getField.java: Six new tests added into VerifyError/classInfo. 2014-06-11 Pavel Tisnovsky * testlet/java/lang/VerifyError/classInfo/getDeclaredField.java: * testlet/java/lang/VerifyError/classInfo/getDeclaringClass.java: * testlet/java/lang/VerifyError/classInfo/getEnclosingClass.java: * testlet/java/lang/VerifyError/classInfo/getEnclosingConstructor.java: * testlet/java/lang/VerifyError/classInfo/getEnclosingMethod.java: Five new tests added into VerifyError/classInfo. 2014-06-11 Pavel Tisnovsky * testlet/javax/crypto/Cipher/DESCipherTest.java: Added test for DES Cipher. 2014-06-10 Pavel Tisnovsky * testlet/javax/crypto/Cipher/AESCipherTest.java: Added test for AES Cipher. 2014-06-10 Pavel Tisnovsky * testlet/java/lang/VerifyError/classInfo/getAnnotation.java: * testlet/java/lang/VerifyError/classInfo/getAnnotations.java: * testlet/java/lang/VerifyError/classInfo/getCanonicalName.java: * testlet/java/lang/VerifyError/classInfo/getClasses.java: * testlet/java/lang/VerifyError/classInfo/getComponentType.java: Five new tests added into VerifyError/classInfo. 2014-06-09 Pavel Tisnovsky * testlet/java/security/MessageDigest/MessageDigestSHA512Test.java: Added test for checking if JVM supports the following standard MessageDigest algorithms: SHA512. 2014-06-09 Pavel Tisnovsky * testlet/java/lang/VerifyError/TryCatch.java: * testlet/java/lang/VerifyError/constructor.java: * testlet/java/lang/VerifyError/classInfo/InstanceOf.java: * testlet/java/lang/VerifyError/classInfo/isInstance.java: * testlet/java/lang/VerifyError/classInfo/isInterface.java: * testlet/java/lang/VerifyError/classInfo/isLocalClass.java: * testlet/java/lang/VerifyError/classInfo/isMemberClass.java: * testlet/java/lang/VerifyError/classInfo/isPrimitive.java: * testlet/java/lang/VerifyError/classInfo/isSynthetic.java: Updated existing tests, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2014-06-06 Pavel Tisnovsky * testlet/java/security/MessageDigest/MessageDigestSHA384Test.java: Added test for checking if JVM supports the following standard MessageDigest algorithms: SHA384. 2014-06-06 Pavel Tisnovsky * testlet/java/lang/NumberFormatException/classInfo/isAnnotation.java: * testlet/java/lang/NumberFormatException/classInfo/isAnnotationPresent.java: * testlet/java/lang/NumberFormatException/classInfo/isAnonymousClass.java: * testlet/java/lang/NumberFormatException/classInfo/isArray.java: Four new tests added into NumberFormatException/classInfo. 2014-06-05 Pavel Tisnovsky * testlet/java/security/MessageDigest/MessageDigestSHA256Test.java: Added test for checking if JVM supports the following standard MessageDigest algorithms: SHA256. 2014-06-05 Pavel Tisnovsky * testlet/java/lang/NumberFormatException/classInfo/getInterfaces.java: * testlet/java/lang/NumberFormatException/classInfo/getModifiers.java: * testlet/java/lang/NumberFormatException/classInfo/getName.java: * testlet/java/lang/NumberFormatException/classInfo/getPackage.java: * testlet/java/lang/NumberFormatException/classInfo/getSimpleName.java: * testlet/java/lang/NumberFormatException/classInfo/getSuperclass.java: * testlet/java/lang/NumberFormatException/classInfo/isAssignableFrom.java: * testlet/java/lang/NumberFormatException/classInfo/isInstance.java: Updated existing tests, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2014-06-04 Pavel Tisnovsky * testlet/java/security/MessageDigest/MessageDigestSHA1Test.java: Added test for checking if JVM supports the following standard MessageDigest algorithms: SHA1. 2014-06-04 Pavel Tisnovsky * testlet/java/lang/NumberFormatException/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/NumberFormatException/classInfo/getDeclaredClasses.java: * testlet/java/lang/NumberFormatException/classInfo/getDeclaringClass.java: * testlet/java/lang/NumberFormatException/classInfo/getEnclosingClass.java: * testlet/java/lang/NumberFormatException/classInfo/getEnclosingConstructor.java: * testlet/java/lang/NumberFormatException/classInfo/getEnclosingMethod.java: Six new tests added into NumberFormatException/classInfo. 2014-06-03 Pavel Tisnovsky * testlet/java/lang/NumberFormatException/classInfo/getDeclaredConstructor.java: * testlet/java/lang/NumberFormatException/classInfo/getDeclaredConstructors.java: * testlet/java/lang/NumberFormatException/classInfo/getDeclaredField.java: * testlet/java/lang/NumberFormatException/classInfo/getDeclaredFields.java: * testlet/java/lang/NumberFormatException/classInfo/getDeclaredMethod.java: * testlet/java/lang/NumberFormatException/classInfo/getDeclaredMethods.java: Another six new tests added into NumberFormatException/classInfo. 2014-06-02 Pavel Tisnovsky * testlet/java/lang/NumberFormatException/classInfo/getConstructors.java: * testlet/java/lang/NumberFormatException/classInfo/getField.java: * testlet/java/lang/NumberFormatException/classInfo/getFields.java: * testlet/java/lang/NumberFormatException/classInfo/getMethod.java: * testlet/java/lang/NumberFormatException/classInfo/getMethods.java: * testlet/java/lang/NumberFormatException/classInfo/isEnum.java: Six new tests added into NumberFormatException/classInfo. 2014-05-28 Pavel Tisnovsky * testlet/java/security/MessageDigest/MessageDigestMD5Test.java: Added test for checking if JVM supports the following standard MessageDigest algorithms: MD5. 2014-05-28 Pavel Tisnovsky * testlet/java/lang/NumberFormatException/classInfo/getAnnotation.java: * testlet/java/lang/NumberFormatException/classInfo/getAnnotations.java: * testlet/java/lang/NumberFormatException/classInfo/getCanonicalName.java: * testlet/java/lang/NumberFormatException/classInfo/getClasses.java: * testlet/java/lang/NumberFormatException/classInfo/getComponentType.java: * testlet/java/lang/NumberFormatException/classInfo/getConstructor.java: Six new tests added into NumberFormatException/classInfo. 2014-05-22 Pavel Tisnovsky * testlet/java/security/MessageDigest/MessageDigestMD2Test.java: Added test for checking if JVM supports the following standard MessageDigest algorithms: MD2. 2014-05-22 Pavel Tisnovsky * testlet/java/lang/NumberFormatException/TryCatch.java: * testlet/java/lang/NumberFormatException/constructor.java: * testlet/java/lang/NumberFormatException/classInfo/InstanceOf.java: * testlet/java/lang/NumberFormatException/classInfo/isInterface.java: * testlet/java/lang/NumberFormatException/classInfo/isLocalClass.java: * testlet/java/lang/NumberFormatException/classInfo/isMemberClass.java: * testlet/java/lang/NumberFormatException/classInfo/isPrimitive.java: * testlet/java/lang/NumberFormatException/classInfo/isSynthetic.java: Updated existing tests, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2014-05-21 Pavel Tisnovsky * testlet/java/lang/NullPointerException/classInfo/getInterfaces.java: * testlet/java/lang/NullPointerException/classInfo/getModifiers.java: * testlet/java/lang/NullPointerException/classInfo/getName.java: * testlet/java/lang/NullPointerException/classInfo/getPackage.java: * testlet/java/lang/NullPointerException/classInfo/getSimpleName.java: * testlet/java/lang/NullPointerException/classInfo/getSuperclass.java: * testlet/java/lang/NullPointerException/classInfo/isAssignableFrom.java: * testlet/java/lang/NullPointerException/classInfo/isInstance.java: Updated existing tests, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2014-05-21 Pavel Tisnovsky * testlet/java/lang/NullPointerException/classInfo/getField.java: * testlet/java/lang/NullPointerException/classInfo/getFields.java: * testlet/java/lang/NullPointerException/classInfo/getMethod.java: * testlet/java/lang/NullPointerException/classInfo/getMethods.java: Four new tests added into NullPointerException/classInfo. 2014-05-19 Pavel Tisnovsky * testlet/java/lang/NullPointerException/classInfo/getDeclaredMethod.java: * testlet/java/lang/NullPointerException/classInfo/getDeclaredMethods.java: * testlet/java/lang/NullPointerException/classInfo/getDeclaringClass.java: * testlet/java/lang/NullPointerException/classInfo/getEnclosingClass.java: * testlet/java/lang/NullPointerException/classInfo/getEnclosingConstructor.java: * testlet/java/lang/NullPointerException/classInfo/getEnclosingMethod.java: Six new tests added into NullPointerException/classInfo. 2014-05-14 Pavel Tisnovsky * testlet/java/lang/NullPointerException/classInfo/getAnnotation.java: * testlet/java/lang/NullPointerException/classInfo/getAnnotations.java: * testlet/java/lang/NullPointerException/classInfo/getCanonicalName.java: * testlet/java/lang/NullPointerException/classInfo/getClasses.java: * testlet/java/lang/NullPointerException/classInfo/getComponentType.java: * testlet/java/lang/NullPointerException/classInfo/getConstructor.java: * testlet/java/lang/NullPointerException/classInfo/getConstructors.java: Seven new tests added into NullPointerException/classInfo. 2014-05-13 Pavel Tisnovsky * testlet/java/lang/NullPointerException/classInfo/isInterface.java: * testlet/java/lang/NullPointerException/classInfo/isLocalClass.java: * testlet/java/lang/NullPointerException/classInfo/isMemberClass.java: * testlet/java/lang/NullPointerException/classInfo/isPrimitive.java: * testlet/java/lang/NullPointerException/classInfo/isSynthetic.java: Updated existing tests, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2014-05-12 Pavel Tisnovsky * testlet/java/lang/NullPointerException/classInfo/isAnnotation.java: * testlet/java/lang/NullPointerException/classInfo/isAnnotationPresent.java: * testlet/java/lang/NullPointerException/classInfo/isAnonymousClass.java: * testlet/java/lang/NullPointerException/classInfo/isArray.java: * testlet/java/lang/NullPointerException/classInfo/isEnum.java: Five new tests added into NullPointerException/classInfo. 2014-05-09 Pavel Tisnovsky * testlet/java/lang/NullPointerException/TryCatch.java: * testlet/java/lang/NullPointerException/constructor.java: * testlet/java/lang/NullPointerException/classInfo/InstanceOf.java: * testlet/java/lang/NullPointerException/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/NullPointerException/classInfo/getDeclaredClasses.java: * testlet/java/lang/NullPointerException/classInfo/getDeclaredConstructor.java: * testlet/java/lang/NullPointerException/classInfo/getDeclaredConstructors.java: * testlet/java/lang/NullPointerException/classInfo/getDeclaredField.java: * testlet/java/lang/NullPointerException/classInfo/getDeclaredFields.java: Updated existing tests, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2014-05-07 Pavel Tisnovsky * testlet/java/lang/NullPointerException/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/NullPointerException/classInfo/getDeclaredClasses.java: * testlet/java/lang/NullPointerException/classInfo/getDeclaredConstructor.java: * testlet/java/lang/NullPointerException/classInfo/getDeclaredConstructors.java: * testlet/java/lang/NullPointerException/classInfo/getDeclaredField.java: * testlet/java/lang/NullPointerException/classInfo/getDeclaredFields.java: Six new tests added into NullPointerException/classInfo. 2014-05-06 Pavel Tisnovsky * lang/NoSuchMethodException/classInfo/getName.java: * lang/NoSuchMethodException/classInfo/getPackage.java: * lang/NoSuchMethodException/classInfo/getSimpleName.java: * lang/NoSuchMethodException/classInfo/getSuperclass.java: * lang/NoSuchMethodException/classInfo/isAssignableFrom.java: Updated existing tests, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2014-05-05 Pavel Tisnovsky * testlet/java/lang/NoSuchMethodException/classInfo/getDeclaringClass.java: * testlet/java/lang/NoSuchMethodException/classInfo/isAnonymousClass.java: * testlet/java/lang/NoSuchMethodException/classInfo/isArray.java: * testlet/java/lang/NoSuchMethodException/classInfo/isEnum.java: Four new tests added into NoSuchMethodException/classInfo. 2014-05-01 Pavel Tisnovsky * testlet/java/lang/NoSuchMethodException/classInfo/getDeclaredConstructor.java: * testlet/java/lang/NoSuchMethodException/classInfo/getDeclaredConstructors.java: * testlet/java/lang/NoSuchMethodException/classInfo/getDeclaredField.java: * testlet/java/lang/NoSuchMethodException/classInfo/getDeclaredFields.java: * testlet/java/lang/NoSuchMethodException/classInfo/getDeclaredMethod.java: * testlet/java/lang/NoSuchMethodException/classInfo/getDeclaredMethods.java: * testlet/java/lang/NoSuchMethodException/classInfo/getInterfaces.java: * testlet/java/lang/NoSuchMethodException/classInfo/getModifiers.java: Updated existing tests, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2014-04-29 Pavel Tisnovsky * testlet/java/lang/NoSuchMethodException/classInfo/getConstructors.java: * testlet/java/lang/NoSuchMethodException/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/NoSuchMethodException/classInfo/getDeclaredClasses.java: * testlet/java/lang/NoSuchMethodException/classInfo/getEnclosingClass.java: * testlet/java/lang/NoSuchMethodException/classInfo/getEnclosingConstructor.java: * testlet/java/lang/NoSuchMethodException/classInfo/getEnclosingMethod.java: Six new tests added into NoSuchMethodException/classInfo. 2014-04-28 Pavel Tisnovsky * testlet/java/lang/NoSuchMethodException/classInfo/getField.java: * testlet/java/lang/NoSuchMethodException/classInfo/getFields.java: * testlet/java/lang/NoSuchMethodException/classInfo/getMethod.java: * testlet/java/lang/NoSuchMethodException/classInfo/getMethods.java: * testlet/java/lang/NoSuchMethodException/classInfo/isAnnotation.java: * testlet/java/lang/NoSuchMethodException/classInfo/isAnnotationPresent.java: Six new tests added into NoSuchMethodException/classInfo. 2014-04-25 Pavel Tisnovsky * testlet/java/lang/NoSuchMethodException/classInfo/getAnnotation.java: * testlet/java/lang/NoSuchMethodException/classInfo/getAnnotations.java: * testlet/java/lang/NoSuchMethodException/classInfo/getCanonicalName.java: * testlet/java/lang/NoSuchMethodException/classInfo/getClasses.java: * testlet/java/lang/NoSuchMethodException/classInfo/getComponentType.java: * testlet/java/lang/NoSuchMethodException/classInfo/getConstructor.java: Updated (c) year. 2014-04-24 Pavel Tisnovsky * testlet/java/lang/NoSuchMethodException/classInfo/getSuperclass.java: * testlet/java/lang/NoSuchMethodException/classInfo/isInstance.java: * testlet/java/lang/NoSuchMethodException/classInfo/isInterface.java: * testlet/java/lang/NoSuchMethodException/classInfo/isLocalClass.java: * testlet/java/lang/NoSuchMethodException/classInfo/isMemberClass.java: * testlet/java/lang/NoSuchMethodException/classInfo/isPrimitive.java: Updated existing tests, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2014-04-23 Pavel Tisnovsky * testlet/java/lang/NoSuchMethodException/classInfo/getDeclaredConstructor.java: * testlet/java/lang/NoSuchMethodException/classInfo/getDeclaredConstructors.java: * testlet/java/lang/NoSuchMethodException/classInfo/getDeclaredField.java: * testlet/java/lang/NoSuchMethodException/classInfo/getDeclaredFields.java: * testlet/java/lang/NoSuchMethodException/classInfo/getDeclaredMethod.java: * testlet/java/lang/NoSuchMethodException/classInfo/getDeclaredMethods.java: Six new tests added into NoSuchMethodException/classInfo. 2014-04-22 Pavel Tisnovsky * testlet/java/lang/NoSuchMethodException/classInfo/getAnnotation.java: * testlet/java/lang/NoSuchMethodException/classInfo/getAnnotations.java: * testlet/java/lang/NoSuchMethodException/classInfo/getCanonicalName.java: * testlet/java/lang/NoSuchMethodException/classInfo/getClasses.java: * testlet/java/lang/NoSuchMethodException/classInfo/getComponentType.java: * testlet/java/lang/NoSuchMethodException/classInfo/getConstructor.java: Six new tests added into NoSuchMethodException/classInfo. 2014-04-17 Pavel Tisnovsky * testlet/java/lang/NoSuchMethodException/TryCatch.java: * testlet/java/lang/NoSuchMethodException/constructor.java: * testlet/java/lang/NoSuchMethodException/classInfo/InstanceOf.java: * testlet/java/lang/NoSuchMethodException/classInfo/isSynthetic.java: Updated existing tests, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2014-04-16 Pavel Tisnovsky * testlet/java/lang/NoSuchMethodError/classInfo/getPackage.java: * testlet/java/lang/NoSuchMethodError/classInfo/getSimpleName.java: * testlet/java/lang/NoSuchMethodError/classInfo/getSuperclass.java: * testlet/java/lang/NoSuchMethodError/classInfo/isAssignableFrom.java: Updated existing tests, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2014-04-15 Pavel Tisnovsky * testlet/java/lang/NoSuchMethodError/classInfo/isAnnotation.java: * testlet/java/lang/NoSuchMethodError/classInfo/isAnnotationPresent.java: * testlet/java/lang/NoSuchMethodError/classInfo/isAnonymousClass.java: * testlet/java/lang/NoSuchMethodError/classInfo/isArray.java: * testlet/java/lang/NoSuchMethodError/classInfo/isEnum.java: Five new tests added into NoSuchMethodError/classInfo. 2014-04-14 Pavel Tisnovsky * testlet/java/lang/NoSuchMethodError/classInfo/getDeclaredClasses.java: * testlet/java/lang/NoSuchMethodError/classInfo/getDeclaredConstructor.java: * testlet/java/lang/NoSuchMethodError/classInfo/getDeclaredConstructors.java: * testlet/java/lang/NoSuchMethodError/classInfo/getEnclosingConstructor.java: * testlet/java/lang/NoSuchMethodError/classInfo/getEnclosingMethod.java: Five new tests added into NoSuchMethodError/classInfo. 2014-04-11 Pavel Tisnovsky * testlet/java/lang/NoSuchMethodError/classInfo/isInstance.java: * testlet/java/lang/NoSuchMethodError/classInfo/isInterface.java: * testlet/java/lang/NoSuchMethodError/classInfo/isLocalClass.java: * testlet/java/lang/NoSuchMethodError/classInfo/isMemberClass.java: * testlet/java/lang/NoSuchMethodError/classInfo/isPrimitive.java: * testlet/java/lang/NoSuchMethodError/classInfo/isSynthetic.java: Updated existing tests, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2014-04-10 Pavel Tisnovsky * testlet/java/lang/NoSuchMethodError/classInfo/getAnnotation.java: * testlet/java/lang/NoSuchMethodError/classInfo/getAnnotations.java: * testlet/java/lang/NoSuchMethodError/classInfo/getCanonicalName.java: * testlet/java/lang/NoSuchMethodError/classInfo/getClasses.java: * testlet/java/lang/NoSuchMethodError/classInfo/getComponentType.java: * testlet/java/lang/NoSuchMethodError/classInfo/getDeclaredAnnotations.java: Added yet another six new tests into NoSuchMethodError/classInfo. 2014-04-09 Pavel Tisnovsky * testlet/java/lang/NoSuchMethodError/classInfo/getConstructor.java: * testlet/java/lang/NoSuchMethodError/classInfo/getConstructors.java: * testlet/java/lang/NoSuchMethodError/classInfo/getField.java: * testlet/java/lang/NoSuchMethodError/classInfo/getFields.java: * testlet/java/lang/NoSuchMethodError/classInfo/getMethod.java: * testlet/java/lang/NoSuchMethodError/classInfo/getMethods.java: Added another six new tests into NoSuchMethodError/classInfo. 2014-04-08 Pavel Tisnovsky * testlet/java/lang/NoSuchMethodError/classInfo/getDeclaredField.java: * testlet/java/lang/NoSuchMethodError/classInfo/getDeclaredFields.java: * testlet/java/lang/NoSuchMethodError/classInfo/getDeclaredMethod.java: * testlet/java/lang/NoSuchMethodError/classInfo/getDeclaredMethods.java: * testlet/java/lang/NoSuchMethodError/classInfo/getDeclaringClass.java: * testlet/java/lang/NoSuchMethodError/classInfo/getEnclosingClass.java: Added six new tests into NoSuchMethodError/classInfo. 2014-04-07 Pavel Tisnovsky * testlet/java/lang/NoSuchMethodError/TryCatch.java: * testlet/java/lang/NoSuchMethodError/constructor.java: * testlet/java/lang/NoSuchMethodError/classInfo/InstanceOf.java: * testlet/java/lang/NoSuchMethodError/classInfo/getInterfaces.java: * testlet/java/lang/NoSuchMethodError/classInfo/getModifiers.java: * testlet/java/lang/NoSuchMethodError/classInfo/getName.java: Updated existing tests, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2014-04-04 Pavel Tisnovsky * testlet/java/lang/NoSuchFieldException/classInfo/isInterface.java: * testlet/java/lang/NoSuchFieldException/classInfo/isLocalClass.java: * testlet/java/lang/NoSuchFieldException/classInfo/isMemberClass.java: * testlet/java/lang/NoSuchFieldException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/NoSuchFieldException/classInfo/isSynthetic.java: Updated existing tests, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2014-04-03 Pavel Tisnovsky * testlet/java/lang/NoSuchFieldException/classInfo/getPackage.java: * testlet/java/lang/NoSuchFieldException/classInfo/getSimpleName.java: * testlet/java/lang/NoSuchFieldException/classInfo/getSuperclass.java: * testlet/java/lang/NoSuchFieldException/classInfo/isAssignableFrom.java: * testlet/java/lang/NoSuchFieldException/classInfo/isInstance.java: Updated existing tests, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2014-04-02 Pavel Tisnovsky * testlet/java/lang/NoSuchFieldException/classInfo/getEnclosingConstructor.java: * testlet/java/lang/NoSuchFieldException/classInfo/getEnclosingMethod.java: * testlet/java/lang/NoSuchFieldException/classInfo/getField.java: * testlet/java/lang/NoSuchFieldException/classInfo/getFields.java: * testlet/java/lang/NoSuchFieldException/classInfo/getMethod.java: * testlet/java/lang/NoSuchFieldException/classInfo/getMethods.java: Added six new tests into NoSuchFieldException/classInfo. 2014-04-01 Pavel Tisnovsky * testlet/java/lang/NoSuchFieldException/classInfo/getConstructors.java: * testlet/java/lang/NoSuchFieldException/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/NoSuchFieldException/classInfo/getDeclaredClasses.java: * testlet/java/lang/NoSuchFieldException/classInfo/getDeclaredConstructor.java: * testlet/java/lang/NoSuchFieldException/classInfo/getDeclaredConstructors.java: Added five new tests into NoSuchFieldException/classInfo. 2014-03-27 Pavel Tisnovsky * testlet/java/lang/NoSuchFieldException/classInfo/getDeclaredField.java: * testlet/java/lang/NoSuchFieldException/classInfo/getDeclaredFields.java: * testlet/java/lang/NoSuchFieldException/classInfo/getDeclaredMethod.java: * testlet/java/lang/NoSuchFieldException/classInfo/getDeclaredMethods.java: * testlet/java/lang/NoSuchFieldException/classInfo/getDeclaringClass.java: * testlet/java/lang/NoSuchFieldException/classInfo/getEnclosingClass.java: Added six new tests into NoSuchFieldException/classInfo. 2014-03-26 Pavel Tisnovsky * testlet/java/lang/NoSuchFieldException/classInfo/isAnnotation.java: * testlet/java/lang/NoSuchFieldException/classInfo/isAnnotationPresent.java: * testlet/java/lang/NoSuchFieldException/classInfo/isAnonymousClass.java: * testlet/java/lang/NoSuchFieldException/classInfo/isArray.java: * testlet/java/lang/NoSuchFieldException/classInfo/isEnum.java: Added five new tests into NoSuchFieldException/classInfo. 2014-03-25 Pavel Tisnovsky * testlet/java/lang/NoSuchFieldException/TryCatch.java: * testlet/java/lang/NoSuchFieldException/constructor.java: * testlet/java/lang/NoSuchFieldException/classInfo/InstanceOf.java: * testlet/java/lang/NoSuchFieldException/classInfo/getInterfaces.java: * testlet/java/lang/NoSuchFieldException/classInfo/getModifiers.java: * testlet/java/lang/NoSuchFieldException/classInfo/getName.java: Updated existing tests, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2014-03-24 Pavel Tisnovsky * testlet/java/lang/NoSuchFieldError/classInfo/getSuperclass.java: * testlet/java/lang/NoSuchFieldError/classInfo/isAssignableFrom.java: * testlet/java/lang/NoSuchFieldError/classInfo/isInstance.java: Updated existing tests, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2014-03-21 Pavel Tisnovsky * testlet/java/lang/NoSuchFieldError/classInfo/isAnnotation.java: * testlet/java/lang/NoSuchFieldError/classInfo/isAnnotationPresent.java: * testlet/java/lang/NoSuchFieldError/classInfo/isAnonymousClass.java: * testlet/java/lang/NoSuchFieldError/classInfo/isArray.java: * testlet/java/lang/NoSuchFieldError/classInfo/isEnum.java: Another five new tests added into NoSuchFieldError/classInfo. 2014-03-20 Pavel Tisnovsky * testlet/java/lang/NoSuchFieldError/classInfo/getAnnotation.java: * testlet/java/lang/NoSuchFieldError/classInfo/getAnnotations.java: * testlet/java/lang/NoSuchFieldError/classInfo/getCanonicalName.java: * testlet/java/lang/NoSuchFieldError/classInfo/getClasses.java: * testlet/java/lang/NoSuchFieldError/classInfo/getComponentType.java: Five new tests added into NoSuchFieldError/classInfo. 2014-03-19 Pavel Tisnovsky * testlet/java/lang/NoSuchFieldError/classInfo/getConstructor.java: * testlet/java/lang/NoSuchFieldError/classInfo/getConstructors.java: * testlet/java/lang/NoSuchFieldError/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/NoSuchFieldError/classInfo/getDeclaredClasses.java: * testlet/java/lang/NoSuchFieldError/classInfo/getDeclaredConstructor.java: * testlet/java/lang/NoSuchFieldError/classInfo/getDeclaredConstructors.java: Added another six new tests into NoSuchFieldError/classInfo. 2014-03-18 Pavel Tisnovsky * testlet/java/lang/NoSuchFieldError/classInfo/getEnclosingConstructor.java: * testlet/java/lang/NoSuchFieldError/classInfo/getEnclosingMethod.java: * testlet/java/lang/NoSuchFieldError/classInfo/getField.java: * testlet/java/lang/NoSuchFieldError/classInfo/getFields.java: * testlet/java/lang/NoSuchFieldError/classInfo/getMethod.java: * testlet/java/lang/NoSuchFieldError/classInfo/getMethods.java: Added another six new tests into NoSuchFieldError/classInfo. 2014-03-17 Pavel Tisnovsky * testlet/java/lang/NoSuchFieldError/classInfo/getDeclaredField.java: * testlet/java/lang/NoSuchFieldError/classInfo/getDeclaredFields.java: * testlet/java/lang/NoSuchFieldError/classInfo/getDeclaredMethod.java: * testlet/java/lang/NoSuchFieldError/classInfo/getDeclaredMethods.java: * testlet/java/lang/NoSuchFieldError/classInfo/getDeclaringClass.java: * testlet/java/lang/NoSuchFieldError/classInfo/getEnclosingClass.java: Added six new tests into NoSuchFieldError/classInfo. 2014-03-14 Pavel Tisnovsky * testlet/java/lang/NoSuchFieldError/classInfo/isInterface.java: * testlet/java/lang/NoSuchFieldError/classInfo/isLocalClass.java: * testlet/java/lang/NoSuchFieldError/classInfo/isMemberClass.java: * testlet/java/lang/NoSuchFieldError/classInfo/isPrimitive.java: * testlet/java/lang/NoSuchFieldError/classInfo/isSynthetic.java: Updated existing tests, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2014-03-13 Pavel Tisnovsky * testlet/java/lang/NoSuchFieldError/classInfo/InstanceOf.java: * testlet/java/lang/NoSuchFieldError/classInfo/getInterfaces.java: * testlet/java/lang/NoSuchFieldError/classInfo/getModifiers.java: * testlet/java/lang/NoSuchFieldError/classInfo/getName.java: * testlet/java/lang/NoSuchFieldError/classInfo/getPackage.java: * testlet/java/lang/NoSuchFieldError/classInfo/getSimpleName.java: Updated existing tests, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2014-03-12 Pavel Tisnovsky * testlet/java/lang/NoSuchFieldError/TryCatch.java: * testlet/java/lang/NoSuchFieldError/constructor.java: Updated existing tests, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2014-03-11 Pavel Tisnovsky * testlet/java/lang/NoClassDefFoundError/classInfo/isEnum.java: * testlet/java/lang/NoClassDefFoundError/classInfo/isInstance.java: Added two new tests into NoClassDefFoundError/classInfo. 2014-03-10 Pavel Tisnovsky * testlet/java/lang/NoClassDefFoundError/classInfo/getEnclosingClass.java: * testlet/java/lang/NoClassDefFoundError/classInfo/getEnclosingConstructor.java: * testlet/java/lang/NoClassDefFoundError/classInfo/isAnonymousClass.java: * testlet/java/lang/NoClassDefFoundError/classInfo/isArray.java: * testlet/java/lang/NoClassDefFoundError/classInfo/isAssignableFrom.java: Added another five new tests into NoClassDefFoundError/classInfo. 2014-03-07 Pavel Tisnovsky * testlet/java/lang/NoClassDefFoundError/classInfo/isInterface.java: * testlet/java/lang/NoClassDefFoundError/classInfo/isLocalClass.java: * testlet/java/lang/NoClassDefFoundError/classInfo/isMemberClass.java: * testlet/java/lang/NoClassDefFoundError/classInfo/isPrimitive.java: * testlet/java/lang/NoClassDefFoundError/classInfo/isSynthetic.java: Added five new tests into NoClassDefFoundError/classInfo. 2014-03-04 Pavel Tisnovsky * testlet/java/lang/NoClassDefFoundError/classInfo/getPackage.java: * testlet/java/lang/NoClassDefFoundError/classInfo/getSimpleName.java: * testlet/java/lang/NoClassDefFoundError/classInfo/getSuperclass.java: * testlet/java/lang/NoClassDefFoundError/classInfo/isAnnotation.java: * testlet/java/lang/NoClassDefFoundError/classInfo/isAnnotationPresent.java: Added another five new tests into NoClassDefFoundError/classInfo. 2014-03-03 Pavel Tisnovsky * testlet/java/lang/NoClassDefFoundError/classInfo/getInterfaces.java: * testlet/java/lang/NoClassDefFoundError/classInfo/getMethod.java: * testlet/java/lang/NoClassDefFoundError/classInfo/getMethods.java: * testlet/java/lang/NoClassDefFoundError/classInfo/getModifiers.java: * testlet/java/lang/NoClassDefFoundError/classInfo/getName.java: Added five new tests into NoClassDefFoundError/classInfo. 2014-02-28 Pavel Tisnovsky * testlet/java/lang/NoClassDefFoundError/classInfo/getDeclaredField.java: * testlet/java/lang/NoClassDefFoundError/classInfo/getDeclaredFields.java: * testlet/java/lang/NoClassDefFoundError/classInfo/getDeclaredMethod.java: * testlet/java/lang/NoClassDefFoundError/classInfo/getDeclaredMethods.java: * testlet/java/lang/NoClassDefFoundError/classInfo/getDeclaringClass.java: Added another five new tests into NoClassDefFoundError/classInfo. 2014-02-27 Pavel Tisnovsky * testlet/java/lang/NoClassDefFoundError/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/NoClassDefFoundError/classInfo/getDeclaredClasses.java: * testlet/java/lang/NoClassDefFoundError/classInfo/getDeclaredConstructor.java: * testlet/java/lang/NoClassDefFoundError/classInfo/getDeclaredConstructors.java: * testlet/java/lang/NoClassDefFoundError/classInfo/getEnclosingMethod.java: Added another five new tests into NoClassDefFoundError/classInfo. 2014-02-26 Pavel Tisnovsky * testlet/java/lang/NoClassDefFoundError/classInfo/getComponentType.java: * testlet/java/lang/NoClassDefFoundError/classInfo/getConstructor.java: * testlet/java/lang/NoClassDefFoundError/classInfo/getConstructors.java: * testlet/java/lang/NoClassDefFoundError/classInfo/getField.java: * testlet/java/lang/NoClassDefFoundError/classInfo/getFields.java: Added another five new tests into NoClassDefFoundError/classInfo. 2014-02-25 Pavel Tisnovsky * testlet/java/lang/NoClassDefFoundError/classInfo/InstanceOf.java: * testlet/java/lang/NoClassDefFoundError/classInfo/getAnnotation.java: * testlet/java/lang/NoClassDefFoundError/classInfo/getAnnotations.java: * testlet/java/lang/NoClassDefFoundError/classInfo/getCanonicalName.java: * testlet/java/lang/NoClassDefFoundError/classInfo/getClasses.java: Added five new tests into NoClassDefFoundError/classInfo. 2014-02-24 Pavel Tisnovsky * testlet/java/lang/NoClassDefFoundError/TryCatch.java: * testlet/java/lang/NoClassDefFoundError/constructor.java: Two new tests added into NoClassDefFoundError/classInfo. 2014-02-13 Pavel Tisnovsky * testlet/java/lang/NegativeArraySizeException/classInfo/isAnnotation.java: * testlet/java/lang/NegativeArraySizeException/classInfo/isAnnotationPresent.java: * testlet/java/lang/NegativeArraySizeException/classInfo/isAnonymousClass.java: * testlet/java/lang/NegativeArraySizeException/classInfo/isArray.java: * testlet/java/lang/NegativeArraySizeException/classInfo/isEnum.java: Added five new tests into NegativeArraySizeException/classInfo. 2014-02-12 Pavel Tisnovsky * testlet/java/lang/NegativeArraySizeException/classInfo/getPackage.java: * testlet/java/lang/NegativeArraySizeException/classInfo/getSimpleName.java: * testlet/java/lang/NegativeArraySizeException/classInfo/getSuperclass.java: * testlet/java/lang/NegativeArraySizeException/classInfo/isAssignableFrom.java: Updated existing tests, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2014-02-11 Pavel Tisnovsky * testlet/java/lang/NegativeArraySizeException/classInfo/isInstance.java: * testlet/java/lang/NegativeArraySizeException/classInfo/isInterface.java: * testlet/java/lang/NegativeArraySizeException/classInfo/isLocalClass.java: * testlet/java/lang/NegativeArraySizeException/classInfo/isMemberClass.java: * testlet/java/lang/NegativeArraySizeException/classInfo/isPrimitive.java: * testlet/java/lang/NegativeArraySizeException/classInfo/isSynthetic.java: Updated existing tests, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2014-02-10 Pavel Tisnovsky * testlet/java/lang/NegativeArraySizeException/classInfo/getEnclosingMethod.java: * testlet/java/lang/NegativeArraySizeException/classInfo/getField.java: * testlet/java/lang/NegativeArraySizeException/classInfo/getFields.java: * testlet/java/lang/NegativeArraySizeException/classInfo/getMethod.java: * testlet/java/lang/NegativeArraySizeException/classInfo/getMethods.java: Added five new tests into NegativeArraySizeException/classInfo. 2014-02-07 Pavel Tisnovsky * testlet/java/lang/NegativeArraySizeException/classInfo/getAnnotation.java: * testlet/java/lang/NegativeArraySizeException/classInfo/getAnnotations.java: * testlet/java/lang/NegativeArraySizeException/classInfo/getCanonicalName.java: * testlet/java/lang/NegativeArraySizeException/classInfo/getClasses.java: * testlet/java/lang/NegativeArraySizeException/classInfo/getComponentType.java: * testlet/java/lang/NegativeArraySizeException/classInfo/getEnclosingConstructor.java: Yet added another six new tests into NegativeArraySizeException/classInfo. 2014-02-06 Pavel Tisnovsky * testlet/java/lang/NegativeArraySizeException/classInfo/getConstructor.java: * testlet/java/lang/NegativeArraySizeException/classInfo/getConstructors.java: * testlet/java/lang/NegativeArraySizeException/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/NegativeArraySizeException/classInfo/getDeclaredClasses.java: * testlet/java/lang/NegativeArraySizeException/classInfo/getDeclaredConstructor.java: * testlet/java/lang/NegativeArraySizeException/classInfo/getDeclaredConstructors.java: Added another six new tests into NegativeArraySizeException/classInfo. 2014-02-04 Pavel Tisnovsky * testlet/java/lang/NegativeArraySizeException/classInfo/getDeclaredField.java: * testlet/java/lang/NegativeArraySizeException/classInfo/getDeclaredFields.java: * testlet/java/lang/NegativeArraySizeException/classInfo/getDeclaredMethod.java: * testlet/java/lang/NegativeArraySizeException/classInfo/getDeclaredMethods.java: * testlet/java/lang/NegativeArraySizeException/classInfo/getDeclaringClass.java: * testlet/java/lang/NegativeArraySizeException/classInfo/getEnclosingClass.java: Added six new tests into NegativeArraySizeException/classInfo. 2014-02-03 Pavel Tisnovsky * testlet/java/lang/NegativeArraySizeException/TryCatch.java: * testlet/java/lang/NegativeArraySizeException/constructor.java: * testlet/java/lang/NegativeArraySizeException/classInfo/InstanceOf.java: * testlet/java/lang/NegativeArraySizeException/classInfo/getInterfaces.java: * testlet/java/lang/NegativeArraySizeException/classInfo/getModifiers.java: * testlet/java/lang/NegativeArraySizeException/classInfo/getName.java: Updated existing tests, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2014-01-29 Pavel Tisnovsky * testlet/java/lang/LinkageError/classInfo/isInstance.java: * testlet/java/lang/LinkageError/classInfo/isInterface.java: * testlet/java/lang/LinkageError/classInfo/isLocalClass.java: * testlet/java/lang/LinkageError/classInfo/isMemberClass.java: * testlet/java/lang/LinkageError/classInfo/isPrimitive.java: * testlet/java/lang/LinkageError/classInfo/isSynthetic.java: Created new tests for the class LinkageError. 2014-01-28 Pavel Tisnovsky * testlet/java/lang/LinkageError/classInfo/isAnnotation.java: * testlet/java/lang/LinkageError/classInfo/isAnnotationPresent.java: * testlet/java/lang/LinkageError/classInfo/isAnonymousClass.java: * testlet/java/lang/LinkageError/classInfo/isArray.java: * testlet/java/lang/LinkageError/classInfo/isAssignableFrom.java: * testlet/java/lang/LinkageError/classInfo/isEnum.java: Created new tests for the class LinkageError. 2014-01-27 Pavel Tisnovsky * testlet/java/lang/LinkageError/classInfo/getMethods.java: * testlet/java/lang/LinkageError/classInfo/getModifiers.java: * testlet/java/lang/LinkageError/classInfo/getName.java: * testlet/java/lang/LinkageError/classInfo/getPackage.java: * testlet/java/lang/LinkageError/classInfo/getSimpleName.java: * testlet/java/lang/LinkageError/classInfo/getSuperclass.java: Added new tests into LinkageError. 2014-01-24 Pavel Tisnovsky * testlet/java/lang/LinkageError/classInfo/getEnclosingConstructor.java: * testlet/java/lang/LinkageError/classInfo/getEnclosingMethod.java: * testlet/java/lang/LinkageError/classInfo/getField.java: * testlet/java/lang/LinkageError/classInfo/getFields.java: * testlet/java/lang/LinkageError/classInfo/getInterfaces.java: * testlet/java/lang/LinkageError/classInfo/getMethod.java: Yet another six new tests added into LinkageError. 2014-01-23 Pavel Tisnovsky * testlet/java/lang/LinkageError/classInfo/getDeclaredField.java: * testlet/java/lang/LinkageError/classInfo/getDeclaredFields.java: * testlet/java/lang/LinkageError/classInfo/getDeclaredMethod.java: * testlet/java/lang/LinkageError/classInfo/getDeclaredMethods.java: * testlet/java/lang/LinkageError/classInfo/getDeclaringClass.java: * testlet/java/lang/LinkageError/classInfo/getEnclosingClass.java: Added another six new tests into LinkageError. 2014-01-22 Pavel Tisnovsky * testlet/java/lang/LinkageError/classInfo/getConstructors.java: * testlet/java/lang/LinkageError/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/LinkageError/classInfo/getDeclaredClasses.java: * testlet/java/lang/LinkageError/classInfo/getDeclaredConstructor.java: * testlet/java/lang/LinkageError/classInfo/getDeclaredConstructors.java: Added five new tests into LinkageError. 2014-01-20 Pavel Tisnovsky * testlet/java/lang/LinkageError/classInfo/InstanceOf.java: * testlet/java/lang/LinkageError/classInfo/getAnnotation.java: * testlet/java/lang/LinkageError/classInfo/getAnnotations.java: * testlet/java/lang/LinkageError/classInfo/getCanonicalName.java: * testlet/java/lang/LinkageError/classInfo/getClasses.java: * testlet/java/lang/LinkageError/classInfo/getComponentType.java: * testlet/java/lang/LinkageError/classInfo/getConstructor.java: Added seven new tests into LinkageError. 2014-01-17 Pavel Tisnovsky * testlet/java/lang/LinkageError/TryCatch.java: * testlet/java/lang/LinkageError/constructor.java: Updated existing tests, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2014-01-16 Pavel Tisnovsky * testlet/java/lang/InternalError/classInfo/isInstance.java: * testlet/java/lang/InternalError/classInfo/isInterface.java: * testlet/java/lang/InternalError/classInfo/isLocalClass.java: * testlet/java/lang/InternalError/classInfo/isMemberClass.java: * testlet/java/lang/InternalError/classInfo/isPrimitive.java: * testlet/java/lang/InternalError/classInfo/isSynthetic.java: Added six new tests into InternalError. 2014-01-15 Pavel Tisnovsky * testlet/java/lang/InternalError/classInfo/isAnnotation.java: * testlet/java/lang/InternalError/classInfo/isAnnotationPresent.java: * testlet/java/lang/InternalError/classInfo/isAnonymousClass.java: * testlet/java/lang/InternalError/classInfo/isArray.java: * testlet/java/lang/InternalError/classInfo/isAssignableFrom.java: * testlet/java/lang/InternalError/classInfo/isEnum.java: Added six new tests into InternalError. 2014-01-14 Pavel Tisnovsky * testlet/java/lang/InternalError/classInfo/getModifiers.java: * testlet/java/lang/InternalError/classInfo/getName.java: * testlet/java/lang/InternalError/classInfo/getPackage.java: * testlet/java/lang/InternalError/classInfo/getSimpleName.java: * testlet/java/lang/InternalError/classInfo/getSuperclass.java: Added five new tests into InternalError. 2014-01-13 Pavel Tisnovsky * testlet/java/lang/InternalError/classInfo/getField.java: * testlet/java/lang/InternalError/classInfo/getFields.java: * testlet/java/lang/InternalError/classInfo/getInterfaces.java: * testlet/java/lang/InternalError/classInfo/getMethod.java: * testlet/java/lang/InternalError/classInfo/getMethods.java: Added yet another five new tests into InternalError. 2014-01-10 Pavel Tisnovsky * testlet/java/lang/InternalError/classInfo/getDeclaredMethods.java: * testlet/java/lang/InternalError/classInfo/getDeclaringClass.java: * testlet/java/lang/InternalError/classInfo/getEnclosingClass.java: * testlet/java/lang/InternalError/classInfo/getEnclosingConstructor.java: * testlet/java/lang/InternalError/classInfo/getEnclosingMethod.java: Added five new tests into InternalError. 2014-01-09 Pavel Tisnovsky * testlet/java/lang/InternalError/classInfo/getDeclaredConstructor.java: * testlet/java/lang/InternalError/classInfo/getDeclaredConstructors.java: * testlet/java/lang/InternalError/classInfo/getDeclaredField.java: * testlet/java/lang/InternalError/classInfo/getDeclaredFields.java: * testlet/java/lang/InternalError/classInfo/getDeclaredMethod.java: Added another five new tests into InternalError. 2014-01-08 Pavel Tisnovsky * testlet/java/lang/InternalError/classInfo/getComponentType.java: * testlet/java/lang/InternalError/classInfo/getConstructor.java: * testlet/java/lang/InternalError/classInfo/getConstructors.java: * testlet/java/lang/InternalError/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/InternalError/classInfo/getDeclaredClasses.java: Added another five new tests into InternalError. 2014-01-07 Pavel Tisnovsky * testlet/java/lang/InternalError/classInfo/InstanceOf.java: * testlet/java/lang/InternalError/classInfo/getAnnotation.java: * testlet/java/lang/InternalError/classInfo/getAnnotations.java: * testlet/java/lang/InternalError/classInfo/getCanonicalName.java: * testlet/java/lang/InternalError/classInfo/getClasses.java: Added five new tests into InternalError. 2014-01-06 Pavel Tisnovsky * testlet/java/lang/InternalError/TryCatch.java: * testlet/java/lang/InternalError/constructor.java: Updated existing tests, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2014-01-03 Pavel Tisnovsky * testlet/java/lang/InterruptedException/classInfo/getConstructor.java: * testlet/java/lang/InterruptedException/classInfo/getDeclaredConstructor.java: * testlet/java/lang/InterruptedException/classInfo/getDeclaredConstructors.java: * testlet/java/lang/InterruptedException/classInfo/getDeclaredField.java: * testlet/java/lang/InterruptedException/classInfo/getDeclaredFields.java: * testlet/java/lang/InterruptedException/classInfo/getDeclaredMethods.java: * testlet/java/lang/InterruptedException/classInfo/getFields.java: * testlet/java/lang/InterruptedException/classInfo/getMethod.java: Added JDK7-related checks. 2014-01-02 Pavel Tisnovsky * testlet/java/lang/InterruptedException/classInfo/getPackage.java: * testlet/java/lang/InterruptedException/classInfo/getSimpleName.java: * testlet/java/lang/InterruptedException/classInfo/getSuperclass.java: Updated existing tests, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-12-20 Pavel Tisnovsky * testlet/java/lang/InterruptedException/classInfo/isAnnotation.java: * testlet/java/lang/InterruptedException/classInfo/isAnnotationPresent.java: * testlet/java/lang/InterruptedException/classInfo/isAnonymousClass.java: * testlet/java/lang/InterruptedException/classInfo/isArray.java: * testlet/java/lang/InterruptedException/classInfo/isEnum.java: Added another five new tests into InterruptedException/classInfo. 2013-12-13 Pavel Tisnovsky * testlet/java/lang/InterruptedException/classInfo/getAnnotation.java: * testlet/java/lang/InterruptedException/classInfo/getAnnotations.java: * testlet/java/lang/InterruptedException/classInfo/getCanonicalName.java: * testlet/java/lang/InterruptedException/classInfo/getClasses.java: * testlet/java/lang/InterruptedException/classInfo/getComponentType.java: Added five new tests into InterruptedException/classInfo. 2013-12-12 Pavel Tisnovsky * testlet/java/lang/InterruptedException/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/InterruptedException/classInfo/getDeclaredClasses.java: * testlet/java/lang/InterruptedException/classInfo/getDeclaredConstructor.java: * testlet/java/lang/InterruptedException/classInfo/getDeclaredConstructors.java: * testlet/java/lang/InterruptedException/classInfo/getEnclosingConstructor.java: * testlet/java/lang/InterruptedException/classInfo/getEnclosingMethod.java: New tests added into InterruptedException/classInfo. 2013-12-11 Pavel Tisnovsky * testlet/java/lang/InterruptedException/classInfo/getDeclaredField.java: * testlet/java/lang/InterruptedException/classInfo/getDeclaredFields.java: * testlet/java/lang/InterruptedException/classInfo/getDeclaredMethod.java: * testlet/java/lang/InterruptedException/classInfo/getDeclaredMethods.java: * testlet/java/lang/InterruptedException/classInfo/getDeclaringClass.java: * testlet/java/lang/InterruptedException/classInfo/getEnclosingClass.java: Added six new tests into InterruptedException/classInfo. 2013-12-10 Pavel Tisnovsky * testlet/java/lang/InterruptedException/classInfo/getConstructor.java: * testlet/java/lang/InterruptedException/classInfo/getConstructors.java: * testlet/java/lang/InterruptedException/classInfo/getField.java: * testlet/java/lang/InterruptedException/classInfo/getFields.java: * testlet/java/lang/InterruptedException/classInfo/getMethod.java: * testlet/java/lang/InterruptedException/classInfo/getMethods.java: Added six new tests. 2013-12-09 Pavel Tisnovsky * testlet/java/lang/InterruptedException/classInfo/isAssignableFrom.java: * testlet/java/lang/InterruptedException/classInfo/isInstance.java: * testlet/java/lang/InterruptedException/classInfo/isInterface.java: * testlet/java/lang/InterruptedException/classInfo/isLocalClass.java: * testlet/java/lang/InterruptedException/classInfo/isMemberClass.java: * testlet/java/lang/InterruptedException/classInfo/isPrimitive.java: * testlet/java/lang/InterruptedException/classInfo/isSynthetic.java: Updated existing tests, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-12-06 Pavel Tisnovsky * testlet/java/security/MessageDigest/BasicMessageDigestAlgorithms.java: Added test for checking if JVM supports the following standard MessageDigest algorithms: MD5, SHA-1 and SHA-256. 2013-12-06 Pavel Tisnovsky * testlet/java/lang/InterruptedException/TryCatch.java: * testlet/java/lang/InterruptedException/constructor.java: * testlet/java/lang/InterruptedException/classInfo/InstanceOf.java: * testlet/java/lang/InterruptedException/classInfo/getInterfaces.java: * testlet/java/lang/InterruptedException/classInfo/getModifiers.java: * testlet/java/lang/InterruptedException/classInfo/getName.java: Updated existing tests, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-12-05 Pavel Tisnovsky * testlet/java/lang/InstantiationException/classInfo/getCanonicalName.java: * testlet/java/lang/InstantiationException/classInfo/getSuperclass.java: * testlet/java/lang/InstantiationException/classInfo/isAnonymousClass.java: * testlet/java/lang/InstantiationException/classInfo/isArray.java: * testlet/java/lang/InstantiationException/classInfo/isAssignableFrom.java: * testlet/java/lang/InstantiationException/classInfo/isEnum.java: * testlet/java/lang/InstantiationException/classInfo/isInstance.java: Added new tests, updated existing tests, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-12-04 Pavel Tisnovsky * testlet/java/lang/InstantiationException/classInfo/getClasses.java: * testlet/java/lang/InstantiationException/classInfo/getComponentType.java: * testlet/java/lang/InstantiationException/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/InstantiationException/classInfo/getDeclaredClasses.java: * testlet/java/lang/InstantiationException/classInfo/getDeclaredConstructor.java: * testlet/java/lang/InstantiationException/classInfo/getDeclaredConstructors.java: Another six new tests added into testlet/java/lang/InstantiationException/classInfo. 2013-12-03 Pavel Tisnovsky * testlet/java/lang/InstantiationException/classInfo/getAnnotation.java: * testlet/java/lang/InstantiationException/classInfo/getAnnotations.java: * testlet/java/lang/InstantiationException/classInfo/getConstructor.java: * testlet/java/lang/InstantiationException/classInfo/getConstructors.java: * testlet/java/lang/InstantiationException/classInfo/getEnclosingConstructor.java: * testlet/java/lang/InstantiationException/classInfo/getEnclosingMethod.java: Six new tests added into testlet/java/lang/InstantiationException/classInfo. 2013-12-02 Pavel Tisnovsky * testlet/java/lang/InstantiationException/classInfo/isInterface.java: * testlet/java/lang/InstantiationException/classInfo/isLocalClass.java: * testlet/java/lang/InstantiationException/classInfo/isMemberClass.java: * testlet/java/lang/InstantiationException/classInfo/isPrimitive.java: * testlet/java/lang/InstantiationException/classInfo/isSynthetic.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-11-29 Pavel Tisnovsky * testlet/java/lang/InstantiationException/classInfo/getDeclaredField.java: * testlet/java/lang/InstantiationException/classInfo/getDeclaredFields.java: * testlet/java/lang/InstantiationException/classInfo/getDeclaredMethod.java: * testlet/java/lang/InstantiationException/classInfo/getDeclaredMethods.java: * testlet/java/lang/InstantiationException/classInfo/getDeclaringClass.java: * testlet/java/lang/InstantiationException/classInfo/getEnclosingClass.java: Six new tests added into testlet/java/lang/InstantiationException/classInfo. 2013-11-28 Pavel Tisnovsky * testlet/java/lang/InstantiationException/classInfo/getField.java: * testlet/java/lang/InstantiationException/classInfo/getFields.java: * testlet/java/lang/InstantiationException/classInfo/getMethod.java: * testlet/java/lang/InstantiationException/classInfo/getMethods.java: * testlet/java/lang/InstantiationException/classInfo/isAnnotation.java: * testlet/java/lang/InstantiationException/classInfo/isAnnotationPresent.java: Six new tests added into testlet/java/lang/InstantiationException/classInfo. 2013-11-27 Pavel Tisnovsky * testlet/java/lang/InstantiationException/classInfo/InstanceOf.java: * testlet/java/lang/InstantiationException/classInfo/getInterfaces.java: * testlet/java/lang/InstantiationException/classInfo/getModifiers.java: * testlet/java/lang/InstantiationException/classInfo/getName.java: * testlet/java/lang/InstantiationException/classInfo/getPackage.java: * testlet/java/lang/InstantiationException/classInfo/getSimpleName.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-11-26 Pavel Tisnovsky * testlet/java/lang/InstantiationError/classInfo/getEnclosingConstructor.java: * testlet/java/lang/InstantiationError/classInfo/getEnclosingMethod.java: * testlet/java/lang/InstantiationError/classInfo/getField.java: * testlet/java/lang/InstantiationError/classInfo/getFields.java: * testlet/java/lang/InstantiationError/classInfo/getMethod.java: * testlet/java/lang/InstantiationError/classInfo/getMethods.java: Six new tests added into testlet/java/lang/InstantiationError/classInfo. 2013-11-25 Pavel Tisnovsky * testlet/java/lang/InstantiationError/classInfo/getDeclaredConstructors.java: * testlet/java/lang/InstantiationError/classInfo/getInterfaces.java: * testlet/java/lang/InstantiationError/classInfo/getModifiers.java: * testlet/java/lang/InstantiationError/classInfo/getName.java: * testlet/java/lang/InstantiationError/classInfo/getPackage.java: * testlet/java/lang/InstantiationError/classInfo/getSimpleName.java: * testlet/java/lang/InstantiationError/classInfo/getSuperclass.java: Seven new tests added into testlet/java/lang/InstantiationError/classInfo. 2013-11-22 Pavel Tisnovsky * testlet/java/lang/InstantiationError/classInfo/isAnnotation.java: * testlet/java/lang/InstantiationError/classInfo/isAnnotationPresent.java: * testlet/java/lang/InstantiationError/classInfo/isAnonymousClass.java: * testlet/java/lang/InstantiationError/classInfo/isArray.java: * testlet/java/lang/InstantiationError/classInfo/isAssignableFrom.java: * testlet/java/lang/InstantiationError/classInfo/isEnum.java: Six new tests added into testlet/java/lang/InstantiationError/classInfo. 2013-11-21 Pavel Tisnovsky * testlet/java/lang/InstantiationError/classInfo/isInstance.java: * testlet/java/lang/InstantiationError/classInfo/isInterface.java: * testlet/java/lang/InstantiationError/classInfo/isLocalClass.java: * testlet/java/lang/InstantiationError/classInfo/isMemberClass.java: * testlet/java/lang/InstantiationError/classInfo/isPrimitive.java: * testlet/java/lang/InstantiationError/classInfo/isSynthetic.java: Another six new tests added into testlet/java/lang/InstantiationError/classInfo. 2013-11-20 Pavel Tisnovsky * testlet/java/lang/InstantiationError/classInfo/getDeclaredField.java: * testlet/java/lang/InstantiationError/classInfo/getDeclaredFields.java: * testlet/java/lang/InstantiationError/classInfo/getDeclaredMethod.java: * testlet/java/lang/InstantiationError/classInfo/getDeclaredMethods.java: * testlet/java/lang/InstantiationError/classInfo/getDeclaringClass.java: * testlet/java/lang/InstantiationError/classInfo/getEnclosingClass.java: Six new tests added into testlet/java/lang/InstantiationError/classInfo. 2013-11-19 Pavel Tisnovsky * testlet/java/lang/InstantiationError/classInfo/getConstructor.java: * testlet/java/lang/InstantiationError/classInfo/getConstructors.java: * testlet/java/lang/InstantiationError/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/InstantiationError/classInfo/getDeclaredClasses.java: * testlet/java/lang/InstantiationError/classInfo/getDeclaredConstructor.java: Another five new tests added into testlet/java/lang/InstantiationError/classInfo. 2013-11-18 Pavel Tisnovsky * testlet/java/lang/InstantiationError/classInfo/getAnnotation.java: * testlet/java/lang/InstantiationError/classInfo/getAnnotations.java: * testlet/java/lang/InstantiationError/classInfo/getCanonicalName.java: * testlet/java/lang/InstantiationError/classInfo/getClasses.java: * testlet/java/lang/InstantiationError/classInfo/getComponentType.java: Five new tests added into testlet/java/lang/InstantiationError/classInfo. 2013-11-15 Pavel Tisnovsky * testlet/java/lang/InstantiationError/TryCatch.java: * testlet/java/lang/InstantiationError/constructor.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. * testlet/java/lang/InstantiationError/classInfo/InstanceOf.java: New test added into testlet/java/lang/InstantiationError/classInfo. 2013-11-14 Pavel Tisnovsky * testlet/java/lang/IndexOutOfBoundsException/classInfo/isAnnotation.java: New test added into testlet/java/lang/IndexOutOfBoundsException/classInfo. 2013-11-14 Pavel Tisnovsky * testlet/java/lang/Object/classInfo/getDeclaredFields.java: * testlet/java/lang/Object/classInfo/getFields.java: Added (c) year. 2013-11-13 Pavel Tisnovsky * testlet/java/lang/IndexOutOfBoundsException/classInfo/getPackage.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/getSimpleName.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/getSuperclass.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/isAssignableFrom.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/isInstance.java: Five new tests added into testlet/java/lang/IndexOutOfBoundsException/classInfo. 2013-11-12 Pavel Tisnovsky * testlet/java/lang/IndexOutOfBoundsException/classInfo/getEnclosingConstructor.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/getEnclosingMethod.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/isAnnotationPresent.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/isAnonymousClass.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/isArray.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/isEnum.java: Six new tests added into testlet/java/lang/IndexOutOfBoundsException/classInfo. 2013-11-11 Pavel Tisnovsky * testlet/java/lang/IndexOutOfBoundsException/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/getDeclaredClasses.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/getDeclaredConstructor.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/getDeclaredConstructors.java: Four new tests added into testlet/java/lang/IndexOutOfBoundsException/classInfo. 2013-11-08 Pavel Tisnovsky * testlet/java/lang/IndexOutOfBoundsException/classInfo/getDeclaredField.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/getDeclaredFields.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/getDeclaredMethod.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/getDeclaredMethods.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/getDeclaringClass.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/getEnclosingClass.java: Six new tests added into testlet/java/lang/IndexOutOfBoundsException/classInfo. 2013-11-07 Pavel Tisnovsky * testlet/java/lang/IndexOutOfBoundsException/classInfo/getAnnotation.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/getAnnotations.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/getCanonicalName.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/getClasses.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/getComponentType.java: New tests added into testlet/java/lang/IndexOutOfBoundsException/classInfo. 2013-11-06 Pavel Tisnovsky * testlet/java/lang/IndexOutOfBoundsException/classInfo/getConstructor.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/getConstructors.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/getField.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/getFields.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/getMethod.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/getMethods.java: Six new tests added into testlet/java/lang/IndexOutOfBoundsException/classInfo. 2013-11-05 Pavel Tisnovsky * testlet/java/lang/IndexOutOfBoundsException/classInfo/isInterface.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/isLocalClass.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/isMemberClass.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/isPrimitive.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/isSynthetic.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-11-04 Pavel Tisnovsky * testlet/java/lang/IndexOutOfBoundsException/TryCatch.java: * testlet/java/lang/IndexOutOfBoundsException/constructor.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/InstanceOf.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/getInterfaces.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/getModifiers.java: * testlet/java/lang/IndexOutOfBoundsException/classInfo/getName.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-10-25 Pavel Tisnovsky * testlet/java/lang/IncompatibleClassChangeError/classInfo/isAnnotation.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/isAnnotationPresent.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/isAnonymousClass.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/isArray.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/isAssignableFrom.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/isEnum.java: Yet another six new tests added into testlet/java/lang/IncompatibleClassChangeError/classInfo. 2013-10-24 Pavel Tisnovsky * testlet/java/lang/IncompatibleClassChangeError/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/getDeclaredClasses.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/getInterfaces.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/getModifiers.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/getName.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/getPackage.java: Another six new tests added into testlet/java/lang/IncompatibleClassChangeError/classInfo. 2013-10-23 Pavel Tisnovsky * testlet/java/lang/IncompatibleClassChangeError/classInfo/isInstance.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/isInterface.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/isLocalClass.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/isMemberClass.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/isPrimitive.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/isSynthetic.java: Six new tests added into testlet/java/lang/IncompatibleClassChangeError/classInfo. 2013-10-22 Pavel Tisnovsky * testlet/java/lang/IncompatibleClassChangeError/classInfo/getDeclaringClass.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/getEnclosingClass.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/getEnclosingConstructor.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/getEnclosingMethod.java: Four new tests added into testlet/java/lang/IncompatibleClassChangeError/classInfo. 2013-10-21 Pavel Tisnovsky * testlet/java/lang/IncompatibleClassChangeError/classInfo/getField.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/getFields.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/getMethod.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/getMethods.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/getSimpleName.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/getSuperclass.java: Another six new tests added into testlet/java/lang/IncompatibleClassChangeError/classInfo. 2013-10-18 Pavel Tisnovsky * testlet/java/lang/IncompatibleClassChangeError/classInfo/getDeclaredConstructor.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/getDeclaredConstructors.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/getDeclaredField.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/getDeclaredFields.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/getDeclaredMethod.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/getDeclaredMethods.java: Six new tests added into testlet/java/lang/IncompatibleClassChangeError/classInfo. 2013-10-17 Pavel Tisnovsky * testlet/java/lang/IncompatibleClassChangeError/classInfo/getCanonicalName.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/getClasses.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/getComponentType.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/getConstructor.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/getConstructors.java: New tests added into testlet/java/lang/IncompatibleClassChangeError/classInfo. 2013-10-16 Pavel Tisnovsky * testlet/java/lang/IncompatibleClassChangeError/TryCatch.java: * testlet/java/lang/IncompatibleClassChangeError/constructor.java: New tests added into testlet/java/lang/IncompatibleClassChangeError. * testlet/java/lang/IncompatibleClassChangeError/classInfo/InstanceOf.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/getAnnotation.java: * testlet/java/lang/IncompatibleClassChangeError/classInfo/getAnnotations.java: New tests added into testlet/java/lang/IncompatibleClassChangeError/classInfo. 2013-10-15 Pavel Tisnovsky * testlet/java/lang/IllegalThreadStateException/classInfo/isLocalClass.java: * testlet/java/lang/IllegalThreadStateException/classInfo/isMemberClass.java: * testlet/java/lang/IllegalThreadStateException/classInfo/isPrimitive.java: * testlet/java/lang/IllegalThreadStateException/classInfo/isSynthetic.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-10-14 Pavel Tisnovsky * testlet/java/lang/IllegalThreadStateException/classInfo/getPackage.java: * testlet/java/lang/IllegalThreadStateException/classInfo/getSimpleName.java: * testlet/java/lang/IllegalThreadStateException/classInfo/getSuperclass.java: * testlet/java/lang/IllegalThreadStateException/classInfo/isAssignableFrom.java: * testlet/java/lang/IllegalThreadStateException/classInfo/isInstance.java: * testlet/java/lang/IllegalThreadStateException/classInfo/isInterface.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-10-11 Pavel Tisnovsky * testlet/java/lang/IllegalThreadStateException/classInfo/isAnnotation.java: * testlet/java/lang/IllegalThreadStateException/classInfo/isAnnotationPresent.java: * testlet/java/lang/IllegalThreadStateException/classInfo/isAnonymousClass.java: * testlet/java/lang/IllegalThreadStateException/classInfo/isArray.java: * testlet/java/lang/IllegalThreadStateException/classInfo/isEnum.java: New tests added into testlet/java/lang/IllegalStateException/classInfo. 2013-10-10 Pavel Tisnovsky * testlet/java/lang/IllegalThreadStateException/classInfo/getDeclaredMethods.java: * testlet/java/lang/IllegalThreadStateException/classInfo/getDeclaringClass.java: * testlet/java/lang/IllegalThreadStateException/classInfo/getEnclosingClass.java: * testlet/java/lang/IllegalThreadStateException/classInfo/getEnclosingConstructor.java: * testlet/java/lang/IllegalThreadStateException/classInfo/getEnclosingMethod.java: New tests added into testlet/java/lang/IllegalStateException/classInfo. 2013-10-09 Pavel Tisnovsky * testlet/java/lang/IllegalThreadStateException/classInfo/getDeclaredClasses.java: * testlet/java/lang/IllegalThreadStateException/classInfo/getDeclaredConstructor.java: * testlet/java/lang/IllegalThreadStateException/classInfo/getDeclaredConstructors.java: * testlet/java/lang/IllegalThreadStateException/classInfo/getDeclaredField.java: * testlet/java/lang/IllegalThreadStateException/classInfo/getDeclaredFields.java: * testlet/java/lang/IllegalThreadStateException/classInfo/getDeclaredMethod.java: New tests added into testlet/java/lang/IllegalStateException/classInfo. 2013-10-08 Pavel Tisnovsky * testlet/java/lang/IllegalThreadStateException/classInfo/getCanonicalName.java: * testlet/java/lang/IllegalThreadStateException/classInfo/getClasses.java: * testlet/java/lang/IllegalThreadStateException/classInfo/getComponentType.java: * testlet/java/lang/IllegalThreadStateException/classInfo/getConstructor.java: * testlet/java/lang/IllegalThreadStateException/classInfo/getConstructors.java: * testlet/java/lang/IllegalThreadStateException/classInfo/getDeclaredAnnotations.java: Another six new tests added into testlet/java/lang/IllegalStateException/classInfo. 2013-10-07 Pavel Tisnovsky * testlet/java/lang/IllegalThreadStateException/classInfo/getAnnotation.java: * testlet/java/lang/IllegalThreadStateException/classInfo/getAnnotations.java: * testlet/java/lang/IllegalThreadStateException/classInfo/getField.java: * testlet/java/lang/IllegalThreadStateException/classInfo/getFields.java: * testlet/java/lang/IllegalThreadStateException/classInfo/getMethod.java: * testlet/java/lang/IllegalThreadStateException/classInfo/getMethods.java: Six new tests added into testlet/java/lang/IllegalStateException/classInfo. 2013-10-04 Pavel Tisnovsky * testlet/java/lang/IllegalThreadStateException/TryCatch.java: * testlet/java/lang/IllegalThreadStateException/constructor.java: * testlet/java/lang/IllegalThreadStateException/classInfo/InstanceOf.java: * testlet/java/lang/IllegalThreadStateException/classInfo/getInterfaces.java: * testlet/java/lang/IllegalThreadStateException/classInfo/getModifiers.java: * testlet/java/lang/IllegalThreadStateException/classInfo/getName.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-10-03 Pavel Tisnovsky * testlet/java/lang/IllegalStateException/classInfo/getPackage.java: * testlet/java/lang/IllegalStateException/classInfo/getSimpleName.java: * testlet/java/lang/IllegalStateException/classInfo/getSuperclass.java: * testlet/java/lang/IllegalStateException/classInfo/isAssignableFrom.java: * testlet/java/lang/IllegalStateException/classInfo/isInstance.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-10-02 Pavel Tisnovsky * testlet/java/lang/IllegalStateException/classInfo/isAnnotation.java: * testlet/java/lang/IllegalStateException/classInfo/isAnnotationPresent.java: * testlet/java/lang/IllegalStateException/classInfo/isAnonymousClass.java: * testlet/java/lang/IllegalStateException/classInfo/isArray.java: * testlet/java/lang/IllegalStateException/classInfo/isEnum.java: Five new tests added into testlet/java/lang/IllegalStateException/classInfo. 2013-10-01 Pavel Tisnovsky * testlet/java/lang/IllegalStateException/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/IllegalStateException/classInfo/getDeclaredClasses.java: * testlet/java/lang/IllegalStateException/classInfo/getDeclaringClass.java: * testlet/java/lang/IllegalStateException/classInfo/getEnclosingClass.java: * testlet/java/lang/IllegalStateException/classInfo/getEnclosingConstructor.java: * testlet/java/lang/IllegalStateException/classInfo/getEnclosingMethod.java: Another six new tests added into testlet/java/lang/IllegalStateException/classInfo. 2013-09-30 Pavel Tisnovsky * testlet/java/lang/IllegalStateException/classInfo/getDeclaredConstructor.java: * testlet/java/lang/IllegalStateException/classInfo/getDeclaredConstructors.java: * testlet/java/lang/IllegalStateException/classInfo/getDeclaredField.java: * testlet/java/lang/IllegalStateException/classInfo/getDeclaredFields.java: * testlet/java/lang/IllegalStateException/classInfo/getDeclaredMethod.java: * testlet/java/lang/IllegalStateException/classInfo/getDeclaredMethods.java: Six new tests added into testlet/java/lang/IllegalStateException/classInfo. 2013-09-27 Pavel Tisnovsky * testlet/java/lang/IllegalStateException/classInfo/getCanonicalName.java: * testlet/java/lang/IllegalStateException/classInfo/getClasses.java: * testlet/java/lang/IllegalStateException/classInfo/getComponentType.java: * testlet/java/lang/IllegalStateException/classInfo/getConstructor.java: * testlet/java/lang/IllegalStateException/classInfo/getConstructors.java: Five new tests added into testlet/java/lang/IllegalStateException/classInfo. 2013-09-26 Pavel Tisnovsky * testlet/java/lang/IllegalStateException/classInfo/getAnnotation.java: * testlet/java/lang/IllegalStateException/classInfo/getAnnotations.java: * testlet/java/lang/IllegalStateException/classInfo/getField.java: * testlet/java/lang/IllegalStateException/classInfo/getFields.java: * testlet/java/lang/IllegalStateException/classInfo/getMethod.java: * testlet/java/lang/IllegalStateException/classInfo/getMethods.java: Six new tests added into testlet/java/lang/IllegalStateException/classInfo. 2013-09-24 Pavel Tisnovsky * testlet/java/lang/IllegalStateException/classInfo/isInterface.java: * testlet/java/lang/IllegalStateException/classInfo/isLocalClass.java: * testlet/java/lang/IllegalStateException/classInfo/isMemberClass.java: * testlet/java/lang/IllegalStateException/classInfo/isPrimitive.java: * testlet/java/lang/IllegalStateException/classInfo/isSynthetic.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-09-23 Pavel Tisnovsky * testlet/java/lang/IllegalStateException/TryCatch.java: * testlet/java/lang/IllegalStateException/constructor.java: * testlet/java/lang/IllegalStateException/classInfo/InstanceOf.java: * testlet/java/lang/IllegalStateException/classInfo/getInterfaces.java: * testlet/java/lang/IllegalStateException/classInfo/getModifiers.java: * testlet/java/lang/IllegalStateException/classInfo/getName.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-09-20 Pavel Tisnovsky * testlet/java/lang/IllegalMonitorStateException/classInfo/isMemberClass.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/isPrimitive.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/isSynthetic.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-09-19 Pavel Tisnovsky * testlet/java/lang/IllegalMonitorStateException/classInfo/isAnnotation.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/isAnnotationPresent.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/isAnonymousClass.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/isArray.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/isEnum.java: Five new tests added into testlet/java/lang/IllegalMonitorStateException/classInfo. 2013-09-18 Pavel Tisnovsky * testlet/java/lang/IllegalMonitorStateException/classInfo/getSimpleName.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/getSuperclass.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/isAssignableFrom.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/isInstance.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/isInterface.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/isLocalClass.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-09-17 Pavel Tisnovsky * testlet/java/lang/IllegalMonitorStateException/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/getDeclaredClasses.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/getDeclaringClass.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/getEnclosingClass.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/getEnclosingConstructor.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/getEnclosingMethod.java: Six new tests added into testlet/java/lang/IllegalMonitorStateException/classInfo. 2013-09-16 Pavel Tisnovsky * testlet/java/lang/ExceptionInInitializerError/getCause.java: * testlet/java/lang/ExceptionInInitializerError/getException.java: Two new tests added into testlet/java/lang/ExceptionInInitializerError. 2013-09-16 Pavel Tisnovsky * testlet/java/lang/IllegalMonitorStateException/classInfo/getDeclaredConstructor.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/getDeclaredConstructors.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/getDeclaredField.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/getDeclaredFields.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/getDeclaredMethod.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/getDeclaredMethods.java: Six new tests added into testlet/java/lang/IllegalMonitorStateException/classInfo. 2013-09-13 Pavel Tisnovsky * testlet/java/lang/IllegalMonitorStateException/classInfo/getAnnotation.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/getAnnotations.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/getCanonicalName.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/getClasses.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/getComponentType.java: Five new tests added into testlet/java/lang/IllegalMonitorStateException/classInfo. 2013-09-12 Pavel Tisnovsky * testlet/java/lang/IllegalMonitorStateException/classInfo/getConstructor.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/getConstructors.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/getField.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/getFields.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/getMethod.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/getMethods.java: New tests added into testlet/java/lang/IllegalMonitorStateException/classInfo. 2013-09-11 Pavel Tisnovsky * testlet/java/lang/IllegalMonitorStateException/TryCatch.java: * testlet/java/lang/IllegalMonitorStateException/constructor.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/InstanceOf.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/getInterfaces.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/getModifiers.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/getName.java: * testlet/java/lang/IllegalMonitorStateException/classInfo/getPackage.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-09-10 Pavel Tisnovsky * testlet/java/lang/IllegalArgumentException/classInfo/isAnonymousClass.java: New test added into testlet/java/lang/IllegalArgumentException/classInfo. 2013-09-09 Pavel Tisnovsky * testlet/java/lang/IllegalArgumentException/classInfo/getSimpleName.java: * testlet/java/lang/IllegalArgumentException/classInfo/getSuperclass.java: * testlet/java/lang/IllegalArgumentException/classInfo/isAssignableFrom.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-09-06 Pavel Tisnovsky * testlet/java/lang/IllegalArgumentException/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/IllegalArgumentException/classInfo/getDeclaredClasses.java: * testlet/java/lang/IllegalArgumentException/classInfo/getDeclaringClass.java: * testlet/java/lang/IllegalArgumentException/classInfo/isAnnotation.java: * testlet/java/lang/IllegalArgumentException/classInfo/isAnnotationPresent.java: Five new tests added into testlet/java/lang/IllegalArgumentException/classInfo. 2013-09-05 Pavel Tisnovsky * testlet/java/lang/IllegalArgumentException/classInfo/getCanonicalName.java: * testlet/java/lang/IllegalArgumentException/classInfo/getComponentType.java: * testlet/java/lang/IllegalArgumentException/classInfo/getEnclosingClass.java: * testlet/java/lang/IllegalArgumentException/classInfo/getEnclosingConstructor.java: * testlet/java/lang/IllegalArgumentException/classInfo/getEnclosingMethod.java: Five new tests added into testlet/java/lang/IllegalArgumentException/classInfo. 2013-09-04 Pavel Tisnovsky * testlet/java/lang/IllegalArgumentException/classInfo/getDeclaredConstructor.java: * testlet/java/lang/IllegalArgumentException/classInfo/getDeclaredConstructors.java: * testlet/java/lang/IllegalArgumentException/classInfo/getDeclaredField.java: * testlet/java/lang/IllegalArgumentException/classInfo/getDeclaredFields.java: * testlet/java/lang/IllegalArgumentException/classInfo/getDeclaredMethod.java: * testlet/java/lang/IllegalArgumentException/classInfo/getDeclaredMethods.java: Six new tests added into testlet/java/lang/IllegalArgumentException/classInfo. 2013-09-03 Pavel Tisnovsky * testlet/java/lang/IllegalArgumentException/classInfo/getAnnotation.java: * testlet/java/lang/IllegalArgumentException/classInfo/getAnnotations.java: * testlet/java/lang/IllegalArgumentException/classInfo/getClasses.java: * testlet/java/lang/IllegalArgumentException/classInfo/isArray.java: * testlet/java/lang/IllegalArgumentException/classInfo/isEnum.java: Five new tests added into testlet/java/lang/IllegalArgumentException/classInfo. 2013-09-02 Pavel Tisnovsky * testlet/java/lang/IllegalArgumentException/classInfo/getConstructor.java: * testlet/java/lang/IllegalArgumentException/classInfo/getConstructors.java: * testlet/java/lang/IllegalArgumentException/classInfo/getField.java: * testlet/java/lang/IllegalArgumentException/classInfo/getFields.java: * testlet/java/lang/IllegalArgumentException/classInfo/getMethod.java: * testlet/java/lang/IllegalArgumentException/classInfo/getMethods.java: Six new tests added into testlet/java/lang/IllegalArgumentException/classInfo. 2013-08-30 Pavel Tisnovsky * testlet/java/lang/IllegalArgumentException/classInfo/isInstance.java: * testlet/java/lang/IllegalArgumentException/classInfo/isInterface.java: * testlet/java/lang/IllegalArgumentException/classInfo/isLocalClass.java: * testlet/java/lang/IllegalArgumentException/classInfo/isMemberClass.java: * testlet/java/lang/IllegalArgumentException/classInfo/isPrimitive.java: * testlet/java/lang/IllegalArgumentException/classInfo/isSynthetic.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-08-29 Pavel Tisnovsky * testlet/java/lang/IllegalArgumentException/TryCatch.java: * testlet/java/lang/IllegalArgumentException/constructor.java: * testlet/java/lang/IllegalArgumentException/classInfo/InstanceOf.java: * testlet/java/lang/IllegalArgumentException/classInfo/getInterfaces.java: * testlet/java/lang/IllegalArgumentException/classInfo/getModifiers.java: * testlet/java/lang/IllegalArgumentException/classInfo/getName.java: * testlet/java/lang/IllegalArgumentException/classInfo/getPackage.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-08-28 Pavel Tisnovsky * testlet/java/lang/IllegalAccessException/classInfo/isInterface.java: * testlet/java/lang/IllegalAccessException/classInfo/isLocalClass.java: * testlet/java/lang/IllegalAccessException/classInfo/isMemberClass.java: * testlet/java/lang/IllegalAccessException/classInfo/isPrimitive.java: * testlet/java/lang/IllegalAccessException/classInfo/isSynthetic.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-08-27 Pavel Tisnovsky * testlet/java/lang/IllegalAccessException/classInfo/getPackage.java: * testlet/java/lang/IllegalAccessException/classInfo/getSimpleName.java: * testlet/java/lang/IllegalAccessException/classInfo/getSuperclass.java: * testlet/java/lang/IllegalAccessException/classInfo/isAssignableFrom.java: * testlet/java/lang/IllegalAccessException/classInfo/isInstance.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-08-26 Pavel Tisnovsky * testlet/java/lang/IllegalAccessException/classInfo/isAnnotation.java: * testlet/java/lang/IllegalAccessException/classInfo/isAnnotationPresent.java: * testlet/java/lang/IllegalAccessException/classInfo/isAnonymousClass.java: * testlet/java/lang/IllegalAccessException/classInfo/isArray.java: * testlet/java/lang/IllegalAccessException/classInfo/isEnum.java: Five new tests added into testlet/java/lang/IllegalAccessException/classInfo. 2013-08-23 Pavel Tisnovsky * testlet/java/lang/IllegalAccessException/classInfo/getDeclaredMethod.java: * testlet/java/lang/IllegalAccessException/classInfo/getDeclaredMethods.java: * testlet/java/lang/IllegalAccessException/classInfo/getDeclaringClass.java: * testlet/java/lang/IllegalAccessException/classInfo/getEnclosingClass.java: * testlet/java/lang/IllegalAccessException/classInfo/getEnclosingConstructor.java: * testlet/java/lang/IllegalAccessException/classInfo/getEnclosingMethod.java: Six new tests added into testlet/java/lang/IllegalAccessException/classInfo. 2013-08-22 Pavel Tisnovsky * testlet/java/lang/IllegalAccessException/classInfo/getCanonicalName.java: * testlet/java/lang/IllegalAccessException/classInfo/getClasses.java: * testlet/java/lang/IllegalAccessException/classInfo/getComponentType.java: * testlet/java/lang/IllegalAccessException/classInfo/getConstructor.java: * testlet/java/lang/IllegalAccessException/classInfo/getConstructors.java: Five new tests added into testlet/java/lang/IllegalAccessException/classInfo. 2013-08-21 Pavel Tisnovsky * testlet/java/lang/IllegalAccessException/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/IllegalAccessException/classInfo/getDeclaredClasses.java: * testlet/java/lang/IllegalAccessException/classInfo/getDeclaredConstructor.java: * testlet/java/lang/IllegalAccessException/classInfo/getDeclaredConstructors.java: * testlet/java/lang/IllegalAccessException/classInfo/getDeclaredField.java: * testlet/java/lang/IllegalAccessException/classInfo/getDeclaredFields.java: Another six new tests added into testlet/java/lang/IllegalAccessException/classInfo. 2013-08-20 Pavel Tisnovsky * testlet/java/lang/IllegalAccessException/classInfo/getAnnotation.java: * testlet/java/lang/IllegalAccessException/classInfo/getAnnotations.java: * testlet/java/lang/IllegalAccessException/classInfo/getField.java: * testlet/java/lang/IllegalAccessException/classInfo/getFields.java: * testlet/java/lang/IllegalAccessException/classInfo/getMethod.java: * testlet/java/lang/IllegalAccessException/classInfo/getMethods.java: Six new tests added into testlet/java/lang/IllegalAccessException/classInfo. 2013-08-19 Pavel Tisnovsky * testlet/java/lang/IllegalAccessException/TryCatch.java: * testlet/java/lang/IllegalAccessException/constructor.java: * testlet/java/lang/IllegalAccessException/classInfo/InstanceOf.java: * testlet/java/lang/IllegalAccessException/classInfo/getInterfaces.java: * testlet/java/lang/IllegalAccessException/classInfo/getModifiers.java: * testlet/java/lang/IllegalAccessException/classInfo/getName.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-08-16 Pavel Tisnovsky * testlet/java/lang/IllegalAccessError/classInfo/getInterfaces.java: * testlet/java/lang/IllegalAccessError/classInfo/getModifiers.java: * testlet/java/lang/IllegalAccessError/classInfo/getName.java: * testlet/java/lang/IllegalAccessError/classInfo/getPackage.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-08-15 Pavel Tisnovsky * testlet/java/lang/IllegalAccessError/classInfo/isAnnotation.java: * testlet/java/lang/IllegalAccessError/classInfo/isAnnotationPresent.java: * testlet/java/lang/IllegalAccessError/classInfo/isAnonymousClass.java: * testlet/java/lang/IllegalAccessError/classInfo/isArray.java: * testlet/java/lang/IllegalAccessError/classInfo/isEnum.java: Five new tests added into testlet/java/lang/IllegalAccessError/classInfo. 2013-08-14 Pavel Tisnovsky * testlet/java/lang/IllegalAccessError/classInfo/getDeclaredMethod.java: * testlet/java/lang/IllegalAccessError/classInfo/getDeclaredMethods.java: * testlet/java/lang/IllegalAccessError/classInfo/getDeclaringClass.java: * testlet/java/lang/IllegalAccessError/classInfo/getEnclosingClass.java: * testlet/java/lang/IllegalAccessError/classInfo/getEnclosingConstructor.java: * testlet/java/lang/IllegalAccessError/classInfo/getEnclosingMethod.java: Six new tests added into testlet/java/lang/IllegalAccessError/classInfo. 2013-08-13 Pavel Tisnovsky * testlet/java/lang/IllegalAccessError/classInfo/getSimpleName.java: * testlet/java/lang/IllegalAccessError/classInfo/getSuperclass.java: * testlet/java/lang/IllegalAccessError/classInfo/isAssignableFrom.java: * testlet/java/lang/IllegalAccessError/classInfo/isInstance.java: * testlet/java/lang/IllegalAccessError/classInfo/isInterface.java: * testlet/java/lang/IllegalAccessError/classInfo/isLocalClass.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-08-12 Pavel Tisnovsky * testlet/java/lang/IllegalAccessError/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/IllegalAccessError/classInfo/getDeclaredClasses.java: * testlet/java/lang/IllegalAccessError/classInfo/getDeclaredConstructor.java: * testlet/java/lang/IllegalAccessError/classInfo/getDeclaredConstructors.java: * testlet/java/lang/IllegalAccessError/classInfo/getDeclaredField.java: * testlet/java/lang/IllegalAccessError/classInfo/getDeclaredFields.java: Six new tests added into testlet/java/lang/IllegalAccessError/classInfo. 2013-08-02 Pavel Tisnovsky * testlet/java/lang/IllegalAccessError/classInfo/getClasses.java: * testlet/java/lang/IllegalAccessError/classInfo/getComponentType.java: * testlet/java/lang/IllegalAccessError/classInfo/getField.java: * testlet/java/lang/IllegalAccessError/classInfo/getFields.java: * testlet/java/lang/IllegalAccessError/classInfo/getMethod.java: * testlet/java/lang/IllegalAccessError/classInfo/getMethods.java: Six new tests added into testlet/java/lang/IllegalAccessError/classInfo. 2013-08-01 Pavel Tisnovsky * testlet/java/lang/IllegalAccessError/classInfo/getAnnotation.java: * testlet/java/lang/IllegalAccessError/classInfo/getAnnotations.java: * testlet/java/lang/IllegalAccessError/classInfo/getCanonicalName.java: * testlet/java/lang/IllegalAccessError/classInfo/getConstructor.java: * testlet/java/lang/IllegalAccessError/classInfo/getConstructors.java: Five new tests added into testlet/java/lang/IllegalAccessError/classInfo. 2013-07-31 Pavel Tisnovsky * testlet/java/lang/IllegalAccessError/TryCatch.java: * testlet/java/lang/IllegalAccessError/constructor.java: * testlet/java/lang/IllegalAccessError/classInfo/InstanceOf.java: * testlet/java/lang/IllegalAccessError/classInfo/isMemberClass.java: * testlet/java/lang/IllegalAccessError/classInfo/isPrimitive.java: * testlet/java/lang/IllegalAccessError/classInfo/isSynthetic.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-07-30 Pavel Tisnovsky * testlet/java/lang/ExceptionInInitializerError/classInfo/getSimpleName.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/getSuperclass.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/isAssignableFrom.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/isInstance.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/isInterface.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/isLocalClass.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/isMemberClass.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/isPrimitive.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/isSynthetic.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-07-29 Pavel Tisnovsky * testlet/java/lang/ExceptionInInitializerError/classInfo/isAnnotation.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/isAnnotationPresent.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/isAnonymousClass.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/isArray.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/isEnum.java: Five new tests added into testlet/java/lang/ExceptionInInitializerError/classInfo. 2013-07-26 Pavel Tisnovsky * testlet/java/lang/ExceptionInInitializerError/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/getDeclaredClasses.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/getDeclaringClass.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/getEnclosingClass.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/getEnclosingConstructor.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/getEnclosingMethod.java: Another six new tests added into testlet/java/lang/ExceptionInInitializerError/classInfo. 2013-07-25 Pavel Tisnovsky * testlet/java/lang/ExceptionInInitializerError/classInfo/getDeclaredConstructor.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/getDeclaredConstructors.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/getDeclaredField.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/getDeclaredFields.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/getDeclaredMethod.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/getDeclaredMethods.java: Six new tests added into testlet/java/lang/ExceptionInInitializerError/classInfo. 2013-07-24 Pavel Tisnovsky * testlet/java/lang/ExceptionInInitializerError/classInfo/getCanonicalName.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/getClasses.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/getComponentType.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/getConstructor.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/getConstructors.java: Five new tests added into testlet/java/lang/ExceptionInInitializerError/classInfo. 2013-07-23 Pavel Tisnovsky * testlet/java/lang/ExceptionInInitializerError/classInfo/getAnnotation.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/getAnnotations.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/getField.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/getFields.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/getMethod.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/getMethods.java: Six new tests added into testlet/java/lang/ExceptionInInitializerError/classInfo. 2013-07-22 Pavel Tisnovsky * testlet/java/lang/ExceptionInInitializerError/TryCatch.java: * testlet/java/lang/ExceptionInInitializerError/constructor.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/InstanceOf.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/getInterfaces.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/getModifiers.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/getName.java: * testlet/java/lang/ExceptionInInitializerError/classInfo/getPackage.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-07-19 Pavel Tisnovsky * testlet/java/lang/Exception/classInfo/getSuperclass.java: * testlet/java/lang/Exception/classInfo/isAnnotation.java: * testlet/java/lang/Exception/classInfo/isAnnotationPresent.java: * testlet/java/lang/Exception/classInfo/isAnonymousClass.java: * testlet/java/lang/Exception/classInfo/isArray.java: * testlet/java/lang/Exception/classInfo/isAssignableFrom.java: * testlet/java/lang/Exception/classInfo/isEnum.java: * testlet/java/lang/Exception/classInfo/isInstance.java: Added new tests and updated existing ones. 2013-07-18 Pavel Tisnovsky * testlet/java/lang/Exception/classInfo/isInterface.java: * testlet/java/lang/Exception/classInfo/isLocalClass.java: * testlet/java/lang/Exception/classInfo/isMemberClass.java: * testlet/java/lang/Exception/classInfo/isPrimitive.java: * testlet/java/lang/Exception/classInfo/isSynthetic.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-07-17 Pavel Tisnovsky * testlet/java/lang/Exception/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/Exception/classInfo/getDeclaredClasses.java: * testlet/java/lang/Exception/classInfo/getDeclaredConstructor.java: * testlet/java/lang/Exception/classInfo/getDeclaredConstructors.java: Four new tests added into testlet/java/lang/Exception/classInfo directory. 2013-07-16 Pavel Tisnovsky * testlet/java/lang/Exception/classInfo/getConstructor.java: * testlet/java/lang/Exception/classInfo/getConstructors.java: * testlet/java/lang/Exception/classInfo/getEnclosingClass.java: * testlet/java/lang/Exception/classInfo/getEnclosingConstructor.java: * testlet/java/lang/Exception/classInfo/getEnclosingMethod.java: Five new tests added into testlet/java/lang/Exception/classInfo directory. 2013-07-15 Pavel Tisnovsky * testlet/java/lang/Exception/classInfo/getDeclaredField.java: * testlet/java/lang/Exception/classInfo/getDeclaredFields.java: * testlet/java/lang/Exception/classInfo/getDeclaredMethod.java: * testlet/java/lang/Exception/classInfo/getDeclaredMethods.java: * testlet/java/lang/Exception/classInfo/getDeclaringClass.java: Additional five new tests added into testlet/java/lang/Exception/classInfo directory. 2013-07-04 Pavel Tisnovsky * testlet/java/lang/Exception/classInfo/getField.java: * testlet/java/lang/Exception/classInfo/getFields.java: * testlet/java/lang/Exception/classInfo/getMethod.java: * testlet/java/lang/Exception/classInfo/getMethods.java: Additional four new tests added into testlet/java/lang/Exception/classInfo directory. 2013-07-03 Pavel Tisnovsky * testlet/java/lang/Exception/classInfo/getAnnotation.java: * testlet/java/lang/Exception/classInfo/getAnnotations.java: * testlet/java/lang/Exception/classInfo/getCanonicalName.java: * testlet/java/lang/Exception/classInfo/getClasses.java: * testlet/java/lang/Exception/classInfo/getComponentType.java: Five new tests added into testlet/java/lang/Exception/classInfo directory. 2013-06-28 Pavel Tisnovsky * testlet/java/lang/Exception/TryCatch.java: * testlet/java/lang/Exception/constructor.java: * testlet/java/lang/Exception/classInfo/InstanceOf.java: * testlet/java/lang/Exception/classInfo/getInterfaces.java: * testlet/java/lang/Exception/classInfo/getModifiers.java: * testlet/java/lang/Exception/classInfo/getName.java: * testlet/java/lang/Exception/classInfo/getPackage.java: * testlet/java/lang/Exception/classInfo/getSimpleName.java: Updated, added JDK tags. 2013-06-27 Pavel Tisnovsky * testlet/java/lang/Error/classInfo/getInterfaces.java: * testlet/java/lang/Error/classInfo/getModifiers.java: * testlet/java/lang/Error/classInfo/getName.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-06-26 Pavel Tisnovsky * testlet/java/lang/Error/classInfo/isAnonymousClass.java: * testlet/java/lang/Error/classInfo/isArray.java: * testlet/java/lang/Error/classInfo/isEnum.java: Another three new tests added for checking Error class. 2013-06-21 Pavel Tisnovsky * testlet/java/lang/Error/classInfo/getPackage.java: * testlet/java/lang/Error/classInfo/getSimpleName.java: * testlet/java/lang/Error/classInfo/getSuperclass.java: * testlet/java/lang/Error/classInfo/isAssignableFrom.java: * testlet/java/lang/Error/classInfo/isInstance.java: * testlet/java/lang/Error/classInfo/isInterface.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-06-20 Pavel Tisnovsky * testlet/java/lang/Error/classInfo/getDeclaringClass.java: * testlet/java/lang/Error/classInfo/getEnclosingClass.java: * testlet/java/lang/Error/classInfo/getEnclosingConstructor.java: * testlet/java/lang/Error/classInfo/getEnclosingMethod.java: Another new tests added for checking Error class. 2013-06-19 Pavel Tisnovsky * testlet/java/lang/Error/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/Error/classInfo/getDeclaredClasses.java: * testlet/java/lang/Error/classInfo/getDeclaredConstructor.java: * testlet/java/lang/Error/classInfo/getDeclaredConstructors.java: Four new tests added for checking Error class. 2013-06-18 Pavel Tisnovsky * testlet/java/lang/Error/classInfo/getDeclaredField.java: * testlet/java/lang/Error/classInfo/getDeclaredFields.java: * testlet/java/lang/Error/classInfo/getDeclaredMethod.java: * testlet/java/lang/Error/classInfo/getDeclaredMethods.java: Four new tests added for checking Error class. 2013-06-14 Pavel Tisnovsky * testlet/java/lang/Error/classInfo/getConstructor.java: * testlet/java/lang/Error/classInfo/getConstructors.java: * testlet/java/lang/Error/classInfo/isAnnotation.java: * testlet/java/lang/Error/classInfo/isAnnotationPresent.java: Another four tests added for Error class. 2013-06-13 Pavel Tisnovsky * testlet/java/lang/Error/classInfo/getField.java: * testlet/java/lang/Error/classInfo/getFields.java: * testlet/java/lang/Error/classInfo/getMethod.java: * testlet/java/lang/Error/classInfo/getMethods.java: Four more tests added for Error class. 2013-06-11 Pavel Tisnovsky * testlet/java/lang/Error/classInfo/getAnnotation.java: * testlet/java/lang/Error/classInfo/getAnnotations.java: * testlet/java/lang/Error/classInfo/getCanonicalName.java: * testlet/java/lang/Error/classInfo/getClasses.java: * testlet/java/lang/Error/classInfo/getComponentType.java: Five more tests added for Error class. 2013-06-10 Pavel Tisnovsky * testlet/java/lang/Error/TryCatch.java: * testlet/java/lang/Error/constructor.java: * testlet/java/lang/Error/classInfo/InstanceOf.java: * testlet/java/lang/Error/classInfo/isLocalClass.java: * testlet/java/lang/Error/classInfo/isMemberClass.java: * testlet/java/lang/Error/classInfo/isPrimitive.java: * testlet/java/lang/Error/classInfo/isSynthetic.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-06-07 Pavel Tisnovsky * testlet/java/lang/EnumConstantNotPresentException/classInfo/getDeclaredFields.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/getDeclaredMethod.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/getDeclaredMethods.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/getDeclaringClass.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/getEnclosingClass.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/getEnclosingConstructor.java: More tests added for EnumConstantNotPresentException class. 2013-06-06 Pavel Tisnovsky * testlet/java/lang/EnumConstantNotPresentException/classInfo/getCanonicalName.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/getConstructor.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/getConstructors.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/getDeclaredClasses.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/getDeclaredConstructor.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/getDeclaredConstructors.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/getDeclaredField.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/getPackage.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/getSimpleName.java: More tests added for EnumConstantNotPresentException class. 2013-06-05 Pavel Tisnovsky * testlet/java/lang/EnumConstantNotPresentException/classInfo/getConstructor.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/getConstructors.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/getEnclosingClass.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/getEnclosingConstructor.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/getEnclosingMethod.java: Added five new tests for EnumConstantNotPresentException class: getConstructor, getConstructors, getEnclosingClass, getEnclosingConstructor and getEnclosingMethod. 2013-06-04 Pavel Tisnovsky * testlet/java/lang/EnumConstantNotPresentException/classInfo/getField.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/getFields.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/getMethod.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/getMethods.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/getModifiers.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/getSuperclass.java: Added six new tests for EnumConstantNotPresentException class: getField, getFields, getMethod, getMethods, getModifiers and getSuperclass. 2013-06-03 Pavel Tisnovsky * testlet/java/lang/EnumConstantNotPresentException/classInfo/getAnnotation.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/getAnnotations.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/getCanonicalName.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/getClasses.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/getComponentType.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/getInterfaces.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/getName.java: Added new tests for EnumConstantNotPresentException class: getAnnotation, getAnnotations, getCanonicalName, getClasses and getComponentType. 2013-05-31 Pavel Tisnovsky * gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/isAnnotation.java: * gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/isAnonymousClass.java: Added three new tests for EnumConstantNotPresentException class. 2013-05-30 Pavel Tisnovsky * testlet/java/lang/EnumConstantNotPresentException/classInfo/isArray.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/isAssignableFrom.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/isEnum.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/isInstance.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/isInterface.java: Added two new tests and updated three ones. 2013-05-29 Pavel Tisnovsky * testlet/java/lang/EnumConstantNotPresentException/TryCatch.java: * testlet/java/lang/EnumConstantNotPresentException/constructor.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/InstanceOf.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/isLocalClass.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/isMemberClass.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/isPrimitive.java: * testlet/java/lang/EnumConstantNotPresentException/classInfo/isSynthetic.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-05-28 Pavel Tisnovsky * testlet/java/lang/CloneNotSupportedException/classInfo/getConstructors.java: * testlet/java/lang/CloneNotSupportedException/classInfo/getDeclaredConstructors.java: * testlet/java/lang/CloneNotSupportedException/classInfo/getDeclaredFields.java: * testlet/java/lang/CloneNotSupportedException/classInfo/getDeclaredMethods.java: * testlet/java/lang/CloneNotSupportedException/classInfo/getFields.java: * testlet/java/lang/CloneNotSupportedException/classInfo/getMethods.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-05-27 Pavel Tisnovsky * testlet/java/lang/CloneNotSupportedException/classInfo/getInterfaces.java: * testlet/java/lang/CloneNotSupportedException/classInfo/getModifiers.java: * testlet/java/lang/CloneNotSupportedException/classInfo/getName.java: * testlet/java/lang/CloneNotSupportedException/classInfo/getPackage.java: * testlet/java/lang/CloneNotSupportedException/classInfo/getSimpleName.java: * testlet/java/lang/CloneNotSupportedException/classInfo/getSuperclass.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-05-24 Pavel Tisnovsky * testlet/java/lang/CloneNotSupportedException/classInfo/isArray.java: * testlet/java/lang/CloneNotSupportedException/classInfo/isEnum.java: New tests. * testlet/java/lang/CloneNotSupportedException/classInfo/isAssignableFrom.java: * testlet/java/lang/CloneNotSupportedException/classInfo/isInstance.java: * testlet/java/lang/CloneNotSupportedException/classInfo/isInterface.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-05-23 Pavel Tisnovsky * testlet/java/lang/CloneNotSupportedException/classInfo/getField.java: * testlet/java/lang/CloneNotSupportedException/classInfo/getMethod.java: * testlet/java/lang/CloneNotSupportedException/classInfo/isAnnotation.java: * testlet/java/lang/CloneNotSupportedException/classInfo/isAnnotationPresent.java: * testlet/java/lang/CloneNotSupportedException/classInfo/isAnonymousClass.java: Five new tests added for the class CloneNotSupportedException: getField, getMethod, isAnnotation, isAnnotationPresent and isAnonymousClass. 2013-05-22 Pavel Tisnovsky * testlet/java/lang/CloneNotSupportedException/classInfo/InstanceOf.java: * testlet/java/lang/CloneNotSupportedException/classInfo/isLocalClass.java: * testlet/java/lang/CloneNotSupportedException/classInfo/isMemberClass.java: * testlet/java/lang/CloneNotSupportedException/classInfo/isPrimitive.java: * testlet/java/lang/CloneNotSupportedException/classInfo/isSynthetic.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-05-21 Pavel Tisnovsky * testlet/java/lang/CloneNotSupportedException/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/CloneNotSupportedException/classInfo/getDeclaredClasses.java: * testlet/java/lang/CloneNotSupportedException/classInfo/getEnclosingClass.java: * testlet/java/lang/CloneNotSupportedException/classInfo/getEnclosingConstructor.java: * testlet/java/lang/CloneNotSupportedException/classInfo/getEnclosingMethod.java: Five new tests added for the class CloneNotSupportedException: getDeclaredAnnotations, getDeclaredClasses, getEnclosingClass, getEnclosingConstructor and getEnclosingMethod. 2013-05-20 Pavel Tisnovsky * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getConstructor.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getDeclaredConstructor.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getDeclaredField.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getDeclaredMethod.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getDeclaringClass.java: Five new tests added for the class CloneNotSupportedException: getConstructor, getDeclaredConstructor, getDeclaredField, getDeclaredMethod and getDeclaringClass. 2013-05-17 Pavel Tisnovsky * gnu/testlet/java/lang/CloneNotSupportedException/TryCatch.java: * gnu/testlet/java/lang/CloneNotSupportedException/constructor.java: Updated, added JDK tags etc. * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getAnnotation.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getAnnotations.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getCanonicalName.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getClasses.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getComponentType.java: Five new tests added for the class CloneNotSupportedException: getAnnotation, getAnnotations, getCanonicalName, getClasses and getComponentType. 2013-05-16 Pavel Tisnovsky * testlet/java/lang/ClassNotFoundException/classInfo/getConstructors.java: * testlet/java/lang/ClassNotFoundException/classInfo/getDeclaredConstructors.java: * testlet/java/lang/ClassNotFoundException/classInfo/getDeclaredFields.java: * testlet/java/lang/ClassNotFoundException/classInfo/getDeclaredMethods.java: * testlet/java/lang/ClassNotFoundException/classInfo/getFields.java: * testlet/java/lang/ClassNotFoundException/classInfo/getMethods.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-05-15 Pavel Tisnovsky * testlet/java/lang/ClassNotFoundException/classInfo/getInterfaces.java: * testlet/java/lang/ClassNotFoundException/classInfo/getModifiers.java: * testlet/java/lang/ClassNotFoundException/classInfo/getName.java: * testlet/java/lang/ClassNotFoundException/classInfo/getPackage.java: * testlet/java/lang/ClassNotFoundException/classInfo/getSimpleName.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-05-14 Pavel Tisnovsky * testlet/java/awt/Label/MouseMotionListenerTest.java: Make this test to behave properly on slower machines. * testlet/java/awt/List/ScrollbarPaintTest.java: Small fix to make this test more reliable. 2013-05-14 Pavel Tisnovsky * testlet/java/lang/ClassNotFoundException/classInfo/getEnclosingClass.java: * testlet/java/lang/ClassNotFoundException/classInfo/getEnclosingConstructor.java: * testlet/java/lang/ClassNotFoundException/classInfo/getEnclosingMethod.java: Three new tests added for the class ClassNotFoundException: getEnclosingClass, getEnclosingConstructor and getEnclosingMethod. 2013-05-13 Pavel Tisnovsky * testlet/java/lang/ClassNotFoundException/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/ClassNotFoundException/classInfo/getDeclaredClasses.java: * testlet/java/lang/ClassNotFoundException/classInfo/getDeclaredField.java: * testlet/java/lang/ClassNotFoundException/classInfo/getDeclaringClass.java: * testlet/java/lang/ClassNotFoundException/classInfo/getField.java: * testlet/java/lang/ClassNotFoundException/classInfo/isEnum.java: Six new tests added for the class ClassNotFoundException: getDeclaredAnnotations, getDeclaredClasses, getDeclaredField, getDeclaringClass, getField.java and isEnum. 2013-05-10 Pavel Tisnovsky * testlet/java/lang/ClassNotFoundException/classInfo/isAnnotation.java: * testlet/java/lang/ClassNotFoundException/classInfo/isAnnotationPresent.java: * testlet/java/lang/ClassNotFoundException/classInfo/isAnonymousClass.java: * testlet/java/lang/ClassNotFoundException/classInfo/isArray.java: * testlet/java/lang/ClassNotFoundException/classInfo/isEnum.java: Five new tests added for the class ClassNotFoundException: isAnnotation, isAnnotationPresent, isAnonymousClass, isArray and isEnum. 2013-05-09 Pavel Tisnovsky * testlet/java/lang/ClassNotFoundException/classInfo/getSuperclass.java: * testlet/java/lang/ClassNotFoundException/classInfo/isAssignableFrom.java: * testlet/java/lang/ClassNotFoundException/classInfo/isInstance.java: * testlet/java/lang/ClassNotFoundException/classInfo/isInterface.java: * testlet/java/lang/ClassNotFoundException/classInfo/isLocalClass.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-05-03 Pavel Tisnovsky * testlet/java/lang/ClassNotFoundException/classInfo/getConstructor.java: * testlet/java/lang/ClassNotFoundException/classInfo/getDeclaredConstructor.java: * testlet/java/lang/ClassNotFoundException/classInfo/getDeclaredMethod.java: * testlet/java/lang/ClassNotFoundException/classInfo/getMethod.java: Four new tests added for the class ClassNotFoundException: getConstructor, getDeclaredConstructor, getDeclaredMethod and getMethod. 2013-05-02 Pavel Tisnovsky * testlet/java/lang/ClassNotFoundException/classInfo/getAnnotation.java: * testlet/java/lang/ClassNotFoundException/classInfo/getAnnotations.java: * testlet/java/lang/ClassNotFoundException/classInfo/getCanonicalName.java: * testlet/java/lang/ClassNotFoundException/classInfo/getClasses.java: * testlet/java/lang/ClassNotFoundException/classInfo/getComponentType.java: Added five new tests for the class ClassNotFoundException: getAnnotation, getAnnotations, getCanonicalName, getClasses.java and getComponentType. 2013-04-30 Pavel Tisnovsky * testlet/java/lang/ClassNotFoundException/TryCatch.java: * testlet/java/lang/ClassNotFoundException/constructor.java: * testlet/java/lang/ClassNotFoundException/classInfo/InstanceOf.java: * testlet/java/lang/ClassNotFoundException/classInfo/isMemberClass.java: * testlet/java/lang/ClassNotFoundException/classInfo/isPrimitive.java: * testlet/java/lang/ClassNotFoundException/classInfo/isSynthetic.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-04-29 Pavel Tisnovsky * testlet/java/lang/ClassFormatError/classInfo/getConstructors.java: * testlet/java/lang/ClassFormatError/classInfo/getDeclaredConstructors.java: * testlet/java/lang/ClassFormatError/classInfo/getDeclaredFields.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-04-26 Pavel Tisnovsky * testlet/java/lang/ClassFormatError/classInfo/getDeclaredClasses.java: * testlet/java/lang/ClassFormatError/classInfo/getName.java: * testlet/java/lang/ClassFormatError/classInfo/getPackage.java: * testlet/java/lang/ClassFormatError/classInfo/getSimpleName.java: * testlet/java/lang/ClassFormatError/classInfo/isAnnotationPresent.java: Added new tests for the class ClassFormatError, updated existing test for OpenJDK7. 2013-04-25 Pavel Tisnovsky * testlet/java/lang/ClassFormatError/classInfo/getMethod.java: * testlet/java/lang/ClassFormatError/classInfo/isAnnotation.java: * testlet/java/lang/ClassFormatError/classInfo/isAnonymousClass.java: * testlet/java/lang/ClassFormatError/classInfo/isArray.java: * testlet/java/lang/ClassFormatError/classInfo/isEnum.java: Added five new tests for the class ClassFormatError. 2013-04-24 Pavel Tisnovsky * testlet/java/lang/ClassFormatError/classInfo/getSuperclass.java: * testlet/java/lang/ClassFormatError/classInfo/isAssignableFrom.java: * testlet/java/lang/ClassFormatError/classInfo/isInstance.java: * testlet/java/lang/ClassFormatError/classInfo/isInterface.java: * testlet/java/lang/ClassFormatError/classInfo/isLocalClass.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-04-22 Pavel Tisnovsky * testlet/java/lang/ClassFormatError/classInfo/getDeclaredMethods.java: * testlet/java/lang/ClassFormatError/classInfo/getFields.java: * testlet/java/lang/ClassFormatError/classInfo/getInterfaces.java: * testlet/java/lang/ClassFormatError/classInfo/getMethods.java: * testlet/java/lang/ClassFormatError/classInfo/getModifiers.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-04-19 Pavel Tisnovsky * testlet/java/lang/ClassFormatError/classInfo/getDeclaringClass.java: * testlet/java/lang/ClassFormatError/classInfo/getEnclosingClass.java: * testlet/java/lang/ClassFormatError/classInfo/getEnclosingConstructor.java: * testlet/java/lang/ClassFormatError/classInfo/getEnclosingMethod.java: * testlet/java/lang/ClassFormatError/classInfo/getField.java: Added five new tests for ClassFormatError class: getDeclaringClass, getEnclosingClass, getEnclosingConstructor, getEnclosingMethod and getField. 2013-04-17 Pavel Tisnovsky * testlet/java/lang/ClassFormatError/classInfo/getConstructor.java: * testlet/java/lang/ClassFormatError/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/ClassFormatError/classInfo/getDeclaredConstructor.java: * testlet/java/lang/ClassFormatError/classInfo/getDeclaredField.java: * testlet/java/lang/ClassFormatError/classInfo/getDeclaredMethod.java: Added five new tests for ClassFormatError class: getConstructor, getDeclaredAnnotations, getDeclaredConstructor, getDeclaredField and getDeclaredMethod. 2013-04-16 Pavel Tisnovsky * testlet/java/lang/ClassFormatError/classInfo/getAnnotation.java: * testlet/java/lang/ClassFormatError/classInfo/getAnnotations.java: * testlet/java/lang/ClassFormatError/classInfo/getCanonicalName.java: * testlet/java/lang/ClassFormatError/classInfo/getClasses.java: * testlet/java/lang/ClassFormatError/classInfo/getComponentType.java: Added five new tests for ClassFormatError class: getAnnotation, getAnnotations, getCanonicalName, getClasses and getComponentType.. 2013-04-15 Pavel Tisnovsky * testlet/java/lang/ClassFormatError/TryCatch.java: * testlet/java/lang/ClassFormatError/constructor.java: * testlet/java/lang/ClassFormatError/classInfo/InstanceOf.java: * testlet/java/lang/ClassFormatError/classInfo/isMemberClass.java: * testlet/java/lang/ClassFormatError/classInfo/isPrimitive.java: * testlet/java/lang/ClassFormatError/classInfo/isSynthetic.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-04-11 Pavel Tisnovsky * testlet/java/lang/ClassCircularityError/classInfo/getMethods.java: * testlet/java/lang/ClassCircularityError/classInfo/getName.java: * testlet/java/lang/ClassCircularityError/classInfo/getPackage.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-04-10 Pavel Tisnovsky * testlet/java/lang/ClassCircularityError/classInfo/getInterfaces.java: * testlet/java/lang/ClassCircularityError/classInfo/getMethods.java: * testlet/java/lang/ClassCircularityError/classInfo/getModifiers.java: * testlet/java/lang/ClassCircularityError/classInfo/getSimpleName.java: * testlet/java/lang/ClassCircularityError/classInfo/getSuperclass.java: * testlet/java/lang/ClassCircularityError/classInfo/isAssignableFrom.java: * testlet/java/lang/ClassCircularityError/classInfo/isInstance.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-04-09 Pavel Tisnovsky * testlet/java/lang/ClassCircularityError/classInfo/getConstructors.java: * testlet/java/lang/ClassCircularityError/classInfo/getDeclaredConstructors.java: * testlet/java/lang/ClassCircularityError/classInfo/getDeclaredFields.java: * testlet/java/lang/ClassCircularityError/classInfo/getDeclaredMethods.java: * testlet/java/lang/ClassCircularityError/classInfo/getFields.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-04-08 Pavel Tisnovsky * testlet/java/lang/ClassCircularityError/classInfo/getDeclaringClass.java: * testlet/java/lang/ClassCircularityError/classInfo/getEnclosingClass.java: * testlet/java/lang/ClassCircularityError/classInfo/getEnclosingConstructor.java: * testlet/java/lang/ClassCircularityError/classInfo/getEnclosingMethod.java: Added four new tests for ClassCircularityError class: getDeclaringClass, getEnclosingClass, getEnclosingConstructor and getEnclosingMethod. 2013-04-05 Pavel Tisnovsky * testlet/java/lang/ClassCircularityError/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/ClassCircularityError/classInfo/getDeclaredClasses.java: * testlet/java/lang/ClassCircularityError/classInfo/getDeclaredConstructor.java: * testlet/java/lang/ClassCircularityError/classInfo/getField.java: * testlet/java/lang/ClassCircularityError/classInfo/getMethod.java: Added five new tests for ClassCircularityError class: getDeclaredAnnotations getDeclaredClasses, getDeclaredConstructor, getField and getMethod. 2013-04-04 Pavel Tisnovsky * gnu/testlet/java/lang/ClassCircularityError/classInfo/getComponentType.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/getConstructor.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/getDeclaredField.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/getDeclaredMethod.java: Added four new tests for ClassCircularityError class: getComponentType, getConstructor, getDeclaredField and getDeclaredMethod. 2013-04-03 Pavel Tisnovsky * gnu/testlet/java/lang/ClassCircularityError/classInfo/isAnnotation.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/isArray.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/isEnum.java: Added five new tests for ClassCircularityError class: isAnnotation, isAnnotationPresent, isAnonymousClass, isArray and isEnum. 2013-04-02 Pavel Tisnovsky * gnu/testlet/java/lang/ClassCastException/classInfo/getFields.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getMethods.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getModifiers.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getName.java: Updated, make these tests to work correctly with OpenJDK7, added JDK tags etc. 2013-03-29 Pavel Tisnovsky * gnu/testlet/java/lang/ClassCastException/classInfo/getDeclaringClass.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getEnclosingClass.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getEnclosingConstructor.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getEnclosingMethod.java: Added four new tests for ClassCastException class: getDeclaringClass, getEnclosingClass, getEnclosingConstructor and getEnclosingMethod. 2013-03-28 Pavel Tisnovsky * gnu/testlet/java/lang/ClassCastException/classInfo/getConstructors.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getDeclaredMethods.java: Added new methods to test on OpenJDK7. 2013-03-27 Pavel Tisnovsky * gnu/testlet/java/lang/ClassCircularityError/classInfo/getAnnotation.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/getAnnotations.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/getCanonicalName.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/getClasses.java: Added four new tests for ClassCircularityError class: getAnnotation, getAnnotations, getCanonicalName, getClasses. 2013-03-26 Pavel Tisnovsky * gnu/testlet/java/lang/ClassCircularityError/TryCatch.java: * gnu/testlet/java/lang/ClassCircularityError/constructor.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/InstanceOf.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/isInterface.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/isLocalClass.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/isMemberClass.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/isPrimitive.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/isSynthetic.java: Updated eight ClassCircularityError tests, added JDK tag etc. 2013-03-22 Pavel Tisnovsky * gnu/testlet/java/lang/ClassCastException/classInfo/getDeclaredMethod.java: * gnu/testlet/java/lang/ClassCastException/classInfo/isAnnotation.java: * gnu/testlet/java/lang/ClassCastException/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/ClassCastException/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/ClassCastException/classInfo/isArray.java: Added five new tests for ClassCastException class: getDeclaredMethod, isAnnotation, isAnnotationPresent, isAnonymousClass and isArray. 2013-03-21 Pavel Tisnovsky * gnu/testlet/java/lang/ClassCastException/classInfo/getDeclaredAnnotations.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getDeclaredClasses.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getDeclaredConstructor.java: * gnu/testlet/java/lang/ClassCastException/classInfo/isEnum.java: Added four new tests for ClassCastException class: isEnum, getDeclaredAnnotations, getDeclaredClasses and getDeclaredConstructor. 2013-03-20 Pavel Tisnovsky * gnu/testlet/java/lang/ClassCastException/classInfo/getPackage.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/ClassCastException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/ClassCastException/classInfo/isInstance.java: * gnu/testlet/java/lang/ClassCastException/classInfo/isInterface.java: Updated, added JDK tag etc. 2013-03-18 Pavel Tisnovsky * gnu/testlet/java/lang/ClassCastException/classInfo/getConstructor.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getDeclaredField.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getField.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getMethod.java: Added four new tests for ClassCastException class: getConstructor, getDeclaredField, getField and getMethod. 2013-03-15 Pavel Tisnovsky * gnu/testlet/java/lang/ClassCastException/classInfo/getAnnotation.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getAnnotations.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getCanonicalName.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getClasses.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getComponentType.java: Added five new tests for ClassCastException class: getAnnotation, getAnnotations, getCanonicalName, getClasses and getComponentType. 2013-03-14 Pavel Tisnovsky * gnu/testlet/java/lang/ClassCastException/TryCatch.java: * gnu/testlet/java/lang/ClassCastException/constructor.java: * gnu/testlet/java/lang/ClassCastException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/ClassCastException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/ClassCastException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/ClassCastException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/ClassCastException/classInfo/isSynthetic.java: Updated, added JDK tag etc. 2013-03-13 Pavel Tisnovsky * gnu/testlet/java/lang/AssertionError/classInfo/getMethods.java: * gnu/testlet/java/lang/AssertionError/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/AssertionError/classInfo/isEnum.java: Updated, modified tests bodies, added JDK tag, removed check for "native" modifier etc. 2013-03-12 Pavel Tisnovsky * gnu/testlet/java/lang/AssertionError/classInfo/getModifiers.java: * gnu/testlet/java/lang/AssertionError/classInfo/getSuperclass.java: * gnu/testlet/java/lang/AssertionError/classInfo/isAnnotation.java: * gnu/testlet/java/lang/AssertionError/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/AssertionError/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/AssertionError/classInfo/isArray.java: Updated, added JDK tag etc. 2013-03-11 Pavel Tisnovsky * gnu/testlet/java/lang/AssertionError/classInfo/getDeclaringClass.java: * gnu/testlet/java/lang/AssertionError/classInfo/getMethod.java: Added two new tests for AssertionError class: getDeclaringClass and getMethod. 2013-03-08 Pavel Tisnovsky * gnu/testlet/java/lang/AssertionError/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/AssertionError/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/AssertionError/classInfo/getDeclaredMethods.java: * gnu/testlet/java/lang/AssertionError/classInfo/getFields.java: * gnu/testlet/java/lang/AssertionError/classInfo/getInterfaces.java: * gnu/testlet/java/lang/AssertionError/classInfo/getName.java: * gnu/testlet/java/lang/AssertionError/classInfo/getPackage.java: * gnu/testlet/java/lang/AssertionError/classInfo/getSimpleName.java: * gnu/testlet/java/lang/AssertionError/classInfo/isInstance.java: Updated, modified tests bodies, added JDK tag, removed check for "native" modifier etc. 2013-03-07 Pavel Tisnovsky * gnu/testlet/java/lang/AssertionError/classInfo/getClasses.java: * gnu/testlet/java/lang/AssertionError/classInfo/getComponentType.java: * gnu/testlet/java/lang/AssertionError/classInfo/getField.java: Added three new tests for AssertionError class: getClasses, getComponentType and getField. 2013-03-06 Pavel Tisnovsky * testlet/java/lang/AssertionError/classInfo/getEnclosingClass.java: * testlet/java/lang/AssertionError/classInfo/getEnclosingConstructor.java: * testlet/java/lang/AssertionError/classInfo/getEnclosingMethod.java: Added three new tests for AssertionError class: getEnclosingClass, getEnclosingConstructor and getEnclosingMethod. 2013-03-05 Pavel Tisnovsky * gnu/testlet/java/lang/AssertionError/classInfo/getAnnotation.java: * gnu/testlet/java/lang/AssertionError/classInfo/getAnnotations.java: * gnu/testlet/java/lang/AssertionError/classInfo/getCanonicalName.java: Added three new tests for AssertionError class: getAnnotation, getAnnotations and getCanonicalName. 2013-03-04 Pavel Tisnovsky * gnu/testlet/java/lang/AssertionError/classInfo/InstanceOf.java: * gnu/testlet/java/lang/AssertionError/classInfo/getConstructors.java: * gnu/testlet/java/lang/AssertionError/classInfo/isInterface.java: * gnu/testlet/java/lang/AssertionError/classInfo/isLocalClass.java: * gnu/testlet/java/lang/AssertionError/classInfo/isMemberClass.java: * gnu/testlet/java/lang/AssertionError/classInfo/isPrimitive.java: * gnu/testlet/java/lang/AssertionError/classInfo/isSynthetic.java: Updated, modified tests bodies, added JDK tag etc. 2013-03-01 Pavel Tisnovsky * gnu/testlet/java/lang/AssertionError/classInfo/getConstructor.java: * gnu/testlet/java/lang/AssertionError/classInfo/getDeclaredField.java: * gnu/testlet/java/lang/AssertionError/classInfo/getDeclaredMethod.java: Added three new tests for AssertionError class. 2013-02-28 Pavel Tisnovsky * gnu/testlet/java/lang/AssertionError/TryCatch.java: * gnu/testlet/java/lang/AssertionError/constructor.java: Updated, modified tests bodies, added JDK tag etc. * gnu/testlet/java/lang/AssertionError/classInfo/getDeclaredAnnotations.java: * gnu/testlet/java/lang/AssertionError/classInfo/getDeclaredClasses.java: * gnu/testlet/java/lang/AssertionError/classInfo/getDeclaredConstructor.java: Added three new tests for AssertionError class. 2013-02-27 Pavel Tisnovsky * testlet/java/lang/ArrayStoreException/classInfo/getMethods.java: Fixed the handling of "native" modifier of methods and constructors. 2013-02-26 Pavel Tisnovsky * gnu/testlet/java/lang/ArrayStoreException/classInfo/getFields.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getMethods.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getModifiers.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getPackage.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isAnnotation.java: Updated, modified tests bodies, added JDK tag etc. 2013-02-25 Pavel Tisnovsky * gnu/testlet/java/lang/ArrayStoreException/classInfo/getField.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getMethod.java: Two new tests added for a class ArrayStoreException: getField and getMethod. 2013-02-22 Pavel Tisnovsky * gnu/testlet/java/lang/ArrayStoreException/classInfo/getEnclosingClass.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getEnclosingConstructor.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getEnclosingMethod.java: Three new tests added for a class ArrayStoreException: getEnclosingClass, getEnclosingConstructor and getEnclosingMethod. 2013-02-21 Pavel Tisnovsky * gnu/testlet/java/lang/ArrayStoreException/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getDeclaredMethods.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getName.java: Updated, modified tests bodies, added JDK tag etc. 2013-02-20 Pavel Tisnovsky * gnu/testlet/java/lang/ArrayStoreException/classInfo/getComponentType.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getConstructor.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getDeclaredField.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getDeclaredMethod.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getDeclaringClass.java: Five new tests added for a class ArrayStoreException: getComponentType, getConstructor, getDeclaringClass, getDeclaredField and getDeclaredMethod. 2013-02-19 Pavel Tisnovsky * gnu/testlet/java/lang/ArrayStoreException/classInfo/getAnnotation.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getAnnotations.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getCanonicalName.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getClasses.java: Four new tests added for a class ArrayStoreException: getAnnotation, getAnnotations, getCanonicalName and getClasses. 2013-02-18 Pavel Tisnovsky * gnu/testlet/java/lang/ArrayStoreException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getConstructors.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isArray.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isAssignableFrom.java: Updated, added JDK tag. 2013-02-08 Pavel Tisnovsky * gnu/testlet/java/lang/ArrayStoreException/classInfo/getDeclaredAnnotations.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getDeclaredClasses.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getDeclaredConstructor.java: Three new tests added for a class ArrayStoreException. 2013-02-07 Pavel Tisnovsky * gnu/testlet/java/lang/ArrayStoreException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isSynthetic.java: Updated, added JDK tag. 2013-02-06 Pavel Tisnovsky * gnu/testlet/java/lang/ArrayStoreException/TryCatch.java: * gnu/testlet/java/lang/ArrayStoreException/constructor.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isEnum.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isInstance.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isInterface.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isLocalClass.java: Updated, added JDK tag. 2013-02-05 Pavel Tisnovsky * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getModifiers.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getName.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getPackage.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isAnnotation.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isArray.java: Updated, added JDK tag. 2013-02-04 Pavel Tisnovsky * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getEnclosingMethod.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getField.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getMethod.java: Three new tests added for a class ArrayIndexOutOfBoundsException. 2013-01-31 Pavel Tisnovsky * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getDeclaredField.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getDeclaredMethod.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getDeclaringClass.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getEnclosingClass.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getEnclosingConstructor.java: Five new tests added for a class ArrayIndexOutOfBoundsException. 2013-01-30 Pavel Tisnovsky * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getDeclaredAnnotations.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getDeclaredClasses.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getDeclaredConstructor.java: Three new tests added for a class ArrayIndexOutOfBoundsException. 2013-01-29 Pavel Tisnovsky * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getConstructor.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getConstructor.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getConstructors.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getDeclaredMethods.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getFields.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getMethods.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isEnum.java: Added new test getConstructor and updated recent ones. 2013-01-28 Pavel Tisnovsky * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isInstance.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isInterface.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isSynthetic.java: Updated, added JDK tag. * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getClasses.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getComponentType.java: Two new tests added for ArrayIndexOutOfBoundsException class. 2013-01-25 Pavel Tisnovsky * testlet/java/lang/ArrayIndexOutOfBoundsException/TryCatch.java: * testlet/java/lang/ArrayIndexOutOfBoundsException/constructor.java: Updated, added JDK tag. * testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getAnnotation.java: * testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getAnnotations.java: * testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getCanonicalName.java: Three new tests added for ArrayIndexOutOfBoundsException class. 2013-01-22 Pavel Tisnovsky * testlet/java/lang/ArithmeticException/classInfo/getDeclaredAnnotations.java: * testlet/java/lang/ArithmeticException/classInfo/getDeclaredConstructor.java: * testlet/java/lang/ArithmeticException/classInfo/getDeclaredField.java: * testlet/java/lang/ArithmeticException/classInfo/getDeclaredMethod.java: * testlet/java/lang/ArithmeticException/classInfo/getMethod.java: Five additional new tests added for ArithmeticException class. 2013-01-21 Pavel Tisnovsky * testlet/java/lang/ArithmeticException/classInfo/getClasses.java: * testlet/java/lang/ArithmeticException/classInfo/getComponentType.java: * testlet/java/lang/ArithmeticException/classInfo/getDeclaredClasses.java: Three new tests added for ArithmeticException class. 2013-01-18 Pavel Tisnovsky * testlet/java/lang/ArithmeticException/classInfo/getAnnotation.java: * testlet/java/lang/ArithmeticException/classInfo/getAnnotations.java: * testlet/java/lang/ArithmeticException/classInfo/getCanonicalName.java: Three new tests added for ArithmeticException class. 2013-01-17 Pavel Tisnovsky * testlet/java/lang/AbstractMethodError/classInfo/getDeclaredField.java: Added new method to test on OpenJDK7. * testlet/java/lang/ArithmeticException/TryCatch.java: * testlet/java/lang/ArithmeticException/constructor.java: Added JDK1.5 tag. * testlet/java/lang/ArithmeticException/classInfo/getEnclosingClass.java: * testlet/java/lang/ArithmeticException/classInfo/getEnclosingConstructor.java: * testlet/java/lang/ArithmeticException/classInfo/getEnclosingMethod.java: Fixed. 2013-01-16 Pavel Tisnovsky * testlet/java/lang/ArithmeticException/classInfo/getConstructor.java: * testlet/java/lang/ArithmeticException/classInfo/getConstructors.java: * testlet/java/lang/ArithmeticException/classInfo/getDeclaringClass.java: * testlet/java/lang/ArithmeticException/classInfo/getField.java: Added new tests for ArithmeticException classe. 2013-01-15 Pavel Tisnovsky * testlet/java/lang/AbstractMethodError/classInfo/getDeclaringClass.java: * testlet/java/lang/AbstractMethodError/classInfo/getField.java: * testlet/java/lang/AbstractMethodError/classInfo/getMethod.java: * testlet/java/lang/ArithmeticException/classInfo/getEnclosingClass.java: * testlet/java/lang/ArithmeticException/classInfo/getEnclosingConstructor.java: * testlet/java/lang/ArithmeticException/classInfo/getEnclosingMethod.java: Added new tests for AbstractMethodError and ArithmeticException classes. 2013-01-11 Pavel Tisnovsky * testlet/java/lang/AbstractMethodError/classInfo/getEnclosingClass.java: * testlet/java/lang/AbstractMethodError/classInfo/getEnclosingConstructor.java: * testlet/java/lang/AbstractMethodError/classInfo/getEnclosingMethod.java: Added new tests for AbstractMethodError class. 2013-01-10 Pavel Tisnovsky * testlet/java/lang/AbstractMethodError/classInfo/getDeclaredClasses.java: * testlet/java/lang/AbstractMethodError/classInfo/getDeclaredField.java: * testlet/java/lang/AbstractMethodError/classInfo/getDeclaredMethod.java: Added three new tests for AbstractMethodError class. 2013-01-09 Pavel Tisnovsky * gnu/testlet/java/lang/AbstractMethodError/classInfo/getConstructor.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getDeclaredAnnotations.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getDeclaredConstructor.java: Added new tests for AbstractMethodError class. 2013-01-08 Pavel Tisnovsky * testlet/java/lang/AbstractMethodError/classInfo/getCanonicalName.java: * testlet/java/lang/AbstractMethodError/classInfo/getClasses.java: * testlet/java/lang/AbstractMethodError/classInfo/getComponentType.java: Added new tests for AbstractMethodError class. 2013-01-07 Pavel Tisnovsky * gnu/testlet/java/lang/AbstractMethodError/classInfo/getAnnotation.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getAnnotations.java: Added new tests for AbstractMethodError class. 2012-12-21 Pavel Tisnovsky * gnu/testlet/java/lang/Byte/byteDivide.java: Added new test related to byte divide operation. 2012-12-20 Pavel Tisnovsky * testlet/java/lang/Long/longModulo.java: Added new test related to long modulo operation. 2012-12-19 Pavel Tisnovsky * testlet/java/lang/Long/longDivide.java: Added new test related to long divide operation. 2012-12-18 Pavel Tisnovsky * gnu/testlet/java/lang/Integer/integerDivide.java: Fixed. * gnu/testlet/java/lang/Integer/integerModulo.java: Added new test related to integer modulo operation. 2012-12-17 Pavel Tisnovsky * testlet/java/lang/Integer/integerDivide.java: Added new test related to integer divide operation. 2012-12-14 Pavel Tisnovsky * testlet/java/lang/Float/floatToInt.java: * testlet/java/lang/Float/floatToLong.java: Added two new tests related to float to long conversions. 2012-12-13 Pavel Tisnovsky * testlet/java/lang/Double/doubleToLong.java: Added new test related to double to long conversions. 2012-12-12 Pavel Tisnovsky * testlet/java/lang/Double/doubleToInt.java: Added new test related to double to integer conversions. 2012-12-11 Pavel Tisnovsky * gnu/testlet/java/lang/RuntimeException/TryCatch.java: * gnu/testlet/java/lang/RuntimeException/constructor.java: * gnu/testlet/java/lang/RuntimeException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/RuntimeException/classInfo/getConstructors.java: * gnu/testlet/java/lang/RuntimeException/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/RuntimeException/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/RuntimeException/classInfo/getDeclaredMethods.java: * gnu/testlet/java/lang/RuntimeException/classInfo/getFields.java: * gnu/testlet/java/lang/RuntimeException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/RuntimeException/classInfo/getMethods.java: * gnu/testlet/java/lang/RuntimeException/classInfo/getModifiers.java: * gnu/testlet/java/lang/RuntimeException/classInfo/getName.java: * gnu/testlet/java/lang/RuntimeException/classInfo/getPackage.java: * gnu/testlet/java/lang/RuntimeException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/RuntimeException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/RuntimeException/classInfo/isAnnotation.java: * gnu/testlet/java/lang/RuntimeException/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/RuntimeException/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/RuntimeException/classInfo/isArray.java: * gnu/testlet/java/lang/RuntimeException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/RuntimeException/classInfo/isEnum.java: * gnu/testlet/java/lang/RuntimeException/classInfo/isInstance.java: * gnu/testlet/java/lang/RuntimeException/classInfo/isInterface.java: * gnu/testlet/java/lang/RuntimeException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/RuntimeException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/RuntimeException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/RuntimeException/classInfo/isSynthetic.java: Added and updated tests for RuntimeException class. 2012-12-10 Pavel Tisnovsky * gnu/testlet/java/lang/SecurityException/TryCatch.java: * gnu/testlet/java/lang/SecurityException/constructor.java: * gnu/testlet/java/lang/SecurityException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/SecurityException/classInfo/getConstructors.java: * gnu/testlet/java/lang/SecurityException/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/SecurityException/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/SecurityException/classInfo/getDeclaredMethods.java: * gnu/testlet/java/lang/SecurityException/classInfo/getFields.java: * gnu/testlet/java/lang/SecurityException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/SecurityException/classInfo/getMethods.java: * gnu/testlet/java/lang/SecurityException/classInfo/getModifiers.java: * gnu/testlet/java/lang/SecurityException/classInfo/getName.java: * gnu/testlet/java/lang/SecurityException/classInfo/getPackage.java: * gnu/testlet/java/lang/SecurityException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/SecurityException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/SecurityException/classInfo/isAnnotation.java: * gnu/testlet/java/lang/SecurityException/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/SecurityException/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/SecurityException/classInfo/isArray.java: * gnu/testlet/java/lang/SecurityException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/SecurityException/classInfo/isEnum.java: * gnu/testlet/java/lang/SecurityException/classInfo/isInstance.java: * gnu/testlet/java/lang/SecurityException/classInfo/isInterface.java: * gnu/testlet/java/lang/SecurityException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/SecurityException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/SecurityException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/SecurityException/classInfo/isSynthetic.java: Added and updated tests for SecurityException class. 2012-12-07 Pavel Tisnovsky * testlet/java/lang/StackOverflowError/TryCatch.java: * testlet/java/lang/StackOverflowError/constructor.java: * testlet/java/lang/StackOverflowError/classInfo/InstanceOf.java: * testlet/java/lang/StackOverflowError/classInfo/getConstructors.java: * testlet/java/lang/StackOverflowError/classInfo/getDeclaredConstructors.java: * testlet/java/lang/StackOverflowError/classInfo/getDeclaredFields.java: * testlet/java/lang/StackOverflowError/classInfo/getDeclaredMethods.java: * testlet/java/lang/StackOverflowError/classInfo/getFields.java: * testlet/java/lang/StackOverflowError/classInfo/getInterfaces.java: * testlet/java/lang/StackOverflowError/classInfo/getMethods.java: * testlet/java/lang/StackOverflowError/classInfo/getModifiers.java: * testlet/java/lang/StackOverflowError/classInfo/getName.java: * testlet/java/lang/StackOverflowError/classInfo/getPackage.java: * testlet/java/lang/StackOverflowError/classInfo/getSimpleName.java: * testlet/java/lang/StackOverflowError/classInfo/getSuperclass.java: * testlet/java/lang/StackOverflowError/classInfo/isAnnotation.java: * testlet/java/lang/StackOverflowError/classInfo/isAnnotationPresent.java: * testlet/java/lang/StackOverflowError/classInfo/isAnonymousClass.java: * testlet/java/lang/StackOverflowError/classInfo/isArray.java: * testlet/java/lang/StackOverflowError/classInfo/isAssignableFrom.java: * testlet/java/lang/StackOverflowError/classInfo/isEnum.java: * testlet/java/lang/StackOverflowError/classInfo/isInstance.java: * testlet/java/lang/StackOverflowError/classInfo/isInterface.java: * testlet/java/lang/StackOverflowError/classInfo/isLocalClass.java: * testlet/java/lang/StackOverflowError/classInfo/isMemberClass.java: * testlet/java/lang/StackOverflowError/classInfo/isPrimitive.java: * testlet/java/lang/StackOverflowError/classInfo/isSynthetic.java: Added and updated tests for StackOverflowError class. 2012-12-06 Pavel Tisnovsky * gnu/testlet/java/lang/StringIndexOutOfBoundsException/TryCatch.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/constructor.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getConstructors.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getDeclaredMethods.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getFields.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getMethods.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getModifiers.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getName.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getPackage.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/isAnnotation.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/isArray.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/isEnum.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/isInstance.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/isInterface.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/isSynthetic.java: Added and updated tests for StringIndexOutOfBoundsException class. 2012-12-05 Pavel Tisnovsky * gnu/testlet/java/lang/ThreadDeath/TryCatch.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/InstanceOf.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/getConstructors.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/getDeclaredMethods.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/getFields.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/getInterfaces.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/getMethods.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/getModifiers.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/getName.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/getPackage.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/getSimpleName.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/getSuperclass.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/isAnnotation.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/isArray.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/isEnum.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/isInstance.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/isInterface.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/isLocalClass.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/isMemberClass.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/isPrimitive.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/isSynthetic.java: Added and updated tests for ThreadDeath class. 2012-12-04 Pavel Tisnovsky * gnu/testlet/java/lang/TypeNotPresentException/TryCatch.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/getConstructors.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/getDeclaredMethods.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/getFields.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/getMethods.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/getModifiers.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/getName.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/getPackage.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/isAnnotation.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/isArray.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/isEnum.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/isInstance.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/isInterface.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/isSynthetic.java: Added and updated tests for TypeNotPresentException class. 2012-12-03 Pavel Tisnovsky * gnu/testlet/java/lang/UnknownError/TryCatch.java: * gnu/testlet/java/lang/UnknownError/constructor.java: * gnu/testlet/java/lang/UnknownError/classInfo/InstanceOf.java: * gnu/testlet/java/lang/UnknownError/classInfo/getConstructors.java: * gnu/testlet/java/lang/UnknownError/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/UnknownError/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/UnknownError/classInfo/getDeclaredMethods.java: * gnu/testlet/java/lang/UnknownError/classInfo/getFields.java: * gnu/testlet/java/lang/UnknownError/classInfo/getInterfaces.java: * gnu/testlet/java/lang/UnknownError/classInfo/getMethods.java: * gnu/testlet/java/lang/UnknownError/classInfo/getModifiers.java: * gnu/testlet/java/lang/UnknownError/classInfo/getName.java: * gnu/testlet/java/lang/UnknownError/classInfo/getPackage.java: * gnu/testlet/java/lang/UnknownError/classInfo/getSimpleName.java: * gnu/testlet/java/lang/UnknownError/classInfo/getSuperclass.java: * gnu/testlet/java/lang/UnknownError/classInfo/isAnnotation.java: * gnu/testlet/java/lang/UnknownError/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/UnknownError/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/UnknownError/classInfo/isArray.java: * gnu/testlet/java/lang/UnknownError/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/UnknownError/classInfo/isEnum.java: * gnu/testlet/java/lang/UnknownError/classInfo/isInstance.java: * gnu/testlet/java/lang/UnknownError/classInfo/isInterface.java: * gnu/testlet/java/lang/UnknownError/classInfo/isLocalClass.java: * gnu/testlet/java/lang/UnknownError/classInfo/isMemberClass.java: * gnu/testlet/java/lang/UnknownError/classInfo/isPrimitive.java: * gnu/testlet/java/lang/UnknownError/classInfo/isSynthetic.java: Added and updated tests for UnknownError class. 2012-11-29 Pavel Tisnovsky * gnu/testlet/java/lang/UnsatisfiedLinkError/TryCatch.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/constructor.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/InstanceOf.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getConstructors.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getDeclaredMethods.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getFields.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getInterfaces.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getMethods.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getModifiers.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getName.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getPackage.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getSimpleName.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getSuperclass.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/isAnnotation.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/isArray.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/isEnum.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/isInstance.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/isInterface.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/isLocalClass.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/isMemberClass.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/isPrimitive.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/isSynthetic.java: Added and updated tests for UnsatisfiedLinkError class. 2012-11-28 Pavel Tisnovsky * gnu/testlet/java/lang/UnsupportedClassVersionError/TryCatch.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/constructor.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/InstanceOf.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/getConstructors.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/getDeclaredMethods.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/getFields.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/getInterfaces.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/getMethods.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/getModifiers.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/getName.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/getPackage.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/getSimpleName.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/getSuperclass.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/isAnnotation.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/isArray.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/isEnum.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/isInstance.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/isInterface.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/isLocalClass.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/isMemberClass.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/isPrimitive.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/isSynthetic.java: Added and updated tests for UnsupportedClassVersionError class. 2012-11-27 Pavel Tisnovsky * gnu/testlet/java/lang/UnsupportedOperationException/TryCatch.java: * gnu/testlet/java/lang/UnsupportedOperationException/constructor.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getConstructors.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getDeclaredMethods.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getFields.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getMethods.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getModifiers.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getName.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getPackage.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/isAnnotation.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/isArray.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/isEnum.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/isInstance.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/isInterface.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/isSynthetic.java: Added and updated tests for UnsupportedEncodingException class. 2012-11-26 Pavel Tisnovsky * gnu/testlet/java/lang/VerifyError/TryCatch.java: * gnu/testlet/java/lang/VerifyError/constructor.java: * gnu/testlet/java/lang/VerifyError/classInfo/InstanceOf.java: * gnu/testlet/java/lang/VerifyError/classInfo/getConstructors.java: * gnu/testlet/java/lang/VerifyError/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/VerifyError/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/VerifyError/classInfo/getDeclaredMethods.java: * gnu/testlet/java/lang/VerifyError/classInfo/getFields.java: * gnu/testlet/java/lang/VerifyError/classInfo/getInterfaces.java: * gnu/testlet/java/lang/VerifyError/classInfo/getMethods.java: * gnu/testlet/java/lang/VerifyError/classInfo/getModifiers.java: * gnu/testlet/java/lang/VerifyError/classInfo/getName.java: * gnu/testlet/java/lang/VerifyError/classInfo/getPackage.java: * gnu/testlet/java/lang/VerifyError/classInfo/getSimpleName.java: * gnu/testlet/java/lang/VerifyError/classInfo/getSuperclass.java: * gnu/testlet/java/lang/VerifyError/classInfo/isAnnotation.java: * gnu/testlet/java/lang/VerifyError/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/VerifyError/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/VerifyError/classInfo/isArray.java: * gnu/testlet/java/lang/VerifyError/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/VerifyError/classInfo/isEnum.java: * gnu/testlet/java/lang/VerifyError/classInfo/isInstance.java: * gnu/testlet/java/lang/VerifyError/classInfo/isInterface.java: * gnu/testlet/java/lang/VerifyError/classInfo/isLocalClass.java: * gnu/testlet/java/lang/VerifyError/classInfo/isMemberClass.java: * gnu/testlet/java/lang/VerifyError/classInfo/isPrimitive.java: * gnu/testlet/java/lang/VerifyError/classInfo/isSynthetic.java: Added and updated tests for VerifyError class. 2012-11-22 Pavel Tisnovsky * gnu/testlet/java/util/IllegalFormatWidthException/TryCatch.java: * gnu/testlet/java/util/IllegalFormatWidthException/constructor.java: * gnu/testlet/java/util/IllegalFormatWidthException/classInfo/InstanceOf.java: * gnu/testlet/java/util/IllegalFormatWidthException/classInfo/getConstructors.java: * gnu/testlet/java/util/IllegalFormatWidthException/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/util/IllegalFormatWidthException/classInfo/getDeclaredFields.java: * gnu/testlet/java/util/IllegalFormatWidthException/classInfo/getDeclaredMethods.java: * gnu/testlet/java/util/IllegalFormatWidthException/classInfo/getFields.java: * gnu/testlet/java/util/IllegalFormatWidthException/classInfo/getInterfaces.java: * gnu/testlet/java/util/IllegalFormatWidthException/classInfo/getMethods.java: * gnu/testlet/java/util/IllegalFormatWidthException/classInfo/getModifiers.java: * gnu/testlet/java/util/IllegalFormatWidthException/classInfo/getName.java: * gnu/testlet/java/util/IllegalFormatWidthException/classInfo/getPackage.java: * gnu/testlet/java/util/IllegalFormatWidthException/classInfo/getSimpleName.java: * gnu/testlet/java/util/IllegalFormatWidthException/classInfo/getSuperclass.java: * gnu/testlet/java/util/IllegalFormatWidthException/classInfo/isAnnotation.java: * gnu/testlet/java/util/IllegalFormatWidthException/classInfo/isAnnotationPresent.java: * gnu/testlet/java/util/IllegalFormatWidthException/classInfo/isAnonymousClass.java: * gnu/testlet/java/util/IllegalFormatWidthException/classInfo/isArray.java: * gnu/testlet/java/util/IllegalFormatWidthException/classInfo/isAssignableFrom.java: * gnu/testlet/java/util/IllegalFormatWidthException/classInfo/isEnum.java: * gnu/testlet/java/util/IllegalFormatWidthException/classInfo/isInstance.java: * gnu/testlet/java/util/IllegalFormatWidthException/classInfo/isInterface.java: * gnu/testlet/java/util/IllegalFormatWidthException/classInfo/isLocalClass.java: * gnu/testlet/java/util/IllegalFormatWidthException/classInfo/isMemberClass.java: * gnu/testlet/java/util/IllegalFormatWidthException/classInfo/isPrimitive.java: * gnu/testlet/java/util/IllegalFormatWidthException/classInfo/isSynthetic.java: Added 27 new tests for a class IllegalFormatWidthException. 2012-11-21 Pavel Tisnovsky * gnu/testlet/java/util/IllegalFormatPrecisionException/TryCatch.java: * gnu/testlet/java/util/IllegalFormatPrecisionException/constructor.java: * gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/InstanceOf.java: * gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/getConstructors.java: * gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/getDeclaredFields.java: * gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/getDeclaredMethods.java: * gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/getFields.java: * gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/getInterfaces.java: * gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/getMethods.java: * gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/getModifiers.java: * gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/getName.java: * gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/getPackage.java: * gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/getSimpleName.java: * gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/getSuperclass.java: * gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/isAnnotation.java: * gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/isAnnotationPresent.java: * gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/isAnonymousClass.java: * gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/isArray.java: * gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/isAssignableFrom.java: * gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/isEnum.java: * gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/isInstance.java: * gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/isInterface.java: * gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/isLocalClass.java: * gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/isMemberClass.java: * gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/isPrimitive.java: * gnu/testlet/java/util/IllegalFormatPrecisionException/classInfo/isSynthetic.java: Added 27 new tests for a class IllegalFormatPrecisionException. 2012-11-20 Pavel Tisnovsky * gnu/testlet/java/util/IllegalFormatFlagsException/TryCatch.java: * gnu/testlet/java/util/IllegalFormatFlagsException/constructor.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/InstanceOf.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/getConstructors.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/getDeclaredFields.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/getDeclaredMethods.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/getFields.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/getInterfaces.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/getMethods.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/getModifiers.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/getName.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/getPackage.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/getSimpleName.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/getSuperclass.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/isAnnotation.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/isAnnotationPresent.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/isAnonymousClass.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/isArray.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/isAssignableFrom.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/isEnum.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/isInstance.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/isInterface.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/isLocalClass.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/isMemberClass.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/isPrimitive.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/isSynthetic.java: Updated current tests and added new tests for a class IllegalFormatFlagsException. 2012-11-19 Pavel Tisnovsky * gnu/testlet/java/util/IllegalFormatConversionException/TryCatch.java: * gnu/testlet/java/util/IllegalFormatConversionException/constructor.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/InstanceOf.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getFields.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getInterfaces.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getModifiers.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getName.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getPackage.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getSimpleName.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getSuperclass.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isInstance.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isInterface.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isLocalClass.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isMemberClass.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isPrimitive.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isSynthetic.java: Updated. * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isAnnotation.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isAnnotationPresent.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isAnonymousClass.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isArray.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isAssignableFrom.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isEnum.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getConstructors.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getDeclaredFields.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getDeclaredMethods.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getMethods.java: Added new tests for a class IllegalFormatConversionException. 2012-11-16 Pavel Tisnovsky * gnu/testlet/java/util/IllegalFormatCodePointException/TryCatch.java: * gnu/testlet/java/util/IllegalFormatCodePointException/constructor.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/InstanceOf.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getInterfaces.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getModifiers.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getName.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getPackage.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getSimpleName.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getSuperclass.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/isAssignableFrom.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/isInstance.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/isInterface.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/isLocalClass.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/isMemberClass.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/isPrimitive.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/isSynthetic.java: Updated. * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getConstructors.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getDeclaredFields.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getDeclaredMethods.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getFields.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getMethods.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/isAnnotation.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/isAnnotationPresent.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/isAnonymousClass.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/isArray.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/isEnum.java: Added new tests for a class IllegalFormatCodePointException. 2012-11-15 Pavel Tisnovsky * gnu/testlet/java/lang/ArithmeticException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getConstructors.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getDeclaredMethods.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getFields.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getMethods.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getModifiers.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getName.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getPackage.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isAnnotation.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isArray.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isEnum.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isInstance.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isInterface.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isSynthetic.java: Added missing tag to all tests, fixed the handling of "native" modifier of methods and constructors. 2012-11-14 Pavel Tisnovsky * gnu/testlet/java/lang/AbstractMethodError/TryCatch.java: * gnu/testlet/java/lang/AbstractMethodError/constructor.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/InstanceOf.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getConstructors.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getDeclaredMethods.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getFields.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getInterfaces.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getMethods.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getModifiers.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getName.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getPackage.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getSimpleName.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getSuperclass.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isAnnotation.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isArray.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isEnum.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isInstance.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isInterface.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isLocalClass.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isMemberClass.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isPrimitive.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isSynthetic.java: Added missing tag to all tests, fixed the handling of "native" modifier of methods and constructors. 2012-11-13 Pavel Tisnovsky * gnu/testlet/java/lang/Object/classInfo/InstanceOf.java: * gnu/testlet/java/lang/Object/classInfo/getConstructors.java: * gnu/testlet/java/lang/Object/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/Object/classInfo/getDeclaredMethods.java: * gnu/testlet/java/lang/Object/classInfo/getInterfaces.java: * gnu/testlet/java/lang/Object/classInfo/getMethods.java: * gnu/testlet/java/lang/Object/classInfo/getModifiers.java: * gnu/testlet/java/lang/Object/classInfo/getName.java: * gnu/testlet/java/lang/Object/classInfo/getPackage.java: * gnu/testlet/java/lang/Object/classInfo/getSimpleName.java: * gnu/testlet/java/lang/Object/classInfo/getSuperclass.java: * gnu/testlet/java/lang/Object/classInfo/isAnnotation.java: * gnu/testlet/java/lang/Object/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/Object/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/Object/classInfo/isArray.java: * gnu/testlet/java/lang/Object/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/Object/classInfo/isEnum.java: * gnu/testlet/java/lang/Object/classInfo/isInstance.java: * gnu/testlet/java/lang/Object/classInfo/isInterface.java: * gnu/testlet/java/lang/Object/classInfo/isLocalClass.java: * gnu/testlet/java/lang/Object/classInfo/isMemberClass.java: * gnu/testlet/java/lang/Object/classInfo/isPrimitive.java: * gnu/testlet/java/lang/Object/classInfo/isSynthetic.java: Added missing tag to all tests, fixed the handling of "native" modifier of methods and constructors. 2012-11-12 Pekka Enberg * gnu/testlet/java/lang/Object/classInfo/getConstructors.java: * gnu/testlet/java/lang/Object/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/Object/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/Object/classInfo/getDeclaredMethods.java: * gnu/testlet/java/lang/Object/classInfo/getFields.java: * gnu/testlet/java/lang/Object/classInfo/getMethods.java: Fixed to work on GNU Classpath. 2012-11-01 Pavel Tisnovsky * gnu/testlet/java/lang/Object/constructor.java: * gnu/testlet/java/lang/Object/classInfo/InstanceOf.java: * gnu/testlet/java/lang/Object/classInfo/getConstructors.java: * gnu/testlet/java/lang/Object/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/Object/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/Object/classInfo/getDeclaredMethods.java: * gnu/testlet/java/lang/Object/classInfo/getFields.java: * gnu/testlet/java/lang/Object/classInfo/getInterfaces.java: * gnu/testlet/java/lang/Object/classInfo/getMethods.java: * gnu/testlet/java/lang/Object/classInfo/getModifiers.java: * gnu/testlet/java/lang/Object/classInfo/getName.java: * gnu/testlet/java/lang/Object/classInfo/getPackage.java: * gnu/testlet/java/lang/Object/classInfo/getSimpleName.java: * gnu/testlet/java/lang/Object/classInfo/getSuperclass.java: * gnu/testlet/java/lang/Object/classInfo/isAnnotation.java: * gnu/testlet/java/lang/Object/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/Object/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/Object/classInfo/isArray.java: * gnu/testlet/java/lang/Object/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/Object/classInfo/isEnum.java: * gnu/testlet/java/lang/Object/classInfo/isInstance.java: * gnu/testlet/java/lang/Object/classInfo/isInterface.java: * gnu/testlet/java/lang/Object/classInfo/isLocalClass.java: * gnu/testlet/java/lang/Object/classInfo/isMemberClass.java: * gnu/testlet/java/lang/Object/classInfo/isPrimitive.java: * gnu/testlet/java/lang/Object/classInfo/isSynthetic.java: New tests. 2012-10-23 Pavel Tisnovsky * gnu/testlet/java/lang/AssertionError/classInfo/getConstructors.java: * gnu/testlet/java/lang/AssertionError/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/AssertionError/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/AssertionError/classInfo/getDeclaredMethods.java: * gnu/testlet/java/lang/AssertionError/classInfo/getFields.java: * gnu/testlet/java/lang/AssertionError/classInfo/getInterfaces.java: * gnu/testlet/java/lang/AssertionError/classInfo/getMethods.java: * gnu/testlet/java/lang/AssertionError/classInfo/getModifiers.java: * gnu/testlet/java/lang/AssertionError/classInfo/getName.java: * gnu/testlet/java/lang/AssertionError/classInfo/getPackage.java: * gnu/testlet/java/lang/AssertionError/classInfo/getSimpleName.java: * gnu/testlet/java/lang/AssertionError/classInfo/getSuperclass.java: * gnu/testlet/java/lang/AssertionError/classInfo/isAnnotation.java: * gnu/testlet/java/lang/AssertionError/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/AssertionError/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/AssertionError/classInfo/isArray.java: * gnu/testlet/java/lang/AssertionError/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/AssertionError/classInfo/isEnum.java: * gnu/testlet/java/lang/AssertionError/classInfo/isInstance.java: * gnu/testlet/java/lang/AssertionError/classInfo/isInterface.java: * gnu/testlet/java/lang/AssertionError/classInfo/isLocalClass.java: * gnu/testlet/java/lang/AssertionError/classInfo/isMemberClass.java: * gnu/testlet/java/lang/AssertionError/classInfo/isPrimitive.java: * gnu/testlet/java/lang/AssertionError/classInfo/isSynthetic.java: Made these tests compatible with JDK7 API. 2012-10-18 Pavel Tisnovsky * gnu/testlet/java/io/UTFDataFormatException/TryCatch.java: * gnu/testlet/java/io/UTFDataFormatException/constructor.java: * gnu/testlet/java/io/UTFDataFormatException/classInfo/InstanceOf.java: * gnu/testlet/java/io/UTFDataFormatException/classInfo/getInterfaces.java: * gnu/testlet/java/io/UTFDataFormatException/classInfo/getModifiers.java: * gnu/testlet/java/io/UTFDataFormatException/classInfo/getName.java: * gnu/testlet/java/io/UTFDataFormatException/classInfo/getPackage.java: * gnu/testlet/java/io/UTFDataFormatException/classInfo/getSimpleName.java: * gnu/testlet/java/io/UTFDataFormatException/classInfo/getSuperclass.java: * gnu/testlet/java/io/UTFDataFormatException/classInfo/isAssignableFrom.java: * gnu/testlet/java/io/UTFDataFormatException/classInfo/isInstance.java: * gnu/testlet/java/io/UTFDataFormatException/classInfo/isInterface.java: * gnu/testlet/java/io/UTFDataFormatException/classInfo/isLocalClass.java: * gnu/testlet/java/io/UTFDataFormatException/classInfo/isMemberClass.java: * gnu/testlet/java/io/UTFDataFormatException/classInfo/isPrimitive.java: * gnu/testlet/java/io/UTFDataFormatException/classInfo/isSynthetic.java: Added 16 new tests for a class java.io.UTFDataFormatException. 2012-10-17 Pavel Tisnovsky * gnu/testlet/java/io/UnsupportedEncodingException/TryCatch.java: * gnu/testlet/java/io/UnsupportedEncodingException/constructor.java: * gnu/testlet/java/io/UnsupportedEncodingException/classInfo/InstanceOf.java: * gnu/testlet/java/io/UnsupportedEncodingException/classInfo/getInterfaces.java: * gnu/testlet/java/io/UnsupportedEncodingException/classInfo/getModifiers.java: * gnu/testlet/java/io/UnsupportedEncodingException/classInfo/getName.java: * gnu/testlet/java/io/UnsupportedEncodingException/classInfo/getPackage.java: * gnu/testlet/java/io/UnsupportedEncodingException/classInfo/getSimpleName.java: * gnu/testlet/java/io/UnsupportedEncodingException/classInfo/getSuperclass.java: * gnu/testlet/java/io/UnsupportedEncodingException/classInfo/isAssignableFrom.java: * gnu/testlet/java/io/UnsupportedEncodingException/classInfo/isInstance.java: * gnu/testlet/java/io/UnsupportedEncodingException/classInfo/isInterface.java: * gnu/testlet/java/io/UnsupportedEncodingException/classInfo/isLocalClass.java: * gnu/testlet/java/io/UnsupportedEncodingException/classInfo/isMemberClass.java: * gnu/testlet/java/io/UnsupportedEncodingException/classInfo/isPrimitive.java: * gnu/testlet/java/io/UnsupportedEncodingException/classInfo/isSynthetic.java: Added 16 new tests for a class java.io.UnsupportedEncodingException. 2012-10-16 Pavel Tisnovsky * gnu/testlet/java/lang/ArrayStoreException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getConstructors.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getDeclaredMethods.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getFields.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getMethods.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getModifiers.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getName.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getPackage.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isAnnotation.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isArray.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isEnum.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isInstance.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isInterface.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isSynthetic.java: Made these tests compatible with JDK7 API. 2012-10-15 Pavel Tisnovsky * gnu/testlet/java/io/SyncFailedException/TryCatch.java: * gnu/testlet/java/io/SyncFailedException/constructor.java: * gnu/testlet/java/io/SyncFailedException/classInfo/InstanceOf.java: * gnu/testlet/java/io/SyncFailedException/classInfo/getInterfaces.java: * gnu/testlet/java/io/SyncFailedException/classInfo/getModifiers.java: * gnu/testlet/java/io/SyncFailedException/classInfo/getName.java: * gnu/testlet/java/io/SyncFailedException/classInfo/getPackage.java: * gnu/testlet/java/io/SyncFailedException/classInfo/getSimpleName.java: * gnu/testlet/java/io/SyncFailedException/classInfo/getSuperclass.java: * gnu/testlet/java/io/SyncFailedException/classInfo/isAssignableFrom.java: * gnu/testlet/java/io/SyncFailedException/classInfo/isInstance.java: * gnu/testlet/java/io/SyncFailedException/classInfo/isInterface.java: * gnu/testlet/java/io/SyncFailedException/classInfo/isLocalClass.java: * gnu/testlet/java/io/SyncFailedException/classInfo/isMemberClass.java: * gnu/testlet/java/io/SyncFailedException/classInfo/isPrimitive.java: * gnu/testlet/java/io/SyncFailedException/classInfo/isSynthetic.java: Added 16 new tests for a class java.io.SyncFailedException. 2012-10-12 Pavel Tisnovsky * gnu/testlet/java/io/StreamCorruptedException/TryCatch.java: * gnu/testlet/java/io/StreamCorruptedException/constructor.java: * gnu/testlet/java/io/StreamCorruptedException/classInfo/InstanceOf.java: * gnu/testlet/java/io/StreamCorruptedException/classInfo/getInterfaces.java: * gnu/testlet/java/io/StreamCorruptedException/classInfo/getModifiers.java: * gnu/testlet/java/io/StreamCorruptedException/classInfo/getName.java: * gnu/testlet/java/io/StreamCorruptedException/classInfo/getPackage.java: * gnu/testlet/java/io/StreamCorruptedException/classInfo/getSimpleName.java: * gnu/testlet/java/io/StreamCorruptedException/classInfo/getSuperclass.java: * gnu/testlet/java/io/StreamCorruptedException/classInfo/isAssignableFrom.java: * gnu/testlet/java/io/StreamCorruptedException/classInfo/isInstance.java: * gnu/testlet/java/io/StreamCorruptedException/classInfo/isInterface.java: * gnu/testlet/java/io/StreamCorruptedException/classInfo/isLocalClass.java: * gnu/testlet/java/io/StreamCorruptedException/classInfo/isMemberClass.java: * gnu/testlet/java/io/StreamCorruptedException/classInfo/isPrimitive.java: * gnu/testlet/java/io/StreamCorruptedException/classInfo/isSynthetic.java: Added 16 new tests for a class java.io.StreamCorruptedException. 2012-10-11 Pavel Tisnovsky * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getConstructors.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getDeclaredMethods.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getFields.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getMethods.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getModifiers.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getName.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getPackage.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isAnnotation.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isArray.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isEnum.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isInstance.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isInterface.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isSynthetic.java: Made these tests compatible with JDK7 API. 2012-10-10 Pavel Tisnovsky * gnu/testlet/java/io/WriteAbortedException/TryCatch.java: * gnu/testlet/java/io/WriteAbortedException/constructor.java: * gnu/testlet/java/io/WriteAbortedException/classInfo/InstanceOf.java: * gnu/testlet/java/io/WriteAbortedException/classInfo/getInterfaces.java: * gnu/testlet/java/io/WriteAbortedException/classInfo/getModifiers.java: * gnu/testlet/java/io/WriteAbortedException/classInfo/getName.java: * gnu/testlet/java/io/WriteAbortedException/classInfo/getPackage.java: * gnu/testlet/java/io/WriteAbortedException/classInfo/getSimpleName.java: * gnu/testlet/java/io/WriteAbortedException/classInfo/getSuperclass.java: * gnu/testlet/java/io/WriteAbortedException/classInfo/isAssignableFrom.java: * gnu/testlet/java/io/WriteAbortedException/classInfo/isInstance.java: * gnu/testlet/java/io/WriteAbortedException/classInfo/isInterface.java: * gnu/testlet/java/io/WriteAbortedException/classInfo/isLocalClass.java: * gnu/testlet/java/io/WriteAbortedException/classInfo/isMemberClass.java: * gnu/testlet/java/io/WriteAbortedException/classInfo/isPrimitive.java: * gnu/testlet/java/io/WriteAbortedException/classInfo/isSynthetic.java: Added new tests for a class java.io.WriteAbortedException. 2012-10-09 Pavel Tisnovsky * gnu/testlet/java/io/NotSerializableException/TryCatch.java: * gnu/testlet/java/io/NotSerializableException/constructor.java: * gnu/testlet/java/io/NotSerializableException/classInfo/InstanceOf.java: * gnu/testlet/java/io/NotSerializableException/classInfo/getInterfaces.java: * gnu/testlet/java/io/NotSerializableException/classInfo/getModifiers.java: * gnu/testlet/java/io/NotSerializableException/classInfo/getName.java: * gnu/testlet/java/io/NotSerializableException/classInfo/getPackage.java: * gnu/testlet/java/io/NotSerializableException/classInfo/getSimpleName.java: * gnu/testlet/java/io/NotSerializableException/classInfo/getSuperclass.java: * gnu/testlet/java/io/NotSerializableException/classInfo/isAssignableFrom.java: * gnu/testlet/java/io/NotSerializableException/classInfo/isInstance.java: * gnu/testlet/java/io/NotSerializableException/classInfo/isInterface.java: * gnu/testlet/java/io/NotSerializableException/classInfo/isLocalClass.java: * gnu/testlet/java/io/NotSerializableException/classInfo/isMemberClass.java: * gnu/testlet/java/io/NotSerializableException/classInfo/isPrimitive.java: * gnu/testlet/java/io/NotSerializableException/classInfo/isSynthetic.java: Added sixteen new tests for a class java.io.NotSerializableException . 2012-10-08 Pavel Tisnovsky * gnu/testlet/java/io/NotActiveException/TryCatch.java: * gnu/testlet/java/io/NotActiveException/constructor.java: * gnu/testlet/java/io/NotActiveException/classInfo/InstanceOf.java: * gnu/testlet/java/io/NotActiveException/classInfo/getInterfaces.java: * gnu/testlet/java/io/NotActiveException/classInfo/getModifiers.java: * gnu/testlet/java/io/NotActiveException/classInfo/getName.java: * gnu/testlet/java/io/NotActiveException/classInfo/getPackage.java: * gnu/testlet/java/io/NotActiveException/classInfo/getSimpleName.java: * gnu/testlet/java/io/NotActiveException/classInfo/getSuperclass.java: * gnu/testlet/java/io/NotActiveException/classInfo/isAssignableFrom.java: * gnu/testlet/java/io/NotActiveException/classInfo/isInstance.java: * gnu/testlet/java/io/NotActiveException/classInfo/isInterface.java: * gnu/testlet/java/io/NotActiveException/classInfo/isLocalClass.java: * gnu/testlet/java/io/NotActiveException/classInfo/isMemberClass.java: * gnu/testlet/java/io/NotActiveException/classInfo/isPrimitive.java: * gnu/testlet/java/io/NotActiveException/classInfo/isSynthetic.java: Added sixteen new tests for a class java.io.NotActiveException. 2012-10-05 Pavel Tisnovsky * gnu/testlet/java/lang/ArithmeticException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getConstructors.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getDeclaredMethods.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getFields.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getMethods.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getModifiers.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getName.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getPackage.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isAnnotation.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isArray.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isEnum.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isInstance.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isInterface.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isSynthetic.java: Make these tests compatible with JDK7. 2012-10-04 Pavel Tisnovsky * gnu/testlet/java/lang/AbstractMethodError/classInfo/getConstructors.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getDeclaredMethods.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getFields.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getInterfaces.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getMethods.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getModifiers.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getName.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getPackage.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getSimpleName.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getSuperclass.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isAnnotation.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isArray.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isEnum.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isInstance.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isInterface.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isLocalClass.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isMemberClass.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isPrimitive.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isSynthetic.java: Slightly improvements of these tests. 2012-10-03 Pavel Tisnovsky * gnu/testlet/java/lang/AbstractMethodError/classInfo/getConstructors.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getDeclaredMethods.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getFields.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getMethods.java: Make these tests compatible with JDK7. 2012-10-02 Pavel Tisnovsky * gnu/testlet/java/io/IOException/TryCatch.java: * gnu/testlet/java/io/IOException/constructor.java: * gnu/testlet/java/io/IOException/classInfo/InstanceOf.java: * gnu/testlet/java/io/IOException/classInfo/getInterfaces.java: * gnu/testlet/java/io/IOException/classInfo/getModifiers.java: * gnu/testlet/java/io/IOException/classInfo/getName.java: * gnu/testlet/java/io/IOException/classInfo/getPackage.java: * gnu/testlet/java/io/IOException/classInfo/getSimpleName.java: * gnu/testlet/java/io/IOException/classInfo/getSuperclass.java: * gnu/testlet/java/io/IOException/classInfo/isAssignableFrom.java: * gnu/testlet/java/io/IOException/classInfo/isInstance.java: * gnu/testlet/java/io/IOException/classInfo/isInterface.java: * gnu/testlet/java/io/IOException/classInfo/isLocalClass.java: * gnu/testlet/java/io/IOException/classInfo/isMemberClass.java: * gnu/testlet/java/io/IOException/classInfo/isPrimitive.java: * gnu/testlet/java/io/IOException/classInfo/isSynthetic.java: Added sixteen new tests for a class java.io.IOException. 2012-10-01 Pavel Tisnovsky * gnu/testlet/java/io/IOError/TryCatch.java: * gnu/testlet/java/io/IOError/constructor.java: * gnu/testlet/java/io/IOError/classInfo/InstanceOf.java: * gnu/testlet/java/io/IOError/classInfo/getInterfaces.java: * gnu/testlet/java/io/IOError/classInfo/getModifiers.java: * gnu/testlet/java/io/IOError/classInfo/getName.java: * gnu/testlet/java/io/IOError/classInfo/getPackage.java: * gnu/testlet/java/io/IOError/classInfo/getSimpleName.java: * gnu/testlet/java/io/IOError/classInfo/getSuperclass.java: * gnu/testlet/java/io/IOError/classInfo/isAssignableFrom.java: * gnu/testlet/java/io/IOError/classInfo/isInstance.java: * gnu/testlet/java/io/IOError/classInfo/isInterface.java: * gnu/testlet/java/io/IOError/classInfo/isLocalClass.java: * gnu/testlet/java/io/IOError/classInfo/isMemberClass.java: * gnu/testlet/java/io/IOError/classInfo/isPrimitive.java: * gnu/testlet/java/io/IOError/classInfo/isSynthetic.java: Added sixteen new tests for a class java.io.IOError. 2012-09-26 Pavel Tisnovsky * gnu/testlet/java/io/InvalidObjectException/TryCatch.java: * gnu/testlet/java/io/InvalidObjectException/constructor.java: * gnu/testlet/java/io/InvalidObjectException/classInfo/InstanceOf.java: * gnu/testlet/java/io/InvalidObjectException/classInfo/getInterfaces.java: * gnu/testlet/java/io/InvalidObjectException/classInfo/getModifiers.java: * gnu/testlet/java/io/InvalidObjectException/classInfo/getName.java: * gnu/testlet/java/io/InvalidObjectException/classInfo/getPackage.java: * gnu/testlet/java/io/InvalidObjectException/classInfo/getSimpleName.java: * gnu/testlet/java/io/InvalidObjectException/classInfo/getSuperclass.java: * gnu/testlet/java/io/InvalidObjectException/classInfo/isAssignableFrom.java: * gnu/testlet/java/io/InvalidObjectException/classInfo/isInstance.java: * gnu/testlet/java/io/InvalidObjectException/classInfo/isInterface.java: * gnu/testlet/java/io/InvalidObjectException/classInfo/isLocalClass.java: * gnu/testlet/java/io/InvalidObjectException/classInfo/isMemberClass.java: * gnu/testlet/java/io/InvalidObjectException/classInfo/isPrimitive.java: * gnu/testlet/java/io/InvalidObjectException/classInfo/isSynthetic.java: Added sixteen new tests for a class java.io.InvalidObjectException. 2012-09-25 Pavel Tisnovsky * gnu/testlet/java/io/InterruptedIOException/TryCatch.java: * gnu/testlet/java/io/InterruptedIOException/constructor.java: * gnu/testlet/java/io/InterruptedIOException/classInfo/InstanceOf.java: * gnu/testlet/java/io/InterruptedIOException/classInfo/getInterfaces.java: * gnu/testlet/java/io/InterruptedIOException/classInfo/getModifiers.java: * gnu/testlet/java/io/InterruptedIOException/classInfo/getName.java: * gnu/testlet/java/io/InterruptedIOException/classInfo/getPackage.java: * gnu/testlet/java/io/InterruptedIOException/classInfo/getSimpleName.java: * gnu/testlet/java/io/InterruptedIOException/classInfo/getSuperclass.java: * gnu/testlet/java/io/InterruptedIOException/classInfo/isAssignableFrom.java: * gnu/testlet/java/io/InterruptedIOException/classInfo/isInstance.java: * gnu/testlet/java/io/InterruptedIOException/classInfo/isInterface.java: * gnu/testlet/java/io/InterruptedIOException/classInfo/isLocalClass.java: * gnu/testlet/java/io/InterruptedIOException/classInfo/isMemberClass.java: * gnu/testlet/java/io/InterruptedIOException/classInfo/isPrimitive.java: * gnu/testlet/java/io/InterruptedIOException/classInfo/isSynthetic.java: Sixteen new tests for a class java.io.InterruptedIOException. * gnu/testlet/java/io/InvalidClassException/TryCatch.java: * gnu/testlet/java/io/InvalidClassException/constructor.java: * gnu/testlet/java/io/InvalidClassException/classInfo/InstanceOf.java: * gnu/testlet/java/io/InvalidClassException/classInfo/getInterfaces.java: * gnu/testlet/java/io/InvalidClassException/classInfo/getModifiers.java: * gnu/testlet/java/io/InvalidClassException/classInfo/getName.java: * gnu/testlet/java/io/InvalidClassException/classInfo/getPackage.java: * gnu/testlet/java/io/InvalidClassException/classInfo/getSimpleName.java: * gnu/testlet/java/io/InvalidClassException/classInfo/getSuperclass.java: * gnu/testlet/java/io/InvalidClassException/classInfo/isAssignableFrom.java: * gnu/testlet/java/io/InvalidClassException/classInfo/isInstance.java: * gnu/testlet/java/io/InvalidClassException/classInfo/isInterface.java: * gnu/testlet/java/io/InvalidClassException/classInfo/isLocalClass.java: * gnu/testlet/java/io/InvalidClassException/classInfo/isMemberClass.java: * gnu/testlet/java/io/InvalidClassException/classInfo/isPrimitive.java: * gnu/testlet/java/io/InvalidClassException/classInfo/isSynthetic.java: Sixteen new tests for a class java.io.InvalidClassException. 2012-09-21 Pavel Tisnovsky * gnu/testlet/java/io/FileNotFoundException/TryCatch.java: * gnu/testlet/java/io/FileNotFoundException/constructor.java: * gnu/testlet/java/io/FileNotFoundException/classInfo/InstanceOf.java: * gnu/testlet/java/io/FileNotFoundException/classInfo/getInterfaces.java: * gnu/testlet/java/io/FileNotFoundException/classInfo/getModifiers.java: * gnu/testlet/java/io/FileNotFoundException/classInfo/getName.java: * gnu/testlet/java/io/FileNotFoundException/classInfo/getPackage.java: * gnu/testlet/java/io/FileNotFoundException/classInfo/getSimpleName.java: * gnu/testlet/java/io/FileNotFoundException/classInfo/getSuperclass.java: * gnu/testlet/java/io/FileNotFoundException/classInfo/isAssignableFrom.java: * gnu/testlet/java/io/FileNotFoundException/classInfo/isInstance.java: * gnu/testlet/java/io/FileNotFoundException/classInfo/isInterface.java: * gnu/testlet/java/io/FileNotFoundException/classInfo/isLocalClass.java: * gnu/testlet/java/io/FileNotFoundException/classInfo/isMemberClass.java: * gnu/testlet/java/io/FileNotFoundException/classInfo/isPrimitive.java: * gnu/testlet/java/io/FileNotFoundException/classInfo/isSynthetic.java: Sixteen new tests for a class java.io.FileNotFoundException. 2012-09-20 Pavel Tisnovsky * gnu/testlet/java/lang/Byte/classInfo/isAnnotation.java: * gnu/testlet/java/lang/Byte/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/Byte/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/Byte/classInfo/isArray.java: * gnu/testlet/java/lang/Byte/classInfo/isEnum.java: * gnu/testlet/java/lang/Short/classInfo/isAnnotation.java: * gnu/testlet/java/lang/Short/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/Short/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/Short/classInfo/isArray.java: * gnu/testlet/java/lang/Short/classInfo/isEnum.java: * gnu/testlet/java/lang/Integer/classInfo/isAnnotation.java: * gnu/testlet/java/lang/Integer/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/Integer/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/Integer/classInfo/isArray.java: * gnu/testlet/java/lang/Integer/classInfo/isEnum.java: * gnu/testlet/java/lang/Long/classInfo/isAnnotation.java: * gnu/testlet/java/lang/Long/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/Long/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/Long/classInfo/isArray.java: * gnu/testlet/java/lang/Long/classInfo/isEnum.java: Added 20 new tests for a classes java.lang.(Byte|Short|Integer|Long). 2012-09-19 Pavel Tisnovsky * gnu/testlet/java/lang/Boolean/classInfo/isAnnotation.java: * gnu/testlet/java/lang/Boolean/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/Boolean/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/Boolean/classInfo/isArray.java: * gnu/testlet/java/lang/Boolean/classInfo/isEnum.java: * gnu/testlet/java/lang/Double/classInfo/isAnnotation.java: * gnu/testlet/java/lang/Double/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/Double/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/Double/classInfo/isArray.java: * gnu/testlet/java/lang/Double/classInfo/isEnum.java: * gnu/testlet/java/lang/Float/classInfo/isAnnotation.java: * gnu/testlet/java/lang/Float/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/Float/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/Float/classInfo/isArray.java: * gnu/testlet/java/lang/Float/classInfo/isEnum.java: Added new tests for a classes java.lang.(Boolean|Double|Float). 2012-09-18 Pavel Tisnovsky * gnu/testlet/java/lang/AssertionError/classInfo/isAnnotation.java: * gnu/testlet/java/lang/AssertionError/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/AssertionError/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/AssertionError/classInfo/isArray.java: * gnu/testlet/java/lang/AssertionError/classInfo/isEnum.java: Added five new tests for a class java.lang.AssertionError. 2012-09-14 Pavel Tisnovsky * gnu/testlet/java/lang/ArrayStoreException/classInfo/isAnnotation.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isArray.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isEnum.java: Added five new tests for a class java.lang.ArrayStoreException. 2012-09-13 Pavel Tisnovsky * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isAnnotation.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isArray.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isEnum.java: Added five new tests for a class java.lang.ArrayIndexOutOfBoundsException. 2012-09-12 Pavel Tisnovsky * gnu/testlet/java/lang/ArithmeticException/classInfo/isAnnotation.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isArray.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isEnum.java: Added five new tests for a class java.lang.ArithmeticException. 2012-09-12 Pavel Tisnovsky * gnu/testlet/java/lang/AbstractMethodError/classInfo/isAnnotation.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isAnnotationPresent.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isAnonymousClass.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isArray.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isEnum.java: Added five new tests for a class java.lang.AbstractMethodError. 2012-09-11 Pavel Tisnovsky * gnu/testlet/java/lang/AssertionError/classInfo/getConstructors.java: * gnu/testlet/java/lang/AssertionError/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/AssertionError/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/AssertionError/classInfo/getDeclaredMethods.java: * gnu/testlet/java/lang/AssertionError/classInfo/getFields.java: * gnu/testlet/java/lang/AssertionError/classInfo/getInterfaces.java: * gnu/testlet/java/lang/AssertionError/classInfo/getMethods.java: * gnu/testlet/java/lang/AssertionError/classInfo/getModifiers.java: * gnu/testlet/java/lang/AssertionError/classInfo/getName.java: * gnu/testlet/java/lang/AssertionError/classInfo/getPackage.java: * gnu/testlet/java/lang/AssertionError/classInfo/getSimpleName.java: * gnu/testlet/java/lang/AssertionError/classInfo/getSuperclass.java: * gnu/testlet/java/lang/AssertionError/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/AssertionError/classInfo/isInstance.java: * gnu/testlet/java/lang/AssertionError/classInfo/isInterface.java: * gnu/testlet/java/lang/AssertionError/classInfo/isLocalClass.java: * gnu/testlet/java/lang/AssertionError/classInfo/isMemberClass.java: * gnu/testlet/java/lang/AssertionError/classInfo/isPrimitive.java: * gnu/testlet/java/lang/AssertionError/classInfo/isSynthetic.java: Updated tests for a class AssertionError. 2012-09-10 Pavel Tisnovsky * gnu/testlet/java/lang/Class/isAnnotation.java: * gnu/testlet/java/lang/Class/isAnnotationPresent.java: * gnu/testlet/java/lang/Class/isArray.java: * gnu/testlet/java/lang/Class/isPrimitive.java: Added new tests for a basic class Class. * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getConstructors.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getFields.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getMethods.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getDeclaredMethods.java: New tests for a class java.lang.CloneNotSupportedException. * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getModifiers.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getName.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getPackage.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/isInstance.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/isInterface.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/isSynthetic.java: Fixed comments. 2012-09-07 Pavel Tisnovsky * gnu/testlet/java/lang/ClassFormatError/classInfo/getConstructors.java: * gnu/testlet/java/lang/ClassFormatError/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/ClassFormatError/classInfo/getFields.java: * gnu/testlet/java/lang/ClassFormatError/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/ClassFormatError/classInfo/getMethods.java: * gnu/testlet/java/lang/ClassFormatError/classInfo/getDeclaredMethods.java: New tests for a class java.lang.ClassFormatError. * gnu/testlet/java/lang/ClassNotFoundException/classInfo/getConstructors.java: * gnu/testlet/java/lang/ClassNotFoundException/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/ClassNotFoundException/classInfo/getFields.java: * gnu/testlet/java/lang/ClassNotFoundException/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/ClassNotFoundException/classInfo/getMethods.java: * gnu/testlet/java/lang/ClassNotFoundException/classInfo/getDeclaredMethods.java: New tests for a class java.lang.ClassNotFoundException. * gnu/testlet/java/lang/ClassFormatError/constructor.java: * gnu/testlet/java/lang/ClassFormatError/classInfo/getInterfaces.java: * gnu/testlet/java/lang/ClassFormatError/classInfo/getModifiers.java: * gnu/testlet/java/lang/ClassFormatError/classInfo/getName.java: * gnu/testlet/java/lang/ClassFormatError/classInfo/getPackage.java: * gnu/testlet/java/lang/ClassFormatError/classInfo/getSimpleName.java: * gnu/testlet/java/lang/ClassFormatError/classInfo/getSuperclass.java: * gnu/testlet/java/lang/ClassFormatError/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/ClassFormatError/classInfo/isInstance.java: * gnu/testlet/java/lang/ClassFormatError/classInfo/isInterface.java: * gnu/testlet/java/lang/ClassFormatError/classInfo/isLocalClass.java: * gnu/testlet/java/lang/ClassFormatError/classInfo/isMemberClass.java: * gnu/testlet/java/lang/ClassFormatError/classInfo/isPrimitive.java: * gnu/testlet/java/lang/ClassFormatError/classInfo/isSynthetic.java: Fixed comments. * gnu/testlet/java/lang/ClassNotFoundException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/ClassNotFoundException/classInfo/getModifiers.java: * gnu/testlet/java/lang/ClassNotFoundException/classInfo/getName.java: * gnu/testlet/java/lang/ClassNotFoundException/classInfo/getPackage.java: * gnu/testlet/java/lang/ClassNotFoundException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/ClassNotFoundException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/ClassNotFoundException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/ClassNotFoundException/classInfo/isInstance.java: * gnu/testlet/java/lang/ClassNotFoundException/classInfo/isInterface.java: * gnu/testlet/java/lang/ClassNotFoundException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/ClassNotFoundException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/ClassNotFoundException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/ClassNotFoundException/classInfo/isSynthetic.java: Fixed comments. 2012-09-06 Pavel Tisnovsky * gnu/testlet/java/lang/ClassCastException/classInfo/getConstructors.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getFields.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getMethods.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getDeclaredMethods.java: New tests for a class java.lang.ClassCastException. * gnu/testlet/java/lang/ClassCircularityError/classInfo/getConstructors.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/getFields.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/getMethods.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/getDeclaredMethods.java: New tests for a class java.lang.CircularityError. * gnu/testlet/java/lang/ClassCastException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getModifiers.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getName.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getPackage.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/ClassCastException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/ClassCastException/classInfo/isInstance.java: * gnu/testlet/java/lang/ClassCastException/classInfo/isInterface.java: * gnu/testlet/java/lang/ClassCastException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/ClassCastException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/ClassCastException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/ClassCastException/classInfo/isSynthetic.java: Fixed comments. * gnu/testlet/java/lang/ClassCircularityError/constructor.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/getInterfaces.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/getModifiers.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/getName.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/getPackage.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/getSimpleName.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/getSuperclass.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/isInstance.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/isInterface.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/isLocalClass.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/isMemberClass.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/isPrimitive.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/isSynthetic.java: Fixed comments. 2012-09-05 Pavel Tisnovsky * gnu/testlet/java/io/EOFException/TryCatch.java: * gnu/testlet/java/io/EOFException/constructor.java: * gnu/testlet/java/io/EOFException/classInfo/InstanceOf.java: * gnu/testlet/java/io/EOFException/classInfo/getInterfaces.java: * gnu/testlet/java/io/EOFException/classInfo/getModifiers.java: * gnu/testlet/java/io/EOFException/classInfo/getName.java: * gnu/testlet/java/io/EOFException/classInfo/getPackage.java: * gnu/testlet/java/io/EOFException/classInfo/getSimpleName.java: * gnu/testlet/java/io/EOFException/classInfo/getSuperclass.java: * gnu/testlet/java/io/EOFException/classInfo/isAssignableFrom.java: * gnu/testlet/java/io/EOFException/classInfo/isInstance.java: * gnu/testlet/java/io/EOFException/classInfo/isInterface.java: * gnu/testlet/java/io/EOFException/classInfo/isLocalClass.java: * gnu/testlet/java/io/EOFException/classInfo/isMemberClass.java: * gnu/testlet/java/io/EOFException/classInfo/isPrimitive.java: * gnu/testlet/java/io/EOFException/classInfo/isSynthetic.java: Added new tests for the class java.io.EOFException. 2012-08-31 Pavel Tisnovsky * gnu/testlet/java/nio/channels/FileChannel/multidirectbufferIO.java: Update this test to reflect changes in OpenJDK 7u8. 2012-08-31 Pavel Tisnovsky * gnu/testlet/java/lang/Math/strictfp_modifier/acos.java: * gnu/testlet/java/lang/Math/strictfp_modifier/asin.java: * gnu/testlet/java/lang/Math/strictfp_modifier/atan.java: * gnu/testlet/java/lang/Math/strictfp_modifier/cbrt.java: * gnu/testlet/java/lang/Math/strictfp_modifier/cos.java: * gnu/testlet/java/lang/Math/strictfp_modifier/cosh.java: * gnu/testlet/java/lang/Math/strictfp_modifier/expm1.java: * gnu/testlet/java/lang/Math/strictfp_modifier/sin.java: * gnu/testlet/java/lang/Math/strictfp_modifier/sinh.java: * gnu/testlet/java/lang/Math/strictfp_modifier/tan.java: * gnu/testlet/java/lang/Math/strictfp_modifier/tanh.java: Added more tests for the package java.lang.Math. These tests use strictfp class modifier. 2012-08-30 Pavel Tisnovsky * gnu/testlet/java/lang/Math/acos.java: * gnu/testlet/java/lang/Math/asin.java: * gnu/testlet/java/lang/Math/atan.java: * gnu/testlet/java/lang/Math/cbrt.java: * gnu/testlet/java/lang/Math/cosh.java: * gnu/testlet/java/lang/Math/expm1.java: * gnu/testlet/java/lang/Math/sinh.java: * gnu/testlet/java/lang/Math/tan.java: * gnu/testlet/java/lang/Math/tanh.java: Added more tests for the package java.lang.Math. 2012-08-29 Pavel Tisnovsky * gnu/testlet/java/lang/Math/cos.java: * gnu/testlet/java/lang/Math/sin.java: Added more test cases into these tests. 2012-08-28 Pavel Tisnovsky * gnu/testlet/java/lang/ArithmeticException/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getMethods.java: Make these two tests compatible with JDK 1.7. 2012-08-27 Pavel Tisnovsky * gnu/testlet/java/lang/Double/compareToObject.java: Test of Double method compareTo(Object). * gnu/testlet/java/lang/Double/doubleToLongBits.java: Test of Double method doubleToLongBits(double). * gnu/testlet/java/lang/Double/doubleToRawLongBits.java: Test of Double method doubleToRawLongBits(double). * gnu/testlet/java/lang/Double/valueOfDouble.java: Test of Double method valueOf(double). 2012-08-20 Pavel Tisnovsky * gnu/testlet/java/lang/AbstractMethodError/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getMethods.java: Make these tests compatible with JDK 1.7. 2012-08-20 Pavel Tisnovsky * Harness.java: fix - tests with specific command line options are now compiled separately, not in one group with other tests. * gnu/testlet/java/lang/TypeNotPresentException/TryCatch.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/getModifiers.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/getName.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/getPackage.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/isInstance.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/isInterface.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/isSynthetic.java: Fixed parameters used to call constructor of TypeNotPresent class. 2012-08-17 Pavel Tisnovsky * gnu/testlet/java/lang/ArrayStoreExceptionException/classInfo/getConstructors.java: * gnu/testlet/java/lang/ArrayStoreExceptionException/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/ArrayStoreExceptionException/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/ArrayStoreExceptionException/classInfo/getDeclaredMethods.java: * gnu/testlet/java/lang/ArrayStoreExceptionException/classInfo/getFields.java: * gnu/testlet/java/lang/ArrayStoreExceptionException/classInfo/getMethods.java: Added six new tests for a class ArrayStoreExceptionException. * gnu/testlet/java/lang/ArrayStoreExceptionException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/ArrayStoreExceptionException/classInfo/getModifiers.java: * gnu/testlet/java/lang/ArrayStoreExceptionException/classInfo/getName.java: * gnu/testlet/java/lang/ArrayStoreExceptionException/classInfo/getPackage.java: * gnu/testlet/java/lang/ArrayStoreExceptionException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/ArrayStoreExceptionException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/ArrayStoreExceptionException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/ArrayStoreExceptionException/classInfo/isInstance.java: * gnu/testlet/java/lang/ArrayStoreExceptionException/classInfo/isInterface.java: * gnu/testlet/java/lang/ArrayStoreExceptionException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/ArrayStoreExceptionException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/ArrayStoreExceptionException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/ArrayStoreExceptionException/classInfo/isSynthetic.java: Fixed typo in comments. 2012-08-16 Pavel Tisnovsky * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getConstructors.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getDeclaredMethods.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getFields.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getMethods.java: Added six new tests for a class ArrayIndexOutOfBoundsException. * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getModifiers.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getName.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getPackage.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isInstance.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isInterface.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isSynthetic.java: Fixed typo in comments. 2012-08-15 Pavel Tisnovsky * gnu/testlet/java/lang/ArithmeticException/classInfo/getConstructors.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getDeclaredMethods.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getFields.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getMethods.java: Added six new tests for a class ArithmeticException. * gnu/testlet/java/lang/ArithmeticException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getModifiers.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getName.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getPackage.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isInstance.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isInterface.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isSynthetic.java: Fixed typo in comments. 2012-08-14 Pavel Tisnovsky * gnu/testlet/java/lang/AbstractMethodError/classInfo/getConstructors.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getDeclaredConstructors.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getDeclaredFields.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getMethods.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getFields.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getDeclaredMethods.java: Added six new tests for a class AbstractMethodError. * gnu/testlet/java/lang/AbstractMethodError/classInfo/getInterfaces.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getModifiers.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getName.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getPackage.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getSimpleName.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getSuperclass.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isInstance.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isInterface.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isLocalClass.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isMemberClass.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isPrimitive.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isSynthetic.java: Fixed typo in comments. 2012-08-10 Pavel Tisnovsky * gnu/testlet/java/io/CharConversionException/TryCatch.java: * gnu/testlet/java/io/CharConversionException/constructor.java: * gnu/testlet/java/io/CharConversionException/classInfo/InstanceOf.java: * gnu/testlet/java/io/CharConversionException/classInfo/getInterfaces.java: * gnu/testlet/java/io/CharConversionException/classInfo/getModifiers.java: * gnu/testlet/java/io/CharConversionException/classInfo/getName.java: * gnu/testlet/java/io/CharConversionException/classInfo/getPackage.java: * gnu/testlet/java/io/CharConversionException/classInfo/getSimpleName.java: * gnu/testlet/java/io/CharConversionException/classInfo/getSuperclass.java: * gnu/testlet/java/io/CharConversionException/classInfo/isAssignableFrom.java: * gnu/testlet/java/io/CharConversionException/classInfo/isInstance.java: * gnu/testlet/java/io/CharConversionException/classInfo/isInterface.java: * gnu/testlet/java/io/CharConversionException/classInfo/isLocalClass.java: * gnu/testlet/java/io/CharConversionException/classInfo/isMemberClass.java: * gnu/testlet/java/io/CharConversionException/classInfo/isPrimitive.java: * gnu/testlet/java/io/CharConversionException/classInfo/isSynthetic.java: Added 16 new tests for a class java.io.CharConversionException. 2012-07-27 Pavel Tisnovsky * gnu/testlet/java/util/IllegalFormatException/classInfo/InstanceOf.java: Added new test for a class java.util.IllegalFormatException. * gnu/testlet/java/util/IllegalFormatFlagsException/TryCatch.java: * gnu/testlet/java/util/IllegalFormatFlagsException/constructor.java: * gnu/testlet/java/util/IllegalFormatFlagsException/getFlags.java: * gnu/testlet/java/util/IllegalFormatFlagsException/getMessage.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/InstanceOf.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/getInterfaces.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/getModifiers.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/getName.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/getPackage.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/getSimpleName.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/getSuperclass.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/isAssignableFrom.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/isInstance.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/isInterface.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/isLocalClass.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/isMemberClass.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/isPrimitive.java: * gnu/testlet/java/util/IllegalFormatFlagsException/classInfo/isSynthetic.java: Added new tests for a class java.util.IllegalFormatFlagsException. 2012-07-23 Pavel Tisnovsky * gnu/testlet/java/util/FormatFlagsConversionMismatchException/getConversion.java: * gnu/testlet/java/util/FormatFlagsConversionMismatchException/getFlags.java: * gnu/testlet/java/util/FormatFlagsConversionMismatchException/getMessage.java: * gnu/testlet/java/util/FormatterClosedException/TryCatch.java: * gnu/testlet/java/util/FormatterClosedException/constructor.java: * gnu/testlet/java/util/FormatterClosedException/classInfo/InstanceOf.java: * gnu/testlet/java/util/FormatterClosedException/classInfo/getInterfaces.java: * gnu/testlet/java/util/FormatterClosedException/classInfo/getModifiers.java: * gnu/testlet/java/util/FormatterClosedException/classInfo/getName.java: * gnu/testlet/java/util/FormatterClosedException/classInfo/getPackage.java: * gnu/testlet/java/util/FormatterClosedException/classInfo/getSimpleName.java: * gnu/testlet/java/util/FormatterClosedException/classInfo/getSuperclass.java: * gnu/testlet/java/util/FormatterClosedException/classInfo/isAssignableFrom.java: * gnu/testlet/java/util/FormatterClosedException/classInfo/isInstance.java: * gnu/testlet/java/util/FormatterClosedException/classInfo/isInterface.java: * gnu/testlet/java/util/FormatterClosedException/classInfo/isLocalClass.java: * gnu/testlet/java/util/FormatterClosedException/classInfo/isMemberClass.java: * gnu/testlet/java/util/FormatterClosedException/classInfo/isPrimitive.java: * gnu/testlet/java/util/FormatterClosedException/classInfo/isSynthetic.java: * gnu/testlet/java/util/IllegalFormatCodePointException/getCodePoint.java: * gnu/testlet/java/util/IllegalFormatCodePointException/getMessage.java: * gnu/testlet/java/util/IllegalFormatConversionException/TryCatchNPE.java: * gnu/testlet/java/util/IllegalFormatConversionException/getArgumentClass.java: * gnu/testlet/java/util/IllegalFormatConversionException/getConversion.java: * gnu/testlet/java/util/IllegalFormatConversionException/getMessage.java: Added new tests for classes from java.util package. 2012-07-19 Pavel Tisnovsky * gnu/testlet/java/util/IllegalFormatCodePointException/TryCatch.java: * gnu/testlet/java/util/IllegalFormatCodePointException/constructor.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/InstanceOf.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getInterfaces.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getModifiers.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getName.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getPackage.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getSimpleName.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/getSuperclass.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/isAssignableFrom.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/isInstance.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/isInterface.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/isLocalClass.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/isMemberClass.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/isPrimitive.java: * gnu/testlet/java/util/IllegalFormatCodePointException/classInfo/isSynthetic.java: * gnu/testlet/java/util/IllegalFormatConversionException/TryCatch.java: * gnu/testlet/java/util/IllegalFormatConversionException/constructor.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/InstanceOf.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getInterfaces.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getModifiers.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getName.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getPackage.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getSimpleName.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/getSuperclass.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isAssignableFrom.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isInstance.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isInterface.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isLocalClass.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isMemberClass.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isPrimitive.java: * gnu/testlet/java/util/IllegalFormatConversionException/classInfo/isSynthetic.java: Added new tests for classes java.util.IllegalFormatCodePointException and java.util.IllegalFormatCodePointException. 2012-07-17 Pavel Tisnovsky * gnu/testlet/java/util/EmptyStackException/TryCatch.java: * gnu/testlet/java/util/EmptyStackException/constructor.java: * gnu/testlet/java/util/EmptyStackException/classInfo/InstanceOf.java: * gnu/testlet/java/util/EmptyStackException/classInfo/getInterfaces.java: * gnu/testlet/java/util/EmptyStackException/classInfo/getModifiers.java: * gnu/testlet/java/util/EmptyStackException/classInfo/getName.java: * gnu/testlet/java/util/EmptyStackException/classInfo/getPackage.java: * gnu/testlet/java/util/EmptyStackException/classInfo/getSimpleName.java: * gnu/testlet/java/util/EmptyStackException/classInfo/getSuperclass.java: * gnu/testlet/java/util/EmptyStackException/classInfo/isAssignableFrom.java: * gnu/testlet/java/util/EmptyStackException/classInfo/isInstance.java: * gnu/testlet/java/util/EmptyStackException/classInfo/isInterface.java: * gnu/testlet/java/util/EmptyStackException/classInfo/isLocalClass.java: * gnu/testlet/java/util/EmptyStackException/classInfo/isMemberClass.java: * gnu/testlet/java/util/EmptyStackException/classInfo/isPrimitive.java: * gnu/testlet/java/util/EmptyStackException/classInfo/isSynthetic.java: * gnu/testlet/java/util/FormatFlagsConversionMismatchException/TryCatch.java: * gnu/testlet/java/util/FormatFlagsConversionMismatchException/constructor.java: * gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/InstanceOf.java: * gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/getInterfaces.java: * gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/getModifiers.java: * gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/getName.java: * gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/getPackage.java: * gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/getSimpleName.java: * gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/getSuperclass.java: * gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/isAssignableFrom.java: * gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/isInstance.java: * gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/isInterface.java: * gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/isLocalClass.java: * gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/isMemberClass.java: * gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/isPrimitive.java: * gnu/testlet/java/util/FormatFlagsConversionMismatchException/classInfo/isSynthetic.java: Added new tests for classes java.util.EmptyStackException and java.util.FormatFlagsConversionMismatchException. 2012-07-12 Pavel Tisnovsky * gnu/testlet/java/util/DuplicateFormatFlagsException/TryCatch.java: * gnu/testlet/java/util/DuplicateFormatFlagsException/constructor.java: * gnu/testlet/java/util/DuplicateFormatFlagsException/getFlags.java: * gnu/testlet/java/util/DuplicateFormatFlagsException/getMessage.java: * gnu/testlet/java/util/DuplicateFormatFlagsException/classInfo/InstanceOf.java: * gnu/testlet/java/util/DuplicateFormatFlagsException/classInfo/getInterfaces.java: * gnu/testlet/java/util/DuplicateFormatFlagsException/classInfo/getModifiers.java: * gnu/testlet/java/util/DuplicateFormatFlagsException/classInfo/getName.java: * gnu/testlet/java/util/DuplicateFormatFlagsException/classInfo/getPackage.java: * gnu/testlet/java/util/DuplicateFormatFlagsException/classInfo/getSimpleName.java: * gnu/testlet/java/util/DuplicateFormatFlagsException/classInfo/getSuperclass.java: * gnu/testlet/java/util/DuplicateFormatFlagsException/classInfo/isAssignableFrom.java: * gnu/testlet/java/util/DuplicateFormatFlagsException/classInfo/isInstance.java: * gnu/testlet/java/util/DuplicateFormatFlagsException/classInfo/isInterface.java: * gnu/testlet/java/util/DuplicateFormatFlagsException/classInfo/isLocalClass.java: * gnu/testlet/java/util/DuplicateFormatFlagsException/classInfo/isMemberClass.java: * gnu/testlet/java/util/DuplicateFormatFlagsException/classInfo/isPrimitive.java: * gnu/testlet/java/util/DuplicateFormatFlagsException/classInfo/isSynthetic.java: Added new tests for a class java.util.DuplicateFormatFlagsException. 2012-07-11 Pavel Tisnovsky * gnu/testlet/java/util/ConcurrentModificationException/TryCatch.java: * gnu/testlet/java/util/ConcurrentModificationException/constructor.java: * gnu/testlet/java/util/ConcurrentModificationException/classInfo/InstanceOf.java: * gnu/testlet/java/util/ConcurrentModificationException/classInfo/getInterfaces.java: * gnu/testlet/java/util/ConcurrentModificationException/classInfo/getModifiers.java: * gnu/testlet/java/util/ConcurrentModificationException/classInfo/getName.java: * gnu/testlet/java/util/ConcurrentModificationException/classInfo/getPackage.java: * gnu/testlet/java/util/ConcurrentModificationException/classInfo/getSimpleName.java: * gnu/testlet/java/util/ConcurrentModificationException/classInfo/getSuperclass.java: * gnu/testlet/java/util/ConcurrentModificationException/classInfo/isAssignableFrom.java: * gnu/testlet/java/util/ConcurrentModificationException/classInfo/isInstance.java: * gnu/testlet/java/util/ConcurrentModificationException/classInfo/isInterface.java: * gnu/testlet/java/util/ConcurrentModificationException/classInfo/isLocalClass.java: * gnu/testlet/java/util/ConcurrentModificationException/classInfo/isMemberClass.java: * gnu/testlet/java/util/ConcurrentModificationException/classInfo/isPrimitive.java: * gnu/testlet/java/util/ConcurrentModificationException/classInfo/isSynthetic.java: Added new tests for a class java.util.ConcurrentModificationException. 2012-07-10 Pavel Tisnovsky * gnu/testlet/java/lang/Class/classInfo/InstanceOf.java: * gnu/testlet/java/lang/Class/classInfo/getInterfaces.java: * gnu/testlet/java/lang/Class/classInfo/getModifiers.java: * gnu/testlet/java/lang/Class/classInfo/getName.java: * gnu/testlet/java/lang/Class/classInfo/getPackage.java: * gnu/testlet/java/lang/Class/classInfo/getSimpleName.java: * gnu/testlet/java/lang/Class/classInfo/getSuperclass.java: * gnu/testlet/java/lang/Class/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/Class/classInfo/isInstance.java: * gnu/testlet/java/lang/Class/classInfo/isInterface.java: * gnu/testlet/java/lang/Class/classInfo/isLocalClass.java: * gnu/testlet/java/lang/Class/classInfo/isMemberClass.java: * gnu/testlet/java/lang/Class/classInfo/isPrimitive.java: * gnu/testlet/java/lang/Class/classInfo/isSynthetic.java: Added new tests for classes from a package java.lang. 2012-07-09 Pavel Tisnovsky * gnu/testlet/java/lang/NegativeArraySizeException/TryCatch.java: * gnu/testlet/java/lang/NegativeArraySizeException/constructor.java: * gnu/testlet/java/lang/NegativeArraySizeException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getModifiers.java: * gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getName.java: * gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getPackage.java: * gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/NegativeArraySizeException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/NegativeArraySizeException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/NegativeArraySizeException/classInfo/isInstance.java: * gnu/testlet/java/lang/NegativeArraySizeException/classInfo/isInterface.java: * gnu/testlet/java/lang/NegativeArraySizeException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/NegativeArraySizeException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/NegativeArraySizeException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/NegativeArraySizeException/classInfo/isSynthetic.java: * gnu/testlet/java/lang/NoSuchFieldException/TryCatch.java: * gnu/testlet/java/lang/NoSuchFieldException/constructor.java: * gnu/testlet/java/lang/NoSuchFieldException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/NoSuchFieldException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/NoSuchFieldException/classInfo/getModifiers.java: * gnu/testlet/java/lang/NoSuchFieldException/classInfo/getName.java: * gnu/testlet/java/lang/NoSuchFieldException/classInfo/getPackage.java: * gnu/testlet/java/lang/NoSuchFieldException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/NoSuchFieldException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/NoSuchFieldException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/NoSuchFieldException/classInfo/isInstance.java: * gnu/testlet/java/lang/NoSuchFieldException/classInfo/isInterface.java: * gnu/testlet/java/lang/NoSuchFieldException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/NoSuchFieldException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/NoSuchFieldException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/NoSuchFieldException/classInfo/isSynthetic.java: * gnu/testlet/java/lang/NoSuchMethodException/TryCatch.java: * gnu/testlet/java/lang/NoSuchMethodException/constructor.java: * gnu/testlet/java/lang/NoSuchMethodException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/NoSuchMethodException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/NoSuchMethodException/classInfo/getModifiers.java: * gnu/testlet/java/lang/NoSuchMethodException/classInfo/getName.java: * gnu/testlet/java/lang/NoSuchMethodException/classInfo/getPackage.java: * gnu/testlet/java/lang/NoSuchMethodException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/NoSuchMethodException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/NoSuchMethodException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/NoSuchMethodException/classInfo/isInstance.java: * gnu/testlet/java/lang/NoSuchMethodException/classInfo/isInterface.java: * gnu/testlet/java/lang/NoSuchMethodException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/NoSuchMethodException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/NoSuchMethodException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/NoSuchMethodException/classInfo/isSynthetic.java: * gnu/testlet/java/lang/NullPointerException/TryCatch.java: * gnu/testlet/java/lang/NullPointerException/constructor.java: * gnu/testlet/java/lang/NullPointerException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/NullPointerException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/NullPointerException/classInfo/getModifiers.java: * gnu/testlet/java/lang/NullPointerException/classInfo/getName.java: * gnu/testlet/java/lang/NullPointerException/classInfo/getPackage.java: * gnu/testlet/java/lang/NullPointerException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/NullPointerException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/NullPointerException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/NullPointerException/classInfo/isInstance.java: * gnu/testlet/java/lang/NullPointerException/classInfo/isInterface.java: * gnu/testlet/java/lang/NullPointerException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/NullPointerException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/NullPointerException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/NullPointerException/classInfo/isSynthetic.java: * gnu/testlet/java/lang/NumberFormatException/TryCatch.java: * gnu/testlet/java/lang/NumberFormatException/constructor.java: * gnu/testlet/java/lang/NumberFormatException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/NumberFormatException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/NumberFormatException/classInfo/getModifiers.java: * gnu/testlet/java/lang/NumberFormatException/classInfo/getName.java: * gnu/testlet/java/lang/NumberFormatException/classInfo/getPackage.java: * gnu/testlet/java/lang/NumberFormatException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/NumberFormatException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/NumberFormatException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/NumberFormatException/classInfo/isInstance.java: * gnu/testlet/java/lang/NumberFormatException/classInfo/isInterface.java: * gnu/testlet/java/lang/NumberFormatException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/NumberFormatException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/NumberFormatException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/NumberFormatException/classInfo/isSynthetic.java: Added new tests for classes from a package java.lang. 2012-07-04 Pavel Tisnovsky * gnu/testlet/java/lang/IndexOutOfBoundsException/TryCatch.java: * gnu/testlet/java/lang/IndexOutOfBoundsException/constructor.java: * gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getModifiers.java: * gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getName.java: * gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getPackage.java: * gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/isInstance.java: * gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/isInterface.java: * gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/IndexOutOfBoundsException/classInfo/isSynthetic.java: * gnu/testlet/java/lang/InstantiationException/TryCatch.java: * gnu/testlet/java/lang/InstantiationException/constructor.java: * gnu/testlet/java/lang/InstantiationException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/InstantiationException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/InstantiationException/classInfo/getModifiers.java: * gnu/testlet/java/lang/InstantiationException/classInfo/getName.java: * gnu/testlet/java/lang/InstantiationException/classInfo/getPackage.java: * gnu/testlet/java/lang/InstantiationException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/InstantiationException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/InstantiationException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/InstantiationException/classInfo/isInstance.java: * gnu/testlet/java/lang/InstantiationException/classInfo/isInterface.java: * gnu/testlet/java/lang/InstantiationException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/InstantiationException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/InstantiationException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/InstantiationException/classInfo/isSynthetic.java: * gnu/testlet/java/lang/InterruptedException/TryCatch.java: * gnu/testlet/java/lang/InterruptedException/constructor.java: * gnu/testlet/java/lang/InterruptedException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/InterruptedException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/InterruptedException/classInfo/getModifiers.java: * gnu/testlet/java/lang/InterruptedException/classInfo/getName.java: * gnu/testlet/java/lang/InterruptedException/classInfo/getPackage.java: * gnu/testlet/java/lang/InterruptedException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/InterruptedException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/InterruptedException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/InterruptedException/classInfo/isInstance.java: * gnu/testlet/java/lang/InterruptedException/classInfo/isInterface.java: * gnu/testlet/java/lang/InterruptedException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/InterruptedException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/InterruptedException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/InterruptedException/classInfo/isSynthetic.java: * gnu/testlet/java/lang/RuntimeException/TryCatch.java: * gnu/testlet/java/lang/RuntimeException/constructor.java: * gnu/testlet/java/lang/RuntimeException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/RuntimeException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/RuntimeException/classInfo/getModifiers.java: * gnu/testlet/java/lang/RuntimeException/classInfo/getName.java: * gnu/testlet/java/lang/RuntimeException/classInfo/getPackage.java: * gnu/testlet/java/lang/RuntimeException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/RuntimeException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/RuntimeException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/RuntimeException/classInfo/isInstance.java: * gnu/testlet/java/lang/RuntimeException/classInfo/isInterface.java: * gnu/testlet/java/lang/RuntimeException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/RuntimeException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/RuntimeException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/RuntimeException/classInfo/isSynthetic.java: Added new tests for classes from a package java.lang. 2012-07-03 Pavel Tisnovsky * gnu/testlet/java/lang/ClassCastException/TryCatch.java: * gnu/testlet/java/lang/ClassCastException/constructor.java: * gnu/testlet/java/lang/ClassCastException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getModifiers.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getName.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getPackage.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/ClassCastException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/ClassCastException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/ClassCastException/classInfo/isInstance.java: * gnu/testlet/java/lang/ClassCastException/classInfo/isInterface.java: * gnu/testlet/java/lang/ClassCastException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/ClassCastException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/ClassCastException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/ClassCastException/classInfo/isSynthetic.java: * gnu/testlet/java/lang/IllegalAccessException/TryCatch.java: * gnu/testlet/java/lang/IllegalAccessException/constructor.java: * gnu/testlet/java/lang/IllegalAccessException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/IllegalAccessException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/IllegalAccessException/classInfo/getModifiers.java: * gnu/testlet/java/lang/IllegalAccessException/classInfo/getName.java: * gnu/testlet/java/lang/IllegalAccessException/classInfo/getPackage.java: * gnu/testlet/java/lang/IllegalAccessException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/IllegalAccessException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/IllegalAccessException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/IllegalAccessException/classInfo/isInstance.java: * gnu/testlet/java/lang/IllegalAccessException/classInfo/isInterface.java: * gnu/testlet/java/lang/IllegalAccessException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/IllegalAccessException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/IllegalAccessException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/IllegalAccessException/classInfo/isSynthetic.java: * gnu/testlet/java/lang/IllegalArgumentException/TryCatch.java: * gnu/testlet/java/lang/IllegalArgumentException/constructor.java: * gnu/testlet/java/lang/IllegalArgumentException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/IllegalArgumentException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/IllegalArgumentException/classInfo/getModifiers.java: * gnu/testlet/java/lang/IllegalArgumentException/classInfo/getName.java: * gnu/testlet/java/lang/IllegalArgumentException/classInfo/getPackage.java: * gnu/testlet/java/lang/IllegalArgumentException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/IllegalArgumentException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/IllegalArgumentException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/IllegalArgumentException/classInfo/isInstance.java: * gnu/testlet/java/lang/IllegalArgumentException/classInfo/isInterface.java: * gnu/testlet/java/lang/IllegalArgumentException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/IllegalArgumentException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/IllegalArgumentException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/IllegalArgumentException/classInfo/isSynthetic.java: * gnu/testlet/java/lang/IllegalMonitorStateException/TryCatch.java: * gnu/testlet/java/lang/IllegalMonitorStateException/constructor.java: * gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getModifiers.java: * gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getName.java: * gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getPackage.java: * gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/isInstance.java: * gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/isInterface.java: * gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/IllegalMonitorStateException/classInfo/isSynthetic.java: * gnu/testlet/java/lang/IllegalStateException/TryCatch.java: * gnu/testlet/java/lang/IllegalStateException/constructor.java: * gnu/testlet/java/lang/IllegalStateException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/IllegalStateException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/IllegalStateException/classInfo/getModifiers.java: * gnu/testlet/java/lang/IllegalStateException/classInfo/getName.java: * gnu/testlet/java/lang/IllegalStateException/classInfo/getPackage.java: * gnu/testlet/java/lang/IllegalStateException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/IllegalStateException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/IllegalStateException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/IllegalStateException/classInfo/isInstance.java: * gnu/testlet/java/lang/IllegalStateException/classInfo/isInterface.java: * gnu/testlet/java/lang/IllegalStateException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/IllegalStateException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/IllegalStateException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/IllegalStateException/classInfo/isSynthetic.java: * gnu/testlet/java/lang/IllegalThreadStateException/TryCatch.java: * gnu/testlet/java/lang/IllegalThreadStateException/constructor.java: * gnu/testlet/java/lang/IllegalThreadStateException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getModifiers.java: * gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getName.java: * gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getPackage.java: * gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/IllegalThreadStateException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/IllegalThreadStateException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/IllegalThreadStateException/classInfo/isInstance.java: * gnu/testlet/java/lang/IllegalThreadStateException/classInfo/isInterface.java: * gnu/testlet/java/lang/IllegalThreadStateException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/IllegalThreadStateException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/IllegalThreadStateException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/IllegalThreadStateException/classInfo/isSynthetic.java: Added new tests for classes from a package java.lang. 2012-06-28 Pavel Tisnovsky * gnu/testlet/java/lang/SecurityException/TryCatch.java: * gnu/testlet/java/lang/SecurityException/constructor.java: * gnu/testlet/java/lang/SecurityException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/SecurityException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/SecurityException/classInfo/getModifiers.java: * gnu/testlet/java/lang/SecurityException/classInfo/getName.java: * gnu/testlet/java/lang/SecurityException/classInfo/getPackage.java: * gnu/testlet/java/lang/SecurityException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/SecurityException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/SecurityException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/SecurityException/classInfo/isInstance.java: * gnu/testlet/java/lang/SecurityException/classInfo/isInterface.java: * gnu/testlet/java/lang/SecurityException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/SecurityException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/SecurityException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/SecurityException/classInfo/isSynthetic.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/TryCatch.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/constructor.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getModifiers.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getName.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getPackage.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/isInstance.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/isInterface.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/StringIndexOutOfBoundsException/classInfo/isSynthetic.java: * gnu/testlet/java/lang/TypeNotPresentException/TryCatch.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/getModifiers.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/getName.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/getPackage.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/isInstance.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/isInterface.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/TypeNotPresentException/classInfo/isSynthetic.java: * gnu/testlet/java/lang/UnsupportedOperationException/TryCatch.java: * gnu/testlet/java/lang/UnsupportedOperationException/constructor.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getModifiers.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getName.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getPackage.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/isInstance.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/isInterface.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/UnsupportedOperationException/classInfo/isSynthetic.java: Added new tests for classes from a package java.lang. 2012-06-27 Pavel Tisnovsky * gnu/testlet/java/lang/ClassNotFoundException/TryCatch.java: * gnu/testlet/java/lang/ClassNotFoundException/constructor.java: * gnu/testlet/java/lang/ClassNotFoundException/getCause.java: * gnu/testlet/java/lang/ClassNotFoundException/getException.java: * gnu/testlet/java/lang/ClassNotFoundException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/ClassNotFoundException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/ClassNotFoundException/classInfo/getModifiers.java: * gnu/testlet/java/lang/ClassNotFoundException/classInfo/getName.java: * gnu/testlet/java/lang/ClassNotFoundException/classInfo/getPackage.java: * gnu/testlet/java/lang/ClassNotFoundException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/ClassNotFoundException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/ClassNotFoundException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/ClassNotFoundException/classInfo/isInstance.java: * gnu/testlet/java/lang/ClassNotFoundException/classInfo/isInterface.java: * gnu/testlet/java/lang/ClassNotFoundException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/ClassNotFoundException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/ClassNotFoundException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/ClassNotFoundException/classInfo/isSynthetic.java: * gnu/testlet/java/lang/CloneNotSupportedException/TryCatch.java: * gnu/testlet/java/lang/CloneNotSupportedException/constructor.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getModifiers.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getName.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getPackage.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/isInstance.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/isInterface.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/CloneNotSupportedException/classInfo/isSynthetic.java: * gnu/testlet/java/lang/EnumConstantNotPresentException/TryCatch.java: * gnu/testlet/java/lang/EnumConstantNotPresentException/constructor.java: * gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getModifiers.java: * gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getName.java: * gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getPackage.java: * gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/isInstance.java: * gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/isInterface.java: * gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/EnumConstantNotPresentException/classInfo/isSynthetic.java: * gnu/testlet/java/lang/Exception/TryCatch.java: * gnu/testlet/java/lang/Exception/constructor.java: * gnu/testlet/java/lang/Exception/classInfo/InstanceOf.java: * gnu/testlet/java/lang/Exception/classInfo/getInterfaces.java: * gnu/testlet/java/lang/Exception/classInfo/getModifiers.java: * gnu/testlet/java/lang/Exception/classInfo/getName.java: * gnu/testlet/java/lang/Exception/classInfo/getPackage.java: * gnu/testlet/java/lang/Exception/classInfo/getSimpleName.java: * gnu/testlet/java/lang/Exception/classInfo/getSuperclass.java: * gnu/testlet/java/lang/Exception/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/Exception/classInfo/isInstance.java: * gnu/testlet/java/lang/Exception/classInfo/isInterface.java: * gnu/testlet/java/lang/Exception/classInfo/isLocalClass.java: * gnu/testlet/java/lang/Exception/classInfo/isMemberClass.java: * gnu/testlet/java/lang/Exception/classInfo/isPrimitive.java: * gnu/testlet/java/lang/Exception/classInfo/isSynthetic.java: Added new tests for classes from a package java.lang. 2012-06-26 Pavel Tisnovsky * gnu/testlet/java/lang/ArithmeticException/TryCatch.java: * gnu/testlet/java/lang/ArithmeticException/constructor.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getModifiers.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getName.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getPackage.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isInstance.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isInterface.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/ArithmeticException/classInfo/isSynthetic.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/TryCatch.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/constructor.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getModifiers.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getName.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getPackage.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isInstance.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isInterface.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/ArrayIndexOutOfBoundsException/classInfo/isSynthetic.java: * gnu/testlet/java/lang/ArrayStoreException/TryCatch.java: * gnu/testlet/java/lang/ArrayStoreException/constructor.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/InstanceOf.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getInterfaces.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getModifiers.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getName.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getPackage.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getSimpleName.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/getSuperclass.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isInstance.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isInterface.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isLocalClass.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isMemberClass.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isPrimitive.java: * gnu/testlet/java/lang/ArrayStoreException/classInfo/isSynthetic.java: Added new tests for classes from a package java.lang. 2012-06-15 Pavel Tisnovsky * gnu/testlet/java/lang/ExceptionInInitializerError/constructor.java: * gnu/testlet/java/lang/IllegalAccessError/constructor.java: * gnu/testlet/java/lang/IncompatibleClassChangeError/constructor.java: * gnu/testlet/java/lang/InternalError/constructor.java: * gnu/testlet/java/lang/LinkageError/constructor.java: * gnu/testlet/java/lang/NoClassDefFoundError/constructor.java: * gnu/testlet/java/lang/NoSuchFieldError/constructor.java: * gnu/testlet/java/lang/NoSuchMethodError/constructor.java: * gnu/testlet/java/lang/OutOfMemoryError/constructor.java: * gnu/testlet/java/lang/StackOverflowError/constructor.java: * gnu/testlet/java/lang/UnknownError/constructor.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/constructor.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/constructor.java: * gnu/testlet/java/lang/VerifyError/constructor.java: Added new constructor tests for these basic classes. 2012-06-14 Pavel Tisnovsky * gnu/testlet/java/lang/NoSuchFieldError/classInfo/InstanceOf.java: * gnu/testlet/java/lang/NoSuchFieldError/classInfo/getInterfaces.java: * gnu/testlet/java/lang/NoSuchFieldError/classInfo/getModifiers.java: * gnu/testlet/java/lang/NoSuchFieldError/classInfo/getName.java: * gnu/testlet/java/lang/NoSuchFieldError/classInfo/getPackage.java: * gnu/testlet/java/lang/NoSuchFieldError/classInfo/getSimpleName.java: * gnu/testlet/java/lang/NoSuchFieldError/classInfo/getSuperclass.java: * gnu/testlet/java/lang/NoSuchFieldError/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/NoSuchFieldError/classInfo/isInstance.java: * gnu/testlet/java/lang/NoSuchFieldError/classInfo/isInterface.java: * gnu/testlet/java/lang/NoSuchFieldError/classInfo/isLocalClass.java: * gnu/testlet/java/lang/NoSuchFieldError/classInfo/isMemberClass.java: * gnu/testlet/java/lang/NoSuchFieldError/classInfo/isPrimitive.java: * gnu/testlet/java/lang/NoSuchFieldError/classInfo/isSynthetic.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/InstanceOf.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/getInterfaces.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/getModifiers.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/getName.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/getPackage.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/getSimpleName.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/getSuperclass.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/isInstance.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/isInterface.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/isLocalClass.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/isMemberClass.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/isPrimitive.java: * gnu/testlet/java/lang/ThreadDeath/classInfo/isSynthetic.java: * gnu/testlet/java/lang/UnknownError/classInfo/InstanceOf.java: * gnu/testlet/java/lang/UnknownError/classInfo/getInterfaces.java: * gnu/testlet/java/lang/UnknownError/classInfo/getModifiers.java: * gnu/testlet/java/lang/UnknownError/classInfo/getName.java: * gnu/testlet/java/lang/UnknownError/classInfo/getPackage.java: * gnu/testlet/java/lang/UnknownError/classInfo/getSimpleName.java: * gnu/testlet/java/lang/UnknownError/classInfo/getSuperclass.java: * gnu/testlet/java/lang/UnknownError/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/UnknownError/classInfo/isInstance.java: * gnu/testlet/java/lang/UnknownError/classInfo/isInterface.java: * gnu/testlet/java/lang/UnknownError/classInfo/isLocalClass.java: * gnu/testlet/java/lang/UnknownError/classInfo/isMemberClass.java: * gnu/testlet/java/lang/UnknownError/classInfo/isPrimitive.java: * gnu/testlet/java/lang/UnknownError/classInfo/isSynthetic.java: Added new tests for check runtime behaviour of a "Class" class retrieved using Object.getClass(). Added test of instanceof operator runtime behaviour. 2012-06-13 Pavel Tisnovsky * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/InstanceOf.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getInterfaces.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getModifiers.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getName.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getPackage.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getSimpleName.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/getSuperclass.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/isInstance.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/isInterface.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/isLocalClass.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/isMemberClass.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/isPrimitive.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/classInfo/isSynthetic.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/InstanceOf.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/getInterfaces.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/getModifiers.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/getName.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/getPackage.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/getSimpleName.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/getSuperclass.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/isInstance.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/isInterface.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/isLocalClass.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/isMemberClass.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/isPrimitive.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/classInfo/isSynthetic.java: * gnu/testlet/java/lang/VerifyError/classInfo/InstanceOf.java: * gnu/testlet/java/lang/VerifyError/classInfo/getInterfaces.java: * gnu/testlet/java/lang/VerifyError/classInfo/getModifiers.java: * gnu/testlet/java/lang/VerifyError/classInfo/getName.java: * gnu/testlet/java/lang/VerifyError/classInfo/getPackage.java: * gnu/testlet/java/lang/VerifyError/classInfo/getSimpleName.java: * gnu/testlet/java/lang/VerifyError/classInfo/getSuperclass.java: * gnu/testlet/java/lang/VerifyError/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/VerifyError/classInfo/isInstance.java: * gnu/testlet/java/lang/VerifyError/classInfo/isInterface.java: * gnu/testlet/java/lang/VerifyError/classInfo/isLocalClass.java: * gnu/testlet/java/lang/VerifyError/classInfo/isMemberClass.java: * gnu/testlet/java/lang/VerifyError/classInfo/isPrimitive.java: * gnu/testlet/java/lang/VerifyError/classInfo/isSynthetic.java: Added new tests for check runtime behaviour of a "Class" class retrieved using Object.getClass(). Added test of instanceof operator runtime behaviour. 2012-06-01 Pavel Tisnovsky * gnu/testlet/java/lang/StrictMath/cosh_strictfp.java: * gnu/testlet/java/lang/StrictMath/sinh_strictfp.java: * gnu/testlet/java/lang/StrictMath/tanh_strictfp.java: Added 3 new tests used for checking methods included in StrictMath class. 2012-05-31 Pavel Tisnovsky * gnu/testlet/java/lang/NoSuchMethodError/classInfo/InstanceOf.java: * gnu/testlet/java/lang/NoSuchMethodError/classInfo/getInterfaces.java: * gnu/testlet/java/lang/NoSuchMethodError/classInfo/getModifiers.java: * gnu/testlet/java/lang/NoSuchMethodError/classInfo/getName.java: * gnu/testlet/java/lang/NoSuchMethodError/classInfo/getPackage.java: * gnu/testlet/java/lang/NoSuchMethodError/classInfo/getSimpleName.java: * gnu/testlet/java/lang/NoSuchMethodError/classInfo/getSuperclass.java: * gnu/testlet/java/lang/NoSuchMethodError/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/NoSuchMethodError/classInfo/isInstance.java: * gnu/testlet/java/lang/NoSuchMethodError/classInfo/isInterface.java: * gnu/testlet/java/lang/NoSuchMethodError/classInfo/isLocalClass.java: * gnu/testlet/java/lang/NoSuchMethodError/classInfo/isMemberClass.java: * gnu/testlet/java/lang/NoSuchMethodError/classInfo/isPrimitive.java: * gnu/testlet/java/lang/NoSuchMethodError/classInfo/isSynthetic.java: * gnu/testlet/java/lang/OutOfMemoryError/classInfo/InstanceOf.java: * gnu/testlet/java/lang/OutOfMemoryError/classInfo/getInterfaces.java: * gnu/testlet/java/lang/OutOfMemoryError/classInfo/getModifiers.java: * gnu/testlet/java/lang/OutOfMemoryError/classInfo/getName.java: * gnu/testlet/java/lang/OutOfMemoryError/classInfo/getPackage.java: * gnu/testlet/java/lang/OutOfMemoryError/classInfo/getSimpleName.java: * gnu/testlet/java/lang/OutOfMemoryError/classInfo/getSuperclass.java: * gnu/testlet/java/lang/OutOfMemoryError/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/OutOfMemoryError/classInfo/isInstance.java: * gnu/testlet/java/lang/OutOfMemoryError/classInfo/isInterface.java: * gnu/testlet/java/lang/OutOfMemoryError/classInfo/isLocalClass.java: * gnu/testlet/java/lang/OutOfMemoryError/classInfo/isMemberClass.java: * gnu/testlet/java/lang/OutOfMemoryError/classInfo/isPrimitive.java: * gnu/testlet/java/lang/OutOfMemoryError/classInfo/isSynthetic.java: * gnu/testlet/java/lang/StackOverflowError/classInfo/InstanceOf.java: * gnu/testlet/java/lang/StackOverflowError/classInfo/getInterfaces.java: * gnu/testlet/java/lang/StackOverflowError/classInfo/getModifiers.java: * gnu/testlet/java/lang/StackOverflowError/classInfo/getName.java: * gnu/testlet/java/lang/StackOverflowError/classInfo/getPackage.java: * gnu/testlet/java/lang/StackOverflowError/classInfo/getSimpleName.java: * gnu/testlet/java/lang/StackOverflowError/classInfo/getSuperclass.java: * gnu/testlet/java/lang/StackOverflowError/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/StackOverflowError/classInfo/isInstance.java: * gnu/testlet/java/lang/StackOverflowError/classInfo/isInterface.java: * gnu/testlet/java/lang/StackOverflowError/classInfo/isLocalClass.java: * gnu/testlet/java/lang/StackOverflowError/classInfo/isMemberClass.java: * gnu/testlet/java/lang/StackOverflowError/classInfo/isPrimitive.java: * gnu/testlet/java/lang/StackOverflowError/classInfo/isSynthetic.java: Added new tests for check runtime behaviour of a "Class" class retrieved using Object.getClass(). Added test of instanceof operator runtime behaviour. 2012-05-30 Pavel Tisnovsky * gnu/testlet/java/lang/Error/classInfo/InstanceOf.java: * gnu/testlet/java/lang/Error/classInfo/getInterfaces.java: * gnu/testlet/java/lang/Error/classInfo/getModifiers.java: * gnu/testlet/java/lang/Error/classInfo/getName.java: * gnu/testlet/java/lang/Error/classInfo/getPackage.java: * gnu/testlet/java/lang/Error/classInfo/getSimpleName.java: * gnu/testlet/java/lang/Error/classInfo/getSuperclass.java: * gnu/testlet/java/lang/Error/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/Error/classInfo/isInstance.java: * gnu/testlet/java/lang/Error/classInfo/isInterface.java: * gnu/testlet/java/lang/Error/classInfo/isLocalClass.java: * gnu/testlet/java/lang/Error/classInfo/isMemberClass.java: * gnu/testlet/java/lang/Error/classInfo/isPrimitive.java: * gnu/testlet/java/lang/Error/classInfo/isSynthetic.java: * gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/InstanceOf.java: * gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getInterfaces.java: * gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getModifiers.java: * gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getName.java: * gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getPackage.java: * gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getSimpleName.java: * gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/getSuperclass.java: * gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/isInstance.java: * gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/isInterface.java: * gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/isLocalClass.java: * gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/isMemberClass.java: * gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/isPrimitive.java: * gnu/testlet/java/lang/ExceptionInInitializerError/classInfo/isSynthetic.java: * gnu/testlet/java/lang/IllegalAccessError/classInfo/InstanceOf.java: * gnu/testlet/java/lang/IllegalAccessError/classInfo/getInterfaces.java: * gnu/testlet/java/lang/IllegalAccessError/classInfo/getModifiers.java: * gnu/testlet/java/lang/IllegalAccessError/classInfo/getName.java: * gnu/testlet/java/lang/IllegalAccessError/classInfo/getPackage.java: * gnu/testlet/java/lang/IllegalAccessError/classInfo/getSimpleName.java: * gnu/testlet/java/lang/IllegalAccessError/classInfo/getSuperclass.java: * gnu/testlet/java/lang/IllegalAccessError/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/IllegalAccessError/classInfo/isInstance.java: * gnu/testlet/java/lang/IllegalAccessError/classInfo/isInterface.java: * gnu/testlet/java/lang/IllegalAccessError/classInfo/isLocalClass.java: * gnu/testlet/java/lang/IllegalAccessError/classInfo/isMemberClass.java: * gnu/testlet/java/lang/IllegalAccessError/classInfo/isPrimitive.java: * gnu/testlet/java/lang/IllegalAccessError/classInfo/isSynthetic.java: Added new tests for check runtime behaviour of a "Class" class retrieved using Object.getClass(). Added test of instanceof operator runtime behaviour. 2012-05-28 Pavel Tisnovsky * gnu/testlet/java/lang/AbstractMethodError/constructor.java: * gnu/testlet/java/lang/AssertionError/constructor.java: * gnu/testlet/java/lang/ClassCircularityError/constructor.java: * gnu/testlet/java/lang/ClassFormatError/constructor.java: * gnu/testlet/java/lang/Error/constructor.java: * gnu/testlet/java/lang/InstantiationError/constructor.java: Added new constructor tests for these classes. 2012-05-25 Pavel Tisnovsky * gnu/testlet/java/lang/Boolean/compareToBoolean.java: * gnu/testlet/java/lang/Boolean/compareToObject.java: * gnu/testlet/java/lang/Boolean/parseBoolean.java: * gnu/testlet/java/lang/Boolean/toString.java: * gnu/testlet/java/lang/Boolean/valueOfBoolean.java: * gnu/testlet/java/lang/Boolean/valueOfString.java: * gnu/testlet/java/lang/Byte/toString.java: * gnu/testlet/java/lang/Integer/toString.java: * gnu/testlet/java/lang/Long/toString.java: * gnu/testlet/java/lang/Short/toString.java: Added new tests for wrapper classes. 2012-05-25 Pavel Tisnovsky * gnu/testlet/java/lang/ClassCircularityError/classInfo/InstanceOf.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/getInterfaces.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/getModifiers.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/getName.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/getPackage.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/getSimpleName.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/getSuperclass.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/isInstance.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/isInterface.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/isLocalClass.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/isMemberClass.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/isPrimitive.java: * gnu/testlet/java/lang/ClassCircularityError/classInfo/isSynthetic.java: Added new tests for java.lang.ClassCircularityError class. * gnu/testlet/java/lang/ClassFormatError/classInfo/InstanceOf.java: * gnu/testlet/java/lang/ClassFormatError/classInfo/getInterfaces.java: * gnu/testlet/java/lang/ClassFormatError/classInfo/getModifiers.java: * gnu/testlet/java/lang/ClassFormatError/classInfo/getName.java: * gnu/testlet/java/lang/ClassFormatError/classInfo/getPackage.java: * gnu/testlet/java/lang/ClassFormatError/classInfo/getSimpleName.java: * gnu/testlet/java/lang/ClassFormatError/classInfo/getSuperclass.java: * gnu/testlet/java/lang/ClassFormatError/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/ClassFormatError/classInfo/isInstance.java: * gnu/testlet/java/lang/ClassFormatError/classInfo/isInterface.java: * gnu/testlet/java/lang/ClassFormatError/classInfo/isLocalClass.java: * gnu/testlet/java/lang/ClassFormatError/classInfo/isMemberClass.java: * gnu/testlet/java/lang/ClassFormatError/classInfo/isPrimitive.java: * gnu/testlet/java/lang/ClassFormatError/classInfo/isSynthetic.java: Added new tests for java.lang.ClassFormatError class. 2012-05-24 Pavel Tisnovsky * gnu/testlet/java/lang/AbstractMethodError/classInfo/InstanceOf.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getInterfaces.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getModifiers.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getName.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getPackage.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getSimpleName.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/getSuperclass.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isInstance.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isInterface.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isLocalClass.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isMemberClass.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isPrimitive.java: * gnu/testlet/java/lang/AbstractMethodError/classInfo/isSynthetic.java: Added new tests for java.lang.AbstractMethodError class. * gnu/testlet/java/lang/AssertionError/classInfo/InstanceOf.java: * gnu/testlet/java/lang/AssertionError/classInfo/getInterfaces.java: * gnu/testlet/java/lang/AssertionError/classInfo/getModifiers.java: * gnu/testlet/java/lang/AssertionError/classInfo/getName.java: * gnu/testlet/java/lang/AssertionError/classInfo/getPackage.java: * gnu/testlet/java/lang/AssertionError/classInfo/getSimpleName.java: * gnu/testlet/java/lang/AssertionError/classInfo/getSuperclass.java: * gnu/testlet/java/lang/AssertionError/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/AssertionError/classInfo/isInstance.java: * gnu/testlet/java/lang/AssertionError/classInfo/isInterface.java: * gnu/testlet/java/lang/AssertionError/classInfo/isLocalClass.java: * gnu/testlet/java/lang/AssertionError/classInfo/isMemberClass.java: * gnu/testlet/java/lang/AssertionError/classInfo/isPrimitive.java: * gnu/testlet/java/lang/AssertionError/classInfo/isSynthetic.java: Added new tests for java.lang.AssertionError class. 2012-05-22 Pavel Tisnovsky * gnu/testlet/java/lang/Package/classInfo/InstanceOf.java: * gnu/testlet/java/lang/Package/classInfo/getInterfaces.java: * gnu/testlet/java/lang/Package/classInfo/getModifiers.java: * gnu/testlet/java/lang/Package/classInfo/getName.java: * gnu/testlet/java/lang/Package/classInfo/getPackage.java: * gnu/testlet/java/lang/Package/classInfo/getSimpleName.java: * gnu/testlet/java/lang/Package/classInfo/getSuperclass.java: * gnu/testlet/java/lang/Package/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/Package/classInfo/isInstance.java: * gnu/testlet/java/lang/Package/classInfo/isInterface.java: * gnu/testlet/java/lang/Package/classInfo/isLocalClass.java: * gnu/testlet/java/lang/Package/classInfo/isMemberClass.java: * gnu/testlet/java/lang/Package/classInfo/isPrimitive.java: * gnu/testlet/java/lang/Package/classInfo/isSynthetic.java: Added new tests for java.lang.Package class. 2012-05-17 Pavel Tisnovsky * gnu/testlet/java/lang/String/classInfo/InstanceOf.java: * gnu/testlet/java/lang/String/classInfo/getInterfaces.java: * gnu/testlet/java/lang/String/classInfo/getModifiers.java: * gnu/testlet/java/lang/String/classInfo/getName.java: * gnu/testlet/java/lang/String/classInfo/getPackage.java: * gnu/testlet/java/lang/String/classInfo/getSimpleName.java: * gnu/testlet/java/lang/String/classInfo/getSuperclass.java: * gnu/testlet/java/lang/String/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/String/classInfo/isInstance.java: * gnu/testlet/java/lang/String/classInfo/isInterface.java: * gnu/testlet/java/lang/String/classInfo/isLocalClass.java: * gnu/testlet/java/lang/String/classInfo/isMemberClass.java: * gnu/testlet/java/lang/String/classInfo/isPrimitive.java: * gnu/testlet/java/lang/String/classInfo/isSynthetic.java: * gnu/testlet/java/lang/StringBuffer/classInfo/InstanceOf.java: * gnu/testlet/java/lang/StringBuffer/classInfo/getInterfaces.java: * gnu/testlet/java/lang/StringBuffer/classInfo/getModifiers.java: * gnu/testlet/java/lang/StringBuffer/classInfo/getName.java: * gnu/testlet/java/lang/StringBuffer/classInfo/getPackage.java: * gnu/testlet/java/lang/StringBuffer/classInfo/getSimpleName.java: * gnu/testlet/java/lang/StringBuffer/classInfo/getSuperclass.java: * gnu/testlet/java/lang/StringBuffer/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/StringBuffer/classInfo/isInstance.java: * gnu/testlet/java/lang/StringBuffer/classInfo/isInterface.java: * gnu/testlet/java/lang/StringBuffer/classInfo/isLocalClass.java: * gnu/testlet/java/lang/StringBuffer/classInfo/isMemberClass.java: * gnu/testlet/java/lang/StringBuffer/classInfo/isPrimitive.java: * gnu/testlet/java/lang/StringBuffer/classInfo/isSynthetic.java: * gnu/testlet/java/lang/StringBuilder/classInfo/InstanceOf.java: * gnu/testlet/java/lang/StringBuilder/classInfo/getInterfaces.java: * gnu/testlet/java/lang/StringBuilder/classInfo/getModifiers.java: * gnu/testlet/java/lang/StringBuilder/classInfo/getName.java: * gnu/testlet/java/lang/StringBuilder/classInfo/getPackage.java: * gnu/testlet/java/lang/StringBuilder/classInfo/getSimpleName.java: * gnu/testlet/java/lang/StringBuilder/classInfo/getSuperclass.java: * gnu/testlet/java/lang/StringBuilder/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/StringBuilder/classInfo/isInstance.java: * gnu/testlet/java/lang/StringBuilder/classInfo/isInterface.java: * gnu/testlet/java/lang/StringBuilder/classInfo/isLocalClass.java: * gnu/testlet/java/lang/StringBuilder/classInfo/isMemberClass.java: * gnu/testlet/java/lang/StringBuilder/classInfo/isPrimitive.java: * gnu/testlet/java/lang/StringBuilder/classInfo/isSynthetic.java: Added new tests for check runtime behaviour of a "Class" class retrieved using Object.getClass(). Added test of instanceof operator runtime behaviour. 2012-05-15 Pavel Tisnovsky * gnu/testlet/java/lang/AbstractMethodError/TryCatch.java: * gnu/testlet/java/lang/AssertionError/TryCatch.java: * gnu/testlet/java/lang/ClassCircularityError/TryCatch.java: * gnu/testlet/java/lang/ClassFormatError/TryCatch.java: * gnu/testlet/java/lang/Error/TryCatch.java: * gnu/testlet/java/lang/ExceptionInInitializerError/TryCatch.java: * gnu/testlet/java/lang/IllegalAccessError/TryCatch.java: * gnu/testlet/java/lang/IncompatibleClassChangeError/TryCatch.java: * gnu/testlet/java/lang/InstantiationError/TryCatch.java: * gnu/testlet/java/lang/InternalError/TryCatch.java: * gnu/testlet/java/lang/LinkageError/TryCatch.java: * gnu/testlet/java/lang/NoClassDefFoundError/TryCatch.java: * gnu/testlet/java/lang/NoSuchFieldError/TryCatch.java: * gnu/testlet/java/lang/NoSuchMethodError/TryCatch.java: * gnu/testlet/java/lang/OutOfMemoryError/TryCatch.java: * gnu/testlet/java/lang/StackOverflowError/TryCatch.java: * gnu/testlet/java/lang/ThreadDeath/TryCatch.java: * gnu/testlet/java/lang/UnknownError/TryCatch.java: * gnu/testlet/java/lang/UnsatisfiedLinkError/TryCatch.java: * gnu/testlet/java/lang/UnsupportedClassVersionError/TryCatch.java: * gnu/testlet/java/lang/VerifyError/TryCatch.java: Added new basic tests for java.lang.*Error classes. 2012-05-14 Pavel Tisnovsky * gnu/testlet/java/lang/Long/classInfo/InstanceOf.java: * gnu/testlet/java/lang/Long/classInfo/getInterfaces.java: * gnu/testlet/java/lang/Long/classInfo/getModifiers.java: * gnu/testlet/java/lang/Long/classInfo/getName.java: * gnu/testlet/java/lang/Long/classInfo/getPackage.java: * gnu/testlet/java/lang/Long/classInfo/getSimpleName.java: * gnu/testlet/java/lang/Long/classInfo/getSuperclass.java: * gnu/testlet/java/lang/Long/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/Long/classInfo/isInstance.java: * gnu/testlet/java/lang/Long/classInfo/isInterface.java: * gnu/testlet/java/lang/Long/classInfo/isLocalClass.java: * gnu/testlet/java/lang/Long/classInfo/isMemberClass.java: * gnu/testlet/java/lang/Long/classInfo/isPrimitive.java: * gnu/testlet/java/lang/Long/classInfo/isSynthetic.java: * gnu/testlet/java/lang/Short/classInfo/InstanceOf.java: * gnu/testlet/java/lang/Short/classInfo/getInterfaces.java: * gnu/testlet/java/lang/Short/classInfo/getModifiers.java: * gnu/testlet/java/lang/Short/classInfo/getName.java: * gnu/testlet/java/lang/Short/classInfo/getPackage.java: * gnu/testlet/java/lang/Short/classInfo/getSimpleName.java: * gnu/testlet/java/lang/Short/classInfo/getSuperclass.java: * gnu/testlet/java/lang/Short/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/Short/classInfo/isInstance.java: * gnu/testlet/java/lang/Short/classInfo/isInterface.java: * gnu/testlet/java/lang/Short/classInfo/isLocalClass.java: * gnu/testlet/java/lang/Short/classInfo/isMemberClass.java: * gnu/testlet/java/lang/Short/classInfo/isPrimitive.java: * gnu/testlet/java/lang/Short/classInfo/isSynthetic.java: Added new tests for check runtime behaviour of a "Class" class retrieved using Object.getClass(). Added test of instanceof operator runtime behaviour. 2012-05-10 Pavel Tisnovsky * gnu/testlet/java/lang/Character/classInfo/InstanceOf.java: * gnu/testlet/java/lang/Character/classInfo/getInterfaces.java: * gnu/testlet/java/lang/Character/classInfo/getModifiers.java: * gnu/testlet/java/lang/Character/classInfo/getName.java: * gnu/testlet/java/lang/Character/classInfo/getPackage.java: * gnu/testlet/java/lang/Character/classInfo/getSimpleName.java: * gnu/testlet/java/lang/Character/classInfo/getSuperclass.java: * gnu/testlet/java/lang/Character/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/Character/classInfo/isInstance.java: * gnu/testlet/java/lang/Character/classInfo/isInterface.java: * gnu/testlet/java/lang/Character/classInfo/isLocalClass.java: * gnu/testlet/java/lang/Character/classInfo/isMemberClass.java: * gnu/testlet/java/lang/Character/classInfo/isPrimitive.java: * gnu/testlet/java/lang/Character/classInfo/isSynthetic.java: * gnu/testlet/java/lang/Integer/classInfo/InstanceOf.java: * gnu/testlet/java/lang/Integer/classInfo/getInterfaces.java: * gnu/testlet/java/lang/Integer/classInfo/getModifiers.java: * gnu/testlet/java/lang/Integer/classInfo/getName.java: * gnu/testlet/java/lang/Integer/classInfo/getPackage.java: * gnu/testlet/java/lang/Integer/classInfo/getSimpleName.java: * gnu/testlet/java/lang/Integer/classInfo/getSuperclass.java: * gnu/testlet/java/lang/Integer/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/Integer/classInfo/isInstance.java: * gnu/testlet/java/lang/Integer/classInfo/isInterface.java: * gnu/testlet/java/lang/Integer/classInfo/isLocalClass.java: * gnu/testlet/java/lang/Integer/classInfo/isMemberClass.java: * gnu/testlet/java/lang/Integer/classInfo/isPrimitive.java: * gnu/testlet/java/lang/Integer/classInfo/isSynthetic.java: Added new tests for check runtime behaviour of a "Class" class retrieved using Object.getClass(). Added test of instanceof operator runtime behaviour. 2012-05-09 Pavel Tisnovsky * gnu/testlet/java/lang/Boolean/classInfo/InstanceOf.java: * gnu/testlet/java/lang/Boolean/classInfo/getInterfaces.java: * gnu/testlet/java/lang/Boolean/classInfo/getModifiers.java: * gnu/testlet/java/lang/Boolean/classInfo/getName.java: * gnu/testlet/java/lang/Boolean/classInfo/getPackage.java: * gnu/testlet/java/lang/Boolean/classInfo/getSimpleName.java: * gnu/testlet/java/lang/Boolean/classInfo/getSuperclass.java: * gnu/testlet/java/lang/Boolean/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/Boolean/classInfo/isInstance.java: * gnu/testlet/java/lang/Boolean/classInfo/isInterface.java: * gnu/testlet/java/lang/Boolean/classInfo/isLocalClass.java: * gnu/testlet/java/lang/Boolean/classInfo/isMemberClass.java: * gnu/testlet/java/lang/Boolean/classInfo/isPrimitive.java: * gnu/testlet/java/lang/Boolean/classInfo/isSynthetic.java: * gnu/testlet/java/lang/Byte/classInfo/InstanceOf.java: * gnu/testlet/java/lang/Byte/classInfo/getInterfaces.java: * gnu/testlet/java/lang/Byte/classInfo/getModifiers.java: * gnu/testlet/java/lang/Byte/classInfo/getName.java: * gnu/testlet/java/lang/Byte/classInfo/getPackage.java: * gnu/testlet/java/lang/Byte/classInfo/getSimpleName.java: * gnu/testlet/java/lang/Byte/classInfo/getSuperclass.java: * gnu/testlet/java/lang/Byte/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/Byte/classInfo/isInstance.java: * gnu/testlet/java/lang/Byte/classInfo/isInterface.java: * gnu/testlet/java/lang/Byte/classInfo/isLocalClass.java: * gnu/testlet/java/lang/Byte/classInfo/isMemberClass.java: * gnu/testlet/java/lang/Byte/classInfo/isPrimitive.java: * gnu/testlet/java/lang/Byte/classInfo/isSynthetic.java: Added new tests for check runtime behaviour of a "Class" class retrieved using Object.getClass(). Added test of instanceof operator runtime behaviour. 2012-05-07 Pavel Tisnovsky * gnu/testlet/java/lang/Double/classInfo/InstanceOf.java: * gnu/testlet/java/lang/Double/classInfo/getInterfaces.java: * gnu/testlet/java/lang/Double/classInfo/getModifiers.java: * gnu/testlet/java/lang/Double/classInfo/getName.java: * gnu/testlet/java/lang/Double/classInfo/getPackage.java: * gnu/testlet/java/lang/Double/classInfo/getSimpleName.java: * gnu/testlet/java/lang/Double/classInfo/getSuperclass.java: * gnu/testlet/java/lang/Double/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/Double/classInfo/isInstance.java: * gnu/testlet/java/lang/Double/classInfo/isInterface.java: * gnu/testlet/java/lang/Double/classInfo/isLocalClass.java: * gnu/testlet/java/lang/Double/classInfo/isMemberClass.java: * gnu/testlet/java/lang/Double/classInfo/isPrimitive.java: * gnu/testlet/java/lang/Double/classInfo/isSynthetic.java: * gnu/testlet/java/lang/Float/classInfo/InstanceOf.java: * gnu/testlet/java/lang/Float/classInfo/getInterfaces.java: * gnu/testlet/java/lang/Float/classInfo/getModifiers.java: * gnu/testlet/java/lang/Float/classInfo/getName.java: * gnu/testlet/java/lang/Float/classInfo/getPackage.java: * gnu/testlet/java/lang/Float/classInfo/getSimpleName.java: * gnu/testlet/java/lang/Float/classInfo/getSuperclass.java: * gnu/testlet/java/lang/Float/classInfo/isAssignableFrom.java: * gnu/testlet/java/lang/Float/classInfo/isInstance.java: * gnu/testlet/java/lang/Float/classInfo/isInterface.java: * gnu/testlet/java/lang/Float/classInfo/isLocalClass.java: * gnu/testlet/java/lang/Float/classInfo/isMemberClass.java: * gnu/testlet/java/lang/Float/classInfo/isPrimitive.java: * gnu/testlet/java/lang/Float/classInfo/isSynthetic.java: Added new tests for check runtime behaviour of a "Class" class retrieved using Object.getClass(). Added test of instanceof operator runtime behaviour. 2012-04-27 Pavel Tisnovsky * gnu/testlet/java/util/zip/ZipEntry/setComment.java: Made this test compatible with JDK7. 2012-04-26 Pavel Tisnovsky * gnu/testlet/java/lang/Character/getType.java: Made this test compatible with JDK7 and added new Unicode characters to test. * gnu/testlet/java/text/SimpleDateFormat/applyPattern.java: Made this test compatible with JDK7. 2012-04-25 Pavel Tisnovsky * gnu/testlet/java/awt/AWTPermission/constructor.java: Made this test compatible with JDK7. 2012-04-24 Pavel Tisnovsky * gnu/testlet/java/awt/BasicStroke/createStrokeShapeLine2DDouble.java: * gnu/testlet/java/awt/BasicStroke/createStrokeShapeLine2DFloat.java: * gnu/testlet/java/awt/BasicStroke/createStrokeShapePolygon.java: * gnu/testlet/java/awt/BasicStroke/createStrokeShapeRectangle.java: * gnu/testlet/java/awt/BasicStroke/createStrokeShapeRectangle2DDouble.java: * gnu/testlet/java/awt/BasicStroke/createStrokeShapeRectangle2DFloat.java: * gnu/testlet/java/awt/BasicStroke/createStrokeShapeRoundRectangle2DDouble.java: * gnu/testlet/java/awt/BasicStroke/createStrokeShapeRoundRectangle2DFloat.java: Added new tests for BasicStroke class. 2012-04-13 Andrew John Hughes * Harness.java: (ecjConstructor): Add wildcard. (commandLineTests): Convert to generified List. (excludeTests): Likewise. (klass): Add wildcard. (setupCompiler()): Use varargs rather than an array when calling getConstructor/getMethod. (runAllTests()): Remove redundant cast. (parseTags(String,LinkedHashSet,LinkedHashSet,LinkedHashSet)): Add types to sets. (processUsesTag(String,String,LinkedHashSet,LinkedHashSet,LinkedHashSet)): Likewise. (processFilesTag(String,String,LinkedHashSet)): Likewise. (copyFiles(LinkedHashSet)): Likewise. (processSingleTest(String)): Likewise. (processFolder(String)): Likewise. (runFolder(LinkedHashSet,boolean)): Likewise. (compileFiles(LinkedHashSet)): Likewise. * Makefile.am: (JAVACFLAGS): Expand to -source/-target and turn on warnings if javac is used. (harness): Actually use JAVACFLAGS. * RunnerProcess.java: (expectedXFails): Add generic type. Use standard naming conventions. (runtest(String)): Add missing wildcard to Class. (setupEMMA(boolean)): Likewise. * gnu/testlet/TestReport.java: (testResults): Add generic type. (TestReport(Properties)): Likewise. (writeXml(File)): Likewise. * gnu/testlet/TestResult.java: (failMessages): Add generic type. (passMessages): Likewise. (getFailMessags()): Likewise. (getPassMessages()): Likewise. (compareTo(TestResult)): Convert to Comparable to avoid explicit cast. * gnu/testlet/TestSecurityManager.java: Remove unused import. * junit/framework/AssertionFailedError.java, * junit/framework/ComparisonFailure.java: Add serialVersionUID. * junit/framework/TestCase.java: (getTest()): Use Class. Use varargs for getMethod. Capture returned value. * junit/framework/TestResult.java: (fErrors): Add generic type. (fFailures): Likewise. (fListeners): Likewise. (TestResult()): Likewsie. (startTest(Test)): Likewise. (endTest(Test)): Likewise. (addFailure(Test,AssertionFailedError)): Likewise. (addError(Test,Throwable)): Likewise. (errors()): Likewise. (failures()): Likewise. (cloneListeners()): Likewise. * junit/framework/TestSuite.java: (fTests): Add generic types. (TestSuite()): Likewise. (TestSuite(Class)): Likewise. (TestSuite(Class,String)): Likewise. (addTestMethod(Method,List,Class)): Likewise. (isTestMethod(Method)): Likewise. (createTest(Class,String)): Likewise. (getTestConstructor(Class)): Likewise. (countTestCases()): Likewise. (run(TestResult)): Likewise. (addTestSuite(Class)): Likewise. (test(TestHarness)): Likewise. * junit/textui/TestRunner.java: (run(Class)): Add generic type. 2012-04-03 Andrew John Hughes * gnu/testlet/java/util/regex/Matcher/usePattern.java: Add testcase for new java.util.regex.Matcher.usePattern(Pattern) method. 2012-01-12 Andrew John Hughes * gnu/testlet/java/text/DateFormatSymbols/SanityCheck.java: Extend test to also check array content for null/empty values. (checkArray(TestHarness, Locale, String, String[], int)): Helper method for checking locale data. Runs harness checks to ensure the array is the right size and has all non-null non-empty values (except where empty values are allowed for weekday[0] and month[12]). 2012-03-23 Pavel Tisnovsky * gnu/testlet/java/awt/AWTError/constructor.java: * gnu/testlet/java/awt/AWTException/constructor.java: * gnu/testlet/java/awt/FontFormatException/constructor.java: * gnu/testlet/java/awt/HeadlessException/constructor.java: * gnu/testlet/java/awt/IllegalComponentStateException/constructor.java: Added new tests to improve test coverage of java.awt package. * gnu/testlet/java/awt/BasicStroke/getEndCap.java: Removed unecessary annotations. * gnu/testlet/java/awt/BasicStroke/getMiterLimit.java: Removed unecessary annotations. * gnu/testlet/java/awt/BasicStroke/getLineWidth.java: Added missing import. 2012-03-15 Pavel Tisnovsky * gnu/testlet/java/awt/TextArea/MouseListenerTest.java: * gnu/testlet/java/awt/TextArea/MouseMotionListenerTest.java: * gnu/testlet/java/awt/TextArea/MouseWheelListenerTest.java: Added new tests to improve test coverage of java.awt.TextArea class. * gnu/testlet/javax/swing/JComponent/setVisible.java: * gnu/testlet/javax/swing/JInternalFrame/setSelected2.java: Fixed these tests to correctly close its frames. 2012-03-15 Pavel Tisnovsky * gnu/testlet/java/lang/Byte/valueOfByte.java: * gnu/testlet/java/lang/Byte/valueOfString.java: * gnu/testlet/java/lang/Byte/valueOfStringRadix.java: Added new tests to improve test coverage of java.lang.Byte class. * gnu/testlet/java/awt/BasicStroke/getLineWidth.java: Fixed this test. 2012-03-08 Pavel Tisnovsky * gnu/testlet/java/awt/BasicStroke/getLineWidth.java: * gnu/testlet/java/lang/Integer/parseIntRadix.java: * gnu/testlet/java/lang/Long/parseLongRadix.java: Added new tests for various classes. 2012-03-06 Pavel Tisnovsky * gnu/testlet/java/lang/Byte/compareToObject.java: * gnu/testlet/java/lang/Byte/parseByte.java: * gnu/testlet/java/lang/Byte/parseByteRadix.java: Added new tests to improve test coverage of java.lang.Byte class. 2012-03-05 Pavel Tisnovsky * gnu/testlet/java/lang/Long/compareTo.java: * gnu/testlet/java/lang/Long/compareToObject.java: * gnu/testlet/java/lang/Long/decode.java: Added new tests to improve test coverage of java.lang.Long class. 2012-03-02 Pavel Tisnovsky * gnu/testlet/java/math/BigDecimal/pow.java: Make this test compatible with 1.4 syntax (counted for loop is used instead of for-each loop) * gnu/testlet/java/lang/Integer/compareToObject.java: Added new test to improve test coverage. 2012-03-01 Pavel Tisnovsky * gnu/testlet/java/math/BigDecimal/pow.java: * gnu/testlet/java/math/BigDecimal/valueOfDouble.java: * gnu/testlet/java/math/BigDecimal/valueOfLong.java: * gnu/testlet/java/math/BigDecimal/valueOfLongInt.java: Add four new tests for a class BigDecimal. 2012-02-22 Mustapha James Ahmed , Pekka Enberg * Harness.java: * README: * RunnerProcess.java: Added support for -autoxml flag 2012-01-26 Pavel Tisnovsky * gnu/testlet/java/math/BigDecimal/compareToObject.java: * gnu/testlet/java/math/BigDecimal/divideMathContext.java: * gnu/testlet/java/math/BigDecimal/divideRoundingMode.java: * gnu/testlet/java/math/BigDecimal/divideRoundingModeScale.java: * gnu/testlet/java/math/BigDecimal/divideToIntegralValue.java: Add new tests for a class BigDecimal. 2012-01-19 Pavel Tisnovsky * gnu/testlet/java/math/BigDecimal/abs.java: * gnu/testlet/java/math/BigDecimal/add.java: * gnu/testlet/java/math/BigDecimal/divide.java: * gnu/testlet/java/math/BigDecimal/multiply.java: * gnu/testlet/java/math/BigDecimal/negate.java: * gnu/testlet/java/math/BigDecimal/plus.java: * gnu/testlet/java/math/BigDecimal/subtract.java: Add new tests for a class BigDecimal. * gnu/testlet/java/math/BigDecimal/divide.java: Add new test case. 2012-01-17 Pavel Tisnovsky * Harness.java: Added support for the new tag with name "CompileOptions:" which allows authors of the tests to specify various options which are then passed to a compiler. 2012-01-16 Pavel Tisnovsky * gnu/testlet/java/math/BigDecimal/byteValue.java: * gnu/testlet/java/math/BigDecimal/byteValueExact.java: * gnu/testlet/java/math/BigDecimal/intValue.java: * gnu/testlet/java/math/BigDecimal/intValueExact.java: * gnu/testlet/java/math/BigDecimal/longValue.java: * gnu/testlet/java/math/BigDecimal/longValueExact.java: * gnu/testlet/java/math/BigDecimal/shortValue.java: * gnu/testlet/java/math/BigDecimal/shortValueExact.java: Fixed bad title comments for these tests. * gnu/testlet/java/math/BigDecimal/hashCode.java: * gnu/testlet/java/math/BigDecimal/precision.java: * gnu/testlet/java/math/BigDecimal/toEngineeringString.java: * gnu/testlet/java/math/BigDecimal/toPlainString.java: Add new tests for a class BigDecimal. 2012-01-09 Pavel Tisnovsky * gnu/testlet/java/math/BigDecimal/constructorBigInteger.java: New test for constructor BigDecimal(BigInteter). * gnu/testlet/java/math/BigDecimal/byteValue.java: * gnu/testlet/java/math/BigDecimal/byteValueExact.java: * gnu/testlet/java/math/BigDecimal/intValue.java: * gnu/testlet/java/math/BigDecimal/intValueExact.java: * gnu/testlet/java/math/BigDecimal/longValue.java: * gnu/testlet/java/math/BigDecimal/longValueExact.java: * gnu/testlet/java/math/BigDecimal/shortValue.java: * gnu/testlet/java/math/BigDecimal/shortValueExact.java: Add new tests for a class BigDecimal. 2012-01-06 Pavel Tisnovsky * gnu/testlet/java/math/BigDecimal/constructorCharacterSequence.java: * gnu/testlet/java/math/BigDecimal/constructorDouble.java: * gnu/testlet/java/math/BigDecimal/constructorString.java: Three new tests checking constructors introduced in Java 1.5 API. 2012-01-05 Pavel Tisnovsky * gnu/testlet/java/math/BigDecimal/constructorInt.java: * gnu/testlet/java/math/BigDecimal/constructorLong.java: New tests checking constructors introduced in Java 1.5 API. 2012-01-03 Andrew John Hughes * gnu/testlet/java/text/DateFormatSymbols/SanityCheck.java: New test to check the arrays returned by DateFormatSymbols for each locale are the right size. See RH#712013. 2012-01-03 Pavel Tisnovsky * gnu/testlet/java/awt/List/addActionListener.java: * gnu/testlet/java/awt/List/addItemListener.java: Added new tests for an AWT List class. 2011-12-19 Pavel Tisnovsky * gnu/testlet/java/awt/Label/MouseListenerTest.java: * gnu/testlet/java/awt/Label/MouseMotionListenerTest.java: * gnu/testlet/java/awt/Label/MouseWheelListenerTest.java: Added new tests for an AWT Label class. * gnu/testlet/java/awt/Label/PaintTest.java: * gnu/testlet/java/awt/Label/addComponentListener.java: * gnu/testlet/java/awt/Label/addFocusListener.java: * gnu/testlet/java/awt/Label/addHierarchyBoundsListener.java: * gnu/testlet/java/awt/Label/addHierarchyListener.java: * gnu/testlet/java/awt/Label/addInputMethodListener.java: * gnu/testlet/java/awt/Label/addKeyListener.java: * gnu/testlet/java/awt/Label/addMouseListener.java: * gnu/testlet/java/awt/Label/addMouseMotionListener.java: * gnu/testlet/java/awt/Label/addMouseWheelListener.java: * gnu/testlet/java/awt/Label/addPropertyChangeListener.java: * gnu/testlet/java/awt/Label/constructors.java: Minor fixes - javadoc, fixed compiler warnings etc. 2011-12-15 Pavel Tisnovsky * gnu/testlet/java/awt/List/PaintTestEmptyList.java * gnu/testlet/java/awt/List/PaintTestFilledList.java Two new test for AWT List class. * gnu/testlet/java/awt/List/ScrollbarPaintTest.java: Fixed 2011-12-14 Pavel Tisnovsky * gnu/testlet/java/awt/Choice/addPropertyChangeListener.java: * gnu/testlet/java/awt/Choice/addPropertyChangeListenerString.java: Two new tests for Choice class - addPropertyChangeListener() method. * gnu/testlet/java/awt/Container/addImpl.java: Fixed. * gnu/testlet/java/awt/Label/addComponentListener.java: * gnu/testlet/java/awt/Label/addFocusListener.java: * gnu/testlet/java/awt/Label/addHierarchyBoundsListener.java: * gnu/testlet/java/awt/Label/addHierarchyListener.java: * gnu/testlet/java/awt/Label/addInputMethodListener.java: * gnu/testlet/java/awt/Label/addKeyListener.java: * gnu/testlet/java/awt/Label/addMouseListener.java: * gnu/testlet/java/awt/Label/addMouseMotionListener.java: * gnu/testlet/java/awt/Label/addMouseWheelListener.java: * gnu/testlet/java/awt/Label/addPropertyChangeListener.java: * gnu/testlet/java/awt/Label/addPropertyChangeListenerString.java: Added new tests for Label class - various listeners. 2011-12-13 Pavel Tisnovsky * gnu/testlet/java/awt/Canvas/addPropertyChangeListener.java: * gnu/testlet/java/awt/Canvas/addPropertyChangeListenerString.java: Two new tests for Canvas class - addPropertyChangeListener() method. * gnu/testlet/java/awt/Checkbox/addPropertyChangeListener.java: * gnu/testlet/java/awt/Checkbox/addPropertyChangeListenerString.java: Two new tests for Checkbox class - addPropertyChangeListener() method. 2011-12-12 Pavel Tisnovsky * gnu/testlet/java/awt/Button/addPropertyChangeListener.java: * gnu/testlet/java/awt/Button/addPropertyChangeListenerString.java: Two new tests for Button class - addPropertyChangeListener() method. * gnu/testlet/java/awt/GridLayout/getColumns.java: * gnu/testlet/java/awt/GridLayout/getRows.java: * gnu/testlet/java/awt/GridLayout/setColumns.java: * gnu/testlet/java/awt/GridLayout/setRows.java: Four new tests for checking Layout managers API: remaining getters and setters. 2011-12-09 Pavel Tisnovsky * gnu/testlet/java/awt/BasicStroke/getEndCap.java: * gnu/testlet/java/awt/BasicStroke/getLineJoin.java: * gnu/testlet/java/awt/BasicStroke/getMiterLimit.java: * gnu/testlet/java/awt/GridLayout/PaintTestBiggerGaps.java: * gnu/testlet/java/awt/GridLayout/PaintTestBiggerHgap.java: * gnu/testlet/java/awt/GridLayout/PaintTestBiggerVgap.java: * gnu/testlet/java/awt/GridLayout/PaintTestFiveRowsBiggerVgap.java: * gnu/testlet/java/awt/GridLayout/PaintTestFiveRowsFiveCanvases.java: * gnu/testlet/java/awt/GridLayout/PaintTestOneRowBiggerHgap.java: * gnu/testlet/java/awt/GridLayout/PaintTestOneRowFiveCanvases.java: * gnu/testlet/java/awt/GridLayout/PaintTestTwoRowsFiveCanvases.java: * gnu/testlet/java/awt/GridLayout/PaintTestZeroGaps.java: * gnu/testlet/java/awt/GridLayout/PaintTestZeroHgap.java: * gnu/testlet/java/awt/GridLayout/PaintTestZeroVgap.java: * gnu/testlet/java/awt/GridLayout/getHgap.java: * gnu/testlet/java/awt/GridLayout/getVgap.java: * gnu/testlet/java/awt/GridLayout/minimumLayoutSize.java: * gnu/testlet/java/awt/GridLayout/setHgap.java: * gnu/testlet/java/awt/GridLayout/setVgap.java: * gnu/testlet/java/awt/GridLayout/toString.java: * gnu/testlet/java/awt/geom/AffineTransform/createInverse.java: Get rid of compiler warnings, improved javadoc, changed version tag. * gnu/testlet/java/awt/geom/Area/clone.java: Added new test case. 2011-12-08 Pavel Tisnovsky * gnu/testlet/java/awt/BasicStroke/getMiterLimit.java: New test checking method BasicStroke.getMiterLimit(); * gnu/testlet/java/awt/BorderLayout/PaintTestBiggerGap.java: * gnu/testlet/java/awt/BorderLayout/PaintTestBiggerHGap.java: * gnu/testlet/java/awt/BorderLayout/PaintTestBiggerVGap.java: * gnu/testlet/java/awt/BorderLayout/PaintTestFiveButtons.java: * gnu/testlet/java/awt/BorderLayout/PaintTestFiveCanvases.java: * gnu/testlet/java/awt/BorderLayout/PaintTestZeroGaps.java: * gnu/testlet/java/awt/BorderLayout/Test15.java: * gnu/testlet/java/awt/BorderLayout/getLayoutAlignmentX.java: * gnu/testlet/java/awt/BorderLayout/getLayoutAlignmentY.java: * gnu/testlet/java/awt/BorderLayout/setHgap.java: * gnu/testlet/java/awt/BorderLayout/setVgap.java: * gnu/testlet/java/awt/BorderLayout/toString.java: Get rid of compiler warnings, improved javadoc. 2011-12-07 Pavel Tisnovsky * gnu/testlet/java/awt/CardLayout/PaintTestBiggerHGap.java: * gnu/testlet/java/awt/CardLayout/PaintTestBiggerVGap.java: * gnu/testlet/java/awt/CardLayout/PaintTestFirstNextComb.java: Three new tests for checking Layout managers API: tests for CardLayout manager. 2011-12-06 Pavel Tisnovsky * gnu/testlet/java/awt/CardLayout/PaintTest.java: * gnu/testlet/java/awt/CardLayout/getLayoutAlignmentX.java: * gnu/testlet/java/awt/CardLayout/getLayoutAlignmentY.java: * gnu/testlet/java/awt/CardLayout/toString.java: Four new tests for checking Layout managers API: tests for CardLayout manager. 2011-12-05 Pavel Tisnovsky * LightweightContainer.java: Fixed this test to correctly close its frames. 2011-12-05 Pavel Tisnovsky * gnu/testlet/java/awt/CardLayout/PaintTestBiggerGaps.java: * gnu/testlet/java/awt/CardLayout/PaintTestZeroGaps.java: Two new tests for checking Layout managers API: basic paint tests for CardLayout manager. 2011-11-30 Pavel Tisnovsky * gnu/testlet/java/awt/BasicStroke/getEndCap.java: New test checking method BasicStroke.getEndCap(); * gnu/testlet/java/awt/BasicStroke/getLineJoin.java: New test checking method BasicStroke.getLineJoin(); 2011-11-28 Pavel Tisnovsky * gnu/testlet/java/awt/CardLayout/getHgap.java: * gnu/testlet/java/awt/CardLayout/getVgap.java: * gnu/testlet/java/awt/CardLayout/setHgap.java: * gnu/testlet/java/awt/CardLayout/setVgap.java: New tests for checking Layout managers API: basic setters for CardLayout manager. 2011-11-25 Pavel Tisnovsky * gnu/testlet/java/awt/BorderLayout/removeLayoutComponent.java: * gnu/testlet/java/awt/CardLayout/addLayoutComponent.java: * gnu/testlet/java/awt/CardLayout/removeLayoutComponent.java: * gnu/testlet/java/awt/GridLayout/addLayoutComponent.java: * gnu/testlet/java/awt/GridLayout/removeLayoutComponent.java: New tests for checking Layout managers API: methods addLayoutComponent and removeLayoutComponent. 2011-11-23 Pavel Tisnovsky * gnu/testlet/java/awt/GridLayout/getHgap.java: * gnu/testlet/java/awt/GridLayout/getVgap.java: * gnu/testlet/java/awt/GridLayout/minimumLayoutSize.java: * gnu/testlet/java/awt/GridLayout/setHgap.java: * gnu/testlet/java/awt/GridLayout/setVgap.java: New tests for checking GridLayout manager API. 2011-11-22 Pavel Tisnovsky * gnu/testlet/java/awt/FlowLayout/getAlignment.java: * gnu/testlet/java/awt/FlowLayout/getHgap.java: * gnu/testlet/java/awt/FlowLayout/getVgap.java: * gnu/testlet/java/awt/FlowLayout/setAlignment.java: * gnu/testlet/java/awt/FlowLayout/setHgap.java: * gnu/testlet/java/awt/FlowLayout/setVgap.java: New tests for checking FlowLayout manager API. 2011-11-21 Pavel Tisnovsky * gnu/testlet/java/awt/BorderLayout/toString.java: * gnu/testlet/java/awt/FlowLayout/toString.java: * gnu/testlet/java/awt/GridLayout/toString.java: Updated. * gnu/testlet/java/awt/FlowLayout/constructors.java: Added new test for checking constructor behaviour of FlowLayout manager. * gnu/testlet/java/awt/GridLayout/PaintTestTwoRowsFiveCanvases.java: Added new test for checking proper behaviour of GridLayout manager. 2011-11-10 Pavel Tisnovsky * gnu/testlet/java/awt/GridLayout/PaintTestFiveRowsBiggerVgap.java: * gnu/testlet/java/awt/GridLayout/PaintTestFiveRowsFiveCanvases.java: * gnu/testlet/java/awt/GridLayout/PaintTestOneRowBiggerHgap.java: * gnu/testlet/java/awt/GridLayout/PaintTestOneRowFiveCanvases.java: Added four new tests for checking proper behaviour of GridLayout manager. 2011-11-07 Pavel Tisnovsky * gnu/testlet/java/awt/GridLayout/PaintTestBiggerGaps.java: * gnu/testlet/java/awt/GridLayout/PaintTestBiggerHgap.java: * gnu/testlet/java/awt/GridLayout/PaintTestBiggerVgap.java: Added three new tests for checking proper behaviour of GridLayout manager. * gnu/testlet/java/awt/Label/PaintTestZeroGaps.java: * gnu/testlet/java/awt/Label/PaintTestZeroHgap.java: * gnu/testlet/java/awt/Label/PaintTestZeroVgap.java: Added new checks to these test. Changed sources to prevent compilation warning. 2011-11-04 Pavel Tisnovsky * gnu/testlet/java/awt/Label/getAlignment.java: * gnu/testlet/java/awt/Label/list.java: * gnu/testlet/java/awt/Label/setAlignment.java: Added new tests which check correct behaviour of Label class. * gnu/testlet/java/awt/BorderLayout/toString.java: * gnu/testlet/java/awt/GridLayout/toString.java: Simple test checking overrided method toString(). 2011-11-03 Pavel Tisnovsky * gnu/testlet/java/awt/GridLayout/PaintTestZeroGaps.java: * gnu/testlet/java/awt/GridLayout/PaintTestZeroHgap.java: * gnu/testlet/java/awt/GridLayout/PaintTestZeroVgap.java: Added three new tests for checking proper behaviour of GridLayout manager. 2011-11-02 Pavel Tisnovsky * gnu/testlet/java/awt/FlowLayout/PaintTestBiggerGaps.java: * gnu/testlet/java/awt/FlowLayout/PaintTestBiggerHgap.java: * gnu/testlet/java/awt/FlowLayout/PaintTestBiggerVgap.java: * gnu/testlet/java/awt/FlowLayout/PaintTestCenterAlign.java: * gnu/testlet/java/awt/FlowLayout/PaintTestLeftAlign.java: * gnu/testlet/java/awt/FlowLayout/PaintTestRightAlign.java: * gnu/testlet/java/awt/FlowLayout/PaintTestZeroGaps.java: * gnu/testlet/java/awt/FlowLayout/PaintTestZeroHgap.java: * gnu/testlet/java/awt/FlowLayout/PaintTestZeroVgap.java: Added nine new tests for checking proper behaviour of FlowLayout manager. * gnu/testlet/java/awt/FlowLayout/toString.java: Simple test checking overrided method toString(). 2011-10-31 Pavel Tisnovsky * gnu/testlet/java/awt/Choice/addComponentListener.java: * gnu/testlet/java/awt/Choice/addFocusListener.java: * gnu/testlet/java/awt/Choice/addHierarchyBoundsListener.java: * gnu/testlet/java/awt/Choice/addHierarchyListener.java: * gnu/testlet/java/awt/Choice/addInputMethodListener.java: * gnu/testlet/java/awt/Choice/addItemListener.java: * gnu/testlet/java/awt/Choice/addKeyListener.java: * gnu/testlet/java/awt/Choice/addMouseListener.java: * gnu/testlet/java/awt/Choice/addMouseMotionListener.java: * gnu/testlet/java/awt/Choice/addMouseWheelListener.java: Added new tests for checking if various listeners could be registered for a given AWT Choice object. * gnu/testlet/java/awt/Choice/list.java: Added simple new test checking the method list() for a Choice object. 2011-10-24 Pavel Tisnovsky * gnu/testlet/java/awt/FlowLayout/PaintTestBasicSetup1.java: * gnu/testlet/java/awt/FlowLayout/PaintTestBasicSetup2.java: * gnu/testlet/java/awt/FlowLayout/PaintTestBasicSetup3.java: Added three new tests for checking proper behaviour of FlowLayout manager. These tests renders frame containing two widgets and then check widget position. 2011-10-21 Pavel Tisnovsky * gnu/testlet/java/awt/BorderLayout/PaintTestBiggerGap.java: * gnu/testlet/java/awt/BorderLayout/PaintTestBiggerHGap.java: * gnu/testlet/java/awt/BorderLayout/PaintTestBiggerVGap.java: * gnu/testlet/java/awt/BorderLayout/PaintTestFiveButtons.java: * gnu/testlet/java/awt/BorderLayout/PaintTestFiveCanvases.java: * gnu/testlet/java/awt/BorderLayout/PaintTestZeroGaps.java: Added six new tests for checking proper behaviour of BorderLayout. These tests renders frame containing some widgets and then check widget position. 2011-10-20 Pavel Tisnovsky * gnu/testlet/java/awt/Checkbox/MouseListenerTest.java: * gnu/testlet/java/awt/Checkbox/MouseMotionListenerTest.java: * gnu/testlet/java/awt/Checkbox/MouseWheelListenerTest.java: Added new tests for checking Mouse*Listener functionality for an AWT Checkbox class. * gnu/testlet/java/awt/Choice/ItemListenerNegativeTest1.java: * gnu/testlet/java/awt/Choice/ItemListenerNegativeTest2.java: * gnu/testlet/java/awt/Choice/ItemListenerPositiveTest.java: Added new tests for checking ItemListener functionality for an AWT Choice class. 2011-10-14 Pavel Tisnovsky * gnu/testlet/java/awt/Checkbox/ItemListenerNegativeTest1.java: * gnu/testlet/java/awt/Checkbox/ItemListenerNegativeTest2.java: * gnu/testlet/java/awt/Checkbox/ItemListenerPositiveTest.java: Added new tests for checking ItemListener functionality for an AWT Checkbox class. * gnu/testlet/java/awt/Checkbox/KeyboardListenerAsciiKeys.java: * gnu/testlet/java/awt/Checkbox/KeyboardListenerCursorKeys.java: * gnu/testlet/java/awt/Checkbox/KeyboardListenerFunctionKeys.java: * gnu/testlet/java/awt/Checkbox/KeyboardListenerTest.java: Added new tests for checking KeyboardListener functionality for an AWT Checkbox class. * gnu/testlet/java/awt/Checkbox/addComponentListener.java: * gnu/testlet/java/awt/Checkbox/addFocusListener.java: * gnu/testlet/java/awt/Checkbox/addHierarchyBoundsListener.java: * gnu/testlet/java/awt/Checkbox/addHierarchyListener.java: * gnu/testlet/java/awt/Checkbox/addInputMethodListener.java: * gnu/testlet/java/awt/Checkbox/addItemListener.java: * gnu/testlet/java/awt/Checkbox/addKeyListener.java: * gnu/testlet/java/awt/Checkbox/addMouseListener.java: * gnu/testlet/java/awt/Checkbox/addMouseMotionListener.java: * gnu/testlet/java/awt/Checkbox/addMouseWheelListener.java: Added new tests for checking if various listeners could be registered for a given AWT Checkbox object. 2011-10-11 Pavel Tisnovsky * gnu/testlet/java/awt/Button/KeyboardListenerAsciiKeys.java: * gnu/testlet/java/awt/Button/KeyboardListenerCursorKeys.java: * gnu/testlet/java/awt/Button/KeyboardListenerFunctionKeys.java: * gnu/testlet/java/awt/Button/KeyboardListenerTest.java: Added new tests for checking KeyboardListener functionality for an AWT Button class. * gnu/testlet/java/awt/Button/list.java: Added new test checking the method list() for a Button object. * gnu/testlet/java/awt/Canvas/addHierarchyBoundsListener.java: Added missing test. * gnu/testlet/java/awt/Checkbox/list.java: Added new test checking the method list() for a Checkbox object. 2011-10-10 Pavel Tisnovsky * gnu/testlet/java/awt/Canvas/MouseListenerTest.java: * gnu/testlet/java/awt/Canvas/MouseMotionListenerTest.java: * gnu/testlet/java/awt/Canvas/MouseWheelListenerTest.java: Added new tests for checking MouseListener, MouseMotionListener and MouseWheelListener registered for a Canvas class. * gnu/testlet/java/awt/Canvas/addComponentListener.java: * gnu/testlet/java/awt/Canvas/addFocusListener.java: * gnu/testlet/java/awt/Canvas/addHierarchyListener.java: * gnu/testlet/java/awt/Canvas/addInputMethodListener.java: * gnu/testlet/java/awt/Canvas/addKeyListener.java: * gnu/testlet/java/awt/Canvas/addMouseListener.java: * gnu/testlet/java/awt/Canvas/addMouseMotionListener.java: * gnu/testlet/java/awt/Canvas/addMouseWheelListener.java: Added new tests for checking if various listeners could be registered for a given AWT Canvas object. * gnu/testlet/java/awt/Canvas/list.java: Added new test checking the method list() for a Canvas object. 2011-10-07 Pavel Tisnovsky * gnu/testlet/java/awt/Button/ActionListenerNegativeTest1.java: * gnu/testlet/java/awt/Button/ActionListenerNegativeTest2.java: * gnu/testlet/java/awt/Button/ActionListenerPositiveTest.java: Increased delay periods of AWT robot to make these tests more reliable. * gnu/testlet/java/awt/Button/MouseListenerTest.java: * gnu/testlet/java/awt/Button/MouseMotionListenerTest.java: * gnu/testlet/java/awt/Button/MouseWheelListenerTest.java: Added new tests for checking MouseListener, MouseMotionListener and MouseWheelListener registered for a Button class. 2011-10-06 Pavel Tisnovsky * gnu/testlet/java/awt/Button/addComponentListener.java: * gnu/testlet/java/awt/Button/addFocusListener.java: * gnu/testlet/java/awt/Button/addHierarchyBoundsListener.java: * gnu/testlet/java/awt/Button/addHierarchyListener.java: * gnu/testlet/java/awt/Button/addInputMethodListener.java: * gnu/testlet/java/awt/Button/addKeyListener.java: * gnu/testlet/java/awt/Button/addMouseListener.java: * gnu/testlet/java/awt/Button/addMouseMotionListener.java: * gnu/testlet/java/awt/Button/addMouseWheelListener.java: Added new tests for checking if various listeners could be registered for a given AWT Button object. * gnu/testlet/java/awt/Button/ActionListenerPositiveTest.java: Added new test for checking ActionListener functionality * gnu/testlet/java/awt/Button/addActionListener.java: Added new checks to this test and removed some checks which are part of ActionListenerPositiveTest * gnu/testlet/java/awt/Button/addActionListenerNegativeTestcase1.java: * gnu/testlet/java/awt/Button/ActionListenerNegativeTest1.java: Renamed * gnu/testlet/java/awt/Button/addActionListenerNegativeTestcase2.java: * gnu/testlet/java/awt/Button/ActionListenerNegativeTest2.java: Renamed 2011-10-05 Pavel Tisnovsky * gnu/testlet/java/awt/Button/addActionListener.java: * gnu/testlet/java/awt/Button/addActionListenerNegativeTestcase1.java: * gnu/testlet/java/awt/Button/addActionListenerNegativeTestcase2.java: Added new tests for checking ActionListener functionality for AWT Button widget. * gnu/testlet/java/awt/Choice/constructors.java: Added new test for checking constructor behaviour of various AWT widgets. 2011-10-04 Pavel Tisnovsky * gnu/testlet/java/awt/Button/constructors.java: * gnu/testlet/java/awt/Canvas/constructors.java: * gnu/testlet/java/awt/Checkbox/constructors.java: * gnu/testlet/java/awt/Label/constructors.java: Added new tests for checking constructors behaviour of various AWT widgets. * gnu/testlet/java/nio/channels/FileChannel/map.java: * gnu/testlet/java/nio/channels/FileChannel/singlebufferIO.java: Fixed cleaning phase of these tests, they now delete all its work files and directories. * gnu/testlet/javax/swing/JComboBox/getEditor.java: Fixed these tests: all test frames are disposed in the finish phase. 2011-10-03 Pavel Tisnovsky * gnu/testlet/java/awt/Panel/TestPanelRepaint.java: * gnu/testlet/java/awt/Container/setLayout.java: * gnu/testlet/java/awt/Container/getComponentAt.java: * gnu/testlet/java/awt/ScrollPane/add.java: Fixed these tests: all test frames are disposed in the finish phase. * gnu/testlet/java/awt/ScrollPane/ScrollbarPaintTest.java: * gnu/testlet/java/awt/Scrollbar/ScrollbarPaintTest.java: Fixed these tests: added calling of robot.waitForIdle() method before all checks, added more accurate checking of pixel colors in some cases, comments for a new code. 2011-09-30 Pavel Tisnovsky * gnu/testlet/java/awt/Component/getFont.java: * gnu/testlet/java/awt/Component/requestFocus.java: * gnu/testlet/java/awt/Frame/isDisplayable1.java: * gnu/testlet/java/awt/Frame/isDisplayable2.java: * gnu/testlet/java/awt/Frame/isDisplayable3.java: * gnu/testlet/java/awt/Frame/isDisplayable4.java: * gnu/testlet/java/awt/Frame/isDisplayable5.java: * gnu/testlet/java/awt/Frame/isDisplayable6.java: * gnu/testlet/java/awt/Frame/isDisplayable7.java: Fixed these tests: all test frames are disposed in the finish phase. * gnu/testlet/java/awt/Button/PaintTest.java: * gnu/testlet/java/awt/Canvas/PaintTest.java: * gnu/testlet/java/awt/Checkbox/PaintTest.java: * gnu/testlet/java/awt/Choice/PaintTest.java: * gnu/testlet/java/awt/Label/PaintTest.java: * gnu/testlet/java/awt/TextField/PaintTest.java: Make these tests more robust - tests should not fail or freeze even if they are run sequentially. 2011-09-29 Pavel Tisnovsky * gnu/testlet/java/awt/Button/PaintTest.java: * gnu/testlet/java/awt/Canvas/PaintTest.java: * gnu/testlet/java/awt/Checkbox/PaintTest.java: * gnu/testlet/java/awt/Choice/PaintTest.java: * gnu/testlet/java/awt/Label/PaintTest.java: * gnu/testlet/java/awt/TextField/PaintTest.java: Fixed these tests: added calling of robot.waitForIdle() method before all checks, added more accurate checking of pixel colors in some cases, comments for a new code. 2011-09-27 Pavel Tisnovsky * gnu/testlet/java/awt/Canvas/PaintTest.java: Fixed this test in a way discussed here: http://www.cygwin.com/ml/mauve-discuss/2011-q3/msg00027.html Added a small delay before computation of canvas size and its absolute position on the screen is done. There's also added a test for a color of a pixel located inside the canvas. 2011-09-26 Pavel Tisnovsky * gnu/testlet/java/lang/StrictMath/API_coverage.txt: Added text file containing test coverage for StrictMath class. * gnu/testlet/java/lang/StrictMath/cbrt_strictfp.java: * gnu/testlet/java/lang/StrictMath/expm1_strictfp.java: Added two new tests * gnu/testlet/java/lang/StrictMath/acos.java: * gnu/testlet/java/lang/StrictMath/acos_strictfp.java: * gnu/testlet/java/lang/StrictMath/asin.java: * gnu/testlet/java/lang/StrictMath/asin_strictfp.java: * gnu/testlet/java/lang/StrictMath/atan.java: * gnu/testlet/java/lang/StrictMath/atan_strictfp.java: * gnu/testlet/java/lang/StrictMath/cos.java: * gnu/testlet/java/lang/StrictMath/cos_strictfp.java * gnu/testlet/java/lang/StrictMath/sin.java: * gnu/testlet/java/lang/StrictMath/sin_strictfp.java: * gnu/testlet/java/lang/StrictMath/tan.java: * gnu/testlet/java/lang/StrictMath/tan_strictfp.java: Changed tag value to run these tests when at least Java 1.3 API is used * gnu/testlet/java/lang/StrictMath/cbrt.java: * gnu/testlet/java/lang/StrictMath/expm1.java: Fixed JavaDoc 2011-09-20 Pavel Tisnovsky * gnu/testlet/java/lang/StrictMath/cos.java: * gnu/testlet/java/lang/StrictMath/cos_strictfp.java: * gnu/testlet/java/lang/StrictMath/sin.java: * gnu/testlet/java/lang/StrictMath/sin_strictfp.java: * gnu/testlet/java/lang/StrictMath/tan.java: * gnu/testlet/java/lang/StrictMath/tan_strictfp.java: Added 6 new tests used for checking methods included in StrictMath class. 2011-09-19 Pavel Tisnovsky * gnu/testlet/javax/swing/border/TitledBorder/getTitlePosition.java: * gnu/testlet/javax/swing/border/TitledBorder/setTitlePosition.java: Fixed these tests in a way discussed here: http://sourceware.org/ml/mauve-discuss/2011-q3/msg00014.html 2011-09-15 Pavel Tisnovsky * gnu/testlet/java/lang/StrictMath/acos.java: * gnu/testlet/java/lang/StrictMath/acos_strictfp.java: * gnu/testlet/java/lang/StrictMath/asin.java: * gnu/testlet/java/lang/StrictMath/asin_strictfp.java: * gnu/testlet/java/lang/StrictMath/atan.java: * gnu/testlet/java/lang/StrictMath/atan_strictfp.java: New tests used for checking methods included in StrictMath class. 2011-09-14 Pavel Tisnovsky * gnu/testlet/javax/swing/border/TitledBorder/constructors.java: Fixed this test in a way discussed here: http://sourceware.org/ml/mauve-discuss/2011-q3/msg00014.html 2011-09-13 Pavel Tisnovsky * gnu/testlet/java/util/Currency/Taiwan.java: Update number of fraction digits to match the real use. 2011-09-12 Pavel Tisnovsky * gnu/testlet/javax/swing/JTextArea/preferredSize.java: Fixed this test in a way discussed here: http://sourceware.org/ml/mauve-discuss/2011-q3/msg00010.html 2011-09-09 Pavel Tisnovsky * gnu/testlet/java/lang/Float/toHexString.java: Add more tests. * gnu/testlet/java/lang/Double/toHexString.java: Add more tests. 2011-09-08 Pavel Tisnovsky * gnu/testlet/javax/imageio/ImageIO/Bitmap-1Bit.png: * gnu/testlet/javax/imageio/ImageIO/Bitmap-4Bit.png: * gnu/testlet/javax/imageio/ImageIO/Bitmap-8Bit.png: * gnu/testlet/javax/imageio/ImageIO/Bitmap-24Bit.png: * gnu/testlet/javax/imageio/ImageIO/Bitmap-32Bit.png: New bitmaps used in test ImageIOTest. * gnu/testlet/javax/imageio/ImageIO/ImageIOTest.java: Add more tests. 2011-09-07 Pavel Tisnovsky * gnu/testlet/java/awt/ColorClass/constants.java: Add more tests. * gnu/testlet/java/awt/ColorClass/decode.java: Add more tests. * gnu/testlet/java/awt/ColorClass/getBlue.java: Add more tests. * gnu/testlet/java/awt/ColorClass/getGreen.java: Add more tests. * gnu/testlet/java/awt/ColorClass/getRed.java: Add more tests. * gnu/testlet/java/awt/ColorClass/hashCode.java: Add more tests. 2011-09-06 Pavel Tisnovsky * gnu/testlet/java/lang/Long/new_Long.java (test): Add more tests. 2011-09-05 Pavel Tisnovsky * gnu/testlet/java/lang/Integer/new_Integer.java (test): Add more tests. 2011-08-19 Pavel Tisnovsky * gnu/testlet/java/util/Currency/ (Czech.java): New class of tests for the Czech currency (CZK). (Slovak.java): New class of tests for the Slovak currency (SKK). 2011-08-19 Pavel Tisnovsky * gnu/testlet/java/lang/Integer/parseInt.java: Fixed the test to work correctly on OpenJDK6 JRE. 2011-08-17 Pavel Tisnovsky * gnu/testlet/java/io/File/security.java: Fixed cleaning phase of this test, it now deletes all its work files and directories. 2011-04-25 Pekka Enberg * gnu/testlet/java/util/regex/Matcher/quoteReplacement.java: Add tests for Matcher.quoteReplacement(). 2011-03-14 Andrew John Hughes * gnu/testlet/java/net/Socket/security.java: Add test for connect(SocketAddress, int). * gnu/testlet/java/net/Socket/setSocketImplFactory.java: Add tests for when null is specified. 2011-03-02 Pekka Enberg * gnu/testlet/java/lang/String/split.java: Add test for String.split() that caused infinite loop with GNU Classpath. 2011-02-22 Andrew John Hughes PR classpath/42390 * gnu/testlet/java/security/Policy/Security.java, Test whether the toString() of a ProtectionDomain object includes the Policy's permissions when getPolicy is denied by the SecurityManager. 2010-12-24 Andrew John Hughes * gnu/testlet/java/security/ProtectionDomain/Implies.java: Check if Policy.implies(Permission) is called if the protection domain is already known to have AllPermission. 2010-12-21 Andrew John Hughes * gnu/testlet/java/lang/Class/IsAnonymousClass.java: Add tests for java.lang.Class#isAnonymousClass(). 2010-12-13 Andrew John Hughes * gnu/testlet/java/lang/Class/GetSimpleName.java: Add tests for anonymous classes. 2010-12-12 Pekka Enberg * gnu/testlet/java/lang/Class/GetSimpleName.java: Add tests for primitive, Object, array and inner classes. 2010-12-01 Andrew John Hughes * gnu/testlet/TestSecurityManager.java: Fix whitespace. * gnu/testlet/java/security/Policy/setPolicy.java: Test that the default security manager actually uses the currently established policy. Our TestSecurityManager relies on this. 2010-11-24 Andrew John Hughes PR classpath/42390 * gnu/testlet/java/security/ProtectionDomain/Security.java New test to ensure toString() does a getPolicy check when not in debugging mode. 2010-11-15 Andrew John Hughes PR classpath/42390 * gnu/testlet/java/io/File/security.java: Add security manager checks for deleteOnExit, exists, canRead, isFile, isDirectory, isHidden, lastModified, length, canWrite, mkdir, mkdirs, setLastModified. 2010-11-15 Andrew John Hughes PR classpath/42390 * gnu/testlet/java/util/logging/LogManager/Security.java: Add test for addPropertyChangeListener and removePropertyChangeListener SecurityManager checks. 2010-11-15 Andrew John Hughes PR classpath/42390 * Makefile.in, * aclocal.m4, * configure: Regenerated. * gnu/testlet/java/io/ObjectOutputStream/security.java: Add tests for ObjectOutputStream(OutputStream) as reported in PR classpath/42390. 2010-05-11 Andrew John Hughes PR classpath/43536 * gnu/testlet/java/util/Collection/Test.java: New test ensuring all Collection implementations meet the requirements of remove(Object). 2009-09-24 Mario Torre * gnu/testlet/java/util/ResourceBundle/getBundle: Specify the parent classloader instead of using the system classloader by default. 2009-09-24 Mario Torre * gnu/testlet/org/omg/PortableInterceptor/Interceptor/testInterceptors: Remove checks for wontfix bug http://bugs.sun.com/view_bug.do?bug_id=6314176. 2009-09-24 Mario Torre * gnu/testlet/org/omg/PortableServer/POA/TestActivate: Remove inappropriate checks. 2009-07-09 Mario Torre * gnu/testlet/locales/LocaleTest: Fixed local variations in the use of the percentage sign. 2009-07-09 Mario Torre * gnu/testlet/java/beans/EventHandler/check14c.java: Pass incoming event object directly to the target action. 2009-07-09 Mario Torre * gnu/testlet/java/beans/EventHandler/check14c.java: Update test to follow 1.6 specification behaviour. 2009-07-09 Mario Torre * gnu/testlet/java/lang/Class/security: Don't call setProperty if getProperty return null. 2009-07-09 Mario Torre * gnu/testlet/java/lang/SecurityManager/thread.java: make sure SecurityManager is installed. * gnu/testlet/java/lang/System/security.java: clear property that we assume to be non existing (needed if test runs several time without exiting the vm). * gnu/testlet/java/net/URLClassLoader/security.java: * gnu/testlet/java/lang/Thread/security10.java Thread.enumerate does checks on ThreadGroup, but not on Thread create fake URLStreamHandler 2009-07-09 Mario Torre * gnu/testlet/TestSecurityManager: TestSecurityManager has to delegate some functionality to the Policy to make sure privileged system code works. 2009-07-09 Mario Torre * gnu/testlet/java/text/SimpleDateFormat/equals: Remove obsolete check. 2009-07-08 Mario Torre * gnu/testlet/javax/imageio/spi/ServiceRegistry/lookupProviders: Use the classloader of the current context, so that the test works when classloader other than the system classloader was used to load the test. 2009-07-03 Mario Torre * gnu/testlet/java/util/ArrayList/AcuniaArrayListTest: fix ConcurrentModificationException should be thrown when altering the capacity of the array. 2009-05-17 Fabien DUMINY * gnu/testlet/runner/HTMLGenerator.java gnu/testlet/runner/Mauve.java gnu/testlet/runner/RunResult.java gnu/testlet/runner/XMLReportConstants.java gnu/testlet/runner/XMLReportParser.java gnu/testlet/runner/XMLReportWriter.java : Moved getting of system properties from Mauve to RunResult to allow exportation in xml and html format (or any other format ...) + added support for custom system properties (for people using mauve APIs for their specific needs). * gnu/testlet/runner/MauveTests.java : Added tests for the above features * gnu/testlet/runner/compare/ComparisonWriter.java gnu/testlet/runner/compare/HTMLComparisonWriter.java gnu/testlet/runner/compare/ReportComparator.java gnu/testlet/runner/compare/RunComparison.java gnu/testlet/runner/compare/TextComparisonWriter.java : Added comparison of (default and custom) system properties * Added javadoc to some of the above java classes. 2009-05-09 Fabien DUMINY * gnu/testlet/runner/Mauve.java : split of execute(...) method for clarity and better reusability (in jnode). changed visibility of instance variables to 'protected' for reusability. * gnu/testlet/runner/XMLReportParser.java : added another parse method, which take a Reader to allow something else than a File as input * gnu/testlet/runner/CheckResult.java : changed visibility of constructor to 'public' for reusability * gnu/testlet/runner/PackageResult.java & RunResult.java : changed visibility of add method to public for reusability 2009-02-19 Omair Majid * RunnerProcess (runtest): If a test fails to start, include it in the xml report as a failure. 2009-02-13 Omair Majid * Harness.java (setupHarness): Check for -xmlout file argument. 2009-01-26 Andrew John Hughes * gnu/testlet/java/lang/String/ConsCharset.java: New test for constructor which takes a java.nio.charset.Charset as an argument. 2009-01-02 Andrew John Hughes * gnu/testlet/java/text/ChoiceFormat/Bad.java: New test for bad ChoiceFormats. * gnu/testlet/java/text/MessageFormat/format14.java: Correct ChoiceFormat used. 2008-12-31 Andrew John Hughes * gnu/testlet/java/util/Calendar/ampm.java: Use the localised am/pm strings from DateFormatSymbols rather than hardcoding. 2008-11-17 Fabien DUMINY * gnu/testlet/runner/Filter.java : To allow custom filtering outside of Mauve, externalized code reading the test list + added LineProcessor interface Also slightly optimized use of memory by StringBuffer. 2008-11-14 Fabien DUMINY * gnu/testlet/runner/CheckResult.java * gnu/testlet/runner/ClassResult.java * gnu/testlet/runner/HTMLGenerator.java * gnu/testlet/runner/Mauve.java * gnu/testlet/runner/MauveTests.java Added * gnu/testlet/runner/PackageResult.java * gnu/testlet/runner/Result.java Added * gnu/testlet/runner/RunResult.java * gnu/testlet/runner/TestResult.java * gnu/testlet/runner/XMLReportConstants.java Added * gnu/testlet/runner/XMLReportParser.java Added * gnu/testlet/runner/XMLReportWriter.java Added * gnu/testlet/runner/compare/ClassComparison.java Added * gnu/testlet/runner/compare/Comparison.java Added * gnu/testlet/runner/compare/ComparisonVisitor.java Added * gnu/testlet/runner/compare/ComparisonWriter.java Added * gnu/testlet/runner/compare/EvolutionType.java Added * gnu/testlet/runner/compare/EvolutionTypeVisitor.java Added * gnu/testlet/runner/compare/HTMLComparisonWriter.java Added * gnu/testlet/runner/compare/PackageComparison.java Added * gnu/testlet/runner/compare/ReportComparator.java Added * gnu/testlet/runner/compare/RunComparison.java Added * gnu/testlet/runner/compare/TestComparison.java Added * gnu/testlet/runner/compare/TextComparisonWriter.java Added * net/sourceforge/nanoxml/XMLElement.java Added, Copied from icedtea6-1.3.1.tar.gz * net/sourceforge/nanoxml/XMLParseException.java Added, Copied from icedtea6-1.3.1.tar.gz Added features : - an XML report generator - an XML report parser (using nanoxml version from icedtea 6-1.3.1 - a comparator of 2 mauve runs (through their xml report) : result can be in html or in plain text format - In addition to the HTML report, Mauve now generate an xml report 2008-11-14 Fabien DUMINY * gnu/testlet/SingleTestHarness.java : Added '-v' option to enabled verbose mode. default is not verbose. Replaced "Class.forName" by use of context classloader 2008-09-01 Andrew John Hughes * gnu/testlet/java/util/Scanner/Base.java: (test(TestHarness)): Fail if an exception is thrown. * gnu/testlet/java/util/Scanner/BigDecimalInteger.java: Use harness.check. 2008-09-01 Andrew John Hughes * gnu/testlet/java/util/Scanner/Base.java, * gnu/testlet/java/util/Scanner/BigDecimalInteger.java, * gnu/testlet/java/util/Scanner/Booleans.java, * gnu/testlet/java/util/Scanner/DoubleFloat.java, * gnu/testlet/java/util/Scanner/FileInput.java, * gnu/testlet/java/util/Scanner/FindPattern.java, * gnu/testlet/java/util/Scanner/FindWithinHorizon.java, * gnu/testlet/java/util/Scanner/FishString.java, * gnu/testlet/java/util/Scanner/Inputs.java, * gnu/testlet/java/util/Scanner/LotsOfInts.java, * gnu/testlet/java/util/Scanner/LotsOfPMInts.java, * gnu/testlet/java/util/Scanner/LotsOfPMLong.java, * gnu/testlet/java/util/Scanner/LotsOfPMShort.java, * gnu/testlet/java/util/Scanner/MultiLine.java: Added headers, replaced MyScanner with Scanner, fixed location of temporary files, general formatting and naming cleanup. * gnu/testlet/java/util/Scanner/Radix.java, * gnu/testlet/java/util/Scanner/SkipPattern.java: Likewise, and converted to use harness.check instead of harness.fail. 2007-07-25 Laszlo Andras Hernadi * gnu/testlet/java/util/Scanner/Base.java, * gnu/testlet/java/util/Scanner/BigDecimalInteger.java, * gnu/testlet/java/util/Scanner/Booleans.java, * gnu/testlet/java/util/Scanner/DoubleFloat.java, * gnu/testlet/java/util/Scanner/FileInput.java, * gnu/testlet/java/util/Scanner/FindPattern.java, * gnu/testlet/java/util/Scanner/FindWithinHorizon.java, * gnu/testlet/java/util/Scanner/FishString.java, * gnu/testlet/java/util/Scanner/Inputs.java, * gnu/testlet/java/util/Scanner/LotsOfInts.java, * gnu/testlet/java/util/Scanner/LotsOfPMInts.java, * gnu/testlet/java/util/Scanner/LotsOfPMLong.java, * gnu/testlet/java/util/Scanner/LotsOfPMShort.java, * gnu/testlet/java/util/Scanner/MultiLine.java, * gnu/testlet/java/util/Scanner/Radix.java, * gnu/testlet/java/util/Scanner/SkipPattern.java: New tests for java.util.Scanner. 2008-09-01 Andrew John Hughes * gnu/testlet/java/lang/String/replaceAll.java: New test for PRclasspath/36085. 2008-09-01 Christian Thalinger * gnu/testlet/java/net/ServerSocket/AcceptTimeout.java (test): Increase timeout from 200 to 2000. 2008-08-25 Andrew John Hughes * gnu/testlet/java/lang/Enum/PR33183.java: New test. 2008-08-25 Andrew John Hughes * gnu/testlet/java/text/NumberFormat/PR31895.java: New test. 2008-08-06 Christian Thalinger * Harness.java (parseTags): Close files after parsing. 2008-07-30 Christian Thalinger * gnu/testlet/java/lang/Process/destroy.java: New test. * gnu/testlet/java/lang/Process/destroy_child.java: New file. 2008-07-24 Andrew John Hughes * gnu/testlet/java/awt/Desktop/PR34580.java: Assign class to correct package. 2008-07-24 Andrew John Hughes * gnu/testlet/java/awt/Desktop/PR34580.java: Fix compilation errors. * gnu/testlet/java/util/Currency/Taiwan.java: Update number of fraction digits to match CLDR. 2008-07-06 Andrew John Hughes * gnu/testlet/java/text/DateFormatSymbols/PR22851.java, * gnu/testlet/java/util/TimeZone/GetDisplayName.java: Add tests raised by issues in PR22851. 2008-07-01 Christian Thalinger * gnu/testlet/java/lang/Integer/Tests15.java: New file. 2008-06-25 Christian Thalinger * Harness.java (compileStringBase): Set target directory to build directory. (stripSourcePath): New method. (testNeedsToBeCompiled): Likewise. (parseTags): Likewise. (processUsesTag): Likewise. (processFilesTag): Likewise. (copyFiles): Likewise. (processSingleTest): Removed a lot of stuff now in the new methods above. (processFolder): Likewise. (compileFolder): Removed. (runFolder): Pass test in a LinkedHashSet. (compileTest): Removed. (compileFiles): New method. * Makefile.am (harness_files): Prefixed with $(srcdir). (harness): Added -d . * Makefile.in: Regenerated. * aclocal.m4: Likewise. * configure: Likewise. * configure.in (BUILDDIR): Added. * gnu/testlet/TestHarness.java (getBuildDirectory): New method. * gnu/testlet/TestReport.java (writeXml): Restart the timer after each write as this could cause problems on faulty NFS. * gnu/testlet/config.java.in (builddir): New variable. (getBuildDirectory): New method. * gnu/testlet/java/io/File/emptyFile.java, gnu/testlet/java/lang/Class/security.java, gnu/testlet/java/lang/Thread/security.java, gnu/testlet/java/security/AccessController/contexts.java: Use getBuildDirectory() instead of getSourceDirectory(). 2008-06-25 Christian Thalinger * gnu/testlet/java/beans/SimpleBeanInfo/loadImage.java: Addes Uses and Files tags. * gnu/testlet/java/io/Serializable/BreakMe.java: Added Files tag. * gnu/testlet/java/util/logging/LogManager/readConfiguration.java: Likewise. * gnu/testlet/javax/rmi/CORBA/Tie/RMI_IIOP.java: Added Uses tag. 2008-06-25 Christian Thalinger * gnu/testlet/org/omg/CORBA/Any/testAny.java, gnu/testlet/org/omg/CORBA/ORB/DirectTest.java, gnu/testlet/org/omg/CORBA/ORB/comServer.java, gnu/testlet/org/omg/CORBA/ORB/RF11/rf11Caller.java, gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/GreetingsServant.java, gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/Info.java, gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/InfoHelper.java, gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/InfoHolder.java, gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/_GreetingsImplBase.java, gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/_GreetingsStub.java, gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/cmInfoHolder.java, gnu/testlet/org/omg/DynamicAny/DynAny/BasicTest.java, gnu/testlet/org/omg/PortableInterceptor/Interceptor/testInterceptors.java, gnu/testlet/org/omg/PortableServer/POAOperations/poa_POA_test.java, gnu/testlet/org/omg/PortableServer/POAOperations/communication/poa_Servant.java, gnu/testlet/org/omg/PortableServer/POAOperations/communication/poa_Server.java, gnu/testlet/org/omg/PortableServer/POAOperations/communication/poa_comTesterHelper.java, gnu/testlet/org/omg/PortableServer/POAOperations/communication/poa_comTesterPOA.java: Added Uses tag. 2008-06-25 Christian Thalinger * gnu/testlet/java/security/cert/pkix/pkits/AllCertificatesAnyPolicyTest11_1.java, gnu/testlet/java/security/cert/pkix/pkits/AllCertificatesAnyPolicyTest11_2.java, gnu/testlet/java/security/cert/pkix/pkits/AllCertificatesSamePoliciesTest10_1.java, gnu/testlet/java/security/cert/pkix/pkits/AllCertificatesSamePoliciesTest10_2.java, gnu/testlet/java/security/cert/pkix/pkits/AllCertificatesSamePoliciesTest10_3.java, gnu/testlet/java/security/cert/pkix/pkits/AllCertificatesSamePoliciesTest13_1.java, gnu/testlet/java/security/cert/pkix/pkits/AllCertificatesSamePoliciesTest13_2.java, gnu/testlet/java/security/cert/pkix/pkits/AllCertificatesSamePoliciesTest13_3.java, gnu/testlet/java/security/cert/pkix/pkits/AllCertificatesSamePolicyTest1_1.java, gnu/testlet/java/security/cert/pkix/pkits/AllCertificatesSamePolicyTest1_2.java, gnu/testlet/java/security/cert/pkix/pkits/AllCertificatesSamePolicyTest1_3.java, gnu/testlet/java/security/cert/pkix/pkits/AllCertificatesSamePolicyTest1_4.java, gnu/testlet/java/security/cert/pkix/pkits/AllCertificatesSamePolicyTest2_1.java, gnu/testlet/java/security/cert/pkix/pkits/AllCertificatesSamePolicyTest2_2.java, gnu/testlet/java/security/cert/pkix/pkits/BaseInvalidTest.java, gnu/testlet/java/security/cert/pkix/pkits/BaseValidTest.java, gnu/testlet/java/security/cert/pkix/pkits/DifferentPoliciesTest12.java, gnu/testlet/java/security/cert/pkix/pkits/DifferentPoliciesTest3_1.java, gnu/testlet/java/security/cert/pkix/pkits/DifferentPoliciesTest3_2.java, gnu/testlet/java/security/cert/pkix/pkits/DifferentPoliciesTest3_3.java, gnu/testlet/java/security/cert/pkix/pkits/DifferentPoliciesTest4.java, gnu/testlet/java/security/cert/pkix/pkits/DifferentPoliciesTest5.java, gnu/testlet/java/security/cert/pkix/pkits/DifferentPoliciesTest7.java, gnu/testlet/java/security/cert/pkix/pkits/DifferentPoliciesTest8.java, gnu/testlet/java/security/cert/pkix/pkits/DifferentPoliciesTest9.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidBadCRLIssuerNameTest5.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidBadCRLSignatureTest4.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidBasicSelfIssuedCRLSigningKeyTest7.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidBasicSelfIssuedCRLSigningKeyTest8.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidBasicSelfIssuedNewWithOldTest5.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidBasicSelfIssuedOldWithNewTest2.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidCASignatureTest2.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidCAnotAfterDateTest5.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidCAnotBeforeDateTest1.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidDSASignatureTest6.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidEESignatureTest3.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidEEnotAfterDateTest6.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidEEnotBeforeDateTest2.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidLongSerialNumberTest18.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidMissingbasicConstraintsTest1.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidNameChainingEETest1.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidNameChainingOrderTest2.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidNegativeSerialNumberTest15.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidOldCRLnextUpdateTest11.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidRevokedCATest2.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidRevokedEETest3.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidSelfIssuedpathLenConstraintTest16.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidUnknownCRLEntryExtensionTest8.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidUnknownCRLExtensionTest10.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidUnknownCRLExtensionTest9.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidWrongCRLTest6.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidcAFalseTest2.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidcAFalseTest3.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidkeyUsageCriticalcRLSignFalseTest4.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidkeyUsageCriticalkeyCertSignFalseTest1.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidkeyUsageNotCriticalcRLSignFalseTest5.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidkeyUsageNotCriticalkeyCertSignFalseTest2.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidpathLenConstraintTest10.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidpathLenConstraintTest11.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidpathLenConstraintTest12.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidpathLenConstraintTest5.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidpathLenConstraintTest6.java, gnu/testlet/java/security/cert/pkix/pkits/InvalidpathLenConstraintTest9.java, gnu/testlet/java/security/cert/pkix/pkits/Invalidpre2000CRLnextUpdateTest12.java, gnu/testlet/java/security/cert/pkix/pkits/Invalidpre2000UTCEEnotAfterDateTest7.java, gnu/testlet/java/security/cert/pkix/pkits/MissingCRLTest1.java, gnu/testlet/java/security/cert/pkix/pkits/OverlappingPoliciesTest6_3.java, gnu/testlet/java/security/cert/pkix/pkits/ValidBasicSelfIssuedCRLSigningKeyTest6.java, gnu/testlet/java/security/cert/pkix/pkits/ValidBasicSelfIssuedNewWithOldTest3.java, gnu/testlet/java/security/cert/pkix/pkits/ValidBasicSelfIssuedNewWithOldTest4.java, gnu/testlet/java/security/cert/pkix/pkits/ValidBasicSelfIssuedOldWithNewTest1.java, gnu/testlet/java/security/cert/pkix/pkits/ValidDSAParameterInheritenceTest5.java, gnu/testlet/java/security/cert/pkix/pkits/ValidDSASignaturesTest4.java, gnu/testlet/java/security/cert/pkix/pkits/ValidGeneralizedTimeCRLnextUpdateTest13.java, gnu/testlet/java/security/cert/pkix/pkits/ValidGeneralizedTimenotAfterDateTest8.java, gnu/testlet/java/security/cert/pkix/pkits/ValidGeneralizedTimenotBeforeDateTest4.java, gnu/testlet/java/security/cert/pkix/pkits/ValidLongSerialNumberTest16.java, gnu/testlet/java/security/cert/pkix/pkits/ValidLongSerialNumberTest17.java, gnu/testlet/java/security/cert/pkix/pkits/ValidNameChainingCapitalizationTest5.java, gnu/testlet/java/security/cert/pkix/pkits/ValidNameChainingUIDsTest6.java, gnu/testlet/java/security/cert/pkix/pkits/ValidNameChainingWhitespaceTest3.java, gnu/testlet/java/security/cert/pkix/pkits/ValidNameChainingWhitespaceTest4.java, gnu/testlet/java/security/cert/pkix/pkits/ValidNegativeSerialNumberTest14.java, gnu/testlet/java/security/cert/pkix/pkits/ValidRFC3280MandatoryAttributeTypesTest7.java, gnu/testlet/java/security/cert/pkix/pkits/ValidRFC3280OptionalAttributeTypesTest8.java, gnu/testlet/java/security/cert/pkix/pkits/ValidRolloverfromPrintableStringtoUTF8StringTest10.java, gnu/testlet/java/security/cert/pkix/pkits/ValidSelfIssuedpathLenConstraintTest15.java, gnu/testlet/java/security/cert/pkix/pkits/ValidSelfIssuedpathLenConstraintTest17.java, gnu/testlet/java/security/cert/pkix/pkits/ValidTwoCRLsTest7.java, gnu/testlet/java/security/cert/pkix/pkits/ValidUTF8StringCaseInsensitiveMatchTest11.java, gnu/testlet/java/security/cert/pkix/pkits/ValidUTF8StringEncodedNamesTest9.java, gnu/testlet/java/security/cert/pkix/pkits/ValidbasicConstraintsNotCriticalTest4.java, gnu/testlet/java/security/cert/pkix/pkits/ValidkeyUsageNotCriticalTest3.java, gnu/testlet/java/security/cert/pkix/pkits/ValidpathLenConstraintTest13.java, gnu/testlet/java/security/cert/pkix/pkits/ValidpathLenConstraintTest14.java, gnu/testlet/java/security/cert/pkix/pkits/ValidpathLenConstraintTest7.java, gnu/testlet/java/security/cert/pkix/pkits/ValidpathLenConstraintTest8.java, gnu/testlet/java/security/cert/pkix/pkits/Validpre2000UTCnotBeforeDateTest3.java: Added Uses and Files tags. 2008-06-11 Christian Thalinger * RunnerProcess.java (check(Object, Object)): Changed code so we don't have early returns and miss currentResult.addFail() calls. This fixes a bug in missing failures in the XML output. 2008-06-09 Christian Thalinger * gnu/testlet/java/security/AccessController/contexts.java (test): Use getCanonicalPath() to fix a problem when the path contains a symbolic link. 2008-05-21 Christian Thalinger * gnu/testlet/java/util/EnumSet/ComplementOf.java: Added appropriate Uses tag. 2008-05-21 Christian Thalinger * gnu/testlet/javax/net/ssl/SSLEngine/TestGNUHandshake.java: Added appropriate Uses tag. * gnu/testlet/javax/net/ssl/SSLEngine/TestHandshake.java, gnu/testlet/javax/net/ssl/SSLEngine/TestNoCiphersuites.java: Likewise. 2008-05-21 Christian Thalinger * gnu/testlet/javax/management/MBeanServerInvocationHandler/MBeanProxy.java: Added appropriate Uses tag. * gnu/testlet/javax/management/openmbean/CompositeDataInvocationHandler/Test.java: Likewise. 2008-05-21 Christian Thalinger * gnu/testlet/java/beans/beancontext/BeanContextServicesSupport/getChildBeanContextServicesListener.java: Added appropriate Uses tag. * gnu/testlet/java/beans/beancontext/BeanContextSupport/getChildBeanContextChild.java, gnu/testlet/java/beans/beancontext/BeanContextSupport/getChildBeanContextMembershipListener.java, gnu/testlet/java/beans/beancontext/BeanContextSupport/getChildPropertyChangeListener.java, gnu/testlet/java/beans/beancontext/BeanContextSupport/getChildSerializable.java, gnu/testlet/java/beans/beancontext/BeanContextSupport/getChildVetoableChangeListener.java, gnu/testlet/java/beans/beancontext/BeanContextSupport/getChildVisibility.java, gnu/testlet/java/beans/beancontext/BeanContextSupport/serialize.java: Likewise. 2008-05-21 Christian Thalinger * gnu/testlet/java/lang/management/ClassLoadingMXBeanTest.java: Added appropriate Uses tag. * gnu/testlet/java/lang/management/OperatingSystemMXBeanTest.java, gnu/testlet/java/lang/management/RuntimeMXBeanTest.java: Likewise. 2008-05-21 Christian Thalinger * gnu/testlet/java/awt/Button/PaintTest.java: Added appropriate Uses tag. * gnu/testlet/java/awt/Canvas/PaintTest.java, gnu/testlet/java/awt/Checkbox/PaintTest.java, gnu/testlet/java/awt/Choice/PaintTest.java, gnu/testlet/java/awt/List/testSetMultipleMode.java, gnu/testlet/java/awt/image/ColorModel/constructors.java, gnu/testlet/java/awt/image/ComponentSampleModel/constructors.java, gnu/testlet/java/awt/image/LookupTable/constructor.java, gnu/testlet/java/awt/image/Raster/createChild.java: Likewise. 2008-05-21 Christian Thalinger * gnu/testlet/java/awt/KeyboardFocusManager/getFocusOwner.java: Added appropriate Uses tag. * gnu/testlet/java/awt/KeyboardFocusManager/getGlobalFocusOwner.java, gnu/testlet/java/awt/KeyboardFocusManager/getGlobalPermanentFocusOwner.java: Likewise. 2008-05-21 Christian Thalinger * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/Element_Test.java: Added appropriate Uses tag. * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/HTML_Test.java, gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/HTML_parsing.java, gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/HTML_randomTable.java, gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/ParserEntityResolverTest.java, gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/Token_locations.java, gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/parameterDefaulter_Test.java, gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/supplementaryNotifications.java, gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/textPreProcessor_Test.java: Likewise. 2008-05-21 Christian Thalinger * gnu/testlet/javax/swing/DefaultButtonModel/setArmed.java: Added appropriate Uses tag. * gnu/testlet/javax/swing/DefaultButtonModel/setEnabled.java, gnu/testlet/javax/swing/DefaultButtonModel/setPressed.java, gnu/testlet/javax/swing/JComboBox/ComboRobot.java, gnu/testlet/javax/swing/JComboBox/setEditor.java, gnu/testlet/javax/swing/JComboBox/setModel.java, gnu/testlet/javax/swing/JComboBox/setSelectedIndex.java, gnu/testlet/javax/swing/JComponent/getFont.java, gnu/testlet/javax/swing/JFrame/HeavyweightComponent.java, gnu/testlet/javax/swing/JInternalFrame/paramString.java, gnu/testlet/javax/swing/JLabel/paramString.java, gnu/testlet/javax/swing/JOptionPane/getInputMap.java, gnu/testlet/javax/swing/JProgressBar/paramString.java, gnu/testlet/javax/swing/JScrollBar/paramString.java, gnu/testlet/javax/swing/JSpinner/DefaultEditor/propertyChange.java, gnu/testlet/javax/swing/JSpinner/DefaultEditor/stateChanged.java, gnu/testlet/javax/swing/JSplitPane/paramString.java, gnu/testlet/javax/swing/JTable/AccessibleJTable/AccessibleJTableCell/getAccessibleRole.java, gnu/testlet/javax/swing/JTable/AccessibleJTable/AccessibleJTableHeaderCell/getAccessibleRole.java, gnu/testlet/javax/swing/JToolTip/paramString.java, gnu/testlet/javax/swing/JViewport/setView.java, gnu/testlet/javax/swing/UIManager/getUI.java, gnu/testlet/javax/swing/filechooser/FileView/getDescription.java, gnu/testlet/javax/swing/filechooser/FileView/getIcon.java, gnu/testlet/javax/swing/filechooser/FileView/getName.java, gnu/testlet/javax/swing/filechooser/FileView/getTypeDescription.java, gnu/testlet/javax/swing/filechooser/FileView/isTraversable.java, gnu/testlet/javax/swing/plaf/basic/BasicButtonUI/clearTextShiftOffset.java, gnu/testlet/javax/swing/plaf/basic/BasicButtonUI/defaultTextIconGap.java, gnu/testlet/javax/swing/plaf/basic/BasicButtonUI/defaultTextShiftOffset.java, gnu/testlet/javax/swing/plaf/basic/BasicButtonUI/getPropertyPrefix.java, gnu/testlet/javax/swing/plaf/basic/BasicButtonUI/getTextShiftOffset.java, gnu/testlet/javax/swing/plaf/basic/BasicButtonUI/setTextShiftOffset.java, gnu/testlet/javax/swing/plaf/basic/BasicCheckBoxMenuItemUI/getPropertyPrefix.java, gnu/testlet/javax/swing/plaf/basic/BasicCheckBoxUI/getPropertyPrefix.java, gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/createArrowButton.java, gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/createEditor.java, gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/createRenderer.java, gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/general.java, gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/getDefaultSize.java, gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/getDisplaySize.java, gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/getMinimumSize.java, gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/getPreferredSize.java, gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/layout.java, gnu/testlet/javax/swing/plaf/basic/BasicEditorPaneUI/getPropertyPrefix.java, gnu/testlet/javax/swing/plaf/basic/BasicFormattedTextFieldUI/getPropertyPrefix.java, gnu/testlet/javax/swing/plaf/basic/BasicMenuItemUI/getPropertyPrefix.java, gnu/testlet/javax/swing/plaf/basic/BasicMenuUI/getPropertyPrefix.java, gnu/testlet/javax/swing/plaf/basic/BasicPasswordFieldUI/getPropertyPrefix.java, gnu/testlet/javax/swing/plaf/basic/BasicRadioButtonMenuItemUI/getPropertyPrefix.java, gnu/testlet/javax/swing/plaf/basic/BasicRadioButtonUI/getPropertyPrefix.java, gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/constructor.java, gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/createDecreaseButton.java, gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/createIncreaseButton.java, gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/getMaximumSize.java, gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/getMaximumThumbSize.java, gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/getMinimumSize.java, gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/getMinimumThumbSize.java, gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/getPreferredSize.java, gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/installComponents.java, gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/installDefaults.java, gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/layoutContainer.java, gnu/testlet/javax/swing/plaf/basic/BasicTextAreaUI/getPropertyPrefix.java, gnu/testlet/javax/swing/plaf/basic/BasicTextFieldUI/getPropertyPrefix.java, gnu/testlet/javax/swing/plaf/basic/BasicTextPaneUI/getPropertyPrefix.java, gnu/testlet/javax/swing/plaf/basic/BasicToggleButtonUI/getPropertyPrefix.java, gnu/testlet/javax/swing/plaf/metal/MetalBorders/MenuBarBorder/borderInsets.java, gnu/testlet/javax/swing/plaf/metal/MetalButtonUI/getDisabledTextColor.java, gnu/testlet/javax/swing/plaf/metal/MetalButtonUI/getFocusColor.java, gnu/testlet/javax/swing/plaf/metal/MetalButtonUI/getSelectColor.java, gnu/testlet/javax/swing/plaf/metal/MetalComboBoxUI/createArrowButton.java, gnu/testlet/javax/swing/plaf/metal/MetalComboBoxUI/getDisplaySize.java, gnu/testlet/javax/swing/plaf/metal/MetalComboBoxUI/getMinimumSize.java, gnu/testlet/javax/swing/plaf/metal/MetalComboBoxUI/getPreferredSize.java, gnu/testlet/javax/swing/plaf/metal/MetalFileChooserUI/createFilterComboBoxModel.java, gnu/testlet/javax/swing/plaf/metal/MetalFileChooserUI/getApproveButton.java, gnu/testlet/javax/swing/plaf/metal/MetalFileChooserUI/getBottomPanel.java, gnu/testlet/javax/swing/plaf/metal/MetalFileChooserUI/getButtonPanel.java, gnu/testlet/javax/swing/plaf/metal/MetalRadioButtonUI/getDisabledTextColor.java, gnu/testlet/javax/swing/plaf/metal/MetalRadioButtonUI/getFocusColor.java, gnu/testlet/javax/swing/plaf/metal/MetalRadioButtonUI/getSelectColor.java, gnu/testlet/javax/swing/plaf/metal/MetalScrollBarUI/constructor.java, gnu/testlet/javax/swing/plaf/metal/MetalScrollBarUI/getMinimumThumbSize.java, gnu/testlet/javax/swing/plaf/metal/MetalScrollBarUI/getPreferredSize.java, gnu/testlet/javax/swing/plaf/metal/MetalScrollBarUI/installDefaults.java, gnu/testlet/javax/swing/plaf/metal/MetalScrollBarUI/layoutContainer.java, gnu/testlet/javax/swing/table/DefaultTableColumnModel/constructor.java, gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/getAccessibleRole.java, gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/getAccessibleValue.java, gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/getBackground.java, gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/getFont.java, gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/getForeground.java, gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/getLocale.java, gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/isFocusTraversable.java, gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/isVisible.java, gnu/testlet/javax/swing/text/AbstractDocument/getDocumentProperties.java, gnu/testlet/javax/swing/text/FlowView/getFlowAxis.java, gnu/testlet/javax/swing/text/FlowView/FlowStrategy/adjustRow.java, gnu/testlet/javax/swing/text/GapContent/constructors.java, gnu/testlet/javax/swing/text/ZoneView/createZone.java, gnu/testlet/javax/swing/text/ZoneView/getMaximumZoneSize.java, gnu/testlet/javax/swing/text/ZoneView/getViewIndexAtPosition.java, gnu/testlet/javax/swing/text/ZoneView/isZoneLoaded.java, gnu/testlet/javax/swing/text/ZoneView/loadChildren.java, gnu/testlet/javax/swing/text/ZoneView/setMaxZonesLoaded.java, gnu/testlet/javax/swing/text/ZoneView/setMaximumZoneSize.java, gnu/testlet/javax/swing/text/ZoneView/unloadZone.java, gnu/testlet/javax/swing/text/ZoneView/zoneWasLoaded.java, gnu/testlet/javax/swing/text/html/parser/AttributeList/AttributeListTest2.java, gnu/testlet/javax/swing/text/html/parser/DTD/DtdTest2.java, gnu/testlet/javax/swing/text/html/parser/ParserDelegator/Entities2.java, gnu/testlet/javax/swing/text/html/parser/ParserDelegator/Text2.java, gnu/testlet/javax/swing/text/html/parser/TagElement/TagElementTest2.java: Likewise 2008-05-19 Christian Thalinger * RunnerProcess.java (runAndReport): Moved XML writing from here... (main): ...to here, so the XML file is only written once. 2008-05-19 Christian Thalinger * gnu/testlet/TestReport.java (esc): Filter invalid XML character from java.util.regex.Pattern.pcrematches. 2008-05-15 Andrew John Hughes * gnu/testlet/java/lang/String/PR35482.java: Test for erroneous lowercasing. 2008-05-12 Andrew John Hughes * gnu/testlet/java/lang/Integer/parseInt.java: Check that parsing +x returns x. 2008-05-12 Andrew John Hughes * gnu/testlet/java/text/SimpleDateFormat/regress.java: Make output more verbose. * gnu/testlet/java/util/regex/Regions.java: New test. 2008-04-18 Mario Torre * gnu/testlet/java/util/logging/Logger/ConcurrentLogging.java: test for PR35974. 2008-03-26 Mario Torre * gnu/testlet/java/util/concurrent/CopyOnWriteArrayList/SubListTest.java (test): new test implemented. 2008-03-25 Mario Torre * gnu/testlet/java/util/concurrent/CopyOnWriteArrayList/Clone.java: New test. * gnu/testlet/java/util/concurrent/CopyOnWriteArrayList/Equals.java: likewise. 2008-03-12 David Daney * gnu/testlet/java/net/Socket/jdk14.java (test): Add 'bind to any local address' test. 2008-03-05 Roman Kennke * gnu/testlet/javax/swing/text/AbstractDocument/getDocumentProperties.java: Fixed copyright notice. * gnu/testlet/javax/swing/text/Utilities/getBreakLocation.java: Removed bogus test. 2008-02-29 Andrew John Hughes * gnu/testlet/java/lang/StringBuffer/PR34840.java: New test for bug PR classpath/34840. 2008-02-10 Andrew John Hughes * gnu/testlet/javax/management/remote/TargetedNotificationTest.java: Avoid using null for the event object. 2008-02-10 Andrew John Hughes * gnu/testlet/javax/management/remote/TargetedNotificationTest.java: New test. * gnu/testlet/javax/management/remote/NotificationResultTest.java: Likewise. 2007-12-31 Andrew John Hughes * gnu/testlet/javax/rmi/ssl/SslRMIClientSocketFactory/PR34582.java: Check that an instance can be created. 2007-12-25 Andrew John Hughes * gnu/testlet/java/awt/Desktop/PR34580.java: Check that isDesktopSupported() is accessible. 2007-12-25 Andrew John Hughes * gnu/testlet/javax/swing/JFrame/PR34577.java: Check that the root pane can be changed by a subclass. 2007-12-23 Andrew John Hughes * gnu/testlet/java/awt/Container/PR34078.java: Test for this bug. 2007-08-22 Andrew John Hughes * gnu/testlet/java/util/EnumSet/Colour.java: Test enumeration. * gnu/testlet/java/util/EnumSet/ComplementOf.java: New test. 2007-11-24 Mario Torre * gnu/testlet/java/util/concurrent/CopyOnWriteArrayList: new package. * gnu/testlet/java/util/concurrent/CopyOnWriteArrayList/RemoveAllTest.java: test. * gnu/testlet/java/util/concurrent/CopyOnWriteArrayList/RemoveTest.java: likewise. * gnu/testlet/java/util/concurrent/CopyOnWriteArrayList/AddAllAbsentTest.java: likewise. * gnu/testlet/java/util/concurrent/CopyOnWriteArrayList/SubListTest.java: likewise. * gnu/testlet/java/util/concurrent/CopyOnWriteArrayList/RetainAllTest.java: likewise. * gnu/testlet/java/util/concurrent/CopyOnWriteArrayList/TestIterators.java: likewise. * gnu/testlet/java/util/concurrent/CopyOnWriteArrayList/AddAllTest.java: likewise. 2007-10-03 Steve McKay * gnu/testlet/java/awt/Component/keyPressTest.java: Fixed test so event is not created and dispatched. Completely waits for the frame to receive and respond keypress events. 2007-09-12 Joshua Sumali * Makefile.am: Added source files for 'make dist' target. * Makefile.in: Regenerated. * aclocal.m4: Regenerated. * configure.in: Added tar-pax check, needed for long filenames included in the dist tarball. * configure: Regenerated. 2007-07-24 Joshua Sumali * gnu/testlet/java/util/logging/XMLFormatter/formatMessage.java: (EXPECTED_PREFIX): Fixed expected string. 2007-07-24 Joshua Sumali * gnu/testlet/java/net/HttpURLConnection/timeout.java: (testConnectTimeout): Fixed test. 2007-07-18 Joshua Sumali * gnu/testlet/java/lang/Character/CharInfo.java: Added a new instance variable to store Unicode character code * gnu/testlet/java/lang/Character/unicode.java: (test): Changed the Unicode file to use from version 3 to 4 * gnu/testlet/java/lang/Character/UnicodeBase.java: Changed implementation of the test to work with Unicode version 4. * gnu/testlet/java/lang/Character/UnicodeData-4.0.0.txt: Added new Unicode data file (version 4). 2007-07-13 Joshua Sumali * gnu/testlet/java/text/SimpleDateFormat/getDateFormatSymbols.java (test): Fixed incorrect test. * gnu/testlet/java/text/SimpleDateFormat/setDateFormatSymbols.java (test): Fixed incorrect test. 2007-07-13 Joshua Sumali * gnu/testlet/java/util/GregorianCalendar/internal.java (test): Fixed incorrect test. 2007-07-10 Joshua Sumali * gnu/testlet/java/beans/Expression/check.java: (test): Fixed incorrect test. 2007-07-09 Joshua Sumali * gnu/testlet/java/text/SimpleDateFormat/attribute.java: (test): Added a timezone change to match the test date * gnu/testlet/java/text/SimpleDateFormat/parse.java: (test): Added a timezone change and Locale to match test * gnu/testlet/java/text/SimpleDateFormat/Cloning.java: (test): Changed equality operator from != to .equals 2007-07-07 Mario Torre * gnu/testlet/javax/sound/sampled/AudioProperties.java: (test): added test for AU audio files. (testAU): new test. (getAudioStream): new support method to load sound file and return audio streams accordingly. (testWav): refactored. (processAUStream): new helper method, part of the AU test. * gnu/testlet/javax/sound/sampled/data/k3b_success1.au: new audio file. * README: added k3b_success1.au to the "NOTES" section. 2007-07-06 Mario Torre * README: added "NOTES" section. 2007-07-06 Mario Torre * gnu/testlet/javax/sound/sampled: new package. * gnu/testlet/javax/sound/sampled/AudioProperties.java: new file. * gnu/testlet/javax/sound/sampled/data/k3b_success1.wav: new file. This is a binary audio file needed by the test. The file is from the k3b-1.0.1-1.fc7.2 package (GPL, fedora 7) 2007-07-03 Tania Bento * gnu/testlet/java/lang/Integer/parseInt.java: (test): Added new test. 2007-06-29 Tania Bento * gnu/testlet/java/lang/Integer/parsetInt.java: (test): Fixed incorrect test. 2007-06-19 Andrew John Hughes * gnu/testlet/javax/management/MBeanServerInvocationHandler/ChildMXBean.java: Add missing file. 2007-06-19 Lillian Angel * gnu/testlet/java/lang/Character/Blocks15.java (test): Removed checks. SURROGATES_AREA is deprecated and will cause fails in 1.5. * gnu/testlet/java/lang/Character/classify12.java (test): Fixed incorrect test. * gnu/testlet/java/lang/Character/getType.java (test): Removed incorrect checks. Encoding has changed in 1.5. 2007-06-19 Lillian Angel * gnu/testlet/java/math/BigDecimal/setScale.java (test): Changed constant used. * gnu/testlet/java/math/BigDecimal/construct.java (test): Added try/catch block. * gnu/testlet/java/math/BigDecimal/DiagBigDecimal.java (diagadd): Fixed expected value. toString has changed in JDK 1.5.0 (diagmin): Likewise. (diagmax): Likewise. (diagmultiply): Likewise. (diagmovepointleft): Likewise. (diagmovepointright): Likewise. (diagscale): Likewise. 2007-06-19 Tania Bento * gnu/testlet/java/text/Collator/GetSet.java: Fixed failing test. * gnu/testlet/java/text/DateFormatSymbols/Test.java: Likewise. * gnu/testlet/java/text/DecimalFormat/MaximumAndMinimumDigits.java: Likewise. * gnu/testlet/java/text/DecimalFormat/digits.java: Likewise. * gnu/testlet/java/text/DecimalFormat/setDecimalFormatSymbols.java: Likewise. * gnu/testlet/java/text/DecimalFormat/toPattern.java: Likewise. * gnu/testlet/java/text/DecimalFormat/toPattern14.java: Likewise. 2007-06-19 Lillian Angel * gnu/testlet/java/io/FilePermission/simple.java: Removed invalid test. Bug has been fixed in the JDK. 2007-06-18 Lillian Angel * gnu/testlet/java/sql/Array/ArrayTest.java: Added missing functions * gnu/testlet/java/sql/Blob/BlobTest.java: Likewise * gnu/testlet/java/sql/Clob/ClobTest.java: Likewise 2007-06-18 Lillian Angel * gnu/testlet/java/math/BigInteger/TestOfToByteArray.java: Removed verbose call to prevent compilation error. 2007-06-18 Lillian Angel * gnu/testlet/java/util/Properties/AcuniaPropertiesTest.java: Added casts to prevent compilation errors. 2007-06-18 Lillian Angel * gnu/testlet/java/util/Currency/Canada.java: * gnu/testlet/java/util/Currency/CanadaFrench.java: * gnu/testlet/java/util/Currency/China.java: * gnu/testlet/java/util/Currency/France.java: * gnu/testlet/java/util/Currency/Germany.java: * gnu/testlet/java/util/Currency/Italy.java: * gnu/testlet/java/util/Currency/Japan.java: * gnu/testlet/java/util/Currency/Korea.java: * gnu/testlet/java/util/Currency/PRC.java: * gnu/testlet/java/util/Currency/Taiwan.java: * gnu/testlet/java/util/Currency/UK.java: Set default locale. 2007-06-15 Joshua Sumali * gnu/testlet/locales/LocaleTest.java: Fixed TimeZone issue. 2007-06-15 Joshua Sumali * gnu/testlet/locales/LocaleTest.java: Fixed language errors. Now passes on openJDK. 2007-05-30 Mark Wielaard * gnu/testlet/java/io/FileOutputStream/append.java: New test. 2007-04-18 Gary Benson * gnu/testlet/java/util/GregorianCalendar/internal.java: New test. 2007-04-12 Roman Kennke * gnu/testlet/java/nio/CharBuffer/CharSequenceWrapper.java: New testcase for testing wrapped CharSequences. 2007-04-12 Gary Benson * gnu/testlet/java/util/GregorianCalendar/weekOfYear.java: New test. 2007-04-12 Gary Benson * gnu/testlet/java/util/GregorianCalendar/dayOfWeekInMonth.java: Comment fix. 2007-04-09 Andrew John Hughes * gnu/testlet/javax/management/ObjectName/applyJDK6.java: Application tests for 1.6. * gnu/testlet/javax/management/ObjectName/Parsing.java: More parse tests for 1.5. 2007-04-07 Mark Wielaard * Harness.java (compileStringBase): Add -1.5. 2007-04-07 Andrew John Hughes * gnu/testlet/javax/management/ObjectName/Parsing.java: Parse tests for 1.5. * gnu/testlet/javax/management/ObjectName/ParsingJDK6.java: Parse tests for 1.6. * gnu/testlet/javax/management/MBeanServerInvocationHandler/MBeanProxy.java: Add MXBean conversion tests. * gnu/testlet/javax/management/MBeanServerInvocationHandler/TestC.java: Likewise. * gnu/testlet/javax/management/MBeanServerInvocationHandler/TestCMXBean.java: Likewise. 2007-04-05 Gary Benson * gnu/testlet/java/util/GregorianCalendar/dayOfWeekInMonth.java: Test in the opposite direction too. 2007-04-05 Gary Benson * gnu/testlet/java/util/GregorianCalendar/first.java: Remove "day one is in week one" checks. * gnu/testlet/java/util/GregorianCalendar/dayOfWeekInMonth.java: New test. 2007-04-03 Gary Benson * gnu/testlet/java/util/Calendar/dstOffset.java: New test. 2007-03-30 Andrew John Hughes * gnu/testlet/javax/management/openmbean/CompositeDataInvocationHandler/Person.java: Interface for testing. * gnu/testlet/javax/management/openmbean/CompositeDataInvocationHandler/Test.java: Test javax.management.openmbean.CompositeDataInvocationHandler. 2007-03-11 Andrew John Hughes * gnu/testlet/javax/management/openmbean/ArrayType/Constructor1.java: New test for the first constructor. * gnu/testlet/javax/management/openmbean/ArrayType/Constructor2.java: New test for the second constructor. * gnu/testlet/javax/management/openmbean/ArrayType/Equals.java: New test for equals(Object). * gnu/testlet/javax/management/openmbean/ArrayType/GetArrayType.java: New test for getArrayType(OpenType). * gnu/testlet/javax/management/openmbean/ArrayType/GetPrimitiveArrayType.java: New test for getPrimitiveArrayType(Class). * gnu/testlet/javax/management/openmbean/ArrayType/HashCode.java: New test for hashCode(). * gnu/testlet/javax/management/openmbean/ArrayType/IsPrimitiveArray.java: New test for isPrimitiveArray(). * gnu/testlet/javax/management/openmbean/ArrayType/IsValue.java: New test for isValue(). 2007-03-05 Andrew John Hughes * gnu/testlet/javax/management/MBeanServerInvocationHandler/Colour.java: Test enumeration. * gnu/testlet/javax/management/MBeanServerInvocationHandler/MBeanProxy.java: Test for proxying. * gnu/testlet/javax/management/MBeanServerInvocationHandler/Test.java: Implementation of TestMBean. * gnu/testlet/javax/management/MBeanServerInvocationHandler/TestC.java: Implementation of TestCMXBean. * gnu/testlet/javax/management/MBeanServerInvocationHandler/TestCMXBean.java: Interface for an MXBean for conversion testing. * gnu/testlet/javax/management/MBeanServerInvocationHandler/TestMBean.java: Interface for a test bean. * gnu/testlet/javax/management/MBeanServerInvocationHandler/TestX.java: Implementation of TestXMBean. * gnu/testlet/javax/management/MBeanServerInvocationHandler/TestXMBean.java: Interface for a test bean that extends Object's methods. * gnu/testlet/javax/management/MBeanServerPermission/Constructor.java: Test for MBeanServerPermission. 2007-02-22 Gary Benson * gnu/testlet/java/util/TimeZone/zdump.java: New test. 2007-02-22 Gary Benson * gnu/testlet/java/util/SimpleTimeZone/equals.java: New tests. * gnu/testlet/java/util/SimpleTimeZone/hasSameRules.java: Likewise. * gnu/testlet/java/util/SimpleTimeZone/hashCode.java: Likewise. * gnu/testlet/java/util/SimpleTimeZone/inDaylightTime.java: Likewise. 2007-02-20 Gary Benson * gnu/testlet/javax/management/ObjectName/apply.java: New test. 2007-02-12 Tom Tromey * gnu/testlet/java/net/ServerSocket/BasicSocketServer.java (init): Print exception. (run): Likewise. * Harness.java (printHelpMessage): Typo fix. 2007-02-09 Mario Torre * gnu/testlet/java/io/File/ReadMethods.java: (test): new test. * gnu/testlet/java/io/File/ExecuteMethods.java: (test): likewise. * gnu/testlet/java/io/File/WriteMethods.java: (test): likewise. 2007-02-06 Gary Benson * gnu/testlet/java/io/FileInputStream/security.java: Tagged. * gnu/testlet/java/io/FileOutputStream/security.java: Likewise. * gnu/testlet/java/io/FilePermission/traversal2.java: Likewise. * gnu/testlet/java/io/FilePermission/traversal.java: Likewise. * gnu/testlet/java/io/ObjectInputStream/security.java: Likewise. * gnu/testlet/java/io/ObjectOutputStream/security.java: Likewise. * gnu/testlet/java/io/RandomAccessFile/security.java: Likewise. * gnu/testlet/java/lang/ClassLoader/security.java: Likewise. * gnu/testlet/java/lang/Class/security.java: Likewise. * gnu/testlet/java/lang/reflect/AccessibleObject/security.java: Likewise. * gnu/testlet/java/lang/Runtime/security.java: Likewise. * gnu/testlet/java/lang/System/security.java: Likewise. * gnu/testlet/java/lang/ThreadGroup/insecurity.java: Likewise. * gnu/testlet/java/lang/ThreadGroup/security.java: Likewise. * gnu/testlet/java/lang/Thread/insecurity.java: Likewise. * gnu/testlet/java/lang/Thread/security.java: Likewise. * gnu/testlet/java/net/DatagramSocket/security.java: Likewise. * gnu/testlet/java/net/InetAddress/security.java: Likewise. * gnu/testlet/java/net/NetworkInterface/security.java: Likewise. * gnu/testlet/java/net/ServerSocket/security.java: Likewise. * gnu/testlet/java/net/SocketPermission/argument.java: Likewise. * gnu/testlet/java/net/SocketPermission/implies.java: Likewise. * gnu/testlet/java/net/SocketPermission/serialization.java: Likewise. * gnu/testlet/java/net/Socket/security.java: Likewise. * gnu/testlet/java/net/URLClassLoader/security.java: Likewise. * gnu/testlet/java/net/URL/security.java: Likewise. * gnu/testlet/java/security/AccessController/contexts.java: Likewise. 2007-02-05 Tom Tromey * gnu/testlet/java/lang/ProcessBuilder/simple.java: New file. 2007-01-18 Ito Kazumitsu * gnu/testlet/java/text/NumberFormat/position.java: New Test 2007-01-09 Tania Bento * gnu/testlet/java/awt/AWTPermission/constructor.java: New test. 2007-01-07 Roman Kennke * gnu/testlet/javax/swing/JComboBox/getEditor.java (TestComboBox): New inner class for testing. (test): Moved code to testDefault() and add testPR30337(). (testDefault): Code moved from test() to here. (testPR30337): New test. 2007-01-03 Francis Kung * gnu/testlet/java/util/Arrays/binarySearch.java: (testByte): Added check for empty array. (testChar): Likewise. (testDouble): Likewise. (testFloat): Likewise. (testInt): Likewise. (testLong): Likewise. (testObject): Likewise. (testShort): Likewise. 2007-01-03 Tania Bento * gnu/testlet/java/awt/CardLayout/testMaximumLayoutSize.java: Added a new test. 2007-01-02 Audrius Meskauskas * javax/swing/text/html/parser/ParserDelegator/Text3.java: New test. * javax/swing/text/html/parser/ParserDelegator/Text4.java: New test. 2007-01-02 Audrius Meskauskas * .settings/org.eclipse.jdt.core.prefs: Set the compiler compliance level to 1.5 2007-01-02 Audrius Meskauskas * gnu/testlet/javax/swing/event/EventListenerList/add.java: Cast L.class into Class. 2007-01-02 Audrius Meskauskas * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/ Entity_Test.java: Removed (moved) * javax/swing/text/html/parser/ParserDelegator/Entities2.java: New test. 2007-01-01 Audrius Meskauskas * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/ AttributeList_test.java, gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/ DTD_test.java, gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/ TagElement_Test.java, gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/ Text.java: Removed (tests moved). gnu/testlet/javax/swing/text/html/parser/AttributeList/ AttributeListTest2.java, gnu/testlet/javax/swing/text/html/parser/DTD/DtdTest2.java, gnu/testlet/javax/swing/text/html/parser/ParserDelegator/Text2.java, gnu/testlet/javax/swing/text/html/parser/TagElement/ TagElementTest2.java: New files. 2007-01-01 Audrius Meskauskas * gnu/testlet/javax/swing/text/html/parser/ParserDelegator/Entities.java: New test. 2006-12-28 Roman Kennke * gnu/testlet/TestHarness.java (check(double,double,double)): New method. Tests two double values with a certain threshold. 2006-12-27 Mark Wielaard * Makefile.am (JAVACFLAGS): Use -1.5. * Makefile.in: Regenerated. * gnu/testlet/java/awt/Component/getListeners.java: Disable non-compiling test. * gnu/testlet/javax/swing/table/DefaultTableColumnModel/ getListeners.java: Likewise. * gnu/testlet/java/awt/Container/getListeners.java: Likewise. * gnu/testlet/javax/swing/DefaultListSelectionModel/ getListeners.java: Likewise. * gnu/testlet/javax/swing/JComponent/getListeners.java: Likewise. * gnu/testlet/javax/swing/event/EventListenerList/add.java: Use more specific local variable types. * gnu/testlet/javax/swing/event/EventListenerList/ getListenerCount.java: Likewise. * gnu/testlet/javax/swing/event/EventListenerList/ getListenerList.java: Likewise. * gnu/testlet/javax/swing/event/EventListenerList/getListeners.java: Likewise. Disable non-compiling test. * gnu/testlet/javax/swing/event/EventListenerList/remove.java: Likewise. * gnu/testlet/java/lang/Double/compareTo.java: Add Comparable cast. * gnu/testlet/java/lang/Float/compareTo.java: Likewise. * gnu/testlet/java/lang/Integer/compareTo.java: Likewise. * gnu/testlet/java/math/BigDecimal/DiagBigDecimal.java: Likewise. * gnu/testlet/java/math/BigInteger/compareTo.java: Likewise. * gnu/testlet/java/util/Date/compareTo.java: Likewise. * gnu/testlet/javax/imageio/spi/ServiceRegistry/setOrdering.java: Use correct class literal. 2006-12-08 Tania Bento * gnu/testlet/java/awt/ScrollPane/doLayout.java: New test. 2006-12-08 Tania Bento * gnu/testlet/java/awt/ScrollPane/getScrollPosition.java: New test. * gnu/testlet/java/awt/ScrollPane/setScrollPosition.java: New test. 2006-12-07 David Daney * gnu/testlet/java/net/HttpURLConnection/timeout.java: New test. 2006-12-07 Mark Wielaard * gnu/testlet/java/net/URL/URLTest.java: Add test for jar base with full http spec. 2006-12-07 Mario Torre * gnu/testlet/java/text/RuleBasedCollator/CollatorTests.java (basicCompare): New class. (orderComparision): New Test (test): Default entry for tests. * gnu/testlet/java/text/RuleBasedCollator/VeryBasic.java (test): Removed debug output. * gnu/testlet/java/text/DecimalFormat/format.java (testLocale): Added tests case for locale other than US. 2006-12-06 Thomas Fitzsimmons * gnu/testlet/java/awt/ScrollPane/add.java: Expand test. 2006-12-06 Francis Kung * gnu/testlet/java/awt/geom/Rectangle2D/getBounds.java: New test. 2006-12-06 Tania Bento * gnu/testlet/javax/swing/border/CompoundBorder/isBorderOpaque.java: Added new tests. 2006-12-06 Tania Bento * gnu/testlet/javax/swing/border/CompoundBorder.java: (isBorderOpaque): New test. 2006-12-05 Thomas Fitzsimmons * gnu/testlet/java/awt/ScrollPane/add.java: New test. 2006-12-01 Mario Torre * gnu/testlet/java/text/DecimalFormat/format.java (testGeneral): (testLocale): new tests. (test): enable new tests. 2006-11-28 Dalibor Topic * gnu/testlet/java/lang/Double/DoubleTest.java: Added test for Double.toString(Double.MIN_VALUE). * gnu/testlet/java/lang/Float/FloatTest.java: Added test for Float.toString(Float.MIN_VALUE). 2006-11-28 Roman Kennke * gnu/testlet/javax/swing/border/TitledBorder/getBorderInsets.java: Fixed test for differentiation between font ascent+descent and height. 2006-11-28 Roman Kennke * gnu/testlet/java/beans/PropertyChangeSupport/firePropertyChange.java: New test. * gnu/testlet/javax/swing/JComponent/putClientProperty.java: Added check for how setting a null property fires an event or not. 2006-11-27 Francis Kung * gnu/testlet/java/awt/image/Raster/createChild.java (createRaster): Add harness parameter, ensure that returned raster is not writable. (testData): Add check for class of child raster. * gnu/testlet/java/awt/image/Raster/MyRaster.java: New file. * gnu/testlet/java/awt/image/WritableRaster/createChild.java: New file. 2006-11-27 Mark Wielaard * gnu/testlet/java/util/Vector/AcuniaVectorTest.java: Don't demand a NullPointerException when doing a removeAll(null) or a retainAll(null) on an empty Vector. 2006-11-26 Mark Wielaard * RunnerProcess.java (getStackTraceString): Use whole exception message, not just the class name. 2006-11-26 Dalibor Topic * gnu/testlet/ResourceNotFoundException.java (serialVersionUID): Added to fix ecj warning. 2006-11-26 Paul Jenner * Makefile.am (harness_files): Add VisualTestlet.java. * Makefile.in: Regenerated. 2006-11-26 Raif S. Naffah * gnu/testlet/java/util/jar/JarFile/TestOfManifest.java (ENTRYNAME): New field. (test): Call checkCertificates(). (checkCertificates): New method. (readEntries): Re-factored to use read1Entry(). (read1Entry): New method. 2006-11-24 Tania Bento * gnu/testlet/java/awt/font/TextHitInfo/afterOffset.java: New file. * gnu/testlet/java/awt/font/TextHitInfo/beforeOffset.java: New file. * gnu/testlet/java/awt/font/TextHitInfo/equals.java: New file. * gnu/testlet/java/awt/font/TextHitInfo/getCharIndex: New file. * gnu/testlet/java/awt/font/TextHitInfo/getInsertionIndex: New file. * gnu/testlet/java/awt/font/TextHitInfo/getOtherHit: New file. * gnu/testlet/java/awt/font/TextHitInfo/getOffsetHit: New file. * gnu/testlet/java/awt/font/TextHitInfo/hashCode: New file. * gnu/testlet/java/awt/font/TextHitInfo/isLeadingEdge.java: New file. * gnu/testlet/java/awt/font/TextHitInfo/leading.java: New file. * gnu/testlet/java/awt/font/TextHitInfo/toString.java: New file. * gnu/testlet/java/awt/font/TextHitInfo/trailing.java: New file. 2006-11-24 David Gilbert * gnu/testlet/java/beans/beancontext/BeanContextServicesSupport/getChildBeanContextServicesListener.java: New file, * gnu/testlet/java/beans/beancontext/BeanContextServicesSupport/MyBeanContextServicesSupport.java: New file. 2006-11-23 Mario Torre * gnu/testlet/java/text/DecimalFormat/formatToCharacterIterator.java (test): Code reformatted, added test for Format.Field attributes. * gnu/testlet/java/text/DecimalFormat/formatExp.java (test): New tests. * gnu/testlet/java/text/DecimalFormat/applyPattern.java (test): fix broken test, plus explicity set the locale for the test. * gnu/testlet/javax/swing/text/InternationalFormatter/InternationalFormatterTest.java: fix test tag, moved to 1.4. 2006-11-23 David Gilbert * gnu/testlet/java/beans/beancontext/BeanContextSupport/MyBeanContextSupport.java (deserializeX): New method, (serializeX): New method, * gnu/testlet/java/beans/beancontext/BeanContextSupport/serialize.java: New test. 2006-11-22 David Gilbert * gnu/testlet/java/beans/beancontext/BeanContextSupport/toArray.java: New file. 2006-11-22 Tania Bento * gnu/testlet/javax/swing/JRootPane/setLayeredPane.java: New test. 2006-11-20 Tania Bento * gnu/testlet/javax/swing/JSlider/setLabelTable.java: Added a new test. 2006-11-20 Marco Trudel * gnu/testlet/java/util/jar/JarFile/TestOfManifest.java: New test. * gnu/testlet/java/util/jar/JarFile/jfaceSmall.jar: New (data) file. 2006-11-17 Gary Benson * gnu/testlet/java/net/DatagramSocket/security.java: New test. 2006-11-16 David Gilbert * gnu/testlet/java/beans/beancontext/BeanContextSupport/getChildBeanContextMembershipListener.java: New test, * gnu/testlet/java/beans/beancontext/BeanContextSupport/getChildPropertyChangeListener.java: New test, * gnu/testlet/java/beans/beancontext/BeanContextSupport/getChildSerializable.java: New test, * gnu/testlet/java/beans/beancontext/BeanContextSupport/getChildVetoableChangeListener.java: New test, * gnu/testlet/java/beans/beancontext/BeanContextSupport/getChildVisibility.java: New test, * gnu/testlet/java/beans/beancontext/BeanContextSupport/MyBeanContextSupport.java (getChildBeanContextMembershipListenerX): New method, (getChildPropertyChangeListenerX): New method, (getChildSerializableX): New method, (getChildVetoableChangeListenerX): New method, (getChildVisibilityX): New method. 2006-11-16 David Gilbert * gnu/testlet/java/beans/beancontext/BeanContextSupport/setDesignTime.java: New test. 2006-11-16 David Gilbert * gnu/testlet/java/beans/DesignMode/constants.java: New file. 2006-11-11 David Gilbert * gnu/testlet/java/beans/beancontext/BeanContextSupport/getChildBeanContextChild.java: New file, * gnu/testlet/java/beans/beancontext/BeanContextSupport/MyBeanContextSupport.java: New file. 2006-11-10 David Gilbert * gnu/testlet/java/util/Collections/sort.java: New file. 2006-11-10 Gary Benson * gnu/testlet/java/net/Socket/security.java: Removed more unused imports. 2006-11-10 Gary Benson * gnu/testlet/java/net/ServerSocket/security.java: Always use localhost regardless of the actual hostname of the address being listened on. * gnu/testlet/java/net/Socket/security.java: Removed an unused import. 2006-11-09 Tania Bento * gnu/testlet/javax/swing/JLabel/constructor.java: Added new tests. 2006-11-09 David Gilbert * gnu/testlet/java/beans/beancontext/BeanContextSupport/constructors.java: New test, * gnu/testlet/java/beans/beancontext/BeanContextSupport/getBeanContextPeer.java: New test. 2006-11-09 David Gilbert * gnu/testlet/java/beans/SimpleBeanInfo/getAdditionalBeanInfo.java: New file, * gnu/testlet/java/beans/SimpleBeanInfo/getBeanDescriptor.java: New file, * gnu/testlet/java/beans/SimpleBeanInfo/getDefaultEventIndex.java: New file, * gnu/testlet/java/beans/SimpleBeanInfo/getDefaultPropertyIndex.java: New file, * gnu/testlet/java/beans/SimpleBeanInfo/getEventSetDescriptors.java: New file, * gnu/testlet/java/beans/SimpleBeanInfo/getIcon.java: New file, * gnu/testlet/java/beans/SimpleBeanInfo/loadImage.java: New file, * gnu/testlet/java/beans/SimpleBeanInfo/MySimpleBeanInfo.java: New file, * gnu/testlet/java/beans/SimpleBeanInfo/testImage1.gif: New file. 2006-11-07 Tania Bento * gnu/testlet/java/awt/FlowLayout/minimumLayoutSize.java: New test. 2006-11-06 Tania Bento * gnu/testlet/java/awt/TextComponent/setSelectionStart.java: New test. 2006-11-06 Tania Bento * gnu/testlet/java/awt/TextField/getMinimumSize.java: New test. * gnu/testlet/java/awt/TextField/getPreferredSize.java: New test. 2006-11-03 Tania Bento * gnu/testlet/java/awt/TextArea/getMinimumSize.java: New test. * gnu/testlet/java/awt/TextArea/getPreferredSize.java: New test. 2006-11-03 Audrius Meskauskas * gnu/testlet/javax/swing/text/html/parser/ParserDelegator/ SimpleParsing.java: New test. 2006-11-03 Tania Bento * gnu/testlet/java/awt/event/ComponentEvent/paramString.java: Changed tag documentation to JDK1.1. 2006-11-03 Tania Bento * gnu/testlet/java/awt/event/ComponentEvent/paramString.java: New test. 2006-11-01 Tania Bento * gnu/testlet/java/awt/ScrollPaneAdjustable/paramString.java: New test. 2006-11-01 Tania Bento * gnu/testlet/java/awt/GridBagLayout/toString.java: New test. 2006-11-01 Tania Bento * gnu/testlet/javax/swing/JTextField/fireActionPerformed.java: Added a new test. 2006-10-31 Tania Bento * gnu/testlet/javax/swing/JTextField/fireActionPerformed.java: New test. 2006-10-30 Roman Kennke * gnu/testlet/java/awt/dnd/DragGestureRecognizer/resetRecognizer.java: New test. 2006-10-30 Roman Kennke * gnu/testlet/java/awt/datatransfer/DataFlavor/readExternal.java, * gnu/testlet/java/awt/datatransfer/DataFlavor/writeExternal.java: New tests. 2006-10-28 Roman Kennke * gnu/testlet/javax/swing/TransferHandler/importData.java: New test. 2006-10-25 Tania Bento * gnu/testlet/java/awt/Dialog/defaultProperties.java: New test. * gnu/testlet/java/awt/FileDialog/defaultProperties.java: New test. * gnu/testlet/java/awt/FileDialog/setFile.java: New test. 2006-10-24 Tania Bento * gnu/testlet/java/awt/Scrollbar/testSetValues: Added a new test. * gnu/testlet/java/awt/Scrollbar/testSetBlockIncrement: Added a new test. * gnu/testlet/java/awt/Scrollbar/testSetUnitIncrement: Added a new test. 2006-10-23 Raif S. Naffah * gnu/testlet/gnu/javax/crypto/jce/TestOfCipherOutputStream.java: New test. 2006-10-21 Audrius Meskauskas * gnu/testlet/java/awt/image/BufferedImage/getSetRgb1Pixel.java: New test. 2006-10-20 Tania Bento * gnu/testlet/java/awt/Scrollbar/testSetBlockIncrement: New test. * gnu/testlet/java/awt/Scrollbar/testSetValues.java: New test. * gnu/testlet/java/awt/Scrollbar/testSetUnitIncrement: New test. 2006-10-20 Robert Schuster * Harness.java: Added vmExtra field. (setupHarness): Examine -vmprefix argument. (initProcess): Use vmPrefix field if non-null. * README: Added info about -vmprefix switch. 2006-10-19 Francis Kung * gnu/testlet/java/awt/image/BufferedImage/constants.java: New test. 2006-10-18 Tania Bento * gnu/testlet/java/awt/CardLayout/testMaximumLayoutSize.java: New test. * gnu/testlet/java/awt/CardLayout/testMinimumLayoutSize.java: New test. 2006-10-17 Roman Kennke * gnu/testlet/javax/swing/TransferHandler/exportToClipboard.java: New test. 2006-10-17 Roman Kennke * gnu/testlet/javax/swing/TransferHandler/createTransferable.java: New test. 2006-10-17 Francis Kung * gnu/testlet/java/awt/image/BufferedImage/getSubimage.java, * gnu/testlet/java/awt/image/Raster/createChild.java, * gnu/testlet/java/awt/image/WritableRaster/createWritableChild.java: New tests. 2006-10-16 Roman Kennke * gnu/testlet/javax/swing/TransferHandler/canImport.java: New test. 2006-10-16 Roman Kennke * gnu/testlet/javax/swing/JLabel/AccessibleJLabel/getCharacterBounds.java, * gnu/testlet/javax/swing/JLabel/AccessibleJLabel/getIndexAtPoint.java: New tests. 2006-10-14 Roman Kennke * gnu/testlet/javax/swing/ToolTipManager/DynamicToolTipTest.java: New test. This is a regression test for http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27957 . 2006-10-13 Tania Bento * gnu/testlet/java/awt/ScrollPane/testSetLayout.java: New test. 2006-10-12 Roman Kennke * Harness.java (InputPiperThread): New inner class. Forwards the input from the outside process to the inside (test) process. (initProcess): Set up piping. (printHelpMessage): Added description of -interactive option. * RunnerProcess.java (interactive): New field. This is set to true when we are running interactive tests only. (main): Interpret -interactive option. (runtest): Filter tests based on the -interactive flag. * gnu/testlet/VisualTestlet.java: New class. This is the base class for visual (interactive) tests. * gnu/testlet/javax/swing/JMenuItem/DragSelectTest.java: New interactive test. 2006-10-13 Thomas Fitzsimmons * gnu/testlet/javax/swing/DefaultComboBoxModel/setSelectedItem.java (test): Correct "item not in the list" case. 2006-10-11 Gary Benson * gnu/testlet/java/net/URL/security.java: Add a test I missed. 2006-10-11 Gary Benson * gnu/testlet/java/net/URL/security.java: New test. 2006-10-11 Gary Benson * gnu/testlet/java/net/URLClassLoader/security.java: New test. 2006-10-11 Mario Torre * gnu/testlet/java/text/DecimalFormat/PR23996.java: Test for PR23996. * gnu/testlet/java/text/DecimalFormat/format.java (testGeneral): new test. * gnu/testlet/java/text/DecimalFormat/applyPattern.java (test): test added. 2006-10-09 Gary Benson * gnu/testlet/java/net/ServerSocket/security.java: New test. 2006-10-09 Roman Kennke * gnu/testlet/javax/swing/JSplitPane/getDividerLocation.java, * gnu/testlet/javax/swing/plaf/basic/BasicSplitPaneUI/getDividerLocation.java, * gnu/testlet/javax/swing/plaf/basic/BasicSplitPaneUI/BasicHorizontalLayoutManager/layoutContainer.java: New tests. 2006-10-09 Roman Kennke * gnu/testlet/javax/swing/JTree/isRowSelected.java (TestTree.isPathSelected): New overridden method for testing. (TestTree.getRowForPath): Removed. (TestTree.getPathForRow): New overridden method for testing. (isPathSelectedCalled): New field. (getPathForRowCalled): Renamed old getRowForPathCalled field. (test): Include new isPathSelected() test. (testGetRowForPath): Renamed method and check getPathForRow() instead of getRowForPath(). (testCallIsRowSelected): New test method. 2006-10-09 Roman Kennke * gnu/testlet/javax/swing/JTree/isRowSelected.java: New test. 2006-10-06 Roman Kennke * junit/framework/Assert.java * junit/framework/AssertionFailedError.java * junit/framework/ComparisonFailure.java * junit/framework/Protectable.java * junit/framework/Test.java * junit/framework/TestCase.java * junit/framework/TestFailure.java * junit/framework/TestListener.java * junit/framework/TestResult.java * junit/framework/TestSuite.java * junit/runner/BaseTestRunner.java * junit/textui/TestRunner.java: New classes. Implements the core JUnit API for bridging JUnit into Mauve. * junit/framework/package.html: New file. 2006-10-06 David Gilbert * gnu/testlet/java/util/Calendar/getInstance.java: (testMethod1): Added check for new instance, (testMethod2): Likewise, (testMethod3): Likewise, (testMethod4): Likewise. 2006-10-05 Gary Benson * gnu/testlet/java/net/Socket/security.java: New test. 2006-10-05 Gary Benson * gnu/testlet/java/net/InetAddress/security.java: Comment fixes. 2006-10-04 Roman Kennke * gnu/testlet/javax/swing/tree/VariableHeightLayoutCache/getBounds.java: New test. 2006-10-02 Francis Kung * gnu/testlet/java/awt/Graphics/clearRect.java: New file. 2006-09-28 Tom Tromey * gnu/testlet/java/util/IdentityHashMap/simple.java (test): Check results of remove(). 2006-09-28 Tania Bento * gnu/testlet/javax/swing/JTable/constructors.java (cellProperties): New test. (selectionProperties): New test. (editingProperties): New test. (columnModelProperties): New test. (selectionModelProperties): New test. (linesNotNeeded): New test. 2006-09-27 Mario Torre * gnu/testlet/java/util/prefs/PreferenceTest.java: code reformat. (testSpecialCharacters): new test. (test): enable use of new test. 2006-09-26 Tania Bento * gnu/testlet/java/awt/Rectangle/constructors.java: New test. 2006-09-25 Francis Kung * gnu/testlet/java/text/DecimalFormat/toPattern14.java: new file; this test is an update of toPattern for 1.4. * gnu/testlet/java/text/DecimalFormat/parse.java (test): small fix to the last test to help debugging: now uses the mauve check(results, expected) method. * gnu/testlet/java/text/DecimalFormat/MaximumAndMinimumDigits.java: new file. * gnu/testlet/java/text/DecimalFormat/getPositivePrefix.java (test): new tests * gnu/testlet/java/text/DecimalFormat/formatExp.java (test): new test added. 2006-09-22 Tom Tromey PR libgcj/29178: * gnu/testlet/java/nio/charset/Charset/canEncode.java: New file. 2006-09-22 Gary Benson * gnu/testlet/java/net/NetworkInterface/security.java: New test. 2006-09-22 Gary Benson * gnu/testlet/java/net/SocketPermission/argument.java: Check that unquoted IPv6 addresses with one-digit first components are not incorrectly flagged as errors. 2006-09-22 David Gilbert * gnu/testlet/javax/swing/JTable/getCellRect.java (test): Added new checks. 2006-09-22 Gary Benson * gnu/testlet/java/net/InetAddress/security.java: New test. 2006-09-22 David Gilbert * gnu/testlet/javax/swing/SizeSequence/getSize.java (test): Check indices out of bounds, * gnu/testlet/javax/swing/JTable/getRowHeight.java: New test, * gnu/testlet/javax/swing/JTable/setRowHeight.java: New test. 2006-09-22 Gary Benson * gnu/testlet/TestSecurityManager.java: Compare permissions using equals() rather than implies(). Provide a way for tests to specify that they need implies(). * gnu/testlet/java/io/File/security.java: Use implies() comparisons for temp file tests. 2006-09-21 Casey Marshall * gnu/testlet/java/nio/channels/Selector/testEmptySelect.java: new test. 2006-09-21 Tania Bento * gnu/testlet/javax/swing/JTable/getCellRect.java: Changed expected value of one test case. 2006-09-20 David Daney * gnu/testlet/java/net/HttpURLConnection/TestHttpServer.java (ConnectionHandler.getHeaderFromList): New method. * gnu/testlet/java/net/HttpURLConnection/postHeaders.java: New test. 2006-09-19 David Gilbert * gnu/testlet/javax/swing/JButton/model.java: New test, * gnu/testlet/javax/swing/JButton/uidelegate.java: Likewise, * gnu/testlet/javax/swing/JCheckBox/model.java: Likewise, * gnu/testlet/javax/swing/JCheckBox/uidelegate.java: Likewise, * gnu/testlet/javax/swing/JCheckBoxMenuItem/model.java: Likewise, * gnu/testlet/javax/swing/JCheckBoxMenuItem/uidelegate.java: Likewise, * gnu/testlet/javax/swing/JMenu/model.java: Likewise, * gnu/testlet/javax/swing/JMenu/uidelegate.java: Likewise, * gnu/testlet/javax/swing/JMenuItem/model.java: Likewise, * gnu/testlet/javax/swing/JMenuItem/uidelegate.java: Likewise, * gnu/testlet/javax/swing/JRadioButton/model.java: Likewise, * gnu/testlet/javax/swing/JRadioButton/uidelegate.java: Likewise, * gnu/testlet/javax/swing/JRadioButtonMenuItem/model.java: Likewise, * gnu/testlet/javax/swing/JRadioButtonMenuItem/uidelegate.java: Likewise, * gnu/testlet/javax/swing/JToggleButton/model.java: Likewise, * gnu/testlet/javax/swing/JToggleButton/uidelegate.java: Likewise. 2006-09-19 Mark Wielaard * gnu/testlet/java/util/logging/Logger/getParent.java: New test. 2006-09-14 David Gilbert * gnu/testlet/java/awt/Menu/insert.java: New test. 2006-09-14 Gary Benson * gnu/testlet/java/net/SocketPermission/implies.java: Tweak. 2006-09-13 Tania Bento * gnu/testlet/javax/swing/JTable/getCellRect.java: Fixed documentation. 2006-09-13 Tania Bento * gnu/testlet/javax/swing/JTable/getCellRect.java: New test. 2006-09-13 Francis Kung * gnu/testlet/java/awt/image/RescaleOp/filterRaster.java (simpleTests): Remove hard-coded max sample value. 2006-09-12 David Gilbert * gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getControlTextFont.java (test): Add checks for 'swing.boldMetal' UI default setting, * gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getMenuTextFont.java (test): Likewise, * gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getSubTextFont.java (test): Likewise, * gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getSystemTextFont.java (test): Likewise, * gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getUserTextFont.java (test): Likewise, * gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getWindowTitleFont.java (test): Likewise. 2006-09-12 David Gilbert * gnu/testlet/javax/swing/plaf/metal/OceanTheme/addCustomEntriesToTable.java: New test. 2006-09-11 David Gilbert * gnu/testlet/java/text/AttributedCharacterIterator/getRunLimit.java (test1): Added checks, * gnu/testlet/java/text/AttributedCharacterIterator/Attribute/toString.java: New test. 2006-09-11 David Gilbert * gnu/testlet/java/text/AttributedCharacterIterator/getRunLimit.java: New test, * gnu/testlet/java/text/AttributedString/constructors.java (testConstructor3): Added new checks. 2006-09-09 Casey Marshall * gnu/testlet/java/net/NetworkInterface/Consistency.java: new test. * gnu/testlet/java/net/NetworkInterface/getByName.java (test): don't test for interfaces named "lo". 2006-09-08 Gary Benson * gnu/testlet/java/net/InetAddress/getAllByName.java: Do not test for whitespace-stripping of hostnames. 2006-09-07 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalScrollBarUI/constructor.java (test): Add a check for the default value of the scrollBarWidth field, * gnu/testlet/javax/swing/plaf/metal/MetalScrollBarUI/installDefaults.java: New file, * gnu/testlet/javax/swing/plaf/metal/MetalScrollBarUI/MyMetalScrollBarUI.java (MyMetalScrollBarUI): Call super(), (installDefaults): New method, (setScrollbar): Likewise, (getScrollBarWidthField): Likewise. 2006-09-06 Gary Benson * gnu/testlet/java/net/SocketPermission/implies.java: More tests. 2006-09-06 Francis Kung * gnu/testlet/java/awt/image/RescaleOp/constructors.java, * gnu/testlet/java/awt/image/RescaleOp/createCompatibleDestImage.java, * gnu/testlet/java/awt/image/RescaleOp/createCompatibleDestRaster.java, * gnu/testlet/java/awt/image/RescaleOp/filterImage.java, * gnu/testlet/java/awt/image/RescaleOp/filterRaster.java, * gnu/testlet/java/awt/image/RescaleOp/getBounds2D.java, * gnu/testlet/java/awt/image/RescaleOp/getNumFactors.java, * gnu/testlet/java/awt/image/RescaleOp/getOffsets.java, * gnu/testlet/java/awt/image/RescaleOp/getPoint2D.java, * gnu/testlet/java/awt/image/RescaleOp/getRenderingHints.java, * gnu/testlet/java/awt/image/RescaleOp/getScaleFactors.java: New files. 2006-09-06 David Gilbert * gnu/testlet/javax/swing/UIManager/getBoolean.java: New file, * gnu/testlet/javax/swing/UIManager/getBorder.java: Likewise, * gnu/testlet/javax/swing/UIManager/getColor.java: Likewise, * gnu/testlet/javax/swing/UIManager/getDimension.java: Likewise, * gnu/testlet/javax/swing/UIManager/getFont.java: Likewise, * gnu/testlet/javax/swing/UIManager/getIcon.java: Likewise, * gnu/testlet/javax/swing/UIManager/getInsets.java: Likewise, * gnu/testlet/javax/swing/UIManager/getInt.java: Likewise, * gnu/testlet/javax/swing/UIManager/getString.java: Likewise. 2006-09-06 Gary Benson * gnu/testlet/java/net/SocketPermission/implies.java: Correctly test cases with empty hostport strings. Also fixed a comment. 2006-09-06 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getDefaults.java (TestTheme.getControlTextFont): New method, (TestTheme.getMenuTextFont): Likewise, (test): Updated checks for font settings. 2006-09-05 Francis Kung * gnu/testlet/java/awt/image/ByteLookupTable/lookupPixel.java (test): Test for failures. (testFailure): Test out of bounds failures. * gnu/testlet/java/awt/image/LookupOp/createCompatibleDestImage.java: New test. * gnu/testlet/java/awt/image/LookupOp/createCompatibleDestRaster.java (test): Check additional properties. * gnu/testlet/java/awt/image/LookupOp/filterImage.java: New test. * gnu/testlet/java/awt/image/LookupOp/filterRaster.java: New test. * gnu/testlet/java/awt/image/ShortLookupTable/lookupPixel.java (test): Test for failures. (testFailure): Test out of bounds failures. 2006-09-04 David Gilbert * gnu/testlet/java/awt/Rectangle/setRect.java (test): Added new checks for input rounding. 2006-09-03 Raif S. Naffah * gnu/testlet/java/math/BigInteger/ctor.java (testCtorByteArray): New method. (test): Added call to new method. * gnu/testlet/java/math/BigInteger/TestOfPR27372.java (usingNativeImpl): New field. (areEqualJavaBI): New method. (areEqualNativeBI): New method. (areEqual): Call one of the two above methods depending on BI's nature. * gnu/testlet/java/math/BigInteger/TestOfToByteArray.java: New test. 2006-09-01 Gary Benson * gnu/testlet/java/net/SocketPermission/implies.java: Check that IPv6-mapped IPv4 addresses imply their counterparts. 2006-08-31 Gary Benson * gnu/testlet/java/net/SocketPermission/argument.java: Fix a pair of broken addresses. 2006-08-31 Gary Benson * gnu/testlet/java/net/SocketPermission/argument.java: More meaningful failure messages. 2006-08-29 Roman Kennke * gnu/testlet/javax/swing/text/ZoneView/TestZoneView.java (getViewIndexAtPosition): Overridden to make public. (loadChildren): Likewise. (getViewFactory): Overridden to provide a ViewFactory. * gnu/testlet/javax/swing/text/ZoneView/getViewIndexAtPosition.java: New tests. * gnu/testlet/javax/swing/text/ZoneView/loadChildren.java: New tests. 2006-08-29 Roman Kennke * gnu/testlet/javax/swing/text/ZoneView/TestView.java, * gnu/testlet/javax/swing/text/ZoneView/TestZoneView.java: New helper classes. * gnu/testlet/javax/swing/text/ZoneView/constructor.java, * gnu/testlet/javax/swing/text/ZoneView/createZone.java, * gnu/testlet/javax/swing/text/ZoneView/getMaxZonesLoaded.java, * gnu/testlet/javax/swing/text/ZoneView/getMaximumZoneSize.java, * gnu/testlet/javax/swing/text/ZoneView/isZoneLoaded.java, * gnu/testlet/javax/swing/text/ZoneView/setMaxZonesLoaded.java, * gnu/testlet/javax/swing/text/ZoneView/setMaximumZoneSize.java, * gnu/testlet/javax/swing/text/ZoneView/unloadZone.java, * gnu/testlet/javax/swing/text/ZoneView/zoneWasLoaded.java: New tests. 2006-08-10 Stephane Mikaty * gnu/testlet/javax/xml/xpath/XPath.java: New test. 2006-08-30 Sven de Marothy * gnu/testlet/java/util/UUID/TestAll.java: new file. 2006-08-29 Mario Torre * gnu/testlet/java/text/DecimalFormat/formatExp.java (test): added new tests. * gnu/testlet/java/text/DecimalFormat/parse.java (test): added new tests. * gnu/testlet/java/text/DecimalFormat/format.java (testGeneral): added new tests. 2006-08-25 Gary Benson * gnu/testlet/java/net/SocketPermission/implies.java: Add many more host checks, and catch exceptions within checks. 2006-08-25 Gary Benson * gnu/testlet/java/net/SocketPermission/argument.java: Also test unquoted IPv6 addresses. 2006-08-24 Francis Kung * gnu/testlet/java/awt/image/ColorConvertOp/createCompatibleDestImage.java: (colorModelTest): Add tests for value of transferType. (simpleTest): Add tests for value of transferType. * gnu/testlet/java/awt/image/ConvolveOp/createCompatibleDestImage.java, * gnu/testlet/java/awt/image/ConvolveOp/createCompatibleDestRaster.java, * gnu/testlet/java/awt/image/ConvolveOp/filterImage.java: New tests. * gnu/testlet/java/awt/image/ConvolveOp/filter.java: Renamed to filterRaster.java. * gnu/testlet/java/awt/image/ConvolveOp/filterRaster.java: Renamed from filter.java. 2006-08-23 Tania Bento * gnu/testlet/java/awt/ColorClass/brighter: New file. 2006-08-22 Tania Bento * gnu/testlet/java/awt/MenuShortcut/testToString: New file. 2006-08-18 Mario Torre * gnu/testlet/java/text/DecimalFormat/parse.java (test): added new tests. * gnu/testlet/java/text/DecimalFormat/applyPattern.java (test): fixed checkpoint for "grouping" test. 2006-08-18 Francis Kung * gnu/testlet/java/awt/image/ColorConvertOp/createCompatibleDestImage.java: (colorModelTest): Expand tests. (profileTest): Expand tests. (test): Clean up looping. * gnu/testlet/java/awt/image/ColorConvertOp/createCompatibleDestRaster.java: (colorModelTest): Expand tests. (profileTest): Expand tests. (test): Clean up looping. * gnu/testlet/java/awt/image/ColorConvertOp/filterImage.java: (test3): Remove test of feature that is not implemented yet. 2006-08-17 Lillian Angel * gnu/testlet/java/awt/dnd/DropTargetDropEvent/Constructors.java: New test. 2006-08-17 David Gilbert * gnu/testlet/java/util/Calendar/getInstance.java: New test, * gnu/testlet/java/util/Calendar/setTime.java: Likewise. 2006-08-16 Anthony Balkissoon * Harness.java: Removed debug statement. 2006-08-16 Anthony Balkissoon * gnu/testlet/java/security/Engine/getInstance.java: Fixed Uses tag. 2006-08-16 Anthony Balkissoon * Harness.java: (processFolder): Look for "Uses" tag and "not-a-test" tag and handle them appropriately. (processSingleTest): Likewise. 2006-08-16 Ito Kazumitsu * gnu/testlet/java/util/regex/Matcher/hitEnd.java: New test. 2006-08-15 Francis Kung * gnu/testlet/java/awt/image/ColorConvertOp/constructors.java, * gnu/testlet/java/awt/image/ColorConvertOp/createCompatibleDestImage.java, * gnu/testlet/java/awt/image/ColorConvertOp/createCompatibleDestRaster.java, * gnu/testlet/java/awt/image/ColorConvertOp/filterImage.java, * gnu/testlet/java/awt/image/ColorConvertOp/filterRaster.java, * gnu/testlet/java/awt/image/ColorConvertOp/getBounds2D.java, * gnu/testlet/java/awt/image/ColorConvertOp/getPoint2D.java: New tests. 2006-08-13 Lillian Angel * gnu/testlet/java/awt/dnd/DropTargetDragEvent/Constructors.java: New Test. 2006-08-13 Lillian Angel * gnu/testlet/java/awt/dnd/DnDTest.java: (MouseThread.run): Reformatted and set unsuccessful field to true in catch-block. 2006-08-15 Roman Kennke * gnu/testlet/java/util/Vector/removeAll.java: New test. * gnu/testlet/java/util/Vector/retainAll.java: New test. 2006-08-13 Lillian Angel * gnu/testlet/java/awt/dnd/DnDTest.java: Added more fields (test): Added more checks. (actionPerformed): Set appropriate field to true; (dragExit): Likewise. (dropActionChanged): Likewise. (dragExit): Likewise. (dropActionChanged): Likewise. 2006-08-13 Raif S. Naffah * gnu/testlet/gnu/java/security/TestOfPR28678.java (FakeProvider): Added a CertStore mapping. (testCertStore): New method. (test): Call method above. 2006-08-13 Raif S. Naffah * gnu/testlet/gnu/java/security/TestOfPR28678.java: New test. 2006-08-11 Francis Kung * gnu/testlet/java/awt/image/AffineTransformOp/createCompatibleDestImage.java (colorModelTest): New method. (simpleTest): New method. (test): Added more tests and split into two methods. * gnu/testlet/java/awt/image/AffineTransformOp/createCompatibleDestRaster.java: New file. * gnu/testlet/java/awt/image/AffineTransformOp/filterImage.java (test): Removed a bad test. (testDefaults): Added more tests. (testTransform): Removed. * gnu/testlet/java/awt/image/AffineTransformOp/filterRaster.java (test): Removed a bad test. (testDefaults): Added more tests. (testTransform): Removed. * gnu/testlet/java/awt/image/AffineTransformOp/getPoint2D.java (testIdentity): Added more tests. * gnu/testlet/java/awt/image/BandCombineOp/constructors.java (basicTest): New method. (emptyMatrix): New method. (invalidMatrix): New method. (test): Added more tests and split into multiple methods. * gnu/testlet/java/awt/image/BandCombineOp/createCompatibleDestRaster.java: (basicTest): New method. (impossibleTets): New method. (test): Added more tests and split into multiple methods. (test2): New method. (test3): New method. 2006-08-11 David Daney * gnu/testlet/java/net/HttpURLConnection/reuseConnection.java: New test. 2006-08-11 David Daney * gnu/testlet/java/net/HttpURLConnection/TestHttpServer.java: Rewrote. * gnu/testlet/java/net/HttpURLConnection/responseCodeTest.java (test): Rewrote to use new TestHttpServer. (Factory): New inner class. (Handler): New inner class. (test_ResponseCode): Use new server. * gnu/testlet/java/net/HttpURLConnection/responseHeadersTest.java (test): Rewrote to use new TestHttpServer. (Factory): New inner class. (Handler): New inner class. (test_MultiHeaders): Use new server. (test_LowerUpperCaseHeaders): Use new server. 2006-08-10 Lillian Angel * gnu/testlet/java/awt/dnd/DropTargetContext/DropTargetContextTest.java: New test. 2006-08-10 Lillian Angel * gnu/testlet/java/awt/dnd/DragSourceContext/Constructor.java: New test. 2006-08-09 Tom Tromey PR classpath/28658: * gnu/testlet/java/text/SimpleDateFormat/regress.java (test): Added regression test. 2006-08-08 Lillian Angel * gnu/testlet/java/awt/dnd/DnDTest.java (doDnD): Removed FIXME. 2006-08-08 Lillian Angel * gnu/testlet/java/awt/dnd/DnDTest.java: New test. 2006-08-06 C. Scott Marshall * gnu/testlet/java/nio/ByteBuffer/TestAllocateDirect.java: new test. 2006-08-06 Raif S. Naffah * gnu/testlet/java/math/BigInteger/ctor.java (testCtorIntRandom): New method. (test): Call the above method. 2006-08-06 Raif S. Naffah * gnu/testlet/java/math/BigInteger/TestOfPR27372.java: New test. 2006-08-06 Raif S. Naffah * gnu/testlet/java/math/BigInteger/ctor.java: New test. 2006-08-04 Anthony Balkissoon * RunnerProcess.java: (getStackTraceString): Return the first line number in the stack trace that is in the Mauve test file that was run. (exceptionDetails): Likewise. 2006-08-03 Carsten Neumann * gnu/testlet/java/lang/StrictMath/cbrt.java * gnu/testlet/java/lang/StrictMath/cosh.java * gnu/testlet/java/lang/StrictMath/expm1.java * gnu/testlet/java/lang/StrictMath/sinh.java * gnu/testlet/java/lang/StrictMath/tanh.java (NaNValues): New field. (testInputValues): New method. (testNaNValues): New method. (test): call testInputValues and testNaNValues. 2006-08-03 Francis Kung * gnu/testlet/java/awt/image/AffineTransformOp/constructors.java, * gnu/testlet/java/awt/image/AffineTransformOp/createCompatibleDestImage.java, * gnu/testlet/java/awt/image/AffineTransformOp/filterImage.java, * gnu/testlet/java/awt/image/AffineTransformOp/filterRaster.java, * gnu/testlet/java/awt/image/AffineTransformOp/getBounds2D.java, * gnu/testlet/java/awt/image/AffineTransformOp/getPoint2D.java, * gnu/testlet/java/awt/image/BandCombineOp/constructors.java, * gnu/testlet/java/awt/image/BandCombineOp/createCompatibleDestRaster.java, * gnu/testlet/java/awt/image/BandCombineOp/filter.java, * gnu/testlet/java/awt/image/BandComgineOp/getBounds2D.java, * gnu/testlet/java/awt/image/BandCombineOp/getPoint2D.java: Fixed GPL notice. 2006-08-02 Lillian Angel * gnu/testlet/java/awt/dnd/DragSource/Constructors.java, * gnu/testlet/java/awt/dnd/DragSource/CreateDragGestureRecognizerTest.java, * gnu/testlet/java/awt/dnd/DragSource/FlavourMapTest.java, * gnu/testlet/java/awt/dnd/DragSource/getDragThresholdTest.java, * gnu/testlet/java/awt/dnd/DragSource/isDragImageSupportedTest.java, * gnu/testlet/java/awt/dnd/DropTarget/Constructors.java: New tests. 2006-08-02 Carsten Neumann * gnu/testlet/java/lang/StrictMath/tanh.java: Fixed comment. * gnu/testlet/java/lang/StrictMath/cosh.java: Likewise. * gnu/testlet/java/lang/StrictMath/sinh.java: Likewise. * gnu/testlet/java/lang/StrictMath/expm1.java: Likewise. 2006-08-02 Francis Kung * gnu/testlet/java/awt/image/AffineTransformOp/constructors.java, * gnu/testlet/java/awt/image/AffineTransformOp/createCompatibleDestImage.java, * gnu/testlet/java/awt/image/AffineTransformOp/filterImage.java, * gnu/testlet/java/awt/image/AffineTransformOp/filterRaster.java, * gnu/testlet/java/awt/image/AffineTransformOp/getBounds2D.java, * gnu/testlet/java/awt/image/AffineTransformOp/getPoint2D.java, * gnu/testlet/java/awt/image/BandCombineOp/constructors.java, * gnu/testlet/java/awt/image/BandCombineOp/createCompatibleDestRaster.java, * gnu/testlet/java/awt/image/BandCombineOp/filter.java, * gnu/testlet/java/awt/image/BandComgineOp/getBounds2D.java, * gnu/testlet/java/awt/image/BandCombineOp/getPoint2D.java: New tests. 2006-08-02 Carsten Neumann * gnu/testlet/java/lang/StrictMath/tanh.java: New test. 2006-08-02 Raif S. Naffah * gnu/testlet/java/security/SecureRandom/TestOfPR23899.java: New test. 2006-08-02 Raif S. Naffah * gnu/testlet/gnu/java/security/key/rsa/TestOfPR28556.java: Removed unused imports. 2006-08-02 Raif S. Naffah * gnu/testlet/gnu/java/security/key/rsa/TestOfPR28556.java: New test. 2006-08-01 Roman Kennke * gnu/testlet/javax/swing/plaf/basic/BasicOptionPaneUI/PropertyChangeHandler/propertyChange.java: New test. 2006-08-01 Tania Bento * gnu/testlet/java/awt/Choice/remove.java: New test. 2006-08-01 Roman Kennke * gnu/testlet/javax/swing/JTree/getCellRenderer.java: New test. 2006-07-30 Casey Marshall * gnu/testlet/javax/net/ssl/SSLContext/TestDefaultInit.java, * gnu/testlet/javax/net/ssl/SSLContext/TestGetInstance.java, * gnu/testlet/javax/net/ssl/SSLEngine/AbstractEngineTest.java, * gnu/testlet/javax/net/ssl/SSLEngine/SimplePSKKeyManager.java, * gnu/testlet/javax/net/ssl/SSLEngine/SimpleX509KeyManager.java, * gnu/testlet/javax/net/ssl/SSLEngine/SimpleX509TrustManager.java, * gnu/testlet/javax/net/ssl/SSLEngine/TestGNUHandshake.java, * gnu/testlet/javax/net/ssl/SSLEngine/TestHandshake.java, * gnu/testlet/javax/net/ssl/SSLEngine/TestNoCiphersuites.java, * gnu/testlet/javax/net/ssl/SSLEngine/TestNoProtocols.java: New tests. 2006-07-30 Mark Wielaard * gnu/testlet/java/util/GregorianCalendar/setWeekOfMonth.java: New test. 2006-07-30 Raif S. Naffah * gnu/testlet/java/security/Engine/getInstance.java (testNameRedundancy): New method. (test): Call new method. 2006-07-29 Carsten Neumann * gnu/testlet/java/lang/StrictMath/sinh.java: New test. 2006-07-28 Anthony Balkissoon * gnu/testlet/java/awt/List/testSelected.java: Added more checks. 2006-07-28 Gary Benson * gnu/testlet/java/security/AccessController/contexts.java (copyClass): Copy inner classes too. (callListJarsOf, callPrivilegedListJarsOf): New methods. (test): Extend to test AccessController.doPrivileged(). 2006-07-28 Roman Kennke * gnu/testlet/javax/swing/text/AbstractDocument/getDocumentProperties.java: Removed debug output. * gnu/testlet/javax/swing/text/AbstractDocument/BranchElement/getElementIndex.java: New test. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure4.java: Changed tests to do check(x, y) rather than check(x == y), so that the wrong value gets recognized by Mauve. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure8.java: Likewise. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/StyledDocument2.java: Likewise. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/insert.java (testNewlines2): New test. * gnu/testlet/javax/swing/text/FlowView/FlowStrategy/TestView.java: New helper class. * gnu/testlet/javax/swing/text/FlowView/FlowStrategy/adjustRow.java: New test. * gnu/testlet/javax/swing/text/FlowView/TestFlowView.java: Fixed. * gnu/testlet/javax/swing/text/PlainDocument/getRootElements.java: Fixed test. * gnu/testlet/javax/swing/text/Utilities/getBreakLocation.java: New test. * gnu/testlet/javax/swing/text/View/getMaximumSpan.java: Added comment. * gnu/testlet/javax/swing/text/html/parser/ParserDelegator/parsingTester.java: Fixed test. 2006-07-28 Roman Kennke * gnu/testlet/java/awt/Component/getLocationOnScreen.java: New test. 2006-07-28 Roman Kennke * gnu/testlet/java/awt/KeyboardFocusManager/TestKeyboardFocusManager.java, * gnu/testlet/java/awt/KeyboardFocusManager/getFocusOwner.java, * gnu/testlet/java/awt/KeyboardFocusManager/getGlobalFocusOwner.java, * gnu/testlet/java/awt/KeyboardFocusManager/getGlobalPermanentFocusOwner.java: New tests. 2006-07-28 Raif S. Naffah * Harness.java (MAUVE): New constant. (MAUVE_GNU_TESTLET): Likewise. (startingFormat): Handle selection from Eclipse Package Explorer. * .externalToolBuilders/Mauve Harness.launch: New Eclipse launcher. 2006-07-28 Mario Torre * gnu/testlet/java/text/DecimalFormat/format.java (test): Added new test 'testMaximumDigits'. (testMaximumDigits): New test for some configuration of setMaximumIntegerDigits and setMaximumFractionDigits. 2006-07-27 Tom Tromey PR classpath/28486: * gnu/testlet/java/net/URL/URLTest.java (test_Basics): Added 'equals' test. 2006-07-26 Anthony Balkissoon * RunnerProcess.java: (exceptionDetails): Line number doesn't need to come from the test() method, removed that "if". 2006-07-26 Mark Wielaard * Harness.java (TimeoutWatcher.run): Keep track of timeout wait time left. 2006-07-25 Robert Schuster * gnu/testlet/javax/swing/JTabbedPane/remove.java: New test. 2006-07-25 Tania Bento * gnu/testlet/java/awt/List/testSelected.java: New file. 2006-07-25 Mark Wielaard * Harness.java: Remove all trailing chars from FAIL output. * RunnerProcess.java: Likewise. 2006-07-25 Casey Marshall Import free PKITS test and test files. New files in gnu/testlet/java/security/cert/pkix/pkits. Too many files to include here. * README.PKITS: new file. 2006-07-25 Gary Benson * gnu/testlet/java/security/AccessController/contexts.java: New test. 2006-07-25 David Gilbert * gnu/testlet/javax/swing/text/TabSet/constructor.java: New test, * gnu/testlet/javax/swing/text/TabSet/equals.java: New test, * gnu/testlet/javax/swing/text/TabSet/getTab.java: New test, * gnu/testlet/javax/swing/text/TabSet/getTabCount.java: New test, * gnu/testlet/javax/swing/text/TabSet/getTabIndex.java: New test, * gnu/testlet/javax/swing/text/TabSet/getTabIndexAfter.java: New test, * gnu/testlet/javax/swing/text/TabSet/toString.java: New test, * gnu/testlet/javax/swing/text/TabStop/constructor.java: New test, * gnu/testlet/javax/swing/text/TabStop/toString.java: New test. 2006-07-25 David Gilbert * gnu/testlet/java/awt/Component/properties.java (test): 'name' property should fire an event. 2006-07-23 Mark Wielaard * gnu/testlet/javax/swing/JSpinner/constructors.java: Remove println. * gnu/testlet/javax/swing/text/DefaultEditorKit/getActions.java: Likewise. * gnu/testlet/javax/swing/text/AbstractDocument/filterTest.java: Add extra debug output on exception. 2006-07-24 Carsten Neumann * gnu/testlet/java/lang/StrictMath/cosh.java: New test. * gnu/testlet/java/lang/StrictMath/cbrt.java (main): New method. 2006-07-24 Raif S. Naffah * gnu/testlet/gnu/javax/crypto/jce/TestOfPR27228.java: New test. 2006-07-24 Mario Torre * gnu/testlet/java/text/DecimalFormat/format.java: class reformatted. (test): added two new tests: testNaN and testInfinity. (testInfinity): new test. (testNaN): new test. 2006-07-23 Casey Marshall * gnu/testlet/java/text/DecimalFormat/format.java (test): call `testBigInteger' too. (testBigInteger): new method. 2006-07-23 David Gilbert * gnu/testlet/java/awt/image/Kernel/constructor.java (test): Allow IllegalArgumentException for null width or height. 2006-07-22 Carsten Neumann * gnu/testlet/java/lang/StrictMath/expm1.java: New test. 2006-07-22 Raif S. Naffah * gnu/testlet/gnu/java/security/util/TestOfIntegerUtil.java: New test. 2006-07-22 Raif S. Naffah * gnu/testlet/gnu/javax/crypto/cipher/TestOfTripleDES.java (E_TV): Re-wrote to show the individual DES keys dependency. (D_TV): Likewise. (attributes): New field. (des1KeyTest): New method. (des2KeyTest): Likewise. (test): Call above two methods. (encryptTest): Likewise. (decryptTest): Likewise. (vectorsTest): Re-factored to use above new (refactored) methods. 2006-07-21 David Gilbert * gnu/testlet/java/awt/image/Kernel/constructor.java: New test, * gnu/testlet/java/awt/image/Kernel/getHeight.java: New test, * gnu/testlet/java/awt/image/Kernel/getKernelData.java: New test, * gnu/testlet/java/awt/image/Kernel/getWidth.java: New test, * gnu/testlet/java/awt/image/Kernel/getXOrigin.java: New test, * gnu/testlet/java/awt/image/Kernel/getYOrigin.java: New test. 2006-07-20 Carsten Neumann * gnu/testlet/java/lang/StrictMath/cbrt.java: New test. 2006-07-19 David Gilbert * gnu/testlet/java/awt/image/ConvolveOp/filter.java: New test, * gnu/testlet/java/awt/image/ConvolveOp/getBounds2D.java: New test, * gnu/testlet/java/awt/image/ConvolveOp/getEdgeCondition.java: New test, * gnu/testlet/java/awt/image/ConvolveOp/getPoint2D.java: New test, * gnu/testlet/java/awt/image/ConvolveOp/getRenderingHints.java: New test. 2006-07-19 David Gilbert * gnu/testlet/java/awt/image/ComponentSampleModel/constructors.java (testConstructor2): Added checks, * gnu/testlet/java/awt/image/ComponentSampleModel/getPixel.java (testMethod1): Restore IllegalArgumentException checks. 2006-07-19 David Gilbert * gnu/testlet/java/awt/image/ComponentSampleModel/createCompatibleSampleModel.java: New file, * gnu/testlet/java/awt/image/ComponentSampleModel/createSubsetSampleModel.java: New file, * gnu/testlet/java/awt/image/ComponentSampleModel/getBandOffsets.java: New file, * gnu/testlet/java/awt/image/ComponentSampleModel/getDataElements.java: New file, * gnu/testlet/java/awt/image/ComponentSampleModel/getNumDataElements.java: New file, * gnu/testlet/java/awt/image/ComponentSampleModel/getPixel.java: New file, * gnu/testlet/java/awt/image/ComponentSampleModel/getPixels.java: New file, * gnu/testlet/java/awt/image/ComponentSampleModel/getPixelStride.java: New file, * gnu/testlet/java/awt/image/ComponentSampleModel/getSamples.java: New file, * gnu/testlet/java/awt/image/ComponentSampleModel/getSampleSize.java: New file, * gnu/testlet/java/awt/image/ComponentSampleModel/getScanlineStride.java: New file, * gnu/testlet/java/awt/image/ComponentSampleModel/setDataElements.java: New file, * gnu/testlet/java/awt/image/ComponentSampleModel/setPixel.java: New file, * gnu/testlet/java/awt/image/ComponentSampleModel/setPixels.java: New file, * gnu/testlet/java/awt/image/ComponentSampleModel/setSample.java: New file, * gnu/testlet/java/awt/image/ComponentSampleModel/setSamples.java: New file. 2006-07-18 David Gilbert * gnu/testlet/java/awt/image/LookupTable/MyLookupTable.java: Changed tag to 'not-a-test'. 2006-07-18 Francis Kung * gnu/testlet/javax/swing/JComboBox/ComboRobot.java (testCombo): Added parameter for editable comboboxes (test): Added iteration for editable comboboxes. 2006-07-18 Francis Kung * gnu/testlet/javax/swing/JComboBox/ComboRobot.java: organized imports (combo): Added item to combo box. (testCombo): Added additional tests for key selector. 2006-07-18 David Gilbert * gnu/testlet/java/awt/image/ByteLookupTable/constructors.java: New test, * gnu/testlet/java/awt/image/ByteLookupTable/getTable.java: New test, * gnu/testlet/java/awt/image/ComponentSampleModel/constructors.java (testDefensiveCopies): Check m2 not m, * gnu/testlet/java/awt/image/ComponentSampleModel/createDataBuffer.java (test): Call new methods, (testSingleBand): New method, (testMultiBand): New method, * gnu/testlet/java/awt/image/ComponentSampleModel/getOffset.java: New test, * gnu/testlet/java/awt/image/ComponentSampleModel/getPixel.java: New test, * gnu/testlet/java/awt/image/ComponentSampleModel/getSample.java: New test, * gnu/testlet/java/awt/image/ComponentSampleModel/getSampleDouble.java: New test, * gnu/testlet/java/awt/image/ComponentSampleModel/getSampleFloat.java: New test, * gnu/testlet/java/awt/image/LookupOp/constructor.java: New test, * gnu/testlet/java/awt/image/LookupOp/createCompatibleDestRaster.java: New test, * gnu/testlet/java/awt/image/LookupOp/getBounds2D.java: New test, * gnu/testlet/java/awt/image/LookupOp/getPoint2D.java: New test, * gnu/testlet/java/awt/image/LookupOp/getRenderingHints.java: New test, * gnu/testlet/java/awt/image/LookupOp/getTable.java: New test, * gnu/testlet/java/awt/image/LookupTable/constructor.java: New test, * gnu/testlet/java/awt/image/LookupTable/getNumComponents.java: New test, * gnu/testlet/java/awt/image/LookupTable/getOffset.java: New test, * gnu/testlet/java/awt/image/LookupTable/MyLookupTable.java: New class, * gnu/testlet/java/awt/image/ShortLookupTable/constructors.java: New test, * gnu/testlet/java/awt/image/ShortLookupTable/getTable.java: New test. 2006-07-18 Gary Benson * gnu/testlet/java/io/File/security.java: Fix deleteOnExit test. 2006-07-17 David Gilbert * gnu/testlet/java/awt/image/ComponentSampleModel/constructors.java: New file, * gnu/testlet/java/awt/image/ComponentSampleModel/createDataBuffer.java: New file * gnu/testlet/java/awt/image/ComponentSampleModel/equals.java: New file, * gnu/testlet/java/awt/image/ComponentSampleModel/hashCode.java: New file, * gnu/testlet/java/awt/image/ComponentSampleModel/MyComponentSampleModel.java: New file. 2006-07-17 David Gilbert * gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/getBitOffset.java (test): Added new checks, * gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/setDataElements.java (test): Call new test methods, (testBadTransferArray): New method, (testNullTransferArray): New method, * gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/setSample.java (test): Call new test methods, (testTYPE_USHORT): New method, (testTYPE_BYTE): New method, * gnu/testlet/java/awt/image/SampleModel/getPixel.java (testMethod1): Add new checks, * gnu/testlet/java/awt/image/SampleModel/getPixels.java (test): Call new test method, (testMethod1MultiPixelPackedSampleModel): New method, * gnu/testlet/java/awt/image/SinglePixelPackedSampleModel.java (test2): Added new check. 2006-07-16 Mark Wielaard * Harness.java (runTest): Just reset runner_watcher. (TimerWatcher.started): New boolean field. (TimerWatcher.start): Removed method. (TimerWatcher.isAlive): Removed method. (reset): Start Thread if not yet started. 2006-07-16 Raif S. Naffah * gnu/testlet/gnu/javax/crypto/jce/TestOfCipherWrapUnwrap.java: New test. * gnu/testlet/gnu/javax/crypto/jce/TestOfTripleDESParityAdjustment.java: Likewise. 2006-07-14 David Gilbert * gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/getDataElements.java: New test, * gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/setDataElements.java: New test. 2006-07-14 Matt Wringe * gnu/testlet/gnu/javax/crypto/jce/TestOfCipherEngineInit.java (testInitWithIVParameterSpec): Properly fail when expected exception does not occur. 2006-07-14 David Gilbert * gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/createSubsetSampleModel.java: New test, * gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/getBitOffset.java: New test, * gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/getDataBitOffset.java: New test, * gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/getOffset.java: New test, * gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/getPixel.java: New test, * gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/getPixelBitStride.java: New test, * gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/getSample.java: New test, * gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/getSampleSize.java: New test, * gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/getScanlineStride.java: New test, * gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/getTransferType.java: New test, * gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/hashCode.java: New test, * gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/setPixel.java: New test, * gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/setSample.java: New test. 2006-07-14 David Gilbert * gnu/testlet/java/awt/image/MultiPixelPackedSampleModel/createDataBuffer.java (test): Added new checks. 2006-07-14 Gary Benson * gnu/testlet/java/io/File/security.java: Remove dummy mayCheck stuff. 2006-07-14 raif * gnu/testlet/gnu/javax/crypto/kwa/TestOfAESKeyWrap.java: New test. * gnu/testlet/gnu/javax/crypto/kwa/TestOfTripleDESKeyWrap.java: Likewise. 2006-07-13 David Gilbert * gnu/testlet/java/awt/image/MultiPixelPackedSample/constructors.java: New test, * gnu/testlet/java/awt/image/MultiPixelPackedSample/createCompatibleSampleModel.java: New test, * gnu/testlet/java/awt/image/MultiPixelPackedSample/createDataBuffer.java: New test, * gnu/testlet/java/awt/image/MultiPixelPackedSample/equals.java: New test. 2006-07-13 Audrius Meskauskas * gnu/testlet/javax/swing/text/DefaultStyledDocument/Create.java: New test. 2006-07-13 Audrius Meskauskas * gnu/testlet/javax/swing/text/DefaultStyledDocument/Insert.java: New test. 2006-07-13 Tania Bento * gnu/testlet/java/awt/Component/invalidate.java (test2): Added new test. 2006-07-13 David Gilbert * gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/getSampleSize.java (test): Moved existing test code to test1(), now calls test1() and test2(); (test1): New method, (test2): New method. 2006-07-13 Audrius Meskauskas * gnu/testlet/javax/swing/text/html/HTMLDocument/FindById.java: New test. 2006-07-13 David Gilbert * gnu/testlet/java/awt/image/SampleModel/createDataBuffer.java: New file, * gnu/testlet/java/awt/image/SampleModel/getPixel.java: Likewise, * gnu/testlet/java/awt/image/SampleModel/getPixels.java: Likewise, * gnu/testlet/java/awt/image/SampleModel/getSample.java: Likewise, * gnu/testlet/java/awt/image/SampleModel/getSampleDouble.java: Likewise, * gnu/testlet/java/awt/image/SampleModel/getSampleFloat.java: Likewise, * gnu/testlet/java/awt/image/SampleModel/getSamples.java: Likewise, * gnu/testlet/java/awt/image/SampleModel/getSampleSize.java: Likewise, * gnu/testlet/java/awt/image/SampleModel/setPixel.java: Likewise, * gnu/testlet/java/awt/image/SampleModel/setPixels.java: Likewise, * gnu/testlet/java/awt/image/SampleModel/setSample.java: Likewise, * gnu/testlet/java/awt/image/SampleModel/setSamples.java: Likewise. 2006-07-11 Matt Wringe * gnu/testlet/javax/crypto/spec/TestOfSecretKeySpec.java: New file. 2006-07-11 David Gilbert * gnu/testlet/javax/swing/JTable/setColumnSelectionAllowed.java: New test, * gnu/testlet/javax/swing/JTable/setRowSelectionAllowed.java: Likewise. 2006-07-11 Matt Wringe * gnu/testlet/gnu/javax/crypto/jce/TestOfCipherEngineInit.java (testInitWithIVParameterSpec): New test. 2006-07-11 David Gilbert * gnu/testlet/javax/swing/DefaultBoundedRangeModel/DefaultBoundedRangeModel.java: Renamed general.java, * gnu/testlet/javax/swing/DefaultBoundedRangeModel/general.java: New file, * gnu/testlet/javax/swing/DefaultBoundedRangeModel/serialization.java: New file. 2006-07-11 David Gilbert * gnu/testlet/javax/swing/ButtonGroup/add.java: New file, * gnu/testlet/javax/swing/ButtonGroup/constructor.java: New file, * gnu/testlet/javax/swing/ButtonGroup/getButtonCount.java: New file, * gnu/testlet/javax/swing/ButtonGroup/getElements.java: New file, * gnu/testlet/javax/swing/ButtonGroup/getSelection.java: New file, * gnu/testlet/javax/swing/ButtonGroup/isSelected.java: New file, * gnu/testlet/javax/swing/ButtonGroup/remove.java: New file, * gnu/testlet/javax/swing/ButtonGroup/setSelected.java: New file. 2006-07-11 Gary Benson * gnu/testlet/TestSecurityManager.java: Add new "enabled" flag. (install): Disable self before setting security manager. (uninstall): Likewise. (prepareChecks): Enable self after preparing checks. (checkPermission): Don't check unless enabled, and disable self before throwing exceptions. (checkAllChecked): Disable self before checking. 2006-07-11 Gary Benson * configure.in: Reinstated SRCDIR. * configure: Regenerated. 2006-07-11 David Gilbert * gnu/testlet/java/awt/image/BufferedImage/constructors.java: New file. 2006-07-10 Matt Wringe * gnu/testlet/java/security/Engine/getInstance.java (testAlgorithmCase): New Test. Tests algorithm name case insensitivity. 2006-07-10 David Gilbert * gnu/testlet/javax/swing/AbstractButton/setHorizontalTextPosition.java: New file, * gnu/testlet/javax/swing/AbstractButton/setVerticalTextPosition.java: New file, * gnu/testlet/javax/swing/Timer/setDelay.java: New file, * gnu/testlet/javax/swing/Timer/setInitialDelay.java: New file, * gnu/testlet/javax/swing/ToolTipManager/setDismissDelay.java: New file, * gnu/testlet/javax/swing/ToolTipManager/setInitialDelay.java: New file, * gnu/testlet/javax/swing/ToolTipManager/setReshowDelay.java: New file. 2006-07-07 Tania Bento * gnu/testlet/java/awt/testName.java: New test. 2006-07-07 David Gilbert * gnu/testlet/javax/swing/AbstractButton/setHorizontalAlignment.java: New test, * gnu/testlet/javax/swing/AbstractButton/setVerticalAlignment.java: New test. 2006-07-07 David Gilbert * gnu/testlet/javax/swing/AbstractButton/setRolloverIcon.java: New test, * gnu/testlet/javax/swing/AbstractButton/setRolloverSelectedIcon.java: Likewise. 2006-07-07 David Gilbert * gnu/testlet/javax/swing/plaf/basic/BasicArrowButton/getMaximumSize.java (test): Check modification of return value, * gnu/testlet/javax/swing/plaf/basic/BasicArrowButton/getMinimumSize.java (test): Likewise, * gnu/testlet/javax/swing/plaf/basic/BasicArrowButton/getPreferredSize.java (test): Likewise. 2006-07-07 Roman Kennke * gnu/testlet/java/awt/Container/setLayout.java: New file. 2006-07-07 Roman Kennke * gnu/testlet/java/awt/Component/setFont.java: New file. * gnu/testlet/java/awt/Component/isValid.java: New file. 2006-06-23 Roman Kennke * gnu/testlet/javax/swing/JInternalFrame/setSelected2.java (test): Make sure the internal frame is showing, otherwise setSelected doesn't work on JDK5. Fixed some tests to PASS with JDK5. 2006-07-07 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getCheckBoxIcon.java (test): Add check for UIResource, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getCheckBoxMenuItemIcon.java (test): Likewise, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getFileChooserDetailViewIcon.java (test): Likewise, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getFileChooserHomeFolderIcon.java (test): Likewise, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getFileChooserListViewIcon.java (test): Likewise, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getFileChooserNewFolderIcon.java (test): Likewise, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getFileChooserUpFolderIcon.java (test): Likewise, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getHorizontalSliderThumbIcon.java (test): Add check for UIResource, change test for cached result, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getInternalFrameAltMaximizeIcon.java (test): Add check for UIResource, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getInternalFrameCloseIcon.java (test): Likewise, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getInternalFrameDefaultMenuIcon.java (test): Likewise, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getInternalFrameMaximizeIcon.java (test): Likewise, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getInternalFrameMinimizeIcon.java (test): Likewise, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getMenuArrowIcon.java (test): Likewise, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getMenuItemArrowIcon.java (test): Likewise, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getRadioButtonIcon.java (test): Likewise, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getRadioButtonMenuItemIcon.java (test): Likewise, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getTreeComputerIcon.java (test): Likewise, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getTreeControlIcon.java (test): Likewise, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getTreeFloppyDriveIcon.java (test): Likewise, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getTreeFolderIcon.java (test): Likewise, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getTreeHardDriveIcon.java (test): Likewise, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getTreeLeafIcon.java (test): Likewise, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getVerticalSliderThumbIcon.java (test): Add check for UIResource, change test for cached result. 2006-07-07 Matt Wringe * gnu/testlet/javax/crypto/spec/TestOfPBEKeySpec.java: New test. 2006-07-06 Audrius Meskauskas * Harness.java: (ErrorStreamPrinter.run): If the readLine() returns null restart the error stream printer. 2006-07-05 David Gilbert * gnu/testlet/javax/swing/InputMap/allKeys.java: New test, * gnu/testlet/javax/swing/InputMap/clear.java: New test, * gnu/testlet/javax/swing/InputMap/constructor.java: New test, * gnu/testlet/javax/swing/InputMap/get.java: New test, * gnu/testlet/javax/swing/InputMap/getParent.java: New test, * gnu/testlet/javax/swing/InputMap/keys.java: New test, * gnu/testlet/javax/swing/InputMap/put.java: New test, * gnu/testlet/javax/swing/InputMap/remove.java: New test, * gnu/testlet/javax/swing/InputMap/setParent.java: New test, * gnu/testlet/javax/swing/InputMap/size.java: New test. 2006-07-05 Audrius Meskauskas * gnu/testlet/javax/swing/JTable/TableRobot.java (vTestArrowKeyNavigation): New test case. (testTable): Call vTestArrowKeyNavigation. 2006-07-04 Anthony Balkissoon * Harness.java: (runner_in_err): Removed this field. (runner_esp): New field. (restartESP): New field. (finalize): Removed reference to runner_in_err. (initProcess): Removed reference to runner_in_err and created a new ErrorStreamPrinter. (runTest): Restart the ErrorStreamPrinter if an IOException was caught during the last test run. (ErrorStreamPrinter): New class. 2006-07-04 Audrius Meskauskas * gnu/testlet/javax/swing/JComboBox/ComboRobot.java: New test. 2006-07-04 Audrius Meskauskas * gnu/testlet/javax/swing/JTable/TableRobot.java: Added GUI tag. * gnu/testlet/javax/swing/JTree/TreeRobot.java: New test. 2006-07-04 Audrius Meskauskas * gnu/testlet/javax/swing/JTable/TableRobot.java: New test. 2006-06-30 Mark Wielaard * Harness.java (initProcess): Initialize TimeoutWatcher with runnerProcess. (runAllTests): Treat IOException as timeout. (TimeoutWatcher.runnerProcess): New field. (TimeoutWatcher.run): Close streams of runnerProcess. 2006-06-30 Tania Bento * gnu/testlet/java/awt/TextArea/testAppendText.java: New test. * gnu/testlet/java/awt/TextArea/testInsertText.java: New test. * gnu/testlet/java/awt/TextArea/testInvalidConstructorValues: New test. * gnu/testlet/java/awt/TextArea/testReplaceText.java : New test. 2006-06-30 David Gilbert * gnu/testlet/java/awt/TextArea/constructors.java (test): Call testConstructor5(). 2006-06-30 David Gilbert * gnu/testlet/java/awt/TextArea/constructors.java: New test, * gnu/testlet/java/awt/TextField/constructors.java: New test. 2006-06-29 Anthony Balkissoon * gnu/testlet/org/omg/CORBA/ORB/RF11/A_except1Helper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/A_except2Helper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/BHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/B_exceptHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_ObjectHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_anyHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_booleanHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_charHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_doubleHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_floatHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_longHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_octetHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_shortHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_stringHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_ulongHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_ushortHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/C_exceptHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_ObjectHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_anyHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_booleanHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_charHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_doubleHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_floatHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_longHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_octetHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_shortHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_stringHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_ulongHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_ushortHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/C_structHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/C_unionHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_BHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_booleanHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_charHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_longHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_shortHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_ulongHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_ushortHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/D_exceptHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/E_arrayHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/E_exceptHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/E_sequenceHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/E_structHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/E_unionHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/F_array_e_c_structHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/F_array_e_c_unionHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/F_except1Helper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/F_except2Helper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/F_except3Helper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/F_sequence_e_c_structHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/F_sequence_e_c_unionHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/F_structHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/F_unionHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/G_array_e_e_structHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/G_array_e_e_unionHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/G_exceptHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/G_sequence_e_e_structHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/G_sequence_e_e_unionHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/G_structHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/G_unionHelper.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/_rf11ImplBase.java, * gnu/testlet/org/omg/CORBA/ORB/RF11/rf11Helper.java, * gnu/testlet/org/omg/CORBA/ORB/communication/_comTesterImplBase.java, * gnu/testlet/org/omg/CORBA/ORB/communication/nodeHelper.java, * gnu/testlet/org/omg/CORBA/ORB/communication/ourUserExceptionHelper.java, * gnu/testlet/org/omg/CORBA/ORB/communication/passThisHelper.java, * gnu/testlet/org/omg/CORBA/ORB/communication/returnThisHelper.java, * gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/GreetingsHelper.java, * gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/Info.java, * gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/InfoHelper.java, * gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/_GreetingsImplBase.java, * gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/cmInfo.java, * gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/cmInfoHelper.java, * gnu/testlet/org/omg/DynamicAny/DynAny/Iona/TestEnumHelper.java, * gnu/testlet/org/omg/DynamicAny/DynAny/Iona/TestStructHelper.java, * gnu/testlet/org/omg/PortableServer/POA/TestHelper.java, * gnu/testlet/org/omg/PortableServer/POA/TestLocationForwardHelper.java, * gnu/testlet/org/omg/PortableServer/POA/TestLocationForwardPOA.java, * gnu/testlet/org/omg/PortableServer/POA/TestLocationForwardServerHelper.java, * gnu/testlet/org/omg/PortableServer/POA/TestLocationForwardServerPOA.java, * gnu/testlet/org/omg/PortableServer/POA/TestPOA.java, * gnu/testlet/org/omg/PortableServer/POAOperations/communication/ourUserExceptionHelper.java, * gnu/testlet/org/omg/PortableServer/POAOperations/communication/poa_comTesterHelper.java, * gnu/testlet/org/omg/PortableServer/POAOperations/communication/poa_comTesterPOA.java, * gnu/testlet/org/omg/PortableServer/POAOperations/communication/remotePoaControlHelper.java, * gnu/testlet/org/omg/PortableServer/POAOperations/communication/remotePoaControlPOA.java: Marked as not-a-test. 2006-06-29 Anthony Balkissoon * RunnerProcess.java: (runtest): Check if the class is abstract (and therefore not a test) and mark it as NOT_A_TEST_DESCRIPTION if so. 2006-06-29 David Gilbert * gnu/testlet/javax/swing/JMenuBar/getActionMap.java: New test, * gnu/testlet/javax/swing/JMenuBar/getHelpMenu.java: New test, * gnu/testlet/javax/swing/JMenuBar/setHelpMenu.java: New test, * gnu/testlet/javax/swing/JMenuBar/setMargin.java: New test. 2006-06-29 David Gilbert * gnu/testlet/javax/swing/JComponent/getActionForKeyStroke.java: New test, * gnu/testlet/javax/swing/JComponent/getRegisteredKeyStrokes.java: New test, * gnu/testlet/javax/swing/JComponent/registerKeyboardAction.java: New test, * gnu/testlet/javax/swing/JComponent/setDefaultLocale.java: New test. 2006-06-28 David Gilbert * gnu/testlet/javax/swing/JComponent/getVerifyInputWhenFocusTarget.java: New test, * gnu/testlet/javax/swing/JComponent/setVerifyInputWhenFocusTarget.java: New test. 2006-06-28 David Gilbert * gnu/testlet/java/beans/VetoableChangeSupport/addVetoableChangeListener.java: New test, * gnu/testlet/javax/swing/JComponent/addVetoableChangeListener.java: New test, * gnu/testlet/javax/swing/JComponent/getListeners.java (MyVetoableChangeListener): New inner class, (test): Extended to check for VetoableChangeListeners, * gnu/testlet/javax/swing/JComponent/getVetoableChangeListener.java: New test, * gnu/testlet/javax/swing/JComponent/removeVetoableChangeListener.java: New test. 2006-06-28 David Gilbert * gnu/testlet/javax/swing/JComponent/getComponentPopupMenu.java: New test, * gnu/testlet/javax/swing/JComponent/setComponentPopupMenu.java: New test, * gnu/testlet/javax/swing/JComponent/setInheritsPopupMenu.java: New test. 2006-06-28 David Gilbert * gnu/testlet/java/awt/Component/setMaximumSize.java: New test, * gnu/testlet/java/awt/Component/setMinimumSize.java: New test, * gnu/testlet/java/awt/Component/setPreferredSize.java: New test. 2006-06-28 David Gilbert * gnu/testlet/javax/swing/JScrollBar/getActionMap.java: New test, * gnu/testlet/javax/swing/JSplitPane/getActionMap.java: New test. 2006-06-28 Raif S. Naffah * gnu/testlet/gnu/javax/crypto/jce/TestOfDHKeyAgreement2.java: New test. 2006-06-28 David Gilbert * gnu/testlet/javax/swing/table/DefaultTableColumnModel/addColumn.java (test): Check that no listeners are added to the column, * gnu/testlet/javax/swing/table/DefaultTableColumnModel/constructor.java (test): Call new test methods, (testGeneral): Code from original test method, (testChangeEventInitialization): Checks for initialization of changeEvent, * gnu/testlet/javax/swing/table/DefaultTableColumnModel/getColumn.java (test): Add checks for bad arguments, * gnu/testlet/javax/swing/table/DefaultTableColumnModel/getColumnSelectionAllowed: Minor reformat, * gnu/testlet/javax/swing/table/DefaultTableColumnModel/getTotalColumnWidth.java: New test, * gnu/testlet/javax/swing/table/DefaultTableColumnModel/MyDefaultTableColumnModel.java: New support class, * gnu/testlet/javax/swing/table/DefaultTableColumnModel/removeColumn.java (test): Add a check for column not in model, * gnu/testlet/javax/swing/table/DefaultTableColumnModel/setSelectionModel.java (test): Added new listener checks. 2006-06-27 Anthony Balkissoon * Harness.java: (bcp_timeout): Removed this field. (testIsHung): Likewise. (runner_lock): Likewise. (getClasspathInstallString): Return an empty string instead of null when no bootclasspath is detected. (getBootClassPath): Removed the TimeoutWatcher and replaced the busy waiting with a blocking readLine(). (finalize): Moved runnerProcess.destroy() to before the closing of the io pipes. (runTest): Redesigned to replace busy waiting with blocking readLine() call. (TimeoutWatcher.run): If the timeout occurs, kill the RunnerProcess and restart it instead of notifying the Harness and letting the Harness do the work. (DetectBootclasspath.main): If the bootclasspath isn't detectable, return a String saying so. * RunnerProcess.java: (FAILED_TO_LOAD_DESCRIPTION): New field. (UNCAUGHT_EXCEPTION_DESCRIPTION): Likewise. (main): If the testname is null, call System.exit. (runtest): Set the description earlier to avoid NPE. Handle loading exceptions and uncaught exceptions better. (runAndReport): Handle loading exceptions and uncaught exceptions. 2006-06-27 Anthony Balkissoon * Makefile.am: Removed reference to gnu/testlet/TestSecurityManager2.java which no longer exists. * Makefile.in: Regenerated. 2006-06-27 David Gilbert * gnu/testlet/java/awt/Point/setLocation.java (test): Added new checks. 2006-06-27 David Gilbert * gnu/testlet/java/awt/Component/setName.java: New test. 2006-06-27 Gary Benson * RunnerProcess.java (removeSecurityManager): Updated. 2006-06-27 Gary Benson * gnu/testlet/TestSecurityManager.java: Replaced with a refactored, javadocced version of what was TestSecurityManager2. * gnu/testlet/java/awt/Graphics2D/security.java: Use the above. * gnu/testlet/java/awt/Robot/security.java: Likewise. * gnu/testlet/java/awt/Toolkit/security.java: Likewise. * gnu/testlet/java/awt/Window/security.java: Likewise. * gnu/testlet/java/io/File/security.java: Likewise. * gnu/testlet/java/io/FileInputStream/security.java: Likewise. * gnu/testlet/java/io/FileOutputStream/security.java: Likewise. * gnu/testlet/java/io/ObjectInputStream/security.java: Likewise. * gnu/testlet/java/io/ObjectOutputStream/security.java: Likewise. * gnu/testlet/java/io/RandomAccessFile/security.java: Likewise. * gnu/testlet/java/lang/Class/security.java: Likewise. * gnu/testlet/java/lang/ClassLoader/security.java: Likewise. * gnu/testlet/java/lang/Runtime/security.java: Likewise. * gnu/testlet/java/lang/SecurityManager/thread.java: Likewise. * gnu/testlet/java/lang/System/security.java: Likewise. * gnu/testlet/java/lang/Thread/insecurity.java: Likewise. * gnu/testlet/java/lang/Thread/security.java: Likewise. * gnu/testlet/java/lang/ThreadGroup/insecurity.java: Likewise. * gnu/testlet/java/lang/ThreadGroup/security.java: Likewise. * gnu/testlet/java/lang/reflect/AccessibleObject/security.java: Likewise. * gnu/testlet/TestSecurityManager2.java: Removed. 2006-06-27 Gary Benson * gnu/testlet/java/lang/Runtime/security.java: Classpath now also checks modifyThreadGroup on thread creation. 2006-06-27 Gary Benson * gnu/testlet/java/lang/Thread/insecurity.java: Minor fix. 2006-06-27 Gary Benson * gnu/testlet/java/lang/ThreadGroup/insecurity.java: Removed some unused stuff. 2006-06-27 David Gilbert * gnu/testlet/java/awt/Component/setComponentOrientation.java: New test, * gnu/testlet/java/awt/Container/applyComponentOrientation.java: New test. 2006-06-26 David Gilbert * gnu/testlet/javax/swing/JList/getNextMatch.java: New test. 2006-06-26 David Gilbert * gnu/testlet/javax/swing/JList/setValueIsAdjusting.java: New test, * gnu/testlet/javax/swing/JList/setVisibleRowCount.java: New test. 2006-06-26 David Gilbert * gnu/testlet/javax/swing/plaf/basic/BasicHTML/isHTMLString.java: New test. 2006-06-26 Anthony Balkissoon * gnu/testlet/javax/rmi/CORBA/Tie/RMI_test.java: Marked not-a-test. * gnu/testlet/javax/xml/parsers/DocumentBuilder/Verifyer.java: Likewise. * gnu/testlet/org/omg/CORBA/ORB/Asynchron/_asyncImplBase.java: Likewise. * gnu/testlet/org/omg/CORBA/ORB/Asynchron/_asyncStub.java: Likewise. * gnu/testlet/org/omg/CORBA/ORB/Asynchron/assServant.java: Likewise. * gnu/testlet/org/omg/CORBA/ORB/Asynchron/async.java: Likewise. * gnu/testlet/org/omg/CORBA/ORB/RF11/B.java: Likewise. * gnu/testlet/org/omg/CORBA/ORB/RF11/NEC_RF11.java: Likewise. * gnu/testlet/org/omg/CORBA/ORB/RF11/rf11Operations.java: Likewise. * gnu/testlet/org/omg/CORBA/ORB/communication/comTester.java: Likewise. * gnu/testlet/org/omg/CORBA/ORB/communication/ourUserException.java: Likewise. * gnu/testlet/org/omg/CORBA/portable/OutputStream/mirror.java: Likewise. * gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/Greetings.java: Likewise. * gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/InfoValueFactory.java: Likewise. * gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/cmInfoValueFactory.java: Likewise. * gnu/testlet/org/omg/DynamicAny/DynAny/Iona/TestEnum.java: Likewise. * gnu/testlet/org/omg/PortableServer/POA/Test.java: Likewise. * gnu/testlet/org/omg/PortableServer/POA/TestDSIRef_impl.java: Likewise. * gnu/testlet/org/omg/PortableServer/POA/TestDSI_impl.java: Likewise. * gnu/testlet/org/omg/PortableServer/POA/TestLocationForward.java: Likewise. * gnu/testlet/org/omg/PortableServer/POA/TestLocationForwardActivator_impl.java: Likewise. * gnu/testlet/org/omg/PortableServer/POA/TestLocationForwardOperations.java: Likewise. * gnu/testlet/org/omg/PortableServer/POA/TestLocationForwardServer.java:Likewise. * gnu/testlet/org/omg/PortableServer/POA/TestLocationForwardServerMain.java: Likewise. * gnu/testlet/org/omg/PortableServer/POA/TestLocationForwardServerOperations.java: Likewise. * gnu/testlet/org/omg/PortableServer/POA/TestLocationForward_impl.java: Likewise. * gnu/testlet/org/omg/PortableServer/POA/TestOperations.java: Likewise. * gnu/testlet/org/omg/PortableServer/POA/TestUtil.java: Likewise. * gnu/testlet/org/omg/PortableServer/POA/Test_impl.java: Likewise. * gnu/testlet/org/omg/PortableServer/POAOperations/communication/poa_comTester.java: Likewise. * gnu/testlet/org/omg/PortableServer/POAOperations/communication/poa_comTesterOperations.java: Likewise. * gnu/testlet/org/omg/PortableServer/POAOperations/communication/remotePoaControl.java: Likewise. * gnu/testlet/org/omg/PortableServer/POAOperations/communication/remotePoaControlOperations.java: Likewise. * gnu/testlet/runner/CheckResult.java: Likewise. * gnu/testlet/runner/ClassResult.java: Likewise. * gnu/testlet/runner/PackageResult.java: Likewise. * gnu/testlet/runner/RunResult.java: Likewise. * gnu/testlet/runner/Tags.java: Likewise. * gnu/testlet/runner/TestResult.java: Likewise. * gnu/testlet/runner/XMLGenerator.java: Likewise. 2006-06-26 David Gilbert * gnu/testlet/javax/swing/JList/setLayoutOrientation.java: New test. 2006-06-26 Gary Benson * gnu/testlet/java/io/FileInputStream/security.java: Minor tweaks. 2006-06-25 Mark Wielaard * gnu/testlet/java/lang/Class/newInstance.java: Add checks for interface, abstract, primitive and void classes. 2006-06-24 Andrew John Hughes * gnu/testlet/java/lang/management/ClassLoadingMXBeanTest.java: New test to ensure security of setVerbose is maintained. 2006-06-24 Andrew John Hughes * gnu/testlet/java/lang/management/BadGuy.java: Restrictive security manager used for testing the management beans. * gnu/testlet/java/lang/management/OperatingSystemMXBeanTest.java, * gnu/testlet/java/lang/management/RuntimeMxBeanTest.java: New tests for the management beans. * gnu/testlet/java/util/logging/LoggingMXBean.java: Test the logging bean. 2006-06-24 Mark Wielaard * Harness.java (getBootClassPath): Add Thread.sleep(). (runTest): Likewise. 2006-06-22 Anthony Balkissoon * Harness.java: (runTest): If the RunnerProcess cannot be instantiated, print the message to stderr not stdout. (getBootClassPath): If the bootclasspath cannot be detected, print the message to stderr not stdout. 2006-06-22 Anthony Balkissoon * Harness.java: (runner_in_err): New field. (getBootClassPath): Use the vmArgs when forking the detector. (finalize): Close the pipe to the RunnerProcess' error stream. (initProcess): Set up the pipe to the RunnerProcess' error stream. Stop the watcher after confirming startup. (runTest): Collect error stream output from the RunnerProcess in a StringBuffer and print it when there's no new regular output from the test. Also print it after the test has completed. 2006-06-22 David Gilbert * gnu/testlet/javax/swing/JLabel/getActionMap.java: New file, * gnu/testlet/javax/swing/JLabel/getInputMap.java (testMethod2): Added new checks, * gnu/testlet/javax/swing/JLabel/setDisplayedMnemonic.java (testKeyMap): New method, * gnu/testlet/javax/swing/JLabel/setFont.java: New file, * gnu/testlet/javax/swing/JLabel/setHorizontalAlignment.java: New file, * gnu/testlet/javax/swing/JLabel/setIconTextGap.java: New file, * gnu/testlet/javax/swing/JLabel/setText.java (events): New field, (propertyChange): New method, (testGeneral): New method, (testGeneralWithMnemonic): New method, * gnu/testlet/javax/swing/JLabel/setVerticalAlignment.java: New file. 2006-06-22 Lillian Angel * gnu/testlet/java/awt/CheckboxGroup/testGroup.java: Fixed Tag, removed FIXME. 2006-06-22 Lillian Angel * gnu/testlet/java/awt/CheckboxGroup/testGroup.java: New test. 2006-06-22 Roman Kennke * gnu/testlet/javax/swing/text/PlainDocument/insertUpdate.java (test02): New test method. (test03): New test method. (test04): New test method. 2006-06-22 Roman Kennke * gnu/testlet/javax/swing/text/PlainDocument/getDocumentProperties.java: New test class. * gnu/testlet/javax/swing/text/AbstractDocument/getDocumentProperties.java: New test class. * gnu/testlet/javax/swing/text/AbstractDocument/TestAbstractDocument.java: New auxiliary class. 2006-06-22 Roman Kennke * gnu/testlet/javax/swing/text/PlainDocument/insertUpdate.java New test class. 2006-06-22 David Gilbert * gnu/testlet/javax/swing/JLabel/setDisplayedMnemonic.java: (displayedMnemonicWhenEventFired): New field, (propertyChange): Record mnemonic value at time of event, (testMethod1): Check mnemonic at event time, (testMethod2): Added new checks, * gnu/testlet/javax/swing/JLabel/setDisplayedMnemonicIndex.java: (propertyChange): Only record index for a specific event, (test): Added new checks. 2006-06-22 David Gilbert * gnu/testlet/javax/swing/JLabel/setDisplayedMnemonic.java: New test, * gnu/testlet/javax/swing/JLabel/setDisplayedMnemonicIndex.java: New test. 2006-06-21 neugens * gnu/testlet/java/util/prefs/PreferenceTest.java (testBoolean): new test method. (test): call to enable new test. 2006-06-21 Anthony Balkissoon * README: Added info about new -vmarg option for the Harness. * Harness.java: (vmArgs): New field. (main): Handle new -vmarg option. (initProcess): Concatenate the vmArgs to the vmCommand before running exec. 2006-06-21 Anthony Balkissoon * gnu/testlet/SimpleTestHarness.java: Removed this file. 2006-06-21 Gary Benson * gnu/testlet/java/lang/reflect/AccessibleObject/security.java: New test. 2006-06-21 Gary Benson * gnu/testlet/java/awt/Graphics2D/security.java: New test. 2006-06-20 Tom Tromey * gnu/testlet/java/net/URLStreamHandler/Except.java: New file. 2006-06-20 Tania Bento * gnu/testlet/javax/swing/JMenu/remove.java: New test. 2006-06-20 Tania Bento * gnu/testlet/javax/swing/JMenu/getPopUpMenu.java: New test. 2006-06-20 Tania Bento * gnu/testlet/javax/swing/JMenu/constructors.java: New test. 2006-06-20 Gary Benson * gnu/testlet/java/awt/Toolkit/security.java: New test. 2006-06-19 Anthony Balkissoon * RunnerProcess.java: (lastFailureMessage): New field. (runtest): Strip the "gnu.testlet" from the name passed to the TestResult. Also use the new 3 parameter TestResult.addException to pass the stack trace to the TestResult. Properly indent the stack trace when printing exception details. (getStackTraceString): New method. (fail): Get the description from check2 and add the full failure string to the TestResult. (check(Object, Object)): Likewise. (check(boolean, boolean)): Likewise. (check(int, int)): Likewise. (check(long, long)): Likewise. (check(boolean)): Likewise. (check2): Return the description. Do not add the failure description to the TestResult here, do it in the individual check() methods so that a full description can be added. Use the new TestResult.addPass(String) method instead of the old no argument method. * TestReport.java: (writeXML): Do not write the passCount value, write the passes as well as the fails, and write the stack traces for exceptions. Properly indent the xml. * TestResult.java: (passCount): Removed this field. (passMessages): New field. (exceptionReason): New field. (addPass): Now takes in a String argument, acts just like addFail(). Descriptions are taken in for passes as well as fails. (addException): Now takes 3 arguments instead of 2, the new argument is the stack trace for the exception. (getPassCount): Returns the size of the passMessages ArrayList. (getPassMessages): New method. (getExceptionReason): Likewise. 2006-06-19 Anthony Balkissoon * Harness.java: (total_check_fails): New field. (main): Print a summary even if only one test failed. Include the total number of failing check() calls in the summary. (runTest): When a test fails, increment total_check_fails by the number of checks in that test that failed, which is passed back from the RunnerProcess. * RunnerProcess.java: (main): If a test fails to load, report the failure and count 0 total check() fails. (runAndReport): When a test fails, report the number of calls to check() that failed. (done): If the test failed, return the number of calls to check() that failed. 2006-06-19 Anthony Balkissoon * Harness.java: (getBootclasspath): When the auto detector returns, stop the timeout watcher. (printHelpMessage): Replaced reference to old --with-test-java with the correct --with-vm. (initProcess): Replace the runner_watcher after confirming the startup of the RunnerProcess. This way the runner_watcher will not time out before the first real test is run. (runTest): Added code to handle a timer reset request from the RunnerProcess. (TimeoutWatcher.shouldContinue): New field. (TimeoutWatcher.stop): New method. (TimeoutWatcher.run): Added reference to shouldContinue to allow this method to be stopped. * RunnerProcess.java: (check2): Send a message to the Harness requesting a reset of the timer. 2006-06-19 Mario Torre * gnu/testlet/java/util/prefs: New package added. * gnu/testlet/java/util/prefs/PreferenceTest.java: New test. 2006-06-19 David Gilbert * gnu/testlet/javax/swing/plaf/IconUIResource/constructor.java: New test. 2006-06-18 Thomas Fitzsimmons * Makefile.am (harness_files): Add gnu/testlet/config.java. (gnu/testlet/config.class): Remove target. * Makefile.in: Regenerate. 2006-06-18 Thomas Fitzsimmons * gnu/testlet/java/awt/GridBagLayout/AdjustForGravity.java: New test. 2006-06-18 Raif S. Naffah * gnu/testlet/gnu/java/security/util/TestOfPrime2.java: Removed. * gnu/testlet/gnu/java/security/jce/TestOfKeyPairGenerator.java: Remove unused imports. Use isProbablePrime() in BigInteger instead of Prime2. * gnu/testlet/gnu/java/security/key/dss/TestOfDSSKeyGeneration.java: Likewise. * gnu/testlet/gnu/javax/crypto/key/srp6/TestOfSRPKeyGeneration.java: Likewise. * gnu/testlet/gnu/javax/crypto/key/dh/TestOfDHKeyGeneration.java: Likewise. * gnu/testlet/gnu/java/security/key/rsa/TestOfRSAKeyGeneration.java: Likewise. 2006-06-17 Raif S. Naffah * gnu/testlet/gnu/javax/crypto/jce/TestOfCipherEngineInit.java (input): New field. (testECB): Shortned the messages. Use above field. (testNotECB): Likewise. (testInitWithParameterSpec): Added checks for non-uniformity of IVs. 2006-06-16 David Gilbert * gnu/testlet/javax/swing/DefaultComboBoxModel/removeElement.java (events): New field, (index0): Removed, (index1): Removed, (type): Removed, (contentsChanged): Add event to list, (intervalAdded): Likewise, (intervalRemoved): Likewise, (test): Updated checks to look for event or events in list. 2006-06-16 David Gilbert * gnu/testlet/javax/swing/DefaultButtonModel/setSelected.java (lastItemEvent): New field, (itemChanged): New method, (test): Check for required item event. 2006-06-16 David Gilbert * gnu/testlet/javax/swing/event/ListDataEvent/constructor.java: New file, * gnu/testlet/javax/swing/event/ListDataEvent/getIndex0.java: New file, * gnu/testlet/javax/swing/event/ListDataEvent/getIndex1.java: New file, * gnu/testlet/javax/swing/event/ListDataEvent/getSource.java: New file, * gnu/testlet/javax/swing/event/ListDataEvent/getType.java: New file, * gnu/testlet/javax/swing/event/ListDataEvent/toString.java: New file. 2006-06-15 Vivek Lakshmanan * gnu/testlet/gnu/javax/crypto/jce/TestOfCipherEngineInit.java (testInitWithParameterSpec): More comments and look for InvalidAlgorithmParameterException instead of InvalidKeyException. 2006-06-15 Tania Bento * gnu/testlet/javax/swing/JRadioButton/isFocusable.java: New test. 2006-06-15 Tania Bento * gnu/testlet/javax/swing/JCheckBox/isFocusable.java: New test. 2006-06-15 Tania Bento * gnu/testlet/javax/swing/JToggleButton/isFocusable.java: New test. 2006-06-15 Tania Bento * gnu/testlet/javax/swing/JButton/constructors.java (testConstructor1): Added 'focusable' test. (testConstructor2): Added 'focusable' test. (testConstructor4): Added 'focusable' test. (testConstructor6): Added 'focusable' test. (testConstructor9): Added 'focusable' test. 2006-06-15 Tania Bento * gnu/testlet/javax/swing/plaf/metal/MetalScrollButton/isFocusable.java: New test. 2006-06-15 Tania Bento * gnu/testlet/javax/swing/plaf/basic/BasicArrowButton/isFocusable.java: New test. 2006-06-15 Tania Bento * gnu/testlet/javax/swing/JRadioButtonMenuItem/isFocusable.java: New test. 2006-06-15 Tania Bento * gnu/testlet/javax/swing/JCheckBoxMenuItem/constructors.java (testConstructor1): Added 'focusable' check. (testConstructor2): Added 'focusable' check. (testConstructor4): Added 'focusable' check. (testConstructor6): Added 'focusable' check. (testConstructor8): Added 'focusable' check. (testConstructor10): Added 'focusable' check. (testConstructor12): Added 'focusable' check. 2006-06-15 Vivek Lakshmanan * gnu/testlet/gnu/javax/crypto/jce/TestOfCipherEngineInit.java: Add proper tag information. (testInitWithParameterSpec): New method. (test): Add call to new test for init with null AlgorithmParameterSpec. 2006-06-14 Vivek Lakshmanan * gnu/testlet/gnu/javax/crypto/jce/TestOfCipherEngineInit.java: New test. 2006-06-14 David Gilbert * gnu/testlet/java/awt/Polygon/getPathIterator.java: New test. 2006-06-14 Anthony Balkissoon * .cvsignore: Removed .ecjOut and .ecjErr from this file. * Harness.java: (lastFailingCompile): New field. (numCompileFailsInFolder): New field. (showCompilationErrors): Removed this field. (main): Removed the handling of showCompilationErrors. (setupCompiler): Changed ecjWriterOut and ecjWriterErr to use custom PrintWriters instead of writing to .ecjOut and .ecjErr. (getClasspathInstallString): Do not look for the property in config.java, the -with-bootclasspath option has been removed from configuration. (printHelpMessage): Changed the "exceptions" message to indicate that full stack traces are now printed by default. (compileFolder): Removed the code that reads the compiler output and parses it, this is now done in the custom PrintWriter used by the compiler. (compileTest): Likewise. (problemsString): Removed this method. (isCompileSummary): New method. (CompilerErrorWriter): New class. * Makefile.am: Removed SimpleTestHarness.java from harness_files target, removed references to the old harness structure, added check_local and clean_local targets. * Makefile.in: Regenerated. * README: Mentioned that exceptions are now printed by default and -noexceptions is the option to turn them off. * README.OldHarness: Removed this file. * README.TestletToAPI: Likewise. * RunnerProcess.java: (exceptions): Changed from false by default to true by default. (main): Changed -exceptions to -noexceptions. * aclocal.m4: Regenerated. * batch_run: Removed this file. * build.xml: Likewise. * choose: Likewise. * choose-classes: Likewise. * configure: Regenerated. * configure.in: Do not export MAUVEVM, removed --with-gcj option, removed --with-bootclasspath option, removed --enable-gcj-classes option, removed --enable-class-files option. * runner: Removed this file. * uses-list: Likewise. 2006-06-14 Lillian Angel * gnu/testlet/java/awt/TextComponent/ignoreOldMouseEvents.java: New test. 2006-06-14 Lillian Angel * gnu/testlet/java/awt/image/PixelGrabber/testNullProducer.java: New test. 2006-06-13 Tania Bento * gnu/testlet/javax/swing/JCheckBoxMenuItem/constructors.java: New test. 2006-06-13 Gary Benson * gnu/testlet/java/awt/Robot/security.java: Minor cleanup. * gnu/testlet/java/awt/Window/security.java: Likewise. 2006-06-13 Raif S. Naffah * gnu/testlet/gnu/javax/crypto/jce/TestOfPR27849.java: New test. 2006-06-13 Mark Wielaard * gnu/testlet/java/awt/Graphics2D/setTransform.java: getClip() returns a Shape. * gnu/testlet/java/awt/Graphics2D/transform.java: Likewise. 2006-06-12 Francis Kung * gnu/testlet/javax/swing/JComboBox/basic.java: (test): added new test (testTogglingVisibility): new test for mouse clicks 2006-06-11 Raif S. Naffah * gnu/testlet/gnu/java/security/sig/dss/TestOfDSSSignature.java: Use pre- computed DSA keys. * gnu/testlet/gnu/java/security/sig/dss/TestOfDSSSignatureCodec.java: Likewise. 2006-06-11 Raif S. Naffah * gnu/testlet/gnu/javax/crypto/jce/TestOfPR27853.java: Remove unused import. (setUp): Use the same format for both public and private keys. 2006-06-11 Raif S. Naffah * gnu/testlet/gnu/java/security/jce/TestOfProvider.java (setUp): Remove other other than GNU providers. 2006-06-09 David Gilbert * gnu/testlet/java/awt/image/ColorModel/MyColorModel.java: New file, * gnu/testlet/java/awt/image/ColorModel/constructors.java: New file. 2006-06-09 Raif S. Naffah * gnu/testlet/gnu/javax/crypto/pad/TestOfISO10126.java: New test. 2006-06-09 Raif S. Naffah * gnu/testlet/gnu/javax/crypto/jce/TestOfCipher.java (testPadding): Re-wrote to cater for padding schemes using random data. 2006-06-08 Francis Kung * gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/getPreferredSize.java: Additional tests for null and empty elements. 2006-06-08 David Gilbert * gnu/testlet/java/awt/Graphics2D/clip.java: New file, * gnu/testlet/java/awt/Graphics2D/getClip.java: New file, * gnu/testlet/java/awt/Graphics2D/getClipBounds.java: New file, * gnu/testlet/java/awt/Graphics2D/setClipBounds.java: New file. 2006-06-08 David Gilbert * gnu/testlet/java/awt/Graphics2D/setTransform.java: New file, * gnu/testlet/java/awt/Graphics2D/transform.java: New file. 2006-06-08 David Gilbert * gnu/testlet/javax/swing/JScrollPane/getActionMap.java: New file. 2006-06-07 David Gilbert * gnu/testlet/javax/swing/table/JTableHeader/getAccessibleContext.java: New file, * gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/getAccessibleChild.java: New file, * gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/getAccessibleChildrenCount.java: New file, * gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/getAccessibleRole.java: New file, * gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/getAccessibleChild.java: New file, * gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/getAccessibleChildrenCount.java: New file, * gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/getAccessibleComponent.java: New file, * gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/getAccessibleContext.java: New file, * gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/getAccessibleDescription.java: New file, * gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/getAccessibleIndexInParent.java: New file, * gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/getAccessibleName.java: New file, * gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/getAccessibleRole.java: New file, * gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/getAccessibleValue.java: New file, * gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/getBackground.java: New file, * gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/getFont.java: New file, * gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/getForeground.java: New file, * gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/getLocale.java: New file, * gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/isFocusTraversable.java: New file, * gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/isVisible.java: New file, * gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/MyTableCellRenderer.java: New file, * gnu/testlet/javax/swing/table/JTableHeader/AccessibleJTableHeader/AccessibleJTableHeaderEntry/setAccessibleName.java: New file. 2006-06-07 David Gilbert * gnu/testlet/javax/swing/event/InternalFrameEvent/constructor.java: New file, * gnu/testlet/javax/swing/event/InternalFrameEvent/getInternalFrame.java: New file, * gnu/testlet/javax/swing/event/InternalFrameEvent/paramString.java: New file. 2006-06-07 Tania Bento * gnu/testlet/javax/swing/JButton/constructors.java: New file. 2006-06-07 Francis Kung * gnu/testlet/javax/swing/JMenuBar/basic.java: New tests. * gnu/testlet/javax/swing/JMenuBar/constructors.java: New tests. * gnu/testlet/javax/swing/JMenuBar/getComponentIndex.java: New tests. * gnu/testlet/javax/swing/JMenuBar/getMenu.java: New tests. * gnu/testlet/javax/swing/JMenuBar/getSubElements.java: New tests. 2006-06-07 David Gilbert * gnu/testlet/javax/swing/JInternalFrame/getInputMap.java: New file, * gnu/testlet/javax/swing/JLabel/getInputMap.java: New file, * gnu/testlet/javax/swing/JMenu/getInputMap.java: New file, * gnu/testlet/javax/swing/JMenuBar/getInputMap.java: New file, * gnu/testlet/javax/swing/JOptionPane/getInputMap.java: New file, * gnu/testlet/javax/swing/JOptionPane/MyJOptionPane.java: New file, * gnu/testlet/javax/swing/JPopupMenu/getInputMap.java: New file, * gnu/testlet/javax/swing/JScrollBar/getInputMap.java: New file, * gnu/testlet/javax/swing/JScrollPane/getInputMap.java: New file, * gnu/testlet/javax/swing/JSplitPane/getInputMap.java: New file, * gnu/testlet/javax/swing/JTabbedPane/getInputMap.java: New file, * gnu/testlet/javax/swing/JTable/getInputMap.java: New file, * gnu/testlet/javax/swing/JTableHeader/getInputMap.java: New file, * gnu/testlet/javax/swing/JToolBar/getInputMap.java: New file. 2006-06-06 David Gilbert * gnu/testlet/javax/swing/JList/getInputMap.java: New file. 2006-06-06 Lillian Angel * gnu/testlet/javax/swing/JFrame/constructors.java: Fixed copyright comments. 2006-06-06 David Gilbert * gnu/testlet/javax/swing/JTable/AccessibleJTable/AccessibleJTableCell/MyBooleanTableCellRenderer.java: Filled in header details (replacing FIXMEs). 2006-06-06 David Gilbert * gnu/testlet/javax/swing/JComponent/getInputMap.java: New test. 2006-06-06 David Gilbert * gnu/testlet/javax/swing/JTable/AccessibleJTable/getAccessibleColumnHeader.java: New file, * gnu/testlet/javax/swing/JTable/AccessibleJTable/AccessibleJTableCell/getAccessibleRole.java: New file, * gnu/testlet/javax/swing/JTable/AccessibleJTable/AccessibleJTableCell/MyBooleanTableCellRenderer.java: New file, * gnu/testlet/javax/swing/JTable/AccessibleJTable/AccessibleJTableHeaderCell/getAccessibleRole.java: New file. 2006-06-05 Tania Bento * gnu/testlet/javax/swing/JFrame/constructors.java: New test. 2006-06-03 Raif S. Naffah * gnu/testlet/gnu/javax/crypto/jce/TestOfPR27853.java: New test. 2006-06-02 Gary Benson * gnu/testlet/java/awt/Robot/security.java: Comment fixes. * gnu/testlet/java/awt/Window/security.java: Likewise. 2006-06-01 Robert Schuster * gnu/testlet/javax/xml/parsers/DocumentBuilder/PR27864.java: New test. 2006-06-01 David Gilbert * gnu/testlet/javax/swing/JInternalFrame/MyJInternalFrame.java: Fixed tag, * gnu/testlet/javax/swing/JLabel/MyJLabel.java: Likewise, * gnu/testlet/javax/swing/JToolTip/MyJToolTip.java: Likewise. 2006-05-31 Anthony Balkissoon * Harness.java: (getBootclasspath): Accept output to console from the auto detector. (finalize): Dump the coverage data. (initProces): Confirm that the RunnerProcess started properly. (runTest): Use a invalidTest flag to suppress output when -showpasses is used and a file is run that is "not-a-test". If the RunnerProcess startup confirmation fails, print a message and exit. Handle the statup confirmation and coverage dump confirmatino from the RunnerProcess. * Makefile.in: Regenerated. * RunnerProcess.java: (emmaJarLocation): New field. (useEMMA): New field. (emmaMethod): New field. (main): Accept the -emma command line argument to specify the emma.jar location. Setup the EMMA coverage dumping facilities. Handle the messages from the Harness indicating we should confirm startup or force a coverage dump. (setupEMMA): New method. (dumpCoverageData): New method. * configure: Regenerated. * configure.in: Added -with-emma method to allow optional setting of emma.jar location. * gnu/testlet/TestHarness.java: (getEmmaString): New method. * gnu/testlet/config.java.in: (emmaString): New field. (getEmmaString): New method. 2006-05-31 David Gilbert * gnu/testlet/javax/swing/JTable/getAccessibleContext.java: New file, * gnu/testlet/javax/swing/JTable/getCellEditor.java: New file. 2006-05-31 David Gilbert * gnu/testlet/javax/swing/JInternalFrame/setSelected.java: Removed unnecessary import and fixed API doc warning. 2006-05-31 David Gilbert * gnu/testlet/javax/swing/JInternalFrame/AccessibleJInternalFrame/getAccessibleName.java: New file, * gnu/testlet/javax/swing/JInternalFrame/AccessibleJInternalFrame/getAccessibleRole.java: New file, * gnu/testlet/javax/swing/JInternalFrame/AccessibleJInternalFrame/getAccessibleValue.java: New file, * gnu/testlet/javax/swing/JInternalFrame/AccessibleJInternalFrame/getCurrentAccessibleValue.java: New file, * gnu/testlet/javax/swing/JInternalFrame/AccessibleJInternalFrame/getMaximumAccessibleValue.java: New file, * gnu/testlet/javax/swing/JInternalFrame/AccessibleJInternalFrame/getMinimumAccessibleValue.java: New file, * gnu/testlet/javax/swing/JInternalFrame/AccessibleJInternalFrame/setMaximumAccessibleValue.java: New file. 2006-05-31 David Gilbert * gnu/testlet/javax/swing/JInternalFrame/setClosable.java (TestPropertyChangeHandler): Removed, (lastEvent): New field, (propertyChange): New method, (test): Rewritten, * gnu/testlet/javax/swing/JInternalFrame/setIconifiable.java (TestPropertyChangeHandler): Removed, (lastEvent): New field, (propertyChange): New method, (test): Rewritten, * gnu/testlet/javax/swing/JInternalFrame/setResizable.java (TestPropertyChangeHandler): Removed, (lastEvent): New field, (propertyChange): New method, (test): Rewritten, * gnu/testlet/javax/swing/JInternalFrame/setSelected2.java: New file. 2006-05-31 David Gilbert * gnu/testlet/javax/swing/JInternalFrame/constructors.java: New file, * gnu/testlet/javax/swing/JInternalFrame/dispose.java: New file, * gnu/testlet/javax/swing/JInternalFrame/getDesktopIcon.java: New file, * gnu/testlet/javax/swing/JInternalFrame/getNormalBounds.java: New file, * gnu/testlet/javax/swing/JInternalFrame/isIconifiable.java: New file, * gnu/testlet/javax/swing/JInternalFrame/isResizable.java: New file, * gnu/testlet/javax/swing/JInternalFrame/MyJInternalFrame.java: New file, * gnu/testlet/javax/swing/JInternalFrame/paramString.java: New file, * gnu/testlet/javax/swing/JInternalFrame/setDefaultCloseOperation.java: New file, * gnu/testlet/javax/swing/JInternalFrame/setDesktopIcon.java: New file, * gnu/testlet/javax/swing/JInternalFrame/setFrameIcon.java: New file, * gnu/testlet/javax/swing/JInternalFrame/setNormalBounds.java: New file, * gnu/testlet/javax/swing/JInternalFrame/setTitle.java: New file. 2006-05-31 David Gilbert * gnu/testlet/javax/swing/JLabel/AccessibleJLabel/getAccessibleName: New file. 2006-05-31 David Gilbert * gnu/testlet/javax/swing/JLabel/getAccessibleContext.java: New file, * gnu/testlet/javax/swing/JLabel/paramString.java: New file, * gnu/testlet/javax/swing/JLabel/setLabelFor.java: New file, * gnu/testlet/javax/swing/JLabel/MyJLabel.java: New file. 2006-05-31 David Gilbert * gnu/testlet/javax/swing/JToolTip/getAccessibleContext.java: New file, * gnu/testlet/javax/swing/JToolTip/getComponent.java: New file, * gnu/testlet/javax/swing/JToolTip/getTipText.java: New file, * gnu/testlet/javax/swing/JToolTip/getUIClassID.java: New file, * gnu/testlet/javax/swing/JToolTip/paramString.java: New file, * gnu/testlet/javax/swing/JToolTip/setComponent.java: New file, * gnu/testlet/javax/swing/JToolTip/setTipText.java: New file. 2006-05-31 David Gilbert * gnu/testlet/javax/swing/JProgressBar/getAccessibleContext.java: New file, * gnu/testlet/javax/swing/JProgressBar/getPercentComplete.java: New file, * gnu/testlet/javax/swing/JProgressBar/getString.java: New file, * gnu/testlet/javax/swing/JProgressBar/isStringPainted.java: New file, * gnu/testlet/javax/swing/JProgressBar/MyJProgressBar.java: New file, * gnu/testlet/javax/swing/JProgressBar/paramString.java: New file, * gnu/testlet/javax/swing/JProgressBar/setBorderPainted.java: New file, * gnu/testlet/javax/swing/JProgressBar/setModel.java: New file, * gnu/testlet/javax/swing/JProgressBar/setOrientation.java: New file, * gnu/testlet/javax/swing/JProgressBar/setString.java: New file, * gnu/testlet/javax/swing/JProgressBar/setStringPainted.java: New file, * gnu/testlet/javax/swing/JProgressBar/setValue.java: New file. 2006-05-31 David Gilbert * gnu/testlet/javax/swing/DefaultListSelectionModel/addListSelectionListener.java: New file, * gnu/testlet/javax/swing/DefaultListSelectionModel/addSelectionInterval.java: New file, * gnu/testlet/javax/swing/DefaultListSelectionModel/clearSelection.java: New file, * gnu/testlet/javax/swing/DefaultListSelectionModel/clone.java: New file, * gnu/testlet/javax/swing/DefaultListSelectionModel/constructor.java: New file, * gnu/testlet/javax/swing/DefaultListSelectionModel/getAnchorSelection.java: New file, * gnu/testlet/javax/swing/DefaultListSelectionModel/getLeadSelectionIndex.java: New file, * gnu/testlet/javax/swing/DefaultListSelectionModel/getListeners.java: New file, * gnu/testlet/javax/swing/DefaultListSelectionModel/getListSelectionListeners.java: New file, * gnu/testlet/javax/swing/DefaultListSelectionModel/getMaxSelectionIndex.java: New file, * gnu/testlet/javax/swing/DefaultListSelectionModel/getMinSelectionIndex.java: New file, * gnu/testlet/javax/swing/DefaultListSelectionModel/getSelectionMode.java: New file, * gnu/testlet/javax/swing/DefaultListSelectionModel/getValueIsAdjusting.java: New file, * gnu/testlet/javax/swing/DefaultListSelectionModel/insertIndexInterval.java: New file, * gnu/testlet/javax/swing/DefaultListSelectionModel/isLeadAnchorNotificationEnabled.java: New file, * gnu/testlet/javax/swing/DefaultListSelectionModel/isSelectedIndex.java: New file, * gnu/testlet/javax/swing/DefaultListSelectionModel/isSelectionEmpty.java: New file, * gnu/testlet/javax/swing/DefaultListSelectionModel/moveLeadSelectionIndex.java: New file, * gnu/testlet/javax/swing/DefaultListSelectionModel/removeIndexInterval.java: New file, * gnu/testlet/javax/swing/DefaultListSelectionModel/removeListSelectionListener.java: New file, * gnu/testlet/javax/swing/DefaultListSelectionModel/removeSelectionInterval.java: New file, * gnu/testlet/javax/swing/DefaultListSelectionModel/setAnchorSelectionIndex.java: New file, * gnu/testlet/javax/swing/DefaultListSelectionModel/setSelectionInterval.java: New file, * gnu/testlet/javax/swing/DefaultListSelectionModel/setSelectionMode.java: New file, * gnu/testlet/javax/swing/DefaultListSelectionModel/setValueIsAdjusting.java: New file, * gnu/testlet/javax/swing/DefaultListSelectionModel/toString.java: New file. 2006-05-31 David Gilbert * gnu/testlet/javax/swing/DefaultListSelectionModel/setLeadSelectionIndex.java (lastEvent): New field, (valueChanged): New method, (test): Call new test methods, (testSingleSelection): New method, (testSingleIntervalSelection): New method, (testMultipleIntervalSelection): New method. 2006-05-31 David Gilbert * gnu/testlet/javax/swing/JScrollBar/MyJScrollBar.java: New file, * gnu/testlet/javax/swing/JScrollBar/getAccessibleContext.java: New file, * gnu/testlet/javax/swing/JScrollBar/paramString.java: New file. 2006-05-28 David Gilbert * gnu/testlet/javax/swing/JSplitPane/MyJSplitPane.java: New file, * gnu/testlet/javax/swing/JSplitPane/paramString.java: New file, * gnu/testlet/javax/swing/JSplitPane/setResizeWeight.java: New file. 2006-05-28 David Gilbert * gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/constructor.java: New file, * gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/getBackgroundNonSelectionColor.java: New file, * gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/getBackgroundSelectionColor.java: New file, * gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/getBorderSelectionColor.java: New file, * gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/getClosedIcon.java: New file, * gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/getDefaultClosedIcon.java: New file, * gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/getDefaultLeafIcon.java: New file, * gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/getDefaultOpenIcon.java: New file, * gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/getLeafIcon.java: New file, * gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/getOpenIcon.java: New file, * gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/setBackgroundNonSelectionColor.java: New file, * gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/setBackgroundSelectionColor.java: New file, * gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/setBorderSelectionColor.java: New file, * gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/setClosedIcon.java: New file, * gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/setLeafIcon.java: New file, * gnu/testlet/javax/swing/tree/DefaultTreeCellRenderer/setOpenIcon.java: New file. 2006-05-26 Tom Tromey * gnu/testlet/java/math/BigInteger/modPow.java: New file. 2006-05-23 Gary Benson * gnu/testlet/java/awt/Window/security.java: New test. 2006-05-23 Gary Benson * gnu/testlet/java/awt/Robot/security.java: New test. 2006-05-21 Andrew John Hughes * gnu/testlet/java/beans/beancontext/InstantiateChild.java: Fix incorrect test of return value of InstantiateChild. 2006-05-21 Andrew John Hughes * gnu/testlet/java/beans/beancontext/Array.java: New file. Test the semantics of contains and converting to an array. * gnu/testlet/java/beans/beancontext/InstantiateChild.java: New file. Test instantiation of a child in a context by class name. 2006-05-21 Andrew John Hughes * gnu/testlet/java/beans/beancontext/Remove.java: New file. Tests the semantics of removing a bean from a context. 2006-05-21 Andrew John Hughes * gnu/testlet/java/lang/Character/Blocks.java, * gnu/testlet/java/lang/Character/Blocks15.java: New files to test Character blocks. * gnu/testlet/java/beans/beancontext/Add.java: Add more readable checkpoints. 2006-05-21 Andrew John Hughes * gnu/testlet/java/beans/beancontext/Add.java: New file. Tests the semantics of adding a bean to a context. 2006-05-20 Raif S. Naffah * gnu/testlet/gnu/javax/crypto/jce/keyring/TestOfKeystore.java: New test. * gnu/testlet/gnu/javax/crypto/keyring/TestOfGnuPrivateKeyring.java: Likewise. 2006-05-18 Thomas Fitzsimmons * gnu/testlet/javax/imageio/stream/MemoryCacheImageInputStream/TestImageInputStreamImpl.java: Complete test. 2006-05-18 Anthony Balkissoon * Makefile.in: Regenerated. * aclocal.m4: Regenerated. 2006-05-18 Anthony Balkissoon * Harness.java: (getBootClassPath): Changed location of DetectBootclasspath because it is now an inner class of Harness rather than a separate source file in gnu/testlet. (Harness.DetectBootclasspath): New inner class. * gnu/testlet/DetectBootclasspath.java: Removed this file. 2006-05-18 Lillian Angel * gnu/testlet/java/awt/font/ShapeGraphicAttribute: New directory. * gnu/testlet/java/awt/font/ShapeGraphicAttribute/ShapeGraphicAttributeTest: New test. * gnu/testlet/java/awt/font/ImageGraphicAttribute/ImageGraphicAttributeTest.java: Added equals test. 2006-05-18 David Gilbert * gnu/testlet/javax/swing/tree/TreePath/PR27651.java: New test. 2006-05-17 Thomas Fitzsimmons * gnu/testlet/javax/imageio/stream/MemoryCacheImageInputStream/TestImageInputStreamImpl.java: New test. 2006-05-16 Lillian Angel * gnu/testlet/java/awt/font/ImageGraphicAttribute: New directory * gnu/testlet/java/awt/font/ImageGraphicAttribute/ImageGraphicAttributeTest.java: New test. * gnu/testlet/java/awt/font/ImageGraphicAttribute/image.bmp: New bitmap used in test. 2006-05-16 David Gilbert * gnu/testlet/javax/swing/DefaultButtonModel/addActionListener.java: New file, * gnu/testlet/javax/swing/DefaultButtonModel/constants.java: Likewise, * gnu/testlet/javax/swing/DefaultButtonModel/constructor.java: Likewise, * gnu/testlet/javax/swing/DefaultButtonModel/getSelectedObjects.java: Likewise, * gnu/testlet/javax/swing/DefaultButtonModel/MyDefaultButtonModel.java: Likewise, * gnu/testlet/javax/swing/DefaultButtonModel/setActionCommand.java: Likewise, * gnu/testlet/javax/swing/DefaultButtonModel/setArmed.java: Likewise, * gnu/testlet/javax/swing/DefaultButtonModel/setEnabled.java: Likewise, * gnu/testlet/javax/swing/DefaultButtonModel/setGroup.java: Likewise, * gnu/testlet/javax/swing/DefaultButtonModel/setMnemonic.java: Likewise, * gnu/testlet/javax/swing/DefaultButtonModel/setPressed.java: Likewise, * gnu/testlet/javax/swing/DefaultButtonModel/setRollover.java: Likewise, * gnu/testlet/javax/swing/DefaultButtonModel/setSelected.java: Likewise. 2006-05-16 David Gilbert * gnu/testlet/javax/swing/SizeSequence/constructors.java: New test, * gnu/testlet/javax/swing/SizeSequence/getIndex.java: New test, * gnu/testlet/javax/swing/SizeSequence/getSize.java: New test, * gnu/testlet/javax/swing/SizeSequence/getSizes.java: New test, * gnu/testlet/javax/swing/SizeSequence/insertEntries.java: New test, * gnu/testlet/javax/swing/SizeSequence/removeEntries.java: New test, * gnu/testlet/javax/swing/SizeSequence/setSize.java: New test, * gnu/testlet/javax/swing/SizeSequence/setSizes.java: New test. 2006-05-14 Mark Wielaard * gnu/testlet/java/net/ServerSocket/AcceptTimeout.java: New test. 2006-05-13 Robert Schuster * gnu/testlet/javax/swing/text/Utilities/getWordStart.java: New test. * gnu/testlet/javax/swing/text/Utilities/getPreviousWord.java: Renamed fields, added second string to check. * gnu/testlet/javax/swing/text/Utilities/getNextWord.java: Dito. 2006-05-12 Robert Schuster * gnu/testlet/javax/swing/text/Utilities/getPreviousWord.java: New test. 2006-05-11 Mark Wielaard * gnu/testlet/java/util/logging/Handler/TestSecurityManager.java (install): Initialize LogManager first. * gnu/testlet/java/util/logging/Logger/TestSecurityManager.java (install): Likewise. 2006-05-10 Gary Benson * gnu/testlet/java/lang/Thread/insecurity.java: New test. * gnu/testlet/java/lang/ThreadGroup/insecurity.java: Likewise. 2006-05-09 Robert Schuster * gnu/testlet/javax/swing/text/AbstractDocument/filterTest.java: New test. 2006-05-09 Gary Benson * gnu/testlet/java/lang/Thread/security.java: Removed unused stuff. 2005-04-29 Sven de Marothy * gnu/testlet/java/util/Calendar/setTimeZone.java: Test that fields are recalculated on setTimeZone. 2006-05-07 Andrew John Hughes * gnu/testlet/java/util/zip/Deflater/PR27435.java: Test for the bug in PR#27435. 2006-05-07 Andrew John Hughes * gnu/testlet/java/text/DecimalFormat/PR27311.java: Test for the bug in PR#27311. 2006-05-06 Olivier Jolly * gnu/testlet/java/util/Calendar/add.java: (test): Added call to the new test. (testPreviousDate): Regression test for PR27362, which ensures that Calendar.clear(int) doesn't swallow previous calendar changes. 2006-05-05 Gary Benson * gnu/testlet/java/lang/ThreadGroup/security.java: Rearranged to work with class libraries other than Classpath. 2006-05-04 Gary Benson * gnu/testlet/java/lang/Thread/security.java: Added some missing constructor tests, and rearranged to work with class libraries other than Classpath. 2006-05-03 Robert Schuster * gnu/testlet/javax/swing/text/GapContent/constructors.java: (testConstructor2): Put checks into try-catch block. added a second length check. * gnu/testlet/javax/swing/text/GapContent/insertString.java: (testGeneral): Added note. 2006-05-01 Bryce McKinlay * gnu/testlet/java/util/HashMap/AcuniaHashMapTest.java (test_entrySet): Iterator.hasNext() does not throw ConcurrentModificationException - update test accordingly. * gnu/testlet/java/util/LinkedHashMap/LinkedHashMapTest.java (test_entrySet): Likewise. 2006-05-01 Olivier Jolly * gnu/testlet/java/util/Calendar/add.java: (test): Fixed compilation error introduced by the addition of the TimeZone test. * gnu/testlet/java/util/Calendar/minmax.java: (test): Fixed compilation error introduced by the addition of the TimeZone test. * gnu/testlet/java/util/Calendar/roll.java: (test): Fixed compilation error introduced by the addition of the TimeZone test. 2006-05-01 Olivier Jolly * gnu/testlet/java/util/Calendar/TimeZone.java: New test. 2006-04-27 Robert Schuster * gnu/testlet/javax/swing/text/Utilities/getNextWord.java: New test. * gnu/testlet/javax/swing/text/Utilities/getTabbedTextOffset.java: (test): Use fixed value to end loop. 2006-04-27 Robert Schuster * gnu/testlet/javax/swing/text/Utilities/getTabbedTextOffset.java: New test. 2006-04-26 Anthony Balkissoon * Harness.java: (getBootClassPath): Changed "/" to "." in exec command so it works with gij. (compileFolder): Count multiple compile errors for the same test as just one total test and one total fail, and print the FAIL header info only once. 2006-04-26 Anthony Balkissoon * Harness.java: Changed reference to --disable-auto-compile to --disable-auto-compilation. * configure: Regenerated. * configure.in: Changed --enabled-auto-compile option to --enable-auto-compilation. 2006-04-26 Anthony Balkissoon * Harness.java: (bcp_timeout): New field. (showCompilationErrors): Set to true by default. (setupHarness): Changed -showcompilefails option to -hidecompilefails since fails are shown by default now. Also changed -classpath-install-dir option to -bootclasspath to match the configure option. (getClasspathInstallString): If no bootclasspath was specified on the command line or in configure, then auto-detect it with the new method getBootClassPath. (getBootClassPath): New method. * README: Changed --with-classpath-install-dir to --with-bootclasspath, changed text to reflect the fact that auto-compilation is now enabeld by default. Added the -hidecompilefails option to the text. * configure: Regenerated. * configure.in: Changed --with-classpath-install-dir to --with-bootclasspath, changed auto-compilation to be enabled by default. * gnu/testlet/DetectBootclasspath.java: New file. 2006-04-24 Anthony Balkissoon * Harness.java: (setupCompiler): Changed ecjWriterOut and ecjWriterErr to use 1.4 PrintWriter constructors. (getClasspathInstallString): Add "glibj.zip" onto the end of the bootclasspath, if that file is present. (initProcess): Use StringBuffer instead of StringBuilder, so it compiles on older compilers. (compileFolder): Likewise. (runFolder): Likewise. * RunnerProcess.java: (runTest): Replaced String.contains() with String.indexOf() so it compiles on older compilers. (exceptionDetails): Replaced StringBuilder with StringBuffer so it compiles on older compilers. 2006-04-24 Anthony Balkissoon * .cvsignore: Added .ecjOut and .ecjErr. * aclocal.m4: Regenerated. * configure.in: Added --with-vm, --enable-auto-compile, --with-classpath-install-dir, --with-ecj-jar options to support auto-compilation. * configure: Regenerated. * harness: Removed this unneeded wrapper script. * Harness.java: Rewritten to allow auto-compilation and faster test processing. * Makefile.am: Added Harness.java and RunnerProcess.java to harness_files, added new target 'harness' that compiles these files as well as gnu/testlet/config.java, and added target 'all-local' to make these compile by default. * Makefile.in: Regenerated. * README: Rewritten to include the new configure options, compilation options, and the new invocation style. * RunnerProcess.java: Fixed comments, formatting, and: (NOT-A-TEST-DESCRIPTION): Made this field private. (verbose): Made this field static. (debug): Likewise. (exceptions): Likewise. (report): Likewise. (xmlfile): Likewise. (RunnerProcess(boolean, boolean, boolean, TestReport)): Removed this unnecessary constructor. (RunnerProcess()): New constructor. * gnu/testlet/TestHarness.java: (getAutoCompile): New method. (getCpInstallDir): Likewise. (getEcjJar): Likewise. (getTestJava): Likewise. * gnu/testlet/config.java.in: (cpInstallDir): New field. (autoCompile): Likewise. (testJava): Likewise. (ecjJar): Likewise. (getCpInstallDir): New method. (getAutoCompile): Likewise. (getEcjJar): Likewise. (getTestJava): Likewise. 2006-04-23 Olivier Jolly * gnu/testlet/java/util/Collections/unmodifiableMap.java(testMap): Added regression test on UnmodifiableMap.entrySet().toArray(Object[]). 2006-04-19 Tom Tromey * gnu/testlet/java/text/SimpleDateFormat/regress.java (test): Added regression test for PR classpath/27189. 2006-04-12 Ito Kazumitsu *gnu/testlet/java/util/regex/Pattern/pcrematches.java(decode): New method. (test): Use the new method decode to input Unicode characters. Added some harness.debug logging. * gnu/testlet/java/util/regex/Pattern/testdata3: Added new tests. 2006-04-12 David Gilbert * gnu/testlet/java/util/BitSet/clear.java: New file, * gnu/testlet/java/util/BitSet/flip.java: New file, * gnu/testlet/java/util/BitSet/get.java: New file, * gnu/testlet/java/util/BitSet/Get.java: Merged with get.java. 2006-04-12 David Gilbert * gnu/testlet/java/util/Collections/unmodifiableMap.java: New test. 2006-04-06 Michael Barker * gnu/testlet/java/nio/channels/FileChannel/offsetSingleBugger.java: New test * gnu/testlet/java/nio/channels/FileChannel/offsetSingleDirectBuffer.java: New test 2006-04-06 Michael Barker * gnu/testlet/java/nio/channels/FileChannel/multibufferIO.java: Added * gnu/testlet/java/nio/channels/FileChannel/multidirectbufferIO.java: Added * gnu/testlet/java/nio/channels/FileChannel/singlebufferIO.java: Added * gnu/testlet/java/nio/channels/SocketChannel/select.java Added flip() to reset buffer. 2006-04-08 Raif S. Naffah * gnu/testlet/gnu/java/security/hash/TestOfWhirlpool.java: Updated documentation. (TV1): Use Version 3 test vector. (TV2): Use Version 3 test vector. (test): Use ISO test vectors. 2006-04-06 Mark Wielaard * gnu/testlet/java/lang/Class/security.java: Add check for no permissions when calling getClassLoader() on bootstrap class. 2006-04-05 Anthony Balkissoon * README: Added line about compiling the Harness, RunnerProcess, and tests. 2006-04-05 Anthony Balkissoon * Harness.java: New file. * README: New file (old one moved to README.OldHarness). * README.OldHarness: New file, copied from the old README. * RunnerProcess.java: New file. * harness: New file. 2006-04-05 Tom Tromey * gnu/testlet/java/net/URLConnection/getFileNameMap.java: New file. 2006-04-05 Tom Tromey * gnu/testlet/java/lang/reflect/InvocationTargetException/Chain.java: New file. 2006-04-05 Bryce McKinlay * gnu/testlet/java/util/Iterator/ConcurrentModification.java: New test. 2006-04-03 Thomas Fitzsimmons * gnu/testlet/javax/imageio/plugins/jpeg/TestJPEGImageWriteParam.java: New test. 2006-04-03 Tom Tromey PR classpath/26971: * gnu/testlet/javax/naming/directory/BasicAttribute/Enumerate.java: New file. 2006-04-03 Thomas Fitzsimmons * gnu/testlet/javax/imageio/plugins/jpeg/TestJPEGHuffmanTable.java: Reformat. Optimize imports. * gnu/testlet/javax/imageio/plugins/jpeg/TestJPEGImageReadParam.java: New test. * gnu/testlet/javax/imageio/plugins/jpeg/TestJPEGQTable.java: Optimize imports. 2006-03-31 Lillian Angel * gnu/testlet/java/awt/Component/keyPressTest.java: New test. 2006-03-30 Thomas Fitzsimmons * gnu/testlet/javax/imageio/plugins/jpeg/TestJPEGQTable.java: New test. 2006-03-29 Lillian Angel * gnu/testlet/java/awt/Panel/TestPanelRepaint.java (test): Added check. (myPanel): Added component listener. 2006-03-29 Robert Schuster * gnu/testlet/javax/swing/text/GapContent/insertString.java: (testGeneral): Let test fail when unexpected exception occurs. (testSpecialInsert): New test. 2006-03-26 Ito Kazumitsu * gnu/testlet/java/util/regex/Pattern/testdata1, gnu/testlet/java/util/regex/Pattern/testdata2: Moved all remaining cases from testdata2 to testdata1. 2006-03-25 Michael Koch * gnu/testlet/locales/LocaleTest.java: Updated to fit new CLDR 1.3 data. 2006-03-25 Michael Koch * gnu/testlet/locales/LocaleTest.java: Updated for new fixed locale data. 2006-03-25 Roman Kennke * gnu/testlet/java/util/GregorianCalendar/setFirstDayOfWeek.java: New tests. 2006-03-23 Wolfgang Baer * gnu/testlet/java/awt/Window/focusCycleRootTest.java: New test. 2006-03-23 Wolfgang Baer * gnu/testlet/java/io/ObjectOutputStream/useProtocolVersion.java: New test. 2006-03-23 Ito Kazumitsu * gnu/testlet/java/util/regex/Pattern/testdata1, gnu/testlet/java/util/regex/Pattern/testdata2: Moved some cases from testdata2 to testdata1. 2006-03-22 Lillian Angel * gnu/testlet/javax/imageio/ImageIO/Bitmap-16Bit.bmp: Added bitmap for test. * gnu/testlet/javax/imageio/ImageIO/Bitmap-1Bit.bmp: Added bitmap for test. * gnu/testlet/javax/imageio/ImageIO/Bitmap-24Bit.bmp: Added bitmap for test. * gnu/testlet/javax/imageio/ImageIO/Bitmap-32Bit.bmp: Added bitmap for test. * gnu/testlet/javax/imageio/ImageIO/Bitmap-4Bit.bmp: Added bitmap for test. * gnu/testlet/javax/imageio/ImageIO/Bitmap-8Bit.bmp: Added bitmap for test. * gnu/testlet/javax/imageio/ImageIO/Bitmap-RLE4.bmp: Added bitmap for test. * gnu/testlet/javax/imageio/ImageIO/Bitmap-RLE8.bmp: Added bitmap for test. * gnu/testlet/javax/imageio/ImageIO/outputBitmap.bmp: Added bitmap for test. * gnu/testlet/javax/imageio/ImageIO/ImageIOTest.java: (test): Moved tests to testStringData. Added calls to testReadWrite and testStringData. (testStringData): New function. (testReadWrite): Checks reading and writing of bitmap images. Compares images to verify they are the same. (checkPixels): Helper used to compare pixels of two images. 2006-03-22 Gary Benson * gnu/testlet/java/io/FilePermission/traversal2.java: New test. 2006-03-22 Gary Benson * gnu/testlet/java/io/FilePermission/traversal.java: New test. 2006-03-21 Tom Tromey * gnu/testlet/java/text/Bidi/reorderVisually.java: New file. * gnu/testlet/java/text/Bidi/Basic.java: New file. 2006-03-21 Anthony Balkissoon * gnu/testlet/SimpleTestHarness.java: Reformatted. * gnu/testlet/TestHarness.java: Reformatted, removed unused imports. * gnu/testlet/TestReport.java: Reformatted. 2006-03-19 Tom Tromey * gnu/testlet/java/awt/font/NumericShaper/Basic.java: New file. 2006-03-19 Roman Kennke * gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/layout.java: Fixed test to check correct logic, not exact pixels. * gnu/testlet/javax/swing/plaf/metal/MetalComboBoxUI/getMinimumSize.java: Fixed test to check correct logic, not exact pixels. * gnu/testlet/javax/swing/plaf/metal/MetalComboBoxUI/getPreferredSize.java: Fixed test to check correct logic, not exact pixels. 2006-03-18 Ito Kazumitsu * gnu/testlet/java/util/regex/Pattern/testdata1, gnu/testlet/java/util/regex/Pattern/testdata2: Moved some cases from testdata2 to testdata1. 2006-03-17 Mark Wielaard * gnu/testlet/java/security/BasicPermission/newPermission.java: New test. 2006-03-16 Thomas Fitzsimmons * gnu/testlet/java/awt/FontMetrics/TestLogicalFontMetrics.java: New test. Remove timer to ensure all tests are run. Make tolerance larger for larger font sizes. * gnu/testlet/java/awt/FileDialog/TestGraphics.java: New test. 2006-03-15 Tom Tromey * gnu/testlet/java/util/jar/JarFile/basic.java (test_jar): Log exception when -debug. 2006-03-15 Lillian Angel * gnu/testlet/java/awt/Container/getComponentAt.java: New Class 2006-03-15 Lillian Angel * gnu/testlet/java/awt/Container/addImpl.java (test1): Removed repaint function. Only need one. Also, added repaint functions to all the components. (test2): Added a lightweight container to the panel to show that repaint is not called on it. Also, added a check to show that repaint is not called on the frame when it is shown. 2006-03-15 Lillian Angel * gnu/testlet/java/awt/Container/addImpl.java (test): Changed to call new functions. (test1): Moved old test to new function. (test2): New function to test if repaint is called when a component is added to a showing component. 2006-03-15 Roman Kennke * gnu/testlet/javax/swing/JInternalFrame/setSelected.java: Added test for bound property. * gnu/testlet/javax/swing/JInternalFrame/setResizable.java: Added test for bound property. * gnu/testlet/javax/swing/JInternalFrame/setMaximizable.java: Added test for bound property. * gnu/testlet/javax/swing/JInternalFrame/setIconifiable.java: Added test for bound property. * gnu/testlet/javax/swing/JInternalFrame/setClosed.java: Added test for bound property. * gnu/testlet/javax/swing/JInternalFrame/setClosable.java: Added test for bound property. 2006-03-15 David Gilbert * gnu/testlet/javax/swing/table/TableColumn/sizeWidthToFit.java: New file. 2006-03-15 Mark Wielaard * gnu/testlet/java/util/logging/Level/parse.java (test): Add "new" string object to parse. 2006-03-15 David Gilbert * gnu/testlet/javax/swing/table/TableColumn/addPropertyChangeListener.java: New file, * gnu/testlet/javax/swing/table/TableColumn/removePropertyChangeListener.java: Likewise, * gnu/testlet/javax/swing/table/TableColumn/setCellEditor.java: Likewise, * gnu/testlet/javax/swing/table/TableColumn/setCellRenderer.java (test): Extended PropertyChangeEvent tests, * gnu/testlet/javax/swing/table/TableColumn/setHeaderRenderer.java (test): Likewise, * gnu/testlet/javax/swing/table/TableColumn/setHeaderValue.java (test): Likewise, * gnu/testlet/javax/swing/table/TableColumn/setIdentifier.java (event): New field, (propertyChange): New method, (test): Added checks for required PropertyChangeEvent. 2006-03-14 David Gilbert * gnu/testlet/javax/swing/table/TableColumn/setMaxWidth.java (events): New field, (propertyChange): New method, (test): Added checks for PropertyChangeEvents. 2006-03-14 David Gilbert * gnu/testlet/javax/swing/table/TableColumn/setMinWidth.java (events): New field, (propertyChange): New method, (test): Added checks for PropertyChangeEvents, * gnu/testlet/javax/swing/table/TableColumn/setPreferredWidth.java (events): New field, (propertyChange): New method, (test): Added checks for PropertyChangeEvents, * gnu/testlet/javax/swing/table/tableColumn/setWidth.java (event): Removed, (events): New field, (propertyChange): Add event to new events list, (test): Added checks for PropertyChangeEvents. 2006-03-14 Lillian Angel * gnu/testlet/java/awt/Container/addImpl.java (test): Formatted function and added repaint functions to override repaint in Container. Added fails to these functions, they should not be called. 2006-03-14 David Gilbert * gnu/testlet/javax/swing/table/TableColumn/setResizable.java (lastEvent): New field, (propertyChange): New method, (test): Extended to check PropertyChangeEvent. 2006-03-13 David Gilbert * gnu/testlet/javax/swing/SwingUtilities/calculateInnerArea.java: New test. 2006-03-13 Olivier Jolly * gnu/teslet/java/lang/ClassLoader/BootDefinedPackages.java: New test. 2006-03-13 Olivier Jolly * gnu/teslet/java/lang/ClassLoader/initialize.java: Added comments. 2006-03-13 Roman Kennke * gnu/testlet/javax/swing/JInternalFrame/setSelected.java: New test. 2006-03-13 Roman Kennke * gnu/testlet/javax/accessibility/AccessibleContext/TestAccessibleContext.java: New auxiliary helper class. * gnu/testlet/javax/accessibility/AccessibleContext/getAccessibleRelationSet.java: New test. 2006-03-11 Tom Tromey * gnu/testlet/java/util/zip/GZIPInputStream/PR24461.java: New file. 2006-03-11 David Gilbert * gnu/testlet/javax/swing/event/TreeSelectionEvent/cloneWithSource.java: New file, * gnu/testlet/javax/swing/event/TreeSelectionEvent/constructors.java: Likewise, * gnu/testlet/javax/swing/event/TreeSelectionEvent/isAddedPath.java: Likewise. 2006-03-10 Lillian Angel * gnu/testlet/java/awt/Button/PaintTest.java: New Test. * gnu/testlet/java/awt/Canvas/PaintTest.java: New Test. * gnu/testlet/java/awt/Checkbox/PaintTest.java: New Test. * gnu/testlet/java/awt/Label/PaintTest.java: New Test. * gnu/testlet/java/awt/List/ScrollbarPaintTest.java: New Test. * gnu/testlet/java/awt/ScrollPane/ScrollbarPaintTest.java: New Test. * gnu/testlet/java/awt/Scrollbar/ScrollbarPaintTest.java: New Test. * gnu/testlet/java/awt/TextArea/ScrollbarPaintTest.java: New Test. * gnu/testlet/java/awt/TextField/PaintTest.java: New Test. * gnu/testlet/java/awt/Choice/PaintTest.java: New Test. 2006-03-10 Christian Thalinger * gnu/testlet/java/beans/Introspector/A.java: Added not-a-test tag. * gnu/testlet/java/beans/Introspector/B.java: Likewise. * gnu/testlet/java/beans/Introspector/C.java: Likewise. 2006-03-10 Thomas Fitzsimmons * gnu/testlet/java/awt/Graphics/TestPaintGraphics.java: Fix test. * gnu/testlet/java/awt/Graphics/TestPaintGraphics.java: New test. * gnu/testlet/javax/imageio/plugins/jpeg/TestJPEGHuffmanTable.java: New test. 2006-03-08 Michael Koch * gnu/testlet/java/net/InetSocketAddress/createUnresolved.java: New testcase. 2006-03-07 Olivier Jolly * gnu/testlet/java/net/URLClassLoader/getResourceBase.java (check): Added canonalization of tested filenames. * gnu/testlet/java/net/URLCLassLoader/getResource.java (test, setup): Added more special situations checks with ".." and invalid directories. Fixed and documented existing checks dealing with directories. Based on Robin Green's patch. 2006-03-07 David Gilbert * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/DefaultMutableTreeNodeTest.java: Updated header, * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getChildAfter.java (test): Reworked, * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getChildBefore.java (test): Likewise, * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getFirstChild.java: New file, * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getFirstLeaf.java: New file, * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getLastChild.java: New file, * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getLastLeaf.java: New file, * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getNextLeaf.java: New file, * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getNextSibling.java: New file, * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getPreviousLeaf.java: New file, * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getPreviousSibling.java: New file, * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getSiblingCount.java: New file, * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/isLeaf.java: New file, * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/isNodeSibling.java: New file. 2006-03-07 David Gilbert * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/add.java (test): Reworked and added ancestor tests, * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/clone.java: New file, * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/constructors.java (check): Removed, (test): Split into three calls, (testConstructor1): New method, (testConstructor2): Likewise, (testConstructor3): Likewise, * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getIndex.java: New file, * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getParent.java: New file, * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/insert.java: New file, * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/isNodeAncestor.java: New file, * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/isNodeChild.java: New file, * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/isNodeDescendant.java: New file, * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/remove.java: New file, * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/removeAllChildren.java: New file, * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/setAllowsChildren.java: New file, * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/toString.java: New file. 2006-03-06 Tom Tromey * gnu/testlet/java/lang/Math/ulp.java: New file. 2006-03-06 Lillian Angel * gnu/testlet/java/awt/Container/TestPanelRepaint.java: Removed Class. * gnu/testlet/java/awt/Panel: New Directory. * gnu/testlet/java/awt/Panel/TestPanelRepaint: New Class. 2006-03-06 Lillian Angel * gnu/testlet/java/awt/Container/TestPanelRepaint.java: New Class. 2006-03-06 Wolfgang Baer * gnu/testlet/java/net/URLConnection/getHeaderFields.java: (check): Use checkPoint instead of test names. Fix header key = String test to use second header entry to work on http. (test): Extend the basic test to all protocol implementations. 2006-03-06 Wolfgang Baer * gnu/testlet/java/net/HttpURLConnection/requestPropertiesTest.java: New tests. 2006-03-06 Wolfgang Baer * gnu/testlet/java/net/HttpURLConnection/TestHttpServer.java: New file. * gnu/testlet/java/net/HttpURLConnection/responseCodeTest.java: New test using TestHttpServer.java. * gnu/testlet/java/net/HttpURLConnection/responseHeadersTest.java: Likewise. 2006-03-06 Robert Schuster * gnu/testlet/javax/swing/text/PlainDocument/insertString.java: (testModifications): Added another test. 2006-03-06 Dalibor Topic * gnu/testlet/java/net/URI/UnicodeURI.java: New file. 2006-03-05 Tom Tromey * gnu/testlet/java/lang/reflect/Constructor/toString.java: New file. * gnu/testlet/java/lang/reflect/Field/toString.java: New file. 2006-03-04 Robert Schuster * gnu/testlet/javax/swing/text/PlainDocument/insertString.java: (testModifications): New test method. (testNewLine): Added checkpoint name. (testFilterNewLine): Added checkpoint name. (testArguments): Changed catch-clause to Exception, added instanceof for previous exception type. (prepare): Added new helper method. (checkElement): Added new helper method. (insert): Added new helper method. 2006-03-04 Raif S. Naffah * gnu/testlet/gnu/java/security/jce/TestOfHttps.java: Fixed the copyright notice. (test): removed System.out.println(). 2006-03-04 Mark Wielaard * gnu/testlet/javax/swing/JEditorPane/setText.java: New test. 2006-03-02 Wolfgang Baer * gnu/testlet/java/net/URLConnection/Jar.java (test): Added one more specialised test. 2006-03-01 Tom Tromey * .project, .externalToolBuilders/ConfigureMauve.launch: Updated configure builder. 2006-02-28 David Daney * gnu/testlet/java/net/URL/URLTest.java (test_Basics): Added a test. 2006-02-28 Olivier Jolly * gnu/testlet/java/lang/ClassLoader/Resources.java: New file. 2006-02-28 Tom Tromey * gnu/testlet/java/lang/Class/newInstance.java (test6): New class. (test): Updated comment. Run test6 test. 2006-02-28 Roman Kennke * gnu/testlet/javax/swing/AbstractDocument/BranchElement/getStartOffset.java: New test. * gnu/testlet/javax/swing/AbstractDocument/LeafElement/getStartOffset.java: New test. 2006-02-28 Roman Kennke * gnu/testlet/javax/swing/SwingUtilities/layoutCompoundLabel.java: (test): Fixed some tests the take font metrics differences into account. 2006-03-01 Raif S. Naffah * gnu/testlet/gnu/java/security/jce/TestOfHttps.java: New file. 2006-02-27 David Daney * gnu/testlet/java/net/URLConnection/getRequestProperties.java: New test. 2006-02-27 David Gilbert * gnu/testlet/javax/swing/SwingUtilities/computeIntersection.java (test): Don't set dest to method return value, * gnu/testlet/javax/swing/SwingUtilities/computeUnion.java (test): Likewise. 2006-02-26 Raif S. Naffah * gnu/testlet/gnu/java/security/jce/FakeProvider.java: Removed. * gnu/testlet/gnu/java/security/jce/FakeDSAParameters.java: Likewise. * gnu/testlet/gnu/java/security/jce/TestOfDSSKeyPairGenerator.java (checkInitializeSignatures): Use GNU provider. * gnu/testlet/gnu/java/security/jce/TestOfKeyFactory.java (setUp): Do not install fake provider. Use GNU provider instead. * gnu/testlet/gnu/java/security/jce/TestOfFormat.java (setUp): Likewise. * gnu/testlet/gnu/java/security/jce/TestOfDSSKeyFactory.java (setUp): Likewise. * gnu/testlet/gnu/java/security/jce/TestOfSignature.java (testDSSSignatures): Use GNU provider. (testRSAPKCS1Signatures): Likewise. (setUp): Do not install fake provider. 2006-02-25 Ito Kazumitsu * gnu/testlet/java/util/regex/Pattern/testdata1, gnu/testlet/java/util/regex/Pattern/testdata2: Moved some cases from testdata2 to testdata1. 2006-02-24 Lillian Angel * gnu/testlet/java/awt/Container/LightweightContainer.java (testLoc2): Simplified test. 2006-02-23 Lillian Angel * gnu/testlet/java/awt/Container/LightweightContainer.java (testLoc2): Made test more complicated to use GridBagLayout. Fixed to fail without reshape patch. 2006-02-23 Wolfgang Baer * gnu/testlet/javax/print/DocFlavor/hostEncoding.java: New test. 2006-02-24 Raif S. Naffah * gnu/testlet/javax/security/auth/login/TestOfConfigurationParser.java: Updated tag. * gnu/testlet/javax/security/auth/login/TestOfGnuConfiguration.java: Likewise. * gnu/testlet/javax/security/auth/login/TestOfPR25202.java: Likewise. * gnu/testlet/gnu/javax/crypto/jce/TestOfDHKeyFactory.java: New file. * gnu/testlet/gnu/javax/crypto/jce/TestOfDHKeyAgreement.java: Likewise. * gnu/testlet/gnu/java/security/jce/TestOfDSSKeyFactory.java: Likewise. 2006-02-23 Wolfgang Baer * gnu/testlet/javax/print/DocFlavor/parseMimeType.java (test): Additional tests for special characters. 2006-02-22 Thomas Fitzsimmons * gnu/testlet/javax/swing/JFrame/HeavyweightComponent.java: New test. 2006-02-22 Lillian Angel * gnu/testlet/java/awt/Container/LightweightContainer.java (testLoc1): Fixed up tests so it fails without pending lightweight patch. 2006-02-22 Lillian Angel * gnu/testlet/TestHarness.java (checkColor): Removed. (checkRectangleOuterColors): Removed. (checkRectangleCornerColors): Removed. * gnu/testlet/java/awt/Container/LightweightContainer.java (testLoc): Added comment, changed to use LocationTests. (testWindow): Likewise. (testLoc1): Added new test. (test): Added call to testLoc1. * gnu/testlet/java/awt/Frame/size1.java (test): Added comment, changed to use LocationTests. * gnu/testlet/java/awt/LocationTests.java: New class. 2006-02-22 Lillian Angel * gnu/testlet/TestHarness.java (checkColor): Fixed API documentation. (checkRectangleOuterColors): Likewise. * gnu/testlet/java/awt/Container/LightweightContainer.java (testWindow): Added documentation. (testLoc): Likewise. * gnu/testlet/java/awt/Frame/size1.java (test): Added documentation. 2006-02-21 Lillian Angel * gnu/testlet/TestHarness.java (checkColor): New method used to compare colors. (checkRectangleOuterColors): New method used to compare the colors of a rectangle's corners to the colors of the pixels surrounding the corners. (checkRectangleCornerColors): New method used to compare the colors of the pixels at the corners of a rectangle, to a given color. * gnu/testlet/java/awt/Container/LightweightContainer.java: New Test. * gnu/testlet/java/awt/Frame/size1.java (checkColor): Removed. (test): Changed to use new methods in TestHarness. 2006-02-21 Roman Kennke * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/insert.java: (testNewlines): New test. 2006-02-21 David Gilbert * gnu/testlet/javax/swing/JSpinner/ListEditor/getModel.java: Replaced with correct file. 2006-02-20 Gary Benson * gnu/testlet/java/lang/ThreadGroup/security.java: New test. 2006-02-20 Robert Schuster * gnu/testlet/javax/swing/text/PlainDocument/remove.java: (testBehavior): New method. 2006-02-20 Robert Schuster * gnu/testlet/javax/swing/text/GapContent/remove.java: (testGeneral): Added test. 2006-02-19 Olivier Jolly * gnu/testlet/java/lang/reflect/Proxy/DeclaringClass.java: New file. * gnu/testlet/java/lang/reflect/Proxy/ProxyUtils.java: New file. 2006-02-19 Mark Wielaard * batch_run (KEYS): Add GNU and GNU-CRYPTO (COMPILER): Export either GCJ or JAVAC. * choose-classes: Also search gnu and org hierarchies. * runner (RUNTIME): Export RUNTIME as JAVA. 2006-02-19 Mark Wielaard * gnu/testlet/java/awt/Menu/addItem.java: New test. * gnu/testlet/java/awt/MenuBar/addMenu.java: New test. 2006-02-19 Raif S. Naffah * gnu/testlet/gnu/java/security/sig/TestOfSignatureCodecFactory.java: New file. * gnu/testlet/gnu/java/security/sig/rsa/TestOfRSASignatureCodec.java: Re-wrote to test all RSA signature codecs. * gnu/testlet/gnu/java/security/sig/dss/TestOfDSSSignatureCodec.java (test): Call new method. (testSignatureASN1Codec): New method. * gnu/testlet/gnu/java/security/key/TestOfKeyPairCodecFactory.java: New file. * gnu/testlet/gnu/java/security/jce/TestOfSignature.java (test): Call new methods. (testDSSRawSignature): Renamed testDSSSignatures. (testDSSSignatures): Add test for SHA160withDSS. (testRSAPKCS1Signatures): New method. (testSignature): New method. * gnu/testlet/gnu/java/security/jce/FakeProvider.java (FakeProvider): Added JCE signature mappings. 2006-02-17 Gary Benson * gnu/testlet/java/lang/Thread/security.java: One more test. 2006-02-16 Gary Benson * gnu/testlet/java/lang/Thread/security.java: New test. 2006-02-16 Gary Benson * gnu/testlet/TestSecurityManager2.java: Added the ability to test for multiple permisson checks when in the mode that aborts the test after the permissions have been checked. 2006-02-15 David Gilbert * gnu/testlet/javax/swing/JSpinner/NumberEditor/constructors.java: New test, * gnu/testlet/javax/swing/JSpinner/NumberEditor/getFormat.java: Likewise, * gnu/testlet/javax/swing/JSpinner/NumberEditor/getModel.java: Likewise. 2006-02-15 David Gilbert * gnu/testlet/javax/swing/JSpinner/ListEditor/constructor.java: New test, * gnu/testlet/javax/swing/JSpinner/ListEditor/getModel.java: Likewise. 2006-02-15 David Gilbert * gnu/testlet/javax/swing/JSpinner/DateEditor/constructors.java: New test, * gnu/testlet/javax/swing/JSpinner/DateEditor/getFormat.java: Likewise, * gnu/testlet/javax/swing/JSpinner/DateEditor/getModel.java: Likewise. 2006-02-15 David Gilbert * gnu/testlet/javax/swing/JSpinner/DefaultEditor/constructor.java: New test, * gnu/testlet/javax/swing/JSpinner/DefaultEditor/minimumLayoutSize.java: Likewise, * gnu/testlet/javax/swing/JSpinner/DefaultEditor/MyDefaultEditor.java: New support class, * gnu/testlet/javax/swing/JSpinner/DefaultEditor/preferredLayoutSize.java: New test, * gnu/testlet/javax/swing/JSpinner/DefaultEditor/propertyChange.java: Likewise, * gnu/testlet/javax/swing/JSpinner/DefaultEditor/stateChanged.java: Likewise. 2006-02-15 David Gilbert * gnu/testlet/javax/swing/JSpinner/addChangeListener.java: New test, * gnu/testlet/javax/swing/JSpinner/constructors.java: Likewise, * gnu/testlet/javax/swing/JSpinner/createEditor.java: Likewise, * gnu/testlet/javax/swing/JSpinner/getChangeListeners.java: Likewise, * gnu/testlet/javax/swing/JSpinner/getEditor.java: Likewise, * gnu/testlet/javax/swing/JSpinner/getModel.java: Likewise, * gnu/testlet/javax/swing/JSpinner/getNextValue.java: Likewise, * gnu/testlet/javax/swing/JSpinner/getPreviousValue.java: Likewise, * gnu/testlet/javax/swing/JSpinner/getUIClassID.java: Likewise, * gnu/testlet/javax/swing/JSpinner/MyJSpinner.java: New support class, * gnu/testlet/javax/swing/JSpinner/removeChangeListener.java: New test, * gnu/testlet/javax/swing/JSpinner/setEditor.java: Likewise, * gnu/testlet/javax/swing/JSpinner/setModel.java: Likewise. 2006-02-15 David Gilbert * gnu/testlet/javax/swing/SpinnerDateModel/getNextValue.java (test): Add checks for model without bounds, * gnu/testlet/javax/swing/SpinnerDateModel/getPreviousValue.java (test): Likewise. 2006-02-15 David Gilbert * gnu/testlet/javax/swing/SpinnerNumberModel/getNextValue.java (test): Add checks for model without bounds, * gnu/testlet/javax/swing/SpinnerNumberModel/getPreviousValue.java (test): Likewise. 2006-02-14 Olivier Jolly * gnu/testlet/java/io/ObjectInputOutput/HierarchyTest.java (HierarchyTest.Base): Added explicit constructor to avoid interpretation of its visibility. 2006-02-14 Olivier Jolly * batch_run (COMPILER): Added "none" as possible value to skip compilation. 2006-02-14 Mark Wielaard * gnu/testlet/java/awt/Frame/menubar.java: New test. 2006-02-14 Lillian Angel * gnu/testlet/java/awt/BorderLayout/layoutContainer.java (test0): New test. 2006-02-14 David Gilbert * gnu/testlet/javax/swing/JComponent/getListeners.java (MyPropertyChangeListener): New class, (test): Added check for PropertyChangeListener. 2006-02-13 Pedro Izecksohn * gnu/testlet/java/util/ResourceBundle/getBundle.java (test): Avoid ambiguity with JDK 1.6 2006-02-13 Roman Kennke * gnu/testlet/java/awt/Component/repaint.java: New test. 2006-02-13 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalBorders/ButtonBorder/getBorderInsets.java (test1): Added check for return value, (test2): Set component in test for null Insets argument, * gnu/testlet/javax/swing/plaf/metal/MetalBorders/Flush3DBorder/getBorderInsets.java: Likewise, * gnu/testlet/javax/swing/plaf/metal/MetalBorders/InternalFrameBorder/getBorderInsets.java: Likewise, * gnu/testlet/javax/swing/plaf/metal/MetalBorders/MenuItemBorder/getBorderInsets.java: Likewise, * gnu/testlet/javax/swing/plaf/metal/MetalBorders/PaletteBorder/getBorderInsets.java: Likewise. 2006-02-13 Ito Kazumitsu * gnu/testlet/java/util/regex/Pattern/testdata3: Added some tests. 2006-02-12 Olivier Jolly * gnu/testlet/java/io/ObjectInputOutput/ProxySerializationTest.java: Fixed test tag. 2006-02-12 Dalibor Topic * gnu/testlet/java/io/File/UnicodeURI.java: New test for Files with Unicode characters above \u007F in names. 2006-02-12 Mark Wielaard * gnu/testlet/javax/swing/AbstractAction/putValue.java: Don't check unspecified null value case. 2006-02-12 Mark Wielaard * gnu/testlet/javax/swing/text/TextAction/augmentList.java: Order of elements doesn't matter, as long as all elements are present. 2006-02-12 Wolfgang Baer * gnu/testlet/javax/print/DocFlavor/parseMimeType.java: Added additional tests to check for correct mimetype syntax. 2006-02-12 Raif S. Naffah * gnu/testlet/gnu/javax/crypto/key/dh/TestOfDHCodec.java: Aligned with gnu.testlet.gnu.java.security.key.dss.TestOfDSSCodec. * gnu/testlet/gnu/java/security/jce/TestOfKeyFactory.java (dhKPG): New field. (dhKF): Likewise. (test): Call testDHKeyFactory. (setUp): Add GnuCrypto provider. Initialize dhKPG and dhKF. (testDSSKeyFactory): Removed spec3 field. (testRSAKeyFactory): Likewise. (testDHKeyFactory): New method. * gnu/testlet/gnu/java/security/jce/TestOfFormat.java (dhKPG): New field. (test): Call testDHSymmetry. (setUp): Add GnuCrypto provider. Initialize dhKPG. (testDHSymmetry): New method. * gnu/testlet/gnu/java/security/jce/FakeProvider.java (FakeProvider): Added mapping for DH key-factory. 2006-02-11 Olivier Jolly * gnu/testlet/java/lang/reflect/Proxy/ExceptionRaising.java: New test on exception handling with proxies. 2006-02-11 Olivier Jolly * gnu/testlet/java/lang/reflect/Proxy/ToString.java: New test on toString method forwarding to the InvocationHandler. 2006-02-11 Wolfgang Baer * gnu/testlet/java/awt/CardLayout: New directory * gnu/testlet/java/awt/CardLayout/first.java: New test. * gnu/testlet/java/awt/CardLayout/show.java: New test. 2006-02-11 Raif S. Naffah * gnu/testlet/gnu/java/security/jce/FakeProvider.java (FakeProvider): Added mapping for DSS and RSA key-factories. * gnu/testlet/gnu/java/security/jce/TestOfKeyFactory.java: New file. 2006-02-10 Olivier Jolly * gnu/testlet/java/io/ObjectInputOutput/HierarchyTest.java: New test on abstract constructor calls in deserialization. * gnu/testlet/java/io/ObjectInputOutput/ProxySerializationTest.java: New test on proxy serialization. 2006-02-09 Raif S. Naffah * gnu/testlet/gnu/java/security/key/rsa/TestOfRSACodec.java: Aligned with gnu.testlet.gnu.java.security.key.dss.TestOfDSSCodec. * gnu/testlet/gnu/java/security/key/dss/TestOfDSSCodec.java (setUp): Instantiate and setup the key-pair generator once. (testUnknownKeyPairCodec): Moved the key-pair generator setup to setUp(). (testKeyPairRawCodec): Likewise. (testKeyPairASN1Codec): Likewise. (testPublicKeyValueOf): Likewise. (testPrivateKeyValueOf): Likewise. * gnu/testlet/gnu/java/security/jce/TestOfFormat.java (testDSSSymmetry): Renamed from testSymmetry. (testRSASymmetry): New method. (test): Added call to new method. 2006-02-09 Roman Kennke * gnu/testlet/javax/swing/text/View/TestView.java: New helper class. * gnu/testlet/javax/swing/text/View/getAlignment.java, * gnu/testlet/javax/swing/text/View/getMaximumSpan.java, * gnu/testlet/javax/swing/text/View/getMinimumSpan.java, * gnu/testlet/javax/swing/text/View/getResizeWeight.java: New tests. 2006-02-08 Tom Tromey * gnu/testlet/java/io/ObjectInputOutput/LoopSerializationTest.java: Added Uses. 2006-02-08 David Gilbert * gnu/testlet/javax/swing/SpinnerDateModel/constructors.java: New file, * gnu/testlet/javax/swing/SpinnerDateModel/getNextValue.java: Likewise, * gnu/testlet/javax/swing/SpinnerDateModel/getPreviousValue.java: Likewise, * gnu/testlet/javax/swing/SpinnerDateModel/setEnd.java: Likewise, * gnu/testlet/javax/swing/SpinnerDateModel/setStart.java: Likewise, * gnu/testlet/javax/swing/SpinnerDateModel/setValue.java: Likewise, * gnu/testlet/javax/swing/SpinnerNumberModel/constructors.java: Likewise, * gnu/testlet/javax/swing/SpinnerNumberModel/getNextValue.java: Likewise, * gnu/testlet/javax/swing/SpinnerNumberModel/getPreviousValue.java: Likewise, * gnu/testlet/javax/swing/SpinnerNumberModel/setMaximum.java: Likewise, * gnu/testlet/javax/swing/SpinnerNumberModel/setMinimum.java: Likewise, * gnu/testlet/javax/swing/SpinnerNumberModel/setStepSize.java: Likewise, * gnu/testlet/javax/swing/SpinnerNumberModel/setValue.java: Likewise. 2006-02-07 Roman Kennke * gnu/testlet/javax/swing/text/FlowView/TestFlowView.java: New helper class. * gnu/testlet/javax/swing/text/FlowView/getFlowAxis: New test class. 2006-02-07 Raif S. Naffah * gnu/testlet/gnu/java/security/key/dss/TestOfDSSCodec.java (testKeyPairASN1Codec): New method. * gnu/testlet/gnu/java/security/jce/TestOfFormat.java: New file. * gnu/testlet/gnu/java/security/jce/FakeProvider.java (FakeProvider): Add mapping for "KeyFactory.Encoded". 2006-02-06 Lillian Angel * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure1.java: Removed strict checks. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure3.java: Likewise. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure4.java: Likewise. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure5.java: Likewise. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure6.java: Likewise. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure7.java: Likewise. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure8.java: Likewise. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/StyledDocument1.java: Likewise. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/StyledDocument4.java: Likewise. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/StyledDocument5.java: Likewise. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/StyledDocument6.java: Likewise. 2006-02-06 Ito Kazumitsu * gnu/testlet/java/util/regex/Pattern/testdata1, gnu/testlet/java/util/regex/Pattern/testdata2: Moved some cases from testdata2 to testdata1. 2006-02-06 Wolfgang Baer * gnu/testlet/java/net/Socket/SocketTest.java (test_Basics): Specialized Exceptions to be thrown to ConnectException if connection fails. 2006-02-05 Mark Wielaard * gnu/testlet/javax/swing/DefaultListCellRenderer/ getListCellRendererComponent.java: New test. 2006-02-05 Mark Wielaard * gnu/testlet/java/lang/ClassLoader/loadClass.java: New test. 2006-02-05 Wolfgang Baer * gnu/testlet/java/net/HttpURLConnection/fileNotFound.java: (test): Added tests for calling getInputStream, getErrorStream. 2006-02-04 Wolfgang Baer * gnu/testlet/java/net/HttpURLConnection: New directory. * gnu/testlet/java/net/HttpURLConnection/fileNotFound.java, * gnu/testlet/java/net/HttpURLConnection/nullPointerException.java, * gnu/testlet/java/net/HttpURLConnection/illegalStateException.java, * gnu/testlet/java/net/HttpURLConnection/getRequestProperty.java, * gnu/testlet/java/net/HttpURLConnection/getOutputStream.java: New tests. * gnu/testlet/java/net/URLConnection/URLConnectionTest.java: (test_getHeaderField): Removed failing wrong test. 2006-02-02 Roman Kennke * gnu/testlet/javax/swing/JLayeredPane/setPosition.java, * gnu/testlet/javax/swing/JLayeredPane/moveToFront.java: New tests. 2006-02-04 Raif S. Naffah * gnu/testlet/gnu/java/security/jce/TestOfDSSKeyPairGenerator.java: New file. * gnu/testlet/gnu/java/security/jce/FakeProvider.java: Likewise. * gnu/testlet/gnu/java/security/jce/FakeDSAParameters.java: Likewise. 2006-02-04 Raif S. Naffah * gnu/testlet/gnu/java/security/jce/TestOfKeyPairGenerator.java (checkJCEKeyPairGenerator): New method refactored from old testDSAKeyPairGenerator(). Ensure implementation provides defaults for 512- and 1024-bit modulus. (testDSAKeyPairGenerator): Removed. (test): Call checkJCEKeyPairGenerator with DSA and DSS. 2006-02-03 Olivier Jolly * gnu/testlet/java/io/ObjectInputOutput/LoopSerializationTest.java: New test on back references in serialization, * gnu/testlet/java/io/ObjectInputOutput/SerializableLoopA.java: New helper file, * gnu/testlet/java/io/ObjectInputOutput/SerializableLoopB.java: Likewise. 2006-02-03 Gary Benson * gnu/testlet/java/io/File/security.java: Renamed the marker that tags throwpoint tests from "security" to "throwpoint". * gnu/testlet/java/io/FileInputStream/security.java: Likewise. * gnu/testlet/java/io/FileOutputStream/security.java: Likewise. * gnu/testlet/java/io/ObjectInputStream/security.java: Likewise. * gnu/testlet/java/io/ObjectOutputStream/security.java: Likewise. * gnu/testlet/java/io/RandomAccessFile/security.java: Likewise. * gnu/testlet/java/lang/Class/security.java: Likewise. * gnu/testlet/java/lang/ClassLoader/security.java: Likewise. * gnu/testlet/java/lang/Runtime/security.java: Likewise. * gnu/testlet/java/lang/System/security.java: Likewise. 2006-02-03 Raif S. Naffah * gnu/testlet/javax/crypto: Removed. * gnu/testlet/java/security/sig: Likewise. * gnu/testlet/java/security/key.java: Likewise. * gnu/testlet/java/security/jce: Likewise. * gnu/testlet/java/security/hash: Likewise. 2006-02-02 Mark Wielaard * gnu/testlet/java/util/AbstractCollection/toString.java: New test. 2006-02-02 Roman Kennke * gnu/testlet/javax/swing/text/GapContent/insertString.java (testGeneral): Fixed boundary case to pass with the JDK. 2006-02-01 Mark Wielaard * gnu/testlet/java/util/regex/Pattern/UnicodeSimpleCategory.java: New test. 2006-02-01 David Gilbert * gnu/testlet/javax/swing/text/StringContent/remove.java: Minor correction to header. 2006-02-01 David Gilbert * gnu/testlet/javax/swing/text/SimpleAttributeSet/containsAttribute.java (test): Added one more check. 2006-02-01 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getAcceleratorForeground.java (test): Set theme then check color against theme, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/setCurrentTheme.java (test): Likewise. 2006-02-01 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalFileChooserUI/getPreferredSize.java (test): Removed check for actual size. 2006-02-01 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalComboBoxUI/getDisplaySize.java (testNotEditable): Set theme, (testEditable): Set MetalLookAndFeel at end, * gnu/testlet/javax/swing/plaf/metal/MetalComboBoxUI/getMinimumSize.java (test): Set known look and feel, (testEditable): Updated expected values, (testEditableWithCustomFont): Likewise, * gnu/testlet/javax/swing/plaf/metal/MetalComboBoxUI/getPreferredSize.java (testEditable): Updated expected values. 2006-02-01 David Gilbert * gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/constructor.java (test): Set MetalLookAndFeel at end of test, * gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/getMaximumSize.java (test): Likewise, * gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/getMaximumThumbSize.java (test): Likewise, * gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/getMinimumSize.java (test): Likewise, * gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/getMinimumThumbSize.java (test): Likewise, * gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/getPreferredSize.java (test): Likewise, * gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/layoutContainer.java (test): Likewise. 2006-02-01 David Gilbert * gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/getPreferredSize.java (testEditable): Removed System.out.println() and modified expected result for one check. 2006-02-01 David Gilbert * gnu/testlet/javax/swing/plaf/basic/BasicButtonUI/defaultTextIconGap.java (test): Updated expected results and test tag to JDK1.5. 2006-02-01 Roman Kennke * gnu/testlet/javax/swing/table/DefaultTableCellRenderer/getTableCellRendererComponent.java: New test. 2006-02-01 David Gilbert * gnu/testlet/javax/swing/border/TitledBorder/constructors.java (test): Set known look and feel and theme. 2006-02-01 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalFileChooserUI/getActionMap.java: Removed, * gnu/testlet/javax/swing/plaf/metal/MetalFileChooserUI/getMinimumSize.java (test): Set theme and removed fixed size test, * gnu/testlet/javax/swing/plaf/metal/MetalFileChooserUI/getActionMap.java (test): Likewise. 2006-02-01 Roman Kennke * gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/installDefaults.java: (testIncrButton): Fixed to test the JDK1.5 behaviour, which is to not install any button in the installDefaults method. (testDecrButton): Fixed to test the JDK1.5 behaviour, which is to not install any button in the installDefaults method. * gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/installComponents.java: New test. Checks if the ScrollBar buttons are created here. * gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/MyBasicScrollBarUI.java: Added installComponents() method to make protected method visible. 2006-02-01 Roman Kennke * gnu/testlet/javax/swing/JLayeredPane/addImpl.java (testAddZeroPosition): New test. 2006-02-01 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalComboBoxEditor/constructor.java (test): Set DefaultMetalTheme and use correct insets, * gnu/testlet/javax/swing/plaf/metal/MetalComboBoxEditor/editorBorderInsets.java (test): Likewise, Updated tag to JDK1.5 for both. 2006-02-01 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalBorders/MenuBarBorder/getBorderInsets.java (test1): Use MetalLookAndFeel with DefaultMetalTheme, (test2): Likewise, * gnu/testlet/javax/swing/plaf/metal/MetalBorders/ToolBarBorder/getBorderInsets.java (test1): Use MetalLookAndFeel with DefaultMetalTheme, (test2): Likewise. 2006-02-01 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/PaletteCloseIcon/getIconHeight.java (test): Change expected result to 7, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/PaletteCloseIcon/getIconWidth.java (test): Likewise, Changed tag to JDK1.5 for both. 2006-02-01 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getAcceleratorForeground.java (test): Set a known theme at the start of the test, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/setCurrentTheme.java (test): Likewise. 2006-02-01 David Gilbert * gnu/testlet/javax/swing/UIManager/getUI.java (test): Set MetalLookAndFeel at end of test. 2006-01-31 Roman Kennke * gnu/testlet/javax/swing/plaf/basic/BasicRootPaneUI/installDefaults.java: New test. 2006-01-31 David Gilbert * gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/createArrowButton.java (test): Set MetalLookAndFeel at end of test, * gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/createRenderer.java (test): Likewise, * gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/getDisplaySize.java (testNotEditable): Likewise, (testEditable): Likewise, * gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/layout.java (test): Likewise. 2006-01-31 David Gilbert * gnu/testlet/javax/swing/JComboBox/setEditor.java (test): Restore MetalLookAndFeel at the end of the test. 2006-01-31 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalRadioButtonUI/getDisabledTextColor.java (test): Set known theme in MetalLookAndFeel, * gnu/testlet/javax/swing/plaf/metal/MetalRadioButtonUI/getFocusColor.java: (test): Likewise, * gnu/testlet/javax/swing/plaf/metal/MetalRadioButtonUI/getSelectColor.java: (test): Likewise. 2006-01-31 Gary Benson * gnu/testlet/TestSecurityManager2.java: Added prepareChecks methods with no mayCheck parameter to avoid having to create and pass empty arrays all the time. * gnu/testlet/java/io/File/security.java: Use the above. * gnu/testlet/java/io/FileInputStream/security.java: Likewise. * gnu/testlet/java/io/FileOutputStream/security.java: Likewise. * gnu/testlet/java/io/ObjectInputStream/security.java: Likewise. * gnu/testlet/java/io/ObjectOutputStream/security.java: Likewise. * gnu/testlet/java/lang/Class/security.java: Likewise. * gnu/testlet/java/lang/ClassLoader/security.java: Likewise. * gnu/testlet/java/lang/Runtime/security.java: Likewise. * gnu/testlet/java/lang/SecurityManager/thread.java: Likewise. * gnu/testlet/java/lang/System/security.java: Likewise. 2006-01-31 David Gilbert * gnu/testlet/javax/swing/AbstractButton.java (test): Set the look and feel theme to DefaultMetalTheme. 2006-01-31 Roman Kennke * gnu/testlet/javax/swing/JDesktopPane/constructor.java New test. 2006-01-30 Roman Kennke * gnu/testlet/java/awt/Container/getPreferredSize.java: New test. 2006-01-30 Roman Kennke * gnu/testlet/javax/swing/JRootPane/RootLayout/preferredLayoutSize.java: Fixed copyright header and docs. 2006-01-30 Roman Kennke * gnu/testlet/javax/swing/JRootPane/RootLayout/preferredLayoutSize.java: New test 2006-01-30 Gary Benson * gnu/testlet/java/lang/System/security.java: More new tests. 2006-01-30 Gary Benson * gnu/testlet/java/lang/System/security.java: New test. 2006-01-30 Roman Kennkte * gnu/testlet/javax/swing/ViewportLayout/minimumLayoutSize.java: New test 2006-01-30 Ito Kazumitsu * gnu/testlet/java/util/regex/Pattern/testdata1, gnu/testlet/java/util/regex/Pattern/testdata2: Moved some cases from testdata2 to testdata1. 2006-01-30 Roman Kennke * gnu/testlet/javax/swing/plaf/basic/BasicListUI/updateLayoutStateNeeded.java: New test 2006-01-31 Raif S. Naffah * gnu/testlet/gnu/java/security/util/TestOfPrime2.java (test): Call new methods. (checkIsPrime65537): Clarified that the number is Fermat's F4 prime. (checkCryptoPrimes): New method. (checkIsPrime): Re-wrote to reduce amount of output. (checkIsNonPrime): New method. (checkSpeed): New method. (eulerTime): New method. (millerRabinTime): New method. 2006-01-30 Roman Kennke * gnu/testlet/javax/swing/JLayeredPane/addImp.java (testAddDifferentLayers): New test. 2006-01-30 Roman Kennke * gnu/testlet/javax/swing/JLayeredPane/addImp.java New test. 2005-01-29 Mark Wielaard * gnu/testlet/java/lang/Double/DoubleSetterTest.java: Cleaned up test name containing "Error". 2005-01-29 Edwin Steiner * gnu/testlet/java/lang/Byte/ByteTest.java, gnu/testlet/java/lang/Character/CharacterTest.java, gnu/testlet/java/lang/Double/DoubleTest.java, gnu/testlet/java/lang/Float/FloatTest.java, gnu/testlet/java/lang/Integer/IntegerTest.java, gnu/testlet/java/lang/Long/LongTest.java, gnu/testlet/java/lang/Math/MathTest.java, gnu/testlet/java/lang/Short/ShortTest.java, gnu/testlet/java/lang/String/StringTest.java, gnu/testlet/java/lang/StringBuffer/StringBufferTest.java: Cleaned up test names containing "Error", "failed", or "returned wrong results". 2006-01-29 Olivier Jolly * gnu/testlet/java/lang/Double/DoubleSetterTest.java: New test which makes sure that unwrapping of new Double(Double.MAX_VALUE) in Method.invoke works correctly. 2006-01-29 Roman Kennke * gnu/testlet/javax/swing/ScrollPaneLayout/minimumLayoutSize.java: New test. 2006-01-30 Raif S. Naffah * gnu/testlet/gnu/java/security/util/TestOfPrime2.java: New file. Fixed Copyright holder. 2006-01-29 Raif S. Naffah * gnu/testlet/javax/crypto: Moved to gnu/testlet/gnu/javax/crypto. * gnu/testlet/java/security/sig: Moved to gnu/testlet/gnu/java/security/sig. * gnu/testlet/java/security/key.java: Moved to gnu/testlet/gnu/java/security/key. * gnu/testlet/java/security/jce: Moved to gnu/testlet/gnu/java/security/jce. * gnu/testlet/java/security/hash: Moved to gnu/testlet/gnu/java/security/hash. 2006-01-28 David Gilbert * gnu/testlet/javax/swing/event/SwingPropertyChangeSupport/hasListeners.java (test): Corrected test for null argument, * gnu/testlet/javax/swing/event/SwingPropertyChangeSupport/removePropertyChangeListener.java (test2): Likewise. 2006-01-28 David Gilbert * gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/getFont.java (test): Changed getBackground() --> getFont(). 2006-01-28 David Gilbert * gnu/testlet/javax/swing/UIManager/addPropertyChangeListener.java (test): Don't assume there are zero listeners at start of test, * gnu/testlet/javax/swing/UIManager/getPropertyChangeListeners.java (test): Likewise. 2006-01-29 Raif S. Naffah * gnu/testlet/javax/crypto/mac/TestOfHMacCloneability.java: New file. * gnu/testlet/javax/crypto/jce/TestOfMac.java (testEquality): Skip OMAC with null cipher. Use two MDGenerators directly instantiated. (testCloneability): Use a directly instantiaed MDGenerator. 2006-01-28 Roman Kennke * gnu/testlet/javax/swing/ViewportLayout/layoutContainer.java (testMinimumViewSize): New test. 2006-01-28 Raif S. Naffah * gnu/testlet/javax/crypto/sasl/TestOfClientFactory.java: New file. * gnu/testlet/javax/crypto/sasl/TestOfServerFactory.java: Likewise. * gnu/testlet/javax/crypto/sasl/srp/TestOfSRPAuthInfoProvider.java: Likewise. * gnu/testlet/javax/crypto/sasl/srp/TestOfSRPPasswordFile.java: Likewise. * gnu/testlet/javax/crypto/sasl/srp/TestOfSRPPrimitives.java: Likewise. * gnu/testlet/javax/crypto/prng/TestOfARCFour.java: Likewise. * gnu/testlet/javax/crypto/prng/TestOfICMGenerator.java: Likewise. * gnu/testlet/javax/crypto/prng/TestOfPBKDF2.java: Likewise. * gnu/testlet/javax/crypto/prng/TestOfPRNGFactory.java: Likewise. * gnu/testlet/javax/crypto/pad/TestOfPadFactory.java: Likewise. * gnu/testlet/javax/crypto/pad/TestOfPKCS7.java: Likewise. * gnu/testlet/javax/crypto/pad/TestOfTBC.java: Likewise. * gnu/testlet/javax/crypto/mode/TestOfCBC.java: Likewise. * gnu/testlet/javax/crypto/mode/TestOfCFB.java: Likewise. * gnu/testlet/javax/crypto/mode/TestOfEAX.java: Likewise. * gnu/testlet/javax/crypto/mode/TestOfECB.java: Likewise. * gnu/testlet/javax/crypto/mode/TestOfModeFactory.java: Likewise. * gnu/testlet/javax/crypto/mode/TestOfOFB.java: Likewise. * gnu/testlet/javax/crypto/mac/TestOfHMac.java: Likewise. * gnu/testlet/javax/crypto/mac/TestOfHMacFactory.java: Likewise. * gnu/testlet/javax/crypto/mac/TestOfHMacMD5.java: Likewise. * gnu/testlet/javax/crypto/mac/TestOfHMacSha1.java: Likewise. * gnu/testlet/javax/crypto/mac/TestOfMacFactory.java: Likewise. * gnu/testlet/javax/crypto/mac/TestOfOMAC.java: Likewise. * gnu/testlet/javax/crypto/mac/TestOfTMMH16.java: Likewise. * gnu/testlet/javax/crypto/keyring/TestOfPrivateKeyring.java: Likewise. * gnu/testlet/javax/crypto/keyring/TestOfPublicKeyring.java: Likewise. * gnu/testlet/javax/crypto/key/dh/TestOfDHCodec.java: Likewise. * gnu/testlet/javax/crypto/key/dh/TestOfDHKeyAgreements.java: Likewise. * gnu/testlet/javax/crypto/key/dh/TestOfDHKeyGeneration.java: Likewise. * gnu/testlet/javax/crypto/key/srp6/TestOfSRP6KeyAgreements.java: Likewise. * gnu/testlet/javax/crypto/key/srp6/TestOfSRPCodec.java: Likewise. * gnu/testlet/javax/crypto/key/srp6/TestOfSRPKeyGeneration.java: Likewsie. * gnu/testlet/javax/crypto/jce/TestOfCipher.java: Likewise. * gnu/testlet/javax/crypto/jce/TestOfMac.java: Likewise. * gnu/testlet/javax/crypto/jce/TestOfOtherProviders.java: Likewise. * gnu/testlet/javax/crypto/cipher/BaseCipherTestCase.java: Likewise. * gnu/testlet/javax/crypto/cipher/TestOfAnubis.java: Likewise. * gnu/testlet/javax/crypto/cipher/TestOfBlowfish.java: Likewise. * gnu/testlet/javax/crypto/cipher/TestOfCast5.java: Likewise. * gnu/testlet/javax/crypto/cipher/TestOfCipherFactory.java: Likewise. * gnu/testlet/javax/crypto/cipher/TestOfDES.java: Likewise. * gnu/testlet/javax/crypto/cipher/TestOfKhazad.java: Likewise. * gnu/testlet/javax/crypto/cipher/TestOfNullCipher.java: Likewise. * gnu/testlet/javax/crypto/cipher/TestOfRijndael.java: Likewise. * gnu/testlet/javax/crypto/cipher/TestOfSerpent.java: Likewise. * gnu/testlet/javax/crypto/cipher/TestOfSquare.java: Likewise. * gnu/testlet/javax/crypto/cipher/TestOfTripleDES.java: Likewise. * gnu/testlet/javax/crypto/cipher/TestOfTwofish.java: Likewise. * gnu/testlet/javax/crypto/assembly/TestOfAssembly.java: Likewise. * gnu/testlet/javax/crypto/assembly/TestOfCascade.java: Likewise. * gnu/testlet/java/security/sig/dss/TestOfDSSSignature.java: Likewise. * gnu/testlet/java/security/sig/dss/TestOfDSSSignatureCodec.java: Likewise. * gnu/testlet/java/security/sig/rsa/TestOfRSAPKCS1V1_5Signature.java: Likewise. * gnu/testlet/java/security/sig/rsa/TestOfRSAPSSSignature.java: Likewise. * gnu/testlet/java/security/sig/rsa/TestOfRSASignatureCodec.java: Likewise. * gnu/testlet/java/security/sig/TestOfSignatureFactory.java: Likewise. * gnu/testlet/java/security/key/dss/TestOfDSSCodec.java: Likewise. * gnu/testlet/java/security/key/dss/TestOfDSSKeyGeneration.java: Likewise. * gnu/testlet/java/security/key/rsa/TestOfRSACodec.java: Likewise. * gnu/testlet/java/security/key/rsa/TestOfRSAKeyGeneration.java: Likewise. * gnu/testlet/java/security/key/TestOfKeyPairGeneratorFactory.java: Likewise. * gnu/testlet/java/security/jce/TestOfKeyPairGenerator.java: Likewise. * gnu/testlet/java/security/jce/TestOfMessageDigest.java: Likewise. * gnu/testlet/java/security/jce/TestOfProvider.java: Likewise. * gnu/testlet/java/security/jce/TestOfSignature.java: Likewise. * gnu/testlet/java/security/hash/TestOfHashFactory.java: Likewise. * gnu/testlet/java/security/hash/TestOfHaval.java: Likewise. * gnu/testlet/java/security/hash/TestOfMD2.java: Likewise. * gnu/testlet/java/security/hash/TestOfMD4.java: Likewise. * gnu/testlet/java/security/hash/TestOfMD5.java: Likewsie. * gnu/testlet/java/security/hash/TestOfRipeMD128.java: Likewise. * gnu/testlet/java/security/hash/TestOfRipeMD160.java: Likewise. * gnu/testlet/java/security/hash/TestOfSha160.java: Likewise. * gnu/testlet/java/security/hash/TestOfSha256.java: Likewise. * gnu/testlet/java/security/hash/TestOfSha384.java: Likewise. * gnu/testlet/java/security/hash/TestOfTiger.java: Likewise. * gnu/testlet/java/security/hash/TestOfSha512.java: Likewise. * gnu/testlet/java/security/hash/TestOfWhirlpool.java: Likewise. 2006-01-27 Gary Benson * gnu/testlet/java/lang/Runtime/security.java: Ignore the modifyThread check that Classpath's reference VMProcess calls. 2006-01-27 Gary Benson * gnu/testlet/java/lang/Runtime/security.java: New test. 2006-01-27 Gary Benson * gnu/testlet/TestSecurityManager2.java: Added the ability to abort tests when the permission is checked, to allow us to test things that we don't actually want doing. 2006-01-27 Raif S. Naffah * gnu/testlet/javax/crypto/jce/TestOfPR25981.java: New test. 2006-01-26 Gary Benson * gnu/testlet/java/lang/ClassLoader/security.java: New test. 2006-01-26 Mark Wielaard * gnu/testlet/java/math/BigDecimal/compareTo.java: New tests. 2006-01-25 David Gilbert * gnu/testlet/javax/swing/text/PlainDocument/createPosition.java: New tests, * gnu/testlet/javax/swing/text/PlainDocument/getLength.java: Likewise, * gnu/testlet/javax/swing/text/PlainDocument/getRootElements.java: Likewise, * gnu/testlet/javax/swing/text/PlainDocument/getText.java: Likewise, * gnu/testlet/javax/swing/text/PlainDocument/insertString.java (test): Call new test methods, (testArguments): New method, (testPositions): Likewise, * gnu/testlet/javax/swing/text/PlainDocument/remove.java: New tests. 2006-01-24 David Gilbert * gnu/testlet/javax/swing/text/GapContent/insertString.java (testGeneral): Corrected test. 2006-01-24 David Gilbert * gnu/testlet/javax/swing/text/GapContent/constructors.java: New tests, * gnu/testlet/javax/swing/text/GapContent/createPosition.java: Likewise, * gnu/testlet/javax/swing/text/GapContent/getChars.java: Likewise, * gnu/testlet/javax/swing/text/GapContent/getString.java: Likewise, * gnu/testlet/javax/swing/text/GapContent/insertString.java (test): Call testGeneral(TestHarness), (testGeneral): New method, * gnu/testlet/javax/swing/text/GapContent/length.java: New tests, * gnu/testlet/javax/swing/text/GapContent/MyGapContent.java: New support class, * gnu/testlet/javax/swing/text/GapContent/remove.java: New tests. 2006-01-24 Gary Benson * gnu/testlet/java/net/SocketPermission/serialization.java: New test. 2006-01-24 David Gilbert * gnu/testlet/javax/swing/text/StringContent/BadLocationExceptionTest.java: Updated header and imports, * gnu/testlet/javax/swing/text/StringContent/constructors.java: New tests, * gnu/testlet/javax/swing/text/StringContent/createPosition.java: Likewise, * gnu/testlet/javax/swing/text/StringContent/getChars.java: Likewise, * gnu/testlet/javax/swing/text/StringContent/getString.java: Likewise, * gnu/testlet/javax/swing/text/StringContent/insertString.java: Likewise, * gnu/testlet/javax/swing/text/StringContent/insertUndo.java: Updated header and imports, * gnu/testlet/javax/swing/text/StringContent/length.java: New tests, * gnu/testlet/javax/swing/text/StringContent/remove.java: New tests, * gnu/testlet/javax/swing/text/StringContent/removeUndo.java: Updated header and imports, * gnu/testlet/javax/swing/text/StringContent/stickyPosition.java: Likewise, * gnu/testlet/javax/swing/text/StringContent/StringContentTest.java: Likewise. 2006-01-23 Anthony Balkissoon * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure1.java: Added more detailed tests. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure2.java: Removed this test because it is a duplicate of ElementStructure1.java. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure3.java: Added more detailed tests. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure4.java: Likewise. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure5.java: Likewise. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure6.java: Likewise. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure7.java: Likewise. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure8.java: Likewise. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/StyledDocument1.java: Likewise. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/StyledDocument2.java: Likewise. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/StyledDocument3.java: Likewise. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/StyledDocument4.java: Likewise. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/StyledDocument5.java: Likewise. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/StyledDocument6.java: Likewise. 2006-01-23 David Gilbert * gnu/testlet/javax/swing/text/Segment/clone.java: New test, * gnu/testlet/javax/swing/text/Segment/constructors.java: Likewise, * gnu/testlet/javax/swing/text/Segment/current.java: Likewise, * gnu/testlet/javax/swing/text/Segment/first.java: Likewise, * gnu/testlet/javax/swing/text/Segment/getBeginIndex.java: Likewise, * gnu/testlet/javax/swing/text/Segment/getEndIndex.java: Likewise, * gnu/testlet/javax/swing/text/Segment/getIndex.java: Likewise, * gnu/testlet/javax/swing/text/Segment/isPartialReturn.java: Likewise, * gnu/testlet/javax/swing/text/Segment/last.java: Likewise, * gnu/testlet/javax/swing/text/Segment/next.java: Likewise, * gnu/testlet/javax/swing/text/Segment/previous.java: Likewise, * gnu/testlet/javax/swing/text/Segment/setIndex.java: Likewise, * gnu/testlet/javax/swing/text/Segment/setPartialReturn.java: Likewise, * gnu/testlet/javax/swing/text/Segment/toString.java: Likewise. 2006-01-22 James Damour * java/awt/Container/addImpl.java (test): Added check for non-null String passed to addLayoutComponent. 2006-01-21 Ito Kazumitsu * gnu/testlet/java/util/regex/CharacterClasses.java: Commented out a case of "[[]" which ceased to be valid. 2006-01-20 Roman Kennke * gnu/testlet/javax/swing/text/DefaultFormatter/getValueClass.java: New test. 2006-01-19 David Gilbert * gnu/testlet/gnu/javax/swing/text/html/parser/support/low/Buffer/Buffer_Test.java: Added 'GNU' tag, * gnu/testlet/gnu/javax/swing/text/html/parser/support/low/Constants/Constants_Test.java: Likewise, * gnu/testlet/gnu/javax/swing/text/html/parser/support/low/ReaderTokenizer/ReaderTokenizer_Test.java: Likewise, * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/AttributeList_Test.java: Likewise, * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/DTD_test.java: Likewise, * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/Element_Test.java: Likewise, * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/Entity_Test.java: Likewise, * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/HTML_parsing.java: Likewise, * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/HTML_randomTable.java: Likewise, * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/HTML_Test.java: Likewise, * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/parameterDefaulter_Test.java: Likewise, * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/Parser_Test.java: Likewise, * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/ParserEntityResolverTest.java: Likewise, * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/ParserTest.java: Likewise, * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/supplementaryNotifications.java: Likewise, * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/TagElement_Test.java: Likewise, * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/TestCase.java: Likewise, * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/Text.java: Likewise, * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/textPreProcessor_Test.java: Likewise, * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/Token_locations.java: Likewise. 2006-01-19 Gary Benson * gnu/testlet/java/net/SocketPermission/argument.java: New test. 2006-01-19 Gary Benson * gnu/testlet/java/net/SocketPermission/implies.java: Add checks for ports and (minimally) for hosts. 2006-01-16 Lillian Angel * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure8.java: Added more complicated tests and checkpoints. 2006-01-18 Ito Kazumitsu * gnu/testlet/java/util/regex/Pattern/testdata1, gnu/testlet/java/util/regex/Pattern/testdata2: Moved some cases from testdata2 to testdata1. 2006-01-17 Gary Benson * gnu/testlet/java/net/SocketPermission/implies.java: Remove a bit of debugging code that sneaked through. 2006-01-17 David Gilbert * gnu/testlet/javax/swing/text/StyleConstants/constants.java: New file, * gnu/testlet/javax/swing/text/StyleConstants/getAlignment.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/getBackground.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/getBidiLevel.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/getComponent.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/getFirstLineIndent.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/getFontFamily.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/getFontSize.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/getForeground.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/getIcon.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/getLeftIndent.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/getLineSpacing.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/getRightIndent.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/getSpaceAbove.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/getSpaceBelow.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/getTabSet.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/isBold.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/isItalic.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/isStrikeThrough.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/isSubscript.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/isSuperscript.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/isUnderline.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/setAlignment.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/setBackground.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/setBidiLevel.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/setBold.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/setComponent.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/setFirstLineIndent.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/setFontFamily.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/setFontSize.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/setForeground.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/setIcon.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/setItalic.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/setLeftIndent.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/setLineSpacing.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/setRightIndent.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/setSpaceAbove.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/setSpaceBelow.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/setStrikeThrough.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/setSubscript.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/setSuperscript.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/setTabSet.java: Likewise, * gnu/testlet/javax/swing/text/StyleConstants/setUnderline.java: Likewise. 2006-01-17 Pedro Izecksohn * gnu/testlet/org/w3c/dom/childNodesLength.java (passed): Removed. (checkNode): Don't check passed variable. 2006-01-16 Lillian Angel * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure8.java: Added more complicated tests and checkpoints. 2006-01-16 Lillian Angel * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure8.java: Fixed Tags, removed FIXME. 2006-01-16 Lillian Angel * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure8.java: Added new checks. 2006-01-16 Lillian Angel * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure8.java: New Class. 2006-01-16 Pedro Izecksohn * gnu/testlet/org/w3c/dom/childNodesLength.java: New test. * gnu/testlet/org/w3c/dom/test.xml: New data file. 2006-01-16 Gary Benson * gnu/testlet/TestSecurityManager2.java (TestSecurityManager2): Remove a now-unnecessary workaround. 2006-01-16 Gary Benson * gnu/testlet/java/net/SocketPermission/implies.java: New test. 2006-01-16 Raif S. Naffah * gnu/testlet/javax/security/auth/login/TestOfPR25202.java: New file. * gnu/testlet/javax/security/auth/login/TestOfGnuConfiguration.java: New file. * gnu/testlet/javax/security/auth/login/TestOfConfigurationParser.java: New file. * gnu/testlet/javax/security/auth/login/DBLoginModule.java: New file. 2006-01-14 Wolfgang Baer * gnu/testlet/javax/print/SimpleDoc/: New directory. * gnu/testlet/javax/print/SimpleDoc/constructor.java, * gnu/testlet/javax/print/SimpleDoc/getAttributes.java, * gnu/testlet/javax/print/SimpleDoc/getReaderForText.java, * gnu/testlet/javax/print/SimpleDoc/getStreamForBytes.java: New tests. 2006-01-13 Wolfgang Baer * gnu/testlet/javax/print/attribute/standard, * gnu/testlet/javax/print/attribute/standard/MediaSize: New directories. * gnu/testlet/javax/print/attribute/standard/MediaSize/userClass.java: New test. 2006-01-13 David Gilbert * gnu/testlet/javax/swing/text/SimpleAttributeSet/addAttribute.java: New file, * gnu/testlet/javax/swing/text/SimpleAttributeSet/addAttributes.java: Likewise, * gnu/testlet/javax/swing/text/SimpleAttributeSet/clone.java: Likewise, * gnu/testlet/javax/swing/text/SimpleAttributeSet/constructors.java: Likewise, * gnu/testlet/javax/swing/text/SimpleAttributeSet/containsAttribute.java: Likewise, * gnu/testlet/javax/swing/text/SimpleAttributeSet/containsAttributes.java: Likewise, * gnu/testlet/javax/swing/text/SimpleAttributeSet/copyAttributes.java: Likewise, * gnu/testlet/javax/swing/text/SimpleAttributeSet/EMPTY.java: Likewise, * gnu/testlet/javax/swing/text/SimpleAttributeSet/equals.java: Likewise, * gnu/testlet/javax/swing/text/SimpleAttributeSet/getAttribute.java: Likewise, * gnu/testlet/javax/swing/text/SimpleAttributeSet/getAttributeCount.java: Likewise, * gnu/testlet/javax/swing/text/SimpleAttributeSet/getAttributeNames.java: Likewise, * gnu/testlet/javax/swing/text/SimpleAttributeSet/getResolveParent.java: Likewise, * gnu/testlet/javax/swing/text/SimpleAttributeSet/isDefined.java: Likewise, * gnu/testlet/javax/swing/text/SimpleAttributeSet/isEmpty.java: Likewise, * gnu/testlet/javax/swing/text/SimpleAttributeSet/isEqual.java: Likewise, * gnu/testlet/javax/swing/text/SimpleAttributeSet/removeAttribute.java: Likewise, * gnu/testlet/javax/swing/text/SimpleAttributeSet/removeAttributes.java: Likewise, * gnu/testlet/javax/swing/text/SimpleAttributeSet/setResolveParent.java: Likewise. 2006-01-12 Anthony Balkissoon * gnu/testlet/javax/swing/TransferHandler/TransferActionConstructor: New test. 2006-01-12 Anthony Balkissoon * gnu/testlet/javax/swing/JTextField/setDocument.java: New test. 2006-01-12 Lillian Angel * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure7.java: Added new checks for ElementSpec data. 2006-01-12 Anthony Balkissoon * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/StyledDocument1.java: New test. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/StyledDocument2.java: New test. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/StyledDocument3.java: New test. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/StyledDocument4.java: New test. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/StyledDocument5.java: New test. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/StyledDocument6.java: New test. 2006-01-12 Lillian Angel * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure7.java: New Test. 2006-01-11 Roman Kennke * gnu/testlet/java/util/Hashtable/EnumerateAndModify.java: New test. 2006-01-05 Lillian Angel * gnu/testlet/javax/swing/text/GapContent/PositionTest.java (testComplex): Added more test cases. 2006-01-05 Anthony Balkissoon * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure6.java: New test. 2006-01-05 Ito Kazumitsu * gnu/testlet/java/util/regex/Pattern/matches.java: Added some test cases. 2006-01-04 Anthony Balkissoon * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure4.java: New test. * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure5.java: New test. 2006-01-04 Gary Benson * gnu/testlet/java/io/ObjectInputStream/security.java: New test. * gnu/testlet/java/io/ObjectOutputStream/security.java: Likewise. 2006-01-04 Gary Benson * gnu/testlet/TestSecurityManager2.java (TestSecurityManager2): Preload some classes to avoid infinite loops when in force. 2006-01-03 Tom Tromey * gnu/testlet/java/lang/String/getBytes13.java (dumpArray): New method. (test1Encoding): Use it. 2006-01-03 Lillian Angel * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getAcceleratorForeground.java: (test): Fixed color. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getAcceleratorSelectedForeground.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getBlack.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getControl.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getControlDarkShadow.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getControlDisabled.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getControlHighlight.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getControlInfo.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getControlShadow.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getControlTextColor.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getControlTextFont.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getDefaults.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getDesktopColor.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getFocusColor.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getHighlightedTextColor.java:i (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getInactiveControlTextColor.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getInactiveSystemTextColor.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getMenuBackground.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getMenuDisabledForeground.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getMenuForeground.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getMenuSelectedBackground.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getMenuSelectedForeground.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getMenuTextFont.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getPrimaryControl.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getPrimaryControlDarkShadow.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getPrimaryControlHighlight.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getPrimaryControlInfo.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getPrimaryControlShadow.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getSeparatorBackground.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getSeparatorForeground.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getSubTextFont.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getSystemTextColor.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getSystemTextFont.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getTextHighlightColor.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getUserTextColor.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getUserTextFont.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getWhite.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getWindowBackground.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getWindowTitleBackground.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getWindowTitleFont.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getWindowTitleForeground.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getWindowTitleInactiveBackground.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getWindowTitleInactiveForeground.java: (test): Fixed to set the current theme, otherwise the color returned is null. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/setCurrentTheme.java: (test): Fixed color. 2006-01-03 Lillian Angel * gnu/testlet/javax/swing/plaf/basic/BasicLookAndFeel/initComponentDefaults.java (test): Fixed checks so they pass with the JDK. 2006-01-03 Lillian Angel * gnu/testlet/javax/swing/UIManager/getUI.java (test): Fixed check. 2006-01-03 Lillian Angel * gnu/testlet/javax/swing/plaf/metal/MetalComboBoxButton/constructors.java (testConstructor1): Fixed typo in test. This now passes for us and the JDK. 2006-01-03 Raif S. Naffah * gnu/testlet/java/security/Security/getProviders.java (test1Provider): Ensure provider's name with extra spaces is recognized. 2006-01-03  Raif S. Naffah   * gnu/testlet/java/security/MessageDigest/getInstance14.java (test): Corrected string literal used in harness.checkPoint(). Added 2 new testcases to test passing Provider and Algorithm names with extra spaces. * gnu/testlet/java/security/Engine/getInstance.java: new file. * gnu/testlet/java/net/InetAddress/getAllByName.java (test): Ensure hostname strings with extra spaces are recognized. 2006-01-01 Raif S. Naffah * .externalToolBuilders/MauveTestlet.launch: New file. 2005-12-25 Jeroen Frijters * gnu/testlet/java/util/Collections/binarySearch.java: Added test to check which object compareTo is called on and to check to argument order for Comparable.compare(). 2005-12-24 Tom Tromey * gnu/testlet/java/io/InputStreamReader/getEncoding.java (test): Fix call to check. Debug-print exception. 2005-12-20 Lillian Angel * gnu/testlet/javax/swing/plaf/basic/BasicLookAndFeel/initComponentDefaults.java: Added checks for bindings in Button, CheckBox, EditorPane, List, TabbedPane, ToggleButton and Tree. Fixed several regressions caused by these new checks and Removed TODO comments for icons. There are no icons in the BasicL&F. 2005-12-20 Lillian Angel * gnu/testlet/javax/swing/plaf/basic/BasicLookAndFeel/initComponentDefaults.java: Added checks for bindings in FormattedTextField's focusInputMap. 2005-12-20 Lillian Angel * gnu/testlet/javax/swing/plaf/basic/BasicLookAndFeel/initComponentDefaults.java: Fixed a couple of typos. 2005-12-22 Ito Kazumitasu * gnu/testlet/java/lang/Class/newInstance.java: Reverted. 2005-12-21 Mark Wielaard * gnu/testlet/SingleTestHarness.java: New file. 2005-12-20 Lillian Angel * gnu/testlet/javax/swing/plaf/basic/BasicLookAndFeel/initComponentDefaults.java: Added more detailed tests for focusInputMaps. 2005-12-20 Anthony Balkissoon * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure3.java: Added another check to this test and also added a harness.debug statement for an exception we're throwing now that we shouldn't be. 2005-12-20 Anthony Balkissoon * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure3.java: Added more checks to this test. 2005-12-20 Lillian Angel * gnu/testlet/javax/swing/plaf/basic/BasicLookAndFeel/initComponentDefaults.java: Added checks for TextArea.focusInputMap, TextField.focusInputMap, TextPane.focusInputMap, and PasswordField.focusInputMap. 2005-12-20 Anthony Balkissoon * gnu/testlet/javax/swing/text/AttributeSet: New directory. * gnu/testlet/javax/swing/text/AttributeSet/isEqual.java: New test. 2005-12-20 Anthony Balkissoon * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure3.java: New test. 2005-12-20 Anthony Balkissoon * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure2.java: New test. 2005-12-21 Raif S. Naffah * .externalToolBuilders/MauveBatchRunLaunch: new Eclipse Builder * batch_run (CLASSPATHBCP): new env variable. (COMPILER): redefined using CLASSPATHBCP. 2005-12-20 Anthony Balkissoon * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure1.java: New test. 2005-12-19 Lillian Angel * gnu/testlet/javax/swing/text/StyledEditorKit: New Directory. * gnu/testlet/javax/swing/text/StyledEditorKit/createInputAttributesTest.java: New Test. 2005-12-19 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalComboBoxUI/MyMetalComboBoxUI.java: Fixed tag. 2005-12-19 David Gilbert * gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/getApproveButtonText.java: (test): Add null argument test. 2005-12-19 David Gilbert * gnu/testlet/javax/swing/JComboBox/model.java: New test. 2005-12-15 Roman Kennke * gnu/testlet/javax/swing/ViewportLayout/layoutContainer.java Made tests more safe from sideeffects by using absolute Dimension values instead of some size properties. 2005-12-15 Roman Kennke * gnu/testlet/javax/swing/JComponent/getPreferredSize.java: Added test for changing the value of preferred size. 2005-12-14 Tom Tromey PR classpath/25389: * gnu/testlet/java/io/File/newFileURI.java (test): Expect non-hierarchical URI to fail. 2005-12-14 Ito Kazumitsu * gnu/testlet/java/lang/Class/newInstance.java: Changed a criterion. 2005-12-13 Mark Wielaard * gnu/testlet/java/io/File/newFileURI.java: New test. 2005-12-13 Gary Benson * gnu/testlet/java/security/Security/property.java: Test handling of null values. 2005-12-12 Roman Kennke * gnu/testlet/javax/swing/JComponent/getPreferredSize.java: New test. 2005-12-12 Roman Kennke * gnu/testlet/javax/swing/ViewportLayout/layoutContainer.java New test for this layout manager. 2005-12-09 Gary Benson * gnu/testlet/java/lang/Class/security.java: New test. 2005-12-09 Lillian Angel * gnu/testlet/javax/swing/text/html/HTML/ElementTagAttributeTest.java: New test. 2005-12-08 Anthony Balkissoon * gnu/testlet/javax/swing/JEditorPane/ConstructorsAndTypes.java: New test. 2005-12-08 Anthony Balkissoon * gnu/testlet/javax/swing/JEditorPane/ContentType.java: New test. 2005-12-07 Tom Tromey * gnu/testlet/javax/swing/JFormattedTextField/JFormattedTextFieldTests.java: Removed missing import. 2005-12-07 Anthony Balkissoon * gnu/testlet/javax/swing/text/BoxView: New directory. * gnu/testlet/javax/swing/text/BoxView/spans.java: New test. 2005-12-07 David Gilbert * gnu/testlet/javax/swing/JFileChooser/MyFileChooser.java: New support class. 2005-12-07 Tom Tromey * gnu/testlet/java/lang/Double/toHexString.java: New file. * gnu/testlet/java/lang/Float/toHexString.java: New file. 2005-12-07 Anthony Balkissoon * gnu/testlet/javax/swing/JTextArea/preferredSize.java: New test. 2005-12-07 Roman Kennke * gnu/testlet/javax/swing/JComponent/constructor.java: New test. Checks the functionality of the constructor. 2005-12-07 Ito Kazumitsu * gnu/testlet/java/text/DecimalFormat/format.java: More tests. 2005-12-07 Anthony Green * gnu/testlet/java/net/DatagramSocket/bind.java: New file. 2005-12-06 Anthony Balkissoon * gnu/testlet/javax/swing/BoxLayout/maximumLayoutSize2.java: New file. 2005-12-06 Anthony Balkissoon * gnu/testlet/java/awt/BorderLayout/maxLayoutSize.java: New file. 2005-12-06 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalFileChooserUI/createActionMap.java: New file, * gnu/testlet/javax/swing/plaf/metal/MetalFileChooserUI/createFilterComboBoxModel.java: New file, * gnu/testlet/javax/swing/plaf/metal/MetalFileChooserUI/getApproveButton.java: New file, * gnu/testlet/javax/swing/plaf/metal/MetalFileChooserUI/getBottomPanel.java: New file, * gnu/testlet/javax/swing/plaf/metal/MetalFileChooserUI/getButtonPanel.java: New file, * gnu/testlet/javax/swing/plaf/metal/MetalFileChooserUI/getFileName.java: New file, * gnu/testlet/javax/swing/plaf/metal/MetalFileChooserUI/getMaximumSize.java: New file, * gnu/testlet/javax/swing/plaf/metal/MetalFileChooserUI/getMinimumSize.java: New file, * gnu/testlet/javax/swing/plaf/metal/MetalFileChooserUI/getPreferredSize.java: New file, * gnu/testlet/javax/swing/plaf/metal/MetalFileChooserUI/MyMetalFileChooserUI.java: New file, * gnu/testlet/javax/swing/plaf/metal/MetalFileChooserUI/setFileName.java: New file. 2005-12-05 Anthony Green * gnu/testlet/java/nio/DoubleBuffer/compareTo.java: New test. * gnu/testlet/java/nio/FloatBuffer/compareTo.java: New test. 2005-12-05 Anthony Balkissoon * gnu/testlet/javax/swing/JPanel/setBorder.java: New test. 2005-12-02 Gary Benson * gnu/testlet/java/io/FileInputStream/security.java: Catch exceptions generated by unexpected permission checks.. * gnu/testlet/java/io/FileOutputStream/security.java: Likewise. 2005-12-02 Gary Benson * gnu/testlet/java/io/RandomAccessFile/security.java: New tests. 2005-12-02 Gary Benson * gnu/testlet/java/io/FileOutputStream/security.java: Final set of throwpoint tests. 2005-12-02 Gary Benson * gnu/testlet/java/io/FileInputStream/security.java: More tests. * gnu/testlet/java/io/FileOutputStream/security.java: Likewise. 2005-12-04 Guilhem Lavaux * gnu/testlet/java/net/URL/URLTest.java: Test URL with null context. 2005-12-02 Anthony Balkissoon * gnu/testlet/javax/swing/JFormattedTextField/JFormattedTextFieldTests.java: Added 3 new tests to this file. 2005-12-02 Gary Benson * gnu/testlet/java/io/FileInputStream/security.java: New test. * gnu/testlet/java/io/FileOutputStream/security.java: Likewise. 2005-12-01 Gary Benson * gnu/testlet/java/io/File/security.java: Annotate SecurityException throwpoint tests. 2005-11-30 Anthony Balkissoon * gnu/testlet/javax/swing/JFormattedTextField: New directory. * gnu/testlet/javax/swing/JFormattedTextField/JFormattedTextFieldTests.java: New test. 2005-11-30 Gary Benson * gnu/testlet/java/io/File/security.java: Reenable listRoots test. 2005-11-29 Tom Tromey * gnu/testlet/java/net/URL/URLTest.java (testall): Enable URLStreamHandler test. (test_URLStreamHandler): Added test for classpath PR 25141. 2005-11-29 Mark Wielaard * gnu/testlet/java/lang/Number/NewNumber.java: Mark not-a-test. * gnu/testlet/java/lang/reflect/Other.java: Likewise. 2005-11-29 Mark Wielaard * gnu/testlet/java/lang/Class/pkg/test1.java: Mark not-a-test. * gnu/testlet/java/lang/Class/pkg/test2.java: Likewise. * gnu/testlet/java/lang/Class/pkg/test3.java: Likewise. * gnu/testlet/java/lang/Class/pkg/test4.java: Likewise. 2005-11-24 David Gilbert * gnu/testlet/javax/swing/JScrollBar/constructors.java (constructor1): Use harness.debug() to log exception, (constructor2): Likewise. 2005-11-24 Anthony Balkissoon * gnu/testlet/javax/swing/text/InternationalFormatter: New directory. * gnu/testlet/javax/swing/text/InternationalFormatter/InternationalFormatterTest.java: New test. 2005-11-23 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getMenuArrowIcon.java: New tests, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getMenuItemArrowIcon.java: New tests, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getMenuItemCheckIcon.java: New tests. 2005-11-23 David Gilbert * gnu/testlet/javax/swing/JScrollPane/createHorizontalScrollBar.java: New test, * gnu/testlet/javax/swing/JScrollPane/createVerticalScrollBar.java: New test. 2005-11-23 David Gilbert * gnu/testlet/javax/swing/JScrollBar/constructors.java: New test. 2005-11-23 David Gilbert * gnu/testlet/javax/swing/JComponent/getListeners.java: New test. 2005-11-23 David Gilbert * gnu/testlet/java/awt/Container/getListeners.java: New test. 2005-11-23 David Gilbert * gnu/testlet/java/awt/Component/getListeners.java: New test. 2005-11-23 Roman Kennke * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/insert.java: Fixed some tests. 2005-11-23 Roman Kennke * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/insert.java: Added new tests for this class. 2005-11-22 Anthony Balkissoon * gnu/testlet/javax/swing/text/MaskFormatterTest.java: Added more tests. 2005-11-22 Anthony Balkissoon * gnu/testlet/javax/swing/text/MaskFormatterTest.java: New test. 2005-11-22 Roman Kennke * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/insert.java: New test. 2005-11-19 Wolfgang Baer * gnu/testlet/javax/print/attribute/Size2DSyntax: New directory. * gnu/testlet/javax/print/attribute/Size2DSyntax/simple.java: New Test. 2005-11-19 Wolfgang Baer * gnu/testlet/javax/print/attribute/ResolutionSyntax/simple.java (test): Added test for special toString case and bundle them into a checkpoint. 2005-11-19 Wolfgang Baer * gnu/testlet/javax/print/attribute/TextSyntax: New directory. * gnu/testlet/javax/print/attribute/TextSyntax/constructors.java: New tests for constructors. 2005-11-19 Wolfgang Baer * gnu/testlet/javax/print/attribute/ResolutionSyntax: New directory. * gnu/testlet/javax/print/attribute/ResolutionSyntax/simple.java: New tests for conversion, lessThanOrEqual and equal methods. 2005-11-19 Wolfgang Baer * gnu/testlet/javax/print/attribute/SetOfIntegerSyntax/Simple.java: Corrected tags to JDK1.4. (test): Added new tests for contains, constructor and normalization. 2005-11-19 Wolfgang Baer * gnu/testlet/javax/print/attribute/SetOfIntegerSyntax/Simple.java: Reformatted to match coding style. 2005-11-17 David Gilbert * gnu/testlet/javax/swing/JComponent/setPreferredSize.java (event): New field, (test): Call new test methods, (testGeneral): New test method, (testPropertyChangeEvent): New test method, (propertyChange): New method. 2005-11-17 David Gilbert * gnu/testlet/javax/swing/JComponent/setMinimumSize.java (event): New field, (test): Call new test methods, (testGeneral): New test method, (testPropertyChangeEvent): New test method, (propertyChange): New method. 2005-11-17 David Gilbert * gnu/testlet/javax/swing/JComponent/setMaximumSize.java: (event): New field, (test): Call new test methods, (testGeneral): New test method, (testPropertyChangeEvent): New test method, (propertyChange): New method. 2005-11-17 Anthony Balkissoon * gnu/testlet/javax/swing/JEditorPane/ViewType.java: New test. 2005-11-16 Gary Benson * gnu/testlet/java/lang/SecurityManager: New directory. * gnu/testlet/java/lang/SecurityManager/thread.java: New test. 2005-11-16 Anthony Balkissoon * gnu/testlet/javax/swing/JSplitPane/Constructor.java: Added several new tests. * gnu/testlet/javax/swing/JSplitPane/setComponent.java: Likewise. 2005-11-16 Anthony Balkissoon * gnu/testlet/javax/swing/JSplitPane: New directory. * gnu/testlet/javax/swing/JSplitPane/Constructor.java: New test. * gnu/testlet/javax/swing/JSplitPane/setComponent.java: New test. 2005-11-16 David Daney * gnu/testlet/java/io/FilePermission/simple.java: Added tests for implies() action checking. 2005-11-16 Ito Kazumitsu * gnu/testlet/java/io/PrintStream/encodings.java: Removed some tests whose results depend on the environment. 2005-11-14 Ito Kazumitsu * gnu/testlet/java/io/PrintStream/encodings.java: Reset the system property after the testing. 2005-11-14 Wolfgang Baer * gnu/testlet/javax/print/attribute/AttributeSetUtilities/simple.java 2005-11-14 Anthony Balkissoon * gnu/testlet/javax/swing/InputMap/newMapKeysNull.java: Added a check for allKeys() in addition to existing check for keys(). * gnu/testlet/javax/swing/ActionMap/newMapKeysNull.java: New test. 2005-11-14 Ito Kazumitsu * gnu/testlet/java/io/PrintStream/encodings.java: New test. 2005-11-13 Wolfgang Baer * gnu/testlet/javax/print/attribute/HashAttributeSet/emptySet.java, * gnu/testlet/javax/print/attribute/HashAttributeSet/nullTests.java, * gnu/testlet/javax/print/attribute/HashAttributeSet/populatedSet.java, New tests. * gnu/testlet/javax/print/attribute/HashAttributeSet/SimpleAttribute.java, * gnu/testlet/javax/print/attribute/HashAttributeSet/AnotherSimpleAttribute.java, New helper classes for emptySet and populatedSet tests. 2005-11-12 Wolfgang Baer * gnu/testlet/javax/print/attribute/EnumSyntax/serialize.java: New test * gnu/testlet/javax/print/attribute/EnumSyntax/equals.java: New test. * gnu/testlet/javax/print/attribute/EnumSyntax/WrongEnumSyntax.java, * gnu/testlet/javax/print/attribute/EnumSyntax/CorrectEnumSyntax.java: New helper classes for serialization and equal tests. 2005-11-12 Wolfgang Baer * gnu/testlet/java/io/File/emptyFile.java: New test. 2005-11-12 Wolfgang Baer * gnu/testlet/java/io/ObjectInputStream/readResolve.java: New test. * gnu/testlet/java/io/ObjectInputStream/ReadResolveHelper.java: New Helper class for readResolve test. 2005-11-09 Anthony Balkissoon * gnu/testlet/javax/swing/SwingUtilities/replaceUIActionMap.java: New test. 2005-11-09 David Gilbert * gnu/testlet/javax/swing/JList/constructors.java: New test, * gnu/testlet/javax/swing/JList/getBackground.java: New test, * gnu/testlet/javax/swing/JList/getSelectionBackground.java: New test, * gnu/testlet/javax/swing/JList/setBackground.java: New test, * gnu/testlet/javax/swing/JList/setModel.java: New test, * gnu/testlet/javax/swing/JList/setSelectionBackground: New test. 2005-11-08 Mark Wielaard * gnu/testlet/SimpleTestHarness.java: Don't implement config. (getSourceDirectory): Removed. (getTempDirectory): Removed. (getPathSeparator): Removed. (getSeparator): Removed. (getMailHost): Removed. * gnu/testlet/TestHarness.java: Implements config. (getSourceDirectory): Added. (getTempDirectory): Added. (getPathSeparator): Added. (getSeparator): Added. (getMailHost): Added. * gnu/testlet/BinaryCompatibility/BinaryCompatibilityTest.java: Don't cast to SimpleTestHarness. * gnu/testlet/java/io/File/jdk11.java: Likewise. * gnu/testlet/java/net/Socket/SocketTest.java: Likewise. * gnu/testlet/java/net/Socket/jdk12.java: Remove SimpleTestHarness import. * gnu/testlet/java/net/Socket/jdk13.java: Likewise. * gnu/testlet/java/net/Socket/jdk13.java: Likewise. 2005-11-08 Roman Kennke * gnu/testlet/java/awt/BorderLayout/getLayoutAlignmentX.java: New test. * gnu/testlet/java/awt/BorderLayout/getLayoutAlignmentY.java: New test. 2005-11-08 Roman Kennke * gnu/testlet/javax/swing/JRootPane/RootLayout/getLayoutAlignmentX.java: New test. * gnu/testlet/javax/swing/JRootPane/RootLayout/getLayoutAlignmentY.java: New test. * gnu/testlet/javax/swing/JRootPane/RootLayout/layoutContainer.java: New test. 2005-11-08 Roman Kennke * gnu/testlet/javax/swing/JComponent/getAlignmentX.java: New test. * gnu/testlet/javax/swing/JComponent/getAlignmentY.java: New test. * gnu/testlet/javax/swing/JComponent/TestLayout: New auxiliary class. 2005-11-08 Roman Kennke * gnu/testlet/java/awt/Container/getAlignmentX.java: New test. * gnu/testlet/java/awt/Container/getAlignmentY.java: New test. * gnu/testlet/java/awt/Container/TestLayout: New auxiliary class. 2005-11-08 Audrius Meskauskas * gnu/testlet/javax/swing/JTextField/CopyPaste.java: New test. 2005-11-08 Roman Kennke * gnu/testlet/javax/swing/JLayeredPane/getComponentsInLayer.java: New test. 2005-11-08 Roman Kennke * gnu/testlet/java/awt/Component/invalidate.java (testInvalidateInvalidComponent): New test. 2005-11-07 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalComboBoxButton/constructors.java (testConstructor1): Added new checks. 2005-11-07 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalComboBoxUI/createArrowButton.java: New test, * gnu/testlet/javax/swing/plaf/metal/MetalComboBoxUI/getDisplaySize.java: New test, * gnu/testlet/javax/swing/plaf/metal/MetalComboBoxUI/getMinimumSize.java: New test, * gnu/testlet/javax/swing/plaf/metal/MetalComboBoxUI/getPreferredSize.java: New test, * gnu/testlet/javax/swing/plaf/metal/MetalComboBoxUI/MyMetalComboBoxUI.java: New support class. 2005-11-07 Ito Kazumitsu * gnu/testlet/java/lang/String/decode.java: Added new tests for UTF-16 encodings. 2005-11-07 David Gilbert * gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/createArrowButton.java (test): set look and feel and added new checks, * gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/createEditor.java (test): added new checks, * gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/getDisplaySize.java New test, * gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/getMinimumSize.java (test): Use MyBasicComboBoxUI, * gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/getPreferredSize.java (test): Move code to new method testNonEditable(), replace with calls to new test methods, (testNonEditable): New method, (testEditable): New method, * gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/layout.java: New test, * gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/MyBasicComboBoxUI.java (getArrowButton): new method. 2005-11-07 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalComboBoxEditor/constructor.java (test): added new checks, * gnu/testlet/javax/swing/plaf/metal/MetalComboBoxEditor/editorBorderInsets.java: New test, * gnu/testlet/javax/swing/plaf/metal/MetalComboBoxEditor/MyMetalComboBoxEditor.java: New support class. 2005-11-07 Roman Kennke * gnu/testlet/javax/swing/JApplet/isRootPaneCheckingEnabled.java: New test. * gnu/testlet/javax/swing/JDialog/isRootPaneCheckingEnabled.java: New test. * gnu/testlet/javax/swing/JFrame/isRootPaneCheckingEnabled.java: New test. * gnu/testlet/javax/swing/JInternalFrame/isRootPaneCheckingEnabled.java: New test. * gnu/testlet/javax/swing/JWindow/isRootPaneCheckingEnabled.java: New test. 2005-11-07 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalComboBoxEditor/constructor.java: New test. 2005-11-07 David Gilbert * gnu/testlet/javax/swing/plaf/basic/BasicComboBoxEditor/addActionListener.java: New test, * gnu/testlet/javax/swing/plaf/basic/BasicComboBoxEditor/constructor.java: New test, * gnu/testlet/javax/swing/plaf/basic/BasicComboBoxEditor/removeActionListener.java: New test. 2005-11-04 Roman Kennke * gnu/testlet/javax/swing/BoxLayout/layoutContainer.java: Added new test for overflow case. 2005-11-01 Lillian Angel * gnu/testlet/java/awt/Dialog/size.java: Fixed logic in test case. 2005-11-02 Roman Kennke * gnu/testlet/java/awt/Component/getForeground: Modified test to show that the foreground is fetched from the parent component if present. 2005-11-02 Roman Kennke * gnu/testlet/java/awt/Component/getMaximumSize.java: New test. 2005-11-01 Lillian Angel * gnu/testlet/java/awt/Dialog/size.java: New Test. 2005-11-02 Roman Kennke * gnu/testlet/java/awt/Container/addImpl.java: New test. * gnu/testlet/java/awt/Container/DisabledEventQueue: Auxiliary class for the above test. 2005-11-01 Tom Tromey * .settings/org.eclipse.jdt.core.prefs: Ensure 1.4 settings are used. * .settings/org.eclipse.jdt.ui.prefs: Likewise. 2005-11-01 Robert Schuster * gnu/testlet/java/net/URL/URLTest.java: (test_cr601a): Added "//" to test values. (test_cr601b): Dito. 2005-10-30 Mark Wielaard * gnu/testlet/java/io/ObjectInputStream/registerValidation.java: Check fields and priority order. * gnu/testlet/java/io/ObjectInputStream/TestObjectInputValidation.java: Add self reference, register multiple times with different priorities, add equals(). 2005-10-30 David Gilbert * gnu/testlet/runner/Mauve.java (execute): save default locale before running tests and restore it after, (getSourceDirectory): removed inappropriate return value, (main): removed redundant code. 2005-10-30 David Gilbert * gnu/testlet/runner/Mauve.java: reformatted and updated header. 2005-10-28 Anthony Balkissoon * gnu/testlet/java/awt/Component/requestFocus.java: Changed from JFrame to Frame, changed Tags from JDK 1.2 to JDK 1.0. 2005-10-28 Anthony Balkissoon * gnu/testlet/java/awt/Component/requestFocus.java: New test. 2005-10-28 David Gilbert * gnu/testlet/javax/swing/JFileChooser/changeToParentDirectory.java: New test. 2005-10-28 Roman Kennke * gnu/testlet/javax/swing/DefaultListSelectionModel/setLeadSelectionIndex.java: New test. 2005-10-28 Roman Kennke * gnu/testlet/javax/swing/JTable/setModel.java (testPropertyFired): New test method. (testSelectionModel): New test method. (testLeadAnchorSelectionUpdate): New test method. 2005-10-28 Audrius Meskauskas * gnu/testlet/org/omg/PortableServer/POAOperations/poa_POA_test.java: Give 500 ms for the server thread to start. 2005-10-27 Roman Kennke * gnu/testlet/javax/swing/JTextField/createDefaultModel.java: New test. * gnu/testlet/javax/swing/text/PlainDocument/insertString.java: New test. 2005-10-27 Audrius Meskauskas * gnu/testlet/java/io/File/security.java (test): Delete tmpdir2 in the cleanup. 2005-10-27 Roman Kennke * gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/createDecreaseButton.java: New test. * gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/createIncreaseButton.java: New test. * gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/installDefaults.java: New test. * gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/MyBasicScrollBarUI.java: Added some more methods to make protected fields/methods publicly accessible. 2005-10-26 Roman Kennke * gnu/testlet/javax/swing/JTable/isRowSelected.java: New test. * gnu/testlet/javax/swing/JTable/isColumnSelected.java: New test. 2005-10-24 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalScrollBarUI/constructor.java: New file, * gnu/testlet/javax/swing/plaf/metal/MetalScrollBarUI/getMinimumThumbSize.java: New file, * gnu/testlet/javax/swing/plaf/metal/MetalScrollBarUI/getPreferredSize.java: New file, * gnu/testlet/javax/swing/plaf/metal/MetalScrollBarUI/layoutContainer.java: New file, * gnu/testlet/javax/swing/plaf/metal/MetalScrollBarUI/MyMetalScrollBarUI.java: New file. 2005-10-24 David Gilbert * gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/constructor.java: New file, * gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/getMaximumSize.java: New file, * gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/getMaximumThumbSize.java: New file, * gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/getMinimumSize.java: New file, * gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/getMinimumThumbSize.java: New file, * gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/getPreferredSize.java: New file, * gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/layoutContainer.java: New file, * gnu/testlet/javax/swing/plaf/basic/BasicScrollBarUI/MyBasicScrollBarUI.java: New file. 2005-10-24 David Gilbert * gnu/testlet/java/text/AttributedCharacterIterator/getAttribute.java: New test, * gnu/testlet/java/text/AttributedCharacterIterator/getRunStart.java: New test, * gnu/testlet/java/text/AttributedString/addAttribute.java: updated FSF address, (test2): use int check rather than '==', * gnu/testlet/java/text/AttributedString/constructors.java: updated FSF address, (testConstructor1): check null argument, (testConstructor2): check illegal arguments. 2005-10-23 Guilhem Lavaux * gnu/testlet/java/nio/channels/SocketChannel/select.java: Check that register only authorise non-blocking channel. 2005-10-23 Audrius Meskauskas * gnu/testlet/java/io/File/createFile.java: Added cleanup. 2005-10-23 Audrius Meskauskas * gnu/testlet/java/io/File/createFile.java: New test. 2005-10-21 David Gilbert * gnu/testlet/javax/swing/plaf/TestLookAndFeel.java: New support class, * gnu/testlet/javax/swing/JComboBox/setEditor.java: Updated import for TestLookAndFeel. 2005-10-21 Jeroen Frijters * gnu/testlet/java/lang/reflect/Proxy.java: Use proper class loader for the proxy, so that the serialization test succeeds. 2005-10-20 Anthony Balkissoon * gnu/testlet/javax/swing/DefaultListSelectionModel: New directory. * gnu/testlet/javax/swing/DefaultListSelectionModel/leadSelectionIndex.java: New test. 2005-10-19 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getDefaults.java (test): an additional check for 'Button.margin'. 2005-10-18 David Gilbert * gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/createArrowButton.java: New test, * gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/createEditor.java: New test, * gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/createRenderer.java: New test, * gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/general.java: New test, * gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/getDefaultSize.java: New test, * gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/getMaximumSize.java: New test, * gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/getMinimumSize.java: New test, * gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/getPreferredSize.java: New test, * gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/MyBasicComboBoxUI.java: New support class, * gnu/testlet/javax/swing/plaf/basic/BasicComboBoxUI/MyBasicComboBoxUILAF.java: Likewise. 2005-10-18 David Gilbert * gnu/testlet/javax/swing/JLabel/constructor.java (test): set MetalLookAndFeel and check default colors. 2005-10-18 David Gilbert * gnu/testlet/javax/swing/JComboBox/MyJComboBox.java: New support class, * gnu/testlet/javax/swing/JComboBox/setModel.java: New test, * gnu/testlet/javax/swing/JComboBox/setSelectedIndex.java: New test. 2005-10-18 David Gilbert * gnu/testlet/javax/swing/JComboBox/addItem.java: New test, * gnu/testlet/javax/swing/JComboBox/getEditor.java: New test, * gnu/testlet/javax/swing/JComboBox/removeItem.java: New test, * gnu/testlet/javax/swing/JComboBox/setEditable.java: New test, * gnu/testlet/javax/swing/JComboBox/setEditor.java: New test. 2005-10-18 Roman Kennke * gnu/testlet/javax/swing/UIManager/TestLabelUI.java: New auxiliary helper class. * gnu/testlet/javax/swing/UIManager/getUI.java: New test. * gnu/testlet/javax/swing/UIManager/MyLookAndFeel.java: Added default test UI for JLabel. 2005-10-18 Roman Kennke * gnu/testlet/javax/swing/JList/AccessibleJList/TestList.java * gnu/testlet/javax/swing/JList/AccessibleJList/contentsChanged.java * gnu/testlet/javax/swing/JList/AccessibleJList/getAccessibleChild.java * gnu/testlet/javax/swing/JList/AccessibleJList/getAccessibleRole.java * gnu/testlet/javax/swing/JList/AccessibleJList/getAccessibleStateSet.java * gnu/testlet/javax/swing/JList/AccessibleJList/intervalAdded.java * gnu/testlet/javax/swing/JList/AccessibleJList/intervalRemoved.java * gnu/testlet/javax/swing/JList/AccessibleJList/valueChanged.java * gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/getAccessibleRole.java * gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/getAccessibleStateSet.java * gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/getBackground.java * gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/getCursor.java * gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/getFont.java * gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/getForeground.java * gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/isEnabled.java * gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/isFocusTraversable.java * gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/isShowing.java * gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/isVisible.java * gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/setBackground.java * gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/setCursor.java * gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/setEnabled.java * gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/setFont.java * gnu/testlet/javax/swing/JList/AccessibleJList/AccessibleJListChild/setForeground.java New tests. 2005-10-18 Roman Kennke * gnu/testlet/javax/swing/JLabel/TestLabel.java: New auxiliary helper class. * gnu/testlet/javax/swing/JLabel/setText.java: New test. 2005-10-18 Roman Kennke * gnu/testlet/javax/swing/JCheckBox/constructor.java: New test. 2005-10-18 Roman Kennke * gnu/testlet/javax/swing/SizeRequirements/calculateAlignedPositions.java: New test. 2005-10-18 Roman Kennke * gnu/testlet/javax/swing/RepaintManager/DisabledEventQueue.java: Auxiliary helper class. * gnu/testlet/javax/swing/RepaintManager/addDirtyRegion.java New test. 2005-10-18 Roman Kennke * gnu/testlet/javax/swing/JViewport/TestViewport.java: Auxiliary helper class. * gnu/testlet/javax/swing/JViewport/setView.java: New test. 2005-10-18 Roman Kennke * gnu/testlet/javax/swing/JScrollPane/AccessibleJScrollPane/resetViewport.java: New test. 2005-10-18 Roman Kennke * gnu/testlet/javax/swing/JComponent/TestComponent.java: New auxiliary helper class. * gnu/testlet/javax/swing/JComponent/paint.java: * gnu/testlet/javax/swing/JComponent/setAlignmentX.java: * gnu/testlet/javax/swing/JComponent/setAlignmentY.java: * gnu/testlet/javax/swing/JComponent/setBackground.java: * gnu/testlet/javax/swing/JComponent/setBorder.java: * gnu/testlet/javax/swing/JComponent/setEnabled.java: * gnu/testlet/javax/swing/JComponent/setFont.java: * gnu/testlet/javax/swing/JComponent/setForeground.java: * gnu/testlet/javax/swing/JComponent/setMaximumSize.java: * gnu/testlet/javax/swing/JComponent/setMinimumSize.java: * gnu/testlet/javax/swing/JComponent/setOpaque.java: * gnu/testlet/javax/swing/JComponent/setPreferredSize.java: * gnu/testlet/javax/swing/JComponent/setUI.java: * gnu/testlet/javax/swing/JComponent/setVisible.java: New tests. 2005-10-18 Roman Kennke * gnu/testlet/javax/swing/text/GapContent/insertString.java: New test. 2005-10-18 Roman Kennke * gnu/testlet/javax/swing/AbstractButton/createChangeListener.java: New test. * gnu/testlet/javax/swing/AbstractButton/TestButton.java: Test button class. 2005-10-18 Jeroen Frijters * gnu/testlet/java/lang/reflect/Proxy/check13.java: Added (de)serialization test. 2005-10-17 Anthony Balkissoon * gnu/testlet/javax/swing/InputMap: New directory. * gnu/testlet/javax/swing/InputMap/newMapKeysNull.java: New test. 2005-10-17 David Gilbert * gnu/testlet/java/awt/Component/getForeground.java: New test. 2005-10-16 Fabien DUMINY * gnu/testlet/runner/TestletToAPI.java : added * README.TestletToAPI : added 2005-10-13 Audrius Meskauskas * gnu/testlet/org/omg/CORBA/ORB/DirectTest.java: Do not set the thread context class loader (test the work of VMStackWalker). 2005-10-13 David Gilbert * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/ParserTest.java: Marked as 'not-a-test', * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/Parser_Test.java: Likewise, * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/TestCase.java: Likewise, * gnu/testlet/java/util/TreeSet/basic.java: Implemented Testlet, * gnu/testlet/javax/swing/plaf/metal/MetalBorders/MenuBarBorder/MyMenuBarBorder.java: Marked as 'not-a-test'. 2005-10-13 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getDefaults.java (test): Strengthened the test for the 'List.focusCellHighlightBorder' default. 2005-10-13 David Gilbert * gnu/testlet/javax/swing/plaf/basic/BasicSeparatorUI/getMaximumSize.java: New test, * gnu/testlet/javax/swing/plaf/basic/BasicSeparatorUI/getMinimumSize.java: New test, * gnu/testlet/javax/swing/plaf/basic/BasicSeparatorUI/getPreferredSize.java: New test. 2005-10-13 Audrius Meskauskas * gnu/testlet/javax/rmi/CORBA/Tie/RMI_IIOP.java, gnu/testlet/org/omg/CORBA/ORB/DirectTest.java, gnu/testlet/org/omg/CORBA_2_3/ORB/ValueTypeTest.java, gnu/testlet/org/omg/PortableInterceptor/Interceptor/testInterceptors.java: Set the thread context class loader to the loader that loaded that test. * gnu/testlet/org/omg/PortableServer/POA/testForwarding.java: Give more time to close the socket. * gnu/testlet/java/net/ServerSocket/ReturnOnClose.java: New test. 2005-10-13 David Gilbert * gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/MyBasicFileChooserUI.java: new support class, * gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/constructor.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/getApproveButton.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/getApproveButtonMnemonic.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/getApproveButtonText.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/getApproveButtonToolTipText.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/getApproveSelectionAciton.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/getCancelSelectionAction.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/getChangeToParentDirectoryAction.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/getDialogTitle.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/getDirectoryName.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/getFileName.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/getFileView.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/getGoHomeAction.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/getNewFolderAction.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/getUpdateAction.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/installIcons.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/installStrings.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicFileChooserUI/uninstallStrings.java: new test. 2005-10-13 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/PaletteCloseIcon/getIconHeight.java: New test, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/PaletteCloseIcon/getIconWidth.java: New test. 2005-10-13 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalScrollButton/constructor.java: New test, * gnu/testlet/javax/swing/plaf/metal/MetalScrollButton/getButtonWidth.java: New test, * gnu/testlet/javax/swing/plaf/metal/MetalScrollButton/getMaximumSize.java: New test, * gnu/testlet/javax/swing/plaf/metal/MetalScrollButton/getMinimumSize.java: New test, * gnu/testlet/javax/swing/plaf/metal/MetalScrollButton/getPreferredSize.java: New test. 2005-10-13 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalToggleButtonUI/getDisabledTextColor.java: New test, * gnu/testlet/javax/swing/plaf/metal/MetalToggleButtonUI/getFocusColor.java: New test, * gnu/testlet/javax/swing/plaf/metal/MetalToggleButtonUI/getSelectColor.java: New test, * gnu/testlet/javax/swing/plaf/metal/MetalToggleButtonUI/MyMetalToggleButtonUI.java: New support class. 2005-10-13 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalToolTipUI/constructor.java: New test, * gnu/testlet/javax/swing/plaf/metal/MetalToolTipUI/createUI.java: New test, * gnu/testlet/javax/swing/plaf/metal/MetalToolTipUI/getAcceleratorString.java: New test, * gnu/testlet/javax/swing/plaf/metal/MetalToolTipUI/MyMetalToolTipUI.java: New support class. 2005-10-13 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalComboBoxButton/constructors.java: New test, * gnu/testlet/javax/swing/plaf/metal/MetalComboBoxButton/getComboBox.java: New test, * gnu/testlet/javax/swing/plaf/metal/MetalComboBoxButton/getComboIcon.java: New test, * gnu/testlet/javax/swing/plaf/metal/MetalComboBoxButton/isFocusTraversable.java: New test, * gnu/testlet/javax/swing/plaf/metal/MetalComboBoxButton/isIconOnly.java: New test, * gnu/testlet/javax/swing/plaf/metal/MetalComboBoxButton/setComboBox.java: New test, * gnu/testlet/javax/swing/plaf/metal/MetalComboBoxButton/setComboIcon.java: New test, * gnu/testlet/javax/swing/plaf/metal/MetalComboBoxButton/setEnabled.java: New test, * gnu/testlet/javax/swing/plaf/metal/MetalComboBoxButton/setIconOnly.java: New test. 2005-10-13 David Gilbert * gnu/testlet/javax/swing/UIDefaults/getBoolean.java: New test. 2005-10-12 Anthony Balkissoon * gnu/testlet/javax/swing/text/AbstractDocument/ElementChange2.java: New test. 2005-10-12 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getDefaults.java (test): strengthened tests for FileView icons. 2005-10-12 David Gilbert * gnu/testlet/javax/swing/JFileChooser/accept.java: new test, * gnu/testlet/javax/swing/JFileChooser/addChoosableFileFilter.java: new test, * gnu/testlet/javax/swing/JFileChooser/constructors.java: new test, * gnu/testlet/javax/swing/JFileChooser/getAccessory.java: new test, * gnu/testlet/javax/swing/JFileChooser/getApproveButtonMnemonic.java: new test, * gnu/testlet/javax/swing/JFileChooser/getApproveButtonText.java: new test, * gnu/testlet/javax/swing/JFileChooser/getApproveButtonToolTipText.java: new test, * gnu/testlet/javax/swing/JFileChooser/getChoosableFileFilters.java: new test, * gnu/testlet/javax/swing/JFileChooser/getControlButtonsAreShown.java: new test, * gnu/testlet/javax/swing/JFileChooser/getDialogTitle.java: new test, * gnu/testlet/javax/swing/JFileChooser/getDialogType.java: new test, * gnu/testlet/javax/swing/JFileChooser/getFileFilter.java: new test, * gnu/testlet/javax/swing/JFileChooser/getFileSelectionMode.java: new test, * gnu/testlet/javax/swing/JFileChooser/getFileSystemView.java: new test, * gnu/testlet/javax/swing/JFileChooser/getFileView.java: new test, * gnu/testlet/javax/swing/JFileChooser/getSelectedFiles.java: new test, * gnu/testlet/javax/swing/JFileChooser/isAcceptAllFileFilterUsed.java: new test, * gnu/testlet/javax/swing/JFileChooser/isFileHidingEnabled.java: new test, * gnu/testlet/javax/swing/JFileChooser/MyFileFilter.java: new test, * gnu/testlet/javax/swing/JFileChooser/MyFileSystemView.java: new test, * gnu/testlet/javax/swing/JFileChooser/removeChoosableFileFilter.java: new test, * gnu/testlet/javax/swing/JFileChooser/setAcceptAllFileFilterUsed.java: new test, * gnu/testlet/javax/swing/JFileChooser/setAccessory.java: new test, * gnu/testlet/javax/swing/JFileChooser/setApproveButtonMnemonic.java: new test, * gnu/testlet/javax/swing/JFileChooser/setApproveButtonText.java: new test, * gnu/testlet/javax/swing/JFileChooser/setApproveButtonToolTipText.java: new test, * gnu/testlet/javax/swing/JFileChooser/setControlButtonsAreShown.java: new test, * gnu/testlet/javax/swing/JFileChooser/setCurrentDirectory.java: new test, * gnu/testlet/javax/swing/JFileChooser/setDialogTitle.java: new test, * gnu/testlet/javax/swing/JFileChooser/setDialogType.java: new test, * gnu/testlet/javax/swing/JFileChooser/setFileFilter.java: new test, * gnu/testlet/javax/swing/JFileChooser/setFileHidingEnabled.java: new test, * gnu/testlet/javax/swing/JFileChooser/setFileSelectionMode.java: new test, * gnu/testlet/javax/swing/JFileChooser/setFileSystemView.java: new test, * gnu/testlet/javax/swing/JFileChooser/setFileView.java: new test, * gnu/testlet/javax/swing/JFileChooser/setSelectedFile.java: new test, * gnu/testlet/javax/swing/JFileChooser/setSelectedFiles.java: new test. 2005-10-12 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getCheckBoxIcon.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getCheckBoxMenuItemIcon.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getFileChooserDetailViewIcon.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getFileChooserHomeFolderIcon.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getFileChooserListViewIcon.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getFileChooserNewFolderIcon.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getFileChooserUpFolderIcon.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getHorizontalSliderThumbIcon.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getInternalFrameAltMaximizeIcon.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getInternalFrameCloseIcon.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getInternalFrameDefaultMenuIcon.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getInternalFrameMaximizeIcon.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getInternalFrameMinimizeIcon.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getRadioButtonIcon.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getRadioButtonMenuItemIcon.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getTreeComputerIcon.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getTreeControlIcon.java: updated header, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getTreeFloppyDriveIcon.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getTreeFolderIcon.java (test): added new check, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getTreeHardDriveIcon.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getTreeLeafIcon.java (test): added new check, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getVerticalSliderThumbIcon.java: new test. 2005-10-12 Mark Wielaard * gnu/testlet/java/lang/Thread/sleep.java: Explicitly wait for helper thread to start sleeping. Add extra debug info. 2005-10-12 David Gilbert * gnu/testlet/javax/swing/event/SwingPropertyChangeSupport/firePropertyChange.java (test1): added checks for old and new values the same, and old and new values both null. 2005-10-11 David Gilbert * gnu/testlet/javax/swing/DefaultComboBoxModel/setSelectedItem.java (index0): removed, (index1): likewise, (eventType): likewise, (events): new field, (contentsChanged): add event to events list, (intervalAdded): likewise, (intervalRemoved): likewise, (test): revised tests to use new events list, and added several new checks. 2005-10-11 Fabien DUMINY * gnu/testlet/runner/CreateTags.java : fixed bug with testlet name extraction under Windows 2005-10-11 David Gilbert * gnu/testlet/javax/swing/filechooser/FileSystemView/getFileSystemView.java: New test. 2005-10-10 David Gilbert * gnu/testlet/javax/swing/border/TitledBorder/constructors.java: New test, * gnu/testlet/javax/swing/border/TitledBorder/getBorder.java: Likewise, * gnu/testlet/javax/swing/border/TitledBorder/getBorderInsets.java: Likewise, * gnu/testlet/javax/swing/border/TitledBorder/getTitle.java: Likewise, * gnu/testlet/javax/swing/border/TitledBorder/getTitleColor.java: Likewise, * gnu/testlet/javax/swing/border/TitledBorder/getTitleFont.java: Likewise, * gnu/testlet/javax/swing/border/TitledBorder/getTitleJustification.java: Likewise, * gnu/testlet/javax/swing/border/TitledBorder/getTitlePosition.java: Likewise, * gnu/testlet/javax/swing/border/TitledBorder/isBorderOpaque.java: Likewise, * gnu/testlet/javax/swing/border/TitledBorder/setBorder.java: Likewise, * gnu/testlet/javax/swing/border/TitledBorder/setTitle.java: Likewise, * gnu/testlet/javax/swing/border/TitledBorder/setTitleColor.java: Likewise, * gnu/testlet/javax/swing/border/TitledBorder/setTitleFont.java: Likewise, * gnu/testlet/javax/swing/border/TitledBorder/setTitleJustification.java: Likewise, * gnu/testlet/javax/swing/border/TitledBorder/setTitlePosition.java: Likewise. 2005-10-07 Tom Tromey * gnu/testlet/java/lang/Long/Tests15.java: Fixed typo in Tags. 2005-10-06 Roman Kennke * gnu/testlet/javax/swing/JLabel/constructor.java: New test. 2005-10-06 Tom Tromey * gnu/testlet/javax/print/attribute/SetOfIntegerSyntax/Simple.java: New file. 2005-10-06 Audrius Meskauskas * gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/InfoHelper.java: Adapted to use in value type tests for RMI-IIOP as well. * gnu/testlet/javax/swing/rmi/CORBA/Tie/myStructure.java, gnu/testlet/javax/swing/rmi/CORBA/Tie/NodeObject.java, gnu/testlet/javax/swing/rmi/CORBA/Tie/Externa.java, gnu/testlet/javax/swing/rmi/CORBA/Tie/RMI_test.java, gnu/testlet/javax/swing/rmi/CORBA/Tie/_RMI_test_Stub.java, gnu/testlet/javax/swing/rmi/CORBA/Tie/RMI_testImpl.java, gnu/testlet/javax/swing/rmi/CORBA/Tie/_RMI_testImpl_Tie.java, gnu/testlet/javax/swing/rmi/CORBA/Tie/RMI_IIOP.java: New tests. 2005-10-05 Mark Wielaard * gnu/testlet/java/security/AccessController/doPrivileged.java: New test. 2005-10-05 Anthony Balkissoon * gnu/testlet/javax/swing/text/AbstractDocument/ElementChange.java: New test. 2005-10-04 Roman Kennke * gnu/testlet/java/awt/Component/getFont.java: New test. 2005-10-03 David Gilbert * gnu/testlet/javax/swing/SwingUtilities/layoutCompoundLabel.java: New test. 2005-10-02 David Gilbert * gnu/testlet/javax/swing/plaf/basic/BasicButtonUI/MyBasicButtonUI.java (getDefaultTextIconGapField): new method, (getDefaultTextShiftOffsetField): new method, (setDefaultTextShiftOffsetField): new method, (getTextShiftOffset): new method, (setTextShiftOffset): new method, (clearTextShiftOffset): new method, * gnu/testlet/javax/swing/plaf/basic/BasicButtonUI/clearTextShiftOffset.java: New test, * gnu/testlet/javax/swing/plaf/basic/BasicButtonUI/defaultTextIconGap.java: New test, * gnu/testlet/javax/swing/plaf/basic/BasicButtonUI/defaultTextShiftOffset.java: New test, * gnu/testlet/javax/swing/plaf/basic/BasicButtonUI/getTextShiftOffset.java: New test, * gnu/testlet/javax/swing/plaf/basic/BasicButtonUI/setTextShiftOffset.java: New test. 2005-10-02 David Gilbert * gnu/testlet/javax/swing/AbstractButton/setRolloverEnabled.java: New test. 2005-09-30 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalBorders/ToolBarBorder/getBorderInsets.java: new test. 2005-09-30 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalButtonUI/getDisabledTextColor.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalButtonUI/getFocusColor.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalButtonUI/getSelectColor.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalButtonUI/MyMetalButtonUI.java: support class. 2005-09-30 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalComboBoxIcon/getIconHeight.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalComboBoxIcon/getIconWidth.java: new test. 2005-09-30 Fabien DUMINY * for Windows users: renamed gnu/testlet/java/awt/Color to gnu/testlet/java/awt/ColorClass * for Windows users: renamed gnu/testlet/java/awt/Event to gnu/testlet/java/awt/EventClass * for Windows users: renamed gnu/testlet/java/awt/Font to gnu/testlet/java/awt/FontClass 2005-09-30 Anthony Balkissoon * gnu/testlet/javax/swing/text/PlainDocument/removeJoinesLines.java: Fixed copyright info. 2005-09-30 Anthony Balkissoon * gnu/testlet/javax/swing/text/PlainDocument/removeJoinesLines.java: New test. 2005-09-29 Roman Kennke * gnu/testlet/javax/swing/OverlayLayout/getLayoutAlignmentX.java * gnu/testlet/javax/swing/OverlayLayout/getLayoutAlignmentY.java * gnu/testlet/javax/swing/OverlayLayout/layoutContainer.java * gnu/testlet/javax/swing/OverlayLayout/maximumLayoutSize.java * gnu/testlet/javax/swing/OverlayLayout/minimumLayoutSize.java * gnu/testlet/javax/swing/OverlayLayout/preferredLayoutSize.java New tests for the OverlayLayout. 2005-09-29 Roman Kennke * gnu/testlet/javax/swing/text/GapContent/PositionTest.java: Added test for Bug #24105. 2005-09-29 David Gilbert * gnu/testlet/javax/swing/plaf/basic/BasicIconFactory/getCheckBoxIcon.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicIconFactory/getMenuArrowIcon.java: new test. 2005-09-28 Anthony Balkissoon * gnu/testlet/javax/swing/text/AbstractDocument/BranchElement/getElementIndexNullPointer.java: New test. 2005-09-27 Robert Schuster Suggested by: Torben.Nielsen@sagemdenmark.dk * gnu/testlet/java/io/InputStreamReader/getEncoding.java: Check names of extended (= optional) charset only if it is available. 2005-09-27 Anthony Balkissoon * gnu/testlet/javax/swing/text/SimpleAttributeSet/containsChecksParent.java: New test. 2005-09-27 Tom Tromey * .classpath: Changed where Classpath's class files are found. 2005-09-27 Anthony Balkissoon * gnu/testlet/javax/swing/JTextArea/isValidChecks.java: Added copyright info. * gnu/testlet/javax/swing/JLayeredPane/defaultLayoutManager.java: Fixed copyright info. 2005-09-27 Anthony Balkissoon * gnu/testlet/javax/swing/text/SimpleAttributeSet/removeAttributesOnlyIfMatch: Changed copyright info to reflect proper author. * gnu/testlet/javax/swing/JEditorPane/getScrollableTrackvs.java: Likewise. * gnu/testlet/javax/swing/JFrame/glassPaneLayout.java: Likewise. 2005-09-27 Anthony Balkissoon * gnu/testlet/javax/swing/text/SimpleAttributeSet/removeAttributesOnlyIfMatch.java: New test. 2005-09-27 Tom Tromey * gnu/testlet/javax/swing/plaf/basic/BasicLookAndFeel/initComponentDefaults.java: Import Color. 2005-09-26 Anthony Balkissoon * gnu/testlet/javax/swing/JEditorPane: New directory. * gnu/testlet/javax/swing/JEditorPane/getScrollableTrackvs.java: New test. 2005-09-24 David Gilbert * gnu/testlet/javax/swing/DefaultComboBoxModel/addElement.java (index0, index1, eventType): removed fields, (events): new field, (contentsChanged): use new events field, (intervalAdded): likewise, (intervalRemoved): likewise, (test): check for multiple events. 2005-09-23 Lillian Angel * mauve/gnu/testlet/javax/swing/plaf/basic/BasicLookAndFeel/initComponentDefaults.java: Fixed syntax error. 2005-09-23 Lillian Angel * mauve/gnu/testlet/javax/swing/plaf/basic/BasicLookAndFeel/initComponentDefaults.java: Added checks for Tree.textForeground and Tree.textBackground. * mauve/gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getDefaults.java: Fixed Tree.rowHeight check. 2005-09-23 David Gilbert * gnu/testlet/javax/swing/DefaultComboBoxModel/addElement.java: new test, * gnu/testlet/javax/swing/DefaultComboBoxModel/constructors.java: new test, * gnu/testlet/javax/swing/DefaultComboBoxModel/getElementAt.java: new test, * gnu/testlet/javax/swing/DefaultComboBoxModel/getIndexOf.java: new test, * gnu/testlet/javax/swing/DefaultComboBoxModel/getSelectedItem.java: new test, * gnu/testlet/javax/swing/DefaultComboBoxModel/getSize.java: new test, * gnu/testlet/javax/swing/DefaultComboBoxModel/insertElementAt.java: new test, * gnu/testlet/javax/swing/DefaultComboBoxModel/removeAllElements.java: new test, * gnu/testlet/javax/swing/DefaultComboBoxModel/removeElement.java: new test, * gnu/testlet/javax/swing/DefaultComboBoxModel/removeElementAt.java: new test, * gnu/testlet/javax/swing/DefaultComboBoxModel/setSelectedItem.java: new test. 2005-09-23 David Gilbert * gnu/testlet/javax/swing/JComponent/getFont.java: new test, * gnu/testlet/javax/swing/JComponent/MyJLabel.java: new support class. 2005-09-21 Mark Wielaard * gnu/testlet/java/net/ServerSocket/AcceptGetLocalPort.java: New test. 2005-09-21 Tom Tromey * gnu/testlet/java/awt/BorderLayout/Test15.java: New file. 2005-09-20 Tom Tromey PR classpath/23974: * gnu/testlet/java/io/File/newFile.java (test): Added tests. 2005-09-20 Tom Tromey * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/ParserTest.java (dumpAttributes): Don't use local named 'enum'. * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/Parser_Test.java (dumpAttributes): Don't use local named 'enum'. 2005-09-20 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getDefaults.java: (test): use more specific test for 'PasswordField.border'. 2005-09-20 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalBorders/getButtonBorder.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalBorders/getDesktopIconBorder.java (test): added check for UIResource, * gnu/testlet/javax/swing/plaf/metal/MetalBorders/getTextBorder.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalBorders/getTextFieldBorder.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalBorders/getToggleButtonBorder.java: new test. 2005-09-19 David Gilbert * gnu/testlet/javax/swing/filechooser/FileView/getDescription.java: new test, * gnu/testlet/javax/swing/filechooser/FileView/getIcon.java: new test, * gnu/testlet/javax/swing/filechooser/FileView/getName.java: new test, * gnu/testlet/javax/swing/filechooser/FileView/getTypeDescription.java: new test, * gnu/testlet/javax/swing/filechooser/FileView/isTraversable.java: new test, * gnu/testlet/javax/swing/filechooser/FileView/MyFileView.java: new support class. 2005-09-19 Anthony Balkissoon * gnu/testlet/javax/swing/JFrame/glassPaneLayout.java: New test. 2005-09-19 Anthony Balkissoon * gnu/testlet/javax/swing/JLayeredPane/defaultLayoutManager.java: New test. 2005-09-18 Tom Tromey * .settings/org.eclipse.jdt.ui.prefs: Added file template. 2005-09-18 Tom Tromey * gnu/testlet/java/lang/Long/Tests15.java: New file. 2005-09-16 Audrius Meskauskas * gnu/testlet/javax/swing/Timer/test_23918: New test. 2005-09-15 Thomas Fitzsimmons * gnu/testlet/java/awt/Frame/isDisplayable1.java: Add comments. * gnu/testlet/java/awt/Frame/isDisplayable2.java: Likewise. * gnu/testlet/java/awt/Frame/isDisplayable3.java: Likewise. * gnu/testlet/java/awt/Frame/isDisplayable4.java: Likewise. * gnu/testlet/java/awt/Frame/isDisplayable5.java: Likewise. * gnu/testlet/java/awt/Frame/isDisplayable6.java: New test. * gnu/testlet/java/awt/Frame/isDisplayable7.java: New test. 2005-09-15 Anthony Balkissoon * gnu/testlet/java/awt/Frame/isDisplayable4.java: New test. * gnu/testlet/java/awt/Frame/isDisplayable5.java: New test. 2005-09-15 David Gilbert * gnu/testlet/javax/swing/plaf/basic/BasicInternalFrameTitlePane/CloseAction/constructor.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicInternalFrameTitlePane/IconifyAction/constructor.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicInternalFrameTitlePane/MaximizeAction/constructor.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicInternalFrameTitlePane/MoveAction/constructor.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicInternalFrameTitlePane/RestoreAction/constructor.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicInternalFrameTitlePane/SizeAction/constructor.java: new test. 2005-09-15 Anthony Balkissoon * gnu/testlet/java/awt/Frame/isDisplayable1.java: Added a check that the JDialog's parent is the JFrame. * gnu/testlet/java/awt/Frame/isDisplayable2.java: Likewise. * gnu/testlet/java/awt/Frame/isDisplayable3.java: Added a check that the JButton's parent is the JFrame. 2005-09-14 David Gilbert * gnu/testlet/java/text/DecimalFormat/toPattern.java (test): now calls test1() and test2(), (test1): new method, copied code from topattern.java, (test2): new method, code from original test() method, * gnu/testlet/java/text/DecimalFormat/topattern.java. 2005-09-14 Anthony Balkissoon * gnu/testlet/javax/swing/JTextArea/isValidChecks.java: new test. 2005-09-13 David Gilbert * gnu/testlet/javax/swing/plaf/basic/BasicCheckBoxUI/getPropertyPrefix.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicCheckBoxUI/MyBasicCheckBoxUI.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicEditorPaneUI/getPropertyPrefix.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicEditorPaneUI/MyBasicEditorPaneUI.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicFormattedTextFieldUI/getPropertyPrefix.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicFormattedTextFieldUI/MyBasicFormattedTextFieldUI.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicPasswordFieldUI/getPropertyPrefix.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicPasswordFieldUI/MyBasicPasswordFieldUI.java: new test. 2005-09-13 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalBorders/ButtonBorder/getBorderInsets.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalBorders/Flush3DBorder/getBorderInsets.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalBorders/InternalFrameBorder/getBorderInsets.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalBorders/MenuBarBorder/borderInsets.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalBorders/MenuBarBorder/getBorderInsets.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalBorders/MenuBarBorder/MyMenuBarBorder.java: support class, * gnu/testlet/javax/swing/plaf/metal/MetalBorders/MenuItemBorder/borderInsets.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalBorders/MenuItemBorder/getBorderInsets.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalBorders/MenuItemBorder/MyMenuItemBorder.java: support class, * gnu/testlet/javax/swing/plaf/metal/MetalBorders/PaletteBorder/getBorderInsets.java: new test. 2005-09-13 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalBorders/getDesktopIconBorder.java: new test. 2005-09-13 David Gilbert * gnu/testlet/javax/swing/BoxLayout/addLayoutComponent.java: new test, * gnu/testlet/javax/swing/BoxLayout/constants.java: new test, * gnu/testlet/javax/swing/BoxLayout/constructor.java: new test, * gnu/testlet/javax/swing/BoxLayout/getLayoutAlignmentX.java: new test, * gnu/testlet/javax/swing/BoxLayout/getLayoutAlignmentY.java: new test, * gnu/testlet/javax/swing/BoxLayout/invalidateLayout.java: new test, * gnu/testlet/javax/swing/BoxLayout/layoutContainer.java: new test, * gnu/testlet/javax/swing/BoxLayout/maximumLayoutSize.java: new test, * gnu/testlet/javax/swing/BoxLayout/minimumLayoutSize.java: new test, * gnu/testlet/javax/swing/BoxLayout/preferredLayoutSize.java: new test, * gnu/testlet/javax/swing/BoxLayout/removeLayoutComponent.java: new test. 2005-09-13 David Gilbert * gnu/testlet/javax/swing/JComboBox/getPrototypeDisplayValue.java: new test, * gnu/testlet/javax/swing/JComboBox/setPrototypeDisplayValue.java: likewise. 2005-09-13 Roman Kennke * gnu/testlet/javax/swing/text/DefaultStyledDocument/insertString.java: New test. 2005-09-12 David Gilbert * gnu/testlet/javax/swing/JComponent/putClientProperty.java: new test. 2005-09-12 Roman Kennke * gnu/testlet/javax/swing/JTable/initializeLocalVars.java: New test. * gnu/testlet/javax/swing/plaf/metal/OceanTheme/OceanThemeTest: New test. * gnu/testlet/javax/swing/table/TableColumn/properties.java: New test. 2005-09-11 Thomas Fitzsimmons * gnu/testlet/java/awt/Frame/isDisplayable1.java: New test. * gnu/testlet/java/awt/Frame/isDisplayable2.java: New test. * gnu/testlet/java/awt/Frame/isDisplayable3.java: New test. 2005-09-11 Thomas Fitzsimmons * gnu/testlet/java/awt/Window/pack1.java: New test. * gnu/testlet/java/awt/event/MouseEvent/modifiersEx.java: Cover all modifiers. * gnu/testlet/java/awt/event/MouseEvent/modifiers.java: New test. 2005-09-09 Roman Kennke * gnu/testlet/javax/swing/text/html/CSS/Attribute.java: New tests. Check if the CSS attribute constants are correct. 2005-09-09 Roman Kennke * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/initComponentDefaults.java: Renamed to getDefaults. That's the method we are actually testing here. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getDefaults.java: Added and fixed lots of tests for default colors. 2005-09-09 David Gilbert * gnu/testlet/javax/swing/plaf/basic/BasicTextAreaUI/MyBasicTextAreaUI.java: new support class, * gnu/testlet/javax/swing/plaf/basic/BasicTextAreaUI/getPropertyPrefix.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicTextFieldUI/MyBasicTextFieldUI.java: new support class, * gnu/testlet/javax/swing/plaf/basic/BasicTextFieldUI/getPropertyPrefix.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicTextPaneUI/MyBasicTextPaneUI.java: new support class, * gnu/testlet/javax/swing/plaf/basic/BasicTextPaneUI/getPropertyPrefix.java: new test. 2005-09-09 David Gilbert * gnu/testlet/javax/swing/plaf/basic/BasicArrowButton/getMaximumSize.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicArrowButton/getMinimumSize.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicArrowButton/getPreferredSize.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicArrowButton/isFocusTraversable.java: new test. 2005-09-08 Roman Kennke * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/initComponentDefaults.java: Added and improved tests for component color defaults. 2005-09-08 Roman Kennke * gnu/testlet/javax/swing/text/GapContent/PositionTest.java: New testcase to check for behaviour of positions in GapContent. 2005-09-06 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalRadioButtonUI/getDisabledTextColor.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalRadioButtonUI/getFocusColor.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalRadioButtonUI/getSelectColor.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalRadioButtonUI/MyMetalRadioButtonUI.java: support file. 2005-09-03 Audrius Meskauskas * gnu/testlet/org/omg/PortableInterceptor/Interceptor/testInterceptors.java, gnu/testlet/org/omg/PortableInterceptor/Interceptor/ucClientRequestInterceptor.java, gnu/testlet/org/omg/PortableInterceptor/Interceptor/ucInitialiser.java, gnu/testlet/org/omg/PortableInterceptor/Interceptor/ucIorInterceptor.java, gnu/testlet/org/omg/PortableInterceptor/Interceptor/ucServerRequestInterceptor.java: New test. 2005-09-02 David Gilbert * gnu/testlet/javax/swing/plaf/basic/BasicLookAndFeel/initComponentDefaults.java (test): commented out broken icon tests. 2005-09-01 Mark Wielaard * gnu/testlet/java/util/zip/Adler32/checksum.java: New test. 2005-08-31 David Gilbert * gnu/testlet/javax/swing/plaf/basic/BasicEditorPaneUI/MyBasicEditorPaneUI.java: new support class, * gnu/testlet/javax/swing/plaf/basic/BasicEditorPaneUI/getPropertyPrefix.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicFormattedTextFieldUI/MyBasicFormattedTextFieldUI.java: new support class, * gnu/testlet/javax/swing/plaf/basic/BasicFormattedTextFieldUI/getPropertyPrefix.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicPasswordFieldUI/MyBasicPasswordFieldUI.java: new support class, * gnu/testlet/javax/swing/plaf/basic/BasicPasswordFieldUI/getPropertyPrefix.java: new test, 2005-08-31 David Gilbert * gnu/testlet/javax/swing/plaf/basic/BasicMenuItemUI/getPropertyPrefix.java: replaced with correct file. 2005-08-31 David Gilbert * gnu/testlet/javax/swing/plaf/basic/BasicCheckBoxMenuItemUI/MyBasicCheckBoxMenuItemUI.java: new support class, * gnu/testlet/javax/swing/plaf/basic/BasicCheckBoxMenuItemUI/getPropertyPrefix.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicMenuItemUI/MyBasicMenuItemUI.java: new support class, * gnu/testlet/javax/swing/plaf/basic/BasicMenuItemUI/getPropertyPrefix.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicMenuUI/MyBasicMenuUI.java: new support class, * gnu/testlet/javax/swing/plaf/basic/BasicMenuUI/getPropertyPrefix.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicRadioButtonMenuItemUI/MyBasicRadioButtonMenuItemUI.java: new support class, * gnu/testlet/javax/swing/plaf/basic/BasicRadioButtonMenuItemUI/getPropertyPrefix.java: new test. 2005-08-30 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalCheckBoxUI/getPropertyPrefix.java: new test. 2005-08-30 David Gilbert * gnu/testlet/javax/swing/plaf/basic/BasicButtonUI/MyBasicButtonUI.java: new support class, * gnu/testlet/javax/swing/plaf/basic/BasicButtonUI/getPropertyPrefix.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicRadioButtonUI/MyBasicRadioButtonUI.java: new support class, * gnu/testlet/javax/swing/plaf/basic/BasicRadioButtonUI/getPropertyPrefix.java: new test, * gnu/testlet/javax/swing/plaf/basic/BasicToggleButtonUI/MyBasicToggleButtonUI.java: new support class, * gnu/testlet/javax/swing/plaf/basic/BasicToggleButtonUI/getPropertyPrefix.java: new test. 2005-08-25 David Gilbert * gnu/testlet/javax/swing/plaf/basic/BasicIconFactory/getCheckBoxMenuItemIcon.java: new file. 2005-08-24 David Gilbert * gnu/testlet/javax/swing/plaf/basic/BasicLookAndFeel/initSystemColorDefaults.java: new tests. 2005-08-24 Tom Tromey PR classpath/23183: * gnu/testlet/java/text/SimpleDateFormat/regress.java (test): Added 2 new regression tests. 2005-08-23 David Gilbert * gnu/testlet/javax/swing/UIManager/LookAndFeelInfo/constructor.java: new file. 2005-08-23 David Gilbert * gnu/testlet/javax/swing/UIManager/addAuxiliaryLookAndFeel.java: new file, * gnu/testlet/javax/swing/UIManager/addPropertyChangeListener.java: new file, * gnu/testlet/javax/swing/UIManager/getAuxiliaryLookAndFeels.java: new file, * gnu/testlet/javax/swing/UIManager/getCrossPlatformLookAndFeelClassName.java: new file, * gnu/testlet/javax/swing/UIManager/getDefaults.java: new file, * gnu/testlet/javax/swing/UIManager/getLookAndFeelDefaults.java: new file, * gnu/testlet/javax/swing/UIManager/getPropertyChangeListeners.java: new file, * gnu/testlet/javax/swing/UIManager/removeAuxiliaryLookAndFeel.java: new file, * gnu/testlet/javax/swing/UIManager/setLookAndFeel.java: new file, * gnu/testlet/javax/swing/UIManager/MyLookAndFeel.java: new file. 2005-08-23 David Gilbert * gnu/testlet/java/util/Vector/copyInto.java: new test. 2005-08-23 David Gilbert * gnu/testlet/javax/swing/event/SwingPropertyChangeSupport/addPropertyChangeListener.java: new test; * gnu/testlet/javax/swing/event/SwingPropertyChangeSupport/constructor.java: new test; * gnu/testlet/javax/swing/event/SwingPropertyChangeSupport/firePropertyChange.java: new test; * gnu/testlet/javax/swing/event/SwingPropertyChangeSupport/getPropertyChangeListeners.java: new test; * gnu/testlet/javax/swing/event/SwingPropertyChangeSupport/hasListeners.java: new test; * gnu/testlet/javax/swing/event/SwingPropertyChangeSupport/removePropertyChangeListener.java: new test. 2005-08-20 Thomas Fitzsimmons * gnu/testlet/java/awt/AWTKeyStroke/getAWTKeyStroke.java: Also check for old-style modifiers. 2005-08-19 Tom Tromey * gnu/testlet/javax/swing/text/ElementIterator/ElementIteratorTest.java (test): Added another test for first() and previous(). 2005-08-19 Tom Tromey * gnu/testlet/javax/swing/text/ElementIterator/ElementIteratorTest.java: New file. 2005-08-19 Tom Tromey * gnu/testlet/java/awt/Component/update.java: Use StringBuffer, not StringBuilder (to avoid requiring a 1.5 tag). 2005-08-18 Tom Tromey * .classpath: Depend on classpath project. Omit getTreeFolderIcon.java. * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/Token_locations.java: Removed incorrect import. * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/Text.java: Removed incorrect import. * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/TagElement_Test.java: Removed incorrect import. * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/textPreProcessor_Test.java: Removed incorrect import. * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/supplementaryNotifications.java: Removed incorrect import. * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/ParserEntityResolverTest.java: Removed incorrect import. * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/parameterDefaulter_Test.java: Removed incorrect import. * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/HTML_Test.java: Removed incorrect import. * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/HTML_randomTable.java: Removed incorrect import. * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/HTML_parsing.java: Removed incorrect import. * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/Entity_Test.java: Removed incorrect import. * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/Element_Test.java: Removed incorrect import. * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/DTD_test.java: Removed incorrect import. * gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/AttributeList_test.java: Removed incorrect import. 2005-08-17 Tom Tromey * .project, .classpath: New files. * .externalToolBuilders/ConfigureMauve.launch: New file. 2005-08-11 Tom Tromey * gnu/testlet/javax/swing/JTable/createDefaultSelectionModel.java: Added Uses. * gnu/testlet/javax/swing/JTable/createDefaultDataModel.java: Added Uses. 2005-08-11 Tom Tromey * gnu/testlet/java/util/Observable/observable.java: New file. PR classpath/23279. 2005-08-10 Roman Kennke * gnu/testlet/java/awt/Component/update.java Added a testcase for the handling of paint() and update. 2005-08-07 Audrius Meskauskas * gnu/testlet/org/omg/DynamicAny/DynAny/BasicTest.java, gnu/testlet/org/omg/DynamicAny/DynAny/Iona/TestStructHelper.java, gnu/testlet/org/Iona/omg/DynamicAny/DynAny/TestEnumHelper.java, gnu/testlet/org/Iona/omg/DynamicAny/DynAny/TestEnum.java, gnu/testlet/org/Iona/omg/DynamicAny/DynAny/TestStruct.java: New test. 2005-08-05 Mark Wielaard * gnu/testlet/java/awt/datatransfer/Clipboard/clipboard.java: New test. * gnu/testlet/java/awt/datatransfer/Clipboard/clipboardFlavors.java: Likewise. * gnu/testlet/java/awt/datatransfer/DataFlavor/flavor.java: Likewise. * gnu/testlet/java/awt/datatransfer/StringSelection/selection.java: Likewise. 2005-08-01 Jeroen Frijters * gnu/testlet/java/lang/ClassLoader/initialize.java: New test. 2005-08-01 Jeroen Frijters * gnu/testlet/java/nio/channels/FileChannel/lock.java (test): Moved file delete to end. 2005-07-31 Mark Wielaard * gnu/testlet/java/nio/channels/FileChannel/lock.java: New test. * runner: Add -Dmauve.vmexec=$RUNTIME. * batch_run (COMPILER): Add -nowarn. 2005-07-29 Jeroen Frijters * gnu/testlet/java/lang/ClassLoader/findLoadedClass.java: New test. 2005-07-28 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getAcceleratorForeground.java (test): reset default theme after test, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getAcceleratorSelectedForeground.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getBlack.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getControl.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getControlDarkShadow.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getControlDisabled.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getControlHighlight.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getControlInfo.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getControlShadow.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getControlTextColor.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getControlTextFont.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getDesktopColor.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getFocusColor.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getHighlightedTextColor.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getInactiveControlTextColor.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getInactiveSystemTextColor.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getMenuBackground.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getMenuSelectedBackground.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getMenuSelectedForeground.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getMenuTextFont.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getPrimaryControl.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getPrimaryControlDarkShadow.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getPrimaryControlHighlight.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getPrimaryControlInfo.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getPrimaryControlShadow.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getSeparatorBackground.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getSeparatorForeground.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getSubTextFont.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getSystemTextColor.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getSystemTextFont.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getTextHighlightColor.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getUserTextColor.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getWhite.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getWindowBackground.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getWindowTitleBackground.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getWindowTitleFont.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getWindowTitleForeground.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getWindowTitleInactiveBackground.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getWindowTitleInactiveForeground.java (test): likewise, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/setCurrentTheme.java (test): likewise. 2005-07-28 David Gilbert * gnu/testlet/javax/swing/JTree/setModel.java: new file. 2005-07-26 Roman Kennke * gnu/testlet/java/util/Properties/getProperty.java: New test that checks if getProperty(String) and getProperty(String,String) call each other. 2005-07-24 Tom Tromey * gnu/testlet/java/util/Properties/load.java (test): Added trailing-backslash test. PR classpath/22994. 2005-07-25 Tom Tromey * gnu/testlet/javax/swing/plaf/basic/BasicLookAndFeel/initComponentDefaults.java: Fixed 'Uses'. * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/initComponentDefaults.java: Fixed 'Uses'. 2005-07-25 Tom Tromey * gnu/testlet/javax/swing/table/AbstractTableModel/fireTableChanged.java: Fixed 'Uses'. * gnu/testlet/javax/swing/table/AbstractTableModel/fireTableRowsInserted.java: Fixed 'Uses'. * gnu/testlet/javax/swing/table/AbstractTableModel/fireTableRowsUpdated.java: Fixed 'Uses'. * gnu/testlet/javax/swing/table/AbstractTableModel/fireTableDataChanged.java: Fixed 'Uses'. * gnu/testlet/javax/swing/table/AbstractTableModel/fireTableCellUpdated.java: Fixed 'Uses'. * gnu/testlet/javax/swing/table/AbstractTableModel/fireTableRowsDeleted.java: Fixed 'Uses'. * gnu/testlet/javax/swing/table/AbstractTableModel/fireTableStructureChanged.java: Fixed 'Uses'. * gnu/testlet/javax/swing/plaf/basic/BasicSliderUI/calculateGeometry.java: Fixed 'Uses'. * gnu/testlet/javax/swing/plaf/basic/BasicSliderUI/installUI.java: Fixed 'Uses'. * gnu/testlet/javax/swing/plaf/basic/BasicSliderUI/getThumbSize.java: Fixed 'Uses'. * gnu/testlet/javax/swing/plaf/basic/BasicSliderUI/constructors.java: Fixed 'Uses'. 2005-07-25 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/initComponentDefaults.java: new file, * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/MyMetalLookAndFeel.java: new file. 2005-07-25 David Gilbert * gnu/testlet/javax/swing/plaf/basic/BasicLookAndFeel/initComponentDefaults.java: new file, * gnu/testlet/javax/swing/plaf/basic/BasicLookAndFeel/MyBasicLookAndFeel.java: new file. 2005-07-25 David Gilbert * gnu/testlet/java/awt/image/ConvolveOp/constants.java: new file, * gnu/testlet/java/awt/image/ConvolveOp/constructors.java: new file, * gnu/testlet/java/awt/image/ConvolveOp/getKernel.java: new file. 2005-07-25 David Gilbert * gnu/testlet/java/awt/AlphaComposite/equals.java: new file, * gnu/testlet/java/awt/AlphaComposite/getInstance.java: new file, * gnu/testlet/java/awt/AlphaComposite/getInstance14.java: new file, * gnu/testlet/java/awt/AlphaComposite/getRule.java: new file. 2005-07-25 David Gilbert * gnu/testlet/javax/swing/table/DefaultTableColumnModel/getColumnMargin.java (test): added check for default value. 2005-07-25 David Gilbert * gnu/testlet/javax/swing/plaf/basic/BasicSliderUI/calculateGeometry.java: new file, * gnu/testlet/javax/swing/plaf/basic/BasicSliderUI/constructors.java: new file, * gnu/testlet/javax/swing/plaf/basic/BasicSliderUI/getMaximumSize.java: new file, * gnu/testlet/javax/swing/plaf/basic/BasicSliderUI/getMinimumSize.java: new file, * gnu/testlet/javax/swing/plaf/basic/BasicSliderUI/getPreferredSize.java: new file, * gnu/testlet/javax/swing/plaf/basic/BasicSliderUI/getThumbSize.java: new file, * gnu/testlet/javax/swing/plaf/basic/BasicSliderUI/installUI.java: new file, * gnu/testlet/javax/swing/plaf/basic/BasicSliderUI/MyBasicSliderUI.java: new file, * gnu/testlet/javax/swing/plaf/basic/BasicSliderUI/valueForXPosition.java: new file, * gnu/testlet/javax/swing/plaf/basic/BasicSliderUI/valueForYPosition.java: new file, * gnu/testlet/javax/swing/plaf/basic/BasicSliderUI/xPositionForValue.java: new file, * gnu/testlet/javax/swing/plaf/basic/BasicSliderUI/yPositionForValue.java: new file. 2005-07-25 David Gilbert * gnu/testlet/javax/swing/table/TableColumn/constructors.java (testConstructor2): added check for negative width, (testConstructor3): added check for negative width. * gnu/testlet/javax/swing/table/TableColumn/setHeaderValue.java: (test): check null argument. * gnu/testlet/javax/swing/table/TableColumn/setIdentifier.java: (test): check null argument. * gnu/testlet/javax/swing/table/TableColumn/setMinWidth.java: (test): wrap at 80 columns. 2005-07-25 David Gilbert * gnu/testlet/javax/swing/JMenuItem/constructors.java: new tests. 2005-07-25 David Gilbert * gnu/testlet/java/awt/RenderingHints/get.java: reformatted (test): added test for key with no value defined. 2005-07-22 Audrius Meskauskas gnu/testlet/org/omg/PortableServer/PortableServer/POAOperations/poa_POA_test.java, gnu/testlet/org/omg/PortableServer/PortableServer/POAOperations/communication/gnuAdapterActivator.java, gnu/testlet/org/omg/PortableServer/PortableServer/POAOperations/communication/ourUserExceptionHelper.java, gnu/testlet/org/omg/PortableServer/PortableServer/POAOperations/communication/remotePoaControl.java, gnu/testlet/org/omg/PortableServer/PortableServer/POAOperations/communication/remotePoaControlPOA.java, gnu/testlet/org/omg/PortableServer/PortableServer/POAOperations/communication/remotePoaControlHelper.java, gnu/testlet/org/omg/PortableServer/PortableServer/POAOperations/communication/poa_Servant.java, gnu/testlet/org/omg/PortableServer/PortableServer/POAOperations/communication/poa_comTesterOperations.java, gnu/testlet/org/omg/PortableServer/PortableServer/POAOperations/communication/remotePoaControlOperations.java, gnu/testlet/org/omg/PortableServer/PortableServer/POAOperations/communication/remotePoaControlServant.java, gnu/testlet/org/omg/PortableServer/PortableServer/POAOperations/communication/poa_comTesterStub.java, gnu/testlet/org/omg/PortableServer/PortableServer/POAOperations/communication/poa_comTesterHelper.java, gnu/testlet/org/omg/PortableServer/PortableServer/POAOperations/communication/ourUserException.java, gnu/testlet/org/omg/PortableServer/PortableServer/POAOperations/communication/poa_remotePoaControlStub.java, gnu/testlet/org/omg/PortableServer/PortableServer/POAOperations/communication/poa_comTester.java, gnu/testlet/org/omg/PortableServer/PortableServer/POAOperations/communication/poa_Server.java, gnu/testlet/org/omg/PortableServer/PortableServer/POAOperations/communication/poa_comTesterPOA.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/Util.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/_TestLocationForwardServerStub.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/TestLocationForwardPOA.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/_TestStub.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/TestLocationForwardHelper.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/Test.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/TestLocationForwardOperations.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/TestLocationForwardServerOperations.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/TestOperations.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/_TestLocationForwardStub.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/TestException.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/TestHelper.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/BAD_OPERATIONHolder.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/TestLocationForwardServer.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/TestLocationForwardServerHelper.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/TestPOA.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/TestBase.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/Test_impl.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/TestLocationForward.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/TestLocationForwardServerPOA.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/TestDSI_impl.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/TestLocationForward_impl.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/TestLocationForwardActivator_impl.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/TestLocationForwardServerMain.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/TestUtil.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/TestLocationForwardClient.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/TestDSIRef_impl.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/TestDestroy.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/TestFind.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/testForwarding.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/TestDeactivate.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/TestMisc.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/TestCollocated.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/TestCreate.java, gnu/testlet/org/omg/PortableServer/PortableServer/POA/TestActivate.java: New POA tests. THANKS: Saying thanks to Object Oriented Concepts and IONA Technologies. 2005-07-22 Mark Wielaard * gnu/testlet/java/io/Serializable/BreakMe.java: New test and generator. * gnu/testlet/java/io/Serializable/BreakMeTestSer.java: New test. * gnu/testlet/java/io/Serializable/MyBreakMe.java: New helper clas. * gnu/testlet/java/io/Serializable/MyBreakMe.ser: New binary serialized stream. 2005-07-22 Mark Wielaard * gnu/testlet/java/net/DatagramSocket/DatagramSocketTest.java (test_echoWithTimeout): Catch and fail when we get a general IOException instead of a InterruptedIOException. 2005-07-20 David Gilbert * gnu/testlet/javax/swing/JSlider/addChangeListener.java: new file, * gnu/testlet/javax/swing/JSlider/createStandardLabels.java: new file, * gnu/testlet/javax/swing/JSlider/getExtent.java: new file, * gnu/testlet/javax/swing/JSlider/getInverted.java: new file, * gnu/testlet/javax/swing/JSlider/getLabelTable.java: new file, * gnu/testlet/javax/swing/JSlider/getMajorTickSpacing.java: new file, * gnu/testlet/javax/swing/JSlider/getMaximum.java: new file, * gnu/testlet/javax/swing/JSlider/getMinimum.java: new file, * gnu/testlet/javax/swing/JSlider/getMinorTickSpacing.java: new file, * gnu/testlet/javax/swing/JSlider/getModel.java: new file, * gnu/testlet/javax/swing/JSlider/getPaintLabels.java: new file, * gnu/testlet/javax/swing/JSlider/getPaintTicks.java: new file, * gnu/testlet/javax/swing/JSlider/getPaintTrack.java: new file, * gnu/testlet/javax/swing/JSlider/getSnapToTicks.java: new file, * gnu/testlet/javax/swing/JSlider/getUIClassID.java: new file, * gnu/testlet/javax/swing/JSlider/setExtent.java: new file, * gnu/testlet/javax/swing/JSlider/setInverted.java: new file, * gnu/testlet/javax/swing/JSlider/setLabelTable.java: new file, * gnu/testlet/javax/swing/JSlider/setMajorTickSpacing.java: new file, * gnu/testlet/javax/swing/JSlider/setMaximum.java: new file, * gnu/testlet/javax/swing/JSlider/setMinimum.java: new file, * gnu/testlet/javax/swing/JSlider/setMinorTickSpacing.java: new file, * gnu/testlet/javax/swing/JSlider/setModel.java: new file, * gnu/testlet/javax/swing/JSlider/setOrientation.java: new file, * gnu/testlet/javax/swing/JSlider/setPaintLabels.java: new file, * gnu/testlet/javax/swing/JSlider/setPaintTicks.java: new file, * gnu/testlet/javax/swing/JSlider/setPaintTrack.java: new file, * gnu/testlet/javax/swing/JSlider/setSnapToTicks.java: new file, * gnu/testlet/javax/swing/JSlider/setValue.java: new file, * gnu/testlet/javax/swing/JSlider/MyChangeListener.java: new file, * gnu/testlet/javax/swing/JSlider/MyPropertyChangeListener.java: new file. 2005-07-18 David Gilbert * gnu/testlet/javax/swing/JSlider/constructors.java: new tests. 2005-07-18 Jeroen Frijters * gnu/testlet/java/util/logging/LogRecord/getMillis.java: Made the code more robust against time resolution issues. 2005-07-15 Roman Kennke * gnu/testlet/javax/swing/AbstractButton/init.java: Checks if the init() method handles the default label correctly. * gnu/testlet/javax/swing/AbstractButton/constructor.java: Checks if the constructor handles the default label correctly. * gnu/testlet/javax/swing/JToggleButton/constructor.java: Checks if the constructor handles the default label correctly. 2005-07-15 Robert Schuster * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/depthFirstEnumeration.java: New test. 2005-07-15 Robert Schuster * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/breadthFirstEnumeration.java, gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/postorderEnumeration.java, gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/preorderEnumeration.java: Removed unused import. 2005-07-15 Roman Kennke * gnu/testlet/javax/swing/JToggleButton/actionEvent.java: Tests if ActionListeners are correctly notified of changes to the selected property. * gnu/testlet/javax/swing/JToggleButton/click.java: Actually test JToggleButton here, not JCheckBoxes. 2005-07-14 Guilhem Lavaux * gnu/testlet/java/util/logging/LogManager/logging.properties, gnu/testlet/java/util/logging/LogManager/readConfiguration.java gnu/testlet/java/util/logging/LogManager/TestHandler.java: New testlet for LogManager. 2005-07-13 David Gilbert * gnu/testlet/jaxax/swing/tree/TreePath/constructors.java: new file, * gnu/testlet/jaxax/swing/tree/TreePath/equals.java: new file, * gnu/testlet/jaxax/swing/tree/TreePath/getLastPathComponent.java: new file, * gnu/testlet/jaxax/swing/tree/TreePath/getParentPath.java (test): added additional checks, * gnu/testlet/jaxax/swing/tree/TreePath/getPath.java: new file, * gnu/testlet/jaxax/swing/tree/TreePath/getPathComponent.java: new file, * gnu/testlet/jaxax/swing/tree/TreePath/getPathCount.java: new file, * gnu/testlet/jaxax/swing/tree/TreePath/isDescendant.java: new file, * gnu/testlet/jaxax/swing/tree/TreePath/pathByAddingChild.java: new file, * gnu/testlet/jaxax/swing/tree/TreePath/serialization.java: new file. 2005-07-13 Robert Schuster * gnu/testlet/javax/swing/AbstractButton/getActionCommand.java: New base class for tests in subclasses. * gnu/testlet/javax/swing/JButton/getActionCommand.java, gnu/testlet/javax/swing/JRadioButton/getActionCommand.java, gnu/testlet/javax/swing/JToggleButton/getActionCommand.java, gnu/testlet/javax/swing/JCheckBox/getActionCommand.java, gnu/testlet/javax/swing/JMenuItem/getActionCommand.java, gnu/testlet/javax/swing/JMenu/getActionCommand.java, gnu/testlet/javax/swing/JRadioButtonMenuItem/getActionCommand.java, gnu/testlet/javax/swing/JCheckBoxMenuItem/getActionCommand.java: New tests based on "gnu.testlet.javax.swing.AbstractButton.getActionCommand". 2005-07-09 Archie Cobbs * batch_run: use "=" instead of "==" for test(1) equality * uses-list: avoid error from shifting too many parameters * runner: add jc (commented out) 2005-07-08 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/TreeLeafIcon/getAdditionalHeight.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/TreeLeafIcon/getShift.java: likewise. 2005-07-08 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/TreeFolderIcon/getAdditionalHeight.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/TreeFolderIcon/getShift.java: likewise. 2005-07-08 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getTreeControlIcon.java: new test, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getTreeFolderIcon.java: likewise, * gnu/testlet/javax/swing/plaf/metal/MetalIconFactory/getTreeLeafIcon.java: likewise. 2005-07-07 David Gilbert * gnu/testlet/javax/swing/JProgressBar/constructors.java: new tests. 2005-07-06 Tom Tromey * gnu/testlet/java/io/InputStreamReader/hang.java (test): Fixed UTF-8 encoding bug. 2005-07-06 Tom Tromey * gnu/testlet/java/io/InputStreamReader/hang.java: New file 2005-07-06 Tom Tromey * gnu/testlet/javax/swing/AbstractAction/setEnabled.java: Updated 'Uses'. 2005-07-06 Tom Tromey * gnu/testlet/java/beans/Introspector/getBeanInfo4.java: Updated 'Uses'. 2005-07-06 David Gilbert * gnu/testlet/javax/swing/JTable/constructors.java (constructor3): removed whitespace. * gnu/testlet/javax/swing/JTable/getColumnName.java: (test): add test to confirm that identifier and headerValue are not used. * gnu/testlet/javax/swing/JTable/getModel.java: remove unnecessary imports, * gnu/testlet/javax/swing/JTable/isCellEditable.java: (test): fixed indentation, * gnu/testlet/javax/swing/JTable/setModel.java: (test): split into test1() and test2(), (test1): code from previous test(), (test2): check that the autoCreateColumnsFromModel flag is correctly observed. 2005-07-06 David Gilbert * gnu/testlet/javax/swing/AbstractAction/clone.java: new tests, * gnu/testlet/javax/swing/AbstractAction/constructors.java: new tests, * gnu/testlet/javax/swing/AbstractAction/getValue.java: new tests, * gnu/testlet/javax/swing/AbstractAction/putValue.java: new tests, * gnu/testlet/javax/swing/AbstractAction/setEnabled.java: new tests, * gnu/testlet/javax/swing/AbstractAction/MyAction.java: new file, * gnu/testlet/javax/swing/AbstractAction/MyPropertyChangeListener.java: new file. 2005-07-05 Mark Wielaard * gnu/testlet/java/io/ObjectInputStream/registerValidation.java: Remove extra class and use... * gnu/testlet/java/io/ObjectInputStream/TestObjectInputValidation.java: New class. 2005-07-05 David Gilbert * gnu/testlet/javax/swing/table/DefaultTableColumnModel/removeColumn.java: new test. 2005-07-05 David Gilbert * gnu/testlet/javax/swing/JTable/addColumn.java: new test, * gnu/testlet/javax/swing/JTable/constructors.java: new test, * gnu/testlet/javax/swing/JTable/convertColumnIndexToView.java: new test, * gnu/testlet/javax/swing/JTable/createDefaultColumnsFromModel.java: new test, * gnu/testlet/javax/swing/JTable/createDefaultDataModel.java: new test, * gnu/testlet/javax/swing/JTable/createDefaultSelectionModel.java: new test, * gnu/testlet/javax/swing/JTable/getAutoCreateColumnsFromModel.java: new test, * gnu/testlet/javax/swing/JTable/getColumn.java: new test, * gnu/testlet/javax/swing/JTable/getColumnName.java: new test, * gnu/testlet/javax/swing/JTable/MyJTable.java: new support file, * gnu/testlet/javax/swing/JTable/setAutoCreateColumnsFromModel.java: new test. 2005-07-01 Thomas Zander * gnu/testlet/runner/CheckResult.java, gnu/testlet/runner/ClassResult.java, gnu/testlet/runner/CreateTags.java, gnu/testlet/runner/Filter.java, gnu/testlet/runner/HTMLGenerator.java, gnu/testlet/runner/Mauve.java, gnu/testlet/runner/PackageResult.java, gnu/testlet/runner/RunResult.java, gnu/testlet/runner/Tags.java, gnu/testlet/runner/TestResult.java, gnu/testlet/runner/XMLGenerator.java: New testrunner which is much faster then the SimpleTestRunner and creates html output. 2005-07-01 David Gilbert * gnu/testlet/javax/swing/table/DefaultTableColumnModel/moveColumn.java: (test): split into testGeneral() and testSpecial(); (testGeneral): old contents of test() modified slightly to catch error where Classpath is swapping columns rather than moving one column, (testSpecial): new special case tests. 2005-07-01 David Gilbert * gnu/testlet/javax/swing/JTable/convertColumnIndexToModel.java: new tests; * gnu/testlet/javax/swing/JTable/getModel.java: new tests; * gnu/testlet/javax/swing/JTable/isCellEditable.java: new tests; * gnu/testlet/javax/swing/JTable/setModel.java: new tests; 2005-07-01 David Gilbert * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getAcceleratorForeground.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getAcceleratorSelectedForeground.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getBlack.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getControl.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getControlDarkShadow.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getControlDisabled.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getControlHighlight.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getControlInfo.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getControlShadow.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getControlTextColor.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getControlTextFont.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getDescription.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getDesktopColor.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getFocusColor.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getHighlightedTextColor.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getID.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getInactiveControlTextColor.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getInactiveSystemTextColor.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getMenuBackground.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getMenuDisabledForeground.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getMenuForeground.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getMenuSelectedBackground.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getMenuSelectedForeground.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getMenuTextFont.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getName.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getPrimaryControl.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getPrimaryControlDarkShadow.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getPrimaryControlHighlight.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getPrimaryControlInfo.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getPrimaryControlShadow.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getSeparatorBackground.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getSeparatorForeground.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getSubTextFont.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getSystemTextColor.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getSystemTextFont.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getTextHighlightColor.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getUserTextColor.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getUserTextFont.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getWhite.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getWindowBackground.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getWindowTitleBackground.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getWindowTitleFont.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getWindowTitleForeground.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getWindowTitleInactiveBackground.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/getWindowTitleInactiveForeground.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/isNativeLookAndFeel.java: new tests; * gnu/testlet/javax/swing/plaf/metal/MetalLookAndFeel/isSupportedLookAndFeel.java: new tests; 2005-07-01 David Gilbert * gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getControlTextFont.java: new test; * gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getMenuTextFont.java: new test; * gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getName.java: new test; * gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getSubTextFont.java: new test; * gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getSystemTextFont.java: new test; * gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getUserTextFont.java: new test; * gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getWindowTitleFont.java: new test; 2005-06-29 David Gilbert * gnu/testlet/javax/swing/event/TableModelEvent/constructors.java: new tests. 2005-06-28 David Gilbert * gnu/testlet/java/awt/BorderLayout/addLayoutComponent.java: new tests, * gnu/testlet/java/awt/BorderLayout/constants.java: new tests, * gnu/testlet/java/awt/BorderLayout/constructors.java: new tests, * gnu/testlet/java/awt/BorderLayout/getHgap.java: new tests, * gnu/testlet/java/awt/BorderLayout/getVgap.java: new tests, * gnu/testlet/java/awt/BorderLayout/layoutContainer.java: new tests, * gnu/testlet/java/awt/BorderLayout/preferredLayoutSize.java: new tests, * gnu/testlet/java/awt/BorderLayout/setHgap.java: new tests, * gnu/testlet/java/awt/BorderLayout/setVgap.java: new tests. 2005-06-24 David Gilbert * gnu/testlet/javax/swing/table/AbstractTableModel/getColumnName.java: added one more check; * gnu/testlet/javax/swing/table/DefaultTableModel/addColumn.java (testAddColumn1): check more fields in generated event, (testAddColumn2): check generated event, (testAddColumn3): reformatting only; * gnu/testlet/javax/swing/table/DefaultTableModel/addRow.java (testAddRow1): check more fields in generated event, (testAddRow2): likewise; * gnu/testlet/javax/swing/table/DefaultTableModel/insertRow.java (testInsertRow1): check more fields in generated event, (testInsertRow2): likewise; * gnu/testlet/javax/swing/table/DefaultTableModel/moveRow.java (test): check more fields in generated event; * gnu/testlet/javax/swing/table/DefaultTableModel/setColumnCount.java (testEvents): check more fields in generated event; * gnu/testlet/javax/swing/table/DefaultTableModel/setColumnIdentifiers.java (testEvents1): check more fields in generated event, (testEvents2): likewise; * gnu/testlet/javax/swing/table/DefaultTableModel/setDataVector.java (testEvent): new method; * gnu/testlet/javax/swing/table/DefaultTableModel/setRowCount.java (testEvents): check more fields in generated events. 2005-06-21 Audrius Meskauskas * gnu/testlet/org/omg/IOP/IOR/Streams.java: New test. 2005-06-20 Robert Schuster * gnu/testlet/javax/swing/JDialog/setDefaultCloseOperation.java: New test. 2005-06-19 David Gilbert * gnu/testlet/javax/swing/table/DefaultTableModel/constructors.java (testConstructor3): changed expected result for null arguments, (testConstructor4): changed expected result for null argument, * gnu/testlet/javax/swing/table/DefaultTableModel/getColumnName.java (test) Modified expected value for case where column index is too large, * gnu/testlet/javax/swing/table/DefaultTableModel/setColumnCount.java (test) Added check for zero columns, * gnu/testlet/javax/swing/table/DefaultTableModel/setColumnIdentifiers.java (testBasics) Renamed testBasics1 and corrected small error, (testBasics2) New method, (testEvents) Renamed testEvents1, (testEvents2) New method. * gnu/testlet/javax/swing/table/DefaultTableModel/setDataVector.java (test) Changed expected results for null arguments. 2005-06-19 David Gilbert * gnu/testlet/javax/swing/table/AbstractTableModel/findColumn.java: new test; * gnu/testlet/javax/swing/table/AbstractTableModel/fireTableCellUpdated.java: new tests; * gnu/testlet/javax/swing/table/AbstractTableModel/fireTableChanged.java: new tests; * gnu/testlet/javax/swing/table/AbstractTableModel/fireTableDataChanged.java: new tests; * gnu/testlet/javax/swing/table/AbstractTableModel/fireTableRowsDeleted.java: new tests; * gnu/testlet/javax/swing/table/AbstractTableModel/fireTableRowsInserted.java: new tests; * gnu/testlet/javax/swing/table/AbstractTableModel/fireTableRowsUpdated.java: new tests; * gnu/testlet/javax/swing/table/AbstractTableModel/fireTableStructureChanged.java: new tests; * gnu/testlet/javax/swing/table/AbstractTableModel/getColumnClass.java: new tests; * gnu/testlet/javax/swing/table/AbstractTableModel/getColumnName.java: new tests; * gnu/testlet/javax/swing/table/AbstractTableModel/isCellEditable.java: new tests; * gnu/testlet/javax/swing/table/AbstractTableModel/MyTableModel.java: support class. 2005-06-19 Tom Tromey * gnu/testlet/java/lang/Class/newInstance.java: Added 'Uses'. 2005-06-17 Robert Schuster * gnu/testlet/java/beans/Introspector/getBeanInfo4.java: New tests. * gnu/testlet/java/beans/Introspector/bar/TestSubject.java, gnu/testlet/java/beans/Introspector/bar/info/TestSubjectBeanInfo.java, gnu/testlet/java/beans/Introspector/foo/TestSubject.java, gnu/testlet/java/beans/Introspector/foo/info/TestSubjectBeanInfo.java: New helper class. 2005-06-17 Robert Schuster * gnu/testlet/java/io/InputStreamReader/getEncoding.java: New tests. 2005-06-17 Robert Schuster * gnu/testlet/java/beans/FeatureDescriptor/check.java: New tests. 2005-06-14 David Gilbert * gnu/testlet/java/text/AttributedString/addAttribute.java: new tests; * gnu/testlet/java/text/AttributedString/addAttributes.java: new tests; * gnu/testlet/java/text/AttributedString/constructors.java: new tests; * gnu/testlet/java/text/AttributedString/getIterator.java: new tests. 2005-06-13 Ziga Mahkovec * gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/getPixels.java: Added new test exposing a NPE in SampleModel.getPixels. 2005-06-13 Ziga Mahkovec * gnu/testlet/java/text/AttributedString/Test.java: Added new test exposing a runLimit bug. 2005-05-11 Audrius Meskauskas * gnu/testlet/java/net/ServerSocket/CORBA.java: Added tests. 2005-06-11 Audrius Meskauskas * gnu/testlet/org/omg/CORBA_2_3/ORB/ValueTypeTest.java: New tests. * gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/InfoValueFactory.java, gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/Info.java, gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/InfoDefaultFactory.java, gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/cmInfoImpl.java, gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/_GreetingsImplBase.java, gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/cmInfoHolder.java, gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/GreetingsServant.java, gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/Greetings.java, gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/InfoImpl.java, gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/_GreetingsStub.java, gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/cmInfoValueFactory.java, gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/cmInfo.java, gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/cmInfoHelper.java, gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/GreetingsHelper.java, gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/InfoHolder.java, gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/cmInfoDefaultFactory.java, gnu/testlet/org/omg/CORBA_2_3/ORB/Valtype/InfoHelper.java: New test supporting classes. * gnu/testlet/org/omg/CORBA/ORB/comServer.java: Adapted to work with ValueTypeTest. * gnu/testlet/org/omg/CORBA_2_3/ORB/DirectTest.java, * gnu/testlet/org/omg/CORBA_2_3/ORB/RequestTest.java: Adapted to work with the changed comServer. 2005-06-09 Thomas Fitzsimmons * gnu/testlet/java/awt/MenuItem/label1.java: New test. 2005-06-09 Ziga Mahkovec New test for Classpath bug #13353: * gnu/testlet/java/net/URL/newURL.java: New test for jar: URLs with fragments. 2005-06-07 David Gilbert * gnu/testlet/java/awt/image/BandedSampleModel/constructors.java: new test; * gnu/testlet/java/awt/image/BandedSampleModel/createCompatibleSampleModel.java: new test; * gnu/testlet/java/awt/image/BandedSampleModel/createDataBuffer.java: new test; * gnu/testlet/java/awt/image/BandedSampleModel/createSubsetSampleModel.java: new test; * gnu/testlet/java/awt/image/BandedSampleModel/getDataElements.java: new test; * gnu/testlet/java/awt/image/BandedSampleModel/getPixel.java: new test; * gnu/testlet/java/awt/image/BandedSampleModel/getPixels.java: new test; * gnu/testlet/java/awt/image/BandedSampleModel/getSample.java: new test; * gnu/testlet/java/awt/image/BandedSampleModel/getSampleDouble.java: new test; * gnu/testlet/java/awt/image/BandedSampleModel/getSampleFloat.java: new test; * gnu/testlet/java/awt/image/BandedSampleModel/getSamples.java: new test; * gnu/testlet/java/awt/image/BandedSampleModel/hashCode.java: new test; * gnu/testlet/java/awt/image/BandedSampleModel/setDataElements.java: new test; * gnu/testlet/java/awt/image/BandedSampleModel/setPixel.java: new test; * gnu/testlet/java/awt/image/BandedSampleModel/setPixels.java: new test; * gnu/testlet/java/awt/image/BandedSampleModel/setSample.java: new test; * gnu/testlet/java/awt/image/BandedSampleModel/setSamples.java: new test; 2005-06-05 Andrew John Hughes * gnu/testlet/java/net/URI/ToStringTest.java: New test for undefined/empty distinction, thus matching input to toString() output. 2005-06-04 Audrius Meskauskas * gnu/testlet/org/omg/CORBA/ORB/NEC_Corporation_RF11.java: New tests. * gnu/testlet/org/omg/CORBA/ORB/RF11/A_except2.java, gnu/testlet/org/omg/CORBA/ORB/RF11/A_except2Helper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/A_except2Holder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/B.java, gnu/testlet/org/omg/CORBA/ORB/RF11/B_except.java, gnu/testlet/org/omg/CORBA/ORB/RF11/B_exceptHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/B_exceptHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/BHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/BHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_anyHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_anyHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_booleanHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_booleanHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_charHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_charHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_doubleHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_doubleHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_floatHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_floatHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_longHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_longHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_ObjectHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_ObjectHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_octetHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_octetHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_shortHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_shortHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_stringHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_stringHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_ulongHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_ulongHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_ushortHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_array_e_ushortHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_except.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_exceptHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_exceptHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_anyHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_anyHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_booleanHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_booleanHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_charHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_charHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_doubleHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_doubleHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_floatHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_floatHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_longHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_longHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_ObjectHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_ObjectHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_octetHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_octetHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_shortHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_shortHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_stringHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_stringHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_ulongHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_ulongHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_ushortHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_sequence_e_ushortHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_struct.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_structHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_structHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_union.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_unionHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/C_unionHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_B.java, gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_BHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_BHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_boolean.java, gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_booleanHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_booleanHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_char.java, gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_charHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_charHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_long.java, gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_longHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_longHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_short.java, gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_shortHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_shortHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_ulong.java, gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_ulongHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_ulongHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_ushort.java, gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_ushortHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/D_d_ushortHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/D_except.java, gnu/testlet/org/omg/CORBA/ORB/RF11/D_exceptHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/D_exceptHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/E_arrayHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/E_arrayHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/E_except.java, gnu/testlet/org/omg/CORBA/ORB/RF11/E_exceptHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/E_exceptHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/E_sequenceHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/E_sequenceHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/E_struct.java, gnu/testlet/org/omg/CORBA/ORB/RF11/E_structHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/E_structHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/E_union.java, gnu/testlet/org/omg/CORBA/ORB/RF11/E_unionHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/E_unionHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/F_array_e_c_structHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/F_array_e_c_structHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/F_array_e_c_unionHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/F_array_e_c_unionHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/F_except1.java, gnu/testlet/org/omg/CORBA/ORB/RF11/F_except1Helper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/F_except1Holder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/F_except2.java, gnu/testlet/org/omg/CORBA/ORB/RF11/F_except2Helper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/F_except2Holder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/F_except3.java, gnu/testlet/org/omg/CORBA/ORB/RF11/F_except3Helper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/F_except3Holder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/F_sequence_e_c_structHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/F_sequence_e_c_structHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/F_sequence_e_c_unionHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/F_sequence_e_c_unionHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/F_struct.java, gnu/testlet/org/omg/CORBA/ORB/RF11/F_structHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/F_structHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/F_union.java, gnu/testlet/org/omg/CORBA/ORB/RF11/F_unionHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/F_unionHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/G_array_e_e_structHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/G_array_e_e_structHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/G_array_e_e_unionHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/G_array_e_e_unionHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/G_except.java, gnu/testlet/org/omg/CORBA/ORB/RF11/G_exceptHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/G_exceptHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/G_sequence_e_e_structHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/G_sequence_e_e_structHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/G_sequence_e_e_unionHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/G_sequence_e_e_unionHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/G_struct.java, gnu/testlet/org/omg/CORBA/ORB/RF11/G_structHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/G_structHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/G_union.java, gnu/testlet/org/omg/CORBA/ORB/RF11/G_unionHelper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/G_unionHolder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/NEC_RF11.java, gnu/testlet/org/omg/CORBA/ORB/RF11/rf11Caller.java, gnu/testlet/org/omg/CORBA/ORB/RF11/rf11Helper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/rf11Holder.java, gnu/testlet/org/omg/CORBA/ORB/RF11/rf11Operations.java, gnu/testlet/org/omg/CORBA/ORB/RF11/rf11Servant.java, gnu/testlet/org/omg/CORBA/ORB/RF11/_rf11ImplBase.java, gnu/testlet/org/omg/CORBA/ORB/RF11/_rf11Stub.java, gnu/testlet/org/omg/CORBA/ORB/RF11/A_except1.java, gnu/testlet/org/omg/CORBA/ORB/RF11/A_except1Helper.java, gnu/testlet/org/omg/CORBA/ORB/RF11/A_except1Holder.java: New files. * THANKS: Saying thanks for Duncan Grisby and NEC corporation. 2005-06-03 Tom Dunstan * gnu/testlet/java/text/MessageFormat/parse.java (parse): Added regression test. 2005-05-31 Audrius Meskauskas * gnu/testlet/java/net/ServerSocket/CORBA.java: Added tests. 2005-05-31 Jeroen Frijters * gnu/testlet/java/net/ServerSocket/ServerSocketText.java: Added tests. 2005-05-31 David Gilbert * gnu/testlet/java/awt/image/ColorModel/getComponentSize.java: New file. * gnu/testlet/java/awt/image/ColorModel/getRGBdefault.java: New file. * gnu/testlet/java/awt/image/DirectColorModel/constructors.java: New file. 2005-05-29 Tom Tromey * gnu/testlet/java/util/LinkedHashMap/Regress.java: New file. For PR libgcj/20273. 2005-05-28 Ziga Mahkovec * gnu/testlet/java/util/regex/Pattern/testdata3: New regex test cases for possessive quantifiers (PR libgcj/20435). 2005-05-25 Roman Kennke * gnu/testlet/javax/swing/AbstractButton/constructor.java: Added new test. 2005-05-25 Audrius Meskauskas * gnu/testlet/org/omg/CORBA/portable/OutputStream/BinaryAlignment.java, gnu/testlet/org/omg/CORBA/portable/OutputStream/mirror.java: New test. 2005-05-24 Audrius Meskauskas * gnu/testlet/org/omg/CORBA/ORB/parallelRunTest.java, gnu/testlet/org/omg/CORBA/ORB/Asynchron/assServant.java, gnu/testlet/org/omg/CORBA/ORB/Asynchron/_asyncStub.java, gnu/testlet/org/omg/CORBA/ORB/Asynchron/async.java, gnu/testlet/org/omg/CORBA/ORB/Asynchron/assServer.java, gnu/testlet/org/omg/CORBA/ORB/Asynchron/_asyncImplBase.java: New tests. 2005-05-24 Tom Tromey * choose: Handle 'org' in keys file. 2005-05-24 Tom Tromey * gnu/testlet/java/net/URI/ComparisonTest.java (test): Convert SortedSet to String for debug(). 2005-05-23 Audrius Meskauskas * build.xml: Adding gnu/testlet/org/** to the "test" ("run the tests") target. 2005-05-23 Tom Tromey * choose: Search 'org'. 2005-05-22 Audrius Meskauskas * gnu/testlet/org/omg/CORBA/ServiceInformationHelper/basicHelperOperations.java: New test. 2005-05-20 Andrew John Hughes * gnu/testlet/java/net/URI/ComparisonTest.java, * gnu/testlet/java/net/URI/EqualityTest.java, * gnu/testlet/java/net/URI/NormalizationTest.java, * gnu/testlet/java/net/URI/RelativizationTest.java, * gnu/testlet/java/net/URI/ToASCIIStringTest.java: New tests for the compareTo(), equals(), normalize(), relativize(URI) and toASCIIString() methods respectively. 2005-05-20 Tom Tromey * gnu/testlet/java/net/URLConnection/Jar.java: New file. 2005-05-18 Audrius Meskauskas * gnu/testlet/org/omg/CORBA/Any/testAny.java, gnu/testlet/org/omg/CORBA/portable/InputStream/cdrIO.java, gnu/testlet/org/omg/CORBA/TypeCode/orbTypecodes.java, gnu/testlet/org/omg/CORBA/ORB/DirectTest.java, gnu/testlet/org/omg/CORBA/ORB/RequestTest.java: New tests. * gnu/testlet/org/omg/CORBA/Asserter.java: New file. * gnu/testlet/org/omg/CORBA/ORB/comServer.java, gnu/testlet/org/omg/CORBA/ORB/communication/returnThisHelper.java, gnu/testlet/org/omg/CORBA/ORB/communication/node.java, gnu/testlet/org/omg/CORBA/ORB/communication/_comTesterImplBase.java, gnu/testlet/org/omg/CORBA/ORB/communication/comServant.java, gnu/testlet/org/omg/CORBA/ORB/communication/comTester.java, gnu/testlet/org/omg/CORBA/ORB/communication/nodeHelper.java, gnu/testlet/org/omg/CORBA/ORB/communication/nodeHolder.java, gnu/testlet/org/omg/CORBA/ORB/communication/ourUserException.java, gnu/testlet/org/omg/CORBA/ORB/communication/ourUserExceptionHelper.java, gnu/testlet/org/omg/CORBA/ORB/communication/returnThisHolder.java, gnu/testlet/org/omg/CORBA/ORB/communication/passThisHelper.java, gnu/testlet/org/omg/CORBA/ORB/communication/returnThis.java, gnu/testlet/org/omg/CORBA/ORB/communication/passThis.java, gnu/testlet/org/omg/CORBA/ORB/communication/_comTesterStub.java: New CORBA test server. 2005-05-18 David Gilbert * gnu/testlet/java/awt/GradientPaint/constructors.java: new tests; * gnu/testlet/java/awt/GradientPaint/equals.java: new tests; * gnu/testlet/java/awt/GradientPaint/getColor1.java: new tests; * gnu/testlet/java/awt/GradientPaint/getColor2.java: new tests; * gnu/testlet/java/awt/GradientPaint/getPoint1.java: new tests; * gnu/testlet/java/awt/GradientPaint/getPoint2.java: new tests; * gnu/testlet/java/awt/GradientPaint/getTransparency.java: new tests; * gnu/testlet/java/awt/GradientPaint/isCyclic.java: new tests. 2005-05-17 David Gilbert * gnu/testlet/java/text/DecimalFormat/format.java: added checks for null and non-Number arguments. * gnu/testlet/java/text/SimpleDateFormat/parse.java: added checks for null arguments, and bug 13058. 2005-05-16 David Gilbert * gnu/testlet/java/awt/Color/constants.java: new tests; * gnu/testlet/java/awt/Color/constructors.java: new tests; * gnu/testlet/java/awt/Color/decode.java: new tests; * gnu/testlet/java/awt/Color/equals.java: new tests; * gnu/testlet/java/awt/Color/getBlue.java: new tests; * gnu/testlet/java/awt/Color/getGreen.java: new tests; * gnu/testlet/java/awt/Color/getRed.java: new tests; * gnu/testlet/java/awt/Color/hashCode.java: new tests; * gnu/testlet/java/awt/Color/serialization.java: new tests; 2005-05-16 Brion Vibber * gnu/testlet/java/net/URI/URITest.java (test): Added regression tests. 2005-05-16 Tom Tromey * choose: Handle '..' in Uses lines better. 2005-05-16 Ziga Mahkovec * gnu/testlet/java/util/regex/Pattern/pcrematches.java, gnu/testlet/java/util/regex/Pattern/testdata1, gnu/testlet/java/util/regex/Pattern/testdata2, gnu/testlet/java/util/regex/Pattern/testdata3: New files. 2005-05-09 David Daney * gnu/testlet/java/util/BitSet/Get.java: New file. 2005-05-05 David Gilbert * gnu/testlet/java/lang/Integer/decode.java: new tests; 2005-05-03 David Gilbert * gnu/testlet/javax/swing/plaf/ColorUIResource/constructors.java: new tests; * gnu/testlet/javax/swing/plaf/ColorUIResource/equals.java: new tests; * gnu/testlet/javax/swing/plaf/ColorUIResource/serialization.java: new tests; 2005-04-29 Sven de Marothy * gnu/testlet/java/io/Utf8Encoding/mojo.java (negative): Expect replacement char. 2005-04-29 Thomas Zander * build.xml: Don't compile classpath specific tests in the ant target since; well that can't work. 2005-04-28 David Gilbert * gnu/testlet/java/text/DateFormat/hashCode.java: new test; * gnu/testlet/java/text/DecimalFormat/hashCode.java: new test; 2005-04-28 David Gilbert * gnu/testlet/java/util/Collections/unmodifiableList.java: new test. 2005-04-28 Michael Koch * gnu/testlet/javax/swing/JComboBox/MutableTest1.java, gnu/testlet/javax/swing/JComboBox/MutableTest2.java, gnu/testlet/javax/swing/JComboBox/SimpleSelectionTest.java: Cleaned up mauve tags. 2005-04-28 Michael Koch * gnu/testlet/java/beans/Beans/instantiate_1.java, gnu/testlet/java/beans/Introspector/getBeanInfo.java, gnu/testlet/java/beans/Introspector/getBeanInfo2.java, gnu/testlet/java/beans/Introspector/getBeanInfo2_2.java, gnu/testlet/java/beans/XMLDecoder/jdk14.java: Cleaned up usage of mauve tags. 2005-04-28 Michael Koch * gnu/testlet/java/util/ArrayList/subList.java, gnu/testlet/java/util/LinkedList/subList.java, gnu/testlet/java/util/Vector/subList.java: Added the needed Uses tags. 2005-04-28 Michael Koch * gnu/testlet/javax/swing/table/DefaultTableModel/addColumn.java, gnu/testlet/javax/swing/table/DefaultTableModel/convertToVector.java, gnu/testlet/javax/swing/text/html/parser/ParserDelegator/Text.java: Added the needed Uses tags. 2005-04-28 Michael Koch * gnu/testlet/javax/swing/table/DefaultTableColumnModel/addColumn.java, gnu/testlet/javax/swing/table/DefaultTableColumnModel/addColumnModelListener.java, gnu/testlet/javax/swing/table/DefaultTableColumnModel/getColumnModelListeners.java, gnu/testlet/javax/swing/table/DefaultTableColumnModel/getListeners.java, gnu/testlet/javax/swing/table/DefaultTableColumnModel/moveColumn.java, gnu/testlet/javax/swing/table/DefaultTableColumnModel/setColumnMargin.java: Added needed Uses tags. 2005-04-25 Mark Wielaard * gnu/testlet/java/io/BufferedReader/mark.java: New test. 2005-04-24 David Gilbert * gnu/testlet/javax/swing/table/DefaultTableColumnModel/addColumn.java: new tests; * gnu/testlet/javax/swing/table/DefaultTableColumnModel/ addColumnModelListener.java: new tests; * gnu/testlet/javax/swing/table/DefaultTableColumnModel/ constructor.java: new tests; * gnu/testlet/javax/swing/table/DefaultTableColumnModel/getColumn.java: new tests; * gnu/testlet/javax/swing/table/DefaultTableColumnModel/ getColumnCount.java: new tests; * gnu/testlet/javax/swing/table/DefaultTableColumnModel/ getColumnIndex.java: new tests; * gnu/testlet/javax/swing/table/DefaultTableColumnModel/ getColumnIndexAt.java: new tests; * gnu/testlet/javax/swing/table/DefaultTableColumnModel/ getColumnMargin.java: new tests; * gnu/testlet/javax/swing/table/DefaultTableColumnModel/ getColumnModelListeners.java: new tests; * gnu/testlet/javax/swing/table/DefaultTableColumnModel/ getColumns.java: new tests; * gnu/testlet/javax/swing/table/DefaultTableColumnModel/ getColumnSelectionAllowed.java: new tests; * gnu/testlet/javax/swing/table/DefaultTableColumnModel/ getListeners.java: new tests; * gnu/testlet/javax/swing/table/DefaultTableColumnModel/ getSelectedColumnCount.java: new tests; * gnu/testlet/javax/swing/table/DefaultTableColumnModel/ getSelectionModel.java: new tests; * gnu/testlet/javax/swing/table/DefaultTableColumnModel/ moveColumn.java: new tests; * gnu/testlet/javax/swing/table/DefaultTableColumnModel/ MyListener.java: new support file; * gnu/testlet/javax/swing/table/DefaultTableColumnModel/ setColumnMargin.java: new tests; * gnu/testlet/javax/swing/table/DefaultTableColumnModel/ setColumnSelectionAllowed.java: new tests; * gnu/testlet/javax/swing/table/DefaultTableColumnModel/ setSelectionModel.java: new tests; 2005-04-24 David Gilbert * gnu/testlet/java/math/BigInteger/setBit.java: new tests. 2005-04-14 David Gilbert * gnu/testlet/java/awt/image/IndexColorModel/constructors.java: new file; * gnu/testlet/java/awt/image/IndexColorModel/getAlpha.java: new file; * gnu/testlet/java/awt/image/IndexColorModel/getAlphas.java: new file; * gnu/testlet/java/awt/image/IndexColorModel/getBlue.java: new file; * gnu/testlet/java/awt/image/IndexColorModel/getBlues.java: new file; * gnu/testlet/java/awt/image/IndexColorModel/getColorSpace.java: new file; * gnu/testlet/java/awt/image/IndexColorModel/getComponentSize.java: new file; * gnu/testlet/java/awt/image/IndexColorModel/getGreen.java: new file; * gnu/testlet/java/awt/image/IndexColorModel/getGreens.java: new file; * gnu/testlet/java/awt/image/IndexColorModel/getPixelSize.java: new file; * gnu/testlet/java/awt/image/IndexColorModel/getRed.java: new file; * gnu/testlet/java/awt/image/IndexColorModel/getReds.java: new file; * gnu/testlet/java/awt/image/IndexColorModel/getTransparency.java: new file; * gnu/testlet/java/awt/image/IndexColorModel/getTransparentPixel.java: new file; * gnu/testlet/java/awt/image/IndexColorModel/isValid.java: new file; 2005-04-11 David Gilbert * gnu/testlet/java/util/List/subList.java: new file; * gnu/testlet/java/util/ArrayList/subList.java: new file; * gnu/testlet/java/util/LinkedList/subList.java: new file; * gnu/testlet/java/util/Vector/subList.java: new file. 2005-04-11 Jeroen Frijters * gnu/testlet/java/nio/channels/FileChannel/map.java: New test. 2005-04-11 Jeroen Frijters * gnu/testlet/java/beans/EventHandler/check.java, gnu/testlet/java/beans/EventHandler/check14b.java, gnu/testlet/java/beans/EventHandler/check14c.java: Added work around to make code compile with Jikes. 2005-04-01 Tom Tromey * gnu/testlet/javax/xml/parsers/DocumentBuilder/parseSimpleXML.java: Added "Uses". 2005-03-29 Guilhem Lavaux * gnu/testlet/java/nio/channels/SocketChannel/select.java: New test for selection sockets. 2005-03-21 Jeroen Frijters * gnu/testlet/java/lang/Class/newInstance.java: Added test. 2005-03-21 Jeroen Frijters * gnu/testlet/java/lang/reflect/Field/promotion.java: New test. 2005-03-21 Sven de Marothy * gnu/testlet/java/util/Calendar/ampm.java: Remove bad out-of-range checkTime() tests. 2005-03-21 Sven de Marothy * gnu/testlet/java/util/Calendar/set.java: Explicitly set Calendar locale to Locale.FRANCE. 2005-03-17 Audrius Meskauskas * gnu/testlet/javax/xml/parsers/DocumentBuilder/ parseSimpleXML.java, gnu/testlet/javax/xml/parsers/DocumentBuilder/ Verifyer.java: New test. 2005-03-13 David Gilbert * gnu/testlet/java/text/DecimalFormat.applyLocalizedPattern.java: New file; * gnu/testlet/java/text/DecimalFormat/applyPattern.java: New file; * gnu/testlet/java/text/DecimalFormat/clone.java: New file; * gnu/testlet/java/text/DecimalFormat/constructors.java: New file; * gnu/testlet/java/text/DecimalFormat/equals.java (test) added more checks; * gnu/testlet/java/text/DecimalFormat/format.java: moved existing tests into testGeneral() method and added new tests in testRounding() and testMiscellaneous(); * gnu/testlet/java/text/DecimalFormat/ formatToCharacterIterator.java: New file; * gnu/testlet/java/text/DecimalFormat/getCurrency.java: New file; * gnu/testlet/java/text/DecimalFormat/ getDecimalFormatSymbols.java: New file; * gnu/testlet/java/text/DecimalFormat/getGroupingSize.java: New file; * gnu/testlet/java/text/DecimalFormat/getMultiplier.java: New file; * gnu/testlet/java/text/DecimalFormat/getNegativePrefix.java: New file; * gnu/testlet/java/text/DecimalFormat/getNegativeSuffix.java: New file; * gnu/testlet/java/text/DecimalFormat/getPositivePrefix.java: New file; * gnu/testlet/java/text/DecimalFormat/getPositiveSuffix.java: New file; * gnu/testlet/java/text/DecimalFormat/ isDecimalSeparatorAlwaysShown.java: New file; * gnu/testlet/java/text/DecimalFormat/setCurrency.java: New file; * gnu/testlet/java/text/DecimalFormat/ setDecimalFormatSymbols.java: New file; * gnu/testlet/java/text/DecimalFormat/ setDecimalSeparatorAlwaysShown.java: New file; * gnu/testlet/java/text/DecimalFormat/setGroupingSize.java: New file; * gnu/testlet/java/text/DecimalFormat/setMultiplier.java: New file; * gnu/testlet/java/text/DecimalFormat/setNegativePrefix.java: New file; * gnu/testlet/java/text/DecimalFormat/setNegativeSuffix.java: New file; * gnu/testlet/java/text/DecimalFormat/setPositivePrefix.java: New file; * gnu/testlet/java/text/DecimalFormat/setPositiveSuffix.java: New file; * gnu/testlet/java/text/DecimalFormat/topattern.java (test): pass modified 'dfs' back to 'df'; * gnu/testlet/java/text/DecimalFormat/toLocalizedPattern.java: New file; * gnu/testlet/java/text/DecimalFormat/toPattern.java: New file; 2005-03-12 Audrius Meskauskas * gnu/testlet/gnu/javax/swing/text/html/parser/ support/Parser/supplementaryNotifications.java, gnu/testlet/gnu/javax/swing/text/html/parser/ support/Parser/Parser_Test.java, gnu/testlet/gnu/javax/swing/text/html/parser/ support/Parser/TagElement_Test.java, gnu/testlet/gnu/javax/swing/text/html/parser/ support/Parser/HTML_randomTable.java, gnu/testlet/gnu/javax/swing/text/html/parser/ support/Parser/parameterDefaulter_Test.java, gnu/testlet/gnu/javax/swing/text/html/parser/ support/Parser/Text.java, gnu/testlet/gnu/javax/swing/text/html/parser/ support/Parser/Token_locations.java, gnu/testlet/gnu/javax/swing/text/html/parser/ support/Parser/textPreProcessor_Test.java, gnu/testlet/gnu/javax/swing/text/html/parser/ support/Parser/Element_Test.java, gnu/testlet/gnu/javax/swing/text/html/parser/ support/Parser/ParserTest.java, gnu/testlet/gnu/javax/swing/text/html/parser/ support/Parser/Entity_Test.java, gnu/testlet/gnu/javax/swing/text/html/parser/ support/Parser/HTML_Test.java, gnu/testlet/gnu/javax/swing/text/html/parser/ support/Parser/DTD_test.java, gnu/testlet/gnu/javax/swing/text/html/parser/ support/Parser/ParserEntityResolverTest.java, gnu/testlet/gnu/javax/swing/text/html/parser/ support/Parser/HTML_parsing.java, gnu/testlet/gnu/javax/swing/text/html/parser/ support/Parser/AttributeList_test.java, gnu/testlet/gnu/javax/swing/text/html/parser/ support/low/ReaderTokenizer/ReaderTokenizer_Test.java, gnu/testlet/gnu/javax/swing/text/html/parser/ support/low/Constants/Constants_Test.java, gnu/testlet/gnu/javax/swing/text/html/parser/ support/low/Buffer/Buffer_Test.java: New tests, test the Classpath specific implementation. * gnu/testlet/gnu/javax/swing/text/html/parser/ support/Parser/TestCase.java: New helper class. 2005-03-11 Jeroen Frijters * gnu/testlet/java/lang/Class/newInstance.java: New tests. * gnu/testlet/java/lang/Class/pkg/test1.java, gnu/testlet/java/lang/Class/pkg/test2.java, gnu/testlet/java/lang/Class/pkg/test3.java, gnu/testlet/java/lang/Class/pkg/test4.java: New support classes. 2005-03-11 Roman Kennke * gnu/testlet/java/awt/Component/properties.java: Added descriptive messages. Fixed 'font' property check. 2005-03-11 Dalibor Topic * gnu/testlet/java/io/FileInputStream/fileinputstream.java: Fixed typo. 2005-03-11 Robert Schuster * gnu/testlet/java/beans/EventHandler/check14c.java: New tests. 2005-03-10 Robert Schuster * gnu/testlet/java/beans/EventHandler/check14.java: Added more subtests and documentation. * gnu/testlet/java/beans/EventHandler/check14b.java: New tests. * gnu/testlet/java/beans/EventHandler/check14c.java: New tests, was check14.java. 2005-03-10 Robert Schuster * gnu/testlet/java/beans/EventHandler/check.java: Removed file, will be added as check14c.java again. 2005-03-10 Dalibor Topic * gnu/testlet/java/io/RandomAccessFile/randomaccessfile.java: New test. 2005-03-10 Dalibor Topic * gnu/testlet/java/io/FileOutputStream/fileoutputstream.java: New test. 2005-03-10 Dalibor Topic * gnu/testlet/java/io/FileInputStream/fileinputstream.java: New test. 2005-03-09 Robert Schuster * gnu/testlet/java/lang/reflect/Proxy/check13.java: New test. 2005-03-09 Robert Schuster * gnu/testlet/java/beans/EventHandler/check.java: Added new tests and try-catch-blocks for known problems. * gnu/testlet/java/beans/EventHandler/check14.java: Added new tests. 2005-03-08 David Daney * gnu/testlet/java/io/BufferedInputStream/MarkReset.java (marktest): Two testcases added for PR libgcj/20389. 2005-03-08 Robert Schuster * gnu/testlet/java/beans/EventHandler/check.java: New test. * gnu/testlet/java/beans/EventHandler/check14.java: Added new test. 2005-03-07 David Gilbert * gnu/testlet/java/awt/Font/serialization.java: New test. 2005-03-07 David Gilbert * gnu/testlet/java/util/StringTokenizer/constructors.java: New tests. * gnu/testlet/java/util/StringTokenizer/countTokens.java: Likewise. * gnu/testlet/java/util/StringTokenizer/hasMoreElements.java: Likewise. * gnu/testlet/java/util/StringTokenizer/hasMoreTokens.java: Likewise. * gnu/testlet/java/util/StringTokenizer/nextElement.java: Likewise. * gnu/testlet/java/util/StringTokenizer/nextToken.java: Additional tests. 2005-03-07 David Gilbert * gnu/testlet/java/awt/Font/decode.java: New tests. * gnu/testlet/java/util/StringTokenizer/nextToken.java: New tests. 2005-03-03 Jeroen Frijters * gnu/testlet/java/io/DataInputStream/readLine.java: Restructured and added more tests. 2005-03-03 Jeroen Frijters * gnu/testlet/java/lang/InheritableThreadLocal/simple.java: New test. 2005-03-02 Daniel Bonniot * gnu/testlet/java/io/Serializable/ParentReadResolve.java: New test. * gnu/testlet/java/io/Serializable/ParentWriteReplace.java: New test. 2005-03-01 Ito Kazumitsu * gnu/testlet/java/text/DecimalFormat/parse.java: New test cases. 2005-02-27 Audrius Meskauskas * gnu/testlet/java/util/TreeSet/basic.java: New test. 2005-02-24 Audrius Meskauskas * gnu/testlet/javax/swing/JTextArea/text.java: New test case. * gnu/testlet/javax/swing/JTextArea/gettingText.java: New test. 2005-02-24 Audrius Meskauskas * gnu/testlet/javax/swing/JFrame/paint5.java: New test. 2005-02-24 Audrius Meskauskas * gnu/testlet/javax/swing/Timer/preparatory.java: New test. * gnu/testlet/javax/swing/Timer/basic.java: New test. 2005-02-23 Audrius Meskauskas * gnu/testlet/javax/swing/JComboBox/basic.java: New test. * gnu/testlet/javax/swing/JComboBox/listenerList.java: New test. 2005-02-22 Audrius Meskauskas * gnu/testlet/javax/swing/JToggleButton/click.java: New test. 2005-02-22 Thomas Fitzsimmons * gnu/testlet/java/awt/Component/clickModifiers.java: New test. 2005-02-21 Audrius Meskauskas * gnu/testlet/javax/swing/JTextArea/text.java: new test 2005-02-21 Bryce McKinlay * batch_run: Remove mention of JLS1.0, JLS1.2, and JAVA2 tags. * choose: Likewise. * gnu/testlet/java/lang/Boolean/BooleanTest.java, gnu/testlet/java/lang/Byte/ByteTest.java, gnu/testlet/java/lang/Character/CharacterTest.java, gnu/testlet/java/lang/Class/ClassTest.java, gnu/testlet/java/lang/Cloneable/CloneableTest.java, gnu/testlet/java/lang/Double/DoubleTest.java, gnu/testlet/java/lang/Float/FloatTest.java, gnu/testlet/java/lang/Integer/IntegerTest.java, gnu/testlet/java/lang/Long/LongTest.java, gnu/testlet/java/lang/Math/MathTest.java, gnu/testlet/java/lang/Number/NumberTest.java, gnu/testlet/java/lang/Object/ObjectTest.java, gnu/testlet/java/lang/Object/clone.java, gnu/testlet/java/lang/Object/oom.java, gnu/testlet/java/lang/Object/wait.java, gnu/testlet/java/lang/Short/ShortTest.java, gnu/testlet/java/lang/String/StringTest.java, gnu/testlet/java/lang/StringBuffer/StringBufferTest.java, gnu/testlet/java/util/AbstractCollection/AcuniaAbstractCollectionTest.java, gnu/testlet/java/util/AbstractCollection/AcuniaAddCollectionTest.java, gnu/testlet/java/util/AbstractList/AcuniaAbstractListTest.java, gnu/testlet/java/util/AbstractMap/AcuniaAbstractMapTest.java, gnu/testlet/java/util/AbstractSequentialList/AcuniaAbstractSequentialListTest.java, gnu/testlet/java/util/AbstractSet/AcuniaAbstractSetTest.java, gnu/testlet/java/util/ArrayList/AcuniaArrayListTest.java, gnu/testlet/java/util/ArrayList/serial.java, gnu/testlet/java/util/BitSet/AcuniaBitSetTest.java, gnu/testlet/java/util/HashMap/AcuniaHashMapTest.java, gnu/testlet/java/util/Hashtable/AcuniaHashtableTest.java, gnu/testlet/java/util/LinkedList/AcuniaLinkedListTest.java, gnu/testlet/java/util/Properties/AcuniaPropertiesTest.java, gnu/testlet/java/util/Stack/AcuniaStackTest.java, gnu/testlet/java/util/Vector/AcuniaVectorTest.java: Change 'JLS' tags to 'JDK'. 2005-02-21 Thomas Fitzsimmons * gnu/testlet/java/awt/Frame/size1.java: New test. * .cvsignore: Add testfilename.txt. * batch_run (COMPILER_FLAGS): Set to -g -O0 if COMPILER is gcj. (NATIVE): Set to true if COMPILER is gcj. Try to use metacity as window manager. Default to /bin/true if metacity is not found. Add COMPILER_FLAGS to native compilation. * runner: Run with -file option in native case. Elide kill-on-timeout code. * gnu/testlet/TestHarness.java (createRobot): New method. * gnu/testlet/java/awt/Robot/createScreenCapture.java: Use waitForIdle instead of arbitrary delay. * gnu/testlet/java/awt/Robot/getPixelColor.java: Likewise. * gnu/testlet/java/awt/Robot/keyPress.java: Likewise. * gnu/testlet/java/awt/Robot/keyRelease.java: Likewise. * gnu/testlet/java/awt/Robot/mouseMove.java: Likewise. * gnu/testlet/java/awt/Robot/mousePress.java: Likewise. * gnu/testlet/java/awt/Robot/mouseRelease.java: Likewise. * gnu/testlet/java/awt/Robot/mouseWheel.java: Likewise. 2005-02-20 Mark Wielaard * gnu/testlet/java/awt/font/TextAttribute/constants.java: Fix TextAttribute import. 2005-02-20 Mark Wielaard * gnu/testlet/java/text/SimpleDateFormat/applyLocalizedPattern.java: Catch IllegalArgumentException when calling f.applyLocalizedPattern(). 2005-02-19 David Gilbert * gnu/testlet/java/awt/font/TextAttribute/constants.java, gnu/testlet/java/awt/font/TextAttribute/constants13.java, gnu/testlet/java/awt/font/TextAttribute/serialization.java, gnu/testlet/java/awt/font/TextAttribute/toString.java, gnu/testlet/java/awt/font/TextAttribute/toString13.java: New tests. 2005-02-19 David Gilbert * gnu/testlet/java/lang/Float/compareTo.java, gnu/testlet/java/lang/Double/compareTo.java: New tests. 2005-02-19 David Gilbert * gnu/testlet/java/util/Date/after.java, gnu/testlet/java/util/Date/before.java, gnu/testlet/java/util/Date/clone.java, gnu/testlet/java/util/Date/compareTo.java, gnu/testlet/java/util/Date/equals.java, gnu/testlet/java/util/Date/serialization.java: New tests. 2005-02-18 Bryce McKinlay * gnu/testlet/java/util/LinkedHashMap/LinkedHashMapTest: Fix tag typo. 'JLS1.4' -> 'JDK1.4'. 2005-02-18 David Gilbert * gnu/testlet/java/text/DateFormat.equals: New tests; * gnu/testlet/java/text/SimpleDateFormat.equals: Added new check. 2005-02-18 David Gilbert * gnu/testlet/java/util/GregorianCalendar/equals.java: New tests. 2005-02-18 David Gilbert * gnu/testlet/java/awt/font/TransformAttribute/constructor.java, gnu/testlet/java/awt/font/TransformAttribute/getTransform.java, gnu/testlet/java/awt/font/TransformAttribute/isIdentity.java, gnu/testlet/java/awt/font/TransformAttribute/serialization.java: New tests. 2005-02-18 Robert Schuster * gnu/testlet/java/beans/XMLDecoder/jdk14.java: Added new subtest. * gnu/testlet/java/beans/XMLDecoder/DoubleArrayChecker.java: New file. * gnu/testlet/java/beans/XMLDecoder/DecoderTestHelper.java: Added constructor copying name argument to field. * gnu/testlet/java/beans/XMLDecoder/PointArrayChecker.java: Fixed equality check. * gnu/testlet/java/beans/XMLDecoder/data/GrowableDoubleArray.xml, gnu/testlet/java/beans/XMLDecoder/GrowableIntArray2.xml: New testdata. 2005-02-18 Robert Schuster * gnu/testlet/java/nio/charset/Charset/forName.java: Added a subtest. 2005-02-17 Thomas Zander * gnu/testlet/javax/swing/text/html/parser/ParserDelegator/parsingTester.java: rename variable named 'enum' to avoid conflicting with java 1.5 reserved keyword with the same name * gnu/testlet/java/io/ObjectInputStream/ClassLoaderTest.java: Fix the way the inner class was located and fix the class to actually compile on javac 2005-02-16 Bryce McKinlay * gnu/testlet/java/io/ObjectOutputStream/StreamDataTest.java: New test. * gnu/testlet/java/io/ObjectInputStream/ClassLoaderTest.java: New test. 2005-02-16 Mark Wielaard * gnu/testlet/java/nio/charset/Charset/UTF8Charset.java: New test. 2005-02-16 Bryce McKinlay * gnu/testlet/java/lang/Class/serialization.java: Remove stray space from 'Tags'. 2005-02-15 Audrius Meskauskas * gnu/testlet/javax/swing/text/html/parser/ParserDelegator/parsingTester.java: New test on long tandem of subsequent html tags. 2005-02-14 Audrius Meskauskas * gnu/testlet/javax/swing/text/html/parser/ParserDelegator/Text.java: New test. * gnu/testlet/javax/swing/text/html/parser/ParserDelegator/eolnNorification.java: New test. * gnu/testlet/javax/swing/text/html/parser/ParserDelegator/randomTables.java: New test. * gnu/testlet/javax/swing/text/html/parser/ParserDelegator/tokenLocations.java: New test case on position of SGML insertion. * gnu/testlet/javax/swing/text/html/parser/ParserDelegator/parsingTester.java: New test cases with valueless unknown argument and nested tables. 2005-02-13 Thomas Zander * gnu/testlet/javax/swing/KeyStroke/getKeyStroke.java: new test 2005-02-13 Audrius Meskauskas * gnu/testlet/javax/swing/text/html/parser/ParserDelegator/tokenLocations.java * gnu/testlet/javax/swing/text/html/parser/ParserDelegator/parsingTester.java Adding test if the positions of the parsed HTML tokens are reported correctly. 2005-02-12 Mark Wielaard * gnu/testlet/java/awt/BasicStroke/hashCode.java: New test. 2005-02-10 Audrius Meskauskas * gnu/testlet/javax/swing/text/html/parser/ParserDelegator/parsingTester.java Adding HTML parsing tests for JDK 1.3 and 1.4. 2005-02-10 Jeroen Frijters * gnu/testlet/java/lang/ClassLoader/redefine.java: Corrected INNER_NAME. 2005-02-10 Thomas Zander * gnu/testlet/javax/swing/JTabbedPane/Mnemonic.java: new test 2005-02-09 Bryce McKinlay * gnu/testlet/javax/swing/DefaultListModel/MyListDataListener.java: Add 'not-a-test' tag. * gnu/testlet/javax/swing/DefaultListModel/add.java, gnu/testlet/javax/swing/DefaultListModel/addElement.java, gnu/testlet/javax/swing/DefaultListModel/clear.java, gnu/testlet/javax/swing/DefaultListModel/insertElementAt.java, gnu/testlet/javax/swing/DefaultListModel/remove.java, gnu/testlet/javax/swing/DefaultListModel/removeElement.java, gnu/testlet/javax/swing/DefaultListModel/removeElementAt.java, gnu/testlet/javax/swing/DefaultListModel/removeRange.java, gnu/testlet/javax/swing/DefaultListModel/set.java, gnu/testlet/javax/swing/DefaultListModel/setElementAt.java, gnu/testlet/javax/swing/DefaultListModel/setSize.java: Add 'Uses: MyListDataListener' tag. 2005-02-09 Bryce McKinlay * gnu/testlet/java/net/Socket/ServerThread.java: New file. * gnu/testlet/java/net/Socket/jdk12.java: Use ServerThread instead of trying to connect to external server. * gnu/testlet/java/net/Socket/jdk13.java: Likewise. * gnu/testlet/java/net/Socket/jdk14.java: Likewise. 2005-02-08 Tom Tromey * gnu/testlet/java/net/URI/URITest.java (test): Added Classpath regression test. Use 'testOne' method. (testOne): New method. 2005-02-08 Tom Tromey * gnu/testlet/java/io/Serializable/MySerializable.java: Added tag. * gnu/testlet/java/io/Serializable/readResolve.java: Added Uses. 2005-02-08 David Gilbert * gnu/testlet/java/text/SimpleDateFormat/applyPattern.java, gnu/testlet/java/text/SimpleDateFormat/applyLocalizedPattern.java, gnu/testlet/java/text/SimpleDateFormat/toPattern.java, gnu/testlet/java/text/SimpleDateFormat/toLocalizedPattern.java: New tests. 2005-02-08 Timo Lindfors * gnu/testlet/java/util/regex/PatternSplit.java (test): Added Classpath regression test. 2005-02-08 Tom Tromey * gnu/testlet/java/lang/ClassLoader/redefine.java: New file. 2005-02-06 Audrius Meskauskas * gnu/testlet/javax/swing/text/html/HTML/HTML_Test.java, gnu/testlet/javax/swing/text/html/parser/AttributeList/AttributeList_test.java gnu/testlet/javax/swing/text/html/parser/DTD/DTD_test.java, gnu/testlet/javax/swing/text/html/parser/Element/Element_Test.java, gnu/testlet/javax/swing/text/html/parser/Entity/Entity_Test.java, gnu/testlet/javax/swing/text/html/parser/TagElement/TagElement_Test.java: Code optimizations only. 2005-02-07 David Gilbert * gnu/testlet/java/text/SimpleDateFormat/constructors.java, gnu/testlet/java/text/SimpleDateFormat.java: New tests. 2005-02-07 David Gilbert * gnu/testlet/java/io/Serializable/readResolve.java, gnu/testlet/java/io/Serializable/MySerializable.java: New test and support class. 2005-02-07 David Gilbert * gnu/testlet/java/text/DecimalFormat/equals.java: New tests. 2005-02-07 Thomas Zander * gnu/testlet/java/io/FileDescriptor/jdk11.java, gnu/testlet/java/io/FileReader/jdk11.java, gnu/testlet/java/io/FileWriter/jdk11.java, gnu/testlet/java/io/RandomAccessFile/jdk11.java: Remove useless upcast to SimpleTestHarness 2005-02-07 Robert Schuster * gnu/testlet/java/nio/charset/Charset/forName2.java: New test. 2005-02-06 Mark Wielaard Based on a suggestion from Timo Lindfors * gnu/testlet/java/util/regex/Pattern/matches.java: New test. 2005-02-06 Mark Wielaard Based on a suggestion from Amit Jain (amitrjain@hotmail.com) * gnu/testlet/java/lang/String/split.java: New test. 2005-02-06 Audrius Meskauskas * gnu/testlet/javax/swing/text/html/HTML/HTML_Test.java, gnu/testlet/javax/swing/text/html/parser/AttributeList/AttributeList_test.java gnu/testlet/javax/swing/text/html/parser/DTD/DTD_test.java, gnu/testlet/javax/swing/text/html/parser/Element/Element_Test.java, gnu/testlet/javax/swing/text/html/parser/Entity/Entity_Test.java, gnu/testlet/javax/swing/text/html/parser/TagElement/TagElement_Test.java: Changed JDK tag to 1.2. 2005-02-06 Audrius Meskauskas * gnu/testlet/javax/swing/text/html/parser/AttributeList/AttributeList_test.java , gnu/testlet/javax/swing/text/html/parser/DTD/DTD_test.java, gnu/testlet/javax/swing/text/html/parser/Element/Element_Test.java, gnu/testlet/javax/swing/text/html/parser/Entity/Entity_Test.java, gnu/testlet/javax/swing/text/html/parser/TagElement/TagElement_Test.java: New tests. 2005-02-02 David Daney * gnu/testlet/java/net/InetAddress/getByAddress.java: New testcase. 2005-02-02 David Daney * gnu/testlet/java/util/GregorianCalendar/getMinimum.java: New testcase. 2005-02-02 David Daney * gnu/testlet/java/lang/Thread/security10.java: Allow setSecurityManager. 2005-02-02 Andrew John Hughes * gnu/testlet/java/text/SimpleDateFormat/Localization.java: Check that the class properly translates to and from localized pattern strings, and that the constructor only handles non-localized patterns. 2005-02-01 Jeroen Frijters * gnu/testlet/java/beans/Beans/instantiate_1.java: Fixed to use the correct class loader. 2005-01-31 Jeroen Frijters * gnu/testlet/java/lang/Thread/security10.java: Added code to save and restore security manager. 2005-01-28 Bryce McKinlay * gnu/testlet/java/util/Date/getTimezoneOffset.java: New test. * gnu/testlet/java/util/Date/range.java: Remove DOS CRLF chars. * Makefile.in, aclocal.m4, configure: Rebuilt. 2005-01-27 Michael Koch * gnu/testlet/java/util/zip/ZipFile/newZipFile.java: Added new testcase for non-zip files. 2005-01-22 Robert Schuster * gnu/testlet/java/beans/Introspector/getBeanInfoTestClass.java, gnu/testlet/java/beans/Introspector/getBeanInfo2_2TestClass.java, gnu/testlet/java/beans/Introspector/getBeanInfo.java, gnu/testlet/java/beans/Introspector/getBeanInfo2_2.java, gnu/testlet/java/beans/Introspector/getBeanInfo2_2.java: Fixed documentation and mauve tags. 2005-01-22 Robert Schuster * gnu/testlet/java/beans/Beans.java: Fixed JDK Tag. 2005-01-20 Michael Koch * gnu/testlet/javax/swing/text/PlainDocument/multipleLeafs.java: New testcases. 2005-01-20 Andrew John Hughes * gnu/testlet/java/text/DateFormatSymbols/Test: Removed the invalid locale test. 2005-01-18 Thomas Zander * gnu/testlet/javax/swing/JFrame/SetSize.java: New (gui) test 2005-01-18 David Gilbert * gnu/testlet/javax/swing/DefaultListModel/addElement.java, * gnu/testlet/javax/swing/DefaultListModel/add.java, * gnu/testlet/javax/swing/DefaultListModel/capacity.java, * gnu/testlet/javax/swing/DefaultListModel/clear.java, * gnu/testlet/javax/swing/DefaultListModel/constructor.java, * gnu/testlet/javax/swing/DefaultListModel/contains.java, * gnu/testlet/javax/swing/DefaultListModel/copyInto.java, * gnu/testlet/javax/swing/DefaultListModel/elementAt.java, * gnu/testlet/javax/swing/DefaultListModel/elements.java, * gnu/testlet/javax/swing/DefaultListModel/ensureCapacity.java, * gnu/testlet/javax/swing/DefaultListModel/firstElement.java, * gnu/testlet/javax/swing/DefaultListModel/getElementAt.java, * gnu/testlet/javax/swing/DefaultListModel/get.java, * gnu/testlet/javax/swing/DefaultListModel/getSize.java, * gnu/testlet/javax/swing/DefaultListModel/indexOf.java, * gnu/testlet/javax/swing/DefaultListModel/insertElementAt.java, * gnu/testlet/javax/swing/DefaultListModel/isEmpty.java, * gnu/testlet/javax/swing/DefaultListModel/lastElement.java, * gnu/testlet/javax/swing/DefaultListModel/lastIndexOf.java, * gnu/testlet/javax/swing/DefaultListModel/MyListDataListener.java, * gnu/testlet/javax/swing/DefaultListModel/removeAllElements.java, * gnu/testlet/javax/swing/DefaultListModel/removeElementAt.java, * gnu/testlet/javax/swing/DefaultListModel/removeElement.java, * gnu/testlet/javax/swing/DefaultListModel/remove.java, * gnu/testlet/javax/swing/DefaultListModel/removeRange.java, * gnu/testlet/javax/swing/DefaultListModel/setElementAt.java, * gnu/testlet/javax/swing/DefaultListModel/set.java, * gnu/testlet/javax/swing/DefaultListModel/setSize.java, * gnu/testlet/javax/swing/DefaultListModel/size.java, * gnu/testlet/javax/swing/DefaultListModel/toArray.java, * gnu/testlet/javax/swing/DefaultListModel/trimToSize.java: New tests. 2005-01-18 Michael Koch * gnu/testlet/java/util/SimpleTimeZone/constructors.java: Simplified checks for boolean values. 2005-01-18 Michael Koch * gnu/testlet/java/net/URI/URITest.java: New testcases. 2005-01-17 Tom Tromey * gnu/testlet/java/text/MessageFormat/format14.java (test): Added some quoting tests. 2005-01-17 St�phane Meslin-Weber * gnu/testlet/java/reflect/sub/OtherPkg.java, * gnu/testlet/java/reflect/sub/Super.java, * gnu/testlet/java/net/Socket/TestSocketImplFactory.java, * gnu/testlet/java/nio/Buffer/PlainBuffer.java, * gnu/testlet/java/nio/Buffer/WrappedWithOffsetBuffer.java, * gnu/testlet/javax/swing/undo/UndoManager/TestUndoManager.java: Removed 'Tags:' header line from classes not extending Testlet. 2005-01-17 Mark Wielaard * gnu/testlet/java/lang/Class/serialization.java: Add tests for Abstact, Interface, primitive and "tricky" classes. 2005-01-16 David Gilbert * gnu/testlet/java/io/ObjectInputStream/registerValidation.java: New test. 2005-01-16 David Gilbert * gnu/testlet/java/lang/Class/serialization.java: New tests. 2005-01-15 Andrew John Hughes * gnu/testlet/java/text/SimpleDateFormat/Cloning.java: Added a new class with a pair of testcases to test cloning accuracy. 2005-01-14 Tom Tromey * gnu/testlet/java/io/File/URI.java: New file. Modified version of test case from Robin Green. 2005-01-14 Arnaud Vandyck * gnu/testlet/javax/swing/text/StringContent/removeUndo.java: More testcases. 2005-01-14 Arnaud Vandyck * gnu/testlet/javax/swing/text/StringContent/insertUndo.java: More testcases. 2005-01-14 Arnaud Vandyck * gnu/testlet/javax/swing/text/StringContent/stickyPosition.java: New testcases. 2005-01-13 Andrew John Hughes * gnu/testlet/java/text/SimpleDateFormat/parse.java: added test for bug #11583 2005-01-13 Michael Koch * gnu/testlet/java/lang/Thread/security10.java: New testcases. 2005-01-12 Bryn Cooke * gnu/testlet/java/net/URL/URLTest.java: Added new testcases for URLs with given context. 2005-01-12 Michael Koch * gnu/testlet/java/nio/channels/Channels/ChannelsTest.java: New testcases. 2005-01-11 Michael Koch * gnu/testlet/java/net/URL/URLTest.java: Added testcases for URL specs like "/redir?http://domain2.com/index.html". 2005-01-10 Tom Tromey * choose: Allow '//Uses' as well. 2005-01-10 Arnaud Vandyck * gnu/testlet/javax/swing/text/StringContent/stickyPosition.java: New testcases. 2005-01-10 Arnaud Vandyck * gnu/testlet/javax/swing/text/StringContent/StringContentTest.java, gnu/testlet/javax/swing/text/StringContent/BadLocationExceptionTest.java: Updated testcases. 2005-01-09 David Gilbert * gnu/testlet/javax/swing/table/TableColumn/constants.java, * gnu/testlet/javax/swing/table/TableColumn/constructors.java, * gnu/testlet/javax/swing/table/TableColumn/getCellRenderer.java, * gnu/testlet/javax/swing/table/TableColumn/getHeaderRenderer.java, * gnu/testlet/javax/swing/table/TableColumn/getHeaderValue.java, * gnu/testlet/javax/swing/table/TableColumn/getIdentifier.java, * gnu/testlet/javax/swing/table/TableColumn/getModelIndex.java, * gnu/testlet/javax/swing/table/TableColumn/setCellRenderer.java, * gnu/testlet/javax/swing/table/TableColumn/setHeaderRenderer.java, * gnu/testlet/javax/swing/table/TableColumn/setHeaderValue.java, * gnu/testlet/javax/swing/table/TableColumn/setIdentifier.java, * gnu/testlet/javax/swing/table/TableColumn/setMaxWidth.java, * gnu/testlet/javax/swing/table/TableColumn/setMinWidth.java, * gnu/testlet/javax/swing/table/TableColumn/setModelIndex.java, * gnu/testlet/javax/swing/table/TableColumn/setPreferredWidth.java, * gnu/testlet/javax/swing/table/TableColumn/setResizable.java, * gnu/testlet/javax/swing/table/TableColumn/setWidth.java: New tests. 2005-01-09 Thomas Zander * gnu/testlet/javax/swing/UIDefaults/remove.java: New test 2005-01-09 Arnaud Vandyck * gnu/testlet/javax/swing/text/StringContent/BadLocationExceptionTest.java: New file. 2005-01-09 Arnaud Vandyck * gnu/testlet/javax/swing/text/StringContent/StringContentTest.java, gnu/testlet/javax/swing/text/StringContent/insertUndo.java, gnu/testlet/javax/swing/text/StringContent/removeUndo.java, gnu/testlet/javax/swing/text/StringContent/stickyPosition.java: New testcases. 2005-01-09 Michael Koch * gnu/testlet/javax/swing/text/StringContent/insertUndo.java, gnu/testlet/javax/swing/text/StringContent/removeUndo.java, gnu/testlet/javax/swing/text/StringContent/stickyPosition.java: New files. * gnu/testlet/javax/swing/text/StringContent/StringContentTest.java: Updated. 2005-01-09 Andrew John Hughes * gnu/testlet/java/text/NumberFormat/UK.java: (test): Test numbers, integers, currencies and percentiles in the UK locale. (setOptions): helper method to set up the number format instance 2005-01-08 Tom Tromey * gnu/testlet/java/lang/Package/getPackage.java (test): Check whether java.lang has a package. 2005-01-06 Michael Koch * gnu/testlet/javax/swing/text/AbstractDocument/BranchElement/BranchElementTest.java: New testcases. 2005-01-06 Michael Koch * gnu/testlet/javax/swing/text/PlainDocument/PlainDocumentTest.java: Added more testcases. 2005-01-06 Michael Koch * gnu/testlet/java/util/SimpleTimeZone/equals.java: Reformatted to become readable. 2005-01-06 Michael Koch * gnu/testlet/java/util/TimeZone/setID.java: New testcases. 2005-01-05 Tom Tromey * gnu/testlet/java/util/zip/ZipEntry/Size.java: New file. * gnu/testlet/locales/LocaleTest.java: Fixed more Latin-1 characters. 2005-01-04 Thomas Fitzsimmons * batch_run: Allow NATIVE to be set on the command line. Set WM to /bin/true if metacity is not found. * choose: Include GUI tests by default. * choose-classes: Likewise. * gnu/testlet/java/awt/Robot/mouseMove.java: New test. * gnu/testlet/java/awt/Robot/mousePress.java: Likewise. * gnu/testlet/java/awt/Robot/constructors.java: Likewise. * gnu/testlet/java/awt/Robot/createScreenCapture.java: Likewise. * gnu/testlet/java/awt/Robot/getPixelColor.java: Likewise. * gnu/testlet/java/awt/Robot/keyPress.java: Likewise. * gnu/testlet/java/awt/Robot/keyRelease.java: Likewise. * gnu/testlet/java/awt/Robot/mouseRelease.java: Likewise. * gnu/testlet/java/awt/Robot/mouseWheel.java: Likewise. 2005-01-04 David Gilbert * gnu/testlet/javax/swing/table/DefaultTableModel/addColumn.java, * gnu/testlet/javax/swing/table/DefaultTableModel/addRow.java, * gnu/testlet/javax/swing/table/DefaultTableModel/constructors.java, * gnu/testlet/javax/swing/table/DefaultTableModel/convertToVector.java, * gnu/testlet/javax/swing/table/DefaultTableModel/getColumnCount.java, * gnu/testlet/javax/swing/table/DefaultTableModel/getColumnName.java, * gnu/testlet/javax/swing/table/DefaultTableModel/getDataVector.java, * gnu/testlet/javax/swing/table/DefaultTableModel/getRowCount.java, * gnu/testlet/javax/swing/table/DefaultTableModel/getValueAt.java, * gnu/testlet/javax/swing/table/DefaultTableModel/insertRow.java, * gnu/testlet/javax/swing/table/DefaultTableModel/isCellEditable.java, * gnu/testlet/javax/swing/table/DefaultTableModel/moveRow.java, * gnu/testlet/javax/swing/table/DefaultTableModel/MyDefaultTableModel.java, * gnu/testlet/javax/swing/table/DefaultTableModel/MyTableModelListener.java, * gnu/testlet/javax/swing/table/DefaultTableModel/newDataAvailable.java, * gnu/testlet/javax/swing/table/DefaultTableModel/removeRow.java, * gnu/testlet/javax/swing/table/DefaultTableModel/rowsRemoved.java, * gnu/testlet/javax/swing/table/DefaultTableModel/setColumnCount.java, * gnu/testlet/javax/swing/table/DefaultTableModel/setColumnIdentifiers.java, * gnu/testlet/javax/swing/table/DefaultTableModel/setDataVector.java, * gnu/testlet/javax/swing/table/DefaultTableModel/setRowCount.java, * gnu/testlet/javax/swing/table/DefaultTableModel/setValueAt.java: New tests. 2005-01-03 Thomas Fitzsimmons * batch_run: Invoke Xvfb and metacity if GUI key is specified. * choose: Handle GUI tag. * README: Add section on GUI tests. 2005-01-03 Arnaud Vandyck * gnu/testlet/javax/swing/text/StringContent/StringContentTest.java: Reworked. 2005-01-03 Michael Koch * gnu/testlet/java/net/InetAddress/isSiteLocalAddress.java: New testcases. 2005-01-02 Archie Cobbs * README, gnu/testlet/java/net/Socket/TestSocketImplFactory.java, gnu/testlet/SimpleTestHarness.java: Add new flag "-exceptions" to SimpleTestHarness to make it print exception traces. * gnu/testlet/java/net/Socket/TestSocketImplFactory.java: Use exception chaining when re-throwing exceptions. 2005-01-02 Michael Koch * gnu/testlet/javax/swing/text/GapContent/GapContentTest.java: Fixed testcases. 2004-12-31 Jeroen Frijters * gnu/testlet/java/lang/Thread/sleep.java: Minor change to make a JDK 1.5 bug not abort the tests prematurely. 2004-12-31 Mark Wielaard * gnu/testlet/java/lang/Thread/sleep.java: Add tests for (pre) interrupted sleep. 2004-12-31 Jeroen Frijters * gnu/testlet/java/util/Currency/getInstance.java: New test. * gnu/testlet/java/text/DecimalFormatSymbols/getCurrency.java: New test. 2004-12-30 Michael Koch * gnu/testlet/locales/LocaleTest.java: Fixed some expected data and added test data for et_EE (Estonia). 2004-12-30 Archie Cobbs * gnu/testlet/java/lang/Class/init.java: made existing tests more strict and added a few more test cases * gnu/testlet/BinaryCompatibility/foo: put -classpath flag before class name(s) when invoking the Java compiler * gnu/testlet/java/lang/ref/WeakReference/weakref.java, gnu/testlet/java/lang/ref/PhantomReference/phantom.java: create referenced objects in a separate thread to help avoid false negatives in vm's that do conservative scanning of the stack. 2004-12-30 Thomas Zander * gnu/testlet/locales/LocaleTest.java: altered file to all ASCII 2004-12-30 Mark Wielaard * gnu/testlet/java/lang/Thread/sleep.java: New test. 2004-12-30 Michael Koch * gnu/testlet/java/nio/ByteBuffer/compact.java, gnu/testlet/java/nio/CharBuffer/compact.java, gnu/testlet/java/nio/DoubleBuffer/compact.java, gnu/testlet/java/nio/FloatBuffer/compact.java, gnu/testlet/java/nio/IntBuffer/compact.java, gnu/testlet/java/nio/LongBuffer/compact.java, gnu/testlet/java/nio/ShortBuffer/compact.java: New testcases. 2004-12-27 Jeroen Frijters * gnu/testlet/java/nio/ByteBuffer/Allocating.java (test): Fixed arrayOffset check and Removed println() statements. 2004-12-26 Michael Koch * gnu/testlet/java/nio/charset/Charset/encode.java: New testcases. 2004-12-26 Michael Koch * gnu/testlet/java/nio/ByteBuffer/Allocating.java, gnu/testlet/java/nio/ByteBuffer/ByteBufferFactory.java, gnu/testlet/java/nio/ByteBuffer/GetPut.java, gnu/testlet/java/nio/ByteBuffer/Order.java: New testcases. 2004-12-26 Michael Koch * gnu/testlet/javax/imageio/ImageIO/ImageIOTest.java: New testcases. 2004-12-26 Michael Koch * choose, choose-classes: Support 'locales' package. * gnu/testlet/locales/LocaleTest.java: New locale testcases. 2004-12-25 Michael Koch * gnu/testlet/javax/swing/text/TextAction/augmentList.java, gnu/testlet/javax/swing/JTextField/getActions.java, gnu/testlet/javax/swing/text/DefaultEditorKit/getActions.java: New files. 2004-12-25 Michael Koch * gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/DefaultMetalThemeTest.java, gnu/testlet/javax/swing/plaf/metal/MetalTheme/MetalThemeTest.java: New files. 2004-12-24 Mark Wielaard * gnu/testlet/java/util/ResourceBundle/getBundle.java: Add low case locale test. 2004-12-22 Arnaud Vandyck * gnu/testlet/javax/swing/text/StringContent/StringContentTest.java: New file. 2004-12-20 Robert Schuster * gnu/testlet/javax/swing/JComboBox/SimpleSelectionTest.java: New tests mainly for GNU Classpath bug #11255. * gnu/testlet/javax/swing/JComboBox/MutableTest1.java, gnu/testlet/javax/swing/JComboBox/MutableTest2.java: New tests for JComboBox. * gnu/testlet/javax/swing/JComboBox/TestModel1.java: Helper class for SimpleSelectionTest and MutableTest1. * gnu/testlet/javax/swing/JComboBox/TestModel2.java: Helper class for MutableTest2. 2004-12-19 Robert Schuster * gnu/testlet/java/beans/Beans/TestBean1.java * gnu/testlet/java/beans/Beans/TestBean2.java, * gnu/testlet/java/beans/Beans/TestBean3.java, * gnu/testlet/java/beans/Beans/TestBean4.java: Fixed "not-a-test" tag. 2004-12-19 Robert Schuster * gnu/testlet/java/beans/Beans/instantiate_1.java: New tests * gnu/testlet/java/beans/Beans/TestBean1.java * gnu/testlet/java/beans/Beans/TestBean2.java, * gnu/testlet/java/beans/Beans/TestBean3.java, * gnu/testlet/java/beans/Beans/TestBean4.java: Helper classes for above tests. 2004-12-16 Thomas Zander * gnu/testlet/java/lang/Class/ClassTest.java: new test_getResourceAsStream test. 2004-12-12 Robin Green * gnu/testlet/java/util/zip/ZipFile/DirEntryTest.java: New test. 2004-12-12 Thomas Zander * gnu/testlet/javax/swing/JPanel/Layouter.java: New test. 2004-12-07 Jeroen Frijters * gnu/testlet/java/util/Timer/taskException.java: Fixed the test. 2004-12-06 Guilhem Lavaux * gnu/testlet/java/io/ObjectInputOutput/Deserializable.java: New test. 2004-12-06 Jeroen Frijters * gnu/testlet/java/io/BufferedInputStream/ZeroRead.java: New test. 2004-12-06 Jeroen Frijters * gnu/testlet/java/io/ObjectInputOutput/ExtTest.java: New test. 2004-12-03 Jeroen Frijters * gnu/testlet/java/lang/Class/ClassTest.java: A couple more Class.forName tests. * gnu/testlet/java/lang/ref/PhantomReference/phantom.java: Made a little more robust. 2004-12-01 Michael Koch * gnu/testlet/java/net/URLConnection/getHeaderFields.java: New testcases. 2004-11-30 Michael Koch * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getNextPreviousNode.java: New testcases. 2004-11-30 Michael Koch * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getPath.java: New testcases. 2004-11-30 Michael Koch * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/pathFromAncestorEnumeration.java: New testcases. 2004-11-30 Michael Koch * gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/add.java, gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/breadthFirstEnumeration.java, gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/children.java, gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/constructors.java, gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/DefaultMutableTreeNodeTest.java, gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getAllowsChildren.java, gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getChildAfter.java, gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getChildAt.java, gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getChildBefore.java, gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/getChildCount.java, gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/isNodeRelated.java, gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/postorderEnumeration.java, gnu/testlet/javax/swing/tree/DefaultMutableTreeNode/preorderEnumeration.java: New testcases. 2004-11-26 Jeroen Frijters * gnu/testlet/java/io/File/canWrite.java: Explicitly close files after we're done with them. Open files prevent directory deletion on Windows. 2004-11-25 Mark Wielaard * gnu/testlet/java/net/Socket/jdk14.java: Add host name to debug output. 2004-11-22 Noa Resare * gnu/testlet/java/util/Calendar/set.java: New testcases. 2004-11-19 Michael Koch * batch_run: Added gnu.testlet.TestResult and gnu.testlet.TestReport to framework classes. 2004-11-19 Michael Koch * gnu/testlet/java/nio/charset/Charset/forName.java: New testcases. 2004-11-19 Casey Marshall * gnu/testlet/java/util/Timer/taskException.java: New testcase. 2004-11-18 Noa Resare * gnu/testlet/java/util/Calendar/set.java: Explicitly set TimeZone. 2004-11-17 David Daney * gnu/testlet/java/io/BufferedInputStream/Skip.java: New Testcase. 2004-11-17 Noa Resare * gnu/testlet/java/util/Calendar/set.java: New testcase. 2004-11-17 David Gilbert * gnu/testlet/javax/swing/SwingUtilities/computeIntersection.java, gnu/testlet/javax/swing/SwingUtilities/computeUnion.java, gnu/testlet/javax/swing/SwingUtilities/isRectangleContainingRectangle.java: New tests. 2004-11-17 Michael Koch * gnu/testlet/java/net/InetSocketAddress/InetSocketAddressTest.java: Fixed logic of testcase. 2004-11-17 Michael Koch * gnu/testlet/java/net/Socket/SocketTest.java: Make testcase work with SUN JDK too. 2004-11-17 Michael Koch * gnu/testlet/java/net/URL/URLTest.java: Rewrote some testcase and add one new for Classpath bug #10157. 2004-11-17 Michael Koch * gnu/testlet/java/net/InetAddress/IPv6.java: New testcases. 2004-11-15 Michael Koch * configure.in: Change default mail host from '/tmp' (?) to 'mx10.gnu.org'as stated by configure --help. * configure: Regenerated. 2004-11-14 David Gilbert * gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/equals.java: added check for scanlineStride. 2004-11-14 Noa Resare * gnu/testlet/java/text/SimpleDateFormat/parse.java: New tests. 2004-11-11 David Gilbert * gnu/testlet/java/text/SimpleDateFormat/getDateFormatSymbols.java, gnu/testlet/java/text/SimpleDateFormat/setDateFormatSymbols.java: New tests; * gnu/testlet/java/text/DateFormatSymbols/setAmPmStrings.java, gnu/testlet/java/text/DateFormatSymbols/setEras.java, gnu/testlet/java/text/DateFormatSymbols/setMonths.java, gnu/testlet/java/text/DateFormatSymbols/setShortMonths.java, gnu/testlet/java/text/DateFormatSymbols/setShortWeekdays.java, gnu/testlet/java/text/DateFormatSymbols/setZoneStrings.java: New tests. 2004-11-10 Stephen Crawley * gnu/testlet/SimpleTestHarness.java : minor tweak to a diagnostic 2004-11-09 David Gilbert * gnu/testlet/java/awt/AWTKeyStroke/equals.java, gnu/testlet/java/awt/AWTKeyStroke/getAWTKeyStroke.java, gnu/testlet/java/awt/AWTKeyStroke/serialization.java: New tests. 2004-11-08 Robert Schuster gnu/testlet/java/beans/Introspector/getBeanInfo2_2.java: new test gnu/testlet/java/beans/Introspector/getBeanInfo2_2TestClass.java: new helper class for above test 2004-11-07 Robert Schuster Tests for bug #10938: gnu/testlet/java/beans/Introspector/getBeanInfo2.java: new file gnu/testlet/java/beans/Introspector/getBeanInfoTestClass.java: extended documentation for getBeanInfo2 test gnu/testlet/java/beans/Introspector/getBeanInfo.java: unified checkpoint labels 2004-11-07 Robert Schuster Splits tests: * gnu/testlet/java/beans/DescriptorTest.java: removed, replaced by following 3 files * gnu/testlet/java/beans/MethodDescriptor/constructorTest1.java: new file, added documentation, copyright * gnu/testlet/java/beans/EventSetDescriptor/constructorTest1.java: new file, added documentation, copyright * gnu/testlet/java/beans/PropertyDescriptor/constructorTest1.java: new file, added documentation, copyright * gnu/testlet/java/beans/PropertyDescriptorTest.java: removed, replaced by following file * gnu/testlet/java/beans/PropertyDescriptor/constructorTest2.java: added documentation, copyright, fixed indentation 2004-11-07 Noa Resare * gnu/testlet/java/awt/geom/GeneralPath/contains.java: New tests, adapted from java/awt/Polygon/contains.java. 2004-11-07 Andrew John Hughes * gnu/testlet/java/util/Currency/ (Canada.java): New class of tests for the Canadian currency. (CanadaFrench.java): New class of tests for the French Canadian currency. (China.java): New class of tests for the Chinese currency. (Constructors.java): New class of tests for the currency constructors (getInstance()) (France.java): New class of tests for the French currency. (Germany.java): New class of tests for the German currency. (Italy.java): New class of tests for the Italian currency. (Japan.java): New class of tests for the Japanese currency. (Korea.java): New class of tests for the Korean currency. (PRC.java): New class of tests for the People's Republic of China's currency. (ReferenceEquality.java): New class of tests to check that there is only one instance of the Currency class for each locale. (Taiwan.java): New class of tests for the Taiwanese currency. (UK.java): New class of tests for the UK's currency. (US.java): New class of tests for the American currency. 2004-11-07 Robert Schuster Tests for bug #10908 * gnu/testlet/java/beans/Introspector/getBeanInfo.java: New tests * gnu/testlet/java/beans/Introspector/getBeanInfoTestClass.java: Helper class for tests above 2004-11-07 Robert Schuster * gnu/testlet/java/beans/Introspector/jdk12.java: Added documentation, copyright statements and license 2004-11-06 Noa Resare * gnu/testlet/java/util/Calendar/add.java, gnu/testlet/java/util/Calendar/set.java: Add explicit locale to SimpleDateFormat constructor. 2004-11-06 Noa Resare * gnu/testlet/java/util/Calendar/roll.java: Add explicit locale to SimpleDateFormat constructor. 2004-11-05 Noa Resare * gnu/testlet/java/net/DatagramPacket/DatagramPacketTest2.java (invalid_addr): removed tests for invalid address. 2004-11-05 Noa Resare * gnu/testlet/java/lang/Thread/contextClassLoader.java: Wait for threads to finish before continuing. 2004-11-05 Noa Resare * gnu/testlet/BinaryCompatibility/foo: Added explicit -classpath to $JAVA invocation. 2004-11-05 Noa Resare * gnu/testlet/TestResult.java: New file. * gnu/testlet/TestReport.java: New file. * gnu/testlet/SimpleTestHarness.java: added support for xmloutput with the -xmlout option. * Makefile.in: add new files to harness_file. 2004-11-05 Noa Resare * gnu/testlet/java/beans/PropertyEditorSupport/getSource.java: Removed compatibility workaround for 1.4. Marked as JDK1.5 as the getSource() method came then. Change indentation to follow GNUish coding style. 2004-11-03 Stephen Crawley * gnu/testlet/java/util/Vector/VectorSerialization.java: remove spurious "// Uses: Test" - there is no such Java class. 2004-11-02 Guilhem Lavaux * gnu/testlet/java/util/Vector/VectorSerialization.java, gnu/testlet/java/util/Vector/TestVector.ser: New tests. 2004-10-31 David Gilbert * gnu/testlet/java/util/SimpleTimeZone/clone.java, gnu/testlet/java/util/SimpleTimeZone/constants.java, gnu/testlet/java/util/SimpleTimeZone/constructors.java, gnu/testlet/java/util/SimpleTimeZone/equals.java, gnu/testlet/java/util/SimpleTimeZone/getDSTSavings.java, gnu/testlet/java/util/SimpleTimeZone/getOffset.java, gnu/testlet/java/util/SimpleTimeZone/getRawOffset.java, gnu/testlet/java/util/SimpleTimeZone/hashCode.java, gnu/testlet/java/util/SimpleTimeZone/hasSameRules.java, gnu/testlet/java/util/SimpleTimeZone/inDaylightTime.java, gnu/testlet/java/util/SimpleTimeZone/setDSTSavings.java, gnu/testlet/java/util/SimpleTimeZone/setRawOffset.java, gnu/testlet/java/util/SimpleTimeZone/setStartYear.java: New tests. 2004-10-31 David Gilbert * gnu/testlet/java/util/SimpleTimeZone/check12.java, gnu/testlet/java/util/SimpleTimeZone/check14.java: fixed bugs in various checks. 2004-10-31 Robert Schuster * gnu/testlet/java/beans/PropertyEditorSupport/getSource.java: new testcases * gnu/testlet/java/beans/PropertyEditorSupport/setValue.java: new testcases for classpath bug #10799 2004-10-31 Robert Schuster * gnu/testlet/java/beans/XMLDecoder/data/boolean.xml: Fixed comment * gnu/testlet/java/beans/XMLDecoder/data/byte.xml: Fixed comment * gnu/testlet/java/beans/XMLDecoder/data/short.xml: Fixed comment * gnu/testlet/java/beans/XMLDecoder/data/int.xml: Fixed comment * gnu/testlet/java/beans/XMLDecoder/data/long.xml: Fixed comment * gnu/testlet/java/beans/XMLDecoder/data/float.xml: Fixed comment * gnu/testlet/java/beans/XMLDecoder/data/double.xml: Fixed comment * gnu/testlet/java/beans/XMLDecoder/data/simpleElements.xml: Fixed comment * gnu/testlet/java/beans/XMLDecoder/data/intArray.xml: Fixed comment * gnu/testlet/java/beans/XMLDecoder/data/growableIntArray.xml: Fixed comment * gnu/testlet/java/beans/XMLDecoder/data/pointArray.xml: Fixed comment * gnu/testlet/java/beans/XMLDecoder/data/growablePointArray.xml: Fixed comment * gnu/testlet/java/beans/XMLDecoder/data/list.xml: Fixed comment 2004-10-29 Noa Resare * gnu/testlet/java/text/SimpleDateFormat/regress.java: New testcase. 2004-10-28 Michael Koch * gnu/testlet/java/nio/ByteBuffer/direct.java: New testcases. 2004-10-28 David Gilbert * gnu/testlet/java/awt/AWTEvent/constants.java: New test. * gnu/testlet/java/awt/Event/constants.java: Likewise. 2004-10-28 David Gilbert * gnu/testlet/java/net/MessageFormat/format14.java: New test. 2004-10-26 Michael Koch * gnu/testlet/java/net/URLConnection/post.java: New testcase to test for implicit switch to POST method for http connections. 2004-10-25 Tom Tromey * gnu/testlet/java/text/BreakIterator/patho.java: New file. 2004-10-21 Dalibor Topic * gnu/testlet/java/util/zip/InflaterInputStream/basic.java, gnu/testlet/java/util/ResourceBundle/getBundle.java: Fixed imports. 2004-10-21 Tom Tromey * gnu/testlet/java/util/zip/InflaterInputStream/basic.java (test): Added test derived from Eclipse. * gnu/testlet/java/util/zip/InflaterInputStream/messages.properties: New file. 2004-10-20 Tom Tromey * gnu/testlet/java/util/ResourceBundle/getBundle.java (loadCheck): New overload. (test): Added new test. * gnu/testlet/java/util/ResourceBundle/Resource11.properties: New file. * gnu/testlet/java/util/ResourceBundle/Resource11.java: New file. 2004-10-20 Bryce McKinlay * gnu/testlet/java/util/Calendar/set.java: Add tests for setting DAY_OF_MONTH effecting other fields. 2004-10-20 David Gilbert * gnu/testlet/java/awt/geom/Ellipse2D/Float/clone.java: New test. * gnu/testlet/java/awt/geom/Ellipse2D/Float/constructors.java: Likewise. * gnu/testlet/java/awt/geom/Ellipse2D/Float/getBounds2D.java: Likewise. * gnu/testlet/java/awt/geom/Ellipse2D/Float/getHeight.java: Likewise. * gnu/testlet/java/awt/geom/Ellipse2D/Float/getWidth.java: Likewise. * gnu/testlet/java/awt/geom/Ellipse2D/Float/getX.java: Likewise. * gnu/testlet/java/awt/geom/Ellipse2D/Float/getY.java: Likewise. * gnu/testlet/java/awt/geom/Ellipse2D/Float/isEmpty.java: Likewise. * gnu/testlet/java/awt/geom/Ellipse2D/Float/setFrame.java: Likewise. 2004-10-20 David Gilbert * gnu/testlet/java/awt/geom/Ellipse2D/Double/clone.java: New test. * gnu/testlet/java/awt/geom/Ellipse2D/Double/constructors.java: Likewise. * gnu/testlet/java/awt/geom/Ellipse2D/Double/getBounds2D.java: Likewise. * gnu/testlet/java/awt/geom/Ellipse2D/Double/getHeight.java: Likewise. * gnu/testlet/java/awt/geom/Ellipse2D/Double/getWidth.java: Likewise. * gnu/testlet/java/awt/geom/Ellipse2D/Double/getX.java: Likewise. * gnu/testlet/java/awt/geom/Ellipse2D/Double/getY.java: Likewise. * gnu/testlet/java/awt/geom/Ellipse2D/Double/isEmpty.java: Likewise. * gnu/testlet/java/awt/geom/Ellipse2D/Double/setFrame.java: Likewise. 2004-10-20 David Gilbert * gnu/testlet/java/awt/geom/Ellipse2D/contains.java: New test. * gnu/testlet/java/awt/geom/Ellipse2D/intersects.java: Likewise. 2004-10-20 David Gilbert * gnu/testlet/java/awt/Point/clone.java: New test. * gnu/testlet/java/awt/Point/constructors.java: Likewise. * gnu/testlet/java/awt/Point/equals.java: Likewise. * gnu/testlet/java/awt/Point/getLocation.java: Likewise. * gnu/testlet/java/awt/Point/move.java: Likewise. * gnu/testlet/java/awt/Point/setLocation.java: Likewise. * gnu/testlet/java/awt/Point/translate.java: Likewise. 2004-10-20 David Gilbert * gnu/testlet/java/awt/BasicStroke/constants.java: New test. * gnu/testlet/java/awt/BasicStroke/constructors.java: Likewise. * gnu/testlet/java/awt/BasicStroke/equals.java: Likewise. 2004-10-19 Jeroen Frijters * gnu/testlet/java/lang/Object/clone.java: Moved OutOfMemoryError test to new file (oom.java) * gnu/testlet/java/lang/Object/oom.java: New file for OutOfMemoryError test. 2004-10-17 David Gilbert * gnu/testlet/java/awt/geom/Arc2D/Double/clone.java: New test. * gnu/testlet/java/awt/geom/Arc2D/Float/clone.java: Likewise. * gnu/testlet/java/awt/geom/Arc2D/clone.java: Removed. 2004-10-17 Jeroen Frijters * gnu/testlet/java/util/Date/range.java (test): Corrected two reference values. 2004-10-16 Andrew John Hughes * gnu/testlet/javax/swing/SpinnerListModel/ (ArrayModel.java): New class of tests for creating a model from an array (Constructors.java): New class of tests for the model's constructors (ListModel.java): New class of tests for creating a model from a list (Ordering.java): New class of tests for the ordering of elements in a model (SetList.java): New class of tests for setting the list of an existing model 2004-10-15 David Gilbert * gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/ constructors.java: New test. * gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/ createCompatibleSampleModel.java: Likewise. * gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/ createSubsetSampleModel.java: Likewise. * gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/equals.java: Likewise. * gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/ getBitMasks.java: Likewise. * gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/ getBitOffsets.java: Likewise. * gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/ getDataElements.java: Likewise. * gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/ getNumDataElements.java: Likewise. * gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/ getOffset.java: Likewise. * gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/ getPixel.java: Likewise. * gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/ getPixels.java: Likewise. * gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/ getSample.java: Likewise. * gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/ getSamples.java: Likewise. * gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/ getScanlineStride.java: Likewise. * gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/ hashCode.java: Likewise. * gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/ setDataElements.java: Likewise. * gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/ setPixel.java: Likewise. * gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/ setSample.java: Likewise. 2004-10-15 David Gilbert * gnu/testlet/java/lang/Double/parseDouble.java: New tests. * gnu/testlet/java/lang/Double/valueOf.java: Likewise. * gnu/testlet/java/lang/Float/parseFloat.java: Likewise. * gnu/testlet/java/lang/Float/valueOf.java: Likewise. 2004-10-15 Sven de Marothy * gnu/testlet/java/nio/ByteBuffer/putDouble.java: New test. 2004-10-15 Robert Schuster * gnu/testlet/java/beans/XMLDecoder/jdk14.java: New testcase set * gnu/testlet/java/beans/XMLDecoder/EqualityChecker.java: Support class for test case * gnu/testlet/java/beans/XMLDecoder/IntArrayChecker.java: Dito * gnu/testlet/java/beans/XMLDecoder/PointArrayChecker.java: Dito * gnu/testlet/java/beans/XMLDecoder/DecoderTestHelper.java: Dito * gnu/testlet/java/beans/XMLDecoder/data/boolean.xml: Data file for test * gnu/testlet/java/beans/XMLDecoder/data/byte.xml: Data file for test * gnu/testlet/java/beans/XMLDecoder/data/short.xml: Data file for test * gnu/testlet/java/beans/XMLDecoder/data/int.xml: Data file for test * gnu/testlet/java/beans/XMLDecoder/data/long.xml: Data file for test * gnu/testlet/java/beans/XMLDecoder/data/float.xml: Data file for test * gnu/testlet/java/beans/XMLDecoder/data/double.xml: Data file for test * gnu/testlet/java/beans/XMLDecoder/data/simpleElements.xml: Data file for test * gnu/testlet/java/beans/XMLDecoder/data/intArray.xml: Data file for test * gnu/testlet/java/beans/XMLDecoder/data/growableIntArray.xml: Data file for test * gnu/testlet/java/beans/XMLDecoder/data/pointArray.xml: Data file for test * gnu/testlet/java/beans/XMLDecoder/data/growablePointArray.xml: Data file for test * gnu/testlet/java/beans/XMLDecoder/data/list.xml: Data file for test 2004-10-15 Michael Koch * gnu/testlet/javax/imageio/spi/IIORegistry/getDefaultInstance.java: New testcase. 2004-10-15 Michael Koch * gnu/testlet/java/lang/reflect/sub/InvokeHelper.java: Tagged as "not-a-test". 2004-10-15 Michael Koch * gnu/testlet/java/nio/charset/Charset/utf16.java: New testcase. 2004-10-15 Michael Koch * gnu/testlet/java/util/GregorianCalendar/getMinimalDaysInFirstWeek.java: New testcase from David Gilbert. 2004-10-14 Michael Koch * gnu/testlet/java/lang/reflect/Method/invoke.java: Added "Uses: ../sub/InvokeHelper". 2004-10-14 Michael Koch * choose, choose-classes: Make it less strict about "Tags:" in testcases. 2004-10-14 Michael Koch * .cvsignore: Ignore SImpleTestHarness (generated when compiling to native). 2004-10-14 Michael Koch * gnu/testlet/java/net/InetAddress/InetAddressTest.java: Made output more nice. 2004-10-13 Michael Koch * gnu/testlet/java/awt/image/ByteLookupTable/lookupPixel.java, gnu/testlet/java/awt/image/ShortLookupTable/lookupPixel.java: Overwrite with David Gilbert's versions. 2004-10-13 Michael Koch * gnu/testlet/java/awt/image/ByteLookupTable/lookupPixel.java gnu/testlet/java/awt/image/ShortLookupTable/lookupPixel.java: Two new testcases. 2004-10-13 Michael Koch * gnu/testlet/java/lang/reflect/Method/toString.java: Added some more testcases. 2004-10-13 Michael Koch * gnu/testlet/java/net/InetAddress/getCanonicalHostName.java: New testcase. 2004-10-12 Jeroen Frijters * gnu/testlet/java/util/Date/range.java: New test. 2004-10-10 Andreas Tobler * gnu/testlet/java/sql/Timestamp/TimestampTest.java: Set default TimeZone before the tests. 2004-10-08 Bryce McKinlay * gnu/testlet/java/util/Calendar/set.java: New test. * gnu/testlet/java/util/TimeZone/setDefault.java: New test. 2004-09-29 Tom Tromey * gnu/testlet/java/util/Properties/AcuniaPropertiesTest.java (test_loadextra): Handle "ents" case properly. Updated explanation. 2004-09-23 David Daney * gnu/testlet/java/net/URL/URLTest.java: Add tests for getUserInfo(). 2004-09-22 Mark Wielaard * gnu/testlet/java/io/FileDescriptor/jdk11.java: Add harness.debug() for thrown exception. 2004-09-21 David Gilbert * gnu/testlet/java/util/Collections/binarySearch.java: Add more generic tests for ArrayList, LinkedList and Vector. 2004-09-21 Tom Tromey * gnu/testlet/java/util/Properties/AcuniaPropertiesTest.java (test_loadextra): Leading whitespace doesn't matter. 2004-09-20 David Gilbert * gnu/testlet/java/util/Collections/binarySearch.java: New test. 2004-09-19 David Gilbert * gnu/testlet/java/util/Collections/copy.java: New test. * gnu/testlet/java/util/Collections/fill.java: Likewise. * gnu/testlet/java/util/Collections/max.java: Likewise. * gnu/testlet/java/util/Collections/min.java: Likewise. * gnu/testlet/java/util/Collections/nCopies.java: Likewise. * gnu/testlet/java/util/Collections/reverse.java: Likewise. * gnu/testlet/java/util/Collections/reverseOrder.java: Likewise. * gnu/testlet/java/util/Collections/rotate.java: Likewise. 2004-09-19 David Gilbert * gnu/testlet/java/math/BigInteger/abs.java: New test. * gnu/testlet/java/math/BigInteger/add.java: Likewise. * gnu/testlet/java/math/BigInteger/compareTo.java: Likewise. * gnu/testlet/java/math/BigInteger/divide.java: Likewise. * gnu/testlet/java/math/BigInteger/equals.java: Likewise. * gnu/testlet/java/math/BigInteger/multiply.java: Likewise. * gnu/testlet/java/math/BigInteger/serialization.java: Likewise. * gnu/testlet/java/math/BigInteger/signum.java: Likewise. * gnu/testlet/java/math/BigInteger/toString.java: Likewise. * gnu/testlet/java/math/BigInteger/valueOf.java: Likewise. 2004-09-19 David Gilbert * gnu/testlet/java/util/TreeMap/serialization.java: New test. 2004-09-19 David Gilbert * gnu/testlet/java/awt/geom/Rectangle2D/Double/clone.java: New test. * gnu/testlet/java/awt/geom/Rectangle2D/Double/createIntersection.java: Likwise. * gnu/testlet/java/awt/geom/Rectangle2D/Double/createUnion.java: Likwise. * gnu/testlet/java/awt/geom/Rectangle2D/Double/isEmpty.java: Likwise. * gnu/testlet/java/awt/geom/Rectangle2D/Double/outcode.java: Likwise. * gnu/testlet/java/awt/geom/Rectangle2D/Double/setRect.java: Likwise. * gnu/testlet/java/awt/geom/Rectangle2D/Float/clone.java: New test. * gnu/testlet/java/awt/geom/Rectangle2D/Float/createIntersection.java: Likwise. * gnu/testlet/java/awt/geom/Rectangle2D/Float/createUnion.java: Likwise. * gnu/testlet/java/awt/geom/Rectangle2D/Float/isEmpty.java: Likwise. * gnu/testlet/java/awt/geom/Rectangle2D/Float/outcode.java: Likwise. * gnu/testlet/java/awt/geom/Rectangle2D/Float/setRect.java: Likwise. 2004-09-19 David Gilbert * gnu/testlet/java/awt/geom/Rectangle2D/add.java: New test. * gnu/testlet/java/awt/geom/Rectangle2D/constants.java: Likewise. * gnu/testlet/java/awt/geom/Rectangle2D/contains.java: Likewise. * gnu/testlet/java/awt/geom/Rectangle2D/equals.java: Likewise. * gnu/testlet/java/awt/geom/Rectangle2D/getBounds2D.java: Likewise. * gnu/testlet/java/awt/geom/Rectangle2D/intersect.java: Likewise. * gnu/testlet/java/awt/geom/Rectangle2D/intersects.java: Likewise. * gnu/testlet/java/awt/geom/Rectangle2D/intersectsLine.java: Likewise. * gnu/testlet/java/awt/geom/Rectangle2D/setFrame.java: Likewise. 2004-09-19 David Gilbert * gnu/testlet/java/awt/geom/RectangularShape/contains.java: New test. * gnu/testlet/java/awt/geom/RectangularShape/getBounds.java: Ditto. * gnu/testlet/java/awt/geom/RectangularShape/getCenterX.java: Ditto. * gnu/testlet/java/awt/geom/RectangularShape/getCenterY.java: Ditto. * gnu/testlet/java/awt/geom/RectangularShape/getFrame.java: Ditto. * gnu/testlet/java/awt/geom/RectangularShape/getMaxX.java: Ditto. * gnu/testlet/java/awt/geom/RectangularShape/getMaxY.java: Ditto. * gnu/testlet/java/awt/geom/RectangularShape/getMinX.java: Ditto. * gnu/testlet/java/awt/geom/RectangularShape/getMinY.java: Ditto. * gnu/testlet/java/awt/geom/RectangularShape/intersects.java: Ditto. * gnu/testlet/java/awt/geom/RectangularShape/isEmpty.java: Ditto. * gnu/testlet/java/awt/geom/RectangularShape/setFrame.java: Ditto. * gnu/testlet/java/awt/geom/RectangularShape/setFrameFromCenter.java: Ditto. * gnu/testlet/java/awt/geom/RectangularShape/setFrameFromDiagonal.java: Ditto. 2004-09-19 David Gilbert * gnu/testlet/java/lang/Math/max.java: Test all different signs for 0. * gnu/testlet/java/lang/Math/min.java: Likewise. 2004-09-18 David Gilbert * gnu/testlet/java/awt/image/DataBufferByte/getDataType.java: Clean up imports. * gnu/testlet/java/awt/image/DataBufferByte/getElem.java: Likewise. Add testGetElem1() and testGetElem2() tests. * gnu/testlet/java/awt/image/DataBufferDouble/getDataType.java: Clean up imports. * gnu/testlet/java/awt/image/DataBufferDouble/getElem.java: Likewise. Add testGetElem1() and testGetElem2() tests. * gnu/testlet/java/awt/image/DataBufferFloat/getElem.java: Likewise. * gnu/testlet/java/awt/image/DataBufferInt/getDataType.java Clean up imports. * gnu/testlet/java/awt/image/DataBufferInt/getElem.java: Likewise. Add testGetElem1() and testGetElem2() tests. * gnu/testlet/java/awt/image/DataBufferShort/getDataType.java: Clean up imports. * gnu/testlet/java/awt/image/DataBufferShort/getElem.java: Likewise. Add testGetElem1() and testGetElem2() tests. * gnu/testlet/java/awt/image/DataBufferUShort/getDataType.java: Clean up imports. * gnu/testlet/java/awt/image/DataBufferUShort/getElem.java: Likewise. Add testGetElem1() and testGetElem2() tests. * gnu/testlet/java/awt/image/DataBuffer/getOffset.java: New test. * gnu/testlet/java/awt/image/DataBuffer/getOffsets.java: Likewise. * gnu/testlet/java/awt/image/DataBufferByte/constructors.java: Likewise. * gnu/testlet/java/awt/image/DataBufferByte/getBankData.java: Likewise. * gnu/testlet/java/awt/image/DataBufferByte/getData.java: Likewise. * gnu/testlet/java/awt/image/DataBufferByte/setElem.java: Likewise. * gnu/testlet/java/awt/image/DataBufferDouble/constructors.java: Likewise. * gnu/testlet/java/awt/image/DataBufferDouble/getBankData.java: Likewise. * gnu/testlet/java/awt/image/DataBufferDouble/getData.java: Likewise. * gnu/testlet/java/awt/image/DataBufferDouble/setElem.java: Likewise. * gnu/testlet/java/awt/image/DataBufferFloat/constructors.java: Likewise. * gnu/testlet/java/awt/image/DataBufferFloat/getBankData.java: Likewise. * gnu/testlet/java/awt/image/DataBufferFloat/getData.java: Likewise. * gnu/testlet/java/awt/image/DataBufferFloat/setElem.java: Likewise. * gnu/testlet/java/awt/image/DataBufferInt/constructors.java: Likewise. * gnu/testlet/java/awt/image/DataBufferInt/getBankData.java: Likewise. * gnu/testlet/java/awt/image/DataBufferInt/getData.java: Likewise. * gnu/testlet/java/awt/image/DataBufferInt/setElem.java: Likewise. * gnu/testlet/java/awt/image/DataBufferShort/constructors.java: Likewise. * gnu/testlet/java/awt/image/DataBufferShort/getBankData.java: Likewise. * gnu/testlet/java/awt/image/DataBufferShort/getData.java: Likewise. * gnu/testlet/java/awt/image/DataBufferShort/setElem.java: Likewise. * gnu/testlet/java/awt/image/DataBufferUShort/constructors.java: Likewise. * gnu/testlet/java/awt/image/DataBufferUShort/getBankData.java: Likewise. * gnu/testlet/java/awt/image/DataBufferUShort/getData.java: Likewise. * gnu/testlet/java/awt/image/DataBufferUShort/setElem.java: Likewise. 2004-09-18 David Gilbert * gnu/testlet/java/awt/geom/Area/add.java: New test. * gnu/testlet/java/awt/geom/Area/clone.java: Likewise. * gnu/testlet/java/awt/geom/Area/constructors.java: Likewise. * gnu/testlet/java/awt/geom/Area/contains.java: Likewise. * gnu/testlet/java/awt/geom/Area/createTransformedArea.java: Likewise. * gnu/testlet/java/awt/geom/Area/equals.java: Likewise. * gnu/testlet/java/awt/geom/Area/exclusiveOr.java: Likewise. * gnu/testlet/java/awt/geom/Area/getBounds.java: Likewise. * gnu/testlet/java/awt/geom/Area/getBounds2D.java: Likewise. * gnu/testlet/java/awt/geom/Area/intersect.java: Likewise. * gnu/testlet/java/awt/geom/Area/intersects.java: Likewise. * gnu/testlet/java/awt/geom/Area/isEmpty.java: Likewise. * gnu/testlet/java/awt/geom/Area/isPolygonal.java: Likewise. * gnu/testlet/java/awt/geom/Area/isRectangular.java: Likewise. * gnu/testlet/java/awt/geom/Area/isSingular.java: Likewise. * gnu/testlet/java/awt/geom/Area/reset.java: Likewise. * gnu/testlet/java/awt/geom/Area/subtract.java: Likewise. * gnu/testlet/java/awt/geom/Area/transform.java: Likewise. 2004-09-01 Tom Tromey * gnu/testlet/java/lang/reflect/sub/InvokeHelper.java: New file. * gnu/testlet/java/lang/reflect/Method/invoke.java (private_method): New method. (p): New method. (test): Try to invoke new methods. (getDeclaredMethod): New method. 2004-08-27 David Gilbert * gnu/testlet/java/util/Arrays/asList.java: New tests. * gnu/testlet/java/util/Arrays/binarySearch.java: Likewise. * gnu/testlet/java/util/Arrays/fill.java: Likewise. * gnu/testlet/java/util/Arrays/equals.java (testBoolean): New test. (testByte): Likewise. (testChar): Likewise. (testDouble): Likewise. (testFloat): Likewise. (testInt): Likewise. (testLong): Likewise. (testObject): Likewise. (testShort): Likewise. * gnu/testlet/java/util/Arrays/sort.java (testByte): New test. (testChar): Likewise. (testDouble): likewise. (testFloat): Likewise. (testInt): Likewise. (testLong): Likewise. (testObject): Likewise. (testShort): Likewise. 2004-08-27 David Gilbert * gnu/testlet/java/lang/Double/compare.java: New test. * gnu/testlet/java/lang/Float/compare.java: New test. 2004-08-27 David Gilbert * gnu/testlet/java/awt/RenderingHints/add.java: New test. * gnu/testlet/java/awt/RenderingHints/clear.java: Likewise. * gnu/testlet/java/awt/RenderingHints/clone.java: Likewise. * gnu/testlet/java/awt/RenderingHints/constructors.java: Likewise. * gnu/testlet/java/awt/RenderingHints/containsKey.java: Likewise. * gnu/testlet/java/awt/RenderingHints/containsValue.java: Likewise. * gnu/testlet/java/awt/RenderingHints/entrySet.java: Likewise. * gnu/testlet/java/awt/RenderingHints/equals.java: Likewise. * gnu/testlet/java/awt/RenderingHints/get.java: Likewise. * gnu/testlet/java/awt/RenderingHints/isEmpty.java: Likewise. * gnu/testlet/java/awt/RenderingHints/keySet.java: Likewise. * gnu/testlet/java/awt/RenderingHints/put.java: Likewise. * gnu/testlet/java/awt/RenderingHints/putAll.java: Likewise. * gnu/testlet/java/awt/RenderingHints/remove.java: Likewise. * gnu/testlet/java/awt/RenderingHints/size.java: Likewise. * gnu/testlet/java/awt/RenderingHints/values.java: Likewise. * gnu/testlet/java/awt/RenderingHints/Key/isCompatibleValue.java: Likewise. 2004-08-27 David Gilbert * gnu/testlet/java/awt/Polygon/contains.java: New test. 2004-08-27 David Gilbert * gnu/testlet/java/awt/geom/AffineTransform/clone.java: New test. * gnu/testlet/java/awt/geom/AffineTransform/concatenate.java: Likewise. * gnu/testlet/java/awt/geom/AffineTransform/constants.java: Likewise. * gnu/testlet/java/awt/geom/AffineTransform/constructors.java: Likewise. * gnu/testlet/java/awt/geom/AffineTransform/createInverse.java: Likewise. * gnu/testlet/java/awt/geom/AffineTransform/createTransformedShape.java: Likewise. * gnu/testlet/java/awt/geom/AffineTransform/deltaTransform.java: Likewise. * gnu/testlet/java/awt/geom/AffineTransform/equals.java: Likewise. * gnu/testlet/java/awt/geom/AffineTransform/getDeterminant.java: Likewise. * gnu/testlet/java/awt/geom/AffineTransform/getMatrix.java: Likewise. * gnu/testlet/java/awt/geom/AffineTransform/getRotateInstance.java: Likewise. * gnu/testlet/java/awt/geom/AffineTransform/getScaleInstance.java: Likewise. * gnu/testlet/java/awt/geom/AffineTransform/getShearInstance.java: Likewise. * gnu/testlet/java/awt/geom/AffineTransform/getTranslateInstance.java: Likewise. * gnu/testlet/java/awt/geom/AffineTransform/inverseTransform.java: Likewise. * gnu/testlet/java/awt/geom/AffineTransform/isIdentity.java: Likewise. * gnu/testlet/java/awt/geom/AffineTransform/preConcatenate.java: Likewise. * gnu/testlet/java/awt/geom/AffineTransform/setTransform.java: Likewise. * gnu/testlet/java/awt/geom/AffineTransform/transform.java: Likewise. 2004-08-27 David Gilbert * gnu/testlet/java/awt/image/DataBuffer/constants.java: New test. * gnu/testlet/java/awt/image/DataBuffer/getDataTypeSize.java: Likewise. 2004-08-27 Mark Wielaard Reported by David Gilbert * gnu/testlet/java/awt/image/DataBufferFloat/getDataType.java: Tags 1.4. * gnu/testlet/java/awt/image/DataBufferFloat/getElem.java: Likewise. 2004-08-14 Mark Wielaard Reported by David Gilbert * gnu/testlet/java/awt/image/Kernel/check.java: Set package to gnu.testlet.java.awt.image.Kernel. Make sure data1 is always initialized. 2004-08-13 Bryce McKinlay * gnu/testlet/java/net/InetAddress/getByName.java: New test. * gnu/testlet/java/net/InetAddress/getAllByName.java: New test. * gnu/testlet/java/net/InetAddress/getLocalhost.java: New test. 2004-08-12 Stephen Crawley * configure.in : added --with-mailhost option * Makefile.in : ditto * aclocal.m4 : regenerated * configure : ditto * README : documented the new configure option * gnu/testlet/config.java.in : added new config attribute & getter for the selected mailhost * gnu/testlet/SimpleTestHarness.java : added new config getter * gnu/testlet/java/net/Socket/SocketTest.java : use selected mailhost * gnu/testlet/java/net/Socket/jdk12.java : ditto * gnu/testlet/java/net/Socket/jdk13.java : ditto * gnu/testlet/java/net/Socket/jdk14.java : ditto 2004-08-12 David Gilbert * gnu/testlet/java/awt/Rectangle/add.java: New test. * gnu/testlet/java/awt/Rectangle/clone.java: Likewise. * gnu/testlet/java/awt/Rectangle/contains.java: Likewise. * gnu/testlet/java/awt/Rectangle/equals.java: Likewise. * gnu/testlet/java/awt/Rectangle/grow.java: Likewise. * gnu/testlet/java/awt/Rectangle/intersection.java: Likewise. * gnu/testlet/java/awt/Rectangle/intersects.java: Likewise. * gnu/testlet/java/awt/Rectangle/isEmpty.java: Likewise. * gnu/testlet/java/awt/Rectangle/outcode.java: Likewise. * gnu/testlet/java/awt/Rectangle/setBounds.java: Likewise. * gnu/testlet/java/awt/Rectangle/setLocation.java: Likewise. * gnu/testlet/java/awt/Rectangle/setRect.java: Likewise. * gnu/testlet/java/awt/Rectangle/setSize.java: Likewise. * gnu/testlet/java/awt/Rectangle/translate.java: Likewise. * gnu/testlet/java/awt/Rectangle/union.java: Likewise. 2004-08-09 David Gilbert * gnu/testlet/java/awt/geom/Arc2D/clone.java: New test. * gnu/testlet/java/awt/geom/Arc2D/constants.java: Likewise. * gnu/testlet/java/awt/geom/Arc2D/constructors.java: Likewise. * gnu/testlet/java/awt/geom/Arc2D/contains.java: Likewise. * gnu/testlet/java/awt/geom/Arc2D/containsAngle.java: Likewise. * gnu/testlet/java/awt/geom/Arc2D/equals.java: Likewise. * gnu/testlet/java/awt/geom/Arc2D/getBounds2D.java: Likewise. * gnu/testlet/java/awt/geom/Arc2D/getEndPoint.java: Likewise. * gnu/testlet/java/awt/geom/Arc2D/getPathIterator.java: Likewise. * gnu/testlet/java/awt/geom/Arc2D/getStartPoint.java: Likewise. * gnu/testlet/java/awt/geom/Arc2D/intersects.java: Likewise. * gnu/testlet/java/awt/geom/Arc2D/isEmpty.java: Likewise. * gnu/testlet/java/awt/geom/Arc2D/setAngleExtent.java: Likewise. * gnu/testlet/java/awt/geom/Arc2D/setAngleStart.java: Likewise. * gnu/testlet/java/awt/geom/Arc2D/setAngles.java: Likewise. * gnu/testlet/java/awt/geom/Arc2D/setArc.java: Likewise. * gnu/testlet/java/awt/geom/Arc2D/setArcByCenter.java: Likewise. * gnu/testlet/java/awt/geom/Arc2D/setArcByTangent.java: Likewise. * gnu/testlet/java/awt/geom/Arc2D/setArcType.java: Likewise. * gnu/testlet/java/awt/geom/Arc2D/setFrame.java: Likewise. 2004-08-09 David Gilbert * gnu/testlet/java/awt/Dimension/clone.java: New test. * gnu/testlet/java/awt/Dimension/constructors.java: Likewise. * gnu/testlet/java/awt/Dimension/equals.java: Likewise. * gnu/testlet/java/awt/Dimension/getSize.java: Likewise. * gnu/testlet/java/awt/Dimension/setSize.java: Likewise. 2004-08-06 Tom Tromey * gnu/testlet/java/awt/image/Kernel/check.java (test): Always pass argument to getKernelData. Use "=", not "==". 2004-08-06 David Gilbert * gnu/testlet/java/awt/geom/Line2D/linesIntersect.java: Add tests for zero length lines at same point and segments share end point. 2004-08-06 David Gilbert * gnu/testlet/java/awt/geom/Line2D/clone.java: New test. * gnu/testlet/java/awt/geom/Line2D/contains.java: Likewise. * gnu/testlet/java/awt/geom/Line2D/equals.java: Likewise. * gnu/testlet/java/awt/geom/Line2D/getBounds.java: Likewise. * gnu/testlet/java/awt/geom/Line2D/getP1.java: Likewise. * gnu/testlet/java/awt/geom/Line2D/getP2.java: Likewise. * gnu/testlet/java/awt/geom/Line2D/getPathIterator.java: Likewise. * gnu/testlet/java/awt/geom/Line2D/intersects.java: Likewise. * gnu/testlet/java/awt/geom/Line2D/intersectsLine.java: Likewise. * gnu/testlet/java/awt/geom/Line2D/ptLineDist.java: Likewise. * gnu/testlet/java/awt/geom/Line2D/ptLineDistSq.java: Likewise. * gnu/testlet/java/awt/geom/Line2D/ptSegDist.java: Likewise. * gnu/testlet/java/awt/geom/Line2D/ptSegDistSq.java: Likewise. * gnu/testlet/java/awt/geom/Line2D/relativeCCW.java: Likewise. * gnu/testlet/java/awt/geom/Line2D/setLine.java: Likewise. 2004-08-06 Sven de Marothy * gnu/testlet/java/awt/geom/Line2D/linesIntersect.java: New test. 2004-07-18 Mark Wielaard * gnu/testlet/java/lang/Class/init.java: Allow early initialization of inner class and interface. 2004-07-18 Stephen Crawley * gnu/testlet/java/awt/Choice/getSelected.java: Tweaked to avoid uncaught NullPointerExceptions when getSelectedObjects() returns null * gnu/testlet/java/beans/EventHandler/check14.java : removed 'Uses:' marker comment for a non-existent class. * gnu/testlet/java/nio/Buffer/PlainBufferTest.java : ditto * gnu/testlet/java/nio/Buffer/WrappedWithOffsetBufferTest : ditto 2004-07-16 Michael Koch * gnu/testlet/java/nio/channels/FileChannel/manyopen.java: Fixed off-by-one error in cleanup. 2004-07-16 Michael Koch * gnu/testlet/java/beans/EventHandler/check14.java, gnu/testlet/java/nio/Buffer/PlainBufferTest.java, gnu/testlet/java/nio/Buffer/WrappedWithOffsetBufferTest.java, gnu/testlet/java/util/logging/Logger/getLogger.java: Fixed for native compilation with gcj CVS HEAD. 2004-07-15 Bryce McKinlay * gnu/testlet/java/sql/Timestamp/TimestampTest.java: New toString() and equals() tests. 2004-07-14 Jerry Quinn * gnu/testlet/java/awt/image/Kernel/check.java (test): New test. 2004-07-13 Jerry Quinn * gnu/testlet/java/beans/EventHandler/check14.java (test): New test. 2004-07-08 Stephen Crawley * gnu/testlet/java/nio/channels/FileChannel/manyopen.java : Don't call the GC after each iteration. If the VM under test pays attention, it just makes the test SLOW. 2004-07-04 Mark Wielaard * gnu/testlet/java/awt/Choice/getSelected.java: New test. 2004-07-04 Mark Wielaard * gnu/testlet/java/beans/Expression/check.java: Add extra debug. 2004-06-29 Stephen Crawley * gnu/testlet/java/util/GregorianCalendar/conversion.java: New file 2004-06-28 Anthony Green * gnu/testlet/java/util/zip/ZipFile/NoEntryTest.java: Fix comment. 2004-06-25 Mark Wielaard * gnu/testlet/java/io/File/security.java: Allow RuntimePermission shutdownhook check. There must be at least one File root. 2004-06-25 Mark Wielaard * gnu/testlet/java/io/FileReader/jdk11.java: Don't depend on the choices file being present. 2004-06-24 Jerry Quinn * gnu/testlet/java/beans/Expression/check.java: New test. 2004-06-23 Max Gilead * gnu/testlet/java/nio/Buffer/PlainBufferTest.java, gnu/testlet/java/nio/Buffer/WrappedWithOffsetBufferTest.java: Made sure exception-based tests fail properly. 2004-06-23 Michael Koch * gnu/testlet/javax/swing/text/GapContent/GapContentTest.java, gnu/testlet/javax/swing/text/PlainDocument/PlainDocumentTest.java, gnu/testlet/javax/swing/text/AbstractDocument/AbstractDocumentTest.java: New files. 2004-06-21 Ito kazumitsu * gnu/testlet/java/text/MessageFormat/format.java: Add some tests. 2004-06-20 Jerry Quinn * gnu/testlet/java/beans/Statement/check.java: New test. 2004-06-09 Anthony Green * gnu/testlet/java/util/zip/ZipFile/NoEntryTest.java: New test. 2004-06-06 Jerry Quinn * gnu/testlet/java/util/SimpleTimeZone/check14.java: Fix uses of SimpleTimeZone.getOffset. 2004-06-05 Jerry Quinn * gnu/testlet/java/util/zip/ZipEntry/time.java: New test. 2004-06-03 Max Gilead * gnu/testlet/java/awt/geom/CubicCurve2D/getFlatness.java, gnu/testlet/java/awt/geom/CubicCurve2D/getFlatnessSq.java, gnu/testlet/java/awt/geom/FlatteningPathIterator/getWindingRule.java, gnu/testlet/java/awt/geom/GeneralPath/append_PathIterator.java, gnu/testlet/java/awt/geom/QuadCurve2D/getFlatness.java, gnu/testlet/java/awt/geom/QuadCurve2D/getFlatnessSq.java, gnu/testlet/java/awt/geom/RoundRectangle2D/contains.java, gnu/testlet/java/awt/geom/RoundRectangle2D/intersects.java, gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/getSampleSize.java, gnu/testlet/java/io/BufferedOutputStream/helper.java, gnu/testlet/java/io/File/newFile.java, gnu/testlet/java/io/File/security.java, gnu/testlet/java/io/FileOutputStream/jdk12.java, gnu/testlet/java/io/FileReader/jdk11.java, gnu/testlet/java/io/FileWriter/jdk11.java, gnu/testlet/java/io/FilterWriter/MyFilterWriter.java, gnu/testlet/java/io/FilterWriter/write.java, gnu/testlet/java/io/ObjectInputOutput/Compat2.java, gnu/testlet/java/io/ObjectStreamClass/ProxyTest.java, gnu/testlet/java/io/ObjectStreamClass/Test.java, gnu/testlet/java/io/RandomAccessFile/jdk11.java, gnu/testlet/java/lang/Class/reflect2.java, gnu/testlet/java/lang/Number/NewNumber.java, gnu/testlet/java/lang/StringBuffer/plus.java, gnu/testlet/java/lang/reflect/Method/toString.java, gnu/testlet/java/net/DatagramPacket/DatagramPacketTest2.java, gnu/testlet/java/net/DatagramSocket/DatagramSocketTest.java, gnu/testlet/java/net/DatagramSocket/DatagramSocketTestEchoServer.java, gnu/testlet/java/net/DatagramSocket/DatagramSocketTestEchoTimeoutServer.java, gnu/testlet/java/net/MulticastSocket/MulticastClient.java, gnu/testlet/java/net/MulticastSocket/MulticastServer.java, gnu/testlet/java/net/ServerSocket/BasicBacklogSocketServer.java, gnu/testlet/java/net/ServerSocket/BasicSocketServer.java, gnu/testlet/java/net/ServerSocket/MyBasicSocketServer.java, gnu/testlet/java/net/ServerSocket/MyServerSocket.java, gnu/testlet/java/net/Socket/SocketBServer.java, gnu/testlet/java/net/Socket/SocketServer.java, gnu/testlet/java/net/URL/MyURLStreamHandler.java, gnu/testlet/java/net/URL/URLTest.java, gnu/testlet/java/net/URLClassLoader/getResource.java, gnu/testlet/java/net/URLClassLoader/getResourceBase.java, gnu/testlet/java/net/URLClassLoader/getResourceRemote.java, gnu/testlet/java/net/URLConnection/MyHttpURLConnection.java, gnu/testlet/java/net/URLEncoder/URLEncoderTest.java, gnu/testlet/java/nio/channels/FileChannel/manyopen.java, gnu/testlet/java/security/DigestInputStream/readMD5.java, gnu/testlet/java/security/Provider/NameVersionInfo.java, gnu/testlet/java/security/Security/property.java, gnu/testlet/java/sql/DatabaseMetaData/TestJdbc.java, gnu/testlet/java/text/ChoiceFormat/format.java, gnu/testlet/java/text/CollationElementIterator/jdk11.java, gnu/testlet/java/text/CollationElementIterator/offset.java, gnu/testlet/java/text/MessageFormat/attribute.java, gnu/testlet/java/text/ParsePosition/Test.java, gnu/testlet/java/util/ResourceBundle/Resource1.java, gnu/testlet/java/util/ResourceBundle/Resource10_en.java, gnu/testlet/java/util/ResourceBundle/Resource2_en.java, gnu/testlet/java/util/ResourceBundle/Resource3_bo.java, gnu/testlet/java/util/ResourceBundle/Resource4.java, gnu/testlet/java/util/ResourceBundle/Resource4_en.java, gnu/testlet/java/util/ResourceBundle/Resource4_en_CA.java, gnu/testlet/java/util/ResourceBundle/Resource4_jp.java, gnu/testlet/java/util/ResourceBundle/Resource4_jp_JA.java, gnu/testlet/java/util/ResourceBundle/Resource4_jp_JA_WIN.java, gnu/testlet/java/util/ResourceBundle/Resource4_jp_JA_WIN_95.java, gnu/testlet/java/util/ResourceBundle/Resource5.java, gnu/testlet/java/util/ResourceBundle/Resource5_en.java, gnu/testlet/java/util/ResourceBundle/Resource5_en_CA.java, gnu/testlet/java/util/ResourceBundle/Resource5_jp.java, gnu/testlet/java/util/ResourceBundle/Resource5_jp_JA.java, gnu/testlet/java/util/ResourceBundle/Resource5_jp_JA_WIN.java, gnu/testlet/java/util/ResourceBundle/Resource6.java, gnu/testlet/java/util/ResourceBundle/Resource6_en.java, gnu/testlet/java/util/ResourceBundle/Resource6_en_CA.java, gnu/testlet/java/util/ResourceBundle/Resource6_jp.java, gnu/testlet/java/util/ResourceBundle/Resource6_jp_JA.java, gnu/testlet/java/util/ResourceBundle/Resource7.java, gnu/testlet/java/util/ResourceBundle/Resource7_en.java, gnu/testlet/java/util/ResourceBundle/Resource7_en_CA.java, gnu/testlet/java/util/ResourceBundle/Resource7_jp.java, gnu/testlet/java/util/ResourceBundle/Resource8.java, gnu/testlet/java/util/ResourceBundle/Resource8_en.java, gnu/testlet/java/util/ResourceBundle/Resource8_en_CA.java, gnu/testlet/java/util/ResourceBundle/Resource9_en.java, gnu/testlet/java/util/ResourceBundle/Resource9_en_CA.java, gnu/testlet/java/util/jar/JarFile/basic.java, gnu/testlet/java/util/jar/JarInputStream/getNextEntry.java, gnu/testlet/java/util/logging/Handler/TestHandler.java, gnu/testlet/java/util/logging/Handler/isLoggable.java, gnu/testlet/java/util/logging/Level/getName.java, gnu/testlet/java/util/logging/Level/intValue.java, gnu/testlet/java/util/logging/Level/toString.java, gnu/testlet/java/util/logging/SocketHandler/SocketCapturer.java, gnu/testlet/java/util/logging/SocketHandler/getFilter.java, gnu/testlet/java/util/regex/TestHelper.java, gnu/testlet/java/util/zip/GZIPInputStream/basic.java, gnu/testlet/java/util/zip/InflaterInputStream/basic.java, gnu/testlet/java/util/zip/ZipInputStream/basic.java, gnu/testlet/java/util/zip/ZipInputStream/close.java, gnu/testlet/javax/imageio/spi/IIOServiceProvider/TestProvider.java, gnu/testlet/javax/imageio/spi/ImageInputStreamSpi/TestProvider.java, gnu/testlet/javax/imageio/spi/ImageOutputStreamSpi/TestProvider.java, gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi/TestProvider.java, gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi/getExtraImageMetadataFormatNames.java, gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi/getExtraStreamMetadataFormatNames.java, gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi/getFileSuffixes.java, gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi/getFormatNames.java, gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi/getMIMETypes.java, gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi/getNativeImageMetadataFormatName.java, gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi/getNativeStreamMetadataFormatName.java, gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi/getPluginClassName.java, gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi/isStandardImageMetadataFormatSupported.java, gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi/isStandardStreamMetadataFormatSupported.java, gnu/testlet/javax/imageio/spi/ImageTranscoderSpi/TestProvider.java, gnu/testlet/javax/swing/JLabel/Icon.java, gnu/testlet/javax/swing/JLabel/Mnemonic.java, gnu/testlet/javax/swing/undo/CompoundEdit/canRedo.java, gnu/testlet/javax/swing/undo/CompoundEdit/canUndo.java, gnu/testlet/javax/swing/undo/UndoManager/editToBeRedone.java, gnu/testlet/javax/swing/undo/UndoManager/editToBeUndone.java, gnu/testlet/javax/swing/undo/UndoManager/trimEdits.java, gnu/testlet/javax/swing/undo/UndoableEditSupport/beginUpdate.java, gnu/testlet/javax/swing/undo/UndoableEditSupport/createCompoundEdit.java gnu/testlet/javax/swing/undo/UndoableEditSupport/getUpdateLevel.java: Reworked import statements and removed dead code. 2004-05-23 Stephen Crawley * gnu/testlet/java/net/MulticastSocket/MulticastServer.java: Fixed bad indentation etc. * gnu/testlet/java/lang/reflect/Array/newInstance.java: Add harness.debug calls to diagnose unexpected exceptions. 2004-05-28 Max Gilead * gnu/testlet/java/nio/Buffer/BufferFactory.java, gnu/testlet/java/nio/Buffer/ByteBufferTest.java, gnu/testlet/java/nio/Buffer/CharBufferTest.java, gnu/testlet/java/nio/Buffer/DoubleBufferTest.java, gnu/testlet/java/nio/Buffer/FloatBufferTest.java, gnu/testlet/java/nio/Buffer/IntBufferTest.java, gnu/testlet/java/nio/Buffer/LongBufferTest.java, gnu/testlet/java/nio/Buffer/PlainBufferTest.java, gnu/testlet/java/nio/Buffer/ShortBufferTest.java, gnu/testlet/java/nio/Buffer/WrappedWithOffsetBufferTest.java: New testcases. 2004-05-28 Max Gilead * gnu/testlet/TestHarness.java (check): New method. 2004-05-28 Michael Koch * .cvsignore: Ingore more files. 2004-05-28 Michael Koch * runner, batch_run: Fixed shell variable usage. 2004-05-26 Michael Koch * gnu/testlet/BinaryCompatibility/.cvsignore: Ignore the right files. 2004-05-26 Michael Koch * batch_run: Don't set KEYS and COMPILER if already set. * runner: Don't set RUNTIME if already set. 2004-05-23 Stephen Crawley * gnu/testlet/java/text/CollationElementIterator/jdk11.java: Ooops ... a bug in my little app for converting ruleset strings gave me a broken ruleset. 2004-05-23 Stephen Crawley * gnu/testlet/java/text/CollationElementIterator/jdk11.java: Use a hardwired "en_us" collation ruleset (from JDK 1.4) rather than the ruleset in the Locale. We are trying to test the collation element iterator not the ruleset. (And the Classpath "en_us" locale's ruleset is thoroughly broken at the moment ...) 2004-05-21 Jerry Quinn * gnu/testlet/java/util/SimpleTimeZone/check12.java: Fix test to correctly use getOffset. Add testcase for PR libgcj/8321. 2004-05-19 Mark Wielaard * gnu/testlet/java/lang/Class/init.java: New test. 2004-05-16 Guilhem Lavaux * gnu/testlet/java/text/CollationElementIterator/offset.java: New test to check the get/setOffset() abilities of CollationElementIterator. 2004-05-16 Mark Wielaard * gnu/testlet/java/net/Socket/TestSocketImplFactory.java: Make constructor public. 2004-05-16 Mark Wielaard * gnu/testlet/java/io/Writer/Test.java: Add test for null lock. 2004-05-13 Guilhem Lavaux * gnu/testlet/java/text/RuleBasedCollator/jdk11.java: Fixed the test according to the following bug in the JDK http://developer.java.sun.com/developer/bugParade/bugs/4406815.html 2004-05-12 Stephen Crawley * gnu/testlet/java/lang/Integer/getInteger.java : fixed the security test to work on JDK 1.4, and to always remove the test security manager. * gnu/testlet/java/io/FilePermission/simple.java : fixed existing test to work on JDK 1.4. Added new tests for constructor arg checking (as per the JDK 1.4 javadoc). 2004-05-11 Stephen Crawley * gnu/testlet/java/io/FilterWriter/MyFilterWriter.java : new file * gnu/testlet/java/io/FilterWriter/write.java : fixed structure, and added test for documented behaviour of new FilterWriter(null). 2004-05-11 Stephen Crawley * gnu/testlet/java/util/logging/Logger/TestSecurityManager.java (checkPermission): include the permission in the message when throwing AccessControlException * gnu/testlet/java/util/logging/Logger/getAnonymousLogger.java (test): disable the test's security manager. The JDK 1.4.2 implementation of logging requires 'LoggingPermission("control")' during static initialization of the Logger class. 2004-05-09 Jerry Quinn * gnu/testlet/java/util/SimpleTimeZone/check12.java (test): Fix silly errors in test parameters. 2004-05-07 Michael Koch * gnu/testlet/java/net/NetworkInterface/getByName.java: New file. 2004-05-07 Jerry Quinn * gnu/testlet/java/util/Calendar/minmax.java: New test. 2004-05-02 C. Brian Jones * gnu/testlet/java/io/File/jdk11.java (test): access static field in config in a static way * gnu/testlet/java/text/CollationElementIterator/jdk11.java (test): access static field harness in a static way * gnu/testlet/java/net/Socket/SocketTest.java (test_BasicBServer): access static field harness in a static way * gnu/testlet/java/net/URLConnection/URLConnectionTest.java (test_URLConnection): access static method in URLConnection in a static way * gnu/testlet/java/net/SocketTest.java (test_BasicServer): access static field harness in SocketServer in a static way * gnu/testlet/java/net/ServerSocket/ServerSocketTest.java (test_params): access static method setSocketFactory in a static way * gnu/testlet/java/net/URL/URLTest.java (test_Basics): access static method setURLStreamHandlerFactory in a static way * gnu/testlet/java/lang/Thread/interrupt.java (test): access static method sleep in a static way 2004-05-02 Thomas Zander * gnu/anttask/RunTests: Add javadoc, add setSrcdir, setTestJDK, setTestJDBC. * build.xml: fix typo, use new flags srcdir, testjdk, testjdbc. * gnu/testlet/java/beans/Introspector/jdk12.java: Remove duplicate tag. * gnu/testlet/java/net/DatagramSocket/DatagramSocketTest2.java gnu/testlet/java/security/AlgorithmParameterGenerator/MauveAlgorithm.java gnu/testlet/java/security/AlgorithmParameters/MauveAlgorithm.java gnu/testlet/java/security/KeyFactory/MauveAlgorithm.java gnu/testlet/java/security/KeyPairGenerator/MauveAlgorithm.java: Fix tag. 2004-05-02 Mark Wielaard * gnu/testlet/java/nio/channels/FileChannel/manyopen.java: New test. 2004-05-01 Guilhem Lavaux * gnu/testlet/java/text/DecimalFormat/parse.java: Added new testcases. 2004-05-01 Mark Wielaard * gnu/testlet/java/nio/channels/FileChannel/truncate.java: New test. 2004-05-01 Stephen Crawley * gnu/testlet/BinaryCompatibility/BinaryCompatibilityTest.java Cosmetic - fix ugly line breaking etc that makes the code hard to read. 2004-04-29 Michael Koch * gnu/testlet/java/net/InetAddress/InetAddressTest.java: Added new testcase to check if InetAddress.getByName("127.0.0.1") really returns an instance of Inet4Address. Un-commented JDK 1.1 testcases. 2004-04-29 Mark Wielaard * gnu/testlet/java/io/RandomAccessFile/setLength.java: New test. 2004-04-29 Michael Koch * gnu/testlet/java/nio/IntBuffer/compareTo.java, gnu/testlet/javax/print/DocFlavor/parseMimeType.java: New testcases. 2004-04-28 Jerry Quinn * gnu/testlet/java/util/SimpleTimeZone: New directory. * gnu/testlet/java/util/SimpleTimeZone/ check12.java, check14.java: New tests. 2004-04-25 Mark Wielaard * gnu/testlet/java/net/DatagramSocket/DatagramSocketTest2.java: Remove RESERVED_PORT (21) test. 2004-04-24 Stephen Crawley * gnu/testlet/java/lang/Integer/getInteger.java (checkPropertyAccess): Fixed bug in the security check that caused the last subtest to fail. * gnu/testlet/java/lang/reflect/ReflectAccess.java: Tweak code so that subtests are counted if they succeed, and they have description messages. 2004-04-20 Guilhem Lavaux * gnu/testlet/java/net/URL/URLTest.java (test_authority): New test pool to check authority support in java.net.URL. 2004-04-18 Mark Wielaard * gnu/testlet/java/net/Socket/setSocketImplFactory.java: Add debug when an unexpected exception occurs. * gnu/testlet/java/net/Socket/TestSocketImplFactory.java: Use reflection to get a class/constructor for the SocketImpl that we need to return in createSocketImpl(). 2004-04-18 Mark Wielaard * gnu/testlet/java/lang/ref/PhantomReference/phantom.java: Call Thread.yield(). * gnu/testlet/java/io/File/security.java: Delete all temporary files and directories in the finally block. * gnu/testlet/java/net/Socket/SocketTest.java: mail.gnu.org was renamed mx10.gnu.org. * gnu/testlet/java/net/Socket/jdk12.java: Likewise. * gnu/testlet/java/net/Socket/jdk13.java: Likewise. * gnu/testlet/java/net/Socket/jdk14.java: Likewise. 2004-04-18 Mark Wielaard * gnu/testlet/TestSecurityManager2.java: Add private harness and use it for extra debug output. * gnu/testlet/java/io/File/security.java: Add tmpdir2, write and delete permissions. Use it for setReadOnly() and dir.delete test. 2004-04-16 Mark Wielaard * README: Add documentation for batch_run and runner scripts. 2004-04-15 Mark Wielaard * gnu/testlet/java/awt/image/ComponentColorModel/ createCompatibleSampleModel.java: Remove unneeded import javax.imageio.ImageTypeSpecifier. 2004-04-15 Archie Cobbs * gnu/testlet/java/lang/ref/PhantomReference/phantom.java: Give the runtime some more hints (Thread.yield/System.gc) that it should really garbage collect. 2004-04-15 Michael Koch * gnu/testlet/java/lang/Character/unicode.java: Added CharInfo to Uses: tag. 2004-04-14 Sascha Brawer * gnu/testlet/java/awt/image/ComponentColorModel/ createCompatibleSampleModel.java: New tests. 2004-04-14 Sascha Brawer * gnu/testlet/java/awt/image/DataBufferByte/ getDataType.java, getElem.java: New tests. * gnu/testlet/java/awt/image/DataBufferDouble/ getDataType.java, getElem.java: New tests. * gnu/testlet/java/awt/image/DataBufferFloat/ getDataType.java, getElem.java: New tests. * gnu/testlet/java/awt/image/DataBufferInt/ getDataType.java, getElem.java: New tests. * gnu/testlet/java/awt/image/DataBufferShort/ getDataType.java, getElem.java: New tests. * gnu/testlet/java/awt/image/DataBufferUShort/ getDataType.java, getElem.java: New tests. 2004-04-14 Sascha Brawer * gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi/ getFormatNames.java: Check for NullPointerException when instance was created with no-argument constructor. * gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi/ getFormatNames.java, getFileSuffixes.java, getMIMETypes.java, getExtraStreamMetadataFormatNames.java, getExtraImageMetadataFormatNames.java: Also accept a clone of the expected value. 2004-04-14 Sascha Brawer * gnu/testlet/java/awt/color/ColorSpace/getInstance.java: New file. 2004-04-14 Sascha Brawer * gnu/testlet/java/awt/image/PixelInterleavedSampleModel: New directory. * gnu/testlet/java/awt/image/PixelInterleavedSampleModel/ createSubsetSampleModel.java: New file. 2004-04-13 Thomas Zander * build.xml: New file. * gnu/testlet/javax/swing/JLabel/Icon.java: New file. * gnu/testlet/javax/swing/JLabel/Mnemonic.java: New file. * gnu/testlet/java/text/SimpleDateFormat/attribute.java (test_FieldPos): Locals no longer static. * gnu/testlet/SimpleTestHarness.java (getFailures): New method. * gnu/anttask/RunTests.java: New file. 2004-04-13 Sascha Brawer * gnu/testlet/javax/imageio/stream/, gnu/testlet/javax/imageio/stream/IIOByteBuffer: New directories. * gnu/testlet/javax/imageio/stream/IIOByteBuffer/ setData.java, setLength.java, setOffset.java: New tests. 2004-04-13 Sascha Brawer * gnu/testlet/javax/imageio/spi/IIOServiceProvider: New directory. * gnu/testlet/javax/imageio/spi/IIOServiceProvider/ getVendorName.java, getVersion.java: New tests. TestProvider.java: New helper for use by tests. 2004-04-13 Sascha Brawer * gnu/testlet/javax/imageio/spi/ImageInputStreamSpi: New directory. * gnu/testlet/javax/imageio/spi/ImageInputStreamSpi/ ImageInputStreamSpi.java, canUseCacheFile.java, needsCacheFile.java: New tests. TestProvider.java: New helper for use by tests. 2004-04-13 Sascha Brawer * gnu/testlet/javax/imageio/spi/ImageOutputStreamSpi: New directory. * gnu/testlet/javax/imageio/spi/ImageOutputStreamSpi/ ImageOutputStreamSpi.java, canUseCacheFile.java, needsCacheFile.java: New tests. TestProvider.java: New helper for use by tests. 2004-04-13 Sascha Brawer * gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi: New directory. * gnu/testlet/javax/imageio/spi/ImageReaderWriterSpi/ getExtraImageMetadataFormatNames.java, getExtraStreamMetadataFormatNames.java, getFileSuffixes.java, getFormatNames.java, getMIMETypes.java, getNativeImageMetadataFormatName.java, getNativeStreamMetadataFormatName.java, getPluginClassName.java, isStandardImageMetadataFormatSupported.java, isStandardStreamMetadataFormatSupported.java: New tests. TestProvider.java: New helper for use by tests. 2004-04-13 Sascha Brawer * gnu/testlet/javax/imageio/spi/ImageTranscoderSpi: New directory. * gnu/testlet/javax/imageio/spi/ImageTranscoderSpi/ ImageTranscoderSpi.java: New test. TestProvider.java: New helper for use by test. 2004-04-13 Stephen Crawley * gnu/testlet/java/lang/Character/CharInfo.java : Added an extra field used by the unicode testcase. (Sorry folks ...) 2004-04-12 Mark Wielaard * gnu/testlet/java/lang/Thread/contextClassLoader.java: Use three argument check to set (debug) message. 2004-04-12 Mark Wielaard * gnu/testlet/java/lang/Class/ClassTest.java: Use check with two argument, not equals(), to show what is actually different. 2004-04-12 Mark Wielaard * gnu/testlet/java/io/RandomAccessFile/jdk11.java: Show IOException in debug mode. 2004-04-12 Mark Wielaard * gnu/testlet/java/io/ObjectInputOutput/Compat1.java: Use check with two argument, not equals(), to show what is actually different. 2004-04-09 Stephen Crawley * gnu/testlet/java/lang/Character/unicode.java: Numerous fixes. Use Unicode 3.0.0 code tables. Reimplemented various tests to match the javadoc for java.lang.Character in JDK 1.4. Refactored to make it easier for someone to implement JDK 1.3, etc versions of this testcase. * gnu/testlet/java/lang/Character/UnicodeBase.java: new file * gnu/testlet/java/lang/Character/UnicodeData-3.0.0.txt: new file 2004-04-07 Guilhem Lavaux * gnu/testlet/java/io/ObjectInput/Test.java: New test (FinalField) to check that ObjectInputStream is able to set final fields. * gnu/testlet/java/io/ObjectInput/Test$FinalField.data: New reference data. 2004-04-05 Stephen Crawley * gnu/testlet/java/lang/Character/unicode.java: Fixed up crappy indentation, etc prior to making some real fixes. 2004-03-26 Mark Wielaard * gnu/testlet/java/io/ObjectInputOutput/Compat2.java: Explicitly set serialVersionUID. Make debug messages more clear. 2004-03-25 Guilhem Lavaux * gnu/testlet/java/io/ObjectInputOutput/Compat2.java: Check the right thing according to classpath policy (this test fails on JDK). 2004-03-24 Guilhem Lavaux * gnu/testlet/java/text/SimpleDateFormat/attribute.java: New tests. * gnu/testlet/java/text/DecimalFormat/parse.java: Fixed test to be spec compliant (Long is just a guess, it may change with implementation). 2004-03-24 Sascha Brawer * gnu/testlet/javax/imageio, gnu/testlet/javax/imageio/spi, gnu/testlet/javax/imageio/spi/ServiceRegistry: New directories. * gnu/testlet/javax/imageio/spi/ServiceRegistry/ MultiplicationService.java, MultiplierOne.java, MultiplierThree.java, MultiplierTwo.java, TestService.java, deregisterAll.java, getCategories.java, getServiceProviderByClass.java, lookupProviders.java, registerServiceProvider.java, setOrdering.java: New tests. 2004-03-22 Ito Kazumitsu * gnu/testlet/java/util/Properties/load.java: Add tests copied from Kaffe's regression test. 2004-03-21 Michael Koch * choose, choose-classes: Added handling for suppression testcases in BinaryCompatibility.* namespace. 2004-03-15 Michael Koch * THANKS: Added myself. 2004-03-15 Michael Koch * acinclude.m4: Correctly quote in AC_DEFUN. 2004-03-14 Mark Wielaard * gnu/testlet/java/lang/System/arraycopy.java: Add tests for copying arrays of different dimensions. 2004-03-12 Mark Wielaard * gnu/testlet/java/io/FilePermission/simple.java: Add test for dirs without a file separator. 2004-03-12 Mark Wielaard * gnu/testlet/java/io/PrintWriter/checkError.java: New test. 2004-03-11 Mark Wielaard * batch_run: Add jikes -bootclasspath example. Only show PASS: or FAIL: results (eliminate killed/terminated messages). * runner: Add jamvm example. Only kill when not KILLED (by timeout). 2004-03-11 Sascha Brawer * gnu/testlet/java/util/logging/Handler/getErrorManager.java, gnu/testlet/java/util/logging/Handler/isLoggable.java, gnu/testlet/java/util/logging/Handler/reportError.java, gnu/testlet/java/util/logging/Handler/setEncoding.java, gnu/testlet/java/util/logging/Handler/setErrorManager.java, gnu/testlet/java/util/logging/Handler/setFilter.java, gnu/testlet/java/util/logging/Handler/setLevel.java, gnu/testlet/java/util/logging/Handler/TestErrorManager.java, gnu/testlet/java/util/logging/Handler/TestHandler.java, gnu/testlet/java/util/logging/Handler/TestSecurityManager.java: New files. 2004-03-09 Mark Wielaard * gnu/testlet/java/io/BufferedInputStream/BigMark.java: New test. 2004-03-08 Stephen Crawley * gnu/testlet/java/io/File/security.java : revamped testcase to use a test security manager to monitor the permissions checked. * gnu/testlet/TestSecurityManager2.java : new class * Makefile.am : Added gnu/testlet/TestSecurityManager2.java to the harness file list. Added a rule to clean up /tmp/mauve-testdir * Makefile.in : regenerated * aclocal.m4 : regenerated * configure : regenerated 2004-02-25 Guilhem Lavaux * gnu/testlet/java/text/DecimalFormat/DecimalFormat.java: Fixed "#.#" testcase. * gnu/testlet/java/text/AttributedString/Test.java: Fixed offsets. New subtestcase. 2004-02-27 Sascha Brawer * gnu/testlet/java/util/logging/Logger/getName.java, gnu/testlet/java/util/logging/Logger/hierarchyChecks.java: New files. 2004-02-27 Sascha Brawer * gnu/testlet/java/util/logging/Logger/getLogger.java (TestResourceBundle): Moved into separate file. * gnu/testlet/java/util/logging/Logger/getAnonymousLogger.java, gnu/testlet/java/util/logging/Logger/TestFilter.java, gnu/testlet/java/util/logging/Logger/TestResourceBundle.java: New files. 2004-02-27 Sascha Brawer * gnu/testlet/java/util/logging/Logger: New directory. * gnu/testlet/java/util/logging/Logger/getLogger.java, gnu/testlet/java/util/logging/Logger/global.java, gnu/testlet/java/util/logging/Logger/securityChecks.java, gnu/testlet/java/util/logging/Logger/TestLogger.java, gnu/testlet/java/util/logging/Logger/TestSecurityManager.java: New file. 2004-02-27 Sascha Brawer * gnu/testlet/java/util/logging/LogRecord: New directory. * gnu/testlet/java/util/logging/LogRecord/getMillis.java, gnu/testlet/java/util/logging/LogRecord/getThreadID.java, gnu/testlet/java/util/logging/LogRecord/setLevel.java, gnu/testlet/java/util/logging/LogRecord/setLoggerName.java, gnu/testlet/java/util/logging/LogRecord/setMessage.java, gnu/testlet/java/util/logging/LogRecord/setMillis.java, gnu/testlet/java/util/logging/LogRecord/setParameters.java, gnu/testlet/java/util/logging/LogRecord/setResourceBundle.java, gnu/testlet/java/util/logging/LogRecord/setSequenceNumber.java, gnu/testlet/java/util/logging/LogRecord/setSourceClassName.java, gnu/testlet/java/util/logging/LogRecord/setSourceMethodName.java, gnu/testlet/java/util/logging/LogRecord/setThreadID.java, gnu/testlet/java/util/logging/LogRecord/setThrown.java: New file. 2004-02-26 Sascha Brawer * THANKS: Adding myself. 2004-02-26 Sascha Brawer * gnu/testlet/java/util/logging/Level: New directory. * gnu/testlet/java/util/logging/Level/equals.java, gnu/testlet/java/util/logging/Level/getName.java, gnu/testlet/java/util/logging/Level/hashCode.java, gnu/testlet/java/util/logging/Level/intValue.java, gnu/testlet/java/util/logging/Level/parse.java, gnu/testlet/java/util/logging/Level/TestUtils.java, gnu/testlet/java/util/logging/Level/toString.java: New file. * gnu/testlet/java/util/logging/SocketHandler: New directory. * gnu/testlet/java/util/logging/SocketHandler/getFilter.java, gnu/testlet/java/util/logging/SocketHandler/getFormatter.java, gnu/testlet/java/util/logging/SocketHandler/publish.java, gnu/testlet/java/util/logging/SocketHandler/SocketCapturer.java, gnu/testlet/java/util/logging/SocketHandler/SocketHandler.java: New file. * gnu/testlet/java/util/logging/XMLFormatter: New directory. * gnu/testlet/java/util/logging/XMLFormatter/formatMessage.java, gnu/testlet/java/util/logging/XMLFormatter/getHead.java, gnu/testlet/java/util/logging/XMLFormatter/getTail.java: New files. 2004-02-25 Michael Koch * gnu/testlet/java/net/InetSocketAddress/InetSocketAddressTest.java: New testcases for java.net.InetSocketAddress. 2004-02-11 Sascha Brawer * gnu/testlet/javax/swing/undo/UndoManager: New directory. * gnu/testlet/javax/swing/undo/UndoManager/addEdit.java, gnu/testlet/javax/swing/undo/UndoManager/canRedo.java, gnu/testlet/javax/swing/undo/UndoManager/canUndo.java, gnu/testlet/javax/swing/undo/UndoManager/canUndoOrRedo.java, gnu/testlet/javax/swing/undo/UndoManager/discardAllEdits.java, gnu/testlet/javax/swing/undo/UndoManager/editToBeRedone.java, gnu/testlet/javax/swing/undo/UndoManager/editToBeUndone.java, gnu/testlet/javax/swing/undo/UndoManager/end.java, gnu/testlet/javax/swing/undo/UndoManager/getLimit.java, gnu/testlet/javax/swing/undo/UndoManager/getRedoPresentationName.java, gnu/testlet/javax/swing/undo/UndoManager/ getUndoOrRedoPresentationName.java, gnu/testlet/javax/swing/undo/UndoManager/getUndoPresentationName.java, gnu/testlet/javax/swing/undo/UndoManager/redoTo.java, gnu/testlet/javax/swing/undo/UndoManager/setLimit.java, gnu/testlet/javax/swing/undo/UndoManager/TestUndoManager.java, gnu/testlet/javax/swing/undo/UndoManager/toString.java, gnu/testlet/javax/swing/undo/UndoManager/trimEdits.java, gnu/testlet/javax/swing/undo/UndoManager/undoableEditHappened.java, gnu/testlet/javax/swing/undo/UndoManager/undoTo.java: New files. 2004-01-24 Michael Koch * gnu/testlet/java/net/Socket/SocketTest.java: Added testcase for PR libgcj/13102. 2004-01-12 Michael Koch * gnu/testlet/java/lang/reflect/Other.java: New file. * gnu/testlet/java/lang/reflect/ReflectAccess.java: Added Uses: tag, moved class "Other" to an extra file. 2004-01-10 Guilhem Lavaux * gnu/testlet/java/text/MessageFormat/attribute.java: New testcase for MessageFormat.formatToCharacterIterator. 2004-01-08 Mark Wielaard * gnu/testlet/java/util/regex/CharacterClasses.java: New file. * gnu/testlet/java/util/regex/PatternSplit.java: Likewise. * gnu/testlet/java/util/regex/TestHelper.java: Likewise. 2004-01-07 Sascha Brawer Classpath bug #7123. * gnu/testlet/java/awt/geom/QuadCurve2D/solveQuadratic.java ((x^2)/10 + 20x + 1000 = 0): Add a comment explaining the situation on various VMs. 2004-01-07 Michael Koch * gnu/testlet/javax/swing/DefaultBoundedRangeModel/ DefaultBoundedRangeModel.java, setExtent.java, setMaximum.java, setMinimum.java, setValue.java: Added "// Uses: setRangeProperties". 2004-01-07 Sascha Brawer * gnu/testlet/java/awt/geom/QuadCurve2D/solveQuadratic.java: When debug option is set and the result is not as expected, emit the actual and expected solutions. 2004-01-07 Sascha Brawer * gnu/testlet/javax/swing/undo/CompoundEdit/ addEdit.java, canRedo.java, canUndo.java, isInProgress.java, lastEdit.java: New tests. * gnu/testlet/javax/swing/undo/UndoableEditSupport/ UndoableEditSupport.java, createCompoundEdit.java, getUndoableEditListeners.java, getUpdateLevel.java: New tests. Classpath bug #7119. * gnu/testlet/javax/swing/undo/UndoableEditSupport/toString.java: New test. 2004-01-06 Sascha Brawer Classpath bug #7109. * gnu/testlet/javax/swing/undo/UndoableEditSupport/beginUpdate.java: New test. 2004-01-06 Sascha Brawer * gnu/testlet/java/awt/image/SinglePixelPackedSampleModel/ createDataBuffer, getSampleSize.java: New tests. 2004-01-06 Sascha Brawer Classpath bug #7107. * gnu/testlet/javax/swing/DefaultBoundedRangeModel/ DefaultBoundedRangeModel.java, getChangeListeners.java, getExtent.java, getMaximum.java, getMinimum.java, getValueIsAdjusting.java, getValue.java, setExtent.java, setMaximum.java, setMinimum.java, setRangeProperties.java, setValueIsAdjusting.java, setValue.java, toString.java: New tests. 2004-01-06 Sascha Brawer * gnu/testlet/javax/swing/event/EventListenerList/getListeners.java, gnu/testlet/javax/swing/event/EventListenerList/getListenerCount.java, gnu/testlet/javax/swing/event/EventListenerList/getListenerList.java, gnu/testlet/javax/swing/event/EventListenerList/toString.java: New tests. 2004-01-06 Sascha Brawer Classpath bug #7105. * gnu/testlet/javax/swing/event/EventListenerList/remove.java: New test, passes with JDK 1.4.1_01 but not with Classpath. 2004-01-06 Sascha Brawer Classpath bug #7104. * gnu/testlet/javax/swing/event/EventListenerList/add.java: New test, passes with JDK 1.4.1_01 but not with Classpath. 2004-01-03 Per Bothner * gnu/testlet/java/util/Date/parse.java (parse): New testcases for Date.parse. 2003-12-30 Guilhem Lavaux * gnu/testlet/java/net/URL/URLTest.java: Fixed. Now it passes with JDK 1.4.2. 2003-12-28 Guilhem Lavaux * gnu/testlet/java/io/LineNumberReader/Test2.java: New testcases for LineNumberReader (stress tests). 2003-12-27 Guilhem Lavaux * gnu/testlet/java/net/URLConnection/Http.java: New really slightly improved HTTP connection testcase. We really check the presence of the null header in URLConnection. 2003-12-27 Guilhem Lavaux * gnu/testlet/java/io/CharArrayReader/OutOfBounds.java: New testcase to check exception thrown by CharArrayReader.read(X). 2003-12-22 Michael Koch * gnu/testlet/java/net/DatagramPacket/DatagramPacketOffset.java, gnu/testlet/java/net/DatagramPacket/DatagramPacketReceive.java, gnu/testlet/java/net/DatagramPacket/DatagramPacketReceive2.java: New files from Norbert Frese to test UDP packet sending/receiving. 2003-12-15 Guilhem Lavaux * gnu/testlet/java/io/ObjectInputOutput/Compat1.java, gnu/testlet/java/io/ObjectInputOutput/Compat2.java: Added copyright advertisement. 2003-12-14 Guilhem Lavaux * gnu/testlet/java/io/ObjectInputOutput/Compat1.java, gnu/testlet/java/io/ObjectInputOutput/Compat2.java, gnu/testlet/java/io/ObjectInputOutput/Compat1.serial.bin, gnu/testlet/java/io/ObjectInputOutput/Compat2.serial.bin: New tests. 2003-12-08 Bryce McKinlay * gnu/testlet/java/util/Hashtable/NullValue.java: New test. 2003-12-01 Thomas Fitzsimmons * gnu/testlet/java/awt/image/PixelGrabber/SimpleGrabber.java, gnu/testlet/java/awt/image/PixelGrabber/lena1.jpg: New test. 2003-11-28 Mark Wielaard * gnu/testlet/java/security/DigestInputStream/readMD5.java: New test. 2003-11-27 Ito Kazumitsu * gnu/testlet/java/util/Calendar/ampm.java: New test. 2003-11-27 Mark Wielaard * choose-classes: New script. * uses-list: New script. * runner: New script. * batch_run: New script. 2003-11-25 Mark Wielaard * gnu/testlet/java/util/zip/ZipFile/newZipFile.java: New test. 2003-11-22 Mark Wielaard * gnu/testlet/java/util/Hashtable/ContainsHash.java: New test. 2003-11-22 Mark Wielaard * gnu/testlet/java/text/DecimalFormatSymbols/serial.java: New test. 2003-11-22 Mark Wielaard * gnu/testlet/java/util/Hashtable/HashContains.java: New test. 2003-11-16 Tom Tromey * gnu/testlet/java/io/StreamTokenizer/commentchar.java: Expect EOL, not EOF. * gnu/testlet/java/io/StreamTokenizer/commentchar.java (tokenize): New overloaded method. (make_tokenizer): New method. (test): Added new test. 2003-11-14 Sascha Brawer * gnu/testlet/javax/swing/undo/AbstractUndoableEdit/addEdit.java, gnu/testlet/javax/swing/undo/AbstractUndoableEdit/canRedo.java, gnu/testlet/javax/swing/undo/AbstractUndoableEdit/canUndo.java, gnu/testlet/javax/swing/undo/AbstractUndoableEdit/ getPresentationName.java, gnu/testlet/javax/swing/undo/AbstractUndoableEdit/ getRedoPresentationName.java, gnu/testlet/javax/swing/undo/AbstractUndoableEdit/ getUndoPresentationName.java, gnu/testlet/javax/swing/undo/AbstractUndoableEdit/isSignificant.java, gnu/testlet/javax/swing/undo/AbstractUndoableEdit/redo.java, gnu/testlet/javax/swing/undo/AbstractUndoableEdit/replaceEdit.java, gnu/testlet/javax/swing/undo/AbstractUndoableEdit/undo.java, gnu/testlet/javax/swing/undo/StateEdit/getPresentationName.java, gnu/testlet/javax/swing/undo/StateEdit/undo.java: New files. 2003-11-13 Mark Wielaard * gnu/testlet/java/net/URL/newURL.java: Test anonymous:anonymous@host. 2003-11-13 Mark Wielaard * gnu/testlet/java/net/URL/newURL.java: New test, adapted from kaffe. 2003-11-13 Mark Wielaard * gnu/testlet/java/net/URLConnection/getPermission.java: New test. 2003-11-12 Sascha Brawer * gnu/testlet/java/awt/geom/FlatteningPathIterator/ FlatteningPathIterator.java: New file. * gnu/testlet/java/awt/geom/FlatteningPathIterator/ currentSegment.java: Likewise. * gnu/testlet/java/awt/geom/FlatteningPathIterator/ getFlatness.java: Likewise. * gnu/testlet/java/awt/geom/FlatteningPathIterator/ getRecursionLimit.java: Likewise. * gnu/testlet/java/awt/geom/FlatteningPathIterator/ getWindingRule.java: Likewise. 2003-11-09 Tom Tromey * gnu/testlet/java/lang/reflect/Method/invoke.java (test): Also test invocation via interface methods. * gnu/testlet/java/lang/reflect/Method/iface.java: New file. 2003-11-04 Sascha Brawer * gnu/testlet/java/awt/geom/CubicCurve2D/solveCubic.java: Add test equations from test code of the GNU Scientific Library. Thanks to Brian Gough . * gnu/testlet/java/awt/geom/QuadCurve2D/solveQuadratic.java: Likewise. 2003-10-30 Jeff Sturm * gnu/testlet/java/io/ByteArrayOutputStream/subclass.java: New test. 2003-10-26 Everton da Silva Marques * gnu/testlet/java/net/MulticastSocket/MulticastSocketTest.java (test_MultipleBind): New test method. (testall): Call test_MultipleBind. 2003-10-29 Michael Koch * gnu/testlet/java/net/DatagramSocket/DatagramSocketTest2.java: DatagramPacket contsructors throw IllegalArgumentException if illegal buffer size is given. 2003-10-29 Michael Koch * gnu/testlet/BinaryCompatibility/.cvsignore: Ignore generated files. 2003-10-26 Mark Wielaard * gnu/testlet/java/util/jar/JarInputStream/getNextEntry.java: New test. 2003-10-25 Bryce McKinlay * gnu/testlet/java/lang/reflect/ReflectAccess.java, gnu/testlet/java/lang/reflect/sub/OtherPkg.java, gnu/testlet/java/lang/reflect/sub/Super.java: New files. 2003-10-24 Sascha Brawer * gnu/testlet/java/awt/geom/CubicCurve2D/clone.java, gnu/testlet/java/awt/geom/CubicCurve2D/Double/Double.java, gnu/testlet/java/awt/geom/CubicCurve2D/Double/getBounds2D.java, gnu/testlet/java/awt/geom/CubicCurve2D/Double/getCtrlP1.java, gnu/testlet/java/awt/geom/CubicCurve2D/Double/getCtrlP2.java, gnu/testlet/java/awt/geom/CubicCurve2D/Double/getP1.java, gnu/testlet/java/awt/geom/CubicCurve2D/Double/getP2.java, gnu/testlet/java/awt/geom/CubicCurve2D/Double/setCurve.java, gnu/testlet/java/awt/geom/CubicCurve2D/Float/Float.java, gnu/testlet/java/awt/geom/CubicCurve2D/Float/getBounds2D.java, gnu/testlet/java/awt/geom/CubicCurve2D/Float/getCtrlP1.java, gnu/testlet/java/awt/geom/CubicCurve2D/Float/getCtrlP2.java, gnu/testlet/java/awt/geom/CubicCurve2D/Float/getP1.java, gnu/testlet/java/awt/geom/CubicCurve2D/Float/getP2.java, gnu/testlet/java/awt/geom/CubicCurve2D/Float/setCurve.java, gnu/testlet/java/awt/geom/CubicCurve2D/getFlatness.java, gnu/testlet/java/awt/geom/CubicCurve2D/getFlatnessSq.java, gnu/testlet/java/awt/geom/CubicCurve2D/getPathIterator.java, gnu/testlet/java/awt/geom/CubicCurve2D/setCurve.java, gnu/testlet/java/awt/geom/CubicCurve2D/solveCubic.java, gnu/testlet/java/awt/geom/CubicCurve2D/subdivide.java, gnu/testlet/java/awt/geom/GeneralPath/append_PathIterator.java, gnu/testlet/java/awt/geom/GeneralPath/GeneralPath.java, gnu/testlet/java/awt/geom/GeneralPath/getCurrentPoint.java, gnu/testlet/java/awt/geom/GeneralPath/getPathIterator.java, gnu/testlet/java/awt/geom/QuadCurve2D/clone.java, gnu/testlet/java/awt/geom/QuadCurve2D/Double/Double.java, gnu/testlet/java/awt/geom/QuadCurve2D/Double/getBounds2D.java, gnu/testlet/java/awt/geom/QuadCurve2D/Double/getCtrlPt.java, gnu/testlet/java/awt/geom/QuadCurve2D/Double/getP1.java, gnu/testlet/java/awt/geom/QuadCurve2D/Double/getP2.java, gnu/testlet/java/awt/geom/QuadCurve2D/Double/setCurve.java, gnu/testlet/java/awt/geom/QuadCurve2D/Float/Float.java, gnu/testlet/java/awt/geom/QuadCurve2D/Float/getBounds2D.java, gnu/testlet/java/awt/geom/QuadCurve2D/Float/getCtrlPt.java, gnu/testlet/java/awt/geom/QuadCurve2D/Float/getP1.java, gnu/testlet/java/awt/geom/QuadCurve2D/Float/getP2.java, gnu/testlet/java/awt/geom/QuadCurve2D/Float/setCurve.java, gnu/testlet/java/awt/geom/QuadCurve2D/getFlatness.java, gnu/testlet/java/awt/geom/QuadCurve2D/getFlatnessSq.java, gnu/testlet/java/awt/geom/QuadCurve2D/getPathIterator.java, gnu/testlet/java/awt/geom/QuadCurve2D/setCurve.java, gnu/testlet/java/awt/geom/QuadCurve2D/solveQuadratic.java, gnu/testlet/java/awt/geom/QuadCurve2D/subdivide.java, gnu/testlet/java/awt/geom/Rectangle2D/getPathIterator.java, gnu/testlet/java/awt/geom/RoundRectangle2D/contains.java, gnu/testlet/java/awt/geom/RoundRectangle2D/intersects.java: New files. * gnu/testlet/java/awt/geom/RoundRectangle2D/intersects.java /doc-files/contains-1.png, gnu/testlet/java/awt/geom/RoundRectangle2D/intersects.java/ doc-files/intersects-1.png: New illustrations. 2003-09-25 Stephen Crawley * gnu/testlet/java/lang/Thread/stop.java: avoid hanging forever if java.lang.Thread.stop does nothing. * gnu/testlet/java/lang/Thread/daemon.java: reindented, etc 2003-09-09 Mark Wielaard * gnu/testlet/java/lang/reflect/Array/set.java: Check IllegalArgument and ArrayIndexOutOfBoundsException. 2003-09-07 Mark Wielaard * gnu/testlet/java/text/DecimalFormat/digits.java: New test. * gnu/testlet/java/text/DecimalFormat/formatExp.java: New test. 2003-09-02 Mark Wielaard * gnu/testlet/java/util/GregorianCalendar/first.java: Months are numbered from 0 till 11. 2003-09-01 Mark Wielaard * gnu/testlet/java/util/GregorianCalendar/first.java: New file. 2003-08-31 Mark Wielaard * gnu/testlet/java/io/LineNumberReader/mark.java: New file. 2003-08-30 Stephen Crawley * gnu/testlet/SimpleTestHarness.java: reindented, etc 2003-08-26 Tom Tromey * gnu/testlet/java/lang/reflect/Array/set.java: New file. 2003-08-25 Mark Wielaard * gnu/testlet/java/io/InputStreamReader/utf8.java: New test. 2003-08-23 Stephen Crawley * Makefile.am : put quotes around GCJ, JAVAC and JAVA when passing as environment variables * Makefile.in: Regenerate. * configure: Regenerate. * aclocal.m4: Regenerate. 2003-08-19 Andrew Haley * choose: Check BinaryCompatibility as well as java and javax. * Makefile.am (check-local): Pass GCJ, JAVAC and JAVA in environment. * gnu/testlet/BinaryCompatibility: New tests. * Makefile.in: Regenerate. * configure: Regenerate. * aclocal.m4: Regenerate. 2003-08-16 Mark Wielaard * gnu/testlet/java/lang/String/decode.java: Add explicit UTF-8 test. 2003-08-16 Mark Wielaard * gnu/testlet/java/lang/Package/getPackage.java: New file. 2003-08-09 Mark Wielaard * gnu/testlet/java/io/PrintWriter/jdk11.java: Add checkError() after close() test. 2003-08-09 Mark Wielaard * gnu/testlet/java/lang/Thread/contextClassLoader.java: New file. 2003-08-07 Tom Tromey * gnu/testlet/java/io/FilePermission/simple.java: New file. 2003-08-05 Tom Tromey * gnu/testlet/java/lang/reflect/Field/access.java: New file. 2003-08-05 Mark Wielaard * gnu/testlet/java/lang/reflect/AccessibleObject/accessible.java: New tests. 2003-08-01 David P Grove * gnu/testlet/java/text/DecimalFormat/format.java (test): Regression test for setGroupingSize. 2003-08-01 Mark Wielaard * gnu/testlet/java/math/BigDecimal/divide.java: New tests. 2003-07-28 C. Brian Jones * gnu/testlet/java/lang/Thread/stop.java: new tests 2003-07-24 H. V�is�nen * gnu/testlet/java/text/SimpleDateFormat/regress.java (test): Added test for 4-digit year formatting bug. 2003-07-23 Tom Tromey * gnu/testlet/java/lang/System/arraycopy.java (test): Added libgcj regression test. 2003-07-22 Tom Tromey * gnu/testlet/java/net/URLEncoder/URLEncoderTest.java (test_basics): Added test for encoding of \n. Require upper case encoding. 2003-07-20 Tom Tromey * Makefile.am (harness_files): Added TestSecurityManager.java. * gnu/testlet/SimpleTestHarness.java (runtest): Clear security manager after test. * gnu/testlet/TestSecurityManager.java: New file. 2003-07-19 Tom Tromey * gnu/testlet/java/text/CollationElementIterator/jdk11.java: Changed tag to JDK1.2. 2003-07-18 Mark Wielaard * gnu/testlet/java/util/zip/InflaterInputStream/basic.java: Add illegal argument constructor tests. 2003-07-18 Mark Wielaard * gnu/testlet/java/math/BigDecimal/setScale.java: Add tests for all corner cases of ROUND_HALF_EVEN. 2003-07-16 Stephen Crawley * gnu/testlet/java/lang/Thread/interrupt.java : fixed indentation 2003-07-11 Stephen Crawley * gnu/testlet/java/lang/Thread/daemon.java fixed tests to match the behaviour of JDKs when setDaemon() is called on an exitted Thread. Made tests more robust. 2003-07-11 Stephen Crawley * gnu/testlet/java/text/RuleBasedCollator/jdk11.java : more tests for compare with expansions and contractions 2003-07-09 Stephen Crawley * gnu/testlet/java/text/RuleBasedCollator/jdk11.java : tests for compare with simple rules and contraction rules * gnu/testlet/java/text/RuleBasedCollator/VeryBasic.java : fixed indentation 2003-07-05 Stephen Crawley * gnu/testlet/java/text/RuleBasedCollator/jdk11.java : more new rule parsing tests 2003-07-01 Stephen Crawley * gnu/testlet/java/text/RuleBasedCollator/jdk11.java : new tests 2003-06-27 Stephen Crawley * gnu/testlet/java/text/CollationElementIterator/jdk11.java : added tests that 'a'<'A' at tertiary level, etcetera 2003-06-24 Stephen Crawley * gnu/testlet/java/text/CollationElementIterator/jdk11.java : rewrote tests to check the ordering of collation keys rather than actual key values (which are implementation dependent) 2003-06-08 Mark Wielaard * choose: Add all classes first to usesfile to uniqify them later before adding them to choises. 2003-06-05 Tom Tromey * gnu/testlet/java/text/SimpleDateFormat/Test.java: Added regression test including "." in format; from Scott Gilbertson. 2003-06-03 Stephen Crawley * gnu/testlet/java/math/BigDecimal/setScale.java: added new setScale testcase from Jerry Quinn 2003-05-24 Daniel Bonniot * gnu/testlet/java/util/Arrays/equals.java: New file. * gnu/testlet/java/util/LinkedList/SubListTest.java: New file. 2003-05-23 Daniel Bonniot * gnu/testlet/java/awt/color/ColorSpace/isCS_sRGB.java: New file. 2003-05-06 Stephen Crawley * gnu/testlet/java/lang/Class/ClassTest.java: removed duplicate tests for isPrimitive(), and enhanced getModifiers() tests 2003-04-13 Dalibor Topic * gnu/testlet/java/sql/Date/DateTest.java: new file * gnu/testlet/java/sql/DriverManager/DriverManagerTest.java: new file * gnu/testlet/java/sql/Time/TimeTest.java: new file * gnu/testlet/java/sql/Timestamp/TimestampTest.java: new file 2003-04-08 Stephen Crawley * gnu/testlet/java/security/AlgorithmParameterGenerator/getInstance14.java : constructor must be public * gnu/testlet/java/security/AlgorithmParameters/getInstance14.java : ditto * gnu/testlet/java/security/KeyFactory/getInstance14.java : ditto * gnu/testlet/java/security/KeyPairGenerator/getInstance14.java : ditto * gnu/testlet/java/security/MessageDigest/getInstance14.java : ditto * gnu/testlet/java/security/Security/getAlgorithms.java : ditto * gnu/testlet/java/security/Signature/getInstance14.java : ditto * gnu/testlet/SimpleTestHarness.java (runtest) : print a debug 'hint' if instantiating a testlet throws InstantiationException 2003-04-01 Raif S. Naffah * gnu/testlet/java/security/Security/getAlgorithms.java: re-implemented the tests differently. 2003-03-20 Raif S. Naffah * gnu/testlet/java/security/AlgorithmParameterGenerator: new directory. * gnu/testlet/java/security/AlgorithmParameters: ditto. * gnu/testlet/java/security/KeyFactory: ditto. * gnu/testlet/java/security/KeyPairGenerator: ditto. * gnu/testlet/java/security/AlgorithmParameterGenerator/getInstance14.java: new test. * gnu/testlet/java/security/AlgorithmParameterGenerator/MauveAlgorithm.java: new supporting class. * gnu/testlet/java/security/AlgorithmParameters/getInstance14.java: new test. * gnu/testlet/java/security/AlgorithmParameters/MauveAlgorithm.java: new supporting class. * gnu/testlet/java/security/KeyFactory/getInstance14.java: new test. * gnu/testlet/java/security/KeyFactory/MauveAlgorithm.java: new supporting class. * gnu/testlet/java/security/KeyPairGenerator/getInstance14.java: new test. * gnu/testlet/java/security/KeyPairGenerator/MauveAlgorithm.java: new supporting class. * gnu/testlet/java/security/MessageDigest/getInstance14.java: new test. * gnu/testlet/java/security/Security/getAlgorithms.java: new test. * gnu/testlet/java/security/Signature/getInstance14.java: new test. 2003-03-16 Stephen Crawley * gnu/testlet/java/net/ServerSocket/ServerSocketTest.java (test_params): catch IOException (not Exception) when testing sock.setSoTimeout(int), sock.getSoTimeout(), and new ServerSocket(int). A call to sock.getInetAddress() might return null ... 2003-03-15 Mark Wielaard * gnu/testlet/java/io/OutputStreamWriter/jdk11.java (test): getEncoding() should return the "historical" name. 2003-03-06 C. Brian Jones * gnu/testlet/java/io/OutputStreamWriter/jdk11.java (test): Changed 8859_3 encoding to a must support encoding of ISO-8859-1 and also fixed the test to correctly expect the preferred name when calling getEncoding() as it is not necessarily the same as what the stream is created with. Added a test against 'latin1' which is a valid alias for 'ISO-8859-1'. 2003-03-02 Mark Wielaard * gnu/testlet/java/util/Properties/AcuniaPropertiesTest.java (test_list): Skip -- header line. (test_propertyNames): Enumeration of propertyNames() and keys() are not necessarily in the same order. (test_loadextra): Fix double escaped no\\cat. Add explanations for corner cases. 2003-02-22 Mark Wielaard * gnu/testlet/java/lang/String/surrogate.java: New test. 2003-02-21 Mark Wielaard * gnu/testlet/java/util/zip/ZipEntry/setComment.java: New test. 2003-02-21 Mark Wielaard * gnu/testlet/java/util/zip/ZipEntry/newZipEntry.java: New test. 2003-02-18 Raif S. Naffah * gnu/testlet/java/math/BigInteger/modInverse.java (testRecursion): New method. 2003-02-16 Mark Wielaard * gnu/testlet/java/lang/String/getBytes13.java: Tags JDK13 only. 2003-02-16 Mark Wielaard * gnu/testlet/java/lang/String/getBytes14.java: Add tests for US-ASCII, windows-1252, ISO-8859-1, ISO-8859-15, ISO8859_15, UTF-16BE and UTF-16LE 2003-02-16 Mark Wielaard * gnu/testlet/java/lang/Class/reflect2.java: Guard against NullPointer and ArrayOutOfBoundsExceptions on failures. 2003-02-14 Mark Wielaard * gnu/testlet/java/io/PipedStream/PipedStreamTestWriter.java (ready): New field. (waitTillReady): New method. (run): Set ready field. * gnu/testlet/java/io/PipedStream/Test.java (test): Call waitTillReady before testing available(). 2003-02-13 Mark Wielaard * gnu/testlet/java/io/InputStreamReader/jdk11.java (test): Just check that encoding is non-null when opened and null when closed. Checking the actual encoding name is as good as impossible pre 1.4. * gnu/testlet/java/io/OutputStreamWriter/jdk11.java (test):Likewise. 2003-02-13 Mark Wielaard * gnu/testlet/java/util/jar/JarFile/basic.java: Don't test order, only test that all entries have the correct content. 2003-02-13 Mark Wielaard * gnu/testlet/java/io/BufferedOutputStream/interrupt.java (test): In theory what happens when a InterruptedIOException is thrown should be in the specification, in practice it is never defined. 2003-02-12 Tom Tromey * gnu/testlet/java/lang/String/getBytes14.java: Added `Uses'. * gnu/testlet/java/io/InputStreamReader/jdk11.java (test): InputStreamReader should be ready(). 2003-02-09 Raif S. Naffah * gnu/testlet/java/lang/String/getBytes13.java: new test * gnu/testlet/java/lang/String/getBytes14.java: new test 2003-02-09 Raif S. Naffah * gnu/testlet/java/security/SecureRandom/SHA1PRNG.java: new test, verifies that two similarly seeded SecureRandom objects produce the same results. 2003-02-07 Mark Wielaard * gnu/testlet/java/text/CollationElementIterator/jdk11.java (test): Add index to check() message to make it easier to see which test actually fails. Necessary when using xfails file. 2003-02-05 Stephen Crawley * gnu/testlet/java/util/jar/JarFile/basic.java: compilation error fixed 2003-02-04 Stephen Crawley * gnu/testlet/java/beans/PropertyDescriptorTest.java: added more tests for the 2 introspective constructors * gnu/testlet/java/lang/Class/ClassTest.java (test_getName): test behaviour of getName for void and primitive type classes. 2003-02-03 John Leuner * gnu/testlet/java/util/zip/InflaterInputStream/basic.java: new test * gnu/testlet/java/util/jar/JarFile/jartest.jar: test file * gnu/testlet/java/util/jar/JarFile/basic.java: new tests * gnu/testlet/java/util/zip/ZipInputStream/basic.java: added read_from_end * gnu/testlet/java/util/Arrays/sort.java: added some sort tests * gnu/testlet/java/lang/Class/ClassTest.java: Added new tests for isPrimitive and class modifiers * gnu/testlet/TestHarness.java: Add new getResourceFile method * gnu/testlet/SimpleTestHarness.java: idem 2003-02-01 C. Brian Jones * gnu/testlet/java/io/ObjectInputOutput/Test.java: change output of '<' and '>' to be '(' and ')' respectively. Avoids having to escape these for HTML output. 2003-01-31 C. Brian Jones * gnu/testlet/java/net/Socket/SocketTest.java (test_params): remove check defaults for getPort(), getLocalPort() * gnu/testlet/java/net/Socket/jdk12.java: prepare for new tests (added checkpoints) * gnu/testlet/java/net/Socket/jdk13.java: prepare for new tests (added checkpoints) * gnu/testlet/java/net/Socket/jdk14.java: new test has default checks for getPort(), getLocalPort(); prepare for new tests (added checkpoints) 2003-01-30 C. Brian Jones * gnu/testlet/java/net/Socket/SocketTest.java (test_params): check defaults for getPort(), getLocalPort(), getTcpNoDelay(), getSoLinger() * gnu/testlet/java/net/Socket/jdk13.java: new test 2003-01-30 C. Brian Jones * gnu/testlet/java/net/Socket/SocketTest.java (test_params): Change error message when failing getSoTimeout(), do not fail harness, just a test. 2003-01-29 C. Brian Jones * gnu/testlet/java/net/Socket/SocketTest.java (test_params): moved test of setSocketImplFactory to separate file since if can affect subsequent attempts to create new Sockets (test_BasicServer): remove invalid test expecting an exception that should never be thrown and dependency on echo server * gnu/testlet/java/net/Socket/TestSocketImplFactory.java: new file * gnu/testlet/java/net/Socket/setSocketImplFactory.java: new test 2003-01-30 Stephen Crawley * gnu/testlet/java/beans/PropertyDescriptorTest.java: new tests 2003-01-29 Stephen Crawley * gnu/testlet/java/beans/DescriptorTest.java: fixed test cases to work under JDK1.3/1.4 2003-01-28 Stephen Crawley * gnu/testlet/java/math/BigDecimal/DiagBigDecimal.java (diaghashcode): Removed invalid tests for BigDecimal.hashCode() * gnu/testlet/java/math/BigDecimal/DiagBigDecimal.java (diaglongvalue): Corrected some tests that accidentally used BigDecimal(double) on (double)(Long.MAX_VALUE) 2003-01-26 C. Brian Jones * gnu/testlet/java/io/RandomAccessFile/jdk11.java (test): localize use of 'int i' and modify two erroneous test checks for skipBytes() to one correct check. 2003-01-25 C. Brian Jones * gnu/testlet/java/io/RandomAccessFile/jdk11.java: reformatted only 2003-01-25 C. Brian Jones * gnu/testlet/java/text/CollationElementIterator/jdk11.java (test): adjusted results array based on a test run with Sun's JVM 2003-01-25 C. Brian Jones * gnu/testlet/java/text/CollationElementIterator: new directory * gnu/testlet/java/text/CollationElementIterator/jdk11.java: new tests 2003-01-24 Mark Wielaard * gnu/testlet/java/io/ObjectInputOutput/OutputTest.java: Explicitly check for ObjectStreamExceptions and only compare contents when no such exceptions are thrown. 2003-01-25 Stephen Crawley * gnu/testlet/java/math/BigDecimal/DiagBigDecimal.java: fixed some error case tests to catch the correct exceptions, and only to test the exception messages if CHECK_EXCEPTION_MESSAGES is true. 2003-01-24 Raif Naffah * gnu/testlet/SimpleTestHarness.java (main): added a -file option as an alternative to stdin for reading selected test classes. 2003-01-21 Tom Tromey * gnu/testlet/java/io/File/jdk11.java (test): Added check for absoluteness of empty string. 2003-01-20 Mark Wielaard * gnu/testlet/java/math/BigDecimal/DiagBigDecimal.java (diagrun): Return void. (DiagException): Remove and use RuntimeException if necessary. (summary): Removed. (Test): Removed. 2003-01-18 Mark Wielaard * gnu/testlet/java/lang/String/getBytes.java: Add new UTF8 test. 2003-01-03 Mark Wielaard * gnu/testlet/java/io/ObjectStreamClass/ProxyTest.java: New test. 2003-01-02 Mark Wielaard * gnu/testlet/java/io/FilterInputStream/SimpleRead.java: Don't use inner classes to help gcj. * gnu/testlet/java/io/FilterReader/SimpleRead.java: Likewise. * gnu/testlet/java/io/OutputStream/Test.java: Likewise. 2003-01-02 Mark Wielaard * gnu/testlet/java/io/FilterInputStream/MarkReset.java: Don't use inner classes to help gcj. * gnu/testlet/java/io/FilterWriter/write.java: Likewise. * gnu/testlet/java/io/InputStream/Test.java: Likewise. * gnu/testlet/java/io/PrintWriter/jdk11.java: Likewise. * gnu/testlet/java/io/Reader/Test.java: Likewise. * gnu/testlet/java/io/Writer/Test.java: Likewise. 2003-01-02 Mark Wielaard * gnu/testlet/java/io/BufferedInputStream/SimpleRead.java (test): Removed wrong check(false). 2002-12-27 Mark Wielaard * gnu/testlet/java/io/StringWriter/Test.java (test): Catch Throwable when testing close to make it compile against libraries that don't declare IOException for close. 2002-12-27 Daryl Lee * gnu/testlet/java/io/StringWriter/Test.java: Modified close() test to catch IOException explicitly 2002-12-27 Daryl Lee * gnu/testlet/java/io/FileOutputStream/jdk12.java: Added test for correct Exception thrown from constructor 2002-12-26 Daryl Lee * gnu/testlet/java/io/FilterWriter/write.java: Added tests for FilterWriter class 2002-12-26 Daryl Lee * gnu/testlet/java/io/PipedStream/close.java: Modified test of input stream close() method to match reference behavior. 2002-12-26 Daryl Lee * gnu/testlet/java/io/FilterReader/SimpleRead.java: * gnu/testlet/java/io/FilterReader/MarkReset.java: Added tests for FilterReader class 2002-12-26 Daryl Lee * gnu/testlet/java/io/OutputStream/Test.java: Added tests for OutputStream class 2002-12-26 Daryl Lee * gnu/testlet/java/io/InputStream/Test.java: Added tests for InputStream class 2002-12-25 Daryl Lee * gnu/testlet/java/io/Reader/Test.java: Added tests for Reader class 2002-12-25 Daryl Lee * gnu/testlet/java/io/Writer/Test.java: Added tests for Writer class 2002-12-25 Daryl Lee * gnu/testlet/java/io/PipedStream/Test.java: Added test of PipedOutputStream's connect() method. See corresponding patch to PipedOutputStream class. 2002-12-25 Daryl Lee * gnu/testlet/java/io/StringReader/Test.java: Added tests for StringReader class 2002-12-24 Daryl Lee * gnu/testlet/java/io/PrintWriter/jdk11.java: Added tests for PrintWriter class 2002-12-24 Daryl Lee * gnu/testlet/java/io/PipedReaderWriter/Test.java: Changed parameters to read() method call to match API 2002-12-24 Daryl Lee * gnu/testlet/java/io/PipedReaderWriter/Test.java: Added test for connect() method on PipedWriter. See corresponding patch to PipedWriter class. 2002-12-23 Daryl Lee * gnu/testlet/java/io/OutputStreamWriter/jdk11.java: New file. Completes tests of OutputStreamWriter class 2002-12-23 Daryl Lee * gnu/testlet/java/io/FilterOutputStream/write.java: New file. These files complete direct tests of FilterOutputStream class 2002-12-23 Daryl Lee * gnu/testlet/java/io/FilterInputStream/MarkReset.java: New file. * gnu/testlet/java/io/FilterInputStream/SimpleRead.java: New file. These files complete direct tests of FilterInputStream class 2002-12-22 Anthony Green * gnu/testlet/java/math/BigDecimal/DiagBigDecimal.java: New file. 2002-12-22 Daryl Lee * gnu/testlet/java/io/FileWriter/jdk11.java: complete constructor tests for class (no other methods defined) 2002-12-22 Daryl Lee * gnu/testlet/java/io/FileReader/jdk11.java: complete constructor tests for class (no other methods defined) 2002-12-22 Daryl Lee * gnu/testlet/java/io/FileDescriptor/jdk11.java: complete method tests for class 2002-12-22 Mark Wielaard * gnu/testlet/java/net/URLClassLoader/getResourceBase.java (check): Add base string to give a hint about from which URL source resource should get loaded. * gnu/testlet/java/net/URLClassLoader/getResource.java: Set base. * gnu/testlet/java/net/URLClassLoader/getResourceRemote.java: Likewise. 2002-12-22 Mark Wielaard * gnu/testlet/java/lang/StringBuffer/StringBufferTest.java (getChars): Add big offsets test. 2002-12-19 Tom Tromey * gnu/testlet/java/lang/Class/ClassTest.java (test_getClassloader): getClassLoader is never required to return null; removed test. 2002-12-15 Raif Naffah * gnu/testlet/java/math/BigInteger/modInverse.java: New test. 2002-12-15 Mark Wielaard * gnu/testlet/java/io/CharArrayWriter/ProtectedVars.java: Use try catch block for implementations that (wrongly) declare ArrayWriter.write() throws IOException. * gnu/testlet/java/io/CharArrayWriter/BasicTests.java: Likewise. 2002-12-14 Mark Wielaard * gnu/testlet/java/io/ObjectInputOutput/SerTest.java: Extend SerBase, not TestSerBase. 2002-12-13 David J. King * gnu/testlet/java/io/CharArrayWriter/BasicTests.java: New test. * gnu/testlet/java/io/CharArrayWriter/ProtectedVars.java: New test. 2002-12-13 Mark Wielaard * gnu/testlet/java/io/ObjectInputOutput/SerTest.java: New test. * gnu/testlet/java/io/ObjectInputOutput/SerBase.java: New helper. 2002-12-13 Mark Wielaard * gnu/testlet/java/io/DataInputStream/ReadStream.java: Add comment about copied methods in DataOutputStream tests since braindead Uses doesn't handle packages. * gnu/testlet/java/io/DataInputStream/ReadStream2.java: Likewise. * gnu/testlet/java/io/DataOutputStream/WriteRead.java: Copy method from DataInputStream and remove Uses.. * gnu/testlet/java/io/DataOutputStream/WriteRead2.java: Likewise. * gnu/testlet/java/lang/reflect/Method/toString.java: Don't call System.out.println(). * gnu/testlet/java/net/DatagramSocket/DatagramSocketTest.java: Use harness.debug(e) not e.printStackTrace() * gnu/testlet/java/lang/Class/reflect2.java: Use getClass(String) to workaround gcj linker issues with inner classes. 2002-12-12 Mark Wielaard * gnu/testlet/java/security/SecureRandom/Instance.java: New test. * gnu/testlet/java/security/SecureRandom/MauveSecureRandom.java: New file. 2002-12-12 Mark Wielaard * gnu/testlet/java/util/ResourceBundle.java: Remove child variant tests. Fix check for resource with default Locale en_CA. 2002-12-12 Mark Wielaard * gnu/testlet/java/io/LineNumberReader.java (check): Add test for streams containing multiple \r and/or \n following each other. 2002-12-07 Mark Wielaard * gnu/testlet/java/net/URLClassLoader/getResourceBase.java (check): Add noncanonical flag. * gnu/testlet/java/net/URLClassLoader/getResource.java (test): Use noncanonical flag when appropriate. * gnu/testlet/java/net/URLClassLoader/getResourceRemote.java (test): Likewise. 2002-12-06 Mark Wielaard * gnu/testlet/java/net/Socket/SocketTest.java: Only show stack traces with harness.debug(). Make sure non-existing hosts really don't exist. Enable get/setSoTimeOut tests. 2002-12-04 Tom Tromey * gnu/testlet/java/lang/Class/reflect.java: Uses rf_help. 2002-12-01 Mark Wielaard * gnu/testlet/java/net/Socket/SocketTest.java: Make sure server sockets are always closed and different tests use different ports to listen on. * gnu/testlet/java/net/ServerSocket/BasicBacklogSocketServer.java: Likewise. * gnu/testlet/java/net/ServerSocket/BasicSocketServer.java: Likewise. * gnu/testlet/java/net/ServerSocket/ServerSocketTest.java: Likewise. * gnu/testlet/java/net/Socket/SocketBServer.java: Likewise. * gnu/testlet/java/net/Socket/SocketServer.java: Likewise. 2002-12-01 Mark Wielaard * gnu/testlet/java/net/Socket/SocketTest.java: Make sure sockets always bind to different local ports and are always closed. 2002-11-29 Mark Wielaard * gnu/testlet/java/net/InetAddress/InetAddressTest.java: Make toString() test less strict, only check that it contains host address. 2002-11-29 John Leuner * gnu/testlet/java/lang/reflect/Method/toString.java: added extra test for method with multi-dimensional array in argument 2002-11-29 Mark Wielaard * gnu/testlet/java/io/DataOutputStream/writeUTF.java: New test. 2002-11-29 Mark Wielaard * gnu/testlet/java/io/File/canWrite.java: New test. 2002-11-29 Mark Wielaard * gnu/testlet/java/io/File/list.java: New test. * gnu/testlet/java/io/File/newFile.java: New test. 2002-11-24 Daryl Lee * gnu/testlet/java/io/ByteArrayOutputStream/write.java: complete method tests for class 2002-11-24 Daryl Lee * gnu/testlet/java/io/ByteArrayOutputStream: created directory for adding complete method tests for class 2002-11-24 Daryl Lee * gnu/testlet/java/io/PipedStream/Test.java: Added available() to complete method tests for PipedInputStream 2002-11-23 Daryl Lee * gnu/testlet/java/io/PipedReaderWriter/PipedTestWriter.java: Added flush() to complete method tests for PipedWriter 2002-11-23 Daryl Lee * gnu/testlet/java/io/PipedReaderWriter/Test.java: Added close() to complete method tests for PipedReader 2002-11-23 Mark Wielaard * gnu/testlet/java/net/URLClassLoader/getResourceBase.java: New base class to make gcj native code linking happy. * gnu/testlet/java/net/URLClassLoader/getResource.java: extend Base. * gnu/testlet/java/net/URLClassLoader/getResourceRemote.java: Likewise. 2002-11-22 Mark Wielaard * gnu/testlet/java/net/URLClassLoader/getResourceRemote.java: New test. * gnu/testlet/java/net/URLClassLoader/getResource.java: Make reusable. * gnu/testlet/java/net/URL/URLTest.java: Add sanity checks and debug. 2002-11-21 Daryl Lee * gnu/testlet/java/io/BufferedCharWriter: Renamed to BufferedWriter to match classname * gnu/testlet/java/io/BufferedWriter/Test.java: Changed package name accordingly. 2002-11-21 Daryl Lee * gnu/testlet/java/io/BufferedOutputStream/interrupt.java: * gnu/testlet/java/io/BufferedOutputStream/helper.java: * gnu/testlet/java/io/BufferedOutputStream/Test.java: Corrected package names in each source file; Fixed date on ChangeLog entry immediately below 2002-11-21 Daryl Lee * gnu/testlet/java/io/BufferedOutputByteStream: Renamed directory to BufferedOutputStream to match classname 2002-11-20 Stephen Crawley * gnu/testlet/java/net/ServerSocket/ServerSocketTest.java: replace e.printStackTrace() with harness.debug(e) * gnu/testlet/java/net/ServerSocket/MulticastSocketTest.java: ditto * gnu/testlet/java/net/ServerSocket/SocketTest.java: ditto + other tidyups 2002-11-17 Stephen Crawley * gnu/testlet/java/net/Socket/SocketBServer.java: fixed indentation * gnu/testlet/java/net/Socket/SocketServer.java: ditto * gnu/testlet/java/net/Socket/SocketTest.java: ditto * Makefile.in, aclocal.m4, configure: removed from CVS 2002-11-16 Daryl Lee * gnu/testlet/java/io/BufferedCharWriter/Test.java: Added tests for remaining methods in BufferedWriter This directory will be renamed to match classname 2002-11-16 Daryl Lee * gnu/testlet/java/io/StringWriter/Test.java: Added tests for remaining methods in StringWriter 2002-11-16 Daryl Lee * gnu/testlet/java/io/StreamTokenizer/misc.java: Add file Added tests for remaining methods in StreamTokenizer 2002-11-16 Daryl Lee * gnu/testlet/java/io/StreamTokenizer/slashslash.java: removed extra debug statement * gnu/testlet/java/io/StreamTokenizer/commentchar.java: Add file Added test for commentChar() method, to set new comment char, like '#' 2002-11-16 Daryl Lee * gnu/testlet/java/io/StreamTokenizer/slashslash.java: Add file Added test for // comments (method slashSlashComments()) 2002-11-17 Stephen Crawley * gnu/testlet/java/net/ServerSocket/ServerSocketTest.java: Use harness.check(), pass harness object to threads, and try to kill off the server threads * gnu/testlet/java/net/ServerSocket/BasicBacklogSocketServer.java: ditto * gnu/testlet/java/net/ServerSocket/BasicSocketServer.java: ditto * gnu/testlet/java/net/ServerSocket/MyBasicSocketServer.java: ditto 2002-11-14 Mark Wielaard * gnu/testlet/SimpleTestHarness.java (getResourceStream): More info on a ResourceNotFoundException. * gnu/testlet/java/io/ObjectStreamClass/Test.java: Removed non-inner classes and use correct // Uses: idiom. (testToString): Test either class name or suid. * gnu/testlet/java/io/ObjectStreamClass/A.java: New class from Test. * gnu/testlet/java/io/ObjectStreamClass/B.java: Likewise. * gnu/testlet/java/io/ObjectStreamClass/C.java: Likewise. * gnu/testlet/java/io/ObjectStreamClass/Defined.java: Likewise. * gnu/testlet/java/io/ObjectStreamClass/DefinedNotFinal.java: Likewise. * gnu/testlet/java/io/ObjectStreamClass/DefinedNotStatic.java: Likewise. * gnu/testlet/java/io/ObjectStreamClass/NotSerial.java: Likewise. * gnu/testlet/java/io/ObjectStreamClass/Serial.java: Likewise. 2002-11-14 Daryl Lee * gnu/testlet/java/io/RandomAccessFile/jdk11.java Cleaned up unused code that was offending VMS. 2002-11-13 Daryl Lee * gnu/testlet/java/io/SequenceInputStream.java Added tests to complete testing of all methods 2002-11-13 Daryl Lee * gnu/testlet/java/io/PushbackReader/Unread.java Added tests to complete testing of all methods (above date is my local time) 2002-11-14 Stephen Crawley * gnu/testlet/java/net/ServerSocket/BasicBacklogSocketServer.java: cosmetic changes only - reindented, etc * gnu/testlet/java/net/ServerSocket/BasicSocketServer.java: ditto * gnu/testlet/java/net/ServerSocket/MyBasicSocketServer.java: ditto * gnu/testlet/java/net/ServerSocket/MyServerSocket.java: ditto * gnu/testlet/java/net/ServerSocket/ServerSocketTest.java: ditto 2002-11-13 C. Brian Jones * gnu/testlet/java/beans/Introspector/jdk11.java (test): add checks for other 1.1 member functions of Introspector; remove failing checks against classes that change often and use new checks against A, B, and C in this package. * gnu/testlet/java/beans/Introspector/A.java: new file * gnu/testlet/java/beans/Introspector/B.java: new file * gnu/testlet/java/beans/Introspector/C.java: new file * gnu/testlet/java/beans/Introspector/jdk12.java (test): check values of static final fields to match the specification 2002-11-06 Tom Tromey * gnu/testlet/java/util/Random/basic.java (test): Added regression test for Classpath bug. 2002-11-06 Daryl Lee * gnu/testlet/java/io/InputStreamReader/jdk11: Added tests to complete testing of all methods 2002-11-03 Mark Wielaard * gnu/testlet/java/util/ArrayList/serial.java: New test. * gnu/testlet/java/util/ArrayList/ArrayList.ser: New file. 2002-11-03 Mark Wielaard * gnu/testlet/java/lang/Class/reflect.java: Add array class checks. * mauve/gnu/testlet/java/lang/Class/reflect2.java: Uses rf_help. * gnu/testlet/java/lang/Class/rf_help.java: Prevent creation of synthetic methods. 2002-10-28 Mark Wielaard * gnu/testlet/java/io/FileInputStream/read.java: New test. * gnu/testlet/java/io/FileOutputStream/write.java: New test. * gnu/testlet/java/io/InputStreamReader/except.java: Show debug. 2002-10-27 Mark Wielaard * gnu.testlet.java.lang.StringBuffer.StringBufferTest (test_insert): Test for IndexOutOfBoundException not NullPointerException. 2002-10-28 Stephen Crawley * gnu/testlet/java/lang/Class/reflect.java: Added tests for getField and getDeclaredField with inherited fields. 2002-10-26 Daryl Lee * gnu/testlet/java/io/PushbackInputStream: Added tests for available() and markSupported(), to complete method tests. 2002-10-26 Mark Wielaard * gnu/testlet/java/net/URLClassLoader/getResource.java: New test. 2002-10-26 Eric Blake * gnu/testlet/java/util/LinkedHashMap/LinkedHashMapTest.java: New test. 2002-10-25 Mark Wielaard * gnu/testlet/java/lang/reflect/Method/equals.java: Add null check. 2002-10-25 Mark Wielaard * gnu/testlet/java/io/File/listFiles.java: New test. 2002-10-23 Stephen Crawley * gnu/testlet/java/lang/Class/ClassTest.java: fix subtest #2 for Class.getClassLoader() to check for JDK 1.3/1.4 behaviour 2002-10-21 Stephen Crawley * gnu/testlet/java/lang/Class/reflect2.java: Completed tests for inner class introspection methods. (No testing of security yet) * gnu/testlet/java/lang/Class/reflect.java: ditto * gnu/testlet/java/lang/Class/rf2_help.java: ditto * gnu/testlet/java/lang/Class/rf_help.java: ditto 2002-10-20 Stephen Crawley * gnu/testlet/java/lang/Class/ClassTest.java: Rejigged to use 'harness.check(...)' rather than 'if (!...) { harness.fail(...) } * gnu/testlet/java/lang/Class/reflect.java: Cosmetic tidyups. 2002-10-19 Stephen Crawley * gnu/testlet/java/lang/Class/reflect2.java: New test for the inner class reflection methods. * gnu/testlet/java/lang/Class/rf2_help.java: Helper for above test. * gnu/testlet/java/lang/Class/ClassTest.java: Tidied up some error reporting and indentation 2002-10-18 Mark Wielaard * gnu/testlet/java/net/URL/URLTestjava: change "sourceware.cygnus.com" to "sources.redhat.com". 2002-10-16 Daryl Lee * gnu/testlet/java/io/LineNumberReader/Test.java: completed remaining method tests 2002-10-16 Daryl Lee * the following four files complete remaining methods for java.io.DataInputStream and java.io.DataOutputStream (JDK 1.1) * gnu/testlet/java/io/DataOutputStream/WriteRead2.java * gnu/testlet/java/io/DataInputStream/ReadStream2.java * gnu/testlet/java/io/DataInputStream/ReadReference22.java * gnu/testlet/java/io/DataInputStream/reference2.data 2002-10-13 Mark Wielaard * gnu/testlet/java/security/Security/provider.java: Preference positions are 1 based. 2002-10-13 Mark Wielaard * gnu/testlet/java/security/Provider/NameVersionInfo.java: New test. * gnu/testlet/java/security/Security/property.java: New test. * gnu/testlet/java/security/Security/provider.java: New test. * gnu/testlet/java/security/MessageDigest/Instance.java: New test. * gnu/testlet/java/security/MessageDigest/MauveDigest.java: New file. * gnu/testlet/java/security/Signature/Instance.java: New test. * gnu/testlet/java/security/Signature/MauveSignature.java: New file. 2002-10-13 Mark Wielaard * gnu/testlet/SimpleTestHarness.java: Add two argument constructor. 2002-10-13 Mark Wielaard * gnu/testlet/SimpleTestHarness.java: Add -resultsonly flag. * README: Document -resultsonly flag. 2002-10-12 Mark Wielaard * gnu/testlet/java/net/Socket/SocketAddress.java: Removed. * gnu/testlet/java/net/Socket/MySocket.java: Removed. * gnu/testlet/java/net/Socket/MySocketImpl.java: Removed. * gnu/testlet/java/net/Socket/SocketTest.java: Don't use above classes. 2002-10-12 Mark Wielaard * gnu/testlet/java/net/Socket/SocketAddress.java: New not-a-test. * gnu/testlet/java/net/Socket/SocketTest.java: Uses SocketAddress. 2002-10-11 Mark Wielaard * gnu/testlet/java/sql/Blob/BlobTest.java: Make it compile with JDBC3.0. * gnu/testlet/java/sql/Clob/ClobTest.java: Likewise. * gnu/testlet/java/sql/Connection/TestJdbc10.java: Removed. * gnu/testlet/java/sql/Connection/TestJdbc20.java: Removed. * gnu/testlet/java/sql/Connection/TestJdbc.java: Merge of above two test cases that should now work with any JDBC version. * gnu/testlet/java/sql/DatabaseMetaData/TestJdbc10.java: Removed. * gnu/testlet/java/sql/DatabaseMetaData/TestJdbc20.java: Removed. * gnu/testlet/java/sql/DatabaseMetaData/TestJdbc.java: Merge of above two test cases that should now work with any JDBC version. 2002-10-09 Daryl Lee * Renamed gnu/testlet/java/io/DataInputOutput to .../DataOutputStream to make directory name align with java.io package class names * Moved read-oriented tests to .../DataInputStream * Fixed associated package and paths 2002-10-09 Daryl Lee * Corrected conflict in this file in 2002-09-20 comments * Added hashcode() test to gnu/testlet/java/io/File/jdk11.java * Added ready() and skip() test to gnu/testlet/java/io/BufferedReader/boundary.java 2002-10-05 Mark Wielaard * gnu/testlet/java/lang/Thread/isAlive.java: Don't hold lock on Thread while calling join(). * gnu/testlet/java/lang/Thread/daemon.java: Split started, running and stopped test cases. * gnu/testlet/java/lang/Thread/priority: Likewise. * gnu/testlet/java/lang/Thread/getThreadGroup.java: Add explicit null check 2002-10-05 Mark Wielaard * gnu/testlet/java/lang/Thread/join.java: New Test. 2002-10-05 Mark Wielaard * gnu/testlet/java/lang/Thread/interrupt.java: New Test. * gnu/testlet/java/lang/Thread/name.java: New Test. * gnu/testlet/java/lang/Thread/daemon.java: New Test. * gnu/testlet/java/lang/Thread/priority.java: New Test. * gnu/testlet/java/lang/Thread/isAlive.java: New Test. 2002-10-05 Mark Wielaard * gnu/testlet/java/lang/System/identityHashCode.java: New Test. * gnu/testlet/java/lang/Thread/getThreadGroup.java: New test. 2002-09-28 Stephen Crawley * gnu/testlet/java/lang/Double/DoubleTest.java (test_valueOf): Tidied up test; message strings etcetera. * gnu/testlet/java/lang/Float/FloatTest.java (test_valueOf): ditto * gnu/testlet/java/lang/Double/DoubleTest.java (test_parseDouble): Added subtests for Double.parseDouble * gnu/testlet/java/lang/Float/FloatTest.java (test_parseFloat): ditto Added subtests for Float.parseFloat 2002-09-28 Stephen Crawley * gnu/testlet/java/lang/Double/DoubleTest.java (test_toString): Added comment to subtest #10 about failure on Sun JDKs. * gnu/testlet/java/lang/Float/FloatTest.java (test_toString): ditto 2002-09-26 Stephen Crawley * gnu/testlet/java/lang/Double/DoubleTest.java (test_shortbyteValue): Reverted test for truncation in byteValue() to match JDK 1.4 spec and implementation. [This was incorrectly 'fixed' on 2002-06-13.] * gnu/testlet/java/lang/Float/FloatTest.java (test_shortbyteValue): ditto 2002-09-25 Eric Blake * gnu/testlet/java/lang/String/CASE_INSENSITIVE_ORDER.java (test): Updated to behavior specified in JDK 1.4.1. 2002-09-20 Daryl Lee * Added remaing java.io.BufferedInputStream method tests to SimpleRead.java 2002-09-16 Daryl Lee * removed gnu/testlet/java/io/RandomAccssFile/raf.java in favor of jdk11.java 2002-09-16 Daryl Lee * gnu/testlet/java/io/RandomAccessFile/jdk11.java: Full test of all methods and constructors in class. Supersedes raf.java 2002-09-14 Stephen Crawley * .cvsignore: New file. Tell CVS to ignore various generated files, log files, temporary files and so on. * gnu/testlet/.cvsignore: Ignore config.java - it is generated * CVSROOT/cvsignore: New File. Ignore all Java bytecode files. * gnu/testlet/java/io/RandomAccessFile/raf.java: Avoid going into an infinite loop if seekBytes seeks beyond the end-of-file. 2002-09-11 Tom Tromey * gnu/testlet/java/net/Socket/MySocketImpl.java (connect, sendUrgentData): Add dummy implementations from 1.4. 2002-09-03 Tom Tromey * gnu/testlet/java/lang/Class/reflect.java (test) [getMethod with superinterface]: Pass `false' as `declared' argument to getMethod. 2002-09-01 Mark Wielaard * gnu/testlet/java/net/Socket/MySocketImpl.java: Add dummy implementations for shutdownInput() and shutdownOutput() from 1.3. 2002-08-15 Mark Wielaard * gnu/testlet/java/lang/String/getBytes.java: Add two tests for substrings. 2002-08-13 Tom Tromey * gnu/testlet/java/io/RandomAccessFile/raf.java (test): Don't use System.out. * gnu/testlet/java/io/RandomAccessFile/raf.java: New file. Derived from test by Jesse Rosenstock . 2002-07-30 Mark Wielaard * gnu/testlet/java/lang/String/equals.java: New test. 2002-07-21 Mark Wielaard * gnu/testlet/java/lang/Integer/parseInt.java: New extra tests. 2002-07-20 Mark Wielaard * gnu/testlet/java/io/PrintStream/subclass.java: Use dummy ByteArrayOutputStream, System.out may interfere with test results. * gnu/testlet/java/net/ServerSocket/MyBasicSocketServer.java: Use harness.debug() not System.err.println(). * gnu/testlet/java/io/StreamTokenizer/newline.java: Use URLEncoder to keep newlines and returns out of the results. * gnu/testlet/java/util/Properties/AcuniaPropertiesTest.java: Remove explicit '\n' in test result output, add th.debug(). 2002-07-18 Mark Wielaard * java/text/DecimalFormat/parse.java: rename parse() to parseIt() to get rid of compiler warnings. 2002-07-16 Mark Wielaard * gnu/testlet/java/io/StreamTokenizer/WordWhiteChars.java: New test for resetting chars. 2002-07-12 Mark Wielaard * choose: Also check in in/exclusion of javax.* tests, don't look for com.* tests. 2002-07-05 Tom Tromey * gnu/testlet/java/lang/Class/reflect.java (test): Check for getMethod with superinterface. 2002-07-02 Tom Tromey * gnu/testlet/java/text/MessageFormat/format.java: Added new test for Classpath bug. From David Hovemeyer . 2002-06-18 Tom Tromey * gnu/testlet/java/lang/Class/ClassTest.java (test_getSuperclass): Fix typos. * gnu/testlet/java/lang/Class/ClassTest.java (test_getSuperclass): Test interface, void, and a primitive type. * gnu/testlet/java/io/BufferedReader/boundary.java (test): mark() doesn't reset read pointer. 2002-06-13 Tom Tromey * Makefile.in: Rebuilt. * Makefile.am (check-local): Set CLASSPATH. From Guillame Audeon. From Timothy Stack: * gnu/testlet/java/io/BufferedByteOutputStream/interrupt.java (getCount): New method (test): Use it. * gnu/testlet/java/io/PrintStream/subclass.java (subclass): Don't pass `null' to superclass constructor. From Dalibor Topic. * gnu/testlet/java/lang/Float/FloatTest.java (test_shortbyteValue): Fixed cast to byte of `400'. * gnu/testlet/java/lang/Double/DoubleTest.java (test_shortbyteValue): Fixed cast to byte of `400'. 2002-06-12 Tom Tromey * gnu/testlet/java/io/File/jdk11.java (test): Added test for File with empty path. 2002-05-13 Tom Tromey * configure, Makefile.in: Rebuilt. * configure.in: Invoke AC_PROG_CC, AM_PROG_GCJ. * Makefile.am (SimpleTestHarness_LINK): Removed. (JAVACFLAGS): Renamed from JCFLAGS. (JC1FLAGS): Removed. (%.o): Use GCJFLAGS. (AUTOMAKE_OPTIONS): Use subdir-objects, no-dependencies. (SimpleTestHarness_SOURCES): Use harness_files. (SimpleTestHarness_LDADD): Don't mention harnesso_files. (SimpleTestHarness$(EXEEXT)): Removed. (harnesso_files): Removed. (AM_GCJFLAGS): New variable. 2002-05-11 Mark Wielaard * gnu/testlet/java/text/BreakIterator/sentiter.java: Add test for dot.return. * gnu/testlet/java/util/AbstractMap/EIterator.java: Mark not-a-test. * gnu/testlet/java/util/AbstractMap/ESet.java: Likewise. * gnu/testlet/java/util/AbstractMap/Entry.java: Likewise. 2002-05-01 John Leuner * gnu/testlet/java/net/DatagramSocket/DatagramSocketTest2.java: deleted broken zero length buffer test. (Dalibor Topic) 2002-04-30 Tom Tromey * gnu/testlet/java/io/BufferedReader/boundary.java: New file. 2002-04-17 Mark Wielaard * gnu/testlet/java/net/InetAddress/InetAddressTest.java (test_Basics): If machine has multiple interfaces address array can have multiple entries. * gnu/testlet/java/lang/System/getProperty.java: New class. 2002-04-15 Mark Wielaard * gnu/testlet/java/text/AttributedCharacterIterator/CharItImpl.java: New package private class. * gnu/testlet/java/text/AttributedCharacterIterator/implement.java: Uses CharItImpl. 2002-04-15 Mark Wielaard * gnu/testlet/java/util/AbstractMap/AcuniaAbstractMapTest.java: Remove inner classes. * gnu/testlet/java/util/AbstractMap/EIterator.java: New class. * gnu/testlet/java/util/AbstractMap/ESet.java: New class. * gnu/testlet/java/util/AbstractMap/Entry.java: New class. 2002-04-15 Mark Wielaard * gnu/testlet/java/io/PipedStream/close.java: Use harness.debug(). 2002-04-14 Mark Wielaard * gnu/testlet/java/net/URLConnection/URLConnectionTest.java: (test_URLConnection): getInputStream() and getOutputStream() should throw UnknownServiceException. Make toString check less strict. sourceware.cygnus.com -> sources.redhat.com. Don't depend on order of HeaderFields. 2002-04-07 Mark Wielaard * gnu/testlet/java/util/HashMap/AcuniaHashMapTest.java (test_HashMap(): new HashMap(10,1.5f) has a loadFactor of 1.5f. (test_entrySet): it.hasNext after hm.remove should throw ConcurrentModificationException. setValue through iterator of entrySet on a HashMap should succeed. 2002-04-06 Mark Wielaard * gnu/testlet/java/util/AbstractList/AcuniaAbstractListTest.java (test_iterator): Second hasNext() ConcurrentModificationException check removed. (add): Only update modCount when edit == true. (set): Never update modCount. 2002-04-05 Mark Wielaard * gnu/testlet/java/util/ArrayList/AcuniaArrayListTest.java (test_MC_iterator): Remove ConcurrentModificationException check for set(int,Object). * gnu/testlet/java/util/LinkedList/AcuniaLinkedListTest.java (test_iterator): Likewise. * gnu/testlet/java/util/AbstractSequentialList/AcuniaAbstractSequentialListTest.java (test_iterator): Likewise. * gnu/testlet/java/util/Vector/AcuniaVectorTest.java (test_iterator): Likewise and also for setElementAt(Object,int) 2002-04-05 Mark Wielaard * gnu/testlet/java/io/File/jdk11.java (test): Make sure that file exists before calling getCanonicalPath(). * gnu/testlet/java/lang/reflect/Method/invoke.java (test): Expect IllegalArgument exception when argument for a method that takes an int is null. * gnu/testlet/java/net/ServerSocket/ServerSocketTest.java (test_params): Make toString() tests less strict, just check if they contain the ip number. * gnu/testlet/java/net/Socket/SocketTest.java (test_BasicServer): Make available() test less strict. (test_params): Use well known hosts. Make toString() tests less strict. Drop comparison with getLocalHost() which is invalid if machine has multiple interfaces. * gnu/testlet/java/net/URL/URLTest.java (test_openConnection): Be less strict in server name/version (Apache) and content type (text/html) (test_openStream): Be less strict in actual content (HTML). 2002-04-03 Mark Wielaard * gnu/testlet/java/util/AbstractCollection/AcuniaAbstractCollectionTest.java: Make self contained, extend AbstractCollection, removed test_add(). * gnu/testlet/java/util/AbstractCollection/AcuniaAddCollection.java: Removed, moved into AcuniaAbstractCollectionTest. * gnu/testlet/java/util/AbstractCollection/AcuniaAddCollectionTest.java: New file, self contained testlet based on AcuniaAddCollection and test_ad(). * gnu/testlet/java/util/AbstractCollection/AcuniaExAbstractCollection.java: Removed, moved into AcuniaAddCollectionTest. * gnu/testlet/java/util/AbstractList/AcuniaAbstractListTest.java: Make self contained, extends AbstractList. * gnu/testlet/java/util/AbstractList/AcuniaExAbstractList.java: Removed, moved into AcuniaAbstractListTest. * gnu/testlet/java/util/AbstractMap/AcuniaAbstractMapTest.java: Make self contained, extends AbstractMap. * gnu/testlet/java/util/AbstractMap/AcuniaExAbstractMap.java: Removed, moved into AcuniaAbstractMapTest. * gnu/testlet/java/util/AbstractSequentialList/AcuniaAbstractSequentialListTest.java: Make self contained, extends AbstractSequentialList. * gnu/testlet/java/util/AbstractSequentialList/AcuniaExASList.java: Removed, moved into AcuniaAbstractSequentialListTest. * gnu/testlet/java/util/AbstractSet/AcuniaAbstractSetTest.java: Make self contained, extends AbstractSet. * gnu/testlet/java/util/AbstractSet/AcuniaExAbstractSet.java: Removed, moved into AcuniaAbstractSetTest. * gnu/testlet/java/net/InetAddress/InetAddressTest.java: Use savannah.gnu.org since hpjavaux.cup.hp.com does no longer exist. * gnu/testlet/java/lang/reflect/Modifier/toString12.java: Check for strictfp not just strict. Add check for full ordering. 2002-04-02 Mark Wielaard * gnu/testlet/java/util/ArrayList/AcuniaArrayListTest.java: Make self contained, extend ArrayList. * gnu/testlet/java/util/ArrayList/AcuniaExArrayList.java: Removed, moved into AcuniaArrayListTest. * gnu/testlet/java/util/Vector/AcuniaVectorTest.java: Make self contained, extend Vector. * gnu/testlet/java/util/Vector/AcuniaExVector.java: Removed, moved into AcuniaVectorTest. 2002-04-02 Mark Wielaard * gnu/testlet/java/beans/Introspector/jdk11.java (tryone): Catch all Throwables. * gnu/testlet/java/lang/Float/FloatTest.java (test_valueOf): Catch more Exceptions. * gnu/testlet/java/lang/Integer/getInteger.java (test): Catch NullPointerException. * gnu/testlet/java/lang/Long/LongTest.java (test_getLong): Likewise. * gnu/testlet/java/lang/Long/getLong.java (test): Likewise. * gnu/testlet/java/net/DatagramSocket/DatagramSocketTest2.java (invalid_receive_data): Catch IllegalArgumentException. * gnu/testlet/java/net/InetAddress/InetAddressTest.java (test_Basics): Catch NullPointerException. * gnu/testlet/java/util/AbstractMap/AcuniaAbstractMapTest.java (test_putAll): Catch NoSuchElementException. * gnu/testlet/java/util/HashMap/AcuniaHashMapTest.java (test_entrySet): Catch ConcurrentModificationException. * gnu/testlet/java/util/Vector/AcuniaVectorTest.java (test_removeRange): Catch IllegalArgumentException. 2002-04-01 Mark Wielaard * gnu/testlet/java/util/BitSet/jdk10.java: remove size() check. * gnu/testlet/java/util/BitSet/AcuniaBitSetTest.java: remove size() checks, extra bits of other BitSet with or/xor are used. * gnu/testlet/java/lang/ThreadLocal/simple.java: Make self contained. * gnu/testlet/java/lang/Integer/getInteger.java: Likewise. * gnu/testlet/java/io/File/jdk11.java: Likewise. * gnu/testlet/java/io/File/DocFilter.java: Removed, moved into jdk11. 2002-02-18 Mark Wielaard * gnu/testlet/java/lang/reflect/Method/equals.java: new file. 2002-02-18 C. Brian Jones * gnu/testlet/java/beans/IntrospectorTest.java: renamed gnu/testlet/java/beans/Introspector/jdk11.java (test): check static method Introspector.decapitalize(String) * gnu/testlet/java/beans/Introspector: new directory * gnu/testlet/java/beans/Introspector/jdk12.java: new file 2002-02-18 Mark Wielaard * gnu/testlet/java/util/IdentityHashMap/simple.java: JDK1.3 -> JDK1.4 2002-02-18 Mark Wielaard * gnu/testlet/java/lang/String/indexOf.java: Add checks for empty strings. 2002-02-16 C. Brian Jones * missing: updated to automake 1.5 * gnu/testlet/java/io/File/jdk11.java: new file * gnu/testlet/java/io/File/DocFilter.java: new file * gnu/testlet/java/text/MessageFormat/format.java (format): renamed myformat because a class cannot have a method that has a return type, i.e. is not a constructor, of the same name as the class. (test): method name change handled * gnu/testlet/java/sql/Connection/TestJdbc10.java: import java.util.Map * gnu/testlet/java/sql/Types/TestJdbc10.java: added !JDK1.2 and !JDBC2.0 tags * gnu/testlet/config.java.in (getPathSeparator): new method (getSeparator): new method New field pathSeparator is similar to File pathSeparator, used to test File class. New field separator is similar to File separator, used to test File class. * gnu/testlet/SimpleTestHarness.java (getPathSeparator): new method (getSeparator): new method * acinclude.m4: macro include file for aclocal.m4 * config.guess: from automake, now required * config.sub: from automake, now required * aclocal.m4: updated * configure.in: added call to ACX_CHECK_PATHNAME_STYLE_DOS * configure: updated * Makefile.in: updated * choose: search com java javax instead of just java 2002-02-11 C. Brian Jones * Makefile.am: add user's CLASSPATH to CLASSPATH when attempting to run a javac-type program. Fix rules for SimpleTestHarness to use $(EXEEXT), works with automake 1.5 this way. * aclocal.m4: updated * configure: updated * Makefile.in: updated 2001-11-25 Tom Tromey * gnu/testlet/java/math/BigDecimal/construct.java: New file. * gnu/testlet/java/lang/reflect/Method/invoke.java (try_invoke): Pass both classes to check(). * gnu/testlet/java/lang/reflect/Array/newInstance.java (test): Removed more invalid tests. 2001-10-04 C. Brian Jones * gnu/testlet/java/net/Socket/SocketTest.java (test_Basics): Removed try/catch for a block that cannot throw a checked exception. 2001-10-01 Tom Tromey * gnu/testlet/java/lang/reflect/Array/newInstance.java (test): Commented out incorrect test. 2001-09-27 Tom Tromey * gnu/testlet/java/util/IdentityHashMap/simple.java: New file. * gnu/testlet/java/lang/ThreadLocal/simple.java: New file. * gnu/testlet/javax/naming/CompositeName/composite.java: New file. * gnu/testlet/javax/naming/CompoundName/simple.java: New file. * gnu/testlet/java/lang/ref/PhantomReference/phantom.java: New file. * gnu/testlet/java/lang/ref/WeakReference/weakref.java: New file. 2001-09-27 Tom Tromey * gnu/testlet/java/io/BufferedByteOutputStream/interrupt.java: Added `uses' line. 2001-09-04 Tom Tromey * gnu/testlet/java/lang/String/CASE_INSENSITIVE_ORDER.java (test): There is no single-argument Locale constructor in JDK 1.2. 2001-09-03 Eric Blake * gnu/testlet/java/lang/String/CASE_INSENSITIVE_ORDER.java: Added new test class. 2001-08-23 Tom Tromey * gnu/testlet/java/lang/reflect/Method/toString.java (test): Added test for method with array argument. 2001-08-19 John Leuner * gnu/testlet/java/lang/Math/min.java: added some more tests for min that don't use string comparisons 2001-08-11 John Leuner * gnu/testlet/java/text/ChoiceFormat/format.java (test): changed format to doformat (doformat): changed name from format (conflicted with class name) 2001-08-09 Eric Blake * gnu/testlet/java/lang/StringBuffer/plus.java (test): fix test to match JDK1.4 * gnu/testlet/java/lang/reflect/Method/invoke.java (test): fix test to match JDK1.4 * gnu/testlet/java/lang/reflect/Constructor/newInstance.java (test): fix test to match JDK1.4 * gnu/testlet/java/lang/reflect/Array/newInstance.java (test): added more tests 2001-08-09 John Leuner * gnu/testlet/java/lang/Math/min.java: added checkpoints * gnu/testlet/java/lang/System/arraycopy.java: Added checkPoint()s for various cases * gnu/testlet/java/lang/Object/clone.java: Added check that arrays have same length, type, component type 2001-08-09 John Leuner * gnu/testlet/java/lang/reflect/Array/newInstance.java: Fixed original test Added test for Integer.TYPE Added test for String.class Added test for NegativeArraySizeException 2001-08-09 Eric Blake * gnu/testlet/java/lang/Integer/getInteger.java (SM): fix ExceptionInInitializerError caused by security hole of last commit 2001-08-09 Eric Blake * gnu/testlet/java/lang/Integer/IntegerTest.java (test_toHexString): make more accurate (test_Basics): test Integer.TYPE * gnu/testlet/java/lang/Integer/new_Integer.java (test): add more tests, make more accurate * gnu/testlet/java/lang/Integer/getInteger.java (test): add more tests * gnu/testlet/java/lang/Integer/compareTo.java: new file 2001-07-31 Eric Blake * gnu/testlet/java/lang/Object/clone.java: new file * gnu/testlet/java/lang/Object/wait.java: new file * gnu/testlet/TestHarness.java (check): Remove dependence on possibly buggy Double.toString. 2001-06-08 Tom Tromey * gnu/testlet/java/io/BufferedByteOutputStream/interrupt.java: New file. * gnu/testlet/java/io/BufferedByteOutputStream/helper.java: New file. 2001-06-08 Tom Tromey * gnu/testlet/java/text/SimpleDateFormat/regress.java (dates): Added EST case again, reverting yesterday's change. It turns out to be correct. 2001-05-14 Tom Tromey * gnu/testlet/java/text/SimpleDateFormat/regress.java (dates): Removed `EST' case as it is simply wrong (and unfixable). * gnu/testlet/java/text/SimpleDateFormat/regress.java (test): Correctly extract timezone. 2001-05-13 Tom Tromey * gnu/testlet/java/text/SimpleDateFormat/regress.java (test): Added regression test for local timezone. 2001-05-11 Tom Tromey * gnu/testlet/java/text/SimpleDateFormat/regress.java (test): Fixed buglet in new tests. * gnu/testlet/java/text/SimpleDateFormat/regress.java (dates): New field. (test): Added timezone tests. 2001-05-10 Tom Tromey * gnu/testlet/java/util/Calendar/roll.java: New file. 2001-05-09 Tom Tromey * gnu/testlet/java/util/Calendar/add.java (test): Added no-op test. * gnu/testlet/java/util/Calendar/add.java: New file. 2001-05-08 Tom Tromey * gnu/testlet/java/text/DateFormatSymbols/Test.java: Added a new checkpoint. * gnu/testlet/java/util/Calendar/simple.java: Remove bogus test. 2001-05-01 Tom Tromey * gnu/testlet/java/text/SimpleDateFormat/regress.java: New file. * gnu/testlet/java/text/SimpleDateFormat/Test.java (test): Removed libgcj regression test. 2001-04-26 Tom Tromey * gnu/testlet/java/text/DateFormatSymbols/Test.java (test): Removed println. 2001-04-25 Jeff Sturm * gnu/testlet/java/util/Calendar/simple.java: New file. 2001-04-25 Tom Tromey * gnu/testlet/java/text/SimpleDateFormat/getAndSet2DigitYearStart.java (Test): Removed `get' test. 2001-04-24 Tom Tromey * gnu/testlet/java/text/SimpleDateFormat/Test.java (test): Added parsing regression test. 2001-04-02 Tom Tromey * gnu/testlet/java/io/PrintStream/subclass.java: New file. 2001-03-23 Tom Tromey * gnu/testlet/java/lang/Class/ClassTest.java (test_forName): Added test for `[int'. 2001-02-19 Tom Tromey * gnu/testlet/java/lang/ThreadGroup/enumerate.java: New file. 2001-02-13 Warren Levy * README: Included paragraph on ignoring expected failures with xfails. 2001-02-08 Tom Tromey * gnu/testlet/java/io/InputStreamReader/except.java: New file. 2001-02-08 Warren Levy * gnu/testlet/SimpleTestHarness.java (SimpleTestHarness): Moved code for reading xfails file from main. 2001-02-08 Warren Levy * gnu/testlet/SimpleTestHarness.java: Minor formatting fixes. (check): Compare failures against expected failures. (done): Print out totals for unexpected failures and passes. (main): Load expected failures file into Vector. 2001-02-07 Tom Tromey * gnu/testlet/java/text/MessageFormat/format.java (test): Added test for JDK compatibility. * gnu/testlet/java/util/Arrays/sort.java: New file. 2001-01-16 Warren Levy * gnu/testlet/java/math/BigInteger/shift.java: Added more test cases. 2001-01-16 Warren Levy * gnu/testlet/java/math/BigInteger/shift.java: New file. 2001-01-10 Warren Levy * gnu/testlet/java/math/BigDecimal/setScale.java: New file. 2000-12-20 Tom Tromey * gnu/testlet/java/lang/Class/ClassTest.java (test_getInterfaces): Arrays implement two interfaces. (testall): Don't run test_getResource. * gnu/testlet/java/lang/StringBuffer/plus.java (test): Fixed null-as-left-operand test to match JDK 1.2. 2000-12-08 Warren Levy * gnu/testlet/java/net/Socket/SocketBServer.java (harness): Made package private. * gnu/testlet/java/net/Socket/SocketServer.java: Restored calls to harness.fail. (harness): Made package private. * gnu/testlet/java/net/Socket/SocketTest.java (test_BasicServer): Set srv.harness. (test_BasicBServer): Set srv.harness. 2000-12-01 Warren Levy * gnu/testlet/java/sql/Connection/TestJdbc10.java: Added tag to indicate incompatibility with JDBC2.0. * gnu/testlet/java/sql/Connection/TestJdbc20.java: New test for JDBC 2.0. * gnu/testlet/java/sql/DatabaseMetaData/TestJdbc10.java: Added tag to indicate incompatibility with JDBC2.0. * gnu/testlet/java/sql/DatabaseMetaData/TestJdbc20.java: New test for JDBC 2.0. 2000-11-17 Tom Tromey * gnu/testlet/java/util/zip/ZipInputStream/close.java: New file. 2000-10-07 Tom Tromey * gnu/testlet/java/util/Properties/load.java: New file. 2000-09-06 Tom Tromey * gnu/testlet/java/lang/reflect/Method/toString.java: Correctly return result for method is `java.lang.String'. * gnu/testlet/java/lang/reflect/Constructor/newInstance.java: Allow null argument list for constructor with no arguments. * gnu/testlet/java/lang/reflect/Method/invoke.java: Allow null argument list for method with no arguments. 2000-08-09 Tom Tromey * gnu/testlet/java/io/StreamTokenizer/Test.java: New file. * gnu/testlet/java/io/StreamTokenizer/slashstar.java: New file. 2000-08-07 Tom Tromey * gnu/testlet/java/lang/reflect/Method/toString.java (test): Fixed bug. * gnu/testlet/java/lang/reflect/Method/toString.java: New file. 2000-08-05 Tom Tromey * gnu/testlet/java/io/PipedStream/receive.java (receive()): New constructor. 2000-08-04 Tom Tromey * gnu/testlet/java/io/StreamTokenizer/newline.java: New file. 2000-07-14 Tom Tromey * gnu/testlet/java/lang/Class/ClassTest.java (test_getClassloader): Use full name of ClassTest class. From sharon wu . 2000-07-10 Tom Tromey * gnu/testlet/java/io/PipedStream/receive.java: Fixed tag. Changed code to use `receive' and not `PipeTest'. From Peter Naulls. 2000-04-21 Tom Tromey * gnu/testlet/java/io/PipedStream/receive.java: New file. 2000-04-20 Tom Tromey * gnu/testlet/java/io/PipedStream/close.java: New file. 2000-03-08 Tom Tromey * gnu/testlet/java/lang/reflect/Array/newInstance.java: New file. 2000-03-05 Anthony Green * gnu/testlet/java/lang/Math/sin.java: New file. 2000-03-02 Anthony Green * gnu/testlet/java/net/URL/URLTest.java (test_toString): sourceware.cygnus.com has a new IP address. (test_openConnection): Sourceware is running a newer version of Apache. 2000-01-09 Anthony Green * gnu/testlet/java/lang/String/StringTest.java (test_getChars, test_getBytes): Don't check for StringIndexOutOfBoundsException or ArrayIndexOutOfBoundsException. The spec only mentions IndexOutOfBoundsException. 2000-01-07 Tom Tromey * gnu/testlet/java/lang/Class/ClassTest.java (test_forName): Use `check', not `fail'. Added check to make sure forName("I") fails. * gnu/testlet/java/lang/reflect/Constructor/newInstance.java: New file. 2000-01-06 Tom Tromey * gnu/testlet/java/lang/Class/reflect.java (test): Added tests for int.class. * gnu/testlet/java/lang/reflect/Method/invoke.java (test): Use `na_meth' and not `ti_meth' in null pointer test. Added some comments. 2000-01-05 Tom Tromey * gnu/testlet/java/lang/reflect/Method/invoke.java: Create Integer objects, not arrays of Integers. * gnu/testlet/java/lang/Class/reflect.java (test): Check for inherited method lookup. Fixed checkpoint name for getDeclaredMethods. Added getDeclaringClass test. Make getMethods test aware of methods in Testlet and Object. Actually call getDeclaredMethods and not getMethods in getDeclaredMethods check. * gnu/testlet/java/lang/Class/reflect.java (test): Added tests for getField, getDeclaredFields, getFields, getMethod, getMethods, getDeclaredMethod, getDeclaredMethods. (do_nothing): New method. (getMethod): Likewise. 2000-01-05 Dalibor Topic * gnu/testlet/java/lang/reflect/Method/invoke.java: Pass argument to InvocationTargetException constructor. 2000-01-04 Tom Tromey * gnu/testlet/java/lang/Class/reflect.java: New file. * gnu/testlet/java/lang/Class/rf_help.java: New file. 1999-12-24 Tom Tromey * gnu/testlet/SimpleTestHarness.java (debug): Formatting fix. 1999-12-23 Tom Tromey * gnu/testlet/java/lang/reflect/Method/invoke.java (try_invoke): Compare result class against expected class, not against `expect'. 1999-12-21 Tom Tromey * gnu/testlet/java/lang/reflect/Method/invoke.java: New file. * gnu/testlet/java/lang/reflect/Modifier/toString12.java: New file. 1999-11-09 Tom Tromey * gnu/testlet/java/io/ObjectInputOutput/OutputTest.java: Tag as JDK1.2. * gnu/testlet/java/io/ObjectInputOutput/InputTest.java: Tag as JDK1.2; the `Test' class uses a 1.2-specific feature. Sun Jul 25 01:26:40 1999 Anthony Green * gnu/testlet/java/io/ObjectStreamClass/Test.java: New file. All of these new files were contributed by Geoff Berry . * gnu/testlet/java/io/ObjectInputOutput/InputTest.java: New file. * gnu/testlet/java/io/ObjectInputOutput/OutputTest.java: New file. * gnu/testlet/java/io/ObjectInputOutput/Test.java: New file. * gnu/testlet/java/io/ObjectInputOutput/Test$BadField.data: New file. * gnu/testlet/java/io/ObjectInputOutput/Test$CallDefault.data: New file. * gnu/testlet/java/io/ObjectInputOutput/Test$Extern.data: New file. * gnu/testlet/java/io/ObjectInputOutput/Test$GetPutField.data: New file. * gnu/testlet/java/io/ObjectInputOutput/Test$HairyGraph.data: New file. * gnu/testlet/java/io/ObjectInputOutput/Test$NoCallDefault.data: New file. * gnu/testlet/java/io/ObjectInputOutput/Test$NotSerial.data: New file. * gnu/testlet/java/io/ObjectInputOutput/write-ref-data.sh: New file. * gnu/testlet/java/io/ObjectInputOutput/Test.java: New file. 1999-07-12 Warren Levy * gnu/testlet/java/net/ServerSocket/ServerSocketTest.java (test_params): Commented out dead code. * gnu/testlet/java/net/Socket/SocketTest.java (test_params): ditto. * gnu/testlet/java/net/URLConnection/MyURLConnection.java (connect): Removed unnecessary imports and unreachable code. 1999-07-07 Tom Tromey * gnu/testlet/java/lang/StringBuffer/StringBufferTest.java (test_append): Run null tests. * gnu/testlet/java/lang/String/StringTest.java (test_Basics): Don't disable null String test. * gnu/testlet/java/lang/Class/ClassTest.java: Removed `CYGNUS' comments. Fixed debugging prints to use test harness. (test_ComponentType): Uncommented. (testall): Call test_ComponentType and test_getClassloader. (test_getResource): Uncommented body. 1999-07-05 Tom Tromey * Makefile.am (harnesso_files): New macro. (SimpleTestHarness_LDADD): Added harnesso_files. (SimpleTestHarness): New target. * Makefile.in: Rebuilt. * Makefile.am ($(javao_files)): New conditional target. (STAMP): New macro. (SimpleTestHarness_DEPENDENCIES): Use it. (%.o:%.class): Now conditional. (%.o:%.java): New pattern. (check_DATA): Use $(STAMP). * configure: Rebuilt. * configure.in: If --with-gcj given, then default JAVAC to `gcj -C'. Added --enable-classes. 1999-07-05 Tom Tromey * gnu/testlet/java/io/Utf8Encoding/mojo.java: New file. From "Mojo Jojo" . 1999-06-21 Warren Levy * gnu/testlet/java/net/DatagramSocket/DatagramSocketTest.java: Set up thread like test_echo(). * gnu/testlet/java/net/DatagramSocket/DatagramSocketTestEchoTimeoutServer.java: Revert harness.fail instances to println's per original. Don't sleep. * gnu/testlet/java/net/ServerSocket/BasicSocketServer.java: Revert harness.fail instances to println's per original. * gnu/testlet/java/net/ServerSocket/MyBasicSocketServer.java: ditto. 1999-06-11 Warren Levy * gnu/testlet/java/net/Socket/SocketTest.java: Added harness.check calls. (test_Basics): Changed from unreachable host to mothership. 1999-06-10 Warren Levy * gnu/testlet/java/io/DataInputStream/readLine.java (test): Add casts to byte for instances of '\n', '\r'. * gnu/testlet/java/net/Socket/SocketServer.java (init): Revert harness.fail instances to println's per original. (run): ditto. * gnu/testlet/java/net/URL/MyURLStreamHandler.java (MyURLStreamHandler): Added null constructor. * gnu/testlet/java/net/URL/URLTest.java: Added Uses: tag. * gnu/testlet/java/text/Collator/Constants.java (test): Omit redundant instances of fully qualified class name 'java.text.'. 1999-05-28 Warren Levy * gnu/testlet/java/net/MulticastSocket/MulticastSocketTest.java (test_Basics): Added harness checks for setTTL & getTTL calls. 1999-05-28 Warren Levy * gnu/testlet/java/net/MulticastSocket/MulticastSocketTest.java (test_Basics): Null argument to joinGrp & leaveGrp cause a NullPointerException. 1999-05-19 Tom Tromey * gnu/testlet/java/util/zip/ZipInputStream/reference.zip: New file. * gnu/testlet/java/util/zip/ZipInputStream/basic.java: New file. * gnu/testlet/java/util/zip/basic.java: New file. * gnu/testlet/java/util/zip/reference.data: Likewise. * gnu/testlet/java/util/zip/reference.gz: Likewise. 1999-05-18 Warren Levy * gnu/testlet/java/net/DatagramSocket/DatagramSocketTest2.java (invalid_port): Catch NullPointerException. (invalid_receive_data): Print stack trace after failure msg. * gnu/testlet/java/net/MulticastSocket/MulticastClient.java: New file. * gnu/testlet/java/net/MulticastSocket/MulticastServer.java: New file. * gnu/testlet/java/net/MulticastSocket/MulticastSocketTest.java: New file. 1999-05-12 Warren Levy * gnu/testlet/java/net/DatagramPacket/DatagramPacketTest.java: New file. * gnu/testlet/java/net/DatagramPacket/DatagramPacketTest2.java: New file. * gnu/testlet/java/net/DatagramSocket/DatagramSocketTest.java: New file. * gnu/testlet/java/net/DatagramSocket/DatagramSocketTest2.java: New file. * gnu/testlet/java/net/DatagramSocket/DatagramSocketTestEchoServer.java: New file. * gnu/testlet/java/net/DatagramSocket/DatagramSocketTestEchoTimeoutServer.java: New file. 1999-05-07 Tom Tromey * Makefile.in: Rebuilt. * Makefile.am (%.o): Depend on classes.stamp. * configure: Rebuilt. * configure.in: Fixed help output for --with-tmpdir. 1999-04-30 Tom Tromey * gnu/testlet/java/text/RuleBasedCollator/VeryBasic.java (test): Use debug, not println. 1999-04-29 Warren Levy * gnu/testlet/java/net/InetAddress/InetAddressTest.java: New file. * gnu/testlet/java/net/ServerSocket/BasicBacklogSocketServer.java: New file. * gnu/testlet/java/net/ServerSocket/BasicSocketServer.java: New file. * gnu/testlet/java/net/ServerSocket/MyBasicSocketServer.java: New file. * gnu/testlet/java/net/ServerSocket/MyServerSocket.java: New file. * gnu/testlet/java/net/ServerSocket/ServerSocketTest.java: New file. * gnu/testlet/java/net/Socket/MySocket.java: New file. * gnu/testlet/java/net/Socket/MySocketImpl.java: New file. * gnu/testlet/java/net/Socket/SocketBServer.java: New file. * gnu/testlet/java/net/Socket/SocketServer.java: New file. * gnu/testlet/java/net/Socket/SocketTest.java: New file. * gnu/testlet/java/net/URL/MyURLStreamHandler.java: New file. * gnu/testlet/java/net/URL/URLTest.java: New file. * gnu/testlet/java/net/URLConnection/MyHttpURLConnection.java: New file. * gnu/testlet/java/net/URLConnection/MyURLConnection.java: New file. * gnu/testlet/java/net/URLConnection/URLConnectionTest.java: New file. * gnu/testlet/java/net/URLEncoder/URLEncoderTest.java: New file. 1999-04-21 Tom Tromey * gnu/testlet/java/lang/String/getBytes.java: Explicitly use `8859_1' encoding. * gnu/testlet/java/lang/String/getBytes.java: New file. From Bryce McKinlay . 1999-04-12 Warren Levy * gnu/testlet/java/io/DataInputStream/readLine.java: New file; written by Anthony Green . 1999-04-08 Tom Tromey * choose: Generate multi-line text in choices file. Otherwise sed might break when converting CHOICES into the SimpleTestHarness target. Thu Apr 8 21:15:50 1999 Aaron M. Renn * gnu/testlet/java/text/DecimalFormatSymbols/GetSet12.java: Added this test case. * gnu/testlet/java/text/DecimalFormatSymbols/GetSet11.java: Added this test case. * gnu/testlet/java/text/DecimalFormatSymbols/DumpDefault12.java: Added this test case. * gnu/testlet/java/text/DecimalFormatSymbols/DumpDefault11.java: Added this test case. 1999-04-05 Tom Tromey * gnu/testlet/java/lang/Integer/new_Integer.java: Added another overflow detection test. * gnu/testlet/java/lang/Integer/new_Integer.java: Added a new overflow detection test. Sun Apr 4 17:44:28 1999 Aaron M. Renn * gnu/testlet/java/text/RuleBasedCollator/VeryBasic.java: Added this test case. Sat Apr 3 19:28:11 1999 Aaron M. Renn * gnu/testlet/java/text/Collator/GetSet.java: Added this test case. * gnu/testlet/java/text/Collator/Constants.java: Added this test case. 1999-04-01 Andrew Haley * gnu/testlet/java/lang/Boolean/BooleanTest.java, gnu/testlet/java/lang/Byte/ByteTest.java, gnu/testlet/java/lang/Character/CharacterTest.java, gnu/testlet/java/lang/Double/DoubleTest.java, gnu/testlet/java/lang/Float/FloatTest.java, gnu/testlet/java/lang/Integer/IntegerTest.java, gnu/testlet/java/lang/Long/LongTest.java, gnu/testlet/java/lang/Math/MathTest.java, gnu/testlet/java/lang/Short/ShortTest.java, gnu/testlet/java/lang/String/StringTest.java, gnu/testlet/java/lang/StringBuffer/StringBufferTest.java, All instances of "if (condition) harness.fail (failure)" replaced with "harness.check (!(condition), failure); 1999-03-30 Tom Tromey Change to make it easier to subclass SimpleTestHarness: * gnu/testlet/SimpleTestHarness.java (getSourceDirectory): Now public. * gnu/testlet/config.java.in (getSourceDirectory, getTempDirectory): New methods. Allow srcdir != builddir again: * Makefile.am (harness_files): Removed config.java. (gnu/testlet/config.class): New target. (classes.stamp): Depend on config.class. (class_files): Added config.class. Tue Mar 30 19:57:19 1999 Aaron M. Renn * gnu/testlet/java/text/AttributedString/Test.java: Added this test case. Thu Mar 25 22:27:11 1999 Aaron M. Renn * gnu/testlet/java/sql/DatabaseMetaData/TestJdbc10.java: Add !JDK1.2 to keys. Thu Mar 25 22:26:04 1999 Aaron M. Renn * gnu/testlet/java/sql/Connection/TestJdbc10.java: Add !JDK1.2 to keys. Thu Mar 25 22:23:22 1999 Aaron M. Renn * gnu/testlet/java/io/StringWriter/Test.java: Check for exception in close() Wed Mar 24 21:11:20 1999 Aaron M. Renn * gnu/testlet/java/text/Annotation/Test.java: Added this test case. 1999-03-23 Tom Tromey * gnu/testlet/java/text/BreakIterator/sentiter.java: New file. * gnu/testlet/java/text/BreakIterator/lineiter.java: New file. 1999-03-22 Tom Tromey * gnu/testlet/java/text/BreakIterator/worditer.java (check): Added `name' argument. Now do checks of previous() method as well. * gnu/testlet/java/text/BreakIterator/worditer.java: New file. 1999-03-21 Artur Biesiadowski * gnu/testlet/java/util/BitSet/jdk10.java: Made `and' test more robust. 1999-03-19 Tom Tromey * gnu/testlet/java/text/BreakIterator/chariter.java: New file. 1999-03-18 Tom Tromey * gnu/testlet/SimpleTestHarness.java (main): Examine all arguments. 1999-03-16 Tom Tromey * gnu/testlet/java/lang/Boolean/BooleanTest.java (test_equals): Fixed incorrect test. * Makefile.in: Rebuilt. * Makefile.am (harness_files): Added config.java. * gnu/testlet/java/lang/Boolean/BooleanTest.java (test): Renamed argument. 1999-03-16 Anthony Green * configure.in: Add --with-tmpdir option * configure: Rebuilt. * Makefile.am: Don't pass the source directory to SimpleTestHarness. * Makefile.in: Rebuilt. * gnu/testlet/TestHarness.java: Add getTempDirectory. * gnu/testlet/SimpleTestHarness.java: Use config interface to get srcdir and tmpdir. Add getTempDirectory. 1999-03-14 Anthony Green * gnu/testlet/java/lang/Boolean/BooleanTest.java: Use TestHarness. 1999-03-14 Anthony Green * gnu/testlet/java/lang/Boolean/BooleanTest.java, gnu/testlet/java/lang/Byte/ByteTest.java, gnu/testlet/java/lang/Character/CharacterTest.java, gnu/testlet/java/lang/Class/ClassTest.java, gnu/testlet/java/lang/Cloneable/CloneableTest.java, gnu/testlet/java/lang/Double/DoubleTest.java, gnu/testlet/java/lang/Float/FloatTest.java, gnu/testlet/java/lang/Integer/IntegerTest.java, gnu/testlet/java/lang/Long/LongTest.java, gnu/testlet/java/lang/Math/MathTest.java, gnu/testlet/java/lang/Number/NewNumber.java, gnu/testlet/java/lang/Number/NumberTest.java, gnu/testlet/java/lang/Object/ObjectTest.java, gnu/testlet/java/lang/Short/ShortTest.java, gnu/testlet/java/lang/String/StringTest.java, gnu/testlet/java/lang/StringBuffer/StringBufferTest.java: New files. 1999-03-12 Tom Tromey * gnu/testlet/java/text/MessageFormat/parse.java: New file. 1999-03-11 Tom Tromey * gnu/testlet/java/text/DecimalFormat/parse.java (test): Correctly use trailing `-' in edge case. Sigh. * gnu/testlet/java/text/DecimalFormat/format.java (test): Add test for Long.MIN_VALUE. * gnu/testlet/java/text/DecimalFormat/parse.java (test): Use constant string in edge case. * gnu/testlet/java/text/DecimalFormat/parse.java (test): Added some boundary case checks. Correct bugs in two test cases. * gnu/testlet/java/text/DecimalFormat/parse.java (test): Added trailing `-' case. * gnu/testlet/java/text/DecimalFormat/parse.java: New file. * gnu/testlet/java/lang/Integer/new_Integer.java (test): Added check for overflow case. * gnu/testlet/java/text/ChoiceFormat/next.java: New file. 1999-03-10 Tom Tromey * gnu/testlet/java/text/DecimalFormat/topattern.java: New file. * gnu/testlet/java/text/ChoiceFormat/parse.java: New file. * gnu/testlet/java/text/MessageFormat/format.java (test): Added `choice' test and quoted `#' test. 1999-03-09 Tom Tromey * gnu/testlet/java/text/DecimalFormat/format.java (test): Added a new case. * gnu/testlet/java/text/DecimalFormat/position.java: New file. * gnu/testlet/java/lang/Long/new_Long.java (test): Added some checkPoint calls. * gnu/testlet/java/text/ChoiceFormat/format.java: New file. * gnu/testlet/java/text/ACIAttribute/Test.java: Mark as JDK1.2; AttributedCharacterIterator is not in 1.1. * gnu/testlet/java/text/AttributedCharacterIterator/implement.java: Mark as JDK1.2. * gnu/testlet/java/text/DecimalFormat/format.java (test): Added some exponential tests (commented out for now). 1999-03-08 Tom Tromey * gnu/testlet/java/text/SimpleDateFormat/Test.java: Catch any throwable, not just ParseException. * gnu/testlet/java/text/MessageFormat/format.java: Default percent format includes no fraction part. * choose: Remove $usesfile. * gnu/testlet/java/text/DecimalFormat/format.java: New file. 1999-03-08 Andrew Haley * gnu/testlet/java/lang/Long/new_Long.java: Add boundary checks for Long.parseLong. 1999-03-05 Tom Tromey * gnu/testlet/java/text/MessageFormat/format.java: New file. 1999-02-27 Tom Tromey * Makefile.in, configure: Rebuilt. * Makefile.am: Added space before `include'; hack to work around weirdness in latest automake. * configure.in: Don't create config/gcj-tool; the `.in' file does not exist. Fri Feb 26 23:19:50 1999 Aaron M. Renn * gnu/testlet/java/text/ACIAttribute/Test.java: Added this test. * gnu/testlet/java/text/AttributedCharacterIterator/implement.java: Added this test. * gnu/testlet/java/text/CharacterIterator/implement.java: Added this test. Tue Feb 23 23:29:18 1999 Aaron M. Renn * gnu/testlet/java/text/SimpleDateFormat/Test.java: Added some test cases for lenient date parsing a la Classpath. 1999-02-23 Tom Tromey * choose: Added more verbose output. If a file pattern is an exact match, then it is accepted without examining the tags. * gnu/testlet/java/text/StringCharacterIterator/iter.java: New file. * gnu/testlet/java/text/StringCharacterIterator/constructor.java: New file. 1999-02-22 Tom Tromey * gnu/testlet/TestHarness.java (check): Use Double.toString to compare equality of doubles. 1999-02-16 Tom Tromey * choose: Don't use `dirname'. Sort and uniquify the list of used (auxiliary) files. 1999-02-15 Anthony Green * gnu/testlet/SimpleTestHarness.java: Test for null cname before printing it out. * gnu/testlet/java/io/DataInputOutput/ReadStream.java: Tag as not-a-test. * gnu/testlet/java/io/DataInputOutput/ReadReference.java: Tag as using ReadStream. * choose: Add JLS1.0 and JLS1.1 tags. * gnu/testlet/java/lang/Math/cos.java, gnu/testlet/java/lang/Math/min.java, gnu/testlet/java/lang/Math/max.java, gnu/testlet/java/lang/Math/rint.java: Fixed comments. Mon Feb 15 21:04:24 1999 Aaron M. Renn * gnu/testlet/java/io/DataInputOutput/WriteRead.java: Added file. * gnu/testlet/java/io/DataInputOutput/ReadStream.java: Added file. * gnu/testlet/java/io/DataInputOutput/ReadReference.java: Added file. Mon Feb 15 20:16:12 1999 Aaron M. Renn * gnu/testlet/java/io/Utf8Encoding/WriteRead.java: Added this test case. * gnu/testlet/java/io/Utf8Encoding/ReadReference.java: Added this test case. Mon Feb 15 19:57:17 1999 Aaron M. Renn * gnu/testlet/TestHarness.java (check(double, double)): New method * gnu/testlet/TestHarness.java (check(double, double, String)): New method * gnu/testlet/TestHarness.java (getResourceStream): New method * gnu/testlet/SimpleTestHarness.java (getResourceStream): New method * gnu/testlet/SimpleTestHarness.java (getResourceReader): Use getResourceStream * gnu/testlet/SimpleTestHarness.java (runtest): Return if not instanceof Testlet 1999-02-07 Tom Tromey * gnu/testlet/java/util/BitSet/jdk10.java (trulyEquals): Don't pass description to check(). (test): Fixed typo. Thu Feb 4 19:49:42 1999 Aaron M. Renn * gnu/testlet/java/sql/DatabaseMetaData/TestJdbc10.java: Added this test case. Thu Feb 4 18:45:14 1999 Anthony Green * gnu/testlet/TestHarness.java (fail): New method. * gnu/testlet/java/lang/Character/CharInfo.java: Add missing copyright notice. * gnu/testlet/java/lang/Character/unicode.java: Ditto. Thu Feb 4 06:26:53 1999 Anthony Green * gnu/testlet/java/util/BitSet/jdk10.java: New file from Artur Biesiadowski. Sat Jan 30 18:29:04 1999 Aaron M. Renn * gnu/testlet/java/sql/Clob/ClobTest.java: Added this test case. Sat Jan 30 18:14:15 1999 Aaron M. Renn * gnu/testlet/java/sql/Blob/BlobTest.java: Added this test case Sat Jan 30 18:08:54 1999 Aaron M. Renn * gnu/testlet/java/sql/Array/ArrayTest.java: Added this test case. 1999-01-27 Tom Tromey * gnu/testlet/java/lang/StringBuffer/plus.java: New file. Mon Jan 25 18:31:26 1999 Aaron M. Renn * gnu/testlet/java/sql/Connection/TestJdbc10.java: Added this test case. Sun Jan 24 14:03:26 1999 Aaron M. Renn * gnu/testlet/java/sql/Types/TestJdbc20.java: Added this test case. * gnu/testlet/java/sql/Types/TestJdbc10.java: Added this test case. 1999-01-14 Tom Tromey * gnu/testlet/java/lang/Character/getType.java (test): 0x0ad0 is now other-letter. Added 0b70 as other-symbol. * gnu/testlet/java/lang/Character/unicode.java (unicode): Ignore full width characters. * gnu/testlet/java/lang/Character/unicode.java (performTests): Fixed typo in upper-case check. * gnu/testlet/java/lang/Character/unicode.java (performTests): Fixed test to determine when character is a digit. Now follows JCL volume 1. * gnu/testlet/java/lang/Character/unicode.java (performTests): Fixed recognition of upper case characters to match Java documentation. * gnu/testlet/java/lang/Character/unicode.java (performTests): Lower case letters don't necessarily have to be marked `Ll'. * gnu/testlet/java/lang/Character/UnicodeData.txt: Updated to version 2.1.8. * gnu/testlet/java/lang/Character/unicode.java: (performTests): When testing digit(), make sure the character is actually a digit according to the correct rules. * gnu/testlet/java/lang/Character/unicode.java (performTests): Handle Ps and Pf character categories. * gnu/testlet/java/lang/Character/unicode.java (performTests): Use correct rule for determining when character is lower case. * gnu/testlet/java/lang/Character/unicode.java (ignorable): New method. Partially reverts previous change (JDK 1.2 says that 7f-95 are ignorable). * gnu/testlet/java/lang/Character/unicode.java (performTests): Fixed definition of ignorable control character for isJavaIdentifierPart and isUnicodeIdentifierPart tests. Characters 0x7f to 0x9f are not identifier ignorable. * gnu/testlet/java/lang/Character/unicode.java (unicode): Use getResourceReader method from harness. * gnu/testlet/java/lang/Character/unicode.java: New version from Artur Biesiadowski. * THANKS: New file. Variant of patch from Artur Biesiadowski: * gnu/testlet/SimpleTestHarness.java (getDescription): New method. (check): Use it. * gnu/testlet/java/lang/Integer/new_Integer.java (test): Added checkpoints. 1999-01-14 Andrew Haley * gnu/testlet/java/lang/Math/cos.java, gnu/testlet/java/lang/Math/min.java, gnu/testlet/java/lang/Math/max.java: new files. 1999-01-11 Anthony Green * gnu/testlet/java/text/ParsePosition/Test.java: Tag testlet with JDK1.2. * gnu/testlet/java/text/FieldPosition/Test.java: Tag testlet with JDK1.2. * gnu/testlet/java/text/SimpleDateFormat/getAndSet2DigitYearStart.java: New file. * gnu/testlet/java/text/SimpleDateFormat/Test.java: Extracted get2DigitYearStart and set2DigitYearStart tests. * gnu/testlet/java/lang/Character/unicode.java (unicode): Use TestHarness.getResourceReader instead of direct File usage. * gnu/testlet/java/lang/Character/unicode.java: Removed System.out.println output. * Makefile.in: Rebuilt. * Makefile.am (harness_files): Add ResourceNotFoundException. * gnu/testlet/ResourceNotFoundException.java: New file. * gnu/testlet/SimpleTestHarness.java: Add getResourceReader. * gnu/testlet/TestHarness.java: Remove getSourceDirectory. Add getResourceReader. * gnu/testlet/java/lang/Character/CharInfo.java: Clarified inner-class comment. Sun Jan 10 21:18:32 1999 Aaron M. Renn * gnu/testlet/java/text/SimpleDateFormat/Test.java: Added this test case. Sat Jan 9 16:47:38 1999 Aaron M. Renn * gnu/testlet/java/text/ParseException/Test.java: Added this test case. * gnu/testlet/java/text/FieldPosition/Test.java: Added this test case. Fri Jan 8 22:39:03 1999 Aaron M. Renn * gnu/testlet/java/text/ParsePosition/Test.java: Added this test case. * gnu/testlet/java/text/DateFormat/Test.java: Added this test case. * gnu/testlet/SimpleTestHarness.java: Add array debug method. * gnu/testlet/TestHarness.java: Add array debug method. 1999-01-08 Tom Tromey * gnu/testlet/java/lang/Character/UnicodeData.txt: Updated to version 2.1.5. * gnu/testlet/java/lang/Character/unicode.java: Moved CharInfo into its own file. * gnu/testlet/java/lang/Character/CharInfo.java: New file. Thu Jan 7 21:23:46 1999 Aaron M. Renn * gnu/testlet/java/lang/Character/UnicodeData.txt: Added Unicode 2.1.2 database file needed for character test. * gnu/testlet/java/lang/Character/unicode.java: Added Artur Biesiadowski's (abies@pg.dga.pl) Character test to the archives. Mon Jan 4 18:58:11 1999 Aaron M. Renn * gnu/testlet/java/text/DateFormatSymbols/Test.java: Added this test case. 1999-01-04 Tom Tromey * gnu/testlet/java/io/ByteArrayInputStream/MarkReset.java (test): Commented out print to System.out. * gnu/testlet/java/io/PushbackInputStream/Unread.java (test): Use `debug' instead of printing string to System.out. * gnu/testlet/java/io/BufferedCharWriter/Test.java (test): Added checkpoint name to exception check. * gnu/testlet/SimpleTestHarness.java (main): Removed extraneous `continue' statements. Only print class name and separator if `verbose'. * gnu/testlet/SimpleTestHarness.java (main): Removed `~' test of file names. Wed Dec 30 10:07:55 1998 Anthony Green * gnu/testlet/TestHarness.java: getSourceDirectory returns a String, not a File. * gnu/testlet/SimpleTestHarness.java: srcdir is a String, not a File. * gnu/testlet/java/io/PipedStream/Test.java: Uses PipedStreamTestWriter. * gnu/testlet/java/io/PipedReaderWriter/Test.java: Uses PipedTestWriter. * gnu/testlet/java/io/PipedReaderWriter/PipedTestWriter.java, gnu/testlet/java/io/PipedStream/PipedStreamTestWriter.java: New files. Sat Dec 26 20:35:02 1998 Aaron M. Renn * gnu/testlet/java/io/BufferedReader/MarkReset.java: Added this test case. * gnu/testlet/java/io/BufferedReader/SimpleRead.java: Added this test case. Sat Dec 26 20:02:33 1998 Aaron M. Renn * gnu/testlet/java/io/BufferedInputStream/MarkReset.java: Added this test case. * gnu/testlet/java/io/BufferedInputStream/SimpleRead.java: Added this test case. * gnu/testlet/java/io/BufferedInputStream/ProtectedVars.java: Added this test case. Sat Dec 26 19:33:33 1998 Aaron M. Renn * gnu/testlet/java/io/BufferedCharWriter/Test.java: Added this test case. Sat Dec 26 19:23:41 1998 Aaron M. Renn * gnu/testlet/java/io/BufferedByteOutputStream/Test.java: Added this test case. Sat Dec 26 19:10:12 1998 Aaron M. Renn * gnu/testlet/java/io/CharArrayReader/MarkReset.java: Added this test case. * gnu/testlet/java/io/CharArrayReader/SimpleRead.java: Added this test case. * gnu/testlet/java/io/CharArrayReader/ProtectedVars.java: Added this test case. Sat Dec 26 00:05:27 1998 Aaron M. Renn * gnu/testlet/java/io/ByteArrayInputStream/MarkReset.java: Added this test case. * gnu/testlet/java/io/ByteArrayInputStream/ProtectedVars.java: Added this test case. * gnu/testlet/java/io/ByteArrayInputStream/SimpleRead.java: Added this test case. Fri Dec 25 23:36:02 1998 Aaron M. Renn * gnu/testlet/java/io/PushbackReader/Unread.java: Added this test case. * gnu/testlet/java/io/PushbackReader/BufferOverflow.java: Added this test case. Fri Dec 25 23:16:43 1998 Aaron M. Renn * gnu/testlet/java/io/SequenceInputStream/Test.java: Added this test case. Fri Dec 25 23:14:18 1998 Aaron M. Renn * gnu/testlet/SimpleTestHarness.java: Added new debug(String, boolean) method that does not add a newline after printing the string. * gnu/testlet/TestHarness.java: Added new debug(String,boolean) method that does not add a newline after printing the string. 1998-12-22 Tom Tromey * gnu/testlet/java/io/StringBufferInputStream/SimpleRead.java: Mark as JDK 1.0, not 1.2. * gnu/testlet/java/io/StringBufferInputStream/ProtectedVars.java: Mark as JDK 1.0, not 1.2. * gnu/testlet/java/io/StringBufferInputStream/MarkReset.java: Mark as JDK 1.0, not 1.2. * gnu/testlet/java/io/StringBufferInputStream/ChangeLog: Removed. Thu Dec 17 18:49:12 1998 Aaron M. Renn * gnu/testlet/java/io/StringBufferInputStream/MarkReset.java: Declare read_buf, sbis correctly. Misc syntax error fixes. * gnu/testlet/java/io/StringBufferInputStream/SimpleRead.java: Declare read_buf, sbis correctly. Misc syntax error fixes. * gnu/testlet/java/io/StringBufferInputStream/ProtectedVars.java: Eliminate useless debug message, fix misc syntax errors. 1998-12-16 Tom Tromey * gnu/testlet/java/io/StringBufferInputStream/SimpleRead.java (test): Not static. * gnu/testlet/java/io/StringBufferInputStream/ProtectedVars.java (ProtectedVars): New no-arg constructor. (test): Not static. * gnu/testlet/java/io/StringBufferInputStream/MarkReset.java (test): Not static. * gnu/testlet/TestHarness.java (check): Added variants with checkpoint string argument. 1998-12-14 Tom Tromey * gnu/testlet/java/lang/String/decode.java (test): Changed initialization of bstr. 1998-12-12 Tom Tromey * configure: Rebuilt. * configure.in: Added --enable-gcj-classes argument. 1998-12-11 Tom Tromey * COPYING: New file. * Many files: Added copyright notice. 1998-12-09 Tom Tromey * gnu/testlet/java/lang/Character/to.java: Added test to find titlecase of titlecase character. 1998-12-08 Tom Tromey * gnu/testlet/SimpleTestHarness.java (runtest): Now protected. (done): Likewise. (SimpleTestHarness): Likewise. 1998-12-08 Anthony Green * choose: JAVA2 and JDK1.2 are synonymous. 1998-12-08 Tom Tromey * gnu/testlet/java/lang/reflect/Modifier/toString.java: New file. 1998-12-07 Tom Tromey Modified version of patch from Godmar Back: * gnu/testlet/java/beans/IntrospectorTest.java (tryone): Split `check' call into 3 calls, and use 2-argument form. Pass caught exception to `debug' method of harness. * gnu/testlet/TestHarness.java (verbose, debug): New methods. (check): Call `debug' with result and expected on failure. * gnu/testlet/SimpleTestHarness.java (debug): New instance variable. (verbose): New methods. (debug): Likewise. (runtest): Call `debug' on exceptions. (main): Accept `-debug' on command line. (SimpleTestHarness): Added verbose and debug arguments. From Godmar Back: * Makefile.in: Rebuilt. * Makefile.am (check-local): Pass TESTFLAGS to SimpleTestHarness. (TESTFLAGS): New macro. 1998-12-07 Anthony Green * README, gnu/testlet/java/beans/DescriptorTest.java, gnu/testlet/java/beans/IntrospectorTest.java, gnu/testlet/java/lang/Boolean/equals_Boolean.java, gnu/testlet/java/lang/Boolean/get.java, gnu/testlet/java/lang/Boolean/hashcode_Boolean.java, gnu/testlet/java/lang/Boolean/new_Boolean.java, gnu/testlet/java/lang/Boolean/value.java, gnu/testlet/java/lang/Byte/new_Byte.java, gnu/testlet/java/lang/Character/classify.java, gnu/testlet/java/lang/Character/classify12.java, gnu/testlet/java/lang/Character/consts.java, gnu/testlet/java/lang/Character/digit.java, gnu/testlet/java/lang/Character/equals_Character.java, gnu/testlet/java/lang/Character/forDigit.java, gnu/testlet/java/lang/Character/getNumericValue.java, gnu/testlet/java/lang/Character/getType.java, gnu/testlet/java/lang/Character/getType12.java, gnu/testlet/java/lang/Character/hash.java, gnu/testlet/java/lang/Character/to.java, gnu/testlet/java/lang/Integer/getInteger.java, gnu/testlet/java/lang/Integer/new_Integer.java, gnu/testlet/java/lang/Long/getLong.java, gnu/testlet/java/lang/Long/new_Long.java, gnu/testlet/java/lang/Short/hash.java, gnu/testlet/java/lang/String/charAt.java, gnu/testlet/java/lang/String/compareTo.java, gnu/testlet/java/lang/String/decode.java, gnu/testlet/java/lang/String/hash.java, gnu/testlet/java/lang/String/indexOf.java, gnu/testlet/java/lang/String/new_String.java, gnu/testlet/java/lang/String/startsWith.java, gnu/testlet/java/lang/String/substring.java, gnu/testlet/java/lang/String/to.java, gnu/testlet/java/lang/System/arraycopy.java, gnu/testlet/java/util/Hashtable/basic.java, gnu/testlet/java/util/Random/basic.java: Remove constructors. Update README. These are not necessary. 1998-12-07 Andrew Haley * gnu/testlet/java/lang/Float/new_Float.java: new file. gnu/testlet/java/lang/Double/new_Double.java: string conversion tests added. 1998-12-06 Anthony Green * gnu/testlet/java/util/ResourceBundle/getBundle.java: Add null pointer tests. * gnu/testlet/SimpleTestHarness.java: Add more descriptive uncaught exception message. 1998-12-06 Anthony Green * ResourceBundle/getBundle.java, ResourceBundle/Resource4_en_CA.java, ResourceBundle/Resource4_jp.java, ResourceBundle/Resource1.java, ResourceBundle/Resource2_en.java, ResourceBundle/Resource4.java, ResourceBundle/Resource3_bo.java, ResourceBundle/Resource4_jp_JA_WIN_95.java, ResourceBundle/Resource4_jp_JA_WIN.java, ResourceBundle/Resource4_jp_JA.java, ResourceBundle/Resource5_en.java, ResourceBundle/Resource4_en.java, ResourceBundle/Resource5_en_CA.java, ResourceBundle/Resource5.java, ResourceBundle/Resource5_jp.java, ResourceBundle/Resource5_jp_JA.java, ResourceBundle/Resource5_jp_JA_WIN.java, ResourceBundle/Resource6_en.java, ResourceBundle/Resource6_en_CA.java, ResourceBundle/Resource6.java, ResourceBundle/Resource6_jp.java, ResourceBundle/Resource6_jp_JA.java, ResourceBundle/Resource7_en.java, ResourceBundle/Resource7_en_CA.java, ResourceBundle/Resource7.java, ResourceBundle/Resource7_jp.java, ResourceBundle/Resource8_en.java, ResourceBundle/Resource8_en_CA.java, ResourceBundle/Resource8.java, ResourceBundle/Resource9_en.java, ResourceBundle/Resource9_en_CA.java, ResourceBundle/Resource10_en.java: New files. 1998-12-05 Anthony Green * choose: Add support for "Uses" tag. * README: Updated to mention Uses. 1998-12-04 Tom Tromey * choose: Allow tag file to appear in build directory. * gnu/testlet/SimpleTestHarness.java: Removed erroneous comment. * gnu/testlet/SimpleTestHarness.java (runtest): Only (and always) print exception information if verbose. (main): Allow `-verbose' option to be used to set verbose flag. 1998-12-04 Anthony Green * gnu/testlet/SimpleTestHarness.java: Describe uncaught exception. 1998-12-04 Tom Tromey * choose: Default tags are `JDK1.0 JDK1.1'. 1998-12-03 Tom Tromey * choose: `continue' if file excluded by file tests. * gnu/testlet/java/lang/Character/classify.java (test): Call checkPoint where appropriate. * gnu/testlet/SimpleTestHarness.java (last_check): New instance variable. (checkPoint): New method. (runtest): Call checkPoint. (check): Use last_check. * gnu/testlet/TestHarness.java (checkPoint): New method. * choose: Process all file exclusions and inclusions in order. * Makefile.in: Rebuilt. * Makefile.am (check-local): Pass srcdir to SimpleTestHarness. * gnu/testlet/SimpleTestHarness.java (srcdir): New instance variable. (SimpleTestHarness): Added `srcdir' argument. (main): Assume args[0] is name of source directory. (getSourceDirectory): New method. (runtest): Surround test call in a `try'. * gnu/testlet/TestHarness.java (getSourceDirectory): New method. 1998-12-02 Tom Tromey * gnu/testlet/java/beans/IntrospectorTest.java: Don't mention libjava tag. (tryone): Renamed from `try' (duh). (test): Fixed all calls to tryone to pass in test harness. * gnu/testlet/java/beans/DescriptorTest.java: Don't mention libjava tag. (test): Removed test that depends on class from Classpath. * choose: Recognize `!java.' as file exclusion. Implement file exclusion. Read file mauve-TAG if it exists. Don't hard-code information about `libjava' tag. * choose: Added missing `;;'. * gnu/testlet/java/beans/DescriptorTest.java: New file, adapted from Classpath. * gnu/testlet/java/beans/IntrospectorTest.java: New file, adapted from Classpath. * choose: Recognize `libjava' tag. 1998-12-01 Anthony Green * gnu/testlet/java/lang/Double/new_Double.java: New file. * gnu/testlet/java/lang/Math/rint.java: New file. 1998-12-01 Tom Tromey * gnu/testlet/java/util/Random/basic.java: Added tag line. * gnu/testlet/java/util/Hashtable/basic.java: Added tag line. * gnu/testlet/java/lang/Long/new_Long.java: Added tag line. * gnu/testlet/java/lang/Long/getLong.java: Added tag line. * gnu/testlet/java/lang/String/to.java: Added tag line. * gnu/testlet/java/lang/String/substring.java: Added tag line. * gnu/testlet/java/lang/String/startsWith.java: Added tag line. * gnu/testlet/java/lang/String/new_String.java: Added tag line. * gnu/testlet/java/lang/String/indexOf.java: Added tag line. * gnu/testlet/java/lang/String/decode.java: Added tag line. * gnu/testlet/java/lang/String/compareTo.java: Added tag line. * gnu/testlet/java/lang/String/charAt.java: Added tag line. * gnu/testlet/java/lang/Short/hash.java: Added tag line. * gnu/testlet/java/lang/Integer/new_Integer.java: Added tag line. * gnu/testlet/java/lang/Integer/getInteger.java: Added tag line. * gnu/testlet/java/lang/System/arraycopy.java: Added tag line. * gnu/testlet/java/lang/Byte/new_Byte.java: Updated tag line. * gnu/testlet/java/lang/Character/to.java: Added tag line. * gnu/testlet/java/lang/Character/hash.java: Added tag line. * gnu/testlet/java/lang/Character/getType.java: Updated tag line. * gnu/testlet/java/lang/Character/getNumericValue.java: Added tag line. * gnu/testlet/java/lang/Character/forDigit.java: Added tag line. * gnu/testlet/java/lang/Character/equals_Character.java: Added tag line. * gnu/testlet/java/lang/Character/digit.java: Added tag line. * gnu/testlet/java/lang/Character/consts.java: Added tag line. * gnu/testlet/java/lang/Character/classify.java: Updated tag line. * gnu/testlet/java/lang/Boolean/value.java: Updated tag line. * gnu/testlet/java/lang/Boolean/new_Boolean.java: Updated tag line. * gnu/testlet/java/lang/Boolean/hashcode_Boolean.java: Updated tag line. * gnu/testlet/java/lang/Boolean/get.java: Updated tag line. * gnu/testlet/java/lang/Boolean/equals_Boolean.java: Added tag line. * choose: Changed tag-handling scheme. * choose: Explicitly generate dependencies for SimpleTestHarness. * Makefile.in: Rebuilt. * Makefile.am: Use `include', not `-include'. (choices): Only let .save-keys override creation if `choices' file exists. (java_files): Don't define with `:='. (class_files): Likewise. (javao_files): Likewise. ($(javao_files)): New target. (.class.o): Removed. 1998-11-30 Tom Tromey * gnu/testlet/java/lang/Character/getType12.java: New file. * Makefile.in: Rebuilt. * Makefile.am: Removed now-incorrect comment. Include `choices' file. (classes.stamp): Depend on and use CHOICES macro. (java_files): Use CHOICES. (check-local): Depend on CHOICES. * choose: More output when verbose. Only tags starting with `java.' are considered to be class selectors. Define macro in choices file. * gnu/testlet/java/lang/Character/getType.java: Added Tags line * gnu/testlet/java/lang/Character/classify12.java: New file. * gnu/testlet/java/lang/Character/classify.java: Added Tags line; removed JDK1.2-specific test. * README: Updated to mention keys. * Makefile.in: Rebuilt. * Makefile.am (recheck): Actually run `check' target. (BUILT_SOURCES): Removed. * Makefile.in: Rebuilt. * Makefile.am (harness_files): New macro. (java_files): Now conditional. (KEYS): New macro. (choices): New target. (classes.stamp): Depend on `choices'. (test_files): Removed. (test_names): Likewise. (check-local): Use `classes' file to determine classes to run. (EXTRA_SimpleTestHarness_SOURCES): Removed. (class_files): Use `choices' file. (FORCE): New target. (recheck): New target. * gnu/testlet/SimpleTestHarness.java (main): Read classes to process from stdin. * choose: New file. 1998-11-25 Tom Tromey * README: New file. 1998-11-24 Tom Tromey * gnu/testlet/java/util/Random/basic.java: New file. * gnu/testlet/java/util/Hashtable/basic.java: New file. * Makefile.in: Rebuilt. * Makefile.am (CLEANFILES): Added classes.stamp; define in no-gcj case. (check-local): Depend on classes.stamp, not $(check_PROGRAMS). * gnu/testlet/java/lang/Long/new_Long.java: New file. * Makefile.in: Rebuilt. * Makefile.am (check-local): Use correct name for SimpleTestHarness class. * configure: Rebuilt. * configure.in: Recognize --with-gcj. * gnu/testlet/java/lang/Long/getLong.java: Added import for Properties; fixed typo. * gnu/testlet/SimpleTestHarness.java (done): `total', not `count' is total number of tests. * gnu/testlet/java/lang/Long/getLong.java: New file. * configure, Makefile.in: Rebuilt. * configure.in (CC): Don't set. (GCJ): Subst. * Makefile.am (.class.o): Use $(GCJ), not $(CC). (SimpleTestHarness_LINK): New macro. * gnu/testlet/java/lang/System/arraycopy.java: New file. * gnu/testlet/java/lang/String/indexOf.java: New file. * gnu/testlet/java/lang/String/startsWith.java: New file. * gnu/testlet/java/lang/String/charAt.java: New file. * gnu/testlet/java/lang/String/compareTo.java: New file. * gnu/testlet/java/lang/String/substring.java: New file. * gnu/testlet/java/lang/String/to.java: New file. * gnu/testlet/java/lang/String/decode.java: New file. * gnu/testlet/java/lang/String/hash.java: New file. * gnu/testlet/java/lang/Short/hash.java: New file. * gnu/testlet/java/lang/Integer/getInteger.java: New file. * gnu/testlet/java/lang/Integer/new_Integer.java: New file. * gnu/testlet/java/lang/Character/to.java: New file. * gnu/testlet/java/lang/Character/classify.java: New file. * gnu/testlet/java/lang/Character/getType.java: New file. * gnu/testlet/java/lang/Character/getNumericValue.java: New file. * gnu/testlet/java/lang/Character/forDigit.java: New file. * gnu/testlet/java/lang/Character/hash.java: New file. * gnu/testlet/java/lang/Character/equals_Character.java: New file. * gnu/testlet/java/lang/Byte/new_Byte.java: New file. * gnu/testlet/java/lang/Boolean/get.java: New file. * gnu/testlet/java/lang/Boolean/value.java: New file. * gnu/testlet/Testlet.java (description): Removed. * gnu/testlet/SimpleTestHarness.java (runtest): Don't call description method on test. 1998-11-23 Tom Tromey * gnu/testlet/java/lang/Character/digit.java: New file. * gnu/testlet/java/lang/Boolean/hashcode_Boolean.java: New file. * gnu/testlet/java/lang/Character/consts.java: New file. * gnu/testlet/java/lang/Boolean/equals_Boolean.java: New file. * configure, Makefile.in: Rebuilt. * configure.in: Create USE_GCJ conditional. * aclocal.m4: New file. * Makefile.am (check_DATA): New macro. (class_files): New macro. (BUILT_SOURCES): Likewise. (SimpleTestHarness_SOURCES): Likewise. (SimpleTestHarness_DEPENDENCIES): Likewise. (SimpleTestHarness_LDADD): Likewise. (SUFFIXES): Likewise. (.class.o): New target. (SimpleTestHarness_LDFLAGS): New macro. (MOSTLYCLEANFILES): Likewise. (CLEANFILES): Likewise. (EXTRA_SimpleTestHarness_SOURCES): Likewise. (JCFLAGS): Set to -g. (JC1FLAGS): New macro. (test_files): Likewise. (JAVAC): Removed. (check-local): New target. * gnu/testlet/java/lang/Boolean/new_Boolean.java: Updated to follow Testlet. * gnu/testlet/SimpleTestHarness.java: New file. * gnu/testlet/TestHarness.java: New file. * gnu/testlet/Testlet.java (Testlet): Now an interface. Removed some methods. Fri Nov 6 09:06:10 1998 Anthony Green * Makefile.am, Makefile.in, configure, configure.in, install-sh, missing, mkinstalldirs, gnu/testlet/Testlet.java, gnu/testlet/java/lang/Boolean/new_Boolean.java: Imported. mauve-20140821/mkinstalldirs0000755000175000001440000000113606620624517014564 0ustar dokousers#! /bin/sh # mkinstalldirs --- make directory hierarchy # Author: Noah Friedman # Created: 1993-05-16 # Public domain errstatus=0 for file do set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` shift pathcomp= for d in ${1+"$@"} ; do pathcomp="$pathcomp$d" case "$pathcomp" in -* ) pathcomp=./$pathcomp ;; esac if test ! -d "$pathcomp"; then echo "mkdir $pathcomp" 1>&2 mkdir "$pathcomp" || errstatus=$? fi pathcomp="$pathcomp/" done done exit $errstatus # mkinstalldirs ends here mauve-20140821/Harness.java0000644000175000001440000017361112014440301014211 0ustar dokousers// Copyright (c) 2006, 2007, 2012 Red Hat, Inc. // Written by Anthony Balkissoon // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. /* * See the README file for information on how to use this * file and what it is designed to do. */ import gnu.testlet.config; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintWriter; import java.lang.reflect.Constructor; import java.lang.reflect.Method; import java.net.URL; import java.net.URLClassLoader; import java.util.ArrayList; import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.HashMap; import java.util.Iterator; import java.util.StringTokenizer; /** * The Mauve Harness. This class parses command line input and standard * input for tests to run and runs them in a separate process. It detects * when that separate process is hung and restarts the process. * @author Anthony Balkissoon abalkiss at redhat dot com * */ public class Harness { // The compile method for the embedded ecj private static Method ecjMethod = null; // The string that will be passed to the compiler containing the options // and the file(s) to compile private static String compileString = null; // The options to pass to the compiler, needs to be augmented by the // bootclasspath, which should be the classpath installation directory private static String compileStringBase = "-proceedOnError -nowarn -1.5 -d " + config.builddir; // Options specified in a test which is passed to a compiler private static String compileOptions = ""; // The writers for ecj's out and err streams. private static PrintWriter ecjWriterOut = null; private static PrintWriter ecjWriterErr = null; // The name of the most recent test that failed to compile. private static String lastFailingCompile = ""; // The number of compile fails in the current folder. private static int numCompileFailsInFolder = 0; // The constructor for the embedded ecj private static Constructor ecjConstructor = null; // The classpath installation location, used for the compiler's bootcalsspath private static String classpathInstallDir = null; // The location of the eclipse-ecj.jar file private static String ecjJarLocation = null; // How long a test may run before it is considered hung private static long runner_timeout = 60000; // The command to invoke for the VM on which we will run the tests. private static String vmCommand = null; // A command that is prepended to the test commandline (e.g. strace, gdb, time) private static String vmPrefix = null; // Arguments to be passed to the VM private static String vmArgs = ""; // Whether or not we should recurse into directories when a folder is // specified to be tested private static boolean recursion = true; // Whether we should run in noisy mode private static boolean verbose = false; // Whether we should display one-line summaries for passing tests private static boolean showPasses = false; // Whether we should compile tests before running them private static boolean compileTests = true; // The total number of tests run private static int total_tests = 0; // The total number of failing tests (not harness.check() calls) private static int total_test_fails = 0; // The total number of harness.check() calls that fail private static int total_check_fails = 0; // All the tests that were specified on the command line rather than // through standard input or an input file private static List commandLineTests = null; // The input file (possibly) supplied by the user private static String inputFile = null; // All the tests that were explicitly excluded via the -exclude option private static List excludeTests = new ArrayList(); // A way to speak to the runner process private static PrintWriter runner_out = null; // A way to listen to the runner process private static BufferedReader runner_in = null; // A thread listening to the error stream of the RunnerProcess private static ErrorStreamPrinter runner_esp = null; // A flag indicating whether or not we shoudl restart the error stream // printer when we enter the runTest method private static boolean restartESP = false; // The process that will run the tests for us private static Process runnerProcess = null; // A watcher to determine if runnerProcess is hung private static TimeoutWatcher runner_watcher = null; // The arguments used when this Harness was invoked, we use this to create an // appropriate RunnerProcess private static String[] harnessArgs = null; // A convenience String for ensuring tests all have the same name format private static final String gnuTestletHeader1 = "gnu" + File.separatorChar + "testlet"; // A convenience String for ensuring tests all have the same name format private static final String gnuTestletHeader2 = gnuTestletHeader1 + File.separatorChar; // The usual name of the CVS project containing this resource surrounded // with file-separator strings private static final String MAUVE = File.separator + System.getenv("MAUVE_PROJECT_NAME") + File.separator; // When a folder is selected from Eclipse this is what usually gets // prepended to the folder name private static final String MAUVE_GNU_TESTLET = MAUVE + gnuTestletHeader2; /** * The main method for the Harness. Parses through the compile line * options and sets up the internals, sets up the compiler options, * and then runs all the tests. Finally, prints out a summary * of the test run. * * @param args the compile line options * @throws Exception */ public static void main(String[] args) throws Exception { // Create a new Harness and set it up based on args. Harness harness = new Harness(); harness.setupHarness(args); // Start the runner process and run all the tests. initProcess(args); runAllTests(); // If more than one test was run, print a summary. if (total_tests > 0) System.out.println("\nTEST RESULTS:\n" + total_test_fails + " of " + total_tests + " tests failed. " + total_check_fails + " total calls to harness.check() failed."); else { // If no tests were run, try to help the user out by suggesting what // the problem might have been. System.out.println ("No tests were run. Possible reasons " + "may be listed below."); if (compileTests == false) { System.out.println("Autocompilation is not enabled, so the " + "tests need to be compiled manually. You can enable " + "autocompilation via configure, see the README for more " + "info.\n"); } else if (recursion == false) { System.out.println ("-norecursion was specified, did you " + "specify a folder that had no tests in it?\n"); } else if (excludeTests != null && excludeTests.size() > 0) { System.out.println ("Some tests were excluded.\nDid you use " + "-exclude and exclude all tests (or all specified " + "tests)? \n"); } else { System.out.println ("Did you specify a test that " + "doesn't exist or a folder that contains " + "no tests? \n"); } } harness.finalize(); System.exit(total_test_fails > 0 ? 1 : 0); } /** * Sets up the harness internals before the tests are run. Parses through * the compile line options and then sets up the compiler options. * @param args * @throws Exception */ private void setupHarness(String[] args) throws Exception { // Save the arguments, we'll pass them to the RunnerProcess so it can // set up its internal properties. harnessArgs = args; // Find out from configuration whether auto-compilation is enabled or not. // This can be changed via the options to Harness (-compile true or // -compile false). compileTests = config.autoCompile.equals("yes"); // Find out from configuration which VM we're testing. This can be changed // via the options to Harness (-vm VM_TO_TEST). vmCommand = config.testJava; // Now parse all the options to Harness and set the appropriate internal // properties. for (int i = 0; i < args.length; i++) { if (args[i].equals("-norecursion")) recursion = false; else if (args[i].equals("-verbose")) verbose = true; else if (args[i].equals("-showpasses")) showPasses = true; else if (args[i].equals("-compile")) { // User wants to use an input file to specify which tests to run. if (++i >= args.length) throw new RuntimeException("No file path after '-file'. Exit"); if (args[i].equals("yes") || args[i].equals("true")) compileTests = true; else if (args[i].equals("no") || args[i].equals("false")) compileTests = false; } else if (args[i].equals("-help") || args[i].equals("--help") || args[i].equals("-h")) printHelpMessage(); else if (args[i].equalsIgnoreCase("-file")) { // User wants to use an input file to specify which tests to run. if (++i >= args.length) throw new RuntimeException("No file path after '-file'. Exit"); inputFile = args[i]; } else if (args[i].equalsIgnoreCase("-bootclasspath")) { // User is specifying the classpath installation folder to use // as the compiler's bootclasspath. if (++i >= args.length) throw new RuntimeException("No file path " + "after '-bootclasspath'. Exit"); classpathInstallDir = args[i]; } else if (args[i].equalsIgnoreCase("-vmarg")) { // User is specifying arguments to be passed to the VM of the // RunnerProcess. if (++i >= args.length) throw new RuntimeException("No argument after -vmarg. Exit"); { vmArgs += " " + args[i]; } } else if (args[i].equalsIgnoreCase("-ecj-jar")) { // User is specifying the location of the eclipse-ecj.jar file // to use for compilation. if (++i >= args.length) throw new RuntimeException("No file path " + "after '-ecj-jar'. Exit"); ecjJarLocation = args[i]; } else if (args[i].equals("-exclude")) { // User wants to exclude some tests from the run. if (++i >= args.length) throw new RuntimeException ("No test or directory " + "given after '-exclude'. Exit"); excludeTests.add(startingFormat(args[i])); } else if (args[i].equals("-vm")) { // User wants to exclude some tests from the run. if (++i >= args.length) throw new RuntimeException ("No VMPATH" + "given after '-vm'. Exit"); vmCommand = args[i]; } else if (args[i].equals("-vmprefix")) { // User wants to prepend a certain command. if (++i >= args.length) throw new RuntimeException ("No file" + "given after '-vmprefix'. Exit"); vmPrefix = args[i] + " "; } else if (args[i].equals("-timeout")) { // User wants to change the timeout value. if (++i >= args.length) throw new RuntimeException ("No timeout value given " + "after '-timeout'. Exit"); runner_timeout = Long.parseLong(args[i]); } else if (args[i].equals("-xmlout")) { // User wants output in an xml file if (++i >= args.length) throw new RuntimeException ("No file " + "given after '-xmlout'. Exit"); // the filename is used directly from args } else if (args[i].equals("-autoxml")) { // Path to store xml files if (++i >= args.length) throw new RuntimeException ("No path " + "specified after '-autoxml'. Exit"); // the dirname is used directly from args } else if (args[i].charAt(0) == '-') { // One of the ignored options (handled by RunnerProcess) // such as -debug. Do nothing here but don't let it fall // through to the next branch which would consider it a // test or folder name } else if (args[i] != null) { // This is a command-line (not standard input) test or directory. if (commandLineTests == null) commandLineTests = new ArrayList(); commandLineTests.add(startingFormat(args[i])); } } // If ecj-jar wasn't specified, use the configuration value. if (ecjJarLocation == null) ecjJarLocation = config.ecjJar; // If auto-compilation is enabled, verify that the ecj-jar location is // valid. if (compileTests) { if (ecjJarLocation == null || ecjJarLocation.equals("")) compileTests = false; else { File testECJ = new File(ecjJarLocation); if (!testECJ.exists()) compileTests = false; } } // If auto-compilation is enabled and the ecj-jar location was fine, // set up the compiler options and PrintWriters if (compileTests) setupCompiler(); // If vmCommand is "java" it is likely that it defaulted to this value, // so it wasn't set in configure (--with-vm) and it wasn't set // on the command line (-vm TESTVM), so we should print a warning. if (vmCommand.equals("java")) System.out.println("WARNING: running tests on 'java'. To set the " + "test VM, use --with-vm when\nconfiguring " + "or specify -vm when running the Harness.\n"); } /** * Sets up the compiler by reflection, sets up the compiler options, * and the PrintWriters to get error messages from the compiler. * * @throws Exception */ private void setupCompiler() throws Exception { String classname = "org.eclipse.jdt.internal.compiler.batch.Main"; Class klass = null; try { klass = Class.forName(classname); } catch (ClassNotFoundException e) { File jar = new File(ecjJarLocation); if (! jar.exists() || ! jar.canRead()) throw e; ClassLoader loader = new URLClassLoader(new URL[] { jar.toURL() }); try { klass = loader.loadClass(classname); } catch (ClassNotFoundException f) { throw e; } } // Set up the compiler and the PrintWriters for the compile errors. ecjConstructor = klass.getConstructor (PrintWriter.class, PrintWriter.class, Boolean.TYPE); ecjMethod = klass.getMethod ("compile", String.class, PrintWriter.class, PrintWriter.class ); ecjWriterErr = new CompilerErrorWriter(System.out); ecjWriterOut = new PrintWriter(System.out); // Set up the compiler options now that we know whether or not we are // compiling. compileStringBase += getClasspathInstallString(); } /** * Removes the config.srcdir + File.separatorChar from the start of * a String. * @param val the String * @return the String with config.srcdir + File.separatorChar * removed */ private static String stripSourcePath(String val) { if (val.startsWith(config.srcdir + File.separatorChar) || val.startsWith(config.srcdir.replace('/', '.') + ".")) val = val.substring(config.srcdir.length() + ".".length()); return val; } /** * Removes the "gnu.testlet." from the start of a String. * @param val the String * @return the String with "gnu.testlet." removed */ private static String stripPrefix(String val) { if (val.startsWith("gnu" + File.separatorChar + "testlet") || val.startsWith("gnu.testlet.")) val = val.substring("gnu.testlet.".length()); return val; } /** * Get the bootclasspath from the configuration so it can be added * to the string passed to the compiler. * @return the bootclasspath for the compiler, in String format */ private static String getClasspathInstallString() { String temp = classpathInstallDir; // If classpathInstallDir is null that means no bootclasspath was // specified on the command line using -bootclasspath. In this case // auto-detect the bootclasspath. if (temp == null) { temp = getBootClassPath(); // If auto-detect returned null we cannot auto-detect the // bootclasspath and we should try invoking the compiler without // specifying the bootclasspath. Otherwise, we should add // " -bootclasspath " followed by the detected path. if (temp != null) return " -bootclasspath " + temp; return ""; } // This section is for bootclasspath's specified with // -bootclasspath or --with-bootclasspath (in configure), we need // to add "/share/classpath/glibj.zip" onto the end and // " -bootclasspath onto the start". temp = " -bootclasspath " + temp; if (!temp.endsWith(File.separator)) temp += File.separator; temp += "share" + File.separator + "classpath"; // If (for some reason) there is no glibj.zip file in the specified // folder, just use the folder as the bootclasspath, perhaps the folder // contains an expanded view of the resources. File f = new File (temp.substring(16) + File.separator + "glibj.zip"); if (f.exists()) temp += File.separator + "glibj.zip"; return temp; } /** * Forks a process to run DetectBootclasspath on the VM that is * being tested. This program detects the bootclasspath so we can use * it for the compiler's bootclasspath. * @return the bootclasspath as found, or null if none could be found. */ private static String getBootClassPath() { try { String c = vmCommand + vmArgs + " Harness$DetectBootclasspath"; Process p = Runtime.getRuntime().exec(c); BufferedReader br = new BufferedReader (new InputStreamReader(p.getInputStream())); String bcpOutput = null; while (true) { // This readLine() is a blocking call. This will hang if the // bootclasspath finder hangs. bcpOutput = br.readLine(); if (bcpOutput.equals("BCP_FINDER:can't_find_bcp_")) { // This means the auto-detection failed. return null; } else if (bcpOutput.startsWith("BCP_FINDER:")) { return bcpOutput.substring(11); } else System.out.println(bcpOutput); } } catch (IOException ioe) { // Couldn't auto-fetch the bootclasspath. return null; } } /** * This method takes a String and puts it into a consistent format so we can * deal with all test names in the same way. It ensures that tests start with * "gnu/testlet" and that '.' are replaced by the file separator character. * It also strips the .java or .class extensions if they are present, * and removes single trailing dots. * * @param val the input String * @return the formatted String */ private static String startingFormat(String val) { if (val != null) { if (val.endsWith(".class")) val = val.substring(0, val.length() - 6); if (val.endsWith(".java")) val = val.substring(0, val.length() - 5); val = val.replace('.', File.separatorChar); if (val.endsWith("" + File.separatorChar)) val = val.substring(0, val.length() - 1); if (val.startsWith(MAUVE_GNU_TESTLET)) val = val.substring(MAUVE.length()); else if (! val.startsWith(gnuTestletHeader1)) val = gnuTestletHeader2 + val; } return val; } /** * This method prints a help screen to the console and then exits. */ static void printHelpMessage() { String align = "\n "; String message = "This is the Mauve Harness. Usage:\n\n" + " JAVA Harness \n" + " If no testcase or folder is given, all the tests will be run. \n" + // Example invocation. "\nExample: 'jamvm Harness -vm jamvm -showpasses javax.swing'\n" + " will use jamvm (located in your path) to run all the tests in the\n" + " gnu.testlet.javax.swing folder and will display PASSES\n" + " as well as FAILS.\n\nOPTIONS:\n\n" + // Test Run Options. "Test Run Options:\n" + " -vm [vmpath]: specify the vm on which to run the tests." + "It is strongly recommended" + align + "that you use this option or " + "use the --with-vm option when running" + align + "configure. " + "See the README file for more details.\n" + " -compile [yes|no]: specify whether or not to compile the " + "tests before running them. This" + align + "overrides the configure" + "option --disable-auto-compilation but requires an ecj jar" + align + "to be in /usr/share/java/eclipse-ecj.jar or specified via the " + "--with-ecj-jar" + align + "option to configure. See the README" + " file for more details.\n" + " -timeout [millis]: specifies a timeout value for the tests " + "(default is 60000 milliseconds)" + // Testcase Selection Options. "\n\nTestcase Selection Options:\n" + " -exclude [test|folder]: specifies a test or a folder to exclude " + "from the run\n" + " -norecursion: if a folder is specified to be run, don't " + "run the tests in its subfolders\n" + " -file [filename]: specifies a file that contains the names " + "of tests to be run (one per line)\n" + " -interactive: only run interactive tests, if not set, " + "only run non-interactive tests\n" + // Output Options. "\n\nOutput Options:\n" + " -showpasses: display passing tests as well as failing " + "ones\n" + " -hidecompilefails: hide errors from the compiler when " + "tests fail to compile\n" + " -noexceptions: suppress stack traces for uncaught " + "exceptions\n" + " -verbose: run in noisy mode, displaying extra " + "information\n" + " -debug: displays some extra information for " + "failing tests that " + "use the" + align + "harness.check(Object, Object) method\n" + " -xmlout [filename]: specifies a file to use for xml output\n" + " -autoxml [folder]: generate individual xml output, for each test case \n" + "\nOther Options:\n" + " -help: display this help message\n"; System.out.println(message); System.exit(0); } protected void finalize() { //Clean up try { runTest("_dump_data_"); runnerProcess.destroy(); runner_in.close(); runner_out.close(); } catch (IOException e) { System.err.println("Could not close the interprocess pipes."); System.exit(-1); } } /** * This method sets up our runner process - the process that actually * runs the tests. This needs to be done once initially and also * every time a test hangs. * @param args the compile line options for Harness */ private static void initProcess(String[] args) { StringBuffer sb = new StringBuffer(" RunnerProcess"); for (int i = 0; i < args.length; i++) sb.append(" " + args[i]); if (vmPrefix != null) sb.insert(0, vmPrefix + vmCommand + vmArgs); else sb.insert(0, vmCommand + vmArgs); try { // Exec the process and set up in/out communications with it. runnerProcess = Runtime.getRuntime().exec(sb.toString()); runner_out = new PrintWriter(runnerProcess.getOutputStream(), true); runner_in = new BufferedReader (new InputStreamReader(runnerProcess.getInputStream())); runner_esp = new ErrorStreamPrinter(runnerProcess.getErrorStream()); InputPiperThread pipe = new InputPiperThread(System.in, runnerProcess.getOutputStream()); pipe.start(); runner_esp.start(); } catch (IOException e) { System.err.println("Problems invoking RunnerProcess: " + e); System.exit(1); } // Create a timer to watch this new process. After confirming the // RunnerProcess started properly, we create a new runner_watcher // because it may be a while before we run the next test (due to // preprocessing and compilation) and we don't want the runner_watcher // to time out. if (runner_watcher != null) runner_watcher.stop(); runner_watcher = new TimeoutWatcher(runner_timeout, runnerProcess); runTest("_confirm_startup_"); runner_watcher.stop(); runner_watcher = new TimeoutWatcher(runner_timeout, runnerProcess); } /** * This method runs all the tests, both from the command line and from * standard input. This is so the legacy method of running tests by * echoing the classname and piping it to the Harness works, but so does * a more natural "jamvm Harness ". */ private static void runAllTests() { // Run the commandLine tests. These were assembled into // commandLineTests in the setupHarness method. if (commandLineTests != null) { for (int i = 0; i < commandLineTests.size(); i++) { String cname = null; cname = commandLineTests.get(i); if (cname == null) break; processTest(cname); } } // Now run the standard input tests. First we determine if the input is // coming from a file (if the -file option was used) or from stdin. BufferedReader r = null; if (inputFile != null) // The -file option was used, so set up our BufferedReader to use the // input file. try { r = new BufferedReader(new FileReader(inputFile)); } catch (FileNotFoundException x) { throw new RuntimeException("Cannot find \"" + inputFile + "\". Exit"); } else { // The -file option was not used, so use stdin instead. r = new BufferedReader(new InputStreamReader(System.in)); try { if (! r.ready()) { // If no tests were specified to be run, we will run all the // tests (except those explicitly excluded). if (commandLineTests == null || commandLineTests.size() == 0) processTest("gnu/testlet"); return; } } catch (IOException ioe) { } } // Now process all the tests specified in the file or from stdin. while (true) { String cname = null; try { cname = r.readLine(); if (cname == null) break; } catch (IOException x) { // Nothing. } processTest(startingFormat(cname)); } } /** * This method runs a single test in a new Harness and increments the * total tests run and total failures, if the test fails. Prints * PASS and adds to the report, if the appropriate options are enabled. * @param testName the name of the test */ private static void runTest(String testName) { String tn = stripPrefix(testName.replace(File.separatorChar, '.')); String outputFromTest; boolean invalidTest = false; int temp; // Restart the error stream printer if necessary if (restartESP) { restartESP = false; runner_esp = new ErrorStreamPrinter(runnerProcess.getErrorStream()); } // (Re)start the timeout watcher runner_watcher.reset(); // Tell the RunnerProcess to run test with name testName runner_out.println(testName); while (true) { // Continue getting output from the RunnerProcess until it // signals the test completed or was invalid, or until the // TimeoutWatcher stops the RunnerProcess forcefully. try { outputFromTest = runner_in.readLine(); if (outputFromTest == null) { // This means the test hung. initProcess(harnessArgs); temp = - 1; break; } else if (outputFromTest.startsWith("RunnerProcess:")) { invalidTest = false; // This means the RunnerProcess has sent us back some // information. This could be telling us that a check() call // was made and we should reset the timer, or that the // test passed, or failed, or that it wasn't a test. if (outputFromTest.endsWith("restart-timer")) runner_watcher.reset(); else if (outputFromTest.endsWith("pass")) { temp = 0; break; } else if (outputFromTest.indexOf("fail-loading") != -1) { temp = 1; System.out.println(outputFromTest.substring(27)); } else if (outputFromTest.indexOf("fail-") != - 1) { total_check_fails += Integer.parseInt(outputFromTest.substring(19)); temp = 1; break; } else if (outputFromTest.endsWith("not-a-test")) { // Temporarily decrease the total number of tests, // because it will be incremented later even // though the test was not a real test. invalidTest = true; total_tests--; temp = 0; break; } } else if (outputFromTest.equals("_startup_okay_") || outputFromTest.equals("_data_dump_okay_")) return; else // This means it was just output from the test, like a // System.out.println within the test itself, we should // pass these on to stdout. System.out.println(outputFromTest); } catch (IOException e) { initProcess(harnessArgs); temp = -1; break; } } if (temp == -1) { // This means the watcher thread had to stop the process // from running. So this is a fail. if (verbose) System.out.println(" FAIL: timed out. \nTEST FAILED: timeout " + tn); else System.out.println("FAIL: " + tn + "\n Test timed out. Use -timeout [millis] " + "option to change the timeout value."); total_test_fails++; } else total_test_fails += temp; total_tests ++; // If the test passed and the user wants to know about passes, tell them. if (showPasses && temp == 0 && !verbose && !invalidTest) System.out.println ("PASS: "+tn); } /** * This method handles the input, whether it is a single test or a folder * and calls runTest on the appropriate .class files. Will also compile * tests that haven't been compiled or that have been changed since last * being compiled. * @param cname the input file name - may be a directory */ private static void processTest(String cname) { if (cname.equals("CVS") || cname.endsWith(File.separatorChar + "CVS") || excludeTests.contains(cname) || (cname.lastIndexOf("$") > cname.lastIndexOf(File.separator))) return; // If processSingleTest returns -1 then this test was explicitly // excluded with the -exclude option, and if it returns 0 then // the test was successfully run and we should stop here. Only // if it returns 1 should we try to process cname as a directory. if (processSingleTest(cname) == 1) processFolder(cname); } /** * Checks if the corresponding classfile for the given test needs to * be compiled, or exists and needs to be updated. * * @param test name or path of the test * @return true if the classfile needs to be compiled */ private static boolean testNeedsToBeCompiled(String testname) { String filename = stripSourcePath(testname); if (filename.endsWith(".java")) filename = filename.substring(0, filename.length() - ".java".length()); String sourcefile = config.srcdir + File.separatorChar + filename + ".java"; String classfile = config.builddir + File.separatorChar + filename + ".class"; File sf = new File(sourcefile); File cf = new File(classfile); if (!sf.exists()) throw new RuntimeException(sourcefile + " does not exists!"); if (!cf.exists()) return true; return (sf.lastModified() > cf.lastModified()); } /** * Parse and process tags in the source file. * * @param sourcefile path of the source file * @param filesToCompile LinkedHashSet of the files to compile * * @return true on success, false on error */ private static boolean parseTags(String sourcefile, LinkedHashSet filesToCompile, LinkedHashSet filesToCopy, LinkedHashSet testsToRun) { File f = new File(sourcefile); String base = f.getAbsolutePath(); base = base.substring(0, base.lastIndexOf(File.separatorChar)); BufferedReader r = null; try { r = new BufferedReader(new FileReader(f)); String line = null; line = r.readLine(); while (line != null) { if (line.contains("//")) { if (line.contains("Uses:")) { processUsesTag(line, base, filesToCompile, filesToCopy, testsToRun); } else if (line.contains("Files:")) { processFilesTag(line, base, filesToCopy); } else if (line.contains("CompileOptions:")) { processCompileOptions(line); } else if (line.contains("not-a-test")) { // Don't run this one but parse it's tags. testsToRun.remove(sourcefile); } } else if (line.contains("implements Testlet")) { // Don't read through the entire test once we've hit // real code. Note that this doesn't work for all // files, only ones that implement Testlet, but that // is most files. break; } line = r.readLine(); } } catch (IOException ioe) { // This shouldn't happen. ioe.printStackTrace(); return false; } finally { try { r.close(); } catch (IOException ioe) { // This shouldn't happen. ioe.printStackTrace(); return false; } } return true; } /** * Parse and process compile options tag which can be specified * in the test source file. * * @param sourcefile path of the source file * @return compile options for given source file or null * if none option is specified */ private static String parseCompileOptions(String sourcefile) { String compileOptions = null; File f = new File(sourcefile); String base = f.getAbsolutePath(); base = base.substring(0, base.lastIndexOf(File.separatorChar)); BufferedReader r = null; try { r = new BufferedReader(new FileReader(f)); String line = null; while ( (line = r.readLine()) != null) { if (line.contains("//")) { if (line.contains("CompileOptions:")) { compileOptions = line.substring(line.indexOf("CompileOptions:") + "CompileOptions:".length()) + " "; } } } } catch (IOException ioe) { // This shouldn't happen. ioe.printStackTrace(); return null; } finally { try { r.close(); } catch (IOException ioe) { // This shouldn't happen. ioe.printStackTrace(); return null; } } return compileOptions; } /** * Processes the // Uses: tag in a testlet's source. * * @param line string of the current source line * @param base base directory of the current test * @param filesToCompile LinkedHashSet of the current files to be compiled */ private static void processUsesTag(String line, String base, LinkedHashSet filesToCompile, LinkedHashSet filesToCopy, LinkedHashSet testsToRun) { StringTokenizer st = new StringTokenizer(line.substring(line.indexOf("Uses:") + 5)); while (st.hasMoreTokens()) { String depend = base; String t = st.nextToken(); while (t.startsWith(".." + File.separator)) { t = t.substring(3); depend = depend.substring(0, depend.lastIndexOf(File.separatorChar)); } depend += File.separator + t; if (depend.endsWith(".class")) depend = depend.substring(0, depend.length() - 6); if (!depend.endsWith(".java")) depend += ".java"; // Check if the current dependency needs to be compiled (NOTE: // This check does not include inner classes). if (testNeedsToBeCompiled(depend)) { // Add the current dependency. filesToCompile.add(depend); } // Now parse the tags of the dependency. parseTags(depend, filesToCompile, filesToCopy, testsToRun); } } /** * Processes the // CompileOptions: tag in a testlet's source. * * @param line string of the current source line */ private static void processCompileOptions(String line) { compileOptions = line.substring(line.indexOf("CompileOptions:") + "CompileOptions:".length()); compileOptions += " "; // add separator to a command line } /** * Processes the // Files: tag in a testlet's source. * * @param base base directory of the current test * @param line string of the current source line */ private static void processFilesTag(String line, String base, LinkedHashSet filesToCopy) { StringTokenizer st = new StringTokenizer(line.substring(line.indexOf("Files:") + 6)); while (st.hasMoreTokens()) { String src = base; String t = st.nextToken(); while (t.startsWith(".." + File.separator)) { t = t.substring(3); src = src.substring(0, src.lastIndexOf(File.separatorChar)); } src += File.separator + t; filesToCopy.add(src); } } /** * Copy the given files from the source directory to the build * directory. * * @param filesToCopy files to copy * * @return true on success, false on error */ private static boolean copyFiles(LinkedHashSet filesToCopy) { if (filesToCopy.size() == 0) return true; for (Iterator it = filesToCopy.iterator(); it.hasNext(); ) { String src = it.next(); String dest = config.builddir + File.separatorChar + stripSourcePath(src); try { File inputFile = new File(src); File outputFile = new File(dest); // Only copy newer files. if (inputFile.lastModified() <= outputFile.lastModified()) continue; // Create directories up to the new file. outputFile.getParentFile().mkdirs(); FileInputStream fis = new FileInputStream(inputFile); FileOutputStream fos = new FileOutputStream(outputFile); byte[] buf = new byte[1024]; int i = 0; while((i = fis.read(buf)) != -1) { fos.write(buf, 0, i); } fis.close(); fos.close(); } catch (IOException ioe) { ioe.printStackTrace(); return false; } } return true; } /** * This method is used to potentially run a single test. If runAnyway is * false we've reached here as a result of processing a directory and we * should only run tests if they end in ".java" to avoid running tests * multiple times. * * @param cname the name of the test to run * @return -1 if the test was explicitly excluded via the -exclude option, * 0 if cname represents a single test, 1 if cname does not represent a * single test */ private static int processSingleTest(String cname) { LinkedHashSet filesToCompile = new LinkedHashSet(); LinkedHashSet filesToCopy = new LinkedHashSet(); LinkedHashSet testsToRun = new LinkedHashSet(); // If the test should be excluded return -1, this is a signal // to processTest that it should quit. if (excludeTests.contains(cname)) return -1; // If it's not a single test, return 1, processTest will then try // to process it as a directory. String sourcefile = config.srcdir + File.separatorChar + cname + ".java"; File jf = new File(sourcefile); if (!jf.exists()) return 1; if (!compileTests) { if (testNeedsToBeCompiled(cname)) { // There is an uncompiled test, but the -nocompile option was given // so we just skip it return -1; } } else { if (testNeedsToBeCompiled(cname)) filesToCompile.add(sourcefile); testsToRun.add(sourcefile); // Process all tags in the source file. if (!parseTags(sourcefile, filesToCompile, filesToCopy, testsToRun)) return -1; if (!copyFiles(filesToCopy)) return -1; // If compilation of the test fails, don't try to run it. if (!compileFiles(filesToCompile, null)) return -1; } runTest(cname); return 0; } /** * This method processes all the tests in a folder. It does so in * 3 steps: 1) compile a list of all the .java files in the folder, * 2) compile those files unless compileTests is false, * 3) run those tests. * @param folderName */ private static void processFolder(String folderName) { File dir = new File(config.srcdir + File.separatorChar + folderName); String dirPath = dir.getPath(); File[] files = dir.listFiles(); LinkedHashSet filesToCompile = new LinkedHashSet(); LinkedHashSet filesToCopy = new LinkedHashSet(); LinkedHashSet testsToRun = new LinkedHashSet(); // map containing compile options for given test, but only if // explicit compile options are defined in the test source Map compileOptions = new HashMap(); String fullPath = null; boolean compilepassed = true; // If files is null, it is likely that the user input an incorrect // Harness command (like -test-vm TESTVM instead of -vm TESTVM). if (files == null) return; // First, compile the list of .java files. for (int i = 0; i < files.length; i++) { // Ignore the CVS folders. String name = files[i].getName(); fullPath = dirPath + File.separatorChar + name; String testName = stripSourcePath(fullPath); if (name.equals("CVS") || excludeTests.contains(testName)) continue; if (name.endsWith(".java") && !excludeTests.contains(testName. substring(0, testName.length() - 5))) { if (testNeedsToBeCompiled(testName)) { // test needs to be compiled filesToCompile.add(fullPath); // we have to know its compile options (if there are any) String options = parseCompileOptions(fullPath); if (options != null) { compileOptions.put(fullPath, options); } } testsToRun.add(fullPath); // Process all tags in the source file. if (!parseTags(fullPath, filesToCompile, filesToCopy, testsToRun)) continue; } else { // Check if it's a folder, if so, call this method on it. if (files[i].isDirectory() && recursion && ! excludeTests.contains(testName)) processFolder(testName); } } if (!copyFiles(filesToCopy)) return; // Exit if there were no .java files in this folder. if (testsToRun.size() == 0) return; // Ignore the .java files in top level gnu/testlet folder. if (dirPath.equals(config.srcdir + File.separatorChar + "gnu" + File.separatorChar + "testlet")) return; // Now compile all those tests in a batch compilation, unless the // -nocompile option was used. if (compileTests) compilepassed = compileFiles(filesToCompile, compileOptions); // And now run those tests. runFolder(testsToRun, compilepassed); } /** * Runs all the tests in a folder. If the tests were compiled by * compileFolder, and the compilation failed, then we must check to * see if each individual test compiled before running it. * * @param testsToRun a list of all the tests to run * @param compilepassed true if the compilation step happened and all * tests passed or if compilation didn't happen (because of -nocompile). */ private static void runFolder(LinkedHashSet testsToRun, boolean compilepassed) { String nextTest = null; for (Iterator it = testsToRun.iterator(); it.hasNext(); ) { nextTest = it.next(); nextTest = stripSourcePath(nextTest); if (!testNeedsToBeCompiled(nextTest) && (compilepassed || !excludeTests.contains(nextTest))) { nextTest = nextTest.substring(0, nextTest.length() - 5); runTest(nextTest); } } } /** * This method invokes the embedded ECJ compiler to compile a single * test, which is stored in compileArgs[2]. * @return the return value from the compiler * @throws Exception */ public static int compile() throws Exception { /* * This code depends on the patch in Comment #10 in this bug * report: * * https://bugs.eclipse.org/bugs/show_bug.cgi?id=88364 */ Object ecjInstance = ecjConstructor.newInstance (new Object[] { new PrintWriter (System.out), new PrintWriter (System.err), Boolean.FALSE}); return ((Boolean) ecjMethod.invoke (ecjInstance, new Object[] { compileString, ecjWriterOut, ecjWriterErr})).booleanValue() ? 0 : -1; } /** * Compile the given files. * * @param filesToCompile LinkedHashSet of the files to compile * @param testCompileOptions map containing compile options from given test(s), may be null * @return true if compilation was successful */ private static boolean compileFiles(LinkedHashSet filesToCompile, Map testCompileOptions) { if (filesToCompile.size() == 0) return true; int result = - 1; // tests without specific compile options can be compiled as a whole group boolean doGroupCompile = false; compileString = compileStringBase + compileOptions; for (Iterator it = filesToCompile.iterator(); it.hasNext(); ) { String testName = it.next(); // only test without specific compile options can be added to a "compile group" if (testCompileOptions == null || !testCompileOptions.containsKey(testName)) { compileString += " " + testName; doGroupCompile = true; } } try { if (doGroupCompile) { result = compile(); } // try to compile other tests - in this case test by test if (testCompileOptions != null) { for (Map.Entry test : testCompileOptions.entrySet()) { String oldCompileString = compileStringBase + compileOptions; compileString = compileStringBase + test.getValue() + " " + test.getKey(); result = result == -1 ? -1 : compile(); compileString = oldCompileString; } } } catch (Exception e) { System.err.println("compilation exception"); e.printStackTrace(); result = - 1; } return result == 0; } /** * Returns true if the String argument passed is in the format of a * compiler summary of errors in a folder. * @param x the String to inspect * @return true if the String is in the correct format */ private static boolean isCompileSummary(String x) { if (numCompileFailsInFolder == 1) return x.startsWith("1 problem (1 error)"); else { String s = "" + numCompileFailsInFolder + " problems ("; s += "" + numCompileFailsInFolder + " errors)"; return x.startsWith(s); } } /** * A class that implements Runnable and simply reads from an InputStream * and redirects it to System.err. * @author Anthony Balkissoon abalkiss at redhat dot com * */ private static class ErrorStreamPrinter implements Runnable { private static BufferedReader in; private Thread printerThread; public ErrorStreamPrinter(InputStream input) { in = new BufferedReader (new InputStreamReader(runnerProcess.getErrorStream())); printerThread = new Thread(this); } /** * Starts the thread that reads and redirects input. * */ public void start() { printerThread.start(); } /** * Reads from the error stream of the runnerProcess and redirects to * System.err. */ public void run() { try { while (true) { String temp = in.readLine(); if (temp == null) { // This means the RunnerProcess was restarted (because of a // timeout) and we need to restart the error stream writer. restartESP = true; break; } System.err.println(temp); } } catch (IOException ioe) { // Restart the runner error stream printer upon running // the next test restartESP = true; } } } /** * This class is used for our timer to cancel tests that have hung. * @author Anthony Balkissoon abalkiss at redhat dot com * */ private static class TimeoutWatcher implements Runnable { private long millisToWait; private Thread watcherThread; private boolean started; private boolean loop = true; private boolean shouldContinue = true; private final Process runnerProcess; /** * Creates a new TimeoutWatcher that will wait for millis * milliseconds once started. * @param millis the number of milliseconds to wait before declaring the * test as hung */ public TimeoutWatcher(long millis, Process runnerProcess) { millisToWait = millis; watcherThread = new Thread(this); started = false; this.runnerProcess = runnerProcess; } /** * Stops the run() method. * */ public synchronized void stop() { shouldContinue = false; notify(); } /** * Reset the counter and wait another millisToWait * milliseconds before declaring the test as hung. */ public synchronized void reset() { if (!started) { watcherThread.start(); started = true; } else { loop = true; notify(); } } public synchronized void run() { Thread.currentThread().setPriority(Thread.MAX_PRIORITY); while (loop && shouldContinue) { // We set loop to false here, it will get reset to true if // reset() is called from the main Harness thread. loop = false; long start = System.currentTimeMillis(); long waited = 0; while (waited < millisToWait) { try { wait(millisToWait - waited); } catch (InterruptedException ie) { // ignored. } waited = System.currentTimeMillis() - start; } } if (shouldContinue) { // The test is hung, destroy and restart the RunnerProcess. try { this.runnerProcess.destroy(); this.runnerProcess.getInputStream().close(); this.runnerProcess.getErrorStream().close(); this.runnerProcess.getOutputStream().close(); } catch (IOException e) { System.err.println("Could not close the interprocess pipes."); System.exit(- 1); } } } } /** * This tiny class is used for finding the bootclasspath of the VM used * to run the tests. * @author Anthony Balkissoon abalkiss at redhat dot com * */ public static class DetectBootclasspath { /** * Look in the system properties for the bootclasspath of the VM and return * it to the process that forked this process via the System.out stream. * * Tries first to get the property "sun.boot.class.path", if there is none, * then it tries "java.boot.class.path", if there is still no match, looks * to see if there is a unique property key that contains "boot.class.path". * If this fails too, prints an error message. */ public static void main (String[] args) { String result = "BCP_FINDER:"; // Sun's VM stores the bootclasspath as "sun.boot.class.path". String temp = System.getProperty("sun.boot.class.path"); if (temp == null) // JamVM stores it as "boot.class.path" temp = System.getProperty("java.boot.class.path"); if (temp == null) { String[] s = (String[])(System.getProperties().keySet().toArray()); int count = 0; String key = null; for (int i = 0; i < s.length; i++) { if (s[i].indexOf("boot.class.path") != -1) { count ++; key = s[i]; } } if (count == 1) temp = System.getProperty(key); else { System.err.println("WARNING: Cannot auto-detect the " + "bootclasspath for your VM, please file a bug report" + " specifying which VM you are testing."); temp = "can't_find_bcp_"; } } System.out.println(result + temp); } } /** * A class used as a PrintWriter for the compiler to send error output to. * This class formats the output and also affects the test run by parsing * the output. * @author Anthony Balkissoon abalkiss at redhat dot com * */ private class CompilerErrorWriter extends PrintWriter { public CompilerErrorWriter(OutputStream out) { super(out); } /** * This method is overridden for several reasons. It formats * text to fit into the test report, adds tests that fail to compile * to the list of tests to exclude from the run, prints header * information for the failing tests, and properly increments * the total test number and total failing test number. * * Basically, this method now parses the text its passed and causes * side effects. It (sometimes) prints that text as well, after * formatting and indenting. */ public void println(String x) { // Ignore incorrect classpath errors, since we detect this // automatically, a proper classpath should be found in // addition to any incorrect ones. if (x.startsWith("incorrect classpath:") || x.startsWith("----------")) return; // Look for "gnu/testlet" to indicate we might be talking about a // new file. int loc = x.indexOf("gnu/testlet"); if (loc != -1) { String temp = x.substring(loc); String shortName = stripPrefix(temp).replace(File.separatorChar, '.'); if (shortName.endsWith(".java")) shortName = shortName.substring(0, shortName.length() - 5); // Check if the name is different than the last file with // compilation errors, so we're not dealing with multiple errors // in one file. if (!lastFailingCompile.equals(shortName)) { // Print out a message saying the test failed. if (verbose) super.println("TEST: " + shortName + "\n FAIL: compilation errors:"); else super.println("FAIL: " + shortName + "\n compilation errors:"); // Increment and set the relevant variables. numCompileFailsInFolder = 1; excludeTests.add(temp); total_test_fails++; total_tests++; lastFailingCompile = shortName; } else numCompileFailsInFolder++; return; } // Get the line number from the compiler output and print // it out to look like our other line numbers for failures. loc = x.indexOf("(at line "); if (loc != -1) { int endBracket = x.indexOf(')', loc); String line = x.substring(loc + 4, endBracket) + ":"; // Print the line numbers with appropriate indentation. if (verbose) super.println(" "+line); else super.println(" "+line); // Print the line from the test that caused the problem. super.println(x.substring(endBracket + 2)); return; } // Print the lines with appropriate indentation. if (verbose) super.println(" " + x); else super.println(" " + x); } /** * This method is overridden so that the compiler summary isn't * printed out and also so that if the output is verbose we print * our own summary. */ public void print(String x) { if (isCompileSummary(x)) { if (verbose) super.println("TEST FAILED: compile failed for " + lastFailingCompile); } else super.print(x); } } /** * Reads from one stream and writes this to another. This is used to pipe * the input (System.in) from the outside process to the test process. */ private static class InputPiperThread extends Thread { InputStream in; OutputStream out; InputPiperThread(InputStream i, OutputStream o) { in = i; out = o; } public void run() { int ch = 0; do { try { if (in.available() > 0) { ch = in.read(); if (ch != '\n') // Skip the trailing newline. out.write(ch); out.flush(); } else Thread.sleep(200); } catch (IOException ex) { ex.printStackTrace(); } catch (InterruptedException ex) { ch = -1; // Jump outside. } } while (ch != -1); } } } mauve-20140821/aclocal.m40000644000175000001440000010245711470254007013616 0ustar dokousers# generated automatically by aclocal 1.10.3 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],, [m4_warning([this file was generated for autoconf 2.65. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically `autoreconf'.])]) # Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.10' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.10.3], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.10.3])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is `.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 8 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 10 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "GCJ", or "OBJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl ifelse([$1], CC, [depcc="$CC" am_compiler_list=], [$1], CXX, [depcc="$CXX" am_compiler_list=], [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], UPC, [depcc="$UPC" am_compiler_list=], [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi am__universal=false m4_case([$1], [CC], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac], [CXX], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac]) for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, [ --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. #serial 5 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ # Autoconf 2.62 quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each `.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2008, 2009 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 13 # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.60])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AM_PROG_MKDIR_P])dnl # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES(CC)], [define([AC_PROG_CC], defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES(CXX)], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES(OBJC)], [define([AC_PROG_OBJC], defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl ]) ]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_arg=$1 _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} AC_SUBST(install_sh)]) # Copyright (C) 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. # If it does, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN([`missing' script is too old or missing]) fi ]) # Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_MKDIR_P # --------------- # Check for `mkdir -p'. AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, dnl while keeping a definition of mkdir_p for backward compatibility. dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of dnl Makefile.ins that do not define MKDIR_P, so we do our own dnl adjustment using top_builddir (which is defined more often than dnl MKDIR_P). AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl case $mkdir_p in [[\\/$]]* | ?:[[\\/]]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # ------------------------------ # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) # ---------------------------------- # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_RUN_LOG(COMMAND) # ------------------- # Run COMMAND, save the exit status in ac_status, and log it. # (This has been adapted from Autoconf's _AC_RUN_LOG macro.) AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD (exit $ac_status); }]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT(yes)]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in `make install-strip', and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be `maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of `v7', `ustar', or `pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. AM_MISSING_PROG([AMTAR], [tar]) m4_if([$1], [v7], [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' _am_tools=${am_cv_prog_tar_$1-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of `-'. for _am_tool in $_am_tools do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR m4_include([acinclude.m4]) mauve-20140821/.settings/0000755000175000001440000000000012375316426013674 5ustar dokousersmauve-20140821/.settings/org.eclipse.jdt.core.prefs0000644000175000001440000000115110546464160020651 0ustar dokousers#Tue Jan 02 15:06:27 CET 2007 eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.5 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.5 mauve-20140821/.settings/org.eclipse.jdt.ui.prefs0000644000175000001440000001120610331714623020332 0ustar dokousers#Tue Nov 01 09:25:37 MST 2005 eclipse.preferences.version=1 internal.default.compliance=user org.eclipse.jdt.ui.text.custom_code_templates=\n mauve-20140821/net/0000755000175000001440000000000012375316426012544 5ustar dokousersmauve-20140821/net/sourceforge/0000755000175000001440000000000012375316426015067 5ustar dokousersmauve-20140821/net/sourceforge/nanoxml/0000755000175000001440000000000012375316426016543 5ustar dokousersmauve-20140821/net/sourceforge/nanoxml/XMLElement.java0000644000175000001440000011624011107353315021352 0ustar dokousers/* XMLElement.java * * $Revision: 1.1 $ * $Date: 2008/11/14 19:51:41 $ * $Name: $ * * This file is part of NanoXML 2 Lite. * Copyright (C) 2000-2002 Marc De Scheemaecker, All Rights Reserved. * * This software is provided 'as-is', without any express or implied warranty. * In no event will the authors be held liable for any damages arising from the * use of this software. * * Permission is granted to anyone to use this software for any purpose, * including commercial applications, and to alter it and redistribute it * freely, subject to the following restrictions: * * 1. The origin of this software must not be misrepresented; you must not * claim that you wrote the original software. If you use this software in * a product, an acknowledgment in the product documentation would be * appreciated but is not required. * * 2. Altered source versions must be plainly marked as such, and must not be * misrepresented as being the original software. * * 3. This notice may not be removed or altered from any source distribution. *****************************************************************************/ /* JAM: hacked the source to remove unneeded methods and comments. * Note : this is a copy of nanoxml-lite sources from icedtea6-1.3.1.tar.gz, under the directory rt/net/sourceforge/nanoxml */ package net.sourceforge.nanoxml; import java.io.*; import java.util.*; /** * XMLElement is a representation of an XML object. The object is able to parse * XML code. *

    *
    Parsing XML Data
    *
    * You can parse XML data using the following code: *
      * XMLElement xml = new XMLElement();
      * FileReader reader = new FileReader("filename.xml");
      * xml.parseFromReader(reader); *
    *
    Retrieving Attributes
    *
    * You can enumerate the attributes of an element using the method * {@link #enumerateAttributeNames() enumerateAttributeNames}. * The attribute values can be retrieved using the method * {@link #getStringAttribute(java.lang.String) getStringAttribute}. * The following example shows how to list the attributes of an element: *
      * XMLElement element = ...;
      * Enumeration enum = element.getAttributeNames();
      * while (enum.hasMoreElements()) {
      *     String key = (String) enum.nextElement();
      *     String value = element.getStringAttribute(key);
      *     System.out.println(key + " = " + value);
      * } *
    *
    Retrieving Child Elements
    *
    * You can enumerate the children of an element using * {@link #enumerateChildren() enumerateChildren}. * The number of child elements can be retrieved using * {@link #countChildren() countChildren}. *
    *
    Elements Containing Character Data
    *
    * If an elements contains character data, like in the following example: *
      * <title>The Title</title> *
    * you can retrieve that data using the method * {@link #getContent() getContent}. *
    *
    Subclassing XMLElement
    *
    * When subclassing XMLElement, you need to override the method * {@link #createAnotherElement() createAnotherElement} * which has to return a new copy of the receiver. *
    *

    * * @see net.sourceforge.nanoxml.XMLParseException * * @author Marc De Scheemaecker * <cyberelf@mac.com> * @version $Name: $, $Revision: 1.1 $ */ public class XMLElement { /** * The attributes given to the element. * *

    Invariants:
    *
    • The field can be empty. *
    • The field is never null. *
    • The keys and the values are strings. *
    */ private Hashtable attributes; /** * Child elements of the element. * *
    Invariants:
    *
    • The field can be empty. *
    • The field is never null. *
    • The elements are instances of XMLElement * or a subclass of XMLElement. *
    */ private Vector children; /** * The name of the element. * *
    Invariants:
    *
    • The field is null iff the element is not * initialized by either parse or setName. *
    • If the field is not null, it's not empty. *
    • If the field is not null, it contains a valid * XML identifier. *
    */ private String name; /** * The #PCDATA content of the object. * *
    Invariants:
    *
    • The field is null iff the element is not a * #PCDATA element. *
    • The field can be any string, including the empty string. *
    */ private String contents; /** * Conversion table for &...; entities. The keys are the entity names * without the & and ; delimiters. * *
    Invariants:
    *
    • The field is never null. *
    • The field always contains the following associations: * "lt" => "<", "gt" => ">", * "quot" => "\"", "apos" => "'", * "amp" => "&" *
    • The keys are strings *
    • The values are char arrays *
    */ private Hashtable entities; /** * The line number where the element starts. * *
    Invariants:
    *
    • lineNr >= 0 *
    */ private int lineNr; /** * true if the case of the element and attribute names * are case insensitive. */ private boolean ignoreCase; /** * true if the leading and trailing whitespace of #PCDATA * sections have to be ignored. */ private boolean ignoreWhitespace; /** * Character read too much. * This character provides push-back functionality to the input reader * without having to use a PushbackReader. * If there is no such character, this field is '\0'. */ private char charReadTooMuch; /** * Character read too much for the comment remover. */ private char sanitizeCharReadTooMuch; /** * The reader provided by the caller of the parse method. * *
    Invariants:
    *
    • The field is not null while the parse method * is running. *
    */ private Reader reader; /** * The current line number in the source content. * *
    Invariants:
    *
    • parserLineNr > 0 while the parse method is running. *
    */ private int parserLineNr; /** * Creates and initializes a new XML element. * Calling the construction is equivalent to: *
      new XMLElement(new Hashtable(), false, true) *
    * *
    Postconditions:
    *
    • countChildren() => 0 *
    • enumerateChildren() => empty enumeration *
    • enumeratePropertyNames() => empty enumeration *
    • getChildren() => empty vector *
    • getContent() => "" *
    • getLineNr() => 0 *
    • getName() => null *
    * */ public XMLElement() { this(new Hashtable(), false, true, true); } /** * Creates and initializes a new XML element. *

    * This constructor should only be called from * {@link #createAnotherElement() createAnotherElement} * to create child elements. * * @param entities * The entity conversion table. * @param skipLeadingWhitespace * true if leading and trailing whitespace in PCDATA * content has to be removed. * @param fillBasicConversionTable * true if the basic entities need to be added to * the entity list (client code calling this constructor). * @param ignoreCase * true if the case of element and attribute names have * to be ignored. * *

    Preconditions:
    *
    • entities != null *
    • if fillBasicConversionTable == false * then entities contains at least the following * entries: amp, lt, gt, * apos and quot *
    * *
    Postconditions:
    *
    • countChildren() => 0 *
    • enumerateChildren() => empty enumeration *
    • enumeratePropertyNames() => empty enumeration *
    • getChildren() => empty vector *
    • getContent() => "" *
    • getLineNr() => 0 *
    • getName() => null *
    * */ protected XMLElement(Hashtable entities, boolean skipLeadingWhitespace, boolean fillBasicConversionTable, boolean ignoreCase) { this.ignoreWhitespace = skipLeadingWhitespace; this.ignoreCase = ignoreCase; this.name = null; this.contents = ""; this.attributes = new Hashtable(); this.children = new Vector(); this.entities = entities; this.lineNr = 0; Enumeration e = this.entities.keys(); while (e.hasMoreElements()) { Object key = e.nextElement(); Object value = this.entities.get(key); if (value instanceof String) { value = ((String) value).toCharArray(); this.entities.put(key, value); } } if (fillBasicConversionTable) { this.entities.put("amp", new char[] { '&' }); this.entities.put("quot", new char[] { '"' }); this.entities.put("apos", new char[] { '\'' }); this.entities.put("lt", new char[] { '<' }); this.entities.put("gt", new char[] { '>' }); } } /** * Adds a child element. * * @param child * The child element to add. * *
    Preconditions:
    *
    • child != null *
    • child.getName() != null *
    • child does not have a parent element *
    * *
    Postconditions:
    *
    • countChildren() => old.countChildren() + 1 *
    • enumerateChildren() => old.enumerateChildren() + child *
    • getChildren() => old.enumerateChildren() + child *
    * */ public void addChild(XMLElement child) { this.children.addElement(child); } /** * Adds or modifies an attribute. * * @param name * The name of the attribute. * @param value * The value of the attribute. * *
    Preconditions:
    *
    • name != null *
    • name is a valid XML identifier *
    • value != null *
    * *
    Postconditions:
    *
    • enumerateAttributeNames() * => old.enumerateAttributeNames() + name *
    • getAttribute(name) => value *
    * */ public void setAttribute(String name, Object value) { if (this.ignoreCase) { name = name.toUpperCase(); } this.attributes.put(name, value.toString()); } /** * Returns the number of child elements of the element. * *
    Postconditions:
    *
    • result >= 0 *
    * */ public int countChildren() { return this.children.size(); } /** * Enumerates the attribute names. * *
    Postconditions:
    *
    • result != null *
    * */ public Enumeration enumerateAttributeNames() { return this.attributes.keys(); } /** * Enumerates the child elements. * *
    Postconditions:
    *
    • result != null *
    * */ public Enumeration enumerateChildren() { return this.children.elements(); } /** * Returns the PCDATA content of the object. If there is no such content, * null is returned. * */ public String getContent() { return this.contents; } /** * Returns the line nr in the source data on which the element is found. * This method returns 0 there is no associated source data. * *
    Postconditions:
    *
    • result >= 0 *
    */ public int getLineNr() { return this.lineNr; } /** * Returns an attribute of the element. * If the attribute doesn't exist, null is returned. * * @param name The name of the attribute. * *
    Preconditions:
    *
    • name != null *
    • name is a valid XML identifier *
    * */ public Object getAttribute(String name) { if (this.ignoreCase) { name = name.toUpperCase(); } Object value = this.attributes.get(name); return value; } /** * Returns the name of the element. * */ public String getName() { return this.name; } /** * Reads one XML element from a java.io.Reader and parses it. * * @param reader * The reader from which to retrieve the XML data. * *
    Preconditions:
    *
    • reader != null *
    • reader is not closed *
    * *
    Postconditions:
    *
    • the state of the receiver is updated to reflect the XML element * parsed from the reader *
    • the reader points to the first character following the last * '>' character of the XML element *
    * * @throws java.io.IOException * If an error occured while reading the input. * @throws net.sourceforge.nanoxml.XMLParseException * If an error occured while parsing the read data. */ public void parseFromReader(Reader reader) throws IOException, XMLParseException { this.parseFromReader(reader, /*startingLineNr*/ 1); } /** * Reads one XML element from a java.io.Reader and parses it. * * @param reader * The reader from which to retrieve the XML data. * @param startingLineNr * The line number of the first line in the data. * *
    Preconditions:
    *
    • reader != null *
    • reader is not closed *
    * *
    Postconditions:
    *
    • the state of the receiver is updated to reflect the XML element * parsed from the reader *
    • the reader points to the first character following the last * '>' character of the XML element *
    * * @throws java.io.IOException * If an error occured while reading the input. * @throws net.sourceforge.nanoxml.XMLParseException * If an error occured while parsing the read data. */ public void parseFromReader(Reader reader, int startingLineNr) throws IOException, XMLParseException { this.charReadTooMuch = '\0'; this.reader = reader; this.parserLineNr = startingLineNr; for (;;) { char ch = this.scanWhitespace(); if (ch != '<') { throw this.expectedInput("<", ch); } ch = this.readChar(); if ((ch == '!') || (ch == '?')) { this.skipSpecialTag(0); } else { this.unreadChar(ch); this.scanElement(this); return; } } } /** * Creates a new similar XML element. *

    * You should override this method when subclassing XMLElement. */ protected XMLElement createAnotherElement() { return new XMLElement(this.entities, this.ignoreWhitespace, false, this.ignoreCase); } /** * Changes the content string. * * @param content * The new content string. */ public void setContent(String content) { this.contents = content; } /** * Changes the name of the element. * * @param name * The new name. * *

    Preconditions:
    *
    • name != null *
    • name is a valid XML identifier *
    * */ public void setName(String name) { this.name = name; } /** * Scans an identifier from the current reader. * The scanned identifier is appended to result. * * @param result * The buffer in which the scanned identifier will be put. * *
    Preconditions:
    *
    • result != null *
    • The next character read from the reader is a valid first * character of an XML identifier. *
    * *
    Postconditions:
    *
    • The next character read from the reader won't be an identifier * character. *
    */ protected void scanIdentifier(StringBuffer result) throws IOException { for (;;) { char ch = this.readChar(); if (((ch < 'A') || (ch > 'Z')) && ((ch < 'a') || (ch > 'z')) && ((ch < '0') || (ch > '9')) && (ch != '_') && (ch != '.') && (ch != ':') && (ch != '-') && (ch <= '\u007E')) { this.unreadChar(ch); return; } result.append(ch); } } /** * This method scans an identifier from the current reader. * * @return the next character following the whitespace. */ protected char scanWhitespace() throws IOException { for (;;) { char ch = this.readChar(); switch (ch) { case ' ': case '\t': case '\n': case '\r': break; default: return ch; } } } /** * This method scans an identifier from the current reader. * The scanned whitespace is appended to result. * * @return the next character following the whitespace. * *
    Preconditions:
    *
    • result != null *
    */ protected char scanWhitespace(StringBuffer result) throws IOException { for (;;) { char ch = this.readChar(); switch (ch) { case ' ': case '\t': case '\n': result.append(ch); case '\r': break; default: return ch; } } } /** * This method scans a delimited string from the current reader. * The scanned string without delimiters is appended to * string. * *
    Preconditions:
    *
    • string != null *
    • the next char read is the string delimiter *
    */ protected void scanString(StringBuffer string) throws IOException { char delimiter = this.readChar(); if ((delimiter != '\'') && (delimiter != '"')) { throw this.expectedInput("' or \""); } for (;;) { char ch = this.readChar(); if (ch == delimiter) { return; } else if (ch == '&') { this.resolveEntity(string); } else { string.append(ch); } } } /** * Scans a #PCDATA element. CDATA sections and entities are resolved. * The next < char is skipped. * The scanned data is appended to data. * *
    Preconditions:
    *
    • data != null *
    */ protected void scanPCData(StringBuffer data) throws IOException { for (;;) { char ch = this.readChar(); if (ch == '<') { ch = this.readChar(); if (ch == '!') { this.checkCDATA(data); } else { this.unreadChar(ch); return; } } else if (ch == '&') { this.resolveEntity(data); } else { data.append(ch); } } } /** * Scans a special tag and if the tag is a CDATA section, append its * content to buf. * *
    Preconditions:
    *
    • buf != null *
    • The first < has already been read. *
    */ protected boolean checkCDATA(StringBuffer buf) throws IOException { char ch = this.readChar(); if (ch != '[') { this.unreadChar(ch); this.skipSpecialTag(0); return false; } else if (! this.checkLiteral("CDATA[")) { this.skipSpecialTag(1); // one [ has already been read return false; } else { int delimiterCharsSkipped = 0; while (delimiterCharsSkipped < 3) { ch = this.readChar(); switch (ch) { case ']': if (delimiterCharsSkipped < 2) { delimiterCharsSkipped += 1; } else { buf.append(']'); buf.append(']'); delimiterCharsSkipped = 0; } break; case '>': if (delimiterCharsSkipped < 2) { for (int i = 0; i < delimiterCharsSkipped; i++) { buf.append(']'); } delimiterCharsSkipped = 0; buf.append('>'); } else { delimiterCharsSkipped = 3; } break; default: for (int i = 0; i < delimiterCharsSkipped; i += 1) { buf.append(']'); } buf.append(ch); delimiterCharsSkipped = 0; } } return true; } } /** * Skips a comment. * *
    Preconditions:
    *
    • The first <!-- has already been read. *
    */ protected void skipComment() throws IOException { int dashesToRead = 2; while (dashesToRead > 0) { char ch = this.readChar(); if (ch == '-') { dashesToRead -= 1; } else { dashesToRead = 2; } // Be more tolerant of extra -- (double dashes) // in comments. if (dashesToRead == 0) { ch = this.readChar(); if (ch == '>') { return; } else { dashesToRead = 2; this.unreadChar(ch); } } } /* if (this.readChar() != '>') { throw this.expectedInput(">"); } */ } /** * Skips a special tag or comment. * * @param bracketLevel The number of open square brackets ([) that have * already been read. * *
    Preconditions:
    *
    • The first <! has already been read. *
    • bracketLevel >= 0 *
    */ protected void skipSpecialTag(int bracketLevel) throws IOException { int tagLevel = 1; // < char stringDelimiter = '\0'; if (bracketLevel == 0) { char ch = this.readChar(); if (ch == '[') { bracketLevel += 1; } else if (ch == '-') { ch = this.readChar(); if (ch == '[') { bracketLevel += 1; } else if (ch == ']') { bracketLevel -= 1; } else if (ch == '-') { this.skipComment(); return; } } } while (tagLevel > 0) { char ch = this.readChar(); if (stringDelimiter == '\0') { if ((ch == '"') || (ch == '\'')) { stringDelimiter = ch; } else if (bracketLevel <= 0) { if (ch == '<') { tagLevel += 1; } else if (ch == '>') { tagLevel -= 1; } } if (ch == '[') { bracketLevel += 1; } else if (ch == ']') { bracketLevel -= 1; } } else { if (ch == stringDelimiter) { stringDelimiter = '\0'; } } } } /** * Scans the data for literal text. * Scanning stops when a character does not match or after the complete * text has been checked, whichever comes first. * * @param literal the literal to check. * *
    Preconditions:
    *
    • literal != null *
    */ protected boolean checkLiteral(String literal) throws IOException { int length = literal.length(); for (int i = 0; i < length; i += 1) { if (this.readChar() != literal.charAt(i)) { return false; } } return true; } /** * Reads a character from a reader. */ protected char readChar() throws IOException { if (this.charReadTooMuch != '\0') { char ch = this.charReadTooMuch; this.charReadTooMuch = '\0'; return ch; } else { int i = this.reader.read(); if (i < 0) { throw this.unexpectedEndOfData(); } else if (i == 10) { this.parserLineNr += 1; return '\n'; } else { return (char) i; } } } /** * Scans an XML element. * * @param elt The element that will contain the result. * *
    Preconditions:
    *
    • The first < has already been read. *
    • elt != null *
    */ protected void scanElement(XMLElement elt) throws IOException { StringBuffer buf = new StringBuffer(); this.scanIdentifier(buf); String name = buf.toString(); elt.setName(name); char ch = this.scanWhitespace(); while ((ch != '>') && (ch != '/')) { buf.setLength(0); this.unreadChar(ch); this.scanIdentifier(buf); String key = buf.toString(); ch = this.scanWhitespace(); if (ch != '=') { throw this.expectedInput("="); } this.unreadChar(this.scanWhitespace()); buf.setLength(0); this.scanString(buf); elt.setAttribute(key, buf); ch = this.scanWhitespace(); } if (ch == '/') { ch = this.readChar(); if (ch != '>') { throw this.expectedInput(">"); } return; } buf.setLength(0); ch = this.scanWhitespace(buf); if (ch != '<') { this.unreadChar(ch); this.scanPCData(buf); } else { for (;;) { ch = this.readChar(); if (ch == '!') { if (this.checkCDATA(buf)) { this.scanPCData(buf); break; } else { ch = this.scanWhitespace(buf); if (ch != '<') { this.unreadChar(ch); this.scanPCData(buf); break; } } } else { buf.setLength(0); break; } } } if (buf.length() == 0) { while (ch != '/') { if (ch == '!') { ch = this.readChar(); if (ch != '-') { throw this.expectedInput("Comment or Element"); } ch = this.readChar(); if (ch != '-') { throw this.expectedInput("Comment or Element"); } this.skipComment(); } else { this.unreadChar(ch); XMLElement child = this.createAnotherElement(); this.scanElement(child); elt.addChild(child); } ch = this.scanWhitespace(); if (ch != '<') { throw this.expectedInput("<"); } ch = this.readChar(); } this.unreadChar(ch); } else { if (this.ignoreWhitespace) { elt.setContent(buf.toString().trim()); } else { elt.setContent(buf.toString()); } } ch = this.readChar(); if (ch != '/') { throw this.expectedInput("/"); } this.unreadChar(this.scanWhitespace()); if (! this.checkLiteral(name)) { throw this.expectedInput(name); } if (this.scanWhitespace() != '>') { throw this.expectedInput(">"); } } /** * Resolves an entity. The name of the entity is read from the reader. * The value of the entity is appended to buf. * * @param buf Where to put the entity value. * *
    Preconditions:
    *
    • The first & has already been read. *
    • buf != null *
    */ protected void resolveEntity(StringBuffer buf) throws IOException { char ch = '\0'; StringBuffer keyBuf = new StringBuffer(); for (;;) { ch = this.readChar(); if (ch == ';') { break; } keyBuf.append(ch); } String key = keyBuf.toString(); if (key.charAt(0) == '#') { try { if (key.charAt(1) == 'x') { ch = (char) Integer.parseInt(key.substring(2), 16); } else { ch = (char) Integer.parseInt(key.substring(1), 10); } } catch (NumberFormatException e) { throw this.unknownEntity(key); } buf.append(ch); } else { char[] value = (char[]) this.entities.get(key); if (value == null) { throw this.unknownEntity(key); } buf.append(value); } } /** * Pushes a character back to the read-back buffer. * * @param ch The character to push back. * *
    Preconditions:
    *
    • The read-back buffer is empty. *
    • ch != '\0' *
    */ protected void unreadChar(char ch) { this.charReadTooMuch = ch; } /** * Creates a parse exception for when an invalid valueset is given to * a method. * * @param name The name of the entity. * *
    Preconditions:
    *
    • name != null *
    */ protected XMLParseException invalidValueSet(String name) { String msg = "Invalid value set (entity name = \"" + name + "\")"; return new XMLParseException(this.getName(), this.parserLineNr, msg); } /** * Creates a parse exception for when an invalid value is given to a * method. * * @param name The name of the entity. * @param value The value of the entity. * *
    Preconditions:
    *
    • name != null *
    • value != null *
    */ protected XMLParseException invalidValue(String name, String value) { String msg = "Attribute \"" + name + "\" does not contain a valid " + "value (\"" + value + "\")"; return new XMLParseException(this.getName(), this.parserLineNr, msg); } /** * Creates a parse exception for when the end of the data input has been * reached. */ protected XMLParseException unexpectedEndOfData() { String msg = "Unexpected end of data reached"; return new XMLParseException(this.getName(), this.parserLineNr, msg); } /** * Creates a parse exception for when a syntax error occured. * * @param context The context in which the error occured. * *
    Preconditions:
    *
    • context != null *
    • context.length() > 0 *
    */ protected XMLParseException syntaxError(String context) { String msg = "Syntax error while parsing " + context; return new XMLParseException(this.getName(), this.parserLineNr, msg); } /** * Creates a parse exception for when the next character read is not * the character that was expected. * * @param charSet The set of characters (in human readable form) that was * expected. * *
    Preconditions:
    *
    • charSet != null *
    • charSet.length() > 0 *
    */ protected XMLParseException expectedInput(String charSet) { String msg = "Expected: " + charSet; return new XMLParseException(this.getName(), this.parserLineNr, msg); } /** * Creates a parse exception for when the next character read is not * the character that was expected. * * @param charSet The set of characters (in human readable form) that was * expected. * @param ch The character that was received instead. *
    Preconditions:
    *
    • charSet != null *
    • charSet.length() > 0 *
    */ protected XMLParseException expectedInput(String charSet, char ch) { String msg = "Expected: '" + charSet +"'" + " but got: '" + ch + "'"; return new XMLParseException(this.getName(), this.parserLineNr, msg); } /** * Creates a parse exception for when an entity could not be resolved. * * @param name The name of the entity. * *
    Preconditions:
    *
    • name != null *
    • name.length() > 0 *
    */ protected XMLParseException unknownEntity(String name) { String msg = "Unknown or invalid entity: &" + name + ";"; return new XMLParseException(this.getName(), this.parserLineNr, msg); } /** * Reads an xml file and removes the comments, leaving only relevant * xml code. * * @param isr The reader of the InputStream containing the xml. * @param pout The PipedOutputStream that will be receiving the filtered * xml file. */ public void sanitizeInput(InputStreamReader isr, PipedOutputStream pout) { try { PrintStream out = new PrintStream(pout); this.sanitizeCharReadTooMuch = '\0'; this.reader = isr; this.parserLineNr = 0; int newline = 2; char prev = ' '; while(true) { char ch; if (this.sanitizeCharReadTooMuch != '\0') { ch = this.sanitizeCharReadTooMuch; this.sanitizeCharReadTooMuch = '\0'; } else { int i = this.reader.read(); if (i == -1) { // no character in buffer, and nothing read out.flush(); break; } else if (i == 10) { ch = '\n'; } else { ch = (char) i; } } char next; int i = this.reader.read(); if (i == -1) { // character in buffer and nothing read. write out // what's in the buffer out.print(ch); out.flush(); break; } else if (i == 10) { next = '\n'; } else { next = (char) i; } this.sanitizeCharReadTooMuch = next; // If the next char is a ? or !, then we've hit a special tag, // and should skip it. if (prev == '<' && (next == '!' || next == '?')) { this.skipSpecialTag(0); this.sanitizeCharReadTooMuch = '\0'; } // Otherwise we haven't hit a comment, and we should write ch. else { out.print(ch); } prev = next; } out.close(); isr.close(); } catch (Exception e) { // Print the stack trace here -- xml.parseFromReader() will // throw the ParseException if something goes wrong. e.printStackTrace(); } } } mauve-20140821/net/sourceforge/nanoxml/XMLParseException.java0000644000175000001440000001000011107353315022675 0ustar dokousers /* XMLParseException.java * * $Revision: 1.1 $ * $Date: 2008/11/14 19:51:41 $ * $Name: $ * * This file is part of NanoXML 2 Lite. * Copyright (C) 2000-2002 Marc De Scheemaecker, All Rights Reserved. * * This software is provided 'as-is', without any express or implied warranty. * In no event will the authors be held liable for any damages arising from the * use of this software. * * Permission is granted to anyone to use this software for any purpose, * including commercial applications, and to alter it and redistribute it * freely, subject to the following restrictions: * * 1. The origin of this software must not be misrepresented; you must not * claim that you wrote the original software. If you use this software in * a product, an acknowledgment in the product documentation would be * appreciated but is not required. * * 2. Altered source versions must be plainly marked as such, and must not be * misrepresented as being the original software. * * 3. This notice may not be removed or altered from any source distribution. *****************************************************************************/ /* * Note : this is a copy of nanoxml-lite sources from icedtea6-1.3.1.tar.gz, under the directory rt/net/sourceforge/nanoxml */ package net.sourceforge.nanoxml; /** * An XMLParseException is thrown when an error occures while parsing an XML * string. *

    * $Revision: 1.1 $
    * $Date: 2008/11/14 19:51:41 $

    * * @see net.sourceforge.nanoxml.XMLElement * * @author Marc De Scheemaecker * @version $Name: $, $Revision: 1.1 $ */ public class XMLParseException extends RuntimeException { /** * Indicates that no line number has been associated with this exception. */ public static final int NO_LINE = -1; /** * The line number in the source code where the error occurred, or * NO_LINE if the line number is unknown. * *

    Invariants:
    *
    • lineNr > 0 || lineNr == NO_LINE *
    */ private int lineNr; /** * Creates an exception. * * @param name The name of the element where the error is located. * @param message A message describing what went wrong. * *
    Preconditions:
    *
    • message != null *
    * *
    Postconditions:
    *
    • getLineNr() => NO_LINE *
    */ public XMLParseException(String name, String message) { super("XML Parse Exception during parsing of " + ((name == null) ? "the XML definition" : ("a " + name + " element")) + ": " + message); this.lineNr = XMLParseException.NO_LINE; } /** * Creates an exception. * * @param name The name of the element where the error is located. * @param lineNr The number of the line in the input. * @param message A message describing what went wrong. * *
    Preconditions:
    *
    • message != null *
    • lineNr > 0 *
    * *
    Postconditions:
    *
    • getLineNr() => lineNr *
    */ public XMLParseException(String name, int lineNr, String message) { super("XML Parse Exception during parsing of " + ((name == null) ? "the XML definition" : ("a " + name + " element")) + " at line " + lineNr + ": " + message); this.lineNr = lineNr; } /** * Where the error occurred, or NO_LINE if the line number is * unknown. * * @see net.sourceforge.nanoxml.XMLParseException#NO_LINE */ public int getLineNr() { return this.lineNr; } } mauve-20140821/configure.in0000644000175000001440000000450211030455606014257 0ustar dokousersdnl Process this with autoconf to create configure AC_INIT([mauve],[0.0]) AC_CONFIG_SRCDIR([gnu/testlet/Testlet.java]) AM_INIT_AUTOMAKE([tar-pax]) dnl Check path and file separator types ACX_CHECK_PATHNAME_STYLE_DOS dnl For EXEEXT. AC_PROG_CC dnl Check for which JVM should be tested, default to "java" AC_ARG_WITH(vm, [ --with-vm=TESTJVM Run the tests with TESTJVM], TEST_JAVA="$with_vm", TEST_JAVA="java") AC_SUBST(TEST_JAVA) AC_ARG_WITH(emma, [ --with-emma(=JARLOCATION) Use emma, either unpacked in classpath folder or at the specified JARLOCATION], EMMA="$with_emma", EMMA="yes") if test "$EMMA" = "yes" then EMMA="_auto_detect_emma_" fi AC_SUBST(EMMA) AC_ARG_WITH(ecj-jar, [ --with-ecj-jar=JARLOCATION Use the ecj jar found at JARLOCATION for auto-compilation], ECJ_JAR="$with_ecj_jar", ECJ_JAR=yes) if test "$ECJ_JAR" = "yes" then ECJ_JAR="/usr/share/java/eclipse-ecj.jar" fi AC_SUBST(ECJ_JAR) dnl auto-compilation is disabled by default because it requires the dnl --with-classpath-install-dir option to be used as well, and so dnl by disabling it, the standard "./configure" setup has a better dnl chance of producing meaningful results. If it were enabled dnl by default many tests would fail because the compiler wouldn't dnl have the correct bootclasspath AC_ARG_ENABLE(auto-compilation, [ --enable-auto-compilation Use ecj to compile tests on the fly], AUTO_COMPILE="$enable_auto_compilation",AUTO_COMPILE="yes") AC_SUBST(AUTO_COMPILE) JAVA=${JAVA-java} AC_SUBST(JAVA) JAVAC=${JAVAC-javac} AC_SUBST(JAVAC) SRCDIR=`(cd $srcdir; pwd)` AC_SUBST(SRCDIR) BUILDDIR=`pwd` AC_SUBST(BUILDDIR) dnl Specify the tempdir. AC_ARG_WITH(tmpdir, changequote(<<,>>) << --with-tmpdir=DIR Put temporary files in DIR [/tmp]>>, changequote([,]) TMPDIR="$with_tmpdir") TMPDIR=${TMPDIR-/tmp} AC_SUBST(TMPDIR) dnl Specify a mail server host for socket testing. This allows you to dnl choose a different server if 'mx10.gnu.org' is blocked by your firewall AC_ARG_WITH(mailhost, changequote(<<,>>) << --with-mailhost=hostname Server for socket tests [mx10.gnu.org]>>, changequote([,]) MAIL_HOST="$with_mailhost") MAIL_HOST=${MAIL_HOST-mx10.gnu.org} AC_SUBST(MAIL_HOST) if test ! -d gnu; then mkdir gnu fi if test ! -d gnu/testlet; then mkdir gnu/testlet fi AC_OUTPUT(Makefile gnu/testlet/config.java) mauve-20140821/Makefile.in0000644000175000001440000003444211470254007014021 0ustar dokousers# Makefile.in generated by automake 1.10.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = . DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(top_srcdir)/configure \ $(top_srcdir)/gnu/testlet/config.java.in COPYING ChangeLog \ THANKS config.guess config.sub install-sh missing \ mkinstalldirs ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = gnu/testlet/config.java depcomp = am__depfiles_maybe = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ { test ! -d $(distdir) \ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -fr $(distdir); }; } DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AUTO_COMPILE = @AUTO_COMPILE@ AWK = @AWK@ BUILDDIR = @BUILDDIR@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_FILE_SEPARATOR = @CHECK_FILE_SEPARATOR@ CHECK_PATH_SEPARATOR = @CHECK_PATH_SEPARATOR@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ ECJ_JAR = @ECJ_JAR@ EMMA = @EMMA@ EXEEXT = @EXEEXT@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ JAVA = @JAVA@ JAVAC = @JAVAC@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAIL_HOST = @MAIL_HOST@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SRCDIR = @SRCDIR@ STRIP = @STRIP@ TEST_JAVA = @TEST_JAVA@ TMPDIR = @TMPDIR@ VERSION = ${shell date +%F} abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AUTOMAKE_OPTIONS = foreign subdir-objects no-dependencies JAVACFLAGS = -g -1.5 TESTFLAGS = check_DATA = $(STAMP) EXTRA_DIST = Harness.java RunnerProcess.java gnu junit harness_files = \ $(srcdir)/Harness.java \ $(srcdir)/RunnerProcess.java \ $(srcdir)/gnu/testlet/TestHarness.java \ $(srcdir)/gnu/testlet/Testlet.java \ $(srcdir)/gnu/testlet/TestSecurityManager.java \ $(srcdir)/gnu/testlet/ResourceNotFoundException.java \ $(srcdir)/gnu/testlet/TestReport.java \ $(srcdir)/gnu/testlet/TestResult.java \ $(srcdir)/gnu/testlet/VisualTestlet.java \ \ gnu/testlet/config.java \ \ $(srcdir)/junit/framework/*.java \ $(srcdir)/junit/runner/*.java \ $(srcdir)/junit/textui/*.java SUFFIXES = .class .java all: all-am .SUFFIXES: .SUFFIXES: .class .java am--refresh: @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ cd $(srcdir) && $(AUTOMAKE) --foreign \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --foreign Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) cd $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) gnu/testlet/config.java: $(top_builddir)/config.status $(top_srcdir)/gnu/testlet/config.java.in cd $(top_builddir) && $(SHELL) ./config.status $@ tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) $(am__remove_distdir) test -d $(distdir) || mkdir $(distdir) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done -find "$(distdir)" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r $(distdir) dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 $(am__remove_distdir) dist-lzma: distdir tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma $(am__remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__remove_distdir) dist dist-all: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lzma*) \ unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir); chmod a+w $(distdir) mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && cd $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck $(am__remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @cd $(distuninstallcheck_dir) \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_DATA) $(MAKE) $(AM_MAKEFLAGS) check-local check: check-am all-am: Makefile all-local installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-local mostlyclean-am distclean: distclean-am -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am all-local am--refresh check check-am check-local \ clean clean-generic clean-local dist dist-all dist-bzip2 \ dist-gzip dist-lzma dist-shar dist-tarZ dist-zip distcheck \ distclean distclean-generic distcleancheck distdir \ distuninstallcheck dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am harness: $(JAVAC) -d . $(harness_files) all-local: harness check-local: $(JAVA) Harness clean-local: find . -name '*.class' -print | xargs rm -f # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: mauve-20140821/configure0000755000175000001440000042204611470254007013664 0ustar dokousers#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.65 for mauve 0.0. # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV export CONFIG_SHELL exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error ERROR [LINENO LOG_FD] # --------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with status $?, using 1 if that was 0. as_fn_error () { as_status=$?; test $as_status -eq 0 && as_status=1 if test "$3"; then as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 fi $as_echo "$as_me: error: $1" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in #( -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='mauve' PACKAGE_TARNAME='mauve' PACKAGE_VERSION='0.0' PACKAGE_STRING='mauve 0.0' PACKAGE_BUGREPORT='' PACKAGE_URL='' ac_unique_file="gnu/testlet/Testlet.java" ac_subst_vars='LTLIBOBJS LIBOBJS MAIL_HOST TMPDIR BUILDDIR SRCDIR JAVAC JAVA AUTO_COMPILE ECJ_JAR EMMA TEST_JAVA am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__quote am__include DEPDIR OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC CHECK_FILE_SEPARATOR CHECK_PATH_SEPARATOR host_os host_vendor host_cpu host build_os build_vendor build_cpu build am__untar am__tar AMTAR am__leading_dot SET_MAKE AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking enable_dependency_tracking with_vm with_emma with_ecj_jar enable_auto_compilation with_tmpdir with_mailhost ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error "unrecognized option: \`$ac_option' Try \`$0 --help' for more information." ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures mauve 0.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/mauve] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of mauve 0.0:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --enable-auto-compilation Use ecj to compile tests on the fly Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-vm=TESTJVM Run the tests with TESTJVM --with-emma(=JARLOCATION) Use emma, either unpacked in classpath folder or at the specified JARLOCATION --with-ecj-jar=JARLOCATION Use the ecj jar found at JARLOCATION for auto-compilation --with-tmpdir=DIR Put temporary files in DIR /tmp --with-mailhost=hostname Server for socket tests mx10.gnu.org Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to the package provider. _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF mauve configure 0.0 generated by GNU Autoconf 2.65 Copyright (C) 2009 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_c_try_compile cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by mauve $as_me 0.0, which was generated by GNU Autoconf 2.65. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo cat <<\_ASBOX ## ---------------- ## ## Cache variables. ## ## ---------------- ## _ASBOX echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo cat <<\_ASBOX ## ----------------- ## ## Output variables. ## ## ----------------- ## _ASBOX echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX ## ------------------- ## ## File substitutions. ## ## ------------------- ## _ASBOX echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then cat <<\_ASBOX ## ----------- ## ## confdefs.h. ## ## ----------- ## _ASBOX echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then ac_site_file1=$CONFIG_SITE elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu am__api_version='1.10' ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do for ac_t in install-sh install.sh shtool; do if test -f "$ac_dir/$ac_t"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/$ac_t -c" break 2 fi done done if test -z "$ac_aux_dir"; then as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". as_fn_error "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi test "$2" = conftest.file ) then # Ok. : else as_fn_error "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5 $as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if test "${ac_cv_path_mkdir+set}" = set; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi test -d ./--version && rmdir ./--version if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. MKDIR_P="$ac_install_sh -d" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } mkdir_p="$MKDIR_P" case $mkdir_p in [\\/$]* | ?:[\\/]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_AWK+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='mauve' VERSION='0.0' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. AMTAR=${AMTAR-"${am_missing_run}tar"} { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create a pax tar archive" >&5 $as_echo_n "checking how to create a pax tar archive... " >&6; } # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar pax cpio none' _am_tools=${am_cv_prog_tar_pax-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of `-'. for _am_tool in $_am_tools do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do { echo "$as_me:$LINENO: $_am_tar --version" >&5 ($_am_tar --version) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && break done am__tar="$_am_tar --format=posix -chf - "'"$$tardir"' am__tar_="$_am_tar --format=posix -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x pax -w "$$tardir"' am__tar_='pax -L -x pax -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H pax -L' am__tar_='find "$tardir" -print | cpio -o -H pax -L' am__untar='cpio -i -H pax -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_pax}" && break # tar/untar a dummy directory, and stop if the command works rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5 (tardir=conftest.dir && eval $am__tar_ >conftest.tar) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } rm -rf conftest.dir if test -s conftest.tar; then { echo "$as_me:$LINENO: $am__untar &5 ($am__untar &5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } grep GrepMe conftest.dir/file >/dev/null 2>&1 && break fi done rm -rf conftest.dir if test "${am_cv_prog_tar_pax+set}" = set; then : $as_echo_n "(cached) " >&6 else am_cv_prog_tar_pax=$_am_tool fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_tar_pax" >&5 $as_echo "$am_cv_prog_tar_pax" >&6; } # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if test "${ac_cv_build+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if test "${ac_cv_host+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Windows and DOS and OS/2 style pathnames" >&5 $as_echo_n "checking for Windows and DOS and OS/2 style pathnames... " >&6; } if test "${acx_cv_pathname_style_dos+set}" = set; then : $as_echo_n "(cached) " >&6 else acx_cv_pathname_style_dos="no" case ${host_os} in *djgpp | *mingw32* | *emx*) acx_cv_pathname_style_dos="yes" ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_pathname_style_dos" >&5 $as_echo "$acx_cv_pathname_style_dos" >&6; } if test "$acx_cv_pathname_style_dos" = "yes"; then $as_echo "#define HAVE_PATHNAME_STYLE_DOS /**/" >>confdefs.h CHECK_PATH_SEPARATOR=';' CHECK_FILE_SEPARATOR='\\' else CHECK_PATH_SEPARATOR=':' CHECK_FILE_SEPARATOR='/' fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error "no acceptable C compiler found in \$PATH See \`config.log' for more details." "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { as_fn_set_status 77 as_fn_error "C compiler cannot create executables See \`config.log' for more details." "$LINENO" 5; }; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if test "${ac_cv_objext+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error "cannot compute suffix of object files: cannot compile See \`config.log' for more details." "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if test "${ac_cv_c_compiler_gnu+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if test "${ac_cv_prog_cc_g+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if test "${ac_cv_prog_cc_c89+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 $as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 $as_echo "$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then : enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi # Check whether --with-vm was given. if test "${with_vm+set}" = set; then : withval=$with_vm; TEST_JAVA="$with_vm" else TEST_JAVA="java" fi # Check whether --with-emma was given. if test "${with_emma+set}" = set; then : withval=$with_emma; EMMA="$with_emma" else EMMA="yes" fi if test "$EMMA" = "yes" then EMMA="_auto_detect_emma_" fi # Check whether --with-ecj-jar was given. if test "${with_ecj_jar+set}" = set; then : withval=$with_ecj_jar; ECJ_JAR="$with_ecj_jar" else ECJ_JAR=yes fi if test "$ECJ_JAR" = "yes" then ECJ_JAR="/usr/share/java/eclipse-ecj.jar" fi # Check whether --enable-auto-compilation was given. if test "${enable_auto_compilation+set}" = set; then : enableval=$enable_auto_compilation; AUTO_COMPILE="$enable_auto_compilation" else AUTO_COMPILE="yes" fi JAVA=${JAVA-java} JAVAC=${JAVAC-javac} SRCDIR=`(cd $srcdir; pwd)` BUILDDIR=`pwd` # Check whether --with-tmpdir was given. if test "${with_tmpdir+set}" = set; then : withval=$with_tmpdir; TMPDIR="$with_tmpdir" fi TMPDIR=${TMPDIR-/tmp} # Check whether --with-mailhost was given. if test "${with_mailhost+set}" = set; then : withval=$with_mailhost; MAIL_HOST="$with_mailhost" fi MAIL_HOST=${MAIL_HOST-mx10.gnu.org} if test ! -d gnu; then mkdir gnu fi if test ! -d gnu/testlet; then mkdir gnu/testlet fi ac_config_files="$ac_config_files Makefile gnu/testlet/config.java" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then test "x$cache_file" != "x/dev/null" && { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # Transform confdefs.h into DEFS. # Protect against shell expansion while executing Makefile rules. # Protect against Makefile macro expansion. # # If the first sed substitution is executed (which looks for macros that # take arguments), then branch to the quote section. Otherwise, # look for a macro that doesn't take arguments. ac_script=' :mline /\\$/{ N s,\\\n,, b mline } t clear :clear s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g t quote s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g t quote b any :quote s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g s/\[/\\&/g s/\]/\\&/g s/\$/$$/g H :any ${ g s/^\n// s/\n/ /g p } ' DEFS=`sed -n "$ac_script" confdefs.h` ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then as_fn_error "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi : ${CONFIG_STATUS=./config.status} ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error ERROR [LINENO LOG_FD] # --------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with status $?, using 1 if that was 0. as_fn_error () { as_status=$?; test $as_status -eq 0 && as_status=1 if test "$3"; then as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 fi $as_echo "$as_me: error: $1" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in #( -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by mauve $as_me 0.0, which was generated by GNU Autoconf 2.65. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE Configuration files: $config_files Configuration commands: $config_commands Report bugs to the package provider." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ mauve config.status 0.0 configured by $0, generated by GNU Autoconf 2.65, with options \\"\$ac_cs_config\\" Copyright (C) 2009 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --he | --h | --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "gnu/testlet/config.java") CONFIG_FILES="$CONFIG_FILES gnu/testlet/config.java" ;; *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= trap 'exit_status=$? { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ || as_fn_error "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/ s/:*\${srcdir}:*/:/ s/:*@srcdir@:*/:/ s/^\([^=]*=[ ]*\):*/\1/ s/:*$// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" eval set X " :F $CONFIG_FILES :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin" \ || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ || as_fn_error "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out" && rm -f "$tmp/out";; *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; esac \ || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { # Autoconf 2.62 quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir=$dirpart/$fdir; as_fn_mkdir_p # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit $? fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi mauve-20140821/.externalToolBuilders/0000755000175000001440000000000012375316426016206 5ustar dokousersmauve-20140821/.externalToolBuilders/MauveBatchRun.launch0000644000175000001440000000234110352267647022111 0ustar dokousers mauve-20140821/.externalToolBuilders/MauveTestlet.launch0000644000175000001440000000156510356035400022016 0ustar dokousers mauve-20140821/.externalToolBuilders/Mauve Harness.launch0000644000175000001440000000312410462320000022015 0ustar dokousers mauve-20140821/.externalToolBuilders/ConfigureMauve.launch0000644000175000001440000000300210401421105022267 0ustar dokousers mauve-20140821/RunnerProcess.java0000644000175000001440000010017711745373615015442 0ustar dokousers// Copyright (c) 2006 Red Hat, Inc. // Written by Anthony Balkissoon // Adapted from gnu.testlet.SimpleTestHarness written by Tom Tromey. // Copyright (c) 2005 Mark J. Wielaard // This file is part of Mauve. // Mauve 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 version 2, or (at your option) // any later version. // Mauve 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 Public License for more details. // You should have received a copy of the GNU General Public License // along with Mauve; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, // Boston, MA 02110-1301 USA. // This file is used by Harness.java to run the tests in a separate process // so that the process can be killed by the Harness if it is hung. import gnu.testlet.ResourceNotFoundException; import gnu.testlet.TestHarness; import gnu.testlet.TestReport; import gnu.testlet.TestResult; import gnu.testlet.TestSecurityManager; import gnu.testlet.Testlet; import gnu.testlet.VisualTestlet; import gnu.testlet.config; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.net.URL; import java.net.URLClassLoader; import java.util.Vector; public class RunnerProcess extends TestHarness { // A description of files that are not tests private static final String NOT_A_TEST_DESCRIPTION = "not-a-test"; // A description of files that fail to load private static final String FAIL_TO_LOAD_DESCRIPTION = "failed-to-load"; // A description of a test that throws an uncaught exception private static final String UNCAUGHT_EXCEPTION_DESCRIPTION = "uncaught-exception"; // Total number of harness.check calls since the last checkpoint private int count = 0; // The location of the emma.jar file private static String emmaJarLocation = null; // Whether or not to use EMMA private static boolean useEMMA = true; // Total number of harness.check fails plus harness.fail calls private int failures = 0; // The expected fails private static Vector expectedXfails = new Vector(); // The number of expected failures that did fail private int xfailures = 0; // The number of expected failures that passed (unexpectedly) private int xpasses = 0; // The total number of harness.check calls plus harness.fail calls private int total = 0; // True if we should run in verbose (noisy) mode private static boolean verbose = false; // True if failing calls to harness.check(Object, Object) should print the // toString methods of each Object private static boolean debug = false; // True if stack traces should be printed for uncaught exceptions private static boolean exceptions = true; // A description of the test private String description; // The name of the last checkpoint private String last_check; // The TestReport if a report is necessary private static TestReport report = null; // The xmlfile for the report private static String xmlfile = null; // The result of the current test private TestResult currentResult = null; // The EMMA forced data dump method private static Method emmaMethod = null; // The failure message for the last failing check() private String lastFailureMessage = null; /** * Should we run interactive or non-interactive tests ? */ private static boolean interactive; /** * To Generate an XML file for individual tests executed */ private static boolean isAutoXml; /* * Base Directory for XML files */ private static String autoXmlDir = null; protected RunnerProcess() { try { BufferedReader xfile = new BufferedReader(new FileReader("xfails")); String str; while ((str = xfile.readLine()) != null) { expectedXfails.addElement(str); } } catch (FileNotFoundException ex) { // Nothing. } catch (IOException ex) { // Nothing. } } public static void main(String[] args) { // The test that Harness wants us to run. String testname = null; // This reader is used to get testnames from Harness BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); // Parse the arguments so we can create an appropriate RunnerProcess // to run the tests. for (int i = 0; i < args.length; i++) { if (args[i].equals("-verbose")) // User wants to run in verbose mode. verbose = true; else if (args[i].equals("-debug")) // User wants extra debug info. debug = true; else if (args[i].equals("-noexceptions")) // User wants stack traces for uncaught exceptions. exceptions = false; else if (args[i].equals("-xmlout")) { // User wants a report. if (++i >= args.length) throw new RuntimeException("No file path after '-xmlout'."); xmlfile = args[i]; } else if (args[i].equalsIgnoreCase("-emma")) { // User is specifying the location of the eclipse-ecj.jar file // to use for compilation. if (++i >= args.length) throw new RuntimeException("No file path " + "after '-emma'. Exit"); emmaJarLocation = args[i]; } else if (args[i].equals("-interactive")) interactive = true; else if ( args[ i ].equals("-autoxml") ) { // -xmlout flag takes precedence over -autoxml if (xmlfile == null ) { isAutoXml = true; if (++i >= args.length) throw new RuntimeException("No file path after '-autoxml'."); autoXmlDir = args[i]; } } } // If the user wants an xml report, create a new TestReport. if (xmlfile != null) { report = new TestReport(System.getProperties()); } // Setup the data coverage dumping mechanism. The default configuration // is to auto-detect EMMA, meaning if the emma classes are found on the // classpath then we should force a dump of coverage data. Also, the user // can configure with -with-emma=JARLOCATION or can specify -emma // JARLOCATION on the command line to explicitly specify an emma.jar to use // to dump coverage data. if (emmaJarLocation == null) emmaJarLocation = config.emmaString; try { setupEMMA(!emmaJarLocation.equals("_auto_detect_emma_")); } catch (Exception emmaException) { useEMMA = false; } while (true) { // Ask Harness for a test to run, run it, report back to Harness, and // then repeat the cycle. try { testname = in.readLine(); if (testname == null) System.exit(0); if ( isAutoXml && !(testname.equals("_dump_data_")) && ! (testname.equals("_confirm_startup_"))) { report = null; xmlfile = getReportFileReady(testname); report = new TestReport(System.getProperties()); } if (testname.equals("_dump_data_")) { // Print the report if necessary. if (report != null) { File f = new File(xmlfile); try { report.writeXml(f); } catch (IOException e) { throw new Error("Failed to write data to xml file: " + e.getMessage()); } } if (useEMMA) dumpCoverageData(); else System.out.println("_data_dump_okay_"); } else if (testname.equals("_confirm_startup_")) System.out.println("_startup_okay_"); else { RunnerProcess harness = new RunnerProcess(); runAndReport(harness, testname); } } catch (IOException ioe) { String shortName = stripPrefix(testname); if (verbose) System.out.println ("TEST: " + shortName + "\n FAIL: failed to load\n" + "TEST FAILED: failed to load "+ shortName); else System.out.println("FAIL: " + stripPrefix(testname) + "\n failed to load"); System.out.println("RunnerProcess:fail-0"); } // Print the report if using -autoxml. if (report != null && isAutoXml) { File f = new File(xmlfile); try { report.writeXml(f); } catch (IOException e) { throw new Error("Failed to write data to xml file: " + e.getMessage()); } } } } /** * This method runs a single test. If an exception is caught some * information is printed out so the test can be debugged. * @param name the name of the test to run */ protected void runtest(String name) { // Try to ensure we start off with a reasonably clean slate. System.gc(); System.runFinalization(); currentResult = new TestResult(name.substring(12)); description = name; checkPoint(null); Testlet t = null; try { Class k = Class.forName(name); int mods = k.getModifiers(); if (Modifier.isAbstract(mods)) { description = NOT_A_TEST_DESCRIPTION; return; } Object o = k.newInstance(); if (! (o instanceof Testlet)) { description = NOT_A_TEST_DESCRIPTION; return; } if (o instanceof VisualTestlet) { if (! interactive) { description = NOT_A_TEST_DESCRIPTION; return; } } else { if (interactive) { description = NOT_A_TEST_DESCRIPTION; return; } } t = (Testlet) o; } catch (Throwable ex) { description = FAIL_TO_LOAD_DESCRIPTION; // Maybe the file was marked not-a-test, check that before we report // it as an error try { File f = new File(name.replace('.', File.separatorChar) + ".java"); BufferedReader r = new BufferedReader(new FileReader(f)); String firstLine = r.readLine(); // Since some people mistakenly put not-a-test not as the first line // we have to check through the file. while (firstLine != null) { if (firstLine.indexOf("not-a-test") != -1) { description = NOT_A_TEST_DESCRIPTION; return; } firstLine = r.readLine(); } } catch(FileNotFoundException fnfe) { } catch (IOException ioe) { } String r = getStackTraceString(ex, " "); currentResult.addException(ex, "failed loading class ", r); debug(ex); if (ex instanceof InstantiationException || ex instanceof IllegalAccessException) debug("Hint: is the code we just loaded a public non-abstract " + "class with a public nullary constructor???"); if (!verbose) System.out.println ("FAIL: " + stripPrefix(name) + "\n exception when loading:"); else { System.out.println ("TEST: "+stripPrefix(name)); System.out.println(" FAIL: exception when loading"); } if (exceptions) System.out.println(getStackTraceString(ex, " ")); if (verbose) System.out.println("TEST FAILED: exception when loading " + stripPrefix(name)); if (report != null) report.addTestResult(currentResult); return; } // If the harness started okay, now we run the test. if (t != null) { try { if (verbose) System.out.println("TEST: " + stripPrefix(name)); t.test(this); removeSecurityManager(); } catch (Throwable ex) { String d = exceptionDetails(ex, name, exceptions); String r = getStackTraceString(ex, " "); if (failures == 0 && !verbose) System.out.println ("FAIL: " + stripPrefix(name)); System.out.println(d); removeSecurityManager(); currentResult.addException(ex, d, r); if (exceptions) System.out.println(getStackTraceString(ex, " ")); debug(ex); if (verbose) System.out.println("TEST FAILED: uncaught exception " + stripPrefix(description)); description = UNCAUGHT_EXCEPTION_DESCRIPTION; } } if (report != null) report.addTestResult(currentResult); } /** * Returns the stack trace associated with the given Throwable as * a String. * @param ex the Throwable * @return a String representing the stack trace for the given Throwable. */ private static String getStackTraceString(Throwable ex, String pad) { StackTraceElement[] st = ex.getStackTrace(); StringBuffer sb = new StringBuffer(pad + ex.toString() + "\n"); for (int i = 0; i < st.length; i++) sb.append(pad + "at " + st[i].toString() + "\n"); sb.setLength(sb.length() - 1); return sb.toString(); } /** * This method runs a single test in a new Harness and increments the * total tests run and total failures, if the test fails. Prints * PASS and adds to the report, if the appropriate options are enabled. * @param harness the TestHarness to use for this test * @param testName the name of the test */ static void runAndReport(RunnerProcess harness, String testName) { // If this call to runtest hangs, Harness will terminate this process. harness.runtest(testName.replace(File.separatorChar, '.')); // If the test wasn't a real test, return and tell Harness so. if (harness.description.equals(NOT_A_TEST_DESCRIPTION)) { System.out.println("RunnerProcess:not-a-test"); return; } else if (harness.description.equals(FAIL_TO_LOAD_DESCRIPTION)) { System.out.println("RunnerProcess:fail-0"); return; } else if (harness.description.equals(UNCAUGHT_EXCEPTION_DESCRIPTION)) { System.out.println("RunnerProcess:fail-0"); return; } // Print out a summary. int temp = harness.done(); // Report back to Harness that we've finished properly, whether the test // passed or failed. Harness will wait for a message starting with // "RunnerProcess" and if it doesn't receive it after a certain amount of // time (specified in the timeout variable) it will consider the test hung // and will terminate and restart this Process. if (temp == 0) System.out.println ("RunnerProcess:pass"); else System.out.println("RunnerProcess:fail-" + temp); } private final String getDescription(StackTraceElement[] st) { // Find the line number of the check() call that failed. int line = -1; String fileName = description.substring(description.lastIndexOf('.') + 1); fileName += ".java"; for (int i = 0; i < st.length; i++) { if (st[i].getClassName().startsWith((description)) && st[i].getFileName().equals(fileName)) { line = st[i].getLineNumber(); break; } } return (" line " + line + ": " + ((last_check == null) ? "" : last_check) + " [" + (count + 1) + "]"); } protected int getFailures() { return failures; } /** * Removes the "gnu.testlet." from the start of a String. * @param val the String * @return the String with "gnu.testlet." removed */ private static String stripPrefix(String val) { if (val.startsWith("gnu.testlet.")) val = val.substring(12); return val; } /** * A convenience method that sets a checkpoint with the specified name * then prints a message about the forced fail. * * @param name the checkpoint name. */ public void fail(String name) { checkPoint(name); String desc = check2(false); lastFailureMessage = "forced fail"; currentResult.addFail(desc + " -- " +lastFailureMessage); System.out.println(lastFailureMessage); } /** * Checks the two objects for equality and prints a message if they are not * equal. * * @param result the actual result. * @param expected the expected result. */ public void check(Object result, Object expected) { boolean ok = (result == null ? expected == null : result.equals(expected)); String desc = check2(ok); // This debug message may be misleading, depending on whether // string conversion produces same results for unequal objects. if (! ok) { String gotString = result == null ? "null" : result.getClass().getName(); String expString = expected == null ? "null" : expected.getClass().getName(); // If the strings are equal but the objects aren't, we have to tell // the user so, otherwise we can just print the strings. if (gotString.equals(expString)) { // Since the toString() methods can print long and ugly information // we only use them if the user really wants to see it, ie // if they used the -debug option. if (debug) { gotString = result.toString(); expString = expected.toString(); lastFailureMessage = "\n got " + gotString + "\n\n but expected " + expString + "\n\n"; } else { lastFailureMessage = "Objects were not equal. " + "Use -debug for more information."; } } else { lastFailureMessage = "got " + gotString + " but expected " + expString; } currentResult.addFail(desc + " -- " + lastFailureMessage); System.out.println(lastFailureMessage); } } /** * Checks two booleans for equality and prints out a message if they are not * equal. * * @param result the actual result. * @param expected the expected result. */ public void check(boolean result, boolean expected) { boolean ok = (result == expected); String desc = check2(ok); if (! ok) { lastFailureMessage = "got " + result + " but expected " + expected; currentResult.addFail(desc + " -- " +lastFailureMessage); System.out.println(lastFailureMessage); } } /** * Checks two ints for equality and prints out a message if they are not * equal. * * @param result the actual result. * @param expected the expected result. */ public void check(int result, int expected) { boolean ok = (result == expected); String desc = check2(ok); if (! ok) { lastFailureMessage = "got " + result + " but expected " + expected; currentResult.addFail(desc + " -- " +lastFailureMessage); System.out.println(lastFailureMessage); } } /** * Checks two longs for equality and prints out a message if they are not * equal. * * @param result the actual result. * @param expected the expected result. */ public void check(long result, long expected) { boolean ok = (result == expected); String desc = check2(ok); if (! ok) { lastFailureMessage = "got " + result + " but expected " + expected; currentResult.addFail(desc + " -- " +lastFailureMessage); System.out.println(lastFailureMessage); } } /** * Checks two doubles for equality and prints out a message if they are not * equal. * * @param result the actual result. * @param expected the expected result. */ public void check(double result, double expected) { // This triple check overcomes the fact that == does not // compare NaNs, and cannot tell between 0.0 and -0.0; // and all without relying on java.lang.Double (which may // itself be buggy - else why would we be testing it? ;) // For 0, we switch to infinities, and for NaN, we rely // on the identity in JLS 15.21.1 that NaN != NaN is true. boolean ok = (result == expected ? (result != 0) || (1 / result == 1 / expected) : (result != result) && (expected != expected)); String desc = check2(ok); if (! ok) { lastFailureMessage = "got " + result + " but expected " + expected; currentResult.addFail(desc + " -- " +lastFailureMessage); System.out.println(lastFailureMessage); } } /** * Checks if result is true. If not, prints out * a message. * @param result the boolean to check */ public void check(boolean result) { String desc = check2(result); if (!result) { lastFailureMessage = "boolean passed to check was false"; currentResult.addFail(desc + " -- " +lastFailureMessage); System.out.println(lastFailureMessage); } } /** * This method prints out failures and checks the XFAILS file. * @param result true if the test passed, false if it failed */ private String check2(boolean result) { // Send a message to the Harness to let it know the current test // isn't hung, to restart the timer. System.out.println("RunnerProcess:restart-timer"); // If the test failed we have to print out some explanation. StackTraceElement[] st = new Throwable().getStackTrace(); String desc = getDescription(st); if (! result) { if (! expectedXfails.contains(desc)) { // If the failure wasn't expected, we need to print it to the // screen. if (failures == 0 && !verbose) System.out.println ("FAIL: " + stripPrefix(description)); if (verbose) System.out.print(" FAIL:"); System.out.print(desc + " -- "); ++failures; } else if (verbose) { // If it was expected but verbose is true, we also print it. System.out.println("X" + desc + " -- "); ++xfailures; } } else { // The test passed. Only print info if verbose is true currentResult.addPass(desc); if (verbose) { if (expectedXfails.contains(desc)) { System.out.println("XPASS: " + desc); ++xpasses; } else System.out.println(" pass:" + desc); } } ++count; ++total; return desc; } public Reader getResourceReader(String name) throws ResourceNotFoundException { return new BufferedReader(new InputStreamReader(getResourceStream(name))); } public InputStream getResourceStream(String name) throws ResourceNotFoundException { // The following code assumes File.separator is a single character. if (File.separator.length() > 1) throw new Error("File.separator length is greater than 1"); String realName = name.replace('#', File.separator.charAt(0)); try { return new FileInputStream(getSourceDirectory() + File.separator + realName); } catch (FileNotFoundException ex) { throw new ResourceNotFoundException(ex.getLocalizedMessage() + ": " + getSourceDirectory() + File.separator + realName); } } public File getResourceFile(String name) throws ResourceNotFoundException { // The following code assumes File.separator is a single character. if (File.separator.length() > 1) throw new Error("File.separator length is greater than 1"); String realName = name.replace('#', File.separator.charAt(0)); File f = new File(getSourceDirectory() + File.separator + realName); if (! f.exists()) { throw new ResourceNotFoundException("cannot find mauve resource file" + ": " + getSourceDirectory() + File.separator + realName); } return f; } public void checkPoint(String name) { last_check = name; count = 0; } public void verbose(String message) { if (verbose) System.out.println(message); } public void debug(String message) { debug(message, true); } public void debug(String message, boolean newline) { if (debug) { if (newline) System.out.println(message); else System.out.print(message); } } public void debug(Throwable ex) { if (debug) ex.printStackTrace(System.out); } public void debug(Object[] o, String desc) { debug("Dumping Object Array: " + desc); if (o == null) { debug("null"); return; } for (int i = 0; i < o.length; i++) { if (o[i] instanceof Object[]) debug((Object[]) o[i], desc + " element " + i); else debug(" Element " + i + ": " + o[i]); } } private void removeSecurityManager() { while (true) { SecurityManager sm = System.getSecurityManager(); if (!(sm instanceof TestSecurityManager)) break; debug("warning: TestSecurityManager was not uninstalled"); ((TestSecurityManager) sm).uninstall(); } } /** * This method returns some information about uncaught exceptions. * Nothing is printed if the test was run with the -exceptions flag since in * that case a full stack trace will be printed. * @param ex the exception * @param name the name of the test * @param exceptions true if a full stack trace will be printed * @return a String containing some information about the uncaught exception */ private String exceptionDetails(Throwable ex, String name, boolean exceptions) { // If we can't get a stack trace, we return no details. StackTraceElement[] st = ex.getStackTrace(); if (st == null || st.length == 0) return " uncaught exception:"; // lineOrigin will store the line number in the test method that caused // the exception. int lineOrigin = -1; // fileName is the name of the Mauve test file String fileName = name.substring(name.lastIndexOf('.') + 1); fileName += ".java"; // This for loop looks for the line within the test method that caused the // exception. for (int i = 0; i < st.length; i++) { if (st[i].getClassName().startsWith(name) && st[i].getFileName().equals(fileName)) { lineOrigin = st[i].getLineNumber(); break; } } // sb holds all the information we wish to return. StringBuffer sb = new StringBuffer(" " + (verbose ? "FAIL: " : "")+ "line " + lineOrigin + ": " + (last_check == null ? "" : last_check) + " [" + (count + 1) + "] -- uncaught exception:"); // If a full stack trace will be printed, this method returns no details. if (exceptions) return sb.toString(); // Otherwise, add some details onto the buffer before returning. sb.append("\n " + ex.getClass().getName() + " in "); sb.append(stripPrefix(st[0].getClassName()) + "." + st[0].getMethodName() + " (line " + st[0].getLineNumber() + ")"); sb.append("\n Run tests with -exceptions to print exception " + "stack traces."); return sb.toString(); } /** * This method is called from Harness to tidy up. It prints out appropriate * information and returns 0 if the test passed or 1 if it failed. * @return 0 if the test passed, 1 if it failed */ protected int done() { if (failures > 0 && verbose) { System.out.print("TEST FAILED: "); System.out.println(failures + " of " + total + " checks failed " + stripPrefix(description)); } else if (verbose) System.out.println("TEST PASSED (" + total + " checks) " + stripPrefix(description)); if (xpasses > 0) System.out.println(xpasses + " of " + total + " tests unexpectedly passed"); if (xfailures > 0) System.out.println(xfailures + " of " + total + " tests expectedly failed"); return failures; } /** * Sets up the compiler by reflection, sets up the compiler options, * and the PrintWriters to get error messages from the compiler. * * @throws Exception if the emma jar can't be found and the sources * aren't in the proper place. */ private static void setupEMMA(boolean useJar) throws Exception { ClassNotFoundException cnfe = null; Class klass = null; String classname = "com.vladium.emma.rt.RT"; if (!useJar) { try { klass = Class.forName(classname); } catch (ClassNotFoundException e) { cnfe = e; useJar = true; } } if (useJar) { File jar = new File(emmaJarLocation); if (! jar.exists() || ! jar.canRead()) throw cnfe; ClassLoader loader = new URLClassLoader(new URL[] { jar.toURL() }); try { klass = loader.loadClass(classname); } catch (ClassNotFoundException f) { throw cnfe; } } emmaMethod = klass.getMethod ("dumpCoverageData", File.class, boolean.class, boolean.class ); } /** * This method forces EMMA to dump its coverage data. We do this * when all tests have been completed and only if the user either * configured with --with-emma-jar or specified -emma-jar on the * command line. */ private static void dumpCoverageData() { try { emmaMethod.invoke(null, new Object[] { new File("coverage.ec"), Boolean.TRUE, Boolean.TRUE }); } catch (Exception e) { // This shouldn't happen. } System.out.println("_data_dump_okay_"); } /** * Generates the path to store the test XML result file * @param the name of the test * @return String representing the full path to the XML file * @throws exception if unable to make parent Directories for XML file */ private static String getReportFileReady(String testcase) { testcase = testcase.replace( "gnu/testlet" , autoXmlDir); try{ new File ( testcase.substring( 0 , testcase.lastIndexOf("/") ) ).mkdirs(); } catch (Exception ex){ System.err.println("Unable to create XML file path: " + ex); System.exit(1); } return testcase + ".xml"; } } mauve-20140821/THANKS0000644000175000001440000000120410331347570012660 0ustar dokousersThe following people have contributed to the Mauve test suite: Aaron M. Renn Andrew Haley Anthony Green Artur Biesiadowski David Gilbert Godmar Back Per Bothner Tom Tromey Warren Levy Hewlett-Packard Company Sascha Brawer Michael Koch Audrius Meskauskas Duncan Grisby NEC corporation. Object Oriented Concepts, Inc IONA Technologies, Inc. mauve-20140821/missing0000755000175000001440000002404607434056052013357 0ustar dokousers#! /bin/sh # Common stub for a few missing GNU programs while installing. # Copyright 1996, 1997, 1999, 2000 Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # 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 version 2, 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 Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try \`$0 --help' for more information" exit 1 fi run=: # In the cases where this matters, `missing' is being run in the # srcdir already. if test -f configure.ac; then configure_ac=configure.ac else configure_ac=configure.in fi case "$1" in --run) # Try to run requested program, and just exit if it succeeds. run= shift "$@" && exit 0 ;; esac # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. case "$1" in -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: -h, --help display this help and exit -v, --version output version information and exit --run try to run the given command, and emulate it if it fails Supported PROGRAM values: aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch]" ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing 0.4 - GNU automake" ;; -*) echo 1>&2 "$0: Unknown \`$1' option" echo 1>&2 "Try \`$0 --help' for more information" exit 1 ;; aclocal) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." touch configure ;; autoheader) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` test -z "$files" && files="config.h" touch_files= for f in $files; do case "$f" in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; esac done touch $touch_files ;; automake) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print | sed 's/\.am$/.in/' | while read f; do touch "$f"; done ;; autom4te) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is needed, and you do not seem to have it handy on your system. You might have modified some files without having the proper tools for further handling them. You can get \`$1Help2man' as part of \`Autoconf' from any GNU archive site." file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo "#! /bin/sh" echo "# Created by GNU Automake missing as a replacement of" echo "# $ $@" echo "exit 0" chmod +x $file exit 1 fi ;; bison|yacc) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.y' file. You may need the \`Bison' package in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if [ $# -ne 1 ]; then eval LASTARG="\${$#}" case "$LASTARG" in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" y.tab.h fi ;; esac fi if [ ! -f y.tab.h ]; then echo >y.tab.h fi if [ ! -f y.tab.c ]; then echo 'main() { return 0; }' >y.tab.c fi ;; lex|flex) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.l' file. You may need the \`Flex' package in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c if [ $# -ne 1 ]; then eval LASTARG="\${$#}" case "$LASTARG" in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if [ ! -f lex.yy.c ]; then echo 'main() { return 0; }' >lex.yy.c fi ;; help2man) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a dependency of a manual page. You may need the \`Help2man' package in order for those modifications to take effect. You can get \`Help2man' from any GNU archive site." file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` if test -z "$file"; then file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` fi if [ -f "$file" ]; then touch $file else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" exit 1 fi ;; makeinfo) if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then # We have makeinfo, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy \`make' (AIX, DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` if test -z "$file"; then file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` fi touch $file ;; tar) shift if test -n "$run"; then echo 1>&2 "ERROR: \`tar' requires --run" exit 1 fi # We have already tried tar in the generic part. # Look for gnutar/gtar before invocation to avoid ugly error # messages. if (gnutar --version > /dev/null 2>&1); then gnutar ${1+"$@"} && exit 0 fi if (gtar --version > /dev/null 2>&1); then gtar ${1+"$@"} && exit 0 fi firstarg="$1" if shift; then case "$firstarg" in *o*) firstarg=`echo "$firstarg" | sed s/o//` tar "$firstarg" ${1+"$@"} && exit 0 ;; esac case "$firstarg" in *h*) firstarg=`echo "$firstarg" | sed s/h//` tar "$firstarg" ${1+"$@"} && exit 0 ;; esac fi echo 1>&2 "\ WARNING: I can't seem to be able to run \`tar' with the given arguments. You may want to install GNU tar or Free paxutils, or check the command line arguments." exit 1 ;; *) echo 1>&2 "\ WARNING: \`$1' is needed, and you do not seem to have it handy on your system. You might have modified some files without having the proper tools for further handling them. Check the \`README' file, it often tells you about the needed prerequirements for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing \`$1' program." exit 1 ;; esac exit 0 mauve-20140821/README.PKITS0000644000175000001440000000204310461517310013513 0ustar dokousersThe PKITS test suite. In the package gnu.testlet.java.security.cert.pkix.pkits is an implementation of the PKITS test suite, created by NIST, as a conformance test for the Internet X.509 profile (PKIX) path-checking algorithms. In Java, these path-checking algorithms are implemented using the CertPathValidator interface. This version of the test suite was formerly included in the GNU Crypto project; these tests are copyright (C) 2003 The Free Software Foundation, and are licensed under the GNU General Public License. The test data files under the data/certs and data/crls directories were originally developed by NIST for this test suite. Files developed by NIST are subject to U.S. code Title 17, section 105, and are public domain. They additionally contain data developed by DigitalNet, under contract for the NSA. This message to the PKITS mailing list: http://cio.nist.gov/esd/emaildir/lists/pkits/msg00048.html seems to indicate that these test files are freely redistributable. We believe that we can redistribute these files with Mauve.mauve-20140821/config.guess0000755000175000001440000011251207434056052014274 0ustar dokousers#! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. timestamp='2001-12-13' # This file 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 version 2 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 Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Per Bothner . # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # The plan is that this can be called by configure scripts if you # don't specify an explicit build system type. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit 0 ;; --version | -v ) echo "$version" ; exit 0 ;; --help | --h* | -h ) echo "$usage"; exit 0 ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi dummy=dummy-$$ trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int dummy(){}" > $dummy.c ; for c in cc gcc c89 ; do ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ; if test $? = 0 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; rm -f $dummy.c $dummy.o $dummy.rel ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". UNAME_MACHINE_ARCH=`(uname -p) 2>/dev/null` || \ UNAME_MACHINE_ARCH=unknown case "${UNAME_MACHINE_ARCH}" in arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep __ELF__ >/dev/null then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit 0 ;; amiga:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; arc:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; hp300:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mac68k:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; macppc:OpenBSD:*:*) echo powerpc-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mvme68k:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mvme88k:OpenBSD:*:*) echo m88k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mvmeppc:OpenBSD:*:*) echo powerpc-unknown-openbsd${UNAME_RELEASE} exit 0 ;; pmax:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; sgi:OpenBSD:*:*) echo mipseb-unknown-openbsd${UNAME_RELEASE} exit 0 ;; sun3:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; wgrisc:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; *:OpenBSD:*:*) echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} exit 0 ;; alpha:OSF1:*:*) if test $UNAME_RELEASE = "V4.0"; then UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` fi # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. cat <$dummy.s .data \$Lformat: .byte 37,100,45,37,120,10,0 # "%d-%x\n" .text .globl main .align 4 .ent main main: .frame \$30,16,\$26,0 ldgp \$29,0(\$27) .prologue 1 .long 0x47e03d80 # implver \$0 lda \$2,-1 .long 0x47e20c21 # amask \$2,\$1 lda \$16,\$Lformat mov \$0,\$17 not \$1,\$18 jsr \$26,printf ldgp \$29,0(\$26) mov 0,\$16 jsr \$26,exit .end main EOF eval $set_cc_for_build $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null if test "$?" = 0 ; then case `./$dummy` in 0-0) UNAME_MACHINE="alpha" ;; 1-0) UNAME_MACHINE="alphaev5" ;; 1-1) UNAME_MACHINE="alphaev56" ;; 1-101) UNAME_MACHINE="alphapca56" ;; 2-303) UNAME_MACHINE="alphaev6" ;; 2-307) UNAME_MACHINE="alphaev67" ;; 2-1307) UNAME_MACHINE="alphaev68" ;; esac fi rm -f $dummy.s $dummy echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit 0 ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit 0 ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit 0 ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit 0;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit 0 ;; *:OS/390:*:*) echo i370-ibm-openedition exit 0 ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit 0;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit 0;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit 0 ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit 0 ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; i86pc:SunOS:5.*:*) echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit 0 ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit 0 ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit 0 ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit 0 ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit 0 ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit 0 ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit 0 ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit 0 ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit 0 ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit 0 ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit 0 ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit 0 ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit 0 ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit 0 ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit 0 ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD $dummy.c -o $dummy \ && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ && rm -f $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy echo mips-mips-riscos${UNAME_RELEASE} exit 0 ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit 0 ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit 0 ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit 0 ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit 0 ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit 0 ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit 0 ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit 0 ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit 0 ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit 0 ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit 0 ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit 0 ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit 0 ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit 0 ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy echo rs6000-ibm-aix3.2.5 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit 0 ;; *:AIX:*:[45]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit 0 ;; *:AIX:*:*) echo rs6000-ibm-aix exit 0 ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit 0 ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit 0 ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit 0 ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit 0 ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit 0 ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit 0 ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`./$dummy` if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi rm -f $dummy.c $dummy fi ;; esac echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit 0 ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit 0 ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy echo unknown-hitachi-hiuxwe2 exit 0 ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit 0 ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit 0 ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit 0 ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit 0 ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit 0 ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit 0 ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit 0 ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit 0 ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit 0 ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit 0 ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit 0 ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit 0 ;; CRAY*X-MP:*:*:*) echo xmp-cray-unicos exit 0 ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*T3D:*:*:*) echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY-2:*:*:*) echo cray2-cray-unicos exit 0 ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit 0 ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit 0 ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit 0 ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit 0 ;; *:FreeBSD:*:*) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit 0 ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit 0 ;; i*:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit 0 ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit 0 ;; x86:Interix*:3*) echo i386-pc-interix3 exit 0 ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i386-pc-interix exit 0 ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit 0 ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit 0 ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; *:GNU:*:*) echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit 0 ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit 0 ;; arm*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux exit 0 ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; mips:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=mipsel #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=mips #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` rm -f $dummy.c test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0 ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit 0 ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit 0 ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit 0 ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit 0 ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit 0 ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit 0 ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit 0 ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent # problems with other programs or directories called `ld' in the path. ld_supported_targets=`cd /; ld --help 2>&1 \ | sed -ne '/supported targets:/!d s/[ ][ ]*/ /g s/.*supported targets: *// s/ .*// p'` case "$ld_supported_targets" in elf32-i386) TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" ;; a.out-i386-linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" exit 0 ;; coff-i386) echo "${UNAME_MACHINE}-pc-linux-gnucoff" exit 0 ;; "") # Either a pre-BFD a.out linker (linux-gnuoldld) or # one that does not give us useful --help. echo "${UNAME_MACHINE}-pc-linux-gnuoldld" exit 0 ;; esac # Determine whether the default compiler is a.out or elf eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include #ifdef __ELF__ # ifdef __GLIBC__ # if __GLIBC__ >= 2 LIBC=gnu # else LIBC=gnulibc1 # endif # else LIBC=gnulibc1 # endif #else LIBC=gnuaout #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` rm -f $dummy.c test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0 test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit 0 ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit 0 ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit 0 ;; i*86:*:5:[78]*) case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit 0 ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')` (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit 0 ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit 0 ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i386. echo i386-pc-msdosdjgpp exit 0 ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit 0 ;; paragon:*:*:*) echo i860-intel-osf1 exit 0 ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit 0 ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit 0 ;; M68*:*:R3V[567]*:*) test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && echo i486-ncr-sysv4.3${OS_REL} && exit 0 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && echo i486-ncr-sysv4 && exit 0 ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit 0 ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit 0 ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit 0 ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit 0 ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit 0 ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit 0 ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit 0 ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit 0 ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit 0 ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit 0 ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit 0 ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit 0 ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit 0 ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit 0 ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit 0 ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit 0 ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit 0 ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit 0 ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit 0 ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit 0 ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit 0 ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit 0 ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit 0 ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit 0 ;; *:Darwin:*:*) echo `uname -p`-apple-darwin${UNAME_RELEASE} exit 0 ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) if test "${UNAME_MACHINE}" = "x86pc"; then UNAME_MACHINE=pc fi echo `uname -p`-${UNAME_MACHINE}-nto-qnx exit 0 ;; *:QNX:*:4*) echo i386-pc-qnx exit 0 ;; NSR-[GKLNPTVW]:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit 0 ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit 0 ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit 0 ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit 0 ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit 0 ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit 0 ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit 0 ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit 0 ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit 0 ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit 0 ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit 0 ;; *:ITS:*:*) echo pdp10-unknown-its exit 0 ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit 0 ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit 0 ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit 0 ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit 0 ;; c34*) echo c34-convex-bsd exit 0 ;; c38*) echo c38-convex-bsd exit 0 ;; c4*) echo c4-convex-bsd exit 0 ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: mauve-20140821/acinclude.m40000644000175000001440000000174510025400745014142 0ustar dokousersdnl ----------------------------------------------------------- dnl Original by Mark Elbrecht dnl Modified by Brian Jones for Mauve dnl acx_check_pathname_style.m4 dnl http://research.cys.de/autoconf-archive/ AC_DEFUN([ACX_CHECK_PATHNAME_STYLE_DOS], [AC_MSG_CHECKING(for Windows and DOS and OS/2 style pathnames) AC_CACHE_VAL(acx_cv_pathname_style_dos, [AC_REQUIRE([AC_CANONICAL_HOST]) acx_cv_pathname_style_dos="no" case ${host_os} in *djgpp | *mingw32* | *emx*) acx_cv_pathname_style_dos="yes" ;; esac ]) AC_MSG_RESULT($acx_cv_pathname_style_dos) if test "$acx_cv_pathname_style_dos" = "yes"; then AC_DEFINE(HAVE_PATHNAME_STYLE_DOS,,[defined if running on a system with dos style paths]) CHECK_PATH_SEPARATOR=';' CHECK_FILE_SEPARATOR='\\' else CHECK_PATH_SEPARATOR=':' CHECK_FILE_SEPARATOR='/' fi AC_SUBST(CHECK_PATH_SEPARATOR) AC_SUBST(CHECK_FILE_SEPARATOR) ]) dnl ----------------------------------------------------------- mauve-20140821/config.sub0000755000175000001440000007006407434056052013744 0ustar dokousers#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. timestamp='2001-12-10' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. # # This file 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 version 2 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 Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, # Boston, MA 02111-1307, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit 0 ;; --version | -v ) echo "$version" ; exit 0 ;; --help | --h* | -h ) echo "$usage"; exit 0 ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit 0;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | storm-chaos* | os2-emx* | windows32-*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis) os= basic_machine=$1 ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ | c4x | clipper \ | d10v | d30v | dsp16xx \ | fr30 \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | m32r | m68000 | m68k | m88k | mcore \ | mips16 | mips64 | mips64el | mips64orion | mips64orionel \ | mips64vr4100 | mips64vr4100el | mips64vr4300 \ | mips64vr4300el | mips64vr5000 | mips64vr5000el \ | mipsbe | mipseb | mipsel | mipsle | mipstx39 | mipstx39el \ | mipsisa32 \ | mn10200 | mn10300 \ | ns16k | ns32k \ | openrisc \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | sh | sh[34] | sh[34]eb | shbe | shle \ | sparc | sparc64 | sparclet | sparclite | sparcv9 | sparcv9b \ | strongarm \ | tahoe | thumb | tic80 | tron \ | v850 | v850e \ | we32k \ | x86 | xscale | xstormy16 | xtensa \ | z8k) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alphapca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armv*-* \ | avr-* \ | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c54x-* \ | clipper-* | cray2-* | cydra-* \ | d10v-* | d30v-* \ | elxsi-* \ | f30[01]-* | f700-* | fr30-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | m32r-* \ | m68000-* | m680[01234]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | mcore-* \ | mips-* | mips16-* | mips64-* | mips64el-* | mips64orion-* \ | mips64orionel-* | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* | mipsbe-* | mipseb-* \ | mipsle-* | mipsel-* | mipstx39-* | mipstx39el-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ | sh-* | sh[34]-* | sh[34]eb-* | shbe-* | shle-* \ | sparc-* | sparc64-* | sparc86x-* | sparclite-* \ | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* \ | t3e-* | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xmp-* | xps100-* | xscale-* | xstormy16-* \ | xtensa-* \ | ymp-* \ | z8k-*) ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | ymp) basic_machine=ymp-cray os=-unicos ;; cray2) basic_machine=cray2-cray os=-unicos ;; [cjt]90) basic_machine=${basic_machine}-cray os=-unicos ;; crds | unos) basic_machine=m68k-crds ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; # I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mipsel*-linux*) basic_machine=mipsel-unknown os=-linux-gnu ;; mips*-linux*) basic_machine=mips-unknown os=-linux-gnu ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; mmix*) basic_machine=mmix-knuth os=-mmixware ;; monitor) basic_machine=m68k-rom68k os=-coff ;; msdos) basic_machine=i386-pc os=-msdos ;; mvs) basic_machine=i370-ibm os=-mvs ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon) basic_machine=i686-pc ;; pentiumii | pentium2) basic_machine=i686-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc) basic_machine=powerpc-unknown ;; ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=t3e-cray os=-unicos ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; windows32) basic_machine=i386-pc os=-windows32-msvcrt ;; xmp) basic_machine=xmp-cray os=-unicos ;; xps | xps100) basic_machine=xps100-honeywell ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; mips) if [ x$os = x-linux-gnu ]; then basic_machine=mips-unknown else basic_machine=mips-mips fi ;; romp) basic_machine=romp-ibm ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh3 | sh4 | sh3eb | sh4eb) basic_machine=sh-unknown ;; sparc | sparcv9 | sparcv9b) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; c4x*) basic_machine=c4x-none os=-coff ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto*) os=-nto-qnx ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 # This also exists in the configure program, but was not the # default. # os=-sunos4 ;; m68*-cisco) os=-aout ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-ibm) os=-aix ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -ptx*) vendor=sequent ;; -vxsim* | -vxworks*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: